diff --git a/.github/workflows/build-reusable.yml b/.github/workflows/build-reusable.yml index 32f5168698042..5936f43cf59bc 100644 --- a/.github/workflows/build-reusable.yml +++ b/.github/workflows/build-reusable.yml @@ -294,7 +294,7 @@ jobs: os: linux-arm64-gh package_json_arch: "arm64" CMAKE_BUILD_TYPE: "Debug" - - lto_flag: "-flto=full -fwhole-program-vtables -fforce-emit-vtables" + - lto_flag: "-flto=thin -fwhole-program-vtables -fforce-emit-vtables" label: bun-webkit-linux-arm64-musl-lto os: linux-arm64-gh package_json_arch: "arm64" @@ -304,7 +304,7 @@ jobs: os: linux-arm64-gh package_json_arch: "arm64" CMAKE_BUILD_TYPE: "MinSizeRel" - - lto_flag: "-flto=full -fwhole-program-vtables -fforce-emit-vtables" + - lto_flag: "-flto=thin -fwhole-program-vtables -fforce-emit-vtables" label: bun-webkit-linux-amd64-musl-lto os: linux-x64-gh package_json_arch: "x64" diff --git a/Configurations/CommonBase.xcconfig b/Configurations/CommonBase.xcconfig index 9cce351be8d10..37f1d41c13f09 100644 --- a/Configurations/CommonBase.xcconfig +++ b/Configurations/CommonBase.xcconfig @@ -84,10 +84,11 @@ WK_DEFAULT_WK_AUDIT_SPI[sdk=iphoneos18*.internal] = ; WK_AUDIT_SPI = $(WK_DEFAULT_WK_AUDIT_SPI); -WK_OTHER_AUDIT_SPI_FLAGS = -DSDKDB_HAS_148943382 $(WK_OTHER_AUDIT_SPI_FLAGS_$(CONFIGURATION)); -WK_OTHER_AUDIT_SPI_FLAGS[sdk=iphoneos18*] = $(WK_OTHER_AUDIT_SPI_FLAGS_$(CONFIGURATION)); +WK_OTHER_AUDIT_SPI_FLAGS = $(WK_OTHER_AUDIT_SPI_FLAGS_148943382) $(WK_OTHER_AUDIT_SPI_FLAGS_$(CONFIGURATION)); WK_OTHER_AUDIT_SPI_FLAGS_Release = -DNDEBUG; WK_OTHER_AUDIT_SPI_FLAGS_Production = -DNDEBUG; +WK_OTHER_AUDIT_SPI_FLAGS_148943382[sdk=*.internal] = -DSDKDB_HAS_148943382; +WK_OTHER_AUDIT_SPI_FLAGS_148943382[sdk=iphoneos18*] = ; GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES; diff --git a/Configurations/Version.xcconfig b/Configurations/Version.xcconfig index 2bca9112f72ad..f3711c8b80413 100644 --- a/Configurations/Version.xcconfig +++ b/Configurations/Version.xcconfig @@ -23,7 +23,7 @@ MAJOR_VERSION = 623; MINOR_VERSION = 1; -TINY_VERSION = 10; +TINY_VERSION = 11; MICRO_VERSION = 0; NANO_VERSION = 0; FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION); diff --git a/JSTests/microbenchmarks/array-of-contiguous-large.js b/JSTests/microbenchmarks/array-of-contiguous-large.js new file mode 100644 index 0000000000000..992f43eccf0c6 --- /dev/null +++ b/JSTests/microbenchmarks/array-of-contiguous-large.js @@ -0,0 +1,131 @@ +const obj0 = { value: 0 }; +const obj1 = { value: 1 }; +const obj2 = { value: 2 }; +const obj3 = { value: 3 }; +const obj4 = { value: 4 }; +const obj5 = { value: 5 }; +const obj6 = { value: 6 }; +const obj7 = { value: 7 }; +const obj8 = { value: 8 }; +const obj9 = { value: 9 }; +const obj10 = { value: 10 }; +const obj11 = { value: 11 }; +const obj12 = { value: 12 }; +const obj13 = { value: 13 }; +const obj14 = { value: 14 }; +const obj15 = { value: 15 }; +const obj16 = { value: 16 }; +const obj17 = { value: 17 }; +const obj18 = { value: 18 }; +const obj19 = { value: 19 }; +const obj20 = { value: 20 }; +const obj21 = { value: 21 }; +const obj22 = { value: 22 }; +const obj23 = { value: 23 }; +const obj24 = { value: 24 }; +const obj25 = { value: 25 }; +const obj26 = { value: 26 }; +const obj27 = { value: 27 }; +const obj28 = { value: 28 }; +const obj29 = { value: 29 }; +const obj30 = { value: 30 }; +const obj31 = { value: 31 }; +const obj32 = { value: 32 }; +const obj33 = { value: 33 }; +const obj34 = { value: 34 }; +const obj35 = { value: 35 }; +const obj36 = { value: 36 }; +const obj37 = { value: 37 }; +const obj38 = { value: 38 }; +const obj39 = { value: 39 }; +const obj40 = { value: 40 }; +const obj41 = { value: 41 }; +const obj42 = { value: 42 }; +const obj43 = { value: 43 }; +const obj44 = { value: 44 }; +const obj45 = { value: 45 }; +const obj46 = { value: 46 }; +const obj47 = { value: 47 }; +const obj48 = { value: 48 }; +const obj49 = { value: 49 }; +const obj50 = { value: 50 }; +const obj51 = { value: 51 }; +const obj52 = { value: 52 }; +const obj53 = { value: 53 }; +const obj54 = { value: 54 }; +const obj55 = { value: 55 }; +const obj56 = { value: 56 }; +const obj57 = { value: 57 }; +const obj58 = { value: 58 }; +const obj59 = { value: 59 }; +const obj60 = { value: 60 }; +const obj61 = { value: 61 }; +const obj62 = { value: 62 }; +const obj63 = { value: 63 }; +const obj64 = { value: 64 }; +const obj65 = { value: 65 }; +const obj66 = { value: 66 }; +const obj67 = { value: 67 }; +const obj68 = { value: 68 }; +const obj69 = { value: 69 }; +const obj70 = { value: 70 }; +const obj71 = { value: 71 }; +const obj72 = { value: 72 }; +const obj73 = { value: 73 }; +const obj74 = { value: 74 }; +const obj75 = { value: 75 }; +const obj76 = { value: 76 }; +const obj77 = { value: 77 }; +const obj78 = { value: 78 }; +const obj79 = { value: 79 }; +const obj80 = { value: 80 }; +const obj81 = { value: 81 }; +const obj82 = { value: 82 }; +const obj83 = { value: 83 }; +const obj84 = { value: 84 }; +const obj85 = { value: 85 }; +const obj86 = { value: 86 }; +const obj87 = { value: 87 }; +const obj88 = { value: 88 }; +const obj89 = { value: 89 }; +const obj90 = { value: 90 }; +const obj91 = { value: 91 }; +const obj92 = { value: 92 }; +const obj93 = { value: 93 }; +const obj94 = { value: 94 }; +const obj95 = { value: 95 }; +const obj96 = { value: 96 }; +const obj97 = { value: 97 }; +const obj98 = { value: 98 }; +const obj99 = { value: 99 }; +const obj100 = { value: 100 }; +const obj101 = { value: 101 }; +const obj102 = { value: 102 }; +const obj103 = { value: 103 }; +const obj104 = { value: 104 }; +const obj105 = { value: 105 }; +const obj106 = { value: 106 }; +const obj107 = { value: 107 }; +const obj108 = { value: 108 }; +const obj109 = { value: 109 }; +const obj110 = { value: 110 }; +const obj111 = { value: 111 }; +const obj112 = { value: 112 }; +const obj113 = { value: 113 }; +const obj114 = { value: 114 }; +const obj115 = { value: 115 }; +const obj116 = { value: 116 }; +const obj117 = { value: 117 }; +const obj118 = { value: 118 }; +const obj119 = { value: 119 }; +const obj120 = { value: 120 }; +const obj121 = { value: 121 }; +const obj122 = { value: 122 }; +const obj123 = { value: 123 }; +const obj124 = { value: 124 }; +const obj125 = { value: 125 }; +const obj126 = { value: 126 }; +const obj127 = { value: 127 }; + +for (let i = 0; i < 1e4; ++i) + Array.of(obj0, obj1, obj2, obj3, obj4, obj5, obj6, obj7, obj8, obj9, obj10, obj11, obj12, obj13, obj14, obj15, obj16, obj17, obj18, obj19, obj20, obj21, obj22, obj23, obj24, obj25, obj26, obj27, obj28, obj29, obj30, obj31, obj32, obj33, obj34, obj35, obj36, obj37, obj38, obj39, obj40, obj41, obj42, obj43, obj44, obj45, obj46, obj47, obj48, obj49, obj50, obj51, obj52, obj53, obj54, obj55, obj56, obj57, obj58, obj59, obj60, obj61, obj62, obj63, obj64, obj65, obj66, obj67, obj68, obj69, obj70, obj71, obj72, obj73, obj74, obj75, obj76, obj77, obj78, obj79, obj80, obj81, obj82, obj83, obj84, obj85, obj86, obj87, obj88, obj89, obj90, obj91, obj92, obj93, obj94, obj95, obj96, obj97, obj98, obj99, obj100, obj101, obj102, obj103, obj104, obj105, obj106, obj107, obj108, obj109, obj110, obj111, obj112, obj113, obj114, obj115, obj116, obj117, obj118, obj119, obj120, obj121, obj122, obj123, obj124, obj125, obj126, obj127); diff --git a/JSTests/microbenchmarks/array-of-contiguous.js b/JSTests/microbenchmarks/array-of-contiguous.js new file mode 100644 index 0000000000000..38f756ff1c21b --- /dev/null +++ b/JSTests/microbenchmarks/array-of-contiguous.js @@ -0,0 +1,2 @@ +for (let i = 0; i < 1e4; ++i) + Array.of({ value: 0 }, { value: 1 }, { value: 2 }, { value: 3 }, { value: 4 }); diff --git a/JSTests/microbenchmarks/array-of-double-large.js b/JSTests/microbenchmarks/array-of-double-large.js new file mode 100644 index 0000000000000..0a236d18a427a --- /dev/null +++ b/JSTests/microbenchmarks/array-of-double-large.js @@ -0,0 +1,2 @@ +for (let i = 0; i < 1e4; ++i) + Array.of(0.1, 1.1, 2.1, 3.1, 4.1, 5.1, 6.1, 7.1, 8.1, 9.1, 10.1, 11.1, 12.1, 13.1, 14.1, 15.1, 16.1, 17.1, 18.1, 19.1, 20.1, 21.1, 22.1, 23.1, 24.1, 25.1, 26.1, 27.1, 28.1, 29.1, 30.1, 31.1, 32.1, 33.1, 34.1, 35.1, 36.1, 37.1, 38.1, 39.1, 40.1, 41.1, 42.1, 43.1, 44.1, 45.1, 46.1, 47.1, 48.1, 49.1, 50.1, 51.1, 52.1, 53.1, 54.1, 55.1, 56.1, 57.1, 58.1, 59.1, 60.1, 61.1, 62.1, 63.1, 64.1, 65.1, 66.1, 67.1, 68.1, 69.1, 70.1, 71.1, 72.1, 73.1, 74.1, 75.1, 76.1, 77.1, 78.1, 79.1, 80.1, 81.1, 82.1, 83.1, 84.1, 85.1, 86.1, 87.1, 88.1, 89.1, 90.1, 91.1, 92.1, 93.1, 94.1, 95.1, 96.1, 97.1, 98.1, 99.1, 100.1, 101.1, 102.1, 103.1, 104.1, 105.1, 106.1, 107.1, 108.1, 109.1, 110.1, 111.1, 112.1, 113.1, 114.1, 115.1, 116.1, 117.1, 118.1, 119.1, 120.1, 121.1, 122.1, 123.1, 124.1, 125.1, 126.1, 127.1, 128.1); diff --git a/JSTests/microbenchmarks/array-of-double.js b/JSTests/microbenchmarks/array-of-double.js new file mode 100644 index 0000000000000..e1fd0c684d625 --- /dev/null +++ b/JSTests/microbenchmarks/array-of-double.js @@ -0,0 +1,2 @@ +for (let i = 0; i < 1e4; ++i) + Array.of(0.1, 1.2, 2.3, 3.2, 4.3); diff --git a/JSTests/microbenchmarks/array-of-int32-large.js b/JSTests/microbenchmarks/array-of-int32-large.js new file mode 100644 index 0000000000000..d2a3a516d0857 --- /dev/null +++ b/JSTests/microbenchmarks/array-of-int32-large.js @@ -0,0 +1,2 @@ +for (let i = 0; i < 1e4; ++i) + Array.of(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127); diff --git a/JSTests/stress/array-allocation-sink-conditional-write-osr.js b/JSTests/stress/array-allocation-sink-conditional-write-osr.js new file mode 100644 index 0000000000000..ecd1fab85cb0f --- /dev/null +++ b/JSTests/stress/array-allocation-sink-conditional-write-osr.js @@ -0,0 +1,86 @@ +function test(write, escape) { + let arr = new Array(4); + + arr[1] = 1.1; + + if (escape) { + return arr; + } + + if (write) { + arr[0] = 2; + } + +} +noInline(test); + +function test2(write, escape) { + let arr = new Array(4); + + arr[1] = 1; + + if (escape) { + return arr; + } + + if (write) { + arr[0] = 2; + } +} +noInline(test2); + +function test3(write, escape) { + let arr = new Array(4); + + arr[1] = {}; + + if (escape) { + return arr; + } + + if (write) { + arr[0] = 2; + } +} +noInline(test3); + +function test4(overwrite, escape) { + let arr = new Array(4); + if (escape) { + return arr; + } + arr[0] = 1.1; + if (overwrite) { + arr[0] = 3.14; + } +} +noInline(test4); + +// JIT warmup loop +for(let i = 0; i < testLoopCount; i++) { + test(true, false); + test(false, false); + test2(true, false); + test2(false, false); + test3(true, false); + test3(false, false); + test4(true, false); + test4(false, false); +} + +function check(functor) { + let noWrite = functor(true, true); + if (0 in noWrite) + throw new Error(noWrite); +} + +check(test); +check(test2); +check(test3); + +if (0 in test4(true, true)) + throw new Error(); + +if (0 in test4(false, true)) + throw new Error(); + diff --git a/JSTests/stress/array-of-contiguous.js b/JSTests/stress/array-of-contiguous.js new file mode 100644 index 0000000000000..fa185759b4942 --- /dev/null +++ b/JSTests/stress/array-of-contiguous.js @@ -0,0 +1,49 @@ +function shouldBe(a, b) { + if (a !== b) + throw new Error(`Expected ${b} but got ${a}`); +} + +{ + const value1 = { value: 1 }; + const value2 = { value: 2 }; + const value3 = { value: 3 }; + const value4 = { value: 4 }; + const value5 = { value: 5 }; + const array = Array.of(value1, value2, value3, value4, value5); + shouldBe(array.length, 5); + shouldBe(array[0], value1); + shouldBe(array[1], value2); + shouldBe(array[2], value3); + shouldBe(array[3], value4); + shouldBe(array[4], value5); +} + +{ + const value1 = { value: 1 }; + const value2 = { value: 2 }; + const value3 = { value: 3 }; + const value4 = { value: 4 }; + const value5 = { value: 5 }; + const array = Array.of.call({}, value1, value2, value3, value4, value5); + shouldBe(array.length, 5); + shouldBe(array[0], value1); + shouldBe(array[1], value2); + shouldBe(array[2], value3); + shouldBe(array[3], value4); + shouldBe(array[4], value5); +} + +{ + const value1 = { value: 1 }; + const value2 = { value: 2 }; + const value3 = { value: 3 }; + const value4 = { value: 4 }; + const value5 = { value: 5 }; + const array = Array.of.call(1, value1, value2, value3, value4, value5); + shouldBe(array.length, 5); + shouldBe(array[0], value1); + shouldBe(array[1], value2); + shouldBe(array[2], value3); + shouldBe(array[3], value4); + shouldBe(array[4], value5); +} diff --git a/JSTests/stress/array-of-double.js b/JSTests/stress/array-of-double.js new file mode 100644 index 0000000000000..25067874b6431 --- /dev/null +++ b/JSTests/stress/array-of-double.js @@ -0,0 +1,34 @@ +function shouldBe(a, b) { + if (a !== b) + throw new Error(`Expected ${b} but got ${a}`); +} + +{ + const array = Array.of(1.1, 2.1, 3.1, 4.1, 5.1); + shouldBe(array.length, 5); + shouldBe(array[0], 1.1); + shouldBe(array[1], 2.1); + shouldBe(array[2], 3.1); + shouldBe(array[3], 4.1); + shouldBe(array[4], 5.1); +} + +{ + const array = Array.of.call(1, 1.1, 2.1, 3.1, 4.1, 5.1); + shouldBe(array.length, 5); + shouldBe(array[0], 1.1); + shouldBe(array[1], 2.1); + shouldBe(array[2], 3.1); + shouldBe(array[3], 4.1); + shouldBe(array[4], 5.1); +} + +{ + const array = Array.of.call({}, 1.1, 2.1, 3.1, 4.1, 5.1); + shouldBe(array.length, 5); + shouldBe(array[0], 1.1); + shouldBe(array[1], 2.1); + shouldBe(array[2], 3.1); + shouldBe(array[3], 4.1); + shouldBe(array[4], 5.1); +} diff --git a/JSTests/stress/array-of-int32.js b/JSTests/stress/array-of-int32.js new file mode 100644 index 0000000000000..21c8293a31029 --- /dev/null +++ b/JSTests/stress/array-of-int32.js @@ -0,0 +1,34 @@ +function shouldBe(a, b) { + if (a !== b) + throw new Error(`Expected ${b} but got ${a}`); +} + +{ + const array = Array.of(1, 2, 3, 4, 5); + shouldBe(array.length, 5); + shouldBe(array[0], 1); + shouldBe(array[1], 2); + shouldBe(array[2], 3); + shouldBe(array[3], 4); + shouldBe(array[4], 5); +} + +{ + const array = Array.of.call(1, 1, 2, 3, 4, 5); + shouldBe(array.length, 5); + shouldBe(array[0], 1); + shouldBe(array[1], 2); + shouldBe(array[2], 3); + shouldBe(array[3], 4); + shouldBe(array[4], 5); +} + +{ + const array = Array.of.call({}, 1, 2, 3, 4, 5); + shouldBe(array.length, 5); + shouldBe(array[0], 1); + shouldBe(array[1], 2); + shouldBe(array[2], 3); + shouldBe(array[3], 4); + shouldBe(array[4], 5); +} diff --git a/JSTests/stress/array-sink-materialize-conditional-write-argument-value.js b/JSTests/stress/array-sink-materialize-conditional-write-argument-value.js new file mode 100644 index 0000000000000..30f1369f13b02 --- /dev/null +++ b/JSTests/stress/array-sink-materialize-conditional-write-argument-value.js @@ -0,0 +1,112 @@ +function test1(write, escape, value) { + let arr = new Array(4); + + arr[1] = 1; + + if (write) { + arr[0] = value + 3; + } + + if (escape) { + return arr; + } +} +noInline(test1); + +function test2(write, escape, value) { + let arr = new Array(4); + + arr[1] = 1.1; + + if (write) { + arr[0] = value + 3; + } + + if (escape) { + return arr; + } +} +noInline(test2); + +function test3(write, escape, value) { + let arr = new Array(4); + + arr[1] = {}; + + if (write) { + arr[0] = value + 3; + } + + if (escape) { + return arr; + } +} +noInline(test3); + +function test4(write, escape, value) { + let arr = new Array(4); + + arr[1] = {}; + + if (write) { + arr[0] = { + value: value + 3, + valueOf() { return this.value; }, + }; + } + + if (escape) { + return arr; + } +} +noInline(test4); + +function test5(write, escape, value) { + let arr = new Array(4); + + arr[1] = {}; + + if (write) { + arr[0] = { + value: value + 3, + valueOf() { return this.value; }, + // Add a reference cycle. + arr, + }; + } + + if (escape) { + return arr; + } +} +noInline(test5); + +// JIT warmup loop +for(let i = 0; i < testLoopCount; i++) { + test1(true, false, 3); + test1(false, true, 3); + test2(true, false, 3); + test2(false, true, 3); + test3(true, false, 3); + test3(false, true, 3); + test4(true, false, 3); + test4(false, true, 3); + test5(true, false, 3); + test5(false, true, 3); +} + +function check(functor, value) { + let write = functor(true, true, value); + if (write[0] != value + 3) + throw new Error(write); + + let noWrite = functor(false, true, value); + if (0 in noWrite) + throw new Error(write); +} + +check(test1, 3); +check(test2, 3); +check(test3, 3); +check(test4, 3); +check(test5, 3); diff --git a/JSTests/stress/array-sink-materialize-conditional-write.js b/JSTests/stress/array-sink-materialize-conditional-write.js new file mode 100644 index 0000000000000..44e30af2f505d --- /dev/null +++ b/JSTests/stress/array-sink-materialize-conditional-write.js @@ -0,0 +1,89 @@ +function test(write, escape) { + let arr = new Array(4); + + arr[1] = 1.1; + + if (write) { + arr[0] = 2; + } + + if (escape) { + return arr; + } +} +noInline(test); + +function test2(write, escape) { + let arr = new Array(4); + + arr[1] = 1; + + if (write) { + arr[0] = 2; + } + + if (escape) { + return arr; + } +} +noInline(test2); + +function test3(write, escape) { + let arr = new Array(4); + + arr[1] = {}; + + if (write) { + arr[0] = 2; + } + + if (escape) { + return arr; + } +} +noInline(test3); + +function test4(overwrite, escape) { + let arr = new Array(4); + arr[0] = 1.1; + if (overwrite) { + arr[0] = 3.14; + } + if (escape) { + return arr; + } +} +noInline(test4); + +// JIT warmup loop +for(let i = 0; i < testLoopCount; i++) { + test(true, false); + test(false, true); + test2(true, false); + test2(false, true); + test3(true, false); + test3(false, true); + test4(true, false); + test4(false, true); +} + +function check(functor) { + let write = functor(true, true); + if (write[0] !== 2) + throw new Error(write); + + let noWrite = functor(false, true); + if (0 in noWrite) + throw new Error(noWrite); +} + +check(test); +check(test2); +check(test3); + +if (test4(true, true)[0] !== 3.14) + throw new Error(); + +if (test4(false, true)[0] !== 1.1) + throw new Error(); + diff --git a/JSTests/stress/async-stack-trace-promise-race-basic.js b/JSTests/stress/async-stack-trace-promise-race-basic.js new file mode 100644 index 0000000000000..4773978522d09 --- /dev/null +++ b/JSTests/stress/async-stack-trace-promise-race-basic.js @@ -0,0 +1,117 @@ +//@ requireOptions("--useAsyncStackTrace=1") + +const source = "async-stack-trace-promise-race-basic.js"; + +function nop() {} + +function shouldThrowAsync(run, errorType, message, stackFunctions) { + let actual; + var hadError = false; + run().then( + function (value) { + actual = value; + }, + function (error) { + hadError = true; + actual = error; + }, + ); + drainMicrotasks(); + if (!hadError) { + throw new Error("Expected " + run + "() to throw " + errorType.name + ", but did not throw."); + } + if (!(actual instanceof errorType)) { + throw new Error("Expected " + run + "() to throw " + errorType.name + ", but threw '" + actual + "'"); + } + if (message !== void 0 && actual.message !== message) { + throw new Error("Expected " + run + "() to throw '" + message + "', but threw '" + actual.message + "'"); + } + + const stackTrace = actual.stack; + if (!stackTrace) { + throw new Error("Expected error to have stack trace, but it was undefined"); + } + + const stackLines = stackTrace.split('\n').filter(line => line.trim()); + + for (let i = 0; i < stackFunctions.length; i++) { + const [expectedFunction, expectedLocation] = stackFunctions[i]; + const isNativeCode = expectedLocation === "[native code]" + const stackLine = stackLines[i]; + + let found = false; + + if (isNativeCode) { + if (stackLine === `${expectedFunction}@[native code]`) + found = true; + } else { + if (stackLine === `${expectedFunction}@${source}:${expectedLocation}`) + found = true; + if (stackLine === `${expectedFunction}@${source}`) + found = true; + } + + if (!found) { + throw new Error( + `Expected stack trace to contain '${expectedFunction}' at '${expectedLocation}', but got '${stackLine}'` + + `\nActual stack trace:\n${stackTrace}\n` + ); + } + } +} + +{ + async function fine() { } + async function thrower() { await fine(); throw new Error('error'); } + async function run() { await Promise.race([thrower()]); } + + for (let i = 0; i < testLoopCount; i++) { + shouldThrowAsync( + async function test() { + await run(); + }, Error, 'error', [ + ["thrower", "65:59"], + ["async run", "66:44"], + ["async test", "71:18"], + ["drainMicrotasks", "[native code]"], + ["shouldThrowAsync", "19:20"], + ["global code", "69:21"] + ] + ); + drainMicrotasks(); + } +} + +{ + async function task1() { + + await nop(); + + throw new Error("error from task1"); + } + async function task2() { + await nop(); + + + + throw new Error('error from task2'); + } + async function task3() { await 1; throw new Error("error from task3"); } + async function run() { await Promise.race([task1(), task2(), task3()]); } + + for (let i = 0; i < testLoopCount; i++) { + shouldThrowAsync( + async function test() { + await run(); + }, Error, 'error from task1' , [ + ["task1", "90:20"], + ["async run", "100:44"], + ["async test", "105:18"], + ["drainMicrotasks", "[native code]"], + ["shouldThrowAsync", "19:20"], + ["global code", "103:21"] + ] + ); + drainMicrotasks(); + } +} diff --git a/JSTests/stress/calling-non-callable-constructors.js b/JSTests/stress/calling-non-callable-constructors.js index b71d7d052e202..31204a2370c14 100644 --- a/JSTests/stress/calling-non-callable-constructors.js +++ b/JSTests/stress/calling-non-callable-constructors.js @@ -19,13 +19,13 @@ shouldThrow(() => { } C(); -}, `TypeError: Cannot call a class constructor without |new|`); +}, `TypeError: Cannot call a class constructor C without |new|`); shouldThrow(() => { Promise(); -}, `TypeError: Cannot call a constructor without |new|`); +}, `TypeError: Cannot call a constructor Promise without |new|`); shouldThrow(() => { class DerivedPromise extends Promise { } DerivedPromise(); -}, `TypeError: Cannot call a class constructor without |new|`); +}, `TypeError: Cannot call a class constructor DerivedPromise without |new|`); diff --git a/JSTests/stress/constructor-call-without-new.js b/JSTests/stress/constructor-call-without-new.js new file mode 100644 index 0000000000000..ecd87f2efbe0e --- /dev/null +++ b/JSTests/stress/constructor-call-without-new.js @@ -0,0 +1,34 @@ +function shouldThrow(testFunction, expectedError) { + let actualError = null; + try { + testFunction(); + } catch (e) { + actualError = e; + } + + if (!actualError) { + throw new Error( + `Expected to throw "${expectedError}" but no error was thrown`, + ); + } + + const actualMessage = String(actualError); + if (actualMessage !== expectedError) { + throw new Error( + `Expected error: "${expectedError}"\nActual error: "${actualMessage}"`, + ); + } +} + +{ + class Foo { } + shouldThrow(() => { + Foo(); + }, "TypeError: Cannot call a class constructor Foo without |new|"); +} + +{ + shouldThrow(() => { + (class { })() + }, "TypeError: Cannot call a class constructor without |new|"); +} diff --git a/JSTests/stress/constructor-kind-naked-should-not-be-applied-to-inner-functions.js b/JSTests/stress/constructor-kind-naked-should-not-be-applied-to-inner-functions.js index 61d757b4c83f7..4647dc63b45b7 100644 --- a/JSTests/stress/constructor-kind-naked-should-not-be-applied-to-inner-functions.js +++ b/JSTests/stress/constructor-kind-naked-should-not-be-applied-to-inner-functions.js @@ -17,4 +17,4 @@ new Promise((resolve) => { resolve(42); }); drainMicrotasks(); -shouldThrow(() => Promise(function () { }), `TypeError: Cannot call a constructor without |new|`) +shouldThrow(() => Promise(function () { }), `TypeError: Cannot call a constructor Promise without |new|`) diff --git a/JSTests/stress/dont-crash-on-stack-overflow-JSON-parse-deeply-nested-with-reviver.js b/JSTests/stress/dont-crash-on-stack-overflow-JSON-parse-deeply-nested-with-reviver.js new file mode 100644 index 0000000000000..8cea454b1dfd9 --- /dev/null +++ b/JSTests/stress/dont-crash-on-stack-overflow-JSON-parse-deeply-nested-with-reviver.js @@ -0,0 +1,34 @@ +//@ runDefault("--maxPerThreadStackUsage=5242880") + +// This test should gracefully fail with a stack +// overflow error which we can catch. + +obj = {} + +// create the deeply nested JSON objects +for (let i = 0; i < 4600; ++i) { + obj = {obj}; +} + +let identityReviver = (key, value) => { + // perform no computation and leave values unchanged + value +} + +// Pass in an identity reviver function to JSON.parse. +// https://tc39.es/ecma262/multipage/structured-data.html#sec-json.parse +// Stack overflow still ocurrs with an identity reviver. +// The actual compuation of the reviver function is not +// relevant. +// Still do need to pass in a reviver function because +// otherwise jsonParseSlow will not be called +// (see logic in jsonProtoFuncParse of JSONObject.cpp). +let stringified = JSON.stringify(obj); +try { + let parsed = JSON.parse(stringified, identityReviver); +} catch(e) { + if (e != "RangeError: Maximum call stack size exceeded.") + throw "FAILED"; + else + print("Gracefully caught stack overflow error") +} diff --git a/JSTests/stress/instanceof-osr-exit-hasInstance-getter.js b/JSTests/stress/instanceof-osr-exit-hasInstance-getter.js new file mode 100644 index 0000000000000..ec2db5d52736e --- /dev/null +++ b/JSTests/stress/instanceof-osr-exit-hasInstance-getter.js @@ -0,0 +1,19 @@ +function F1() { + Object instanceof Proxy; +} +noInline(F1); + +let count = 0; +function f20() { + count++; + OSRExit(); + return () => { }; +} +Object.defineProperty(Proxy, Symbol.hasInstance, { get: f20 }); + +globalThis.testLoopCount ??= 1e4; +for (let i = 0; i < testLoopCount; i++) { + F1(); +} +if (count != testLoopCount) + throw new Error("bad!"); diff --git a/JSTests/stress/instanceof-osr-exit-prototype-getter.js b/JSTests/stress/instanceof-osr-exit-prototype-getter.js new file mode 100644 index 0000000000000..40be3364c9c76 --- /dev/null +++ b/JSTests/stress/instanceof-osr-exit-prototype-getter.js @@ -0,0 +1,19 @@ +function F1() { + Object instanceof Proxy; +} +noInline(F1); + +let count = 0; +function f20() { + count++; + OSRExit(); + return f20; +} +Object.defineProperty(Proxy, "prototype", { get: f20 }); + +globalThis.testLoopCount ??= 1e4; +for (let i = 0; i < testLoopCount; i++) { + F1(); +} +if (count != testLoopCount) + throw new Error("bad!"); diff --git a/JSTests/stress/math-random-inline-vs-non-inline-paths.js b/JSTests/stress/math-random-inline-vs-non-inline-paths.js new file mode 100644 index 0000000000000..7b36dcd2e2e99 --- /dev/null +++ b/JSTests/stress/math-random-inline-vs-non-inline-paths.js @@ -0,0 +1,22 @@ +// Hard coded numbers from non-JIT path. Generated by running: +// `jsc --useJIT=0 -e "setRandomSeed(153895);print(Array.from({length: 10}, Math.random))"` +const NOT_INLINED = [0.00014332513352899312, 0.30483089121446616, 0.6095184617960835, 0.1573721895601019, 0.8587140321768941, 0.8804382693559509, 0.6198194323091355, 0.00851820295710548, 0.14166447646703062, 0.002975205663793057]; + +// Must match seed used in `jsc --useJIT=0 -e "setRandomSeed(153895);print(Array.from({length: 10}, Math.random))"` +const SEED = 153895; +const N_RANDS = NOT_INLINED.length; + +setRandomSeed(SEED); + +const inlined = []; +for (let i = 0; i < N_RANDS; ++i) { + inlined.push(Math.random()); +} + +function isEqualArr(a, b) { + return a.length === b.length && a.every((val, idx) => val === b[idx]); +} + +if (!isEqualArr(NOT_INLINED, inlined)) { + throw new Error(`Math.random mismatch!`); +} diff --git a/JSTests/stress/never-inlined-functions.js b/JSTests/stress/never-inlined-functions.js deleted file mode 100644 index d0aca43abc283..0000000000000 --- a/JSTests/stress/never-inlined-functions.js +++ /dev/null @@ -1,13 +0,0 @@ -function shouldBe(a, b) { - if (a !== b) { - throw new Error(`Expected ${b} but got ${a}`); - } -} - -const regularFunction = function () {}; -const promiseReactionJob = $vm.createBuiltin("(function () { return @promiseReactionJob })")(); -const promiseReactionJobWithoutPromise = $vm.createBuiltin("(function () { return @promiseReactionJobWithoutPromise })")(); - -shouldBe($vm.isNeverInline(regularFunction), false); -shouldBe($vm.isNeverInline(promiseReactionJob), true); -shouldBe($vm.isNeverInline(promiseReactionJobWithoutPromise), true); diff --git a/JSTests/stress/promise-cannot-be-called.js b/JSTests/stress/promise-cannot-be-called.js index 4bce85ffb6e1f..bf7adbf62e833 100644 --- a/JSTests/stress/promise-cannot-be-called.js +++ b/JSTests/stress/promise-cannot-be-called.js @@ -21,7 +21,7 @@ function shouldThrow(func, errorMessage) { var executorCalled = false; shouldThrow(() => { Promise(function (resolve, reject) { executorCalled = true; }); -}, `TypeError: Cannot call a constructor without |new|`); +}, `TypeError: Cannot call a constructor Promise without |new|`); shouldBe(executorCalled, false); // But should accept inheriting Promise. diff --git a/JSTests/stress/promise-withResolvers.js b/JSTests/stress/promise-withResolvers.js index 7122f00e9bb19..18977be87a9c1 100644 --- a/JSTests/stress/promise-withResolvers.js +++ b/JSTests/stress/promise-withResolvers.js @@ -22,11 +22,11 @@ shouldBe(Promise.withResolvers.length, 0); shouldBe(promise instanceof Promise, true); shouldBe(resolve instanceof Function, true); - shouldBe(resolve.name, "resolve"); + shouldBe(resolve.name, ""); shouldBe(resolve.length, 1); shouldBe(reject instanceof Function, true); - shouldBe(reject.name, "reject"); + shouldBe(reject.name, ""); shouldBe(reject.length, 1); } diff --git a/JSTests/stress/regexp-matches-array-should-respect-have-a-bad-time.js b/JSTests/stress/regexp-matches-array-should-respect-have-a-bad-time.js new file mode 100644 index 0000000000000..0cf373454d20d --- /dev/null +++ b/JSTests/stress/regexp-matches-array-should-respect-have-a-bad-time.js @@ -0,0 +1,13 @@ +function F0(){ + class C4{} + function f5(a6,a7,a8){ + return {__proto__:a7} + } + f5(C4,C4) + Object.defineProperty(C4, 8, {configurable:true, get: f5, set: f5}) +} +for(let v11=0;v11<5;v11++){ + v14 = ("size").match(/e/g) + new F0() + v14[41530] = v14 +} diff --git a/JSTests/stress/sampling-profiler-microtasks.js b/JSTests/stress/sampling-profiler-microtasks.js index 9604f74285f6c..f104fb667a7b9 100644 --- a/JSTests/stress/sampling-profiler-microtasks.js +++ b/JSTests/stress/sampling-profiler-microtasks.js @@ -12,7 +12,7 @@ if (platformSupportsSamplingProfiler()) { else updateCallingContextTree(tree); - let result = doesTreeHaveStackTrace(tree, ["jar", "hello", "promiseReactionJob"], false); + let result = doesTreeHaveStackTrace(tree, ["jar", "hello"], false); return result; } diff --git a/JSTests/stress/temporal-duration.js b/JSTests/stress/temporal-duration.js index 5d280c585e4e3..172e47bbe3bb3 100644 --- a/JSTests/stress/temporal-duration.js +++ b/JSTests/stress/temporal-duration.js @@ -189,6 +189,11 @@ for (const method of ['add', 'subtract']) { } shouldBe(Temporal.Duration.from('P1DT13H31M31S').add('P1DT13H31M31S').toString(), 'P3DT3H3M2S'); shouldBe(Temporal.Duration.from('-PT1M59S').subtract('PT1M59S').toString(), '-PT3M58S'); +const duration1 = Temporal.Duration.from({microseconds: Number.MAX_SAFE_INTEGER + 1, nanoseconds: 0}); +const duration2 = Temporal.Duration.from({microseconds: -1, nanoseconds: -1000}); +shouldBe(duration1.subtract(duration2).toString(), 'PT9007199254.740994S'); +// Addition exceeds max duration +shouldThrow(() => (new Temporal.Duration(0, 0, 0, 2, 0, 0, 0, 0, 0, 0)).add({ days: 104249991373 }), RangeError); shouldBe(Temporal.Duration.prototype.round.length, 1); shouldThrow(() => Temporal.Duration.prototype.round.call({}), TypeError); @@ -221,6 +226,19 @@ shouldBe(Temporal.Duration.from('-PT31S').round({ smallestUnit: 'second', roundi shouldBe(Temporal.Duration.from('-PT31S').round({ smallestUnit: 'second', roundingIncrement: 30, roundingMode: 'floor' }).toString(), '-PT60S'); shouldBe(Temporal.Duration.from('-PT45S').round({ smallestUnit: 'second', roundingIncrement: 30 }).toString(), '-PT60S'); shouldBe(Temporal.Duration.from('-PT45S').round({ smallestUnit: 'second', roundingIncrement: 30, roundingMode: 'trunc' }).toString(), '-PT30S'); +// Rounding would exceed maxTimeDuration +shouldThrow(() => Temporal.Duration.from({ seconds: Number.MAX_SAFE_INTEGER }).round({ smallestUnit: 'seconds', roundingMode: 'ceil', roundingIncrement: 30 }), RangeError); + +const seconds = 8692288669465520; +const nanoseconds = 321_414_345; +const d = new Temporal.Duration(0, 0, 0, 0, 0, 0, seconds, 0, 0, nanoseconds); +const result = d.round({ largestUnit: "nanoseconds" }); +const expectedNanoseconds = Number(BigInt(seconds) * 1_000_000_000n + BigInt(nanoseconds)); +shouldBe(expectedNanoseconds, 8692288669465520_321_414_345); +shouldBe(result.nanoseconds, expectedNanoseconds); + +// Rounding would exceed maxTimeDuration +shouldThrow(() => Temporal.Duration.from({ seconds: Number.MAX_SAFE_INTEGER }).round({ smallestUnit: 'seconds', roundingMode: 'ceil', roundingIncrement: 30 }), RangeError); shouldBe(Temporal.Duration.prototype.total.length, 1); shouldThrow(() => Temporal.Duration.prototype.total.call({}), TypeError); @@ -240,6 +258,10 @@ shouldBe(posAbsolute.total({ unit: 'milliseconds' }), 93784005.006007); shouldBe(posAbsolute.total({ unit: 'microseconds' }), 93784005006.007); shouldBe(posAbsolute.total({ unit: 'nanoseconds' }), 93784005006007); shouldBe(Temporal.Duration.from('-PT123456789S').total({ unit: 'day' }), -1428.8980208333332); +const posSubseconds = new Temporal.Duration(0, 0, 0, 0, 0, 0, 0, 999, 999999, 999999999); +const negSubseconds = new Temporal.Duration(0, 0, 0, 0, 0, 0, 0, -999, -999999, -999999999); +shouldBe(posSubseconds.total("seconds"), 2.998998999); +shouldBe(negSubseconds.total("seconds"), -2.998998999); // At present, toLocaleString has the same behavior as toJSON or argumentless toString. for (const method of ['toString', 'toJSON', 'toLocaleString']) { @@ -292,5 +314,8 @@ shouldBe(pos.toString({ fractionalSecondDigits: 7, roundingMode: 'ceil' }), 'P1Y shouldBe(pos.toString({ fractionalSecondDigits: 2, roundingMode: 'floor' }), 'P1Y2M3W4DT5H6M7.00S'); shouldBe(pos.toString({ fractionalSecondDigits: 2, roundingMode: 'halfExpand' }), 'P1Y2M3W4DT5H6M7.01S'); +const maxSeconds = Temporal.Duration.from({ seconds: Number.MAX_SAFE_INTEGER, milliseconds: 999 }); +shouldThrow(() => maxSeconds.toString({ smallestUnit: "seconds", roundingMode: "ceil" }), RangeError); + shouldBe(Temporal.Duration.prototype.valueOf.length, 0); shouldThrow(() => new Temporal.Duration().valueOf(), TypeError); diff --git a/JSTests/stress/temporal-plaindate.js b/JSTests/stress/temporal-plaindate.js index d3947f166b43e..51214f882da64 100644 --- a/JSTests/stress/temporal-plaindate.js +++ b/JSTests/stress/temporal-plaindate.js @@ -414,6 +414,11 @@ shouldBe(Temporal.PlainDate.prototype.until.length, 1); shouldBe(date.since('2020-02-12', { largestUnit: 'week' }).toString(), 'P2W2D'); shouldBe(date.until('2020-02-12', { largestUnit: 'week' }).toString(), '-P2W2D'); + const earlier = Temporal.PlainDate.from("2019-01-08"); + const later = Temporal.PlainDate.from("2021-09-07"); + shouldBe(later.since(earlier, { smallestUnit: "years", roundingIncrement: 4, roundingMode: "halfExpand" }).toString(), "P4Y"); + shouldBe(earlier.until(later, { smallestUnit: "years", roundingIncrement: 4, roundingMode: "halfExpand" }).toString(), "P4Y"); + shouldThrow(() => { date.until('2019-02-28', { smallestUnit: 'hour' }); }, RangeError); shouldThrow(() => { date.until('2019-02-28', { largestUnit: 'hour' }); }, RangeError); shouldThrow(() => { date.until('2019-02-28', { largestUnit: 'day', smallestUnit: 'month' }); }, RangeError); diff --git a/JSTests/test262/config.yaml b/JSTests/test262/config.yaml index f5c4c39108601..85ceb2d995b6f 100644 --- a/JSTests/test262/config.yaml +++ b/JSTests/test262/config.yaml @@ -173,12 +173,6 @@ skip: - test/built-ins/Temporal/Duration/compare/relativeto-string-zoneddatetime.js - test/built-ins/Temporal/Duration/compare/relativeto-sub-minute-offset.js - test/built-ins/Temporal/Duration/compare/relativeto-year.js - - test/built-ins/Temporal/Duration/prototype/add/balance-negative-result.js - - test/built-ins/Temporal/Duration/prototype/add/balance-negative-time-units.js - - test/built-ins/Temporal/Duration/prototype/add/infinity-throws-rangeerror.js - - test/built-ins/Temporal/Duration/prototype/add/nanoseconds-is-number-max-safe-integer.js - - test/built-ins/Temporal/Duration/prototype/add/negative-infinity-throws-rangeerror.js - - test/built-ins/Temporal/Duration/prototype/add/order-of-operations.js - test/built-ins/Temporal/Duration/prototype/round/calendar-possibly-required.js - test/built-ins/Temporal/Duration/prototype/round/calendar-temporal-object.js - test/built-ins/Temporal/Duration/prototype/round/duration-out-of-range-added-to-relativeto.js @@ -213,23 +207,16 @@ skip: - test/built-ins/Temporal/Duration/prototype/round/roundingmode-trunc.js - test/built-ins/Temporal/Duration/prototype/round/total-duration-nanoseconds-too-large-with-zoned-datetime.js - test/built-ins/Temporal/Duration/prototype/round/year-zero.js - - test/built-ins/Temporal/Duration/prototype/round/precision-exact-in-balance-time-duration.js - - test/built-ins/Temporal/Duration/prototype/subtract/balance-negative-result.js - - test/built-ins/Temporal/Duration/prototype/subtract/balance-negative-time-units.js - - test/built-ins/Temporal/Duration/prototype/subtract/infinity-throws-rangeerror.js - - test/built-ins/Temporal/Duration/prototype/subtract/nanoseconds-is-number-max-safe-integer.js - - test/built-ins/Temporal/Duration/prototype/subtract/negative-infinity-throws-rangeerror.js - - test/built-ins/Temporal/Duration/prototype/subtract/order-of-operations.js - test/built-ins/Temporal/Duration/prototype/total/balances-days-up-to-both-years-and-months.js - test/built-ins/Temporal/Duration/prototype/total/calendar-possibly-required.js - test/built-ins/Temporal/Duration/prototype/total/calendar-temporal-object.js - test/built-ins/Temporal/Duration/prototype/total/does-not-accept-non-string-primitives-for-relativeTo.js - - test/built-ins/Temporal/Duration/prototype/total/duration-out-of-range-added-to-relativeto.js - test/built-ins/Temporal/Duration/prototype/total/order-of-operations.js - test/built-ins/Temporal/Duration/prototype/total/relativeto-infinity-throws-rangeerror.js - test/built-ins/Temporal/Duration/prototype/total/relativeto-leap-second.js - test/built-ins/Temporal/Duration/prototype/total/relativeTo-must-have-required-properties.js - test/built-ins/Temporal/Duration/prototype/total/relativeto-number.js + - test/built-ins/Temporal/Duration/prototype/total/relativeto-plaindatetime.js - test/built-ins/Temporal/Duration/prototype/total/relativeto-propertybag-calendar-number.js - test/built-ins/Temporal/Duration/prototype/total/relativeto-propertybag-calendar-wrong-type.js - test/built-ins/Temporal/Duration/prototype/total/relativeto-propertybag-no-time-units.js @@ -243,42 +230,6 @@ skip: - test/built-ins/Temporal/Duration/prototype/total/relativeto-string-zoneddatetime.js - test/built-ins/Temporal/Duration/prototype/total/relativeto-sub-minute-offset.js - test/built-ins/Temporal/Duration/prototype/total/relativeto-wrong-type.js - - test/built-ins/Temporal/Duration/prototype/total/rounds-calendar-units-in-durations-without-calendar-units.js - - test/built-ins/Temporal/Duration/prototype/total/rounds-durations-with-calendar-units.js - - test/built-ins/Temporal/Duration/prototype/total/precision-exact-mathematical-values-5.js - - test/built-ins/Temporal/Duration/prototype/total/throws-on-wrong-offset-for-zoneddatetime-relativeto.js - - test/built-ins/Temporal/PlainDate/prototype/since/rounding-relative.js - - test/built-ins/Temporal/PlainDate/prototype/since/roundingincrement.js - - test/built-ins/Temporal/PlainDate/prototype/since/roundingmode-ceil.js - - test/built-ins/Temporal/PlainDate/prototype/since/roundingmode-expand.js - - test/built-ins/Temporal/PlainDate/prototype/since/roundingmode-floor.js - - test/built-ins/Temporal/PlainDate/prototype/since/roundingmode-halfCeil.js - - test/built-ins/Temporal/PlainDate/prototype/since/roundingmode-halfEven.js - - test/built-ins/Temporal/PlainDate/prototype/since/roundingmode-halfExpand.js - - test/built-ins/Temporal/PlainDate/prototype/since/roundingmode-halfFloor.js - - test/built-ins/Temporal/PlainDate/prototype/since/roundingmode-halfTrunc.js - - test/built-ins/Temporal/PlainDate/prototype/since/roundingmode-trunc.js - - test/built-ins/Temporal/PlainDate/prototype/since/roundingmode-undefined.js - - test/built-ins/Temporal/PlainDate/prototype/since/roundingmode-wrong-type.js - - test/built-ins/Temporal/PlainDate/prototype/since/smallestunit-higher-units.js - - test/built-ins/Temporal/PlainDate/prototype/since/smallestunit-plurals-accepted.js - - test/built-ins/Temporal/PlainDate/prototype/since/smallestunit-wrong-type.js - - test/built-ins/Temporal/PlainDate/prototype/until/rounding-relative.js - - test/built-ins/Temporal/PlainDate/prototype/until/roundingincrement.js - - test/built-ins/Temporal/PlainDate/prototype/until/roundingmode-ceil.js - - test/built-ins/Temporal/PlainDate/prototype/until/roundingmode-expand.js - - test/built-ins/Temporal/PlainDate/prototype/until/roundingmode-floor.js - - test/built-ins/Temporal/PlainDate/prototype/until/roundingmode-halfCeil.js - - test/built-ins/Temporal/PlainDate/prototype/until/roundingmode-halfEven.js - - test/built-ins/Temporal/PlainDate/prototype/until/roundingmode-halfExpand.js - - test/built-ins/Temporal/PlainDate/prototype/until/roundingmode-halfFloor.js - - test/built-ins/Temporal/PlainDate/prototype/until/roundingmode-halfTrunc.js - - test/built-ins/Temporal/PlainDate/prototype/until/roundingmode-trunc.js - - test/built-ins/Temporal/PlainDate/prototype/until/roundingmode-undefined.js - - test/built-ins/Temporal/PlainDate/prototype/until/roundingmode-wrong-type.js - - test/built-ins/Temporal/PlainDate/prototype/until/smallestunit-higher-units.js - - test/built-ins/Temporal/PlainDate/prototype/until/smallestunit-plurals-accepted.js - - test/built-ins/Temporal/PlainDate/prototype/until/smallestunit-wrong-type.js - test/built-ins/Temporal/PlainDateTime/datetime-math.js - test/intl402/Temporal/Duration/compare/relativeto-hour.js - test/intl402/Temporal/Duration/prototype/round/relativeto-infinity-throws-rangeerror.js @@ -372,8 +323,6 @@ skip: - test/built-ins/Temporal/PlainDateTime/prototype/equals/argument-string-calendar-annotation.js - test/built-ins/Temporal/PlainDateTime/prototype/equals/argument-string-time-zone-annotation.js - test/built-ins/Temporal/PlainDateTime/prototype/equals/calendar-temporal-object.js - - test/built-ins/Temporal/PlainDateTime/prototype/round/smallestunit-plurals-accepted.js - - test/built-ins/Temporal/PlainDateTime/prototype/round/smallestunit-string-shorthand.js - test/built-ins/Temporal/PlainDateTime/prototype/toString/calendarname-always.js - test/built-ins/Temporal/PlainDateTime/prototype/toString/calendarname-auto.js - test/built-ins/Temporal/PlainDateTime/prototype/toString/calendarname-critical.js @@ -462,3 +411,19 @@ skip: - test/built-ins/Temporal/PlainTime/prototype/since/argument-zoneddatetime-negative-epochnanoseconds.js - test/built-ins/Temporal/PlainTime/prototype/until/argument-zoneddatetime-balance-negative-time-units.js - test/built-ins/Temporal/PlainTime/prototype/until/argument-zoneddatetime-negative-epochnanoseconds.js + + # transferToImmutable() is not implemented yet + - test/built-ins/ArrayBuffer/prototype/resize/this-is-immutable-arraybuffer-object.js + - test/built-ins/ArrayBuffer/prototype/transfer/this-is-immutable-arraybuffer.js + - test/built-ins/ArrayBuffer/prototype/transferToFixedLength/this-is-immutable-arraybuffer.js + - test/built-ins/DataView/prototype/setBigInt64/immutable-buffer.js + - test/built-ins/DataView/prototype/setBigUint64/immutable-buffer.js + - test/built-ins/DataView/prototype/setFloat16/immutable-buffer.js + - test/built-ins/DataView/prototype/setFloat32/immutable-buffer.js + - test/built-ins/DataView/prototype/setFloat64/immutable-buffer.js + - test/built-ins/DataView/prototype/setInt16/immutable-buffer.js + - test/built-ins/DataView/prototype/setInt32/immutable-buffer.js + - test/built-ins/DataView/prototype/setInt8/immutable-buffer.js + - test/built-ins/DataView/prototype/setUint16/immutable-buffer.js + - test/built-ins/DataView/prototype/setUint32/immutable-buffer.js + - test/built-ins/DataView/prototype/setUint8/immutable-buffer.js diff --git a/JSTests/test262/expectations.yaml b/JSTests/test262/expectations.yaml index a564bf23f66b0..64b1a58c90bbf 100644 --- a/JSTests/test262/expectations.yaml +++ b/JSTests/test262/expectations.yaml @@ -19,9 +19,6 @@ test/built-ins/Function/prototype/caller/prop-desc.js: test/built-ins/Function/prototype/toString/built-in-function-object.js: default: 'Test262Error: Conforms to NativeFunction Syntax: "function $*() {\n [native code]\n}" (%RegExp%.$*)' strict mode: 'Test262Error: Conforms to NativeFunction Syntax: "function $*() {\n [native code]\n}" (%RegExp%.$*)' -test/built-ins/Iterator/concat/next-method-returns-throwing-value.js: - default: 'Test262Error: ' - strict mode: 'Test262Error: ' test/built-ins/Proxy/apply/arguments-realm.js: default: 'Test262Error: Expected SameValue(«function Array() {' strict mode: 'Test262Error: Expected SameValue(«function Array() {' @@ -58,6 +55,9 @@ test/built-ins/Proxy/construct/return-not-object-throws-undefined-realm.js: test/built-ins/Proxy/construct/trap-is-not-callable-realm.js: default: 'Test262Error: Expected a TypeError but got a different error constructor with the same name' strict mode: 'Test262Error: Expected a TypeError but got a different error constructor with the same name' +test/built-ins/Temporal/Duration/compare/blank-duration.js: + default: "TypeError: undefined is not a constructor (evaluating 'new Temporal.ZonedDateTime(1n, \"UTC\")')" + strict mode: "TypeError: undefined is not a constructor (evaluating 'new Temporal.ZonedDateTime(1n, \"UTC\")')" test/built-ins/Temporal/Duration/compare/exhaustive.js: default: 'RangeError: Cannot compare a duration of years, months, or weeks without a relativeTo option' strict mode: 'RangeError: Cannot compare a duration of years, months, or weeks without a relativeTo option' @@ -79,24 +79,6 @@ test/built-ins/Temporal/Duration/compare/relativeto-string-limits.js: test/built-ins/Temporal/Duration/compare/throws-when-target-zoned-date-time-outside-valid-limits.js: default: "TypeError: undefined is not a constructor (evaluating 'new Temporal.ZonedDateTime(864n * 10n**19n, \"UTC\")')" strict mode: "TypeError: undefined is not a constructor (evaluating 'new Temporal.ZonedDateTime(864n * 10n**19n, \"UTC\")')" -test/built-ins/Temporal/Duration/from/argument-duration-max.js: - default: 'Test262Error: operation succeeds with property bag with max minutes Expected SameValue(«9007199254740994», «9007199254740992») to be true' - strict mode: 'Test262Error: operation succeeds with property bag with max minutes Expected SameValue(«9007199254740994», «9007199254740992») to be true' -test/built-ins/Temporal/Duration/from/argument-duration-precision-exact-numerical-values.js: - default: 'Test262Error: case where floating point inaccuracy brings total below limit, positive Expected SameValue(«"PT9007199254740992.000424S"», «"PT9007199254740991.975424S"») to be true' - strict mode: 'Test262Error: case where floating point inaccuracy brings total below limit, positive Expected SameValue(«"PT9007199254740992.000424S"», «"PT9007199254740991.975424S"») to be true' -test/built-ins/Temporal/Duration/prototype/add/argument-duration-max.js: - default: 'RangeError: Temporal.Duration properties must be finite and of consistent sign' - strict mode: 'RangeError: Temporal.Duration properties must be finite and of consistent sign' -test/built-ins/Temporal/Duration/prototype/add/argument-duration-precision-exact-numerical-values.js: - default: 'RangeError: Temporal.Duration properties must be finite and of consistent sign' - strict mode: 'RangeError: Temporal.Duration properties must be finite and of consistent sign' -test/built-ins/Temporal/Duration/prototype/add/precision-exact-mathematical-values.js: - default: 'Test262Error: duration1.add(duration2): nanoseconds result Expected SameValue(«24», «0») to be true' - strict mode: 'Test262Error: duration1.add(duration2): nanoseconds result Expected SameValue(«24», «0») to be true' -test/built-ins/Temporal/Duration/prototype/add/precision-no-floating-point-loss.js: - default: 'Test262Error: duration1.add(duration2): milliseconds result: Expected SameValue(«926», «999») to be true' - strict mode: 'Test262Error: duration1.add(duration2): milliseconds result: Expected SameValue(«926», «999») to be true' test/built-ins/Temporal/Duration/prototype/round/accepts-datetime-strings-for-relative-to.js: default: 'Error: FIXME: years, months, or weeks rounding with relativeTo not implemented yet' strict mode: 'Error: FIXME: years, months, or weeks rounding with relativeTo not implemented yet' @@ -115,6 +97,9 @@ test/built-ins/Temporal/Duration/prototype/round/balances-up-to-next-unit-after- test/built-ins/Temporal/Duration/prototype/round/balances-up-to-weeks.js: default: 'RangeError: Cannot round a duration of years, months, or weeks without a relativeTo option' strict mode: 'RangeError: Cannot round a duration of years, months, or weeks without a relativeTo option' +test/built-ins/Temporal/Duration/prototype/round/blank-duration.js: + default: "TypeError: undefined is not a constructor (evaluating 'new Temporal.ZonedDateTime(1n, \"UTC\")')" + strict mode: "TypeError: undefined is not a constructor (evaluating 'new Temporal.ZonedDateTime(1n, \"UTC\")')" test/built-ins/Temporal/Duration/prototype/round/days-24-hours-relative-to-zoned-date-time.js: default: "TypeError: undefined is not a constructor (evaluating 'new Temporal.ZonedDateTime(1_000_000_000_000_000_000n, \"+04:30\")')" strict mode: "TypeError: undefined is not a constructor (evaluating 'new Temporal.ZonedDateTime(1_000_000_000_000_000_000n, \"+04:30\")')" @@ -139,12 +124,6 @@ test/built-ins/Temporal/Duration/prototype/round/largestunit-smallestunit-combin test/built-ins/Temporal/Duration/prototype/round/next-day-out-of-range.js: default: "TypeError: undefined is not a constructor (evaluating 'new Temporal.ZonedDateTime(86400_0000_0000_000_000_000n, \"UTC\")')" strict mode: "TypeError: undefined is not a constructor (evaluating 'new Temporal.ZonedDateTime(86400_0000_0000_000_000_000n, \"UTC\")')" -test/built-ins/Temporal/Duration/prototype/round/options-read-before-algorithmic-validation.js: - default: 'Test262Error: Actual [get options.smallestUnit, get options.smallestUnit.toString, call options.smallestUnit.toString, get options.largestUnit, get options.largestUnit.toString, call options.largestUnit.toString] and expected [get options.largestUnit, get options.largestUnit.toString, call options.largestUnit.toString, get options.relativeTo, get options.roundingIncrement, get options.roundingIncrement.valueOf, call options.roundingIncrement.valueOf, get options.roundingMode, get options.roundingMode.toString, call options.roundingMode.toString, get options.smallestUnit, get options.smallestUnit.toString, call options.smallestUnit.toString] should have the same contents. all options should be read first' - strict mode: 'Test262Error: Actual [get options.smallestUnit, get options.smallestUnit.toString, call options.smallestUnit.toString, get options.largestUnit, get options.largestUnit.toString, call options.largestUnit.toString] and expected [get options.largestUnit, get options.largestUnit.toString, call options.largestUnit.toString, get options.relativeTo, get options.roundingIncrement, get options.roundingIncrement.valueOf, call options.roundingIncrement.valueOf, get options.roundingMode, get options.roundingMode.toString, call options.roundingMode.toString, get options.smallestUnit, get options.smallestUnit.toString, call options.smallestUnit.toString] should have the same contents. all options should be read first' -test/built-ins/Temporal/Duration/prototype/round/precision-exact-in-round-duration.js: - default: 'Test262Error: hours result: Expected SameValue(«100000», «100001») to be true' - strict mode: 'Test262Error: hours result: Expected SameValue(«100000», «100001») to be true' test/built-ins/Temporal/Duration/prototype/round/relative-to-required-for-rounding-durations-with-calendar-units.js: default: 'Test262Error: Expected a RangeError but got a Error' strict mode: 'Test262Error: Expected a RangeError but got a Error' @@ -154,6 +133,9 @@ test/built-ins/Temporal/Duration/prototype/round/relative-to-required-to-round-c test/built-ins/Temporal/Duration/prototype/round/relativeTo-ignores-incorrect-properties.js: default: 'RangeError: Cannot round a duration of years, months, or weeks without a relativeTo option' strict mode: 'RangeError: Cannot round a duration of years, months, or weeks without a relativeTo option' +test/built-ins/Temporal/Duration/prototype/round/options-read-before-algorithmic-validation.js: + default: 'Test262Error: Actual [get options.smallestUnit, get options.smallestUnit.toString, call options.smallestUnit.toString, get options.largestUnit, get options.largestUnit.toString, call options.largestUnit.toString] and expected [get options.largestUnit, get options.largestUnit.toString, call options.largestUnit.toString, get options.relativeTo, get options.roundingIncrement, get options.roundingIncrement.valueOf, call options.roundingIncrement.valueOf, get options.roundingMode, get options.roundingMode.toString, call options.roundingMode.toString, get options.smallestUnit, get options.smallestUnit.toString, call options.smallestUnit.toString] should have the same contents. all options should be read first' + strict mode: 'Test262Error: Actual [get options.smallestUnit, get options.smallestUnit.toString, call options.smallestUnit.toString, get options.largestUnit, get options.largestUnit.toString, call options.largestUnit.toString] and expected [get options.largestUnit, get options.largestUnit.toString, call options.largestUnit.toString, get options.relativeTo, get options.roundingIncrement, get options.roundingIncrement.valueOf, call options.roundingIncrement.valueOf, get options.roundingMode, get options.roundingMode.toString, call options.roundingMode.toString, get options.smallestUnit, get options.smallestUnit.toString, call options.smallestUnit.toString] should have the same contents. all options should be read first' test/built-ins/Temporal/Duration/prototype/round/relativeTo-required-properties.js: default: 'Test262Error: Expected a TypeError to be thrown but no exception was thrown at all' strict mode: 'Test262Error: Expected a TypeError to be thrown but no exception was thrown at all' @@ -187,78 +169,33 @@ test/built-ins/Temporal/Duration/prototype/round/throws-on-wrong-offset-for-zone test/built-ins/Temporal/Duration/prototype/round/valid-increments.js: default: 'Error: FIXME: years, months, or weeks rounding with relativeTo not implemented yet' strict mode: 'Error: FIXME: years, months, or weeks rounding with relativeTo not implemented yet' -test/built-ins/Temporal/Duration/prototype/subtract/argument-duration-max.js: - default: 'RangeError: Temporal.Duration properties must be finite and of consistent sign' - strict mode: 'RangeError: Temporal.Duration properties must be finite and of consistent sign' -test/built-ins/Temporal/Duration/prototype/subtract/argument-duration-precision-exact-numerical-values.js: - default: 'RangeError: Temporal.Duration properties must be finite and of consistent sign' - strict mode: 'RangeError: Temporal.Duration properties must be finite and of consistent sign' -test/built-ins/Temporal/Duration/prototype/subtract/precision-exact-mathematical-values.js: - default: 'Test262Error: duration1.subtract(duration2): nanoseconds result Expected SameValue(«24», «0») to be true' - strict mode: 'Test262Error: duration1.subtract(duration2): nanoseconds result Expected SameValue(«24», «0») to be true' -test/built-ins/Temporal/Duration/prototype/subtract/precision-no-floating-point-loss.js: - default: 'Test262Error: duration1.subtract(duration2): milliseconds result: Expected SameValue(«926», «999») to be true' - strict mode: 'Test262Error: duration1.subtract(duration2): milliseconds result: Expected SameValue(«926», «999») to be true' -test/built-ins/Temporal/Duration/prototype/toString/max-value.js: - default: 'Test262Error: values do not lose precision intermediately Expected SameValue(«"PT9007199254740.992S"», «"PT9007199254740.993S"») to be true' - strict mode: 'Test262Error: values do not lose precision intermediately Expected SameValue(«"PT9007199254740.992S"», «"PT9007199254740.993S"») to be true' -test/built-ins/Temporal/Duration/prototype/toString/no-precision-loss.js: - default: 'Test262Error: Expected SameValue(«"PT9016206453995.732991S"», «"PT9016206453995.731991S"») to be true' - strict mode: 'Test262Error: Expected SameValue(«"PT9016206453995.732991S"», «"PT9016206453995.731991S"») to be true' test/built-ins/Temporal/Duration/prototype/toString/options-read-before-algorithmic-validation.js: - default: 'Test262Error: exception thrown when result is out of range Expected a RangeError to be thrown but no exception was thrown at all' - strict mode: 'Test262Error: exception thrown when result is out of range Expected a RangeError to be thrown but no exception was thrown at all' + default: 'Test262Error: Actual [get options.smallestUnit, get options.smallestUnit.toString, call options.smallestUnit.toString, get options.roundingMode, get options.roundingMode.toString, call options.roundingMode.toString] and expected [get options.fractionalSecondDigits, get options.fractionalSecondDigits.toString, call options.fractionalSecondDigits.toString, get options.roundingMode, get options.roundingMode.toString, call options.roundingMode.toString, get options.smallestUnit, get options.smallestUnit.toString, call options.smallestUnit.toString] should have the same contents. all options should be read first' + strict mode: 'Test262Error: Actual [get options.smallestUnit, get options.smallestUnit.toString, call options.smallestUnit.toString, get options.roundingMode, get options.roundingMode.toString, call options.roundingMode.toString] and expected [get options.fractionalSecondDigits, get options.fractionalSecondDigits.toString, call options.fractionalSecondDigits.toString, get options.roundingMode, get options.roundingMode.toString, call options.roundingMode.toString, get options.smallestUnit, get options.smallestUnit.toString, call options.smallestUnit.toString] should have the same contents. all options should be read first' test/built-ins/Temporal/Duration/prototype/toString/order-of-operations.js: default: 'Test262Error: Actual [get options.smallestUnit, get options.smallestUnit.toString, call options.smallestUnit.toString, get options.roundingMode, get options.roundingMode.toString, call options.roundingMode.toString] and expected [get options.fractionalSecondDigits, get options.fractionalSecondDigits.toString, call options.fractionalSecondDigits.toString, get options.roundingMode, get options.roundingMode.toString, call options.roundingMode.toString, get options.smallestUnit, get options.smallestUnit.toString, call options.smallestUnit.toString] should have the same contents. order of operations' strict mode: 'Test262Error: Actual [get options.smallestUnit, get options.smallestUnit.toString, call options.smallestUnit.toString, get options.roundingMode, get options.roundingMode.toString, call options.roundingMode.toString] and expected [get options.fractionalSecondDigits, get options.fractionalSecondDigits.toString, call options.fractionalSecondDigits.toString, get options.roundingMode, get options.roundingMode.toString, call options.roundingMode.toString, get options.smallestUnit, get options.smallestUnit.toString, call options.smallestUnit.toString] should have the same contents. order of operations' -test/built-ins/Temporal/Duration/prototype/toString/round-cross-unit-boundary.js: - default: 'Test262Error: 1:59:60 balances to 2 hours Expected SameValue(«"PT1H59M60S"», «"PT2H0S"») to be true' - strict mode: 'Test262Error: 1:59:60 balances to 2 hours Expected SameValue(«"PT1H59M60S"», «"PT2H0S"») to be true' -test/built-ins/Temporal/Duration/prototype/toString/throws-when-rounded-duration-is-invalid.js: - default: 'Test262Error: Expected a RangeError to be thrown but no exception was thrown at all' - strict mode: 'Test262Error: Expected a RangeError to be thrown but no exception was thrown at all' test/built-ins/Temporal/Duration/prototype/toString/total-of-duration-time-units-out-of-range.js: default: 'Test262Error: Expected a RangeError to be thrown but no exception was thrown at all' strict mode: 'Test262Error: Expected a RangeError to be thrown but no exception was thrown at all' -test/built-ins/Temporal/Duration/prototype/total/balance-subseconds.js: - default: 'Test262Error: Expected SameValue(«2.9989989990000003», «2.998998999») to be true' - strict mode: 'Test262Error: Expected SameValue(«2.9989989990000003», «2.998998999») to be true' +test/built-ins/Temporal/Duration/prototype/total/blank-duration.js: + default: "TypeError: undefined is not a constructor (evaluating 'new Temporal.ZonedDateTime(1n, \"UTC\")')" + strict mode: "TypeError: undefined is not a constructor (evaluating 'new Temporal.ZonedDateTime(1n, \"UTC\")')" test/built-ins/Temporal/Duration/prototype/total/incorrect-properties-ignored.js: default: 'RangeError: Cannot total a duration of years, months, or weeks without a relativeTo option' strict mode: 'RangeError: Cannot total a duration of years, months, or weeks without a relativeTo option' test/built-ins/Temporal/Duration/prototype/total/no-dst-day-length.js: default: "TypeError: undefined is not a constructor (evaluating 'new Temporal.ZonedDateTime(1_000_000_000_000_000_000n, \"+04:30\")')" strict mode: "TypeError: undefined is not a constructor (evaluating 'new Temporal.ZonedDateTime(1_000_000_000_000_000_000n, \"+04:30\")')" -test/built-ins/Temporal/Duration/prototype/total/no-precision-loss-for-small-units.js: - default: 'Test262Error: Expected SameValue(«0.0020310000000000003», «0.002031») to be true' - strict mode: 'Test262Error: Expected SameValue(«0.0020310000000000003», «0.002031») to be true' test/built-ins/Temporal/Duration/prototype/total/options-read-before-algorithmic-validation.js: default: 'Test262Error: Actual [get options.unit, get options.unit.toString, call options.unit.toString] and expected [get options.relativeTo, get options.unit, get options.unit.toString, call options.unit.toString] should have the same contents. all options should be read first' strict mode: 'Test262Error: Actual [get options.unit, get options.unit.toString, call options.unit.toString] and expected [get options.relativeTo, get options.unit, get options.unit.toString, call options.unit.toString] should have the same contents. all options should be read first' -test/built-ins/Temporal/Duration/prototype/total/precision-exact-mathematical-values-1.js: - default: 'Test262Error: return value of total() Expected SameValue(«4000», «4000.0000000000005») to be true' - strict mode: 'Test262Error: return value of total() Expected SameValue(«4000», «4000.0000000000005») to be true' -test/built-ins/Temporal/Duration/prototype/total/precision-exact-mathematical-values-2.js: - default: 'Test262Error: Expected SameValue(«4001», «4000.9999999999995») to be true' - strict mode: 'Test262Error: Expected SameValue(«4001», «4000.9999999999995») to be true' -test/built-ins/Temporal/Duration/prototype/total/precision-exact-mathematical-values-6.js: - default: 'Test262Error: hours=816, nanoseconds=2049187497660 Expected SameValue(«816.5692187493501», «816.56921874935») to be true' - strict mode: 'Test262Error: hours=816, nanoseconds=2049187497660 Expected SameValue(«816.5692187493501», «816.56921874935») to be true' -test/built-ins/Temporal/Duration/prototype/total/precision-exact-mathematical-values-7.js: - default: 'Test262Error: seconds=0, milliseconds=950 Expected SameValue(«0.9500000000000001», «0.95») to be true' - strict mode: 'Test262Error: seconds=0, milliseconds=950 Expected SameValue(«0.9500000000000001», «0.95») to be true' -test/built-ins/Temporal/Duration/prototype/total/relativeto-plaindatetime.js: - default: 'Error: FIXME: years, months, or weeks totalling with relativeTo not implemented yet' - strict mode: 'Error: FIXME: years, months, or weeks totalling with relativeTo not implemented yet' test/built-ins/Temporal/Duration/prototype/total/relativeto-propertybag-invalid-offset-string.js: default: 'Test262Error: "0" is not a valid offset string Expected a TypeError but got a RangeError' strict mode: 'Test262Error: "0" is not a valid offset string Expected a TypeError but got a RangeError' test/built-ins/Temporal/Duration/prototype/total/relativeto-string-limits.js: default: 'Test262Error: "+275760-09-13T00:00Z[UTC]" is outside the representable range for a relativeTo parameter after conversion to DateTime Expected a RangeError to be thrown but no exception was thrown at all' strict mode: 'Test262Error: "+275760-09-13T00:00Z[UTC]" is outside the representable range for a relativeTo parameter after conversion to DateTime Expected a RangeError to be thrown but no exception was thrown at all' -test/built-ins/Temporal/Duration/prototype/total/throws-if-date-time-invalid-with-plaindate-relative.js: - default: 'Test262Error: Expected a RangeError but got a Error' - strict mode: 'Test262Error: Expected a RangeError but got a Error' test/built-ins/Temporal/Duration/prototype/total/throws-if-date-time-invalid-with-zoneddatetime-relative.js: default: "TypeError: undefined is not a constructor (evaluating 'new Temporal.ZonedDateTime(864n * 10n**19n - 1n, \"UTC\")')" strict mode: "TypeError: undefined is not a constructor (evaluating 'new Temporal.ZonedDateTime(864n * 10n**19n - 1n, \"UTC\")')" @@ -433,6 +370,9 @@ test/built-ins/Temporal/PlainDate/prototype/add/balance-smaller-units-basic.js: test/built-ins/Temporal/PlainDate/prototype/add/basic.js: default: 'Test262Error: calendar must be string in canonicalizeCalendarEra Expected SameValue(«"undefined"», «"string"») to be true' strict mode: 'Test262Error: calendar must be string in canonicalizeCalendarEra Expected SameValue(«"undefined"», «"string"») to be true' +test/built-ins/Temporal/PlainDate/prototype/add/blank-duration.js: + default: 'Test262Error: calendar must be string in canonicalizeCalendarEra Expected SameValue(«"undefined"», «"string"») to be true' + strict mode: 'Test262Error: calendar must be string in canonicalizeCalendarEra Expected SameValue(«"undefined"», «"string"») to be true' test/built-ins/Temporal/PlainDate/prototype/add/options-object.js: default: 'Test262Error: calendar must be string in canonicalizeCalendarEra Expected SameValue(«"undefined"», «"string"») to be true' strict mode: 'Test262Error: calendar must be string in canonicalizeCalendarEra Expected SameValue(«"undefined"», «"string"») to be true' @@ -478,12 +418,6 @@ test/built-ins/Temporal/PlainDate/prototype/since/calendar-id-match.js: test/built-ins/Temporal/PlainDate/prototype/since/options-read-before-algorithmic-validation.js: default: 'Test262Error: Actual [get options.smallestUnit, get options.smallestUnit.toString, call options.smallestUnit.toString] and expected [get options.largestUnit, get options.largestUnit.toString, call options.largestUnit.toString, get options.roundingIncrement, get options.roundingIncrement.valueOf, call options.roundingIncrement.valueOf, get options.roundingMode, get options.roundingMode.toString, call options.roundingMode.toString, get options.smallestUnit, get options.smallestUnit.toString, call options.smallestUnit.toString] should have the same contents. all options should be read first' strict mode: 'Test262Error: Actual [get options.smallestUnit, get options.smallestUnit.toString, call options.smallestUnit.toString] and expected [get options.largestUnit, get options.largestUnit.toString, call options.largestUnit.toString, get options.roundingIncrement, get options.roundingIncrement.valueOf, call options.roundingIncrement.valueOf, get options.roundingMode, get options.roundingMode.toString, call options.roundingMode.toString, get options.smallestUnit, get options.smallestUnit.toString, call options.smallestUnit.toString] should have the same contents. all options should be read first' -test/built-ins/Temporal/PlainDate/prototype/since/round-cross-unit-boundary.js: - default: 'RangeError: unimplemented: depends on Duration relativeTo' - strict mode: 'RangeError: unimplemented: depends on Duration relativeTo' -test/built-ins/Temporal/PlainDate/prototype/since/wrapping-at-end-of-month.js: - default: 'Test262Error: Jan 29th to Feb 28th is 30 days, not one month: months result: Expected SameValue(«-1», «0») to be true' - strict mode: 'Test262Error: Jan 29th to Feb 28th is 30 days, not one month: months result: Expected SameValue(«-1», «0») to be true' test/built-ins/Temporal/PlainDate/prototype/subtract/argument-duration-max.js: default: 'Test262Error: calendar must be string in canonicalizeCalendarEra Expected SameValue(«"undefined"», «"string"») to be true' strict mode: 'Test262Error: calendar must be string in canonicalizeCalendarEra Expected SameValue(«"undefined"», «"string"») to be true' @@ -499,6 +433,9 @@ test/built-ins/Temporal/PlainDate/prototype/subtract/balance-smaller-units-basic test/built-ins/Temporal/PlainDate/prototype/subtract/basic.js: default: 'Test262Error: calendar must be string in canonicalizeCalendarEra Expected SameValue(«"undefined"», «"string"») to be true' strict mode: 'Test262Error: calendar must be string in canonicalizeCalendarEra Expected SameValue(«"undefined"», «"string"») to be true' +test/built-ins/Temporal/PlainDate/prototype/subtract/blank-duration.js: + default: 'Test262Error: calendar must be string in canonicalizeCalendarEra Expected SameValue(«"undefined"», «"string"») to be true' + strict mode: 'Test262Error: calendar must be string in canonicalizeCalendarEra Expected SameValue(«"undefined"», «"string"») to be true' test/built-ins/Temporal/PlainDate/prototype/subtract/options-object.js: default: 'Test262Error: calendar must be string in canonicalizeCalendarEra Expected SameValue(«"undefined"», «"string"») to be true' strict mode: 'Test262Error: calendar must be string in canonicalizeCalendarEra Expected SameValue(«"undefined"», «"string"») to be true' @@ -544,18 +481,9 @@ test/built-ins/Temporal/PlainDate/prototype/until/argument-propertybag-calendar- test/built-ins/Temporal/PlainDate/prototype/until/calendar-id-match.js: default: 'RangeError: invalid calendar ID' strict mode: 'RangeError: invalid calendar ID' -test/built-ins/Temporal/PlainDate/prototype/until/largestunit-week.js: - default: 'Test262Error: negative one day: weeks result: Expected SameValue(«-0», «0») to be true' - strict mode: 'Test262Error: negative one day: weeks result: Expected SameValue(«-0», «0») to be true' test/built-ins/Temporal/PlainDate/prototype/until/options-read-before-algorithmic-validation.js: default: 'Test262Error: Actual [get options.smallestUnit, get options.smallestUnit.toString, call options.smallestUnit.toString] and expected [get options.largestUnit, get options.largestUnit.toString, call options.largestUnit.toString, get options.roundingIncrement, get options.roundingIncrement.valueOf, call options.roundingIncrement.valueOf, get options.roundingMode, get options.roundingMode.toString, call options.roundingMode.toString, get options.smallestUnit, get options.smallestUnit.toString, call options.smallestUnit.toString] should have the same contents. all options should be read first' strict mode: 'Test262Error: Actual [get options.smallestUnit, get options.smallestUnit.toString, call options.smallestUnit.toString] and expected [get options.largestUnit, get options.largestUnit.toString, call options.largestUnit.toString, get options.roundingIncrement, get options.roundingIncrement.valueOf, call options.roundingIncrement.valueOf, get options.roundingMode, get options.roundingMode.toString, call options.roundingMode.toString, get options.smallestUnit, get options.smallestUnit.toString, call options.smallestUnit.toString] should have the same contents. all options should be read first' -test/built-ins/Temporal/PlainDate/prototype/until/round-cross-unit-boundary.js: - default: 'RangeError: unimplemented: depends on Duration relativeTo' - strict mode: 'RangeError: unimplemented: depends on Duration relativeTo' -test/built-ins/Temporal/PlainDate/prototype/until/wrapping-at-end-of-month.js: - default: 'Test262Error: Jan 29th to Feb 28th is 30 days, not one month: months result: Expected SameValue(«1», «0») to be true' - strict mode: 'Test262Error: Jan 29th to Feb 28th is 30 days, not one month: months result: Expected SameValue(«1», «0») to be true' test/built-ins/Temporal/PlainDate/prototype/with/basic.js: default: 'Test262Error: calendar must be string in canonicalizeCalendarEra Expected SameValue(«"undefined"», «"string"») to be true' strict mode: 'Test262Error: calendar must be string in canonicalizeCalendarEra Expected SameValue(«"undefined"», «"string"») to be true' @@ -718,6 +646,9 @@ test/built-ins/Temporal/PlainDateTime/prototype/add/argument-string.js: test/built-ins/Temporal/PlainDateTime/prototype/add/balance-negative-time-units.js: default: 'Test262Error: calendar must be string in canonicalizeCalendarEra Expected SameValue(«"undefined"», «"string"») to be true' strict mode: 'Test262Error: calendar must be string in canonicalizeCalendarEra Expected SameValue(«"undefined"», «"string"») to be true' +test/built-ins/Temporal/PlainDateTime/prototype/add/blank-duration.js: + default: 'Test262Error: calendar must be string in canonicalizeCalendarEra Expected SameValue(«"undefined"», «"string"») to be true' + strict mode: 'Test262Error: calendar must be string in canonicalizeCalendarEra Expected SameValue(«"undefined"», «"string"») to be true' test/built-ins/Temporal/PlainDateTime/prototype/add/hour-overflow.js: default: 'Test262Error: calendar must be string in canonicalizeCalendarEra Expected SameValue(«"undefined"», «"string"») to be true' strict mode: 'Test262Error: calendar must be string in canonicalizeCalendarEra Expected SameValue(«"undefined"», «"string"») to be true' @@ -844,6 +775,9 @@ test/built-ins/Temporal/PlainDateTime/prototype/subtract/argument-string.js: test/built-ins/Temporal/PlainDateTime/prototype/subtract/balance-negative-time-units.js: default: 'Test262Error: calendar must be string in canonicalizeCalendarEra Expected SameValue(«"undefined"», «"string"») to be true' strict mode: 'Test262Error: calendar must be string in canonicalizeCalendarEra Expected SameValue(«"undefined"», «"string"») to be true' +test/built-ins/Temporal/PlainDateTime/prototype/subtract/blank-duration.js: + default: 'Test262Error: calendar must be string in canonicalizeCalendarEra Expected SameValue(«"undefined"», «"string"») to be true' + strict mode: 'Test262Error: calendar must be string in canonicalizeCalendarEra Expected SameValue(«"undefined"», «"string"») to be true' test/built-ins/Temporal/PlainDateTime/prototype/subtract/hour-overflow.js: default: 'Test262Error: calendar must be string in canonicalizeCalendarEra Expected SameValue(«"undefined"», «"string"») to be true' strict mode: 'Test262Error: calendar must be string in canonicalizeCalendarEra Expected SameValue(«"undefined"», «"string"») to be true' @@ -1144,6 +1078,9 @@ test/intl402/Temporal/Duration/prototype/round/dst-balancing-result.js: test/intl402/Temporal/Duration/prototype/round/dst-rounding-result.js: default: "TypeError: undefined is not a constructor (evaluating 'new Temporal.ZonedDateTime(" strict mode: "TypeError: undefined is not a constructor (evaluating 'new Temporal.ZonedDateTime(" +test/intl402/Temporal/Duration/prototype/round/relativeto-dst-back-transition.js: + default: "TypeError: undefined is not an object (evaluating 'Temporal.ZonedDateTime.from')" + strict mode: "TypeError: undefined is not an object (evaluating 'Temporal.ZonedDateTime.from')" test/intl402/Temporal/Duration/prototype/round/relativeto-sub-minute-offset.js: default: 'Error: FIXME: years, months, or weeks rounding with relativeTo not implemented yet' strict mode: 'Error: FIXME: years, months, or weeks rounding with relativeTo not implemented yet' @@ -1162,6 +1099,9 @@ test/intl402/Temporal/Duration/prototype/total/dst-day-length.js: test/intl402/Temporal/Duration/prototype/total/dst-rounding-result.js: default: "TypeError: undefined is not a constructor (evaluating 'new Temporal.ZonedDateTime(" strict mode: "TypeError: undefined is not a constructor (evaluating 'new Temporal.ZonedDateTime(" +test/intl402/Temporal/Duration/prototype/total/relativeto-dst-back-transition.js: + default: "TypeError: undefined is not an object (evaluating 'Temporal.ZonedDateTime.from')" + strict mode: "TypeError: undefined is not an object (evaluating 'Temporal.ZonedDateTime.from')" test/intl402/Temporal/Duration/prototype/total/relativeto-sub-minute-offset.js: default: 'RangeError: Cannot total a duration of years, months, or weeks without a relativeTo option' strict mode: 'RangeError: Cannot total a duration of years, months, or weeks without a relativeTo option' @@ -1273,9 +1213,13 @@ test/language/statements/class/elements/nested-direct-eval-err-contains-argument test/language/statements/class/elements/nested-private-direct-eval-err-contains-arguments.js: default: 'Test262Error: Expected a SyntaxError but got a ReferenceError' strict mode: 'Test262Error: Expected a SyntaxError but got a ReferenceError' +test/language/statements/class/elements/private-class-field-on-nonextensible-objects.js: + strict mode: 'Test262Error: Expected a TypeError to be thrown but no exception was thrown at all' test/language/statements/class/subclass/default-constructor-spread-override.js: default: 'Test262Error: @@iterator invoked' strict mode: 'Test262Error: @@iterator invoked' +test/language/statements/class/subclass/private-class-field-on-nonextensible-return-override.js: + strict mode: "TypeError: t.val is not a function. (In 't.val()', 't.val' is undefined)" test/language/statements/for-await-of/head-lhs-async.js: default: "SyntaxError: Unexpected identifier 'of'" strict mode: "SyntaxError: Unexpected identifier 'of'" @@ -1306,93 +1250,135 @@ test/language/statements/with/set-mutable-binding-idref-compound-assign-with-pro default: 'Test262Error: Actual [has:p, get:Symbol(Symbol.unscopables), get:p, has:p, set:p, getOwnPropertyDescriptor:p, defineProperty:p] and expected [has:p, get:Symbol(Symbol.unscopables), has:p, get:p, has:p, set:p, getOwnPropertyDescriptor:p, defineProperty:p] should have the same contents. ' test/staging/sm/ArrayBuffer/slice-species.js: default: 'Test262Error: Expected SameValue(«function ArrayBuffer() {' + strict mode: 'Test262Error: Expected SameValue(«function ArrayBuffer() {' test/staging/sm/Date/to-temporal-instant.js: default: "TypeError: min.toZonedDateTimeISO is not a function. (In 'min.toZonedDateTimeISO('UTC')', 'min.toZonedDateTimeISO' is undefined)" + strict mode: "TypeError: min.toZonedDateTimeISO is not a function. (In 'min.toZonedDateTimeISO('UTC')', 'min.toZonedDateTimeISO' is undefined)" test/staging/sm/Date/two-digit-years.js: default: 'Test262Error: Expected SameValue(«923641200000», «NaN») to be true' + strict mode: 'Test262Error: Expected SameValue(«923641200000», «NaN») to be true' test/staging/sm/Function/arguments-parameter-shadowing.js: default: 'Test262Error: Expected SameValue(«true», «false») to be true' test/staging/sm/Function/function-name-assignment.js: default: 'Test262Error: Expected SameValue(«"inParen"», «""») to be true' test/staging/sm/Function/function-toString-builtin-name.js: default: 'Test262Error: Incorrect match for undefined Expected SameValue(«"fn"», «undefined») to be true' + strict mode: 'Test262Error: Incorrect match for undefined Expected SameValue(«"fn"», «undefined») to be true' +test/staging/sm/Math/acosh-exact.js: + default: "ReferenceError: Can't find variable: ONE_MINUS_EPSILON" + strict mode: "ReferenceError: Can't find variable: ONE_MINUS_EPSILON" +test/staging/sm/Math/atanh-exact.js: + default: "ReferenceError: Can't find variable: ONE_PLUS_EPSILON" + strict mode: "ReferenceError: Can't find variable: ONE_PLUS_EPSILON" +test/staging/sm/Math/log1p-exact.js: + default: "ReferenceError: Can't find variable: ONE_PLUS_EPSILON" + strict mode: "ReferenceError: Can't find variable: ONE_PLUS_EPSILON" +test/staging/sm/Math/trunc.js: + default: "ReferenceError: Can't find variable: ONE_MINUS_EPSILON" + strict mode: "ReferenceError: Can't find variable: ONE_MINUS_EPSILON" +test/staging/sm/PrivateName/modify-non-extensible.js: + default: 'Test262Error: Expected a TypeError to be thrown but no exception was thrown at all' test/staging/sm/Proxy/revoked-get-function-realm-typeerror.js: - default: 'Error: Assertion failed: expected exception TypeError, no exception thrown' + default: 'Test262Error: Expected a TypeError to be thrown but no exception was thrown at all' + strict mode: 'Test262Error: Expected a TypeError to be thrown but no exception was thrown at all' test/staging/sm/RegExp/match-local-tolength-recompilation.js: default: 'Test262Error: Expected SameValue(«false», «true») to be true' + strict mode: 'Test262Error: Expected SameValue(«false», «true») to be true' test/staging/sm/RegExp/replace-local-tolength-recompilation.js: default: 'Test262Error: Expected SameValue(«"b"», «"pass"») to be true' + strict mode: 'Test262Error: Expected SameValue(«"b"», «"pass"») to be true' test/staging/sm/RegExp/replace-sticky-lastIndex.js: default: 'Test262Error: Expected SameValue(«"b"», «"a"») to be true' + strict mode: 'Test262Error: Expected SameValue(«"b"», «"a"») to be true' test/staging/sm/RegExp/replace-sticky.js: default: 'Test262Error: Expected SameValue(«"ABCDEabcdeabcdefghij"», «"abcdeABCDEabcdefghij"») to be true' + strict mode: 'Test262Error: Expected SameValue(«"ABCDEabcdeabcdefghij"», «"abcdeABCDEabcdefghij"») to be true' test/staging/sm/RegExp/split-limit.js: default: 'Test262Error: Expected SameValue(«3», «1») to be true' + strict mode: 'Test262Error: Expected SameValue(«3», «1») to be true' test/staging/sm/RegExp/split-trace.js: default: 'Test262Error: Expected SameValue(«"get:constructor,get:species,get:flags,call:constructor,set:lastIndex,get:exec,call:exec,set:lastIndex,get:exec,call:exec,get:lastIndex,get:result[length],get:result[length],get:result[1],get:result[2],set:lastIndex,get:exec,call:exec,"», «"get:constructor,get:species,get:flags,call:constructor,set:lastIndex,get:exec,call:exec,set:lastIndex,get:exec,call:exec,get:lastIndex,get:result[length],get:result[1],get:result[2],set:lastIndex,get:exec,call:exec,"») to be true' + strict mode: 'Test262Error: Expected SameValue(«"get:constructor,get:species,get:flags,call:constructor,set:lastIndex,get:exec,call:exec,set:lastIndex,get:exec,call:exec,get:lastIndex,get:result[length],get:result[length],get:result[1],get:result[2],set:lastIndex,get:exec,call:exec,"», «"get:constructor,get:species,get:flags,call:constructor,set:lastIndex,get:exec,call:exec,set:lastIndex,get:exec,call:exec,get:lastIndex,get:result[length],get:result[1],get:result[2],set:lastIndex,get:exec,call:exec,"») to be true' test/staging/sm/RegExp/unicode-braced.js: default: 'SyntaxError: Invalid regular expression: regular expression too large' + strict mode: 'SyntaxError: Invalid regular expression: regular expression too large' test/staging/sm/RegExp/unicode-class-braced.js: default: 'SyntaxError: Invalid regular expression: regular expression too large' + strict mode: 'SyntaxError: Invalid regular expression: regular expression too large' test/staging/sm/TypedArray/constructor-buffer-sequence.js: - default: 'Error: Assertion failed: expected exception ExpectedError, got Error: Poisoned Value' + default: 'Test262Error: Expected a ExpectedError but got a Error' + strict mode: 'Test262Error: Expected a ExpectedError but got a Error' test/staging/sm/TypedArray/iterator-next-with-detached.js: default: 'TypeError: Underlying ArrayBuffer has been detached from the view or out-of-bounds' + strict mode: 'TypeError: Underlying ArrayBuffer has been detached from the view or out-of-bounds' test/staging/sm/TypedArray/set-with-receiver.js: default: 'Test262Error: Expected SameValue(«47», «0») to be true' + strict mode: 'Test262Error: Expected SameValue(«47», «0») to be true' test/staging/sm/TypedArray/slice-memcpy.js: default: 'Test262Error: Actual [1, 2, 1, 2, 3, 4] and expected [1, 2, 1, 2, 1, 2] should have the same contents. ' + strict mode: 'Test262Error: Actual [1, 2, 1, 2, 3, 4] and expected [1, 2, 1, 2, 1, 2] should have the same contents. ' test/staging/sm/TypedArray/subarray.js: default: 'Test262Error: Expected SameValue(«0», «1») to be true' -test/staging/sm/async-functions/await-error.js: - default: 'Test262Error: Expected SameValue(«false», «true») to be true' + strict mode: 'Test262Error: Expected SameValue(«0», «1») to be true' test/staging/sm/class/defaultConstructorDerivedSpread.js: default: 'Error: unexpected call' + strict mode: 'Error: unexpected call' test/staging/sm/class/superPropOrdering.js: - default: 'Error: Assertion failed: expected exception TypeError, no exception thrown' + default: 'Test262Error: Expected a TypeError to be thrown but no exception was thrown at all' + strict mode: 'Test262Error: Expected a TypeError to be thrown but no exception was thrown at all' test/staging/sm/eval/redeclared-arguments-in-param-expression-eval.js: default: 'Test262Error: Expected SameValue(«true», «false») to be true' test/staging/sm/expressions/exponentiation-unparenthesised-unary.js: - default: 'Error: Assertion failed: expected exception SyntaxError, no exception thrown - AsyncFunction:await a ** 0' + default: 'Test262Error: AsyncFunction:await a ** 0 Expected a SyntaxError to be thrown but no exception was thrown at all' + strict mode: 'Test262Error: AsyncFunction:await a ** 0 Expected a SyntaxError to be thrown but no exception was thrown at all' test/staging/sm/expressions/object-literal-computed-property-evaluation.js: default: 'Test262Error: Expected SameValue(«undefined», «"abc"») to be true' + strict mode: 'Test262Error: Expected SameValue(«undefined», «"abc"») to be true' test/staging/sm/expressions/short-circuit-compound-assignment-anon-fns.js: default: 'Test262Error: Expected SameValue(«"a"», «""») to be true' + strict mode: 'Test262Error: Expected SameValue(«"a"», «""») to be true' test/staging/sm/expressions/short-circuit-compound-assignment-const.js: default: 'Test262Error: Expected SameValue(«true», «function fn() {' +test/staging/sm/extensions/DataView-construct-arguments-detaching.js: + default: 'Test262Error: byteOffset weirdness should have thrown Expected a TypeError but got a RangeError' + strict mode: 'Test262Error: byteOffset weirdness should have thrown Expected a TypeError but got a RangeError' test/staging/sm/extensions/function-caller-skips-eval-frames.js: default: 'Test262Error: Expected SameValue(«null», «function nest() { return eval("innermost();"); }») to be true' test/staging/sm/extensions/new-cross-compartment.js: - default: 'Test262Error: Expected SameValue(«false», «true») to be true' -test/staging/sm/extensions/regress-469625-01.js: - default: "Test262Error: TM: Array prototype and expression closures Expected SameValue(«\"TypeError: [].__proto__ is not a function\"», «\"TypeError: [].__proto__ is not a function. (In '[].__proto__()', '[].__proto__' is an instance of Array)\"») to be true" + default: 'Test262Error: Expected a TypeError but got a different error constructor with the same name' + strict mode: 'Test262Error: Expected a TypeError but got a different error constructor with the same name' test/staging/sm/fields/await-identifier-module-2.js: module: 'Test262: This statement should not be evaluated.' test/staging/sm/generators/delegating-yield-1.js: default: 'Test262Error: Expected [Object {value: 1}, Object {value: 34, done: true}] to be structurally equal to [Object {value: 1, done: false}, Object {value: 34, done: true}]. ' + strict mode: 'Test262Error: Expected [Object {value: 1}, Object {value: 34, done: true}] to be structurally equal to [Object {value: 1, done: false}, Object {value: 34, done: true}]. ' test/staging/sm/generators/delegating-yield-3.js: default: 'Test262Error: Expected SameValue(«true», «undefined») to be true' + strict mode: 'Test262Error: Expected SameValue(«true», «undefined») to be true' test/staging/sm/generators/delegating-yield-5.js: default: 'Test262Error: Expected [Object {value: 1}, Object {value: 34, done: true}] to be structurally equal to [Object {value: 1, done: false}, Object {value: 34, done: true}]. ' + strict mode: 'Test262Error: Expected [Object {value: 1}, Object {value: 34, done: true}] to be structurally equal to [Object {value: 1, done: false}, Object {value: 34, done: true}]. ' test/staging/sm/generators/delegating-yield-6.js: default: 'Test262Error: Expected SameValue(«"indvndvndvndvndvndv"», «"indndndndndndv"») to be true' + strict mode: 'Test262Error: Expected SameValue(«"indvndvndvndvndvndv"», «"indndndndndndv"») to be true' test/staging/sm/generators/delegating-yield-7.js: default: 'Test262Error: Expected [Object {value: 1}, Object {value: 34, done: true}] to be structurally equal to [Object {value: 1, done: false}, Object {value: 34, done: true}]. ' + strict mode: 'Test262Error: Expected [Object {value: 1}, Object {value: 34, done: true}] to be structurally equal to [Object {value: 1, done: false}, Object {value: 34, done: true}]. ' test/staging/sm/lexical-environment/block-scoped-functions-annex-b-label.js: default: "TypeError: f1 is not a function. (In 'f1()', 'f1' is undefined)" test/staging/sm/lexical-environment/block-scoped-functions-deprecated-redecl.js: default: 'Test262Error: Expected SameValue(«3», «4») to be true' test/staging/sm/lexical-environment/for-loop.js: - default: "Test262Error: unexpected error for `for (const [z]; ; ) ;`: got Error: didn't throw Expected SameValue(«false», «true») to be true" + default: 'Test262Error: Expected a SyntaxError to be thrown but no exception was thrown at all' + strict mode: 'Test262Error: Expected a SyntaxError to be thrown but no exception was thrown at all' test/staging/sm/misc/future-reserved-words.js: - default: 'Test262Error: Implement FutureReservedWords per-spec: implements: function argument retroactively strict Expected SameValue(«"no error"», «"SyntaxError"») to be true' + default: 'Test262Error: implements: function argument retroactively strict Expected a SyntaxError to be thrown but no exception was thrown at all' test/staging/sm/module/await-restricted-nested.js: module: 'Test262: This statement should not be evaluated.' test/staging/sm/module/module-export-name-star.js: module: "ReferenceError: Can't find variable: y" test/staging/sm/object/defineProperties-order.js: default: 'Test262Error: Expected SameValue(«"ownKeys,getOwnPropertyDescriptor,getOwnPropertyDescriptor,get,get"», «"ownKeys,getOwnPropertyDescriptor,get,getOwnPropertyDescriptor,get"») to be true' -test/staging/sm/syntax/syntax-parsed-arrow-then-directive.js: - default: "Test262Error: stack should contain 'http://example.com/foo.js': block, semi Expected SameValue(«false», «true») to be true" + strict mode: 'Test262Error: Expected SameValue(«"ownKeys,getOwnPropertyDescriptor,getOwnPropertyDescriptor,get,get"», «"ownKeys,getOwnPropertyDescriptor,get,getOwnPropertyDescriptor,get"») to be true' test/staging/top-level-await/tla-hang-entry.js: module: "TypeError: Module specifier, 'parent-tla_FIXTURE.js' is not absolute and does not start with \"./\" or \"../\"." diff --git a/JSTests/test262/harness/sm/assertThrowsValue.js b/JSTests/test262/harness/sm/assertThrowsValue.js new file mode 100644 index 0000000000000..3058fe4f1b722 --- /dev/null +++ b/JSTests/test262/harness/sm/assertThrowsValue.js @@ -0,0 +1,24 @@ +/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +/*--- +defines: [assertThrowsValue] +---*/ + +function assertThrowsValue(f, val, msg) { + try { + f(); + } catch (exc) { + assert.sameValue(exc, val, msg); + return; + } + + var fullmsg = "Assertion failed: expected exception, no exception thrown"; + if (msg !== void 0) { + fullmsg += " - " + msg; + } + throw new Test262Error(fullmsg); +} diff --git a/JSTests/test262/harness/sm/non262-Date-shell.js b/JSTests/test262/harness/sm/non262-Date-shell.js index f1f7d18c9099d..e2a67fcd5abc0 100644 --- a/JSTests/test262/harness/sm/non262-Date-shell.js +++ b/JSTests/test262/harness/sm/non262-Date-shell.js @@ -1,181 +1,12 @@ /*--- -defines: [msPerHour, TZ_ADJUST, UTC_01_JAN_1900, UTC_01_JAN_2000, UTC_29_FEB_2000, UTC_01_JAN_2005, inTimeZone, withLocale, Month, assertDateTime, runDSTOffsetCachingTestsFraction] -allow_unused: True +defines: [runDSTOffsetCachingTestsFraction] ---*/ -/** - * Date functions used by tests in Date suite - */ -(function(global) { - const msPerDay = 1000 * 60 * 60 * 24; - const msPerHour = 1000 * 60 * 60; - global.msPerHour = msPerHour; - - // Offset of tester's time zone from UTC. - const TZ_DIFF = GetRawTimezoneOffset(); - global.TZ_ADJUST = TZ_DIFF * msPerHour; - - const UTC_01_JAN_1900 = -2208988800000; - const UTC_01_JAN_2000 = 946684800000; - const UTC_29_FEB_2000 = UTC_01_JAN_2000 + 31 * msPerDay + 28 * msPerDay; - const UTC_01_JAN_2005 = UTC_01_JAN_2000 + TimeInYear(2000) + TimeInYear(2001) + - TimeInYear(2002) + TimeInYear(2003) + TimeInYear(2004); - global.UTC_01_JAN_1900 = UTC_01_JAN_1900; - global.UTC_01_JAN_2000 = UTC_01_JAN_2000; - global.UTC_29_FEB_2000 = UTC_29_FEB_2000; - global.UTC_01_JAN_2005 = UTC_01_JAN_2005; - - /* - * Originally, the test suite used a hard-coded value TZ_DIFF = -8. - * But that was only valid for testers in the Pacific Standard Time Zone! - * We calculate the proper number dynamically for any tester. We just - * have to be careful not to use a date subject to Daylight Savings Time... - */ - function GetRawTimezoneOffset() { - let t1 = new Date(2000, 1, 1).getTimezoneOffset(); - let t2 = new Date(2000, 1 + 6, 1).getTimezoneOffset(); - - // 1) Time zone without daylight saving time. - // 2) Northern hemisphere with daylight saving time. - if ((t1 - t2) >= 0) - return -t1 / 60; - - // 3) Southern hemisphere with daylight saving time. - return -t2 / 60; - } - - function DaysInYear(y) { - return y % 4 === 0 && (y % 100 !== 0 || y % 400 === 0) ? 366 : 365; - } - - function TimeInYear(y) { - return DaysInYear(y) * msPerDay; - } - - function getDefaultTimeZone() { - var tz = getTimeZone(); - switch (tz) { - case "EST": - case "EDT": - return "EST5EDT"; - - case "CST": - case "CDT": - return "CST6CDT"; - - case "MST": - case "MDT": - return "MST7MDT"; - - case "PST": - case "PDT": - return "PST8PDT"; - - default: - // Other time zones abbrevations are not supported. - return tz; - } - } - - function getDefaultLocale() { - // If the default locale looks like a BCP-47 language tag, return it. - var locale = global.getDefaultLocale(); - if (locale.match(/^[a-z][a-z0-9\-]+$/i)) - return locale; - - // Otherwise use undefined to reset to the default locale. - return undefined; - } - - let defaultTimeZone = null; - let defaultLocale = null; - - // Run the given test in the requested time zone. - function inTimeZone(tzname, fn) { - if (defaultTimeZone === null) - defaultTimeZone = getDefaultTimeZone(); - - setTimeZone(tzname); - try { - fn(); - } finally { - setTimeZone(defaultTimeZone); - } - } - global.inTimeZone = inTimeZone; - - // Run the given test with the requested locale. - function withLocale(locale, fn) { - if (defaultLocale === null) - defaultLocale = getDefaultLocale(); - - setDefaultLocale(locale); - try { - fn(); - } finally { - setDefaultLocale(defaultLocale); - } - } - global.withLocale = withLocale; - - const Month = { - January: 0, - February: 1, - March: 2, - April: 3, - May: 4, - June: 5, - July: 6, - August: 7, - September: 8, - October: 9, - November: 10, - December: 11, - }; - global.Month = Month; - - const weekdays = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"].join("|"); - const months = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"].join("|"); - const datePart = String.raw `(?:${weekdays}) (?:${months}) \d{2}`; - const timePart = String.raw `\d{4,6} \d{2}:\d{2}:\d{2} GMT[+-]\d{4}`; - const dateTimeRE = new RegExp(String.raw `^(${datePart} ${timePart})(?: \((.+)\))?$`); - - function assertDateTime(date, expected, ...alternativeTimeZones) { - let actual = date.toString(); - assertEq(dateTimeRE.test(expected), true, `${expected}`); - assertEq(dateTimeRE.test(actual), true, `${actual}`); - - let [, expectedDateTime, expectedTimeZone] = dateTimeRE.exec(expected); - let [, actualDateTime, actualTimeZone] = dateTimeRE.exec(actual); - - assertEq(actualDateTime, expectedDateTime); - - // The time zone identifier is optional, so only compare its value if - // it's present in |actual| and |expected|. - if (expectedTimeZone !== undefined && actualTimeZone !== undefined) { - // Test against the alternative time zone identifiers if necessary. - if (actualTimeZone !== expectedTimeZone) { - for (let alternativeTimeZone of alternativeTimeZones) { - if (actualTimeZone === alternativeTimeZone) { - expectedTimeZone = alternativeTimeZone; - break; - } - } - } - assertEq(actualTimeZone, expectedTimeZone); - } - } - global.assertDateTime = assertDateTime; -})(this); - - function runDSTOffsetCachingTestsFraction(part, parts) { var BUGNUMBER = 563938; var summary = 'Cache DST offsets to improve SunSpider score'; - print(BUGNUMBER + ": " + summary); - var MAX_UNIX_TIMET = 2145859200; // "2037-12-31T08:00:00.000Z" (PST8PDT based!) var RANGE_EXPANSION_AMOUNT = 30 * 24 * 60 * 60; @@ -267,50 +98,32 @@ function runDSTOffsetCachingTestsFraction(part, parts) var start = Math.floor((part - 1) / parts * sz); var end = Math.floor(part / parts * sz); - print("Exhaustively testing timestamps " + - "[" + start + ", " + end + ") of " + sz + "..."); - - try + for (var i = start; i < end; i++) { - for (var i = start; i < end; i++) + var t1 = TEST_TIMESTAMPS[i]; + for (var j = 0; j < sz; j++) { - print("Testing timestamp " + i + "..."); - - var t1 = TEST_TIMESTAMPS[i]; - for (var j = 0; j < sz; j++) + var t2 = TEST_TIMESTAMPS[j]; + for (var k = 0; k < sz; k++) { - var t2 = TEST_TIMESTAMPS[j]; - for (var k = 0; k < sz; k++) + var t3 = TEST_TIMESTAMPS[k]; + for (var w = 0; w < sz; w++) { - var t3 = TEST_TIMESTAMPS[k]; - for (var w = 0; w < sz; w++) - { - var t4 = TEST_TIMESTAMPS[w]; + var t4 = TEST_TIMESTAMPS[w]; - clearDSTOffsetCache(t1); + clearDSTOffsetCache(t1); - var tzo1 = tzOffsetFromUnixTimestamp(t1); - var tzo2 = tzOffsetFromUnixTimestamp(t2); - var tzo3 = tzOffsetFromUnixTimestamp(t3); - var tzo4 = tzOffsetFromUnixTimestamp(t4); + var tzo1 = tzOffsetFromUnixTimestamp(t1); + var tzo2 = tzOffsetFromUnixTimestamp(t2); + var tzo3 = tzOffsetFromUnixTimestamp(t3); + var tzo4 = tzOffsetFromUnixTimestamp(t4); - assertEq(tzo1, CORRECT_TZOFFSETS[i]); - assertEq(tzo2, CORRECT_TZOFFSETS[j]); - assertEq(tzo3, CORRECT_TZOFFSETS[k]); - assertEq(tzo4, CORRECT_TZOFFSETS[w]); - } + assert.sameValue(tzo1, CORRECT_TZOFFSETS[i]); + assert.sameValue(tzo2, CORRECT_TZOFFSETS[j]); + assert.sameValue(tzo3, CORRECT_TZOFFSETS[k]); + assert.sameValue(tzo4, CORRECT_TZOFFSETS[w]); } } } } - catch (e) - { - assertEq(true, false, - "Error when testing with timestamps " + - i + ", " + j + ", " + k + ", " + w + - " (" + t1 + ", " + t2 + ", " + t3 + ", " + t4 + ")!"); - } - - reportCompare(true, true); - print("All tests passed!"); } diff --git a/JSTests/test262/harness/sm/non262-JSON-shell.js b/JSTests/test262/harness/sm/non262-JSON-shell.js index c57f5f1556060..6f20467a3e26a 100644 --- a/JSTests/test262/harness/sm/non262-JSON-shell.js +++ b/JSTests/test262/harness/sm/non262-JSON-shell.js @@ -1,6 +1,5 @@ /*--- defines: [testJSON, testJSONSyntaxError] -allow_unused: True ---*/ function testJSON(str) { diff --git a/JSTests/test262/harness/sm/non262-Math-shell.js b/JSTests/test262/harness/sm/non262-Math-shell.js index a4d1071c69ed1..6d467c90f3f99 100644 --- a/JSTests/test262/harness/sm/non262-Math-shell.js +++ b/JSTests/test262/harness/sm/non262-Math-shell.js @@ -1,6 +1,5 @@ /*--- defines: [assertNear] -allow_unused: True ---*/ // The nearest representable values to +1.0. @@ -51,10 +50,10 @@ const ONE_MINUS_EPSILON = 1 - Math.pow(2, -53); // 1.0000000000000002 ENDIAN = 0; // try little-endian first if (diff(2, 4) === 0x100000) // exact wrong answer we'll get on a big-endian platform ENDIAN = 1; - assertEq(diff(2,4), 0x10000000000000); - assertEq(diff(0, Number.MIN_VALUE), 1); - assertEq(diff(1, ONE_PLUS_EPSILON), 1); - assertEq(diff(1, ONE_MINUS_EPSILON), 1); + assert.sameValue(diff(2,4), 0x10000000000000); + assert.sameValue(diff(0, Number.MIN_VALUE), 1); + assert.sameValue(diff(1, ONE_PLUS_EPSILON), 1); + assert.sameValue(diff(1, ONE_MINUS_EPSILON), 1); var assertNear = function assertNear(a, b, tolerance=1) { if (!Number.isFinite(b)) { diff --git a/JSTests/test262/harness/sm/non262-Reflect-shell.js b/JSTests/test262/harness/sm/non262-Reflect-shell.js index 22d68b3513f6a..d43b8372d34e0 100644 --- a/JSTests/test262/harness/sm/non262-Reflect-shell.js +++ b/JSTests/test262/harness/sm/non262-Reflect-shell.js @@ -1,6 +1,5 @@ /*--- defines: [SOME_PRIMITIVE_VALUES] -allow_unused: True ---*/ // List of a few values that are not objects. diff --git a/JSTests/test262/harness/sm/non262-Set-shell.js b/JSTests/test262/harness/sm/non262-Set-shell.js index f85d9e89a1d44..448e7d336dc8a 100644 --- a/JSTests/test262/harness/sm/non262-Set-shell.js +++ b/JSTests/test262/harness/sm/non262-Set-shell.js @@ -1,6 +1,5 @@ /*--- defines: [assertSetContainsExactOrderedItems, SetLike, SetIteratorLike, LoggingProxy] -allow_unused: True ---*/ (function(global) { // Save the primordial values. @@ -18,10 +17,10 @@ allow_unused: True const SetIteratorPrototypeNext = new Set().values().next; function assertSetContainsExactOrderedItems(actual, expected) { - assertEq(ReflectGetPrototypeOf(actual), SetPrototype, "actual is a native Set object"); - assertEq(ArrayIsArray(expected), true, "expected is an Array object"); + assert.sameValue(ReflectGetPrototypeOf(actual), SetPrototype, "actual is a native Set object"); + assert.sameValue(ArrayIsArray(expected), true, "expected is an Array object"); - assertEq(ReflectApply(SetPrototypeSize, actual, []), expected.length); + assert.sameValue(ReflectApply(SetPrototypeSize, actual, []), expected.length); let index = 0; let keys = ReflectApply(SetPrototypeKeys, actual, []); @@ -31,7 +30,7 @@ allow_unused: True if (done) { break; } - assertEq(item, expected[index], `Element at index ${index}:`); + assert.sameValue(item, expected[index], `Element at index ${index}:`); index++; } } @@ -82,7 +81,7 @@ allow_unused: True } function LoggingProxy(obj, log) { - assertEq(ArrayIsArray(log), true); + assert.sameValue(ArrayIsArray(log), true); let handler = new Proxy({ get(t, pk, r) { diff --git a/JSTests/test262/harness/sm/non262-Temporal-PlainMonthDay-shell.js b/JSTests/test262/harness/sm/non262-Temporal-PlainMonthDay-shell.js index 76bf834fa9f2b..1ffbf3a54ac77 100644 --- a/JSTests/test262/harness/sm/non262-Temporal-PlainMonthDay-shell.js +++ b/JSTests/test262/harness/sm/non262-Temporal-PlainMonthDay-shell.js @@ -1,6 +1,5 @@ /*--- defines: [ISOFields, assertSameISOFields] -allow_unused: True ---*/ function ISOFields(monthDay) { @@ -8,7 +7,7 @@ function ISOFields(monthDay) { let str = monthDay.toString({calendarName: "always"}); let match = str.match(re); - assertEq(match !== null, true, `can't match: ${str}`); + assert.sameValue(match !== null, true, `can't match: ${str}`); let {year, month, day, calendar} = match.groups; let isoYear = Number(year); @@ -18,10 +17,10 @@ function ISOFields(monthDay) { let date = Temporal.PlainDate.from(str); let isoDate = date.withCalendar("iso8601"); - assertEq(calendar, date.calendarId); - assertEq(isoYear, isoDate.year); - assertEq(isoMonth, isoDate.month); - assertEq(isoDay, isoDate.day); + assert.sameValue(calendar, date.calendarId); + assert.sameValue(isoYear, isoDate.year); + assert.sameValue(isoMonth, isoDate.month); + assert.sameValue(isoDay, isoDate.day); return { isoYear, @@ -35,15 +34,15 @@ function assertSameISOFields(actual, expected) { let actualFields = ISOFields(actual); let expectedFields = ISOFields(expected); - assertEq(typeof actualFields.isoYear, "number"); - assertEq(typeof actualFields.isoMonth, "number"); - assertEq(typeof actualFields.isoDay, "number"); + assert.sameValue(typeof actualFields.isoYear, "number"); + assert.sameValue(typeof actualFields.isoMonth, "number"); + assert.sameValue(typeof actualFields.isoDay, "number"); - assertEq(actualFields.isoMonth > 0, true); - assertEq(actualFields.isoDay > 0, true); + assert.sameValue(actualFields.isoMonth > 0, true); + assert.sameValue(actualFields.isoDay > 0, true); - assertEq(actualFields.isoYear, expectedFields.isoYear); - assertEq(actualFields.isoMonth, expectedFields.isoMonth); - assertEq(actualFields.isoDay, expectedFields.isoDay); - assertEq(actualFields.calendar, expectedFields.calendar); + assert.sameValue(actualFields.isoYear, expectedFields.isoYear); + assert.sameValue(actualFields.isoMonth, expectedFields.isoMonth); + assert.sameValue(actualFields.isoDay, expectedFields.isoDay); + assert.sameValue(actualFields.calendar, expectedFields.calendar); } diff --git a/JSTests/test262/harness/sm/non262-TypedArray-shell.js b/JSTests/test262/harness/sm/non262-TypedArray-shell.js index 5fe532f0f441e..c8bd8b90ec202 100644 --- a/JSTests/test262/harness/sm/non262-TypedArray-shell.js +++ b/JSTests/test262/harness/sm/non262-TypedArray-shell.js @@ -1,13 +1,11 @@ /*--- defines: [typedArrayConstructors, sharedTypedArrayConstructors, anyTypedArrayConstructors, isSharedConstructor, isFloatConstructor, isUnsignedConstructor] -allow_unused: True ---*/ (function(global) { "use strict"; const { Float16Array, Float32Array, Float64Array, Object, Reflect, SharedArrayBuffer, WeakMap, - assertEq } = global; const { apply: Reflect_apply, @@ -37,7 +35,7 @@ allow_unused: True new.target); for (var i = 0; i < length; i++) sharedArray[i] = array[i]; - assertEq(sharedArray.buffer, sharedBuffer); + assert.sameValue(sharedArray.buffer, sharedBuffer); return sharedArray; } } diff --git a/JSTests/test262/harness/sm/non262-expressions-shell.js b/JSTests/test262/harness/sm/non262-expressions-shell.js index 6b7c90e00e286..e8f584e1b52d5 100644 --- a/JSTests/test262/harness/sm/non262-expressions-shell.js +++ b/JSTests/test262/harness/sm/non262-expressions-shell.js @@ -4,7 +4,6 @@ /*--- defines: [testDestructuringArrayDefault] -allow_unused: True ---*/ (function(global) { diff --git a/JSTests/test262/harness/sm/non262-generators-shell.js b/JSTests/test262/harness/sm/non262-generators-shell.js index ece16e815b14c..24a666ae3552f 100644 --- a/JSTests/test262/harness/sm/non262-generators-shell.js +++ b/JSTests/test262/harness/sm/non262-generators-shell.js @@ -2,16 +2,12 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ /*--- -defines: [assertFalse, assertTrue, assertNotEq, assertIteratorResult, assertIteratorNext, assertIteratorDone] -allow_unused: True +defines: [assertIteratorResult, assertIteratorNext, assertIteratorDone] ---*/ -function assertFalse(a) { assertEq(a, false) } -function assertTrue(a) { assertEq(a, true) } -function assertNotEq(found, not_expected) { assertEq(Object.is(found, not_expected), false) } function assertIteratorResult(result, value, done) { - assert.deepEqual(result.value, value); - assertEq(result.done, done); + assert.sameValue(result.value, value); + assert.sameValue(result.done, done); } function assertIteratorNext(iter, value) { assertIteratorResult(iter.next(), value, false); diff --git a/JSTests/test262/harness/sm/non262-shell.js b/JSTests/test262/harness/sm/non262-shell.js deleted file mode 100644 index c3d352aeb529d..0000000000000 --- a/JSTests/test262/harness/sm/non262-shell.js +++ /dev/null @@ -1,124 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -/*--- -defines: [makeIterator, Permutations, assertThrowsValue, assertThrownErrorContains, assertThrowsInstanceOfWithMessageCheck, assertThrowsInstanceOf, assertThrowsInstanceOfWithMessage, assertThrowsInstanceOfWithMessageContains, assertDeepEq] -allow_unused: True ----*/ - -(function() { - const undefined = void 0; - - /** Make an iterator with a return method. */ - globalThis.makeIterator = function makeIterator(overrides) { - var throwMethod; - if (overrides && overrides.throw) - throwMethod = overrides.throw; - var iterator = { - throw: throwMethod, - next: function(x) { - if (overrides && overrides.next) - return overrides.next(x); - return { done: false }; - }, - return: function(x) { - if (overrides && overrides.ret) - return overrides.ret(x); - return { done: true }; - } - }; - - return function() { return iterator; }; - }; - - /** Yield every permutation of the elements in some array. */ - globalThis.Permutations = function* Permutations(items) { - if (items.length == 0) { - yield []; - } else { - items = items.slice(0); - for (let i = 0; i < items.length; i++) { - let swap = items[0]; - items[0] = items[i]; - items[i] = swap; - for (let e of Permutations(items.slice(1, items.length))) - yield [items[0]].concat(e); - } - } - }; - - if (typeof globalThis.assertThrowsValue === 'undefined') { - globalThis.assertThrowsValue = function assertThrowsValue(f, val, msg) { - var fullmsg; - try { - f(); - } catch (exc) { - if ((exc === val) === (val === val) && (val !== 0 || 1 / exc === 1 / val)) - return; - fullmsg = "Assertion failed: expected exception " + val + ", got " + exc; - } - if (fullmsg === undefined) - fullmsg = "Assertion failed: expected exception " + val + ", no exception thrown"; - if (msg !== undefined) - fullmsg += " - " + msg; - throw new Error(fullmsg); - }; - } - - if (typeof globalThis.assertThrownErrorContains === 'undefined') { - globalThis.assertThrownErrorContains = function assertThrownErrorContains(thunk, substr) { - try { - thunk(); - } catch (e) { - // Do not test error messages - return; - } - throw new Error("Expected error containing " + substr + ", no exception thrown"); - }; - } - - if (typeof globalThis.assertThrowsInstanceOfWithMessageCheck === 'undefined') { - globalThis.assertThrowsInstanceOfWithMessageCheck = function assertThrowsInstanceOfWithMessageCheck(f, ctor, check, msg) { - var fullmsg; - try { - f(); - } catch (exc) { - if (!(exc instanceof ctor)) - fullmsg = `Assertion failed: expected exception ${ctor.name}, got ${exc}`; - else { - // Do not test error messages - return; - } - } - - if (fullmsg === undefined) - fullmsg = `Assertion failed: expected exception ${ctor.name}, no exception thrown`; - if (msg !== undefined) - fullmsg += " - " + msg; - - throw new Error(fullmsg); - }; - } - - if (typeof globalThis.assertThrowsInstanceOf === 'undefined') { - globalThis.assertThrowsInstanceOf = function assertThrowsInstanceOf(f, ctor, msg) { - assertThrowsInstanceOfWithMessageCheck(f, ctor, _ => true, msg); - }; - } - - if (typeof globalThis.assertThrowsInstanceOfWithMessage === 'undefined') { - globalThis.assertThrowsInstanceOfWithMessage = function assertThrowsInstanceOfWithMessage(f, ctor, expected, msg) { - assertThrowsInstanceOfWithMessageCheck(f, ctor, message => message === expected, msg); - } - } - - if (typeof globalThis.assertThrowsInstanceOfWithMessageContains === 'undefined') { - globalThis.assertThrowsInstanceOfWithMessageContains = function assertThrowsInstanceOfWithMessageContains(f, ctor, substr, msg) { - assertThrowsInstanceOfWithMessageCheck(f, ctor, message => message.indexOf(substr) !== -1, msg); - } - } - -})(); diff --git a/JSTests/test262/harness/sm/non262-strict-shell.js b/JSTests/test262/harness/sm/non262-strict-shell.js index c11cd48062db5..68bddea672b36 100644 --- a/JSTests/test262/harness/sm/non262-strict-shell.js +++ b/JSTests/test262/harness/sm/non262-strict-shell.js @@ -6,7 +6,6 @@ /*--- defines: [completesNormally, raisesException, testLenientAndStrict, parsesSuccessfully, parseRaisesException, returns] -allow_unused: True ---*/ (function(global) { diff --git a/JSTests/test262/harness/sm/non262.js b/JSTests/test262/harness/sm/non262.js deleted file mode 100644 index 89df923246d6c..0000000000000 --- a/JSTests/test262/harness/sm/non262.js +++ /dev/null @@ -1,56 +0,0 @@ -/*--- -defines: [assertThrownErrorContains, assertThrowsInstanceOfWithMessageCheck, newGlobal, print, assertEq, reportCompare, createIsHTMLDDA, createExternalArrayBuffer] ----*/ - -function assertThrownErrorContains(f, substr) { - try { - f(); - } catch (exc) { - // Do not test error messages - return; - } - throw new Test262Error("Expected error containing " + substr + ", no exception thrown"); -} - -function assertThrowsInstanceOfWithMessageCheck(f, ctor, _check, msg) { - var fullmsg; - try { - f(); - } catch (exc) { - if (exc instanceof ctor) - return; - fullmsg = `Assertion failed: expected exception ${ctor.name}, got ${exc}`; - } - - if (fullmsg === undefined) - fullmsg = `Assertion failed: expected exception ${ctor.name}, no exception thrown`; - if (msg !== undefined) - fullmsg += " - " + msg; - - throw new Error(fullmsg); -} - -globalThis.createNewGlobal = function() { - return $262.createRealm().global -} - -function print(...args) { -} -function assertEq(...args) { - assert.sameValue(...args) -} -function reportCompare(...args) { - assert.sameValue(...args) -} - -if (globalThis.createIsHTMLDDA === undefined) { - globalThis.createIsHTMLDDA = function createIsHTMLDDA() { - return $262.IsHTMLDDA; - } -} - -if (globalThis.createExternalArrayBuffer === undefined) { - globalThis.createExternalArrayBuffer = function createExternalArrayBuffer(size) { - return new ArrayBuffer(size); - } -} diff --git a/JSTests/test262/latest-changes-summary.txt b/JSTests/test262/latest-changes-summary.txt index def738114defa..54a2e34350e78 100644 --- a/JSTests/test262/latest-changes-summary.txt +++ b/JSTests/test262/latest-changes-summary.txt @@ -1,128 +1,1522 @@ -M harness/temporalHelpers.js -A test/annexB/language/expressions/assignmenttargettype/callexpression-as-for-in-lhs.js -A test/annexB/language/expressions/assignmenttargettype/callexpression-as-for-of-lhs.js -A test/annexB/language/expressions/assignmenttargettype/callexpression-in-compound-assignment.js -A test/annexB/language/expressions/assignmenttargettype/callexpression-in-postfix-update.js -A test/annexB/language/expressions/assignmenttargettype/callexpression-in-prefix-update.js -A test/annexB/language/expressions/assignmenttargettype/callexpression.js -A test/annexB/language/expressions/assignmenttargettype/cover-callexpression-and-asyncarrowhead.js -M test/built-ins/Iterator/concat/fresh-iterator-result.js -A test/built-ins/Iterator/concat/get-value-after-done.js -A test/built-ins/Temporal/Duration/compare/options-read-before-algorithmic-validation.js -A test/built-ins/Temporal/Duration/prototype/round/bubble-time-unit.js -A test/built-ins/Temporal/Duration/prototype/round/options-read-before-algorithmic-validation.js -A test/built-ins/Temporal/Duration/prototype/toString/options-read-before-algorithmic-validation.js -A test/built-ins/Temporal/Duration/prototype/total/options-read-before-algorithmic-validation.js -A test/built-ins/Temporal/Instant/prototype/round/options-read-before-algorithmic-validation.js -A test/built-ins/Temporal/Instant/prototype/since/options-read-before-algorithmic-validation.js -A test/built-ins/Temporal/Instant/prototype/toString/options-read-before-algorithmic-validation.js -A test/built-ins/Temporal/Instant/prototype/until/options-read-before-algorithmic-validation.js -A test/built-ins/Temporal/PlainDate/from/options-read-before-algorithmic-validation.js -A test/built-ins/Temporal/PlainDate/prototype/add/options-read-before-algorithmic-validation.js -A test/built-ins/Temporal/PlainDate/prototype/since/options-read-before-algorithmic-validation.js -A test/built-ins/Temporal/PlainDate/prototype/subtract/options-read-before-algorithmic-validation.js -A test/built-ins/Temporal/PlainDate/prototype/until/options-read-before-algorithmic-validation.js -A test/built-ins/Temporal/PlainDate/prototype/with/options-read-before-algorithmic-validation.js -A test/built-ins/Temporal/PlainDateTime/from/options-read-before-algorithmic-validation.js -A test/built-ins/Temporal/PlainDateTime/prototype/add/options-read-before-algorithmic-validation.js -A test/built-ins/Temporal/PlainDateTime/prototype/round/options-read-before-algorithmic-validation.js -A test/built-ins/Temporal/PlainDateTime/prototype/since/bubble-time-unit.js -A test/built-ins/Temporal/PlainDateTime/prototype/since/options-read-before-algorithmic-validation.js -A test/built-ins/Temporal/PlainDateTime/prototype/subtract/options-read-before-algorithmic-validation.js -A test/built-ins/Temporal/PlainDateTime/prototype/toString/options-read-before-algorithmic-validation.js -A test/built-ins/Temporal/PlainDateTime/prototype/toZonedDateTime/options-read-before-algorithmic-validation.js -A test/built-ins/Temporal/PlainDateTime/prototype/until/bubble-time-unit.js -A test/built-ins/Temporal/PlainDateTime/prototype/until/options-read-before-algorithmic-validation.js -A test/built-ins/Temporal/PlainDateTime/prototype/with/options-read-before-algorithmic-validation.js -A test/built-ins/Temporal/PlainMonthDay/from/options-read-before-algorithmic-validation.js -A test/built-ins/Temporal/PlainMonthDay/prototype/with/options-read-before-algorithmic-validation.js -A test/built-ins/Temporal/PlainTime/from/options-read-before-algorithmic-validation.js -A test/built-ins/Temporal/PlainTime/prototype/round/options-read-before-algorithmic-validation.js -A test/built-ins/Temporal/PlainTime/prototype/since/options-read-before-algorithmic-validation.js -A test/built-ins/Temporal/PlainTime/prototype/toString/options-read-before-algorithmic-validation.js -A test/built-ins/Temporal/PlainTime/prototype/until/options-read-before-algorithmic-validation.js -A test/built-ins/Temporal/PlainTime/prototype/with/options-read-before-algorithmic-validation.js -A test/built-ins/Temporal/PlainYearMonth/from/options-read-before-algorithmic-validation.js -A test/built-ins/Temporal/PlainYearMonth/prototype/add/options-read-before-algorithmic-validation.js -A test/built-ins/Temporal/PlainYearMonth/prototype/since/options-read-before-algorithmic-validation.js -A test/built-ins/Temporal/PlainYearMonth/prototype/subtract/options-read-before-algorithmic-validation.js -A test/built-ins/Temporal/PlainYearMonth/prototype/until/options-read-before-algorithmic-validation.js -A test/built-ins/Temporal/PlainYearMonth/prototype/with/options-read-before-algorithmic-validation.js -A test/built-ins/Temporal/ZonedDateTime/from/options-read-before-algorithmic-validation.js -A test/built-ins/Temporal/ZonedDateTime/prototype/add/options-read-before-algorithmic-validation.js -A test/built-ins/Temporal/ZonedDateTime/prototype/round/options-read-before-algorithmic-validation.js -A test/built-ins/Temporal/ZonedDateTime/prototype/since/options-read-before-algorithmic-validation.js -A test/built-ins/Temporal/ZonedDateTime/prototype/subtract/options-read-before-algorithmic-validation.js -A test/built-ins/Temporal/ZonedDateTime/prototype/toString/options-read-before-algorithmic-validation.js -A test/built-ins/Temporal/ZonedDateTime/prototype/until/options-read-before-algorithmic-validation.js -A test/built-ins/Temporal/ZonedDateTime/prototype/with/options-read-before-algorithmic-validation.js -M test/built-ins/TypedArray/prototype/copyWithin/coerced-target-start-end-shrink.js -R094 test/staging/upsert/WeakMap/getOrInsertComputed/adds-object-element.js test/built-ins/WeakMap/prototype/getOrInsertComputed/adds-object-element.js -R095 test/staging/upsert/WeakMap/getOrInsertComputed/adds-symbol-element.js test/built-ins/WeakMap/prototype/getOrInsertComputed/adds-symbol-element.js -R092 test/staging/upsert/WeakMap/getOrInsertComputed/adds-value-different-callbackfn.js test/built-ins/WeakMap/prototype/getOrInsertComputed/adds-value-different-callbackfn.js -R088 test/staging/upsert/WeakMap/getOrInsertComputed/callbackfn-throws.js test/built-ins/WeakMap/prototype/getOrInsertComputed/callbackfn-throws.js -A test/built-ins/WeakMap/prototype/getOrInsertComputed/check-callback-fn-args.js -A test/built-ins/WeakMap/prototype/getOrInsertComputed/check-state-after-callback-fn-throws.js -R052 test/staging/upsert/WeakMap/getOrInsertComputed/does-not-evaluate-callbackfn-if-key-present.js test/built-ins/WeakMap/prototype/getOrInsertComputed/does-not-evaluate-callbackfn-if-key-present.js -R086 test/staging/upsert/WeakMap/getOrInsertComputed/does-not-have-weakmapdata-internal-slot-array.js test/built-ins/WeakMap/prototype/getOrInsertComputed/does-not-have-weakmapdata-internal-slot-array.js -R086 test/staging/upsert/WeakMap/getOrInsertComputed/does-not-have-weakmapdata-internal-slot-map.js test/built-ins/WeakMap/prototype/getOrInsertComputed/does-not-have-weakmapdata-internal-slot-map.js -R086 test/staging/upsert/WeakMap/getOrInsertComputed/does-not-have-weakmapdata-internal-slot-object.js test/built-ins/WeakMap/prototype/getOrInsertComputed/does-not-have-weakmapdata-internal-slot-object.js -R085 test/staging/upsert/WeakMap/getOrInsertComputed/does-not-have-weakmapdata-internal-slot-set.js test/built-ins/WeakMap/prototype/getOrInsertComputed/does-not-have-weakmapdata-internal-slot-set.js -R086 test/staging/upsert/WeakMap/getOrInsertComputed/does-not-have-weakmapdata-internal-slot-weakmap-prototype.js test/built-ins/WeakMap/prototype/getOrInsertComputed/does-not-have-weakmapdata-internal-slot-weakmap-prototype.js -R066 test/staging/upsert/WeakMap/getOrInsertComputed/getOrInsertComputed.js test/built-ins/WeakMap/prototype/getOrInsertComputed/getOrInsertComputed.js -R089 test/staging/upsert/WeakMap/getOrInsertComputed/not-a-constructor.js test/built-ins/WeakMap/prototype/getOrInsertComputed/not-a-constructor.js -R058 test/staging/upsert/WeakMap/getOrInsertComputed/not-a-function-callbackfn-throws.js test/built-ins/WeakMap/prototype/getOrInsertComputed/not-a-function-callbackfn-throws.js -R093 test/staging/upsert/WeakMap/getOrInsertComputed/overwrites-mutation-from-callbackfn.js test/built-ins/WeakMap/prototype/getOrInsertComputed/overwrites-mutation-from-callbackfn.js -R093 test/staging/upsert/WeakMap/getOrInsertComputed/returns-value-if-key-is-not-present-object-key.js test/built-ins/WeakMap/prototype/getOrInsertComputed/returns-value-if-key-is-not-present-object-key.js -R095 test/staging/upsert/WeakMap/getOrInsertComputed/returns-value-if-key-is-not-present-symbol-key.js test/built-ins/WeakMap/prototype/getOrInsertComputed/returns-value-if-key-is-not-present-symbol-key.js -R094 test/staging/upsert/WeakMap/getOrInsertComputed/returns-value-if-key-is-present-object-key.js test/built-ins/WeakMap/prototype/getOrInsertComputed/returns-value-if-key-is-present-object-key.js -R096 test/staging/upsert/WeakMap/getOrInsertComputed/returns-value-if-key-is-present-symbol-key.js test/built-ins/WeakMap/prototype/getOrInsertComputed/returns-value-if-key-is-present-symbol-key.js -R093 test/staging/upsert/WeakMap/getOrInsertComputed/this-not-object-throw.js test/built-ins/WeakMap/prototype/getOrInsertComputed/this-not-object-throw.js -R095 test/staging/upsert/WeakMap/getOrInsertComputed/throw-if-key-cannot-be-held-weakly.js test/built-ins/WeakMap/prototype/getOrInsertComputed/throw-if-key-cannot-be-held-weakly.js -M test/intl402/Temporal/PlainDate/from/calendar-not-supporting-eras.js -M test/intl402/Temporal/PlainDate/from/canonicalize-era-codes.js -M test/intl402/Temporal/PlainDateTime/from/calendar-not-supporting-eras.js -M test/intl402/Temporal/PlainDateTime/from/canonicalize-era-codes.js -M test/intl402/Temporal/PlainMonthDay/from/calendar-not-supporting-eras.js -M test/intl402/Temporal/PlainYearMonth/from/calendar-not-supporting-eras.js -M test/intl402/Temporal/PlainYearMonth/from/canonicalize-era-codes.js -M test/intl402/Temporal/PlainYearMonth/from/reference-day-hebrew.js -M test/intl402/Temporal/PlainYearMonth/prototype/with/minimum-valid-year-month.js -M test/intl402/Temporal/ZonedDateTime/from/calendar-not-supporting-eras.js -M test/intl402/Temporal/ZonedDateTime/from/canonicalize-era-codes.js -D test/language/expressions/assignmenttargettype/direct-callexpression-arguments.js -A test/language/expressions/assignmenttargettype/direct-callexpression-as-for-in-lhs.js -A test/language/expressions/assignmenttargettype/direct-callexpression-as-for-of-lhs.js -A test/language/expressions/assignmenttargettype/direct-callexpression-in-compound-assignment.js -A test/language/expressions/assignmenttargettype/direct-callexpression-in-logical-assignment.js -A test/language/expressions/assignmenttargettype/direct-callexpression-in-postfix-update.js -A test/language/expressions/assignmenttargettype/direct-callexpression-in-prefix-update.js -A test/language/expressions/assignmenttargettype/direct-callexpression.js -D test/language/expressions/assignmenttargettype/parenthesized-callexpression-arguments.js -A test/language/expressions/assignmenttargettype/parenthesized-callexpression-in-compound-assignment.js -A test/language/expressions/assignmenttargettype/parenthesized-callexpression-in-logical-assignment.js -A test/language/expressions/assignmenttargettype/parenthesized-callexpression.js -M test/staging/Intl402/Temporal/old/islamic-calendars-islamic-rgsa.js -M test/staging/Intl402/Temporal/old/islamic-calendars-islamic.js -M test/staging/Intl402/Temporal/old/japanese-before-era.js -M test/staging/Intl402/Temporal/old/non-iso-calendars-buddhist.js -M test/staging/Intl402/Temporal/old/non-iso-calendars-coptic.js -M test/staging/Intl402/Temporal/old/non-iso-calendars-ethioaa.js -M test/staging/Intl402/Temporal/old/non-iso-calendars-ethiopic.js -M test/staging/Intl402/Temporal/old/non-iso-calendars-gregory.js -M test/staging/Intl402/Temporal/old/non-iso-calendars-hebrew.js -M test/staging/Intl402/Temporal/old/non-iso-calendars-indian.js -M test/staging/Intl402/Temporal/old/non-iso-calendars-islamic-civil.js -M test/staging/Intl402/Temporal/old/non-iso-calendars-islamic-rgsa.js -M test/staging/Intl402/Temporal/old/non-iso-calendars-islamic-tbla.js -M test/staging/Intl402/Temporal/old/non-iso-calendars-islamic-umalqura.js -M test/staging/Intl402/Temporal/old/non-iso-calendars-islamic.js -M test/staging/Intl402/Temporal/old/non-iso-calendars-islamicc.js -M test/staging/Intl402/Temporal/old/non-iso-calendars-persian.js +A harness/sm/assertThrowsValue.js +M harness/sm/non262-Date-shell.js +M harness/sm/non262-JSON-shell.js +M harness/sm/non262-Math-shell.js +M harness/sm/non262-Reflect-shell.js +M harness/sm/non262-Set-shell.js +M harness/sm/non262-Temporal-PlainMonthDay-shell.js +M harness/sm/non262-TypedArray-shell.js +M harness/sm/non262-expressions-shell.js +M harness/sm/non262-generators-shell.js +D harness/sm/non262-shell.js +M harness/sm/non262-strict-shell.js +D harness/sm/non262.js +M test/built-ins/Array/prototype/sort/stability-11-elements.js +M test/built-ins/Array/prototype/sort/stability-2048-elements.js +M test/built-ins/Array/prototype/sort/stability-5-elements.js +M test/built-ins/Array/prototype/sort/stability-513-elements.js +A test/built-ins/Array/prototype/toSorted/comparefn-controls-sort.js +A test/built-ins/Array/prototype/toSorted/comparefn-default.js +M test/built-ins/Array/prototype/with/this-value-boolean.js +A test/built-ins/ArrayBuffer/prototype/resize/this-is-immutable-arraybuffer-object.js +A test/built-ins/ArrayBuffer/prototype/slice/species-returns-immutable-arraybuffer.js +A test/built-ins/ArrayBuffer/prototype/transfer/this-is-immutable-arraybuffer.js +A test/built-ins/ArrayBuffer/prototype/transferToFixedLength/this-is-immutable-arraybuffer.js +A test/built-ins/DataView/prototype/setBigInt64/immutable-buffer.js +A test/built-ins/DataView/prototype/setBigUint64/immutable-buffer.js +A test/built-ins/DataView/prototype/setFloat16/immutable-buffer.js +A test/built-ins/DataView/prototype/setFloat32/immutable-buffer.js +A test/built-ins/DataView/prototype/setFloat64/immutable-buffer.js +A test/built-ins/DataView/prototype/setInt16/immutable-buffer.js +A test/built-ins/DataView/prototype/setInt32/immutable-buffer.js +A test/built-ins/DataView/prototype/setInt8/immutable-buffer.js +A test/built-ins/DataView/prototype/setUint16/immutable-buffer.js +A test/built-ins/DataView/prototype/setUint32/immutable-buffer.js +A test/built-ins/DataView/prototype/setUint8/immutable-buffer.js +M test/built-ins/Iterator/concat/next-method-returns-throwing-value.js +M test/built-ins/Iterator/concat/return-is-not-forwarded-before-initial-start.js +M test/built-ins/String/prototype/isWellFormed/not-a-constructor.js +M test/built-ins/String/prototype/toWellFormed/not-a-constructor.js +A test/built-ins/Temporal/Duration/compare/blank-duration.js +A test/built-ins/Temporal/Duration/from/blank-duration.js +M test/built-ins/Temporal/Duration/prototype/abs/basic.js +A test/built-ins/Temporal/Duration/prototype/add/blank-duration.js +M test/built-ins/Temporal/Duration/prototype/blank/basic.js +A test/built-ins/Temporal/Duration/prototype/days/blank-duration.js +A test/built-ins/Temporal/Duration/prototype/hours/blank-duration.js +A test/built-ins/Temporal/Duration/prototype/microseconds/blank-duration.js +A test/built-ins/Temporal/Duration/prototype/milliseconds/blank-duration.js +A test/built-ins/Temporal/Duration/prototype/minutes/blank-duration.js +A test/built-ins/Temporal/Duration/prototype/months/blank-duration.js +A test/built-ins/Temporal/Duration/prototype/nanoseconds/blank-duration.js +M test/built-ins/Temporal/Duration/prototype/negated/basic.js +A test/built-ins/Temporal/Duration/prototype/round/blank-duration.js +A test/built-ins/Temporal/Duration/prototype/seconds/blank-duration.js +A test/built-ins/Temporal/Duration/prototype/sign/blank-duration.js +A test/built-ins/Temporal/Duration/prototype/subtract/blank-duration.js +M test/built-ins/Temporal/Duration/prototype/toJSON/basic.js +A test/built-ins/Temporal/Duration/prototype/total/blank-duration.js +A test/built-ins/Temporal/Duration/prototype/weeks/blank-duration.js +A test/built-ins/Temporal/Duration/prototype/with/blank-duration.js +A test/built-ins/Temporal/Duration/prototype/years/blank-duration.js +A test/built-ins/Temporal/Instant/prototype/add/blank-duration.js +A test/built-ins/Temporal/Instant/prototype/since/blank-result.js +A test/built-ins/Temporal/Instant/prototype/subtract/blank-duration.js +A test/built-ins/Temporal/Instant/prototype/until/blank-result.js +A test/built-ins/Temporal/PlainDate/prototype/add/blank-duration.js +A test/built-ins/Temporal/PlainDate/prototype/since/blank-result.js +A test/built-ins/Temporal/PlainDate/prototype/subtract/blank-duration.js +A test/built-ins/Temporal/PlainDate/prototype/until/blank-result.js +A test/built-ins/Temporal/PlainDateTime/prototype/add/blank-duration.js +A test/built-ins/Temporal/PlainDateTime/prototype/since/blank-result.js +A test/built-ins/Temporal/PlainDateTime/prototype/subtract/blank-duration.js +A test/built-ins/Temporal/PlainDateTime/prototype/until/blank-result.js +A test/built-ins/Temporal/PlainTime/prototype/add/blank-duration.js +A test/built-ins/Temporal/PlainTime/prototype/since/blank-result.js +A test/built-ins/Temporal/PlainTime/prototype/subtract/blank-duration.js +A test/built-ins/Temporal/PlainTime/prototype/until/blank-result.js +A test/built-ins/Temporal/PlainYearMonth/prototype/add/blank-duration.js +A test/built-ins/Temporal/PlainYearMonth/prototype/since/blank-result.js +A test/built-ins/Temporal/PlainYearMonth/prototype/subtract/blank-duration.js +A test/built-ins/Temporal/PlainYearMonth/prototype/until/blank-result.js +A test/built-ins/Temporal/ZonedDateTime/prototype/add/blank-duration.js +A test/built-ins/Temporal/ZonedDateTime/prototype/since/argument-at-limits.js +A test/built-ins/Temporal/ZonedDateTime/prototype/since/blank-result.js +A test/built-ins/Temporal/ZonedDateTime/prototype/subtract/blank-duration.js +A test/built-ins/Temporal/ZonedDateTime/prototype/until/argument-at-limits.js +A test/built-ins/Temporal/ZonedDateTime/prototype/until/blank-result.js +A test/built-ins/TypedArray/prototype/slice/resize-count-bytes-to-zero.js +M test/built-ins/TypedArray/prototype/sort/stability.js +A test/built-ins/TypedArray/prototype/toReversed/reverses.js +A test/built-ins/TypedArray/prototype/toSorted/comparefn-controls-sort.js +A test/built-ins/TypedArray/prototype/toSorted/comparefn-default.js +M test/built-ins/WeakMap/prototype/getOrInsertComputed/check-state-after-callback-fn-throws.js +M test/built-ins/WeakMap/prototype/getOrInsertComputed/throw-if-key-cannot-be-held-weakly.js +A test/intl402/String/prototype/toLocaleLowerCase/validates-all-locale-identifiers.js +A test/intl402/String/prototype/toLocaleUpperCase/validates-all-locale-identifiers.js +A test/intl402/Temporal/Duration/prototype/round/relativeto-dst-back-transition.js +A test/intl402/Temporal/Duration/prototype/total/relativeto-dst-back-transition.js +A test/intl402/Temporal/PlainDate/prototype/since/wrapping-at-end-of-month-gregorian.js +A test/intl402/Temporal/PlainDate/prototype/until/wrapping-at-end-of-month-gregorian.js +A test/intl402/Temporal/PlainDateTime/prototype/since/wrapping-at-end-of-month-gregorian.js +A test/intl402/Temporal/PlainDateTime/prototype/until/wrapping-at-end-of-month-gregorian.js +A test/intl402/Temporal/ZonedDateTime/prototype/since/argument-at-limits.js +A test/intl402/Temporal/ZonedDateTime/prototype/since/same-date-reverse-wallclock.js +A test/intl402/Temporal/ZonedDateTime/prototype/since/wrapping-at-end-of-month-gregorian.js +A test/intl402/Temporal/ZonedDateTime/prototype/until/argument-at-limits.js +A test/intl402/Temporal/ZonedDateTime/prototype/until/same-date-reverse-wallclock.js +A test/intl402/Temporal/ZonedDateTime/prototype/until/wrapping-at-end-of-month-gregorian.js +D test/language/statements/class/elements/private-class-field-on-frozen-objects.js +A test/language/statements/class/elements/private-class-field-on-nonextensible-objects.js +A test/language/statements/class/subclass/private-class-field-on-nonextensible-return-override.js +M test/staging/sm/Array/array-length-set-during-for-in.js +M test/staging/sm/Array/array-length-set-on-nonarray.js +M test/staging/sm/Array/at.js +M test/staging/sm/Array/change-array-by-copy-cross-compartment-create.js +M test/staging/sm/Array/change-array-by-copy-errors-from-correct-realm.js +M test/staging/sm/Array/concat-proxy.js +M test/staging/sm/Array/concat-spreadable-basic.js +M test/staging/sm/Array/concat-spreadable-primitive.js +M test/staging/sm/Array/fill.js +M test/staging/sm/Array/for_of_1.js +M test/staging/sm/Array/for_of_2.js +M test/staging/sm/Array/for_of_3.js +M test/staging/sm/Array/for_of_4.js +M test/staging/sm/Array/from-iterator-close.js +M test/staging/sm/Array/from_basics.js +M test/staging/sm/Array/from_constructor.js +M test/staging/sm/Array/from_errors.js +M test/staging/sm/Array/from_iterable.js +M test/staging/sm/Array/from_length_setter.js +M test/staging/sm/Array/from_mapping.js +M test/staging/sm/Array/from_primitive.js +M test/staging/sm/Array/from_proxy.js +M test/staging/sm/Array/from_realms.js +M test/staging/sm/Array/from_string.js +M test/staging/sm/Array/from_surfaces.js +M test/staging/sm/Array/from_this.js +M test/staging/sm/Array/frozen-dense-array.js +M test/staging/sm/Array/frozen-dict-mode-length.js +M test/staging/sm/Array/getter-name.js +M test/staging/sm/Array/group-callback-evaluation.js +M test/staging/sm/Array/group-propertkey-is-length.js +M test/staging/sm/Array/group.js +M test/staging/sm/Array/includes-trailing-holes.js +M test/staging/sm/Array/includes.js +M test/staging/sm/Array/index-with-null-character.js +M test/staging/sm/Array/indexOf-never-returns-negative-zero.js +M test/staging/sm/Array/indexOf-packed-array.js +M test/staging/sm/Array/isArray.js +M test/staging/sm/Array/join-01.js +M test/staging/sm/Array/join-no-has-trap.js +M test/staging/sm/Array/lastIndexOf-never-returns-negative-zero.js +M test/staging/sm/Array/length-01.js +M test/staging/sm/Array/length-nonwritable-redefine-nop.js +M test/staging/sm/Array/length-set-object.js +M test/staging/sm/Array/length-truncate-nonconfigurable-sparse.js +M test/staging/sm/Array/length-truncate-nonconfigurable.js +M test/staging/sm/Array/length-truncate-with-indexed.js +M test/staging/sm/Array/pop-empty-nonwritable.js +M test/staging/sm/Array/pop-no-has-trap.js +M test/staging/sm/Array/pop-nonarray-higher-elements.js +M test/staging/sm/Array/redefine-length-frozen-array.js +M test/staging/sm/Array/redefine-length-frozen-dictionarymode-array.js +M test/staging/sm/Array/redefine-nonwritable-length-custom-conversion-call-counts.js +M test/staging/sm/Array/redefine-nonwritable-length-custom-conversion-throw.js +M test/staging/sm/Array/redefine-nonwritable-length-nonnumeric.js +M test/staging/sm/Array/regress-386030.js +M test/staging/sm/Array/regress-424954.js +M test/staging/sm/Array/regress-566651.js +M test/staging/sm/Array/regress-599159.js +M test/staging/sm/Array/regress-619970.js +M test/staging/sm/Array/reverse-order-of-low-high-accesses.js +M test/staging/sm/Array/set-with-indexed-property-on-prototype-chain.js +M test/staging/sm/Array/shift-no-has-trap.js +M test/staging/sm/Array/shift_for_in.js +M test/staging/sm/Array/sort-01.js +M test/staging/sm/Array/sort-array-with-holes-and-undefined.js +M test/staging/sm/Array/sort-delete-ascending-order.js +M test/staging/sm/Array/sort-non-function.js +M test/staging/sm/Array/sort-typedarray-with-own-length.js +M test/staging/sm/Array/sort_holes.js +M test/staging/sm/Array/sort_native_string_nan.js +M test/staging/sm/Array/sort_proxy.js +M test/staging/sm/Array/sort_small.js +M test/staging/sm/Array/species.js +M test/staging/sm/Array/splice-return-array-elements-defined-not-set.js +M test/staging/sm/Array/splice-species-changes-length.js +M test/staging/sm/Array/splice-suppresses-unvisited-indexes.js +M test/staging/sm/Array/to-length.js +M test/staging/sm/Array/toLocaleString-01.js +M test/staging/sm/Array/toLocaleString-nointl.js +M test/staging/sm/Array/toLocaleString.js +M test/staging/sm/Array/toSpliced-dense.js +M test/staging/sm/Array/toSpliced.js +M test/staging/sm/Array/toString-01.js +M test/staging/sm/Array/unscopables.js +M test/staging/sm/Array/unshift-01.js +M test/staging/sm/Array/unshift-with-enumeration.js +M test/staging/sm/Array/values.js +M test/staging/sm/Array/with-dense.js +M test/staging/sm/Array/with.js +M test/staging/sm/ArrayBuffer/CloneArrayBuffer.js +M test/staging/sm/ArrayBuffer/bug1777413.js +M test/staging/sm/ArrayBuffer/constructorNotCallable.js +M test/staging/sm/ArrayBuffer/getter-name.js +M test/staging/sm/ArrayBuffer/slice-species.js +M test/staging/sm/AsyncGenerators/async-generator-declaration-in-modules.js +M test/staging/sm/AsyncGenerators/create-function-parse-before-getprototype.js +M test/staging/sm/AsyncGenerators/for-await-bad-syntax.js +M test/staging/sm/AsyncGenerators/for-await-of-error.js +M test/staging/sm/Atomics/cross-compartment.js +M test/staging/sm/Atomics/detached-buffers.js +M test/staging/sm/BigInt/Number-conversion-rounding.js +M test/staging/sm/BigInt/decimal.js +M test/staging/sm/BigInt/large-bit-length.js +M test/staging/sm/BigInt/mod.js +M test/staging/sm/BigInt/property-name.js +M test/staging/sm/Boolean/no-boolean-toJSON.js +M test/staging/sm/DataView/detach-after-construction.js +M test/staging/sm/DataView/get-set-index-range.js +M test/staging/sm/DataView/getter-name.js +M test/staging/sm/Date/UTC-convert-all-arguments.js +M test/staging/sm/Date/constructor-convert-all-arguments.js +M test/staging/sm/Date/constructor-one-Date-argument.js +M test/staging/sm/Date/constructor-one-argument.js +M test/staging/sm/Date/defaultvalue.js +M test/staging/sm/Date/dst-offset-caching-1-of-8.js +M test/staging/sm/Date/dst-offset-caching-2-of-8.js +M test/staging/sm/Date/dst-offset-caching-3-of-8.js +M test/staging/sm/Date/dst-offset-caching-4-of-8.js +M test/staging/sm/Date/dst-offset-caching-5-of-8.js +M test/staging/sm/Date/dst-offset-caching-6-of-8.js +M test/staging/sm/Date/dst-offset-caching-7-of-8.js +M test/staging/sm/Date/dst-offset-caching-8-of-8.js +M test/staging/sm/Date/equality-to-boolean.js +M test/staging/sm/Date/fractions.js +M test/staging/sm/Date/makeday-year-month-is-infinity.js +M test/staging/sm/Date/non-iso.js +M test/staging/sm/Date/prototype-is-not-a-date.js +M test/staging/sm/Date/setTime-argument-shortcircuiting.js +M test/staging/sm/Date/time-components-negative-zero.js +M test/staging/sm/Date/timeclip.js +M test/staging/sm/Date/to-temporal-instant.js +M test/staging/sm/Date/toISOString-01.js +M test/staging/sm/Date/toISOString.js +M test/staging/sm/Date/toJSON-01.js +M test/staging/sm/Date/toPrimitive.js +M test/staging/sm/Date/toString-generic.js +M test/staging/sm/Date/two-digit-years.js +M test/staging/sm/Error/AggregateError.js +M test/staging/sm/Error/constructor-ordering.js +M test/staging/sm/Error/constructor-proto.js +M test/staging/sm/Error/isError.js +M test/staging/sm/Error/prototype-properties.js +M test/staging/sm/Error/prototype.js +M test/staging/sm/Exceptions/error-expando-reconfigure.js +M test/staging/sm/Exceptions/error-property-enumerability.js +M test/staging/sm/Function/10.2.1.1.6.js +M test/staging/sm/Function/15.3.4.3-01.js +M test/staging/sm/Function/Function-prototype.js +M test/staging/sm/Function/Function-with-eval.js +M test/staging/sm/Function/arguments-caller-callee.js +M test/staging/sm/Function/arguments-extra-property.js +M test/staging/sm/Function/arguments-iterator.js +M test/staging/sm/Function/arguments-parameter-shadowing.js +M test/staging/sm/Function/arguments-property-attributes.js +M test/staging/sm/Function/arrow-has-duplicated.js +M test/staging/sm/Function/bound-length-and-name.js +M test/staging/sm/Function/bound-non-constructable.js +M test/staging/sm/Function/builtin-no-construct.js +M test/staging/sm/Function/builtin-no-prototype.js +M test/staging/sm/Function/configurable-length-builtins.js +M test/staging/sm/Function/configurable-length.js +M test/staging/sm/Function/constructor-binding.js +M test/staging/sm/Function/create-function-parse-before-getprototype.js +M test/staging/sm/Function/function-bind.js +M test/staging/sm/Function/function-call.js +M test/staging/sm/Function/function-caller-restrictions.js +M test/staging/sm/Function/function-caller.js +M test/staging/sm/Function/function-constructor-toString-arguments-before-parsing-params.js +M test/staging/sm/Function/function-name-assignment.js +M test/staging/sm/Function/function-name-binding.js +M test/staging/sm/Function/function-name-class.js +M test/staging/sm/Function/function-name-computed-01.js +M test/staging/sm/Function/function-name-computed-02.js +M test/staging/sm/Function/function-name-for.js +M test/staging/sm/Function/function-name-method.js +M test/staging/sm/Function/function-name-property.js +M test/staging/sm/Function/function-name.js +M test/staging/sm/Function/function-toString-builtin-name.js +M test/staging/sm/Function/has-instance-jitted.js +M test/staging/sm/Function/has-instance.js +M test/staging/sm/Function/implicit-this-in-parameter-expression.js +M test/staging/sm/Function/invalid-parameter-list.js +M test/staging/sm/Function/line-terminator-before-arrow.js +M test/staging/sm/Function/method-has-duplicated.js +M test/staging/sm/Function/parameter-redeclaration.js +M test/staging/sm/Function/redefine-arguments-length.js +M test/staging/sm/Function/regress-518103.js +M test/staging/sm/Function/regress-524826.js +M test/staging/sm/Function/regress-528082.js +M test/staging/sm/Function/regress-533254.js +M test/staging/sm/Function/regress-545980.js +M test/staging/sm/Function/rest-has-duplicated.js +M test/staging/sm/Function/rest-parameter-names.js +M test/staging/sm/Function/return-finally.js +M test/staging/sm/Function/spread-iterator-primitive.js +M test/staging/sm/Function/strict-arguments.js +M test/staging/sm/Function/throw-type-error.js +M test/staging/sm/Iterator/constructor-subclassable.js +M test/staging/sm/Iterator/constructor-throw-when-called-directly.js +M test/staging/sm/Iterator/constructor-throw-without-new.js +M test/staging/sm/Iterator/constructor.js +M test/staging/sm/Iterator/from/Iterator.from-descriptor.js +M test/staging/sm/Iterator/from/Iterator.from-length.js +M test/staging/sm/Iterator/from/Iterator.from-name.js +M test/staging/sm/Iterator/from/call-from-with-different-this.js +M test/staging/sm/Iterator/from/iterator-not-callable-throws.js +M test/staging/sm/Iterator/from/modify-next.js +M test/staging/sm/Iterator/from/modify-return.js +M test/staging/sm/Iterator/from/o-not-object-throws.js +M test/staging/sm/Iterator/from/proxy-not-wrapped.js +M test/staging/sm/Iterator/from/proxy-wrap-next.js +M test/staging/sm/Iterator/from/proxy-wrap-return.js +M test/staging/sm/Iterator/from/return-iterator-if-iterable.js +M test/staging/sm/Iterator/from/return-wrapper-if-not-iterable.js +M test/staging/sm/Iterator/from/return-wrapper-if-not-iterator-instance.js +M test/staging/sm/Iterator/from/wrap-functions-on-other-global.js +M test/staging/sm/Iterator/from/wrap-method-with-non-wrap-this-throws.js +M test/staging/sm/Iterator/from/wrap-new-global.js +M test/staging/sm/Iterator/from/wrap-next-forwards-value.js +M test/staging/sm/Iterator/from/wrap-next-not-object-throws.js +M test/staging/sm/Iterator/from/wrap-return-closes-iterator.js +M test/staging/sm/Iterator/iterator.js +M test/staging/sm/Iterator/length.js +M test/staging/sm/Iterator/name.js +M test/staging/sm/Iterator/proto.js +M test/staging/sm/Iterator/prototype/drop/drop-more-than-available.js +M test/staging/sm/Iterator/prototype/drop/length.js +M test/staging/sm/Iterator/prototype/drop/name.js +M test/staging/sm/Iterator/prototype/every/check-fn-after-getting-iterator.js +M test/staging/sm/Iterator/prototype/every/coerce-result-to-boolean.js +M test/staging/sm/Iterator/prototype/every/descriptor.js +M test/staging/sm/Iterator/prototype/every/error-from-correct-realm.js +M test/staging/sm/Iterator/prototype/every/fn-not-callable-throws.js +M test/staging/sm/Iterator/prototype/every/fn-throws-close-iterator.js +M test/staging/sm/Iterator/prototype/every/length.js +M test/staging/sm/Iterator/prototype/every/name.js +M test/staging/sm/Iterator/prototype/every/next-throws-iterator-not-closed.js +M test/staging/sm/Iterator/prototype/every/proxy.js +M test/staging/sm/Iterator/prototype/every/return-true-if-all-match.js +M test/staging/sm/Iterator/prototype/every/short-circuit-on-false.js +M test/staging/sm/Iterator/prototype/every/this-not-iterator-throws.js +M test/staging/sm/Iterator/prototype/every/value-throws-iterator-not-closed.js +M test/staging/sm/Iterator/prototype/filter/coerce-result-to-boolean.js +M test/staging/sm/Iterator/prototype/filter/length.js +M test/staging/sm/Iterator/prototype/filter/name.js +M test/staging/sm/Iterator/prototype/find/check-fn-after-getting-iterator.js +M test/staging/sm/Iterator/prototype/find/coerce-result-to-boolean.js +M test/staging/sm/Iterator/prototype/find/descriptor.js +M test/staging/sm/Iterator/prototype/find/error-from-correct-realm.js +M test/staging/sm/Iterator/prototype/find/fn-not-callable-throws.js +M test/staging/sm/Iterator/prototype/find/fn-throws-close-iterator.js +M test/staging/sm/Iterator/prototype/find/length.js +M test/staging/sm/Iterator/prototype/find/name.js +M test/staging/sm/Iterator/prototype/find/next-throws-iterator-not-closed.js +M test/staging/sm/Iterator/prototype/find/proxy.js +M test/staging/sm/Iterator/prototype/find/return-undefined-if-none-match.js +M test/staging/sm/Iterator/prototype/find/short-circuit-on-match.js +M test/staging/sm/Iterator/prototype/find/this-not-iterator-throws.js +M test/staging/sm/Iterator/prototype/find/value-throws-iterator-not-closed.js +M test/staging/sm/Iterator/prototype/flatMap/close-iterator-when-inner-complete-throws.js +M test/staging/sm/Iterator/prototype/flatMap/close-iterator-when-inner-next-throws.js +M test/staging/sm/Iterator/prototype/flatMap/close-iterator-when-inner-value-throws.js +M test/staging/sm/Iterator/prototype/flatMap/inner-empty-iterable.js +M test/staging/sm/Iterator/prototype/flatMap/inner-generator.js +M test/staging/sm/Iterator/prototype/flatMap/length.js +M test/staging/sm/Iterator/prototype/flatMap/name.js +M test/staging/sm/Iterator/prototype/flatMap/throw-when-inner-not-iterable.js +M test/staging/sm/Iterator/prototype/forEach/check-fn-after-getting-iterator.js +M test/staging/sm/Iterator/prototype/forEach/descriptor.js +M test/staging/sm/Iterator/prototype/forEach/error-from-correct-realm.js +M test/staging/sm/Iterator/prototype/forEach/fn-not-callable-throws.js +M test/staging/sm/Iterator/prototype/forEach/fn-throws-close-iterator.js +M test/staging/sm/Iterator/prototype/forEach/forEach.js +M test/staging/sm/Iterator/prototype/forEach/length.js +M test/staging/sm/Iterator/prototype/forEach/name.js +M test/staging/sm/Iterator/prototype/forEach/next-throws-iterator-not-closed.js +M test/staging/sm/Iterator/prototype/forEach/proxy.js +M test/staging/sm/Iterator/prototype/forEach/this-not-iterator-throws.js +M test/staging/sm/Iterator/prototype/forEach/value-throws-iterator-not-closed.js +M test/staging/sm/Iterator/prototype/generator-methods-throw-on-iterator-helpers.js +M test/staging/sm/Iterator/prototype/iterator-helper-methods-throw-on-generators.js +M test/staging/sm/Iterator/prototype/iterator-helpers-from-other-global.js +M test/staging/sm/Iterator/prototype/lazy-methods-from-other-global.js +M test/staging/sm/Iterator/prototype/lazy-methods-handle-empty-iterators.js +M test/staging/sm/Iterator/prototype/lazy-methods-interleaved.js +M test/staging/sm/Iterator/prototype/lazy-methods-iterator-closed-on-call-throws.js +M test/staging/sm/Iterator/prototype/lazy-methods-iterator-closed-on-yield-throws.js +M test/staging/sm/Iterator/prototype/lazy-methods-iterator-not-closed-on-next-throws.js +M test/staging/sm/Iterator/prototype/lazy-methods-iterator-not-closed-on-value-throws.js +M test/staging/sm/Iterator/prototype/lazy-methods-iterator-returns-done-generator-finishes.js +M test/staging/sm/Iterator/prototype/lazy-methods-multiple-return-close-iterator-once.js +M test/staging/sm/Iterator/prototype/lazy-methods-pass-through-lastValue.js +M test/staging/sm/Iterator/prototype/lazy-methods-pass-value-through-chain.js +M test/staging/sm/Iterator/prototype/lazy-methods-proxy-accesses.js +M test/staging/sm/Iterator/prototype/lazy-methods-reentry-not-close-iterator.js +M test/staging/sm/Iterator/prototype/lazy-methods-return-closes-iterator.js +M test/staging/sm/Iterator/prototype/lazy-methods-return-new-iterator-result.js +M test/staging/sm/Iterator/prototype/lazy-methods-throw-eagerly-on-next-non-callable.js +M test/staging/sm/Iterator/prototype/lazy-methods-throw-eagerly-on-non-callable.js +M test/staging/sm/Iterator/prototype/lazy-methods-throw-eagerly-on-non-iterator.js +M test/staging/sm/Iterator/prototype/lazy-methods-throw-next-done-throws.js +M test/staging/sm/Iterator/prototype/lazy-methods-throw-next-not-object.js +M test/staging/sm/Iterator/prototype/lazy-methods-throw-on-reentry.js +M test/staging/sm/Iterator/prototype/map/call-next-on-iterator-while-iterating.js +M test/staging/sm/Iterator/prototype/map/clobber-symbol.js +M test/staging/sm/Iterator/prototype/map/interleaved-map-calls.js +M test/staging/sm/Iterator/prototype/map/length.js +M test/staging/sm/Iterator/prototype/map/map.js +M test/staging/sm/Iterator/prototype/map/mapper-not-callable-throw.js +M test/staging/sm/Iterator/prototype/map/mutate-iterator-after-done.js +M test/staging/sm/Iterator/prototype/map/mutate-iterator.js +M test/staging/sm/Iterator/prototype/map/name.js +M test/staging/sm/Iterator/prototype/map/output-at-generator-end.js +M test/staging/sm/Iterator/prototype/map/pass-lastValue-to-next.js +M test/staging/sm/Iterator/prototype/map/proxy-abrupt-completion-in-iteratorValue.js +M test/staging/sm/Iterator/prototype/map/proxy-abrupt-completion-in-yield.js +M test/staging/sm/Iterator/prototype/map/proxy-abrupt-completion.js +M test/staging/sm/Iterator/prototype/map/proxy-accesses.js +M test/staging/sm/Iterator/prototype/map/reenter-map-generator-from-mapper.js +M test/staging/sm/Iterator/prototype/map/this-not-iterator-throw.js +M test/staging/sm/Iterator/prototype/map/this-value-array-throws.js +M test/staging/sm/Iterator/prototype/map/throw-when-iterator-returns-non-object.js +M test/staging/sm/Iterator/prototype/map/values-pass-through-chained-maps-to-next.js +M test/staging/sm/Iterator/prototype/reduce/accumulator-set-to-initial-value.js +M test/staging/sm/Iterator/prototype/reduce/check-fn-after-getting-iterator.js +M test/staging/sm/Iterator/prototype/reduce/descriptor.js +M test/staging/sm/Iterator/prototype/reduce/empty-iterator-without-initial-value-throws.js +M test/staging/sm/Iterator/prototype/reduce/error-from-correct-realm.js +M test/staging/sm/Iterator/prototype/reduce/iterator-empty-return-initial-value.js +M test/staging/sm/Iterator/prototype/reduce/iterator-next-return-non-object-throws.js +M test/staging/sm/Iterator/prototype/reduce/left-associative.js +M test/staging/sm/Iterator/prototype/reduce/length.js +M test/staging/sm/Iterator/prototype/reduce/name.js +M test/staging/sm/Iterator/prototype/reduce/next-throws-iterator-not-closed.js +M test/staging/sm/Iterator/prototype/reduce/no-initial-value-set-accumulator-to-first-value.js +M test/staging/sm/Iterator/prototype/reduce/proxy.js +M test/staging/sm/Iterator/prototype/reduce/reduce.js +M test/staging/sm/Iterator/prototype/reduce/reducer-not-callable-throws.js +M test/staging/sm/Iterator/prototype/reduce/reducer-throws-iterator-closed.js +M test/staging/sm/Iterator/prototype/reduce/this-not-iterator-throws.js +M test/staging/sm/Iterator/prototype/reduce/value-throws-iterator-not-closed.js +M test/staging/sm/Iterator/prototype/some/check-fn-after-getting-iterator.js +M test/staging/sm/Iterator/prototype/some/coerce-result-to-boolean.js +M test/staging/sm/Iterator/prototype/some/descriptor.js +M test/staging/sm/Iterator/prototype/some/error-from-correct-realm.js +M test/staging/sm/Iterator/prototype/some/fn-not-callable-throws.js +M test/staging/sm/Iterator/prototype/some/fn-throws-close-iterator.js +M test/staging/sm/Iterator/prototype/some/length.js +M test/staging/sm/Iterator/prototype/some/name.js +M test/staging/sm/Iterator/prototype/some/next-throws-iterator-not-closed.js +M test/staging/sm/Iterator/prototype/some/proxy.js +M test/staging/sm/Iterator/prototype/some/return-false-if-none-match.js +M test/staging/sm/Iterator/prototype/some/short-circuit-on-true.js +M test/staging/sm/Iterator/prototype/some/this-not-iterator-throws.js +M test/staging/sm/Iterator/prototype/some/value-throws-iterator-not-closed.js +M test/staging/sm/Iterator/prototype/take/close-iterator-when-none-remaining.js +M test/staging/sm/Iterator/prototype/take/length.js +M test/staging/sm/Iterator/prototype/take/name.js +M test/staging/sm/Iterator/prototype/take/take-more-than-available.js +M test/staging/sm/Iterator/prototype/take-drop-throw-eagerly-on-negative.js +M test/staging/sm/Iterator/prototype/take-drop-throw-eagerly-on-non-integer.js +M test/staging/sm/Iterator/prototype/toArray/create-in-current-realm.js +M test/staging/sm/Iterator/prototype/toArray/descriptor.js +M test/staging/sm/Iterator/prototype/toArray/iterator-empty.js +M test/staging/sm/Iterator/prototype/toArray/length.js +M test/staging/sm/Iterator/prototype/toArray/name.js +M test/staging/sm/Iterator/prototype/toArray/next-throws.js +M test/staging/sm/Iterator/prototype/toArray/proxy.js +M test/staging/sm/Iterator/prototype/toArray/this-not-iterator-throws.js +M test/staging/sm/Iterator/prototype/toArray/toArray.js +M test/staging/sm/Iterator/prototype/toArray/value-throws-iterator-not-closed.js +M test/staging/sm/JSON/cyclic-stringify-unrelated.js +M test/staging/sm/JSON/cyclic-stringify.js +M test/staging/sm/JSON/parse-arguments.js +M test/staging/sm/JSON/parse-crockford-01.js +M test/staging/sm/JSON/parse-mega-huge-array.js +M test/staging/sm/JSON/parse-primitives.js +M test/staging/sm/JSON/parse-reviver-array-delete.js +M test/staging/sm/JSON/parse-reviver.js +M test/staging/sm/JSON/parse-with-source.js +M test/staging/sm/JSON/parse.js +M test/staging/sm/JSON/regress-459293.js +M test/staging/sm/JSON/stringify-boxed-primitives.js +M test/staging/sm/JSON/stringify-call-replacer-once.js +M test/staging/sm/JSON/stringify-call-toJSON-once.js +M test/staging/sm/JSON/stringify-dropping-elements.js +M test/staging/sm/JSON/stringify-gap.js +M test/staging/sm/JSON/stringify-ignore-noncallable-toJSON.js +M test/staging/sm/JSON/stringify-large-replacer-array.js +M test/staging/sm/JSON/stringify-missing-arguments.js +M test/staging/sm/JSON/stringify-nonarray-noncallable-replacer.js +M test/staging/sm/JSON/stringify-primitives.js +M test/staging/sm/JSON/stringify-replacer-array-boxed-elements.js +M test/staging/sm/JSON/stringify-replacer-array-duplicated-element.js +M test/staging/sm/JSON/stringify-replacer-array-edgecase-jsid-elements.js +M test/staging/sm/JSON/stringify-replacer-array-hijinks.js +M test/staging/sm/JSON/stringify-replacer-array-skipped-element.js +M test/staging/sm/JSON/stringify-replacer-array-trailing-holes.js +M test/staging/sm/JSON/stringify-replacer-with-array-indexes.js +M test/staging/sm/JSON/stringify-replacer.js +M test/staging/sm/JSON/stringify-special-escapes.js +M test/staging/sm/JSON/stringify-toJSON-arguments.js +M test/staging/sm/JSON/stringify.js +M test/staging/sm/Map/NaN-as-key.js +M test/staging/sm/Map/constructor-iterator-close.js +M test/staging/sm/Map/constructor-iterator-primitive.js +M test/staging/sm/Map/forEach-selfhosted-behavior.js +M test/staging/sm/Map/getter-name.js +M test/staging/sm/Map/iterable.js +M test/staging/sm/Map/iterator-thisv-error.js +M test/staging/sm/Map/symbols.js +M test/staging/sm/Math/20.2.2.ToNumber.js +M test/staging/sm/Math/acosh-approx.js +M test/staging/sm/Math/acosh-exact.js +M test/staging/sm/Math/asinh-approx.js +M test/staging/sm/Math/asinh-exact.js +M test/staging/sm/Math/atanh-approx.js +M test/staging/sm/Math/atanh-exact.js +M test/staging/sm/Math/cbrt-approx.js +M test/staging/sm/Math/cbrt-exact.js +M test/staging/sm/Math/clz32.js +M test/staging/sm/Math/cosh-approx.js +M test/staging/sm/Math/cosh-exact.js +M test/staging/sm/Math/exp-exact.js +M test/staging/sm/Math/expm1-approx.js +M test/staging/sm/Math/expm1-exact.js +M test/staging/sm/Math/expm1-monotonicity.js +M test/staging/sm/Math/f16round.js +M test/staging/sm/Math/fround.js +M test/staging/sm/Math/log10-approx.js +M test/staging/sm/Math/log10-exact.js +M test/staging/sm/Math/log1p-approx.js +M test/staging/sm/Math/log1p-exact.js +M test/staging/sm/Math/log2-approx.js +M test/staging/sm/Math/log2-exact.js +M test/staging/sm/Math/sign.js +M test/staging/sm/Math/sinh-approx.js +M test/staging/sm/Math/sinh-exact.js +M test/staging/sm/Math/tanh-approx.js +M test/staging/sm/Math/tanh-exact.js +M test/staging/sm/Math/trunc.js +M test/staging/sm/Number/0x-without-following-hexdigits.js +M test/staging/sm/Number/15.7.3.7-EPSILON.js +M test/staging/sm/Number/20.1.2.10-MIN_SAFE_INTEGER.js +M test/staging/sm/Number/20.1.2.6-MAX_SAFE_INTEGER.js +M test/staging/sm/Number/20.1.3.2-toExponential.js +M test/staging/sm/Number/20.1.3.2-toPrecision.js +M test/staging/sm/Number/20.1.3.3-toFixed.js +M test/staging/sm/Number/conversion-invalid-precision.js +M test/staging/sm/Number/defaultvalue.js +M test/staging/sm/Number/isSafeInteger-01.js +M test/staging/sm/Number/numericSeparator.js +M test/staging/sm/Number/parseFloat-01.js +M test/staging/sm/Number/parseInt-01.js +M test/staging/sm/Number/parseInt-default-to-decimal.js +M test/staging/sm/Number/toExponential-values.js +M test/staging/sm/Number/toFixed-values.js +M test/staging/sm/Number/toPrecision-values.js +M test/staging/sm/Number/toString-radix-handling.js +M test/staging/sm/Number/tonumber-string-hex.js +M test/staging/sm/PrivateName/constructor-args.js +M test/staging/sm/PrivateName/error-outside-class.js +M test/staging/sm/PrivateName/home-object-when-preceded-by-computed-key.js +M test/staging/sm/PrivateName/illegal-in-class-context.js +M test/staging/sm/PrivateName/illegal-in-identifier-context.js +M test/staging/sm/PrivateName/illegal-in-object-context.js +M test/staging/sm/PrivateName/lexical-presence.js +M test/staging/sm/PrivateName/modify-non-extensible.js +M test/staging/sm/PrivateName/names.js +M test/staging/sm/PrivateName/nested-class-in-computed-property-key.js +M test/staging/sm/PrivateName/nested-class-name-used.js +M test/staging/sm/PrivateName/not-iterable.js +M test/staging/sm/PrivateName/parse-utf8-non-ascii-identifier.js +M test/staging/sm/PrivateName/proxy-1.js +M test/staging/sm/PrivateName/proxy-init-set.js +M test/staging/sm/PrivateName/read-private-eval.js +M test/staging/sm/PrivateName/unicode-names.js +M test/staging/sm/Promise/bug-1287334.js +M test/staging/sm/Promise/bug-1288382.js +M test/staging/sm/Promise/bug-1289040.js +M test/staging/sm/Promise/for-of-iterator-uses-getv.js +M test/staging/sm/Promise/methods-non-enumerable.js +M test/staging/sm/Promise/promise-species.js +M test/staging/sm/Proxy/define-writable-as-non-writable.js +M test/staging/sm/Proxy/delete-non-extensible.js +M test/staging/sm/Proxy/getPrototypeOf.js +M test/staging/sm/Proxy/global-receiver.js +M test/staging/sm/Proxy/hasInstance.js +M test/staging/sm/Proxy/json-stringify-replacer-array-revocable-proxy.js +M test/staging/sm/Proxy/ownkeys-allowed-types.js +M test/staging/sm/Proxy/ownkeys-linear.js +M test/staging/sm/Proxy/ownkeys-trap-duplicates.js +M test/staging/sm/Proxy/proxy-__proto__.js +M test/staging/sm/Proxy/proxy-constructNonObject.js +M test/staging/sm/Proxy/proxy-no-receiver-overwrite.js +M test/staging/sm/Proxy/proxy-proto-lazy-props.js +M test/staging/sm/Proxy/proxy-with-revoked-arguments.js +M test/staging/sm/Proxy/regress-bug1037770.js +M test/staging/sm/Proxy/regress-bug1062349.js +M test/staging/sm/Proxy/regress-bug950407.js +M test/staging/sm/Proxy/report-writable-as-non-writable.js +M test/staging/sm/Proxy/revocable-proxy-prototype.js +M test/staging/sm/Proxy/revoke-as-side-effect.js +M test/staging/sm/Proxy/revoke-no-name.js +M test/staging/sm/Proxy/revoked-get-function-realm-typeerror.js +M test/staging/sm/Proxy/setPrototypeOf.js +M test/staging/sm/Proxy/trap-null.js +M test/staging/sm/Reflect/apply.js +M test/staging/sm/Reflect/argumentsList.js +M test/staging/sm/Reflect/construct.js +M test/staging/sm/Reflect/defineProperty.js +M test/staging/sm/Reflect/deleteProperty.js +M test/staging/sm/Reflect/get.js +M test/staging/sm/Reflect/getOwnPropertyDescriptor.js +M test/staging/sm/Reflect/getPrototypeOf.js +M test/staging/sm/Reflect/has.js +M test/staging/sm/Reflect/isExtensible.js +M test/staging/sm/Reflect/ownKeys.js +M test/staging/sm/Reflect/preventExtensions.js +M test/staging/sm/Reflect/propertyKeys.js +M test/staging/sm/Reflect/set.js +M test/staging/sm/Reflect/setPrototypeOf.js +M test/staging/sm/Reflect/surfaces.js +M test/staging/sm/Reflect/target.js +M test/staging/sm/RegExp/15.10.5-01.js +M test/staging/sm/RegExp/15.10.7.5-01.js +M test/staging/sm/RegExp/7.8.5-01.js +M test/staging/sm/RegExp/RegExpExec-exec-type-check.js +M test/staging/sm/RegExp/RegExpExec-exec.js +M test/staging/sm/RegExp/RegExpExec-return.js +M test/staging/sm/RegExp/character-class-escape-s.js +M test/staging/sm/RegExp/class-null.js +M test/staging/sm/RegExp/compile-lastIndex.js +M test/staging/sm/RegExp/constructor-IsRegExp.js +M test/staging/sm/RegExp/constructor-constructor.js +M test/staging/sm/RegExp/constructor-ordering-2.js +M test/staging/sm/RegExp/constructor-ordering.js +M test/staging/sm/RegExp/constructor-regexp-unicode.js +M test/staging/sm/RegExp/constructor-regexp.js +M test/staging/sm/RegExp/cross-compartment-getter.js +M test/staging/sm/RegExp/descriptor.js +M test/staging/sm/RegExp/empty-lookahead.js +M test/staging/sm/RegExp/escape.js +M test/staging/sm/RegExp/exec-lastIndex-ToInteger.js +M test/staging/sm/RegExp/exec-lastIndex-negative.js +M test/staging/sm/RegExp/exec.js +M test/staging/sm/RegExp/flag-accessors.js +M test/staging/sm/RegExp/flags-param-handling.js +M test/staging/sm/RegExp/flags.js +M test/staging/sm/RegExp/getter-name.js +M test/staging/sm/RegExp/ignoreCase-multiple.js +M test/staging/sm/RegExp/ignoreCase-non-latin1-to-latin1.js +M test/staging/sm/RegExp/instance-property-storage-introspection.js +M test/staging/sm/RegExp/lastIndex-exec.js +M test/staging/sm/RegExp/lastIndex-match-or-replace.js +M test/staging/sm/RegExp/lastIndex-nonwritable.js +M test/staging/sm/RegExp/lastIndex-search.js +M test/staging/sm/RegExp/match-local-tolength-recompilation.js +M test/staging/sm/RegExp/match-this.js +M test/staging/sm/RegExp/match-trace.js +M test/staging/sm/RegExp/match.js +M test/staging/sm/RegExp/prototype-different-global.js +M test/staging/sm/RegExp/prototype.js +M test/staging/sm/RegExp/regress-yarr-regexp.js +M test/staging/sm/RegExp/replace-compile-elembase.js +M test/staging/sm/RegExp/replace-compile.js +M test/staging/sm/RegExp/replace-global-unicode.js +M test/staging/sm/RegExp/replace-local-tolength-lastindex.js +M test/staging/sm/RegExp/replace-local-tolength-recompilation.js +M test/staging/sm/RegExp/replace-sticky-lastIndex.js +M test/staging/sm/RegExp/replace-sticky.js +M test/staging/sm/RegExp/replace-this.js +M test/staging/sm/RegExp/replace-trace.js +M test/staging/sm/RegExp/replace-twoBytes.js +M test/staging/sm/RegExp/replace.js +M test/staging/sm/RegExp/search-this.js +M test/staging/sm/RegExp/search-trace.js +M test/staging/sm/RegExp/search.js +M test/staging/sm/RegExp/source.js +M test/staging/sm/RegExp/split-deleted-flags.js +M test/staging/sm/RegExp/split-flags-on-obj.js +M test/staging/sm/RegExp/split-invalid-lastIndex.js +M test/staging/sm/RegExp/split-limit.js +M test/staging/sm/RegExp/split-obj.js +M test/staging/sm/RegExp/split-prop-access.js +M test/staging/sm/RegExp/split-this.js +M test/staging/sm/RegExp/split-trace.js +M test/staging/sm/RegExp/split.js +M test/staging/sm/RegExp/sticky.js +M test/staging/sm/RegExp/test-emptyMatch.js +M test/staging/sm/RegExp/test-trailing.js +M test/staging/sm/RegExp/toString.js +M test/staging/sm/RegExp/unicode-back-reference.js +M test/staging/sm/RegExp/unicode-braced.js +M test/staging/sm/RegExp/unicode-character-class-escape.js +M test/staging/sm/RegExp/unicode-class-braced.js +M test/staging/sm/RegExp/unicode-class-empty.js +M test/staging/sm/RegExp/unicode-class-ignoreCase.js +M test/staging/sm/RegExp/unicode-class-lead-trail.js +M test/staging/sm/RegExp/unicode-class-negated.js +M test/staging/sm/RegExp/unicode-class-range.js +M test/staging/sm/RegExp/unicode-class-raw.js +M test/staging/sm/RegExp/unicode-disallow-extended.js +M test/staging/sm/RegExp/unicode-everything.js +M test/staging/sm/RegExp/unicode-ignoreCase-ascii.js +M test/staging/sm/RegExp/unicode-ignoreCase-escape.js +M test/staging/sm/RegExp/unicode-ignoreCase-negated.js +M test/staging/sm/RegExp/unicode-ignoreCase-word-boundary.js +M test/staging/sm/RegExp/unicode-ignoreCase.js +M test/staging/sm/RegExp/unicode-lead-trail.js +M test/staging/sm/RegExp/unicode-raw.js +M test/staging/sm/Set/difference.js +M test/staging/sm/Set/intersection.js +M test/staging/sm/Set/is-disjoint-from.js +M test/staging/sm/Set/is-subset-of.js +M test/staging/sm/Set/is-superset-of.js +M test/staging/sm/Set/symmetric-difference.js +M test/staging/sm/Set/union.js +M test/staging/sm/String/15.5.4.11-01.js +M test/staging/sm/String/15.5.4.7.js +M test/staging/sm/String/AdvanceStringIndex.js +M test/staging/sm/String/IsRegExp.js +M test/staging/sm/String/at.js +M test/staging/sm/String/codePointAt.js +M test/staging/sm/String/defaultvalue.js +M test/staging/sm/String/fromCodePoint.js +M test/staging/sm/String/internalUsage.js +M test/staging/sm/String/iterator_edge_cases.js +M test/staging/sm/String/match-GetMethod.js +M test/staging/sm/String/match-defines-match-elements.js +M test/staging/sm/String/match-forward-lookahead.js +M test/staging/sm/String/match-throws-nonwritable-lastIndex-global.js +M test/staging/sm/String/match-updates-global-lastIndex.js +M test/staging/sm/String/match.js +M test/staging/sm/String/matchAll.js +M test/staging/sm/String/normalize-form-non-atom.js +D test/staging/sm/String/normalize-generateddata-input.js +M test/staging/sm/String/normalize-generic.js +M test/staging/sm/String/normalize-parameter.js +M test/staging/sm/String/normalize-rope.js +M test/staging/sm/String/raw.js +M test/staging/sm/String/regress-369778.js +M test/staging/sm/String/replace-GetMethod.js +M test/staging/sm/String/replace-bad-dollar-single-quote.js +M test/staging/sm/String/replace-flags.js +M test/staging/sm/String/replace-math.js +M test/staging/sm/String/replace-throws-nonwritable-lastIndex-global.js +M test/staging/sm/String/replace-updates-global-lastIndex.js +M test/staging/sm/String/replace.js +M test/staging/sm/String/replaceAll.js +M test/staging/sm/String/search-GetMethod.js +M test/staging/sm/String/search.js +M test/staging/sm/String/split-01.js +M test/staging/sm/String/split-GetMethod.js +M test/staging/sm/String/split-order.js +M test/staging/sm/String/split-undefined-separator.js +M test/staging/sm/String/split-xregexp.js +M test/staging/sm/String/split.js +M test/staging/sm/String/string-code-point-upper-lower-mapping.js +M test/staging/sm/String/string-pad-start-end.js +M test/staging/sm/String/string-space-trim.js +M test/staging/sm/String/string-upper-lower-mapping.js +M test/staging/sm/String/thisv-error.js +M test/staging/sm/String/two-length-nonlatin-indexOf.js +M test/staging/sm/String/unicode-braced.js +M test/staging/sm/Symbol/as-base-value.js +M test/staging/sm/Symbol/comparisons.js +M test/staging/sm/Symbol/constructor.js +M test/staging/sm/Symbol/conversions.js +M test/staging/sm/Symbol/enumeration-order.js +M test/staging/sm/Symbol/enumeration.js +M test/staging/sm/Symbol/equality.js +M test/staging/sm/Symbol/errors.js +M test/staging/sm/Symbol/for-in-order.js +M test/staging/sm/Symbol/for.js +M test/staging/sm/Symbol/json-stringify-keys.js +M test/staging/sm/Symbol/json-stringify-values.js +M test/staging/sm/Symbol/keyFor.js +M test/staging/sm/Symbol/property-accessor.js +M test/staging/sm/Symbol/property-basics.js +M test/staging/sm/Symbol/property-inheritance.js +M test/staging/sm/Symbol/property-nonwritable.js +M test/staging/sm/Symbol/property-reflection.js +M test/staging/sm/Symbol/realms.js +M test/staging/sm/Symbol/species.js +M test/staging/sm/Symbol/surfaces.js +M test/staging/sm/Symbol/symbol-object-not-unboxed-for-value-to-id.js +M test/staging/sm/Symbol/toPrimitive-undefined-or-null.js +M test/staging/sm/Symbol/toPrimitive.js +M test/staging/sm/Symbol/toString.js +M test/staging/sm/Symbol/toStringTag.js +M test/staging/sm/Symbol/typed-arrays.js +M test/staging/sm/Symbol/typeof.js +M test/staging/sm/Symbol/valueOf.js +M test/staging/sm/Symbol/well-known.js +M test/staging/sm/Temporal/Calendar/compare-to-datetimeformat.js +M test/staging/sm/Temporal/PlainDate/from-constrain-hebrew.js +M test/staging/sm/Temporal/PlainDate/from-constrain-japanese.js +M test/staging/sm/Temporal/PlainDate/from-hebrew-keviah.js +M test/staging/sm/Temporal/PlainDate/from-indian.js +M test/staging/sm/Temporal/PlainDate/from-islamic-umalqura.js M test/staging/sm/Temporal/PlainDate/non-positive-era-year.js -A test/staging/top-level-await/grandparent-tla_FIXTURE.js -A test/staging/top-level-await/parent-tla_FIXTURE.js -A test/staging/top-level-await/tla-hang-entry.js -A test/staging/top-level-await/tla_FIXTURE.js -D test/staging/upsert/WeakMap/getOrInsertComputed/length.js -D test/staging/upsert/WeakMap/getOrInsertComputed/name.js \ No newline at end of file +M test/staging/sm/Temporal/PlainDate/too-large-dates.js +M test/staging/sm/Temporal/PlainDate/withCalendar.js +M test/staging/sm/Temporal/PlainMonthDay/from-chinese-leap-month-common.js +M test/staging/sm/Temporal/PlainMonthDay/from-chinese-leap-month-uncommon.js +M test/staging/sm/Temporal/PlainMonthDay/from-chinese.js +M test/staging/sm/Temporal/PlainMonthDay/from-coptic.js +M test/staging/sm/Temporal/PlainMonthDay/from-gregory.js +M test/staging/sm/Temporal/PlainMonthDay/result-not-after-1972-dec-31.js +M test/staging/sm/Temporal/ZonedDateTime/zones-and-links.js +M test/staging/sm/TypedArray/Tconstructor-fromTypedArray-byteLength.js +M test/staging/sm/TypedArray/at.js +M test/staging/sm/TypedArray/bug1526838.js +M test/staging/sm/TypedArray/constructor-ArrayBuffer-species-wrap.js +M test/staging/sm/TypedArray/constructor-ArrayBuffer-species.js +M test/staging/sm/TypedArray/constructor-buffer-sequence.js +M test/staging/sm/TypedArray/constructor-byteoffsets-bounds.js +M test/staging/sm/TypedArray/constructor-iterator-primitive.js +M test/staging/sm/TypedArray/constructor-non-detached.js +M test/staging/sm/TypedArray/constructor-not-callable.js +M test/staging/sm/TypedArray/constructor-typedarray-species-other-global.js +M test/staging/sm/TypedArray/constructor-undefined-args.js +M test/staging/sm/TypedArray/constructor_bad-args.js +M test/staging/sm/TypedArray/detached-array-buffer-checks.js +M test/staging/sm/TypedArray/element-setting-converts-using-ToNumber.js +M test/staging/sm/TypedArray/entries.js +M test/staging/sm/TypedArray/every-and-some.js +M test/staging/sm/TypedArray/fill-detached.js +M test/staging/sm/TypedArray/fill.js +M test/staging/sm/TypedArray/filter-species.js +M test/staging/sm/TypedArray/find-and-findIndex.js +M test/staging/sm/TypedArray/findLast-and-findLastIndex.js +M test/staging/sm/TypedArray/forEach.js +M test/staging/sm/TypedArray/from_basics.js +M test/staging/sm/TypedArray/from_constructor.js +M test/staging/sm/TypedArray/from_errors.js +M test/staging/sm/TypedArray/from_iterable.js +M test/staging/sm/TypedArray/from_mapping.js +M test/staging/sm/TypedArray/from_realms.js +M test/staging/sm/TypedArray/from_string.js +M test/staging/sm/TypedArray/from_surfaces.js +M test/staging/sm/TypedArray/from_this.js +M test/staging/sm/TypedArray/from_typedarray_fastpath_detached.js +M test/staging/sm/TypedArray/getter-name.js +M test/staging/sm/TypedArray/has-property-op.js +M test/staging/sm/TypedArray/includes.js +M test/staging/sm/TypedArray/indexOf-and-lastIndexOf.js +M test/staging/sm/TypedArray/indexOf-never-returns-negative-zero.js +M test/staging/sm/TypedArray/iterator-next-with-detached.js +M test/staging/sm/TypedArray/iterator.js +M test/staging/sm/TypedArray/join.js +M test/staging/sm/TypedArray/keys.js +M test/staging/sm/TypedArray/lastIndexOf-never-returns-negative-zero.js +M test/staging/sm/TypedArray/map-and-filter.js +M test/staging/sm/TypedArray/map-species.js +M test/staging/sm/TypedArray/object-defineproperty.js +M test/staging/sm/TypedArray/of.js +M test/staging/sm/TypedArray/prototype-constructor-identity.js +M test/staging/sm/TypedArray/reduce-and-reduceRight.js +M test/staging/sm/TypedArray/reverse.js +M test/staging/sm/TypedArray/seal-and-freeze.js +M test/staging/sm/TypedArray/set-detached-bigint.js +M test/staging/sm/TypedArray/set-detached.js +M test/staging/sm/TypedArray/set-negative-offset.js +M test/staging/sm/TypedArray/set-same-buffer-different-source-target-types.js +M test/staging/sm/TypedArray/set-tointeger.js +M test/staging/sm/TypedArray/set-toobject.js +M test/staging/sm/TypedArray/set-with-receiver.js +M test/staging/sm/TypedArray/set-wrapped.js +M test/staging/sm/TypedArray/set.js +M test/staging/sm/TypedArray/slice-bitwise-same.js +M test/staging/sm/TypedArray/slice-conversion.js +M test/staging/sm/TypedArray/slice-detached.js +M test/staging/sm/TypedArray/slice-memcpy.js +M test/staging/sm/TypedArray/slice-species.js +M test/staging/sm/TypedArray/slice.js +M test/staging/sm/TypedArray/sort-negative-nan.js +M test/staging/sm/TypedArray/sort-non-function.js +M test/staging/sm/TypedArray/sort_byteoffset.js +M test/staging/sm/TypedArray/sort_comparators.js +M test/staging/sm/TypedArray/sort_compare_nan.js +M test/staging/sm/TypedArray/sort_errors.js +M test/staging/sm/TypedArray/sort_globals.js +M test/staging/sm/TypedArray/sort_large_countingsort.js +M test/staging/sm/TypedArray/sort_modifications.js +M test/staging/sm/TypedArray/sort_small.js +M test/staging/sm/TypedArray/sort_snans.js +M test/staging/sm/TypedArray/sort_sorted.js +M test/staging/sm/TypedArray/sort_stable.js +M test/staging/sm/TypedArray/sorting_buffer_access.js +M test/staging/sm/TypedArray/subarray-species.js +M test/staging/sm/TypedArray/subarray.js +M test/staging/sm/TypedArray/test-integrity-level-detached.js +M test/staging/sm/TypedArray/test-integrity-level.js +M test/staging/sm/TypedArray/toLocaleString-detached.js +M test/staging/sm/TypedArray/toLocaleString-nointl.js +M test/staging/sm/TypedArray/toLocaleString.js +M test/staging/sm/TypedArray/toReversed-detached.js +M test/staging/sm/TypedArray/toSorted-detached.js +M test/staging/sm/TypedArray/toString.js +M test/staging/sm/TypedArray/toStringTag-cross-compartment.js +M test/staging/sm/TypedArray/uint8clamped-constructor.js +M test/staging/sm/TypedArray/values.js +M test/staging/sm/TypedArray/with-detached.js +M test/staging/sm/TypedArray/with.js +M test/staging/sm/TypedArray/write-out-of-bounds-tonumber.js +M test/staging/sm/WeakMap/symbols.js +M test/staging/sm/argumentsLengthOpt.js +A test/staging/sm/async-functions/async-contains-unicode-escape-module.js +M test/staging/sm/async-functions/async-contains-unicode-escape.js +M test/staging/sm/async-functions/async-function-declaration-in-modules.js +M test/staging/sm/async-functions/async-property-name-error.js +M test/staging/sm/async-functions/await-error.js +M test/staging/sm/async-functions/await-in-arrow-parameters.js +M test/staging/sm/async-functions/await-in-parameters-of-async-func.js +M test/staging/sm/async-functions/constructor.js +M test/staging/sm/async-functions/create-function-parse-before-getprototype.js +M test/staging/sm/async-functions/inner-caller.js +M test/staging/sm/async-functions/length.js +M test/staging/sm/async-functions/no-expression-closure.js +M test/staging/sm/async-functions/property.js +M test/staging/sm/async-functions/toString.js +M test/staging/sm/class/boundFunctionSubclassing.js +M test/staging/sm/class/bytecodePatternMatching.js +M test/staging/sm/class/classConstructorNoCall.js +M test/staging/sm/class/classHeritage.js +M test/staging/sm/class/className.js +M test/staging/sm/class/classPrototype.js +M test/staging/sm/class/compPropDestr.js +M test/staging/sm/class/compPropNames.js +M test/staging/sm/class/constructorCalled.js +M test/staging/sm/class/defaultConstructorBase.js +M test/staging/sm/class/defaultConstructorDerivedSpread.js +M test/staging/sm/class/defaultConstructorNotCallable.js +M test/staging/sm/class/derivedConstructorArrowEvalBinding.js +M test/staging/sm/class/derivedConstructorArrowEvalClosed.js +M test/staging/sm/class/derivedConstructorArrowEvalEscape.js +M test/staging/sm/class/derivedConstructorArrowEvalEscapeUninitialized.js +M test/staging/sm/class/derivedConstructorArrowEvalGetThis.js +M test/staging/sm/class/derivedConstructorArrowEvalNestedSuperCall.js +M test/staging/sm/class/derivedConstructorArrowEvalSuperCall.js +M test/staging/sm/class/derivedConstructorInlining.js +M test/staging/sm/class/derivedConstructorName.js +M test/staging/sm/class/derivedConstructorReturnPrimitive.js +M test/staging/sm/class/derivedConstructorTDZExplicitThis.js +M test/staging/sm/class/derivedConstructorTDZOffEdge.js +M test/staging/sm/class/derivedConstructorTDZReturnAliasedTry.js +M test/staging/sm/class/derivedConstructorTDZReturnObject.js +M test/staging/sm/class/derivedConstructorTDZReturnTry.js +M test/staging/sm/class/derivedConstructorTDZReturnUndefined.js +M test/staging/sm/class/extendBuiltinConstructors.js +M test/staging/sm/class/fields-instance-class-name-binding-eval.js +M test/staging/sm/class/fields-instance-class-name-binding.js +M test/staging/sm/class/fields-static-class-name-binding-eval.js +M test/staging/sm/class/fields-static-class-name-binding.js +M test/staging/sm/class/geterNoExprClosure.js +M test/staging/sm/class/innerBinding.js +M test/staging/sm/class/methDefn.js +M test/staging/sm/class/methDefnGen.js +M test/staging/sm/class/methodInstallation.js +M test/staging/sm/class/methodName.js +M test/staging/sm/class/methodOverwrites.js +M test/staging/sm/class/methodsPrototype.js +M test/staging/sm/class/newTargetArgumentsIntact.js +M test/staging/sm/class/newTargetArrow.js +M test/staging/sm/class/newTargetBound.js +M test/staging/sm/class/newTargetCCW.js +M test/staging/sm/class/newTargetDVG.js +M test/staging/sm/class/newTargetDefaults.js +M test/staging/sm/class/newTargetDirectInvoke.js +M test/staging/sm/class/newTargetEval.js +M test/staging/sm/class/newTargetGenerators.js +M test/staging/sm/class/newTargetMethods.js +M test/staging/sm/class/newTargetNonFunction.js +M test/staging/sm/class/newTargetProxyNative.js +M test/staging/sm/class/parenExprToString.js +M test/staging/sm/class/staticConstructor.js +M test/staging/sm/class/staticMethods.js +M test/staging/sm/class/strictExecution.js +M test/staging/sm/class/stringConstructor.js +M test/staging/sm/class/subclassedArrayUnboxed.js +M test/staging/sm/class/superCallBadDynamicSuperClass.js +M test/staging/sm/class/superCallBadNewTargetPrototype.js +M test/staging/sm/class/superCallBaseInvoked.js +M test/staging/sm/class/superCallIllegal.js +M test/staging/sm/class/superCallInvalidBase.js +M test/staging/sm/class/superCallOrder.js +M test/staging/sm/class/superCallProperBase.js +M test/staging/sm/class/superCallSpreadCall.js +M test/staging/sm/class/superCallThisInit.js +M test/staging/sm/class/superElemDelete.js +M test/staging/sm/class/superPropBasicCalls.js +M test/staging/sm/class/superPropBasicChain.js +M test/staging/sm/class/superPropBasicGetter.js +M test/staging/sm/class/superPropBasicNew.js +M test/staging/sm/class/superPropChains.js +M test/staging/sm/class/superPropDVG.js +M test/staging/sm/class/superPropDelete.js +M test/staging/sm/class/superPropDerivedCalls.js +M test/staging/sm/class/superPropDestructuring.js +M test/staging/sm/class/superPropEvalInsideArrow.js +M test/staging/sm/class/superPropEvalInsideNested.js +M test/staging/sm/class/superPropFor.js +M test/staging/sm/class/superPropHeavyweightArrow.js +M test/staging/sm/class/superPropHomeObject.js +M test/staging/sm/class/superPropIncDecElem.js +M test/staging/sm/class/superPropLazyInnerFunction.js +M test/staging/sm/class/superPropNoOverwriting.js +M test/staging/sm/class/superPropOrdering.js +M test/staging/sm/class/superPropProtoChanges.js +M test/staging/sm/class/superPropProxies.js +M test/staging/sm/class/superPropSkips.js +M test/staging/sm/class/superPropStatics.js +M test/staging/sm/class/superPropStrictAssign.js +M test/staging/sm/class/superThisStrictNoBoxing.js +M test/staging/sm/class/uninitializedThisError.js +M test/staging/sm/destructuring/array-default-class.js +M test/staging/sm/destructuring/array-iterator-close.js +M test/staging/sm/destructuring/bug1396261.js +M test/staging/sm/destructuring/constant-folding.js +M test/staging/sm/destructuring/iterator-primitive.js +M test/staging/sm/destructuring/order-super.js +M test/staging/sm/destructuring/order.js +M test/staging/sm/eval/exhaustive-fun-normalcaller-direct-normalcode.js +M test/staging/sm/eval/exhaustive-fun-normalcaller-direct-strictcode.js +M test/staging/sm/eval/exhaustive-fun-normalcaller-indirect-normalcode.js +M test/staging/sm/eval/exhaustive-fun-normalcaller-indirect-strictcode.js +M test/staging/sm/eval/exhaustive-fun-strictcaller-direct-normalcode.js +M test/staging/sm/eval/exhaustive-fun-strictcaller-direct-strictcode.js +M test/staging/sm/eval/exhaustive-fun-strictcaller-indirect-normalcode.js +M test/staging/sm/eval/exhaustive-fun-strictcaller-indirect-strictcode.js +M test/staging/sm/eval/exhaustive-global-normalcaller-direct-normalcode.js +M test/staging/sm/eval/exhaustive-global-normalcaller-direct-strictcode.js +M test/staging/sm/eval/exhaustive-global-normalcaller-indirect-normalcode.js +M test/staging/sm/eval/exhaustive-global-normalcaller-indirect-strictcode.js +M test/staging/sm/eval/exhaustive-global-strictcaller-direct-normalcode.js +M test/staging/sm/eval/exhaustive-global-strictcaller-direct-strictcode.js +M test/staging/sm/eval/exhaustive-global-strictcaller-indirect-normalcode.js +M test/staging/sm/eval/exhaustive-global-strictcaller-indirect-strictcode.js +M test/staging/sm/eval/line-terminator-paragraph-terminator.js +M test/staging/sm/eval/redeclared-arguments-in-param-expression-eval.js +M test/staging/sm/eval/regress-531682.js +M test/staging/sm/eval/undeclared-name-in-nested-strict-eval.js +M test/staging/sm/expressions/11.1.5-01.js +M test/staging/sm/expressions/ToPropertyKey-symbols.js +M test/staging/sm/expressions/binary-literals.js +M test/staging/sm/expressions/computed-property-side-effects.js +M test/staging/sm/expressions/constant-folded-labeled-statement.js +M test/staging/sm/expressions/delete-constant-folded-and-or.js +M test/staging/sm/expressions/delete-name-parenthesized-early-error-strict-mode.js +M test/staging/sm/expressions/destructuring-array-default-call.js +M test/staging/sm/expressions/destructuring-array-default-class.js +M test/staging/sm/expressions/destructuring-array-default-function-nested.js +M test/staging/sm/expressions/destructuring-array-default-function.js +M test/staging/sm/expressions/destructuring-array-default-simple.js +M test/staging/sm/expressions/destructuring-array-default-yield.js +M test/staging/sm/expressions/destructuring-array-done.js +M test/staging/sm/expressions/destructuring-array-lexical.js +M test/staging/sm/expressions/destructuring-object-__proto__-1.js +M test/staging/sm/expressions/destructuring-object-__proto__-2.js +M test/staging/sm/expressions/destructuring-pattern-parenthesized.js +M test/staging/sm/expressions/exponentiation-unparenthesised-unary.js +M test/staging/sm/expressions/inNotObjectError.js +M test/staging/sm/expressions/named-accessor-function.js +M test/staging/sm/expressions/nested-delete-name-in-evalcode.js +M test/staging/sm/expressions/nullish-coalescing.js +M test/staging/sm/expressions/object-literal-__proto__.js +M test/staging/sm/expressions/object-literal-accessor-arguments.js +M test/staging/sm/expressions/object-literal-accessor-property-name.js +M test/staging/sm/expressions/object-literal-computed-property-evaluation.js +M test/staging/sm/expressions/octal-literals.js +M test/staging/sm/expressions/optional-chain-class-heritage.js +A test/staging/sm/expressions/optional-chain-first-expression-module.js +A test/staging/sm/expressions/optional-chain-first-expression-module_FIXTURE.js +M test/staging/sm/expressions/optional-chain-first-expression.js +M test/staging/sm/expressions/optional-chain-super-elem.js +M test/staging/sm/expressions/optional-chain-tdz.js +M test/staging/sm/expressions/optional-chain.js +M test/staging/sm/expressions/primitive-this-boxing-behavior.js +M test/staging/sm/expressions/short-circuit-compound-assignment-anon-fns.js +M test/staging/sm/expressions/short-circuit-compound-assignment-const.js +M test/staging/sm/expressions/short-circuit-compound-assignment-property-key-evaluation.js +M test/staging/sm/expressions/short-circuit-compound-assignment-tdz.js +M test/staging/sm/expressions/short-circuit-compound-assignment.js +M test/staging/sm/expressions/string-literal-escape-sequences.js +M test/staging/sm/expressions/tagged-template-constant-folding.js +M test/staging/sm/extensions/8.12.5-01.js +M test/staging/sm/extensions/ArrayBuffer-slice-arguments-detaching.js +M test/staging/sm/extensions/DataView-construct-arguments-detaching.js +M test/staging/sm/extensions/DataView-set-arguments-detaching.js +M test/staging/sm/extensions/RegExp-error-message-skip-selfhosted-frames.js +M test/staging/sm/extensions/String-match-flags.js +M test/staging/sm/extensions/TypedArray-set-object-funky-length-detaches.js +M test/staging/sm/extensions/TypedArray-subarray-arguments-detaching.js +M test/staging/sm/extensions/__proto__.js +M test/staging/sm/extensions/arguments-property-access-in-function.js +M test/staging/sm/extensions/array-inherited-__proto__.js +M test/staging/sm/extensions/array-length-protochange.js +M test/staging/sm/extensions/array-pop-proxy.js +M test/staging/sm/extensions/arraybuffer-prototype.js +M test/staging/sm/extensions/bug472534.js +M test/staging/sm/extensions/builtin-function-arguments-caller.js +M test/staging/sm/extensions/censor-strict-caller.js +M test/staging/sm/extensions/cross-global-eval-is-indirect.js +M test/staging/sm/extensions/dataview.js +M test/staging/sm/extensions/decompile-for-of.js +M test/staging/sm/extensions/destructure-accessor.js +M test/staging/sm/extensions/destructuring-__proto__-shorthand-assignment-before-var.js +M test/staging/sm/extensions/destructuring-__proto__-shorthand-assignment.js +M test/staging/sm/extensions/destructuring-__proto__-target-assignment.js +M test/staging/sm/extensions/destructuring-for-inof-__proto__.js +M test/staging/sm/extensions/element-setting-ToNumber-detaches.js +M test/staging/sm/extensions/error-tostring-function.js +M test/staging/sm/extensions/es5ish-defineGetter-defineSetter.js +M test/staging/sm/extensions/eval-native-callback-is-indirect.js +M test/staging/sm/extensions/expression-closure-syntax.js +M test/staging/sm/extensions/extension-methods-reject-null-undefined-this.js +M test/staging/sm/extensions/for-loop-with-lexical-declaration-and-nested-function-statement.js +M test/staging/sm/extensions/function-caller-skips-eval-frames.js +M test/staging/sm/extensions/function-properties.js +M test/staging/sm/extensions/getOwnPropertyNames-__proto__.js +M test/staging/sm/extensions/keyword-unescaped-requirement.js +M test/staging/sm/extensions/mutable-proto-special-form.js +M test/staging/sm/extensions/nested-delete-name-in-evalcode.js +M test/staging/sm/extensions/new-cross-compartment.js +M test/staging/sm/extensions/new-parenthesization.js +M test/staging/sm/extensions/newer-type-functions-caller-arguments.js +M test/staging/sm/extensions/proxy-array-target-length-definition.js +M test/staging/sm/extensions/proxy-enumeration.js +M test/staging/sm/extensions/proxy-strict.js +M test/staging/sm/extensions/quote-string-for-nul-character.js +M test/staging/sm/extensions/recursion.js +M test/staging/sm/extensions/regress-455380.js +M test/staging/sm/extensions/regress-469625-01.js +M test/staging/sm/extensions/regress-480579.js +M test/staging/sm/extensions/regress-481516.js +M test/staging/sm/extensions/regress-591450.js +M test/staging/sm/extensions/regress-645160.js +M test/staging/sm/extensions/regress-650753.js +M test/staging/sm/extensions/regress-bug629723.js +M test/staging/sm/extensions/reviver-mutates-holder-array-nonnative.js +M test/staging/sm/extensions/reviver-mutates-holder-array.js +M test/staging/sm/extensions/reviver-mutates-holder-object-nonnative.js +M test/staging/sm/extensions/reviver-mutates-holder-object.js +M test/staging/sm/extensions/set-property-non-extensible.js +M test/staging/sm/extensions/shareddataview.js +M test/staging/sm/extensions/string-literal-getter-setter-decompilation.js +M test/staging/sm/extensions/typedarray-copyWithin-arguments-detaching.js +M test/staging/sm/extensions/typedarray-set-detach.js +M test/staging/sm/extensions/typedarray-subarray-of-subarray.js +M test/staging/sm/extensions/weakmap.js +M test/staging/sm/fields/await-identifier-module-1.js +M test/staging/sm/fields/await-identifier-module-2.js +M test/staging/sm/fields/await-identifier-module-3.js +M test/staging/sm/fields/init-order.js +M test/staging/sm/fields/numeric-fields.js +M test/staging/sm/fields/scopes.js +D test/staging/sm/fields/unimplemented.js +M test/staging/sm/generators/create-function-parse-before-getprototype.js +M test/staging/sm/generators/delegating-yield-1.js +M test/staging/sm/generators/delegating-yield-10.js +M test/staging/sm/generators/delegating-yield-11.js +M test/staging/sm/generators/delegating-yield-12.js +M test/staging/sm/generators/delegating-yield-2.js +M test/staging/sm/generators/delegating-yield-3.js +M test/staging/sm/generators/delegating-yield-4.js +M test/staging/sm/generators/delegating-yield-5.js +M test/staging/sm/generators/delegating-yield-6.js +M test/staging/sm/generators/delegating-yield-7.js +M test/staging/sm/generators/delegating-yield-8.js +M test/staging/sm/generators/delegating-yield-9.js +M test/staging/sm/generators/gen-with-call-obj.js +M test/staging/sm/generators/iteration.js +M test/staging/sm/generators/iterator-next-non-object.js +M test/staging/sm/generators/objects.js +M test/staging/sm/generators/regress-366941.js +M test/staging/sm/generators/return-finally.js +M test/staging/sm/generators/runtime.js +M test/staging/sm/generators/syntax.js +M test/staging/sm/generators/yield-error.js +M test/staging/sm/generators/yield-iterator-close.js +M test/staging/sm/generators/yield-non-regexp.js +M test/staging/sm/generators/yield-star-iterator-close.js +M test/staging/sm/generators/yield-star-iterator-primitive.js +M test/staging/sm/generators/yield-star-throw-htmldda.js +M test/staging/sm/global/adding-global-var-nonextensible-error.js +M test/staging/sm/global/bug-320887.js +M test/staging/sm/global/bug660612.js +M test/staging/sm/global/decodeURI-decodes-FFFE-FFFF.js +M test/staging/sm/global/delete-global-NaN-property.js +M test/staging/sm/global/direct-eval-but-not.js +M test/staging/sm/global/eval-01.js +M test/staging/sm/global/eval-02.js +M test/staging/sm/global/eval-in-strict-eval-in-normal-function.js +M test/staging/sm/global/eval-inside-with-is-direct.js +M test/staging/sm/global/eval-native-callback-is-indirect.js +M test/staging/sm/global/globalThis-enumeration.js +M test/staging/sm/global/parenthesized-eval-is-direct.js +M test/staging/sm/global/parseFloat-01.js +M test/staging/sm/global/parseInt-01.js +M test/staging/sm/global/parseInt-default-to-decimal.js +M test/staging/sm/lexical-environment/block-scoped-functions-annex-b-arguments.js +M test/staging/sm/lexical-environment/block-scoped-functions-annex-b-eval.js +M test/staging/sm/lexical-environment/block-scoped-functions-annex-b-generators.js +M test/staging/sm/lexical-environment/block-scoped-functions-annex-b-if.js +M test/staging/sm/lexical-environment/block-scoped-functions-annex-b-label.js +M test/staging/sm/lexical-environment/block-scoped-functions-annex-b-notapplicable.js +M test/staging/sm/lexical-environment/block-scoped-functions-annex-b-parameter.js +M test/staging/sm/lexical-environment/block-scoped-functions-annex-b-same-name.js +M test/staging/sm/lexical-environment/block-scoped-functions-annex-b-with.js +M test/staging/sm/lexical-environment/block-scoped-functions-annex-b.js +M test/staging/sm/lexical-environment/block-scoped-functions-deprecated-redecl.js +M test/staging/sm/lexical-environment/block-scoped-functions-hoisted-tdz.js +M test/staging/sm/lexical-environment/block-scoped-functions-strict.js +M test/staging/sm/lexical-environment/bug-1216623.js +M test/staging/sm/lexical-environment/catch-body.js +M test/staging/sm/lexical-environment/const-declaration-in-for-loop.js +M test/staging/sm/lexical-environment/eval-has-lexical-environment.js +M test/staging/sm/lexical-environment/for-loop-with-bindings-added-at-runtime.js +M test/staging/sm/lexical-environment/for-loop.js +M test/staging/sm/lexical-environment/implicit-this-in-with.js +M test/staging/sm/lexical-environment/unscopables-basics.js +M test/staging/sm/lexical-environment/unscopables-closures.js +M test/staging/sm/lexical-environment/unscopables-const.js +M test/staging/sm/lexical-environment/unscopables-delete.js +M test/staging/sm/lexical-environment/unscopables-getters.js +M test/staging/sm/lexical-environment/unscopables-global.js +M test/staging/sm/lexical-environment/unscopables-ignored.js +M test/staging/sm/lexical-environment/unscopables-miss.js +M test/staging/sm/lexical-environment/unscopables-mutation-frozen.js +M test/staging/sm/lexical-environment/unscopables-proto.js +M test/staging/sm/lexical-environment/unscopables-proxy.js +M test/staging/sm/lexical-environment/unscopables-tdz.js +M test/staging/sm/lexical-environment/var-in-catch-body-annex-b-eval.js +M test/staging/sm/lexical-environment/with-global-ignores-global-let-variables.js +M test/staging/sm/literals/numeric/idstart-after-numeric.js +M test/staging/sm/misc/bug1126318.js +M test/staging/sm/misc/builtin-methods-reject-null-undefined-this.js +M test/staging/sm/misc/enumerate-undefined.js +M test/staging/sm/misc/error-undefined-message.js +M test/staging/sm/misc/explicit-undefined-optional-argument.js +M test/staging/sm/misc/function-definition-eval.js +M test/staging/sm/misc/future-reserved-words.js +M test/staging/sm/misc/getter-setter-outerize-this.js +M test/staging/sm/misc/global-numeric-properties.js +M test/staging/sm/misc/line-paragraph-separator-parse-as-lineterminator.js +M test/staging/sm/misc/new-with-non-constructor.js +M test/staging/sm/misc/redeclare-var-non-writable-property.js +M test/staging/sm/misc/regexp-functions-with-undefined.js +M test/staging/sm/misc/syntax-error-end-of-for-head-part.js +M test/staging/sm/misc/unicode-escaped-keyword.js +M test/staging/sm/misc/unicode-identifier-1d17.js +M test/staging/sm/misc/unicode-identifier-82f1.js +M test/staging/sm/misc/unwrapped-no-such-method.js +M test/staging/sm/module/await-restricted-nested.js +M test/staging/sm/module/bug1488117.js +M test/staging/sm/module/duplicate-exported-names-in-single-export-declaration.js +M test/staging/sm/module/duplicate-exported-names-in-single-export-var-declaration.js +M test/staging/sm/module/module-export-name-star.js +M test/staging/sm/object/15.2.3.12.js +M test/staging/sm/object/15.2.3.14-01.js +M test/staging/sm/object/15.2.3.4-01.js +M test/staging/sm/object/15.2.3.4-02.js +M test/staging/sm/object/15.2.3.4-03.js +M test/staging/sm/object/15.2.3.4-04.js +M test/staging/sm/object/15.2.3.5-01.js +M test/staging/sm/object/15.2.3.6-define-over-method.js +M test/staging/sm/object/15.2.3.7-01.js +M test/staging/sm/object/15.2.3.9.js +M test/staging/sm/object/accessor-arguments-rest.js +M test/staging/sm/object/accessor-name.js +M test/staging/sm/object/accessor-non-constructor.js +M test/staging/sm/object/add-property-non-extensible.js +M test/staging/sm/object/bug-1150906.js +M test/staging/sm/object/bug-1206700.js +M test/staging/sm/object/clear-dictionary-accessor-getset.js +M test/staging/sm/object/defineGetter-defineSetter.js +M test/staging/sm/object/defineProperties-callable-accessor.js +M test/staging/sm/object/defineProperties-order.js +M test/staging/sm/object/defineProperty-proxy.js +M test/staging/sm/object/duplProps.js +M test/staging/sm/object/entries.js +M test/staging/sm/object/extensibility-01.js +M test/staging/sm/object/extensibility-02.js +M test/staging/sm/object/freeze-proxy.js +M test/staging/sm/object/freeze.js +M test/staging/sm/object/gOPD-vs-prototype-accessor.js +M test/staging/sm/object/getOwnPropertyDescriptor.js +M test/staging/sm/object/getOwnPropertySymbols-proxy.js +M test/staging/sm/object/getOwnPropertySymbols.js +M test/staging/sm/object/getPrototypeOf-array.js +M test/staging/sm/object/getPrototypeOf.js +M test/staging/sm/object/getter-name.js +M test/staging/sm/object/hasOwn.js +M test/staging/sm/object/isExtensible.js +M test/staging/sm/object/isFrozen.js +M test/staging/sm/object/isPrototypeOf.js +M test/staging/sm/object/isSealed.js +M test/staging/sm/object/keys.js +M test/staging/sm/object/method-non-constructor.js +M test/staging/sm/object/mutation-prevention-methods.js +M test/staging/sm/object/object-create-with-primitive-second-arg.js +M test/staging/sm/object/object-toString-01.js +M test/staging/sm/object/preventExtensions-idempotent.js +M test/staging/sm/object/preventExtensions-proxy.js +M test/staging/sm/object/preventExtensions.js +M test/staging/sm/object/property-descriptor-order.js +M test/staging/sm/object/propertyIsEnumerable-proxy.js +M test/staging/sm/object/propertyIsEnumerable.js +M test/staging/sm/object/proto-property-change-writability-set.js +M test/staging/sm/object/regress-459405.js +M test/staging/sm/object/seal-proxy.js +M test/staging/sm/object/seal.js +M test/staging/sm/object/setPrototypeOf-cross-realm-cycle.js +M test/staging/sm/object/setPrototypeOf-same-value.js +M test/staging/sm/object/toLocaleString-01.js +M test/staging/sm/object/toLocaleString.js +M test/staging/sm/object/toPrimitive-callers.js +M test/staging/sm/object/toPrimitive.js +M test/staging/sm/object/vacuous-accessor-unqualified-name.js +M test/staging/sm/object/values-entries-indexed.js +M test/staging/sm/object/values-entries-lazy-props.js +M test/staging/sm/object/values-entries-typedarray.js +M test/staging/sm/object/values.js +M test/staging/sm/regress/regress-10278.js +M test/staging/sm/regress/regress-1383630.js +M test/staging/sm/regress/regress-1507322-deep-weakmap.js +M test/staging/sm/regress/regress-162392.js +M test/staging/sm/regress/regress-306794.js +M test/staging/sm/regress/regress-325925.js +M test/staging/sm/regress/regress-373843.js +M test/staging/sm/regress/regress-383682.js +M test/staging/sm/regress/regress-383902.js +M test/staging/sm/regress/regress-410852.js +M test/staging/sm/regress/regress-428366.js +M test/staging/sm/regress/regress-441477-01.js +M test/staging/sm/regress/regress-449627.js +M test/staging/sm/regress/regress-449666.js +M test/staging/sm/regress/regress-452189.js +M test/staging/sm/regress/regress-452498-051.js +M test/staging/sm/regress/regress-452498-053.js +M test/staging/sm/regress/regress-452498-079.js +M test/staging/sm/regress/regress-459085.js +M test/staging/sm/regress/regress-469625-02.js +M test/staging/sm/regress/regress-469625-03.js +M test/staging/sm/regress/regress-469758.js +M test/staging/sm/regress/regress-470758-01.js +M test/staging/sm/regress/regress-470758-02.js +M test/staging/sm/regress/regress-499524.js +M test/staging/sm/regress/regress-500528.js +M test/staging/sm/regress/regress-503860.js +M test/staging/sm/regress/regress-530879.js +M test/staging/sm/regress/regress-541255-3.js +M test/staging/sm/regress/regress-541455.js +M test/staging/sm/regress/regress-551763-0.js +M test/staging/sm/regress/regress-551763-1.js +M test/staging/sm/regress/regress-551763-2.js +M test/staging/sm/regress/regress-552432.js +M test/staging/sm/regress/regress-553778.js +M test/staging/sm/regress/regress-554955-1.js +M test/staging/sm/regress/regress-554955-2.js +M test/staging/sm/regress/regress-554955-3.js +M test/staging/sm/regress/regress-554955-4.js +M test/staging/sm/regress/regress-554955-5.js +M test/staging/sm/regress/regress-554955-6.js +M test/staging/sm/regress/regress-559402-1.js +M test/staging/sm/regress/regress-559402-2.js +M test/staging/sm/regress/regress-559438.js +M test/staging/sm/regress/regress-560998-1.js +M test/staging/sm/regress/regress-560998-2.js +M test/staging/sm/regress/regress-561031.js +M test/staging/sm/regress/regress-563221.js +M test/staging/sm/regress/regress-567152.js +M test/staging/sm/regress/regress-569306.js +M test/staging/sm/regress/regress-571014.js +M test/staging/sm/regress/regress-573875.js +M test/staging/sm/regress/regress-577648-1.js +M test/staging/sm/regress/regress-577648-2.js +M test/staging/sm/regress/regress-580544.js +M test/staging/sm/regress/regress-583429.js +M test/staging/sm/regress/regress-584355.js +M test/staging/sm/regress/regress-586482-1.js +M test/staging/sm/regress/regress-586482-2.js +M test/staging/sm/regress/regress-586482-3.js +M test/staging/sm/regress/regress-586482-4.js +M test/staging/sm/regress/regress-586482-5.js +M test/staging/sm/regress/regress-588339.js +M test/staging/sm/regress/regress-591897.js +M test/staging/sm/regress/regress-592202-3.js +M test/staging/sm/regress/regress-592202-4.js +M test/staging/sm/regress/regress-592556-c35.js +M test/staging/sm/regress/regress-593256.js +M test/staging/sm/regress/regress-595365-1.js +M test/staging/sm/regress/regress-596103.js +M test/staging/sm/regress/regress-596805-1.js +M test/staging/sm/regress/regress-596805-2.js +M test/staging/sm/regress/regress-597945-1.js +M test/staging/sm/regress/regress-597945-2.js +M test/staging/sm/regress/regress-598176.js +M test/staging/sm/regress/regress-600067.js +M test/staging/sm/regress/regress-601399.js +M test/staging/sm/regress/regress-602621.js +M test/staging/sm/regress/regress-610026.js +M test/staging/sm/regress/regress-617405-1.js +M test/staging/sm/regress/regress-617405-2.js +M test/staging/sm/regress/regress-618572.js +M test/staging/sm/regress/regress-619003-1.js +M test/staging/sm/regress/regress-619003-2.js +M test/staging/sm/regress/regress-624547.js +M test/staging/sm/regress/regress-624968.js +M test/staging/sm/regress/regress-626436.js +M test/staging/sm/regress/regress-633741.js +M test/staging/sm/regress/regress-634210-1.js +M test/staging/sm/regress/regress-634210-2.js +M test/staging/sm/regress/regress-634210-3.js +M test/staging/sm/regress/regress-634210-4.js +M test/staging/sm/regress/regress-636364.js +M test/staging/sm/regress/regress-640075.js +M test/staging/sm/regress/regress-642247.js +M test/staging/sm/regress/regress-643222.js +M test/staging/sm/regress/regress-646820-1.js +M test/staging/sm/regress/regress-646820-2.js +M test/staging/sm/regress/regress-646820-3.js +M test/staging/sm/regress/regress-665355.js +M test/staging/sm/regress/regress-672892.js +M test/staging/sm/regress/regress-672893.js +M test/staging/sm/regress/regress-694306.js +M test/staging/sm/regress/regress-698028-1.js +M test/staging/sm/regress/regress-699682.js +M test/staging/sm/regress/regress-810525.js +M test/staging/sm/statements/arrow-function-at-end-of-for-statement-head.js +M test/staging/sm/statements/arrow-function-in-for-statement-head.js +M test/staging/sm/statements/for-in-with-declaration.js +M test/staging/sm/statements/for-in-with-gc-and-unvisited-deletion.js +M test/staging/sm/statements/for-inof-finally.js +M test/staging/sm/statements/for-inof-loop-const-declaration.js +M test/staging/sm/statements/for-inof-name-iteration-expression-contains-index-string.js +M test/staging/sm/statements/for-loop-declaration-contains-computed-name.js +M test/staging/sm/statements/for-loop-declaration-contains-initializer.js +M test/staging/sm/statements/for-of-iterator-close-throw.js +M test/staging/sm/statements/for-of-iterator-close.js +M test/staging/sm/statements/for-of-iterator-primitive.js +M test/staging/sm/statements/for-of-var-with-initializer.js +M test/staging/sm/statements/if-constant-folding.js +M test/staging/sm/statements/property-reference-self-assignment.js +M test/staging/sm/statements/regress-642975.js +M test/staging/sm/statements/try-completion.js +M test/staging/sm/strict/10.4.2.js +M test/staging/sm/strict/10.4.3.js +M test/staging/sm/strict/10.6.js +M test/staging/sm/strict/11.1.5.js +M test/staging/sm/strict/11.13.1.js +M test/staging/sm/strict/11.13.2.js +M test/staging/sm/strict/11.3.1.js +M test/staging/sm/strict/11.3.2.js +M test/staging/sm/strict/11.4.1.js +M test/staging/sm/strict/11.4.4.js +M test/staging/sm/strict/11.4.5.js +M test/staging/sm/strict/12.10.1.js +M test/staging/sm/strict/12.14.1.js +M test/staging/sm/strict/12.2.1-01.js +M test/staging/sm/strict/12.2.1.js +M test/staging/sm/strict/13.1.js +M test/staging/sm/strict/15.10.7.js +M test/staging/sm/strict/15.3.4.5.js +M test/staging/sm/strict/15.3.5.1.js +M test/staging/sm/strict/15.3.5.2.js +M test/staging/sm/strict/15.4.4.11.js +M test/staging/sm/strict/15.4.4.12.js +M test/staging/sm/strict/15.4.4.13.js +M test/staging/sm/strict/15.4.4.6.js +M test/staging/sm/strict/15.4.4.8.js +M test/staging/sm/strict/15.4.4.9.js +M test/staging/sm/strict/15.4.5.1.js +M test/staging/sm/strict/15.5.5.1.js +M test/staging/sm/strict/15.5.5.2.js +M test/staging/sm/strict/8.12.5.js +M test/staging/sm/strict/8.12.7-2.js +M test/staging/sm/strict/8.12.7.js +M test/staging/sm/strict/8.7.2.js +M test/staging/sm/strict/B.1.1.js +M test/staging/sm/strict/B.1.2.js +M test/staging/sm/strict/assign-to-callee-name.js +M test/staging/sm/strict/deprecated-octal-noctal-tokens.js +M test/staging/sm/strict/directive-prologue-01.js +M test/staging/sm/strict/eval-variable-environment.js +M test/staging/sm/strict/primitive-assignment.js +M test/staging/sm/strict/primitive-this-getter.js +M test/staging/sm/strict/primitive-this-no-writeback.js +M test/staging/sm/strict/rebind-eval-should-fail-in-strict-mode.js +M test/staging/sm/strict/regress-532041.js +M test/staging/sm/strict/regress-532254.js +M test/staging/sm/strict/regress-599159.js +M test/staging/sm/strict/strict-function-statements.js +M test/staging/sm/strict/strict-this-is-not-truthy.js +M test/staging/sm/strict/this-for-function-expression-recursion.js +M test/staging/sm/strict/unbrand-this.js +M test/staging/sm/syntax/bug1863308.js +M test/staging/sm/syntax/class-error.js +M test/staging/sm/syntax/declaration-forbidden-in-label.js +M test/staging/sm/syntax/escaped-let-static-identifier.js +M test/staging/sm/syntax/keyword-unescaped-requirement.js +M test/staging/sm/syntax/let-as-label.js +M test/staging/sm/syntax/linefeed-at-eof-in-unterminated-string-or-template.js +M test/staging/sm/syntax/omitted-catch-binding.js +M test/staging/sm/syntax/syntax-parsed-arrow-then-bigint.js +M test/staging/sm/syntax/syntax-parsed-arrow-then-directive.js +M test/staging/sm/syntax/yield-as-identifier.js +M test/staging/sm/types/8.12.5-01.js \ No newline at end of file diff --git a/JSTests/test262/test/built-ins/Array/prototype/sort/stability-11-elements.js b/JSTests/test262/test/built-ins/Array/prototype/sort/stability-11-elements.js index b624b56537fad..d33ddec94f8ec 100644 --- a/JSTests/test262/test/built-ins/Array/prototype/sort/stability-11-elements.js +++ b/JSTests/test262/test/built-ins/Array/prototype/sort/stability-11-elements.js @@ -11,6 +11,7 @@ info: | The array length of 11 was chosen because V8 used an unstable QuickSort for arrays with more than 10 elements until v7.0 (September 2018). https://v8.dev/blog/array-sort +features: [stable-array-sort] ---*/ const array = [ diff --git a/JSTests/test262/test/built-ins/Array/prototype/sort/stability-2048-elements.js b/JSTests/test262/test/built-ins/Array/prototype/sort/stability-2048-elements.js index 56436521bb117..cf9df2459d09d 100644 --- a/JSTests/test262/test/built-ins/Array/prototype/sort/stability-2048-elements.js +++ b/JSTests/test262/test/built-ins/Array/prototype/sort/stability-2048-elements.js @@ -12,6 +12,7 @@ info: | uses merge sort for arrays with 2048 or more elements. It uses insertion sort for smaller arrays. https://github.com/Microsoft/ChakraCore/pull/5724/files#diff-85203ec16f5961eb4c18e4253bb42140R337 +features: [stable-array-sort] ---*/ const array = [ diff --git a/JSTests/test262/test/built-ins/Array/prototype/sort/stability-5-elements.js b/JSTests/test262/test/built-ins/Array/prototype/sort/stability-5-elements.js index 71b4639126487..fe2f79e086685 100644 --- a/JSTests/test262/test/built-ins/Array/prototype/sort/stability-5-elements.js +++ b/JSTests/test262/test/built-ins/Array/prototype/sort/stability-5-elements.js @@ -8,6 +8,7 @@ description: > info: | The sort is required to be stable (that is, elements that compare equal remain in their original order). +features: [stable-array-sort] ---*/ const array = [ diff --git a/JSTests/test262/test/built-ins/Array/prototype/sort/stability-513-elements.js b/JSTests/test262/test/built-ins/Array/prototype/sort/stability-513-elements.js index acd209cfbaa44..c98fa26cd0005 100644 --- a/JSTests/test262/test/built-ins/Array/prototype/sort/stability-513-elements.js +++ b/JSTests/test262/test/built-ins/Array/prototype/sort/stability-513-elements.js @@ -12,6 +12,7 @@ info: | used to apply an unstable QuickSort for arrays with more than 512 elements, although it used a stable insertion sort for anything else. https://github.com/Microsoft/ChakraCore/pull/5724 +features: [stable-array-sort] ---*/ const array = [ diff --git a/JSTests/test262/test/built-ins/Array/prototype/toSorted/comparefn-controls-sort.js b/JSTests/test262/test/built-ins/Array/prototype/toSorted/comparefn-controls-sort.js new file mode 100644 index 0000000000000..d58c78b6258bd --- /dev/null +++ b/JSTests/test262/test/built-ins/Array/prototype/toSorted/comparefn-controls-sort.js @@ -0,0 +1,39 @@ +// Copyright (C) 2025 Google. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-array.prototype.tosorted +description: > + Array.prototype.toSorted performs CompareArrayElements that sorts by the + provided comparator function +info: | + Array.prototype.toSorted ( compareFn ) + + ... + 5. Let SortCompare be a new Abstract Closure with parameters (x, y) that + captures comparator and performs the following steps when called: + a. Return ? CompareArrayElements(x, y, comparator). + ... +features: [change-array-by-copy] +includes: [compareArray.js] +---*/ + +function numericCompare(a, b) { + return a - b; +} + +assert.compareArray([1, 2, 3, 4].toSorted(numericCompare), [1, 2, 3, 4]); +assert.compareArray([4, 3, 2, 1].toSorted(numericCompare), [1, 2, 3, 4]); +assert.compareArray( + [333, 33, 3, 222, 22, 2, 111, 11, 1].toSorted(numericCompare), + [1, 2, 3, 11, 22, 33, 111, 222, 333]); + +function reverseNumericCompare(a, b) { + return b - a; +} + +assert.compareArray([1, 2, 3, 4].toSorted(reverseNumericCompare), [4, 3, 2, 1]); +assert.compareArray([4, 3, 2, 1].toSorted(reverseNumericCompare), [4, 3, 2, 1]); +assert.compareArray( + [333, 33, 3, 222, 22, 2, 111, 11, 1].toSorted(reverseNumericCompare), + [333, 222, 111, 33, 22, 11, 3, 2, 1]); diff --git a/JSTests/test262/test/built-ins/Array/prototype/toSorted/comparefn-default.js b/JSTests/test262/test/built-ins/Array/prototype/toSorted/comparefn-default.js new file mode 100644 index 0000000000000..e16997c57c1c7 --- /dev/null +++ b/JSTests/test262/test/built-ins/Array/prototype/toSorted/comparefn-default.js @@ -0,0 +1,27 @@ +// Copyright (C) 2025 Google. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-array.prototype.tosorted +description: > + Array.prototype.toSorted performs CompareArrayElements that sorts by string + by default +info: | + Array.prototype.toSorted ( compareFn ) + + ... + 5. Let SortCompare be a new Abstract Closure with parameters (x, y) that + captures comparator and performs the following steps when called: + a. Return ? CompareArrayElements(x, y, comparator). + ... +features: [change-array-by-copy] +includes: [compareArray.js] +---*/ + +assert.compareArray([1, 2, 3, 4].toSorted(), [1, 2, 3, 4]); +assert.compareArray([4, 3, 2, 1].toSorted(), [1, 2, 3, 4]); +assert.compareArray(['a', 2, 1, 'z'].toSorted(), [1, 2, 'a', 'z']); + +assert.compareArray( + [333, 33, 3, 222, 22, 2, 111, 11, 1].toSorted(), + [1, 11, 111, 2, 22, 222, 3, 33, 333]); diff --git a/JSTests/test262/test/built-ins/Array/prototype/with/this-value-boolean.js b/JSTests/test262/test/built-ins/Array/prototype/with/this-value-boolean.js index e46901f24aa38..a16c9db3b97f8 100644 --- a/JSTests/test262/test/built-ins/Array/prototype/with/this-value-boolean.js +++ b/JSTests/test262/test/built-ins/Array/prototype/with/this-value-boolean.js @@ -32,8 +32,8 @@ delete Boolean.prototype.length; Boolean.prototype[0] = "monkeys"; Boolean.prototype[2] = "bogus"; assert.throws(RangeError, - () => compareArray(Array.prototype.with.call(true, 0, 2)), + () => Array.prototype.with.call(true, 0, 2), "Array.prototype.with on object with undefined length"); assert.throws(RangeError, - () => compareArray(Array.prototype.with.call(false, 0, 2)), + () => Array.prototype.with.call(false, 0, 2), "Array.prototype.with on object with undefined length"); diff --git a/JSTests/test262/test/built-ins/ArrayBuffer/prototype/resize/this-is-immutable-arraybuffer-object.js b/JSTests/test262/test/built-ins/ArrayBuffer/prototype/resize/this-is-immutable-arraybuffer-object.js new file mode 100644 index 0000000000000..b6b6410652308 --- /dev/null +++ b/JSTests/test262/test/built-ins/ArrayBuffer/prototype/resize/this-is-immutable-arraybuffer-object.js @@ -0,0 +1,32 @@ +// Copyright (C) 2025 Richard Gibson. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-arraybuffer.prototype.resize +description: > + Throws a TypeError if `this` has an [[ArrayBufferIsImmutable]] internal slot. +info: | + ArrayBuffer.prototype.resize ( newLength ) + 1. Let O be the this value. + 2. Perform ? RequireInternalSlot(O, [[ArrayBufferMaxByteLength]]). + ... + 6. Assert: IsImmutableBuffer(O) is false. +features: [resizable-arraybuffer, immutable-arraybuffer] +includes: [compareArray.js] +---*/ + +var calls = []; + +var ab = (new ArrayBuffer(4)).transferToImmutable(); +assert.throws(TypeError, function() { + ab.resize(0); +}); +assert.throws(TypeError, function() { + ab.resize({ + valueOf() { + calls.push('newLength.valueOf'); + return 0; + } + }); +}); +assert.compareArray(calls, [], 'Must verify internal slots before reading newLength.'); diff --git a/JSTests/test262/test/built-ins/ArrayBuffer/prototype/slice/species-returns-immutable-arraybuffer.js b/JSTests/test262/test/built-ins/ArrayBuffer/prototype/slice/species-returns-immutable-arraybuffer.js new file mode 100644 index 0000000000000..ca674ffda487a --- /dev/null +++ b/JSTests/test262/test/built-ins/ArrayBuffer/prototype/slice/species-returns-immutable-arraybuffer.js @@ -0,0 +1,55 @@ +// Copyright (C) 2025 Richard Gibson. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-arraybuffer.prototype.slice +description: > + Throws a TypeError if species constructor returns an immutable ArrayBuffer. +info: | + ArrayBuffer.prototype.slice ( start, end ) + 1. Let O be the this value. + ... + 14. Let bounds be ? ResolveBounds(len, start, end). + ... + 18. Let ctor be ? SpeciesConstructor(O, %ArrayBuffer%). + 19. Let new be ? Construct(ctor, « 𝔽(newLen) »). + ... + 23. If IsImmutableBuffer(new) is true, throw a TypeError exception. +features: [Symbol.species, immutable-arraybuffer] +includes: [compareArray.js] +---*/ + +var calls = []; + +var speciesConstructor = {}; +speciesConstructor[Symbol.species] = function(length) { + calls.push("Symbol.species(" + length + ")"); + return arrayBuffer.sliceToImmutable(); +}; + +var arrayBuffer = new ArrayBuffer(8); +arrayBuffer.constructor = speciesConstructor; + +assert.throws(TypeError, function() { + arrayBuffer.slice(); +}); +assert.compareArray(calls, ["Symbol.species(8)"]); + +calls = []; +assert.throws(TypeError, function() { + var start = { + valueOf() { + calls.push("start.valueOf"); + return 1; + } + }; + var end = { + valueOf() { + calls.push("end.valueOf"); + return 2; + } + }; + arrayBuffer.slice(start, end); +}); +assert.compareArray(calls, ["start.valueOf", "end.valueOf", "Symbol.species(1)"], + "Must read arguments before SpeciesConstructor."); diff --git a/JSTests/test262/test/built-ins/ArrayBuffer/prototype/transfer/this-is-immutable-arraybuffer.js b/JSTests/test262/test/built-ins/ArrayBuffer/prototype/transfer/this-is-immutable-arraybuffer.js new file mode 100644 index 0000000000000..c1fb3092dd724 --- /dev/null +++ b/JSTests/test262/test/built-ins/ArrayBuffer/prototype/transfer/this-is-immutable-arraybuffer.js @@ -0,0 +1,40 @@ +// Copyright (C) 2025 Richard Gibson. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-arraybuffer.prototype.transfer +description: Throws a TypeError if `this` is immutable. +info: | + ArrayBuffer.prototype.transfer ( [ newLength ] ) + 1. Let O be the this value. + 2. Return ? ArrayBufferCopyAndDetach(O, newLength, ~preserve-resizability~). + + ArrayBufferCopyAndDetach ( arrayBuffer, newLength, preserveResizability ) + 1. Perform ? RequireInternalSlot(arrayBuffer, [[ArrayBufferData]]). + 2. If IsSharedArrayBuffer(arrayBuffer) is true, throw a TypeError exception. + 3. If newLength is undefined, then + a. Let newByteLength be arrayBuffer.[[ArrayBufferByteLength]]. + 4. Else, + a. Let newByteLength be ? ToIndex(newLength). + 5. If IsDetachedBuffer(arrayBuffer) is true, throw a TypeError exception. + 6. If IsImmutableBuffer(arrayBuffer) is true, throw a TypeError exception. +features: [arraybuffer-transfer, immutable-arraybuffer] +includes: [compareArray.js] +---*/ + +var calls = []; + +var ab = (new ArrayBuffer(4)).transferToImmutable(); +assert.throws(TypeError, function() { + ab.transfer(); +}); +assert.throws(TypeError, function() { + ab.transfer({ + valueOf() { + calls.push("newLength.valueOf"); + return 1; + } + }); +}); +assert.compareArray(calls, ["newLength.valueOf"], + "Must read newLength before verifying mutability."); diff --git a/JSTests/test262/test/built-ins/ArrayBuffer/prototype/transferToFixedLength/this-is-immutable-arraybuffer.js b/JSTests/test262/test/built-ins/ArrayBuffer/prototype/transferToFixedLength/this-is-immutable-arraybuffer.js new file mode 100644 index 0000000000000..25e3f3968d54e --- /dev/null +++ b/JSTests/test262/test/built-ins/ArrayBuffer/prototype/transferToFixedLength/this-is-immutable-arraybuffer.js @@ -0,0 +1,40 @@ +// Copyright (C) 2025 Richard Gibson. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-arraybuffer.prototype.transferToFixedLength +description: Throws a TypeError if `this` is immutable. +info: | + ArrayBuffer.prototype.transferToFixedLength ( [ newLength ] ) + 1. Let O be the this value. + 2. Return ? ArrayBufferCopyAndDetach(O, newLength, ~fixed-length~). + + ArrayBufferCopyAndDetach ( arrayBuffer, newLength, preserveResizability ) + 1. Perform ? RequireInternalSlot(arrayBuffer, [[ArrayBufferData]]). + 2. If IsSharedArrayBuffer(arrayBuffer) is true, throw a TypeError exception. + 3. If newLength is undefined, then + a. Let newByteLength be arrayBuffer.[[ArrayBufferByteLength]]. + 4. Else, + a. Let newByteLength be ? ToIndex(newLength). + 5. If IsDetachedBuffer(arrayBuffer) is true, throw a TypeError exception. + 6. If IsImmutableBuffer(arrayBuffer) is true, throw a TypeError exception. +features: [arraybuffer-transfer, immutable-arraybuffer] +includes: [compareArray.js] +---*/ + +var calls = []; + +var ab = (new ArrayBuffer(4)).transferToImmutable(); +assert.throws(TypeError, function() { + ab.transferToFixedLength(); +}); +assert.throws(TypeError, function() { + ab.transferToFixedLength({ + valueOf() { + calls.push("newLength.valueOf"); + return 1; + } + }); +}); +assert.compareArray(calls, ["newLength.valueOf"], + "Must read newLength before verifying mutability."); diff --git a/JSTests/test262/test/built-ins/DataView/prototype/setBigInt64/immutable-buffer.js b/JSTests/test262/test/built-ins/DataView/prototype/setBigInt64/immutable-buffer.js new file mode 100644 index 0000000000000..57c45a98bd3a3 --- /dev/null +++ b/JSTests/test262/test/built-ins/DataView/prototype/setBigInt64/immutable-buffer.js @@ -0,0 +1,50 @@ +// Copyright (C) 2025 Richard Gibson. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-dataview.prototype.setbigint64 +description: > + Throws a TypeError exception when the backing buffer is immutable +info: | + DataView.prototype.setBigInt64 ( byteOffset, value [ , littleEndian ] ) + 1. Let view be the this value. + 2. Return ? SetViewValue(view, byteOffset, true, ~uint8~, value). + + SetViewValue ( view, requestIndex, isLittleEndian, type, value ) + 1. Perform ? RequireInternalSlot(view, [[DataView]]). + 2. Assert: view has a [[ViewedArrayBuffer]] internal slot. + 3. If IsImmutableBuffer(view.[[ViewedArrayBuffer]]) is true, throw a TypeError exception. + 4. Let getIndex be ? ToIndex(requestIndex). + 5. If IsBigIntElementType(type) is true, let numberValue be ? ToBigInt(value). + 6. Otherwise, let numberValue be ? ToNumber(value). +features: [DataView, immutable-arraybuffer] +includes: [compareArray.js] +---*/ + +var iab = (new ArrayBuffer(8)).transferToImmutable(); +var view = new DataView(iab); + +var calls = []; +var byteOffset = { + valueOf() { + calls.push("byteOffset.valueOf"); + return 0; + } +}; +var value = { + valueOf() { + calls.push("value.valueOf"); + return "1"; + } +}; + +assert.sameValue( + view.getBigInt64(byteOffset), + (new DataView(new ArrayBuffer(8))).getBigInt64(byteOffset), + "read an initial zero" +); +calls = []; +assert.throws(TypeError, function() { + view.setBigInt64(byteOffset, value); +}); +assert.compareArray(calls, [], "Must verify mutability before reading arguments."); diff --git a/JSTests/test262/test/built-ins/DataView/prototype/setBigUint64/immutable-buffer.js b/JSTests/test262/test/built-ins/DataView/prototype/setBigUint64/immutable-buffer.js new file mode 100644 index 0000000000000..99b2264b19ecb --- /dev/null +++ b/JSTests/test262/test/built-ins/DataView/prototype/setBigUint64/immutable-buffer.js @@ -0,0 +1,50 @@ +// Copyright (C) 2025 Richard Gibson. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-dataview.prototype.setbiguint64 +description: > + Throws a TypeError exception when the backing buffer is immutable +info: | + DataView.prototype.setBigUint64 ( byteOffset, value [ , littleEndian ] ) + 1. Let view be the this value. + 2. Return ? SetViewValue(view, byteOffset, true, ~uint8~, value). + + SetViewValue ( view, requestIndex, isLittleEndian, type, value ) + 1. Perform ? RequireInternalSlot(view, [[DataView]]). + 2. Assert: view has a [[ViewedArrayBuffer]] internal slot. + 3. If IsImmutableBuffer(view.[[ViewedArrayBuffer]]) is true, throw a TypeError exception. + 4. Let getIndex be ? ToIndex(requestIndex). + 5. If IsBigIntElementType(type) is true, let numberValue be ? ToBigInt(value). + 6. Otherwise, let numberValue be ? ToNumber(value). +features: [DataView, immutable-arraybuffer] +includes: [compareArray.js] +---*/ + +var iab = (new ArrayBuffer(8)).transferToImmutable(); +var view = new DataView(iab); + +var calls = []; +var byteOffset = { + valueOf() { + calls.push("byteOffset.valueOf"); + return 0; + } +}; +var value = { + valueOf() { + calls.push("value.valueOf"); + return "1"; + } +}; + +assert.sameValue( + view.getBigUint64(byteOffset), + (new DataView(new ArrayBuffer(8))).getBigUint64(byteOffset), + "read an initial zero" +); +calls = []; +assert.throws(TypeError, function() { + view.setBigUint64(byteOffset, value); +}); +assert.compareArray(calls, [], "Must verify mutability before reading arguments."); diff --git a/JSTests/test262/test/built-ins/DataView/prototype/setFloat16/immutable-buffer.js b/JSTests/test262/test/built-ins/DataView/prototype/setFloat16/immutable-buffer.js new file mode 100644 index 0000000000000..f27337fd60ec3 --- /dev/null +++ b/JSTests/test262/test/built-ins/DataView/prototype/setFloat16/immutable-buffer.js @@ -0,0 +1,50 @@ +// Copyright (C) 2025 Richard Gibson. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-dataview.prototype.setfloat16 +description: > + Throws a TypeError exception when the backing buffer is immutable +info: | + DataView.prototype.setFloat16 ( byteOffset, value [ , littleEndian ] ) + 1. Let view be the this value. + 2. Return ? SetViewValue(view, byteOffset, true, ~uint8~, value). + + SetViewValue ( view, requestIndex, isLittleEndian, type, value ) + 1. Perform ? RequireInternalSlot(view, [[DataView]]). + 2. Assert: view has a [[ViewedArrayBuffer]] internal slot. + 3. If IsImmutableBuffer(view.[[ViewedArrayBuffer]]) is true, throw a TypeError exception. + 4. Let getIndex be ? ToIndex(requestIndex). + 5. If IsBigIntElementType(type) is true, let numberValue be ? ToBigInt(value). + 6. Otherwise, let numberValue be ? ToNumber(value). +features: [DataView, immutable-arraybuffer] +includes: [compareArray.js] +---*/ + +var iab = (new ArrayBuffer(8)).transferToImmutable(); +var view = new DataView(iab); + +var calls = []; +var byteOffset = { + valueOf() { + calls.push("byteOffset.valueOf"); + return 0; + } +}; +var value = { + valueOf() { + calls.push("value.valueOf"); + return "1"; + } +}; + +assert.sameValue( + view.getFloat16(byteOffset), + (new DataView(new ArrayBuffer(8))).getFloat16(byteOffset), + "read an initial zero" +); +calls = []; +assert.throws(TypeError, function() { + view.setFloat16(byteOffset, value); +}); +assert.compareArray(calls, [], "Must verify mutability before reading arguments."); diff --git a/JSTests/test262/test/built-ins/DataView/prototype/setFloat32/immutable-buffer.js b/JSTests/test262/test/built-ins/DataView/prototype/setFloat32/immutable-buffer.js new file mode 100644 index 0000000000000..28ffd0149384a --- /dev/null +++ b/JSTests/test262/test/built-ins/DataView/prototype/setFloat32/immutable-buffer.js @@ -0,0 +1,50 @@ +// Copyright (C) 2025 Richard Gibson. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-dataview.prototype.setfloat32 +description: > + Throws a TypeError exception when the backing buffer is immutable +info: | + DataView.prototype.setFloat32 ( byteOffset, value [ , littleEndian ] ) + 1. Let view be the this value. + 2. Return ? SetViewValue(view, byteOffset, true, ~uint8~, value). + + SetViewValue ( view, requestIndex, isLittleEndian, type, value ) + 1. Perform ? RequireInternalSlot(view, [[DataView]]). + 2. Assert: view has a [[ViewedArrayBuffer]] internal slot. + 3. If IsImmutableBuffer(view.[[ViewedArrayBuffer]]) is true, throw a TypeError exception. + 4. Let getIndex be ? ToIndex(requestIndex). + 5. If IsBigIntElementType(type) is true, let numberValue be ? ToBigInt(value). + 6. Otherwise, let numberValue be ? ToNumber(value). +features: [DataView, immutable-arraybuffer] +includes: [compareArray.js] +---*/ + +var iab = (new ArrayBuffer(8)).transferToImmutable(); +var view = new DataView(iab); + +var calls = []; +var byteOffset = { + valueOf() { + calls.push("byteOffset.valueOf"); + return 0; + } +}; +var value = { + valueOf() { + calls.push("value.valueOf"); + return "1"; + } +}; + +assert.sameValue( + view.getFloat32(byteOffset), + (new DataView(new ArrayBuffer(8))).getFloat32(byteOffset), + "read an initial zero" +); +calls = []; +assert.throws(TypeError, function() { + view.setFloat32(byteOffset, value); +}); +assert.compareArray(calls, [], "Must verify mutability before reading arguments."); diff --git a/JSTests/test262/test/built-ins/DataView/prototype/setFloat64/immutable-buffer.js b/JSTests/test262/test/built-ins/DataView/prototype/setFloat64/immutable-buffer.js new file mode 100644 index 0000000000000..1b4342a129ab6 --- /dev/null +++ b/JSTests/test262/test/built-ins/DataView/prototype/setFloat64/immutable-buffer.js @@ -0,0 +1,50 @@ +// Copyright (C) 2025 Richard Gibson. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-dataview.prototype.setfloat64 +description: > + Throws a TypeError exception when the backing buffer is immutable +info: | + DataView.prototype.setFloat64 ( byteOffset, value [ , littleEndian ] ) + 1. Let view be the this value. + 2. Return ? SetViewValue(view, byteOffset, true, ~uint8~, value). + + SetViewValue ( view, requestIndex, isLittleEndian, type, value ) + 1. Perform ? RequireInternalSlot(view, [[DataView]]). + 2. Assert: view has a [[ViewedArrayBuffer]] internal slot. + 3. If IsImmutableBuffer(view.[[ViewedArrayBuffer]]) is true, throw a TypeError exception. + 4. Let getIndex be ? ToIndex(requestIndex). + 5. If IsBigIntElementType(type) is true, let numberValue be ? ToBigInt(value). + 6. Otherwise, let numberValue be ? ToNumber(value). +features: [DataView, immutable-arraybuffer] +includes: [compareArray.js] +---*/ + +var iab = (new ArrayBuffer(8)).transferToImmutable(); +var view = new DataView(iab); + +var calls = []; +var byteOffset = { + valueOf() { + calls.push("byteOffset.valueOf"); + return 0; + } +}; +var value = { + valueOf() { + calls.push("value.valueOf"); + return "1"; + } +}; + +assert.sameValue( + view.getFloat64(byteOffset), + (new DataView(new ArrayBuffer(8))).getFloat64(byteOffset), + "read an initial zero" +); +calls = []; +assert.throws(TypeError, function() { + view.setFloat64(byteOffset, value); +}); +assert.compareArray(calls, [], "Must verify mutability before reading arguments."); diff --git a/JSTests/test262/test/built-ins/DataView/prototype/setInt16/immutable-buffer.js b/JSTests/test262/test/built-ins/DataView/prototype/setInt16/immutable-buffer.js new file mode 100644 index 0000000000000..3d349465a91be --- /dev/null +++ b/JSTests/test262/test/built-ins/DataView/prototype/setInt16/immutable-buffer.js @@ -0,0 +1,50 @@ +// Copyright (C) 2025 Richard Gibson. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-dataview.prototype.setint16 +description: > + Throws a TypeError exception when the backing buffer is immutable +info: | + DataView.prototype.setInt16 ( byteOffset, value [ , littleEndian ] ) + 1. Let view be the this value. + 2. Return ? SetViewValue(view, byteOffset, true, ~uint8~, value). + + SetViewValue ( view, requestIndex, isLittleEndian, type, value ) + 1. Perform ? RequireInternalSlot(view, [[DataView]]). + 2. Assert: view has a [[ViewedArrayBuffer]] internal slot. + 3. If IsImmutableBuffer(view.[[ViewedArrayBuffer]]) is true, throw a TypeError exception. + 4. Let getIndex be ? ToIndex(requestIndex). + 5. If IsBigIntElementType(type) is true, let numberValue be ? ToBigInt(value). + 6. Otherwise, let numberValue be ? ToNumber(value). +features: [DataView, immutable-arraybuffer] +includes: [compareArray.js] +---*/ + +var iab = (new ArrayBuffer(8)).transferToImmutable(); +var view = new DataView(iab); + +var calls = []; +var byteOffset = { + valueOf() { + calls.push("byteOffset.valueOf"); + return 0; + } +}; +var value = { + valueOf() { + calls.push("value.valueOf"); + return "1"; + } +}; + +assert.sameValue( + view.getInt16(byteOffset), + (new DataView(new ArrayBuffer(8))).getInt16(byteOffset), + "read an initial zero" +); +calls = []; +assert.throws(TypeError, function() { + view.setInt16(byteOffset, value); +}); +assert.compareArray(calls, [], "Must verify mutability before reading arguments."); diff --git a/JSTests/test262/test/built-ins/DataView/prototype/setInt32/immutable-buffer.js b/JSTests/test262/test/built-ins/DataView/prototype/setInt32/immutable-buffer.js new file mode 100644 index 0000000000000..b664033eca410 --- /dev/null +++ b/JSTests/test262/test/built-ins/DataView/prototype/setInt32/immutable-buffer.js @@ -0,0 +1,50 @@ +// Copyright (C) 2025 Richard Gibson. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-dataview.prototype.setint32 +description: > + Throws a TypeError exception when the backing buffer is immutable +info: | + DataView.prototype.setInt32 ( byteOffset, value [ , littleEndian ] ) + 1. Let view be the this value. + 2. Return ? SetViewValue(view, byteOffset, true, ~uint8~, value). + + SetViewValue ( view, requestIndex, isLittleEndian, type, value ) + 1. Perform ? RequireInternalSlot(view, [[DataView]]). + 2. Assert: view has a [[ViewedArrayBuffer]] internal slot. + 3. If IsImmutableBuffer(view.[[ViewedArrayBuffer]]) is true, throw a TypeError exception. + 4. Let getIndex be ? ToIndex(requestIndex). + 5. If IsBigIntElementType(type) is true, let numberValue be ? ToBigInt(value). + 6. Otherwise, let numberValue be ? ToNumber(value). +features: [DataView, immutable-arraybuffer] +includes: [compareArray.js] +---*/ + +var iab = (new ArrayBuffer(8)).transferToImmutable(); +var view = new DataView(iab); + +var calls = []; +var byteOffset = { + valueOf() { + calls.push("byteOffset.valueOf"); + return 0; + } +}; +var value = { + valueOf() { + calls.push("value.valueOf"); + return "1"; + } +}; + +assert.sameValue( + view.getInt32(byteOffset), + (new DataView(new ArrayBuffer(8))).getInt32(byteOffset), + "read an initial zero" +); +calls = []; +assert.throws(TypeError, function() { + view.setInt32(byteOffset, value); +}); +assert.compareArray(calls, [], "Must verify mutability before reading arguments."); diff --git a/JSTests/test262/test/built-ins/DataView/prototype/setInt8/immutable-buffer.js b/JSTests/test262/test/built-ins/DataView/prototype/setInt8/immutable-buffer.js new file mode 100644 index 0000000000000..50cd6859eaa7a --- /dev/null +++ b/JSTests/test262/test/built-ins/DataView/prototype/setInt8/immutable-buffer.js @@ -0,0 +1,50 @@ +// Copyright (C) 2025 Richard Gibson. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-dataview.prototype.setint8 +description: > + Throws a TypeError exception when the backing buffer is immutable +info: | + DataView.prototype.setInt8 ( byteOffset, value ) + 1. Let view be the this value. + 2. Return ? SetViewValue(view, byteOffset, true, ~uint8~, value). + + SetViewValue ( view, requestIndex, isLittleEndian, type, value ) + 1. Perform ? RequireInternalSlot(view, [[DataView]]). + 2. Assert: view has a [[ViewedArrayBuffer]] internal slot. + 3. If IsImmutableBuffer(view.[[ViewedArrayBuffer]]) is true, throw a TypeError exception. + 4. Let getIndex be ? ToIndex(requestIndex). + 5. If IsBigIntElementType(type) is true, let numberValue be ? ToBigInt(value). + 6. Otherwise, let numberValue be ? ToNumber(value). +features: [DataView, immutable-arraybuffer] +includes: [compareArray.js] +---*/ + +var iab = (new ArrayBuffer(8)).transferToImmutable(); +var view = new DataView(iab); + +var calls = []; +var byteOffset = { + valueOf() { + calls.push("byteOffset.valueOf"); + return 0; + } +}; +var value = { + valueOf() { + calls.push("value.valueOf"); + return "1"; + } +}; + +assert.sameValue( + view.getInt8(byteOffset), + (new DataView(new ArrayBuffer(8))).getInt8(byteOffset), + "read an initial zero" +); +calls = []; +assert.throws(TypeError, function() { + view.setInt8(byteOffset, value); +}); +assert.compareArray(calls, [], "Must verify mutability before reading arguments."); diff --git a/JSTests/test262/test/built-ins/DataView/prototype/setUint16/immutable-buffer.js b/JSTests/test262/test/built-ins/DataView/prototype/setUint16/immutable-buffer.js new file mode 100644 index 0000000000000..470eef6bf5c11 --- /dev/null +++ b/JSTests/test262/test/built-ins/DataView/prototype/setUint16/immutable-buffer.js @@ -0,0 +1,50 @@ +// Copyright (C) 2025 Richard Gibson. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-dataview.prototype.setuint16 +description: > + Throws a TypeError exception when the backing buffer is immutable +info: | + DataView.prototype.setUint16 ( byteOffset, value [ , littleEndian ] ) + 1. Let view be the this value. + 2. Return ? SetViewValue(view, byteOffset, true, ~uint8~, value). + + SetViewValue ( view, requestIndex, isLittleEndian, type, value ) + 1. Perform ? RequireInternalSlot(view, [[DataView]]). + 2. Assert: view has a [[ViewedArrayBuffer]] internal slot. + 3. If IsImmutableBuffer(view.[[ViewedArrayBuffer]]) is true, throw a TypeError exception. + 4. Let getIndex be ? ToIndex(requestIndex). + 5. If IsBigIntElementType(type) is true, let numberValue be ? ToBigInt(value). + 6. Otherwise, let numberValue be ? ToNumber(value). +features: [DataView, immutable-arraybuffer] +includes: [compareArray.js] +---*/ + +var iab = (new ArrayBuffer(8)).transferToImmutable(); +var view = new DataView(iab); + +var calls = []; +var byteOffset = { + valueOf() { + calls.push("byteOffset.valueOf"); + return 0; + } +}; +var value = { + valueOf() { + calls.push("value.valueOf"); + return "1"; + } +}; + +assert.sameValue( + view.getUint16(byteOffset), + (new DataView(new ArrayBuffer(8))).getUint16(byteOffset), + "read an initial zero" +); +calls = []; +assert.throws(TypeError, function() { + view.setUint16(byteOffset, value); +}); +assert.compareArray(calls, [], "Must verify mutability before reading arguments."); diff --git a/JSTests/test262/test/built-ins/DataView/prototype/setUint32/immutable-buffer.js b/JSTests/test262/test/built-ins/DataView/prototype/setUint32/immutable-buffer.js new file mode 100644 index 0000000000000..f8400aaf3f000 --- /dev/null +++ b/JSTests/test262/test/built-ins/DataView/prototype/setUint32/immutable-buffer.js @@ -0,0 +1,50 @@ +// Copyright (C) 2025 Richard Gibson. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-dataview.prototype.setuint32 +description: > + Throws a TypeError exception when the backing buffer is immutable +info: | + DataView.prototype.setUint32 ( byteOffset, value [ , littleEndian ] ) + 1. Let view be the this value. + 2. Return ? SetViewValue(view, byteOffset, true, ~uint8~, value). + + SetViewValue ( view, requestIndex, isLittleEndian, type, value ) + 1. Perform ? RequireInternalSlot(view, [[DataView]]). + 2. Assert: view has a [[ViewedArrayBuffer]] internal slot. + 3. If IsImmutableBuffer(view.[[ViewedArrayBuffer]]) is true, throw a TypeError exception. + 4. Let getIndex be ? ToIndex(requestIndex). + 5. If IsBigIntElementType(type) is true, let numberValue be ? ToBigInt(value). + 6. Otherwise, let numberValue be ? ToNumber(value). +features: [DataView, immutable-arraybuffer] +includes: [compareArray.js] +---*/ + +var iab = (new ArrayBuffer(8)).transferToImmutable(); +var view = new DataView(iab); + +var calls = []; +var byteOffset = { + valueOf() { + calls.push("byteOffset.valueOf"); + return 0; + } +}; +var value = { + valueOf() { + calls.push("value.valueOf"); + return "1"; + } +}; + +assert.sameValue( + view.getUint32(byteOffset), + (new DataView(new ArrayBuffer(8))).getUint32(byteOffset), + "read an initial zero" +); +calls = []; +assert.throws(TypeError, function() { + view.setUint32(byteOffset, value); +}); +assert.compareArray(calls, [], "Must verify mutability before reading arguments."); diff --git a/JSTests/test262/test/built-ins/DataView/prototype/setUint8/immutable-buffer.js b/JSTests/test262/test/built-ins/DataView/prototype/setUint8/immutable-buffer.js new file mode 100644 index 0000000000000..2c1892caabd2b --- /dev/null +++ b/JSTests/test262/test/built-ins/DataView/prototype/setUint8/immutable-buffer.js @@ -0,0 +1,50 @@ +// Copyright (C) 2025 Richard Gibson. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-dataview.prototype.setuint8 +description: > + Throws a TypeError exception when the backing buffer is immutable +info: | + DataView.prototype.setUint8 ( byteOffset, value ) + 1. Let view be the this value. + 2. Return ? SetViewValue(view, byteOffset, true, ~uint8~, value). + + SetViewValue ( view, requestIndex, isLittleEndian, type, value ) + 1. Perform ? RequireInternalSlot(view, [[DataView]]). + 2. Assert: view has a [[ViewedArrayBuffer]] internal slot. + 3. If IsImmutableBuffer(view.[[ViewedArrayBuffer]]) is true, throw a TypeError exception. + 4. Let getIndex be ? ToIndex(requestIndex). + 5. If IsBigIntElementType(type) is true, let numberValue be ? ToBigInt(value). + 6. Otherwise, let numberValue be ? ToNumber(value). +features: [DataView, immutable-arraybuffer] +includes: [compareArray.js] +---*/ + +var iab = (new ArrayBuffer(8)).transferToImmutable(); +var view = new DataView(iab); + +var calls = []; +var byteOffset = { + valueOf() { + calls.push("byteOffset.valueOf"); + return 0; + } +}; +var value = { + valueOf() { + calls.push("value.valueOf"); + return "1"; + } +}; + +assert.sameValue( + view.getUint8(byteOffset), + (new DataView(new ArrayBuffer(8))).getUint8(byteOffset), + "read an initial zero" +); +calls = []; +assert.throws(TypeError, function() { + view.setUint8(byteOffset, value); +}); +assert.compareArray(calls, [], "Must verify mutability before reading arguments."); diff --git a/JSTests/test262/test/built-ins/Iterator/concat/next-method-returns-throwing-value.js b/JSTests/test262/test/built-ins/Iterator/concat/next-method-returns-throwing-value.js index 202bdae412ab7..3949f4ac5742c 100644 --- a/JSTests/test262/test/built-ins/Iterator/concat/next-method-returns-throwing-value.js +++ b/JSTests/test262/test/built-ins/Iterator/concat/next-method-returns-throwing-value.js @@ -13,15 +13,8 @@ info: | a. For each Record iterable of iterables, do ... v. Repeat, while innerAlive is true, - 1. Let iteratorResult be ? IteratorStep(iteratorRecord). - 2. If iteratorResult is done, then - a. Perform ? IteratorValue(iteratorResult). - b. Set innerAlive to false. - 3. Else, - a. Let completion be Completion(GeneratorYield(iteratorResult)). - b. If completion is an abrupt completion, then - i. Return ? IteratorClose(iteratorRecord, completion). - ... + 1. Let innerValue be ? IteratorStepValue(iteratorRecord). + ... features: [iterator-sequencing] ---*/ @@ -46,8 +39,7 @@ let iterable = { }; let iterator = Iterator.concat(iterable); -let iteratorResult = iterator.next(); assert.throws(Test262Error, function() { - iteratorResult.value; + iterator.next(); }); diff --git a/JSTests/test262/test/built-ins/Iterator/concat/return-is-not-forwarded-before-initial-start.js b/JSTests/test262/test/built-ins/Iterator/concat/return-is-not-forwarded-before-initial-start.js index 9aebfe9cb15ac..e449389592e97 100644 --- a/JSTests/test262/test/built-ins/Iterator/concat/return-is-not-forwarded-before-initial-start.js +++ b/JSTests/test262/test/built-ins/Iterator/concat/return-is-not-forwarded-before-initial-start.js @@ -10,10 +10,7 @@ features: [iterator-sequencing] let testIterator = { next() { - return { - done: false, - value: 1, - }; + throw new Test262Error(); }, return() { throw new Test262Error(); diff --git a/JSTests/test262/test/built-ins/String/prototype/isWellFormed/not-a-constructor.js b/JSTests/test262/test/built-ins/String/prototype/isWellFormed/not-a-constructor.js index 37e0d5e31c4b3..1bd1df1e8a951 100644 --- a/JSTests/test262/test/built-ins/String/prototype/isWellFormed/not-a-constructor.js +++ b/JSTests/test262/test/built-ins/String/prototype/isWellFormed/not-a-constructor.js @@ -4,7 +4,7 @@ /*--- esid: sec-ecmascript-standard-built-in-objects description: > - String.prototype.includes does not implement [[Construct]], is not new-able + String.prototype.isWellFormed does not implement [[Construct]], is not new-able info: | ECMAScript Function Objects diff --git a/JSTests/test262/test/built-ins/String/prototype/toWellFormed/not-a-constructor.js b/JSTests/test262/test/built-ins/String/prototype/toWellFormed/not-a-constructor.js index 7c4acb4a2cf86..9377932607588 100644 --- a/JSTests/test262/test/built-ins/String/prototype/toWellFormed/not-a-constructor.js +++ b/JSTests/test262/test/built-ins/String/prototype/toWellFormed/not-a-constructor.js @@ -4,7 +4,7 @@ /*--- esid: sec-ecmascript-standard-built-in-objects description: > - String.prototype.includes does not implement [[Construct]], is not new-able + String.prototype.toWellFormed does not implement [[Construct]], is not new-able info: | ECMAScript Function Objects diff --git a/JSTests/test262/test/built-ins/Temporal/Duration/compare/blank-duration.js b/JSTests/test262/test/built-ins/Temporal/Duration/compare/blank-duration.js new file mode 100644 index 0000000000000..01a8a6ec5e257 --- /dev/null +++ b/JSTests/test262/test/built-ins/Temporal/Duration/compare/blank-duration.js @@ -0,0 +1,20 @@ +// Copyright (C) 2025 Igalia, S.L. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-temporal.duration.compare +description: Behaviour with blank durations +features: [Temporal] +---*/ + +const blank1 = new Temporal.Duration(); +const blank2 = new Temporal.Duration(); +const { compare } = Temporal.Duration; +const plainRelativeTo = new Temporal.PlainDate(2025, 8, 22); +const zonedRelativeTo = new Temporal.ZonedDateTime(1n, "UTC"); + +assert.sameValue(compare(blank1, blank2), 0, "zero durations compared without relativeTo"); +assert.sameValue(compare(blank1, blank2, { relativeTo: plainRelativeTo }), 0, + "zero durations compared with PlainDate relativeTo"); +assert.sameValue(compare(blank1, blank2, { relativeTo: zonedRelativeTo }), 0, + "zero durations compared with ZonedDateTime relativeTo"); diff --git a/JSTests/test262/test/built-ins/Temporal/Duration/from/blank-duration.js b/JSTests/test262/test/built-ins/Temporal/Duration/from/blank-duration.js new file mode 100644 index 0000000000000..2271655b337bd --- /dev/null +++ b/JSTests/test262/test/built-ins/Temporal/Duration/from/blank-duration.js @@ -0,0 +1,13 @@ +// Copyright (C) 2025 Igalia, S.L. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-temporal.duration.from +description: Behaviour with blank duration +features: [Temporal] +includes: [temporalHelpers.js] +---*/ + +const blank = new Temporal.Duration(); +const result = Temporal.Duration.from(blank); +TemporalHelpers.assertDuration(result, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "result is also blank"); diff --git a/JSTests/test262/test/built-ins/Temporal/Duration/prototype/abs/basic.js b/JSTests/test262/test/built-ins/Temporal/Duration/prototype/abs/basic.js index ecc2ecf18a206..eecf383061674 100644 --- a/JSTests/test262/test/built-ins/Temporal/Duration/prototype/abs/basic.js +++ b/JSTests/test262/test/built-ins/Temporal/Duration/prototype/abs/basic.js @@ -15,7 +15,7 @@ includes: [temporalHelpers.js] let d1 = new Temporal.Duration(); TemporalHelpers.assertDuration( - d1.abs(), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "empty"); + d1.abs(), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "blank"); let d2 = new Temporal.Duration(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); TemporalHelpers.assertDuration( diff --git a/JSTests/test262/test/built-ins/Temporal/Duration/prototype/add/blank-duration.js b/JSTests/test262/test/built-ins/Temporal/Duration/prototype/add/blank-duration.js new file mode 100644 index 0000000000000..b8b0f36d63d51 --- /dev/null +++ b/JSTests/test262/test/built-ins/Temporal/Duration/prototype/add/blank-duration.js @@ -0,0 +1,16 @@ +// Copyright (C) 2025 Igalia, S.L. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-temporal.duration.prototype.add +description: Behaviour with blank duration +features: [Temporal] +includes: [temporalHelpers.js] +---*/ + +const blank1 = new Temporal.Duration(); +const blank2 = new Temporal.Duration(); + +const result = blank1.add(blank2); + +TemporalHelpers.assertDuration(result, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "result is also blank"); diff --git a/JSTests/test262/test/built-ins/Temporal/Duration/prototype/blank/basic.js b/JSTests/test262/test/built-ins/Temporal/Duration/prototype/blank/basic.js index 10a594cb24686..11b3197f72f74 100644 --- a/JSTests/test262/test/built-ins/Temporal/Duration/prototype/blank/basic.js +++ b/JSTests/test262/test/built-ins/Temporal/Duration/prototype/blank/basic.js @@ -23,3 +23,4 @@ const zero = Temporal.Duration.from({ nanoseconds: 0 }); assert.sameValue(zero.blank, true); +assert(new Temporal.Duration().blank, "created via constructor"); diff --git a/JSTests/test262/test/built-ins/Temporal/Duration/prototype/days/blank-duration.js b/JSTests/test262/test/built-ins/Temporal/Duration/prototype/days/blank-duration.js new file mode 100644 index 0000000000000..45f4c87b380ae --- /dev/null +++ b/JSTests/test262/test/built-ins/Temporal/Duration/prototype/days/blank-duration.js @@ -0,0 +1,11 @@ +// Copyright (C) 2025 Igalia, S.L. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-get-temporal.duration.prototype.days +description: Behaviour with blank duration +features: [Temporal] +---*/ + +const blank = new Temporal.Duration(); +assert.sameValue(blank.days, 0); diff --git a/JSTests/test262/test/built-ins/Temporal/Duration/prototype/hours/blank-duration.js b/JSTests/test262/test/built-ins/Temporal/Duration/prototype/hours/blank-duration.js new file mode 100644 index 0000000000000..5ba68e8bc8a83 --- /dev/null +++ b/JSTests/test262/test/built-ins/Temporal/Duration/prototype/hours/blank-duration.js @@ -0,0 +1,11 @@ +// Copyright (C) 2025 Igalia, S.L. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-get-temporal.duration.prototype.hours +description: Behaviour with blank duration +features: [Temporal] +---*/ + +const blank = new Temporal.Duration(); +assert.sameValue(blank.hours, 0); diff --git a/JSTests/test262/test/built-ins/Temporal/Duration/prototype/microseconds/blank-duration.js b/JSTests/test262/test/built-ins/Temporal/Duration/prototype/microseconds/blank-duration.js new file mode 100644 index 0000000000000..3f0d72a82b85b --- /dev/null +++ b/JSTests/test262/test/built-ins/Temporal/Duration/prototype/microseconds/blank-duration.js @@ -0,0 +1,11 @@ +// Copyright (C) 2025 Igalia, S.L. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-get-temporal.duration.prototype.microseconds +description: Behaviour with blank duration +features: [Temporal] +---*/ + +const blank = new Temporal.Duration(); +assert.sameValue(blank.microseconds, 0); diff --git a/JSTests/test262/test/built-ins/Temporal/Duration/prototype/milliseconds/blank-duration.js b/JSTests/test262/test/built-ins/Temporal/Duration/prototype/milliseconds/blank-duration.js new file mode 100644 index 0000000000000..75f8fc2c0cb6e --- /dev/null +++ b/JSTests/test262/test/built-ins/Temporal/Duration/prototype/milliseconds/blank-duration.js @@ -0,0 +1,11 @@ +// Copyright (C) 2025 Igalia, S.L. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-get-temporal.duration.prototype.milliseconds +description: Behaviour with blank duration +features: [Temporal] +---*/ + +const blank = new Temporal.Duration(); +assert.sameValue(blank.milliseconds, 0); diff --git a/JSTests/test262/test/built-ins/Temporal/Duration/prototype/minutes/blank-duration.js b/JSTests/test262/test/built-ins/Temporal/Duration/prototype/minutes/blank-duration.js new file mode 100644 index 0000000000000..51192e7bcb0a6 --- /dev/null +++ b/JSTests/test262/test/built-ins/Temporal/Duration/prototype/minutes/blank-duration.js @@ -0,0 +1,11 @@ +// Copyright (C) 2025 Igalia, S.L. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-get-temporal.duration.prototype.minutes +description: Behaviour with blank duration +features: [Temporal] +---*/ + +const blank = new Temporal.Duration(); +assert.sameValue(blank.minutes, 0); diff --git a/JSTests/test262/test/built-ins/Temporal/Duration/prototype/months/blank-duration.js b/JSTests/test262/test/built-ins/Temporal/Duration/prototype/months/blank-duration.js new file mode 100644 index 0000000000000..eed0c260a931e --- /dev/null +++ b/JSTests/test262/test/built-ins/Temporal/Duration/prototype/months/blank-duration.js @@ -0,0 +1,11 @@ +// Copyright (C) 2025 Igalia, S.L. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-get-temporal.duration.prototype.months +description: Behaviour with blank duration +features: [Temporal] +---*/ + +const blank = new Temporal.Duration(); +assert.sameValue(blank.months, 0); diff --git a/JSTests/test262/test/built-ins/Temporal/Duration/prototype/nanoseconds/blank-duration.js b/JSTests/test262/test/built-ins/Temporal/Duration/prototype/nanoseconds/blank-duration.js new file mode 100644 index 0000000000000..f4e213fa68f10 --- /dev/null +++ b/JSTests/test262/test/built-ins/Temporal/Duration/prototype/nanoseconds/blank-duration.js @@ -0,0 +1,11 @@ +// Copyright (C) 2025 Igalia, S.L. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-get-temporal.duration.prototype.nanoseconds +description: Behaviour with blank duration +features: [Temporal] +---*/ + +const blank = new Temporal.Duration(); +assert.sameValue(blank.nanoseconds, 0); diff --git a/JSTests/test262/test/built-ins/Temporal/Duration/prototype/negated/basic.js b/JSTests/test262/test/built-ins/Temporal/Duration/prototype/negated/basic.js index f2bae4848a7d5..f2fc4de1aaf96 100644 --- a/JSTests/test262/test/built-ins/Temporal/Duration/prototype/negated/basic.js +++ b/JSTests/test262/test/built-ins/Temporal/Duration/prototype/negated/basic.js @@ -13,7 +13,7 @@ includes: [temporalHelpers.js] let d1 = new Temporal.Duration(); TemporalHelpers.assertDuration( d1.negated(), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - "zeros"); + "blank"); let d2 = new Temporal.Duration(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); TemporalHelpers.assertDuration( diff --git a/JSTests/test262/test/built-ins/Temporal/Duration/prototype/round/blank-duration.js b/JSTests/test262/test/built-ins/Temporal/Duration/prototype/round/blank-duration.js new file mode 100644 index 0000000000000..45ac16556b8dd --- /dev/null +++ b/JSTests/test262/test/built-ins/Temporal/Duration/prototype/round/blank-duration.js @@ -0,0 +1,32 @@ +// Copyright (C) 2025 Igalia, S.L. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-temporal.duration.prototype.round +description: Behaviour with blank duration +features: [Temporal] +includes: [temporalHelpers.js] +---*/ + +const blank = new Temporal.Duration(); +const plainRelativeTo = new Temporal.PlainDate(2025, 8, 22); +const zonedRelativeTo = new Temporal.ZonedDateTime(1n, "UTC"); + +for (const smallestUnit of ['days', 'hours', 'minutes', 'seconds', 'milliseconds', 'microseconds', 'nanoseconds']) { + let result = blank.round(smallestUnit); + TemporalHelpers.assertDuration(result, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, `round to ${smallestUnit} without relativeTo`); + + result = blank.round({ smallestUnit, relativeTo: plainRelativeTo }); + TemporalHelpers.assertDuration(result, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, `round to ${smallestUnit} with PlainDate relativeTo`); + + result = blank.round({ smallestUnit, relativeTo: zonedRelativeTo }); + TemporalHelpers.assertDuration(result, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, `round to ${smallestUnit} with ZonedDateTime relativeTo`); +} + +for (const smallestUnit of ['years', 'months', 'weeks']) { + let result = blank.round({ smallestUnit, relativeTo: plainRelativeTo }); + TemporalHelpers.assertDuration(result, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, `round to ${smallestUnit} with PlainDate relativeTo`); + + result = blank.round({ smallestUnit, relativeTo: zonedRelativeTo }); + TemporalHelpers.assertDuration(result, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, `round to ${smallestUnit} with ZonedDateTime relativeTo`); +} diff --git a/JSTests/test262/test/built-ins/Temporal/Duration/prototype/seconds/blank-duration.js b/JSTests/test262/test/built-ins/Temporal/Duration/prototype/seconds/blank-duration.js new file mode 100644 index 0000000000000..310820c76ff1e --- /dev/null +++ b/JSTests/test262/test/built-ins/Temporal/Duration/prototype/seconds/blank-duration.js @@ -0,0 +1,11 @@ +// Copyright (C) 2025 Igalia, S.L. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-get-temporal.duration.prototype.seconds +description: Behaviour with blank duration +features: [Temporal] +---*/ + +const blank = new Temporal.Duration(); +assert.sameValue(blank.seconds, 0); diff --git a/JSTests/test262/test/built-ins/Temporal/Duration/prototype/sign/blank-duration.js b/JSTests/test262/test/built-ins/Temporal/Duration/prototype/sign/blank-duration.js new file mode 100644 index 0000000000000..c0d18b8f301e3 --- /dev/null +++ b/JSTests/test262/test/built-ins/Temporal/Duration/prototype/sign/blank-duration.js @@ -0,0 +1,12 @@ +// Copyright (C) 2025 Igalia, S.L. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-get-temporal.duration.prototype.sign +description: Behaviour with blank duration +features: [Temporal] +---*/ + +const blank = new Temporal.Duration(); +assert.sameValue(blank.sign, 0); + diff --git a/JSTests/test262/test/built-ins/Temporal/Duration/prototype/subtract/blank-duration.js b/JSTests/test262/test/built-ins/Temporal/Duration/prototype/subtract/blank-duration.js new file mode 100644 index 0000000000000..f07a4e6af5780 --- /dev/null +++ b/JSTests/test262/test/built-ins/Temporal/Duration/prototype/subtract/blank-duration.js @@ -0,0 +1,16 @@ +// Copyright (C) 2025 Igalia, S.L. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-temporal.duration.prototype.subtract +description: Behaviour with blank duration +features: [Temporal] +includes: [temporalHelpers.js] +---*/ + +const blank1 = new Temporal.Duration(); +const blank2 = new Temporal.Duration(); + +const result = blank1.subtract(blank2); + +TemporalHelpers.assertDuration(result, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "result is also blank"); diff --git a/JSTests/test262/test/built-ins/Temporal/Duration/prototype/toJSON/basic.js b/JSTests/test262/test/built-ins/Temporal/Duration/prototype/toJSON/basic.js index 8cadc51661c8d..491c841aaa4f9 100644 --- a/JSTests/test262/test/built-ins/Temporal/Duration/prototype/toJSON/basic.js +++ b/JSTests/test262/test/built-ins/Temporal/Duration/prototype/toJSON/basic.js @@ -12,7 +12,7 @@ features: [Temporal] ---*/ let d = new Temporal.Duration(); -assert.sameValue(d.toJSON(), "PT0S", "zero duration"); +assert.sameValue(d.toJSON(), "PT0S", "blank duration"); d = new Temporal.Duration(1); assert.sameValue(d.toJSON(), "P1Y", "positive small years"); diff --git a/JSTests/test262/test/built-ins/Temporal/Duration/prototype/total/blank-duration.js b/JSTests/test262/test/built-ins/Temporal/Duration/prototype/total/blank-duration.js new file mode 100644 index 0000000000000..0d2c0d75fdcbd --- /dev/null +++ b/JSTests/test262/test/built-ins/Temporal/Duration/prototype/total/blank-duration.js @@ -0,0 +1,31 @@ +// Copyright (C) 2025 Igalia, S.L. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-temporal.duration.prototype.total +description: Behaviour with blank duration +features: [Temporal] +---*/ + +const blank = new Temporal.Duration(); +const plainRelativeTo = new Temporal.PlainDate(2025, 8, 22); +const zonedRelativeTo = new Temporal.ZonedDateTime(1n, "UTC"); + +for (const unit of ['days', 'hours', 'minutes', 'seconds', 'milliseconds', 'microseconds', 'nanoseconds']) { + let result = blank.total(unit); + assert.sameValue(result, 0, `total of ${unit} without relativeTo`); + + result = blank.total({ unit, relativeTo: plainRelativeTo }); + assert.sameValue(result, 0, `total of ${unit} with PlainDate relativeTo`); + + result = blank.total({ unit, relativeTo: zonedRelativeTo }); + assert.sameValue(result, 0, `total of ${unit} with ZonedDateTime relativeTo`); +} + +for (const unit of ['years', 'months', 'weeks']) { + let result = blank.total({ unit, relativeTo: plainRelativeTo }); + assert.sameValue(result, 0, `total of ${unit} with PlainDate relativeTo`); + + result = blank.total({ unit, relativeTo: zonedRelativeTo }); + assert.sameValue(result, 0, `total of ${unit} with ZonedDateTime relativeTo`); +} diff --git a/JSTests/test262/test/built-ins/Temporal/Duration/prototype/weeks/blank-duration.js b/JSTests/test262/test/built-ins/Temporal/Duration/prototype/weeks/blank-duration.js new file mode 100644 index 0000000000000..c4f6a23e2c337 --- /dev/null +++ b/JSTests/test262/test/built-ins/Temporal/Duration/prototype/weeks/blank-duration.js @@ -0,0 +1,11 @@ +// Copyright (C) 2025 Igalia, S.L. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-get-temporal.duration.prototype.weeks +description: Behaviour with blank duration +features: [Temporal] +---*/ + +const blank = new Temporal.Duration(); +assert.sameValue(blank.weeks, 0); diff --git a/JSTests/test262/test/built-ins/Temporal/Duration/prototype/with/blank-duration.js b/JSTests/test262/test/built-ins/Temporal/Duration/prototype/with/blank-duration.js new file mode 100644 index 0000000000000..7bdf09e43f477 --- /dev/null +++ b/JSTests/test262/test/built-ins/Temporal/Duration/prototype/with/blank-duration.js @@ -0,0 +1,34 @@ +// Copyright (C) 2025 Igalia, S.L. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-temporal.duration.prototype.with +description: Behaviour with blank duration +features: [Temporal] +includes: [temporalHelpers.js] +---*/ + +const blank = new Temporal.Duration(); + +for (const val of [-1, 0, 1]) { + let result = blank.with({ years: val }); + TemporalHelpers.assertDuration(result, val, 0, 0, 0, 0, 0, 0, 0, 0, 0, `with years ${val}`); + result = blank.with({ months: val }); + TemporalHelpers.assertDuration(result, 0, val, 0, 0, 0, 0, 0, 0, 0, 0, `with months ${val}`); + result = blank.with({ weeks: val }); + TemporalHelpers.assertDuration(result, 0, 0, val, 0, 0, 0, 0, 0, 0, 0, `with weeks ${val}`); + result = blank.with({ days: val }); + TemporalHelpers.assertDuration(result, 0, 0, 0, val, 0, 0, 0, 0, 0, 0, `with days ${val}`); + result = blank.with({ hours: val }); + TemporalHelpers.assertDuration(result, 0, 0, 0, 0, val, 0, 0, 0, 0, 0, `with hours ${val}`); + result = blank.with({ minutes: val }); + TemporalHelpers.assertDuration(result, 0, 0, 0, 0, 0, val, 0, 0, 0, 0, `with minutes ${val}`); + result = blank.with({ seconds: val }); + TemporalHelpers.assertDuration(result, 0, 0, 0, 0, 0, 0, val, 0, 0, 0, `with seconds ${val}`); + result = blank.with({ milliseconds: val }); + TemporalHelpers.assertDuration(result, 0, 0, 0, 0, 0, 0, 0, val, 0, 0, `with milliseconds ${val}`); + result = blank.with({ microseconds: val }); + TemporalHelpers.assertDuration(result, 0, 0, 0, 0, 0, 0, 0, 0, val, 0, `with microseconds ${val}`); + result = blank.with({ nanoseconds: val }); + TemporalHelpers.assertDuration(result, 0, 0, 0, 0, 0, 0, 0, 0, 0, val, `with nanoseconds ${val}`); +} diff --git a/JSTests/test262/test/built-ins/Temporal/Duration/prototype/years/blank-duration.js b/JSTests/test262/test/built-ins/Temporal/Duration/prototype/years/blank-duration.js new file mode 100644 index 0000000000000..f0890359ec08a --- /dev/null +++ b/JSTests/test262/test/built-ins/Temporal/Duration/prototype/years/blank-duration.js @@ -0,0 +1,11 @@ +// Copyright (C) 2025 Igalia, S.L. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-get-temporal.duration.prototype.years +description: Behaviour with blank duration +features: [Temporal] +---*/ + +const blank = new Temporal.Duration(); +assert.sameValue(blank.years, 0); diff --git a/JSTests/test262/test/built-ins/Temporal/Instant/prototype/add/blank-duration.js b/JSTests/test262/test/built-ins/Temporal/Instant/prototype/add/blank-duration.js new file mode 100644 index 0000000000000..35829c287bc19 --- /dev/null +++ b/JSTests/test262/test/built-ins/Temporal/Instant/prototype/add/blank-duration.js @@ -0,0 +1,13 @@ +// Copyright (C) 2025 Igalia, S.L. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-temporal.instant.prototype.add +description: Behaviour with blank duration +features: [Temporal] +---*/ + +const instant = new Temporal.Instant(1n); +const blank = new Temporal.Duration(); +const result = instant.add(blank); +assert.sameValue(result.epochNanoseconds, 1n, "result is unchanged"); diff --git a/JSTests/test262/test/built-ins/Temporal/Instant/prototype/since/blank-result.js b/JSTests/test262/test/built-ins/Temporal/Instant/prototype/since/blank-result.js new file mode 100644 index 0000000000000..ac1551a43c1b9 --- /dev/null +++ b/JSTests/test262/test/built-ins/Temporal/Instant/prototype/since/blank-result.js @@ -0,0 +1,14 @@ +// Copyright (C) 2025 Igalia, S.L. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-temporal.instant.prototype.since +description: Difference between equivalent objects returns blank duration +features: [Temporal] +includes: [temporalHelpers.js] +---*/ + +const i1 = new Temporal.Instant(1n); +const i2 = new Temporal.Instant(1n); +const result = i1.since(i2); +TemporalHelpers.assertDuration(result, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "blank result"); diff --git a/JSTests/test262/test/built-ins/Temporal/Instant/prototype/subtract/blank-duration.js b/JSTests/test262/test/built-ins/Temporal/Instant/prototype/subtract/blank-duration.js new file mode 100644 index 0000000000000..b164bc5de9b1d --- /dev/null +++ b/JSTests/test262/test/built-ins/Temporal/Instant/prototype/subtract/blank-duration.js @@ -0,0 +1,13 @@ +// Copyright (C) 2025 Igalia, S.L. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-temporal.instant.prototype.subtract +description: Behaviour with blank duration +features: [Temporal] +---*/ + +const instant = new Temporal.Instant(1n); +const blank = new Temporal.Duration(); +const result = instant.subtract(blank); +assert.sameValue(result.epochNanoseconds, 1n, "result is unchanged"); diff --git a/JSTests/test262/test/built-ins/Temporal/Instant/prototype/until/blank-result.js b/JSTests/test262/test/built-ins/Temporal/Instant/prototype/until/blank-result.js new file mode 100644 index 0000000000000..c67d47dd6a8e2 --- /dev/null +++ b/JSTests/test262/test/built-ins/Temporal/Instant/prototype/until/blank-result.js @@ -0,0 +1,14 @@ +// Copyright (C) 2025 Igalia, S.L. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-temporal.instant.prototype.until +description: Difference between equivalent objects returns blank duration +features: [Temporal] +includes: [temporalHelpers.js] +---*/ + +const i1 = new Temporal.Instant(1n); +const i2 = new Temporal.Instant(1n); +const result = i1.until(i2); +TemporalHelpers.assertDuration(result, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "blank result"); diff --git a/JSTests/test262/test/built-ins/Temporal/PlainDate/prototype/add/blank-duration.js b/JSTests/test262/test/built-ins/Temporal/PlainDate/prototype/add/blank-duration.js new file mode 100644 index 0000000000000..2aa5b40ec3e76 --- /dev/null +++ b/JSTests/test262/test/built-ins/Temporal/PlainDate/prototype/add/blank-duration.js @@ -0,0 +1,14 @@ +// Copyright (C) 2025 Igalia, S.L. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-temporal.plaindate.prototype.add +description: Behaviour with blank duration +features: [Temporal] +includes: [temporalHelpers.js] +---*/ + +const d = new Temporal.PlainDate(2025, 8, 22); +const blank = new Temporal.Duration(); +const result = d.add(blank); +TemporalHelpers.assertPlainDate(result, 2025, 8, "M08", 22, "result is unchanged"); diff --git a/JSTests/test262/test/built-ins/Temporal/PlainDate/prototype/since/blank-result.js b/JSTests/test262/test/built-ins/Temporal/PlainDate/prototype/since/blank-result.js new file mode 100644 index 0000000000000..0d1ff69cdb566 --- /dev/null +++ b/JSTests/test262/test/built-ins/Temporal/PlainDate/prototype/since/blank-result.js @@ -0,0 +1,14 @@ +// Copyright (C) 2025 Igalia, S.L. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-temporal.plaindate.prototype.since +description: Difference between equivalent objects returns blank duration +features: [Temporal] +includes: [temporalHelpers.js] +---*/ + +const d1 = new Temporal.PlainDate(2025, 8, 22); +const d2 = new Temporal.PlainDate(2025, 8, 22); +const result = d1.since(d2); +TemporalHelpers.assertDuration(result, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "blank result"); diff --git a/JSTests/test262/test/built-ins/Temporal/PlainDate/prototype/subtract/blank-duration.js b/JSTests/test262/test/built-ins/Temporal/PlainDate/prototype/subtract/blank-duration.js new file mode 100644 index 0000000000000..be0418c3d660e --- /dev/null +++ b/JSTests/test262/test/built-ins/Temporal/PlainDate/prototype/subtract/blank-duration.js @@ -0,0 +1,14 @@ +// Copyright (C) 2025 Igalia, S.L. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-temporal.plaindate.prototype.subtract +description: Behaviour with blank duration +features: [Temporal] +includes: [temporalHelpers.js] +---*/ + +const d = new Temporal.PlainDate(2025, 8, 22); +const blank = new Temporal.Duration(); +const result = d.subtract(blank); +TemporalHelpers.assertPlainDate(result, 2025, 8, "M08", 22, "result is unchanged"); diff --git a/JSTests/test262/test/built-ins/Temporal/PlainDate/prototype/until/blank-result.js b/JSTests/test262/test/built-ins/Temporal/PlainDate/prototype/until/blank-result.js new file mode 100644 index 0000000000000..05294dfaeb5e2 --- /dev/null +++ b/JSTests/test262/test/built-ins/Temporal/PlainDate/prototype/until/blank-result.js @@ -0,0 +1,14 @@ +// Copyright (C) 2025 Igalia, S.L. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-temporal.plaindate.prototype.until +description: Difference between equivalent objects returns blank duration +features: [Temporal] +includes: [temporalHelpers.js] +---*/ + +const d1 = new Temporal.PlainDate(2025, 8, 22); +const d2 = new Temporal.PlainDate(2025, 8, 22); +const result = d1.until(d2); +TemporalHelpers.assertDuration(result, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "blank result"); diff --git a/JSTests/test262/test/built-ins/Temporal/PlainDateTime/prototype/add/blank-duration.js b/JSTests/test262/test/built-ins/Temporal/PlainDateTime/prototype/add/blank-duration.js new file mode 100644 index 0000000000000..2ef98007a72e3 --- /dev/null +++ b/JSTests/test262/test/built-ins/Temporal/PlainDateTime/prototype/add/blank-duration.js @@ -0,0 +1,14 @@ +// Copyright (C) 2025 Igalia, S.L. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-temporal.plaindatetime.prototype.add +description: Behaviour with blank duration +features: [Temporal] +includes: [temporalHelpers.js] +---*/ + +const dt = new Temporal.PlainDateTime(2025, 8, 22, 14, 1); +const blank = new Temporal.Duration(); +const result = dt.add(blank); +TemporalHelpers.assertPlainDateTime(result, 2025, 8, "M08", 22, 14, 1, 0, 0, 0, 0, "result is unchanged"); diff --git a/JSTests/test262/test/built-ins/Temporal/PlainDateTime/prototype/since/blank-result.js b/JSTests/test262/test/built-ins/Temporal/PlainDateTime/prototype/since/blank-result.js new file mode 100644 index 0000000000000..9e2bed7f623ef --- /dev/null +++ b/JSTests/test262/test/built-ins/Temporal/PlainDateTime/prototype/since/blank-result.js @@ -0,0 +1,14 @@ +// Copyright (C) 2025 Igalia, S.L. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-temporal.plaindatetime.prototype.since +description: Difference between equivalent objects returns blank duration +features: [Temporal] +includes: [temporalHelpers.js] +---*/ + +const d1 = new Temporal.PlainDateTime(2025, 8, 22, 13, 52); +const d2 = new Temporal.PlainDateTime(2025, 8, 22, 13, 52); +const result = d1.since(d2); +TemporalHelpers.assertDuration(result, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "blank result"); diff --git a/JSTests/test262/test/built-ins/Temporal/PlainDateTime/prototype/subtract/blank-duration.js b/JSTests/test262/test/built-ins/Temporal/PlainDateTime/prototype/subtract/blank-duration.js new file mode 100644 index 0000000000000..84c68a898db2f --- /dev/null +++ b/JSTests/test262/test/built-ins/Temporal/PlainDateTime/prototype/subtract/blank-duration.js @@ -0,0 +1,14 @@ +// Copyright (C) 2025 Igalia, S.L. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-temporal.plaindatetime.prototype.subtract +description: Behaviour with blank duration +features: [Temporal] +includes: [temporalHelpers.js] +---*/ + +const dt = new Temporal.PlainDateTime(2025, 8, 22, 14, 1); +const blank = new Temporal.Duration(); +const result = dt.subtract(blank); +TemporalHelpers.assertPlainDateTime(result, 2025, 8, "M08", 22, 14, 1, 0, 0, 0, 0, "result is unchanged"); diff --git a/JSTests/test262/test/built-ins/Temporal/PlainDateTime/prototype/until/blank-result.js b/JSTests/test262/test/built-ins/Temporal/PlainDateTime/prototype/until/blank-result.js new file mode 100644 index 0000000000000..a866e0525c577 --- /dev/null +++ b/JSTests/test262/test/built-ins/Temporal/PlainDateTime/prototype/until/blank-result.js @@ -0,0 +1,14 @@ +// Copyright (C) 2025 Igalia, S.L. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-temporal.plaindatetime.prototype.until +description: Difference between equivalent objects returns blank duration +features: [Temporal] +includes: [temporalHelpers.js] +---*/ + +const d1 = new Temporal.PlainDateTime(2025, 8, 22, 13, 52); +const d2 = new Temporal.PlainDateTime(2025, 8, 22, 13, 52); +const result = d1.until(d2); +TemporalHelpers.assertDuration(result, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "blank result"); diff --git a/JSTests/test262/test/built-ins/Temporal/PlainTime/prototype/add/blank-duration.js b/JSTests/test262/test/built-ins/Temporal/PlainTime/prototype/add/blank-duration.js new file mode 100644 index 0000000000000..26afc2617fe28 --- /dev/null +++ b/JSTests/test262/test/built-ins/Temporal/PlainTime/prototype/add/blank-duration.js @@ -0,0 +1,14 @@ +// Copyright (C) 2025 Igalia, S.L. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-temporal.plaintime.prototype.add +description: Behaviour with blank duration +features: [Temporal] +includes: [temporalHelpers.js] +---*/ + +const t = new Temporal.PlainTime(14, 1); +const blank = new Temporal.Duration(); +const result = t.add(blank); +TemporalHelpers.assertPlainTime(result, 14, 1, 0, 0, 0, 0, "result is unchanged"); diff --git a/JSTests/test262/test/built-ins/Temporal/PlainTime/prototype/since/blank-result.js b/JSTests/test262/test/built-ins/Temporal/PlainTime/prototype/since/blank-result.js new file mode 100644 index 0000000000000..904eb22eda78e --- /dev/null +++ b/JSTests/test262/test/built-ins/Temporal/PlainTime/prototype/since/blank-result.js @@ -0,0 +1,14 @@ +// Copyright (C) 2025 Igalia, S.L. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-temporal.plaintime.prototype.since +description: Difference between equivalent objects returns blank duration +features: [Temporal] +includes: [temporalHelpers.js] +---*/ + +const d1 = new Temporal.PlainTime(13, 52); +const d2 = new Temporal.PlainTime(13, 52); +const result = d1.since(d2); +TemporalHelpers.assertDuration(result, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "blank result"); diff --git a/JSTests/test262/test/built-ins/Temporal/PlainTime/prototype/subtract/blank-duration.js b/JSTests/test262/test/built-ins/Temporal/PlainTime/prototype/subtract/blank-duration.js new file mode 100644 index 0000000000000..79fb650e53229 --- /dev/null +++ b/JSTests/test262/test/built-ins/Temporal/PlainTime/prototype/subtract/blank-duration.js @@ -0,0 +1,14 @@ +// Copyright (C) 2025 Igalia, S.L. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-temporal.plaintime.prototype.subtract +description: Behaviour with blank duration +features: [Temporal] +includes: [temporalHelpers.js] +---*/ + +const t = new Temporal.PlainTime(14, 1); +const blank = new Temporal.Duration(); +const result = t.subtract(blank); +TemporalHelpers.assertPlainTime(result, 14, 1, 0, 0, 0, 0, "result is unchanged"); diff --git a/JSTests/test262/test/built-ins/Temporal/PlainTime/prototype/until/blank-result.js b/JSTests/test262/test/built-ins/Temporal/PlainTime/prototype/until/blank-result.js new file mode 100644 index 0000000000000..92d766239055e --- /dev/null +++ b/JSTests/test262/test/built-ins/Temporal/PlainTime/prototype/until/blank-result.js @@ -0,0 +1,14 @@ +// Copyright (C) 2025 Igalia, S.L. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-temporal.plaintime.prototype.until +description: Difference between equivalent objects returns blank duration +features: [Temporal] +includes: [temporalHelpers.js] +---*/ + +const d1 = new Temporal.PlainTime(13, 52); +const d2 = new Temporal.PlainTime(13, 52); +const result = d1.until(d2); +TemporalHelpers.assertDuration(result, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "blank result"); diff --git a/JSTests/test262/test/built-ins/Temporal/PlainYearMonth/prototype/add/blank-duration.js b/JSTests/test262/test/built-ins/Temporal/PlainYearMonth/prototype/add/blank-duration.js new file mode 100644 index 0000000000000..920ea94098a06 --- /dev/null +++ b/JSTests/test262/test/built-ins/Temporal/PlainYearMonth/prototype/add/blank-duration.js @@ -0,0 +1,14 @@ +// Copyright (C) 2025 Igalia, S.L. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-temporal.plainyearmonth.prototype.add +description: Behaviour with blank duration +features: [Temporal] +includes: [temporalHelpers.js] +---*/ + +const ym = new Temporal.PlainYearMonth(2025, 8); +const blank = new Temporal.Duration(); +const result = ym.add(blank); +TemporalHelpers.assertPlainYearMonth(result, 2025, 8, "M08", "result is unchanged"); diff --git a/JSTests/test262/test/built-ins/Temporal/PlainYearMonth/prototype/since/blank-result.js b/JSTests/test262/test/built-ins/Temporal/PlainYearMonth/prototype/since/blank-result.js new file mode 100644 index 0000000000000..f7f5eea8fde7a --- /dev/null +++ b/JSTests/test262/test/built-ins/Temporal/PlainYearMonth/prototype/since/blank-result.js @@ -0,0 +1,14 @@ +// Copyright (C) 2025 Igalia, S.L. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-temporal.plainyearmonth.prototype.since +description: Difference between equivalent objects returns blank duration +features: [Temporal] +includes: [temporalHelpers.js] +---*/ + +const d1 = new Temporal.PlainYearMonth(2025, 8); +const d2 = new Temporal.PlainYearMonth(2025, 8); +const result = d1.since(d2); +TemporalHelpers.assertDuration(result, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "blank result"); diff --git a/JSTests/test262/test/built-ins/Temporal/PlainYearMonth/prototype/subtract/blank-duration.js b/JSTests/test262/test/built-ins/Temporal/PlainYearMonth/prototype/subtract/blank-duration.js new file mode 100644 index 0000000000000..0ac4ce8737e2b --- /dev/null +++ b/JSTests/test262/test/built-ins/Temporal/PlainYearMonth/prototype/subtract/blank-duration.js @@ -0,0 +1,14 @@ +// Copyright (C) 2025 Igalia, S.L. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-temporal.plainyearmonth.prototype.subtract +description: Behaviour with blank duration +features: [Temporal] +includes: [temporalHelpers.js] +---*/ + +const ym = new Temporal.PlainYearMonth(2025, 8); +const blank = new Temporal.Duration(); +const result = ym.subtract(blank); +TemporalHelpers.assertPlainYearMonth(result, 2025, 8, "M08", "result is unchanged"); diff --git a/JSTests/test262/test/built-ins/Temporal/PlainYearMonth/prototype/until/blank-result.js b/JSTests/test262/test/built-ins/Temporal/PlainYearMonth/prototype/until/blank-result.js new file mode 100644 index 0000000000000..e40c8f7ef62b6 --- /dev/null +++ b/JSTests/test262/test/built-ins/Temporal/PlainYearMonth/prototype/until/blank-result.js @@ -0,0 +1,14 @@ +// Copyright (C) 2025 Igalia, S.L. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-temporal.plainyearmonth.prototype.until +description: Difference between equivalent objects returns blank duration +features: [Temporal] +includes: [temporalHelpers.js] +---*/ + +const d1 = new Temporal.PlainYearMonth(2025, 8); +const d2 = new Temporal.PlainYearMonth(2025, 8); +const result = d1.until(d2); +TemporalHelpers.assertDuration(result, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "blank result"); diff --git a/JSTests/test262/test/built-ins/Temporal/ZonedDateTime/prototype/add/blank-duration.js b/JSTests/test262/test/built-ins/Temporal/ZonedDateTime/prototype/add/blank-duration.js new file mode 100644 index 0000000000000..839e3966b49cb --- /dev/null +++ b/JSTests/test262/test/built-ins/Temporal/ZonedDateTime/prototype/add/blank-duration.js @@ -0,0 +1,13 @@ +// Copyright (C) 2025 Igalia, S.L. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-temporal.zoneddatetime.prototype.add +description: Behaviour with blank duration +features: [Temporal] +---*/ + +const dt = new Temporal.ZonedDateTime(1n, "UTC"); +const blank = new Temporal.Duration(); +const result = dt.add(blank); +assert.sameValue(result.epochNanoseconds, 1n, "result is unchanged"); diff --git a/JSTests/test262/test/built-ins/Temporal/ZonedDateTime/prototype/since/argument-at-limits.js b/JSTests/test262/test/built-ins/Temporal/ZonedDateTime/prototype/since/argument-at-limits.js new file mode 100644 index 0000000000000..4d4eb5dad11ba --- /dev/null +++ b/JSTests/test262/test/built-ins/Temporal/ZonedDateTime/prototype/since/argument-at-limits.js @@ -0,0 +1,43 @@ +// Copyright (C) 2025 Igalia, S.L. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-temporal.zoneddatetime.prototype.since +description: One of the operands is at the limit of the supported epoch ns range +includes: [temporalHelpers.js] +features: [Temporal] +---*/ + +const max = new Temporal.ZonedDateTime(86400_0000_0000_000_000_000n, "UTC"); + +for (const timeZone of ["UTC", "+02:00", "-07:00"]) { + const limit = max.withTimeZone(timeZone); + const instance = new Temporal.PlainDateTime(1970, 1, 1, 1, 1, 1, 1, 1, 1).toZonedDateTime(timeZone); + + instance.since(limit, { largestUnit: "years" }); // should not throw + limit.since(instance, { largestUnit: "years" }); // should not throw + + const resultTimeUnit = instance.since(limit, { largestUnit: "seconds" }); + TemporalHelpers.assertDurationsEqual( + limit.since(instance, { largestUnit: "seconds" }), + resultTimeUnit.negated(), + `Arithmetic since limit with time largestUnit is self-consistent (${timeZone})` + ); +} + +const min = new Temporal.ZonedDateTime(-86400_0000_0000_000_000_000n, "UTC"); + +for (const timeZone of ["UTC", "+00:18", "-08:12"]) { + const limit = min.withTimeZone(timeZone); + const instance = new Temporal.PlainDateTime(1970, 9, 1, 15, 47, 32).toZonedDateTime(timeZone); + + instance.since(limit, { largestUnit: "years" }); // should not throw + limit.since(instance, { largestUnit: "years" }); // should not throw + + const resultTimeUnit = instance.since(limit, { largestUnit: "seconds" }); + TemporalHelpers.assertDurationsEqual( + limit.since(instance, { largestUnit: "seconds" }), + resultTimeUnit.negated(), + `Arithmetic since limit with time largestUnit is self-consistent (${timeZone})` + ); +} diff --git a/JSTests/test262/test/built-ins/Temporal/ZonedDateTime/prototype/since/blank-result.js b/JSTests/test262/test/built-ins/Temporal/ZonedDateTime/prototype/since/blank-result.js new file mode 100644 index 0000000000000..1ee4c83f214bd --- /dev/null +++ b/JSTests/test262/test/built-ins/Temporal/ZonedDateTime/prototype/since/blank-result.js @@ -0,0 +1,14 @@ +// Copyright (C) 2025 Igalia, S.L. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-temporal.zoneddatetime.prototype.since +description: Difference between equivalent objects returns blank duration +features: [Temporal] +includes: [temporalHelpers.js] +---*/ + +const d1 = new Temporal.ZonedDateTime(1n, "UTC"); +const d2 = new Temporal.ZonedDateTime(1n, "UTC"); +const result = d1.since(d2); +TemporalHelpers.assertDuration(result, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "blank result"); diff --git a/JSTests/test262/test/built-ins/Temporal/ZonedDateTime/prototype/subtract/blank-duration.js b/JSTests/test262/test/built-ins/Temporal/ZonedDateTime/prototype/subtract/blank-duration.js new file mode 100644 index 0000000000000..c264d681a2b5c --- /dev/null +++ b/JSTests/test262/test/built-ins/Temporal/ZonedDateTime/prototype/subtract/blank-duration.js @@ -0,0 +1,13 @@ +// Copyright (C) 2025 Igalia, S.L. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-temporal.zoneddatetime.prototype.subtract +description: Behaviour with blank duration +features: [Temporal] +---*/ + +const dt = new Temporal.ZonedDateTime(1n, "UTC"); +const blank = new Temporal.Duration(); +const result = dt.subtract(blank); +assert.sameValue(result.epochNanoseconds, 1n, "result is unchanged"); diff --git a/JSTests/test262/test/built-ins/Temporal/ZonedDateTime/prototype/until/argument-at-limits.js b/JSTests/test262/test/built-ins/Temporal/ZonedDateTime/prototype/until/argument-at-limits.js new file mode 100644 index 0000000000000..7740c8ba06589 --- /dev/null +++ b/JSTests/test262/test/built-ins/Temporal/ZonedDateTime/prototype/until/argument-at-limits.js @@ -0,0 +1,43 @@ +// Copyright (C) 2025 Igalia, S.L. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-temporal.zoneddatetime.prototype.until +description: One of the operands is at the limit of the supported epoch ns range +includes: [temporalHelpers.js] +features: [Temporal] +---*/ + +const max = new Temporal.ZonedDateTime(86400_0000_0000_000_000_000n, "UTC"); + +for (const timeZone of ["UTC", "+02:00", "-07:00"]) { + const limit = max.withTimeZone(timeZone); + const instance = new Temporal.PlainDateTime(1970, 1, 1, 1, 1, 1, 1, 1, 1).toZonedDateTime(timeZone); + + instance.since(limit, { largestUnit: "years" }); // should not throw + limit.since(instance, { largestUnit: "years" }); // should not throw + + const resultTimeUnit = instance.until(limit, { largestUnit: "seconds" }); + TemporalHelpers.assertDurationsEqual( + limit.until(instance, { largestUnit: "seconds" }), + resultTimeUnit.negated(), + `Arithmetic until limit with time largestUnit is self-consistent (${timeZone})` + ); +} + +const min = new Temporal.ZonedDateTime(-86400_0000_0000_000_000_000n, "UTC"); + +for (const timeZone of ["UTC", "+00:18", "-08:12"]) { + const limit = min.withTimeZone(timeZone); + const instance = new Temporal.PlainDateTime(1970, 9, 1, 15, 47, 32).toZonedDateTime(timeZone); + + instance.since(limit, { largestUnit: "years" }); // should not throw + limit.since(instance, { largestUnit: "years" }); // should not throw + + const resultTimeUnit = instance.until(limit, { largestUnit: "seconds" }); + TemporalHelpers.assertDurationsEqual( + limit.until(instance, { largestUnit: "seconds" }), + resultTimeUnit.negated(), + `Arithmetic until limit with time largestUnit is self-consistent (${timeZone})` + ); +} diff --git a/JSTests/test262/test/built-ins/Temporal/ZonedDateTime/prototype/until/blank-result.js b/JSTests/test262/test/built-ins/Temporal/ZonedDateTime/prototype/until/blank-result.js new file mode 100644 index 0000000000000..331b866ac3906 --- /dev/null +++ b/JSTests/test262/test/built-ins/Temporal/ZonedDateTime/prototype/until/blank-result.js @@ -0,0 +1,14 @@ +// Copyright (C) 2025 Igalia, S.L. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-temporal.zoneddatetime.prototype.until +description: Difference between equivalent objects returns blank duration +features: [Temporal] +includes: [temporalHelpers.js] +---*/ + +const d1 = new Temporal.ZonedDateTime(1n, "UTC"); +const d2 = new Temporal.ZonedDateTime(1n, "UTC"); +const result = d1.until(d2); +TemporalHelpers.assertDuration(result, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "blank result"); diff --git a/JSTests/test262/test/built-ins/TypedArray/prototype/slice/resize-count-bytes-to-zero.js b/JSTests/test262/test/built-ins/TypedArray/prototype/slice/resize-count-bytes-to-zero.js new file mode 100644 index 0000000000000..43951bf7e157e --- /dev/null +++ b/JSTests/test262/test/built-ins/TypedArray/prototype/slice/resize-count-bytes-to-zero.js @@ -0,0 +1,97 @@ +// Copyright 2025 André Bargull. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-%typedarray%.prototype.slice +description: > + Count bytes is set to zero when underlying buffer is resized to zero. +info: | + %TypedArray%.prototype.slice ( start, end ) + + ... + 2. Let taRecord be ? ValidateTypedArray(O, seq-cst). + 3. Let srcArrayLength be TypedArrayLength(taRecord). + 4. Let relativeStart be ? ToIntegerOrInfinity(start). + ... + 14. If countBytes > 0, then + a. Set taRecord to MakeTypedArrayWithBufferWitnessRecord(O, seq-cst). + b. If IsTypedArrayOutOfBounds(taRecord) is true, throw a TypeError exception. + c. Set endIndex to min(endIndex, TypedArrayLength(taRecord)). + d. Set countBytes to max(endIndex - startIndex, 0). + ... +includes: [compareArray.js, testTypedArray.js] +features: [resizable-arraybuffer] +---*/ + +var N = 4; + +for (var TA of typedArrayConstructors) { + var byteLength = N * TA.BYTES_PER_ELEMENT; + var buffer = new ArrayBuffer(byteLength, {maxByteLength: byteLength}); + var ta = new TA(buffer); + + for (var startIndex = 0; startIndex <= N; ++startIndex) { + // Reset typed array and buffer. + buffer.resize(byteLength); + ta.fill(1); + + // |start| + var start = { + valueOf() { + ta.buffer.resize(0); + return startIndex; + } + }; + + var sliced = ta.slice(start); + + // Result typed array has the correct length with all elements set to zero. + assert.compareArray( + sliced, + new TA(N - startIndex), + `${TA.name} with startIndex = ${startIndex}` + ); + } +} + +// Repeat test with different target typed array constructors. +for (var SourceTA of typedArrayConstructors) { + for (var TargetTA of typedArrayConstructors) { + var byteLength = N * SourceTA.BYTES_PER_ELEMENT; + var buffer = new ArrayBuffer(byteLength, {maxByteLength: byteLength}); + var ta = new SourceTA(buffer); + + // Create own "constructor" property to create a different result typed array. + Object.defineProperty(ta, "constructor", { + value: TargetTA, + }); + + for (var startIndex = 0; startIndex <= N; ++startIndex) { + // Reset typed array and buffer. + buffer.resize(byteLength); + ta.fill(1); + + var start = { + valueOf() { + ta.buffer.resize(0); + return startIndex; + } + }; + + var sliced = ta.slice(start); + + // |sliced| is an instance of |TargetTA|. + assert( + sliced instanceof TargetTA, + `is an instance of ${TargetTA.name}` + ); + + // Result typed array has the correct length with all elements set to zero. + assert.compareArray( + sliced, + new TargetTA(N - startIndex), + `${SourceTA.name} to ${TargetTA.name} with startIndex = ${startIndex}` + ); + } + } +} diff --git a/JSTests/test262/test/built-ins/TypedArray/prototype/sort/stability.js b/JSTests/test262/test/built-ins/TypedArray/prototype/sort/stability.js index 3bdd6fc6edb8f..419921df12ca7 100644 --- a/JSTests/test262/test/built-ins/TypedArray/prototype/sort/stability.js +++ b/JSTests/test262/test/built-ins/TypedArray/prototype/sort/stability.js @@ -6,7 +6,7 @@ description: Stability of %TypedArray%.prototype.sort. info: | https://github.com/tc39/ecma262/pull/1433 includes: [testTypedArray.js, compareArray.js] -features: [TypedArray] +features: [TypedArray, stable-typedarray-sort] ---*/ // Treat 0..3, 4..7, etc. as equal. diff --git a/JSTests/test262/test/built-ins/TypedArray/prototype/toReversed/reverses.js b/JSTests/test262/test/built-ins/TypedArray/prototype/toReversed/reverses.js new file mode 100644 index 0000000000000..a3033232e3084 --- /dev/null +++ b/JSTests/test262/test/built-ins/TypedArray/prototype/toReversed/reverses.js @@ -0,0 +1,27 @@ +// Copyright (C) 2025 Google. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-%typedarray%.prototype.toreversed +description: > + %TypedArray%.prototype.toReversed outputs a reversed copy +info: | + %TypedArray%.prototype.toReversed ( ) + + ... + 6. Repeat, while k < len, + a. Let from be ! ToString(𝔽(len - k - 1)). + b. Let Pk be ! ToString(𝔽(k)). + c. Let fromValue be ! Get(O, from). + d. Perform ! Set(A, Pk, fromValue, true). + e. Set k to k + 1. + ... +includes: [testTypedArray.js, compareArray.js] +features: [TypedArray, change-array-by-copy] +---*/ + +testWithTypedArrayConstructors(TA => { + assert.compareArray(new TA([]).toReversed(), []); + assert.compareArray(new TA([1]).toReversed(), [1]); + assert.compareArray(new TA([1, 2, 3, 4]).toReversed(), [4, 3, 2, 1]); +}); diff --git a/JSTests/test262/test/built-ins/TypedArray/prototype/toSorted/comparefn-controls-sort.js b/JSTests/test262/test/built-ins/TypedArray/prototype/toSorted/comparefn-controls-sort.js new file mode 100644 index 0000000000000..2f88b02459bb1 --- /dev/null +++ b/JSTests/test262/test/built-ins/TypedArray/prototype/toSorted/comparefn-controls-sort.js @@ -0,0 +1,35 @@ +// Copyright (C) 2025 Google. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-%typedarray%.prototype.tosorted +description: > + %TypedArray%.prototype.toSorted performs CompareTypedArrayElements that sorts + by the provided comparator function +info: | + %TypedArray%.prototype.toSorted ( compareFn ) + + ... + 7. Let SortCompare be a new Abstract Closure with parameters (x, y) that + captures comparator and performs the following steps when called: + a. Return ? CompareTypedArrayElements(x, y, comparator). + ... +includes: [testTypedArray.js, compareArray.js] +features: [TypedArray, change-array-by-copy] +---*/ + +function reverseNumericCompare(a, b) { + return b - a; +} + +testWithTypedArrayConstructors(TA => { + assert.compareArray( + new TA([1, 2, 3, 4]).toSorted(reverseNumericCompare), + [4, 3, 2, 1]); + assert.compareArray( + new TA([4, 3, 2, 1]).toSorted(reverseNumericCompare), + [4, 3, 2, 1]); + assert.compareArray( + new TA([33, 3, 22, 2, 111, 11, 1]).toSorted(reverseNumericCompare), + [111, 33, 22, 11, 3, 2, 1]); +}); diff --git a/JSTests/test262/test/built-ins/TypedArray/prototype/toSorted/comparefn-default.js b/JSTests/test262/test/built-ins/TypedArray/prototype/toSorted/comparefn-default.js new file mode 100644 index 0000000000000..387d312494468 --- /dev/null +++ b/JSTests/test262/test/built-ins/TypedArray/prototype/toSorted/comparefn-default.js @@ -0,0 +1,26 @@ +// Copyright (C) 2025 Google. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-%typedarray%.prototype.tosorted +description: > + %TypedArray%.prototype.toSorted performs CompareTypedArrayElements that sorts + numerically by default +info: | + %TypedArray%.prototype.toSorted ( compareFn ) + + ... + 7. Let SortCompare be a new Abstract Closure with parameters (x, y) that + captures comparator and performs the following steps when called: + a. Return ? CompareTypedArrayElements(x, y, comparator). + ... +includes: [testTypedArray.js, compareArray.js] +features: [TypedArray, change-array-by-copy] +---*/ + +testWithTypedArrayConstructors(TA => { + assert.compareArray(new TA([4, 2, 1, 3]).toSorted(), [1, 2, 3, 4]); + assert.compareArray( + new TA([111, 33, 22, 11, 3, 2, 1]).toSorted(), + [1, 2, 3, 11, 22, 33, 111]); +}); diff --git a/JSTests/test262/test/built-ins/WeakMap/prototype/getOrInsertComputed/check-state-after-callback-fn-throws.js b/JSTests/test262/test/built-ins/WeakMap/prototype/getOrInsertComputed/check-state-after-callback-fn-throws.js index 27cb2c6641d19..bb1bb116e4247 100644 --- a/JSTests/test262/test/built-ins/WeakMap/prototype/getOrInsertComputed/check-state-after-callback-fn-throws.js +++ b/JSTests/test262/test/built-ins/WeakMap/prototype/getOrInsertComputed/check-state-after-callback-fn-throws.js @@ -11,7 +11,7 @@ info: | 6. Let value be ? Call(callbackfn, key). ... -features: [upsert, WeakMap, Symbol] +features: [upsert, WeakMap, Symbol, symbols-as-weakmap-keys] ---*/ var map = new WeakMap(); const obj0 = {}; diff --git a/JSTests/test262/test/built-ins/WeakMap/prototype/getOrInsertComputed/throw-if-key-cannot-be-held-weakly.js b/JSTests/test262/test/built-ins/WeakMap/prototype/getOrInsertComputed/throw-if-key-cannot-be-held-weakly.js index 23762965b7f16..28388f30be5fb 100644 --- a/JSTests/test262/test/built-ins/WeakMap/prototype/getOrInsertComputed/throw-if-key-cannot-be-held-weakly.js +++ b/JSTests/test262/test/built-ins/WeakMap/prototype/getOrInsertComputed/throw-if-key-cannot-be-held-weakly.js @@ -11,31 +11,25 @@ info: | ... 4. If CanBeHeldWeakly(_key_) is *false*, throw a *TypeError* exception. ... +includes: [compareArray.js] features: [Symbol, WeakMap, upsert] ---*/ -var s = new WeakMap(); - -assert.throws(TypeError, function() { - s.getOrInsertComputed(1, () => 1); -}); -assert.throws(TypeError, function() { - s.getOrInsertComputed(false, () => 1); -}); +var log = []; +var invalidKeys = [1, false, undefined, 'string', null]; -assert.throws(TypeError, function() { - s.getOrInsertComputed(undefined, () => 1); -}); - -assert.throws(TypeError, function() { - s.getOrInsertComputed('string', () => 1); -}); +var s = new WeakMap(); -assert.throws(TypeError, function() { - s.getOrInsertComputed(null, () => 1); -}); +for (let invalidKey of invalidKeys) { + assert.throws(TypeError, function () { + s.getOrInsertComputed(invalidKey, + () => log.push(`Unexpected evaluation of callback function, key: ${invalidKey}`)); + }, `${typeof invalidKey} not allowed as WeakMap key`); +} -assert.throws(TypeError, function() { - s.getOrInsertComputed(Symbol.for('registered symbol'), () => 1); +assert.throws(TypeError, function () { + s.getOrInsertComputed(Symbol.for('registered symbol'), + () => log.push("Unexpected callback evaluation")); }, 'Registered symbol not allowed as WeakMap key'); +assert.compareArray(log, []); diff --git a/JSTests/test262/test/intl402/String/prototype/toLocaleLowerCase/validates-all-locale-identifiers.js b/JSTests/test262/test/intl402/String/prototype/toLocaleLowerCase/validates-all-locale-identifiers.js new file mode 100644 index 0000000000000..72bf26077954a --- /dev/null +++ b/JSTests/test262/test/intl402/String/prototype/toLocaleLowerCase/validates-all-locale-identifiers.js @@ -0,0 +1,25 @@ +// Copyright (C) 2025 André Bargull. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sup-string.prototype.tolocalelowercase +description: > + All locale identifiers are validated, not just the first one. +info: | + String.prototype.toLocaleLowerCase ( [ locales ] ) + ... + 3. Return ? TransformCase(S, locales, lower). + + TransformCase ( S, locales, targetCase ) + 1. Let requestedLocales be ? CanonicalizeLocaleList(locales). + ... +---*/ + +var locales = [ + "en-US", + "this is not a valid locale", +]; + +assert.throws(RangeError, function() { + "".toLocaleLowerCase(locales); +}); diff --git a/JSTests/test262/test/intl402/String/prototype/toLocaleUpperCase/validates-all-locale-identifiers.js b/JSTests/test262/test/intl402/String/prototype/toLocaleUpperCase/validates-all-locale-identifiers.js new file mode 100644 index 0000000000000..2167a3ca048b0 --- /dev/null +++ b/JSTests/test262/test/intl402/String/prototype/toLocaleUpperCase/validates-all-locale-identifiers.js @@ -0,0 +1,25 @@ +// Copyright (C) 2025 André Bargull. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sup-string.prototype.tolocaleuppercase +description: > + All locale identifiers are validated, not just the first one. +info: | + String.prototype.toLocaleUpperCase ( [ locales ] ) + ... + 3. Return ? TransformCase(S, locales, upper). + + TransformCase ( S, locales, targetCase ) + 1. Let requestedLocales be ? CanonicalizeLocaleList(locales). + ... +---*/ + +var locales = [ + "en-US", + "this is not a valid locale", +]; + +assert.throws(RangeError, function() { + "".toLocaleUpperCase(locales); +}); diff --git a/JSTests/test262/test/intl402/Temporal/Duration/prototype/round/relativeto-dst-back-transition.js b/JSTests/test262/test/intl402/Temporal/Duration/prototype/round/relativeto-dst-back-transition.js new file mode 100644 index 0000000000000..b845c86b415a6 --- /dev/null +++ b/JSTests/test262/test/intl402/Temporal/Duration/prototype/round/relativeto-dst-back-transition.js @@ -0,0 +1,106 @@ +// Copyright (C) 2025 Adam Shaw. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +description: > + Ensures correct rounding results when relativeTo is within the second wallclock occurence of a + DST fall-back transition. +includes: [temporalHelpers.js] +features: [Temporal] +---*/ + +/* +Addresses https://github.com/tc39/proposal-temporal/issues/3149 +(NudgeToCalendarUnit wrong span) +*/ +{ + // the second 01:00 time in the DST transition. 01:00-07:00 happens just before this + const origin = Temporal.ZonedDateTime.from('2025-11-02T01:00:00-08:00[America/Vancouver]'); + const dur = Temporal.Duration.from({ hours: 11, minutes: 30 }); + const roundedDur = dur.round({ + largestUnit: 'days', + smallestUnit: 'days', + relativeTo: origin, + roundingMode: 'halfExpand', + }); + TemporalHelpers.assertDuration( + roundedDur, + 0, 0, 0, /* days = */ 0, 0, 0, 0, 0, 0, 0, + 'relativeTo in fall-back DST transition, second wallclock time, assumed 24 hour span when +1 day', + ); +} + +/* +Addresses https://github.com/tc39/proposal-temporal/issues/3149 +(NudgeToCalendarUnit wrong span) +*/ +{ + // the second 01:00 time in the DST transition. 01:00-07:00 happens just before this + const origin = Temporal.ZonedDateTime.from('2025-11-02T01:00:00-08:00[America/Vancouver]'); + const dur = Temporal.Duration.from({ hours: -12, minutes: -30 }); + const roundedDur = dur.round({ + largestUnit: 'days', + smallestUnit: 'days', + relativeTo: origin, + roundingMode: 'halfExpand', + }); + TemporalHelpers.assertDuration( + roundedDur, + 0, 0, 0, /* days = */ -1, 0, 0, 0, 0, 0, 0, + 'relativeTo in fall-back DST transition, second wallclock time, assumed 25 hour span when -1 day', + ); +} + +/* +Related to https://github.com/tc39/proposal-temporal/issues/3141 +(DifferenceZonedDateTime assertion) +*/ +TemporalHelpers.assertDuration( + Temporal.Duration.from({ minutes: -59 }).round({ + smallestUnit: 'days', + relativeTo: '2025-11-02T01:00:00-08:00[America/Vancouver]', + }), + 0, 0, 0, /* days = */ 0, 0, 0, 0, 0, 0, 0, + 'negative delta from relativeTo, positive wallclock delta', +); + +/* +Related to https://github.com/tc39/proposal-temporal/issues/3141 +(DifferenceZonedDateTime assertion) +*/ +TemporalHelpers.assertDuration( + Temporal.Duration.from({ minutes: -59 }).round({ + smallestUnit: 'days', + relativeTo: '2025-11-02T01:00:00-08:00[America/Vancouver]', + roundingMode: 'expand', + }), + 0, 0, 0, /* days = */ -1, 0, 0, 0, 0, 0, 0, + 'negative delta from relativeTo, positive wallclock delta, expanding', +); + +/* +Related to https://github.com/tc39/proposal-temporal/issues/3141 +(DifferenceZonedDateTime assertion) +*/ +TemporalHelpers.assertDuration( + Temporal.Duration.from({ minutes: 59 }).round({ + smallestUnit: 'days', + relativeTo: '2025-11-02T01:01:00-07:00[America/Vancouver]', + }), + 0, 0, 0, /* days = */ 0, 0, 0, 0, 0, 0, 0, + 'positive delta from relativeTo, negative wallclock delta', +); + +/* +Related to https://github.com/tc39/proposal-temporal/issues/3141 +(DifferenceZonedDateTime assertion) +*/ +TemporalHelpers.assertDuration( + Temporal.Duration.from({ minutes: 59 }).round({ + smallestUnit: 'days', + relativeTo: '2025-11-02T01:01:00-07:00[America/Vancouver]', + roundingMode: 'expand', + }), + 0, 0, 0, /* days = */ 1, 0, 0, 0, 0, 0, 0, + 'positive delta from relativeTo, negative wallclock delta, expanding', +); diff --git a/JSTests/test262/test/intl402/Temporal/Duration/prototype/total/relativeto-dst-back-transition.js b/JSTests/test262/test/intl402/Temporal/Duration/prototype/total/relativeto-dst-back-transition.js new file mode 100644 index 0000000000000..efcd06a3368a7 --- /dev/null +++ b/JSTests/test262/test/intl402/Temporal/Duration/prototype/total/relativeto-dst-back-transition.js @@ -0,0 +1,65 @@ +// Copyright (C) 2025 Adam Shaw. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +description: > + Ensures correct total results when relativeTo is within the second wallclock occurence of a + DST fall-back transition. +features: [Temporal] +---*/ + +/* +Addresses https://github.com/tc39/proposal-temporal/issues/3148 +(NudgeToCalendarUnit wrong span) +*/ +{ + const origin = Temporal.ZonedDateTime.from('2025-11-02T01:00:00-08:00[America/Vancouver]'); + const dur = Temporal.Duration.from({ hours: 2 }); + const total = dur.total({ unit: 'days', relativeTo: origin }); + assert.sameValue( + total, + 2 / 24, + 'relativeTo in fall-back DST transition, second wallclock time, assumed 24 hour span when +1 day', + ); +} + +/* +Addresses https://github.com/tc39/proposal-temporal/issues/3148 +(NudgeToCalendarUnit wrong span) +*/ +{ + const origin = Temporal.ZonedDateTime.from('2025-11-02T01:00:00-08:00[America/Vancouver]'); + const dur = Temporal.Duration.from({ hours: -2 }); + const total = dur.total({ unit: 'days', relativeTo: origin }); + assert.sameValue( + total, + -2 / 25, + 'relativeTo in fall-back DST transition, second wallclock time, assumed 25 hour span when -1 day', + ); +} + +/* +Related to https://github.com/tc39/proposal-temporal/issues/3141 +(DifferenceZonedDateTime assertion) +*/ +assert.sameValue( + Temporal.Duration.from({ minutes: -59 }).total({ + unit: 'days', + relativeTo: '2025-11-02T01:00:00-08:00[America/Vancouver]', + }), + -59 / (60 * 25), // 25 hour span when adding -1 day to relativeTo + 'negative delta from relativeTo, positive wallclock delta', +); + +/* +Related to https://github.com/tc39/proposal-temporal/issues/3141 +(DifferenceZonedDateTime assertion) +*/ +assert.sameValue( + Temporal.Duration.from({ minutes: 59 }).total({ + unit: 'days', + relativeTo: '2025-11-02T01:01:00-07:00[America/Vancouver]', + }), + 59 / (60 * 25), // 25 hour span when adding +1 day to relativeTo + 'positive delta from relativeTo, negative wallclock delta', +); diff --git a/JSTests/test262/test/intl402/Temporal/PlainDate/prototype/since/wrapping-at-end-of-month-gregorian.js b/JSTests/test262/test/intl402/Temporal/PlainDate/prototype/since/wrapping-at-end-of-month-gregorian.js new file mode 100644 index 0000000000000..b4585cf2f9c2e --- /dev/null +++ b/JSTests/test262/test/intl402/Temporal/PlainDate/prototype/since/wrapping-at-end-of-month-gregorian.js @@ -0,0 +1,122 @@ +// Copyright (C) 2024 Igalia, S.L. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-temporal.plaindate.prototype.since +description: > + Tests balancing of days to months at end of month (ISO-like non-ISO calendars) +includes: [temporalHelpers.js] +features: [Temporal] +---*/ + +for (const calendar of ["buddhist", "gregory", "japanese", "roc"]) { + // Difference between end of longer month to end of following shorter month + { + const end = new Temporal.PlainDate(1970, 2, 28, calendar); + for (const largestUnit of ["years", "months"]) { + TemporalHelpers.assertDuration( + new Temporal.PlainDate(1970, 1, 28, calendar).since(end, { largestUnit }), + 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, + `Jan 28th to Feb 28th is one month (${calendar}, ${largestUnit})` + ); + TemporalHelpers.assertDuration( + new Temporal.PlainDate(1970, 1, 29, calendar).since(end, { largestUnit }), + 0, 0, 0, -30, 0, 0, 0, 0, 0, 0, + `Jan 29th to Feb 28th is 30 days, not one month (${calendar}, ${largestUnit})` + ); + TemporalHelpers.assertDuration( + new Temporal.PlainDate(1970, 1, 30, calendar).since(end, { largestUnit }), + 0, 0, 0, -29, 0, 0, 0, 0, 0, 0, + `Jan 30th to Feb 28th is 29 days, not one month (${calendar}, ${largestUnit})` + ); + TemporalHelpers.assertDuration( + new Temporal.PlainDate(1970, 1, 31, calendar).since(end, { largestUnit }), + 0, 0, 0, -28, 0, 0, 0, 0, 0, 0, + `Jan 31st to Feb 28th is 28 days, not one month (${calendar}, ${largestUnit})` + ); + } + } + + // Difference between end of leap-year January to end of leap-year February + { + const end = new Temporal.PlainDate(1972, 2, 29, calendar); + for (const largestUnit of ["years", "months"]) { + TemporalHelpers.assertDuration( + new Temporal.PlainDate(1972, 1, 29, calendar).since(end, { largestUnit }), + 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, + `Jan 29th to Feb 29th is one month (${calendar}, ${largestUnit})` + ); + TemporalHelpers.assertDuration( + new Temporal.PlainDate(1972, 1, 30, calendar).since(end, { largestUnit }), + 0, 0, 0, -30, 0, 0, 0, 0, 0, 0, + `Jan 30th to Feb 29th is 30 days, not one month (${calendar}, ${largestUnit})` + ); + TemporalHelpers.assertDuration( + new Temporal.PlainDate(1972, 1, 31, calendar).since(end, { largestUnit }), + 0, 0, 0, -29, 0, 0, 0, 0, 0, 0, + `Jan 31st to Feb 29th is 29 days, not one month (${calendar}, ${largestUnit})` + ); + } + } + + // Difference between end of longer month to end of not-immediately-following + // shorter month + { + const end = new Temporal.PlainDate(1970, 11, 30, calendar); + for (const largestUnit of ["years", "months"]) { + TemporalHelpers.assertDuration( + new Temporal.PlainDate(1970, 8, 30, calendar).since(end, { largestUnit }), + 0, -3, 0, 0, 0, 0, 0, 0, 0, 0, + `Aug 30th to Nov 30th is 3 months (${calendar}, ${largestUnit})` + ); + TemporalHelpers.assertDuration( + new Temporal.PlainDate(1970, 8, 31, calendar).since(end, { largestUnit }), + 0, -2, 0, -30, 0, 0, 0, 0, 0, 0, + `Aug 31st to Nov 30th is 2 months 30 days, not 3 months (${calendar}, ${largestUnit})` + ); + } + } + + // Difference between end of longer month in one year to shorter month in + // later year + { + const end = new Temporal.PlainDate(1973, 4, 30, calendar); + TemporalHelpers.assertDuration( + new Temporal.PlainDate(1970, 12, 30, calendar).since(end, { largestUnit: "months" }), + 0, -28, 0, 0, 0, 0, 0, 0, 0, 0, + `Dec 30th 1970 to Apr 30th 1973 is 28 months (${calendar})` + ); + TemporalHelpers.assertDuration( + new Temporal.PlainDate(1970, 12, 30, calendar).since(end, { largestUnit: "years" }), + -2, -4, 0, 0, 0, 0, 0, 0, 0, 0, + `Dec 30th 1970 to Apr 30th 1973 is 2 years, 4 months (${calendar})` + ); + TemporalHelpers.assertDuration( + new Temporal.PlainDate(1970, 12, 31, calendar).since(end, { largestUnit: "months" }), + 0, -27, 0, -30, 0, 0, 0, 0, 0, 0, + `Dec 30th 1970 to Apr 30th 1973 is 27 months, 30 days, not 28 months (${calendar})` + ); + TemporalHelpers.assertDuration( + new Temporal.PlainDate(1970, 12, 31, calendar).since(end, { largestUnit: "years" }), + -2, -3, 0, -30, 0, 0, 0, 0, 0, 0, + `Dec 30th 1970 to Apr 30th 1973 is 2 years, 3 months, 30 days, not 2 years 4 months (${calendar})` + ); + } + + // Difference where months passes through a month that's the same length or + // shorter than either the start or end month + { + TemporalHelpers.assertDuration( + new Temporal.PlainDate(1970, 1, 29, calendar) + .since(new Temporal.PlainDate(1970, 3, 28, calendar), { largestUnit: "months" }), + 0, -1, 0, -28, 0, 0, 0, 0, 0, 0, + `Jan 29th to Mar 28th is 1 month 28 days, not 58 days (${calendar})` + ); + TemporalHelpers.assertDuration( + new Temporal.PlainDate(1970, 1, 31, calendar) + .since(new Temporal.PlainDate(1971, 5, 30, calendar), { largestUnit: "years" }), + -1, -3, 0, -30, 0, 0, 0, 0, 0, 0, + `Jan 31st 1970 to May 30th 1971 is 1 year, 3 months, 30 days, not 1 year, 2 months, 60 days (${calendar})` + ); + } +} diff --git a/JSTests/test262/test/intl402/Temporal/PlainDate/prototype/until/wrapping-at-end-of-month-gregorian.js b/JSTests/test262/test/intl402/Temporal/PlainDate/prototype/until/wrapping-at-end-of-month-gregorian.js new file mode 100644 index 0000000000000..166a58516a1e9 --- /dev/null +++ b/JSTests/test262/test/intl402/Temporal/PlainDate/prototype/until/wrapping-at-end-of-month-gregorian.js @@ -0,0 +1,122 @@ +// Copyright (C) 2024 Igalia, S.L. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-temporal.plaindate.prototype.until +description: > + Tests balancing of days to months at end of month (ISO-like non-ISO calendars) +includes: [temporalHelpers.js] +features: [Temporal] +---*/ + +for (const calendar of ["buddhist", "gregory", "japanese", "roc"]) { + // Difference between end of longer month to end of following shorter month + { + const end = new Temporal.PlainDate(1970, 2, 28, calendar); + for (const largestUnit of ["years", "months"]) { + TemporalHelpers.assertDuration( + new Temporal.PlainDate(1970, 1, 28, calendar).until(end, { largestUnit }), + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, + `Jan 28th to Feb 28th is one month (${calendar}, ${largestUnit})` + ); + TemporalHelpers.assertDuration( + new Temporal.PlainDate(1970, 1, 29, calendar).until(end, { largestUnit }), + 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, + `Jan 29th to Feb 28th is 30 days, not one month (${calendar}, ${largestUnit})` + ); + TemporalHelpers.assertDuration( + new Temporal.PlainDate(1970, 1, 30, calendar).until(end, { largestUnit }), + 0, 0, 0, 29, 0, 0, 0, 0, 0, 0, + `Jan 30th to Feb 28th is 29 days, not one month (${calendar}, ${largestUnit})` + ); + TemporalHelpers.assertDuration( + new Temporal.PlainDate(1970, 1, 31, calendar).until(end, { largestUnit }), + 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, + `Jan 31st to Feb 28th is 28 days, not one month (${calendar}, ${largestUnit})` + ); + } + } + + // Difference between end of leap-year January to end of leap-year February + { + const end = new Temporal.PlainDate(1972, 2, 29, calendar); + for (const largestUnit of ["years", "months"]) { + TemporalHelpers.assertDuration( + new Temporal.PlainDate(1972, 1, 29, calendar).until(end, { largestUnit }), + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, + `Jan 29th to Feb 29th is one month (${calendar}, ${largestUnit})` + ); + TemporalHelpers.assertDuration( + new Temporal.PlainDate(1972, 1, 30, calendar).until(end, { largestUnit }), + 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, + `Jan 30th to Feb 29th is 30 days, not one month (${calendar}, ${largestUnit})` + ); + TemporalHelpers.assertDuration( + new Temporal.PlainDate(1972, 1, 31, calendar).until(end, { largestUnit }), + 0, 0, 0, 29, 0, 0, 0, 0, 0, 0, + `Jan 31st to Feb 29th is 29 days, not one month (${calendar}, ${largestUnit})` + ); + } + } + + // Difference between end of longer month to end of not-immediately-following + // shorter month + { + const end = new Temporal.PlainDate(1970, 11, 30, calendar); + for (const largestUnit of ["years", "months"]) { + TemporalHelpers.assertDuration( + new Temporal.PlainDate(1970, 8, 30, calendar).until(end, { largestUnit }), + 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, + `Aug 30th to Nov 30th is 3 months (${calendar}, ${largestUnit})` + ); + TemporalHelpers.assertDuration( + new Temporal.PlainDate(1970, 8, 31, calendar).until(end, { largestUnit }), + 0, 2, 0, 30, 0, 0, 0, 0, 0, 0, + `Aug 31st to Nov 30th is 2 months 30 days, not 3 months (${calendar}, ${largestUnit})` + ); + } + } + + // Difference between end of longer month in one year to shorter month in + // later year + { + const end = new Temporal.PlainDate(1973, 4, 30, calendar); + TemporalHelpers.assertDuration( + new Temporal.PlainDate(1970, 12, 30, calendar).until(end, { largestUnit: "months" }), + 0, 28, 0, 0, 0, 0, 0, 0, 0, 0, + `Dec 30th 1970 to Apr 30th 1973 is 28 months (${calendar})` + ); + TemporalHelpers.assertDuration( + new Temporal.PlainDate(1970, 12, 30, calendar).until(end, { largestUnit: "years" }), + 2, 4, 0, 0, 0, 0, 0, 0, 0, 0, + `Dec 30th 1970 to Apr 30th 1973 is 2 years, 4 months (${calendar})` + ); + TemporalHelpers.assertDuration( + new Temporal.PlainDate(1970, 12, 31, calendar).until(end, { largestUnit: "months" }), + 0, 27, 0, 30, 0, 0, 0, 0, 0, 0, + `Dec 30th 1970 to Apr 30th 1973 is 27 months, 30 days, not 28 months (${calendar})` + ); + TemporalHelpers.assertDuration( + new Temporal.PlainDate(1970, 12, 31, calendar).until(end, { largestUnit: "years" }), + 2, 3, 0, 30, 0, 0, 0, 0, 0, 0, + `Dec 30th 1970 to Apr 30th 1973 is 2 years, 3 months, 30 days, not 2 years 4 months (${calendar})` + ); + } + + // Difference where months passes through a month that's the same length or + // shorter than either the start or end month + { + TemporalHelpers.assertDuration( + new Temporal.PlainDate(1970, 1, 29, calendar) + .until(new Temporal.PlainDate(1970, 3, 28, calendar), { largestUnit: "months" }), + 0, 1, 0, 28, 0, 0, 0, 0, 0, 0, + `Jan 29th to Mar 28th is 1 month 28 days, not 58 days (${calendar})` + ); + TemporalHelpers.assertDuration( + new Temporal.PlainDate(1970, 1, 31, calendar) + .until(new Temporal.PlainDate(1971, 5, 30, calendar), { largestUnit: "years" }), + 1, 3, 0, 30, 0, 0, 0, 0, 0, 0, + `Jan 31st 1970 to May 30th 1971 is 1 year, 3 months, 30 days, not 1 year, 2 months, 60 days (${calendar})` + ); + } +} diff --git a/JSTests/test262/test/intl402/Temporal/PlainDateTime/prototype/since/wrapping-at-end-of-month-gregorian.js b/JSTests/test262/test/intl402/Temporal/PlainDateTime/prototype/since/wrapping-at-end-of-month-gregorian.js new file mode 100644 index 0000000000000..6206937489045 --- /dev/null +++ b/JSTests/test262/test/intl402/Temporal/PlainDateTime/prototype/since/wrapping-at-end-of-month-gregorian.js @@ -0,0 +1,146 @@ +// Copyright (C) 2024 Igalia, S.L. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-temporal.plaindatetime.prototype.since +description: > + Tests balancing of days to months at end of month (ISO-like non-ISO calendars) +includes: [temporalHelpers.js] +features: [Temporal] +---*/ + +for (const calendar of ["buddhist", "gregory", "japanese", "roc"]) { + // Difference between end of longer month to end of following shorter month + { + const end = new Temporal.PlainDateTime(1970, 2, 28, 0, 0, 0, 0, 0, 0, calendar); + for (const largestUnit of ["years", "months"]) { + TemporalHelpers.assertDuration( + new Temporal.PlainDateTime(1970, 1, 28, 0, 0, 0, 0, 0, 0, calendar).since(end, { largestUnit }), + 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, + `Jan 28th to Feb 28th is one month (${calendar}, ${largestUnit})` + ); + TemporalHelpers.assertDuration( + new Temporal.PlainDateTime(1970, 1, 29, 0, 0, 0, 0, 0, 0, calendar).since(end, { largestUnit }), + 0, 0, 0, -30, 0, 0, 0, 0, 0, 0, + `Jan 29th to Feb 28th is 30 days, not one month (${calendar}, ${largestUnit})` + ); + TemporalHelpers.assertDuration( + new Temporal.PlainDateTime(1970, 1, 30, 0, 0, 0, 0, 0, 0, calendar).since(end, { largestUnit }), + 0, 0, 0, -29, 0, 0, 0, 0, 0, 0, + `Jan 30th to Feb 28th is 29 days, not one month (${calendar}, ${largestUnit})` + ); + TemporalHelpers.assertDuration( + new Temporal.PlainDateTime(1970, 1, 31, 0, 0, 0, 0, 0, 0, calendar).since(end, { largestUnit }), + 0, 0, 0, -28, 0, 0, 0, 0, 0, 0, + `Jan 31st to Feb 28th is 28 days, not one month (${calendar}, ${largestUnit})` + ); + } + } + + // Difference between end of leap-year January to end of leap-year February + { + const end = new Temporal.PlainDateTime(1972, 2, 29, 0, 0, 0, 0, 0, 0, calendar); + for (const largestUnit of ["years", "months"]) { + TemporalHelpers.assertDuration( + new Temporal.PlainDateTime(1972, 1, 29, 0, 0, 0, 0, 0, 0, calendar).since(end, { largestUnit }), + 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, + `Jan 29th to Feb 29th is one month (${calendar}, ${largestUnit})` + ); + TemporalHelpers.assertDuration( + new Temporal.PlainDateTime(1972, 1, 30, 0, 0, 0, 0, 0, 0, calendar).since(end, { largestUnit }), + 0, 0, 0, -30, 0, 0, 0, 0, 0, 0, + `Jan 30th to Feb 29th is 30 days, not one month (${calendar}, ${largestUnit})` + ); + TemporalHelpers.assertDuration( + new Temporal.PlainDateTime(1972, 1, 31, 0, 0, 0, 0, 0, 0, calendar).since(end, { largestUnit }), + 0, 0, 0, -29, 0, 0, 0, 0, 0, 0, + `Jan 31st to Feb 29th is 29 days, not one month (${calendar}, ${largestUnit})` + ); + } + } + + // Difference between end of longer month to end of not-immediately-following + // shorter month + { + const end = new Temporal.PlainDateTime(1970, 11, 30, 0, 0, 0, 0, 0, 0, calendar); + for (const largestUnit of ["years", "months"]) { + TemporalHelpers.assertDuration( + new Temporal.PlainDateTime(1970, 8, 30, 0, 0, 0, 0, 0, 0, calendar).since(end, { largestUnit }), + 0, -3, 0, 0, 0, 0, 0, 0, 0, 0, + `Aug 30th to Nov 30th is 3 months (${calendar}, ${largestUnit})` + ); + TemporalHelpers.assertDuration( + new Temporal.PlainDateTime(1970, 8, 31, 0, 0, 0, 0, 0, 0, calendar).since(end, { largestUnit }), + 0, -2, 0, -30, 0, 0, 0, 0, 0, 0, + `Aug 31st to Nov 30th is 2 months 30 days, not 3 months (${calendar}, ${largestUnit})` + ); + } + } + + // Difference between end of longer month in one year to shorter month in + // later year + { + const end = new Temporal.PlainDateTime(1973, 4, 30, 0, 0, 0, 0, 0, 0, calendar); + TemporalHelpers.assertDuration( + new Temporal.PlainDateTime(1970, 12, 30, 0, 0, 0, 0, 0, 0, calendar).since(end, { largestUnit: "months" }), + 0, -28, 0, 0, 0, 0, 0, 0, 0, 0, + `Dec 30th 1970 to Apr 30th 1973 is 28 months (${calendar})` + ); + TemporalHelpers.assertDuration( + new Temporal.PlainDateTime(1970, 12, 30, 0, 0, 0, 0, 0, 0, calendar).since(end, { largestUnit: "years" }), + -2, -4, 0, 0, 0, 0, 0, 0, 0, 0, + `Dec 30th 1970 to Apr 30th 1973 is 2 years, 4 months (${calendar})` + ); + TemporalHelpers.assertDuration( + new Temporal.PlainDateTime(1970, 12, 31, 0, 0, 0, 0, 0, 0, calendar).since(end, { largestUnit: "months" }), + 0, -27, 0, -30, 0, 0, 0, 0, 0, 0, + `Dec 30th 1970 to Apr 30th 1973 is 27 months, 30 days, not 28 months (${calendar})` + ); + TemporalHelpers.assertDuration( + new Temporal.PlainDateTime(1970, 12, 31, 0, 0, 0, 0, 0, 0, calendar).since(end, { largestUnit: "years" }), + -2, -3, 0, -30, 0, 0, 0, 0, 0, 0, + `Dec 30th 1970 to Apr 30th 1973 is 2 years, 3 months, 30 days, not 2 years 4 months (${calendar})` + ); + } + + // Difference where months passes through a month that's the same length or + // shorter than either the start or end month + { + TemporalHelpers.assertDuration( + new Temporal.PlainDateTime(1970, 1, 29, 0, 0, 0, 0, 0, 0, calendar) + .since(new Temporal.PlainDateTime(1970, 3, 28, 0, 0, 0, 0, 0, 0, calendar), { largestUnit: "months" }), + 0, -1, 0, -28, 0, 0, 0, 0, 0, 0, + `Jan 29th to Mar 28th is 1 month 28 days, not 58 days (${calendar})` + ); + TemporalHelpers.assertDuration( + new Temporal.PlainDateTime(1970, 1, 31, 0, 0, 0, 0, 0, 0, calendar) + .since(new Temporal.PlainDateTime(1971, 5, 30, 0, 0, 0, 0, 0, 0, calendar), { largestUnit: "years" }), + -1, -3, 0, -30, 0, 0, 0, 0, 0, 0, + `Jan 31st 1970 to May 30th 1971 is 1 year, 3 months, 30 days, not 1 year, 2 months, 60 days (${calendar})` + ); + } + + // Test that 1-day backoff to maintain date/time sign compatibility backs-off from correct end + // while moving *forwards* in time and does not interfere with month boundaries + // https://github.com/tc39/proposal-temporal/issues/2820 + { + TemporalHelpers.assertDuration( + new Temporal.PlainDateTime(2023, 2, 28, 3, 0, 0, 0, 0, 0, calendar) + .since(new Temporal.PlainDateTime(2023, 4, 1, 2, 0, 0, 0, 0, 0, calendar), { largestUnit: "years" }), + 0, -1, 0, -3, -23, 0, 0, 0, 0, 0, + `Feb 28th (3am) to Apr 1st (2am) is -1 month, -3 days, and -23 hours (${calendar})` + ); + } + + // Test that 1-day backoff to maintain date/time sign compatibility backs-off from correct end + // while moving *backwards* in time and does not interfere with month boundaries + // https://github.com/tc39/proposal-temporal/issues/2820 + { + TemporalHelpers.assertDuration( + new Temporal.PlainDateTime(2023, 3, 1, 2, 0, 0, 0, 0, 0, calendar) + .since(new Temporal.PlainDateTime(2023, 1, 1, 3, 0, 0, 0, 0, 0, calendar), { largestUnit: "years" }), + 0, 1, 0, 30, 23, 0, 0, 0, 0, 0, + `Mar 1st (2am) to Jan 1st (3am) is 1 month, 30 days, and 23 hours (${calendar})` + ); + } +} diff --git a/JSTests/test262/test/intl402/Temporal/PlainDateTime/prototype/until/wrapping-at-end-of-month-gregorian.js b/JSTests/test262/test/intl402/Temporal/PlainDateTime/prototype/until/wrapping-at-end-of-month-gregorian.js new file mode 100644 index 0000000000000..8b4663bd1dd2a --- /dev/null +++ b/JSTests/test262/test/intl402/Temporal/PlainDateTime/prototype/until/wrapping-at-end-of-month-gregorian.js @@ -0,0 +1,146 @@ +// Copyright (C) 2024 Igalia, S.L. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-temporal.plaindatetime.prototype.until +description: > + Tests balancing of days to months at end of month (ISO-like non-ISO calendars) +includes: [temporalHelpers.js] +features: [Temporal] +---*/ + +for (const calendar of ["buddhist", "gregory", "japanese", "roc"]) { + // Difference between end of longer month to end of following shorter month + { + const end = new Temporal.PlainDateTime(1970, 2, 28, 0, 0, 0, 0, 0, 0, calendar); + for (const largestUnit of ["years", "months"]) { + TemporalHelpers.assertDuration( + new Temporal.PlainDateTime(1970, 1, 28, 0, 0, 0, 0, 0, 0, calendar).until(end, { largestUnit }), + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, + `Jan 28th to Feb 28th is one month (${calendar}, ${largestUnit})` + ); + TemporalHelpers.assertDuration( + new Temporal.PlainDateTime(1970, 1, 29, 0, 0, 0, 0, 0, 0, calendar).until(end, { largestUnit }), + 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, + `Jan 29th to Feb 28th is 30 days, not one month (${calendar}, ${largestUnit})` + ); + TemporalHelpers.assertDuration( + new Temporal.PlainDateTime(1970, 1, 30, 0, 0, 0, 0, 0, 0, calendar).until(end, { largestUnit }), + 0, 0, 0, 29, 0, 0, 0, 0, 0, 0, + `Jan 30th to Feb 28th is 29 days, not one month (${calendar}, ${largestUnit})` + ); + TemporalHelpers.assertDuration( + new Temporal.PlainDateTime(1970, 1, 31, 0, 0, 0, 0, 0, 0, calendar).until(end, { largestUnit }), + 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, + `Jan 31st to Feb 28th is 28 days, not one month (${calendar}, ${largestUnit})` + ); + } + } + + // Difference between end of leap-year January to end of leap-year February + { + const end = new Temporal.PlainDateTime(1972, 2, 29, 0, 0, 0, 0, 0, 0, calendar); + for (const largestUnit of ["years", "months"]) { + TemporalHelpers.assertDuration( + new Temporal.PlainDateTime(1972, 1, 29, 0, 0, 0, 0, 0, 0, calendar).until(end, { largestUnit }), + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, + `Jan 29th to Feb 29th is one month (${calendar}, ${largestUnit})` + ); + TemporalHelpers.assertDuration( + new Temporal.PlainDateTime(1972, 1, 30, 0, 0, 0, 0, 0, 0, calendar).until(end, { largestUnit }), + 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, + `Jan 30th to Feb 29th is 30 days, not one month (${calendar}, ${largestUnit})` + ); + TemporalHelpers.assertDuration( + new Temporal.PlainDateTime(1972, 1, 31, 0, 0, 0, 0, 0, 0, calendar).until(end, { largestUnit }), + 0, 0, 0, 29, 0, 0, 0, 0, 0, 0, + `Jan 31st to Feb 29th is 29 days, not one month (${calendar}, ${largestUnit})` + ); + } + } + + // Difference between end of longer month to end of not-immediately-following + // shorter month + { + const end = new Temporal.PlainDateTime(1970, 11, 30, 0, 0, 0, 0, 0, 0, calendar); + for (const largestUnit of ["years", "months"]) { + TemporalHelpers.assertDuration( + new Temporal.PlainDateTime(1970, 8, 30, 0, 0, 0, 0, 0, 0, calendar).until(end, { largestUnit }), + 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, + `Aug 30th to Nov 30th is 3 months (${calendar}, ${largestUnit})` + ); + TemporalHelpers.assertDuration( + new Temporal.PlainDateTime(1970, 8, 31, 0, 0, 0, 0, 0, 0, calendar).until(end, { largestUnit }), + 0, 2, 0, 30, 0, 0, 0, 0, 0, 0, + `Aug 31st to Nov 30th is 2 months 30 days, not 3 months (${calendar}, ${largestUnit})` + ); + } + } + + // Difference between end of longer month in one year to shorter month in + // later year + { + const end = new Temporal.PlainDateTime(1973, 4, 30, 0, 0, 0, 0, 0, 0, calendar); + TemporalHelpers.assertDuration( + new Temporal.PlainDateTime(1970, 12, 30, 0, 0, 0, 0, 0, 0, calendar).until(end, { largestUnit: "months" }), + 0, 28, 0, 0, 0, 0, 0, 0, 0, 0, + `Dec 30th 1970 to Apr 30th 1973 is 28 months (${calendar})` + ); + TemporalHelpers.assertDuration( + new Temporal.PlainDateTime(1970, 12, 30, 0, 0, 0, 0, 0, 0, calendar).until(end, { largestUnit: "years" }), + 2, 4, 0, 0, 0, 0, 0, 0, 0, 0, + `Dec 30th 1970 to Apr 30th 1973 is 2 years, 4 months (${calendar})` + ); + TemporalHelpers.assertDuration( + new Temporal.PlainDateTime(1970, 12, 31, 0, 0, 0, 0, 0, 0, calendar).until(end, { largestUnit: "months" }), + 0, 27, 0, 30, 0, 0, 0, 0, 0, 0, + `Dec 30th 1970 to Apr 30th 1973 is 27 months, 30 days, not 28 months (${calendar})` + ); + TemporalHelpers.assertDuration( + new Temporal.PlainDateTime(1970, 12, 31, 0, 0, 0, 0, 0, 0, calendar).until(end, { largestUnit: "years" }), + 2, 3, 0, 30, 0, 0, 0, 0, 0, 0, + `Dec 30th 1970 to Apr 30th 1973 is 2 years, 3 months, 30 days, not 2 years 4 months (${calendar})` + ); + } + + // Difference where months passes through a month that's the same length or + // shorter than either the start or end month + { + TemporalHelpers.assertDuration( + new Temporal.PlainDateTime(1970, 1, 29, 0, 0, 0, 0, 0, 0, calendar) + .until(new Temporal.PlainDateTime(1970, 3, 28, 0, 0, 0, 0, 0, 0, calendar), { largestUnit: "months" }), + 0, 1, 0, 28, 0, 0, 0, 0, 0, 0, + `Jan 29th to Mar 28th is 1 month 28 days, not 58 days (${calendar})` + ); + TemporalHelpers.assertDuration( + new Temporal.PlainDateTime(1970, 1, 31, 0, 0, 0, 0, 0, 0, calendar) + .until(new Temporal.PlainDateTime(1971, 5, 30, 0, 0, 0, 0, 0, 0, calendar), { largestUnit: "years" }), + 1, 3, 0, 30, 0, 0, 0, 0, 0, 0, + `Jan 31st 1970 to May 30th 1971 is 1 year, 3 months, 30 days, not 1 year, 2 months, 60 days (${calendar})` + ); + } + + // Test that 1-day backoff to maintain date/time sign compatibility backs-off from correct end + // while moving *backwards* in time and does not interfere with month boundaries + // https://github.com/tc39/proposal-temporal/issues/2820 + { + TemporalHelpers.assertDuration( + new Temporal.PlainDateTime(2023, 2, 28, 3, 0, 0, 0, 0, 0, calendar) + .until(new Temporal.PlainDateTime(2023, 4, 1, 2, 0, 0, 0, 0, 0, calendar), { largestUnit: "years" }), + 0, 1, 0, 3, 23, 0, 0, 0, 0, 0, + `Feb 28th (3am) to Apr 1st (2am) is 1 month, 3 days, and 23 hours (${calendar})` + ); + } + + // Test that 1-day backoff to maintain date/time sign compatibility backs-off from correct end + // while moving *forwards* in time and does not interfere with month boundaries + // https://github.com/tc39/proposal-temporal/issues/2820 + { + TemporalHelpers.assertDuration( + new Temporal.PlainDateTime(2023, 3, 1, 2, 0, 0, 0, 0, 0, calendar) + .until(new Temporal.PlainDateTime(2023, 1, 1, 3, 0, 0, 0, 0, 0, calendar), { largestUnit: "years" }), + 0, -1, 0, -30, -23, 0, 0, 0, 0, 0, + `Mar 1st (2am) to Jan 1st (3am) is -1 month, -30 days, and -23 hours (${calendar})` + ); + } +} diff --git a/JSTests/test262/test/intl402/Temporal/ZonedDateTime/prototype/since/argument-at-limits.js b/JSTests/test262/test/intl402/Temporal/ZonedDateTime/prototype/since/argument-at-limits.js new file mode 100644 index 0000000000000..962bdeeb41db7 --- /dev/null +++ b/JSTests/test262/test/intl402/Temporal/ZonedDateTime/prototype/since/argument-at-limits.js @@ -0,0 +1,43 @@ +// Copyright (C) 2025 Igalia, S.L. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-temporal.zoneddatetime.prototype.since +description: One of the operands is at the limit of the supported epoch ns range +includes: [temporalHelpers.js] +features: [Temporal] +---*/ + +const max = new Temporal.ZonedDateTime(86400_0000_0000_000_000_000n, "UTC"); + +for (const timeZone of ["Etc/GMT+0", "Europe/Amsterdam", "America/Vancouver"]) { + const limit = max.withTimeZone(timeZone); + const instance = new Temporal.PlainDateTime(1970, 1, 1, 1, 1, 1, 1, 1, 1).toZonedDateTime(timeZone); + + instance.since(limit, { largestUnit: "years" }); // should not throw + limit.since(instance, { largestUnit: "years" }); // should not throw + + const resultTimeUnit = instance.since(limit, { largestUnit: "seconds" }); + TemporalHelpers.assertDurationsEqual( + limit.since(instance, { largestUnit: "seconds" }), + resultTimeUnit.negated(), + `Arithmetic since limit with time largestUnit is self-consistent (${timeZone})` + ); +} + +const min = new Temporal.ZonedDateTime(-86400_0000_0000_000_000_000n, "UTC"); + +for (const timeZone of ["Etc/GMT+0", "Europe/Amsterdam", "America/Vancouver"]) { + const limit = min.withTimeZone(timeZone); + const instance = new Temporal.PlainDateTime(1970, 9, 1, 15, 47, 32).toZonedDateTime(timeZone); + + instance.since(limit, { largestUnit: "years" }); // should not throw + limit.since(instance, { largestUnit: "years" }); // should not throw + + const resultTimeUnit = instance.since(limit, { largestUnit: "seconds" }); + TemporalHelpers.assertDurationsEqual( + limit.since(instance, { largestUnit: "seconds" }), + resultTimeUnit.negated(), + `Arithmetic since limit with time largestUnit is self-consistent (${timeZone})` + ); +} diff --git a/JSTests/test262/test/intl402/Temporal/ZonedDateTime/prototype/since/same-date-reverse-wallclock.js b/JSTests/test262/test/intl402/Temporal/ZonedDateTime/prototype/since/same-date-reverse-wallclock.js new file mode 100644 index 0000000000000..356b459337740 --- /dev/null +++ b/JSTests/test262/test/intl402/Temporal/ZonedDateTime/prototype/since/same-date-reverse-wallclock.js @@ -0,0 +1,36 @@ +// Copyright (C) 2025 Adam Shaw. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +description: > + Returns a simple nanosecond time-duration when ISO year-month-day is same-day + and wall-clock delta direction is the reverse of the epoch-nanosecond direction +includes: [temporalHelpers.js] +features: [Temporal] +---*/ + +/* +Addresses https://github.com/tc39/proposal-temporal/issues/3141 +*/ + +TemporalHelpers.assertDuration( + Temporal.ZonedDateTime + .from('2025-11-02T01:00:00-08:00[America/Vancouver]') // later + .since('2025-11-02T01:01:00-07:00[America/Vancouver]', { // earlier + largestUnit: 'year', + smallestUnit: 'millisecond', + }), + 0, 0, 0, 0, 0, /* minutes = */ 59, 0, 0, 0, 0, + 'same-day, positive epoch-nanoseconds delta, negative wall-clock delta', +) + +TemporalHelpers.assertDuration( + Temporal.ZonedDateTime + .from('2025-11-02T01:01:00-07:00[America/Vancouver]') // earlier + .since('2025-11-02T01:00:00-08:00[America/Vancouver]', { // later + largestUnit: 'year', + smallestUnit: 'millisecond', + }), + 0, 0, 0, 0, 0, /* minutes = */ -59, 0, 0, 0, 0, + 'same-day, negative epoch-nanoseconds delta, positive wall-clock delta', +) diff --git a/JSTests/test262/test/intl402/Temporal/ZonedDateTime/prototype/since/wrapping-at-end-of-month-gregorian.js b/JSTests/test262/test/intl402/Temporal/ZonedDateTime/prototype/since/wrapping-at-end-of-month-gregorian.js new file mode 100644 index 0000000000000..9c41728900527 --- /dev/null +++ b/JSTests/test262/test/intl402/Temporal/ZonedDateTime/prototype/since/wrapping-at-end-of-month-gregorian.js @@ -0,0 +1,122 @@ +// Copyright (C) 2024 Igalia, S.L. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-temporal.zoneddatetime.prototype.since +description: > + Tests balancing of days to months at end of month (ISO-like non-ISO calendars) +includes: [temporalHelpers.js] +features: [Temporal] +---*/ + +for (const calendar of ["buddhist", "gregory", "japanese", "roc"]) { + // Difference between end of longer month to end of following shorter month + { + const end = new Temporal.ZonedDateTime(5011200_000_000_000n /* = 1970-02-28T00Z */, "UTC", calendar); + for (const largestUnit of ["years", "months"]) { + TemporalHelpers.assertDuration( + new Temporal.ZonedDateTime(2332800_000_000_000n /* = 1970-01-28T00Z */, "UTC", calendar).since(end, { largestUnit }), + 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, + `Jan 28th to Feb 28th is one month (${calendar}, ${largestUnit})` + ); + TemporalHelpers.assertDuration( + new Temporal.ZonedDateTime(2419200_000_000_000n /* = 1970-01-29T00Z */, "UTC", calendar).since(end, { largestUnit }), + 0, 0, 0, -30, 0, 0, 0, 0, 0, 0, + `Jan 29th to Feb 28th is 30 days, not one month (${calendar}, ${largestUnit})` + ); + TemporalHelpers.assertDuration( + new Temporal.ZonedDateTime(2505600_000_000_000n /* = 1970-01-30T00Z */, "UTC", calendar).since(end, { largestUnit }), + 0, 0, 0, -29, 0, 0, 0, 0, 0, 0, + `Jan 30th to Feb 28th is 29 days, not one month (${calendar}, ${largestUnit})` + ); + TemporalHelpers.assertDuration( + new Temporal.ZonedDateTime(2592000_000_000_000n /* = 1970-01-31T00Z */, "UTC", calendar).since(end, { largestUnit }), + 0, 0, 0, -28, 0, 0, 0, 0, 0, 0, + `Jan 31st to Feb 28th is 28 days, not one month (${calendar}, ${largestUnit})` + ); + } + } + + // Difference between end of leap-year January to end of leap-year February + { + const end = new Temporal.ZonedDateTime(68169600_000_000_000n /* = 1972-02-29T00Z */, "UTC", calendar); + for (const largestUnit of ["years", "months"]) { + TemporalHelpers.assertDuration( + new Temporal.ZonedDateTime(65491200_000_000_000n /* = 1972-01-29T00Z */, "UTC", calendar).since(end, { largestUnit }), + 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, + `Jan 29th to Feb 29th is one month (${calendar}, ${largestUnit})` + ); + TemporalHelpers.assertDuration( + new Temporal.ZonedDateTime(65577600_000_000_000n /* = 1972-01-30T00Z */, "UTC", calendar).since(end, { largestUnit }), + 0, 0, 0, -30, 0, 0, 0, 0, 0, 0, + `Jan 30th to Feb 29th is 30 days, not one month (${calendar}, ${largestUnit})` + ); + TemporalHelpers.assertDuration( + new Temporal.ZonedDateTime(65664000_000_000_000n /* = 1972-01-31T00Z */, "UTC", calendar).since(end, { largestUnit }), + 0, 0, 0, -29, 0, 0, 0, 0, 0, 0, + `Jan 31st to Feb 29th is 29 days, not one month (${calendar}, ${largestUnit})` + ); + } + } + + // Difference between end of longer month to end of not-immediately-following + // shorter month + { + const end = new Temporal.ZonedDateTime(28771200_000_000_000n /* = 1970-11-30T00Z */, "UTC", calendar); + for (const largestUnit of ["years", "months"]) { + TemporalHelpers.assertDuration( + new Temporal.ZonedDateTime(20822400_000_000_000n /* = 1970-08-30T00Z */, "UTC", calendar).since(end, { largestUnit }), + 0, -3, 0, 0, 0, 0, 0, 0, 0, 0, + `Aug 30th to Nov 30th is 3 months (${calendar}, ${largestUnit})` + ); + TemporalHelpers.assertDuration( + new Temporal.ZonedDateTime(20908800_000_000_000n /* = 1970-08-31T00Z */, "UTC", calendar).since(end, { largestUnit }), + 0, -2, 0, -30, 0, 0, 0, 0, 0, 0, + `Aug 31st to Nov 30th is 2 months 30 days, not 3 months (${calendar}, ${largestUnit})` + ); + } + } + + // Difference between end of longer month in one year to shorter month in + // later year + { + const end = new Temporal.ZonedDateTime(104976000_000_000_000n /* = 1973-04-30T00Z */, "UTC", calendar); + TemporalHelpers.assertDuration( + new Temporal.ZonedDateTime(31363200_000_000_000n /* = 1970-12-30T00Z */, "UTC", calendar).since(end, { largestUnit: "months" }), + 0, -28, 0, 0, 0, 0, 0, 0, 0, 0, + `Dec 30th 1970 to Apr 30th 1973 is 28 months (${calendar})` + ); + TemporalHelpers.assertDuration( + new Temporal.ZonedDateTime(31363200_000_000_000n /* = 1970-12-30T00Z */, "UTC", calendar).since(end, { largestUnit: "years" }), + -2, -4, 0, 0, 0, 0, 0, 0, 0, 0, + `Dec 30th 1970 to Apr 30th 1973 is 2 years, 4 months (${calendar})` + ); + TemporalHelpers.assertDuration( + new Temporal.ZonedDateTime(31449600_000_000_000n /* = 1970-12-31T00Z */, "UTC", calendar).since(end, { largestUnit: "months" }), + 0, -27, 0, -30, 0, 0, 0, 0, 0, 0, + `Dec 30th 1970 to Apr 30th 1973 is 27 months, 30 days, not 28 months (${calendar})` + ); + TemporalHelpers.assertDuration( + new Temporal.ZonedDateTime(31449600_000_000_000n /* = 1970-12-31T00Z */, "UTC", calendar).since(end, { largestUnit: "years" }), + -2, -3, 0, -30, 0, 0, 0, 0, 0, 0, + `Dec 30th 1970 to Apr 30th 1973 is 2 years, 3 months, 30 days, not 2 years 4 months (${calendar})` + ); + } + + // Difference where months passes through a month that's the same length or + // shorter than either the start or end month + { + TemporalHelpers.assertDuration( + new Temporal.ZonedDateTime(2419200_000_000_000n /* = 1970-01-29T00Z */, "UTC", calendar) + .since(new Temporal.ZonedDateTime(7430400_000_000_000n /* = 1970-03-28T00Z */, "UTC", calendar), { largestUnit: "months" }), + 0, -1, 0, -28, 0, 0, 0, 0, 0, 0, + `Jan 29th to Mar 28th is 1 month 28 days, not 58 days (${calendar})` + ); + TemporalHelpers.assertDuration( + new Temporal.ZonedDateTime(2592000_000_000_000n /* = 1970-01-31T00Z */, "UTC", calendar) + .since(new Temporal.ZonedDateTime(44409600_000_000_000n /* = 1971-05-30T00Z */, "UTC", calendar), { largestUnit: "years" }), + -1, -3, 0, -30, 0, 0, 0, 0, 0, 0, + `Jan 31st 1970 to May 30th 1971 is 1 year, 3 months, 30 days, not 1 year, 2 months, 60 days (${calendar})` + ); + } +} diff --git a/JSTests/test262/test/intl402/Temporal/ZonedDateTime/prototype/until/argument-at-limits.js b/JSTests/test262/test/intl402/Temporal/ZonedDateTime/prototype/until/argument-at-limits.js new file mode 100644 index 0000000000000..e605096f7e000 --- /dev/null +++ b/JSTests/test262/test/intl402/Temporal/ZonedDateTime/prototype/until/argument-at-limits.js @@ -0,0 +1,43 @@ +// Copyright (C) 2025 Igalia, S.L. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-temporal.zoneddatetime.prototype.until +description: One of the operands is at the limit of the supported epoch ns range +includes: [temporalHelpers.js] +features: [Temporal] +---*/ + +const max = new Temporal.ZonedDateTime(86400_0000_0000_000_000_000n, "UTC"); + +for (const timeZone of ["Etc/GMT+0", "Europe/Amsterdam", "America/Vancouver"]) { + const limit = max.withTimeZone(timeZone); + const instance = new Temporal.PlainDateTime(1970, 1, 1, 1, 1, 1, 1, 1, 1).toZonedDateTime(timeZone); + + instance.since(limit, { largestUnit: "years" }); // should not throw + limit.since(instance, { largestUnit: "years" }); // should not throw + + const resultTimeUnit = instance.until(limit, { largestUnit: "seconds" }); + TemporalHelpers.assertDurationsEqual( + limit.until(instance, { largestUnit: "seconds" }), + resultTimeUnit.negated(), + `Arithmetic until limit with time largestUnit is self-consistent (${timeZone})` + ); +} + +const min = new Temporal.ZonedDateTime(-86400_0000_0000_000_000_000n, "UTC"); + +for (const timeZone of ["Etc/GMT+0", "Europe/Amsterdam", "America/Vancouver"]) { + const limit = min.withTimeZone(timeZone); + const instance = new Temporal.PlainDateTime(1970, 9, 1, 15, 47, 32).toZonedDateTime(timeZone); + + instance.since(limit, { largestUnit: "years" }); // should not throw + limit.since(instance, { largestUnit: "years" }); // should not throw + + const resultTimeUnit = instance.until(limit, { largestUnit: "seconds" }); + TemporalHelpers.assertDurationsEqual( + limit.until(instance, { largestUnit: "seconds" }), + resultTimeUnit.negated(), + `Arithmetic until limit with time largestUnit is self-consistent (${timeZone})` + ); +} diff --git a/JSTests/test262/test/intl402/Temporal/ZonedDateTime/prototype/until/same-date-reverse-wallclock.js b/JSTests/test262/test/intl402/Temporal/ZonedDateTime/prototype/until/same-date-reverse-wallclock.js new file mode 100644 index 0000000000000..206c80c708f21 --- /dev/null +++ b/JSTests/test262/test/intl402/Temporal/ZonedDateTime/prototype/until/same-date-reverse-wallclock.js @@ -0,0 +1,36 @@ +// Copyright (C) 2025 Adam Shaw. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +description: > + Returns a simple nanosecond time-duration when ISO year-month-day is same-day + and wall-clock delta direction is the reverse of the epoch-nanosecond direction +includes: [temporalHelpers.js] +features: [Temporal] +---*/ + +/* +Addresses https://github.com/tc39/proposal-temporal/issues/3141 +*/ + +TemporalHelpers.assertDuration( + Temporal.ZonedDateTime + .from('2025-11-02T01:00:00-08:00[America/Vancouver]') // later + .until('2025-11-02T01:01:00-07:00[America/Vancouver]', { // earlier + largestUnit: 'year', + smallestUnit: 'nanosecond', + }), + 0, 0, 0, 0, 0, /* minutes = */ -59, 0, 0, 0, 0, + 'same-day, negative epoch-nanoseconds delta, positive wall-clock delta', +) + +TemporalHelpers.assertDuration( + Temporal.ZonedDateTime + .from('2025-11-02T01:01:00-07:00[America/Vancouver]') // earlier + .until('2025-11-02T01:00:00-08:00[America/Vancouver]', { // later + largestUnit: 'year', + smallestUnit: 'nanosecond', + }), + 0, 0, 0, 0, 0, /* minutes = */ 59, 0, 0, 0, 0, + 'same-day, positive epoch-nanoseconds delta, negative wall-clock delta', +) diff --git a/JSTests/test262/test/intl402/Temporal/ZonedDateTime/prototype/until/wrapping-at-end-of-month-gregorian.js b/JSTests/test262/test/intl402/Temporal/ZonedDateTime/prototype/until/wrapping-at-end-of-month-gregorian.js new file mode 100644 index 0000000000000..5607102b708c8 --- /dev/null +++ b/JSTests/test262/test/intl402/Temporal/ZonedDateTime/prototype/until/wrapping-at-end-of-month-gregorian.js @@ -0,0 +1,120 @@ +// Copyright (C) 2024 Igalia, S.L. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-temporal.zoneddatetime.prototype.until +description: > + Tests balancing of days to months at end of month (ISO-like non-ISO calendars) +includes: [temporalHelpers.js] +features: [Temporal] +---*/ + +for (const calendar of ["buddhist", "gregory", "japanese", "roc"]) { + // Difference between end of longer month to end of following shorter month + { + const end = new Temporal.ZonedDateTime(5011200_000_000_000n /* = 1970-02-28T00Z */, "UTC", calendar); + for (const largestUnit of ["years", "months"]) { + TemporalHelpers.assertDuration( + new Temporal.ZonedDateTime(2332800_000_000_000n /* = 1970-01-28T00Z */, "UTC", calendar).until(end, { largestUnit }), + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, + `Jan 28th to Feb 28th is one month (${calendar}, ${largestUnit})` + ); + TemporalHelpers.assertDuration( + new Temporal.ZonedDateTime(2419200_000_000_000n /* = 1970-01-29T00Z */, "UTC", calendar).until(end, { largestUnit }), + 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, + `Jan 29th to Feb 28th is 30 days, not one month (${calendar}, ${largestUnit})` + ); + TemporalHelpers.assertDuration( + new Temporal.ZonedDateTime(2505600_000_000_000n /* = 1970-01-30T00Z */, "UTC", calendar).until(end, { largestUnit }), + 0, 0, 0, 29, 0, 0, 0, 0, 0, 0, + `Jan 30th to Feb 28th is 29 days, not one month (${calendar}, ${largestUnit})` + ); + TemporalHelpers.assertDuration( + new Temporal.ZonedDateTime(2592000_000_000_000n /* = 1970-01-31T00Z */, "UTC", calendar).until(end, { largestUnit }), + 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, + `Jan 31st to Feb 28th is 28 days, not one month (${calendar}, ${largestUnit})` + ); + } + } + + // Difference between end of leap-year January to end of leap-year February + { + const end = new Temporal.ZonedDateTime(68169600_000_000_000n /* = 1972-02-29T00Z */, "UTC", calendar); + for (const largestUnit of ["years", "months"]) { + TemporalHelpers.assertDuration( + new Temporal.ZonedDateTime(65491200_000_000_000n /* = 1972-01-29T00Z */, "UTC", calendar).until(end, { largestUnit }), + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, + `Jan 29th to Feb 29th is one month (${calendar}, ${largestUnit})` + ); + TemporalHelpers.assertDuration( + new Temporal.ZonedDateTime(65577600_000_000_000n /* = 1972-01-30T00Z */, "UTC", calendar).until(end, { largestUnit }), + 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, + `Jan 30th to Feb 29th is 30 days, not one month (${calendar}, ${largestUnit})` + ); + TemporalHelpers.assertDuration( + new Temporal.ZonedDateTime(65664000_000_000_000n /* = 1972-01-31T00Z */, "UTC", calendar).until(end, { largestUnit }), + 0, 0, 0, 29, 0, 0, 0, 0, 0, 0, + `Jan 31st to Feb 29th is 29 days, not one month (${calendar}, ${largestUnit})` + ); + } + } + + // Difference between end of longer month to end of not-immediately-following + // shorter month + { + const end = new Temporal.ZonedDateTime(28771200_000_000_000n /* = 1970-11-30T00Z */, "UTC", calendar); + for (const largestUnit of ["years", "months"]) { + TemporalHelpers.assertDuration( + new Temporal.ZonedDateTime(20822400_000_000_000n /* = 1970-08-30T00Z */, "UTC", calendar).until(end, { largestUnit }), + 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, + `Aug 30th to Nov 30th is 3 months (${calendar}, ${largestUnit})` + ); + TemporalHelpers.assertDuration( + new Temporal.ZonedDateTime(20908800_000_000_000n /* = 1970-08-31T00Z */, "UTC", calendar).until(end, { largestUnit }), + 0, 2, 0, 30, 0, 0, 0, 0, 0, 0, + `Aug 31st to Nov 30th is 2 months 30 days, not 3 months (${calendar}, ${largestUnit})` + ); + } + } + + // Difference between end of longer month in one year to shorter month in + // later year + { + const end = new Temporal.ZonedDateTime(104976000_000_000_000n /* = 1973-04-30T00Z */, "UTC", calendar); + TemporalHelpers.assertDuration( + new Temporal.ZonedDateTime(31363200_000_000_000n /* = 1970-12-30T00Z */, "UTC", calendar).until(end, { largestUnit: "months" }), + 0, 28, 0, 0, 0, 0, 0, 0, 0, 0, + `Dec 30th 1970 to Apr 30th 1973 is 28 months (${calendar})` + ); + TemporalHelpers.assertDuration( + new Temporal.ZonedDateTime(31363200_000_000_000n /* = 1970-12-30T00Z */, "UTC", calendar).until(end, { largestUnit: "years" }), + 2, 4, 0, 0, 0, 0, 0, 0, 0, 0, + `Dec 30th 1970 to Apr 30th 1973 is 2 years, 4 months (${calendar})` + ); + TemporalHelpers.assertDuration( + new Temporal.ZonedDateTime(31449600_000_000_000n /* = 1970-12-31T00Z */, "UTC", calendar).until(end, { largestUnit: "months" }), + 0, 27, 0, 30, 0, 0, 0, 0, 0, 0, + `Dec 30th 1970 to Apr 30th 1973 is 27 months, 30 days, not 28 months (${calendar})` + ); + TemporalHelpers.assertDuration( + new Temporal.ZonedDateTime(31449600_000_000_000n /* = 1970-12-31T00Z */, "UTC", calendar).until(end, { largestUnit: "years" }), + 2, 3, 0, 30, 0, 0, 0, 0, 0, 0, + `Dec 30th 1970 to Apr 30th 1973 is 2 years, 3 months, 30 days, not 2 years 4 months (${calendar})` + ); + } + + // Difference where months passes through a month that's the same length or + // shorter than either the start or end month + { + TemporalHelpers.assertDuration( + new Temporal.ZonedDateTime(2419200_000_000_000n /* = 1970-01-29T00Z */, "UTC", calendar).until(new Temporal.ZonedDateTime(7430400_000_000_000n /* = 1970-03-28T00Z */, "UTC", calendar), { largestUnit: "months" }), + 0, 1, 0, 28, 0, 0, 0, 0, 0, 0, + `Jan 29th to Mar 28th is 1 month 28 days, not 58 days (${calendar})` + ); + TemporalHelpers.assertDuration( + new Temporal.ZonedDateTime(2592000_000_000_000n /* = 1970-01-31T00Z */, "UTC", calendar).until(new Temporal.ZonedDateTime(44409600_000_000_000n /* = 1971-05-30T00Z */, "UTC", calendar), { largestUnit: "years" }), + 1, 3, 0, 30, 0, 0, 0, 0, 0, 0, + `Jan 31st 1970 to May 30th 1971 is 1 year, 3 months, 30 days, not 1 year, 2 months, 60 days (${calendar})` + ); + } +} diff --git a/JSTests/test262/test/language/statements/class/elements/private-class-field-on-frozen-objects.js b/JSTests/test262/test/language/statements/class/elements/private-class-field-on-frozen-objects.js deleted file mode 100644 index 9517976c10c55..0000000000000 --- a/JSTests/test262/test/language/statements/class/elements/private-class-field-on-frozen-objects.js +++ /dev/null @@ -1,31 +0,0 @@ -// Copyright (C) 2019 Caio Lima. All rights reserved. -// This code is governed by the BSD license found in the LICENSE file. - -/*--- -description: It is possible to add private fields on frozen objects -esid: sec-define-field -info: | - DefineField(receiver, fieldRecord) - ... - 8. If fieldName is a Private Name, - a. Perform ? PrivateFieldAdd(fieldName, receiver, initValue). - 9. Else, - a. Assert: IsPropertyKey(fieldName) is true. - b. Perform ? CreateDataPropertyOrThrow(receiver, fieldName, initValue). - 10. Return. -features: [class, class-fields-private, class-fields-public] -flags: [onlyStrict] ----*/ - -class Test { - f = this; - #g = (Object.freeze(this), "Test262"); - - get g() { - return this.#g; - } -} - -let t = new Test(); -assert.sameValue(t.f, t); -assert.sameValue(t.g, "Test262"); diff --git a/JSTests/test262/test/language/statements/class/elements/private-class-field-on-nonextensible-objects.js b/JSTests/test262/test/language/statements/class/elements/private-class-field-on-nonextensible-objects.js new file mode 100644 index 0000000000000..ada38689165ca --- /dev/null +++ b/JSTests/test262/test/language/statements/class/elements/private-class-field-on-nonextensible-objects.js @@ -0,0 +1,117 @@ +// Copyright (C) 2019 Caio Lima. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +description: It is not possible to add private fields on non-extensible objects +esid: sec-define-field +info: | + 1.1 PrivateFieldAdd ( O, P, value ) + 1. If O.[[Extensible]] is false, throw a TypeError exception. + ... + +features: + - class + - class-fields-private + - class-fields-public + - nonextensible-applies-to-private +flags: [onlyStrict] +---*/ + +// Analogous to +// test/language/statements/class/subclass/private-class-field-on-nonextensible-return-override.js + +class NonExtensibleBase { + constructor(seal) { + if (seal) Object.preventExtensions(this); + } +} + + +// extend superclass with private instance data field +class ClassWithPrivateField extends NonExtensibleBase { + #val; + + constructor(seal) { + super(seal); + this.#val = 42; + } + val() { + return this.#val; + } +} + +const t = new ClassWithPrivateField(false); +// extensible objects can be extended +assert.sameValue(t.val(), 42); + +// where superclass prevented extensions & subclass extended +assert.throws(TypeError, function () { + new ClassWithPrivateField(true); +}); + + +// extend superclass with private instance method +class ClassWithPrivateMethod extends NonExtensibleBase { + constructor(seal) { + super(seal); + } + // private methods are on the instance, so will fail + #privateMethod() { + return 42; + }; + // public methods are on the prototype, so are ok. + publicMethod() { + return this.#privateMethod(); + } +} + +const m = new ClassWithPrivateMethod(false); +// extensible objects can be extended +assert.sameValue(m.publicMethod(), 42); + +// where superclass prevented extensions & subclass extended +assert.throws(TypeError, function () { + new ClassWithPrivateMethod(true); +}); + + +// extend superclass with private instance accessor +class ClassWithPrivateAccessor extends NonExtensibleBase { + constructor(seal) { + super(seal); + } + // private accessors are on the instance, so will fail + get #privateAccessor() { + return 42; + }; + // public accessors are on the prototype, so are ok. + get publicAccessor() { + return this.#privateAccessor; + } +} + +const a = new ClassWithPrivateAccessor(false); +// extensible objects can be extended +assert.sameValue(m.publicAccessor, 42); + +// where superclass prevented extensions & subclass extended +assert.throws(TypeError, function () { + new ClassWithPrivateAccessor(true); +}); + + +// base class private instance data field +class TestNonExtensibleData { + #g = (Object.preventExtensions(this), "Test262"); +} + +assert.throws(TypeError, function () { + new TestNonExtensibleData(); +}); + +// base class with private static data field +assert.throws(TypeError, function () { + class TestNonExtensibleStaticData { + static #g = (Object.preventExtensions(TestNonExtensibleStaticData), "Test262"); + } +}); diff --git a/JSTests/test262/test/language/statements/class/subclass/private-class-field-on-nonextensible-return-override.js b/JSTests/test262/test/language/statements/class/subclass/private-class-field-on-nonextensible-return-override.js new file mode 100644 index 0000000000000..d8e7034a7d92a --- /dev/null +++ b/JSTests/test262/test/language/statements/class/subclass/private-class-field-on-nonextensible-return-override.js @@ -0,0 +1,100 @@ +// Copyright (C) 2019 Caio Lima. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +description: It is not possible to add private fields on non-extensible objects via return override +esid: sec-define-field +info: | + 1.1 PrivateFieldAdd ( O, P, value ) + 1. If O.[[Extensible]] is false, throw a TypeError exception. + ... + +features: + - class + - class-fields-private + - class-fields-public + - nonextensible-applies-to-private +flags: [onlyStrict] +---*/ + +// Analogous to +// test/language/statements/class/elements/private-class-field-on-nonextensible-objects.js + +class TrojanBase { + constructor(obj) { + return obj; + } +} + + +// extend superclass with private instance data field +class ClassWithPrivateField extends TrojanBase { + #val; + + constructor(obj) { + super(obj); + this.#val = 42; + } + val() { + return this.#val; + } +} + +const t = new ClassWithPrivateField({}); +// extensible objects can be extended +assert.sameValue(t.val(), 42); + +// where superclass prevented extensions & subclass extended +assert.throws(TypeError, function () { + new ClassWithPrivateField(Object.preventExtensions({})); +}); + + +// extend superclass with private instance method +class ClassWithPrivateMethod extends TrojanBase { + constructor(obj) { + super(obj); + } + // private methods are on the instance, so will fail + #privateMethod() { + return 42; + }; + // public methods are on the prototype, so are ok. + publicMethod() { + return this.#privateMethod(); + } +} + +const m = new ClassWithPrivateMethod({}); +// extensible objects can be extended +assert.sameValue(m.publicMethod(), 42); + +// where superclass prevented extensions & subclass extended +assert.throws(TypeError, function () { + new ClassWithPrivateMethod(Object.preventExtensions({})); +}); + + +// extend superclass with private instance accessor +class ClassWithPrivateAccessor extends TrojanBase { + constructor(obj) { + super(obj); + } + // private accessors are on the instance, so will fail + get #privateAccessor() { + return 42; + }; + // public accessors are on the prototype, so are ok. + get publicAccessor() { + return this.#privateAccessor; + } +} + +const a = new ClassWithPrivateAccessor({}); +// extensible objects can be extended +assert.sameValue(m.publicAccessor, 42); + +// where superclass prevented extensions & subclass extended +assert.throws(TypeError, function () { + new ClassWithPrivateAccessor(Object.preventExtensions({})); +}); diff --git a/JSTests/test262/test/staging/sm/Array/array-length-set-during-for-in.js b/JSTests/test262/test/staging/sm/Array/array-length-set-during-for-in.js index 21c736411ad63..bbdcb252d1185 100644 --- a/JSTests/test262/test/staging/sm/Array/array-length-set-during-for-in.js +++ b/JSTests/test262/test/staging/sm/Array/array-length-set-during-for-in.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/Array/array-length-set-on-nonarray.js b/JSTests/test262/test/staging/sm/Array/array-length-set-on-nonarray.js index 0cfee42599e02..08624dad55716 100644 --- a/JSTests/test262/test/staging/sm/Array/array-length-set-on-nonarray.js +++ b/JSTests/test262/test/staging/sm/Array/array-length-set-on-nonarray.js @@ -4,24 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Don't use a shared-permanent inherited property to implement [].length or (function(){}).length +info: bugzilla.mozilla.org/show_bug.cgi?id=548671 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 548671; -var summary = - "Don't use a shared-permanent inherited property to implement " + - "[].length or (function(){}).length"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ var a = []; a.p = 1; @@ -29,5 +16,3 @@ var x = Object.create(a); assert.sameValue(x.length, 0); assert.sameValue(x.p, 1); assert.sameValue(a.length, 0); - -print("All tests passed!"); diff --git a/JSTests/test262/test/staging/sm/Array/at.js b/JSTests/test262/test/staging/sm/Array/at.js index 03aaa42c1efa0..18b3ee31eb76c 100644 --- a/JSTests/test262/test/staging/sm/Array/at.js +++ b/JSTests/test262/test/staging/sm/Array/at.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/Array/change-array-by-copy-cross-compartment-create.js b/JSTests/test262/test/staging/sm/Array/change-array-by-copy-cross-compartment-create.js index 21fa225748ba6..a9a39b0e9d192 100644 --- a/JSTests/test262/test/staging/sm/Array/change-array-by-copy-cross-compartment-create.js +++ b/JSTests/test262/test/staging/sm/Array/change-array-by-copy-cross-compartment-create.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending @@ -29,6 +26,4 @@ function test(otherGlobal) { } } -test(createNewGlobal()); -test(createNewGlobal({newCompartment: true})); - +test($262.createRealm().global); diff --git a/JSTests/test262/test/staging/sm/Array/change-array-by-copy-errors-from-correct-realm.js b/JSTests/test262/test/staging/sm/Array/change-array-by-copy-errors-from-correct-realm.js index 824fdcad34a2b..474f48bab573e 100644 --- a/JSTests/test262/test/staging/sm/Array/change-array-by-copy-errors-from-correct-realm.js +++ b/JSTests/test262/test/staging/sm/Array/change-array-by-copy-errors-from-correct-realm.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending @@ -61,28 +58,12 @@ function test(otherGlobal) { // For each erroneous case, make sure the error comes from // the other realm (not this realm) for (const [message, f] of typeErrorCalls) { - try { - f(); - } catch (exc) { - assert.sameValue(exc instanceof TypeError, false, message + " threw TypeError from wrong realm"); - assert.sameValue(exc instanceof otherGlobal.TypeError, true, message + " didn't throw TypeError from other realm"); - assert.sameValue(Object.getPrototypeOf(exc) !== Object.getPrototypeOf(TypeError), true, - message + " TypeError has wrong prototype"); - } + assert.throws(otherGlobal.TypeError, f, message); } for (const [message, f] of rangeErrorCalls) { - try { - f(); - } catch (exc) { - assert.sameValue(exc instanceof RangeError, false, message + " threw RangeError from wrong realm"); - assert.sameValue(exc instanceof otherGlobal.RangeError, true, message + " didn't throw RangeError from other realm"); - assert.sameValue(Object.getPrototypeOf(exc) !== Object.getPrototypeOf(RangeError), true, - message + " TypeError has wrong prototype"); - } + assert.throws(otherGlobal.RangeError, f, message); } } -test(createNewGlobal()); -test(createNewGlobal({newCompartment: true})); - +test($262.createRealm().global); diff --git a/JSTests/test262/test/staging/sm/Array/concat-proxy.js b/JSTests/test262/test/staging/sm/Array/concat-proxy.js index e7275f4fb29a5..1df58b1328068 100644 --- a/JSTests/test262/test/staging/sm/Array/concat-proxy.js +++ b/JSTests/test262/test/staging/sm/Array/concat-proxy.js @@ -2,17 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Array.prototype.concat should check HasProperty everytime for non-dense array +info: bugzilla.mozilla.org/show_bug.cgi?id=1287520 esid: pending ---*/ -var BUGNUMBER = 1287520; -var summary = 'Array.prototype.concat should check HasProperty everytime for non-dense array'; - -print(BUGNUMBER + ": " + summary); var a = [1, 2, 3]; a.constructor = { @@ -31,4 +25,3 @@ var p = a.concat(); assert.sameValue(0 in p, true); assert.sameValue(1 in p, false); assert.sameValue(2 in p, true); - diff --git a/JSTests/test262/test/staging/sm/Array/concat-spreadable-basic.js b/JSTests/test262/test/staging/sm/Array/concat-spreadable-basic.js index 0264984e4cf29..681a05b60827a 100644 --- a/JSTests/test262/test/staging/sm/Array/concat-spreadable-basic.js +++ b/JSTests/test262/test/staging/sm/Array/concat-spreadable-basic.js @@ -4,14 +4,11 @@ */ /*--- -flags: - - onlyStrict -includes: [sm/non262.js, sm/non262-shell.js, deepEqual.js] +includes: [deepEqual.js] description: | pending esid: pending ---*/ -"use strict"; const x = Object.freeze([1, 2, 3]); @@ -44,4 +41,3 @@ assert.deepEqual(x.concat(array), [1, 2, 3, [5, 4]]); // Explicitly spreadable array[Symbol.isConcatSpreadable] = true; assert.deepEqual(x.concat(array), [1, 2, 3, 5, 4]); - diff --git a/JSTests/test262/test/staging/sm/Array/concat-spreadable-primitive.js b/JSTests/test262/test/staging/sm/Array/concat-spreadable-primitive.js index 590155818667d..93c5273d2ea68 100644 --- a/JSTests/test262/test/staging/sm/Array/concat-spreadable-primitive.js +++ b/JSTests/test262/test/staging/sm/Array/concat-spreadable-primitive.js @@ -4,14 +4,11 @@ */ /*--- -flags: - - onlyStrict -includes: [sm/non262.js, sm/non262-shell.js, deepEqual.js] +includes: [compareArray.js] description: | pending esid: pending ---*/ -"use strict"; // Primitive values should never be tried to spread let primitives = [ @@ -34,11 +31,10 @@ for (let value of primitives) { }); let x = [1, 2].concat(value); - assert.deepEqual(x, [1, 2, value]); + assert.compareArray(x, [1, 2, value]); delete prototype[Symbol.isConcatSpreadable]; delete prototype.length; prototype.length; } - diff --git a/JSTests/test262/test/staging/sm/Array/fill.js b/JSTests/test262/test/staging/sm/Array/fill.js index 6476948416f93..70b9d0d3ad145 100644 --- a/JSTests/test262/test/staging/sm/Array/fill.js +++ b/JSTests/test262/test/staging/sm/Array/fill.js @@ -4,22 +4,12 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js, deepEqual.js] -flags: - - noStrict +includes: [deepEqual.js] description: | - pending + Array.prototype.fill +info: bugzilla.mozilla.org/show_bug.cgi?id=911147 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 911147; -var summary = 'Array.prototype.fill'; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ assert.sameValue(typeof [].fill, 'function'); assert.sameValue([].fill.length, 1); @@ -93,12 +83,11 @@ Object.freeze(frozenObj); var frozenArray = [1, 1, 1]; Object.freeze(frozenArray); -assertThrowsInstanceOf(() => [].fill.call(objWithGetterOnly, 2), TypeError); -assertThrowsInstanceOf(() => [].fill.call(objWithReadOnlyProp, 2), TypeError); -assertThrowsInstanceOf(() => [].fill.call(objWithNonconfigurableProp, 2), TypeError); -assertThrowsInstanceOf(() => [].fill.call(frozenObj, 2), TypeError); -assertThrowsInstanceOf(() => [].fill.call(frozenArray, 2), TypeError); -assertThrowsInstanceOf(() => [].fill.call("111", 2), TypeError); -assertThrowsInstanceOf(() => [].fill.call(null, 2), TypeError); -assertThrowsInstanceOf(() => [].fill.call(undefined, 2), TypeError); - +assert.throws(TypeError, () => [].fill.call(objWithGetterOnly, 2)); +assert.throws(TypeError, () => [].fill.call(objWithReadOnlyProp, 2)); +assert.throws(TypeError, () => [].fill.call(objWithNonconfigurableProp, 2)); +assert.throws(TypeError, () => [].fill.call(frozenObj, 2)); +assert.throws(TypeError, () => [].fill.call(frozenArray, 2)); +assert.throws(TypeError, () => [].fill.call("111", 2)); +assert.throws(TypeError, () => [].fill.call(null, 2)); +assert.throws(TypeError, () => [].fill.call(undefined, 2)); diff --git a/JSTests/test262/test/staging/sm/Array/for_of_1.js b/JSTests/test262/test/staging/sm/Array/for_of_1.js index 87ff5d4a1362e..ebd6cc2bf3d2f 100644 --- a/JSTests/test262/test/staging/sm/Array/for_of_1.js +++ b/JSTests/test262/test/staging/sm/Array/for_of_1.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/Array/for_of_2.js b/JSTests/test262/test/staging/sm/Array/for_of_2.js index 032843db6d34c..6d26f878cd9c7 100644 --- a/JSTests/test262/test/staging/sm/Array/for_of_2.js +++ b/JSTests/test262/test/staging/sm/Array/for_of_2.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/Array/for_of_3.js b/JSTests/test262/test/staging/sm/Array/for_of_3.js index af736058713d1..0950bd0883dac 100644 --- a/JSTests/test262/test/staging/sm/Array/for_of_3.js +++ b/JSTests/test262/test/staging/sm/Array/for_of_3.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/Array/for_of_4.js b/JSTests/test262/test/staging/sm/Array/for_of_4.js index 756b89f38131c..cc4c0b449802f 100644 --- a/JSTests/test262/test/staging/sm/Array/for_of_4.js +++ b/JSTests/test262/test/staging/sm/Array/for_of_4.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/Array/from-iterator-close.js b/JSTests/test262/test/staging/sm/Array/from-iterator-close.js index 08daa56e81de7..f4d9c00797d03 100644 --- a/JSTests/test262/test/staging/sm/Array/from-iterator-close.js +++ b/JSTests/test262/test/staging/sm/Array/from-iterator-close.js @@ -2,17 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Array.from should close iterator on error +info: bugzilla.mozilla.org/show_bug.cgi?id=1180306 esid: pending ---*/ -var BUGNUMBER = 1180306; -var summary = 'Array.from should close iterator on error'; - -print(BUGNUMBER + ": " + summary); function test(ctor, { mapVal=undefined, nextVal=undefined, @@ -56,7 +50,7 @@ function test(ctor, { mapVal=undefined, } assert.sameValue(caught, true); } else if (exceptionType) { - assertThrowsInstanceOf(() => ctor.from(iterable, mapVal), exceptionType); + assert.throws(exceptionType, () => ctor.from(iterable, mapVal)); } else { ctor.from(iterable, mapVal); } @@ -189,4 +183,3 @@ test(Array, { nextVal: { value: 1, done: false }, closed: false, }); - diff --git a/JSTests/test262/test/staging/sm/Array/from_basics.js b/JSTests/test262/test/staging/sm/Array/from_basics.js index c2d48007e42b2..cb3039c385ad3 100644 --- a/JSTests/test262/test/staging/sm/Array/from_basics.js +++ b/JSTests/test262/test/staging/sm/Array/from_basics.js @@ -4,9 +4,7 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js, deepEqual.js] -flags: - - noStrict +includes: [deepEqual.js] description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/Array/from_constructor.js b/JSTests/test262/test/staging/sm/Array/from_constructor.js index 6a69fda2daa08..b49ebf39b1a3c 100644 --- a/JSTests/test262/test/staging/sm/Array/from_constructor.js +++ b/JSTests/test262/test/staging/sm/Array/from_constructor.js @@ -4,9 +4,7 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js, deepEqual.js] -flags: - - noStrict +includes: [deepEqual.js] description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/Array/from_errors.js b/JSTests/test262/test/staging/sm/Array/from_errors.js index bf5b086daa6e5..ed89b056ff179 100644 --- a/JSTests/test262/test/staging/sm/Array/from_errors.js +++ b/JSTests/test262/test/staging/sm/Array/from_errors.js @@ -4,17 +4,16 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js, deepEqual.js] -flags: - - noStrict +includes: [sm/assertThrowsValue.js, deepEqual.js] description: | pending esid: pending ---*/ + // Array.from throws if the argument is undefined or null. -assertThrowsInstanceOf(() => Array.from(), TypeError); -assertThrowsInstanceOf(() => Array.from(undefined), TypeError); -assertThrowsInstanceOf(() => Array.from(null), TypeError); +assert.throws(TypeError, () => Array.from()); +assert.throws(TypeError, () => Array.from(undefined)); +assert.throws(TypeError, () => Array.from(null)); // Array.from throws if an element can't be defined on the new object. function ObjectWithReadOnlyElement() { @@ -23,14 +22,14 @@ function ObjectWithReadOnlyElement() { } ObjectWithReadOnlyElement.from = Array.from; assert.deepEqual(ObjectWithReadOnlyElement.from([]), new ObjectWithReadOnlyElement); -assertThrowsInstanceOf(() => ObjectWithReadOnlyElement.from([1]), TypeError); +assert.throws(TypeError, () => ObjectWithReadOnlyElement.from([1])); // The same, but via preventExtensions. function InextensibleObject() { Object.preventExtensions(this); } InextensibleObject.from = Array.from; -assertThrowsInstanceOf(() => InextensibleObject.from([1]), TypeError); +assert.throws(TypeError, () => InextensibleObject.from([1])); // We will now test this property, that Array.from throws if the .length can't // be assigned, using several different kinds of object. @@ -46,13 +45,13 @@ function testUnsettableLength(C, Exc) { C.from = Array.from; obj = null; - assertThrowsInstanceOf(() => C.from([]), Exc); + assert.throws(Exc, () => C.from([])); assert.sameValue(obj instanceof C, true); for (var i = 0; i < 4; i++) assert.sameValue(obj[0], 0); obj = null; - assertThrowsInstanceOf(() => C.from([0, 10, 20, 30]), Exc); + assert.throws(Exc, () => C.from([0, 10, 20, 30])); assert.sameValue(obj instanceof C, true); for (var i = 0; i < 4; i++) assert.sameValue(obj[i], i * 10); @@ -76,7 +75,7 @@ testUnsettableLength(ObjectWithReadOnlyLength); // The same, but using a builtin type. Uint8Array.from = Array.from; -assertThrowsInstanceOf(() => Uint8Array.from([]), TypeError); +assert.throws(TypeError, () => Uint8Array.from([])); // Array.from throws if the new object's .length can't be assigned because it // inherits a readonly .length along the prototype chain. @@ -107,12 +106,12 @@ function ObjectWithThrowingLengthSetter() { testUnsettableLength(ObjectWithThrowingLengthSetter, RangeError); // Array.from throws if mapfn is neither callable nor undefined. -assertThrowsInstanceOf(() => Array.from([3, 4, 5], {}), TypeError); -assertThrowsInstanceOf(() => Array.from([3, 4, 5], "also not a function"), TypeError); -assertThrowsInstanceOf(() => Array.from([3, 4, 5], null), TypeError); +assert.throws(TypeError, () => Array.from([3, 4, 5], {})); +assert.throws(TypeError, () => Array.from([3, 4, 5], "also not a function")); +assert.throws(TypeError, () => Array.from([3, 4, 5], null)); // Even if the function would not have been called. -assertThrowsInstanceOf(() => Array.from([], JSON), TypeError); +assert.throws(TypeError, () => Array.from([], JSON)); // If mapfn is not undefined and not callable, the error happens before anything else. // Before calling the constructor, before touching the arrayLike. @@ -126,7 +125,7 @@ var p = new Proxy({}, { get: function () { log += "2"; }, getOwnPropertyDescriptor: function () { log += "3"; } }); -assertThrowsInstanceOf(() => Array.from.call(C, p, {}), TypeError); +assert.throws(TypeError, () => Array.from.call(C, p, {})); assert.sameValue(log, ""); // If mapfn throws, the new object has already been created. @@ -142,19 +141,20 @@ assert.sameValue(obj instanceof C, true); // It's a TypeError if the @@iterator property is a primitive (except null and undefined). for (var primitive of ["foo", 17, Symbol(), true]) { - assertThrowsInstanceOf(() => Array.from({[Symbol.iterator] : primitive}), TypeError); + assert.throws(TypeError, () => Array.from({[Symbol.iterator] : primitive})); } assert.deepEqual(Array.from({[Symbol.iterator]: null}), []); assert.deepEqual(Array.from({[Symbol.iterator]: undefined}), []); // It's a TypeError if the iterator's .next() method returns a primitive. for (var primitive of [undefined, null, 17]) { - assertThrowsInstanceOf( + assert.throws( + TypeError, () => Array.from({ [Symbol.iterator]() { return {next() { return primitive; }}; } - }), - TypeError); + }) + ); } diff --git a/JSTests/test262/test/staging/sm/Array/from_iterable.js b/JSTests/test262/test/staging/sm/Array/from_iterable.js index 4a9a81ef23414..e15db11a76798 100644 --- a/JSTests/test262/test/staging/sm/Array/from_iterable.js +++ b/JSTests/test262/test/staging/sm/Array/from_iterable.js @@ -4,9 +4,7 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js, deepEqual.js] -flags: - - noStrict +includes: [deepEqual.js] description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/Array/from_length_setter.js b/JSTests/test262/test/staging/sm/Array/from_length_setter.js index 300517882bdcd..7af7508b91c8b 100644 --- a/JSTests/test262/test/staging/sm/Array/from_length_setter.js +++ b/JSTests/test262/test/staging/sm/Array/from_length_setter.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/Array/from_mapping.js b/JSTests/test262/test/staging/sm/Array/from_mapping.js index feaa6011e9c31..0b19df43e2407 100644 --- a/JSTests/test262/test/staging/sm/Array/from_mapping.js +++ b/JSTests/test262/test/staging/sm/Array/from_mapping.js @@ -4,9 +4,7 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js, deepEqual.js] -flags: - - noStrict +includes: [deepEqual.js] description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/Array/from_primitive.js b/JSTests/test262/test/staging/sm/Array/from_primitive.js index 7d0c12438e51f..c9b4d98835d42 100644 --- a/JSTests/test262/test/staging/sm/Array/from_primitive.js +++ b/JSTests/test262/test/staging/sm/Array/from_primitive.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/Array/from_proxy.js b/JSTests/test262/test/staging/sm/Array/from_proxy.js index 8903146ba4a59..e3a8d02507457 100644 --- a/JSTests/test262/test/staging/sm/Array/from_proxy.js +++ b/JSTests/test262/test/staging/sm/Array/from_proxy.js @@ -4,9 +4,7 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js, deepEqual.js] -flags: - - noStrict +includes: [deepEqual.js] description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/Array/from_realms.js b/JSTests/test262/test/staging/sm/Array/from_realms.js index a97a506459d85..8c21a8f786c16 100644 --- a/JSTests/test262/test/staging/sm/Array/from_realms.js +++ b/JSTests/test262/test/staging/sm/Array/from_realms.js @@ -4,42 +4,38 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending ---*/ -if (typeof createNewGlobal === 'function') { - // G.Array.from, where G is any global, produces an array whose prototype - // is G.Array.prototype. - var g = createNewGlobal(); - var ga = g.Array.from([1, 2, 3]); - assert.sameValue(ga instanceof g.Array, true); - // Even if G.Array is not passed in as the 'this' value to the call. - var from = g.Array.from - var ga2 = from([1, 2, 3]); - assert.sameValue(ga2 instanceof g.Array, true); +// G.Array.from, where G is any global, produces an array whose prototype +// is G.Array.prototype. +var g = $262.createRealm().global; +var ga = g.Array.from([1, 2, 3]); +assert.sameValue(ga instanceof g.Array, true); - // Array.from can be applied to a constructor from another realm. - var p = Array.from.call(g.Array, [1, 2, 3]); - assert.sameValue(p instanceof g.Array, true); - var q = g.Array.from.call(Array, [3, 4, 5]); - assert.sameValue(q instanceof Array, true); +// Even if G.Array is not passed in as the 'this' value to the call. +var from = g.Array.from +var ga2 = from([1, 2, 3]); +assert.sameValue(ga2 instanceof g.Array, true); - // The default 'this' value received by a non-strict mapping function is - // that function's global, not Array.from's global or the caller's global. - var h = createNewGlobal(), result = undefined; - h.mainGlobal = this; - h.eval("function f() { mainGlobal.result = this; }"); - g.Array.from.call(Array, [5, 6, 7], h.f); - // (Give each global in the test a name, for better error messages. But use - // globalName, because window.name is complicated.) - this.globalName = "main"; - g.globalName = "g"; - h.globalName = "h"; - assert.sameValue(result.globalName, "h"); -} +// Array.from can be applied to a constructor from another realm. +var p = Array.from.call(g.Array, [1, 2, 3]); +assert.sameValue(p instanceof g.Array, true); +var q = g.Array.from.call(Array, [3, 4, 5]); +assert.sameValue(q instanceof Array, true); +// The default 'this' value received by a non-strict mapping function is +// that function's global, not Array.from's global or the caller's global. +var h = $262.createRealm().global; +var result = undefined; +h.mainGlobal = this; +h.eval("function f() { mainGlobal.result = this; }"); +g.Array.from.call(Array, [5, 6, 7], h.f); +// (Give each global in the test a name, for better error messages. But use +// globalName, because window.name is complicated.) +this.globalName = "main"; +g.globalName = "g"; +h.globalName = "h"; +assert.sameValue(result.globalName, "h"); diff --git a/JSTests/test262/test/staging/sm/Array/from_string.js b/JSTests/test262/test/staging/sm/Array/from_string.js index 7983939cbcb4d..5ab43a572700f 100644 --- a/JSTests/test262/test/staging/sm/Array/from_string.js +++ b/JSTests/test262/test/staging/sm/Array/from_string.js @@ -4,9 +4,7 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js, deepEqual.js] -flags: - - noStrict +includes: [deepEqual.js] description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/Array/from_surfaces.js b/JSTests/test262/test/staging/sm/Array/from_surfaces.js index 8f976d9782f93..236cfb177b650 100644 --- a/JSTests/test262/test/staging/sm/Array/from_surfaces.js +++ b/JSTests/test262/test/staging/sm/Array/from_surfaces.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending @@ -17,5 +14,5 @@ assert.sameValue(desc.configurable, true); assert.sameValue(desc.enumerable, false); assert.sameValue(desc.writable, true); assert.sameValue(Array.from.length, 1); -assertThrowsInstanceOf(() => new Array.from(), TypeError); // not a constructor +assert.throws(TypeError, () => new Array.from()); // not a constructor diff --git a/JSTests/test262/test/staging/sm/Array/from_this.js b/JSTests/test262/test/staging/sm/Array/from_this.js index 110c93a4ca4b2..6483333e5c937 100644 --- a/JSTests/test262/test/staging/sm/Array/from_this.js +++ b/JSTests/test262/test/staging/sm/Array/from_this.js @@ -4,7 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | diff --git a/JSTests/test262/test/staging/sm/Array/frozen-dense-array.js b/JSTests/test262/test/staging/sm/Array/frozen-dense-array.js index 50433a3cd2aca..7e1aedd60ef01 100644 --- a/JSTests/test262/test/staging/sm/Array/frozen-dense-array.js +++ b/JSTests/test262/test/staging/sm/Array/frozen-dense-array.js @@ -2,11 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | - pending + Dense array properties shouldn't be modified when they're frozen +info: bugzilla.mozilla.org/show_bug.cgi?id=1310744 esid: pending ---*/ /* @@ -14,10 +14,6 @@ esid: pending * http://creativecommons.org/licenses/publicdomain/ * Author: Emilio Cobos Álvarez */ -var BUGNUMBER = 1310744; -var summary = "Dense array properties shouldn't be modified when they're frozen"; - -print(BUGNUMBER + ": " + summary); var a = Object.freeze([4, 5, 1]); @@ -28,18 +24,18 @@ function assertArrayIsExpected() { assert.sameValue(a[2], 1); } -assertThrowsInstanceOf(() => a.reverse(), TypeError); -assertThrowsInstanceOf(() => a.shift(), TypeError); -assertThrowsInstanceOf(() => a.unshift(0), TypeError); -assertThrowsInstanceOf(() => a.sort(function() {}), TypeError); -assertThrowsInstanceOf(() => a.pop(), TypeError); -assertThrowsInstanceOf(() => a.fill(0), TypeError); -assertThrowsInstanceOf(() => a.splice(0, 1, 1), TypeError); -assertThrowsInstanceOf(() => a.push("foo"), TypeError); -assertThrowsInstanceOf(() => { "use strict"; a.length = 5; }, TypeError); -assertThrowsInstanceOf(() => { "use strict"; a[2] = "foo"; }, TypeError); -assertThrowsInstanceOf(() => { "use strict"; delete a[0]; }, TypeError); -assertThrowsInstanceOf(() => a.splice(Math.a), TypeError); +assert.throws(TypeError, () => a.reverse()); +assert.throws(TypeError, () => a.shift()); +assert.throws(TypeError, () => a.unshift(0)); +assert.throws(TypeError, () => a.sort(function() {})); +assert.throws(TypeError, () => a.pop()); +assert.throws(TypeError, () => a.fill(0)); +assert.throws(TypeError, () => a.splice(0, 1, 1)); +assert.throws(TypeError, () => a.push("foo")); +assert.throws(TypeError, () => { "use strict"; a.length = 5; }); +assert.throws(TypeError, () => { "use strict"; a[2] = "foo"; }); +assert.throws(TypeError, () => { "use strict"; delete a[0]; }); +assert.throws(TypeError, () => a.splice(Math.a)); // Shouldn't throw, since this is not strict mode, but shouldn't change the // value of the property. @@ -48,4 +44,3 @@ a[2] = "foo"; assert.sameValue(delete a[0], false); assertArrayIsExpected(); - diff --git a/JSTests/test262/test/staging/sm/Array/frozen-dict-mode-length.js b/JSTests/test262/test/staging/sm/Array/frozen-dict-mode-length.js index 84b43b06d4946..2b27f8c0b5776 100644 --- a/JSTests/test262/test/staging/sm/Array/frozen-dict-mode-length.js +++ b/JSTests/test262/test/staging/sm/Array/frozen-dict-mode-length.js @@ -2,11 +2,9 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Freezing a dictionary mode object with a length property should make Object.isFrozen report true +info: bugzilla.mozilla.org/show_bug.cgi?id=1312948 esid: pending ---*/ /* @@ -14,14 +12,9 @@ esid: pending * http://creativecommons.org/licenses/publicdomain/ * Author: Emilio Cobos Álvarez */ -var BUGNUMBER = 1312948; -var summary = "Freezing a dictionary mode object with a length property should make Object.isFrozen report true"; - -print(BUGNUMBER + ": " + summary); /* Convert to dictionary mode */ delete Array.prototype.slice; Object.freeze(Array.prototype); assert.sameValue(Object.isFrozen(Array.prototype), true); - diff --git a/JSTests/test262/test/staging/sm/Array/getter-name.js b/JSTests/test262/test/staging/sm/Array/getter-name.js index f1b502dc86654..9d813c4da592e 100644 --- a/JSTests/test262/test/staging/sm/Array/getter-name.js +++ b/JSTests/test262/test/staging/sm/Array/getter-name.js @@ -2,17 +2,10 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Array getters should have get prefix +info: bugzilla.mozilla.org/show_bug.cgi?id=1180290 esid: pending ---*/ -var BUGNUMBER = 1180290; -var summary = 'Array getters should have get prefix'; - -print(BUGNUMBER + ": " + summary); assert.sameValue(Object.getOwnPropertyDescriptor(Array, Symbol.species).get.name, "get [Symbol.species]"); - diff --git a/JSTests/test262/test/staging/sm/Array/group-callback-evaluation.js b/JSTests/test262/test/staging/sm/Array/group-callback-evaluation.js index 423a5f71edbe2..2345e9c9b933a 100644 --- a/JSTests/test262/test/staging/sm/Array/group-callback-evaluation.js +++ b/JSTests/test262/test/staging/sm/Array/group-callback-evaluation.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/Array/group-propertkey-is-length.js b/JSTests/test262/test/staging/sm/Array/group-propertkey-is-length.js index 43b3978e036e9..3bf0973bbaa90 100644 --- a/JSTests/test262/test/staging/sm/Array/group-propertkey-is-length.js +++ b/JSTests/test262/test/staging/sm/Array/group-propertkey-is-length.js @@ -2,9 +2,7 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, deepEqual.js] -flags: - - noStrict +includes: [deepEqual.js] description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/Array/group.js b/JSTests/test262/test/staging/sm/Array/group.js index 62921867952d6..425fb0af4e3ce 100644 --- a/JSTests/test262/test/staging/sm/Array/group.js +++ b/JSTests/test262/test/staging/sm/Array/group.js @@ -2,9 +2,7 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, deepEqual.js] -flags: - - noStrict +includes: [deepEqual.js] description: | pending esid: pending @@ -41,14 +39,14 @@ function isNeg(x) { assert.deepEqual(negMappedArray.get(0), a1); assert.deepEqual(negMappedArray.size, 1); - assertThrowsInstanceOf(() => Object.groupBy([], undefined), TypeError); - assertThrowsInstanceOf(() => Object.groupBy([], null), TypeError); - assertThrowsInstanceOf(() => Object.groupBy([], 0), TypeError); - assertThrowsInstanceOf(() => Object.groupBy([], ""), TypeError); - assertThrowsInstanceOf(() => Map.groupBy([], undefined), TypeError); - assertThrowsInstanceOf(() => Map.groupBy([], null), TypeError); - assertThrowsInstanceOf(() => Map.groupBy([], 0), TypeError); - assertThrowsInstanceOf(() => Map.groupBy([], ""), TypeError); + assert.throws(TypeError, () => Object.groupBy([], undefined)); + assert.throws(TypeError, () => Object.groupBy([], null)); + assert.throws(TypeError, () => Object.groupBy([], 0)); + assert.throws(TypeError, () => Object.groupBy([], "")); + assert.throws(TypeError, () => Map.groupBy([], undefined)); + assert.throws(TypeError, () => Map.groupBy([], null)); + assert.throws(TypeError, () => Map.groupBy([], 0)); + assert.throws(TypeError, () => Map.groupBy([], "")); } const array = [ 'test' ]; @@ -90,8 +88,8 @@ Object.defineProperty(Object.prototype, "foo", { Object.groupBy([1, 2, 3], () => 'foo'); // Ensure property key is correctly accessed -count = 0; -p = Object.groupBy([1], () => ({ toString() { count++; return 10 } })); +let count = 0; +const p = Object.groupBy([1], () => ({ toString() { count++; return 10 } })); assert.sameValue(count, 1); Map.groupBy([1], () => ({ toString() { count++; return 10 } })); assert.sameValue(count, 1); diff --git a/JSTests/test262/test/staging/sm/Array/includes-trailing-holes.js b/JSTests/test262/test/staging/sm/Array/includes-trailing-holes.js index 155a9315c282b..42a7f079a3cd0 100644 --- a/JSTests/test262/test/staging/sm/Array/includes-trailing-holes.js +++ b/JSTests/test262/test/staging/sm/Array/includes-trailing-holes.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/Array/includes.js b/JSTests/test262/test/staging/sm/Array/includes.js index c411a043e1315..ae34f8fdae0d5 100644 --- a/JSTests/test262/test/staging/sm/Array/includes.js +++ b/JSTests/test262/test/staging/sm/Array/includes.js @@ -4,17 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Implement Array.prototype.includes +info: bugzilla.mozilla.org/show_bug.cgi?id=1069063 esid: pending ---*/ -var BUGNUMBER = 1069063; -var summary = "Implement Array.prototype.includes"; - -print(BUGNUMBER + ": " + summary); assert.sameValue(typeof [].includes, "function"); assert.sameValue([].includes.length, 1); @@ -44,12 +38,12 @@ assertFalse(staticIncludes({length: 3, 1: 2}, 2, 2)); assertFalse(staticIncludes({length: 3, get 0(){delete this[1]}, 1: 2}, 2)); assertFalse(staticIncludes({length: -100, 0: 1}, 1)); -assertThrowsInstanceOf(() => staticIncludes(), TypeError); -assertThrowsInstanceOf(() => staticIncludes(null), TypeError); -assertThrowsInstanceOf(() => staticIncludes({get length(){throw TypeError()}}), TypeError); -assertThrowsInstanceOf(() => staticIncludes({length: 3, get 1() {throw TypeError()}}, 2), TypeError); -assertThrowsInstanceOf(() => staticIncludes({__proto__: {get 1() {throw TypeError()}}, length: 3}, 2), TypeError); -assertThrowsInstanceOf(() => staticIncludes(new Proxy([1], {get(){throw TypeError()}})), TypeError); +assert.throws(TypeError, () => staticIncludes()); +assert.throws(TypeError, () => staticIncludes(null)); +assert.throws(TypeError, () => staticIncludes({get length(){throw TypeError()}})); +assert.throws(TypeError, () => staticIncludes({length: 3, get 1() {throw TypeError()}}, 2)); +assert.throws(TypeError, () => staticIncludes({__proto__: {get 1() {throw TypeError()}}, length: 3}, 2)); +assert.throws(TypeError, () => staticIncludes(new Proxy([1], {get(){throw TypeError()}}))); function assertTrue(v) { assert.sameValue(v, true); @@ -62,4 +56,3 @@ function assertFalse(v) { function staticIncludes(o, v, f) { return [].includes.call(o, v, f); } - diff --git a/JSTests/test262/test/staging/sm/Array/index-with-null-character.js b/JSTests/test262/test/staging/sm/Array/index-with-null-character.js index f410bb95b5348..9e304438cead0 100644 --- a/JSTests/test262/test/staging/sm/Array/index-with-null-character.js +++ b/JSTests/test262/test/staging/sm/Array/index-with-null-character.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/Array/indexOf-never-returns-negative-zero.js b/JSTests/test262/test/staging/sm/Array/indexOf-never-returns-negative-zero.js index 93898d2c40fd0..96f4fc28c31d4 100644 --- a/JSTests/test262/test/staging/sm/Array/indexOf-never-returns-negative-zero.js +++ b/JSTests/test262/test/staging/sm/Array/indexOf-never-returns-negative-zero.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/Array/indexOf-packed-array.js b/JSTests/test262/test/staging/sm/Array/indexOf-packed-array.js index 99532a7d8ff75..f604ac698ffe0 100644 --- a/JSTests/test262/test/staging/sm/Array/indexOf-packed-array.js +++ b/JSTests/test262/test/staging/sm/Array/indexOf-packed-array.js @@ -2,9 +2,7 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, compareArray.js] -flags: - - noStrict +includes: [compareArray.js] description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/Array/isArray.js b/JSTests/test262/test/staging/sm/Array/isArray.js index 8f29c7fa320a5..cdd881d749a0a 100644 --- a/JSTests/test262/test/staging/sm/Array/isArray.js +++ b/JSTests/test262/test/staging/sm/Array/isArray.js @@ -4,15 +4,12 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending ---*/ var global = this; -var otherGlobal = createNewGlobal(); +var otherGlobal = $262.createRealm().global; var thisGlobal = () => global; var alternateGlobals = (function(i) { @@ -47,10 +44,10 @@ function performTests(pickGlobal) // Revoked proxy to (formerly) an array. revocable.revoke(); - assertThrowsInstanceOf(() => Array.isArray(revocable.proxy), TypeError); + assert.throws(TypeError, () => Array.isArray(revocable.proxy)); // Recursive proxy ultimately terminating in a revoked proxy to an array. - assertThrowsInstanceOf(() => Array.isArray(proxy), TypeError); + assert.throws(TypeError, () => Array.isArray(proxy)); } diff --git a/JSTests/test262/test/staging/sm/Array/join-01.js b/JSTests/test262/test/staging/sm/Array/join-01.js index 93471cee678c6..9fd3641ac5b55 100644 --- a/JSTests/test262/test/staging/sm/Array/join-01.js +++ b/JSTests/test262/test/staging/sm/Array/join-01.js @@ -4,19 +4,10 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Array.prototype.join esid: pending ---*/ -//----------------------------------------------------------------------------- -print("ES5: Array.prototype.join"); - -/************** - * BEGIN TEST * - **************/ var count; var stringifyCounter = { toString: function() { count++; return "obj"; } }; @@ -80,7 +71,3 @@ var funky = }; var trailingHoles = [0, funky, /* 2 */, /* 3 */,]; assert.sameValue(trailingHoles.join(""), "0funkyfnord"); - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/Array/join-no-has-trap.js b/JSTests/test262/test/staging/sm/Array/join-no-has-trap.js index 516383a1c8ce4..79ea1d82cd0df 100644 --- a/JSTests/test262/test/staging/sm/Array/join-no-has-trap.js +++ b/JSTests/test262/test/staging/sm/Array/join-no-has-trap.js @@ -2,9 +2,7 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, compareArray.js] -flags: - - noStrict +includes: [compareArray.js] description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/Array/lastIndexOf-never-returns-negative-zero.js b/JSTests/test262/test/staging/sm/Array/lastIndexOf-never-returns-negative-zero.js index ca1e793ae68da..1c993902ac34f 100644 --- a/JSTests/test262/test/staging/sm/Array/lastIndexOf-never-returns-negative-zero.js +++ b/JSTests/test262/test/staging/sm/Array/lastIndexOf-never-returns-negative-zero.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/Array/length-01.js b/JSTests/test262/test/staging/sm/Array/length-01.js index aa2a31a117357..d3f6d10c91ae1 100644 --- a/JSTests/test262/test/staging/sm/Array/length-01.js +++ b/JSTests/test262/test/staging/sm/Array/length-01.js @@ -4,24 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Object.preventExtensions([]).length = 0 should do nothing, not throw +info: bugzilla.mozilla.org/show_bug.cgi?id=600392 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 600392; -var summary = - 'Object.preventExtensions([]).length = 0 should do nothing, not throw'; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ - function testEmpty() { @@ -68,7 +55,3 @@ function testNonEmptyStrict() assert.sameValue(a.length, 0); } testNonEmptyStrict(); - -/******************************************************************************/ - -print("All tests passed!"); diff --git a/JSTests/test262/test/staging/sm/Array/length-nonwritable-redefine-nop.js b/JSTests/test262/test/staging/sm/Array/length-nonwritable-redefine-nop.js index e2de10408e854..fe746ead9d1f7 100644 --- a/JSTests/test262/test/staging/sm/Array/length-nonwritable-redefine-nop.js +++ b/JSTests/test262/test/staging/sm/Array/length-nonwritable-redefine-nop.js @@ -4,22 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + No-op array length redefinition +info: bugzilla.mozilla.org/show_bug.cgi?id=858381 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 858381; -var summary = "No-op array length redefinition"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ var arr; @@ -67,7 +56,3 @@ Object.defineProperty(arr, "length", { writable: false, configurable: false }); Object.defineProperty(arr, "length", { writable: false, value: 8 }); Object.defineProperty(arr, "length", { configurable: false, value: 8 }); Object.defineProperty(arr, "length", { writable: false, configurable: false, value: 8 }); - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/Array/length-set-object.js b/JSTests/test262/test/staging/sm/Array/length-set-object.js index fbb0330add71d..80c61d5b1583f 100644 --- a/JSTests/test262/test/staging/sm/Array/length-set-object.js +++ b/JSTests/test262/test/staging/sm/Array/length-set-object.js @@ -4,22 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Various quirks of setting array length properties to objects +info: bugzilla.mozilla.org/show_bug.cgi?id=657298 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 657298; -var summary = 'Various quirks of setting array length properties to objects'; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ function invokeConversionTwice1() { @@ -39,16 +28,9 @@ invokeConversionTwice2(); function dontOverwriteError1() { - try - { + assert.throws(TypeError, function() { [].length = { valueOf: {}, toString: {} }; - throw new Error("didn't throw a TypeError"); - } - catch (e) - { - assert.sameValue(e instanceof TypeError, true, - "expected a TypeError running out of conversion options, got " + e); - } + }, "expected a TypeError running out of conversion options"); } dontOverwriteError1(); @@ -65,7 +47,3 @@ function dontOverwriteError2() } } dontOverwriteError2(); - -/******************************************************************************/ - -print("All tests passed!"); diff --git a/JSTests/test262/test/staging/sm/Array/length-truncate-nonconfigurable-sparse.js b/JSTests/test262/test/staging/sm/Array/length-truncate-nonconfigurable-sparse.js index 4c26ecfe37f1e..4b86cc2cea551 100644 --- a/JSTests/test262/test/staging/sm/Array/length-truncate-nonconfigurable-sparse.js +++ b/JSTests/test262/test/staging/sm/Array/length-truncate-nonconfigurable-sparse.js @@ -4,23 +4,13 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | - pending + Array length redefinition behavior with non-configurable elements +info: bugzilla.mozilla.org/show_bug.cgi?id=858381 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 858381; -var summary = - "Array length redefinition behavior with non-configurable elements"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ function addDataProperty(obj, prop, value, enumerable, configurable, writable) { @@ -84,16 +74,9 @@ function strict() addDataProperty(arr, 27182818, "eep", false, false, false); - try - { + assert.throws(TypeError, function() { arr.length = 1; - throw new Error("didn't throw?!"); - } - catch (e) - { - assert.sameValue(e instanceof TypeError, true, - "non-configurable property should trigger TypeError, got " + e); - } + }, "non-configurable property should trigger TypeError"); assert.sameValue(arr.length, 27182819); @@ -107,7 +90,3 @@ function strict() assert.sameValue(props[i], expected[i], "unexpected property: " + props[i]); } strict(); - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/Array/length-truncate-nonconfigurable.js b/JSTests/test262/test/staging/sm/Array/length-truncate-nonconfigurable.js index 701107cda5d26..785d6e5cd07ff 100644 --- a/JSTests/test262/test/staging/sm/Array/length-truncate-nonconfigurable.js +++ b/JSTests/test262/test/staging/sm/Array/length-truncate-nonconfigurable.js @@ -4,37 +4,18 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Array length redefinition behavior with non-configurable elements +info: bugzilla.mozilla.org/show_bug.cgi?id=858381 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 858381; -var summary = - "Array length redefinition behavior with non-configurable elements"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ var arr = [0, 1, 2]; Object.defineProperty(arr, 1, { configurable: false }); -try -{ +assert.throws(TypeError, function() { Object.defineProperty(arr, "length", { value: 0, writable: false }); -} -catch (e) -{ - assert.sameValue(e instanceof TypeError, true, - "must throw TypeError when array truncation would have to remove " + - "non-configurable elements"); -} +}, "must throw TypeError when array truncation would have to remove non-configurable elements"); assert.sameValue(arr.length, 2, "length is highest remaining index plus one"); @@ -45,7 +26,3 @@ assert.sameValue(desc.value, 2); assert.sameValue(desc.writable, false); assert.sameValue(desc.enumerable, false); assert.sameValue(desc.configurable, false); - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/Array/length-truncate-with-indexed.js b/JSTests/test262/test/staging/sm/Array/length-truncate-with-indexed.js index 6a6dbf8d2c13b..52609314232d4 100644 --- a/JSTests/test262/test/staging/sm/Array/length-truncate-with-indexed.js +++ b/JSTests/test262/test/staging/sm/Array/length-truncate-with-indexed.js @@ -4,23 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Array length setting/truncating with non-dense, indexed elements +info: bugzilla.mozilla.org/show_bug.cgi?id=858381 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 858381; -var summary = - "Array length setting/truncating with non-dense, indexed elements"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ function testTruncateDenseAndSparse() { @@ -98,7 +86,3 @@ function testTruncateSparseShrinkCapacity() assert.sameValue(arr.length, 8); } testTruncateSparseShrinkCapacity(); - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/Array/pop-empty-nonwritable.js b/JSTests/test262/test/staging/sm/Array/pop-empty-nonwritable.js index f9b1ddaaea53c..1ae8c7da90e35 100644 --- a/JSTests/test262/test/staging/sm/Array/pop-empty-nonwritable.js +++ b/JSTests/test262/test/staging/sm/Array/pop-empty-nonwritable.js @@ -4,34 +4,12 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Object.freeze([]).pop() must throw a TypeError +info: bugzilla.mozilla.org/show_bug.cgi?id=858381 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 858381; -var summary = 'Object.freeze([]).pop() must throw a TypeError'; -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ - -try -{ +assert.throws(TypeError, function() { Object.freeze([]).pop(); - throw new Error("didn't throw"); -} -catch (e) -{ - assert.sameValue(e instanceof TypeError, true, - "should have thrown TypeError, instead got: " + e); -} - -/******************************************************************************/ - -print("Tests complete"); +}); diff --git a/JSTests/test262/test/staging/sm/Array/pop-no-has-trap.js b/JSTests/test262/test/staging/sm/Array/pop-no-has-trap.js index 4ef5ce93c6652..37726ddb6eeda 100644 --- a/JSTests/test262/test/staging/sm/Array/pop-no-has-trap.js +++ b/JSTests/test262/test/staging/sm/Array/pop-no-has-trap.js @@ -2,9 +2,7 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, compareArray.js] -flags: - - noStrict +includes: [compareArray.js] description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/Array/pop-nonarray-higher-elements.js b/JSTests/test262/test/staging/sm/Array/pop-nonarray-higher-elements.js index 2b9e0f0aa7698..5468d09faedcf 100644 --- a/JSTests/test262/test/staging/sm/Array/pop-nonarray-higher-elements.js +++ b/JSTests/test262/test/staging/sm/Array/pop-nonarray-higher-elements.js @@ -4,28 +4,14 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Array.prototype.pop shouldn't touch elements greater than length on non-arrays +info: bugzilla.mozilla.org/show_bug.cgi?id=909602 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 909602; -var summary = - "Array.prototype.pop shouldn't touch elements greater than length on " + - "non-arrays"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ function doTest(obj, index) { - // print("testing " + JSON.stringify(obj) + " with index " + index); assert.sameValue(Array.prototype.pop.call(obj), undefined); assert.sameValue(index in obj, true); assert.sameValue(obj[index], 42); @@ -90,7 +76,3 @@ function testPop6() } for (var i = 0; i < 50; i++) testPop6(); - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/Array/redefine-length-frozen-array.js b/JSTests/test262/test/staging/sm/Array/redefine-length-frozen-array.js index 7e45e1082a023..d8b1bcc87fe37 100644 --- a/JSTests/test262/test/staging/sm/Array/redefine-length-frozen-array.js +++ b/JSTests/test262/test/staging/sm/Array/redefine-length-frozen-array.js @@ -4,26 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Assertion redefining length property of a frozen array +info: bugzilla.mozilla.org/show_bug.cgi?id=866580 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 866580; -var summary = "Assertion redefining length property of a frozen array"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ var arr = Object.freeze([]); Object.defineProperty(arr, "length", {}); - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/Array/redefine-length-frozen-dictionarymode-array.js b/JSTests/test262/test/staging/sm/Array/redefine-length-frozen-dictionarymode-array.js index 12ec5eb5ef265..ade0c618a3cec 100644 --- a/JSTests/test262/test/staging/sm/Array/redefine-length-frozen-dictionarymode-array.js +++ b/JSTests/test262/test/staging/sm/Array/redefine-length-frozen-dictionarymode-array.js @@ -4,23 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Assertion redefining length property of a frozen dictionary-mode array +info: bugzilla.mozilla.org/show_bug.cgi?id=880591 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 880591; -var summary = - "Assertion redefining length property of a frozen dictionary-mode array"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ function convertToDictionaryMode(arr) { @@ -33,7 +21,3 @@ var arr = []; convertToDictionaryMode(arr); Object.freeze(arr); Object.defineProperty(arr, "length", {}); - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/Array/redefine-nonwritable-length-custom-conversion-call-counts.js b/JSTests/test262/test/staging/sm/Array/redefine-nonwritable-length-custom-conversion-call-counts.js index 7e028d26ab7be..14ba37036706c 100644 --- a/JSTests/test262/test/staging/sm/Array/redefine-nonwritable-length-custom-conversion-call-counts.js +++ b/JSTests/test262/test/staging/sm/Array/redefine-nonwritable-length-custom-conversion-call-counts.js @@ -4,22 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Assertion redefining non-writable length to a non-numeric value +info: bugzilla.mozilla.org/show_bug.cgi?id=866700 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 866700; -var summary = "Assertion redefining non-writable length to a non-numeric value"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ var count = 0; @@ -42,7 +31,3 @@ Object.defineProperty(arr, "length", { value: convertible }); assert.sameValue(count, 4); assert.sameValue(arr.length, 0); - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/Array/redefine-nonwritable-length-custom-conversion-throw.js b/JSTests/test262/test/staging/sm/Array/redefine-nonwritable-length-custom-conversion-throw.js index fa4db40bd47cd..a77fbc68b3551 100644 --- a/JSTests/test262/test/staging/sm/Array/redefine-nonwritable-length-custom-conversion-throw.js +++ b/JSTests/test262/test/staging/sm/Array/redefine-nonwritable-length-custom-conversion-throw.js @@ -4,22 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Assertion redefining non-writable length to a non-numeric value +info: bugzilla.mozilla.org/show_bug.cgi?id=866700 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 866700; -var summary = "Assertion redefining non-writable length to a non-numeric value"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ var count = 0; @@ -37,8 +26,7 @@ var convertible = var arr = []; Object.defineProperty(arr, "length", { value: 0, writable: false }); -try -{ +assert.throws(SyntaxError, function() { Object.defineProperty(arr, "length", { value: convertible, @@ -46,16 +34,7 @@ try configurable: true, enumerable: true }); - throw new Error("didn't throw"); -} -catch (e) -{ - assert.sameValue(e instanceof SyntaxError, true, "expected SyntaxError, got " + e); -} +}); assert.sameValue(count, 1); assert.sameValue(arr.length, 0); - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/Array/redefine-nonwritable-length-nonnumeric.js b/JSTests/test262/test/staging/sm/Array/redefine-nonwritable-length-nonnumeric.js index 27dcbf6d71211..bd151401c9b64 100644 --- a/JSTests/test262/test/staging/sm/Array/redefine-nonwritable-length-nonnumeric.js +++ b/JSTests/test262/test/staging/sm/Array/redefine-nonwritable-length-nonnumeric.js @@ -4,22 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Assertion redefining non-writable length to a non-numeric value +info: bugzilla.mozilla.org/show_bug.cgi?id=866700 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 866700; -var summary = "Assertion redefining non-writable length to a non-numeric value"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ var arr = []; Object.defineProperty(arr, "length", { value: 0, writable: false }); @@ -29,7 +18,3 @@ Object.defineProperty(arr, "length", { value: 0, writable: false }); Object.defineProperty(arr, "length", { value: '' }); assert.sameValue(arr.length, 0); - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/Array/regress-386030.js b/JSTests/test262/test/staging/sm/Array/regress-386030.js index a772ecf5e6f8f..43aa200ddb7a3 100644 --- a/JSTests/test262/test/staging/sm/Array/regress-386030.js +++ b/JSTests/test262/test/staging/sm/Array/regress-386030.js @@ -4,29 +4,24 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Array.reduce should ignore holes +info: bugzilla.mozilla.org/show_bug.cgi?id=386030 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 386030; -var summary = 'Array.reduce should ignore holes'; + var actual = ''; var expect = ''; - -//----------------------------------------------------------------------------- test(); -//----------------------------------------------------------------------------- function test() { function add(a, b) { return a + b; } function testreduce(v) { return v == 3 ? "PASS" : "FAIL"; } + var a; + expect = 'PASS'; try { @@ -36,7 +31,7 @@ function test() } catch (e) { actual = "FAIL, reduce"; } - assert.sameValue(expect, actual, summary + ': 1'); + assert.sameValue(expect, actual, '1'); try { a = new Array(2); @@ -45,7 +40,7 @@ function test() } catch (e) { actual = "FAIL, reduceRight"; } - assert.sameValue(expect, actual, summary + ': 2'); + assert.sameValue(expect, actual, '2'); try { a = new Array(2); @@ -54,14 +49,14 @@ function test() } catch (e) { actual = "PASS"; } - assert.sameValue(expect, actual, summary + ': 3'); + assert.sameValue(expect, actual, '3'); try { a = new Array(2); - print(a.reduceRight(add)); + a.reduceRight(add); actual = "FAIL, empty reduceRight"; } catch (e) { actual = "PASS"; } - assert.sameValue(expect, actual, summary + ': 4'); + assert.sameValue(expect, actual, '4'); } diff --git a/JSTests/test262/test/staging/sm/Array/regress-424954.js b/JSTests/test262/test/staging/sm/Array/regress-424954.js index d440e3ce8f695..f95d58db423fd 100644 --- a/JSTests/test262/test/staging/sm/Array/regress-424954.js +++ b/JSTests/test262/test/staging/sm/Array/regress-424954.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/Array/regress-566651.js b/JSTests/test262/test/staging/sm/Array/regress-566651.js index 68e2bb50af5d0..6359acd4a1bcb 100644 --- a/JSTests/test262/test/staging/sm/Array/regress-566651.js +++ b/JSTests/test262/test/staging/sm/Array/regress-566651.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/Array/regress-599159.js b/JSTests/test262/test/staging/sm/Array/regress-599159.js index a402b4489dfbf..c32b453753a49 100644 --- a/JSTests/test262/test/staging/sm/Array/regress-599159.js +++ b/JSTests/test262/test/staging/sm/Array/regress-599159.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/Array/regress-619970.js b/JSTests/test262/test/staging/sm/Array/regress-619970.js index f3cbdd2893ffa..441e959e31aa8 100644 --- a/JSTests/test262/test/staging/sm/Array/regress-619970.js +++ b/JSTests/test262/test/staging/sm/Array/regress-619970.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/Array/reverse-order-of-low-high-accesses.js b/JSTests/test262/test/staging/sm/Array/reverse-order-of-low-high-accesses.js index ea9ddf3ea3af1..8cfa7dc45d924 100644 --- a/JSTests/test262/test/staging/sm/Array/reverse-order-of-low-high-accesses.js +++ b/JSTests/test262/test/staging/sm/Array/reverse-order-of-low-high-accesses.js @@ -4,24 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + [].reverse should swap elements low to high using accesses to low elements, then accesses to high elements +info: bugzilla.mozilla.org/show_bug.cgi?id=858677 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 858677; -var summary = - "[].reverse should swap elements low to high using accesses to low " + - "elements, then accesses to high elements"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ var observed = []; @@ -73,7 +60,7 @@ var expectedObserved = "index 6 get", "index 2 get" /* nothing for 3/4 */]; -print(observed); + // Do this before the assertions below futz even more with |observed|. assert.sameValue(observed.length, expectedObserved.length); for (var i = 0; i < expectedObserved.length; i++) @@ -87,7 +74,3 @@ assert.sameValue(4 in arr, false); // never there assert.sameValue(arr[5], "index 2 get"); // copies result of getter assert.sameValue(6 in arr, false); // deleted assert.sameValue(arr[7], "index 7 get"); // no deletion, setter doesn't overwrite - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/Array/set-with-indexed-property-on-prototype-chain.js b/JSTests/test262/test/staging/sm/Array/set-with-indexed-property-on-prototype-chain.js index 75dd96ca98d93..d7068afbf30aa 100644 --- a/JSTests/test262/test/staging/sm/Array/set-with-indexed-property-on-prototype-chain.js +++ b/JSTests/test262/test/staging/sm/Array/set-with-indexed-property-on-prototype-chain.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/Array/shift-no-has-trap.js b/JSTests/test262/test/staging/sm/Array/shift-no-has-trap.js index 50ed53a046d9b..9b55e263a6422 100644 --- a/JSTests/test262/test/staging/sm/Array/shift-no-has-trap.js +++ b/JSTests/test262/test/staging/sm/Array/shift-no-has-trap.js @@ -2,9 +2,7 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, compareArray.js] -flags: - - noStrict +includes: [compareArray.js] description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/Array/shift_for_in.js b/JSTests/test262/test/staging/sm/Array/shift_for_in.js index 3a363298094d5..58c17a7c185df 100644 --- a/JSTests/test262/test/staging/sm/Array/shift_for_in.js +++ b/JSTests/test262/test/staging/sm/Array/shift_for_in.js @@ -2,17 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Array.prototype.shift on a dense array with holes should update for-in enumeration properties. +info: bugzilla.mozilla.org/show_bug.cgi?id=1247701 esid: pending ---*/ -var BUGNUMBER = 1247701; -var summary = 'Array.prototype.shift on a dense array with holes should update for-in enumeration properties.'; - -print(BUGNUMBER + ": " + summary); var x = ["a", , "b", , "c", "d" , "e", "f", "g"]; for (var p in x) { diff --git a/JSTests/test262/test/staging/sm/Array/sort-01.js b/JSTests/test262/test/staging/sm/Array/sort-01.js index 30a9eb959622b..1bb8d64f16f8b 100644 --- a/JSTests/test262/test/staging/sm/Array/sort-01.js +++ b/JSTests/test262/test/staging/sm/Array/sort-01.js @@ -4,25 +4,10 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + array.sort compare-function gets incorrect this +info: bugzilla.mozilla.org/show_bug.cgi?id=604971 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 604971; -var summary = 'array.sort compare-function gets incorrect this'; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ [1, 2, 3].sort(function() { "use strict"; assert.sameValue(this, undefined); }); - -/******************************************************************************/ - -print("All tests passed!"); diff --git a/JSTests/test262/test/staging/sm/Array/sort-array-with-holes-and-undefined.js b/JSTests/test262/test/staging/sm/Array/sort-array-with-holes-and-undefined.js index a107788512b41..0515469fe4b81 100644 --- a/JSTests/test262/test/staging/sm/Array/sort-array-with-holes-and-undefined.js +++ b/JSTests/test262/test/staging/sm/Array/sort-array-with-holes-and-undefined.js @@ -4,24 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Sorting an array containing only holes and |undefined| should move all |undefined| to the start of the array +info: bugzilla.mozilla.org/show_bug.cgi?id=664528 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 664528; -var summary = - "Sorting an array containing only holes and |undefined| should move all " + - "|undefined| to the start of the array"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ var a = [, , , undefined]; a.sort(); @@ -31,7 +18,3 @@ assert.sameValue(a[0], undefined); assert.sameValue(a.hasOwnProperty(1), false); assert.sameValue(a.hasOwnProperty(2), false); assert.sameValue(a.hasOwnProperty(3), false); - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/Array/sort-delete-ascending-order.js b/JSTests/test262/test/staging/sm/Array/sort-delete-ascending-order.js index c1293befc63b4..c4da4a67ff93d 100644 --- a/JSTests/test262/test/staging/sm/Array/sort-delete-ascending-order.js +++ b/JSTests/test262/test/staging/sm/Array/sort-delete-ascending-order.js @@ -2,9 +2,7 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, compareArray.js] -flags: - - noStrict +includes: [compareArray.js] description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/Array/sort-non-function.js b/JSTests/test262/test/staging/sm/Array/sort-non-function.js index 5dc8f748e69f8..750d48eb855ca 100644 --- a/JSTests/test262/test/staging/sm/Array/sort-non-function.js +++ b/JSTests/test262/test/staging/sm/Array/sort-non-function.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending @@ -18,7 +15,7 @@ const array = new Array(0); // Throws if the comparator is neither undefined nor callable. for (let invalidComparator of [null, 0, true, Symbol(), {}, []]) { - assertThrowsInstanceOf(() => array.sort(invalidComparator), TypeError); + assert.throws(TypeError, () => array.sort(invalidComparator)); } // Doesn't throw if the comparator is undefined or a callable object. diff --git a/JSTests/test262/test/staging/sm/Array/sort-typedarray-with-own-length.js b/JSTests/test262/test/staging/sm/Array/sort-typedarray-with-own-length.js index 2d93bc53d0e07..9f4f7ac7f967d 100644 --- a/JSTests/test262/test/staging/sm/Array/sort-typedarray-with-own-length.js +++ b/JSTests/test262/test/staging/sm/Array/sort-typedarray-with-own-length.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/Array/sort_holes.js b/JSTests/test262/test/staging/sm/Array/sort_holes.js index 3749f8bdac974..a3254abd6b8a4 100644 --- a/JSTests/test262/test/staging/sm/Array/sort_holes.js +++ b/JSTests/test262/test/staging/sm/Array/sort_holes.js @@ -4,9 +4,7 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js, deepEqual.js] -flags: - - noStrict +includes: [deepEqual.js] description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/Array/sort_native_string_nan.js b/JSTests/test262/test/staging/sm/Array/sort_native_string_nan.js index 3d23eca08cac7..6f2be84d90547 100644 --- a/JSTests/test262/test/staging/sm/Array/sort_native_string_nan.js +++ b/JSTests/test262/test/staging/sm/Array/sort_native_string_nan.js @@ -2,9 +2,7 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, compareArray.js] -flags: - - noStrict +includes: [compareArray.js] description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/Array/sort_proxy.js b/JSTests/test262/test/staging/sm/Array/sort_proxy.js index f75228560449f..4b349ce2e9796 100644 --- a/JSTests/test262/test/staging/sm/Array/sort_proxy.js +++ b/JSTests/test262/test/staging/sm/Array/sort_proxy.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/Array/sort_small.js b/JSTests/test262/test/staging/sm/Array/sort_small.js index 8d83015091fc3..b1f5ebf385e26 100644 --- a/JSTests/test262/test/staging/sm/Array/sort_small.js +++ b/JSTests/test262/test/staging/sm/Array/sort_small.js @@ -2,23 +2,32 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict +includes: [compareArray.js] description: | - pending + Sort every possible permutation of some arrays. esid: pending ---*/ -// Sort every possible permutation of some arrays. -function sortAllPermutations(data, comparefn) { - for (let permutation of Permutations(Array.from(data))) { - let sorted = (Array.from(permutation)).sort(comparefn); - for (let i in sorted) { - assert.sameValue(sorted[i], data[i], - [`[${permutation}].sort(${comparefn})`, - `returned ${sorted}, expected ${data}`].join(' ')); - } + +// Yield every permutation of the elements in some array. +function* Permutations(items) { + if (items.length === 0) { + yield []; + } else { + for (let i = 0; i < items.length; i++) { + let tail = items.slice(0); + let head = tail.splice(i, 1); + for (let e of Permutations(tail)) { + yield head.concat(e); + } } + } +} + +function sortAllPermutations(data, comparefn) { + for (let permutation of Permutations(data)) { + permutation.sort(comparefn); + assert.compareArray(permutation, data); + } } let lex = [2112, "bob", "is", "my", "name"]; diff --git a/JSTests/test262/test/staging/sm/Array/species.js b/JSTests/test262/test/staging/sm/Array/species.js index a6ab7a9d9b49c..a31099c55f8a5 100644 --- a/JSTests/test262/test/staging/sm/Array/species.js +++ b/JSTests/test262/test/staging/sm/Array/species.js @@ -2,17 +2,13 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Use ArraySpeciesCreate in Array.prototype.{concat,filter,map,slice,splice}. +info: bugzilla.mozilla.org/show_bug.cgi?id=1165052 esid: pending ---*/ -var BUGNUMBER = 1165052; -var summary = 'Use ArraySpeciesCreate in Array.prototype.{concat,filter,map,slice,splice}.'; -print(BUGNUMBER + ": " + summary); +var g = $262.createRealm().global; function test(funcName, args, expectedLength, expectedLogs) { // modified @@species @@ -97,7 +93,7 @@ function test(funcName, args, expectedLength, expectedLogs) { a.constructor = { [Symbol.species]: species }; - assertThrowsInstanceOf(() => a[funcName](...args), TypeError); + assert.throws(TypeError, () => a[funcName](...args)); } // undefined constructor @@ -110,7 +106,7 @@ function test(funcName, args, expectedLength, expectedLogs) { for (var ctor of [null, 0, 1.1, true, false, "a", Symbol.iterator]) { a = [1, 2, 3, 4, 5]; a.constructor = ctor; - assertThrowsInstanceOf(() => a[funcName](...args), TypeError); + assert.throws(TypeError, () => a[funcName](...args)); } // not an array @@ -128,7 +124,6 @@ function test(funcName, args, expectedLength, expectedLogs) { assert.sameValue(b.constructor, Array); // @@species from different global - var g = createNewGlobal(); g.eval("function FakeArray(n) { this.length = n; }"); a = [1, 2, 3, 4, 5]; a.constructor = { @@ -188,4 +183,3 @@ test("filter", [x => x % 2], 0, "get:filter,get:length,get:constructor,c-get:Sym test("map", [x => x * 2], 5, "get:map,get:length,get:constructor,c-get:Symbol(Symbol.species),get:0,define:0:2:true:true:true,get:1,define:1:4:true:true:true,get:2,define:2:6:true:true:true,get:3,define:3:8:true:true:true,get:4,define:4:10:true:true:true,"); test("slice", [], 5, "get:slice,get:length,get:constructor,c-get:Symbol(Symbol.species),get:0,define:0:1:true:true:true,get:1,define:1:2:true:true:true,get:2,define:2:3:true:true:true,get:3,define:3:4:true:true:true,get:4,define:4:5:true:true:true,set:length:5,"); test("splice", [0, 5], 5, "get:splice,get:length,get:constructor,c-get:Symbol(Symbol.species),get:0,define:0:1:true:true:true,get:1,define:1:2:true:true:true,get:2,define:2:3:true:true:true,get:3,define:3:4:true:true:true,get:4,define:4:5:true:true:true,set:length:5,"); - diff --git a/JSTests/test262/test/staging/sm/Array/splice-return-array-elements-defined-not-set.js b/JSTests/test262/test/staging/sm/Array/splice-return-array-elements-defined-not-set.js index abb702f0bc3a4..ddc94abb0165b 100644 --- a/JSTests/test262/test/staging/sm/Array/splice-return-array-elements-defined-not-set.js +++ b/JSTests/test262/test/staging/sm/Array/splice-return-array-elements-defined-not-set.js @@ -4,24 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Array.prototype.splice should define, not set, the elements of the array it returns +info: bugzilla.mozilla.org/show_bug.cgi?id=668024 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 668024; -var summary = - 'Array.prototype.splice should define, not set, the elements of the array ' + - 'it returns'; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ Object.defineProperty(Object.prototype, 2, { @@ -45,7 +32,3 @@ assert.sameValue(removed[2], 2); assert.sameValue(removed[3], 3); assert.sameValue(removed[4], 4); assert.sameValue(removed[5], 5); - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/Array/splice-species-changes-length.js b/JSTests/test262/test/staging/sm/Array/splice-species-changes-length.js index 77cd7420cf868..9ba8c527ae697 100644 --- a/JSTests/test262/test/staging/sm/Array/splice-species-changes-length.js +++ b/JSTests/test262/test/staging/sm/Array/splice-species-changes-length.js @@ -2,9 +2,7 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, compareArray.js] -flags: - - noStrict +includes: [compareArray.js] description: | pending esid: pending @@ -26,7 +24,7 @@ esid: pending } } - assertThrowsInstanceOf(() => Array.prototype.splice.call(array, 0, 1), TypeError); + assert.throws(TypeError, () => Array.prototype.splice.call(array, 0, 1)); assert.sameValue(array.length, 6); assert.compareArray(array, [1, 2, /* hole */, 3, 4, 5]); @@ -49,7 +47,7 @@ esid: pending } } - assertThrowsInstanceOf(() => Array.prototype.splice.call(array, 0, 0, 123), TypeError); + assert.throws(TypeError, () => Array.prototype.splice.call(array, 0, 0, 123)); assert.sameValue(array.length, 6); assert.compareArray(array, [123, 0, 1, 2, 4, 5]); diff --git a/JSTests/test262/test/staging/sm/Array/splice-suppresses-unvisited-indexes.js b/JSTests/test262/test/staging/sm/Array/splice-suppresses-unvisited-indexes.js index 3e4d96037ce19..6093f1dc9433a 100644 --- a/JSTests/test262/test/staging/sm/Array/splice-suppresses-unvisited-indexes.js +++ b/JSTests/test262/test/staging/sm/Array/splice-suppresses-unvisited-indexes.js @@ -4,24 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Array.prototype.splice, when it deletes elements, should make sure any deleted but not visited elements are suppressed from subsequent enumeration +info: bugzilla.mozilla.org/show_bug.cgi?id=668024 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 668024; -var summary = - 'Array.prototype.splice, when it deletes elements, should make sure any ' + - 'deleted but not visited elements are suppressed from subsequent enumeration'; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ var arr = [0, 1, 2, 3, 4, 5, , 7]; @@ -60,7 +47,3 @@ if (sawOneBeforeThree) // will delete "3", and therefore we must not see it. assert.sameValue(seen.indexOf("3"), -1); } - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/Array/to-length.js b/JSTests/test262/test/staging/sm/Array/to-length.js index dff691163ec49..3c577de46fca3 100644 --- a/JSTests/test262/test/staging/sm/Array/to-length.js +++ b/JSTests/test262/test/staging/sm/Array/to-length.js @@ -2,9 +2,7 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict +includes: [sm/assertThrowsValue.js] description: | pending esid: pending @@ -31,7 +29,7 @@ assertThrowsValue(() => Array.prototype.copyWithin.call({length: Infinity, get [ assert.sameValue(Array.prototype.includes.call({length: Infinity, [max - 1]: "test"}, "test", max - 3), true); // Invoking the Array constructor with MAX_SAFE_INTEGER will throw, 0 won't -assertThrowsInstanceOf(() => Array.from({length: Infinity}), RangeError); +assert.throws(RangeError, () => Array.from({length: Infinity})); // Make sure ArraySpeciesCreate is called with ToLength applied to the length property var proxy = new Proxy([], { diff --git a/JSTests/test262/test/staging/sm/Array/toLocaleString-01.js b/JSTests/test262/test/staging/sm/Array/toLocaleString-01.js index 6de02d5e62023..d7f22fd4d8665 100644 --- a/JSTests/test262/test/staging/sm/Array/toLocaleString-01.js +++ b/JSTests/test262/test/staging/sm/Array/toLocaleString-01.js @@ -4,22 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Array.prototype.toLocaleString +info: bugzilla.mozilla.org/show_bug.cgi?id=562446 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 562446; -var summary = 'ES5: Array.prototype.toLocaleString'; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ var o; @@ -30,11 +19,7 @@ o = {}; assert.sameValue(Array.prototype.toLocaleString.call(o), ""); var log = ''; -arr = {length: {valueOf: function () { log += "L"; return 2; }}, +var arr = {length: {valueOf: function () { log += "L"; return 2; }}, 0: "x", 1: "z"}; assert.sameValue(Array.prototype.toLocaleString.call(arr), "x,z"); assert.sameValue(log, "L"); - -/******************************************************************************/ - -print("All tests passed!"); diff --git a/JSTests/test262/test/staging/sm/Array/toLocaleString-nointl.js b/JSTests/test262/test/staging/sm/Array/toLocaleString-nointl.js index e238b8fb620c5..c7a437891e838 100644 --- a/JSTests/test262/test/staging/sm/Array/toLocaleString-nointl.js +++ b/JSTests/test262/test/staging/sm/Array/toLocaleString-nointl.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/Array/toLocaleString.js b/JSTests/test262/test/staging/sm/Array/toLocaleString.js index 31eeeff6409f5..5cb7907a0e00a 100644 --- a/JSTests/test262/test/staging/sm/Array/toLocaleString.js +++ b/JSTests/test262/test/staging/sm/Array/toLocaleString.js @@ -4,12 +4,10 @@ /*--- flags: - onlyStrict -includes: [sm/non262.js, sm/non262-shell.js] description: | pending esid: pending ---*/ -"use strict"; Object.defineProperty(String.prototype, "toLocaleString", { get() { @@ -20,4 +18,3 @@ Object.defineProperty(String.prototype, "toLocaleString", { }) assert.sameValue(["test"].toLocaleString(), "string"); - diff --git a/JSTests/test262/test/staging/sm/Array/toSpliced-dense.js b/JSTests/test262/test/staging/sm/Array/toSpliced-dense.js index 178380fbf95e4..99c50d44a1d7a 100644 --- a/JSTests/test262/test/staging/sm/Array/toSpliced-dense.js +++ b/JSTests/test262/test/staging/sm/Array/toSpliced-dense.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/Array/toSpliced.js b/JSTests/test262/test/staging/sm/Array/toSpliced.js index 0992f2029c70f..08b2384f4a51f 100644 --- a/JSTests/test262/test/staging/sm/Array/toSpliced.js +++ b/JSTests/test262/test/staging/sm/Array/toSpliced.js @@ -2,9 +2,7 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, deepEqual.js] -flags: - - noStrict +includes: [compareArray.js] description: | pending esid: pending @@ -22,14 +20,14 @@ Object.defineProperty(Array.prototype, 1, { }, }); -assert.deepEqual([].toSpliced(0, 0, 1), [1]); +assert.compareArray([].toSpliced(0, 0, 1), [1]); -assert.deepEqual([0].toSpliced(0, 0, 0), [0, 0]); -assert.deepEqual([0].toSpliced(0, 0, 1), [1, 0]); -assert.deepEqual([0].toSpliced(0, 1, 0), [0]); -assert.deepEqual([0].toSpliced(0, 1, 1), [1]); -assert.deepEqual([0].toSpliced(1, 0, 0), [0, 0]); -assert.deepEqual([0].toSpliced(1, 0, 1), [0, 1]); -assert.deepEqual([0].toSpliced(1, 1, 0), [0, 0]); -assert.deepEqual([0].toSpliced(1, 1, 1), [0, 1]); +assert.compareArray([0].toSpliced(0, 0, 0), [0, 0]); +assert.compareArray([0].toSpliced(0, 0, 1), [1, 0]); +assert.compareArray([0].toSpliced(0, 1, 0), [0]); +assert.compareArray([0].toSpliced(0, 1, 1), [1]); +assert.compareArray([0].toSpliced(1, 0, 0), [0, 0]); +assert.compareArray([0].toSpliced(1, 0, 1), [0, 1]); +assert.compareArray([0].toSpliced(1, 1, 0), [0, 0]); +assert.compareArray([0].toSpliced(1, 1, 1), [0, 1]); diff --git a/JSTests/test262/test/staging/sm/Array/toString-01.js b/JSTests/test262/test/staging/sm/Array/toString-01.js index eef62d94c6733..1a0def0d0e770 100644 --- a/JSTests/test262/test/staging/sm/Array/toString-01.js +++ b/JSTests/test262/test/staging/sm/Array/toString-01.js @@ -4,22 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Array.prototype.toString +info: bugzilla.mozilla.org/show_bug.cgi?id=562446 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 562446; -var summary = 'ES5: Array.prototype.toString'; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ var o; @@ -49,7 +38,3 @@ catch (e) "expected thrown e === 42 when calling [].toString on an object " + "with a join getter that throws, got " + e); } - -/******************************************************************************/ - -print("All tests passed!"); diff --git a/JSTests/test262/test/staging/sm/Array/unscopables.js b/JSTests/test262/test/staging/sm/Array/unscopables.js index e3d22f8f33cee..2b81fe94a4ea1 100644 --- a/JSTests/test262/test/staging/sm/Array/unscopables.js +++ b/JSTests/test262/test/staging/sm/Array/unscopables.js @@ -2,7 +2,7 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, deepEqual.js] +includes: [compareArray.js, propertyHelper.js] flags: - noStrict description: | @@ -11,56 +11,58 @@ esid: pending ---*/ let Array_unscopables = Array.prototype[Symbol.unscopables]; -let desc = Reflect.getOwnPropertyDescriptor(Array.prototype, Symbol.unscopables); -assert.deepEqual(desc, { +verifyProperty(Array.prototype, Symbol.unscopables, { value: Array_unscopables, writable: false, enumerable: false, configurable: true +}, { + restore: true }); assert.sameValue(Reflect.getPrototypeOf(Array_unscopables), null); -let desc2 = Object.getOwnPropertyDescriptor(Array_unscopables, "values"); -assert.deepEqual(desc2, { +verifyProperty(Array_unscopables, "values", { value: true, writable: true, enumerable: true, configurable: true +}, { + restore: true }); let keys = Reflect.ownKeys(Array_unscopables); -// FIXME: Once bug 1826643 is fixed, change this test so that all -// the keys are in alphabetical order -let expectedKeys = ["at", - "copyWithin", - "entries", - "fill", - "find", - "findIndex", - "findLast", - "findLastIndex", - "flat", - "flatMap", - "includes", - "keys", - "toReversed", - "toSorted", - "toSpliced", - "values"]; +let expectedKeys = [ + "at", + "copyWithin", + "entries", + "fill", + "find", + "findIndex", + "findLast", + "findLastIndex", + "flat", + "flatMap", + "includes", + "keys", + "toReversed", + "toSorted", + "toSpliced", + "values" +]; -assert.deepEqual(keys, expectedKeys); +assert.compareArray(keys, expectedKeys); for (let key of keys) assert.sameValue(Array_unscopables[key], true); // Test that it actually works -assertThrowsInstanceOf(() => { +assert.throws(ReferenceError, () => { with ([]) { return entries; } -}, ReferenceError); +}); { let fill = 33; diff --git a/JSTests/test262/test/staging/sm/Array/unshift-01.js b/JSTests/test262/test/staging/sm/Array/unshift-01.js index cf5f4b11bd72b..f914a04685fc2 100644 --- a/JSTests/test262/test/staging/sm/Array/unshift-01.js +++ b/JSTests/test262/test/staging/sm/Array/unshift-01.js @@ -4,22 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Array.prototype.unshift without args +info: bugzilla.mozilla.org/show_bug.cgi?id=614070 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 614070; -var summary = 'Array.prototype.unshift without args'; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ // ES6 ToLength clamps length values to 2^53 - 1. var MAX_LENGTH = 2**53 - 1; @@ -43,7 +32,3 @@ testGetSet("1", 1); testGetSet(null, 0); testGetSet(MAX_LENGTH + 2, MAX_LENGTH); testGetSet(-5, 0); - -/******************************************************************************/ - -print("All tests passed!"); diff --git a/JSTests/test262/test/staging/sm/Array/unshift-with-enumeration.js b/JSTests/test262/test/staging/sm/Array/unshift-with-enumeration.js index a28c1061ca88f..991dde44c9ca5 100644 --- a/JSTests/test262/test/staging/sm/Array/unshift-with-enumeration.js +++ b/JSTests/test262/test/staging/sm/Array/unshift-with-enumeration.js @@ -2,9 +2,7 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, compareArray.js] -flags: - - noStrict +includes: [compareArray.js] description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/Array/values.js b/JSTests/test262/test/staging/sm/Array/values.js index 24dc03846c30a..e1cc20a00b5ab 100644 --- a/JSTests/test262/test/staging/sm/Array/values.js +++ b/JSTests/test262/test/staging/sm/Array/values.js @@ -4,7 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | diff --git a/JSTests/test262/test/staging/sm/Array/with-dense.js b/JSTests/test262/test/staging/sm/Array/with-dense.js index 11a305090de21..cf8eb8a433a04 100644 --- a/JSTests/test262/test/staging/sm/Array/with-dense.js +++ b/JSTests/test262/test/staging/sm/Array/with-dense.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/Array/with.js b/JSTests/test262/test/staging/sm/Array/with.js index 02830e15447e4..19823e05569ec 100644 --- a/JSTests/test262/test/staging/sm/Array/with.js +++ b/JSTests/test262/test/staging/sm/Array/with.js @@ -2,9 +2,7 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, deepEqual.js] -flags: - - noStrict +includes: [compareArray.js] description: | pending esid: pending @@ -17,9 +15,8 @@ Object.defineProperty(Array.prototype, 0, { }); // Single element case. -assert.deepEqual([0].with(0, 1), [1]); +assert.compareArray([0].with(0, 1), [1]); // More than one element. -assert.deepEqual([1, 2].with(0, 3), [3, 2]); -assert.deepEqual([1, 2].with(1, 3), [1, 3]); - +assert.compareArray([1, 2].with(0, 3), [3, 2]); +assert.compareArray([1, 2].with(1, 3), [1, 3]); diff --git a/JSTests/test262/test/staging/sm/ArrayBuffer/CloneArrayBuffer.js b/JSTests/test262/test/staging/sm/ArrayBuffer/CloneArrayBuffer.js index 64cb594bd5d0c..a1d34313c6340 100644 --- a/JSTests/test262/test/staging/sm/ArrayBuffer/CloneArrayBuffer.js +++ b/JSTests/test262/test/staging/sm/ArrayBuffer/CloneArrayBuffer.js @@ -2,17 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + CloneArrayBuffer should be called with byteLength of source typedArray +info: bugzilla.mozilla.org/show_bug.cgi?id=1264941 esid: pending ---*/ -var BUGNUMBER = 1264941; -var summary = 'CloneArrayBuffer should be called with byteLength of source typedArray'; - -print(BUGNUMBER + ": " + summary); function test(ctor, byteLength) { var abuf = new ctor(byteLength); @@ -41,4 +35,3 @@ test(ArrayBuffer, 128); class MyArrayBuffer extends ArrayBuffer {} test(MyArrayBuffer, 16); test(MyArrayBuffer, 128); - diff --git a/JSTests/test262/test/staging/sm/ArrayBuffer/bug1777413.js b/JSTests/test262/test/staging/sm/ArrayBuffer/bug1777413.js index 4be3bc7e81b4a..df1f374e29a91 100644 --- a/JSTests/test262/test/staging/sm/ArrayBuffer/bug1777413.js +++ b/JSTests/test262/test/staging/sm/ArrayBuffer/bug1777413.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict info: | needs shell functions description: | @@ -12,6 +9,5 @@ description: | esid: pending ---*/ -var b = createExternalArrayBuffer(0); +var b = new ArrayBuffer(0); assert.sameValue(b.byteLength, 0); - diff --git a/JSTests/test262/test/staging/sm/ArrayBuffer/constructorNotCallable.js b/JSTests/test262/test/staging/sm/ArrayBuffer/constructorNotCallable.js index 1a42c0f1d236f..95278bd6f51b6 100644 --- a/JSTests/test262/test/staging/sm/ArrayBuffer/constructorNotCallable.js +++ b/JSTests/test262/test/staging/sm/ArrayBuffer/constructorNotCallable.js @@ -2,16 +2,13 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending ---*/ -assertThrowsInstanceOf(() => ArrayBuffer(), TypeError); -assertThrowsInstanceOf(() => ArrayBuffer(1), TypeError); -assertThrowsInstanceOf(() => ArrayBuffer.call(null), TypeError); -assertThrowsInstanceOf(() => ArrayBuffer.apply(null, []), TypeError); -assertThrowsInstanceOf(() => Reflect.apply(ArrayBuffer, null, []), TypeError); +assert.throws(TypeError, () => ArrayBuffer()); +assert.throws(TypeError, () => ArrayBuffer(1)); +assert.throws(TypeError, () => ArrayBuffer.call(null)); +assert.throws(TypeError, () => ArrayBuffer.apply(null, [])); +assert.throws(TypeError, () => Reflect.apply(ArrayBuffer, null, [])); diff --git a/JSTests/test262/test/staging/sm/ArrayBuffer/getter-name.js b/JSTests/test262/test/staging/sm/ArrayBuffer/getter-name.js index 747ffe00a07bd..5793a7c608813 100644 --- a/JSTests/test262/test/staging/sm/ArrayBuffer/getter-name.js +++ b/JSTests/test262/test/staging/sm/ArrayBuffer/getter-name.js @@ -2,18 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + ArrayBuffer getters should have get prefix +info: bugzilla.mozilla.org/show_bug.cgi?id=1180290 esid: pending ---*/ -var BUGNUMBER = 1180290; -var summary = 'ArrayBuffer getters should have get prefix'; - -print(BUGNUMBER + ": " + summary); assert.sameValue(Object.getOwnPropertyDescriptor(ArrayBuffer, Symbol.species).get.name, "get [Symbol.species]"); assert.sameValue(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype, "byteLength").get.name, "get byteLength"); - diff --git a/JSTests/test262/test/staging/sm/ArrayBuffer/slice-species.js b/JSTests/test262/test/staging/sm/ArrayBuffer/slice-species.js index 70be76d1b97af..6a93cf7dc66d9 100644 --- a/JSTests/test262/test/staging/sm/ArrayBuffer/slice-species.js +++ b/JSTests/test262/test/staging/sm/ArrayBuffer/slice-species.js @@ -2,13 +2,12 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, deepEqual.js] -flags: - - noStrict +includes: [compareArray.js] description: | pending esid: pending ---*/ + const tests = [ [Int8Array, [9, 10, 11, 12, 13, 14, 15, 16]], [Uint8Array, [9, 10, 11, 12, 13, 14, 15, 16]], @@ -58,8 +57,8 @@ for (let [ctor, answer] of tests) { logs.length = 0; let buf = arr.buffer.slice(8, 16); assert.sameValue(buf.constructor, MyArrayBuffer); - assert.deepEqual(logs, ["get @@species", "get ctor.prototype", "call ctor"]); - assert.deepEqual([...new ctor(buf)], answer); + assert.compareArray(logs, ["get @@species", "get ctor.prototype", "call ctor"]); + assert.compareArray([...new ctor(buf)], answer); // modified @@species @@ -69,7 +68,7 @@ for (let [ctor, answer] of tests) { }; let b = a.slice(8, 16); assert.sameValue(b.constructor, MyArrayBuffer); - assert.deepEqual([...new ctor(b)], answer); + assert.compareArray([...new ctor(b)], answer); class MyArrayBufferWithSpecies extends ArrayBuffer { get [Symbol.species]() { @@ -80,7 +79,7 @@ for (let [ctor, answer] of tests) { a.constructor = MyArrayBufferWithSpecies; b = a.slice(8, 16); assert.sameValue(b.constructor, MyArrayBufferWithSpecies); - assert.deepEqual([...new ctor(b)], answer); + assert.compareArray([...new ctor(b)], answer); // no @@species a = arr.buffer; @@ -89,7 +88,7 @@ for (let [ctor, answer] of tests) { }; b = a.slice(8, 16); assert.sameValue(b.constructor, ArrayBuffer); - assert.deepEqual([...new ctor(b)], answer); + assert.compareArray([...new ctor(b)], answer); a = arr.buffer; a.constructor = { @@ -97,7 +96,7 @@ for (let [ctor, answer] of tests) { }; b = a.slice(8, 16); assert.sameValue(b.constructor, ArrayBuffer); - assert.deepEqual([...new ctor(b)], answer); + assert.compareArray([...new ctor(b)], answer); // invalid @@species for (let species of [0, 1.1, true, false, "a", /a/, Symbol.iterator, [], {}]) { @@ -105,7 +104,7 @@ for (let [ctor, answer] of tests) { a.constructor = { [Symbol.species]: species }; - assertThrowsInstanceOf(() => a.slice(8, 16), TypeError); + assert.throws(TypeError, () => a.slice(8, 16)); } // undefined constructor @@ -113,17 +112,17 @@ for (let [ctor, answer] of tests) { a.constructor = undefined; b = a.slice(8, 16); assert.sameValue(b.constructor, ArrayBuffer); - assert.deepEqual([...new ctor(b)], answer); + assert.compareArray([...new ctor(b)], answer); // invalid constructor for (let ctor of [null, 0, 1.1, true, false, "a", Symbol.iterator]) { a = arr.buffer; a.constructor = ctor; - assertThrowsInstanceOf(() => a.slice(8, 16), TypeError); + assert.throws(TypeError, () => a.slice(8, 16)); } // @@species from different global - let g = createNewGlobal(); + let g = $262.createRealm().global; g.eval("var MyArrayBuffer = class MyArrayBuffer extends ArrayBuffer {};"); a = arr.buffer; a.constructor = { @@ -131,7 +130,7 @@ for (let [ctor, answer] of tests) { }; b = a.slice(8, 16); assert.sameValue(b.constructor, g.MyArrayBuffer); - assert.deepEqual([...new ctor(b)], answer); + assert.compareArray([...new ctor(b)], answer); a = arr.buffer; a.constructor = { @@ -139,7 +138,7 @@ for (let [ctor, answer] of tests) { }; b = a.slice(8, 16); assert.sameValue(b.constructor, g.ArrayBuffer); - assert.deepEqual([...new ctor(b)], answer); + assert.compareArray([...new ctor(b)], answer); // constructor from different global g.eval(` @@ -153,7 +152,7 @@ var MyArrayBufferWithSpecies = class MyArrayBufferWithSpecies extends ArrayBuffe a.constructor = g.MyArrayBufferWithSpecies; b = a.slice(8, 16); assert.sameValue(b.constructor, g.MyArrayBufferWithSpecies); - assert.deepEqual([...new ctor(b)], answer); + assert.compareArray([...new ctor(b)], answer); g.eval(` var arr = new ${ctor.name}([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]); @@ -161,12 +160,12 @@ var a = arr.buffer; `); b = ArrayBuffer.prototype.slice.call(g.a, 8, 16); assert.sameValue(b.constructor, g.ArrayBuffer); - assert.deepEqual([...new ctor(b)], answer); + assert.compareArray([...new ctor(b)], answer); // running in different global b = g.a.slice(8, 16); assert.sameValue(b.constructor, g.ArrayBuffer); - assert.deepEqual([...new ctor(b)], answer); + assert.compareArray([...new ctor(b)], answer); // subclasses // not-modified @@species @@ -186,4 +185,3 @@ var a = arr.buffer; b = a.slice(8, 16); assert.sameValue(b.constructor, MyArrayBuffer2); } - diff --git a/JSTests/test262/test/staging/sm/AsyncGenerators/async-generator-declaration-in-modules.js b/JSTests/test262/test/staging/sm/AsyncGenerators/async-generator-declaration-in-modules.js index ee08c72b3595a..6522c5a660dcd 100644 --- a/JSTests/test262/test/staging/sm/AsyncGenerators/async-generator-declaration-in-modules.js +++ b/JSTests/test262/test/staging/sm/AsyncGenerators/async-generator-declaration-in-modules.js @@ -2,13 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending ---*/ + async function* f() { return "success"; } diff --git a/JSTests/test262/test/staging/sm/AsyncGenerators/create-function-parse-before-getprototype.js b/JSTests/test262/test/staging/sm/AsyncGenerators/create-function-parse-before-getprototype.js index 957bca48f03e6..118ca15e8a50a 100644 --- a/JSTests/test262/test/staging/sm/AsyncGenerators/create-function-parse-before-getprototype.js +++ b/JSTests/test262/test/staging/sm/AsyncGenerators/create-function-parse-before-getprototype.js @@ -2,13 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending ---*/ + var getProtoCalled = false; var newTarget = Object.defineProperty(function(){}.bind(), "prototype", { @@ -20,9 +18,8 @@ var newTarget = Object.defineProperty(function(){}.bind(), "prototype", { var AsyncGenerator = async function*(){}.constructor; -assertThrowsInstanceOf(() => { +assert.throws(SyntaxError, () => { Reflect.construct(AsyncGenerator, ["@error"], newTarget); -}, SyntaxError); +}); assert.sameValue(getProtoCalled, false); - diff --git a/JSTests/test262/test/staging/sm/AsyncGenerators/for-await-bad-syntax.js b/JSTests/test262/test/staging/sm/AsyncGenerators/for-await-bad-syntax.js index 300c8d8a38bdc..f6d3ab7e4e707 100644 --- a/JSTests/test262/test/staging/sm/AsyncGenerators/for-await-bad-syntax.js +++ b/JSTests/test262/test/staging/sm/AsyncGenerators/for-await-bad-syntax.js @@ -2,21 +2,21 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | pending esid: pending ---*/ + var AsyncGenerator = async function*(){}.constructor; function assertSyntaxError(code) { var functionCode = `async function* f() { ${code} }`; - assertThrowsInstanceOf(() => AsyncGenerator(code), SyntaxError, "AsyncGenerator:" + code); - assertThrowsInstanceOf(() => eval(functionCode), SyntaxError, "eval:" + functionCode); + assert.throws(SyntaxError, () => AsyncGenerator(code), "AsyncGenerator:" + code); + assert.throws(SyntaxError, () => eval(functionCode), "eval:" + functionCode); var ieval = eval; - assertThrowsInstanceOf(() => ieval(functionCode), SyntaxError, "indirect eval:" + functionCode); + assert.throws(SyntaxError, () => ieval(functionCode), "indirect eval:" + functionCode); } assertSyntaxError(`for await (;;) ;`); @@ -30,4 +30,3 @@ for (var decl of ["", "var", "let", "const"]) { assertSyntaxError(`for await (${decl} ${head} in null) ;`); } } - diff --git a/JSTests/test262/test/staging/sm/AsyncGenerators/for-await-of-error.js b/JSTests/test262/test/staging/sm/AsyncGenerators/for-await-of-error.js index f3814c9866437..384d8ff46cf11 100644 --- a/JSTests/test262/test/staging/sm/AsyncGenerators/for-await-of-error.js +++ b/JSTests/test262/test/staging/sm/AsyncGenerators/for-await-of-error.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending @@ -12,18 +9,16 @@ esid: pending var BUGNUMBER = 1391519; var summary = "for-await-of outside of async function should provide better error"; -print(BUGNUMBER + ": " + summary); - -assertThrowsInstanceOfWithMessageContains( - () => eval("for await (let x of []) {}"), +assert.throws( SyntaxError, + () => eval("for await (let x of []) {}"), "for await (... of ...) is only valid in" ); // Extra `await` shouldn't throw that error. -assertThrowsInstanceOfWithMessageContains( - () => eval("async function f() { for await await (let x of []) {} }"), +assert.throws( SyntaxError, + () => eval("async function f() { for await await (let x of []) {} }"), "missing ( after for" ); diff --git a/JSTests/test262/test/staging/sm/Atomics/cross-compartment.js b/JSTests/test262/test/staging/sm/Atomics/cross-compartment.js index 21d6fa23cc461..2606709b850ad 100644 --- a/JSTests/test262/test/staging/sm/Atomics/cross-compartment.js +++ b/JSTests/test262/test/staging/sm/Atomics/cross-compartment.js @@ -2,15 +2,12 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending ---*/ -const otherGlobal = createNewGlobal(); +const otherGlobal = $262.createRealm().global; const intArrayConstructors = [ otherGlobal.Int32Array, diff --git a/JSTests/test262/test/staging/sm/Atomics/detached-buffers.js b/JSTests/test262/test/staging/sm/Atomics/detached-buffers.js index b0de39120deb6..42088326c467d 100644 --- a/JSTests/test262/test/staging/sm/Atomics/detached-buffers.js +++ b/JSTests/test262/test/staging/sm/Atomics/detached-buffers.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending @@ -32,71 +29,71 @@ function badValue(ta) { for (let TA of intArrayConstructors) { let ta = new TA(1); - assertThrowsInstanceOf(() => Atomics.load(ta, badValue(ta)), TypeError); + assert.throws(TypeError, () => Atomics.load(ta, badValue(ta))); } // Atomics.store for (let TA of intArrayConstructors) { let ta = new TA(1); - assertThrowsInstanceOf(() => Atomics.store(ta, badValue(ta), 0), TypeError); - assertThrowsInstanceOf(() => Atomics.store(ta, 0, badValue(ta)), TypeError); + assert.throws(TypeError, () => Atomics.store(ta, badValue(ta), 0)); + assert.throws(TypeError, () => Atomics.store(ta, 0, badValue(ta))); } // Atomics.compareExchange for (let TA of intArrayConstructors) { let ta = new TA(1); - assertThrowsInstanceOf(() => Atomics.compareExchange(ta, badValue(ta), 0, 0), TypeError); - assertThrowsInstanceOf(() => Atomics.compareExchange(ta, 0, badValue(ta), 0), TypeError); - assertThrowsInstanceOf(() => Atomics.compareExchange(ta, 0, 0, badValue(ta)), TypeError); + assert.throws(TypeError, () => Atomics.compareExchange(ta, badValue(ta), 0, 0)); + assert.throws(TypeError, () => Atomics.compareExchange(ta, 0, badValue(ta), 0)); + assert.throws(TypeError, () => Atomics.compareExchange(ta, 0, 0, badValue(ta))); } // Atomics.exchange for (let TA of intArrayConstructors) { let ta = new TA(1); - assertThrowsInstanceOf(() => Atomics.exchange(ta, badValue(ta), 0), TypeError); - assertThrowsInstanceOf(() => Atomics.exchange(ta, 0, badValue(ta)), TypeError); + assert.throws(TypeError, () => Atomics.exchange(ta, badValue(ta), 0)); + assert.throws(TypeError, () => Atomics.exchange(ta, 0, badValue(ta))); } // Atomics.add for (let TA of intArrayConstructors) { let ta = new TA(1); - assertThrowsInstanceOf(() => Atomics.add(ta, badValue(ta), 0), TypeError); - assertThrowsInstanceOf(() => Atomics.add(ta, 0, badValue(ta)), TypeError); + assert.throws(TypeError, () => Atomics.add(ta, badValue(ta), 0)); + assert.throws(TypeError, () => Atomics.add(ta, 0, badValue(ta))); } // Atomics.sub for (let TA of intArrayConstructors) { let ta = new TA(1); - assertThrowsInstanceOf(() => Atomics.sub(ta, badValue(ta), 0), TypeError); - assertThrowsInstanceOf(() => Atomics.sub(ta, 0, badValue(ta)), TypeError); + assert.throws(TypeError, () => Atomics.sub(ta, badValue(ta), 0)); + assert.throws(TypeError, () => Atomics.sub(ta, 0, badValue(ta))); } // Atomics.and for (let TA of intArrayConstructors) { let ta = new TA(1); - assertThrowsInstanceOf(() => Atomics.and(ta, badValue(ta), 0), TypeError); - assertThrowsInstanceOf(() => Atomics.and(ta, 0, badValue(ta)), TypeError); + assert.throws(TypeError, () => Atomics.and(ta, badValue(ta), 0)); + assert.throws(TypeError, () => Atomics.and(ta, 0, badValue(ta))); } // Atomics.or for (let TA of intArrayConstructors) { let ta = new TA(1); - assertThrowsInstanceOf(() => Atomics.or(ta, badValue(ta), 0), TypeError); - assertThrowsInstanceOf(() => Atomics.or(ta, 0, badValue(ta)), TypeError); + assert.throws(TypeError, () => Atomics.or(ta, badValue(ta), 0)); + assert.throws(TypeError, () => Atomics.or(ta, 0, badValue(ta))); } // Atomics.xor for (let TA of intArrayConstructors) { let ta = new TA(1); - assertThrowsInstanceOf(() => Atomics.xor(ta, badValue(ta), 0), TypeError); - assertThrowsInstanceOf(() => Atomics.xor(ta, 0, badValue(ta)), TypeError); + assert.throws(TypeError, () => Atomics.xor(ta, badValue(ta), 0)); + assert.throws(TypeError, () => Atomics.xor(ta, 0, badValue(ta))); } diff --git a/JSTests/test262/test/staging/sm/BigInt/Number-conversion-rounding.js b/JSTests/test262/test/staging/sm/BigInt/Number-conversion-rounding.js index 4f8aa0cfe56a6..1b9f8a2c569e5 100644 --- a/JSTests/test262/test/staging/sm/BigInt/Number-conversion-rounding.js +++ b/JSTests/test262/test/staging/sm/BigInt/Number-conversion-rounding.js @@ -2,13 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending ---*/ + // Any copyright is dedicated to the Public Domain. // https://creativecommons.org/licenses/publicdomain/ @@ -250,4 +248,3 @@ assert.sameValue(BigInt(Number(2n**941n + 2n**940n + 2n**889n + 2n**12n)), 2n**9 assert.sameValue(BigInt(Number(2n**941n + 2n**940n + 2n**889n + 2n**888n - 1n)), 2n**941n + 2n**940n + 2n**889n); assert.sameValue(BigInt(Number(2n**941n + 2n**940n + 2n**889n + 2n**888n)), 2n**941n + 2n**940n + 2n**890n); assert.sameValue(BigInt(Number(2n**941n + 2n**940n + 2n**889n + 2n**888n + 1n)), 2n**941n + 2n**940n + 2n**890n); - diff --git a/JSTests/test262/test/staging/sm/BigInt/decimal.js b/JSTests/test262/test/staging/sm/BigInt/decimal.js index d2a03e441ac77..0b7f57ecc895b 100644 --- a/JSTests/test262/test/staging/sm/BigInt/decimal.js +++ b/JSTests/test262/test/staging/sm/BigInt/decimal.js @@ -2,13 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending ---*/ + // Any copyright is dedicated to the Public Domain. // https://creativecommons.org/licenses/publicdomain/ @@ -37,4 +35,3 @@ for (const [power, offset, sign, result] of decimalTests) { assert.sameValue(((2n**power+offset)*sign).toString(), result); } - diff --git a/JSTests/test262/test/staging/sm/BigInt/large-bit-length.js b/JSTests/test262/test/staging/sm/BigInt/large-bit-length.js index 2d3a968b17f54..f256e660e830a 100644 --- a/JSTests/test262/test/staging/sm/BigInt/large-bit-length.js +++ b/JSTests/test262/test/staging/sm/BigInt/large-bit-length.js @@ -2,13 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending ---*/ + // Any copyright is dedicated to the Public Domain. // https://creativecommons.org/licenses/publicdomain/ @@ -40,4 +38,3 @@ for (let bits of [UINT32_MAX-1, UINT32_MAX, UINT32_MAX+1, Number.MAX_SAFE_INTEGE test(() => BigInt.asUintN(bits, 0n), 0n); // Skip testing asUintN with negative BigInts since it could OOM. } - diff --git a/JSTests/test262/test/staging/sm/BigInt/mod.js b/JSTests/test262/test/staging/sm/BigInt/mod.js index 8cc3baaf40668..284d7c70a65f2 100644 --- a/JSTests/test262/test/staging/sm/BigInt/mod.js +++ b/JSTests/test262/test/staging/sm/BigInt/mod.js @@ -2,17 +2,14 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending ---*/ + // Any copyright is dedicated to the Public Domain. // https://creativecommons.org/licenses/publicdomain/ // Check that |x % x| returns zero when |x| contains multiple digits assert.sameValue(0x10000000000000000n % 0x10000000000000000n, 0n); assert.sameValue(-0x10000000000000000n % -0x10000000000000000n, 0n); - diff --git a/JSTests/test262/test/staging/sm/BigInt/property-name.js b/JSTests/test262/test/staging/sm/BigInt/property-name.js index 5bdc41b2c2751..59a0eb1af756e 100644 --- a/JSTests/test262/test/staging/sm/BigInt/property-name.js +++ b/JSTests/test262/test/staging/sm/BigInt/property-name.js @@ -2,13 +2,12 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, compareArray.js] -flags: - - noStrict +includes: [compareArray.js] description: | pending esid: pending ---*/ + // BigInt literals as property keys. { let o = { @@ -200,4 +199,3 @@ esid: pending assert.sameValue(o[10].name, "10"); } - diff --git a/JSTests/test262/test/staging/sm/Boolean/no-boolean-toJSON.js b/JSTests/test262/test/staging/sm/Boolean/no-boolean-toJSON.js index 37686125521b5..eb77ba3c5228f 100644 --- a/JSTests/test262/test/staging/sm/Boolean/no-boolean-toJSON.js +++ b/JSTests/test262/test/staging/sm/Boolean/no-boolean-toJSON.js @@ -2,13 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending ---*/ + /* * Any copyright is dedicated to the Public Domain. * http://creativecommons.org/licenses/publicdomain/ @@ -23,4 +21,3 @@ assert.sameValue(Boolean.prototype.hasOwnProperty('toJSON'), false); Object.prototype.toJSON = function() { return 2; }; assert.sameValue(JSON.stringify(new Boolean(true)), "2"); - diff --git a/JSTests/test262/test/staging/sm/DataView/detach-after-construction.js b/JSTests/test262/test/staging/sm/DataView/detach-after-construction.js index c7dfbe2296070..8a751e55be8e4 100644 --- a/JSTests/test262/test/staging/sm/DataView/detach-after-construction.js +++ b/JSTests/test262/test/staging/sm/DataView/detach-after-construction.js @@ -2,17 +2,14 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending ---*/ + var buf = new ArrayBuffer([1,2]); var bufView = new DataView(buf); $262.detachArrayBuffer(buf); -assertThrowsInstanceOf(() => bufView.getInt8(0), TypeError); - +assert.throws(TypeError, () => bufView.getInt8(0)); diff --git a/JSTests/test262/test/staging/sm/DataView/get-set-index-range.js b/JSTests/test262/test/staging/sm/DataView/get-set-index-range.js index 8ce2707795906..b9010517acee4 100644 --- a/JSTests/test262/test/staging/sm/DataView/get-set-index-range.js +++ b/JSTests/test262/test/staging/sm/DataView/get-set-index-range.js @@ -2,24 +2,22 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending ---*/ + var buffer = new ArrayBuffer(2); var view = new DataView(buffer); function check(view) { for (let fun of ['getInt8', 'setInt8', 'getInt16', 'setInt16']) { - assertThrowsInstanceOf(() => view[fun](-10), RangeError); - assertThrowsInstanceOf(() => view[fun](-Infinity), RangeError); - assertThrowsInstanceOf(() => view[fun](Infinity), RangeError); + assert.throws(RangeError, () => view[fun](-10)); + assert.throws(RangeError, () => view[fun](-Infinity)); + assert.throws(RangeError, () => view[fun](Infinity)); - assertThrowsInstanceOf(() => view[fun](Math.pow(2, 53)), RangeError); - assertThrowsInstanceOf(() => view[fun](Math.pow(2, 54)), RangeError); + assert.throws(RangeError, () => view[fun](Math.pow(2, 53))); + assert.throws(RangeError, () => view[fun](Math.pow(2, 54))); } } @@ -31,16 +29,13 @@ for (let fun of ['getInt8', 'getInt16']) { assert.sameValue(view[fun](NaN), 0); } -if ('$262.detachArrayBuffer' in this) { - // ToIndex is called before detachment check, so we can tell the difference - // between a ToIndex failure and a real out of bounds failure. - $262.detachArrayBuffer(buffer); - - check(view); +// ToIndex is called before detachment check, so we can tell the difference +// between a ToIndex failure and a real out of bounds failure. +$262.detachArrayBuffer(buffer); - assertThrowsInstanceOf(() => view.getInt8(0), TypeError); - assertThrowsInstanceOf(() => view.setInt8(0, 0), TypeError); - assertThrowsInstanceOf(() => view.getInt8(Math.pow(2, 53) - 1), TypeError); - assertThrowsInstanceOf(() => view.setInt8(Math.pow(2, 53) - 1, 0), TypeError); -} +check(view); +assert.throws(TypeError, () => view.getInt8(0)); +assert.throws(TypeError, () => view.setInt8(0, 0)); +assert.throws(TypeError, () => view.getInt8(Math.pow(2, 53) - 1)); +assert.throws(TypeError, () => view.setInt8(Math.pow(2, 53) - 1, 0)); diff --git a/JSTests/test262/test/staging/sm/DataView/getter-name.js b/JSTests/test262/test/staging/sm/DataView/getter-name.js index e8c5e9e036da1..d56423fc0f7f6 100644 --- a/JSTests/test262/test/staging/sm/DataView/getter-name.js +++ b/JSTests/test262/test/staging/sm/DataView/getter-name.js @@ -2,19 +2,12 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + DataView getters should have get prefix +info: bugzilla.mozilla.org/show_bug.cgi?id=1180290 esid: pending ---*/ -var BUGNUMBER = 1180290; -var summary = 'DataView getters should have get prefix'; - -print(BUGNUMBER + ": " + summary); assert.sameValue(Object.getOwnPropertyDescriptor(DataView.prototype, "buffer").get.name, "get buffer"); assert.sameValue(Object.getOwnPropertyDescriptor(DataView.prototype, "byteLength").get.name, "get byteLength"); assert.sameValue(Object.getOwnPropertyDescriptor(DataView.prototype, "byteOffset").get.name, "get byteOffset"); - diff --git a/JSTests/test262/test/staging/sm/Date/UTC-convert-all-arguments.js b/JSTests/test262/test/staging/sm/Date/UTC-convert-all-arguments.js index 393fd6d5aaf68..64301d14748b9 100644 --- a/JSTests/test262/test/staging/sm/Date/UTC-convert-all-arguments.js +++ b/JSTests/test262/test/staging/sm/Date/UTC-convert-all-arguments.js @@ -4,23 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-Date-shell.js] -flags: - - noStrict description: | - pending + Date.UTC must convert *all* arguments to number, not return NaN early if a non-finite argument is encountered +info: bugzilla.mozilla.org/show_bug.cgi?id=1160356 esid: pending ---*/ -var BUGNUMBER = 1160356; -var summary = - "Date.UTC must convert *all* arguments to number, not return NaN early if " + - "a non-finite argument is encountered"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ function expectThrowTypeError(f, i) { @@ -69,7 +57,3 @@ var args = for (var i = 0, len = args.length; i < len; i++) expectThrowTypeError(function() { Date.UTC.apply(null, args[i]); }, i); - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/Date/constructor-convert-all-arguments.js b/JSTests/test262/test/staging/sm/Date/constructor-convert-all-arguments.js index 03b6e83e1a74d..0f9c84eef478e 100644 --- a/JSTests/test262/test/staging/sm/Date/constructor-convert-all-arguments.js +++ b/JSTests/test262/test/staging/sm/Date/constructor-convert-all-arguments.js @@ -4,23 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-Date-shell.js] -flags: - - noStrict description: | - pending + new Date(...) must convert *all* arguments to number, not return NaN early if a non-finite argument is encountered +info: bugzilla.mozilla.org/show_bug.cgi?id=1160356 esid: pending ---*/ -var BUGNUMBER = 1160356; -var summary = - "new Date(...) must convert *all* arguments to number, not return NaN " + - "early if a non-finite argument is encountered"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ function expectThrowTypeError(f, i) { @@ -69,7 +57,3 @@ var funcs = for (var i = 0, len = funcs.length; i < len; i++) expectThrowTypeError(funcs[i]); - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/Date/constructor-one-Date-argument.js b/JSTests/test262/test/staging/sm/Date/constructor-one-Date-argument.js index 365a646e46e79..b58c6b958bce0 100644 --- a/JSTests/test262/test/staging/sm/Date/constructor-one-Date-argument.js +++ b/JSTests/test262/test/staging/sm/Date/constructor-one-Date-argument.js @@ -4,23 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-Date-shell.js] -flags: - - noStrict description: | - pending + Passing a Date object to |new Date()| should copy it, not convert it to a primitive and create it from that. +info: bugzilla.mozilla.org/show_bug.cgi?id=1187233 esid: pending ---*/ -var BUGNUMBER = 1187233; -var summary = - "Passing a Date object to |new Date()| should copy it, not convert it to " + - "a primitive and create it from that."; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ Date.prototype.toString = Date.prototype.valueOf = null; var d = new Date(new Date(8675309)); @@ -30,7 +18,7 @@ Date.prototype.valueOf = () => 42; d = new Date(new Date(8675309)); assert.sameValue(d.getTime(), 8675309); -var D = createNewGlobal().Date; +var D = $262.createRealm().global.Date; D.prototype.toString = D.prototype.valueOf = null; var d = new Date(new D(3141592654)); @@ -39,7 +27,3 @@ assert.sameValue(d.getTime(), 3141592654); D.prototype.valueOf = () => 525600; d = new Date(new D(3141592654)); assert.sameValue(d.getTime(), 3141592654); - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/Date/constructor-one-argument.js b/JSTests/test262/test/staging/sm/Date/constructor-one-argument.js index b61a4e17ec4e1..5c05e5ef2e6b9 100644 --- a/JSTests/test262/test/staging/sm/Date/constructor-one-argument.js +++ b/JSTests/test262/test/staging/sm/Date/constructor-one-argument.js @@ -4,28 +4,12 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-Date-shell.js] -flags: - - noStrict description: | - pending + new Date(value) should call ToPrimitive on value before testing for string-ness +info: bugzilla.mozilla.org/show_bug.cgi?id=738511 esid: pending ---*/ -var BUGNUMBER = 738511; -var summary = - "new Date(value) should call ToPrimitive on value before testing for " + - "string-ness"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ assert.sameValue(new Date(new String("2012-01-31T00:00:00.000Z")).valueOf(), 1327968000000, "Date constructor passed a String object should parse it"); - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/Date/defaultvalue.js b/JSTests/test262/test/staging/sm/Date/defaultvalue.js index 15ef045152850..862e52cda0d32 100644 --- a/JSTests/test262/test/staging/sm/Date/defaultvalue.js +++ b/JSTests/test262/test/staging/sm/Date/defaultvalue.js @@ -4,24 +4,13 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-Date-shell.js] -flags: - - noStrict description: | - pending + [[DefaultValue]] behavior wrong for Date with overridden valueOf/toString +info: bugzilla.mozilla.org/show_bug.cgi?id=645464 esid: pending ---*/ -var BUGNUMBER = 645464; -var summary = - "[[DefaultValue]] behavior wrong for Date with overridden valueOf/toString"; -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ - -function allTests() +function allTests(Date) { var DS = new Date(2010, 1, 1).toString(); @@ -182,14 +171,5 @@ function allTests() testInOperatorName(); } -allTests(); - -if (typeof createNewGlobal === "function") -{ - Date = createNewGlobal().Date; - allTests(); -} - -/******************************************************************************/ - -print("All tests passed!"); +allTests(Date); +allTests($262.createRealm().global.Date); diff --git a/JSTests/test262/test/staging/sm/Date/dst-offset-caching-1-of-8.js b/JSTests/test262/test/staging/sm/Date/dst-offset-caching-1-of-8.js index debed8c67fa91..1115e8e5f63e5 100644 --- a/JSTests/test262/test/staging/sm/Date/dst-offset-caching-1-of-8.js +++ b/JSTests/test262/test/staging/sm/Date/dst-offset-caching-1-of-8.js @@ -4,9 +4,7 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-Date-shell.js] -flags: - - noStrict +includes: [sm/non262-Date-shell.js] description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/Date/dst-offset-caching-2-of-8.js b/JSTests/test262/test/staging/sm/Date/dst-offset-caching-2-of-8.js index 8f66d5d8c7321..ae11da65109a3 100644 --- a/JSTests/test262/test/staging/sm/Date/dst-offset-caching-2-of-8.js +++ b/JSTests/test262/test/staging/sm/Date/dst-offset-caching-2-of-8.js @@ -4,9 +4,7 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-Date-shell.js] -flags: - - noStrict +includes: [sm/non262-Date-shell.js] description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/Date/dst-offset-caching-3-of-8.js b/JSTests/test262/test/staging/sm/Date/dst-offset-caching-3-of-8.js index 6fbb8fddd7303..7c6dc3466eb40 100644 --- a/JSTests/test262/test/staging/sm/Date/dst-offset-caching-3-of-8.js +++ b/JSTests/test262/test/staging/sm/Date/dst-offset-caching-3-of-8.js @@ -4,9 +4,7 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-Date-shell.js] -flags: - - noStrict +includes: [sm/non262-Date-shell.js] description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/Date/dst-offset-caching-4-of-8.js b/JSTests/test262/test/staging/sm/Date/dst-offset-caching-4-of-8.js index 238c266a8cb80..3904697c40c36 100644 --- a/JSTests/test262/test/staging/sm/Date/dst-offset-caching-4-of-8.js +++ b/JSTests/test262/test/staging/sm/Date/dst-offset-caching-4-of-8.js @@ -4,9 +4,7 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-Date-shell.js] -flags: - - noStrict +includes: [sm/non262-Date-shell.js] description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/Date/dst-offset-caching-5-of-8.js b/JSTests/test262/test/staging/sm/Date/dst-offset-caching-5-of-8.js index a9635c6178231..ab6c5a46679af 100644 --- a/JSTests/test262/test/staging/sm/Date/dst-offset-caching-5-of-8.js +++ b/JSTests/test262/test/staging/sm/Date/dst-offset-caching-5-of-8.js @@ -4,9 +4,7 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-Date-shell.js] -flags: - - noStrict +includes: [sm/non262-Date-shell.js] description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/Date/dst-offset-caching-6-of-8.js b/JSTests/test262/test/staging/sm/Date/dst-offset-caching-6-of-8.js index cd70546526516..fa1e2541033db 100644 --- a/JSTests/test262/test/staging/sm/Date/dst-offset-caching-6-of-8.js +++ b/JSTests/test262/test/staging/sm/Date/dst-offset-caching-6-of-8.js @@ -4,9 +4,7 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-Date-shell.js] -flags: - - noStrict +includes: [sm/non262-Date-shell.js] description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/Date/dst-offset-caching-7-of-8.js b/JSTests/test262/test/staging/sm/Date/dst-offset-caching-7-of-8.js index 4bc20f1f7d664..577b9e11d2da1 100644 --- a/JSTests/test262/test/staging/sm/Date/dst-offset-caching-7-of-8.js +++ b/JSTests/test262/test/staging/sm/Date/dst-offset-caching-7-of-8.js @@ -4,9 +4,7 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-Date-shell.js] -flags: - - noStrict +includes: [sm/non262-Date-shell.js] description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/Date/dst-offset-caching-8-of-8.js b/JSTests/test262/test/staging/sm/Date/dst-offset-caching-8-of-8.js index f80aee50138e5..b9ea2a26df117 100644 --- a/JSTests/test262/test/staging/sm/Date/dst-offset-caching-8-of-8.js +++ b/JSTests/test262/test/staging/sm/Date/dst-offset-caching-8-of-8.js @@ -4,9 +4,7 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-Date-shell.js] -flags: - - noStrict +includes: [sm/non262-Date-shell.js] description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/Date/equality-to-boolean.js b/JSTests/test262/test/staging/sm/Date/equality-to-boolean.js index 8236d9c4dea36..9f7ccbe7bdd5f 100644 --- a/JSTests/test262/test/staging/sm/Date/equality-to-boolean.js +++ b/JSTests/test262/test/staging/sm/Date/equality-to-boolean.js @@ -4,19 +4,10 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-Date-shell.js] -flags: - - noStrict description: | - pending + Test for correct implementation of |Date == boolean| and vice versa esid: pending ---*/ -//----------------------------------------------------------------------------- -print("Test for correct implementation of |Date == boolean| and vice versa"); - -/************** - * BEGIN TEST * - **************/ Date.prototype.toString = function() { return 1; }; Date.prototype.valueOf = function() { return 0; }; @@ -40,7 +31,3 @@ assert.sameValue(new Date == false, false); /* == is symmetric. */ assert.sameValue(true == new Date, true); assert.sameValue(false == new Date, false); - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/Date/fractions.js b/JSTests/test262/test/staging/sm/Date/fractions.js index b0b7cfda66353..07c7d043c5302 100644 --- a/JSTests/test262/test/staging/sm/Date/fractions.js +++ b/JSTests/test262/test/staging/sm/Date/fractions.js @@ -4,26 +4,12 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-Date-shell.js] -flags: - - noStrict description: | - pending + Fractional days, months, years shouldn't trigger asserts +info: bugzilla.mozilla.org/show_bug.cgi?id=771946 esid: pending ---*/ -var BUGNUMBER = 771946; -var summary = "Fractional days, months, years shouldn't trigger asserts"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ new Date(0).setFullYear(1.5); new Date(0).setUTCDate(1.5); new Date(0).setMonth(1.5); - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/Date/makeday-year-month-is-infinity.js b/JSTests/test262/test/staging/sm/Date/makeday-year-month-is-infinity.js index 1c54d0bc4bd32..25da1cbf5c4c1 100644 --- a/JSTests/test262/test/staging/sm/Date/makeday-year-month-is-infinity.js +++ b/JSTests/test262/test/staging/sm/Date/makeday-year-month-is-infinity.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-Date-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/Date/non-iso.js b/JSTests/test262/test/staging/sm/Date/non-iso.js index 27cd16100586a..f633ddce0dbf5 100644 --- a/JSTests/test262/test/staging/sm/Date/non-iso.js +++ b/JSTests/test262/test/staging/sm/Date/non-iso.js @@ -4,26 +4,20 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-Date-shell.js] -flags: - - noStrict description: | pending esid: pending ---*/ + /* * For the sake of cross compatibility with other implementations we * follow the W3C "NOTE-datetime" specification when parsing dates of * the form YYYY-MM-DDTHH:MM:SS save for a few exceptions: months, days, hours * minutes, and seconds may be either one _or_ two digits long, and the 'T' * preceding the time part may be replaced with a space. So, a string like - * "1997-3-8 1:1:1" will parse successfully. See bug: 1203298 + * "1997-3-8 1:1:1" will parse successfully. See bug: 1205298 */ -/************** - * BEGIN TEST * - **************/ - assert.sameValue(new Date("1997-03-08 1:1:1.01").getTime(), new Date("1997-03-08T01:01:01.01").getTime()); assert.sameValue(new Date("1997-03-08 11:19:20").getTime(), @@ -70,7 +64,3 @@ assert.sameValue(new Date("1997-03-08T1:1:01").getTime(), new Date(NaN).getTime()); assert.sameValue(new Date("1997-03-08T1:1:1").getTime(), new Date(NaN).getTime()); - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/Date/prototype-is-not-a-date.js b/JSTests/test262/test/staging/sm/Date/prototype-is-not-a-date.js index 205b8be8aadef..8b71cea6157d3 100644 --- a/JSTests/test262/test/staging/sm/Date/prototype-is-not-a-date.js +++ b/JSTests/test262/test/staging/sm/Date/prototype-is-not-a-date.js @@ -4,18 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-Date-shell.js] -flags: - - noStrict description: | - pending + Date.prototype isn't an instance of Date +info: bugzilla.mozilla.org/show_bug.cgi?id=861219 esid: pending ---*/ -var BUGNUMBER = 861219; -var summary = "Date.prototype isn't an instance of Date"; - -print(BUGNUMBER + ": " + summary); assert.sameValue(Date.prototype instanceof Date, false); assert.sameValue(Date.prototype.__proto__, Object.prototype); - diff --git a/JSTests/test262/test/staging/sm/Date/setTime-argument-shortcircuiting.js b/JSTests/test262/test/staging/sm/Date/setTime-argument-shortcircuiting.js index ff857ab879a4a..887f7173c9828 100644 --- a/JSTests/test262/test/staging/sm/Date/setTime-argument-shortcircuiting.js +++ b/JSTests/test262/test/staging/sm/Date/setTime-argument-shortcircuiting.js @@ -4,19 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-Date-shell.js] -flags: - - noStrict description: | - pending + Test for correct short-circuiting implementation of Date.set methods esid: pending ---*/ -//----------------------------------------------------------------------------- -print("Test for correct short-circuiting implementation of Date.set methods"); -/************** - * BEGIN TEST * - **************/ var global = 0; var date; @@ -147,8 +139,3 @@ assert.sameValue(global, 45); date = new Date(NaN).setYear({valueOf:function(){global = 46}}); assert.sameValue(global, 46); - - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/Date/time-components-negative-zero.js b/JSTests/test262/test/staging/sm/Date/time-components-negative-zero.js index 819f5b9cc8ce4..c670b6e6b28a1 100644 --- a/JSTests/test262/test/staging/sm/Date/time-components-negative-zero.js +++ b/JSTests/test262/test/staging/sm/Date/time-components-negative-zero.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-Date-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/Date/timeclip.js b/JSTests/test262/test/staging/sm/Date/timeclip.js index e3b4ad1bee875..2335243202fd1 100644 --- a/JSTests/test262/test/staging/sm/Date/timeclip.js +++ b/JSTests/test262/test/staging/sm/Date/timeclip.js @@ -4,21 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-Date-shell.js] -flags: - - noStrict description: | - pending + TimeClip behavior for very large numbers +info: bugzilla.mozilla.org/show_bug.cgi?id=747197 esid: pending ---*/ -var BUGNUMBER = 747197; -var summary = "TimeClip behavior for very large numbers"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ function addToLimit(n) { return 8.64e15 + n; } @@ -41,7 +31,3 @@ for (var i = 0, len = times.length; i < len; i++) assert.sameValue(d.getTime(), NaN); assert.sameValue(d.valueOf(), NaN); } - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/Date/to-temporal-instant.js b/JSTests/test262/test/staging/sm/Date/to-temporal-instant.js index 5bd751e4d4763..11c11076d0407 100644 --- a/JSTests/test262/test/staging/sm/Date/to-temporal-instant.js +++ b/JSTests/test262/test/staging/sm/Date/to-temporal-instant.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-Date-shell.js] -flags: - - noStrict features: - Temporal description: | @@ -27,7 +24,7 @@ let minusOne = Temporal.Duration.from({nanoseconds: -1}); //Test invalid date { const invalidDate = new Date(NaN); - assertThrowsInstanceOf(() => invalidDate.toTemporalInstant(), RangeError); + assert.throws(RangeError, () => invalidDate.toTemporalInstant()); } //Test Temporal.Instant properties @@ -62,11 +59,11 @@ let minusOne = Temporal.Duration.from({nanoseconds: -1}); assert.sameValue(max.subtract(one).epochNanoseconds, max.epochNanoseconds - 1n); // Subtracting one from the minimum instant. - assertThrowsInstanceOf(() => min.add(minusOne), RangeError); - assertThrowsInstanceOf(() => min.subtract(one), RangeError); + assert.throws(RangeError, () => min.add(minusOne)); + assert.throws(RangeError, () => min.subtract(one)); // Adding one to the maximum instant. - assertThrowsInstanceOf(() => max.add(one), RangeError); - assertThrowsInstanceOf(() => max.subtract(minusOne), RangeError); + assert.throws(RangeError, () => max.add(one)); + assert.throws(RangeError, () => max.subtract(minusOne)); } diff --git a/JSTests/test262/test/staging/sm/Date/toISOString-01.js b/JSTests/test262/test/staging/sm/Date/toISOString-01.js index fb793dbd905e3..69f004812aad1 100644 --- a/JSTests/test262/test/staging/sm/Date/toISOString-01.js +++ b/JSTests/test262/test/staging/sm/Date/toISOString-01.js @@ -2,22 +2,15 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-Date-shell.js] -flags: - - noStrict description: | - pending + Date.prototype.toISOString returns an invalid ISO-8601 string +info: bugzilla.mozilla.org/show_bug.cgi?id=730831 esid: pending ---*/ + /* Any copyright is dedicated to the Public Domain. * http://creativecommons.org/publicdomain/zero/1.0/ */ -//----------------------------------------------------------------------------- -var BUGNUMBER = 730831; -var summary = 'Date.prototype.toISOString returns an invalid ISO-8601 string'; - -print(BUGNUMBER + ": " + summary); - function iso(t) { return new Date(t).toISOString(); } @@ -49,14 +42,12 @@ var maxDateExtended = utc(+275760, 9, 13, 0, 0, 0, 0); assert.sameValue(maxDateExtended, +8.64e15); assert.sameValue(iso(maxDateExtended - 1), "+275760-09-12T23:59:59.999Z"); assert.sameValue(iso(maxDateExtended ), "+275760-09-13T00:00:00.000Z"); -assertThrowsInstanceOf(() => iso(maxDateExtended + 1), RangeError); +assert.throws(RangeError, () => iso(maxDateExtended + 1)); // Values around minimum date for extended iso format. var minDateExtended = utc(-271821, 4, 20, 0, 0, 0, 0); assert.sameValue(minDateExtended, -8.64e15); -assertThrowsInstanceOf(() => iso(minDateExtended - 1), RangeError); +assert.throws(RangeError, () => iso(minDateExtended - 1)); assert.sameValue(iso(minDateExtended ), "-271821-04-20T00:00:00.000Z"); assert.sameValue(iso(minDateExtended + 1), "-271821-04-20T00:00:00.001Z"); - - diff --git a/JSTests/test262/test/staging/sm/Date/toISOString.js b/JSTests/test262/test/staging/sm/Date/toISOString.js index abb4aa1950038..6dc41a78230af 100644 --- a/JSTests/test262/test/staging/sm/Date/toISOString.js +++ b/JSTests/test262/test/staging/sm/Date/toISOString.js @@ -4,27 +4,20 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-Date-shell.js] -flags: - - noStrict description: | pending esid: pending ---*/ + function throwsRangeError(t) { - try { - var date = new Date(); - date.setTime(t); - var r = date.toISOString(); - throw new Error("toISOString didn't throw, instead returned " + r); - } catch (err) { - assert.sameValue(err instanceof RangeError, true, 'wrong error: ' + err); - return; - } - assert.sameValue(0, 1, 'not good, nyan, nyan'); + var date = new Date(); + date.setTime(t); + + assert.throws(RangeError, function() { + date.toISOString(); + }); } throwsRangeError(Infinity); throwsRangeError(-Infinity); throwsRangeError(NaN); - diff --git a/JSTests/test262/test/staging/sm/Date/toJSON-01.js b/JSTests/test262/test/staging/sm/Date/toJSON-01.js index 144d7c7a27c9e..67d9863ad3c76 100644 --- a/JSTests/test262/test/staging/sm/Date/toJSON-01.js +++ b/JSTests/test262/test/staging/sm/Date/toJSON-01.js @@ -4,23 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-Date-shell.js] -flags: - - noStrict description: | - pending + Date.prototype.toJSON isn't to spec +info: bugzilla.mozilla.org/show_bug.cgi?id=584811 esid: pending ---*/ -var gTestfile = 'toJSON-01.js'; -//----------------------------------------------------------------------------- -var BUGNUMBER = 584811; -var summary = "Date.prototype.toJSON isn't to spec"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ var called; @@ -41,27 +29,13 @@ assert.sameValue(dateToJSON.length, 1); * 1. Let O be the result of calling ToObject, giving it the this value as its * argument. */ -try -{ +assert.throws(TypeError, function() { dateToJSON.call(null); - throw new Error("should have thrown a TypeError"); -} -catch (e) -{ - assert.sameValue(e instanceof TypeError, true, - "ToObject throws TypeError for null/undefined"); -} +}, "ToObject throws TypeError for null"); -try -{ +assert.throws(TypeError, function() { dateToJSON.call(undefined); - throw new Error("should have thrown a TypeError"); -} -catch (e) -{ - assert.sameValue(e instanceof TypeError, true, - "ToObject throws TypeError for null/undefined"); -} +}, "ToObject throws TypeError for undefined"); /* @@ -134,19 +108,13 @@ assert.sameValue(dateToJSON.call({ valueOf: function() { called = true; return { NaN); assert.sameValue(asserted, true); -try -{ +assert.throws(TypeError, function() { var r = dateToJSON.call({ valueOf: null, toString: null, get toISOString() { throw new Error("shouldn't have been gotten"); } }); - throw new Error("didn't throw, returned: " + r); -} -catch (e) -{ - assert.sameValue(e instanceof TypeError, true, "bad exception: " + e); -} +}); /* 3. If tv is a Number and is not finite, return null. */ @@ -178,45 +146,21 @@ catch (e) /* 5. If IsCallable(toISO) is false, throw a TypeError exception. */ -try -{ - var r = dateToJSON.call({ toISOString: null }); - throw new Error("didn't throw, returned: " + r); -} -catch (e) -{ - assert.sameValue(e instanceof TypeError, true, "bad exception: " + e); -} +assert.throws(TypeError, function() { + dateToJSON.call({ toISOString: null }); +}); -try -{ - var r = dateToJSON.call({ toISOString: undefined }); - throw new Error("didn't throw, returned: " + r); -} -catch (e) -{ - assert.sameValue(e instanceof TypeError, true, "bad exception: " + e); -} +assert.throws(TypeError, function() { + dateToJSON.call({ toISOString: undefined }); +}); -try -{ - var r = dateToJSON.call({ toISOString: "oogabooga" }); - throw new Error("didn't throw, returned: " + r); -} -catch (e) -{ - assert.sameValue(e instanceof TypeError, true, "bad exception: " + e); -} +assert.throws(TypeError, function() { + dateToJSON.call({ toISOString: "oogabooga" }); +}); -try -{ - var r = dateToJSON.call({ toISOString: Math.PI }); - throw new Error("didn't throw, returned: " + r); -} -catch (e) -{ - assert.sameValue(e instanceof TypeError, true, "bad exception: " + e); -} +assert.throws(TypeError, function() { + dateToJSON.call({ toISOString: Math.PI }); +}); /* @@ -238,8 +182,3 @@ var obj = {}; called = false; assert.sameValue(dateToJSON.call(o), obj, "should have gotten obj back"); assert.sameValue(called, true); - - -/******************************************************************************/ - -print("All tests passed!"); diff --git a/JSTests/test262/test/staging/sm/Date/toPrimitive.js b/JSTests/test262/test/staging/sm/Date/toPrimitive.js index 9028af0c2d564..02d9ced794676 100644 --- a/JSTests/test262/test/staging/sm/Date/toPrimitive.js +++ b/JSTests/test262/test/staging/sm/Date/toPrimitive.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-Date-shell.js] -flags: - - noStrict description: | pending esid: pending @@ -13,8 +10,8 @@ esid: pending // The toPrimitive method throws if the this value isn't an object. var toPrimitive = Date.prototype[Symbol.toPrimitive]; -assertThrowsInstanceOf(() => toPrimitive.call(undefined, "default"), TypeError); -assertThrowsInstanceOf(() => toPrimitive.call(3, "default"), TypeError); +assert.throws(TypeError, () => toPrimitive.call(undefined, "default")); +assert.throws(TypeError, () => toPrimitive.call(3, "default")); // It doesn't have to be a Date object, though. var obj = { @@ -26,11 +23,11 @@ assert.sameValue(toPrimitive.call(obj, "string"), "str"); assert.sameValue(toPrimitive.call(obj, "default"), "str"); // It throws if the hint argument is missing or not one of the three allowed values. -assertThrowsInstanceOf(() => toPrimitive.call(obj), TypeError); -assertThrowsInstanceOf(() => toPrimitive.call(obj, undefined), TypeError); -assertThrowsInstanceOf(() => toPrimitive.call(obj, "boolean"), TypeError); -assertThrowsInstanceOf(() => toPrimitive.call(obj, ["number"]), TypeError); -assertThrowsInstanceOf(() => toPrimitive.call(obj, {toString() { throw "FAIL"; }}), TypeError); +assert.throws(TypeError, () => toPrimitive.call(obj)); +assert.throws(TypeError, () => toPrimitive.call(obj, undefined)); +assert.throws(TypeError, () => toPrimitive.call(obj, "boolean")); +assert.throws(TypeError, () => toPrimitive.call(obj, ["number"])); +assert.throws(TypeError, () => toPrimitive.call(obj, {toString() { throw "FAIL"; }})); // The next few tests cover the OrdinaryToPrimitive algorithm, specified in // ES6 7.1.1 ToPrimitive(input [, PreferredType]). @@ -61,7 +58,7 @@ assert.sameValue(dateobj[Symbol.toPrimitive]("number"), 15); // If neither is callable, it throws a TypeError. Date.prototype.toString = "ponies"; -assertThrowsInstanceOf(() => dateobj[Symbol.toPrimitive]("default"), TypeError); +assert.throws(TypeError, () => dateobj[Symbol.toPrimitive]("default")); // Surface features. assert.sameValue(toPrimitive.name, "[Symbol.toPrimitive]"); diff --git a/JSTests/test262/test/staging/sm/Date/toString-generic.js b/JSTests/test262/test/staging/sm/Date/toString-generic.js index 1308cedfa5bc3..220bb89c164e6 100644 --- a/JSTests/test262/test/staging/sm/Date/toString-generic.js +++ b/JSTests/test262/test/staging/sm/Date/toString-generic.js @@ -2,23 +2,16 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-Date-shell.js] -flags: - - noStrict description: | - pending + Date.prototype.toString is a generic function +info: bugzilla.mozilla.org/show_bug.cgi?id=861219 esid: pending ---*/ -var BUGNUMBER = 861219; -var summary = 'Date.prototype.toString is a generic function'; // Revised in ECMA 2018, Date.prototype.toString is no longer generic (bug 1381433). -print(BUGNUMBER + ": " + summary); - for (var thisValue of [{}, [], /foo/, Date.prototype, new Proxy(new Date(), {})]) - assertThrowsInstanceOf(() => Date.prototype.toString.call(thisValue), TypeError); + assert.throws(TypeError, () => Date.prototype.toString.call(thisValue)); for (var prim of [null, undefined, 0, 1.2, true, false, "foo", Symbol.iterator]) - assertThrowsInstanceOf(() => Date.prototype.toString.call(prim), TypeError); - + assert.throws(TypeError, () => Date.prototype.toString.call(prim)); diff --git a/JSTests/test262/test/staging/sm/Date/two-digit-years.js b/JSTests/test262/test/staging/sm/Date/two-digit-years.js index 3adeaf1441a3d..744de0515fe1d 100644 --- a/JSTests/test262/test/staging/sm/Date/two-digit-years.js +++ b/JSTests/test262/test/staging/sm/Date/two-digit-years.js @@ -4,23 +4,17 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-Date-shell.js] -flags: - - noStrict description: | pending esid: pending ---*/ + /* * For the sake of cross compatibility with other implementations we * implement date parsing heuristics which support single and double * digit years. See bug: 1265136 */ -/************** - * BEGIN TEST * - **************/ - for (let year of Array(100).keys()) { for (let month of Array(12).keys()) { for (let day of Array(31).keys()) { @@ -70,7 +64,3 @@ for (let year of Array(1000).keys()) { assert.sameValue(new Date("may 1999 1999").getTime(), new Date(NaN).getTime()); assert.sameValue(new Date("may 0 0").getTime(), new Date(NaN).getTime()); - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/Error/AggregateError.js b/JSTests/test262/test/staging/sm/Error/AggregateError.js index 8defe9194d772..bcf0569d560b5 100644 --- a/JSTests/test262/test/staging/sm/Error/AggregateError.js +++ b/JSTests/test262/test/staging/sm/Error/AggregateError.js @@ -2,9 +2,7 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, compareArray.js] -flags: - - noStrict +includes: [compareArray.js] description: | pending esid: pending @@ -19,8 +17,8 @@ assert.sameValue(AggregateError.prototype.name, "AggregateError"); assert.sameValue(AggregateError.prototype.message, ""); // The |errors| argument is mandatory. -assertThrowsInstanceOf(() => new AggregateError(), TypeError); -assertThrowsInstanceOf(() => AggregateError(), TypeError); +assert.throws(TypeError, () => new AggregateError()); +assert.throws(TypeError, () => AggregateError()); // The .errors data property is an array object. { @@ -74,7 +72,7 @@ assertThrowsInstanceOf(() => AggregateError(), TypeError); assert.sameValue(writable, true); assert.sameValue(value.length, 0); - const g = createNewGlobal(); + const g = $262.createRealm().global; let obj = {}; let errors = new g.AggregateError([obj]).errors; diff --git a/JSTests/test262/test/staging/sm/Error/constructor-ordering.js b/JSTests/test262/test/staging/sm/Error/constructor-ordering.js index 007bfbced9fed..96be1e2bbeda3 100644 --- a/JSTests/test262/test/staging/sm/Error/constructor-ordering.js +++ b/JSTests/test262/test/staging/sm/Error/constructor-ordering.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/Error/constructor-proto.js b/JSTests/test262/test/staging/sm/Error/constructor-proto.js index f45db95a6aa6e..8893d43ebd8f4 100644 --- a/JSTests/test262/test/staging/sm/Error/constructor-proto.js +++ b/JSTests/test262/test/staging/sm/Error/constructor-proto.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/Error/isError.js b/JSTests/test262/test/staging/sm/Error/isError.js index d3c621e4a3de4..c0cde98eb6794 100644 --- a/JSTests/test262/test/staging/sm/Error/isError.js +++ b/JSTests/test262/test/staging/sm/Error/isError.js @@ -4,9 +4,6 @@ /*--- features: - Error.isError -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/Error/prototype-properties.js b/JSTests/test262/test/staging/sm/Error/prototype-properties.js index b9ca0ab2064dd..983b3885f38f1 100644 --- a/JSTests/test262/test/staging/sm/Error/prototype-properties.js +++ b/JSTests/test262/test/staging/sm/Error/prototype-properties.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/Error/prototype.js b/JSTests/test262/test/staging/sm/Error/prototype.js index cf1f1bb6462f4..a590505c30f8b 100644 --- a/JSTests/test262/test/staging/sm/Error/prototype.js +++ b/JSTests/test262/test/staging/sm/Error/prototype.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/Exceptions/error-expando-reconfigure.js b/JSTests/test262/test/staging/sm/Exceptions/error-expando-reconfigure.js index c5007f11e6e0e..18dd714fb504e 100644 --- a/JSTests/test262/test/staging/sm/Exceptions/error-expando-reconfigure.js +++ b/JSTests/test262/test/staging/sm/Exceptions/error-expando-reconfigure.js @@ -4,30 +4,12 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Reconfiguring the first expando property added to an Error object shouldn't assert +info: bugzilla.mozilla.org/show_bug.cgi?id=961494 esid: pending ---*/ -var gTestfile = "error-expando-reconfigure.js" -//----------------------------------------------------------------------------- -var BUGNUMBER = 961494; -var summary = - "Reconfiguring the first expando property added to an Error object " + - "shouldn't assert"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ var err = new Error(); // no message argument => no err.message property err.expando = 17; Object.defineProperty(err, "expando", { configurable: false }); - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/Exceptions/error-property-enumerability.js b/JSTests/test262/test/staging/sm/Exceptions/error-property-enumerability.js index 8d4d968548e14..804cb343a7da2 100644 --- a/JSTests/test262/test/staging/sm/Exceptions/error-property-enumerability.js +++ b/JSTests/test262/test/staging/sm/Exceptions/error-property-enumerability.js @@ -4,13 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending ---*/ + var errors = ["Error", "EvalError", "RangeError", "ReferenceError", "SyntaxError", "TypeError", "URIError"]; @@ -34,4 +32,3 @@ for (var i = 0; i < errors.length; i++) { assert.sameValue(!!desc, true, "new " + errors[i] + "(...).message should exist"); assert.sameValue((desc || {}).enumerable, false, "new " + errors[i] + "(...).message should not be enumerable"); } - diff --git a/JSTests/test262/test/staging/sm/Function/10.2.1.1.6.js b/JSTests/test262/test/staging/sm/Function/10.2.1.1.6.js index a2ecddb8ff3d4..cefaea643c04e 100644 --- a/JSTests/test262/test/staging/sm/Function/10.2.1.1.6.js +++ b/JSTests/test262/test/staging/sm/Function/10.2.1.1.6.js @@ -4,7 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | diff --git a/JSTests/test262/test/staging/sm/Function/15.3.4.3-01.js b/JSTests/test262/test/staging/sm/Function/15.3.4.3-01.js index 5062dd5ebe49d..5365862852e5b 100644 --- a/JSTests/test262/test/staging/sm/Function/15.3.4.3-01.js +++ b/JSTests/test262/test/staging/sm/Function/15.3.4.3-01.js @@ -4,34 +4,13 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | - pending + Function.prototype.apply should accept any arraylike arguments +info: bugzilla.mozilla.org/show_bug.cgi?id=562448 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 562448; -var summary = 'Function.prototype.apply should accept any arraylike arguments'; -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ - -function expectTypeError(fun, msg) -{ - try - { - fun(); - assert.sameValue(true, false, "should have thrown a TypeError"); - } - catch (e) - { - assert.sameValue(e instanceof TypeError, true, msg + "; instead threw " + e); - } -} function fun() { } @@ -48,7 +27,7 @@ for (var i = 0, sz = nonfuns.length; i < sz; i++) }; var msg = "expected TypeError calling Function.prototype.apply with uncallable this"; - expectTypeError(f, msg); + assert.throws(TypeError, f, msg); } @@ -132,7 +111,7 @@ for (var i = 0, sz = nonobjs.length; i < sz; i++) { var f = function() { fun.apply(thisObj, nonobjs[i]); }; var msg = "should have thrown a TypeError with non-object arguments"; - expectTypeError(f, msg); + assert.throws(TypeError, f, msg); } @@ -242,7 +221,3 @@ assert.sameValue(res[3], 8, "wrong ret[0]"); strictArgsAsArray.apply(17, argsAccessors); assert.sameValue(seenThis, 17, "saw wrong this"); - -/******************************************************************************/ - -print("All tests passed!"); diff --git a/JSTests/test262/test/staging/sm/Function/Function-prototype.js b/JSTests/test262/test/staging/sm/Function/Function-prototype.js index c271610ce1201..bd07e3ab9e304 100644 --- a/JSTests/test262/test/staging/sm/Function/Function-prototype.js +++ b/JSTests/test262/test/staging/sm/Function/Function-prototype.js @@ -2,19 +2,16 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, deepEqual.js] -flags: - - noStrict +includes: [propertyHelper.js] description: | pending esid: pending ---*/ -var desc = Object.getOwnPropertyDescriptor(Function.prototype, "length"); -assert.deepEqual(desc, + +verifyProperty(Function.prototype, "length", {value: 0, writable: false, enumerable: false, configurable: true}); assert.sameValue(Function.prototype.prototype, undefined); assert.sameValue(Function.prototype.callee, undefined); -assertThrowsInstanceOf(() => Function.prototype.caller, TypeError); -assertThrowsInstanceOf(() => Function.prototype.arguments, TypeError); - +assert.throws(TypeError, () => Function.prototype.caller); +assert.throws(TypeError, () => Function.prototype.arguments); diff --git a/JSTests/test262/test/staging/sm/Function/Function-with-eval.js b/JSTests/test262/test/staging/sm/Function/Function-with-eval.js index 2032a4d816058..108a1fd1a9b6c 100644 --- a/JSTests/test262/test/staging/sm/Function/Function-with-eval.js +++ b/JSTests/test262/test/staging/sm/Function/Function-with-eval.js @@ -4,13 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending ---*/ + assert.sameValue(new Function( "eval('var foo = 915805');" + "return foo;" @@ -24,7 +22,3 @@ assert.sameValue(new Function( "return foo;" )()(), 915805); - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/Function/arguments-caller-callee.js b/JSTests/test262/test/staging/sm/Function/arguments-caller-callee.js index 7322b284f4d0c..a7ab230225e4e 100644 --- a/JSTests/test262/test/staging/sm/Function/arguments-caller-callee.js +++ b/JSTests/test262/test/staging/sm/Function/arguments-caller-callee.js @@ -4,44 +4,19 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | - pending + arguments.caller and arguments.callee are poison pills in ES5, later changed in ES2017 to only poison pill arguments.callee. +info: bugzilla.mozilla.org/show_bug.cgi?id=514563 esid: pending ---*/ -var gTestfile = 'arguments-caller-callee.js'; -var BUGNUMBER = 514563; -var summary = "arguments.caller and arguments.callee are poison pills in ES5, " + - "later changed in ES2017 to only poison pill arguments.callee."; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ // behavior -function expectTypeError(fun) -{ - try - { - fun(); - throw new Error("didn't throw"); - } - catch (e) - { - assert.sameValue(e instanceof TypeError, true, - "expected TypeError calling function" + - ("name" in fun ? " " + fun.name : "") + ", instead got: " + e); - } -} - function bar() { "use strict"; return arguments; } assert.sameValue(bar().caller, undefined); // No error when accessing arguments.caller in ES2017+ -expectTypeError(function barCallee() { bar().callee; }); +assert.throws(TypeError, function barCallee() { bar().callee; }); function baz() { return arguments; } assert.sameValue(baz().callee, baz); @@ -62,8 +37,3 @@ assert.sameValue("get" in argsCallee, true); assert.sameValue("set" in argsCallee, true); assert.sameValue(argsCallee.get, canonicalTTE); assert.sameValue(argsCallee.set, canonicalTTE); - - -/******************************************************************************/ - -print("All tests passed!"); diff --git a/JSTests/test262/test/staging/sm/Function/arguments-extra-property.js b/JSTests/test262/test/staging/sm/Function/arguments-extra-property.js index 6f564004bf900..56d942511834b 100644 --- a/JSTests/test262/test/staging/sm/Function/arguments-extra-property.js +++ b/JSTests/test262/test/staging/sm/Function/arguments-extra-property.js @@ -2,17 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + GetElem for modified arguments shouldn't be optimized to get original argument. +info: bugzilla.mozilla.org/show_bug.cgi?id=1263811 esid: pending ---*/ -var BUGNUMBER = 1263811; -var summary = "GetElem for modified arguments shouldn't be optimized to get original argument."; - -print(BUGNUMBER + ": " + summary); function testModifyFirst() { function f() { @@ -39,4 +33,3 @@ function testModifyLater() { f(10, 20); } testModifyLater(); - diff --git a/JSTests/test262/test/staging/sm/Function/arguments-iterator.js b/JSTests/test262/test/staging/sm/Function/arguments-iterator.js index b4af4b63e8c02..c1c9b45d7430e 100644 --- a/JSTests/test262/test/staging/sm/Function/arguments-iterator.js +++ b/JSTests/test262/test/staging/sm/Function/arguments-iterator.js @@ -2,17 +2,14 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, deepEqual.js] +includes: [deepEqual.js] flags: - noStrict description: | - pending + Implement arguments[@@iterator]. +info: bugzilla.mozilla.org/show_bug.cgi?id=992617 esid: pending ---*/ -var BUGNUMBER = 992617; -var summary = "Implement arguments[@@iterator]."; - -print(BUGNUMBER + ": " + summary); // MappedArgumentsObject let mapped = [ @@ -86,7 +83,7 @@ for (let f of mapped) { f(10, 20, 30); } -var g1 = createNewGlobal(); +var g1 = $262.createRealm().global; assert.sameValue(g1.eval(` function f(a, b, c) { return arguments[Symbol.iterator].name; @@ -166,11 +163,10 @@ for (let f of unmapped) { f([10], 20, 30); } -var g2 = createNewGlobal(); +var g2 = $262.createRealm().global; assert.sameValue(g2.eval(` function f([a], b, c) { return arguments[Symbol.iterator].name; } f([1], 2, 3); `), "values"); - diff --git a/JSTests/test262/test/staging/sm/Function/arguments-parameter-shadowing.js b/JSTests/test262/test/staging/sm/Function/arguments-parameter-shadowing.js index fd8c256d602e3..00033f3a03f09 100644 --- a/JSTests/test262/test/staging/sm/Function/arguments-parameter-shadowing.js +++ b/JSTests/test262/test/staging/sm/Function/arguments-parameter-shadowing.js @@ -2,7 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | diff --git a/JSTests/test262/test/staging/sm/Function/arguments-property-attributes.js b/JSTests/test262/test/staging/sm/Function/arguments-property-attributes.js index e9343cdcb6cb4..09b60399948fd 100644 --- a/JSTests/test262/test/staging/sm/Function/arguments-property-attributes.js +++ b/JSTests/test262/test/staging/sm/Function/arguments-property-attributes.js @@ -4,22 +4,13 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | - pending + Attributes for properties of arguments objects +info: bugzilla.mozilla.org/show_bug.cgi?id=516255 esid: pending ---*/ -var gTestfile = 'arguments-property-attributes.js'; -var BUGNUMBER = 516255; -var summary = "Attributes for properties of arguments objects"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ // normal @@ -96,8 +87,3 @@ assert.sameValue(strictLengthDesc.value, 2); assert.sameValue(strictLengthDesc.writable, true); assert.sameValue(strictLengthDesc.enumerable, false); assert.sameValue(strictLengthDesc.configurable, true); - - -/******************************************************************************/ - -print("All tests passed!"); diff --git a/JSTests/test262/test/staging/sm/Function/arrow-has-duplicated.js b/JSTests/test262/test/staging/sm/Function/arrow-has-duplicated.js index fb4709e33337e..eff4cdf68aadd 100644 --- a/JSTests/test262/test/staging/sm/Function/arrow-has-duplicated.js +++ b/JSTests/test262/test/staging/sm/Function/arrow-has-duplicated.js @@ -2,7 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | @@ -14,12 +13,12 @@ function f0(a, a) { } // SyntaxError should be thrown if arrow function has duplicated name. -assertThrowsInstanceOf(() => eval(` +assert.throws(SyntaxError, () => eval(` (a, a) => { }; -`), SyntaxError); -assertThrowsInstanceOf(() => eval(` +`)); +assert.throws(SyntaxError, () => eval(` (a, ...a) => { }; -`), SyntaxError); +`)); diff --git a/JSTests/test262/test/staging/sm/Function/bound-length-and-name.js b/JSTests/test262/test/staging/sm/Function/bound-length-and-name.js index eacc2d3d37f64..afc9961e2e11e 100644 --- a/JSTests/test262/test/staging/sm/Function/bound-length-and-name.js +++ b/JSTests/test262/test/staging/sm/Function/bound-length-and-name.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/Function/bound-non-constructable.js b/JSTests/test262/test/staging/sm/Function/bound-non-constructable.js index 69de3f9d4e437..bbe23b6609d6d 100644 --- a/JSTests/test262/test/staging/sm/Function/bound-non-constructable.js +++ b/JSTests/test262/test/staging/sm/Function/bound-non-constructable.js @@ -2,13 +2,12 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, deepEqual.js] -flags: - - noStrict +includes: [compareArray.js] description: | pending esid: pending ---*/ + var objects = [ Math.sin.bind(null), new Proxy(Math.sin.bind(null), {}), @@ -17,11 +16,11 @@ var objects = [ for (var obj of objects) { // Target is not constructable, so a new array should be created internally. - assert.deepEqual(Array.from.call(obj, [1, 2, 3]), [1, 2, 3]); - assert.deepEqual(Array.of.call(obj, 1, 2, 3), [1, 2, 3]); + assert.compareArray(Array.from.call(obj, [1, 2, 3]), [1, 2, 3]); + assert.compareArray(Array.of.call(obj, 1, 2, 3), [1, 2, 3]); // Make sure they are callable, but not constructable. obj(); - assertThrowsInstanceOf(() => new obj, TypeError); + assert.throws(TypeError, () => new obj); } diff --git a/JSTests/test262/test/staging/sm/Function/builtin-no-construct.js b/JSTests/test262/test/staging/sm/Function/builtin-no-construct.js index 64bfde5bd56dc..9b32ff399b13e 100644 --- a/JSTests/test262/test/staging/sm/Function/builtin-no-construct.js +++ b/JSTests/test262/test/staging/sm/Function/builtin-no-construct.js @@ -4,20 +4,15 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending ---*/ + function checkMethod(method) { - try { + assert.throws(TypeError, function() { new method(); - assert.sameValue(0, 1, "not reached " + method); - } catch (e) { - assert.sameValue(e.message.indexOf(" is not a constructor") === -1, false); - } + }); } function checkMethods(proto) { @@ -55,4 +50,3 @@ var builtin_funcs = [ for (var i = 0; i < builtin_funcs.length; i++) { checkMethod(builtin_funcs[i]); } - diff --git a/JSTests/test262/test/staging/sm/Function/builtin-no-prototype.js b/JSTests/test262/test/staging/sm/Function/builtin-no-prototype.js index 2b2bae4da64d1..9a059fabada33 100644 --- a/JSTests/test262/test/staging/sm/Function/builtin-no-prototype.js +++ b/JSTests/test262/test/staging/sm/Function/builtin-no-prototype.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/Function/configurable-length-builtins.js b/JSTests/test262/test/staging/sm/Function/configurable-length-builtins.js index 5ec0880356b46..761b0888e9b20 100644 --- a/JSTests/test262/test/staging/sm/Function/configurable-length-builtins.js +++ b/JSTests/test262/test/staging/sm/Function/configurable-length-builtins.js @@ -4,7 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | diff --git a/JSTests/test262/test/staging/sm/Function/configurable-length.js b/JSTests/test262/test/staging/sm/Function/configurable-length.js index beb68da86d0a6..9a7345d74d920 100644 --- a/JSTests/test262/test/staging/sm/Function/configurable-length.js +++ b/JSTests/test262/test/staging/sm/Function/configurable-length.js @@ -4,7 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | diff --git a/JSTests/test262/test/staging/sm/Function/constructor-binding.js b/JSTests/test262/test/staging/sm/Function/constructor-binding.js index c05bc1f82f047..c5db2e0405c6f 100644 --- a/JSTests/test262/test/staging/sm/Function/constructor-binding.js +++ b/JSTests/test262/test/staging/sm/Function/constructor-binding.js @@ -2,19 +2,12 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + A function created by Function constructor shouldn't have anonymous binding +info: bugzilla.mozilla.org/show_bug.cgi?id=636635 esid: pending ---*/ -var BUGNUMBER = 636635; -var summary = "A function created by Function constructor shouldn't have anonymous binding"; - -print(BUGNUMBER + ": " + summary); assert.sameValue(new Function("return typeof anonymous")(), "undefined"); assert.sameValue(new Function("return function() { return typeof anonymous; }")()(), "undefined"); assert.sameValue(new Function("return function() { eval(''); return typeof anonymous; }")()(), "undefined"); - diff --git a/JSTests/test262/test/staging/sm/Function/create-function-parse-before-getprototype.js b/JSTests/test262/test/staging/sm/Function/create-function-parse-before-getprototype.js index 7c5e9474d1b82..cbd422a4da88f 100644 --- a/JSTests/test262/test/staging/sm/Function/create-function-parse-before-getprototype.js +++ b/JSTests/test262/test/staging/sm/Function/create-function-parse-before-getprototype.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending @@ -18,9 +15,9 @@ var newTarget = Object.defineProperty(function(){}.bind(), "prototype", { } }); -assertThrowsInstanceOf(() => { +assert.throws(SyntaxError, () => { Reflect.construct(Function, ["@error"], newTarget); -}, SyntaxError); +}); assert.sameValue(getProtoCalled, false); diff --git a/JSTests/test262/test/staging/sm/Function/function-bind.js b/JSTests/test262/test/staging/sm/Function/function-bind.js index d796ae515e29c..65078c53cf515 100644 --- a/JSTests/test262/test/staging/sm/Function/function-bind.js +++ b/JSTests/test262/test/staging/sm/Function/function-bind.js @@ -4,22 +4,14 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js, nativeFunctionMatcher.js] +includes: [nativeFunctionMatcher.js] flags: - noStrict description: | - pending + Function.prototype.bind +info: bugzilla.mozilla.org/show_bug.cgi?id=429507 esid: pending ---*/ -var gTestfile = 'function-bind.js'; -var BUGNUMBER = 429507; -var summary = "ES5: Function.prototype.bind"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ // ad-hoc testing @@ -47,27 +39,22 @@ assert.sameValue(strictReturnThis.bind("foopy")(), "foopy"); // rigorous, step-by-step testing -function expectThrowTypeError(fun) -{ - assertThrowsInstanceOf(fun, TypeError); -} - /* * 1. Let Target be the this value. * 2. If IsCallable(Target) is false, throw a TypeError exception. */ -expectThrowTypeError(function() { bind.call(null); }); -expectThrowTypeError(function() { bind.call(undefined); }); -expectThrowTypeError(function() { bind.call(NaN); }); -expectThrowTypeError(function() { bind.call(0); }); -expectThrowTypeError(function() { bind.call(-0); }); -expectThrowTypeError(function() { bind.call(17); }); -expectThrowTypeError(function() { bind.call(42); }); -expectThrowTypeError(function() { bind.call("foobar"); }); -expectThrowTypeError(function() { bind.call(true); }); -expectThrowTypeError(function() { bind.call(false); }); -expectThrowTypeError(function() { bind.call([]); }); -expectThrowTypeError(function() { bind.call({}); }); +assert.throws(TypeError, function() { bind.call(null); }); +assert.throws(TypeError, function() { bind.call(undefined); }); +assert.throws(TypeError, function() { bind.call(NaN); }); +assert.throws(TypeError, function() { bind.call(0); }); +assert.throws(TypeError, function() { bind.call(-0); }); +assert.throws(TypeError, function() { bind.call(17); }); +assert.throws(TypeError, function() { bind.call(42); }); +assert.throws(TypeError, function() { bind.call("foobar"); }); +assert.throws(TypeError, function() { bind.call(true); }); +assert.throws(TypeError, function() { bind.call(false); }); +assert.throws(TypeError, function() { bind.call([]); }); +assert.throws(TypeError, function() { bind.call({}); }); /* @@ -194,11 +181,9 @@ assert.sameValue(one.bind(null, 1, 2).length, 0); // retch var br = Object.create(null, { length: { value: 0 } }); -try -{ - br = bind.call(/a/g, /a/g, "aaaa"); -} -catch (e) { /* nothing */ } +assert.throws(TypeError, function() { + bind.call(/a/g, /a/g, "aaaa"); +}); assert.sameValue(br.length, 0); @@ -254,20 +239,15 @@ function testBound(fun) assert.sameValue(Object.getOwnPropertyDescriptor(boundf, "caller"), undefined, "should be no caller property"); - expectThrowTypeError(function() { return boundf.arguments; }); - expectThrowTypeError(function() { return boundf.caller; }); + assert.throws(TypeError, function() { return boundf.arguments; }); + assert.throws(TypeError, function() { return boundf.caller; }); } testBound(strict); testBound(nonstrict); -assertNativeFunction((function unbound(){"body"}).bind()); +assertNativeFunction(function unbound(){"body"}.bind()); /* 22. Return F. */ var passim = function p(){}.bind(1); assert.sameValue(typeof passim, "function"); - - -/******************************************************************************/ - -print("All tests passed!"); diff --git a/JSTests/test262/test/staging/sm/Function/function-call.js b/JSTests/test262/test/staging/sm/Function/function-call.js index ff2a42ee014c2..5cf0fc9ba5b52 100644 --- a/JSTests/test262/test/staging/sm/Function/function-call.js +++ b/JSTests/test262/test/staging/sm/Function/function-call.js @@ -4,34 +4,13 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | - pending + Function.prototype.call +info: bugzilla.mozilla.org/show_bug.cgi?id=575535 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 575535; -var summary = 'Function.prototype.call'; -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ - -function expectTypeError(fun, msg) -{ - try - { - fun(); - assert.sameValue(true, false, "should have thrown a TypeError"); - } - catch (e) - { - assert.sameValue(e instanceof TypeError, true, msg + "; instead threw " + e); - } -} function fun() { } @@ -50,7 +29,7 @@ for (var i = 0, sz = nonfuns.length; i < sz; i++) }; var msg = "expected TypeError calling Function.prototype.call with uncallable this"; - expectTypeError(f, msg); + assert.throws(TypeError, f, msg); } @@ -130,8 +109,3 @@ strictSome.call("foo", obj); seenThis = obj; strictSome.call(obj, obj); - - -/******************************************************************************/ - -print("All tests passed!"); diff --git a/JSTests/test262/test/staging/sm/Function/function-caller-restrictions.js b/JSTests/test262/test/staging/sm/Function/function-caller-restrictions.js index 86be3bd09f683..8d5bc7703893a 100644 --- a/JSTests/test262/test/staging/sm/Function/function-caller-restrictions.js +++ b/JSTests/test262/test/staging/sm/Function/function-caller-restrictions.js @@ -2,13 +2,13 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | pending esid: pending ---*/ + // Function#caller restrictions as proposed by // https://github.com/claudepache/es-legacy-function-reflection/ @@ -33,7 +33,3 @@ assert.sameValue([0].map(caller)[0], null); assert.sameValue(function*() { yield caller(); }().next().value, null); - - -if (typeof assert.sameValue === "function") { -} diff --git a/JSTests/test262/test/staging/sm/Function/function-caller.js b/JSTests/test262/test/staging/sm/Function/function-caller.js index 1315470ae1a50..e89729f51e02e 100644 --- a/JSTests/test262/test/staging/sm/Function/function-caller.js +++ b/JSTests/test262/test/staging/sm/Function/function-caller.js @@ -4,47 +4,14 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Function.prototype.caller should throw a TypeError for strict-mode functions +info: bugzilla.mozilla.org/show_bug.cgi?id=514581 esid: pending ---*/ -var gTestfile = 'function-caller.js'; -var BUGNUMBER = 514581; -var summary = "Function.prototype.caller should throw a TypeError for " + - "strict-mode functions"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ - -// behavior - -function expectTypeError(fun) -{ - try - { - fun(); - throw new Error("didn't throw"); - } - catch (e) - { - assert.sameValue(e instanceof TypeError, true, - "expected TypeError calling function" + - ("name" in fun ? " " + fun.name : "") + ", instead got: " + e); - } -} function bar() { "use strict"; } -expectTypeError(function barCaller() { bar.caller; }); +assert.throws(TypeError, function barCaller() { bar.caller; }); function baz() { "use strict"; return 17; } -expectTypeError(function bazCaller() { baz.caller; }); - -/******************************************************************************/ - -print("All tests passed!"); +assert.throws(TypeError, function bazCaller() { baz.caller; }); diff --git a/JSTests/test262/test/staging/sm/Function/function-constructor-toString-arguments-before-parsing-params.js b/JSTests/test262/test/staging/sm/Function/function-constructor-toString-arguments-before-parsing-params.js index 1e3d42b183e9f..6c9335888c62b 100644 --- a/JSTests/test262/test/staging/sm/Function/function-constructor-toString-arguments-before-parsing-params.js +++ b/JSTests/test262/test/staging/sm/Function/function-constructor-toString-arguments-before-parsing-params.js @@ -4,27 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict +includes: [sm/assertThrowsValue.js] description: | - pending + Convert all arguments passed to Function() to string before doing any parsing of the to-be-created Function's parameters or body text +info: bugzilla.mozilla.org/show_bug.cgi?id=920479 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 920479; -var summary = - "Convert all arguments passed to Function() to string before doing any " + - "parsing of the to-be-created Function's parameters or body text"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ assertThrowsValue(() => Function("@", { toString() { throw 42; } }), 42); - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/Function/function-name-assignment.js b/JSTests/test262/test/staging/sm/Function/function-name-assignment.js index 206468571062e..bcf7d175c9e76 100644 --- a/JSTests/test262/test/staging/sm/Function/function-name-assignment.js +++ b/JSTests/test262/test/staging/sm/Function/function-name-assignment.js @@ -2,17 +2,13 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | - pending + Anonymous function name should be set based on assignment +info: bugzilla.mozilla.org/show_bug.cgi?id=883377 esid: pending ---*/ -var BUGNUMBER = 883377; -var summary = "Anonymous function name should be set based on assignment"; - -print(BUGNUMBER + ": " + summary); var fooSymbol = Symbol("foo"); var emptySymbol = Symbol(""); @@ -145,4 +141,3 @@ function testLexicalBinding(expr, named) { for (var [expr, named] of exprs) { testLexicalBinding(expr, named); } - diff --git a/JSTests/test262/test/staging/sm/Function/function-name-binding.js b/JSTests/test262/test/staging/sm/Function/function-name-binding.js index f4e7bae5fa98c..1a93bb85ed4aa 100644 --- a/JSTests/test262/test/staging/sm/Function/function-name-binding.js +++ b/JSTests/test262/test/staging/sm/Function/function-name-binding.js @@ -2,17 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Anonymous function name should be set based on binding pattern +info: bugzilla.mozilla.org/show_bug.cgi?id=883377 esid: pending ---*/ -var BUGNUMBER = 883377; -var summary = "Anonymous function name should be set based on binding pattern"; - -print(BUGNUMBER + ": " + summary); var exprs = [ ["function() {}", false], @@ -60,4 +54,3 @@ function testSingleNameBinding(expr, named) { for (var [expr, named] of exprs) { testSingleNameBinding(expr, named); } - diff --git a/JSTests/test262/test/staging/sm/Function/function-name-class.js b/JSTests/test262/test/staging/sm/Function/function-name-class.js index bf81650caafc3..bce4935f6c6af 100644 --- a/JSTests/test262/test/staging/sm/Function/function-name-class.js +++ b/JSTests/test262/test/staging/sm/Function/function-name-class.js @@ -2,17 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Anonymous class with name method shouldn't be affected by assignment +info: bugzilla.mozilla.org/show_bug.cgi?id=883377 esid: pending ---*/ -var BUGNUMBER = 883377; -var summary = "Anonymous class with name method shouldn't be affected by assignment"; - -print(BUGNUMBER + ": " + summary); var classWithStaticNameMethod = class { static name() {} }; assert.sameValue(typeof classWithStaticNameMethod.name, "function"); @@ -38,4 +32,3 @@ assert.sameValue(classWithNameGetter.name, "classWithNameGetter"); var classWithNameSetter = class { set name(v) {} }; assert.sameValue(classWithNameSetter.name, "classWithNameSetter"); - diff --git a/JSTests/test262/test/staging/sm/Function/function-name-computed-01.js b/JSTests/test262/test/staging/sm/Function/function-name-computed-01.js index ad50420e52306..051a6296ecfed 100644 --- a/JSTests/test262/test/staging/sm/Function/function-name-computed-01.js +++ b/JSTests/test262/test/staging/sm/Function/function-name-computed-01.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending @@ -50,7 +47,7 @@ let dummy = class { set ["setter"](x) {} }; -dum = new dummy(); +let dum = new dummy(); assert.sameValue(dum.func.name, "func"); assert.sameValue(dum.genFunc.name, "genFunc"); diff --git a/JSTests/test262/test/staging/sm/Function/function-name-computed-02.js b/JSTests/test262/test/staging/sm/Function/function-name-computed-02.js index f62a1c070af37..828ad175513f8 100644 --- a/JSTests/test262/test/staging/sm/Function/function-name-computed-02.js +++ b/JSTests/test262/test/staging/sm/Function/function-name-computed-02.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending @@ -49,7 +46,7 @@ let dummy = class { set [12](x) {} }; -dum = new dummy(); +let dum = new dummy(); assert.sameValue(dum[1].name, "1"); assert.sameValue(dum[2].name, "2"); diff --git a/JSTests/test262/test/staging/sm/Function/function-name-for.js b/JSTests/test262/test/staging/sm/Function/function-name-for.js index 5385351d2f1cc..202f665c43648 100644 --- a/JSTests/test262/test/staging/sm/Function/function-name-for.js +++ b/JSTests/test262/test/staging/sm/Function/function-name-for.js @@ -2,17 +2,13 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | - pending + Anonymous function name should be set based on for-in initializer +info: bugzilla.mozilla.org/show_bug.cgi?id=883377 esid: pending ---*/ -var BUGNUMBER = 883377; -var summary = "Anonymous function name should be set based on for-in initializer"; - -print(BUGNUMBER + ": " + summary); var exprs = [ ["function() {}", false], @@ -37,4 +33,3 @@ function testForInHead(expr, named) { for (var [expr, named] of exprs) { testForInHead(expr, named); } - diff --git a/JSTests/test262/test/staging/sm/Function/function-name-method.js b/JSTests/test262/test/staging/sm/Function/function-name-method.js index 9d552bd2dca65..d8e8cead95b6d 100644 --- a/JSTests/test262/test/staging/sm/Function/function-name-method.js +++ b/JSTests/test262/test/staging/sm/Function/function-name-method.js @@ -2,17 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Anonymous function name should be set based on method definition +info: bugzilla.mozilla.org/show_bug.cgi?id=883377 esid: pending ---*/ -var BUGNUMBER = 883377; -var summary = "Anonymous function name should be set based on method definition"; - -print(BUGNUMBER + ": " + summary); var fooSymbol = Symbol("foo"); var emptySymbol = Symbol(""); @@ -76,4 +70,3 @@ testMethod("static *", "class"); testMethod("static async", "class"); testMethod("static get", "class"); testMethod("static set", "class"); - diff --git a/JSTests/test262/test/staging/sm/Function/function-name-property.js b/JSTests/test262/test/staging/sm/Function/function-name-property.js index 57af0d04be833..44900ee1f6f6d 100644 --- a/JSTests/test262/test/staging/sm/Function/function-name-property.js +++ b/JSTests/test262/test/staging/sm/Function/function-name-property.js @@ -2,17 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Anonymous function name should be set based on property name +info: bugzilla.mozilla.org/show_bug.cgi?id=883377 esid: pending ---*/ -var BUGNUMBER = 883377; -var summary = "Anonymous function name should be set based on property name"; - -print(BUGNUMBER + ": " + summary); var fooSymbol = Symbol("foo"); var emptySymbol = Symbol(""); @@ -64,4 +58,3 @@ function testPropertyDefinition(expr, named) { for (var [expr, named] of exprs) { testPropertyDefinition(expr, named); } - diff --git a/JSTests/test262/test/staging/sm/Function/function-name.js b/JSTests/test262/test/staging/sm/Function/function-name.js index 7a29557357acd..e1cf804624b6a 100644 --- a/JSTests/test262/test/staging/sm/Function/function-name.js +++ b/JSTests/test262/test/staging/sm/Function/function-name.js @@ -2,7 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | @@ -24,25 +23,17 @@ function testFunctionName(f) { function testFunctionNameStrict(f) { "use strict"; var name = f.name; - var error; - try { + assert.throws(TypeError, function() { f.name = 'g'; - } catch (e) { - error = e; - } + }); assert.sameValue(f.name, name); - assert.sameValue(error instanceof TypeError, true); assert.sameValue(delete f.name, true); assert.sameValue(f.name, ''); assert.sameValue(f.hasOwnProperty('name'), false); - error = null; - try { + assert.throws(TypeError, function() { f.name = 'g'; - } catch (e) { - error = e; - } + }); assert.sameValue(f.name, ''); - assert.sameValue(error instanceof TypeError, true); Object.defineProperty(f, 'name', {value: 'g'}); assert.sameValue(f.name, 'g'); } diff --git a/JSTests/test262/test/staging/sm/Function/function-toString-builtin-name.js b/JSTests/test262/test/staging/sm/Function/function-toString-builtin-name.js index 7b4e3f0b92fa5..0154ad1ca9636 100644 --- a/JSTests/test262/test/staging/sm/Function/function-toString-builtin-name.js +++ b/JSTests/test262/test/staging/sm/Function/function-toString-builtin-name.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/Function/has-instance-jitted.js b/JSTests/test262/test/staging/sm/Function/has-instance-jitted.js index 30e1dec782b04..2ab6cbe13098d 100644 --- a/JSTests/test262/test/staging/sm/Function/has-instance-jitted.js +++ b/JSTests/test262/test/staging/sm/Function/has-instance-jitted.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/Function/has-instance.js b/JSTests/test262/test/staging/sm/Function/has-instance.js index ed6f99d086e67..db496cfd803b1 100644 --- a/JSTests/test262/test/staging/sm/Function/has-instance.js +++ b/JSTests/test262/test/staging/sm/Function/has-instance.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending @@ -53,11 +50,11 @@ for (let nonCallable of nonCallables) { // Non-callables should throw when used on the right hand side // of `instanceof`. -assertThrowsInstanceOf(() => { +assert.throws(TypeError, () => { function foo() {}; let obj = {}; foo instanceof obj; -}, TypeError); +}); // Non-callables do not throw for overridden methods let o = {[Symbol.hasInstance](v) { return true; }} @@ -97,7 +94,7 @@ assert.sameValue(desc.configurable, false); // Attempting to use a non-callable @@hasInstance triggers a type error // Bug 1280892 -assertThrowsInstanceOf(() => { +assert.throws(TypeError, () => { var fun = function() {} var p = new Proxy(fun, { get(target, key) { @@ -105,6 +102,6 @@ assertThrowsInstanceOf(() => { } }); fun instanceof p; -}, TypeError); +}); diff --git a/JSTests/test262/test/staging/sm/Function/implicit-this-in-parameter-expression.js b/JSTests/test262/test/staging/sm/Function/implicit-this-in-parameter-expression.js index 99f0307f734e2..3a16037abfc19 100644 --- a/JSTests/test262/test/staging/sm/Function/implicit-this-in-parameter-expression.js +++ b/JSTests/test262/test/staging/sm/Function/implicit-this-in-parameter-expression.js @@ -2,7 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | diff --git a/JSTests/test262/test/staging/sm/Function/invalid-parameter-list.js b/JSTests/test262/test/staging/sm/Function/invalid-parameter-list.js index 31daa5edfb32f..a4bd68be85698 100644 --- a/JSTests/test262/test/staging/sm/Function/invalid-parameter-list.js +++ b/JSTests/test262/test/staging/sm/Function/invalid-parameter-list.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending @@ -32,6 +29,6 @@ const tests = [ for (const test of tests) { DumpFunction(...test); - assertThrowsInstanceOf(() => new Function(...test), SyntaxError); + assert.throws(SyntaxError, () => new Function(...test)); } diff --git a/JSTests/test262/test/staging/sm/Function/line-terminator-before-arrow.js b/JSTests/test262/test/staging/sm/Function/line-terminator-before-arrow.js index a6138fae3e137..5bb3b2d8e96c2 100644 --- a/JSTests/test262/test/staging/sm/Function/line-terminator-before-arrow.js +++ b/JSTests/test262/test/staging/sm/Function/line-terminator-before-arrow.js @@ -2,18 +2,15 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending ---*/ -assertThrowsInstanceOf(() => eval("() \n => {}"), SyntaxError); -assertThrowsInstanceOf(() => eval("a \n => {}"), SyntaxError); -assertThrowsInstanceOf(() => eval("(a) /*\n*/ => {}"), SyntaxError); -assertThrowsInstanceOf(() => eval("(a, b) \n => {}"), SyntaxError); -assertThrowsInstanceOf(() => eval("(a, b = 1) \n => {}"), SyntaxError); -assertThrowsInstanceOf(() => eval("(a, ...b) \n => {}"), SyntaxError); -assertThrowsInstanceOf(() => eval("(a, b = 1, ...c) \n => {}"), SyntaxError); +assert.throws(SyntaxError, () => eval("() \n => {}")); +assert.throws(SyntaxError, () => eval("a \n => {}")); +assert.throws(SyntaxError, () => eval("(a) /*\n*/ => {}")); +assert.throws(SyntaxError, () => eval("(a, b) \n => {}")); +assert.throws(SyntaxError, () => eval("(a, b = 1) \n => {}")); +assert.throws(SyntaxError, () => eval("(a, ...b) \n => {}")); +assert.throws(SyntaxError, () => eval("(a, b = 1, ...c) \n => {}")); diff --git a/JSTests/test262/test/staging/sm/Function/method-has-duplicated.js b/JSTests/test262/test/staging/sm/Function/method-has-duplicated.js index 18c4e3e2fdb18..231befc671f7d 100644 --- a/JSTests/test262/test/staging/sm/Function/method-has-duplicated.js +++ b/JSTests/test262/test/staging/sm/Function/method-has-duplicated.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending @@ -14,16 +11,16 @@ function f0(a) { } // SyntaxError should be thrown if method definition has duplicated name. -assertThrowsInstanceOf(() => eval(` +assert.throws(SyntaxError, () => eval(` ({ m1(a, a) { } }); -`), SyntaxError); -assertThrowsInstanceOf(() => eval(` +`)); +assert.throws(SyntaxError, () => eval(` ({ m2(a, ...a) { } }); -`), SyntaxError); +`)); diff --git a/JSTests/test262/test/staging/sm/Function/parameter-redeclaration.js b/JSTests/test262/test/staging/sm/Function/parameter-redeclaration.js index 0df674a567808..dcb8ee1359b0d 100644 --- a/JSTests/test262/test/staging/sm/Function/parameter-redeclaration.js +++ b/JSTests/test262/test/staging/sm/Function/parameter-redeclaration.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending @@ -15,14 +12,14 @@ function f1(a = 0) { } // 'let' and 'const' at body-level are not allowed to redeclare parameters. -assertThrowsInstanceOf(() => { +assert.throws(SyntaxError, () => { eval(`function f2(a = 0) { let a; }`); -}, SyntaxError); -assertThrowsInstanceOf(() => { +}); +assert.throws(SyntaxError, () => { eval(`function f3(a = 0) { const a; }`); -}, SyntaxError); +}); diff --git a/JSTests/test262/test/staging/sm/Function/redefine-arguments-length.js b/JSTests/test262/test/staging/sm/Function/redefine-arguments-length.js index ae3894a4516f1..bf867b0845519 100644 --- a/JSTests/test262/test/staging/sm/Function/redefine-arguments-length.js +++ b/JSTests/test262/test/staging/sm/Function/redefine-arguments-length.js @@ -4,25 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Object.defineProperty sets arguments.length without setting the length-overridden bit +info: bugzilla.mozilla.org/show_bug.cgi?id=539766 esid: pending ---*/ -var gTestfile = 'redefine-arguments-length.js'; -//----------------------------------------------------------------------------- -var BUGNUMBER = 539766; -var summary = - "Object.defineProperty sets arguments.length without setting the " + - "length-overridden bit"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ function test_JSOP_ARGCNT() { @@ -64,8 +50,3 @@ function test_array_toString_sub_2() assert.sameValue([].toLocaleString.call(arguments), "1"); } test_array_toString_sub_2(1, 2); - - -/******************************************************************************/ - -print("All tests passed!"); diff --git a/JSTests/test262/test/staging/sm/Function/regress-518103.js b/JSTests/test262/test/staging/sm/Function/regress-518103.js index 1d4c4cac9d135..6db30388611a3 100644 --- a/JSTests/test262/test/staging/sm/Function/regress-518103.js +++ b/JSTests/test262/test/staging/sm/Function/regress-518103.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/Function/regress-524826.js b/JSTests/test262/test/staging/sm/Function/regress-524826.js index 1dca4d4d779ac..4a55735288d3d 100644 --- a/JSTests/test262/test/staging/sm/Function/regress-524826.js +++ b/JSTests/test262/test/staging/sm/Function/regress-524826.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/Function/regress-528082.js b/JSTests/test262/test/staging/sm/Function/regress-528082.js index e18cf2dcf282a..9f6cabb53565b 100644 --- a/JSTests/test262/test/staging/sm/Function/regress-528082.js +++ b/JSTests/test262/test/staging/sm/Function/regress-528082.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/Function/regress-533254.js b/JSTests/test262/test/staging/sm/Function/regress-533254.js index 6dcb88f847b71..4a8484ac36065 100644 --- a/JSTests/test262/test/staging/sm/Function/regress-533254.js +++ b/JSTests/test262/test/staging/sm/Function/regress-533254.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/Function/regress-545980.js b/JSTests/test262/test/staging/sm/Function/regress-545980.js index eec0d9d586db1..43e66237675d7 100644 --- a/JSTests/test262/test/staging/sm/Function/regress-545980.js +++ b/JSTests/test262/test/staging/sm/Function/regress-545980.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/Function/rest-has-duplicated.js b/JSTests/test262/test/staging/sm/Function/rest-has-duplicated.js index d50bc48d998b5..7ff4c62dda9b0 100644 --- a/JSTests/test262/test/staging/sm/Function/rest-has-duplicated.js +++ b/JSTests/test262/test/staging/sm/Function/rest-has-duplicated.js @@ -2,7 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | @@ -14,14 +13,14 @@ function f0(a, a) { } // SyntaxError should be thrown if rest parameter name is duplicated. -assertThrowsInstanceOf(() => eval(` +assert.throws(SyntaxError, () => eval(` function f1(a, ...a) { } -`), SyntaxError); +`)); // SyntaxError should be thrown if there is a duplicated parameter. -assertThrowsInstanceOf(() => eval(` +assert.throws(SyntaxError, () => eval(` function f2(a, a, ...b) { } -`), SyntaxError); +`)); diff --git a/JSTests/test262/test/staging/sm/Function/rest-parameter-names.js b/JSTests/test262/test/staging/sm/Function/rest-parameter-names.js index 64a35055cfbf2..67748502a00a6 100644 --- a/JSTests/test262/test/staging/sm/Function/rest-parameter-names.js +++ b/JSTests/test262/test/staging/sm/Function/rest-parameter-names.js @@ -4,24 +4,13 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | - pending + Rest parameters to functions can be named |yield| or |eval| or |let| in non-strict code +info: bugzilla.mozilla.org/show_bug.cgi?id=1288460 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 1288460; -var summary = - "Rest parameters to functions can be named |yield| or |eval| or |let| in " - "non-strict code"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ var f1 = (...yield) => yield + 42; assert.sameValue(f1(), "42"); @@ -61,15 +50,9 @@ function h() for (var badName of ["yield", "eval", "let"]) { - assertThrowsInstanceOf(() => eval(`var q = (...${badName}) => ${badName} + 42;`), - SyntaxError); + assert.throws(SyntaxError, () => eval(`var q = (...${badName}) => ${badName} + 42;`)); - assertThrowsInstanceOf(() => eval(`function r(x, ...${badName}) { return x + ${badName}; }`), - SyntaxError); + assert.throws(SyntaxError, () => eval(`function r(x, ...${badName}) { return x + ${badName}; }`)); } } h(); - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/Function/return-finally.js b/JSTests/test262/test/staging/sm/Function/return-finally.js index 94948748b131b..930781a9e1af5 100644 --- a/JSTests/test262/test/staging/sm/Function/return-finally.js +++ b/JSTests/test262/test/staging/sm/Function/return-finally.js @@ -2,17 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Return value should not be overwritten by finally block with normal execution. +info: bugzilla.mozilla.org/show_bug.cgi?id=1202134 esid: pending ---*/ -var BUGNUMBER = 1202134; -var summary = "Return value should not be overwritten by finally block with normal execution."; - -print(BUGNUMBER + ": " + summary); // ==== single ==== @@ -178,4 +172,3 @@ f = function() { } }; assert.sameValue(f(), 42); - diff --git a/JSTests/test262/test/staging/sm/Function/spread-iterator-primitive.js b/JSTests/test262/test/staging/sm/Function/spread-iterator-primitive.js index 5c77f5ec9c689..cba93b4fabec1 100644 --- a/JSTests/test262/test/staging/sm/Function/spread-iterator-primitive.js +++ b/JSTests/test262/test/staging/sm/Function/spread-iterator-primitive.js @@ -2,17 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Returning non-object from @@iterator should throw +info: bugzilla.mozilla.org/show_bug.cgi?id=1021835 esid: pending ---*/ -var BUGNUMBER = 1021835; -var summary = "Returning non-object from @@iterator should throw"; - -print(BUGNUMBER + ": " + summary); let primitives = [ 1, @@ -32,6 +26,5 @@ for (let primitive of primitives) { return primitive; } }; - assertThrowsInstanceOf(() => f(...arg), TypeError); + assert.throws(TypeError, () => f(...arg)); } - diff --git a/JSTests/test262/test/staging/sm/Function/strict-arguments.js b/JSTests/test262/test/staging/sm/Function/strict-arguments.js index aa285cf67dcbe..8c43e53a3aefa 100644 --- a/JSTests/test262/test/staging/sm/Function/strict-arguments.js +++ b/JSTests/test262/test/staging/sm/Function/strict-arguments.js @@ -4,36 +4,14 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] +includes: [compareArray.js] flags: - noStrict description: | - pending + ES5 strict mode: arguments objects of strict mode functions must copy argument values +info: bugzilla.mozilla.org/show_bug.cgi?id=516255 esid: pending ---*/ -var gTestfile = 'strict-arguments.js'; -var BUGNUMBER = 516255; -var summary = - "ES5 strict mode: arguments objects of strict mode functions must copy " + - "argument values"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ - -function arrayEvery(arr, fun) -{ - return Array.prototype.every.call(arr, fun); -} - -function arraysEqual(a1, a2) -{ - return a1.length === a2.length && - arrayEvery(a1, function(v, i) { return v === a2[i]; }); -} - /************************ * NON-STRICT ARGUMENTS * @@ -43,16 +21,16 @@ var obj = {}; function noargs() { return arguments; } -assert.sameValue(arraysEqual(noargs(), []), true); -assert.sameValue(arraysEqual(noargs(1), [1]), true); -assert.sameValue(arraysEqual(noargs(2, obj, 8), [2, obj, 8]), true); +assert.compareArray(noargs(), []); +assert.compareArray(noargs(1), [1]); +assert.compareArray(noargs(2, obj, 8), [2, obj, 8]); function args(a) { return arguments; } -assert.sameValue(arraysEqual(args(), []), true); -assert.sameValue(arraysEqual(args(1), [1]), true); -assert.sameValue(arraysEqual(args(1, obj), [1, obj]), true); -assert.sameValue(arraysEqual(args("foopy"), ["foopy"]), true); +assert.compareArray(args(), []); +assert.compareArray(args(1), [1]); +assert.compareArray(args(1, obj), [1, obj]); +assert.compareArray(args("foopy"), ["foopy"]); function assign(a) { @@ -60,7 +38,7 @@ function assign(a) return arguments; } -assert.sameValue(arraysEqual(assign(1), [17]), true); +assert.compareArray(assign(1), [17]); function getLaterAssign(a) { @@ -69,7 +47,7 @@ function getLaterAssign(a) return o; } -assert.sameValue(arraysEqual(getLaterAssign(1), [17]), true); +assert.compareArray(getLaterAssign(1), [17]); function assignElementGetParameter(a) { @@ -131,9 +109,9 @@ function strictNoargs() return arguments; } -assert.sameValue(arraysEqual(strictNoargs(), []), true); -assert.sameValue(arraysEqual(strictNoargs(1), [1]), true); -assert.sameValue(arraysEqual(strictNoargs(1, obj), [1, obj]), true); +assert.compareArray(strictNoargs(), []); +assert.compareArray(strictNoargs(1), [1]); +assert.compareArray(strictNoargs(1, obj), [1, obj]); function strictArgs(a) { @@ -141,9 +119,9 @@ function strictArgs(a) return arguments; } -assert.sameValue(arraysEqual(strictArgs(), []), true); -assert.sameValue(arraysEqual(strictArgs(1), [1]), true); -assert.sameValue(arraysEqual(strictArgs(1, obj), [1, obj]), true); +assert.compareArray(strictArgs(), []); +assert.compareArray(strictArgs(1), [1]); +assert.compareArray(strictArgs(1, obj), [1, obj]); function strictAssign(a) { @@ -152,9 +130,9 @@ function strictAssign(a) return arguments; } -assert.sameValue(arraysEqual(strictAssign(), []), true); -assert.sameValue(arraysEqual(strictAssign(1), [1]), true); -assert.sameValue(arraysEqual(strictAssign(1, obj), [1, obj]), true); +assert.compareArray(strictAssign(), []); +assert.compareArray(strictAssign(1), [1]); +assert.compareArray(strictAssign(1, obj), [1, obj]); var upper; function strictAssignAfter(a) @@ -165,9 +143,9 @@ function strictAssignAfter(a) return upper; } -assert.sameValue(arraysEqual(strictAssignAfter(), []), true); -assert.sameValue(arraysEqual(strictAssignAfter(17), [17]), true); -assert.sameValue(arraysEqual(strictAssignAfter(obj), [obj]), true); +assert.compareArray(strictAssignAfter(), []); +assert.compareArray(strictAssignAfter(17), [17]); +assert.compareArray(strictAssignAfter(obj), [obj]); function strictMaybeAssignOuterParam(p) { @@ -176,9 +154,9 @@ function strictMaybeAssignOuterParam(p) return arguments; } -assert.sameValue(arraysEqual(strictMaybeAssignOuterParam(), []), true); -assert.sameValue(arraysEqual(strictMaybeAssignOuterParam(42), [42]), true); -assert.sameValue(arraysEqual(strictMaybeAssignOuterParam(obj), [obj]), true); +assert.compareArray(strictMaybeAssignOuterParam(), []); +assert.compareArray(strictMaybeAssignOuterParam(42), [42]); +assert.compareArray(strictMaybeAssignOuterParam(obj), [obj]); function strictAssignOuterParam(p) { @@ -188,9 +166,9 @@ function strictAssignOuterParam(p) return arguments; } -assert.sameValue(arraysEqual(strictAssignOuterParam(), []), true); -assert.sameValue(arraysEqual(strictAssignOuterParam(17), [17]), true); -assert.sameValue(arraysEqual(strictAssignOuterParam(obj), [obj]), true); +assert.compareArray(strictAssignOuterParam(), []); +assert.compareArray(strictAssignOuterParam(17), [17]); +assert.compareArray(strictAssignOuterParam(obj), [obj]); function strictAssignOuterParamPSYCH(p) { @@ -200,9 +178,9 @@ function strictAssignOuterParamPSYCH(p) return arguments; } -assert.sameValue(arraysEqual(strictAssignOuterParamPSYCH(), []), true); -assert.sameValue(arraysEqual(strictAssignOuterParamPSYCH(17), [17]), true); -assert.sameValue(arraysEqual(strictAssignOuterParamPSYCH(obj), [obj]), true); +assert.compareArray(strictAssignOuterParamPSYCH(), []); +assert.compareArray(strictAssignOuterParamPSYCH(17), [17]); +assert.compareArray(strictAssignOuterParamPSYCH(obj), [obj]); function strictEval(code, p) { @@ -211,12 +189,12 @@ function strictEval(code, p) return arguments; } -assert.sameValue(arraysEqual(strictEval("1", 2), ["1", 2]), true); -assert.sameValue(arraysEqual(strictEval("arguments"), ["arguments"]), true); -assert.sameValue(arraysEqual(strictEval("p = 2"), ["p = 2"]), true); -assert.sameValue(arraysEqual(strictEval("p = 2", 17), ["p = 2", 17]), true); -assert.sameValue(arraysEqual(strictEval("arguments[0] = 17"), [17]), true); -assert.sameValue(arraysEqual(strictEval("arguments[0] = 17", 42), [17, 42]), true); +assert.compareArray(strictEval("1", 2), ["1", 2]); +assert.compareArray(strictEval("arguments"), ["arguments"]); +assert.compareArray(strictEval("p = 2"), ["p = 2"]); +assert.compareArray(strictEval("p = 2", 17), ["p = 2", 17]); +assert.compareArray(strictEval("arguments[0] = 17"), [17]); +assert.compareArray(strictEval("arguments[0] = 17", 42), [17, 42]); function strictMaybeNestedEval(code, p) { @@ -225,10 +203,10 @@ function strictMaybeNestedEval(code, p) return arguments; } -assert.sameValue(arraysEqual(strictMaybeNestedEval("1", 2), ["1", 2]), true); -assert.sameValue(arraysEqual(strictMaybeNestedEval("arguments"), ["arguments"]), true); -assert.sameValue(arraysEqual(strictMaybeNestedEval("p = 2"), ["p = 2"]), true); -assert.sameValue(arraysEqual(strictMaybeNestedEval("p = 2", 17), ["p = 2", 17]), true); +assert.compareArray(strictMaybeNestedEval("1", 2), ["1", 2]); +assert.compareArray(strictMaybeNestedEval("arguments"), ["arguments"]); +assert.compareArray(strictMaybeNestedEval("p = 2"), ["p = 2"]); +assert.compareArray(strictMaybeNestedEval("p = 2", 17), ["p = 2", 17]); function strictNestedEval(code, p) { @@ -238,12 +216,12 @@ function strictNestedEval(code, p) return arguments; } -assert.sameValue(arraysEqual(strictNestedEval("1", 2), ["1", 2]), true); -assert.sameValue(arraysEqual(strictNestedEval("arguments"), ["arguments"]), true); -assert.sameValue(arraysEqual(strictNestedEval("p = 2"), ["p = 2"]), true); -assert.sameValue(arraysEqual(strictNestedEval("p = 2", 17), ["p = 2", 17]), true); -assert.sameValue(arraysEqual(strictNestedEval("arguments[0] = 17"), ["arguments[0] = 17"]), true); -assert.sameValue(arraysEqual(strictNestedEval("arguments[0] = 17", 42), ["arguments[0] = 17", 42]), true); +assert.compareArray(strictNestedEval("1", 2), ["1", 2]); +assert.compareArray(strictNestedEval("arguments"), ["arguments"]); +assert.compareArray(strictNestedEval("p = 2"), ["p = 2"]); +assert.compareArray(strictNestedEval("p = 2", 17), ["p = 2", 17]); +assert.compareArray(strictNestedEval("arguments[0] = 17"), ["arguments[0] = 17"]); +assert.compareArray(strictNestedEval("arguments[0] = 17", 42), ["arguments[0] = 17", 42]); function strictAssignArguments(a) { @@ -315,10 +293,10 @@ function strictNestedAssignShadowVar(p) return arguments; } -assert.sameValue(arraysEqual(strictNestedAssignShadowVar(), []), true); -assert.sameValue(arraysEqual(strictNestedAssignShadowVar(99), [99]), true); -assert.sameValue(arraysEqual(strictNestedAssignShadowVar(""), [""]), true); -assert.sameValue(arraysEqual(strictNestedAssignShadowVar(obj), [obj]), true); +assert.compareArray(strictNestedAssignShadowVar(), []); +assert.compareArray(strictNestedAssignShadowVar(99), [99]); +assert.compareArray(strictNestedAssignShadowVar(""), [""]); +assert.compareArray(strictNestedAssignShadowVar(obj), [obj]); function strictNestedAssignShadowCatch(p) { @@ -337,10 +315,10 @@ function strictNestedAssignShadowCatch(p) return arguments; } -assert.sameValue(arraysEqual(strictNestedAssignShadowCatch(), []), true); -assert.sameValue(arraysEqual(strictNestedAssignShadowCatch(99), [99]), true); -assert.sameValue(arraysEqual(strictNestedAssignShadowCatch(""), [""]), true); -assert.sameValue(arraysEqual(strictNestedAssignShadowCatch(obj), [obj]), true); +assert.compareArray(strictNestedAssignShadowCatch(), []); +assert.compareArray(strictNestedAssignShadowCatch(99), [99]); +assert.compareArray(strictNestedAssignShadowCatch(""), [""]); +assert.compareArray(strictNestedAssignShadowCatch(obj), [obj]); function strictNestedAssignShadowCatchCall(p) { @@ -360,10 +338,10 @@ function strictNestedAssignShadowCatchCall(p) return arguments; } -assert.sameValue(arraysEqual(strictNestedAssignShadowCatchCall(), []), true); -assert.sameValue(arraysEqual(strictNestedAssignShadowCatchCall(99), [99]), true); -assert.sameValue(arraysEqual(strictNestedAssignShadowCatchCall(""), [""]), true); -assert.sameValue(arraysEqual(strictNestedAssignShadowCatchCall(obj), [obj]), true); +assert.compareArray(strictNestedAssignShadowCatchCall(), []); +assert.compareArray(strictNestedAssignShadowCatchCall(99), [99]); +assert.compareArray(strictNestedAssignShadowCatchCall(""), [""]); +assert.compareArray(strictNestedAssignShadowCatchCall(obj), [obj]); function strictNestedAssignShadowFunction(p) { @@ -376,10 +354,10 @@ function strictNestedAssignShadowFunction(p) return arguments; } -assert.sameValue(arraysEqual(strictNestedAssignShadowFunction(), []), true); -assert.sameValue(arraysEqual(strictNestedAssignShadowFunction(99), [99]), true); -assert.sameValue(arraysEqual(strictNestedAssignShadowFunction(""), [""]), true); -assert.sameValue(arraysEqual(strictNestedAssignShadowFunction(obj), [obj]), true); +assert.compareArray(strictNestedAssignShadowFunction(), []); +assert.compareArray(strictNestedAssignShadowFunction(99), [99]); +assert.compareArray(strictNestedAssignShadowFunction(""), [""]); +assert.compareArray(strictNestedAssignShadowFunction(obj), [obj]); function strictNestedAssignShadowFunctionCall(p) { @@ -392,10 +370,10 @@ function strictNestedAssignShadowFunctionCall(p) return arguments; } -assert.sameValue(arraysEqual(strictNestedAssignShadowFunctionCall(), []), true); -assert.sameValue(arraysEqual(strictNestedAssignShadowFunctionCall(99), [99]), true); -assert.sameValue(arraysEqual(strictNestedAssignShadowFunctionCall(""), [""]), true); -assert.sameValue(arraysEqual(strictNestedAssignShadowFunctionCall(obj), [obj]), true); +assert.compareArray(strictNestedAssignShadowFunctionCall(), []); +assert.compareArray(strictNestedAssignShadowFunctionCall(99), [99]); +assert.compareArray(strictNestedAssignShadowFunctionCall(""), [""]); +assert.compareArray(strictNestedAssignShadowFunctionCall(obj), [obj]); function strictNestedShadowAndMaybeEval(code, p) { @@ -404,12 +382,12 @@ function strictNestedShadowAndMaybeEval(code, p) return arguments; } -assert.sameValue(arraysEqual(strictNestedShadowAndMaybeEval("1", 2), ["1", 2]), true); -assert.sameValue(arraysEqual(strictNestedShadowAndMaybeEval("arguments"), ["arguments"]), true); -assert.sameValue(arraysEqual(strictNestedShadowAndMaybeEval("p = 2"), ["p = 2"]), true); -assert.sameValue(arraysEqual(strictNestedShadowAndMaybeEval("p = 2", 17), ["p = 2", 17]), true); -assert.sameValue(arraysEqual(strictNestedShadowAndMaybeEval("arguments[0] = 17"), ["arguments[0] = 17"]), true); -assert.sameValue(arraysEqual(strictNestedShadowAndMaybeEval("arguments[0] = 17", 42), ["arguments[0] = 17", 42]), true); +assert.compareArray(strictNestedShadowAndMaybeEval("1", 2), ["1", 2]); +assert.compareArray(strictNestedShadowAndMaybeEval("arguments"), ["arguments"]); +assert.compareArray(strictNestedShadowAndMaybeEval("p = 2"), ["p = 2"]); +assert.compareArray(strictNestedShadowAndMaybeEval("p = 2", 17), ["p = 2", 17]); +assert.compareArray(strictNestedShadowAndMaybeEval("arguments[0] = 17"), ["arguments[0] = 17"]); +assert.compareArray(strictNestedShadowAndMaybeEval("arguments[0] = 17", 42), ["arguments[0] = 17", 42]); function strictNestedShadowAndEval(code, p) { @@ -418,12 +396,12 @@ function strictNestedShadowAndEval(code, p) return arguments; } -assert.sameValue(arraysEqual(strictNestedShadowAndEval("1", 2), ["1", 2]), true); -assert.sameValue(arraysEqual(strictNestedShadowAndEval("arguments"), ["arguments"]), true); -assert.sameValue(arraysEqual(strictNestedShadowAndEval("p = 2"), ["p = 2"]), true); -assert.sameValue(arraysEqual(strictNestedShadowAndEval("p = 2", 17), ["p = 2", 17]), true); -assert.sameValue(arraysEqual(strictNestedShadowAndEval("arguments[0] = 17"), ["arguments[0] = 17"]), true); -assert.sameValue(arraysEqual(strictNestedShadowAndEval("arguments[0] = 17", 42), ["arguments[0] = 17", 42]), true); +assert.compareArray(strictNestedShadowAndEval("1", 2), ["1", 2]); +assert.compareArray(strictNestedShadowAndEval("arguments"), ["arguments"]); +assert.compareArray(strictNestedShadowAndEval("p = 2"), ["p = 2"]); +assert.compareArray(strictNestedShadowAndEval("p = 2", 17), ["p = 2", 17]); +assert.compareArray(strictNestedShadowAndEval("arguments[0] = 17"), ["arguments[0] = 17"]); +assert.compareArray(strictNestedShadowAndEval("arguments[0] = 17", 42), ["arguments[0] = 17", 42]); function strictEvalContainsMutation(code) { @@ -431,8 +409,8 @@ function strictEvalContainsMutation(code) return eval(code); } -assert.sameValue(arraysEqual(strictEvalContainsMutation("code = 17; arguments"), ["code = 17; arguments"]), true); -assert.sameValue(arraysEqual(strictEvalContainsMutation("arguments[0] = 17; arguments"), [17]), true); +assert.compareArray(strictEvalContainsMutation("code = 17; arguments"), ["code = 17; arguments"]); +assert.compareArray(strictEvalContainsMutation("arguments[0] = 17; arguments"), [17]); assert.sameValue(strictEvalContainsMutation("arguments[0] = 17; code"), "arguments[0] = 17; code"); function strictNestedAssignShadowFunctionName(p) @@ -447,12 +425,7 @@ function strictNestedAssignShadowFunctionName(p) return arguments; } -assert.sameValue(arraysEqual(strictNestedAssignShadowFunctionName(), []), true); -assert.sameValue(arraysEqual(strictNestedAssignShadowFunctionName(99), [99]), true); -assert.sameValue(arraysEqual(strictNestedAssignShadowFunctionName(""), [""]), true); -assert.sameValue(arraysEqual(strictNestedAssignShadowFunctionName(obj), [obj]), true); - - -/******************************************************************************/ - -print("All tests passed!"); +assert.compareArray(strictNestedAssignShadowFunctionName(), []); +assert.compareArray(strictNestedAssignShadowFunctionName(99), [99]); +assert.compareArray(strictNestedAssignShadowFunctionName(""), [""]); +assert.compareArray(strictNestedAssignShadowFunctionName(obj), [obj]); diff --git a/JSTests/test262/test/staging/sm/Function/throw-type-error.js b/JSTests/test262/test/staging/sm/Function/throw-type-error.js index 7fd17c8e31912..b0eca195f236c 100644 --- a/JSTests/test262/test/staging/sm/Function/throw-type-error.js +++ b/JSTests/test262/test/staging/sm/Function/throw-type-error.js @@ -2,9 +2,7 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, deepEqual.js] -flags: - - noStrict +includes: [propertyHelper.js] description: | pending esid: pending @@ -17,9 +15,8 @@ const ThrowTypeError = function(){ return Object.getOwnPropertyDescriptor(arguments, "callee").get; }(); -assert.deepEqual(Object.getOwnPropertyDescriptor(ThrowTypeError, "length"), { +verifyProperty(ThrowTypeError, "length", { value: 0, writable: false, enumerable: false, configurable: false }); assert.sameValue(Object.isFrozen(ThrowTypeError), true); - diff --git a/JSTests/test262/test/staging/sm/Iterator/constructor-subclassable.js b/JSTests/test262/test/staging/sm/Iterator/constructor-subclassable.js index 749f202fc664b..ac57acc6cc046 100644 --- a/JSTests/test262/test/staging/sm/Iterator/constructor-subclassable.js +++ b/JSTests/test262/test/staging/sm/Iterator/constructor-subclassable.js @@ -6,9 +6,6 @@ info: | Iterator constructor can be subclassed. Iterator is not enabled unconditionally -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - iterator-helpers description: | diff --git a/JSTests/test262/test/staging/sm/Iterator/constructor-throw-when-called-directly.js b/JSTests/test262/test/staging/sm/Iterator/constructor-throw-when-called-directly.js index c52ac7e788cb2..8bd26cd403bb7 100644 --- a/JSTests/test262/test/staging/sm/Iterator/constructor-throw-when-called-directly.js +++ b/JSTests/test262/test/staging/sm/Iterator/constructor-throw-when-called-directly.js @@ -6,14 +6,11 @@ info: | Iterator constructor throws when called directly. Iterator is not enabled unconditionally -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - iterator-helpers description: | pending esid: pending ---*/ -assertThrowsInstanceOf(() => new Iterator(), TypeError); +assert.throws(TypeError, () => new Iterator()); diff --git a/JSTests/test262/test/staging/sm/Iterator/constructor-throw-without-new.js b/JSTests/test262/test/staging/sm/Iterator/constructor-throw-without-new.js index a531e2e79a64d..ed8cfe3173ca0 100644 --- a/JSTests/test262/test/staging/sm/Iterator/constructor-throw-without-new.js +++ b/JSTests/test262/test/staging/sm/Iterator/constructor-throw-without-new.js @@ -6,14 +6,11 @@ info: | Iterator constructor throws when called without new. Iterator is not enabled unconditionally -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - iterator-helpers description: | pending esid: pending ---*/ -assertThrowsInstanceOf(() => Iterator(), TypeError); +assert.throws(TypeError, () => Iterator()); diff --git a/JSTests/test262/test/staging/sm/Iterator/constructor.js b/JSTests/test262/test/staging/sm/Iterator/constructor.js index 7234b10cde8c9..74e7659c48ae2 100644 --- a/JSTests/test262/test/staging/sm/Iterator/constructor.js +++ b/JSTests/test262/test/staging/sm/Iterator/constructor.js @@ -6,9 +6,6 @@ info: | The Iterator constructor is a built-in function. Iterator is not enabled unconditionally -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - iterator-helpers description: | diff --git a/JSTests/test262/test/staging/sm/Iterator/from/Iterator.from-descriptor.js b/JSTests/test262/test/staging/sm/Iterator/from/Iterator.from-descriptor.js index de1760538a95e..233c06a3814e9 100644 --- a/JSTests/test262/test/staging/sm/Iterator/from/Iterator.from-descriptor.js +++ b/JSTests/test262/test/staging/sm/Iterator/from/Iterator.from-descriptor.js @@ -6,9 +6,6 @@ info: | Descriptor property of Iterator.from Iterator is not enabled unconditionally -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - iterator-helpers description: | diff --git a/JSTests/test262/test/staging/sm/Iterator/from/Iterator.from-length.js b/JSTests/test262/test/staging/sm/Iterator/from/Iterator.from-length.js index 6bc33e4e7492d..837e699790fa9 100644 --- a/JSTests/test262/test/staging/sm/Iterator/from/Iterator.from-length.js +++ b/JSTests/test262/test/staging/sm/Iterator/from/Iterator.from-length.js @@ -10,9 +10,6 @@ info: | false, [[Configurable]]: true }. Iterator is not enabled unconditionally -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - iterator-helpers esid: pending diff --git a/JSTests/test262/test/staging/sm/Iterator/from/Iterator.from-name.js b/JSTests/test262/test/staging/sm/Iterator/from/Iterator.from-name.js index d654cf4620345..3b878841a372a 100644 --- a/JSTests/test262/test/staging/sm/Iterator/from/Iterator.from-name.js +++ b/JSTests/test262/test/staging/sm/Iterator/from/Iterator.from-name.js @@ -4,9 +4,6 @@ /*--- description: | `name` property of Iterator.from. -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - iterator-helpers info: | diff --git a/JSTests/test262/test/staging/sm/Iterator/from/call-from-with-different-this.js b/JSTests/test262/test/staging/sm/Iterator/from/call-from-with-different-this.js index c6c82101133c1..ed249035b0982 100644 --- a/JSTests/test262/test/staging/sm/Iterator/from/call-from-with-different-this.js +++ b/JSTests/test262/test/staging/sm/Iterator/from/call-from-with-different-this.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - iterator-helpers info: | diff --git a/JSTests/test262/test/staging/sm/Iterator/from/iterator-not-callable-throws.js b/JSTests/test262/test/staging/sm/Iterator/from/iterator-not-callable-throws.js index d46a9594e5a4c..3dd96cdcb475b 100644 --- a/JSTests/test262/test/staging/sm/Iterator/from/iterator-not-callable-throws.js +++ b/JSTests/test262/test/staging/sm/Iterator/from/iterator-not-callable-throws.js @@ -6,18 +6,15 @@ info: | Iterator.from throws when called with an object with a non-callable @@iterator property. Iterator is not enabled unconditionally -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - iterator-helpers description: | pending esid: pending ---*/ -assertThrowsInstanceOf(() => Iterator.from({ [Symbol.iterator]: 0 }), TypeError); -assertThrowsInstanceOf(() => Iterator.from({ [Symbol.iterator]: false }), TypeError); -assertThrowsInstanceOf(() => Iterator.from({ [Symbol.iterator]: "" }), TypeError); -assertThrowsInstanceOf(() => Iterator.from({ [Symbol.iterator]: {} }), TypeError); -assertThrowsInstanceOf(() => Iterator.from({ [Symbol.iterator]: Symbol('') }), TypeError); +assert.throws(TypeError, () => Iterator.from({ [Symbol.iterator]: 0 })); +assert.throws(TypeError, () => Iterator.from({ [Symbol.iterator]: false })); +assert.throws(TypeError, () => Iterator.from({ [Symbol.iterator]: "" })); +assert.throws(TypeError, () => Iterator.from({ [Symbol.iterator]: {} })); +assert.throws(TypeError, () => Iterator.from({ [Symbol.iterator]: Symbol('') })); diff --git a/JSTests/test262/test/staging/sm/Iterator/from/modify-next.js b/JSTests/test262/test/staging/sm/Iterator/from/modify-next.js index 3ea48964e1898..060724f04b2bb 100644 --- a/JSTests/test262/test/staging/sm/Iterator/from/modify-next.js +++ b/JSTests/test262/test/staging/sm/Iterator/from/modify-next.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - iterator-helpers info: | diff --git a/JSTests/test262/test/staging/sm/Iterator/from/modify-return.js b/JSTests/test262/test/staging/sm/Iterator/from/modify-return.js index a34156c8e9d90..fb03803b0bad2 100644 --- a/JSTests/test262/test/staging/sm/Iterator/from/modify-return.js +++ b/JSTests/test262/test/staging/sm/Iterator/from/modify-return.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - iterator-helpers info: | @@ -25,7 +22,7 @@ assert.sameValue(done, true); assert.sameValue(value, "old return"); iter.return = () => { throw new Error(); }; -assertThrowsInstanceOf(() => wrap.return(), Error); +assert.throws(Error, () => wrap.return()); iter.return = null; let nullResult = wrap.return("return argument ignored"); diff --git a/JSTests/test262/test/staging/sm/Iterator/from/o-not-object-throws.js b/JSTests/test262/test/staging/sm/Iterator/from/o-not-object-throws.js index 4fef612194cfc..e29408dc83b3c 100644 --- a/JSTests/test262/test/staging/sm/Iterator/from/o-not-object-throws.js +++ b/JSTests/test262/test/staging/sm/Iterator/from/o-not-object-throws.js @@ -6,18 +6,15 @@ info: | Iterator.from throws when called with a non-object. Iterator is not enabled unconditionally -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - iterator-helpers description: | pending esid: pending ---*/ -assertThrowsInstanceOf(() => Iterator.from(undefined), TypeError); -assertThrowsInstanceOf(() => Iterator.from(null), TypeError); -assertThrowsInstanceOf(() => Iterator.from(0), TypeError); -assertThrowsInstanceOf(() => Iterator.from(false), TypeError); -assertThrowsInstanceOf(() => Iterator.from(Symbol('')), TypeError); +assert.throws(TypeError, () => Iterator.from(undefined)); +assert.throws(TypeError, () => Iterator.from(null)); +assert.throws(TypeError, () => Iterator.from(0)); +assert.throws(TypeError, () => Iterator.from(false)); +assert.throws(TypeError, () => Iterator.from(Symbol(''))); diff --git a/JSTests/test262/test/staging/sm/Iterator/from/proxy-not-wrapped.js b/JSTests/test262/test/staging/sm/Iterator/from/proxy-not-wrapped.js index 881e095d67d85..66791a4c70efa 100644 --- a/JSTests/test262/test/staging/sm/Iterator/from/proxy-not-wrapped.js +++ b/JSTests/test262/test/staging/sm/Iterator/from/proxy-not-wrapped.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - iterator-helpers info: | diff --git a/JSTests/test262/test/staging/sm/Iterator/from/proxy-wrap-next.js b/JSTests/test262/test/staging/sm/Iterator/from/proxy-wrap-next.js index 97cc5f412a238..5477a826fcd44 100644 --- a/JSTests/test262/test/staging/sm/Iterator/from/proxy-wrap-next.js +++ b/JSTests/test262/test/staging/sm/Iterator/from/proxy-wrap-next.js @@ -2,9 +2,7 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, compareArray.js] -flags: - - noStrict +includes: [compareArray.js] features: - iterator-helpers info: | diff --git a/JSTests/test262/test/staging/sm/Iterator/from/proxy-wrap-return.js b/JSTests/test262/test/staging/sm/Iterator/from/proxy-wrap-return.js index 9bc69f767ef12..0ceac11389755 100644 --- a/JSTests/test262/test/staging/sm/Iterator/from/proxy-wrap-return.js +++ b/JSTests/test262/test/staging/sm/Iterator/from/proxy-wrap-return.js @@ -2,9 +2,7 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, compareArray.js] -flags: - - noStrict +includes: [compareArray.js] features: - iterator-helpers info: | diff --git a/JSTests/test262/test/staging/sm/Iterator/from/return-iterator-if-iterable.js b/JSTests/test262/test/staging/sm/Iterator/from/return-iterator-if-iterable.js index 5298ce079ce6c..746a3fef00951 100644 --- a/JSTests/test262/test/staging/sm/Iterator/from/return-iterator-if-iterable.js +++ b/JSTests/test262/test/staging/sm/Iterator/from/return-iterator-if-iterable.js @@ -6,9 +6,6 @@ info: | Iterator.from returns O if it is iterable, an iterator, and an instance of Iterator. Iterator is not enabled unconditionally -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - iterator-helpers description: | diff --git a/JSTests/test262/test/staging/sm/Iterator/from/return-wrapper-if-not-iterable.js b/JSTests/test262/test/staging/sm/Iterator/from/return-wrapper-if-not-iterable.js index 4c98a6f3250f3..3705495879afc 100644 --- a/JSTests/test262/test/staging/sm/Iterator/from/return-wrapper-if-not-iterable.js +++ b/JSTests/test262/test/staging/sm/Iterator/from/return-wrapper-if-not-iterable.js @@ -6,9 +6,6 @@ info: | Iterator.from returns an iterator wrapper if O is not an iterable. Iterator is not enabled unconditionally -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - iterator-helpers description: | diff --git a/JSTests/test262/test/staging/sm/Iterator/from/return-wrapper-if-not-iterator-instance.js b/JSTests/test262/test/staging/sm/Iterator/from/return-wrapper-if-not-iterator-instance.js index ae01e1a26f001..44256a506203f 100644 --- a/JSTests/test262/test/staging/sm/Iterator/from/return-wrapper-if-not-iterator-instance.js +++ b/JSTests/test262/test/staging/sm/Iterator/from/return-wrapper-if-not-iterator-instance.js @@ -6,9 +6,6 @@ info: | Iterator.from returns an iterator wrapper if O is not an instance of Iterator. Iterator is not enabled unconditionally -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - iterator-helpers description: | diff --git a/JSTests/test262/test/staging/sm/Iterator/from/wrap-functions-on-other-global.js b/JSTests/test262/test/staging/sm/Iterator/from/wrap-functions-on-other-global.js index bac8f49466ad3..67951d0d50035 100644 --- a/JSTests/test262/test/staging/sm/Iterator/from/wrap-functions-on-other-global.js +++ b/JSTests/test262/test/staging/sm/Iterator/from/wrap-functions-on-other-global.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - iterator-helpers description: | @@ -29,11 +26,11 @@ const iter = { throw: (value) => ({done: true, value}), }; const thisWrap = Iterator.from(iter); -const otherGlobal = createNewGlobal({newCompartment: true}); +const otherGlobal = $262.createRealm().global; const otherWrap = otherGlobal.Iterator.from(iter); checkIterResult(thisWrap.next.call(otherWrap), false, 0); checkIterResult(thisWrap.next.call(otherWrap, 'value'), false, 0); -assertThrowsInstanceOf(thisWrap.return.bind(otherWrap), TestError); +assert.throws(TestError, thisWrap.return.bind(otherWrap)); diff --git a/JSTests/test262/test/staging/sm/Iterator/from/wrap-method-with-non-wrap-this-throws.js b/JSTests/test262/test/staging/sm/Iterator/from/wrap-method-with-non-wrap-this-throws.js index bd32b9d357c8f..b7c95983c9b10 100644 --- a/JSTests/test262/test/staging/sm/Iterator/from/wrap-method-with-non-wrap-this-throws.js +++ b/JSTests/test262/test/staging/sm/Iterator/from/wrap-method-with-non-wrap-this-throws.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - iterator-helpers info: | @@ -26,29 +23,29 @@ class TestIterator { } const nextMethod = Iterator.from(new TestIterator()).next; -assertThrowsInstanceOf(() => nextMethod.call(undefined), TypeError); -assertThrowsInstanceOf(() => nextMethod.call(null), TypeError); -assertThrowsInstanceOf(() => nextMethod.call(0), TypeError); -assertThrowsInstanceOf(() => nextMethod.call(false), TypeError); -assertThrowsInstanceOf(() => nextMethod.call('test'), TypeError); -assertThrowsInstanceOf(() => nextMethod.call(Object(1)), TypeError); -assertThrowsInstanceOf(() => nextMethod.call({}), TypeError); +assert.throws(TypeError, () => nextMethod.call(undefined)); +assert.throws(TypeError, () => nextMethod.call(null)); +assert.throws(TypeError, () => nextMethod.call(0)); +assert.throws(TypeError, () => nextMethod.call(false)); +assert.throws(TypeError, () => nextMethod.call('test')); +assert.throws(TypeError, () => nextMethod.call(Object(1))); +assert.throws(TypeError, () => nextMethod.call({})); const returnMethod = Iterator.from(new TestIterator()).next; -assertThrowsInstanceOf(() => returnMethod.call(undefined), TypeError); -assertThrowsInstanceOf(() => returnMethod.call(null), TypeError); -assertThrowsInstanceOf(() => returnMethod.call(0), TypeError); -assertThrowsInstanceOf(() => returnMethod.call(false), TypeError); -assertThrowsInstanceOf(() => returnMethod.call('test'), TypeError); -assertThrowsInstanceOf(() => returnMethod.call(Object(1)), TypeError); -assertThrowsInstanceOf(() => returnMethod.call({}), TypeError); +assert.throws(TypeError, () => returnMethod.call(undefined)); +assert.throws(TypeError, () => returnMethod.call(null)); +assert.throws(TypeError, () => returnMethod.call(0)); +assert.throws(TypeError, () => returnMethod.call(false)); +assert.throws(TypeError, () => returnMethod.call('test')); +assert.throws(TypeError, () => returnMethod.call(Object(1))); +assert.throws(TypeError, () => returnMethod.call({})); const throwMethod = Iterator.from(new TestIterator()).next; -assertThrowsInstanceOf(() => throwMethod.call(undefined), TypeError); -assertThrowsInstanceOf(() => throwMethod.call(null), TypeError); -assertThrowsInstanceOf(() => throwMethod.call(0), TypeError); -assertThrowsInstanceOf(() => throwMethod.call(false), TypeError); -assertThrowsInstanceOf(() => throwMethod.call('test'), TypeError); -assertThrowsInstanceOf(() => throwMethod.call(Object(1)), TypeError); -assertThrowsInstanceOf(() => throwMethod.call({}), TypeError); +assert.throws(TypeError, () => throwMethod.call(undefined)); +assert.throws(TypeError, () => throwMethod.call(null)); +assert.throws(TypeError, () => throwMethod.call(0)); +assert.throws(TypeError, () => throwMethod.call(false)); +assert.throws(TypeError, () => throwMethod.call('test')); +assert.throws(TypeError, () => throwMethod.call(Object(1))); +assert.throws(TypeError, () => throwMethod.call({})); diff --git a/JSTests/test262/test/staging/sm/Iterator/from/wrap-new-global.js b/JSTests/test262/test/staging/sm/Iterator/from/wrap-new-global.js index 3f5134f8c8ed5..b0a73dbe2f001 100644 --- a/JSTests/test262/test/staging/sm/Iterator/from/wrap-new-global.js +++ b/JSTests/test262/test/staging/sm/Iterator/from/wrap-new-global.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - iterator-helpers info: | @@ -13,7 +10,7 @@ description: | pending esid: pending ---*/ -const otherGlobal = createNewGlobal({newCompartment: true}); +const otherGlobal = $262.createRealm().global; const iter = [1, 2, 3].values(); assert.sameValue(iter, Iterator.from(iter)); diff --git a/JSTests/test262/test/staging/sm/Iterator/from/wrap-next-forwards-value.js b/JSTests/test262/test/staging/sm/Iterator/from/wrap-next-forwards-value.js index 8c9e802cfaa2e..f22f28110adb0 100644 --- a/JSTests/test262/test/staging/sm/Iterator/from/wrap-next-forwards-value.js +++ b/JSTests/test262/test/staging/sm/Iterator/from/wrap-next-forwards-value.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - iterator-helpers info: | diff --git a/JSTests/test262/test/staging/sm/Iterator/from/wrap-next-not-object-throws.js b/JSTests/test262/test/staging/sm/Iterator/from/wrap-next-not-object-throws.js index 42a1ea8f75d07..ddc2584efb11c 100644 --- a/JSTests/test262/test/staging/sm/Iterator/from/wrap-next-not-object-throws.js +++ b/JSTests/test262/test/staging/sm/Iterator/from/wrap-next-not-object-throws.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - iterator-helpers info: | diff --git a/JSTests/test262/test/staging/sm/Iterator/from/wrap-return-closes-iterator.js b/JSTests/test262/test/staging/sm/Iterator/from/wrap-return-closes-iterator.js index 6212e4ad28bd2..172deb0e8daa8 100644 --- a/JSTests/test262/test/staging/sm/Iterator/from/wrap-return-closes-iterator.js +++ b/JSTests/test262/test/staging/sm/Iterator/from/wrap-return-closes-iterator.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - iterator-helpers info: | diff --git a/JSTests/test262/test/staging/sm/Iterator/iterator.js b/JSTests/test262/test/staging/sm/Iterator/iterator.js index eaa03df9bacae..ad86acaaa7673 100644 --- a/JSTests/test262/test/staging/sm/Iterator/iterator.js +++ b/JSTests/test262/test/staging/sm/Iterator/iterator.js @@ -6,9 +6,6 @@ info: | Property descriptor of Iterator. Iterator is not enabled unconditionally -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - iterator-helpers description: | diff --git a/JSTests/test262/test/staging/sm/Iterator/length.js b/JSTests/test262/test/staging/sm/Iterator/length.js index a333af8cf4674..ea10bc334229e 100644 --- a/JSTests/test262/test/staging/sm/Iterator/length.js +++ b/JSTests/test262/test/staging/sm/Iterator/length.js @@ -6,9 +6,6 @@ info: | The "length" property of Iterator Iterator is not enabled unconditionally -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - iterator-helpers description: | diff --git a/JSTests/test262/test/staging/sm/Iterator/name.js b/JSTests/test262/test/staging/sm/Iterator/name.js index 7f4bee0c599be..e51f4e30d0ce0 100644 --- a/JSTests/test262/test/staging/sm/Iterator/name.js +++ b/JSTests/test262/test/staging/sm/Iterator/name.js @@ -6,9 +6,6 @@ info: | The "name" property of Iterator Iterator is not enabled unconditionally -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - iterator-helpers description: | diff --git a/JSTests/test262/test/staging/sm/Iterator/proto.js b/JSTests/test262/test/staging/sm/Iterator/proto.js index 86567c905f51b..1a806ea84536c 100644 --- a/JSTests/test262/test/staging/sm/Iterator/proto.js +++ b/JSTests/test262/test/staging/sm/Iterator/proto.js @@ -6,9 +6,6 @@ info: | The prototype of the Iterator constructor is the intrinsic object %FunctionPrototype%. Iterator is not enabled unconditionally -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - iterator-helpers description: | diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/drop/drop-more-than-available.js b/JSTests/test262/test/staging/sm/Iterator/prototype/drop/drop-more-than-available.js index 1e2a2274e2a49..5eb08d8543d55 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/drop/drop-more-than-available.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/drop/drop-more-than-available.js @@ -12,9 +12,6 @@ info: | c. If next is false, return undefined. features: - iterator-helpers -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict ---*/ // diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/drop/length.js b/JSTests/test262/test/staging/sm/Iterator/prototype/drop/length.js index e84b89b63b379..54386fe2bd85a 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/drop/length.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/drop/length.js @@ -10,9 +10,6 @@ info: | features: - Symbol.iterator - iterator-helpers -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict ---*/ // diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/drop/name.js b/JSTests/test262/test/staging/sm/Iterator/prototype/drop/name.js index fefae998f7132..5227c11a7a3b4 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/drop/name.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/drop/name.js @@ -9,9 +9,6 @@ info: | 17 ECMAScript Standard Built-in Objects features: - iterator-helpers -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict ---*/ assert.sameValue(Iterator.prototype.drop.name, 'drop'); diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/every/check-fn-after-getting-iterator.js b/JSTests/test262/test/staging/sm/Iterator/prototype/every/check-fn-after-getting-iterator.js index 77a2730cdb23c..f75946ee0e096 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/every/check-fn-after-getting-iterator.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/every/check-fn-after-getting-iterator.js @@ -2,9 +2,7 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, compareArray.js] -flags: - - noStrict +includes: [compareArray.js] features: - iterator-helpers info: | @@ -28,7 +26,7 @@ class TestIterator extends Iterator { } const iter = new Proxy(new TestIterator(), handlerProxy); -assertThrowsInstanceOf(() => iter.every(1), TypeError); +assert.throws(TypeError, () => iter.every(1)); assert.compareArray( log, diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/every/coerce-result-to-boolean.js b/JSTests/test262/test/staging/sm/Iterator/prototype/every/coerce-result-to-boolean.js index 1363de333828d..d18e15cee0888 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/every/coerce-result-to-boolean.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/every/coerce-result-to-boolean.js @@ -5,9 +5,6 @@ features: - IsHTMLDDA - iterator-helpers -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict info: | Iterator is not enabled unconditionally description: | @@ -31,6 +28,6 @@ assert.sameValue([NaN].values().every(fn), false); assert.sameValue([-0].values().every(fn), false); assert.sameValue([0n].values().every(fn), false); -const htmlDDA = createIsHTMLDDA(); +const htmlDDA = $262.IsHTMLDDA; assert.sameValue([htmlDDA].values().every(fn), false); diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/every/descriptor.js b/JSTests/test262/test/staging/sm/Iterator/prototype/every/descriptor.js index 60564246e36f9..cad18e29264e8 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/every/descriptor.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/every/descriptor.js @@ -6,9 +6,6 @@ info: | Descriptor property of Iterator.prototype.every Iterator is not enabled unconditionally -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - iterator-helpers description: | diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/every/error-from-correct-realm.js b/JSTests/test262/test/staging/sm/Iterator/prototype/every/error-from-correct-realm.js index c160cebdf7897..2301a599f5d53 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/every/error-from-correct-realm.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/every/error-from-correct-realm.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - iterator-helpers info: | @@ -14,15 +11,15 @@ description: | esid: pending ---*/ -const otherGlobal = createNewGlobal({newCompartment: true}); +const otherGlobal = $262.createRealm().global; assert.sameValue(TypeError !== otherGlobal.TypeError, true); const iter = [].values(); -assertThrowsInstanceOf(() => iter.every(), TypeError); -assertThrowsInstanceOf( - otherGlobal.Iterator.prototype.every.bind(iter), +assert.throws(TypeError, () => iter.every()); +assert.throws( otherGlobal.TypeError, + otherGlobal.Iterator.prototype.every.bind(iter), 'TypeError comes from the realm of the method.', ); diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/every/fn-not-callable-throws.js b/JSTests/test262/test/staging/sm/Iterator/prototype/every/fn-not-callable-throws.js index def0ce55c8966..ab6e80a41cec2 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/every/fn-not-callable-throws.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/every/fn-not-callable-throws.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - iterator-helpers info: | @@ -16,12 +13,12 @@ esid: pending const iter = [].values(); -assertThrowsInstanceOf(() => iter.every(), TypeError); -assertThrowsInstanceOf(() => iter.every(undefined), TypeError); -assertThrowsInstanceOf(() => iter.every(null), TypeError); -assertThrowsInstanceOf(() => iter.every(0), TypeError); -assertThrowsInstanceOf(() => iter.every(false), TypeError); -assertThrowsInstanceOf(() => iter.every(''), TypeError); -assertThrowsInstanceOf(() => iter.every(Symbol('')), TypeError); -assertThrowsInstanceOf(() => iter.every({}), TypeError); +assert.throws(TypeError, () => iter.every()); +assert.throws(TypeError, () => iter.every(undefined)); +assert.throws(TypeError, () => iter.every(null)); +assert.throws(TypeError, () => iter.every(0)); +assert.throws(TypeError, () => iter.every(false)); +assert.throws(TypeError, () => iter.every('')); +assert.throws(TypeError, () => iter.every(Symbol(''))); +assert.throws(TypeError, () => iter.every({})); diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/every/fn-throws-close-iterator.js b/JSTests/test262/test/staging/sm/Iterator/prototype/every/fn-throws-close-iterator.js index 797575b1b04ce..32c94aae8244e 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/every/fn-throws-close-iterator.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/every/fn-throws-close-iterator.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - iterator-helpers info: | @@ -29,6 +26,6 @@ const fn = () => { throw new Error(); }; const iter = new TestIterator(); assert.sameValue(iter.closed, false); -assertThrowsInstanceOf(() => iter.every(fn), Error); +assert.throws(Error, () => iter.every(fn)); assert.sameValue(iter.closed, true); diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/every/length.js b/JSTests/test262/test/staging/sm/Iterator/prototype/every/length.js index c89ee60028280..df2fb1622ef8c 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/every/length.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/every/length.js @@ -10,9 +10,6 @@ info: | false, [[Configurable]]: true }. Iterator is not enabled unconditionally -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - iterator-helpers esid: pending diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/every/name.js b/JSTests/test262/test/staging/sm/Iterator/prototype/every/name.js index b49c7012fed7d..c241de3fd8c8e 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/every/name.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/every/name.js @@ -4,9 +4,6 @@ /*--- description: | `name` property of Iterator.prototype.every. -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - iterator-helpers info: | diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/every/next-throws-iterator-not-closed.js b/JSTests/test262/test/staging/sm/Iterator/prototype/every/next-throws-iterator-not-closed.js index 125948f1f9f58..3d25fc67d4e19 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/every/next-throws-iterator-not-closed.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/every/next-throws-iterator-not-closed.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - iterator-helpers info: | @@ -29,6 +26,6 @@ const fn = () => {}; const iter = new TestIterator(); assert.sameValue(iter.closed, false); -assertThrowsInstanceOf(() => iter.every(fn), Error); +assert.throws(Error, () => iter.every(fn)); assert.sameValue(iter.closed, false); diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/every/proxy.js b/JSTests/test262/test/staging/sm/Iterator/prototype/every/proxy.js index de2634678524b..8e650f68c1bd3 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/every/proxy.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/every/proxy.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - iterator-helpers info: | diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/every/return-true-if-all-match.js b/JSTests/test262/test/staging/sm/Iterator/prototype/every/return-true-if-all-match.js index 75e7fd05dbd06..41fe69f05e972 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/every/return-true-if-all-match.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/every/return-true-if-all-match.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - iterator-helpers info: | diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/every/short-circuit-on-false.js b/JSTests/test262/test/staging/sm/Iterator/prototype/every/short-circuit-on-false.js index 82e632b0c06c7..10774bee874b6 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/every/short-circuit-on-false.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/every/short-circuit-on-false.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - iterator-helpers info: | diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/every/this-not-iterator-throws.js b/JSTests/test262/test/staging/sm/Iterator/prototype/every/this-not-iterator-throws.js index 090d3c5f289c1..aa71f5387429c 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/every/this-not-iterator-throws.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/every/this-not-iterator-throws.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - iterator-helpers info: | @@ -15,7 +12,7 @@ esid: pending ---*/ const fn = x => x; -assertThrowsInstanceOf(Iterator.prototype.every.bind(undefined, fn), TypeError); -assertThrowsInstanceOf(Iterator.prototype.every.bind({}, fn), TypeError); -assertThrowsInstanceOf(Iterator.prototype.every.bind({next: 0}, fn), TypeError); +assert.throws(TypeError, Iterator.prototype.every.bind(undefined, fn)); +assert.throws(TypeError, Iterator.prototype.every.bind({}, fn)); +assert.throws(TypeError, Iterator.prototype.every.bind({next: 0}, fn)); diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/every/value-throws-iterator-not-closed.js b/JSTests/test262/test/staging/sm/Iterator/prototype/every/value-throws-iterator-not-closed.js index 42987094784f6..509e8ea3a5129 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/every/value-throws-iterator-not-closed.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/every/value-throws-iterator-not-closed.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - iterator-helpers info: | @@ -32,6 +29,6 @@ class TestIterator extends Iterator { const iterator = new TestIterator(); assert.sameValue(iterator.closed, false, 'iterator starts unclosed'); -assertThrowsInstanceOf(() => iterator.every(x => x), TestError); +assert.throws(TestError, () => iterator.every(x => x)); assert.sameValue(iterator.closed, false, 'iterator remains unclosed'); diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/filter/coerce-result-to-boolean.js b/JSTests/test262/test/staging/sm/Iterator/prototype/filter/coerce-result-to-boolean.js index dd257a4e13d94..ed7a93deb533f 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/filter/coerce-result-to-boolean.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/filter/coerce-result-to-boolean.js @@ -5,9 +5,6 @@ features: - IsHTMLDDA - iterator-helpers -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict info: | Iterator is not enabled unconditionally description: | @@ -22,7 +19,7 @@ for (const value of [...truthyValues].values().filter(x => x)) { } // All falsy values are filtered out. -const falsyValues = [false, 0, '', null, undefined, NaN, -0, 0n, createIsHTMLDDA()]; +const falsyValues = [false, 0, '', null, undefined, NaN, -0, 0n, $262.IsHTMLDDA]; const result = falsyValues.values().filter(x => x).next(); assert.sameValue(result.done, true); assert.sameValue(result.value, undefined); diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/filter/length.js b/JSTests/test262/test/staging/sm/Iterator/prototype/filter/length.js index 42fd5d03b0a41..9e4c35e2b2d04 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/filter/length.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/filter/length.js @@ -10,9 +10,6 @@ info: | features: - Symbol.iterator - iterator-helpers -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict ---*/ // diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/filter/name.js b/JSTests/test262/test/staging/sm/Iterator/prototype/filter/name.js index 328fb2a293c6b..2b954f4f5aa0d 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/filter/name.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/filter/name.js @@ -9,9 +9,6 @@ info: | 17 ECMAScript Standard Built-in Objects features: - iterator-helpers -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict ---*/ assert.sameValue(Iterator.prototype.filter.name, 'filter'); diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/find/check-fn-after-getting-iterator.js b/JSTests/test262/test/staging/sm/Iterator/prototype/find/check-fn-after-getting-iterator.js index fbb4818e888e8..1643c89d32977 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/find/check-fn-after-getting-iterator.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/find/check-fn-after-getting-iterator.js @@ -2,9 +2,7 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, compareArray.js] -flags: - - noStrict +includes: [compareArray.js] features: - iterator-helpers info: | @@ -28,7 +26,7 @@ class TestIterator extends Iterator { } const iter = new Proxy(new TestIterator(), handlerProxy); -assertThrowsInstanceOf(() => iter.find(1), TypeError); +assert.throws(TypeError, () => iter.find(1)); assert.compareArray( log, diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/find/coerce-result-to-boolean.js b/JSTests/test262/test/staging/sm/Iterator/prototype/find/coerce-result-to-boolean.js index 9da0314ead686..b205bc3525637 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/find/coerce-result-to-boolean.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/find/coerce-result-to-boolean.js @@ -5,9 +5,6 @@ features: - IsHTMLDDA - iterator-helpers -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict info: | Iterator is not enabled unconditionally description: | @@ -35,6 +32,6 @@ assert.sameValue([array].values().find(fn), array); let object = {}; assert.sameValue([object].values().find(fn), object); -const htmlDDA = createIsHTMLDDA(); +const htmlDDA = $262.IsHTMLDDA; assert.sameValue([htmlDDA].values().find(fn), undefined); diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/find/descriptor.js b/JSTests/test262/test/staging/sm/Iterator/prototype/find/descriptor.js index 97b58de7044a6..860cd878f9479 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/find/descriptor.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/find/descriptor.js @@ -6,9 +6,6 @@ info: | Descriptor property of Iterator.prototype.find Iterator is not enabled unconditionally -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - iterator-helpers description: | diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/find/error-from-correct-realm.js b/JSTests/test262/test/staging/sm/Iterator/prototype/find/error-from-correct-realm.js index 992a7d1fb6479..6eafa15aa7a6e 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/find/error-from-correct-realm.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/find/error-from-correct-realm.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - iterator-helpers info: | @@ -14,15 +11,15 @@ description: | esid: pending ---*/ -const otherGlobal = createNewGlobal({newCompartment: true}); +const otherGlobal = $262.createRealm().global; assert.sameValue(TypeError !== otherGlobal.TypeError, true); const iter = [].values(); -assertThrowsInstanceOf(() => iter.find(), TypeError); -assertThrowsInstanceOf( - otherGlobal.Iterator.prototype.find.bind(iter), +assert.throws(TypeError, () => iter.find()); +assert.throws( otherGlobal.TypeError, + otherGlobal.Iterator.prototype.find.bind(iter), 'TypeError comes from the realm of the method.', ); diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/find/fn-not-callable-throws.js b/JSTests/test262/test/staging/sm/Iterator/prototype/find/fn-not-callable-throws.js index 8f8efcb01fd4f..3d7121df3ea04 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/find/fn-not-callable-throws.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/find/fn-not-callable-throws.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - iterator-helpers info: | @@ -16,12 +13,12 @@ esid: pending const iter = [].values(); -assertThrowsInstanceOf(() => iter.find(), TypeError); -assertThrowsInstanceOf(() => iter.find(undefined), TypeError); -assertThrowsInstanceOf(() => iter.find(null), TypeError); -assertThrowsInstanceOf(() => iter.find(0), TypeError); -assertThrowsInstanceOf(() => iter.find(false), TypeError); -assertThrowsInstanceOf(() => iter.find(''), TypeError); -assertThrowsInstanceOf(() => iter.find(Symbol('')), TypeError); -assertThrowsInstanceOf(() => iter.find({}), TypeError); +assert.throws(TypeError, () => iter.find()); +assert.throws(TypeError, () => iter.find(undefined)); +assert.throws(TypeError, () => iter.find(null)); +assert.throws(TypeError, () => iter.find(0)); +assert.throws(TypeError, () => iter.find(false)); +assert.throws(TypeError, () => iter.find('')); +assert.throws(TypeError, () => iter.find(Symbol(''))); +assert.throws(TypeError, () => iter.find({})); diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/find/fn-throws-close-iterator.js b/JSTests/test262/test/staging/sm/Iterator/prototype/find/fn-throws-close-iterator.js index 6dd9b4fe60b6a..ea5facfd5ae2f 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/find/fn-throws-close-iterator.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/find/fn-throws-close-iterator.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - iterator-helpers info: | @@ -29,6 +26,6 @@ const fn = (value) => { throw new Error(); }; const iter = new TestIterator(); assert.sameValue(iter.closed, false); -assertThrowsInstanceOf(() => iter.find(fn), Error); +assert.throws(Error, () => iter.find(fn)); assert.sameValue(iter.closed, true); diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/find/length.js b/JSTests/test262/test/staging/sm/Iterator/prototype/find/length.js index ad6633562002b..115894e0062fe 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/find/length.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/find/length.js @@ -10,9 +10,6 @@ info: | false, [[Configurable]]: true }. Iterator is not enabled unconditionally -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - iterator-helpers esid: pending diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/find/name.js b/JSTests/test262/test/staging/sm/Iterator/prototype/find/name.js index 36af75b70c3bd..058f58dd56681 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/find/name.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/find/name.js @@ -4,9 +4,6 @@ /*--- description: | `name` property of Iterator.prototype.find. -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - iterator-helpers info: | diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/find/next-throws-iterator-not-closed.js b/JSTests/test262/test/staging/sm/Iterator/prototype/find/next-throws-iterator-not-closed.js index 8e5f9fa652765..87c9e7f63f818 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/find/next-throws-iterator-not-closed.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/find/next-throws-iterator-not-closed.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - iterator-helpers info: | @@ -29,6 +26,6 @@ const fn = x => x; const iter = new TestIterator(); assert.sameValue(iter.closed, false); -assertThrowsInstanceOf(() => iter.find(fn), Error); +assert.throws(Error, () => iter.find(fn)); assert.sameValue(iter.closed, false); diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/find/proxy.js b/JSTests/test262/test/staging/sm/Iterator/prototype/find/proxy.js index d3cfc9a473b8b..0a325f4c52f82 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/find/proxy.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/find/proxy.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - iterator-helpers info: | diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/find/return-undefined-if-none-match.js b/JSTests/test262/test/staging/sm/Iterator/prototype/find/return-undefined-if-none-match.js index 77e3edab23046..a2ddec36dcb9f 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/find/return-undefined-if-none-match.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/find/return-undefined-if-none-match.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - iterator-helpers info: | diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/find/short-circuit-on-match.js b/JSTests/test262/test/staging/sm/Iterator/prototype/find/short-circuit-on-match.js index 3598aba849535..30832e1670402 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/find/short-circuit-on-match.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/find/short-circuit-on-match.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - iterator-helpers info: | diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/find/this-not-iterator-throws.js b/JSTests/test262/test/staging/sm/Iterator/prototype/find/this-not-iterator-throws.js index d7d3cdf73d30a..5c50dd91e4ded 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/find/this-not-iterator-throws.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/find/this-not-iterator-throws.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - iterator-helpers info: | @@ -15,7 +12,7 @@ esid: pending ---*/ const fn = x => x; -assertThrowsInstanceOf(Iterator.prototype.find.bind(undefined, fn), TypeError); -assertThrowsInstanceOf(Iterator.prototype.find.bind({}, fn), TypeError); -assertThrowsInstanceOf(Iterator.prototype.find.bind({next: 0}, fn), TypeError); +assert.throws(TypeError, Iterator.prototype.find.bind(undefined, fn)); +assert.throws(TypeError, Iterator.prototype.find.bind({}, fn)); +assert.throws(TypeError, Iterator.prototype.find.bind({next: 0}, fn)); diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/find/value-throws-iterator-not-closed.js b/JSTests/test262/test/staging/sm/Iterator/prototype/find/value-throws-iterator-not-closed.js index 4958570e228e3..2b1018e73f906 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/find/value-throws-iterator-not-closed.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/find/value-throws-iterator-not-closed.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - iterator-helpers info: | @@ -32,6 +29,6 @@ class TestIterator extends Iterator { const iterator = new TestIterator(); assert.sameValue(iterator.closed, false, 'iterator starts unclosed'); -assertThrowsInstanceOf(() => iterator.find(x => x), TestError); +assert.throws(TestError, () => iterator.find(x => x)); assert.sameValue(iterator.closed, false, 'iterator remains unclosed'); diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/flatMap/close-iterator-when-inner-complete-throws.js b/JSTests/test262/test/staging/sm/Iterator/prototype/flatMap/close-iterator-when-inner-complete-throws.js index 35a176ebca829..e879b3887f98e 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/flatMap/close-iterator-when-inner-complete-throws.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/flatMap/close-iterator-when-inner-complete-throws.js @@ -13,9 +13,6 @@ info: | iv. IfAbruptCloseIterator(innerComplete, iterated). features: - iterator-helpers -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict ---*/ class TestIterator extends Iterator { next() { @@ -44,6 +41,6 @@ const iter = new TestIterator(); const mapped = iter.flatMap(x => new InnerIterator()); assert.sameValue(iter.closed, false); -assertThrowsInstanceOf(() => mapped.next(), TestError); +assert.throws(TestError, () => mapped.next()); assert.sameValue(iter.closed, true); diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/flatMap/close-iterator-when-inner-next-throws.js b/JSTests/test262/test/staging/sm/Iterator/prototype/flatMap/close-iterator-when-inner-next-throws.js index 0eea13097c687..c0b5f1890fa78 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/flatMap/close-iterator-when-inner-next-throws.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/flatMap/close-iterator-when-inner-next-throws.js @@ -13,9 +13,6 @@ info: | ii. IfAbruptCloseIterator(innerNext, iterated). features: - iterator-helpers -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict ---*/ class TestIterator extends Iterator { next() { @@ -40,6 +37,6 @@ const iter = new TestIterator(); const mapped = iter.flatMap(x => new InnerIterator()); assert.sameValue(iter.closed, false); -assertThrowsInstanceOf(() => mapped.next(), TestError); +assert.throws(TestError, () => mapped.next()); assert.sameValue(iter.closed, true); diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/flatMap/close-iterator-when-inner-value-throws.js b/JSTests/test262/test/staging/sm/Iterator/prototype/flatMap/close-iterator-when-inner-value-throws.js index 67b47c574ef29..096bee032835c 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/flatMap/close-iterator-when-inner-value-throws.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/flatMap/close-iterator-when-inner-value-throws.js @@ -15,9 +15,6 @@ info: | 2. IfAbruptCloseIterator(innerValue, iterated). features: - iterator-helpers -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict ---*/ class TestIterator extends Iterator { next() { @@ -47,6 +44,6 @@ const iter = new TestIterator(); const mapped = iter.flatMap(x => new InnerIterator()); assert.sameValue(iter.closed, false); -assertThrowsInstanceOf(() => mapped.next(), TestError); +assert.throws(TestError, () => mapped.next()); assert.sameValue(iter.closed, true); diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/flatMap/inner-empty-iterable.js b/JSTests/test262/test/staging/sm/Iterator/prototype/flatMap/inner-empty-iterable.js index e3fc8409d7e13..056345f6766ff 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/flatMap/inner-empty-iterable.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/flatMap/inner-empty-iterable.js @@ -15,9 +15,6 @@ info: | v. If innerComplete is true, set innerAlive to false. features: - iterator-helpers -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict ---*/ let iter = [0, 1, 2, 3].values().flatMap(x => x % 2 ? [] : [x]); diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/flatMap/inner-generator.js b/JSTests/test262/test/staging/sm/Iterator/prototype/flatMap/inner-generator.js index 2fee4d52689f8..3dcb80efbff84 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/flatMap/inner-generator.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/flatMap/inner-generator.js @@ -9,9 +9,6 @@ info: | Iterator Helpers proposal 2.1.5.7 features: - iterator-helpers -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict ---*/ const iter = [1, 2].values().flatMap(function*(x) { yield x; diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/flatMap/length.js b/JSTests/test262/test/staging/sm/Iterator/prototype/flatMap/length.js index cac7e08030aaf..3e3ab0c4becfb 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/flatMap/length.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/flatMap/length.js @@ -10,9 +10,6 @@ info: | features: - Symbol.iterator - iterator-helpers -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict ---*/ assert.sameValue(Iterator.prototype.flatMap.length, 1); diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/flatMap/name.js b/JSTests/test262/test/staging/sm/Iterator/prototype/flatMap/name.js index 7eaa35cebe886..78d501c5d9d46 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/flatMap/name.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/flatMap/name.js @@ -9,9 +9,6 @@ info: | 17 ECMAScript Standard Built-in Objects features: - iterator-helpers -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict ---*/ assert.sameValue(Iterator.prototype.flatMap.name, 'flatMap'); diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/flatMap/throw-when-inner-not-iterable.js b/JSTests/test262/test/staging/sm/Iterator/prototype/flatMap/throw-when-inner-not-iterable.js index 40b97235c908b..6919a1a347828 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/flatMap/throw-when-inner-not-iterable.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/flatMap/throw-when-inner-not-iterable.js @@ -12,9 +12,6 @@ info: | g. IfAbruptCloseIterator(innerIterator, iterated). features: - iterator-helpers -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict ---*/ class InvalidIterable { [Symbol.iterator]() { @@ -50,7 +47,7 @@ for (const value of nonIterables) { const mapped = iter.flatMap(x => value); assert.sameValue(iter.closed, false); - assertThrowsInstanceOf(() => mapped.next(), TypeError); + assert.throws(TypeError, () => mapped.next()); assert.sameValue(iter.closed, true); } diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/forEach/check-fn-after-getting-iterator.js b/JSTests/test262/test/staging/sm/Iterator/prototype/forEach/check-fn-after-getting-iterator.js index 914ef3625470c..e1a9c4d546b31 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/forEach/check-fn-after-getting-iterator.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/forEach/check-fn-after-getting-iterator.js @@ -2,9 +2,7 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, compareArray.js] -flags: - - noStrict +includes: [compareArray.js] features: - iterator-helpers info: | @@ -28,7 +26,7 @@ class TestIterator extends Iterator { } const iter = new Proxy(new TestIterator(), handlerProxy); -assertThrowsInstanceOf(() => iter.forEach(1), TypeError); +assert.throws(TypeError, () => iter.forEach(1)); assert.compareArray( log, diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/forEach/descriptor.js b/JSTests/test262/test/staging/sm/Iterator/prototype/forEach/descriptor.js index a61b8dbae58c2..f02127b2226c1 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/forEach/descriptor.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/forEach/descriptor.js @@ -6,9 +6,6 @@ info: | Descriptor property of Iterator.prototype.forEach Iterator is not enabled unconditionally -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - iterator-helpers description: | diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/forEach/error-from-correct-realm.js b/JSTests/test262/test/staging/sm/Iterator/prototype/forEach/error-from-correct-realm.js index d8bd026979377..0ce52ec88d712 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/forEach/error-from-correct-realm.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/forEach/error-from-correct-realm.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - iterator-helpers info: | @@ -14,15 +11,15 @@ description: | esid: pending ---*/ -const otherGlobal = createNewGlobal({newCompartment: true}); +const otherGlobal = $262.createRealm().global; assert.sameValue(TypeError !== otherGlobal.TypeError, true); const iter = [].values(); -assertThrowsInstanceOf(() => iter.forEach(), TypeError); -assertThrowsInstanceOf( - otherGlobal.Iterator.prototype.forEach.bind(iter), +assert.throws(TypeError, () => iter.forEach(), TypeError); +assert.throws( otherGlobal.TypeError, + otherGlobal.Iterator.prototype.forEach.bind(iter), 'TypeError comes from the realm of the method.', ); diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/forEach/fn-not-callable-throws.js b/JSTests/test262/test/staging/sm/Iterator/prototype/forEach/fn-not-callable-throws.js index 3267b07877e10..76b438fce0fcf 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/forEach/fn-not-callable-throws.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/forEach/fn-not-callable-throws.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - iterator-helpers info: | @@ -16,12 +13,12 @@ esid: pending const iter = [].values(); -assertThrowsInstanceOf(() => iter.forEach(), TypeError); -assertThrowsInstanceOf(() => iter.forEach(undefined), TypeError); -assertThrowsInstanceOf(() => iter.forEach(null), TypeError); -assertThrowsInstanceOf(() => iter.forEach(0), TypeError); -assertThrowsInstanceOf(() => iter.forEach(false), TypeError); -assertThrowsInstanceOf(() => iter.forEach(''), TypeError); -assertThrowsInstanceOf(() => iter.forEach(Symbol('')), TypeError); -assertThrowsInstanceOf(() => iter.forEach({}), TypeError); +assert.throws(TypeError, () => iter.forEach()); +assert.throws(TypeError, () => iter.forEach(undefined)); +assert.throws(TypeError, () => iter.forEach(null)); +assert.throws(TypeError, () => iter.forEach(0)); +assert.throws(TypeError, () => iter.forEach(false)); +assert.throws(TypeError, () => iter.forEach('')); +assert.throws(TypeError, () => iter.forEach(Symbol(''))); +assert.throws(TypeError, () => iter.forEach({})); diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/forEach/fn-throws-close-iterator.js b/JSTests/test262/test/staging/sm/Iterator/prototype/forEach/fn-throws-close-iterator.js index 543afaf1f25db..344c1cf7c8b66 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/forEach/fn-throws-close-iterator.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/forEach/fn-throws-close-iterator.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - iterator-helpers info: | @@ -29,6 +26,6 @@ const fn = () => { throw new Error(); }; const iter = new TestIterator(); assert.sameValue(iter.closed, false); -assertThrowsInstanceOf(() => iter.forEach(fn), Error); +assert.throws(Error, () => iter.forEach(fn)); assert.sameValue(iter.closed, true); diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/forEach/forEach.js b/JSTests/test262/test/staging/sm/Iterator/prototype/forEach/forEach.js index 2ffb0d8b34032..77b153cdabafd 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/forEach/forEach.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/forEach/forEach.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - iterator-helpers info: | diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/forEach/length.js b/JSTests/test262/test/staging/sm/Iterator/prototype/forEach/length.js index e71bd87c590f9..f1553544efc0a 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/forEach/length.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/forEach/length.js @@ -10,9 +10,6 @@ info: | false, [[Configurable]]: true }. Iterator is not enabled unconditionally -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - iterator-helpers esid: pending diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/forEach/name.js b/JSTests/test262/test/staging/sm/Iterator/prototype/forEach/name.js index 33144799f6155..d8efefc28a131 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/forEach/name.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/forEach/name.js @@ -4,9 +4,6 @@ /*--- description: | `name` property of Iterator.prototype.forEach. -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - iterator-helpers info: | diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/forEach/next-throws-iterator-not-closed.js b/JSTests/test262/test/staging/sm/Iterator/prototype/forEach/next-throws-iterator-not-closed.js index dce94b4bfb7da..2107a1590019b 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/forEach/next-throws-iterator-not-closed.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/forEach/next-throws-iterator-not-closed.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - iterator-helpers info: | @@ -29,6 +26,6 @@ const fn = () => {}; const iter = new TestIterator(); assert.sameValue(iter.closed, false); -assertThrowsInstanceOf(() => iter.forEach(fn), Error); +assert.throws(Error, () => iter.forEach(fn)); assert.sameValue(iter.closed, false); diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/forEach/proxy.js b/JSTests/test262/test/staging/sm/Iterator/prototype/forEach/proxy.js index b4e7d41e67f47..446becdf501b7 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/forEach/proxy.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/forEach/proxy.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - iterator-helpers info: | diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/forEach/this-not-iterator-throws.js b/JSTests/test262/test/staging/sm/Iterator/prototype/forEach/this-not-iterator-throws.js index 64f6a57d92cd8..8a46451ca2fde 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/forEach/this-not-iterator-throws.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/forEach/this-not-iterator-throws.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - iterator-helpers info: | @@ -15,7 +12,7 @@ esid: pending ---*/ const fn = x => x; -assertThrowsInstanceOf(Iterator.prototype.forEach.bind(undefined, fn), TypeError); -assertThrowsInstanceOf(Iterator.prototype.forEach.bind({}, fn), TypeError); -assertThrowsInstanceOf(Iterator.prototype.forEach.bind({next: 0}, fn), TypeError); +assert.throws(TypeError, Iterator.prototype.forEach.bind(undefined, fn)); +assert.throws(TypeError, Iterator.prototype.forEach.bind({}, fn)); +assert.throws(TypeError, Iterator.prototype.forEach.bind({next: 0}, fn)); diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/forEach/value-throws-iterator-not-closed.js b/JSTests/test262/test/staging/sm/Iterator/prototype/forEach/value-throws-iterator-not-closed.js index d6634a9829cf9..411245826aa31 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/forEach/value-throws-iterator-not-closed.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/forEach/value-throws-iterator-not-closed.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - iterator-helpers info: | @@ -32,6 +29,6 @@ class TestIterator extends Iterator { const iterator = new TestIterator(); assert.sameValue(iterator.closed, false, 'iterator starts unclosed'); -assertThrowsInstanceOf(() => iterator.forEach(x => x), TestError); +assert.throws(TestError, () => iterator.forEach(x => x)); assert.sameValue(iterator.closed, false, 'iterator remains unclosed'); diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/generator-methods-throw-on-iterator-helpers.js b/JSTests/test262/test/staging/sm/Iterator/prototype/generator-methods-throw-on-iterator-helpers.js index 8b7b05a7b031c..d8213fafd6cac 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/generator-methods-throw-on-iterator-helpers.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/generator-methods-throw-on-iterator-helpers.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - iterator-helpers description: | @@ -20,7 +17,7 @@ const generatorProto = Object.getPrototypeOf( const iteratorHelper = [0].values().map(x => x); -assertThrowsInstanceOf(() => generatorProto.next.call(iteratorHelper), TypeError); -assertThrowsInstanceOf(() => generatorProto.return.call(iteratorHelper), TypeError); -assertThrowsInstanceOf(() => generatorProto.throw.call(iteratorHelper), TypeError); +assert.throws(TypeError, () => generatorProto.next.call(iteratorHelper)); +assert.throws(TypeError, () => generatorProto.return.call(iteratorHelper)); +assert.throws(TypeError, () => generatorProto.throw.call(iteratorHelper)); diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/iterator-helper-methods-throw-on-generators.js b/JSTests/test262/test/staging/sm/Iterator/prototype/iterator-helper-methods-throw-on-generators.js index 3b91defdf91df..5c16d2f4e6590 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/iterator-helper-methods-throw-on-generators.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/iterator-helper-methods-throw-on-generators.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - iterator-helpers description: | @@ -18,7 +15,7 @@ function *gen() { yield 1; } -assertThrowsInstanceOf(() => iteratorHelperProto.next.call(gen()), TypeError); -assertThrowsInstanceOf(() => iteratorHelperProto.return.call(gen()), TypeError); -assertThrowsInstanceOf(() => iteratorHelperProto.throw.call(gen()), TypeError); +assert.throws(TypeError, () => iteratorHelperProto.next.call(gen())); +assert.throws(TypeError, () => iteratorHelperProto.return.call(gen())); +assert.throws(TypeError, () => iteratorHelperProto.throw.call(gen())); diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/iterator-helpers-from-other-global.js b/JSTests/test262/test/staging/sm/Iterator/prototype/iterator-helpers-from-other-global.js index ff97cebad3014..f5fd0b3b3c370 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/iterator-helpers-from-other-global.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/iterator-helpers-from-other-global.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - iterator-helpers description: | @@ -31,7 +28,7 @@ function checkIterResult({done, value}, expectedDone, expectedValue) { assert.sameValue(Array.isArray(value) ? value[1] : value, expectedValue); } -const otherGlobal = createNewGlobal({newCompartment: true}); +const otherGlobal = $262.createRealm().global; const methods = [ ["map", x => x], diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/lazy-methods-from-other-global.js b/JSTests/test262/test/staging/sm/Iterator/prototype/lazy-methods-from-other-global.js index c2622560d875d..04ae505ce4aa2 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/lazy-methods-from-other-global.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/lazy-methods-from-other-global.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - iterator-helpers description: | @@ -12,7 +9,7 @@ description: | esid: pending ---*/ -const otherIteratorProto = createNewGlobal({newCompartment: true}).Iterator.prototype; +const otherIteratorProto = $262.createRealm().global.Iterator.prototype; const methods = [ ["map", x => x], diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/lazy-methods-handle-empty-iterators.js b/JSTests/test262/test/staging/sm/Iterator/prototype/lazy-methods-handle-empty-iterators.js index e73a9f99f3454..4f42df52eb87d 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/lazy-methods-handle-empty-iterators.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/lazy-methods-handle-empty-iterators.js @@ -9,9 +9,6 @@ info: | Iterator Helpers proposal 2.1.5 features: - iterator-helpers -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict ---*/ // diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/lazy-methods-interleaved.js b/JSTests/test262/test/staging/sm/Iterator/prototype/lazy-methods-interleaved.js index 6386b55dbcaca..517e2381c6376 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/lazy-methods-interleaved.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/lazy-methods-interleaved.js @@ -9,9 +9,6 @@ info: | Iterator Helpers proposal 2.1.5 features: - iterator-helpers -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict ---*/ // diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/lazy-methods-iterator-closed-on-call-throws.js b/JSTests/test262/test/staging/sm/Iterator/prototype/lazy-methods-iterator-closed-on-call-throws.js index 7e3d72bdbb890..30d12d14e597c 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/lazy-methods-iterator-closed-on-call-throws.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/lazy-methods-iterator-closed-on-call-throws.js @@ -9,9 +9,6 @@ info: | Iterator Helpers proposal 2.1.5 features: - iterator-helpers -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict ---*/ // @@ -41,7 +38,7 @@ const methods = [ for (const method of methods) { const iter = new TestIterator(); assert.sameValue(iter.closed, false); - assertThrowsInstanceOf(() => method(iter).next(), TestError); + assert.throws(TestError, () => method(iter).next()); assert.sameValue(iter.closed, true); } diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/lazy-methods-iterator-closed-on-yield-throws.js b/JSTests/test262/test/staging/sm/Iterator/prototype/lazy-methods-iterator-closed-on-yield-throws.js index 515337bc10005..44dc8bcaf6dc5 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/lazy-methods-iterator-closed-on-yield-throws.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/lazy-methods-iterator-closed-on-yield-throws.js @@ -9,9 +9,6 @@ info: | Iterator Helpers proposal 2.1.5 features: - iterator-helpers -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict ---*/ // diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/lazy-methods-iterator-not-closed-on-next-throws.js b/JSTests/test262/test/staging/sm/Iterator/prototype/lazy-methods-iterator-not-closed-on-next-throws.js index 792fce1f1e320..0c33675ff5f52 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/lazy-methods-iterator-not-closed-on-next-throws.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/lazy-methods-iterator-not-closed-on-next-throws.js @@ -9,9 +9,6 @@ info: | Iterator Helpers proposal 2.1.5 features: - iterator-helpers -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict ---*/ // @@ -41,7 +38,7 @@ const methods = [ for (const method of methods) { assert.sameValue(iterator.closed, false); - assertThrowsInstanceOf(() => method(iterator).next(), TestError); + assert.throws(TestError, () => method(iterator).next()); assert.sameValue(iterator.closed, false); } diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/lazy-methods-iterator-not-closed-on-value-throws.js b/JSTests/test262/test/staging/sm/Iterator/prototype/lazy-methods-iterator-not-closed-on-value-throws.js index 9ec39e11adb36..7812ca2f605ee 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/lazy-methods-iterator-not-closed-on-value-throws.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/lazy-methods-iterator-not-closed-on-value-throws.js @@ -9,9 +9,6 @@ info: | Iterator Helpers proposal 2.1.5 features: - iterator-helpers -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict ---*/ // @@ -45,7 +42,7 @@ const methods = [ for (const method of methods) { assert.sameValue(iterator.closed, false); - assertThrowsInstanceOf(() => method(iterator).next(), TestError); + assert.throws(TestError, () => method(iterator).next()); assert.sameValue(iterator.closed, false); } diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/lazy-methods-iterator-returns-done-generator-finishes.js b/JSTests/test262/test/staging/sm/Iterator/prototype/lazy-methods-iterator-returns-done-generator-finishes.js index 5594a88444acb..7e206b13a0583 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/lazy-methods-iterator-returns-done-generator-finishes.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/lazy-methods-iterator-returns-done-generator-finishes.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - iterator-helpers description: | diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/lazy-methods-multiple-return-close-iterator-once.js b/JSTests/test262/test/staging/sm/Iterator/prototype/lazy-methods-multiple-return-close-iterator-once.js index d51fe538c1249..b23464811a9e8 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/lazy-methods-multiple-return-close-iterator-once.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/lazy-methods-multiple-return-close-iterator-once.js @@ -9,9 +9,6 @@ info: | Iterator Helpers proposal 2.1.5 features: - iterator-helpers -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict ---*/ // diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/lazy-methods-pass-through-lastValue.js b/JSTests/test262/test/staging/sm/Iterator/prototype/lazy-methods-pass-through-lastValue.js index 871c6e39a5a7d..bfae4ba03bb50 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/lazy-methods-pass-through-lastValue.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/lazy-methods-pass-through-lastValue.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - iterator-helpers description: | diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/lazy-methods-pass-value-through-chain.js b/JSTests/test262/test/staging/sm/Iterator/prototype/lazy-methods-pass-value-through-chain.js index 8ad822f9f3221..a683ad209e231 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/lazy-methods-pass-value-through-chain.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/lazy-methods-pass-value-through-chain.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - iterator-helpers description: | diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/lazy-methods-proxy-accesses.js b/JSTests/test262/test/staging/sm/Iterator/prototype/lazy-methods-proxy-accesses.js index eb67c6a7515de..d99ebf5852e90 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/lazy-methods-proxy-accesses.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/lazy-methods-proxy-accesses.js @@ -7,9 +7,6 @@ description: | Lazy %Iterator.prototype% methods access specified properties only. features: - iterator-helpers -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict ---*/ // diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/lazy-methods-reentry-not-close-iterator.js b/JSTests/test262/test/staging/sm/Iterator/prototype/lazy-methods-reentry-not-close-iterator.js index c4084f024d4a0..4c0a4c2c1bae4 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/lazy-methods-reentry-not-close-iterator.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/lazy-methods-reentry-not-close-iterator.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - iterator-helpers description: | @@ -27,7 +24,7 @@ for (const method of methods) { if (x == 2) { // Reenter the currently running generator. reentered = true; - assertThrowsInstanceOf(() => iterHelper.next(), TypeError); + assert.throws(TypeError, () => iterHelper.next()); } return method[1](x); }); diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/lazy-methods-return-closes-iterator.js b/JSTests/test262/test/staging/sm/Iterator/prototype/lazy-methods-return-closes-iterator.js index 7d0c9bcbd6c60..9ea5f7771aac1 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/lazy-methods-return-closes-iterator.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/lazy-methods-return-closes-iterator.js @@ -9,9 +9,6 @@ info: | Iterator Helpers proposal 2.1.5 features: - iterator-helpers -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict ---*/ // diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/lazy-methods-return-new-iterator-result.js b/JSTests/test262/test/staging/sm/Iterator/prototype/lazy-methods-return-new-iterator-result.js index 7528c215549d9..4555fb80efe64 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/lazy-methods-return-new-iterator-result.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/lazy-methods-return-new-iterator-result.js @@ -9,9 +9,6 @@ info: | Iterator Helpers proposal 2.1.5 features: - iterator-helpers -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict ---*/ // diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/lazy-methods-throw-eagerly-on-next-non-callable.js b/JSTests/test262/test/staging/sm/Iterator/prototype/lazy-methods-throw-eagerly-on-next-non-callable.js index 794c9133630ce..33ae03953c000 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/lazy-methods-throw-eagerly-on-next-non-callable.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/lazy-methods-throw-eagerly-on-next-non-callable.js @@ -9,9 +9,6 @@ info: | Iterator Helpers proposal 1.1.1 features: - iterator-helpers -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict ---*/ // diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/lazy-methods-throw-eagerly-on-non-callable.js b/JSTests/test262/test/staging/sm/Iterator/prototype/lazy-methods-throw-eagerly-on-non-callable.js index 105c6322556f1..a001563ff8539 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/lazy-methods-throw-eagerly-on-non-callable.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/lazy-methods-throw-eagerly-on-non-callable.js @@ -9,9 +9,6 @@ info: | Iterator Helpers proposal 2.1.5 features: - iterator-helpers -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict ---*/ // @@ -23,20 +20,20 @@ const methods = [ ]; for (const method of methods) { - assertThrowsInstanceOf(() => method(Iterator.prototype, 0), TypeError); - assertThrowsInstanceOf(() => method(Iterator.prototype, false), TypeError); - assertThrowsInstanceOf(() => method(Iterator.prototype, undefined), TypeError); - assertThrowsInstanceOf(() => method(Iterator.prototype, null), TypeError); - assertThrowsInstanceOf(() => method(Iterator.prototype, ''), TypeError); - assertThrowsInstanceOf(() => method(Iterator.prototype, Symbol('')), TypeError); - assertThrowsInstanceOf(() => method(Iterator.prototype, {}), TypeError); + assert.throws(TypeError, () => method(Iterator.prototype, 0)); + assert.throws(TypeError, () => method(Iterator.prototype, false)); + assert.throws(TypeError, () => method(Iterator.prototype, undefined)); + assert.throws(TypeError, () => method(Iterator.prototype, null)); + assert.throws(TypeError, () => method(Iterator.prototype, '')); + assert.throws(TypeError, () => method(Iterator.prototype, Symbol(''))); + assert.throws(TypeError, () => method(Iterator.prototype, {})); - assertThrowsInstanceOf(() => method([].values(), 0), TypeError); - assertThrowsInstanceOf(() => method([].values(), false), TypeError); - assertThrowsInstanceOf(() => method([].values(), undefined), TypeError); - assertThrowsInstanceOf(() => method([].values(), null), TypeError); - assertThrowsInstanceOf(() => method([].values(), ''), TypeError); - assertThrowsInstanceOf(() => method([].values(), Symbol('')), TypeError); - assertThrowsInstanceOf(() => method([].values(), {}), TypeError); + assert.throws(TypeError, () => method([].values(), 0)); + assert.throws(TypeError, () => method([].values(), false)); + assert.throws(TypeError, () => method([].values(), undefined)); + assert.throws(TypeError, () => method([].values(), null)); + assert.throws(TypeError, () => method([].values(), '')); + assert.throws(TypeError, () => method([].values(), Symbol(''))); + assert.throws(TypeError, () => method([].values(), {})); } diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/lazy-methods-throw-eagerly-on-non-iterator.js b/JSTests/test262/test/staging/sm/Iterator/prototype/lazy-methods-throw-eagerly-on-non-iterator.js index b48bf14c0fa64..8d231e27c89cd 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/lazy-methods-throw-eagerly-on-non-iterator.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/lazy-methods-throw-eagerly-on-non-iterator.js @@ -9,9 +9,6 @@ info: | Iterator Helpers proposal 1.1.1 features: - iterator-helpers -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict ---*/ // @@ -25,12 +22,12 @@ const methods = [ ]; for (const method of methods) { - assertThrowsInstanceOf(method(undefined), TypeError); - assertThrowsInstanceOf(method(null), TypeError); - assertThrowsInstanceOf(method(0), TypeError); - assertThrowsInstanceOf(method(false), TypeError); - assertThrowsInstanceOf(method(''), TypeError); - assertThrowsInstanceOf(method(Symbol('')), TypeError); + assert.throws(TypeError, method(undefined)); + assert.throws(TypeError, method(null)); + assert.throws(TypeError, method(0)); + assert.throws(TypeError, method(false)); + assert.throws(TypeError, method('')); + assert.throws(TypeError, method(Symbol(''))); // No error here. method({}); diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/lazy-methods-throw-next-done-throws.js b/JSTests/test262/test/staging/sm/Iterator/prototype/lazy-methods-throw-next-done-throws.js index 39906c077be60..dd4a51c3f2565 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/lazy-methods-throw-next-done-throws.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/lazy-methods-throw-next-done-throws.js @@ -9,9 +9,6 @@ info: | Iterator Helpers proposal 2.1.5 features: - iterator-helpers -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict ---*/ // @@ -44,7 +41,7 @@ const methods = [ for (const method of methods) { const iterator = new TestIterator(); assert.sameValue(iterator.closed, false); - assertThrowsInstanceOf(() => method(iterator).next(), TestError); + assert.throws(TestError, () => method(iterator).next()); assert.sameValue(iterator.closed, false); } diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/lazy-methods-throw-next-not-object.js b/JSTests/test262/test/staging/sm/Iterator/prototype/lazy-methods-throw-next-not-object.js index 6a1eaa09e8496..dd967d6d5d211 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/lazy-methods-throw-next-not-object.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/lazy-methods-throw-next-not-object.js @@ -9,9 +9,6 @@ info: | Iterator Helpers proposal 2.1.5 features: - iterator-helpers -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict ---*/ // @@ -40,7 +37,7 @@ for (const method of methods) { for (const value of [undefined, null, 0, false, '', Symbol('')]) { const iterator = new TestIterator(); assert.sameValue(iterator.closed, false); - assertThrowsInstanceOf(() => method(iterator).next(value), TypeError); + assert.throws(TypeError, () => method(iterator).next(value)); assert.sameValue(iterator.closed, false); } } diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/lazy-methods-throw-on-reentry.js b/JSTests/test262/test/staging/sm/Iterator/prototype/lazy-methods-throw-on-reentry.js index 10293fb26416a..f0ee58d520fd8 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/lazy-methods-throw-on-reentry.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/lazy-methods-throw-on-reentry.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - iterator-helpers description: | @@ -23,6 +20,6 @@ for (const method of methods) { const iterMethod = method(iter); let iterHelper; iterHelper = iterMethod.call(iter, x => iterHelper.next()); - assertThrowsInstanceOf(() => iterHelper.next(), TypeError); + assert.throws(TypeError, () => iterHelper.next()); } diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/map/call-next-on-iterator-while-iterating.js b/JSTests/test262/test/staging/sm/Iterator/prototype/map/call-next-on-iterator-while-iterating.js index aad1726e410f3..18e7486386c54 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/map/call-next-on-iterator-while-iterating.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/map/call-next-on-iterator-while-iterating.js @@ -7,9 +7,6 @@ description: | Call next on an iterator that is being iterated over. features: - iterator-helpers -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict ---*/ const iterator = [1, 2, 3].values() diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/map/clobber-symbol.js b/JSTests/test262/test/staging/sm/Iterator/prototype/map/clobber-symbol.js index c16f8044a6ceb..a5fdd50226328 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/map/clobber-symbol.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/map/clobber-symbol.js @@ -9,14 +9,11 @@ features: - Symbol - Symbol.iterator - iterator-helpers -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict info: | Iterator is not enabled unconditionally ---*/ Symbol = undefined; -assertThrowsInstanceOf(() => Symbol.iterator, TypeError); +assert.throws(TypeError, () => Symbol.iterator); const iterator = [0].values(); assert.sameValue( diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/map/interleaved-map-calls.js b/JSTests/test262/test/staging/sm/Iterator/prototype/map/interleaved-map-calls.js index f3626cfea3a47..26ed80c15b47f 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/map/interleaved-map-calls.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/map/interleaved-map-calls.js @@ -7,9 +7,6 @@ description: | Interleaved %Iterator.prototype%.map calls on the same iterator. features: - iterator-helpers -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict ---*/ // diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/map/length.js b/JSTests/test262/test/staging/sm/Iterator/prototype/map/length.js index 45cacc4e17ff9..f664cad1947eb 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/map/length.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/map/length.js @@ -10,9 +10,6 @@ info: | features: - Symbol.iterator - iterator-helpers -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict ---*/ assert.sameValue(Iterator.prototype.map.length, 1); diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/map/map.js b/JSTests/test262/test/staging/sm/Iterator/prototype/map/map.js index 7a10a731f95aa..e3194674effbf 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/map/map.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/map/map.js @@ -9,9 +9,6 @@ info: | 17 ECMAScript Standard Built-in Objects features: - iterator-helpers -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict ---*/ const map = Reflect.getOwnPropertyDescriptor(Iterator.prototype, 'map'); diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/map/mapper-not-callable-throw.js b/JSTests/test262/test/staging/sm/Iterator/prototype/map/mapper-not-callable-throw.js index a0418e53a8aaf..95fe2ff4aad89 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/map/mapper-not-callable-throw.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/map/mapper-not-callable-throw.js @@ -7,30 +7,27 @@ description: | Eagerly throw TypeError when `mapper` is not callable. features: - iterator-helpers -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict ---*/ // -assertThrowsInstanceOf(() => Iterator.prototype.map(undefined), TypeError); -assertThrowsInstanceOf(() => [].values().map(undefined), TypeError); +assert.throws(TypeError, () => Iterator.prototype.map(undefined)); +assert.throws(TypeError, () => [].values().map(undefined)); -assertThrowsInstanceOf(() => Iterator.prototype.map(null), TypeError); -assertThrowsInstanceOf(() => [].values().map(null), TypeError); +assert.throws(TypeError, () => Iterator.prototype.map(null)); +assert.throws(TypeError, () => [].values().map(null)); -assertThrowsInstanceOf(() => Iterator.prototype.map(0), TypeError); -assertThrowsInstanceOf(() => [].values().map(0), TypeError); +assert.throws(TypeError, () => Iterator.prototype.map(0)); +assert.throws(TypeError, () => [].values().map(0)); -assertThrowsInstanceOf(() => Iterator.prototype.map(false), TypeError); -assertThrowsInstanceOf(() => [].values().map(false), TypeError); +assert.throws(TypeError, () => Iterator.prototype.map(false)); +assert.throws(TypeError, () => [].values().map(false)); -assertThrowsInstanceOf(() => Iterator.prototype.map({}), TypeError); -assertThrowsInstanceOf(() => [].values().map({}), TypeError); +assert.throws(TypeError, () => Iterator.prototype.map({})); +assert.throws(TypeError, () => [].values().map({})); -assertThrowsInstanceOf(() => Iterator.prototype.map(''), TypeError); -assertThrowsInstanceOf(() => [].values().map(''), TypeError); +assert.throws(TypeError, () => Iterator.prototype.map('')); +assert.throws(TypeError, () => [].values().map('')); -assertThrowsInstanceOf(() => Iterator.prototype.map(Symbol('')), TypeError); -assertThrowsInstanceOf(() => [].values().map(Symbol('')), TypeError); +assert.throws(TypeError, () => Iterator.prototype.map(Symbol(''))); +assert.throws(TypeError, () => [].values().map(Symbol(''))); diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/map/mutate-iterator-after-done.js b/JSTests/test262/test/staging/sm/Iterator/prototype/map/mutate-iterator-after-done.js index 610bc56c3ade5..a082f761357d7 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/map/mutate-iterator-after-done.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/map/mutate-iterator-after-done.js @@ -7,9 +7,6 @@ description: | Mutate an iterator after it has been mapped and returned done. features: - iterator-helpers -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict ---*/ // diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/map/mutate-iterator.js b/JSTests/test262/test/staging/sm/Iterator/prototype/map/mutate-iterator.js index cbe242b2d3f3d..b0c4726b61df6 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/map/mutate-iterator.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/map/mutate-iterator.js @@ -7,9 +7,6 @@ description: | Mutate an iterator after it has been mapped. features: - iterator-helpers -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict ---*/ // diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/map/name.js b/JSTests/test262/test/staging/sm/Iterator/prototype/map/name.js index 71e80f90da817..a95cf4c4190c5 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/map/name.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/map/name.js @@ -9,9 +9,6 @@ info: | 17 ECMAScript Standard Built-in Objects features: - iterator-helpers -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict ---*/ assert.sameValue(Iterator.prototype.map.name, 'map'); diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/map/output-at-generator-end.js b/JSTests/test262/test/staging/sm/Iterator/prototype/map/output-at-generator-end.js index 6787c72197cf2..261cdbc17fd26 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/map/output-at-generator-end.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/map/output-at-generator-end.js @@ -7,9 +7,6 @@ description: | %Iterator.prototype%.map outputs correct value at end of iterator. features: - iterator-helpers -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict ---*/ const iterator = [0].values().map(x => x); diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/map/pass-lastValue-to-next.js b/JSTests/test262/test/staging/sm/Iterator/prototype/map/pass-lastValue-to-next.js index 34a0d7ea6a644..0a06eb4994534 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/map/pass-lastValue-to-next.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/map/pass-lastValue-to-next.js @@ -9,9 +9,6 @@ info: | Iterator Helpers Proposal 2.1.5.2 features: - iterator-helpers -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict ---*/ const iteratorWhereNextTakesValue = Object.setPrototypeOf({ next: function(value) { diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/map/proxy-abrupt-completion-in-iteratorValue.js b/JSTests/test262/test/staging/sm/Iterator/prototype/map/proxy-abrupt-completion-in-iteratorValue.js index edd08959d3041..3e0d8ca7adca8 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/map/proxy-abrupt-completion-in-iteratorValue.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/map/proxy-abrupt-completion-in-iteratorValue.js @@ -7,9 +7,6 @@ description: | %Iterator.prototype%.map does not call return when IteratorValue returns an abrupt completion. features: - iterator-helpers -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict ---*/ const handlerProxy = log => new Proxy({}, { get: (target, key, receiver) => (...args) => { diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/map/proxy-abrupt-completion-in-yield.js b/JSTests/test262/test/staging/sm/Iterator/prototype/map/proxy-abrupt-completion-in-yield.js index aab31ac82d5cd..9c0d070f6c025 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/map/proxy-abrupt-completion-in-yield.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/map/proxy-abrupt-completion-in-yield.js @@ -7,9 +7,6 @@ description: | %Iterator.prototype%.map calls return when yield throws. features: - iterator-helpers -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict ---*/ class TestError extends Error {} diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/map/proxy-abrupt-completion.js b/JSTests/test262/test/staging/sm/Iterator/prototype/map/proxy-abrupt-completion.js index bf5c56cf7c893..f6dd3f62d342b 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/map/proxy-abrupt-completion.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/map/proxy-abrupt-completion.js @@ -7,9 +7,6 @@ description: | %Iterator.prototype%.map accesses specified properties only. features: - iterator-helpers -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict ---*/ const handlerProxy = log => new Proxy({}, { get: (target, key, receiver) => (...args) => { diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/map/proxy-accesses.js b/JSTests/test262/test/staging/sm/Iterator/prototype/map/proxy-accesses.js index f4bd0c1693623..9f2cb091aa1b7 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/map/proxy-accesses.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/map/proxy-accesses.js @@ -7,9 +7,6 @@ description: | %Iterator.prototype%.map accesses specified properties only. features: - iterator-helpers -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict ---*/ const handlerProxy = log => new Proxy({}, { get: (target, key, receiver) => (...args) => { diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/map/reenter-map-generator-from-mapper.js b/JSTests/test262/test/staging/sm/Iterator/prototype/map/reenter-map-generator-from-mapper.js index 4786ef5a0b715..013287920f396 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/map/reenter-map-generator-from-mapper.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/map/reenter-map-generator-from-mapper.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - iterator-helpers description: | @@ -21,5 +18,5 @@ function mapper(x) { } iterator = [0].values().map(mapper); -assertThrowsInstanceOf(iterator.next, TypeError); +assert.throws(TypeError, iterator.next); diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/map/this-not-iterator-throw.js b/JSTests/test262/test/staging/sm/Iterator/prototype/map/this-not-iterator-throw.js index 413c2d21829ef..03fa4da12d9e2 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/map/this-not-iterator-throw.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/map/this-not-iterator-throw.js @@ -7,18 +7,15 @@ description: | Eagerly throw TypeError when `this` is not an iterator. features: - iterator-helpers -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict ---*/ // const mapper = (x) => x; -assertThrowsInstanceOf(() => Iterator.prototype.map.call(undefined, mapper), TypeError); -assertThrowsInstanceOf(() => Iterator.prototype.map.call(null, mapper), TypeError); -assertThrowsInstanceOf(() => Iterator.prototype.map.call(0, mapper), TypeError); -assertThrowsInstanceOf(() => Iterator.prototype.map.call(false, mapper), TypeError); -assertThrowsInstanceOf(() => Iterator.prototype.map.call('', mapper), TypeError); -assertThrowsInstanceOf(() => Iterator.prototype.map.call(new Symbol(''), mapper), TypeError); +assert.throws(TypeError, () => Iterator.prototype.map.call(undefined, mapper)); +assert.throws(TypeError, () => Iterator.prototype.map.call(null, mapper)); +assert.throws(TypeError, () => Iterator.prototype.map.call(0, mapper)); +assert.throws(TypeError, () => Iterator.prototype.map.call(false, mapper)); +assert.throws(TypeError, () => Iterator.prototype.map.call('', mapper)); +assert.throws(TypeError, () => Iterator.prototype.map.call(new Symbol(''), mapper)); diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/map/this-value-array-throws.js b/JSTests/test262/test/staging/sm/Iterator/prototype/map/this-value-array-throws.js index b34877081fbbf..93a1164ad3a7a 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/map/this-value-array-throws.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/map/this-value-array-throws.js @@ -8,9 +8,6 @@ description: | features: - Symbol.iterator - iterator-helpers -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict ---*/ // diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/map/throw-when-iterator-returns-non-object.js b/JSTests/test262/test/staging/sm/Iterator/prototype/map/throw-when-iterator-returns-non-object.js index 4881326170156..97a1383fc385a 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/map/throw-when-iterator-returns-non-object.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/map/throw-when-iterator-returns-non-object.js @@ -7,9 +7,6 @@ description: | Throw TypeError if `next` call returns non-object. features: - iterator-helpers -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict ---*/ // @@ -18,10 +15,10 @@ const iterator = returnValue => Object.setPrototypeOf({ }, Iterator.prototype); const mapper = x => x; -assertThrowsInstanceOf(() => iterator(undefined).map(mapper).next(), TypeError); -assertThrowsInstanceOf(() => iterator(null).map(mapper).next(), TypeError); -assertThrowsInstanceOf(() => iterator(0).map(mapper).next(), TypeError); -assertThrowsInstanceOf(() => iterator(false).map(mapper).next(), TypeError); -assertThrowsInstanceOf(() => iterator('').map(mapper).next(), TypeError); -assertThrowsInstanceOf(() => iterator(Symbol()).map(mapper).next(), TypeError); +assert.throws(TypeError, () => iterator(undefined).map(mapper).next()); +assert.throws(TypeError, () => iterator(null).map(mapper).next()); +assert.throws(TypeError, () => iterator(0).map(mapper).next()); +assert.throws(TypeError, () => iterator(false).map(mapper).next()); +assert.throws(TypeError, () => iterator('').map(mapper).next()); +assert.throws(TypeError, () => iterator(Symbol()).map(mapper).next()); diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/map/values-pass-through-chained-maps-to-next.js b/JSTests/test262/test/staging/sm/Iterator/prototype/map/values-pass-through-chained-maps-to-next.js index 2061e96eb1348..fa3a4c0241c66 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/map/values-pass-through-chained-maps-to-next.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/map/values-pass-through-chained-maps-to-next.js @@ -9,9 +9,6 @@ info: | Iterator Helpers Proposal 2.1.5.2 features: - iterator-helpers -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict ---*/ // diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/reduce/accumulator-set-to-initial-value.js b/JSTests/test262/test/staging/sm/Iterator/prototype/reduce/accumulator-set-to-initial-value.js index 19764c463c40f..ddc00b9910974 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/reduce/accumulator-set-to-initial-value.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/reduce/accumulator-set-to-initial-value.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - iterator-helpers info: | diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/reduce/check-fn-after-getting-iterator.js b/JSTests/test262/test/staging/sm/Iterator/prototype/reduce/check-fn-after-getting-iterator.js index bb4d8e3e35638..065f958cc1356 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/reduce/check-fn-after-getting-iterator.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/reduce/check-fn-after-getting-iterator.js @@ -2,9 +2,7 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, compareArray.js] -flags: - - noStrict +includes: [compareArray.js] features: - iterator-helpers info: | @@ -28,7 +26,7 @@ class TestIterator extends Iterator { } const iter = new Proxy(new TestIterator(), handlerProxy); -assertThrowsInstanceOf(() => iter.reduce(1), TypeError); +assert.throws(TypeError, () => iter.reduce(1)); assert.compareArray( log, diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/reduce/descriptor.js b/JSTests/test262/test/staging/sm/Iterator/prototype/reduce/descriptor.js index 24497679714ac..716e25c280b26 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/reduce/descriptor.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/reduce/descriptor.js @@ -6,9 +6,6 @@ info: | Descriptor property of Iterator.prototype.reduce Iterator is not enabled unconditionally -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - iterator-helpers description: | diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/reduce/empty-iterator-without-initial-value-throws.js b/JSTests/test262/test/staging/sm/Iterator/prototype/reduce/empty-iterator-without-initial-value-throws.js index 2e83f766fed53..902dd6e7c0f1a 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/reduce/empty-iterator-without-initial-value-throws.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/reduce/empty-iterator-without-initial-value-throws.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - iterator-helpers info: | @@ -15,5 +12,5 @@ esid: pending ---*/ const iter = [].values(); -assertThrowsInstanceOf(() => iter.reduce((x, y) => x + y), TypeError); +assert.throws(TypeError, () => iter.reduce((x, y) => x + y)); diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/reduce/error-from-correct-realm.js b/JSTests/test262/test/staging/sm/Iterator/prototype/reduce/error-from-correct-realm.js index ebd46caf963f2..76db994f07754 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/reduce/error-from-correct-realm.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/reduce/error-from-correct-realm.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - iterator-helpers info: | @@ -14,15 +11,15 @@ description: | esid: pending ---*/ -const otherGlobal = createNewGlobal({newCompartment: true}); +const otherGlobal = $262.createRealm().global; assert.sameValue(TypeError !== otherGlobal.TypeError, true); const iter = [].values(); -assertThrowsInstanceOf(() => iter.reduce(), TypeError); -assertThrowsInstanceOf( - otherGlobal.Iterator.prototype.reduce.bind(iter), +assert.throws(TypeError, () => iter.reduce(), TypeError); +assert.throws( otherGlobal.TypeError, + otherGlobal.Iterator.prototype.reduce.bind(iter), 'TypeError comes from the realm of the method.', ); diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/reduce/iterator-empty-return-initial-value.js b/JSTests/test262/test/staging/sm/Iterator/prototype/reduce/iterator-empty-return-initial-value.js index 9ab6c0c7734cf..67a6e13ac18f3 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/reduce/iterator-empty-return-initial-value.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/reduce/iterator-empty-return-initial-value.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - iterator-helpers info: | diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/reduce/iterator-next-return-non-object-throws.js b/JSTests/test262/test/staging/sm/Iterator/prototype/reduce/iterator-next-return-non-object-throws.js index 04488da40dd2b..2dc9f1b328f60 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/reduce/iterator-next-return-non-object-throws.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/reduce/iterator-next-return-non-object-throws.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - iterator-helpers info: | @@ -28,15 +25,15 @@ class TestIterator extends Iterator { const sum = (x, y) => x + y; let iter = new TestIterator(undefined); -assertThrowsInstanceOf(() => iter.reduce(sum), TypeError); +assert.throws(TypeError, () => iter.reduce(sum)); iter = new TestIterator(null); -assertThrowsInstanceOf(() => iter.reduce(sum), TypeError); +assert.throws(TypeError, () => iter.reduce(sum)); iter = new TestIterator(0); -assertThrowsInstanceOf(() => iter.reduce(sum), TypeError); +assert.throws(TypeError, () => iter.reduce(sum)); iter = new TestIterator(false); -assertThrowsInstanceOf(() => iter.reduce(sum), TypeError); +assert.throws(TypeError, () => iter.reduce(sum)); iter = new TestIterator(''); -assertThrowsInstanceOf(() => iter.reduce(sum), TypeError); +assert.throws(TypeError, () => iter.reduce(sum)); iter = new TestIterator(Symbol('')); -assertThrowsInstanceOf(() => iter.reduce(sum), TypeError); +assert.throws(TypeError, () => iter.reduce(sum)); diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/reduce/left-associative.js b/JSTests/test262/test/staging/sm/Iterator/prototype/reduce/left-associative.js index 0a6c899a6f442..0bb9a18552671 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/reduce/left-associative.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/reduce/left-associative.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - iterator-helpers info: | diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/reduce/length.js b/JSTests/test262/test/staging/sm/Iterator/prototype/reduce/length.js index cbbda008ba1a4..7d908933a1f01 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/reduce/length.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/reduce/length.js @@ -10,9 +10,6 @@ info: | false, [[Configurable]]: true }. Iterator is not enabled unconditionally -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - iterator-helpers esid: pending diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/reduce/name.js b/JSTests/test262/test/staging/sm/Iterator/prototype/reduce/name.js index ae4a04e44ecca..cbc759b81fcf8 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/reduce/name.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/reduce/name.js @@ -4,9 +4,6 @@ /*--- description: | `name` property of Iterator.prototype.reduce. -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - iterator-helpers info: | diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/reduce/next-throws-iterator-not-closed.js b/JSTests/test262/test/staging/sm/Iterator/prototype/reduce/next-throws-iterator-not-closed.js index b165c22f040ff..73d7864fa3346 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/reduce/next-throws-iterator-not-closed.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/reduce/next-throws-iterator-not-closed.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - iterator-helpers info: | @@ -29,6 +26,6 @@ const sum = (x, y) => x + y; const iter = new TestIterator(); assert.sameValue(iter.closed, false); -assertThrowsInstanceOf(() => iter.reduce(sum), Error); +assert.throws(Error, () => iter.reduce(sum)); assert.sameValue(iter.closed, false); diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/reduce/no-initial-value-set-accumulator-to-first-value.js b/JSTests/test262/test/staging/sm/Iterator/prototype/reduce/no-initial-value-set-accumulator-to-first-value.js index 9654165ddf318..c0a00b29988e4 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/reduce/no-initial-value-set-accumulator-to-first-value.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/reduce/no-initial-value-set-accumulator-to-first-value.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - iterator-helpers info: | diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/reduce/proxy.js b/JSTests/test262/test/staging/sm/Iterator/prototype/reduce/proxy.js index 0f8f94c69626e..daed39411056d 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/reduce/proxy.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/reduce/proxy.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - iterator-helpers info: | diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/reduce/reduce.js b/JSTests/test262/test/staging/sm/Iterator/prototype/reduce/reduce.js index 58061e77476c2..894d20bccf2a7 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/reduce/reduce.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/reduce/reduce.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - iterator-helpers info: | diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/reduce/reducer-not-callable-throws.js b/JSTests/test262/test/staging/sm/Iterator/prototype/reduce/reducer-not-callable-throws.js index 5e455b7d11ff9..b4b89f915828e 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/reduce/reducer-not-callable-throws.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/reduce/reducer-not-callable-throws.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - iterator-helpers info: | @@ -21,12 +18,12 @@ class TestIterator extends Iterator { } const iter = new TestIterator(); -assertThrowsInstanceOf(() => iter.reduce(), TypeError); -assertThrowsInstanceOf(() => iter.reduce(undefined), TypeError); -assertThrowsInstanceOf(() => iter.reduce(null), TypeError); -assertThrowsInstanceOf(() => iter.reduce(0), TypeError); -assertThrowsInstanceOf(() => iter.reduce(false), TypeError); -assertThrowsInstanceOf(() => iter.reduce(''), TypeError); -assertThrowsInstanceOf(() => iter.reduce(Symbol('')), TypeError); -assertThrowsInstanceOf(() => iter.reduce({}), TypeError); +assert.throws(TypeError, () => iter.reduce()); +assert.throws(TypeError, () => iter.reduce(undefined)); +assert.throws(TypeError, () => iter.reduce(null)); +assert.throws(TypeError, () => iter.reduce(0)); +assert.throws(TypeError, () => iter.reduce(false)); +assert.throws(TypeError, () => iter.reduce('')); +assert.throws(TypeError, () => iter.reduce(Symbol(''))); +assert.throws(TypeError, () => iter.reduce({})); diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/reduce/reducer-throws-iterator-closed.js b/JSTests/test262/test/staging/sm/Iterator/prototype/reduce/reducer-throws-iterator-closed.js index 686b4b8c2164d..80fda0f9c60f2 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/reduce/reducer-throws-iterator-closed.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/reduce/reducer-throws-iterator-closed.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - iterator-helpers info: | @@ -29,6 +26,6 @@ const reducer = (x, y) => { throw new Error(); }; const iter = new TestIterator(); assert.sameValue(iter.closed, false); -assertThrowsInstanceOf(() => iter.reduce(reducer), Error); +assert.throws(Error, () => iter.reduce(reducer)); assert.sameValue(iter.closed, true); diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/reduce/this-not-iterator-throws.js b/JSTests/test262/test/staging/sm/Iterator/prototype/reduce/this-not-iterator-throws.js index 1f6c3905e4e71..a49eec76757af 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/reduce/this-not-iterator-throws.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/reduce/this-not-iterator-throws.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - iterator-helpers info: | @@ -15,7 +12,7 @@ esid: pending ---*/ const sum = (x, y) => x + y; -assertThrowsInstanceOf(Iterator.prototype.reduce.bind(undefined, sum), TypeError); -assertThrowsInstanceOf(Iterator.prototype.reduce.bind({}, sum), TypeError); -assertThrowsInstanceOf(Iterator.prototype.reduce.bind({next: 0}, sum), TypeError); +assert.throws(TypeError, Iterator.prototype.reduce.bind(undefined, sum)); +assert.throws(TypeError, Iterator.prototype.reduce.bind({}, sum)); +assert.throws(TypeError, Iterator.prototype.reduce.bind({next: 0}, sum)); diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/reduce/value-throws-iterator-not-closed.js b/JSTests/test262/test/staging/sm/Iterator/prototype/reduce/value-throws-iterator-not-closed.js index 313bd2610a21a..ab228ef6bdaf2 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/reduce/value-throws-iterator-not-closed.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/reduce/value-throws-iterator-not-closed.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - iterator-helpers info: | @@ -32,6 +29,6 @@ class TestIterator extends Iterator { const iterator = new TestIterator(); assert.sameValue(iterator.closed, false, 'iterator starts unclosed'); -assertThrowsInstanceOf(() => iterator.reduce((x, y) => x + y, 0), TestError); +assert.throws(TestError, () => iterator.reduce((x, y) => x + y, 0)); assert.sameValue(iterator.closed, false, 'iterator remains unclosed'); diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/some/check-fn-after-getting-iterator.js b/JSTests/test262/test/staging/sm/Iterator/prototype/some/check-fn-after-getting-iterator.js index 7517f8576b152..c026d662dcb44 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/some/check-fn-after-getting-iterator.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/some/check-fn-after-getting-iterator.js @@ -2,9 +2,7 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, compareArray.js] -flags: - - noStrict +includes: [compareArray.js] features: - iterator-helpers info: | @@ -28,7 +26,7 @@ class TestIterator extends Iterator { } const iter = new Proxy(new TestIterator(), handlerProxy); -assertThrowsInstanceOf(() => iter.some(1), TypeError); +assert.throws(TypeError, () => iter.some(1)); assert.compareArray( log, diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/some/coerce-result-to-boolean.js b/JSTests/test262/test/staging/sm/Iterator/prototype/some/coerce-result-to-boolean.js index 3978d36a3d81e..9d10f0e85ecdc 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/some/coerce-result-to-boolean.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/some/coerce-result-to-boolean.js @@ -5,9 +5,6 @@ features: - IsHTMLDDA - iterator-helpers -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict info: | Iterator is not enabled unconditionally description: | @@ -31,6 +28,6 @@ assert.sameValue([NaN].values().some(fn), false); assert.sameValue([-0].values().some(fn), false); assert.sameValue([0n].values().some(fn), false); -const htmlDDA = createIsHTMLDDA(); +const htmlDDA = $262.IsHTMLDDA; assert.sameValue([htmlDDA].values().some(fn), false); diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/some/descriptor.js b/JSTests/test262/test/staging/sm/Iterator/prototype/some/descriptor.js index aaced1fffe8b0..d5c34dfbb8d77 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/some/descriptor.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/some/descriptor.js @@ -6,9 +6,6 @@ info: | Descriptor property of Iterator.prototype.some Iterator is not enabled unconditionally -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - iterator-helpers description: | diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/some/error-from-correct-realm.js b/JSTests/test262/test/staging/sm/Iterator/prototype/some/error-from-correct-realm.js index 99a9f7a72571b..7639cc1eb4820 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/some/error-from-correct-realm.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/some/error-from-correct-realm.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - iterator-helpers info: | @@ -14,15 +11,15 @@ description: | esid: pending ---*/ -const otherGlobal = createNewGlobal({newCompartment: true}); +const otherGlobal = $262.createRealm().global; assert.sameValue(TypeError !== otherGlobal.TypeError, true); const iter = [].values(); -assertThrowsInstanceOf(() => iter.some(), TypeError); -assertThrowsInstanceOf( +assert.throws(TypeError, () => iter.some()); +assert.throws( + otherGlobal.TypeError, otherGlobal.Iterator.prototype.some.bind(iter), - otherGlobal.TypeError, 'TypeError comes from the realm of the method.', ); diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/some/fn-not-callable-throws.js b/JSTests/test262/test/staging/sm/Iterator/prototype/some/fn-not-callable-throws.js index d0cb823e37400..dfc328c137bec 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/some/fn-not-callable-throws.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/some/fn-not-callable-throws.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - iterator-helpers info: | @@ -16,12 +13,12 @@ esid: pending const iter = [].values(); -assertThrowsInstanceOf(() => iter.some(), TypeError); -assertThrowsInstanceOf(() => iter.some(undefined), TypeError); -assertThrowsInstanceOf(() => iter.some(null), TypeError); -assertThrowsInstanceOf(() => iter.some(0), TypeError); -assertThrowsInstanceOf(() => iter.some(false), TypeError); -assertThrowsInstanceOf(() => iter.some(''), TypeError); -assertThrowsInstanceOf(() => iter.some(Symbol('')), TypeError); -assertThrowsInstanceOf(() => iter.some({}), TypeError); +assert.throws(TypeError, () => iter.some()); +assert.throws(TypeError, () => iter.some(undefined)); +assert.throws(TypeError, () => iter.some(null)); +assert.throws(TypeError, () => iter.some(0)); +assert.throws(TypeError, () => iter.some(false)); +assert.throws(TypeError, () => iter.some('')); +assert.throws(TypeError, () => iter.some(Symbol(''))); +assert.throws(TypeError, () => iter.some({})); diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/some/fn-throws-close-iterator.js b/JSTests/test262/test/staging/sm/Iterator/prototype/some/fn-throws-close-iterator.js index dee824b69dcac..c1d444fdd9fa7 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/some/fn-throws-close-iterator.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/some/fn-throws-close-iterator.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - iterator-helpers info: | @@ -29,6 +26,6 @@ const fn = () => { throw new Error(); }; const iter = new TestIterator(); assert.sameValue(iter.closed, false); -assertThrowsInstanceOf(() => iter.some(fn), Error); +assert.throws(Error, () => iter.some(fn)); assert.sameValue(iter.closed, true); diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/some/length.js b/JSTests/test262/test/staging/sm/Iterator/prototype/some/length.js index 7339c344a38b6..752956fa0c6fc 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/some/length.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/some/length.js @@ -10,9 +10,6 @@ info: | false, [[Configurable]]: true }. Iterator is not enabled unconditionally -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - iterator-helpers esid: pending diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/some/name.js b/JSTests/test262/test/staging/sm/Iterator/prototype/some/name.js index ea8815af8f784..2e0ee3257d7e2 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/some/name.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/some/name.js @@ -4,9 +4,6 @@ /*--- description: | `name` property of Iterator.prototype.some. -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - iterator-helpers info: | diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/some/next-throws-iterator-not-closed.js b/JSTests/test262/test/staging/sm/Iterator/prototype/some/next-throws-iterator-not-closed.js index 14c15f53a0f3f..b96852a0e82ef 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/some/next-throws-iterator-not-closed.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/some/next-throws-iterator-not-closed.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - iterator-helpers info: | @@ -29,6 +26,6 @@ const fn = () => {}; const iter = new TestIterator(); assert.sameValue(iter.closed, false); -assertThrowsInstanceOf(() => iter.some(fn), Error); +assert.throws(Error, () => iter.some(fn)); assert.sameValue(iter.closed, false); diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/some/proxy.js b/JSTests/test262/test/staging/sm/Iterator/prototype/some/proxy.js index 045f6a5a1b3de..ed90cec204e7f 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/some/proxy.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/some/proxy.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - iterator-helpers info: | diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/some/return-false-if-none-match.js b/JSTests/test262/test/staging/sm/Iterator/prototype/some/return-false-if-none-match.js index 9df6e8c38f7ba..3b1e4167da8cf 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/some/return-false-if-none-match.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/some/return-false-if-none-match.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - iterator-helpers info: | diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/some/short-circuit-on-true.js b/JSTests/test262/test/staging/sm/Iterator/prototype/some/short-circuit-on-true.js index 5fda442df02cf..a4cbed66e3dd3 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/some/short-circuit-on-true.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/some/short-circuit-on-true.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - iterator-helpers info: | diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/some/this-not-iterator-throws.js b/JSTests/test262/test/staging/sm/Iterator/prototype/some/this-not-iterator-throws.js index b47dbbb9cb467..170dadd949787 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/some/this-not-iterator-throws.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/some/this-not-iterator-throws.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - iterator-helpers info: | @@ -15,7 +12,7 @@ esid: pending ---*/ const fn = x => x; -assertThrowsInstanceOf(Iterator.prototype.some.bind(undefined, fn), TypeError); -assertThrowsInstanceOf(Iterator.prototype.some.bind({}, fn), TypeError); -assertThrowsInstanceOf(Iterator.prototype.some.bind({next: 0}, fn), TypeError); +assert.throws(TypeError, Iterator.prototype.some.bind(undefined, fn)); +assert.throws(TypeError, Iterator.prototype.some.bind({}, fn)); +assert.throws(TypeError, Iterator.prototype.some.bind({next: 0}, fn)); diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/some/value-throws-iterator-not-closed.js b/JSTests/test262/test/staging/sm/Iterator/prototype/some/value-throws-iterator-not-closed.js index fc4150ef7e88c..a5785f08e5165 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/some/value-throws-iterator-not-closed.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/some/value-throws-iterator-not-closed.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - iterator-helpers info: | @@ -32,6 +29,6 @@ class TestIterator extends Iterator { const iterator = new TestIterator(); assert.sameValue(iterator.closed, false, 'iterator starts unclosed'); -assertThrowsInstanceOf(() => iterator.some(x => x), TestError); +assert.throws(TestError, () => iterator.some(x => x)); assert.sameValue(iterator.closed, false, 'iterator remains unclosed'); diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/take-drop-throw-eagerly-on-negative.js b/JSTests/test262/test/staging/sm/Iterator/prototype/take-drop-throw-eagerly-on-negative.js index 2c3aca02828c7..3d2069247004a 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/take-drop-throw-eagerly-on-negative.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/take-drop-throw-eagerly-on-negative.js @@ -9,9 +9,6 @@ info: | Iterator Helpers proposal 2.1.5.4 and 2.1.5.5 features: - iterator-helpers -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict ---*/ // @@ -23,10 +20,10 @@ const methods = [ ]; for (const method of methods) { - assertThrowsInstanceOf(() => method(-1), RangeError); - assertThrowsInstanceOf(() => method(-Infinity), RangeError); - assertThrowsInstanceOf(() => method(NaN), RangeError); - assertThrowsInstanceOf(() => method(-NaN), RangeError); + assert.throws(RangeError, () => method(-1)); + assert.throws(RangeError, () => method(-Infinity)); + assert.throws(RangeError, () => method(NaN)); + assert.throws(RangeError, () => method(-NaN)); method(-0); method(-0.9); diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/take-drop-throw-eagerly-on-non-integer.js b/JSTests/test262/test/staging/sm/Iterator/prototype/take-drop-throw-eagerly-on-non-integer.js index da950694c3cfa..9e9b36db55f4f 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/take-drop-throw-eagerly-on-non-integer.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/take-drop-throw-eagerly-on-non-integer.js @@ -9,9 +9,6 @@ info: | Iterator Helpers proposal 2.1.5.4 and 2.1.5.5 features: - iterator-helpers -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict ---*/ // @@ -29,8 +26,8 @@ const objectWithToPrimitive = { }; for (const method of methods) { - assertThrowsInstanceOf(() => method(0n), TypeError); - assertThrowsInstanceOf(() => method(Symbol('')), TypeError); - assertThrowsInstanceOf(() => method(objectWithToPrimitive), TypeError); + assert.throws(TypeError, () => method(0n)); + assert.throws(TypeError, () => method(Symbol(''))); + assert.throws(TypeError, () => method(objectWithToPrimitive)); } diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/take/close-iterator-when-none-remaining.js b/JSTests/test262/test/staging/sm/Iterator/prototype/take/close-iterator-when-none-remaining.js index 5f74b655676b4..a3b1e8a983de1 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/take/close-iterator-when-none-remaining.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/take/close-iterator-when-none-remaining.js @@ -9,9 +9,6 @@ info: | Iterator Helpers proposal 2.1.5.4 features: - iterator-helpers -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict ---*/ // diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/take/length.js b/JSTests/test262/test/staging/sm/Iterator/prototype/take/length.js index 16ed2829175b2..cc3067448f7a0 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/take/length.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/take/length.js @@ -10,9 +10,6 @@ info: | features: - Symbol.iterator - iterator-helpers -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict ---*/ assert.sameValue(Iterator.prototype.take.length, 1); diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/take/name.js b/JSTests/test262/test/staging/sm/Iterator/prototype/take/name.js index ad4488913072f..10096e207b6db 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/take/name.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/take/name.js @@ -9,9 +9,6 @@ info: | 17 ECMAScript Standard Built-in Objects features: - iterator-helpers -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict ---*/ assert.sameValue(Iterator.prototype.take.name, 'take'); diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/take/take-more-than-available.js b/JSTests/test262/test/staging/sm/Iterator/prototype/take/take-more-than-available.js index 6dacddf8338c0..3b035c92c7cd8 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/take/take-more-than-available.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/take/take-more-than-available.js @@ -12,9 +12,6 @@ info: | d. If next is false, return undefined. features: - iterator-helpers -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict ---*/ // diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/toArray/create-in-current-realm.js b/JSTests/test262/test/staging/sm/Iterator/prototype/toArray/create-in-current-realm.js index 52c96d500dac5..38dd7369689a8 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/toArray/create-in-current-realm.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/toArray/create-in-current-realm.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - iterator-helpers info: | @@ -14,7 +11,7 @@ description: | esid: pending ---*/ -const otherGlobal = createNewGlobal({newCompartment: true}); +const otherGlobal = $262.createRealm().global; let array = [1, 2, 3].values().toArray(); assert.sameValue(array instanceof Array, true); diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/toArray/descriptor.js b/JSTests/test262/test/staging/sm/Iterator/prototype/toArray/descriptor.js index 161f90e9b3117..05b8bab9dcb3e 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/toArray/descriptor.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/toArray/descriptor.js @@ -6,9 +6,6 @@ info: | Descriptor property of Iterator.prototype.toArray Iterator is not enabled unconditionally -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - iterator-helpers description: | diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/toArray/iterator-empty.js b/JSTests/test262/test/staging/sm/Iterator/prototype/toArray/iterator-empty.js index 6c86ac7299bd3..0c26c724ee554 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/toArray/iterator-empty.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/toArray/iterator-empty.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - iterator-helpers info: | diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/toArray/length.js b/JSTests/test262/test/staging/sm/Iterator/prototype/toArray/length.js index ebb1ba5295dcb..0e92655d9cf07 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/toArray/length.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/toArray/length.js @@ -10,9 +10,6 @@ info: | false, [[Configurable]]: true }. Iterator is not enabled unconditionally -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - iterator-helpers esid: pending diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/toArray/name.js b/JSTests/test262/test/staging/sm/Iterator/prototype/toArray/name.js index 4039c5e961a7a..41bd6afe6d803 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/toArray/name.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/toArray/name.js @@ -4,9 +4,6 @@ /*--- description: | `name` property of Iterator.prototype.toArray. -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - iterator-helpers info: | diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/toArray/next-throws.js b/JSTests/test262/test/staging/sm/Iterator/prototype/toArray/next-throws.js index ed2e192218639..08a0b483860f4 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/toArray/next-throws.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/toArray/next-throws.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - iterator-helpers info: | @@ -22,5 +19,5 @@ class TestIterator extends Iterator { const iter = new TestIterator(); -assertThrowsInstanceOf(() => iter.toArray(), Error); +assert.throws(Error, () => iter.toArray()); diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/toArray/proxy.js b/JSTests/test262/test/staging/sm/Iterator/prototype/toArray/proxy.js index 383cc79749aa9..a4dc4685a7e3f 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/toArray/proxy.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/toArray/proxy.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - iterator-helpers info: | diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/toArray/this-not-iterator-throws.js b/JSTests/test262/test/staging/sm/Iterator/prototype/toArray/this-not-iterator-throws.js index 5524007f2f3b8..0a36dcd7ea266 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/toArray/this-not-iterator-throws.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/toArray/this-not-iterator-throws.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - iterator-helpers info: | @@ -14,7 +11,7 @@ description: | esid: pending ---*/ -assertThrowsInstanceOf(Iterator.prototype.toArray.bind(undefined), TypeError); -assertThrowsInstanceOf(Iterator.prototype.toArray.bind({}), TypeError); -assertThrowsInstanceOf(Iterator.prototype.toArray.bind({next: 0}), TypeError); +assert.throws(TypeError, Iterator.prototype.toArray.bind(undefined)); +assert.throws(TypeError, Iterator.prototype.toArray.bind({})); +assert.throws(TypeError, Iterator.prototype.toArray.bind({next: 0})); diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/toArray/toArray.js b/JSTests/test262/test/staging/sm/Iterator/prototype/toArray/toArray.js index 2262507e4e149..cb4e9de1a08f8 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/toArray/toArray.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/toArray/toArray.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - iterator-helpers info: | diff --git a/JSTests/test262/test/staging/sm/Iterator/prototype/toArray/value-throws-iterator-not-closed.js b/JSTests/test262/test/staging/sm/Iterator/prototype/toArray/value-throws-iterator-not-closed.js index c86999cfacc94..4eeb1966ec7e9 100644 --- a/JSTests/test262/test/staging/sm/Iterator/prototype/toArray/value-throws-iterator-not-closed.js +++ b/JSTests/test262/test/staging/sm/Iterator/prototype/toArray/value-throws-iterator-not-closed.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - iterator-helpers info: | @@ -32,6 +29,6 @@ class TestIterator extends Iterator { const iterator = new TestIterator(); assert.sameValue(iterator.closed, false, 'iterator starts unclosed'); -assertThrowsInstanceOf(() => iterator.toArray(), TestError); +assert.throws(TestError, () => iterator.toArray()); assert.sameValue(iterator.closed, false, 'iterator remains unclosed'); diff --git a/JSTests/test262/test/staging/sm/JSON/cyclic-stringify-unrelated.js b/JSTests/test262/test/staging/sm/JSON/cyclic-stringify-unrelated.js index c2057bd46124d..0b8a14ce721ce 100644 --- a/JSTests/test262/test/staging/sm/JSON/cyclic-stringify-unrelated.js +++ b/JSTests/test262/test/staging/sm/JSON/cyclic-stringify-unrelated.js @@ -4,22 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + JSON.stringify shouldn't use context-wide cycle detection +info: bugzilla.mozilla.org/show_bug.cgi?id=1197097 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 1197097; -var summary = "JSON.stringify shouldn't use context-wide cycle detection"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ var arr; @@ -40,7 +29,3 @@ arr = [{ } }]; assert.sameValue(arr.join(), "[{}]"); - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/JSON/cyclic-stringify.js b/JSTests/test262/test/staging/sm/JSON/cyclic-stringify.js index 32311b93731cc..d01c77bd4804f 100644 --- a/JSTests/test262/test/staging/sm/JSON/cyclic-stringify.js +++ b/JSTests/test262/test/staging/sm/JSON/cyclic-stringify.js @@ -4,24 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Properly detect cycles in JSON.stringify (throw TypeError, check for cycles rather than imprecisely rely on recursion limits) +info: bugzilla.mozilla.org/show_bug.cgi?id=578273 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 578273; -var summary = - "ES5: Properly detect cycles in JSON.stringify (throw TypeError, check for " + - "cycles rather than imprecisely rely on recursion limits)"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ // objects @@ -34,33 +21,17 @@ var desc = }; var obj = Object.defineProperty({ p1: 0 }, "p2", desc); -try -{ - var str = JSON.stringify(obj); - assert.sameValue(false, true, "should have thrown, got " + str); -} -catch (e) -{ - assert.sameValue(e instanceof TypeError, true, - "wrong error type: " + e.constructor.name); - assert.sameValue(count, 1, - "cyclic data structures not detected immediately"); -} +assert.throws(TypeError, function() { + JSON.stringify(obj); +}); +assert.sameValue(count, 1, "cyclic data structures not detected immediately"); count = 0; var obj2 = Object.defineProperty({}, "obj", desc); -try -{ - var str = JSON.stringify(obj2); - assert.sameValue(false, true, "should have thrown, got " + str); -} -catch (e) -{ - assert.sameValue(e instanceof TypeError, true, - "wrong error type: " + e.constructor.name); - assert.sameValue(count, 2, - "cyclic data structures not detected immediately"); -} +assert.throws(TypeError, function() { + JSON.stringify(obj2); +}); +assert.sameValue(count, 2, "cyclic data structures not detected immediately"); // arrays @@ -74,34 +45,14 @@ var desc = }; var arr = Object.defineProperty([], "0", desc); -try -{ - var str = JSON.stringify(arr); - assert.sameValue(false, true, "should have thrown, got " + str); -} -catch (e) -{ - assert.sameValue(e instanceof TypeError, true, - "wrong error type: " + e.constructor.name); - assert.sameValue(count, 1, - "cyclic data structures not detected immediately"); -} +assert.throws(TypeError, function() { + JSON.stringify(arr); +}); +assert.sameValue(count, 1, "cyclic data structures not detected immediately"); count = 0; var arr2 = Object.defineProperty([], "0", desc); -try -{ - var str = JSON.stringify(arr2); - assert.sameValue(false, true, "should have thrown, got " + str); -} -catch (e) -{ - assert.sameValue(e instanceof TypeError, true, - "wrong error type: " + e.constructor.name); - assert.sameValue(count, 2, - "cyclic data structures not detected immediately"); -} - -/******************************************************************************/ - -print("Tests complete"); +assert.throws(TypeError, function() { + JSON.stringify(arr2); +}); +assert.sameValue(count, 2, "cyclic data structures not detected immediately"); diff --git a/JSTests/test262/test/staging/sm/JSON/parse-arguments.js b/JSTests/test262/test/staging/sm/JSON/parse-arguments.js index e5a836d458753..dbb66642ce73d 100644 --- a/JSTests/test262/test/staging/sm/JSON/parse-arguments.js +++ b/JSTests/test262/test/staging/sm/JSON/parse-arguments.js @@ -4,34 +4,12 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + JSON.parse handling of omitted arguments +info: bugzilla.mozilla.org/show_bug.cgi?id=653847 esid: pending ---*/ -var gTestfile = 'parse-arguments.js'; -//----------------------------------------------------------------------------- -var BUGNUMBER = 653847; -var summary = "JSON.parse handling of omitted arguments"; -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ - -try -{ - var r = JSON.parse(); - throw new Error("didn't throw, returned " + r); -} -catch (e) -{ - assert.sameValue(e instanceof SyntaxError, true, "expected syntax error, got: " + e); -} - -/******************************************************************************/ - -print("Tests complete"); +assert.throws(SyntaxError, function() { + JSON.parse(); +}); diff --git a/JSTests/test262/test/staging/sm/JSON/parse-crockford-01.js b/JSTests/test262/test/staging/sm/JSON/parse-crockford-01.js index 19f3681446e88..9578d978e3791 100644 --- a/JSTests/test262/test/staging/sm/JSON/parse-crockford-01.js +++ b/JSTests/test262/test/staging/sm/JSON/parse-crockford-01.js @@ -2,13 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending ---*/ + var str = '[\n' + ' "JSON Test Pattern pass1",\n' + @@ -123,7 +121,3 @@ assert.sameValue(x[16], 1e00); assert.sameValue(x[17], 2e+00); assert.sameValue(x[18], 2e-00); assert.sameValue(x[19], "rosebud"); - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/JSON/parse-mega-huge-array.js b/JSTests/test262/test/staging/sm/JSON/parse-mega-huge-array.js index a8cb9c190f490..af53b2f948e85 100644 --- a/JSTests/test262/test/staging/sm/JSON/parse-mega-huge-array.js +++ b/JSTests/test262/test/staging/sm/JSON/parse-mega-huge-array.js @@ -4,23 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + JSON.parse should parse arrays of essentially unlimited size +info: bugzilla.mozilla.org/show_bug.cgi?id=667527 esid: pending ---*/ -var gTestfile = 'parse-mega-huge-array.js'; -//----------------------------------------------------------------------------- -var BUGNUMBER = 667527; -var summary = "JSON.parse should parse arrays of essentially unlimited size"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ var body = "0,"; for (var i = 0; i < 21; i++) @@ -29,7 +17,3 @@ var str = '[' + body + '0]'; var arr = JSON.parse(str); assert.sameValue(arr.length, Math.pow(2, 21) + 1); - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/JSON/parse-primitives.js b/JSTests/test262/test/staging/sm/JSON/parse-primitives.js index c9dd72c080033..fe5390beca24f 100644 --- a/JSTests/test262/test/staging/sm/JSON/parse-primitives.js +++ b/JSTests/test262/test/staging/sm/JSON/parse-primitives.js @@ -2,13 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending ---*/ + var x; // check an empty object, just for sanity @@ -64,7 +62,3 @@ assert.sameValue(x, "\uabcd"); x = JSON.parse('"\\f"'); assert.sameValue(x, "\f"); - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/JSON/parse-reviver-array-delete.js b/JSTests/test262/test/staging/sm/JSON/parse-reviver-array-delete.js index 0dd126be5bc4f..6c636ca7d6637 100644 --- a/JSTests/test262/test/staging/sm/JSON/parse-reviver-array-delete.js +++ b/JSTests/test262/test/staging/sm/JSON/parse-reviver-array-delete.js @@ -4,23 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + JSON.parse with a reviver which elides array elements +info: bugzilla.mozilla.org/show_bug.cgi?id=999999 esid: pending ---*/ -var gTestfile = 'parse-reviver-array-delete.js'; -//----------------------------------------------------------------------------- -var BUGNUMBER = 999999; -var summary = "JSON.parse with a reviver which elides array elements"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ /* * The reviver deletes all properties from the to-be-returned array. Thus @@ -89,8 +77,3 @@ assert.sameValue(JSON.parse(str, return undefined; }) + "", expected2); - - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/JSON/parse-reviver.js b/JSTests/test262/test/staging/sm/JSON/parse-reviver.js index 777faf7e6a56e..cdc9df6ba9442 100644 --- a/JSTests/test262/test/staging/sm/JSON/parse-reviver.js +++ b/JSTests/test262/test/staging/sm/JSON/parse-reviver.js @@ -2,13 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending ---*/ + function doubler(k, v) { assert.sameValue(typeof k, "string"); @@ -37,17 +35,7 @@ function dontCallMe(k, v) called = true; } -try -{ +assert.throws(SyntaxError, function() { JSON.parse('{{{{{{{}}}}', dontCallMe); - throw new Error("didn't throw?"); -} -catch (e) -{ - assert.sameValue(e instanceof SyntaxError, true, "wrong exception: " + e); -} +}); assert.sameValue(called, false); - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/JSON/parse-with-source.js b/JSTests/test262/test/staging/sm/JSON/parse-with-source.js index 354f3fa9be066..32869059dd0ce 100644 --- a/JSTests/test262/test/staging/sm/JSON/parse-with-source.js +++ b/JSTests/test262/test/staging/sm/JSON/parse-with-source.js @@ -2,12 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [compareArray.js, deepEqual.js, sm/non262-shell.js, sm/non262.js] -flags: - - noStrict +includes: [compareArray.js] description: | pending esid: pending +features: [json-parse-with-source] ---*/ (function checkJSONParseWithSource() { @@ -95,14 +94,14 @@ esid: pending function assertIsRawJson(rawJson, expectedRawJsonValue) { assert.sameValue(null, Object.getPrototypeOf(rawJson)); assert.sameValue(true, Object.hasOwn(rawJson, 'rawJSON')); - assert.deepEqual(['rawJSON'], Object.keys(rawJson)); - assert.deepEqual(['rawJSON'], Object.getOwnPropertyNames(rawJson)); - assert.deepEqual([], Object.getOwnPropertySymbols(rawJson)); + assert.compareArray(['rawJSON'], Object.keys(rawJson)); + assert.compareArray(['rawJSON'], Object.getOwnPropertyNames(rawJson)); + assert.compareArray([], Object.getOwnPropertySymbols(rawJson)); assert.sameValue(expectedRawJsonValue, rawJson.rawJSON); } assert.sameValue(true, Object.isFrozen(JSON.rawJSON('"shouldBeFrozen"'))); - assertThrowsInstanceOf(() => JSON.rawJSON(), SyntaxError); + assert.throws(SyntaxError, () => JSON.rawJSON()); assertIsRawJson(JSON.rawJSON(1, 2), '1'); })(); @@ -117,17 +116,18 @@ esid: pending var p = JSON.rawJSON(false); var obj = { a: "hi" }; Object.setPrototypeOf(obj, p); - assert.deepEqual(obj.rawJSON, "false"); + assert.sameValue(obj.rawJSON, "false"); })(); -(function checkErrorsComeFromCorrectRealm() { - const otherGlobal = createNewGlobal({newCompartment: true}); +// Check errors come from correct realm. +{ + const otherGlobal = $262.createRealm().global; assert.sameValue(TypeError !== otherGlobal.TypeError, true); - assertErrorComesFromCorrectRealm = (fun, thisRealmType) => { - assertThrowsInstanceOf(() => fun(this), thisRealmType, + let assertErrorComesFromCorrectRealm = (fun, thisRealmType) => { + assert.throws(thisRealmType, () => fun(this), `${thisRealmType.name} should come from this realm.`); - assertThrowsInstanceOf(() => fun(otherGlobal), otherGlobal[thisRealmType.name], + assert.throws(otherGlobal[thisRealmType.name], () => fun(otherGlobal), `${thisRealmType.name} should come from the other realm.`); } @@ -141,5 +141,4 @@ esid: pending assertErrorComesFromCorrectRealm((gbl) => gbl.JSON.rawJSON('123\n'), SyntaxError); assertErrorComesFromCorrectRealm((gbl) => gbl.JSON.rawJSON('\t123'), SyntaxError); assertErrorComesFromCorrectRealm((gbl) => gbl.JSON.rawJSON(''), SyntaxError); -})(); - +} diff --git a/JSTests/test262/test/staging/sm/JSON/parse.js b/JSTests/test262/test/staging/sm/JSON/parse.js index 69c0ea38d6d93..0b5320a29b3de 100644 --- a/JSTests/test262/test/staging/sm/JSON/parse.js +++ b/JSTests/test262/test/staging/sm/JSON/parse.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending @@ -177,7 +174,3 @@ assert.sameValue(props[1], "The outermost value"); assert.sameValue(x["JSON Test Pattern pass3"]["The outermost value"], "must be an object or array."); assert.sameValue(x["JSON Test Pattern pass3"]["In this test"], "It is an object."); - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/JSON/regress-459293.js b/JSTests/test262/test/staging/sm/JSON/regress-459293.js index 5f018380527b1..a5cd8b9acbb54 100644 --- a/JSTests/test262/test/staging/sm/JSON/regress-459293.js +++ b/JSTests/test262/test/staging/sm/JSON/regress-459293.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/JSON/stringify-boxed-primitives.js b/JSTests/test262/test/staging/sm/JSON/stringify-boxed-primitives.js index 6d156013020d1..9bdbfc01ce7d3 100644 --- a/JSTests/test262/test/staging/sm/JSON/stringify-boxed-primitives.js +++ b/JSTests/test262/test/staging/sm/JSON/stringify-boxed-primitives.js @@ -4,23 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Stringification of Boolean/String/Number objects +info: bugzilla.mozilla.org/show_bug.cgi?id=584909 esid: pending ---*/ -var gTestfile = 'stringify-boxed-primitives.js'; -//----------------------------------------------------------------------------- -var BUGNUMBER = 584909; -var summary = "Stringification of Boolean/String/Number objects"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ function redefine(obj, prop, fun) { @@ -62,34 +50,25 @@ redefine(Object.prototype, "valueOf", objValueOf); redefine(Number.prototype, "toString", function() { return 42; }); assert.sameValue(JSON.stringify(new Number(5)), "5"); + redefine(Number.prototype, "valueOf", function() { return 17; }); assert.sameValue(JSON.stringify(new Number(5)), "17"); + delete Number.prototype.toString; assert.sameValue(JSON.stringify(new Number(5)), "17"); + delete Number.prototype.valueOf; assert.sameValue(JSON.stringify(new Number(5)), "null"); // isNaN(Number("[object Number]")) + delete Object.prototype.toString; -try -{ +assert.throws(TypeError, function() { JSON.stringify(new Number(5)); - throw new Error("didn't throw"); -} -catch (e) -{ - assert.sameValue(e instanceof TypeError, true, - "ToNumber failure, should throw TypeError"); -} +}, "ToNumber failure, should throw TypeError"); + delete Object.prototype.valueOf; -try -{ +assert.throws(TypeError, function() { JSON.stringify(new Number(5)); - throw new Error("didn't throw"); -} -catch (e) -{ - assert.sameValue(e instanceof TypeError, true, - "ToNumber failure, should throw TypeError"); -} +}, "ToNumber failure, should throw TypeError"); redefine(Number.prototype, "toString", numToString); @@ -100,35 +79,22 @@ redefine(Object.prototype, "valueOf", objValueOf); redefine(String.prototype, "valueOf", function() { return 17; }); assert.sameValue(JSON.stringify(new String(5)), '"5"'); + redefine(String.prototype, "toString", function() { return 42; }); assert.sameValue(JSON.stringify(new String(5)), '"42"'); + delete String.prototype.toString; assert.sameValue(JSON.stringify(new String(5)), '"[object String]"'); + delete Object.prototype.toString; assert.sameValue(JSON.stringify(new String(5)), '"17"'); + delete String.prototype.valueOf; -try -{ +assert.throws(TypeError, function() { JSON.stringify(new String(5)); - throw new Error("didn't throw"); -} -catch (e) -{ - assert.sameValue(e instanceof TypeError, true, - "ToString failure, should throw TypeError"); -} +}, "ToString failure, should throw TypeError"); + delete Object.prototype.valueOf; -try -{ +assert.throws(TypeError, function() { JSON.stringify(new String(5)); - throw new Error("didn't throw"); -} -catch (e) -{ - assert.sameValue(e instanceof TypeError, true, - "ToString failure, should throw TypeError"); -} - -/******************************************************************************/ - -print("All tests passed!"); +}, "ToString failure, should throw TypeError"); diff --git a/JSTests/test262/test/staging/sm/JSON/stringify-call-replacer-once.js b/JSTests/test262/test/staging/sm/JSON/stringify-call-replacer-once.js index c0d1473253b75..64df1722c19a9 100644 --- a/JSTests/test262/test/staging/sm/JSON/stringify-call-replacer-once.js +++ b/JSTests/test262/test/staging/sm/JSON/stringify-call-replacer-once.js @@ -4,23 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Call replacer function exactly once per value +info: bugzilla.mozilla.org/show_bug.cgi?id=584909 esid: pending ---*/ -var gTestfile = 'stringify-call-replacer-once.js'; -//----------------------------------------------------------------------------- -var BUGNUMBER = 584909; -var summary = "Call replacer function exactly once per value"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ var factor = 1; function replacer(k, v) @@ -35,7 +23,3 @@ var obj = { a: 1, b: 2, c: 3 }; assert.sameValue(JSON.stringify(obj, replacer), '{"a":2,"b":6,"c":12}'); assert.sameValue(factor, 4); - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/JSON/stringify-call-toJSON-once.js b/JSTests/test262/test/staging/sm/JSON/stringify-call-toJSON-once.js index e8a8b74e3ef11..c97d082b8b3b0 100644 --- a/JSTests/test262/test/staging/sm/JSON/stringify-call-toJSON-once.js +++ b/JSTests/test262/test/staging/sm/JSON/stringify-call-toJSON-once.js @@ -4,23 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Stringification of Boolean/String/Number objects +info: bugzilla.mozilla.org/show_bug.cgi?id=584909 esid: pending ---*/ -var gTestfile = 'stringify-call-toJSON-once.js'; -//----------------------------------------------------------------------------- -var BUGNUMBER = 584909; -var summary = "Stringification of Boolean/String/Number objects"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ var obj = { @@ -33,7 +21,3 @@ var obj = }; assert.sameValue(JSON.stringify(obj), '{"p":{}}'); - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/JSON/stringify-dropping-elements.js b/JSTests/test262/test/staging/sm/JSON/stringify-dropping-elements.js index b5f90b2ecb9b6..1bcd231710301 100644 --- a/JSTests/test262/test/staging/sm/JSON/stringify-dropping-elements.js +++ b/JSTests/test262/test/staging/sm/JSON/stringify-dropping-elements.js @@ -2,13 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending ---*/ + assert.sameValue(JSON.stringify({foo: 123}), '{"foo":123}'); assert.sameValue(JSON.stringify({foo: 123, bar: function () {}}), @@ -22,7 +20,3 @@ assert.sameValue(JSON.stringify([123, function () {}]), '[123,null]'); assert.sameValue(JSON.stringify([123, function () {}, 456]), '[123,null,456]'); - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/JSON/stringify-gap.js b/JSTests/test262/test/staging/sm/JSON/stringify-gap.js index c48304adbc080..ad8c56b9b4307 100644 --- a/JSTests/test262/test/staging/sm/JSON/stringify-gap.js +++ b/JSTests/test262/test/staging/sm/JSON/stringify-gap.js @@ -4,24 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + JSON.stringify(_1, _2, numberGreaterThanOne) produces wrong output +info: bugzilla.mozilla.org/show_bug.cgi?id=584909 esid: pending ---*/ -var gTestfile = 'stringify-gap.js'; -//----------------------------------------------------------------------------- -var BUGNUMBER = 584909; -var summary = - "JSON.stringify(_1, _2, numberGreaterThanOne) produces wrong output"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ var LF = "\n"; var GAP = " "; @@ -62,7 +49,3 @@ assert.sameValue(JSON.stringify(obj, null, new String(" ")), "[\n--1,\n--2,\n-- Number.prototype.valueOf = function() { return 0; }; assert.sameValue(JSON.stringify(obj, null, new Number(3)), "[1,2,3]"); - -/******************************************************************************/ - -print("All tests passed!"); diff --git a/JSTests/test262/test/staging/sm/JSON/stringify-ignore-noncallable-toJSON.js b/JSTests/test262/test/staging/sm/JSON/stringify-ignore-noncallable-toJSON.js index e352d1aa066dc..666969678cf5d 100644 --- a/JSTests/test262/test/staging/sm/JSON/stringify-ignore-noncallable-toJSON.js +++ b/JSTests/test262/test/staging/sm/JSON/stringify-ignore-noncallable-toJSON.js @@ -4,23 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + If the toJSON property isn't callable, don't try to call it +info: bugzilla.mozilla.org/show_bug.cgi?id=584909 esid: pending ---*/ -var gTestfile = 'stringify-ignore-noncallable-toJSON.js'; -//----------------------------------------------------------------------------- -var BUGNUMBER = 584909; -var summary = "If the toJSON property isn't callable, don't try to call it"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ var obj = { @@ -29,7 +17,3 @@ var obj = }; assert.sameValue(JSON.stringify(obj), '{"p":{"toJSON":null},"m":{"toJSON":{}}}'); - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/JSON/stringify-large-replacer-array.js b/JSTests/test262/test/staging/sm/JSON/stringify-large-replacer-array.js index 914e1f22f7671..3a7bdaed6759c 100644 --- a/JSTests/test262/test/staging/sm/JSON/stringify-large-replacer-array.js +++ b/JSTests/test262/test/staging/sm/JSON/stringify-large-replacer-array.js @@ -4,30 +4,14 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + JSON.stringify with a large replacer array +info: bugzilla.mozilla.org/show_bug.cgi?id=816033 esid: pending ---*/ -var gTestfile = 'stringify-large-replacer-array.js'; -//----------------------------------------------------------------------------- -var BUGNUMBER = 816033; -var summary = "JSON.stringify with a large replacer array"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ var replacer = []; for (var i = 0; i < 4096; i++) replacer.push(i); assert.sameValue(JSON.stringify({ "foopy": "FAIL", "4093": 17 }, replacer), '{"4093":17}'); - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/JSON/stringify-missing-arguments.js b/JSTests/test262/test/staging/sm/JSON/stringify-missing-arguments.js index 576246f0121b2..7c44f94ab641d 100644 --- a/JSTests/test262/test/staging/sm/JSON/stringify-missing-arguments.js +++ b/JSTests/test262/test/staging/sm/JSON/stringify-missing-arguments.js @@ -4,26 +4,10 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + JSON.stringify with no arguments +info: bugzilla.mozilla.org/show_bug.cgi?id=648471 esid: pending ---*/ -var gTestfile = 'stringify-missing-arguments.js'; -//----------------------------------------------------------------------------- -var BUGNUMBER = 648471; -var summary = "JSON.stringify with no arguments"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ assert.sameValue(JSON.stringify(), undefined); - -/******************************************************************************/ - -print("All tests passed!"); diff --git a/JSTests/test262/test/staging/sm/JSON/stringify-nonarray-noncallable-replacer.js b/JSTests/test262/test/staging/sm/JSON/stringify-nonarray-noncallable-replacer.js index 2fe6b056edf73..5772191ba5108 100644 --- a/JSTests/test262/test/staging/sm/JSON/stringify-nonarray-noncallable-replacer.js +++ b/JSTests/test262/test/staging/sm/JSON/stringify-nonarray-noncallable-replacer.js @@ -4,24 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Treat non-array, non-callable replacers as if none had been specified +info: bugzilla.mozilla.org/show_bug.cgi?id=653782 esid: pending ---*/ -var gTestfile = 'stringify-nonarray-noncallable-replacer.js'; -//----------------------------------------------------------------------------- -var BUGNUMBER = 653782; -var summary = - "Treat non-array, non-callable replacers as if none had been specified"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ var obj = { p: 2 }; var str = '{"p":2}'; @@ -42,7 +29,3 @@ assert.sameValue(JSON.stringify(obj, /abcd/), str); assert.sameValue(JSON.stringify(obj, new Boolean(true)), str); assert.sameValue(JSON.stringify(obj, new Number(42)), str); assert.sameValue(JSON.stringify(obj, new String("aequorin")), str); - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/JSON/stringify-primitives.js b/JSTests/test262/test/staging/sm/JSON/stringify-primitives.js index 64baf15657e7f..7a905d02060e9 100644 --- a/JSTests/test262/test/staging/sm/JSON/stringify-primitives.js +++ b/JSTests/test262/test/staging/sm/JSON/stringify-primitives.js @@ -2,13 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending ---*/ + // sanity var x = JSON.stringify({}); assert.sameValue(x, "{}"); @@ -41,7 +39,3 @@ assert.sameValue(x, '"asdf"'); assert.sameValue(JSON.stringify(undefined), undefined); assert.sameValue(JSON.stringify(function(){}), undefined); assert.sameValue(JSON.stringify(JSON.stringify), undefined); - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/JSON/stringify-replacer-array-boxed-elements.js b/JSTests/test262/test/staging/sm/JSON/stringify-replacer-array-boxed-elements.js index bc31dc788395d..f878418768b94 100644 --- a/JSTests/test262/test/staging/sm/JSON/stringify-replacer-array-boxed-elements.js +++ b/JSTests/test262/test/staging/sm/JSON/stringify-replacer-array-boxed-elements.js @@ -4,23 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Boxed-string/number objects in replacer arrays +info: bugzilla.mozilla.org/show_bug.cgi?id=648471 esid: pending ---*/ -var gTestfile = 'stringify-replacer-array-boxed-elements.js'; -//----------------------------------------------------------------------------- -var BUGNUMBER = 648471; -var summary = "Boxed-string/number objects in replacer arrays"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ var S = new String(3); var N = new Number(4); @@ -61,7 +49,3 @@ assert.sameValue(JSON.stringify({ 4: 4, 17: 17 }, [N]), String.prototype.valueOf = function() { return 42; }; assert.sameValue(JSON.stringify({ 3: 3, 42: 42 }, [S]), '{"42":42}'); - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/JSON/stringify-replacer-array-duplicated-element.js b/JSTests/test262/test/staging/sm/JSON/stringify-replacer-array-duplicated-element.js index ab59a76f5ca4e..d6723cb67d1a8 100644 --- a/JSTests/test262/test/staging/sm/JSON/stringify-replacer-array-duplicated-element.js +++ b/JSTests/test262/test/staging/sm/JSON/stringify-replacer-array-duplicated-element.js @@ -4,25 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Better/more correct handling for replacer arrays with getter array index properties +info: bugzilla.mozilla.org/show_bug.cgi?id=648471 esid: pending ---*/ -var gTestfile = 'stringify-replacer-array-hijinks.js'; -//----------------------------------------------------------------------------- -var BUGNUMBER = 648471; -var summary = - "Better/more correct handling for replacer arrays with getter array index " + - "properties"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ var bigOdd = Math.pow(2, 50) + 1; @@ -70,7 +56,3 @@ assert.sameValue(JSON.stringify({ 1: 1 }, [new String(1), new Number(1)]), '{"1" assert.sameValue(JSON.stringify({ 1: 1 }, [new Number(1), new String(1)]), '{"1":1}'); assert.sameValue(JSON.stringify({ 1: 1 }, [new Number(1), new Number(1)]), '{"1":1}'); - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/JSON/stringify-replacer-array-edgecase-jsid-elements.js b/JSTests/test262/test/staging/sm/JSON/stringify-replacer-array-edgecase-jsid-elements.js index 3b32de24750aa..dd1027af6230d 100644 --- a/JSTests/test262/test/staging/sm/JSON/stringify-replacer-array-edgecase-jsid-elements.js +++ b/JSTests/test262/test/staging/sm/JSON/stringify-replacer-array-edgecase-jsid-elements.js @@ -4,25 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Better/more correct handling for replacer arrays with getter array index properties +info: bugzilla.mozilla.org/show_bug.cgi?id=648471 esid: pending ---*/ -var gTestfile = 'stringify-replacer-array-edgecase-jsid-elements.js'; -//----------------------------------------------------------------------------- -var BUGNUMBER = 648471; -var summary = - "Better/more correct handling for replacer arrays with getter array index " + - "properties"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ /* JSID_INT_MIN/MAX copied from jsapi.h. */ @@ -78,7 +64,3 @@ assert.sameValue(JSON.stringify({ "-0": 17, 0: 42 }, ["-0", -0]), assert.sameValue(JSON.stringify({ "-0": 17, 0: 42 }, [-0, "-0"]), '{"0":42,"-0":17}', "Failed to stringify number then string properties (-0, '-0) correctly"); - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/JSON/stringify-replacer-array-hijinks.js b/JSTests/test262/test/staging/sm/JSON/stringify-replacer-array-hijinks.js index acb9d60820434..7f86ccd16e634 100644 --- a/JSTests/test262/test/staging/sm/JSON/stringify-replacer-array-hijinks.js +++ b/JSTests/test262/test/staging/sm/JSON/stringify-replacer-array-hijinks.js @@ -4,25 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Better/more correct handling for replacer arrays with getter array index properties +info: bugzilla.mozilla.org/show_bug.cgi?id=648471 esid: pending ---*/ -var gTestfile = 'stringify-replacer-array-hijinks.js'; -//----------------------------------------------------------------------------- -var BUGNUMBER = 648471; -var summary = - "Better/more correct handling for replacer arrays with getter array index " + - "properties"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ var replacer = [0, 1, 2, 3]; Object.prototype[3] = 3; @@ -60,7 +46,3 @@ Object.defineProperty(replacer, 0, { // used to determine property names which will be included in the final string. assert.sameValue(JSON.stringify({ 0: 0, 1: 1, 2: 2, 3: 3 }, replacer), '{"3":3}'); - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/JSON/stringify-replacer-array-skipped-element.js b/JSTests/test262/test/staging/sm/JSON/stringify-replacer-array-skipped-element.js index 6b7b5628c04d1..82add871aa31e 100644 --- a/JSTests/test262/test/staging/sm/JSON/stringify-replacer-array-skipped-element.js +++ b/JSTests/test262/test/staging/sm/JSON/stringify-replacer-array-skipped-element.js @@ -4,25 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Better/more correct handling for replacer arrays with getter array index properties +info: bugzilla.mozilla.org/show_bug.cgi?id=648471 esid: pending ---*/ -var gTestfile = 'stringify-replacer-array-skipped-element.js'; -//----------------------------------------------------------------------------- -var BUGNUMBER = 648471; -var summary = - "Better/more correct handling for replacer arrays with getter array index " + - "properties"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ assert.sameValue(JSON.stringify({ 3: 3, 4: 4 }, ["3", { toString: function() { return "4" } }]), @@ -63,7 +49,3 @@ assert.sameValue(JSON.stringify({ 3: 3, null: 4 }, ["3", "null", null]), assert.sameValue(JSON.stringify({ 3: 3, null: 4 }, ["3", null, "null"]), '{"3":3,"null":4}'); - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/JSON/stringify-replacer-array-trailing-holes.js b/JSTests/test262/test/staging/sm/JSON/stringify-replacer-array-trailing-holes.js index d98cc37a44f4a..642a012dc333f 100644 --- a/JSTests/test262/test/staging/sm/JSON/stringify-replacer-array-trailing-holes.js +++ b/JSTests/test262/test/staging/sm/JSON/stringify-replacer-array-trailing-holes.js @@ -4,25 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Better/more correct handling for replacer arrays with trailing holes through which inherited elements might appear +info: bugzilla.mozilla.org/show_bug.cgi?id=1217069 esid: pending ---*/ -var gTestfile = "stringify-replacer-array-trailing-holes.js"; -//----------------------------------------------------------------------------- -var BUGNUMBER = 1217069; -var summary = - "Better/more correct handling for replacer arrays with trailing holes " + - "through which inherited elements might appear"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ var obj = { 0: "hi", 1: "n-nao", 2: "run away!", 3: "bye" }; @@ -50,7 +36,3 @@ Object.prototype[3] = 3; assert.sameValue(JSON.stringify(obj, replacer), '{"0":"hi","1":"n-nao","2":"run away!","3":"bye"}'); - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/JSON/stringify-replacer-with-array-indexes.js b/JSTests/test262/test/staging/sm/JSON/stringify-replacer-with-array-indexes.js index 07f8e13782b1d..6c05ab5018c3f 100644 --- a/JSTests/test262/test/staging/sm/JSON/stringify-replacer-with-array-indexes.js +++ b/JSTests/test262/test/staging/sm/JSON/stringify-replacer-with-array-indexes.js @@ -4,24 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Call the replacer function for array elements with stringified indexes +info: bugzilla.mozilla.org/show_bug.cgi?id=584909 esid: pending ---*/ -var gTestfile = 'stringify-replacer-with-array-indexes.js'; -//----------------------------------------------------------------------------- -var BUGNUMBER = 584909; -var summary = - "Call the replacer function for array elements with stringified indexes"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ var arr = [0, 1, 2, 3, 4]; @@ -57,7 +44,3 @@ function replacer() } assert.sameValue(JSON.stringify(arr, replacer), '[0,1,2,3,4]'); - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/JSON/stringify-replacer.js b/JSTests/test262/test/staging/sm/JSON/stringify-replacer.js index fb9c5b7397e3f..f37f5715ded7d 100644 --- a/JSTests/test262/test/staging/sm/JSON/stringify-replacer.js +++ b/JSTests/test262/test/staging/sm/JSON/stringify-replacer.js @@ -2,13 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending ---*/ + /** * These return* functions are used by the * replacer tests taken from bug 512447 @@ -127,37 +125,15 @@ assert.sameValue(x, '{"0":0,"1":null,"2":2}'); x = JSON.stringify(foo, returnStringForUndefined); assert.sameValue(x, '{"0":0,"1":1,"2":2,"3":"undefined value"}'); -try -{ +assert.throws(TypeError, function() { JSON.stringify(foo, returnCycleObjectFor1); - throw new Error("no error thrown"); -} -catch (e) -{ - assert.sameValue(e instanceof TypeError, true, "no TypeError thrown: " + e); -} +}); -try -{ +assert.throws(TypeError, function() { JSON.stringify(foo, returnCycleArrayFor1); - throw new Error("no error thrown"); -} -catch (e) -{ - assert.sameValue(e instanceof TypeError, true, "no TypeError thrown: " + e); -} +}); foo = [0, 1, 2, undefined]; -try -{ +assert.throws(TypeError, function() { JSON.stringify(foo, returnCycleObjectFor1); - throw new Error("no error thrown"); -} -catch (e) -{ - assert.sameValue(e instanceof TypeError, true, "no TypeError thrown: " + e); -} - -/******************************************************************************/ - -print("Tests complete"); +}); diff --git a/JSTests/test262/test/staging/sm/JSON/stringify-special-escapes.js b/JSTests/test262/test/staging/sm/JSON/stringify-special-escapes.js index aa9a52a615e50..732dc5b87798e 100644 --- a/JSTests/test262/test/staging/sm/JSON/stringify-special-escapes.js +++ b/JSTests/test262/test/staging/sm/JSON/stringify-special-escapes.js @@ -4,24 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + JSON.stringify of \\b\\f\\n\\r\\t should use one-character escapes, not hex +info: bugzilla.mozilla.org/show_bug.cgi?id=512266 esid: pending ---*/ -var gTestfile = 'stringify-special-escapes.js'; -//----------------------------------------------------------------------------- -var BUGNUMBER = 512266; -var summary = - "JSON.stringify of \\b\\f\\n\\r\\t should use one-character escapes, not hex"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ assert.sameValue(JSON.stringify("\u0000"), '"\\u0000"'); assert.sameValue(JSON.stringify("\u0001"), '"\\u0001"'); @@ -278,7 +265,3 @@ assert.sameValue(JSON.stringify("\udddd\udc00"), '"\\udddd\\udc00"'); assert.sameValue(JSON.stringify("\udeaf\udc00"), '"\\udeaf\\udc00"'); assert.sameValue(JSON.stringify("\udfff\udc00"), '"\\udfff\\udc00"'); assert.sameValue(JSON.stringify("\ue000\udc00"), '"\ue000\\udc00"'); - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/JSON/stringify-toJSON-arguments.js b/JSTests/test262/test/staging/sm/JSON/stringify-toJSON-arguments.js index afa9593374d8a..44ab531fbe47a 100644 --- a/JSTests/test262/test/staging/sm/JSON/stringify-toJSON-arguments.js +++ b/JSTests/test262/test/staging/sm/JSON/stringify-toJSON-arguments.js @@ -4,23 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Arguments when an object's toJSON method is called +info: bugzilla.mozilla.org/show_bug.cgi?id=584909 esid: pending ---*/ -var gTestfile = 'stringify-toJSON-arguments.js'; -//----------------------------------------------------------------------------- -var BUGNUMBER = 584909; -var summary = "Arguments when an object's toJSON method is called"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ var obj = { @@ -35,7 +23,3 @@ var obj = }; assert.sameValue(JSON.stringify(obj), '{"p":17}'); - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/JSON/stringify.js b/JSTests/test262/test/staging/sm/JSON/stringify.js index 29ccb91c3ce82..d3add2d06f9d2 100644 --- a/JSTests/test262/test/staging/sm/JSON/stringify.js +++ b/JSTests/test262/test/staging/sm/JSON/stringify.js @@ -2,13 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending ---*/ + function assertStringify(v, expect) { assert.sameValue(JSON.stringify(v), expect); @@ -89,7 +87,3 @@ assertStringify(x, '[1]'); var X = function() { this.a = "b" }; X.prototype = { c: "d" }; assertStringify(new X(), '{"a":"b"}'); - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/Map/NaN-as-key.js b/JSTests/test262/test/staging/sm/Map/NaN-as-key.js index f186f94bb5225..74da6ed474ac4 100644 --- a/JSTests/test262/test/staging/sm/Map/NaN-as-key.js +++ b/JSTests/test262/test/staging/sm/Map/NaN-as-key.js @@ -4,22 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + All NaNs must be treated as identical keys for Map +info: bugzilla.mozilla.org/show_bug.cgi?id=722260 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 722260; -var summary = 'All NaNs must be treated as identical keys for Map'; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ /* Avoid constant-folding that would happen were |undefined| to be used. */ var key = -/a/g.missingProperty; @@ -54,7 +43,3 @@ m.delete(key); assert.sameValue(m.has(key), false); assert.sameValue(m.has(-key), false); assert.sameValue(m.has(NaN), false); - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/Map/constructor-iterator-close.js b/JSTests/test262/test/staging/sm/Map/constructor-iterator-close.js index 4f83891d50716..5ee9ad3faeb46 100644 --- a/JSTests/test262/test/staging/sm/Map/constructor-iterator-close.js +++ b/JSTests/test262/test/staging/sm/Map/constructor-iterator-close.js @@ -2,17 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Map/Set/WeakMap/WeakSet constructor should close iterator on error +info: bugzilla.mozilla.org/show_bug.cgi?id=1180306 esid: pending ---*/ -var BUGNUMBER = 1180306; -var summary = 'Map/Set/WeakMap/WeakSet constructor should close iterator on error'; - -print(BUGNUMBER + ": " + summary); function test(ctors, { nextVal=undefined, nextThrowVal=undefined, @@ -61,7 +55,7 @@ function test(ctors, { nextVal=undefined, } assert.sameValue(caught, true); } else if (exceptionType) { - assertThrowsInstanceOf(() => new ctor(iterable), exceptionType); + assert.throws(exceptionType, () => new ctor(iterable)); } else { new ctor(iterable); } @@ -299,4 +293,3 @@ test([Set, WeakSet], { nextVal: { value: {}, done: false }, closed: false, }); - diff --git a/JSTests/test262/test/staging/sm/Map/constructor-iterator-primitive.js b/JSTests/test262/test/staging/sm/Map/constructor-iterator-primitive.js index dbadaf28f80e3..050a7aae9e073 100644 --- a/JSTests/test262/test/staging/sm/Map/constructor-iterator-primitive.js +++ b/JSTests/test262/test/staging/sm/Map/constructor-iterator-primitive.js @@ -2,17 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Returning non-object from @@iterator should throw +info: bugzilla.mozilla.org/show_bug.cgi?id=1021835 esid: pending ---*/ -var BUGNUMBER = 1021835; -var summary = "Returning non-object from @@iterator should throw"; - -print(BUGNUMBER + ": " + summary); let ctors = [ Map, @@ -37,7 +31,6 @@ for (let ctor of ctors) { return primitive; } }; - assertThrowsInstanceOf(() => new ctor(arg), TypeError); + assert.throws(TypeError, () => new ctor(arg)); } } - diff --git a/JSTests/test262/test/staging/sm/Map/forEach-selfhosted-behavior.js b/JSTests/test262/test/staging/sm/Map/forEach-selfhosted-behavior.js index f534dde6d8f55..4f0247f8f3092 100644 --- a/JSTests/test262/test/staging/sm/Map/forEach-selfhosted-behavior.js +++ b/JSTests/test262/test/staging/sm/Map/forEach-selfhosted-behavior.js @@ -4,22 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Don't use .call(...) in the self-hosted Map.prototype.forEach +info: bugzilla.mozilla.org/show_bug.cgi?id=987243 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 987243; -var summary = "Don't use .call(...) in the self-hosted Map.prototype.forEach"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ var functionCall = Function.prototype.call; @@ -50,7 +39,3 @@ new Map([[1, 2]]).forEach(lalala); new Map([[1, 2], [3, 4]]).forEach(lalala); assert.sameValue(callCount, 0); - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/Map/getter-name.js b/JSTests/test262/test/staging/sm/Map/getter-name.js index 40519cee03fce..8e354fc437408 100644 --- a/JSTests/test262/test/staging/sm/Map/getter-name.js +++ b/JSTests/test262/test/staging/sm/Map/getter-name.js @@ -2,18 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Map getters should have get prefix +info: bugzilla.mozilla.org/show_bug.cgi?id=1180290 esid: pending ---*/ -var BUGNUMBER = 1180290; -var summary = 'Map getters should have get prefix'; - -print(BUGNUMBER + ": " + summary); assert.sameValue(Object.getOwnPropertyDescriptor(Map, Symbol.species).get.name, "get [Symbol.species]"); assert.sameValue(Object.getOwnPropertyDescriptor(Map.prototype, "size").get.name, "get size"); - diff --git a/JSTests/test262/test/staging/sm/Map/iterable.js b/JSTests/test262/test/staging/sm/Map/iterable.js index 9a7150d9ab627..198623f224d9e 100644 --- a/JSTests/test262/test/staging/sm/Map/iterable.js +++ b/JSTests/test262/test/staging/sm/Map/iterable.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/Map/iterator-thisv-error.js b/JSTests/test262/test/staging/sm/Map/iterator-thisv-error.js index 6fdbd49567b65..299619f9a4a97 100644 --- a/JSTests/test262/test/staging/sm/Map/iterator-thisv-error.js +++ b/JSTests/test262/test/staging/sm/Map/iterator-thisv-error.js @@ -4,25 +4,15 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending ---*/ -function test(fn, thisv) { - assertThrowsInstanceOfWithMessageCheck( - () => fn.call(thisv), - TypeError, - message => - /^\w+ method called on incompatible.+/.test(message) && !message.includes("std_")); -} for (var thisv of [null, undefined, false, true, 0, ""]) { - test(Map.prototype.values, thisv); - test(Map.prototype.keys, thisv); - test(Map.prototype.entries, thisv); - test(Map.prototype[Symbol.iterator], thisv); + assert.throws(TypeError, () => Map.prototype.values.call(thisv)); + assert.throws(TypeError, () => Map.prototype.keys.call(thisv)); + assert.throws(TypeError, () => Map.prototype.entries.call(thisv)); + assert.throws(TypeError, () => Map.prototype[Symbol.iterator].call(thisv)); } diff --git a/JSTests/test262/test/staging/sm/Map/symbols.js b/JSTests/test262/test/staging/sm/Map/symbols.js index e986a1632c044..a0fe19f20e2b7 100644 --- a/JSTests/test262/test/staging/sm/Map/symbols.js +++ b/JSTests/test262/test/staging/sm/Map/symbols.js @@ -4,9 +4,7 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js, deepEqual.js] -flags: - - noStrict +includes: [deepEqual.js] description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/Math/20.2.2.ToNumber.js b/JSTests/test262/test/staging/sm/Math/20.2.2.ToNumber.js index 5b9bc9e27595f..69625c13e3f18 100644 --- a/JSTests/test262/test/staging/sm/Math/20.2.2.ToNumber.js +++ b/JSTests/test262/test/staging/sm/Math/20.2.2.ToNumber.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-Math-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/Math/acosh-approx.js b/JSTests/test262/test/staging/sm/Math/acosh-approx.js index 6af46bf582de2..8a8d99219f10f 100644 --- a/JSTests/test262/test/staging/sm/Math/acosh-approx.js +++ b/JSTests/test262/test/staging/sm/Math/acosh-approx.js @@ -2,9 +2,7 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-Math-shell.js] -flags: - - noStrict +includes: [sm/non262-Math-shell.js] description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/Math/acosh-exact.js b/JSTests/test262/test/staging/sm/Math/acosh-exact.js index 134cc04f6102e..4d783d66f927e 100644 --- a/JSTests/test262/test/staging/sm/Math/acosh-exact.js +++ b/JSTests/test262/test/staging/sm/Math/acosh-exact.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-Math-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/Math/asinh-approx.js b/JSTests/test262/test/staging/sm/Math/asinh-approx.js index 0af6258efec55..04843f6135541 100644 --- a/JSTests/test262/test/staging/sm/Math/asinh-approx.js +++ b/JSTests/test262/test/staging/sm/Math/asinh-approx.js @@ -2,9 +2,7 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-Math-shell.js] -flags: - - noStrict +includes: [sm/non262-Math-shell.js] description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/Math/asinh-exact.js b/JSTests/test262/test/staging/sm/Math/asinh-exact.js index 03624ca230717..779b49df61f50 100644 --- a/JSTests/test262/test/staging/sm/Math/asinh-exact.js +++ b/JSTests/test262/test/staging/sm/Math/asinh-exact.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-Math-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/Math/atanh-approx.js b/JSTests/test262/test/staging/sm/Math/atanh-approx.js index 16ea1b086adf8..19795cca61cd6 100644 --- a/JSTests/test262/test/staging/sm/Math/atanh-approx.js +++ b/JSTests/test262/test/staging/sm/Math/atanh-approx.js @@ -2,9 +2,7 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-Math-shell.js] -flags: - - noStrict +includes: [sm/non262-Math-shell.js] description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/Math/atanh-exact.js b/JSTests/test262/test/staging/sm/Math/atanh-exact.js index 368591394f88d..810c103961cf0 100644 --- a/JSTests/test262/test/staging/sm/Math/atanh-exact.js +++ b/JSTests/test262/test/staging/sm/Math/atanh-exact.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-Math-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/Math/cbrt-approx.js b/JSTests/test262/test/staging/sm/Math/cbrt-approx.js index 02095245dfd7b..4585e166a4e66 100644 --- a/JSTests/test262/test/staging/sm/Math/cbrt-approx.js +++ b/JSTests/test262/test/staging/sm/Math/cbrt-approx.js @@ -2,9 +2,7 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-Math-shell.js] -flags: - - noStrict +includes: [sm/non262-Math-shell.js] description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/Math/cbrt-exact.js b/JSTests/test262/test/staging/sm/Math/cbrt-exact.js index 4ad005381dcb9..f8f13da6fa97e 100644 --- a/JSTests/test262/test/staging/sm/Math/cbrt-exact.js +++ b/JSTests/test262/test/staging/sm/Math/cbrt-exact.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-Math-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/Math/clz32.js b/JSTests/test262/test/staging/sm/Math/clz32.js index 8e162d6783180..e06bdbf643c37 100644 --- a/JSTests/test262/test/staging/sm/Math/clz32.js +++ b/JSTests/test262/test/staging/sm/Math/clz32.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-Math-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/Math/cosh-approx.js b/JSTests/test262/test/staging/sm/Math/cosh-approx.js index 9a528846b714e..ee2466f24760e 100644 --- a/JSTests/test262/test/staging/sm/Math/cosh-approx.js +++ b/JSTests/test262/test/staging/sm/Math/cosh-approx.js @@ -2,9 +2,7 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-Math-shell.js] -flags: - - noStrict +includes: [sm/non262-Math-shell.js] description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/Math/cosh-exact.js b/JSTests/test262/test/staging/sm/Math/cosh-exact.js index 9336f57e8f171..e1cb4535b3b64 100644 --- a/JSTests/test262/test/staging/sm/Math/cosh-exact.js +++ b/JSTests/test262/test/staging/sm/Math/cosh-exact.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-Math-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/Math/exp-exact.js b/JSTests/test262/test/staging/sm/Math/exp-exact.js index a206617f61772..90c8b71790602 100644 --- a/JSTests/test262/test/staging/sm/Math/exp-exact.js +++ b/JSTests/test262/test/staging/sm/Math/exp-exact.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-Math-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/Math/expm1-approx.js b/JSTests/test262/test/staging/sm/Math/expm1-approx.js index 0122cdb5d258e..30333fe7ad5f7 100644 --- a/JSTests/test262/test/staging/sm/Math/expm1-approx.js +++ b/JSTests/test262/test/staging/sm/Math/expm1-approx.js @@ -2,9 +2,7 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-Math-shell.js] -flags: - - noStrict +includes: [sm/non262-Math-shell.js] description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/Math/expm1-exact.js b/JSTests/test262/test/staging/sm/Math/expm1-exact.js index f2d5dee6b6907..be67d3e8a7c67 100644 --- a/JSTests/test262/test/staging/sm/Math/expm1-exact.js +++ b/JSTests/test262/test/staging/sm/Math/expm1-exact.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-Math-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/Math/expm1-monotonicity.js b/JSTests/test262/test/staging/sm/Math/expm1-monotonicity.js index a9d67d04409d3..192a971dfd342 100644 --- a/JSTests/test262/test/staging/sm/Math/expm1-monotonicity.js +++ b/JSTests/test262/test/staging/sm/Math/expm1-monotonicity.js @@ -2,17 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-Math-shell.js] -flags: - - noStrict description: | - pending + expm1 should be monotonically increasing +info: bugzilla.mozilla.org/show_bug.cgi?id=897634 esid: pending ---*/ -var BUGNUMBER = 897634; -var summary = "expm1 should be monotonically increasing"; - -print(BUGNUMBER + ": " + summary); function test(x, prev, next) { assert.sameValue(Math.expm1(prev) <= Math.expm1(x), true); @@ -100,4 +94,3 @@ test(10000000000, 9999999999.999998, 10000000000.000002); test(1e+100, 9.999999999999998e+99, 1.0000000000000002e+100); test(1e+223, 9.999999999999999e+222, 1.0000000000000002e+223); test(1.7976931348623157e+308, 1.7976931348623155e+308, Infinity); - diff --git a/JSTests/test262/test/staging/sm/Math/f16round.js b/JSTests/test262/test/staging/sm/Math/f16round.js index 4158c55cec9b7..d86257c8c5817 100644 --- a/JSTests/test262/test/staging/sm/Math/f16round.js +++ b/JSTests/test262/test/staging/sm/Math/f16round.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-Math-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/Math/fround.js b/JSTests/test262/test/staging/sm/Math/fround.js index c10c18efa3241..59fb7c19998d0 100644 --- a/JSTests/test262/test/staging/sm/Math/fround.js +++ b/JSTests/test262/test/staging/sm/Math/fround.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-Math-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/Math/log10-approx.js b/JSTests/test262/test/staging/sm/Math/log10-approx.js index 70359eb030b4f..817c846813f88 100644 --- a/JSTests/test262/test/staging/sm/Math/log10-approx.js +++ b/JSTests/test262/test/staging/sm/Math/log10-approx.js @@ -2,9 +2,7 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-Math-shell.js] -flags: - - noStrict +includes: [sm/non262-Math-shell.js] description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/Math/log10-exact.js b/JSTests/test262/test/staging/sm/Math/log10-exact.js index 4c98c6c8f6a54..fe08df54e7a0a 100644 --- a/JSTests/test262/test/staging/sm/Math/log10-exact.js +++ b/JSTests/test262/test/staging/sm/Math/log10-exact.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-Math-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/Math/log1p-approx.js b/JSTests/test262/test/staging/sm/Math/log1p-approx.js index 8abe074d18cf7..6ab61e92edc81 100644 --- a/JSTests/test262/test/staging/sm/Math/log1p-approx.js +++ b/JSTests/test262/test/staging/sm/Math/log1p-approx.js @@ -2,9 +2,7 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-Math-shell.js] -flags: - - noStrict +includes: [sm/non262-Math-shell.js] description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/Math/log1p-exact.js b/JSTests/test262/test/staging/sm/Math/log1p-exact.js index 8a497462466c0..424dcf2159193 100644 --- a/JSTests/test262/test/staging/sm/Math/log1p-exact.js +++ b/JSTests/test262/test/staging/sm/Math/log1p-exact.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-Math-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/Math/log2-approx.js b/JSTests/test262/test/staging/sm/Math/log2-approx.js index 4c967ee1991a1..5fae833fe2813 100644 --- a/JSTests/test262/test/staging/sm/Math/log2-approx.js +++ b/JSTests/test262/test/staging/sm/Math/log2-approx.js @@ -2,9 +2,7 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-Math-shell.js] -flags: - - noStrict +includes: [sm/non262-Math-shell.js] description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/Math/log2-exact.js b/JSTests/test262/test/staging/sm/Math/log2-exact.js index a21efe883d4de..92b37182ae1ec 100644 --- a/JSTests/test262/test/staging/sm/Math/log2-exact.js +++ b/JSTests/test262/test/staging/sm/Math/log2-exact.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-Math-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/Math/sign.js b/JSTests/test262/test/staging/sm/Math/sign.js index 6b448e61aae04..cdd1bdcf3f94a 100644 --- a/JSTests/test262/test/staging/sm/Math/sign.js +++ b/JSTests/test262/test/staging/sm/Math/sign.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-Math-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/Math/sinh-approx.js b/JSTests/test262/test/staging/sm/Math/sinh-approx.js index e100eb32babcb..ab0a07805f6d0 100644 --- a/JSTests/test262/test/staging/sm/Math/sinh-approx.js +++ b/JSTests/test262/test/staging/sm/Math/sinh-approx.js @@ -2,9 +2,7 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-Math-shell.js] -flags: - - noStrict +includes: [sm/non262-Math-shell.js] description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/Math/sinh-exact.js b/JSTests/test262/test/staging/sm/Math/sinh-exact.js index 105017869f3dd..2a131aec5116d 100644 --- a/JSTests/test262/test/staging/sm/Math/sinh-exact.js +++ b/JSTests/test262/test/staging/sm/Math/sinh-exact.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-Math-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/Math/tanh-approx.js b/JSTests/test262/test/staging/sm/Math/tanh-approx.js index 78154983fc99c..6c11f669037a0 100644 --- a/JSTests/test262/test/staging/sm/Math/tanh-approx.js +++ b/JSTests/test262/test/staging/sm/Math/tanh-approx.js @@ -2,9 +2,7 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-Math-shell.js] -flags: - - noStrict +includes: [sm/non262-Math-shell.js] description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/Math/tanh-exact.js b/JSTests/test262/test/staging/sm/Math/tanh-exact.js index 382ae4ebbd6c8..4bd6856d1a512 100644 --- a/JSTests/test262/test/staging/sm/Math/tanh-exact.js +++ b/JSTests/test262/test/staging/sm/Math/tanh-exact.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-Math-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/Math/trunc.js b/JSTests/test262/test/staging/sm/Math/trunc.js index 5af904dd30763..048b8062db64d 100644 --- a/JSTests/test262/test/staging/sm/Math/trunc.js +++ b/JSTests/test262/test/staging/sm/Math/trunc.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-Math-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/Number/0x-without-following-hexdigits.js b/JSTests/test262/test/staging/sm/Number/0x-without-following-hexdigits.js index 479a8f7693aee..d3f658b06abab 100644 --- a/JSTests/test262/test/staging/sm/Number/0x-without-following-hexdigits.js +++ b/JSTests/test262/test/staging/sm/Number/0x-without-following-hexdigits.js @@ -4,34 +4,12 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + '0x' not followed by hex digits should be a syntax error +info: bugzilla.mozilla.org/show_bug.cgi?id=582643 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 582643; -var summary = "'0x' not followed by hex digits should be a syntax error"; -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ - -try -{ +assert.throws(SyntaxError, function() { eval("0x"); - throw new Error("didn't throw parsing 0x (with no subsequent hex digits)"); -} -catch (e) -{ - assert.sameValue(e instanceof SyntaxError, true, - "bad exception thrown: " + e); -} - -/******************************************************************************/ - -print("All tests passed!"); +}); diff --git a/JSTests/test262/test/staging/sm/Number/15.7.3.7-EPSILON.js b/JSTests/test262/test/staging/sm/Number/15.7.3.7-EPSILON.js index 91579e047492a..8767d584e48bc 100644 --- a/JSTests/test262/test/staging/sm/Number/15.7.3.7-EPSILON.js +++ b/JSTests/test262/test/staging/sm/Number/15.7.3.7-EPSILON.js @@ -4,22 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Number.EPSILON +info: bugzilla.mozilla.org/show_bug.cgi?id=885798 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 885798; -var summary = "ES6 (draft May 2013) 15.7.3.7 Number.EPSILON"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ // Test value assert.sameValue(Number.EPSILON, Math.pow(2, -52)); @@ -29,4 +18,3 @@ var descriptor = Object.getOwnPropertyDescriptor(Number, 'EPSILON'); assert.sameValue(descriptor.writable, false); assert.sameValue(descriptor.configurable, false); assert.sameValue(descriptor.enumerable, false); - diff --git a/JSTests/test262/test/staging/sm/Number/20.1.2.10-MIN_SAFE_INTEGER.js b/JSTests/test262/test/staging/sm/Number/20.1.2.10-MIN_SAFE_INTEGER.js index 2a3d44eaedc05..d85d98127d132 100644 --- a/JSTests/test262/test/staging/sm/Number/20.1.2.10-MIN_SAFE_INTEGER.js +++ b/JSTests/test262/test/staging/sm/Number/20.1.2.10-MIN_SAFE_INTEGER.js @@ -4,23 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Number.MIN_SAFE_INTEGER +info: bugzilla.mozilla.org/show_bug.cgi?id=885798 esid: pending ---*/ -//----------------------------------------------------------------------------- - -var BUGNUMBER = 885798; -var summary = "ES6 (draft April 2014) 20.1.2.10 Number.MIN_SAFE_INTEGER"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ // Test value assert.sameValue(Number.MIN_SAFE_INTEGER, -(Math.pow(2, 53) - 1)); @@ -31,4 +19,3 @@ var descriptor = Object.getOwnPropertyDescriptor(Number, 'MIN_SAFE_INTEGER'); assert.sameValue(descriptor.writable, false); assert.sameValue(descriptor.configurable, false); assert.sameValue(descriptor.enumerable, false); - diff --git a/JSTests/test262/test/staging/sm/Number/20.1.2.6-MAX_SAFE_INTEGER.js b/JSTests/test262/test/staging/sm/Number/20.1.2.6-MAX_SAFE_INTEGER.js index 43fffb4f42910..3eeea6474a2e2 100644 --- a/JSTests/test262/test/staging/sm/Number/20.1.2.6-MAX_SAFE_INTEGER.js +++ b/JSTests/test262/test/staging/sm/Number/20.1.2.6-MAX_SAFE_INTEGER.js @@ -4,23 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Number.MAX_SAFE_INTEGER +info: bugzilla.mozilla.org/show_bug.cgi?id=885798 esid: pending ---*/ -//----------------------------------------------------------------------------- - -var BUGNUMBER = 885798; -var summary = "ES6 (draft April 2014) 20.1.2.6 Number.MAX_SAFE_INTEGER"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ // Test value assert.sameValue(Number.MAX_SAFE_INTEGER, Math.pow(2, 53) - 1); @@ -31,4 +19,3 @@ var descriptor = Object.getOwnPropertyDescriptor(Number, 'MAX_SAFE_INTEGER'); assert.sameValue(descriptor.writable, false); assert.sameValue(descriptor.configurable, false); assert.sameValue(descriptor.enumerable, false); - diff --git a/JSTests/test262/test/staging/sm/Number/20.1.3.2-toExponential.js b/JSTests/test262/test/staging/sm/Number/20.1.3.2-toExponential.js index ef2d420a225c0..d6b6a3f49f50b 100644 --- a/JSTests/test262/test/staging/sm/Number/20.1.3.2-toExponential.js +++ b/JSTests/test262/test/staging/sm/Number/20.1.3.2-toExponential.js @@ -4,23 +4,12 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict +includes: [sm/assertThrowsValue.js] description: | - pending + Number.prototype.toExponential +info: bugzilla.mozilla.org/show_bug.cgi?id=818617 esid: pending ---*/ -//----------------------------------------------------------------------------- - -var BUGNUMBER = 818617; -var summary = "ECMAScript 2017 Draft ECMA-262 Section 20.1.3.2: Number.prototype.toExponential"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ // With NaN, fractionDigits out of range. assert.sameValue(Number.prototype.toExponential.call(NaN, 555), 'NaN'); @@ -51,8 +40,4 @@ assertThrowsValue( "hello"); // Not a number throws TypeError -assertThrowsInstanceOf(() => Number.prototype.toExponential.call("Hello"), TypeError); - -if (typeof assert.sameValue === "function") { -} - +assert.throws(TypeError, () => Number.prototype.toExponential.call("Hello")); diff --git a/JSTests/test262/test/staging/sm/Number/20.1.3.2-toPrecision.js b/JSTests/test262/test/staging/sm/Number/20.1.3.2-toPrecision.js index 4b7cb7423870f..0db643d20e784 100644 --- a/JSTests/test262/test/staging/sm/Number/20.1.3.2-toPrecision.js +++ b/JSTests/test262/test/staging/sm/Number/20.1.3.2-toPrecision.js @@ -4,23 +4,12 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict +includes: [sm/assertThrowsValue.js] description: | - pending + Number.prototype.toPrecision +info: bugzilla.mozilla.org/show_bug.cgi?id=818617 esid: pending ---*/ -//----------------------------------------------------------------------------- - -var BUGNUMBER = 818617; -var summary = "ECMAScript 2017 Draft ECMA-262 Section 20.1.3.5: Number.prototype.toPrecision"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ // With NaN, fractionDigits out of range. assert.sameValue(Number.prototype.toPrecision.call(NaN, 555), 'NaN'); @@ -51,8 +40,4 @@ assertThrowsValue( "hello"); // Not a number throws TypeError -assertThrowsInstanceOf(() => Number.prototype.toPrecision.call("Hello"), TypeError); - -if (typeof assert.sameValue === "function") { -} - +assert.throws(TypeError, () => Number.prototype.toPrecision.call("Hello")); diff --git a/JSTests/test262/test/staging/sm/Number/20.1.3.3-toFixed.js b/JSTests/test262/test/staging/sm/Number/20.1.3.3-toFixed.js index 017670ec91925..fd8eee0e9e306 100644 --- a/JSTests/test262/test/staging/sm/Number/20.1.3.3-toFixed.js +++ b/JSTests/test262/test/staging/sm/Number/20.1.3.3-toFixed.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending @@ -15,9 +12,9 @@ assert.sameValue(Number.prototype.toFixed.call(-Infinity), "-Infinity"); assert.sameValue(Number.prototype.toFixed.call(Infinity), "Infinity"); assert.sameValue(Number.prototype.toFixed.call(NaN), "NaN"); -assertThrowsInstanceOf(() => Number.prototype.toFixed.call(-Infinity, 555), RangeError); -assertThrowsInstanceOf(() => Number.prototype.toFixed.call(Infinity, 555), RangeError); -assertThrowsInstanceOf(() => Number.prototype.toFixed.call(NaN, 555), RangeError); +assert.throws(RangeError, () => Number.prototype.toFixed.call(-Infinity, 555)); +assert.throws(RangeError, () => Number.prototype.toFixed.call(Infinity, 555)); +assert.throws(RangeError, () => Number.prototype.toFixed.call(NaN, 555)); -assertThrowsInstanceOf(() => Number.prototype.toFixed.call("Hello"), TypeError); +assert.throws(TypeError, () => Number.prototype.toFixed.call("Hello")); diff --git a/JSTests/test262/test/staging/sm/Number/conversion-invalid-precision.js b/JSTests/test262/test/staging/sm/Number/conversion-invalid-precision.js index b93c00c978aba..9187351ae91cf 100644 --- a/JSTests/test262/test/staging/sm/Number/conversion-invalid-precision.js +++ b/JSTests/test262/test/staging/sm/Number/conversion-invalid-precision.js @@ -4,36 +4,16 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Number.prototype.to* should throw a RangeError when passed a bad precision +info: bugzilla.mozilla.org/show_bug.cgi?id=795745 esid: pending ---*/ -var BUGNUMBER = 795745; -var summary = - "Number.prototype.to* should throw a RangeError when passed a bad precision"; -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ - -function test(method, prec) -{ - try - { +function test(method, prec) { + assert.throws(RangeError, function() { Number.prototype[method].call(0, prec); - throw "should have thrown"; - } - catch (e) - { - assert.sameValue(e instanceof RangeError, true, - "expected RangeError for " + method + " with precision " + prec + - ", got " + e); - } + }); } test("toExponential", -32); @@ -45,7 +25,3 @@ test("toFixed", 9999999); test("toPrecision", 9999999); test("toPrecision", 0); - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/Number/defaultvalue.js b/JSTests/test262/test/staging/sm/Number/defaultvalue.js index 5bb37134d8f57..e7745ec332c68 100644 --- a/JSTests/test262/test/staging/sm/Number/defaultvalue.js +++ b/JSTests/test262/test/staging/sm/Number/defaultvalue.js @@ -4,23 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + [[DefaultValue]] behavior wrong for Number with overridden valueOf/toString +info: bugzilla.mozilla.org/show_bug.cgi?id=645464 esid: pending ---*/ -var BUGNUMBER = 645464; -var summary = - "[[DefaultValue]] behavior wrong for Number with overridden valueOf/toString"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ - // equality @@ -169,7 +157,3 @@ function testInOperatorName() assert.sameValue(n3 in { 0: 17 }, true); } testInOperatorName(); - -/******************************************************************************/ - -print("All tests passed!"); diff --git a/JSTests/test262/test/staging/sm/Number/isSafeInteger-01.js b/JSTests/test262/test/staging/sm/Number/isSafeInteger-01.js index 6c4885d314a50..37f4ede01ef71 100644 --- a/JSTests/test262/test/staging/sm/Number/isSafeInteger-01.js +++ b/JSTests/test262/test/staging/sm/Number/isSafeInteger-01.js @@ -4,18 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Number.isSafeInteger(number) +info: bugzilla.mozilla.org/show_bug.cgi?id=1003764 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 1003764; -var summary = "ES6 (draft Draft May 22, 2014) ES6 20.1.2.5 Number.isSafeInteger(number)"; - -print(BUGNUMBER + ": " + summary); assert.sameValue(Number.isSafeInteger.length, 1); @@ -42,6 +35,3 @@ assert.sameValue(Number.isSafeInteger(-Math.pow(2, 53) - 1), false); assert.sameValue(Number.isSafeInteger(-Math.pow(2, 53)), false); assert.sameValue(Number.isSafeInteger(-Math.pow(2, 53) + 1), true); assert.sameValue(Number.isSafeInteger(-Math.pow(2, 53) + 2), true); - - -print("All tests passed!"); diff --git a/JSTests/test262/test/staging/sm/Number/numericSeparator.js b/JSTests/test262/test/staging/sm/Number/numericSeparator.js index 7f7b8ebfdd13b..f67e5bb7eeddd 100644 --- a/JSTests/test262/test/staging/sm/Number/numericSeparator.js +++ b/JSTests/test262/test/staging/sm/Number/numericSeparator.js @@ -4,14 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending ---*/ -assertThrowsInstanceOf(function() { eval('let a = 100_00_;'); }, SyntaxError); -assertThrowsInstanceOf(() => eval("let b = 10__;"), SyntaxError); -assertThrowsInstanceOf(() => eval("let b = 1._2;"), SyntaxError); +assert.throws(SyntaxError, function() { eval('let a = 100_00_;'); }); +assert.throws(SyntaxError, () => eval("let b = 10__;")); +assert.throws(SyntaxError, () => eval("let b = 1._2;")); diff --git a/JSTests/test262/test/staging/sm/Number/parseFloat-01.js b/JSTests/test262/test/staging/sm/Number/parseFloat-01.js index e31325070d012..f52789508f737 100644 --- a/JSTests/test262/test/staging/sm/Number/parseFloat-01.js +++ b/JSTests/test262/test/staging/sm/Number/parseFloat-01.js @@ -4,18 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Number.parseFloat(string) +info: bugzilla.mozilla.org/show_bug.cgi?id=886949 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 886949; -var summary = "ES6 (draft May 2013) 15.7.3.10 Number.parseFloat(string)"; - -print(BUGNUMBER + ": " + summary); assert.sameValue(Number.parseFloat("Infinity"), Infinity); assert.sameValue(Number.parseFloat("+Infinity"), Infinity); @@ -30,5 +23,3 @@ assert.sameValue(Number.parseFloat("NaN"), NaN); /* Number.parseFloat should be the same function object as global parseFloat. */ assert.sameValue(Number.parseFloat, parseFloat); - -print("All tests passed!"); diff --git a/JSTests/test262/test/staging/sm/Number/parseInt-01.js b/JSTests/test262/test/staging/sm/Number/parseInt-01.js index 120c6ddace718..c0ee8b594509a 100644 --- a/JSTests/test262/test/staging/sm/Number/parseInt-01.js +++ b/JSTests/test262/test/staging/sm/Number/parseInt-01.js @@ -4,22 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Number.parseInt(string, radix) +info: bugzilla.mozilla.org/show_bug.cgi?id=886949 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 886949; -var summary = "ES6 (draft May 2013) 15.7.3.9 Number.parseInt(string, radix)"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ var str, radix; var upvar; @@ -173,7 +162,3 @@ assert.sameValue(Number.parseInt("00A", 17), 10); /* Number.parseInt should be the same function object as global parseInt. */ assert.sameValue(Number.parseInt, parseInt); - -/******************************************************************************/ - -print("All tests passed!"); diff --git a/JSTests/test262/test/staging/sm/Number/parseInt-default-to-decimal.js b/JSTests/test262/test/staging/sm/Number/parseInt-default-to-decimal.js index fbc68e23fb36d..b41b678a5ce89 100644 --- a/JSTests/test262/test/staging/sm/Number/parseInt-default-to-decimal.js +++ b/JSTests/test262/test/staging/sm/Number/parseInt-default-to-decimal.js @@ -4,23 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Number.parseInt(string, radix). Verify that Number.parseInt defaults to decimal. +info: bugzilla.mozilla.org/show_bug.cgi?id=886949 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 886949; -var summary = "ES6 (draft May 2013) 15.7.3.9 Number.parseInt(string, radix)." + - " Verify that Number.parseInt defaults to decimal."; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ assert.sameValue(Number.parseInt("08"), 8); assert.sameValue(Number.parseInt("09"), 9); @@ -31,7 +19,3 @@ function strictParseInt(s) { "use strict"; return Number.parseInt(s); } assert.sameValue(strictParseInt("08"), 8); assert.sameValue(strictParseInt("09"), 9); assert.sameValue(strictParseInt("014"), 14); - -/******************************************************************************/ - -print("All tests passed!"); diff --git a/JSTests/test262/test/staging/sm/Number/toExponential-values.js b/JSTests/test262/test/staging/sm/Number/toExponential-values.js index dc6aaf8d32fee..1415b96037fba 100644 --- a/JSTests/test262/test/staging/sm/Number/toExponential-values.js +++ b/JSTests/test262/test/staging/sm/Number/toExponential-values.js @@ -2,13 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending ---*/ + let values = [ [-0, undefined, "0e+0"], [-0, 0, "0e+0"], @@ -123,6 +121,3 @@ let values = [ for (let [val, prec, expected] of values) { assert.sameValue(Number.prototype.toExponential.call(val, prec), expected); } - -if (typeof assert.sameValue === "function") { -} diff --git a/JSTests/test262/test/staging/sm/Number/toFixed-values.js b/JSTests/test262/test/staging/sm/Number/toFixed-values.js index 2b054d9d586f9..726879abb859d 100644 --- a/JSTests/test262/test/staging/sm/Number/toFixed-values.js +++ b/JSTests/test262/test/staging/sm/Number/toFixed-values.js @@ -2,13 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending ---*/ + let values = [ [-0, undefined, "0"], [-0, 0, "0"], @@ -123,6 +121,3 @@ let values = [ for (let [val, prec, expected] of values) { assert.sameValue(Number.prototype.toFixed.call(val, prec), expected); } - -if (typeof assert.sameValue === "function") { -} diff --git a/JSTests/test262/test/staging/sm/Number/toPrecision-values.js b/JSTests/test262/test/staging/sm/Number/toPrecision-values.js index 06a1cd9366a06..e55e5eb803d44 100644 --- a/JSTests/test262/test/staging/sm/Number/toPrecision-values.js +++ b/JSTests/test262/test/staging/sm/Number/toPrecision-values.js @@ -2,13 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending ---*/ + let values = [ [-0, undefined, "0"], [-0, 1, "0"], @@ -105,6 +103,3 @@ let values = [ for (let [val, prec, expected] of values) { assert.sameValue(Number.prototype.toPrecision.call(val, prec), expected); } - -if (typeof assert.sameValue === "function") { -} diff --git a/JSTests/test262/test/staging/sm/Number/toString-radix-handling.js b/JSTests/test262/test/staging/sm/Number/toString-radix-handling.js index bc1961b8ae7d9..d8052728dc0c9 100644 --- a/JSTests/test262/test/staging/sm/Number/toString-radix-handling.js +++ b/JSTests/test262/test/staging/sm/Number/toString-radix-handling.js @@ -4,39 +4,17 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Number.prototype.toString should use ToInteger on the radix and should throw a RangeError if the radix is bad +info: bugzilla.mozilla.org/show_bug.cgi?id=647385 esid: pending ---*/ -var BUGNUMBER = 647385; -var summary = - "Number.prototype.toString should use ToInteger on the radix and should " + - "throw a RangeError if the radix is bad"; -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ - -function test(r) -{ - try - { +function test(r) { + assert.throws(RangeError, function() { 5..toString(r); - throw "should have thrown"; - } - catch (e) - { - assert.sameValue(e instanceof RangeError, true, "expected a RangeError, got " + e); - } + }); } + test(Math.pow(2, 32) + 10); test(55); - -/******************************************************************************/ - -print("All tests passed!"); diff --git a/JSTests/test262/test/staging/sm/Number/tonumber-string-hex.js b/JSTests/test262/test/staging/sm/Number/tonumber-string-hex.js index d8b5e07a06bbe..daba403aaa501 100644 --- a/JSTests/test262/test/staging/sm/Number/tonumber-string-hex.js +++ b/JSTests/test262/test/staging/sm/Number/tonumber-string-hex.js @@ -4,21 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Various tests of ToNumber(string), particularly +"0x" being NaN +info: bugzilla.mozilla.org/show_bug.cgi?id=872853 esid: pending ---*/ -var BUGNUMBER = 872853; -var summary = 'Various tests of ToNumber(string), particularly +"0x" being NaN'; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ assert.sameValue(+"0x", NaN); assert.sameValue(+"\t0x", NaN); @@ -37,7 +27,3 @@ assert.sameValue(+"\t+Infinity", Infinity); assert.sameValue(+"-Infinity\n", -Infinity); assert.sameValue(+"+ Infinity", NaN); assert.sameValue(+"- Infinity", NaN); - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/PrivateName/constructor-args.js b/JSTests/test262/test/staging/sm/PrivateName/constructor-args.js index e4aac8e7855ba..7277f2ef058fd 100644 --- a/JSTests/test262/test/staging/sm/PrivateName/constructor-args.js +++ b/JSTests/test262/test/staging/sm/PrivateName/constructor-args.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/PrivateName/error-outside-class.js b/JSTests/test262/test/staging/sm/PrivateName/error-outside-class.js index 3bee61c815ad9..291545c212b3b 100644 --- a/JSTests/test262/test/staging/sm/PrivateName/error-outside-class.js +++ b/JSTests/test262/test/staging/sm/PrivateName/error-outside-class.js @@ -2,22 +2,18 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending ---*/ // Can't reference a private field without an object -assertThrowsInstanceOf(() => eval('#x'), SyntaxError); +assert.throws(SyntaxError, () => eval('#x')); // Can't reference a private field without an enclosing class -assertThrowsInstanceOf(() => eval('this.#x'), SyntaxError); +assert.throws(SyntaxError, () => eval('this.#x')); // Can't reference a private field in a random function outside a class context -assertThrowsInstanceOf( - () => eval('function foo() { return this.#x'), SyntaxError); +assert.throws(SyntaxError, () => eval('function foo() { return this.#x')); diff --git a/JSTests/test262/test/staging/sm/PrivateName/home-object-when-preceded-by-computed-key.js b/JSTests/test262/test/staging/sm/PrivateName/home-object-when-preceded-by-computed-key.js index fa3dcf3a454b4..bfb1ef7a5ea34 100644 --- a/JSTests/test262/test/staging/sm/PrivateName/home-object-when-preceded-by-computed-key.js +++ b/JSTests/test262/test/staging/sm/PrivateName/home-object-when-preceded-by-computed-key.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/PrivateName/illegal-in-class-context.js b/JSTests/test262/test/staging/sm/PrivateName/illegal-in-class-context.js index dae64c3feee62..d0ada3399c8df 100644 --- a/JSTests/test262/test/staging/sm/PrivateName/illegal-in-class-context.js +++ b/JSTests/test262/test/staging/sm/PrivateName/illegal-in-class-context.js @@ -2,25 +2,24 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending ---*/ -assertThrowsInstanceOf(() => eval(`class A { #x; #x; }`), SyntaxError); +assert.throws(SyntaxError, () => eval(`class A { #x; #x; }`)); // No computed private fields -assertThrowsInstanceOf( - () => eval(`var x = "foo"; class A { #[x] = 20; }`), SyntaxError); +assert.throws(SyntaxError, () => eval(`var x = "foo"; class A { #[x] = 20; }`)); -assertThrowsInstanceOfWithMessage(() => eval(`class A { #x; h(o) { return !#x; }}`), +assert.throws( SyntaxError, + () => eval(`class A { #x; h(o) { return !#x; }}`), "invalid use of private name in unary expression without object reference"); -assertThrowsInstanceOfWithMessage(() => eval(`class A { #x; h(o) { return 1 + #x in o; }}`), + +assert.throws( SyntaxError, + () => eval(`class A { #x; h(o) { return 1 + #x in o; }}`), "invalid use of private name due to operator precedence"); diff --git a/JSTests/test262/test/staging/sm/PrivateName/illegal-in-identifier-context.js b/JSTests/test262/test/staging/sm/PrivateName/illegal-in-identifier-context.js index f27c7cb82c16f..b2113b6dbd6f5 100644 --- a/JSTests/test262/test/staging/sm/PrivateName/illegal-in-identifier-context.js +++ b/JSTests/test262/test/staging/sm/PrivateName/illegal-in-identifier-context.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending @@ -13,41 +10,41 @@ esid: pending // Private names can't appear in contexts where plain identifiers are expected. // Private names as binding identifiers. -assertThrowsInstanceOf(() => eval(`var #a;`), SyntaxError); -assertThrowsInstanceOf(() => eval(`let #a;`), SyntaxError); -assertThrowsInstanceOf(() => eval(`const #a = 0;`), SyntaxError); -assertThrowsInstanceOf(() => eval(`function #a(){}`), SyntaxError); -assertThrowsInstanceOf(() => eval(`function f(#a){}`), SyntaxError); +assert.throws(SyntaxError, () => eval(`var #a;`)); +assert.throws(SyntaxError, () => eval(`let #a;`)); +assert.throws(SyntaxError, () => eval(`const #a = 0;`)); +assert.throws(SyntaxError, () => eval(`function #a(){}`)); +assert.throws(SyntaxError, () => eval(`function f(#a){}`)); // With escape sequences (leading and non-leading case). -assertThrowsInstanceOf(() => eval(String.raw`var #\u0061;`), SyntaxError); -assertThrowsInstanceOf(() => eval(String.raw`var #a\u0061;`), SyntaxError); -assertThrowsInstanceOf(() => eval(String.raw`let #\u0061;`), SyntaxError); -assertThrowsInstanceOf(() => eval(String.raw`let #a\u0061;`), SyntaxError); -assertThrowsInstanceOf(() => eval(String.raw`const #\u0061 = 0;`), SyntaxError); -assertThrowsInstanceOf(() => eval(String.raw`const #a\u0061 = 0;`), SyntaxError); -assertThrowsInstanceOf(() => eval(String.raw`function #\u0061(){}`), SyntaxError); -assertThrowsInstanceOf(() => eval(String.raw`function #a\u0061(){}`), SyntaxError); -assertThrowsInstanceOf(() => eval(String.raw`function f(#\u0061){}`), SyntaxError); -assertThrowsInstanceOf(() => eval(String.raw`function f(#a\u0061){}`), SyntaxError); +assert.throws(SyntaxError, () => eval(String.raw`var #\u0061;`)); +assert.throws(SyntaxError, () => eval(String.raw`var #a\u0061;`)); +assert.throws(SyntaxError, () => eval(String.raw`let #\u0061;`)); +assert.throws(SyntaxError, () => eval(String.raw`let #a\u0061;`)); +assert.throws(SyntaxError, () => eval(String.raw`const #\u0061 = 0;`)); +assert.throws(SyntaxError, () => eval(String.raw`const #a\u0061 = 0;`)); +assert.throws(SyntaxError, () => eval(String.raw`function #\u0061(){}`)); +assert.throws(SyntaxError, () => eval(String.raw`function #a\u0061(){}`)); +assert.throws(SyntaxError, () => eval(String.raw`function f(#\u0061){}`)); +assert.throws(SyntaxError, () => eval(String.raw`function f(#a\u0061){}`)); // Private names as label identifiers. -assertThrowsInstanceOf(() => eval(`#a: ;`), SyntaxError); +assert.throws(SyntaxError, () => eval(`#a: ;`)); // With escape sequences (leading and non-leading case). -assertThrowsInstanceOf(() => eval(String.raw`#\u0061: ;`), SyntaxError); -assertThrowsInstanceOf(() => eval(String.raw`#a\u0061: ;`), SyntaxError); +assert.throws(SyntaxError, () => eval(String.raw`#\u0061: ;`)); +assert.throws(SyntaxError, () => eval(String.raw`#a\u0061: ;`)); // Private names as identifier references. -assertThrowsInstanceOf(() => eval(`#a = 0;`), SyntaxError); -assertThrowsInstanceOf(() => eval(`typeof #a;`), SyntaxError); +assert.throws(SyntaxError, () => eval(`#a = 0;`)); +assert.throws(SyntaxError, () => eval(`typeof #a;`)); // With escape sequences (leading and non-leading case). -assertThrowsInstanceOf(() => eval(String.raw`#\u0061 = 0;`), SyntaxError); -assertThrowsInstanceOf(() => eval(String.raw`#a\u0061 = 0;`), SyntaxError); -assertThrowsInstanceOf(() => eval(String.raw`typeof #\u0061;`), SyntaxError); -assertThrowsInstanceOf(() => eval(String.raw`typeof #a\u0061;`), SyntaxError); +assert.throws(SyntaxError, () => eval(String.raw`#\u0061 = 0;`)); +assert.throws(SyntaxError, () => eval(String.raw`#a\u0061 = 0;`)); +assert.throws(SyntaxError, () => eval(String.raw`typeof #\u0061;`)); +assert.throws(SyntaxError, () => eval(String.raw`typeof #a\u0061;`)); diff --git a/JSTests/test262/test/staging/sm/PrivateName/illegal-in-object-context.js b/JSTests/test262/test/staging/sm/PrivateName/illegal-in-object-context.js index 9082ef33e7340..972ebbd5216b6 100644 --- a/JSTests/test262/test/staging/sm/PrivateName/illegal-in-object-context.js +++ b/JSTests/test262/test/staging/sm/PrivateName/illegal-in-object-context.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending @@ -12,12 +9,12 @@ esid: pending // Private names aren't valid in object literals. -assertThrowsInstanceOf(() => eval(`var o = {#a: 0};`), SyntaxError); -assertThrowsInstanceOf(() => eval(`var o = {#a};`), SyntaxError); -assertThrowsInstanceOf(() => eval(`var o = {#a(){}};`), SyntaxError); -assertThrowsInstanceOf(() => eval(`var o = {get #a(){}};`), SyntaxError); -assertThrowsInstanceOf(() => eval(`var o = {set #a(v){}};`), SyntaxError); -assertThrowsInstanceOf(() => eval(`var o = {*#a(v){}};`), SyntaxError); -assertThrowsInstanceOf(() => eval(`var o = {async #a(v){}};`), SyntaxError); -assertThrowsInstanceOf(() => eval(`var o = {async *#a(v){}};`), SyntaxError); +assert.throws(SyntaxError, () => eval(`var o = {#a: 0};`)); +assert.throws(SyntaxError, () => eval(`var o = {#a};`)); +assert.throws(SyntaxError, () => eval(`var o = {#a(){}};`)); +assert.throws(SyntaxError, () => eval(`var o = {get #a(){}};`)); +assert.throws(SyntaxError, () => eval(`var o = {set #a(v){}};`)); +assert.throws(SyntaxError, () => eval(`var o = {*#a(v){}};`)); +assert.throws(SyntaxError, () => eval(`var o = {async #a(v){}};`)); +assert.throws(SyntaxError, () => eval(`var o = {async *#a(v){}};`)); diff --git a/JSTests/test262/test/staging/sm/PrivateName/lexical-presence.js b/JSTests/test262/test/staging/sm/PrivateName/lexical-presence.js index ecaeda512a203..496f29a8abe91 100644 --- a/JSTests/test262/test/staging/sm/PrivateName/lexical-presence.js +++ b/JSTests/test262/test/staging/sm/PrivateName/lexical-presence.js @@ -2,7 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | @@ -16,9 +15,9 @@ class A { }; function assertThrowsSyntaxError(str) { - assertThrowsInstanceOf(() => eval(str), SyntaxError); // Direct Eval - assertThrowsInstanceOf(() => (1, eval)(str), SyntaxError); // Indirect Eval - assertThrowsInstanceOf(() => Function(str), SyntaxError); // Function + assert.throws(SyntaxError, () => eval(str)); // Direct Eval + assert.throws(SyntaxError, () => (1, eval)(str)); // Indirect Eval + assert.throws(SyntaxError, () => Function(str)); // Function } assertThrowsSyntaxError(` @@ -55,7 +54,7 @@ function assertNonExisting(fetchCode) { } var a = new X; a.b()` - assertThrowsInstanceOf(() => eval(source), SyntaxError); + assert.throws(SyntaxError, () => eval(source)); } assertNonExisting(`return eval("this.#x")"`); diff --git a/JSTests/test262/test/staging/sm/PrivateName/modify-non-extensible.js b/JSTests/test262/test/staging/sm/PrivateName/modify-non-extensible.js index 941491727a68e..f122f9a3b8e6e 100644 --- a/JSTests/test262/test/staging/sm/PrivateName/modify-non-extensible.js +++ b/JSTests/test262/test/staging/sm/PrivateName/modify-non-extensible.js @@ -2,7 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] +features: + - class + - class-fields-private + - class-fields-public + - nonextensible-applies-to-private flags: - noStrict description: | @@ -33,8 +37,8 @@ class A extends OverrideBase { } var obj = {}; -Object.seal(obj); new A(obj); // Add #a to obj, but not g. +Object.seal(obj); assert.sameValue('g' in obj, false); assert.sameValue(A.gs(obj), 1); A.inca(obj); @@ -68,8 +72,10 @@ assert.sameValue(A.gs(proxy), 2) var target = { a: 10 }; Object.freeze(target); -new A(target); -assert.sameValue(Object.isFrozen(target), true) +assert.throws(TypeError, function () { + new A(target); +}); +assert.sameValue(Object.isFrozen(target), true); var getOwnKeys = []; var proxy = new Proxy(target, { @@ -81,4 +87,3 @@ var proxy = new Proxy(target, { Object.isFrozen(proxy); assert.sameValue(getOwnKeys.length, 1); - diff --git a/JSTests/test262/test/staging/sm/PrivateName/names.js b/JSTests/test262/test/staging/sm/PrivateName/names.js index 509b4925a947b..00e7ab9390fa8 100644 --- a/JSTests/test262/test/staging/sm/PrivateName/names.js +++ b/JSTests/test262/test/staging/sm/PrivateName/names.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/PrivateName/nested-class-in-computed-property-key.js b/JSTests/test262/test/staging/sm/PrivateName/nested-class-in-computed-property-key.js index 92ecfe623fa4a..edc7c5d51124c 100644 --- a/JSTests/test262/test/staging/sm/PrivateName/nested-class-in-computed-property-key.js +++ b/JSTests/test262/test/staging/sm/PrivateName/nested-class-in-computed-property-key.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/PrivateName/nested-class-name-used.js b/JSTests/test262/test/staging/sm/PrivateName/nested-class-name-used.js index 1ef6094493166..9373966d3bbef 100644 --- a/JSTests/test262/test/staging/sm/PrivateName/nested-class-name-used.js +++ b/JSTests/test262/test/staging/sm/PrivateName/nested-class-name-used.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending @@ -32,10 +29,7 @@ class A { } }; -a = new A; -try { +var a = new A; +assert.throws(TypeError, function() { a.g(); -} catch (e) { - assert.sameValue(e instanceof TypeError, true); -} - +}); diff --git a/JSTests/test262/test/staging/sm/PrivateName/not-iterable.js b/JSTests/test262/test/staging/sm/PrivateName/not-iterable.js index 4eb79231b7f24..cc7ab5b623f70 100644 --- a/JSTests/test262/test/staging/sm/PrivateName/not-iterable.js +++ b/JSTests/test262/test/staging/sm/PrivateName/not-iterable.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/PrivateName/parse-utf8-non-ascii-identifier.js b/JSTests/test262/test/staging/sm/PrivateName/parse-utf8-non-ascii-identifier.js index cd6147590141b..206365c8dd20d 100644 --- a/JSTests/test262/test/staging/sm/PrivateName/parse-utf8-non-ascii-identifier.js +++ b/JSTests/test262/test/staging/sm/PrivateName/parse-utf8-non-ascii-identifier.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/PrivateName/proxy-1.js b/JSTests/test262/test/staging/sm/PrivateName/proxy-1.js index 9279e8787ec0e..2a332913635d5 100644 --- a/JSTests/test262/test/staging/sm/PrivateName/proxy-1.js +++ b/JSTests/test262/test/staging/sm/PrivateName/proxy-1.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending @@ -18,13 +15,6 @@ class A { }; var p = new Proxy(new A, {}); -var completed = false; -try { +assert.throws(TypeError, function() { p.g(); - completed = true; -} catch (e) { - assert.sameValue(e instanceof TypeError, true); -} -assert.sameValue(completed, false); - - +}); diff --git a/JSTests/test262/test/staging/sm/PrivateName/proxy-init-set.js b/JSTests/test262/test/staging/sm/PrivateName/proxy-init-set.js index 186cb3ca830a2..7d8e1db6352c3 100644 --- a/JSTests/test262/test/staging/sm/PrivateName/proxy-init-set.js +++ b/JSTests/test262/test/staging/sm/PrivateName/proxy-init-set.js @@ -2,26 +2,12 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending ---*/ -// Ensure that the distinction between Proxy Init and Proxy Set holds - -function assertThrowsTypeError(f) { - var type; - try { - f(); - } catch (ex) { - type = ex.name; - } - assert.sameValue(type, 'TypeError'); -} - +// Ensure that the distinction between Proxy Init and Proxy Set holds var target = {}; var p1 = new Proxy(target, {}); @@ -61,23 +47,22 @@ assert.sameValue(A.gf(p1), 15); // Despite P1 being stamped with A's field, it shouldn't // be sufficient to set B's field. -assertThrowsTypeError(() => B.sf(p1)); -assertThrowsTypeError(() => B.gf(p1)); -assertThrowsTypeError(() => B.sf(p1)); +assert.throws(TypeError, () => B.sf(p1)); +assert.throws(TypeError, () => B.gf(p1)); +assert.throws(TypeError, () => B.sf(p1)); new B(p1); assert.sameValue(B.gf(p1), 25); B.sf(p1); assert.sameValue(B.gf(p1), 20); // A's field should't be on the target -assertThrowsTypeError(() => A.gf(target)); +assert.throws(TypeError, () => A.gf(target)); // Can't set the field, doesn't exist -assertThrowsTypeError(() => A.sf(p2)); +assert.throws(TypeError, () => A.sf(p2)); // Definitely can't get the field, doesn't exist. -assertThrowsTypeError(() => A.gf(p2)); +assert.throws(TypeError, () => A.gf(p2)); // Still should't be on the target. -assertThrowsTypeError(() => A.gf(target)); - +assert.throws(TypeError, () => A.gf(target)); diff --git a/JSTests/test262/test/staging/sm/PrivateName/read-private-eval.js b/JSTests/test262/test/staging/sm/PrivateName/read-private-eval.js index 394adcdbfcc92..76095e11541b0 100644 --- a/JSTests/test262/test/staging/sm/PrivateName/read-private-eval.js +++ b/JSTests/test262/test/staging/sm/PrivateName/read-private-eval.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending @@ -17,6 +14,5 @@ class A { } } -a = new A; +var a = new A; assert.sameValue(a.g(), 14); - diff --git a/JSTests/test262/test/staging/sm/PrivateName/unicode-names.js b/JSTests/test262/test/staging/sm/PrivateName/unicode-names.js index a31e7a848f976..4306f592aa809 100644 --- a/JSTests/test262/test/staging/sm/PrivateName/unicode-names.js +++ b/JSTests/test262/test/staging/sm/PrivateName/unicode-names.js @@ -2,18 +2,14 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending ---*/ -source = `class A { +var source = `class A { // Ensure this name parses. #℘; }`; Function(source); - diff --git a/JSTests/test262/test/staging/sm/Promise/bug-1287334.js b/JSTests/test262/test/staging/sm/Promise/bug-1287334.js index fa9d94de0375e..53990752ad64a 100644 --- a/JSTests/test262/test/staging/sm/Promise/bug-1287334.js +++ b/JSTests/test262/test/staging/sm/Promise/bug-1287334.js @@ -2,16 +2,13 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending ---*/ + var promise = Promise.resolve(1); var FakeCtor = function(exec){ exec(function(){}, function(){}); }; Object.defineProperty(Promise, Symbol.species, {value: FakeCtor}); // This just shouldn't crash. It does without bug 1287334 fixed. promise.then(function(){}); - diff --git a/JSTests/test262/test/staging/sm/Promise/bug-1288382.js b/JSTests/test262/test/staging/sm/Promise/bug-1288382.js index e5284759355df..0979a7fb8f030 100644 --- a/JSTests/test262/test/staging/sm/Promise/bug-1288382.js +++ b/JSTests/test262/test/staging/sm/Promise/bug-1288382.js @@ -2,17 +2,14 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending ---*/ + // This just shouldn't trigger a failed assert. // It does without bug 1288382 fixed. Promise.all.call(class { constructor(exec){ exec(()=>{}, ()=>{}); } static resolve() { return {then(){}}; } }, [null]); - diff --git a/JSTests/test262/test/staging/sm/Promise/bug-1289040.js b/JSTests/test262/test/staging/sm/Promise/bug-1289040.js index 9e4b9fc6dc44e..6c40bee96c4bf 100644 --- a/JSTests/test262/test/staging/sm/Promise/bug-1289040.js +++ b/JSTests/test262/test/staging/sm/Promise/bug-1289040.js @@ -2,17 +2,14 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending ---*/ -var global = createNewGlobal(); + +var global = $262.createRealm().global; Promise.prototype.then = global.Promise.prototype.then; -p1 = new Promise(function f(r) { +var p1 = new Promise(function f(r) { r(1); }); -p2 = p1.then(function g(){}); - +var p2 = p1.then(function g(){}); diff --git a/JSTests/test262/test/staging/sm/Promise/for-of-iterator-uses-getv.js b/JSTests/test262/test/staging/sm/Promise/for-of-iterator-uses-getv.js index 49b5e90f06b1d..fd19997533067 100644 --- a/JSTests/test262/test/staging/sm/Promise/for-of-iterator-uses-getv.js +++ b/JSTests/test262/test/staging/sm/Promise/for-of-iterator-uses-getv.js @@ -4,12 +4,12 @@ /*--- flags: - onlyStrict -includes: [sm/non262.js, sm/non262-shell.js] description: | pending esid: pending ---*/ -"use strict"; // Use strict-mode to ensure |this| arguments aren't converted to objects. + +// strict-mode to ensure |this| arguments aren't converted to objects. var emptyIterator = { next() { @@ -31,4 +31,3 @@ Object.defineProperty(Number.prototype, Symbol.iterator, { Promise.all(0); Promise.allSettled(0); Promise.race(0); - diff --git a/JSTests/test262/test/staging/sm/Promise/methods-non-enumerable.js b/JSTests/test262/test/staging/sm/Promise/methods-non-enumerable.js index 6e33b23d35b81..06fdf6c183485 100644 --- a/JSTests/test262/test/staging/sm/Promise/methods-non-enumerable.js +++ b/JSTests/test262/test/staging/sm/Promise/methods-non-enumerable.js @@ -2,13 +2,10 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending ---*/ + assert.sameValue(Object.keys(Promise).length, 0); assert.sameValue(Object.keys(Promise.prototype).length, 0); - diff --git a/JSTests/test262/test/staging/sm/Promise/promise-species.js b/JSTests/test262/test/staging/sm/Promise/promise-species.js index 7ce56930a3824..6880d9b27000b 100644 --- a/JSTests/test262/test/staging/sm/Promise/promise-species.js +++ b/JSTests/test262/test/staging/sm/Promise/promise-species.js @@ -2,17 +2,14 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending ---*/ + assert.sameValue(Promise[Symbol.species], Promise); let prop = Object.getOwnPropertyDescriptor(Promise, Symbol.species); assert.sameValue('get' in prop, true); assert.sameValue(typeof prop.get, 'function'); assert.sameValue('set' in prop, true); assert.sameValue(prop.set, undefined); - diff --git a/JSTests/test262/test/staging/sm/Proxy/define-writable-as-non-writable.js b/JSTests/test262/test/staging/sm/Proxy/define-writable-as-non-writable.js index df22630fffc3b..471474f444c8c 100644 --- a/JSTests/test262/test/staging/sm/Proxy/define-writable-as-non-writable.js +++ b/JSTests/test262/test/staging/sm/Proxy/define-writable-as-non-writable.js @@ -2,14 +2,10 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -flags: - - onlyStrict -includes: [sm/non262.js, sm/non262-shell.js] description: | pending esid: pending ---*/ -"use strict"; var target = {}; Object.defineProperty(target, "test", {configurable: false, writable: true, value: 5}); @@ -21,9 +17,6 @@ var proxy = new Proxy(target, { } }); -assertThrowsInstanceOf( - () => Object.defineProperty(proxy, "test", {writable: false}), TypeError); - -assertThrowsInstanceOf( - () => Reflect.defineProperty(proxy, "test", {writable: false}), TypeError); +assert.throws(TypeError, () => Object.defineProperty(proxy, "test", {writable: false})); +assert.throws(TypeError, () => Reflect.defineProperty(proxy, "test", {writable: false})); diff --git a/JSTests/test262/test/staging/sm/Proxy/delete-non-extensible.js b/JSTests/test262/test/staging/sm/Proxy/delete-non-extensible.js index 7786467f97f18..68f69887f52b9 100644 --- a/JSTests/test262/test/staging/sm/Proxy/delete-non-extensible.js +++ b/JSTests/test262/test/staging/sm/Proxy/delete-non-extensible.js @@ -2,14 +2,10 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -flags: - - onlyStrict -includes: [sm/non262.js, sm/non262-shell.js] description: | pending esid: pending ---*/ -"use strict"; var target = { test: true }; Object.preventExtensions(target); @@ -23,6 +19,5 @@ var proxy = new Proxy(target, { assert.sameValue(delete proxy.missing, true); assert.sameValue(Reflect.deleteProperty(proxy, "missing"), true); -assertThrowsInstanceOf(() => { delete proxy.test; }, TypeError); -assertThrowsInstanceOf(() => Reflect.deleteProperty(proxy, "test"), TypeError); - +assert.throws(TypeError, () => { delete proxy.test; }); +assert.throws(TypeError, () => Reflect.deleteProperty(proxy, "test")); diff --git a/JSTests/test262/test/staging/sm/Proxy/getPrototypeOf.js b/JSTests/test262/test/staging/sm/Proxy/getPrototypeOf.js index e6f8525258e76..57b7943cc0eac 100644 --- a/JSTests/test262/test/staging/sm/Proxy/getPrototypeOf.js +++ b/JSTests/test262/test/staging/sm/Proxy/getPrototypeOf.js @@ -4,22 +4,12 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict +includes: [sm/assertThrowsValue.js] description: | - pending + Scripted proxies' [[GetPrototypeOf]] behavior +info: bugzilla.mozilla.org/show_bug.cgi?id=888969 esid: pending ---*/ -var gTestfile = "getPrototypeOf.js"; -var BUGNUMBER = 888969; -var summary = "Scripted proxies' [[GetPrototypeOf]] behavior"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ const log = []; @@ -47,7 +37,7 @@ p = rev.proxy; assert.sameValue(Object.getPrototypeOf(p), Object.prototype); rev.revoke(); -assertThrowsInstanceOf(() => Object.getPrototypeOf(p), TypeError); +assert.throws(TypeError, () => Object.getPrototypeOf(p)); // 4. Let target be the value of the [[ProxyTarget]] internal slot of O. // 5. Let trap be ? GetMethod(handler, "getPrototypeOf"). @@ -67,8 +57,7 @@ assertThrowsValue(() => Object.getPrototypeOf(p), 42); // The trap might not be callable. p = new Proxy({}, { getPrototypeOf: 17 }); -assertThrowsInstanceOf(() => Object.getPrototypeOf(p), - TypeError); +assert.throws(TypeError, () => Object.getPrototypeOf(p)); // 6. If trap is undefined, then // a. Return ? target.[[GetPrototypeOf]](). @@ -154,44 +143,34 @@ p = new Proxy(typeTestingTarget, { getPrototypeOf() { return rval; } }); function returnsPrimitives() { rval = undefined; - assertThrowsInstanceOf(() => Object.getPrototypeOf(p), - TypeError); + assert.throws(TypeError, () => Object.getPrototypeOf(p)); rval = true; - assertThrowsInstanceOf(() => Object.getPrototypeOf(p), - TypeError); + assert.throws(TypeError, () => Object.getPrototypeOf(p)); rval = false; - assertThrowsInstanceOf(() => Object.getPrototypeOf(p), - TypeError); + assert.throws(TypeError, () => Object.getPrototypeOf(p)); rval = 0.0; - assertThrowsInstanceOf(() => Object.getPrototypeOf(p), - TypeError); + assert.throws(TypeError, () => Object.getPrototypeOf(p)); rval = -0.0; - assertThrowsInstanceOf(() => Object.getPrototypeOf(p), - TypeError); + assert.throws(TypeError, () => Object.getPrototypeOf(p)); rval = 3.141592654; - assertThrowsInstanceOf(() => Object.getPrototypeOf(p), - TypeError); + assert.throws(TypeError, () => Object.getPrototypeOf(p)); rval = NaN; - assertThrowsInstanceOf(() => Object.getPrototypeOf(p), - TypeError); + assert.throws(TypeError, () => Object.getPrototypeOf(p)); rval = -Infinity; - assertThrowsInstanceOf(() => Object.getPrototypeOf(p), - TypeError); + assert.throws(TypeError, () => Object.getPrototypeOf(p)); rval = "[[Prototype]] FOR REALZ"; - assertThrowsInstanceOf(() => Object.getPrototypeOf(p), - TypeError); + assert.throws(TypeError, () => Object.getPrototypeOf(p)); rval = Symbol("[[Prototype]] FOR REALZ"); - assertThrowsInstanceOf(() => Object.getPrototypeOf(p), - TypeError); + assert.throws(TypeError, () => Object.getPrototypeOf(p)); } returnsPrimitives(); @@ -248,8 +227,8 @@ targetProto = null; var regex = /targetProto/; -act1 = () => log.push("act1"); -act2 = () => log.push("act2"); +var act1 = () => log.push("act1"); +var act2 = () => log.push("act2"); log.length = 0; assert.sameValue(Object.getPrototypeOf(p), null); @@ -270,8 +249,7 @@ assert.sameValue(log[0], "act1 again"); act1 = act2 = nop; rval = /a/; -assertThrowsInstanceOf(() => Object.getPrototypeOf(p), - TypeError); +assert.throws(TypeError, () => Object.getPrototypeOf(p)); // 13. Return handlerProto. @@ -284,7 +262,3 @@ p = new Proxy(Object.preventExtensions(new Number(55)), { getPrototypeOf() { return Number.prototype; } }); assert.sameValue(Object.getPrototypeOf(p), Number.prototype); - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/Proxy/global-receiver.js b/JSTests/test262/test/staging/sm/Proxy/global-receiver.js index 66182ffbfa5ea..761461bb02fb8 100644 --- a/JSTests/test262/test/staging/sm/Proxy/global-receiver.js +++ b/JSTests/test262/test/staging/sm/Proxy/global-receiver.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/Proxy/hasInstance.js b/JSTests/test262/test/staging/sm/Proxy/hasInstance.js index 6d7aa892fe5d4..753c9ec9ae678 100644 --- a/JSTests/test262/test/staging/sm/Proxy/hasInstance.js +++ b/JSTests/test262/test/staging/sm/Proxy/hasInstance.js @@ -2,9 +2,7 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, deepEqual.js] -flags: - - noStrict +includes: [compareArray.js] description: | pending esid: pending @@ -19,5 +17,5 @@ var p = new Proxy(fun, { }); assert.sameValue(new fun instanceof p, true); -assert.deepEqual(get, [Symbol.hasInstance, "prototype"]); +assert.compareArray(get, [Symbol.hasInstance, "prototype"]); diff --git a/JSTests/test262/test/staging/sm/Proxy/json-stringify-replacer-array-revocable-proxy.js b/JSTests/test262/test/staging/sm/Proxy/json-stringify-replacer-array-revocable-proxy.js index a3c0cfda71bbe..6652c7747249b 100644 --- a/JSTests/test262/test/staging/sm/Proxy/json-stringify-replacer-array-revocable-proxy.js +++ b/JSTests/test262/test/staging/sm/Proxy/json-stringify-replacer-array-revocable-proxy.js @@ -4,25 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Don't assert when JSON.stringify is passed a revocable proxy to an array, then that proxy is revoked midflight during stringification +info: bugzilla.mozilla.org/show_bug.cgi?id=1196497 esid: pending ---*/ -var gTestfile = "json-stringify-replacer-array-revocable-proxy.js"; -//----------------------------------------------------------------------------- -var BUGNUMBER = 1196497; -var summary = - "Don't assert when JSON.stringify is passed a revocable proxy to an array, " + - "then that proxy is revoked midflight during stringification"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ var arr = []; var { proxy, revoke } = Proxy.revocable(arr, { @@ -40,7 +26,3 @@ var { proxy, revoke } = Proxy.revocable(arr, { }); assert.sameValue(JSON.stringify({a: 0}, proxy), "{}"); - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/Proxy/ownkeys-allowed-types.js b/JSTests/test262/test/staging/sm/Proxy/ownkeys-allowed-types.js index 5a196505a5851..b0865d4fa006e 100644 --- a/JSTests/test262/test/staging/sm/Proxy/ownkeys-allowed-types.js +++ b/JSTests/test262/test/staging/sm/Proxy/ownkeys-allowed-types.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending @@ -15,8 +12,8 @@ function makeProxy(type) { for (var type of [123, 12.5, true, false, undefined, null, {}, []]) { var proxy = makeProxy(type); - assertThrowsInstanceOf(() => Object.ownKeys(proxy), TypeError); - assertThrowsInstanceOf(() => Object.getOwnPropertyNames(proxy), TypeError); + assert.throws(TypeError, () => Object.ownKeys(proxy)); + assert.throws(TypeError, () => Object.getOwnPropertyNames(proxy)); } type = Symbol(); diff --git a/JSTests/test262/test/staging/sm/Proxy/ownkeys-linear.js b/JSTests/test262/test/staging/sm/Proxy/ownkeys-linear.js index 5227dbb36203f..2a27bf54fc31a 100644 --- a/JSTests/test262/test/staging/sm/Proxy/ownkeys-linear.js +++ b/JSTests/test262/test/staging/sm/Proxy/ownkeys-linear.js @@ -4,23 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Scripted proxies' [[OwnPropertyKeys]] should have linear complexity +info: bugzilla.mozilla.org/show_bug.cgi?id=1257779 esid: pending ---*/ -var gTestfile = 'ownkeys-linear.js'; -var BUGNUMBER = 1257779; -var summary = - "Scripted proxies' [[OwnPropertyKeys]] should have linear complexity"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ // Making this 50k makes cgc builds time out on tbpl. 5k takes 28s locally. // 10k takes 84s locally. So pick an intermediate number, with a generous @@ -69,7 +57,3 @@ var p = new Proxy(target, handler); // The test passes if it doesn't time out. assert.sameValue(Object.getOwnPropertyNames(p).length, HALF_COUNT * 2); - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/Proxy/ownkeys-trap-duplicates.js b/JSTests/test262/test/staging/sm/Proxy/ownkeys-trap-duplicates.js index 9113ce6fee948..a5f9d94803a7a 100644 --- a/JSTests/test262/test/staging/sm/Proxy/ownkeys-trap-duplicates.js +++ b/JSTests/test262/test/staging/sm/Proxy/ownkeys-trap-duplicates.js @@ -4,35 +4,16 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Scripted proxies' [[OwnPropertyKeys]] should not throw if the trap implementation returns duplicate properties and the object is non-extensible or has non-configurable properties. Revised (bug 1389752): Throw TypeError for duplicate properties. +info: bugzilla.mozilla.org/show_bug.cgi?id=1293995 esid: pending ---*/ -var gTestfile = 'ownkeys-trap-duplicates.js'; -var BUGNUMBER = 1293995; -var summary = - "Scripted proxies' [[OwnPropertyKeys]] should not throw if the trap " + - "implementation returns duplicate properties and the object is " + - "non-extensible or has non-configurable properties." + - "Revised (bug 1389752): Throw TypeError for duplicate properties."; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ var target = Object.preventExtensions({ a: 1 }); var proxy = new Proxy(target, { ownKeys(t) { return ["a", "a"]; } }); -assertThrowsInstanceOf(() => Object.getOwnPropertyNames(proxy), TypeError); +assert.throws(TypeError, () => Object.getOwnPropertyNames(proxy)); target = Object.freeze({ a: 1 }); proxy = new Proxy(target, { ownKeys(t) { return ["a", "a"]; } }); -assertThrowsInstanceOf(() => Object.getOwnPropertyNames(proxy), TypeError); - -/******************************************************************************/ - -print("Tests complete"); +assert.throws(TypeError, () => Object.getOwnPropertyNames(proxy)); diff --git a/JSTests/test262/test/staging/sm/Proxy/proxy-__proto__.js b/JSTests/test262/test/staging/sm/Proxy/proxy-__proto__.js index 464ec7ced8ade..8eb319a892658 100644 --- a/JSTests/test262/test/staging/sm/Proxy/proxy-__proto__.js +++ b/JSTests/test262/test/staging/sm/Proxy/proxy-__proto__.js @@ -4,22 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Behavior of __proto__ on ES6 proxies +info: bugzilla.mozilla.org/show_bug.cgi?id=950407 esid: pending ---*/ -var gTestfile = 'proxy-__proto__.js'; -var BUGNUMBER = 950407; -var summary = "Behavior of __proto__ on ES6 proxies"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ var protoDesc = Object.getOwnPropertyDescriptor(Object.prototype, "__proto__"); var protoGetter = protoDesc.get; @@ -27,8 +16,6 @@ var protoSetter = protoDesc.set; function testProxy(target, initialProto) { - print("Now testing behavior for new Proxy(" + ("" + target) + ", {})"); - var pobj = new Proxy(target, {}); // Check [[Prototype]] before attempted mutation @@ -58,7 +45,3 @@ testProxy(target, null); var callForCallOnly = function () { }; callForCallOnly.toString = function() { return "callable target"; }; testProxy(callForCallOnly, Function.prototype); - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/Proxy/proxy-constructNonObject.js b/JSTests/test262/test/staging/sm/Proxy/proxy-constructNonObject.js index 998cab17de457..f2a6743919e8a 100644 --- a/JSTests/test262/test/staging/sm/Proxy/proxy-constructNonObject.js +++ b/JSTests/test262/test/staging/sm/Proxy/proxy-constructNonObject.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending @@ -18,10 +15,10 @@ function callable() {} var p = new Proxy(callable, handler); -assertThrowsInstanceOf(function () { new p(); }, TypeError, +assert.throws(TypeError, function () { new p(); }, "[[Construct must throw if an object is not returned."); handler.construct = bogusConstructUndefined; -assertThrowsInstanceOf(function () { new p(); }, TypeError, +assert.throws(TypeError, function () { new p(); }, "[[Construct must throw if an object is not returned."); diff --git a/JSTests/test262/test/staging/sm/Proxy/proxy-no-receiver-overwrite.js b/JSTests/test262/test/staging/sm/Proxy/proxy-no-receiver-overwrite.js index 3e5725a5dba5c..919f76e7e3044 100644 --- a/JSTests/test262/test/staging/sm/Proxy/proxy-no-receiver-overwrite.js +++ b/JSTests/test262/test/staging/sm/Proxy/proxy-no-receiver-overwrite.js @@ -4,12 +4,10 @@ /*--- flags: - onlyStrict -includes: [sm/non262.js, sm/non262-shell.js] description: | pending esid: pending ---*/ -"use strict"; var y = new Proxy({}, { getOwnPropertyDescriptor(target, key) { @@ -27,6 +25,5 @@ var y = new Proxy({}, { }) // This will invoke [[Set]] on the target, with the proxy as receiver. -assertThrowsInstanceOf(() => y.a = 1, TypeError); -assertThrowsInstanceOf(() => y.b = 2, TypeError); - +assert.throws(TypeError, () => y.a = 1); +assert.throws(TypeError, () => y.b = 2); diff --git a/JSTests/test262/test/staging/sm/Proxy/proxy-proto-lazy-props.js b/JSTests/test262/test/staging/sm/Proxy/proxy-proto-lazy-props.js index bfe299ee789a4..6f51deddba96a 100644 --- a/JSTests/test262/test/staging/sm/Proxy/proxy-proto-lazy-props.js +++ b/JSTests/test262/test/staging/sm/Proxy/proxy-proto-lazy-props.js @@ -2,7 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | diff --git a/JSTests/test262/test/staging/sm/Proxy/proxy-with-revoked-arguments.js b/JSTests/test262/test/staging/sm/Proxy/proxy-with-revoked-arguments.js index 5ad3d5927e31b..7aa8870279d52 100644 --- a/JSTests/test262/test/staging/sm/Proxy/proxy-with-revoked-arguments.js +++ b/JSTests/test262/test/staging/sm/Proxy/proxy-with-revoked-arguments.js @@ -2,17 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Proxy constructor should not throw if either the target or handler is a revoked proxy. +info: bugzilla.mozilla.org/show_bug.cgi?id=1151149 esid: pending ---*/ -var BUGNUMBER = 1151149; -var summary = "Proxy constructor should not throw if either the target or handler is a revoked proxy."; - -print(BUGNUMBER + ": " + summary); var p = new Proxy({}, {}); @@ -49,7 +43,7 @@ new Proxy(p, {}); new Proxy({}, p); -var g = createNewGlobal(); +var g = $262.createRealm().global; p = g.eval(`var r = Proxy.revocable({}, {}); r.proxy;`); new Proxy(p, {}); @@ -59,4 +53,3 @@ g.eval(`r.revoke();`); new Proxy(p, {}); new Proxy({}, p); - diff --git a/JSTests/test262/test/staging/sm/Proxy/regress-bug1037770.js b/JSTests/test262/test/staging/sm/Proxy/regress-bug1037770.js index ea2a730118a8a..7a05e83085b92 100644 --- a/JSTests/test262/test/staging/sm/Proxy/regress-bug1037770.js +++ b/JSTests/test262/test/staging/sm/Proxy/regress-bug1037770.js @@ -2,7 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | diff --git a/JSTests/test262/test/staging/sm/Proxy/regress-bug1062349.js b/JSTests/test262/test/staging/sm/Proxy/regress-bug1062349.js index 15a4bcd84401f..940c8b9c97620 100644 --- a/JSTests/test262/test/staging/sm/Proxy/regress-bug1062349.js +++ b/JSTests/test262/test/staging/sm/Proxy/regress-bug1062349.js @@ -2,7 +2,7 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, deepEqual.js] +includes: [deepEqual.js] flags: - noStrict description: | diff --git a/JSTests/test262/test/staging/sm/Proxy/regress-bug950407.js b/JSTests/test262/test/staging/sm/Proxy/regress-bug950407.js index e28f836f8a0f9..ba367c085e9a8 100644 --- a/JSTests/test262/test/staging/sm/Proxy/regress-bug950407.js +++ b/JSTests/test262/test/staging/sm/Proxy/regress-bug950407.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/Proxy/report-writable-as-non-writable.js b/JSTests/test262/test/staging/sm/Proxy/report-writable-as-non-writable.js index bb6b83313a7fe..b86fd24094c5a 100644 --- a/JSTests/test262/test/staging/sm/Proxy/report-writable-as-non-writable.js +++ b/JSTests/test262/test/staging/sm/Proxy/report-writable-as-non-writable.js @@ -2,14 +2,10 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -flags: - - onlyStrict -includes: [sm/non262.js, sm/non262-shell.js] description: | pending esid: pending ---*/ -"use strict"; var target = {}; Object.defineProperty(target, "test", @@ -22,9 +18,6 @@ var proxy = new Proxy(target, { } }); -assertThrowsInstanceOf(() => Object.getOwnPropertyDescriptor(proxy, "test"), - TypeError); - -assertThrowsInstanceOf(() => Reflect.getOwnPropertyDescriptor(proxy, "test"), - TypeError); +assert.throws(TypeError, () => Object.getOwnPropertyDescriptor(proxy, "test")); +assert.throws(TypeError, () => Reflect.getOwnPropertyDescriptor(proxy, "test")); diff --git a/JSTests/test262/test/staging/sm/Proxy/revocable-proxy-prototype.js b/JSTests/test262/test/staging/sm/Proxy/revocable-proxy-prototype.js index 94537f44a5712..cfa86ca60df14 100644 --- a/JSTests/test262/test/staging/sm/Proxy/revocable-proxy-prototype.js +++ b/JSTests/test262/test/staging/sm/Proxy/revocable-proxy-prototype.js @@ -4,42 +4,21 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Accessing a revocable proxy's [[Prototype]] shouldn't crash +info: bugzilla.mozilla.org/show_bug.cgi?id=1052139 esid: pending ---*/ -var gTestfile = 'revocable-proxy-prototype.js'; -var BUGNUMBER = 1052139; -var summary = "Accessing a revocable proxy's [[Prototype]] shouldn't crash"; -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ function checkFunctionAppliedToRevokedProxy(fun) { var p = Proxy.revocable({}, {}); p.revoke(); - try - { + assert.throws(TypeError, function() { fun(p.proxy); - throw "didn't throw"; - } - catch (e) - { - assert.sameValue(e instanceof TypeError, true, - "expected TypeError, got " + e); - } + }); } checkFunctionAppliedToRevokedProxy(proxy => Object.getPrototypeOf(proxy)); checkFunctionAppliedToRevokedProxy(proxy => Object.setPrototypeOf(proxy, null)); - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/Proxy/revoke-as-side-effect.js b/JSTests/test262/test/staging/sm/Proxy/revoke-as-side-effect.js index 44a6566ff36dc..602f7991428e4 100644 --- a/JSTests/test262/test/staging/sm/Proxy/revoke-as-side-effect.js +++ b/JSTests/test262/test/staging/sm/Proxy/revoke-as-side-effect.js @@ -2,17 +2,16 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | pending esid: pending ---*/ + function createProxy(proxyTarget) { var {proxy, revoke} = Proxy.revocable(proxyTarget, new Proxy({}, { get(target, propertyKey, receiver) { - print("trap get:", propertyKey); revoke(); } })); @@ -57,8 +56,8 @@ assert.sameValue(createProxy({}).a, undefined); assert.sameValue(createProxy({a: 5}).a, 5); // [[Set]] -assertThrowsInstanceOf(() => createProxy({}).a = 0, TypeError); -assertThrowsInstanceOf(() => createProxy({a: 5}).a = 0, TypeError); +assert.throws(TypeError, () => createProxy({}).a = 0); +assert.throws(TypeError, () => createProxy({a: 5}).a = 0); // [[Delete]] assert.sameValue(delete createProxy({}).a, true); @@ -77,6 +76,4 @@ assert.sameValue(createProxy(function() { return "ok" })(), "ok"); // [[ConstructorKind]] is "base" per FunctionAllocate) accesses // |new.target.prototype| to create the |this| for the construct operation, that // would be returned if |return obj;| didn't override it. -assertThrowsInstanceOf(() => new (createProxy(function q(){ return obj; })), - TypeError); - +assert.throws(TypeError, () => new (createProxy(function q(){ return obj; }))); diff --git a/JSTests/test262/test/staging/sm/Proxy/revoke-no-name.js b/JSTests/test262/test/staging/sm/Proxy/revoke-no-name.js index 39d12b7d0eeed..a356dd397220b 100644 --- a/JSTests/test262/test/staging/sm/Proxy/revoke-no-name.js +++ b/JSTests/test262/test/staging/sm/Proxy/revoke-no-name.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/Proxy/revoked-get-function-realm-typeerror.js b/JSTests/test262/test/staging/sm/Proxy/revoked-get-function-realm-typeerror.js index 6bd774ff3601c..f504b158fb5b9 100644 --- a/JSTests/test262/test/staging/sm/Proxy/revoked-get-function-realm-typeerror.js +++ b/JSTests/test262/test/staging/sm/Proxy/revoked-get-function-realm-typeerror.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending @@ -119,9 +116,9 @@ for (let {constructor, args = []} of constructors) { } }); - assertThrowsInstanceOf(() => { + assert.throws(TypeError, () => { Reflect.construct(constructor, args, proxy); - }, TypeError); + }); assert.sameValue(revoked, 1); } diff --git a/JSTests/test262/test/staging/sm/Proxy/setPrototypeOf.js b/JSTests/test262/test/staging/sm/Proxy/setPrototypeOf.js index cf154d18cdb70..6824002761672 100644 --- a/JSTests/test262/test/staging/sm/Proxy/setPrototypeOf.js +++ b/JSTests/test262/test/staging/sm/Proxy/setPrototypeOf.js @@ -4,22 +4,12 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict +includes: [sm/assertThrowsValue.js] description: | - pending + Scripted proxies' [[SetPrototypeOf]] behavior +info: bugzilla.mozilla.org/show_bug.cgi?id=888969 esid: pending ---*/ -var gTestfile = "setPrototypeOf.js"; -var BUGNUMBER = 888969; -var summary = "Scripted proxies' [[SetPrototypeOf]] behavior"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ const log = []; @@ -50,45 +40,35 @@ var originalProto = Reflect.getPrototypeOf(p); assert.sameValue(originalProto, Object.prototype); rev.revoke(); -assertThrowsInstanceOf(() => Reflect.setPrototypeOf(p, originalProto), - TypeError); -assertThrowsInstanceOf(() => Reflect.setPrototypeOf(p, null), - TypeError); +assert.throws(TypeError, () => Reflect.setPrototypeOf(p, originalProto)); +assert.throws(TypeError, () => Reflect.setPrototypeOf(p, null)); // 6. Let trap be ? GetMethod(handler, "setPrototypeOf"). // handler has uncallable (and not null/undefined) property p = new Proxy({}, { setPrototypeOf: 9 }); -assertThrowsInstanceOf(() => Reflect.setPrototypeOf(p, null), - TypeError); +assert.throws(TypeError, () => Reflect.setPrototypeOf(p, null)); p = new Proxy({}, { setPrototypeOf: -3.7 }); -assertThrowsInstanceOf(() => Reflect.setPrototypeOf(p, null), - TypeError); +assert.throws(TypeError, () => Reflect.setPrototypeOf(p, null)); p = new Proxy({}, { setPrototypeOf: NaN }); -assertThrowsInstanceOf(() => Reflect.setPrototypeOf(p, null), - TypeError); +assert.throws(TypeError, () => Reflect.setPrototypeOf(p, null)); p = new Proxy({}, { setPrototypeOf: Infinity }); -assertThrowsInstanceOf(() => Reflect.setPrototypeOf(p, null), - TypeError); +assert.throws(TypeError, () => Reflect.setPrototypeOf(p, null)); p = new Proxy({}, { setPrototypeOf: true }); -assertThrowsInstanceOf(() => Reflect.setPrototypeOf(p, null), - TypeError); +assert.throws(TypeError, () => Reflect.setPrototypeOf(p, null)); p = new Proxy({}, { setPrototypeOf: /x/ }); -assertThrowsInstanceOf(() => Reflect.setPrototypeOf(p, null), - TypeError); +assert.throws(TypeError, () => Reflect.setPrototypeOf(p, null)); p = new Proxy({}, { setPrototypeOf: Symbol(42) }); -assertThrowsInstanceOf(() => Reflect.setPrototypeOf(p, null), - TypeError); +assert.throws(TypeError, () => Reflect.setPrototypeOf(p, null)); p = new Proxy({}, { setPrototypeOf: class X {} }); -assertThrowsInstanceOf(() => Reflect.setPrototypeOf(p, null), - TypeError); +assert.throws(TypeError, () => Reflect.setPrototypeOf(p, null)); p = new Proxy({}, observe({})); @@ -251,13 +231,8 @@ var newProto; p = new Proxy(Object.preventExtensions(Object.create(Math)), { setPrototypeOf(t, p) { return true; } }); -assertThrowsInstanceOf(() => Reflect.setPrototypeOf(p, null), - TypeError); +assert.throws(TypeError, () => Reflect.setPrototypeOf(p, null)); // 14. Return true. assert.sameValue(Reflect.setPrototypeOf(p, Math), true); - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/Proxy/trap-null.js b/JSTests/test262/test/staging/sm/Proxy/trap-null.js index 5daee692daa95..2caabe097536a 100644 --- a/JSTests/test262/test/staging/sm/Proxy/trap-null.js +++ b/JSTests/test262/test/staging/sm/Proxy/trap-null.js @@ -4,22 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + null as a trap value on a handler should operate on the target +info: bugzilla.mozilla.org/show_bug.cgi?id=1257102 esid: pending ---*/ -var gTestfile = 'trap-null.js'; -var BUGNUMBER = 1257102; -var summary = "null as a trap value on a handler should operate on the target"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ // This might seem like overkill, but this proxying trick caught typos of // several trap names before this test landed. \o/ /o\ @@ -102,7 +91,3 @@ var res = Reflect.construct(proxy, [" - "]); assert.sameValue(typeof res, "object"); assert.sameValue(res instanceof String, true); assert.sameValue(res.valueOf(), "@@@ - constructing"); - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/Reflect/apply.js b/JSTests/test262/test/staging/sm/Reflect/apply.js index feaebb6528fbc..d7003a5854fb5 100644 --- a/JSTests/test262/test/staging/sm/Reflect/apply.js +++ b/JSTests/test262/test/staging/sm/Reflect/apply.js @@ -4,7 +4,7 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] +includes: [sm/assertThrowsValue.js] flags: - noStrict description: | @@ -17,14 +17,13 @@ assert.sameValue(Reflect.apply(Math.floor, undefined, [1.75]), 1); // Reflect.apply requires a target object that's callable. var nonCallable = [{}, [], (class clsX { constructor() {} })]; for (var value of nonCallable) { - assertThrowsInstanceOf(() => Reflect.apply(nonCallable), TypeError); + assert.throws(TypeError, () => Reflect.apply(nonCallable)); } // When target is not callable, Reflect.apply does not try to get argumentList.length before throwing. var hits = 0; var bogusArgumentList = {get length() { hit++; throw "FAIL";}}; -assertThrowsInstanceOf(() => Reflect.apply({callable: false}, null, bogusArgumentList), - TypeError); +assert.throws(TypeError, () => Reflect.apply({callable: false}, null, bogusArgumentList)); assert.sameValue(hits, 0); // Reflect.apply works on a range of different callable objects. @@ -71,7 +70,7 @@ assert.sameValue(Reflect.apply(new Proxy(f, {}), 13); // Cross-compartment wrappers: -var gw = createNewGlobal(); +var gw = $262.createRealm().global; assert.sameValue(Reflect.apply(gw.parseInt, undefined, ["45"]), diff --git a/JSTests/test262/test/staging/sm/Reflect/argumentsList.js b/JSTests/test262/test/staging/sm/Reflect/argumentsList.js index 449186b9f582b..49641a1e8abd2 100644 --- a/JSTests/test262/test/staging/sm/Reflect/argumentsList.js +++ b/JSTests/test262/test/staging/sm/Reflect/argumentsList.js @@ -4,9 +4,7 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-Reflect-shell.js, deepEqual.js] -flags: - - noStrict +includes: [sm/assertThrowsValue.js, sm/non262-Reflect-shell.js, compareArray.js] description: | pending esid: pending @@ -14,15 +12,11 @@ esid: pending // Tests for the argumentList argument to Reflect.apply and Reflect.construct. // Reflect.apply and Reflect.construct require an argumentList argument that must be an object. -assertThrowsInstanceOf(() => Reflect.apply(Math.min, undefined), // missing - TypeError); -assertThrowsInstanceOf(() => Reflect.construct(Object), // missing - TypeError); +assert.throws(TypeError, () => Reflect.apply(Math.min, undefined)); +assert.throws(TypeError, () => Reflect.construct(Object)); for (var primitive of SOME_PRIMITIVE_VALUES) { - assertThrowsInstanceOf(() => Reflect.apply(Math.min, undefined, primitive), - TypeError); - assertThrowsInstanceOf(() => Reflect.construct(Object, primitive), - TypeError); + assert.throws(TypeError, () => Reflect.apply(Math.min, undefined, primitive)); + assert.throws(TypeError, () => Reflect.construct(Object, primitive)); } // Array used by several tests below. @@ -70,14 +64,10 @@ function getArgs(...args) { return args; } for (var method of BOTH) { - assert.deepEqual(method(getArgs, undefined, {length: 0}), - []); - assert.deepEqual(method(getArgs, undefined, {length: 1, "0": "zero"}), - ["zero"]); - assert.deepEqual(method(getArgs, undefined, {length: 2}), - [undefined, undefined]); - assert.deepEqual(method(getArgs, undefined, function (a, b, c) {}), - [undefined, undefined, undefined]); + assert.compareArray(method(getArgs, undefined, {length: 0}), []); + assert.compareArray(method(getArgs, undefined, {length: 1, "0": "zero"}), ["zero"]); + assert.compareArray(method(getArgs, undefined, {length: 2}), [undefined, undefined]); + assert.compareArray(method(getArgs, undefined, function (a, b, c) {}), [undefined, undefined, undefined]); } // The Iterable/Iterator interfaces are not used. @@ -89,8 +79,7 @@ var funnyArgs = { next() { throw "FAIL 2"; } }; for (var method of BOTH) { - assert.deepEqual(method(getArgs, undefined, funnyArgs), - ["zero", "one"]); + assert.compareArray(method(getArgs, undefined, funnyArgs), ["zero", "one"]); } // If argumentList has no .length property, no arguments are passed. @@ -112,8 +101,7 @@ args = { }; for (var method of BOTH) { log = ""; - assert.deepEqual(method(getArgs, undefined, args), - ["zero"]); + assert.compareArray(method(getArgs, undefined, args), ["zero"]); assert.sameValue(log, "L0"); } diff --git a/JSTests/test262/test/staging/sm/Reflect/construct.js b/JSTests/test262/test/staging/sm/Reflect/construct.js index 7458c8c29bc4d..d40aa30812c71 100644 --- a/JSTests/test262/test/staging/sm/Reflect/construct.js +++ b/JSTests/test262/test/staging/sm/Reflect/construct.js @@ -4,9 +4,7 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-Reflect-shell.js, deepEqual.js] -flags: - - noStrict +includes: [sm/non262-Reflect-shell.js, deepEqual.js] description: | pending esid: pending @@ -56,7 +54,7 @@ g = Derived.bind(null, "q"); assert.deepEqual(Reflect.construct(g, [8, 9]), new g(8, 9)); // Cross-compartment wrappers: -var g = createNewGlobal(); +var g = $262.createRealm().global; var local = {here: this}; g.eval("function F(arg) { this.arg = arg }"); assert.deepEqual(Reflect.construct(g.F, [local]), new g.F(local)); @@ -75,8 +73,8 @@ var nonConstructors = [ new Proxy(Reflect.construct, {construct(){}}), ]; for (var obj of nonConstructors) { - assertThrowsInstanceOf(() => Reflect.construct(obj, []), TypeError); - assertThrowsInstanceOf(() => Reflect.construct(obj, [], Object), TypeError); + assert.throws(TypeError, () => Reflect.construct(obj, [])); + assert.throws(TypeError, () => Reflect.construct(obj, [], Object)); } @@ -100,7 +98,7 @@ for (var ctor of constructors) { // The newTarget argument must be a constructor. for (var v of SOME_PRIMITIVE_VALUES.concat(nonConstructors)) { - assertThrowsInstanceOf(() => Reflect.construct(checkNewTarget, [], v), TypeError); + assert.throws(TypeError, () => Reflect.construct(checkNewTarget, [], v)); } // The builtin Array constructor uses new.target.prototype and always diff --git a/JSTests/test262/test/staging/sm/Reflect/defineProperty.js b/JSTests/test262/test/staging/sm/Reflect/defineProperty.js index 90d784cabf0c2..d7c19f5f7c2de 100644 --- a/JSTests/test262/test/staging/sm/Reflect/defineProperty.js +++ b/JSTests/test262/test/staging/sm/Reflect/defineProperty.js @@ -6,9 +6,7 @@ /*--- features: - IsHTMLDDA -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-Reflect-shell.js, deepEqual.js] -flags: - - noStrict +includes: [sm/assertThrowsValue.js, sm/non262-Reflect-shell.js, deepEqual.js] description: | pending esid: pending @@ -79,13 +77,11 @@ assert.sameValue(Reflect.defineProperty(proxy, "prop", attributes), true); // many error cases to check that behavior. // missing attributes argument -assertThrowsInstanceOf(() => Reflect.defineProperty(obj, "y"), - TypeError); +assert.throws(TypeError, () => Reflect.defineProperty(obj, "y")); // non-object attributes argument for (var attributes of SOME_PRIMITIVE_VALUES) { - assertThrowsInstanceOf(() => Reflect.defineProperty(obj, "y", attributes), - TypeError); + assert.throws(TypeError, () => Reflect.defineProperty(obj, "y", attributes)); } // inextensible object @@ -134,9 +130,7 @@ assert.sameValue(Reflect.defineProperty(obj, "prop", {set: g}), false); assert.sameValue(Reflect.defineProperty(obj, "prop", {set: s}), true); // no-op // Proxy defineProperty handler method that returns false -var falseValues = [false, 0, -0, "", NaN, null, undefined]; -if (typeof createIsHTMLDDA === "function") - falseValues.push(createIsHTMLDDA()); +var falseValues = [false, 0, -0, "", NaN, null, undefined, $262.IsHTMLDDA]; var value; proxy = new Proxy({}, { defineProperty(t, id, desc) { @@ -155,8 +149,8 @@ proxy = new Proxy(obj, { return true; } }); -assertThrowsInstanceOf(() => Reflect.defineProperty(proxy, "x", {value: 2}), TypeError); -assertThrowsInstanceOf(() => Reflect.defineProperty(proxy, "y", {value: 0}), TypeError); +assert.throws(TypeError, () => Reflect.defineProperty(proxy, "x", {value: 2})); +assert.throws(TypeError, () => Reflect.defineProperty(proxy, "y", {value: 0})); assert.sameValue(Reflect.defineProperty(proxy, "x", {value: 1}), true); // The second argument is converted ToPropertyKey before any internal methods diff --git a/JSTests/test262/test/staging/sm/Reflect/deleteProperty.js b/JSTests/test262/test/staging/sm/Reflect/deleteProperty.js index 055ed6f9083d9..96dee44392a69 100644 --- a/JSTests/test262/test/staging/sm/Reflect/deleteProperty.js +++ b/JSTests/test262/test/staging/sm/Reflect/deleteProperty.js @@ -4,9 +4,7 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js, deepEqual.js] -flags: - - noStrict +includes: [sm/assertThrowsValue.js, deepEqual.js] description: | pending esid: pending @@ -62,7 +60,7 @@ assertThrowsValue(() => Reflect.deleteProperty(proxy, "prop"), "vase"); proxy = new Proxy(Object.freeze({prop: 1}), { deleteProperty(t, k) { return true; } }); -assertThrowsInstanceOf(() => Reflect.deleteProperty(proxy, "prop"), TypeError); +assert.throws(TypeError, () => Reflect.deleteProperty(proxy, "prop")); // === Deleting elements from `arguments` diff --git a/JSTests/test262/test/staging/sm/Reflect/get.js b/JSTests/test262/test/staging/sm/Reflect/get.js index 2ba677694f8ae..716c64613288d 100644 --- a/JSTests/test262/test/staging/sm/Reflect/get.js +++ b/JSTests/test262/test/staging/sm/Reflect/get.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending @@ -46,7 +43,7 @@ var obj = new Proxy(x, { assert.sameValue(Reflect.get(obj, "mood"), "moodful"); // Exceptions thrown by a proxy's get handler are propagated. -assertThrowsInstanceOf(() => Reflect.get(obj, Symbol()), TypeError); +assert.throws(TypeError, () => Reflect.get(obj, Symbol())); // Ordinary object, property has a setter and no getter obj = {set name(x) {}}; diff --git a/JSTests/test262/test/staging/sm/Reflect/getOwnPropertyDescriptor.js b/JSTests/test262/test/staging/sm/Reflect/getOwnPropertyDescriptor.js index 8cdb5ed0af355..09718defe1787 100644 --- a/JSTests/test262/test/staging/sm/Reflect/getOwnPropertyDescriptor.js +++ b/JSTests/test262/test/staging/sm/Reflect/getOwnPropertyDescriptor.js @@ -4,9 +4,7 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js, deepEqual.js] -flags: - - noStrict +includes: [deepEqual.js] description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/Reflect/getPrototypeOf.js b/JSTests/test262/test/staging/sm/Reflect/getPrototypeOf.js index 9543d325dee18..1d0a44cb1d5dc 100644 --- a/JSTests/test262/test/staging/sm/Reflect/getPrototypeOf.js +++ b/JSTests/test262/test/staging/sm/Reflect/getPrototypeOf.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/Reflect/has.js b/JSTests/test262/test/staging/sm/Reflect/has.js index 44508825c2396..b3d87bb0ad182 100644 --- a/JSTests/test262/test/staging/sm/Reflect/has.js +++ b/JSTests/test262/test/staging/sm/Reflect/has.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/Reflect/isExtensible.js b/JSTests/test262/test/staging/sm/Reflect/isExtensible.js index 895bd4b4451ba..568df6e58ffd0 100644 --- a/JSTests/test262/test/staging/sm/Reflect/isExtensible.js +++ b/JSTests/test262/test/staging/sm/Reflect/isExtensible.js @@ -4,9 +4,7 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict +includes: [sm/assertThrowsValue.js] description: | pending esid: pending @@ -60,7 +58,7 @@ assertThrowsValue(() => Reflect.isExtensible(proxy), "oops"); proxy = new Proxy({}, { isExtensible() { return false; } }); -assertThrowsInstanceOf(() => Reflect.isExtensible(proxy), TypeError); +assert.throws(TypeError, () => Reflect.isExtensible(proxy)); // For more Reflect.isExtensible tests, see target.js. diff --git a/JSTests/test262/test/staging/sm/Reflect/ownKeys.js b/JSTests/test262/test/staging/sm/Reflect/ownKeys.js index 3c8e58d916c16..15b02e58d988e 100644 --- a/JSTests/test262/test/staging/sm/Reflect/ownKeys.js +++ b/JSTests/test262/test/staging/sm/Reflect/ownKeys.js @@ -4,9 +4,7 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js, deepEqual.js] -flags: - - noStrict +includes: [compareArray.js] description: | pending esid: pending @@ -40,11 +38,11 @@ var cases = [ keys: ["0", "8", "773", // indexes in numeric order "str", "-1", "second str", // strings in insertion order sym, sym2]}, // symbols in insertion order - {object: createNewGlobal().Math, // cross-compartment wrapper + {object: $262.createRealm().global.Math, // cross-compartment wrapper keys: Reflect.ownKeys(Math)} ]; for (var {object, keys} of cases) - assert.deepEqual(Reflect.ownKeys(object), keys); + assert.compareArray(Reflect.ownKeys(object), keys); // Reflect.ownKeys() creates a new array each time it is called. var object = {}, keys = []; @@ -61,7 +59,7 @@ proxy = new Proxy(obj, { ownKeys() { return keys; } }); var actual = Reflect.ownKeys(proxy); -assert.deepEqual(actual, keys); // we get correct answers +assert.compareArray(actual, keys); // we get correct answers assert.sameValue(actual !== keys, true); // but not the same object // If a proxy breaks invariants, a TypeError is thrown. @@ -69,7 +67,7 @@ var obj = Object.preventExtensions({}); var proxy = new Proxy(obj, { ownKeys() { return ["something"]; } }); -assertThrowsInstanceOf(() => Reflect.ownKeys(proxy), TypeError); +assert.throws(TypeError, () => Reflect.ownKeys(proxy)); // For more Reflect.ownKeys tests, see target.js. diff --git a/JSTests/test262/test/staging/sm/Reflect/preventExtensions.js b/JSTests/test262/test/staging/sm/Reflect/preventExtensions.js index aa49b82737454..e5d230771eb13 100644 --- a/JSTests/test262/test/staging/sm/Reflect/preventExtensions.js +++ b/JSTests/test262/test/staging/sm/Reflect/preventExtensions.js @@ -4,9 +4,7 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict +includes: [sm/assertThrowsValue.js] description: | pending esid: pending @@ -28,9 +26,9 @@ for (var obj of someObjects) { } // Error cases. -assertThrowsInstanceOf(() => Reflect.isExtensible(), TypeError); +assert.throws(TypeError, () => Reflect.isExtensible()); for (var value of [undefined, null, true, 1, NaN, "Phaedo", Symbol("good")]) { - assertThrowsInstanceOf(() => Reflect.isExtensible(value), TypeError); + assert.throws(TypeError, () => Reflect.isExtensible(value)); } // A proxy's preventExtensions handler can return false without doing anything. @@ -57,7 +55,7 @@ obj = {}; proxy = new Proxy(obj, { preventExtensions() { return true; } }); -assertThrowsInstanceOf(() => Reflect.preventExtensions(proxy), TypeError); +assert.throws(TypeError, () => Reflect.preventExtensions(proxy)); assert.sameValue(Reflect.isExtensible(obj), true); assert.sameValue(Reflect.isExtensible(proxy), true); diff --git a/JSTests/test262/test/staging/sm/Reflect/propertyKeys.js b/JSTests/test262/test/staging/sm/Reflect/propertyKeys.js index 68b85c5c78ea6..ca8a34725bd29 100644 --- a/JSTests/test262/test/staging/sm/Reflect/propertyKeys.js +++ b/JSTests/test262/test/staging/sm/Reflect/propertyKeys.js @@ -4,9 +4,7 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js, deepEqual.js] -flags: - - noStrict +includes: [sm/assertThrowsValue.js, compareArray.js, deepEqual.js] description: | pending esid: pending @@ -69,7 +67,7 @@ for (var {value, expected} of keys) { var obj = {}; assert.sameValue(Reflect.defineProperty(obj, value, {value: 1, configurable: true}), true); - assert.deepEqual(Reflect.ownKeys(obj), [expected]); + assert.compareArray(Reflect.ownKeys(obj), [expected]); assert.deepEqual(Reflect.getOwnPropertyDescriptor(obj, value), {value: 1, writable: false, diff --git a/JSTests/test262/test/staging/sm/Reflect/set.js b/JSTests/test262/test/staging/sm/Reflect/set.js index 189962939fb18..36f615952fb6a 100644 --- a/JSTests/test262/test/staging/sm/Reflect/set.js +++ b/JSTests/test262/test/staging/sm/Reflect/set.js @@ -4,9 +4,7 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-Reflect-shell.js, deepEqual.js] -flags: - - noStrict +includes: [sm/assertThrowsValue.js, sm/non262-Reflect-shell.js, deepEqual.js] description: | pending esid: pending @@ -124,7 +122,7 @@ assert.sameValue(log, "sp"); // When calling a cross-compartment wrapper, receiver is rewrapped for the // target compartment. -var g = createNewGlobal(); +var g = $262.createRealm().global; if (!("assert" in g) && "assert" in globalThis) g.assert = assert; // necessary when exporting to test262 if (!("assert.sameValue" in g)) @@ -237,7 +235,7 @@ for (obj of [{a: 0}, {get a() { return 0; }}]) { proxy = new Proxy(obj, { set(t, k, v, r) { return true; } }); - assertThrowsInstanceOf(() => Reflect.set(proxy, "a", "b"), TypeError); + assert.throws(TypeError, () => Reflect.set(proxy, "a", "b")); } // Per spec, this should first call p.[[Set]]("0", 42, a) and diff --git a/JSTests/test262/test/staging/sm/Reflect/setPrototypeOf.js b/JSTests/test262/test/staging/sm/Reflect/setPrototypeOf.js index 29994a16f57fc..0cce94177fa6a 100644 --- a/JSTests/test262/test/staging/sm/Reflect/setPrototypeOf.js +++ b/JSTests/test262/test/staging/sm/Reflect/setPrototypeOf.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending @@ -25,11 +22,11 @@ assert.sameValue(Object.getPrototypeOf(obj), null); // The proto argument is required too. obj = {}; -assertThrowsInstanceOf(() => Reflect.setPrototypeOf(obj), TypeError); +assert.throws(TypeError, () => Reflect.setPrototypeOf(obj)); // The proto argument must be either null or an object. for (proto of [undefined, false, 0, 1.6, "that", Symbol.iterator]) { - assertThrowsInstanceOf(() => Reflect.setPrototypeOf(obj, proto), TypeError); + assert.throws(TypeError, () => Reflect.setPrototypeOf(obj, proto)); } // Return false if the target isn't extensible. diff --git a/JSTests/test262/test/staging/sm/Reflect/surfaces.js b/JSTests/test262/test/staging/sm/Reflect/surfaces.js index 8d6d3a2744c56..05e7135f8c7df 100644 --- a/JSTests/test262/test/staging/sm/Reflect/surfaces.js +++ b/JSTests/test262/test/staging/sm/Reflect/surfaces.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending @@ -15,7 +12,7 @@ esid: pending assert.sameValue(typeof Reflect, 'object'); assert.sameValue(Object.getPrototypeOf(Reflect), Object.prototype); assert.sameValue(Reflect.toString(), '[object Reflect]'); -assertThrowsInstanceOf(() => new Reflect, TypeError); +assert.throws(TypeError, () => new Reflect); var desc = Object.getOwnPropertyDescriptor(this, "Reflect"); assert.sameValue(desc.enumerable, false); diff --git a/JSTests/test262/test/staging/sm/Reflect/target.js b/JSTests/test262/test/staging/sm/Reflect/target.js index 61795295f8946..49a1fda15b2b9 100644 --- a/JSTests/test262/test/staging/sm/Reflect/target.js +++ b/JSTests/test262/test/staging/sm/Reflect/target.js @@ -4,9 +4,7 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-Reflect-shell.js] -flags: - - noStrict +includes: [sm/non262-Reflect-shell.js] description: | pending esid: pending @@ -43,11 +41,11 @@ for (const name of Object.keys(methodInfo)) { var args = methodInfo[name]; // The target argument is required. - assertThrowsInstanceOf(Reflect[name], TypeError); + assert.throws(TypeError, Reflect[name]); // Throw if the target argument is not an object. for (var value of SOME_PRIMITIVE_VALUES) { - assertThrowsInstanceOf(() => Reflect[name](value, ...args), TypeError); + assert.throws(TypeError, () => Reflect[name](value, ...args)); } } diff --git a/JSTests/test262/test/staging/sm/RegExp/15.10.5-01.js b/JSTests/test262/test/staging/sm/RegExp/15.10.5-01.js index 4a3f989ac8cb0..f2b9034bd3bab 100644 --- a/JSTests/test262/test/staging/sm/RegExp/15.10.5-01.js +++ b/JSTests/test262/test/staging/sm/RegExp/15.10.5-01.js @@ -4,23 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + RegExp.length +info: bugzilla.mozilla.org/show_bug.cgi?id=614603 esid: pending ---*/ -var BUGNUMBER = 614603; -var summary = "RegExp.length"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ assert.sameValue(RegExp.length, 2); assert.sameValue(/a/.constructor.length, 2); - -print("All tests passed!"); diff --git a/JSTests/test262/test/staging/sm/RegExp/15.10.7.5-01.js b/JSTests/test262/test/staging/sm/RegExp/15.10.7.5-01.js index dd0f28c25c4fe..31d7f1b6c31b8 100644 --- a/JSTests/test262/test/staging/sm/RegExp/15.10.7.5-01.js +++ b/JSTests/test262/test/staging/sm/RegExp/15.10.7.5-01.js @@ -4,21 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + RegExp lastIndex property set should not coerce type to number +info: bugzilla.mozilla.org/show_bug.cgi?id=465199 esid: pending ---*/ -var BUGNUMBER = 465199; -var summary = "RegExp lastIndex property set should not coerce type to number"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ var called = false; var o = { valueOf: function() { called = true; return 1; } }; @@ -69,8 +59,3 @@ assert.sameValue(Array.isArray(m), true); assert.sameValue(m.length, 1); assert.sameValue(m[0], "a"); assert.sameValue(r.lastIndex, 2); - - -/******************************************************************************/ - -print("All tests passed!"); diff --git a/JSTests/test262/test/staging/sm/RegExp/7.8.5-01.js b/JSTests/test262/test/staging/sm/RegExp/7.8.5-01.js index 9d217fe505b89..ad6f3ef00c6d1 100644 --- a/JSTests/test262/test/staging/sm/RegExp/7.8.5-01.js +++ b/JSTests/test262/test/staging/sm/RegExp/7.8.5-01.js @@ -4,21 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Line terminator after backslash is invalid in regexp literals +info: bugzilla.mozilla.org/show_bug.cgi?id=615070 esid: pending ---*/ -var BUGNUMBER = 615070; -var summary = "Line terminator after backslash is invalid in regexp literals"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ var regexps = ["/\\\u000A/", "/\\\u000D/", "/\\\u2028/", "/\\\u2029/", "/ab\\\n/", "/ab\\\r/", "/ab\\\u2028/", "/ab\\\u2029/", @@ -26,15 +16,7 @@ var regexps = ["/\\\u000A/", "/\\\u000D/", "/\\\u2028/", "/\\\u2029/", for(var i=0; i RegExp.prototype[Symbol.match].call({ exec }, "foo"), - TypeError); + assert.throws(TypeError, () => RegExp.prototype[Symbol.match].call({ exec }, "foo")); } - diff --git a/JSTests/test262/test/staging/sm/RegExp/RegExpExec-return.js b/JSTests/test262/test/staging/sm/RegExp/RegExpExec-return.js index 8d083f8c45dbf..79648960bee04 100644 --- a/JSTests/test262/test/staging/sm/RegExp/RegExpExec-return.js +++ b/JSTests/test262/test/staging/sm/RegExp/RegExpExec-return.js @@ -2,17 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + RegExpExec should throw if returned value is not an object nor null. +info: bugzilla.mozilla.org/show_bug.cgi?id=887016 esid: pending ---*/ -var BUGNUMBER = 887016; -var summary = "RegExpExec should throw if returned value is not an object nor null."; - -print(BUGNUMBER + ": " + summary); for (var ret of [null, {}, [], /a/]) { assert.sameValue(RegExp.prototype[Symbol.match].call({ @@ -26,7 +20,7 @@ for (var ret of [null, {}, [], /a/]) { } for (ret of [undefined, 1, true, false, Symbol.iterator]) { - assertThrowsInstanceOf(() => { + assert.throws(TypeError, () => { RegExp.prototype[Symbol.match].call({ get global() { return false; @@ -35,6 +29,5 @@ for (ret of [undefined, 1, true, false, Symbol.iterator]) { return ret; } }, "foo"); - }, TypeError); + }); } - diff --git a/JSTests/test262/test/staging/sm/RegExp/character-class-escape-s.js b/JSTests/test262/test/staging/sm/RegExp/character-class-escape-s.js index 9d8ec3f21557a..0703dac34e97c 100644 --- a/JSTests/test262/test/staging/sm/RegExp/character-class-escape-s.js +++ b/JSTests/test262/test/staging/sm/RegExp/character-class-escape-s.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/RegExp/class-null.js b/JSTests/test262/test/staging/sm/RegExp/class-null.js index a22c167fa960c..0b31f7e0894e4 100644 --- a/JSTests/test262/test/staging/sm/RegExp/class-null.js +++ b/JSTests/test262/test/staging/sm/RegExp/class-null.js @@ -2,17 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Null in character class in RegExp with unicode flag. +info: bugzilla.mozilla.org/show_bug.cgi?id=1279467 esid: pending ---*/ -var BUGNUMBER = 1279467; -var summary = "Null in character class in RegExp with unicode flag."; - -print(BUGNUMBER + ": " + summary); var m = /([\0]+)/u.exec("\u0000"); assert.sameValue(m.length, 2); @@ -21,4 +15,3 @@ assert.sameValue(m[1], '\u0000'); var m = /([\0]+)/u.exec("0"); assert.sameValue(m, null); - diff --git a/JSTests/test262/test/staging/sm/RegExp/compile-lastIndex.js b/JSTests/test262/test/staging/sm/RegExp/compile-lastIndex.js index 1e555adba4f87..edaacb3ffe329 100644 --- a/JSTests/test262/test/staging/sm/RegExp/compile-lastIndex.js +++ b/JSTests/test262/test/staging/sm/RegExp/compile-lastIndex.js @@ -4,24 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + RegExp.prototype.compile must perform all its steps *except* setting .lastIndex, then throw, when provided a RegExp whose .lastIndex has been made non-writable +info: bugzilla.mozilla.org/show_bug.cgi?id=1253099 esid: pending ---*/ -var BUGNUMBER = 1253099; -var summary = - "RegExp.prototype.compile must perform all its steps *except* setting " + - ".lastIndex, then throw, when provided a RegExp whose .lastIndex has been " + - "made non-writable"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ var regex = /foo/i; @@ -48,7 +35,7 @@ assert.sameValue(regex.test("FOO"), true); assert.sameValue(regex.test("bar"), false); assert.sameValue(regex.test("BAR"), false); -assertThrowsInstanceOf(() => regex.compile("bar"), TypeError); +assert.throws(TypeError, () => regex.compile("bar")); assert.sameValue(regex.global, false); assert.sameValue(regex.ignoreCase, false); @@ -62,7 +49,7 @@ assert.sameValue(regex.test("FOO"), false); assert.sameValue(regex.test("bar"), true); assert.sameValue(regex.test("BAR"), false); -assertThrowsInstanceOf(() => regex.compile("^baz", "m"), TypeError); +assert.throws(TypeError, () => regex.compile("^baz", "m")); assert.sameValue(regex.global, false); assert.sameValue(regex.ignoreCase, false); @@ -81,7 +68,3 @@ assert.sameValue(regex.test("012345678901234567890123456789012345678901baz"), fa assert.sameValue(regex.test("012345678901234567890123456789012345678901\nbaz"), true); assert.sameValue(regex.test("012345678901234567890123456789012345678901BAZ"), false); assert.sameValue(regex.test("012345678901234567890123456789012345678901\nBAZ"), false); - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/RegExp/constructor-IsRegExp.js b/JSTests/test262/test/staging/sm/RegExp/constructor-IsRegExp.js index 68e6a41eba570..fc7ab36152a3f 100644 --- a/JSTests/test262/test/staging/sm/RegExp/constructor-IsRegExp.js +++ b/JSTests/test262/test/staging/sm/RegExp/constructor-IsRegExp.js @@ -2,17 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + RegExp constructor with pattern with @@match. +info: bugzilla.mozilla.org/show_bug.cgi?id=1147817 esid: pending ---*/ -var BUGNUMBER = 1147817; -var summary = "RegExp constructor with pattern with @@match."; - -print(BUGNUMBER + ": " + summary); var matchValue; var constructorValue; @@ -92,4 +86,3 @@ assert.sameValue(matchGet, true); assert.sameValue(constructorGet, true); assert.sameValue(sourceGet, false); assert.sameValue(flagsGet, false); - diff --git a/JSTests/test262/test/staging/sm/RegExp/constructor-constructor.js b/JSTests/test262/test/staging/sm/RegExp/constructor-constructor.js index 461b554b5ce32..a19ca103cfbc0 100644 --- a/JSTests/test262/test/staging/sm/RegExp/constructor-constructor.js +++ b/JSTests/test262/test/staging/sm/RegExp/constructor-constructor.js @@ -2,19 +2,13 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + RegExp constructor should check pattern.constructor. +info: bugzilla.mozilla.org/show_bug.cgi?id=1147817 esid: pending ---*/ -var BUGNUMBER = 1147817; -var summary = "RegExp constructor should check pattern.constructor."; -print(BUGNUMBER + ": " + summary); - -var g = createNewGlobal(); +var g = $262.createRealm().global; var re = /foo/; assert.sameValue(RegExp(re), re); @@ -84,4 +78,3 @@ g.eval(`obj.constructor = RegExp`); assert.sameValue(RegExp(obj) === obj, false); obj.constructor = RegExp; assert.sameValue(RegExp(obj), obj); - diff --git a/JSTests/test262/test/staging/sm/RegExp/constructor-ordering-2.js b/JSTests/test262/test/staging/sm/RegExp/constructor-ordering-2.js index 0d7cd4156f681..0c727983df622 100644 --- a/JSTests/test262/test/staging/sm/RegExp/constructor-ordering-2.js +++ b/JSTests/test262/test/staging/sm/RegExp/constructor-ordering-2.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/RegExp/constructor-ordering.js b/JSTests/test262/test/staging/sm/RegExp/constructor-ordering.js index f0216919b9ed7..f7e0cab47a564 100644 --- a/JSTests/test262/test/staging/sm/RegExp/constructor-ordering.js +++ b/JSTests/test262/test/staging/sm/RegExp/constructor-ordering.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/RegExp/constructor-regexp-unicode.js b/JSTests/test262/test/staging/sm/RegExp/constructor-regexp-unicode.js index 0db6f740db15c..a7e41b7f78112 100644 --- a/JSTests/test262/test/staging/sm/RegExp/constructor-regexp-unicode.js +++ b/JSTests/test262/test/staging/sm/RegExp/constructor-regexp-unicode.js @@ -2,17 +2,10 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + RegExp constructor should check the pattern syntax again when adding unicode flag. +info: bugzilla.mozilla.org/show_bug.cgi?id=1274393 esid: pending ---*/ -var BUGNUMBER = 1274393; -var summary = "RegExp constructor should check the pattern syntax again when adding unicode flag."; - -print(BUGNUMBER + ": " + summary); - -assertThrowsInstanceOf(() => RegExp(/\-/, "u"), SyntaxError); +assert.throws(SyntaxError, () => RegExp(/\-/, "u")); diff --git a/JSTests/test262/test/staging/sm/RegExp/constructor-regexp.js b/JSTests/test262/test/staging/sm/RegExp/constructor-regexp.js index c4a740e948e16..c6aa47b22f414 100644 --- a/JSTests/test262/test/staging/sm/RegExp/constructor-regexp.js +++ b/JSTests/test262/test/staging/sm/RegExp/constructor-regexp.js @@ -2,17 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + RegExp constructor shouldn't invoke source/flags getters on argument RegExp instance. +info: bugzilla.mozilla.org/show_bug.cgi?id=1130860 esid: pending ---*/ -var BUGNUMBER = 1130860; -var summary = "RegExp constructor shouldn't invoke source/flags getters on argument RegExp instance."; - -print(BUGNUMBER + ": " + summary); // same-compartment var a = /foo/; @@ -39,7 +33,7 @@ assert.sameValue(sourceCalled, false); assert.sameValue(flagsCalled, false); // cross-compartment -var g = createNewGlobal(); +var g = $262.createRealm().global; var b = g.eval(` var b = /foo2/; var flagsCalled = false; @@ -67,4 +61,3 @@ flagsCalled = false; assert.sameValue(new RegExp(b).source, "foo2"); assert.sameValue(g.eval("sourceCalled;"), false); assert.sameValue(g.eval("flagsCalled;"), false); - diff --git a/JSTests/test262/test/staging/sm/RegExp/cross-compartment-getter.js b/JSTests/test262/test/staging/sm/RegExp/cross-compartment-getter.js index 0bd2176aa442e..b750a3cec78e3 100644 --- a/JSTests/test262/test/staging/sm/RegExp/cross-compartment-getter.js +++ b/JSTests/test262/test/staging/sm/RegExp/cross-compartment-getter.js @@ -2,14 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending ---*/ -const otherGlobal = createNewGlobal({newCompartment: true}); +const otherGlobal = $262.createRealm().global; let regExp = otherGlobal.eval("/a(b|c)/iy"); diff --git a/JSTests/test262/test/staging/sm/RegExp/descriptor.js b/JSTests/test262/test/staging/sm/RegExp/descriptor.js index 11fd678d041b3..fed2f42c6f1dc 100644 --- a/JSTests/test262/test/staging/sm/RegExp/descriptor.js +++ b/JSTests/test262/test/staging/sm/RegExp/descriptor.js @@ -2,17 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Implement RegExp.prototype.{global, ignoreCase, multiline, sticky, unicode} - property descriptor +info: bugzilla.mozilla.org/show_bug.cgi?id=1120169 esid: pending ---*/ -var BUGNUMBER = 1120169; -var summary = "Implement RegExp.prototype.{global, ignoreCase, multiline, sticky, unicode} - property descriptor"; - -print(BUGNUMBER + ": " + summary); var getters = [ "flags", @@ -31,4 +25,3 @@ for (var name of getters) { assert.sameValue("writable" in desc, false); assert.sameValue("get" in desc, true); } - diff --git a/JSTests/test262/test/staging/sm/RegExp/empty-lookahead.js b/JSTests/test262/test/staging/sm/RegExp/empty-lookahead.js index 06e64afdaae4e..d0035b5750f77 100644 --- a/JSTests/test262/test/staging/sm/RegExp/empty-lookahead.js +++ b/JSTests/test262/test/staging/sm/RegExp/empty-lookahead.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/RegExp/escape.js b/JSTests/test262/test/staging/sm/RegExp/escape.js index 6be54d46e5114..36d6a5eebc896 100644 --- a/JSTests/test262/test/staging/sm/RegExp/escape.js +++ b/JSTests/test262/test/staging/sm/RegExp/escape.js @@ -2,17 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Slash and LineTerminator should be escaped correctly. +info: bugzilla.mozilla.org/show_bug.cgi?id=1130860 esid: pending ---*/ -var BUGNUMBER = 1130860; -var summary = 'Slash and LineTerminator should be escaped correctly.'; - -print(BUGNUMBER + ": " + summary); function test(re, source) { assert.sameValue(re.source, source); @@ -76,4 +70,3 @@ test(RegExp("\\[\/\\]"), "\\[\\/\\]"); test(RegExp("\\[\\/\\]"), "\\[\\/\\]"); test(RegExp("\\[\\\/\\]"), "\\[\\/\\]"); test(RegExp("\\[\\\\/\\]"), "\\[\\\\\\/\\]"); - diff --git a/JSTests/test262/test/staging/sm/RegExp/exec-lastIndex-ToInteger.js b/JSTests/test262/test/staging/sm/RegExp/exec-lastIndex-ToInteger.js index 67dfabfaef020..1738c807237f2 100644 --- a/JSTests/test262/test/staging/sm/RegExp/exec-lastIndex-ToInteger.js +++ b/JSTests/test262/test/staging/sm/RegExp/exec-lastIndex-ToInteger.js @@ -2,11 +2,9 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + RegExp.prototype.exec doesn't get the lastIndex and ToInteger() it for non-global regular expressions when it should +info: bugzilla.mozilla.org/show_bug.cgi?id=646490 esid: pending ---*/ /* @@ -16,17 +14,6 @@ esid: pending * Author: Geoffrey Sneddon */ -var BUGNUMBER = 646490; -var summary = - "RegExp.prototype.exec doesn't get the lastIndex and ToInteger() it for " + - "non-global regular expressions when it should"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ - var re = /./, called = 0; re.lastIndex = {valueOf: function() { called++; return 0; }}; re.exec("."); @@ -38,7 +25,3 @@ re.lastIndex = { }; re.exec("."); assert.sameValue(called, 3, "FAIL, got " + called); - -/******************************************************************************/ - -print("All tests passed!"); diff --git a/JSTests/test262/test/staging/sm/RegExp/exec-lastIndex-negative.js b/JSTests/test262/test/staging/sm/RegExp/exec-lastIndex-negative.js index e7dcccee66ae4..22d21463f3c3b 100644 --- a/JSTests/test262/test/staging/sm/RegExp/exec-lastIndex-negative.js +++ b/JSTests/test262/test/staging/sm/RegExp/exec-lastIndex-negative.js @@ -2,17 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + negative lastIndex should be treated as 0. +info: bugzilla.mozilla.org/show_bug.cgi?id=1207922 esid: pending ---*/ -var BUGNUMBER = 1207922; -var summary = "negative lastIndex should be treated as 0."; - -print(BUGNUMBER + ": " + summary); var pattern = /abc/gi; var string = 'AbcaBcabC'; @@ -33,4 +27,3 @@ for (var index of indices) { assert.sameValue(result[0], "Abc"); assert.sameValue(pattern.lastIndex, 3); } - diff --git a/JSTests/test262/test/staging/sm/RegExp/exec.js b/JSTests/test262/test/staging/sm/RegExp/exec.js index 292af41b40fd7..899f15b529722 100644 --- a/JSTests/test262/test/staging/sm/RegExp/exec.js +++ b/JSTests/test262/test/staging/sm/RegExp/exec.js @@ -4,37 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + RegExp.prototype.exec doesn't get the lastIndex and ToInteger() it for non-global regular expressions when it should +info: bugzilla.mozilla.org/show_bug.cgi?id=646490 esid: pending ---*/ -var BUGNUMBER = 646490; -var summary = - "RegExp.prototype.exec doesn't get the lastIndex and ToInteger() it for " + - "non-global regular expressions when it should"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ - -function expectThrowTypeError(fun) -{ - try - { - var r = fun(); - throw new Error("didn't throw TypeError, returned " + r); - } - catch (e) - { - assert.sameValue(e instanceof TypeError, true, - "didn't throw TypeError, got: " + e); - } -} function checkExec(description, regex, args, obj) { @@ -58,15 +32,15 @@ var exec = RegExp.prototype.exec; var r, res, called, obj; /* 1. Let R be this RegExp object. */ -expectThrowTypeError(function() { exec.call(null); }); -expectThrowTypeError(function() { exec.call(""); }); -expectThrowTypeError(function() { exec.call(5); }); -expectThrowTypeError(function() { exec.call({}); }); -expectThrowTypeError(function() { exec.call([]); }); -expectThrowTypeError(function() { exec.call(); }); -expectThrowTypeError(function() { exec.call(true); }); -expectThrowTypeError(function() { exec.call(Object.create(RegExp.prototype)); }); -expectThrowTypeError(function() { exec.call(Object.create(/a/)); }); +assert.throws(TypeError, function() { exec.call(null); }); +assert.throws(TypeError, function() { exec.call(""); }); +assert.throws(TypeError, function() { exec.call(5); }); +assert.throws(TypeError, function() { exec.call({}); }); +assert.throws(TypeError, function() { exec.call([]); }); +assert.throws(TypeError, function() { exec.call(); }); +assert.throws(TypeError, function() { exec.call(true); }); +assert.throws(TypeError, function() { exec.call(Object.create(RegExp.prototype)); }); +assert.throws(TypeError, function() { exec.call(Object.create(/a/)); }); /* 2. Let S be the value of ToString(string). */ @@ -120,9 +94,9 @@ assert.sameValue(r.lastIndex, obj); */ r = /b/; r.lastIndex = { valueOf: {}, toString: {} }; -expectThrowTypeError(function() { r.exec("foopy"); }); +assert.throws(TypeError, function() { r.exec("foopy"); }); r.lastIndex = { valueOf: function() { throw new TypeError(); } }; -expectThrowTypeError(function() { r.exec("foopy"); }); +assert.throws(TypeError, function() { r.exec("foopy"); }); /* @@ -239,7 +213,3 @@ checkExec("/a(b)c/g take two", r, ["00abcd"], * 21. Return A. */ // throughout, above (and in other tests) - -/******************************************************************************/ - -print("All tests passed!"); diff --git a/JSTests/test262/test/staging/sm/RegExp/flag-accessors.js b/JSTests/test262/test/staging/sm/RegExp/flag-accessors.js index 31be505ba83fe..56aec1454b1c8 100644 --- a/JSTests/test262/test/staging/sm/RegExp/flag-accessors.js +++ b/JSTests/test262/test/staging/sm/RegExp/flag-accessors.js @@ -2,17 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Implement RegExp.prototype.{global, ignoreCase, multiline, sticky, unicode} +info: bugzilla.mozilla.org/show_bug.cgi?id=1120169 esid: pending ---*/ -var BUGNUMBER = 1120169; -var summary = "Implement RegExp.prototype.{global, ignoreCase, multiline, sticky, unicode}"; - -print(BUGNUMBER + ": " + summary); var props = [ "global", @@ -46,11 +40,10 @@ function test(obj, expects) { function testThrowsGeneric(obj) { for (var prop of props) { - assertThrowsInstanceOf(() => genericGet(obj, prop), TypeError); + assert.throws(TypeError, () => genericGet(obj, prop)); } } function genericGet(obj, prop) { return Object.getOwnPropertyDescriptor(RegExp.prototype, prop).get.call(obj); } - diff --git a/JSTests/test262/test/staging/sm/RegExp/flags-param-handling.js b/JSTests/test262/test/staging/sm/RegExp/flags-param-handling.js index aed54e05dd192..333998a648399 100644 --- a/JSTests/test262/test/staging/sm/RegExp/flags-param-handling.js +++ b/JSTests/test262/test/staging/sm/RegExp/flags-param-handling.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending @@ -14,14 +11,14 @@ assert.sameValue(RegExp(/foo/, "gi").flags, "gi"); assert.sameValue(RegExp(/foo/my, "gi").flags, "gi"); assert.sameValue(RegExp(/foo/my, "").flags, ""); assert.sameValue(RegExp(/foo/my, undefined).flags, "my"); -assertThrowsInstanceOf(() => RegExp(/foo/my, null), SyntaxError); -assertThrowsInstanceOf(() => RegExp(/foo/my, "foo"), SyntaxError); +assert.throws(SyntaxError, () => RegExp(/foo/my, null)); +assert.throws(SyntaxError, () => RegExp(/foo/my, "foo")); assert.sameValue(/a/.compile("b", "gi").flags, "gi"); assert.sameValue(/a/.compile(/b/my).flags, "my"); assert.sameValue(/a/.compile(/b/my, undefined).flags, "my"); -assertThrowsInstanceOf(() => /a/.compile(/b/my, "gi"), TypeError); -assertThrowsInstanceOf(() => /a/.compile(/b/my, ""), TypeError); -assertThrowsInstanceOf(() => /a/.compile(/b/my, null), TypeError); -assertThrowsInstanceOf(() => /a/.compile(/b/my, "foo"), TypeError); +assert.throws(TypeError, () => /a/.compile(/b/my, "gi")); +assert.throws(TypeError, () => /a/.compile(/b/my, "")); +assert.throws(TypeError, () => /a/.compile(/b/my, null)); +assert.throws(TypeError, () => /a/.compile(/b/my, "foo")); diff --git a/JSTests/test262/test/staging/sm/RegExp/flags.js b/JSTests/test262/test/staging/sm/RegExp/flags.js index 7d9e4e6f200ee..fc3ea367c65d2 100644 --- a/JSTests/test262/test/staging/sm/RegExp/flags.js +++ b/JSTests/test262/test/staging/sm/RegExp/flags.js @@ -2,17 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Implement RegExp.prototype.flags +info: bugzilla.mozilla.org/show_bug.cgi?id=1108467 esid: pending ---*/ -var BUGNUMBER = 1108467; -var summary = "Implement RegExp.prototype.flags"; - -print(BUGNUMBER + ": " + summary); assert.sameValue(RegExp.prototype.flags, ""); assert.sameValue(/foo/iymg.flags, "gimy"); @@ -25,11 +19,10 @@ assert.sameValue(genericFlags({sticky:1, unicode:1, global: 0}), "uy"); assert.sameValue(genericFlags({__proto__: {multiline: true}}), "m"); assert.sameValue(genericFlags(new Proxy({}, {get(){return true}})), "dgimsuvy"); -assertThrowsInstanceOf(() => genericFlags(), TypeError); -assertThrowsInstanceOf(() => genericFlags(1), TypeError); -assertThrowsInstanceOf(() => genericFlags(""), TypeError); +assert.throws(TypeError, () => genericFlags()); +assert.throws(TypeError, () => genericFlags(1)); +assert.throws(TypeError, () => genericFlags("")); function genericFlags(obj) { return Object.getOwnPropertyDescriptor(RegExp.prototype,"flags").get.call(obj); } - diff --git a/JSTests/test262/test/staging/sm/RegExp/getter-name.js b/JSTests/test262/test/staging/sm/RegExp/getter-name.js index 92f2b74d215cc..727c77087c85a 100644 --- a/JSTests/test262/test/staging/sm/RegExp/getter-name.js +++ b/JSTests/test262/test/staging/sm/RegExp/getter-name.js @@ -2,17 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + RegExp getters should have get prefix +info: bugzilla.mozilla.org/show_bug.cgi?id=1180290 esid: pending ---*/ -var BUGNUMBER = 1180290; -var summary = 'RegExp getters should have get prefix'; - -print(BUGNUMBER + ": " + summary); assert.sameValue(Object.getOwnPropertyDescriptor(RegExp, Symbol.species).get.name, "get [Symbol.species]"); assert.sameValue(Object.getOwnPropertyDescriptor(RegExp.prototype, "flags").get.name, "get flags"); @@ -22,4 +16,3 @@ assert.sameValue(Object.getOwnPropertyDescriptor(RegExp.prototype, "multiline"). assert.sameValue(Object.getOwnPropertyDescriptor(RegExp.prototype, "source").get.name, "get source"); assert.sameValue(Object.getOwnPropertyDescriptor(RegExp.prototype, "sticky").get.name, "get sticky"); assert.sameValue(Object.getOwnPropertyDescriptor(RegExp.prototype, "unicode").get.name, "get unicode"); - diff --git a/JSTests/test262/test/staging/sm/RegExp/ignoreCase-multiple.js b/JSTests/test262/test/staging/sm/RegExp/ignoreCase-multiple.js index 315c626e2be56..01a56b5ce1c4f 100644 --- a/JSTests/test262/test/staging/sm/RegExp/ignoreCase-multiple.js +++ b/JSTests/test262/test/staging/sm/RegExp/ignoreCase-multiple.js @@ -2,17 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + ignoreCase match should perform Canonicalize both on input and pattern. +info: bugzilla.mozilla.org/show_bug.cgi?id=1280046 esid: pending ---*/ -var BUGNUMBER = 1280046; -var summary = "ignoreCase match should perform Canonicalize both on input and pattern."; - -print(BUGNUMBER + ": " + summary); // Each element [code1, upper, code2] satisfies the following condition: // ToUpperCase(code1) == upper @@ -77,4 +71,3 @@ for (var [code1, upper, code2] of pairs) { assert.sameValue(new RegExp(code2, "i").test(code1), true); assert.sameValue(new RegExp(code2, "i").test(upper), true); } - diff --git a/JSTests/test262/test/staging/sm/RegExp/ignoreCase-non-latin1-to-latin1.js b/JSTests/test262/test/staging/sm/RegExp/ignoreCase-non-latin1-to-latin1.js index 40a2e000b0c90..bcfbd111f5d48 100644 --- a/JSTests/test262/test/staging/sm/RegExp/ignoreCase-non-latin1-to-latin1.js +++ b/JSTests/test262/test/staging/sm/RegExp/ignoreCase-non-latin1-to-latin1.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/RegExp/instance-property-storage-introspection.js b/JSTests/test262/test/staging/sm/RegExp/instance-property-storage-introspection.js index 6d68733e6269a..496f2601e2cd0 100644 --- a/JSTests/test262/test/staging/sm/RegExp/instance-property-storage-introspection.js +++ b/JSTests/test262/test/staging/sm/RegExp/instance-property-storage-introspection.js @@ -4,23 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Represent /a/.{lastIndex,global,source,multiline,sticky,ignoreCase} with plain old data properties +info: bugzilla.mozilla.org/show_bug.cgi?id=640072 esid: pending ---*/ -var BUGNUMBER = 640072; -var summary = - "Represent /a/.{lastIndex,global,source,multiline,sticky,ignoreCase} with " + - "plain old data properties"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ function checkDataProperty(obj, p, expect, msg) { @@ -127,7 +115,3 @@ do assert.sameValue(Object.getOwnPropertyDescriptor(r, "lastIndex").writable, false); } while (Math.random() > 17); // fake loop to discourage RegExp object caching - -/******************************************************************************/ - -print("All tests passed!"); diff --git a/JSTests/test262/test/staging/sm/RegExp/lastIndex-exec.js b/JSTests/test262/test/staging/sm/RegExp/lastIndex-exec.js index 85b9245bc39ca..e6b0ff86ca245 100644 --- a/JSTests/test262/test/staging/sm/RegExp/lastIndex-exec.js +++ b/JSTests/test262/test/staging/sm/RegExp/lastIndex-exec.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending @@ -59,7 +56,7 @@ for (let {regExp, lastIndex, input} of testCases) { let re = new RegExp(regExp); Object.defineProperty(re, "lastIndex", { value: lastIndex, writable: false }); if (re.global || re.sticky) { - assertThrowsInstanceOf(() => re.exec(input), TypeError); + assert.throws(TypeError, () => re.exec(input)); } else { re.exec(input); } @@ -79,7 +76,7 @@ for (let {regExp, lastIndex, input} of testCases) { } }; if (re.global || re.sticky) { - assertThrowsInstanceOf(() => re.exec(input), TypeError); + assert.throws(TypeError, () => re.exec(input)); } else { re.exec(input); } diff --git a/JSTests/test262/test/staging/sm/RegExp/lastIndex-match-or-replace.js b/JSTests/test262/test/staging/sm/RegExp/lastIndex-match-or-replace.js index c98e4f98bd3df..5d2f8431854fd 100644 --- a/JSTests/test262/test/staging/sm/RegExp/lastIndex-match-or-replace.js +++ b/JSTests/test262/test/staging/sm/RegExp/lastIndex-match-or-replace.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending @@ -94,7 +91,7 @@ for (let method of [RegExp.prototype[Symbol.match], RegExp.prototype[Symbol.repl let re = new Constructor(regExp); Object.defineProperty(re, "lastIndex", { value: lastIndex, writable: false }); if (re.global || re.sticky) { - assertThrowsInstanceOf(() => Reflect.apply(method, re, [input]), TypeError); + assert.throws(TypeError, () => Reflect.apply(method, re, [input])); } else { Reflect.apply(method, re, [input]); } @@ -114,7 +111,7 @@ for (let method of [RegExp.prototype[Symbol.match], RegExp.prototype[Symbol.repl } }; if (re.sticky) { - assertThrowsInstanceOf(() => Reflect.apply(method, re, [input]), TypeError); + assert.throws(TypeError, () => Reflect.apply(method, re, [input])); assert.sameValue(called, true); assert.sameValue(re.lastIndex, 9000); } else if (re.global) { diff --git a/JSTests/test262/test/staging/sm/RegExp/lastIndex-nonwritable.js b/JSTests/test262/test/staging/sm/RegExp/lastIndex-nonwritable.js index cf88effe26546..a89c077b944b0 100644 --- a/JSTests/test262/test/staging/sm/RegExp/lastIndex-nonwritable.js +++ b/JSTests/test262/test/staging/sm/RegExp/lastIndex-nonwritable.js @@ -2,17 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Regexp.prototype.test/exec shouldn't change lastIndex if not writable. +info: bugzilla.mozilla.org/show_bug.cgi?id=1168416 esid: pending ---*/ -var BUGNUMBER = 1168416; -var summary = "Regexp.prototype.test/exec shouldn't change lastIndex if not writable."; - -print(BUGNUMBER + ": " + summary); var regex = /0/g; Object.freeze(regex); @@ -22,15 +16,14 @@ var desc = Object.getOwnPropertyDescriptor(regex, "lastIndex"); assert.sameValue(desc.writable, false); assert.sameValue(desc.value, 0); -assertThrowsInstanceOf(() => regex.test(str), TypeError); +assert.throws(TypeError, () => regex.test(str)); desc = Object.getOwnPropertyDescriptor(regex, "lastIndex"); assert.sameValue(desc.writable, false); assert.sameValue(desc.value, 0); -assertThrowsInstanceOf(() => regex.exec(str), TypeError); +assert.throws(TypeError, () => regex.exec(str)); desc = Object.getOwnPropertyDescriptor(regex, "lastIndex"); assert.sameValue(desc.writable, false); assert.sameValue(desc.value, 0); - diff --git a/JSTests/test262/test/staging/sm/RegExp/lastIndex-search.js b/JSTests/test262/test/staging/sm/RegExp/lastIndex-search.js index 39189d9873d1d..ef99da7b800fb 100644 --- a/JSTests/test262/test/staging/sm/RegExp/lastIndex-search.js +++ b/JSTests/test262/test/staging/sm/RegExp/lastIndex-search.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending @@ -95,7 +92,7 @@ for (let Constructor of [RegExp, DuckRegExp]) { for (let {regExp, lastIndex, input} of testCasesNotPositiveZero) { let re = new Constructor(regExp); Object.defineProperty(re, "lastIndex", { value: lastIndex, writable: false }); - assertThrowsInstanceOf(() => re[Symbol.search](input), TypeError); + assert.throws(TypeError, () => re[Symbol.search](input)); assert.sameValue(re.lastIndex, lastIndex); } @@ -104,7 +101,7 @@ for (let Constructor of [RegExp, DuckRegExp]) { let re = new Constructor(regExp); Object.defineProperty(re, "lastIndex", { value: lastIndex, writable: false }); if (re.global || re.sticky) { - assertThrowsInstanceOf(() => re[Symbol.search](input), TypeError); + assert.throws(TypeError, () => re[Symbol.search](input)); } else { re[Symbol.search](input); } diff --git a/JSTests/test262/test/staging/sm/RegExp/match-local-tolength-recompilation.js b/JSTests/test262/test/staging/sm/RegExp/match-local-tolength-recompilation.js index aa6f812407a8c..5568f5bf36c11 100644 --- a/JSTests/test262/test/staging/sm/RegExp/match-local-tolength-recompilation.js +++ b/JSTests/test262/test/staging/sm/RegExp/match-local-tolength-recompilation.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/RegExp/match-this.js b/JSTests/test262/test/staging/sm/RegExp/match-this.js index 3746b810971cc..fdbdefb98dc9e 100644 --- a/JSTests/test262/test/staging/sm/RegExp/match-this.js +++ b/JSTests/test262/test/staging/sm/RegExp/match-this.js @@ -2,20 +2,12 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + RegExp.prototype[@@match] should check this value. +info: bugzilla.mozilla.org/show_bug.cgi?id=887016 esid: pending ---*/ -var BUGNUMBER = 887016; -var summary = "RegExp.prototype[@@match] should check this value."; - -print(BUGNUMBER + ": " + summary); for (var v of [null, 1, true, undefined, "", Symbol.iterator]) { - assertThrowsInstanceOf(() => RegExp.prototype[Symbol.match].call(v), - TypeError); + assert.throws(TypeError, () => RegExp.prototype[Symbol.match].call(v)); } - diff --git a/JSTests/test262/test/staging/sm/RegExp/match-trace.js b/JSTests/test262/test/staging/sm/RegExp/match-trace.js index 3c97cf3932225..490d204bdbe4f 100644 --- a/JSTests/test262/test/staging/sm/RegExp/match-trace.js +++ b/JSTests/test262/test/staging/sm/RegExp/match-trace.js @@ -2,17 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Trace RegExp.prototype[@@match] behavior. +info: bugzilla.mozilla.org/show_bug.cgi?id=887016 esid: pending ---*/ -var BUGNUMBER = 887016; -var summary = "Trace RegExp.prototype[@@match] behavior."; - -print(BUGNUMBER + ": " + summary); var n; var log; @@ -156,4 +150,3 @@ assert.sameValue(JSON.stringify(ret), `["abc"]`); assert.sameValue(log, "get:flags," + "get:exec,call:exec,"); - diff --git a/JSTests/test262/test/staging/sm/RegExp/match.js b/JSTests/test262/test/staging/sm/RegExp/match.js index f668ba0d45061..58e52f801ec1a 100644 --- a/JSTests/test262/test/staging/sm/RegExp/match.js +++ b/JSTests/test262/test/staging/sm/RegExp/match.js @@ -2,17 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Implement RegExp.prototype[@@match]. +info: bugzilla.mozilla.org/show_bug.cgi?id=887016 esid: pending ---*/ -var BUGNUMBER = 887016; -var summary = "Implement RegExp.prototype[@@match]."; - -print(BUGNUMBER + ": " + summary); assert.sameValue(RegExp.prototype[Symbol.match].name, "[Symbol.match]"); assert.sameValue(RegExp.prototype[Symbol.match].length, 1); @@ -42,4 +36,3 @@ assert.sameValue(v[2], "A"); re = /d/g; v = re[Symbol.match]("abcAbcABC"); assert.sameValue(v, null); - diff --git a/JSTests/test262/test/staging/sm/RegExp/prototype-different-global.js b/JSTests/test262/test/staging/sm/RegExp/prototype-different-global.js index e597e51d35c80..bb65883c220b4 100644 --- a/JSTests/test262/test/staging/sm/RegExp/prototype-different-global.js +++ b/JSTests/test262/test/staging/sm/RegExp/prototype-different-global.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending @@ -32,6 +29,5 @@ function test(otherGlobal) { assert.sameValue(RegExp.prototype.toString.call(otherRegExp.prototype), "/(?:)/"); } -test(createNewGlobal()); -test(createNewGlobal({newCompartment: true})); +test($262.createRealm().global); diff --git a/JSTests/test262/test/staging/sm/RegExp/prototype.js b/JSTests/test262/test/staging/sm/RegExp/prototype.js index d7018652838f5..1b56040d91911 100644 --- a/JSTests/test262/test/staging/sm/RegExp/prototype.js +++ b/JSTests/test262/test/staging/sm/RegExp/prototype.js @@ -2,9 +2,7 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, compareArray.js] -flags: - - noStrict +includes: [compareArray.js] description: | pending esid: pending @@ -40,7 +38,7 @@ assert.sameValue(getter("unicode"), undefined); assert.sameValue(t.toString(), "/(?:)/"); // The methods don't work with the prototype -assertThrowsInstanceOf(() => t.compile("b", "i"), TypeError); -assertThrowsInstanceOf(() => t.test("x"), TypeError); -assertThrowsInstanceOf(() => t.exec("x"), TypeError); +assert.throws(TypeError, () => t.compile("b", "i")); +assert.throws(TypeError, () => t.test("x")); +assert.throws(TypeError, () => t.exec("x")); diff --git a/JSTests/test262/test/staging/sm/RegExp/regress-yarr-regexp.js b/JSTests/test262/test/staging/sm/RegExp/regress-yarr-regexp.js index e3d63426ab448..1155b44838b7b 100644 --- a/JSTests/test262/test/staging/sm/RegExp/regress-yarr-regexp.js +++ b/JSTests/test262/test/staging/sm/RegExp/regress-yarr-regexp.js @@ -2,9 +2,7 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, compareArray.js] -flags: - - noStrict +includes: [compareArray.js] description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/RegExp/replace-compile-elembase.js b/JSTests/test262/test/staging/sm/RegExp/replace-compile-elembase.js index bdc3577003fe6..b2400aef5eb46 100644 --- a/JSTests/test262/test/staging/sm/RegExp/replace-compile-elembase.js +++ b/JSTests/test262/test/staging/sm/RegExp/replace-compile-elembase.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/RegExp/replace-compile.js b/JSTests/test262/test/staging/sm/RegExp/replace-compile.js index f77377d57ac00..cb9da89e18d33 100644 --- a/JSTests/test262/test/staging/sm/RegExp/replace-compile.js +++ b/JSTests/test262/test/staging/sm/RegExp/replace-compile.js @@ -2,17 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + RegExp.prototype[@@replace] should call replacer function after collecting all matches. +info: bugzilla.mozilla.org/show_bug.cgi?id=1287524 esid: pending ---*/ -var BUGNUMBER = 1287524; -var summary = 'RegExp.prototype[@@replace] should call replacer function after collecting all matches.'; - -print(BUGNUMBER + ": " + summary); var rx = RegExp("a", "g"); var r = rx[Symbol.replace]("abba", function() { @@ -27,4 +21,3 @@ r = "abba".replace(rx, function() { return "?"; }); assert.sameValue(r, "?bb?"); - diff --git a/JSTests/test262/test/staging/sm/RegExp/replace-global-unicode.js b/JSTests/test262/test/staging/sm/RegExp/replace-global-unicode.js index 24846477c635e..3527b96a2c234 100644 --- a/JSTests/test262/test/staging/sm/RegExp/replace-global-unicode.js +++ b/JSTests/test262/test/staging/sm/RegExp/replace-global-unicode.js @@ -2,17 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + RegExp.prototype[@@replace] should not use optimized path if RegExp.prototype.unicode is modified. +info: bugzilla.mozilla.org/show_bug.cgi?id=1287524 esid: pending ---*/ -var BUGNUMBER = 1287524; -var summary = 'RegExp.prototype[@@replace] should not use optimized path if RegExp.prototype.unicode is modified.'; - -print(BUGNUMBER + ": " + summary); Object.defineProperty(RegExp.prototype, "unicode", { get() { @@ -24,4 +18,3 @@ var rx = RegExp("a", "g"); var s = "abba"; var r = rx[Symbol.replace](s, "c"); assert.sameValue(r, "abba"); - diff --git a/JSTests/test262/test/staging/sm/RegExp/replace-local-tolength-lastindex.js b/JSTests/test262/test/staging/sm/RegExp/replace-local-tolength-lastindex.js index e94da2ebe3174..d89eb8ddc98a5 100644 --- a/JSTests/test262/test/staging/sm/RegExp/replace-local-tolength-lastindex.js +++ b/JSTests/test262/test/staging/sm/RegExp/replace-local-tolength-lastindex.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/RegExp/replace-local-tolength-recompilation.js b/JSTests/test262/test/staging/sm/RegExp/replace-local-tolength-recompilation.js index b280e2146aa37..68065051db932 100644 --- a/JSTests/test262/test/staging/sm/RegExp/replace-local-tolength-recompilation.js +++ b/JSTests/test262/test/staging/sm/RegExp/replace-local-tolength-recompilation.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/RegExp/replace-sticky-lastIndex.js b/JSTests/test262/test/staging/sm/RegExp/replace-sticky-lastIndex.js index 4d4099fe72b66..08f4123b3116c 100644 --- a/JSTests/test262/test/staging/sm/RegExp/replace-sticky-lastIndex.js +++ b/JSTests/test262/test/staging/sm/RegExp/replace-sticky-lastIndex.js @@ -2,17 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + String.prototype.replace should do nothing if lastIndex is invalid for sticky RegExp +info: bugzilla.mozilla.org/show_bug.cgi?id=887016 esid: pending ---*/ -var BUGNUMBER = 887016; -var summary = "String.prototype.replace should do nothing if lastIndex is invalid for sticky RegExp"; - -print(BUGNUMBER + ": " + summary); var re = /a/y; re.lastIndex = -1; @@ -29,4 +23,3 @@ re.lastIndex = "1"; assert.sameValue("a".replace(re, "b"), "a"); re.lastIndex = {}; assert.sameValue("a".replace(re, "b"), "b"); - diff --git a/JSTests/test262/test/staging/sm/RegExp/replace-sticky.js b/JSTests/test262/test/staging/sm/RegExp/replace-sticky.js index 7a952e264bcb8..3f3d2508850c2 100644 --- a/JSTests/test262/test/staging/sm/RegExp/replace-sticky.js +++ b/JSTests/test262/test/staging/sm/RegExp/replace-sticky.js @@ -2,17 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + String.prototype.replace should use and update lastIndex if sticky flag is set +info: bugzilla.mozilla.org/show_bug.cgi?id=887016 esid: pending ---*/ -var BUGNUMBER = 887016; -var summary = "String.prototype.replace should use and update lastIndex if sticky flag is set"; - -print(BUGNUMBER + ": " + summary); var input = "abcdeabcdeabcdefghij"; var re = new RegExp("abcde", "y"); @@ -27,4 +21,3 @@ assert.sameValue(re.lastIndex, 15); ret = input.replace(re, "ABCDE"); assert.sameValue(ret, "abcdeabcdeabcdefghij"); assert.sameValue(re.lastIndex, 0); - diff --git a/JSTests/test262/test/staging/sm/RegExp/replace-this.js b/JSTests/test262/test/staging/sm/RegExp/replace-this.js index 303817e808e77..45ed71ad0237d 100644 --- a/JSTests/test262/test/staging/sm/RegExp/replace-this.js +++ b/JSTests/test262/test/staging/sm/RegExp/replace-this.js @@ -2,20 +2,12 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + RegExp.prototype[@@replace] should check |this| value. +info: bugzilla.mozilla.org/show_bug.cgi?id=887016 esid: pending ---*/ -var BUGNUMBER = 887016; -var summary = "RegExp.prototype[@@replace] should check |this| value."; - -print(BUGNUMBER + ": " + summary); for (var v of [null, 1, true, undefined, "", Symbol.iterator]) { - assertThrowsInstanceOf(() => RegExp.prototype[Symbol.replace].call(v), - TypeError); + assert.throws(TypeError, () => RegExp.prototype[Symbol.replace].call(v)); } - diff --git a/JSTests/test262/test/staging/sm/RegExp/replace-trace.js b/JSTests/test262/test/staging/sm/RegExp/replace-trace.js index edd6741281052..f320c579e02f8 100644 --- a/JSTests/test262/test/staging/sm/RegExp/replace-trace.js +++ b/JSTests/test262/test/staging/sm/RegExp/replace-trace.js @@ -2,17 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Trace RegExp.prototype[@@replace] behavior. +info: bugzilla.mozilla.org/show_bug.cgi?id=887016 esid: pending ---*/ -var BUGNUMBER = 887016; -var summary = "Trace RegExp.prototype[@@replace] behavior."; - -print(BUGNUMBER + ": " + summary); var n; var log; @@ -313,4 +307,3 @@ assert.sameValue(log, "get:result[length],get:result[0],get:result[index],get:result[groups],"); stopObserve(); - diff --git a/JSTests/test262/test/staging/sm/RegExp/replace-twoBytes.js b/JSTests/test262/test/staging/sm/RegExp/replace-twoBytes.js index 3e4301cca2eb9..8282fd15a9a03 100644 --- a/JSTests/test262/test/staging/sm/RegExp/replace-twoBytes.js +++ b/JSTests/test262/test/staging/sm/RegExp/replace-twoBytes.js @@ -2,17 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + RegExp.prototype[@@replace] should check latin1/twoBytes for all strings used in relate operation. +info: bugzilla.mozilla.org/show_bug.cgi?id=1269719 esid: pending ---*/ -var BUGNUMBER = 1269719; -var summary = "RegExp.prototype[@@replace] should check latin1/twoBytes for all strings used in relate operation."; - -print(BUGNUMBER + ": " + summary); var ans = [ "[AB$2$3$]", @@ -50,4 +44,3 @@ for (var matched of ["A", "\u3042"]) { } } } - diff --git a/JSTests/test262/test/staging/sm/RegExp/replace.js b/JSTests/test262/test/staging/sm/RegExp/replace.js index bf6c3123db2c9..52ff6ca472ae5 100644 --- a/JSTests/test262/test/staging/sm/RegExp/replace.js +++ b/JSTests/test262/test/staging/sm/RegExp/replace.js @@ -2,17 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Implement RegExp.prototype[@@replace]. +info: bugzilla.mozilla.org/show_bug.cgi?id=887016 esid: pending ---*/ -var BUGNUMBER = 887016; -var summary = "Implement RegExp.prototype[@@replace]."; - -print(BUGNUMBER + ": " + summary); assert.sameValue(RegExp.prototype[Symbol.replace].name, "[Symbol.replace]"); assert.sameValue(RegExp.prototype[Symbol.replace].length, 2); @@ -40,4 +34,3 @@ assert.sameValue(v, "012_$_abcd_012_345_$0_a_b_cd_$4_$+_$345"); re = /(a)(b)(cd)/; v = re[Symbol.replace]("012abcd345", "_\u3042_$$_$&_$`_$'_$0_$1_$2_$3_$4_$+_$"); assert.sameValue(v, "012_\u3042_$_abcd_012_345_$0_a_b_cd_$4_$+_$345"); - diff --git a/JSTests/test262/test/staging/sm/RegExp/search-this.js b/JSTests/test262/test/staging/sm/RegExp/search-this.js index 183ef78c12386..19595cd7cc46e 100644 --- a/JSTests/test262/test/staging/sm/RegExp/search-this.js +++ b/JSTests/test262/test/staging/sm/RegExp/search-this.js @@ -2,20 +2,12 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + RegExp.prototype[@@search] should check this value. +info: bugzilla.mozilla.org/show_bug.cgi?id=887016 esid: pending ---*/ -var BUGNUMBER = 887016; -var summary = "RegExp.prototype[@@search] should check this value."; - -print(BUGNUMBER + ": " + summary); for (var v of [null, 1, true, undefined, "", Symbol.iterator]) { - assertThrowsInstanceOf(() => RegExp.prototype[Symbol.search].call(v), - TypeError); + assert.throws(TypeError, () => RegExp.prototype[Symbol.search].call(v)); } - diff --git a/JSTests/test262/test/staging/sm/RegExp/search-trace.js b/JSTests/test262/test/staging/sm/RegExp/search-trace.js index 2061ae9987928..50d4aa021b6d1 100644 --- a/JSTests/test262/test/staging/sm/RegExp/search-trace.js +++ b/JSTests/test262/test/staging/sm/RegExp/search-trace.js @@ -2,17 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Trace RegExp.prototype[@@search] behavior. +info: bugzilla.mozilla.org/show_bug.cgi?id=887016 esid: pending ---*/ -var BUGNUMBER = 887016; -var summary = "Trace RegExp.prototype[@@search] behavior."; - -print(BUGNUMBER + ": " + summary); var n; var log; @@ -84,4 +78,3 @@ assert.sameValue(log, "get:exec,call:exec," + "get:lastIndex," + "set:lastIndex,"); - diff --git a/JSTests/test262/test/staging/sm/RegExp/search.js b/JSTests/test262/test/staging/sm/RegExp/search.js index 269d4d1c6346f..2ff072abb2bdf 100644 --- a/JSTests/test262/test/staging/sm/RegExp/search.js +++ b/JSTests/test262/test/staging/sm/RegExp/search.js @@ -2,17 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Implement RegExp.prototype[@@search]. +info: bugzilla.mozilla.org/show_bug.cgi?id=887016 esid: pending ---*/ -var BUGNUMBER = 887016; -var summary = "Implement RegExp.prototype[@@search]."; - -print(BUGNUMBER + ": " + summary); assert.sameValue(RegExp.prototype[Symbol.search].name, "[Symbol.search]"); assert.sameValue(RegExp.prototype[Symbol.search].length, 1); @@ -32,4 +26,3 @@ assert.sameValue(v, 1); re = /d/; v = re[Symbol.search]("abcAbcABCD"); assert.sameValue(v, -1); - diff --git a/JSTests/test262/test/staging/sm/RegExp/source.js b/JSTests/test262/test/staging/sm/RegExp/source.js index b2d4099b8abb0..6d2897b2eb8f1 100644 --- a/JSTests/test262/test/staging/sm/RegExp/source.js +++ b/JSTests/test262/test/staging/sm/RegExp/source.js @@ -2,17 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Implement RegExp.prototype.source +info: bugzilla.mozilla.org/show_bug.cgi?id=1120169 esid: pending ---*/ -var BUGNUMBER = 1120169; -var summary = "Implement RegExp.prototype.source"; - -print(BUGNUMBER + ": " + summary); assert.sameValue(RegExp.prototype.source, "(?:)"); assert.sameValue(/foo/.source, "foo"); @@ -26,13 +20,12 @@ assert.sameValue(RegExp("/").source, "\\/"); assert.sameValue(RegExp("\n\r").source, "\\n\\r"); assert.sameValue(RegExp("\u2028\u2029").source, "\\u2028\\u2029"); -assertThrowsInstanceOf(() => genericSource(), TypeError); -assertThrowsInstanceOf(() => genericSource(1), TypeError); -assertThrowsInstanceOf(() => genericSource(""), TypeError); -assertThrowsInstanceOf(() => genericSource({}), TypeError); -assertThrowsInstanceOf(() => genericSource(new Proxy(/foo/, {get(){ return true; }})), TypeError); +assert.throws(TypeError, () => genericSource()); +assert.throws(TypeError, () => genericSource(1)); +assert.throws(TypeError, () => genericSource("")); +assert.throws(TypeError, () => genericSource({})); +assert.throws(TypeError, () => genericSource(new Proxy(/foo/, {get(){ return true; }}))); function genericSource(obj) { return Object.getOwnPropertyDescriptor(RegExp.prototype, "source").get.call(obj); } - diff --git a/JSTests/test262/test/staging/sm/RegExp/split-deleted-flags.js b/JSTests/test262/test/staging/sm/RegExp/split-deleted-flags.js index 4d309effba50f..d46781242b1ae 100644 --- a/JSTests/test262/test/staging/sm/RegExp/split-deleted-flags.js +++ b/JSTests/test262/test/staging/sm/RegExp/split-deleted-flags.js @@ -2,19 +2,12 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + RegExp.prototype.split should throw if RegRxp.prototype.flags is deleted. +info: bugzilla.mozilla.org/show_bug.cgi?id=1322319 esid: pending ---*/ -var BUGNUMBER = 1322319; -var summary = "RegExp.prototype.split should throw if RegRxp.prototype.flags is deleted." - -print(BUGNUMBER + ": " + summary); delete RegExp.prototype.flags; -assertThrowsInstanceOf(() => "aaaaa".split(/a/), SyntaxError); - +assert.throws(SyntaxError, () => "aaaaa".split(/a/)); diff --git a/JSTests/test262/test/staging/sm/RegExp/split-flags-on-obj.js b/JSTests/test262/test/staging/sm/RegExp/split-flags-on-obj.js index 5d72363b3e18c..b8d0a87a598c6 100644 --- a/JSTests/test262/test/staging/sm/RegExp/split-flags-on-obj.js +++ b/JSTests/test262/test/staging/sm/RegExp/split-flags-on-obj.js @@ -2,29 +2,23 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, deepEqual.js] -flags: - - noStrict +includes: [compareArray.js] description: | - pending + RegExp.prototype.split should reflect the change to Object.prototype.flags. +info: bugzilla.mozilla.org/show_bug.cgi?id=0 esid: pending ---*/ -var BUGNUMBER = 0; -var summary = "RegExp.prototype.split should reflect the change to Object.prototype.flags."; - -print(BUGNUMBER + ": " + summary); Object.defineProperty(Object.prototype, "flags", Object.getOwnPropertyDescriptor(RegExp.prototype, "flags")); delete RegExp.prototype.flags; let re = /a/i; let a = re[Symbol.split]("1a2A3a4A5"); -assert.deepEqual(a, ["1", "2", "3", "4", "5"]); +assert.compareArray(a, ["1", "2", "3", "4", "5"]); delete Object.prototype.flags; Object.prototype.flags = ""; a = re[Symbol.split]("1a2A3a4A5"); -assert.deepEqual(a, ["1", "2A3", "4A5"]); - +assert.compareArray(a, ["1", "2A3", "4A5"]); diff --git a/JSTests/test262/test/staging/sm/RegExp/split-invalid-lastIndex.js b/JSTests/test262/test/staging/sm/RegExp/split-invalid-lastIndex.js index f4a5bcbfed741..296ece83104ff 100644 --- a/JSTests/test262/test/staging/sm/RegExp/split-invalid-lastIndex.js +++ b/JSTests/test262/test/staging/sm/RegExp/split-invalid-lastIndex.js @@ -2,17 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + RegExp.prototype[@@split] should handle if lastIndex is out of bound. +info: bugzilla.mozilla.org/show_bug.cgi?id=1263851 esid: pending ---*/ -var BUGNUMBER = 1263851; -var summary = "RegExp.prototype[@@split] should handle if lastIndex is out of bound."; - -print(BUGNUMBER + ": " + summary); var myRegExp = { get constructor() { @@ -37,4 +31,3 @@ var result = RegExp.prototype[Symbol.split].call(myRegExp, "abcde");; assert.sameValue(result.length, 2); assert.sameValue(result[0], ""); assert.sameValue(result[1], ""); - diff --git a/JSTests/test262/test/staging/sm/RegExp/split-limit.js b/JSTests/test262/test/staging/sm/RegExp/split-limit.js index d7a06b23d2c80..2c5fa9fe975a0 100644 --- a/JSTests/test262/test/staging/sm/RegExp/split-limit.js +++ b/JSTests/test262/test/staging/sm/RegExp/split-limit.js @@ -2,17 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + RegExp.prototype[@@split] shouldn't use optimized path if limit is not number. +info: bugzilla.mozilla.org/show_bug.cgi?id=1287525 esid: pending ---*/ -var BUGNUMBER = 1287525; -var summary = "RegExp.prototype[@@split] shouldn't use optimized path if limit is not number."; - -print(BUGNUMBER + ": " + summary); var rx = /a/; var r = rx[Symbol.split]("abba", {valueOf() { @@ -20,4 +14,3 @@ var r = rx[Symbol.split]("abba", {valueOf() { return 100; }}); assert.sameValue(r.length, 1); - diff --git a/JSTests/test262/test/staging/sm/RegExp/split-obj.js b/JSTests/test262/test/staging/sm/RegExp/split-obj.js index 4d5388955a0e3..2d7d0ee194d50 100644 --- a/JSTests/test262/test/staging/sm/RegExp/split-obj.js +++ b/JSTests/test262/test/staging/sm/RegExp/split-obj.js @@ -2,19 +2,13 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, deepEqual.js] -flags: - - noStrict +includes: [compareArray.js] description: | - pending + RegExp.prototype[@@split] should check if this value is RegExp. +info: bugzilla.mozilla.org/show_bug.cgi?id=887016 esid: pending ---*/ -var BUGNUMBER = 887016; -var summary = "RegExp.prototype[@@split] should check if this value is RegExp."; - -print(BUGNUMBER + ": " + summary); var obj = { flags: "", toString: () => "-" }; -assert.deepEqual(RegExp.prototype[Symbol.split].call(obj, "a-b-c"), +assert.compareArray(RegExp.prototype[Symbol.split].call(obj, "a-b-c"), ["a", "b", "c"]); - diff --git a/JSTests/test262/test/staging/sm/RegExp/split-prop-access.js b/JSTests/test262/test/staging/sm/RegExp/split-prop-access.js index 5461563633cf8..7d60e491ba26b 100644 --- a/JSTests/test262/test/staging/sm/RegExp/split-prop-access.js +++ b/JSTests/test262/test/staging/sm/RegExp/split-prop-access.js @@ -2,17 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + String.prototype.split should call ToUint32(limit) before ToString(separator). +info: bugzilla.mozilla.org/show_bug.cgi?id=1287525 esid: pending ---*/ -var BUGNUMBER = 1287525; -var summary = 'String.prototype.split should call ToUint32(limit) before ToString(separator).'; - -print(BUGNUMBER + ": " + summary); var accessed = false; @@ -25,4 +19,3 @@ Object.defineProperty(rx, Symbol.match, { rx[Symbol.split]("abba"); assert.sameValue(accessed, true); - diff --git a/JSTests/test262/test/staging/sm/RegExp/split-this.js b/JSTests/test262/test/staging/sm/RegExp/split-this.js index 9641e38c7a9bc..16430ddd0f1f8 100644 --- a/JSTests/test262/test/staging/sm/RegExp/split-this.js +++ b/JSTests/test262/test/staging/sm/RegExp/split-this.js @@ -2,20 +2,12 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + RegExp.prototype[@@split] should check this value. +info: bugzilla.mozilla.org/show_bug.cgi?id=887016 esid: pending ---*/ -var BUGNUMBER = 887016; -var summary = "RegExp.prototype[@@split] should check this value."; - -print(BUGNUMBER + ": " + summary); for (var v of [null, 1, true, undefined, "", Symbol.iterator]) { - assertThrowsInstanceOf(() => RegExp.prototype[Symbol.split].call(v), - TypeError); + assert.throws(TypeError, () => RegExp.prototype[Symbol.split].call(v)); } - diff --git a/JSTests/test262/test/staging/sm/RegExp/split-trace.js b/JSTests/test262/test/staging/sm/RegExp/split-trace.js index 640590346dc75..20f2def3a760f 100644 --- a/JSTests/test262/test/staging/sm/RegExp/split-trace.js +++ b/JSTests/test262/test/staging/sm/RegExp/split-trace.js @@ -2,17 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Trace RegExp.prototype[@@split] behavior. +info: bugzilla.mozilla.org/show_bug.cgi?id=887016 esid: pending ---*/ -var BUGNUMBER = 887016; -var summary = "Trace RegExp.prototype[@@split] behavior."; - -print(BUGNUMBER + ": " + summary); var n; var log; @@ -235,4 +229,3 @@ assert.sameValue(log, "set:lastIndex,get:exec,call:exec,get:lastIndex,"); stopObserve(); - diff --git a/JSTests/test262/test/staging/sm/RegExp/split.js b/JSTests/test262/test/staging/sm/RegExp/split.js index 1388e6716d7d2..5bbed9975fea5 100644 --- a/JSTests/test262/test/staging/sm/RegExp/split.js +++ b/JSTests/test262/test/staging/sm/RegExp/split.js @@ -2,17 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Implement RegExp.prototype[@@split]. +info: bugzilla.mozilla.org/show_bug.cgi?id=887016 esid: pending ---*/ -var BUGNUMBER = 887016; -var summary = "Implement RegExp.prototype[@@split]."; - -print(BUGNUMBER + ": " + summary); assert.sameValue(RegExp.prototype[Symbol.split].name, "[Symbol.split]"); assert.sameValue(RegExp.prototype[Symbol.split].length, 2); @@ -36,4 +30,3 @@ assert.sameValue(JSON.stringify(v), `["a","cA","cA","C"]`); re = /b/ig; v = re[Symbol.split]("abcAbcABC", 2); assert.sameValue(JSON.stringify(v), `["a","cA"]`); - diff --git a/JSTests/test262/test/staging/sm/RegExp/sticky.js b/JSTests/test262/test/staging/sm/RegExp/sticky.js index 2e34165103ff5..61ccf6577f8b4 100644 --- a/JSTests/test262/test/staging/sm/RegExp/sticky.js +++ b/JSTests/test262/test/staging/sm/RegExp/sticky.js @@ -2,17 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + sticky flag should not break assertion behavior. +info: bugzilla.mozilla.org/show_bug.cgi?id=773687 esid: pending ---*/ -var BUGNUMBER = 773687; -var summary = 'sticky flag should not break assertion behavior.'; - -print(BUGNUMBER + ": " + summary); function test(re, text, expectations) { // Sanity check for test data itself. @@ -132,4 +126,3 @@ test(/\B/y, "abc bc", [ { lastIndex: 5, matches: [""], index: 5 }, null, ]); - diff --git a/JSTests/test262/test/staging/sm/RegExp/test-emptyMatch.js b/JSTests/test262/test/staging/sm/RegExp/test-emptyMatch.js index c79677451af25..5afa142add86d 100644 --- a/JSTests/test262/test/staging/sm/RegExp/test-emptyMatch.js +++ b/JSTests/test262/test/staging/sm/RegExp/test-emptyMatch.js @@ -2,17 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + RegExp.prototype.test should update lastIndex to correct position even if pattern starts with .* +info: bugzilla.mozilla.org/show_bug.cgi?id=1322035 esid: pending ---*/ -var BUGNUMBER = 1322035; -var summary = 'RegExp.prototype.test should update lastIndex to correct position even if pattern starts with .*'; - -print(BUGNUMBER + ": " + summary); var regExp = /.*x?/g; regExp.test('12345'); @@ -29,4 +23,3 @@ assert.sameValue(regExp.lastIndex, 5); regExp = /.*(x|)/g; regExp.test('12345'); assert.sameValue(regExp.lastIndex, 5); - diff --git a/JSTests/test262/test/staging/sm/RegExp/test-trailing.js b/JSTests/test262/test/staging/sm/RegExp/test-trailing.js index a19b7acd818f0..ea8135b4d5c62 100644 --- a/JSTests/test262/test/staging/sm/RegExp/test-trailing.js +++ b/JSTests/test262/test/staging/sm/RegExp/test-trailing.js @@ -2,17 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Trailing .* should not be ignored on matchOnly match. +info: bugzilla.mozilla.org/show_bug.cgi?id=1304737 esid: pending ---*/ -var BUGNUMBER = 1304737; -var summary = "Trailing .* should not be ignored on matchOnly match."; - -print(BUGNUMBER + ": " + summary); function test(r, lastIndexIsZero) { r.lastIndex = 0; @@ -37,4 +31,3 @@ test(/f.*/, true); test(/f.*/g, false); test(/f.*/y, false); test(/f.*/gy, false); - diff --git a/JSTests/test262/test/staging/sm/RegExp/toString.js b/JSTests/test262/test/staging/sm/RegExp/toString.js index fb37968ed0109..534948e5f288d 100644 --- a/JSTests/test262/test/staging/sm/RegExp/toString.js +++ b/JSTests/test262/test/staging/sm/RegExp/toString.js @@ -2,17 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Make RegExp.prototype.toString to be a generic function. +info: bugzilla.mozilla.org/show_bug.cgi?id=1079919 esid: pending ---*/ -var BUGNUMBER = 1079919; -var summary = "Make RegExp.prototype.toString to be a generic function."; - -print(BUGNUMBER + ": " + summary); assert.sameValue(RegExp.prototype.toString(), "/(?:)/"); assert.sameValue(/foo/.toString(), "/foo/"); @@ -28,9 +22,9 @@ assert.sameValue(RegExp("\n\r").toString(), "/\\n\\r/"); assert.sameValue(RegExp("\u2028\u2029").toString(), "/\\u2028\\u2029/"); assert.sameValue(RegExp("/").toString(), "/\\//"); -assertThrowsInstanceOf(() => RegExp.prototype.toString.call(), TypeError); -assertThrowsInstanceOf(() => RegExp.prototype.toString.call(1), TypeError); -assertThrowsInstanceOf(() => RegExp.prototype.toString.call(""), TypeError); +assert.throws(TypeError, () => RegExp.prototype.toString.call()); +assert.throws(TypeError, () => RegExp.prototype.toString.call(1)); +assert.throws(TypeError, () => RegExp.prototype.toString.call("")); assert.sameValue(RegExp.prototype.toString.call({}), "/undefined/undefined"); assert.sameValue(RegExp.prototype.toString.call({ source:"foo", flags:"bar" }), "/foo/bar"); @@ -48,4 +42,3 @@ var p = new Proxy({}, { }); assert.sameValue(RegExp.prototype.toString.call(p), "/source/flags"); assert.sameValue(a.join(","), "source,source-tostring,flags,flags-tostring"); - diff --git a/JSTests/test262/test/staging/sm/RegExp/unicode-back-reference.js b/JSTests/test262/test/staging/sm/RegExp/unicode-back-reference.js index b0423707ebbc7..7d3902b70feb4 100644 --- a/JSTests/test262/test/staging/sm/RegExp/unicode-back-reference.js +++ b/JSTests/test262/test/staging/sm/RegExp/unicode-back-reference.js @@ -2,17 +2,12 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, compareArray.js] -flags: - - noStrict +includes: [compareArray.js] description: | - pending + Implement RegExp unicode flag -- back reference should not match lead surrogate that has corresponding trail surrogate. +info: bugzilla.mozilla.org/show_bug.cgi?id=1135377 esid: pending ---*/ -var BUGNUMBER = 1135377; -var summary = "Implement RegExp unicode flag -- back reference should not match lead surrogate that has corresponding trail surrogate."; - -print(BUGNUMBER + ": " + summary); // The last character of back reference is not a surrogate. assert.compareArray(/foo(.+)bar\1/u.exec("fooAbarA\uDC00"), @@ -45,4 +40,3 @@ assert.compareArray(/foo(.+)bar\1/u.exec("foo\uDC00bar\uDC00"), // Pattern should not match to surrogate pair partially. assert.sameValue(/^(.+)\1$/u.exec("\uDC00foobar\uD834\uDC00foobar\uD834"), null); - diff --git a/JSTests/test262/test/staging/sm/RegExp/unicode-braced.js b/JSTests/test262/test/staging/sm/RegExp/unicode-braced.js index f3492dcc199ca..16f237d311ebf 100644 --- a/JSTests/test262/test/staging/sm/RegExp/unicode-braced.js +++ b/JSTests/test262/test/staging/sm/RegExp/unicode-braced.js @@ -2,17 +2,12 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, compareArray.js] -flags: - - noStrict +includes: [compareArray.js] description: | - pending + Implement RegExp unicode flag -- braced pattern in RegExpUnicodeEscapeSequence. +info: bugzilla.mozilla.org/show_bug.cgi?id=1135377 esid: pending ---*/ -var BUGNUMBER = 1135377; -var summary = "Implement RegExp unicode flag -- braced pattern in RegExpUnicodeEscapeSequence."; - -print(BUGNUMBER + ": " + summary); // ==== standalone ==== @@ -149,21 +144,21 @@ assert.compareArray(/\u{DC38}/u.exec("A\uDC38"), // ==== wrong patterns ==== -assertThrowsInstanceOf(() => eval(`/\\u{-1}/u`), SyntaxError); -assertThrowsInstanceOf(() => eval(`/\\u{0.0}/u`), SyntaxError); -assertThrowsInstanceOf(() => eval(`/\\u{G}/u`), SyntaxError); -assertThrowsInstanceOf(() => eval(`/\\u{}/u`), SyntaxError); -assertThrowsInstanceOf(() => eval(`/\\u{{/u`), SyntaxError); -assertThrowsInstanceOf(() => eval(`/\\u{/u`), SyntaxError); -assertThrowsInstanceOf(() => eval(`/\\u{110000}/u`), SyntaxError); -assertThrowsInstanceOf(() => eval(`/\\u{00110000}/u`), SyntaxError); -assertThrowsInstanceOf(() => eval(`/\\u{100000000000000000000000000000}/u`), SyntaxError); -assertThrowsInstanceOf(() => eval(`/\\u{FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF}/u`), SyntaxError); -assertThrowsInstanceOf(() => eval(`/\\u{ FFFF}/u`), SyntaxError); -assertThrowsInstanceOf(() => eval(`/\\u{FFFF }/u`), SyntaxError); -assertThrowsInstanceOf(() => eval(`/\\u{FF FF}/u`), SyntaxError); -assertThrowsInstanceOf(() => eval(`/\\u{F F F F}/u`), SyntaxError); -assertThrowsInstanceOf(() => eval(`/\\u{100000001}/u`), SyntaxError); +assert.throws(SyntaxError, () => eval(`/\\u{-1}/u`)); +assert.throws(SyntaxError, () => eval(`/\\u{0.0}/u`)); +assert.throws(SyntaxError, () => eval(`/\\u{G}/u`)); +assert.throws(SyntaxError, () => eval(`/\\u{}/u`)); +assert.throws(SyntaxError, () => eval(`/\\u{{/u`)); +assert.throws(SyntaxError, () => eval(`/\\u{/u`)); +assert.throws(SyntaxError, () => eval(`/\\u{110000}/u`)); +assert.throws(SyntaxError, () => eval(`/\\u{00110000}/u`)); +assert.throws(SyntaxError, () => eval(`/\\u{100000000000000000000000000000}/u`)); +assert.throws(SyntaxError, () => eval(`/\\u{FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF}/u`)); +assert.throws(SyntaxError, () => eval(`/\\u{ FFFF}/u`)); +assert.throws(SyntaxError, () => eval(`/\\u{FFFF }/u`)); +assert.throws(SyntaxError, () => eval(`/\\u{FF FF}/u`)); +assert.throws(SyntaxError, () => eval(`/\\u{F F F F}/u`)); +assert.throws(SyntaxError, () => eval(`/\\u{100000001}/u`)); // surrogate pair with braced assert.sameValue(/\u{D83D}\u{DC38}+/u.exec("\uD83D\uDC38\uDC38"), @@ -172,4 +167,3 @@ assert.sameValue(/\uD83D\u{DC38}+/u.exec("\uD83D\uDC38\uDC38"), null); assert.sameValue(/\u{D83D}\uDC38+/u.exec("\uD83D\uDC38\uDC38"), null); - diff --git a/JSTests/test262/test/staging/sm/RegExp/unicode-character-class-escape.js b/JSTests/test262/test/staging/sm/RegExp/unicode-character-class-escape.js index f3f2def9bee1a..75e5d0ee93616 100644 --- a/JSTests/test262/test/staging/sm/RegExp/unicode-character-class-escape.js +++ b/JSTests/test262/test/staging/sm/RegExp/unicode-character-class-escape.js @@ -2,17 +2,12 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, compareArray.js] -flags: - - noStrict +includes: [compareArray.js] description: | - pending + Implement RegExp unicode flag -- CharacterClassEscape. +info: bugzilla.mozilla.org/show_bug.cgi?id=1135377 esid: pending ---*/ -var BUGNUMBER = 1135377; -var summary = "Implement RegExp unicode flag -- CharacterClassEscape."; - -print(BUGNUMBER + ": " + summary); // BMP @@ -81,4 +76,3 @@ testNonBMP(/\W/u); testNonBMP(/[\D]/u); testNonBMP(/[\S]/u); testNonBMP(/[\W]/u); - diff --git a/JSTests/test262/test/staging/sm/RegExp/unicode-class-braced.js b/JSTests/test262/test/staging/sm/RegExp/unicode-class-braced.js index 3ace4b777b923..64dbaeeaa3c4d 100644 --- a/JSTests/test262/test/staging/sm/RegExp/unicode-class-braced.js +++ b/JSTests/test262/test/staging/sm/RegExp/unicode-class-braced.js @@ -2,17 +2,12 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, compareArray.js] -flags: - - noStrict +includes: [compareArray.js] description: | - pending + Implement RegExp unicode flag -- braced pattern in RegExpUnicodeEscapeSequence in CharacterClass. +info: bugzilla.mozilla.org/show_bug.cgi?id=1135377 esid: pending ---*/ -var BUGNUMBER = 1135377; -var summary = "Implement RegExp unicode flag -- braced pattern in RegExpUnicodeEscapeSequence in CharacterClass."; - -print(BUGNUMBER + ": " + summary); // ==== standalone ==== @@ -227,19 +222,18 @@ assert.sameValue(/[\u{42}-\u{1F438}]/u.exec("A"), // ==== wrong patterns ==== -assertThrowsInstanceOf(() => eval(`/[\\u{-1}]/u`), SyntaxError); -assertThrowsInstanceOf(() => eval(`/[\\u{0.0}]/u`), SyntaxError); -assertThrowsInstanceOf(() => eval(`/[\\u{G}]/u`), SyntaxError); -assertThrowsInstanceOf(() => eval(`/[\\u{}]/u`), SyntaxError); -assertThrowsInstanceOf(() => eval(`/[\\u{{]/u`), SyntaxError); -assertThrowsInstanceOf(() => eval(`/[\\u{]/u`), SyntaxError); -assertThrowsInstanceOf(() => eval(`/[\\u{110000}]/u`), SyntaxError); -assertThrowsInstanceOf(() => eval(`/[\\u{00110000}]/u`), SyntaxError); -assertThrowsInstanceOf(() => eval(`/[\\u{100000000000000000000000000000}]/u`), SyntaxError); -assertThrowsInstanceOf(() => eval(`/[\\u{FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF}]/u`), SyntaxError); -assertThrowsInstanceOf(() => eval(`/[\\u{ FFFF}]/u`), SyntaxError); -assertThrowsInstanceOf(() => eval(`/[\\u{FFFF }]/u`), SyntaxError); -assertThrowsInstanceOf(() => eval(`/[\\u{FF FF}]/u`), SyntaxError); -assertThrowsInstanceOf(() => eval(`/[\\u{F F F F}]/u`), SyntaxError); -assertThrowsInstanceOf(() => eval(`/[\\u{100000001}]/u`), SyntaxError); - +assert.throws(SyntaxError, () => eval(`/[\\u{-1}]/u`)); +assert.throws(SyntaxError, () => eval(`/[\\u{0.0}]/u`)); +assert.throws(SyntaxError, () => eval(`/[\\u{G}]/u`)); +assert.throws(SyntaxError, () => eval(`/[\\u{}]/u`)); +assert.throws(SyntaxError, () => eval(`/[\\u{{]/u`)); +assert.throws(SyntaxError, () => eval(`/[\\u{]/u`)); +assert.throws(SyntaxError, () => eval(`/[\\u{110000}]/u`)); +assert.throws(SyntaxError, () => eval(`/[\\u{00110000}]/u`)); +assert.throws(SyntaxError, () => eval(`/[\\u{100000000000000000000000000000}]/u`)); +assert.throws(SyntaxError, () => eval(`/[\\u{FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF}]/u`)); +assert.throws(SyntaxError, () => eval(`/[\\u{ FFFF}]/u`)); +assert.throws(SyntaxError, () => eval(`/[\\u{FFFF }]/u`)); +assert.throws(SyntaxError, () => eval(`/[\\u{FF FF}]/u`)); +assert.throws(SyntaxError, () => eval(`/[\\u{F F F F}]/u`)); +assert.throws(SyntaxError, () => eval(`/[\\u{100000001}]/u`)); diff --git a/JSTests/test262/test/staging/sm/RegExp/unicode-class-empty.js b/JSTests/test262/test/staging/sm/RegExp/unicode-class-empty.js index b3d44d501702f..edfe72c2e685b 100644 --- a/JSTests/test262/test/staging/sm/RegExp/unicode-class-empty.js +++ b/JSTests/test262/test/staging/sm/RegExp/unicode-class-empty.js @@ -2,17 +2,12 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, compareArray.js] -flags: - - noStrict +includes: [compareArray.js] description: | - pending + Implement RegExp unicode flag -- empty class should not match anything. +info: bugzilla.mozilla.org/show_bug.cgi?id=1135377 esid: pending ---*/ -var BUGNUMBER = 1135377; -var summary = "Implement RegExp unicode flag -- empty class should not match anything."; - -print(BUGNUMBER + ": " + summary); assert.sameValue(/[]/u.exec("A"), null); @@ -31,4 +26,3 @@ assert.compareArray(/[^]/u.exec("\uDC38"), ["\uDC38"]); assert.compareArray(/[^]/u.exec("\uD83D\uDC38"), ["\uD83D\uDC38"]); - diff --git a/JSTests/test262/test/staging/sm/RegExp/unicode-class-ignoreCase.js b/JSTests/test262/test/staging/sm/RegExp/unicode-class-ignoreCase.js index a54874fcdf672..5c94a668a1737 100644 --- a/JSTests/test262/test/staging/sm/RegExp/unicode-class-ignoreCase.js +++ b/JSTests/test262/test/staging/sm/RegExp/unicode-class-ignoreCase.js @@ -2,19 +2,13 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, compareArray.js] -flags: - - noStrict +includes: [compareArray.js] description: | - pending + Implement RegExp unicode flag -- ignoreCase flag for CharacterClass. +info: bugzilla.mozilla.org/show_bug.cgi?id=1135377 esid: pending ---*/ -var BUGNUMBER = 1135377; -var summary = "Implement RegExp unicode flag -- ignoreCase flag for CharacterClass."; - -print(BUGNUMBER + ": " + summary); - assert.compareArray(/[ABC]+/iu.exec("DCBAabcd"), ["CBAabc"]); @@ -35,4 +29,3 @@ assert.compareArray(/[\u{10401}-\u{10404}\u{10430}-\u{10433}]+/iu.exec("\u{10400 ["\u{10401}\u{10402}\u{10403}\u{10404}\u{10408}\u{10409}\u{1040A}\u{1040B}"]); assert.compareArray(/[\u{10401}-\u{10404}\u{10430}-\u{10433}]+/iu.exec("\u{10428}\u{10429}\u{1042A}\u{1042B}\u{1042C}\u{10430}\u{10431}\u{10432}\u{10433}\u{10434}"), ["\u{10429}\u{1042A}\u{1042B}\u{1042C}\u{10430}\u{10431}\u{10432}\u{10433}"]); - diff --git a/JSTests/test262/test/staging/sm/RegExp/unicode-class-lead-trail.js b/JSTests/test262/test/staging/sm/RegExp/unicode-class-lead-trail.js index 127e96e412223..6b79dc2edcea0 100644 --- a/JSTests/test262/test/staging/sm/RegExp/unicode-class-lead-trail.js +++ b/JSTests/test262/test/staging/sm/RegExp/unicode-class-lead-trail.js @@ -2,17 +2,12 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, compareArray.js] -flags: - - noStrict +includes: [compareArray.js] description: | - pending + Implement RegExp unicode flag -- lead and trail pattern in RegExpUnicodeEscapeSequence in CharacterClass. +info: bugzilla.mozilla.org/show_bug.cgi?id=1135377 esid: pending ---*/ -var BUGNUMBER = 1135377; -var summary = "Implement RegExp unicode flag -- lead and trail pattern in RegExpUnicodeEscapeSequence in CharacterClass."; - -print(BUGNUMBER + ": " + summary); // ==== standalone ==== @@ -136,16 +131,15 @@ assert.compareArray(/[\uD83DA]*/u.exec("\uD83DAA\uD83D"), // ==== wrong patterns ==== -assertThrowsInstanceOf(() => eval(`/[\\u]/u`), SyntaxError); -assertThrowsInstanceOf(() => eval(`/[\\u0]/u`), SyntaxError); -assertThrowsInstanceOf(() => eval(`/[\\u00]/u`), SyntaxError); -assertThrowsInstanceOf(() => eval(`/[\\u000]/u`), SyntaxError); -assertThrowsInstanceOf(() => eval(`/[\\u000G]/u`), SyntaxError); -assertThrowsInstanceOf(() => eval(`/[\\u0.00]/u`), SyntaxError); -assertThrowsInstanceOf(() => eval(`/[\\uD83D\\u]/u`), SyntaxError); -assertThrowsInstanceOf(() => eval(`/[\\uD83D\\u0]/u`), SyntaxError); -assertThrowsInstanceOf(() => eval(`/[\\uD83D\\u00]/u`), SyntaxError); -assertThrowsInstanceOf(() => eval(`/[\\uD83D\\u000]/u`), SyntaxError); -assertThrowsInstanceOf(() => eval(`/[\\uD83D\\u000G]/u`), SyntaxError); -assertThrowsInstanceOf(() => eval(`/[\\uD83D\\u0.00]/u`), SyntaxError); - +assert.throws(SyntaxError, () => eval(`/[\\u]/u`)); +assert.throws(SyntaxError, () => eval(`/[\\u0]/u`)); +assert.throws(SyntaxError, () => eval(`/[\\u00]/u`)); +assert.throws(SyntaxError, () => eval(`/[\\u000]/u`)); +assert.throws(SyntaxError, () => eval(`/[\\u000G]/u`)); +assert.throws(SyntaxError, () => eval(`/[\\u0.00]/u`)); +assert.throws(SyntaxError, () => eval(`/[\\uD83D\\u]/u`)); +assert.throws(SyntaxError, () => eval(`/[\\uD83D\\u0]/u`)); +assert.throws(SyntaxError, () => eval(`/[\\uD83D\\u00]/u`)); +assert.throws(SyntaxError, () => eval(`/[\\uD83D\\u000]/u`)); +assert.throws(SyntaxError, () => eval(`/[\\uD83D\\u000G]/u`)); +assert.throws(SyntaxError, () => eval(`/[\\uD83D\\u0.00]/u`)); diff --git a/JSTests/test262/test/staging/sm/RegExp/unicode-class-negated.js b/JSTests/test262/test/staging/sm/RegExp/unicode-class-negated.js index e2aa33e28f9a7..2045258bfcb21 100644 --- a/JSTests/test262/test/staging/sm/RegExp/unicode-class-negated.js +++ b/JSTests/test262/test/staging/sm/RegExp/unicode-class-negated.js @@ -2,17 +2,12 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, compareArray.js] -flags: - - noStrict +includes: [compareArray.js] description: | - pending + Implement RegExp unicode flag -- negated CharacterClass. +info: bugzilla.mozilla.org/show_bug.cgi?id=1135377 esid: pending ---*/ -var BUGNUMBER = 1135377; -var summary = "Implement RegExp unicode flag -- negated CharacterClass."; - -print(BUGNUMBER + ": " + summary); // ==== BMP ==== @@ -70,4 +65,3 @@ assert.compareArray(/[^\uDC38]/u.exec("\uDBFF\uDC38"), ["\uDBFF\uDC38"]); assert.compareArray(/[^\uDC38]/u.exec("\uDC00\uDC38"), ["\uDC00"]); - diff --git a/JSTests/test262/test/staging/sm/RegExp/unicode-class-range.js b/JSTests/test262/test/staging/sm/RegExp/unicode-class-range.js index c20fed1b89135..e5eb5f23367f1 100644 --- a/JSTests/test262/test/staging/sm/RegExp/unicode-class-range.js +++ b/JSTests/test262/test/staging/sm/RegExp/unicode-class-range.js @@ -2,36 +2,29 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Implement RegExp unicode flag -- disallow range with CharacterClassEscape. +info: bugzilla.mozilla.org/show_bug.cgi?id=1135377 esid: pending ---*/ -var BUGNUMBER = 1135377; -var summary = "Implement RegExp unicode flag -- disallow range with CharacterClassEscape."; -print(BUGNUMBER + ": " + summary); +assert.throws(SyntaxError, () => eval(`/[\\w-\\uFFFF]/u`)); +assert.throws(SyntaxError, () => eval(`/[\\W-\\uFFFF]/u`)); +assert.throws(SyntaxError, () => eval(`/[\\d-\\uFFFF]/u`)); +assert.throws(SyntaxError, () => eval(`/[\\D-\\uFFFF]/u`)); +assert.throws(SyntaxError, () => eval(`/[\\s-\\uFFFF]/u`)); +assert.throws(SyntaxError, () => eval(`/[\\S-\\uFFFF]/u`)); -assertThrowsInstanceOf(() => eval(`/[\\w-\\uFFFF]/u`), SyntaxError); -assertThrowsInstanceOf(() => eval(`/[\\W-\\uFFFF]/u`), SyntaxError); -assertThrowsInstanceOf(() => eval(`/[\\d-\\uFFFF]/u`), SyntaxError); -assertThrowsInstanceOf(() => eval(`/[\\D-\\uFFFF]/u`), SyntaxError); -assertThrowsInstanceOf(() => eval(`/[\\s-\\uFFFF]/u`), SyntaxError); -assertThrowsInstanceOf(() => eval(`/[\\S-\\uFFFF]/u`), SyntaxError); - -assertThrowsInstanceOf(() => eval(`/[\\uFFFF-\\w]/u`), SyntaxError); -assertThrowsInstanceOf(() => eval(`/[\\uFFFF-\\W]/u`), SyntaxError); -assertThrowsInstanceOf(() => eval(`/[\\uFFFF-\\d]/u`), SyntaxError); -assertThrowsInstanceOf(() => eval(`/[\\uFFFF-\\D]/u`), SyntaxError); -assertThrowsInstanceOf(() => eval(`/[\\uFFFF-\\s]/u`), SyntaxError); -assertThrowsInstanceOf(() => eval(`/[\\uFFFF-\\S]/u`), SyntaxError); - -assertThrowsInstanceOf(() => eval(`/[\\w-\\w]/u`), SyntaxError); -assertThrowsInstanceOf(() => eval(`/[\\W-\\W]/u`), SyntaxError); -assertThrowsInstanceOf(() => eval(`/[\\d-\\d]/u`), SyntaxError); -assertThrowsInstanceOf(() => eval(`/[\\D-\\D]/u`), SyntaxError); -assertThrowsInstanceOf(() => eval(`/[\\s-\\s]/u`), SyntaxError); -assertThrowsInstanceOf(() => eval(`/[\\S-\\S]/u`), SyntaxError); +assert.throws(SyntaxError, () => eval(`/[\\uFFFF-\\w]/u`)); +assert.throws(SyntaxError, () => eval(`/[\\uFFFF-\\W]/u`)); +assert.throws(SyntaxError, () => eval(`/[\\uFFFF-\\d]/u`)); +assert.throws(SyntaxError, () => eval(`/[\\uFFFF-\\D]/u`)); +assert.throws(SyntaxError, () => eval(`/[\\uFFFF-\\s]/u`)); +assert.throws(SyntaxError, () => eval(`/[\\uFFFF-\\S]/u`)); +assert.throws(SyntaxError, () => eval(`/[\\w-\\w]/u`)); +assert.throws(SyntaxError, () => eval(`/[\\W-\\W]/u`)); +assert.throws(SyntaxError, () => eval(`/[\\d-\\d]/u`)); +assert.throws(SyntaxError, () => eval(`/[\\D-\\D]/u`)); +assert.throws(SyntaxError, () => eval(`/[\\s-\\s]/u`)); +assert.throws(SyntaxError, () => eval(`/[\\S-\\S]/u`)); diff --git a/JSTests/test262/test/staging/sm/RegExp/unicode-class-raw.js b/JSTests/test262/test/staging/sm/RegExp/unicode-class-raw.js index a9b6df2c185c8..0ab982c0e9683 100644 --- a/JSTests/test262/test/staging/sm/RegExp/unicode-class-raw.js +++ b/JSTests/test262/test/staging/sm/RegExp/unicode-class-raw.js @@ -2,17 +2,12 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, compareArray.js] -flags: - - noStrict +includes: [compareArray.js] description: | - pending + Implement RegExp unicode flag -- raw unicode. +info: bugzilla.mozilla.org/show_bug.cgi?id=1135377 esid: pending ---*/ -var BUGNUMBER = 1135377; -var summary = "Implement RegExp unicode flag -- raw unicode."; - -print(BUGNUMBER + ": " + summary); // ==== standalone ==== @@ -71,4 +66,3 @@ assert.compareArray(new RegExp("[\\uD83D\uDC38]", "").exec("\u{1F438}"), // escaped(trail), no unicode flag assert.compareArray(new RegExp("[\uD83D\\uDC38]", "").exec("\u{1F438}"), ["\uD83D"]); - diff --git a/JSTests/test262/test/staging/sm/RegExp/unicode-disallow-extended.js b/JSTests/test262/test/staging/sm/RegExp/unicode-disallow-extended.js index 85039205e4726..bbcd6ca470ec9 100644 --- a/JSTests/test262/test/staging/sm/RegExp/unicode-disallow-extended.js +++ b/JSTests/test262/test/staging/sm/RegExp/unicode-disallow-extended.js @@ -2,45 +2,40 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, compareArray.js] -flags: - - noStrict +includes: [compareArray.js] description: | - pending + Implement RegExp unicode flag -- disallow extended patterns. +info: bugzilla.mozilla.org/show_bug.cgi?id=1135377 esid: pending ---*/ -var BUGNUMBER = 1135377; -var summary = "Implement RegExp unicode flag -- disallow extended patterns."; - -print(BUGNUMBER + ": " + summary); // IdentityEscape assert.compareArray(/\^\$\\\.\*\+\?\(\)\[\]\{\}\|/u.exec("^$\\.*+?()[]{}|"), ["^$\\.*+?()[]{}|"]); -assertThrowsInstanceOf(() => eval(`/\\A/u`), SyntaxError); -assertThrowsInstanceOf(() => eval(`/\\-/u`), SyntaxError); -assertThrowsInstanceOf(() => eval(`/\\U{10}/u`), SyntaxError); -assertThrowsInstanceOf(() => eval(`/\\U0000/u`), SyntaxError); -assertThrowsInstanceOf(() => eval(`/\\uD83D\\U0000/u`), SyntaxError); +assert.throws(SyntaxError, () => eval(`/\\A/u`)); +assert.throws(SyntaxError, () => eval(`/\\-/u`)); +assert.throws(SyntaxError, () => eval(`/\\U{10}/u`)); +assert.throws(SyntaxError, () => eval(`/\\U0000/u`)); +assert.throws(SyntaxError, () => eval(`/\\uD83D\\U0000/u`)); assert.compareArray(/[\^\$\\\.\*\+\?\(\)\[\]\{\}\|]+/u.exec("^$\\.*+?()[]{}|"), ["^$\\.*+?()[]{}|"]); -assertThrowsInstanceOf(() => eval(`/[\\A]/u`), SyntaxError); +assert.throws(SyntaxError, () => eval(`/[\\A]/u`)); assert.compareArray(/[A\-Z]+/u.exec("a-zABC"), ["-"]); -assertThrowsInstanceOf(() => eval(`/[\\U{10}]/u`), SyntaxError); -assertThrowsInstanceOf(() => eval(`/[\\U0000]/u`), SyntaxError); -assertThrowsInstanceOf(() => eval(`/[\\uD83D\\U0000]/u`), SyntaxError); +assert.throws(SyntaxError, () => eval(`/[\\U{10}]/u`)); +assert.throws(SyntaxError, () => eval(`/[\\U0000]/u`)); +assert.throws(SyntaxError, () => eval(`/[\\uD83D\\U0000]/u`)); // PatternCharacter -assertThrowsInstanceOf(() => eval(`/{}/u`), SyntaxError); -assertThrowsInstanceOf(() => eval(`/{/u`), SyntaxError); -assertThrowsInstanceOf(() => eval(`/}/u`), SyntaxError); -assertThrowsInstanceOf(() => eval(`/]/u`), SyntaxError); -assertThrowsInstanceOf(() => eval(`/{0}/u`), SyntaxError); -assertThrowsInstanceOf(() => eval(`/{1,}/u`), SyntaxError); -assertThrowsInstanceOf(() => eval(`/{1,2}/u`), SyntaxError); +assert.throws(SyntaxError, () => eval(`/{}/u`)); +assert.throws(SyntaxError, () => eval(`/{/u`)); +assert.throws(SyntaxError, () => eval(`/}/u`)); +assert.throws(SyntaxError, () => eval(`/]/u`)); +assert.throws(SyntaxError, () => eval(`/{0}/u`)); +assert.throws(SyntaxError, () => eval(`/{1,}/u`)); +assert.throws(SyntaxError, () => eval(`/{1,2}/u`)); // QuantifiableAssertion assert.compareArray(/.B(?=A)/u.exec("cBaCBA"), @@ -52,8 +47,8 @@ assert.compareArray(/.B(?:A)/u.exec("cBaCBA"), assert.compareArray(/.B(A)/u.exec("cBaCBA"), ["CBA", "A"]); -assertThrowsInstanceOf(() => eval(`/.B(?=A)+/u`), SyntaxError); -assertThrowsInstanceOf(() => eval(`/.B(?!A)+/u`), SyntaxError); +assert.throws(SyntaxError, () => eval(`/.B(?=A)+/u`)); +assert.throws(SyntaxError, () => eval(`/.B(?!A)+/u`)); assert.compareArray(/.B(?:A)+/u.exec("cBaCBA"), ["CBA"]); assert.compareArray(/.B(A)+/u.exec("cBaCBA"), @@ -78,31 +73,31 @@ assert.compareArray(/[\ca]/u.exec("\u0001"), assert.compareArray(/[\cz]/u.exec("\u001a"), ["\u001a"]); -assertThrowsInstanceOf(() => eval(`/\\c/u`), SyntaxError); -assertThrowsInstanceOf(() => eval(`/\\c1/u`), SyntaxError); -assertThrowsInstanceOf(() => eval(`/\\c_/u`), SyntaxError); +assert.throws(SyntaxError, () => eval(`/\\c/u`)); +assert.throws(SyntaxError, () => eval(`/\\c1/u`)); +assert.throws(SyntaxError, () => eval(`/\\c_/u`)); -assertThrowsInstanceOf(() => eval(`/[\\c]/u`), SyntaxError); -assertThrowsInstanceOf(() => eval(`/[\\c1]/u`), SyntaxError); -assertThrowsInstanceOf(() => eval(`/[\\c_]/u`), SyntaxError); +assert.throws(SyntaxError, () => eval(`/[\\c]/u`)); +assert.throws(SyntaxError, () => eval(`/[\\c1]/u`)); +assert.throws(SyntaxError, () => eval(`/[\\c_]/u`)); // HexEscapeSequence -assertThrowsInstanceOf(() => eval(`/\\x/u`), SyntaxError); -assertThrowsInstanceOf(() => eval(`/\\x0/u`), SyntaxError); -assertThrowsInstanceOf(() => eval(`/\\x1/u`), SyntaxError); -assertThrowsInstanceOf(() => eval(`/\\x1G/u`), SyntaxError); +assert.throws(SyntaxError, () => eval(`/\\x/u`)); +assert.throws(SyntaxError, () => eval(`/\\x0/u`)); +assert.throws(SyntaxError, () => eval(`/\\x1/u`)); +assert.throws(SyntaxError, () => eval(`/\\x1G/u`)); -assertThrowsInstanceOf(() => eval(`/[\\x]/u`), SyntaxError); -assertThrowsInstanceOf(() => eval(`/[\\x0]/u`), SyntaxError); -assertThrowsInstanceOf(() => eval(`/[\\x1]/u`), SyntaxError); -assertThrowsInstanceOf(() => eval(`/[\\x1G]/u`), SyntaxError); +assert.throws(SyntaxError, () => eval(`/[\\x]/u`)); +assert.throws(SyntaxError, () => eval(`/[\\x0]/u`)); +assert.throws(SyntaxError, () => eval(`/[\\x1]/u`)); +assert.throws(SyntaxError, () => eval(`/[\\x1G]/u`)); // LegacyOctalEscapeSequence -assertThrowsInstanceOf(() => eval(`/\\52/u`), SyntaxError); -assertThrowsInstanceOf(() => eval(`/\\052/u`), SyntaxError); +assert.throws(SyntaxError, () => eval(`/\\52/u`)); +assert.throws(SyntaxError, () => eval(`/\\052/u`)); -assertThrowsInstanceOf(() => eval(`/[\\52]/u`), SyntaxError); -assertThrowsInstanceOf(() => eval(`/[\\052]/u`), SyntaxError); +assert.throws(SyntaxError, () => eval(`/[\\52]/u`)); +assert.throws(SyntaxError, () => eval(`/[\\052]/u`)); // DecimalEscape assert.compareArray(/\0/u.exec("\0"), @@ -118,31 +113,30 @@ assert.compareArray(/(A.)\1/u.exec("ABACABAB"), assert.compareArray(/(A.)(B.)(C.)(D.)(E.)(F.)(G.)(H.)(I.)(J.)(K.)\10/u.exec("A1B2C3D4E5F6G7H8I9JaKbJa"), ["A1B2C3D4E5F6G7H8I9JaKbJa", "A1", "B2", "C3", "D4", "E5", "F6", "G7", "H8", "I9", "Ja", "Kb"]); -assertThrowsInstanceOf(() => eval(`/\\00/u`), SyntaxError); -assertThrowsInstanceOf(() => eval(`/\\01/u`), SyntaxError); -assertThrowsInstanceOf(() => eval(`/\\09/u`), SyntaxError); -assertThrowsInstanceOf(() => eval(`/\\1/u`), SyntaxError); -assertThrowsInstanceOf(() => eval(`/\\2/u`), SyntaxError); -assertThrowsInstanceOf(() => eval(`/\\3/u`), SyntaxError); -assertThrowsInstanceOf(() => eval(`/\\4/u`), SyntaxError); -assertThrowsInstanceOf(() => eval(`/\\5/u`), SyntaxError); -assertThrowsInstanceOf(() => eval(`/\\6/u`), SyntaxError); -assertThrowsInstanceOf(() => eval(`/\\7/u`), SyntaxError); -assertThrowsInstanceOf(() => eval(`/\\8/u`), SyntaxError); -assertThrowsInstanceOf(() => eval(`/\\9/u`), SyntaxError); -assertThrowsInstanceOf(() => eval(`/\\10/u`), SyntaxError); - -assertThrowsInstanceOf(() => eval(`/[\\00]/u`), SyntaxError); -assertThrowsInstanceOf(() => eval(`/[\\01]/u`), SyntaxError); -assertThrowsInstanceOf(() => eval(`/[\\09]/u`), SyntaxError); -assertThrowsInstanceOf(() => eval(`/[\\1]/u`), SyntaxError); -assertThrowsInstanceOf(() => eval(`/[\\2]/u`), SyntaxError); -assertThrowsInstanceOf(() => eval(`/[\\3]/u`), SyntaxError); -assertThrowsInstanceOf(() => eval(`/[\\4]/u`), SyntaxError); -assertThrowsInstanceOf(() => eval(`/[\\5]/u`), SyntaxError); -assertThrowsInstanceOf(() => eval(`/[\\6]/u`), SyntaxError); -assertThrowsInstanceOf(() => eval(`/[\\7]/u`), SyntaxError); -assertThrowsInstanceOf(() => eval(`/[\\8]/u`), SyntaxError); -assertThrowsInstanceOf(() => eval(`/[\\9]/u`), SyntaxError); -assertThrowsInstanceOf(() => eval(`/[\\10]/u`), SyntaxError); - +assert.throws(SyntaxError, () => eval(`/\\00/u`)); +assert.throws(SyntaxError, () => eval(`/\\01/u`)); +assert.throws(SyntaxError, () => eval(`/\\09/u`)); +assert.throws(SyntaxError, () => eval(`/\\1/u`)); +assert.throws(SyntaxError, () => eval(`/\\2/u`)); +assert.throws(SyntaxError, () => eval(`/\\3/u`)); +assert.throws(SyntaxError, () => eval(`/\\4/u`)); +assert.throws(SyntaxError, () => eval(`/\\5/u`)); +assert.throws(SyntaxError, () => eval(`/\\6/u`)); +assert.throws(SyntaxError, () => eval(`/\\7/u`)); +assert.throws(SyntaxError, () => eval(`/\\8/u`)); +assert.throws(SyntaxError, () => eval(`/\\9/u`)); +assert.throws(SyntaxError, () => eval(`/\\10/u`)); + +assert.throws(SyntaxError, () => eval(`/[\\00]/u`)); +assert.throws(SyntaxError, () => eval(`/[\\01]/u`)); +assert.throws(SyntaxError, () => eval(`/[\\09]/u`)); +assert.throws(SyntaxError, () => eval(`/[\\1]/u`)); +assert.throws(SyntaxError, () => eval(`/[\\2]/u`)); +assert.throws(SyntaxError, () => eval(`/[\\3]/u`)); +assert.throws(SyntaxError, () => eval(`/[\\4]/u`)); +assert.throws(SyntaxError, () => eval(`/[\\5]/u`)); +assert.throws(SyntaxError, () => eval(`/[\\6]/u`)); +assert.throws(SyntaxError, () => eval(`/[\\7]/u`)); +assert.throws(SyntaxError, () => eval(`/[\\8]/u`)); +assert.throws(SyntaxError, () => eval(`/[\\9]/u`)); +assert.throws(SyntaxError, () => eval(`/[\\10]/u`)); diff --git a/JSTests/test262/test/staging/sm/RegExp/unicode-everything.js b/JSTests/test262/test/staging/sm/RegExp/unicode-everything.js index cf53122a5d550..396e7bf220b44 100644 --- a/JSTests/test262/test/staging/sm/RegExp/unicode-everything.js +++ b/JSTests/test262/test/staging/sm/RegExp/unicode-everything.js @@ -2,17 +2,12 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, compareArray.js] -flags: - - noStrict +includes: [compareArray.js] description: | - pending + Implement RegExp unicode flag -- everything Atom. +info: bugzilla.mozilla.org/show_bug.cgi?id=1135377 esid: pending ---*/ -var BUGNUMBER = 1135377; -var summary = "Implement RegExp unicode flag -- everything Atom."; - -print(BUGNUMBER + ": " + summary); // ==== standalone ==== @@ -65,4 +60,3 @@ assert.compareArray(/.*A/u.exec("\u{1F438}\u{1F438}\u{1F438}A"), assert.compareArray(/A.*/u.exec("A\u{1F438}\u{1F438}\u{1F438}"), ["A\u{1F438}\u{1F438}\u{1F438}"]); - diff --git a/JSTests/test262/test/staging/sm/RegExp/unicode-ignoreCase-ascii.js b/JSTests/test262/test/staging/sm/RegExp/unicode-ignoreCase-ascii.js index f1721c090f295..3e560d23364bc 100644 --- a/JSTests/test262/test/staging/sm/RegExp/unicode-ignoreCase-ascii.js +++ b/JSTests/test262/test/staging/sm/RegExp/unicode-ignoreCase-ascii.js @@ -2,19 +2,13 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, compareArray.js] -flags: - - noStrict +includes: [compareArray.js] description: | - pending + Implement RegExp unicode flag -- ignoreCase flag with non-ascii to ascii map. +info: bugzilla.mozilla.org/show_bug.cgi?id=1135377 esid: pending ---*/ -var BUGNUMBER = 1135377; -var summary = "Implement RegExp unicode flag -- ignoreCase flag with non-ascii to ascii map."; - -print(BUGNUMBER + ": " + summary); - // LATIN CAPITAL LETTER Y WITH DIAERESIS assert.compareArray(/\u0178/iu.exec("\u00FF"), ["\u00FF"]); @@ -52,4 +46,3 @@ assert.compareArray(/\u212B/iu.exec("\u00E5"), ["\u00E5"]); assert.compareArray(/\u00E5/iu.exec("\u212B"), ["\u212B"]); - diff --git a/JSTests/test262/test/staging/sm/RegExp/unicode-ignoreCase-escape.js b/JSTests/test262/test/staging/sm/RegExp/unicode-ignoreCase-escape.js index e584be15e9b30..c4396c498dc77 100644 --- a/JSTests/test262/test/staging/sm/RegExp/unicode-ignoreCase-escape.js +++ b/JSTests/test262/test/staging/sm/RegExp/unicode-ignoreCase-escape.js @@ -2,23 +2,17 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, compareArray.js] -flags: - - noStrict +includes: [compareArray.js] description: | - pending + Implement RegExp unicode flag -- ignoreCase flag with character class escape. +info: bugzilla.mozilla.org/show_bug.cgi?id=1135377 esid: pending ---*/ -var BUGNUMBER = 1135377; -var summary = "Implement RegExp unicode flag -- ignoreCase flag with character class escape."; - // \W doesn't match S or K from the change in // https://github.com/tc39/ecma262/pull/525 // (bug 1281739) -print(BUGNUMBER + ": " + summary); - // LATIN SMALL LETTER LONG S assert.compareArray(/\w/iu.exec("S"), @@ -78,4 +72,3 @@ assert.sameValue(/[^\w]/iu.exec("k"), null); assert.sameValue(/[^\w]/iu.exec("\u212A"), null); - diff --git a/JSTests/test262/test/staging/sm/RegExp/unicode-ignoreCase-negated.js b/JSTests/test262/test/staging/sm/RegExp/unicode-ignoreCase-negated.js index b230269234360..8607ec39d752d 100644 --- a/JSTests/test262/test/staging/sm/RegExp/unicode-ignoreCase-negated.js +++ b/JSTests/test262/test/staging/sm/RegExp/unicode-ignoreCase-negated.js @@ -2,17 +2,12 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, compareArray.js] -flags: - - noStrict +includes: [compareArray.js] description: | - pending + Implement RegExp unicode flag -- ignoreCase flag with negated character class. +info: bugzilla.mozilla.org/show_bug.cgi?id=1135377 esid: pending ---*/ -var BUGNUMBER = 1135377; -var summary = "Implement RegExp unicode flag -- ignoreCase flag with negated character class."; - -print(BUGNUMBER + ": " + summary); assert.sameValue(/[^A]/iu.exec("A"), null); @@ -25,4 +20,3 @@ assert.sameValue(/[^a]/iu.exec("a"), assert.compareArray(/[^A]/iu.exec("b"), ["b"]); - diff --git a/JSTests/test262/test/staging/sm/RegExp/unicode-ignoreCase-word-boundary.js b/JSTests/test262/test/staging/sm/RegExp/unicode-ignoreCase-word-boundary.js index 67c570bbdfd16..17604b4d22c5a 100644 --- a/JSTests/test262/test/staging/sm/RegExp/unicode-ignoreCase-word-boundary.js +++ b/JSTests/test262/test/staging/sm/RegExp/unicode-ignoreCase-word-boundary.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/RegExp/unicode-ignoreCase.js b/JSTests/test262/test/staging/sm/RegExp/unicode-ignoreCase.js index 56075acb97427..d673d30ee9e73 100644 --- a/JSTests/test262/test/staging/sm/RegExp/unicode-ignoreCase.js +++ b/JSTests/test262/test/staging/sm/RegExp/unicode-ignoreCase.js @@ -4,22 +4,16 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js, compareArray.js] -flags: - - noStrict +includes: [compareArray.js] description: | - pending + Implement RegExp unicode flag -- ignoreCase flag. +info: bugzilla.mozilla.org/show_bug.cgi?id=1135377 esid: pending ---*/ /* Generated by make_unicode.py DO NOT MODIFY */ /* Unicode version: 16.0.0 */ -var BUGNUMBER = 1135377; -var summary = "Implement RegExp unicode flag -- ignoreCase flag."; - -print(BUGNUMBER + ": " + summary); - function test(code, ...equivs) { var codeRe = new RegExp(String.fromCodePoint(code) + "+", "iu"); var ans = String.fromCodePoint(code) + equivs.map(c => String.fromCodePoint(c)).join(""); @@ -2965,4 +2959,3 @@ test(0x1E940, 0x1E91E); // ADLAM SMALL LETTER GBE, ADLAM CAPITAL LETTER GBE test(0x1E941, 0x1E91F); // ADLAM SMALL LETTER ZAL, ADLAM CAPITAL LETTER ZAL test(0x1E942, 0x1E920); // ADLAM SMALL LETTER KPO, ADLAM CAPITAL LETTER KPO test(0x1E943, 0x1E921); // ADLAM SMALL LETTER SHA, ADLAM CAPITAL LETTER SHA - diff --git a/JSTests/test262/test/staging/sm/RegExp/unicode-lead-trail.js b/JSTests/test262/test/staging/sm/RegExp/unicode-lead-trail.js index 3e9b7afc56f88..6341640266480 100644 --- a/JSTests/test262/test/staging/sm/RegExp/unicode-lead-trail.js +++ b/JSTests/test262/test/staging/sm/RegExp/unicode-lead-trail.js @@ -2,17 +2,12 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, compareArray.js] -flags: - - noStrict +includes: [compareArray.js] description: | - pending + Implement RegExp unicode flag -- lead and trail patterns in RegExpUnicodeEscapeSequence. +info: bugzilla.mozilla.org/show_bug.cgi?id=1135377 esid: pending ---*/ -var BUGNUMBER = 1135377; -var summary = "Implement RegExp unicode flag -- lead and trail patterns in RegExpUnicodeEscapeSequence."; - -print(BUGNUMBER + ": " + summary); // ==== standalone ==== @@ -212,16 +207,15 @@ assert.compareArray(/\uD83DA*/u.exec("\uD83DAA"), // ==== wrong patterns ==== -assertThrowsInstanceOf(() => eval(`/\\u/u`), SyntaxError); -assertThrowsInstanceOf(() => eval(`/\\u0/u`), SyntaxError); -assertThrowsInstanceOf(() => eval(`/\\u00/u`), SyntaxError); -assertThrowsInstanceOf(() => eval(`/\\u000/u`), SyntaxError); -assertThrowsInstanceOf(() => eval(`/\\u000G/u`), SyntaxError); -assertThrowsInstanceOf(() => eval(`/\\u0.00/u`), SyntaxError); -assertThrowsInstanceOf(() => eval(`/\\uD83D\\u/u`), SyntaxError); -assertThrowsInstanceOf(() => eval(`/\\uD83D\\u0/u`), SyntaxError); -assertThrowsInstanceOf(() => eval(`/\\uD83D\\u00/u`), SyntaxError); -assertThrowsInstanceOf(() => eval(`/\\uD83D\\u000/u`), SyntaxError); -assertThrowsInstanceOf(() => eval(`/\\uD83D\\u000G/u`), SyntaxError); -assertThrowsInstanceOf(() => eval(`/\\uD83D\\u0.00/u`), SyntaxError); - +assert.throws(SyntaxError, () => eval(`/\\u/u`)); +assert.throws(SyntaxError, () => eval(`/\\u0/u`)); +assert.throws(SyntaxError, () => eval(`/\\u00/u`)); +assert.throws(SyntaxError, () => eval(`/\\u000/u`)); +assert.throws(SyntaxError, () => eval(`/\\u000G/u`)); +assert.throws(SyntaxError, () => eval(`/\\u0.00/u`)); +assert.throws(SyntaxError, () => eval(`/\\uD83D\\u/u`)); +assert.throws(SyntaxError, () => eval(`/\\uD83D\\u0/u`)); +assert.throws(SyntaxError, () => eval(`/\\uD83D\\u00/u`)); +assert.throws(SyntaxError, () => eval(`/\\uD83D\\u000/u`)); +assert.throws(SyntaxError, () => eval(`/\\uD83D\\u000G/u`)); +assert.throws(SyntaxError, () => eval(`/\\uD83D\\u0.00/u`)); diff --git a/JSTests/test262/test/staging/sm/RegExp/unicode-raw.js b/JSTests/test262/test/staging/sm/RegExp/unicode-raw.js index ee89a7f4bbb04..ea23d1c8428b4 100644 --- a/JSTests/test262/test/staging/sm/RegExp/unicode-raw.js +++ b/JSTests/test262/test/staging/sm/RegExp/unicode-raw.js @@ -2,17 +2,12 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, compareArray.js] -flags: - - noStrict +includes: [compareArray.js] description: | - pending + Implement RegExp unicode flag -- raw unicode. +info: bugzilla.mozilla.org/show_bug.cgi?id=1135377 esid: pending ---*/ -var BUGNUMBER = 1135377; -var summary = "Implement RegExp unicode flag -- raw unicode."; - -print(BUGNUMBER + ": " + summary); // ==== standalone ==== @@ -145,4 +140,3 @@ assert.sameValue(new RegExp("\uD83D\uDC38?", "").exec(""), assert.compareArray(new RegExp("\uD83D\uDC38?", "").exec("\uD83D"), ["\uD83D"]); - diff --git a/JSTests/test262/test/staging/sm/Set/difference.js b/JSTests/test262/test/staging/sm/Set/difference.js index bc636cb1f49d5..fea5bb38d7bf7 100644 --- a/JSTests/test262/test/staging/sm/Set/difference.js +++ b/JSTests/test262/test/staging/sm/Set/difference.js @@ -2,19 +2,17 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-Set-shell.js, deepEqual.js, compareArray.js] -flags: - - noStrict +includes: [sm/non262-Set-shell.js, compareArray.js, propertyHelper.js] description: | pending esid: pending ---*/ assert.sameValue(typeof Set.prototype.difference, "function"); -assert.deepEqual(Object.getOwnPropertyDescriptor(Set.prototype.difference, "length"), { +verifyProperty(Set.prototype.difference, "length", { value: 1, writable: false, enumerable: false, configurable: true, }); -assert.deepEqual(Object.getOwnPropertyDescriptor(Set.prototype.difference, "name"), { +verifyProperty(Set.prototype.difference, "name", { value: "difference", writable: false, enumerable: false, configurable: true, }); @@ -160,7 +158,7 @@ for (let values of [ ]); log.length = 0; - assertThrowsInstanceOf(() => new Set([1]).difference(setLike), TypeError); + assert.throws(TypeError, () => new Set([1]).difference(setLike)); assert.compareArray(log, [ "[[get]]", "size", @@ -185,7 +183,7 @@ for (let values of [ ]); log.length = 0; - assertThrowsInstanceOf(() => new Set([1]).difference(setLike), TypeError); + assert.throws(TypeError, () => new Set([1]).difference(setLike)); assert.compareArray(log, [ "[[get]]", "size", @@ -198,7 +196,7 @@ for (let values of [ setLikeObj.keys = nonCallable; log.length = 0; - assertThrowsInstanceOf(() => emptySet.difference(setLike), TypeError); + assert.throws(TypeError, () => emptySet.difference(setLike)); assert.compareArray(log, [ "[[get]]", "size", @@ -211,7 +209,7 @@ for (let values of [ setLikeObj.has = nonCallable; log.length = 0; - assertThrowsInstanceOf(() => emptySet.difference(setLike), TypeError); + assert.throws(TypeError, () => emptySet.difference(setLike)); assert.compareArray(log, [ "[[get]]", "size", @@ -223,7 +221,7 @@ for (let values of [ sizeValue = NaN; log.length = 0; - assertThrowsInstanceOf(() => emptySet.difference(setLike), TypeError); + assert.throws(TypeError, () => emptySet.difference(setLike)); assert.compareArray(log, [ "[[get]]", "size", @@ -234,7 +232,7 @@ for (let values of [ sizeValue = undefined; log.length = 0; - assertThrowsInstanceOf(() => emptySet.difference(setLike), TypeError); + assert.throws(TypeError, () => emptySet.difference(setLike)); assert.compareArray(log, [ "[[get]]", "size", @@ -243,7 +241,7 @@ for (let values of [ } // Doesn't accept Array as an input. -assertThrowsInstanceOf(() => emptySet.difference([]), TypeError); +assert.throws(TypeError, () => emptySet.difference([])); // Works with Set subclasses. { @@ -274,7 +272,7 @@ assertThrowsInstanceOf(() => emptySet.difference([]), TypeError); for (let thisValue of [ null, undefined, true, "", {}, new Map, new Proxy(new Set, {}), ]) { - assertThrowsInstanceOf(() => Set.prototype.difference.call(thisValue, emptySet), TypeError); + assert.throws(TypeError, () => Set.prototype.difference.call(thisValue, emptySet)); } // Doesn't return the original Set object. diff --git a/JSTests/test262/test/staging/sm/Set/intersection.js b/JSTests/test262/test/staging/sm/Set/intersection.js index 1c25a42db1711..759e466674aa0 100644 --- a/JSTests/test262/test/staging/sm/Set/intersection.js +++ b/JSTests/test262/test/staging/sm/Set/intersection.js @@ -2,19 +2,17 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-Set-shell.js, deepEqual.js, compareArray.js] -flags: - - noStrict +includes: [sm/non262-Set-shell.js, compareArray.js, propertyHelper.js] description: | pending esid: pending ---*/ assert.sameValue(typeof Set.prototype.intersection, "function"); -assert.deepEqual(Object.getOwnPropertyDescriptor(Set.prototype.intersection, "length"), { +verifyProperty(Set.prototype.intersection, "length", { value: 1, writable: false, enumerable: false, configurable: true, }); -assert.deepEqual(Object.getOwnPropertyDescriptor(Set.prototype.intersection, "name"), { +verifyProperty(Set.prototype.intersection, "name", { value: "intersection", writable: false, enumerable: false, configurable: true, }); @@ -160,7 +158,7 @@ for (let values of [ ]); log.length = 0; - assertThrowsInstanceOf(() => new Set([1]).intersection(setLike), TypeError); + assert.throws(TypeError, () => new Set([1]).intersection(setLike)); assert.compareArray(log, [ "[[get]]", "size", @@ -185,7 +183,7 @@ for (let values of [ ]); log.length = 0; - assertThrowsInstanceOf(() => new Set([1]).intersection(setLike), TypeError); + assert.throws(TypeError, () => new Set([1]).intersection(setLike)); assert.compareArray(log, [ "[[get]]", "size", @@ -198,7 +196,7 @@ for (let values of [ setLikeObj.keys = nonCallable; log.length = 0; - assertThrowsInstanceOf(() => emptySet.intersection(setLike), TypeError); + assert.throws(TypeError, () => emptySet.intersection(setLike)); assert.compareArray(log, [ "[[get]]", "size", @@ -211,7 +209,7 @@ for (let values of [ setLikeObj.has = nonCallable; log.length = 0; - assertThrowsInstanceOf(() => emptySet.intersection(setLike), TypeError); + assert.throws(TypeError, () => emptySet.intersection(setLike)); assert.compareArray(log, [ "[[get]]", "size", @@ -223,7 +221,7 @@ for (let values of [ sizeValue = NaN; log.length = 0; - assertThrowsInstanceOf(() => emptySet.intersection(setLike), TypeError); + assert.throws(TypeError, () => emptySet.intersection(setLike)); assert.compareArray(log, [ "[[get]]", "size", @@ -234,7 +232,7 @@ for (let values of [ sizeValue = undefined; log.length = 0; - assertThrowsInstanceOf(() => emptySet.intersection(setLike), TypeError); + assert.throws(TypeError, () => emptySet.intersection(setLike)); assert.compareArray(log, [ "[[get]]", "size", @@ -243,7 +241,7 @@ for (let values of [ } // Doesn't accept Array as an input. -assertThrowsInstanceOf(() => emptySet.intersection([]), TypeError); +assert.throws(TypeError, () => emptySet.intersection([])); // Works with Set subclasses. { @@ -274,7 +272,7 @@ assertThrowsInstanceOf(() => emptySet.intersection([]), TypeError); for (let thisValue of [ null, undefined, true, "", {}, new Map, new Proxy(new Set, {}), ]) { - assertThrowsInstanceOf(() => Set.prototype.intersection.call(thisValue, emptySet), TypeError); + assert.throws(TypeError, () => Set.prototype.intersection.call(thisValue, emptySet)); } // Doesn't return the original Set object. diff --git a/JSTests/test262/test/staging/sm/Set/is-disjoint-from.js b/JSTests/test262/test/staging/sm/Set/is-disjoint-from.js index b0fb60a2c54c3..65a502be68b55 100644 --- a/JSTests/test262/test/staging/sm/Set/is-disjoint-from.js +++ b/JSTests/test262/test/staging/sm/Set/is-disjoint-from.js @@ -2,19 +2,17 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-Set-shell.js, deepEqual.js, compareArray.js] -flags: - - noStrict +includes: [sm/non262-Set-shell.js, compareArray.js, propertyHelper.js] description: | pending esid: pending ---*/ assert.sameValue(typeof Set.prototype.isDisjointFrom, "function"); -assert.deepEqual(Object.getOwnPropertyDescriptor(Set.prototype.isDisjointFrom, "length"), { +verifyProperty(Set.prototype.isDisjointFrom, "length", { value: 1, writable: false, enumerable: false, configurable: true, }); -assert.deepEqual(Object.getOwnPropertyDescriptor(Set.prototype.isDisjointFrom, "name"), { +verifyProperty(Set.prototype.isDisjointFrom, "name", { value: "isDisjointFrom", writable: false, enumerable: false, configurable: true, }); @@ -145,7 +143,7 @@ for (let values of [ ]); log.length = 0; - assertThrowsInstanceOf(() => new Set([1]).isDisjointFrom(setLike), TypeError); + assert.throws(TypeError, () => new Set([1]).isDisjointFrom(setLike)); assert.compareArray(log, [ "[[get]]", "size", @@ -170,7 +168,7 @@ for (let values of [ ]); log.length = 0; - assertThrowsInstanceOf(() => new Set([1]).isDisjointFrom(setLike), TypeError); + assert.throws(TypeError, () => new Set([1]).isDisjointFrom(setLike)); assert.compareArray(log, [ "[[get]]", "size", @@ -183,7 +181,7 @@ for (let values of [ setLikeObj.keys = nonCallable; log.length = 0; - assertThrowsInstanceOf(() => emptySet.isDisjointFrom(setLike), TypeError); + assert.throws(TypeError, () => emptySet.isDisjointFrom(setLike)); assert.compareArray(log, [ "[[get]]", "size", @@ -196,7 +194,7 @@ for (let values of [ setLikeObj.has = nonCallable; log.length = 0; - assertThrowsInstanceOf(() => emptySet.isDisjointFrom(setLike), TypeError); + assert.throws(TypeError, () => emptySet.isDisjointFrom(setLike)); assert.compareArray(log, [ "[[get]]", "size", @@ -208,7 +206,7 @@ for (let values of [ sizeValue = NaN; log.length = 0; - assertThrowsInstanceOf(() => emptySet.isDisjointFrom(setLike), TypeError); + assert.throws(TypeError, () => emptySet.isDisjointFrom(setLike)); assert.compareArray(log, [ "[[get]]", "size", @@ -219,7 +217,7 @@ for (let values of [ sizeValue = undefined; log.length = 0; - assertThrowsInstanceOf(() => emptySet.isDisjointFrom(setLike), TypeError); + assert.throws(TypeError, () => emptySet.isDisjointFrom(setLike)); assert.compareArray(log, [ "[[get]]", "size", @@ -228,7 +226,7 @@ for (let values of [ } // Doesn't accept Array as an input. -assertThrowsInstanceOf(() => emptySet.isDisjointFrom([]), TypeError); +assert.throws(TypeError, () => emptySet.isDisjointFrom([])); // Works with Set subclasses. { @@ -259,7 +257,7 @@ assertThrowsInstanceOf(() => emptySet.isDisjointFrom([]), TypeError); for (let thisValue of [ null, undefined, true, "", {}, new Map, new Proxy(new Set, {}), ]) { - assertThrowsInstanceOf(() => Set.prototype.isDisjointFrom.call(thisValue, emptySet), TypeError); + assert.throws(TypeError, () => Set.prototype.isDisjointFrom.call(thisValue, emptySet)); } // Calls |has| when the this-value has fewer keys. diff --git a/JSTests/test262/test/staging/sm/Set/is-subset-of.js b/JSTests/test262/test/staging/sm/Set/is-subset-of.js index b975507e0343d..4f565a8c51cf1 100644 --- a/JSTests/test262/test/staging/sm/Set/is-subset-of.js +++ b/JSTests/test262/test/staging/sm/Set/is-subset-of.js @@ -2,19 +2,17 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-Set-shell.js, deepEqual.js, compareArray.js] -flags: - - noStrict +includes: [sm/non262-Set-shell.js, compareArray.js, propertyHelper.js] description: | pending esid: pending ---*/ assert.sameValue(typeof Set.prototype.isSubsetOf, "function"); -assert.deepEqual(Object.getOwnPropertyDescriptor(Set.prototype.isSubsetOf, "length"), { +verifyProperty(Set.prototype.isSubsetOf, "length", { value: 1, writable: false, enumerable: false, configurable: true, }); -assert.deepEqual(Object.getOwnPropertyDescriptor(Set.prototype.isSubsetOf, "name"), { +verifyProperty(Set.prototype.isSubsetOf, "name", { value: "isSubsetOf", writable: false, enumerable: false, configurable: true, }); @@ -118,7 +116,7 @@ for (let values of [ setLikeObj.keys = nonCallable; log.length = 0; - assertThrowsInstanceOf(() => emptySet.isSubsetOf(setLike), TypeError); + assert.throws(TypeError, () => emptySet.isSubsetOf(setLike)); assert.compareArray(log, [ "[[get]]", "size", @@ -131,7 +129,7 @@ for (let values of [ setLikeObj.has = nonCallable; log.length = 0; - assertThrowsInstanceOf(() => emptySet.isSubsetOf(setLike), TypeError); + assert.throws(TypeError, () => emptySet.isSubsetOf(setLike)); assert.compareArray(log, [ "[[get]]", "size", @@ -143,7 +141,7 @@ for (let values of [ sizeValue = NaN; log.length = 0; - assertThrowsInstanceOf(() => emptySet.isSubsetOf(setLike), TypeError); + assert.throws(TypeError, () => emptySet.isSubsetOf(setLike)); assert.compareArray(log, [ "[[get]]", "size", @@ -154,7 +152,7 @@ for (let values of [ sizeValue = undefined; log.length = 0; - assertThrowsInstanceOf(() => emptySet.isSubsetOf(setLike), TypeError); + assert.throws(TypeError, () => emptySet.isSubsetOf(setLike)); assert.compareArray(log, [ "[[get]]", "size", @@ -163,7 +161,7 @@ for (let values of [ } // Doesn't accept Array as an input. -assertThrowsInstanceOf(() => emptySet.isSubsetOf([]), TypeError); +assert.throws(TypeError, () => emptySet.isSubsetOf([])); // Works with Set subclasses. { @@ -194,7 +192,7 @@ assertThrowsInstanceOf(() => emptySet.isSubsetOf([]), TypeError); for (let thisValue of [ null, undefined, true, "", {}, new Map, new Proxy(new Set, {}), ]) { - assertThrowsInstanceOf(() => Set.prototype.isSubsetOf.call(thisValue, emptySet), TypeError); + assert.throws(TypeError, () => Set.prototype.isSubsetOf.call(thisValue, emptySet)); } // Doesn't call |has| when this-value has more elements. diff --git a/JSTests/test262/test/staging/sm/Set/is-superset-of.js b/JSTests/test262/test/staging/sm/Set/is-superset-of.js index 6b44f61d9e291..139d9ac08eb6a 100644 --- a/JSTests/test262/test/staging/sm/Set/is-superset-of.js +++ b/JSTests/test262/test/staging/sm/Set/is-superset-of.js @@ -2,19 +2,17 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-Set-shell.js, deepEqual.js, compareArray.js] -flags: - - noStrict +includes: [sm/non262-Set-shell.js, compareArray.js, propertyHelper.js] description: | pending esid: pending ---*/ assert.sameValue(typeof Set.prototype.isSupersetOf, "function"); -assert.deepEqual(Object.getOwnPropertyDescriptor(Set.prototype.isSupersetOf, "length"), { +verifyProperty(Set.prototype.isSupersetOf, "length", { value: 1, writable: false, enumerable: false, configurable: true, }); -assert.deepEqual(Object.getOwnPropertyDescriptor(Set.prototype.isSupersetOf, "name"), { +verifyProperty(Set.prototype.isSupersetOf, "name", { value: "isSupersetOf", writable: false, enumerable: false, configurable: true, }); @@ -136,7 +134,7 @@ for (let values of [ }, log); log.length = 0; - assertThrowsInstanceOf(() => emptySet.isSupersetOf(setLike), TypeError); + assert.throws(TypeError, () => emptySet.isSupersetOf(setLike)); assert.compareArray(log, [ "[[get]]", "size", @@ -151,7 +149,7 @@ for (let values of [ setLikeObj.keys = () => 123; log.length = 0; - assertThrowsInstanceOf(() => emptySet.isSupersetOf(setLike), TypeError); + assert.throws(TypeError, () => emptySet.isSupersetOf(setLike)); assert.compareArray(log, [ "[[get]]", "size", @@ -164,7 +162,7 @@ for (let values of [ setLikeObj.keys = nonCallable; log.length = 0; - assertThrowsInstanceOf(() => emptySet.isSupersetOf(setLike), TypeError); + assert.throws(TypeError, () => emptySet.isSupersetOf(setLike)); assert.compareArray(log, [ "[[get]]", "size", @@ -177,7 +175,7 @@ for (let values of [ setLikeObj.has = nonCallable; log.length = 0; - assertThrowsInstanceOf(() => emptySet.isSupersetOf(setLike), TypeError); + assert.throws(TypeError, () => emptySet.isSupersetOf(setLike)); assert.compareArray(log, [ "[[get]]", "size", @@ -189,7 +187,7 @@ for (let values of [ sizeValue = NaN; log.length = 0; - assertThrowsInstanceOf(() => emptySet.isSupersetOf(setLike), TypeError); + assert.throws(TypeError, () => emptySet.isSupersetOf(setLike)); assert.compareArray(log, [ "[[get]]", "size", @@ -200,7 +198,7 @@ for (let values of [ sizeValue = undefined; log.length = 0; - assertThrowsInstanceOf(() => emptySet.isSupersetOf(setLike), TypeError); + assert.throws(TypeError, () => emptySet.isSupersetOf(setLike)); assert.compareArray(log, [ "[[get]]", "size", @@ -209,7 +207,7 @@ for (let values of [ } // Doesn't accept Array as an input. -assertThrowsInstanceOf(() => emptySet.isSupersetOf([]), TypeError); +assert.throws(TypeError, () => emptySet.isSupersetOf([])); // Works with Set subclasses. { @@ -240,7 +238,7 @@ assertThrowsInstanceOf(() => emptySet.isSupersetOf([]), TypeError); for (let thisValue of [ null, undefined, true, "", {}, new Map, new Proxy(new Set, {}), ]) { - assertThrowsInstanceOf(() => Set.prototype.isSupersetOf.call(thisValue, emptySet), TypeError); + assert.throws(TypeError, () => Set.prototype.isSupersetOf.call(thisValue, emptySet)); } // Doesn't call |has| nor |keys| when this-value has fewer elements. diff --git a/JSTests/test262/test/staging/sm/Set/symmetric-difference.js b/JSTests/test262/test/staging/sm/Set/symmetric-difference.js index 0b91d29023507..6fc5ca116da8b 100644 --- a/JSTests/test262/test/staging/sm/Set/symmetric-difference.js +++ b/JSTests/test262/test/staging/sm/Set/symmetric-difference.js @@ -2,19 +2,17 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-Set-shell.js, deepEqual.js, compareArray.js] -flags: - - noStrict +includes: [sm/non262-Set-shell.js, compareArray.js, propertyHelper.js] description: | pending esid: pending ---*/ assert.sameValue(typeof Set.prototype.symmetricDifference, "function"); -assert.deepEqual(Object.getOwnPropertyDescriptor(Set.prototype.symmetricDifference, "length"), { +verifyProperty(Set.prototype.symmetricDifference, "length", { value: 1, writable: false, enumerable: false, configurable: true, }); -assert.deepEqual(Object.getOwnPropertyDescriptor(Set.prototype.symmetricDifference, "name"), { +verifyProperty(Set.prototype.symmetricDifference, "name", { value: "symmetricDifference", writable: false, enumerable: false, configurable: true, }); @@ -123,7 +121,7 @@ for (let values of [ }, log); log.length = 0; - assertThrowsInstanceOf(() => emptySet.symmetricDifference(setLike), TypeError); + assert.throws(TypeError, () => emptySet.symmetricDifference(setLike)); assert.compareArray(log, [ "[[get]]", "size", @@ -138,7 +136,7 @@ for (let values of [ setLikeObj.keys = () => 123; log.length = 0; - assertThrowsInstanceOf(() => emptySet.symmetricDifference(setLike), TypeError); + assert.throws(TypeError, () => emptySet.symmetricDifference(setLike)); assert.compareArray(log, [ "[[get]]", "size", @@ -151,7 +149,7 @@ for (let values of [ setLikeObj.keys = nonCallable; log.length = 0; - assertThrowsInstanceOf(() => emptySet.symmetricDifference(setLike), TypeError); + assert.throws(TypeError, () => emptySet.symmetricDifference(setLike)); assert.compareArray(log, [ "[[get]]", "size", @@ -164,7 +162,7 @@ for (let values of [ setLikeObj.has = nonCallable; log.length = 0; - assertThrowsInstanceOf(() => emptySet.symmetricDifference(setLike), TypeError); + assert.throws(TypeError, () => emptySet.symmetricDifference(setLike)); assert.compareArray(log, [ "[[get]]", "size", @@ -176,7 +174,7 @@ for (let values of [ sizeValue = NaN; log.length = 0; - assertThrowsInstanceOf(() => emptySet.symmetricDifference(setLike), TypeError); + assert.throws(TypeError, () => emptySet.symmetricDifference(setLike)); assert.compareArray(log, [ "[[get]]", "size", @@ -187,7 +185,7 @@ for (let values of [ sizeValue = undefined; log.length = 0; - assertThrowsInstanceOf(() => emptySet.symmetricDifference(setLike), TypeError); + assert.throws(TypeError, () => emptySet.symmetricDifference(setLike)); assert.compareArray(log, [ "[[get]]", "size", @@ -196,7 +194,7 @@ for (let values of [ } // Doesn't accept Array as an input. -assertThrowsInstanceOf(() => emptySet.symmetricDifference([]), TypeError); +assert.throws(TypeError, () => emptySet.symmetricDifference([])); // Works with Set subclasses. { @@ -227,7 +225,7 @@ assertThrowsInstanceOf(() => emptySet.symmetricDifference([]), TypeError); for (let thisValue of [ null, undefined, true, "", {}, new Map, new Proxy(new Set, {}), ]) { - assertThrowsInstanceOf(() => Set.prototype.symmetricDifference.call(thisValue, emptySet), TypeError); + assert.throws(TypeError, () => Set.prototype.symmetricDifference.call(thisValue, emptySet)); } // Doesn't return the original Set object. diff --git a/JSTests/test262/test/staging/sm/Set/union.js b/JSTests/test262/test/staging/sm/Set/union.js index 33999bb41e5c1..d6214bc3937a7 100644 --- a/JSTests/test262/test/staging/sm/Set/union.js +++ b/JSTests/test262/test/staging/sm/Set/union.js @@ -2,19 +2,17 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-Set-shell.js, deepEqual.js, compareArray.js] -flags: - - noStrict +includes: [sm/non262-Set-shell.js, compareArray.js, propertyHelper.js] description: | pending esid: pending ---*/ assert.sameValue(typeof Set.prototype.union, "function"); -assert.deepEqual(Object.getOwnPropertyDescriptor(Set.prototype.union, "length"), { +verifyProperty(Set.prototype.union, "length", { value: 1, writable: false, enumerable: false, configurable: true, }); -assert.deepEqual(Object.getOwnPropertyDescriptor(Set.prototype.union, "name"), { +verifyProperty(Set.prototype.union, "name", { value: "union", writable: false, enumerable: false, configurable: true, }); @@ -123,7 +121,7 @@ for (let values of [ }, log); log.length = 0; - assertThrowsInstanceOf(() => emptySet.union(setLike), TypeError); + assert.throws(TypeError, () => emptySet.union(setLike)); assert.compareArray(log, [ "[[get]]", "size", @@ -138,7 +136,7 @@ for (let values of [ setLikeObj.keys = () => 123; log.length = 0; - assertThrowsInstanceOf(() => emptySet.union(setLike), TypeError); + assert.throws(TypeError, () => emptySet.union(setLike)); assert.compareArray(log, [ "[[get]]", "size", @@ -151,7 +149,7 @@ for (let values of [ setLikeObj.keys = nonCallable; log.length = 0; - assertThrowsInstanceOf(() => emptySet.union(setLike), TypeError); + assert.throws(TypeError, () => emptySet.union(setLike)); assert.compareArray(log, [ "[[get]]", "size", @@ -164,7 +162,7 @@ for (let values of [ setLikeObj.has = nonCallable; log.length = 0; - assertThrowsInstanceOf(() => emptySet.union(setLike), TypeError); + assert.throws(TypeError, () => emptySet.union(setLike)); assert.compareArray(log, [ "[[get]]", "size", @@ -176,7 +174,7 @@ for (let values of [ sizeValue = NaN; log.length = 0; - assertThrowsInstanceOf(() => emptySet.union(setLike), TypeError); + assert.throws(TypeError, () => emptySet.union(setLike)); assert.compareArray(log, [ "[[get]]", "size", @@ -187,7 +185,7 @@ for (let values of [ sizeValue = undefined; log.length = 0; - assertThrowsInstanceOf(() => emptySet.union(setLike), TypeError); + assert.throws(TypeError, () => emptySet.union(setLike)); assert.compareArray(log, [ "[[get]]", "size", @@ -196,7 +194,7 @@ for (let values of [ } // Doesn't accept Array as an input. -assertThrowsInstanceOf(() => emptySet.union([]), TypeError); +assert.throws(TypeError, () => emptySet.union([])); // Works with Set subclasses. { @@ -227,7 +225,7 @@ assertThrowsInstanceOf(() => emptySet.union([]), TypeError); for (let thisValue of [ null, undefined, true, "", {}, new Map, new Proxy(new Set, {}), ]) { - assertThrowsInstanceOf(() => Set.prototype.union.call(thisValue, emptySet), TypeError); + assert.throws(TypeError, () => Set.prototype.union.call(thisValue, emptySet)); } // Doesn't return the original Set object. diff --git a/JSTests/test262/test/staging/sm/String/15.5.4.11-01.js b/JSTests/test262/test/staging/sm/String/15.5.4.11-01.js index 6f377f7640443..659d86ebec4eb 100644 --- a/JSTests/test262/test/staging/sm/String/15.5.4.11-01.js +++ b/JSTests/test262/test/staging/sm/String/15.5.4.11-01.js @@ -4,21 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + String.prototype.replace with non-regexp searchValue +info: bugzilla.mozilla.org/show_bug.cgi?id=587366 esid: pending ---*/ -var BUGNUMBER = 587366; -var summary = "String.prototype.replace with non-regexp searchValue"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ /* * Check that regexp statics are preserved across the whole test. @@ -65,7 +55,3 @@ assert.sameValue(result, 'I once was lost but now am $1found$2.$3.'); /* Check RegExp statics haven't been mutated. */ for (var ident in before) assert.sameValue(RegExp[ident], before[ident]); - -/******************************************************************************/ - -print("All tests passed!"); diff --git a/JSTests/test262/test/staging/sm/String/15.5.4.7.js b/JSTests/test262/test/staging/sm/String/15.5.4.7.js index 9c2a1d5f3951d..dea7456f1a240 100644 --- a/JSTests/test262/test/staging/sm/String/15.5.4.7.js +++ b/JSTests/test262/test/staging/sm/String/15.5.4.7.js @@ -4,17 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + String.prototype.indexOf with empty searchString +info: bugzilla.mozilla.org/show_bug.cgi?id=612838 esid: pending ---*/ -var BUGNUMBER = 612838; -var summary = "String.prototype.indexOf with empty searchString"; - -print(BUGNUMBER + ": " + summary); assert.sameValue("123".indexOf("", -1), 0); assert.sameValue("123".indexOf("", 0), 0); @@ -22,5 +16,3 @@ assert.sameValue("123".indexOf("", 1), 1); assert.sameValue("123".indexOf("", 3), 3); assert.sameValue("123".indexOf("", 4), 3); assert.sameValue("123".indexOf("", 12345), 3); - -print("All tests passed!"); diff --git a/JSTests/test262/test/staging/sm/String/AdvanceStringIndex.js b/JSTests/test262/test/staging/sm/String/AdvanceStringIndex.js index a103e48ebae30..b474c0bee95b3 100644 --- a/JSTests/test262/test/staging/sm/String/AdvanceStringIndex.js +++ b/JSTests/test262/test/staging/sm/String/AdvanceStringIndex.js @@ -2,17 +2,12 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, compareArray.js] -flags: - - noStrict +includes: [compareArray.js] description: | - pending + Implement RegExp unicode flag -- AdvanceStringIndex in global match and replace. +info: bugzilla.mozilla.org/show_bug.cgi?id=1135377 esid: pending ---*/ -var BUGNUMBER = 1135377; -var summary = "Implement RegExp unicode flag -- AdvanceStringIndex in global match and replace."; - -print(BUGNUMBER + ": " + summary); // ==== String.prototype.match ==== @@ -49,4 +44,3 @@ assert.compareArray("\uD83D\uDC38\uD83D\uDC39X\uD83D\uDC3A".split(/\uDC38|X|/u), ["\uD83D\uDC38", "\uD83D\uDC39", "\uD83D\uDC3A"]); assert.compareArray("\uD83D\uDC38\uD83D\uDC39X\uD83D\uDC3A".split(/\uD83D\uDC38|X|/u), ["", "\uD83D\uDC39", "\uD83D\uDC3A"]); - diff --git a/JSTests/test262/test/staging/sm/String/IsRegExp.js b/JSTests/test262/test/staging/sm/String/IsRegExp.js index 0d9e60c2f79fc..ba3d473e069ca 100644 --- a/JSTests/test262/test/staging/sm/String/IsRegExp.js +++ b/JSTests/test262/test/staging/sm/String/IsRegExp.js @@ -2,32 +2,25 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + String.prototype.{startsWith,endsWith,includes} should call IsRegExp. +info: bugzilla.mozilla.org/show_bug.cgi?id=1054755 esid: pending ---*/ -var BUGNUMBER = 1054755; -var summary = 'String.prototype.{startsWith,endsWith,includes} should call IsRegExp.'; - -print(BUGNUMBER + ": " + summary); for (var method of ["startsWith", "endsWith", "includes"]) { for (var re of [/foo/, new RegExp()]) { - assertThrowsInstanceOf(() => "foo"[method](re), TypeError); + assert.throws(TypeError, () => "foo"[method](re)); re[Symbol.match] = false; "foo"[method](re); } for (var v1 of [true, 1, "bar", [], {}, Symbol.iterator]) { - assertThrowsInstanceOf(() => "foo"[method]({ [Symbol.match]: v1 }), TypeError); + assert.throws(TypeError, () => "foo"[method]({ [Symbol.match]: v1 })); } for (var v2 of [false, 0, undefined, ""]) { "foo"[method]({ [Symbol.match]: v2 }); } } - diff --git a/JSTests/test262/test/staging/sm/String/at.js b/JSTests/test262/test/staging/sm/String/at.js index d01fac7afeb89..06200c9a086b7 100644 --- a/JSTests/test262/test/staging/sm/String/at.js +++ b/JSTests/test262/test/staging/sm/String/at.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/String/codePointAt.js b/JSTests/test262/test/staging/sm/String/codePointAt.js index 72ba359a32c75..2849702c57ecc 100644 --- a/JSTests/test262/test/staging/sm/String/codePointAt.js +++ b/JSTests/test262/test/staging/sm/String/codePointAt.js @@ -2,17 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + String.prototype.codePointAt +info: bugzilla.mozilla.org/show_bug.cgi?id=918879 esid: pending ---*/ -var BUGNUMBER = 918879; -var summary = 'String.prototype.codePointAt'; - -print(BUGNUMBER + ": " + summary); // Tests taken from: // https://github.com/mathiasbynens/String.prototype.codePointAt/blob/master/tests/tests.js @@ -77,18 +71,17 @@ assert.sameValue('\uDF06abc'.codePointAt(null), 0xDF06); assert.sameValue('\uDF06abc'.codePointAt(undefined), 0xDF06); (function() { String.prototype.codePointAt.call(undefined); }, TypeError); -assertThrowsInstanceOf(function() { String.prototype.codePointAt.call(undefined, 4); }, TypeError); -assertThrowsInstanceOf(function() { String.prototype.codePointAt.call(null); }, TypeError); -assertThrowsInstanceOf(function() { String.prototype.codePointAt.call(null, 4); }, TypeError); +assert.throws(TypeError, function() { String.prototype.codePointAt.call(undefined, 4); }); +assert.throws(TypeError, function() { String.prototype.codePointAt.call(null); }); +assert.throws(TypeError, function() { String.prototype.codePointAt.call(null, 4); }); assert.sameValue(String.prototype.codePointAt.call(42, 0), 0x34); assert.sameValue(String.prototype.codePointAt.call(42, 1), 0x32); assert.sameValue(String.prototype.codePointAt.call({ 'toString': function() { return 'abc'; } }, 2), 0x63); -assertThrowsInstanceOf(function() { String.prototype.codePointAt.apply(undefined); }, TypeError); -assertThrowsInstanceOf(function() { String.prototype.codePointAt.apply(undefined, [4]); }, TypeError); -assertThrowsInstanceOf(function() { String.prototype.codePointAt.apply(null); }, TypeError); -assertThrowsInstanceOf(function() { String.prototype.codePointAt.apply(null, [4]); }, TypeError); +assert.throws(TypeError, function() { String.prototype.codePointAt.apply(undefined); }); +assert.throws(TypeError, function() { String.prototype.codePointAt.apply(undefined, [4]); }); +assert.throws(TypeError, function() { String.prototype.codePointAt.apply(null); }); +assert.throws(TypeError, function() { String.prototype.codePointAt.apply(null, [4]); }); assert.sameValue(String.prototype.codePointAt.apply(42, [0]), 0x34); assert.sameValue(String.prototype.codePointAt.apply(42, [1]), 0x32); assert.sameValue(String.prototype.codePointAt.apply({ 'toString': function() { return 'abc'; } }, [2]), 0x63); - diff --git a/JSTests/test262/test/staging/sm/String/defaultvalue.js b/JSTests/test262/test/staging/sm/String/defaultvalue.js index 5afb5f83dc863..962cc2f7b8cfd 100644 --- a/JSTests/test262/test/staging/sm/String/defaultvalue.js +++ b/JSTests/test262/test/staging/sm/String/defaultvalue.js @@ -4,22 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + [[DefaultValue]] behavior wrong for String with overridden valueOf/toString +info: bugzilla.mozilla.org/show_bug.cgi?id=645464 esid: pending ---*/ -var BUGNUMBER = 645464; -var summary = - "[[DefaultValue]] behavior wrong for String with overridden valueOf/toString"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ // equality @@ -168,7 +157,3 @@ function testInOperatorName() assert.sameValue(s3 in { "": 17 }, true); } testInOperatorName(); - -/******************************************************************************/ - -print("All tests passed!"); diff --git a/JSTests/test262/test/staging/sm/String/fromCodePoint.js b/JSTests/test262/test/staging/sm/String/fromCodePoint.js index e5d840f86579e..5006bc630f9fc 100644 --- a/JSTests/test262/test/staging/sm/String/fromCodePoint.js +++ b/JSTests/test262/test/staging/sm/String/fromCodePoint.js @@ -2,17 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + String.fromCodePoint +info: bugzilla.mozilla.org/show_bug.cgi?id=918879 esid: pending ---*/ -var BUGNUMBER = 918879; -var summary = 'String.fromCodePoint'; - -print(BUGNUMBER + ": " + summary); // Tests taken from: // https://github.com/mathiasbynens/String.fromCodePoint/blob/master/tests/tests.js @@ -31,17 +25,17 @@ assert.sameValue(String.fromCodePoint(0x61, 0x62, 0x1D307), 'ab\uD834\uDF07'); assert.sameValue(String.fromCodePoint(false), '\0'); assert.sameValue(String.fromCodePoint(null), '\0'); -assertThrowsInstanceOf(function() { String.fromCodePoint('_'); }, RangeError); -assertThrowsInstanceOf(function() { String.fromCodePoint('+Infinity'); }, RangeError); -assertThrowsInstanceOf(function() { String.fromCodePoint('-Infinity'); }, RangeError); -assertThrowsInstanceOf(function() { String.fromCodePoint(-1); }, RangeError); -assertThrowsInstanceOf(function() { String.fromCodePoint(0x10FFFF + 1); }, RangeError); -assertThrowsInstanceOf(function() { String.fromCodePoint(3.14); }, RangeError); -assertThrowsInstanceOf(function() { String.fromCodePoint(3e-2); }, RangeError); -assertThrowsInstanceOf(function() { String.fromCodePoint(Infinity); }, RangeError); -assertThrowsInstanceOf(function() { String.fromCodePoint(NaN); }, RangeError); -assertThrowsInstanceOf(function() { String.fromCodePoint(undefined); }, RangeError); -assertThrowsInstanceOf(function() { String.fromCodePoint({}); }, RangeError); +assert.throws(RangeError, function() { String.fromCodePoint('_'); }); +assert.throws(RangeError, function() { String.fromCodePoint('+Infinity'); }); +assert.throws(RangeError, function() { String.fromCodePoint('-Infinity'); }); +assert.throws(RangeError, function() { String.fromCodePoint(-1); }); +assert.throws(RangeError, function() { String.fromCodePoint(0x10FFFF + 1); }); +assert.throws(RangeError, function() { String.fromCodePoint(3.14); }); +assert.throws(RangeError, function() { String.fromCodePoint(3e-2); }); +assert.throws(RangeError, function() { String.fromCodePoint(Infinity); }); +assert.throws(RangeError, function() { String.fromCodePoint(NaN); }); +assert.throws(RangeError, function() { String.fromCodePoint(undefined); }); +assert.throws(RangeError, function() { String.fromCodePoint({}); }); var counter = Math.pow(2, 15) * 3 / 2; var result = []; @@ -67,4 +61,3 @@ assert.sameValue(String.fromCodePoint(0x31, 0x32, 0x33, 0x34), '1234'); assert.sameValue(String.fromCodePoint(0x31, 0x32, 0x33, 0x34, 0x35), '12345'); // str_fromCodePoint (many arguments, creates a malloc string) assert.sameValue(String.fromCodePoint(0x31, 0x32, 0x33, 0x34, 0x35, 0x36), '123456'); - diff --git a/JSTests/test262/test/staging/sm/String/internalUsage.js b/JSTests/test262/test/staging/sm/String/internalUsage.js index 68e8cd948f848..53311b6dbf51f 100644 --- a/JSTests/test262/test/staging/sm/String/internalUsage.js +++ b/JSTests/test262/test/staging/sm/String/internalUsage.js @@ -2,17 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Internal usage of split should not be affected by prototpe change +info: bugzilla.mozilla.org/show_bug.cgi?id=1268138 esid: pending ---*/ -var BUGNUMBER = 1268138; -var summary = 'Internal usage of split should not be affected by prototpe change'; - -print(BUGNUMBER + ": " + summary); function test() { var t = 24*60*60*1000; @@ -37,4 +31,3 @@ function test() { if (this.hasOwnProperty("Intl")) test(); - diff --git a/JSTests/test262/test/staging/sm/String/iterator_edge_cases.js b/JSTests/test262/test/staging/sm/String/iterator_edge_cases.js index 99e47009167e7..31a0e0cd2c035 100644 --- a/JSTests/test262/test/staging/sm/String/iterator_edge_cases.js +++ b/JSTests/test262/test/staging/sm/String/iterator_edge_cases.js @@ -2,20 +2,19 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, deepEqual.js] -flags: - - noStrict +includes: [deepEqual.js] description: | pending esid: pending ---*/ + // Test that we can't confuse %StringIteratorPrototype% for a // StringIterator object. function TestStringIteratorPrototypeConfusion() { var iter = ""[Symbol.iterator](); - assertThrowsInstanceOfWithMessage( - () => iter.next.call(Object.getPrototypeOf(iter)), + assert.throws( TypeError, + () => iter.next.call(Object.getPrototypeOf(iter)), "next method called on incompatible String Iterator"); } TestStringIteratorPrototypeConfusion(); @@ -24,10 +23,7 @@ TestStringIteratorPrototypeConfusion(); // cross-compartment iterator. function TestStringIteratorWrappers() { var iter = ""[Symbol.iterator](); - assert.deepEqual(iter.next.call(createNewGlobal().eval('"x"[Symbol.iterator]()')), + assert.deepEqual(iter.next.call($262.createRealm().global.eval('"x"[Symbol.iterator]()')), { value: "x", done: false }) } -if (typeof createNewGlobal === "function") { - TestStringIteratorWrappers(); -} - +TestStringIteratorWrappers(); diff --git a/JSTests/test262/test/staging/sm/String/match-GetMethod.js b/JSTests/test262/test/staging/sm/String/match-GetMethod.js index abd491c82a58e..07dc47ae88b95 100644 --- a/JSTests/test262/test/staging/sm/String/match-GetMethod.js +++ b/JSTests/test262/test/staging/sm/String/match-GetMethod.js @@ -2,17 +2,12 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, deepEqual.js] -flags: - - noStrict +includes: [deepEqual.js] description: | - pending + String.prototype.match should call GetMethod. +info: bugzilla.mozilla.org/show_bug.cgi?id=1290655 esid: pending ---*/ -var BUGNUMBER = 1290655; -var summary = "String.prototype.match should call GetMethod."; - -print(BUGNUMBER + ": " + summary); function create(value) { return { @@ -33,6 +28,5 @@ for (let v of [null, undefined]) { } for (let v of [1, true, Symbol.iterator, "", {}, []]) { - assertThrowsInstanceOf(() => "a-a".match(create(v)), TypeError); + assert.throws(TypeError, () => "a-a".match(create(v))); } - diff --git a/JSTests/test262/test/staging/sm/String/match-defines-match-elements.js b/JSTests/test262/test/staging/sm/String/match-defines-match-elements.js index 2ff7ae3a766c2..eecb2f38b98ce 100644 --- a/JSTests/test262/test/staging/sm/String/match-defines-match-elements.js +++ b/JSTests/test262/test/staging/sm/String/match-defines-match-elements.js @@ -4,23 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + String.prototype.match must define matches on the returned array, not set them +info: bugzilla.mozilla.org/show_bug.cgi?id=677820 esid: pending ---*/ -var BUGNUMBER = 677820; -var summary = - "String.prototype.match must define matches on the returned array, not set " + - "them"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ var called = false; function setterFunction(v) { called = true; } @@ -48,5 +36,3 @@ assert.sameValue(desc.configurable, false); assert.sameValue([][1], "getter"); assert.sameValue(called, false); - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/String/match-forward-lookahead.js b/JSTests/test262/test/staging/sm/String/match-forward-lookahead.js index 3a711d74fd3e1..96c619dfc28e4 100644 --- a/JSTests/test262/test/staging/sm/String/match-forward-lookahead.js +++ b/JSTests/test262/test/staging/sm/String/match-forward-lookahead.js @@ -4,29 +4,13 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + String.prototype.match behavior with zero-length matches involving forward lookahead +info: bugzilla.mozilla.org/show_bug.cgi?id=501739 esid: pending ---*/ -var BUGNUMBER = 501739; -var summary = - "String.prototype.match behavior with zero-length matches involving " + - "forward lookahead"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ var r = /(?=x)/g; var res = "aaaaaaaaaxaaaaaaaaax".match(r); assert.sameValue(res.length, 2); - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/String/match-throws-nonwritable-lastIndex-global.js b/JSTests/test262/test/staging/sm/String/match-throws-nonwritable-lastIndex-global.js index afd8a440889ff..b08b9f964796c 100644 --- a/JSTests/test262/test/staging/sm/String/match-throws-nonwritable-lastIndex-global.js +++ b/JSTests/test262/test/staging/sm/String/match-throws-nonwritable-lastIndex-global.js @@ -4,23 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + String.prototype.match should throw when called with a global RegExp whose .lastIndex is non-writable +info: bugzilla.mozilla.org/show_bug.cgi?id=501739 esid: pending ---*/ -var BUGNUMBER = 501739; -var summary = - "String.prototype.match should throw when called with a global RegExp " + - "whose .lastIndex is non-writable"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ var s = '0x2x4x6x8'; @@ -29,65 +17,33 @@ var s = '0x2x4x6x8'; var p1 = /x/g; Object.defineProperty(p1, "lastIndex", { writable: false }); -try -{ +assert.throws(TypeError, function() { s.match(p1); - throw "didn't throw"; -} -catch (e) -{ - assert.sameValue(e instanceof TypeError, true, - "should have thrown a TypeError, instead got: " + e); -} +}); // Second time with .lastIndex !== 0 var p2 = /x/g; Object.defineProperty(p2, "lastIndex", { writable: false, value: 3 }); -try -{ +assert.throws(TypeError, function() { s.match(p2); - throw "didn't throw"; -} -catch (e) -{ - assert.sameValue(e instanceof TypeError, true, - "should have thrown a TypeError, instead got: " + e); -} +}); // Third time with .lastIndex === 0, no matches var p3 = /q/g; Object.defineProperty(p3, "lastIndex", { writable: false }); -try -{ +assert.throws(TypeError, function() { s.match(p3); - throw "didn't throw"; -} -catch (e) -{ - assert.sameValue(e instanceof TypeError, true, - "should have thrown a TypeError, instead got: " + e); -} +}); // Fourth time with .lastIndex !== 0, no matches var p4 = /q/g; Object.defineProperty(p4, "lastIndex", { writable: false, value: 3 }); -try -{ +assert.throws(TypeError, function() { s.match(p4); - throw "didn't throw"; -} -catch (e) -{ - assert.sameValue(e instanceof TypeError, true, - "should have thrown a TypeError, instead got: " + e); -} - -/******************************************************************************/ - -print("Tests complete"); +}); diff --git a/JSTests/test262/test/staging/sm/String/match-updates-global-lastIndex.js b/JSTests/test262/test/staging/sm/String/match-updates-global-lastIndex.js index d0bc77dfd06fb..8d91ddf2c8a2e 100644 --- a/JSTests/test262/test/staging/sm/String/match-updates-global-lastIndex.js +++ b/JSTests/test262/test/staging/sm/String/match-updates-global-lastIndex.js @@ -4,23 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + String.prototype.match should zero the .lastIndex when called with a global RegExp +info: bugzilla.mozilla.org/show_bug.cgi?id=501739 esid: pending ---*/ -var BUGNUMBER = 501739; -var summary = - "String.prototype.match should zero the .lastIndex when called with a " + - "global RegExp"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ var s = '0x2x4x6x8'; var p = /x/g; @@ -30,7 +18,3 @@ var arr = s.match(p); assert.sameValue(arr.length, 4); arr.forEach(function(v) { assert.sameValue(v, "x"); }); assert.sameValue(p.lastIndex, 0); - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/String/match.js b/JSTests/test262/test/staging/sm/String/match.js index 2184c036c3809..bf36dc446499d 100644 --- a/JSTests/test262/test/staging/sm/String/match.js +++ b/JSTests/test262/test/staging/sm/String/match.js @@ -2,17 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Call RegExp.prototype[@@match] from String.prototype.match. +info: bugzilla.mozilla.org/show_bug.cgi?id=887016 esid: pending ---*/ -var BUGNUMBER = 887016; -var summary = "Call RegExp.prototype[@@match] from String.prototype.match."; - -print(BUGNUMBER + ": " + summary); var called = 0; var myRegExp = { @@ -37,4 +31,3 @@ assert.sameValue("abcAbcABC".match("abc"), 43); assert.sameValue(called, 1); RegExp.prototype[Symbol.match] = origMatch; - diff --git a/JSTests/test262/test/staging/sm/String/matchAll.js b/JSTests/test262/test/staging/sm/String/matchAll.js index 8263ebd3f7df7..3d7fb6a12818a 100644 --- a/JSTests/test262/test/staging/sm/String/matchAll.js +++ b/JSTests/test262/test/staging/sm/String/matchAll.js @@ -2,9 +2,7 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, compareArray.js] -flags: - - noStrict +includes: [compareArray.js] description: | pending esid: pending @@ -81,7 +79,7 @@ assertEqMatchResults("ababcca".matchAll("a"), matchResults("ababcca", /a/g)); // Cross-compartment tests. { - let otherGlobal = createNewGlobal(); + let otherGlobal = $262.createRealm().global; let iterator = otherGlobal.eval(`"ababcca".matchAll(/a/g)`); let expected = matchResults("ababcca", /a/g); diff --git a/JSTests/test262/test/staging/sm/String/normalize-form-non-atom.js b/JSTests/test262/test/staging/sm/String/normalize-form-non-atom.js index 31228023a707a..d8f76191e0116 100644 --- a/JSTests/test262/test/staging/sm/String/normalize-form-non-atom.js +++ b/JSTests/test262/test/staging/sm/String/normalize-form-non-atom.js @@ -2,17 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + String.prototype.normalize error when normalization form parameter is not an atom +info: bugzilla.mozilla.org/show_bug.cgi?id=1145326 esid: pending ---*/ -var BUGNUMBER = 1145326; -var summary = 'String.prototype.normalize error when normalization form parameter is not an atom'; - -print(BUGNUMBER + ": " + summary); function test() { assert.sameValue("abc".normalize("NFKC".split("").join("")), "abc"); @@ -24,4 +18,3 @@ if ("normalize" in String.prototype) { // String.prototype.normalize is not enabled in all builds. test(); } - diff --git a/JSTests/test262/test/staging/sm/String/normalize-generateddata-input.js b/JSTests/test262/test/staging/sm/String/normalize-generateddata-input.js deleted file mode 100644 index 7984934b5ce3e..0000000000000 --- a/JSTests/test262/test/staging/sm/String/normalize-generateddata-input.js +++ /dev/null @@ -1,19995 +0,0 @@ -// Copyright (C) 2024 Mozilla Corporation. All rights reserved. -// This code is governed by the BSD license found in the LICENSE file. - -/*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict -description: | - pending -esid: pending ----*/ -/* created from NormalizationTest-16.0.0.txt */ -/* Part0 # Specific cases */ -var tests_part0 = [ -{ source: [0x1E0A], NFC: [0x1E0A], NFD: [0x0044, 0x0307], NFKC: [0x1E0A], NFKD: [0x0044, 0x0307] }, -{ source: [0x1E0C], NFC: [0x1E0C], NFD: [0x0044, 0x0323], NFKC: [0x1E0C], NFKD: [0x0044, 0x0323] }, -{ source: [0x1E0A, 0x0323], NFC: [0x1E0C, 0x0307], NFD: [0x0044, 0x0323, 0x0307], NFKC: [0x1E0C, 0x0307], NFKD: [0x0044, 0x0323, 0x0307] }, -{ source: [0x1E0C, 0x0307], NFC: [0x1E0C, 0x0307], NFD: [0x0044, 0x0323, 0x0307], NFKC: [0x1E0C, 0x0307], NFKD: [0x0044, 0x0323, 0x0307] }, -{ source: [0x0044, 0x0307, 0x0323], NFC: [0x1E0C, 0x0307], NFD: [0x0044, 0x0323, 0x0307], NFKC: [0x1E0C, 0x0307], NFKD: [0x0044, 0x0323, 0x0307] }, -{ source: [0x0044, 0x0323, 0x0307], NFC: [0x1E0C, 0x0307], NFD: [0x0044, 0x0323, 0x0307], NFKC: [0x1E0C, 0x0307], NFKD: [0x0044, 0x0323, 0x0307] }, -{ source: [0x1E0A, 0x031B], NFC: [0x1E0A, 0x031B], NFD: [0x0044, 0x031B, 0x0307], NFKC: [0x1E0A, 0x031B], NFKD: [0x0044, 0x031B, 0x0307] }, -{ source: [0x1E0C, 0x031B], NFC: [0x1E0C, 0x031B], NFD: [0x0044, 0x031B, 0x0323], NFKC: [0x1E0C, 0x031B], NFKD: [0x0044, 0x031B, 0x0323] }, -{ source: [0x1E0A, 0x031B, 0x0323], NFC: [0x1E0C, 0x031B, 0x0307], NFD: [0x0044, 0x031B, 0x0323, 0x0307], NFKC: [0x1E0C, 0x031B, 0x0307], NFKD: [0x0044, 0x031B, 0x0323, 0x0307] }, -{ source: [0x1E0C, 0x031B, 0x0307], NFC: [0x1E0C, 0x031B, 0x0307], NFD: [0x0044, 0x031B, 0x0323, 0x0307], NFKC: [0x1E0C, 0x031B, 0x0307], NFKD: [0x0044, 0x031B, 0x0323, 0x0307] }, -{ source: [0x0044, 0x031B, 0x0307, 0x0323], NFC: [0x1E0C, 0x031B, 0x0307], NFD: [0x0044, 0x031B, 0x0323, 0x0307], NFKC: [0x1E0C, 0x031B, 0x0307], NFKD: [0x0044, 0x031B, 0x0323, 0x0307] }, -{ source: [0x0044, 0x031B, 0x0323, 0x0307], NFC: [0x1E0C, 0x031B, 0x0307], NFD: [0x0044, 0x031B, 0x0323, 0x0307], NFKC: [0x1E0C, 0x031B, 0x0307], NFKD: [0x0044, 0x031B, 0x0323, 0x0307] }, -{ source: [0x00C8], NFC: [0x00C8], NFD: [0x0045, 0x0300], NFKC: [0x00C8], NFKD: [0x0045, 0x0300] }, -{ source: [0x0112], NFC: [0x0112], NFD: [0x0045, 0x0304], NFKC: [0x0112], NFKD: [0x0045, 0x0304] }, -{ source: [0x0045, 0x0300], NFC: [0x00C8], NFD: [0x0045, 0x0300], NFKC: [0x00C8], NFKD: [0x0045, 0x0300] }, -{ source: [0x0045, 0x0304], NFC: [0x0112], NFD: [0x0045, 0x0304], NFKC: [0x0112], NFKD: [0x0045, 0x0304] }, -{ source: [0x1E14], NFC: [0x1E14], NFD: [0x0045, 0x0304, 0x0300], NFKC: [0x1E14], NFKD: [0x0045, 0x0304, 0x0300] }, -{ source: [0x0112, 0x0300], NFC: [0x1E14], NFD: [0x0045, 0x0304, 0x0300], NFKC: [0x1E14], NFKD: [0x0045, 0x0304, 0x0300] }, -{ source: [0x1E14, 0x0304], NFC: [0x1E14, 0x0304], NFD: [0x0045, 0x0304, 0x0300, 0x0304], NFKC: [0x1E14, 0x0304], NFKD: [0x0045, 0x0304, 0x0300, 0x0304] }, -{ source: [0x0045, 0x0304, 0x0300], NFC: [0x1E14], NFD: [0x0045, 0x0304, 0x0300], NFKC: [0x1E14], NFKD: [0x0045, 0x0304, 0x0300] }, -{ source: [0x0045, 0x0300, 0x0304], NFC: [0x00C8, 0x0304], NFD: [0x0045, 0x0300, 0x0304], NFKC: [0x00C8, 0x0304], NFKD: [0x0045, 0x0300, 0x0304] }, -{ source: [0x05B8, 0x05B9, 0x05B1, 0x0591, 0x05C3, 0x05B0, 0x05AC, 0x059F], NFC: [0x05B1, 0x05B8, 0x05B9, 0x0591, 0x05C3, 0x05B0, 0x05AC, 0x059F], NFD: [0x05B1, 0x05B8, 0x05B9, 0x0591, 0x05C3, 0x05B0, 0x05AC, 0x059F], NFKC: [0x05B1, 0x05B8, 0x05B9, 0x0591, 0x05C3, 0x05B0, 0x05AC, 0x059F], NFKD: [0x05B1, 0x05B8, 0x05B9, 0x0591, 0x05C3, 0x05B0, 0x05AC, 0x059F] }, -{ source: [0x0592, 0x05B7, 0x05BC, 0x05A5, 0x05B0, 0x05C0, 0x05C4, 0x05AD], NFC: [0x05B0, 0x05B7, 0x05BC, 0x05A5, 0x0592, 0x05C0, 0x05AD, 0x05C4], NFD: [0x05B0, 0x05B7, 0x05BC, 0x05A5, 0x0592, 0x05C0, 0x05AD, 0x05C4], NFKC: [0x05B0, 0x05B7, 0x05BC, 0x05A5, 0x0592, 0x05C0, 0x05AD, 0x05C4], NFKD: [0x05B0, 0x05B7, 0x05BC, 0x05A5, 0x0592, 0x05C0, 0x05AD, 0x05C4] }, -{ source: [0x1100, 0xAC00, 0x11A8], NFC: [0x1100, 0xAC01], NFD: [0x1100, 0x1100, 0x1161, 0x11A8], NFKC: [0x1100, 0xAC01], NFKD: [0x1100, 0x1100, 0x1161, 0x11A8] }, -{ source: [0x1100, 0xAC00, 0x11A8, 0x11A8], NFC: [0x1100, 0xAC01, 0x11A8], NFD: [0x1100, 0x1100, 0x1161, 0x11A8, 0x11A8], NFKC: [0x1100, 0xAC01, 0x11A8], NFKD: [0x1100, 0x1100, 0x1161, 0x11A8, 0x11A8] }, -{ source: [0x01C4, 0x0323], NFC: [0x01C4, 0x0323], NFD: [0x01C4, 0x0323], NFKC: [0x0044, 0x1E92, 0x030C], NFKD: [0x0044, 0x005A, 0x0323, 0x030C] }, -{ source: [0x01C5, 0x0323], NFC: [0x01C5, 0x0323], NFD: [0x01C5, 0x0323], NFKC: [0x0044, 0x1E93, 0x030C], NFKD: [0x0044, 0x007A, 0x0323, 0x030C] }, -{ source: [0x01C6, 0x0323], NFC: [0x01C6, 0x0323], NFD: [0x01C6, 0x0323], NFKC: [0x0064, 0x1E93, 0x030C], NFKD: [0x0064, 0x007A, 0x0323, 0x030C] }, -{ source: [0x0DDD, 0x0334], NFC: [0x0DDD, 0x0334], NFD: [0x0DD9, 0x0DCF, 0x0334, 0x0DCA], NFKC: [0x0DDD, 0x0334], NFKD: [0x0DD9, 0x0DCF, 0x0334, 0x0DCA] }, -{ source: [0x3304, 0x0334], NFC: [0x3304, 0x0334], NFD: [0x3304, 0x0334], NFKC: [0x30A4, 0x30CB, 0x30F3, 0x30B0, 0x0334], NFKD: [0x30A4, 0x30CB, 0x30F3, 0x30AF, 0x0334, 0x3099] }, -{ source: [0x3307, 0x0334], NFC: [0x3307, 0x0334], NFD: [0x3307, 0x0334], NFKC: [0x30A8, 0x30B9, 0x30AF, 0x30FC, 0x30C9, 0x0334], NFKD: [0x30A8, 0x30B9, 0x30AF, 0x30FC, 0x30C8, 0x0334, 0x3099] }, -{ source: [0x3310, 0x0334], NFC: [0x3310, 0x0334], NFD: [0x3310, 0x0334], NFKC: [0x30AE, 0x30AC, 0x0334], NFKD: [0x30AD, 0x3099, 0x30AB, 0x0334, 0x3099] }, -{ source: [0x331E, 0x0334], NFC: [0x331E, 0x0334], NFD: [0x331E, 0x0334], NFKC: [0x30B3, 0x30FC, 0x30DD, 0x0334], NFKD: [0x30B3, 0x30FC, 0x30DB, 0x0334, 0x309A] }, -{ source: [0x3321, 0x0334], NFC: [0x3321, 0x0334], NFD: [0x3321, 0x0334], NFKC: [0x30B7, 0x30EA, 0x30F3, 0x30B0, 0x0334], NFKD: [0x30B7, 0x30EA, 0x30F3, 0x30AF, 0x0334, 0x3099] }, -{ source: [0x3332, 0x0334], NFC: [0x3332, 0x0334], NFD: [0x3332, 0x0334], NFKC: [0x30D5, 0x30A1, 0x30E9, 0x30C3, 0x30C9, 0x0334], NFKD: [0x30D5, 0x30A1, 0x30E9, 0x30C3, 0x30C8, 0x0334, 0x3099] }, -{ source: [0x333B, 0x0334], NFC: [0x333B, 0x0334], NFD: [0x333B, 0x0334], NFKC: [0x30DA, 0x30FC, 0x30B8, 0x0334], NFKD: [0x30D8, 0x309A, 0x30FC, 0x30B7, 0x0334, 0x3099] }, -{ source: [0x3340, 0x0334], NFC: [0x3340, 0x0334], NFD: [0x3340, 0x0334], NFKC: [0x30DD, 0x30F3, 0x30C9, 0x0334], NFKD: [0x30DB, 0x309A, 0x30F3, 0x30C8, 0x0334, 0x3099] }, -{ source: [0x334B, 0x0334], NFC: [0x334B, 0x0334], NFD: [0x334B, 0x0334], NFKC: [0x30E1, 0x30AC, 0x0334], NFKD: [0x30E1, 0x30AB, 0x0334, 0x3099] }, -{ source: [0x334E, 0x0334], NFC: [0x334E, 0x0334], NFD: [0x334E, 0x0334], NFKC: [0x30E4, 0x30FC, 0x30C9, 0x0334], NFKD: [0x30E4, 0x30FC, 0x30C8, 0x0334, 0x3099] }, -{ source: [0xFEF5, 0x0656], NFC: [0xFEF5, 0x0656], NFD: [0xFEF5, 0x0656], NFKC: [0x0644, 0x0622, 0x0656], NFKD: [0x0644, 0x0627, 0x0656, 0x0653] }, -{ source: [0xFEF6, 0x0656], NFC: [0xFEF6, 0x0656], NFD: [0xFEF6, 0x0656], NFKC: [0x0644, 0x0622, 0x0656], NFKD: [0x0644, 0x0627, 0x0656, 0x0653] }, -{ source: [0xFEF7, 0x0656], NFC: [0xFEF7, 0x0656], NFD: [0xFEF7, 0x0656], NFKC: [0x0644, 0x0623, 0x0656], NFKD: [0x0644, 0x0627, 0x0656, 0x0654] }, -{ source: [0xFEF8, 0x0656], NFC: [0xFEF8, 0x0656], NFD: [0xFEF8, 0x0656], NFKC: [0x0644, 0x0623, 0x0656], NFKD: [0x0644, 0x0627, 0x0656, 0x0654] }, -{ source: [0xFEF9, 0x0334], NFC: [0xFEF9, 0x0334], NFD: [0xFEF9, 0x0334], NFKC: [0x0644, 0x0625, 0x0334], NFKD: [0x0644, 0x0627, 0x0334, 0x0655] }, -{ source: [0xFEFA, 0x0334], NFC: [0xFEFA, 0x0334], NFD: [0xFEFA, 0x0334], NFKC: [0x0644, 0x0625, 0x0334], NFKD: [0x0644, 0x0627, 0x0334, 0x0655] } -]; -/* Part1 # Character by character test */ -var tests_part1 = [ -{ source: [0x00A0], NFC: [0x00A0], NFD: [0x00A0], NFKC: [0x0020], NFKD: [0x0020] }, -{ source: [0x00A8], NFC: [0x00A8], NFD: [0x00A8], NFKC: [0x0020, 0x0308], NFKD: [0x0020, 0x0308] }, -{ source: [0x00AA], NFC: [0x00AA], NFD: [0x00AA], NFKC: [0x0061], NFKD: [0x0061] }, -{ source: [0x00AF], NFC: [0x00AF], NFD: [0x00AF], NFKC: [0x0020, 0x0304], NFKD: [0x0020, 0x0304] }, -{ source: [0x00B2], NFC: [0x00B2], NFD: [0x00B2], NFKC: [0x0032], NFKD: [0x0032] }, -{ source: [0x00B3], NFC: [0x00B3], NFD: [0x00B3], NFKC: [0x0033], NFKD: [0x0033] }, -{ source: [0x00B4], NFC: [0x00B4], NFD: [0x00B4], NFKC: [0x0020, 0x0301], NFKD: [0x0020, 0x0301] }, -{ source: [0x00B5], NFC: [0x00B5], NFD: [0x00B5], NFKC: [0x03BC], NFKD: [0x03BC] }, -{ source: [0x00B8], NFC: [0x00B8], NFD: [0x00B8], NFKC: [0x0020, 0x0327], NFKD: [0x0020, 0x0327] }, -{ source: [0x00B9], NFC: [0x00B9], NFD: [0x00B9], NFKC: [0x0031], NFKD: [0x0031] }, -{ source: [0x00BA], NFC: [0x00BA], NFD: [0x00BA], NFKC: [0x006F], NFKD: [0x006F] }, -{ source: [0x00BC], NFC: [0x00BC], NFD: [0x00BC], NFKC: [0x0031, 0x2044, 0x0034], NFKD: [0x0031, 0x2044, 0x0034] }, -{ source: [0x00BD], NFC: [0x00BD], NFD: [0x00BD], NFKC: [0x0031, 0x2044, 0x0032], NFKD: [0x0031, 0x2044, 0x0032] }, -{ source: [0x00BE], NFC: [0x00BE], NFD: [0x00BE], NFKC: [0x0033, 0x2044, 0x0034], NFKD: [0x0033, 0x2044, 0x0034] }, -{ source: [0x00C0], NFC: [0x00C0], NFD: [0x0041, 0x0300], NFKC: [0x00C0], NFKD: [0x0041, 0x0300] }, -{ source: [0x00C1], NFC: [0x00C1], NFD: [0x0041, 0x0301], NFKC: [0x00C1], NFKD: [0x0041, 0x0301] }, -{ source: [0x00C2], NFC: [0x00C2], NFD: [0x0041, 0x0302], NFKC: [0x00C2], NFKD: [0x0041, 0x0302] }, -{ source: [0x00C3], NFC: [0x00C3], NFD: [0x0041, 0x0303], NFKC: [0x00C3], NFKD: [0x0041, 0x0303] }, -{ source: [0x00C4], NFC: [0x00C4], NFD: [0x0041, 0x0308], NFKC: [0x00C4], NFKD: [0x0041, 0x0308] }, -{ source: [0x00C5], NFC: [0x00C5], NFD: [0x0041, 0x030A], NFKC: [0x00C5], NFKD: [0x0041, 0x030A] }, -{ source: [0x00C7], NFC: [0x00C7], NFD: [0x0043, 0x0327], NFKC: [0x00C7], NFKD: [0x0043, 0x0327] }, -{ source: [0x00C8], NFC: [0x00C8], NFD: [0x0045, 0x0300], NFKC: [0x00C8], NFKD: [0x0045, 0x0300] }, -{ source: [0x00C9], NFC: [0x00C9], NFD: [0x0045, 0x0301], NFKC: [0x00C9], NFKD: [0x0045, 0x0301] }, -{ source: [0x00CA], NFC: [0x00CA], NFD: [0x0045, 0x0302], NFKC: [0x00CA], NFKD: [0x0045, 0x0302] }, -{ source: [0x00CB], NFC: [0x00CB], NFD: [0x0045, 0x0308], NFKC: [0x00CB], NFKD: [0x0045, 0x0308] }, -{ source: [0x00CC], NFC: [0x00CC], NFD: [0x0049, 0x0300], NFKC: [0x00CC], NFKD: [0x0049, 0x0300] }, -{ source: [0x00CD], NFC: [0x00CD], NFD: [0x0049, 0x0301], NFKC: [0x00CD], NFKD: [0x0049, 0x0301] }, -{ source: [0x00CE], NFC: [0x00CE], NFD: [0x0049, 0x0302], NFKC: [0x00CE], NFKD: [0x0049, 0x0302] }, -{ source: [0x00CF], NFC: [0x00CF], NFD: [0x0049, 0x0308], NFKC: [0x00CF], NFKD: [0x0049, 0x0308] }, -{ source: [0x00D1], NFC: [0x00D1], NFD: [0x004E, 0x0303], NFKC: [0x00D1], NFKD: [0x004E, 0x0303] }, -{ source: [0x00D2], NFC: [0x00D2], NFD: [0x004F, 0x0300], NFKC: [0x00D2], NFKD: [0x004F, 0x0300] }, -{ source: [0x00D3], NFC: [0x00D3], NFD: [0x004F, 0x0301], NFKC: [0x00D3], NFKD: [0x004F, 0x0301] }, -{ source: [0x00D4], NFC: [0x00D4], NFD: [0x004F, 0x0302], NFKC: [0x00D4], NFKD: [0x004F, 0x0302] }, -{ source: [0x00D5], NFC: [0x00D5], NFD: [0x004F, 0x0303], NFKC: [0x00D5], NFKD: [0x004F, 0x0303] }, -{ source: [0x00D6], NFC: [0x00D6], NFD: [0x004F, 0x0308], NFKC: [0x00D6], NFKD: [0x004F, 0x0308] }, -{ source: [0x00D9], NFC: [0x00D9], NFD: [0x0055, 0x0300], NFKC: [0x00D9], NFKD: [0x0055, 0x0300] }, -{ source: [0x00DA], NFC: [0x00DA], NFD: [0x0055, 0x0301], NFKC: [0x00DA], NFKD: [0x0055, 0x0301] }, -{ source: [0x00DB], NFC: [0x00DB], NFD: [0x0055, 0x0302], NFKC: [0x00DB], NFKD: [0x0055, 0x0302] }, -{ source: [0x00DC], NFC: [0x00DC], NFD: [0x0055, 0x0308], NFKC: [0x00DC], NFKD: [0x0055, 0x0308] }, -{ source: [0x00DD], NFC: [0x00DD], NFD: [0x0059, 0x0301], NFKC: [0x00DD], NFKD: [0x0059, 0x0301] }, -{ source: [0x00E0], NFC: [0x00E0], NFD: [0x0061, 0x0300], NFKC: [0x00E0], NFKD: [0x0061, 0x0300] }, -{ source: [0x00E1], NFC: [0x00E1], NFD: [0x0061, 0x0301], NFKC: [0x00E1], NFKD: [0x0061, 0x0301] }, -{ source: [0x00E2], NFC: [0x00E2], NFD: [0x0061, 0x0302], NFKC: [0x00E2], NFKD: [0x0061, 0x0302] }, -{ source: [0x00E3], NFC: [0x00E3], NFD: [0x0061, 0x0303], NFKC: [0x00E3], NFKD: [0x0061, 0x0303] }, -{ source: [0x00E4], NFC: [0x00E4], NFD: [0x0061, 0x0308], NFKC: [0x00E4], NFKD: [0x0061, 0x0308] }, -{ source: [0x00E5], NFC: [0x00E5], NFD: [0x0061, 0x030A], NFKC: [0x00E5], NFKD: [0x0061, 0x030A] }, -{ source: [0x00E7], NFC: [0x00E7], NFD: [0x0063, 0x0327], NFKC: [0x00E7], NFKD: [0x0063, 0x0327] }, -{ source: [0x00E8], NFC: [0x00E8], NFD: [0x0065, 0x0300], NFKC: [0x00E8], NFKD: [0x0065, 0x0300] }, -{ source: [0x00E9], NFC: [0x00E9], NFD: [0x0065, 0x0301], NFKC: [0x00E9], NFKD: [0x0065, 0x0301] }, -{ source: [0x00EA], NFC: [0x00EA], NFD: [0x0065, 0x0302], NFKC: [0x00EA], NFKD: [0x0065, 0x0302] }, -{ source: [0x00EB], NFC: [0x00EB], NFD: [0x0065, 0x0308], NFKC: [0x00EB], NFKD: [0x0065, 0x0308] }, -{ source: [0x00EC], NFC: [0x00EC], NFD: [0x0069, 0x0300], NFKC: [0x00EC], NFKD: [0x0069, 0x0300] }, -{ source: [0x00ED], NFC: [0x00ED], NFD: [0x0069, 0x0301], NFKC: [0x00ED], NFKD: [0x0069, 0x0301] }, -{ source: [0x00EE], NFC: [0x00EE], NFD: [0x0069, 0x0302], NFKC: [0x00EE], NFKD: [0x0069, 0x0302] }, -{ source: [0x00EF], NFC: [0x00EF], NFD: [0x0069, 0x0308], NFKC: [0x00EF], NFKD: [0x0069, 0x0308] }, -{ source: [0x00F1], NFC: [0x00F1], NFD: [0x006E, 0x0303], NFKC: [0x00F1], NFKD: [0x006E, 0x0303] }, -{ source: [0x00F2], NFC: [0x00F2], NFD: [0x006F, 0x0300], NFKC: [0x00F2], NFKD: [0x006F, 0x0300] }, -{ source: [0x00F3], NFC: [0x00F3], NFD: [0x006F, 0x0301], NFKC: [0x00F3], NFKD: [0x006F, 0x0301] }, -{ source: [0x00F4], NFC: [0x00F4], NFD: [0x006F, 0x0302], NFKC: [0x00F4], NFKD: [0x006F, 0x0302] }, -{ source: [0x00F5], NFC: [0x00F5], NFD: [0x006F, 0x0303], NFKC: [0x00F5], NFKD: [0x006F, 0x0303] }, -{ source: [0x00F6], NFC: [0x00F6], NFD: [0x006F, 0x0308], NFKC: [0x00F6], NFKD: [0x006F, 0x0308] }, -{ source: [0x00F9], NFC: [0x00F9], NFD: [0x0075, 0x0300], NFKC: [0x00F9], NFKD: [0x0075, 0x0300] }, -{ source: [0x00FA], NFC: [0x00FA], NFD: [0x0075, 0x0301], NFKC: [0x00FA], NFKD: [0x0075, 0x0301] }, -{ source: [0x00FB], NFC: [0x00FB], NFD: [0x0075, 0x0302], NFKC: [0x00FB], NFKD: [0x0075, 0x0302] }, -{ source: [0x00FC], NFC: [0x00FC], NFD: [0x0075, 0x0308], NFKC: [0x00FC], NFKD: [0x0075, 0x0308] }, -{ source: [0x00FD], NFC: [0x00FD], NFD: [0x0079, 0x0301], NFKC: [0x00FD], NFKD: [0x0079, 0x0301] }, -{ source: [0x00FF], NFC: [0x00FF], NFD: [0x0079, 0x0308], NFKC: [0x00FF], NFKD: [0x0079, 0x0308] }, -{ source: [0x0100], NFC: [0x0100], NFD: [0x0041, 0x0304], NFKC: [0x0100], NFKD: [0x0041, 0x0304] }, -{ source: [0x0101], NFC: [0x0101], NFD: [0x0061, 0x0304], NFKC: [0x0101], NFKD: [0x0061, 0x0304] }, -{ source: [0x0102], NFC: [0x0102], NFD: [0x0041, 0x0306], NFKC: [0x0102], NFKD: [0x0041, 0x0306] }, -{ source: [0x0103], NFC: [0x0103], NFD: [0x0061, 0x0306], NFKC: [0x0103], NFKD: [0x0061, 0x0306] }, -{ source: [0x0104], NFC: [0x0104], NFD: [0x0041, 0x0328], NFKC: [0x0104], NFKD: [0x0041, 0x0328] }, -{ source: [0x0105], NFC: [0x0105], NFD: [0x0061, 0x0328], NFKC: [0x0105], NFKD: [0x0061, 0x0328] }, -{ source: [0x0106], NFC: [0x0106], NFD: [0x0043, 0x0301], NFKC: [0x0106], NFKD: [0x0043, 0x0301] }, -{ source: [0x0107], NFC: [0x0107], NFD: [0x0063, 0x0301], NFKC: [0x0107], NFKD: [0x0063, 0x0301] }, -{ source: [0x0108], NFC: [0x0108], NFD: [0x0043, 0x0302], NFKC: [0x0108], NFKD: [0x0043, 0x0302] }, -{ source: [0x0109], NFC: [0x0109], NFD: [0x0063, 0x0302], NFKC: [0x0109], NFKD: [0x0063, 0x0302] }, -{ source: [0x010A], NFC: [0x010A], NFD: [0x0043, 0x0307], NFKC: [0x010A], NFKD: [0x0043, 0x0307] }, -{ source: [0x010B], NFC: [0x010B], NFD: [0x0063, 0x0307], NFKC: [0x010B], NFKD: [0x0063, 0x0307] }, -{ source: [0x010C], NFC: [0x010C], NFD: [0x0043, 0x030C], NFKC: [0x010C], NFKD: [0x0043, 0x030C] }, -{ source: [0x010D], NFC: [0x010D], NFD: [0x0063, 0x030C], NFKC: [0x010D], NFKD: [0x0063, 0x030C] }, -{ source: [0x010E], NFC: [0x010E], NFD: [0x0044, 0x030C], NFKC: [0x010E], NFKD: [0x0044, 0x030C] }, -{ source: [0x010F], NFC: [0x010F], NFD: [0x0064, 0x030C], NFKC: [0x010F], NFKD: [0x0064, 0x030C] }, -{ source: [0x0112], NFC: [0x0112], NFD: [0x0045, 0x0304], NFKC: [0x0112], NFKD: [0x0045, 0x0304] }, -{ source: [0x0113], NFC: [0x0113], NFD: [0x0065, 0x0304], NFKC: [0x0113], NFKD: [0x0065, 0x0304] }, -{ source: [0x0114], NFC: [0x0114], NFD: [0x0045, 0x0306], NFKC: [0x0114], NFKD: [0x0045, 0x0306] }, -{ source: [0x0115], NFC: [0x0115], NFD: [0x0065, 0x0306], NFKC: [0x0115], NFKD: [0x0065, 0x0306] }, -{ source: [0x0116], NFC: [0x0116], NFD: [0x0045, 0x0307], NFKC: [0x0116], NFKD: [0x0045, 0x0307] }, -{ source: [0x0117], NFC: [0x0117], NFD: [0x0065, 0x0307], NFKC: [0x0117], NFKD: [0x0065, 0x0307] }, -{ source: [0x0118], NFC: [0x0118], NFD: [0x0045, 0x0328], NFKC: [0x0118], NFKD: [0x0045, 0x0328] }, -{ source: [0x0119], NFC: [0x0119], NFD: [0x0065, 0x0328], NFKC: [0x0119], NFKD: [0x0065, 0x0328] }, -{ source: [0x011A], NFC: [0x011A], NFD: [0x0045, 0x030C], NFKC: [0x011A], NFKD: [0x0045, 0x030C] }, -{ source: [0x011B], NFC: [0x011B], NFD: [0x0065, 0x030C], NFKC: [0x011B], NFKD: [0x0065, 0x030C] }, -{ source: [0x011C], NFC: [0x011C], NFD: [0x0047, 0x0302], NFKC: [0x011C], NFKD: [0x0047, 0x0302] }, -{ source: [0x011D], NFC: [0x011D], NFD: [0x0067, 0x0302], NFKC: [0x011D], NFKD: [0x0067, 0x0302] }, -{ source: [0x011E], NFC: [0x011E], NFD: [0x0047, 0x0306], NFKC: [0x011E], NFKD: [0x0047, 0x0306] }, -{ source: [0x011F], NFC: [0x011F], NFD: [0x0067, 0x0306], NFKC: [0x011F], NFKD: [0x0067, 0x0306] }, -{ source: [0x0120], NFC: [0x0120], NFD: [0x0047, 0x0307], NFKC: [0x0120], NFKD: [0x0047, 0x0307] }, -{ source: [0x0121], NFC: [0x0121], NFD: [0x0067, 0x0307], NFKC: [0x0121], NFKD: [0x0067, 0x0307] }, -{ source: [0x0122], NFC: [0x0122], NFD: [0x0047, 0x0327], NFKC: [0x0122], NFKD: [0x0047, 0x0327] }, -{ source: [0x0123], NFC: [0x0123], NFD: [0x0067, 0x0327], NFKC: [0x0123], NFKD: [0x0067, 0x0327] }, -{ source: [0x0124], NFC: [0x0124], NFD: [0x0048, 0x0302], NFKC: [0x0124], NFKD: [0x0048, 0x0302] }, -{ source: [0x0125], NFC: [0x0125], NFD: [0x0068, 0x0302], NFKC: [0x0125], NFKD: [0x0068, 0x0302] }, -{ source: [0x0128], NFC: [0x0128], NFD: [0x0049, 0x0303], NFKC: [0x0128], NFKD: [0x0049, 0x0303] }, -{ source: [0x0129], NFC: [0x0129], NFD: [0x0069, 0x0303], NFKC: [0x0129], NFKD: [0x0069, 0x0303] }, -{ source: [0x012A], NFC: [0x012A], NFD: [0x0049, 0x0304], NFKC: [0x012A], NFKD: [0x0049, 0x0304] }, -{ source: [0x012B], NFC: [0x012B], NFD: [0x0069, 0x0304], NFKC: [0x012B], NFKD: [0x0069, 0x0304] }, -{ source: [0x012C], NFC: [0x012C], NFD: [0x0049, 0x0306], NFKC: [0x012C], NFKD: [0x0049, 0x0306] }, -{ source: [0x012D], NFC: [0x012D], NFD: [0x0069, 0x0306], NFKC: [0x012D], NFKD: [0x0069, 0x0306] }, -{ source: [0x012E], NFC: [0x012E], NFD: [0x0049, 0x0328], NFKC: [0x012E], NFKD: [0x0049, 0x0328] }, -{ source: [0x012F], NFC: [0x012F], NFD: [0x0069, 0x0328], NFKC: [0x012F], NFKD: [0x0069, 0x0328] }, -{ source: [0x0130], NFC: [0x0130], NFD: [0x0049, 0x0307], NFKC: [0x0130], NFKD: [0x0049, 0x0307] }, -{ source: [0x0132], NFC: [0x0132], NFD: [0x0132], NFKC: [0x0049, 0x004A], NFKD: [0x0049, 0x004A] }, -{ source: [0x0133], NFC: [0x0133], NFD: [0x0133], NFKC: [0x0069, 0x006A], NFKD: [0x0069, 0x006A] }, -{ source: [0x0134], NFC: [0x0134], NFD: [0x004A, 0x0302], NFKC: [0x0134], NFKD: [0x004A, 0x0302] }, -{ source: [0x0135], NFC: [0x0135], NFD: [0x006A, 0x0302], NFKC: [0x0135], NFKD: [0x006A, 0x0302] }, -{ source: [0x0136], NFC: [0x0136], NFD: [0x004B, 0x0327], NFKC: [0x0136], NFKD: [0x004B, 0x0327] }, -{ source: [0x0137], NFC: [0x0137], NFD: [0x006B, 0x0327], NFKC: [0x0137], NFKD: [0x006B, 0x0327] }, -{ source: [0x0139], NFC: [0x0139], NFD: [0x004C, 0x0301], NFKC: [0x0139], NFKD: [0x004C, 0x0301] }, -{ source: [0x013A], NFC: [0x013A], NFD: [0x006C, 0x0301], NFKC: [0x013A], NFKD: [0x006C, 0x0301] }, -{ source: [0x013B], NFC: [0x013B], NFD: [0x004C, 0x0327], NFKC: [0x013B], NFKD: [0x004C, 0x0327] }, -{ source: [0x013C], NFC: [0x013C], NFD: [0x006C, 0x0327], NFKC: [0x013C], NFKD: [0x006C, 0x0327] }, -{ source: [0x013D], NFC: [0x013D], NFD: [0x004C, 0x030C], NFKC: [0x013D], NFKD: [0x004C, 0x030C] }, -{ source: [0x013E], NFC: [0x013E], NFD: [0x006C, 0x030C], NFKC: [0x013E], NFKD: [0x006C, 0x030C] }, -{ source: [0x013F], NFC: [0x013F], NFD: [0x013F], NFKC: [0x004C, 0x00B7], NFKD: [0x004C, 0x00B7] }, -{ source: [0x0140], NFC: [0x0140], NFD: [0x0140], NFKC: [0x006C, 0x00B7], NFKD: [0x006C, 0x00B7] }, -{ source: [0x0143], NFC: [0x0143], NFD: [0x004E, 0x0301], NFKC: [0x0143], NFKD: [0x004E, 0x0301] }, -{ source: [0x0144], NFC: [0x0144], NFD: [0x006E, 0x0301], NFKC: [0x0144], NFKD: [0x006E, 0x0301] }, -{ source: [0x0145], NFC: [0x0145], NFD: [0x004E, 0x0327], NFKC: [0x0145], NFKD: [0x004E, 0x0327] }, -{ source: [0x0146], NFC: [0x0146], NFD: [0x006E, 0x0327], NFKC: [0x0146], NFKD: [0x006E, 0x0327] }, -{ source: [0x0147], NFC: [0x0147], NFD: [0x004E, 0x030C], NFKC: [0x0147], NFKD: [0x004E, 0x030C] }, -{ source: [0x0148], NFC: [0x0148], NFD: [0x006E, 0x030C], NFKC: [0x0148], NFKD: [0x006E, 0x030C] }, -{ source: [0x0149], NFC: [0x0149], NFD: [0x0149], NFKC: [0x02BC, 0x006E], NFKD: [0x02BC, 0x006E] }, -{ source: [0x014C], NFC: [0x014C], NFD: [0x004F, 0x0304], NFKC: [0x014C], NFKD: [0x004F, 0x0304] }, -{ source: [0x014D], NFC: [0x014D], NFD: [0x006F, 0x0304], NFKC: [0x014D], NFKD: [0x006F, 0x0304] }, -{ source: [0x014E], NFC: [0x014E], NFD: [0x004F, 0x0306], NFKC: [0x014E], NFKD: [0x004F, 0x0306] }, -{ source: [0x014F], NFC: [0x014F], NFD: [0x006F, 0x0306], NFKC: [0x014F], NFKD: [0x006F, 0x0306] }, -{ source: [0x0150], NFC: [0x0150], NFD: [0x004F, 0x030B], NFKC: [0x0150], NFKD: [0x004F, 0x030B] }, -{ source: [0x0151], NFC: [0x0151], NFD: [0x006F, 0x030B], NFKC: [0x0151], NFKD: [0x006F, 0x030B] }, -{ source: [0x0154], NFC: [0x0154], NFD: [0x0052, 0x0301], NFKC: [0x0154], NFKD: [0x0052, 0x0301] }, -{ source: [0x0155], NFC: [0x0155], NFD: [0x0072, 0x0301], NFKC: [0x0155], NFKD: [0x0072, 0x0301] }, -{ source: [0x0156], NFC: [0x0156], NFD: [0x0052, 0x0327], NFKC: [0x0156], NFKD: [0x0052, 0x0327] }, -{ source: [0x0157], NFC: [0x0157], NFD: [0x0072, 0x0327], NFKC: [0x0157], NFKD: [0x0072, 0x0327] }, -{ source: [0x0158], NFC: [0x0158], NFD: [0x0052, 0x030C], NFKC: [0x0158], NFKD: [0x0052, 0x030C] }, -{ source: [0x0159], NFC: [0x0159], NFD: [0x0072, 0x030C], NFKC: [0x0159], NFKD: [0x0072, 0x030C] }, -{ source: [0x015A], NFC: [0x015A], NFD: [0x0053, 0x0301], NFKC: [0x015A], NFKD: [0x0053, 0x0301] }, -{ source: [0x015B], NFC: [0x015B], NFD: [0x0073, 0x0301], NFKC: [0x015B], NFKD: [0x0073, 0x0301] }, -{ source: [0x015C], NFC: [0x015C], NFD: [0x0053, 0x0302], NFKC: [0x015C], NFKD: [0x0053, 0x0302] }, -{ source: [0x015D], NFC: [0x015D], NFD: [0x0073, 0x0302], NFKC: [0x015D], NFKD: [0x0073, 0x0302] }, -{ source: [0x015E], NFC: [0x015E], NFD: [0x0053, 0x0327], NFKC: [0x015E], NFKD: [0x0053, 0x0327] }, -{ source: [0x015F], NFC: [0x015F], NFD: [0x0073, 0x0327], NFKC: [0x015F], NFKD: [0x0073, 0x0327] }, -{ source: [0x0160], NFC: [0x0160], NFD: [0x0053, 0x030C], NFKC: [0x0160], NFKD: [0x0053, 0x030C] }, -{ source: [0x0161], NFC: [0x0161], NFD: [0x0073, 0x030C], NFKC: [0x0161], NFKD: [0x0073, 0x030C] }, -{ source: [0x0162], NFC: [0x0162], NFD: [0x0054, 0x0327], NFKC: [0x0162], NFKD: [0x0054, 0x0327] }, -{ source: [0x0163], NFC: [0x0163], NFD: [0x0074, 0x0327], NFKC: [0x0163], NFKD: [0x0074, 0x0327] }, -{ source: [0x0164], NFC: [0x0164], NFD: [0x0054, 0x030C], NFKC: [0x0164], NFKD: [0x0054, 0x030C] }, -{ source: [0x0165], NFC: [0x0165], NFD: [0x0074, 0x030C], NFKC: [0x0165], NFKD: [0x0074, 0x030C] }, -{ source: [0x0168], NFC: [0x0168], NFD: [0x0055, 0x0303], NFKC: [0x0168], NFKD: [0x0055, 0x0303] }, -{ source: [0x0169], NFC: [0x0169], NFD: [0x0075, 0x0303], NFKC: [0x0169], NFKD: [0x0075, 0x0303] }, -{ source: [0x016A], NFC: [0x016A], NFD: [0x0055, 0x0304], NFKC: [0x016A], NFKD: [0x0055, 0x0304] }, -{ source: [0x016B], NFC: [0x016B], NFD: [0x0075, 0x0304], NFKC: [0x016B], NFKD: [0x0075, 0x0304] }, -{ source: [0x016C], NFC: [0x016C], NFD: [0x0055, 0x0306], NFKC: [0x016C], NFKD: [0x0055, 0x0306] }, -{ source: [0x016D], NFC: [0x016D], NFD: [0x0075, 0x0306], NFKC: [0x016D], NFKD: [0x0075, 0x0306] }, -{ source: [0x016E], NFC: [0x016E], NFD: [0x0055, 0x030A], NFKC: [0x016E], NFKD: [0x0055, 0x030A] }, -{ source: [0x016F], NFC: [0x016F], NFD: [0x0075, 0x030A], NFKC: [0x016F], NFKD: [0x0075, 0x030A] }, -{ source: [0x0170], NFC: [0x0170], NFD: [0x0055, 0x030B], NFKC: [0x0170], NFKD: [0x0055, 0x030B] }, -{ source: [0x0171], NFC: [0x0171], NFD: [0x0075, 0x030B], NFKC: [0x0171], NFKD: [0x0075, 0x030B] }, -{ source: [0x0172], NFC: [0x0172], NFD: [0x0055, 0x0328], NFKC: [0x0172], NFKD: [0x0055, 0x0328] }, -{ source: [0x0173], NFC: [0x0173], NFD: [0x0075, 0x0328], NFKC: [0x0173], NFKD: [0x0075, 0x0328] }, -{ source: [0x0174], NFC: [0x0174], NFD: [0x0057, 0x0302], NFKC: [0x0174], NFKD: [0x0057, 0x0302] }, -{ source: [0x0175], NFC: [0x0175], NFD: [0x0077, 0x0302], NFKC: [0x0175], NFKD: [0x0077, 0x0302] }, -{ source: [0x0176], NFC: [0x0176], NFD: [0x0059, 0x0302], NFKC: [0x0176], NFKD: [0x0059, 0x0302] }, -{ source: [0x0177], NFC: [0x0177], NFD: [0x0079, 0x0302], NFKC: [0x0177], NFKD: [0x0079, 0x0302] }, -{ source: [0x0178], NFC: [0x0178], NFD: [0x0059, 0x0308], NFKC: [0x0178], NFKD: [0x0059, 0x0308] }, -{ source: [0x0179], NFC: [0x0179], NFD: [0x005A, 0x0301], NFKC: [0x0179], NFKD: [0x005A, 0x0301] }, -{ source: [0x017A], NFC: [0x017A], NFD: [0x007A, 0x0301], NFKC: [0x017A], NFKD: [0x007A, 0x0301] }, -{ source: [0x017B], NFC: [0x017B], NFD: [0x005A, 0x0307], NFKC: [0x017B], NFKD: [0x005A, 0x0307] }, -{ source: [0x017C], NFC: [0x017C], NFD: [0x007A, 0x0307], NFKC: [0x017C], NFKD: [0x007A, 0x0307] }, -{ source: [0x017D], NFC: [0x017D], NFD: [0x005A, 0x030C], NFKC: [0x017D], NFKD: [0x005A, 0x030C] }, -{ source: [0x017E], NFC: [0x017E], NFD: [0x007A, 0x030C], NFKC: [0x017E], NFKD: [0x007A, 0x030C] }, -{ source: [0x017F], NFC: [0x017F], NFD: [0x017F], NFKC: [0x0073], NFKD: [0x0073] }, -{ source: [0x01A0], NFC: [0x01A0], NFD: [0x004F, 0x031B], NFKC: [0x01A0], NFKD: [0x004F, 0x031B] }, -{ source: [0x01A1], NFC: [0x01A1], NFD: [0x006F, 0x031B], NFKC: [0x01A1], NFKD: [0x006F, 0x031B] }, -{ source: [0x01AF], NFC: [0x01AF], NFD: [0x0055, 0x031B], NFKC: [0x01AF], NFKD: [0x0055, 0x031B] }, -{ source: [0x01B0], NFC: [0x01B0], NFD: [0x0075, 0x031B], NFKC: [0x01B0], NFKD: [0x0075, 0x031B] }, -{ source: [0x01C4], NFC: [0x01C4], NFD: [0x01C4], NFKC: [0x0044, 0x017D], NFKD: [0x0044, 0x005A, 0x030C] }, -{ source: [0x01C5], NFC: [0x01C5], NFD: [0x01C5], NFKC: [0x0044, 0x017E], NFKD: [0x0044, 0x007A, 0x030C] }, -{ source: [0x01C6], NFC: [0x01C6], NFD: [0x01C6], NFKC: [0x0064, 0x017E], NFKD: [0x0064, 0x007A, 0x030C] }, -{ source: [0x01C7], NFC: [0x01C7], NFD: [0x01C7], NFKC: [0x004C, 0x004A], NFKD: [0x004C, 0x004A] }, -{ source: [0x01C8], NFC: [0x01C8], NFD: [0x01C8], NFKC: [0x004C, 0x006A], NFKD: [0x004C, 0x006A] }, -{ source: [0x01C9], NFC: [0x01C9], NFD: [0x01C9], NFKC: [0x006C, 0x006A], NFKD: [0x006C, 0x006A] }, -{ source: [0x01CA], NFC: [0x01CA], NFD: [0x01CA], NFKC: [0x004E, 0x004A], NFKD: [0x004E, 0x004A] }, -{ source: [0x01CB], NFC: [0x01CB], NFD: [0x01CB], NFKC: [0x004E, 0x006A], NFKD: [0x004E, 0x006A] }, -{ source: [0x01CC], NFC: [0x01CC], NFD: [0x01CC], NFKC: [0x006E, 0x006A], NFKD: [0x006E, 0x006A] }, -{ source: [0x01CD], NFC: [0x01CD], NFD: [0x0041, 0x030C], NFKC: [0x01CD], NFKD: [0x0041, 0x030C] }, -{ source: [0x01CE], NFC: [0x01CE], NFD: [0x0061, 0x030C], NFKC: [0x01CE], NFKD: [0x0061, 0x030C] }, -{ source: [0x01CF], NFC: [0x01CF], NFD: [0x0049, 0x030C], NFKC: [0x01CF], NFKD: [0x0049, 0x030C] }, -{ source: [0x01D0], NFC: [0x01D0], NFD: [0x0069, 0x030C], NFKC: [0x01D0], NFKD: [0x0069, 0x030C] }, -{ source: [0x01D1], NFC: [0x01D1], NFD: [0x004F, 0x030C], NFKC: [0x01D1], NFKD: [0x004F, 0x030C] }, -{ source: [0x01D2], NFC: [0x01D2], NFD: [0x006F, 0x030C], NFKC: [0x01D2], NFKD: [0x006F, 0x030C] }, -{ source: [0x01D3], NFC: [0x01D3], NFD: [0x0055, 0x030C], NFKC: [0x01D3], NFKD: [0x0055, 0x030C] }, -{ source: [0x01D4], NFC: [0x01D4], NFD: [0x0075, 0x030C], NFKC: [0x01D4], NFKD: [0x0075, 0x030C] }, -{ source: [0x01D5], NFC: [0x01D5], NFD: [0x0055, 0x0308, 0x0304], NFKC: [0x01D5], NFKD: [0x0055, 0x0308, 0x0304] }, -{ source: [0x01D6], NFC: [0x01D6], NFD: [0x0075, 0x0308, 0x0304], NFKC: [0x01D6], NFKD: [0x0075, 0x0308, 0x0304] }, -{ source: [0x01D7], NFC: [0x01D7], NFD: [0x0055, 0x0308, 0x0301], NFKC: [0x01D7], NFKD: [0x0055, 0x0308, 0x0301] }, -{ source: [0x01D8], NFC: [0x01D8], NFD: [0x0075, 0x0308, 0x0301], NFKC: [0x01D8], NFKD: [0x0075, 0x0308, 0x0301] }, -{ source: [0x01D9], NFC: [0x01D9], NFD: [0x0055, 0x0308, 0x030C], NFKC: [0x01D9], NFKD: [0x0055, 0x0308, 0x030C] }, -{ source: [0x01DA], NFC: [0x01DA], NFD: [0x0075, 0x0308, 0x030C], NFKC: [0x01DA], NFKD: [0x0075, 0x0308, 0x030C] }, -{ source: [0x01DB], NFC: [0x01DB], NFD: [0x0055, 0x0308, 0x0300], NFKC: [0x01DB], NFKD: [0x0055, 0x0308, 0x0300] }, -{ source: [0x01DC], NFC: [0x01DC], NFD: [0x0075, 0x0308, 0x0300], NFKC: [0x01DC], NFKD: [0x0075, 0x0308, 0x0300] }, -{ source: [0x01DE], NFC: [0x01DE], NFD: [0x0041, 0x0308, 0x0304], NFKC: [0x01DE], NFKD: [0x0041, 0x0308, 0x0304] }, -{ source: [0x01DF], NFC: [0x01DF], NFD: [0x0061, 0x0308, 0x0304], NFKC: [0x01DF], NFKD: [0x0061, 0x0308, 0x0304] }, -{ source: [0x01E0], NFC: [0x01E0], NFD: [0x0041, 0x0307, 0x0304], NFKC: [0x01E0], NFKD: [0x0041, 0x0307, 0x0304] }, -{ source: [0x01E1], NFC: [0x01E1], NFD: [0x0061, 0x0307, 0x0304], NFKC: [0x01E1], NFKD: [0x0061, 0x0307, 0x0304] }, -{ source: [0x01E2], NFC: [0x01E2], NFD: [0x00C6, 0x0304], NFKC: [0x01E2], NFKD: [0x00C6, 0x0304] }, -{ source: [0x01E3], NFC: [0x01E3], NFD: [0x00E6, 0x0304], NFKC: [0x01E3], NFKD: [0x00E6, 0x0304] }, -{ source: [0x01E6], NFC: [0x01E6], NFD: [0x0047, 0x030C], NFKC: [0x01E6], NFKD: [0x0047, 0x030C] }, -{ source: [0x01E7], NFC: [0x01E7], NFD: [0x0067, 0x030C], NFKC: [0x01E7], NFKD: [0x0067, 0x030C] }, -{ source: [0x01E8], NFC: [0x01E8], NFD: [0x004B, 0x030C], NFKC: [0x01E8], NFKD: [0x004B, 0x030C] }, -{ source: [0x01E9], NFC: [0x01E9], NFD: [0x006B, 0x030C], NFKC: [0x01E9], NFKD: [0x006B, 0x030C] }, -{ source: [0x01EA], NFC: [0x01EA], NFD: [0x004F, 0x0328], NFKC: [0x01EA], NFKD: [0x004F, 0x0328] }, -{ source: [0x01EB], NFC: [0x01EB], NFD: [0x006F, 0x0328], NFKC: [0x01EB], NFKD: [0x006F, 0x0328] }, -{ source: [0x01EC], NFC: [0x01EC], NFD: [0x004F, 0x0328, 0x0304], NFKC: [0x01EC], NFKD: [0x004F, 0x0328, 0x0304] }, -{ source: [0x01ED], NFC: [0x01ED], NFD: [0x006F, 0x0328, 0x0304], NFKC: [0x01ED], NFKD: [0x006F, 0x0328, 0x0304] }, -{ source: [0x01EE], NFC: [0x01EE], NFD: [0x01B7, 0x030C], NFKC: [0x01EE], NFKD: [0x01B7, 0x030C] }, -{ source: [0x01EF], NFC: [0x01EF], NFD: [0x0292, 0x030C], NFKC: [0x01EF], NFKD: [0x0292, 0x030C] }, -{ source: [0x01F0], NFC: [0x01F0], NFD: [0x006A, 0x030C], NFKC: [0x01F0], NFKD: [0x006A, 0x030C] }, -{ source: [0x01F1], NFC: [0x01F1], NFD: [0x01F1], NFKC: [0x0044, 0x005A], NFKD: [0x0044, 0x005A] }, -{ source: [0x01F2], NFC: [0x01F2], NFD: [0x01F2], NFKC: [0x0044, 0x007A], NFKD: [0x0044, 0x007A] }, -{ source: [0x01F3], NFC: [0x01F3], NFD: [0x01F3], NFKC: [0x0064, 0x007A], NFKD: [0x0064, 0x007A] }, -{ source: [0x01F4], NFC: [0x01F4], NFD: [0x0047, 0x0301], NFKC: [0x01F4], NFKD: [0x0047, 0x0301] }, -{ source: [0x01F5], NFC: [0x01F5], NFD: [0x0067, 0x0301], NFKC: [0x01F5], NFKD: [0x0067, 0x0301] }, -{ source: [0x01F8], NFC: [0x01F8], NFD: [0x004E, 0x0300], NFKC: [0x01F8], NFKD: [0x004E, 0x0300] }, -{ source: [0x01F9], NFC: [0x01F9], NFD: [0x006E, 0x0300], NFKC: [0x01F9], NFKD: [0x006E, 0x0300] }, -{ source: [0x01FA], NFC: [0x01FA], NFD: [0x0041, 0x030A, 0x0301], NFKC: [0x01FA], NFKD: [0x0041, 0x030A, 0x0301] }, -{ source: [0x01FB], NFC: [0x01FB], NFD: [0x0061, 0x030A, 0x0301], NFKC: [0x01FB], NFKD: [0x0061, 0x030A, 0x0301] }, -{ source: [0x01FC], NFC: [0x01FC], NFD: [0x00C6, 0x0301], NFKC: [0x01FC], NFKD: [0x00C6, 0x0301] }, -{ source: [0x01FD], NFC: [0x01FD], NFD: [0x00E6, 0x0301], NFKC: [0x01FD], NFKD: [0x00E6, 0x0301] }, -{ source: [0x01FE], NFC: [0x01FE], NFD: [0x00D8, 0x0301], NFKC: [0x01FE], NFKD: [0x00D8, 0x0301] }, -{ source: [0x01FF], NFC: [0x01FF], NFD: [0x00F8, 0x0301], NFKC: [0x01FF], NFKD: [0x00F8, 0x0301] }, -{ source: [0x0200], NFC: [0x0200], NFD: [0x0041, 0x030F], NFKC: [0x0200], NFKD: [0x0041, 0x030F] }, -{ source: [0x0201], NFC: [0x0201], NFD: [0x0061, 0x030F], NFKC: [0x0201], NFKD: [0x0061, 0x030F] }, -{ source: [0x0202], NFC: [0x0202], NFD: [0x0041, 0x0311], NFKC: [0x0202], NFKD: [0x0041, 0x0311] }, -{ source: [0x0203], NFC: [0x0203], NFD: [0x0061, 0x0311], NFKC: [0x0203], NFKD: [0x0061, 0x0311] }, -{ source: [0x0204], NFC: [0x0204], NFD: [0x0045, 0x030F], NFKC: [0x0204], NFKD: [0x0045, 0x030F] }, -{ source: [0x0205], NFC: [0x0205], NFD: [0x0065, 0x030F], NFKC: [0x0205], NFKD: [0x0065, 0x030F] }, -{ source: [0x0206], NFC: [0x0206], NFD: [0x0045, 0x0311], NFKC: [0x0206], NFKD: [0x0045, 0x0311] }, -{ source: [0x0207], NFC: [0x0207], NFD: [0x0065, 0x0311], NFKC: [0x0207], NFKD: [0x0065, 0x0311] }, -{ source: [0x0208], NFC: [0x0208], NFD: [0x0049, 0x030F], NFKC: [0x0208], NFKD: [0x0049, 0x030F] }, -{ source: [0x0209], NFC: [0x0209], NFD: [0x0069, 0x030F], NFKC: [0x0209], NFKD: [0x0069, 0x030F] }, -{ source: [0x020A], NFC: [0x020A], NFD: [0x0049, 0x0311], NFKC: [0x020A], NFKD: [0x0049, 0x0311] }, -{ source: [0x020B], NFC: [0x020B], NFD: [0x0069, 0x0311], NFKC: [0x020B], NFKD: [0x0069, 0x0311] }, -{ source: [0x020C], NFC: [0x020C], NFD: [0x004F, 0x030F], NFKC: [0x020C], NFKD: [0x004F, 0x030F] }, -{ source: [0x020D], NFC: [0x020D], NFD: [0x006F, 0x030F], NFKC: [0x020D], NFKD: [0x006F, 0x030F] }, -{ source: [0x020E], NFC: [0x020E], NFD: [0x004F, 0x0311], NFKC: [0x020E], NFKD: [0x004F, 0x0311] }, -{ source: [0x020F], NFC: [0x020F], NFD: [0x006F, 0x0311], NFKC: [0x020F], NFKD: [0x006F, 0x0311] }, -{ source: [0x0210], NFC: [0x0210], NFD: [0x0052, 0x030F], NFKC: [0x0210], NFKD: [0x0052, 0x030F] }, -{ source: [0x0211], NFC: [0x0211], NFD: [0x0072, 0x030F], NFKC: [0x0211], NFKD: [0x0072, 0x030F] }, -{ source: [0x0212], NFC: [0x0212], NFD: [0x0052, 0x0311], NFKC: [0x0212], NFKD: [0x0052, 0x0311] }, -{ source: [0x0213], NFC: [0x0213], NFD: [0x0072, 0x0311], NFKC: [0x0213], NFKD: [0x0072, 0x0311] }, -{ source: [0x0214], NFC: [0x0214], NFD: [0x0055, 0x030F], NFKC: [0x0214], NFKD: [0x0055, 0x030F] }, -{ source: [0x0215], NFC: [0x0215], NFD: [0x0075, 0x030F], NFKC: [0x0215], NFKD: [0x0075, 0x030F] }, -{ source: [0x0216], NFC: [0x0216], NFD: [0x0055, 0x0311], NFKC: [0x0216], NFKD: [0x0055, 0x0311] }, -{ source: [0x0217], NFC: [0x0217], NFD: [0x0075, 0x0311], NFKC: [0x0217], NFKD: [0x0075, 0x0311] }, -{ source: [0x0218], NFC: [0x0218], NFD: [0x0053, 0x0326], NFKC: [0x0218], NFKD: [0x0053, 0x0326] }, -{ source: [0x0219], NFC: [0x0219], NFD: [0x0073, 0x0326], NFKC: [0x0219], NFKD: [0x0073, 0x0326] }, -{ source: [0x021A], NFC: [0x021A], NFD: [0x0054, 0x0326], NFKC: [0x021A], NFKD: [0x0054, 0x0326] }, -{ source: [0x021B], NFC: [0x021B], NFD: [0x0074, 0x0326], NFKC: [0x021B], NFKD: [0x0074, 0x0326] }, -{ source: [0x021E], NFC: [0x021E], NFD: [0x0048, 0x030C], NFKC: [0x021E], NFKD: [0x0048, 0x030C] }, -{ source: [0x021F], NFC: [0x021F], NFD: [0x0068, 0x030C], NFKC: [0x021F], NFKD: [0x0068, 0x030C] }, -{ source: [0x0226], NFC: [0x0226], NFD: [0x0041, 0x0307], NFKC: [0x0226], NFKD: [0x0041, 0x0307] }, -{ source: [0x0227], NFC: [0x0227], NFD: [0x0061, 0x0307], NFKC: [0x0227], NFKD: [0x0061, 0x0307] }, -{ source: [0x0228], NFC: [0x0228], NFD: [0x0045, 0x0327], NFKC: [0x0228], NFKD: [0x0045, 0x0327] }, -{ source: [0x0229], NFC: [0x0229], NFD: [0x0065, 0x0327], NFKC: [0x0229], NFKD: [0x0065, 0x0327] }, -{ source: [0x022A], NFC: [0x022A], NFD: [0x004F, 0x0308, 0x0304], NFKC: [0x022A], NFKD: [0x004F, 0x0308, 0x0304] }, -{ source: [0x022B], NFC: [0x022B], NFD: [0x006F, 0x0308, 0x0304], NFKC: [0x022B], NFKD: [0x006F, 0x0308, 0x0304] }, -{ source: [0x022C], NFC: [0x022C], NFD: [0x004F, 0x0303, 0x0304], NFKC: [0x022C], NFKD: [0x004F, 0x0303, 0x0304] }, -{ source: [0x022D], NFC: [0x022D], NFD: [0x006F, 0x0303, 0x0304], NFKC: [0x022D], NFKD: [0x006F, 0x0303, 0x0304] }, -{ source: [0x022E], NFC: [0x022E], NFD: [0x004F, 0x0307], NFKC: [0x022E], NFKD: [0x004F, 0x0307] }, -{ source: [0x022F], NFC: [0x022F], NFD: [0x006F, 0x0307], NFKC: [0x022F], NFKD: [0x006F, 0x0307] }, -{ source: [0x0230], NFC: [0x0230], NFD: [0x004F, 0x0307, 0x0304], NFKC: [0x0230], NFKD: [0x004F, 0x0307, 0x0304] }, -{ source: [0x0231], NFC: [0x0231], NFD: [0x006F, 0x0307, 0x0304], NFKC: [0x0231], NFKD: [0x006F, 0x0307, 0x0304] }, -{ source: [0x0232], NFC: [0x0232], NFD: [0x0059, 0x0304], NFKC: [0x0232], NFKD: [0x0059, 0x0304] }, -{ source: [0x0233], NFC: [0x0233], NFD: [0x0079, 0x0304], NFKC: [0x0233], NFKD: [0x0079, 0x0304] }, -{ source: [0x02B0], NFC: [0x02B0], NFD: [0x02B0], NFKC: [0x0068], NFKD: [0x0068] }, -{ source: [0x02B1], NFC: [0x02B1], NFD: [0x02B1], NFKC: [0x0266], NFKD: [0x0266] }, -{ source: [0x02B2], NFC: [0x02B2], NFD: [0x02B2], NFKC: [0x006A], NFKD: [0x006A] }, -{ source: [0x02B3], NFC: [0x02B3], NFD: [0x02B3], NFKC: [0x0072], NFKD: [0x0072] }, -{ source: [0x02B4], NFC: [0x02B4], NFD: [0x02B4], NFKC: [0x0279], NFKD: [0x0279] }, -{ source: [0x02B5], NFC: [0x02B5], NFD: [0x02B5], NFKC: [0x027B], NFKD: [0x027B] }, -{ source: [0x02B6], NFC: [0x02B6], NFD: [0x02B6], NFKC: [0x0281], NFKD: [0x0281] }, -{ source: [0x02B7], NFC: [0x02B7], NFD: [0x02B7], NFKC: [0x0077], NFKD: [0x0077] }, -{ source: [0x02B8], NFC: [0x02B8], NFD: [0x02B8], NFKC: [0x0079], NFKD: [0x0079] }, -{ source: [0x02D8], NFC: [0x02D8], NFD: [0x02D8], NFKC: [0x0020, 0x0306], NFKD: [0x0020, 0x0306] }, -{ source: [0x02D9], NFC: [0x02D9], NFD: [0x02D9], NFKC: [0x0020, 0x0307], NFKD: [0x0020, 0x0307] }, -{ source: [0x02DA], NFC: [0x02DA], NFD: [0x02DA], NFKC: [0x0020, 0x030A], NFKD: [0x0020, 0x030A] }, -{ source: [0x02DB], NFC: [0x02DB], NFD: [0x02DB], NFKC: [0x0020, 0x0328], NFKD: [0x0020, 0x0328] }, -{ source: [0x02DC], NFC: [0x02DC], NFD: [0x02DC], NFKC: [0x0020, 0x0303], NFKD: [0x0020, 0x0303] }, -{ source: [0x02DD], NFC: [0x02DD], NFD: [0x02DD], NFKC: [0x0020, 0x030B], NFKD: [0x0020, 0x030B] }, -{ source: [0x02E0], NFC: [0x02E0], NFD: [0x02E0], NFKC: [0x0263], NFKD: [0x0263] }, -{ source: [0x02E1], NFC: [0x02E1], NFD: [0x02E1], NFKC: [0x006C], NFKD: [0x006C] }, -{ source: [0x02E2], NFC: [0x02E2], NFD: [0x02E2], NFKC: [0x0073], NFKD: [0x0073] }, -{ source: [0x02E3], NFC: [0x02E3], NFD: [0x02E3], NFKC: [0x0078], NFKD: [0x0078] }, -{ source: [0x02E4], NFC: [0x02E4], NFD: [0x02E4], NFKC: [0x0295], NFKD: [0x0295] }, -{ source: [0x0340], NFC: [0x0300], NFD: [0x0300], NFKC: [0x0300], NFKD: [0x0300] }, -{ source: [0x0341], NFC: [0x0301], NFD: [0x0301], NFKC: [0x0301], NFKD: [0x0301] }, -{ source: [0x0343], NFC: [0x0313], NFD: [0x0313], NFKC: [0x0313], NFKD: [0x0313] }, -{ source: [0x0344], NFC: [0x0308, 0x0301], NFD: [0x0308, 0x0301], NFKC: [0x0308, 0x0301], NFKD: [0x0308, 0x0301] }, -{ source: [0x0374], NFC: [0x02B9], NFD: [0x02B9], NFKC: [0x02B9], NFKD: [0x02B9] }, -{ source: [0x037A], NFC: [0x037A], NFD: [0x037A], NFKC: [0x0020, 0x0345], NFKD: [0x0020, 0x0345] }, -{ source: [0x037E], NFC: [0x003B], NFD: [0x003B], NFKC: [0x003B], NFKD: [0x003B] }, -{ source: [0x0384], NFC: [0x0384], NFD: [0x0384], NFKC: [0x0020, 0x0301], NFKD: [0x0020, 0x0301] }, -{ source: [0x0385], NFC: [0x0385], NFD: [0x00A8, 0x0301], NFKC: [0x0020, 0x0308, 0x0301], NFKD: [0x0020, 0x0308, 0x0301] }, -{ source: [0x0386], NFC: [0x0386], NFD: [0x0391, 0x0301], NFKC: [0x0386], NFKD: [0x0391, 0x0301] }, -{ source: [0x0387], NFC: [0x00B7], NFD: [0x00B7], NFKC: [0x00B7], NFKD: [0x00B7] }, -{ source: [0x0388], NFC: [0x0388], NFD: [0x0395, 0x0301], NFKC: [0x0388], NFKD: [0x0395, 0x0301] }, -{ source: [0x0389], NFC: [0x0389], NFD: [0x0397, 0x0301], NFKC: [0x0389], NFKD: [0x0397, 0x0301] }, -{ source: [0x038A], NFC: [0x038A], NFD: [0x0399, 0x0301], NFKC: [0x038A], NFKD: [0x0399, 0x0301] }, -{ source: [0x038C], NFC: [0x038C], NFD: [0x039F, 0x0301], NFKC: [0x038C], NFKD: [0x039F, 0x0301] }, -{ source: [0x038E], NFC: [0x038E], NFD: [0x03A5, 0x0301], NFKC: [0x038E], NFKD: [0x03A5, 0x0301] }, -{ source: [0x038F], NFC: [0x038F], NFD: [0x03A9, 0x0301], NFKC: [0x038F], NFKD: [0x03A9, 0x0301] }, -{ source: [0x0390], NFC: [0x0390], NFD: [0x03B9, 0x0308, 0x0301], NFKC: [0x0390], NFKD: [0x03B9, 0x0308, 0x0301] }, -{ source: [0x03AA], NFC: [0x03AA], NFD: [0x0399, 0x0308], NFKC: [0x03AA], NFKD: [0x0399, 0x0308] }, -{ source: [0x03AB], NFC: [0x03AB], NFD: [0x03A5, 0x0308], NFKC: [0x03AB], NFKD: [0x03A5, 0x0308] }, -{ source: [0x03AC], NFC: [0x03AC], NFD: [0x03B1, 0x0301], NFKC: [0x03AC], NFKD: [0x03B1, 0x0301] }, -{ source: [0x03AD], NFC: [0x03AD], NFD: [0x03B5, 0x0301], NFKC: [0x03AD], NFKD: [0x03B5, 0x0301] }, -{ source: [0x03AE], NFC: [0x03AE], NFD: [0x03B7, 0x0301], NFKC: [0x03AE], NFKD: [0x03B7, 0x0301] }, -{ source: [0x03AF], NFC: [0x03AF], NFD: [0x03B9, 0x0301], NFKC: [0x03AF], NFKD: [0x03B9, 0x0301] }, -{ source: [0x03B0], NFC: [0x03B0], NFD: [0x03C5, 0x0308, 0x0301], NFKC: [0x03B0], NFKD: [0x03C5, 0x0308, 0x0301] }, -{ source: [0x03CA], NFC: [0x03CA], NFD: [0x03B9, 0x0308], NFKC: [0x03CA], NFKD: [0x03B9, 0x0308] }, -{ source: [0x03CB], NFC: [0x03CB], NFD: [0x03C5, 0x0308], NFKC: [0x03CB], NFKD: [0x03C5, 0x0308] }, -{ source: [0x03CC], NFC: [0x03CC], NFD: [0x03BF, 0x0301], NFKC: [0x03CC], NFKD: [0x03BF, 0x0301] }, -{ source: [0x03CD], NFC: [0x03CD], NFD: [0x03C5, 0x0301], NFKC: [0x03CD], NFKD: [0x03C5, 0x0301] }, -{ source: [0x03CE], NFC: [0x03CE], NFD: [0x03C9, 0x0301], NFKC: [0x03CE], NFKD: [0x03C9, 0x0301] }, -{ source: [0x03D0], NFC: [0x03D0], NFD: [0x03D0], NFKC: [0x03B2], NFKD: [0x03B2] }, -{ source: [0x03D1], NFC: [0x03D1], NFD: [0x03D1], NFKC: [0x03B8], NFKD: [0x03B8] }, -{ source: [0x03D2], NFC: [0x03D2], NFD: [0x03D2], NFKC: [0x03A5], NFKD: [0x03A5] }, -{ source: [0x03D3], NFC: [0x03D3], NFD: [0x03D2, 0x0301], NFKC: [0x038E], NFKD: [0x03A5, 0x0301] }, -{ source: [0x03D4], NFC: [0x03D4], NFD: [0x03D2, 0x0308], NFKC: [0x03AB], NFKD: [0x03A5, 0x0308] }, -{ source: [0x03D5], NFC: [0x03D5], NFD: [0x03D5], NFKC: [0x03C6], NFKD: [0x03C6] }, -{ source: [0x03D6], NFC: [0x03D6], NFD: [0x03D6], NFKC: [0x03C0], NFKD: [0x03C0] }, -{ source: [0x03F0], NFC: [0x03F0], NFD: [0x03F0], NFKC: [0x03BA], NFKD: [0x03BA] }, -{ source: [0x03F1], NFC: [0x03F1], NFD: [0x03F1], NFKC: [0x03C1], NFKD: [0x03C1] }, -{ source: [0x03F2], NFC: [0x03F2], NFD: [0x03F2], NFKC: [0x03C2], NFKD: [0x03C2] }, -{ source: [0x03F4], NFC: [0x03F4], NFD: [0x03F4], NFKC: [0x0398], NFKD: [0x0398] }, -{ source: [0x03F5], NFC: [0x03F5], NFD: [0x03F5], NFKC: [0x03B5], NFKD: [0x03B5] }, -{ source: [0x03F9], NFC: [0x03F9], NFD: [0x03F9], NFKC: [0x03A3], NFKD: [0x03A3] }, -{ source: [0x0400], NFC: [0x0400], NFD: [0x0415, 0x0300], NFKC: [0x0400], NFKD: [0x0415, 0x0300] }, -{ source: [0x0401], NFC: [0x0401], NFD: [0x0415, 0x0308], NFKC: [0x0401], NFKD: [0x0415, 0x0308] }, -{ source: [0x0403], NFC: [0x0403], NFD: [0x0413, 0x0301], NFKC: [0x0403], NFKD: [0x0413, 0x0301] }, -{ source: [0x0407], NFC: [0x0407], NFD: [0x0406, 0x0308], NFKC: [0x0407], NFKD: [0x0406, 0x0308] }, -{ source: [0x040C], NFC: [0x040C], NFD: [0x041A, 0x0301], NFKC: [0x040C], NFKD: [0x041A, 0x0301] }, -{ source: [0x040D], NFC: [0x040D], NFD: [0x0418, 0x0300], NFKC: [0x040D], NFKD: [0x0418, 0x0300] }, -{ source: [0x040E], NFC: [0x040E], NFD: [0x0423, 0x0306], NFKC: [0x040E], NFKD: [0x0423, 0x0306] }, -{ source: [0x0419], NFC: [0x0419], NFD: [0x0418, 0x0306], NFKC: [0x0419], NFKD: [0x0418, 0x0306] }, -{ source: [0x0439], NFC: [0x0439], NFD: [0x0438, 0x0306], NFKC: [0x0439], NFKD: [0x0438, 0x0306] }, -{ source: [0x0450], NFC: [0x0450], NFD: [0x0435, 0x0300], NFKC: [0x0450], NFKD: [0x0435, 0x0300] }, -{ source: [0x0451], NFC: [0x0451], NFD: [0x0435, 0x0308], NFKC: [0x0451], NFKD: [0x0435, 0x0308] }, -{ source: [0x0453], NFC: [0x0453], NFD: [0x0433, 0x0301], NFKC: [0x0453], NFKD: [0x0433, 0x0301] }, -{ source: [0x0457], NFC: [0x0457], NFD: [0x0456, 0x0308], NFKC: [0x0457], NFKD: [0x0456, 0x0308] }, -{ source: [0x045C], NFC: [0x045C], NFD: [0x043A, 0x0301], NFKC: [0x045C], NFKD: [0x043A, 0x0301] }, -{ source: [0x045D], NFC: [0x045D], NFD: [0x0438, 0x0300], NFKC: [0x045D], NFKD: [0x0438, 0x0300] }, -{ source: [0x045E], NFC: [0x045E], NFD: [0x0443, 0x0306], NFKC: [0x045E], NFKD: [0x0443, 0x0306] }, -{ source: [0x0476], NFC: [0x0476], NFD: [0x0474, 0x030F], NFKC: [0x0476], NFKD: [0x0474, 0x030F] }, -{ source: [0x0477], NFC: [0x0477], NFD: [0x0475, 0x030F], NFKC: [0x0477], NFKD: [0x0475, 0x030F] }, -{ source: [0x04C1], NFC: [0x04C1], NFD: [0x0416, 0x0306], NFKC: [0x04C1], NFKD: [0x0416, 0x0306] }, -{ source: [0x04C2], NFC: [0x04C2], NFD: [0x0436, 0x0306], NFKC: [0x04C2], NFKD: [0x0436, 0x0306] }, -{ source: [0x04D0], NFC: [0x04D0], NFD: [0x0410, 0x0306], NFKC: [0x04D0], NFKD: [0x0410, 0x0306] }, -{ source: [0x04D1], NFC: [0x04D1], NFD: [0x0430, 0x0306], NFKC: [0x04D1], NFKD: [0x0430, 0x0306] }, -{ source: [0x04D2], NFC: [0x04D2], NFD: [0x0410, 0x0308], NFKC: [0x04D2], NFKD: [0x0410, 0x0308] }, -{ source: [0x04D3], NFC: [0x04D3], NFD: [0x0430, 0x0308], NFKC: [0x04D3], NFKD: [0x0430, 0x0308] }, -{ source: [0x04D6], NFC: [0x04D6], NFD: [0x0415, 0x0306], NFKC: [0x04D6], NFKD: [0x0415, 0x0306] }, -{ source: [0x04D7], NFC: [0x04D7], NFD: [0x0435, 0x0306], NFKC: [0x04D7], NFKD: [0x0435, 0x0306] }, -{ source: [0x04DA], NFC: [0x04DA], NFD: [0x04D8, 0x0308], NFKC: [0x04DA], NFKD: [0x04D8, 0x0308] }, -{ source: [0x04DB], NFC: [0x04DB], NFD: [0x04D9, 0x0308], NFKC: [0x04DB], NFKD: [0x04D9, 0x0308] }, -{ source: [0x04DC], NFC: [0x04DC], NFD: [0x0416, 0x0308], NFKC: [0x04DC], NFKD: [0x0416, 0x0308] }, -{ source: [0x04DD], NFC: [0x04DD], NFD: [0x0436, 0x0308], NFKC: [0x04DD], NFKD: [0x0436, 0x0308] }, -{ source: [0x04DE], NFC: [0x04DE], NFD: [0x0417, 0x0308], NFKC: [0x04DE], NFKD: [0x0417, 0x0308] }, -{ source: [0x04DF], NFC: [0x04DF], NFD: [0x0437, 0x0308], NFKC: [0x04DF], NFKD: [0x0437, 0x0308] }, -{ source: [0x04E2], NFC: [0x04E2], NFD: [0x0418, 0x0304], NFKC: [0x04E2], NFKD: [0x0418, 0x0304] }, -{ source: [0x04E3], NFC: [0x04E3], NFD: [0x0438, 0x0304], NFKC: [0x04E3], NFKD: [0x0438, 0x0304] }, -{ source: [0x04E4], NFC: [0x04E4], NFD: [0x0418, 0x0308], NFKC: [0x04E4], NFKD: [0x0418, 0x0308] }, -{ source: [0x04E5], NFC: [0x04E5], NFD: [0x0438, 0x0308], NFKC: [0x04E5], NFKD: [0x0438, 0x0308] }, -{ source: [0x04E6], NFC: [0x04E6], NFD: [0x041E, 0x0308], NFKC: [0x04E6], NFKD: [0x041E, 0x0308] }, -{ source: [0x04E7], NFC: [0x04E7], NFD: [0x043E, 0x0308], NFKC: [0x04E7], NFKD: [0x043E, 0x0308] }, -{ source: [0x04EA], NFC: [0x04EA], NFD: [0x04E8, 0x0308], NFKC: [0x04EA], NFKD: [0x04E8, 0x0308] }, -{ source: [0x04EB], NFC: [0x04EB], NFD: [0x04E9, 0x0308], NFKC: [0x04EB], NFKD: [0x04E9, 0x0308] }, -{ source: [0x04EC], NFC: [0x04EC], NFD: [0x042D, 0x0308], NFKC: [0x04EC], NFKD: [0x042D, 0x0308] }, -{ source: [0x04ED], NFC: [0x04ED], NFD: [0x044D, 0x0308], NFKC: [0x04ED], NFKD: [0x044D, 0x0308] }, -{ source: [0x04EE], NFC: [0x04EE], NFD: [0x0423, 0x0304], NFKC: [0x04EE], NFKD: [0x0423, 0x0304] }, -{ source: [0x04EF], NFC: [0x04EF], NFD: [0x0443, 0x0304], NFKC: [0x04EF], NFKD: [0x0443, 0x0304] }, -{ source: [0x04F0], NFC: [0x04F0], NFD: [0x0423, 0x0308], NFKC: [0x04F0], NFKD: [0x0423, 0x0308] }, -{ source: [0x04F1], NFC: [0x04F1], NFD: [0x0443, 0x0308], NFKC: [0x04F1], NFKD: [0x0443, 0x0308] }, -{ source: [0x04F2], NFC: [0x04F2], NFD: [0x0423, 0x030B], NFKC: [0x04F2], NFKD: [0x0423, 0x030B] }, -{ source: [0x04F3], NFC: [0x04F3], NFD: [0x0443, 0x030B], NFKC: [0x04F3], NFKD: [0x0443, 0x030B] }, -{ source: [0x04F4], NFC: [0x04F4], NFD: [0x0427, 0x0308], NFKC: [0x04F4], NFKD: [0x0427, 0x0308] }, -{ source: [0x04F5], NFC: [0x04F5], NFD: [0x0447, 0x0308], NFKC: [0x04F5], NFKD: [0x0447, 0x0308] }, -{ source: [0x04F8], NFC: [0x04F8], NFD: [0x042B, 0x0308], NFKC: [0x04F8], NFKD: [0x042B, 0x0308] }, -{ source: [0x04F9], NFC: [0x04F9], NFD: [0x044B, 0x0308], NFKC: [0x04F9], NFKD: [0x044B, 0x0308] }, -{ source: [0x0587], NFC: [0x0587], NFD: [0x0587], NFKC: [0x0565, 0x0582], NFKD: [0x0565, 0x0582] }, -{ source: [0x0622], NFC: [0x0622], NFD: [0x0627, 0x0653], NFKC: [0x0622], NFKD: [0x0627, 0x0653] }, -{ source: [0x0623], NFC: [0x0623], NFD: [0x0627, 0x0654], NFKC: [0x0623], NFKD: [0x0627, 0x0654] }, -{ source: [0x0624], NFC: [0x0624], NFD: [0x0648, 0x0654], NFKC: [0x0624], NFKD: [0x0648, 0x0654] }, -{ source: [0x0625], NFC: [0x0625], NFD: [0x0627, 0x0655], NFKC: [0x0625], NFKD: [0x0627, 0x0655] }, -{ source: [0x0626], NFC: [0x0626], NFD: [0x064A, 0x0654], NFKC: [0x0626], NFKD: [0x064A, 0x0654] }, -{ source: [0x0675], NFC: [0x0675], NFD: [0x0675], NFKC: [0x0627, 0x0674], NFKD: [0x0627, 0x0674] }, -{ source: [0x0676], NFC: [0x0676], NFD: [0x0676], NFKC: [0x0648, 0x0674], NFKD: [0x0648, 0x0674] }, -{ source: [0x0677], NFC: [0x0677], NFD: [0x0677], NFKC: [0x06C7, 0x0674], NFKD: [0x06C7, 0x0674] }, -{ source: [0x0678], NFC: [0x0678], NFD: [0x0678], NFKC: [0x064A, 0x0674], NFKD: [0x064A, 0x0674] }, -{ source: [0x06C0], NFC: [0x06C0], NFD: [0x06D5, 0x0654], NFKC: [0x06C0], NFKD: [0x06D5, 0x0654] }, -{ source: [0x06C2], NFC: [0x06C2], NFD: [0x06C1, 0x0654], NFKC: [0x06C2], NFKD: [0x06C1, 0x0654] }, -{ source: [0x06D3], NFC: [0x06D3], NFD: [0x06D2, 0x0654], NFKC: [0x06D3], NFKD: [0x06D2, 0x0654] }, -{ source: [0x0929], NFC: [0x0929], NFD: [0x0928, 0x093C], NFKC: [0x0929], NFKD: [0x0928, 0x093C] }, -{ source: [0x0931], NFC: [0x0931], NFD: [0x0930, 0x093C], NFKC: [0x0931], NFKD: [0x0930, 0x093C] }, -{ source: [0x0934], NFC: [0x0934], NFD: [0x0933, 0x093C], NFKC: [0x0934], NFKD: [0x0933, 0x093C] }, -{ source: [0x0958], NFC: [0x0915, 0x093C], NFD: [0x0915, 0x093C], NFKC: [0x0915, 0x093C], NFKD: [0x0915, 0x093C] }, -{ source: [0x0959], NFC: [0x0916, 0x093C], NFD: [0x0916, 0x093C], NFKC: [0x0916, 0x093C], NFKD: [0x0916, 0x093C] }, -{ source: [0x095A], NFC: [0x0917, 0x093C], NFD: [0x0917, 0x093C], NFKC: [0x0917, 0x093C], NFKD: [0x0917, 0x093C] }, -{ source: [0x095B], NFC: [0x091C, 0x093C], NFD: [0x091C, 0x093C], NFKC: [0x091C, 0x093C], NFKD: [0x091C, 0x093C] }, -{ source: [0x095C], NFC: [0x0921, 0x093C], NFD: [0x0921, 0x093C], NFKC: [0x0921, 0x093C], NFKD: [0x0921, 0x093C] }, -{ source: [0x095D], NFC: [0x0922, 0x093C], NFD: [0x0922, 0x093C], NFKC: [0x0922, 0x093C], NFKD: [0x0922, 0x093C] }, -{ source: [0x095E], NFC: [0x092B, 0x093C], NFD: [0x092B, 0x093C], NFKC: [0x092B, 0x093C], NFKD: [0x092B, 0x093C] }, -{ source: [0x095F], NFC: [0x092F, 0x093C], NFD: [0x092F, 0x093C], NFKC: [0x092F, 0x093C], NFKD: [0x092F, 0x093C] }, -{ source: [0x09CB], NFC: [0x09CB], NFD: [0x09C7, 0x09BE], NFKC: [0x09CB], NFKD: [0x09C7, 0x09BE] }, -{ source: [0x09CC], NFC: [0x09CC], NFD: [0x09C7, 0x09D7], NFKC: [0x09CC], NFKD: [0x09C7, 0x09D7] }, -{ source: [0x09DC], NFC: [0x09A1, 0x09BC], NFD: [0x09A1, 0x09BC], NFKC: [0x09A1, 0x09BC], NFKD: [0x09A1, 0x09BC] }, -{ source: [0x09DD], NFC: [0x09A2, 0x09BC], NFD: [0x09A2, 0x09BC], NFKC: [0x09A2, 0x09BC], NFKD: [0x09A2, 0x09BC] }, -{ source: [0x09DF], NFC: [0x09AF, 0x09BC], NFD: [0x09AF, 0x09BC], NFKC: [0x09AF, 0x09BC], NFKD: [0x09AF, 0x09BC] }, -{ source: [0x0A33], NFC: [0x0A32, 0x0A3C], NFD: [0x0A32, 0x0A3C], NFKC: [0x0A32, 0x0A3C], NFKD: [0x0A32, 0x0A3C] }, -{ source: [0x0A36], NFC: [0x0A38, 0x0A3C], NFD: [0x0A38, 0x0A3C], NFKC: [0x0A38, 0x0A3C], NFKD: [0x0A38, 0x0A3C] }, -{ source: [0x0A59], NFC: [0x0A16, 0x0A3C], NFD: [0x0A16, 0x0A3C], NFKC: [0x0A16, 0x0A3C], NFKD: [0x0A16, 0x0A3C] }, -{ source: [0x0A5A], NFC: [0x0A17, 0x0A3C], NFD: [0x0A17, 0x0A3C], NFKC: [0x0A17, 0x0A3C], NFKD: [0x0A17, 0x0A3C] }, -{ source: [0x0A5B], NFC: [0x0A1C, 0x0A3C], NFD: [0x0A1C, 0x0A3C], NFKC: [0x0A1C, 0x0A3C], NFKD: [0x0A1C, 0x0A3C] }, -{ source: [0x0A5E], NFC: [0x0A2B, 0x0A3C], NFD: [0x0A2B, 0x0A3C], NFKC: [0x0A2B, 0x0A3C], NFKD: [0x0A2B, 0x0A3C] }, -{ source: [0x0B48], NFC: [0x0B48], NFD: [0x0B47, 0x0B56], NFKC: [0x0B48], NFKD: [0x0B47, 0x0B56] }, -{ source: [0x0B4B], NFC: [0x0B4B], NFD: [0x0B47, 0x0B3E], NFKC: [0x0B4B], NFKD: [0x0B47, 0x0B3E] }, -{ source: [0x0B4C], NFC: [0x0B4C], NFD: [0x0B47, 0x0B57], NFKC: [0x0B4C], NFKD: [0x0B47, 0x0B57] }, -{ source: [0x0B5C], NFC: [0x0B21, 0x0B3C], NFD: [0x0B21, 0x0B3C], NFKC: [0x0B21, 0x0B3C], NFKD: [0x0B21, 0x0B3C] }, -{ source: [0x0B5D], NFC: [0x0B22, 0x0B3C], NFD: [0x0B22, 0x0B3C], NFKC: [0x0B22, 0x0B3C], NFKD: [0x0B22, 0x0B3C] }, -{ source: [0x0B94], NFC: [0x0B94], NFD: [0x0B92, 0x0BD7], NFKC: [0x0B94], NFKD: [0x0B92, 0x0BD7] }, -{ source: [0x0BCA], NFC: [0x0BCA], NFD: [0x0BC6, 0x0BBE], NFKC: [0x0BCA], NFKD: [0x0BC6, 0x0BBE] }, -{ source: [0x0BCB], NFC: [0x0BCB], NFD: [0x0BC7, 0x0BBE], NFKC: [0x0BCB], NFKD: [0x0BC7, 0x0BBE] }, -{ source: [0x0BCC], NFC: [0x0BCC], NFD: [0x0BC6, 0x0BD7], NFKC: [0x0BCC], NFKD: [0x0BC6, 0x0BD7] }, -{ source: [0x0C48], NFC: [0x0C48], NFD: [0x0C46, 0x0C56], NFKC: [0x0C48], NFKD: [0x0C46, 0x0C56] }, -{ source: [0x0CC0], NFC: [0x0CC0], NFD: [0x0CBF, 0x0CD5], NFKC: [0x0CC0], NFKD: [0x0CBF, 0x0CD5] }, -{ source: [0x0CC7], NFC: [0x0CC7], NFD: [0x0CC6, 0x0CD5], NFKC: [0x0CC7], NFKD: [0x0CC6, 0x0CD5] }, -{ source: [0x0CC8], NFC: [0x0CC8], NFD: [0x0CC6, 0x0CD6], NFKC: [0x0CC8], NFKD: [0x0CC6, 0x0CD6] }, -{ source: [0x0CCA], NFC: [0x0CCA], NFD: [0x0CC6, 0x0CC2], NFKC: [0x0CCA], NFKD: [0x0CC6, 0x0CC2] }, -{ source: [0x0CCB], NFC: [0x0CCB], NFD: [0x0CC6, 0x0CC2, 0x0CD5], NFKC: [0x0CCB], NFKD: [0x0CC6, 0x0CC2, 0x0CD5] }, -{ source: [0x0D4A], NFC: [0x0D4A], NFD: [0x0D46, 0x0D3E], NFKC: [0x0D4A], NFKD: [0x0D46, 0x0D3E] }, -{ source: [0x0D4B], NFC: [0x0D4B], NFD: [0x0D47, 0x0D3E], NFKC: [0x0D4B], NFKD: [0x0D47, 0x0D3E] }, -{ source: [0x0D4C], NFC: [0x0D4C], NFD: [0x0D46, 0x0D57], NFKC: [0x0D4C], NFKD: [0x0D46, 0x0D57] }, -{ source: [0x0DDA], NFC: [0x0DDA], NFD: [0x0DD9, 0x0DCA], NFKC: [0x0DDA], NFKD: [0x0DD9, 0x0DCA] }, -{ source: [0x0DDC], NFC: [0x0DDC], NFD: [0x0DD9, 0x0DCF], NFKC: [0x0DDC], NFKD: [0x0DD9, 0x0DCF] }, -{ source: [0x0DDD], NFC: [0x0DDD], NFD: [0x0DD9, 0x0DCF, 0x0DCA], NFKC: [0x0DDD], NFKD: [0x0DD9, 0x0DCF, 0x0DCA] }, -{ source: [0x0DDE], NFC: [0x0DDE], NFD: [0x0DD9, 0x0DDF], NFKC: [0x0DDE], NFKD: [0x0DD9, 0x0DDF] }, -{ source: [0x0E33], NFC: [0x0E33], NFD: [0x0E33], NFKC: [0x0E4D, 0x0E32], NFKD: [0x0E4D, 0x0E32] }, -{ source: [0x0EB3], NFC: [0x0EB3], NFD: [0x0EB3], NFKC: [0x0ECD, 0x0EB2], NFKD: [0x0ECD, 0x0EB2] }, -{ source: [0x0EDC], NFC: [0x0EDC], NFD: [0x0EDC], NFKC: [0x0EAB, 0x0E99], NFKD: [0x0EAB, 0x0E99] }, -{ source: [0x0EDD], NFC: [0x0EDD], NFD: [0x0EDD], NFKC: [0x0EAB, 0x0EA1], NFKD: [0x0EAB, 0x0EA1] }, -{ source: [0x0F0C], NFC: [0x0F0C], NFD: [0x0F0C], NFKC: [0x0F0B], NFKD: [0x0F0B] }, -{ source: [0x0F43], NFC: [0x0F42, 0x0FB7], NFD: [0x0F42, 0x0FB7], NFKC: [0x0F42, 0x0FB7], NFKD: [0x0F42, 0x0FB7] }, -{ source: [0x0F4D], NFC: [0x0F4C, 0x0FB7], NFD: [0x0F4C, 0x0FB7], NFKC: [0x0F4C, 0x0FB7], NFKD: [0x0F4C, 0x0FB7] }, -{ source: [0x0F52], NFC: [0x0F51, 0x0FB7], NFD: [0x0F51, 0x0FB7], NFKC: [0x0F51, 0x0FB7], NFKD: [0x0F51, 0x0FB7] }, -{ source: [0x0F57], NFC: [0x0F56, 0x0FB7], NFD: [0x0F56, 0x0FB7], NFKC: [0x0F56, 0x0FB7], NFKD: [0x0F56, 0x0FB7] }, -{ source: [0x0F5C], NFC: [0x0F5B, 0x0FB7], NFD: [0x0F5B, 0x0FB7], NFKC: [0x0F5B, 0x0FB7], NFKD: [0x0F5B, 0x0FB7] }, -{ source: [0x0F69], NFC: [0x0F40, 0x0FB5], NFD: [0x0F40, 0x0FB5], NFKC: [0x0F40, 0x0FB5], NFKD: [0x0F40, 0x0FB5] }, -{ source: [0x0F73], NFC: [0x0F71, 0x0F72], NFD: [0x0F71, 0x0F72], NFKC: [0x0F71, 0x0F72], NFKD: [0x0F71, 0x0F72] }, -{ source: [0x0F75], NFC: [0x0F71, 0x0F74], NFD: [0x0F71, 0x0F74], NFKC: [0x0F71, 0x0F74], NFKD: [0x0F71, 0x0F74] }, -{ source: [0x0F76], NFC: [0x0FB2, 0x0F80], NFD: [0x0FB2, 0x0F80], NFKC: [0x0FB2, 0x0F80], NFKD: [0x0FB2, 0x0F80] }, -{ source: [0x0F77], NFC: [0x0F77], NFD: [0x0F77], NFKC: [0x0FB2, 0x0F71, 0x0F80], NFKD: [0x0FB2, 0x0F71, 0x0F80] }, -{ source: [0x0F78], NFC: [0x0FB3, 0x0F80], NFD: [0x0FB3, 0x0F80], NFKC: [0x0FB3, 0x0F80], NFKD: [0x0FB3, 0x0F80] }, -{ source: [0x0F79], NFC: [0x0F79], NFD: [0x0F79], NFKC: [0x0FB3, 0x0F71, 0x0F80], NFKD: [0x0FB3, 0x0F71, 0x0F80] }, -{ source: [0x0F81], NFC: [0x0F71, 0x0F80], NFD: [0x0F71, 0x0F80], NFKC: [0x0F71, 0x0F80], NFKD: [0x0F71, 0x0F80] }, -{ source: [0x0F93], NFC: [0x0F92, 0x0FB7], NFD: [0x0F92, 0x0FB7], NFKC: [0x0F92, 0x0FB7], NFKD: [0x0F92, 0x0FB7] }, -{ source: [0x0F9D], NFC: [0x0F9C, 0x0FB7], NFD: [0x0F9C, 0x0FB7], NFKC: [0x0F9C, 0x0FB7], NFKD: [0x0F9C, 0x0FB7] }, -{ source: [0x0FA2], NFC: [0x0FA1, 0x0FB7], NFD: [0x0FA1, 0x0FB7], NFKC: [0x0FA1, 0x0FB7], NFKD: [0x0FA1, 0x0FB7] }, -{ source: [0x0FA7], NFC: [0x0FA6, 0x0FB7], NFD: [0x0FA6, 0x0FB7], NFKC: [0x0FA6, 0x0FB7], NFKD: [0x0FA6, 0x0FB7] }, -{ source: [0x0FAC], NFC: [0x0FAB, 0x0FB7], NFD: [0x0FAB, 0x0FB7], NFKC: [0x0FAB, 0x0FB7], NFKD: [0x0FAB, 0x0FB7] }, -{ source: [0x0FB9], NFC: [0x0F90, 0x0FB5], NFD: [0x0F90, 0x0FB5], NFKC: [0x0F90, 0x0FB5], NFKD: [0x0F90, 0x0FB5] }, -{ source: [0x1026], NFC: [0x1026], NFD: [0x1025, 0x102E], NFKC: [0x1026], NFKD: [0x1025, 0x102E] }, -{ source: [0x10FC], NFC: [0x10FC], NFD: [0x10FC], NFKC: [0x10DC], NFKD: [0x10DC] }, -{ source: [0x1B06], NFC: [0x1B06], NFD: [0x1B05, 0x1B35], NFKC: [0x1B06], NFKD: [0x1B05, 0x1B35] }, -{ source: [0x1B08], NFC: [0x1B08], NFD: [0x1B07, 0x1B35], NFKC: [0x1B08], NFKD: [0x1B07, 0x1B35] }, -{ source: [0x1B0A], NFC: [0x1B0A], NFD: [0x1B09, 0x1B35], NFKC: [0x1B0A], NFKD: [0x1B09, 0x1B35] }, -{ source: [0x1B0C], NFC: [0x1B0C], NFD: [0x1B0B, 0x1B35], NFKC: [0x1B0C], NFKD: [0x1B0B, 0x1B35] }, -{ source: [0x1B0E], NFC: [0x1B0E], NFD: [0x1B0D, 0x1B35], NFKC: [0x1B0E], NFKD: [0x1B0D, 0x1B35] }, -{ source: [0x1B12], NFC: [0x1B12], NFD: [0x1B11, 0x1B35], NFKC: [0x1B12], NFKD: [0x1B11, 0x1B35] }, -{ source: [0x1B3B], NFC: [0x1B3B], NFD: [0x1B3A, 0x1B35], NFKC: [0x1B3B], NFKD: [0x1B3A, 0x1B35] }, -{ source: [0x1B3D], NFC: [0x1B3D], NFD: [0x1B3C, 0x1B35], NFKC: [0x1B3D], NFKD: [0x1B3C, 0x1B35] }, -{ source: [0x1B40], NFC: [0x1B40], NFD: [0x1B3E, 0x1B35], NFKC: [0x1B40], NFKD: [0x1B3E, 0x1B35] }, -{ source: [0x1B41], NFC: [0x1B41], NFD: [0x1B3F, 0x1B35], NFKC: [0x1B41], NFKD: [0x1B3F, 0x1B35] }, -{ source: [0x1B43], NFC: [0x1B43], NFD: [0x1B42, 0x1B35], NFKC: [0x1B43], NFKD: [0x1B42, 0x1B35] }, -{ source: [0x1D2C], NFC: [0x1D2C], NFD: [0x1D2C], NFKC: [0x0041], NFKD: [0x0041] }, -{ source: [0x1D2D], NFC: [0x1D2D], NFD: [0x1D2D], NFKC: [0x00C6], NFKD: [0x00C6] }, -{ source: [0x1D2E], NFC: [0x1D2E], NFD: [0x1D2E], NFKC: [0x0042], NFKD: [0x0042] }, -{ source: [0x1D30], NFC: [0x1D30], NFD: [0x1D30], NFKC: [0x0044], NFKD: [0x0044] }, -{ source: [0x1D31], NFC: [0x1D31], NFD: [0x1D31], NFKC: [0x0045], NFKD: [0x0045] }, -{ source: [0x1D32], NFC: [0x1D32], NFD: [0x1D32], NFKC: [0x018E], NFKD: [0x018E] }, -{ source: [0x1D33], NFC: [0x1D33], NFD: [0x1D33], NFKC: [0x0047], NFKD: [0x0047] }, -{ source: [0x1D34], NFC: [0x1D34], NFD: [0x1D34], NFKC: [0x0048], NFKD: [0x0048] }, -{ source: [0x1D35], NFC: [0x1D35], NFD: [0x1D35], NFKC: [0x0049], NFKD: [0x0049] }, -{ source: [0x1D36], NFC: [0x1D36], NFD: [0x1D36], NFKC: [0x004A], NFKD: [0x004A] }, -{ source: [0x1D37], NFC: [0x1D37], NFD: [0x1D37], NFKC: [0x004B], NFKD: [0x004B] }, -{ source: [0x1D38], NFC: [0x1D38], NFD: [0x1D38], NFKC: [0x004C], NFKD: [0x004C] }, -{ source: [0x1D39], NFC: [0x1D39], NFD: [0x1D39], NFKC: [0x004D], NFKD: [0x004D] }, -{ source: [0x1D3A], NFC: [0x1D3A], NFD: [0x1D3A], NFKC: [0x004E], NFKD: [0x004E] }, -{ source: [0x1D3C], NFC: [0x1D3C], NFD: [0x1D3C], NFKC: [0x004F], NFKD: [0x004F] }, -{ source: [0x1D3D], NFC: [0x1D3D], NFD: [0x1D3D], NFKC: [0x0222], NFKD: [0x0222] }, -{ source: [0x1D3E], NFC: [0x1D3E], NFD: [0x1D3E], NFKC: [0x0050], NFKD: [0x0050] }, -{ source: [0x1D3F], NFC: [0x1D3F], NFD: [0x1D3F], NFKC: [0x0052], NFKD: [0x0052] }, -{ source: [0x1D40], NFC: [0x1D40], NFD: [0x1D40], NFKC: [0x0054], NFKD: [0x0054] }, -{ source: [0x1D41], NFC: [0x1D41], NFD: [0x1D41], NFKC: [0x0055], NFKD: [0x0055] }, -{ source: [0x1D42], NFC: [0x1D42], NFD: [0x1D42], NFKC: [0x0057], NFKD: [0x0057] }, -{ source: [0x1D43], NFC: [0x1D43], NFD: [0x1D43], NFKC: [0x0061], NFKD: [0x0061] }, -{ source: [0x1D44], NFC: [0x1D44], NFD: [0x1D44], NFKC: [0x0250], NFKD: [0x0250] }, -{ source: [0x1D45], NFC: [0x1D45], NFD: [0x1D45], NFKC: [0x0251], NFKD: [0x0251] }, -{ source: [0x1D46], NFC: [0x1D46], NFD: [0x1D46], NFKC: [0x1D02], NFKD: [0x1D02] }, -{ source: [0x1D47], NFC: [0x1D47], NFD: [0x1D47], NFKC: [0x0062], NFKD: [0x0062] }, -{ source: [0x1D48], NFC: [0x1D48], NFD: [0x1D48], NFKC: [0x0064], NFKD: [0x0064] }, -{ source: [0x1D49], NFC: [0x1D49], NFD: [0x1D49], NFKC: [0x0065], NFKD: [0x0065] }, -{ source: [0x1D4A], NFC: [0x1D4A], NFD: [0x1D4A], NFKC: [0x0259], NFKD: [0x0259] }, -{ source: [0x1D4B], NFC: [0x1D4B], NFD: [0x1D4B], NFKC: [0x025B], NFKD: [0x025B] }, -{ source: [0x1D4C], NFC: [0x1D4C], NFD: [0x1D4C], NFKC: [0x025C], NFKD: [0x025C] }, -{ source: [0x1D4D], NFC: [0x1D4D], NFD: [0x1D4D], NFKC: [0x0067], NFKD: [0x0067] }, -{ source: [0x1D4F], NFC: [0x1D4F], NFD: [0x1D4F], NFKC: [0x006B], NFKD: [0x006B] }, -{ source: [0x1D50], NFC: [0x1D50], NFD: [0x1D50], NFKC: [0x006D], NFKD: [0x006D] }, -{ source: [0x1D51], NFC: [0x1D51], NFD: [0x1D51], NFKC: [0x014B], NFKD: [0x014B] }, -{ source: [0x1D52], NFC: [0x1D52], NFD: [0x1D52], NFKC: [0x006F], NFKD: [0x006F] }, -{ source: [0x1D53], NFC: [0x1D53], NFD: [0x1D53], NFKC: [0x0254], NFKD: [0x0254] }, -{ source: [0x1D54], NFC: [0x1D54], NFD: [0x1D54], NFKC: [0x1D16], NFKD: [0x1D16] }, -{ source: [0x1D55], NFC: [0x1D55], NFD: [0x1D55], NFKC: [0x1D17], NFKD: [0x1D17] }, -{ source: [0x1D56], NFC: [0x1D56], NFD: [0x1D56], NFKC: [0x0070], NFKD: [0x0070] }, -{ source: [0x1D57], NFC: [0x1D57], NFD: [0x1D57], NFKC: [0x0074], NFKD: [0x0074] }, -{ source: [0x1D58], NFC: [0x1D58], NFD: [0x1D58], NFKC: [0x0075], NFKD: [0x0075] }, -{ source: [0x1D59], NFC: [0x1D59], NFD: [0x1D59], NFKC: [0x1D1D], NFKD: [0x1D1D] }, -{ source: [0x1D5A], NFC: [0x1D5A], NFD: [0x1D5A], NFKC: [0x026F], NFKD: [0x026F] }, -{ source: [0x1D5B], NFC: [0x1D5B], NFD: [0x1D5B], NFKC: [0x0076], NFKD: [0x0076] }, -{ source: [0x1D5C], NFC: [0x1D5C], NFD: [0x1D5C], NFKC: [0x1D25], NFKD: [0x1D25] }, -{ source: [0x1D5D], NFC: [0x1D5D], NFD: [0x1D5D], NFKC: [0x03B2], NFKD: [0x03B2] }, -{ source: [0x1D5E], NFC: [0x1D5E], NFD: [0x1D5E], NFKC: [0x03B3], NFKD: [0x03B3] }, -{ source: [0x1D5F], NFC: [0x1D5F], NFD: [0x1D5F], NFKC: [0x03B4], NFKD: [0x03B4] }, -{ source: [0x1D60], NFC: [0x1D60], NFD: [0x1D60], NFKC: [0x03C6], NFKD: [0x03C6] }, -{ source: [0x1D61], NFC: [0x1D61], NFD: [0x1D61], NFKC: [0x03C7], NFKD: [0x03C7] }, -{ source: [0x1D62], NFC: [0x1D62], NFD: [0x1D62], NFKC: [0x0069], NFKD: [0x0069] }, -{ source: [0x1D63], NFC: [0x1D63], NFD: [0x1D63], NFKC: [0x0072], NFKD: [0x0072] }, -{ source: [0x1D64], NFC: [0x1D64], NFD: [0x1D64], NFKC: [0x0075], NFKD: [0x0075] }, -{ source: [0x1D65], NFC: [0x1D65], NFD: [0x1D65], NFKC: [0x0076], NFKD: [0x0076] }, -{ source: [0x1D66], NFC: [0x1D66], NFD: [0x1D66], NFKC: [0x03B2], NFKD: [0x03B2] }, -{ source: [0x1D67], NFC: [0x1D67], NFD: [0x1D67], NFKC: [0x03B3], NFKD: [0x03B3] }, -{ source: [0x1D68], NFC: [0x1D68], NFD: [0x1D68], NFKC: [0x03C1], NFKD: [0x03C1] }, -{ source: [0x1D69], NFC: [0x1D69], NFD: [0x1D69], NFKC: [0x03C6], NFKD: [0x03C6] }, -{ source: [0x1D6A], NFC: [0x1D6A], NFD: [0x1D6A], NFKC: [0x03C7], NFKD: [0x03C7] }, -{ source: [0x1D78], NFC: [0x1D78], NFD: [0x1D78], NFKC: [0x043D], NFKD: [0x043D] }, -{ source: [0x1D9B], NFC: [0x1D9B], NFD: [0x1D9B], NFKC: [0x0252], NFKD: [0x0252] }, -{ source: [0x1D9C], NFC: [0x1D9C], NFD: [0x1D9C], NFKC: [0x0063], NFKD: [0x0063] }, -{ source: [0x1D9D], NFC: [0x1D9D], NFD: [0x1D9D], NFKC: [0x0255], NFKD: [0x0255] }, -{ source: [0x1D9E], NFC: [0x1D9E], NFD: [0x1D9E], NFKC: [0x00F0], NFKD: [0x00F0] }, -{ source: [0x1D9F], NFC: [0x1D9F], NFD: [0x1D9F], NFKC: [0x025C], NFKD: [0x025C] }, -{ source: [0x1DA0], NFC: [0x1DA0], NFD: [0x1DA0], NFKC: [0x0066], NFKD: [0x0066] }, -{ source: [0x1DA1], NFC: [0x1DA1], NFD: [0x1DA1], NFKC: [0x025F], NFKD: [0x025F] }, -{ source: [0x1DA2], NFC: [0x1DA2], NFD: [0x1DA2], NFKC: [0x0261], NFKD: [0x0261] }, -{ source: [0x1DA3], NFC: [0x1DA3], NFD: [0x1DA3], NFKC: [0x0265], NFKD: [0x0265] }, -{ source: [0x1DA4], NFC: [0x1DA4], NFD: [0x1DA4], NFKC: [0x0268], NFKD: [0x0268] }, -{ source: [0x1DA5], NFC: [0x1DA5], NFD: [0x1DA5], NFKC: [0x0269], NFKD: [0x0269] }, -{ source: [0x1DA6], NFC: [0x1DA6], NFD: [0x1DA6], NFKC: [0x026A], NFKD: [0x026A] }, -{ source: [0x1DA7], NFC: [0x1DA7], NFD: [0x1DA7], NFKC: [0x1D7B], NFKD: [0x1D7B] }, -{ source: [0x1DA8], NFC: [0x1DA8], NFD: [0x1DA8], NFKC: [0x029D], NFKD: [0x029D] }, -{ source: [0x1DA9], NFC: [0x1DA9], NFD: [0x1DA9], NFKC: [0x026D], NFKD: [0x026D] }, -{ source: [0x1DAA], NFC: [0x1DAA], NFD: [0x1DAA], NFKC: [0x1D85], NFKD: [0x1D85] }, -{ source: [0x1DAB], NFC: [0x1DAB], NFD: [0x1DAB], NFKC: [0x029F], NFKD: [0x029F] }, -{ source: [0x1DAC], NFC: [0x1DAC], NFD: [0x1DAC], NFKC: [0x0271], NFKD: [0x0271] }, -{ source: [0x1DAD], NFC: [0x1DAD], NFD: [0x1DAD], NFKC: [0x0270], NFKD: [0x0270] }, -{ source: [0x1DAE], NFC: [0x1DAE], NFD: [0x1DAE], NFKC: [0x0272], NFKD: [0x0272] }, -{ source: [0x1DAF], NFC: [0x1DAF], NFD: [0x1DAF], NFKC: [0x0273], NFKD: [0x0273] }, -{ source: [0x1DB0], NFC: [0x1DB0], NFD: [0x1DB0], NFKC: [0x0274], NFKD: [0x0274] }, -{ source: [0x1DB1], NFC: [0x1DB1], NFD: [0x1DB1], NFKC: [0x0275], NFKD: [0x0275] }, -{ source: [0x1DB2], NFC: [0x1DB2], NFD: [0x1DB2], NFKC: [0x0278], NFKD: [0x0278] }, -{ source: [0x1DB3], NFC: [0x1DB3], NFD: [0x1DB3], NFKC: [0x0282], NFKD: [0x0282] }, -{ source: [0x1DB4], NFC: [0x1DB4], NFD: [0x1DB4], NFKC: [0x0283], NFKD: [0x0283] }, -{ source: [0x1DB5], NFC: [0x1DB5], NFD: [0x1DB5], NFKC: [0x01AB], NFKD: [0x01AB] }, -{ source: [0x1DB6], NFC: [0x1DB6], NFD: [0x1DB6], NFKC: [0x0289], NFKD: [0x0289] }, -{ source: [0x1DB7], NFC: [0x1DB7], NFD: [0x1DB7], NFKC: [0x028A], NFKD: [0x028A] }, -{ source: [0x1DB8], NFC: [0x1DB8], NFD: [0x1DB8], NFKC: [0x1D1C], NFKD: [0x1D1C] }, -{ source: [0x1DB9], NFC: [0x1DB9], NFD: [0x1DB9], NFKC: [0x028B], NFKD: [0x028B] }, -{ source: [0x1DBA], NFC: [0x1DBA], NFD: [0x1DBA], NFKC: [0x028C], NFKD: [0x028C] }, -{ source: [0x1DBB], NFC: [0x1DBB], NFD: [0x1DBB], NFKC: [0x007A], NFKD: [0x007A] }, -{ source: [0x1DBC], NFC: [0x1DBC], NFD: [0x1DBC], NFKC: [0x0290], NFKD: [0x0290] }, -{ source: [0x1DBD], NFC: [0x1DBD], NFD: [0x1DBD], NFKC: [0x0291], NFKD: [0x0291] }, -{ source: [0x1DBE], NFC: [0x1DBE], NFD: [0x1DBE], NFKC: [0x0292], NFKD: [0x0292] }, -{ source: [0x1DBF], NFC: [0x1DBF], NFD: [0x1DBF], NFKC: [0x03B8], NFKD: [0x03B8] }, -{ source: [0x1E00], NFC: [0x1E00], NFD: [0x0041, 0x0325], NFKC: [0x1E00], NFKD: [0x0041, 0x0325] }, -{ source: [0x1E01], NFC: [0x1E01], NFD: [0x0061, 0x0325], NFKC: [0x1E01], NFKD: [0x0061, 0x0325] }, -{ source: [0x1E02], NFC: [0x1E02], NFD: [0x0042, 0x0307], NFKC: [0x1E02], NFKD: [0x0042, 0x0307] }, -{ source: [0x1E03], NFC: [0x1E03], NFD: [0x0062, 0x0307], NFKC: [0x1E03], NFKD: [0x0062, 0x0307] }, -{ source: [0x1E04], NFC: [0x1E04], NFD: [0x0042, 0x0323], NFKC: [0x1E04], NFKD: [0x0042, 0x0323] }, -{ source: [0x1E05], NFC: [0x1E05], NFD: [0x0062, 0x0323], NFKC: [0x1E05], NFKD: [0x0062, 0x0323] }, -{ source: [0x1E06], NFC: [0x1E06], NFD: [0x0042, 0x0331], NFKC: [0x1E06], NFKD: [0x0042, 0x0331] }, -{ source: [0x1E07], NFC: [0x1E07], NFD: [0x0062, 0x0331], NFKC: [0x1E07], NFKD: [0x0062, 0x0331] }, -{ source: [0x1E08], NFC: [0x1E08], NFD: [0x0043, 0x0327, 0x0301], NFKC: [0x1E08], NFKD: [0x0043, 0x0327, 0x0301] }, -{ source: [0x1E09], NFC: [0x1E09], NFD: [0x0063, 0x0327, 0x0301], NFKC: [0x1E09], NFKD: [0x0063, 0x0327, 0x0301] }, -{ source: [0x1E0A], NFC: [0x1E0A], NFD: [0x0044, 0x0307], NFKC: [0x1E0A], NFKD: [0x0044, 0x0307] }, -{ source: [0x1E0B], NFC: [0x1E0B], NFD: [0x0064, 0x0307], NFKC: [0x1E0B], NFKD: [0x0064, 0x0307] }, -{ source: [0x1E0C], NFC: [0x1E0C], NFD: [0x0044, 0x0323], NFKC: [0x1E0C], NFKD: [0x0044, 0x0323] }, -{ source: [0x1E0D], NFC: [0x1E0D], NFD: [0x0064, 0x0323], NFKC: [0x1E0D], NFKD: [0x0064, 0x0323] }, -{ source: [0x1E0E], NFC: [0x1E0E], NFD: [0x0044, 0x0331], NFKC: [0x1E0E], NFKD: [0x0044, 0x0331] }, -{ source: [0x1E0F], NFC: [0x1E0F], NFD: [0x0064, 0x0331], NFKC: [0x1E0F], NFKD: [0x0064, 0x0331] }, -{ source: [0x1E10], NFC: [0x1E10], NFD: [0x0044, 0x0327], NFKC: [0x1E10], NFKD: [0x0044, 0x0327] }, -{ source: [0x1E11], NFC: [0x1E11], NFD: [0x0064, 0x0327], NFKC: [0x1E11], NFKD: [0x0064, 0x0327] }, -{ source: [0x1E12], NFC: [0x1E12], NFD: [0x0044, 0x032D], NFKC: [0x1E12], NFKD: [0x0044, 0x032D] }, -{ source: [0x1E13], NFC: [0x1E13], NFD: [0x0064, 0x032D], NFKC: [0x1E13], NFKD: [0x0064, 0x032D] }, -{ source: [0x1E14], NFC: [0x1E14], NFD: [0x0045, 0x0304, 0x0300], NFKC: [0x1E14], NFKD: [0x0045, 0x0304, 0x0300] }, -{ source: [0x1E15], NFC: [0x1E15], NFD: [0x0065, 0x0304, 0x0300], NFKC: [0x1E15], NFKD: [0x0065, 0x0304, 0x0300] }, -{ source: [0x1E16], NFC: [0x1E16], NFD: [0x0045, 0x0304, 0x0301], NFKC: [0x1E16], NFKD: [0x0045, 0x0304, 0x0301] }, -{ source: [0x1E17], NFC: [0x1E17], NFD: [0x0065, 0x0304, 0x0301], NFKC: [0x1E17], NFKD: [0x0065, 0x0304, 0x0301] }, -{ source: [0x1E18], NFC: [0x1E18], NFD: [0x0045, 0x032D], NFKC: [0x1E18], NFKD: [0x0045, 0x032D] }, -{ source: [0x1E19], NFC: [0x1E19], NFD: [0x0065, 0x032D], NFKC: [0x1E19], NFKD: [0x0065, 0x032D] }, -{ source: [0x1E1A], NFC: [0x1E1A], NFD: [0x0045, 0x0330], NFKC: [0x1E1A], NFKD: [0x0045, 0x0330] }, -{ source: [0x1E1B], NFC: [0x1E1B], NFD: [0x0065, 0x0330], NFKC: [0x1E1B], NFKD: [0x0065, 0x0330] }, -{ source: [0x1E1C], NFC: [0x1E1C], NFD: [0x0045, 0x0327, 0x0306], NFKC: [0x1E1C], NFKD: [0x0045, 0x0327, 0x0306] }, -{ source: [0x1E1D], NFC: [0x1E1D], NFD: [0x0065, 0x0327, 0x0306], NFKC: [0x1E1D], NFKD: [0x0065, 0x0327, 0x0306] }, -{ source: [0x1E1E], NFC: [0x1E1E], NFD: [0x0046, 0x0307], NFKC: [0x1E1E], NFKD: [0x0046, 0x0307] }, -{ source: [0x1E1F], NFC: [0x1E1F], NFD: [0x0066, 0x0307], NFKC: [0x1E1F], NFKD: [0x0066, 0x0307] }, -{ source: [0x1E20], NFC: [0x1E20], NFD: [0x0047, 0x0304], NFKC: [0x1E20], NFKD: [0x0047, 0x0304] }, -{ source: [0x1E21], NFC: [0x1E21], NFD: [0x0067, 0x0304], NFKC: [0x1E21], NFKD: [0x0067, 0x0304] }, -{ source: [0x1E22], NFC: [0x1E22], NFD: [0x0048, 0x0307], NFKC: [0x1E22], NFKD: [0x0048, 0x0307] }, -{ source: [0x1E23], NFC: [0x1E23], NFD: [0x0068, 0x0307], NFKC: [0x1E23], NFKD: [0x0068, 0x0307] }, -{ source: [0x1E24], NFC: [0x1E24], NFD: [0x0048, 0x0323], NFKC: [0x1E24], NFKD: [0x0048, 0x0323] }, -{ source: [0x1E25], NFC: [0x1E25], NFD: [0x0068, 0x0323], NFKC: [0x1E25], NFKD: [0x0068, 0x0323] }, -{ source: [0x1E26], NFC: [0x1E26], NFD: [0x0048, 0x0308], NFKC: [0x1E26], NFKD: [0x0048, 0x0308] }, -{ source: [0x1E27], NFC: [0x1E27], NFD: [0x0068, 0x0308], NFKC: [0x1E27], NFKD: [0x0068, 0x0308] }, -{ source: [0x1E28], NFC: [0x1E28], NFD: [0x0048, 0x0327], NFKC: [0x1E28], NFKD: [0x0048, 0x0327] }, -{ source: [0x1E29], NFC: [0x1E29], NFD: [0x0068, 0x0327], NFKC: [0x1E29], NFKD: [0x0068, 0x0327] }, -{ source: [0x1E2A], NFC: [0x1E2A], NFD: [0x0048, 0x032E], NFKC: [0x1E2A], NFKD: [0x0048, 0x032E] }, -{ source: [0x1E2B], NFC: [0x1E2B], NFD: [0x0068, 0x032E], NFKC: [0x1E2B], NFKD: [0x0068, 0x032E] }, -{ source: [0x1E2C], NFC: [0x1E2C], NFD: [0x0049, 0x0330], NFKC: [0x1E2C], NFKD: [0x0049, 0x0330] }, -{ source: [0x1E2D], NFC: [0x1E2D], NFD: [0x0069, 0x0330], NFKC: [0x1E2D], NFKD: [0x0069, 0x0330] }, -{ source: [0x1E2E], NFC: [0x1E2E], NFD: [0x0049, 0x0308, 0x0301], NFKC: [0x1E2E], NFKD: [0x0049, 0x0308, 0x0301] }, -{ source: [0x1E2F], NFC: [0x1E2F], NFD: [0x0069, 0x0308, 0x0301], NFKC: [0x1E2F], NFKD: [0x0069, 0x0308, 0x0301] }, -{ source: [0x1E30], NFC: [0x1E30], NFD: [0x004B, 0x0301], NFKC: [0x1E30], NFKD: [0x004B, 0x0301] }, -{ source: [0x1E31], NFC: [0x1E31], NFD: [0x006B, 0x0301], NFKC: [0x1E31], NFKD: [0x006B, 0x0301] }, -{ source: [0x1E32], NFC: [0x1E32], NFD: [0x004B, 0x0323], NFKC: [0x1E32], NFKD: [0x004B, 0x0323] }, -{ source: [0x1E33], NFC: [0x1E33], NFD: [0x006B, 0x0323], NFKC: [0x1E33], NFKD: [0x006B, 0x0323] }, -{ source: [0x1E34], NFC: [0x1E34], NFD: [0x004B, 0x0331], NFKC: [0x1E34], NFKD: [0x004B, 0x0331] }, -{ source: [0x1E35], NFC: [0x1E35], NFD: [0x006B, 0x0331], NFKC: [0x1E35], NFKD: [0x006B, 0x0331] }, -{ source: [0x1E36], NFC: [0x1E36], NFD: [0x004C, 0x0323], NFKC: [0x1E36], NFKD: [0x004C, 0x0323] }, -{ source: [0x1E37], NFC: [0x1E37], NFD: [0x006C, 0x0323], NFKC: [0x1E37], NFKD: [0x006C, 0x0323] }, -{ source: [0x1E38], NFC: [0x1E38], NFD: [0x004C, 0x0323, 0x0304], NFKC: [0x1E38], NFKD: [0x004C, 0x0323, 0x0304] }, -{ source: [0x1E39], NFC: [0x1E39], NFD: [0x006C, 0x0323, 0x0304], NFKC: [0x1E39], NFKD: [0x006C, 0x0323, 0x0304] }, -{ source: [0x1E3A], NFC: [0x1E3A], NFD: [0x004C, 0x0331], NFKC: [0x1E3A], NFKD: [0x004C, 0x0331] }, -{ source: [0x1E3B], NFC: [0x1E3B], NFD: [0x006C, 0x0331], NFKC: [0x1E3B], NFKD: [0x006C, 0x0331] }, -{ source: [0x1E3C], NFC: [0x1E3C], NFD: [0x004C, 0x032D], NFKC: [0x1E3C], NFKD: [0x004C, 0x032D] }, -{ source: [0x1E3D], NFC: [0x1E3D], NFD: [0x006C, 0x032D], NFKC: [0x1E3D], NFKD: [0x006C, 0x032D] }, -{ source: [0x1E3E], NFC: [0x1E3E], NFD: [0x004D, 0x0301], NFKC: [0x1E3E], NFKD: [0x004D, 0x0301] }, -{ source: [0x1E3F], NFC: [0x1E3F], NFD: [0x006D, 0x0301], NFKC: [0x1E3F], NFKD: [0x006D, 0x0301] }, -{ source: [0x1E40], NFC: [0x1E40], NFD: [0x004D, 0x0307], NFKC: [0x1E40], NFKD: [0x004D, 0x0307] }, -{ source: [0x1E41], NFC: [0x1E41], NFD: [0x006D, 0x0307], NFKC: [0x1E41], NFKD: [0x006D, 0x0307] }, -{ source: [0x1E42], NFC: [0x1E42], NFD: [0x004D, 0x0323], NFKC: [0x1E42], NFKD: [0x004D, 0x0323] }, -{ source: [0x1E43], NFC: [0x1E43], NFD: [0x006D, 0x0323], NFKC: [0x1E43], NFKD: [0x006D, 0x0323] }, -{ source: [0x1E44], NFC: [0x1E44], NFD: [0x004E, 0x0307], NFKC: [0x1E44], NFKD: [0x004E, 0x0307] }, -{ source: [0x1E45], NFC: [0x1E45], NFD: [0x006E, 0x0307], NFKC: [0x1E45], NFKD: [0x006E, 0x0307] }, -{ source: [0x1E46], NFC: [0x1E46], NFD: [0x004E, 0x0323], NFKC: [0x1E46], NFKD: [0x004E, 0x0323] }, -{ source: [0x1E47], NFC: [0x1E47], NFD: [0x006E, 0x0323], NFKC: [0x1E47], NFKD: [0x006E, 0x0323] }, -{ source: [0x1E48], NFC: [0x1E48], NFD: [0x004E, 0x0331], NFKC: [0x1E48], NFKD: [0x004E, 0x0331] }, -{ source: [0x1E49], NFC: [0x1E49], NFD: [0x006E, 0x0331], NFKC: [0x1E49], NFKD: [0x006E, 0x0331] }, -{ source: [0x1E4A], NFC: [0x1E4A], NFD: [0x004E, 0x032D], NFKC: [0x1E4A], NFKD: [0x004E, 0x032D] }, -{ source: [0x1E4B], NFC: [0x1E4B], NFD: [0x006E, 0x032D], NFKC: [0x1E4B], NFKD: [0x006E, 0x032D] }, -{ source: [0x1E4C], NFC: [0x1E4C], NFD: [0x004F, 0x0303, 0x0301], NFKC: [0x1E4C], NFKD: [0x004F, 0x0303, 0x0301] }, -{ source: [0x1E4D], NFC: [0x1E4D], NFD: [0x006F, 0x0303, 0x0301], NFKC: [0x1E4D], NFKD: [0x006F, 0x0303, 0x0301] }, -{ source: [0x1E4E], NFC: [0x1E4E], NFD: [0x004F, 0x0303, 0x0308], NFKC: [0x1E4E], NFKD: [0x004F, 0x0303, 0x0308] }, -{ source: [0x1E4F], NFC: [0x1E4F], NFD: [0x006F, 0x0303, 0x0308], NFKC: [0x1E4F], NFKD: [0x006F, 0x0303, 0x0308] }, -{ source: [0x1E50], NFC: [0x1E50], NFD: [0x004F, 0x0304, 0x0300], NFKC: [0x1E50], NFKD: [0x004F, 0x0304, 0x0300] }, -{ source: [0x1E51], NFC: [0x1E51], NFD: [0x006F, 0x0304, 0x0300], NFKC: [0x1E51], NFKD: [0x006F, 0x0304, 0x0300] }, -{ source: [0x1E52], NFC: [0x1E52], NFD: [0x004F, 0x0304, 0x0301], NFKC: [0x1E52], NFKD: [0x004F, 0x0304, 0x0301] }, -{ source: [0x1E53], NFC: [0x1E53], NFD: [0x006F, 0x0304, 0x0301], NFKC: [0x1E53], NFKD: [0x006F, 0x0304, 0x0301] }, -{ source: [0x1E54], NFC: [0x1E54], NFD: [0x0050, 0x0301], NFKC: [0x1E54], NFKD: [0x0050, 0x0301] }, -{ source: [0x1E55], NFC: [0x1E55], NFD: [0x0070, 0x0301], NFKC: [0x1E55], NFKD: [0x0070, 0x0301] }, -{ source: [0x1E56], NFC: [0x1E56], NFD: [0x0050, 0x0307], NFKC: [0x1E56], NFKD: [0x0050, 0x0307] }, -{ source: [0x1E57], NFC: [0x1E57], NFD: [0x0070, 0x0307], NFKC: [0x1E57], NFKD: [0x0070, 0x0307] }, -{ source: [0x1E58], NFC: [0x1E58], NFD: [0x0052, 0x0307], NFKC: [0x1E58], NFKD: [0x0052, 0x0307] }, -{ source: [0x1E59], NFC: [0x1E59], NFD: [0x0072, 0x0307], NFKC: [0x1E59], NFKD: [0x0072, 0x0307] }, -{ source: [0x1E5A], NFC: [0x1E5A], NFD: [0x0052, 0x0323], NFKC: [0x1E5A], NFKD: [0x0052, 0x0323] }, -{ source: [0x1E5B], NFC: [0x1E5B], NFD: [0x0072, 0x0323], NFKC: [0x1E5B], NFKD: [0x0072, 0x0323] }, -{ source: [0x1E5C], NFC: [0x1E5C], NFD: [0x0052, 0x0323, 0x0304], NFKC: [0x1E5C], NFKD: [0x0052, 0x0323, 0x0304] }, -{ source: [0x1E5D], NFC: [0x1E5D], NFD: [0x0072, 0x0323, 0x0304], NFKC: [0x1E5D], NFKD: [0x0072, 0x0323, 0x0304] }, -{ source: [0x1E5E], NFC: [0x1E5E], NFD: [0x0052, 0x0331], NFKC: [0x1E5E], NFKD: [0x0052, 0x0331] }, -{ source: [0x1E5F], NFC: [0x1E5F], NFD: [0x0072, 0x0331], NFKC: [0x1E5F], NFKD: [0x0072, 0x0331] }, -{ source: [0x1E60], NFC: [0x1E60], NFD: [0x0053, 0x0307], NFKC: [0x1E60], NFKD: [0x0053, 0x0307] }, -{ source: [0x1E61], NFC: [0x1E61], NFD: [0x0073, 0x0307], NFKC: [0x1E61], NFKD: [0x0073, 0x0307] }, -{ source: [0x1E62], NFC: [0x1E62], NFD: [0x0053, 0x0323], NFKC: [0x1E62], NFKD: [0x0053, 0x0323] }, -{ source: [0x1E63], NFC: [0x1E63], NFD: [0x0073, 0x0323], NFKC: [0x1E63], NFKD: [0x0073, 0x0323] }, -{ source: [0x1E64], NFC: [0x1E64], NFD: [0x0053, 0x0301, 0x0307], NFKC: [0x1E64], NFKD: [0x0053, 0x0301, 0x0307] }, -{ source: [0x1E65], NFC: [0x1E65], NFD: [0x0073, 0x0301, 0x0307], NFKC: [0x1E65], NFKD: [0x0073, 0x0301, 0x0307] }, -{ source: [0x1E66], NFC: [0x1E66], NFD: [0x0053, 0x030C, 0x0307], NFKC: [0x1E66], NFKD: [0x0053, 0x030C, 0x0307] }, -{ source: [0x1E67], NFC: [0x1E67], NFD: [0x0073, 0x030C, 0x0307], NFKC: [0x1E67], NFKD: [0x0073, 0x030C, 0x0307] }, -{ source: [0x1E68], NFC: [0x1E68], NFD: [0x0053, 0x0323, 0x0307], NFKC: [0x1E68], NFKD: [0x0053, 0x0323, 0x0307] }, -{ source: [0x1E69], NFC: [0x1E69], NFD: [0x0073, 0x0323, 0x0307], NFKC: [0x1E69], NFKD: [0x0073, 0x0323, 0x0307] }, -{ source: [0x1E6A], NFC: [0x1E6A], NFD: [0x0054, 0x0307], NFKC: [0x1E6A], NFKD: [0x0054, 0x0307] }, -{ source: [0x1E6B], NFC: [0x1E6B], NFD: [0x0074, 0x0307], NFKC: [0x1E6B], NFKD: [0x0074, 0x0307] }, -{ source: [0x1E6C], NFC: [0x1E6C], NFD: [0x0054, 0x0323], NFKC: [0x1E6C], NFKD: [0x0054, 0x0323] }, -{ source: [0x1E6D], NFC: [0x1E6D], NFD: [0x0074, 0x0323], NFKC: [0x1E6D], NFKD: [0x0074, 0x0323] }, -{ source: [0x1E6E], NFC: [0x1E6E], NFD: [0x0054, 0x0331], NFKC: [0x1E6E], NFKD: [0x0054, 0x0331] }, -{ source: [0x1E6F], NFC: [0x1E6F], NFD: [0x0074, 0x0331], NFKC: [0x1E6F], NFKD: [0x0074, 0x0331] }, -{ source: [0x1E70], NFC: [0x1E70], NFD: [0x0054, 0x032D], NFKC: [0x1E70], NFKD: [0x0054, 0x032D] }, -{ source: [0x1E71], NFC: [0x1E71], NFD: [0x0074, 0x032D], NFKC: [0x1E71], NFKD: [0x0074, 0x032D] }, -{ source: [0x1E72], NFC: [0x1E72], NFD: [0x0055, 0x0324], NFKC: [0x1E72], NFKD: [0x0055, 0x0324] }, -{ source: [0x1E73], NFC: [0x1E73], NFD: [0x0075, 0x0324], NFKC: [0x1E73], NFKD: [0x0075, 0x0324] }, -{ source: [0x1E74], NFC: [0x1E74], NFD: [0x0055, 0x0330], NFKC: [0x1E74], NFKD: [0x0055, 0x0330] }, -{ source: [0x1E75], NFC: [0x1E75], NFD: [0x0075, 0x0330], NFKC: [0x1E75], NFKD: [0x0075, 0x0330] }, -{ source: [0x1E76], NFC: [0x1E76], NFD: [0x0055, 0x032D], NFKC: [0x1E76], NFKD: [0x0055, 0x032D] }, -{ source: [0x1E77], NFC: [0x1E77], NFD: [0x0075, 0x032D], NFKC: [0x1E77], NFKD: [0x0075, 0x032D] }, -{ source: [0x1E78], NFC: [0x1E78], NFD: [0x0055, 0x0303, 0x0301], NFKC: [0x1E78], NFKD: [0x0055, 0x0303, 0x0301] }, -{ source: [0x1E79], NFC: [0x1E79], NFD: [0x0075, 0x0303, 0x0301], NFKC: [0x1E79], NFKD: [0x0075, 0x0303, 0x0301] }, -{ source: [0x1E7A], NFC: [0x1E7A], NFD: [0x0055, 0x0304, 0x0308], NFKC: [0x1E7A], NFKD: [0x0055, 0x0304, 0x0308] }, -{ source: [0x1E7B], NFC: [0x1E7B], NFD: [0x0075, 0x0304, 0x0308], NFKC: [0x1E7B], NFKD: [0x0075, 0x0304, 0x0308] }, -{ source: [0x1E7C], NFC: [0x1E7C], NFD: [0x0056, 0x0303], NFKC: [0x1E7C], NFKD: [0x0056, 0x0303] }, -{ source: [0x1E7D], NFC: [0x1E7D], NFD: [0x0076, 0x0303], NFKC: [0x1E7D], NFKD: [0x0076, 0x0303] }, -{ source: [0x1E7E], NFC: [0x1E7E], NFD: [0x0056, 0x0323], NFKC: [0x1E7E], NFKD: [0x0056, 0x0323] }, -{ source: [0x1E7F], NFC: [0x1E7F], NFD: [0x0076, 0x0323], NFKC: [0x1E7F], NFKD: [0x0076, 0x0323] }, -{ source: [0x1E80], NFC: [0x1E80], NFD: [0x0057, 0x0300], NFKC: [0x1E80], NFKD: [0x0057, 0x0300] }, -{ source: [0x1E81], NFC: [0x1E81], NFD: [0x0077, 0x0300], NFKC: [0x1E81], NFKD: [0x0077, 0x0300] }, -{ source: [0x1E82], NFC: [0x1E82], NFD: [0x0057, 0x0301], NFKC: [0x1E82], NFKD: [0x0057, 0x0301] }, -{ source: [0x1E83], NFC: [0x1E83], NFD: [0x0077, 0x0301], NFKC: [0x1E83], NFKD: [0x0077, 0x0301] }, -{ source: [0x1E84], NFC: [0x1E84], NFD: [0x0057, 0x0308], NFKC: [0x1E84], NFKD: [0x0057, 0x0308] }, -{ source: [0x1E85], NFC: [0x1E85], NFD: [0x0077, 0x0308], NFKC: [0x1E85], NFKD: [0x0077, 0x0308] }, -{ source: [0x1E86], NFC: [0x1E86], NFD: [0x0057, 0x0307], NFKC: [0x1E86], NFKD: [0x0057, 0x0307] }, -{ source: [0x1E87], NFC: [0x1E87], NFD: [0x0077, 0x0307], NFKC: [0x1E87], NFKD: [0x0077, 0x0307] }, -{ source: [0x1E88], NFC: [0x1E88], NFD: [0x0057, 0x0323], NFKC: [0x1E88], NFKD: [0x0057, 0x0323] }, -{ source: [0x1E89], NFC: [0x1E89], NFD: [0x0077, 0x0323], NFKC: [0x1E89], NFKD: [0x0077, 0x0323] }, -{ source: [0x1E8A], NFC: [0x1E8A], NFD: [0x0058, 0x0307], NFKC: [0x1E8A], NFKD: [0x0058, 0x0307] }, -{ source: [0x1E8B], NFC: [0x1E8B], NFD: [0x0078, 0x0307], NFKC: [0x1E8B], NFKD: [0x0078, 0x0307] }, -{ source: [0x1E8C], NFC: [0x1E8C], NFD: [0x0058, 0x0308], NFKC: [0x1E8C], NFKD: [0x0058, 0x0308] }, -{ source: [0x1E8D], NFC: [0x1E8D], NFD: [0x0078, 0x0308], NFKC: [0x1E8D], NFKD: [0x0078, 0x0308] }, -{ source: [0x1E8E], NFC: [0x1E8E], NFD: [0x0059, 0x0307], NFKC: [0x1E8E], NFKD: [0x0059, 0x0307] }, -{ source: [0x1E8F], NFC: [0x1E8F], NFD: [0x0079, 0x0307], NFKC: [0x1E8F], NFKD: [0x0079, 0x0307] }, -{ source: [0x1E90], NFC: [0x1E90], NFD: [0x005A, 0x0302], NFKC: [0x1E90], NFKD: [0x005A, 0x0302] }, -{ source: [0x1E91], NFC: [0x1E91], NFD: [0x007A, 0x0302], NFKC: [0x1E91], NFKD: [0x007A, 0x0302] }, -{ source: [0x1E92], NFC: [0x1E92], NFD: [0x005A, 0x0323], NFKC: [0x1E92], NFKD: [0x005A, 0x0323] }, -{ source: [0x1E93], NFC: [0x1E93], NFD: [0x007A, 0x0323], NFKC: [0x1E93], NFKD: [0x007A, 0x0323] }, -{ source: [0x1E94], NFC: [0x1E94], NFD: [0x005A, 0x0331], NFKC: [0x1E94], NFKD: [0x005A, 0x0331] }, -{ source: [0x1E95], NFC: [0x1E95], NFD: [0x007A, 0x0331], NFKC: [0x1E95], NFKD: [0x007A, 0x0331] }, -{ source: [0x1E96], NFC: [0x1E96], NFD: [0x0068, 0x0331], NFKC: [0x1E96], NFKD: [0x0068, 0x0331] }, -{ source: [0x1E97], NFC: [0x1E97], NFD: [0x0074, 0x0308], NFKC: [0x1E97], NFKD: [0x0074, 0x0308] }, -{ source: [0x1E98], NFC: [0x1E98], NFD: [0x0077, 0x030A], NFKC: [0x1E98], NFKD: [0x0077, 0x030A] }, -{ source: [0x1E99], NFC: [0x1E99], NFD: [0x0079, 0x030A], NFKC: [0x1E99], NFKD: [0x0079, 0x030A] }, -{ source: [0x1E9A], NFC: [0x1E9A], NFD: [0x1E9A], NFKC: [0x0061, 0x02BE], NFKD: [0x0061, 0x02BE] }, -{ source: [0x1E9B], NFC: [0x1E9B], NFD: [0x017F, 0x0307], NFKC: [0x1E61], NFKD: [0x0073, 0x0307] }, -{ source: [0x1EA0], NFC: [0x1EA0], NFD: [0x0041, 0x0323], NFKC: [0x1EA0], NFKD: [0x0041, 0x0323] }, -{ source: [0x1EA1], NFC: [0x1EA1], NFD: [0x0061, 0x0323], NFKC: [0x1EA1], NFKD: [0x0061, 0x0323] }, -{ source: [0x1EA2], NFC: [0x1EA2], NFD: [0x0041, 0x0309], NFKC: [0x1EA2], NFKD: [0x0041, 0x0309] }, -{ source: [0x1EA3], NFC: [0x1EA3], NFD: [0x0061, 0x0309], NFKC: [0x1EA3], NFKD: [0x0061, 0x0309] }, -{ source: [0x1EA4], NFC: [0x1EA4], NFD: [0x0041, 0x0302, 0x0301], NFKC: [0x1EA4], NFKD: [0x0041, 0x0302, 0x0301] }, -{ source: [0x1EA5], NFC: [0x1EA5], NFD: [0x0061, 0x0302, 0x0301], NFKC: [0x1EA5], NFKD: [0x0061, 0x0302, 0x0301] }, -{ source: [0x1EA6], NFC: [0x1EA6], NFD: [0x0041, 0x0302, 0x0300], NFKC: [0x1EA6], NFKD: [0x0041, 0x0302, 0x0300] }, -{ source: [0x1EA7], NFC: [0x1EA7], NFD: [0x0061, 0x0302, 0x0300], NFKC: [0x1EA7], NFKD: [0x0061, 0x0302, 0x0300] }, -{ source: [0x1EA8], NFC: [0x1EA8], NFD: [0x0041, 0x0302, 0x0309], NFKC: [0x1EA8], NFKD: [0x0041, 0x0302, 0x0309] }, -{ source: [0x1EA9], NFC: [0x1EA9], NFD: [0x0061, 0x0302, 0x0309], NFKC: [0x1EA9], NFKD: [0x0061, 0x0302, 0x0309] }, -{ source: [0x1EAA], NFC: [0x1EAA], NFD: [0x0041, 0x0302, 0x0303], NFKC: [0x1EAA], NFKD: [0x0041, 0x0302, 0x0303] }, -{ source: [0x1EAB], NFC: [0x1EAB], NFD: [0x0061, 0x0302, 0x0303], NFKC: [0x1EAB], NFKD: [0x0061, 0x0302, 0x0303] }, -{ source: [0x1EAC], NFC: [0x1EAC], NFD: [0x0041, 0x0323, 0x0302], NFKC: [0x1EAC], NFKD: [0x0041, 0x0323, 0x0302] }, -{ source: [0x1EAD], NFC: [0x1EAD], NFD: [0x0061, 0x0323, 0x0302], NFKC: [0x1EAD], NFKD: [0x0061, 0x0323, 0x0302] }, -{ source: [0x1EAE], NFC: [0x1EAE], NFD: [0x0041, 0x0306, 0x0301], NFKC: [0x1EAE], NFKD: [0x0041, 0x0306, 0x0301] }, -{ source: [0x1EAF], NFC: [0x1EAF], NFD: [0x0061, 0x0306, 0x0301], NFKC: [0x1EAF], NFKD: [0x0061, 0x0306, 0x0301] }, -{ source: [0x1EB0], NFC: [0x1EB0], NFD: [0x0041, 0x0306, 0x0300], NFKC: [0x1EB0], NFKD: [0x0041, 0x0306, 0x0300] }, -{ source: [0x1EB1], NFC: [0x1EB1], NFD: [0x0061, 0x0306, 0x0300], NFKC: [0x1EB1], NFKD: [0x0061, 0x0306, 0x0300] }, -{ source: [0x1EB2], NFC: [0x1EB2], NFD: [0x0041, 0x0306, 0x0309], NFKC: [0x1EB2], NFKD: [0x0041, 0x0306, 0x0309] }, -{ source: [0x1EB3], NFC: [0x1EB3], NFD: [0x0061, 0x0306, 0x0309], NFKC: [0x1EB3], NFKD: [0x0061, 0x0306, 0x0309] }, -{ source: [0x1EB4], NFC: [0x1EB4], NFD: [0x0041, 0x0306, 0x0303], NFKC: [0x1EB4], NFKD: [0x0041, 0x0306, 0x0303] }, -{ source: [0x1EB5], NFC: [0x1EB5], NFD: [0x0061, 0x0306, 0x0303], NFKC: [0x1EB5], NFKD: [0x0061, 0x0306, 0x0303] }, -{ source: [0x1EB6], NFC: [0x1EB6], NFD: [0x0041, 0x0323, 0x0306], NFKC: [0x1EB6], NFKD: [0x0041, 0x0323, 0x0306] }, -{ source: [0x1EB7], NFC: [0x1EB7], NFD: [0x0061, 0x0323, 0x0306], NFKC: [0x1EB7], NFKD: [0x0061, 0x0323, 0x0306] }, -{ source: [0x1EB8], NFC: [0x1EB8], NFD: [0x0045, 0x0323], NFKC: [0x1EB8], NFKD: [0x0045, 0x0323] }, -{ source: [0x1EB9], NFC: [0x1EB9], NFD: [0x0065, 0x0323], NFKC: [0x1EB9], NFKD: [0x0065, 0x0323] }, -{ source: [0x1EBA], NFC: [0x1EBA], NFD: [0x0045, 0x0309], NFKC: [0x1EBA], NFKD: [0x0045, 0x0309] }, -{ source: [0x1EBB], NFC: [0x1EBB], NFD: [0x0065, 0x0309], NFKC: [0x1EBB], NFKD: [0x0065, 0x0309] }, -{ source: [0x1EBC], NFC: [0x1EBC], NFD: [0x0045, 0x0303], NFKC: [0x1EBC], NFKD: [0x0045, 0x0303] }, -{ source: [0x1EBD], NFC: [0x1EBD], NFD: [0x0065, 0x0303], NFKC: [0x1EBD], NFKD: [0x0065, 0x0303] }, -{ source: [0x1EBE], NFC: [0x1EBE], NFD: [0x0045, 0x0302, 0x0301], NFKC: [0x1EBE], NFKD: [0x0045, 0x0302, 0x0301] }, -{ source: [0x1EBF], NFC: [0x1EBF], NFD: [0x0065, 0x0302, 0x0301], NFKC: [0x1EBF], NFKD: [0x0065, 0x0302, 0x0301] }, -{ source: [0x1EC0], NFC: [0x1EC0], NFD: [0x0045, 0x0302, 0x0300], NFKC: [0x1EC0], NFKD: [0x0045, 0x0302, 0x0300] }, -{ source: [0x1EC1], NFC: [0x1EC1], NFD: [0x0065, 0x0302, 0x0300], NFKC: [0x1EC1], NFKD: [0x0065, 0x0302, 0x0300] }, -{ source: [0x1EC2], NFC: [0x1EC2], NFD: [0x0045, 0x0302, 0x0309], NFKC: [0x1EC2], NFKD: [0x0045, 0x0302, 0x0309] }, -{ source: [0x1EC3], NFC: [0x1EC3], NFD: [0x0065, 0x0302, 0x0309], NFKC: [0x1EC3], NFKD: [0x0065, 0x0302, 0x0309] }, -{ source: [0x1EC4], NFC: [0x1EC4], NFD: [0x0045, 0x0302, 0x0303], NFKC: [0x1EC4], NFKD: [0x0045, 0x0302, 0x0303] }, -{ source: [0x1EC5], NFC: [0x1EC5], NFD: [0x0065, 0x0302, 0x0303], NFKC: [0x1EC5], NFKD: [0x0065, 0x0302, 0x0303] }, -{ source: [0x1EC6], NFC: [0x1EC6], NFD: [0x0045, 0x0323, 0x0302], NFKC: [0x1EC6], NFKD: [0x0045, 0x0323, 0x0302] }, -{ source: [0x1EC7], NFC: [0x1EC7], NFD: [0x0065, 0x0323, 0x0302], NFKC: [0x1EC7], NFKD: [0x0065, 0x0323, 0x0302] }, -{ source: [0x1EC8], NFC: [0x1EC8], NFD: [0x0049, 0x0309], NFKC: [0x1EC8], NFKD: [0x0049, 0x0309] }, -{ source: [0x1EC9], NFC: [0x1EC9], NFD: [0x0069, 0x0309], NFKC: [0x1EC9], NFKD: [0x0069, 0x0309] }, -{ source: [0x1ECA], NFC: [0x1ECA], NFD: [0x0049, 0x0323], NFKC: [0x1ECA], NFKD: [0x0049, 0x0323] }, -{ source: [0x1ECB], NFC: [0x1ECB], NFD: [0x0069, 0x0323], NFKC: [0x1ECB], NFKD: [0x0069, 0x0323] }, -{ source: [0x1ECC], NFC: [0x1ECC], NFD: [0x004F, 0x0323], NFKC: [0x1ECC], NFKD: [0x004F, 0x0323] }, -{ source: [0x1ECD], NFC: [0x1ECD], NFD: [0x006F, 0x0323], NFKC: [0x1ECD], NFKD: [0x006F, 0x0323] }, -{ source: [0x1ECE], NFC: [0x1ECE], NFD: [0x004F, 0x0309], NFKC: [0x1ECE], NFKD: [0x004F, 0x0309] }, -{ source: [0x1ECF], NFC: [0x1ECF], NFD: [0x006F, 0x0309], NFKC: [0x1ECF], NFKD: [0x006F, 0x0309] }, -{ source: [0x1ED0], NFC: [0x1ED0], NFD: [0x004F, 0x0302, 0x0301], NFKC: [0x1ED0], NFKD: [0x004F, 0x0302, 0x0301] }, -{ source: [0x1ED1], NFC: [0x1ED1], NFD: [0x006F, 0x0302, 0x0301], NFKC: [0x1ED1], NFKD: [0x006F, 0x0302, 0x0301] }, -{ source: [0x1ED2], NFC: [0x1ED2], NFD: [0x004F, 0x0302, 0x0300], NFKC: [0x1ED2], NFKD: [0x004F, 0x0302, 0x0300] }, -{ source: [0x1ED3], NFC: [0x1ED3], NFD: [0x006F, 0x0302, 0x0300], NFKC: [0x1ED3], NFKD: [0x006F, 0x0302, 0x0300] }, -{ source: [0x1ED4], NFC: [0x1ED4], NFD: [0x004F, 0x0302, 0x0309], NFKC: [0x1ED4], NFKD: [0x004F, 0x0302, 0x0309] }, -{ source: [0x1ED5], NFC: [0x1ED5], NFD: [0x006F, 0x0302, 0x0309], NFKC: [0x1ED5], NFKD: [0x006F, 0x0302, 0x0309] }, -{ source: [0x1ED6], NFC: [0x1ED6], NFD: [0x004F, 0x0302, 0x0303], NFKC: [0x1ED6], NFKD: [0x004F, 0x0302, 0x0303] }, -{ source: [0x1ED7], NFC: [0x1ED7], NFD: [0x006F, 0x0302, 0x0303], NFKC: [0x1ED7], NFKD: [0x006F, 0x0302, 0x0303] }, -{ source: [0x1ED8], NFC: [0x1ED8], NFD: [0x004F, 0x0323, 0x0302], NFKC: [0x1ED8], NFKD: [0x004F, 0x0323, 0x0302] }, -{ source: [0x1ED9], NFC: [0x1ED9], NFD: [0x006F, 0x0323, 0x0302], NFKC: [0x1ED9], NFKD: [0x006F, 0x0323, 0x0302] }, -{ source: [0x1EDA], NFC: [0x1EDA], NFD: [0x004F, 0x031B, 0x0301], NFKC: [0x1EDA], NFKD: [0x004F, 0x031B, 0x0301] }, -{ source: [0x1EDB], NFC: [0x1EDB], NFD: [0x006F, 0x031B, 0x0301], NFKC: [0x1EDB], NFKD: [0x006F, 0x031B, 0x0301] }, -{ source: [0x1EDC], NFC: [0x1EDC], NFD: [0x004F, 0x031B, 0x0300], NFKC: [0x1EDC], NFKD: [0x004F, 0x031B, 0x0300] }, -{ source: [0x1EDD], NFC: [0x1EDD], NFD: [0x006F, 0x031B, 0x0300], NFKC: [0x1EDD], NFKD: [0x006F, 0x031B, 0x0300] }, -{ source: [0x1EDE], NFC: [0x1EDE], NFD: [0x004F, 0x031B, 0x0309], NFKC: [0x1EDE], NFKD: [0x004F, 0x031B, 0x0309] }, -{ source: [0x1EDF], NFC: [0x1EDF], NFD: [0x006F, 0x031B, 0x0309], NFKC: [0x1EDF], NFKD: [0x006F, 0x031B, 0x0309] }, -{ source: [0x1EE0], NFC: [0x1EE0], NFD: [0x004F, 0x031B, 0x0303], NFKC: [0x1EE0], NFKD: [0x004F, 0x031B, 0x0303] }, -{ source: [0x1EE1], NFC: [0x1EE1], NFD: [0x006F, 0x031B, 0x0303], NFKC: [0x1EE1], NFKD: [0x006F, 0x031B, 0x0303] }, -{ source: [0x1EE2], NFC: [0x1EE2], NFD: [0x004F, 0x031B, 0x0323], NFKC: [0x1EE2], NFKD: [0x004F, 0x031B, 0x0323] }, -{ source: [0x1EE3], NFC: [0x1EE3], NFD: [0x006F, 0x031B, 0x0323], NFKC: [0x1EE3], NFKD: [0x006F, 0x031B, 0x0323] }, -{ source: [0x1EE4], NFC: [0x1EE4], NFD: [0x0055, 0x0323], NFKC: [0x1EE4], NFKD: [0x0055, 0x0323] }, -{ source: [0x1EE5], NFC: [0x1EE5], NFD: [0x0075, 0x0323], NFKC: [0x1EE5], NFKD: [0x0075, 0x0323] }, -{ source: [0x1EE6], NFC: [0x1EE6], NFD: [0x0055, 0x0309], NFKC: [0x1EE6], NFKD: [0x0055, 0x0309] }, -{ source: [0x1EE7], NFC: [0x1EE7], NFD: [0x0075, 0x0309], NFKC: [0x1EE7], NFKD: [0x0075, 0x0309] }, -{ source: [0x1EE8], NFC: [0x1EE8], NFD: [0x0055, 0x031B, 0x0301], NFKC: [0x1EE8], NFKD: [0x0055, 0x031B, 0x0301] }, -{ source: [0x1EE9], NFC: [0x1EE9], NFD: [0x0075, 0x031B, 0x0301], NFKC: [0x1EE9], NFKD: [0x0075, 0x031B, 0x0301] }, -{ source: [0x1EEA], NFC: [0x1EEA], NFD: [0x0055, 0x031B, 0x0300], NFKC: [0x1EEA], NFKD: [0x0055, 0x031B, 0x0300] }, -{ source: [0x1EEB], NFC: [0x1EEB], NFD: [0x0075, 0x031B, 0x0300], NFKC: [0x1EEB], NFKD: [0x0075, 0x031B, 0x0300] }, -{ source: [0x1EEC], NFC: [0x1EEC], NFD: [0x0055, 0x031B, 0x0309], NFKC: [0x1EEC], NFKD: [0x0055, 0x031B, 0x0309] }, -{ source: [0x1EED], NFC: [0x1EED], NFD: [0x0075, 0x031B, 0x0309], NFKC: [0x1EED], NFKD: [0x0075, 0x031B, 0x0309] }, -{ source: [0x1EEE], NFC: [0x1EEE], NFD: [0x0055, 0x031B, 0x0303], NFKC: [0x1EEE], NFKD: [0x0055, 0x031B, 0x0303] }, -{ source: [0x1EEF], NFC: [0x1EEF], NFD: [0x0075, 0x031B, 0x0303], NFKC: [0x1EEF], NFKD: [0x0075, 0x031B, 0x0303] }, -{ source: [0x1EF0], NFC: [0x1EF0], NFD: [0x0055, 0x031B, 0x0323], NFKC: [0x1EF0], NFKD: [0x0055, 0x031B, 0x0323] }, -{ source: [0x1EF1], NFC: [0x1EF1], NFD: [0x0075, 0x031B, 0x0323], NFKC: [0x1EF1], NFKD: [0x0075, 0x031B, 0x0323] }, -{ source: [0x1EF2], NFC: [0x1EF2], NFD: [0x0059, 0x0300], NFKC: [0x1EF2], NFKD: [0x0059, 0x0300] }, -{ source: [0x1EF3], NFC: [0x1EF3], NFD: [0x0079, 0x0300], NFKC: [0x1EF3], NFKD: [0x0079, 0x0300] }, -{ source: [0x1EF4], NFC: [0x1EF4], NFD: [0x0059, 0x0323], NFKC: [0x1EF4], NFKD: [0x0059, 0x0323] }, -{ source: [0x1EF5], NFC: [0x1EF5], NFD: [0x0079, 0x0323], NFKC: [0x1EF5], NFKD: [0x0079, 0x0323] }, -{ source: [0x1EF6], NFC: [0x1EF6], NFD: [0x0059, 0x0309], NFKC: [0x1EF6], NFKD: [0x0059, 0x0309] }, -{ source: [0x1EF7], NFC: [0x1EF7], NFD: [0x0079, 0x0309], NFKC: [0x1EF7], NFKD: [0x0079, 0x0309] }, -{ source: [0x1EF8], NFC: [0x1EF8], NFD: [0x0059, 0x0303], NFKC: [0x1EF8], NFKD: [0x0059, 0x0303] }, -{ source: [0x1EF9], NFC: [0x1EF9], NFD: [0x0079, 0x0303], NFKC: [0x1EF9], NFKD: [0x0079, 0x0303] }, -{ source: [0x1F00], NFC: [0x1F00], NFD: [0x03B1, 0x0313], NFKC: [0x1F00], NFKD: [0x03B1, 0x0313] }, -{ source: [0x1F01], NFC: [0x1F01], NFD: [0x03B1, 0x0314], NFKC: [0x1F01], NFKD: [0x03B1, 0x0314] }, -{ source: [0x1F02], NFC: [0x1F02], NFD: [0x03B1, 0x0313, 0x0300], NFKC: [0x1F02], NFKD: [0x03B1, 0x0313, 0x0300] }, -{ source: [0x1F03], NFC: [0x1F03], NFD: [0x03B1, 0x0314, 0x0300], NFKC: [0x1F03], NFKD: [0x03B1, 0x0314, 0x0300] }, -{ source: [0x1F04], NFC: [0x1F04], NFD: [0x03B1, 0x0313, 0x0301], NFKC: [0x1F04], NFKD: [0x03B1, 0x0313, 0x0301] }, -{ source: [0x1F05], NFC: [0x1F05], NFD: [0x03B1, 0x0314, 0x0301], NFKC: [0x1F05], NFKD: [0x03B1, 0x0314, 0x0301] }, -{ source: [0x1F06], NFC: [0x1F06], NFD: [0x03B1, 0x0313, 0x0342], NFKC: [0x1F06], NFKD: [0x03B1, 0x0313, 0x0342] }, -{ source: [0x1F07], NFC: [0x1F07], NFD: [0x03B1, 0x0314, 0x0342], NFKC: [0x1F07], NFKD: [0x03B1, 0x0314, 0x0342] }, -{ source: [0x1F08], NFC: [0x1F08], NFD: [0x0391, 0x0313], NFKC: [0x1F08], NFKD: [0x0391, 0x0313] }, -{ source: [0x1F09], NFC: [0x1F09], NFD: [0x0391, 0x0314], NFKC: [0x1F09], NFKD: [0x0391, 0x0314] }, -{ source: [0x1F0A], NFC: [0x1F0A], NFD: [0x0391, 0x0313, 0x0300], NFKC: [0x1F0A], NFKD: [0x0391, 0x0313, 0x0300] }, -{ source: [0x1F0B], NFC: [0x1F0B], NFD: [0x0391, 0x0314, 0x0300], NFKC: [0x1F0B], NFKD: [0x0391, 0x0314, 0x0300] }, -{ source: [0x1F0C], NFC: [0x1F0C], NFD: [0x0391, 0x0313, 0x0301], NFKC: [0x1F0C], NFKD: [0x0391, 0x0313, 0x0301] }, -{ source: [0x1F0D], NFC: [0x1F0D], NFD: [0x0391, 0x0314, 0x0301], NFKC: [0x1F0D], NFKD: [0x0391, 0x0314, 0x0301] }, -{ source: [0x1F0E], NFC: [0x1F0E], NFD: [0x0391, 0x0313, 0x0342], NFKC: [0x1F0E], NFKD: [0x0391, 0x0313, 0x0342] }, -{ source: [0x1F0F], NFC: [0x1F0F], NFD: [0x0391, 0x0314, 0x0342], NFKC: [0x1F0F], NFKD: [0x0391, 0x0314, 0x0342] }, -{ source: [0x1F10], NFC: [0x1F10], NFD: [0x03B5, 0x0313], NFKC: [0x1F10], NFKD: [0x03B5, 0x0313] }, -{ source: [0x1F11], NFC: [0x1F11], NFD: [0x03B5, 0x0314], NFKC: [0x1F11], NFKD: [0x03B5, 0x0314] }, -{ source: [0x1F12], NFC: [0x1F12], NFD: [0x03B5, 0x0313, 0x0300], NFKC: [0x1F12], NFKD: [0x03B5, 0x0313, 0x0300] }, -{ source: [0x1F13], NFC: [0x1F13], NFD: [0x03B5, 0x0314, 0x0300], NFKC: [0x1F13], NFKD: [0x03B5, 0x0314, 0x0300] }, -{ source: [0x1F14], NFC: [0x1F14], NFD: [0x03B5, 0x0313, 0x0301], NFKC: [0x1F14], NFKD: [0x03B5, 0x0313, 0x0301] }, -{ source: [0x1F15], NFC: [0x1F15], NFD: [0x03B5, 0x0314, 0x0301], NFKC: [0x1F15], NFKD: [0x03B5, 0x0314, 0x0301] }, -{ source: [0x1F18], NFC: [0x1F18], NFD: [0x0395, 0x0313], NFKC: [0x1F18], NFKD: [0x0395, 0x0313] }, -{ source: [0x1F19], NFC: [0x1F19], NFD: [0x0395, 0x0314], NFKC: [0x1F19], NFKD: [0x0395, 0x0314] }, -{ source: [0x1F1A], NFC: [0x1F1A], NFD: [0x0395, 0x0313, 0x0300], NFKC: [0x1F1A], NFKD: [0x0395, 0x0313, 0x0300] }, -{ source: [0x1F1B], NFC: [0x1F1B], NFD: [0x0395, 0x0314, 0x0300], NFKC: [0x1F1B], NFKD: [0x0395, 0x0314, 0x0300] }, -{ source: [0x1F1C], NFC: [0x1F1C], NFD: [0x0395, 0x0313, 0x0301], NFKC: [0x1F1C], NFKD: [0x0395, 0x0313, 0x0301] }, -{ source: [0x1F1D], NFC: [0x1F1D], NFD: [0x0395, 0x0314, 0x0301], NFKC: [0x1F1D], NFKD: [0x0395, 0x0314, 0x0301] }, -{ source: [0x1F20], NFC: [0x1F20], NFD: [0x03B7, 0x0313], NFKC: [0x1F20], NFKD: [0x03B7, 0x0313] }, -{ source: [0x1F21], NFC: [0x1F21], NFD: [0x03B7, 0x0314], NFKC: [0x1F21], NFKD: [0x03B7, 0x0314] }, -{ source: [0x1F22], NFC: [0x1F22], NFD: [0x03B7, 0x0313, 0x0300], NFKC: [0x1F22], NFKD: [0x03B7, 0x0313, 0x0300] }, -{ source: [0x1F23], NFC: [0x1F23], NFD: [0x03B7, 0x0314, 0x0300], NFKC: [0x1F23], NFKD: [0x03B7, 0x0314, 0x0300] }, -{ source: [0x1F24], NFC: [0x1F24], NFD: [0x03B7, 0x0313, 0x0301], NFKC: [0x1F24], NFKD: [0x03B7, 0x0313, 0x0301] }, -{ source: [0x1F25], NFC: [0x1F25], NFD: [0x03B7, 0x0314, 0x0301], NFKC: [0x1F25], NFKD: [0x03B7, 0x0314, 0x0301] }, -{ source: [0x1F26], NFC: [0x1F26], NFD: [0x03B7, 0x0313, 0x0342], NFKC: [0x1F26], NFKD: [0x03B7, 0x0313, 0x0342] }, -{ source: [0x1F27], NFC: [0x1F27], NFD: [0x03B7, 0x0314, 0x0342], NFKC: [0x1F27], NFKD: [0x03B7, 0x0314, 0x0342] }, -{ source: [0x1F28], NFC: [0x1F28], NFD: [0x0397, 0x0313], NFKC: [0x1F28], NFKD: [0x0397, 0x0313] }, -{ source: [0x1F29], NFC: [0x1F29], NFD: [0x0397, 0x0314], NFKC: [0x1F29], NFKD: [0x0397, 0x0314] }, -{ source: [0x1F2A], NFC: [0x1F2A], NFD: [0x0397, 0x0313, 0x0300], NFKC: [0x1F2A], NFKD: [0x0397, 0x0313, 0x0300] }, -{ source: [0x1F2B], NFC: [0x1F2B], NFD: [0x0397, 0x0314, 0x0300], NFKC: [0x1F2B], NFKD: [0x0397, 0x0314, 0x0300] }, -{ source: [0x1F2C], NFC: [0x1F2C], NFD: [0x0397, 0x0313, 0x0301], NFKC: [0x1F2C], NFKD: [0x0397, 0x0313, 0x0301] }, -{ source: [0x1F2D], NFC: [0x1F2D], NFD: [0x0397, 0x0314, 0x0301], NFKC: [0x1F2D], NFKD: [0x0397, 0x0314, 0x0301] }, -{ source: [0x1F2E], NFC: [0x1F2E], NFD: [0x0397, 0x0313, 0x0342], NFKC: [0x1F2E], NFKD: [0x0397, 0x0313, 0x0342] }, -{ source: [0x1F2F], NFC: [0x1F2F], NFD: [0x0397, 0x0314, 0x0342], NFKC: [0x1F2F], NFKD: [0x0397, 0x0314, 0x0342] }, -{ source: [0x1F30], NFC: [0x1F30], NFD: [0x03B9, 0x0313], NFKC: [0x1F30], NFKD: [0x03B9, 0x0313] }, -{ source: [0x1F31], NFC: [0x1F31], NFD: [0x03B9, 0x0314], NFKC: [0x1F31], NFKD: [0x03B9, 0x0314] }, -{ source: [0x1F32], NFC: [0x1F32], NFD: [0x03B9, 0x0313, 0x0300], NFKC: [0x1F32], NFKD: [0x03B9, 0x0313, 0x0300] }, -{ source: [0x1F33], NFC: [0x1F33], NFD: [0x03B9, 0x0314, 0x0300], NFKC: [0x1F33], NFKD: [0x03B9, 0x0314, 0x0300] }, -{ source: [0x1F34], NFC: [0x1F34], NFD: [0x03B9, 0x0313, 0x0301], NFKC: [0x1F34], NFKD: [0x03B9, 0x0313, 0x0301] }, -{ source: [0x1F35], NFC: [0x1F35], NFD: [0x03B9, 0x0314, 0x0301], NFKC: [0x1F35], NFKD: [0x03B9, 0x0314, 0x0301] }, -{ source: [0x1F36], NFC: [0x1F36], NFD: [0x03B9, 0x0313, 0x0342], NFKC: [0x1F36], NFKD: [0x03B9, 0x0313, 0x0342] }, -{ source: [0x1F37], NFC: [0x1F37], NFD: [0x03B9, 0x0314, 0x0342], NFKC: [0x1F37], NFKD: [0x03B9, 0x0314, 0x0342] }, -{ source: [0x1F38], NFC: [0x1F38], NFD: [0x0399, 0x0313], NFKC: [0x1F38], NFKD: [0x0399, 0x0313] }, -{ source: [0x1F39], NFC: [0x1F39], NFD: [0x0399, 0x0314], NFKC: [0x1F39], NFKD: [0x0399, 0x0314] }, -{ source: [0x1F3A], NFC: [0x1F3A], NFD: [0x0399, 0x0313, 0x0300], NFKC: [0x1F3A], NFKD: [0x0399, 0x0313, 0x0300] }, -{ source: [0x1F3B], NFC: [0x1F3B], NFD: [0x0399, 0x0314, 0x0300], NFKC: [0x1F3B], NFKD: [0x0399, 0x0314, 0x0300] }, -{ source: [0x1F3C], NFC: [0x1F3C], NFD: [0x0399, 0x0313, 0x0301], NFKC: [0x1F3C], NFKD: [0x0399, 0x0313, 0x0301] }, -{ source: [0x1F3D], NFC: [0x1F3D], NFD: [0x0399, 0x0314, 0x0301], NFKC: [0x1F3D], NFKD: [0x0399, 0x0314, 0x0301] }, -{ source: [0x1F3E], NFC: [0x1F3E], NFD: [0x0399, 0x0313, 0x0342], NFKC: [0x1F3E], NFKD: [0x0399, 0x0313, 0x0342] }, -{ source: [0x1F3F], NFC: [0x1F3F], NFD: [0x0399, 0x0314, 0x0342], NFKC: [0x1F3F], NFKD: [0x0399, 0x0314, 0x0342] }, -{ source: [0x1F40], NFC: [0x1F40], NFD: [0x03BF, 0x0313], NFKC: [0x1F40], NFKD: [0x03BF, 0x0313] }, -{ source: [0x1F41], NFC: [0x1F41], NFD: [0x03BF, 0x0314], NFKC: [0x1F41], NFKD: [0x03BF, 0x0314] }, -{ source: [0x1F42], NFC: [0x1F42], NFD: [0x03BF, 0x0313, 0x0300], NFKC: [0x1F42], NFKD: [0x03BF, 0x0313, 0x0300] }, -{ source: [0x1F43], NFC: [0x1F43], NFD: [0x03BF, 0x0314, 0x0300], NFKC: [0x1F43], NFKD: [0x03BF, 0x0314, 0x0300] }, -{ source: [0x1F44], NFC: [0x1F44], NFD: [0x03BF, 0x0313, 0x0301], NFKC: [0x1F44], NFKD: [0x03BF, 0x0313, 0x0301] }, -{ source: [0x1F45], NFC: [0x1F45], NFD: [0x03BF, 0x0314, 0x0301], NFKC: [0x1F45], NFKD: [0x03BF, 0x0314, 0x0301] }, -{ source: [0x1F48], NFC: [0x1F48], NFD: [0x039F, 0x0313], NFKC: [0x1F48], NFKD: [0x039F, 0x0313] }, -{ source: [0x1F49], NFC: [0x1F49], NFD: [0x039F, 0x0314], NFKC: [0x1F49], NFKD: [0x039F, 0x0314] }, -{ source: [0x1F4A], NFC: [0x1F4A], NFD: [0x039F, 0x0313, 0x0300], NFKC: [0x1F4A], NFKD: [0x039F, 0x0313, 0x0300] }, -{ source: [0x1F4B], NFC: [0x1F4B], NFD: [0x039F, 0x0314, 0x0300], NFKC: [0x1F4B], NFKD: [0x039F, 0x0314, 0x0300] }, -{ source: [0x1F4C], NFC: [0x1F4C], NFD: [0x039F, 0x0313, 0x0301], NFKC: [0x1F4C], NFKD: [0x039F, 0x0313, 0x0301] }, -{ source: [0x1F4D], NFC: [0x1F4D], NFD: [0x039F, 0x0314, 0x0301], NFKC: [0x1F4D], NFKD: [0x039F, 0x0314, 0x0301] }, -{ source: [0x1F50], NFC: [0x1F50], NFD: [0x03C5, 0x0313], NFKC: [0x1F50], NFKD: [0x03C5, 0x0313] }, -{ source: [0x1F51], NFC: [0x1F51], NFD: [0x03C5, 0x0314], NFKC: [0x1F51], NFKD: [0x03C5, 0x0314] }, -{ source: [0x1F52], NFC: [0x1F52], NFD: [0x03C5, 0x0313, 0x0300], NFKC: [0x1F52], NFKD: [0x03C5, 0x0313, 0x0300] }, -{ source: [0x1F53], NFC: [0x1F53], NFD: [0x03C5, 0x0314, 0x0300], NFKC: [0x1F53], NFKD: [0x03C5, 0x0314, 0x0300] }, -{ source: [0x1F54], NFC: [0x1F54], NFD: [0x03C5, 0x0313, 0x0301], NFKC: [0x1F54], NFKD: [0x03C5, 0x0313, 0x0301] }, -{ source: [0x1F55], NFC: [0x1F55], NFD: [0x03C5, 0x0314, 0x0301], NFKC: [0x1F55], NFKD: [0x03C5, 0x0314, 0x0301] }, -{ source: [0x1F56], NFC: [0x1F56], NFD: [0x03C5, 0x0313, 0x0342], NFKC: [0x1F56], NFKD: [0x03C5, 0x0313, 0x0342] }, -{ source: [0x1F57], NFC: [0x1F57], NFD: [0x03C5, 0x0314, 0x0342], NFKC: [0x1F57], NFKD: [0x03C5, 0x0314, 0x0342] }, -{ source: [0x1F59], NFC: [0x1F59], NFD: [0x03A5, 0x0314], NFKC: [0x1F59], NFKD: [0x03A5, 0x0314] }, -{ source: [0x1F5B], NFC: [0x1F5B], NFD: [0x03A5, 0x0314, 0x0300], NFKC: [0x1F5B], NFKD: [0x03A5, 0x0314, 0x0300] }, -{ source: [0x1F5D], NFC: [0x1F5D], NFD: [0x03A5, 0x0314, 0x0301], NFKC: [0x1F5D], NFKD: [0x03A5, 0x0314, 0x0301] }, -{ source: [0x1F5F], NFC: [0x1F5F], NFD: [0x03A5, 0x0314, 0x0342], NFKC: [0x1F5F], NFKD: [0x03A5, 0x0314, 0x0342] }, -{ source: [0x1F60], NFC: [0x1F60], NFD: [0x03C9, 0x0313], NFKC: [0x1F60], NFKD: [0x03C9, 0x0313] }, -{ source: [0x1F61], NFC: [0x1F61], NFD: [0x03C9, 0x0314], NFKC: [0x1F61], NFKD: [0x03C9, 0x0314] }, -{ source: [0x1F62], NFC: [0x1F62], NFD: [0x03C9, 0x0313, 0x0300], NFKC: [0x1F62], NFKD: [0x03C9, 0x0313, 0x0300] }, -{ source: [0x1F63], NFC: [0x1F63], NFD: [0x03C9, 0x0314, 0x0300], NFKC: [0x1F63], NFKD: [0x03C9, 0x0314, 0x0300] }, -{ source: [0x1F64], NFC: [0x1F64], NFD: [0x03C9, 0x0313, 0x0301], NFKC: [0x1F64], NFKD: [0x03C9, 0x0313, 0x0301] }, -{ source: [0x1F65], NFC: [0x1F65], NFD: [0x03C9, 0x0314, 0x0301], NFKC: [0x1F65], NFKD: [0x03C9, 0x0314, 0x0301] }, -{ source: [0x1F66], NFC: [0x1F66], NFD: [0x03C9, 0x0313, 0x0342], NFKC: [0x1F66], NFKD: [0x03C9, 0x0313, 0x0342] }, -{ source: [0x1F67], NFC: [0x1F67], NFD: [0x03C9, 0x0314, 0x0342], NFKC: [0x1F67], NFKD: [0x03C9, 0x0314, 0x0342] }, -{ source: [0x1F68], NFC: [0x1F68], NFD: [0x03A9, 0x0313], NFKC: [0x1F68], NFKD: [0x03A9, 0x0313] }, -{ source: [0x1F69], NFC: [0x1F69], NFD: [0x03A9, 0x0314], NFKC: [0x1F69], NFKD: [0x03A9, 0x0314] }, -{ source: [0x1F6A], NFC: [0x1F6A], NFD: [0x03A9, 0x0313, 0x0300], NFKC: [0x1F6A], NFKD: [0x03A9, 0x0313, 0x0300] }, -{ source: [0x1F6B], NFC: [0x1F6B], NFD: [0x03A9, 0x0314, 0x0300], NFKC: [0x1F6B], NFKD: [0x03A9, 0x0314, 0x0300] }, -{ source: [0x1F6C], NFC: [0x1F6C], NFD: [0x03A9, 0x0313, 0x0301], NFKC: [0x1F6C], NFKD: [0x03A9, 0x0313, 0x0301] }, -{ source: [0x1F6D], NFC: [0x1F6D], NFD: [0x03A9, 0x0314, 0x0301], NFKC: [0x1F6D], NFKD: [0x03A9, 0x0314, 0x0301] }, -{ source: [0x1F6E], NFC: [0x1F6E], NFD: [0x03A9, 0x0313, 0x0342], NFKC: [0x1F6E], NFKD: [0x03A9, 0x0313, 0x0342] }, -{ source: [0x1F6F], NFC: [0x1F6F], NFD: [0x03A9, 0x0314, 0x0342], NFKC: [0x1F6F], NFKD: [0x03A9, 0x0314, 0x0342] }, -{ source: [0x1F70], NFC: [0x1F70], NFD: [0x03B1, 0x0300], NFKC: [0x1F70], NFKD: [0x03B1, 0x0300] }, -{ source: [0x1F71], NFC: [0x03AC], NFD: [0x03B1, 0x0301], NFKC: [0x03AC], NFKD: [0x03B1, 0x0301] }, -{ source: [0x1F72], NFC: [0x1F72], NFD: [0x03B5, 0x0300], NFKC: [0x1F72], NFKD: [0x03B5, 0x0300] }, -{ source: [0x1F73], NFC: [0x03AD], NFD: [0x03B5, 0x0301], NFKC: [0x03AD], NFKD: [0x03B5, 0x0301] }, -{ source: [0x1F74], NFC: [0x1F74], NFD: [0x03B7, 0x0300], NFKC: [0x1F74], NFKD: [0x03B7, 0x0300] }, -{ source: [0x1F75], NFC: [0x03AE], NFD: [0x03B7, 0x0301], NFKC: [0x03AE], NFKD: [0x03B7, 0x0301] }, -{ source: [0x1F76], NFC: [0x1F76], NFD: [0x03B9, 0x0300], NFKC: [0x1F76], NFKD: [0x03B9, 0x0300] }, -{ source: [0x1F77], NFC: [0x03AF], NFD: [0x03B9, 0x0301], NFKC: [0x03AF], NFKD: [0x03B9, 0x0301] }, -{ source: [0x1F78], NFC: [0x1F78], NFD: [0x03BF, 0x0300], NFKC: [0x1F78], NFKD: [0x03BF, 0x0300] }, -{ source: [0x1F79], NFC: [0x03CC], NFD: [0x03BF, 0x0301], NFKC: [0x03CC], NFKD: [0x03BF, 0x0301] }, -{ source: [0x1F7A], NFC: [0x1F7A], NFD: [0x03C5, 0x0300], NFKC: [0x1F7A], NFKD: [0x03C5, 0x0300] }, -{ source: [0x1F7B], NFC: [0x03CD], NFD: [0x03C5, 0x0301], NFKC: [0x03CD], NFKD: [0x03C5, 0x0301] }, -{ source: [0x1F7C], NFC: [0x1F7C], NFD: [0x03C9, 0x0300], NFKC: [0x1F7C], NFKD: [0x03C9, 0x0300] }, -{ source: [0x1F7D], NFC: [0x03CE], NFD: [0x03C9, 0x0301], NFKC: [0x03CE], NFKD: [0x03C9, 0x0301] }, -{ source: [0x1F80], NFC: [0x1F80], NFD: [0x03B1, 0x0313, 0x0345], NFKC: [0x1F80], NFKD: [0x03B1, 0x0313, 0x0345] }, -{ source: [0x1F81], NFC: [0x1F81], NFD: [0x03B1, 0x0314, 0x0345], NFKC: [0x1F81], NFKD: [0x03B1, 0x0314, 0x0345] }, -{ source: [0x1F82], NFC: [0x1F82], NFD: [0x03B1, 0x0313, 0x0300, 0x0345], NFKC: [0x1F82], NFKD: [0x03B1, 0x0313, 0x0300, 0x0345] }, -{ source: [0x1F83], NFC: [0x1F83], NFD: [0x03B1, 0x0314, 0x0300, 0x0345], NFKC: [0x1F83], NFKD: [0x03B1, 0x0314, 0x0300, 0x0345] }, -{ source: [0x1F84], NFC: [0x1F84], NFD: [0x03B1, 0x0313, 0x0301, 0x0345], NFKC: [0x1F84], NFKD: [0x03B1, 0x0313, 0x0301, 0x0345] }, -{ source: [0x1F85], NFC: [0x1F85], NFD: [0x03B1, 0x0314, 0x0301, 0x0345], NFKC: [0x1F85], NFKD: [0x03B1, 0x0314, 0x0301, 0x0345] }, -{ source: [0x1F86], NFC: [0x1F86], NFD: [0x03B1, 0x0313, 0x0342, 0x0345], NFKC: [0x1F86], NFKD: [0x03B1, 0x0313, 0x0342, 0x0345] }, -{ source: [0x1F87], NFC: [0x1F87], NFD: [0x03B1, 0x0314, 0x0342, 0x0345], NFKC: [0x1F87], NFKD: [0x03B1, 0x0314, 0x0342, 0x0345] }, -{ source: [0x1F88], NFC: [0x1F88], NFD: [0x0391, 0x0313, 0x0345], NFKC: [0x1F88], NFKD: [0x0391, 0x0313, 0x0345] }, -{ source: [0x1F89], NFC: [0x1F89], NFD: [0x0391, 0x0314, 0x0345], NFKC: [0x1F89], NFKD: [0x0391, 0x0314, 0x0345] }, -{ source: [0x1F8A], NFC: [0x1F8A], NFD: [0x0391, 0x0313, 0x0300, 0x0345], NFKC: [0x1F8A], NFKD: [0x0391, 0x0313, 0x0300, 0x0345] }, -{ source: [0x1F8B], NFC: [0x1F8B], NFD: [0x0391, 0x0314, 0x0300, 0x0345], NFKC: [0x1F8B], NFKD: [0x0391, 0x0314, 0x0300, 0x0345] }, -{ source: [0x1F8C], NFC: [0x1F8C], NFD: [0x0391, 0x0313, 0x0301, 0x0345], NFKC: [0x1F8C], NFKD: [0x0391, 0x0313, 0x0301, 0x0345] }, -{ source: [0x1F8D], NFC: [0x1F8D], NFD: [0x0391, 0x0314, 0x0301, 0x0345], NFKC: [0x1F8D], NFKD: [0x0391, 0x0314, 0x0301, 0x0345] }, -{ source: [0x1F8E], NFC: [0x1F8E], NFD: [0x0391, 0x0313, 0x0342, 0x0345], NFKC: [0x1F8E], NFKD: [0x0391, 0x0313, 0x0342, 0x0345] }, -{ source: [0x1F8F], NFC: [0x1F8F], NFD: [0x0391, 0x0314, 0x0342, 0x0345], NFKC: [0x1F8F], NFKD: [0x0391, 0x0314, 0x0342, 0x0345] }, -{ source: [0x1F90], NFC: [0x1F90], NFD: [0x03B7, 0x0313, 0x0345], NFKC: [0x1F90], NFKD: [0x03B7, 0x0313, 0x0345] }, -{ source: [0x1F91], NFC: [0x1F91], NFD: [0x03B7, 0x0314, 0x0345], NFKC: [0x1F91], NFKD: [0x03B7, 0x0314, 0x0345] }, -{ source: [0x1F92], NFC: [0x1F92], NFD: [0x03B7, 0x0313, 0x0300, 0x0345], NFKC: [0x1F92], NFKD: [0x03B7, 0x0313, 0x0300, 0x0345] }, -{ source: [0x1F93], NFC: [0x1F93], NFD: [0x03B7, 0x0314, 0x0300, 0x0345], NFKC: [0x1F93], NFKD: [0x03B7, 0x0314, 0x0300, 0x0345] }, -{ source: [0x1F94], NFC: [0x1F94], NFD: [0x03B7, 0x0313, 0x0301, 0x0345], NFKC: [0x1F94], NFKD: [0x03B7, 0x0313, 0x0301, 0x0345] }, -{ source: [0x1F95], NFC: [0x1F95], NFD: [0x03B7, 0x0314, 0x0301, 0x0345], NFKC: [0x1F95], NFKD: [0x03B7, 0x0314, 0x0301, 0x0345] }, -{ source: [0x1F96], NFC: [0x1F96], NFD: [0x03B7, 0x0313, 0x0342, 0x0345], NFKC: [0x1F96], NFKD: [0x03B7, 0x0313, 0x0342, 0x0345] }, -{ source: [0x1F97], NFC: [0x1F97], NFD: [0x03B7, 0x0314, 0x0342, 0x0345], NFKC: [0x1F97], NFKD: [0x03B7, 0x0314, 0x0342, 0x0345] }, -{ source: [0x1F98], NFC: [0x1F98], NFD: [0x0397, 0x0313, 0x0345], NFKC: [0x1F98], NFKD: [0x0397, 0x0313, 0x0345] }, -{ source: [0x1F99], NFC: [0x1F99], NFD: [0x0397, 0x0314, 0x0345], NFKC: [0x1F99], NFKD: [0x0397, 0x0314, 0x0345] }, -{ source: [0x1F9A], NFC: [0x1F9A], NFD: [0x0397, 0x0313, 0x0300, 0x0345], NFKC: [0x1F9A], NFKD: [0x0397, 0x0313, 0x0300, 0x0345] }, -{ source: [0x1F9B], NFC: [0x1F9B], NFD: [0x0397, 0x0314, 0x0300, 0x0345], NFKC: [0x1F9B], NFKD: [0x0397, 0x0314, 0x0300, 0x0345] }, -{ source: [0x1F9C], NFC: [0x1F9C], NFD: [0x0397, 0x0313, 0x0301, 0x0345], NFKC: [0x1F9C], NFKD: [0x0397, 0x0313, 0x0301, 0x0345] }, -{ source: [0x1F9D], NFC: [0x1F9D], NFD: [0x0397, 0x0314, 0x0301, 0x0345], NFKC: [0x1F9D], NFKD: [0x0397, 0x0314, 0x0301, 0x0345] }, -{ source: [0x1F9E], NFC: [0x1F9E], NFD: [0x0397, 0x0313, 0x0342, 0x0345], NFKC: [0x1F9E], NFKD: [0x0397, 0x0313, 0x0342, 0x0345] }, -{ source: [0x1F9F], NFC: [0x1F9F], NFD: [0x0397, 0x0314, 0x0342, 0x0345], NFKC: [0x1F9F], NFKD: [0x0397, 0x0314, 0x0342, 0x0345] }, -{ source: [0x1FA0], NFC: [0x1FA0], NFD: [0x03C9, 0x0313, 0x0345], NFKC: [0x1FA0], NFKD: [0x03C9, 0x0313, 0x0345] }, -{ source: [0x1FA1], NFC: [0x1FA1], NFD: [0x03C9, 0x0314, 0x0345], NFKC: [0x1FA1], NFKD: [0x03C9, 0x0314, 0x0345] }, -{ source: [0x1FA2], NFC: [0x1FA2], NFD: [0x03C9, 0x0313, 0x0300, 0x0345], NFKC: [0x1FA2], NFKD: [0x03C9, 0x0313, 0x0300, 0x0345] }, -{ source: [0x1FA3], NFC: [0x1FA3], NFD: [0x03C9, 0x0314, 0x0300, 0x0345], NFKC: [0x1FA3], NFKD: [0x03C9, 0x0314, 0x0300, 0x0345] }, -{ source: [0x1FA4], NFC: [0x1FA4], NFD: [0x03C9, 0x0313, 0x0301, 0x0345], NFKC: [0x1FA4], NFKD: [0x03C9, 0x0313, 0x0301, 0x0345] }, -{ source: [0x1FA5], NFC: [0x1FA5], NFD: [0x03C9, 0x0314, 0x0301, 0x0345], NFKC: [0x1FA5], NFKD: [0x03C9, 0x0314, 0x0301, 0x0345] }, -{ source: [0x1FA6], NFC: [0x1FA6], NFD: [0x03C9, 0x0313, 0x0342, 0x0345], NFKC: [0x1FA6], NFKD: [0x03C9, 0x0313, 0x0342, 0x0345] }, -{ source: [0x1FA7], NFC: [0x1FA7], NFD: [0x03C9, 0x0314, 0x0342, 0x0345], NFKC: [0x1FA7], NFKD: [0x03C9, 0x0314, 0x0342, 0x0345] }, -{ source: [0x1FA8], NFC: [0x1FA8], NFD: [0x03A9, 0x0313, 0x0345], NFKC: [0x1FA8], NFKD: [0x03A9, 0x0313, 0x0345] }, -{ source: [0x1FA9], NFC: [0x1FA9], NFD: [0x03A9, 0x0314, 0x0345], NFKC: [0x1FA9], NFKD: [0x03A9, 0x0314, 0x0345] }, -{ source: [0x1FAA], NFC: [0x1FAA], NFD: [0x03A9, 0x0313, 0x0300, 0x0345], NFKC: [0x1FAA], NFKD: [0x03A9, 0x0313, 0x0300, 0x0345] }, -{ source: [0x1FAB], NFC: [0x1FAB], NFD: [0x03A9, 0x0314, 0x0300, 0x0345], NFKC: [0x1FAB], NFKD: [0x03A9, 0x0314, 0x0300, 0x0345] }, -{ source: [0x1FAC], NFC: [0x1FAC], NFD: [0x03A9, 0x0313, 0x0301, 0x0345], NFKC: [0x1FAC], NFKD: [0x03A9, 0x0313, 0x0301, 0x0345] }, -{ source: [0x1FAD], NFC: [0x1FAD], NFD: [0x03A9, 0x0314, 0x0301, 0x0345], NFKC: [0x1FAD], NFKD: [0x03A9, 0x0314, 0x0301, 0x0345] }, -{ source: [0x1FAE], NFC: [0x1FAE], NFD: [0x03A9, 0x0313, 0x0342, 0x0345], NFKC: [0x1FAE], NFKD: [0x03A9, 0x0313, 0x0342, 0x0345] }, -{ source: [0x1FAF], NFC: [0x1FAF], NFD: [0x03A9, 0x0314, 0x0342, 0x0345], NFKC: [0x1FAF], NFKD: [0x03A9, 0x0314, 0x0342, 0x0345] }, -{ source: [0x1FB0], NFC: [0x1FB0], NFD: [0x03B1, 0x0306], NFKC: [0x1FB0], NFKD: [0x03B1, 0x0306] }, -{ source: [0x1FB1], NFC: [0x1FB1], NFD: [0x03B1, 0x0304], NFKC: [0x1FB1], NFKD: [0x03B1, 0x0304] }, -{ source: [0x1FB2], NFC: [0x1FB2], NFD: [0x03B1, 0x0300, 0x0345], NFKC: [0x1FB2], NFKD: [0x03B1, 0x0300, 0x0345] }, -{ source: [0x1FB3], NFC: [0x1FB3], NFD: [0x03B1, 0x0345], NFKC: [0x1FB3], NFKD: [0x03B1, 0x0345] }, -{ source: [0x1FB4], NFC: [0x1FB4], NFD: [0x03B1, 0x0301, 0x0345], NFKC: [0x1FB4], NFKD: [0x03B1, 0x0301, 0x0345] }, -{ source: [0x1FB6], NFC: [0x1FB6], NFD: [0x03B1, 0x0342], NFKC: [0x1FB6], NFKD: [0x03B1, 0x0342] }, -{ source: [0x1FB7], NFC: [0x1FB7], NFD: [0x03B1, 0x0342, 0x0345], NFKC: [0x1FB7], NFKD: [0x03B1, 0x0342, 0x0345] }, -{ source: [0x1FB8], NFC: [0x1FB8], NFD: [0x0391, 0x0306], NFKC: [0x1FB8], NFKD: [0x0391, 0x0306] }, -{ source: [0x1FB9], NFC: [0x1FB9], NFD: [0x0391, 0x0304], NFKC: [0x1FB9], NFKD: [0x0391, 0x0304] }, -{ source: [0x1FBA], NFC: [0x1FBA], NFD: [0x0391, 0x0300], NFKC: [0x1FBA], NFKD: [0x0391, 0x0300] }, -{ source: [0x1FBB], NFC: [0x0386], NFD: [0x0391, 0x0301], NFKC: [0x0386], NFKD: [0x0391, 0x0301] }, -{ source: [0x1FBC], NFC: [0x1FBC], NFD: [0x0391, 0x0345], NFKC: [0x1FBC], NFKD: [0x0391, 0x0345] }, -{ source: [0x1FBD], NFC: [0x1FBD], NFD: [0x1FBD], NFKC: [0x0020, 0x0313], NFKD: [0x0020, 0x0313] }, -{ source: [0x1FBE], NFC: [0x03B9], NFD: [0x03B9], NFKC: [0x03B9], NFKD: [0x03B9] }, -{ source: [0x1FBF], NFC: [0x1FBF], NFD: [0x1FBF], NFKC: [0x0020, 0x0313], NFKD: [0x0020, 0x0313] }, -{ source: [0x1FC0], NFC: [0x1FC0], NFD: [0x1FC0], NFKC: [0x0020, 0x0342], NFKD: [0x0020, 0x0342] }, -{ source: [0x1FC1], NFC: [0x1FC1], NFD: [0x00A8, 0x0342], NFKC: [0x0020, 0x0308, 0x0342], NFKD: [0x0020, 0x0308, 0x0342] }, -{ source: [0x1FC2], NFC: [0x1FC2], NFD: [0x03B7, 0x0300, 0x0345], NFKC: [0x1FC2], NFKD: [0x03B7, 0x0300, 0x0345] }, -{ source: [0x1FC3], NFC: [0x1FC3], NFD: [0x03B7, 0x0345], NFKC: [0x1FC3], NFKD: [0x03B7, 0x0345] }, -{ source: [0x1FC4], NFC: [0x1FC4], NFD: [0x03B7, 0x0301, 0x0345], NFKC: [0x1FC4], NFKD: [0x03B7, 0x0301, 0x0345] }, -{ source: [0x1FC6], NFC: [0x1FC6], NFD: [0x03B7, 0x0342], NFKC: [0x1FC6], NFKD: [0x03B7, 0x0342] }, -{ source: [0x1FC7], NFC: [0x1FC7], NFD: [0x03B7, 0x0342, 0x0345], NFKC: [0x1FC7], NFKD: [0x03B7, 0x0342, 0x0345] }, -{ source: [0x1FC8], NFC: [0x1FC8], NFD: [0x0395, 0x0300], NFKC: [0x1FC8], NFKD: [0x0395, 0x0300] }, -{ source: [0x1FC9], NFC: [0x0388], NFD: [0x0395, 0x0301], NFKC: [0x0388], NFKD: [0x0395, 0x0301] }, -{ source: [0x1FCA], NFC: [0x1FCA], NFD: [0x0397, 0x0300], NFKC: [0x1FCA], NFKD: [0x0397, 0x0300] }, -{ source: [0x1FCB], NFC: [0x0389], NFD: [0x0397, 0x0301], NFKC: [0x0389], NFKD: [0x0397, 0x0301] }, -{ source: [0x1FCC], NFC: [0x1FCC], NFD: [0x0397, 0x0345], NFKC: [0x1FCC], NFKD: [0x0397, 0x0345] }, -{ source: [0x1FCD], NFC: [0x1FCD], NFD: [0x1FBF, 0x0300], NFKC: [0x0020, 0x0313, 0x0300], NFKD: [0x0020, 0x0313, 0x0300] }, -{ source: [0x1FCE], NFC: [0x1FCE], NFD: [0x1FBF, 0x0301], NFKC: [0x0020, 0x0313, 0x0301], NFKD: [0x0020, 0x0313, 0x0301] }, -{ source: [0x1FCF], NFC: [0x1FCF], NFD: [0x1FBF, 0x0342], NFKC: [0x0020, 0x0313, 0x0342], NFKD: [0x0020, 0x0313, 0x0342] }, -{ source: [0x1FD0], NFC: [0x1FD0], NFD: [0x03B9, 0x0306], NFKC: [0x1FD0], NFKD: [0x03B9, 0x0306] }, -{ source: [0x1FD1], NFC: [0x1FD1], NFD: [0x03B9, 0x0304], NFKC: [0x1FD1], NFKD: [0x03B9, 0x0304] }, -{ source: [0x1FD2], NFC: [0x1FD2], NFD: [0x03B9, 0x0308, 0x0300], NFKC: [0x1FD2], NFKD: [0x03B9, 0x0308, 0x0300] }, -{ source: [0x1FD3], NFC: [0x0390], NFD: [0x03B9, 0x0308, 0x0301], NFKC: [0x0390], NFKD: [0x03B9, 0x0308, 0x0301] }, -{ source: [0x1FD6], NFC: [0x1FD6], NFD: [0x03B9, 0x0342], NFKC: [0x1FD6], NFKD: [0x03B9, 0x0342] }, -{ source: [0x1FD7], NFC: [0x1FD7], NFD: [0x03B9, 0x0308, 0x0342], NFKC: [0x1FD7], NFKD: [0x03B9, 0x0308, 0x0342] }, -{ source: [0x1FD8], NFC: [0x1FD8], NFD: [0x0399, 0x0306], NFKC: [0x1FD8], NFKD: [0x0399, 0x0306] }, -{ source: [0x1FD9], NFC: [0x1FD9], NFD: [0x0399, 0x0304], NFKC: [0x1FD9], NFKD: [0x0399, 0x0304] }, -{ source: [0x1FDA], NFC: [0x1FDA], NFD: [0x0399, 0x0300], NFKC: [0x1FDA], NFKD: [0x0399, 0x0300] }, -{ source: [0x1FDB], NFC: [0x038A], NFD: [0x0399, 0x0301], NFKC: [0x038A], NFKD: [0x0399, 0x0301] }, -{ source: [0x1FDD], NFC: [0x1FDD], NFD: [0x1FFE, 0x0300], NFKC: [0x0020, 0x0314, 0x0300], NFKD: [0x0020, 0x0314, 0x0300] }, -{ source: [0x1FDE], NFC: [0x1FDE], NFD: [0x1FFE, 0x0301], NFKC: [0x0020, 0x0314, 0x0301], NFKD: [0x0020, 0x0314, 0x0301] }, -{ source: [0x1FDF], NFC: [0x1FDF], NFD: [0x1FFE, 0x0342], NFKC: [0x0020, 0x0314, 0x0342], NFKD: [0x0020, 0x0314, 0x0342] }, -{ source: [0x1FE0], NFC: [0x1FE0], NFD: [0x03C5, 0x0306], NFKC: [0x1FE0], NFKD: [0x03C5, 0x0306] }, -{ source: [0x1FE1], NFC: [0x1FE1], NFD: [0x03C5, 0x0304], NFKC: [0x1FE1], NFKD: [0x03C5, 0x0304] }, -{ source: [0x1FE2], NFC: [0x1FE2], NFD: [0x03C5, 0x0308, 0x0300], NFKC: [0x1FE2], NFKD: [0x03C5, 0x0308, 0x0300] }, -{ source: [0x1FE3], NFC: [0x03B0], NFD: [0x03C5, 0x0308, 0x0301], NFKC: [0x03B0], NFKD: [0x03C5, 0x0308, 0x0301] }, -{ source: [0x1FE4], NFC: [0x1FE4], NFD: [0x03C1, 0x0313], NFKC: [0x1FE4], NFKD: [0x03C1, 0x0313] }, -{ source: [0x1FE5], NFC: [0x1FE5], NFD: [0x03C1, 0x0314], NFKC: [0x1FE5], NFKD: [0x03C1, 0x0314] }, -{ source: [0x1FE6], NFC: [0x1FE6], NFD: [0x03C5, 0x0342], NFKC: [0x1FE6], NFKD: [0x03C5, 0x0342] }, -{ source: [0x1FE7], NFC: [0x1FE7], NFD: [0x03C5, 0x0308, 0x0342], NFKC: [0x1FE7], NFKD: [0x03C5, 0x0308, 0x0342] }, -{ source: [0x1FE8], NFC: [0x1FE8], NFD: [0x03A5, 0x0306], NFKC: [0x1FE8], NFKD: [0x03A5, 0x0306] }, -{ source: [0x1FE9], NFC: [0x1FE9], NFD: [0x03A5, 0x0304], NFKC: [0x1FE9], NFKD: [0x03A5, 0x0304] }, -{ source: [0x1FEA], NFC: [0x1FEA], NFD: [0x03A5, 0x0300], NFKC: [0x1FEA], NFKD: [0x03A5, 0x0300] }, -{ source: [0x1FEB], NFC: [0x038E], NFD: [0x03A5, 0x0301], NFKC: [0x038E], NFKD: [0x03A5, 0x0301] }, -{ source: [0x1FEC], NFC: [0x1FEC], NFD: [0x03A1, 0x0314], NFKC: [0x1FEC], NFKD: [0x03A1, 0x0314] }, -{ source: [0x1FED], NFC: [0x1FED], NFD: [0x00A8, 0x0300], NFKC: [0x0020, 0x0308, 0x0300], NFKD: [0x0020, 0x0308, 0x0300] }, -{ source: [0x1FEE], NFC: [0x0385], NFD: [0x00A8, 0x0301], NFKC: [0x0020, 0x0308, 0x0301], NFKD: [0x0020, 0x0308, 0x0301] }, -{ source: [0x1FEF], NFC: [0x0060], NFD: [0x0060], NFKC: [0x0060], NFKD: [0x0060] }, -{ source: [0x1FF2], NFC: [0x1FF2], NFD: [0x03C9, 0x0300, 0x0345], NFKC: [0x1FF2], NFKD: [0x03C9, 0x0300, 0x0345] }, -{ source: [0x1FF3], NFC: [0x1FF3], NFD: [0x03C9, 0x0345], NFKC: [0x1FF3], NFKD: [0x03C9, 0x0345] }, -{ source: [0x1FF4], NFC: [0x1FF4], NFD: [0x03C9, 0x0301, 0x0345], NFKC: [0x1FF4], NFKD: [0x03C9, 0x0301, 0x0345] }, -{ source: [0x1FF6], NFC: [0x1FF6], NFD: [0x03C9, 0x0342], NFKC: [0x1FF6], NFKD: [0x03C9, 0x0342] }, -{ source: [0x1FF7], NFC: [0x1FF7], NFD: [0x03C9, 0x0342, 0x0345], NFKC: [0x1FF7], NFKD: [0x03C9, 0x0342, 0x0345] }, -{ source: [0x1FF8], NFC: [0x1FF8], NFD: [0x039F, 0x0300], NFKC: [0x1FF8], NFKD: [0x039F, 0x0300] }, -{ source: [0x1FF9], NFC: [0x038C], NFD: [0x039F, 0x0301], NFKC: [0x038C], NFKD: [0x039F, 0x0301] }, -{ source: [0x1FFA], NFC: [0x1FFA], NFD: [0x03A9, 0x0300], NFKC: [0x1FFA], NFKD: [0x03A9, 0x0300] }, -{ source: [0x1FFB], NFC: [0x038F], NFD: [0x03A9, 0x0301], NFKC: [0x038F], NFKD: [0x03A9, 0x0301] }, -{ source: [0x1FFC], NFC: [0x1FFC], NFD: [0x03A9, 0x0345], NFKC: [0x1FFC], NFKD: [0x03A9, 0x0345] }, -{ source: [0x1FFD], NFC: [0x00B4], NFD: [0x00B4], NFKC: [0x0020, 0x0301], NFKD: [0x0020, 0x0301] }, -{ source: [0x1FFE], NFC: [0x1FFE], NFD: [0x1FFE], NFKC: [0x0020, 0x0314], NFKD: [0x0020, 0x0314] }, -{ source: [0x2000], NFC: [0x2002], NFD: [0x2002], NFKC: [0x0020], NFKD: [0x0020] }, -{ source: [0x2001], NFC: [0x2003], NFD: [0x2003], NFKC: [0x0020], NFKD: [0x0020] }, -{ source: [0x2002], NFC: [0x2002], NFD: [0x2002], NFKC: [0x0020], NFKD: [0x0020] }, -{ source: [0x2003], NFC: [0x2003], NFD: [0x2003], NFKC: [0x0020], NFKD: [0x0020] }, -{ source: [0x2004], NFC: [0x2004], NFD: [0x2004], NFKC: [0x0020], NFKD: [0x0020] }, -{ source: [0x2005], NFC: [0x2005], NFD: [0x2005], NFKC: [0x0020], NFKD: [0x0020] }, -{ source: [0x2006], NFC: [0x2006], NFD: [0x2006], NFKC: [0x0020], NFKD: [0x0020] }, -{ source: [0x2007], NFC: [0x2007], NFD: [0x2007], NFKC: [0x0020], NFKD: [0x0020] }, -{ source: [0x2008], NFC: [0x2008], NFD: [0x2008], NFKC: [0x0020], NFKD: [0x0020] }, -{ source: [0x2009], NFC: [0x2009], NFD: [0x2009], NFKC: [0x0020], NFKD: [0x0020] }, -{ source: [0x200A], NFC: [0x200A], NFD: [0x200A], NFKC: [0x0020], NFKD: [0x0020] }, -{ source: [0x2011], NFC: [0x2011], NFD: [0x2011], NFKC: [0x2010], NFKD: [0x2010] }, -{ source: [0x2017], NFC: [0x2017], NFD: [0x2017], NFKC: [0x0020, 0x0333], NFKD: [0x0020, 0x0333] }, -{ source: [0x2024], NFC: [0x2024], NFD: [0x2024], NFKC: [0x002E], NFKD: [0x002E] }, -{ source: [0x2025], NFC: [0x2025], NFD: [0x2025], NFKC: [0x002E, 0x002E], NFKD: [0x002E, 0x002E] }, -{ source: [0x2026], NFC: [0x2026], NFD: [0x2026], NFKC: [0x002E, 0x002E, 0x002E], NFKD: [0x002E, 0x002E, 0x002E] }, -{ source: [0x202F], NFC: [0x202F], NFD: [0x202F], NFKC: [0x0020], NFKD: [0x0020] }, -{ source: [0x2033], NFC: [0x2033], NFD: [0x2033], NFKC: [0x2032, 0x2032], NFKD: [0x2032, 0x2032] }, -{ source: [0x2034], NFC: [0x2034], NFD: [0x2034], NFKC: [0x2032, 0x2032, 0x2032], NFKD: [0x2032, 0x2032, 0x2032] }, -{ source: [0x2036], NFC: [0x2036], NFD: [0x2036], NFKC: [0x2035, 0x2035], NFKD: [0x2035, 0x2035] }, -{ source: [0x2037], NFC: [0x2037], NFD: [0x2037], NFKC: [0x2035, 0x2035, 0x2035], NFKD: [0x2035, 0x2035, 0x2035] }, -{ source: [0x203C], NFC: [0x203C], NFD: [0x203C], NFKC: [0x0021, 0x0021], NFKD: [0x0021, 0x0021] }, -{ source: [0x203E], NFC: [0x203E], NFD: [0x203E], NFKC: [0x0020, 0x0305], NFKD: [0x0020, 0x0305] }, -{ source: [0x2047], NFC: [0x2047], NFD: [0x2047], NFKC: [0x003F, 0x003F], NFKD: [0x003F, 0x003F] }, -{ source: [0x2048], NFC: [0x2048], NFD: [0x2048], NFKC: [0x003F, 0x0021], NFKD: [0x003F, 0x0021] }, -{ source: [0x2049], NFC: [0x2049], NFD: [0x2049], NFKC: [0x0021, 0x003F], NFKD: [0x0021, 0x003F] }, -{ source: [0x2057], NFC: [0x2057], NFD: [0x2057], NFKC: [0x2032, 0x2032, 0x2032, 0x2032], NFKD: [0x2032, 0x2032, 0x2032, 0x2032] }, -{ source: [0x205F], NFC: [0x205F], NFD: [0x205F], NFKC: [0x0020], NFKD: [0x0020] }, -{ source: [0x2070], NFC: [0x2070], NFD: [0x2070], NFKC: [0x0030], NFKD: [0x0030] }, -{ source: [0x2071], NFC: [0x2071], NFD: [0x2071], NFKC: [0x0069], NFKD: [0x0069] }, -{ source: [0x2074], NFC: [0x2074], NFD: [0x2074], NFKC: [0x0034], NFKD: [0x0034] }, -{ source: [0x2075], NFC: [0x2075], NFD: [0x2075], NFKC: [0x0035], NFKD: [0x0035] }, -{ source: [0x2076], NFC: [0x2076], NFD: [0x2076], NFKC: [0x0036], NFKD: [0x0036] }, -{ source: [0x2077], NFC: [0x2077], NFD: [0x2077], NFKC: [0x0037], NFKD: [0x0037] }, -{ source: [0x2078], NFC: [0x2078], NFD: [0x2078], NFKC: [0x0038], NFKD: [0x0038] }, -{ source: [0x2079], NFC: [0x2079], NFD: [0x2079], NFKC: [0x0039], NFKD: [0x0039] }, -{ source: [0x207A], NFC: [0x207A], NFD: [0x207A], NFKC: [0x002B], NFKD: [0x002B] }, -{ source: [0x207B], NFC: [0x207B], NFD: [0x207B], NFKC: [0x2212], NFKD: [0x2212] }, -{ source: [0x207C], NFC: [0x207C], NFD: [0x207C], NFKC: [0x003D], NFKD: [0x003D] }, -{ source: [0x207D], NFC: [0x207D], NFD: [0x207D], NFKC: [0x0028], NFKD: [0x0028] }, -{ source: [0x207E], NFC: [0x207E], NFD: [0x207E], NFKC: [0x0029], NFKD: [0x0029] }, -{ source: [0x207F], NFC: [0x207F], NFD: [0x207F], NFKC: [0x006E], NFKD: [0x006E] }, -{ source: [0x2080], NFC: [0x2080], NFD: [0x2080], NFKC: [0x0030], NFKD: [0x0030] }, -{ source: [0x2081], NFC: [0x2081], NFD: [0x2081], NFKC: [0x0031], NFKD: [0x0031] }, -{ source: [0x2082], NFC: [0x2082], NFD: [0x2082], NFKC: [0x0032], NFKD: [0x0032] }, -{ source: [0x2083], NFC: [0x2083], NFD: [0x2083], NFKC: [0x0033], NFKD: [0x0033] }, -{ source: [0x2084], NFC: [0x2084], NFD: [0x2084], NFKC: [0x0034], NFKD: [0x0034] }, -{ source: [0x2085], NFC: [0x2085], NFD: [0x2085], NFKC: [0x0035], NFKD: [0x0035] }, -{ source: [0x2086], NFC: [0x2086], NFD: [0x2086], NFKC: [0x0036], NFKD: [0x0036] }, -{ source: [0x2087], NFC: [0x2087], NFD: [0x2087], NFKC: [0x0037], NFKD: [0x0037] }, -{ source: [0x2088], NFC: [0x2088], NFD: [0x2088], NFKC: [0x0038], NFKD: [0x0038] }, -{ source: [0x2089], NFC: [0x2089], NFD: [0x2089], NFKC: [0x0039], NFKD: [0x0039] }, -{ source: [0x208A], NFC: [0x208A], NFD: [0x208A], NFKC: [0x002B], NFKD: [0x002B] }, -{ source: [0x208B], NFC: [0x208B], NFD: [0x208B], NFKC: [0x2212], NFKD: [0x2212] }, -{ source: [0x208C], NFC: [0x208C], NFD: [0x208C], NFKC: [0x003D], NFKD: [0x003D] }, -{ source: [0x208D], NFC: [0x208D], NFD: [0x208D], NFKC: [0x0028], NFKD: [0x0028] }, -{ source: [0x208E], NFC: [0x208E], NFD: [0x208E], NFKC: [0x0029], NFKD: [0x0029] }, -{ source: [0x2090], NFC: [0x2090], NFD: [0x2090], NFKC: [0x0061], NFKD: [0x0061] }, -{ source: [0x2091], NFC: [0x2091], NFD: [0x2091], NFKC: [0x0065], NFKD: [0x0065] }, -{ source: [0x2092], NFC: [0x2092], NFD: [0x2092], NFKC: [0x006F], NFKD: [0x006F] }, -{ source: [0x2093], NFC: [0x2093], NFD: [0x2093], NFKC: [0x0078], NFKD: [0x0078] }, -{ source: [0x2094], NFC: [0x2094], NFD: [0x2094], NFKC: [0x0259], NFKD: [0x0259] }, -{ source: [0x2095], NFC: [0x2095], NFD: [0x2095], NFKC: [0x0068], NFKD: [0x0068] }, -{ source: [0x2096], NFC: [0x2096], NFD: [0x2096], NFKC: [0x006B], NFKD: [0x006B] }, -{ source: [0x2097], NFC: [0x2097], NFD: [0x2097], NFKC: [0x006C], NFKD: [0x006C] }, -{ source: [0x2098], NFC: [0x2098], NFD: [0x2098], NFKC: [0x006D], NFKD: [0x006D] }, -{ source: [0x2099], NFC: [0x2099], NFD: [0x2099], NFKC: [0x006E], NFKD: [0x006E] }, -{ source: [0x209A], NFC: [0x209A], NFD: [0x209A], NFKC: [0x0070], NFKD: [0x0070] }, -{ source: [0x209B], NFC: [0x209B], NFD: [0x209B], NFKC: [0x0073], NFKD: [0x0073] }, -{ source: [0x209C], NFC: [0x209C], NFD: [0x209C], NFKC: [0x0074], NFKD: [0x0074] }, -{ source: [0x20A8], NFC: [0x20A8], NFD: [0x20A8], NFKC: [0x0052, 0x0073], NFKD: [0x0052, 0x0073] }, -{ source: [0x2100], NFC: [0x2100], NFD: [0x2100], NFKC: [0x0061, 0x002F, 0x0063], NFKD: [0x0061, 0x002F, 0x0063] }, -{ source: [0x2101], NFC: [0x2101], NFD: [0x2101], NFKC: [0x0061, 0x002F, 0x0073], NFKD: [0x0061, 0x002F, 0x0073] }, -{ source: [0x2102], NFC: [0x2102], NFD: [0x2102], NFKC: [0x0043], NFKD: [0x0043] }, -{ source: [0x2103], NFC: [0x2103], NFD: [0x2103], NFKC: [0x00B0, 0x0043], NFKD: [0x00B0, 0x0043] }, -{ source: [0x2105], NFC: [0x2105], NFD: [0x2105], NFKC: [0x0063, 0x002F, 0x006F], NFKD: [0x0063, 0x002F, 0x006F] }, -{ source: [0x2106], NFC: [0x2106], NFD: [0x2106], NFKC: [0x0063, 0x002F, 0x0075], NFKD: [0x0063, 0x002F, 0x0075] }, -{ source: [0x2107], NFC: [0x2107], NFD: [0x2107], NFKC: [0x0190], NFKD: [0x0190] }, -{ source: [0x2109], NFC: [0x2109], NFD: [0x2109], NFKC: [0x00B0, 0x0046], NFKD: [0x00B0, 0x0046] }, -{ source: [0x210A], NFC: [0x210A], NFD: [0x210A], NFKC: [0x0067], NFKD: [0x0067] }, -{ source: [0x210B], NFC: [0x210B], NFD: [0x210B], NFKC: [0x0048], NFKD: [0x0048] }, -{ source: [0x210C], NFC: [0x210C], NFD: [0x210C], NFKC: [0x0048], NFKD: [0x0048] }, -{ source: [0x210D], NFC: [0x210D], NFD: [0x210D], NFKC: [0x0048], NFKD: [0x0048] }, -{ source: [0x210E], NFC: [0x210E], NFD: [0x210E], NFKC: [0x0068], NFKD: [0x0068] }, -{ source: [0x210F], NFC: [0x210F], NFD: [0x210F], NFKC: [0x0127], NFKD: [0x0127] }, -{ source: [0x2110], NFC: [0x2110], NFD: [0x2110], NFKC: [0x0049], NFKD: [0x0049] }, -{ source: [0x2111], NFC: [0x2111], NFD: [0x2111], NFKC: [0x0049], NFKD: [0x0049] }, -{ source: [0x2112], NFC: [0x2112], NFD: [0x2112], NFKC: [0x004C], NFKD: [0x004C] }, -{ source: [0x2113], NFC: [0x2113], NFD: [0x2113], NFKC: [0x006C], NFKD: [0x006C] }, -{ source: [0x2115], NFC: [0x2115], NFD: [0x2115], NFKC: [0x004E], NFKD: [0x004E] }, -{ source: [0x2116], NFC: [0x2116], NFD: [0x2116], NFKC: [0x004E, 0x006F], NFKD: [0x004E, 0x006F] }, -{ source: [0x2119], NFC: [0x2119], NFD: [0x2119], NFKC: [0x0050], NFKD: [0x0050] }, -{ source: [0x211A], NFC: [0x211A], NFD: [0x211A], NFKC: [0x0051], NFKD: [0x0051] }, -{ source: [0x211B], NFC: [0x211B], NFD: [0x211B], NFKC: [0x0052], NFKD: [0x0052] }, -{ source: [0x211C], NFC: [0x211C], NFD: [0x211C], NFKC: [0x0052], NFKD: [0x0052] }, -{ source: [0x211D], NFC: [0x211D], NFD: [0x211D], NFKC: [0x0052], NFKD: [0x0052] }, -{ source: [0x2120], NFC: [0x2120], NFD: [0x2120], NFKC: [0x0053, 0x004D], NFKD: [0x0053, 0x004D] }, -{ source: [0x2121], NFC: [0x2121], NFD: [0x2121], NFKC: [0x0054, 0x0045, 0x004C], NFKD: [0x0054, 0x0045, 0x004C] }, -{ source: [0x2122], NFC: [0x2122], NFD: [0x2122], NFKC: [0x0054, 0x004D], NFKD: [0x0054, 0x004D] }, -{ source: [0x2124], NFC: [0x2124], NFD: [0x2124], NFKC: [0x005A], NFKD: [0x005A] }, -{ source: [0x2126], NFC: [0x03A9], NFD: [0x03A9], NFKC: [0x03A9], NFKD: [0x03A9] }, -{ source: [0x2128], NFC: [0x2128], NFD: [0x2128], NFKC: [0x005A], NFKD: [0x005A] }, -{ source: [0x212A], NFC: [0x004B], NFD: [0x004B], NFKC: [0x004B], NFKD: [0x004B] }, -{ source: [0x212B], NFC: [0x00C5], NFD: [0x0041, 0x030A], NFKC: [0x00C5], NFKD: [0x0041, 0x030A] }, -{ source: [0x212C], NFC: [0x212C], NFD: [0x212C], NFKC: [0x0042], NFKD: [0x0042] }, -{ source: [0x212D], NFC: [0x212D], NFD: [0x212D], NFKC: [0x0043], NFKD: [0x0043] }, -{ source: [0x212F], NFC: [0x212F], NFD: [0x212F], NFKC: [0x0065], NFKD: [0x0065] }, -{ source: [0x2130], NFC: [0x2130], NFD: [0x2130], NFKC: [0x0045], NFKD: [0x0045] }, -{ source: [0x2131], NFC: [0x2131], NFD: [0x2131], NFKC: [0x0046], NFKD: [0x0046] }, -{ source: [0x2133], NFC: [0x2133], NFD: [0x2133], NFKC: [0x004D], NFKD: [0x004D] }, -{ source: [0x2134], NFC: [0x2134], NFD: [0x2134], NFKC: [0x006F], NFKD: [0x006F] }, -{ source: [0x2135], NFC: [0x2135], NFD: [0x2135], NFKC: [0x05D0], NFKD: [0x05D0] }, -{ source: [0x2136], NFC: [0x2136], NFD: [0x2136], NFKC: [0x05D1], NFKD: [0x05D1] }, -{ source: [0x2137], NFC: [0x2137], NFD: [0x2137], NFKC: [0x05D2], NFKD: [0x05D2] }, -{ source: [0x2138], NFC: [0x2138], NFD: [0x2138], NFKC: [0x05D3], NFKD: [0x05D3] }, -{ source: [0x2139], NFC: [0x2139], NFD: [0x2139], NFKC: [0x0069], NFKD: [0x0069] }, -{ source: [0x213B], NFC: [0x213B], NFD: [0x213B], NFKC: [0x0046, 0x0041, 0x0058], NFKD: [0x0046, 0x0041, 0x0058] }, -{ source: [0x213C], NFC: [0x213C], NFD: [0x213C], NFKC: [0x03C0], NFKD: [0x03C0] }, -{ source: [0x213D], NFC: [0x213D], NFD: [0x213D], NFKC: [0x03B3], NFKD: [0x03B3] }, -{ source: [0x213E], NFC: [0x213E], NFD: [0x213E], NFKC: [0x0393], NFKD: [0x0393] }, -{ source: [0x213F], NFC: [0x213F], NFD: [0x213F], NFKC: [0x03A0], NFKD: [0x03A0] }, -{ source: [0x2140], NFC: [0x2140], NFD: [0x2140], NFKC: [0x2211], NFKD: [0x2211] }, -{ source: [0x2145], NFC: [0x2145], NFD: [0x2145], NFKC: [0x0044], NFKD: [0x0044] }, -{ source: [0x2146], NFC: [0x2146], NFD: [0x2146], NFKC: [0x0064], NFKD: [0x0064] }, -{ source: [0x2147], NFC: [0x2147], NFD: [0x2147], NFKC: [0x0065], NFKD: [0x0065] }, -{ source: [0x2148], NFC: [0x2148], NFD: [0x2148], NFKC: [0x0069], NFKD: [0x0069] }, -{ source: [0x2149], NFC: [0x2149], NFD: [0x2149], NFKC: [0x006A], NFKD: [0x006A] }, -{ source: [0x2150], NFC: [0x2150], NFD: [0x2150], NFKC: [0x0031, 0x2044, 0x0037], NFKD: [0x0031, 0x2044, 0x0037] }, -{ source: [0x2151], NFC: [0x2151], NFD: [0x2151], NFKC: [0x0031, 0x2044, 0x0039], NFKD: [0x0031, 0x2044, 0x0039] }, -{ source: [0x2152], NFC: [0x2152], NFD: [0x2152], NFKC: [0x0031, 0x2044, 0x0031, 0x0030], NFKD: [0x0031, 0x2044, 0x0031, 0x0030] }, -{ source: [0x2153], NFC: [0x2153], NFD: [0x2153], NFKC: [0x0031, 0x2044, 0x0033], NFKD: [0x0031, 0x2044, 0x0033] }, -{ source: [0x2154], NFC: [0x2154], NFD: [0x2154], NFKC: [0x0032, 0x2044, 0x0033], NFKD: [0x0032, 0x2044, 0x0033] }, -{ source: [0x2155], NFC: [0x2155], NFD: [0x2155], NFKC: [0x0031, 0x2044, 0x0035], NFKD: [0x0031, 0x2044, 0x0035] }, -{ source: [0x2156], NFC: [0x2156], NFD: [0x2156], NFKC: [0x0032, 0x2044, 0x0035], NFKD: [0x0032, 0x2044, 0x0035] }, -{ source: [0x2157], NFC: [0x2157], NFD: [0x2157], NFKC: [0x0033, 0x2044, 0x0035], NFKD: [0x0033, 0x2044, 0x0035] }, -{ source: [0x2158], NFC: [0x2158], NFD: [0x2158], NFKC: [0x0034, 0x2044, 0x0035], NFKD: [0x0034, 0x2044, 0x0035] }, -{ source: [0x2159], NFC: [0x2159], NFD: [0x2159], NFKC: [0x0031, 0x2044, 0x0036], NFKD: [0x0031, 0x2044, 0x0036] }, -{ source: [0x215A], NFC: [0x215A], NFD: [0x215A], NFKC: [0x0035, 0x2044, 0x0036], NFKD: [0x0035, 0x2044, 0x0036] }, -{ source: [0x215B], NFC: [0x215B], NFD: [0x215B], NFKC: [0x0031, 0x2044, 0x0038], NFKD: [0x0031, 0x2044, 0x0038] }, -{ source: [0x215C], NFC: [0x215C], NFD: [0x215C], NFKC: [0x0033, 0x2044, 0x0038], NFKD: [0x0033, 0x2044, 0x0038] }, -{ source: [0x215D], NFC: [0x215D], NFD: [0x215D], NFKC: [0x0035, 0x2044, 0x0038], NFKD: [0x0035, 0x2044, 0x0038] }, -{ source: [0x215E], NFC: [0x215E], NFD: [0x215E], NFKC: [0x0037, 0x2044, 0x0038], NFKD: [0x0037, 0x2044, 0x0038] }, -{ source: [0x215F], NFC: [0x215F], NFD: [0x215F], NFKC: [0x0031, 0x2044], NFKD: [0x0031, 0x2044] }, -{ source: [0x2160], NFC: [0x2160], NFD: [0x2160], NFKC: [0x0049], NFKD: [0x0049] }, -{ source: [0x2161], NFC: [0x2161], NFD: [0x2161], NFKC: [0x0049, 0x0049], NFKD: [0x0049, 0x0049] }, -{ source: [0x2162], NFC: [0x2162], NFD: [0x2162], NFKC: [0x0049, 0x0049, 0x0049], NFKD: [0x0049, 0x0049, 0x0049] }, -{ source: [0x2163], NFC: [0x2163], NFD: [0x2163], NFKC: [0x0049, 0x0056], NFKD: [0x0049, 0x0056] }, -{ source: [0x2164], NFC: [0x2164], NFD: [0x2164], NFKC: [0x0056], NFKD: [0x0056] }, -{ source: [0x2165], NFC: [0x2165], NFD: [0x2165], NFKC: [0x0056, 0x0049], NFKD: [0x0056, 0x0049] }, -{ source: [0x2166], NFC: [0x2166], NFD: [0x2166], NFKC: [0x0056, 0x0049, 0x0049], NFKD: [0x0056, 0x0049, 0x0049] }, -{ source: [0x2167], NFC: [0x2167], NFD: [0x2167], NFKC: [0x0056, 0x0049, 0x0049, 0x0049], NFKD: [0x0056, 0x0049, 0x0049, 0x0049] }, -{ source: [0x2168], NFC: [0x2168], NFD: [0x2168], NFKC: [0x0049, 0x0058], NFKD: [0x0049, 0x0058] }, -{ source: [0x2169], NFC: [0x2169], NFD: [0x2169], NFKC: [0x0058], NFKD: [0x0058] }, -{ source: [0x216A], NFC: [0x216A], NFD: [0x216A], NFKC: [0x0058, 0x0049], NFKD: [0x0058, 0x0049] }, -{ source: [0x216B], NFC: [0x216B], NFD: [0x216B], NFKC: [0x0058, 0x0049, 0x0049], NFKD: [0x0058, 0x0049, 0x0049] }, -{ source: [0x216C], NFC: [0x216C], NFD: [0x216C], NFKC: [0x004C], NFKD: [0x004C] }, -{ source: [0x216D], NFC: [0x216D], NFD: [0x216D], NFKC: [0x0043], NFKD: [0x0043] }, -{ source: [0x216E], NFC: [0x216E], NFD: [0x216E], NFKC: [0x0044], NFKD: [0x0044] }, -{ source: [0x216F], NFC: [0x216F], NFD: [0x216F], NFKC: [0x004D], NFKD: [0x004D] }, -{ source: [0x2170], NFC: [0x2170], NFD: [0x2170], NFKC: [0x0069], NFKD: [0x0069] }, -{ source: [0x2171], NFC: [0x2171], NFD: [0x2171], NFKC: [0x0069, 0x0069], NFKD: [0x0069, 0x0069] }, -{ source: [0x2172], NFC: [0x2172], NFD: [0x2172], NFKC: [0x0069, 0x0069, 0x0069], NFKD: [0x0069, 0x0069, 0x0069] }, -{ source: [0x2173], NFC: [0x2173], NFD: [0x2173], NFKC: [0x0069, 0x0076], NFKD: [0x0069, 0x0076] }, -{ source: [0x2174], NFC: [0x2174], NFD: [0x2174], NFKC: [0x0076], NFKD: [0x0076] }, -{ source: [0x2175], NFC: [0x2175], NFD: [0x2175], NFKC: [0x0076, 0x0069], NFKD: [0x0076, 0x0069] }, -{ source: [0x2176], NFC: [0x2176], NFD: [0x2176], NFKC: [0x0076, 0x0069, 0x0069], NFKD: [0x0076, 0x0069, 0x0069] }, -{ source: [0x2177], NFC: [0x2177], NFD: [0x2177], NFKC: [0x0076, 0x0069, 0x0069, 0x0069], NFKD: [0x0076, 0x0069, 0x0069, 0x0069] }, -{ source: [0x2178], NFC: [0x2178], NFD: [0x2178], NFKC: [0x0069, 0x0078], NFKD: [0x0069, 0x0078] }, -{ source: [0x2179], NFC: [0x2179], NFD: [0x2179], NFKC: [0x0078], NFKD: [0x0078] }, -{ source: [0x217A], NFC: [0x217A], NFD: [0x217A], NFKC: [0x0078, 0x0069], NFKD: [0x0078, 0x0069] }, -{ source: [0x217B], NFC: [0x217B], NFD: [0x217B], NFKC: [0x0078, 0x0069, 0x0069], NFKD: [0x0078, 0x0069, 0x0069] }, -{ source: [0x217C], NFC: [0x217C], NFD: [0x217C], NFKC: [0x006C], NFKD: [0x006C] }, -{ source: [0x217D], NFC: [0x217D], NFD: [0x217D], NFKC: [0x0063], NFKD: [0x0063] }, -{ source: [0x217E], NFC: [0x217E], NFD: [0x217E], NFKC: [0x0064], NFKD: [0x0064] }, -{ source: [0x217F], NFC: [0x217F], NFD: [0x217F], NFKC: [0x006D], NFKD: [0x006D] }, -{ source: [0x2189], NFC: [0x2189], NFD: [0x2189], NFKC: [0x0030, 0x2044, 0x0033], NFKD: [0x0030, 0x2044, 0x0033] }, -{ source: [0x219A], NFC: [0x219A], NFD: [0x2190, 0x0338], NFKC: [0x219A], NFKD: [0x2190, 0x0338] }, -{ source: [0x219B], NFC: [0x219B], NFD: [0x2192, 0x0338], NFKC: [0x219B], NFKD: [0x2192, 0x0338] }, -{ source: [0x21AE], NFC: [0x21AE], NFD: [0x2194, 0x0338], NFKC: [0x21AE], NFKD: [0x2194, 0x0338] }, -{ source: [0x21CD], NFC: [0x21CD], NFD: [0x21D0, 0x0338], NFKC: [0x21CD], NFKD: [0x21D0, 0x0338] }, -{ source: [0x21CE], NFC: [0x21CE], NFD: [0x21D4, 0x0338], NFKC: [0x21CE], NFKD: [0x21D4, 0x0338] }, -{ source: [0x21CF], NFC: [0x21CF], NFD: [0x21D2, 0x0338], NFKC: [0x21CF], NFKD: [0x21D2, 0x0338] }, -{ source: [0x2204], NFC: [0x2204], NFD: [0x2203, 0x0338], NFKC: [0x2204], NFKD: [0x2203, 0x0338] }, -{ source: [0x2209], NFC: [0x2209], NFD: [0x2208, 0x0338], NFKC: [0x2209], NFKD: [0x2208, 0x0338] }, -{ source: [0x220C], NFC: [0x220C], NFD: [0x220B, 0x0338], NFKC: [0x220C], NFKD: [0x220B, 0x0338] }, -{ source: [0x2224], NFC: [0x2224], NFD: [0x2223, 0x0338], NFKC: [0x2224], NFKD: [0x2223, 0x0338] }, -{ source: [0x2226], NFC: [0x2226], NFD: [0x2225, 0x0338], NFKC: [0x2226], NFKD: [0x2225, 0x0338] }, -{ source: [0x222C], NFC: [0x222C], NFD: [0x222C], NFKC: [0x222B, 0x222B], NFKD: [0x222B, 0x222B] }, -{ source: [0x222D], NFC: [0x222D], NFD: [0x222D], NFKC: [0x222B, 0x222B, 0x222B], NFKD: [0x222B, 0x222B, 0x222B] }, -{ source: [0x222F], NFC: [0x222F], NFD: [0x222F], NFKC: [0x222E, 0x222E], NFKD: [0x222E, 0x222E] }, -{ source: [0x2230], NFC: [0x2230], NFD: [0x2230], NFKC: [0x222E, 0x222E, 0x222E], NFKD: [0x222E, 0x222E, 0x222E] }, -{ source: [0x2241], NFC: [0x2241], NFD: [0x223C, 0x0338], NFKC: [0x2241], NFKD: [0x223C, 0x0338] }, -{ source: [0x2244], NFC: [0x2244], NFD: [0x2243, 0x0338], NFKC: [0x2244], NFKD: [0x2243, 0x0338] }, -{ source: [0x2247], NFC: [0x2247], NFD: [0x2245, 0x0338], NFKC: [0x2247], NFKD: [0x2245, 0x0338] }, -{ source: [0x2249], NFC: [0x2249], NFD: [0x2248, 0x0338], NFKC: [0x2249], NFKD: [0x2248, 0x0338] }, -{ source: [0x2260], NFC: [0x2260], NFD: [0x003D, 0x0338], NFKC: [0x2260], NFKD: [0x003D, 0x0338] }, -{ source: [0x2262], NFC: [0x2262], NFD: [0x2261, 0x0338], NFKC: [0x2262], NFKD: [0x2261, 0x0338] }, -{ source: [0x226D], NFC: [0x226D], NFD: [0x224D, 0x0338], NFKC: [0x226D], NFKD: [0x224D, 0x0338] }, -{ source: [0x226E], NFC: [0x226E], NFD: [0x003C, 0x0338], NFKC: [0x226E], NFKD: [0x003C, 0x0338] }, -{ source: [0x226F], NFC: [0x226F], NFD: [0x003E, 0x0338], NFKC: [0x226F], NFKD: [0x003E, 0x0338] }, -{ source: [0x2270], NFC: [0x2270], NFD: [0x2264, 0x0338], NFKC: [0x2270], NFKD: [0x2264, 0x0338] }, -{ source: [0x2271], NFC: [0x2271], NFD: [0x2265, 0x0338], NFKC: [0x2271], NFKD: [0x2265, 0x0338] }, -{ source: [0x2274], NFC: [0x2274], NFD: [0x2272, 0x0338], NFKC: [0x2274], NFKD: [0x2272, 0x0338] }, -{ source: [0x2275], NFC: [0x2275], NFD: [0x2273, 0x0338], NFKC: [0x2275], NFKD: [0x2273, 0x0338] }, -{ source: [0x2278], NFC: [0x2278], NFD: [0x2276, 0x0338], NFKC: [0x2278], NFKD: [0x2276, 0x0338] }, -{ source: [0x2279], NFC: [0x2279], NFD: [0x2277, 0x0338], NFKC: [0x2279], NFKD: [0x2277, 0x0338] }, -{ source: [0x2280], NFC: [0x2280], NFD: [0x227A, 0x0338], NFKC: [0x2280], NFKD: [0x227A, 0x0338] }, -{ source: [0x2281], NFC: [0x2281], NFD: [0x227B, 0x0338], NFKC: [0x2281], NFKD: [0x227B, 0x0338] }, -{ source: [0x2284], NFC: [0x2284], NFD: [0x2282, 0x0338], NFKC: [0x2284], NFKD: [0x2282, 0x0338] }, -{ source: [0x2285], NFC: [0x2285], NFD: [0x2283, 0x0338], NFKC: [0x2285], NFKD: [0x2283, 0x0338] }, -{ source: [0x2288], NFC: [0x2288], NFD: [0x2286, 0x0338], NFKC: [0x2288], NFKD: [0x2286, 0x0338] }, -{ source: [0x2289], NFC: [0x2289], NFD: [0x2287, 0x0338], NFKC: [0x2289], NFKD: [0x2287, 0x0338] }, -{ source: [0x22AC], NFC: [0x22AC], NFD: [0x22A2, 0x0338], NFKC: [0x22AC], NFKD: [0x22A2, 0x0338] }, -{ source: [0x22AD], NFC: [0x22AD], NFD: [0x22A8, 0x0338], NFKC: [0x22AD], NFKD: [0x22A8, 0x0338] }, -{ source: [0x22AE], NFC: [0x22AE], NFD: [0x22A9, 0x0338], NFKC: [0x22AE], NFKD: [0x22A9, 0x0338] }, -{ source: [0x22AF], NFC: [0x22AF], NFD: [0x22AB, 0x0338], NFKC: [0x22AF], NFKD: [0x22AB, 0x0338] }, -{ source: [0x22E0], NFC: [0x22E0], NFD: [0x227C, 0x0338], NFKC: [0x22E0], NFKD: [0x227C, 0x0338] }, -{ source: [0x22E1], NFC: [0x22E1], NFD: [0x227D, 0x0338], NFKC: [0x22E1], NFKD: [0x227D, 0x0338] }, -{ source: [0x22E2], NFC: [0x22E2], NFD: [0x2291, 0x0338], NFKC: [0x22E2], NFKD: [0x2291, 0x0338] }, -{ source: [0x22E3], NFC: [0x22E3], NFD: [0x2292, 0x0338], NFKC: [0x22E3], NFKD: [0x2292, 0x0338] }, -{ source: [0x22EA], NFC: [0x22EA], NFD: [0x22B2, 0x0338], NFKC: [0x22EA], NFKD: [0x22B2, 0x0338] }, -{ source: [0x22EB], NFC: [0x22EB], NFD: [0x22B3, 0x0338], NFKC: [0x22EB], NFKD: [0x22B3, 0x0338] }, -{ source: [0x22EC], NFC: [0x22EC], NFD: [0x22B4, 0x0338], NFKC: [0x22EC], NFKD: [0x22B4, 0x0338] }, -{ source: [0x22ED], NFC: [0x22ED], NFD: [0x22B5, 0x0338], NFKC: [0x22ED], NFKD: [0x22B5, 0x0338] }, -{ source: [0x2329], NFC: [0x3008], NFD: [0x3008], NFKC: [0x3008], NFKD: [0x3008] }, -{ source: [0x232A], NFC: [0x3009], NFD: [0x3009], NFKC: [0x3009], NFKD: [0x3009] }, -{ source: [0x2460], NFC: [0x2460], NFD: [0x2460], NFKC: [0x0031], NFKD: [0x0031] }, -{ source: [0x2461], NFC: [0x2461], NFD: [0x2461], NFKC: [0x0032], NFKD: [0x0032] }, -{ source: [0x2462], NFC: [0x2462], NFD: [0x2462], NFKC: [0x0033], NFKD: [0x0033] }, -{ source: [0x2463], NFC: [0x2463], NFD: [0x2463], NFKC: [0x0034], NFKD: [0x0034] }, -{ source: [0x2464], NFC: [0x2464], NFD: [0x2464], NFKC: [0x0035], NFKD: [0x0035] }, -{ source: [0x2465], NFC: [0x2465], NFD: [0x2465], NFKC: [0x0036], NFKD: [0x0036] }, -{ source: [0x2466], NFC: [0x2466], NFD: [0x2466], NFKC: [0x0037], NFKD: [0x0037] }, -{ source: [0x2467], NFC: [0x2467], NFD: [0x2467], NFKC: [0x0038], NFKD: [0x0038] }, -{ source: [0x2468], NFC: [0x2468], NFD: [0x2468], NFKC: [0x0039], NFKD: [0x0039] }, -{ source: [0x2469], NFC: [0x2469], NFD: [0x2469], NFKC: [0x0031, 0x0030], NFKD: [0x0031, 0x0030] }, -{ source: [0x246A], NFC: [0x246A], NFD: [0x246A], NFKC: [0x0031, 0x0031], NFKD: [0x0031, 0x0031] }, -{ source: [0x246B], NFC: [0x246B], NFD: [0x246B], NFKC: [0x0031, 0x0032], NFKD: [0x0031, 0x0032] }, -{ source: [0x246C], NFC: [0x246C], NFD: [0x246C], NFKC: [0x0031, 0x0033], NFKD: [0x0031, 0x0033] }, -{ source: [0x246D], NFC: [0x246D], NFD: [0x246D], NFKC: [0x0031, 0x0034], NFKD: [0x0031, 0x0034] }, -{ source: [0x246E], NFC: [0x246E], NFD: [0x246E], NFKC: [0x0031, 0x0035], NFKD: [0x0031, 0x0035] }, -{ source: [0x246F], NFC: [0x246F], NFD: [0x246F], NFKC: [0x0031, 0x0036], NFKD: [0x0031, 0x0036] }, -{ source: [0x2470], NFC: [0x2470], NFD: [0x2470], NFKC: [0x0031, 0x0037], NFKD: [0x0031, 0x0037] }, -{ source: [0x2471], NFC: [0x2471], NFD: [0x2471], NFKC: [0x0031, 0x0038], NFKD: [0x0031, 0x0038] }, -{ source: [0x2472], NFC: [0x2472], NFD: [0x2472], NFKC: [0x0031, 0x0039], NFKD: [0x0031, 0x0039] }, -{ source: [0x2473], NFC: [0x2473], NFD: [0x2473], NFKC: [0x0032, 0x0030], NFKD: [0x0032, 0x0030] }, -{ source: [0x2474], NFC: [0x2474], NFD: [0x2474], NFKC: [0x0028, 0x0031, 0x0029], NFKD: [0x0028, 0x0031, 0x0029] }, -{ source: [0x2475], NFC: [0x2475], NFD: [0x2475], NFKC: [0x0028, 0x0032, 0x0029], NFKD: [0x0028, 0x0032, 0x0029] }, -{ source: [0x2476], NFC: [0x2476], NFD: [0x2476], NFKC: [0x0028, 0x0033, 0x0029], NFKD: [0x0028, 0x0033, 0x0029] }, -{ source: [0x2477], NFC: [0x2477], NFD: [0x2477], NFKC: [0x0028, 0x0034, 0x0029], NFKD: [0x0028, 0x0034, 0x0029] }, -{ source: [0x2478], NFC: [0x2478], NFD: [0x2478], NFKC: [0x0028, 0x0035, 0x0029], NFKD: [0x0028, 0x0035, 0x0029] }, -{ source: [0x2479], NFC: [0x2479], NFD: [0x2479], NFKC: [0x0028, 0x0036, 0x0029], NFKD: [0x0028, 0x0036, 0x0029] }, -{ source: [0x247A], NFC: [0x247A], NFD: [0x247A], NFKC: [0x0028, 0x0037, 0x0029], NFKD: [0x0028, 0x0037, 0x0029] }, -{ source: [0x247B], NFC: [0x247B], NFD: [0x247B], NFKC: [0x0028, 0x0038, 0x0029], NFKD: [0x0028, 0x0038, 0x0029] }, -{ source: [0x247C], NFC: [0x247C], NFD: [0x247C], NFKC: [0x0028, 0x0039, 0x0029], NFKD: [0x0028, 0x0039, 0x0029] }, -{ source: [0x247D], NFC: [0x247D], NFD: [0x247D], NFKC: [0x0028, 0x0031, 0x0030, 0x0029], NFKD: [0x0028, 0x0031, 0x0030, 0x0029] }, -{ source: [0x247E], NFC: [0x247E], NFD: [0x247E], NFKC: [0x0028, 0x0031, 0x0031, 0x0029], NFKD: [0x0028, 0x0031, 0x0031, 0x0029] }, -{ source: [0x247F], NFC: [0x247F], NFD: [0x247F], NFKC: [0x0028, 0x0031, 0x0032, 0x0029], NFKD: [0x0028, 0x0031, 0x0032, 0x0029] }, -{ source: [0x2480], NFC: [0x2480], NFD: [0x2480], NFKC: [0x0028, 0x0031, 0x0033, 0x0029], NFKD: [0x0028, 0x0031, 0x0033, 0x0029] }, -{ source: [0x2481], NFC: [0x2481], NFD: [0x2481], NFKC: [0x0028, 0x0031, 0x0034, 0x0029], NFKD: [0x0028, 0x0031, 0x0034, 0x0029] }, -{ source: [0x2482], NFC: [0x2482], NFD: [0x2482], NFKC: [0x0028, 0x0031, 0x0035, 0x0029], NFKD: [0x0028, 0x0031, 0x0035, 0x0029] }, -{ source: [0x2483], NFC: [0x2483], NFD: [0x2483], NFKC: [0x0028, 0x0031, 0x0036, 0x0029], NFKD: [0x0028, 0x0031, 0x0036, 0x0029] }, -{ source: [0x2484], NFC: [0x2484], NFD: [0x2484], NFKC: [0x0028, 0x0031, 0x0037, 0x0029], NFKD: [0x0028, 0x0031, 0x0037, 0x0029] }, -{ source: [0x2485], NFC: [0x2485], NFD: [0x2485], NFKC: [0x0028, 0x0031, 0x0038, 0x0029], NFKD: [0x0028, 0x0031, 0x0038, 0x0029] }, -{ source: [0x2486], NFC: [0x2486], NFD: [0x2486], NFKC: [0x0028, 0x0031, 0x0039, 0x0029], NFKD: [0x0028, 0x0031, 0x0039, 0x0029] }, -{ source: [0x2487], NFC: [0x2487], NFD: [0x2487], NFKC: [0x0028, 0x0032, 0x0030, 0x0029], NFKD: [0x0028, 0x0032, 0x0030, 0x0029] }, -{ source: [0x2488], NFC: [0x2488], NFD: [0x2488], NFKC: [0x0031, 0x002E], NFKD: [0x0031, 0x002E] }, -{ source: [0x2489], NFC: [0x2489], NFD: [0x2489], NFKC: [0x0032, 0x002E], NFKD: [0x0032, 0x002E] }, -{ source: [0x248A], NFC: [0x248A], NFD: [0x248A], NFKC: [0x0033, 0x002E], NFKD: [0x0033, 0x002E] }, -{ source: [0x248B], NFC: [0x248B], NFD: [0x248B], NFKC: [0x0034, 0x002E], NFKD: [0x0034, 0x002E] }, -{ source: [0x248C], NFC: [0x248C], NFD: [0x248C], NFKC: [0x0035, 0x002E], NFKD: [0x0035, 0x002E] }, -{ source: [0x248D], NFC: [0x248D], NFD: [0x248D], NFKC: [0x0036, 0x002E], NFKD: [0x0036, 0x002E] }, -{ source: [0x248E], NFC: [0x248E], NFD: [0x248E], NFKC: [0x0037, 0x002E], NFKD: [0x0037, 0x002E] }, -{ source: [0x248F], NFC: [0x248F], NFD: [0x248F], NFKC: [0x0038, 0x002E], NFKD: [0x0038, 0x002E] }, -{ source: [0x2490], NFC: [0x2490], NFD: [0x2490], NFKC: [0x0039, 0x002E], NFKD: [0x0039, 0x002E] }, -{ source: [0x2491], NFC: [0x2491], NFD: [0x2491], NFKC: [0x0031, 0x0030, 0x002E], NFKD: [0x0031, 0x0030, 0x002E] }, -{ source: [0x2492], NFC: [0x2492], NFD: [0x2492], NFKC: [0x0031, 0x0031, 0x002E], NFKD: [0x0031, 0x0031, 0x002E] }, -{ source: [0x2493], NFC: [0x2493], NFD: [0x2493], NFKC: [0x0031, 0x0032, 0x002E], NFKD: [0x0031, 0x0032, 0x002E] }, -{ source: [0x2494], NFC: [0x2494], NFD: [0x2494], NFKC: [0x0031, 0x0033, 0x002E], NFKD: [0x0031, 0x0033, 0x002E] }, -{ source: [0x2495], NFC: [0x2495], NFD: [0x2495], NFKC: [0x0031, 0x0034, 0x002E], NFKD: [0x0031, 0x0034, 0x002E] }, -{ source: [0x2496], NFC: [0x2496], NFD: [0x2496], NFKC: [0x0031, 0x0035, 0x002E], NFKD: [0x0031, 0x0035, 0x002E] }, -{ source: [0x2497], NFC: [0x2497], NFD: [0x2497], NFKC: [0x0031, 0x0036, 0x002E], NFKD: [0x0031, 0x0036, 0x002E] }, -{ source: [0x2498], NFC: [0x2498], NFD: [0x2498], NFKC: [0x0031, 0x0037, 0x002E], NFKD: [0x0031, 0x0037, 0x002E] }, -{ source: [0x2499], NFC: [0x2499], NFD: [0x2499], NFKC: [0x0031, 0x0038, 0x002E], NFKD: [0x0031, 0x0038, 0x002E] }, -{ source: [0x249A], NFC: [0x249A], NFD: [0x249A], NFKC: [0x0031, 0x0039, 0x002E], NFKD: [0x0031, 0x0039, 0x002E] }, -{ source: [0x249B], NFC: [0x249B], NFD: [0x249B], NFKC: [0x0032, 0x0030, 0x002E], NFKD: [0x0032, 0x0030, 0x002E] }, -{ source: [0x249C], NFC: [0x249C], NFD: [0x249C], NFKC: [0x0028, 0x0061, 0x0029], NFKD: [0x0028, 0x0061, 0x0029] }, -{ source: [0x249D], NFC: [0x249D], NFD: [0x249D], NFKC: [0x0028, 0x0062, 0x0029], NFKD: [0x0028, 0x0062, 0x0029] }, -{ source: [0x249E], NFC: [0x249E], NFD: [0x249E], NFKC: [0x0028, 0x0063, 0x0029], NFKD: [0x0028, 0x0063, 0x0029] }, -{ source: [0x249F], NFC: [0x249F], NFD: [0x249F], NFKC: [0x0028, 0x0064, 0x0029], NFKD: [0x0028, 0x0064, 0x0029] }, -{ source: [0x24A0], NFC: [0x24A0], NFD: [0x24A0], NFKC: [0x0028, 0x0065, 0x0029], NFKD: [0x0028, 0x0065, 0x0029] }, -{ source: [0x24A1], NFC: [0x24A1], NFD: [0x24A1], NFKC: [0x0028, 0x0066, 0x0029], NFKD: [0x0028, 0x0066, 0x0029] }, -{ source: [0x24A2], NFC: [0x24A2], NFD: [0x24A2], NFKC: [0x0028, 0x0067, 0x0029], NFKD: [0x0028, 0x0067, 0x0029] }, -{ source: [0x24A3], NFC: [0x24A3], NFD: [0x24A3], NFKC: [0x0028, 0x0068, 0x0029], NFKD: [0x0028, 0x0068, 0x0029] }, -{ source: [0x24A4], NFC: [0x24A4], NFD: [0x24A4], NFKC: [0x0028, 0x0069, 0x0029], NFKD: [0x0028, 0x0069, 0x0029] }, -{ source: [0x24A5], NFC: [0x24A5], NFD: [0x24A5], NFKC: [0x0028, 0x006A, 0x0029], NFKD: [0x0028, 0x006A, 0x0029] }, -{ source: [0x24A6], NFC: [0x24A6], NFD: [0x24A6], NFKC: [0x0028, 0x006B, 0x0029], NFKD: [0x0028, 0x006B, 0x0029] }, -{ source: [0x24A7], NFC: [0x24A7], NFD: [0x24A7], NFKC: [0x0028, 0x006C, 0x0029], NFKD: [0x0028, 0x006C, 0x0029] }, -{ source: [0x24A8], NFC: [0x24A8], NFD: [0x24A8], NFKC: [0x0028, 0x006D, 0x0029], NFKD: [0x0028, 0x006D, 0x0029] }, -{ source: [0x24A9], NFC: [0x24A9], NFD: [0x24A9], NFKC: [0x0028, 0x006E, 0x0029], NFKD: [0x0028, 0x006E, 0x0029] }, -{ source: [0x24AA], NFC: [0x24AA], NFD: [0x24AA], NFKC: [0x0028, 0x006F, 0x0029], NFKD: [0x0028, 0x006F, 0x0029] }, -{ source: [0x24AB], NFC: [0x24AB], NFD: [0x24AB], NFKC: [0x0028, 0x0070, 0x0029], NFKD: [0x0028, 0x0070, 0x0029] }, -{ source: [0x24AC], NFC: [0x24AC], NFD: [0x24AC], NFKC: [0x0028, 0x0071, 0x0029], NFKD: [0x0028, 0x0071, 0x0029] }, -{ source: [0x24AD], NFC: [0x24AD], NFD: [0x24AD], NFKC: [0x0028, 0x0072, 0x0029], NFKD: [0x0028, 0x0072, 0x0029] }, -{ source: [0x24AE], NFC: [0x24AE], NFD: [0x24AE], NFKC: [0x0028, 0x0073, 0x0029], NFKD: [0x0028, 0x0073, 0x0029] }, -{ source: [0x24AF], NFC: [0x24AF], NFD: [0x24AF], NFKC: [0x0028, 0x0074, 0x0029], NFKD: [0x0028, 0x0074, 0x0029] }, -{ source: [0x24B0], NFC: [0x24B0], NFD: [0x24B0], NFKC: [0x0028, 0x0075, 0x0029], NFKD: [0x0028, 0x0075, 0x0029] }, -{ source: [0x24B1], NFC: [0x24B1], NFD: [0x24B1], NFKC: [0x0028, 0x0076, 0x0029], NFKD: [0x0028, 0x0076, 0x0029] }, -{ source: [0x24B2], NFC: [0x24B2], NFD: [0x24B2], NFKC: [0x0028, 0x0077, 0x0029], NFKD: [0x0028, 0x0077, 0x0029] }, -{ source: [0x24B3], NFC: [0x24B3], NFD: [0x24B3], NFKC: [0x0028, 0x0078, 0x0029], NFKD: [0x0028, 0x0078, 0x0029] }, -{ source: [0x24B4], NFC: [0x24B4], NFD: [0x24B4], NFKC: [0x0028, 0x0079, 0x0029], NFKD: [0x0028, 0x0079, 0x0029] }, -{ source: [0x24B5], NFC: [0x24B5], NFD: [0x24B5], NFKC: [0x0028, 0x007A, 0x0029], NFKD: [0x0028, 0x007A, 0x0029] }, -{ source: [0x24B6], NFC: [0x24B6], NFD: [0x24B6], NFKC: [0x0041], NFKD: [0x0041] }, -{ source: [0x24B7], NFC: [0x24B7], NFD: [0x24B7], NFKC: [0x0042], NFKD: [0x0042] }, -{ source: [0x24B8], NFC: [0x24B8], NFD: [0x24B8], NFKC: [0x0043], NFKD: [0x0043] }, -{ source: [0x24B9], NFC: [0x24B9], NFD: [0x24B9], NFKC: [0x0044], NFKD: [0x0044] }, -{ source: [0x24BA], NFC: [0x24BA], NFD: [0x24BA], NFKC: [0x0045], NFKD: [0x0045] }, -{ source: [0x24BB], NFC: [0x24BB], NFD: [0x24BB], NFKC: [0x0046], NFKD: [0x0046] }, -{ source: [0x24BC], NFC: [0x24BC], NFD: [0x24BC], NFKC: [0x0047], NFKD: [0x0047] }, -{ source: [0x24BD], NFC: [0x24BD], NFD: [0x24BD], NFKC: [0x0048], NFKD: [0x0048] }, -{ source: [0x24BE], NFC: [0x24BE], NFD: [0x24BE], NFKC: [0x0049], NFKD: [0x0049] }, -{ source: [0x24BF], NFC: [0x24BF], NFD: [0x24BF], NFKC: [0x004A], NFKD: [0x004A] }, -{ source: [0x24C0], NFC: [0x24C0], NFD: [0x24C0], NFKC: [0x004B], NFKD: [0x004B] }, -{ source: [0x24C1], NFC: [0x24C1], NFD: [0x24C1], NFKC: [0x004C], NFKD: [0x004C] }, -{ source: [0x24C2], NFC: [0x24C2], NFD: [0x24C2], NFKC: [0x004D], NFKD: [0x004D] }, -{ source: [0x24C3], NFC: [0x24C3], NFD: [0x24C3], NFKC: [0x004E], NFKD: [0x004E] }, -{ source: [0x24C4], NFC: [0x24C4], NFD: [0x24C4], NFKC: [0x004F], NFKD: [0x004F] }, -{ source: [0x24C5], NFC: [0x24C5], NFD: [0x24C5], NFKC: [0x0050], NFKD: [0x0050] }, -{ source: [0x24C6], NFC: [0x24C6], NFD: [0x24C6], NFKC: [0x0051], NFKD: [0x0051] }, -{ source: [0x24C7], NFC: [0x24C7], NFD: [0x24C7], NFKC: [0x0052], NFKD: [0x0052] }, -{ source: [0x24C8], NFC: [0x24C8], NFD: [0x24C8], NFKC: [0x0053], NFKD: [0x0053] }, -{ source: [0x24C9], NFC: [0x24C9], NFD: [0x24C9], NFKC: [0x0054], NFKD: [0x0054] }, -{ source: [0x24CA], NFC: [0x24CA], NFD: [0x24CA], NFKC: [0x0055], NFKD: [0x0055] }, -{ source: [0x24CB], NFC: [0x24CB], NFD: [0x24CB], NFKC: [0x0056], NFKD: [0x0056] }, -{ source: [0x24CC], NFC: [0x24CC], NFD: [0x24CC], NFKC: [0x0057], NFKD: [0x0057] }, -{ source: [0x24CD], NFC: [0x24CD], NFD: [0x24CD], NFKC: [0x0058], NFKD: [0x0058] }, -{ source: [0x24CE], NFC: [0x24CE], NFD: [0x24CE], NFKC: [0x0059], NFKD: [0x0059] }, -{ source: [0x24CF], NFC: [0x24CF], NFD: [0x24CF], NFKC: [0x005A], NFKD: [0x005A] }, -{ source: [0x24D0], NFC: [0x24D0], NFD: [0x24D0], NFKC: [0x0061], NFKD: [0x0061] }, -{ source: [0x24D1], NFC: [0x24D1], NFD: [0x24D1], NFKC: [0x0062], NFKD: [0x0062] }, -{ source: [0x24D2], NFC: [0x24D2], NFD: [0x24D2], NFKC: [0x0063], NFKD: [0x0063] }, -{ source: [0x24D3], NFC: [0x24D3], NFD: [0x24D3], NFKC: [0x0064], NFKD: [0x0064] }, -{ source: [0x24D4], NFC: [0x24D4], NFD: [0x24D4], NFKC: [0x0065], NFKD: [0x0065] }, -{ source: [0x24D5], NFC: [0x24D5], NFD: [0x24D5], NFKC: [0x0066], NFKD: [0x0066] }, -{ source: [0x24D6], NFC: [0x24D6], NFD: [0x24D6], NFKC: [0x0067], NFKD: [0x0067] }, -{ source: [0x24D7], NFC: [0x24D7], NFD: [0x24D7], NFKC: [0x0068], NFKD: [0x0068] }, -{ source: [0x24D8], NFC: [0x24D8], NFD: [0x24D8], NFKC: [0x0069], NFKD: [0x0069] }, -{ source: [0x24D9], NFC: [0x24D9], NFD: [0x24D9], NFKC: [0x006A], NFKD: [0x006A] }, -{ source: [0x24DA], NFC: [0x24DA], NFD: [0x24DA], NFKC: [0x006B], NFKD: [0x006B] }, -{ source: [0x24DB], NFC: [0x24DB], NFD: [0x24DB], NFKC: [0x006C], NFKD: [0x006C] }, -{ source: [0x24DC], NFC: [0x24DC], NFD: [0x24DC], NFKC: [0x006D], NFKD: [0x006D] }, -{ source: [0x24DD], NFC: [0x24DD], NFD: [0x24DD], NFKC: [0x006E], NFKD: [0x006E] }, -{ source: [0x24DE], NFC: [0x24DE], NFD: [0x24DE], NFKC: [0x006F], NFKD: [0x006F] }, -{ source: [0x24DF], NFC: [0x24DF], NFD: [0x24DF], NFKC: [0x0070], NFKD: [0x0070] }, -{ source: [0x24E0], NFC: [0x24E0], NFD: [0x24E0], NFKC: [0x0071], NFKD: [0x0071] }, -{ source: [0x24E1], NFC: [0x24E1], NFD: [0x24E1], NFKC: [0x0072], NFKD: [0x0072] }, -{ source: [0x24E2], NFC: [0x24E2], NFD: [0x24E2], NFKC: [0x0073], NFKD: [0x0073] }, -{ source: [0x24E3], NFC: [0x24E3], NFD: [0x24E3], NFKC: [0x0074], NFKD: [0x0074] }, -{ source: [0x24E4], NFC: [0x24E4], NFD: [0x24E4], NFKC: [0x0075], NFKD: [0x0075] }, -{ source: [0x24E5], NFC: [0x24E5], NFD: [0x24E5], NFKC: [0x0076], NFKD: [0x0076] }, -{ source: [0x24E6], NFC: [0x24E6], NFD: [0x24E6], NFKC: [0x0077], NFKD: [0x0077] }, -{ source: [0x24E7], NFC: [0x24E7], NFD: [0x24E7], NFKC: [0x0078], NFKD: [0x0078] }, -{ source: [0x24E8], NFC: [0x24E8], NFD: [0x24E8], NFKC: [0x0079], NFKD: [0x0079] }, -{ source: [0x24E9], NFC: [0x24E9], NFD: [0x24E9], NFKC: [0x007A], NFKD: [0x007A] }, -{ source: [0x24EA], NFC: [0x24EA], NFD: [0x24EA], NFKC: [0x0030], NFKD: [0x0030] }, -{ source: [0x2A0C], NFC: [0x2A0C], NFD: [0x2A0C], NFKC: [0x222B, 0x222B, 0x222B, 0x222B], NFKD: [0x222B, 0x222B, 0x222B, 0x222B] }, -{ source: [0x2A74], NFC: [0x2A74], NFD: [0x2A74], NFKC: [0x003A, 0x003A, 0x003D], NFKD: [0x003A, 0x003A, 0x003D] }, -{ source: [0x2A75], NFC: [0x2A75], NFD: [0x2A75], NFKC: [0x003D, 0x003D], NFKD: [0x003D, 0x003D] }, -{ source: [0x2A76], NFC: [0x2A76], NFD: [0x2A76], NFKC: [0x003D, 0x003D, 0x003D], NFKD: [0x003D, 0x003D, 0x003D] }, -{ source: [0x2ADC], NFC: [0x2ADD, 0x0338], NFD: [0x2ADD, 0x0338], NFKC: [0x2ADD, 0x0338], NFKD: [0x2ADD, 0x0338] }, -{ source: [0x2C7C], NFC: [0x2C7C], NFD: [0x2C7C], NFKC: [0x006A], NFKD: [0x006A] }, -{ source: [0x2C7D], NFC: [0x2C7D], NFD: [0x2C7D], NFKC: [0x0056], NFKD: [0x0056] }, -{ source: [0x2D6F], NFC: [0x2D6F], NFD: [0x2D6F], NFKC: [0x2D61], NFKD: [0x2D61] }, -{ source: [0x2E9F], NFC: [0x2E9F], NFD: [0x2E9F], NFKC: [0x6BCD], NFKD: [0x6BCD] }, -{ source: [0x2EF3], NFC: [0x2EF3], NFD: [0x2EF3], NFKC: [0x9F9F], NFKD: [0x9F9F] }, -{ source: [0x2F00], NFC: [0x2F00], NFD: [0x2F00], NFKC: [0x4E00], NFKD: [0x4E00] }, -{ source: [0x2F01], NFC: [0x2F01], NFD: [0x2F01], NFKC: [0x4E28], NFKD: [0x4E28] }, -{ source: [0x2F02], NFC: [0x2F02], NFD: [0x2F02], NFKC: [0x4E36], NFKD: [0x4E36] }, -{ source: [0x2F03], NFC: [0x2F03], NFD: [0x2F03], NFKC: [0x4E3F], NFKD: [0x4E3F] }, -{ source: [0x2F04], NFC: [0x2F04], NFD: [0x2F04], NFKC: [0x4E59], NFKD: [0x4E59] }, -{ source: [0x2F05], NFC: [0x2F05], NFD: [0x2F05], NFKC: [0x4E85], NFKD: [0x4E85] }, -{ source: [0x2F06], NFC: [0x2F06], NFD: [0x2F06], NFKC: [0x4E8C], NFKD: [0x4E8C] }, -{ source: [0x2F07], NFC: [0x2F07], NFD: [0x2F07], NFKC: [0x4EA0], NFKD: [0x4EA0] }, -{ source: [0x2F08], NFC: [0x2F08], NFD: [0x2F08], NFKC: [0x4EBA], NFKD: [0x4EBA] }, -{ source: [0x2F09], NFC: [0x2F09], NFD: [0x2F09], NFKC: [0x513F], NFKD: [0x513F] }, -{ source: [0x2F0A], NFC: [0x2F0A], NFD: [0x2F0A], NFKC: [0x5165], NFKD: [0x5165] }, -{ source: [0x2F0B], NFC: [0x2F0B], NFD: [0x2F0B], NFKC: [0x516B], NFKD: [0x516B] }, -{ source: [0x2F0C], NFC: [0x2F0C], NFD: [0x2F0C], NFKC: [0x5182], NFKD: [0x5182] }, -{ source: [0x2F0D], NFC: [0x2F0D], NFD: [0x2F0D], NFKC: [0x5196], NFKD: [0x5196] }, -{ source: [0x2F0E], NFC: [0x2F0E], NFD: [0x2F0E], NFKC: [0x51AB], NFKD: [0x51AB] }, -{ source: [0x2F0F], NFC: [0x2F0F], NFD: [0x2F0F], NFKC: [0x51E0], NFKD: [0x51E0] }, -{ source: [0x2F10], NFC: [0x2F10], NFD: [0x2F10], NFKC: [0x51F5], NFKD: [0x51F5] }, -{ source: [0x2F11], NFC: [0x2F11], NFD: [0x2F11], NFKC: [0x5200], NFKD: [0x5200] }, -{ source: [0x2F12], NFC: [0x2F12], NFD: [0x2F12], NFKC: [0x529B], NFKD: [0x529B] }, -{ source: [0x2F13], NFC: [0x2F13], NFD: [0x2F13], NFKC: [0x52F9], NFKD: [0x52F9] }, -{ source: [0x2F14], NFC: [0x2F14], NFD: [0x2F14], NFKC: [0x5315], NFKD: [0x5315] }, -{ source: [0x2F15], NFC: [0x2F15], NFD: [0x2F15], NFKC: [0x531A], NFKD: [0x531A] }, -{ source: [0x2F16], NFC: [0x2F16], NFD: [0x2F16], NFKC: [0x5338], NFKD: [0x5338] }, -{ source: [0x2F17], NFC: [0x2F17], NFD: [0x2F17], NFKC: [0x5341], NFKD: [0x5341] }, -{ source: [0x2F18], NFC: [0x2F18], NFD: [0x2F18], NFKC: [0x535C], NFKD: [0x535C] }, -{ source: [0x2F19], NFC: [0x2F19], NFD: [0x2F19], NFKC: [0x5369], NFKD: [0x5369] }, -{ source: [0x2F1A], NFC: [0x2F1A], NFD: [0x2F1A], NFKC: [0x5382], NFKD: [0x5382] }, -{ source: [0x2F1B], NFC: [0x2F1B], NFD: [0x2F1B], NFKC: [0x53B6], NFKD: [0x53B6] }, -{ source: [0x2F1C], NFC: [0x2F1C], NFD: [0x2F1C], NFKC: [0x53C8], NFKD: [0x53C8] }, -{ source: [0x2F1D], NFC: [0x2F1D], NFD: [0x2F1D], NFKC: [0x53E3], NFKD: [0x53E3] }, -{ source: [0x2F1E], NFC: [0x2F1E], NFD: [0x2F1E], NFKC: [0x56D7], NFKD: [0x56D7] }, -{ source: [0x2F1F], NFC: [0x2F1F], NFD: [0x2F1F], NFKC: [0x571F], NFKD: [0x571F] }, -{ source: [0x2F20], NFC: [0x2F20], NFD: [0x2F20], NFKC: [0x58EB], NFKD: [0x58EB] }, -{ source: [0x2F21], NFC: [0x2F21], NFD: [0x2F21], NFKC: [0x5902], NFKD: [0x5902] }, -{ source: [0x2F22], NFC: [0x2F22], NFD: [0x2F22], NFKC: [0x590A], NFKD: [0x590A] }, -{ source: [0x2F23], NFC: [0x2F23], NFD: [0x2F23], NFKC: [0x5915], NFKD: [0x5915] }, -{ source: [0x2F24], NFC: [0x2F24], NFD: [0x2F24], NFKC: [0x5927], NFKD: [0x5927] }, -{ source: [0x2F25], NFC: [0x2F25], NFD: [0x2F25], NFKC: [0x5973], NFKD: [0x5973] }, -{ source: [0x2F26], NFC: [0x2F26], NFD: [0x2F26], NFKC: [0x5B50], NFKD: [0x5B50] }, -{ source: [0x2F27], NFC: [0x2F27], NFD: [0x2F27], NFKC: [0x5B80], NFKD: [0x5B80] }, -{ source: [0x2F28], NFC: [0x2F28], NFD: [0x2F28], NFKC: [0x5BF8], NFKD: [0x5BF8] }, -{ source: [0x2F29], NFC: [0x2F29], NFD: [0x2F29], NFKC: [0x5C0F], NFKD: [0x5C0F] }, -{ source: [0x2F2A], NFC: [0x2F2A], NFD: [0x2F2A], NFKC: [0x5C22], NFKD: [0x5C22] }, -{ source: [0x2F2B], NFC: [0x2F2B], NFD: [0x2F2B], NFKC: [0x5C38], NFKD: [0x5C38] }, -{ source: [0x2F2C], NFC: [0x2F2C], NFD: [0x2F2C], NFKC: [0x5C6E], NFKD: [0x5C6E] }, -{ source: [0x2F2D], NFC: [0x2F2D], NFD: [0x2F2D], NFKC: [0x5C71], NFKD: [0x5C71] }, -{ source: [0x2F2E], NFC: [0x2F2E], NFD: [0x2F2E], NFKC: [0x5DDB], NFKD: [0x5DDB] }, -{ source: [0x2F2F], NFC: [0x2F2F], NFD: [0x2F2F], NFKC: [0x5DE5], NFKD: [0x5DE5] }, -{ source: [0x2F30], NFC: [0x2F30], NFD: [0x2F30], NFKC: [0x5DF1], NFKD: [0x5DF1] }, -{ source: [0x2F31], NFC: [0x2F31], NFD: [0x2F31], NFKC: [0x5DFE], NFKD: [0x5DFE] }, -{ source: [0x2F32], NFC: [0x2F32], NFD: [0x2F32], NFKC: [0x5E72], NFKD: [0x5E72] }, -{ source: [0x2F33], NFC: [0x2F33], NFD: [0x2F33], NFKC: [0x5E7A], NFKD: [0x5E7A] }, -{ source: [0x2F34], NFC: [0x2F34], NFD: [0x2F34], NFKC: [0x5E7F], NFKD: [0x5E7F] }, -{ source: [0x2F35], NFC: [0x2F35], NFD: [0x2F35], NFKC: [0x5EF4], NFKD: [0x5EF4] }, -{ source: [0x2F36], NFC: [0x2F36], NFD: [0x2F36], NFKC: [0x5EFE], NFKD: [0x5EFE] }, -{ source: [0x2F37], NFC: [0x2F37], NFD: [0x2F37], NFKC: [0x5F0B], NFKD: [0x5F0B] }, -{ source: [0x2F38], NFC: [0x2F38], NFD: [0x2F38], NFKC: [0x5F13], NFKD: [0x5F13] }, -{ source: [0x2F39], NFC: [0x2F39], NFD: [0x2F39], NFKC: [0x5F50], NFKD: [0x5F50] }, -{ source: [0x2F3A], NFC: [0x2F3A], NFD: [0x2F3A], NFKC: [0x5F61], NFKD: [0x5F61] }, -{ source: [0x2F3B], NFC: [0x2F3B], NFD: [0x2F3B], NFKC: [0x5F73], NFKD: [0x5F73] }, -{ source: [0x2F3C], NFC: [0x2F3C], NFD: [0x2F3C], NFKC: [0x5FC3], NFKD: [0x5FC3] }, -{ source: [0x2F3D], NFC: [0x2F3D], NFD: [0x2F3D], NFKC: [0x6208], NFKD: [0x6208] }, -{ source: [0x2F3E], NFC: [0x2F3E], NFD: [0x2F3E], NFKC: [0x6236], NFKD: [0x6236] }, -{ source: [0x2F3F], NFC: [0x2F3F], NFD: [0x2F3F], NFKC: [0x624B], NFKD: [0x624B] }, -{ source: [0x2F40], NFC: [0x2F40], NFD: [0x2F40], NFKC: [0x652F], NFKD: [0x652F] }, -{ source: [0x2F41], NFC: [0x2F41], NFD: [0x2F41], NFKC: [0x6534], NFKD: [0x6534] }, -{ source: [0x2F42], NFC: [0x2F42], NFD: [0x2F42], NFKC: [0x6587], NFKD: [0x6587] }, -{ source: [0x2F43], NFC: [0x2F43], NFD: [0x2F43], NFKC: [0x6597], NFKD: [0x6597] }, -{ source: [0x2F44], NFC: [0x2F44], NFD: [0x2F44], NFKC: [0x65A4], NFKD: [0x65A4] }, -{ source: [0x2F45], NFC: [0x2F45], NFD: [0x2F45], NFKC: [0x65B9], NFKD: [0x65B9] }, -{ source: [0x2F46], NFC: [0x2F46], NFD: [0x2F46], NFKC: [0x65E0], NFKD: [0x65E0] }, -{ source: [0x2F47], NFC: [0x2F47], NFD: [0x2F47], NFKC: [0x65E5], NFKD: [0x65E5] }, -{ source: [0x2F48], NFC: [0x2F48], NFD: [0x2F48], NFKC: [0x66F0], NFKD: [0x66F0] }, -{ source: [0x2F49], NFC: [0x2F49], NFD: [0x2F49], NFKC: [0x6708], NFKD: [0x6708] }, -{ source: [0x2F4A], NFC: [0x2F4A], NFD: [0x2F4A], NFKC: [0x6728], NFKD: [0x6728] }, -{ source: [0x2F4B], NFC: [0x2F4B], NFD: [0x2F4B], NFKC: [0x6B20], NFKD: [0x6B20] }, -{ source: [0x2F4C], NFC: [0x2F4C], NFD: [0x2F4C], NFKC: [0x6B62], NFKD: [0x6B62] }, -{ source: [0x2F4D], NFC: [0x2F4D], NFD: [0x2F4D], NFKC: [0x6B79], NFKD: [0x6B79] }, -{ source: [0x2F4E], NFC: [0x2F4E], NFD: [0x2F4E], NFKC: [0x6BB3], NFKD: [0x6BB3] }, -{ source: [0x2F4F], NFC: [0x2F4F], NFD: [0x2F4F], NFKC: [0x6BCB], NFKD: [0x6BCB] }, -{ source: [0x2F50], NFC: [0x2F50], NFD: [0x2F50], NFKC: [0x6BD4], NFKD: [0x6BD4] }, -{ source: [0x2F51], NFC: [0x2F51], NFD: [0x2F51], NFKC: [0x6BDB], NFKD: [0x6BDB] }, -{ source: [0x2F52], NFC: [0x2F52], NFD: [0x2F52], NFKC: [0x6C0F], NFKD: [0x6C0F] }, -{ source: [0x2F53], NFC: [0x2F53], NFD: [0x2F53], NFKC: [0x6C14], NFKD: [0x6C14] }, -{ source: [0x2F54], NFC: [0x2F54], NFD: [0x2F54], NFKC: [0x6C34], NFKD: [0x6C34] }, -{ source: [0x2F55], NFC: [0x2F55], NFD: [0x2F55], NFKC: [0x706B], NFKD: [0x706B] }, -{ source: [0x2F56], NFC: [0x2F56], NFD: [0x2F56], NFKC: [0x722A], NFKD: [0x722A] }, -{ source: [0x2F57], NFC: [0x2F57], NFD: [0x2F57], NFKC: [0x7236], NFKD: [0x7236] }, -{ source: [0x2F58], NFC: [0x2F58], NFD: [0x2F58], NFKC: [0x723B], NFKD: [0x723B] }, -{ source: [0x2F59], NFC: [0x2F59], NFD: [0x2F59], NFKC: [0x723F], NFKD: [0x723F] }, -{ source: [0x2F5A], NFC: [0x2F5A], NFD: [0x2F5A], NFKC: [0x7247], NFKD: [0x7247] }, -{ source: [0x2F5B], NFC: [0x2F5B], NFD: [0x2F5B], NFKC: [0x7259], NFKD: [0x7259] }, -{ source: [0x2F5C], NFC: [0x2F5C], NFD: [0x2F5C], NFKC: [0x725B], NFKD: [0x725B] }, -{ source: [0x2F5D], NFC: [0x2F5D], NFD: [0x2F5D], NFKC: [0x72AC], NFKD: [0x72AC] }, -{ source: [0x2F5E], NFC: [0x2F5E], NFD: [0x2F5E], NFKC: [0x7384], NFKD: [0x7384] }, -{ source: [0x2F5F], NFC: [0x2F5F], NFD: [0x2F5F], NFKC: [0x7389], NFKD: [0x7389] }, -{ source: [0x2F60], NFC: [0x2F60], NFD: [0x2F60], NFKC: [0x74DC], NFKD: [0x74DC] }, -{ source: [0x2F61], NFC: [0x2F61], NFD: [0x2F61], NFKC: [0x74E6], NFKD: [0x74E6] }, -{ source: [0x2F62], NFC: [0x2F62], NFD: [0x2F62], NFKC: [0x7518], NFKD: [0x7518] }, -{ source: [0x2F63], NFC: [0x2F63], NFD: [0x2F63], NFKC: [0x751F], NFKD: [0x751F] }, -{ source: [0x2F64], NFC: [0x2F64], NFD: [0x2F64], NFKC: [0x7528], NFKD: [0x7528] }, -{ source: [0x2F65], NFC: [0x2F65], NFD: [0x2F65], NFKC: [0x7530], NFKD: [0x7530] }, -{ source: [0x2F66], NFC: [0x2F66], NFD: [0x2F66], NFKC: [0x758B], NFKD: [0x758B] }, -{ source: [0x2F67], NFC: [0x2F67], NFD: [0x2F67], NFKC: [0x7592], NFKD: [0x7592] }, -{ source: [0x2F68], NFC: [0x2F68], NFD: [0x2F68], NFKC: [0x7676], NFKD: [0x7676] }, -{ source: [0x2F69], NFC: [0x2F69], NFD: [0x2F69], NFKC: [0x767D], NFKD: [0x767D] }, -{ source: [0x2F6A], NFC: [0x2F6A], NFD: [0x2F6A], NFKC: [0x76AE], NFKD: [0x76AE] }, -{ source: [0x2F6B], NFC: [0x2F6B], NFD: [0x2F6B], NFKC: [0x76BF], NFKD: [0x76BF] }, -{ source: [0x2F6C], NFC: [0x2F6C], NFD: [0x2F6C], NFKC: [0x76EE], NFKD: [0x76EE] }, -{ source: [0x2F6D], NFC: [0x2F6D], NFD: [0x2F6D], NFKC: [0x77DB], NFKD: [0x77DB] }, -{ source: [0x2F6E], NFC: [0x2F6E], NFD: [0x2F6E], NFKC: [0x77E2], NFKD: [0x77E2] }, -{ source: [0x2F6F], NFC: [0x2F6F], NFD: [0x2F6F], NFKC: [0x77F3], NFKD: [0x77F3] }, -{ source: [0x2F70], NFC: [0x2F70], NFD: [0x2F70], NFKC: [0x793A], NFKD: [0x793A] }, -{ source: [0x2F71], NFC: [0x2F71], NFD: [0x2F71], NFKC: [0x79B8], NFKD: [0x79B8] }, -{ source: [0x2F72], NFC: [0x2F72], NFD: [0x2F72], NFKC: [0x79BE], NFKD: [0x79BE] }, -{ source: [0x2F73], NFC: [0x2F73], NFD: [0x2F73], NFKC: [0x7A74], NFKD: [0x7A74] }, -{ source: [0x2F74], NFC: [0x2F74], NFD: [0x2F74], NFKC: [0x7ACB], NFKD: [0x7ACB] }, -{ source: [0x2F75], NFC: [0x2F75], NFD: [0x2F75], NFKC: [0x7AF9], NFKD: [0x7AF9] }, -{ source: [0x2F76], NFC: [0x2F76], NFD: [0x2F76], NFKC: [0x7C73], NFKD: [0x7C73] }, -{ source: [0x2F77], NFC: [0x2F77], NFD: [0x2F77], NFKC: [0x7CF8], NFKD: [0x7CF8] }, -{ source: [0x2F78], NFC: [0x2F78], NFD: [0x2F78], NFKC: [0x7F36], NFKD: [0x7F36] }, -{ source: [0x2F79], NFC: [0x2F79], NFD: [0x2F79], NFKC: [0x7F51], NFKD: [0x7F51] }, -{ source: [0x2F7A], NFC: [0x2F7A], NFD: [0x2F7A], NFKC: [0x7F8A], NFKD: [0x7F8A] }, -{ source: [0x2F7B], NFC: [0x2F7B], NFD: [0x2F7B], NFKC: [0x7FBD], NFKD: [0x7FBD] }, -{ source: [0x2F7C], NFC: [0x2F7C], NFD: [0x2F7C], NFKC: [0x8001], NFKD: [0x8001] }, -{ source: [0x2F7D], NFC: [0x2F7D], NFD: [0x2F7D], NFKC: [0x800C], NFKD: [0x800C] }, -{ source: [0x2F7E], NFC: [0x2F7E], NFD: [0x2F7E], NFKC: [0x8012], NFKD: [0x8012] }, -{ source: [0x2F7F], NFC: [0x2F7F], NFD: [0x2F7F], NFKC: [0x8033], NFKD: [0x8033] }, -{ source: [0x2F80], NFC: [0x2F80], NFD: [0x2F80], NFKC: [0x807F], NFKD: [0x807F] }, -{ source: [0x2F81], NFC: [0x2F81], NFD: [0x2F81], NFKC: [0x8089], NFKD: [0x8089] }, -{ source: [0x2F82], NFC: [0x2F82], NFD: [0x2F82], NFKC: [0x81E3], NFKD: [0x81E3] }, -{ source: [0x2F83], NFC: [0x2F83], NFD: [0x2F83], NFKC: [0x81EA], NFKD: [0x81EA] }, -{ source: [0x2F84], NFC: [0x2F84], NFD: [0x2F84], NFKC: [0x81F3], NFKD: [0x81F3] }, -{ source: [0x2F85], NFC: [0x2F85], NFD: [0x2F85], NFKC: [0x81FC], NFKD: [0x81FC] }, -{ source: [0x2F86], NFC: [0x2F86], NFD: [0x2F86], NFKC: [0x820C], NFKD: [0x820C] }, -{ source: [0x2F87], NFC: [0x2F87], NFD: [0x2F87], NFKC: [0x821B], NFKD: [0x821B] }, -{ source: [0x2F88], NFC: [0x2F88], NFD: [0x2F88], NFKC: [0x821F], NFKD: [0x821F] }, -{ source: [0x2F89], NFC: [0x2F89], NFD: [0x2F89], NFKC: [0x826E], NFKD: [0x826E] }, -{ source: [0x2F8A], NFC: [0x2F8A], NFD: [0x2F8A], NFKC: [0x8272], NFKD: [0x8272] }, -{ source: [0x2F8B], NFC: [0x2F8B], NFD: [0x2F8B], NFKC: [0x8278], NFKD: [0x8278] }, -{ source: [0x2F8C], NFC: [0x2F8C], NFD: [0x2F8C], NFKC: [0x864D], NFKD: [0x864D] }, -{ source: [0x2F8D], NFC: [0x2F8D], NFD: [0x2F8D], NFKC: [0x866B], NFKD: [0x866B] }, -{ source: [0x2F8E], NFC: [0x2F8E], NFD: [0x2F8E], NFKC: [0x8840], NFKD: [0x8840] }, -{ source: [0x2F8F], NFC: [0x2F8F], NFD: [0x2F8F], NFKC: [0x884C], NFKD: [0x884C] }, -{ source: [0x2F90], NFC: [0x2F90], NFD: [0x2F90], NFKC: [0x8863], NFKD: [0x8863] }, -{ source: [0x2F91], NFC: [0x2F91], NFD: [0x2F91], NFKC: [0x897E], NFKD: [0x897E] }, -{ source: [0x2F92], NFC: [0x2F92], NFD: [0x2F92], NFKC: [0x898B], NFKD: [0x898B] }, -{ source: [0x2F93], NFC: [0x2F93], NFD: [0x2F93], NFKC: [0x89D2], NFKD: [0x89D2] }, -{ source: [0x2F94], NFC: [0x2F94], NFD: [0x2F94], NFKC: [0x8A00], NFKD: [0x8A00] }, -{ source: [0x2F95], NFC: [0x2F95], NFD: [0x2F95], NFKC: [0x8C37], NFKD: [0x8C37] }, -{ source: [0x2F96], NFC: [0x2F96], NFD: [0x2F96], NFKC: [0x8C46], NFKD: [0x8C46] }, -{ source: [0x2F97], NFC: [0x2F97], NFD: [0x2F97], NFKC: [0x8C55], NFKD: [0x8C55] }, -{ source: [0x2F98], NFC: [0x2F98], NFD: [0x2F98], NFKC: [0x8C78], NFKD: [0x8C78] }, -{ source: [0x2F99], NFC: [0x2F99], NFD: [0x2F99], NFKC: [0x8C9D], NFKD: [0x8C9D] }, -{ source: [0x2F9A], NFC: [0x2F9A], NFD: [0x2F9A], NFKC: [0x8D64], NFKD: [0x8D64] }, -{ source: [0x2F9B], NFC: [0x2F9B], NFD: [0x2F9B], NFKC: [0x8D70], NFKD: [0x8D70] }, -{ source: [0x2F9C], NFC: [0x2F9C], NFD: [0x2F9C], NFKC: [0x8DB3], NFKD: [0x8DB3] }, -{ source: [0x2F9D], NFC: [0x2F9D], NFD: [0x2F9D], NFKC: [0x8EAB], NFKD: [0x8EAB] }, -{ source: [0x2F9E], NFC: [0x2F9E], NFD: [0x2F9E], NFKC: [0x8ECA], NFKD: [0x8ECA] }, -{ source: [0x2F9F], NFC: [0x2F9F], NFD: [0x2F9F], NFKC: [0x8F9B], NFKD: [0x8F9B] }, -{ source: [0x2FA0], NFC: [0x2FA0], NFD: [0x2FA0], NFKC: [0x8FB0], NFKD: [0x8FB0] }, -{ source: [0x2FA1], NFC: [0x2FA1], NFD: [0x2FA1], NFKC: [0x8FB5], NFKD: [0x8FB5] }, -{ source: [0x2FA2], NFC: [0x2FA2], NFD: [0x2FA2], NFKC: [0x9091], NFKD: [0x9091] }, -{ source: [0x2FA3], NFC: [0x2FA3], NFD: [0x2FA3], NFKC: [0x9149], NFKD: [0x9149] }, -{ source: [0x2FA4], NFC: [0x2FA4], NFD: [0x2FA4], NFKC: [0x91C6], NFKD: [0x91C6] }, -{ source: [0x2FA5], NFC: [0x2FA5], NFD: [0x2FA5], NFKC: [0x91CC], NFKD: [0x91CC] }, -{ source: [0x2FA6], NFC: [0x2FA6], NFD: [0x2FA6], NFKC: [0x91D1], NFKD: [0x91D1] }, -{ source: [0x2FA7], NFC: [0x2FA7], NFD: [0x2FA7], NFKC: [0x9577], NFKD: [0x9577] }, -{ source: [0x2FA8], NFC: [0x2FA8], NFD: [0x2FA8], NFKC: [0x9580], NFKD: [0x9580] }, -{ source: [0x2FA9], NFC: [0x2FA9], NFD: [0x2FA9], NFKC: [0x961C], NFKD: [0x961C] }, -{ source: [0x2FAA], NFC: [0x2FAA], NFD: [0x2FAA], NFKC: [0x96B6], NFKD: [0x96B6] }, -{ source: [0x2FAB], NFC: [0x2FAB], NFD: [0x2FAB], NFKC: [0x96B9], NFKD: [0x96B9] }, -{ source: [0x2FAC], NFC: [0x2FAC], NFD: [0x2FAC], NFKC: [0x96E8], NFKD: [0x96E8] }, -{ source: [0x2FAD], NFC: [0x2FAD], NFD: [0x2FAD], NFKC: [0x9751], NFKD: [0x9751] }, -{ source: [0x2FAE], NFC: [0x2FAE], NFD: [0x2FAE], NFKC: [0x975E], NFKD: [0x975E] }, -{ source: [0x2FAF], NFC: [0x2FAF], NFD: [0x2FAF], NFKC: [0x9762], NFKD: [0x9762] }, -{ source: [0x2FB0], NFC: [0x2FB0], NFD: [0x2FB0], NFKC: [0x9769], NFKD: [0x9769] }, -{ source: [0x2FB1], NFC: [0x2FB1], NFD: [0x2FB1], NFKC: [0x97CB], NFKD: [0x97CB] }, -{ source: [0x2FB2], NFC: [0x2FB2], NFD: [0x2FB2], NFKC: [0x97ED], NFKD: [0x97ED] }, -{ source: [0x2FB3], NFC: [0x2FB3], NFD: [0x2FB3], NFKC: [0x97F3], NFKD: [0x97F3] }, -{ source: [0x2FB4], NFC: [0x2FB4], NFD: [0x2FB4], NFKC: [0x9801], NFKD: [0x9801] }, -{ source: [0x2FB5], NFC: [0x2FB5], NFD: [0x2FB5], NFKC: [0x98A8], NFKD: [0x98A8] }, -{ source: [0x2FB6], NFC: [0x2FB6], NFD: [0x2FB6], NFKC: [0x98DB], NFKD: [0x98DB] }, -{ source: [0x2FB7], NFC: [0x2FB7], NFD: [0x2FB7], NFKC: [0x98DF], NFKD: [0x98DF] }, -{ source: [0x2FB8], NFC: [0x2FB8], NFD: [0x2FB8], NFKC: [0x9996], NFKD: [0x9996] }, -{ source: [0x2FB9], NFC: [0x2FB9], NFD: [0x2FB9], NFKC: [0x9999], NFKD: [0x9999] }, -{ source: [0x2FBA], NFC: [0x2FBA], NFD: [0x2FBA], NFKC: [0x99AC], NFKD: [0x99AC] }, -{ source: [0x2FBB], NFC: [0x2FBB], NFD: [0x2FBB], NFKC: [0x9AA8], NFKD: [0x9AA8] }, -{ source: [0x2FBC], NFC: [0x2FBC], NFD: [0x2FBC], NFKC: [0x9AD8], NFKD: [0x9AD8] }, -{ source: [0x2FBD], NFC: [0x2FBD], NFD: [0x2FBD], NFKC: [0x9ADF], NFKD: [0x9ADF] }, -{ source: [0x2FBE], NFC: [0x2FBE], NFD: [0x2FBE], NFKC: [0x9B25], NFKD: [0x9B25] }, -{ source: [0x2FBF], NFC: [0x2FBF], NFD: [0x2FBF], NFKC: [0x9B2F], NFKD: [0x9B2F] }, -{ source: [0x2FC0], NFC: [0x2FC0], NFD: [0x2FC0], NFKC: [0x9B32], NFKD: [0x9B32] }, -{ source: [0x2FC1], NFC: [0x2FC1], NFD: [0x2FC1], NFKC: [0x9B3C], NFKD: [0x9B3C] }, -{ source: [0x2FC2], NFC: [0x2FC2], NFD: [0x2FC2], NFKC: [0x9B5A], NFKD: [0x9B5A] }, -{ source: [0x2FC3], NFC: [0x2FC3], NFD: [0x2FC3], NFKC: [0x9CE5], NFKD: [0x9CE5] }, -{ source: [0x2FC4], NFC: [0x2FC4], NFD: [0x2FC4], NFKC: [0x9E75], NFKD: [0x9E75] }, -{ source: [0x2FC5], NFC: [0x2FC5], NFD: [0x2FC5], NFKC: [0x9E7F], NFKD: [0x9E7F] }, -{ source: [0x2FC6], NFC: [0x2FC6], NFD: [0x2FC6], NFKC: [0x9EA5], NFKD: [0x9EA5] }, -{ source: [0x2FC7], NFC: [0x2FC7], NFD: [0x2FC7], NFKC: [0x9EBB], NFKD: [0x9EBB] }, -{ source: [0x2FC8], NFC: [0x2FC8], NFD: [0x2FC8], NFKC: [0x9EC3], NFKD: [0x9EC3] }, -{ source: [0x2FC9], NFC: [0x2FC9], NFD: [0x2FC9], NFKC: [0x9ECD], NFKD: [0x9ECD] }, -{ source: [0x2FCA], NFC: [0x2FCA], NFD: [0x2FCA], NFKC: [0x9ED1], NFKD: [0x9ED1] }, -{ source: [0x2FCB], NFC: [0x2FCB], NFD: [0x2FCB], NFKC: [0x9EF9], NFKD: [0x9EF9] }, -{ source: [0x2FCC], NFC: [0x2FCC], NFD: [0x2FCC], NFKC: [0x9EFD], NFKD: [0x9EFD] }, -{ source: [0x2FCD], NFC: [0x2FCD], NFD: [0x2FCD], NFKC: [0x9F0E], NFKD: [0x9F0E] }, -{ source: [0x2FCE], NFC: [0x2FCE], NFD: [0x2FCE], NFKC: [0x9F13], NFKD: [0x9F13] }, -{ source: [0x2FCF], NFC: [0x2FCF], NFD: [0x2FCF], NFKC: [0x9F20], NFKD: [0x9F20] }, -{ source: [0x2FD0], NFC: [0x2FD0], NFD: [0x2FD0], NFKC: [0x9F3B], NFKD: [0x9F3B] }, -{ source: [0x2FD1], NFC: [0x2FD1], NFD: [0x2FD1], NFKC: [0x9F4A], NFKD: [0x9F4A] }, -{ source: [0x2FD2], NFC: [0x2FD2], NFD: [0x2FD2], NFKC: [0x9F52], NFKD: [0x9F52] }, -{ source: [0x2FD3], NFC: [0x2FD3], NFD: [0x2FD3], NFKC: [0x9F8D], NFKD: [0x9F8D] }, -{ source: [0x2FD4], NFC: [0x2FD4], NFD: [0x2FD4], NFKC: [0x9F9C], NFKD: [0x9F9C] }, -{ source: [0x2FD5], NFC: [0x2FD5], NFD: [0x2FD5], NFKC: [0x9FA0], NFKD: [0x9FA0] }, -{ source: [0x3000], NFC: [0x3000], NFD: [0x3000], NFKC: [0x0020], NFKD: [0x0020] }, -{ source: [0x3036], NFC: [0x3036], NFD: [0x3036], NFKC: [0x3012], NFKD: [0x3012] }, -{ source: [0x3038], NFC: [0x3038], NFD: [0x3038], NFKC: [0x5341], NFKD: [0x5341] }, -{ source: [0x3039], NFC: [0x3039], NFD: [0x3039], NFKC: [0x5344], NFKD: [0x5344] }, -{ source: [0x303A], NFC: [0x303A], NFD: [0x303A], NFKC: [0x5345], NFKD: [0x5345] }, -{ source: [0x304C], NFC: [0x304C], NFD: [0x304B, 0x3099], NFKC: [0x304C], NFKD: [0x304B, 0x3099] }, -{ source: [0x304E], NFC: [0x304E], NFD: [0x304D, 0x3099], NFKC: [0x304E], NFKD: [0x304D, 0x3099] }, -{ source: [0x3050], NFC: [0x3050], NFD: [0x304F, 0x3099], NFKC: [0x3050], NFKD: [0x304F, 0x3099] }, -{ source: [0x3052], NFC: [0x3052], NFD: [0x3051, 0x3099], NFKC: [0x3052], NFKD: [0x3051, 0x3099] }, -{ source: [0x3054], NFC: [0x3054], NFD: [0x3053, 0x3099], NFKC: [0x3054], NFKD: [0x3053, 0x3099] }, -{ source: [0x3056], NFC: [0x3056], NFD: [0x3055, 0x3099], NFKC: [0x3056], NFKD: [0x3055, 0x3099] }, -{ source: [0x3058], NFC: [0x3058], NFD: [0x3057, 0x3099], NFKC: [0x3058], NFKD: [0x3057, 0x3099] }, -{ source: [0x305A], NFC: [0x305A], NFD: [0x3059, 0x3099], NFKC: [0x305A], NFKD: [0x3059, 0x3099] }, -{ source: [0x305C], NFC: [0x305C], NFD: [0x305B, 0x3099], NFKC: [0x305C], NFKD: [0x305B, 0x3099] }, -{ source: [0x305E], NFC: [0x305E], NFD: [0x305D, 0x3099], NFKC: [0x305E], NFKD: [0x305D, 0x3099] }, -{ source: [0x3060], NFC: [0x3060], NFD: [0x305F, 0x3099], NFKC: [0x3060], NFKD: [0x305F, 0x3099] }, -{ source: [0x3062], NFC: [0x3062], NFD: [0x3061, 0x3099], NFKC: [0x3062], NFKD: [0x3061, 0x3099] }, -{ source: [0x3065], NFC: [0x3065], NFD: [0x3064, 0x3099], NFKC: [0x3065], NFKD: [0x3064, 0x3099] }, -{ source: [0x3067], NFC: [0x3067], NFD: [0x3066, 0x3099], NFKC: [0x3067], NFKD: [0x3066, 0x3099] }, -{ source: [0x3069], NFC: [0x3069], NFD: [0x3068, 0x3099], NFKC: [0x3069], NFKD: [0x3068, 0x3099] }, -{ source: [0x3070], NFC: [0x3070], NFD: [0x306F, 0x3099], NFKC: [0x3070], NFKD: [0x306F, 0x3099] }, -{ source: [0x3071], NFC: [0x3071], NFD: [0x306F, 0x309A], NFKC: [0x3071], NFKD: [0x306F, 0x309A] }, -{ source: [0x3073], NFC: [0x3073], NFD: [0x3072, 0x3099], NFKC: [0x3073], NFKD: [0x3072, 0x3099] }, -{ source: [0x3074], NFC: [0x3074], NFD: [0x3072, 0x309A], NFKC: [0x3074], NFKD: [0x3072, 0x309A] }, -{ source: [0x3076], NFC: [0x3076], NFD: [0x3075, 0x3099], NFKC: [0x3076], NFKD: [0x3075, 0x3099] }, -{ source: [0x3077], NFC: [0x3077], NFD: [0x3075, 0x309A], NFKC: [0x3077], NFKD: [0x3075, 0x309A] }, -{ source: [0x3079], NFC: [0x3079], NFD: [0x3078, 0x3099], NFKC: [0x3079], NFKD: [0x3078, 0x3099] }, -{ source: [0x307A], NFC: [0x307A], NFD: [0x3078, 0x309A], NFKC: [0x307A], NFKD: [0x3078, 0x309A] }, -{ source: [0x307C], NFC: [0x307C], NFD: [0x307B, 0x3099], NFKC: [0x307C], NFKD: [0x307B, 0x3099] }, -{ source: [0x307D], NFC: [0x307D], NFD: [0x307B, 0x309A], NFKC: [0x307D], NFKD: [0x307B, 0x309A] }, -{ source: [0x3094], NFC: [0x3094], NFD: [0x3046, 0x3099], NFKC: [0x3094], NFKD: [0x3046, 0x3099] }, -{ source: [0x309B], NFC: [0x309B], NFD: [0x309B], NFKC: [0x0020, 0x3099], NFKD: [0x0020, 0x3099] }, -{ source: [0x309C], NFC: [0x309C], NFD: [0x309C], NFKC: [0x0020, 0x309A], NFKD: [0x0020, 0x309A] }, -{ source: [0x309E], NFC: [0x309E], NFD: [0x309D, 0x3099], NFKC: [0x309E], NFKD: [0x309D, 0x3099] }, -{ source: [0x309F], NFC: [0x309F], NFD: [0x309F], NFKC: [0x3088, 0x308A], NFKD: [0x3088, 0x308A] }, -{ source: [0x30AC], NFC: [0x30AC], NFD: [0x30AB, 0x3099], NFKC: [0x30AC], NFKD: [0x30AB, 0x3099] }, -{ source: [0x30AE], NFC: [0x30AE], NFD: [0x30AD, 0x3099], NFKC: [0x30AE], NFKD: [0x30AD, 0x3099] }, -{ source: [0x30B0], NFC: [0x30B0], NFD: [0x30AF, 0x3099], NFKC: [0x30B0], NFKD: [0x30AF, 0x3099] }, -{ source: [0x30B2], NFC: [0x30B2], NFD: [0x30B1, 0x3099], NFKC: [0x30B2], NFKD: [0x30B1, 0x3099] }, -{ source: [0x30B4], NFC: [0x30B4], NFD: [0x30B3, 0x3099], NFKC: [0x30B4], NFKD: [0x30B3, 0x3099] }, -{ source: [0x30B6], NFC: [0x30B6], NFD: [0x30B5, 0x3099], NFKC: [0x30B6], NFKD: [0x30B5, 0x3099] }, -{ source: [0x30B8], NFC: [0x30B8], NFD: [0x30B7, 0x3099], NFKC: [0x30B8], NFKD: [0x30B7, 0x3099] }, -{ source: [0x30BA], NFC: [0x30BA], NFD: [0x30B9, 0x3099], NFKC: [0x30BA], NFKD: [0x30B9, 0x3099] }, -{ source: [0x30BC], NFC: [0x30BC], NFD: [0x30BB, 0x3099], NFKC: [0x30BC], NFKD: [0x30BB, 0x3099] }, -{ source: [0x30BE], NFC: [0x30BE], NFD: [0x30BD, 0x3099], NFKC: [0x30BE], NFKD: [0x30BD, 0x3099] }, -{ source: [0x30C0], NFC: [0x30C0], NFD: [0x30BF, 0x3099], NFKC: [0x30C0], NFKD: [0x30BF, 0x3099] }, -{ source: [0x30C2], NFC: [0x30C2], NFD: [0x30C1, 0x3099], NFKC: [0x30C2], NFKD: [0x30C1, 0x3099] }, -{ source: [0x30C5], NFC: [0x30C5], NFD: [0x30C4, 0x3099], NFKC: [0x30C5], NFKD: [0x30C4, 0x3099] }, -{ source: [0x30C7], NFC: [0x30C7], NFD: [0x30C6, 0x3099], NFKC: [0x30C7], NFKD: [0x30C6, 0x3099] }, -{ source: [0x30C9], NFC: [0x30C9], NFD: [0x30C8, 0x3099], NFKC: [0x30C9], NFKD: [0x30C8, 0x3099] }, -{ source: [0x30D0], NFC: [0x30D0], NFD: [0x30CF, 0x3099], NFKC: [0x30D0], NFKD: [0x30CF, 0x3099] }, -{ source: [0x30D1], NFC: [0x30D1], NFD: [0x30CF, 0x309A], NFKC: [0x30D1], NFKD: [0x30CF, 0x309A] }, -{ source: [0x30D3], NFC: [0x30D3], NFD: [0x30D2, 0x3099], NFKC: [0x30D3], NFKD: [0x30D2, 0x3099] }, -{ source: [0x30D4], NFC: [0x30D4], NFD: [0x30D2, 0x309A], NFKC: [0x30D4], NFKD: [0x30D2, 0x309A] }, -{ source: [0x30D6], NFC: [0x30D6], NFD: [0x30D5, 0x3099], NFKC: [0x30D6], NFKD: [0x30D5, 0x3099] }, -{ source: [0x30D7], NFC: [0x30D7], NFD: [0x30D5, 0x309A], NFKC: [0x30D7], NFKD: [0x30D5, 0x309A] }, -{ source: [0x30D9], NFC: [0x30D9], NFD: [0x30D8, 0x3099], NFKC: [0x30D9], NFKD: [0x30D8, 0x3099] }, -{ source: [0x30DA], NFC: [0x30DA], NFD: [0x30D8, 0x309A], NFKC: [0x30DA], NFKD: [0x30D8, 0x309A] }, -{ source: [0x30DC], NFC: [0x30DC], NFD: [0x30DB, 0x3099], NFKC: [0x30DC], NFKD: [0x30DB, 0x3099] }, -{ source: [0x30DD], NFC: [0x30DD], NFD: [0x30DB, 0x309A], NFKC: [0x30DD], NFKD: [0x30DB, 0x309A] }, -{ source: [0x30F4], NFC: [0x30F4], NFD: [0x30A6, 0x3099], NFKC: [0x30F4], NFKD: [0x30A6, 0x3099] }, -{ source: [0x30F7], NFC: [0x30F7], NFD: [0x30EF, 0x3099], NFKC: [0x30F7], NFKD: [0x30EF, 0x3099] }, -{ source: [0x30F8], NFC: [0x30F8], NFD: [0x30F0, 0x3099], NFKC: [0x30F8], NFKD: [0x30F0, 0x3099] }, -{ source: [0x30F9], NFC: [0x30F9], NFD: [0x30F1, 0x3099], NFKC: [0x30F9], NFKD: [0x30F1, 0x3099] }, -{ source: [0x30FA], NFC: [0x30FA], NFD: [0x30F2, 0x3099], NFKC: [0x30FA], NFKD: [0x30F2, 0x3099] }, -{ source: [0x30FE], NFC: [0x30FE], NFD: [0x30FD, 0x3099], NFKC: [0x30FE], NFKD: [0x30FD, 0x3099] }, -{ source: [0x30FF], NFC: [0x30FF], NFD: [0x30FF], NFKC: [0x30B3, 0x30C8], NFKD: [0x30B3, 0x30C8] }, -{ source: [0x3131], NFC: [0x3131], NFD: [0x3131], NFKC: [0x1100], NFKD: [0x1100] }, -{ source: [0x3132], NFC: [0x3132], NFD: [0x3132], NFKC: [0x1101], NFKD: [0x1101] }, -{ source: [0x3133], NFC: [0x3133], NFD: [0x3133], NFKC: [0x11AA], NFKD: [0x11AA] }, -{ source: [0x3134], NFC: [0x3134], NFD: [0x3134], NFKC: [0x1102], NFKD: [0x1102] }, -{ source: [0x3135], NFC: [0x3135], NFD: [0x3135], NFKC: [0x11AC], NFKD: [0x11AC] }, -{ source: [0x3136], NFC: [0x3136], NFD: [0x3136], NFKC: [0x11AD], NFKD: [0x11AD] }, -{ source: [0x3137], NFC: [0x3137], NFD: [0x3137], NFKC: [0x1103], NFKD: [0x1103] }, -{ source: [0x3138], NFC: [0x3138], NFD: [0x3138], NFKC: [0x1104], NFKD: [0x1104] }, -{ source: [0x3139], NFC: [0x3139], NFD: [0x3139], NFKC: [0x1105], NFKD: [0x1105] }, -{ source: [0x313A], NFC: [0x313A], NFD: [0x313A], NFKC: [0x11B0], NFKD: [0x11B0] }, -{ source: [0x313B], NFC: [0x313B], NFD: [0x313B], NFKC: [0x11B1], NFKD: [0x11B1] }, -{ source: [0x313C], NFC: [0x313C], NFD: [0x313C], NFKC: [0x11B2], NFKD: [0x11B2] }, -{ source: [0x313D], NFC: [0x313D], NFD: [0x313D], NFKC: [0x11B3], NFKD: [0x11B3] }, -{ source: [0x313E], NFC: [0x313E], NFD: [0x313E], NFKC: [0x11B4], NFKD: [0x11B4] }, -{ source: [0x313F], NFC: [0x313F], NFD: [0x313F], NFKC: [0x11B5], NFKD: [0x11B5] }, -{ source: [0x3140], NFC: [0x3140], NFD: [0x3140], NFKC: [0x111A], NFKD: [0x111A] }, -{ source: [0x3141], NFC: [0x3141], NFD: [0x3141], NFKC: [0x1106], NFKD: [0x1106] }, -{ source: [0x3142], NFC: [0x3142], NFD: [0x3142], NFKC: [0x1107], NFKD: [0x1107] }, -{ source: [0x3143], NFC: [0x3143], NFD: [0x3143], NFKC: [0x1108], NFKD: [0x1108] }, -{ source: [0x3144], NFC: [0x3144], NFD: [0x3144], NFKC: [0x1121], NFKD: [0x1121] }, -{ source: [0x3145], NFC: [0x3145], NFD: [0x3145], NFKC: [0x1109], NFKD: [0x1109] }, -{ source: [0x3146], NFC: [0x3146], NFD: [0x3146], NFKC: [0x110A], NFKD: [0x110A] }, -{ source: [0x3147], NFC: [0x3147], NFD: [0x3147], NFKC: [0x110B], NFKD: [0x110B] }, -{ source: [0x3148], NFC: [0x3148], NFD: [0x3148], NFKC: [0x110C], NFKD: [0x110C] }, -{ source: [0x3149], NFC: [0x3149], NFD: [0x3149], NFKC: [0x110D], NFKD: [0x110D] }, -{ source: [0x314A], NFC: [0x314A], NFD: [0x314A], NFKC: [0x110E], NFKD: [0x110E] }, -{ source: [0x314B], NFC: [0x314B], NFD: [0x314B], NFKC: [0x110F], NFKD: [0x110F] }, -{ source: [0x314C], NFC: [0x314C], NFD: [0x314C], NFKC: [0x1110], NFKD: [0x1110] }, -{ source: [0x314D], NFC: [0x314D], NFD: [0x314D], NFKC: [0x1111], NFKD: [0x1111] }, -{ source: [0x314E], NFC: [0x314E], NFD: [0x314E], NFKC: [0x1112], NFKD: [0x1112] }, -{ source: [0x314F], NFC: [0x314F], NFD: [0x314F], NFKC: [0x1161], NFKD: [0x1161] }, -{ source: [0x3150], NFC: [0x3150], NFD: [0x3150], NFKC: [0x1162], NFKD: [0x1162] }, -{ source: [0x3151], NFC: [0x3151], NFD: [0x3151], NFKC: [0x1163], NFKD: [0x1163] }, -{ source: [0x3152], NFC: [0x3152], NFD: [0x3152], NFKC: [0x1164], NFKD: [0x1164] }, -{ source: [0x3153], NFC: [0x3153], NFD: [0x3153], NFKC: [0x1165], NFKD: [0x1165] }, -{ source: [0x3154], NFC: [0x3154], NFD: [0x3154], NFKC: [0x1166], NFKD: [0x1166] }, -{ source: [0x3155], NFC: [0x3155], NFD: [0x3155], NFKC: [0x1167], NFKD: [0x1167] }, -{ source: [0x3156], NFC: [0x3156], NFD: [0x3156], NFKC: [0x1168], NFKD: [0x1168] }, -{ source: [0x3157], NFC: [0x3157], NFD: [0x3157], NFKC: [0x1169], NFKD: [0x1169] }, -{ source: [0x3158], NFC: [0x3158], NFD: [0x3158], NFKC: [0x116A], NFKD: [0x116A] }, -{ source: [0x3159], NFC: [0x3159], NFD: [0x3159], NFKC: [0x116B], NFKD: [0x116B] }, -{ source: [0x315A], NFC: [0x315A], NFD: [0x315A], NFKC: [0x116C], NFKD: [0x116C] }, -{ source: [0x315B], NFC: [0x315B], NFD: [0x315B], NFKC: [0x116D], NFKD: [0x116D] }, -{ source: [0x315C], NFC: [0x315C], NFD: [0x315C], NFKC: [0x116E], NFKD: [0x116E] }, -{ source: [0x315D], NFC: [0x315D], NFD: [0x315D], NFKC: [0x116F], NFKD: [0x116F] }, -{ source: [0x315E], NFC: [0x315E], NFD: [0x315E], NFKC: [0x1170], NFKD: [0x1170] }, -{ source: [0x315F], NFC: [0x315F], NFD: [0x315F], NFKC: [0x1171], NFKD: [0x1171] }, -{ source: [0x3160], NFC: [0x3160], NFD: [0x3160], NFKC: [0x1172], NFKD: [0x1172] }, -{ source: [0x3161], NFC: [0x3161], NFD: [0x3161], NFKC: [0x1173], NFKD: [0x1173] }, -{ source: [0x3162], NFC: [0x3162], NFD: [0x3162], NFKC: [0x1174], NFKD: [0x1174] }, -{ source: [0x3163], NFC: [0x3163], NFD: [0x3163], NFKC: [0x1175], NFKD: [0x1175] }, -{ source: [0x3164], NFC: [0x3164], NFD: [0x3164], NFKC: [0x1160], NFKD: [0x1160] }, -{ source: [0x3165], NFC: [0x3165], NFD: [0x3165], NFKC: [0x1114], NFKD: [0x1114] }, -{ source: [0x3166], NFC: [0x3166], NFD: [0x3166], NFKC: [0x1115], NFKD: [0x1115] }, -{ source: [0x3167], NFC: [0x3167], NFD: [0x3167], NFKC: [0x11C7], NFKD: [0x11C7] }, -{ source: [0x3168], NFC: [0x3168], NFD: [0x3168], NFKC: [0x11C8], NFKD: [0x11C8] }, -{ source: [0x3169], NFC: [0x3169], NFD: [0x3169], NFKC: [0x11CC], NFKD: [0x11CC] }, -{ source: [0x316A], NFC: [0x316A], NFD: [0x316A], NFKC: [0x11CE], NFKD: [0x11CE] }, -{ source: [0x316B], NFC: [0x316B], NFD: [0x316B], NFKC: [0x11D3], NFKD: [0x11D3] }, -{ source: [0x316C], NFC: [0x316C], NFD: [0x316C], NFKC: [0x11D7], NFKD: [0x11D7] }, -{ source: [0x316D], NFC: [0x316D], NFD: [0x316D], NFKC: [0x11D9], NFKD: [0x11D9] }, -{ source: [0x316E], NFC: [0x316E], NFD: [0x316E], NFKC: [0x111C], NFKD: [0x111C] }, -{ source: [0x316F], NFC: [0x316F], NFD: [0x316F], NFKC: [0x11DD], NFKD: [0x11DD] }, -{ source: [0x3170], NFC: [0x3170], NFD: [0x3170], NFKC: [0x11DF], NFKD: [0x11DF] }, -{ source: [0x3171], NFC: [0x3171], NFD: [0x3171], NFKC: [0x111D], NFKD: [0x111D] }, -{ source: [0x3172], NFC: [0x3172], NFD: [0x3172], NFKC: [0x111E], NFKD: [0x111E] }, -{ source: [0x3173], NFC: [0x3173], NFD: [0x3173], NFKC: [0x1120], NFKD: [0x1120] }, -{ source: [0x3174], NFC: [0x3174], NFD: [0x3174], NFKC: [0x1122], NFKD: [0x1122] }, -{ source: [0x3175], NFC: [0x3175], NFD: [0x3175], NFKC: [0x1123], NFKD: [0x1123] }, -{ source: [0x3176], NFC: [0x3176], NFD: [0x3176], NFKC: [0x1127], NFKD: [0x1127] }, -{ source: [0x3177], NFC: [0x3177], NFD: [0x3177], NFKC: [0x1129], NFKD: [0x1129] }, -{ source: [0x3178], NFC: [0x3178], NFD: [0x3178], NFKC: [0x112B], NFKD: [0x112B] }, -{ source: [0x3179], NFC: [0x3179], NFD: [0x3179], NFKC: [0x112C], NFKD: [0x112C] }, -{ source: [0x317A], NFC: [0x317A], NFD: [0x317A], NFKC: [0x112D], NFKD: [0x112D] }, -{ source: [0x317B], NFC: [0x317B], NFD: [0x317B], NFKC: [0x112E], NFKD: [0x112E] }, -{ source: [0x317C], NFC: [0x317C], NFD: [0x317C], NFKC: [0x112F], NFKD: [0x112F] }, -{ source: [0x317D], NFC: [0x317D], NFD: [0x317D], NFKC: [0x1132], NFKD: [0x1132] }, -{ source: [0x317E], NFC: [0x317E], NFD: [0x317E], NFKC: [0x1136], NFKD: [0x1136] }, -{ source: [0x317F], NFC: [0x317F], NFD: [0x317F], NFKC: [0x1140], NFKD: [0x1140] }, -{ source: [0x3180], NFC: [0x3180], NFD: [0x3180], NFKC: [0x1147], NFKD: [0x1147] }, -{ source: [0x3181], NFC: [0x3181], NFD: [0x3181], NFKC: [0x114C], NFKD: [0x114C] }, -{ source: [0x3182], NFC: [0x3182], NFD: [0x3182], NFKC: [0x11F1], NFKD: [0x11F1] }, -{ source: [0x3183], NFC: [0x3183], NFD: [0x3183], NFKC: [0x11F2], NFKD: [0x11F2] }, -{ source: [0x3184], NFC: [0x3184], NFD: [0x3184], NFKC: [0x1157], NFKD: [0x1157] }, -{ source: [0x3185], NFC: [0x3185], NFD: [0x3185], NFKC: [0x1158], NFKD: [0x1158] }, -{ source: [0x3186], NFC: [0x3186], NFD: [0x3186], NFKC: [0x1159], NFKD: [0x1159] }, -{ source: [0x3187], NFC: [0x3187], NFD: [0x3187], NFKC: [0x1184], NFKD: [0x1184] }, -{ source: [0x3188], NFC: [0x3188], NFD: [0x3188], NFKC: [0x1185], NFKD: [0x1185] }, -{ source: [0x3189], NFC: [0x3189], NFD: [0x3189], NFKC: [0x1188], NFKD: [0x1188] }, -{ source: [0x318A], NFC: [0x318A], NFD: [0x318A], NFKC: [0x1191], NFKD: [0x1191] }, -{ source: [0x318B], NFC: [0x318B], NFD: [0x318B], NFKC: [0x1192], NFKD: [0x1192] }, -{ source: [0x318C], NFC: [0x318C], NFD: [0x318C], NFKC: [0x1194], NFKD: [0x1194] }, -{ source: [0x318D], NFC: [0x318D], NFD: [0x318D], NFKC: [0x119E], NFKD: [0x119E] }, -{ source: [0x318E], NFC: [0x318E], NFD: [0x318E], NFKC: [0x11A1], NFKD: [0x11A1] }, -{ source: [0x3192], NFC: [0x3192], NFD: [0x3192], NFKC: [0x4E00], NFKD: [0x4E00] }, -{ source: [0x3193], NFC: [0x3193], NFD: [0x3193], NFKC: [0x4E8C], NFKD: [0x4E8C] }, -{ source: [0x3194], NFC: [0x3194], NFD: [0x3194], NFKC: [0x4E09], NFKD: [0x4E09] }, -{ source: [0x3195], NFC: [0x3195], NFD: [0x3195], NFKC: [0x56DB], NFKD: [0x56DB] }, -{ source: [0x3196], NFC: [0x3196], NFD: [0x3196], NFKC: [0x4E0A], NFKD: [0x4E0A] }, -{ source: [0x3197], NFC: [0x3197], NFD: [0x3197], NFKC: [0x4E2D], NFKD: [0x4E2D] }, -{ source: [0x3198], NFC: [0x3198], NFD: [0x3198], NFKC: [0x4E0B], NFKD: [0x4E0B] }, -{ source: [0x3199], NFC: [0x3199], NFD: [0x3199], NFKC: [0x7532], NFKD: [0x7532] }, -{ source: [0x319A], NFC: [0x319A], NFD: [0x319A], NFKC: [0x4E59], NFKD: [0x4E59] }, -{ source: [0x319B], NFC: [0x319B], NFD: [0x319B], NFKC: [0x4E19], NFKD: [0x4E19] }, -{ source: [0x319C], NFC: [0x319C], NFD: [0x319C], NFKC: [0x4E01], NFKD: [0x4E01] }, -{ source: [0x319D], NFC: [0x319D], NFD: [0x319D], NFKC: [0x5929], NFKD: [0x5929] }, -{ source: [0x319E], NFC: [0x319E], NFD: [0x319E], NFKC: [0x5730], NFKD: [0x5730] }, -{ source: [0x319F], NFC: [0x319F], NFD: [0x319F], NFKC: [0x4EBA], NFKD: [0x4EBA] }, -{ source: [0x3200], NFC: [0x3200], NFD: [0x3200], NFKC: [0x0028, 0x1100, 0x0029], NFKD: [0x0028, 0x1100, 0x0029] }, -{ source: [0x3201], NFC: [0x3201], NFD: [0x3201], NFKC: [0x0028, 0x1102, 0x0029], NFKD: [0x0028, 0x1102, 0x0029] }, -{ source: [0x3202], NFC: [0x3202], NFD: [0x3202], NFKC: [0x0028, 0x1103, 0x0029], NFKD: [0x0028, 0x1103, 0x0029] }, -{ source: [0x3203], NFC: [0x3203], NFD: [0x3203], NFKC: [0x0028, 0x1105, 0x0029], NFKD: [0x0028, 0x1105, 0x0029] }, -{ source: [0x3204], NFC: [0x3204], NFD: [0x3204], NFKC: [0x0028, 0x1106, 0x0029], NFKD: [0x0028, 0x1106, 0x0029] }, -{ source: [0x3205], NFC: [0x3205], NFD: [0x3205], NFKC: [0x0028, 0x1107, 0x0029], NFKD: [0x0028, 0x1107, 0x0029] }, -{ source: [0x3206], NFC: [0x3206], NFD: [0x3206], NFKC: [0x0028, 0x1109, 0x0029], NFKD: [0x0028, 0x1109, 0x0029] }, -{ source: [0x3207], NFC: [0x3207], NFD: [0x3207], NFKC: [0x0028, 0x110B, 0x0029], NFKD: [0x0028, 0x110B, 0x0029] }, -{ source: [0x3208], NFC: [0x3208], NFD: [0x3208], NFKC: [0x0028, 0x110C, 0x0029], NFKD: [0x0028, 0x110C, 0x0029] }, -{ source: [0x3209], NFC: [0x3209], NFD: [0x3209], NFKC: [0x0028, 0x110E, 0x0029], NFKD: [0x0028, 0x110E, 0x0029] }, -{ source: [0x320A], NFC: [0x320A], NFD: [0x320A], NFKC: [0x0028, 0x110F, 0x0029], NFKD: [0x0028, 0x110F, 0x0029] }, -{ source: [0x320B], NFC: [0x320B], NFD: [0x320B], NFKC: [0x0028, 0x1110, 0x0029], NFKD: [0x0028, 0x1110, 0x0029] }, -{ source: [0x320C], NFC: [0x320C], NFD: [0x320C], NFKC: [0x0028, 0x1111, 0x0029], NFKD: [0x0028, 0x1111, 0x0029] }, -{ source: [0x320D], NFC: [0x320D], NFD: [0x320D], NFKC: [0x0028, 0x1112, 0x0029], NFKD: [0x0028, 0x1112, 0x0029] }, -{ source: [0x320E], NFC: [0x320E], NFD: [0x320E], NFKC: [0x0028, 0xAC00, 0x0029], NFKD: [0x0028, 0x1100, 0x1161, 0x0029] }, -{ source: [0x320F], NFC: [0x320F], NFD: [0x320F], NFKC: [0x0028, 0xB098, 0x0029], NFKD: [0x0028, 0x1102, 0x1161, 0x0029] }, -{ source: [0x3210], NFC: [0x3210], NFD: [0x3210], NFKC: [0x0028, 0xB2E4, 0x0029], NFKD: [0x0028, 0x1103, 0x1161, 0x0029] }, -{ source: [0x3211], NFC: [0x3211], NFD: [0x3211], NFKC: [0x0028, 0xB77C, 0x0029], NFKD: [0x0028, 0x1105, 0x1161, 0x0029] }, -{ source: [0x3212], NFC: [0x3212], NFD: [0x3212], NFKC: [0x0028, 0xB9C8, 0x0029], NFKD: [0x0028, 0x1106, 0x1161, 0x0029] }, -{ source: [0x3213], NFC: [0x3213], NFD: [0x3213], NFKC: [0x0028, 0xBC14, 0x0029], NFKD: [0x0028, 0x1107, 0x1161, 0x0029] }, -{ source: [0x3214], NFC: [0x3214], NFD: [0x3214], NFKC: [0x0028, 0xC0AC, 0x0029], NFKD: [0x0028, 0x1109, 0x1161, 0x0029] }, -{ source: [0x3215], NFC: [0x3215], NFD: [0x3215], NFKC: [0x0028, 0xC544, 0x0029], NFKD: [0x0028, 0x110B, 0x1161, 0x0029] }, -{ source: [0x3216], NFC: [0x3216], NFD: [0x3216], NFKC: [0x0028, 0xC790, 0x0029], NFKD: [0x0028, 0x110C, 0x1161, 0x0029] }, -{ source: [0x3217], NFC: [0x3217], NFD: [0x3217], NFKC: [0x0028, 0xCC28, 0x0029], NFKD: [0x0028, 0x110E, 0x1161, 0x0029] }, -{ source: [0x3218], NFC: [0x3218], NFD: [0x3218], NFKC: [0x0028, 0xCE74, 0x0029], NFKD: [0x0028, 0x110F, 0x1161, 0x0029] }, -{ source: [0x3219], NFC: [0x3219], NFD: [0x3219], NFKC: [0x0028, 0xD0C0, 0x0029], NFKD: [0x0028, 0x1110, 0x1161, 0x0029] }, -{ source: [0x321A], NFC: [0x321A], NFD: [0x321A], NFKC: [0x0028, 0xD30C, 0x0029], NFKD: [0x0028, 0x1111, 0x1161, 0x0029] }, -{ source: [0x321B], NFC: [0x321B], NFD: [0x321B], NFKC: [0x0028, 0xD558, 0x0029], NFKD: [0x0028, 0x1112, 0x1161, 0x0029] }, -{ source: [0x321C], NFC: [0x321C], NFD: [0x321C], NFKC: [0x0028, 0xC8FC, 0x0029], NFKD: [0x0028, 0x110C, 0x116E, 0x0029] }, -{ source: [0x321D], NFC: [0x321D], NFD: [0x321D], NFKC: [0x0028, 0xC624, 0xC804, 0x0029], NFKD: [0x0028, 0x110B, 0x1169, 0x110C, 0x1165, 0x11AB, 0x0029] }, -{ source: [0x321E], NFC: [0x321E], NFD: [0x321E], NFKC: [0x0028, 0xC624, 0xD6C4, 0x0029], NFKD: [0x0028, 0x110B, 0x1169, 0x1112, 0x116E, 0x0029] }, -{ source: [0x3220], NFC: [0x3220], NFD: [0x3220], NFKC: [0x0028, 0x4E00, 0x0029], NFKD: [0x0028, 0x4E00, 0x0029] }, -{ source: [0x3221], NFC: [0x3221], NFD: [0x3221], NFKC: [0x0028, 0x4E8C, 0x0029], NFKD: [0x0028, 0x4E8C, 0x0029] }, -{ source: [0x3222], NFC: [0x3222], NFD: [0x3222], NFKC: [0x0028, 0x4E09, 0x0029], NFKD: [0x0028, 0x4E09, 0x0029] }, -{ source: [0x3223], NFC: [0x3223], NFD: [0x3223], NFKC: [0x0028, 0x56DB, 0x0029], NFKD: [0x0028, 0x56DB, 0x0029] }, -{ source: [0x3224], NFC: [0x3224], NFD: [0x3224], NFKC: [0x0028, 0x4E94, 0x0029], NFKD: [0x0028, 0x4E94, 0x0029] }, -{ source: [0x3225], NFC: [0x3225], NFD: [0x3225], NFKC: [0x0028, 0x516D, 0x0029], NFKD: [0x0028, 0x516D, 0x0029] }, -{ source: [0x3226], NFC: [0x3226], NFD: [0x3226], NFKC: [0x0028, 0x4E03, 0x0029], NFKD: [0x0028, 0x4E03, 0x0029] }, -{ source: [0x3227], NFC: [0x3227], NFD: [0x3227], NFKC: [0x0028, 0x516B, 0x0029], NFKD: [0x0028, 0x516B, 0x0029] }, -{ source: [0x3228], NFC: [0x3228], NFD: [0x3228], NFKC: [0x0028, 0x4E5D, 0x0029], NFKD: [0x0028, 0x4E5D, 0x0029] }, -{ source: [0x3229], NFC: [0x3229], NFD: [0x3229], NFKC: [0x0028, 0x5341, 0x0029], NFKD: [0x0028, 0x5341, 0x0029] }, -{ source: [0x322A], NFC: [0x322A], NFD: [0x322A], NFKC: [0x0028, 0x6708, 0x0029], NFKD: [0x0028, 0x6708, 0x0029] }, -{ source: [0x322B], NFC: [0x322B], NFD: [0x322B], NFKC: [0x0028, 0x706B, 0x0029], NFKD: [0x0028, 0x706B, 0x0029] }, -{ source: [0x322C], NFC: [0x322C], NFD: [0x322C], NFKC: [0x0028, 0x6C34, 0x0029], NFKD: [0x0028, 0x6C34, 0x0029] }, -{ source: [0x322D], NFC: [0x322D], NFD: [0x322D], NFKC: [0x0028, 0x6728, 0x0029], NFKD: [0x0028, 0x6728, 0x0029] }, -{ source: [0x322E], NFC: [0x322E], NFD: [0x322E], NFKC: [0x0028, 0x91D1, 0x0029], NFKD: [0x0028, 0x91D1, 0x0029] }, -{ source: [0x322F], NFC: [0x322F], NFD: [0x322F], NFKC: [0x0028, 0x571F, 0x0029], NFKD: [0x0028, 0x571F, 0x0029] }, -{ source: [0x3230], NFC: [0x3230], NFD: [0x3230], NFKC: [0x0028, 0x65E5, 0x0029], NFKD: [0x0028, 0x65E5, 0x0029] }, -{ source: [0x3231], NFC: [0x3231], NFD: [0x3231], NFKC: [0x0028, 0x682A, 0x0029], NFKD: [0x0028, 0x682A, 0x0029] }, -{ source: [0x3232], NFC: [0x3232], NFD: [0x3232], NFKC: [0x0028, 0x6709, 0x0029], NFKD: [0x0028, 0x6709, 0x0029] }, -{ source: [0x3233], NFC: [0x3233], NFD: [0x3233], NFKC: [0x0028, 0x793E, 0x0029], NFKD: [0x0028, 0x793E, 0x0029] }, -{ source: [0x3234], NFC: [0x3234], NFD: [0x3234], NFKC: [0x0028, 0x540D, 0x0029], NFKD: [0x0028, 0x540D, 0x0029] }, -{ source: [0x3235], NFC: [0x3235], NFD: [0x3235], NFKC: [0x0028, 0x7279, 0x0029], NFKD: [0x0028, 0x7279, 0x0029] }, -{ source: [0x3236], NFC: [0x3236], NFD: [0x3236], NFKC: [0x0028, 0x8CA1, 0x0029], NFKD: [0x0028, 0x8CA1, 0x0029] }, -{ source: [0x3237], NFC: [0x3237], NFD: [0x3237], NFKC: [0x0028, 0x795D, 0x0029], NFKD: [0x0028, 0x795D, 0x0029] }, -{ source: [0x3238], NFC: [0x3238], NFD: [0x3238], NFKC: [0x0028, 0x52B4, 0x0029], NFKD: [0x0028, 0x52B4, 0x0029] }, -{ source: [0x3239], NFC: [0x3239], NFD: [0x3239], NFKC: [0x0028, 0x4EE3, 0x0029], NFKD: [0x0028, 0x4EE3, 0x0029] }, -{ source: [0x323A], NFC: [0x323A], NFD: [0x323A], NFKC: [0x0028, 0x547C, 0x0029], NFKD: [0x0028, 0x547C, 0x0029] }, -{ source: [0x323B], NFC: [0x323B], NFD: [0x323B], NFKC: [0x0028, 0x5B66, 0x0029], NFKD: [0x0028, 0x5B66, 0x0029] }, -{ source: [0x323C], NFC: [0x323C], NFD: [0x323C], NFKC: [0x0028, 0x76E3, 0x0029], NFKD: [0x0028, 0x76E3, 0x0029] }, -{ source: [0x323D], NFC: [0x323D], NFD: [0x323D], NFKC: [0x0028, 0x4F01, 0x0029], NFKD: [0x0028, 0x4F01, 0x0029] }, -{ source: [0x323E], NFC: [0x323E], NFD: [0x323E], NFKC: [0x0028, 0x8CC7, 0x0029], NFKD: [0x0028, 0x8CC7, 0x0029] }, -{ source: [0x323F], NFC: [0x323F], NFD: [0x323F], NFKC: [0x0028, 0x5354, 0x0029], NFKD: [0x0028, 0x5354, 0x0029] }, -{ source: [0x3240], NFC: [0x3240], NFD: [0x3240], NFKC: [0x0028, 0x796D, 0x0029], NFKD: [0x0028, 0x796D, 0x0029] }, -{ source: [0x3241], NFC: [0x3241], NFD: [0x3241], NFKC: [0x0028, 0x4F11, 0x0029], NFKD: [0x0028, 0x4F11, 0x0029] }, -{ source: [0x3242], NFC: [0x3242], NFD: [0x3242], NFKC: [0x0028, 0x81EA, 0x0029], NFKD: [0x0028, 0x81EA, 0x0029] }, -{ source: [0x3243], NFC: [0x3243], NFD: [0x3243], NFKC: [0x0028, 0x81F3, 0x0029], NFKD: [0x0028, 0x81F3, 0x0029] }, -{ source: [0x3244], NFC: [0x3244], NFD: [0x3244], NFKC: [0x554F], NFKD: [0x554F] }, -{ source: [0x3245], NFC: [0x3245], NFD: [0x3245], NFKC: [0x5E7C], NFKD: [0x5E7C] }, -{ source: [0x3246], NFC: [0x3246], NFD: [0x3246], NFKC: [0x6587], NFKD: [0x6587] }, -{ source: [0x3247], NFC: [0x3247], NFD: [0x3247], NFKC: [0x7B8F], NFKD: [0x7B8F] }, -{ source: [0x3250], NFC: [0x3250], NFD: [0x3250], NFKC: [0x0050, 0x0054, 0x0045], NFKD: [0x0050, 0x0054, 0x0045] }, -{ source: [0x3251], NFC: [0x3251], NFD: [0x3251], NFKC: [0x0032, 0x0031], NFKD: [0x0032, 0x0031] }, -{ source: [0x3252], NFC: [0x3252], NFD: [0x3252], NFKC: [0x0032, 0x0032], NFKD: [0x0032, 0x0032] }, -{ source: [0x3253], NFC: [0x3253], NFD: [0x3253], NFKC: [0x0032, 0x0033], NFKD: [0x0032, 0x0033] }, -{ source: [0x3254], NFC: [0x3254], NFD: [0x3254], NFKC: [0x0032, 0x0034], NFKD: [0x0032, 0x0034] }, -{ source: [0x3255], NFC: [0x3255], NFD: [0x3255], NFKC: [0x0032, 0x0035], NFKD: [0x0032, 0x0035] }, -{ source: [0x3256], NFC: [0x3256], NFD: [0x3256], NFKC: [0x0032, 0x0036], NFKD: [0x0032, 0x0036] }, -{ source: [0x3257], NFC: [0x3257], NFD: [0x3257], NFKC: [0x0032, 0x0037], NFKD: [0x0032, 0x0037] }, -{ source: [0x3258], NFC: [0x3258], NFD: [0x3258], NFKC: [0x0032, 0x0038], NFKD: [0x0032, 0x0038] }, -{ source: [0x3259], NFC: [0x3259], NFD: [0x3259], NFKC: [0x0032, 0x0039], NFKD: [0x0032, 0x0039] }, -{ source: [0x325A], NFC: [0x325A], NFD: [0x325A], NFKC: [0x0033, 0x0030], NFKD: [0x0033, 0x0030] }, -{ source: [0x325B], NFC: [0x325B], NFD: [0x325B], NFKC: [0x0033, 0x0031], NFKD: [0x0033, 0x0031] }, -{ source: [0x325C], NFC: [0x325C], NFD: [0x325C], NFKC: [0x0033, 0x0032], NFKD: [0x0033, 0x0032] }, -{ source: [0x325D], NFC: [0x325D], NFD: [0x325D], NFKC: [0x0033, 0x0033], NFKD: [0x0033, 0x0033] }, -{ source: [0x325E], NFC: [0x325E], NFD: [0x325E], NFKC: [0x0033, 0x0034], NFKD: [0x0033, 0x0034] }, -{ source: [0x325F], NFC: [0x325F], NFD: [0x325F], NFKC: [0x0033, 0x0035], NFKD: [0x0033, 0x0035] }, -{ source: [0x3260], NFC: [0x3260], NFD: [0x3260], NFKC: [0x1100], NFKD: [0x1100] }, -{ source: [0x3261], NFC: [0x3261], NFD: [0x3261], NFKC: [0x1102], NFKD: [0x1102] }, -{ source: [0x3262], NFC: [0x3262], NFD: [0x3262], NFKC: [0x1103], NFKD: [0x1103] }, -{ source: [0x3263], NFC: [0x3263], NFD: [0x3263], NFKC: [0x1105], NFKD: [0x1105] }, -{ source: [0x3264], NFC: [0x3264], NFD: [0x3264], NFKC: [0x1106], NFKD: [0x1106] }, -{ source: [0x3265], NFC: [0x3265], NFD: [0x3265], NFKC: [0x1107], NFKD: [0x1107] }, -{ source: [0x3266], NFC: [0x3266], NFD: [0x3266], NFKC: [0x1109], NFKD: [0x1109] }, -{ source: [0x3267], NFC: [0x3267], NFD: [0x3267], NFKC: [0x110B], NFKD: [0x110B] }, -{ source: [0x3268], NFC: [0x3268], NFD: [0x3268], NFKC: [0x110C], NFKD: [0x110C] }, -{ source: [0x3269], NFC: [0x3269], NFD: [0x3269], NFKC: [0x110E], NFKD: [0x110E] }, -{ source: [0x326A], NFC: [0x326A], NFD: [0x326A], NFKC: [0x110F], NFKD: [0x110F] }, -{ source: [0x326B], NFC: [0x326B], NFD: [0x326B], NFKC: [0x1110], NFKD: [0x1110] }, -{ source: [0x326C], NFC: [0x326C], NFD: [0x326C], NFKC: [0x1111], NFKD: [0x1111] }, -{ source: [0x326D], NFC: [0x326D], NFD: [0x326D], NFKC: [0x1112], NFKD: [0x1112] }, -{ source: [0x326E], NFC: [0x326E], NFD: [0x326E], NFKC: [0xAC00], NFKD: [0x1100, 0x1161] }, -{ source: [0x326F], NFC: [0x326F], NFD: [0x326F], NFKC: [0xB098], NFKD: [0x1102, 0x1161] }, -{ source: [0x3270], NFC: [0x3270], NFD: [0x3270], NFKC: [0xB2E4], NFKD: [0x1103, 0x1161] }, -{ source: [0x3271], NFC: [0x3271], NFD: [0x3271], NFKC: [0xB77C], NFKD: [0x1105, 0x1161] }, -{ source: [0x3272], NFC: [0x3272], NFD: [0x3272], NFKC: [0xB9C8], NFKD: [0x1106, 0x1161] }, -{ source: [0x3273], NFC: [0x3273], NFD: [0x3273], NFKC: [0xBC14], NFKD: [0x1107, 0x1161] }, -{ source: [0x3274], NFC: [0x3274], NFD: [0x3274], NFKC: [0xC0AC], NFKD: [0x1109, 0x1161] }, -{ source: [0x3275], NFC: [0x3275], NFD: [0x3275], NFKC: [0xC544], NFKD: [0x110B, 0x1161] }, -{ source: [0x3276], NFC: [0x3276], NFD: [0x3276], NFKC: [0xC790], NFKD: [0x110C, 0x1161] }, -{ source: [0x3277], NFC: [0x3277], NFD: [0x3277], NFKC: [0xCC28], NFKD: [0x110E, 0x1161] }, -{ source: [0x3278], NFC: [0x3278], NFD: [0x3278], NFKC: [0xCE74], NFKD: [0x110F, 0x1161] }, -{ source: [0x3279], NFC: [0x3279], NFD: [0x3279], NFKC: [0xD0C0], NFKD: [0x1110, 0x1161] }, -{ source: [0x327A], NFC: [0x327A], NFD: [0x327A], NFKC: [0xD30C], NFKD: [0x1111, 0x1161] }, -{ source: [0x327B], NFC: [0x327B], NFD: [0x327B], NFKC: [0xD558], NFKD: [0x1112, 0x1161] }, -{ source: [0x327C], NFC: [0x327C], NFD: [0x327C], NFKC: [0xCC38, 0xACE0], NFKD: [0x110E, 0x1161, 0x11B7, 0x1100, 0x1169] }, -{ source: [0x327D], NFC: [0x327D], NFD: [0x327D], NFKC: [0xC8FC, 0xC758], NFKD: [0x110C, 0x116E, 0x110B, 0x1174] }, -{ source: [0x327E], NFC: [0x327E], NFD: [0x327E], NFKC: [0xC6B0], NFKD: [0x110B, 0x116E] }, -{ source: [0x3280], NFC: [0x3280], NFD: [0x3280], NFKC: [0x4E00], NFKD: [0x4E00] }, -{ source: [0x3281], NFC: [0x3281], NFD: [0x3281], NFKC: [0x4E8C], NFKD: [0x4E8C] }, -{ source: [0x3282], NFC: [0x3282], NFD: [0x3282], NFKC: [0x4E09], NFKD: [0x4E09] }, -{ source: [0x3283], NFC: [0x3283], NFD: [0x3283], NFKC: [0x56DB], NFKD: [0x56DB] }, -{ source: [0x3284], NFC: [0x3284], NFD: [0x3284], NFKC: [0x4E94], NFKD: [0x4E94] }, -{ source: [0x3285], NFC: [0x3285], NFD: [0x3285], NFKC: [0x516D], NFKD: [0x516D] }, -{ source: [0x3286], NFC: [0x3286], NFD: [0x3286], NFKC: [0x4E03], NFKD: [0x4E03] }, -{ source: [0x3287], NFC: [0x3287], NFD: [0x3287], NFKC: [0x516B], NFKD: [0x516B] }, -{ source: [0x3288], NFC: [0x3288], NFD: [0x3288], NFKC: [0x4E5D], NFKD: [0x4E5D] }, -{ source: [0x3289], NFC: [0x3289], NFD: [0x3289], NFKC: [0x5341], NFKD: [0x5341] }, -{ source: [0x328A], NFC: [0x328A], NFD: [0x328A], NFKC: [0x6708], NFKD: [0x6708] }, -{ source: [0x328B], NFC: [0x328B], NFD: [0x328B], NFKC: [0x706B], NFKD: [0x706B] }, -{ source: [0x328C], NFC: [0x328C], NFD: [0x328C], NFKC: [0x6C34], NFKD: [0x6C34] }, -{ source: [0x328D], NFC: [0x328D], NFD: [0x328D], NFKC: [0x6728], NFKD: [0x6728] }, -{ source: [0x328E], NFC: [0x328E], NFD: [0x328E], NFKC: [0x91D1], NFKD: [0x91D1] }, -{ source: [0x328F], NFC: [0x328F], NFD: [0x328F], NFKC: [0x571F], NFKD: [0x571F] }, -{ source: [0x3290], NFC: [0x3290], NFD: [0x3290], NFKC: [0x65E5], NFKD: [0x65E5] }, -{ source: [0x3291], NFC: [0x3291], NFD: [0x3291], NFKC: [0x682A], NFKD: [0x682A] }, -{ source: [0x3292], NFC: [0x3292], NFD: [0x3292], NFKC: [0x6709], NFKD: [0x6709] }, -{ source: [0x3293], NFC: [0x3293], NFD: [0x3293], NFKC: [0x793E], NFKD: [0x793E] }, -{ source: [0x3294], NFC: [0x3294], NFD: [0x3294], NFKC: [0x540D], NFKD: [0x540D] }, -{ source: [0x3295], NFC: [0x3295], NFD: [0x3295], NFKC: [0x7279], NFKD: [0x7279] }, -{ source: [0x3296], NFC: [0x3296], NFD: [0x3296], NFKC: [0x8CA1], NFKD: [0x8CA1] }, -{ source: [0x3297], NFC: [0x3297], NFD: [0x3297], NFKC: [0x795D], NFKD: [0x795D] }, -{ source: [0x3298], NFC: [0x3298], NFD: [0x3298], NFKC: [0x52B4], NFKD: [0x52B4] }, -{ source: [0x3299], NFC: [0x3299], NFD: [0x3299], NFKC: [0x79D8], NFKD: [0x79D8] }, -{ source: [0x329A], NFC: [0x329A], NFD: [0x329A], NFKC: [0x7537], NFKD: [0x7537] }, -{ source: [0x329B], NFC: [0x329B], NFD: [0x329B], NFKC: [0x5973], NFKD: [0x5973] }, -{ source: [0x329C], NFC: [0x329C], NFD: [0x329C], NFKC: [0x9069], NFKD: [0x9069] }, -{ source: [0x329D], NFC: [0x329D], NFD: [0x329D], NFKC: [0x512A], NFKD: [0x512A] }, -{ source: [0x329E], NFC: [0x329E], NFD: [0x329E], NFKC: [0x5370], NFKD: [0x5370] }, -{ source: [0x329F], NFC: [0x329F], NFD: [0x329F], NFKC: [0x6CE8], NFKD: [0x6CE8] }, -{ source: [0x32A0], NFC: [0x32A0], NFD: [0x32A0], NFKC: [0x9805], NFKD: [0x9805] }, -{ source: [0x32A1], NFC: [0x32A1], NFD: [0x32A1], NFKC: [0x4F11], NFKD: [0x4F11] }, -{ source: [0x32A2], NFC: [0x32A2], NFD: [0x32A2], NFKC: [0x5199], NFKD: [0x5199] }, -{ source: [0x32A3], NFC: [0x32A3], NFD: [0x32A3], NFKC: [0x6B63], NFKD: [0x6B63] }, -{ source: [0x32A4], NFC: [0x32A4], NFD: [0x32A4], NFKC: [0x4E0A], NFKD: [0x4E0A] }, -{ source: [0x32A5], NFC: [0x32A5], NFD: [0x32A5], NFKC: [0x4E2D], NFKD: [0x4E2D] }, -{ source: [0x32A6], NFC: [0x32A6], NFD: [0x32A6], NFKC: [0x4E0B], NFKD: [0x4E0B] }, -{ source: [0x32A7], NFC: [0x32A7], NFD: [0x32A7], NFKC: [0x5DE6], NFKD: [0x5DE6] }, -{ source: [0x32A8], NFC: [0x32A8], NFD: [0x32A8], NFKC: [0x53F3], NFKD: [0x53F3] }, -{ source: [0x32A9], NFC: [0x32A9], NFD: [0x32A9], NFKC: [0x533B], NFKD: [0x533B] }, -{ source: [0x32AA], NFC: [0x32AA], NFD: [0x32AA], NFKC: [0x5B97], NFKD: [0x5B97] }, -{ source: [0x32AB], NFC: [0x32AB], NFD: [0x32AB], NFKC: [0x5B66], NFKD: [0x5B66] }, -{ source: [0x32AC], NFC: [0x32AC], NFD: [0x32AC], NFKC: [0x76E3], NFKD: [0x76E3] }, -{ source: [0x32AD], NFC: [0x32AD], NFD: [0x32AD], NFKC: [0x4F01], NFKD: [0x4F01] }, -{ source: [0x32AE], NFC: [0x32AE], NFD: [0x32AE], NFKC: [0x8CC7], NFKD: [0x8CC7] }, -{ source: [0x32AF], NFC: [0x32AF], NFD: [0x32AF], NFKC: [0x5354], NFKD: [0x5354] }, -{ source: [0x32B0], NFC: [0x32B0], NFD: [0x32B0], NFKC: [0x591C], NFKD: [0x591C] }, -{ source: [0x32B1], NFC: [0x32B1], NFD: [0x32B1], NFKC: [0x0033, 0x0036], NFKD: [0x0033, 0x0036] }, -{ source: [0x32B2], NFC: [0x32B2], NFD: [0x32B2], NFKC: [0x0033, 0x0037], NFKD: [0x0033, 0x0037] }, -{ source: [0x32B3], NFC: [0x32B3], NFD: [0x32B3], NFKC: [0x0033, 0x0038], NFKD: [0x0033, 0x0038] }, -{ source: [0x32B4], NFC: [0x32B4], NFD: [0x32B4], NFKC: [0x0033, 0x0039], NFKD: [0x0033, 0x0039] }, -{ source: [0x32B5], NFC: [0x32B5], NFD: [0x32B5], NFKC: [0x0034, 0x0030], NFKD: [0x0034, 0x0030] }, -{ source: [0x32B6], NFC: [0x32B6], NFD: [0x32B6], NFKC: [0x0034, 0x0031], NFKD: [0x0034, 0x0031] }, -{ source: [0x32B7], NFC: [0x32B7], NFD: [0x32B7], NFKC: [0x0034, 0x0032], NFKD: [0x0034, 0x0032] }, -{ source: [0x32B8], NFC: [0x32B8], NFD: [0x32B8], NFKC: [0x0034, 0x0033], NFKD: [0x0034, 0x0033] }, -{ source: [0x32B9], NFC: [0x32B9], NFD: [0x32B9], NFKC: [0x0034, 0x0034], NFKD: [0x0034, 0x0034] }, -{ source: [0x32BA], NFC: [0x32BA], NFD: [0x32BA], NFKC: [0x0034, 0x0035], NFKD: [0x0034, 0x0035] }, -{ source: [0x32BB], NFC: [0x32BB], NFD: [0x32BB], NFKC: [0x0034, 0x0036], NFKD: [0x0034, 0x0036] }, -{ source: [0x32BC], NFC: [0x32BC], NFD: [0x32BC], NFKC: [0x0034, 0x0037], NFKD: [0x0034, 0x0037] }, -{ source: [0x32BD], NFC: [0x32BD], NFD: [0x32BD], NFKC: [0x0034, 0x0038], NFKD: [0x0034, 0x0038] }, -{ source: [0x32BE], NFC: [0x32BE], NFD: [0x32BE], NFKC: [0x0034, 0x0039], NFKD: [0x0034, 0x0039] }, -{ source: [0x32BF], NFC: [0x32BF], NFD: [0x32BF], NFKC: [0x0035, 0x0030], NFKD: [0x0035, 0x0030] }, -{ source: [0x32C0], NFC: [0x32C0], NFD: [0x32C0], NFKC: [0x0031, 0x6708], NFKD: [0x0031, 0x6708] }, -{ source: [0x32C1], NFC: [0x32C1], NFD: [0x32C1], NFKC: [0x0032, 0x6708], NFKD: [0x0032, 0x6708] }, -{ source: [0x32C2], NFC: [0x32C2], NFD: [0x32C2], NFKC: [0x0033, 0x6708], NFKD: [0x0033, 0x6708] }, -{ source: [0x32C3], NFC: [0x32C3], NFD: [0x32C3], NFKC: [0x0034, 0x6708], NFKD: [0x0034, 0x6708] }, -{ source: [0x32C4], NFC: [0x32C4], NFD: [0x32C4], NFKC: [0x0035, 0x6708], NFKD: [0x0035, 0x6708] }, -{ source: [0x32C5], NFC: [0x32C5], NFD: [0x32C5], NFKC: [0x0036, 0x6708], NFKD: [0x0036, 0x6708] }, -{ source: [0x32C6], NFC: [0x32C6], NFD: [0x32C6], NFKC: [0x0037, 0x6708], NFKD: [0x0037, 0x6708] }, -{ source: [0x32C7], NFC: [0x32C7], NFD: [0x32C7], NFKC: [0x0038, 0x6708], NFKD: [0x0038, 0x6708] }, -{ source: [0x32C8], NFC: [0x32C8], NFD: [0x32C8], NFKC: [0x0039, 0x6708], NFKD: [0x0039, 0x6708] }, -{ source: [0x32C9], NFC: [0x32C9], NFD: [0x32C9], NFKC: [0x0031, 0x0030, 0x6708], NFKD: [0x0031, 0x0030, 0x6708] }, -{ source: [0x32CA], NFC: [0x32CA], NFD: [0x32CA], NFKC: [0x0031, 0x0031, 0x6708], NFKD: [0x0031, 0x0031, 0x6708] }, -{ source: [0x32CB], NFC: [0x32CB], NFD: [0x32CB], NFKC: [0x0031, 0x0032, 0x6708], NFKD: [0x0031, 0x0032, 0x6708] }, -{ source: [0x32CC], NFC: [0x32CC], NFD: [0x32CC], NFKC: [0x0048, 0x0067], NFKD: [0x0048, 0x0067] }, -{ source: [0x32CD], NFC: [0x32CD], NFD: [0x32CD], NFKC: [0x0065, 0x0072, 0x0067], NFKD: [0x0065, 0x0072, 0x0067] }, -{ source: [0x32CE], NFC: [0x32CE], NFD: [0x32CE], NFKC: [0x0065, 0x0056], NFKD: [0x0065, 0x0056] }, -{ source: [0x32CF], NFC: [0x32CF], NFD: [0x32CF], NFKC: [0x004C, 0x0054, 0x0044], NFKD: [0x004C, 0x0054, 0x0044] }, -{ source: [0x32D0], NFC: [0x32D0], NFD: [0x32D0], NFKC: [0x30A2], NFKD: [0x30A2] }, -{ source: [0x32D1], NFC: [0x32D1], NFD: [0x32D1], NFKC: [0x30A4], NFKD: [0x30A4] }, -{ source: [0x32D2], NFC: [0x32D2], NFD: [0x32D2], NFKC: [0x30A6], NFKD: [0x30A6] }, -{ source: [0x32D3], NFC: [0x32D3], NFD: [0x32D3], NFKC: [0x30A8], NFKD: [0x30A8] }, -{ source: [0x32D4], NFC: [0x32D4], NFD: [0x32D4], NFKC: [0x30AA], NFKD: [0x30AA] }, -{ source: [0x32D5], NFC: [0x32D5], NFD: [0x32D5], NFKC: [0x30AB], NFKD: [0x30AB] }, -{ source: [0x32D6], NFC: [0x32D6], NFD: [0x32D6], NFKC: [0x30AD], NFKD: [0x30AD] }, -{ source: [0x32D7], NFC: [0x32D7], NFD: [0x32D7], NFKC: [0x30AF], NFKD: [0x30AF] }, -{ source: [0x32D8], NFC: [0x32D8], NFD: [0x32D8], NFKC: [0x30B1], NFKD: [0x30B1] }, -{ source: [0x32D9], NFC: [0x32D9], NFD: [0x32D9], NFKC: [0x30B3], NFKD: [0x30B3] }, -{ source: [0x32DA], NFC: [0x32DA], NFD: [0x32DA], NFKC: [0x30B5], NFKD: [0x30B5] }, -{ source: [0x32DB], NFC: [0x32DB], NFD: [0x32DB], NFKC: [0x30B7], NFKD: [0x30B7] }, -{ source: [0x32DC], NFC: [0x32DC], NFD: [0x32DC], NFKC: [0x30B9], NFKD: [0x30B9] }, -{ source: [0x32DD], NFC: [0x32DD], NFD: [0x32DD], NFKC: [0x30BB], NFKD: [0x30BB] }, -{ source: [0x32DE], NFC: [0x32DE], NFD: [0x32DE], NFKC: [0x30BD], NFKD: [0x30BD] }, -{ source: [0x32DF], NFC: [0x32DF], NFD: [0x32DF], NFKC: [0x30BF], NFKD: [0x30BF] }, -{ source: [0x32E0], NFC: [0x32E0], NFD: [0x32E0], NFKC: [0x30C1], NFKD: [0x30C1] }, -{ source: [0x32E1], NFC: [0x32E1], NFD: [0x32E1], NFKC: [0x30C4], NFKD: [0x30C4] }, -{ source: [0x32E2], NFC: [0x32E2], NFD: [0x32E2], NFKC: [0x30C6], NFKD: [0x30C6] }, -{ source: [0x32E3], NFC: [0x32E3], NFD: [0x32E3], NFKC: [0x30C8], NFKD: [0x30C8] }, -{ source: [0x32E4], NFC: [0x32E4], NFD: [0x32E4], NFKC: [0x30CA], NFKD: [0x30CA] }, -{ source: [0x32E5], NFC: [0x32E5], NFD: [0x32E5], NFKC: [0x30CB], NFKD: [0x30CB] }, -{ source: [0x32E6], NFC: [0x32E6], NFD: [0x32E6], NFKC: [0x30CC], NFKD: [0x30CC] }, -{ source: [0x32E7], NFC: [0x32E7], NFD: [0x32E7], NFKC: [0x30CD], NFKD: [0x30CD] }, -{ source: [0x32E8], NFC: [0x32E8], NFD: [0x32E8], NFKC: [0x30CE], NFKD: [0x30CE] }, -{ source: [0x32E9], NFC: [0x32E9], NFD: [0x32E9], NFKC: [0x30CF], NFKD: [0x30CF] }, -{ source: [0x32EA], NFC: [0x32EA], NFD: [0x32EA], NFKC: [0x30D2], NFKD: [0x30D2] }, -{ source: [0x32EB], NFC: [0x32EB], NFD: [0x32EB], NFKC: [0x30D5], NFKD: [0x30D5] }, -{ source: [0x32EC], NFC: [0x32EC], NFD: [0x32EC], NFKC: [0x30D8], NFKD: [0x30D8] }, -{ source: [0x32ED], NFC: [0x32ED], NFD: [0x32ED], NFKC: [0x30DB], NFKD: [0x30DB] }, -{ source: [0x32EE], NFC: [0x32EE], NFD: [0x32EE], NFKC: [0x30DE], NFKD: [0x30DE] }, -{ source: [0x32EF], NFC: [0x32EF], NFD: [0x32EF], NFKC: [0x30DF], NFKD: [0x30DF] }, -{ source: [0x32F0], NFC: [0x32F0], NFD: [0x32F0], NFKC: [0x30E0], NFKD: [0x30E0] }, -{ source: [0x32F1], NFC: [0x32F1], NFD: [0x32F1], NFKC: [0x30E1], NFKD: [0x30E1] }, -{ source: [0x32F2], NFC: [0x32F2], NFD: [0x32F2], NFKC: [0x30E2], NFKD: [0x30E2] }, -{ source: [0x32F3], NFC: [0x32F3], NFD: [0x32F3], NFKC: [0x30E4], NFKD: [0x30E4] }, -{ source: [0x32F4], NFC: [0x32F4], NFD: [0x32F4], NFKC: [0x30E6], NFKD: [0x30E6] }, -{ source: [0x32F5], NFC: [0x32F5], NFD: [0x32F5], NFKC: [0x30E8], NFKD: [0x30E8] }, -{ source: [0x32F6], NFC: [0x32F6], NFD: [0x32F6], NFKC: [0x30E9], NFKD: [0x30E9] }, -{ source: [0x32F7], NFC: [0x32F7], NFD: [0x32F7], NFKC: [0x30EA], NFKD: [0x30EA] }, -{ source: [0x32F8], NFC: [0x32F8], NFD: [0x32F8], NFKC: [0x30EB], NFKD: [0x30EB] }, -{ source: [0x32F9], NFC: [0x32F9], NFD: [0x32F9], NFKC: [0x30EC], NFKD: [0x30EC] }, -{ source: [0x32FA], NFC: [0x32FA], NFD: [0x32FA], NFKC: [0x30ED], NFKD: [0x30ED] }, -{ source: [0x32FB], NFC: [0x32FB], NFD: [0x32FB], NFKC: [0x30EF], NFKD: [0x30EF] }, -{ source: [0x32FC], NFC: [0x32FC], NFD: [0x32FC], NFKC: [0x30F0], NFKD: [0x30F0] }, -{ source: [0x32FD], NFC: [0x32FD], NFD: [0x32FD], NFKC: [0x30F1], NFKD: [0x30F1] }, -{ source: [0x32FE], NFC: [0x32FE], NFD: [0x32FE], NFKC: [0x30F2], NFKD: [0x30F2] }, -{ source: [0x32FF], NFC: [0x32FF], NFD: [0x32FF], NFKC: [0x4EE4, 0x548C], NFKD: [0x4EE4, 0x548C] }, -{ source: [0x3300], NFC: [0x3300], NFD: [0x3300], NFKC: [0x30A2, 0x30D1, 0x30FC, 0x30C8], NFKD: [0x30A2, 0x30CF, 0x309A, 0x30FC, 0x30C8] }, -{ source: [0x3301], NFC: [0x3301], NFD: [0x3301], NFKC: [0x30A2, 0x30EB, 0x30D5, 0x30A1], NFKD: [0x30A2, 0x30EB, 0x30D5, 0x30A1] }, -{ source: [0x3302], NFC: [0x3302], NFD: [0x3302], NFKC: [0x30A2, 0x30F3, 0x30DA, 0x30A2], NFKD: [0x30A2, 0x30F3, 0x30D8, 0x309A, 0x30A2] }, -{ source: [0x3303], NFC: [0x3303], NFD: [0x3303], NFKC: [0x30A2, 0x30FC, 0x30EB], NFKD: [0x30A2, 0x30FC, 0x30EB] }, -{ source: [0x3304], NFC: [0x3304], NFD: [0x3304], NFKC: [0x30A4, 0x30CB, 0x30F3, 0x30B0], NFKD: [0x30A4, 0x30CB, 0x30F3, 0x30AF, 0x3099] }, -{ source: [0x3305], NFC: [0x3305], NFD: [0x3305], NFKC: [0x30A4, 0x30F3, 0x30C1], NFKD: [0x30A4, 0x30F3, 0x30C1] }, -{ source: [0x3306], NFC: [0x3306], NFD: [0x3306], NFKC: [0x30A6, 0x30A9, 0x30F3], NFKD: [0x30A6, 0x30A9, 0x30F3] }, -{ source: [0x3307], NFC: [0x3307], NFD: [0x3307], NFKC: [0x30A8, 0x30B9, 0x30AF, 0x30FC, 0x30C9], NFKD: [0x30A8, 0x30B9, 0x30AF, 0x30FC, 0x30C8, 0x3099] }, -{ source: [0x3308], NFC: [0x3308], NFD: [0x3308], NFKC: [0x30A8, 0x30FC, 0x30AB, 0x30FC], NFKD: [0x30A8, 0x30FC, 0x30AB, 0x30FC] }, -{ source: [0x3309], NFC: [0x3309], NFD: [0x3309], NFKC: [0x30AA, 0x30F3, 0x30B9], NFKD: [0x30AA, 0x30F3, 0x30B9] }, -{ source: [0x330A], NFC: [0x330A], NFD: [0x330A], NFKC: [0x30AA, 0x30FC, 0x30E0], NFKD: [0x30AA, 0x30FC, 0x30E0] }, -{ source: [0x330B], NFC: [0x330B], NFD: [0x330B], NFKC: [0x30AB, 0x30A4, 0x30EA], NFKD: [0x30AB, 0x30A4, 0x30EA] }, -{ source: [0x330C], NFC: [0x330C], NFD: [0x330C], NFKC: [0x30AB, 0x30E9, 0x30C3, 0x30C8], NFKD: [0x30AB, 0x30E9, 0x30C3, 0x30C8] }, -{ source: [0x330D], NFC: [0x330D], NFD: [0x330D], NFKC: [0x30AB, 0x30ED, 0x30EA, 0x30FC], NFKD: [0x30AB, 0x30ED, 0x30EA, 0x30FC] }, -{ source: [0x330E], NFC: [0x330E], NFD: [0x330E], NFKC: [0x30AC, 0x30ED, 0x30F3], NFKD: [0x30AB, 0x3099, 0x30ED, 0x30F3] }, -{ source: [0x330F], NFC: [0x330F], NFD: [0x330F], NFKC: [0x30AC, 0x30F3, 0x30DE], NFKD: [0x30AB, 0x3099, 0x30F3, 0x30DE] }, -{ source: [0x3310], NFC: [0x3310], NFD: [0x3310], NFKC: [0x30AE, 0x30AC], NFKD: [0x30AD, 0x3099, 0x30AB, 0x3099] }, -{ source: [0x3311], NFC: [0x3311], NFD: [0x3311], NFKC: [0x30AE, 0x30CB, 0x30FC], NFKD: [0x30AD, 0x3099, 0x30CB, 0x30FC] }, -{ source: [0x3312], NFC: [0x3312], NFD: [0x3312], NFKC: [0x30AD, 0x30E5, 0x30EA, 0x30FC], NFKD: [0x30AD, 0x30E5, 0x30EA, 0x30FC] }, -{ source: [0x3313], NFC: [0x3313], NFD: [0x3313], NFKC: [0x30AE, 0x30EB, 0x30C0, 0x30FC], NFKD: [0x30AD, 0x3099, 0x30EB, 0x30BF, 0x3099, 0x30FC] }, -{ source: [0x3314], NFC: [0x3314], NFD: [0x3314], NFKC: [0x30AD, 0x30ED], NFKD: [0x30AD, 0x30ED] }, -{ source: [0x3315], NFC: [0x3315], NFD: [0x3315], NFKC: [0x30AD, 0x30ED, 0x30B0, 0x30E9, 0x30E0], NFKD: [0x30AD, 0x30ED, 0x30AF, 0x3099, 0x30E9, 0x30E0] }, -{ source: [0x3316], NFC: [0x3316], NFD: [0x3316], NFKC: [0x30AD, 0x30ED, 0x30E1, 0x30FC, 0x30C8, 0x30EB], NFKD: [0x30AD, 0x30ED, 0x30E1, 0x30FC, 0x30C8, 0x30EB] }, -{ source: [0x3317], NFC: [0x3317], NFD: [0x3317], NFKC: [0x30AD, 0x30ED, 0x30EF, 0x30C3, 0x30C8], NFKD: [0x30AD, 0x30ED, 0x30EF, 0x30C3, 0x30C8] }, -{ source: [0x3318], NFC: [0x3318], NFD: [0x3318], NFKC: [0x30B0, 0x30E9, 0x30E0], NFKD: [0x30AF, 0x3099, 0x30E9, 0x30E0] }, -{ source: [0x3319], NFC: [0x3319], NFD: [0x3319], NFKC: [0x30B0, 0x30E9, 0x30E0, 0x30C8, 0x30F3], NFKD: [0x30AF, 0x3099, 0x30E9, 0x30E0, 0x30C8, 0x30F3] }, -{ source: [0x331A], NFC: [0x331A], NFD: [0x331A], NFKC: [0x30AF, 0x30EB, 0x30BC, 0x30A4, 0x30ED], NFKD: [0x30AF, 0x30EB, 0x30BB, 0x3099, 0x30A4, 0x30ED] }, -{ source: [0x331B], NFC: [0x331B], NFD: [0x331B], NFKC: [0x30AF, 0x30ED, 0x30FC, 0x30CD], NFKD: [0x30AF, 0x30ED, 0x30FC, 0x30CD] }, -{ source: [0x331C], NFC: [0x331C], NFD: [0x331C], NFKC: [0x30B1, 0x30FC, 0x30B9], NFKD: [0x30B1, 0x30FC, 0x30B9] }, -{ source: [0x331D], NFC: [0x331D], NFD: [0x331D], NFKC: [0x30B3, 0x30EB, 0x30CA], NFKD: [0x30B3, 0x30EB, 0x30CA] }, -{ source: [0x331E], NFC: [0x331E], NFD: [0x331E], NFKC: [0x30B3, 0x30FC, 0x30DD], NFKD: [0x30B3, 0x30FC, 0x30DB, 0x309A] }, -{ source: [0x331F], NFC: [0x331F], NFD: [0x331F], NFKC: [0x30B5, 0x30A4, 0x30AF, 0x30EB], NFKD: [0x30B5, 0x30A4, 0x30AF, 0x30EB] }, -{ source: [0x3320], NFC: [0x3320], NFD: [0x3320], NFKC: [0x30B5, 0x30F3, 0x30C1, 0x30FC, 0x30E0], NFKD: [0x30B5, 0x30F3, 0x30C1, 0x30FC, 0x30E0] }, -{ source: [0x3321], NFC: [0x3321], NFD: [0x3321], NFKC: [0x30B7, 0x30EA, 0x30F3, 0x30B0], NFKD: [0x30B7, 0x30EA, 0x30F3, 0x30AF, 0x3099] }, -{ source: [0x3322], NFC: [0x3322], NFD: [0x3322], NFKC: [0x30BB, 0x30F3, 0x30C1], NFKD: [0x30BB, 0x30F3, 0x30C1] }, -{ source: [0x3323], NFC: [0x3323], NFD: [0x3323], NFKC: [0x30BB, 0x30F3, 0x30C8], NFKD: [0x30BB, 0x30F3, 0x30C8] }, -{ source: [0x3324], NFC: [0x3324], NFD: [0x3324], NFKC: [0x30C0, 0x30FC, 0x30B9], NFKD: [0x30BF, 0x3099, 0x30FC, 0x30B9] }, -{ source: [0x3325], NFC: [0x3325], NFD: [0x3325], NFKC: [0x30C7, 0x30B7], NFKD: [0x30C6, 0x3099, 0x30B7] }, -{ source: [0x3326], NFC: [0x3326], NFD: [0x3326], NFKC: [0x30C9, 0x30EB], NFKD: [0x30C8, 0x3099, 0x30EB] }, -{ source: [0x3327], NFC: [0x3327], NFD: [0x3327], NFKC: [0x30C8, 0x30F3], NFKD: [0x30C8, 0x30F3] }, -{ source: [0x3328], NFC: [0x3328], NFD: [0x3328], NFKC: [0x30CA, 0x30CE], NFKD: [0x30CA, 0x30CE] }, -{ source: [0x3329], NFC: [0x3329], NFD: [0x3329], NFKC: [0x30CE, 0x30C3, 0x30C8], NFKD: [0x30CE, 0x30C3, 0x30C8] }, -{ source: [0x332A], NFC: [0x332A], NFD: [0x332A], NFKC: [0x30CF, 0x30A4, 0x30C4], NFKD: [0x30CF, 0x30A4, 0x30C4] }, -{ source: [0x332B], NFC: [0x332B], NFD: [0x332B], NFKC: [0x30D1, 0x30FC, 0x30BB, 0x30F3, 0x30C8], NFKD: [0x30CF, 0x309A, 0x30FC, 0x30BB, 0x30F3, 0x30C8] }, -{ source: [0x332C], NFC: [0x332C], NFD: [0x332C], NFKC: [0x30D1, 0x30FC, 0x30C4], NFKD: [0x30CF, 0x309A, 0x30FC, 0x30C4] }, -{ source: [0x332D], NFC: [0x332D], NFD: [0x332D], NFKC: [0x30D0, 0x30FC, 0x30EC, 0x30EB], NFKD: [0x30CF, 0x3099, 0x30FC, 0x30EC, 0x30EB] }, -{ source: [0x332E], NFC: [0x332E], NFD: [0x332E], NFKC: [0x30D4, 0x30A2, 0x30B9, 0x30C8, 0x30EB], NFKD: [0x30D2, 0x309A, 0x30A2, 0x30B9, 0x30C8, 0x30EB] }, -{ source: [0x332F], NFC: [0x332F], NFD: [0x332F], NFKC: [0x30D4, 0x30AF, 0x30EB], NFKD: [0x30D2, 0x309A, 0x30AF, 0x30EB] }, -{ source: [0x3330], NFC: [0x3330], NFD: [0x3330], NFKC: [0x30D4, 0x30B3], NFKD: [0x30D2, 0x309A, 0x30B3] }, -{ source: [0x3331], NFC: [0x3331], NFD: [0x3331], NFKC: [0x30D3, 0x30EB], NFKD: [0x30D2, 0x3099, 0x30EB] }, -{ source: [0x3332], NFC: [0x3332], NFD: [0x3332], NFKC: [0x30D5, 0x30A1, 0x30E9, 0x30C3, 0x30C9], NFKD: [0x30D5, 0x30A1, 0x30E9, 0x30C3, 0x30C8, 0x3099] }, -{ source: [0x3333], NFC: [0x3333], NFD: [0x3333], NFKC: [0x30D5, 0x30A3, 0x30FC, 0x30C8], NFKD: [0x30D5, 0x30A3, 0x30FC, 0x30C8] }, -{ source: [0x3334], NFC: [0x3334], NFD: [0x3334], NFKC: [0x30D6, 0x30C3, 0x30B7, 0x30A7, 0x30EB], NFKD: [0x30D5, 0x3099, 0x30C3, 0x30B7, 0x30A7, 0x30EB] }, -{ source: [0x3335], NFC: [0x3335], NFD: [0x3335], NFKC: [0x30D5, 0x30E9, 0x30F3], NFKD: [0x30D5, 0x30E9, 0x30F3] }, -{ source: [0x3336], NFC: [0x3336], NFD: [0x3336], NFKC: [0x30D8, 0x30AF, 0x30BF, 0x30FC, 0x30EB], NFKD: [0x30D8, 0x30AF, 0x30BF, 0x30FC, 0x30EB] }, -{ source: [0x3337], NFC: [0x3337], NFD: [0x3337], NFKC: [0x30DA, 0x30BD], NFKD: [0x30D8, 0x309A, 0x30BD] }, -{ source: [0x3338], NFC: [0x3338], NFD: [0x3338], NFKC: [0x30DA, 0x30CB, 0x30D2], NFKD: [0x30D8, 0x309A, 0x30CB, 0x30D2] }, -{ source: [0x3339], NFC: [0x3339], NFD: [0x3339], NFKC: [0x30D8, 0x30EB, 0x30C4], NFKD: [0x30D8, 0x30EB, 0x30C4] }, -{ source: [0x333A], NFC: [0x333A], NFD: [0x333A], NFKC: [0x30DA, 0x30F3, 0x30B9], NFKD: [0x30D8, 0x309A, 0x30F3, 0x30B9] }, -{ source: [0x333B], NFC: [0x333B], NFD: [0x333B], NFKC: [0x30DA, 0x30FC, 0x30B8], NFKD: [0x30D8, 0x309A, 0x30FC, 0x30B7, 0x3099] }, -{ source: [0x333C], NFC: [0x333C], NFD: [0x333C], NFKC: [0x30D9, 0x30FC, 0x30BF], NFKD: [0x30D8, 0x3099, 0x30FC, 0x30BF] }, -{ source: [0x333D], NFC: [0x333D], NFD: [0x333D], NFKC: [0x30DD, 0x30A4, 0x30F3, 0x30C8], NFKD: [0x30DB, 0x309A, 0x30A4, 0x30F3, 0x30C8] }, -{ source: [0x333E], NFC: [0x333E], NFD: [0x333E], NFKC: [0x30DC, 0x30EB, 0x30C8], NFKD: [0x30DB, 0x3099, 0x30EB, 0x30C8] }, -{ source: [0x333F], NFC: [0x333F], NFD: [0x333F], NFKC: [0x30DB, 0x30F3], NFKD: [0x30DB, 0x30F3] }, -{ source: [0x3340], NFC: [0x3340], NFD: [0x3340], NFKC: [0x30DD, 0x30F3, 0x30C9], NFKD: [0x30DB, 0x309A, 0x30F3, 0x30C8, 0x3099] }, -{ source: [0x3341], NFC: [0x3341], NFD: [0x3341], NFKC: [0x30DB, 0x30FC, 0x30EB], NFKD: [0x30DB, 0x30FC, 0x30EB] }, -{ source: [0x3342], NFC: [0x3342], NFD: [0x3342], NFKC: [0x30DB, 0x30FC, 0x30F3], NFKD: [0x30DB, 0x30FC, 0x30F3] }, -{ source: [0x3343], NFC: [0x3343], NFD: [0x3343], NFKC: [0x30DE, 0x30A4, 0x30AF, 0x30ED], NFKD: [0x30DE, 0x30A4, 0x30AF, 0x30ED] }, -{ source: [0x3344], NFC: [0x3344], NFD: [0x3344], NFKC: [0x30DE, 0x30A4, 0x30EB], NFKD: [0x30DE, 0x30A4, 0x30EB] }, -{ source: [0x3345], NFC: [0x3345], NFD: [0x3345], NFKC: [0x30DE, 0x30C3, 0x30CF], NFKD: [0x30DE, 0x30C3, 0x30CF] }, -{ source: [0x3346], NFC: [0x3346], NFD: [0x3346], NFKC: [0x30DE, 0x30EB, 0x30AF], NFKD: [0x30DE, 0x30EB, 0x30AF] }, -{ source: [0x3347], NFC: [0x3347], NFD: [0x3347], NFKC: [0x30DE, 0x30F3, 0x30B7, 0x30E7, 0x30F3], NFKD: [0x30DE, 0x30F3, 0x30B7, 0x30E7, 0x30F3] }, -{ source: [0x3348], NFC: [0x3348], NFD: [0x3348], NFKC: [0x30DF, 0x30AF, 0x30ED, 0x30F3], NFKD: [0x30DF, 0x30AF, 0x30ED, 0x30F3] }, -{ source: [0x3349], NFC: [0x3349], NFD: [0x3349], NFKC: [0x30DF, 0x30EA], NFKD: [0x30DF, 0x30EA] }, -{ source: [0x334A], NFC: [0x334A], NFD: [0x334A], NFKC: [0x30DF, 0x30EA, 0x30D0, 0x30FC, 0x30EB], NFKD: [0x30DF, 0x30EA, 0x30CF, 0x3099, 0x30FC, 0x30EB] }, -{ source: [0x334B], NFC: [0x334B], NFD: [0x334B], NFKC: [0x30E1, 0x30AC], NFKD: [0x30E1, 0x30AB, 0x3099] }, -{ source: [0x334C], NFC: [0x334C], NFD: [0x334C], NFKC: [0x30E1, 0x30AC, 0x30C8, 0x30F3], NFKD: [0x30E1, 0x30AB, 0x3099, 0x30C8, 0x30F3] }, -{ source: [0x334D], NFC: [0x334D], NFD: [0x334D], NFKC: [0x30E1, 0x30FC, 0x30C8, 0x30EB], NFKD: [0x30E1, 0x30FC, 0x30C8, 0x30EB] }, -{ source: [0x334E], NFC: [0x334E], NFD: [0x334E], NFKC: [0x30E4, 0x30FC, 0x30C9], NFKD: [0x30E4, 0x30FC, 0x30C8, 0x3099] }, -{ source: [0x334F], NFC: [0x334F], NFD: [0x334F], NFKC: [0x30E4, 0x30FC, 0x30EB], NFKD: [0x30E4, 0x30FC, 0x30EB] }, -{ source: [0x3350], NFC: [0x3350], NFD: [0x3350], NFKC: [0x30E6, 0x30A2, 0x30F3], NFKD: [0x30E6, 0x30A2, 0x30F3] }, -{ source: [0x3351], NFC: [0x3351], NFD: [0x3351], NFKC: [0x30EA, 0x30C3, 0x30C8, 0x30EB], NFKD: [0x30EA, 0x30C3, 0x30C8, 0x30EB] }, -{ source: [0x3352], NFC: [0x3352], NFD: [0x3352], NFKC: [0x30EA, 0x30E9], NFKD: [0x30EA, 0x30E9] }, -{ source: [0x3353], NFC: [0x3353], NFD: [0x3353], NFKC: [0x30EB, 0x30D4, 0x30FC], NFKD: [0x30EB, 0x30D2, 0x309A, 0x30FC] }, -{ source: [0x3354], NFC: [0x3354], NFD: [0x3354], NFKC: [0x30EB, 0x30FC, 0x30D6, 0x30EB], NFKD: [0x30EB, 0x30FC, 0x30D5, 0x3099, 0x30EB] }, -{ source: [0x3355], NFC: [0x3355], NFD: [0x3355], NFKC: [0x30EC, 0x30E0], NFKD: [0x30EC, 0x30E0] }, -{ source: [0x3356], NFC: [0x3356], NFD: [0x3356], NFKC: [0x30EC, 0x30F3, 0x30C8, 0x30B2, 0x30F3], NFKD: [0x30EC, 0x30F3, 0x30C8, 0x30B1, 0x3099, 0x30F3] }, -{ source: [0x3357], NFC: [0x3357], NFD: [0x3357], NFKC: [0x30EF, 0x30C3, 0x30C8], NFKD: [0x30EF, 0x30C3, 0x30C8] }, -{ source: [0x3358], NFC: [0x3358], NFD: [0x3358], NFKC: [0x0030, 0x70B9], NFKD: [0x0030, 0x70B9] }, -{ source: [0x3359], NFC: [0x3359], NFD: [0x3359], NFKC: [0x0031, 0x70B9], NFKD: [0x0031, 0x70B9] }, -{ source: [0x335A], NFC: [0x335A], NFD: [0x335A], NFKC: [0x0032, 0x70B9], NFKD: [0x0032, 0x70B9] }, -{ source: [0x335B], NFC: [0x335B], NFD: [0x335B], NFKC: [0x0033, 0x70B9], NFKD: [0x0033, 0x70B9] }, -{ source: [0x335C], NFC: [0x335C], NFD: [0x335C], NFKC: [0x0034, 0x70B9], NFKD: [0x0034, 0x70B9] }, -{ source: [0x335D], NFC: [0x335D], NFD: [0x335D], NFKC: [0x0035, 0x70B9], NFKD: [0x0035, 0x70B9] }, -{ source: [0x335E], NFC: [0x335E], NFD: [0x335E], NFKC: [0x0036, 0x70B9], NFKD: [0x0036, 0x70B9] }, -{ source: [0x335F], NFC: [0x335F], NFD: [0x335F], NFKC: [0x0037, 0x70B9], NFKD: [0x0037, 0x70B9] }, -{ source: [0x3360], NFC: [0x3360], NFD: [0x3360], NFKC: [0x0038, 0x70B9], NFKD: [0x0038, 0x70B9] }, -{ source: [0x3361], NFC: [0x3361], NFD: [0x3361], NFKC: [0x0039, 0x70B9], NFKD: [0x0039, 0x70B9] }, -{ source: [0x3362], NFC: [0x3362], NFD: [0x3362], NFKC: [0x0031, 0x0030, 0x70B9], NFKD: [0x0031, 0x0030, 0x70B9] }, -{ source: [0x3363], NFC: [0x3363], NFD: [0x3363], NFKC: [0x0031, 0x0031, 0x70B9], NFKD: [0x0031, 0x0031, 0x70B9] }, -{ source: [0x3364], NFC: [0x3364], NFD: [0x3364], NFKC: [0x0031, 0x0032, 0x70B9], NFKD: [0x0031, 0x0032, 0x70B9] }, -{ source: [0x3365], NFC: [0x3365], NFD: [0x3365], NFKC: [0x0031, 0x0033, 0x70B9], NFKD: [0x0031, 0x0033, 0x70B9] }, -{ source: [0x3366], NFC: [0x3366], NFD: [0x3366], NFKC: [0x0031, 0x0034, 0x70B9], NFKD: [0x0031, 0x0034, 0x70B9] }, -{ source: [0x3367], NFC: [0x3367], NFD: [0x3367], NFKC: [0x0031, 0x0035, 0x70B9], NFKD: [0x0031, 0x0035, 0x70B9] }, -{ source: [0x3368], NFC: [0x3368], NFD: [0x3368], NFKC: [0x0031, 0x0036, 0x70B9], NFKD: [0x0031, 0x0036, 0x70B9] }, -{ source: [0x3369], NFC: [0x3369], NFD: [0x3369], NFKC: [0x0031, 0x0037, 0x70B9], NFKD: [0x0031, 0x0037, 0x70B9] }, -{ source: [0x336A], NFC: [0x336A], NFD: [0x336A], NFKC: [0x0031, 0x0038, 0x70B9], NFKD: [0x0031, 0x0038, 0x70B9] }, -{ source: [0x336B], NFC: [0x336B], NFD: [0x336B], NFKC: [0x0031, 0x0039, 0x70B9], NFKD: [0x0031, 0x0039, 0x70B9] }, -{ source: [0x336C], NFC: [0x336C], NFD: [0x336C], NFKC: [0x0032, 0x0030, 0x70B9], NFKD: [0x0032, 0x0030, 0x70B9] }, -{ source: [0x336D], NFC: [0x336D], NFD: [0x336D], NFKC: [0x0032, 0x0031, 0x70B9], NFKD: [0x0032, 0x0031, 0x70B9] }, -{ source: [0x336E], NFC: [0x336E], NFD: [0x336E], NFKC: [0x0032, 0x0032, 0x70B9], NFKD: [0x0032, 0x0032, 0x70B9] }, -{ source: [0x336F], NFC: [0x336F], NFD: [0x336F], NFKC: [0x0032, 0x0033, 0x70B9], NFKD: [0x0032, 0x0033, 0x70B9] }, -{ source: [0x3370], NFC: [0x3370], NFD: [0x3370], NFKC: [0x0032, 0x0034, 0x70B9], NFKD: [0x0032, 0x0034, 0x70B9] }, -{ source: [0x3371], NFC: [0x3371], NFD: [0x3371], NFKC: [0x0068, 0x0050, 0x0061], NFKD: [0x0068, 0x0050, 0x0061] }, -{ source: [0x3372], NFC: [0x3372], NFD: [0x3372], NFKC: [0x0064, 0x0061], NFKD: [0x0064, 0x0061] }, -{ source: [0x3373], NFC: [0x3373], NFD: [0x3373], NFKC: [0x0041, 0x0055], NFKD: [0x0041, 0x0055] }, -{ source: [0x3374], NFC: [0x3374], NFD: [0x3374], NFKC: [0x0062, 0x0061, 0x0072], NFKD: [0x0062, 0x0061, 0x0072] }, -{ source: [0x3375], NFC: [0x3375], NFD: [0x3375], NFKC: [0x006F, 0x0056], NFKD: [0x006F, 0x0056] }, -{ source: [0x3376], NFC: [0x3376], NFD: [0x3376], NFKC: [0x0070, 0x0063], NFKD: [0x0070, 0x0063] }, -{ source: [0x3377], NFC: [0x3377], NFD: [0x3377], NFKC: [0x0064, 0x006D], NFKD: [0x0064, 0x006D] }, -{ source: [0x3378], NFC: [0x3378], NFD: [0x3378], NFKC: [0x0064, 0x006D, 0x0032], NFKD: [0x0064, 0x006D, 0x0032] }, -{ source: [0x3379], NFC: [0x3379], NFD: [0x3379], NFKC: [0x0064, 0x006D, 0x0033], NFKD: [0x0064, 0x006D, 0x0033] }, -{ source: [0x337A], NFC: [0x337A], NFD: [0x337A], NFKC: [0x0049, 0x0055], NFKD: [0x0049, 0x0055] }, -{ source: [0x337B], NFC: [0x337B], NFD: [0x337B], NFKC: [0x5E73, 0x6210], NFKD: [0x5E73, 0x6210] }, -{ source: [0x337C], NFC: [0x337C], NFD: [0x337C], NFKC: [0x662D, 0x548C], NFKD: [0x662D, 0x548C] }, -{ source: [0x337D], NFC: [0x337D], NFD: [0x337D], NFKC: [0x5927, 0x6B63], NFKD: [0x5927, 0x6B63] }, -{ source: [0x337E], NFC: [0x337E], NFD: [0x337E], NFKC: [0x660E, 0x6CBB], NFKD: [0x660E, 0x6CBB] }, -{ source: [0x337F], NFC: [0x337F], NFD: [0x337F], NFKC: [0x682A, 0x5F0F, 0x4F1A, 0x793E], NFKD: [0x682A, 0x5F0F, 0x4F1A, 0x793E] }, -{ source: [0x3380], NFC: [0x3380], NFD: [0x3380], NFKC: [0x0070, 0x0041], NFKD: [0x0070, 0x0041] }, -{ source: [0x3381], NFC: [0x3381], NFD: [0x3381], NFKC: [0x006E, 0x0041], NFKD: [0x006E, 0x0041] }, -{ source: [0x3382], NFC: [0x3382], NFD: [0x3382], NFKC: [0x03BC, 0x0041], NFKD: [0x03BC, 0x0041] }, -{ source: [0x3383], NFC: [0x3383], NFD: [0x3383], NFKC: [0x006D, 0x0041], NFKD: [0x006D, 0x0041] }, -{ source: [0x3384], NFC: [0x3384], NFD: [0x3384], NFKC: [0x006B, 0x0041], NFKD: [0x006B, 0x0041] }, -{ source: [0x3385], NFC: [0x3385], NFD: [0x3385], NFKC: [0x004B, 0x0042], NFKD: [0x004B, 0x0042] }, -{ source: [0x3386], NFC: [0x3386], NFD: [0x3386], NFKC: [0x004D, 0x0042], NFKD: [0x004D, 0x0042] }, -{ source: [0x3387], NFC: [0x3387], NFD: [0x3387], NFKC: [0x0047, 0x0042], NFKD: [0x0047, 0x0042] }, -{ source: [0x3388], NFC: [0x3388], NFD: [0x3388], NFKC: [0x0063, 0x0061, 0x006C], NFKD: [0x0063, 0x0061, 0x006C] }, -{ source: [0x3389], NFC: [0x3389], NFD: [0x3389], NFKC: [0x006B, 0x0063, 0x0061, 0x006C], NFKD: [0x006B, 0x0063, 0x0061, 0x006C] }, -{ source: [0x338A], NFC: [0x338A], NFD: [0x338A], NFKC: [0x0070, 0x0046], NFKD: [0x0070, 0x0046] }, -{ source: [0x338B], NFC: [0x338B], NFD: [0x338B], NFKC: [0x006E, 0x0046], NFKD: [0x006E, 0x0046] }, -{ source: [0x338C], NFC: [0x338C], NFD: [0x338C], NFKC: [0x03BC, 0x0046], NFKD: [0x03BC, 0x0046] }, -{ source: [0x338D], NFC: [0x338D], NFD: [0x338D], NFKC: [0x03BC, 0x0067], NFKD: [0x03BC, 0x0067] }, -{ source: [0x338E], NFC: [0x338E], NFD: [0x338E], NFKC: [0x006D, 0x0067], NFKD: [0x006D, 0x0067] }, -{ source: [0x338F], NFC: [0x338F], NFD: [0x338F], NFKC: [0x006B, 0x0067], NFKD: [0x006B, 0x0067] }, -{ source: [0x3390], NFC: [0x3390], NFD: [0x3390], NFKC: [0x0048, 0x007A], NFKD: [0x0048, 0x007A] }, -{ source: [0x3391], NFC: [0x3391], NFD: [0x3391], NFKC: [0x006B, 0x0048, 0x007A], NFKD: [0x006B, 0x0048, 0x007A] }, -{ source: [0x3392], NFC: [0x3392], NFD: [0x3392], NFKC: [0x004D, 0x0048, 0x007A], NFKD: [0x004D, 0x0048, 0x007A] }, -{ source: [0x3393], NFC: [0x3393], NFD: [0x3393], NFKC: [0x0047, 0x0048, 0x007A], NFKD: [0x0047, 0x0048, 0x007A] }, -{ source: [0x3394], NFC: [0x3394], NFD: [0x3394], NFKC: [0x0054, 0x0048, 0x007A], NFKD: [0x0054, 0x0048, 0x007A] }, -{ source: [0x3395], NFC: [0x3395], NFD: [0x3395], NFKC: [0x03BC, 0x006C], NFKD: [0x03BC, 0x006C] }, -{ source: [0x3396], NFC: [0x3396], NFD: [0x3396], NFKC: [0x006D, 0x006C], NFKD: [0x006D, 0x006C] }, -{ source: [0x3397], NFC: [0x3397], NFD: [0x3397], NFKC: [0x0064, 0x006C], NFKD: [0x0064, 0x006C] }, -{ source: [0x3398], NFC: [0x3398], NFD: [0x3398], NFKC: [0x006B, 0x006C], NFKD: [0x006B, 0x006C] }, -{ source: [0x3399], NFC: [0x3399], NFD: [0x3399], NFKC: [0x0066, 0x006D], NFKD: [0x0066, 0x006D] }, -{ source: [0x339A], NFC: [0x339A], NFD: [0x339A], NFKC: [0x006E, 0x006D], NFKD: [0x006E, 0x006D] }, -{ source: [0x339B], NFC: [0x339B], NFD: [0x339B], NFKC: [0x03BC, 0x006D], NFKD: [0x03BC, 0x006D] }, -{ source: [0x339C], NFC: [0x339C], NFD: [0x339C], NFKC: [0x006D, 0x006D], NFKD: [0x006D, 0x006D] }, -{ source: [0x339D], NFC: [0x339D], NFD: [0x339D], NFKC: [0x0063, 0x006D], NFKD: [0x0063, 0x006D] }, -{ source: [0x339E], NFC: [0x339E], NFD: [0x339E], NFKC: [0x006B, 0x006D], NFKD: [0x006B, 0x006D] }, -{ source: [0x339F], NFC: [0x339F], NFD: [0x339F], NFKC: [0x006D, 0x006D, 0x0032], NFKD: [0x006D, 0x006D, 0x0032] }, -{ source: [0x33A0], NFC: [0x33A0], NFD: [0x33A0], NFKC: [0x0063, 0x006D, 0x0032], NFKD: [0x0063, 0x006D, 0x0032] }, -{ source: [0x33A1], NFC: [0x33A1], NFD: [0x33A1], NFKC: [0x006D, 0x0032], NFKD: [0x006D, 0x0032] }, -{ source: [0x33A2], NFC: [0x33A2], NFD: [0x33A2], NFKC: [0x006B, 0x006D, 0x0032], NFKD: [0x006B, 0x006D, 0x0032] }, -{ source: [0x33A3], NFC: [0x33A3], NFD: [0x33A3], NFKC: [0x006D, 0x006D, 0x0033], NFKD: [0x006D, 0x006D, 0x0033] }, -{ source: [0x33A4], NFC: [0x33A4], NFD: [0x33A4], NFKC: [0x0063, 0x006D, 0x0033], NFKD: [0x0063, 0x006D, 0x0033] }, -{ source: [0x33A5], NFC: [0x33A5], NFD: [0x33A5], NFKC: [0x006D, 0x0033], NFKD: [0x006D, 0x0033] }, -{ source: [0x33A6], NFC: [0x33A6], NFD: [0x33A6], NFKC: [0x006B, 0x006D, 0x0033], NFKD: [0x006B, 0x006D, 0x0033] }, -{ source: [0x33A7], NFC: [0x33A7], NFD: [0x33A7], NFKC: [0x006D, 0x2215, 0x0073], NFKD: [0x006D, 0x2215, 0x0073] }, -{ source: [0x33A8], NFC: [0x33A8], NFD: [0x33A8], NFKC: [0x006D, 0x2215, 0x0073, 0x0032], NFKD: [0x006D, 0x2215, 0x0073, 0x0032] }, -{ source: [0x33A9], NFC: [0x33A9], NFD: [0x33A9], NFKC: [0x0050, 0x0061], NFKD: [0x0050, 0x0061] }, -{ source: [0x33AA], NFC: [0x33AA], NFD: [0x33AA], NFKC: [0x006B, 0x0050, 0x0061], NFKD: [0x006B, 0x0050, 0x0061] }, -{ source: [0x33AB], NFC: [0x33AB], NFD: [0x33AB], NFKC: [0x004D, 0x0050, 0x0061], NFKD: [0x004D, 0x0050, 0x0061] }, -{ source: [0x33AC], NFC: [0x33AC], NFD: [0x33AC], NFKC: [0x0047, 0x0050, 0x0061], NFKD: [0x0047, 0x0050, 0x0061] }, -{ source: [0x33AD], NFC: [0x33AD], NFD: [0x33AD], NFKC: [0x0072, 0x0061, 0x0064], NFKD: [0x0072, 0x0061, 0x0064] }, -{ source: [0x33AE], NFC: [0x33AE], NFD: [0x33AE], NFKC: [0x0072, 0x0061, 0x0064, 0x2215, 0x0073], NFKD: [0x0072, 0x0061, 0x0064, 0x2215, 0x0073] }, -{ source: [0x33AF], NFC: [0x33AF], NFD: [0x33AF], NFKC: [0x0072, 0x0061, 0x0064, 0x2215, 0x0073, 0x0032], NFKD: [0x0072, 0x0061, 0x0064, 0x2215, 0x0073, 0x0032] }, -{ source: [0x33B0], NFC: [0x33B0], NFD: [0x33B0], NFKC: [0x0070, 0x0073], NFKD: [0x0070, 0x0073] }, -{ source: [0x33B1], NFC: [0x33B1], NFD: [0x33B1], NFKC: [0x006E, 0x0073], NFKD: [0x006E, 0x0073] }, -{ source: [0x33B2], NFC: [0x33B2], NFD: [0x33B2], NFKC: [0x03BC, 0x0073], NFKD: [0x03BC, 0x0073] }, -{ source: [0x33B3], NFC: [0x33B3], NFD: [0x33B3], NFKC: [0x006D, 0x0073], NFKD: [0x006D, 0x0073] }, -{ source: [0x33B4], NFC: [0x33B4], NFD: [0x33B4], NFKC: [0x0070, 0x0056], NFKD: [0x0070, 0x0056] }, -{ source: [0x33B5], NFC: [0x33B5], NFD: [0x33B5], NFKC: [0x006E, 0x0056], NFKD: [0x006E, 0x0056] }, -{ source: [0x33B6], NFC: [0x33B6], NFD: [0x33B6], NFKC: [0x03BC, 0x0056], NFKD: [0x03BC, 0x0056] }, -{ source: [0x33B7], NFC: [0x33B7], NFD: [0x33B7], NFKC: [0x006D, 0x0056], NFKD: [0x006D, 0x0056] }, -{ source: [0x33B8], NFC: [0x33B8], NFD: [0x33B8], NFKC: [0x006B, 0x0056], NFKD: [0x006B, 0x0056] }, -{ source: [0x33B9], NFC: [0x33B9], NFD: [0x33B9], NFKC: [0x004D, 0x0056], NFKD: [0x004D, 0x0056] }, -{ source: [0x33BA], NFC: [0x33BA], NFD: [0x33BA], NFKC: [0x0070, 0x0057], NFKD: [0x0070, 0x0057] }, -{ source: [0x33BB], NFC: [0x33BB], NFD: [0x33BB], NFKC: [0x006E, 0x0057], NFKD: [0x006E, 0x0057] }, -{ source: [0x33BC], NFC: [0x33BC], NFD: [0x33BC], NFKC: [0x03BC, 0x0057], NFKD: [0x03BC, 0x0057] }, -{ source: [0x33BD], NFC: [0x33BD], NFD: [0x33BD], NFKC: [0x006D, 0x0057], NFKD: [0x006D, 0x0057] }, -{ source: [0x33BE], NFC: [0x33BE], NFD: [0x33BE], NFKC: [0x006B, 0x0057], NFKD: [0x006B, 0x0057] }, -{ source: [0x33BF], NFC: [0x33BF], NFD: [0x33BF], NFKC: [0x004D, 0x0057], NFKD: [0x004D, 0x0057] }, -{ source: [0x33C0], NFC: [0x33C0], NFD: [0x33C0], NFKC: [0x006B, 0x03A9], NFKD: [0x006B, 0x03A9] }, -{ source: [0x33C1], NFC: [0x33C1], NFD: [0x33C1], NFKC: [0x004D, 0x03A9], NFKD: [0x004D, 0x03A9] }, -{ source: [0x33C2], NFC: [0x33C2], NFD: [0x33C2], NFKC: [0x0061, 0x002E, 0x006D, 0x002E], NFKD: [0x0061, 0x002E, 0x006D, 0x002E] }, -{ source: [0x33C3], NFC: [0x33C3], NFD: [0x33C3], NFKC: [0x0042, 0x0071], NFKD: [0x0042, 0x0071] }, -{ source: [0x33C4], NFC: [0x33C4], NFD: [0x33C4], NFKC: [0x0063, 0x0063], NFKD: [0x0063, 0x0063] }, -{ source: [0x33C5], NFC: [0x33C5], NFD: [0x33C5], NFKC: [0x0063, 0x0064], NFKD: [0x0063, 0x0064] }, -{ source: [0x33C6], NFC: [0x33C6], NFD: [0x33C6], NFKC: [0x0043, 0x2215, 0x006B, 0x0067], NFKD: [0x0043, 0x2215, 0x006B, 0x0067] }, -{ source: [0x33C7], NFC: [0x33C7], NFD: [0x33C7], NFKC: [0x0043, 0x006F, 0x002E], NFKD: [0x0043, 0x006F, 0x002E] }, -{ source: [0x33C8], NFC: [0x33C8], NFD: [0x33C8], NFKC: [0x0064, 0x0042], NFKD: [0x0064, 0x0042] }, -{ source: [0x33C9], NFC: [0x33C9], NFD: [0x33C9], NFKC: [0x0047, 0x0079], NFKD: [0x0047, 0x0079] }, -{ source: [0x33CA], NFC: [0x33CA], NFD: [0x33CA], NFKC: [0x0068, 0x0061], NFKD: [0x0068, 0x0061] }, -{ source: [0x33CB], NFC: [0x33CB], NFD: [0x33CB], NFKC: [0x0048, 0x0050], NFKD: [0x0048, 0x0050] }, -{ source: [0x33CC], NFC: [0x33CC], NFD: [0x33CC], NFKC: [0x0069, 0x006E], NFKD: [0x0069, 0x006E] }, -{ source: [0x33CD], NFC: [0x33CD], NFD: [0x33CD], NFKC: [0x004B, 0x004B], NFKD: [0x004B, 0x004B] }, -{ source: [0x33CE], NFC: [0x33CE], NFD: [0x33CE], NFKC: [0x004B, 0x004D], NFKD: [0x004B, 0x004D] }, -{ source: [0x33CF], NFC: [0x33CF], NFD: [0x33CF], NFKC: [0x006B, 0x0074], NFKD: [0x006B, 0x0074] }, -{ source: [0x33D0], NFC: [0x33D0], NFD: [0x33D0], NFKC: [0x006C, 0x006D], NFKD: [0x006C, 0x006D] }, -{ source: [0x33D1], NFC: [0x33D1], NFD: [0x33D1], NFKC: [0x006C, 0x006E], NFKD: [0x006C, 0x006E] }, -{ source: [0x33D2], NFC: [0x33D2], NFD: [0x33D2], NFKC: [0x006C, 0x006F, 0x0067], NFKD: [0x006C, 0x006F, 0x0067] }, -{ source: [0x33D3], NFC: [0x33D3], NFD: [0x33D3], NFKC: [0x006C, 0x0078], NFKD: [0x006C, 0x0078] }, -{ source: [0x33D4], NFC: [0x33D4], NFD: [0x33D4], NFKC: [0x006D, 0x0062], NFKD: [0x006D, 0x0062] }, -{ source: [0x33D5], NFC: [0x33D5], NFD: [0x33D5], NFKC: [0x006D, 0x0069, 0x006C], NFKD: [0x006D, 0x0069, 0x006C] }, -{ source: [0x33D6], NFC: [0x33D6], NFD: [0x33D6], NFKC: [0x006D, 0x006F, 0x006C], NFKD: [0x006D, 0x006F, 0x006C] }, -{ source: [0x33D7], NFC: [0x33D7], NFD: [0x33D7], NFKC: [0x0050, 0x0048], NFKD: [0x0050, 0x0048] }, -{ source: [0x33D8], NFC: [0x33D8], NFD: [0x33D8], NFKC: [0x0070, 0x002E, 0x006D, 0x002E], NFKD: [0x0070, 0x002E, 0x006D, 0x002E] }, -{ source: [0x33D9], NFC: [0x33D9], NFD: [0x33D9], NFKC: [0x0050, 0x0050, 0x004D], NFKD: [0x0050, 0x0050, 0x004D] }, -{ source: [0x33DA], NFC: [0x33DA], NFD: [0x33DA], NFKC: [0x0050, 0x0052], NFKD: [0x0050, 0x0052] }, -{ source: [0x33DB], NFC: [0x33DB], NFD: [0x33DB], NFKC: [0x0073, 0x0072], NFKD: [0x0073, 0x0072] }, -{ source: [0x33DC], NFC: [0x33DC], NFD: [0x33DC], NFKC: [0x0053, 0x0076], NFKD: [0x0053, 0x0076] }, -{ source: [0x33DD], NFC: [0x33DD], NFD: [0x33DD], NFKC: [0x0057, 0x0062], NFKD: [0x0057, 0x0062] }, -{ source: [0x33DE], NFC: [0x33DE], NFD: [0x33DE], NFKC: [0x0056, 0x2215, 0x006D], NFKD: [0x0056, 0x2215, 0x006D] }, -{ source: [0x33DF], NFC: [0x33DF], NFD: [0x33DF], NFKC: [0x0041, 0x2215, 0x006D], NFKD: [0x0041, 0x2215, 0x006D] }, -{ source: [0x33E0], NFC: [0x33E0], NFD: [0x33E0], NFKC: [0x0031, 0x65E5], NFKD: [0x0031, 0x65E5] }, -{ source: [0x33E1], NFC: [0x33E1], NFD: [0x33E1], NFKC: [0x0032, 0x65E5], NFKD: [0x0032, 0x65E5] }, -{ source: [0x33E2], NFC: [0x33E2], NFD: [0x33E2], NFKC: [0x0033, 0x65E5], NFKD: [0x0033, 0x65E5] }, -{ source: [0x33E3], NFC: [0x33E3], NFD: [0x33E3], NFKC: [0x0034, 0x65E5], NFKD: [0x0034, 0x65E5] }, -{ source: [0x33E4], NFC: [0x33E4], NFD: [0x33E4], NFKC: [0x0035, 0x65E5], NFKD: [0x0035, 0x65E5] }, -{ source: [0x33E5], NFC: [0x33E5], NFD: [0x33E5], NFKC: [0x0036, 0x65E5], NFKD: [0x0036, 0x65E5] }, -{ source: [0x33E6], NFC: [0x33E6], NFD: [0x33E6], NFKC: [0x0037, 0x65E5], NFKD: [0x0037, 0x65E5] }, -{ source: [0x33E7], NFC: [0x33E7], NFD: [0x33E7], NFKC: [0x0038, 0x65E5], NFKD: [0x0038, 0x65E5] }, -{ source: [0x33E8], NFC: [0x33E8], NFD: [0x33E8], NFKC: [0x0039, 0x65E5], NFKD: [0x0039, 0x65E5] }, -{ source: [0x33E9], NFC: [0x33E9], NFD: [0x33E9], NFKC: [0x0031, 0x0030, 0x65E5], NFKD: [0x0031, 0x0030, 0x65E5] }, -{ source: [0x33EA], NFC: [0x33EA], NFD: [0x33EA], NFKC: [0x0031, 0x0031, 0x65E5], NFKD: [0x0031, 0x0031, 0x65E5] }, -{ source: [0x33EB], NFC: [0x33EB], NFD: [0x33EB], NFKC: [0x0031, 0x0032, 0x65E5], NFKD: [0x0031, 0x0032, 0x65E5] }, -{ source: [0x33EC], NFC: [0x33EC], NFD: [0x33EC], NFKC: [0x0031, 0x0033, 0x65E5], NFKD: [0x0031, 0x0033, 0x65E5] }, -{ source: [0x33ED], NFC: [0x33ED], NFD: [0x33ED], NFKC: [0x0031, 0x0034, 0x65E5], NFKD: [0x0031, 0x0034, 0x65E5] }, -{ source: [0x33EE], NFC: [0x33EE], NFD: [0x33EE], NFKC: [0x0031, 0x0035, 0x65E5], NFKD: [0x0031, 0x0035, 0x65E5] }, -{ source: [0x33EF], NFC: [0x33EF], NFD: [0x33EF], NFKC: [0x0031, 0x0036, 0x65E5], NFKD: [0x0031, 0x0036, 0x65E5] }, -{ source: [0x33F0], NFC: [0x33F0], NFD: [0x33F0], NFKC: [0x0031, 0x0037, 0x65E5], NFKD: [0x0031, 0x0037, 0x65E5] }, -{ source: [0x33F1], NFC: [0x33F1], NFD: [0x33F1], NFKC: [0x0031, 0x0038, 0x65E5], NFKD: [0x0031, 0x0038, 0x65E5] }, -{ source: [0x33F2], NFC: [0x33F2], NFD: [0x33F2], NFKC: [0x0031, 0x0039, 0x65E5], NFKD: [0x0031, 0x0039, 0x65E5] }, -{ source: [0x33F3], NFC: [0x33F3], NFD: [0x33F3], NFKC: [0x0032, 0x0030, 0x65E5], NFKD: [0x0032, 0x0030, 0x65E5] }, -{ source: [0x33F4], NFC: [0x33F4], NFD: [0x33F4], NFKC: [0x0032, 0x0031, 0x65E5], NFKD: [0x0032, 0x0031, 0x65E5] }, -{ source: [0x33F5], NFC: [0x33F5], NFD: [0x33F5], NFKC: [0x0032, 0x0032, 0x65E5], NFKD: [0x0032, 0x0032, 0x65E5] }, -{ source: [0x33F6], NFC: [0x33F6], NFD: [0x33F6], NFKC: [0x0032, 0x0033, 0x65E5], NFKD: [0x0032, 0x0033, 0x65E5] }, -{ source: [0x33F7], NFC: [0x33F7], NFD: [0x33F7], NFKC: [0x0032, 0x0034, 0x65E5], NFKD: [0x0032, 0x0034, 0x65E5] }, -{ source: [0x33F8], NFC: [0x33F8], NFD: [0x33F8], NFKC: [0x0032, 0x0035, 0x65E5], NFKD: [0x0032, 0x0035, 0x65E5] }, -{ source: [0x33F9], NFC: [0x33F9], NFD: [0x33F9], NFKC: [0x0032, 0x0036, 0x65E5], NFKD: [0x0032, 0x0036, 0x65E5] }, -{ source: [0x33FA], NFC: [0x33FA], NFD: [0x33FA], NFKC: [0x0032, 0x0037, 0x65E5], NFKD: [0x0032, 0x0037, 0x65E5] }, -{ source: [0x33FB], NFC: [0x33FB], NFD: [0x33FB], NFKC: [0x0032, 0x0038, 0x65E5], NFKD: [0x0032, 0x0038, 0x65E5] }, -{ source: [0x33FC], NFC: [0x33FC], NFD: [0x33FC], NFKC: [0x0032, 0x0039, 0x65E5], NFKD: [0x0032, 0x0039, 0x65E5] }, -{ source: [0x33FD], NFC: [0x33FD], NFD: [0x33FD], NFKC: [0x0033, 0x0030, 0x65E5], NFKD: [0x0033, 0x0030, 0x65E5] }, -{ source: [0x33FE], NFC: [0x33FE], NFD: [0x33FE], NFKC: [0x0033, 0x0031, 0x65E5], NFKD: [0x0033, 0x0031, 0x65E5] }, -{ source: [0x33FF], NFC: [0x33FF], NFD: [0x33FF], NFKC: [0x0067, 0x0061, 0x006C], NFKD: [0x0067, 0x0061, 0x006C] }, -{ source: [0xA69C], NFC: [0xA69C], NFD: [0xA69C], NFKC: [0x044A], NFKD: [0x044A] }, -{ source: [0xA69D], NFC: [0xA69D], NFD: [0xA69D], NFKC: [0x044C], NFKD: [0x044C] }, -{ source: [0xA770], NFC: [0xA770], NFD: [0xA770], NFKC: [0xA76F], NFKD: [0xA76F] }, -{ source: [0xA7F2], NFC: [0xA7F2], NFD: [0xA7F2], NFKC: [0x0043], NFKD: [0x0043] }, -{ source: [0xA7F3], NFC: [0xA7F3], NFD: [0xA7F3], NFKC: [0x0046], NFKD: [0x0046] }, -{ source: [0xA7F4], NFC: [0xA7F4], NFD: [0xA7F4], NFKC: [0x0051], NFKD: [0x0051] }, -{ source: [0xA7F8], NFC: [0xA7F8], NFD: [0xA7F8], NFKC: [0x0126], NFKD: [0x0126] }, -{ source: [0xA7F9], NFC: [0xA7F9], NFD: [0xA7F9], NFKC: [0x0153], NFKD: [0x0153] }, -{ source: [0xAB5C], NFC: [0xAB5C], NFD: [0xAB5C], NFKC: [0xA727], NFKD: [0xA727] }, -{ source: [0xAB5D], NFC: [0xAB5D], NFD: [0xAB5D], NFKC: [0xAB37], NFKD: [0xAB37] }, -{ source: [0xAB5E], NFC: [0xAB5E], NFD: [0xAB5E], NFKC: [0x026B], NFKD: [0x026B] }, -{ source: [0xAB5F], NFC: [0xAB5F], NFD: [0xAB5F], NFKC: [0xAB52], NFKD: [0xAB52] }, -{ source: [0xAB69], NFC: [0xAB69], NFD: [0xAB69], NFKC: [0x028D], NFKD: [0x028D] }, -{ source: [0xAC00], NFC: [0xAC00], NFD: [0x1100, 0x1161], NFKC: [0xAC00], NFKD: [0x1100, 0x1161] }, -{ source: [0xAC01], NFC: [0xAC01], NFD: [0x1100, 0x1161, 0x11A8], NFKC: [0xAC01], NFKD: [0x1100, 0x1161, 0x11A8] }, -{ source: [0xAC02], NFC: [0xAC02], NFD: [0x1100, 0x1161, 0x11A9], NFKC: [0xAC02], NFKD: [0x1100, 0x1161, 0x11A9] }, -{ source: [0xAC03], NFC: [0xAC03], NFD: [0x1100, 0x1161, 0x11AA], NFKC: [0xAC03], NFKD: [0x1100, 0x1161, 0x11AA] }, -{ source: [0xAC04], NFC: [0xAC04], NFD: [0x1100, 0x1161, 0x11AB], NFKC: [0xAC04], NFKD: [0x1100, 0x1161, 0x11AB] }, -{ source: [0xAC05], NFC: [0xAC05], NFD: [0x1100, 0x1161, 0x11AC], NFKC: [0xAC05], NFKD: [0x1100, 0x1161, 0x11AC] }, -{ source: [0xAC06], NFC: [0xAC06], NFD: [0x1100, 0x1161, 0x11AD], NFKC: [0xAC06], NFKD: [0x1100, 0x1161, 0x11AD] }, -{ source: [0xAC07], NFC: [0xAC07], NFD: [0x1100, 0x1161, 0x11AE], NFKC: [0xAC07], NFKD: [0x1100, 0x1161, 0x11AE] }, -{ source: [0xAC08], NFC: [0xAC08], NFD: [0x1100, 0x1161, 0x11AF], NFKC: [0xAC08], NFKD: [0x1100, 0x1161, 0x11AF] }, -{ source: [0xAC09], NFC: [0xAC09], NFD: [0x1100, 0x1161, 0x11B0], NFKC: [0xAC09], NFKD: [0x1100, 0x1161, 0x11B0] }, -{ source: [0xAC0A], NFC: [0xAC0A], NFD: [0x1100, 0x1161, 0x11B1], NFKC: [0xAC0A], NFKD: [0x1100, 0x1161, 0x11B1] }, -{ source: [0xAC0B], NFC: [0xAC0B], NFD: [0x1100, 0x1161, 0x11B2], NFKC: [0xAC0B], NFKD: [0x1100, 0x1161, 0x11B2] }, -{ source: [0xAC0C], NFC: [0xAC0C], NFD: [0x1100, 0x1161, 0x11B3], NFKC: [0xAC0C], NFKD: [0x1100, 0x1161, 0x11B3] }, -{ source: [0xAC0D], NFC: [0xAC0D], NFD: [0x1100, 0x1161, 0x11B4], NFKC: [0xAC0D], NFKD: [0x1100, 0x1161, 0x11B4] }, -{ source: [0xAC0E], NFC: [0xAC0E], NFD: [0x1100, 0x1161, 0x11B5], NFKC: [0xAC0E], NFKD: [0x1100, 0x1161, 0x11B5] }, -{ source: [0xAC0F], NFC: [0xAC0F], NFD: [0x1100, 0x1161, 0x11B6], NFKC: [0xAC0F], NFKD: [0x1100, 0x1161, 0x11B6] }, -{ source: [0xAC10], NFC: [0xAC10], NFD: [0x1100, 0x1161, 0x11B7], NFKC: [0xAC10], NFKD: [0x1100, 0x1161, 0x11B7] }, -{ source: [0xAC11], NFC: [0xAC11], NFD: [0x1100, 0x1161, 0x11B8], NFKC: [0xAC11], NFKD: [0x1100, 0x1161, 0x11B8] }, -{ source: [0xAC12], NFC: [0xAC12], NFD: [0x1100, 0x1161, 0x11B9], NFKC: [0xAC12], NFKD: [0x1100, 0x1161, 0x11B9] }, -{ source: [0xAC13], NFC: [0xAC13], NFD: [0x1100, 0x1161, 0x11BA], NFKC: [0xAC13], NFKD: [0x1100, 0x1161, 0x11BA] }, -{ source: [0xAC14], NFC: [0xAC14], NFD: [0x1100, 0x1161, 0x11BB], NFKC: [0xAC14], NFKD: [0x1100, 0x1161, 0x11BB] }, -{ source: [0xAC15], NFC: [0xAC15], NFD: [0x1100, 0x1161, 0x11BC], NFKC: [0xAC15], NFKD: [0x1100, 0x1161, 0x11BC] }, -{ source: [0xAC16], NFC: [0xAC16], NFD: [0x1100, 0x1161, 0x11BD], NFKC: [0xAC16], NFKD: [0x1100, 0x1161, 0x11BD] }, -{ source: [0xAC17], NFC: [0xAC17], NFD: [0x1100, 0x1161, 0x11BE], NFKC: [0xAC17], NFKD: [0x1100, 0x1161, 0x11BE] }, -{ source: [0xAC18], NFC: [0xAC18], NFD: [0x1100, 0x1161, 0x11BF], NFKC: [0xAC18], NFKD: [0x1100, 0x1161, 0x11BF] }, -{ source: [0xAC19], NFC: [0xAC19], NFD: [0x1100, 0x1161, 0x11C0], NFKC: [0xAC19], NFKD: [0x1100, 0x1161, 0x11C0] }, -{ source: [0xAC1A], NFC: [0xAC1A], NFD: [0x1100, 0x1161, 0x11C1], NFKC: [0xAC1A], NFKD: [0x1100, 0x1161, 0x11C1] }, -{ source: [0xAC1B], NFC: [0xAC1B], NFD: [0x1100, 0x1161, 0x11C2], NFKC: [0xAC1B], NFKD: [0x1100, 0x1161, 0x11C2] }, -{ source: [0xAC1C], NFC: [0xAC1C], NFD: [0x1100, 0x1162], NFKC: [0xAC1C], NFKD: [0x1100, 0x1162] }, -{ source: [0xAC1D], NFC: [0xAC1D], NFD: [0x1100, 0x1162, 0x11A8], NFKC: [0xAC1D], NFKD: [0x1100, 0x1162, 0x11A8] }, -{ source: [0xAC1E], NFC: [0xAC1E], NFD: [0x1100, 0x1162, 0x11A9], NFKC: [0xAC1E], NFKD: [0x1100, 0x1162, 0x11A9] }, -{ source: [0xAC1F], NFC: [0xAC1F], NFD: [0x1100, 0x1162, 0x11AA], NFKC: [0xAC1F], NFKD: [0x1100, 0x1162, 0x11AA] }, -{ source: [0xAC20], NFC: [0xAC20], NFD: [0x1100, 0x1162, 0x11AB], NFKC: [0xAC20], NFKD: [0x1100, 0x1162, 0x11AB] }, -{ source: [0xAC21], NFC: [0xAC21], NFD: [0x1100, 0x1162, 0x11AC], NFKC: [0xAC21], NFKD: [0x1100, 0x1162, 0x11AC] }, -{ source: [0xAC22], NFC: [0xAC22], NFD: [0x1100, 0x1162, 0x11AD], NFKC: [0xAC22], NFKD: [0x1100, 0x1162, 0x11AD] }, -{ source: [0xAC23], NFC: [0xAC23], NFD: [0x1100, 0x1162, 0x11AE], NFKC: [0xAC23], NFKD: [0x1100, 0x1162, 0x11AE] }, -{ source: [0xAC24], NFC: [0xAC24], NFD: [0x1100, 0x1162, 0x11AF], NFKC: [0xAC24], NFKD: [0x1100, 0x1162, 0x11AF] }, -{ source: [0xAC25], NFC: [0xAC25], NFD: [0x1100, 0x1162, 0x11B0], NFKC: [0xAC25], NFKD: [0x1100, 0x1162, 0x11B0] }, -{ source: [0xAC26], NFC: [0xAC26], NFD: [0x1100, 0x1162, 0x11B1], NFKC: [0xAC26], NFKD: [0x1100, 0x1162, 0x11B1] }, -{ source: [0xAC27], NFC: [0xAC27], NFD: [0x1100, 0x1162, 0x11B2], NFKC: [0xAC27], NFKD: [0x1100, 0x1162, 0x11B2] }, -{ source: [0xAC28], NFC: [0xAC28], NFD: [0x1100, 0x1162, 0x11B3], NFKC: [0xAC28], NFKD: [0x1100, 0x1162, 0x11B3] }, -{ source: [0xAC29], NFC: [0xAC29], NFD: [0x1100, 0x1162, 0x11B4], NFKC: [0xAC29], NFKD: [0x1100, 0x1162, 0x11B4] }, -{ source: [0xAC2A], NFC: [0xAC2A], NFD: [0x1100, 0x1162, 0x11B5], NFKC: [0xAC2A], NFKD: [0x1100, 0x1162, 0x11B5] }, -{ source: [0xAC2B], NFC: [0xAC2B], NFD: [0x1100, 0x1162, 0x11B6], NFKC: [0xAC2B], NFKD: [0x1100, 0x1162, 0x11B6] }, -{ source: [0xAC2C], NFC: [0xAC2C], NFD: [0x1100, 0x1162, 0x11B7], NFKC: [0xAC2C], NFKD: [0x1100, 0x1162, 0x11B7] }, -{ source: [0xAC2D], NFC: [0xAC2D], NFD: [0x1100, 0x1162, 0x11B8], NFKC: [0xAC2D], NFKD: [0x1100, 0x1162, 0x11B8] }, -{ source: [0xAC2E], NFC: [0xAC2E], NFD: [0x1100, 0x1162, 0x11B9], NFKC: [0xAC2E], NFKD: [0x1100, 0x1162, 0x11B9] }, -{ source: [0xAC2F], NFC: [0xAC2F], NFD: [0x1100, 0x1162, 0x11BA], NFKC: [0xAC2F], NFKD: [0x1100, 0x1162, 0x11BA] }, -{ source: [0xAC30], NFC: [0xAC30], NFD: [0x1100, 0x1162, 0x11BB], NFKC: [0xAC30], NFKD: [0x1100, 0x1162, 0x11BB] }, -{ source: [0xAC31], NFC: [0xAC31], NFD: [0x1100, 0x1162, 0x11BC], NFKC: [0xAC31], NFKD: [0x1100, 0x1162, 0x11BC] }, -{ source: [0xAC32], NFC: [0xAC32], NFD: [0x1100, 0x1162, 0x11BD], NFKC: [0xAC32], NFKD: [0x1100, 0x1162, 0x11BD] }, -{ source: [0xAC33], NFC: [0xAC33], NFD: [0x1100, 0x1162, 0x11BE], NFKC: [0xAC33], NFKD: [0x1100, 0x1162, 0x11BE] }, -{ source: [0xAC34], NFC: [0xAC34], NFD: [0x1100, 0x1162, 0x11BF], NFKC: [0xAC34], NFKD: [0x1100, 0x1162, 0x11BF] }, -{ source: [0xAC35], NFC: [0xAC35], NFD: [0x1100, 0x1162, 0x11C0], NFKC: [0xAC35], NFKD: [0x1100, 0x1162, 0x11C0] }, -{ source: [0xAC36], NFC: [0xAC36], NFD: [0x1100, 0x1162, 0x11C1], NFKC: [0xAC36], NFKD: [0x1100, 0x1162, 0x11C1] }, -{ source: [0xAC37], NFC: [0xAC37], NFD: [0x1100, 0x1162, 0x11C2], NFKC: [0xAC37], NFKD: [0x1100, 0x1162, 0x11C2] }, -{ source: [0xAC38], NFC: [0xAC38], NFD: [0x1100, 0x1163], NFKC: [0xAC38], NFKD: [0x1100, 0x1163] }, -{ source: [0xAC39], NFC: [0xAC39], NFD: [0x1100, 0x1163, 0x11A8], NFKC: [0xAC39], NFKD: [0x1100, 0x1163, 0x11A8] }, -{ source: [0xAC3A], NFC: [0xAC3A], NFD: [0x1100, 0x1163, 0x11A9], NFKC: [0xAC3A], NFKD: [0x1100, 0x1163, 0x11A9] }, -{ source: [0xAC3B], NFC: [0xAC3B], NFD: [0x1100, 0x1163, 0x11AA], NFKC: [0xAC3B], NFKD: [0x1100, 0x1163, 0x11AA] }, -{ source: [0xAC3C], NFC: [0xAC3C], NFD: [0x1100, 0x1163, 0x11AB], NFKC: [0xAC3C], NFKD: [0x1100, 0x1163, 0x11AB] }, -{ source: [0xAC3D], NFC: [0xAC3D], NFD: [0x1100, 0x1163, 0x11AC], NFKC: [0xAC3D], NFKD: [0x1100, 0x1163, 0x11AC] }, -{ source: [0xAC3E], NFC: [0xAC3E], NFD: [0x1100, 0x1163, 0x11AD], NFKC: [0xAC3E], NFKD: [0x1100, 0x1163, 0x11AD] }, -{ source: [0xAC3F], NFC: [0xAC3F], NFD: [0x1100, 0x1163, 0x11AE], NFKC: [0xAC3F], NFKD: [0x1100, 0x1163, 0x11AE] }, -{ source: [0xAC40], NFC: [0xAC40], NFD: [0x1100, 0x1163, 0x11AF], NFKC: [0xAC40], NFKD: [0x1100, 0x1163, 0x11AF] }, -{ source: [0xAC41], NFC: [0xAC41], NFD: [0x1100, 0x1163, 0x11B0], NFKC: [0xAC41], NFKD: [0x1100, 0x1163, 0x11B0] }, -{ source: [0xAC42], NFC: [0xAC42], NFD: [0x1100, 0x1163, 0x11B1], NFKC: [0xAC42], NFKD: [0x1100, 0x1163, 0x11B1] }, -{ source: [0xAC43], NFC: [0xAC43], NFD: [0x1100, 0x1163, 0x11B2], NFKC: [0xAC43], NFKD: [0x1100, 0x1163, 0x11B2] }, -{ source: [0xAC44], NFC: [0xAC44], NFD: [0x1100, 0x1163, 0x11B3], NFKC: [0xAC44], NFKD: [0x1100, 0x1163, 0x11B3] }, -{ source: [0xAC45], NFC: [0xAC45], NFD: [0x1100, 0x1163, 0x11B4], NFKC: [0xAC45], NFKD: [0x1100, 0x1163, 0x11B4] }, -{ source: [0xAC46], NFC: [0xAC46], NFD: [0x1100, 0x1163, 0x11B5], NFKC: [0xAC46], NFKD: [0x1100, 0x1163, 0x11B5] }, -{ source: [0xAC47], NFC: [0xAC47], NFD: [0x1100, 0x1163, 0x11B6], NFKC: [0xAC47], NFKD: [0x1100, 0x1163, 0x11B6] }, -{ source: [0xAC48], NFC: [0xAC48], NFD: [0x1100, 0x1163, 0x11B7], NFKC: [0xAC48], NFKD: [0x1100, 0x1163, 0x11B7] }, -{ source: [0xAC49], NFC: [0xAC49], NFD: [0x1100, 0x1163, 0x11B8], NFKC: [0xAC49], NFKD: [0x1100, 0x1163, 0x11B8] }, -{ source: [0xAC4A], NFC: [0xAC4A], NFD: [0x1100, 0x1163, 0x11B9], NFKC: [0xAC4A], NFKD: [0x1100, 0x1163, 0x11B9] }, -{ source: [0xAC4B], NFC: [0xAC4B], NFD: [0x1100, 0x1163, 0x11BA], NFKC: [0xAC4B], NFKD: [0x1100, 0x1163, 0x11BA] }, -{ source: [0xAC4C], NFC: [0xAC4C], NFD: [0x1100, 0x1163, 0x11BB], NFKC: [0xAC4C], NFKD: [0x1100, 0x1163, 0x11BB] }, -{ source: [0xAC4D], NFC: [0xAC4D], NFD: [0x1100, 0x1163, 0x11BC], NFKC: [0xAC4D], NFKD: [0x1100, 0x1163, 0x11BC] }, -{ source: [0xAC4E], NFC: [0xAC4E], NFD: [0x1100, 0x1163, 0x11BD], NFKC: [0xAC4E], NFKD: [0x1100, 0x1163, 0x11BD] }, -{ source: [0xAC4F], NFC: [0xAC4F], NFD: [0x1100, 0x1163, 0x11BE], NFKC: [0xAC4F], NFKD: [0x1100, 0x1163, 0x11BE] }, -{ source: [0xAC50], NFC: [0xAC50], NFD: [0x1100, 0x1163, 0x11BF], NFKC: [0xAC50], NFKD: [0x1100, 0x1163, 0x11BF] }, -{ source: [0xAC51], NFC: [0xAC51], NFD: [0x1100, 0x1163, 0x11C0], NFKC: [0xAC51], NFKD: [0x1100, 0x1163, 0x11C0] }, -{ source: [0xAC52], NFC: [0xAC52], NFD: [0x1100, 0x1163, 0x11C1], NFKC: [0xAC52], NFKD: [0x1100, 0x1163, 0x11C1] }, -{ source: [0xAC53], NFC: [0xAC53], NFD: [0x1100, 0x1163, 0x11C2], NFKC: [0xAC53], NFKD: [0x1100, 0x1163, 0x11C2] }, -{ source: [0xAC54], NFC: [0xAC54], NFD: [0x1100, 0x1164], NFKC: [0xAC54], NFKD: [0x1100, 0x1164] }, -{ source: [0xAC55], NFC: [0xAC55], NFD: [0x1100, 0x1164, 0x11A8], NFKC: [0xAC55], NFKD: [0x1100, 0x1164, 0x11A8] }, -{ source: [0xAC56], NFC: [0xAC56], NFD: [0x1100, 0x1164, 0x11A9], NFKC: [0xAC56], NFKD: [0x1100, 0x1164, 0x11A9] }, -{ source: [0xAC57], NFC: [0xAC57], NFD: [0x1100, 0x1164, 0x11AA], NFKC: [0xAC57], NFKD: [0x1100, 0x1164, 0x11AA] }, -{ source: [0xAC58], NFC: [0xAC58], NFD: [0x1100, 0x1164, 0x11AB], NFKC: [0xAC58], NFKD: [0x1100, 0x1164, 0x11AB] }, -{ source: [0xAC59], NFC: [0xAC59], NFD: [0x1100, 0x1164, 0x11AC], NFKC: [0xAC59], NFKD: [0x1100, 0x1164, 0x11AC] }, -{ source: [0xAC5A], NFC: [0xAC5A], NFD: [0x1100, 0x1164, 0x11AD], NFKC: [0xAC5A], NFKD: [0x1100, 0x1164, 0x11AD] }, -{ source: [0xAC5B], NFC: [0xAC5B], NFD: [0x1100, 0x1164, 0x11AE], NFKC: [0xAC5B], NFKD: [0x1100, 0x1164, 0x11AE] }, -{ source: [0xAC5C], NFC: [0xAC5C], NFD: [0x1100, 0x1164, 0x11AF], NFKC: [0xAC5C], NFKD: [0x1100, 0x1164, 0x11AF] }, -{ source: [0xAC5D], NFC: [0xAC5D], NFD: [0x1100, 0x1164, 0x11B0], NFKC: [0xAC5D], NFKD: [0x1100, 0x1164, 0x11B0] }, -{ source: [0xAC5E], NFC: [0xAC5E], NFD: [0x1100, 0x1164, 0x11B1], NFKC: [0xAC5E], NFKD: [0x1100, 0x1164, 0x11B1] }, -{ source: [0xAC5F], NFC: [0xAC5F], NFD: [0x1100, 0x1164, 0x11B2], NFKC: [0xAC5F], NFKD: [0x1100, 0x1164, 0x11B2] }, -{ source: [0xAC60], NFC: [0xAC60], NFD: [0x1100, 0x1164, 0x11B3], NFKC: [0xAC60], NFKD: [0x1100, 0x1164, 0x11B3] }, -{ source: [0xAC61], NFC: [0xAC61], NFD: [0x1100, 0x1164, 0x11B4], NFKC: [0xAC61], NFKD: [0x1100, 0x1164, 0x11B4] }, -{ source: [0xAC62], NFC: [0xAC62], NFD: [0x1100, 0x1164, 0x11B5], NFKC: [0xAC62], NFKD: [0x1100, 0x1164, 0x11B5] }, -{ source: [0xAC63], NFC: [0xAC63], NFD: [0x1100, 0x1164, 0x11B6], NFKC: [0xAC63], NFKD: [0x1100, 0x1164, 0x11B6] }, -{ source: [0xAC64], NFC: [0xAC64], NFD: [0x1100, 0x1164, 0x11B7], NFKC: [0xAC64], NFKD: [0x1100, 0x1164, 0x11B7] }, -{ source: [0xAC65], NFC: [0xAC65], NFD: [0x1100, 0x1164, 0x11B8], NFKC: [0xAC65], NFKD: [0x1100, 0x1164, 0x11B8] }, -{ source: [0xAC66], NFC: [0xAC66], NFD: [0x1100, 0x1164, 0x11B9], NFKC: [0xAC66], NFKD: [0x1100, 0x1164, 0x11B9] }, -{ source: [0xAC67], NFC: [0xAC67], NFD: [0x1100, 0x1164, 0x11BA], NFKC: [0xAC67], NFKD: [0x1100, 0x1164, 0x11BA] }, -{ source: [0xAC68], NFC: [0xAC68], NFD: [0x1100, 0x1164, 0x11BB], NFKC: [0xAC68], NFKD: [0x1100, 0x1164, 0x11BB] }, -{ source: [0xAC69], NFC: [0xAC69], NFD: [0x1100, 0x1164, 0x11BC], NFKC: [0xAC69], NFKD: [0x1100, 0x1164, 0x11BC] }, -{ source: [0xAC6A], NFC: [0xAC6A], NFD: [0x1100, 0x1164, 0x11BD], NFKC: [0xAC6A], NFKD: [0x1100, 0x1164, 0x11BD] }, -{ source: [0xAC6B], NFC: [0xAC6B], NFD: [0x1100, 0x1164, 0x11BE], NFKC: [0xAC6B], NFKD: [0x1100, 0x1164, 0x11BE] }, -{ source: [0xAC6C], NFC: [0xAC6C], NFD: [0x1100, 0x1164, 0x11BF], NFKC: [0xAC6C], NFKD: [0x1100, 0x1164, 0x11BF] }, -{ source: [0xAC6D], NFC: [0xAC6D], NFD: [0x1100, 0x1164, 0x11C0], NFKC: [0xAC6D], NFKD: [0x1100, 0x1164, 0x11C0] }, -{ source: [0xAC6E], NFC: [0xAC6E], NFD: [0x1100, 0x1164, 0x11C1], NFKC: [0xAC6E], NFKD: [0x1100, 0x1164, 0x11C1] }, -{ source: [0xAC6F], NFC: [0xAC6F], NFD: [0x1100, 0x1164, 0x11C2], NFKC: [0xAC6F], NFKD: [0x1100, 0x1164, 0x11C2] }, -{ source: [0xAC70], NFC: [0xAC70], NFD: [0x1100, 0x1165], NFKC: [0xAC70], NFKD: [0x1100, 0x1165] }, -{ source: [0xAC71], NFC: [0xAC71], NFD: [0x1100, 0x1165, 0x11A8], NFKC: [0xAC71], NFKD: [0x1100, 0x1165, 0x11A8] }, -{ source: [0xAC72], NFC: [0xAC72], NFD: [0x1100, 0x1165, 0x11A9], NFKC: [0xAC72], NFKD: [0x1100, 0x1165, 0x11A9] }, -{ source: [0xAC73], NFC: [0xAC73], NFD: [0x1100, 0x1165, 0x11AA], NFKC: [0xAC73], NFKD: [0x1100, 0x1165, 0x11AA] }, -{ source: [0xAC74], NFC: [0xAC74], NFD: [0x1100, 0x1165, 0x11AB], NFKC: [0xAC74], NFKD: [0x1100, 0x1165, 0x11AB] }, -{ source: [0xAC75], NFC: [0xAC75], NFD: [0x1100, 0x1165, 0x11AC], NFKC: [0xAC75], NFKD: [0x1100, 0x1165, 0x11AC] }, -{ source: [0xAC76], NFC: [0xAC76], NFD: [0x1100, 0x1165, 0x11AD], NFKC: [0xAC76], NFKD: [0x1100, 0x1165, 0x11AD] }, -{ source: [0xAC77], NFC: [0xAC77], NFD: [0x1100, 0x1165, 0x11AE], NFKC: [0xAC77], NFKD: [0x1100, 0x1165, 0x11AE] }, -{ source: [0xAC78], NFC: [0xAC78], NFD: [0x1100, 0x1165, 0x11AF], NFKC: [0xAC78], NFKD: [0x1100, 0x1165, 0x11AF] }, -{ source: [0xAC79], NFC: [0xAC79], NFD: [0x1100, 0x1165, 0x11B0], NFKC: [0xAC79], NFKD: [0x1100, 0x1165, 0x11B0] }, -{ source: [0xAC7A], NFC: [0xAC7A], NFD: [0x1100, 0x1165, 0x11B1], NFKC: [0xAC7A], NFKD: [0x1100, 0x1165, 0x11B1] }, -{ source: [0xAC7B], NFC: [0xAC7B], NFD: [0x1100, 0x1165, 0x11B2], NFKC: [0xAC7B], NFKD: [0x1100, 0x1165, 0x11B2] }, -{ source: [0xAC7C], NFC: [0xAC7C], NFD: [0x1100, 0x1165, 0x11B3], NFKC: [0xAC7C], NFKD: [0x1100, 0x1165, 0x11B3] }, -{ source: [0xAC7D], NFC: [0xAC7D], NFD: [0x1100, 0x1165, 0x11B4], NFKC: [0xAC7D], NFKD: [0x1100, 0x1165, 0x11B4] }, -{ source: [0xAC7E], NFC: [0xAC7E], NFD: [0x1100, 0x1165, 0x11B5], NFKC: [0xAC7E], NFKD: [0x1100, 0x1165, 0x11B5] }, -{ source: [0xAC7F], NFC: [0xAC7F], NFD: [0x1100, 0x1165, 0x11B6], NFKC: [0xAC7F], NFKD: [0x1100, 0x1165, 0x11B6] }, -{ source: [0xAC80], NFC: [0xAC80], NFD: [0x1100, 0x1165, 0x11B7], NFKC: [0xAC80], NFKD: [0x1100, 0x1165, 0x11B7] }, -{ source: [0xAC81], NFC: [0xAC81], NFD: [0x1100, 0x1165, 0x11B8], NFKC: [0xAC81], NFKD: [0x1100, 0x1165, 0x11B8] }, -{ source: [0xAC82], NFC: [0xAC82], NFD: [0x1100, 0x1165, 0x11B9], NFKC: [0xAC82], NFKD: [0x1100, 0x1165, 0x11B9] }, -{ source: [0xAC83], NFC: [0xAC83], NFD: [0x1100, 0x1165, 0x11BA], NFKC: [0xAC83], NFKD: [0x1100, 0x1165, 0x11BA] }, -{ source: [0xAC84], NFC: [0xAC84], NFD: [0x1100, 0x1165, 0x11BB], NFKC: [0xAC84], NFKD: [0x1100, 0x1165, 0x11BB] }, -{ source: [0xAC85], NFC: [0xAC85], NFD: [0x1100, 0x1165, 0x11BC], NFKC: [0xAC85], NFKD: [0x1100, 0x1165, 0x11BC] }, -{ source: [0xAC86], NFC: [0xAC86], NFD: [0x1100, 0x1165, 0x11BD], NFKC: [0xAC86], NFKD: [0x1100, 0x1165, 0x11BD] }, -{ source: [0xAC87], NFC: [0xAC87], NFD: [0x1100, 0x1165, 0x11BE], NFKC: [0xAC87], NFKD: [0x1100, 0x1165, 0x11BE] }, -{ source: [0xAC88], NFC: [0xAC88], NFD: [0x1100, 0x1165, 0x11BF], NFKC: [0xAC88], NFKD: [0x1100, 0x1165, 0x11BF] }, -{ source: [0xAC89], NFC: [0xAC89], NFD: [0x1100, 0x1165, 0x11C0], NFKC: [0xAC89], NFKD: [0x1100, 0x1165, 0x11C0] }, -{ source: [0xAC8A], NFC: [0xAC8A], NFD: [0x1100, 0x1165, 0x11C1], NFKC: [0xAC8A], NFKD: [0x1100, 0x1165, 0x11C1] }, -{ source: [0xAC8B], NFC: [0xAC8B], NFD: [0x1100, 0x1165, 0x11C2], NFKC: [0xAC8B], NFKD: [0x1100, 0x1165, 0x11C2] }, -{ source: [0xAC8C], NFC: [0xAC8C], NFD: [0x1100, 0x1166], NFKC: [0xAC8C], NFKD: [0x1100, 0x1166] }, -{ source: [0xAC8D], NFC: [0xAC8D], NFD: [0x1100, 0x1166, 0x11A8], NFKC: [0xAC8D], NFKD: [0x1100, 0x1166, 0x11A8] }, -{ source: [0xAC8E], NFC: [0xAC8E], NFD: [0x1100, 0x1166, 0x11A9], NFKC: [0xAC8E], NFKD: [0x1100, 0x1166, 0x11A9] }, -{ source: [0xAC8F], NFC: [0xAC8F], NFD: [0x1100, 0x1166, 0x11AA], NFKC: [0xAC8F], NFKD: [0x1100, 0x1166, 0x11AA] }, -{ source: [0xAC90], NFC: [0xAC90], NFD: [0x1100, 0x1166, 0x11AB], NFKC: [0xAC90], NFKD: [0x1100, 0x1166, 0x11AB] }, -{ source: [0xAC91], NFC: [0xAC91], NFD: [0x1100, 0x1166, 0x11AC], NFKC: [0xAC91], NFKD: [0x1100, 0x1166, 0x11AC] }, -{ source: [0xAC92], NFC: [0xAC92], NFD: [0x1100, 0x1166, 0x11AD], NFKC: [0xAC92], NFKD: [0x1100, 0x1166, 0x11AD] }, -{ source: [0xAC93], NFC: [0xAC93], NFD: [0x1100, 0x1166, 0x11AE], NFKC: [0xAC93], NFKD: [0x1100, 0x1166, 0x11AE] }, -{ source: [0xAC94], NFC: [0xAC94], NFD: [0x1100, 0x1166, 0x11AF], NFKC: [0xAC94], NFKD: [0x1100, 0x1166, 0x11AF] }, -{ source: [0xAC95], NFC: [0xAC95], NFD: [0x1100, 0x1166, 0x11B0], NFKC: [0xAC95], NFKD: [0x1100, 0x1166, 0x11B0] }, -{ source: [0xAC96], NFC: [0xAC96], NFD: [0x1100, 0x1166, 0x11B1], NFKC: [0xAC96], NFKD: [0x1100, 0x1166, 0x11B1] }, -{ source: [0xAC97], NFC: [0xAC97], NFD: [0x1100, 0x1166, 0x11B2], NFKC: [0xAC97], NFKD: [0x1100, 0x1166, 0x11B2] }, -{ source: [0xAC98], NFC: [0xAC98], NFD: [0x1100, 0x1166, 0x11B3], NFKC: [0xAC98], NFKD: [0x1100, 0x1166, 0x11B3] }, -{ source: [0xAC99], NFC: [0xAC99], NFD: [0x1100, 0x1166, 0x11B4], NFKC: [0xAC99], NFKD: [0x1100, 0x1166, 0x11B4] }, -{ source: [0xAC9A], NFC: [0xAC9A], NFD: [0x1100, 0x1166, 0x11B5], NFKC: [0xAC9A], NFKD: [0x1100, 0x1166, 0x11B5] }, -{ source: [0xAC9B], NFC: [0xAC9B], NFD: [0x1100, 0x1166, 0x11B6], NFKC: [0xAC9B], NFKD: [0x1100, 0x1166, 0x11B6] }, -{ source: [0xAC9C], NFC: [0xAC9C], NFD: [0x1100, 0x1166, 0x11B7], NFKC: [0xAC9C], NFKD: [0x1100, 0x1166, 0x11B7] }, -{ source: [0xAC9D], NFC: [0xAC9D], NFD: [0x1100, 0x1166, 0x11B8], NFKC: [0xAC9D], NFKD: [0x1100, 0x1166, 0x11B8] }, -{ source: [0xAC9E], NFC: [0xAC9E], NFD: [0x1100, 0x1166, 0x11B9], NFKC: [0xAC9E], NFKD: [0x1100, 0x1166, 0x11B9] }, -{ source: [0xAC9F], NFC: [0xAC9F], NFD: [0x1100, 0x1166, 0x11BA], NFKC: [0xAC9F], NFKD: [0x1100, 0x1166, 0x11BA] }, -{ source: [0xACA0], NFC: [0xACA0], NFD: [0x1100, 0x1166, 0x11BB], NFKC: [0xACA0], NFKD: [0x1100, 0x1166, 0x11BB] }, -{ source: [0xACA1], NFC: [0xACA1], NFD: [0x1100, 0x1166, 0x11BC], NFKC: [0xACA1], NFKD: [0x1100, 0x1166, 0x11BC] }, -{ source: [0xACA2], NFC: [0xACA2], NFD: [0x1100, 0x1166, 0x11BD], NFKC: [0xACA2], NFKD: [0x1100, 0x1166, 0x11BD] }, -{ source: [0xACA3], NFC: [0xACA3], NFD: [0x1100, 0x1166, 0x11BE], NFKC: [0xACA3], NFKD: [0x1100, 0x1166, 0x11BE] }, -{ source: [0xACA4], NFC: [0xACA4], NFD: [0x1100, 0x1166, 0x11BF], NFKC: [0xACA4], NFKD: [0x1100, 0x1166, 0x11BF] }, -{ source: [0xACA5], NFC: [0xACA5], NFD: [0x1100, 0x1166, 0x11C0], NFKC: [0xACA5], NFKD: [0x1100, 0x1166, 0x11C0] }, -{ source: [0xACA6], NFC: [0xACA6], NFD: [0x1100, 0x1166, 0x11C1], NFKC: [0xACA6], NFKD: [0x1100, 0x1166, 0x11C1] }, -{ source: [0xACA7], NFC: [0xACA7], NFD: [0x1100, 0x1166, 0x11C2], NFKC: [0xACA7], NFKD: [0x1100, 0x1166, 0x11C2] }, -{ source: [0xACA8], NFC: [0xACA8], NFD: [0x1100, 0x1167], NFKC: [0xACA8], NFKD: [0x1100, 0x1167] }, -{ source: [0xACA9], NFC: [0xACA9], NFD: [0x1100, 0x1167, 0x11A8], NFKC: [0xACA9], NFKD: [0x1100, 0x1167, 0x11A8] }, -{ source: [0xACAA], NFC: [0xACAA], NFD: [0x1100, 0x1167, 0x11A9], NFKC: [0xACAA], NFKD: [0x1100, 0x1167, 0x11A9] }, -{ source: [0xACAB], NFC: [0xACAB], NFD: [0x1100, 0x1167, 0x11AA], NFKC: [0xACAB], NFKD: [0x1100, 0x1167, 0x11AA] }, -{ source: [0xACAC], NFC: [0xACAC], NFD: [0x1100, 0x1167, 0x11AB], NFKC: [0xACAC], NFKD: [0x1100, 0x1167, 0x11AB] }, -{ source: [0xACAD], NFC: [0xACAD], NFD: [0x1100, 0x1167, 0x11AC], NFKC: [0xACAD], NFKD: [0x1100, 0x1167, 0x11AC] }, -{ source: [0xACAE], NFC: [0xACAE], NFD: [0x1100, 0x1167, 0x11AD], NFKC: [0xACAE], NFKD: [0x1100, 0x1167, 0x11AD] }, -{ source: [0xACAF], NFC: [0xACAF], NFD: [0x1100, 0x1167, 0x11AE], NFKC: [0xACAF], NFKD: [0x1100, 0x1167, 0x11AE] }, -{ source: [0xACB0], NFC: [0xACB0], NFD: [0x1100, 0x1167, 0x11AF], NFKC: [0xACB0], NFKD: [0x1100, 0x1167, 0x11AF] }, -{ source: [0xACB1], NFC: [0xACB1], NFD: [0x1100, 0x1167, 0x11B0], NFKC: [0xACB1], NFKD: [0x1100, 0x1167, 0x11B0] }, -{ source: [0xACB2], NFC: [0xACB2], NFD: [0x1100, 0x1167, 0x11B1], NFKC: [0xACB2], NFKD: [0x1100, 0x1167, 0x11B1] }, -{ source: [0xACB3], NFC: [0xACB3], NFD: [0x1100, 0x1167, 0x11B2], NFKC: [0xACB3], NFKD: [0x1100, 0x1167, 0x11B2] }, -{ source: [0xACB4], NFC: [0xACB4], NFD: [0x1100, 0x1167, 0x11B3], NFKC: [0xACB4], NFKD: [0x1100, 0x1167, 0x11B3] }, -{ source: [0xACB5], NFC: [0xACB5], NFD: [0x1100, 0x1167, 0x11B4], NFKC: [0xACB5], NFKD: [0x1100, 0x1167, 0x11B4] }, -{ source: [0xACB6], NFC: [0xACB6], NFD: [0x1100, 0x1167, 0x11B5], NFKC: [0xACB6], NFKD: [0x1100, 0x1167, 0x11B5] }, -{ source: [0xACB7], NFC: [0xACB7], NFD: [0x1100, 0x1167, 0x11B6], NFKC: [0xACB7], NFKD: [0x1100, 0x1167, 0x11B6] }, -{ source: [0xACB8], NFC: [0xACB8], NFD: [0x1100, 0x1167, 0x11B7], NFKC: [0xACB8], NFKD: [0x1100, 0x1167, 0x11B7] }, -{ source: [0xACB9], NFC: [0xACB9], NFD: [0x1100, 0x1167, 0x11B8], NFKC: [0xACB9], NFKD: [0x1100, 0x1167, 0x11B8] }, -{ source: [0xACBA], NFC: [0xACBA], NFD: [0x1100, 0x1167, 0x11B9], NFKC: [0xACBA], NFKD: [0x1100, 0x1167, 0x11B9] }, -{ source: [0xACBB], NFC: [0xACBB], NFD: [0x1100, 0x1167, 0x11BA], NFKC: [0xACBB], NFKD: [0x1100, 0x1167, 0x11BA] }, -{ source: [0xACBC], NFC: [0xACBC], NFD: [0x1100, 0x1167, 0x11BB], NFKC: [0xACBC], NFKD: [0x1100, 0x1167, 0x11BB] }, -{ source: [0xACBD], NFC: [0xACBD], NFD: [0x1100, 0x1167, 0x11BC], NFKC: [0xACBD], NFKD: [0x1100, 0x1167, 0x11BC] }, -{ source: [0xACBE], NFC: [0xACBE], NFD: [0x1100, 0x1167, 0x11BD], NFKC: [0xACBE], NFKD: [0x1100, 0x1167, 0x11BD] }, -{ source: [0xACBF], NFC: [0xACBF], NFD: [0x1100, 0x1167, 0x11BE], NFKC: [0xACBF], NFKD: [0x1100, 0x1167, 0x11BE] }, -{ source: [0xACC0], NFC: [0xACC0], NFD: [0x1100, 0x1167, 0x11BF], NFKC: [0xACC0], NFKD: [0x1100, 0x1167, 0x11BF] }, -{ source: [0xACC1], NFC: [0xACC1], NFD: [0x1100, 0x1167, 0x11C0], NFKC: [0xACC1], NFKD: [0x1100, 0x1167, 0x11C0] }, -{ source: [0xACC2], NFC: [0xACC2], NFD: [0x1100, 0x1167, 0x11C1], NFKC: [0xACC2], NFKD: [0x1100, 0x1167, 0x11C1] }, -{ source: [0xACC3], NFC: [0xACC3], NFD: [0x1100, 0x1167, 0x11C2], NFKC: [0xACC3], NFKD: [0x1100, 0x1167, 0x11C2] }, -{ source: [0xACC4], NFC: [0xACC4], NFD: [0x1100, 0x1168], NFKC: [0xACC4], NFKD: [0x1100, 0x1168] }, -{ source: [0xACC5], NFC: [0xACC5], NFD: [0x1100, 0x1168, 0x11A8], NFKC: [0xACC5], NFKD: [0x1100, 0x1168, 0x11A8] }, -{ source: [0xACC6], NFC: [0xACC6], NFD: [0x1100, 0x1168, 0x11A9], NFKC: [0xACC6], NFKD: [0x1100, 0x1168, 0x11A9] }, -{ source: [0xACC7], NFC: [0xACC7], NFD: [0x1100, 0x1168, 0x11AA], NFKC: [0xACC7], NFKD: [0x1100, 0x1168, 0x11AA] }, -{ source: [0xACC8], NFC: [0xACC8], NFD: [0x1100, 0x1168, 0x11AB], NFKC: [0xACC8], NFKD: [0x1100, 0x1168, 0x11AB] }, -{ source: [0xACC9], NFC: [0xACC9], NFD: [0x1100, 0x1168, 0x11AC], NFKC: [0xACC9], NFKD: [0x1100, 0x1168, 0x11AC] }, -{ source: [0xACCA], NFC: [0xACCA], NFD: [0x1100, 0x1168, 0x11AD], NFKC: [0xACCA], NFKD: [0x1100, 0x1168, 0x11AD] }, -{ source: [0xACCB], NFC: [0xACCB], NFD: [0x1100, 0x1168, 0x11AE], NFKC: [0xACCB], NFKD: [0x1100, 0x1168, 0x11AE] }, -{ source: [0xACCC], NFC: [0xACCC], NFD: [0x1100, 0x1168, 0x11AF], NFKC: [0xACCC], NFKD: [0x1100, 0x1168, 0x11AF] }, -{ source: [0xACCD], NFC: [0xACCD], NFD: [0x1100, 0x1168, 0x11B0], NFKC: [0xACCD], NFKD: [0x1100, 0x1168, 0x11B0] }, -{ source: [0xACCE], NFC: [0xACCE], NFD: [0x1100, 0x1168, 0x11B1], NFKC: [0xACCE], NFKD: [0x1100, 0x1168, 0x11B1] }, -{ source: [0xACCF], NFC: [0xACCF], NFD: [0x1100, 0x1168, 0x11B2], NFKC: [0xACCF], NFKD: [0x1100, 0x1168, 0x11B2] }, -{ source: [0xACD0], NFC: [0xACD0], NFD: [0x1100, 0x1168, 0x11B3], NFKC: [0xACD0], NFKD: [0x1100, 0x1168, 0x11B3] }, -{ source: [0xACD1], NFC: [0xACD1], NFD: [0x1100, 0x1168, 0x11B4], NFKC: [0xACD1], NFKD: [0x1100, 0x1168, 0x11B4] }, -{ source: [0xACD2], NFC: [0xACD2], NFD: [0x1100, 0x1168, 0x11B5], NFKC: [0xACD2], NFKD: [0x1100, 0x1168, 0x11B5] }, -{ source: [0xACD3], NFC: [0xACD3], NFD: [0x1100, 0x1168, 0x11B6], NFKC: [0xACD3], NFKD: [0x1100, 0x1168, 0x11B6] }, -{ source: [0xACD4], NFC: [0xACD4], NFD: [0x1100, 0x1168, 0x11B7], NFKC: [0xACD4], NFKD: [0x1100, 0x1168, 0x11B7] }, -{ source: [0xACD5], NFC: [0xACD5], NFD: [0x1100, 0x1168, 0x11B8], NFKC: [0xACD5], NFKD: [0x1100, 0x1168, 0x11B8] }, -{ source: [0xACD6], NFC: [0xACD6], NFD: [0x1100, 0x1168, 0x11B9], NFKC: [0xACD6], NFKD: [0x1100, 0x1168, 0x11B9] }, -{ source: [0xACD7], NFC: [0xACD7], NFD: [0x1100, 0x1168, 0x11BA], NFKC: [0xACD7], NFKD: [0x1100, 0x1168, 0x11BA] }, -{ source: [0xACD8], NFC: [0xACD8], NFD: [0x1100, 0x1168, 0x11BB], NFKC: [0xACD8], NFKD: [0x1100, 0x1168, 0x11BB] }, -{ source: [0xACD9], NFC: [0xACD9], NFD: [0x1100, 0x1168, 0x11BC], NFKC: [0xACD9], NFKD: [0x1100, 0x1168, 0x11BC] }, -{ source: [0xACDA], NFC: [0xACDA], NFD: [0x1100, 0x1168, 0x11BD], NFKC: [0xACDA], NFKD: [0x1100, 0x1168, 0x11BD] }, -{ source: [0xACDB], NFC: [0xACDB], NFD: [0x1100, 0x1168, 0x11BE], NFKC: [0xACDB], NFKD: [0x1100, 0x1168, 0x11BE] }, -{ source: [0xACDC], NFC: [0xACDC], NFD: [0x1100, 0x1168, 0x11BF], NFKC: [0xACDC], NFKD: [0x1100, 0x1168, 0x11BF] }, -{ source: [0xACDD], NFC: [0xACDD], NFD: [0x1100, 0x1168, 0x11C0], NFKC: [0xACDD], NFKD: [0x1100, 0x1168, 0x11C0] }, -{ source: [0xACDE], NFC: [0xACDE], NFD: [0x1100, 0x1168, 0x11C1], NFKC: [0xACDE], NFKD: [0x1100, 0x1168, 0x11C1] }, -{ source: [0xACDF], NFC: [0xACDF], NFD: [0x1100, 0x1168, 0x11C2], NFKC: [0xACDF], NFKD: [0x1100, 0x1168, 0x11C2] }, -{ source: [0xACE0], NFC: [0xACE0], NFD: [0x1100, 0x1169], NFKC: [0xACE0], NFKD: [0x1100, 0x1169] }, -{ source: [0xACE1], NFC: [0xACE1], NFD: [0x1100, 0x1169, 0x11A8], NFKC: [0xACE1], NFKD: [0x1100, 0x1169, 0x11A8] }, -{ source: [0xACE2], NFC: [0xACE2], NFD: [0x1100, 0x1169, 0x11A9], NFKC: [0xACE2], NFKD: [0x1100, 0x1169, 0x11A9] }, -{ source: [0xACE3], NFC: [0xACE3], NFD: [0x1100, 0x1169, 0x11AA], NFKC: [0xACE3], NFKD: [0x1100, 0x1169, 0x11AA] }, -{ source: [0xACE4], NFC: [0xACE4], NFD: [0x1100, 0x1169, 0x11AB], NFKC: [0xACE4], NFKD: [0x1100, 0x1169, 0x11AB] }, -{ source: [0xACE5], NFC: [0xACE5], NFD: [0x1100, 0x1169, 0x11AC], NFKC: [0xACE5], NFKD: [0x1100, 0x1169, 0x11AC] }, -{ source: [0xACE6], NFC: [0xACE6], NFD: [0x1100, 0x1169, 0x11AD], NFKC: [0xACE6], NFKD: [0x1100, 0x1169, 0x11AD] }, -{ source: [0xACE7], NFC: [0xACE7], NFD: [0x1100, 0x1169, 0x11AE], NFKC: [0xACE7], NFKD: [0x1100, 0x1169, 0x11AE] }, -{ source: [0xACE8], NFC: [0xACE8], NFD: [0x1100, 0x1169, 0x11AF], NFKC: [0xACE8], NFKD: [0x1100, 0x1169, 0x11AF] }, -{ source: [0xACE9], NFC: [0xACE9], NFD: [0x1100, 0x1169, 0x11B0], NFKC: [0xACE9], NFKD: [0x1100, 0x1169, 0x11B0] }, -{ source: [0xACEA], NFC: [0xACEA], NFD: [0x1100, 0x1169, 0x11B1], NFKC: [0xACEA], NFKD: [0x1100, 0x1169, 0x11B1] }, -{ source: [0xACEB], NFC: [0xACEB], NFD: [0x1100, 0x1169, 0x11B2], NFKC: [0xACEB], NFKD: [0x1100, 0x1169, 0x11B2] }, -{ source: [0xACEC], NFC: [0xACEC], NFD: [0x1100, 0x1169, 0x11B3], NFKC: [0xACEC], NFKD: [0x1100, 0x1169, 0x11B3] }, -{ source: [0xACED], NFC: [0xACED], NFD: [0x1100, 0x1169, 0x11B4], NFKC: [0xACED], NFKD: [0x1100, 0x1169, 0x11B4] }, -{ source: [0xACEE], NFC: [0xACEE], NFD: [0x1100, 0x1169, 0x11B5], NFKC: [0xACEE], NFKD: [0x1100, 0x1169, 0x11B5] }, -{ source: [0xACEF], NFC: [0xACEF], NFD: [0x1100, 0x1169, 0x11B6], NFKC: [0xACEF], NFKD: [0x1100, 0x1169, 0x11B6] }, -{ source: [0xACF0], NFC: [0xACF0], NFD: [0x1100, 0x1169, 0x11B7], NFKC: [0xACF0], NFKD: [0x1100, 0x1169, 0x11B7] }, -{ source: [0xACF1], NFC: [0xACF1], NFD: [0x1100, 0x1169, 0x11B8], NFKC: [0xACF1], NFKD: [0x1100, 0x1169, 0x11B8] }, -{ source: [0xACF2], NFC: [0xACF2], NFD: [0x1100, 0x1169, 0x11B9], NFKC: [0xACF2], NFKD: [0x1100, 0x1169, 0x11B9] }, -{ source: [0xACF3], NFC: [0xACF3], NFD: [0x1100, 0x1169, 0x11BA], NFKC: [0xACF3], NFKD: [0x1100, 0x1169, 0x11BA] }, -{ source: [0xACF4], NFC: [0xACF4], NFD: [0x1100, 0x1169, 0x11BB], NFKC: [0xACF4], NFKD: [0x1100, 0x1169, 0x11BB] }, -{ source: [0xACF5], NFC: [0xACF5], NFD: [0x1100, 0x1169, 0x11BC], NFKC: [0xACF5], NFKD: [0x1100, 0x1169, 0x11BC] }, -{ source: [0xACF6], NFC: [0xACF6], NFD: [0x1100, 0x1169, 0x11BD], NFKC: [0xACF6], NFKD: [0x1100, 0x1169, 0x11BD] }, -{ source: [0xACF7], NFC: [0xACF7], NFD: [0x1100, 0x1169, 0x11BE], NFKC: [0xACF7], NFKD: [0x1100, 0x1169, 0x11BE] }, -{ source: [0xACF8], NFC: [0xACF8], NFD: [0x1100, 0x1169, 0x11BF], NFKC: [0xACF8], NFKD: [0x1100, 0x1169, 0x11BF] }, -{ source: [0xACF9], NFC: [0xACF9], NFD: [0x1100, 0x1169, 0x11C0], NFKC: [0xACF9], NFKD: [0x1100, 0x1169, 0x11C0] }, -{ source: [0xACFA], NFC: [0xACFA], NFD: [0x1100, 0x1169, 0x11C1], NFKC: [0xACFA], NFKD: [0x1100, 0x1169, 0x11C1] }, -{ source: [0xACFB], NFC: [0xACFB], NFD: [0x1100, 0x1169, 0x11C2], NFKC: [0xACFB], NFKD: [0x1100, 0x1169, 0x11C2] }, -{ source: [0xACFC], NFC: [0xACFC], NFD: [0x1100, 0x116A], NFKC: [0xACFC], NFKD: [0x1100, 0x116A] }, -{ source: [0xACFD], NFC: [0xACFD], NFD: [0x1100, 0x116A, 0x11A8], NFKC: [0xACFD], NFKD: [0x1100, 0x116A, 0x11A8] }, -{ source: [0xACFE], NFC: [0xACFE], NFD: [0x1100, 0x116A, 0x11A9], NFKC: [0xACFE], NFKD: [0x1100, 0x116A, 0x11A9] }, -{ source: [0xACFF], NFC: [0xACFF], NFD: [0x1100, 0x116A, 0x11AA], NFKC: [0xACFF], NFKD: [0x1100, 0x116A, 0x11AA] }, -{ source: [0xAD00], NFC: [0xAD00], NFD: [0x1100, 0x116A, 0x11AB], NFKC: [0xAD00], NFKD: [0x1100, 0x116A, 0x11AB] }, -{ source: [0xAD01], NFC: [0xAD01], NFD: [0x1100, 0x116A, 0x11AC], NFKC: [0xAD01], NFKD: [0x1100, 0x116A, 0x11AC] }, -{ source: [0xAD02], NFC: [0xAD02], NFD: [0x1100, 0x116A, 0x11AD], NFKC: [0xAD02], NFKD: [0x1100, 0x116A, 0x11AD] }, -{ source: [0xAD03], NFC: [0xAD03], NFD: [0x1100, 0x116A, 0x11AE], NFKC: [0xAD03], NFKD: [0x1100, 0x116A, 0x11AE] }, -{ source: [0xAD04], NFC: [0xAD04], NFD: [0x1100, 0x116A, 0x11AF], NFKC: [0xAD04], NFKD: [0x1100, 0x116A, 0x11AF] }, -{ source: [0xAD05], NFC: [0xAD05], NFD: [0x1100, 0x116A, 0x11B0], NFKC: [0xAD05], NFKD: [0x1100, 0x116A, 0x11B0] }, -{ source: [0xAD06], NFC: [0xAD06], NFD: [0x1100, 0x116A, 0x11B1], NFKC: [0xAD06], NFKD: [0x1100, 0x116A, 0x11B1] }, -{ source: [0xAD07], NFC: [0xAD07], NFD: [0x1100, 0x116A, 0x11B2], NFKC: [0xAD07], NFKD: [0x1100, 0x116A, 0x11B2] }, -{ source: [0xAD08], NFC: [0xAD08], NFD: [0x1100, 0x116A, 0x11B3], NFKC: [0xAD08], NFKD: [0x1100, 0x116A, 0x11B3] }, -{ source: [0xAD09], NFC: [0xAD09], NFD: [0x1100, 0x116A, 0x11B4], NFKC: [0xAD09], NFKD: [0x1100, 0x116A, 0x11B4] }, -{ source: [0xAD0A], NFC: [0xAD0A], NFD: [0x1100, 0x116A, 0x11B5], NFKC: [0xAD0A], NFKD: [0x1100, 0x116A, 0x11B5] }, -{ source: [0xAD0B], NFC: [0xAD0B], NFD: [0x1100, 0x116A, 0x11B6], NFKC: [0xAD0B], NFKD: [0x1100, 0x116A, 0x11B6] }, -{ source: [0xAD0C], NFC: [0xAD0C], NFD: [0x1100, 0x116A, 0x11B7], NFKC: [0xAD0C], NFKD: [0x1100, 0x116A, 0x11B7] }, -{ source: [0xAD0D], NFC: [0xAD0D], NFD: [0x1100, 0x116A, 0x11B8], NFKC: [0xAD0D], NFKD: [0x1100, 0x116A, 0x11B8] }, -{ source: [0xAD0E], NFC: [0xAD0E], NFD: [0x1100, 0x116A, 0x11B9], NFKC: [0xAD0E], NFKD: [0x1100, 0x116A, 0x11B9] }, -{ source: [0xAD0F], NFC: [0xAD0F], NFD: [0x1100, 0x116A, 0x11BA], NFKC: [0xAD0F], NFKD: [0x1100, 0x116A, 0x11BA] }, -{ source: [0xAD10], NFC: [0xAD10], NFD: [0x1100, 0x116A, 0x11BB], NFKC: [0xAD10], NFKD: [0x1100, 0x116A, 0x11BB] }, -{ source: [0xAD11], NFC: [0xAD11], NFD: [0x1100, 0x116A, 0x11BC], NFKC: [0xAD11], NFKD: [0x1100, 0x116A, 0x11BC] }, -{ source: [0xAD12], NFC: [0xAD12], NFD: [0x1100, 0x116A, 0x11BD], NFKC: [0xAD12], NFKD: [0x1100, 0x116A, 0x11BD] }, -{ source: [0xAD13], NFC: [0xAD13], NFD: [0x1100, 0x116A, 0x11BE], NFKC: [0xAD13], NFKD: [0x1100, 0x116A, 0x11BE] }, -{ source: [0xAD14], NFC: [0xAD14], NFD: [0x1100, 0x116A, 0x11BF], NFKC: [0xAD14], NFKD: [0x1100, 0x116A, 0x11BF] }, -{ source: [0xAD15], NFC: [0xAD15], NFD: [0x1100, 0x116A, 0x11C0], NFKC: [0xAD15], NFKD: [0x1100, 0x116A, 0x11C0] }, -{ source: [0xAD16], NFC: [0xAD16], NFD: [0x1100, 0x116A, 0x11C1], NFKC: [0xAD16], NFKD: [0x1100, 0x116A, 0x11C1] }, -{ source: [0xAD17], NFC: [0xAD17], NFD: [0x1100, 0x116A, 0x11C2], NFKC: [0xAD17], NFKD: [0x1100, 0x116A, 0x11C2] }, -{ source: [0xAD18], NFC: [0xAD18], NFD: [0x1100, 0x116B], NFKC: [0xAD18], NFKD: [0x1100, 0x116B] }, -{ source: [0xAD19], NFC: [0xAD19], NFD: [0x1100, 0x116B, 0x11A8], NFKC: [0xAD19], NFKD: [0x1100, 0x116B, 0x11A8] }, -{ source: [0xAD1A], NFC: [0xAD1A], NFD: [0x1100, 0x116B, 0x11A9], NFKC: [0xAD1A], NFKD: [0x1100, 0x116B, 0x11A9] }, -{ source: [0xAD1B], NFC: [0xAD1B], NFD: [0x1100, 0x116B, 0x11AA], NFKC: [0xAD1B], NFKD: [0x1100, 0x116B, 0x11AA] }, -{ source: [0xAD1C], NFC: [0xAD1C], NFD: [0x1100, 0x116B, 0x11AB], NFKC: [0xAD1C], NFKD: [0x1100, 0x116B, 0x11AB] }, -{ source: [0xAD1D], NFC: [0xAD1D], NFD: [0x1100, 0x116B, 0x11AC], NFKC: [0xAD1D], NFKD: [0x1100, 0x116B, 0x11AC] }, -{ source: [0xAD1E], NFC: [0xAD1E], NFD: [0x1100, 0x116B, 0x11AD], NFKC: [0xAD1E], NFKD: [0x1100, 0x116B, 0x11AD] }, -{ source: [0xAD1F], NFC: [0xAD1F], NFD: [0x1100, 0x116B, 0x11AE], NFKC: [0xAD1F], NFKD: [0x1100, 0x116B, 0x11AE] }, -{ source: [0xAD20], NFC: [0xAD20], NFD: [0x1100, 0x116B, 0x11AF], NFKC: [0xAD20], NFKD: [0x1100, 0x116B, 0x11AF] }, -{ source: [0xAD21], NFC: [0xAD21], NFD: [0x1100, 0x116B, 0x11B0], NFKC: [0xAD21], NFKD: [0x1100, 0x116B, 0x11B0] }, -{ source: [0xAD22], NFC: [0xAD22], NFD: [0x1100, 0x116B, 0x11B1], NFKC: [0xAD22], NFKD: [0x1100, 0x116B, 0x11B1] }, -{ source: [0xAD23], NFC: [0xAD23], NFD: [0x1100, 0x116B, 0x11B2], NFKC: [0xAD23], NFKD: [0x1100, 0x116B, 0x11B2] }, -{ source: [0xAD24], NFC: [0xAD24], NFD: [0x1100, 0x116B, 0x11B3], NFKC: [0xAD24], NFKD: [0x1100, 0x116B, 0x11B3] }, -{ source: [0xAD25], NFC: [0xAD25], NFD: [0x1100, 0x116B, 0x11B4], NFKC: [0xAD25], NFKD: [0x1100, 0x116B, 0x11B4] }, -{ source: [0xAD26], NFC: [0xAD26], NFD: [0x1100, 0x116B, 0x11B5], NFKC: [0xAD26], NFKD: [0x1100, 0x116B, 0x11B5] }, -{ source: [0xAD27], NFC: [0xAD27], NFD: [0x1100, 0x116B, 0x11B6], NFKC: [0xAD27], NFKD: [0x1100, 0x116B, 0x11B6] }, -{ source: [0xAD28], NFC: [0xAD28], NFD: [0x1100, 0x116B, 0x11B7], NFKC: [0xAD28], NFKD: [0x1100, 0x116B, 0x11B7] }, -{ source: [0xAD29], NFC: [0xAD29], NFD: [0x1100, 0x116B, 0x11B8], NFKC: [0xAD29], NFKD: [0x1100, 0x116B, 0x11B8] }, -{ source: [0xAD2A], NFC: [0xAD2A], NFD: [0x1100, 0x116B, 0x11B9], NFKC: [0xAD2A], NFKD: [0x1100, 0x116B, 0x11B9] }, -{ source: [0xAD2B], NFC: [0xAD2B], NFD: [0x1100, 0x116B, 0x11BA], NFKC: [0xAD2B], NFKD: [0x1100, 0x116B, 0x11BA] }, -{ source: [0xAD2C], NFC: [0xAD2C], NFD: [0x1100, 0x116B, 0x11BB], NFKC: [0xAD2C], NFKD: [0x1100, 0x116B, 0x11BB] }, -{ source: [0xAD2D], NFC: [0xAD2D], NFD: [0x1100, 0x116B, 0x11BC], NFKC: [0xAD2D], NFKD: [0x1100, 0x116B, 0x11BC] }, -{ source: [0xAD2E], NFC: [0xAD2E], NFD: [0x1100, 0x116B, 0x11BD], NFKC: [0xAD2E], NFKD: [0x1100, 0x116B, 0x11BD] }, -{ source: [0xAD2F], NFC: [0xAD2F], NFD: [0x1100, 0x116B, 0x11BE], NFKC: [0xAD2F], NFKD: [0x1100, 0x116B, 0x11BE] }, -{ source: [0xAD30], NFC: [0xAD30], NFD: [0x1100, 0x116B, 0x11BF], NFKC: [0xAD30], NFKD: [0x1100, 0x116B, 0x11BF] }, -{ source: [0xAD31], NFC: [0xAD31], NFD: [0x1100, 0x116B, 0x11C0], NFKC: [0xAD31], NFKD: [0x1100, 0x116B, 0x11C0] }, -{ source: [0xAD32], NFC: [0xAD32], NFD: [0x1100, 0x116B, 0x11C1], NFKC: [0xAD32], NFKD: [0x1100, 0x116B, 0x11C1] }, -{ source: [0xAD33], NFC: [0xAD33], NFD: [0x1100, 0x116B, 0x11C2], NFKC: [0xAD33], NFKD: [0x1100, 0x116B, 0x11C2] }, -{ source: [0xAD34], NFC: [0xAD34], NFD: [0x1100, 0x116C], NFKC: [0xAD34], NFKD: [0x1100, 0x116C] }, -{ source: [0xAD35], NFC: [0xAD35], NFD: [0x1100, 0x116C, 0x11A8], NFKC: [0xAD35], NFKD: [0x1100, 0x116C, 0x11A8] }, -{ source: [0xAD36], NFC: [0xAD36], NFD: [0x1100, 0x116C, 0x11A9], NFKC: [0xAD36], NFKD: [0x1100, 0x116C, 0x11A9] }, -{ source: [0xAD37], NFC: [0xAD37], NFD: [0x1100, 0x116C, 0x11AA], NFKC: [0xAD37], NFKD: [0x1100, 0x116C, 0x11AA] }, -{ source: [0xAD38], NFC: [0xAD38], NFD: [0x1100, 0x116C, 0x11AB], NFKC: [0xAD38], NFKD: [0x1100, 0x116C, 0x11AB] }, -{ source: [0xAD39], NFC: [0xAD39], NFD: [0x1100, 0x116C, 0x11AC], NFKC: [0xAD39], NFKD: [0x1100, 0x116C, 0x11AC] }, -{ source: [0xAD3A], NFC: [0xAD3A], NFD: [0x1100, 0x116C, 0x11AD], NFKC: [0xAD3A], NFKD: [0x1100, 0x116C, 0x11AD] }, -{ source: [0xAD3B], NFC: [0xAD3B], NFD: [0x1100, 0x116C, 0x11AE], NFKC: [0xAD3B], NFKD: [0x1100, 0x116C, 0x11AE] }, -{ source: [0xAD3C], NFC: [0xAD3C], NFD: [0x1100, 0x116C, 0x11AF], NFKC: [0xAD3C], NFKD: [0x1100, 0x116C, 0x11AF] }, -{ source: [0xAD3D], NFC: [0xAD3D], NFD: [0x1100, 0x116C, 0x11B0], NFKC: [0xAD3D], NFKD: [0x1100, 0x116C, 0x11B0] }, -{ source: [0xAD3E], NFC: [0xAD3E], NFD: [0x1100, 0x116C, 0x11B1], NFKC: [0xAD3E], NFKD: [0x1100, 0x116C, 0x11B1] }, -{ source: [0xAD3F], NFC: [0xAD3F], NFD: [0x1100, 0x116C, 0x11B2], NFKC: [0xAD3F], NFKD: [0x1100, 0x116C, 0x11B2] }, -{ source: [0xAD40], NFC: [0xAD40], NFD: [0x1100, 0x116C, 0x11B3], NFKC: [0xAD40], NFKD: [0x1100, 0x116C, 0x11B3] }, -{ source: [0xAD41], NFC: [0xAD41], NFD: [0x1100, 0x116C, 0x11B4], NFKC: [0xAD41], NFKD: [0x1100, 0x116C, 0x11B4] }, -{ source: [0xAD42], NFC: [0xAD42], NFD: [0x1100, 0x116C, 0x11B5], NFKC: [0xAD42], NFKD: [0x1100, 0x116C, 0x11B5] }, -{ source: [0xAD43], NFC: [0xAD43], NFD: [0x1100, 0x116C, 0x11B6], NFKC: [0xAD43], NFKD: [0x1100, 0x116C, 0x11B6] }, -{ source: [0xAD44], NFC: [0xAD44], NFD: [0x1100, 0x116C, 0x11B7], NFKC: [0xAD44], NFKD: [0x1100, 0x116C, 0x11B7] }, -{ source: [0xAD45], NFC: [0xAD45], NFD: [0x1100, 0x116C, 0x11B8], NFKC: [0xAD45], NFKD: [0x1100, 0x116C, 0x11B8] }, -{ source: [0xAD46], NFC: [0xAD46], NFD: [0x1100, 0x116C, 0x11B9], NFKC: [0xAD46], NFKD: [0x1100, 0x116C, 0x11B9] }, -{ source: [0xAD47], NFC: [0xAD47], NFD: [0x1100, 0x116C, 0x11BA], NFKC: [0xAD47], NFKD: [0x1100, 0x116C, 0x11BA] }, -{ source: [0xAD48], NFC: [0xAD48], NFD: [0x1100, 0x116C, 0x11BB], NFKC: [0xAD48], NFKD: [0x1100, 0x116C, 0x11BB] }, -{ source: [0xAD49], NFC: [0xAD49], NFD: [0x1100, 0x116C, 0x11BC], NFKC: [0xAD49], NFKD: [0x1100, 0x116C, 0x11BC] }, -{ source: [0xAD4A], NFC: [0xAD4A], NFD: [0x1100, 0x116C, 0x11BD], NFKC: [0xAD4A], NFKD: [0x1100, 0x116C, 0x11BD] }, -{ source: [0xAD4B], NFC: [0xAD4B], NFD: [0x1100, 0x116C, 0x11BE], NFKC: [0xAD4B], NFKD: [0x1100, 0x116C, 0x11BE] }, -{ source: [0xAD4C], NFC: [0xAD4C], NFD: [0x1100, 0x116C, 0x11BF], NFKC: [0xAD4C], NFKD: [0x1100, 0x116C, 0x11BF] }, -{ source: [0xAD4D], NFC: [0xAD4D], NFD: [0x1100, 0x116C, 0x11C0], NFKC: [0xAD4D], NFKD: [0x1100, 0x116C, 0x11C0] }, -{ source: [0xAD4E], NFC: [0xAD4E], NFD: [0x1100, 0x116C, 0x11C1], NFKC: [0xAD4E], NFKD: [0x1100, 0x116C, 0x11C1] }, -{ source: [0xAD4F], NFC: [0xAD4F], NFD: [0x1100, 0x116C, 0x11C2], NFKC: [0xAD4F], NFKD: [0x1100, 0x116C, 0x11C2] }, -{ source: [0xAD50], NFC: [0xAD50], NFD: [0x1100, 0x116D], NFKC: [0xAD50], NFKD: [0x1100, 0x116D] }, -{ source: [0xAD51], NFC: [0xAD51], NFD: [0x1100, 0x116D, 0x11A8], NFKC: [0xAD51], NFKD: [0x1100, 0x116D, 0x11A8] }, -{ source: [0xAD52], NFC: [0xAD52], NFD: [0x1100, 0x116D, 0x11A9], NFKC: [0xAD52], NFKD: [0x1100, 0x116D, 0x11A9] }, -{ source: [0xAD53], NFC: [0xAD53], NFD: [0x1100, 0x116D, 0x11AA], NFKC: [0xAD53], NFKD: [0x1100, 0x116D, 0x11AA] }, -{ source: [0xAD54], NFC: [0xAD54], NFD: [0x1100, 0x116D, 0x11AB], NFKC: [0xAD54], NFKD: [0x1100, 0x116D, 0x11AB] }, -{ source: [0xAD55], NFC: [0xAD55], NFD: [0x1100, 0x116D, 0x11AC], NFKC: [0xAD55], NFKD: [0x1100, 0x116D, 0x11AC] }, -{ source: [0xAD56], NFC: [0xAD56], NFD: [0x1100, 0x116D, 0x11AD], NFKC: [0xAD56], NFKD: [0x1100, 0x116D, 0x11AD] }, -{ source: [0xAD57], NFC: [0xAD57], NFD: [0x1100, 0x116D, 0x11AE], NFKC: [0xAD57], NFKD: [0x1100, 0x116D, 0x11AE] }, -{ source: [0xAD58], NFC: [0xAD58], NFD: [0x1100, 0x116D, 0x11AF], NFKC: [0xAD58], NFKD: [0x1100, 0x116D, 0x11AF] }, -{ source: [0xAD59], NFC: [0xAD59], NFD: [0x1100, 0x116D, 0x11B0], NFKC: [0xAD59], NFKD: [0x1100, 0x116D, 0x11B0] }, -{ source: [0xAD5A], NFC: [0xAD5A], NFD: [0x1100, 0x116D, 0x11B1], NFKC: [0xAD5A], NFKD: [0x1100, 0x116D, 0x11B1] }, -{ source: [0xAD5B], NFC: [0xAD5B], NFD: [0x1100, 0x116D, 0x11B2], NFKC: [0xAD5B], NFKD: [0x1100, 0x116D, 0x11B2] }, -{ source: [0xAD5C], NFC: [0xAD5C], NFD: [0x1100, 0x116D, 0x11B3], NFKC: [0xAD5C], NFKD: [0x1100, 0x116D, 0x11B3] }, -{ source: [0xAD5D], NFC: [0xAD5D], NFD: [0x1100, 0x116D, 0x11B4], NFKC: [0xAD5D], NFKD: [0x1100, 0x116D, 0x11B4] }, -{ source: [0xAD5E], NFC: [0xAD5E], NFD: [0x1100, 0x116D, 0x11B5], NFKC: [0xAD5E], NFKD: [0x1100, 0x116D, 0x11B5] }, -{ source: [0xAD5F], NFC: [0xAD5F], NFD: [0x1100, 0x116D, 0x11B6], NFKC: [0xAD5F], NFKD: [0x1100, 0x116D, 0x11B6] }, -{ source: [0xAD60], NFC: [0xAD60], NFD: [0x1100, 0x116D, 0x11B7], NFKC: [0xAD60], NFKD: [0x1100, 0x116D, 0x11B7] }, -{ source: [0xAD61], NFC: [0xAD61], NFD: [0x1100, 0x116D, 0x11B8], NFKC: [0xAD61], NFKD: [0x1100, 0x116D, 0x11B8] }, -{ source: [0xAD62], NFC: [0xAD62], NFD: [0x1100, 0x116D, 0x11B9], NFKC: [0xAD62], NFKD: [0x1100, 0x116D, 0x11B9] }, -{ source: [0xAD63], NFC: [0xAD63], NFD: [0x1100, 0x116D, 0x11BA], NFKC: [0xAD63], NFKD: [0x1100, 0x116D, 0x11BA] }, -{ source: [0xAD64], NFC: [0xAD64], NFD: [0x1100, 0x116D, 0x11BB], NFKC: [0xAD64], NFKD: [0x1100, 0x116D, 0x11BB] }, -{ source: [0xAD65], NFC: [0xAD65], NFD: [0x1100, 0x116D, 0x11BC], NFKC: [0xAD65], NFKD: [0x1100, 0x116D, 0x11BC] }, -{ source: [0xAD66], NFC: [0xAD66], NFD: [0x1100, 0x116D, 0x11BD], NFKC: [0xAD66], NFKD: [0x1100, 0x116D, 0x11BD] }, -{ source: [0xAD67], NFC: [0xAD67], NFD: [0x1100, 0x116D, 0x11BE], NFKC: [0xAD67], NFKD: [0x1100, 0x116D, 0x11BE] }, -{ source: [0xAD68], NFC: [0xAD68], NFD: [0x1100, 0x116D, 0x11BF], NFKC: [0xAD68], NFKD: [0x1100, 0x116D, 0x11BF] }, -{ source: [0xAD69], NFC: [0xAD69], NFD: [0x1100, 0x116D, 0x11C0], NFKC: [0xAD69], NFKD: [0x1100, 0x116D, 0x11C0] }, -{ source: [0xAD6A], NFC: [0xAD6A], NFD: [0x1100, 0x116D, 0x11C1], NFKC: [0xAD6A], NFKD: [0x1100, 0x116D, 0x11C1] }, -{ source: [0xAD6B], NFC: [0xAD6B], NFD: [0x1100, 0x116D, 0x11C2], NFKC: [0xAD6B], NFKD: [0x1100, 0x116D, 0x11C2] }, -{ source: [0xAD6C], NFC: [0xAD6C], NFD: [0x1100, 0x116E], NFKC: [0xAD6C], NFKD: [0x1100, 0x116E] }, -{ source: [0xAD6D], NFC: [0xAD6D], NFD: [0x1100, 0x116E, 0x11A8], NFKC: [0xAD6D], NFKD: [0x1100, 0x116E, 0x11A8] }, -{ source: [0xAD6E], NFC: [0xAD6E], NFD: [0x1100, 0x116E, 0x11A9], NFKC: [0xAD6E], NFKD: [0x1100, 0x116E, 0x11A9] }, -{ source: [0xAD6F], NFC: [0xAD6F], NFD: [0x1100, 0x116E, 0x11AA], NFKC: [0xAD6F], NFKD: [0x1100, 0x116E, 0x11AA] }, -{ source: [0xAD70], NFC: [0xAD70], NFD: [0x1100, 0x116E, 0x11AB], NFKC: [0xAD70], NFKD: [0x1100, 0x116E, 0x11AB] }, -{ source: [0xAD71], NFC: [0xAD71], NFD: [0x1100, 0x116E, 0x11AC], NFKC: [0xAD71], NFKD: [0x1100, 0x116E, 0x11AC] }, -{ source: [0xAD72], NFC: [0xAD72], NFD: [0x1100, 0x116E, 0x11AD], NFKC: [0xAD72], NFKD: [0x1100, 0x116E, 0x11AD] }, -{ source: [0xAD73], NFC: [0xAD73], NFD: [0x1100, 0x116E, 0x11AE], NFKC: [0xAD73], NFKD: [0x1100, 0x116E, 0x11AE] }, -{ source: [0xAD74], NFC: [0xAD74], NFD: [0x1100, 0x116E, 0x11AF], NFKC: [0xAD74], NFKD: [0x1100, 0x116E, 0x11AF] }, -{ source: [0xAD75], NFC: [0xAD75], NFD: [0x1100, 0x116E, 0x11B0], NFKC: [0xAD75], NFKD: [0x1100, 0x116E, 0x11B0] }, -{ source: [0xAD76], NFC: [0xAD76], NFD: [0x1100, 0x116E, 0x11B1], NFKC: [0xAD76], NFKD: [0x1100, 0x116E, 0x11B1] }, -{ source: [0xAD77], NFC: [0xAD77], NFD: [0x1100, 0x116E, 0x11B2], NFKC: [0xAD77], NFKD: [0x1100, 0x116E, 0x11B2] }, -{ source: [0xAD78], NFC: [0xAD78], NFD: [0x1100, 0x116E, 0x11B3], NFKC: [0xAD78], NFKD: [0x1100, 0x116E, 0x11B3] }, -{ source: [0xAD79], NFC: [0xAD79], NFD: [0x1100, 0x116E, 0x11B4], NFKC: [0xAD79], NFKD: [0x1100, 0x116E, 0x11B4] }, -{ source: [0xAD7A], NFC: [0xAD7A], NFD: [0x1100, 0x116E, 0x11B5], NFKC: [0xAD7A], NFKD: [0x1100, 0x116E, 0x11B5] }, -{ source: [0xAD7B], NFC: [0xAD7B], NFD: [0x1100, 0x116E, 0x11B6], NFKC: [0xAD7B], NFKD: [0x1100, 0x116E, 0x11B6] }, -{ source: [0xAD7C], NFC: [0xAD7C], NFD: [0x1100, 0x116E, 0x11B7], NFKC: [0xAD7C], NFKD: [0x1100, 0x116E, 0x11B7] }, -{ source: [0xAD7D], NFC: [0xAD7D], NFD: [0x1100, 0x116E, 0x11B8], NFKC: [0xAD7D], NFKD: [0x1100, 0x116E, 0x11B8] }, -{ source: [0xAD7E], NFC: [0xAD7E], NFD: [0x1100, 0x116E, 0x11B9], NFKC: [0xAD7E], NFKD: [0x1100, 0x116E, 0x11B9] }, -{ source: [0xAD7F], NFC: [0xAD7F], NFD: [0x1100, 0x116E, 0x11BA], NFKC: [0xAD7F], NFKD: [0x1100, 0x116E, 0x11BA] }, -{ source: [0xAD80], NFC: [0xAD80], NFD: [0x1100, 0x116E, 0x11BB], NFKC: [0xAD80], NFKD: [0x1100, 0x116E, 0x11BB] }, -{ source: [0xAD81], NFC: [0xAD81], NFD: [0x1100, 0x116E, 0x11BC], NFKC: [0xAD81], NFKD: [0x1100, 0x116E, 0x11BC] }, -{ source: [0xAD82], NFC: [0xAD82], NFD: [0x1100, 0x116E, 0x11BD], NFKC: [0xAD82], NFKD: [0x1100, 0x116E, 0x11BD] }, -{ source: [0xAD83], NFC: [0xAD83], NFD: [0x1100, 0x116E, 0x11BE], NFKC: [0xAD83], NFKD: [0x1100, 0x116E, 0x11BE] }, -{ source: [0xAD84], NFC: [0xAD84], NFD: [0x1100, 0x116E, 0x11BF], NFKC: [0xAD84], NFKD: [0x1100, 0x116E, 0x11BF] }, -{ source: [0xAD85], NFC: [0xAD85], NFD: [0x1100, 0x116E, 0x11C0], NFKC: [0xAD85], NFKD: [0x1100, 0x116E, 0x11C0] }, -{ source: [0xAD86], NFC: [0xAD86], NFD: [0x1100, 0x116E, 0x11C1], NFKC: [0xAD86], NFKD: [0x1100, 0x116E, 0x11C1] }, -{ source: [0xAD87], NFC: [0xAD87], NFD: [0x1100, 0x116E, 0x11C2], NFKC: [0xAD87], NFKD: [0x1100, 0x116E, 0x11C2] }, -{ source: [0xAD88], NFC: [0xAD88], NFD: [0x1100, 0x116F], NFKC: [0xAD88], NFKD: [0x1100, 0x116F] }, -{ source: [0xAD89], NFC: [0xAD89], NFD: [0x1100, 0x116F, 0x11A8], NFKC: [0xAD89], NFKD: [0x1100, 0x116F, 0x11A8] }, -{ source: [0xAD8A], NFC: [0xAD8A], NFD: [0x1100, 0x116F, 0x11A9], NFKC: [0xAD8A], NFKD: [0x1100, 0x116F, 0x11A9] }, -{ source: [0xAD8B], NFC: [0xAD8B], NFD: [0x1100, 0x116F, 0x11AA], NFKC: [0xAD8B], NFKD: [0x1100, 0x116F, 0x11AA] }, -{ source: [0xAD8C], NFC: [0xAD8C], NFD: [0x1100, 0x116F, 0x11AB], NFKC: [0xAD8C], NFKD: [0x1100, 0x116F, 0x11AB] }, -{ source: [0xAD8D], NFC: [0xAD8D], NFD: [0x1100, 0x116F, 0x11AC], NFKC: [0xAD8D], NFKD: [0x1100, 0x116F, 0x11AC] }, -{ source: [0xAD8E], NFC: [0xAD8E], NFD: [0x1100, 0x116F, 0x11AD], NFKC: [0xAD8E], NFKD: [0x1100, 0x116F, 0x11AD] }, -{ source: [0xAD8F], NFC: [0xAD8F], NFD: [0x1100, 0x116F, 0x11AE], NFKC: [0xAD8F], NFKD: [0x1100, 0x116F, 0x11AE] }, -{ source: [0xAD90], NFC: [0xAD90], NFD: [0x1100, 0x116F, 0x11AF], NFKC: [0xAD90], NFKD: [0x1100, 0x116F, 0x11AF] }, -{ source: [0xAD91], NFC: [0xAD91], NFD: [0x1100, 0x116F, 0x11B0], NFKC: [0xAD91], NFKD: [0x1100, 0x116F, 0x11B0] }, -{ source: [0xAD92], NFC: [0xAD92], NFD: [0x1100, 0x116F, 0x11B1], NFKC: [0xAD92], NFKD: [0x1100, 0x116F, 0x11B1] }, -{ source: [0xAD93], NFC: [0xAD93], NFD: [0x1100, 0x116F, 0x11B2], NFKC: [0xAD93], NFKD: [0x1100, 0x116F, 0x11B2] }, -{ source: [0xAD94], NFC: [0xAD94], NFD: [0x1100, 0x116F, 0x11B3], NFKC: [0xAD94], NFKD: [0x1100, 0x116F, 0x11B3] }, -{ source: [0xAD95], NFC: [0xAD95], NFD: [0x1100, 0x116F, 0x11B4], NFKC: [0xAD95], NFKD: [0x1100, 0x116F, 0x11B4] }, -{ source: [0xAD96], NFC: [0xAD96], NFD: [0x1100, 0x116F, 0x11B5], NFKC: [0xAD96], NFKD: [0x1100, 0x116F, 0x11B5] }, -{ source: [0xAD97], NFC: [0xAD97], NFD: [0x1100, 0x116F, 0x11B6], NFKC: [0xAD97], NFKD: [0x1100, 0x116F, 0x11B6] }, -{ source: [0xAD98], NFC: [0xAD98], NFD: [0x1100, 0x116F, 0x11B7], NFKC: [0xAD98], NFKD: [0x1100, 0x116F, 0x11B7] }, -{ source: [0xAD99], NFC: [0xAD99], NFD: [0x1100, 0x116F, 0x11B8], NFKC: [0xAD99], NFKD: [0x1100, 0x116F, 0x11B8] }, -{ source: [0xAD9A], NFC: [0xAD9A], NFD: [0x1100, 0x116F, 0x11B9], NFKC: [0xAD9A], NFKD: [0x1100, 0x116F, 0x11B9] }, -{ source: [0xAD9B], NFC: [0xAD9B], NFD: [0x1100, 0x116F, 0x11BA], NFKC: [0xAD9B], NFKD: [0x1100, 0x116F, 0x11BA] }, -{ source: [0xAD9C], NFC: [0xAD9C], NFD: [0x1100, 0x116F, 0x11BB], NFKC: [0xAD9C], NFKD: [0x1100, 0x116F, 0x11BB] }, -{ source: [0xAD9D], NFC: [0xAD9D], NFD: [0x1100, 0x116F, 0x11BC], NFKC: [0xAD9D], NFKD: [0x1100, 0x116F, 0x11BC] }, -{ source: [0xAD9E], NFC: [0xAD9E], NFD: [0x1100, 0x116F, 0x11BD], NFKC: [0xAD9E], NFKD: [0x1100, 0x116F, 0x11BD] }, -{ source: [0xAD9F], NFC: [0xAD9F], NFD: [0x1100, 0x116F, 0x11BE], NFKC: [0xAD9F], NFKD: [0x1100, 0x116F, 0x11BE] }, -{ source: [0xADA0], NFC: [0xADA0], NFD: [0x1100, 0x116F, 0x11BF], NFKC: [0xADA0], NFKD: [0x1100, 0x116F, 0x11BF] }, -{ source: [0xADA1], NFC: [0xADA1], NFD: [0x1100, 0x116F, 0x11C0], NFKC: [0xADA1], NFKD: [0x1100, 0x116F, 0x11C0] }, -{ source: [0xADA2], NFC: [0xADA2], NFD: [0x1100, 0x116F, 0x11C1], NFKC: [0xADA2], NFKD: [0x1100, 0x116F, 0x11C1] }, -{ source: [0xADA3], NFC: [0xADA3], NFD: [0x1100, 0x116F, 0x11C2], NFKC: [0xADA3], NFKD: [0x1100, 0x116F, 0x11C2] }, -{ source: [0xADA4], NFC: [0xADA4], NFD: [0x1100, 0x1170], NFKC: [0xADA4], NFKD: [0x1100, 0x1170] }, -{ source: [0xADA5], NFC: [0xADA5], NFD: [0x1100, 0x1170, 0x11A8], NFKC: [0xADA5], NFKD: [0x1100, 0x1170, 0x11A8] }, -{ source: [0xADA6], NFC: [0xADA6], NFD: [0x1100, 0x1170, 0x11A9], NFKC: [0xADA6], NFKD: [0x1100, 0x1170, 0x11A9] }, -{ source: [0xADA7], NFC: [0xADA7], NFD: [0x1100, 0x1170, 0x11AA], NFKC: [0xADA7], NFKD: [0x1100, 0x1170, 0x11AA] }, -{ source: [0xADA8], NFC: [0xADA8], NFD: [0x1100, 0x1170, 0x11AB], NFKC: [0xADA8], NFKD: [0x1100, 0x1170, 0x11AB] }, -{ source: [0xADA9], NFC: [0xADA9], NFD: [0x1100, 0x1170, 0x11AC], NFKC: [0xADA9], NFKD: [0x1100, 0x1170, 0x11AC] }, -{ source: [0xADAA], NFC: [0xADAA], NFD: [0x1100, 0x1170, 0x11AD], NFKC: [0xADAA], NFKD: [0x1100, 0x1170, 0x11AD] }, -{ source: [0xADAB], NFC: [0xADAB], NFD: [0x1100, 0x1170, 0x11AE], NFKC: [0xADAB], NFKD: [0x1100, 0x1170, 0x11AE] }, -{ source: [0xADAC], NFC: [0xADAC], NFD: [0x1100, 0x1170, 0x11AF], NFKC: [0xADAC], NFKD: [0x1100, 0x1170, 0x11AF] }, -{ source: [0xADAD], NFC: [0xADAD], NFD: [0x1100, 0x1170, 0x11B0], NFKC: [0xADAD], NFKD: [0x1100, 0x1170, 0x11B0] }, -{ source: [0xADAE], NFC: [0xADAE], NFD: [0x1100, 0x1170, 0x11B1], NFKC: [0xADAE], NFKD: [0x1100, 0x1170, 0x11B1] }, -{ source: [0xADAF], NFC: [0xADAF], NFD: [0x1100, 0x1170, 0x11B2], NFKC: [0xADAF], NFKD: [0x1100, 0x1170, 0x11B2] }, -{ source: [0xADB0], NFC: [0xADB0], NFD: [0x1100, 0x1170, 0x11B3], NFKC: [0xADB0], NFKD: [0x1100, 0x1170, 0x11B3] }, -{ source: [0xADB1], NFC: [0xADB1], NFD: [0x1100, 0x1170, 0x11B4], NFKC: [0xADB1], NFKD: [0x1100, 0x1170, 0x11B4] }, -{ source: [0xADB2], NFC: [0xADB2], NFD: [0x1100, 0x1170, 0x11B5], NFKC: [0xADB2], NFKD: [0x1100, 0x1170, 0x11B5] }, -{ source: [0xADB3], NFC: [0xADB3], NFD: [0x1100, 0x1170, 0x11B6], NFKC: [0xADB3], NFKD: [0x1100, 0x1170, 0x11B6] }, -{ source: [0xADB4], NFC: [0xADB4], NFD: [0x1100, 0x1170, 0x11B7], NFKC: [0xADB4], NFKD: [0x1100, 0x1170, 0x11B7] }, -{ source: [0xADB5], NFC: [0xADB5], NFD: [0x1100, 0x1170, 0x11B8], NFKC: [0xADB5], NFKD: [0x1100, 0x1170, 0x11B8] }, -{ source: [0xADB6], NFC: [0xADB6], NFD: [0x1100, 0x1170, 0x11B9], NFKC: [0xADB6], NFKD: [0x1100, 0x1170, 0x11B9] }, -{ source: [0xADB7], NFC: [0xADB7], NFD: [0x1100, 0x1170, 0x11BA], NFKC: [0xADB7], NFKD: [0x1100, 0x1170, 0x11BA] }, -{ source: [0xADB8], NFC: [0xADB8], NFD: [0x1100, 0x1170, 0x11BB], NFKC: [0xADB8], NFKD: [0x1100, 0x1170, 0x11BB] }, -{ source: [0xADB9], NFC: [0xADB9], NFD: [0x1100, 0x1170, 0x11BC], NFKC: [0xADB9], NFKD: [0x1100, 0x1170, 0x11BC] }, -{ source: [0xADBA], NFC: [0xADBA], NFD: [0x1100, 0x1170, 0x11BD], NFKC: [0xADBA], NFKD: [0x1100, 0x1170, 0x11BD] }, -{ source: [0xADBB], NFC: [0xADBB], NFD: [0x1100, 0x1170, 0x11BE], NFKC: [0xADBB], NFKD: [0x1100, 0x1170, 0x11BE] }, -{ source: [0xADBC], NFC: [0xADBC], NFD: [0x1100, 0x1170, 0x11BF], NFKC: [0xADBC], NFKD: [0x1100, 0x1170, 0x11BF] }, -{ source: [0xADBD], NFC: [0xADBD], NFD: [0x1100, 0x1170, 0x11C0], NFKC: [0xADBD], NFKD: [0x1100, 0x1170, 0x11C0] }, -{ source: [0xADBE], NFC: [0xADBE], NFD: [0x1100, 0x1170, 0x11C1], NFKC: [0xADBE], NFKD: [0x1100, 0x1170, 0x11C1] }, -{ source: [0xADBF], NFC: [0xADBF], NFD: [0x1100, 0x1170, 0x11C2], NFKC: [0xADBF], NFKD: [0x1100, 0x1170, 0x11C2] }, -{ source: [0xADC0], NFC: [0xADC0], NFD: [0x1100, 0x1171], NFKC: [0xADC0], NFKD: [0x1100, 0x1171] }, -{ source: [0xADC1], NFC: [0xADC1], NFD: [0x1100, 0x1171, 0x11A8], NFKC: [0xADC1], NFKD: [0x1100, 0x1171, 0x11A8] }, -{ source: [0xADC2], NFC: [0xADC2], NFD: [0x1100, 0x1171, 0x11A9], NFKC: [0xADC2], NFKD: [0x1100, 0x1171, 0x11A9] }, -{ source: [0xADC3], NFC: [0xADC3], NFD: [0x1100, 0x1171, 0x11AA], NFKC: [0xADC3], NFKD: [0x1100, 0x1171, 0x11AA] }, -{ source: [0xADC4], NFC: [0xADC4], NFD: [0x1100, 0x1171, 0x11AB], NFKC: [0xADC4], NFKD: [0x1100, 0x1171, 0x11AB] }, -{ source: [0xADC5], NFC: [0xADC5], NFD: [0x1100, 0x1171, 0x11AC], NFKC: [0xADC5], NFKD: [0x1100, 0x1171, 0x11AC] }, -{ source: [0xADC6], NFC: [0xADC6], NFD: [0x1100, 0x1171, 0x11AD], NFKC: [0xADC6], NFKD: [0x1100, 0x1171, 0x11AD] }, -{ source: [0xADC7], NFC: [0xADC7], NFD: [0x1100, 0x1171, 0x11AE], NFKC: [0xADC7], NFKD: [0x1100, 0x1171, 0x11AE] }, -{ source: [0xADC8], NFC: [0xADC8], NFD: [0x1100, 0x1171, 0x11AF], NFKC: [0xADC8], NFKD: [0x1100, 0x1171, 0x11AF] }, -{ source: [0xADC9], NFC: [0xADC9], NFD: [0x1100, 0x1171, 0x11B0], NFKC: [0xADC9], NFKD: [0x1100, 0x1171, 0x11B0] }, -{ source: [0xADCA], NFC: [0xADCA], NFD: [0x1100, 0x1171, 0x11B1], NFKC: [0xADCA], NFKD: [0x1100, 0x1171, 0x11B1] }, -{ source: [0xADCB], NFC: [0xADCB], NFD: [0x1100, 0x1171, 0x11B2], NFKC: [0xADCB], NFKD: [0x1100, 0x1171, 0x11B2] }, -{ source: [0xADCC], NFC: [0xADCC], NFD: [0x1100, 0x1171, 0x11B3], NFKC: [0xADCC], NFKD: [0x1100, 0x1171, 0x11B3] }, -{ source: [0xADCD], NFC: [0xADCD], NFD: [0x1100, 0x1171, 0x11B4], NFKC: [0xADCD], NFKD: [0x1100, 0x1171, 0x11B4] }, -{ source: [0xADCE], NFC: [0xADCE], NFD: [0x1100, 0x1171, 0x11B5], NFKC: [0xADCE], NFKD: [0x1100, 0x1171, 0x11B5] }, -{ source: [0xADCF], NFC: [0xADCF], NFD: [0x1100, 0x1171, 0x11B6], NFKC: [0xADCF], NFKD: [0x1100, 0x1171, 0x11B6] }, -{ source: [0xADD0], NFC: [0xADD0], NFD: [0x1100, 0x1171, 0x11B7], NFKC: [0xADD0], NFKD: [0x1100, 0x1171, 0x11B7] }, -{ source: [0xADD1], NFC: [0xADD1], NFD: [0x1100, 0x1171, 0x11B8], NFKC: [0xADD1], NFKD: [0x1100, 0x1171, 0x11B8] }, -{ source: [0xADD2], NFC: [0xADD2], NFD: [0x1100, 0x1171, 0x11B9], NFKC: [0xADD2], NFKD: [0x1100, 0x1171, 0x11B9] }, -{ source: [0xADD3], NFC: [0xADD3], NFD: [0x1100, 0x1171, 0x11BA], NFKC: [0xADD3], NFKD: [0x1100, 0x1171, 0x11BA] }, -{ source: [0xADD4], NFC: [0xADD4], NFD: [0x1100, 0x1171, 0x11BB], NFKC: [0xADD4], NFKD: [0x1100, 0x1171, 0x11BB] }, -{ source: [0xADD5], NFC: [0xADD5], NFD: [0x1100, 0x1171, 0x11BC], NFKC: [0xADD5], NFKD: [0x1100, 0x1171, 0x11BC] }, -{ source: [0xADD6], NFC: [0xADD6], NFD: [0x1100, 0x1171, 0x11BD], NFKC: [0xADD6], NFKD: [0x1100, 0x1171, 0x11BD] }, -{ source: [0xADD7], NFC: [0xADD7], NFD: [0x1100, 0x1171, 0x11BE], NFKC: [0xADD7], NFKD: [0x1100, 0x1171, 0x11BE] }, -{ source: [0xADD8], NFC: [0xADD8], NFD: [0x1100, 0x1171, 0x11BF], NFKC: [0xADD8], NFKD: [0x1100, 0x1171, 0x11BF] }, -{ source: [0xADD9], NFC: [0xADD9], NFD: [0x1100, 0x1171, 0x11C0], NFKC: [0xADD9], NFKD: [0x1100, 0x1171, 0x11C0] }, -{ source: [0xADDA], NFC: [0xADDA], NFD: [0x1100, 0x1171, 0x11C1], NFKC: [0xADDA], NFKD: [0x1100, 0x1171, 0x11C1] }, -{ source: [0xADDB], NFC: [0xADDB], NFD: [0x1100, 0x1171, 0x11C2], NFKC: [0xADDB], NFKD: [0x1100, 0x1171, 0x11C2] }, -{ source: [0xADDC], NFC: [0xADDC], NFD: [0x1100, 0x1172], NFKC: [0xADDC], NFKD: [0x1100, 0x1172] }, -{ source: [0xADDD], NFC: [0xADDD], NFD: [0x1100, 0x1172, 0x11A8], NFKC: [0xADDD], NFKD: [0x1100, 0x1172, 0x11A8] }, -{ source: [0xADDE], NFC: [0xADDE], NFD: [0x1100, 0x1172, 0x11A9], NFKC: [0xADDE], NFKD: [0x1100, 0x1172, 0x11A9] }, -{ source: [0xADDF], NFC: [0xADDF], NFD: [0x1100, 0x1172, 0x11AA], NFKC: [0xADDF], NFKD: [0x1100, 0x1172, 0x11AA] }, -{ source: [0xADE0], NFC: [0xADE0], NFD: [0x1100, 0x1172, 0x11AB], NFKC: [0xADE0], NFKD: [0x1100, 0x1172, 0x11AB] }, -{ source: [0xADE1], NFC: [0xADE1], NFD: [0x1100, 0x1172, 0x11AC], NFKC: [0xADE1], NFKD: [0x1100, 0x1172, 0x11AC] }, -{ source: [0xADE2], NFC: [0xADE2], NFD: [0x1100, 0x1172, 0x11AD], NFKC: [0xADE2], NFKD: [0x1100, 0x1172, 0x11AD] }, -{ source: [0xADE3], NFC: [0xADE3], NFD: [0x1100, 0x1172, 0x11AE], NFKC: [0xADE3], NFKD: [0x1100, 0x1172, 0x11AE] }, -{ source: [0xADE4], NFC: [0xADE4], NFD: [0x1100, 0x1172, 0x11AF], NFKC: [0xADE4], NFKD: [0x1100, 0x1172, 0x11AF] }, -{ source: [0xADE5], NFC: [0xADE5], NFD: [0x1100, 0x1172, 0x11B0], NFKC: [0xADE5], NFKD: [0x1100, 0x1172, 0x11B0] }, -{ source: [0xADE6], NFC: [0xADE6], NFD: [0x1100, 0x1172, 0x11B1], NFKC: [0xADE6], NFKD: [0x1100, 0x1172, 0x11B1] }, -{ source: [0xADE7], NFC: [0xADE7], NFD: [0x1100, 0x1172, 0x11B2], NFKC: [0xADE7], NFKD: [0x1100, 0x1172, 0x11B2] }, -{ source: [0xADE8], NFC: [0xADE8], NFD: [0x1100, 0x1172, 0x11B3], NFKC: [0xADE8], NFKD: [0x1100, 0x1172, 0x11B3] }, -{ source: [0xADE9], NFC: [0xADE9], NFD: [0x1100, 0x1172, 0x11B4], NFKC: [0xADE9], NFKD: [0x1100, 0x1172, 0x11B4] }, -{ source: [0xADEA], NFC: [0xADEA], NFD: [0x1100, 0x1172, 0x11B5], NFKC: [0xADEA], NFKD: [0x1100, 0x1172, 0x11B5] }, -{ source: [0xADEB], NFC: [0xADEB], NFD: [0x1100, 0x1172, 0x11B6], NFKC: [0xADEB], NFKD: [0x1100, 0x1172, 0x11B6] }, -{ source: [0xADEC], NFC: [0xADEC], NFD: [0x1100, 0x1172, 0x11B7], NFKC: [0xADEC], NFKD: [0x1100, 0x1172, 0x11B7] }, -{ source: [0xADED], NFC: [0xADED], NFD: [0x1100, 0x1172, 0x11B8], NFKC: [0xADED], NFKD: [0x1100, 0x1172, 0x11B8] }, -{ source: [0xADEE], NFC: [0xADEE], NFD: [0x1100, 0x1172, 0x11B9], NFKC: [0xADEE], NFKD: [0x1100, 0x1172, 0x11B9] }, -{ source: [0xADEF], NFC: [0xADEF], NFD: [0x1100, 0x1172, 0x11BA], NFKC: [0xADEF], NFKD: [0x1100, 0x1172, 0x11BA] }, -{ source: [0xADF0], NFC: [0xADF0], NFD: [0x1100, 0x1172, 0x11BB], NFKC: [0xADF0], NFKD: [0x1100, 0x1172, 0x11BB] }, -{ source: [0xADF1], NFC: [0xADF1], NFD: [0x1100, 0x1172, 0x11BC], NFKC: [0xADF1], NFKD: [0x1100, 0x1172, 0x11BC] }, -{ source: [0xADF2], NFC: [0xADF2], NFD: [0x1100, 0x1172, 0x11BD], NFKC: [0xADF2], NFKD: [0x1100, 0x1172, 0x11BD] }, -{ source: [0xADF3], NFC: [0xADF3], NFD: [0x1100, 0x1172, 0x11BE], NFKC: [0xADF3], NFKD: [0x1100, 0x1172, 0x11BE] }, -{ source: [0xADF4], NFC: [0xADF4], NFD: [0x1100, 0x1172, 0x11BF], NFKC: [0xADF4], NFKD: [0x1100, 0x1172, 0x11BF] }, -{ source: [0xADF5], NFC: [0xADF5], NFD: [0x1100, 0x1172, 0x11C0], NFKC: [0xADF5], NFKD: [0x1100, 0x1172, 0x11C0] }, -{ source: [0xADF6], NFC: [0xADF6], NFD: [0x1100, 0x1172, 0x11C1], NFKC: [0xADF6], NFKD: [0x1100, 0x1172, 0x11C1] }, -{ source: [0xADF7], NFC: [0xADF7], NFD: [0x1100, 0x1172, 0x11C2], NFKC: [0xADF7], NFKD: [0x1100, 0x1172, 0x11C2] }, -{ source: [0xADF8], NFC: [0xADF8], NFD: [0x1100, 0x1173], NFKC: [0xADF8], NFKD: [0x1100, 0x1173] }, -{ source: [0xADF9], NFC: [0xADF9], NFD: [0x1100, 0x1173, 0x11A8], NFKC: [0xADF9], NFKD: [0x1100, 0x1173, 0x11A8] }, -{ source: [0xADFA], NFC: [0xADFA], NFD: [0x1100, 0x1173, 0x11A9], NFKC: [0xADFA], NFKD: [0x1100, 0x1173, 0x11A9] }, -{ source: [0xADFB], NFC: [0xADFB], NFD: [0x1100, 0x1173, 0x11AA], NFKC: [0xADFB], NFKD: [0x1100, 0x1173, 0x11AA] }, -{ source: [0xADFC], NFC: [0xADFC], NFD: [0x1100, 0x1173, 0x11AB], NFKC: [0xADFC], NFKD: [0x1100, 0x1173, 0x11AB] }, -{ source: [0xADFD], NFC: [0xADFD], NFD: [0x1100, 0x1173, 0x11AC], NFKC: [0xADFD], NFKD: [0x1100, 0x1173, 0x11AC] }, -{ source: [0xADFE], NFC: [0xADFE], NFD: [0x1100, 0x1173, 0x11AD], NFKC: [0xADFE], NFKD: [0x1100, 0x1173, 0x11AD] }, -{ source: [0xADFF], NFC: [0xADFF], NFD: [0x1100, 0x1173, 0x11AE], NFKC: [0xADFF], NFKD: [0x1100, 0x1173, 0x11AE] }, -{ source: [0xAE00], NFC: [0xAE00], NFD: [0x1100, 0x1173, 0x11AF], NFKC: [0xAE00], NFKD: [0x1100, 0x1173, 0x11AF] }, -{ source: [0xAE01], NFC: [0xAE01], NFD: [0x1100, 0x1173, 0x11B0], NFKC: [0xAE01], NFKD: [0x1100, 0x1173, 0x11B0] }, -{ source: [0xAE02], NFC: [0xAE02], NFD: [0x1100, 0x1173, 0x11B1], NFKC: [0xAE02], NFKD: [0x1100, 0x1173, 0x11B1] }, -{ source: [0xAE03], NFC: [0xAE03], NFD: [0x1100, 0x1173, 0x11B2], NFKC: [0xAE03], NFKD: [0x1100, 0x1173, 0x11B2] }, -{ source: [0xAE04], NFC: [0xAE04], NFD: [0x1100, 0x1173, 0x11B3], NFKC: [0xAE04], NFKD: [0x1100, 0x1173, 0x11B3] }, -{ source: [0xAE05], NFC: [0xAE05], NFD: [0x1100, 0x1173, 0x11B4], NFKC: [0xAE05], NFKD: [0x1100, 0x1173, 0x11B4] }, -{ source: [0xAE06], NFC: [0xAE06], NFD: [0x1100, 0x1173, 0x11B5], NFKC: [0xAE06], NFKD: [0x1100, 0x1173, 0x11B5] }, -{ source: [0xAE07], NFC: [0xAE07], NFD: [0x1100, 0x1173, 0x11B6], NFKC: [0xAE07], NFKD: [0x1100, 0x1173, 0x11B6] }, -{ source: [0xAE08], NFC: [0xAE08], NFD: [0x1100, 0x1173, 0x11B7], NFKC: [0xAE08], NFKD: [0x1100, 0x1173, 0x11B7] }, -{ source: [0xAE09], NFC: [0xAE09], NFD: [0x1100, 0x1173, 0x11B8], NFKC: [0xAE09], NFKD: [0x1100, 0x1173, 0x11B8] }, -{ source: [0xAE0A], NFC: [0xAE0A], NFD: [0x1100, 0x1173, 0x11B9], NFKC: [0xAE0A], NFKD: [0x1100, 0x1173, 0x11B9] }, -{ source: [0xAE0B], NFC: [0xAE0B], NFD: [0x1100, 0x1173, 0x11BA], NFKC: [0xAE0B], NFKD: [0x1100, 0x1173, 0x11BA] }, -{ source: [0xAE0C], NFC: [0xAE0C], NFD: [0x1100, 0x1173, 0x11BB], NFKC: [0xAE0C], NFKD: [0x1100, 0x1173, 0x11BB] }, -{ source: [0xAE0D], NFC: [0xAE0D], NFD: [0x1100, 0x1173, 0x11BC], NFKC: [0xAE0D], NFKD: [0x1100, 0x1173, 0x11BC] }, -{ source: [0xAE0E], NFC: [0xAE0E], NFD: [0x1100, 0x1173, 0x11BD], NFKC: [0xAE0E], NFKD: [0x1100, 0x1173, 0x11BD] }, -{ source: [0xAE0F], NFC: [0xAE0F], NFD: [0x1100, 0x1173, 0x11BE], NFKC: [0xAE0F], NFKD: [0x1100, 0x1173, 0x11BE] }, -{ source: [0xAE10], NFC: [0xAE10], NFD: [0x1100, 0x1173, 0x11BF], NFKC: [0xAE10], NFKD: [0x1100, 0x1173, 0x11BF] }, -{ source: [0xAE11], NFC: [0xAE11], NFD: [0x1100, 0x1173, 0x11C0], NFKC: [0xAE11], NFKD: [0x1100, 0x1173, 0x11C0] }, -{ source: [0xAE12], NFC: [0xAE12], NFD: [0x1100, 0x1173, 0x11C1], NFKC: [0xAE12], NFKD: [0x1100, 0x1173, 0x11C1] }, -{ source: [0xAE13], NFC: [0xAE13], NFD: [0x1100, 0x1173, 0x11C2], NFKC: [0xAE13], NFKD: [0x1100, 0x1173, 0x11C2] }, -{ source: [0xAE14], NFC: [0xAE14], NFD: [0x1100, 0x1174], NFKC: [0xAE14], NFKD: [0x1100, 0x1174] }, -{ source: [0xAE15], NFC: [0xAE15], NFD: [0x1100, 0x1174, 0x11A8], NFKC: [0xAE15], NFKD: [0x1100, 0x1174, 0x11A8] }, -{ source: [0xAE16], NFC: [0xAE16], NFD: [0x1100, 0x1174, 0x11A9], NFKC: [0xAE16], NFKD: [0x1100, 0x1174, 0x11A9] }, -{ source: [0xAE17], NFC: [0xAE17], NFD: [0x1100, 0x1174, 0x11AA], NFKC: [0xAE17], NFKD: [0x1100, 0x1174, 0x11AA] }, -{ source: [0xAE18], NFC: [0xAE18], NFD: [0x1100, 0x1174, 0x11AB], NFKC: [0xAE18], NFKD: [0x1100, 0x1174, 0x11AB] }, -{ source: [0xAE19], NFC: [0xAE19], NFD: [0x1100, 0x1174, 0x11AC], NFKC: [0xAE19], NFKD: [0x1100, 0x1174, 0x11AC] }, -{ source: [0xAE1A], NFC: [0xAE1A], NFD: [0x1100, 0x1174, 0x11AD], NFKC: [0xAE1A], NFKD: [0x1100, 0x1174, 0x11AD] }, -{ source: [0xAE1B], NFC: [0xAE1B], NFD: [0x1100, 0x1174, 0x11AE], NFKC: [0xAE1B], NFKD: [0x1100, 0x1174, 0x11AE] }, -{ source: [0xAE1C], NFC: [0xAE1C], NFD: [0x1100, 0x1174, 0x11AF], NFKC: [0xAE1C], NFKD: [0x1100, 0x1174, 0x11AF] }, -{ source: [0xAE1D], NFC: [0xAE1D], NFD: [0x1100, 0x1174, 0x11B0], NFKC: [0xAE1D], NFKD: [0x1100, 0x1174, 0x11B0] }, -{ source: [0xAE1E], NFC: [0xAE1E], NFD: [0x1100, 0x1174, 0x11B1], NFKC: [0xAE1E], NFKD: [0x1100, 0x1174, 0x11B1] }, -{ source: [0xAE1F], NFC: [0xAE1F], NFD: [0x1100, 0x1174, 0x11B2], NFKC: [0xAE1F], NFKD: [0x1100, 0x1174, 0x11B2] }, -{ source: [0xAE20], NFC: [0xAE20], NFD: [0x1100, 0x1174, 0x11B3], NFKC: [0xAE20], NFKD: [0x1100, 0x1174, 0x11B3] }, -{ source: [0xAE21], NFC: [0xAE21], NFD: [0x1100, 0x1174, 0x11B4], NFKC: [0xAE21], NFKD: [0x1100, 0x1174, 0x11B4] }, -{ source: [0xAE22], NFC: [0xAE22], NFD: [0x1100, 0x1174, 0x11B5], NFKC: [0xAE22], NFKD: [0x1100, 0x1174, 0x11B5] }, -{ source: [0xAE23], NFC: [0xAE23], NFD: [0x1100, 0x1174, 0x11B6], NFKC: [0xAE23], NFKD: [0x1100, 0x1174, 0x11B6] }, -{ source: [0xAE24], NFC: [0xAE24], NFD: [0x1100, 0x1174, 0x11B7], NFKC: [0xAE24], NFKD: [0x1100, 0x1174, 0x11B7] }, -{ source: [0xAE25], NFC: [0xAE25], NFD: [0x1100, 0x1174, 0x11B8], NFKC: [0xAE25], NFKD: [0x1100, 0x1174, 0x11B8] }, -{ source: [0xAE26], NFC: [0xAE26], NFD: [0x1100, 0x1174, 0x11B9], NFKC: [0xAE26], NFKD: [0x1100, 0x1174, 0x11B9] }, -{ source: [0xAE27], NFC: [0xAE27], NFD: [0x1100, 0x1174, 0x11BA], NFKC: [0xAE27], NFKD: [0x1100, 0x1174, 0x11BA] }, -{ source: [0xAE28], NFC: [0xAE28], NFD: [0x1100, 0x1174, 0x11BB], NFKC: [0xAE28], NFKD: [0x1100, 0x1174, 0x11BB] }, -{ source: [0xAE29], NFC: [0xAE29], NFD: [0x1100, 0x1174, 0x11BC], NFKC: [0xAE29], NFKD: [0x1100, 0x1174, 0x11BC] }, -{ source: [0xAE2A], NFC: [0xAE2A], NFD: [0x1100, 0x1174, 0x11BD], NFKC: [0xAE2A], NFKD: [0x1100, 0x1174, 0x11BD] }, -{ source: [0xAE2B], NFC: [0xAE2B], NFD: [0x1100, 0x1174, 0x11BE], NFKC: [0xAE2B], NFKD: [0x1100, 0x1174, 0x11BE] }, -{ source: [0xAE2C], NFC: [0xAE2C], NFD: [0x1100, 0x1174, 0x11BF], NFKC: [0xAE2C], NFKD: [0x1100, 0x1174, 0x11BF] }, -{ source: [0xAE2D], NFC: [0xAE2D], NFD: [0x1100, 0x1174, 0x11C0], NFKC: [0xAE2D], NFKD: [0x1100, 0x1174, 0x11C0] }, -{ source: [0xAE2E], NFC: [0xAE2E], NFD: [0x1100, 0x1174, 0x11C1], NFKC: [0xAE2E], NFKD: [0x1100, 0x1174, 0x11C1] }, -{ source: [0xAE2F], NFC: [0xAE2F], NFD: [0x1100, 0x1174, 0x11C2], NFKC: [0xAE2F], NFKD: [0x1100, 0x1174, 0x11C2] }, -{ source: [0xAE30], NFC: [0xAE30], NFD: [0x1100, 0x1175], NFKC: [0xAE30], NFKD: [0x1100, 0x1175] }, -{ source: [0xAE31], NFC: [0xAE31], NFD: [0x1100, 0x1175, 0x11A8], NFKC: [0xAE31], NFKD: [0x1100, 0x1175, 0x11A8] }, -{ source: [0xAE32], NFC: [0xAE32], NFD: [0x1100, 0x1175, 0x11A9], NFKC: [0xAE32], NFKD: [0x1100, 0x1175, 0x11A9] }, -{ source: [0xAE33], NFC: [0xAE33], NFD: [0x1100, 0x1175, 0x11AA], NFKC: [0xAE33], NFKD: [0x1100, 0x1175, 0x11AA] }, -{ source: [0xAE34], NFC: [0xAE34], NFD: [0x1100, 0x1175, 0x11AB], NFKC: [0xAE34], NFKD: [0x1100, 0x1175, 0x11AB] }, -{ source: [0xAE35], NFC: [0xAE35], NFD: [0x1100, 0x1175, 0x11AC], NFKC: [0xAE35], NFKD: [0x1100, 0x1175, 0x11AC] }, -{ source: [0xAE36], NFC: [0xAE36], NFD: [0x1100, 0x1175, 0x11AD], NFKC: [0xAE36], NFKD: [0x1100, 0x1175, 0x11AD] }, -{ source: [0xAE37], NFC: [0xAE37], NFD: [0x1100, 0x1175, 0x11AE], NFKC: [0xAE37], NFKD: [0x1100, 0x1175, 0x11AE] }, -{ source: [0xAE38], NFC: [0xAE38], NFD: [0x1100, 0x1175, 0x11AF], NFKC: [0xAE38], NFKD: [0x1100, 0x1175, 0x11AF] }, -{ source: [0xAE39], NFC: [0xAE39], NFD: [0x1100, 0x1175, 0x11B0], NFKC: [0xAE39], NFKD: [0x1100, 0x1175, 0x11B0] }, -{ source: [0xAE3A], NFC: [0xAE3A], NFD: [0x1100, 0x1175, 0x11B1], NFKC: [0xAE3A], NFKD: [0x1100, 0x1175, 0x11B1] }, -{ source: [0xAE3B], NFC: [0xAE3B], NFD: [0x1100, 0x1175, 0x11B2], NFKC: [0xAE3B], NFKD: [0x1100, 0x1175, 0x11B2] }, -{ source: [0xAE3C], NFC: [0xAE3C], NFD: [0x1100, 0x1175, 0x11B3], NFKC: [0xAE3C], NFKD: [0x1100, 0x1175, 0x11B3] }, -{ source: [0xAE3D], NFC: [0xAE3D], NFD: [0x1100, 0x1175, 0x11B4], NFKC: [0xAE3D], NFKD: [0x1100, 0x1175, 0x11B4] }, -{ source: [0xAE3E], NFC: [0xAE3E], NFD: [0x1100, 0x1175, 0x11B5], NFKC: [0xAE3E], NFKD: [0x1100, 0x1175, 0x11B5] }, -{ source: [0xAE3F], NFC: [0xAE3F], NFD: [0x1100, 0x1175, 0x11B6], NFKC: [0xAE3F], NFKD: [0x1100, 0x1175, 0x11B6] }, -{ source: [0xAE40], NFC: [0xAE40], NFD: [0x1100, 0x1175, 0x11B7], NFKC: [0xAE40], NFKD: [0x1100, 0x1175, 0x11B7] }, -{ source: [0xAE41], NFC: [0xAE41], NFD: [0x1100, 0x1175, 0x11B8], NFKC: [0xAE41], NFKD: [0x1100, 0x1175, 0x11B8] }, -{ source: [0xAE42], NFC: [0xAE42], NFD: [0x1100, 0x1175, 0x11B9], NFKC: [0xAE42], NFKD: [0x1100, 0x1175, 0x11B9] }, -{ source: [0xAE43], NFC: [0xAE43], NFD: [0x1100, 0x1175, 0x11BA], NFKC: [0xAE43], NFKD: [0x1100, 0x1175, 0x11BA] }, -{ source: [0xAE44], NFC: [0xAE44], NFD: [0x1100, 0x1175, 0x11BB], NFKC: [0xAE44], NFKD: [0x1100, 0x1175, 0x11BB] }, -{ source: [0xAE45], NFC: [0xAE45], NFD: [0x1100, 0x1175, 0x11BC], NFKC: [0xAE45], NFKD: [0x1100, 0x1175, 0x11BC] }, -{ source: [0xAE46], NFC: [0xAE46], NFD: [0x1100, 0x1175, 0x11BD], NFKC: [0xAE46], NFKD: [0x1100, 0x1175, 0x11BD] }, -{ source: [0xAE47], NFC: [0xAE47], NFD: [0x1100, 0x1175, 0x11BE], NFKC: [0xAE47], NFKD: [0x1100, 0x1175, 0x11BE] }, -{ source: [0xAE48], NFC: [0xAE48], NFD: [0x1100, 0x1175, 0x11BF], NFKC: [0xAE48], NFKD: [0x1100, 0x1175, 0x11BF] }, -{ source: [0xAE49], NFC: [0xAE49], NFD: [0x1100, 0x1175, 0x11C0], NFKC: [0xAE49], NFKD: [0x1100, 0x1175, 0x11C0] }, -{ source: [0xAE4A], NFC: [0xAE4A], NFD: [0x1100, 0x1175, 0x11C1], NFKC: [0xAE4A], NFKD: [0x1100, 0x1175, 0x11C1] }, -{ source: [0xAE4B], NFC: [0xAE4B], NFD: [0x1100, 0x1175, 0x11C2], NFKC: [0xAE4B], NFKD: [0x1100, 0x1175, 0x11C2] }, -{ source: [0xAE4C], NFC: [0xAE4C], NFD: [0x1101, 0x1161], NFKC: [0xAE4C], NFKD: [0x1101, 0x1161] }, -{ source: [0xAE4D], NFC: [0xAE4D], NFD: [0x1101, 0x1161, 0x11A8], NFKC: [0xAE4D], NFKD: [0x1101, 0x1161, 0x11A8] }, -{ source: [0xAE4E], NFC: [0xAE4E], NFD: [0x1101, 0x1161, 0x11A9], NFKC: [0xAE4E], NFKD: [0x1101, 0x1161, 0x11A9] }, -{ source: [0xAE4F], NFC: [0xAE4F], NFD: [0x1101, 0x1161, 0x11AA], NFKC: [0xAE4F], NFKD: [0x1101, 0x1161, 0x11AA] }, -{ source: [0xAE50], NFC: [0xAE50], NFD: [0x1101, 0x1161, 0x11AB], NFKC: [0xAE50], NFKD: [0x1101, 0x1161, 0x11AB] }, -{ source: [0xAE51], NFC: [0xAE51], NFD: [0x1101, 0x1161, 0x11AC], NFKC: [0xAE51], NFKD: [0x1101, 0x1161, 0x11AC] }, -{ source: [0xAE52], NFC: [0xAE52], NFD: [0x1101, 0x1161, 0x11AD], NFKC: [0xAE52], NFKD: [0x1101, 0x1161, 0x11AD] }, -{ source: [0xAE53], NFC: [0xAE53], NFD: [0x1101, 0x1161, 0x11AE], NFKC: [0xAE53], NFKD: [0x1101, 0x1161, 0x11AE] }, -{ source: [0xAE54], NFC: [0xAE54], NFD: [0x1101, 0x1161, 0x11AF], NFKC: [0xAE54], NFKD: [0x1101, 0x1161, 0x11AF] }, -{ source: [0xAE55], NFC: [0xAE55], NFD: [0x1101, 0x1161, 0x11B0], NFKC: [0xAE55], NFKD: [0x1101, 0x1161, 0x11B0] }, -{ source: [0xAE56], NFC: [0xAE56], NFD: [0x1101, 0x1161, 0x11B1], NFKC: [0xAE56], NFKD: [0x1101, 0x1161, 0x11B1] }, -{ source: [0xAE57], NFC: [0xAE57], NFD: [0x1101, 0x1161, 0x11B2], NFKC: [0xAE57], NFKD: [0x1101, 0x1161, 0x11B2] }, -{ source: [0xAE58], NFC: [0xAE58], NFD: [0x1101, 0x1161, 0x11B3], NFKC: [0xAE58], NFKD: [0x1101, 0x1161, 0x11B3] }, -{ source: [0xAE59], NFC: [0xAE59], NFD: [0x1101, 0x1161, 0x11B4], NFKC: [0xAE59], NFKD: [0x1101, 0x1161, 0x11B4] }, -{ source: [0xAE5A], NFC: [0xAE5A], NFD: [0x1101, 0x1161, 0x11B5], NFKC: [0xAE5A], NFKD: [0x1101, 0x1161, 0x11B5] }, -{ source: [0xAE5B], NFC: [0xAE5B], NFD: [0x1101, 0x1161, 0x11B6], NFKC: [0xAE5B], NFKD: [0x1101, 0x1161, 0x11B6] }, -{ source: [0xAE5C], NFC: [0xAE5C], NFD: [0x1101, 0x1161, 0x11B7], NFKC: [0xAE5C], NFKD: [0x1101, 0x1161, 0x11B7] }, -{ source: [0xAE5D], NFC: [0xAE5D], NFD: [0x1101, 0x1161, 0x11B8], NFKC: [0xAE5D], NFKD: [0x1101, 0x1161, 0x11B8] }, -{ source: [0xAE5E], NFC: [0xAE5E], NFD: [0x1101, 0x1161, 0x11B9], NFKC: [0xAE5E], NFKD: [0x1101, 0x1161, 0x11B9] }, -{ source: [0xAE5F], NFC: [0xAE5F], NFD: [0x1101, 0x1161, 0x11BA], NFKC: [0xAE5F], NFKD: [0x1101, 0x1161, 0x11BA] }, -{ source: [0xAE60], NFC: [0xAE60], NFD: [0x1101, 0x1161, 0x11BB], NFKC: [0xAE60], NFKD: [0x1101, 0x1161, 0x11BB] }, -{ source: [0xAE61], NFC: [0xAE61], NFD: [0x1101, 0x1161, 0x11BC], NFKC: [0xAE61], NFKD: [0x1101, 0x1161, 0x11BC] }, -{ source: [0xAE62], NFC: [0xAE62], NFD: [0x1101, 0x1161, 0x11BD], NFKC: [0xAE62], NFKD: [0x1101, 0x1161, 0x11BD] }, -{ source: [0xAE63], NFC: [0xAE63], NFD: [0x1101, 0x1161, 0x11BE], NFKC: [0xAE63], NFKD: [0x1101, 0x1161, 0x11BE] }, -{ source: [0xAE64], NFC: [0xAE64], NFD: [0x1101, 0x1161, 0x11BF], NFKC: [0xAE64], NFKD: [0x1101, 0x1161, 0x11BF] }, -{ source: [0xAE65], NFC: [0xAE65], NFD: [0x1101, 0x1161, 0x11C0], NFKC: [0xAE65], NFKD: [0x1101, 0x1161, 0x11C0] }, -{ source: [0xAE66], NFC: [0xAE66], NFD: [0x1101, 0x1161, 0x11C1], NFKC: [0xAE66], NFKD: [0x1101, 0x1161, 0x11C1] }, -{ source: [0xAE67], NFC: [0xAE67], NFD: [0x1101, 0x1161, 0x11C2], NFKC: [0xAE67], NFKD: [0x1101, 0x1161, 0x11C2] }, -{ source: [0xAE68], NFC: [0xAE68], NFD: [0x1101, 0x1162], NFKC: [0xAE68], NFKD: [0x1101, 0x1162] }, -{ source: [0xAE69], NFC: [0xAE69], NFD: [0x1101, 0x1162, 0x11A8], NFKC: [0xAE69], NFKD: [0x1101, 0x1162, 0x11A8] }, -{ source: [0xAE6A], NFC: [0xAE6A], NFD: [0x1101, 0x1162, 0x11A9], NFKC: [0xAE6A], NFKD: [0x1101, 0x1162, 0x11A9] }, -{ source: [0xAE6B], NFC: [0xAE6B], NFD: [0x1101, 0x1162, 0x11AA], NFKC: [0xAE6B], NFKD: [0x1101, 0x1162, 0x11AA] }, -{ source: [0xAE6C], NFC: [0xAE6C], NFD: [0x1101, 0x1162, 0x11AB], NFKC: [0xAE6C], NFKD: [0x1101, 0x1162, 0x11AB] }, -{ source: [0xAE6D], NFC: [0xAE6D], NFD: [0x1101, 0x1162, 0x11AC], NFKC: [0xAE6D], NFKD: [0x1101, 0x1162, 0x11AC] }, -{ source: [0xAE6E], NFC: [0xAE6E], NFD: [0x1101, 0x1162, 0x11AD], NFKC: [0xAE6E], NFKD: [0x1101, 0x1162, 0x11AD] }, -{ source: [0xAE6F], NFC: [0xAE6F], NFD: [0x1101, 0x1162, 0x11AE], NFKC: [0xAE6F], NFKD: [0x1101, 0x1162, 0x11AE] }, -{ source: [0xAE70], NFC: [0xAE70], NFD: [0x1101, 0x1162, 0x11AF], NFKC: [0xAE70], NFKD: [0x1101, 0x1162, 0x11AF] }, -{ source: [0xAE71], NFC: [0xAE71], NFD: [0x1101, 0x1162, 0x11B0], NFKC: [0xAE71], NFKD: [0x1101, 0x1162, 0x11B0] }, -{ source: [0xAE72], NFC: [0xAE72], NFD: [0x1101, 0x1162, 0x11B1], NFKC: [0xAE72], NFKD: [0x1101, 0x1162, 0x11B1] }, -{ source: [0xAE73], NFC: [0xAE73], NFD: [0x1101, 0x1162, 0x11B2], NFKC: [0xAE73], NFKD: [0x1101, 0x1162, 0x11B2] }, -{ source: [0xAE74], NFC: [0xAE74], NFD: [0x1101, 0x1162, 0x11B3], NFKC: [0xAE74], NFKD: [0x1101, 0x1162, 0x11B3] }, -{ source: [0xAE75], NFC: [0xAE75], NFD: [0x1101, 0x1162, 0x11B4], NFKC: [0xAE75], NFKD: [0x1101, 0x1162, 0x11B4] }, -{ source: [0xAE76], NFC: [0xAE76], NFD: [0x1101, 0x1162, 0x11B5], NFKC: [0xAE76], NFKD: [0x1101, 0x1162, 0x11B5] }, -{ source: [0xAE77], NFC: [0xAE77], NFD: [0x1101, 0x1162, 0x11B6], NFKC: [0xAE77], NFKD: [0x1101, 0x1162, 0x11B6] }, -{ source: [0xAE78], NFC: [0xAE78], NFD: [0x1101, 0x1162, 0x11B7], NFKC: [0xAE78], NFKD: [0x1101, 0x1162, 0x11B7] }, -{ source: [0xAE79], NFC: [0xAE79], NFD: [0x1101, 0x1162, 0x11B8], NFKC: [0xAE79], NFKD: [0x1101, 0x1162, 0x11B8] }, -{ source: [0xAE7A], NFC: [0xAE7A], NFD: [0x1101, 0x1162, 0x11B9], NFKC: [0xAE7A], NFKD: [0x1101, 0x1162, 0x11B9] }, -{ source: [0xAE7B], NFC: [0xAE7B], NFD: [0x1101, 0x1162, 0x11BA], NFKC: [0xAE7B], NFKD: [0x1101, 0x1162, 0x11BA] }, -{ source: [0xAE7C], NFC: [0xAE7C], NFD: [0x1101, 0x1162, 0x11BB], NFKC: [0xAE7C], NFKD: [0x1101, 0x1162, 0x11BB] }, -{ source: [0xAE7D], NFC: [0xAE7D], NFD: [0x1101, 0x1162, 0x11BC], NFKC: [0xAE7D], NFKD: [0x1101, 0x1162, 0x11BC] }, -{ source: [0xAE7E], NFC: [0xAE7E], NFD: [0x1101, 0x1162, 0x11BD], NFKC: [0xAE7E], NFKD: [0x1101, 0x1162, 0x11BD] }, -{ source: [0xAE7F], NFC: [0xAE7F], NFD: [0x1101, 0x1162, 0x11BE], NFKC: [0xAE7F], NFKD: [0x1101, 0x1162, 0x11BE] }, -{ source: [0xAE80], NFC: [0xAE80], NFD: [0x1101, 0x1162, 0x11BF], NFKC: [0xAE80], NFKD: [0x1101, 0x1162, 0x11BF] }, -{ source: [0xAE81], NFC: [0xAE81], NFD: [0x1101, 0x1162, 0x11C0], NFKC: [0xAE81], NFKD: [0x1101, 0x1162, 0x11C0] }, -{ source: [0xAE82], NFC: [0xAE82], NFD: [0x1101, 0x1162, 0x11C1], NFKC: [0xAE82], NFKD: [0x1101, 0x1162, 0x11C1] }, -{ source: [0xAE83], NFC: [0xAE83], NFD: [0x1101, 0x1162, 0x11C2], NFKC: [0xAE83], NFKD: [0x1101, 0x1162, 0x11C2] }, -{ source: [0xAE84], NFC: [0xAE84], NFD: [0x1101, 0x1163], NFKC: [0xAE84], NFKD: [0x1101, 0x1163] }, -{ source: [0xAE85], NFC: [0xAE85], NFD: [0x1101, 0x1163, 0x11A8], NFKC: [0xAE85], NFKD: [0x1101, 0x1163, 0x11A8] }, -{ source: [0xAE86], NFC: [0xAE86], NFD: [0x1101, 0x1163, 0x11A9], NFKC: [0xAE86], NFKD: [0x1101, 0x1163, 0x11A9] }, -{ source: [0xAE87], NFC: [0xAE87], NFD: [0x1101, 0x1163, 0x11AA], NFKC: [0xAE87], NFKD: [0x1101, 0x1163, 0x11AA] }, -{ source: [0xAE88], NFC: [0xAE88], NFD: [0x1101, 0x1163, 0x11AB], NFKC: [0xAE88], NFKD: [0x1101, 0x1163, 0x11AB] }, -{ source: [0xAE89], NFC: [0xAE89], NFD: [0x1101, 0x1163, 0x11AC], NFKC: [0xAE89], NFKD: [0x1101, 0x1163, 0x11AC] }, -{ source: [0xAE8A], NFC: [0xAE8A], NFD: [0x1101, 0x1163, 0x11AD], NFKC: [0xAE8A], NFKD: [0x1101, 0x1163, 0x11AD] }, -{ source: [0xAE8B], NFC: [0xAE8B], NFD: [0x1101, 0x1163, 0x11AE], NFKC: [0xAE8B], NFKD: [0x1101, 0x1163, 0x11AE] }, -{ source: [0xAE8C], NFC: [0xAE8C], NFD: [0x1101, 0x1163, 0x11AF], NFKC: [0xAE8C], NFKD: [0x1101, 0x1163, 0x11AF] }, -{ source: [0xAE8D], NFC: [0xAE8D], NFD: [0x1101, 0x1163, 0x11B0], NFKC: [0xAE8D], NFKD: [0x1101, 0x1163, 0x11B0] }, -{ source: [0xAE8E], NFC: [0xAE8E], NFD: [0x1101, 0x1163, 0x11B1], NFKC: [0xAE8E], NFKD: [0x1101, 0x1163, 0x11B1] }, -{ source: [0xAE8F], NFC: [0xAE8F], NFD: [0x1101, 0x1163, 0x11B2], NFKC: [0xAE8F], NFKD: [0x1101, 0x1163, 0x11B2] }, -{ source: [0xAE90], NFC: [0xAE90], NFD: [0x1101, 0x1163, 0x11B3], NFKC: [0xAE90], NFKD: [0x1101, 0x1163, 0x11B3] }, -{ source: [0xAE91], NFC: [0xAE91], NFD: [0x1101, 0x1163, 0x11B4], NFKC: [0xAE91], NFKD: [0x1101, 0x1163, 0x11B4] }, -{ source: [0xAE92], NFC: [0xAE92], NFD: [0x1101, 0x1163, 0x11B5], NFKC: [0xAE92], NFKD: [0x1101, 0x1163, 0x11B5] }, -{ source: [0xAE93], NFC: [0xAE93], NFD: [0x1101, 0x1163, 0x11B6], NFKC: [0xAE93], NFKD: [0x1101, 0x1163, 0x11B6] }, -{ source: [0xAE94], NFC: [0xAE94], NFD: [0x1101, 0x1163, 0x11B7], NFKC: [0xAE94], NFKD: [0x1101, 0x1163, 0x11B7] }, -{ source: [0xAE95], NFC: [0xAE95], NFD: [0x1101, 0x1163, 0x11B8], NFKC: [0xAE95], NFKD: [0x1101, 0x1163, 0x11B8] }, -{ source: [0xAE96], NFC: [0xAE96], NFD: [0x1101, 0x1163, 0x11B9], NFKC: [0xAE96], NFKD: [0x1101, 0x1163, 0x11B9] }, -{ source: [0xAE97], NFC: [0xAE97], NFD: [0x1101, 0x1163, 0x11BA], NFKC: [0xAE97], NFKD: [0x1101, 0x1163, 0x11BA] }, -{ source: [0xAE98], NFC: [0xAE98], NFD: [0x1101, 0x1163, 0x11BB], NFKC: [0xAE98], NFKD: [0x1101, 0x1163, 0x11BB] }, -{ source: [0xAE99], NFC: [0xAE99], NFD: [0x1101, 0x1163, 0x11BC], NFKC: [0xAE99], NFKD: [0x1101, 0x1163, 0x11BC] }, -{ source: [0xAE9A], NFC: [0xAE9A], NFD: [0x1101, 0x1163, 0x11BD], NFKC: [0xAE9A], NFKD: [0x1101, 0x1163, 0x11BD] }, -{ source: [0xAE9B], NFC: [0xAE9B], NFD: [0x1101, 0x1163, 0x11BE], NFKC: [0xAE9B], NFKD: [0x1101, 0x1163, 0x11BE] }, -{ source: [0xAE9C], NFC: [0xAE9C], NFD: [0x1101, 0x1163, 0x11BF], NFKC: [0xAE9C], NFKD: [0x1101, 0x1163, 0x11BF] }, -{ source: [0xAE9D], NFC: [0xAE9D], NFD: [0x1101, 0x1163, 0x11C0], NFKC: [0xAE9D], NFKD: [0x1101, 0x1163, 0x11C0] }, -{ source: [0xAE9E], NFC: [0xAE9E], NFD: [0x1101, 0x1163, 0x11C1], NFKC: [0xAE9E], NFKD: [0x1101, 0x1163, 0x11C1] }, -{ source: [0xAE9F], NFC: [0xAE9F], NFD: [0x1101, 0x1163, 0x11C2], NFKC: [0xAE9F], NFKD: [0x1101, 0x1163, 0x11C2] }, -{ source: [0xAEA0], NFC: [0xAEA0], NFD: [0x1101, 0x1164], NFKC: [0xAEA0], NFKD: [0x1101, 0x1164] }, -{ source: [0xAEA1], NFC: [0xAEA1], NFD: [0x1101, 0x1164, 0x11A8], NFKC: [0xAEA1], NFKD: [0x1101, 0x1164, 0x11A8] }, -{ source: [0xAEA2], NFC: [0xAEA2], NFD: [0x1101, 0x1164, 0x11A9], NFKC: [0xAEA2], NFKD: [0x1101, 0x1164, 0x11A9] }, -{ source: [0xAEA3], NFC: [0xAEA3], NFD: [0x1101, 0x1164, 0x11AA], NFKC: [0xAEA3], NFKD: [0x1101, 0x1164, 0x11AA] }, -{ source: [0xAEA4], NFC: [0xAEA4], NFD: [0x1101, 0x1164, 0x11AB], NFKC: [0xAEA4], NFKD: [0x1101, 0x1164, 0x11AB] }, -{ source: [0xAEA5], NFC: [0xAEA5], NFD: [0x1101, 0x1164, 0x11AC], NFKC: [0xAEA5], NFKD: [0x1101, 0x1164, 0x11AC] }, -{ source: [0xAEA6], NFC: [0xAEA6], NFD: [0x1101, 0x1164, 0x11AD], NFKC: [0xAEA6], NFKD: [0x1101, 0x1164, 0x11AD] }, -{ source: [0xAEA7], NFC: [0xAEA7], NFD: [0x1101, 0x1164, 0x11AE], NFKC: [0xAEA7], NFKD: [0x1101, 0x1164, 0x11AE] }, -{ source: [0xAEA8], NFC: [0xAEA8], NFD: [0x1101, 0x1164, 0x11AF], NFKC: [0xAEA8], NFKD: [0x1101, 0x1164, 0x11AF] }, -{ source: [0xAEA9], NFC: [0xAEA9], NFD: [0x1101, 0x1164, 0x11B0], NFKC: [0xAEA9], NFKD: [0x1101, 0x1164, 0x11B0] }, -{ source: [0xAEAA], NFC: [0xAEAA], NFD: [0x1101, 0x1164, 0x11B1], NFKC: [0xAEAA], NFKD: [0x1101, 0x1164, 0x11B1] }, -{ source: [0xAEAB], NFC: [0xAEAB], NFD: [0x1101, 0x1164, 0x11B2], NFKC: [0xAEAB], NFKD: [0x1101, 0x1164, 0x11B2] }, -{ source: [0xAEAC], NFC: [0xAEAC], NFD: [0x1101, 0x1164, 0x11B3], NFKC: [0xAEAC], NFKD: [0x1101, 0x1164, 0x11B3] }, -{ source: [0xAEAD], NFC: [0xAEAD], NFD: [0x1101, 0x1164, 0x11B4], NFKC: [0xAEAD], NFKD: [0x1101, 0x1164, 0x11B4] }, -{ source: [0xAEAE], NFC: [0xAEAE], NFD: [0x1101, 0x1164, 0x11B5], NFKC: [0xAEAE], NFKD: [0x1101, 0x1164, 0x11B5] }, -{ source: [0xAEAF], NFC: [0xAEAF], NFD: [0x1101, 0x1164, 0x11B6], NFKC: [0xAEAF], NFKD: [0x1101, 0x1164, 0x11B6] }, -{ source: [0xAEB0], NFC: [0xAEB0], NFD: [0x1101, 0x1164, 0x11B7], NFKC: [0xAEB0], NFKD: [0x1101, 0x1164, 0x11B7] }, -{ source: [0xAEB1], NFC: [0xAEB1], NFD: [0x1101, 0x1164, 0x11B8], NFKC: [0xAEB1], NFKD: [0x1101, 0x1164, 0x11B8] }, -{ source: [0xAEB2], NFC: [0xAEB2], NFD: [0x1101, 0x1164, 0x11B9], NFKC: [0xAEB2], NFKD: [0x1101, 0x1164, 0x11B9] }, -{ source: [0xAEB3], NFC: [0xAEB3], NFD: [0x1101, 0x1164, 0x11BA], NFKC: [0xAEB3], NFKD: [0x1101, 0x1164, 0x11BA] }, -{ source: [0xAEB4], NFC: [0xAEB4], NFD: [0x1101, 0x1164, 0x11BB], NFKC: [0xAEB4], NFKD: [0x1101, 0x1164, 0x11BB] }, -{ source: [0xAEB5], NFC: [0xAEB5], NFD: [0x1101, 0x1164, 0x11BC], NFKC: [0xAEB5], NFKD: [0x1101, 0x1164, 0x11BC] }, -{ source: [0xAEB6], NFC: [0xAEB6], NFD: [0x1101, 0x1164, 0x11BD], NFKC: [0xAEB6], NFKD: [0x1101, 0x1164, 0x11BD] }, -{ source: [0xAEB7], NFC: [0xAEB7], NFD: [0x1101, 0x1164, 0x11BE], NFKC: [0xAEB7], NFKD: [0x1101, 0x1164, 0x11BE] }, -{ source: [0xAEB8], NFC: [0xAEB8], NFD: [0x1101, 0x1164, 0x11BF], NFKC: [0xAEB8], NFKD: [0x1101, 0x1164, 0x11BF] }, -{ source: [0xAEB9], NFC: [0xAEB9], NFD: [0x1101, 0x1164, 0x11C0], NFKC: [0xAEB9], NFKD: [0x1101, 0x1164, 0x11C0] }, -{ source: [0xAEBA], NFC: [0xAEBA], NFD: [0x1101, 0x1164, 0x11C1], NFKC: [0xAEBA], NFKD: [0x1101, 0x1164, 0x11C1] }, -{ source: [0xAEBB], NFC: [0xAEBB], NFD: [0x1101, 0x1164, 0x11C2], NFKC: [0xAEBB], NFKD: [0x1101, 0x1164, 0x11C2] }, -{ source: [0xAEBC], NFC: [0xAEBC], NFD: [0x1101, 0x1165], NFKC: [0xAEBC], NFKD: [0x1101, 0x1165] }, -{ source: [0xAEBD], NFC: [0xAEBD], NFD: [0x1101, 0x1165, 0x11A8], NFKC: [0xAEBD], NFKD: [0x1101, 0x1165, 0x11A8] }, -{ source: [0xAEBE], NFC: [0xAEBE], NFD: [0x1101, 0x1165, 0x11A9], NFKC: [0xAEBE], NFKD: [0x1101, 0x1165, 0x11A9] }, -{ source: [0xAEBF], NFC: [0xAEBF], NFD: [0x1101, 0x1165, 0x11AA], NFKC: [0xAEBF], NFKD: [0x1101, 0x1165, 0x11AA] }, -{ source: [0xAEC0], NFC: [0xAEC0], NFD: [0x1101, 0x1165, 0x11AB], NFKC: [0xAEC0], NFKD: [0x1101, 0x1165, 0x11AB] }, -{ source: [0xAEC1], NFC: [0xAEC1], NFD: [0x1101, 0x1165, 0x11AC], NFKC: [0xAEC1], NFKD: [0x1101, 0x1165, 0x11AC] }, -{ source: [0xAEC2], NFC: [0xAEC2], NFD: [0x1101, 0x1165, 0x11AD], NFKC: [0xAEC2], NFKD: [0x1101, 0x1165, 0x11AD] }, -{ source: [0xAEC3], NFC: [0xAEC3], NFD: [0x1101, 0x1165, 0x11AE], NFKC: [0xAEC3], NFKD: [0x1101, 0x1165, 0x11AE] }, -{ source: [0xAEC4], NFC: [0xAEC4], NFD: [0x1101, 0x1165, 0x11AF], NFKC: [0xAEC4], NFKD: [0x1101, 0x1165, 0x11AF] }, -{ source: [0xAEC5], NFC: [0xAEC5], NFD: [0x1101, 0x1165, 0x11B0], NFKC: [0xAEC5], NFKD: [0x1101, 0x1165, 0x11B0] }, -{ source: [0xAEC6], NFC: [0xAEC6], NFD: [0x1101, 0x1165, 0x11B1], NFKC: [0xAEC6], NFKD: [0x1101, 0x1165, 0x11B1] }, -{ source: [0xAEC7], NFC: [0xAEC7], NFD: [0x1101, 0x1165, 0x11B2], NFKC: [0xAEC7], NFKD: [0x1101, 0x1165, 0x11B2] }, -{ source: [0xAEC8], NFC: [0xAEC8], NFD: [0x1101, 0x1165, 0x11B3], NFKC: [0xAEC8], NFKD: [0x1101, 0x1165, 0x11B3] }, -{ source: [0xAEC9], NFC: [0xAEC9], NFD: [0x1101, 0x1165, 0x11B4], NFKC: [0xAEC9], NFKD: [0x1101, 0x1165, 0x11B4] }, -{ source: [0xAECA], NFC: [0xAECA], NFD: [0x1101, 0x1165, 0x11B5], NFKC: [0xAECA], NFKD: [0x1101, 0x1165, 0x11B5] }, -{ source: [0xAECB], NFC: [0xAECB], NFD: [0x1101, 0x1165, 0x11B6], NFKC: [0xAECB], NFKD: [0x1101, 0x1165, 0x11B6] }, -{ source: [0xAECC], NFC: [0xAECC], NFD: [0x1101, 0x1165, 0x11B7], NFKC: [0xAECC], NFKD: [0x1101, 0x1165, 0x11B7] }, -{ source: [0xAECD], NFC: [0xAECD], NFD: [0x1101, 0x1165, 0x11B8], NFKC: [0xAECD], NFKD: [0x1101, 0x1165, 0x11B8] }, -{ source: [0xAECE], NFC: [0xAECE], NFD: [0x1101, 0x1165, 0x11B9], NFKC: [0xAECE], NFKD: [0x1101, 0x1165, 0x11B9] }, -{ source: [0xAECF], NFC: [0xAECF], NFD: [0x1101, 0x1165, 0x11BA], NFKC: [0xAECF], NFKD: [0x1101, 0x1165, 0x11BA] }, -{ source: [0xAED0], NFC: [0xAED0], NFD: [0x1101, 0x1165, 0x11BB], NFKC: [0xAED0], NFKD: [0x1101, 0x1165, 0x11BB] }, -{ source: [0xAED1], NFC: [0xAED1], NFD: [0x1101, 0x1165, 0x11BC], NFKC: [0xAED1], NFKD: [0x1101, 0x1165, 0x11BC] }, -{ source: [0xAED2], NFC: [0xAED2], NFD: [0x1101, 0x1165, 0x11BD], NFKC: [0xAED2], NFKD: [0x1101, 0x1165, 0x11BD] }, -{ source: [0xAED3], NFC: [0xAED3], NFD: [0x1101, 0x1165, 0x11BE], NFKC: [0xAED3], NFKD: [0x1101, 0x1165, 0x11BE] }, -{ source: [0xAED4], NFC: [0xAED4], NFD: [0x1101, 0x1165, 0x11BF], NFKC: [0xAED4], NFKD: [0x1101, 0x1165, 0x11BF] }, -{ source: [0xAED5], NFC: [0xAED5], NFD: [0x1101, 0x1165, 0x11C0], NFKC: [0xAED5], NFKD: [0x1101, 0x1165, 0x11C0] }, -{ source: [0xAED6], NFC: [0xAED6], NFD: [0x1101, 0x1165, 0x11C1], NFKC: [0xAED6], NFKD: [0x1101, 0x1165, 0x11C1] }, -{ source: [0xAED7], NFC: [0xAED7], NFD: [0x1101, 0x1165, 0x11C2], NFKC: [0xAED7], NFKD: [0x1101, 0x1165, 0x11C2] }, -{ source: [0xAED8], NFC: [0xAED8], NFD: [0x1101, 0x1166], NFKC: [0xAED8], NFKD: [0x1101, 0x1166] }, -{ source: [0xAED9], NFC: [0xAED9], NFD: [0x1101, 0x1166, 0x11A8], NFKC: [0xAED9], NFKD: [0x1101, 0x1166, 0x11A8] }, -{ source: [0xAEDA], NFC: [0xAEDA], NFD: [0x1101, 0x1166, 0x11A9], NFKC: [0xAEDA], NFKD: [0x1101, 0x1166, 0x11A9] }, -{ source: [0xAEDB], NFC: [0xAEDB], NFD: [0x1101, 0x1166, 0x11AA], NFKC: [0xAEDB], NFKD: [0x1101, 0x1166, 0x11AA] }, -{ source: [0xAEDC], NFC: [0xAEDC], NFD: [0x1101, 0x1166, 0x11AB], NFKC: [0xAEDC], NFKD: [0x1101, 0x1166, 0x11AB] }, -{ source: [0xAEDD], NFC: [0xAEDD], NFD: [0x1101, 0x1166, 0x11AC], NFKC: [0xAEDD], NFKD: [0x1101, 0x1166, 0x11AC] }, -{ source: [0xAEDE], NFC: [0xAEDE], NFD: [0x1101, 0x1166, 0x11AD], NFKC: [0xAEDE], NFKD: [0x1101, 0x1166, 0x11AD] }, -{ source: [0xAEDF], NFC: [0xAEDF], NFD: [0x1101, 0x1166, 0x11AE], NFKC: [0xAEDF], NFKD: [0x1101, 0x1166, 0x11AE] }, -{ source: [0xAEE0], NFC: [0xAEE0], NFD: [0x1101, 0x1166, 0x11AF], NFKC: [0xAEE0], NFKD: [0x1101, 0x1166, 0x11AF] }, -{ source: [0xAEE1], NFC: [0xAEE1], NFD: [0x1101, 0x1166, 0x11B0], NFKC: [0xAEE1], NFKD: [0x1101, 0x1166, 0x11B0] }, -{ source: [0xAEE2], NFC: [0xAEE2], NFD: [0x1101, 0x1166, 0x11B1], NFKC: [0xAEE2], NFKD: [0x1101, 0x1166, 0x11B1] }, -{ source: [0xAEE3], NFC: [0xAEE3], NFD: [0x1101, 0x1166, 0x11B2], NFKC: [0xAEE3], NFKD: [0x1101, 0x1166, 0x11B2] }, -{ source: [0xAEE4], NFC: [0xAEE4], NFD: [0x1101, 0x1166, 0x11B3], NFKC: [0xAEE4], NFKD: [0x1101, 0x1166, 0x11B3] }, -{ source: [0xAEE5], NFC: [0xAEE5], NFD: [0x1101, 0x1166, 0x11B4], NFKC: [0xAEE5], NFKD: [0x1101, 0x1166, 0x11B4] }, -{ source: [0xAEE6], NFC: [0xAEE6], NFD: [0x1101, 0x1166, 0x11B5], NFKC: [0xAEE6], NFKD: [0x1101, 0x1166, 0x11B5] }, -{ source: [0xAEE7], NFC: [0xAEE7], NFD: [0x1101, 0x1166, 0x11B6], NFKC: [0xAEE7], NFKD: [0x1101, 0x1166, 0x11B6] }, -{ source: [0xAEE8], NFC: [0xAEE8], NFD: [0x1101, 0x1166, 0x11B7], NFKC: [0xAEE8], NFKD: [0x1101, 0x1166, 0x11B7] }, -{ source: [0xAEE9], NFC: [0xAEE9], NFD: [0x1101, 0x1166, 0x11B8], NFKC: [0xAEE9], NFKD: [0x1101, 0x1166, 0x11B8] }, -{ source: [0xAEEA], NFC: [0xAEEA], NFD: [0x1101, 0x1166, 0x11B9], NFKC: [0xAEEA], NFKD: [0x1101, 0x1166, 0x11B9] }, -{ source: [0xAEEB], NFC: [0xAEEB], NFD: [0x1101, 0x1166, 0x11BA], NFKC: [0xAEEB], NFKD: [0x1101, 0x1166, 0x11BA] }, -{ source: [0xAEEC], NFC: [0xAEEC], NFD: [0x1101, 0x1166, 0x11BB], NFKC: [0xAEEC], NFKD: [0x1101, 0x1166, 0x11BB] }, -{ source: [0xAEED], NFC: [0xAEED], NFD: [0x1101, 0x1166, 0x11BC], NFKC: [0xAEED], NFKD: [0x1101, 0x1166, 0x11BC] }, -{ source: [0xAEEE], NFC: [0xAEEE], NFD: [0x1101, 0x1166, 0x11BD], NFKC: [0xAEEE], NFKD: [0x1101, 0x1166, 0x11BD] }, -{ source: [0xAEEF], NFC: [0xAEEF], NFD: [0x1101, 0x1166, 0x11BE], NFKC: [0xAEEF], NFKD: [0x1101, 0x1166, 0x11BE] }, -{ source: [0xAEF0], NFC: [0xAEF0], NFD: [0x1101, 0x1166, 0x11BF], NFKC: [0xAEF0], NFKD: [0x1101, 0x1166, 0x11BF] }, -{ source: [0xAEF1], NFC: [0xAEF1], NFD: [0x1101, 0x1166, 0x11C0], NFKC: [0xAEF1], NFKD: [0x1101, 0x1166, 0x11C0] }, -{ source: [0xAEF2], NFC: [0xAEF2], NFD: [0x1101, 0x1166, 0x11C1], NFKC: [0xAEF2], NFKD: [0x1101, 0x1166, 0x11C1] }, -{ source: [0xAEF3], NFC: [0xAEF3], NFD: [0x1101, 0x1166, 0x11C2], NFKC: [0xAEF3], NFKD: [0x1101, 0x1166, 0x11C2] }, -{ source: [0xAEF4], NFC: [0xAEF4], NFD: [0x1101, 0x1167], NFKC: [0xAEF4], NFKD: [0x1101, 0x1167] }, -{ source: [0xAEF5], NFC: [0xAEF5], NFD: [0x1101, 0x1167, 0x11A8], NFKC: [0xAEF5], NFKD: [0x1101, 0x1167, 0x11A8] }, -{ source: [0xAEF6], NFC: [0xAEF6], NFD: [0x1101, 0x1167, 0x11A9], NFKC: [0xAEF6], NFKD: [0x1101, 0x1167, 0x11A9] }, -{ source: [0xAEF7], NFC: [0xAEF7], NFD: [0x1101, 0x1167, 0x11AA], NFKC: [0xAEF7], NFKD: [0x1101, 0x1167, 0x11AA] }, -{ source: [0xAEF8], NFC: [0xAEF8], NFD: [0x1101, 0x1167, 0x11AB], NFKC: [0xAEF8], NFKD: [0x1101, 0x1167, 0x11AB] }, -{ source: [0xAEF9], NFC: [0xAEF9], NFD: [0x1101, 0x1167, 0x11AC], NFKC: [0xAEF9], NFKD: [0x1101, 0x1167, 0x11AC] }, -{ source: [0xAEFA], NFC: [0xAEFA], NFD: [0x1101, 0x1167, 0x11AD], NFKC: [0xAEFA], NFKD: [0x1101, 0x1167, 0x11AD] }, -{ source: [0xAEFB], NFC: [0xAEFB], NFD: [0x1101, 0x1167, 0x11AE], NFKC: [0xAEFB], NFKD: [0x1101, 0x1167, 0x11AE] }, -{ source: [0xAEFC], NFC: [0xAEFC], NFD: [0x1101, 0x1167, 0x11AF], NFKC: [0xAEFC], NFKD: [0x1101, 0x1167, 0x11AF] }, -{ source: [0xAEFD], NFC: [0xAEFD], NFD: [0x1101, 0x1167, 0x11B0], NFKC: [0xAEFD], NFKD: [0x1101, 0x1167, 0x11B0] }, -{ source: [0xAEFE], NFC: [0xAEFE], NFD: [0x1101, 0x1167, 0x11B1], NFKC: [0xAEFE], NFKD: [0x1101, 0x1167, 0x11B1] }, -{ source: [0xAEFF], NFC: [0xAEFF], NFD: [0x1101, 0x1167, 0x11B2], NFKC: [0xAEFF], NFKD: [0x1101, 0x1167, 0x11B2] }, -{ source: [0xAF00], NFC: [0xAF00], NFD: [0x1101, 0x1167, 0x11B3], NFKC: [0xAF00], NFKD: [0x1101, 0x1167, 0x11B3] }, -{ source: [0xAF01], NFC: [0xAF01], NFD: [0x1101, 0x1167, 0x11B4], NFKC: [0xAF01], NFKD: [0x1101, 0x1167, 0x11B4] }, -{ source: [0xAF02], NFC: [0xAF02], NFD: [0x1101, 0x1167, 0x11B5], NFKC: [0xAF02], NFKD: [0x1101, 0x1167, 0x11B5] }, -{ source: [0xAF03], NFC: [0xAF03], NFD: [0x1101, 0x1167, 0x11B6], NFKC: [0xAF03], NFKD: [0x1101, 0x1167, 0x11B6] }, -{ source: [0xAF04], NFC: [0xAF04], NFD: [0x1101, 0x1167, 0x11B7], NFKC: [0xAF04], NFKD: [0x1101, 0x1167, 0x11B7] }, -{ source: [0xAF05], NFC: [0xAF05], NFD: [0x1101, 0x1167, 0x11B8], NFKC: [0xAF05], NFKD: [0x1101, 0x1167, 0x11B8] }, -{ source: [0xAF06], NFC: [0xAF06], NFD: [0x1101, 0x1167, 0x11B9], NFKC: [0xAF06], NFKD: [0x1101, 0x1167, 0x11B9] }, -{ source: [0xAF07], NFC: [0xAF07], NFD: [0x1101, 0x1167, 0x11BA], NFKC: [0xAF07], NFKD: [0x1101, 0x1167, 0x11BA] }, -{ source: [0xAF08], NFC: [0xAF08], NFD: [0x1101, 0x1167, 0x11BB], NFKC: [0xAF08], NFKD: [0x1101, 0x1167, 0x11BB] }, -{ source: [0xAF09], NFC: [0xAF09], NFD: [0x1101, 0x1167, 0x11BC], NFKC: [0xAF09], NFKD: [0x1101, 0x1167, 0x11BC] }, -{ source: [0xAF0A], NFC: [0xAF0A], NFD: [0x1101, 0x1167, 0x11BD], NFKC: [0xAF0A], NFKD: [0x1101, 0x1167, 0x11BD] }, -{ source: [0xAF0B], NFC: [0xAF0B], NFD: [0x1101, 0x1167, 0x11BE], NFKC: [0xAF0B], NFKD: [0x1101, 0x1167, 0x11BE] }, -{ source: [0xAF0C], NFC: [0xAF0C], NFD: [0x1101, 0x1167, 0x11BF], NFKC: [0xAF0C], NFKD: [0x1101, 0x1167, 0x11BF] }, -{ source: [0xAF0D], NFC: [0xAF0D], NFD: [0x1101, 0x1167, 0x11C0], NFKC: [0xAF0D], NFKD: [0x1101, 0x1167, 0x11C0] }, -{ source: [0xAF0E], NFC: [0xAF0E], NFD: [0x1101, 0x1167, 0x11C1], NFKC: [0xAF0E], NFKD: [0x1101, 0x1167, 0x11C1] }, -{ source: [0xAF0F], NFC: [0xAF0F], NFD: [0x1101, 0x1167, 0x11C2], NFKC: [0xAF0F], NFKD: [0x1101, 0x1167, 0x11C2] }, -{ source: [0xAF10], NFC: [0xAF10], NFD: [0x1101, 0x1168], NFKC: [0xAF10], NFKD: [0x1101, 0x1168] }, -{ source: [0xAF11], NFC: [0xAF11], NFD: [0x1101, 0x1168, 0x11A8], NFKC: [0xAF11], NFKD: [0x1101, 0x1168, 0x11A8] }, -{ source: [0xAF12], NFC: [0xAF12], NFD: [0x1101, 0x1168, 0x11A9], NFKC: [0xAF12], NFKD: [0x1101, 0x1168, 0x11A9] }, -{ source: [0xAF13], NFC: [0xAF13], NFD: [0x1101, 0x1168, 0x11AA], NFKC: [0xAF13], NFKD: [0x1101, 0x1168, 0x11AA] }, -{ source: [0xAF14], NFC: [0xAF14], NFD: [0x1101, 0x1168, 0x11AB], NFKC: [0xAF14], NFKD: [0x1101, 0x1168, 0x11AB] }, -{ source: [0xAF15], NFC: [0xAF15], NFD: [0x1101, 0x1168, 0x11AC], NFKC: [0xAF15], NFKD: [0x1101, 0x1168, 0x11AC] }, -{ source: [0xAF16], NFC: [0xAF16], NFD: [0x1101, 0x1168, 0x11AD], NFKC: [0xAF16], NFKD: [0x1101, 0x1168, 0x11AD] }, -{ source: [0xAF17], NFC: [0xAF17], NFD: [0x1101, 0x1168, 0x11AE], NFKC: [0xAF17], NFKD: [0x1101, 0x1168, 0x11AE] }, -{ source: [0xAF18], NFC: [0xAF18], NFD: [0x1101, 0x1168, 0x11AF], NFKC: [0xAF18], NFKD: [0x1101, 0x1168, 0x11AF] }, -{ source: [0xAF19], NFC: [0xAF19], NFD: [0x1101, 0x1168, 0x11B0], NFKC: [0xAF19], NFKD: [0x1101, 0x1168, 0x11B0] }, -{ source: [0xAF1A], NFC: [0xAF1A], NFD: [0x1101, 0x1168, 0x11B1], NFKC: [0xAF1A], NFKD: [0x1101, 0x1168, 0x11B1] }, -{ source: [0xAF1B], NFC: [0xAF1B], NFD: [0x1101, 0x1168, 0x11B2], NFKC: [0xAF1B], NFKD: [0x1101, 0x1168, 0x11B2] }, -{ source: [0xAF1C], NFC: [0xAF1C], NFD: [0x1101, 0x1168, 0x11B3], NFKC: [0xAF1C], NFKD: [0x1101, 0x1168, 0x11B3] }, -{ source: [0xAF1D], NFC: [0xAF1D], NFD: [0x1101, 0x1168, 0x11B4], NFKC: [0xAF1D], NFKD: [0x1101, 0x1168, 0x11B4] }, -{ source: [0xAF1E], NFC: [0xAF1E], NFD: [0x1101, 0x1168, 0x11B5], NFKC: [0xAF1E], NFKD: [0x1101, 0x1168, 0x11B5] }, -{ source: [0xAF1F], NFC: [0xAF1F], NFD: [0x1101, 0x1168, 0x11B6], NFKC: [0xAF1F], NFKD: [0x1101, 0x1168, 0x11B6] }, -{ source: [0xAF20], NFC: [0xAF20], NFD: [0x1101, 0x1168, 0x11B7], NFKC: [0xAF20], NFKD: [0x1101, 0x1168, 0x11B7] }, -{ source: [0xAF21], NFC: [0xAF21], NFD: [0x1101, 0x1168, 0x11B8], NFKC: [0xAF21], NFKD: [0x1101, 0x1168, 0x11B8] }, -{ source: [0xAF22], NFC: [0xAF22], NFD: [0x1101, 0x1168, 0x11B9], NFKC: [0xAF22], NFKD: [0x1101, 0x1168, 0x11B9] }, -{ source: [0xAF23], NFC: [0xAF23], NFD: [0x1101, 0x1168, 0x11BA], NFKC: [0xAF23], NFKD: [0x1101, 0x1168, 0x11BA] }, -{ source: [0xAF24], NFC: [0xAF24], NFD: [0x1101, 0x1168, 0x11BB], NFKC: [0xAF24], NFKD: [0x1101, 0x1168, 0x11BB] }, -{ source: [0xAF25], NFC: [0xAF25], NFD: [0x1101, 0x1168, 0x11BC], NFKC: [0xAF25], NFKD: [0x1101, 0x1168, 0x11BC] }, -{ source: [0xAF26], NFC: [0xAF26], NFD: [0x1101, 0x1168, 0x11BD], NFKC: [0xAF26], NFKD: [0x1101, 0x1168, 0x11BD] }, -{ source: [0xAF27], NFC: [0xAF27], NFD: [0x1101, 0x1168, 0x11BE], NFKC: [0xAF27], NFKD: [0x1101, 0x1168, 0x11BE] }, -{ source: [0xAF28], NFC: [0xAF28], NFD: [0x1101, 0x1168, 0x11BF], NFKC: [0xAF28], NFKD: [0x1101, 0x1168, 0x11BF] }, -{ source: [0xAF29], NFC: [0xAF29], NFD: [0x1101, 0x1168, 0x11C0], NFKC: [0xAF29], NFKD: [0x1101, 0x1168, 0x11C0] }, -{ source: [0xAF2A], NFC: [0xAF2A], NFD: [0x1101, 0x1168, 0x11C1], NFKC: [0xAF2A], NFKD: [0x1101, 0x1168, 0x11C1] }, -{ source: [0xAF2B], NFC: [0xAF2B], NFD: [0x1101, 0x1168, 0x11C2], NFKC: [0xAF2B], NFKD: [0x1101, 0x1168, 0x11C2] }, -{ source: [0xAF2C], NFC: [0xAF2C], NFD: [0x1101, 0x1169], NFKC: [0xAF2C], NFKD: [0x1101, 0x1169] }, -{ source: [0xAF2D], NFC: [0xAF2D], NFD: [0x1101, 0x1169, 0x11A8], NFKC: [0xAF2D], NFKD: [0x1101, 0x1169, 0x11A8] }, -{ source: [0xAF2E], NFC: [0xAF2E], NFD: [0x1101, 0x1169, 0x11A9], NFKC: [0xAF2E], NFKD: [0x1101, 0x1169, 0x11A9] }, -{ source: [0xAF2F], NFC: [0xAF2F], NFD: [0x1101, 0x1169, 0x11AA], NFKC: [0xAF2F], NFKD: [0x1101, 0x1169, 0x11AA] }, -{ source: [0xAF30], NFC: [0xAF30], NFD: [0x1101, 0x1169, 0x11AB], NFKC: [0xAF30], NFKD: [0x1101, 0x1169, 0x11AB] }, -{ source: [0xAF31], NFC: [0xAF31], NFD: [0x1101, 0x1169, 0x11AC], NFKC: [0xAF31], NFKD: [0x1101, 0x1169, 0x11AC] }, -{ source: [0xAF32], NFC: [0xAF32], NFD: [0x1101, 0x1169, 0x11AD], NFKC: [0xAF32], NFKD: [0x1101, 0x1169, 0x11AD] }, -{ source: [0xAF33], NFC: [0xAF33], NFD: [0x1101, 0x1169, 0x11AE], NFKC: [0xAF33], NFKD: [0x1101, 0x1169, 0x11AE] }, -{ source: [0xAF34], NFC: [0xAF34], NFD: [0x1101, 0x1169, 0x11AF], NFKC: [0xAF34], NFKD: [0x1101, 0x1169, 0x11AF] }, -{ source: [0xAF35], NFC: [0xAF35], NFD: [0x1101, 0x1169, 0x11B0], NFKC: [0xAF35], NFKD: [0x1101, 0x1169, 0x11B0] }, -{ source: [0xAF36], NFC: [0xAF36], NFD: [0x1101, 0x1169, 0x11B1], NFKC: [0xAF36], NFKD: [0x1101, 0x1169, 0x11B1] }, -{ source: [0xAF37], NFC: [0xAF37], NFD: [0x1101, 0x1169, 0x11B2], NFKC: [0xAF37], NFKD: [0x1101, 0x1169, 0x11B2] }, -{ source: [0xAF38], NFC: [0xAF38], NFD: [0x1101, 0x1169, 0x11B3], NFKC: [0xAF38], NFKD: [0x1101, 0x1169, 0x11B3] }, -{ source: [0xAF39], NFC: [0xAF39], NFD: [0x1101, 0x1169, 0x11B4], NFKC: [0xAF39], NFKD: [0x1101, 0x1169, 0x11B4] }, -{ source: [0xAF3A], NFC: [0xAF3A], NFD: [0x1101, 0x1169, 0x11B5], NFKC: [0xAF3A], NFKD: [0x1101, 0x1169, 0x11B5] }, -{ source: [0xAF3B], NFC: [0xAF3B], NFD: [0x1101, 0x1169, 0x11B6], NFKC: [0xAF3B], NFKD: [0x1101, 0x1169, 0x11B6] }, -{ source: [0xAF3C], NFC: [0xAF3C], NFD: [0x1101, 0x1169, 0x11B7], NFKC: [0xAF3C], NFKD: [0x1101, 0x1169, 0x11B7] }, -{ source: [0xAF3D], NFC: [0xAF3D], NFD: [0x1101, 0x1169, 0x11B8], NFKC: [0xAF3D], NFKD: [0x1101, 0x1169, 0x11B8] }, -{ source: [0xAF3E], NFC: [0xAF3E], NFD: [0x1101, 0x1169, 0x11B9], NFKC: [0xAF3E], NFKD: [0x1101, 0x1169, 0x11B9] }, -{ source: [0xAF3F], NFC: [0xAF3F], NFD: [0x1101, 0x1169, 0x11BA], NFKC: [0xAF3F], NFKD: [0x1101, 0x1169, 0x11BA] }, -{ source: [0xAF40], NFC: [0xAF40], NFD: [0x1101, 0x1169, 0x11BB], NFKC: [0xAF40], NFKD: [0x1101, 0x1169, 0x11BB] }, -{ source: [0xAF41], NFC: [0xAF41], NFD: [0x1101, 0x1169, 0x11BC], NFKC: [0xAF41], NFKD: [0x1101, 0x1169, 0x11BC] }, -{ source: [0xAF42], NFC: [0xAF42], NFD: [0x1101, 0x1169, 0x11BD], NFKC: [0xAF42], NFKD: [0x1101, 0x1169, 0x11BD] }, -{ source: [0xAF43], NFC: [0xAF43], NFD: [0x1101, 0x1169, 0x11BE], NFKC: [0xAF43], NFKD: [0x1101, 0x1169, 0x11BE] }, -{ source: [0xAF44], NFC: [0xAF44], NFD: [0x1101, 0x1169, 0x11BF], NFKC: [0xAF44], NFKD: [0x1101, 0x1169, 0x11BF] }, -{ source: [0xAF45], NFC: [0xAF45], NFD: [0x1101, 0x1169, 0x11C0], NFKC: [0xAF45], NFKD: [0x1101, 0x1169, 0x11C0] }, -{ source: [0xAF46], NFC: [0xAF46], NFD: [0x1101, 0x1169, 0x11C1], NFKC: [0xAF46], NFKD: [0x1101, 0x1169, 0x11C1] }, -{ source: [0xAF47], NFC: [0xAF47], NFD: [0x1101, 0x1169, 0x11C2], NFKC: [0xAF47], NFKD: [0x1101, 0x1169, 0x11C2] }, -{ source: [0xAF48], NFC: [0xAF48], NFD: [0x1101, 0x116A], NFKC: [0xAF48], NFKD: [0x1101, 0x116A] }, -{ source: [0xAF49], NFC: [0xAF49], NFD: [0x1101, 0x116A, 0x11A8], NFKC: [0xAF49], NFKD: [0x1101, 0x116A, 0x11A8] }, -{ source: [0xAF4A], NFC: [0xAF4A], NFD: [0x1101, 0x116A, 0x11A9], NFKC: [0xAF4A], NFKD: [0x1101, 0x116A, 0x11A9] }, -{ source: [0xAF4B], NFC: [0xAF4B], NFD: [0x1101, 0x116A, 0x11AA], NFKC: [0xAF4B], NFKD: [0x1101, 0x116A, 0x11AA] }, -{ source: [0xAF4C], NFC: [0xAF4C], NFD: [0x1101, 0x116A, 0x11AB], NFKC: [0xAF4C], NFKD: [0x1101, 0x116A, 0x11AB] }, -{ source: [0xAF4D], NFC: [0xAF4D], NFD: [0x1101, 0x116A, 0x11AC], NFKC: [0xAF4D], NFKD: [0x1101, 0x116A, 0x11AC] }, -{ source: [0xAF4E], NFC: [0xAF4E], NFD: [0x1101, 0x116A, 0x11AD], NFKC: [0xAF4E], NFKD: [0x1101, 0x116A, 0x11AD] }, -{ source: [0xAF4F], NFC: [0xAF4F], NFD: [0x1101, 0x116A, 0x11AE], NFKC: [0xAF4F], NFKD: [0x1101, 0x116A, 0x11AE] }, -{ source: [0xAF50], NFC: [0xAF50], NFD: [0x1101, 0x116A, 0x11AF], NFKC: [0xAF50], NFKD: [0x1101, 0x116A, 0x11AF] }, -{ source: [0xAF51], NFC: [0xAF51], NFD: [0x1101, 0x116A, 0x11B0], NFKC: [0xAF51], NFKD: [0x1101, 0x116A, 0x11B0] }, -{ source: [0xAF52], NFC: [0xAF52], NFD: [0x1101, 0x116A, 0x11B1], NFKC: [0xAF52], NFKD: [0x1101, 0x116A, 0x11B1] }, -{ source: [0xAF53], NFC: [0xAF53], NFD: [0x1101, 0x116A, 0x11B2], NFKC: [0xAF53], NFKD: [0x1101, 0x116A, 0x11B2] }, -{ source: [0xAF54], NFC: [0xAF54], NFD: [0x1101, 0x116A, 0x11B3], NFKC: [0xAF54], NFKD: [0x1101, 0x116A, 0x11B3] }, -{ source: [0xAF55], NFC: [0xAF55], NFD: [0x1101, 0x116A, 0x11B4], NFKC: [0xAF55], NFKD: [0x1101, 0x116A, 0x11B4] }, -{ source: [0xAF56], NFC: [0xAF56], NFD: [0x1101, 0x116A, 0x11B5], NFKC: [0xAF56], NFKD: [0x1101, 0x116A, 0x11B5] }, -{ source: [0xAF57], NFC: [0xAF57], NFD: [0x1101, 0x116A, 0x11B6], NFKC: [0xAF57], NFKD: [0x1101, 0x116A, 0x11B6] }, -{ source: [0xAF58], NFC: [0xAF58], NFD: [0x1101, 0x116A, 0x11B7], NFKC: [0xAF58], NFKD: [0x1101, 0x116A, 0x11B7] }, -{ source: [0xAF59], NFC: [0xAF59], NFD: [0x1101, 0x116A, 0x11B8], NFKC: [0xAF59], NFKD: [0x1101, 0x116A, 0x11B8] }, -{ source: [0xAF5A], NFC: [0xAF5A], NFD: [0x1101, 0x116A, 0x11B9], NFKC: [0xAF5A], NFKD: [0x1101, 0x116A, 0x11B9] }, -{ source: [0xAF5B], NFC: [0xAF5B], NFD: [0x1101, 0x116A, 0x11BA], NFKC: [0xAF5B], NFKD: [0x1101, 0x116A, 0x11BA] }, -{ source: [0xAF5C], NFC: [0xAF5C], NFD: [0x1101, 0x116A, 0x11BB], NFKC: [0xAF5C], NFKD: [0x1101, 0x116A, 0x11BB] }, -{ source: [0xAF5D], NFC: [0xAF5D], NFD: [0x1101, 0x116A, 0x11BC], NFKC: [0xAF5D], NFKD: [0x1101, 0x116A, 0x11BC] }, -{ source: [0xAF5E], NFC: [0xAF5E], NFD: [0x1101, 0x116A, 0x11BD], NFKC: [0xAF5E], NFKD: [0x1101, 0x116A, 0x11BD] }, -{ source: [0xAF5F], NFC: [0xAF5F], NFD: [0x1101, 0x116A, 0x11BE], NFKC: [0xAF5F], NFKD: [0x1101, 0x116A, 0x11BE] }, -{ source: [0xAF60], NFC: [0xAF60], NFD: [0x1101, 0x116A, 0x11BF], NFKC: [0xAF60], NFKD: [0x1101, 0x116A, 0x11BF] }, -{ source: [0xAF61], NFC: [0xAF61], NFD: [0x1101, 0x116A, 0x11C0], NFKC: [0xAF61], NFKD: [0x1101, 0x116A, 0x11C0] }, -{ source: [0xAF62], NFC: [0xAF62], NFD: [0x1101, 0x116A, 0x11C1], NFKC: [0xAF62], NFKD: [0x1101, 0x116A, 0x11C1] }, -{ source: [0xAF63], NFC: [0xAF63], NFD: [0x1101, 0x116A, 0x11C2], NFKC: [0xAF63], NFKD: [0x1101, 0x116A, 0x11C2] }, -{ source: [0xAF64], NFC: [0xAF64], NFD: [0x1101, 0x116B], NFKC: [0xAF64], NFKD: [0x1101, 0x116B] }, -{ source: [0xAF65], NFC: [0xAF65], NFD: [0x1101, 0x116B, 0x11A8], NFKC: [0xAF65], NFKD: [0x1101, 0x116B, 0x11A8] }, -{ source: [0xAF66], NFC: [0xAF66], NFD: [0x1101, 0x116B, 0x11A9], NFKC: [0xAF66], NFKD: [0x1101, 0x116B, 0x11A9] }, -{ source: [0xAF67], NFC: [0xAF67], NFD: [0x1101, 0x116B, 0x11AA], NFKC: [0xAF67], NFKD: [0x1101, 0x116B, 0x11AA] }, -{ source: [0xAF68], NFC: [0xAF68], NFD: [0x1101, 0x116B, 0x11AB], NFKC: [0xAF68], NFKD: [0x1101, 0x116B, 0x11AB] }, -{ source: [0xAF69], NFC: [0xAF69], NFD: [0x1101, 0x116B, 0x11AC], NFKC: [0xAF69], NFKD: [0x1101, 0x116B, 0x11AC] }, -{ source: [0xAF6A], NFC: [0xAF6A], NFD: [0x1101, 0x116B, 0x11AD], NFKC: [0xAF6A], NFKD: [0x1101, 0x116B, 0x11AD] }, -{ source: [0xAF6B], NFC: [0xAF6B], NFD: [0x1101, 0x116B, 0x11AE], NFKC: [0xAF6B], NFKD: [0x1101, 0x116B, 0x11AE] }, -{ source: [0xAF6C], NFC: [0xAF6C], NFD: [0x1101, 0x116B, 0x11AF], NFKC: [0xAF6C], NFKD: [0x1101, 0x116B, 0x11AF] }, -{ source: [0xAF6D], NFC: [0xAF6D], NFD: [0x1101, 0x116B, 0x11B0], NFKC: [0xAF6D], NFKD: [0x1101, 0x116B, 0x11B0] }, -{ source: [0xAF6E], NFC: [0xAF6E], NFD: [0x1101, 0x116B, 0x11B1], NFKC: [0xAF6E], NFKD: [0x1101, 0x116B, 0x11B1] }, -{ source: [0xAF6F], NFC: [0xAF6F], NFD: [0x1101, 0x116B, 0x11B2], NFKC: [0xAF6F], NFKD: [0x1101, 0x116B, 0x11B2] }, -{ source: [0xAF70], NFC: [0xAF70], NFD: [0x1101, 0x116B, 0x11B3], NFKC: [0xAF70], NFKD: [0x1101, 0x116B, 0x11B3] }, -{ source: [0xAF71], NFC: [0xAF71], NFD: [0x1101, 0x116B, 0x11B4], NFKC: [0xAF71], NFKD: [0x1101, 0x116B, 0x11B4] }, -{ source: [0xAF72], NFC: [0xAF72], NFD: [0x1101, 0x116B, 0x11B5], NFKC: [0xAF72], NFKD: [0x1101, 0x116B, 0x11B5] }, -{ source: [0xAF73], NFC: [0xAF73], NFD: [0x1101, 0x116B, 0x11B6], NFKC: [0xAF73], NFKD: [0x1101, 0x116B, 0x11B6] }, -{ source: [0xAF74], NFC: [0xAF74], NFD: [0x1101, 0x116B, 0x11B7], NFKC: [0xAF74], NFKD: [0x1101, 0x116B, 0x11B7] }, -{ source: [0xAF75], NFC: [0xAF75], NFD: [0x1101, 0x116B, 0x11B8], NFKC: [0xAF75], NFKD: [0x1101, 0x116B, 0x11B8] }, -{ source: [0xAF76], NFC: [0xAF76], NFD: [0x1101, 0x116B, 0x11B9], NFKC: [0xAF76], NFKD: [0x1101, 0x116B, 0x11B9] }, -{ source: [0xAF77], NFC: [0xAF77], NFD: [0x1101, 0x116B, 0x11BA], NFKC: [0xAF77], NFKD: [0x1101, 0x116B, 0x11BA] }, -{ source: [0xAF78], NFC: [0xAF78], NFD: [0x1101, 0x116B, 0x11BB], NFKC: [0xAF78], NFKD: [0x1101, 0x116B, 0x11BB] }, -{ source: [0xAF79], NFC: [0xAF79], NFD: [0x1101, 0x116B, 0x11BC], NFKC: [0xAF79], NFKD: [0x1101, 0x116B, 0x11BC] }, -{ source: [0xAF7A], NFC: [0xAF7A], NFD: [0x1101, 0x116B, 0x11BD], NFKC: [0xAF7A], NFKD: [0x1101, 0x116B, 0x11BD] }, -{ source: [0xAF7B], NFC: [0xAF7B], NFD: [0x1101, 0x116B, 0x11BE], NFKC: [0xAF7B], NFKD: [0x1101, 0x116B, 0x11BE] }, -{ source: [0xAF7C], NFC: [0xAF7C], NFD: [0x1101, 0x116B, 0x11BF], NFKC: [0xAF7C], NFKD: [0x1101, 0x116B, 0x11BF] }, -{ source: [0xAF7D], NFC: [0xAF7D], NFD: [0x1101, 0x116B, 0x11C0], NFKC: [0xAF7D], NFKD: [0x1101, 0x116B, 0x11C0] }, -{ source: [0xAF7E], NFC: [0xAF7E], NFD: [0x1101, 0x116B, 0x11C1], NFKC: [0xAF7E], NFKD: [0x1101, 0x116B, 0x11C1] }, -{ source: [0xAF7F], NFC: [0xAF7F], NFD: [0x1101, 0x116B, 0x11C2], NFKC: [0xAF7F], NFKD: [0x1101, 0x116B, 0x11C2] }, -{ source: [0xAF80], NFC: [0xAF80], NFD: [0x1101, 0x116C], NFKC: [0xAF80], NFKD: [0x1101, 0x116C] }, -{ source: [0xAF81], NFC: [0xAF81], NFD: [0x1101, 0x116C, 0x11A8], NFKC: [0xAF81], NFKD: [0x1101, 0x116C, 0x11A8] }, -{ source: [0xAF82], NFC: [0xAF82], NFD: [0x1101, 0x116C, 0x11A9], NFKC: [0xAF82], NFKD: [0x1101, 0x116C, 0x11A9] }, -{ source: [0xAF83], NFC: [0xAF83], NFD: [0x1101, 0x116C, 0x11AA], NFKC: [0xAF83], NFKD: [0x1101, 0x116C, 0x11AA] }, -{ source: [0xAF84], NFC: [0xAF84], NFD: [0x1101, 0x116C, 0x11AB], NFKC: [0xAF84], NFKD: [0x1101, 0x116C, 0x11AB] }, -{ source: [0xAF85], NFC: [0xAF85], NFD: [0x1101, 0x116C, 0x11AC], NFKC: [0xAF85], NFKD: [0x1101, 0x116C, 0x11AC] }, -{ source: [0xAF86], NFC: [0xAF86], NFD: [0x1101, 0x116C, 0x11AD], NFKC: [0xAF86], NFKD: [0x1101, 0x116C, 0x11AD] }, -{ source: [0xAF87], NFC: [0xAF87], NFD: [0x1101, 0x116C, 0x11AE], NFKC: [0xAF87], NFKD: [0x1101, 0x116C, 0x11AE] }, -{ source: [0xAF88], NFC: [0xAF88], NFD: [0x1101, 0x116C, 0x11AF], NFKC: [0xAF88], NFKD: [0x1101, 0x116C, 0x11AF] }, -{ source: [0xAF89], NFC: [0xAF89], NFD: [0x1101, 0x116C, 0x11B0], NFKC: [0xAF89], NFKD: [0x1101, 0x116C, 0x11B0] }, -{ source: [0xAF8A], NFC: [0xAF8A], NFD: [0x1101, 0x116C, 0x11B1], NFKC: [0xAF8A], NFKD: [0x1101, 0x116C, 0x11B1] }, -{ source: [0xAF8B], NFC: [0xAF8B], NFD: [0x1101, 0x116C, 0x11B2], NFKC: [0xAF8B], NFKD: [0x1101, 0x116C, 0x11B2] }, -{ source: [0xAF8C], NFC: [0xAF8C], NFD: [0x1101, 0x116C, 0x11B3], NFKC: [0xAF8C], NFKD: [0x1101, 0x116C, 0x11B3] }, -{ source: [0xAF8D], NFC: [0xAF8D], NFD: [0x1101, 0x116C, 0x11B4], NFKC: [0xAF8D], NFKD: [0x1101, 0x116C, 0x11B4] }, -{ source: [0xAF8E], NFC: [0xAF8E], NFD: [0x1101, 0x116C, 0x11B5], NFKC: [0xAF8E], NFKD: [0x1101, 0x116C, 0x11B5] }, -{ source: [0xAF8F], NFC: [0xAF8F], NFD: [0x1101, 0x116C, 0x11B6], NFKC: [0xAF8F], NFKD: [0x1101, 0x116C, 0x11B6] }, -{ source: [0xAF90], NFC: [0xAF90], NFD: [0x1101, 0x116C, 0x11B7], NFKC: [0xAF90], NFKD: [0x1101, 0x116C, 0x11B7] }, -{ source: [0xAF91], NFC: [0xAF91], NFD: [0x1101, 0x116C, 0x11B8], NFKC: [0xAF91], NFKD: [0x1101, 0x116C, 0x11B8] }, -{ source: [0xAF92], NFC: [0xAF92], NFD: [0x1101, 0x116C, 0x11B9], NFKC: [0xAF92], NFKD: [0x1101, 0x116C, 0x11B9] }, -{ source: [0xAF93], NFC: [0xAF93], NFD: [0x1101, 0x116C, 0x11BA], NFKC: [0xAF93], NFKD: [0x1101, 0x116C, 0x11BA] }, -{ source: [0xAF94], NFC: [0xAF94], NFD: [0x1101, 0x116C, 0x11BB], NFKC: [0xAF94], NFKD: [0x1101, 0x116C, 0x11BB] }, -{ source: [0xAF95], NFC: [0xAF95], NFD: [0x1101, 0x116C, 0x11BC], NFKC: [0xAF95], NFKD: [0x1101, 0x116C, 0x11BC] }, -{ source: [0xAF96], NFC: [0xAF96], NFD: [0x1101, 0x116C, 0x11BD], NFKC: [0xAF96], NFKD: [0x1101, 0x116C, 0x11BD] }, -{ source: [0xAF97], NFC: [0xAF97], NFD: [0x1101, 0x116C, 0x11BE], NFKC: [0xAF97], NFKD: [0x1101, 0x116C, 0x11BE] }, -{ source: [0xAF98], NFC: [0xAF98], NFD: [0x1101, 0x116C, 0x11BF], NFKC: [0xAF98], NFKD: [0x1101, 0x116C, 0x11BF] }, -{ source: [0xAF99], NFC: [0xAF99], NFD: [0x1101, 0x116C, 0x11C0], NFKC: [0xAF99], NFKD: [0x1101, 0x116C, 0x11C0] }, -{ source: [0xAF9A], NFC: [0xAF9A], NFD: [0x1101, 0x116C, 0x11C1], NFKC: [0xAF9A], NFKD: [0x1101, 0x116C, 0x11C1] }, -{ source: [0xAF9B], NFC: [0xAF9B], NFD: [0x1101, 0x116C, 0x11C2], NFKC: [0xAF9B], NFKD: [0x1101, 0x116C, 0x11C2] }, -{ source: [0xAF9C], NFC: [0xAF9C], NFD: [0x1101, 0x116D], NFKC: [0xAF9C], NFKD: [0x1101, 0x116D] }, -{ source: [0xAF9D], NFC: [0xAF9D], NFD: [0x1101, 0x116D, 0x11A8], NFKC: [0xAF9D], NFKD: [0x1101, 0x116D, 0x11A8] }, -{ source: [0xAF9E], NFC: [0xAF9E], NFD: [0x1101, 0x116D, 0x11A9], NFKC: [0xAF9E], NFKD: [0x1101, 0x116D, 0x11A9] }, -{ source: [0xAF9F], NFC: [0xAF9F], NFD: [0x1101, 0x116D, 0x11AA], NFKC: [0xAF9F], NFKD: [0x1101, 0x116D, 0x11AA] }, -{ source: [0xAFA0], NFC: [0xAFA0], NFD: [0x1101, 0x116D, 0x11AB], NFKC: [0xAFA0], NFKD: [0x1101, 0x116D, 0x11AB] }, -{ source: [0xAFA1], NFC: [0xAFA1], NFD: [0x1101, 0x116D, 0x11AC], NFKC: [0xAFA1], NFKD: [0x1101, 0x116D, 0x11AC] }, -{ source: [0xAFA2], NFC: [0xAFA2], NFD: [0x1101, 0x116D, 0x11AD], NFKC: [0xAFA2], NFKD: [0x1101, 0x116D, 0x11AD] }, -{ source: [0xAFA3], NFC: [0xAFA3], NFD: [0x1101, 0x116D, 0x11AE], NFKC: [0xAFA3], NFKD: [0x1101, 0x116D, 0x11AE] }, -{ source: [0xAFA4], NFC: [0xAFA4], NFD: [0x1101, 0x116D, 0x11AF], NFKC: [0xAFA4], NFKD: [0x1101, 0x116D, 0x11AF] }, -{ source: [0xAFA5], NFC: [0xAFA5], NFD: [0x1101, 0x116D, 0x11B0], NFKC: [0xAFA5], NFKD: [0x1101, 0x116D, 0x11B0] }, -{ source: [0xAFA6], NFC: [0xAFA6], NFD: [0x1101, 0x116D, 0x11B1], NFKC: [0xAFA6], NFKD: [0x1101, 0x116D, 0x11B1] }, -{ source: [0xAFA7], NFC: [0xAFA7], NFD: [0x1101, 0x116D, 0x11B2], NFKC: [0xAFA7], NFKD: [0x1101, 0x116D, 0x11B2] }, -{ source: [0xAFA8], NFC: [0xAFA8], NFD: [0x1101, 0x116D, 0x11B3], NFKC: [0xAFA8], NFKD: [0x1101, 0x116D, 0x11B3] }, -{ source: [0xAFA9], NFC: [0xAFA9], NFD: [0x1101, 0x116D, 0x11B4], NFKC: [0xAFA9], NFKD: [0x1101, 0x116D, 0x11B4] }, -{ source: [0xAFAA], NFC: [0xAFAA], NFD: [0x1101, 0x116D, 0x11B5], NFKC: [0xAFAA], NFKD: [0x1101, 0x116D, 0x11B5] }, -{ source: [0xAFAB], NFC: [0xAFAB], NFD: [0x1101, 0x116D, 0x11B6], NFKC: [0xAFAB], NFKD: [0x1101, 0x116D, 0x11B6] }, -{ source: [0xAFAC], NFC: [0xAFAC], NFD: [0x1101, 0x116D, 0x11B7], NFKC: [0xAFAC], NFKD: [0x1101, 0x116D, 0x11B7] }, -{ source: [0xAFAD], NFC: [0xAFAD], NFD: [0x1101, 0x116D, 0x11B8], NFKC: [0xAFAD], NFKD: [0x1101, 0x116D, 0x11B8] }, -{ source: [0xAFAE], NFC: [0xAFAE], NFD: [0x1101, 0x116D, 0x11B9], NFKC: [0xAFAE], NFKD: [0x1101, 0x116D, 0x11B9] }, -{ source: [0xAFAF], NFC: [0xAFAF], NFD: [0x1101, 0x116D, 0x11BA], NFKC: [0xAFAF], NFKD: [0x1101, 0x116D, 0x11BA] }, -{ source: [0xAFB0], NFC: [0xAFB0], NFD: [0x1101, 0x116D, 0x11BB], NFKC: [0xAFB0], NFKD: [0x1101, 0x116D, 0x11BB] }, -{ source: [0xAFB1], NFC: [0xAFB1], NFD: [0x1101, 0x116D, 0x11BC], NFKC: [0xAFB1], NFKD: [0x1101, 0x116D, 0x11BC] }, -{ source: [0xAFB2], NFC: [0xAFB2], NFD: [0x1101, 0x116D, 0x11BD], NFKC: [0xAFB2], NFKD: [0x1101, 0x116D, 0x11BD] }, -{ source: [0xAFB3], NFC: [0xAFB3], NFD: [0x1101, 0x116D, 0x11BE], NFKC: [0xAFB3], NFKD: [0x1101, 0x116D, 0x11BE] }, -{ source: [0xAFB4], NFC: [0xAFB4], NFD: [0x1101, 0x116D, 0x11BF], NFKC: [0xAFB4], NFKD: [0x1101, 0x116D, 0x11BF] }, -{ source: [0xAFB5], NFC: [0xAFB5], NFD: [0x1101, 0x116D, 0x11C0], NFKC: [0xAFB5], NFKD: [0x1101, 0x116D, 0x11C0] }, -{ source: [0xAFB6], NFC: [0xAFB6], NFD: [0x1101, 0x116D, 0x11C1], NFKC: [0xAFB6], NFKD: [0x1101, 0x116D, 0x11C1] }, -{ source: [0xAFB7], NFC: [0xAFB7], NFD: [0x1101, 0x116D, 0x11C2], NFKC: [0xAFB7], NFKD: [0x1101, 0x116D, 0x11C2] }, -{ source: [0xAFB8], NFC: [0xAFB8], NFD: [0x1101, 0x116E], NFKC: [0xAFB8], NFKD: [0x1101, 0x116E] }, -{ source: [0xAFB9], NFC: [0xAFB9], NFD: [0x1101, 0x116E, 0x11A8], NFKC: [0xAFB9], NFKD: [0x1101, 0x116E, 0x11A8] }, -{ source: [0xAFBA], NFC: [0xAFBA], NFD: [0x1101, 0x116E, 0x11A9], NFKC: [0xAFBA], NFKD: [0x1101, 0x116E, 0x11A9] }, -{ source: [0xAFBB], NFC: [0xAFBB], NFD: [0x1101, 0x116E, 0x11AA], NFKC: [0xAFBB], NFKD: [0x1101, 0x116E, 0x11AA] }, -{ source: [0xAFBC], NFC: [0xAFBC], NFD: [0x1101, 0x116E, 0x11AB], NFKC: [0xAFBC], NFKD: [0x1101, 0x116E, 0x11AB] }, -{ source: [0xAFBD], NFC: [0xAFBD], NFD: [0x1101, 0x116E, 0x11AC], NFKC: [0xAFBD], NFKD: [0x1101, 0x116E, 0x11AC] }, -{ source: [0xAFBE], NFC: [0xAFBE], NFD: [0x1101, 0x116E, 0x11AD], NFKC: [0xAFBE], NFKD: [0x1101, 0x116E, 0x11AD] }, -{ source: [0xAFBF], NFC: [0xAFBF], NFD: [0x1101, 0x116E, 0x11AE], NFKC: [0xAFBF], NFKD: [0x1101, 0x116E, 0x11AE] }, -{ source: [0xAFC0], NFC: [0xAFC0], NFD: [0x1101, 0x116E, 0x11AF], NFKC: [0xAFC0], NFKD: [0x1101, 0x116E, 0x11AF] }, -{ source: [0xAFC1], NFC: [0xAFC1], NFD: [0x1101, 0x116E, 0x11B0], NFKC: [0xAFC1], NFKD: [0x1101, 0x116E, 0x11B0] }, -{ source: [0xAFC2], NFC: [0xAFC2], NFD: [0x1101, 0x116E, 0x11B1], NFKC: [0xAFC2], NFKD: [0x1101, 0x116E, 0x11B1] }, -{ source: [0xAFC3], NFC: [0xAFC3], NFD: [0x1101, 0x116E, 0x11B2], NFKC: [0xAFC3], NFKD: [0x1101, 0x116E, 0x11B2] }, -{ source: [0xAFC4], NFC: [0xAFC4], NFD: [0x1101, 0x116E, 0x11B3], NFKC: [0xAFC4], NFKD: [0x1101, 0x116E, 0x11B3] }, -{ source: [0xAFC5], NFC: [0xAFC5], NFD: [0x1101, 0x116E, 0x11B4], NFKC: [0xAFC5], NFKD: [0x1101, 0x116E, 0x11B4] }, -{ source: [0xAFC6], NFC: [0xAFC6], NFD: [0x1101, 0x116E, 0x11B5], NFKC: [0xAFC6], NFKD: [0x1101, 0x116E, 0x11B5] }, -{ source: [0xAFC7], NFC: [0xAFC7], NFD: [0x1101, 0x116E, 0x11B6], NFKC: [0xAFC7], NFKD: [0x1101, 0x116E, 0x11B6] }, -{ source: [0xAFC8], NFC: [0xAFC8], NFD: [0x1101, 0x116E, 0x11B7], NFKC: [0xAFC8], NFKD: [0x1101, 0x116E, 0x11B7] }, -{ source: [0xAFC9], NFC: [0xAFC9], NFD: [0x1101, 0x116E, 0x11B8], NFKC: [0xAFC9], NFKD: [0x1101, 0x116E, 0x11B8] }, -{ source: [0xAFCA], NFC: [0xAFCA], NFD: [0x1101, 0x116E, 0x11B9], NFKC: [0xAFCA], NFKD: [0x1101, 0x116E, 0x11B9] }, -{ source: [0xAFCB], NFC: [0xAFCB], NFD: [0x1101, 0x116E, 0x11BA], NFKC: [0xAFCB], NFKD: [0x1101, 0x116E, 0x11BA] }, -{ source: [0xAFCC], NFC: [0xAFCC], NFD: [0x1101, 0x116E, 0x11BB], NFKC: [0xAFCC], NFKD: [0x1101, 0x116E, 0x11BB] }, -{ source: [0xAFCD], NFC: [0xAFCD], NFD: [0x1101, 0x116E, 0x11BC], NFKC: [0xAFCD], NFKD: [0x1101, 0x116E, 0x11BC] }, -{ source: [0xAFCE], NFC: [0xAFCE], NFD: [0x1101, 0x116E, 0x11BD], NFKC: [0xAFCE], NFKD: [0x1101, 0x116E, 0x11BD] }, -{ source: [0xAFCF], NFC: [0xAFCF], NFD: [0x1101, 0x116E, 0x11BE], NFKC: [0xAFCF], NFKD: [0x1101, 0x116E, 0x11BE] }, -{ source: [0xAFD0], NFC: [0xAFD0], NFD: [0x1101, 0x116E, 0x11BF], NFKC: [0xAFD0], NFKD: [0x1101, 0x116E, 0x11BF] }, -{ source: [0xAFD1], NFC: [0xAFD1], NFD: [0x1101, 0x116E, 0x11C0], NFKC: [0xAFD1], NFKD: [0x1101, 0x116E, 0x11C0] }, -{ source: [0xAFD2], NFC: [0xAFD2], NFD: [0x1101, 0x116E, 0x11C1], NFKC: [0xAFD2], NFKD: [0x1101, 0x116E, 0x11C1] }, -{ source: [0xAFD3], NFC: [0xAFD3], NFD: [0x1101, 0x116E, 0x11C2], NFKC: [0xAFD3], NFKD: [0x1101, 0x116E, 0x11C2] }, -{ source: [0xAFD4], NFC: [0xAFD4], NFD: [0x1101, 0x116F], NFKC: [0xAFD4], NFKD: [0x1101, 0x116F] }, -{ source: [0xAFD5], NFC: [0xAFD5], NFD: [0x1101, 0x116F, 0x11A8], NFKC: [0xAFD5], NFKD: [0x1101, 0x116F, 0x11A8] }, -{ source: [0xAFD6], NFC: [0xAFD6], NFD: [0x1101, 0x116F, 0x11A9], NFKC: [0xAFD6], NFKD: [0x1101, 0x116F, 0x11A9] }, -{ source: [0xAFD7], NFC: [0xAFD7], NFD: [0x1101, 0x116F, 0x11AA], NFKC: [0xAFD7], NFKD: [0x1101, 0x116F, 0x11AA] }, -{ source: [0xAFD8], NFC: [0xAFD8], NFD: [0x1101, 0x116F, 0x11AB], NFKC: [0xAFD8], NFKD: [0x1101, 0x116F, 0x11AB] }, -{ source: [0xAFD9], NFC: [0xAFD9], NFD: [0x1101, 0x116F, 0x11AC], NFKC: [0xAFD9], NFKD: [0x1101, 0x116F, 0x11AC] }, -{ source: [0xAFDA], NFC: [0xAFDA], NFD: [0x1101, 0x116F, 0x11AD], NFKC: [0xAFDA], NFKD: [0x1101, 0x116F, 0x11AD] }, -{ source: [0xAFDB], NFC: [0xAFDB], NFD: [0x1101, 0x116F, 0x11AE], NFKC: [0xAFDB], NFKD: [0x1101, 0x116F, 0x11AE] }, -{ source: [0xAFDC], NFC: [0xAFDC], NFD: [0x1101, 0x116F, 0x11AF], NFKC: [0xAFDC], NFKD: [0x1101, 0x116F, 0x11AF] }, -{ source: [0xAFDD], NFC: [0xAFDD], NFD: [0x1101, 0x116F, 0x11B0], NFKC: [0xAFDD], NFKD: [0x1101, 0x116F, 0x11B0] }, -{ source: [0xAFDE], NFC: [0xAFDE], NFD: [0x1101, 0x116F, 0x11B1], NFKC: [0xAFDE], NFKD: [0x1101, 0x116F, 0x11B1] }, -{ source: [0xAFDF], NFC: [0xAFDF], NFD: [0x1101, 0x116F, 0x11B2], NFKC: [0xAFDF], NFKD: [0x1101, 0x116F, 0x11B2] }, -{ source: [0xAFE0], NFC: [0xAFE0], NFD: [0x1101, 0x116F, 0x11B3], NFKC: [0xAFE0], NFKD: [0x1101, 0x116F, 0x11B3] }, -{ source: [0xAFE1], NFC: [0xAFE1], NFD: [0x1101, 0x116F, 0x11B4], NFKC: [0xAFE1], NFKD: [0x1101, 0x116F, 0x11B4] }, -{ source: [0xAFE2], NFC: [0xAFE2], NFD: [0x1101, 0x116F, 0x11B5], NFKC: [0xAFE2], NFKD: [0x1101, 0x116F, 0x11B5] }, -{ source: [0xAFE3], NFC: [0xAFE3], NFD: [0x1101, 0x116F, 0x11B6], NFKC: [0xAFE3], NFKD: [0x1101, 0x116F, 0x11B6] }, -{ source: [0xAFE4], NFC: [0xAFE4], NFD: [0x1101, 0x116F, 0x11B7], NFKC: [0xAFE4], NFKD: [0x1101, 0x116F, 0x11B7] }, -{ source: [0xAFE5], NFC: [0xAFE5], NFD: [0x1101, 0x116F, 0x11B8], NFKC: [0xAFE5], NFKD: [0x1101, 0x116F, 0x11B8] }, -{ source: [0xAFE6], NFC: [0xAFE6], NFD: [0x1101, 0x116F, 0x11B9], NFKC: [0xAFE6], NFKD: [0x1101, 0x116F, 0x11B9] }, -{ source: [0xAFE7], NFC: [0xAFE7], NFD: [0x1101, 0x116F, 0x11BA], NFKC: [0xAFE7], NFKD: [0x1101, 0x116F, 0x11BA] }, -{ source: [0xAFE8], NFC: [0xAFE8], NFD: [0x1101, 0x116F, 0x11BB], NFKC: [0xAFE8], NFKD: [0x1101, 0x116F, 0x11BB] }, -{ source: [0xAFE9], NFC: [0xAFE9], NFD: [0x1101, 0x116F, 0x11BC], NFKC: [0xAFE9], NFKD: [0x1101, 0x116F, 0x11BC] }, -{ source: [0xAFEA], NFC: [0xAFEA], NFD: [0x1101, 0x116F, 0x11BD], NFKC: [0xAFEA], NFKD: [0x1101, 0x116F, 0x11BD] }, -{ source: [0xAFEB], NFC: [0xAFEB], NFD: [0x1101, 0x116F, 0x11BE], NFKC: [0xAFEB], NFKD: [0x1101, 0x116F, 0x11BE] }, -{ source: [0xAFEC], NFC: [0xAFEC], NFD: [0x1101, 0x116F, 0x11BF], NFKC: [0xAFEC], NFKD: [0x1101, 0x116F, 0x11BF] }, -{ source: [0xAFED], NFC: [0xAFED], NFD: [0x1101, 0x116F, 0x11C0], NFKC: [0xAFED], NFKD: [0x1101, 0x116F, 0x11C0] }, -{ source: [0xAFEE], NFC: [0xAFEE], NFD: [0x1101, 0x116F, 0x11C1], NFKC: [0xAFEE], NFKD: [0x1101, 0x116F, 0x11C1] }, -{ source: [0xAFEF], NFC: [0xAFEF], NFD: [0x1101, 0x116F, 0x11C2], NFKC: [0xAFEF], NFKD: [0x1101, 0x116F, 0x11C2] }, -{ source: [0xAFF0], NFC: [0xAFF0], NFD: [0x1101, 0x1170], NFKC: [0xAFF0], NFKD: [0x1101, 0x1170] }, -{ source: [0xAFF1], NFC: [0xAFF1], NFD: [0x1101, 0x1170, 0x11A8], NFKC: [0xAFF1], NFKD: [0x1101, 0x1170, 0x11A8] }, -{ source: [0xAFF2], NFC: [0xAFF2], NFD: [0x1101, 0x1170, 0x11A9], NFKC: [0xAFF2], NFKD: [0x1101, 0x1170, 0x11A9] }, -{ source: [0xAFF3], NFC: [0xAFF3], NFD: [0x1101, 0x1170, 0x11AA], NFKC: [0xAFF3], NFKD: [0x1101, 0x1170, 0x11AA] }, -{ source: [0xAFF4], NFC: [0xAFF4], NFD: [0x1101, 0x1170, 0x11AB], NFKC: [0xAFF4], NFKD: [0x1101, 0x1170, 0x11AB] }, -{ source: [0xAFF5], NFC: [0xAFF5], NFD: [0x1101, 0x1170, 0x11AC], NFKC: [0xAFF5], NFKD: [0x1101, 0x1170, 0x11AC] }, -{ source: [0xAFF6], NFC: [0xAFF6], NFD: [0x1101, 0x1170, 0x11AD], NFKC: [0xAFF6], NFKD: [0x1101, 0x1170, 0x11AD] }, -{ source: [0xAFF7], NFC: [0xAFF7], NFD: [0x1101, 0x1170, 0x11AE], NFKC: [0xAFF7], NFKD: [0x1101, 0x1170, 0x11AE] }, -{ source: [0xAFF8], NFC: [0xAFF8], NFD: [0x1101, 0x1170, 0x11AF], NFKC: [0xAFF8], NFKD: [0x1101, 0x1170, 0x11AF] }, -{ source: [0xAFF9], NFC: [0xAFF9], NFD: [0x1101, 0x1170, 0x11B0], NFKC: [0xAFF9], NFKD: [0x1101, 0x1170, 0x11B0] }, -{ source: [0xAFFA], NFC: [0xAFFA], NFD: [0x1101, 0x1170, 0x11B1], NFKC: [0xAFFA], NFKD: [0x1101, 0x1170, 0x11B1] }, -{ source: [0xAFFB], NFC: [0xAFFB], NFD: [0x1101, 0x1170, 0x11B2], NFKC: [0xAFFB], NFKD: [0x1101, 0x1170, 0x11B2] }, -{ source: [0xAFFC], NFC: [0xAFFC], NFD: [0x1101, 0x1170, 0x11B3], NFKC: [0xAFFC], NFKD: [0x1101, 0x1170, 0x11B3] }, -{ source: [0xAFFD], NFC: [0xAFFD], NFD: [0x1101, 0x1170, 0x11B4], NFKC: [0xAFFD], NFKD: [0x1101, 0x1170, 0x11B4] }, -{ source: [0xAFFE], NFC: [0xAFFE], NFD: [0x1101, 0x1170, 0x11B5], NFKC: [0xAFFE], NFKD: [0x1101, 0x1170, 0x11B5] }, -{ source: [0xAFFF], NFC: [0xAFFF], NFD: [0x1101, 0x1170, 0x11B6], NFKC: [0xAFFF], NFKD: [0x1101, 0x1170, 0x11B6] }, -{ source: [0xB000], NFC: [0xB000], NFD: [0x1101, 0x1170, 0x11B7], NFKC: [0xB000], NFKD: [0x1101, 0x1170, 0x11B7] }, -{ source: [0xB001], NFC: [0xB001], NFD: [0x1101, 0x1170, 0x11B8], NFKC: [0xB001], NFKD: [0x1101, 0x1170, 0x11B8] }, -{ source: [0xB002], NFC: [0xB002], NFD: [0x1101, 0x1170, 0x11B9], NFKC: [0xB002], NFKD: [0x1101, 0x1170, 0x11B9] }, -{ source: [0xB003], NFC: [0xB003], NFD: [0x1101, 0x1170, 0x11BA], NFKC: [0xB003], NFKD: [0x1101, 0x1170, 0x11BA] }, -{ source: [0xB004], NFC: [0xB004], NFD: [0x1101, 0x1170, 0x11BB], NFKC: [0xB004], NFKD: [0x1101, 0x1170, 0x11BB] }, -{ source: [0xB005], NFC: [0xB005], NFD: [0x1101, 0x1170, 0x11BC], NFKC: [0xB005], NFKD: [0x1101, 0x1170, 0x11BC] }, -{ source: [0xB006], NFC: [0xB006], NFD: [0x1101, 0x1170, 0x11BD], NFKC: [0xB006], NFKD: [0x1101, 0x1170, 0x11BD] }, -{ source: [0xB007], NFC: [0xB007], NFD: [0x1101, 0x1170, 0x11BE], NFKC: [0xB007], NFKD: [0x1101, 0x1170, 0x11BE] }, -{ source: [0xB008], NFC: [0xB008], NFD: [0x1101, 0x1170, 0x11BF], NFKC: [0xB008], NFKD: [0x1101, 0x1170, 0x11BF] }, -{ source: [0xB009], NFC: [0xB009], NFD: [0x1101, 0x1170, 0x11C0], NFKC: [0xB009], NFKD: [0x1101, 0x1170, 0x11C0] }, -{ source: [0xB00A], NFC: [0xB00A], NFD: [0x1101, 0x1170, 0x11C1], NFKC: [0xB00A], NFKD: [0x1101, 0x1170, 0x11C1] }, -{ source: [0xB00B], NFC: [0xB00B], NFD: [0x1101, 0x1170, 0x11C2], NFKC: [0xB00B], NFKD: [0x1101, 0x1170, 0x11C2] }, -{ source: [0xB00C], NFC: [0xB00C], NFD: [0x1101, 0x1171], NFKC: [0xB00C], NFKD: [0x1101, 0x1171] }, -{ source: [0xB00D], NFC: [0xB00D], NFD: [0x1101, 0x1171, 0x11A8], NFKC: [0xB00D], NFKD: [0x1101, 0x1171, 0x11A8] }, -{ source: [0xB00E], NFC: [0xB00E], NFD: [0x1101, 0x1171, 0x11A9], NFKC: [0xB00E], NFKD: [0x1101, 0x1171, 0x11A9] }, -{ source: [0xB00F], NFC: [0xB00F], NFD: [0x1101, 0x1171, 0x11AA], NFKC: [0xB00F], NFKD: [0x1101, 0x1171, 0x11AA] }, -{ source: [0xB010], NFC: [0xB010], NFD: [0x1101, 0x1171, 0x11AB], NFKC: [0xB010], NFKD: [0x1101, 0x1171, 0x11AB] }, -{ source: [0xB011], NFC: [0xB011], NFD: [0x1101, 0x1171, 0x11AC], NFKC: [0xB011], NFKD: [0x1101, 0x1171, 0x11AC] }, -{ source: [0xB012], NFC: [0xB012], NFD: [0x1101, 0x1171, 0x11AD], NFKC: [0xB012], NFKD: [0x1101, 0x1171, 0x11AD] }, -{ source: [0xB013], NFC: [0xB013], NFD: [0x1101, 0x1171, 0x11AE], NFKC: [0xB013], NFKD: [0x1101, 0x1171, 0x11AE] }, -{ source: [0xB014], NFC: [0xB014], NFD: [0x1101, 0x1171, 0x11AF], NFKC: [0xB014], NFKD: [0x1101, 0x1171, 0x11AF] }, -{ source: [0xB015], NFC: [0xB015], NFD: [0x1101, 0x1171, 0x11B0], NFKC: [0xB015], NFKD: [0x1101, 0x1171, 0x11B0] }, -{ source: [0xB016], NFC: [0xB016], NFD: [0x1101, 0x1171, 0x11B1], NFKC: [0xB016], NFKD: [0x1101, 0x1171, 0x11B1] }, -{ source: [0xB017], NFC: [0xB017], NFD: [0x1101, 0x1171, 0x11B2], NFKC: [0xB017], NFKD: [0x1101, 0x1171, 0x11B2] }, -{ source: [0xB018], NFC: [0xB018], NFD: [0x1101, 0x1171, 0x11B3], NFKC: [0xB018], NFKD: [0x1101, 0x1171, 0x11B3] }, -{ source: [0xB019], NFC: [0xB019], NFD: [0x1101, 0x1171, 0x11B4], NFKC: [0xB019], NFKD: [0x1101, 0x1171, 0x11B4] }, -{ source: [0xB01A], NFC: [0xB01A], NFD: [0x1101, 0x1171, 0x11B5], NFKC: [0xB01A], NFKD: [0x1101, 0x1171, 0x11B5] }, -{ source: [0xB01B], NFC: [0xB01B], NFD: [0x1101, 0x1171, 0x11B6], NFKC: [0xB01B], NFKD: [0x1101, 0x1171, 0x11B6] }, -{ source: [0xB01C], NFC: [0xB01C], NFD: [0x1101, 0x1171, 0x11B7], NFKC: [0xB01C], NFKD: [0x1101, 0x1171, 0x11B7] }, -{ source: [0xB01D], NFC: [0xB01D], NFD: [0x1101, 0x1171, 0x11B8], NFKC: [0xB01D], NFKD: [0x1101, 0x1171, 0x11B8] }, -{ source: [0xB01E], NFC: [0xB01E], NFD: [0x1101, 0x1171, 0x11B9], NFKC: [0xB01E], NFKD: [0x1101, 0x1171, 0x11B9] }, -{ source: [0xB01F], NFC: [0xB01F], NFD: [0x1101, 0x1171, 0x11BA], NFKC: [0xB01F], NFKD: [0x1101, 0x1171, 0x11BA] }, -{ source: [0xB020], NFC: [0xB020], NFD: [0x1101, 0x1171, 0x11BB], NFKC: [0xB020], NFKD: [0x1101, 0x1171, 0x11BB] }, -{ source: [0xB021], NFC: [0xB021], NFD: [0x1101, 0x1171, 0x11BC], NFKC: [0xB021], NFKD: [0x1101, 0x1171, 0x11BC] }, -{ source: [0xB022], NFC: [0xB022], NFD: [0x1101, 0x1171, 0x11BD], NFKC: [0xB022], NFKD: [0x1101, 0x1171, 0x11BD] }, -{ source: [0xB023], NFC: [0xB023], NFD: [0x1101, 0x1171, 0x11BE], NFKC: [0xB023], NFKD: [0x1101, 0x1171, 0x11BE] }, -{ source: [0xB024], NFC: [0xB024], NFD: [0x1101, 0x1171, 0x11BF], NFKC: [0xB024], NFKD: [0x1101, 0x1171, 0x11BF] }, -{ source: [0xB025], NFC: [0xB025], NFD: [0x1101, 0x1171, 0x11C0], NFKC: [0xB025], NFKD: [0x1101, 0x1171, 0x11C0] }, -{ source: [0xB026], NFC: [0xB026], NFD: [0x1101, 0x1171, 0x11C1], NFKC: [0xB026], NFKD: [0x1101, 0x1171, 0x11C1] }, -{ source: [0xB027], NFC: [0xB027], NFD: [0x1101, 0x1171, 0x11C2], NFKC: [0xB027], NFKD: [0x1101, 0x1171, 0x11C2] }, -{ source: [0xB028], NFC: [0xB028], NFD: [0x1101, 0x1172], NFKC: [0xB028], NFKD: [0x1101, 0x1172] }, -{ source: [0xB029], NFC: [0xB029], NFD: [0x1101, 0x1172, 0x11A8], NFKC: [0xB029], NFKD: [0x1101, 0x1172, 0x11A8] }, -{ source: [0xB02A], NFC: [0xB02A], NFD: [0x1101, 0x1172, 0x11A9], NFKC: [0xB02A], NFKD: [0x1101, 0x1172, 0x11A9] }, -{ source: [0xB02B], NFC: [0xB02B], NFD: [0x1101, 0x1172, 0x11AA], NFKC: [0xB02B], NFKD: [0x1101, 0x1172, 0x11AA] }, -{ source: [0xB02C], NFC: [0xB02C], NFD: [0x1101, 0x1172, 0x11AB], NFKC: [0xB02C], NFKD: [0x1101, 0x1172, 0x11AB] }, -{ source: [0xB02D], NFC: [0xB02D], NFD: [0x1101, 0x1172, 0x11AC], NFKC: [0xB02D], NFKD: [0x1101, 0x1172, 0x11AC] }, -{ source: [0xB02E], NFC: [0xB02E], NFD: [0x1101, 0x1172, 0x11AD], NFKC: [0xB02E], NFKD: [0x1101, 0x1172, 0x11AD] }, -{ source: [0xB02F], NFC: [0xB02F], NFD: [0x1101, 0x1172, 0x11AE], NFKC: [0xB02F], NFKD: [0x1101, 0x1172, 0x11AE] }, -{ source: [0xB030], NFC: [0xB030], NFD: [0x1101, 0x1172, 0x11AF], NFKC: [0xB030], NFKD: [0x1101, 0x1172, 0x11AF] }, -{ source: [0xB031], NFC: [0xB031], NFD: [0x1101, 0x1172, 0x11B0], NFKC: [0xB031], NFKD: [0x1101, 0x1172, 0x11B0] }, -{ source: [0xB032], NFC: [0xB032], NFD: [0x1101, 0x1172, 0x11B1], NFKC: [0xB032], NFKD: [0x1101, 0x1172, 0x11B1] }, -{ source: [0xB033], NFC: [0xB033], NFD: [0x1101, 0x1172, 0x11B2], NFKC: [0xB033], NFKD: [0x1101, 0x1172, 0x11B2] }, -{ source: [0xB034], NFC: [0xB034], NFD: [0x1101, 0x1172, 0x11B3], NFKC: [0xB034], NFKD: [0x1101, 0x1172, 0x11B3] }, -{ source: [0xB035], NFC: [0xB035], NFD: [0x1101, 0x1172, 0x11B4], NFKC: [0xB035], NFKD: [0x1101, 0x1172, 0x11B4] }, -{ source: [0xB036], NFC: [0xB036], NFD: [0x1101, 0x1172, 0x11B5], NFKC: [0xB036], NFKD: [0x1101, 0x1172, 0x11B5] }, -{ source: [0xB037], NFC: [0xB037], NFD: [0x1101, 0x1172, 0x11B6], NFKC: [0xB037], NFKD: [0x1101, 0x1172, 0x11B6] }, -{ source: [0xB038], NFC: [0xB038], NFD: [0x1101, 0x1172, 0x11B7], NFKC: [0xB038], NFKD: [0x1101, 0x1172, 0x11B7] }, -{ source: [0xB039], NFC: [0xB039], NFD: [0x1101, 0x1172, 0x11B8], NFKC: [0xB039], NFKD: [0x1101, 0x1172, 0x11B8] }, -{ source: [0xB03A], NFC: [0xB03A], NFD: [0x1101, 0x1172, 0x11B9], NFKC: [0xB03A], NFKD: [0x1101, 0x1172, 0x11B9] }, -{ source: [0xB03B], NFC: [0xB03B], NFD: [0x1101, 0x1172, 0x11BA], NFKC: [0xB03B], NFKD: [0x1101, 0x1172, 0x11BA] }, -{ source: [0xB03C], NFC: [0xB03C], NFD: [0x1101, 0x1172, 0x11BB], NFKC: [0xB03C], NFKD: [0x1101, 0x1172, 0x11BB] }, -{ source: [0xB03D], NFC: [0xB03D], NFD: [0x1101, 0x1172, 0x11BC], NFKC: [0xB03D], NFKD: [0x1101, 0x1172, 0x11BC] }, -{ source: [0xB03E], NFC: [0xB03E], NFD: [0x1101, 0x1172, 0x11BD], NFKC: [0xB03E], NFKD: [0x1101, 0x1172, 0x11BD] }, -{ source: [0xB03F], NFC: [0xB03F], NFD: [0x1101, 0x1172, 0x11BE], NFKC: [0xB03F], NFKD: [0x1101, 0x1172, 0x11BE] }, -{ source: [0xB040], NFC: [0xB040], NFD: [0x1101, 0x1172, 0x11BF], NFKC: [0xB040], NFKD: [0x1101, 0x1172, 0x11BF] }, -{ source: [0xB041], NFC: [0xB041], NFD: [0x1101, 0x1172, 0x11C0], NFKC: [0xB041], NFKD: [0x1101, 0x1172, 0x11C0] }, -{ source: [0xB042], NFC: [0xB042], NFD: [0x1101, 0x1172, 0x11C1], NFKC: [0xB042], NFKD: [0x1101, 0x1172, 0x11C1] }, -{ source: [0xB043], NFC: [0xB043], NFD: [0x1101, 0x1172, 0x11C2], NFKC: [0xB043], NFKD: [0x1101, 0x1172, 0x11C2] }, -{ source: [0xB044], NFC: [0xB044], NFD: [0x1101, 0x1173], NFKC: [0xB044], NFKD: [0x1101, 0x1173] }, -{ source: [0xB045], NFC: [0xB045], NFD: [0x1101, 0x1173, 0x11A8], NFKC: [0xB045], NFKD: [0x1101, 0x1173, 0x11A8] }, -{ source: [0xB046], NFC: [0xB046], NFD: [0x1101, 0x1173, 0x11A9], NFKC: [0xB046], NFKD: [0x1101, 0x1173, 0x11A9] }, -{ source: [0xB047], NFC: [0xB047], NFD: [0x1101, 0x1173, 0x11AA], NFKC: [0xB047], NFKD: [0x1101, 0x1173, 0x11AA] }, -{ source: [0xB048], NFC: [0xB048], NFD: [0x1101, 0x1173, 0x11AB], NFKC: [0xB048], NFKD: [0x1101, 0x1173, 0x11AB] }, -{ source: [0xB049], NFC: [0xB049], NFD: [0x1101, 0x1173, 0x11AC], NFKC: [0xB049], NFKD: [0x1101, 0x1173, 0x11AC] }, -{ source: [0xB04A], NFC: [0xB04A], NFD: [0x1101, 0x1173, 0x11AD], NFKC: [0xB04A], NFKD: [0x1101, 0x1173, 0x11AD] }, -{ source: [0xB04B], NFC: [0xB04B], NFD: [0x1101, 0x1173, 0x11AE], NFKC: [0xB04B], NFKD: [0x1101, 0x1173, 0x11AE] }, -{ source: [0xB04C], NFC: [0xB04C], NFD: [0x1101, 0x1173, 0x11AF], NFKC: [0xB04C], NFKD: [0x1101, 0x1173, 0x11AF] }, -{ source: [0xB04D], NFC: [0xB04D], NFD: [0x1101, 0x1173, 0x11B0], NFKC: [0xB04D], NFKD: [0x1101, 0x1173, 0x11B0] }, -{ source: [0xB04E], NFC: [0xB04E], NFD: [0x1101, 0x1173, 0x11B1], NFKC: [0xB04E], NFKD: [0x1101, 0x1173, 0x11B1] }, -{ source: [0xB04F], NFC: [0xB04F], NFD: [0x1101, 0x1173, 0x11B2], NFKC: [0xB04F], NFKD: [0x1101, 0x1173, 0x11B2] }, -{ source: [0xB050], NFC: [0xB050], NFD: [0x1101, 0x1173, 0x11B3], NFKC: [0xB050], NFKD: [0x1101, 0x1173, 0x11B3] }, -{ source: [0xB051], NFC: [0xB051], NFD: [0x1101, 0x1173, 0x11B4], NFKC: [0xB051], NFKD: [0x1101, 0x1173, 0x11B4] }, -{ source: [0xB052], NFC: [0xB052], NFD: [0x1101, 0x1173, 0x11B5], NFKC: [0xB052], NFKD: [0x1101, 0x1173, 0x11B5] }, -{ source: [0xB053], NFC: [0xB053], NFD: [0x1101, 0x1173, 0x11B6], NFKC: [0xB053], NFKD: [0x1101, 0x1173, 0x11B6] }, -{ source: [0xB054], NFC: [0xB054], NFD: [0x1101, 0x1173, 0x11B7], NFKC: [0xB054], NFKD: [0x1101, 0x1173, 0x11B7] }, -{ source: [0xB055], NFC: [0xB055], NFD: [0x1101, 0x1173, 0x11B8], NFKC: [0xB055], NFKD: [0x1101, 0x1173, 0x11B8] }, -{ source: [0xB056], NFC: [0xB056], NFD: [0x1101, 0x1173, 0x11B9], NFKC: [0xB056], NFKD: [0x1101, 0x1173, 0x11B9] }, -{ source: [0xB057], NFC: [0xB057], NFD: [0x1101, 0x1173, 0x11BA], NFKC: [0xB057], NFKD: [0x1101, 0x1173, 0x11BA] }, -{ source: [0xB058], NFC: [0xB058], NFD: [0x1101, 0x1173, 0x11BB], NFKC: [0xB058], NFKD: [0x1101, 0x1173, 0x11BB] }, -{ source: [0xB059], NFC: [0xB059], NFD: [0x1101, 0x1173, 0x11BC], NFKC: [0xB059], NFKD: [0x1101, 0x1173, 0x11BC] }, -{ source: [0xB05A], NFC: [0xB05A], NFD: [0x1101, 0x1173, 0x11BD], NFKC: [0xB05A], NFKD: [0x1101, 0x1173, 0x11BD] }, -{ source: [0xB05B], NFC: [0xB05B], NFD: [0x1101, 0x1173, 0x11BE], NFKC: [0xB05B], NFKD: [0x1101, 0x1173, 0x11BE] }, -{ source: [0xB05C], NFC: [0xB05C], NFD: [0x1101, 0x1173, 0x11BF], NFKC: [0xB05C], NFKD: [0x1101, 0x1173, 0x11BF] }, -{ source: [0xB05D], NFC: [0xB05D], NFD: [0x1101, 0x1173, 0x11C0], NFKC: [0xB05D], NFKD: [0x1101, 0x1173, 0x11C0] }, -{ source: [0xB05E], NFC: [0xB05E], NFD: [0x1101, 0x1173, 0x11C1], NFKC: [0xB05E], NFKD: [0x1101, 0x1173, 0x11C1] }, -{ source: [0xB05F], NFC: [0xB05F], NFD: [0x1101, 0x1173, 0x11C2], NFKC: [0xB05F], NFKD: [0x1101, 0x1173, 0x11C2] }, -{ source: [0xB060], NFC: [0xB060], NFD: [0x1101, 0x1174], NFKC: [0xB060], NFKD: [0x1101, 0x1174] }, -{ source: [0xB061], NFC: [0xB061], NFD: [0x1101, 0x1174, 0x11A8], NFKC: [0xB061], NFKD: [0x1101, 0x1174, 0x11A8] }, -{ source: [0xB062], NFC: [0xB062], NFD: [0x1101, 0x1174, 0x11A9], NFKC: [0xB062], NFKD: [0x1101, 0x1174, 0x11A9] }, -{ source: [0xB063], NFC: [0xB063], NFD: [0x1101, 0x1174, 0x11AA], NFKC: [0xB063], NFKD: [0x1101, 0x1174, 0x11AA] }, -{ source: [0xB064], NFC: [0xB064], NFD: [0x1101, 0x1174, 0x11AB], NFKC: [0xB064], NFKD: [0x1101, 0x1174, 0x11AB] }, -{ source: [0xB065], NFC: [0xB065], NFD: [0x1101, 0x1174, 0x11AC], NFKC: [0xB065], NFKD: [0x1101, 0x1174, 0x11AC] }, -{ source: [0xB066], NFC: [0xB066], NFD: [0x1101, 0x1174, 0x11AD], NFKC: [0xB066], NFKD: [0x1101, 0x1174, 0x11AD] }, -{ source: [0xB067], NFC: [0xB067], NFD: [0x1101, 0x1174, 0x11AE], NFKC: [0xB067], NFKD: [0x1101, 0x1174, 0x11AE] }, -{ source: [0xB068], NFC: [0xB068], NFD: [0x1101, 0x1174, 0x11AF], NFKC: [0xB068], NFKD: [0x1101, 0x1174, 0x11AF] }, -{ source: [0xB069], NFC: [0xB069], NFD: [0x1101, 0x1174, 0x11B0], NFKC: [0xB069], NFKD: [0x1101, 0x1174, 0x11B0] }, -{ source: [0xB06A], NFC: [0xB06A], NFD: [0x1101, 0x1174, 0x11B1], NFKC: [0xB06A], NFKD: [0x1101, 0x1174, 0x11B1] }, -{ source: [0xB06B], NFC: [0xB06B], NFD: [0x1101, 0x1174, 0x11B2], NFKC: [0xB06B], NFKD: [0x1101, 0x1174, 0x11B2] }, -{ source: [0xB06C], NFC: [0xB06C], NFD: [0x1101, 0x1174, 0x11B3], NFKC: [0xB06C], NFKD: [0x1101, 0x1174, 0x11B3] }, -{ source: [0xB06D], NFC: [0xB06D], NFD: [0x1101, 0x1174, 0x11B4], NFKC: [0xB06D], NFKD: [0x1101, 0x1174, 0x11B4] }, -{ source: [0xB06E], NFC: [0xB06E], NFD: [0x1101, 0x1174, 0x11B5], NFKC: [0xB06E], NFKD: [0x1101, 0x1174, 0x11B5] }, -{ source: [0xB06F], NFC: [0xB06F], NFD: [0x1101, 0x1174, 0x11B6], NFKC: [0xB06F], NFKD: [0x1101, 0x1174, 0x11B6] }, -{ source: [0xB070], NFC: [0xB070], NFD: [0x1101, 0x1174, 0x11B7], NFKC: [0xB070], NFKD: [0x1101, 0x1174, 0x11B7] }, -{ source: [0xB071], NFC: [0xB071], NFD: [0x1101, 0x1174, 0x11B8], NFKC: [0xB071], NFKD: [0x1101, 0x1174, 0x11B8] }, -{ source: [0xB072], NFC: [0xB072], NFD: [0x1101, 0x1174, 0x11B9], NFKC: [0xB072], NFKD: [0x1101, 0x1174, 0x11B9] }, -{ source: [0xB073], NFC: [0xB073], NFD: [0x1101, 0x1174, 0x11BA], NFKC: [0xB073], NFKD: [0x1101, 0x1174, 0x11BA] }, -{ source: [0xB074], NFC: [0xB074], NFD: [0x1101, 0x1174, 0x11BB], NFKC: [0xB074], NFKD: [0x1101, 0x1174, 0x11BB] }, -{ source: [0xB075], NFC: [0xB075], NFD: [0x1101, 0x1174, 0x11BC], NFKC: [0xB075], NFKD: [0x1101, 0x1174, 0x11BC] }, -{ source: [0xB076], NFC: [0xB076], NFD: [0x1101, 0x1174, 0x11BD], NFKC: [0xB076], NFKD: [0x1101, 0x1174, 0x11BD] }, -{ source: [0xB077], NFC: [0xB077], NFD: [0x1101, 0x1174, 0x11BE], NFKC: [0xB077], NFKD: [0x1101, 0x1174, 0x11BE] }, -{ source: [0xB078], NFC: [0xB078], NFD: [0x1101, 0x1174, 0x11BF], NFKC: [0xB078], NFKD: [0x1101, 0x1174, 0x11BF] }, -{ source: [0xB079], NFC: [0xB079], NFD: [0x1101, 0x1174, 0x11C0], NFKC: [0xB079], NFKD: [0x1101, 0x1174, 0x11C0] }, -{ source: [0xB07A], NFC: [0xB07A], NFD: [0x1101, 0x1174, 0x11C1], NFKC: [0xB07A], NFKD: [0x1101, 0x1174, 0x11C1] }, -{ source: [0xB07B], NFC: [0xB07B], NFD: [0x1101, 0x1174, 0x11C2], NFKC: [0xB07B], NFKD: [0x1101, 0x1174, 0x11C2] }, -{ source: [0xB07C], NFC: [0xB07C], NFD: [0x1101, 0x1175], NFKC: [0xB07C], NFKD: [0x1101, 0x1175] }, -{ source: [0xB07D], NFC: [0xB07D], NFD: [0x1101, 0x1175, 0x11A8], NFKC: [0xB07D], NFKD: [0x1101, 0x1175, 0x11A8] }, -{ source: [0xB07E], NFC: [0xB07E], NFD: [0x1101, 0x1175, 0x11A9], NFKC: [0xB07E], NFKD: [0x1101, 0x1175, 0x11A9] }, -{ source: [0xB07F], NFC: [0xB07F], NFD: [0x1101, 0x1175, 0x11AA], NFKC: [0xB07F], NFKD: [0x1101, 0x1175, 0x11AA] }, -{ source: [0xB080], NFC: [0xB080], NFD: [0x1101, 0x1175, 0x11AB], NFKC: [0xB080], NFKD: [0x1101, 0x1175, 0x11AB] }, -{ source: [0xB081], NFC: [0xB081], NFD: [0x1101, 0x1175, 0x11AC], NFKC: [0xB081], NFKD: [0x1101, 0x1175, 0x11AC] }, -{ source: [0xB082], NFC: [0xB082], NFD: [0x1101, 0x1175, 0x11AD], NFKC: [0xB082], NFKD: [0x1101, 0x1175, 0x11AD] }, -{ source: [0xB083], NFC: [0xB083], NFD: [0x1101, 0x1175, 0x11AE], NFKC: [0xB083], NFKD: [0x1101, 0x1175, 0x11AE] }, -{ source: [0xB084], NFC: [0xB084], NFD: [0x1101, 0x1175, 0x11AF], NFKC: [0xB084], NFKD: [0x1101, 0x1175, 0x11AF] }, -{ source: [0xB085], NFC: [0xB085], NFD: [0x1101, 0x1175, 0x11B0], NFKC: [0xB085], NFKD: [0x1101, 0x1175, 0x11B0] }, -{ source: [0xB086], NFC: [0xB086], NFD: [0x1101, 0x1175, 0x11B1], NFKC: [0xB086], NFKD: [0x1101, 0x1175, 0x11B1] }, -{ source: [0xB087], NFC: [0xB087], NFD: [0x1101, 0x1175, 0x11B2], NFKC: [0xB087], NFKD: [0x1101, 0x1175, 0x11B2] }, -{ source: [0xB088], NFC: [0xB088], NFD: [0x1101, 0x1175, 0x11B3], NFKC: [0xB088], NFKD: [0x1101, 0x1175, 0x11B3] }, -{ source: [0xB089], NFC: [0xB089], NFD: [0x1101, 0x1175, 0x11B4], NFKC: [0xB089], NFKD: [0x1101, 0x1175, 0x11B4] }, -{ source: [0xB08A], NFC: [0xB08A], NFD: [0x1101, 0x1175, 0x11B5], NFKC: [0xB08A], NFKD: [0x1101, 0x1175, 0x11B5] }, -{ source: [0xB08B], NFC: [0xB08B], NFD: [0x1101, 0x1175, 0x11B6], NFKC: [0xB08B], NFKD: [0x1101, 0x1175, 0x11B6] }, -{ source: [0xB08C], NFC: [0xB08C], NFD: [0x1101, 0x1175, 0x11B7], NFKC: [0xB08C], NFKD: [0x1101, 0x1175, 0x11B7] }, -{ source: [0xB08D], NFC: [0xB08D], NFD: [0x1101, 0x1175, 0x11B8], NFKC: [0xB08D], NFKD: [0x1101, 0x1175, 0x11B8] }, -{ source: [0xB08E], NFC: [0xB08E], NFD: [0x1101, 0x1175, 0x11B9], NFKC: [0xB08E], NFKD: [0x1101, 0x1175, 0x11B9] }, -{ source: [0xB08F], NFC: [0xB08F], NFD: [0x1101, 0x1175, 0x11BA], NFKC: [0xB08F], NFKD: [0x1101, 0x1175, 0x11BA] }, -{ source: [0xB090], NFC: [0xB090], NFD: [0x1101, 0x1175, 0x11BB], NFKC: [0xB090], NFKD: [0x1101, 0x1175, 0x11BB] }, -{ source: [0xB091], NFC: [0xB091], NFD: [0x1101, 0x1175, 0x11BC], NFKC: [0xB091], NFKD: [0x1101, 0x1175, 0x11BC] }, -{ source: [0xB092], NFC: [0xB092], NFD: [0x1101, 0x1175, 0x11BD], NFKC: [0xB092], NFKD: [0x1101, 0x1175, 0x11BD] }, -{ source: [0xB093], NFC: [0xB093], NFD: [0x1101, 0x1175, 0x11BE], NFKC: [0xB093], NFKD: [0x1101, 0x1175, 0x11BE] }, -{ source: [0xB094], NFC: [0xB094], NFD: [0x1101, 0x1175, 0x11BF], NFKC: [0xB094], NFKD: [0x1101, 0x1175, 0x11BF] }, -{ source: [0xB095], NFC: [0xB095], NFD: [0x1101, 0x1175, 0x11C0], NFKC: [0xB095], NFKD: [0x1101, 0x1175, 0x11C0] }, -{ source: [0xB096], NFC: [0xB096], NFD: [0x1101, 0x1175, 0x11C1], NFKC: [0xB096], NFKD: [0x1101, 0x1175, 0x11C1] }, -{ source: [0xB097], NFC: [0xB097], NFD: [0x1101, 0x1175, 0x11C2], NFKC: [0xB097], NFKD: [0x1101, 0x1175, 0x11C2] }, -{ source: [0xB098], NFC: [0xB098], NFD: [0x1102, 0x1161], NFKC: [0xB098], NFKD: [0x1102, 0x1161] }, -{ source: [0xB099], NFC: [0xB099], NFD: [0x1102, 0x1161, 0x11A8], NFKC: [0xB099], NFKD: [0x1102, 0x1161, 0x11A8] }, -{ source: [0xB09A], NFC: [0xB09A], NFD: [0x1102, 0x1161, 0x11A9], NFKC: [0xB09A], NFKD: [0x1102, 0x1161, 0x11A9] }, -{ source: [0xB09B], NFC: [0xB09B], NFD: [0x1102, 0x1161, 0x11AA], NFKC: [0xB09B], NFKD: [0x1102, 0x1161, 0x11AA] }, -{ source: [0xB09C], NFC: [0xB09C], NFD: [0x1102, 0x1161, 0x11AB], NFKC: [0xB09C], NFKD: [0x1102, 0x1161, 0x11AB] }, -{ source: [0xB09D], NFC: [0xB09D], NFD: [0x1102, 0x1161, 0x11AC], NFKC: [0xB09D], NFKD: [0x1102, 0x1161, 0x11AC] }, -{ source: [0xB09E], NFC: [0xB09E], NFD: [0x1102, 0x1161, 0x11AD], NFKC: [0xB09E], NFKD: [0x1102, 0x1161, 0x11AD] }, -{ source: [0xB09F], NFC: [0xB09F], NFD: [0x1102, 0x1161, 0x11AE], NFKC: [0xB09F], NFKD: [0x1102, 0x1161, 0x11AE] }, -{ source: [0xB0A0], NFC: [0xB0A0], NFD: [0x1102, 0x1161, 0x11AF], NFKC: [0xB0A0], NFKD: [0x1102, 0x1161, 0x11AF] }, -{ source: [0xB0A1], NFC: [0xB0A1], NFD: [0x1102, 0x1161, 0x11B0], NFKC: [0xB0A1], NFKD: [0x1102, 0x1161, 0x11B0] }, -{ source: [0xB0A2], NFC: [0xB0A2], NFD: [0x1102, 0x1161, 0x11B1], NFKC: [0xB0A2], NFKD: [0x1102, 0x1161, 0x11B1] }, -{ source: [0xB0A3], NFC: [0xB0A3], NFD: [0x1102, 0x1161, 0x11B2], NFKC: [0xB0A3], NFKD: [0x1102, 0x1161, 0x11B2] }, -{ source: [0xB0A4], NFC: [0xB0A4], NFD: [0x1102, 0x1161, 0x11B3], NFKC: [0xB0A4], NFKD: [0x1102, 0x1161, 0x11B3] }, -{ source: [0xB0A5], NFC: [0xB0A5], NFD: [0x1102, 0x1161, 0x11B4], NFKC: [0xB0A5], NFKD: [0x1102, 0x1161, 0x11B4] }, -{ source: [0xB0A6], NFC: [0xB0A6], NFD: [0x1102, 0x1161, 0x11B5], NFKC: [0xB0A6], NFKD: [0x1102, 0x1161, 0x11B5] }, -{ source: [0xB0A7], NFC: [0xB0A7], NFD: [0x1102, 0x1161, 0x11B6], NFKC: [0xB0A7], NFKD: [0x1102, 0x1161, 0x11B6] }, -{ source: [0xB0A8], NFC: [0xB0A8], NFD: [0x1102, 0x1161, 0x11B7], NFKC: [0xB0A8], NFKD: [0x1102, 0x1161, 0x11B7] }, -{ source: [0xB0A9], NFC: [0xB0A9], NFD: [0x1102, 0x1161, 0x11B8], NFKC: [0xB0A9], NFKD: [0x1102, 0x1161, 0x11B8] }, -{ source: [0xB0AA], NFC: [0xB0AA], NFD: [0x1102, 0x1161, 0x11B9], NFKC: [0xB0AA], NFKD: [0x1102, 0x1161, 0x11B9] }, -{ source: [0xB0AB], NFC: [0xB0AB], NFD: [0x1102, 0x1161, 0x11BA], NFKC: [0xB0AB], NFKD: [0x1102, 0x1161, 0x11BA] }, -{ source: [0xB0AC], NFC: [0xB0AC], NFD: [0x1102, 0x1161, 0x11BB], NFKC: [0xB0AC], NFKD: [0x1102, 0x1161, 0x11BB] }, -{ source: [0xB0AD], NFC: [0xB0AD], NFD: [0x1102, 0x1161, 0x11BC], NFKC: [0xB0AD], NFKD: [0x1102, 0x1161, 0x11BC] }, -{ source: [0xB0AE], NFC: [0xB0AE], NFD: [0x1102, 0x1161, 0x11BD], NFKC: [0xB0AE], NFKD: [0x1102, 0x1161, 0x11BD] }, -{ source: [0xB0AF], NFC: [0xB0AF], NFD: [0x1102, 0x1161, 0x11BE], NFKC: [0xB0AF], NFKD: [0x1102, 0x1161, 0x11BE] }, -{ source: [0xB0B0], NFC: [0xB0B0], NFD: [0x1102, 0x1161, 0x11BF], NFKC: [0xB0B0], NFKD: [0x1102, 0x1161, 0x11BF] }, -{ source: [0xB0B1], NFC: [0xB0B1], NFD: [0x1102, 0x1161, 0x11C0], NFKC: [0xB0B1], NFKD: [0x1102, 0x1161, 0x11C0] }, -{ source: [0xB0B2], NFC: [0xB0B2], NFD: [0x1102, 0x1161, 0x11C1], NFKC: [0xB0B2], NFKD: [0x1102, 0x1161, 0x11C1] }, -{ source: [0xB0B3], NFC: [0xB0B3], NFD: [0x1102, 0x1161, 0x11C2], NFKC: [0xB0B3], NFKD: [0x1102, 0x1161, 0x11C2] }, -{ source: [0xB0B4], NFC: [0xB0B4], NFD: [0x1102, 0x1162], NFKC: [0xB0B4], NFKD: [0x1102, 0x1162] }, -{ source: [0xB0B5], NFC: [0xB0B5], NFD: [0x1102, 0x1162, 0x11A8], NFKC: [0xB0B5], NFKD: [0x1102, 0x1162, 0x11A8] }, -{ source: [0xB0B6], NFC: [0xB0B6], NFD: [0x1102, 0x1162, 0x11A9], NFKC: [0xB0B6], NFKD: [0x1102, 0x1162, 0x11A9] }, -{ source: [0xB0B7], NFC: [0xB0B7], NFD: [0x1102, 0x1162, 0x11AA], NFKC: [0xB0B7], NFKD: [0x1102, 0x1162, 0x11AA] }, -{ source: [0xB0B8], NFC: [0xB0B8], NFD: [0x1102, 0x1162, 0x11AB], NFKC: [0xB0B8], NFKD: [0x1102, 0x1162, 0x11AB] }, -{ source: [0xB0B9], NFC: [0xB0B9], NFD: [0x1102, 0x1162, 0x11AC], NFKC: [0xB0B9], NFKD: [0x1102, 0x1162, 0x11AC] }, -{ source: [0xB0BA], NFC: [0xB0BA], NFD: [0x1102, 0x1162, 0x11AD], NFKC: [0xB0BA], NFKD: [0x1102, 0x1162, 0x11AD] }, -{ source: [0xB0BB], NFC: [0xB0BB], NFD: [0x1102, 0x1162, 0x11AE], NFKC: [0xB0BB], NFKD: [0x1102, 0x1162, 0x11AE] }, -{ source: [0xB0BC], NFC: [0xB0BC], NFD: [0x1102, 0x1162, 0x11AF], NFKC: [0xB0BC], NFKD: [0x1102, 0x1162, 0x11AF] }, -{ source: [0xB0BD], NFC: [0xB0BD], NFD: [0x1102, 0x1162, 0x11B0], NFKC: [0xB0BD], NFKD: [0x1102, 0x1162, 0x11B0] }, -{ source: [0xB0BE], NFC: [0xB0BE], NFD: [0x1102, 0x1162, 0x11B1], NFKC: [0xB0BE], NFKD: [0x1102, 0x1162, 0x11B1] }, -{ source: [0xB0BF], NFC: [0xB0BF], NFD: [0x1102, 0x1162, 0x11B2], NFKC: [0xB0BF], NFKD: [0x1102, 0x1162, 0x11B2] }, -{ source: [0xB0C0], NFC: [0xB0C0], NFD: [0x1102, 0x1162, 0x11B3], NFKC: [0xB0C0], NFKD: [0x1102, 0x1162, 0x11B3] }, -{ source: [0xB0C1], NFC: [0xB0C1], NFD: [0x1102, 0x1162, 0x11B4], NFKC: [0xB0C1], NFKD: [0x1102, 0x1162, 0x11B4] }, -{ source: [0xB0C2], NFC: [0xB0C2], NFD: [0x1102, 0x1162, 0x11B5], NFKC: [0xB0C2], NFKD: [0x1102, 0x1162, 0x11B5] }, -{ source: [0xB0C3], NFC: [0xB0C3], NFD: [0x1102, 0x1162, 0x11B6], NFKC: [0xB0C3], NFKD: [0x1102, 0x1162, 0x11B6] }, -{ source: [0xB0C4], NFC: [0xB0C4], NFD: [0x1102, 0x1162, 0x11B7], NFKC: [0xB0C4], NFKD: [0x1102, 0x1162, 0x11B7] }, -{ source: [0xB0C5], NFC: [0xB0C5], NFD: [0x1102, 0x1162, 0x11B8], NFKC: [0xB0C5], NFKD: [0x1102, 0x1162, 0x11B8] }, -{ source: [0xB0C6], NFC: [0xB0C6], NFD: [0x1102, 0x1162, 0x11B9], NFKC: [0xB0C6], NFKD: [0x1102, 0x1162, 0x11B9] }, -{ source: [0xB0C7], NFC: [0xB0C7], NFD: [0x1102, 0x1162, 0x11BA], NFKC: [0xB0C7], NFKD: [0x1102, 0x1162, 0x11BA] }, -{ source: [0xB0C8], NFC: [0xB0C8], NFD: [0x1102, 0x1162, 0x11BB], NFKC: [0xB0C8], NFKD: [0x1102, 0x1162, 0x11BB] }, -{ source: [0xB0C9], NFC: [0xB0C9], NFD: [0x1102, 0x1162, 0x11BC], NFKC: [0xB0C9], NFKD: [0x1102, 0x1162, 0x11BC] }, -{ source: [0xB0CA], NFC: [0xB0CA], NFD: [0x1102, 0x1162, 0x11BD], NFKC: [0xB0CA], NFKD: [0x1102, 0x1162, 0x11BD] }, -{ source: [0xB0CB], NFC: [0xB0CB], NFD: [0x1102, 0x1162, 0x11BE], NFKC: [0xB0CB], NFKD: [0x1102, 0x1162, 0x11BE] }, -{ source: [0xB0CC], NFC: [0xB0CC], NFD: [0x1102, 0x1162, 0x11BF], NFKC: [0xB0CC], NFKD: [0x1102, 0x1162, 0x11BF] }, -{ source: [0xB0CD], NFC: [0xB0CD], NFD: [0x1102, 0x1162, 0x11C0], NFKC: [0xB0CD], NFKD: [0x1102, 0x1162, 0x11C0] }, -{ source: [0xB0CE], NFC: [0xB0CE], NFD: [0x1102, 0x1162, 0x11C1], NFKC: [0xB0CE], NFKD: [0x1102, 0x1162, 0x11C1] }, -{ source: [0xB0CF], NFC: [0xB0CF], NFD: [0x1102, 0x1162, 0x11C2], NFKC: [0xB0CF], NFKD: [0x1102, 0x1162, 0x11C2] }, -{ source: [0xB0D0], NFC: [0xB0D0], NFD: [0x1102, 0x1163], NFKC: [0xB0D0], NFKD: [0x1102, 0x1163] }, -{ source: [0xB0D1], NFC: [0xB0D1], NFD: [0x1102, 0x1163, 0x11A8], NFKC: [0xB0D1], NFKD: [0x1102, 0x1163, 0x11A8] }, -{ source: [0xB0D2], NFC: [0xB0D2], NFD: [0x1102, 0x1163, 0x11A9], NFKC: [0xB0D2], NFKD: [0x1102, 0x1163, 0x11A9] }, -{ source: [0xB0D3], NFC: [0xB0D3], NFD: [0x1102, 0x1163, 0x11AA], NFKC: [0xB0D3], NFKD: [0x1102, 0x1163, 0x11AA] }, -{ source: [0xB0D4], NFC: [0xB0D4], NFD: [0x1102, 0x1163, 0x11AB], NFKC: [0xB0D4], NFKD: [0x1102, 0x1163, 0x11AB] }, -{ source: [0xB0D5], NFC: [0xB0D5], NFD: [0x1102, 0x1163, 0x11AC], NFKC: [0xB0D5], NFKD: [0x1102, 0x1163, 0x11AC] }, -{ source: [0xB0D6], NFC: [0xB0D6], NFD: [0x1102, 0x1163, 0x11AD], NFKC: [0xB0D6], NFKD: [0x1102, 0x1163, 0x11AD] }, -{ source: [0xB0D7], NFC: [0xB0D7], NFD: [0x1102, 0x1163, 0x11AE], NFKC: [0xB0D7], NFKD: [0x1102, 0x1163, 0x11AE] }, -{ source: [0xB0D8], NFC: [0xB0D8], NFD: [0x1102, 0x1163, 0x11AF], NFKC: [0xB0D8], NFKD: [0x1102, 0x1163, 0x11AF] }, -{ source: [0xB0D9], NFC: [0xB0D9], NFD: [0x1102, 0x1163, 0x11B0], NFKC: [0xB0D9], NFKD: [0x1102, 0x1163, 0x11B0] }, -{ source: [0xB0DA], NFC: [0xB0DA], NFD: [0x1102, 0x1163, 0x11B1], NFKC: [0xB0DA], NFKD: [0x1102, 0x1163, 0x11B1] }, -{ source: [0xB0DB], NFC: [0xB0DB], NFD: [0x1102, 0x1163, 0x11B2], NFKC: [0xB0DB], NFKD: [0x1102, 0x1163, 0x11B2] }, -{ source: [0xB0DC], NFC: [0xB0DC], NFD: [0x1102, 0x1163, 0x11B3], NFKC: [0xB0DC], NFKD: [0x1102, 0x1163, 0x11B3] }, -{ source: [0xB0DD], NFC: [0xB0DD], NFD: [0x1102, 0x1163, 0x11B4], NFKC: [0xB0DD], NFKD: [0x1102, 0x1163, 0x11B4] }, -{ source: [0xB0DE], NFC: [0xB0DE], NFD: [0x1102, 0x1163, 0x11B5], NFKC: [0xB0DE], NFKD: [0x1102, 0x1163, 0x11B5] }, -{ source: [0xB0DF], NFC: [0xB0DF], NFD: [0x1102, 0x1163, 0x11B6], NFKC: [0xB0DF], NFKD: [0x1102, 0x1163, 0x11B6] }, -{ source: [0xB0E0], NFC: [0xB0E0], NFD: [0x1102, 0x1163, 0x11B7], NFKC: [0xB0E0], NFKD: [0x1102, 0x1163, 0x11B7] }, -{ source: [0xB0E1], NFC: [0xB0E1], NFD: [0x1102, 0x1163, 0x11B8], NFKC: [0xB0E1], NFKD: [0x1102, 0x1163, 0x11B8] }, -{ source: [0xB0E2], NFC: [0xB0E2], NFD: [0x1102, 0x1163, 0x11B9], NFKC: [0xB0E2], NFKD: [0x1102, 0x1163, 0x11B9] }, -{ source: [0xB0E3], NFC: [0xB0E3], NFD: [0x1102, 0x1163, 0x11BA], NFKC: [0xB0E3], NFKD: [0x1102, 0x1163, 0x11BA] }, -{ source: [0xB0E4], NFC: [0xB0E4], NFD: [0x1102, 0x1163, 0x11BB], NFKC: [0xB0E4], NFKD: [0x1102, 0x1163, 0x11BB] }, -{ source: [0xB0E5], NFC: [0xB0E5], NFD: [0x1102, 0x1163, 0x11BC], NFKC: [0xB0E5], NFKD: [0x1102, 0x1163, 0x11BC] }, -{ source: [0xB0E6], NFC: [0xB0E6], NFD: [0x1102, 0x1163, 0x11BD], NFKC: [0xB0E6], NFKD: [0x1102, 0x1163, 0x11BD] }, -{ source: [0xB0E7], NFC: [0xB0E7], NFD: [0x1102, 0x1163, 0x11BE], NFKC: [0xB0E7], NFKD: [0x1102, 0x1163, 0x11BE] }, -{ source: [0xB0E8], NFC: [0xB0E8], NFD: [0x1102, 0x1163, 0x11BF], NFKC: [0xB0E8], NFKD: [0x1102, 0x1163, 0x11BF] }, -{ source: [0xB0E9], NFC: [0xB0E9], NFD: [0x1102, 0x1163, 0x11C0], NFKC: [0xB0E9], NFKD: [0x1102, 0x1163, 0x11C0] }, -{ source: [0xB0EA], NFC: [0xB0EA], NFD: [0x1102, 0x1163, 0x11C1], NFKC: [0xB0EA], NFKD: [0x1102, 0x1163, 0x11C1] }, -{ source: [0xB0EB], NFC: [0xB0EB], NFD: [0x1102, 0x1163, 0x11C2], NFKC: [0xB0EB], NFKD: [0x1102, 0x1163, 0x11C2] }, -{ source: [0xB0EC], NFC: [0xB0EC], NFD: [0x1102, 0x1164], NFKC: [0xB0EC], NFKD: [0x1102, 0x1164] }, -{ source: [0xB0ED], NFC: [0xB0ED], NFD: [0x1102, 0x1164, 0x11A8], NFKC: [0xB0ED], NFKD: [0x1102, 0x1164, 0x11A8] }, -{ source: [0xB0EE], NFC: [0xB0EE], NFD: [0x1102, 0x1164, 0x11A9], NFKC: [0xB0EE], NFKD: [0x1102, 0x1164, 0x11A9] }, -{ source: [0xB0EF], NFC: [0xB0EF], NFD: [0x1102, 0x1164, 0x11AA], NFKC: [0xB0EF], NFKD: [0x1102, 0x1164, 0x11AA] }, -{ source: [0xB0F0], NFC: [0xB0F0], NFD: [0x1102, 0x1164, 0x11AB], NFKC: [0xB0F0], NFKD: [0x1102, 0x1164, 0x11AB] }, -{ source: [0xB0F1], NFC: [0xB0F1], NFD: [0x1102, 0x1164, 0x11AC], NFKC: [0xB0F1], NFKD: [0x1102, 0x1164, 0x11AC] }, -{ source: [0xB0F2], NFC: [0xB0F2], NFD: [0x1102, 0x1164, 0x11AD], NFKC: [0xB0F2], NFKD: [0x1102, 0x1164, 0x11AD] }, -{ source: [0xB0F3], NFC: [0xB0F3], NFD: [0x1102, 0x1164, 0x11AE], NFKC: [0xB0F3], NFKD: [0x1102, 0x1164, 0x11AE] }, -{ source: [0xB0F4], NFC: [0xB0F4], NFD: [0x1102, 0x1164, 0x11AF], NFKC: [0xB0F4], NFKD: [0x1102, 0x1164, 0x11AF] }, -{ source: [0xB0F5], NFC: [0xB0F5], NFD: [0x1102, 0x1164, 0x11B0], NFKC: [0xB0F5], NFKD: [0x1102, 0x1164, 0x11B0] }, -{ source: [0xB0F6], NFC: [0xB0F6], NFD: [0x1102, 0x1164, 0x11B1], NFKC: [0xB0F6], NFKD: [0x1102, 0x1164, 0x11B1] }, -{ source: [0xB0F7], NFC: [0xB0F7], NFD: [0x1102, 0x1164, 0x11B2], NFKC: [0xB0F7], NFKD: [0x1102, 0x1164, 0x11B2] }, -{ source: [0xB0F8], NFC: [0xB0F8], NFD: [0x1102, 0x1164, 0x11B3], NFKC: [0xB0F8], NFKD: [0x1102, 0x1164, 0x11B3] }, -{ source: [0xB0F9], NFC: [0xB0F9], NFD: [0x1102, 0x1164, 0x11B4], NFKC: [0xB0F9], NFKD: [0x1102, 0x1164, 0x11B4] }, -{ source: [0xB0FA], NFC: [0xB0FA], NFD: [0x1102, 0x1164, 0x11B5], NFKC: [0xB0FA], NFKD: [0x1102, 0x1164, 0x11B5] }, -{ source: [0xB0FB], NFC: [0xB0FB], NFD: [0x1102, 0x1164, 0x11B6], NFKC: [0xB0FB], NFKD: [0x1102, 0x1164, 0x11B6] }, -{ source: [0xB0FC], NFC: [0xB0FC], NFD: [0x1102, 0x1164, 0x11B7], NFKC: [0xB0FC], NFKD: [0x1102, 0x1164, 0x11B7] }, -{ source: [0xB0FD], NFC: [0xB0FD], NFD: [0x1102, 0x1164, 0x11B8], NFKC: [0xB0FD], NFKD: [0x1102, 0x1164, 0x11B8] }, -{ source: [0xB0FE], NFC: [0xB0FE], NFD: [0x1102, 0x1164, 0x11B9], NFKC: [0xB0FE], NFKD: [0x1102, 0x1164, 0x11B9] }, -{ source: [0xB0FF], NFC: [0xB0FF], NFD: [0x1102, 0x1164, 0x11BA], NFKC: [0xB0FF], NFKD: [0x1102, 0x1164, 0x11BA] }, -{ source: [0xB100], NFC: [0xB100], NFD: [0x1102, 0x1164, 0x11BB], NFKC: [0xB100], NFKD: [0x1102, 0x1164, 0x11BB] }, -{ source: [0xB101], NFC: [0xB101], NFD: [0x1102, 0x1164, 0x11BC], NFKC: [0xB101], NFKD: [0x1102, 0x1164, 0x11BC] }, -{ source: [0xB102], NFC: [0xB102], NFD: [0x1102, 0x1164, 0x11BD], NFKC: [0xB102], NFKD: [0x1102, 0x1164, 0x11BD] }, -{ source: [0xB103], NFC: [0xB103], NFD: [0x1102, 0x1164, 0x11BE], NFKC: [0xB103], NFKD: [0x1102, 0x1164, 0x11BE] }, -{ source: [0xB104], NFC: [0xB104], NFD: [0x1102, 0x1164, 0x11BF], NFKC: [0xB104], NFKD: [0x1102, 0x1164, 0x11BF] }, -{ source: [0xB105], NFC: [0xB105], NFD: [0x1102, 0x1164, 0x11C0], NFKC: [0xB105], NFKD: [0x1102, 0x1164, 0x11C0] }, -{ source: [0xB106], NFC: [0xB106], NFD: [0x1102, 0x1164, 0x11C1], NFKC: [0xB106], NFKD: [0x1102, 0x1164, 0x11C1] }, -{ source: [0xB107], NFC: [0xB107], NFD: [0x1102, 0x1164, 0x11C2], NFKC: [0xB107], NFKD: [0x1102, 0x1164, 0x11C2] }, -{ source: [0xB108], NFC: [0xB108], NFD: [0x1102, 0x1165], NFKC: [0xB108], NFKD: [0x1102, 0x1165] }, -{ source: [0xB109], NFC: [0xB109], NFD: [0x1102, 0x1165, 0x11A8], NFKC: [0xB109], NFKD: [0x1102, 0x1165, 0x11A8] }, -{ source: [0xB10A], NFC: [0xB10A], NFD: [0x1102, 0x1165, 0x11A9], NFKC: [0xB10A], NFKD: [0x1102, 0x1165, 0x11A9] }, -{ source: [0xB10B], NFC: [0xB10B], NFD: [0x1102, 0x1165, 0x11AA], NFKC: [0xB10B], NFKD: [0x1102, 0x1165, 0x11AA] }, -{ source: [0xB10C], NFC: [0xB10C], NFD: [0x1102, 0x1165, 0x11AB], NFKC: [0xB10C], NFKD: [0x1102, 0x1165, 0x11AB] }, -{ source: [0xB10D], NFC: [0xB10D], NFD: [0x1102, 0x1165, 0x11AC], NFKC: [0xB10D], NFKD: [0x1102, 0x1165, 0x11AC] }, -{ source: [0xB10E], NFC: [0xB10E], NFD: [0x1102, 0x1165, 0x11AD], NFKC: [0xB10E], NFKD: [0x1102, 0x1165, 0x11AD] }, -{ source: [0xB10F], NFC: [0xB10F], NFD: [0x1102, 0x1165, 0x11AE], NFKC: [0xB10F], NFKD: [0x1102, 0x1165, 0x11AE] }, -{ source: [0xB110], NFC: [0xB110], NFD: [0x1102, 0x1165, 0x11AF], NFKC: [0xB110], NFKD: [0x1102, 0x1165, 0x11AF] }, -{ source: [0xB111], NFC: [0xB111], NFD: [0x1102, 0x1165, 0x11B0], NFKC: [0xB111], NFKD: [0x1102, 0x1165, 0x11B0] }, -{ source: [0xB112], NFC: [0xB112], NFD: [0x1102, 0x1165, 0x11B1], NFKC: [0xB112], NFKD: [0x1102, 0x1165, 0x11B1] }, -{ source: [0xB113], NFC: [0xB113], NFD: [0x1102, 0x1165, 0x11B2], NFKC: [0xB113], NFKD: [0x1102, 0x1165, 0x11B2] }, -{ source: [0xB114], NFC: [0xB114], NFD: [0x1102, 0x1165, 0x11B3], NFKC: [0xB114], NFKD: [0x1102, 0x1165, 0x11B3] }, -{ source: [0xB115], NFC: [0xB115], NFD: [0x1102, 0x1165, 0x11B4], NFKC: [0xB115], NFKD: [0x1102, 0x1165, 0x11B4] }, -{ source: [0xB116], NFC: [0xB116], NFD: [0x1102, 0x1165, 0x11B5], NFKC: [0xB116], NFKD: [0x1102, 0x1165, 0x11B5] }, -{ source: [0xB117], NFC: [0xB117], NFD: [0x1102, 0x1165, 0x11B6], NFKC: [0xB117], NFKD: [0x1102, 0x1165, 0x11B6] }, -{ source: [0xB118], NFC: [0xB118], NFD: [0x1102, 0x1165, 0x11B7], NFKC: [0xB118], NFKD: [0x1102, 0x1165, 0x11B7] }, -{ source: [0xB119], NFC: [0xB119], NFD: [0x1102, 0x1165, 0x11B8], NFKC: [0xB119], NFKD: [0x1102, 0x1165, 0x11B8] }, -{ source: [0xB11A], NFC: [0xB11A], NFD: [0x1102, 0x1165, 0x11B9], NFKC: [0xB11A], NFKD: [0x1102, 0x1165, 0x11B9] }, -{ source: [0xB11B], NFC: [0xB11B], NFD: [0x1102, 0x1165, 0x11BA], NFKC: [0xB11B], NFKD: [0x1102, 0x1165, 0x11BA] }, -{ source: [0xB11C], NFC: [0xB11C], NFD: [0x1102, 0x1165, 0x11BB], NFKC: [0xB11C], NFKD: [0x1102, 0x1165, 0x11BB] }, -{ source: [0xB11D], NFC: [0xB11D], NFD: [0x1102, 0x1165, 0x11BC], NFKC: [0xB11D], NFKD: [0x1102, 0x1165, 0x11BC] }, -{ source: [0xB11E], NFC: [0xB11E], NFD: [0x1102, 0x1165, 0x11BD], NFKC: [0xB11E], NFKD: [0x1102, 0x1165, 0x11BD] }, -{ source: [0xB11F], NFC: [0xB11F], NFD: [0x1102, 0x1165, 0x11BE], NFKC: [0xB11F], NFKD: [0x1102, 0x1165, 0x11BE] }, -{ source: [0xB120], NFC: [0xB120], NFD: [0x1102, 0x1165, 0x11BF], NFKC: [0xB120], NFKD: [0x1102, 0x1165, 0x11BF] }, -{ source: [0xB121], NFC: [0xB121], NFD: [0x1102, 0x1165, 0x11C0], NFKC: [0xB121], NFKD: [0x1102, 0x1165, 0x11C0] }, -{ source: [0xB122], NFC: [0xB122], NFD: [0x1102, 0x1165, 0x11C1], NFKC: [0xB122], NFKD: [0x1102, 0x1165, 0x11C1] }, -{ source: [0xB123], NFC: [0xB123], NFD: [0x1102, 0x1165, 0x11C2], NFKC: [0xB123], NFKD: [0x1102, 0x1165, 0x11C2] }, -{ source: [0xB124], NFC: [0xB124], NFD: [0x1102, 0x1166], NFKC: [0xB124], NFKD: [0x1102, 0x1166] }, -{ source: [0xB125], NFC: [0xB125], NFD: [0x1102, 0x1166, 0x11A8], NFKC: [0xB125], NFKD: [0x1102, 0x1166, 0x11A8] }, -{ source: [0xB126], NFC: [0xB126], NFD: [0x1102, 0x1166, 0x11A9], NFKC: [0xB126], NFKD: [0x1102, 0x1166, 0x11A9] }, -{ source: [0xB127], NFC: [0xB127], NFD: [0x1102, 0x1166, 0x11AA], NFKC: [0xB127], NFKD: [0x1102, 0x1166, 0x11AA] }, -{ source: [0xB128], NFC: [0xB128], NFD: [0x1102, 0x1166, 0x11AB], NFKC: [0xB128], NFKD: [0x1102, 0x1166, 0x11AB] }, -{ source: [0xB129], NFC: [0xB129], NFD: [0x1102, 0x1166, 0x11AC], NFKC: [0xB129], NFKD: [0x1102, 0x1166, 0x11AC] }, -{ source: [0xB12A], NFC: [0xB12A], NFD: [0x1102, 0x1166, 0x11AD], NFKC: [0xB12A], NFKD: [0x1102, 0x1166, 0x11AD] }, -{ source: [0xB12B], NFC: [0xB12B], NFD: [0x1102, 0x1166, 0x11AE], NFKC: [0xB12B], NFKD: [0x1102, 0x1166, 0x11AE] }, -{ source: [0xB12C], NFC: [0xB12C], NFD: [0x1102, 0x1166, 0x11AF], NFKC: [0xB12C], NFKD: [0x1102, 0x1166, 0x11AF] }, -{ source: [0xB12D], NFC: [0xB12D], NFD: [0x1102, 0x1166, 0x11B0], NFKC: [0xB12D], NFKD: [0x1102, 0x1166, 0x11B0] }, -{ source: [0xB12E], NFC: [0xB12E], NFD: [0x1102, 0x1166, 0x11B1], NFKC: [0xB12E], NFKD: [0x1102, 0x1166, 0x11B1] }, -{ source: [0xB12F], NFC: [0xB12F], NFD: [0x1102, 0x1166, 0x11B2], NFKC: [0xB12F], NFKD: [0x1102, 0x1166, 0x11B2] }, -{ source: [0xB130], NFC: [0xB130], NFD: [0x1102, 0x1166, 0x11B3], NFKC: [0xB130], NFKD: [0x1102, 0x1166, 0x11B3] }, -{ source: [0xB131], NFC: [0xB131], NFD: [0x1102, 0x1166, 0x11B4], NFKC: [0xB131], NFKD: [0x1102, 0x1166, 0x11B4] }, -{ source: [0xB132], NFC: [0xB132], NFD: [0x1102, 0x1166, 0x11B5], NFKC: [0xB132], NFKD: [0x1102, 0x1166, 0x11B5] }, -{ source: [0xB133], NFC: [0xB133], NFD: [0x1102, 0x1166, 0x11B6], NFKC: [0xB133], NFKD: [0x1102, 0x1166, 0x11B6] }, -{ source: [0xB134], NFC: [0xB134], NFD: [0x1102, 0x1166, 0x11B7], NFKC: [0xB134], NFKD: [0x1102, 0x1166, 0x11B7] }, -{ source: [0xB135], NFC: [0xB135], NFD: [0x1102, 0x1166, 0x11B8], NFKC: [0xB135], NFKD: [0x1102, 0x1166, 0x11B8] }, -{ source: [0xB136], NFC: [0xB136], NFD: [0x1102, 0x1166, 0x11B9], NFKC: [0xB136], NFKD: [0x1102, 0x1166, 0x11B9] }, -{ source: [0xB137], NFC: [0xB137], NFD: [0x1102, 0x1166, 0x11BA], NFKC: [0xB137], NFKD: [0x1102, 0x1166, 0x11BA] }, -{ source: [0xB138], NFC: [0xB138], NFD: [0x1102, 0x1166, 0x11BB], NFKC: [0xB138], NFKD: [0x1102, 0x1166, 0x11BB] }, -{ source: [0xB139], NFC: [0xB139], NFD: [0x1102, 0x1166, 0x11BC], NFKC: [0xB139], NFKD: [0x1102, 0x1166, 0x11BC] }, -{ source: [0xB13A], NFC: [0xB13A], NFD: [0x1102, 0x1166, 0x11BD], NFKC: [0xB13A], NFKD: [0x1102, 0x1166, 0x11BD] }, -{ source: [0xB13B], NFC: [0xB13B], NFD: [0x1102, 0x1166, 0x11BE], NFKC: [0xB13B], NFKD: [0x1102, 0x1166, 0x11BE] }, -{ source: [0xB13C], NFC: [0xB13C], NFD: [0x1102, 0x1166, 0x11BF], NFKC: [0xB13C], NFKD: [0x1102, 0x1166, 0x11BF] }, -{ source: [0xB13D], NFC: [0xB13D], NFD: [0x1102, 0x1166, 0x11C0], NFKC: [0xB13D], NFKD: [0x1102, 0x1166, 0x11C0] }, -{ source: [0xB13E], NFC: [0xB13E], NFD: [0x1102, 0x1166, 0x11C1], NFKC: [0xB13E], NFKD: [0x1102, 0x1166, 0x11C1] }, -{ source: [0xB13F], NFC: [0xB13F], NFD: [0x1102, 0x1166, 0x11C2], NFKC: [0xB13F], NFKD: [0x1102, 0x1166, 0x11C2] }, -{ source: [0xB140], NFC: [0xB140], NFD: [0x1102, 0x1167], NFKC: [0xB140], NFKD: [0x1102, 0x1167] }, -{ source: [0xB141], NFC: [0xB141], NFD: [0x1102, 0x1167, 0x11A8], NFKC: [0xB141], NFKD: [0x1102, 0x1167, 0x11A8] }, -{ source: [0xB142], NFC: [0xB142], NFD: [0x1102, 0x1167, 0x11A9], NFKC: [0xB142], NFKD: [0x1102, 0x1167, 0x11A9] }, -{ source: [0xB143], NFC: [0xB143], NFD: [0x1102, 0x1167, 0x11AA], NFKC: [0xB143], NFKD: [0x1102, 0x1167, 0x11AA] }, -{ source: [0xB144], NFC: [0xB144], NFD: [0x1102, 0x1167, 0x11AB], NFKC: [0xB144], NFKD: [0x1102, 0x1167, 0x11AB] }, -{ source: [0xB145], NFC: [0xB145], NFD: [0x1102, 0x1167, 0x11AC], NFKC: [0xB145], NFKD: [0x1102, 0x1167, 0x11AC] }, -{ source: [0xB146], NFC: [0xB146], NFD: [0x1102, 0x1167, 0x11AD], NFKC: [0xB146], NFKD: [0x1102, 0x1167, 0x11AD] }, -{ source: [0xB147], NFC: [0xB147], NFD: [0x1102, 0x1167, 0x11AE], NFKC: [0xB147], NFKD: [0x1102, 0x1167, 0x11AE] }, -{ source: [0xB148], NFC: [0xB148], NFD: [0x1102, 0x1167, 0x11AF], NFKC: [0xB148], NFKD: [0x1102, 0x1167, 0x11AF] }, -{ source: [0xB149], NFC: [0xB149], NFD: [0x1102, 0x1167, 0x11B0], NFKC: [0xB149], NFKD: [0x1102, 0x1167, 0x11B0] }, -{ source: [0xB14A], NFC: [0xB14A], NFD: [0x1102, 0x1167, 0x11B1], NFKC: [0xB14A], NFKD: [0x1102, 0x1167, 0x11B1] }, -{ source: [0xB14B], NFC: [0xB14B], NFD: [0x1102, 0x1167, 0x11B2], NFKC: [0xB14B], NFKD: [0x1102, 0x1167, 0x11B2] }, -{ source: [0xB14C], NFC: [0xB14C], NFD: [0x1102, 0x1167, 0x11B3], NFKC: [0xB14C], NFKD: [0x1102, 0x1167, 0x11B3] }, -{ source: [0xB14D], NFC: [0xB14D], NFD: [0x1102, 0x1167, 0x11B4], NFKC: [0xB14D], NFKD: [0x1102, 0x1167, 0x11B4] }, -{ source: [0xB14E], NFC: [0xB14E], NFD: [0x1102, 0x1167, 0x11B5], NFKC: [0xB14E], NFKD: [0x1102, 0x1167, 0x11B5] }, -{ source: [0xB14F], NFC: [0xB14F], NFD: [0x1102, 0x1167, 0x11B6], NFKC: [0xB14F], NFKD: [0x1102, 0x1167, 0x11B6] }, -{ source: [0xB150], NFC: [0xB150], NFD: [0x1102, 0x1167, 0x11B7], NFKC: [0xB150], NFKD: [0x1102, 0x1167, 0x11B7] }, -{ source: [0xB151], NFC: [0xB151], NFD: [0x1102, 0x1167, 0x11B8], NFKC: [0xB151], NFKD: [0x1102, 0x1167, 0x11B8] }, -{ source: [0xB152], NFC: [0xB152], NFD: [0x1102, 0x1167, 0x11B9], NFKC: [0xB152], NFKD: [0x1102, 0x1167, 0x11B9] }, -{ source: [0xB153], NFC: [0xB153], NFD: [0x1102, 0x1167, 0x11BA], NFKC: [0xB153], NFKD: [0x1102, 0x1167, 0x11BA] }, -{ source: [0xB154], NFC: [0xB154], NFD: [0x1102, 0x1167, 0x11BB], NFKC: [0xB154], NFKD: [0x1102, 0x1167, 0x11BB] }, -{ source: [0xB155], NFC: [0xB155], NFD: [0x1102, 0x1167, 0x11BC], NFKC: [0xB155], NFKD: [0x1102, 0x1167, 0x11BC] }, -{ source: [0xB156], NFC: [0xB156], NFD: [0x1102, 0x1167, 0x11BD], NFKC: [0xB156], NFKD: [0x1102, 0x1167, 0x11BD] }, -{ source: [0xB157], NFC: [0xB157], NFD: [0x1102, 0x1167, 0x11BE], NFKC: [0xB157], NFKD: [0x1102, 0x1167, 0x11BE] }, -{ source: [0xB158], NFC: [0xB158], NFD: [0x1102, 0x1167, 0x11BF], NFKC: [0xB158], NFKD: [0x1102, 0x1167, 0x11BF] }, -{ source: [0xB159], NFC: [0xB159], NFD: [0x1102, 0x1167, 0x11C0], NFKC: [0xB159], NFKD: [0x1102, 0x1167, 0x11C0] }, -{ source: [0xB15A], NFC: [0xB15A], NFD: [0x1102, 0x1167, 0x11C1], NFKC: [0xB15A], NFKD: [0x1102, 0x1167, 0x11C1] }, -{ source: [0xB15B], NFC: [0xB15B], NFD: [0x1102, 0x1167, 0x11C2], NFKC: [0xB15B], NFKD: [0x1102, 0x1167, 0x11C2] }, -{ source: [0xB15C], NFC: [0xB15C], NFD: [0x1102, 0x1168], NFKC: [0xB15C], NFKD: [0x1102, 0x1168] }, -{ source: [0xB15D], NFC: [0xB15D], NFD: [0x1102, 0x1168, 0x11A8], NFKC: [0xB15D], NFKD: [0x1102, 0x1168, 0x11A8] }, -{ source: [0xB15E], NFC: [0xB15E], NFD: [0x1102, 0x1168, 0x11A9], NFKC: [0xB15E], NFKD: [0x1102, 0x1168, 0x11A9] }, -{ source: [0xB15F], NFC: [0xB15F], NFD: [0x1102, 0x1168, 0x11AA], NFKC: [0xB15F], NFKD: [0x1102, 0x1168, 0x11AA] }, -{ source: [0xB160], NFC: [0xB160], NFD: [0x1102, 0x1168, 0x11AB], NFKC: [0xB160], NFKD: [0x1102, 0x1168, 0x11AB] }, -{ source: [0xB161], NFC: [0xB161], NFD: [0x1102, 0x1168, 0x11AC], NFKC: [0xB161], NFKD: [0x1102, 0x1168, 0x11AC] }, -{ source: [0xB162], NFC: [0xB162], NFD: [0x1102, 0x1168, 0x11AD], NFKC: [0xB162], NFKD: [0x1102, 0x1168, 0x11AD] }, -{ source: [0xB163], NFC: [0xB163], NFD: [0x1102, 0x1168, 0x11AE], NFKC: [0xB163], NFKD: [0x1102, 0x1168, 0x11AE] }, -{ source: [0xB164], NFC: [0xB164], NFD: [0x1102, 0x1168, 0x11AF], NFKC: [0xB164], NFKD: [0x1102, 0x1168, 0x11AF] }, -{ source: [0xB165], NFC: [0xB165], NFD: [0x1102, 0x1168, 0x11B0], NFKC: [0xB165], NFKD: [0x1102, 0x1168, 0x11B0] }, -{ source: [0xB166], NFC: [0xB166], NFD: [0x1102, 0x1168, 0x11B1], NFKC: [0xB166], NFKD: [0x1102, 0x1168, 0x11B1] }, -{ source: [0xB167], NFC: [0xB167], NFD: [0x1102, 0x1168, 0x11B2], NFKC: [0xB167], NFKD: [0x1102, 0x1168, 0x11B2] }, -{ source: [0xB168], NFC: [0xB168], NFD: [0x1102, 0x1168, 0x11B3], NFKC: [0xB168], NFKD: [0x1102, 0x1168, 0x11B3] }, -{ source: [0xB169], NFC: [0xB169], NFD: [0x1102, 0x1168, 0x11B4], NFKC: [0xB169], NFKD: [0x1102, 0x1168, 0x11B4] }, -{ source: [0xB16A], NFC: [0xB16A], NFD: [0x1102, 0x1168, 0x11B5], NFKC: [0xB16A], NFKD: [0x1102, 0x1168, 0x11B5] }, -{ source: [0xB16B], NFC: [0xB16B], NFD: [0x1102, 0x1168, 0x11B6], NFKC: [0xB16B], NFKD: [0x1102, 0x1168, 0x11B6] }, -{ source: [0xB16C], NFC: [0xB16C], NFD: [0x1102, 0x1168, 0x11B7], NFKC: [0xB16C], NFKD: [0x1102, 0x1168, 0x11B7] }, -{ source: [0xB16D], NFC: [0xB16D], NFD: [0x1102, 0x1168, 0x11B8], NFKC: [0xB16D], NFKD: [0x1102, 0x1168, 0x11B8] }, -{ source: [0xB16E], NFC: [0xB16E], NFD: [0x1102, 0x1168, 0x11B9], NFKC: [0xB16E], NFKD: [0x1102, 0x1168, 0x11B9] }, -{ source: [0xB16F], NFC: [0xB16F], NFD: [0x1102, 0x1168, 0x11BA], NFKC: [0xB16F], NFKD: [0x1102, 0x1168, 0x11BA] }, -{ source: [0xB170], NFC: [0xB170], NFD: [0x1102, 0x1168, 0x11BB], NFKC: [0xB170], NFKD: [0x1102, 0x1168, 0x11BB] }, -{ source: [0xB171], NFC: [0xB171], NFD: [0x1102, 0x1168, 0x11BC], NFKC: [0xB171], NFKD: [0x1102, 0x1168, 0x11BC] }, -{ source: [0xB172], NFC: [0xB172], NFD: [0x1102, 0x1168, 0x11BD], NFKC: [0xB172], NFKD: [0x1102, 0x1168, 0x11BD] }, -{ source: [0xB173], NFC: [0xB173], NFD: [0x1102, 0x1168, 0x11BE], NFKC: [0xB173], NFKD: [0x1102, 0x1168, 0x11BE] }, -{ source: [0xB174], NFC: [0xB174], NFD: [0x1102, 0x1168, 0x11BF], NFKC: [0xB174], NFKD: [0x1102, 0x1168, 0x11BF] }, -{ source: [0xB175], NFC: [0xB175], NFD: [0x1102, 0x1168, 0x11C0], NFKC: [0xB175], NFKD: [0x1102, 0x1168, 0x11C0] }, -{ source: [0xB176], NFC: [0xB176], NFD: [0x1102, 0x1168, 0x11C1], NFKC: [0xB176], NFKD: [0x1102, 0x1168, 0x11C1] }, -{ source: [0xB177], NFC: [0xB177], NFD: [0x1102, 0x1168, 0x11C2], NFKC: [0xB177], NFKD: [0x1102, 0x1168, 0x11C2] }, -{ source: [0xB178], NFC: [0xB178], NFD: [0x1102, 0x1169], NFKC: [0xB178], NFKD: [0x1102, 0x1169] }, -{ source: [0xB179], NFC: [0xB179], NFD: [0x1102, 0x1169, 0x11A8], NFKC: [0xB179], NFKD: [0x1102, 0x1169, 0x11A8] }, -{ source: [0xB17A], NFC: [0xB17A], NFD: [0x1102, 0x1169, 0x11A9], NFKC: [0xB17A], NFKD: [0x1102, 0x1169, 0x11A9] }, -{ source: [0xB17B], NFC: [0xB17B], NFD: [0x1102, 0x1169, 0x11AA], NFKC: [0xB17B], NFKD: [0x1102, 0x1169, 0x11AA] }, -{ source: [0xB17C], NFC: [0xB17C], NFD: [0x1102, 0x1169, 0x11AB], NFKC: [0xB17C], NFKD: [0x1102, 0x1169, 0x11AB] }, -{ source: [0xB17D], NFC: [0xB17D], NFD: [0x1102, 0x1169, 0x11AC], NFKC: [0xB17D], NFKD: [0x1102, 0x1169, 0x11AC] }, -{ source: [0xB17E], NFC: [0xB17E], NFD: [0x1102, 0x1169, 0x11AD], NFKC: [0xB17E], NFKD: [0x1102, 0x1169, 0x11AD] }, -{ source: [0xB17F], NFC: [0xB17F], NFD: [0x1102, 0x1169, 0x11AE], NFKC: [0xB17F], NFKD: [0x1102, 0x1169, 0x11AE] }, -{ source: [0xB180], NFC: [0xB180], NFD: [0x1102, 0x1169, 0x11AF], NFKC: [0xB180], NFKD: [0x1102, 0x1169, 0x11AF] }, -{ source: [0xB181], NFC: [0xB181], NFD: [0x1102, 0x1169, 0x11B0], NFKC: [0xB181], NFKD: [0x1102, 0x1169, 0x11B0] }, -{ source: [0xB182], NFC: [0xB182], NFD: [0x1102, 0x1169, 0x11B1], NFKC: [0xB182], NFKD: [0x1102, 0x1169, 0x11B1] }, -{ source: [0xB183], NFC: [0xB183], NFD: [0x1102, 0x1169, 0x11B2], NFKC: [0xB183], NFKD: [0x1102, 0x1169, 0x11B2] }, -{ source: [0xB184], NFC: [0xB184], NFD: [0x1102, 0x1169, 0x11B3], NFKC: [0xB184], NFKD: [0x1102, 0x1169, 0x11B3] }, -{ source: [0xB185], NFC: [0xB185], NFD: [0x1102, 0x1169, 0x11B4], NFKC: [0xB185], NFKD: [0x1102, 0x1169, 0x11B4] }, -{ source: [0xB186], NFC: [0xB186], NFD: [0x1102, 0x1169, 0x11B5], NFKC: [0xB186], NFKD: [0x1102, 0x1169, 0x11B5] }, -{ source: [0xB187], NFC: [0xB187], NFD: [0x1102, 0x1169, 0x11B6], NFKC: [0xB187], NFKD: [0x1102, 0x1169, 0x11B6] }, -{ source: [0xB188], NFC: [0xB188], NFD: [0x1102, 0x1169, 0x11B7], NFKC: [0xB188], NFKD: [0x1102, 0x1169, 0x11B7] }, -{ source: [0xB189], NFC: [0xB189], NFD: [0x1102, 0x1169, 0x11B8], NFKC: [0xB189], NFKD: [0x1102, 0x1169, 0x11B8] }, -{ source: [0xB18A], NFC: [0xB18A], NFD: [0x1102, 0x1169, 0x11B9], NFKC: [0xB18A], NFKD: [0x1102, 0x1169, 0x11B9] }, -{ source: [0xB18B], NFC: [0xB18B], NFD: [0x1102, 0x1169, 0x11BA], NFKC: [0xB18B], NFKD: [0x1102, 0x1169, 0x11BA] }, -{ source: [0xB18C], NFC: [0xB18C], NFD: [0x1102, 0x1169, 0x11BB], NFKC: [0xB18C], NFKD: [0x1102, 0x1169, 0x11BB] }, -{ source: [0xB18D], NFC: [0xB18D], NFD: [0x1102, 0x1169, 0x11BC], NFKC: [0xB18D], NFKD: [0x1102, 0x1169, 0x11BC] }, -{ source: [0xB18E], NFC: [0xB18E], NFD: [0x1102, 0x1169, 0x11BD], NFKC: [0xB18E], NFKD: [0x1102, 0x1169, 0x11BD] }, -{ source: [0xB18F], NFC: [0xB18F], NFD: [0x1102, 0x1169, 0x11BE], NFKC: [0xB18F], NFKD: [0x1102, 0x1169, 0x11BE] }, -{ source: [0xB190], NFC: [0xB190], NFD: [0x1102, 0x1169, 0x11BF], NFKC: [0xB190], NFKD: [0x1102, 0x1169, 0x11BF] }, -{ source: [0xB191], NFC: [0xB191], NFD: [0x1102, 0x1169, 0x11C0], NFKC: [0xB191], NFKD: [0x1102, 0x1169, 0x11C0] }, -{ source: [0xB192], NFC: [0xB192], NFD: [0x1102, 0x1169, 0x11C1], NFKC: [0xB192], NFKD: [0x1102, 0x1169, 0x11C1] }, -{ source: [0xB193], NFC: [0xB193], NFD: [0x1102, 0x1169, 0x11C2], NFKC: [0xB193], NFKD: [0x1102, 0x1169, 0x11C2] }, -{ source: [0xB194], NFC: [0xB194], NFD: [0x1102, 0x116A], NFKC: [0xB194], NFKD: [0x1102, 0x116A] }, -{ source: [0xB195], NFC: [0xB195], NFD: [0x1102, 0x116A, 0x11A8], NFKC: [0xB195], NFKD: [0x1102, 0x116A, 0x11A8] }, -{ source: [0xB196], NFC: [0xB196], NFD: [0x1102, 0x116A, 0x11A9], NFKC: [0xB196], NFKD: [0x1102, 0x116A, 0x11A9] }, -{ source: [0xB197], NFC: [0xB197], NFD: [0x1102, 0x116A, 0x11AA], NFKC: [0xB197], NFKD: [0x1102, 0x116A, 0x11AA] }, -{ source: [0xB198], NFC: [0xB198], NFD: [0x1102, 0x116A, 0x11AB], NFKC: [0xB198], NFKD: [0x1102, 0x116A, 0x11AB] }, -{ source: [0xB199], NFC: [0xB199], NFD: [0x1102, 0x116A, 0x11AC], NFKC: [0xB199], NFKD: [0x1102, 0x116A, 0x11AC] }, -{ source: [0xB19A], NFC: [0xB19A], NFD: [0x1102, 0x116A, 0x11AD], NFKC: [0xB19A], NFKD: [0x1102, 0x116A, 0x11AD] }, -{ source: [0xB19B], NFC: [0xB19B], NFD: [0x1102, 0x116A, 0x11AE], NFKC: [0xB19B], NFKD: [0x1102, 0x116A, 0x11AE] }, -{ source: [0xB19C], NFC: [0xB19C], NFD: [0x1102, 0x116A, 0x11AF], NFKC: [0xB19C], NFKD: [0x1102, 0x116A, 0x11AF] }, -{ source: [0xB19D], NFC: [0xB19D], NFD: [0x1102, 0x116A, 0x11B0], NFKC: [0xB19D], NFKD: [0x1102, 0x116A, 0x11B0] }, -{ source: [0xB19E], NFC: [0xB19E], NFD: [0x1102, 0x116A, 0x11B1], NFKC: [0xB19E], NFKD: [0x1102, 0x116A, 0x11B1] }, -{ source: [0xB19F], NFC: [0xB19F], NFD: [0x1102, 0x116A, 0x11B2], NFKC: [0xB19F], NFKD: [0x1102, 0x116A, 0x11B2] }, -{ source: [0xB1A0], NFC: [0xB1A0], NFD: [0x1102, 0x116A, 0x11B3], NFKC: [0xB1A0], NFKD: [0x1102, 0x116A, 0x11B3] }, -{ source: [0xB1A1], NFC: [0xB1A1], NFD: [0x1102, 0x116A, 0x11B4], NFKC: [0xB1A1], NFKD: [0x1102, 0x116A, 0x11B4] }, -{ source: [0xB1A2], NFC: [0xB1A2], NFD: [0x1102, 0x116A, 0x11B5], NFKC: [0xB1A2], NFKD: [0x1102, 0x116A, 0x11B5] }, -{ source: [0xB1A3], NFC: [0xB1A3], NFD: [0x1102, 0x116A, 0x11B6], NFKC: [0xB1A3], NFKD: [0x1102, 0x116A, 0x11B6] }, -{ source: [0xB1A4], NFC: [0xB1A4], NFD: [0x1102, 0x116A, 0x11B7], NFKC: [0xB1A4], NFKD: [0x1102, 0x116A, 0x11B7] }, -{ source: [0xB1A5], NFC: [0xB1A5], NFD: [0x1102, 0x116A, 0x11B8], NFKC: [0xB1A5], NFKD: [0x1102, 0x116A, 0x11B8] }, -{ source: [0xB1A6], NFC: [0xB1A6], NFD: [0x1102, 0x116A, 0x11B9], NFKC: [0xB1A6], NFKD: [0x1102, 0x116A, 0x11B9] }, -{ source: [0xB1A7], NFC: [0xB1A7], NFD: [0x1102, 0x116A, 0x11BA], NFKC: [0xB1A7], NFKD: [0x1102, 0x116A, 0x11BA] }, -{ source: [0xB1A8], NFC: [0xB1A8], NFD: [0x1102, 0x116A, 0x11BB], NFKC: [0xB1A8], NFKD: [0x1102, 0x116A, 0x11BB] }, -{ source: [0xB1A9], NFC: [0xB1A9], NFD: [0x1102, 0x116A, 0x11BC], NFKC: [0xB1A9], NFKD: [0x1102, 0x116A, 0x11BC] }, -{ source: [0xB1AA], NFC: [0xB1AA], NFD: [0x1102, 0x116A, 0x11BD], NFKC: [0xB1AA], NFKD: [0x1102, 0x116A, 0x11BD] }, -{ source: [0xB1AB], NFC: [0xB1AB], NFD: [0x1102, 0x116A, 0x11BE], NFKC: [0xB1AB], NFKD: [0x1102, 0x116A, 0x11BE] }, -{ source: [0xB1AC], NFC: [0xB1AC], NFD: [0x1102, 0x116A, 0x11BF], NFKC: [0xB1AC], NFKD: [0x1102, 0x116A, 0x11BF] }, -{ source: [0xB1AD], NFC: [0xB1AD], NFD: [0x1102, 0x116A, 0x11C0], NFKC: [0xB1AD], NFKD: [0x1102, 0x116A, 0x11C0] }, -{ source: [0xB1AE], NFC: [0xB1AE], NFD: [0x1102, 0x116A, 0x11C1], NFKC: [0xB1AE], NFKD: [0x1102, 0x116A, 0x11C1] }, -{ source: [0xB1AF], NFC: [0xB1AF], NFD: [0x1102, 0x116A, 0x11C2], NFKC: [0xB1AF], NFKD: [0x1102, 0x116A, 0x11C2] }, -{ source: [0xB1B0], NFC: [0xB1B0], NFD: [0x1102, 0x116B], NFKC: [0xB1B0], NFKD: [0x1102, 0x116B] }, -{ source: [0xB1B1], NFC: [0xB1B1], NFD: [0x1102, 0x116B, 0x11A8], NFKC: [0xB1B1], NFKD: [0x1102, 0x116B, 0x11A8] }, -{ source: [0xB1B2], NFC: [0xB1B2], NFD: [0x1102, 0x116B, 0x11A9], NFKC: [0xB1B2], NFKD: [0x1102, 0x116B, 0x11A9] }, -{ source: [0xB1B3], NFC: [0xB1B3], NFD: [0x1102, 0x116B, 0x11AA], NFKC: [0xB1B3], NFKD: [0x1102, 0x116B, 0x11AA] }, -{ source: [0xB1B4], NFC: [0xB1B4], NFD: [0x1102, 0x116B, 0x11AB], NFKC: [0xB1B4], NFKD: [0x1102, 0x116B, 0x11AB] }, -{ source: [0xB1B5], NFC: [0xB1B5], NFD: [0x1102, 0x116B, 0x11AC], NFKC: [0xB1B5], NFKD: [0x1102, 0x116B, 0x11AC] }, -{ source: [0xB1B6], NFC: [0xB1B6], NFD: [0x1102, 0x116B, 0x11AD], NFKC: [0xB1B6], NFKD: [0x1102, 0x116B, 0x11AD] }, -{ source: [0xB1B7], NFC: [0xB1B7], NFD: [0x1102, 0x116B, 0x11AE], NFKC: [0xB1B7], NFKD: [0x1102, 0x116B, 0x11AE] }, -{ source: [0xB1B8], NFC: [0xB1B8], NFD: [0x1102, 0x116B, 0x11AF], NFKC: [0xB1B8], NFKD: [0x1102, 0x116B, 0x11AF] }, -{ source: [0xB1B9], NFC: [0xB1B9], NFD: [0x1102, 0x116B, 0x11B0], NFKC: [0xB1B9], NFKD: [0x1102, 0x116B, 0x11B0] }, -{ source: [0xB1BA], NFC: [0xB1BA], NFD: [0x1102, 0x116B, 0x11B1], NFKC: [0xB1BA], NFKD: [0x1102, 0x116B, 0x11B1] }, -{ source: [0xB1BB], NFC: [0xB1BB], NFD: [0x1102, 0x116B, 0x11B2], NFKC: [0xB1BB], NFKD: [0x1102, 0x116B, 0x11B2] }, -{ source: [0xB1BC], NFC: [0xB1BC], NFD: [0x1102, 0x116B, 0x11B3], NFKC: [0xB1BC], NFKD: [0x1102, 0x116B, 0x11B3] }, -{ source: [0xB1BD], NFC: [0xB1BD], NFD: [0x1102, 0x116B, 0x11B4], NFKC: [0xB1BD], NFKD: [0x1102, 0x116B, 0x11B4] }, -{ source: [0xB1BE], NFC: [0xB1BE], NFD: [0x1102, 0x116B, 0x11B5], NFKC: [0xB1BE], NFKD: [0x1102, 0x116B, 0x11B5] }, -{ source: [0xB1BF], NFC: [0xB1BF], NFD: [0x1102, 0x116B, 0x11B6], NFKC: [0xB1BF], NFKD: [0x1102, 0x116B, 0x11B6] }, -{ source: [0xB1C0], NFC: [0xB1C0], NFD: [0x1102, 0x116B, 0x11B7], NFKC: [0xB1C0], NFKD: [0x1102, 0x116B, 0x11B7] }, -{ source: [0xB1C1], NFC: [0xB1C1], NFD: [0x1102, 0x116B, 0x11B8], NFKC: [0xB1C1], NFKD: [0x1102, 0x116B, 0x11B8] }, -{ source: [0xB1C2], NFC: [0xB1C2], NFD: [0x1102, 0x116B, 0x11B9], NFKC: [0xB1C2], NFKD: [0x1102, 0x116B, 0x11B9] }, -{ source: [0xB1C3], NFC: [0xB1C3], NFD: [0x1102, 0x116B, 0x11BA], NFKC: [0xB1C3], NFKD: [0x1102, 0x116B, 0x11BA] }, -{ source: [0xB1C4], NFC: [0xB1C4], NFD: [0x1102, 0x116B, 0x11BB], NFKC: [0xB1C4], NFKD: [0x1102, 0x116B, 0x11BB] }, -{ source: [0xB1C5], NFC: [0xB1C5], NFD: [0x1102, 0x116B, 0x11BC], NFKC: [0xB1C5], NFKD: [0x1102, 0x116B, 0x11BC] }, -{ source: [0xB1C6], NFC: [0xB1C6], NFD: [0x1102, 0x116B, 0x11BD], NFKC: [0xB1C6], NFKD: [0x1102, 0x116B, 0x11BD] }, -{ source: [0xB1C7], NFC: [0xB1C7], NFD: [0x1102, 0x116B, 0x11BE], NFKC: [0xB1C7], NFKD: [0x1102, 0x116B, 0x11BE] }, -{ source: [0xB1C8], NFC: [0xB1C8], NFD: [0x1102, 0x116B, 0x11BF], NFKC: [0xB1C8], NFKD: [0x1102, 0x116B, 0x11BF] }, -{ source: [0xB1C9], NFC: [0xB1C9], NFD: [0x1102, 0x116B, 0x11C0], NFKC: [0xB1C9], NFKD: [0x1102, 0x116B, 0x11C0] }, -{ source: [0xB1CA], NFC: [0xB1CA], NFD: [0x1102, 0x116B, 0x11C1], NFKC: [0xB1CA], NFKD: [0x1102, 0x116B, 0x11C1] }, -{ source: [0xB1CB], NFC: [0xB1CB], NFD: [0x1102, 0x116B, 0x11C2], NFKC: [0xB1CB], NFKD: [0x1102, 0x116B, 0x11C2] }, -{ source: [0xB1CC], NFC: [0xB1CC], NFD: [0x1102, 0x116C], NFKC: [0xB1CC], NFKD: [0x1102, 0x116C] }, -{ source: [0xB1CD], NFC: [0xB1CD], NFD: [0x1102, 0x116C, 0x11A8], NFKC: [0xB1CD], NFKD: [0x1102, 0x116C, 0x11A8] }, -{ source: [0xB1CE], NFC: [0xB1CE], NFD: [0x1102, 0x116C, 0x11A9], NFKC: [0xB1CE], NFKD: [0x1102, 0x116C, 0x11A9] }, -{ source: [0xB1CF], NFC: [0xB1CF], NFD: [0x1102, 0x116C, 0x11AA], NFKC: [0xB1CF], NFKD: [0x1102, 0x116C, 0x11AA] }, -{ source: [0xB1D0], NFC: [0xB1D0], NFD: [0x1102, 0x116C, 0x11AB], NFKC: [0xB1D0], NFKD: [0x1102, 0x116C, 0x11AB] }, -{ source: [0xB1D1], NFC: [0xB1D1], NFD: [0x1102, 0x116C, 0x11AC], NFKC: [0xB1D1], NFKD: [0x1102, 0x116C, 0x11AC] }, -{ source: [0xB1D2], NFC: [0xB1D2], NFD: [0x1102, 0x116C, 0x11AD], NFKC: [0xB1D2], NFKD: [0x1102, 0x116C, 0x11AD] }, -{ source: [0xB1D3], NFC: [0xB1D3], NFD: [0x1102, 0x116C, 0x11AE], NFKC: [0xB1D3], NFKD: [0x1102, 0x116C, 0x11AE] }, -{ source: [0xB1D4], NFC: [0xB1D4], NFD: [0x1102, 0x116C, 0x11AF], NFKC: [0xB1D4], NFKD: [0x1102, 0x116C, 0x11AF] }, -{ source: [0xB1D5], NFC: [0xB1D5], NFD: [0x1102, 0x116C, 0x11B0], NFKC: [0xB1D5], NFKD: [0x1102, 0x116C, 0x11B0] }, -{ source: [0xB1D6], NFC: [0xB1D6], NFD: [0x1102, 0x116C, 0x11B1], NFKC: [0xB1D6], NFKD: [0x1102, 0x116C, 0x11B1] }, -{ source: [0xB1D7], NFC: [0xB1D7], NFD: [0x1102, 0x116C, 0x11B2], NFKC: [0xB1D7], NFKD: [0x1102, 0x116C, 0x11B2] }, -{ source: [0xB1D8], NFC: [0xB1D8], NFD: [0x1102, 0x116C, 0x11B3], NFKC: [0xB1D8], NFKD: [0x1102, 0x116C, 0x11B3] }, -{ source: [0xB1D9], NFC: [0xB1D9], NFD: [0x1102, 0x116C, 0x11B4], NFKC: [0xB1D9], NFKD: [0x1102, 0x116C, 0x11B4] }, -{ source: [0xB1DA], NFC: [0xB1DA], NFD: [0x1102, 0x116C, 0x11B5], NFKC: [0xB1DA], NFKD: [0x1102, 0x116C, 0x11B5] }, -{ source: [0xB1DB], NFC: [0xB1DB], NFD: [0x1102, 0x116C, 0x11B6], NFKC: [0xB1DB], NFKD: [0x1102, 0x116C, 0x11B6] }, -{ source: [0xB1DC], NFC: [0xB1DC], NFD: [0x1102, 0x116C, 0x11B7], NFKC: [0xB1DC], NFKD: [0x1102, 0x116C, 0x11B7] }, -{ source: [0xB1DD], NFC: [0xB1DD], NFD: [0x1102, 0x116C, 0x11B8], NFKC: [0xB1DD], NFKD: [0x1102, 0x116C, 0x11B8] }, -{ source: [0xB1DE], NFC: [0xB1DE], NFD: [0x1102, 0x116C, 0x11B9], NFKC: [0xB1DE], NFKD: [0x1102, 0x116C, 0x11B9] }, -{ source: [0xB1DF], NFC: [0xB1DF], NFD: [0x1102, 0x116C, 0x11BA], NFKC: [0xB1DF], NFKD: [0x1102, 0x116C, 0x11BA] }, -{ source: [0xB1E0], NFC: [0xB1E0], NFD: [0x1102, 0x116C, 0x11BB], NFKC: [0xB1E0], NFKD: [0x1102, 0x116C, 0x11BB] }, -{ source: [0xB1E1], NFC: [0xB1E1], NFD: [0x1102, 0x116C, 0x11BC], NFKC: [0xB1E1], NFKD: [0x1102, 0x116C, 0x11BC] }, -{ source: [0xB1E2], NFC: [0xB1E2], NFD: [0x1102, 0x116C, 0x11BD], NFKC: [0xB1E2], NFKD: [0x1102, 0x116C, 0x11BD] }, -{ source: [0xB1E3], NFC: [0xB1E3], NFD: [0x1102, 0x116C, 0x11BE], NFKC: [0xB1E3], NFKD: [0x1102, 0x116C, 0x11BE] }, -{ source: [0xB1E4], NFC: [0xB1E4], NFD: [0x1102, 0x116C, 0x11BF], NFKC: [0xB1E4], NFKD: [0x1102, 0x116C, 0x11BF] }, -{ source: [0xB1E5], NFC: [0xB1E5], NFD: [0x1102, 0x116C, 0x11C0], NFKC: [0xB1E5], NFKD: [0x1102, 0x116C, 0x11C0] }, -{ source: [0xB1E6], NFC: [0xB1E6], NFD: [0x1102, 0x116C, 0x11C1], NFKC: [0xB1E6], NFKD: [0x1102, 0x116C, 0x11C1] }, -{ source: [0xB1E7], NFC: [0xB1E7], NFD: [0x1102, 0x116C, 0x11C2], NFKC: [0xB1E7], NFKD: [0x1102, 0x116C, 0x11C2] }, -{ source: [0xB1E8], NFC: [0xB1E8], NFD: [0x1102, 0x116D], NFKC: [0xB1E8], NFKD: [0x1102, 0x116D] }, -{ source: [0xB1E9], NFC: [0xB1E9], NFD: [0x1102, 0x116D, 0x11A8], NFKC: [0xB1E9], NFKD: [0x1102, 0x116D, 0x11A8] }, -{ source: [0xB1EA], NFC: [0xB1EA], NFD: [0x1102, 0x116D, 0x11A9], NFKC: [0xB1EA], NFKD: [0x1102, 0x116D, 0x11A9] }, -{ source: [0xB1EB], NFC: [0xB1EB], NFD: [0x1102, 0x116D, 0x11AA], NFKC: [0xB1EB], NFKD: [0x1102, 0x116D, 0x11AA] }, -{ source: [0xB1EC], NFC: [0xB1EC], NFD: [0x1102, 0x116D, 0x11AB], NFKC: [0xB1EC], NFKD: [0x1102, 0x116D, 0x11AB] }, -{ source: [0xB1ED], NFC: [0xB1ED], NFD: [0x1102, 0x116D, 0x11AC], NFKC: [0xB1ED], NFKD: [0x1102, 0x116D, 0x11AC] }, -{ source: [0xB1EE], NFC: [0xB1EE], NFD: [0x1102, 0x116D, 0x11AD], NFKC: [0xB1EE], NFKD: [0x1102, 0x116D, 0x11AD] }, -{ source: [0xB1EF], NFC: [0xB1EF], NFD: [0x1102, 0x116D, 0x11AE], NFKC: [0xB1EF], NFKD: [0x1102, 0x116D, 0x11AE] }, -{ source: [0xB1F0], NFC: [0xB1F0], NFD: [0x1102, 0x116D, 0x11AF], NFKC: [0xB1F0], NFKD: [0x1102, 0x116D, 0x11AF] }, -{ source: [0xB1F1], NFC: [0xB1F1], NFD: [0x1102, 0x116D, 0x11B0], NFKC: [0xB1F1], NFKD: [0x1102, 0x116D, 0x11B0] }, -{ source: [0xB1F2], NFC: [0xB1F2], NFD: [0x1102, 0x116D, 0x11B1], NFKC: [0xB1F2], NFKD: [0x1102, 0x116D, 0x11B1] }, -{ source: [0xB1F3], NFC: [0xB1F3], NFD: [0x1102, 0x116D, 0x11B2], NFKC: [0xB1F3], NFKD: [0x1102, 0x116D, 0x11B2] }, -{ source: [0xB1F4], NFC: [0xB1F4], NFD: [0x1102, 0x116D, 0x11B3], NFKC: [0xB1F4], NFKD: [0x1102, 0x116D, 0x11B3] }, -{ source: [0xB1F5], NFC: [0xB1F5], NFD: [0x1102, 0x116D, 0x11B4], NFKC: [0xB1F5], NFKD: [0x1102, 0x116D, 0x11B4] }, -{ source: [0xB1F6], NFC: [0xB1F6], NFD: [0x1102, 0x116D, 0x11B5], NFKC: [0xB1F6], NFKD: [0x1102, 0x116D, 0x11B5] }, -{ source: [0xB1F7], NFC: [0xB1F7], NFD: [0x1102, 0x116D, 0x11B6], NFKC: [0xB1F7], NFKD: [0x1102, 0x116D, 0x11B6] }, -{ source: [0xB1F8], NFC: [0xB1F8], NFD: [0x1102, 0x116D, 0x11B7], NFKC: [0xB1F8], NFKD: [0x1102, 0x116D, 0x11B7] }, -{ source: [0xB1F9], NFC: [0xB1F9], NFD: [0x1102, 0x116D, 0x11B8], NFKC: [0xB1F9], NFKD: [0x1102, 0x116D, 0x11B8] }, -{ source: [0xB1FA], NFC: [0xB1FA], NFD: [0x1102, 0x116D, 0x11B9], NFKC: [0xB1FA], NFKD: [0x1102, 0x116D, 0x11B9] }, -{ source: [0xB1FB], NFC: [0xB1FB], NFD: [0x1102, 0x116D, 0x11BA], NFKC: [0xB1FB], NFKD: [0x1102, 0x116D, 0x11BA] }, -{ source: [0xB1FC], NFC: [0xB1FC], NFD: [0x1102, 0x116D, 0x11BB], NFKC: [0xB1FC], NFKD: [0x1102, 0x116D, 0x11BB] }, -{ source: [0xB1FD], NFC: [0xB1FD], NFD: [0x1102, 0x116D, 0x11BC], NFKC: [0xB1FD], NFKD: [0x1102, 0x116D, 0x11BC] }, -{ source: [0xB1FE], NFC: [0xB1FE], NFD: [0x1102, 0x116D, 0x11BD], NFKC: [0xB1FE], NFKD: [0x1102, 0x116D, 0x11BD] }, -{ source: [0xB1FF], NFC: [0xB1FF], NFD: [0x1102, 0x116D, 0x11BE], NFKC: [0xB1FF], NFKD: [0x1102, 0x116D, 0x11BE] }, -{ source: [0xB200], NFC: [0xB200], NFD: [0x1102, 0x116D, 0x11BF], NFKC: [0xB200], NFKD: [0x1102, 0x116D, 0x11BF] }, -{ source: [0xB201], NFC: [0xB201], NFD: [0x1102, 0x116D, 0x11C0], NFKC: [0xB201], NFKD: [0x1102, 0x116D, 0x11C0] }, -{ source: [0xB202], NFC: [0xB202], NFD: [0x1102, 0x116D, 0x11C1], NFKC: [0xB202], NFKD: [0x1102, 0x116D, 0x11C1] }, -{ source: [0xB203], NFC: [0xB203], NFD: [0x1102, 0x116D, 0x11C2], NFKC: [0xB203], NFKD: [0x1102, 0x116D, 0x11C2] }, -{ source: [0xB204], NFC: [0xB204], NFD: [0x1102, 0x116E], NFKC: [0xB204], NFKD: [0x1102, 0x116E] }, -{ source: [0xB205], NFC: [0xB205], NFD: [0x1102, 0x116E, 0x11A8], NFKC: [0xB205], NFKD: [0x1102, 0x116E, 0x11A8] }, -{ source: [0xB206], NFC: [0xB206], NFD: [0x1102, 0x116E, 0x11A9], NFKC: [0xB206], NFKD: [0x1102, 0x116E, 0x11A9] }, -{ source: [0xB207], NFC: [0xB207], NFD: [0x1102, 0x116E, 0x11AA], NFKC: [0xB207], NFKD: [0x1102, 0x116E, 0x11AA] }, -{ source: [0xB208], NFC: [0xB208], NFD: [0x1102, 0x116E, 0x11AB], NFKC: [0xB208], NFKD: [0x1102, 0x116E, 0x11AB] }, -{ source: [0xB209], NFC: [0xB209], NFD: [0x1102, 0x116E, 0x11AC], NFKC: [0xB209], NFKD: [0x1102, 0x116E, 0x11AC] }, -{ source: [0xB20A], NFC: [0xB20A], NFD: [0x1102, 0x116E, 0x11AD], NFKC: [0xB20A], NFKD: [0x1102, 0x116E, 0x11AD] }, -{ source: [0xB20B], NFC: [0xB20B], NFD: [0x1102, 0x116E, 0x11AE], NFKC: [0xB20B], NFKD: [0x1102, 0x116E, 0x11AE] }, -{ source: [0xB20C], NFC: [0xB20C], NFD: [0x1102, 0x116E, 0x11AF], NFKC: [0xB20C], NFKD: [0x1102, 0x116E, 0x11AF] }, -{ source: [0xB20D], NFC: [0xB20D], NFD: [0x1102, 0x116E, 0x11B0], NFKC: [0xB20D], NFKD: [0x1102, 0x116E, 0x11B0] }, -{ source: [0xB20E], NFC: [0xB20E], NFD: [0x1102, 0x116E, 0x11B1], NFKC: [0xB20E], NFKD: [0x1102, 0x116E, 0x11B1] }, -{ source: [0xB20F], NFC: [0xB20F], NFD: [0x1102, 0x116E, 0x11B2], NFKC: [0xB20F], NFKD: [0x1102, 0x116E, 0x11B2] }, -{ source: [0xB210], NFC: [0xB210], NFD: [0x1102, 0x116E, 0x11B3], NFKC: [0xB210], NFKD: [0x1102, 0x116E, 0x11B3] }, -{ source: [0xB211], NFC: [0xB211], NFD: [0x1102, 0x116E, 0x11B4], NFKC: [0xB211], NFKD: [0x1102, 0x116E, 0x11B4] }, -{ source: [0xB212], NFC: [0xB212], NFD: [0x1102, 0x116E, 0x11B5], NFKC: [0xB212], NFKD: [0x1102, 0x116E, 0x11B5] }, -{ source: [0xB213], NFC: [0xB213], NFD: [0x1102, 0x116E, 0x11B6], NFKC: [0xB213], NFKD: [0x1102, 0x116E, 0x11B6] }, -{ source: [0xB214], NFC: [0xB214], NFD: [0x1102, 0x116E, 0x11B7], NFKC: [0xB214], NFKD: [0x1102, 0x116E, 0x11B7] }, -{ source: [0xB215], NFC: [0xB215], NFD: [0x1102, 0x116E, 0x11B8], NFKC: [0xB215], NFKD: [0x1102, 0x116E, 0x11B8] }, -{ source: [0xB216], NFC: [0xB216], NFD: [0x1102, 0x116E, 0x11B9], NFKC: [0xB216], NFKD: [0x1102, 0x116E, 0x11B9] }, -{ source: [0xB217], NFC: [0xB217], NFD: [0x1102, 0x116E, 0x11BA], NFKC: [0xB217], NFKD: [0x1102, 0x116E, 0x11BA] }, -{ source: [0xB218], NFC: [0xB218], NFD: [0x1102, 0x116E, 0x11BB], NFKC: [0xB218], NFKD: [0x1102, 0x116E, 0x11BB] }, -{ source: [0xB219], NFC: [0xB219], NFD: [0x1102, 0x116E, 0x11BC], NFKC: [0xB219], NFKD: [0x1102, 0x116E, 0x11BC] }, -{ source: [0xB21A], NFC: [0xB21A], NFD: [0x1102, 0x116E, 0x11BD], NFKC: [0xB21A], NFKD: [0x1102, 0x116E, 0x11BD] }, -{ source: [0xB21B], NFC: [0xB21B], NFD: [0x1102, 0x116E, 0x11BE], NFKC: [0xB21B], NFKD: [0x1102, 0x116E, 0x11BE] }, -{ source: [0xB21C], NFC: [0xB21C], NFD: [0x1102, 0x116E, 0x11BF], NFKC: [0xB21C], NFKD: [0x1102, 0x116E, 0x11BF] }, -{ source: [0xB21D], NFC: [0xB21D], NFD: [0x1102, 0x116E, 0x11C0], NFKC: [0xB21D], NFKD: [0x1102, 0x116E, 0x11C0] }, -{ source: [0xB21E], NFC: [0xB21E], NFD: [0x1102, 0x116E, 0x11C1], NFKC: [0xB21E], NFKD: [0x1102, 0x116E, 0x11C1] }, -{ source: [0xB21F], NFC: [0xB21F], NFD: [0x1102, 0x116E, 0x11C2], NFKC: [0xB21F], NFKD: [0x1102, 0x116E, 0x11C2] }, -{ source: [0xB220], NFC: [0xB220], NFD: [0x1102, 0x116F], NFKC: [0xB220], NFKD: [0x1102, 0x116F] }, -{ source: [0xB221], NFC: [0xB221], NFD: [0x1102, 0x116F, 0x11A8], NFKC: [0xB221], NFKD: [0x1102, 0x116F, 0x11A8] }, -{ source: [0xB222], NFC: [0xB222], NFD: [0x1102, 0x116F, 0x11A9], NFKC: [0xB222], NFKD: [0x1102, 0x116F, 0x11A9] }, -{ source: [0xB223], NFC: [0xB223], NFD: [0x1102, 0x116F, 0x11AA], NFKC: [0xB223], NFKD: [0x1102, 0x116F, 0x11AA] }, -{ source: [0xB224], NFC: [0xB224], NFD: [0x1102, 0x116F, 0x11AB], NFKC: [0xB224], NFKD: [0x1102, 0x116F, 0x11AB] }, -{ source: [0xB225], NFC: [0xB225], NFD: [0x1102, 0x116F, 0x11AC], NFKC: [0xB225], NFKD: [0x1102, 0x116F, 0x11AC] }, -{ source: [0xB226], NFC: [0xB226], NFD: [0x1102, 0x116F, 0x11AD], NFKC: [0xB226], NFKD: [0x1102, 0x116F, 0x11AD] }, -{ source: [0xB227], NFC: [0xB227], NFD: [0x1102, 0x116F, 0x11AE], NFKC: [0xB227], NFKD: [0x1102, 0x116F, 0x11AE] }, -{ source: [0xB228], NFC: [0xB228], NFD: [0x1102, 0x116F, 0x11AF], NFKC: [0xB228], NFKD: [0x1102, 0x116F, 0x11AF] }, -{ source: [0xB229], NFC: [0xB229], NFD: [0x1102, 0x116F, 0x11B0], NFKC: [0xB229], NFKD: [0x1102, 0x116F, 0x11B0] }, -{ source: [0xB22A], NFC: [0xB22A], NFD: [0x1102, 0x116F, 0x11B1], NFKC: [0xB22A], NFKD: [0x1102, 0x116F, 0x11B1] }, -{ source: [0xB22B], NFC: [0xB22B], NFD: [0x1102, 0x116F, 0x11B2], NFKC: [0xB22B], NFKD: [0x1102, 0x116F, 0x11B2] }, -{ source: [0xB22C], NFC: [0xB22C], NFD: [0x1102, 0x116F, 0x11B3], NFKC: [0xB22C], NFKD: [0x1102, 0x116F, 0x11B3] }, -{ source: [0xB22D], NFC: [0xB22D], NFD: [0x1102, 0x116F, 0x11B4], NFKC: [0xB22D], NFKD: [0x1102, 0x116F, 0x11B4] }, -{ source: [0xB22E], NFC: [0xB22E], NFD: [0x1102, 0x116F, 0x11B5], NFKC: [0xB22E], NFKD: [0x1102, 0x116F, 0x11B5] }, -{ source: [0xB22F], NFC: [0xB22F], NFD: [0x1102, 0x116F, 0x11B6], NFKC: [0xB22F], NFKD: [0x1102, 0x116F, 0x11B6] }, -{ source: [0xB230], NFC: [0xB230], NFD: [0x1102, 0x116F, 0x11B7], NFKC: [0xB230], NFKD: [0x1102, 0x116F, 0x11B7] }, -{ source: [0xB231], NFC: [0xB231], NFD: [0x1102, 0x116F, 0x11B8], NFKC: [0xB231], NFKD: [0x1102, 0x116F, 0x11B8] }, -{ source: [0xB232], NFC: [0xB232], NFD: [0x1102, 0x116F, 0x11B9], NFKC: [0xB232], NFKD: [0x1102, 0x116F, 0x11B9] }, -{ source: [0xB233], NFC: [0xB233], NFD: [0x1102, 0x116F, 0x11BA], NFKC: [0xB233], NFKD: [0x1102, 0x116F, 0x11BA] }, -{ source: [0xB234], NFC: [0xB234], NFD: [0x1102, 0x116F, 0x11BB], NFKC: [0xB234], NFKD: [0x1102, 0x116F, 0x11BB] }, -{ source: [0xB235], NFC: [0xB235], NFD: [0x1102, 0x116F, 0x11BC], NFKC: [0xB235], NFKD: [0x1102, 0x116F, 0x11BC] }, -{ source: [0xB236], NFC: [0xB236], NFD: [0x1102, 0x116F, 0x11BD], NFKC: [0xB236], NFKD: [0x1102, 0x116F, 0x11BD] }, -{ source: [0xB237], NFC: [0xB237], NFD: [0x1102, 0x116F, 0x11BE], NFKC: [0xB237], NFKD: [0x1102, 0x116F, 0x11BE] }, -{ source: [0xB238], NFC: [0xB238], NFD: [0x1102, 0x116F, 0x11BF], NFKC: [0xB238], NFKD: [0x1102, 0x116F, 0x11BF] }, -{ source: [0xB239], NFC: [0xB239], NFD: [0x1102, 0x116F, 0x11C0], NFKC: [0xB239], NFKD: [0x1102, 0x116F, 0x11C0] }, -{ source: [0xB23A], NFC: [0xB23A], NFD: [0x1102, 0x116F, 0x11C1], NFKC: [0xB23A], NFKD: [0x1102, 0x116F, 0x11C1] }, -{ source: [0xB23B], NFC: [0xB23B], NFD: [0x1102, 0x116F, 0x11C2], NFKC: [0xB23B], NFKD: [0x1102, 0x116F, 0x11C2] }, -{ source: [0xB23C], NFC: [0xB23C], NFD: [0x1102, 0x1170], NFKC: [0xB23C], NFKD: [0x1102, 0x1170] }, -{ source: [0xB23D], NFC: [0xB23D], NFD: [0x1102, 0x1170, 0x11A8], NFKC: [0xB23D], NFKD: [0x1102, 0x1170, 0x11A8] }, -{ source: [0xB23E], NFC: [0xB23E], NFD: [0x1102, 0x1170, 0x11A9], NFKC: [0xB23E], NFKD: [0x1102, 0x1170, 0x11A9] }, -{ source: [0xB23F], NFC: [0xB23F], NFD: [0x1102, 0x1170, 0x11AA], NFKC: [0xB23F], NFKD: [0x1102, 0x1170, 0x11AA] }, -{ source: [0xB240], NFC: [0xB240], NFD: [0x1102, 0x1170, 0x11AB], NFKC: [0xB240], NFKD: [0x1102, 0x1170, 0x11AB] }, -{ source: [0xB241], NFC: [0xB241], NFD: [0x1102, 0x1170, 0x11AC], NFKC: [0xB241], NFKD: [0x1102, 0x1170, 0x11AC] }, -{ source: [0xB242], NFC: [0xB242], NFD: [0x1102, 0x1170, 0x11AD], NFKC: [0xB242], NFKD: [0x1102, 0x1170, 0x11AD] }, -{ source: [0xB243], NFC: [0xB243], NFD: [0x1102, 0x1170, 0x11AE], NFKC: [0xB243], NFKD: [0x1102, 0x1170, 0x11AE] }, -{ source: [0xB244], NFC: [0xB244], NFD: [0x1102, 0x1170, 0x11AF], NFKC: [0xB244], NFKD: [0x1102, 0x1170, 0x11AF] }, -{ source: [0xB245], NFC: [0xB245], NFD: [0x1102, 0x1170, 0x11B0], NFKC: [0xB245], NFKD: [0x1102, 0x1170, 0x11B0] }, -{ source: [0xB246], NFC: [0xB246], NFD: [0x1102, 0x1170, 0x11B1], NFKC: [0xB246], NFKD: [0x1102, 0x1170, 0x11B1] }, -{ source: [0xB247], NFC: [0xB247], NFD: [0x1102, 0x1170, 0x11B2], NFKC: [0xB247], NFKD: [0x1102, 0x1170, 0x11B2] }, -{ source: [0xB248], NFC: [0xB248], NFD: [0x1102, 0x1170, 0x11B3], NFKC: [0xB248], NFKD: [0x1102, 0x1170, 0x11B3] }, -{ source: [0xB249], NFC: [0xB249], NFD: [0x1102, 0x1170, 0x11B4], NFKC: [0xB249], NFKD: [0x1102, 0x1170, 0x11B4] }, -{ source: [0xB24A], NFC: [0xB24A], NFD: [0x1102, 0x1170, 0x11B5], NFKC: [0xB24A], NFKD: [0x1102, 0x1170, 0x11B5] }, -{ source: [0xB24B], NFC: [0xB24B], NFD: [0x1102, 0x1170, 0x11B6], NFKC: [0xB24B], NFKD: [0x1102, 0x1170, 0x11B6] }, -{ source: [0xB24C], NFC: [0xB24C], NFD: [0x1102, 0x1170, 0x11B7], NFKC: [0xB24C], NFKD: [0x1102, 0x1170, 0x11B7] }, -{ source: [0xB24D], NFC: [0xB24D], NFD: [0x1102, 0x1170, 0x11B8], NFKC: [0xB24D], NFKD: [0x1102, 0x1170, 0x11B8] }, -{ source: [0xB24E], NFC: [0xB24E], NFD: [0x1102, 0x1170, 0x11B9], NFKC: [0xB24E], NFKD: [0x1102, 0x1170, 0x11B9] }, -{ source: [0xB24F], NFC: [0xB24F], NFD: [0x1102, 0x1170, 0x11BA], NFKC: [0xB24F], NFKD: [0x1102, 0x1170, 0x11BA] }, -{ source: [0xB250], NFC: [0xB250], NFD: [0x1102, 0x1170, 0x11BB], NFKC: [0xB250], NFKD: [0x1102, 0x1170, 0x11BB] }, -{ source: [0xB251], NFC: [0xB251], NFD: [0x1102, 0x1170, 0x11BC], NFKC: [0xB251], NFKD: [0x1102, 0x1170, 0x11BC] }, -{ source: [0xB252], NFC: [0xB252], NFD: [0x1102, 0x1170, 0x11BD], NFKC: [0xB252], NFKD: [0x1102, 0x1170, 0x11BD] }, -{ source: [0xB253], NFC: [0xB253], NFD: [0x1102, 0x1170, 0x11BE], NFKC: [0xB253], NFKD: [0x1102, 0x1170, 0x11BE] }, -{ source: [0xB254], NFC: [0xB254], NFD: [0x1102, 0x1170, 0x11BF], NFKC: [0xB254], NFKD: [0x1102, 0x1170, 0x11BF] }, -{ source: [0xB255], NFC: [0xB255], NFD: [0x1102, 0x1170, 0x11C0], NFKC: [0xB255], NFKD: [0x1102, 0x1170, 0x11C0] }, -{ source: [0xB256], NFC: [0xB256], NFD: [0x1102, 0x1170, 0x11C1], NFKC: [0xB256], NFKD: [0x1102, 0x1170, 0x11C1] }, -{ source: [0xB257], NFC: [0xB257], NFD: [0x1102, 0x1170, 0x11C2], NFKC: [0xB257], NFKD: [0x1102, 0x1170, 0x11C2] }, -{ source: [0xB258], NFC: [0xB258], NFD: [0x1102, 0x1171], NFKC: [0xB258], NFKD: [0x1102, 0x1171] }, -{ source: [0xB259], NFC: [0xB259], NFD: [0x1102, 0x1171, 0x11A8], NFKC: [0xB259], NFKD: [0x1102, 0x1171, 0x11A8] }, -{ source: [0xB25A], NFC: [0xB25A], NFD: [0x1102, 0x1171, 0x11A9], NFKC: [0xB25A], NFKD: [0x1102, 0x1171, 0x11A9] }, -{ source: [0xB25B], NFC: [0xB25B], NFD: [0x1102, 0x1171, 0x11AA], NFKC: [0xB25B], NFKD: [0x1102, 0x1171, 0x11AA] }, -{ source: [0xB25C], NFC: [0xB25C], NFD: [0x1102, 0x1171, 0x11AB], NFKC: [0xB25C], NFKD: [0x1102, 0x1171, 0x11AB] }, -{ source: [0xB25D], NFC: [0xB25D], NFD: [0x1102, 0x1171, 0x11AC], NFKC: [0xB25D], NFKD: [0x1102, 0x1171, 0x11AC] }, -{ source: [0xB25E], NFC: [0xB25E], NFD: [0x1102, 0x1171, 0x11AD], NFKC: [0xB25E], NFKD: [0x1102, 0x1171, 0x11AD] }, -{ source: [0xB25F], NFC: [0xB25F], NFD: [0x1102, 0x1171, 0x11AE], NFKC: [0xB25F], NFKD: [0x1102, 0x1171, 0x11AE] }, -{ source: [0xB260], NFC: [0xB260], NFD: [0x1102, 0x1171, 0x11AF], NFKC: [0xB260], NFKD: [0x1102, 0x1171, 0x11AF] }, -{ source: [0xB261], NFC: [0xB261], NFD: [0x1102, 0x1171, 0x11B0], NFKC: [0xB261], NFKD: [0x1102, 0x1171, 0x11B0] }, -{ source: [0xB262], NFC: [0xB262], NFD: [0x1102, 0x1171, 0x11B1], NFKC: [0xB262], NFKD: [0x1102, 0x1171, 0x11B1] }, -{ source: [0xB263], NFC: [0xB263], NFD: [0x1102, 0x1171, 0x11B2], NFKC: [0xB263], NFKD: [0x1102, 0x1171, 0x11B2] }, -{ source: [0xB264], NFC: [0xB264], NFD: [0x1102, 0x1171, 0x11B3], NFKC: [0xB264], NFKD: [0x1102, 0x1171, 0x11B3] }, -{ source: [0xB265], NFC: [0xB265], NFD: [0x1102, 0x1171, 0x11B4], NFKC: [0xB265], NFKD: [0x1102, 0x1171, 0x11B4] }, -{ source: [0xB266], NFC: [0xB266], NFD: [0x1102, 0x1171, 0x11B5], NFKC: [0xB266], NFKD: [0x1102, 0x1171, 0x11B5] }, -{ source: [0xB267], NFC: [0xB267], NFD: [0x1102, 0x1171, 0x11B6], NFKC: [0xB267], NFKD: [0x1102, 0x1171, 0x11B6] }, -{ source: [0xB268], NFC: [0xB268], NFD: [0x1102, 0x1171, 0x11B7], NFKC: [0xB268], NFKD: [0x1102, 0x1171, 0x11B7] }, -{ source: [0xB269], NFC: [0xB269], NFD: [0x1102, 0x1171, 0x11B8], NFKC: [0xB269], NFKD: [0x1102, 0x1171, 0x11B8] }, -{ source: [0xB26A], NFC: [0xB26A], NFD: [0x1102, 0x1171, 0x11B9], NFKC: [0xB26A], NFKD: [0x1102, 0x1171, 0x11B9] }, -{ source: [0xB26B], NFC: [0xB26B], NFD: [0x1102, 0x1171, 0x11BA], NFKC: [0xB26B], NFKD: [0x1102, 0x1171, 0x11BA] }, -{ source: [0xB26C], NFC: [0xB26C], NFD: [0x1102, 0x1171, 0x11BB], NFKC: [0xB26C], NFKD: [0x1102, 0x1171, 0x11BB] }, -{ source: [0xB26D], NFC: [0xB26D], NFD: [0x1102, 0x1171, 0x11BC], NFKC: [0xB26D], NFKD: [0x1102, 0x1171, 0x11BC] }, -{ source: [0xB26E], NFC: [0xB26E], NFD: [0x1102, 0x1171, 0x11BD], NFKC: [0xB26E], NFKD: [0x1102, 0x1171, 0x11BD] }, -{ source: [0xB26F], NFC: [0xB26F], NFD: [0x1102, 0x1171, 0x11BE], NFKC: [0xB26F], NFKD: [0x1102, 0x1171, 0x11BE] }, -{ source: [0xB270], NFC: [0xB270], NFD: [0x1102, 0x1171, 0x11BF], NFKC: [0xB270], NFKD: [0x1102, 0x1171, 0x11BF] }, -{ source: [0xB271], NFC: [0xB271], NFD: [0x1102, 0x1171, 0x11C0], NFKC: [0xB271], NFKD: [0x1102, 0x1171, 0x11C0] }, -{ source: [0xB272], NFC: [0xB272], NFD: [0x1102, 0x1171, 0x11C1], NFKC: [0xB272], NFKD: [0x1102, 0x1171, 0x11C1] }, -{ source: [0xB273], NFC: [0xB273], NFD: [0x1102, 0x1171, 0x11C2], NFKC: [0xB273], NFKD: [0x1102, 0x1171, 0x11C2] }, -{ source: [0xB274], NFC: [0xB274], NFD: [0x1102, 0x1172], NFKC: [0xB274], NFKD: [0x1102, 0x1172] }, -{ source: [0xB275], NFC: [0xB275], NFD: [0x1102, 0x1172, 0x11A8], NFKC: [0xB275], NFKD: [0x1102, 0x1172, 0x11A8] }, -{ source: [0xB276], NFC: [0xB276], NFD: [0x1102, 0x1172, 0x11A9], NFKC: [0xB276], NFKD: [0x1102, 0x1172, 0x11A9] }, -{ source: [0xB277], NFC: [0xB277], NFD: [0x1102, 0x1172, 0x11AA], NFKC: [0xB277], NFKD: [0x1102, 0x1172, 0x11AA] }, -{ source: [0xB278], NFC: [0xB278], NFD: [0x1102, 0x1172, 0x11AB], NFKC: [0xB278], NFKD: [0x1102, 0x1172, 0x11AB] }, -{ source: [0xB279], NFC: [0xB279], NFD: [0x1102, 0x1172, 0x11AC], NFKC: [0xB279], NFKD: [0x1102, 0x1172, 0x11AC] }, -{ source: [0xB27A], NFC: [0xB27A], NFD: [0x1102, 0x1172, 0x11AD], NFKC: [0xB27A], NFKD: [0x1102, 0x1172, 0x11AD] }, -{ source: [0xB27B], NFC: [0xB27B], NFD: [0x1102, 0x1172, 0x11AE], NFKC: [0xB27B], NFKD: [0x1102, 0x1172, 0x11AE] }, -{ source: [0xB27C], NFC: [0xB27C], NFD: [0x1102, 0x1172, 0x11AF], NFKC: [0xB27C], NFKD: [0x1102, 0x1172, 0x11AF] }, -{ source: [0xB27D], NFC: [0xB27D], NFD: [0x1102, 0x1172, 0x11B0], NFKC: [0xB27D], NFKD: [0x1102, 0x1172, 0x11B0] }, -{ source: [0xB27E], NFC: [0xB27E], NFD: [0x1102, 0x1172, 0x11B1], NFKC: [0xB27E], NFKD: [0x1102, 0x1172, 0x11B1] }, -{ source: [0xB27F], NFC: [0xB27F], NFD: [0x1102, 0x1172, 0x11B2], NFKC: [0xB27F], NFKD: [0x1102, 0x1172, 0x11B2] }, -{ source: [0xB280], NFC: [0xB280], NFD: [0x1102, 0x1172, 0x11B3], NFKC: [0xB280], NFKD: [0x1102, 0x1172, 0x11B3] }, -{ source: [0xB281], NFC: [0xB281], NFD: [0x1102, 0x1172, 0x11B4], NFKC: [0xB281], NFKD: [0x1102, 0x1172, 0x11B4] }, -{ source: [0xB282], NFC: [0xB282], NFD: [0x1102, 0x1172, 0x11B5], NFKC: [0xB282], NFKD: [0x1102, 0x1172, 0x11B5] }, -{ source: [0xB283], NFC: [0xB283], NFD: [0x1102, 0x1172, 0x11B6], NFKC: [0xB283], NFKD: [0x1102, 0x1172, 0x11B6] }, -{ source: [0xB284], NFC: [0xB284], NFD: [0x1102, 0x1172, 0x11B7], NFKC: [0xB284], NFKD: [0x1102, 0x1172, 0x11B7] }, -{ source: [0xB285], NFC: [0xB285], NFD: [0x1102, 0x1172, 0x11B8], NFKC: [0xB285], NFKD: [0x1102, 0x1172, 0x11B8] }, -{ source: [0xB286], NFC: [0xB286], NFD: [0x1102, 0x1172, 0x11B9], NFKC: [0xB286], NFKD: [0x1102, 0x1172, 0x11B9] }, -{ source: [0xB287], NFC: [0xB287], NFD: [0x1102, 0x1172, 0x11BA], NFKC: [0xB287], NFKD: [0x1102, 0x1172, 0x11BA] }, -{ source: [0xB288], NFC: [0xB288], NFD: [0x1102, 0x1172, 0x11BB], NFKC: [0xB288], NFKD: [0x1102, 0x1172, 0x11BB] }, -{ source: [0xB289], NFC: [0xB289], NFD: [0x1102, 0x1172, 0x11BC], NFKC: [0xB289], NFKD: [0x1102, 0x1172, 0x11BC] }, -{ source: [0xB28A], NFC: [0xB28A], NFD: [0x1102, 0x1172, 0x11BD], NFKC: [0xB28A], NFKD: [0x1102, 0x1172, 0x11BD] }, -{ source: [0xB28B], NFC: [0xB28B], NFD: [0x1102, 0x1172, 0x11BE], NFKC: [0xB28B], NFKD: [0x1102, 0x1172, 0x11BE] }, -{ source: [0xB28C], NFC: [0xB28C], NFD: [0x1102, 0x1172, 0x11BF], NFKC: [0xB28C], NFKD: [0x1102, 0x1172, 0x11BF] }, -{ source: [0xB28D], NFC: [0xB28D], NFD: [0x1102, 0x1172, 0x11C0], NFKC: [0xB28D], NFKD: [0x1102, 0x1172, 0x11C0] }, -{ source: [0xB28E], NFC: [0xB28E], NFD: [0x1102, 0x1172, 0x11C1], NFKC: [0xB28E], NFKD: [0x1102, 0x1172, 0x11C1] }, -{ source: [0xB28F], NFC: [0xB28F], NFD: [0x1102, 0x1172, 0x11C2], NFKC: [0xB28F], NFKD: [0x1102, 0x1172, 0x11C2] }, -{ source: [0xB290], NFC: [0xB290], NFD: [0x1102, 0x1173], NFKC: [0xB290], NFKD: [0x1102, 0x1173] }, -{ source: [0xB291], NFC: [0xB291], NFD: [0x1102, 0x1173, 0x11A8], NFKC: [0xB291], NFKD: [0x1102, 0x1173, 0x11A8] }, -{ source: [0xB292], NFC: [0xB292], NFD: [0x1102, 0x1173, 0x11A9], NFKC: [0xB292], NFKD: [0x1102, 0x1173, 0x11A9] }, -{ source: [0xB293], NFC: [0xB293], NFD: [0x1102, 0x1173, 0x11AA], NFKC: [0xB293], NFKD: [0x1102, 0x1173, 0x11AA] }, -{ source: [0xB294], NFC: [0xB294], NFD: [0x1102, 0x1173, 0x11AB], NFKC: [0xB294], NFKD: [0x1102, 0x1173, 0x11AB] }, -{ source: [0xB295], NFC: [0xB295], NFD: [0x1102, 0x1173, 0x11AC], NFKC: [0xB295], NFKD: [0x1102, 0x1173, 0x11AC] }, -{ source: [0xB296], NFC: [0xB296], NFD: [0x1102, 0x1173, 0x11AD], NFKC: [0xB296], NFKD: [0x1102, 0x1173, 0x11AD] }, -{ source: [0xB297], NFC: [0xB297], NFD: [0x1102, 0x1173, 0x11AE], NFKC: [0xB297], NFKD: [0x1102, 0x1173, 0x11AE] }, -{ source: [0xB298], NFC: [0xB298], NFD: [0x1102, 0x1173, 0x11AF], NFKC: [0xB298], NFKD: [0x1102, 0x1173, 0x11AF] }, -{ source: [0xB299], NFC: [0xB299], NFD: [0x1102, 0x1173, 0x11B0], NFKC: [0xB299], NFKD: [0x1102, 0x1173, 0x11B0] }, -{ source: [0xB29A], NFC: [0xB29A], NFD: [0x1102, 0x1173, 0x11B1], NFKC: [0xB29A], NFKD: [0x1102, 0x1173, 0x11B1] }, -{ source: [0xB29B], NFC: [0xB29B], NFD: [0x1102, 0x1173, 0x11B2], NFKC: [0xB29B], NFKD: [0x1102, 0x1173, 0x11B2] }, -{ source: [0xB29C], NFC: [0xB29C], NFD: [0x1102, 0x1173, 0x11B3], NFKC: [0xB29C], NFKD: [0x1102, 0x1173, 0x11B3] }, -{ source: [0xB29D], NFC: [0xB29D], NFD: [0x1102, 0x1173, 0x11B4], NFKC: [0xB29D], NFKD: [0x1102, 0x1173, 0x11B4] }, -{ source: [0xB29E], NFC: [0xB29E], NFD: [0x1102, 0x1173, 0x11B5], NFKC: [0xB29E], NFKD: [0x1102, 0x1173, 0x11B5] }, -{ source: [0xB29F], NFC: [0xB29F], NFD: [0x1102, 0x1173, 0x11B6], NFKC: [0xB29F], NFKD: [0x1102, 0x1173, 0x11B6] }, -{ source: [0xB2A0], NFC: [0xB2A0], NFD: [0x1102, 0x1173, 0x11B7], NFKC: [0xB2A0], NFKD: [0x1102, 0x1173, 0x11B7] }, -{ source: [0xB2A1], NFC: [0xB2A1], NFD: [0x1102, 0x1173, 0x11B8], NFKC: [0xB2A1], NFKD: [0x1102, 0x1173, 0x11B8] }, -{ source: [0xB2A2], NFC: [0xB2A2], NFD: [0x1102, 0x1173, 0x11B9], NFKC: [0xB2A2], NFKD: [0x1102, 0x1173, 0x11B9] }, -{ source: [0xB2A3], NFC: [0xB2A3], NFD: [0x1102, 0x1173, 0x11BA], NFKC: [0xB2A3], NFKD: [0x1102, 0x1173, 0x11BA] }, -{ source: [0xB2A4], NFC: [0xB2A4], NFD: [0x1102, 0x1173, 0x11BB], NFKC: [0xB2A4], NFKD: [0x1102, 0x1173, 0x11BB] }, -{ source: [0xB2A5], NFC: [0xB2A5], NFD: [0x1102, 0x1173, 0x11BC], NFKC: [0xB2A5], NFKD: [0x1102, 0x1173, 0x11BC] }, -{ source: [0xB2A6], NFC: [0xB2A6], NFD: [0x1102, 0x1173, 0x11BD], NFKC: [0xB2A6], NFKD: [0x1102, 0x1173, 0x11BD] }, -{ source: [0xB2A7], NFC: [0xB2A7], NFD: [0x1102, 0x1173, 0x11BE], NFKC: [0xB2A7], NFKD: [0x1102, 0x1173, 0x11BE] }, -{ source: [0xB2A8], NFC: [0xB2A8], NFD: [0x1102, 0x1173, 0x11BF], NFKC: [0xB2A8], NFKD: [0x1102, 0x1173, 0x11BF] }, -{ source: [0xB2A9], NFC: [0xB2A9], NFD: [0x1102, 0x1173, 0x11C0], NFKC: [0xB2A9], NFKD: [0x1102, 0x1173, 0x11C0] }, -{ source: [0xB2AA], NFC: [0xB2AA], NFD: [0x1102, 0x1173, 0x11C1], NFKC: [0xB2AA], NFKD: [0x1102, 0x1173, 0x11C1] }, -{ source: [0xB2AB], NFC: [0xB2AB], NFD: [0x1102, 0x1173, 0x11C2], NFKC: [0xB2AB], NFKD: [0x1102, 0x1173, 0x11C2] }, -{ source: [0xB2AC], NFC: [0xB2AC], NFD: [0x1102, 0x1174], NFKC: [0xB2AC], NFKD: [0x1102, 0x1174] }, -{ source: [0xB2AD], NFC: [0xB2AD], NFD: [0x1102, 0x1174, 0x11A8], NFKC: [0xB2AD], NFKD: [0x1102, 0x1174, 0x11A8] }, -{ source: [0xB2AE], NFC: [0xB2AE], NFD: [0x1102, 0x1174, 0x11A9], NFKC: [0xB2AE], NFKD: [0x1102, 0x1174, 0x11A9] }, -{ source: [0xB2AF], NFC: [0xB2AF], NFD: [0x1102, 0x1174, 0x11AA], NFKC: [0xB2AF], NFKD: [0x1102, 0x1174, 0x11AA] }, -{ source: [0xB2B0], NFC: [0xB2B0], NFD: [0x1102, 0x1174, 0x11AB], NFKC: [0xB2B0], NFKD: [0x1102, 0x1174, 0x11AB] }, -{ source: [0xB2B1], NFC: [0xB2B1], NFD: [0x1102, 0x1174, 0x11AC], NFKC: [0xB2B1], NFKD: [0x1102, 0x1174, 0x11AC] }, -{ source: [0xB2B2], NFC: [0xB2B2], NFD: [0x1102, 0x1174, 0x11AD], NFKC: [0xB2B2], NFKD: [0x1102, 0x1174, 0x11AD] }, -{ source: [0xB2B3], NFC: [0xB2B3], NFD: [0x1102, 0x1174, 0x11AE], NFKC: [0xB2B3], NFKD: [0x1102, 0x1174, 0x11AE] }, -{ source: [0xB2B4], NFC: [0xB2B4], NFD: [0x1102, 0x1174, 0x11AF], NFKC: [0xB2B4], NFKD: [0x1102, 0x1174, 0x11AF] }, -{ source: [0xB2B5], NFC: [0xB2B5], NFD: [0x1102, 0x1174, 0x11B0], NFKC: [0xB2B5], NFKD: [0x1102, 0x1174, 0x11B0] }, -{ source: [0xB2B6], NFC: [0xB2B6], NFD: [0x1102, 0x1174, 0x11B1], NFKC: [0xB2B6], NFKD: [0x1102, 0x1174, 0x11B1] }, -{ source: [0xB2B7], NFC: [0xB2B7], NFD: [0x1102, 0x1174, 0x11B2], NFKC: [0xB2B7], NFKD: [0x1102, 0x1174, 0x11B2] }, -{ source: [0xB2B8], NFC: [0xB2B8], NFD: [0x1102, 0x1174, 0x11B3], NFKC: [0xB2B8], NFKD: [0x1102, 0x1174, 0x11B3] }, -{ source: [0xB2B9], NFC: [0xB2B9], NFD: [0x1102, 0x1174, 0x11B4], NFKC: [0xB2B9], NFKD: [0x1102, 0x1174, 0x11B4] }, -{ source: [0xB2BA], NFC: [0xB2BA], NFD: [0x1102, 0x1174, 0x11B5], NFKC: [0xB2BA], NFKD: [0x1102, 0x1174, 0x11B5] }, -{ source: [0xB2BB], NFC: [0xB2BB], NFD: [0x1102, 0x1174, 0x11B6], NFKC: [0xB2BB], NFKD: [0x1102, 0x1174, 0x11B6] }, -{ source: [0xB2BC], NFC: [0xB2BC], NFD: [0x1102, 0x1174, 0x11B7], NFKC: [0xB2BC], NFKD: [0x1102, 0x1174, 0x11B7] }, -{ source: [0xB2BD], NFC: [0xB2BD], NFD: [0x1102, 0x1174, 0x11B8], NFKC: [0xB2BD], NFKD: [0x1102, 0x1174, 0x11B8] }, -{ source: [0xB2BE], NFC: [0xB2BE], NFD: [0x1102, 0x1174, 0x11B9], NFKC: [0xB2BE], NFKD: [0x1102, 0x1174, 0x11B9] }, -{ source: [0xB2BF], NFC: [0xB2BF], NFD: [0x1102, 0x1174, 0x11BA], NFKC: [0xB2BF], NFKD: [0x1102, 0x1174, 0x11BA] }, -{ source: [0xB2C0], NFC: [0xB2C0], NFD: [0x1102, 0x1174, 0x11BB], NFKC: [0xB2C0], NFKD: [0x1102, 0x1174, 0x11BB] }, -{ source: [0xB2C1], NFC: [0xB2C1], NFD: [0x1102, 0x1174, 0x11BC], NFKC: [0xB2C1], NFKD: [0x1102, 0x1174, 0x11BC] }, -{ source: [0xB2C2], NFC: [0xB2C2], NFD: [0x1102, 0x1174, 0x11BD], NFKC: [0xB2C2], NFKD: [0x1102, 0x1174, 0x11BD] }, -{ source: [0xB2C3], NFC: [0xB2C3], NFD: [0x1102, 0x1174, 0x11BE], NFKC: [0xB2C3], NFKD: [0x1102, 0x1174, 0x11BE] }, -{ source: [0xB2C4], NFC: [0xB2C4], NFD: [0x1102, 0x1174, 0x11BF], NFKC: [0xB2C4], NFKD: [0x1102, 0x1174, 0x11BF] }, -{ source: [0xB2C5], NFC: [0xB2C5], NFD: [0x1102, 0x1174, 0x11C0], NFKC: [0xB2C5], NFKD: [0x1102, 0x1174, 0x11C0] }, -{ source: [0xB2C6], NFC: [0xB2C6], NFD: [0x1102, 0x1174, 0x11C1], NFKC: [0xB2C6], NFKD: [0x1102, 0x1174, 0x11C1] }, -{ source: [0xB2C7], NFC: [0xB2C7], NFD: [0x1102, 0x1174, 0x11C2], NFKC: [0xB2C7], NFKD: [0x1102, 0x1174, 0x11C2] }, -{ source: [0xB2C8], NFC: [0xB2C8], NFD: [0x1102, 0x1175], NFKC: [0xB2C8], NFKD: [0x1102, 0x1175] }, -{ source: [0xB2C9], NFC: [0xB2C9], NFD: [0x1102, 0x1175, 0x11A8], NFKC: [0xB2C9], NFKD: [0x1102, 0x1175, 0x11A8] }, -{ source: [0xB2CA], NFC: [0xB2CA], NFD: [0x1102, 0x1175, 0x11A9], NFKC: [0xB2CA], NFKD: [0x1102, 0x1175, 0x11A9] }, -{ source: [0xB2CB], NFC: [0xB2CB], NFD: [0x1102, 0x1175, 0x11AA], NFKC: [0xB2CB], NFKD: [0x1102, 0x1175, 0x11AA] }, -{ source: [0xB2CC], NFC: [0xB2CC], NFD: [0x1102, 0x1175, 0x11AB], NFKC: [0xB2CC], NFKD: [0x1102, 0x1175, 0x11AB] }, -{ source: [0xB2CD], NFC: [0xB2CD], NFD: [0x1102, 0x1175, 0x11AC], NFKC: [0xB2CD], NFKD: [0x1102, 0x1175, 0x11AC] }, -{ source: [0xB2CE], NFC: [0xB2CE], NFD: [0x1102, 0x1175, 0x11AD], NFKC: [0xB2CE], NFKD: [0x1102, 0x1175, 0x11AD] }, -{ source: [0xB2CF], NFC: [0xB2CF], NFD: [0x1102, 0x1175, 0x11AE], NFKC: [0xB2CF], NFKD: [0x1102, 0x1175, 0x11AE] }, -{ source: [0xB2D0], NFC: [0xB2D0], NFD: [0x1102, 0x1175, 0x11AF], NFKC: [0xB2D0], NFKD: [0x1102, 0x1175, 0x11AF] }, -{ source: [0xB2D1], NFC: [0xB2D1], NFD: [0x1102, 0x1175, 0x11B0], NFKC: [0xB2D1], NFKD: [0x1102, 0x1175, 0x11B0] }, -{ source: [0xB2D2], NFC: [0xB2D2], NFD: [0x1102, 0x1175, 0x11B1], NFKC: [0xB2D2], NFKD: [0x1102, 0x1175, 0x11B1] }, -{ source: [0xB2D3], NFC: [0xB2D3], NFD: [0x1102, 0x1175, 0x11B2], NFKC: [0xB2D3], NFKD: [0x1102, 0x1175, 0x11B2] }, -{ source: [0xB2D4], NFC: [0xB2D4], NFD: [0x1102, 0x1175, 0x11B3], NFKC: [0xB2D4], NFKD: [0x1102, 0x1175, 0x11B3] }, -{ source: [0xB2D5], NFC: [0xB2D5], NFD: [0x1102, 0x1175, 0x11B4], NFKC: [0xB2D5], NFKD: [0x1102, 0x1175, 0x11B4] }, -{ source: [0xB2D6], NFC: [0xB2D6], NFD: [0x1102, 0x1175, 0x11B5], NFKC: [0xB2D6], NFKD: [0x1102, 0x1175, 0x11B5] }, -{ source: [0xB2D7], NFC: [0xB2D7], NFD: [0x1102, 0x1175, 0x11B6], NFKC: [0xB2D7], NFKD: [0x1102, 0x1175, 0x11B6] }, -{ source: [0xB2D8], NFC: [0xB2D8], NFD: [0x1102, 0x1175, 0x11B7], NFKC: [0xB2D8], NFKD: [0x1102, 0x1175, 0x11B7] }, -{ source: [0xB2D9], NFC: [0xB2D9], NFD: [0x1102, 0x1175, 0x11B8], NFKC: [0xB2D9], NFKD: [0x1102, 0x1175, 0x11B8] }, -{ source: [0xB2DA], NFC: [0xB2DA], NFD: [0x1102, 0x1175, 0x11B9], NFKC: [0xB2DA], NFKD: [0x1102, 0x1175, 0x11B9] }, -{ source: [0xB2DB], NFC: [0xB2DB], NFD: [0x1102, 0x1175, 0x11BA], NFKC: [0xB2DB], NFKD: [0x1102, 0x1175, 0x11BA] }, -{ source: [0xB2DC], NFC: [0xB2DC], NFD: [0x1102, 0x1175, 0x11BB], NFKC: [0xB2DC], NFKD: [0x1102, 0x1175, 0x11BB] }, -{ source: [0xB2DD], NFC: [0xB2DD], NFD: [0x1102, 0x1175, 0x11BC], NFKC: [0xB2DD], NFKD: [0x1102, 0x1175, 0x11BC] }, -{ source: [0xB2DE], NFC: [0xB2DE], NFD: [0x1102, 0x1175, 0x11BD], NFKC: [0xB2DE], NFKD: [0x1102, 0x1175, 0x11BD] }, -{ source: [0xB2DF], NFC: [0xB2DF], NFD: [0x1102, 0x1175, 0x11BE], NFKC: [0xB2DF], NFKD: [0x1102, 0x1175, 0x11BE] }, -{ source: [0xB2E0], NFC: [0xB2E0], NFD: [0x1102, 0x1175, 0x11BF], NFKC: [0xB2E0], NFKD: [0x1102, 0x1175, 0x11BF] }, -{ source: [0xB2E1], NFC: [0xB2E1], NFD: [0x1102, 0x1175, 0x11C0], NFKC: [0xB2E1], NFKD: [0x1102, 0x1175, 0x11C0] }, -{ source: [0xB2E2], NFC: [0xB2E2], NFD: [0x1102, 0x1175, 0x11C1], NFKC: [0xB2E2], NFKD: [0x1102, 0x1175, 0x11C1] }, -{ source: [0xB2E3], NFC: [0xB2E3], NFD: [0x1102, 0x1175, 0x11C2], NFKC: [0xB2E3], NFKD: [0x1102, 0x1175, 0x11C2] }, -{ source: [0xB2E4], NFC: [0xB2E4], NFD: [0x1103, 0x1161], NFKC: [0xB2E4], NFKD: [0x1103, 0x1161] }, -{ source: [0xB2E5], NFC: [0xB2E5], NFD: [0x1103, 0x1161, 0x11A8], NFKC: [0xB2E5], NFKD: [0x1103, 0x1161, 0x11A8] }, -{ source: [0xB2E6], NFC: [0xB2E6], NFD: [0x1103, 0x1161, 0x11A9], NFKC: [0xB2E6], NFKD: [0x1103, 0x1161, 0x11A9] }, -{ source: [0xB2E7], NFC: [0xB2E7], NFD: [0x1103, 0x1161, 0x11AA], NFKC: [0xB2E7], NFKD: [0x1103, 0x1161, 0x11AA] }, -{ source: [0xB2E8], NFC: [0xB2E8], NFD: [0x1103, 0x1161, 0x11AB], NFKC: [0xB2E8], NFKD: [0x1103, 0x1161, 0x11AB] }, -{ source: [0xB2E9], NFC: [0xB2E9], NFD: [0x1103, 0x1161, 0x11AC], NFKC: [0xB2E9], NFKD: [0x1103, 0x1161, 0x11AC] }, -{ source: [0xB2EA], NFC: [0xB2EA], NFD: [0x1103, 0x1161, 0x11AD], NFKC: [0xB2EA], NFKD: [0x1103, 0x1161, 0x11AD] }, -{ source: [0xB2EB], NFC: [0xB2EB], NFD: [0x1103, 0x1161, 0x11AE], NFKC: [0xB2EB], NFKD: [0x1103, 0x1161, 0x11AE] }, -{ source: [0xB2EC], NFC: [0xB2EC], NFD: [0x1103, 0x1161, 0x11AF], NFKC: [0xB2EC], NFKD: [0x1103, 0x1161, 0x11AF] }, -{ source: [0xB2ED], NFC: [0xB2ED], NFD: [0x1103, 0x1161, 0x11B0], NFKC: [0xB2ED], NFKD: [0x1103, 0x1161, 0x11B0] }, -{ source: [0xB2EE], NFC: [0xB2EE], NFD: [0x1103, 0x1161, 0x11B1], NFKC: [0xB2EE], NFKD: [0x1103, 0x1161, 0x11B1] }, -{ source: [0xB2EF], NFC: [0xB2EF], NFD: [0x1103, 0x1161, 0x11B2], NFKC: [0xB2EF], NFKD: [0x1103, 0x1161, 0x11B2] }, -{ source: [0xB2F0], NFC: [0xB2F0], NFD: [0x1103, 0x1161, 0x11B3], NFKC: [0xB2F0], NFKD: [0x1103, 0x1161, 0x11B3] }, -{ source: [0xB2F1], NFC: [0xB2F1], NFD: [0x1103, 0x1161, 0x11B4], NFKC: [0xB2F1], NFKD: [0x1103, 0x1161, 0x11B4] }, -{ source: [0xB2F2], NFC: [0xB2F2], NFD: [0x1103, 0x1161, 0x11B5], NFKC: [0xB2F2], NFKD: [0x1103, 0x1161, 0x11B5] }, -{ source: [0xB2F3], NFC: [0xB2F3], NFD: [0x1103, 0x1161, 0x11B6], NFKC: [0xB2F3], NFKD: [0x1103, 0x1161, 0x11B6] }, -{ source: [0xB2F4], NFC: [0xB2F4], NFD: [0x1103, 0x1161, 0x11B7], NFKC: [0xB2F4], NFKD: [0x1103, 0x1161, 0x11B7] }, -{ source: [0xB2F5], NFC: [0xB2F5], NFD: [0x1103, 0x1161, 0x11B8], NFKC: [0xB2F5], NFKD: [0x1103, 0x1161, 0x11B8] }, -{ source: [0xB2F6], NFC: [0xB2F6], NFD: [0x1103, 0x1161, 0x11B9], NFKC: [0xB2F6], NFKD: [0x1103, 0x1161, 0x11B9] }, -{ source: [0xB2F7], NFC: [0xB2F7], NFD: [0x1103, 0x1161, 0x11BA], NFKC: [0xB2F7], NFKD: [0x1103, 0x1161, 0x11BA] }, -{ source: [0xB2F8], NFC: [0xB2F8], NFD: [0x1103, 0x1161, 0x11BB], NFKC: [0xB2F8], NFKD: [0x1103, 0x1161, 0x11BB] }, -{ source: [0xB2F9], NFC: [0xB2F9], NFD: [0x1103, 0x1161, 0x11BC], NFKC: [0xB2F9], NFKD: [0x1103, 0x1161, 0x11BC] }, -{ source: [0xB2FA], NFC: [0xB2FA], NFD: [0x1103, 0x1161, 0x11BD], NFKC: [0xB2FA], NFKD: [0x1103, 0x1161, 0x11BD] }, -{ source: [0xB2FB], NFC: [0xB2FB], NFD: [0x1103, 0x1161, 0x11BE], NFKC: [0xB2FB], NFKD: [0x1103, 0x1161, 0x11BE] }, -{ source: [0xB2FC], NFC: [0xB2FC], NFD: [0x1103, 0x1161, 0x11BF], NFKC: [0xB2FC], NFKD: [0x1103, 0x1161, 0x11BF] }, -{ source: [0xB2FD], NFC: [0xB2FD], NFD: [0x1103, 0x1161, 0x11C0], NFKC: [0xB2FD], NFKD: [0x1103, 0x1161, 0x11C0] }, -{ source: [0xB2FE], NFC: [0xB2FE], NFD: [0x1103, 0x1161, 0x11C1], NFKC: [0xB2FE], NFKD: [0x1103, 0x1161, 0x11C1] }, -{ source: [0xB2FF], NFC: [0xB2FF], NFD: [0x1103, 0x1161, 0x11C2], NFKC: [0xB2FF], NFKD: [0x1103, 0x1161, 0x11C2] }, -{ source: [0xB300], NFC: [0xB300], NFD: [0x1103, 0x1162], NFKC: [0xB300], NFKD: [0x1103, 0x1162] }, -{ source: [0xB301], NFC: [0xB301], NFD: [0x1103, 0x1162, 0x11A8], NFKC: [0xB301], NFKD: [0x1103, 0x1162, 0x11A8] }, -{ source: [0xB302], NFC: [0xB302], NFD: [0x1103, 0x1162, 0x11A9], NFKC: [0xB302], NFKD: [0x1103, 0x1162, 0x11A9] }, -{ source: [0xB303], NFC: [0xB303], NFD: [0x1103, 0x1162, 0x11AA], NFKC: [0xB303], NFKD: [0x1103, 0x1162, 0x11AA] }, -{ source: [0xB304], NFC: [0xB304], NFD: [0x1103, 0x1162, 0x11AB], NFKC: [0xB304], NFKD: [0x1103, 0x1162, 0x11AB] }, -{ source: [0xB305], NFC: [0xB305], NFD: [0x1103, 0x1162, 0x11AC], NFKC: [0xB305], NFKD: [0x1103, 0x1162, 0x11AC] }, -{ source: [0xB306], NFC: [0xB306], NFD: [0x1103, 0x1162, 0x11AD], NFKC: [0xB306], NFKD: [0x1103, 0x1162, 0x11AD] }, -{ source: [0xB307], NFC: [0xB307], NFD: [0x1103, 0x1162, 0x11AE], NFKC: [0xB307], NFKD: [0x1103, 0x1162, 0x11AE] }, -{ source: [0xB308], NFC: [0xB308], NFD: [0x1103, 0x1162, 0x11AF], NFKC: [0xB308], NFKD: [0x1103, 0x1162, 0x11AF] }, -{ source: [0xB309], NFC: [0xB309], NFD: [0x1103, 0x1162, 0x11B0], NFKC: [0xB309], NFKD: [0x1103, 0x1162, 0x11B0] }, -{ source: [0xB30A], NFC: [0xB30A], NFD: [0x1103, 0x1162, 0x11B1], NFKC: [0xB30A], NFKD: [0x1103, 0x1162, 0x11B1] }, -{ source: [0xB30B], NFC: [0xB30B], NFD: [0x1103, 0x1162, 0x11B2], NFKC: [0xB30B], NFKD: [0x1103, 0x1162, 0x11B2] }, -{ source: [0xB30C], NFC: [0xB30C], NFD: [0x1103, 0x1162, 0x11B3], NFKC: [0xB30C], NFKD: [0x1103, 0x1162, 0x11B3] }, -{ source: [0xB30D], NFC: [0xB30D], NFD: [0x1103, 0x1162, 0x11B4], NFKC: [0xB30D], NFKD: [0x1103, 0x1162, 0x11B4] }, -{ source: [0xB30E], NFC: [0xB30E], NFD: [0x1103, 0x1162, 0x11B5], NFKC: [0xB30E], NFKD: [0x1103, 0x1162, 0x11B5] }, -{ source: [0xB30F], NFC: [0xB30F], NFD: [0x1103, 0x1162, 0x11B6], NFKC: [0xB30F], NFKD: [0x1103, 0x1162, 0x11B6] }, -{ source: [0xB310], NFC: [0xB310], NFD: [0x1103, 0x1162, 0x11B7], NFKC: [0xB310], NFKD: [0x1103, 0x1162, 0x11B7] }, -{ source: [0xB311], NFC: [0xB311], NFD: [0x1103, 0x1162, 0x11B8], NFKC: [0xB311], NFKD: [0x1103, 0x1162, 0x11B8] }, -{ source: [0xB312], NFC: [0xB312], NFD: [0x1103, 0x1162, 0x11B9], NFKC: [0xB312], NFKD: [0x1103, 0x1162, 0x11B9] }, -{ source: [0xB313], NFC: [0xB313], NFD: [0x1103, 0x1162, 0x11BA], NFKC: [0xB313], NFKD: [0x1103, 0x1162, 0x11BA] }, -{ source: [0xB314], NFC: [0xB314], NFD: [0x1103, 0x1162, 0x11BB], NFKC: [0xB314], NFKD: [0x1103, 0x1162, 0x11BB] }, -{ source: [0xB315], NFC: [0xB315], NFD: [0x1103, 0x1162, 0x11BC], NFKC: [0xB315], NFKD: [0x1103, 0x1162, 0x11BC] }, -{ source: [0xB316], NFC: [0xB316], NFD: [0x1103, 0x1162, 0x11BD], NFKC: [0xB316], NFKD: [0x1103, 0x1162, 0x11BD] }, -{ source: [0xB317], NFC: [0xB317], NFD: [0x1103, 0x1162, 0x11BE], NFKC: [0xB317], NFKD: [0x1103, 0x1162, 0x11BE] }, -{ source: [0xB318], NFC: [0xB318], NFD: [0x1103, 0x1162, 0x11BF], NFKC: [0xB318], NFKD: [0x1103, 0x1162, 0x11BF] }, -{ source: [0xB319], NFC: [0xB319], NFD: [0x1103, 0x1162, 0x11C0], NFKC: [0xB319], NFKD: [0x1103, 0x1162, 0x11C0] }, -{ source: [0xB31A], NFC: [0xB31A], NFD: [0x1103, 0x1162, 0x11C1], NFKC: [0xB31A], NFKD: [0x1103, 0x1162, 0x11C1] }, -{ source: [0xB31B], NFC: [0xB31B], NFD: [0x1103, 0x1162, 0x11C2], NFKC: [0xB31B], NFKD: [0x1103, 0x1162, 0x11C2] }, -{ source: [0xB31C], NFC: [0xB31C], NFD: [0x1103, 0x1163], NFKC: [0xB31C], NFKD: [0x1103, 0x1163] }, -{ source: [0xB31D], NFC: [0xB31D], NFD: [0x1103, 0x1163, 0x11A8], NFKC: [0xB31D], NFKD: [0x1103, 0x1163, 0x11A8] }, -{ source: [0xB31E], NFC: [0xB31E], NFD: [0x1103, 0x1163, 0x11A9], NFKC: [0xB31E], NFKD: [0x1103, 0x1163, 0x11A9] }, -{ source: [0xB31F], NFC: [0xB31F], NFD: [0x1103, 0x1163, 0x11AA], NFKC: [0xB31F], NFKD: [0x1103, 0x1163, 0x11AA] }, -{ source: [0xB320], NFC: [0xB320], NFD: [0x1103, 0x1163, 0x11AB], NFKC: [0xB320], NFKD: [0x1103, 0x1163, 0x11AB] }, -{ source: [0xB321], NFC: [0xB321], NFD: [0x1103, 0x1163, 0x11AC], NFKC: [0xB321], NFKD: [0x1103, 0x1163, 0x11AC] }, -{ source: [0xB322], NFC: [0xB322], NFD: [0x1103, 0x1163, 0x11AD], NFKC: [0xB322], NFKD: [0x1103, 0x1163, 0x11AD] }, -{ source: [0xB323], NFC: [0xB323], NFD: [0x1103, 0x1163, 0x11AE], NFKC: [0xB323], NFKD: [0x1103, 0x1163, 0x11AE] }, -{ source: [0xB324], NFC: [0xB324], NFD: [0x1103, 0x1163, 0x11AF], NFKC: [0xB324], NFKD: [0x1103, 0x1163, 0x11AF] }, -{ source: [0xB325], NFC: [0xB325], NFD: [0x1103, 0x1163, 0x11B0], NFKC: [0xB325], NFKD: [0x1103, 0x1163, 0x11B0] }, -{ source: [0xB326], NFC: [0xB326], NFD: [0x1103, 0x1163, 0x11B1], NFKC: [0xB326], NFKD: [0x1103, 0x1163, 0x11B1] }, -{ source: [0xB327], NFC: [0xB327], NFD: [0x1103, 0x1163, 0x11B2], NFKC: [0xB327], NFKD: [0x1103, 0x1163, 0x11B2] }, -{ source: [0xB328], NFC: [0xB328], NFD: [0x1103, 0x1163, 0x11B3], NFKC: [0xB328], NFKD: [0x1103, 0x1163, 0x11B3] }, -{ source: [0xB329], NFC: [0xB329], NFD: [0x1103, 0x1163, 0x11B4], NFKC: [0xB329], NFKD: [0x1103, 0x1163, 0x11B4] }, -{ source: [0xB32A], NFC: [0xB32A], NFD: [0x1103, 0x1163, 0x11B5], NFKC: [0xB32A], NFKD: [0x1103, 0x1163, 0x11B5] }, -{ source: [0xB32B], NFC: [0xB32B], NFD: [0x1103, 0x1163, 0x11B6], NFKC: [0xB32B], NFKD: [0x1103, 0x1163, 0x11B6] }, -{ source: [0xB32C], NFC: [0xB32C], NFD: [0x1103, 0x1163, 0x11B7], NFKC: [0xB32C], NFKD: [0x1103, 0x1163, 0x11B7] }, -{ source: [0xB32D], NFC: [0xB32D], NFD: [0x1103, 0x1163, 0x11B8], NFKC: [0xB32D], NFKD: [0x1103, 0x1163, 0x11B8] }, -{ source: [0xB32E], NFC: [0xB32E], NFD: [0x1103, 0x1163, 0x11B9], NFKC: [0xB32E], NFKD: [0x1103, 0x1163, 0x11B9] }, -{ source: [0xB32F], NFC: [0xB32F], NFD: [0x1103, 0x1163, 0x11BA], NFKC: [0xB32F], NFKD: [0x1103, 0x1163, 0x11BA] }, -{ source: [0xB330], NFC: [0xB330], NFD: [0x1103, 0x1163, 0x11BB], NFKC: [0xB330], NFKD: [0x1103, 0x1163, 0x11BB] }, -{ source: [0xB331], NFC: [0xB331], NFD: [0x1103, 0x1163, 0x11BC], NFKC: [0xB331], NFKD: [0x1103, 0x1163, 0x11BC] }, -{ source: [0xB332], NFC: [0xB332], NFD: [0x1103, 0x1163, 0x11BD], NFKC: [0xB332], NFKD: [0x1103, 0x1163, 0x11BD] }, -{ source: [0xB333], NFC: [0xB333], NFD: [0x1103, 0x1163, 0x11BE], NFKC: [0xB333], NFKD: [0x1103, 0x1163, 0x11BE] }, -{ source: [0xB334], NFC: [0xB334], NFD: [0x1103, 0x1163, 0x11BF], NFKC: [0xB334], NFKD: [0x1103, 0x1163, 0x11BF] }, -{ source: [0xB335], NFC: [0xB335], NFD: [0x1103, 0x1163, 0x11C0], NFKC: [0xB335], NFKD: [0x1103, 0x1163, 0x11C0] }, -{ source: [0xB336], NFC: [0xB336], NFD: [0x1103, 0x1163, 0x11C1], NFKC: [0xB336], NFKD: [0x1103, 0x1163, 0x11C1] }, -{ source: [0xB337], NFC: [0xB337], NFD: [0x1103, 0x1163, 0x11C2], NFKC: [0xB337], NFKD: [0x1103, 0x1163, 0x11C2] }, -{ source: [0xB338], NFC: [0xB338], NFD: [0x1103, 0x1164], NFKC: [0xB338], NFKD: [0x1103, 0x1164] }, -{ source: [0xB339], NFC: [0xB339], NFD: [0x1103, 0x1164, 0x11A8], NFKC: [0xB339], NFKD: [0x1103, 0x1164, 0x11A8] }, -{ source: [0xB33A], NFC: [0xB33A], NFD: [0x1103, 0x1164, 0x11A9], NFKC: [0xB33A], NFKD: [0x1103, 0x1164, 0x11A9] }, -{ source: [0xB33B], NFC: [0xB33B], NFD: [0x1103, 0x1164, 0x11AA], NFKC: [0xB33B], NFKD: [0x1103, 0x1164, 0x11AA] }, -{ source: [0xB33C], NFC: [0xB33C], NFD: [0x1103, 0x1164, 0x11AB], NFKC: [0xB33C], NFKD: [0x1103, 0x1164, 0x11AB] }, -{ source: [0xB33D], NFC: [0xB33D], NFD: [0x1103, 0x1164, 0x11AC], NFKC: [0xB33D], NFKD: [0x1103, 0x1164, 0x11AC] }, -{ source: [0xB33E], NFC: [0xB33E], NFD: [0x1103, 0x1164, 0x11AD], NFKC: [0xB33E], NFKD: [0x1103, 0x1164, 0x11AD] }, -{ source: [0xB33F], NFC: [0xB33F], NFD: [0x1103, 0x1164, 0x11AE], NFKC: [0xB33F], NFKD: [0x1103, 0x1164, 0x11AE] }, -{ source: [0xB340], NFC: [0xB340], NFD: [0x1103, 0x1164, 0x11AF], NFKC: [0xB340], NFKD: [0x1103, 0x1164, 0x11AF] }, -{ source: [0xB341], NFC: [0xB341], NFD: [0x1103, 0x1164, 0x11B0], NFKC: [0xB341], NFKD: [0x1103, 0x1164, 0x11B0] }, -{ source: [0xB342], NFC: [0xB342], NFD: [0x1103, 0x1164, 0x11B1], NFKC: [0xB342], NFKD: [0x1103, 0x1164, 0x11B1] }, -{ source: [0xB343], NFC: [0xB343], NFD: [0x1103, 0x1164, 0x11B2], NFKC: [0xB343], NFKD: [0x1103, 0x1164, 0x11B2] }, -{ source: [0xB344], NFC: [0xB344], NFD: [0x1103, 0x1164, 0x11B3], NFKC: [0xB344], NFKD: [0x1103, 0x1164, 0x11B3] }, -{ source: [0xB345], NFC: [0xB345], NFD: [0x1103, 0x1164, 0x11B4], NFKC: [0xB345], NFKD: [0x1103, 0x1164, 0x11B4] }, -{ source: [0xB346], NFC: [0xB346], NFD: [0x1103, 0x1164, 0x11B5], NFKC: [0xB346], NFKD: [0x1103, 0x1164, 0x11B5] }, -{ source: [0xB347], NFC: [0xB347], NFD: [0x1103, 0x1164, 0x11B6], NFKC: [0xB347], NFKD: [0x1103, 0x1164, 0x11B6] }, -{ source: [0xB348], NFC: [0xB348], NFD: [0x1103, 0x1164, 0x11B7], NFKC: [0xB348], NFKD: [0x1103, 0x1164, 0x11B7] }, -{ source: [0xB349], NFC: [0xB349], NFD: [0x1103, 0x1164, 0x11B8], NFKC: [0xB349], NFKD: [0x1103, 0x1164, 0x11B8] }, -{ source: [0xB34A], NFC: [0xB34A], NFD: [0x1103, 0x1164, 0x11B9], NFKC: [0xB34A], NFKD: [0x1103, 0x1164, 0x11B9] }, -{ source: [0xB34B], NFC: [0xB34B], NFD: [0x1103, 0x1164, 0x11BA], NFKC: [0xB34B], NFKD: [0x1103, 0x1164, 0x11BA] }, -{ source: [0xB34C], NFC: [0xB34C], NFD: [0x1103, 0x1164, 0x11BB], NFKC: [0xB34C], NFKD: [0x1103, 0x1164, 0x11BB] }, -{ source: [0xB34D], NFC: [0xB34D], NFD: [0x1103, 0x1164, 0x11BC], NFKC: [0xB34D], NFKD: [0x1103, 0x1164, 0x11BC] }, -{ source: [0xB34E], NFC: [0xB34E], NFD: [0x1103, 0x1164, 0x11BD], NFKC: [0xB34E], NFKD: [0x1103, 0x1164, 0x11BD] }, -{ source: [0xB34F], NFC: [0xB34F], NFD: [0x1103, 0x1164, 0x11BE], NFKC: [0xB34F], NFKD: [0x1103, 0x1164, 0x11BE] }, -{ source: [0xB350], NFC: [0xB350], NFD: [0x1103, 0x1164, 0x11BF], NFKC: [0xB350], NFKD: [0x1103, 0x1164, 0x11BF] }, -{ source: [0xB351], NFC: [0xB351], NFD: [0x1103, 0x1164, 0x11C0], NFKC: [0xB351], NFKD: [0x1103, 0x1164, 0x11C0] }, -{ source: [0xB352], NFC: [0xB352], NFD: [0x1103, 0x1164, 0x11C1], NFKC: [0xB352], NFKD: [0x1103, 0x1164, 0x11C1] }, -{ source: [0xB353], NFC: [0xB353], NFD: [0x1103, 0x1164, 0x11C2], NFKC: [0xB353], NFKD: [0x1103, 0x1164, 0x11C2] }, -{ source: [0xB354], NFC: [0xB354], NFD: [0x1103, 0x1165], NFKC: [0xB354], NFKD: [0x1103, 0x1165] }, -{ source: [0xB355], NFC: [0xB355], NFD: [0x1103, 0x1165, 0x11A8], NFKC: [0xB355], NFKD: [0x1103, 0x1165, 0x11A8] }, -{ source: [0xB356], NFC: [0xB356], NFD: [0x1103, 0x1165, 0x11A9], NFKC: [0xB356], NFKD: [0x1103, 0x1165, 0x11A9] }, -{ source: [0xB357], NFC: [0xB357], NFD: [0x1103, 0x1165, 0x11AA], NFKC: [0xB357], NFKD: [0x1103, 0x1165, 0x11AA] }, -{ source: [0xB358], NFC: [0xB358], NFD: [0x1103, 0x1165, 0x11AB], NFKC: [0xB358], NFKD: [0x1103, 0x1165, 0x11AB] }, -{ source: [0xB359], NFC: [0xB359], NFD: [0x1103, 0x1165, 0x11AC], NFKC: [0xB359], NFKD: [0x1103, 0x1165, 0x11AC] }, -{ source: [0xB35A], NFC: [0xB35A], NFD: [0x1103, 0x1165, 0x11AD], NFKC: [0xB35A], NFKD: [0x1103, 0x1165, 0x11AD] }, -{ source: [0xB35B], NFC: [0xB35B], NFD: [0x1103, 0x1165, 0x11AE], NFKC: [0xB35B], NFKD: [0x1103, 0x1165, 0x11AE] }, -{ source: [0xB35C], NFC: [0xB35C], NFD: [0x1103, 0x1165, 0x11AF], NFKC: [0xB35C], NFKD: [0x1103, 0x1165, 0x11AF] }, -{ source: [0xB35D], NFC: [0xB35D], NFD: [0x1103, 0x1165, 0x11B0], NFKC: [0xB35D], NFKD: [0x1103, 0x1165, 0x11B0] }, -{ source: [0xB35E], NFC: [0xB35E], NFD: [0x1103, 0x1165, 0x11B1], NFKC: [0xB35E], NFKD: [0x1103, 0x1165, 0x11B1] }, -{ source: [0xB35F], NFC: [0xB35F], NFD: [0x1103, 0x1165, 0x11B2], NFKC: [0xB35F], NFKD: [0x1103, 0x1165, 0x11B2] }, -{ source: [0xB360], NFC: [0xB360], NFD: [0x1103, 0x1165, 0x11B3], NFKC: [0xB360], NFKD: [0x1103, 0x1165, 0x11B3] }, -{ source: [0xB361], NFC: [0xB361], NFD: [0x1103, 0x1165, 0x11B4], NFKC: [0xB361], NFKD: [0x1103, 0x1165, 0x11B4] }, -{ source: [0xB362], NFC: [0xB362], NFD: [0x1103, 0x1165, 0x11B5], NFKC: [0xB362], NFKD: [0x1103, 0x1165, 0x11B5] }, -{ source: [0xB363], NFC: [0xB363], NFD: [0x1103, 0x1165, 0x11B6], NFKC: [0xB363], NFKD: [0x1103, 0x1165, 0x11B6] }, -{ source: [0xB364], NFC: [0xB364], NFD: [0x1103, 0x1165, 0x11B7], NFKC: [0xB364], NFKD: [0x1103, 0x1165, 0x11B7] }, -{ source: [0xB365], NFC: [0xB365], NFD: [0x1103, 0x1165, 0x11B8], NFKC: [0xB365], NFKD: [0x1103, 0x1165, 0x11B8] }, -{ source: [0xB366], NFC: [0xB366], NFD: [0x1103, 0x1165, 0x11B9], NFKC: [0xB366], NFKD: [0x1103, 0x1165, 0x11B9] }, -{ source: [0xB367], NFC: [0xB367], NFD: [0x1103, 0x1165, 0x11BA], NFKC: [0xB367], NFKD: [0x1103, 0x1165, 0x11BA] }, -{ source: [0xB368], NFC: [0xB368], NFD: [0x1103, 0x1165, 0x11BB], NFKC: [0xB368], NFKD: [0x1103, 0x1165, 0x11BB] }, -{ source: [0xB369], NFC: [0xB369], NFD: [0x1103, 0x1165, 0x11BC], NFKC: [0xB369], NFKD: [0x1103, 0x1165, 0x11BC] }, -{ source: [0xB36A], NFC: [0xB36A], NFD: [0x1103, 0x1165, 0x11BD], NFKC: [0xB36A], NFKD: [0x1103, 0x1165, 0x11BD] }, -{ source: [0xB36B], NFC: [0xB36B], NFD: [0x1103, 0x1165, 0x11BE], NFKC: [0xB36B], NFKD: [0x1103, 0x1165, 0x11BE] }, -{ source: [0xB36C], NFC: [0xB36C], NFD: [0x1103, 0x1165, 0x11BF], NFKC: [0xB36C], NFKD: [0x1103, 0x1165, 0x11BF] }, -{ source: [0xB36D], NFC: [0xB36D], NFD: [0x1103, 0x1165, 0x11C0], NFKC: [0xB36D], NFKD: [0x1103, 0x1165, 0x11C0] }, -{ source: [0xB36E], NFC: [0xB36E], NFD: [0x1103, 0x1165, 0x11C1], NFKC: [0xB36E], NFKD: [0x1103, 0x1165, 0x11C1] }, -{ source: [0xB36F], NFC: [0xB36F], NFD: [0x1103, 0x1165, 0x11C2], NFKC: [0xB36F], NFKD: [0x1103, 0x1165, 0x11C2] }, -{ source: [0xB370], NFC: [0xB370], NFD: [0x1103, 0x1166], NFKC: [0xB370], NFKD: [0x1103, 0x1166] }, -{ source: [0xB371], NFC: [0xB371], NFD: [0x1103, 0x1166, 0x11A8], NFKC: [0xB371], NFKD: [0x1103, 0x1166, 0x11A8] }, -{ source: [0xB372], NFC: [0xB372], NFD: [0x1103, 0x1166, 0x11A9], NFKC: [0xB372], NFKD: [0x1103, 0x1166, 0x11A9] }, -{ source: [0xB373], NFC: [0xB373], NFD: [0x1103, 0x1166, 0x11AA], NFKC: [0xB373], NFKD: [0x1103, 0x1166, 0x11AA] }, -{ source: [0xB374], NFC: [0xB374], NFD: [0x1103, 0x1166, 0x11AB], NFKC: [0xB374], NFKD: [0x1103, 0x1166, 0x11AB] }, -{ source: [0xB375], NFC: [0xB375], NFD: [0x1103, 0x1166, 0x11AC], NFKC: [0xB375], NFKD: [0x1103, 0x1166, 0x11AC] }, -{ source: [0xB376], NFC: [0xB376], NFD: [0x1103, 0x1166, 0x11AD], NFKC: [0xB376], NFKD: [0x1103, 0x1166, 0x11AD] }, -{ source: [0xB377], NFC: [0xB377], NFD: [0x1103, 0x1166, 0x11AE], NFKC: [0xB377], NFKD: [0x1103, 0x1166, 0x11AE] }, -{ source: [0xB378], NFC: [0xB378], NFD: [0x1103, 0x1166, 0x11AF], NFKC: [0xB378], NFKD: [0x1103, 0x1166, 0x11AF] }, -{ source: [0xB379], NFC: [0xB379], NFD: [0x1103, 0x1166, 0x11B0], NFKC: [0xB379], NFKD: [0x1103, 0x1166, 0x11B0] }, -{ source: [0xB37A], NFC: [0xB37A], NFD: [0x1103, 0x1166, 0x11B1], NFKC: [0xB37A], NFKD: [0x1103, 0x1166, 0x11B1] }, -{ source: [0xB37B], NFC: [0xB37B], NFD: [0x1103, 0x1166, 0x11B2], NFKC: [0xB37B], NFKD: [0x1103, 0x1166, 0x11B2] }, -{ source: [0xB37C], NFC: [0xB37C], NFD: [0x1103, 0x1166, 0x11B3], NFKC: [0xB37C], NFKD: [0x1103, 0x1166, 0x11B3] }, -{ source: [0xB37D], NFC: [0xB37D], NFD: [0x1103, 0x1166, 0x11B4], NFKC: [0xB37D], NFKD: [0x1103, 0x1166, 0x11B4] }, -{ source: [0xB37E], NFC: [0xB37E], NFD: [0x1103, 0x1166, 0x11B5], NFKC: [0xB37E], NFKD: [0x1103, 0x1166, 0x11B5] }, -{ source: [0xB37F], NFC: [0xB37F], NFD: [0x1103, 0x1166, 0x11B6], NFKC: [0xB37F], NFKD: [0x1103, 0x1166, 0x11B6] }, -{ source: [0xB380], NFC: [0xB380], NFD: [0x1103, 0x1166, 0x11B7], NFKC: [0xB380], NFKD: [0x1103, 0x1166, 0x11B7] }, -{ source: [0xB381], NFC: [0xB381], NFD: [0x1103, 0x1166, 0x11B8], NFKC: [0xB381], NFKD: [0x1103, 0x1166, 0x11B8] }, -{ source: [0xB382], NFC: [0xB382], NFD: [0x1103, 0x1166, 0x11B9], NFKC: [0xB382], NFKD: [0x1103, 0x1166, 0x11B9] }, -{ source: [0xB383], NFC: [0xB383], NFD: [0x1103, 0x1166, 0x11BA], NFKC: [0xB383], NFKD: [0x1103, 0x1166, 0x11BA] }, -{ source: [0xB384], NFC: [0xB384], NFD: [0x1103, 0x1166, 0x11BB], NFKC: [0xB384], NFKD: [0x1103, 0x1166, 0x11BB] }, -{ source: [0xB385], NFC: [0xB385], NFD: [0x1103, 0x1166, 0x11BC], NFKC: [0xB385], NFKD: [0x1103, 0x1166, 0x11BC] }, -{ source: [0xB386], NFC: [0xB386], NFD: [0x1103, 0x1166, 0x11BD], NFKC: [0xB386], NFKD: [0x1103, 0x1166, 0x11BD] }, -{ source: [0xB387], NFC: [0xB387], NFD: [0x1103, 0x1166, 0x11BE], NFKC: [0xB387], NFKD: [0x1103, 0x1166, 0x11BE] }, -{ source: [0xB388], NFC: [0xB388], NFD: [0x1103, 0x1166, 0x11BF], NFKC: [0xB388], NFKD: [0x1103, 0x1166, 0x11BF] }, -{ source: [0xB389], NFC: [0xB389], NFD: [0x1103, 0x1166, 0x11C0], NFKC: [0xB389], NFKD: [0x1103, 0x1166, 0x11C0] }, -{ source: [0xB38A], NFC: [0xB38A], NFD: [0x1103, 0x1166, 0x11C1], NFKC: [0xB38A], NFKD: [0x1103, 0x1166, 0x11C1] }, -{ source: [0xB38B], NFC: [0xB38B], NFD: [0x1103, 0x1166, 0x11C2], NFKC: [0xB38B], NFKD: [0x1103, 0x1166, 0x11C2] }, -{ source: [0xB38C], NFC: [0xB38C], NFD: [0x1103, 0x1167], NFKC: [0xB38C], NFKD: [0x1103, 0x1167] }, -{ source: [0xB38D], NFC: [0xB38D], NFD: [0x1103, 0x1167, 0x11A8], NFKC: [0xB38D], NFKD: [0x1103, 0x1167, 0x11A8] }, -{ source: [0xB38E], NFC: [0xB38E], NFD: [0x1103, 0x1167, 0x11A9], NFKC: [0xB38E], NFKD: [0x1103, 0x1167, 0x11A9] }, -{ source: [0xB38F], NFC: [0xB38F], NFD: [0x1103, 0x1167, 0x11AA], NFKC: [0xB38F], NFKD: [0x1103, 0x1167, 0x11AA] }, -{ source: [0xB390], NFC: [0xB390], NFD: [0x1103, 0x1167, 0x11AB], NFKC: [0xB390], NFKD: [0x1103, 0x1167, 0x11AB] }, -{ source: [0xB391], NFC: [0xB391], NFD: [0x1103, 0x1167, 0x11AC], NFKC: [0xB391], NFKD: [0x1103, 0x1167, 0x11AC] }, -{ source: [0xB392], NFC: [0xB392], NFD: [0x1103, 0x1167, 0x11AD], NFKC: [0xB392], NFKD: [0x1103, 0x1167, 0x11AD] }, -{ source: [0xB393], NFC: [0xB393], NFD: [0x1103, 0x1167, 0x11AE], NFKC: [0xB393], NFKD: [0x1103, 0x1167, 0x11AE] }, -{ source: [0xB394], NFC: [0xB394], NFD: [0x1103, 0x1167, 0x11AF], NFKC: [0xB394], NFKD: [0x1103, 0x1167, 0x11AF] }, -{ source: [0xB395], NFC: [0xB395], NFD: [0x1103, 0x1167, 0x11B0], NFKC: [0xB395], NFKD: [0x1103, 0x1167, 0x11B0] }, -{ source: [0xB396], NFC: [0xB396], NFD: [0x1103, 0x1167, 0x11B1], NFKC: [0xB396], NFKD: [0x1103, 0x1167, 0x11B1] }, -{ source: [0xB397], NFC: [0xB397], NFD: [0x1103, 0x1167, 0x11B2], NFKC: [0xB397], NFKD: [0x1103, 0x1167, 0x11B2] }, -{ source: [0xB398], NFC: [0xB398], NFD: [0x1103, 0x1167, 0x11B3], NFKC: [0xB398], NFKD: [0x1103, 0x1167, 0x11B3] }, -{ source: [0xB399], NFC: [0xB399], NFD: [0x1103, 0x1167, 0x11B4], NFKC: [0xB399], NFKD: [0x1103, 0x1167, 0x11B4] }, -{ source: [0xB39A], NFC: [0xB39A], NFD: [0x1103, 0x1167, 0x11B5], NFKC: [0xB39A], NFKD: [0x1103, 0x1167, 0x11B5] }, -{ source: [0xB39B], NFC: [0xB39B], NFD: [0x1103, 0x1167, 0x11B6], NFKC: [0xB39B], NFKD: [0x1103, 0x1167, 0x11B6] }, -{ source: [0xB39C], NFC: [0xB39C], NFD: [0x1103, 0x1167, 0x11B7], NFKC: [0xB39C], NFKD: [0x1103, 0x1167, 0x11B7] }, -{ source: [0xB39D], NFC: [0xB39D], NFD: [0x1103, 0x1167, 0x11B8], NFKC: [0xB39D], NFKD: [0x1103, 0x1167, 0x11B8] }, -{ source: [0xB39E], NFC: [0xB39E], NFD: [0x1103, 0x1167, 0x11B9], NFKC: [0xB39E], NFKD: [0x1103, 0x1167, 0x11B9] }, -{ source: [0xB39F], NFC: [0xB39F], NFD: [0x1103, 0x1167, 0x11BA], NFKC: [0xB39F], NFKD: [0x1103, 0x1167, 0x11BA] }, -{ source: [0xB3A0], NFC: [0xB3A0], NFD: [0x1103, 0x1167, 0x11BB], NFKC: [0xB3A0], NFKD: [0x1103, 0x1167, 0x11BB] }, -{ source: [0xB3A1], NFC: [0xB3A1], NFD: [0x1103, 0x1167, 0x11BC], NFKC: [0xB3A1], NFKD: [0x1103, 0x1167, 0x11BC] }, -{ source: [0xB3A2], NFC: [0xB3A2], NFD: [0x1103, 0x1167, 0x11BD], NFKC: [0xB3A2], NFKD: [0x1103, 0x1167, 0x11BD] }, -{ source: [0xB3A3], NFC: [0xB3A3], NFD: [0x1103, 0x1167, 0x11BE], NFKC: [0xB3A3], NFKD: [0x1103, 0x1167, 0x11BE] }, -{ source: [0xB3A4], NFC: [0xB3A4], NFD: [0x1103, 0x1167, 0x11BF], NFKC: [0xB3A4], NFKD: [0x1103, 0x1167, 0x11BF] }, -{ source: [0xB3A5], NFC: [0xB3A5], NFD: [0x1103, 0x1167, 0x11C0], NFKC: [0xB3A5], NFKD: [0x1103, 0x1167, 0x11C0] }, -{ source: [0xB3A6], NFC: [0xB3A6], NFD: [0x1103, 0x1167, 0x11C1], NFKC: [0xB3A6], NFKD: [0x1103, 0x1167, 0x11C1] }, -{ source: [0xB3A7], NFC: [0xB3A7], NFD: [0x1103, 0x1167, 0x11C2], NFKC: [0xB3A7], NFKD: [0x1103, 0x1167, 0x11C2] }, -{ source: [0xB3A8], NFC: [0xB3A8], NFD: [0x1103, 0x1168], NFKC: [0xB3A8], NFKD: [0x1103, 0x1168] }, -{ source: [0xB3A9], NFC: [0xB3A9], NFD: [0x1103, 0x1168, 0x11A8], NFKC: [0xB3A9], NFKD: [0x1103, 0x1168, 0x11A8] }, -{ source: [0xB3AA], NFC: [0xB3AA], NFD: [0x1103, 0x1168, 0x11A9], NFKC: [0xB3AA], NFKD: [0x1103, 0x1168, 0x11A9] }, -{ source: [0xB3AB], NFC: [0xB3AB], NFD: [0x1103, 0x1168, 0x11AA], NFKC: [0xB3AB], NFKD: [0x1103, 0x1168, 0x11AA] }, -{ source: [0xB3AC], NFC: [0xB3AC], NFD: [0x1103, 0x1168, 0x11AB], NFKC: [0xB3AC], NFKD: [0x1103, 0x1168, 0x11AB] }, -{ source: [0xB3AD], NFC: [0xB3AD], NFD: [0x1103, 0x1168, 0x11AC], NFKC: [0xB3AD], NFKD: [0x1103, 0x1168, 0x11AC] }, -{ source: [0xB3AE], NFC: [0xB3AE], NFD: [0x1103, 0x1168, 0x11AD], NFKC: [0xB3AE], NFKD: [0x1103, 0x1168, 0x11AD] }, -{ source: [0xB3AF], NFC: [0xB3AF], NFD: [0x1103, 0x1168, 0x11AE], NFKC: [0xB3AF], NFKD: [0x1103, 0x1168, 0x11AE] }, -{ source: [0xB3B0], NFC: [0xB3B0], NFD: [0x1103, 0x1168, 0x11AF], NFKC: [0xB3B0], NFKD: [0x1103, 0x1168, 0x11AF] }, -{ source: [0xB3B1], NFC: [0xB3B1], NFD: [0x1103, 0x1168, 0x11B0], NFKC: [0xB3B1], NFKD: [0x1103, 0x1168, 0x11B0] }, -{ source: [0xB3B2], NFC: [0xB3B2], NFD: [0x1103, 0x1168, 0x11B1], NFKC: [0xB3B2], NFKD: [0x1103, 0x1168, 0x11B1] }, -{ source: [0xB3B3], NFC: [0xB3B3], NFD: [0x1103, 0x1168, 0x11B2], NFKC: [0xB3B3], NFKD: [0x1103, 0x1168, 0x11B2] }, -{ source: [0xB3B4], NFC: [0xB3B4], NFD: [0x1103, 0x1168, 0x11B3], NFKC: [0xB3B4], NFKD: [0x1103, 0x1168, 0x11B3] }, -{ source: [0xB3B5], NFC: [0xB3B5], NFD: [0x1103, 0x1168, 0x11B4], NFKC: [0xB3B5], NFKD: [0x1103, 0x1168, 0x11B4] }, -{ source: [0xB3B6], NFC: [0xB3B6], NFD: [0x1103, 0x1168, 0x11B5], NFKC: [0xB3B6], NFKD: [0x1103, 0x1168, 0x11B5] }, -{ source: [0xB3B7], NFC: [0xB3B7], NFD: [0x1103, 0x1168, 0x11B6], NFKC: [0xB3B7], NFKD: [0x1103, 0x1168, 0x11B6] }, -{ source: [0xB3B8], NFC: [0xB3B8], NFD: [0x1103, 0x1168, 0x11B7], NFKC: [0xB3B8], NFKD: [0x1103, 0x1168, 0x11B7] }, -{ source: [0xB3B9], NFC: [0xB3B9], NFD: [0x1103, 0x1168, 0x11B8], NFKC: [0xB3B9], NFKD: [0x1103, 0x1168, 0x11B8] }, -{ source: [0xB3BA], NFC: [0xB3BA], NFD: [0x1103, 0x1168, 0x11B9], NFKC: [0xB3BA], NFKD: [0x1103, 0x1168, 0x11B9] }, -{ source: [0xB3BB], NFC: [0xB3BB], NFD: [0x1103, 0x1168, 0x11BA], NFKC: [0xB3BB], NFKD: [0x1103, 0x1168, 0x11BA] }, -{ source: [0xB3BC], NFC: [0xB3BC], NFD: [0x1103, 0x1168, 0x11BB], NFKC: [0xB3BC], NFKD: [0x1103, 0x1168, 0x11BB] }, -{ source: [0xB3BD], NFC: [0xB3BD], NFD: [0x1103, 0x1168, 0x11BC], NFKC: [0xB3BD], NFKD: [0x1103, 0x1168, 0x11BC] }, -{ source: [0xB3BE], NFC: [0xB3BE], NFD: [0x1103, 0x1168, 0x11BD], NFKC: [0xB3BE], NFKD: [0x1103, 0x1168, 0x11BD] }, -{ source: [0xB3BF], NFC: [0xB3BF], NFD: [0x1103, 0x1168, 0x11BE], NFKC: [0xB3BF], NFKD: [0x1103, 0x1168, 0x11BE] }, -{ source: [0xB3C0], NFC: [0xB3C0], NFD: [0x1103, 0x1168, 0x11BF], NFKC: [0xB3C0], NFKD: [0x1103, 0x1168, 0x11BF] }, -{ source: [0xB3C1], NFC: [0xB3C1], NFD: [0x1103, 0x1168, 0x11C0], NFKC: [0xB3C1], NFKD: [0x1103, 0x1168, 0x11C0] }, -{ source: [0xB3C2], NFC: [0xB3C2], NFD: [0x1103, 0x1168, 0x11C1], NFKC: [0xB3C2], NFKD: [0x1103, 0x1168, 0x11C1] }, -{ source: [0xB3C3], NFC: [0xB3C3], NFD: [0x1103, 0x1168, 0x11C2], NFKC: [0xB3C3], NFKD: [0x1103, 0x1168, 0x11C2] }, -{ source: [0xB3C4], NFC: [0xB3C4], NFD: [0x1103, 0x1169], NFKC: [0xB3C4], NFKD: [0x1103, 0x1169] }, -{ source: [0xB3C5], NFC: [0xB3C5], NFD: [0x1103, 0x1169, 0x11A8], NFKC: [0xB3C5], NFKD: [0x1103, 0x1169, 0x11A8] }, -{ source: [0xB3C6], NFC: [0xB3C6], NFD: [0x1103, 0x1169, 0x11A9], NFKC: [0xB3C6], NFKD: [0x1103, 0x1169, 0x11A9] }, -{ source: [0xB3C7], NFC: [0xB3C7], NFD: [0x1103, 0x1169, 0x11AA], NFKC: [0xB3C7], NFKD: [0x1103, 0x1169, 0x11AA] }, -{ source: [0xB3C8], NFC: [0xB3C8], NFD: [0x1103, 0x1169, 0x11AB], NFKC: [0xB3C8], NFKD: [0x1103, 0x1169, 0x11AB] }, -{ source: [0xB3C9], NFC: [0xB3C9], NFD: [0x1103, 0x1169, 0x11AC], NFKC: [0xB3C9], NFKD: [0x1103, 0x1169, 0x11AC] }, -{ source: [0xB3CA], NFC: [0xB3CA], NFD: [0x1103, 0x1169, 0x11AD], NFKC: [0xB3CA], NFKD: [0x1103, 0x1169, 0x11AD] }, -{ source: [0xB3CB], NFC: [0xB3CB], NFD: [0x1103, 0x1169, 0x11AE], NFKC: [0xB3CB], NFKD: [0x1103, 0x1169, 0x11AE] }, -{ source: [0xB3CC], NFC: [0xB3CC], NFD: [0x1103, 0x1169, 0x11AF], NFKC: [0xB3CC], NFKD: [0x1103, 0x1169, 0x11AF] }, -{ source: [0xB3CD], NFC: [0xB3CD], NFD: [0x1103, 0x1169, 0x11B0], NFKC: [0xB3CD], NFKD: [0x1103, 0x1169, 0x11B0] }, -{ source: [0xB3CE], NFC: [0xB3CE], NFD: [0x1103, 0x1169, 0x11B1], NFKC: [0xB3CE], NFKD: [0x1103, 0x1169, 0x11B1] }, -{ source: [0xB3CF], NFC: [0xB3CF], NFD: [0x1103, 0x1169, 0x11B2], NFKC: [0xB3CF], NFKD: [0x1103, 0x1169, 0x11B2] }, -{ source: [0xB3D0], NFC: [0xB3D0], NFD: [0x1103, 0x1169, 0x11B3], NFKC: [0xB3D0], NFKD: [0x1103, 0x1169, 0x11B3] }, -{ source: [0xB3D1], NFC: [0xB3D1], NFD: [0x1103, 0x1169, 0x11B4], NFKC: [0xB3D1], NFKD: [0x1103, 0x1169, 0x11B4] }, -{ source: [0xB3D2], NFC: [0xB3D2], NFD: [0x1103, 0x1169, 0x11B5], NFKC: [0xB3D2], NFKD: [0x1103, 0x1169, 0x11B5] }, -{ source: [0xB3D3], NFC: [0xB3D3], NFD: [0x1103, 0x1169, 0x11B6], NFKC: [0xB3D3], NFKD: [0x1103, 0x1169, 0x11B6] }, -{ source: [0xB3D4], NFC: [0xB3D4], NFD: [0x1103, 0x1169, 0x11B7], NFKC: [0xB3D4], NFKD: [0x1103, 0x1169, 0x11B7] }, -{ source: [0xB3D5], NFC: [0xB3D5], NFD: [0x1103, 0x1169, 0x11B8], NFKC: [0xB3D5], NFKD: [0x1103, 0x1169, 0x11B8] }, -{ source: [0xB3D6], NFC: [0xB3D6], NFD: [0x1103, 0x1169, 0x11B9], NFKC: [0xB3D6], NFKD: [0x1103, 0x1169, 0x11B9] }, -{ source: [0xB3D7], NFC: [0xB3D7], NFD: [0x1103, 0x1169, 0x11BA], NFKC: [0xB3D7], NFKD: [0x1103, 0x1169, 0x11BA] }, -{ source: [0xB3D8], NFC: [0xB3D8], NFD: [0x1103, 0x1169, 0x11BB], NFKC: [0xB3D8], NFKD: [0x1103, 0x1169, 0x11BB] }, -{ source: [0xB3D9], NFC: [0xB3D9], NFD: [0x1103, 0x1169, 0x11BC], NFKC: [0xB3D9], NFKD: [0x1103, 0x1169, 0x11BC] }, -{ source: [0xB3DA], NFC: [0xB3DA], NFD: [0x1103, 0x1169, 0x11BD], NFKC: [0xB3DA], NFKD: [0x1103, 0x1169, 0x11BD] }, -{ source: [0xB3DB], NFC: [0xB3DB], NFD: [0x1103, 0x1169, 0x11BE], NFKC: [0xB3DB], NFKD: [0x1103, 0x1169, 0x11BE] }, -{ source: [0xB3DC], NFC: [0xB3DC], NFD: [0x1103, 0x1169, 0x11BF], NFKC: [0xB3DC], NFKD: [0x1103, 0x1169, 0x11BF] }, -{ source: [0xB3DD], NFC: [0xB3DD], NFD: [0x1103, 0x1169, 0x11C0], NFKC: [0xB3DD], NFKD: [0x1103, 0x1169, 0x11C0] }, -{ source: [0xB3DE], NFC: [0xB3DE], NFD: [0x1103, 0x1169, 0x11C1], NFKC: [0xB3DE], NFKD: [0x1103, 0x1169, 0x11C1] }, -{ source: [0xB3DF], NFC: [0xB3DF], NFD: [0x1103, 0x1169, 0x11C2], NFKC: [0xB3DF], NFKD: [0x1103, 0x1169, 0x11C2] }, -{ source: [0xB3E0], NFC: [0xB3E0], NFD: [0x1103, 0x116A], NFKC: [0xB3E0], NFKD: [0x1103, 0x116A] }, -{ source: [0xB3E1], NFC: [0xB3E1], NFD: [0x1103, 0x116A, 0x11A8], NFKC: [0xB3E1], NFKD: [0x1103, 0x116A, 0x11A8] }, -{ source: [0xB3E2], NFC: [0xB3E2], NFD: [0x1103, 0x116A, 0x11A9], NFKC: [0xB3E2], NFKD: [0x1103, 0x116A, 0x11A9] }, -{ source: [0xB3E3], NFC: [0xB3E3], NFD: [0x1103, 0x116A, 0x11AA], NFKC: [0xB3E3], NFKD: [0x1103, 0x116A, 0x11AA] }, -{ source: [0xB3E4], NFC: [0xB3E4], NFD: [0x1103, 0x116A, 0x11AB], NFKC: [0xB3E4], NFKD: [0x1103, 0x116A, 0x11AB] }, -{ source: [0xB3E5], NFC: [0xB3E5], NFD: [0x1103, 0x116A, 0x11AC], NFKC: [0xB3E5], NFKD: [0x1103, 0x116A, 0x11AC] }, -{ source: [0xB3E6], NFC: [0xB3E6], NFD: [0x1103, 0x116A, 0x11AD], NFKC: [0xB3E6], NFKD: [0x1103, 0x116A, 0x11AD] }, -{ source: [0xB3E7], NFC: [0xB3E7], NFD: [0x1103, 0x116A, 0x11AE], NFKC: [0xB3E7], NFKD: [0x1103, 0x116A, 0x11AE] }, -{ source: [0xB3E8], NFC: [0xB3E8], NFD: [0x1103, 0x116A, 0x11AF], NFKC: [0xB3E8], NFKD: [0x1103, 0x116A, 0x11AF] }, -{ source: [0xB3E9], NFC: [0xB3E9], NFD: [0x1103, 0x116A, 0x11B0], NFKC: [0xB3E9], NFKD: [0x1103, 0x116A, 0x11B0] }, -{ source: [0xB3EA], NFC: [0xB3EA], NFD: [0x1103, 0x116A, 0x11B1], NFKC: [0xB3EA], NFKD: [0x1103, 0x116A, 0x11B1] }, -{ source: [0xB3EB], NFC: [0xB3EB], NFD: [0x1103, 0x116A, 0x11B2], NFKC: [0xB3EB], NFKD: [0x1103, 0x116A, 0x11B2] }, -{ source: [0xB3EC], NFC: [0xB3EC], NFD: [0x1103, 0x116A, 0x11B3], NFKC: [0xB3EC], NFKD: [0x1103, 0x116A, 0x11B3] }, -{ source: [0xB3ED], NFC: [0xB3ED], NFD: [0x1103, 0x116A, 0x11B4], NFKC: [0xB3ED], NFKD: [0x1103, 0x116A, 0x11B4] }, -{ source: [0xB3EE], NFC: [0xB3EE], NFD: [0x1103, 0x116A, 0x11B5], NFKC: [0xB3EE], NFKD: [0x1103, 0x116A, 0x11B5] }, -{ source: [0xB3EF], NFC: [0xB3EF], NFD: [0x1103, 0x116A, 0x11B6], NFKC: [0xB3EF], NFKD: [0x1103, 0x116A, 0x11B6] }, -{ source: [0xB3F0], NFC: [0xB3F0], NFD: [0x1103, 0x116A, 0x11B7], NFKC: [0xB3F0], NFKD: [0x1103, 0x116A, 0x11B7] }, -{ source: [0xB3F1], NFC: [0xB3F1], NFD: [0x1103, 0x116A, 0x11B8], NFKC: [0xB3F1], NFKD: [0x1103, 0x116A, 0x11B8] }, -{ source: [0xB3F2], NFC: [0xB3F2], NFD: [0x1103, 0x116A, 0x11B9], NFKC: [0xB3F2], NFKD: [0x1103, 0x116A, 0x11B9] }, -{ source: [0xB3F3], NFC: [0xB3F3], NFD: [0x1103, 0x116A, 0x11BA], NFKC: [0xB3F3], NFKD: [0x1103, 0x116A, 0x11BA] }, -{ source: [0xB3F4], NFC: [0xB3F4], NFD: [0x1103, 0x116A, 0x11BB], NFKC: [0xB3F4], NFKD: [0x1103, 0x116A, 0x11BB] }, -{ source: [0xB3F5], NFC: [0xB3F5], NFD: [0x1103, 0x116A, 0x11BC], NFKC: [0xB3F5], NFKD: [0x1103, 0x116A, 0x11BC] }, -{ source: [0xB3F6], NFC: [0xB3F6], NFD: [0x1103, 0x116A, 0x11BD], NFKC: [0xB3F6], NFKD: [0x1103, 0x116A, 0x11BD] }, -{ source: [0xB3F7], NFC: [0xB3F7], NFD: [0x1103, 0x116A, 0x11BE], NFKC: [0xB3F7], NFKD: [0x1103, 0x116A, 0x11BE] }, -{ source: [0xB3F8], NFC: [0xB3F8], NFD: [0x1103, 0x116A, 0x11BF], NFKC: [0xB3F8], NFKD: [0x1103, 0x116A, 0x11BF] }, -{ source: [0xB3F9], NFC: [0xB3F9], NFD: [0x1103, 0x116A, 0x11C0], NFKC: [0xB3F9], NFKD: [0x1103, 0x116A, 0x11C0] }, -{ source: [0xB3FA], NFC: [0xB3FA], NFD: [0x1103, 0x116A, 0x11C1], NFKC: [0xB3FA], NFKD: [0x1103, 0x116A, 0x11C1] }, -{ source: [0xB3FB], NFC: [0xB3FB], NFD: [0x1103, 0x116A, 0x11C2], NFKC: [0xB3FB], NFKD: [0x1103, 0x116A, 0x11C2] }, -{ source: [0xB3FC], NFC: [0xB3FC], NFD: [0x1103, 0x116B], NFKC: [0xB3FC], NFKD: [0x1103, 0x116B] }, -{ source: [0xB3FD], NFC: [0xB3FD], NFD: [0x1103, 0x116B, 0x11A8], NFKC: [0xB3FD], NFKD: [0x1103, 0x116B, 0x11A8] }, -{ source: [0xB3FE], NFC: [0xB3FE], NFD: [0x1103, 0x116B, 0x11A9], NFKC: [0xB3FE], NFKD: [0x1103, 0x116B, 0x11A9] }, -{ source: [0xB3FF], NFC: [0xB3FF], NFD: [0x1103, 0x116B, 0x11AA], NFKC: [0xB3FF], NFKD: [0x1103, 0x116B, 0x11AA] }, -{ source: [0xB400], NFC: [0xB400], NFD: [0x1103, 0x116B, 0x11AB], NFKC: [0xB400], NFKD: [0x1103, 0x116B, 0x11AB] }, -{ source: [0xB401], NFC: [0xB401], NFD: [0x1103, 0x116B, 0x11AC], NFKC: [0xB401], NFKD: [0x1103, 0x116B, 0x11AC] }, -{ source: [0xB402], NFC: [0xB402], NFD: [0x1103, 0x116B, 0x11AD], NFKC: [0xB402], NFKD: [0x1103, 0x116B, 0x11AD] }, -{ source: [0xB403], NFC: [0xB403], NFD: [0x1103, 0x116B, 0x11AE], NFKC: [0xB403], NFKD: [0x1103, 0x116B, 0x11AE] }, -{ source: [0xB404], NFC: [0xB404], NFD: [0x1103, 0x116B, 0x11AF], NFKC: [0xB404], NFKD: [0x1103, 0x116B, 0x11AF] }, -{ source: [0xB405], NFC: [0xB405], NFD: [0x1103, 0x116B, 0x11B0], NFKC: [0xB405], NFKD: [0x1103, 0x116B, 0x11B0] }, -{ source: [0xB406], NFC: [0xB406], NFD: [0x1103, 0x116B, 0x11B1], NFKC: [0xB406], NFKD: [0x1103, 0x116B, 0x11B1] }, -{ source: [0xB407], NFC: [0xB407], NFD: [0x1103, 0x116B, 0x11B2], NFKC: [0xB407], NFKD: [0x1103, 0x116B, 0x11B2] }, -{ source: [0xB408], NFC: [0xB408], NFD: [0x1103, 0x116B, 0x11B3], NFKC: [0xB408], NFKD: [0x1103, 0x116B, 0x11B3] }, -{ source: [0xB409], NFC: [0xB409], NFD: [0x1103, 0x116B, 0x11B4], NFKC: [0xB409], NFKD: [0x1103, 0x116B, 0x11B4] }, -{ source: [0xB40A], NFC: [0xB40A], NFD: [0x1103, 0x116B, 0x11B5], NFKC: [0xB40A], NFKD: [0x1103, 0x116B, 0x11B5] }, -{ source: [0xB40B], NFC: [0xB40B], NFD: [0x1103, 0x116B, 0x11B6], NFKC: [0xB40B], NFKD: [0x1103, 0x116B, 0x11B6] }, -{ source: [0xB40C], NFC: [0xB40C], NFD: [0x1103, 0x116B, 0x11B7], NFKC: [0xB40C], NFKD: [0x1103, 0x116B, 0x11B7] }, -{ source: [0xB40D], NFC: [0xB40D], NFD: [0x1103, 0x116B, 0x11B8], NFKC: [0xB40D], NFKD: [0x1103, 0x116B, 0x11B8] }, -{ source: [0xB40E], NFC: [0xB40E], NFD: [0x1103, 0x116B, 0x11B9], NFKC: [0xB40E], NFKD: [0x1103, 0x116B, 0x11B9] }, -{ source: [0xB40F], NFC: [0xB40F], NFD: [0x1103, 0x116B, 0x11BA], NFKC: [0xB40F], NFKD: [0x1103, 0x116B, 0x11BA] }, -{ source: [0xB410], NFC: [0xB410], NFD: [0x1103, 0x116B, 0x11BB], NFKC: [0xB410], NFKD: [0x1103, 0x116B, 0x11BB] }, -{ source: [0xB411], NFC: [0xB411], NFD: [0x1103, 0x116B, 0x11BC], NFKC: [0xB411], NFKD: [0x1103, 0x116B, 0x11BC] }, -{ source: [0xB412], NFC: [0xB412], NFD: [0x1103, 0x116B, 0x11BD], NFKC: [0xB412], NFKD: [0x1103, 0x116B, 0x11BD] }, -{ source: [0xB413], NFC: [0xB413], NFD: [0x1103, 0x116B, 0x11BE], NFKC: [0xB413], NFKD: [0x1103, 0x116B, 0x11BE] }, -{ source: [0xB414], NFC: [0xB414], NFD: [0x1103, 0x116B, 0x11BF], NFKC: [0xB414], NFKD: [0x1103, 0x116B, 0x11BF] }, -{ source: [0xB415], NFC: [0xB415], NFD: [0x1103, 0x116B, 0x11C0], NFKC: [0xB415], NFKD: [0x1103, 0x116B, 0x11C0] }, -{ source: [0xB416], NFC: [0xB416], NFD: [0x1103, 0x116B, 0x11C1], NFKC: [0xB416], NFKD: [0x1103, 0x116B, 0x11C1] }, -{ source: [0xB417], NFC: [0xB417], NFD: [0x1103, 0x116B, 0x11C2], NFKC: [0xB417], NFKD: [0x1103, 0x116B, 0x11C2] }, -{ source: [0xB418], NFC: [0xB418], NFD: [0x1103, 0x116C], NFKC: [0xB418], NFKD: [0x1103, 0x116C] }, -{ source: [0xB419], NFC: [0xB419], NFD: [0x1103, 0x116C, 0x11A8], NFKC: [0xB419], NFKD: [0x1103, 0x116C, 0x11A8] }, -{ source: [0xB41A], NFC: [0xB41A], NFD: [0x1103, 0x116C, 0x11A9], NFKC: [0xB41A], NFKD: [0x1103, 0x116C, 0x11A9] }, -{ source: [0xB41B], NFC: [0xB41B], NFD: [0x1103, 0x116C, 0x11AA], NFKC: [0xB41B], NFKD: [0x1103, 0x116C, 0x11AA] }, -{ source: [0xB41C], NFC: [0xB41C], NFD: [0x1103, 0x116C, 0x11AB], NFKC: [0xB41C], NFKD: [0x1103, 0x116C, 0x11AB] }, -{ source: [0xB41D], NFC: [0xB41D], NFD: [0x1103, 0x116C, 0x11AC], NFKC: [0xB41D], NFKD: [0x1103, 0x116C, 0x11AC] }, -{ source: [0xB41E], NFC: [0xB41E], NFD: [0x1103, 0x116C, 0x11AD], NFKC: [0xB41E], NFKD: [0x1103, 0x116C, 0x11AD] }, -{ source: [0xB41F], NFC: [0xB41F], NFD: [0x1103, 0x116C, 0x11AE], NFKC: [0xB41F], NFKD: [0x1103, 0x116C, 0x11AE] }, -{ source: [0xB420], NFC: [0xB420], NFD: [0x1103, 0x116C, 0x11AF], NFKC: [0xB420], NFKD: [0x1103, 0x116C, 0x11AF] }, -{ source: [0xB421], NFC: [0xB421], NFD: [0x1103, 0x116C, 0x11B0], NFKC: [0xB421], NFKD: [0x1103, 0x116C, 0x11B0] }, -{ source: [0xB422], NFC: [0xB422], NFD: [0x1103, 0x116C, 0x11B1], NFKC: [0xB422], NFKD: [0x1103, 0x116C, 0x11B1] }, -{ source: [0xB423], NFC: [0xB423], NFD: [0x1103, 0x116C, 0x11B2], NFKC: [0xB423], NFKD: [0x1103, 0x116C, 0x11B2] }, -{ source: [0xB424], NFC: [0xB424], NFD: [0x1103, 0x116C, 0x11B3], NFKC: [0xB424], NFKD: [0x1103, 0x116C, 0x11B3] }, -{ source: [0xB425], NFC: [0xB425], NFD: [0x1103, 0x116C, 0x11B4], NFKC: [0xB425], NFKD: [0x1103, 0x116C, 0x11B4] }, -{ source: [0xB426], NFC: [0xB426], NFD: [0x1103, 0x116C, 0x11B5], NFKC: [0xB426], NFKD: [0x1103, 0x116C, 0x11B5] }, -{ source: [0xB427], NFC: [0xB427], NFD: [0x1103, 0x116C, 0x11B6], NFKC: [0xB427], NFKD: [0x1103, 0x116C, 0x11B6] }, -{ source: [0xB428], NFC: [0xB428], NFD: [0x1103, 0x116C, 0x11B7], NFKC: [0xB428], NFKD: [0x1103, 0x116C, 0x11B7] }, -{ source: [0xB429], NFC: [0xB429], NFD: [0x1103, 0x116C, 0x11B8], NFKC: [0xB429], NFKD: [0x1103, 0x116C, 0x11B8] }, -{ source: [0xB42A], NFC: [0xB42A], NFD: [0x1103, 0x116C, 0x11B9], NFKC: [0xB42A], NFKD: [0x1103, 0x116C, 0x11B9] }, -{ source: [0xB42B], NFC: [0xB42B], NFD: [0x1103, 0x116C, 0x11BA], NFKC: [0xB42B], NFKD: [0x1103, 0x116C, 0x11BA] }, -{ source: [0xB42C], NFC: [0xB42C], NFD: [0x1103, 0x116C, 0x11BB], NFKC: [0xB42C], NFKD: [0x1103, 0x116C, 0x11BB] }, -{ source: [0xB42D], NFC: [0xB42D], NFD: [0x1103, 0x116C, 0x11BC], NFKC: [0xB42D], NFKD: [0x1103, 0x116C, 0x11BC] }, -{ source: [0xB42E], NFC: [0xB42E], NFD: [0x1103, 0x116C, 0x11BD], NFKC: [0xB42E], NFKD: [0x1103, 0x116C, 0x11BD] }, -{ source: [0xB42F], NFC: [0xB42F], NFD: [0x1103, 0x116C, 0x11BE], NFKC: [0xB42F], NFKD: [0x1103, 0x116C, 0x11BE] }, -{ source: [0xB430], NFC: [0xB430], NFD: [0x1103, 0x116C, 0x11BF], NFKC: [0xB430], NFKD: [0x1103, 0x116C, 0x11BF] }, -{ source: [0xB431], NFC: [0xB431], NFD: [0x1103, 0x116C, 0x11C0], NFKC: [0xB431], NFKD: [0x1103, 0x116C, 0x11C0] }, -{ source: [0xB432], NFC: [0xB432], NFD: [0x1103, 0x116C, 0x11C1], NFKC: [0xB432], NFKD: [0x1103, 0x116C, 0x11C1] }, -{ source: [0xB433], NFC: [0xB433], NFD: [0x1103, 0x116C, 0x11C2], NFKC: [0xB433], NFKD: [0x1103, 0x116C, 0x11C2] }, -{ source: [0xB434], NFC: [0xB434], NFD: [0x1103, 0x116D], NFKC: [0xB434], NFKD: [0x1103, 0x116D] }, -{ source: [0xB435], NFC: [0xB435], NFD: [0x1103, 0x116D, 0x11A8], NFKC: [0xB435], NFKD: [0x1103, 0x116D, 0x11A8] }, -{ source: [0xB436], NFC: [0xB436], NFD: [0x1103, 0x116D, 0x11A9], NFKC: [0xB436], NFKD: [0x1103, 0x116D, 0x11A9] }, -{ source: [0xB437], NFC: [0xB437], NFD: [0x1103, 0x116D, 0x11AA], NFKC: [0xB437], NFKD: [0x1103, 0x116D, 0x11AA] }, -{ source: [0xB438], NFC: [0xB438], NFD: [0x1103, 0x116D, 0x11AB], NFKC: [0xB438], NFKD: [0x1103, 0x116D, 0x11AB] }, -{ source: [0xB439], NFC: [0xB439], NFD: [0x1103, 0x116D, 0x11AC], NFKC: [0xB439], NFKD: [0x1103, 0x116D, 0x11AC] }, -{ source: [0xB43A], NFC: [0xB43A], NFD: [0x1103, 0x116D, 0x11AD], NFKC: [0xB43A], NFKD: [0x1103, 0x116D, 0x11AD] }, -{ source: [0xB43B], NFC: [0xB43B], NFD: [0x1103, 0x116D, 0x11AE], NFKC: [0xB43B], NFKD: [0x1103, 0x116D, 0x11AE] }, -{ source: [0xB43C], NFC: [0xB43C], NFD: [0x1103, 0x116D, 0x11AF], NFKC: [0xB43C], NFKD: [0x1103, 0x116D, 0x11AF] }, -{ source: [0xB43D], NFC: [0xB43D], NFD: [0x1103, 0x116D, 0x11B0], NFKC: [0xB43D], NFKD: [0x1103, 0x116D, 0x11B0] }, -{ source: [0xB43E], NFC: [0xB43E], NFD: [0x1103, 0x116D, 0x11B1], NFKC: [0xB43E], NFKD: [0x1103, 0x116D, 0x11B1] }, -{ source: [0xB43F], NFC: [0xB43F], NFD: [0x1103, 0x116D, 0x11B2], NFKC: [0xB43F], NFKD: [0x1103, 0x116D, 0x11B2] }, -{ source: [0xB440], NFC: [0xB440], NFD: [0x1103, 0x116D, 0x11B3], NFKC: [0xB440], NFKD: [0x1103, 0x116D, 0x11B3] }, -{ source: [0xB441], NFC: [0xB441], NFD: [0x1103, 0x116D, 0x11B4], NFKC: [0xB441], NFKD: [0x1103, 0x116D, 0x11B4] }, -{ source: [0xB442], NFC: [0xB442], NFD: [0x1103, 0x116D, 0x11B5], NFKC: [0xB442], NFKD: [0x1103, 0x116D, 0x11B5] }, -{ source: [0xB443], NFC: [0xB443], NFD: [0x1103, 0x116D, 0x11B6], NFKC: [0xB443], NFKD: [0x1103, 0x116D, 0x11B6] }, -{ source: [0xB444], NFC: [0xB444], NFD: [0x1103, 0x116D, 0x11B7], NFKC: [0xB444], NFKD: [0x1103, 0x116D, 0x11B7] }, -{ source: [0xB445], NFC: [0xB445], NFD: [0x1103, 0x116D, 0x11B8], NFKC: [0xB445], NFKD: [0x1103, 0x116D, 0x11B8] }, -{ source: [0xB446], NFC: [0xB446], NFD: [0x1103, 0x116D, 0x11B9], NFKC: [0xB446], NFKD: [0x1103, 0x116D, 0x11B9] }, -{ source: [0xB447], NFC: [0xB447], NFD: [0x1103, 0x116D, 0x11BA], NFKC: [0xB447], NFKD: [0x1103, 0x116D, 0x11BA] }, -{ source: [0xB448], NFC: [0xB448], NFD: [0x1103, 0x116D, 0x11BB], NFKC: [0xB448], NFKD: [0x1103, 0x116D, 0x11BB] }, -{ source: [0xB449], NFC: [0xB449], NFD: [0x1103, 0x116D, 0x11BC], NFKC: [0xB449], NFKD: [0x1103, 0x116D, 0x11BC] }, -{ source: [0xB44A], NFC: [0xB44A], NFD: [0x1103, 0x116D, 0x11BD], NFKC: [0xB44A], NFKD: [0x1103, 0x116D, 0x11BD] }, -{ source: [0xB44B], NFC: [0xB44B], NFD: [0x1103, 0x116D, 0x11BE], NFKC: [0xB44B], NFKD: [0x1103, 0x116D, 0x11BE] }, -{ source: [0xB44C], NFC: [0xB44C], NFD: [0x1103, 0x116D, 0x11BF], NFKC: [0xB44C], NFKD: [0x1103, 0x116D, 0x11BF] }, -{ source: [0xB44D], NFC: [0xB44D], NFD: [0x1103, 0x116D, 0x11C0], NFKC: [0xB44D], NFKD: [0x1103, 0x116D, 0x11C0] }, -{ source: [0xB44E], NFC: [0xB44E], NFD: [0x1103, 0x116D, 0x11C1], NFKC: [0xB44E], NFKD: [0x1103, 0x116D, 0x11C1] }, -{ source: [0xB44F], NFC: [0xB44F], NFD: [0x1103, 0x116D, 0x11C2], NFKC: [0xB44F], NFKD: [0x1103, 0x116D, 0x11C2] }, -{ source: [0xB450], NFC: [0xB450], NFD: [0x1103, 0x116E], NFKC: [0xB450], NFKD: [0x1103, 0x116E] }, -{ source: [0xB451], NFC: [0xB451], NFD: [0x1103, 0x116E, 0x11A8], NFKC: [0xB451], NFKD: [0x1103, 0x116E, 0x11A8] }, -{ source: [0xB452], NFC: [0xB452], NFD: [0x1103, 0x116E, 0x11A9], NFKC: [0xB452], NFKD: [0x1103, 0x116E, 0x11A9] }, -{ source: [0xB453], NFC: [0xB453], NFD: [0x1103, 0x116E, 0x11AA], NFKC: [0xB453], NFKD: [0x1103, 0x116E, 0x11AA] }, -{ source: [0xB454], NFC: [0xB454], NFD: [0x1103, 0x116E, 0x11AB], NFKC: [0xB454], NFKD: [0x1103, 0x116E, 0x11AB] }, -{ source: [0xB455], NFC: [0xB455], NFD: [0x1103, 0x116E, 0x11AC], NFKC: [0xB455], NFKD: [0x1103, 0x116E, 0x11AC] }, -{ source: [0xB456], NFC: [0xB456], NFD: [0x1103, 0x116E, 0x11AD], NFKC: [0xB456], NFKD: [0x1103, 0x116E, 0x11AD] }, -{ source: [0xB457], NFC: [0xB457], NFD: [0x1103, 0x116E, 0x11AE], NFKC: [0xB457], NFKD: [0x1103, 0x116E, 0x11AE] }, -{ source: [0xB458], NFC: [0xB458], NFD: [0x1103, 0x116E, 0x11AF], NFKC: [0xB458], NFKD: [0x1103, 0x116E, 0x11AF] }, -{ source: [0xB459], NFC: [0xB459], NFD: [0x1103, 0x116E, 0x11B0], NFKC: [0xB459], NFKD: [0x1103, 0x116E, 0x11B0] }, -{ source: [0xB45A], NFC: [0xB45A], NFD: [0x1103, 0x116E, 0x11B1], NFKC: [0xB45A], NFKD: [0x1103, 0x116E, 0x11B1] }, -{ source: [0xB45B], NFC: [0xB45B], NFD: [0x1103, 0x116E, 0x11B2], NFKC: [0xB45B], NFKD: [0x1103, 0x116E, 0x11B2] }, -{ source: [0xB45C], NFC: [0xB45C], NFD: [0x1103, 0x116E, 0x11B3], NFKC: [0xB45C], NFKD: [0x1103, 0x116E, 0x11B3] }, -{ source: [0xB45D], NFC: [0xB45D], NFD: [0x1103, 0x116E, 0x11B4], NFKC: [0xB45D], NFKD: [0x1103, 0x116E, 0x11B4] }, -{ source: [0xB45E], NFC: [0xB45E], NFD: [0x1103, 0x116E, 0x11B5], NFKC: [0xB45E], NFKD: [0x1103, 0x116E, 0x11B5] }, -{ source: [0xB45F], NFC: [0xB45F], NFD: [0x1103, 0x116E, 0x11B6], NFKC: [0xB45F], NFKD: [0x1103, 0x116E, 0x11B6] }, -{ source: [0xB460], NFC: [0xB460], NFD: [0x1103, 0x116E, 0x11B7], NFKC: [0xB460], NFKD: [0x1103, 0x116E, 0x11B7] }, -{ source: [0xB461], NFC: [0xB461], NFD: [0x1103, 0x116E, 0x11B8], NFKC: [0xB461], NFKD: [0x1103, 0x116E, 0x11B8] }, -{ source: [0xB462], NFC: [0xB462], NFD: [0x1103, 0x116E, 0x11B9], NFKC: [0xB462], NFKD: [0x1103, 0x116E, 0x11B9] }, -{ source: [0xB463], NFC: [0xB463], NFD: [0x1103, 0x116E, 0x11BA], NFKC: [0xB463], NFKD: [0x1103, 0x116E, 0x11BA] }, -{ source: [0xB464], NFC: [0xB464], NFD: [0x1103, 0x116E, 0x11BB], NFKC: [0xB464], NFKD: [0x1103, 0x116E, 0x11BB] }, -{ source: [0xB465], NFC: [0xB465], NFD: [0x1103, 0x116E, 0x11BC], NFKC: [0xB465], NFKD: [0x1103, 0x116E, 0x11BC] }, -{ source: [0xB466], NFC: [0xB466], NFD: [0x1103, 0x116E, 0x11BD], NFKC: [0xB466], NFKD: [0x1103, 0x116E, 0x11BD] }, -{ source: [0xB467], NFC: [0xB467], NFD: [0x1103, 0x116E, 0x11BE], NFKC: [0xB467], NFKD: [0x1103, 0x116E, 0x11BE] }, -{ source: [0xB468], NFC: [0xB468], NFD: [0x1103, 0x116E, 0x11BF], NFKC: [0xB468], NFKD: [0x1103, 0x116E, 0x11BF] }, -{ source: [0xB469], NFC: [0xB469], NFD: [0x1103, 0x116E, 0x11C0], NFKC: [0xB469], NFKD: [0x1103, 0x116E, 0x11C0] }, -{ source: [0xB46A], NFC: [0xB46A], NFD: [0x1103, 0x116E, 0x11C1], NFKC: [0xB46A], NFKD: [0x1103, 0x116E, 0x11C1] }, -{ source: [0xB46B], NFC: [0xB46B], NFD: [0x1103, 0x116E, 0x11C2], NFKC: [0xB46B], NFKD: [0x1103, 0x116E, 0x11C2] }, -{ source: [0xB46C], NFC: [0xB46C], NFD: [0x1103, 0x116F], NFKC: [0xB46C], NFKD: [0x1103, 0x116F] }, -{ source: [0xB46D], NFC: [0xB46D], NFD: [0x1103, 0x116F, 0x11A8], NFKC: [0xB46D], NFKD: [0x1103, 0x116F, 0x11A8] }, -{ source: [0xB46E], NFC: [0xB46E], NFD: [0x1103, 0x116F, 0x11A9], NFKC: [0xB46E], NFKD: [0x1103, 0x116F, 0x11A9] }, -{ source: [0xB46F], NFC: [0xB46F], NFD: [0x1103, 0x116F, 0x11AA], NFKC: [0xB46F], NFKD: [0x1103, 0x116F, 0x11AA] }, -{ source: [0xB470], NFC: [0xB470], NFD: [0x1103, 0x116F, 0x11AB], NFKC: [0xB470], NFKD: [0x1103, 0x116F, 0x11AB] }, -{ source: [0xB471], NFC: [0xB471], NFD: [0x1103, 0x116F, 0x11AC], NFKC: [0xB471], NFKD: [0x1103, 0x116F, 0x11AC] }, -{ source: [0xB472], NFC: [0xB472], NFD: [0x1103, 0x116F, 0x11AD], NFKC: [0xB472], NFKD: [0x1103, 0x116F, 0x11AD] }, -{ source: [0xB473], NFC: [0xB473], NFD: [0x1103, 0x116F, 0x11AE], NFKC: [0xB473], NFKD: [0x1103, 0x116F, 0x11AE] }, -{ source: [0xB474], NFC: [0xB474], NFD: [0x1103, 0x116F, 0x11AF], NFKC: [0xB474], NFKD: [0x1103, 0x116F, 0x11AF] }, -{ source: [0xB475], NFC: [0xB475], NFD: [0x1103, 0x116F, 0x11B0], NFKC: [0xB475], NFKD: [0x1103, 0x116F, 0x11B0] }, -{ source: [0xB476], NFC: [0xB476], NFD: [0x1103, 0x116F, 0x11B1], NFKC: [0xB476], NFKD: [0x1103, 0x116F, 0x11B1] }, -{ source: [0xB477], NFC: [0xB477], NFD: [0x1103, 0x116F, 0x11B2], NFKC: [0xB477], NFKD: [0x1103, 0x116F, 0x11B2] }, -{ source: [0xB478], NFC: [0xB478], NFD: [0x1103, 0x116F, 0x11B3], NFKC: [0xB478], NFKD: [0x1103, 0x116F, 0x11B3] }, -{ source: [0xB479], NFC: [0xB479], NFD: [0x1103, 0x116F, 0x11B4], NFKC: [0xB479], NFKD: [0x1103, 0x116F, 0x11B4] }, -{ source: [0xB47A], NFC: [0xB47A], NFD: [0x1103, 0x116F, 0x11B5], NFKC: [0xB47A], NFKD: [0x1103, 0x116F, 0x11B5] }, -{ source: [0xB47B], NFC: [0xB47B], NFD: [0x1103, 0x116F, 0x11B6], NFKC: [0xB47B], NFKD: [0x1103, 0x116F, 0x11B6] }, -{ source: [0xB47C], NFC: [0xB47C], NFD: [0x1103, 0x116F, 0x11B7], NFKC: [0xB47C], NFKD: [0x1103, 0x116F, 0x11B7] }, -{ source: [0xB47D], NFC: [0xB47D], NFD: [0x1103, 0x116F, 0x11B8], NFKC: [0xB47D], NFKD: [0x1103, 0x116F, 0x11B8] }, -{ source: [0xB47E], NFC: [0xB47E], NFD: [0x1103, 0x116F, 0x11B9], NFKC: [0xB47E], NFKD: [0x1103, 0x116F, 0x11B9] }, -{ source: [0xB47F], NFC: [0xB47F], NFD: [0x1103, 0x116F, 0x11BA], NFKC: [0xB47F], NFKD: [0x1103, 0x116F, 0x11BA] }, -{ source: [0xB480], NFC: [0xB480], NFD: [0x1103, 0x116F, 0x11BB], NFKC: [0xB480], NFKD: [0x1103, 0x116F, 0x11BB] }, -{ source: [0xB481], NFC: [0xB481], NFD: [0x1103, 0x116F, 0x11BC], NFKC: [0xB481], NFKD: [0x1103, 0x116F, 0x11BC] }, -{ source: [0xB482], NFC: [0xB482], NFD: [0x1103, 0x116F, 0x11BD], NFKC: [0xB482], NFKD: [0x1103, 0x116F, 0x11BD] }, -{ source: [0xB483], NFC: [0xB483], NFD: [0x1103, 0x116F, 0x11BE], NFKC: [0xB483], NFKD: [0x1103, 0x116F, 0x11BE] }, -{ source: [0xB484], NFC: [0xB484], NFD: [0x1103, 0x116F, 0x11BF], NFKC: [0xB484], NFKD: [0x1103, 0x116F, 0x11BF] }, -{ source: [0xB485], NFC: [0xB485], NFD: [0x1103, 0x116F, 0x11C0], NFKC: [0xB485], NFKD: [0x1103, 0x116F, 0x11C0] }, -{ source: [0xB486], NFC: [0xB486], NFD: [0x1103, 0x116F, 0x11C1], NFKC: [0xB486], NFKD: [0x1103, 0x116F, 0x11C1] }, -{ source: [0xB487], NFC: [0xB487], NFD: [0x1103, 0x116F, 0x11C2], NFKC: [0xB487], NFKD: [0x1103, 0x116F, 0x11C2] }, -{ source: [0xB488], NFC: [0xB488], NFD: [0x1103, 0x1170], NFKC: [0xB488], NFKD: [0x1103, 0x1170] }, -{ source: [0xB489], NFC: [0xB489], NFD: [0x1103, 0x1170, 0x11A8], NFKC: [0xB489], NFKD: [0x1103, 0x1170, 0x11A8] }, -{ source: [0xB48A], NFC: [0xB48A], NFD: [0x1103, 0x1170, 0x11A9], NFKC: [0xB48A], NFKD: [0x1103, 0x1170, 0x11A9] }, -{ source: [0xB48B], NFC: [0xB48B], NFD: [0x1103, 0x1170, 0x11AA], NFKC: [0xB48B], NFKD: [0x1103, 0x1170, 0x11AA] }, -{ source: [0xB48C], NFC: [0xB48C], NFD: [0x1103, 0x1170, 0x11AB], NFKC: [0xB48C], NFKD: [0x1103, 0x1170, 0x11AB] }, -{ source: [0xB48D], NFC: [0xB48D], NFD: [0x1103, 0x1170, 0x11AC], NFKC: [0xB48D], NFKD: [0x1103, 0x1170, 0x11AC] }, -{ source: [0xB48E], NFC: [0xB48E], NFD: [0x1103, 0x1170, 0x11AD], NFKC: [0xB48E], NFKD: [0x1103, 0x1170, 0x11AD] }, -{ source: [0xB48F], NFC: [0xB48F], NFD: [0x1103, 0x1170, 0x11AE], NFKC: [0xB48F], NFKD: [0x1103, 0x1170, 0x11AE] }, -{ source: [0xB490], NFC: [0xB490], NFD: [0x1103, 0x1170, 0x11AF], NFKC: [0xB490], NFKD: [0x1103, 0x1170, 0x11AF] }, -{ source: [0xB491], NFC: [0xB491], NFD: [0x1103, 0x1170, 0x11B0], NFKC: [0xB491], NFKD: [0x1103, 0x1170, 0x11B0] }, -{ source: [0xB492], NFC: [0xB492], NFD: [0x1103, 0x1170, 0x11B1], NFKC: [0xB492], NFKD: [0x1103, 0x1170, 0x11B1] }, -{ source: [0xB493], NFC: [0xB493], NFD: [0x1103, 0x1170, 0x11B2], NFKC: [0xB493], NFKD: [0x1103, 0x1170, 0x11B2] }, -{ source: [0xB494], NFC: [0xB494], NFD: [0x1103, 0x1170, 0x11B3], NFKC: [0xB494], NFKD: [0x1103, 0x1170, 0x11B3] }, -{ source: [0xB495], NFC: [0xB495], NFD: [0x1103, 0x1170, 0x11B4], NFKC: [0xB495], NFKD: [0x1103, 0x1170, 0x11B4] }, -{ source: [0xB496], NFC: [0xB496], NFD: [0x1103, 0x1170, 0x11B5], NFKC: [0xB496], NFKD: [0x1103, 0x1170, 0x11B5] }, -{ source: [0xB497], NFC: [0xB497], NFD: [0x1103, 0x1170, 0x11B6], NFKC: [0xB497], NFKD: [0x1103, 0x1170, 0x11B6] }, -{ source: [0xB498], NFC: [0xB498], NFD: [0x1103, 0x1170, 0x11B7], NFKC: [0xB498], NFKD: [0x1103, 0x1170, 0x11B7] }, -{ source: [0xB499], NFC: [0xB499], NFD: [0x1103, 0x1170, 0x11B8], NFKC: [0xB499], NFKD: [0x1103, 0x1170, 0x11B8] }, -{ source: [0xB49A], NFC: [0xB49A], NFD: [0x1103, 0x1170, 0x11B9], NFKC: [0xB49A], NFKD: [0x1103, 0x1170, 0x11B9] }, -{ source: [0xB49B], NFC: [0xB49B], NFD: [0x1103, 0x1170, 0x11BA], NFKC: [0xB49B], NFKD: [0x1103, 0x1170, 0x11BA] }, -{ source: [0xB49C], NFC: [0xB49C], NFD: [0x1103, 0x1170, 0x11BB], NFKC: [0xB49C], NFKD: [0x1103, 0x1170, 0x11BB] }, -{ source: [0xB49D], NFC: [0xB49D], NFD: [0x1103, 0x1170, 0x11BC], NFKC: [0xB49D], NFKD: [0x1103, 0x1170, 0x11BC] }, -{ source: [0xB49E], NFC: [0xB49E], NFD: [0x1103, 0x1170, 0x11BD], NFKC: [0xB49E], NFKD: [0x1103, 0x1170, 0x11BD] }, -{ source: [0xB49F], NFC: [0xB49F], NFD: [0x1103, 0x1170, 0x11BE], NFKC: [0xB49F], NFKD: [0x1103, 0x1170, 0x11BE] }, -{ source: [0xB4A0], NFC: [0xB4A0], NFD: [0x1103, 0x1170, 0x11BF], NFKC: [0xB4A0], NFKD: [0x1103, 0x1170, 0x11BF] }, -{ source: [0xB4A1], NFC: [0xB4A1], NFD: [0x1103, 0x1170, 0x11C0], NFKC: [0xB4A1], NFKD: [0x1103, 0x1170, 0x11C0] }, -{ source: [0xB4A2], NFC: [0xB4A2], NFD: [0x1103, 0x1170, 0x11C1], NFKC: [0xB4A2], NFKD: [0x1103, 0x1170, 0x11C1] }, -{ source: [0xB4A3], NFC: [0xB4A3], NFD: [0x1103, 0x1170, 0x11C2], NFKC: [0xB4A3], NFKD: [0x1103, 0x1170, 0x11C2] }, -{ source: [0xB4A4], NFC: [0xB4A4], NFD: [0x1103, 0x1171], NFKC: [0xB4A4], NFKD: [0x1103, 0x1171] }, -{ source: [0xB4A5], NFC: [0xB4A5], NFD: [0x1103, 0x1171, 0x11A8], NFKC: [0xB4A5], NFKD: [0x1103, 0x1171, 0x11A8] }, -{ source: [0xB4A6], NFC: [0xB4A6], NFD: [0x1103, 0x1171, 0x11A9], NFKC: [0xB4A6], NFKD: [0x1103, 0x1171, 0x11A9] }, -{ source: [0xB4A7], NFC: [0xB4A7], NFD: [0x1103, 0x1171, 0x11AA], NFKC: [0xB4A7], NFKD: [0x1103, 0x1171, 0x11AA] }, -{ source: [0xB4A8], NFC: [0xB4A8], NFD: [0x1103, 0x1171, 0x11AB], NFKC: [0xB4A8], NFKD: [0x1103, 0x1171, 0x11AB] }, -{ source: [0xB4A9], NFC: [0xB4A9], NFD: [0x1103, 0x1171, 0x11AC], NFKC: [0xB4A9], NFKD: [0x1103, 0x1171, 0x11AC] }, -{ source: [0xB4AA], NFC: [0xB4AA], NFD: [0x1103, 0x1171, 0x11AD], NFKC: [0xB4AA], NFKD: [0x1103, 0x1171, 0x11AD] }, -{ source: [0xB4AB], NFC: [0xB4AB], NFD: [0x1103, 0x1171, 0x11AE], NFKC: [0xB4AB], NFKD: [0x1103, 0x1171, 0x11AE] }, -{ source: [0xB4AC], NFC: [0xB4AC], NFD: [0x1103, 0x1171, 0x11AF], NFKC: [0xB4AC], NFKD: [0x1103, 0x1171, 0x11AF] }, -{ source: [0xB4AD], NFC: [0xB4AD], NFD: [0x1103, 0x1171, 0x11B0], NFKC: [0xB4AD], NFKD: [0x1103, 0x1171, 0x11B0] }, -{ source: [0xB4AE], NFC: [0xB4AE], NFD: [0x1103, 0x1171, 0x11B1], NFKC: [0xB4AE], NFKD: [0x1103, 0x1171, 0x11B1] }, -{ source: [0xB4AF], NFC: [0xB4AF], NFD: [0x1103, 0x1171, 0x11B2], NFKC: [0xB4AF], NFKD: [0x1103, 0x1171, 0x11B2] }, -{ source: [0xB4B0], NFC: [0xB4B0], NFD: [0x1103, 0x1171, 0x11B3], NFKC: [0xB4B0], NFKD: [0x1103, 0x1171, 0x11B3] }, -{ source: [0xB4B1], NFC: [0xB4B1], NFD: [0x1103, 0x1171, 0x11B4], NFKC: [0xB4B1], NFKD: [0x1103, 0x1171, 0x11B4] }, -{ source: [0xB4B2], NFC: [0xB4B2], NFD: [0x1103, 0x1171, 0x11B5], NFKC: [0xB4B2], NFKD: [0x1103, 0x1171, 0x11B5] }, -{ source: [0xB4B3], NFC: [0xB4B3], NFD: [0x1103, 0x1171, 0x11B6], NFKC: [0xB4B3], NFKD: [0x1103, 0x1171, 0x11B6] }, -{ source: [0xB4B4], NFC: [0xB4B4], NFD: [0x1103, 0x1171, 0x11B7], NFKC: [0xB4B4], NFKD: [0x1103, 0x1171, 0x11B7] }, -{ source: [0xB4B5], NFC: [0xB4B5], NFD: [0x1103, 0x1171, 0x11B8], NFKC: [0xB4B5], NFKD: [0x1103, 0x1171, 0x11B8] }, -{ source: [0xB4B6], NFC: [0xB4B6], NFD: [0x1103, 0x1171, 0x11B9], NFKC: [0xB4B6], NFKD: [0x1103, 0x1171, 0x11B9] }, -{ source: [0xB4B7], NFC: [0xB4B7], NFD: [0x1103, 0x1171, 0x11BA], NFKC: [0xB4B7], NFKD: [0x1103, 0x1171, 0x11BA] }, -{ source: [0xB4B8], NFC: [0xB4B8], NFD: [0x1103, 0x1171, 0x11BB], NFKC: [0xB4B8], NFKD: [0x1103, 0x1171, 0x11BB] }, -{ source: [0xB4B9], NFC: [0xB4B9], NFD: [0x1103, 0x1171, 0x11BC], NFKC: [0xB4B9], NFKD: [0x1103, 0x1171, 0x11BC] }, -{ source: [0xB4BA], NFC: [0xB4BA], NFD: [0x1103, 0x1171, 0x11BD], NFKC: [0xB4BA], NFKD: [0x1103, 0x1171, 0x11BD] }, -{ source: [0xB4BB], NFC: [0xB4BB], NFD: [0x1103, 0x1171, 0x11BE], NFKC: [0xB4BB], NFKD: [0x1103, 0x1171, 0x11BE] }, -{ source: [0xB4BC], NFC: [0xB4BC], NFD: [0x1103, 0x1171, 0x11BF], NFKC: [0xB4BC], NFKD: [0x1103, 0x1171, 0x11BF] }, -{ source: [0xB4BD], NFC: [0xB4BD], NFD: [0x1103, 0x1171, 0x11C0], NFKC: [0xB4BD], NFKD: [0x1103, 0x1171, 0x11C0] }, -{ source: [0xB4BE], NFC: [0xB4BE], NFD: [0x1103, 0x1171, 0x11C1], NFKC: [0xB4BE], NFKD: [0x1103, 0x1171, 0x11C1] }, -{ source: [0xB4BF], NFC: [0xB4BF], NFD: [0x1103, 0x1171, 0x11C2], NFKC: [0xB4BF], NFKD: [0x1103, 0x1171, 0x11C2] }, -{ source: [0xB4C0], NFC: [0xB4C0], NFD: [0x1103, 0x1172], NFKC: [0xB4C0], NFKD: [0x1103, 0x1172] }, -{ source: [0xB4C1], NFC: [0xB4C1], NFD: [0x1103, 0x1172, 0x11A8], NFKC: [0xB4C1], NFKD: [0x1103, 0x1172, 0x11A8] }, -{ source: [0xB4C2], NFC: [0xB4C2], NFD: [0x1103, 0x1172, 0x11A9], NFKC: [0xB4C2], NFKD: [0x1103, 0x1172, 0x11A9] }, -{ source: [0xB4C3], NFC: [0xB4C3], NFD: [0x1103, 0x1172, 0x11AA], NFKC: [0xB4C3], NFKD: [0x1103, 0x1172, 0x11AA] }, -{ source: [0xB4C4], NFC: [0xB4C4], NFD: [0x1103, 0x1172, 0x11AB], NFKC: [0xB4C4], NFKD: [0x1103, 0x1172, 0x11AB] }, -{ source: [0xB4C5], NFC: [0xB4C5], NFD: [0x1103, 0x1172, 0x11AC], NFKC: [0xB4C5], NFKD: [0x1103, 0x1172, 0x11AC] }, -{ source: [0xB4C6], NFC: [0xB4C6], NFD: [0x1103, 0x1172, 0x11AD], NFKC: [0xB4C6], NFKD: [0x1103, 0x1172, 0x11AD] }, -{ source: [0xB4C7], NFC: [0xB4C7], NFD: [0x1103, 0x1172, 0x11AE], NFKC: [0xB4C7], NFKD: [0x1103, 0x1172, 0x11AE] }, -{ source: [0xB4C8], NFC: [0xB4C8], NFD: [0x1103, 0x1172, 0x11AF], NFKC: [0xB4C8], NFKD: [0x1103, 0x1172, 0x11AF] }, -{ source: [0xB4C9], NFC: [0xB4C9], NFD: [0x1103, 0x1172, 0x11B0], NFKC: [0xB4C9], NFKD: [0x1103, 0x1172, 0x11B0] }, -{ source: [0xB4CA], NFC: [0xB4CA], NFD: [0x1103, 0x1172, 0x11B1], NFKC: [0xB4CA], NFKD: [0x1103, 0x1172, 0x11B1] }, -{ source: [0xB4CB], NFC: [0xB4CB], NFD: [0x1103, 0x1172, 0x11B2], NFKC: [0xB4CB], NFKD: [0x1103, 0x1172, 0x11B2] }, -{ source: [0xB4CC], NFC: [0xB4CC], NFD: [0x1103, 0x1172, 0x11B3], NFKC: [0xB4CC], NFKD: [0x1103, 0x1172, 0x11B3] }, -{ source: [0xB4CD], NFC: [0xB4CD], NFD: [0x1103, 0x1172, 0x11B4], NFKC: [0xB4CD], NFKD: [0x1103, 0x1172, 0x11B4] }, -{ source: [0xB4CE], NFC: [0xB4CE], NFD: [0x1103, 0x1172, 0x11B5], NFKC: [0xB4CE], NFKD: [0x1103, 0x1172, 0x11B5] }, -{ source: [0xB4CF], NFC: [0xB4CF], NFD: [0x1103, 0x1172, 0x11B6], NFKC: [0xB4CF], NFKD: [0x1103, 0x1172, 0x11B6] }, -{ source: [0xB4D0], NFC: [0xB4D0], NFD: [0x1103, 0x1172, 0x11B7], NFKC: [0xB4D0], NFKD: [0x1103, 0x1172, 0x11B7] }, -{ source: [0xB4D1], NFC: [0xB4D1], NFD: [0x1103, 0x1172, 0x11B8], NFKC: [0xB4D1], NFKD: [0x1103, 0x1172, 0x11B8] }, -{ source: [0xB4D2], NFC: [0xB4D2], NFD: [0x1103, 0x1172, 0x11B9], NFKC: [0xB4D2], NFKD: [0x1103, 0x1172, 0x11B9] }, -{ source: [0xB4D3], NFC: [0xB4D3], NFD: [0x1103, 0x1172, 0x11BA], NFKC: [0xB4D3], NFKD: [0x1103, 0x1172, 0x11BA] }, -{ source: [0xB4D4], NFC: [0xB4D4], NFD: [0x1103, 0x1172, 0x11BB], NFKC: [0xB4D4], NFKD: [0x1103, 0x1172, 0x11BB] }, -{ source: [0xB4D5], NFC: [0xB4D5], NFD: [0x1103, 0x1172, 0x11BC], NFKC: [0xB4D5], NFKD: [0x1103, 0x1172, 0x11BC] }, -{ source: [0xB4D6], NFC: [0xB4D6], NFD: [0x1103, 0x1172, 0x11BD], NFKC: [0xB4D6], NFKD: [0x1103, 0x1172, 0x11BD] }, -{ source: [0xB4D7], NFC: [0xB4D7], NFD: [0x1103, 0x1172, 0x11BE], NFKC: [0xB4D7], NFKD: [0x1103, 0x1172, 0x11BE] }, -{ source: [0xB4D8], NFC: [0xB4D8], NFD: [0x1103, 0x1172, 0x11BF], NFKC: [0xB4D8], NFKD: [0x1103, 0x1172, 0x11BF] }, -{ source: [0xB4D9], NFC: [0xB4D9], NFD: [0x1103, 0x1172, 0x11C0], NFKC: [0xB4D9], NFKD: [0x1103, 0x1172, 0x11C0] }, -{ source: [0xB4DA], NFC: [0xB4DA], NFD: [0x1103, 0x1172, 0x11C1], NFKC: [0xB4DA], NFKD: [0x1103, 0x1172, 0x11C1] }, -{ source: [0xB4DB], NFC: [0xB4DB], NFD: [0x1103, 0x1172, 0x11C2], NFKC: [0xB4DB], NFKD: [0x1103, 0x1172, 0x11C2] }, -{ source: [0xB4DC], NFC: [0xB4DC], NFD: [0x1103, 0x1173], NFKC: [0xB4DC], NFKD: [0x1103, 0x1173] }, -{ source: [0xB4DD], NFC: [0xB4DD], NFD: [0x1103, 0x1173, 0x11A8], NFKC: [0xB4DD], NFKD: [0x1103, 0x1173, 0x11A8] }, -{ source: [0xB4DE], NFC: [0xB4DE], NFD: [0x1103, 0x1173, 0x11A9], NFKC: [0xB4DE], NFKD: [0x1103, 0x1173, 0x11A9] }, -{ source: [0xB4DF], NFC: [0xB4DF], NFD: [0x1103, 0x1173, 0x11AA], NFKC: [0xB4DF], NFKD: [0x1103, 0x1173, 0x11AA] }, -{ source: [0xB4E0], NFC: [0xB4E0], NFD: [0x1103, 0x1173, 0x11AB], NFKC: [0xB4E0], NFKD: [0x1103, 0x1173, 0x11AB] }, -{ source: [0xB4E1], NFC: [0xB4E1], NFD: [0x1103, 0x1173, 0x11AC], NFKC: [0xB4E1], NFKD: [0x1103, 0x1173, 0x11AC] }, -{ source: [0xB4E2], NFC: [0xB4E2], NFD: [0x1103, 0x1173, 0x11AD], NFKC: [0xB4E2], NFKD: [0x1103, 0x1173, 0x11AD] }, -{ source: [0xB4E3], NFC: [0xB4E3], NFD: [0x1103, 0x1173, 0x11AE], NFKC: [0xB4E3], NFKD: [0x1103, 0x1173, 0x11AE] }, -{ source: [0xB4E4], NFC: [0xB4E4], NFD: [0x1103, 0x1173, 0x11AF], NFKC: [0xB4E4], NFKD: [0x1103, 0x1173, 0x11AF] }, -{ source: [0xB4E5], NFC: [0xB4E5], NFD: [0x1103, 0x1173, 0x11B0], NFKC: [0xB4E5], NFKD: [0x1103, 0x1173, 0x11B0] }, -{ source: [0xB4E6], NFC: [0xB4E6], NFD: [0x1103, 0x1173, 0x11B1], NFKC: [0xB4E6], NFKD: [0x1103, 0x1173, 0x11B1] }, -{ source: [0xB4E7], NFC: [0xB4E7], NFD: [0x1103, 0x1173, 0x11B2], NFKC: [0xB4E7], NFKD: [0x1103, 0x1173, 0x11B2] }, -{ source: [0xB4E8], NFC: [0xB4E8], NFD: [0x1103, 0x1173, 0x11B3], NFKC: [0xB4E8], NFKD: [0x1103, 0x1173, 0x11B3] }, -{ source: [0xB4E9], NFC: [0xB4E9], NFD: [0x1103, 0x1173, 0x11B4], NFKC: [0xB4E9], NFKD: [0x1103, 0x1173, 0x11B4] }, -{ source: [0xB4EA], NFC: [0xB4EA], NFD: [0x1103, 0x1173, 0x11B5], NFKC: [0xB4EA], NFKD: [0x1103, 0x1173, 0x11B5] }, -{ source: [0xB4EB], NFC: [0xB4EB], NFD: [0x1103, 0x1173, 0x11B6], NFKC: [0xB4EB], NFKD: [0x1103, 0x1173, 0x11B6] }, -{ source: [0xB4EC], NFC: [0xB4EC], NFD: [0x1103, 0x1173, 0x11B7], NFKC: [0xB4EC], NFKD: [0x1103, 0x1173, 0x11B7] }, -{ source: [0xB4ED], NFC: [0xB4ED], NFD: [0x1103, 0x1173, 0x11B8], NFKC: [0xB4ED], NFKD: [0x1103, 0x1173, 0x11B8] }, -{ source: [0xB4EE], NFC: [0xB4EE], NFD: [0x1103, 0x1173, 0x11B9], NFKC: [0xB4EE], NFKD: [0x1103, 0x1173, 0x11B9] }, -{ source: [0xB4EF], NFC: [0xB4EF], NFD: [0x1103, 0x1173, 0x11BA], NFKC: [0xB4EF], NFKD: [0x1103, 0x1173, 0x11BA] }, -{ source: [0xB4F0], NFC: [0xB4F0], NFD: [0x1103, 0x1173, 0x11BB], NFKC: [0xB4F0], NFKD: [0x1103, 0x1173, 0x11BB] }, -{ source: [0xB4F1], NFC: [0xB4F1], NFD: [0x1103, 0x1173, 0x11BC], NFKC: [0xB4F1], NFKD: [0x1103, 0x1173, 0x11BC] }, -{ source: [0xB4F2], NFC: [0xB4F2], NFD: [0x1103, 0x1173, 0x11BD], NFKC: [0xB4F2], NFKD: [0x1103, 0x1173, 0x11BD] }, -{ source: [0xB4F3], NFC: [0xB4F3], NFD: [0x1103, 0x1173, 0x11BE], NFKC: [0xB4F3], NFKD: [0x1103, 0x1173, 0x11BE] }, -{ source: [0xB4F4], NFC: [0xB4F4], NFD: [0x1103, 0x1173, 0x11BF], NFKC: [0xB4F4], NFKD: [0x1103, 0x1173, 0x11BF] }, -{ source: [0xB4F5], NFC: [0xB4F5], NFD: [0x1103, 0x1173, 0x11C0], NFKC: [0xB4F5], NFKD: [0x1103, 0x1173, 0x11C0] }, -{ source: [0xB4F6], NFC: [0xB4F6], NFD: [0x1103, 0x1173, 0x11C1], NFKC: [0xB4F6], NFKD: [0x1103, 0x1173, 0x11C1] }, -{ source: [0xB4F7], NFC: [0xB4F7], NFD: [0x1103, 0x1173, 0x11C2], NFKC: [0xB4F7], NFKD: [0x1103, 0x1173, 0x11C2] }, -{ source: [0xB4F8], NFC: [0xB4F8], NFD: [0x1103, 0x1174], NFKC: [0xB4F8], NFKD: [0x1103, 0x1174] }, -{ source: [0xB4F9], NFC: [0xB4F9], NFD: [0x1103, 0x1174, 0x11A8], NFKC: [0xB4F9], NFKD: [0x1103, 0x1174, 0x11A8] }, -{ source: [0xB4FA], NFC: [0xB4FA], NFD: [0x1103, 0x1174, 0x11A9], NFKC: [0xB4FA], NFKD: [0x1103, 0x1174, 0x11A9] }, -{ source: [0xB4FB], NFC: [0xB4FB], NFD: [0x1103, 0x1174, 0x11AA], NFKC: [0xB4FB], NFKD: [0x1103, 0x1174, 0x11AA] }, -{ source: [0xB4FC], NFC: [0xB4FC], NFD: [0x1103, 0x1174, 0x11AB], NFKC: [0xB4FC], NFKD: [0x1103, 0x1174, 0x11AB] }, -{ source: [0xB4FD], NFC: [0xB4FD], NFD: [0x1103, 0x1174, 0x11AC], NFKC: [0xB4FD], NFKD: [0x1103, 0x1174, 0x11AC] }, -{ source: [0xB4FE], NFC: [0xB4FE], NFD: [0x1103, 0x1174, 0x11AD], NFKC: [0xB4FE], NFKD: [0x1103, 0x1174, 0x11AD] }, -{ source: [0xB4FF], NFC: [0xB4FF], NFD: [0x1103, 0x1174, 0x11AE], NFKC: [0xB4FF], NFKD: [0x1103, 0x1174, 0x11AE] }, -{ source: [0xB500], NFC: [0xB500], NFD: [0x1103, 0x1174, 0x11AF], NFKC: [0xB500], NFKD: [0x1103, 0x1174, 0x11AF] }, -{ source: [0xB501], NFC: [0xB501], NFD: [0x1103, 0x1174, 0x11B0], NFKC: [0xB501], NFKD: [0x1103, 0x1174, 0x11B0] }, -{ source: [0xB502], NFC: [0xB502], NFD: [0x1103, 0x1174, 0x11B1], NFKC: [0xB502], NFKD: [0x1103, 0x1174, 0x11B1] }, -{ source: [0xB503], NFC: [0xB503], NFD: [0x1103, 0x1174, 0x11B2], NFKC: [0xB503], NFKD: [0x1103, 0x1174, 0x11B2] }, -{ source: [0xB504], NFC: [0xB504], NFD: [0x1103, 0x1174, 0x11B3], NFKC: [0xB504], NFKD: [0x1103, 0x1174, 0x11B3] }, -{ source: [0xB505], NFC: [0xB505], NFD: [0x1103, 0x1174, 0x11B4], NFKC: [0xB505], NFKD: [0x1103, 0x1174, 0x11B4] }, -{ source: [0xB506], NFC: [0xB506], NFD: [0x1103, 0x1174, 0x11B5], NFKC: [0xB506], NFKD: [0x1103, 0x1174, 0x11B5] }, -{ source: [0xB507], NFC: [0xB507], NFD: [0x1103, 0x1174, 0x11B6], NFKC: [0xB507], NFKD: [0x1103, 0x1174, 0x11B6] }, -{ source: [0xB508], NFC: [0xB508], NFD: [0x1103, 0x1174, 0x11B7], NFKC: [0xB508], NFKD: [0x1103, 0x1174, 0x11B7] }, -{ source: [0xB509], NFC: [0xB509], NFD: [0x1103, 0x1174, 0x11B8], NFKC: [0xB509], NFKD: [0x1103, 0x1174, 0x11B8] }, -{ source: [0xB50A], NFC: [0xB50A], NFD: [0x1103, 0x1174, 0x11B9], NFKC: [0xB50A], NFKD: [0x1103, 0x1174, 0x11B9] }, -{ source: [0xB50B], NFC: [0xB50B], NFD: [0x1103, 0x1174, 0x11BA], NFKC: [0xB50B], NFKD: [0x1103, 0x1174, 0x11BA] }, -{ source: [0xB50C], NFC: [0xB50C], NFD: [0x1103, 0x1174, 0x11BB], NFKC: [0xB50C], NFKD: [0x1103, 0x1174, 0x11BB] }, -{ source: [0xB50D], NFC: [0xB50D], NFD: [0x1103, 0x1174, 0x11BC], NFKC: [0xB50D], NFKD: [0x1103, 0x1174, 0x11BC] }, -{ source: [0xB50E], NFC: [0xB50E], NFD: [0x1103, 0x1174, 0x11BD], NFKC: [0xB50E], NFKD: [0x1103, 0x1174, 0x11BD] }, -{ source: [0xB50F], NFC: [0xB50F], NFD: [0x1103, 0x1174, 0x11BE], NFKC: [0xB50F], NFKD: [0x1103, 0x1174, 0x11BE] }, -{ source: [0xB510], NFC: [0xB510], NFD: [0x1103, 0x1174, 0x11BF], NFKC: [0xB510], NFKD: [0x1103, 0x1174, 0x11BF] }, -{ source: [0xB511], NFC: [0xB511], NFD: [0x1103, 0x1174, 0x11C0], NFKC: [0xB511], NFKD: [0x1103, 0x1174, 0x11C0] }, -{ source: [0xB512], NFC: [0xB512], NFD: [0x1103, 0x1174, 0x11C1], NFKC: [0xB512], NFKD: [0x1103, 0x1174, 0x11C1] }, -{ source: [0xB513], NFC: [0xB513], NFD: [0x1103, 0x1174, 0x11C2], NFKC: [0xB513], NFKD: [0x1103, 0x1174, 0x11C2] }, -{ source: [0xB514], NFC: [0xB514], NFD: [0x1103, 0x1175], NFKC: [0xB514], NFKD: [0x1103, 0x1175] }, -{ source: [0xB515], NFC: [0xB515], NFD: [0x1103, 0x1175, 0x11A8], NFKC: [0xB515], NFKD: [0x1103, 0x1175, 0x11A8] }, -{ source: [0xB516], NFC: [0xB516], NFD: [0x1103, 0x1175, 0x11A9], NFKC: [0xB516], NFKD: [0x1103, 0x1175, 0x11A9] }, -{ source: [0xB517], NFC: [0xB517], NFD: [0x1103, 0x1175, 0x11AA], NFKC: [0xB517], NFKD: [0x1103, 0x1175, 0x11AA] }, -{ source: [0xB518], NFC: [0xB518], NFD: [0x1103, 0x1175, 0x11AB], NFKC: [0xB518], NFKD: [0x1103, 0x1175, 0x11AB] }, -{ source: [0xB519], NFC: [0xB519], NFD: [0x1103, 0x1175, 0x11AC], NFKC: [0xB519], NFKD: [0x1103, 0x1175, 0x11AC] }, -{ source: [0xB51A], NFC: [0xB51A], NFD: [0x1103, 0x1175, 0x11AD], NFKC: [0xB51A], NFKD: [0x1103, 0x1175, 0x11AD] }, -{ source: [0xB51B], NFC: [0xB51B], NFD: [0x1103, 0x1175, 0x11AE], NFKC: [0xB51B], NFKD: [0x1103, 0x1175, 0x11AE] }, -{ source: [0xB51C], NFC: [0xB51C], NFD: [0x1103, 0x1175, 0x11AF], NFKC: [0xB51C], NFKD: [0x1103, 0x1175, 0x11AF] }, -{ source: [0xB51D], NFC: [0xB51D], NFD: [0x1103, 0x1175, 0x11B0], NFKC: [0xB51D], NFKD: [0x1103, 0x1175, 0x11B0] }, -{ source: [0xB51E], NFC: [0xB51E], NFD: [0x1103, 0x1175, 0x11B1], NFKC: [0xB51E], NFKD: [0x1103, 0x1175, 0x11B1] }, -{ source: [0xB51F], NFC: [0xB51F], NFD: [0x1103, 0x1175, 0x11B2], NFKC: [0xB51F], NFKD: [0x1103, 0x1175, 0x11B2] }, -{ source: [0xB520], NFC: [0xB520], NFD: [0x1103, 0x1175, 0x11B3], NFKC: [0xB520], NFKD: [0x1103, 0x1175, 0x11B3] }, -{ source: [0xB521], NFC: [0xB521], NFD: [0x1103, 0x1175, 0x11B4], NFKC: [0xB521], NFKD: [0x1103, 0x1175, 0x11B4] }, -{ source: [0xB522], NFC: [0xB522], NFD: [0x1103, 0x1175, 0x11B5], NFKC: [0xB522], NFKD: [0x1103, 0x1175, 0x11B5] }, -{ source: [0xB523], NFC: [0xB523], NFD: [0x1103, 0x1175, 0x11B6], NFKC: [0xB523], NFKD: [0x1103, 0x1175, 0x11B6] }, -{ source: [0xB524], NFC: [0xB524], NFD: [0x1103, 0x1175, 0x11B7], NFKC: [0xB524], NFKD: [0x1103, 0x1175, 0x11B7] }, -{ source: [0xB525], NFC: [0xB525], NFD: [0x1103, 0x1175, 0x11B8], NFKC: [0xB525], NFKD: [0x1103, 0x1175, 0x11B8] }, -{ source: [0xB526], NFC: [0xB526], NFD: [0x1103, 0x1175, 0x11B9], NFKC: [0xB526], NFKD: [0x1103, 0x1175, 0x11B9] }, -{ source: [0xB527], NFC: [0xB527], NFD: [0x1103, 0x1175, 0x11BA], NFKC: [0xB527], NFKD: [0x1103, 0x1175, 0x11BA] }, -{ source: [0xB528], NFC: [0xB528], NFD: [0x1103, 0x1175, 0x11BB], NFKC: [0xB528], NFKD: [0x1103, 0x1175, 0x11BB] }, -{ source: [0xB529], NFC: [0xB529], NFD: [0x1103, 0x1175, 0x11BC], NFKC: [0xB529], NFKD: [0x1103, 0x1175, 0x11BC] }, -{ source: [0xB52A], NFC: [0xB52A], NFD: [0x1103, 0x1175, 0x11BD], NFKC: [0xB52A], NFKD: [0x1103, 0x1175, 0x11BD] }, -{ source: [0xB52B], NFC: [0xB52B], NFD: [0x1103, 0x1175, 0x11BE], NFKC: [0xB52B], NFKD: [0x1103, 0x1175, 0x11BE] }, -{ source: [0xB52C], NFC: [0xB52C], NFD: [0x1103, 0x1175, 0x11BF], NFKC: [0xB52C], NFKD: [0x1103, 0x1175, 0x11BF] }, -{ source: [0xB52D], NFC: [0xB52D], NFD: [0x1103, 0x1175, 0x11C0], NFKC: [0xB52D], NFKD: [0x1103, 0x1175, 0x11C0] }, -{ source: [0xB52E], NFC: [0xB52E], NFD: [0x1103, 0x1175, 0x11C1], NFKC: [0xB52E], NFKD: [0x1103, 0x1175, 0x11C1] }, -{ source: [0xB52F], NFC: [0xB52F], NFD: [0x1103, 0x1175, 0x11C2], NFKC: [0xB52F], NFKD: [0x1103, 0x1175, 0x11C2] }, -{ source: [0xB530], NFC: [0xB530], NFD: [0x1104, 0x1161], NFKC: [0xB530], NFKD: [0x1104, 0x1161] }, -{ source: [0xB531], NFC: [0xB531], NFD: [0x1104, 0x1161, 0x11A8], NFKC: [0xB531], NFKD: [0x1104, 0x1161, 0x11A8] }, -{ source: [0xB532], NFC: [0xB532], NFD: [0x1104, 0x1161, 0x11A9], NFKC: [0xB532], NFKD: [0x1104, 0x1161, 0x11A9] }, -{ source: [0xB533], NFC: [0xB533], NFD: [0x1104, 0x1161, 0x11AA], NFKC: [0xB533], NFKD: [0x1104, 0x1161, 0x11AA] }, -{ source: [0xB534], NFC: [0xB534], NFD: [0x1104, 0x1161, 0x11AB], NFKC: [0xB534], NFKD: [0x1104, 0x1161, 0x11AB] }, -{ source: [0xB535], NFC: [0xB535], NFD: [0x1104, 0x1161, 0x11AC], NFKC: [0xB535], NFKD: [0x1104, 0x1161, 0x11AC] }, -{ source: [0xB536], NFC: [0xB536], NFD: [0x1104, 0x1161, 0x11AD], NFKC: [0xB536], NFKD: [0x1104, 0x1161, 0x11AD] }, -{ source: [0xB537], NFC: [0xB537], NFD: [0x1104, 0x1161, 0x11AE], NFKC: [0xB537], NFKD: [0x1104, 0x1161, 0x11AE] }, -{ source: [0xB538], NFC: [0xB538], NFD: [0x1104, 0x1161, 0x11AF], NFKC: [0xB538], NFKD: [0x1104, 0x1161, 0x11AF] }, -{ source: [0xB539], NFC: [0xB539], NFD: [0x1104, 0x1161, 0x11B0], NFKC: [0xB539], NFKD: [0x1104, 0x1161, 0x11B0] }, -{ source: [0xB53A], NFC: [0xB53A], NFD: [0x1104, 0x1161, 0x11B1], NFKC: [0xB53A], NFKD: [0x1104, 0x1161, 0x11B1] }, -{ source: [0xB53B], NFC: [0xB53B], NFD: [0x1104, 0x1161, 0x11B2], NFKC: [0xB53B], NFKD: [0x1104, 0x1161, 0x11B2] }, -{ source: [0xB53C], NFC: [0xB53C], NFD: [0x1104, 0x1161, 0x11B3], NFKC: [0xB53C], NFKD: [0x1104, 0x1161, 0x11B3] }, -{ source: [0xB53D], NFC: [0xB53D], NFD: [0x1104, 0x1161, 0x11B4], NFKC: [0xB53D], NFKD: [0x1104, 0x1161, 0x11B4] }, -{ source: [0xB53E], NFC: [0xB53E], NFD: [0x1104, 0x1161, 0x11B5], NFKC: [0xB53E], NFKD: [0x1104, 0x1161, 0x11B5] }, -{ source: [0xB53F], NFC: [0xB53F], NFD: [0x1104, 0x1161, 0x11B6], NFKC: [0xB53F], NFKD: [0x1104, 0x1161, 0x11B6] }, -{ source: [0xB540], NFC: [0xB540], NFD: [0x1104, 0x1161, 0x11B7], NFKC: [0xB540], NFKD: [0x1104, 0x1161, 0x11B7] }, -{ source: [0xB541], NFC: [0xB541], NFD: [0x1104, 0x1161, 0x11B8], NFKC: [0xB541], NFKD: [0x1104, 0x1161, 0x11B8] }, -{ source: [0xB542], NFC: [0xB542], NFD: [0x1104, 0x1161, 0x11B9], NFKC: [0xB542], NFKD: [0x1104, 0x1161, 0x11B9] }, -{ source: [0xB543], NFC: [0xB543], NFD: [0x1104, 0x1161, 0x11BA], NFKC: [0xB543], NFKD: [0x1104, 0x1161, 0x11BA] }, -{ source: [0xB544], NFC: [0xB544], NFD: [0x1104, 0x1161, 0x11BB], NFKC: [0xB544], NFKD: [0x1104, 0x1161, 0x11BB] }, -{ source: [0xB545], NFC: [0xB545], NFD: [0x1104, 0x1161, 0x11BC], NFKC: [0xB545], NFKD: [0x1104, 0x1161, 0x11BC] }, -{ source: [0xB546], NFC: [0xB546], NFD: [0x1104, 0x1161, 0x11BD], NFKC: [0xB546], NFKD: [0x1104, 0x1161, 0x11BD] }, -{ source: [0xB547], NFC: [0xB547], NFD: [0x1104, 0x1161, 0x11BE], NFKC: [0xB547], NFKD: [0x1104, 0x1161, 0x11BE] }, -{ source: [0xB548], NFC: [0xB548], NFD: [0x1104, 0x1161, 0x11BF], NFKC: [0xB548], NFKD: [0x1104, 0x1161, 0x11BF] }, -{ source: [0xB549], NFC: [0xB549], NFD: [0x1104, 0x1161, 0x11C0], NFKC: [0xB549], NFKD: [0x1104, 0x1161, 0x11C0] }, -{ source: [0xB54A], NFC: [0xB54A], NFD: [0x1104, 0x1161, 0x11C1], NFKC: [0xB54A], NFKD: [0x1104, 0x1161, 0x11C1] }, -{ source: [0xB54B], NFC: [0xB54B], NFD: [0x1104, 0x1161, 0x11C2], NFKC: [0xB54B], NFKD: [0x1104, 0x1161, 0x11C2] }, -{ source: [0xB54C], NFC: [0xB54C], NFD: [0x1104, 0x1162], NFKC: [0xB54C], NFKD: [0x1104, 0x1162] }, -{ source: [0xB54D], NFC: [0xB54D], NFD: [0x1104, 0x1162, 0x11A8], NFKC: [0xB54D], NFKD: [0x1104, 0x1162, 0x11A8] }, -{ source: [0xB54E], NFC: [0xB54E], NFD: [0x1104, 0x1162, 0x11A9], NFKC: [0xB54E], NFKD: [0x1104, 0x1162, 0x11A9] }, -{ source: [0xB54F], NFC: [0xB54F], NFD: [0x1104, 0x1162, 0x11AA], NFKC: [0xB54F], NFKD: [0x1104, 0x1162, 0x11AA] }, -{ source: [0xB550], NFC: [0xB550], NFD: [0x1104, 0x1162, 0x11AB], NFKC: [0xB550], NFKD: [0x1104, 0x1162, 0x11AB] }, -{ source: [0xB551], NFC: [0xB551], NFD: [0x1104, 0x1162, 0x11AC], NFKC: [0xB551], NFKD: [0x1104, 0x1162, 0x11AC] }, -{ source: [0xB552], NFC: [0xB552], NFD: [0x1104, 0x1162, 0x11AD], NFKC: [0xB552], NFKD: [0x1104, 0x1162, 0x11AD] }, -{ source: [0xB553], NFC: [0xB553], NFD: [0x1104, 0x1162, 0x11AE], NFKC: [0xB553], NFKD: [0x1104, 0x1162, 0x11AE] }, -{ source: [0xB554], NFC: [0xB554], NFD: [0x1104, 0x1162, 0x11AF], NFKC: [0xB554], NFKD: [0x1104, 0x1162, 0x11AF] }, -{ source: [0xB555], NFC: [0xB555], NFD: [0x1104, 0x1162, 0x11B0], NFKC: [0xB555], NFKD: [0x1104, 0x1162, 0x11B0] }, -{ source: [0xB556], NFC: [0xB556], NFD: [0x1104, 0x1162, 0x11B1], NFKC: [0xB556], NFKD: [0x1104, 0x1162, 0x11B1] }, -{ source: [0xB557], NFC: [0xB557], NFD: [0x1104, 0x1162, 0x11B2], NFKC: [0xB557], NFKD: [0x1104, 0x1162, 0x11B2] }, -{ source: [0xB558], NFC: [0xB558], NFD: [0x1104, 0x1162, 0x11B3], NFKC: [0xB558], NFKD: [0x1104, 0x1162, 0x11B3] }, -{ source: [0xB559], NFC: [0xB559], NFD: [0x1104, 0x1162, 0x11B4], NFKC: [0xB559], NFKD: [0x1104, 0x1162, 0x11B4] }, -{ source: [0xB55A], NFC: [0xB55A], NFD: [0x1104, 0x1162, 0x11B5], NFKC: [0xB55A], NFKD: [0x1104, 0x1162, 0x11B5] }, -{ source: [0xB55B], NFC: [0xB55B], NFD: [0x1104, 0x1162, 0x11B6], NFKC: [0xB55B], NFKD: [0x1104, 0x1162, 0x11B6] }, -{ source: [0xB55C], NFC: [0xB55C], NFD: [0x1104, 0x1162, 0x11B7], NFKC: [0xB55C], NFKD: [0x1104, 0x1162, 0x11B7] }, -{ source: [0xB55D], NFC: [0xB55D], NFD: [0x1104, 0x1162, 0x11B8], NFKC: [0xB55D], NFKD: [0x1104, 0x1162, 0x11B8] }, -{ source: [0xB55E], NFC: [0xB55E], NFD: [0x1104, 0x1162, 0x11B9], NFKC: [0xB55E], NFKD: [0x1104, 0x1162, 0x11B9] }, -{ source: [0xB55F], NFC: [0xB55F], NFD: [0x1104, 0x1162, 0x11BA], NFKC: [0xB55F], NFKD: [0x1104, 0x1162, 0x11BA] }, -{ source: [0xB560], NFC: [0xB560], NFD: [0x1104, 0x1162, 0x11BB], NFKC: [0xB560], NFKD: [0x1104, 0x1162, 0x11BB] }, -{ source: [0xB561], NFC: [0xB561], NFD: [0x1104, 0x1162, 0x11BC], NFKC: [0xB561], NFKD: [0x1104, 0x1162, 0x11BC] }, -{ source: [0xB562], NFC: [0xB562], NFD: [0x1104, 0x1162, 0x11BD], NFKC: [0xB562], NFKD: [0x1104, 0x1162, 0x11BD] }, -{ source: [0xB563], NFC: [0xB563], NFD: [0x1104, 0x1162, 0x11BE], NFKC: [0xB563], NFKD: [0x1104, 0x1162, 0x11BE] }, -{ source: [0xB564], NFC: [0xB564], NFD: [0x1104, 0x1162, 0x11BF], NFKC: [0xB564], NFKD: [0x1104, 0x1162, 0x11BF] }, -{ source: [0xB565], NFC: [0xB565], NFD: [0x1104, 0x1162, 0x11C0], NFKC: [0xB565], NFKD: [0x1104, 0x1162, 0x11C0] }, -{ source: [0xB566], NFC: [0xB566], NFD: [0x1104, 0x1162, 0x11C1], NFKC: [0xB566], NFKD: [0x1104, 0x1162, 0x11C1] }, -{ source: [0xB567], NFC: [0xB567], NFD: [0x1104, 0x1162, 0x11C2], NFKC: [0xB567], NFKD: [0x1104, 0x1162, 0x11C2] }, -{ source: [0xB568], NFC: [0xB568], NFD: [0x1104, 0x1163], NFKC: [0xB568], NFKD: [0x1104, 0x1163] }, -{ source: [0xB569], NFC: [0xB569], NFD: [0x1104, 0x1163, 0x11A8], NFKC: [0xB569], NFKD: [0x1104, 0x1163, 0x11A8] }, -{ source: [0xB56A], NFC: [0xB56A], NFD: [0x1104, 0x1163, 0x11A9], NFKC: [0xB56A], NFKD: [0x1104, 0x1163, 0x11A9] }, -{ source: [0xB56B], NFC: [0xB56B], NFD: [0x1104, 0x1163, 0x11AA], NFKC: [0xB56B], NFKD: [0x1104, 0x1163, 0x11AA] }, -{ source: [0xB56C], NFC: [0xB56C], NFD: [0x1104, 0x1163, 0x11AB], NFKC: [0xB56C], NFKD: [0x1104, 0x1163, 0x11AB] }, -{ source: [0xB56D], NFC: [0xB56D], NFD: [0x1104, 0x1163, 0x11AC], NFKC: [0xB56D], NFKD: [0x1104, 0x1163, 0x11AC] }, -{ source: [0xB56E], NFC: [0xB56E], NFD: [0x1104, 0x1163, 0x11AD], NFKC: [0xB56E], NFKD: [0x1104, 0x1163, 0x11AD] }, -{ source: [0xB56F], NFC: [0xB56F], NFD: [0x1104, 0x1163, 0x11AE], NFKC: [0xB56F], NFKD: [0x1104, 0x1163, 0x11AE] }, -{ source: [0xB570], NFC: [0xB570], NFD: [0x1104, 0x1163, 0x11AF], NFKC: [0xB570], NFKD: [0x1104, 0x1163, 0x11AF] }, -{ source: [0xB571], NFC: [0xB571], NFD: [0x1104, 0x1163, 0x11B0], NFKC: [0xB571], NFKD: [0x1104, 0x1163, 0x11B0] }, -{ source: [0xB572], NFC: [0xB572], NFD: [0x1104, 0x1163, 0x11B1], NFKC: [0xB572], NFKD: [0x1104, 0x1163, 0x11B1] }, -{ source: [0xB573], NFC: [0xB573], NFD: [0x1104, 0x1163, 0x11B2], NFKC: [0xB573], NFKD: [0x1104, 0x1163, 0x11B2] }, -{ source: [0xB574], NFC: [0xB574], NFD: [0x1104, 0x1163, 0x11B3], NFKC: [0xB574], NFKD: [0x1104, 0x1163, 0x11B3] }, -{ source: [0xB575], NFC: [0xB575], NFD: [0x1104, 0x1163, 0x11B4], NFKC: [0xB575], NFKD: [0x1104, 0x1163, 0x11B4] }, -{ source: [0xB576], NFC: [0xB576], NFD: [0x1104, 0x1163, 0x11B5], NFKC: [0xB576], NFKD: [0x1104, 0x1163, 0x11B5] }, -{ source: [0xB577], NFC: [0xB577], NFD: [0x1104, 0x1163, 0x11B6], NFKC: [0xB577], NFKD: [0x1104, 0x1163, 0x11B6] }, -{ source: [0xB578], NFC: [0xB578], NFD: [0x1104, 0x1163, 0x11B7], NFKC: [0xB578], NFKD: [0x1104, 0x1163, 0x11B7] }, -{ source: [0xB579], NFC: [0xB579], NFD: [0x1104, 0x1163, 0x11B8], NFKC: [0xB579], NFKD: [0x1104, 0x1163, 0x11B8] }, -{ source: [0xB57A], NFC: [0xB57A], NFD: [0x1104, 0x1163, 0x11B9], NFKC: [0xB57A], NFKD: [0x1104, 0x1163, 0x11B9] }, -{ source: [0xB57B], NFC: [0xB57B], NFD: [0x1104, 0x1163, 0x11BA], NFKC: [0xB57B], NFKD: [0x1104, 0x1163, 0x11BA] }, -{ source: [0xB57C], NFC: [0xB57C], NFD: [0x1104, 0x1163, 0x11BB], NFKC: [0xB57C], NFKD: [0x1104, 0x1163, 0x11BB] }, -{ source: [0xB57D], NFC: [0xB57D], NFD: [0x1104, 0x1163, 0x11BC], NFKC: [0xB57D], NFKD: [0x1104, 0x1163, 0x11BC] }, -{ source: [0xB57E], NFC: [0xB57E], NFD: [0x1104, 0x1163, 0x11BD], NFKC: [0xB57E], NFKD: [0x1104, 0x1163, 0x11BD] }, -{ source: [0xB57F], NFC: [0xB57F], NFD: [0x1104, 0x1163, 0x11BE], NFKC: [0xB57F], NFKD: [0x1104, 0x1163, 0x11BE] }, -{ source: [0xB580], NFC: [0xB580], NFD: [0x1104, 0x1163, 0x11BF], NFKC: [0xB580], NFKD: [0x1104, 0x1163, 0x11BF] }, -{ source: [0xB581], NFC: [0xB581], NFD: [0x1104, 0x1163, 0x11C0], NFKC: [0xB581], NFKD: [0x1104, 0x1163, 0x11C0] }, -{ source: [0xB582], NFC: [0xB582], NFD: [0x1104, 0x1163, 0x11C1], NFKC: [0xB582], NFKD: [0x1104, 0x1163, 0x11C1] }, -{ source: [0xB583], NFC: [0xB583], NFD: [0x1104, 0x1163, 0x11C2], NFKC: [0xB583], NFKD: [0x1104, 0x1163, 0x11C2] }, -{ source: [0xB584], NFC: [0xB584], NFD: [0x1104, 0x1164], NFKC: [0xB584], NFKD: [0x1104, 0x1164] }, -{ source: [0xB585], NFC: [0xB585], NFD: [0x1104, 0x1164, 0x11A8], NFKC: [0xB585], NFKD: [0x1104, 0x1164, 0x11A8] }, -{ source: [0xB586], NFC: [0xB586], NFD: [0x1104, 0x1164, 0x11A9], NFKC: [0xB586], NFKD: [0x1104, 0x1164, 0x11A9] }, -{ source: [0xB587], NFC: [0xB587], NFD: [0x1104, 0x1164, 0x11AA], NFKC: [0xB587], NFKD: [0x1104, 0x1164, 0x11AA] }, -{ source: [0xB588], NFC: [0xB588], NFD: [0x1104, 0x1164, 0x11AB], NFKC: [0xB588], NFKD: [0x1104, 0x1164, 0x11AB] }, -{ source: [0xB589], NFC: [0xB589], NFD: [0x1104, 0x1164, 0x11AC], NFKC: [0xB589], NFKD: [0x1104, 0x1164, 0x11AC] }, -{ source: [0xB58A], NFC: [0xB58A], NFD: [0x1104, 0x1164, 0x11AD], NFKC: [0xB58A], NFKD: [0x1104, 0x1164, 0x11AD] }, -{ source: [0xB58B], NFC: [0xB58B], NFD: [0x1104, 0x1164, 0x11AE], NFKC: [0xB58B], NFKD: [0x1104, 0x1164, 0x11AE] }, -{ source: [0xB58C], NFC: [0xB58C], NFD: [0x1104, 0x1164, 0x11AF], NFKC: [0xB58C], NFKD: [0x1104, 0x1164, 0x11AF] }, -{ source: [0xB58D], NFC: [0xB58D], NFD: [0x1104, 0x1164, 0x11B0], NFKC: [0xB58D], NFKD: [0x1104, 0x1164, 0x11B0] }, -{ source: [0xB58E], NFC: [0xB58E], NFD: [0x1104, 0x1164, 0x11B1], NFKC: [0xB58E], NFKD: [0x1104, 0x1164, 0x11B1] }, -{ source: [0xB58F], NFC: [0xB58F], NFD: [0x1104, 0x1164, 0x11B2], NFKC: [0xB58F], NFKD: [0x1104, 0x1164, 0x11B2] }, -{ source: [0xB590], NFC: [0xB590], NFD: [0x1104, 0x1164, 0x11B3], NFKC: [0xB590], NFKD: [0x1104, 0x1164, 0x11B3] }, -{ source: [0xB591], NFC: [0xB591], NFD: [0x1104, 0x1164, 0x11B4], NFKC: [0xB591], NFKD: [0x1104, 0x1164, 0x11B4] }, -{ source: [0xB592], NFC: [0xB592], NFD: [0x1104, 0x1164, 0x11B5], NFKC: [0xB592], NFKD: [0x1104, 0x1164, 0x11B5] }, -{ source: [0xB593], NFC: [0xB593], NFD: [0x1104, 0x1164, 0x11B6], NFKC: [0xB593], NFKD: [0x1104, 0x1164, 0x11B6] }, -{ source: [0xB594], NFC: [0xB594], NFD: [0x1104, 0x1164, 0x11B7], NFKC: [0xB594], NFKD: [0x1104, 0x1164, 0x11B7] }, -{ source: [0xB595], NFC: [0xB595], NFD: [0x1104, 0x1164, 0x11B8], NFKC: [0xB595], NFKD: [0x1104, 0x1164, 0x11B8] }, -{ source: [0xB596], NFC: [0xB596], NFD: [0x1104, 0x1164, 0x11B9], NFKC: [0xB596], NFKD: [0x1104, 0x1164, 0x11B9] }, -{ source: [0xB597], NFC: [0xB597], NFD: [0x1104, 0x1164, 0x11BA], NFKC: [0xB597], NFKD: [0x1104, 0x1164, 0x11BA] }, -{ source: [0xB598], NFC: [0xB598], NFD: [0x1104, 0x1164, 0x11BB], NFKC: [0xB598], NFKD: [0x1104, 0x1164, 0x11BB] }, -{ source: [0xB599], NFC: [0xB599], NFD: [0x1104, 0x1164, 0x11BC], NFKC: [0xB599], NFKD: [0x1104, 0x1164, 0x11BC] }, -{ source: [0xB59A], NFC: [0xB59A], NFD: [0x1104, 0x1164, 0x11BD], NFKC: [0xB59A], NFKD: [0x1104, 0x1164, 0x11BD] }, -{ source: [0xB59B], NFC: [0xB59B], NFD: [0x1104, 0x1164, 0x11BE], NFKC: [0xB59B], NFKD: [0x1104, 0x1164, 0x11BE] }, -{ source: [0xB59C], NFC: [0xB59C], NFD: [0x1104, 0x1164, 0x11BF], NFKC: [0xB59C], NFKD: [0x1104, 0x1164, 0x11BF] }, -{ source: [0xB59D], NFC: [0xB59D], NFD: [0x1104, 0x1164, 0x11C0], NFKC: [0xB59D], NFKD: [0x1104, 0x1164, 0x11C0] }, -{ source: [0xB59E], NFC: [0xB59E], NFD: [0x1104, 0x1164, 0x11C1], NFKC: [0xB59E], NFKD: [0x1104, 0x1164, 0x11C1] }, -{ source: [0xB59F], NFC: [0xB59F], NFD: [0x1104, 0x1164, 0x11C2], NFKC: [0xB59F], NFKD: [0x1104, 0x1164, 0x11C2] }, -{ source: [0xB5A0], NFC: [0xB5A0], NFD: [0x1104, 0x1165], NFKC: [0xB5A0], NFKD: [0x1104, 0x1165] }, -{ source: [0xB5A1], NFC: [0xB5A1], NFD: [0x1104, 0x1165, 0x11A8], NFKC: [0xB5A1], NFKD: [0x1104, 0x1165, 0x11A8] }, -{ source: [0xB5A2], NFC: [0xB5A2], NFD: [0x1104, 0x1165, 0x11A9], NFKC: [0xB5A2], NFKD: [0x1104, 0x1165, 0x11A9] }, -{ source: [0xB5A3], NFC: [0xB5A3], NFD: [0x1104, 0x1165, 0x11AA], NFKC: [0xB5A3], NFKD: [0x1104, 0x1165, 0x11AA] }, -{ source: [0xB5A4], NFC: [0xB5A4], NFD: [0x1104, 0x1165, 0x11AB], NFKC: [0xB5A4], NFKD: [0x1104, 0x1165, 0x11AB] }, -{ source: [0xB5A5], NFC: [0xB5A5], NFD: [0x1104, 0x1165, 0x11AC], NFKC: [0xB5A5], NFKD: [0x1104, 0x1165, 0x11AC] }, -{ source: [0xB5A6], NFC: [0xB5A6], NFD: [0x1104, 0x1165, 0x11AD], NFKC: [0xB5A6], NFKD: [0x1104, 0x1165, 0x11AD] }, -{ source: [0xB5A7], NFC: [0xB5A7], NFD: [0x1104, 0x1165, 0x11AE], NFKC: [0xB5A7], NFKD: [0x1104, 0x1165, 0x11AE] }, -{ source: [0xB5A8], NFC: [0xB5A8], NFD: [0x1104, 0x1165, 0x11AF], NFKC: [0xB5A8], NFKD: [0x1104, 0x1165, 0x11AF] }, -{ source: [0xB5A9], NFC: [0xB5A9], NFD: [0x1104, 0x1165, 0x11B0], NFKC: [0xB5A9], NFKD: [0x1104, 0x1165, 0x11B0] }, -{ source: [0xB5AA], NFC: [0xB5AA], NFD: [0x1104, 0x1165, 0x11B1], NFKC: [0xB5AA], NFKD: [0x1104, 0x1165, 0x11B1] }, -{ source: [0xB5AB], NFC: [0xB5AB], NFD: [0x1104, 0x1165, 0x11B2], NFKC: [0xB5AB], NFKD: [0x1104, 0x1165, 0x11B2] }, -{ source: [0xB5AC], NFC: [0xB5AC], NFD: [0x1104, 0x1165, 0x11B3], NFKC: [0xB5AC], NFKD: [0x1104, 0x1165, 0x11B3] }, -{ source: [0xB5AD], NFC: [0xB5AD], NFD: [0x1104, 0x1165, 0x11B4], NFKC: [0xB5AD], NFKD: [0x1104, 0x1165, 0x11B4] }, -{ source: [0xB5AE], NFC: [0xB5AE], NFD: [0x1104, 0x1165, 0x11B5], NFKC: [0xB5AE], NFKD: [0x1104, 0x1165, 0x11B5] }, -{ source: [0xB5AF], NFC: [0xB5AF], NFD: [0x1104, 0x1165, 0x11B6], NFKC: [0xB5AF], NFKD: [0x1104, 0x1165, 0x11B6] }, -{ source: [0xB5B0], NFC: [0xB5B0], NFD: [0x1104, 0x1165, 0x11B7], NFKC: [0xB5B0], NFKD: [0x1104, 0x1165, 0x11B7] }, -{ source: [0xB5B1], NFC: [0xB5B1], NFD: [0x1104, 0x1165, 0x11B8], NFKC: [0xB5B1], NFKD: [0x1104, 0x1165, 0x11B8] }, -{ source: [0xB5B2], NFC: [0xB5B2], NFD: [0x1104, 0x1165, 0x11B9], NFKC: [0xB5B2], NFKD: [0x1104, 0x1165, 0x11B9] }, -{ source: [0xB5B3], NFC: [0xB5B3], NFD: [0x1104, 0x1165, 0x11BA], NFKC: [0xB5B3], NFKD: [0x1104, 0x1165, 0x11BA] }, -{ source: [0xB5B4], NFC: [0xB5B4], NFD: [0x1104, 0x1165, 0x11BB], NFKC: [0xB5B4], NFKD: [0x1104, 0x1165, 0x11BB] }, -{ source: [0xB5B5], NFC: [0xB5B5], NFD: [0x1104, 0x1165, 0x11BC], NFKC: [0xB5B5], NFKD: [0x1104, 0x1165, 0x11BC] }, -{ source: [0xB5B6], NFC: [0xB5B6], NFD: [0x1104, 0x1165, 0x11BD], NFKC: [0xB5B6], NFKD: [0x1104, 0x1165, 0x11BD] }, -{ source: [0xB5B7], NFC: [0xB5B7], NFD: [0x1104, 0x1165, 0x11BE], NFKC: [0xB5B7], NFKD: [0x1104, 0x1165, 0x11BE] }, -{ source: [0xB5B8], NFC: [0xB5B8], NFD: [0x1104, 0x1165, 0x11BF], NFKC: [0xB5B8], NFKD: [0x1104, 0x1165, 0x11BF] }, -{ source: [0xB5B9], NFC: [0xB5B9], NFD: [0x1104, 0x1165, 0x11C0], NFKC: [0xB5B9], NFKD: [0x1104, 0x1165, 0x11C0] }, -{ source: [0xB5BA], NFC: [0xB5BA], NFD: [0x1104, 0x1165, 0x11C1], NFKC: [0xB5BA], NFKD: [0x1104, 0x1165, 0x11C1] }, -{ source: [0xB5BB], NFC: [0xB5BB], NFD: [0x1104, 0x1165, 0x11C2], NFKC: [0xB5BB], NFKD: [0x1104, 0x1165, 0x11C2] }, -{ source: [0xB5BC], NFC: [0xB5BC], NFD: [0x1104, 0x1166], NFKC: [0xB5BC], NFKD: [0x1104, 0x1166] }, -{ source: [0xB5BD], NFC: [0xB5BD], NFD: [0x1104, 0x1166, 0x11A8], NFKC: [0xB5BD], NFKD: [0x1104, 0x1166, 0x11A8] }, -{ source: [0xB5BE], NFC: [0xB5BE], NFD: [0x1104, 0x1166, 0x11A9], NFKC: [0xB5BE], NFKD: [0x1104, 0x1166, 0x11A9] }, -{ source: [0xB5BF], NFC: [0xB5BF], NFD: [0x1104, 0x1166, 0x11AA], NFKC: [0xB5BF], NFKD: [0x1104, 0x1166, 0x11AA] }, -{ source: [0xB5C0], NFC: [0xB5C0], NFD: [0x1104, 0x1166, 0x11AB], NFKC: [0xB5C0], NFKD: [0x1104, 0x1166, 0x11AB] }, -{ source: [0xB5C1], NFC: [0xB5C1], NFD: [0x1104, 0x1166, 0x11AC], NFKC: [0xB5C1], NFKD: [0x1104, 0x1166, 0x11AC] }, -{ source: [0xB5C2], NFC: [0xB5C2], NFD: [0x1104, 0x1166, 0x11AD], NFKC: [0xB5C2], NFKD: [0x1104, 0x1166, 0x11AD] }, -{ source: [0xB5C3], NFC: [0xB5C3], NFD: [0x1104, 0x1166, 0x11AE], NFKC: [0xB5C3], NFKD: [0x1104, 0x1166, 0x11AE] }, -{ source: [0xB5C4], NFC: [0xB5C4], NFD: [0x1104, 0x1166, 0x11AF], NFKC: [0xB5C4], NFKD: [0x1104, 0x1166, 0x11AF] }, -{ source: [0xB5C5], NFC: [0xB5C5], NFD: [0x1104, 0x1166, 0x11B0], NFKC: [0xB5C5], NFKD: [0x1104, 0x1166, 0x11B0] }, -{ source: [0xB5C6], NFC: [0xB5C6], NFD: [0x1104, 0x1166, 0x11B1], NFKC: [0xB5C6], NFKD: [0x1104, 0x1166, 0x11B1] }, -{ source: [0xB5C7], NFC: [0xB5C7], NFD: [0x1104, 0x1166, 0x11B2], NFKC: [0xB5C7], NFKD: [0x1104, 0x1166, 0x11B2] }, -{ source: [0xB5C8], NFC: [0xB5C8], NFD: [0x1104, 0x1166, 0x11B3], NFKC: [0xB5C8], NFKD: [0x1104, 0x1166, 0x11B3] }, -{ source: [0xB5C9], NFC: [0xB5C9], NFD: [0x1104, 0x1166, 0x11B4], NFKC: [0xB5C9], NFKD: [0x1104, 0x1166, 0x11B4] }, -{ source: [0xB5CA], NFC: [0xB5CA], NFD: [0x1104, 0x1166, 0x11B5], NFKC: [0xB5CA], NFKD: [0x1104, 0x1166, 0x11B5] }, -{ source: [0xB5CB], NFC: [0xB5CB], NFD: [0x1104, 0x1166, 0x11B6], NFKC: [0xB5CB], NFKD: [0x1104, 0x1166, 0x11B6] }, -{ source: [0xB5CC], NFC: [0xB5CC], NFD: [0x1104, 0x1166, 0x11B7], NFKC: [0xB5CC], NFKD: [0x1104, 0x1166, 0x11B7] }, -{ source: [0xB5CD], NFC: [0xB5CD], NFD: [0x1104, 0x1166, 0x11B8], NFKC: [0xB5CD], NFKD: [0x1104, 0x1166, 0x11B8] }, -{ source: [0xB5CE], NFC: [0xB5CE], NFD: [0x1104, 0x1166, 0x11B9], NFKC: [0xB5CE], NFKD: [0x1104, 0x1166, 0x11B9] }, -{ source: [0xB5CF], NFC: [0xB5CF], NFD: [0x1104, 0x1166, 0x11BA], NFKC: [0xB5CF], NFKD: [0x1104, 0x1166, 0x11BA] }, -{ source: [0xB5D0], NFC: [0xB5D0], NFD: [0x1104, 0x1166, 0x11BB], NFKC: [0xB5D0], NFKD: [0x1104, 0x1166, 0x11BB] }, -{ source: [0xB5D1], NFC: [0xB5D1], NFD: [0x1104, 0x1166, 0x11BC], NFKC: [0xB5D1], NFKD: [0x1104, 0x1166, 0x11BC] }, -{ source: [0xB5D2], NFC: [0xB5D2], NFD: [0x1104, 0x1166, 0x11BD], NFKC: [0xB5D2], NFKD: [0x1104, 0x1166, 0x11BD] }, -{ source: [0xB5D3], NFC: [0xB5D3], NFD: [0x1104, 0x1166, 0x11BE], NFKC: [0xB5D3], NFKD: [0x1104, 0x1166, 0x11BE] }, -{ source: [0xB5D4], NFC: [0xB5D4], NFD: [0x1104, 0x1166, 0x11BF], NFKC: [0xB5D4], NFKD: [0x1104, 0x1166, 0x11BF] }, -{ source: [0xB5D5], NFC: [0xB5D5], NFD: [0x1104, 0x1166, 0x11C0], NFKC: [0xB5D5], NFKD: [0x1104, 0x1166, 0x11C0] }, -{ source: [0xB5D6], NFC: [0xB5D6], NFD: [0x1104, 0x1166, 0x11C1], NFKC: [0xB5D6], NFKD: [0x1104, 0x1166, 0x11C1] }, -{ source: [0xB5D7], NFC: [0xB5D7], NFD: [0x1104, 0x1166, 0x11C2], NFKC: [0xB5D7], NFKD: [0x1104, 0x1166, 0x11C2] }, -{ source: [0xB5D8], NFC: [0xB5D8], NFD: [0x1104, 0x1167], NFKC: [0xB5D8], NFKD: [0x1104, 0x1167] }, -{ source: [0xB5D9], NFC: [0xB5D9], NFD: [0x1104, 0x1167, 0x11A8], NFKC: [0xB5D9], NFKD: [0x1104, 0x1167, 0x11A8] }, -{ source: [0xB5DA], NFC: [0xB5DA], NFD: [0x1104, 0x1167, 0x11A9], NFKC: [0xB5DA], NFKD: [0x1104, 0x1167, 0x11A9] }, -{ source: [0xB5DB], NFC: [0xB5DB], NFD: [0x1104, 0x1167, 0x11AA], NFKC: [0xB5DB], NFKD: [0x1104, 0x1167, 0x11AA] }, -{ source: [0xB5DC], NFC: [0xB5DC], NFD: [0x1104, 0x1167, 0x11AB], NFKC: [0xB5DC], NFKD: [0x1104, 0x1167, 0x11AB] }, -{ source: [0xB5DD], NFC: [0xB5DD], NFD: [0x1104, 0x1167, 0x11AC], NFKC: [0xB5DD], NFKD: [0x1104, 0x1167, 0x11AC] }, -{ source: [0xB5DE], NFC: [0xB5DE], NFD: [0x1104, 0x1167, 0x11AD], NFKC: [0xB5DE], NFKD: [0x1104, 0x1167, 0x11AD] }, -{ source: [0xB5DF], NFC: [0xB5DF], NFD: [0x1104, 0x1167, 0x11AE], NFKC: [0xB5DF], NFKD: [0x1104, 0x1167, 0x11AE] }, -{ source: [0xB5E0], NFC: [0xB5E0], NFD: [0x1104, 0x1167, 0x11AF], NFKC: [0xB5E0], NFKD: [0x1104, 0x1167, 0x11AF] }, -{ source: [0xB5E1], NFC: [0xB5E1], NFD: [0x1104, 0x1167, 0x11B0], NFKC: [0xB5E1], NFKD: [0x1104, 0x1167, 0x11B0] }, -{ source: [0xB5E2], NFC: [0xB5E2], NFD: [0x1104, 0x1167, 0x11B1], NFKC: [0xB5E2], NFKD: [0x1104, 0x1167, 0x11B1] }, -{ source: [0xB5E3], NFC: [0xB5E3], NFD: [0x1104, 0x1167, 0x11B2], NFKC: [0xB5E3], NFKD: [0x1104, 0x1167, 0x11B2] }, -{ source: [0xB5E4], NFC: [0xB5E4], NFD: [0x1104, 0x1167, 0x11B3], NFKC: [0xB5E4], NFKD: [0x1104, 0x1167, 0x11B3] }, -{ source: [0xB5E5], NFC: [0xB5E5], NFD: [0x1104, 0x1167, 0x11B4], NFKC: [0xB5E5], NFKD: [0x1104, 0x1167, 0x11B4] }, -{ source: [0xB5E6], NFC: [0xB5E6], NFD: [0x1104, 0x1167, 0x11B5], NFKC: [0xB5E6], NFKD: [0x1104, 0x1167, 0x11B5] }, -{ source: [0xB5E7], NFC: [0xB5E7], NFD: [0x1104, 0x1167, 0x11B6], NFKC: [0xB5E7], NFKD: [0x1104, 0x1167, 0x11B6] }, -{ source: [0xB5E8], NFC: [0xB5E8], NFD: [0x1104, 0x1167, 0x11B7], NFKC: [0xB5E8], NFKD: [0x1104, 0x1167, 0x11B7] }, -{ source: [0xB5E9], NFC: [0xB5E9], NFD: [0x1104, 0x1167, 0x11B8], NFKC: [0xB5E9], NFKD: [0x1104, 0x1167, 0x11B8] }, -{ source: [0xB5EA], NFC: [0xB5EA], NFD: [0x1104, 0x1167, 0x11B9], NFKC: [0xB5EA], NFKD: [0x1104, 0x1167, 0x11B9] }, -{ source: [0xB5EB], NFC: [0xB5EB], NFD: [0x1104, 0x1167, 0x11BA], NFKC: [0xB5EB], NFKD: [0x1104, 0x1167, 0x11BA] }, -{ source: [0xB5EC], NFC: [0xB5EC], NFD: [0x1104, 0x1167, 0x11BB], NFKC: [0xB5EC], NFKD: [0x1104, 0x1167, 0x11BB] }, -{ source: [0xB5ED], NFC: [0xB5ED], NFD: [0x1104, 0x1167, 0x11BC], NFKC: [0xB5ED], NFKD: [0x1104, 0x1167, 0x11BC] }, -{ source: [0xB5EE], NFC: [0xB5EE], NFD: [0x1104, 0x1167, 0x11BD], NFKC: [0xB5EE], NFKD: [0x1104, 0x1167, 0x11BD] }, -{ source: [0xB5EF], NFC: [0xB5EF], NFD: [0x1104, 0x1167, 0x11BE], NFKC: [0xB5EF], NFKD: [0x1104, 0x1167, 0x11BE] }, -{ source: [0xB5F0], NFC: [0xB5F0], NFD: [0x1104, 0x1167, 0x11BF], NFKC: [0xB5F0], NFKD: [0x1104, 0x1167, 0x11BF] }, -{ source: [0xB5F1], NFC: [0xB5F1], NFD: [0x1104, 0x1167, 0x11C0], NFKC: [0xB5F1], NFKD: [0x1104, 0x1167, 0x11C0] }, -{ source: [0xB5F2], NFC: [0xB5F2], NFD: [0x1104, 0x1167, 0x11C1], NFKC: [0xB5F2], NFKD: [0x1104, 0x1167, 0x11C1] }, -{ source: [0xB5F3], NFC: [0xB5F3], NFD: [0x1104, 0x1167, 0x11C2], NFKC: [0xB5F3], NFKD: [0x1104, 0x1167, 0x11C2] }, -{ source: [0xB5F4], NFC: [0xB5F4], NFD: [0x1104, 0x1168], NFKC: [0xB5F4], NFKD: [0x1104, 0x1168] }, -{ source: [0xB5F5], NFC: [0xB5F5], NFD: [0x1104, 0x1168, 0x11A8], NFKC: [0xB5F5], NFKD: [0x1104, 0x1168, 0x11A8] }, -{ source: [0xB5F6], NFC: [0xB5F6], NFD: [0x1104, 0x1168, 0x11A9], NFKC: [0xB5F6], NFKD: [0x1104, 0x1168, 0x11A9] }, -{ source: [0xB5F7], NFC: [0xB5F7], NFD: [0x1104, 0x1168, 0x11AA], NFKC: [0xB5F7], NFKD: [0x1104, 0x1168, 0x11AA] }, -{ source: [0xB5F8], NFC: [0xB5F8], NFD: [0x1104, 0x1168, 0x11AB], NFKC: [0xB5F8], NFKD: [0x1104, 0x1168, 0x11AB] }, -{ source: [0xB5F9], NFC: [0xB5F9], NFD: [0x1104, 0x1168, 0x11AC], NFKC: [0xB5F9], NFKD: [0x1104, 0x1168, 0x11AC] }, -{ source: [0xB5FA], NFC: [0xB5FA], NFD: [0x1104, 0x1168, 0x11AD], NFKC: [0xB5FA], NFKD: [0x1104, 0x1168, 0x11AD] }, -{ source: [0xB5FB], NFC: [0xB5FB], NFD: [0x1104, 0x1168, 0x11AE], NFKC: [0xB5FB], NFKD: [0x1104, 0x1168, 0x11AE] }, -{ source: [0xB5FC], NFC: [0xB5FC], NFD: [0x1104, 0x1168, 0x11AF], NFKC: [0xB5FC], NFKD: [0x1104, 0x1168, 0x11AF] }, -{ source: [0xB5FD], NFC: [0xB5FD], NFD: [0x1104, 0x1168, 0x11B0], NFKC: [0xB5FD], NFKD: [0x1104, 0x1168, 0x11B0] }, -{ source: [0xB5FE], NFC: [0xB5FE], NFD: [0x1104, 0x1168, 0x11B1], NFKC: [0xB5FE], NFKD: [0x1104, 0x1168, 0x11B1] }, -{ source: [0xB5FF], NFC: [0xB5FF], NFD: [0x1104, 0x1168, 0x11B2], NFKC: [0xB5FF], NFKD: [0x1104, 0x1168, 0x11B2] }, -{ source: [0xB600], NFC: [0xB600], NFD: [0x1104, 0x1168, 0x11B3], NFKC: [0xB600], NFKD: [0x1104, 0x1168, 0x11B3] }, -{ source: [0xB601], NFC: [0xB601], NFD: [0x1104, 0x1168, 0x11B4], NFKC: [0xB601], NFKD: [0x1104, 0x1168, 0x11B4] }, -{ source: [0xB602], NFC: [0xB602], NFD: [0x1104, 0x1168, 0x11B5], NFKC: [0xB602], NFKD: [0x1104, 0x1168, 0x11B5] }, -{ source: [0xB603], NFC: [0xB603], NFD: [0x1104, 0x1168, 0x11B6], NFKC: [0xB603], NFKD: [0x1104, 0x1168, 0x11B6] }, -{ source: [0xB604], NFC: [0xB604], NFD: [0x1104, 0x1168, 0x11B7], NFKC: [0xB604], NFKD: [0x1104, 0x1168, 0x11B7] }, -{ source: [0xB605], NFC: [0xB605], NFD: [0x1104, 0x1168, 0x11B8], NFKC: [0xB605], NFKD: [0x1104, 0x1168, 0x11B8] }, -{ source: [0xB606], NFC: [0xB606], NFD: [0x1104, 0x1168, 0x11B9], NFKC: [0xB606], NFKD: [0x1104, 0x1168, 0x11B9] }, -{ source: [0xB607], NFC: [0xB607], NFD: [0x1104, 0x1168, 0x11BA], NFKC: [0xB607], NFKD: [0x1104, 0x1168, 0x11BA] }, -{ source: [0xB608], NFC: [0xB608], NFD: [0x1104, 0x1168, 0x11BB], NFKC: [0xB608], NFKD: [0x1104, 0x1168, 0x11BB] }, -{ source: [0xB609], NFC: [0xB609], NFD: [0x1104, 0x1168, 0x11BC], NFKC: [0xB609], NFKD: [0x1104, 0x1168, 0x11BC] }, -{ source: [0xB60A], NFC: [0xB60A], NFD: [0x1104, 0x1168, 0x11BD], NFKC: [0xB60A], NFKD: [0x1104, 0x1168, 0x11BD] }, -{ source: [0xB60B], NFC: [0xB60B], NFD: [0x1104, 0x1168, 0x11BE], NFKC: [0xB60B], NFKD: [0x1104, 0x1168, 0x11BE] }, -{ source: [0xB60C], NFC: [0xB60C], NFD: [0x1104, 0x1168, 0x11BF], NFKC: [0xB60C], NFKD: [0x1104, 0x1168, 0x11BF] }, -{ source: [0xB60D], NFC: [0xB60D], NFD: [0x1104, 0x1168, 0x11C0], NFKC: [0xB60D], NFKD: [0x1104, 0x1168, 0x11C0] }, -{ source: [0xB60E], NFC: [0xB60E], NFD: [0x1104, 0x1168, 0x11C1], NFKC: [0xB60E], NFKD: [0x1104, 0x1168, 0x11C1] }, -{ source: [0xB60F], NFC: [0xB60F], NFD: [0x1104, 0x1168, 0x11C2], NFKC: [0xB60F], NFKD: [0x1104, 0x1168, 0x11C2] }, -{ source: [0xB610], NFC: [0xB610], NFD: [0x1104, 0x1169], NFKC: [0xB610], NFKD: [0x1104, 0x1169] }, -{ source: [0xB611], NFC: [0xB611], NFD: [0x1104, 0x1169, 0x11A8], NFKC: [0xB611], NFKD: [0x1104, 0x1169, 0x11A8] }, -{ source: [0xB612], NFC: [0xB612], NFD: [0x1104, 0x1169, 0x11A9], NFKC: [0xB612], NFKD: [0x1104, 0x1169, 0x11A9] }, -{ source: [0xB613], NFC: [0xB613], NFD: [0x1104, 0x1169, 0x11AA], NFKC: [0xB613], NFKD: [0x1104, 0x1169, 0x11AA] }, -{ source: [0xB614], NFC: [0xB614], NFD: [0x1104, 0x1169, 0x11AB], NFKC: [0xB614], NFKD: [0x1104, 0x1169, 0x11AB] }, -{ source: [0xB615], NFC: [0xB615], NFD: [0x1104, 0x1169, 0x11AC], NFKC: [0xB615], NFKD: [0x1104, 0x1169, 0x11AC] }, -{ source: [0xB616], NFC: [0xB616], NFD: [0x1104, 0x1169, 0x11AD], NFKC: [0xB616], NFKD: [0x1104, 0x1169, 0x11AD] }, -{ source: [0xB617], NFC: [0xB617], NFD: [0x1104, 0x1169, 0x11AE], NFKC: [0xB617], NFKD: [0x1104, 0x1169, 0x11AE] }, -{ source: [0xB618], NFC: [0xB618], NFD: [0x1104, 0x1169, 0x11AF], NFKC: [0xB618], NFKD: [0x1104, 0x1169, 0x11AF] }, -{ source: [0xB619], NFC: [0xB619], NFD: [0x1104, 0x1169, 0x11B0], NFKC: [0xB619], NFKD: [0x1104, 0x1169, 0x11B0] }, -{ source: [0xB61A], NFC: [0xB61A], NFD: [0x1104, 0x1169, 0x11B1], NFKC: [0xB61A], NFKD: [0x1104, 0x1169, 0x11B1] }, -{ source: [0xB61B], NFC: [0xB61B], NFD: [0x1104, 0x1169, 0x11B2], NFKC: [0xB61B], NFKD: [0x1104, 0x1169, 0x11B2] }, -{ source: [0xB61C], NFC: [0xB61C], NFD: [0x1104, 0x1169, 0x11B3], NFKC: [0xB61C], NFKD: [0x1104, 0x1169, 0x11B3] }, -{ source: [0xB61D], NFC: [0xB61D], NFD: [0x1104, 0x1169, 0x11B4], NFKC: [0xB61D], NFKD: [0x1104, 0x1169, 0x11B4] }, -{ source: [0xB61E], NFC: [0xB61E], NFD: [0x1104, 0x1169, 0x11B5], NFKC: [0xB61E], NFKD: [0x1104, 0x1169, 0x11B5] }, -{ source: [0xB61F], NFC: [0xB61F], NFD: [0x1104, 0x1169, 0x11B6], NFKC: [0xB61F], NFKD: [0x1104, 0x1169, 0x11B6] }, -{ source: [0xB620], NFC: [0xB620], NFD: [0x1104, 0x1169, 0x11B7], NFKC: [0xB620], NFKD: [0x1104, 0x1169, 0x11B7] }, -{ source: [0xB621], NFC: [0xB621], NFD: [0x1104, 0x1169, 0x11B8], NFKC: [0xB621], NFKD: [0x1104, 0x1169, 0x11B8] }, -{ source: [0xB622], NFC: [0xB622], NFD: [0x1104, 0x1169, 0x11B9], NFKC: [0xB622], NFKD: [0x1104, 0x1169, 0x11B9] }, -{ source: [0xB623], NFC: [0xB623], NFD: [0x1104, 0x1169, 0x11BA], NFKC: [0xB623], NFKD: [0x1104, 0x1169, 0x11BA] }, -{ source: [0xB624], NFC: [0xB624], NFD: [0x1104, 0x1169, 0x11BB], NFKC: [0xB624], NFKD: [0x1104, 0x1169, 0x11BB] }, -{ source: [0xB625], NFC: [0xB625], NFD: [0x1104, 0x1169, 0x11BC], NFKC: [0xB625], NFKD: [0x1104, 0x1169, 0x11BC] }, -{ source: [0xB626], NFC: [0xB626], NFD: [0x1104, 0x1169, 0x11BD], NFKC: [0xB626], NFKD: [0x1104, 0x1169, 0x11BD] }, -{ source: [0xB627], NFC: [0xB627], NFD: [0x1104, 0x1169, 0x11BE], NFKC: [0xB627], NFKD: [0x1104, 0x1169, 0x11BE] }, -{ source: [0xB628], NFC: [0xB628], NFD: [0x1104, 0x1169, 0x11BF], NFKC: [0xB628], NFKD: [0x1104, 0x1169, 0x11BF] }, -{ source: [0xB629], NFC: [0xB629], NFD: [0x1104, 0x1169, 0x11C0], NFKC: [0xB629], NFKD: [0x1104, 0x1169, 0x11C0] }, -{ source: [0xB62A], NFC: [0xB62A], NFD: [0x1104, 0x1169, 0x11C1], NFKC: [0xB62A], NFKD: [0x1104, 0x1169, 0x11C1] }, -{ source: [0xB62B], NFC: [0xB62B], NFD: [0x1104, 0x1169, 0x11C2], NFKC: [0xB62B], NFKD: [0x1104, 0x1169, 0x11C2] }, -{ source: [0xB62C], NFC: [0xB62C], NFD: [0x1104, 0x116A], NFKC: [0xB62C], NFKD: [0x1104, 0x116A] }, -{ source: [0xB62D], NFC: [0xB62D], NFD: [0x1104, 0x116A, 0x11A8], NFKC: [0xB62D], NFKD: [0x1104, 0x116A, 0x11A8] }, -{ source: [0xB62E], NFC: [0xB62E], NFD: [0x1104, 0x116A, 0x11A9], NFKC: [0xB62E], NFKD: [0x1104, 0x116A, 0x11A9] }, -{ source: [0xB62F], NFC: [0xB62F], NFD: [0x1104, 0x116A, 0x11AA], NFKC: [0xB62F], NFKD: [0x1104, 0x116A, 0x11AA] }, -{ source: [0xB630], NFC: [0xB630], NFD: [0x1104, 0x116A, 0x11AB], NFKC: [0xB630], NFKD: [0x1104, 0x116A, 0x11AB] }, -{ source: [0xB631], NFC: [0xB631], NFD: [0x1104, 0x116A, 0x11AC], NFKC: [0xB631], NFKD: [0x1104, 0x116A, 0x11AC] }, -{ source: [0xB632], NFC: [0xB632], NFD: [0x1104, 0x116A, 0x11AD], NFKC: [0xB632], NFKD: [0x1104, 0x116A, 0x11AD] }, -{ source: [0xB633], NFC: [0xB633], NFD: [0x1104, 0x116A, 0x11AE], NFKC: [0xB633], NFKD: [0x1104, 0x116A, 0x11AE] }, -{ source: [0xB634], NFC: [0xB634], NFD: [0x1104, 0x116A, 0x11AF], NFKC: [0xB634], NFKD: [0x1104, 0x116A, 0x11AF] }, -{ source: [0xB635], NFC: [0xB635], NFD: [0x1104, 0x116A, 0x11B0], NFKC: [0xB635], NFKD: [0x1104, 0x116A, 0x11B0] }, -{ source: [0xB636], NFC: [0xB636], NFD: [0x1104, 0x116A, 0x11B1], NFKC: [0xB636], NFKD: [0x1104, 0x116A, 0x11B1] }, -{ source: [0xB637], NFC: [0xB637], NFD: [0x1104, 0x116A, 0x11B2], NFKC: [0xB637], NFKD: [0x1104, 0x116A, 0x11B2] }, -{ source: [0xB638], NFC: [0xB638], NFD: [0x1104, 0x116A, 0x11B3], NFKC: [0xB638], NFKD: [0x1104, 0x116A, 0x11B3] }, -{ source: [0xB639], NFC: [0xB639], NFD: [0x1104, 0x116A, 0x11B4], NFKC: [0xB639], NFKD: [0x1104, 0x116A, 0x11B4] }, -{ source: [0xB63A], NFC: [0xB63A], NFD: [0x1104, 0x116A, 0x11B5], NFKC: [0xB63A], NFKD: [0x1104, 0x116A, 0x11B5] }, -{ source: [0xB63B], NFC: [0xB63B], NFD: [0x1104, 0x116A, 0x11B6], NFKC: [0xB63B], NFKD: [0x1104, 0x116A, 0x11B6] }, -{ source: [0xB63C], NFC: [0xB63C], NFD: [0x1104, 0x116A, 0x11B7], NFKC: [0xB63C], NFKD: [0x1104, 0x116A, 0x11B7] }, -{ source: [0xB63D], NFC: [0xB63D], NFD: [0x1104, 0x116A, 0x11B8], NFKC: [0xB63D], NFKD: [0x1104, 0x116A, 0x11B8] }, -{ source: [0xB63E], NFC: [0xB63E], NFD: [0x1104, 0x116A, 0x11B9], NFKC: [0xB63E], NFKD: [0x1104, 0x116A, 0x11B9] }, -{ source: [0xB63F], NFC: [0xB63F], NFD: [0x1104, 0x116A, 0x11BA], NFKC: [0xB63F], NFKD: [0x1104, 0x116A, 0x11BA] }, -{ source: [0xB640], NFC: [0xB640], NFD: [0x1104, 0x116A, 0x11BB], NFKC: [0xB640], NFKD: [0x1104, 0x116A, 0x11BB] }, -{ source: [0xB641], NFC: [0xB641], NFD: [0x1104, 0x116A, 0x11BC], NFKC: [0xB641], NFKD: [0x1104, 0x116A, 0x11BC] }, -{ source: [0xB642], NFC: [0xB642], NFD: [0x1104, 0x116A, 0x11BD], NFKC: [0xB642], NFKD: [0x1104, 0x116A, 0x11BD] }, -{ source: [0xB643], NFC: [0xB643], NFD: [0x1104, 0x116A, 0x11BE], NFKC: [0xB643], NFKD: [0x1104, 0x116A, 0x11BE] }, -{ source: [0xB644], NFC: [0xB644], NFD: [0x1104, 0x116A, 0x11BF], NFKC: [0xB644], NFKD: [0x1104, 0x116A, 0x11BF] }, -{ source: [0xB645], NFC: [0xB645], NFD: [0x1104, 0x116A, 0x11C0], NFKC: [0xB645], NFKD: [0x1104, 0x116A, 0x11C0] }, -{ source: [0xB646], NFC: [0xB646], NFD: [0x1104, 0x116A, 0x11C1], NFKC: [0xB646], NFKD: [0x1104, 0x116A, 0x11C1] }, -{ source: [0xB647], NFC: [0xB647], NFD: [0x1104, 0x116A, 0x11C2], NFKC: [0xB647], NFKD: [0x1104, 0x116A, 0x11C2] }, -{ source: [0xB648], NFC: [0xB648], NFD: [0x1104, 0x116B], NFKC: [0xB648], NFKD: [0x1104, 0x116B] }, -{ source: [0xB649], NFC: [0xB649], NFD: [0x1104, 0x116B, 0x11A8], NFKC: [0xB649], NFKD: [0x1104, 0x116B, 0x11A8] }, -{ source: [0xB64A], NFC: [0xB64A], NFD: [0x1104, 0x116B, 0x11A9], NFKC: [0xB64A], NFKD: [0x1104, 0x116B, 0x11A9] }, -{ source: [0xB64B], NFC: [0xB64B], NFD: [0x1104, 0x116B, 0x11AA], NFKC: [0xB64B], NFKD: [0x1104, 0x116B, 0x11AA] }, -{ source: [0xB64C], NFC: [0xB64C], NFD: [0x1104, 0x116B, 0x11AB], NFKC: [0xB64C], NFKD: [0x1104, 0x116B, 0x11AB] }, -{ source: [0xB64D], NFC: [0xB64D], NFD: [0x1104, 0x116B, 0x11AC], NFKC: [0xB64D], NFKD: [0x1104, 0x116B, 0x11AC] }, -{ source: [0xB64E], NFC: [0xB64E], NFD: [0x1104, 0x116B, 0x11AD], NFKC: [0xB64E], NFKD: [0x1104, 0x116B, 0x11AD] }, -{ source: [0xB64F], NFC: [0xB64F], NFD: [0x1104, 0x116B, 0x11AE], NFKC: [0xB64F], NFKD: [0x1104, 0x116B, 0x11AE] }, -{ source: [0xB650], NFC: [0xB650], NFD: [0x1104, 0x116B, 0x11AF], NFKC: [0xB650], NFKD: [0x1104, 0x116B, 0x11AF] }, -{ source: [0xB651], NFC: [0xB651], NFD: [0x1104, 0x116B, 0x11B0], NFKC: [0xB651], NFKD: [0x1104, 0x116B, 0x11B0] }, -{ source: [0xB652], NFC: [0xB652], NFD: [0x1104, 0x116B, 0x11B1], NFKC: [0xB652], NFKD: [0x1104, 0x116B, 0x11B1] }, -{ source: [0xB653], NFC: [0xB653], NFD: [0x1104, 0x116B, 0x11B2], NFKC: [0xB653], NFKD: [0x1104, 0x116B, 0x11B2] }, -{ source: [0xB654], NFC: [0xB654], NFD: [0x1104, 0x116B, 0x11B3], NFKC: [0xB654], NFKD: [0x1104, 0x116B, 0x11B3] }, -{ source: [0xB655], NFC: [0xB655], NFD: [0x1104, 0x116B, 0x11B4], NFKC: [0xB655], NFKD: [0x1104, 0x116B, 0x11B4] }, -{ source: [0xB656], NFC: [0xB656], NFD: [0x1104, 0x116B, 0x11B5], NFKC: [0xB656], NFKD: [0x1104, 0x116B, 0x11B5] }, -{ source: [0xB657], NFC: [0xB657], NFD: [0x1104, 0x116B, 0x11B6], NFKC: [0xB657], NFKD: [0x1104, 0x116B, 0x11B6] }, -{ source: [0xB658], NFC: [0xB658], NFD: [0x1104, 0x116B, 0x11B7], NFKC: [0xB658], NFKD: [0x1104, 0x116B, 0x11B7] }, -{ source: [0xB659], NFC: [0xB659], NFD: [0x1104, 0x116B, 0x11B8], NFKC: [0xB659], NFKD: [0x1104, 0x116B, 0x11B8] }, -{ source: [0xB65A], NFC: [0xB65A], NFD: [0x1104, 0x116B, 0x11B9], NFKC: [0xB65A], NFKD: [0x1104, 0x116B, 0x11B9] }, -{ source: [0xB65B], NFC: [0xB65B], NFD: [0x1104, 0x116B, 0x11BA], NFKC: [0xB65B], NFKD: [0x1104, 0x116B, 0x11BA] }, -{ source: [0xB65C], NFC: [0xB65C], NFD: [0x1104, 0x116B, 0x11BB], NFKC: [0xB65C], NFKD: [0x1104, 0x116B, 0x11BB] }, -{ source: [0xB65D], NFC: [0xB65D], NFD: [0x1104, 0x116B, 0x11BC], NFKC: [0xB65D], NFKD: [0x1104, 0x116B, 0x11BC] }, -{ source: [0xB65E], NFC: [0xB65E], NFD: [0x1104, 0x116B, 0x11BD], NFKC: [0xB65E], NFKD: [0x1104, 0x116B, 0x11BD] }, -{ source: [0xB65F], NFC: [0xB65F], NFD: [0x1104, 0x116B, 0x11BE], NFKC: [0xB65F], NFKD: [0x1104, 0x116B, 0x11BE] }, -{ source: [0xB660], NFC: [0xB660], NFD: [0x1104, 0x116B, 0x11BF], NFKC: [0xB660], NFKD: [0x1104, 0x116B, 0x11BF] }, -{ source: [0xB661], NFC: [0xB661], NFD: [0x1104, 0x116B, 0x11C0], NFKC: [0xB661], NFKD: [0x1104, 0x116B, 0x11C0] }, -{ source: [0xB662], NFC: [0xB662], NFD: [0x1104, 0x116B, 0x11C1], NFKC: [0xB662], NFKD: [0x1104, 0x116B, 0x11C1] }, -{ source: [0xB663], NFC: [0xB663], NFD: [0x1104, 0x116B, 0x11C2], NFKC: [0xB663], NFKD: [0x1104, 0x116B, 0x11C2] }, -{ source: [0xB664], NFC: [0xB664], NFD: [0x1104, 0x116C], NFKC: [0xB664], NFKD: [0x1104, 0x116C] }, -{ source: [0xB665], NFC: [0xB665], NFD: [0x1104, 0x116C, 0x11A8], NFKC: [0xB665], NFKD: [0x1104, 0x116C, 0x11A8] }, -{ source: [0xB666], NFC: [0xB666], NFD: [0x1104, 0x116C, 0x11A9], NFKC: [0xB666], NFKD: [0x1104, 0x116C, 0x11A9] }, -{ source: [0xB667], NFC: [0xB667], NFD: [0x1104, 0x116C, 0x11AA], NFKC: [0xB667], NFKD: [0x1104, 0x116C, 0x11AA] }, -{ source: [0xB668], NFC: [0xB668], NFD: [0x1104, 0x116C, 0x11AB], NFKC: [0xB668], NFKD: [0x1104, 0x116C, 0x11AB] }, -{ source: [0xB669], NFC: [0xB669], NFD: [0x1104, 0x116C, 0x11AC], NFKC: [0xB669], NFKD: [0x1104, 0x116C, 0x11AC] }, -{ source: [0xB66A], NFC: [0xB66A], NFD: [0x1104, 0x116C, 0x11AD], NFKC: [0xB66A], NFKD: [0x1104, 0x116C, 0x11AD] }, -{ source: [0xB66B], NFC: [0xB66B], NFD: [0x1104, 0x116C, 0x11AE], NFKC: [0xB66B], NFKD: [0x1104, 0x116C, 0x11AE] }, -{ source: [0xB66C], NFC: [0xB66C], NFD: [0x1104, 0x116C, 0x11AF], NFKC: [0xB66C], NFKD: [0x1104, 0x116C, 0x11AF] }, -{ source: [0xB66D], NFC: [0xB66D], NFD: [0x1104, 0x116C, 0x11B0], NFKC: [0xB66D], NFKD: [0x1104, 0x116C, 0x11B0] }, -{ source: [0xB66E], NFC: [0xB66E], NFD: [0x1104, 0x116C, 0x11B1], NFKC: [0xB66E], NFKD: [0x1104, 0x116C, 0x11B1] }, -{ source: [0xB66F], NFC: [0xB66F], NFD: [0x1104, 0x116C, 0x11B2], NFKC: [0xB66F], NFKD: [0x1104, 0x116C, 0x11B2] }, -{ source: [0xB670], NFC: [0xB670], NFD: [0x1104, 0x116C, 0x11B3], NFKC: [0xB670], NFKD: [0x1104, 0x116C, 0x11B3] }, -{ source: [0xB671], NFC: [0xB671], NFD: [0x1104, 0x116C, 0x11B4], NFKC: [0xB671], NFKD: [0x1104, 0x116C, 0x11B4] }, -{ source: [0xB672], NFC: [0xB672], NFD: [0x1104, 0x116C, 0x11B5], NFKC: [0xB672], NFKD: [0x1104, 0x116C, 0x11B5] }, -{ source: [0xB673], NFC: [0xB673], NFD: [0x1104, 0x116C, 0x11B6], NFKC: [0xB673], NFKD: [0x1104, 0x116C, 0x11B6] }, -{ source: [0xB674], NFC: [0xB674], NFD: [0x1104, 0x116C, 0x11B7], NFKC: [0xB674], NFKD: [0x1104, 0x116C, 0x11B7] }, -{ source: [0xB675], NFC: [0xB675], NFD: [0x1104, 0x116C, 0x11B8], NFKC: [0xB675], NFKD: [0x1104, 0x116C, 0x11B8] }, -{ source: [0xB676], NFC: [0xB676], NFD: [0x1104, 0x116C, 0x11B9], NFKC: [0xB676], NFKD: [0x1104, 0x116C, 0x11B9] }, -{ source: [0xB677], NFC: [0xB677], NFD: [0x1104, 0x116C, 0x11BA], NFKC: [0xB677], NFKD: [0x1104, 0x116C, 0x11BA] }, -{ source: [0xB678], NFC: [0xB678], NFD: [0x1104, 0x116C, 0x11BB], NFKC: [0xB678], NFKD: [0x1104, 0x116C, 0x11BB] }, -{ source: [0xB679], NFC: [0xB679], NFD: [0x1104, 0x116C, 0x11BC], NFKC: [0xB679], NFKD: [0x1104, 0x116C, 0x11BC] }, -{ source: [0xB67A], NFC: [0xB67A], NFD: [0x1104, 0x116C, 0x11BD], NFKC: [0xB67A], NFKD: [0x1104, 0x116C, 0x11BD] }, -{ source: [0xB67B], NFC: [0xB67B], NFD: [0x1104, 0x116C, 0x11BE], NFKC: [0xB67B], NFKD: [0x1104, 0x116C, 0x11BE] }, -{ source: [0xB67C], NFC: [0xB67C], NFD: [0x1104, 0x116C, 0x11BF], NFKC: [0xB67C], NFKD: [0x1104, 0x116C, 0x11BF] }, -{ source: [0xB67D], NFC: [0xB67D], NFD: [0x1104, 0x116C, 0x11C0], NFKC: [0xB67D], NFKD: [0x1104, 0x116C, 0x11C0] }, -{ source: [0xB67E], NFC: [0xB67E], NFD: [0x1104, 0x116C, 0x11C1], NFKC: [0xB67E], NFKD: [0x1104, 0x116C, 0x11C1] }, -{ source: [0xB67F], NFC: [0xB67F], NFD: [0x1104, 0x116C, 0x11C2], NFKC: [0xB67F], NFKD: [0x1104, 0x116C, 0x11C2] }, -{ source: [0xB680], NFC: [0xB680], NFD: [0x1104, 0x116D], NFKC: [0xB680], NFKD: [0x1104, 0x116D] }, -{ source: [0xB681], NFC: [0xB681], NFD: [0x1104, 0x116D, 0x11A8], NFKC: [0xB681], NFKD: [0x1104, 0x116D, 0x11A8] }, -{ source: [0xB682], NFC: [0xB682], NFD: [0x1104, 0x116D, 0x11A9], NFKC: [0xB682], NFKD: [0x1104, 0x116D, 0x11A9] }, -{ source: [0xB683], NFC: [0xB683], NFD: [0x1104, 0x116D, 0x11AA], NFKC: [0xB683], NFKD: [0x1104, 0x116D, 0x11AA] }, -{ source: [0xB684], NFC: [0xB684], NFD: [0x1104, 0x116D, 0x11AB], NFKC: [0xB684], NFKD: [0x1104, 0x116D, 0x11AB] }, -{ source: [0xB685], NFC: [0xB685], NFD: [0x1104, 0x116D, 0x11AC], NFKC: [0xB685], NFKD: [0x1104, 0x116D, 0x11AC] }, -{ source: [0xB686], NFC: [0xB686], NFD: [0x1104, 0x116D, 0x11AD], NFKC: [0xB686], NFKD: [0x1104, 0x116D, 0x11AD] }, -{ source: [0xB687], NFC: [0xB687], NFD: [0x1104, 0x116D, 0x11AE], NFKC: [0xB687], NFKD: [0x1104, 0x116D, 0x11AE] }, -{ source: [0xB688], NFC: [0xB688], NFD: [0x1104, 0x116D, 0x11AF], NFKC: [0xB688], NFKD: [0x1104, 0x116D, 0x11AF] }, -{ source: [0xB689], NFC: [0xB689], NFD: [0x1104, 0x116D, 0x11B0], NFKC: [0xB689], NFKD: [0x1104, 0x116D, 0x11B0] }, -{ source: [0xB68A], NFC: [0xB68A], NFD: [0x1104, 0x116D, 0x11B1], NFKC: [0xB68A], NFKD: [0x1104, 0x116D, 0x11B1] }, -{ source: [0xB68B], NFC: [0xB68B], NFD: [0x1104, 0x116D, 0x11B2], NFKC: [0xB68B], NFKD: [0x1104, 0x116D, 0x11B2] }, -{ source: [0xB68C], NFC: [0xB68C], NFD: [0x1104, 0x116D, 0x11B3], NFKC: [0xB68C], NFKD: [0x1104, 0x116D, 0x11B3] }, -{ source: [0xB68D], NFC: [0xB68D], NFD: [0x1104, 0x116D, 0x11B4], NFKC: [0xB68D], NFKD: [0x1104, 0x116D, 0x11B4] }, -{ source: [0xB68E], NFC: [0xB68E], NFD: [0x1104, 0x116D, 0x11B5], NFKC: [0xB68E], NFKD: [0x1104, 0x116D, 0x11B5] }, -{ source: [0xB68F], NFC: [0xB68F], NFD: [0x1104, 0x116D, 0x11B6], NFKC: [0xB68F], NFKD: [0x1104, 0x116D, 0x11B6] }, -{ source: [0xB690], NFC: [0xB690], NFD: [0x1104, 0x116D, 0x11B7], NFKC: [0xB690], NFKD: [0x1104, 0x116D, 0x11B7] }, -{ source: [0xB691], NFC: [0xB691], NFD: [0x1104, 0x116D, 0x11B8], NFKC: [0xB691], NFKD: [0x1104, 0x116D, 0x11B8] }, -{ source: [0xB692], NFC: [0xB692], NFD: [0x1104, 0x116D, 0x11B9], NFKC: [0xB692], NFKD: [0x1104, 0x116D, 0x11B9] }, -{ source: [0xB693], NFC: [0xB693], NFD: [0x1104, 0x116D, 0x11BA], NFKC: [0xB693], NFKD: [0x1104, 0x116D, 0x11BA] }, -{ source: [0xB694], NFC: [0xB694], NFD: [0x1104, 0x116D, 0x11BB], NFKC: [0xB694], NFKD: [0x1104, 0x116D, 0x11BB] }, -{ source: [0xB695], NFC: [0xB695], NFD: [0x1104, 0x116D, 0x11BC], NFKC: [0xB695], NFKD: [0x1104, 0x116D, 0x11BC] }, -{ source: [0xB696], NFC: [0xB696], NFD: [0x1104, 0x116D, 0x11BD], NFKC: [0xB696], NFKD: [0x1104, 0x116D, 0x11BD] }, -{ source: [0xB697], NFC: [0xB697], NFD: [0x1104, 0x116D, 0x11BE], NFKC: [0xB697], NFKD: [0x1104, 0x116D, 0x11BE] }, -{ source: [0xB698], NFC: [0xB698], NFD: [0x1104, 0x116D, 0x11BF], NFKC: [0xB698], NFKD: [0x1104, 0x116D, 0x11BF] }, -{ source: [0xB699], NFC: [0xB699], NFD: [0x1104, 0x116D, 0x11C0], NFKC: [0xB699], NFKD: [0x1104, 0x116D, 0x11C0] }, -{ source: [0xB69A], NFC: [0xB69A], NFD: [0x1104, 0x116D, 0x11C1], NFKC: [0xB69A], NFKD: [0x1104, 0x116D, 0x11C1] }, -{ source: [0xB69B], NFC: [0xB69B], NFD: [0x1104, 0x116D, 0x11C2], NFKC: [0xB69B], NFKD: [0x1104, 0x116D, 0x11C2] }, -{ source: [0xB69C], NFC: [0xB69C], NFD: [0x1104, 0x116E], NFKC: [0xB69C], NFKD: [0x1104, 0x116E] }, -{ source: [0xB69D], NFC: [0xB69D], NFD: [0x1104, 0x116E, 0x11A8], NFKC: [0xB69D], NFKD: [0x1104, 0x116E, 0x11A8] }, -{ source: [0xB69E], NFC: [0xB69E], NFD: [0x1104, 0x116E, 0x11A9], NFKC: [0xB69E], NFKD: [0x1104, 0x116E, 0x11A9] }, -{ source: [0xB69F], NFC: [0xB69F], NFD: [0x1104, 0x116E, 0x11AA], NFKC: [0xB69F], NFKD: [0x1104, 0x116E, 0x11AA] }, -{ source: [0xB6A0], NFC: [0xB6A0], NFD: [0x1104, 0x116E, 0x11AB], NFKC: [0xB6A0], NFKD: [0x1104, 0x116E, 0x11AB] }, -{ source: [0xB6A1], NFC: [0xB6A1], NFD: [0x1104, 0x116E, 0x11AC], NFKC: [0xB6A1], NFKD: [0x1104, 0x116E, 0x11AC] }, -{ source: [0xB6A2], NFC: [0xB6A2], NFD: [0x1104, 0x116E, 0x11AD], NFKC: [0xB6A2], NFKD: [0x1104, 0x116E, 0x11AD] }, -{ source: [0xB6A3], NFC: [0xB6A3], NFD: [0x1104, 0x116E, 0x11AE], NFKC: [0xB6A3], NFKD: [0x1104, 0x116E, 0x11AE] }, -{ source: [0xB6A4], NFC: [0xB6A4], NFD: [0x1104, 0x116E, 0x11AF], NFKC: [0xB6A4], NFKD: [0x1104, 0x116E, 0x11AF] }, -{ source: [0xB6A5], NFC: [0xB6A5], NFD: [0x1104, 0x116E, 0x11B0], NFKC: [0xB6A5], NFKD: [0x1104, 0x116E, 0x11B0] }, -{ source: [0xB6A6], NFC: [0xB6A6], NFD: [0x1104, 0x116E, 0x11B1], NFKC: [0xB6A6], NFKD: [0x1104, 0x116E, 0x11B1] }, -{ source: [0xB6A7], NFC: [0xB6A7], NFD: [0x1104, 0x116E, 0x11B2], NFKC: [0xB6A7], NFKD: [0x1104, 0x116E, 0x11B2] }, -{ source: [0xB6A8], NFC: [0xB6A8], NFD: [0x1104, 0x116E, 0x11B3], NFKC: [0xB6A8], NFKD: [0x1104, 0x116E, 0x11B3] }, -{ source: [0xB6A9], NFC: [0xB6A9], NFD: [0x1104, 0x116E, 0x11B4], NFKC: [0xB6A9], NFKD: [0x1104, 0x116E, 0x11B4] }, -{ source: [0xB6AA], NFC: [0xB6AA], NFD: [0x1104, 0x116E, 0x11B5], NFKC: [0xB6AA], NFKD: [0x1104, 0x116E, 0x11B5] }, -{ source: [0xB6AB], NFC: [0xB6AB], NFD: [0x1104, 0x116E, 0x11B6], NFKC: [0xB6AB], NFKD: [0x1104, 0x116E, 0x11B6] }, -{ source: [0xB6AC], NFC: [0xB6AC], NFD: [0x1104, 0x116E, 0x11B7], NFKC: [0xB6AC], NFKD: [0x1104, 0x116E, 0x11B7] }, -{ source: [0xB6AD], NFC: [0xB6AD], NFD: [0x1104, 0x116E, 0x11B8], NFKC: [0xB6AD], NFKD: [0x1104, 0x116E, 0x11B8] }, -{ source: [0xB6AE], NFC: [0xB6AE], NFD: [0x1104, 0x116E, 0x11B9], NFKC: [0xB6AE], NFKD: [0x1104, 0x116E, 0x11B9] }, -{ source: [0xB6AF], NFC: [0xB6AF], NFD: [0x1104, 0x116E, 0x11BA], NFKC: [0xB6AF], NFKD: [0x1104, 0x116E, 0x11BA] }, -{ source: [0xB6B0], NFC: [0xB6B0], NFD: [0x1104, 0x116E, 0x11BB], NFKC: [0xB6B0], NFKD: [0x1104, 0x116E, 0x11BB] }, -{ source: [0xB6B1], NFC: [0xB6B1], NFD: [0x1104, 0x116E, 0x11BC], NFKC: [0xB6B1], NFKD: [0x1104, 0x116E, 0x11BC] }, -{ source: [0xB6B2], NFC: [0xB6B2], NFD: [0x1104, 0x116E, 0x11BD], NFKC: [0xB6B2], NFKD: [0x1104, 0x116E, 0x11BD] }, -{ source: [0xB6B3], NFC: [0xB6B3], NFD: [0x1104, 0x116E, 0x11BE], NFKC: [0xB6B3], NFKD: [0x1104, 0x116E, 0x11BE] }, -{ source: [0xB6B4], NFC: [0xB6B4], NFD: [0x1104, 0x116E, 0x11BF], NFKC: [0xB6B4], NFKD: [0x1104, 0x116E, 0x11BF] }, -{ source: [0xB6B5], NFC: [0xB6B5], NFD: [0x1104, 0x116E, 0x11C0], NFKC: [0xB6B5], NFKD: [0x1104, 0x116E, 0x11C0] }, -{ source: [0xB6B6], NFC: [0xB6B6], NFD: [0x1104, 0x116E, 0x11C1], NFKC: [0xB6B6], NFKD: [0x1104, 0x116E, 0x11C1] }, -{ source: [0xB6B7], NFC: [0xB6B7], NFD: [0x1104, 0x116E, 0x11C2], NFKC: [0xB6B7], NFKD: [0x1104, 0x116E, 0x11C2] }, -{ source: [0xB6B8], NFC: [0xB6B8], NFD: [0x1104, 0x116F], NFKC: [0xB6B8], NFKD: [0x1104, 0x116F] }, -{ source: [0xB6B9], NFC: [0xB6B9], NFD: [0x1104, 0x116F, 0x11A8], NFKC: [0xB6B9], NFKD: [0x1104, 0x116F, 0x11A8] }, -{ source: [0xB6BA], NFC: [0xB6BA], NFD: [0x1104, 0x116F, 0x11A9], NFKC: [0xB6BA], NFKD: [0x1104, 0x116F, 0x11A9] }, -{ source: [0xB6BB], NFC: [0xB6BB], NFD: [0x1104, 0x116F, 0x11AA], NFKC: [0xB6BB], NFKD: [0x1104, 0x116F, 0x11AA] }, -{ source: [0xB6BC], NFC: [0xB6BC], NFD: [0x1104, 0x116F, 0x11AB], NFKC: [0xB6BC], NFKD: [0x1104, 0x116F, 0x11AB] }, -{ source: [0xB6BD], NFC: [0xB6BD], NFD: [0x1104, 0x116F, 0x11AC], NFKC: [0xB6BD], NFKD: [0x1104, 0x116F, 0x11AC] }, -{ source: [0xB6BE], NFC: [0xB6BE], NFD: [0x1104, 0x116F, 0x11AD], NFKC: [0xB6BE], NFKD: [0x1104, 0x116F, 0x11AD] }, -{ source: [0xB6BF], NFC: [0xB6BF], NFD: [0x1104, 0x116F, 0x11AE], NFKC: [0xB6BF], NFKD: [0x1104, 0x116F, 0x11AE] }, -{ source: [0xB6C0], NFC: [0xB6C0], NFD: [0x1104, 0x116F, 0x11AF], NFKC: [0xB6C0], NFKD: [0x1104, 0x116F, 0x11AF] }, -{ source: [0xB6C1], NFC: [0xB6C1], NFD: [0x1104, 0x116F, 0x11B0], NFKC: [0xB6C1], NFKD: [0x1104, 0x116F, 0x11B0] }, -{ source: [0xB6C2], NFC: [0xB6C2], NFD: [0x1104, 0x116F, 0x11B1], NFKC: [0xB6C2], NFKD: [0x1104, 0x116F, 0x11B1] }, -{ source: [0xB6C3], NFC: [0xB6C3], NFD: [0x1104, 0x116F, 0x11B2], NFKC: [0xB6C3], NFKD: [0x1104, 0x116F, 0x11B2] }, -{ source: [0xB6C4], NFC: [0xB6C4], NFD: [0x1104, 0x116F, 0x11B3], NFKC: [0xB6C4], NFKD: [0x1104, 0x116F, 0x11B3] }, -{ source: [0xB6C5], NFC: [0xB6C5], NFD: [0x1104, 0x116F, 0x11B4], NFKC: [0xB6C5], NFKD: [0x1104, 0x116F, 0x11B4] }, -{ source: [0xB6C6], NFC: [0xB6C6], NFD: [0x1104, 0x116F, 0x11B5], NFKC: [0xB6C6], NFKD: [0x1104, 0x116F, 0x11B5] }, -{ source: [0xB6C7], NFC: [0xB6C7], NFD: [0x1104, 0x116F, 0x11B6], NFKC: [0xB6C7], NFKD: [0x1104, 0x116F, 0x11B6] }, -{ source: [0xB6C8], NFC: [0xB6C8], NFD: [0x1104, 0x116F, 0x11B7], NFKC: [0xB6C8], NFKD: [0x1104, 0x116F, 0x11B7] }, -{ source: [0xB6C9], NFC: [0xB6C9], NFD: [0x1104, 0x116F, 0x11B8], NFKC: [0xB6C9], NFKD: [0x1104, 0x116F, 0x11B8] }, -{ source: [0xB6CA], NFC: [0xB6CA], NFD: [0x1104, 0x116F, 0x11B9], NFKC: [0xB6CA], NFKD: [0x1104, 0x116F, 0x11B9] }, -{ source: [0xB6CB], NFC: [0xB6CB], NFD: [0x1104, 0x116F, 0x11BA], NFKC: [0xB6CB], NFKD: [0x1104, 0x116F, 0x11BA] }, -{ source: [0xB6CC], NFC: [0xB6CC], NFD: [0x1104, 0x116F, 0x11BB], NFKC: [0xB6CC], NFKD: [0x1104, 0x116F, 0x11BB] }, -{ source: [0xB6CD], NFC: [0xB6CD], NFD: [0x1104, 0x116F, 0x11BC], NFKC: [0xB6CD], NFKD: [0x1104, 0x116F, 0x11BC] }, -{ source: [0xB6CE], NFC: [0xB6CE], NFD: [0x1104, 0x116F, 0x11BD], NFKC: [0xB6CE], NFKD: [0x1104, 0x116F, 0x11BD] }, -{ source: [0xB6CF], NFC: [0xB6CF], NFD: [0x1104, 0x116F, 0x11BE], NFKC: [0xB6CF], NFKD: [0x1104, 0x116F, 0x11BE] }, -{ source: [0xB6D0], NFC: [0xB6D0], NFD: [0x1104, 0x116F, 0x11BF], NFKC: [0xB6D0], NFKD: [0x1104, 0x116F, 0x11BF] }, -{ source: [0xB6D1], NFC: [0xB6D1], NFD: [0x1104, 0x116F, 0x11C0], NFKC: [0xB6D1], NFKD: [0x1104, 0x116F, 0x11C0] }, -{ source: [0xB6D2], NFC: [0xB6D2], NFD: [0x1104, 0x116F, 0x11C1], NFKC: [0xB6D2], NFKD: [0x1104, 0x116F, 0x11C1] }, -{ source: [0xB6D3], NFC: [0xB6D3], NFD: [0x1104, 0x116F, 0x11C2], NFKC: [0xB6D3], NFKD: [0x1104, 0x116F, 0x11C2] }, -{ source: [0xB6D4], NFC: [0xB6D4], NFD: [0x1104, 0x1170], NFKC: [0xB6D4], NFKD: [0x1104, 0x1170] }, -{ source: [0xB6D5], NFC: [0xB6D5], NFD: [0x1104, 0x1170, 0x11A8], NFKC: [0xB6D5], NFKD: [0x1104, 0x1170, 0x11A8] }, -{ source: [0xB6D6], NFC: [0xB6D6], NFD: [0x1104, 0x1170, 0x11A9], NFKC: [0xB6D6], NFKD: [0x1104, 0x1170, 0x11A9] }, -{ source: [0xB6D7], NFC: [0xB6D7], NFD: [0x1104, 0x1170, 0x11AA], NFKC: [0xB6D7], NFKD: [0x1104, 0x1170, 0x11AA] }, -{ source: [0xB6D8], NFC: [0xB6D8], NFD: [0x1104, 0x1170, 0x11AB], NFKC: [0xB6D8], NFKD: [0x1104, 0x1170, 0x11AB] }, -{ source: [0xB6D9], NFC: [0xB6D9], NFD: [0x1104, 0x1170, 0x11AC], NFKC: [0xB6D9], NFKD: [0x1104, 0x1170, 0x11AC] }, -{ source: [0xB6DA], NFC: [0xB6DA], NFD: [0x1104, 0x1170, 0x11AD], NFKC: [0xB6DA], NFKD: [0x1104, 0x1170, 0x11AD] }, -{ source: [0xB6DB], NFC: [0xB6DB], NFD: [0x1104, 0x1170, 0x11AE], NFKC: [0xB6DB], NFKD: [0x1104, 0x1170, 0x11AE] }, -{ source: [0xB6DC], NFC: [0xB6DC], NFD: [0x1104, 0x1170, 0x11AF], NFKC: [0xB6DC], NFKD: [0x1104, 0x1170, 0x11AF] }, -{ source: [0xB6DD], NFC: [0xB6DD], NFD: [0x1104, 0x1170, 0x11B0], NFKC: [0xB6DD], NFKD: [0x1104, 0x1170, 0x11B0] }, -{ source: [0xB6DE], NFC: [0xB6DE], NFD: [0x1104, 0x1170, 0x11B1], NFKC: [0xB6DE], NFKD: [0x1104, 0x1170, 0x11B1] }, -{ source: [0xB6DF], NFC: [0xB6DF], NFD: [0x1104, 0x1170, 0x11B2], NFKC: [0xB6DF], NFKD: [0x1104, 0x1170, 0x11B2] }, -{ source: [0xB6E0], NFC: [0xB6E0], NFD: [0x1104, 0x1170, 0x11B3], NFKC: [0xB6E0], NFKD: [0x1104, 0x1170, 0x11B3] }, -{ source: [0xB6E1], NFC: [0xB6E1], NFD: [0x1104, 0x1170, 0x11B4], NFKC: [0xB6E1], NFKD: [0x1104, 0x1170, 0x11B4] }, -{ source: [0xB6E2], NFC: [0xB6E2], NFD: [0x1104, 0x1170, 0x11B5], NFKC: [0xB6E2], NFKD: [0x1104, 0x1170, 0x11B5] }, -{ source: [0xB6E3], NFC: [0xB6E3], NFD: [0x1104, 0x1170, 0x11B6], NFKC: [0xB6E3], NFKD: [0x1104, 0x1170, 0x11B6] }, -{ source: [0xB6E4], NFC: [0xB6E4], NFD: [0x1104, 0x1170, 0x11B7], NFKC: [0xB6E4], NFKD: [0x1104, 0x1170, 0x11B7] }, -{ source: [0xB6E5], NFC: [0xB6E5], NFD: [0x1104, 0x1170, 0x11B8], NFKC: [0xB6E5], NFKD: [0x1104, 0x1170, 0x11B8] }, -{ source: [0xB6E6], NFC: [0xB6E6], NFD: [0x1104, 0x1170, 0x11B9], NFKC: [0xB6E6], NFKD: [0x1104, 0x1170, 0x11B9] }, -{ source: [0xB6E7], NFC: [0xB6E7], NFD: [0x1104, 0x1170, 0x11BA], NFKC: [0xB6E7], NFKD: [0x1104, 0x1170, 0x11BA] }, -{ source: [0xB6E8], NFC: [0xB6E8], NFD: [0x1104, 0x1170, 0x11BB], NFKC: [0xB6E8], NFKD: [0x1104, 0x1170, 0x11BB] }, -{ source: [0xB6E9], NFC: [0xB6E9], NFD: [0x1104, 0x1170, 0x11BC], NFKC: [0xB6E9], NFKD: [0x1104, 0x1170, 0x11BC] }, -{ source: [0xB6EA], NFC: [0xB6EA], NFD: [0x1104, 0x1170, 0x11BD], NFKC: [0xB6EA], NFKD: [0x1104, 0x1170, 0x11BD] }, -{ source: [0xB6EB], NFC: [0xB6EB], NFD: [0x1104, 0x1170, 0x11BE], NFKC: [0xB6EB], NFKD: [0x1104, 0x1170, 0x11BE] }, -{ source: [0xB6EC], NFC: [0xB6EC], NFD: [0x1104, 0x1170, 0x11BF], NFKC: [0xB6EC], NFKD: [0x1104, 0x1170, 0x11BF] }, -{ source: [0xB6ED], NFC: [0xB6ED], NFD: [0x1104, 0x1170, 0x11C0], NFKC: [0xB6ED], NFKD: [0x1104, 0x1170, 0x11C0] }, -{ source: [0xB6EE], NFC: [0xB6EE], NFD: [0x1104, 0x1170, 0x11C1], NFKC: [0xB6EE], NFKD: [0x1104, 0x1170, 0x11C1] }, -{ source: [0xB6EF], NFC: [0xB6EF], NFD: [0x1104, 0x1170, 0x11C2], NFKC: [0xB6EF], NFKD: [0x1104, 0x1170, 0x11C2] }, -{ source: [0xB6F0], NFC: [0xB6F0], NFD: [0x1104, 0x1171], NFKC: [0xB6F0], NFKD: [0x1104, 0x1171] }, -{ source: [0xB6F1], NFC: [0xB6F1], NFD: [0x1104, 0x1171, 0x11A8], NFKC: [0xB6F1], NFKD: [0x1104, 0x1171, 0x11A8] }, -{ source: [0xB6F2], NFC: [0xB6F2], NFD: [0x1104, 0x1171, 0x11A9], NFKC: [0xB6F2], NFKD: [0x1104, 0x1171, 0x11A9] }, -{ source: [0xB6F3], NFC: [0xB6F3], NFD: [0x1104, 0x1171, 0x11AA], NFKC: [0xB6F3], NFKD: [0x1104, 0x1171, 0x11AA] }, -{ source: [0xB6F4], NFC: [0xB6F4], NFD: [0x1104, 0x1171, 0x11AB], NFKC: [0xB6F4], NFKD: [0x1104, 0x1171, 0x11AB] }, -{ source: [0xB6F5], NFC: [0xB6F5], NFD: [0x1104, 0x1171, 0x11AC], NFKC: [0xB6F5], NFKD: [0x1104, 0x1171, 0x11AC] }, -{ source: [0xB6F6], NFC: [0xB6F6], NFD: [0x1104, 0x1171, 0x11AD], NFKC: [0xB6F6], NFKD: [0x1104, 0x1171, 0x11AD] }, -{ source: [0xB6F7], NFC: [0xB6F7], NFD: [0x1104, 0x1171, 0x11AE], NFKC: [0xB6F7], NFKD: [0x1104, 0x1171, 0x11AE] }, -{ source: [0xB6F8], NFC: [0xB6F8], NFD: [0x1104, 0x1171, 0x11AF], NFKC: [0xB6F8], NFKD: [0x1104, 0x1171, 0x11AF] }, -{ source: [0xB6F9], NFC: [0xB6F9], NFD: [0x1104, 0x1171, 0x11B0], NFKC: [0xB6F9], NFKD: [0x1104, 0x1171, 0x11B0] }, -{ source: [0xB6FA], NFC: [0xB6FA], NFD: [0x1104, 0x1171, 0x11B1], NFKC: [0xB6FA], NFKD: [0x1104, 0x1171, 0x11B1] }, -{ source: [0xB6FB], NFC: [0xB6FB], NFD: [0x1104, 0x1171, 0x11B2], NFKC: [0xB6FB], NFKD: [0x1104, 0x1171, 0x11B2] }, -{ source: [0xB6FC], NFC: [0xB6FC], NFD: [0x1104, 0x1171, 0x11B3], NFKC: [0xB6FC], NFKD: [0x1104, 0x1171, 0x11B3] }, -{ source: [0xB6FD], NFC: [0xB6FD], NFD: [0x1104, 0x1171, 0x11B4], NFKC: [0xB6FD], NFKD: [0x1104, 0x1171, 0x11B4] }, -{ source: [0xB6FE], NFC: [0xB6FE], NFD: [0x1104, 0x1171, 0x11B5], NFKC: [0xB6FE], NFKD: [0x1104, 0x1171, 0x11B5] }, -{ source: [0xB6FF], NFC: [0xB6FF], NFD: [0x1104, 0x1171, 0x11B6], NFKC: [0xB6FF], NFKD: [0x1104, 0x1171, 0x11B6] }, -{ source: [0xB700], NFC: [0xB700], NFD: [0x1104, 0x1171, 0x11B7], NFKC: [0xB700], NFKD: [0x1104, 0x1171, 0x11B7] }, -{ source: [0xB701], NFC: [0xB701], NFD: [0x1104, 0x1171, 0x11B8], NFKC: [0xB701], NFKD: [0x1104, 0x1171, 0x11B8] }, -{ source: [0xB702], NFC: [0xB702], NFD: [0x1104, 0x1171, 0x11B9], NFKC: [0xB702], NFKD: [0x1104, 0x1171, 0x11B9] }, -{ source: [0xB703], NFC: [0xB703], NFD: [0x1104, 0x1171, 0x11BA], NFKC: [0xB703], NFKD: [0x1104, 0x1171, 0x11BA] }, -{ source: [0xB704], NFC: [0xB704], NFD: [0x1104, 0x1171, 0x11BB], NFKC: [0xB704], NFKD: [0x1104, 0x1171, 0x11BB] }, -{ source: [0xB705], NFC: [0xB705], NFD: [0x1104, 0x1171, 0x11BC], NFKC: [0xB705], NFKD: [0x1104, 0x1171, 0x11BC] }, -{ source: [0xB706], NFC: [0xB706], NFD: [0x1104, 0x1171, 0x11BD], NFKC: [0xB706], NFKD: [0x1104, 0x1171, 0x11BD] }, -{ source: [0xB707], NFC: [0xB707], NFD: [0x1104, 0x1171, 0x11BE], NFKC: [0xB707], NFKD: [0x1104, 0x1171, 0x11BE] }, -{ source: [0xB708], NFC: [0xB708], NFD: [0x1104, 0x1171, 0x11BF], NFKC: [0xB708], NFKD: [0x1104, 0x1171, 0x11BF] }, -{ source: [0xB709], NFC: [0xB709], NFD: [0x1104, 0x1171, 0x11C0], NFKC: [0xB709], NFKD: [0x1104, 0x1171, 0x11C0] }, -{ source: [0xB70A], NFC: [0xB70A], NFD: [0x1104, 0x1171, 0x11C1], NFKC: [0xB70A], NFKD: [0x1104, 0x1171, 0x11C1] }, -{ source: [0xB70B], NFC: [0xB70B], NFD: [0x1104, 0x1171, 0x11C2], NFKC: [0xB70B], NFKD: [0x1104, 0x1171, 0x11C2] }, -{ source: [0xB70C], NFC: [0xB70C], NFD: [0x1104, 0x1172], NFKC: [0xB70C], NFKD: [0x1104, 0x1172] }, -{ source: [0xB70D], NFC: [0xB70D], NFD: [0x1104, 0x1172, 0x11A8], NFKC: [0xB70D], NFKD: [0x1104, 0x1172, 0x11A8] }, -{ source: [0xB70E], NFC: [0xB70E], NFD: [0x1104, 0x1172, 0x11A9], NFKC: [0xB70E], NFKD: [0x1104, 0x1172, 0x11A9] }, -{ source: [0xB70F], NFC: [0xB70F], NFD: [0x1104, 0x1172, 0x11AA], NFKC: [0xB70F], NFKD: [0x1104, 0x1172, 0x11AA] }, -{ source: [0xB710], NFC: [0xB710], NFD: [0x1104, 0x1172, 0x11AB], NFKC: [0xB710], NFKD: [0x1104, 0x1172, 0x11AB] }, -{ source: [0xB711], NFC: [0xB711], NFD: [0x1104, 0x1172, 0x11AC], NFKC: [0xB711], NFKD: [0x1104, 0x1172, 0x11AC] }, -{ source: [0xB712], NFC: [0xB712], NFD: [0x1104, 0x1172, 0x11AD], NFKC: [0xB712], NFKD: [0x1104, 0x1172, 0x11AD] }, -{ source: [0xB713], NFC: [0xB713], NFD: [0x1104, 0x1172, 0x11AE], NFKC: [0xB713], NFKD: [0x1104, 0x1172, 0x11AE] }, -{ source: [0xB714], NFC: [0xB714], NFD: [0x1104, 0x1172, 0x11AF], NFKC: [0xB714], NFKD: [0x1104, 0x1172, 0x11AF] }, -{ source: [0xB715], NFC: [0xB715], NFD: [0x1104, 0x1172, 0x11B0], NFKC: [0xB715], NFKD: [0x1104, 0x1172, 0x11B0] }, -{ source: [0xB716], NFC: [0xB716], NFD: [0x1104, 0x1172, 0x11B1], NFKC: [0xB716], NFKD: [0x1104, 0x1172, 0x11B1] }, -{ source: [0xB717], NFC: [0xB717], NFD: [0x1104, 0x1172, 0x11B2], NFKC: [0xB717], NFKD: [0x1104, 0x1172, 0x11B2] }, -{ source: [0xB718], NFC: [0xB718], NFD: [0x1104, 0x1172, 0x11B3], NFKC: [0xB718], NFKD: [0x1104, 0x1172, 0x11B3] }, -{ source: [0xB719], NFC: [0xB719], NFD: [0x1104, 0x1172, 0x11B4], NFKC: [0xB719], NFKD: [0x1104, 0x1172, 0x11B4] }, -{ source: [0xB71A], NFC: [0xB71A], NFD: [0x1104, 0x1172, 0x11B5], NFKC: [0xB71A], NFKD: [0x1104, 0x1172, 0x11B5] }, -{ source: [0xB71B], NFC: [0xB71B], NFD: [0x1104, 0x1172, 0x11B6], NFKC: [0xB71B], NFKD: [0x1104, 0x1172, 0x11B6] }, -{ source: [0xB71C], NFC: [0xB71C], NFD: [0x1104, 0x1172, 0x11B7], NFKC: [0xB71C], NFKD: [0x1104, 0x1172, 0x11B7] }, -{ source: [0xB71D], NFC: [0xB71D], NFD: [0x1104, 0x1172, 0x11B8], NFKC: [0xB71D], NFKD: [0x1104, 0x1172, 0x11B8] }, -{ source: [0xB71E], NFC: [0xB71E], NFD: [0x1104, 0x1172, 0x11B9], NFKC: [0xB71E], NFKD: [0x1104, 0x1172, 0x11B9] }, -{ source: [0xB71F], NFC: [0xB71F], NFD: [0x1104, 0x1172, 0x11BA], NFKC: [0xB71F], NFKD: [0x1104, 0x1172, 0x11BA] }, -{ source: [0xB720], NFC: [0xB720], NFD: [0x1104, 0x1172, 0x11BB], NFKC: [0xB720], NFKD: [0x1104, 0x1172, 0x11BB] }, -{ source: [0xB721], NFC: [0xB721], NFD: [0x1104, 0x1172, 0x11BC], NFKC: [0xB721], NFKD: [0x1104, 0x1172, 0x11BC] }, -{ source: [0xB722], NFC: [0xB722], NFD: [0x1104, 0x1172, 0x11BD], NFKC: [0xB722], NFKD: [0x1104, 0x1172, 0x11BD] }, -{ source: [0xB723], NFC: [0xB723], NFD: [0x1104, 0x1172, 0x11BE], NFKC: [0xB723], NFKD: [0x1104, 0x1172, 0x11BE] }, -{ source: [0xB724], NFC: [0xB724], NFD: [0x1104, 0x1172, 0x11BF], NFKC: [0xB724], NFKD: [0x1104, 0x1172, 0x11BF] }, -{ source: [0xB725], NFC: [0xB725], NFD: [0x1104, 0x1172, 0x11C0], NFKC: [0xB725], NFKD: [0x1104, 0x1172, 0x11C0] }, -{ source: [0xB726], NFC: [0xB726], NFD: [0x1104, 0x1172, 0x11C1], NFKC: [0xB726], NFKD: [0x1104, 0x1172, 0x11C1] }, -{ source: [0xB727], NFC: [0xB727], NFD: [0x1104, 0x1172, 0x11C2], NFKC: [0xB727], NFKD: [0x1104, 0x1172, 0x11C2] }, -{ source: [0xB728], NFC: [0xB728], NFD: [0x1104, 0x1173], NFKC: [0xB728], NFKD: [0x1104, 0x1173] }, -{ source: [0xB729], NFC: [0xB729], NFD: [0x1104, 0x1173, 0x11A8], NFKC: [0xB729], NFKD: [0x1104, 0x1173, 0x11A8] }, -{ source: [0xB72A], NFC: [0xB72A], NFD: [0x1104, 0x1173, 0x11A9], NFKC: [0xB72A], NFKD: [0x1104, 0x1173, 0x11A9] }, -{ source: [0xB72B], NFC: [0xB72B], NFD: [0x1104, 0x1173, 0x11AA], NFKC: [0xB72B], NFKD: [0x1104, 0x1173, 0x11AA] }, -{ source: [0xB72C], NFC: [0xB72C], NFD: [0x1104, 0x1173, 0x11AB], NFKC: [0xB72C], NFKD: [0x1104, 0x1173, 0x11AB] }, -{ source: [0xB72D], NFC: [0xB72D], NFD: [0x1104, 0x1173, 0x11AC], NFKC: [0xB72D], NFKD: [0x1104, 0x1173, 0x11AC] }, -{ source: [0xB72E], NFC: [0xB72E], NFD: [0x1104, 0x1173, 0x11AD], NFKC: [0xB72E], NFKD: [0x1104, 0x1173, 0x11AD] }, -{ source: [0xB72F], NFC: [0xB72F], NFD: [0x1104, 0x1173, 0x11AE], NFKC: [0xB72F], NFKD: [0x1104, 0x1173, 0x11AE] }, -{ source: [0xB730], NFC: [0xB730], NFD: [0x1104, 0x1173, 0x11AF], NFKC: [0xB730], NFKD: [0x1104, 0x1173, 0x11AF] }, -{ source: [0xB731], NFC: [0xB731], NFD: [0x1104, 0x1173, 0x11B0], NFKC: [0xB731], NFKD: [0x1104, 0x1173, 0x11B0] }, -{ source: [0xB732], NFC: [0xB732], NFD: [0x1104, 0x1173, 0x11B1], NFKC: [0xB732], NFKD: [0x1104, 0x1173, 0x11B1] }, -{ source: [0xB733], NFC: [0xB733], NFD: [0x1104, 0x1173, 0x11B2], NFKC: [0xB733], NFKD: [0x1104, 0x1173, 0x11B2] }, -{ source: [0xB734], NFC: [0xB734], NFD: [0x1104, 0x1173, 0x11B3], NFKC: [0xB734], NFKD: [0x1104, 0x1173, 0x11B3] }, -{ source: [0xB735], NFC: [0xB735], NFD: [0x1104, 0x1173, 0x11B4], NFKC: [0xB735], NFKD: [0x1104, 0x1173, 0x11B4] }, -{ source: [0xB736], NFC: [0xB736], NFD: [0x1104, 0x1173, 0x11B5], NFKC: [0xB736], NFKD: [0x1104, 0x1173, 0x11B5] }, -{ source: [0xB737], NFC: [0xB737], NFD: [0x1104, 0x1173, 0x11B6], NFKC: [0xB737], NFKD: [0x1104, 0x1173, 0x11B6] }, -{ source: [0xB738], NFC: [0xB738], NFD: [0x1104, 0x1173, 0x11B7], NFKC: [0xB738], NFKD: [0x1104, 0x1173, 0x11B7] }, -{ source: [0xB739], NFC: [0xB739], NFD: [0x1104, 0x1173, 0x11B8], NFKC: [0xB739], NFKD: [0x1104, 0x1173, 0x11B8] }, -{ source: [0xB73A], NFC: [0xB73A], NFD: [0x1104, 0x1173, 0x11B9], NFKC: [0xB73A], NFKD: [0x1104, 0x1173, 0x11B9] }, -{ source: [0xB73B], NFC: [0xB73B], NFD: [0x1104, 0x1173, 0x11BA], NFKC: [0xB73B], NFKD: [0x1104, 0x1173, 0x11BA] }, -{ source: [0xB73C], NFC: [0xB73C], NFD: [0x1104, 0x1173, 0x11BB], NFKC: [0xB73C], NFKD: [0x1104, 0x1173, 0x11BB] }, -{ source: [0xB73D], NFC: [0xB73D], NFD: [0x1104, 0x1173, 0x11BC], NFKC: [0xB73D], NFKD: [0x1104, 0x1173, 0x11BC] }, -{ source: [0xB73E], NFC: [0xB73E], NFD: [0x1104, 0x1173, 0x11BD], NFKC: [0xB73E], NFKD: [0x1104, 0x1173, 0x11BD] }, -{ source: [0xB73F], NFC: [0xB73F], NFD: [0x1104, 0x1173, 0x11BE], NFKC: [0xB73F], NFKD: [0x1104, 0x1173, 0x11BE] }, -{ source: [0xB740], NFC: [0xB740], NFD: [0x1104, 0x1173, 0x11BF], NFKC: [0xB740], NFKD: [0x1104, 0x1173, 0x11BF] }, -{ source: [0xB741], NFC: [0xB741], NFD: [0x1104, 0x1173, 0x11C0], NFKC: [0xB741], NFKD: [0x1104, 0x1173, 0x11C0] }, -{ source: [0xB742], NFC: [0xB742], NFD: [0x1104, 0x1173, 0x11C1], NFKC: [0xB742], NFKD: [0x1104, 0x1173, 0x11C1] }, -{ source: [0xB743], NFC: [0xB743], NFD: [0x1104, 0x1173, 0x11C2], NFKC: [0xB743], NFKD: [0x1104, 0x1173, 0x11C2] }, -{ source: [0xB744], NFC: [0xB744], NFD: [0x1104, 0x1174], NFKC: [0xB744], NFKD: [0x1104, 0x1174] }, -{ source: [0xB745], NFC: [0xB745], NFD: [0x1104, 0x1174, 0x11A8], NFKC: [0xB745], NFKD: [0x1104, 0x1174, 0x11A8] }, -{ source: [0xB746], NFC: [0xB746], NFD: [0x1104, 0x1174, 0x11A9], NFKC: [0xB746], NFKD: [0x1104, 0x1174, 0x11A9] }, -{ source: [0xB747], NFC: [0xB747], NFD: [0x1104, 0x1174, 0x11AA], NFKC: [0xB747], NFKD: [0x1104, 0x1174, 0x11AA] }, -{ source: [0xB748], NFC: [0xB748], NFD: [0x1104, 0x1174, 0x11AB], NFKC: [0xB748], NFKD: [0x1104, 0x1174, 0x11AB] }, -{ source: [0xB749], NFC: [0xB749], NFD: [0x1104, 0x1174, 0x11AC], NFKC: [0xB749], NFKD: [0x1104, 0x1174, 0x11AC] }, -{ source: [0xB74A], NFC: [0xB74A], NFD: [0x1104, 0x1174, 0x11AD], NFKC: [0xB74A], NFKD: [0x1104, 0x1174, 0x11AD] }, -{ source: [0xB74B], NFC: [0xB74B], NFD: [0x1104, 0x1174, 0x11AE], NFKC: [0xB74B], NFKD: [0x1104, 0x1174, 0x11AE] }, -{ source: [0xB74C], NFC: [0xB74C], NFD: [0x1104, 0x1174, 0x11AF], NFKC: [0xB74C], NFKD: [0x1104, 0x1174, 0x11AF] }, -{ source: [0xB74D], NFC: [0xB74D], NFD: [0x1104, 0x1174, 0x11B0], NFKC: [0xB74D], NFKD: [0x1104, 0x1174, 0x11B0] }, -{ source: [0xB74E], NFC: [0xB74E], NFD: [0x1104, 0x1174, 0x11B1], NFKC: [0xB74E], NFKD: [0x1104, 0x1174, 0x11B1] }, -{ source: [0xB74F], NFC: [0xB74F], NFD: [0x1104, 0x1174, 0x11B2], NFKC: [0xB74F], NFKD: [0x1104, 0x1174, 0x11B2] }, -{ source: [0xB750], NFC: [0xB750], NFD: [0x1104, 0x1174, 0x11B3], NFKC: [0xB750], NFKD: [0x1104, 0x1174, 0x11B3] }, -{ source: [0xB751], NFC: [0xB751], NFD: [0x1104, 0x1174, 0x11B4], NFKC: [0xB751], NFKD: [0x1104, 0x1174, 0x11B4] }, -{ source: [0xB752], NFC: [0xB752], NFD: [0x1104, 0x1174, 0x11B5], NFKC: [0xB752], NFKD: [0x1104, 0x1174, 0x11B5] }, -{ source: [0xB753], NFC: [0xB753], NFD: [0x1104, 0x1174, 0x11B6], NFKC: [0xB753], NFKD: [0x1104, 0x1174, 0x11B6] }, -{ source: [0xB754], NFC: [0xB754], NFD: [0x1104, 0x1174, 0x11B7], NFKC: [0xB754], NFKD: [0x1104, 0x1174, 0x11B7] }, -{ source: [0xB755], NFC: [0xB755], NFD: [0x1104, 0x1174, 0x11B8], NFKC: [0xB755], NFKD: [0x1104, 0x1174, 0x11B8] }, -{ source: [0xB756], NFC: [0xB756], NFD: [0x1104, 0x1174, 0x11B9], NFKC: [0xB756], NFKD: [0x1104, 0x1174, 0x11B9] }, -{ source: [0xB757], NFC: [0xB757], NFD: [0x1104, 0x1174, 0x11BA], NFKC: [0xB757], NFKD: [0x1104, 0x1174, 0x11BA] }, -{ source: [0xB758], NFC: [0xB758], NFD: [0x1104, 0x1174, 0x11BB], NFKC: [0xB758], NFKD: [0x1104, 0x1174, 0x11BB] }, -{ source: [0xB759], NFC: [0xB759], NFD: [0x1104, 0x1174, 0x11BC], NFKC: [0xB759], NFKD: [0x1104, 0x1174, 0x11BC] }, -{ source: [0xB75A], NFC: [0xB75A], NFD: [0x1104, 0x1174, 0x11BD], NFKC: [0xB75A], NFKD: [0x1104, 0x1174, 0x11BD] }, -{ source: [0xB75B], NFC: [0xB75B], NFD: [0x1104, 0x1174, 0x11BE], NFKC: [0xB75B], NFKD: [0x1104, 0x1174, 0x11BE] }, -{ source: [0xB75C], NFC: [0xB75C], NFD: [0x1104, 0x1174, 0x11BF], NFKC: [0xB75C], NFKD: [0x1104, 0x1174, 0x11BF] }, -{ source: [0xB75D], NFC: [0xB75D], NFD: [0x1104, 0x1174, 0x11C0], NFKC: [0xB75D], NFKD: [0x1104, 0x1174, 0x11C0] }, -{ source: [0xB75E], NFC: [0xB75E], NFD: [0x1104, 0x1174, 0x11C1], NFKC: [0xB75E], NFKD: [0x1104, 0x1174, 0x11C1] }, -{ source: [0xB75F], NFC: [0xB75F], NFD: [0x1104, 0x1174, 0x11C2], NFKC: [0xB75F], NFKD: [0x1104, 0x1174, 0x11C2] }, -{ source: [0xB760], NFC: [0xB760], NFD: [0x1104, 0x1175], NFKC: [0xB760], NFKD: [0x1104, 0x1175] }, -{ source: [0xB761], NFC: [0xB761], NFD: [0x1104, 0x1175, 0x11A8], NFKC: [0xB761], NFKD: [0x1104, 0x1175, 0x11A8] }, -{ source: [0xB762], NFC: [0xB762], NFD: [0x1104, 0x1175, 0x11A9], NFKC: [0xB762], NFKD: [0x1104, 0x1175, 0x11A9] }, -{ source: [0xB763], NFC: [0xB763], NFD: [0x1104, 0x1175, 0x11AA], NFKC: [0xB763], NFKD: [0x1104, 0x1175, 0x11AA] }, -{ source: [0xB764], NFC: [0xB764], NFD: [0x1104, 0x1175, 0x11AB], NFKC: [0xB764], NFKD: [0x1104, 0x1175, 0x11AB] }, -{ source: [0xB765], NFC: [0xB765], NFD: [0x1104, 0x1175, 0x11AC], NFKC: [0xB765], NFKD: [0x1104, 0x1175, 0x11AC] }, -{ source: [0xB766], NFC: [0xB766], NFD: [0x1104, 0x1175, 0x11AD], NFKC: [0xB766], NFKD: [0x1104, 0x1175, 0x11AD] }, -{ source: [0xB767], NFC: [0xB767], NFD: [0x1104, 0x1175, 0x11AE], NFKC: [0xB767], NFKD: [0x1104, 0x1175, 0x11AE] }, -{ source: [0xB768], NFC: [0xB768], NFD: [0x1104, 0x1175, 0x11AF], NFKC: [0xB768], NFKD: [0x1104, 0x1175, 0x11AF] }, -{ source: [0xB769], NFC: [0xB769], NFD: [0x1104, 0x1175, 0x11B0], NFKC: [0xB769], NFKD: [0x1104, 0x1175, 0x11B0] }, -{ source: [0xB76A], NFC: [0xB76A], NFD: [0x1104, 0x1175, 0x11B1], NFKC: [0xB76A], NFKD: [0x1104, 0x1175, 0x11B1] }, -{ source: [0xB76B], NFC: [0xB76B], NFD: [0x1104, 0x1175, 0x11B2], NFKC: [0xB76B], NFKD: [0x1104, 0x1175, 0x11B2] }, -{ source: [0xB76C], NFC: [0xB76C], NFD: [0x1104, 0x1175, 0x11B3], NFKC: [0xB76C], NFKD: [0x1104, 0x1175, 0x11B3] }, -{ source: [0xB76D], NFC: [0xB76D], NFD: [0x1104, 0x1175, 0x11B4], NFKC: [0xB76D], NFKD: [0x1104, 0x1175, 0x11B4] }, -{ source: [0xB76E], NFC: [0xB76E], NFD: [0x1104, 0x1175, 0x11B5], NFKC: [0xB76E], NFKD: [0x1104, 0x1175, 0x11B5] }, -{ source: [0xB76F], NFC: [0xB76F], NFD: [0x1104, 0x1175, 0x11B6], NFKC: [0xB76F], NFKD: [0x1104, 0x1175, 0x11B6] }, -{ source: [0xB770], NFC: [0xB770], NFD: [0x1104, 0x1175, 0x11B7], NFKC: [0xB770], NFKD: [0x1104, 0x1175, 0x11B7] }, -{ source: [0xB771], NFC: [0xB771], NFD: [0x1104, 0x1175, 0x11B8], NFKC: [0xB771], NFKD: [0x1104, 0x1175, 0x11B8] }, -{ source: [0xB772], NFC: [0xB772], NFD: [0x1104, 0x1175, 0x11B9], NFKC: [0xB772], NFKD: [0x1104, 0x1175, 0x11B9] }, -{ source: [0xB773], NFC: [0xB773], NFD: [0x1104, 0x1175, 0x11BA], NFKC: [0xB773], NFKD: [0x1104, 0x1175, 0x11BA] }, -{ source: [0xB774], NFC: [0xB774], NFD: [0x1104, 0x1175, 0x11BB], NFKC: [0xB774], NFKD: [0x1104, 0x1175, 0x11BB] }, -{ source: [0xB775], NFC: [0xB775], NFD: [0x1104, 0x1175, 0x11BC], NFKC: [0xB775], NFKD: [0x1104, 0x1175, 0x11BC] }, -{ source: [0xB776], NFC: [0xB776], NFD: [0x1104, 0x1175, 0x11BD], NFKC: [0xB776], NFKD: [0x1104, 0x1175, 0x11BD] }, -{ source: [0xB777], NFC: [0xB777], NFD: [0x1104, 0x1175, 0x11BE], NFKC: [0xB777], NFKD: [0x1104, 0x1175, 0x11BE] }, -{ source: [0xB778], NFC: [0xB778], NFD: [0x1104, 0x1175, 0x11BF], NFKC: [0xB778], NFKD: [0x1104, 0x1175, 0x11BF] }, -{ source: [0xB779], NFC: [0xB779], NFD: [0x1104, 0x1175, 0x11C0], NFKC: [0xB779], NFKD: [0x1104, 0x1175, 0x11C0] }, -{ source: [0xB77A], NFC: [0xB77A], NFD: [0x1104, 0x1175, 0x11C1], NFKC: [0xB77A], NFKD: [0x1104, 0x1175, 0x11C1] }, -{ source: [0xB77B], NFC: [0xB77B], NFD: [0x1104, 0x1175, 0x11C2], NFKC: [0xB77B], NFKD: [0x1104, 0x1175, 0x11C2] }, -{ source: [0xB77C], NFC: [0xB77C], NFD: [0x1105, 0x1161], NFKC: [0xB77C], NFKD: [0x1105, 0x1161] }, -{ source: [0xB77D], NFC: [0xB77D], NFD: [0x1105, 0x1161, 0x11A8], NFKC: [0xB77D], NFKD: [0x1105, 0x1161, 0x11A8] }, -{ source: [0xB77E], NFC: [0xB77E], NFD: [0x1105, 0x1161, 0x11A9], NFKC: [0xB77E], NFKD: [0x1105, 0x1161, 0x11A9] }, -{ source: [0xB77F], NFC: [0xB77F], NFD: [0x1105, 0x1161, 0x11AA], NFKC: [0xB77F], NFKD: [0x1105, 0x1161, 0x11AA] }, -{ source: [0xB780], NFC: [0xB780], NFD: [0x1105, 0x1161, 0x11AB], NFKC: [0xB780], NFKD: [0x1105, 0x1161, 0x11AB] }, -{ source: [0xB781], NFC: [0xB781], NFD: [0x1105, 0x1161, 0x11AC], NFKC: [0xB781], NFKD: [0x1105, 0x1161, 0x11AC] }, -{ source: [0xB782], NFC: [0xB782], NFD: [0x1105, 0x1161, 0x11AD], NFKC: [0xB782], NFKD: [0x1105, 0x1161, 0x11AD] }, -{ source: [0xB783], NFC: [0xB783], NFD: [0x1105, 0x1161, 0x11AE], NFKC: [0xB783], NFKD: [0x1105, 0x1161, 0x11AE] }, -{ source: [0xB784], NFC: [0xB784], NFD: [0x1105, 0x1161, 0x11AF], NFKC: [0xB784], NFKD: [0x1105, 0x1161, 0x11AF] }, -{ source: [0xB785], NFC: [0xB785], NFD: [0x1105, 0x1161, 0x11B0], NFKC: [0xB785], NFKD: [0x1105, 0x1161, 0x11B0] }, -{ source: [0xB786], NFC: [0xB786], NFD: [0x1105, 0x1161, 0x11B1], NFKC: [0xB786], NFKD: [0x1105, 0x1161, 0x11B1] }, -{ source: [0xB787], NFC: [0xB787], NFD: [0x1105, 0x1161, 0x11B2], NFKC: [0xB787], NFKD: [0x1105, 0x1161, 0x11B2] }, -{ source: [0xB788], NFC: [0xB788], NFD: [0x1105, 0x1161, 0x11B3], NFKC: [0xB788], NFKD: [0x1105, 0x1161, 0x11B3] }, -{ source: [0xB789], NFC: [0xB789], NFD: [0x1105, 0x1161, 0x11B4], NFKC: [0xB789], NFKD: [0x1105, 0x1161, 0x11B4] }, -{ source: [0xB78A], NFC: [0xB78A], NFD: [0x1105, 0x1161, 0x11B5], NFKC: [0xB78A], NFKD: [0x1105, 0x1161, 0x11B5] }, -{ source: [0xB78B], NFC: [0xB78B], NFD: [0x1105, 0x1161, 0x11B6], NFKC: [0xB78B], NFKD: [0x1105, 0x1161, 0x11B6] }, -{ source: [0xB78C], NFC: [0xB78C], NFD: [0x1105, 0x1161, 0x11B7], NFKC: [0xB78C], NFKD: [0x1105, 0x1161, 0x11B7] }, -{ source: [0xB78D], NFC: [0xB78D], NFD: [0x1105, 0x1161, 0x11B8], NFKC: [0xB78D], NFKD: [0x1105, 0x1161, 0x11B8] }, -{ source: [0xB78E], NFC: [0xB78E], NFD: [0x1105, 0x1161, 0x11B9], NFKC: [0xB78E], NFKD: [0x1105, 0x1161, 0x11B9] }, -{ source: [0xB78F], NFC: [0xB78F], NFD: [0x1105, 0x1161, 0x11BA], NFKC: [0xB78F], NFKD: [0x1105, 0x1161, 0x11BA] }, -{ source: [0xB790], NFC: [0xB790], NFD: [0x1105, 0x1161, 0x11BB], NFKC: [0xB790], NFKD: [0x1105, 0x1161, 0x11BB] }, -{ source: [0xB791], NFC: [0xB791], NFD: [0x1105, 0x1161, 0x11BC], NFKC: [0xB791], NFKD: [0x1105, 0x1161, 0x11BC] }, -{ source: [0xB792], NFC: [0xB792], NFD: [0x1105, 0x1161, 0x11BD], NFKC: [0xB792], NFKD: [0x1105, 0x1161, 0x11BD] }, -{ source: [0xB793], NFC: [0xB793], NFD: [0x1105, 0x1161, 0x11BE], NFKC: [0xB793], NFKD: [0x1105, 0x1161, 0x11BE] }, -{ source: [0xB794], NFC: [0xB794], NFD: [0x1105, 0x1161, 0x11BF], NFKC: [0xB794], NFKD: [0x1105, 0x1161, 0x11BF] }, -{ source: [0xB795], NFC: [0xB795], NFD: [0x1105, 0x1161, 0x11C0], NFKC: [0xB795], NFKD: [0x1105, 0x1161, 0x11C0] }, -{ source: [0xB796], NFC: [0xB796], NFD: [0x1105, 0x1161, 0x11C1], NFKC: [0xB796], NFKD: [0x1105, 0x1161, 0x11C1] }, -{ source: [0xB797], NFC: [0xB797], NFD: [0x1105, 0x1161, 0x11C2], NFKC: [0xB797], NFKD: [0x1105, 0x1161, 0x11C2] }, -{ source: [0xB798], NFC: [0xB798], NFD: [0x1105, 0x1162], NFKC: [0xB798], NFKD: [0x1105, 0x1162] }, -{ source: [0xB799], NFC: [0xB799], NFD: [0x1105, 0x1162, 0x11A8], NFKC: [0xB799], NFKD: [0x1105, 0x1162, 0x11A8] }, -{ source: [0xB79A], NFC: [0xB79A], NFD: [0x1105, 0x1162, 0x11A9], NFKC: [0xB79A], NFKD: [0x1105, 0x1162, 0x11A9] }, -{ source: [0xB79B], NFC: [0xB79B], NFD: [0x1105, 0x1162, 0x11AA], NFKC: [0xB79B], NFKD: [0x1105, 0x1162, 0x11AA] }, -{ source: [0xB79C], NFC: [0xB79C], NFD: [0x1105, 0x1162, 0x11AB], NFKC: [0xB79C], NFKD: [0x1105, 0x1162, 0x11AB] }, -{ source: [0xB79D], NFC: [0xB79D], NFD: [0x1105, 0x1162, 0x11AC], NFKC: [0xB79D], NFKD: [0x1105, 0x1162, 0x11AC] }, -{ source: [0xB79E], NFC: [0xB79E], NFD: [0x1105, 0x1162, 0x11AD], NFKC: [0xB79E], NFKD: [0x1105, 0x1162, 0x11AD] }, -{ source: [0xB79F], NFC: [0xB79F], NFD: [0x1105, 0x1162, 0x11AE], NFKC: [0xB79F], NFKD: [0x1105, 0x1162, 0x11AE] }, -{ source: [0xB7A0], NFC: [0xB7A0], NFD: [0x1105, 0x1162, 0x11AF], NFKC: [0xB7A0], NFKD: [0x1105, 0x1162, 0x11AF] }, -{ source: [0xB7A1], NFC: [0xB7A1], NFD: [0x1105, 0x1162, 0x11B0], NFKC: [0xB7A1], NFKD: [0x1105, 0x1162, 0x11B0] }, -{ source: [0xB7A2], NFC: [0xB7A2], NFD: [0x1105, 0x1162, 0x11B1], NFKC: [0xB7A2], NFKD: [0x1105, 0x1162, 0x11B1] }, -{ source: [0xB7A3], NFC: [0xB7A3], NFD: [0x1105, 0x1162, 0x11B2], NFKC: [0xB7A3], NFKD: [0x1105, 0x1162, 0x11B2] }, -{ source: [0xB7A4], NFC: [0xB7A4], NFD: [0x1105, 0x1162, 0x11B3], NFKC: [0xB7A4], NFKD: [0x1105, 0x1162, 0x11B3] }, -{ source: [0xB7A5], NFC: [0xB7A5], NFD: [0x1105, 0x1162, 0x11B4], NFKC: [0xB7A5], NFKD: [0x1105, 0x1162, 0x11B4] }, -{ source: [0xB7A6], NFC: [0xB7A6], NFD: [0x1105, 0x1162, 0x11B5], NFKC: [0xB7A6], NFKD: [0x1105, 0x1162, 0x11B5] }, -{ source: [0xB7A7], NFC: [0xB7A7], NFD: [0x1105, 0x1162, 0x11B6], NFKC: [0xB7A7], NFKD: [0x1105, 0x1162, 0x11B6] }, -{ source: [0xB7A8], NFC: [0xB7A8], NFD: [0x1105, 0x1162, 0x11B7], NFKC: [0xB7A8], NFKD: [0x1105, 0x1162, 0x11B7] }, -{ source: [0xB7A9], NFC: [0xB7A9], NFD: [0x1105, 0x1162, 0x11B8], NFKC: [0xB7A9], NFKD: [0x1105, 0x1162, 0x11B8] }, -{ source: [0xB7AA], NFC: [0xB7AA], NFD: [0x1105, 0x1162, 0x11B9], NFKC: [0xB7AA], NFKD: [0x1105, 0x1162, 0x11B9] }, -{ source: [0xB7AB], NFC: [0xB7AB], NFD: [0x1105, 0x1162, 0x11BA], NFKC: [0xB7AB], NFKD: [0x1105, 0x1162, 0x11BA] }, -{ source: [0xB7AC], NFC: [0xB7AC], NFD: [0x1105, 0x1162, 0x11BB], NFKC: [0xB7AC], NFKD: [0x1105, 0x1162, 0x11BB] }, -{ source: [0xB7AD], NFC: [0xB7AD], NFD: [0x1105, 0x1162, 0x11BC], NFKC: [0xB7AD], NFKD: [0x1105, 0x1162, 0x11BC] }, -{ source: [0xB7AE], NFC: [0xB7AE], NFD: [0x1105, 0x1162, 0x11BD], NFKC: [0xB7AE], NFKD: [0x1105, 0x1162, 0x11BD] }, -{ source: [0xB7AF], NFC: [0xB7AF], NFD: [0x1105, 0x1162, 0x11BE], NFKC: [0xB7AF], NFKD: [0x1105, 0x1162, 0x11BE] }, -{ source: [0xB7B0], NFC: [0xB7B0], NFD: [0x1105, 0x1162, 0x11BF], NFKC: [0xB7B0], NFKD: [0x1105, 0x1162, 0x11BF] }, -{ source: [0xB7B1], NFC: [0xB7B1], NFD: [0x1105, 0x1162, 0x11C0], NFKC: [0xB7B1], NFKD: [0x1105, 0x1162, 0x11C0] }, -{ source: [0xB7B2], NFC: [0xB7B2], NFD: [0x1105, 0x1162, 0x11C1], NFKC: [0xB7B2], NFKD: [0x1105, 0x1162, 0x11C1] }, -{ source: [0xB7B3], NFC: [0xB7B3], NFD: [0x1105, 0x1162, 0x11C2], NFKC: [0xB7B3], NFKD: [0x1105, 0x1162, 0x11C2] }, -{ source: [0xB7B4], NFC: [0xB7B4], NFD: [0x1105, 0x1163], NFKC: [0xB7B4], NFKD: [0x1105, 0x1163] }, -{ source: [0xB7B5], NFC: [0xB7B5], NFD: [0x1105, 0x1163, 0x11A8], NFKC: [0xB7B5], NFKD: [0x1105, 0x1163, 0x11A8] }, -{ source: [0xB7B6], NFC: [0xB7B6], NFD: [0x1105, 0x1163, 0x11A9], NFKC: [0xB7B6], NFKD: [0x1105, 0x1163, 0x11A9] }, -{ source: [0xB7B7], NFC: [0xB7B7], NFD: [0x1105, 0x1163, 0x11AA], NFKC: [0xB7B7], NFKD: [0x1105, 0x1163, 0x11AA] }, -{ source: [0xB7B8], NFC: [0xB7B8], NFD: [0x1105, 0x1163, 0x11AB], NFKC: [0xB7B8], NFKD: [0x1105, 0x1163, 0x11AB] }, -{ source: [0xB7B9], NFC: [0xB7B9], NFD: [0x1105, 0x1163, 0x11AC], NFKC: [0xB7B9], NFKD: [0x1105, 0x1163, 0x11AC] }, -{ source: [0xB7BA], NFC: [0xB7BA], NFD: [0x1105, 0x1163, 0x11AD], NFKC: [0xB7BA], NFKD: [0x1105, 0x1163, 0x11AD] }, -{ source: [0xB7BB], NFC: [0xB7BB], NFD: [0x1105, 0x1163, 0x11AE], NFKC: [0xB7BB], NFKD: [0x1105, 0x1163, 0x11AE] }, -{ source: [0xB7BC], NFC: [0xB7BC], NFD: [0x1105, 0x1163, 0x11AF], NFKC: [0xB7BC], NFKD: [0x1105, 0x1163, 0x11AF] }, -{ source: [0xB7BD], NFC: [0xB7BD], NFD: [0x1105, 0x1163, 0x11B0], NFKC: [0xB7BD], NFKD: [0x1105, 0x1163, 0x11B0] }, -{ source: [0xB7BE], NFC: [0xB7BE], NFD: [0x1105, 0x1163, 0x11B1], NFKC: [0xB7BE], NFKD: [0x1105, 0x1163, 0x11B1] }, -{ source: [0xB7BF], NFC: [0xB7BF], NFD: [0x1105, 0x1163, 0x11B2], NFKC: [0xB7BF], NFKD: [0x1105, 0x1163, 0x11B2] }, -{ source: [0xB7C0], NFC: [0xB7C0], NFD: [0x1105, 0x1163, 0x11B3], NFKC: [0xB7C0], NFKD: [0x1105, 0x1163, 0x11B3] }, -{ source: [0xB7C1], NFC: [0xB7C1], NFD: [0x1105, 0x1163, 0x11B4], NFKC: [0xB7C1], NFKD: [0x1105, 0x1163, 0x11B4] }, -{ source: [0xB7C2], NFC: [0xB7C2], NFD: [0x1105, 0x1163, 0x11B5], NFKC: [0xB7C2], NFKD: [0x1105, 0x1163, 0x11B5] }, -{ source: [0xB7C3], NFC: [0xB7C3], NFD: [0x1105, 0x1163, 0x11B6], NFKC: [0xB7C3], NFKD: [0x1105, 0x1163, 0x11B6] }, -{ source: [0xB7C4], NFC: [0xB7C4], NFD: [0x1105, 0x1163, 0x11B7], NFKC: [0xB7C4], NFKD: [0x1105, 0x1163, 0x11B7] }, -{ source: [0xB7C5], NFC: [0xB7C5], NFD: [0x1105, 0x1163, 0x11B8], NFKC: [0xB7C5], NFKD: [0x1105, 0x1163, 0x11B8] }, -{ source: [0xB7C6], NFC: [0xB7C6], NFD: [0x1105, 0x1163, 0x11B9], NFKC: [0xB7C6], NFKD: [0x1105, 0x1163, 0x11B9] }, -{ source: [0xB7C7], NFC: [0xB7C7], NFD: [0x1105, 0x1163, 0x11BA], NFKC: [0xB7C7], NFKD: [0x1105, 0x1163, 0x11BA] }, -{ source: [0xB7C8], NFC: [0xB7C8], NFD: [0x1105, 0x1163, 0x11BB], NFKC: [0xB7C8], NFKD: [0x1105, 0x1163, 0x11BB] }, -{ source: [0xB7C9], NFC: [0xB7C9], NFD: [0x1105, 0x1163, 0x11BC], NFKC: [0xB7C9], NFKD: [0x1105, 0x1163, 0x11BC] }, -{ source: [0xB7CA], NFC: [0xB7CA], NFD: [0x1105, 0x1163, 0x11BD], NFKC: [0xB7CA], NFKD: [0x1105, 0x1163, 0x11BD] }, -{ source: [0xB7CB], NFC: [0xB7CB], NFD: [0x1105, 0x1163, 0x11BE], NFKC: [0xB7CB], NFKD: [0x1105, 0x1163, 0x11BE] }, -{ source: [0xB7CC], NFC: [0xB7CC], NFD: [0x1105, 0x1163, 0x11BF], NFKC: [0xB7CC], NFKD: [0x1105, 0x1163, 0x11BF] }, -{ source: [0xB7CD], NFC: [0xB7CD], NFD: [0x1105, 0x1163, 0x11C0], NFKC: [0xB7CD], NFKD: [0x1105, 0x1163, 0x11C0] }, -{ source: [0xB7CE], NFC: [0xB7CE], NFD: [0x1105, 0x1163, 0x11C1], NFKC: [0xB7CE], NFKD: [0x1105, 0x1163, 0x11C1] }, -{ source: [0xB7CF], NFC: [0xB7CF], NFD: [0x1105, 0x1163, 0x11C2], NFKC: [0xB7CF], NFKD: [0x1105, 0x1163, 0x11C2] }, -{ source: [0xB7D0], NFC: [0xB7D0], NFD: [0x1105, 0x1164], NFKC: [0xB7D0], NFKD: [0x1105, 0x1164] }, -{ source: [0xB7D1], NFC: [0xB7D1], NFD: [0x1105, 0x1164, 0x11A8], NFKC: [0xB7D1], NFKD: [0x1105, 0x1164, 0x11A8] }, -{ source: [0xB7D2], NFC: [0xB7D2], NFD: [0x1105, 0x1164, 0x11A9], NFKC: [0xB7D2], NFKD: [0x1105, 0x1164, 0x11A9] }, -{ source: [0xB7D3], NFC: [0xB7D3], NFD: [0x1105, 0x1164, 0x11AA], NFKC: [0xB7D3], NFKD: [0x1105, 0x1164, 0x11AA] }, -{ source: [0xB7D4], NFC: [0xB7D4], NFD: [0x1105, 0x1164, 0x11AB], NFKC: [0xB7D4], NFKD: [0x1105, 0x1164, 0x11AB] }, -{ source: [0xB7D5], NFC: [0xB7D5], NFD: [0x1105, 0x1164, 0x11AC], NFKC: [0xB7D5], NFKD: [0x1105, 0x1164, 0x11AC] }, -{ source: [0xB7D6], NFC: [0xB7D6], NFD: [0x1105, 0x1164, 0x11AD], NFKC: [0xB7D6], NFKD: [0x1105, 0x1164, 0x11AD] }, -{ source: [0xB7D7], NFC: [0xB7D7], NFD: [0x1105, 0x1164, 0x11AE], NFKC: [0xB7D7], NFKD: [0x1105, 0x1164, 0x11AE] }, -{ source: [0xB7D8], NFC: [0xB7D8], NFD: [0x1105, 0x1164, 0x11AF], NFKC: [0xB7D8], NFKD: [0x1105, 0x1164, 0x11AF] }, -{ source: [0xB7D9], NFC: [0xB7D9], NFD: [0x1105, 0x1164, 0x11B0], NFKC: [0xB7D9], NFKD: [0x1105, 0x1164, 0x11B0] }, -{ source: [0xB7DA], NFC: [0xB7DA], NFD: [0x1105, 0x1164, 0x11B1], NFKC: [0xB7DA], NFKD: [0x1105, 0x1164, 0x11B1] }, -{ source: [0xB7DB], NFC: [0xB7DB], NFD: [0x1105, 0x1164, 0x11B2], NFKC: [0xB7DB], NFKD: [0x1105, 0x1164, 0x11B2] }, -{ source: [0xB7DC], NFC: [0xB7DC], NFD: [0x1105, 0x1164, 0x11B3], NFKC: [0xB7DC], NFKD: [0x1105, 0x1164, 0x11B3] }, -{ source: [0xB7DD], NFC: [0xB7DD], NFD: [0x1105, 0x1164, 0x11B4], NFKC: [0xB7DD], NFKD: [0x1105, 0x1164, 0x11B4] }, -{ source: [0xB7DE], NFC: [0xB7DE], NFD: [0x1105, 0x1164, 0x11B5], NFKC: [0xB7DE], NFKD: [0x1105, 0x1164, 0x11B5] }, -{ source: [0xB7DF], NFC: [0xB7DF], NFD: [0x1105, 0x1164, 0x11B6], NFKC: [0xB7DF], NFKD: [0x1105, 0x1164, 0x11B6] }, -{ source: [0xB7E0], NFC: [0xB7E0], NFD: [0x1105, 0x1164, 0x11B7], NFKC: [0xB7E0], NFKD: [0x1105, 0x1164, 0x11B7] }, -{ source: [0xB7E1], NFC: [0xB7E1], NFD: [0x1105, 0x1164, 0x11B8], NFKC: [0xB7E1], NFKD: [0x1105, 0x1164, 0x11B8] }, -{ source: [0xB7E2], NFC: [0xB7E2], NFD: [0x1105, 0x1164, 0x11B9], NFKC: [0xB7E2], NFKD: [0x1105, 0x1164, 0x11B9] }, -{ source: [0xB7E3], NFC: [0xB7E3], NFD: [0x1105, 0x1164, 0x11BA], NFKC: [0xB7E3], NFKD: [0x1105, 0x1164, 0x11BA] }, -{ source: [0xB7E4], NFC: [0xB7E4], NFD: [0x1105, 0x1164, 0x11BB], NFKC: [0xB7E4], NFKD: [0x1105, 0x1164, 0x11BB] }, -{ source: [0xB7E5], NFC: [0xB7E5], NFD: [0x1105, 0x1164, 0x11BC], NFKC: [0xB7E5], NFKD: [0x1105, 0x1164, 0x11BC] }, -{ source: [0xB7E6], NFC: [0xB7E6], NFD: [0x1105, 0x1164, 0x11BD], NFKC: [0xB7E6], NFKD: [0x1105, 0x1164, 0x11BD] }, -{ source: [0xB7E7], NFC: [0xB7E7], NFD: [0x1105, 0x1164, 0x11BE], NFKC: [0xB7E7], NFKD: [0x1105, 0x1164, 0x11BE] }, -{ source: [0xB7E8], NFC: [0xB7E8], NFD: [0x1105, 0x1164, 0x11BF], NFKC: [0xB7E8], NFKD: [0x1105, 0x1164, 0x11BF] }, -{ source: [0xB7E9], NFC: [0xB7E9], NFD: [0x1105, 0x1164, 0x11C0], NFKC: [0xB7E9], NFKD: [0x1105, 0x1164, 0x11C0] }, -{ source: [0xB7EA], NFC: [0xB7EA], NFD: [0x1105, 0x1164, 0x11C1], NFKC: [0xB7EA], NFKD: [0x1105, 0x1164, 0x11C1] }, -{ source: [0xB7EB], NFC: [0xB7EB], NFD: [0x1105, 0x1164, 0x11C2], NFKC: [0xB7EB], NFKD: [0x1105, 0x1164, 0x11C2] }, -{ source: [0xB7EC], NFC: [0xB7EC], NFD: [0x1105, 0x1165], NFKC: [0xB7EC], NFKD: [0x1105, 0x1165] }, -{ source: [0xB7ED], NFC: [0xB7ED], NFD: [0x1105, 0x1165, 0x11A8], NFKC: [0xB7ED], NFKD: [0x1105, 0x1165, 0x11A8] }, -{ source: [0xB7EE], NFC: [0xB7EE], NFD: [0x1105, 0x1165, 0x11A9], NFKC: [0xB7EE], NFKD: [0x1105, 0x1165, 0x11A9] }, -{ source: [0xB7EF], NFC: [0xB7EF], NFD: [0x1105, 0x1165, 0x11AA], NFKC: [0xB7EF], NFKD: [0x1105, 0x1165, 0x11AA] }, -{ source: [0xB7F0], NFC: [0xB7F0], NFD: [0x1105, 0x1165, 0x11AB], NFKC: [0xB7F0], NFKD: [0x1105, 0x1165, 0x11AB] }, -{ source: [0xB7F1], NFC: [0xB7F1], NFD: [0x1105, 0x1165, 0x11AC], NFKC: [0xB7F1], NFKD: [0x1105, 0x1165, 0x11AC] }, -{ source: [0xB7F2], NFC: [0xB7F2], NFD: [0x1105, 0x1165, 0x11AD], NFKC: [0xB7F2], NFKD: [0x1105, 0x1165, 0x11AD] }, -{ source: [0xB7F3], NFC: [0xB7F3], NFD: [0x1105, 0x1165, 0x11AE], NFKC: [0xB7F3], NFKD: [0x1105, 0x1165, 0x11AE] }, -{ source: [0xB7F4], NFC: [0xB7F4], NFD: [0x1105, 0x1165, 0x11AF], NFKC: [0xB7F4], NFKD: [0x1105, 0x1165, 0x11AF] }, -{ source: [0xB7F5], NFC: [0xB7F5], NFD: [0x1105, 0x1165, 0x11B0], NFKC: [0xB7F5], NFKD: [0x1105, 0x1165, 0x11B0] }, -{ source: [0xB7F6], NFC: [0xB7F6], NFD: [0x1105, 0x1165, 0x11B1], NFKC: [0xB7F6], NFKD: [0x1105, 0x1165, 0x11B1] }, -{ source: [0xB7F7], NFC: [0xB7F7], NFD: [0x1105, 0x1165, 0x11B2], NFKC: [0xB7F7], NFKD: [0x1105, 0x1165, 0x11B2] }, -{ source: [0xB7F8], NFC: [0xB7F8], NFD: [0x1105, 0x1165, 0x11B3], NFKC: [0xB7F8], NFKD: [0x1105, 0x1165, 0x11B3] }, -{ source: [0xB7F9], NFC: [0xB7F9], NFD: [0x1105, 0x1165, 0x11B4], NFKC: [0xB7F9], NFKD: [0x1105, 0x1165, 0x11B4] }, -{ source: [0xB7FA], NFC: [0xB7FA], NFD: [0x1105, 0x1165, 0x11B5], NFKC: [0xB7FA], NFKD: [0x1105, 0x1165, 0x11B5] }, -{ source: [0xB7FB], NFC: [0xB7FB], NFD: [0x1105, 0x1165, 0x11B6], NFKC: [0xB7FB], NFKD: [0x1105, 0x1165, 0x11B6] }, -{ source: [0xB7FC], NFC: [0xB7FC], NFD: [0x1105, 0x1165, 0x11B7], NFKC: [0xB7FC], NFKD: [0x1105, 0x1165, 0x11B7] }, -{ source: [0xB7FD], NFC: [0xB7FD], NFD: [0x1105, 0x1165, 0x11B8], NFKC: [0xB7FD], NFKD: [0x1105, 0x1165, 0x11B8] }, -{ source: [0xB7FE], NFC: [0xB7FE], NFD: [0x1105, 0x1165, 0x11B9], NFKC: [0xB7FE], NFKD: [0x1105, 0x1165, 0x11B9] }, -{ source: [0xB7FF], NFC: [0xB7FF], NFD: [0x1105, 0x1165, 0x11BA], NFKC: [0xB7FF], NFKD: [0x1105, 0x1165, 0x11BA] }, -{ source: [0xB800], NFC: [0xB800], NFD: [0x1105, 0x1165, 0x11BB], NFKC: [0xB800], NFKD: [0x1105, 0x1165, 0x11BB] }, -{ source: [0xB801], NFC: [0xB801], NFD: [0x1105, 0x1165, 0x11BC], NFKC: [0xB801], NFKD: [0x1105, 0x1165, 0x11BC] }, -{ source: [0xB802], NFC: [0xB802], NFD: [0x1105, 0x1165, 0x11BD], NFKC: [0xB802], NFKD: [0x1105, 0x1165, 0x11BD] }, -{ source: [0xB803], NFC: [0xB803], NFD: [0x1105, 0x1165, 0x11BE], NFKC: [0xB803], NFKD: [0x1105, 0x1165, 0x11BE] }, -{ source: [0xB804], NFC: [0xB804], NFD: [0x1105, 0x1165, 0x11BF], NFKC: [0xB804], NFKD: [0x1105, 0x1165, 0x11BF] }, -{ source: [0xB805], NFC: [0xB805], NFD: [0x1105, 0x1165, 0x11C0], NFKC: [0xB805], NFKD: [0x1105, 0x1165, 0x11C0] }, -{ source: [0xB806], NFC: [0xB806], NFD: [0x1105, 0x1165, 0x11C1], NFKC: [0xB806], NFKD: [0x1105, 0x1165, 0x11C1] }, -{ source: [0xB807], NFC: [0xB807], NFD: [0x1105, 0x1165, 0x11C2], NFKC: [0xB807], NFKD: [0x1105, 0x1165, 0x11C2] }, -{ source: [0xB808], NFC: [0xB808], NFD: [0x1105, 0x1166], NFKC: [0xB808], NFKD: [0x1105, 0x1166] }, -{ source: [0xB809], NFC: [0xB809], NFD: [0x1105, 0x1166, 0x11A8], NFKC: [0xB809], NFKD: [0x1105, 0x1166, 0x11A8] }, -{ source: [0xB80A], NFC: [0xB80A], NFD: [0x1105, 0x1166, 0x11A9], NFKC: [0xB80A], NFKD: [0x1105, 0x1166, 0x11A9] }, -{ source: [0xB80B], NFC: [0xB80B], NFD: [0x1105, 0x1166, 0x11AA], NFKC: [0xB80B], NFKD: [0x1105, 0x1166, 0x11AA] }, -{ source: [0xB80C], NFC: [0xB80C], NFD: [0x1105, 0x1166, 0x11AB], NFKC: [0xB80C], NFKD: [0x1105, 0x1166, 0x11AB] }, -{ source: [0xB80D], NFC: [0xB80D], NFD: [0x1105, 0x1166, 0x11AC], NFKC: [0xB80D], NFKD: [0x1105, 0x1166, 0x11AC] }, -{ source: [0xB80E], NFC: [0xB80E], NFD: [0x1105, 0x1166, 0x11AD], NFKC: [0xB80E], NFKD: [0x1105, 0x1166, 0x11AD] }, -{ source: [0xB80F], NFC: [0xB80F], NFD: [0x1105, 0x1166, 0x11AE], NFKC: [0xB80F], NFKD: [0x1105, 0x1166, 0x11AE] }, -{ source: [0xB810], NFC: [0xB810], NFD: [0x1105, 0x1166, 0x11AF], NFKC: [0xB810], NFKD: [0x1105, 0x1166, 0x11AF] }, -{ source: [0xB811], NFC: [0xB811], NFD: [0x1105, 0x1166, 0x11B0], NFKC: [0xB811], NFKD: [0x1105, 0x1166, 0x11B0] }, -{ source: [0xB812], NFC: [0xB812], NFD: [0x1105, 0x1166, 0x11B1], NFKC: [0xB812], NFKD: [0x1105, 0x1166, 0x11B1] }, -{ source: [0xB813], NFC: [0xB813], NFD: [0x1105, 0x1166, 0x11B2], NFKC: [0xB813], NFKD: [0x1105, 0x1166, 0x11B2] }, -{ source: [0xB814], NFC: [0xB814], NFD: [0x1105, 0x1166, 0x11B3], NFKC: [0xB814], NFKD: [0x1105, 0x1166, 0x11B3] }, -{ source: [0xB815], NFC: [0xB815], NFD: [0x1105, 0x1166, 0x11B4], NFKC: [0xB815], NFKD: [0x1105, 0x1166, 0x11B4] }, -{ source: [0xB816], NFC: [0xB816], NFD: [0x1105, 0x1166, 0x11B5], NFKC: [0xB816], NFKD: [0x1105, 0x1166, 0x11B5] }, -{ source: [0xB817], NFC: [0xB817], NFD: [0x1105, 0x1166, 0x11B6], NFKC: [0xB817], NFKD: [0x1105, 0x1166, 0x11B6] }, -{ source: [0xB818], NFC: [0xB818], NFD: [0x1105, 0x1166, 0x11B7], NFKC: [0xB818], NFKD: [0x1105, 0x1166, 0x11B7] }, -{ source: [0xB819], NFC: [0xB819], NFD: [0x1105, 0x1166, 0x11B8], NFKC: [0xB819], NFKD: [0x1105, 0x1166, 0x11B8] }, -{ source: [0xB81A], NFC: [0xB81A], NFD: [0x1105, 0x1166, 0x11B9], NFKC: [0xB81A], NFKD: [0x1105, 0x1166, 0x11B9] }, -{ source: [0xB81B], NFC: [0xB81B], NFD: [0x1105, 0x1166, 0x11BA], NFKC: [0xB81B], NFKD: [0x1105, 0x1166, 0x11BA] }, -{ source: [0xB81C], NFC: [0xB81C], NFD: [0x1105, 0x1166, 0x11BB], NFKC: [0xB81C], NFKD: [0x1105, 0x1166, 0x11BB] }, -{ source: [0xB81D], NFC: [0xB81D], NFD: [0x1105, 0x1166, 0x11BC], NFKC: [0xB81D], NFKD: [0x1105, 0x1166, 0x11BC] }, -{ source: [0xB81E], NFC: [0xB81E], NFD: [0x1105, 0x1166, 0x11BD], NFKC: [0xB81E], NFKD: [0x1105, 0x1166, 0x11BD] }, -{ source: [0xB81F], NFC: [0xB81F], NFD: [0x1105, 0x1166, 0x11BE], NFKC: [0xB81F], NFKD: [0x1105, 0x1166, 0x11BE] }, -{ source: [0xB820], NFC: [0xB820], NFD: [0x1105, 0x1166, 0x11BF], NFKC: [0xB820], NFKD: [0x1105, 0x1166, 0x11BF] }, -{ source: [0xB821], NFC: [0xB821], NFD: [0x1105, 0x1166, 0x11C0], NFKC: [0xB821], NFKD: [0x1105, 0x1166, 0x11C0] }, -{ source: [0xB822], NFC: [0xB822], NFD: [0x1105, 0x1166, 0x11C1], NFKC: [0xB822], NFKD: [0x1105, 0x1166, 0x11C1] }, -{ source: [0xB823], NFC: [0xB823], NFD: [0x1105, 0x1166, 0x11C2], NFKC: [0xB823], NFKD: [0x1105, 0x1166, 0x11C2] }, -{ source: [0xB824], NFC: [0xB824], NFD: [0x1105, 0x1167], NFKC: [0xB824], NFKD: [0x1105, 0x1167] }, -{ source: [0xB825], NFC: [0xB825], NFD: [0x1105, 0x1167, 0x11A8], NFKC: [0xB825], NFKD: [0x1105, 0x1167, 0x11A8] }, -{ source: [0xB826], NFC: [0xB826], NFD: [0x1105, 0x1167, 0x11A9], NFKC: [0xB826], NFKD: [0x1105, 0x1167, 0x11A9] }, -{ source: [0xB827], NFC: [0xB827], NFD: [0x1105, 0x1167, 0x11AA], NFKC: [0xB827], NFKD: [0x1105, 0x1167, 0x11AA] }, -{ source: [0xB828], NFC: [0xB828], NFD: [0x1105, 0x1167, 0x11AB], NFKC: [0xB828], NFKD: [0x1105, 0x1167, 0x11AB] }, -{ source: [0xB829], NFC: [0xB829], NFD: [0x1105, 0x1167, 0x11AC], NFKC: [0xB829], NFKD: [0x1105, 0x1167, 0x11AC] }, -{ source: [0xB82A], NFC: [0xB82A], NFD: [0x1105, 0x1167, 0x11AD], NFKC: [0xB82A], NFKD: [0x1105, 0x1167, 0x11AD] }, -{ source: [0xB82B], NFC: [0xB82B], NFD: [0x1105, 0x1167, 0x11AE], NFKC: [0xB82B], NFKD: [0x1105, 0x1167, 0x11AE] }, -{ source: [0xB82C], NFC: [0xB82C], NFD: [0x1105, 0x1167, 0x11AF], NFKC: [0xB82C], NFKD: [0x1105, 0x1167, 0x11AF] }, -{ source: [0xB82D], NFC: [0xB82D], NFD: [0x1105, 0x1167, 0x11B0], NFKC: [0xB82D], NFKD: [0x1105, 0x1167, 0x11B0] }, -{ source: [0xB82E], NFC: [0xB82E], NFD: [0x1105, 0x1167, 0x11B1], NFKC: [0xB82E], NFKD: [0x1105, 0x1167, 0x11B1] }, -{ source: [0xB82F], NFC: [0xB82F], NFD: [0x1105, 0x1167, 0x11B2], NFKC: [0xB82F], NFKD: [0x1105, 0x1167, 0x11B2] }, -{ source: [0xB830], NFC: [0xB830], NFD: [0x1105, 0x1167, 0x11B3], NFKC: [0xB830], NFKD: [0x1105, 0x1167, 0x11B3] }, -{ source: [0xB831], NFC: [0xB831], NFD: [0x1105, 0x1167, 0x11B4], NFKC: [0xB831], NFKD: [0x1105, 0x1167, 0x11B4] }, -{ source: [0xB832], NFC: [0xB832], NFD: [0x1105, 0x1167, 0x11B5], NFKC: [0xB832], NFKD: [0x1105, 0x1167, 0x11B5] }, -{ source: [0xB833], NFC: [0xB833], NFD: [0x1105, 0x1167, 0x11B6], NFKC: [0xB833], NFKD: [0x1105, 0x1167, 0x11B6] }, -{ source: [0xB834], NFC: [0xB834], NFD: [0x1105, 0x1167, 0x11B7], NFKC: [0xB834], NFKD: [0x1105, 0x1167, 0x11B7] }, -{ source: [0xB835], NFC: [0xB835], NFD: [0x1105, 0x1167, 0x11B8], NFKC: [0xB835], NFKD: [0x1105, 0x1167, 0x11B8] }, -{ source: [0xB836], NFC: [0xB836], NFD: [0x1105, 0x1167, 0x11B9], NFKC: [0xB836], NFKD: [0x1105, 0x1167, 0x11B9] }, -{ source: [0xB837], NFC: [0xB837], NFD: [0x1105, 0x1167, 0x11BA], NFKC: [0xB837], NFKD: [0x1105, 0x1167, 0x11BA] }, -{ source: [0xB838], NFC: [0xB838], NFD: [0x1105, 0x1167, 0x11BB], NFKC: [0xB838], NFKD: [0x1105, 0x1167, 0x11BB] }, -{ source: [0xB839], NFC: [0xB839], NFD: [0x1105, 0x1167, 0x11BC], NFKC: [0xB839], NFKD: [0x1105, 0x1167, 0x11BC] }, -{ source: [0xB83A], NFC: [0xB83A], NFD: [0x1105, 0x1167, 0x11BD], NFKC: [0xB83A], NFKD: [0x1105, 0x1167, 0x11BD] }, -{ source: [0xB83B], NFC: [0xB83B], NFD: [0x1105, 0x1167, 0x11BE], NFKC: [0xB83B], NFKD: [0x1105, 0x1167, 0x11BE] }, -{ source: [0xB83C], NFC: [0xB83C], NFD: [0x1105, 0x1167, 0x11BF], NFKC: [0xB83C], NFKD: [0x1105, 0x1167, 0x11BF] }, -{ source: [0xB83D], NFC: [0xB83D], NFD: [0x1105, 0x1167, 0x11C0], NFKC: [0xB83D], NFKD: [0x1105, 0x1167, 0x11C0] }, -{ source: [0xB83E], NFC: [0xB83E], NFD: [0x1105, 0x1167, 0x11C1], NFKC: [0xB83E], NFKD: [0x1105, 0x1167, 0x11C1] }, -{ source: [0xB83F], NFC: [0xB83F], NFD: [0x1105, 0x1167, 0x11C2], NFKC: [0xB83F], NFKD: [0x1105, 0x1167, 0x11C2] }, -{ source: [0xB840], NFC: [0xB840], NFD: [0x1105, 0x1168], NFKC: [0xB840], NFKD: [0x1105, 0x1168] }, -{ source: [0xB841], NFC: [0xB841], NFD: [0x1105, 0x1168, 0x11A8], NFKC: [0xB841], NFKD: [0x1105, 0x1168, 0x11A8] }, -{ source: [0xB842], NFC: [0xB842], NFD: [0x1105, 0x1168, 0x11A9], NFKC: [0xB842], NFKD: [0x1105, 0x1168, 0x11A9] }, -{ source: [0xB843], NFC: [0xB843], NFD: [0x1105, 0x1168, 0x11AA], NFKC: [0xB843], NFKD: [0x1105, 0x1168, 0x11AA] }, -{ source: [0xB844], NFC: [0xB844], NFD: [0x1105, 0x1168, 0x11AB], NFKC: [0xB844], NFKD: [0x1105, 0x1168, 0x11AB] }, -{ source: [0xB845], NFC: [0xB845], NFD: [0x1105, 0x1168, 0x11AC], NFKC: [0xB845], NFKD: [0x1105, 0x1168, 0x11AC] }, -{ source: [0xB846], NFC: [0xB846], NFD: [0x1105, 0x1168, 0x11AD], NFKC: [0xB846], NFKD: [0x1105, 0x1168, 0x11AD] }, -{ source: [0xB847], NFC: [0xB847], NFD: [0x1105, 0x1168, 0x11AE], NFKC: [0xB847], NFKD: [0x1105, 0x1168, 0x11AE] }, -{ source: [0xB848], NFC: [0xB848], NFD: [0x1105, 0x1168, 0x11AF], NFKC: [0xB848], NFKD: [0x1105, 0x1168, 0x11AF] }, -{ source: [0xB849], NFC: [0xB849], NFD: [0x1105, 0x1168, 0x11B0], NFKC: [0xB849], NFKD: [0x1105, 0x1168, 0x11B0] }, -{ source: [0xB84A], NFC: [0xB84A], NFD: [0x1105, 0x1168, 0x11B1], NFKC: [0xB84A], NFKD: [0x1105, 0x1168, 0x11B1] }, -{ source: [0xB84B], NFC: [0xB84B], NFD: [0x1105, 0x1168, 0x11B2], NFKC: [0xB84B], NFKD: [0x1105, 0x1168, 0x11B2] }, -{ source: [0xB84C], NFC: [0xB84C], NFD: [0x1105, 0x1168, 0x11B3], NFKC: [0xB84C], NFKD: [0x1105, 0x1168, 0x11B3] }, -{ source: [0xB84D], NFC: [0xB84D], NFD: [0x1105, 0x1168, 0x11B4], NFKC: [0xB84D], NFKD: [0x1105, 0x1168, 0x11B4] }, -{ source: [0xB84E], NFC: [0xB84E], NFD: [0x1105, 0x1168, 0x11B5], NFKC: [0xB84E], NFKD: [0x1105, 0x1168, 0x11B5] }, -{ source: [0xB84F], NFC: [0xB84F], NFD: [0x1105, 0x1168, 0x11B6], NFKC: [0xB84F], NFKD: [0x1105, 0x1168, 0x11B6] }, -{ source: [0xB850], NFC: [0xB850], NFD: [0x1105, 0x1168, 0x11B7], NFKC: [0xB850], NFKD: [0x1105, 0x1168, 0x11B7] }, -{ source: [0xB851], NFC: [0xB851], NFD: [0x1105, 0x1168, 0x11B8], NFKC: [0xB851], NFKD: [0x1105, 0x1168, 0x11B8] }, -{ source: [0xB852], NFC: [0xB852], NFD: [0x1105, 0x1168, 0x11B9], NFKC: [0xB852], NFKD: [0x1105, 0x1168, 0x11B9] }, -{ source: [0xB853], NFC: [0xB853], NFD: [0x1105, 0x1168, 0x11BA], NFKC: [0xB853], NFKD: [0x1105, 0x1168, 0x11BA] }, -{ source: [0xB854], NFC: [0xB854], NFD: [0x1105, 0x1168, 0x11BB], NFKC: [0xB854], NFKD: [0x1105, 0x1168, 0x11BB] }, -{ source: [0xB855], NFC: [0xB855], NFD: [0x1105, 0x1168, 0x11BC], NFKC: [0xB855], NFKD: [0x1105, 0x1168, 0x11BC] }, -{ source: [0xB856], NFC: [0xB856], NFD: [0x1105, 0x1168, 0x11BD], NFKC: [0xB856], NFKD: [0x1105, 0x1168, 0x11BD] }, -{ source: [0xB857], NFC: [0xB857], NFD: [0x1105, 0x1168, 0x11BE], NFKC: [0xB857], NFKD: [0x1105, 0x1168, 0x11BE] }, -{ source: [0xB858], NFC: [0xB858], NFD: [0x1105, 0x1168, 0x11BF], NFKC: [0xB858], NFKD: [0x1105, 0x1168, 0x11BF] }, -{ source: [0xB859], NFC: [0xB859], NFD: [0x1105, 0x1168, 0x11C0], NFKC: [0xB859], NFKD: [0x1105, 0x1168, 0x11C0] }, -{ source: [0xB85A], NFC: [0xB85A], NFD: [0x1105, 0x1168, 0x11C1], NFKC: [0xB85A], NFKD: [0x1105, 0x1168, 0x11C1] }, -{ source: [0xB85B], NFC: [0xB85B], NFD: [0x1105, 0x1168, 0x11C2], NFKC: [0xB85B], NFKD: [0x1105, 0x1168, 0x11C2] }, -{ source: [0xB85C], NFC: [0xB85C], NFD: [0x1105, 0x1169], NFKC: [0xB85C], NFKD: [0x1105, 0x1169] }, -{ source: [0xB85D], NFC: [0xB85D], NFD: [0x1105, 0x1169, 0x11A8], NFKC: [0xB85D], NFKD: [0x1105, 0x1169, 0x11A8] }, -{ source: [0xB85E], NFC: [0xB85E], NFD: [0x1105, 0x1169, 0x11A9], NFKC: [0xB85E], NFKD: [0x1105, 0x1169, 0x11A9] }, -{ source: [0xB85F], NFC: [0xB85F], NFD: [0x1105, 0x1169, 0x11AA], NFKC: [0xB85F], NFKD: [0x1105, 0x1169, 0x11AA] }, -{ source: [0xB860], NFC: [0xB860], NFD: [0x1105, 0x1169, 0x11AB], NFKC: [0xB860], NFKD: [0x1105, 0x1169, 0x11AB] }, -{ source: [0xB861], NFC: [0xB861], NFD: [0x1105, 0x1169, 0x11AC], NFKC: [0xB861], NFKD: [0x1105, 0x1169, 0x11AC] }, -{ source: [0xB862], NFC: [0xB862], NFD: [0x1105, 0x1169, 0x11AD], NFKC: [0xB862], NFKD: [0x1105, 0x1169, 0x11AD] }, -{ source: [0xB863], NFC: [0xB863], NFD: [0x1105, 0x1169, 0x11AE], NFKC: [0xB863], NFKD: [0x1105, 0x1169, 0x11AE] }, -{ source: [0xB864], NFC: [0xB864], NFD: [0x1105, 0x1169, 0x11AF], NFKC: [0xB864], NFKD: [0x1105, 0x1169, 0x11AF] }, -{ source: [0xB865], NFC: [0xB865], NFD: [0x1105, 0x1169, 0x11B0], NFKC: [0xB865], NFKD: [0x1105, 0x1169, 0x11B0] }, -{ source: [0xB866], NFC: [0xB866], NFD: [0x1105, 0x1169, 0x11B1], NFKC: [0xB866], NFKD: [0x1105, 0x1169, 0x11B1] }, -{ source: [0xB867], NFC: [0xB867], NFD: [0x1105, 0x1169, 0x11B2], NFKC: [0xB867], NFKD: [0x1105, 0x1169, 0x11B2] }, -{ source: [0xB868], NFC: [0xB868], NFD: [0x1105, 0x1169, 0x11B3], NFKC: [0xB868], NFKD: [0x1105, 0x1169, 0x11B3] }, -{ source: [0xB869], NFC: [0xB869], NFD: [0x1105, 0x1169, 0x11B4], NFKC: [0xB869], NFKD: [0x1105, 0x1169, 0x11B4] }, -{ source: [0xB86A], NFC: [0xB86A], NFD: [0x1105, 0x1169, 0x11B5], NFKC: [0xB86A], NFKD: [0x1105, 0x1169, 0x11B5] }, -{ source: [0xB86B], NFC: [0xB86B], NFD: [0x1105, 0x1169, 0x11B6], NFKC: [0xB86B], NFKD: [0x1105, 0x1169, 0x11B6] }, -{ source: [0xB86C], NFC: [0xB86C], NFD: [0x1105, 0x1169, 0x11B7], NFKC: [0xB86C], NFKD: [0x1105, 0x1169, 0x11B7] }, -{ source: [0xB86D], NFC: [0xB86D], NFD: [0x1105, 0x1169, 0x11B8], NFKC: [0xB86D], NFKD: [0x1105, 0x1169, 0x11B8] }, -{ source: [0xB86E], NFC: [0xB86E], NFD: [0x1105, 0x1169, 0x11B9], NFKC: [0xB86E], NFKD: [0x1105, 0x1169, 0x11B9] }, -{ source: [0xB86F], NFC: [0xB86F], NFD: [0x1105, 0x1169, 0x11BA], NFKC: [0xB86F], NFKD: [0x1105, 0x1169, 0x11BA] }, -{ source: [0xB870], NFC: [0xB870], NFD: [0x1105, 0x1169, 0x11BB], NFKC: [0xB870], NFKD: [0x1105, 0x1169, 0x11BB] }, -{ source: [0xB871], NFC: [0xB871], NFD: [0x1105, 0x1169, 0x11BC], NFKC: [0xB871], NFKD: [0x1105, 0x1169, 0x11BC] }, -{ source: [0xB872], NFC: [0xB872], NFD: [0x1105, 0x1169, 0x11BD], NFKC: [0xB872], NFKD: [0x1105, 0x1169, 0x11BD] }, -{ source: [0xB873], NFC: [0xB873], NFD: [0x1105, 0x1169, 0x11BE], NFKC: [0xB873], NFKD: [0x1105, 0x1169, 0x11BE] }, -{ source: [0xB874], NFC: [0xB874], NFD: [0x1105, 0x1169, 0x11BF], NFKC: [0xB874], NFKD: [0x1105, 0x1169, 0x11BF] }, -{ source: [0xB875], NFC: [0xB875], NFD: [0x1105, 0x1169, 0x11C0], NFKC: [0xB875], NFKD: [0x1105, 0x1169, 0x11C0] }, -{ source: [0xB876], NFC: [0xB876], NFD: [0x1105, 0x1169, 0x11C1], NFKC: [0xB876], NFKD: [0x1105, 0x1169, 0x11C1] }, -{ source: [0xB877], NFC: [0xB877], NFD: [0x1105, 0x1169, 0x11C2], NFKC: [0xB877], NFKD: [0x1105, 0x1169, 0x11C2] }, -{ source: [0xB878], NFC: [0xB878], NFD: [0x1105, 0x116A], NFKC: [0xB878], NFKD: [0x1105, 0x116A] }, -{ source: [0xB879], NFC: [0xB879], NFD: [0x1105, 0x116A, 0x11A8], NFKC: [0xB879], NFKD: [0x1105, 0x116A, 0x11A8] }, -{ source: [0xB87A], NFC: [0xB87A], NFD: [0x1105, 0x116A, 0x11A9], NFKC: [0xB87A], NFKD: [0x1105, 0x116A, 0x11A9] }, -{ source: [0xB87B], NFC: [0xB87B], NFD: [0x1105, 0x116A, 0x11AA], NFKC: [0xB87B], NFKD: [0x1105, 0x116A, 0x11AA] }, -{ source: [0xB87C], NFC: [0xB87C], NFD: [0x1105, 0x116A, 0x11AB], NFKC: [0xB87C], NFKD: [0x1105, 0x116A, 0x11AB] }, -{ source: [0xB87D], NFC: [0xB87D], NFD: [0x1105, 0x116A, 0x11AC], NFKC: [0xB87D], NFKD: [0x1105, 0x116A, 0x11AC] }, -{ source: [0xB87E], NFC: [0xB87E], NFD: [0x1105, 0x116A, 0x11AD], NFKC: [0xB87E], NFKD: [0x1105, 0x116A, 0x11AD] }, -{ source: [0xB87F], NFC: [0xB87F], NFD: [0x1105, 0x116A, 0x11AE], NFKC: [0xB87F], NFKD: [0x1105, 0x116A, 0x11AE] }, -{ source: [0xB880], NFC: [0xB880], NFD: [0x1105, 0x116A, 0x11AF], NFKC: [0xB880], NFKD: [0x1105, 0x116A, 0x11AF] }, -{ source: [0xB881], NFC: [0xB881], NFD: [0x1105, 0x116A, 0x11B0], NFKC: [0xB881], NFKD: [0x1105, 0x116A, 0x11B0] }, -{ source: [0xB882], NFC: [0xB882], NFD: [0x1105, 0x116A, 0x11B1], NFKC: [0xB882], NFKD: [0x1105, 0x116A, 0x11B1] }, -{ source: [0xB883], NFC: [0xB883], NFD: [0x1105, 0x116A, 0x11B2], NFKC: [0xB883], NFKD: [0x1105, 0x116A, 0x11B2] }, -{ source: [0xB884], NFC: [0xB884], NFD: [0x1105, 0x116A, 0x11B3], NFKC: [0xB884], NFKD: [0x1105, 0x116A, 0x11B3] }, -{ source: [0xB885], NFC: [0xB885], NFD: [0x1105, 0x116A, 0x11B4], NFKC: [0xB885], NFKD: [0x1105, 0x116A, 0x11B4] }, -{ source: [0xB886], NFC: [0xB886], NFD: [0x1105, 0x116A, 0x11B5], NFKC: [0xB886], NFKD: [0x1105, 0x116A, 0x11B5] }, -{ source: [0xB887], NFC: [0xB887], NFD: [0x1105, 0x116A, 0x11B6], NFKC: [0xB887], NFKD: [0x1105, 0x116A, 0x11B6] }, -{ source: [0xB888], NFC: [0xB888], NFD: [0x1105, 0x116A, 0x11B7], NFKC: [0xB888], NFKD: [0x1105, 0x116A, 0x11B7] }, -{ source: [0xB889], NFC: [0xB889], NFD: [0x1105, 0x116A, 0x11B8], NFKC: [0xB889], NFKD: [0x1105, 0x116A, 0x11B8] }, -{ source: [0xB88A], NFC: [0xB88A], NFD: [0x1105, 0x116A, 0x11B9], NFKC: [0xB88A], NFKD: [0x1105, 0x116A, 0x11B9] }, -{ source: [0xB88B], NFC: [0xB88B], NFD: [0x1105, 0x116A, 0x11BA], NFKC: [0xB88B], NFKD: [0x1105, 0x116A, 0x11BA] }, -{ source: [0xB88C], NFC: [0xB88C], NFD: [0x1105, 0x116A, 0x11BB], NFKC: [0xB88C], NFKD: [0x1105, 0x116A, 0x11BB] }, -{ source: [0xB88D], NFC: [0xB88D], NFD: [0x1105, 0x116A, 0x11BC], NFKC: [0xB88D], NFKD: [0x1105, 0x116A, 0x11BC] }, -{ source: [0xB88E], NFC: [0xB88E], NFD: [0x1105, 0x116A, 0x11BD], NFKC: [0xB88E], NFKD: [0x1105, 0x116A, 0x11BD] }, -{ source: [0xB88F], NFC: [0xB88F], NFD: [0x1105, 0x116A, 0x11BE], NFKC: [0xB88F], NFKD: [0x1105, 0x116A, 0x11BE] }, -{ source: [0xB890], NFC: [0xB890], NFD: [0x1105, 0x116A, 0x11BF], NFKC: [0xB890], NFKD: [0x1105, 0x116A, 0x11BF] }, -{ source: [0xB891], NFC: [0xB891], NFD: [0x1105, 0x116A, 0x11C0], NFKC: [0xB891], NFKD: [0x1105, 0x116A, 0x11C0] }, -{ source: [0xB892], NFC: [0xB892], NFD: [0x1105, 0x116A, 0x11C1], NFKC: [0xB892], NFKD: [0x1105, 0x116A, 0x11C1] }, -{ source: [0xB893], NFC: [0xB893], NFD: [0x1105, 0x116A, 0x11C2], NFKC: [0xB893], NFKD: [0x1105, 0x116A, 0x11C2] }, -{ source: [0xB894], NFC: [0xB894], NFD: [0x1105, 0x116B], NFKC: [0xB894], NFKD: [0x1105, 0x116B] }, -{ source: [0xB895], NFC: [0xB895], NFD: [0x1105, 0x116B, 0x11A8], NFKC: [0xB895], NFKD: [0x1105, 0x116B, 0x11A8] }, -{ source: [0xB896], NFC: [0xB896], NFD: [0x1105, 0x116B, 0x11A9], NFKC: [0xB896], NFKD: [0x1105, 0x116B, 0x11A9] }, -{ source: [0xB897], NFC: [0xB897], NFD: [0x1105, 0x116B, 0x11AA], NFKC: [0xB897], NFKD: [0x1105, 0x116B, 0x11AA] }, -{ source: [0xB898], NFC: [0xB898], NFD: [0x1105, 0x116B, 0x11AB], NFKC: [0xB898], NFKD: [0x1105, 0x116B, 0x11AB] }, -{ source: [0xB899], NFC: [0xB899], NFD: [0x1105, 0x116B, 0x11AC], NFKC: [0xB899], NFKD: [0x1105, 0x116B, 0x11AC] }, -{ source: [0xB89A], NFC: [0xB89A], NFD: [0x1105, 0x116B, 0x11AD], NFKC: [0xB89A], NFKD: [0x1105, 0x116B, 0x11AD] }, -{ source: [0xB89B], NFC: [0xB89B], NFD: [0x1105, 0x116B, 0x11AE], NFKC: [0xB89B], NFKD: [0x1105, 0x116B, 0x11AE] }, -{ source: [0xB89C], NFC: [0xB89C], NFD: [0x1105, 0x116B, 0x11AF], NFKC: [0xB89C], NFKD: [0x1105, 0x116B, 0x11AF] }, -{ source: [0xB89D], NFC: [0xB89D], NFD: [0x1105, 0x116B, 0x11B0], NFKC: [0xB89D], NFKD: [0x1105, 0x116B, 0x11B0] }, -{ source: [0xB89E], NFC: [0xB89E], NFD: [0x1105, 0x116B, 0x11B1], NFKC: [0xB89E], NFKD: [0x1105, 0x116B, 0x11B1] }, -{ source: [0xB89F], NFC: [0xB89F], NFD: [0x1105, 0x116B, 0x11B2], NFKC: [0xB89F], NFKD: [0x1105, 0x116B, 0x11B2] }, -{ source: [0xB8A0], NFC: [0xB8A0], NFD: [0x1105, 0x116B, 0x11B3], NFKC: [0xB8A0], NFKD: [0x1105, 0x116B, 0x11B3] }, -{ source: [0xB8A1], NFC: [0xB8A1], NFD: [0x1105, 0x116B, 0x11B4], NFKC: [0xB8A1], NFKD: [0x1105, 0x116B, 0x11B4] }, -{ source: [0xB8A2], NFC: [0xB8A2], NFD: [0x1105, 0x116B, 0x11B5], NFKC: [0xB8A2], NFKD: [0x1105, 0x116B, 0x11B5] }, -{ source: [0xB8A3], NFC: [0xB8A3], NFD: [0x1105, 0x116B, 0x11B6], NFKC: [0xB8A3], NFKD: [0x1105, 0x116B, 0x11B6] }, -{ source: [0xB8A4], NFC: [0xB8A4], NFD: [0x1105, 0x116B, 0x11B7], NFKC: [0xB8A4], NFKD: [0x1105, 0x116B, 0x11B7] }, -{ source: [0xB8A5], NFC: [0xB8A5], NFD: [0x1105, 0x116B, 0x11B8], NFKC: [0xB8A5], NFKD: [0x1105, 0x116B, 0x11B8] }, -{ source: [0xB8A6], NFC: [0xB8A6], NFD: [0x1105, 0x116B, 0x11B9], NFKC: [0xB8A6], NFKD: [0x1105, 0x116B, 0x11B9] }, -{ source: [0xB8A7], NFC: [0xB8A7], NFD: [0x1105, 0x116B, 0x11BA], NFKC: [0xB8A7], NFKD: [0x1105, 0x116B, 0x11BA] }, -{ source: [0xB8A8], NFC: [0xB8A8], NFD: [0x1105, 0x116B, 0x11BB], NFKC: [0xB8A8], NFKD: [0x1105, 0x116B, 0x11BB] }, -{ source: [0xB8A9], NFC: [0xB8A9], NFD: [0x1105, 0x116B, 0x11BC], NFKC: [0xB8A9], NFKD: [0x1105, 0x116B, 0x11BC] }, -{ source: [0xB8AA], NFC: [0xB8AA], NFD: [0x1105, 0x116B, 0x11BD], NFKC: [0xB8AA], NFKD: [0x1105, 0x116B, 0x11BD] }, -{ source: [0xB8AB], NFC: [0xB8AB], NFD: [0x1105, 0x116B, 0x11BE], NFKC: [0xB8AB], NFKD: [0x1105, 0x116B, 0x11BE] }, -{ source: [0xB8AC], NFC: [0xB8AC], NFD: [0x1105, 0x116B, 0x11BF], NFKC: [0xB8AC], NFKD: [0x1105, 0x116B, 0x11BF] }, -{ source: [0xB8AD], NFC: [0xB8AD], NFD: [0x1105, 0x116B, 0x11C0], NFKC: [0xB8AD], NFKD: [0x1105, 0x116B, 0x11C0] }, -{ source: [0xB8AE], NFC: [0xB8AE], NFD: [0x1105, 0x116B, 0x11C1], NFKC: [0xB8AE], NFKD: [0x1105, 0x116B, 0x11C1] }, -{ source: [0xB8AF], NFC: [0xB8AF], NFD: [0x1105, 0x116B, 0x11C2], NFKC: [0xB8AF], NFKD: [0x1105, 0x116B, 0x11C2] }, -{ source: [0xB8B0], NFC: [0xB8B0], NFD: [0x1105, 0x116C], NFKC: [0xB8B0], NFKD: [0x1105, 0x116C] }, -{ source: [0xB8B1], NFC: [0xB8B1], NFD: [0x1105, 0x116C, 0x11A8], NFKC: [0xB8B1], NFKD: [0x1105, 0x116C, 0x11A8] }, -{ source: [0xB8B2], NFC: [0xB8B2], NFD: [0x1105, 0x116C, 0x11A9], NFKC: [0xB8B2], NFKD: [0x1105, 0x116C, 0x11A9] }, -{ source: [0xB8B3], NFC: [0xB8B3], NFD: [0x1105, 0x116C, 0x11AA], NFKC: [0xB8B3], NFKD: [0x1105, 0x116C, 0x11AA] }, -{ source: [0xB8B4], NFC: [0xB8B4], NFD: [0x1105, 0x116C, 0x11AB], NFKC: [0xB8B4], NFKD: [0x1105, 0x116C, 0x11AB] }, -{ source: [0xB8B5], NFC: [0xB8B5], NFD: [0x1105, 0x116C, 0x11AC], NFKC: [0xB8B5], NFKD: [0x1105, 0x116C, 0x11AC] }, -{ source: [0xB8B6], NFC: [0xB8B6], NFD: [0x1105, 0x116C, 0x11AD], NFKC: [0xB8B6], NFKD: [0x1105, 0x116C, 0x11AD] }, -{ source: [0xB8B7], NFC: [0xB8B7], NFD: [0x1105, 0x116C, 0x11AE], NFKC: [0xB8B7], NFKD: [0x1105, 0x116C, 0x11AE] }, -{ source: [0xB8B8], NFC: [0xB8B8], NFD: [0x1105, 0x116C, 0x11AF], NFKC: [0xB8B8], NFKD: [0x1105, 0x116C, 0x11AF] }, -{ source: [0xB8B9], NFC: [0xB8B9], NFD: [0x1105, 0x116C, 0x11B0], NFKC: [0xB8B9], NFKD: [0x1105, 0x116C, 0x11B0] }, -{ source: [0xB8BA], NFC: [0xB8BA], NFD: [0x1105, 0x116C, 0x11B1], NFKC: [0xB8BA], NFKD: [0x1105, 0x116C, 0x11B1] }, -{ source: [0xB8BB], NFC: [0xB8BB], NFD: [0x1105, 0x116C, 0x11B2], NFKC: [0xB8BB], NFKD: [0x1105, 0x116C, 0x11B2] }, -{ source: [0xB8BC], NFC: [0xB8BC], NFD: [0x1105, 0x116C, 0x11B3], NFKC: [0xB8BC], NFKD: [0x1105, 0x116C, 0x11B3] }, -{ source: [0xB8BD], NFC: [0xB8BD], NFD: [0x1105, 0x116C, 0x11B4], NFKC: [0xB8BD], NFKD: [0x1105, 0x116C, 0x11B4] }, -{ source: [0xB8BE], NFC: [0xB8BE], NFD: [0x1105, 0x116C, 0x11B5], NFKC: [0xB8BE], NFKD: [0x1105, 0x116C, 0x11B5] }, -{ source: [0xB8BF], NFC: [0xB8BF], NFD: [0x1105, 0x116C, 0x11B6], NFKC: [0xB8BF], NFKD: [0x1105, 0x116C, 0x11B6] }, -{ source: [0xB8C0], NFC: [0xB8C0], NFD: [0x1105, 0x116C, 0x11B7], NFKC: [0xB8C0], NFKD: [0x1105, 0x116C, 0x11B7] }, -{ source: [0xB8C1], NFC: [0xB8C1], NFD: [0x1105, 0x116C, 0x11B8], NFKC: [0xB8C1], NFKD: [0x1105, 0x116C, 0x11B8] }, -{ source: [0xB8C2], NFC: [0xB8C2], NFD: [0x1105, 0x116C, 0x11B9], NFKC: [0xB8C2], NFKD: [0x1105, 0x116C, 0x11B9] }, -{ source: [0xB8C3], NFC: [0xB8C3], NFD: [0x1105, 0x116C, 0x11BA], NFKC: [0xB8C3], NFKD: [0x1105, 0x116C, 0x11BA] }, -{ source: [0xB8C4], NFC: [0xB8C4], NFD: [0x1105, 0x116C, 0x11BB], NFKC: [0xB8C4], NFKD: [0x1105, 0x116C, 0x11BB] }, -{ source: [0xB8C5], NFC: [0xB8C5], NFD: [0x1105, 0x116C, 0x11BC], NFKC: [0xB8C5], NFKD: [0x1105, 0x116C, 0x11BC] }, -{ source: [0xB8C6], NFC: [0xB8C6], NFD: [0x1105, 0x116C, 0x11BD], NFKC: [0xB8C6], NFKD: [0x1105, 0x116C, 0x11BD] }, -{ source: [0xB8C7], NFC: [0xB8C7], NFD: [0x1105, 0x116C, 0x11BE], NFKC: [0xB8C7], NFKD: [0x1105, 0x116C, 0x11BE] }, -{ source: [0xB8C8], NFC: [0xB8C8], NFD: [0x1105, 0x116C, 0x11BF], NFKC: [0xB8C8], NFKD: [0x1105, 0x116C, 0x11BF] }, -{ source: [0xB8C9], NFC: [0xB8C9], NFD: [0x1105, 0x116C, 0x11C0], NFKC: [0xB8C9], NFKD: [0x1105, 0x116C, 0x11C0] }, -{ source: [0xB8CA], NFC: [0xB8CA], NFD: [0x1105, 0x116C, 0x11C1], NFKC: [0xB8CA], NFKD: [0x1105, 0x116C, 0x11C1] }, -{ source: [0xB8CB], NFC: [0xB8CB], NFD: [0x1105, 0x116C, 0x11C2], NFKC: [0xB8CB], NFKD: [0x1105, 0x116C, 0x11C2] }, -{ source: [0xB8CC], NFC: [0xB8CC], NFD: [0x1105, 0x116D], NFKC: [0xB8CC], NFKD: [0x1105, 0x116D] }, -{ source: [0xB8CD], NFC: [0xB8CD], NFD: [0x1105, 0x116D, 0x11A8], NFKC: [0xB8CD], NFKD: [0x1105, 0x116D, 0x11A8] }, -{ source: [0xB8CE], NFC: [0xB8CE], NFD: [0x1105, 0x116D, 0x11A9], NFKC: [0xB8CE], NFKD: [0x1105, 0x116D, 0x11A9] }, -{ source: [0xB8CF], NFC: [0xB8CF], NFD: [0x1105, 0x116D, 0x11AA], NFKC: [0xB8CF], NFKD: [0x1105, 0x116D, 0x11AA] }, -{ source: [0xB8D0], NFC: [0xB8D0], NFD: [0x1105, 0x116D, 0x11AB], NFKC: [0xB8D0], NFKD: [0x1105, 0x116D, 0x11AB] }, -{ source: [0xB8D1], NFC: [0xB8D1], NFD: [0x1105, 0x116D, 0x11AC], NFKC: [0xB8D1], NFKD: [0x1105, 0x116D, 0x11AC] }, -{ source: [0xB8D2], NFC: [0xB8D2], NFD: [0x1105, 0x116D, 0x11AD], NFKC: [0xB8D2], NFKD: [0x1105, 0x116D, 0x11AD] }, -{ source: [0xB8D3], NFC: [0xB8D3], NFD: [0x1105, 0x116D, 0x11AE], NFKC: [0xB8D3], NFKD: [0x1105, 0x116D, 0x11AE] }, -{ source: [0xB8D4], NFC: [0xB8D4], NFD: [0x1105, 0x116D, 0x11AF], NFKC: [0xB8D4], NFKD: [0x1105, 0x116D, 0x11AF] }, -{ source: [0xB8D5], NFC: [0xB8D5], NFD: [0x1105, 0x116D, 0x11B0], NFKC: [0xB8D5], NFKD: [0x1105, 0x116D, 0x11B0] }, -{ source: [0xB8D6], NFC: [0xB8D6], NFD: [0x1105, 0x116D, 0x11B1], NFKC: [0xB8D6], NFKD: [0x1105, 0x116D, 0x11B1] }, -{ source: [0xB8D7], NFC: [0xB8D7], NFD: [0x1105, 0x116D, 0x11B2], NFKC: [0xB8D7], NFKD: [0x1105, 0x116D, 0x11B2] }, -{ source: [0xB8D8], NFC: [0xB8D8], NFD: [0x1105, 0x116D, 0x11B3], NFKC: [0xB8D8], NFKD: [0x1105, 0x116D, 0x11B3] }, -{ source: [0xB8D9], NFC: [0xB8D9], NFD: [0x1105, 0x116D, 0x11B4], NFKC: [0xB8D9], NFKD: [0x1105, 0x116D, 0x11B4] }, -{ source: [0xB8DA], NFC: [0xB8DA], NFD: [0x1105, 0x116D, 0x11B5], NFKC: [0xB8DA], NFKD: [0x1105, 0x116D, 0x11B5] }, -{ source: [0xB8DB], NFC: [0xB8DB], NFD: [0x1105, 0x116D, 0x11B6], NFKC: [0xB8DB], NFKD: [0x1105, 0x116D, 0x11B6] }, -{ source: [0xB8DC], NFC: [0xB8DC], NFD: [0x1105, 0x116D, 0x11B7], NFKC: [0xB8DC], NFKD: [0x1105, 0x116D, 0x11B7] }, -{ source: [0xB8DD], NFC: [0xB8DD], NFD: [0x1105, 0x116D, 0x11B8], NFKC: [0xB8DD], NFKD: [0x1105, 0x116D, 0x11B8] }, -{ source: [0xB8DE], NFC: [0xB8DE], NFD: [0x1105, 0x116D, 0x11B9], NFKC: [0xB8DE], NFKD: [0x1105, 0x116D, 0x11B9] }, -{ source: [0xB8DF], NFC: [0xB8DF], NFD: [0x1105, 0x116D, 0x11BA], NFKC: [0xB8DF], NFKD: [0x1105, 0x116D, 0x11BA] }, -{ source: [0xB8E0], NFC: [0xB8E0], NFD: [0x1105, 0x116D, 0x11BB], NFKC: [0xB8E0], NFKD: [0x1105, 0x116D, 0x11BB] }, -{ source: [0xB8E1], NFC: [0xB8E1], NFD: [0x1105, 0x116D, 0x11BC], NFKC: [0xB8E1], NFKD: [0x1105, 0x116D, 0x11BC] }, -{ source: [0xB8E2], NFC: [0xB8E2], NFD: [0x1105, 0x116D, 0x11BD], NFKC: [0xB8E2], NFKD: [0x1105, 0x116D, 0x11BD] }, -{ source: [0xB8E3], NFC: [0xB8E3], NFD: [0x1105, 0x116D, 0x11BE], NFKC: [0xB8E3], NFKD: [0x1105, 0x116D, 0x11BE] }, -{ source: [0xB8E4], NFC: [0xB8E4], NFD: [0x1105, 0x116D, 0x11BF], NFKC: [0xB8E4], NFKD: [0x1105, 0x116D, 0x11BF] }, -{ source: [0xB8E5], NFC: [0xB8E5], NFD: [0x1105, 0x116D, 0x11C0], NFKC: [0xB8E5], NFKD: [0x1105, 0x116D, 0x11C0] }, -{ source: [0xB8E6], NFC: [0xB8E6], NFD: [0x1105, 0x116D, 0x11C1], NFKC: [0xB8E6], NFKD: [0x1105, 0x116D, 0x11C1] }, -{ source: [0xB8E7], NFC: [0xB8E7], NFD: [0x1105, 0x116D, 0x11C2], NFKC: [0xB8E7], NFKD: [0x1105, 0x116D, 0x11C2] }, -{ source: [0xB8E8], NFC: [0xB8E8], NFD: [0x1105, 0x116E], NFKC: [0xB8E8], NFKD: [0x1105, 0x116E] }, -{ source: [0xB8E9], NFC: [0xB8E9], NFD: [0x1105, 0x116E, 0x11A8], NFKC: [0xB8E9], NFKD: [0x1105, 0x116E, 0x11A8] }, -{ source: [0xB8EA], NFC: [0xB8EA], NFD: [0x1105, 0x116E, 0x11A9], NFKC: [0xB8EA], NFKD: [0x1105, 0x116E, 0x11A9] }, -{ source: [0xB8EB], NFC: [0xB8EB], NFD: [0x1105, 0x116E, 0x11AA], NFKC: [0xB8EB], NFKD: [0x1105, 0x116E, 0x11AA] }, -{ source: [0xB8EC], NFC: [0xB8EC], NFD: [0x1105, 0x116E, 0x11AB], NFKC: [0xB8EC], NFKD: [0x1105, 0x116E, 0x11AB] }, -{ source: [0xB8ED], NFC: [0xB8ED], NFD: [0x1105, 0x116E, 0x11AC], NFKC: [0xB8ED], NFKD: [0x1105, 0x116E, 0x11AC] }, -{ source: [0xB8EE], NFC: [0xB8EE], NFD: [0x1105, 0x116E, 0x11AD], NFKC: [0xB8EE], NFKD: [0x1105, 0x116E, 0x11AD] }, -{ source: [0xB8EF], NFC: [0xB8EF], NFD: [0x1105, 0x116E, 0x11AE], NFKC: [0xB8EF], NFKD: [0x1105, 0x116E, 0x11AE] }, -{ source: [0xB8F0], NFC: [0xB8F0], NFD: [0x1105, 0x116E, 0x11AF], NFKC: [0xB8F0], NFKD: [0x1105, 0x116E, 0x11AF] }, -{ source: [0xB8F1], NFC: [0xB8F1], NFD: [0x1105, 0x116E, 0x11B0], NFKC: [0xB8F1], NFKD: [0x1105, 0x116E, 0x11B0] }, -{ source: [0xB8F2], NFC: [0xB8F2], NFD: [0x1105, 0x116E, 0x11B1], NFKC: [0xB8F2], NFKD: [0x1105, 0x116E, 0x11B1] }, -{ source: [0xB8F3], NFC: [0xB8F3], NFD: [0x1105, 0x116E, 0x11B2], NFKC: [0xB8F3], NFKD: [0x1105, 0x116E, 0x11B2] }, -{ source: [0xB8F4], NFC: [0xB8F4], NFD: [0x1105, 0x116E, 0x11B3], NFKC: [0xB8F4], NFKD: [0x1105, 0x116E, 0x11B3] }, -{ source: [0xB8F5], NFC: [0xB8F5], NFD: [0x1105, 0x116E, 0x11B4], NFKC: [0xB8F5], NFKD: [0x1105, 0x116E, 0x11B4] }, -{ source: [0xB8F6], NFC: [0xB8F6], NFD: [0x1105, 0x116E, 0x11B5], NFKC: [0xB8F6], NFKD: [0x1105, 0x116E, 0x11B5] }, -{ source: [0xB8F7], NFC: [0xB8F7], NFD: [0x1105, 0x116E, 0x11B6], NFKC: [0xB8F7], NFKD: [0x1105, 0x116E, 0x11B6] }, -{ source: [0xB8F8], NFC: [0xB8F8], NFD: [0x1105, 0x116E, 0x11B7], NFKC: [0xB8F8], NFKD: [0x1105, 0x116E, 0x11B7] }, -{ source: [0xB8F9], NFC: [0xB8F9], NFD: [0x1105, 0x116E, 0x11B8], NFKC: [0xB8F9], NFKD: [0x1105, 0x116E, 0x11B8] }, -{ source: [0xB8FA], NFC: [0xB8FA], NFD: [0x1105, 0x116E, 0x11B9], NFKC: [0xB8FA], NFKD: [0x1105, 0x116E, 0x11B9] }, -{ source: [0xB8FB], NFC: [0xB8FB], NFD: [0x1105, 0x116E, 0x11BA], NFKC: [0xB8FB], NFKD: [0x1105, 0x116E, 0x11BA] }, -{ source: [0xB8FC], NFC: [0xB8FC], NFD: [0x1105, 0x116E, 0x11BB], NFKC: [0xB8FC], NFKD: [0x1105, 0x116E, 0x11BB] }, -{ source: [0xB8FD], NFC: [0xB8FD], NFD: [0x1105, 0x116E, 0x11BC], NFKC: [0xB8FD], NFKD: [0x1105, 0x116E, 0x11BC] }, -{ source: [0xB8FE], NFC: [0xB8FE], NFD: [0x1105, 0x116E, 0x11BD], NFKC: [0xB8FE], NFKD: [0x1105, 0x116E, 0x11BD] }, -{ source: [0xB8FF], NFC: [0xB8FF], NFD: [0x1105, 0x116E, 0x11BE], NFKC: [0xB8FF], NFKD: [0x1105, 0x116E, 0x11BE] }, -{ source: [0xB900], NFC: [0xB900], NFD: [0x1105, 0x116E, 0x11BF], NFKC: [0xB900], NFKD: [0x1105, 0x116E, 0x11BF] }, -{ source: [0xB901], NFC: [0xB901], NFD: [0x1105, 0x116E, 0x11C0], NFKC: [0xB901], NFKD: [0x1105, 0x116E, 0x11C0] }, -{ source: [0xB902], NFC: [0xB902], NFD: [0x1105, 0x116E, 0x11C1], NFKC: [0xB902], NFKD: [0x1105, 0x116E, 0x11C1] }, -{ source: [0xB903], NFC: [0xB903], NFD: [0x1105, 0x116E, 0x11C2], NFKC: [0xB903], NFKD: [0x1105, 0x116E, 0x11C2] }, -{ source: [0xB904], NFC: [0xB904], NFD: [0x1105, 0x116F], NFKC: [0xB904], NFKD: [0x1105, 0x116F] }, -{ source: [0xB905], NFC: [0xB905], NFD: [0x1105, 0x116F, 0x11A8], NFKC: [0xB905], NFKD: [0x1105, 0x116F, 0x11A8] }, -{ source: [0xB906], NFC: [0xB906], NFD: [0x1105, 0x116F, 0x11A9], NFKC: [0xB906], NFKD: [0x1105, 0x116F, 0x11A9] }, -{ source: [0xB907], NFC: [0xB907], NFD: [0x1105, 0x116F, 0x11AA], NFKC: [0xB907], NFKD: [0x1105, 0x116F, 0x11AA] }, -{ source: [0xB908], NFC: [0xB908], NFD: [0x1105, 0x116F, 0x11AB], NFKC: [0xB908], NFKD: [0x1105, 0x116F, 0x11AB] }, -{ source: [0xB909], NFC: [0xB909], NFD: [0x1105, 0x116F, 0x11AC], NFKC: [0xB909], NFKD: [0x1105, 0x116F, 0x11AC] }, -{ source: [0xB90A], NFC: [0xB90A], NFD: [0x1105, 0x116F, 0x11AD], NFKC: [0xB90A], NFKD: [0x1105, 0x116F, 0x11AD] }, -{ source: [0xB90B], NFC: [0xB90B], NFD: [0x1105, 0x116F, 0x11AE], NFKC: [0xB90B], NFKD: [0x1105, 0x116F, 0x11AE] }, -{ source: [0xB90C], NFC: [0xB90C], NFD: [0x1105, 0x116F, 0x11AF], NFKC: [0xB90C], NFKD: [0x1105, 0x116F, 0x11AF] }, -{ source: [0xB90D], NFC: [0xB90D], NFD: [0x1105, 0x116F, 0x11B0], NFKC: [0xB90D], NFKD: [0x1105, 0x116F, 0x11B0] }, -{ source: [0xB90E], NFC: [0xB90E], NFD: [0x1105, 0x116F, 0x11B1], NFKC: [0xB90E], NFKD: [0x1105, 0x116F, 0x11B1] }, -{ source: [0xB90F], NFC: [0xB90F], NFD: [0x1105, 0x116F, 0x11B2], NFKC: [0xB90F], NFKD: [0x1105, 0x116F, 0x11B2] }, -{ source: [0xB910], NFC: [0xB910], NFD: [0x1105, 0x116F, 0x11B3], NFKC: [0xB910], NFKD: [0x1105, 0x116F, 0x11B3] }, -{ source: [0xB911], NFC: [0xB911], NFD: [0x1105, 0x116F, 0x11B4], NFKC: [0xB911], NFKD: [0x1105, 0x116F, 0x11B4] }, -{ source: [0xB912], NFC: [0xB912], NFD: [0x1105, 0x116F, 0x11B5], NFKC: [0xB912], NFKD: [0x1105, 0x116F, 0x11B5] }, -{ source: [0xB913], NFC: [0xB913], NFD: [0x1105, 0x116F, 0x11B6], NFKC: [0xB913], NFKD: [0x1105, 0x116F, 0x11B6] }, -{ source: [0xB914], NFC: [0xB914], NFD: [0x1105, 0x116F, 0x11B7], NFKC: [0xB914], NFKD: [0x1105, 0x116F, 0x11B7] }, -{ source: [0xB915], NFC: [0xB915], NFD: [0x1105, 0x116F, 0x11B8], NFKC: [0xB915], NFKD: [0x1105, 0x116F, 0x11B8] }, -{ source: [0xB916], NFC: [0xB916], NFD: [0x1105, 0x116F, 0x11B9], NFKC: [0xB916], NFKD: [0x1105, 0x116F, 0x11B9] }, -{ source: [0xB917], NFC: [0xB917], NFD: [0x1105, 0x116F, 0x11BA], NFKC: [0xB917], NFKD: [0x1105, 0x116F, 0x11BA] }, -{ source: [0xB918], NFC: [0xB918], NFD: [0x1105, 0x116F, 0x11BB], NFKC: [0xB918], NFKD: [0x1105, 0x116F, 0x11BB] }, -{ source: [0xB919], NFC: [0xB919], NFD: [0x1105, 0x116F, 0x11BC], NFKC: [0xB919], NFKD: [0x1105, 0x116F, 0x11BC] }, -{ source: [0xB91A], NFC: [0xB91A], NFD: [0x1105, 0x116F, 0x11BD], NFKC: [0xB91A], NFKD: [0x1105, 0x116F, 0x11BD] }, -{ source: [0xB91B], NFC: [0xB91B], NFD: [0x1105, 0x116F, 0x11BE], NFKC: [0xB91B], NFKD: [0x1105, 0x116F, 0x11BE] }, -{ source: [0xB91C], NFC: [0xB91C], NFD: [0x1105, 0x116F, 0x11BF], NFKC: [0xB91C], NFKD: [0x1105, 0x116F, 0x11BF] }, -{ source: [0xB91D], NFC: [0xB91D], NFD: [0x1105, 0x116F, 0x11C0], NFKC: [0xB91D], NFKD: [0x1105, 0x116F, 0x11C0] }, -{ source: [0xB91E], NFC: [0xB91E], NFD: [0x1105, 0x116F, 0x11C1], NFKC: [0xB91E], NFKD: [0x1105, 0x116F, 0x11C1] }, -{ source: [0xB91F], NFC: [0xB91F], NFD: [0x1105, 0x116F, 0x11C2], NFKC: [0xB91F], NFKD: [0x1105, 0x116F, 0x11C2] }, -{ source: [0xB920], NFC: [0xB920], NFD: [0x1105, 0x1170], NFKC: [0xB920], NFKD: [0x1105, 0x1170] }, -{ source: [0xB921], NFC: [0xB921], NFD: [0x1105, 0x1170, 0x11A8], NFKC: [0xB921], NFKD: [0x1105, 0x1170, 0x11A8] }, -{ source: [0xB922], NFC: [0xB922], NFD: [0x1105, 0x1170, 0x11A9], NFKC: [0xB922], NFKD: [0x1105, 0x1170, 0x11A9] }, -{ source: [0xB923], NFC: [0xB923], NFD: [0x1105, 0x1170, 0x11AA], NFKC: [0xB923], NFKD: [0x1105, 0x1170, 0x11AA] }, -{ source: [0xB924], NFC: [0xB924], NFD: [0x1105, 0x1170, 0x11AB], NFKC: [0xB924], NFKD: [0x1105, 0x1170, 0x11AB] }, -{ source: [0xB925], NFC: [0xB925], NFD: [0x1105, 0x1170, 0x11AC], NFKC: [0xB925], NFKD: [0x1105, 0x1170, 0x11AC] }, -{ source: [0xB926], NFC: [0xB926], NFD: [0x1105, 0x1170, 0x11AD], NFKC: [0xB926], NFKD: [0x1105, 0x1170, 0x11AD] }, -{ source: [0xB927], NFC: [0xB927], NFD: [0x1105, 0x1170, 0x11AE], NFKC: [0xB927], NFKD: [0x1105, 0x1170, 0x11AE] }, -{ source: [0xB928], NFC: [0xB928], NFD: [0x1105, 0x1170, 0x11AF], NFKC: [0xB928], NFKD: [0x1105, 0x1170, 0x11AF] }, -{ source: [0xB929], NFC: [0xB929], NFD: [0x1105, 0x1170, 0x11B0], NFKC: [0xB929], NFKD: [0x1105, 0x1170, 0x11B0] }, -{ source: [0xB92A], NFC: [0xB92A], NFD: [0x1105, 0x1170, 0x11B1], NFKC: [0xB92A], NFKD: [0x1105, 0x1170, 0x11B1] }, -{ source: [0xB92B], NFC: [0xB92B], NFD: [0x1105, 0x1170, 0x11B2], NFKC: [0xB92B], NFKD: [0x1105, 0x1170, 0x11B2] }, -{ source: [0xB92C], NFC: [0xB92C], NFD: [0x1105, 0x1170, 0x11B3], NFKC: [0xB92C], NFKD: [0x1105, 0x1170, 0x11B3] }, -{ source: [0xB92D], NFC: [0xB92D], NFD: [0x1105, 0x1170, 0x11B4], NFKC: [0xB92D], NFKD: [0x1105, 0x1170, 0x11B4] }, -{ source: [0xB92E], NFC: [0xB92E], NFD: [0x1105, 0x1170, 0x11B5], NFKC: [0xB92E], NFKD: [0x1105, 0x1170, 0x11B5] }, -{ source: [0xB92F], NFC: [0xB92F], NFD: [0x1105, 0x1170, 0x11B6], NFKC: [0xB92F], NFKD: [0x1105, 0x1170, 0x11B6] }, -{ source: [0xB930], NFC: [0xB930], NFD: [0x1105, 0x1170, 0x11B7], NFKC: [0xB930], NFKD: [0x1105, 0x1170, 0x11B7] }, -{ source: [0xB931], NFC: [0xB931], NFD: [0x1105, 0x1170, 0x11B8], NFKC: [0xB931], NFKD: [0x1105, 0x1170, 0x11B8] }, -{ source: [0xB932], NFC: [0xB932], NFD: [0x1105, 0x1170, 0x11B9], NFKC: [0xB932], NFKD: [0x1105, 0x1170, 0x11B9] }, -{ source: [0xB933], NFC: [0xB933], NFD: [0x1105, 0x1170, 0x11BA], NFKC: [0xB933], NFKD: [0x1105, 0x1170, 0x11BA] }, -{ source: [0xB934], NFC: [0xB934], NFD: [0x1105, 0x1170, 0x11BB], NFKC: [0xB934], NFKD: [0x1105, 0x1170, 0x11BB] }, -{ source: [0xB935], NFC: [0xB935], NFD: [0x1105, 0x1170, 0x11BC], NFKC: [0xB935], NFKD: [0x1105, 0x1170, 0x11BC] }, -{ source: [0xB936], NFC: [0xB936], NFD: [0x1105, 0x1170, 0x11BD], NFKC: [0xB936], NFKD: [0x1105, 0x1170, 0x11BD] }, -{ source: [0xB937], NFC: [0xB937], NFD: [0x1105, 0x1170, 0x11BE], NFKC: [0xB937], NFKD: [0x1105, 0x1170, 0x11BE] }, -{ source: [0xB938], NFC: [0xB938], NFD: [0x1105, 0x1170, 0x11BF], NFKC: [0xB938], NFKD: [0x1105, 0x1170, 0x11BF] }, -{ source: [0xB939], NFC: [0xB939], NFD: [0x1105, 0x1170, 0x11C0], NFKC: [0xB939], NFKD: [0x1105, 0x1170, 0x11C0] }, -{ source: [0xB93A], NFC: [0xB93A], NFD: [0x1105, 0x1170, 0x11C1], NFKC: [0xB93A], NFKD: [0x1105, 0x1170, 0x11C1] }, -{ source: [0xB93B], NFC: [0xB93B], NFD: [0x1105, 0x1170, 0x11C2], NFKC: [0xB93B], NFKD: [0x1105, 0x1170, 0x11C2] }, -{ source: [0xB93C], NFC: [0xB93C], NFD: [0x1105, 0x1171], NFKC: [0xB93C], NFKD: [0x1105, 0x1171] }, -{ source: [0xB93D], NFC: [0xB93D], NFD: [0x1105, 0x1171, 0x11A8], NFKC: [0xB93D], NFKD: [0x1105, 0x1171, 0x11A8] }, -{ source: [0xB93E], NFC: [0xB93E], NFD: [0x1105, 0x1171, 0x11A9], NFKC: [0xB93E], NFKD: [0x1105, 0x1171, 0x11A9] }, -{ source: [0xB93F], NFC: [0xB93F], NFD: [0x1105, 0x1171, 0x11AA], NFKC: [0xB93F], NFKD: [0x1105, 0x1171, 0x11AA] }, -{ source: [0xB940], NFC: [0xB940], NFD: [0x1105, 0x1171, 0x11AB], NFKC: [0xB940], NFKD: [0x1105, 0x1171, 0x11AB] }, -{ source: [0xB941], NFC: [0xB941], NFD: [0x1105, 0x1171, 0x11AC], NFKC: [0xB941], NFKD: [0x1105, 0x1171, 0x11AC] }, -{ source: [0xB942], NFC: [0xB942], NFD: [0x1105, 0x1171, 0x11AD], NFKC: [0xB942], NFKD: [0x1105, 0x1171, 0x11AD] }, -{ source: [0xB943], NFC: [0xB943], NFD: [0x1105, 0x1171, 0x11AE], NFKC: [0xB943], NFKD: [0x1105, 0x1171, 0x11AE] }, -{ source: [0xB944], NFC: [0xB944], NFD: [0x1105, 0x1171, 0x11AF], NFKC: [0xB944], NFKD: [0x1105, 0x1171, 0x11AF] }, -{ source: [0xB945], NFC: [0xB945], NFD: [0x1105, 0x1171, 0x11B0], NFKC: [0xB945], NFKD: [0x1105, 0x1171, 0x11B0] }, -{ source: [0xB946], NFC: [0xB946], NFD: [0x1105, 0x1171, 0x11B1], NFKC: [0xB946], NFKD: [0x1105, 0x1171, 0x11B1] }, -{ source: [0xB947], NFC: [0xB947], NFD: [0x1105, 0x1171, 0x11B2], NFKC: [0xB947], NFKD: [0x1105, 0x1171, 0x11B2] }, -{ source: [0xB948], NFC: [0xB948], NFD: [0x1105, 0x1171, 0x11B3], NFKC: [0xB948], NFKD: [0x1105, 0x1171, 0x11B3] }, -{ source: [0xB949], NFC: [0xB949], NFD: [0x1105, 0x1171, 0x11B4], NFKC: [0xB949], NFKD: [0x1105, 0x1171, 0x11B4] }, -{ source: [0xB94A], NFC: [0xB94A], NFD: [0x1105, 0x1171, 0x11B5], NFKC: [0xB94A], NFKD: [0x1105, 0x1171, 0x11B5] }, -{ source: [0xB94B], NFC: [0xB94B], NFD: [0x1105, 0x1171, 0x11B6], NFKC: [0xB94B], NFKD: [0x1105, 0x1171, 0x11B6] }, -{ source: [0xB94C], NFC: [0xB94C], NFD: [0x1105, 0x1171, 0x11B7], NFKC: [0xB94C], NFKD: [0x1105, 0x1171, 0x11B7] }, -{ source: [0xB94D], NFC: [0xB94D], NFD: [0x1105, 0x1171, 0x11B8], NFKC: [0xB94D], NFKD: [0x1105, 0x1171, 0x11B8] }, -{ source: [0xB94E], NFC: [0xB94E], NFD: [0x1105, 0x1171, 0x11B9], NFKC: [0xB94E], NFKD: [0x1105, 0x1171, 0x11B9] }, -{ source: [0xB94F], NFC: [0xB94F], NFD: [0x1105, 0x1171, 0x11BA], NFKC: [0xB94F], NFKD: [0x1105, 0x1171, 0x11BA] }, -{ source: [0xB950], NFC: [0xB950], NFD: [0x1105, 0x1171, 0x11BB], NFKC: [0xB950], NFKD: [0x1105, 0x1171, 0x11BB] }, -{ source: [0xB951], NFC: [0xB951], NFD: [0x1105, 0x1171, 0x11BC], NFKC: [0xB951], NFKD: [0x1105, 0x1171, 0x11BC] }, -{ source: [0xB952], NFC: [0xB952], NFD: [0x1105, 0x1171, 0x11BD], NFKC: [0xB952], NFKD: [0x1105, 0x1171, 0x11BD] }, -{ source: [0xB953], NFC: [0xB953], NFD: [0x1105, 0x1171, 0x11BE], NFKC: [0xB953], NFKD: [0x1105, 0x1171, 0x11BE] }, -{ source: [0xB954], NFC: [0xB954], NFD: [0x1105, 0x1171, 0x11BF], NFKC: [0xB954], NFKD: [0x1105, 0x1171, 0x11BF] }, -{ source: [0xB955], NFC: [0xB955], NFD: [0x1105, 0x1171, 0x11C0], NFKC: [0xB955], NFKD: [0x1105, 0x1171, 0x11C0] }, -{ source: [0xB956], NFC: [0xB956], NFD: [0x1105, 0x1171, 0x11C1], NFKC: [0xB956], NFKD: [0x1105, 0x1171, 0x11C1] }, -{ source: [0xB957], NFC: [0xB957], NFD: [0x1105, 0x1171, 0x11C2], NFKC: [0xB957], NFKD: [0x1105, 0x1171, 0x11C2] }, -{ source: [0xB958], NFC: [0xB958], NFD: [0x1105, 0x1172], NFKC: [0xB958], NFKD: [0x1105, 0x1172] }, -{ source: [0xB959], NFC: [0xB959], NFD: [0x1105, 0x1172, 0x11A8], NFKC: [0xB959], NFKD: [0x1105, 0x1172, 0x11A8] }, -{ source: [0xB95A], NFC: [0xB95A], NFD: [0x1105, 0x1172, 0x11A9], NFKC: [0xB95A], NFKD: [0x1105, 0x1172, 0x11A9] }, -{ source: [0xB95B], NFC: [0xB95B], NFD: [0x1105, 0x1172, 0x11AA], NFKC: [0xB95B], NFKD: [0x1105, 0x1172, 0x11AA] }, -{ source: [0xB95C], NFC: [0xB95C], NFD: [0x1105, 0x1172, 0x11AB], NFKC: [0xB95C], NFKD: [0x1105, 0x1172, 0x11AB] }, -{ source: [0xB95D], NFC: [0xB95D], NFD: [0x1105, 0x1172, 0x11AC], NFKC: [0xB95D], NFKD: [0x1105, 0x1172, 0x11AC] }, -{ source: [0xB95E], NFC: [0xB95E], NFD: [0x1105, 0x1172, 0x11AD], NFKC: [0xB95E], NFKD: [0x1105, 0x1172, 0x11AD] }, -{ source: [0xB95F], NFC: [0xB95F], NFD: [0x1105, 0x1172, 0x11AE], NFKC: [0xB95F], NFKD: [0x1105, 0x1172, 0x11AE] }, -{ source: [0xB960], NFC: [0xB960], NFD: [0x1105, 0x1172, 0x11AF], NFKC: [0xB960], NFKD: [0x1105, 0x1172, 0x11AF] }, -{ source: [0xB961], NFC: [0xB961], NFD: [0x1105, 0x1172, 0x11B0], NFKC: [0xB961], NFKD: [0x1105, 0x1172, 0x11B0] }, -{ source: [0xB962], NFC: [0xB962], NFD: [0x1105, 0x1172, 0x11B1], NFKC: [0xB962], NFKD: [0x1105, 0x1172, 0x11B1] }, -{ source: [0xB963], NFC: [0xB963], NFD: [0x1105, 0x1172, 0x11B2], NFKC: [0xB963], NFKD: [0x1105, 0x1172, 0x11B2] }, -{ source: [0xB964], NFC: [0xB964], NFD: [0x1105, 0x1172, 0x11B3], NFKC: [0xB964], NFKD: [0x1105, 0x1172, 0x11B3] }, -{ source: [0xB965], NFC: [0xB965], NFD: [0x1105, 0x1172, 0x11B4], NFKC: [0xB965], NFKD: [0x1105, 0x1172, 0x11B4] }, -{ source: [0xB966], NFC: [0xB966], NFD: [0x1105, 0x1172, 0x11B5], NFKC: [0xB966], NFKD: [0x1105, 0x1172, 0x11B5] }, -{ source: [0xB967], NFC: [0xB967], NFD: [0x1105, 0x1172, 0x11B6], NFKC: [0xB967], NFKD: [0x1105, 0x1172, 0x11B6] }, -{ source: [0xB968], NFC: [0xB968], NFD: [0x1105, 0x1172, 0x11B7], NFKC: [0xB968], NFKD: [0x1105, 0x1172, 0x11B7] }, -{ source: [0xB969], NFC: [0xB969], NFD: [0x1105, 0x1172, 0x11B8], NFKC: [0xB969], NFKD: [0x1105, 0x1172, 0x11B8] }, -{ source: [0xB96A], NFC: [0xB96A], NFD: [0x1105, 0x1172, 0x11B9], NFKC: [0xB96A], NFKD: [0x1105, 0x1172, 0x11B9] }, -{ source: [0xB96B], NFC: [0xB96B], NFD: [0x1105, 0x1172, 0x11BA], NFKC: [0xB96B], NFKD: [0x1105, 0x1172, 0x11BA] }, -{ source: [0xB96C], NFC: [0xB96C], NFD: [0x1105, 0x1172, 0x11BB], NFKC: [0xB96C], NFKD: [0x1105, 0x1172, 0x11BB] }, -{ source: [0xB96D], NFC: [0xB96D], NFD: [0x1105, 0x1172, 0x11BC], NFKC: [0xB96D], NFKD: [0x1105, 0x1172, 0x11BC] }, -{ source: [0xB96E], NFC: [0xB96E], NFD: [0x1105, 0x1172, 0x11BD], NFKC: [0xB96E], NFKD: [0x1105, 0x1172, 0x11BD] }, -{ source: [0xB96F], NFC: [0xB96F], NFD: [0x1105, 0x1172, 0x11BE], NFKC: [0xB96F], NFKD: [0x1105, 0x1172, 0x11BE] }, -{ source: [0xB970], NFC: [0xB970], NFD: [0x1105, 0x1172, 0x11BF], NFKC: [0xB970], NFKD: [0x1105, 0x1172, 0x11BF] }, -{ source: [0xB971], NFC: [0xB971], NFD: [0x1105, 0x1172, 0x11C0], NFKC: [0xB971], NFKD: [0x1105, 0x1172, 0x11C0] }, -{ source: [0xB972], NFC: [0xB972], NFD: [0x1105, 0x1172, 0x11C1], NFKC: [0xB972], NFKD: [0x1105, 0x1172, 0x11C1] }, -{ source: [0xB973], NFC: [0xB973], NFD: [0x1105, 0x1172, 0x11C2], NFKC: [0xB973], NFKD: [0x1105, 0x1172, 0x11C2] }, -{ source: [0xB974], NFC: [0xB974], NFD: [0x1105, 0x1173], NFKC: [0xB974], NFKD: [0x1105, 0x1173] }, -{ source: [0xB975], NFC: [0xB975], NFD: [0x1105, 0x1173, 0x11A8], NFKC: [0xB975], NFKD: [0x1105, 0x1173, 0x11A8] }, -{ source: [0xB976], NFC: [0xB976], NFD: [0x1105, 0x1173, 0x11A9], NFKC: [0xB976], NFKD: [0x1105, 0x1173, 0x11A9] }, -{ source: [0xB977], NFC: [0xB977], NFD: [0x1105, 0x1173, 0x11AA], NFKC: [0xB977], NFKD: [0x1105, 0x1173, 0x11AA] }, -{ source: [0xB978], NFC: [0xB978], NFD: [0x1105, 0x1173, 0x11AB], NFKC: [0xB978], NFKD: [0x1105, 0x1173, 0x11AB] }, -{ source: [0xB979], NFC: [0xB979], NFD: [0x1105, 0x1173, 0x11AC], NFKC: [0xB979], NFKD: [0x1105, 0x1173, 0x11AC] }, -{ source: [0xB97A], NFC: [0xB97A], NFD: [0x1105, 0x1173, 0x11AD], NFKC: [0xB97A], NFKD: [0x1105, 0x1173, 0x11AD] }, -{ source: [0xB97B], NFC: [0xB97B], NFD: [0x1105, 0x1173, 0x11AE], NFKC: [0xB97B], NFKD: [0x1105, 0x1173, 0x11AE] }, -{ source: [0xB97C], NFC: [0xB97C], NFD: [0x1105, 0x1173, 0x11AF], NFKC: [0xB97C], NFKD: [0x1105, 0x1173, 0x11AF] }, -{ source: [0xB97D], NFC: [0xB97D], NFD: [0x1105, 0x1173, 0x11B0], NFKC: [0xB97D], NFKD: [0x1105, 0x1173, 0x11B0] }, -{ source: [0xB97E], NFC: [0xB97E], NFD: [0x1105, 0x1173, 0x11B1], NFKC: [0xB97E], NFKD: [0x1105, 0x1173, 0x11B1] }, -{ source: [0xB97F], NFC: [0xB97F], NFD: [0x1105, 0x1173, 0x11B2], NFKC: [0xB97F], NFKD: [0x1105, 0x1173, 0x11B2] }, -{ source: [0xB980], NFC: [0xB980], NFD: [0x1105, 0x1173, 0x11B3], NFKC: [0xB980], NFKD: [0x1105, 0x1173, 0x11B3] }, -{ source: [0xB981], NFC: [0xB981], NFD: [0x1105, 0x1173, 0x11B4], NFKC: [0xB981], NFKD: [0x1105, 0x1173, 0x11B4] }, -{ source: [0xB982], NFC: [0xB982], NFD: [0x1105, 0x1173, 0x11B5], NFKC: [0xB982], NFKD: [0x1105, 0x1173, 0x11B5] }, -{ source: [0xB983], NFC: [0xB983], NFD: [0x1105, 0x1173, 0x11B6], NFKC: [0xB983], NFKD: [0x1105, 0x1173, 0x11B6] }, -{ source: [0xB984], NFC: [0xB984], NFD: [0x1105, 0x1173, 0x11B7], NFKC: [0xB984], NFKD: [0x1105, 0x1173, 0x11B7] }, -{ source: [0xB985], NFC: [0xB985], NFD: [0x1105, 0x1173, 0x11B8], NFKC: [0xB985], NFKD: [0x1105, 0x1173, 0x11B8] }, -{ source: [0xB986], NFC: [0xB986], NFD: [0x1105, 0x1173, 0x11B9], NFKC: [0xB986], NFKD: [0x1105, 0x1173, 0x11B9] }, -{ source: [0xB987], NFC: [0xB987], NFD: [0x1105, 0x1173, 0x11BA], NFKC: [0xB987], NFKD: [0x1105, 0x1173, 0x11BA] }, -{ source: [0xB988], NFC: [0xB988], NFD: [0x1105, 0x1173, 0x11BB], NFKC: [0xB988], NFKD: [0x1105, 0x1173, 0x11BB] }, -{ source: [0xB989], NFC: [0xB989], NFD: [0x1105, 0x1173, 0x11BC], NFKC: [0xB989], NFKD: [0x1105, 0x1173, 0x11BC] }, -{ source: [0xB98A], NFC: [0xB98A], NFD: [0x1105, 0x1173, 0x11BD], NFKC: [0xB98A], NFKD: [0x1105, 0x1173, 0x11BD] }, -{ source: [0xB98B], NFC: [0xB98B], NFD: [0x1105, 0x1173, 0x11BE], NFKC: [0xB98B], NFKD: [0x1105, 0x1173, 0x11BE] }, -{ source: [0xB98C], NFC: [0xB98C], NFD: [0x1105, 0x1173, 0x11BF], NFKC: [0xB98C], NFKD: [0x1105, 0x1173, 0x11BF] }, -{ source: [0xB98D], NFC: [0xB98D], NFD: [0x1105, 0x1173, 0x11C0], NFKC: [0xB98D], NFKD: [0x1105, 0x1173, 0x11C0] }, -{ source: [0xB98E], NFC: [0xB98E], NFD: [0x1105, 0x1173, 0x11C1], NFKC: [0xB98E], NFKD: [0x1105, 0x1173, 0x11C1] }, -{ source: [0xB98F], NFC: [0xB98F], NFD: [0x1105, 0x1173, 0x11C2], NFKC: [0xB98F], NFKD: [0x1105, 0x1173, 0x11C2] }, -{ source: [0xB990], NFC: [0xB990], NFD: [0x1105, 0x1174], NFKC: [0xB990], NFKD: [0x1105, 0x1174] }, -{ source: [0xB991], NFC: [0xB991], NFD: [0x1105, 0x1174, 0x11A8], NFKC: [0xB991], NFKD: [0x1105, 0x1174, 0x11A8] }, -{ source: [0xB992], NFC: [0xB992], NFD: [0x1105, 0x1174, 0x11A9], NFKC: [0xB992], NFKD: [0x1105, 0x1174, 0x11A9] }, -{ source: [0xB993], NFC: [0xB993], NFD: [0x1105, 0x1174, 0x11AA], NFKC: [0xB993], NFKD: [0x1105, 0x1174, 0x11AA] }, -{ source: [0xB994], NFC: [0xB994], NFD: [0x1105, 0x1174, 0x11AB], NFKC: [0xB994], NFKD: [0x1105, 0x1174, 0x11AB] }, -{ source: [0xB995], NFC: [0xB995], NFD: [0x1105, 0x1174, 0x11AC], NFKC: [0xB995], NFKD: [0x1105, 0x1174, 0x11AC] }, -{ source: [0xB996], NFC: [0xB996], NFD: [0x1105, 0x1174, 0x11AD], NFKC: [0xB996], NFKD: [0x1105, 0x1174, 0x11AD] }, -{ source: [0xB997], NFC: [0xB997], NFD: [0x1105, 0x1174, 0x11AE], NFKC: [0xB997], NFKD: [0x1105, 0x1174, 0x11AE] }, -{ source: [0xB998], NFC: [0xB998], NFD: [0x1105, 0x1174, 0x11AF], NFKC: [0xB998], NFKD: [0x1105, 0x1174, 0x11AF] }, -{ source: [0xB999], NFC: [0xB999], NFD: [0x1105, 0x1174, 0x11B0], NFKC: [0xB999], NFKD: [0x1105, 0x1174, 0x11B0] }, -{ source: [0xB99A], NFC: [0xB99A], NFD: [0x1105, 0x1174, 0x11B1], NFKC: [0xB99A], NFKD: [0x1105, 0x1174, 0x11B1] }, -{ source: [0xB99B], NFC: [0xB99B], NFD: [0x1105, 0x1174, 0x11B2], NFKC: [0xB99B], NFKD: [0x1105, 0x1174, 0x11B2] }, -{ source: [0xB99C], NFC: [0xB99C], NFD: [0x1105, 0x1174, 0x11B3], NFKC: [0xB99C], NFKD: [0x1105, 0x1174, 0x11B3] }, -{ source: [0xB99D], NFC: [0xB99D], NFD: [0x1105, 0x1174, 0x11B4], NFKC: [0xB99D], NFKD: [0x1105, 0x1174, 0x11B4] }, -{ source: [0xB99E], NFC: [0xB99E], NFD: [0x1105, 0x1174, 0x11B5], NFKC: [0xB99E], NFKD: [0x1105, 0x1174, 0x11B5] }, -{ source: [0xB99F], NFC: [0xB99F], NFD: [0x1105, 0x1174, 0x11B6], NFKC: [0xB99F], NFKD: [0x1105, 0x1174, 0x11B6] }, -{ source: [0xB9A0], NFC: [0xB9A0], NFD: [0x1105, 0x1174, 0x11B7], NFKC: [0xB9A0], NFKD: [0x1105, 0x1174, 0x11B7] }, -{ source: [0xB9A1], NFC: [0xB9A1], NFD: [0x1105, 0x1174, 0x11B8], NFKC: [0xB9A1], NFKD: [0x1105, 0x1174, 0x11B8] }, -{ source: [0xB9A2], NFC: [0xB9A2], NFD: [0x1105, 0x1174, 0x11B9], NFKC: [0xB9A2], NFKD: [0x1105, 0x1174, 0x11B9] }, -{ source: [0xB9A3], NFC: [0xB9A3], NFD: [0x1105, 0x1174, 0x11BA], NFKC: [0xB9A3], NFKD: [0x1105, 0x1174, 0x11BA] }, -{ source: [0xB9A4], NFC: [0xB9A4], NFD: [0x1105, 0x1174, 0x11BB], NFKC: [0xB9A4], NFKD: [0x1105, 0x1174, 0x11BB] }, -{ source: [0xB9A5], NFC: [0xB9A5], NFD: [0x1105, 0x1174, 0x11BC], NFKC: [0xB9A5], NFKD: [0x1105, 0x1174, 0x11BC] }, -{ source: [0xB9A6], NFC: [0xB9A6], NFD: [0x1105, 0x1174, 0x11BD], NFKC: [0xB9A6], NFKD: [0x1105, 0x1174, 0x11BD] }, -{ source: [0xB9A7], NFC: [0xB9A7], NFD: [0x1105, 0x1174, 0x11BE], NFKC: [0xB9A7], NFKD: [0x1105, 0x1174, 0x11BE] }, -{ source: [0xB9A8], NFC: [0xB9A8], NFD: [0x1105, 0x1174, 0x11BF], NFKC: [0xB9A8], NFKD: [0x1105, 0x1174, 0x11BF] }, -{ source: [0xB9A9], NFC: [0xB9A9], NFD: [0x1105, 0x1174, 0x11C0], NFKC: [0xB9A9], NFKD: [0x1105, 0x1174, 0x11C0] }, -{ source: [0xB9AA], NFC: [0xB9AA], NFD: [0x1105, 0x1174, 0x11C1], NFKC: [0xB9AA], NFKD: [0x1105, 0x1174, 0x11C1] }, -{ source: [0xB9AB], NFC: [0xB9AB], NFD: [0x1105, 0x1174, 0x11C2], NFKC: [0xB9AB], NFKD: [0x1105, 0x1174, 0x11C2] }, -{ source: [0xB9AC], NFC: [0xB9AC], NFD: [0x1105, 0x1175], NFKC: [0xB9AC], NFKD: [0x1105, 0x1175] }, -{ source: [0xB9AD], NFC: [0xB9AD], NFD: [0x1105, 0x1175, 0x11A8], NFKC: [0xB9AD], NFKD: [0x1105, 0x1175, 0x11A8] }, -{ source: [0xB9AE], NFC: [0xB9AE], NFD: [0x1105, 0x1175, 0x11A9], NFKC: [0xB9AE], NFKD: [0x1105, 0x1175, 0x11A9] }, -{ source: [0xB9AF], NFC: [0xB9AF], NFD: [0x1105, 0x1175, 0x11AA], NFKC: [0xB9AF], NFKD: [0x1105, 0x1175, 0x11AA] }, -{ source: [0xB9B0], NFC: [0xB9B0], NFD: [0x1105, 0x1175, 0x11AB], NFKC: [0xB9B0], NFKD: [0x1105, 0x1175, 0x11AB] }, -{ source: [0xB9B1], NFC: [0xB9B1], NFD: [0x1105, 0x1175, 0x11AC], NFKC: [0xB9B1], NFKD: [0x1105, 0x1175, 0x11AC] }, -{ source: [0xB9B2], NFC: [0xB9B2], NFD: [0x1105, 0x1175, 0x11AD], NFKC: [0xB9B2], NFKD: [0x1105, 0x1175, 0x11AD] }, -{ source: [0xB9B3], NFC: [0xB9B3], NFD: [0x1105, 0x1175, 0x11AE], NFKC: [0xB9B3], NFKD: [0x1105, 0x1175, 0x11AE] }, -{ source: [0xB9B4], NFC: [0xB9B4], NFD: [0x1105, 0x1175, 0x11AF], NFKC: [0xB9B4], NFKD: [0x1105, 0x1175, 0x11AF] }, -{ source: [0xB9B5], NFC: [0xB9B5], NFD: [0x1105, 0x1175, 0x11B0], NFKC: [0xB9B5], NFKD: [0x1105, 0x1175, 0x11B0] }, -{ source: [0xB9B6], NFC: [0xB9B6], NFD: [0x1105, 0x1175, 0x11B1], NFKC: [0xB9B6], NFKD: [0x1105, 0x1175, 0x11B1] }, -{ source: [0xB9B7], NFC: [0xB9B7], NFD: [0x1105, 0x1175, 0x11B2], NFKC: [0xB9B7], NFKD: [0x1105, 0x1175, 0x11B2] }, -{ source: [0xB9B8], NFC: [0xB9B8], NFD: [0x1105, 0x1175, 0x11B3], NFKC: [0xB9B8], NFKD: [0x1105, 0x1175, 0x11B3] }, -{ source: [0xB9B9], NFC: [0xB9B9], NFD: [0x1105, 0x1175, 0x11B4], NFKC: [0xB9B9], NFKD: [0x1105, 0x1175, 0x11B4] }, -{ source: [0xB9BA], NFC: [0xB9BA], NFD: [0x1105, 0x1175, 0x11B5], NFKC: [0xB9BA], NFKD: [0x1105, 0x1175, 0x11B5] }, -{ source: [0xB9BB], NFC: [0xB9BB], NFD: [0x1105, 0x1175, 0x11B6], NFKC: [0xB9BB], NFKD: [0x1105, 0x1175, 0x11B6] }, -{ source: [0xB9BC], NFC: [0xB9BC], NFD: [0x1105, 0x1175, 0x11B7], NFKC: [0xB9BC], NFKD: [0x1105, 0x1175, 0x11B7] }, -{ source: [0xB9BD], NFC: [0xB9BD], NFD: [0x1105, 0x1175, 0x11B8], NFKC: [0xB9BD], NFKD: [0x1105, 0x1175, 0x11B8] }, -{ source: [0xB9BE], NFC: [0xB9BE], NFD: [0x1105, 0x1175, 0x11B9], NFKC: [0xB9BE], NFKD: [0x1105, 0x1175, 0x11B9] }, -{ source: [0xB9BF], NFC: [0xB9BF], NFD: [0x1105, 0x1175, 0x11BA], NFKC: [0xB9BF], NFKD: [0x1105, 0x1175, 0x11BA] }, -{ source: [0xB9C0], NFC: [0xB9C0], NFD: [0x1105, 0x1175, 0x11BB], NFKC: [0xB9C0], NFKD: [0x1105, 0x1175, 0x11BB] }, -{ source: [0xB9C1], NFC: [0xB9C1], NFD: [0x1105, 0x1175, 0x11BC], NFKC: [0xB9C1], NFKD: [0x1105, 0x1175, 0x11BC] }, -{ source: [0xB9C2], NFC: [0xB9C2], NFD: [0x1105, 0x1175, 0x11BD], NFKC: [0xB9C2], NFKD: [0x1105, 0x1175, 0x11BD] }, -{ source: [0xB9C3], NFC: [0xB9C3], NFD: [0x1105, 0x1175, 0x11BE], NFKC: [0xB9C3], NFKD: [0x1105, 0x1175, 0x11BE] }, -{ source: [0xB9C4], NFC: [0xB9C4], NFD: [0x1105, 0x1175, 0x11BF], NFKC: [0xB9C4], NFKD: [0x1105, 0x1175, 0x11BF] }, -{ source: [0xB9C5], NFC: [0xB9C5], NFD: [0x1105, 0x1175, 0x11C0], NFKC: [0xB9C5], NFKD: [0x1105, 0x1175, 0x11C0] }, -{ source: [0xB9C6], NFC: [0xB9C6], NFD: [0x1105, 0x1175, 0x11C1], NFKC: [0xB9C6], NFKD: [0x1105, 0x1175, 0x11C1] }, -{ source: [0xB9C7], NFC: [0xB9C7], NFD: [0x1105, 0x1175, 0x11C2], NFKC: [0xB9C7], NFKD: [0x1105, 0x1175, 0x11C2] }, -{ source: [0xB9C8], NFC: [0xB9C8], NFD: [0x1106, 0x1161], NFKC: [0xB9C8], NFKD: [0x1106, 0x1161] }, -{ source: [0xB9C9], NFC: [0xB9C9], NFD: [0x1106, 0x1161, 0x11A8], NFKC: [0xB9C9], NFKD: [0x1106, 0x1161, 0x11A8] }, -{ source: [0xB9CA], NFC: [0xB9CA], NFD: [0x1106, 0x1161, 0x11A9], NFKC: [0xB9CA], NFKD: [0x1106, 0x1161, 0x11A9] }, -{ source: [0xB9CB], NFC: [0xB9CB], NFD: [0x1106, 0x1161, 0x11AA], NFKC: [0xB9CB], NFKD: [0x1106, 0x1161, 0x11AA] }, -{ source: [0xB9CC], NFC: [0xB9CC], NFD: [0x1106, 0x1161, 0x11AB], NFKC: [0xB9CC], NFKD: [0x1106, 0x1161, 0x11AB] }, -{ source: [0xB9CD], NFC: [0xB9CD], NFD: [0x1106, 0x1161, 0x11AC], NFKC: [0xB9CD], NFKD: [0x1106, 0x1161, 0x11AC] }, -{ source: [0xB9CE], NFC: [0xB9CE], NFD: [0x1106, 0x1161, 0x11AD], NFKC: [0xB9CE], NFKD: [0x1106, 0x1161, 0x11AD] }, -{ source: [0xB9CF], NFC: [0xB9CF], NFD: [0x1106, 0x1161, 0x11AE], NFKC: [0xB9CF], NFKD: [0x1106, 0x1161, 0x11AE] }, -{ source: [0xB9D0], NFC: [0xB9D0], NFD: [0x1106, 0x1161, 0x11AF], NFKC: [0xB9D0], NFKD: [0x1106, 0x1161, 0x11AF] }, -{ source: [0xB9D1], NFC: [0xB9D1], NFD: [0x1106, 0x1161, 0x11B0], NFKC: [0xB9D1], NFKD: [0x1106, 0x1161, 0x11B0] }, -{ source: [0xB9D2], NFC: [0xB9D2], NFD: [0x1106, 0x1161, 0x11B1], NFKC: [0xB9D2], NFKD: [0x1106, 0x1161, 0x11B1] }, -{ source: [0xB9D3], NFC: [0xB9D3], NFD: [0x1106, 0x1161, 0x11B2], NFKC: [0xB9D3], NFKD: [0x1106, 0x1161, 0x11B2] }, -{ source: [0xB9D4], NFC: [0xB9D4], NFD: [0x1106, 0x1161, 0x11B3], NFKC: [0xB9D4], NFKD: [0x1106, 0x1161, 0x11B3] }, -{ source: [0xB9D5], NFC: [0xB9D5], NFD: [0x1106, 0x1161, 0x11B4], NFKC: [0xB9D5], NFKD: [0x1106, 0x1161, 0x11B4] }, -{ source: [0xB9D6], NFC: [0xB9D6], NFD: [0x1106, 0x1161, 0x11B5], NFKC: [0xB9D6], NFKD: [0x1106, 0x1161, 0x11B5] }, -{ source: [0xB9D7], NFC: [0xB9D7], NFD: [0x1106, 0x1161, 0x11B6], NFKC: [0xB9D7], NFKD: [0x1106, 0x1161, 0x11B6] }, -{ source: [0xB9D8], NFC: [0xB9D8], NFD: [0x1106, 0x1161, 0x11B7], NFKC: [0xB9D8], NFKD: [0x1106, 0x1161, 0x11B7] }, -{ source: [0xB9D9], NFC: [0xB9D9], NFD: [0x1106, 0x1161, 0x11B8], NFKC: [0xB9D9], NFKD: [0x1106, 0x1161, 0x11B8] }, -{ source: [0xB9DA], NFC: [0xB9DA], NFD: [0x1106, 0x1161, 0x11B9], NFKC: [0xB9DA], NFKD: [0x1106, 0x1161, 0x11B9] }, -{ source: [0xB9DB], NFC: [0xB9DB], NFD: [0x1106, 0x1161, 0x11BA], NFKC: [0xB9DB], NFKD: [0x1106, 0x1161, 0x11BA] }, -{ source: [0xB9DC], NFC: [0xB9DC], NFD: [0x1106, 0x1161, 0x11BB], NFKC: [0xB9DC], NFKD: [0x1106, 0x1161, 0x11BB] }, -{ source: [0xB9DD], NFC: [0xB9DD], NFD: [0x1106, 0x1161, 0x11BC], NFKC: [0xB9DD], NFKD: [0x1106, 0x1161, 0x11BC] }, -{ source: [0xB9DE], NFC: [0xB9DE], NFD: [0x1106, 0x1161, 0x11BD], NFKC: [0xB9DE], NFKD: [0x1106, 0x1161, 0x11BD] }, -{ source: [0xB9DF], NFC: [0xB9DF], NFD: [0x1106, 0x1161, 0x11BE], NFKC: [0xB9DF], NFKD: [0x1106, 0x1161, 0x11BE] }, -{ source: [0xB9E0], NFC: [0xB9E0], NFD: [0x1106, 0x1161, 0x11BF], NFKC: [0xB9E0], NFKD: [0x1106, 0x1161, 0x11BF] }, -{ source: [0xB9E1], NFC: [0xB9E1], NFD: [0x1106, 0x1161, 0x11C0], NFKC: [0xB9E1], NFKD: [0x1106, 0x1161, 0x11C0] }, -{ source: [0xB9E2], NFC: [0xB9E2], NFD: [0x1106, 0x1161, 0x11C1], NFKC: [0xB9E2], NFKD: [0x1106, 0x1161, 0x11C1] }, -{ source: [0xB9E3], NFC: [0xB9E3], NFD: [0x1106, 0x1161, 0x11C2], NFKC: [0xB9E3], NFKD: [0x1106, 0x1161, 0x11C2] }, -{ source: [0xB9E4], NFC: [0xB9E4], NFD: [0x1106, 0x1162], NFKC: [0xB9E4], NFKD: [0x1106, 0x1162] }, -{ source: [0xB9E5], NFC: [0xB9E5], NFD: [0x1106, 0x1162, 0x11A8], NFKC: [0xB9E5], NFKD: [0x1106, 0x1162, 0x11A8] }, -{ source: [0xB9E6], NFC: [0xB9E6], NFD: [0x1106, 0x1162, 0x11A9], NFKC: [0xB9E6], NFKD: [0x1106, 0x1162, 0x11A9] }, -{ source: [0xB9E7], NFC: [0xB9E7], NFD: [0x1106, 0x1162, 0x11AA], NFKC: [0xB9E7], NFKD: [0x1106, 0x1162, 0x11AA] }, -{ source: [0xB9E8], NFC: [0xB9E8], NFD: [0x1106, 0x1162, 0x11AB], NFKC: [0xB9E8], NFKD: [0x1106, 0x1162, 0x11AB] }, -{ source: [0xB9E9], NFC: [0xB9E9], NFD: [0x1106, 0x1162, 0x11AC], NFKC: [0xB9E9], NFKD: [0x1106, 0x1162, 0x11AC] }, -{ source: [0xB9EA], NFC: [0xB9EA], NFD: [0x1106, 0x1162, 0x11AD], NFKC: [0xB9EA], NFKD: [0x1106, 0x1162, 0x11AD] }, -{ source: [0xB9EB], NFC: [0xB9EB], NFD: [0x1106, 0x1162, 0x11AE], NFKC: [0xB9EB], NFKD: [0x1106, 0x1162, 0x11AE] }, -{ source: [0xB9EC], NFC: [0xB9EC], NFD: [0x1106, 0x1162, 0x11AF], NFKC: [0xB9EC], NFKD: [0x1106, 0x1162, 0x11AF] }, -{ source: [0xB9ED], NFC: [0xB9ED], NFD: [0x1106, 0x1162, 0x11B0], NFKC: [0xB9ED], NFKD: [0x1106, 0x1162, 0x11B0] }, -{ source: [0xB9EE], NFC: [0xB9EE], NFD: [0x1106, 0x1162, 0x11B1], NFKC: [0xB9EE], NFKD: [0x1106, 0x1162, 0x11B1] }, -{ source: [0xB9EF], NFC: [0xB9EF], NFD: [0x1106, 0x1162, 0x11B2], NFKC: [0xB9EF], NFKD: [0x1106, 0x1162, 0x11B2] }, -{ source: [0xB9F0], NFC: [0xB9F0], NFD: [0x1106, 0x1162, 0x11B3], NFKC: [0xB9F0], NFKD: [0x1106, 0x1162, 0x11B3] }, -{ source: [0xB9F1], NFC: [0xB9F1], NFD: [0x1106, 0x1162, 0x11B4], NFKC: [0xB9F1], NFKD: [0x1106, 0x1162, 0x11B4] }, -{ source: [0xB9F2], NFC: [0xB9F2], NFD: [0x1106, 0x1162, 0x11B5], NFKC: [0xB9F2], NFKD: [0x1106, 0x1162, 0x11B5] }, -{ source: [0xB9F3], NFC: [0xB9F3], NFD: [0x1106, 0x1162, 0x11B6], NFKC: [0xB9F3], NFKD: [0x1106, 0x1162, 0x11B6] }, -{ source: [0xB9F4], NFC: [0xB9F4], NFD: [0x1106, 0x1162, 0x11B7], NFKC: [0xB9F4], NFKD: [0x1106, 0x1162, 0x11B7] }, -{ source: [0xB9F5], NFC: [0xB9F5], NFD: [0x1106, 0x1162, 0x11B8], NFKC: [0xB9F5], NFKD: [0x1106, 0x1162, 0x11B8] }, -{ source: [0xB9F6], NFC: [0xB9F6], NFD: [0x1106, 0x1162, 0x11B9], NFKC: [0xB9F6], NFKD: [0x1106, 0x1162, 0x11B9] }, -{ source: [0xB9F7], NFC: [0xB9F7], NFD: [0x1106, 0x1162, 0x11BA], NFKC: [0xB9F7], NFKD: [0x1106, 0x1162, 0x11BA] }, -{ source: [0xB9F8], NFC: [0xB9F8], NFD: [0x1106, 0x1162, 0x11BB], NFKC: [0xB9F8], NFKD: [0x1106, 0x1162, 0x11BB] }, -{ source: [0xB9F9], NFC: [0xB9F9], NFD: [0x1106, 0x1162, 0x11BC], NFKC: [0xB9F9], NFKD: [0x1106, 0x1162, 0x11BC] }, -{ source: [0xB9FA], NFC: [0xB9FA], NFD: [0x1106, 0x1162, 0x11BD], NFKC: [0xB9FA], NFKD: [0x1106, 0x1162, 0x11BD] }, -{ source: [0xB9FB], NFC: [0xB9FB], NFD: [0x1106, 0x1162, 0x11BE], NFKC: [0xB9FB], NFKD: [0x1106, 0x1162, 0x11BE] }, -{ source: [0xB9FC], NFC: [0xB9FC], NFD: [0x1106, 0x1162, 0x11BF], NFKC: [0xB9FC], NFKD: [0x1106, 0x1162, 0x11BF] }, -{ source: [0xB9FD], NFC: [0xB9FD], NFD: [0x1106, 0x1162, 0x11C0], NFKC: [0xB9FD], NFKD: [0x1106, 0x1162, 0x11C0] }, -{ source: [0xB9FE], NFC: [0xB9FE], NFD: [0x1106, 0x1162, 0x11C1], NFKC: [0xB9FE], NFKD: [0x1106, 0x1162, 0x11C1] }, -{ source: [0xB9FF], NFC: [0xB9FF], NFD: [0x1106, 0x1162, 0x11C2], NFKC: [0xB9FF], NFKD: [0x1106, 0x1162, 0x11C2] }, -{ source: [0xBA00], NFC: [0xBA00], NFD: [0x1106, 0x1163], NFKC: [0xBA00], NFKD: [0x1106, 0x1163] }, -{ source: [0xBA01], NFC: [0xBA01], NFD: [0x1106, 0x1163, 0x11A8], NFKC: [0xBA01], NFKD: [0x1106, 0x1163, 0x11A8] }, -{ source: [0xBA02], NFC: [0xBA02], NFD: [0x1106, 0x1163, 0x11A9], NFKC: [0xBA02], NFKD: [0x1106, 0x1163, 0x11A9] }, -{ source: [0xBA03], NFC: [0xBA03], NFD: [0x1106, 0x1163, 0x11AA], NFKC: [0xBA03], NFKD: [0x1106, 0x1163, 0x11AA] }, -{ source: [0xBA04], NFC: [0xBA04], NFD: [0x1106, 0x1163, 0x11AB], NFKC: [0xBA04], NFKD: [0x1106, 0x1163, 0x11AB] }, -{ source: [0xBA05], NFC: [0xBA05], NFD: [0x1106, 0x1163, 0x11AC], NFKC: [0xBA05], NFKD: [0x1106, 0x1163, 0x11AC] }, -{ source: [0xBA06], NFC: [0xBA06], NFD: [0x1106, 0x1163, 0x11AD], NFKC: [0xBA06], NFKD: [0x1106, 0x1163, 0x11AD] }, -{ source: [0xBA07], NFC: [0xBA07], NFD: [0x1106, 0x1163, 0x11AE], NFKC: [0xBA07], NFKD: [0x1106, 0x1163, 0x11AE] }, -{ source: [0xBA08], NFC: [0xBA08], NFD: [0x1106, 0x1163, 0x11AF], NFKC: [0xBA08], NFKD: [0x1106, 0x1163, 0x11AF] }, -{ source: [0xBA09], NFC: [0xBA09], NFD: [0x1106, 0x1163, 0x11B0], NFKC: [0xBA09], NFKD: [0x1106, 0x1163, 0x11B0] }, -{ source: [0xBA0A], NFC: [0xBA0A], NFD: [0x1106, 0x1163, 0x11B1], NFKC: [0xBA0A], NFKD: [0x1106, 0x1163, 0x11B1] }, -{ source: [0xBA0B], NFC: [0xBA0B], NFD: [0x1106, 0x1163, 0x11B2], NFKC: [0xBA0B], NFKD: [0x1106, 0x1163, 0x11B2] }, -{ source: [0xBA0C], NFC: [0xBA0C], NFD: [0x1106, 0x1163, 0x11B3], NFKC: [0xBA0C], NFKD: [0x1106, 0x1163, 0x11B3] }, -{ source: [0xBA0D], NFC: [0xBA0D], NFD: [0x1106, 0x1163, 0x11B4], NFKC: [0xBA0D], NFKD: [0x1106, 0x1163, 0x11B4] }, -{ source: [0xBA0E], NFC: [0xBA0E], NFD: [0x1106, 0x1163, 0x11B5], NFKC: [0xBA0E], NFKD: [0x1106, 0x1163, 0x11B5] }, -{ source: [0xBA0F], NFC: [0xBA0F], NFD: [0x1106, 0x1163, 0x11B6], NFKC: [0xBA0F], NFKD: [0x1106, 0x1163, 0x11B6] }, -{ source: [0xBA10], NFC: [0xBA10], NFD: [0x1106, 0x1163, 0x11B7], NFKC: [0xBA10], NFKD: [0x1106, 0x1163, 0x11B7] }, -{ source: [0xBA11], NFC: [0xBA11], NFD: [0x1106, 0x1163, 0x11B8], NFKC: [0xBA11], NFKD: [0x1106, 0x1163, 0x11B8] }, -{ source: [0xBA12], NFC: [0xBA12], NFD: [0x1106, 0x1163, 0x11B9], NFKC: [0xBA12], NFKD: [0x1106, 0x1163, 0x11B9] }, -{ source: [0xBA13], NFC: [0xBA13], NFD: [0x1106, 0x1163, 0x11BA], NFKC: [0xBA13], NFKD: [0x1106, 0x1163, 0x11BA] }, -{ source: [0xBA14], NFC: [0xBA14], NFD: [0x1106, 0x1163, 0x11BB], NFKC: [0xBA14], NFKD: [0x1106, 0x1163, 0x11BB] }, -{ source: [0xBA15], NFC: [0xBA15], NFD: [0x1106, 0x1163, 0x11BC], NFKC: [0xBA15], NFKD: [0x1106, 0x1163, 0x11BC] }, -{ source: [0xBA16], NFC: [0xBA16], NFD: [0x1106, 0x1163, 0x11BD], NFKC: [0xBA16], NFKD: [0x1106, 0x1163, 0x11BD] }, -{ source: [0xBA17], NFC: [0xBA17], NFD: [0x1106, 0x1163, 0x11BE], NFKC: [0xBA17], NFKD: [0x1106, 0x1163, 0x11BE] }, -{ source: [0xBA18], NFC: [0xBA18], NFD: [0x1106, 0x1163, 0x11BF], NFKC: [0xBA18], NFKD: [0x1106, 0x1163, 0x11BF] }, -{ source: [0xBA19], NFC: [0xBA19], NFD: [0x1106, 0x1163, 0x11C0], NFKC: [0xBA19], NFKD: [0x1106, 0x1163, 0x11C0] }, -{ source: [0xBA1A], NFC: [0xBA1A], NFD: [0x1106, 0x1163, 0x11C1], NFKC: [0xBA1A], NFKD: [0x1106, 0x1163, 0x11C1] }, -{ source: [0xBA1B], NFC: [0xBA1B], NFD: [0x1106, 0x1163, 0x11C2], NFKC: [0xBA1B], NFKD: [0x1106, 0x1163, 0x11C2] }, -{ source: [0xBA1C], NFC: [0xBA1C], NFD: [0x1106, 0x1164], NFKC: [0xBA1C], NFKD: [0x1106, 0x1164] }, -{ source: [0xBA1D], NFC: [0xBA1D], NFD: [0x1106, 0x1164, 0x11A8], NFKC: [0xBA1D], NFKD: [0x1106, 0x1164, 0x11A8] }, -{ source: [0xBA1E], NFC: [0xBA1E], NFD: [0x1106, 0x1164, 0x11A9], NFKC: [0xBA1E], NFKD: [0x1106, 0x1164, 0x11A9] }, -{ source: [0xBA1F], NFC: [0xBA1F], NFD: [0x1106, 0x1164, 0x11AA], NFKC: [0xBA1F], NFKD: [0x1106, 0x1164, 0x11AA] }, -{ source: [0xBA20], NFC: [0xBA20], NFD: [0x1106, 0x1164, 0x11AB], NFKC: [0xBA20], NFKD: [0x1106, 0x1164, 0x11AB] }, -{ source: [0xBA21], NFC: [0xBA21], NFD: [0x1106, 0x1164, 0x11AC], NFKC: [0xBA21], NFKD: [0x1106, 0x1164, 0x11AC] }, -{ source: [0xBA22], NFC: [0xBA22], NFD: [0x1106, 0x1164, 0x11AD], NFKC: [0xBA22], NFKD: [0x1106, 0x1164, 0x11AD] }, -{ source: [0xBA23], NFC: [0xBA23], NFD: [0x1106, 0x1164, 0x11AE], NFKC: [0xBA23], NFKD: [0x1106, 0x1164, 0x11AE] }, -{ source: [0xBA24], NFC: [0xBA24], NFD: [0x1106, 0x1164, 0x11AF], NFKC: [0xBA24], NFKD: [0x1106, 0x1164, 0x11AF] }, -{ source: [0xBA25], NFC: [0xBA25], NFD: [0x1106, 0x1164, 0x11B0], NFKC: [0xBA25], NFKD: [0x1106, 0x1164, 0x11B0] }, -{ source: [0xBA26], NFC: [0xBA26], NFD: [0x1106, 0x1164, 0x11B1], NFKC: [0xBA26], NFKD: [0x1106, 0x1164, 0x11B1] }, -{ source: [0xBA27], NFC: [0xBA27], NFD: [0x1106, 0x1164, 0x11B2], NFKC: [0xBA27], NFKD: [0x1106, 0x1164, 0x11B2] }, -{ source: [0xBA28], NFC: [0xBA28], NFD: [0x1106, 0x1164, 0x11B3], NFKC: [0xBA28], NFKD: [0x1106, 0x1164, 0x11B3] }, -{ source: [0xBA29], NFC: [0xBA29], NFD: [0x1106, 0x1164, 0x11B4], NFKC: [0xBA29], NFKD: [0x1106, 0x1164, 0x11B4] }, -{ source: [0xBA2A], NFC: [0xBA2A], NFD: [0x1106, 0x1164, 0x11B5], NFKC: [0xBA2A], NFKD: [0x1106, 0x1164, 0x11B5] }, -{ source: [0xBA2B], NFC: [0xBA2B], NFD: [0x1106, 0x1164, 0x11B6], NFKC: [0xBA2B], NFKD: [0x1106, 0x1164, 0x11B6] }, -{ source: [0xBA2C], NFC: [0xBA2C], NFD: [0x1106, 0x1164, 0x11B7], NFKC: [0xBA2C], NFKD: [0x1106, 0x1164, 0x11B7] }, -{ source: [0xBA2D], NFC: [0xBA2D], NFD: [0x1106, 0x1164, 0x11B8], NFKC: [0xBA2D], NFKD: [0x1106, 0x1164, 0x11B8] }, -{ source: [0xBA2E], NFC: [0xBA2E], NFD: [0x1106, 0x1164, 0x11B9], NFKC: [0xBA2E], NFKD: [0x1106, 0x1164, 0x11B9] }, -{ source: [0xBA2F], NFC: [0xBA2F], NFD: [0x1106, 0x1164, 0x11BA], NFKC: [0xBA2F], NFKD: [0x1106, 0x1164, 0x11BA] }, -{ source: [0xBA30], NFC: [0xBA30], NFD: [0x1106, 0x1164, 0x11BB], NFKC: [0xBA30], NFKD: [0x1106, 0x1164, 0x11BB] }, -{ source: [0xBA31], NFC: [0xBA31], NFD: [0x1106, 0x1164, 0x11BC], NFKC: [0xBA31], NFKD: [0x1106, 0x1164, 0x11BC] }, -{ source: [0xBA32], NFC: [0xBA32], NFD: [0x1106, 0x1164, 0x11BD], NFKC: [0xBA32], NFKD: [0x1106, 0x1164, 0x11BD] }, -{ source: [0xBA33], NFC: [0xBA33], NFD: [0x1106, 0x1164, 0x11BE], NFKC: [0xBA33], NFKD: [0x1106, 0x1164, 0x11BE] }, -{ source: [0xBA34], NFC: [0xBA34], NFD: [0x1106, 0x1164, 0x11BF], NFKC: [0xBA34], NFKD: [0x1106, 0x1164, 0x11BF] }, -{ source: [0xBA35], NFC: [0xBA35], NFD: [0x1106, 0x1164, 0x11C0], NFKC: [0xBA35], NFKD: [0x1106, 0x1164, 0x11C0] }, -{ source: [0xBA36], NFC: [0xBA36], NFD: [0x1106, 0x1164, 0x11C1], NFKC: [0xBA36], NFKD: [0x1106, 0x1164, 0x11C1] }, -{ source: [0xBA37], NFC: [0xBA37], NFD: [0x1106, 0x1164, 0x11C2], NFKC: [0xBA37], NFKD: [0x1106, 0x1164, 0x11C2] }, -{ source: [0xBA38], NFC: [0xBA38], NFD: [0x1106, 0x1165], NFKC: [0xBA38], NFKD: [0x1106, 0x1165] }, -{ source: [0xBA39], NFC: [0xBA39], NFD: [0x1106, 0x1165, 0x11A8], NFKC: [0xBA39], NFKD: [0x1106, 0x1165, 0x11A8] }, -{ source: [0xBA3A], NFC: [0xBA3A], NFD: [0x1106, 0x1165, 0x11A9], NFKC: [0xBA3A], NFKD: [0x1106, 0x1165, 0x11A9] }, -{ source: [0xBA3B], NFC: [0xBA3B], NFD: [0x1106, 0x1165, 0x11AA], NFKC: [0xBA3B], NFKD: [0x1106, 0x1165, 0x11AA] }, -{ source: [0xBA3C], NFC: [0xBA3C], NFD: [0x1106, 0x1165, 0x11AB], NFKC: [0xBA3C], NFKD: [0x1106, 0x1165, 0x11AB] }, -{ source: [0xBA3D], NFC: [0xBA3D], NFD: [0x1106, 0x1165, 0x11AC], NFKC: [0xBA3D], NFKD: [0x1106, 0x1165, 0x11AC] }, -{ source: [0xBA3E], NFC: [0xBA3E], NFD: [0x1106, 0x1165, 0x11AD], NFKC: [0xBA3E], NFKD: [0x1106, 0x1165, 0x11AD] }, -{ source: [0xBA3F], NFC: [0xBA3F], NFD: [0x1106, 0x1165, 0x11AE], NFKC: [0xBA3F], NFKD: [0x1106, 0x1165, 0x11AE] }, -{ source: [0xBA40], NFC: [0xBA40], NFD: [0x1106, 0x1165, 0x11AF], NFKC: [0xBA40], NFKD: [0x1106, 0x1165, 0x11AF] }, -{ source: [0xBA41], NFC: [0xBA41], NFD: [0x1106, 0x1165, 0x11B0], NFKC: [0xBA41], NFKD: [0x1106, 0x1165, 0x11B0] }, -{ source: [0xBA42], NFC: [0xBA42], NFD: [0x1106, 0x1165, 0x11B1], NFKC: [0xBA42], NFKD: [0x1106, 0x1165, 0x11B1] }, -{ source: [0xBA43], NFC: [0xBA43], NFD: [0x1106, 0x1165, 0x11B2], NFKC: [0xBA43], NFKD: [0x1106, 0x1165, 0x11B2] }, -{ source: [0xBA44], NFC: [0xBA44], NFD: [0x1106, 0x1165, 0x11B3], NFKC: [0xBA44], NFKD: [0x1106, 0x1165, 0x11B3] }, -{ source: [0xBA45], NFC: [0xBA45], NFD: [0x1106, 0x1165, 0x11B4], NFKC: [0xBA45], NFKD: [0x1106, 0x1165, 0x11B4] }, -{ source: [0xBA46], NFC: [0xBA46], NFD: [0x1106, 0x1165, 0x11B5], NFKC: [0xBA46], NFKD: [0x1106, 0x1165, 0x11B5] }, -{ source: [0xBA47], NFC: [0xBA47], NFD: [0x1106, 0x1165, 0x11B6], NFKC: [0xBA47], NFKD: [0x1106, 0x1165, 0x11B6] }, -{ source: [0xBA48], NFC: [0xBA48], NFD: [0x1106, 0x1165, 0x11B7], NFKC: [0xBA48], NFKD: [0x1106, 0x1165, 0x11B7] }, -{ source: [0xBA49], NFC: [0xBA49], NFD: [0x1106, 0x1165, 0x11B8], NFKC: [0xBA49], NFKD: [0x1106, 0x1165, 0x11B8] }, -{ source: [0xBA4A], NFC: [0xBA4A], NFD: [0x1106, 0x1165, 0x11B9], NFKC: [0xBA4A], NFKD: [0x1106, 0x1165, 0x11B9] }, -{ source: [0xBA4B], NFC: [0xBA4B], NFD: [0x1106, 0x1165, 0x11BA], NFKC: [0xBA4B], NFKD: [0x1106, 0x1165, 0x11BA] }, -{ source: [0xBA4C], NFC: [0xBA4C], NFD: [0x1106, 0x1165, 0x11BB], NFKC: [0xBA4C], NFKD: [0x1106, 0x1165, 0x11BB] }, -{ source: [0xBA4D], NFC: [0xBA4D], NFD: [0x1106, 0x1165, 0x11BC], NFKC: [0xBA4D], NFKD: [0x1106, 0x1165, 0x11BC] }, -{ source: [0xBA4E], NFC: [0xBA4E], NFD: [0x1106, 0x1165, 0x11BD], NFKC: [0xBA4E], NFKD: [0x1106, 0x1165, 0x11BD] }, -{ source: [0xBA4F], NFC: [0xBA4F], NFD: [0x1106, 0x1165, 0x11BE], NFKC: [0xBA4F], NFKD: [0x1106, 0x1165, 0x11BE] }, -{ source: [0xBA50], NFC: [0xBA50], NFD: [0x1106, 0x1165, 0x11BF], NFKC: [0xBA50], NFKD: [0x1106, 0x1165, 0x11BF] }, -{ source: [0xBA51], NFC: [0xBA51], NFD: [0x1106, 0x1165, 0x11C0], NFKC: [0xBA51], NFKD: [0x1106, 0x1165, 0x11C0] }, -{ source: [0xBA52], NFC: [0xBA52], NFD: [0x1106, 0x1165, 0x11C1], NFKC: [0xBA52], NFKD: [0x1106, 0x1165, 0x11C1] }, -{ source: [0xBA53], NFC: [0xBA53], NFD: [0x1106, 0x1165, 0x11C2], NFKC: [0xBA53], NFKD: [0x1106, 0x1165, 0x11C2] }, -{ source: [0xBA54], NFC: [0xBA54], NFD: [0x1106, 0x1166], NFKC: [0xBA54], NFKD: [0x1106, 0x1166] }, -{ source: [0xBA55], NFC: [0xBA55], NFD: [0x1106, 0x1166, 0x11A8], NFKC: [0xBA55], NFKD: [0x1106, 0x1166, 0x11A8] }, -{ source: [0xBA56], NFC: [0xBA56], NFD: [0x1106, 0x1166, 0x11A9], NFKC: [0xBA56], NFKD: [0x1106, 0x1166, 0x11A9] }, -{ source: [0xBA57], NFC: [0xBA57], NFD: [0x1106, 0x1166, 0x11AA], NFKC: [0xBA57], NFKD: [0x1106, 0x1166, 0x11AA] }, -{ source: [0xBA58], NFC: [0xBA58], NFD: [0x1106, 0x1166, 0x11AB], NFKC: [0xBA58], NFKD: [0x1106, 0x1166, 0x11AB] }, -{ source: [0xBA59], NFC: [0xBA59], NFD: [0x1106, 0x1166, 0x11AC], NFKC: [0xBA59], NFKD: [0x1106, 0x1166, 0x11AC] }, -{ source: [0xBA5A], NFC: [0xBA5A], NFD: [0x1106, 0x1166, 0x11AD], NFKC: [0xBA5A], NFKD: [0x1106, 0x1166, 0x11AD] }, -{ source: [0xBA5B], NFC: [0xBA5B], NFD: [0x1106, 0x1166, 0x11AE], NFKC: [0xBA5B], NFKD: [0x1106, 0x1166, 0x11AE] }, -{ source: [0xBA5C], NFC: [0xBA5C], NFD: [0x1106, 0x1166, 0x11AF], NFKC: [0xBA5C], NFKD: [0x1106, 0x1166, 0x11AF] }, -{ source: [0xBA5D], NFC: [0xBA5D], NFD: [0x1106, 0x1166, 0x11B0], NFKC: [0xBA5D], NFKD: [0x1106, 0x1166, 0x11B0] }, -{ source: [0xBA5E], NFC: [0xBA5E], NFD: [0x1106, 0x1166, 0x11B1], NFKC: [0xBA5E], NFKD: [0x1106, 0x1166, 0x11B1] }, -{ source: [0xBA5F], NFC: [0xBA5F], NFD: [0x1106, 0x1166, 0x11B2], NFKC: [0xBA5F], NFKD: [0x1106, 0x1166, 0x11B2] }, -{ source: [0xBA60], NFC: [0xBA60], NFD: [0x1106, 0x1166, 0x11B3], NFKC: [0xBA60], NFKD: [0x1106, 0x1166, 0x11B3] }, -{ source: [0xBA61], NFC: [0xBA61], NFD: [0x1106, 0x1166, 0x11B4], NFKC: [0xBA61], NFKD: [0x1106, 0x1166, 0x11B4] }, -{ source: [0xBA62], NFC: [0xBA62], NFD: [0x1106, 0x1166, 0x11B5], NFKC: [0xBA62], NFKD: [0x1106, 0x1166, 0x11B5] }, -{ source: [0xBA63], NFC: [0xBA63], NFD: [0x1106, 0x1166, 0x11B6], NFKC: [0xBA63], NFKD: [0x1106, 0x1166, 0x11B6] }, -{ source: [0xBA64], NFC: [0xBA64], NFD: [0x1106, 0x1166, 0x11B7], NFKC: [0xBA64], NFKD: [0x1106, 0x1166, 0x11B7] }, -{ source: [0xBA65], NFC: [0xBA65], NFD: [0x1106, 0x1166, 0x11B8], NFKC: [0xBA65], NFKD: [0x1106, 0x1166, 0x11B8] }, -{ source: [0xBA66], NFC: [0xBA66], NFD: [0x1106, 0x1166, 0x11B9], NFKC: [0xBA66], NFKD: [0x1106, 0x1166, 0x11B9] }, -{ source: [0xBA67], NFC: [0xBA67], NFD: [0x1106, 0x1166, 0x11BA], NFKC: [0xBA67], NFKD: [0x1106, 0x1166, 0x11BA] }, -{ source: [0xBA68], NFC: [0xBA68], NFD: [0x1106, 0x1166, 0x11BB], NFKC: [0xBA68], NFKD: [0x1106, 0x1166, 0x11BB] }, -{ source: [0xBA69], NFC: [0xBA69], NFD: [0x1106, 0x1166, 0x11BC], NFKC: [0xBA69], NFKD: [0x1106, 0x1166, 0x11BC] }, -{ source: [0xBA6A], NFC: [0xBA6A], NFD: [0x1106, 0x1166, 0x11BD], NFKC: [0xBA6A], NFKD: [0x1106, 0x1166, 0x11BD] }, -{ source: [0xBA6B], NFC: [0xBA6B], NFD: [0x1106, 0x1166, 0x11BE], NFKC: [0xBA6B], NFKD: [0x1106, 0x1166, 0x11BE] }, -{ source: [0xBA6C], NFC: [0xBA6C], NFD: [0x1106, 0x1166, 0x11BF], NFKC: [0xBA6C], NFKD: [0x1106, 0x1166, 0x11BF] }, -{ source: [0xBA6D], NFC: [0xBA6D], NFD: [0x1106, 0x1166, 0x11C0], NFKC: [0xBA6D], NFKD: [0x1106, 0x1166, 0x11C0] }, -{ source: [0xBA6E], NFC: [0xBA6E], NFD: [0x1106, 0x1166, 0x11C1], NFKC: [0xBA6E], NFKD: [0x1106, 0x1166, 0x11C1] }, -{ source: [0xBA6F], NFC: [0xBA6F], NFD: [0x1106, 0x1166, 0x11C2], NFKC: [0xBA6F], NFKD: [0x1106, 0x1166, 0x11C2] }, -{ source: [0xBA70], NFC: [0xBA70], NFD: [0x1106, 0x1167], NFKC: [0xBA70], NFKD: [0x1106, 0x1167] }, -{ source: [0xBA71], NFC: [0xBA71], NFD: [0x1106, 0x1167, 0x11A8], NFKC: [0xBA71], NFKD: [0x1106, 0x1167, 0x11A8] }, -{ source: [0xBA72], NFC: [0xBA72], NFD: [0x1106, 0x1167, 0x11A9], NFKC: [0xBA72], NFKD: [0x1106, 0x1167, 0x11A9] }, -{ source: [0xBA73], NFC: [0xBA73], NFD: [0x1106, 0x1167, 0x11AA], NFKC: [0xBA73], NFKD: [0x1106, 0x1167, 0x11AA] }, -{ source: [0xBA74], NFC: [0xBA74], NFD: [0x1106, 0x1167, 0x11AB], NFKC: [0xBA74], NFKD: [0x1106, 0x1167, 0x11AB] }, -{ source: [0xBA75], NFC: [0xBA75], NFD: [0x1106, 0x1167, 0x11AC], NFKC: [0xBA75], NFKD: [0x1106, 0x1167, 0x11AC] }, -{ source: [0xBA76], NFC: [0xBA76], NFD: [0x1106, 0x1167, 0x11AD], NFKC: [0xBA76], NFKD: [0x1106, 0x1167, 0x11AD] }, -{ source: [0xBA77], NFC: [0xBA77], NFD: [0x1106, 0x1167, 0x11AE], NFKC: [0xBA77], NFKD: [0x1106, 0x1167, 0x11AE] }, -{ source: [0xBA78], NFC: [0xBA78], NFD: [0x1106, 0x1167, 0x11AF], NFKC: [0xBA78], NFKD: [0x1106, 0x1167, 0x11AF] }, -{ source: [0xBA79], NFC: [0xBA79], NFD: [0x1106, 0x1167, 0x11B0], NFKC: [0xBA79], NFKD: [0x1106, 0x1167, 0x11B0] }, -{ source: [0xBA7A], NFC: [0xBA7A], NFD: [0x1106, 0x1167, 0x11B1], NFKC: [0xBA7A], NFKD: [0x1106, 0x1167, 0x11B1] }, -{ source: [0xBA7B], NFC: [0xBA7B], NFD: [0x1106, 0x1167, 0x11B2], NFKC: [0xBA7B], NFKD: [0x1106, 0x1167, 0x11B2] }, -{ source: [0xBA7C], NFC: [0xBA7C], NFD: [0x1106, 0x1167, 0x11B3], NFKC: [0xBA7C], NFKD: [0x1106, 0x1167, 0x11B3] }, -{ source: [0xBA7D], NFC: [0xBA7D], NFD: [0x1106, 0x1167, 0x11B4], NFKC: [0xBA7D], NFKD: [0x1106, 0x1167, 0x11B4] }, -{ source: [0xBA7E], NFC: [0xBA7E], NFD: [0x1106, 0x1167, 0x11B5], NFKC: [0xBA7E], NFKD: [0x1106, 0x1167, 0x11B5] }, -{ source: [0xBA7F], NFC: [0xBA7F], NFD: [0x1106, 0x1167, 0x11B6], NFKC: [0xBA7F], NFKD: [0x1106, 0x1167, 0x11B6] }, -{ source: [0xBA80], NFC: [0xBA80], NFD: [0x1106, 0x1167, 0x11B7], NFKC: [0xBA80], NFKD: [0x1106, 0x1167, 0x11B7] }, -{ source: [0xBA81], NFC: [0xBA81], NFD: [0x1106, 0x1167, 0x11B8], NFKC: [0xBA81], NFKD: [0x1106, 0x1167, 0x11B8] }, -{ source: [0xBA82], NFC: [0xBA82], NFD: [0x1106, 0x1167, 0x11B9], NFKC: [0xBA82], NFKD: [0x1106, 0x1167, 0x11B9] }, -{ source: [0xBA83], NFC: [0xBA83], NFD: [0x1106, 0x1167, 0x11BA], NFKC: [0xBA83], NFKD: [0x1106, 0x1167, 0x11BA] }, -{ source: [0xBA84], NFC: [0xBA84], NFD: [0x1106, 0x1167, 0x11BB], NFKC: [0xBA84], NFKD: [0x1106, 0x1167, 0x11BB] }, -{ source: [0xBA85], NFC: [0xBA85], NFD: [0x1106, 0x1167, 0x11BC], NFKC: [0xBA85], NFKD: [0x1106, 0x1167, 0x11BC] }, -{ source: [0xBA86], NFC: [0xBA86], NFD: [0x1106, 0x1167, 0x11BD], NFKC: [0xBA86], NFKD: [0x1106, 0x1167, 0x11BD] }, -{ source: [0xBA87], NFC: [0xBA87], NFD: [0x1106, 0x1167, 0x11BE], NFKC: [0xBA87], NFKD: [0x1106, 0x1167, 0x11BE] }, -{ source: [0xBA88], NFC: [0xBA88], NFD: [0x1106, 0x1167, 0x11BF], NFKC: [0xBA88], NFKD: [0x1106, 0x1167, 0x11BF] }, -{ source: [0xBA89], NFC: [0xBA89], NFD: [0x1106, 0x1167, 0x11C0], NFKC: [0xBA89], NFKD: [0x1106, 0x1167, 0x11C0] }, -{ source: [0xBA8A], NFC: [0xBA8A], NFD: [0x1106, 0x1167, 0x11C1], NFKC: [0xBA8A], NFKD: [0x1106, 0x1167, 0x11C1] }, -{ source: [0xBA8B], NFC: [0xBA8B], NFD: [0x1106, 0x1167, 0x11C2], NFKC: [0xBA8B], NFKD: [0x1106, 0x1167, 0x11C2] }, -{ source: [0xBA8C], NFC: [0xBA8C], NFD: [0x1106, 0x1168], NFKC: [0xBA8C], NFKD: [0x1106, 0x1168] }, -{ source: [0xBA8D], NFC: [0xBA8D], NFD: [0x1106, 0x1168, 0x11A8], NFKC: [0xBA8D], NFKD: [0x1106, 0x1168, 0x11A8] }, -{ source: [0xBA8E], NFC: [0xBA8E], NFD: [0x1106, 0x1168, 0x11A9], NFKC: [0xBA8E], NFKD: [0x1106, 0x1168, 0x11A9] }, -{ source: [0xBA8F], NFC: [0xBA8F], NFD: [0x1106, 0x1168, 0x11AA], NFKC: [0xBA8F], NFKD: [0x1106, 0x1168, 0x11AA] }, -{ source: [0xBA90], NFC: [0xBA90], NFD: [0x1106, 0x1168, 0x11AB], NFKC: [0xBA90], NFKD: [0x1106, 0x1168, 0x11AB] }, -{ source: [0xBA91], NFC: [0xBA91], NFD: [0x1106, 0x1168, 0x11AC], NFKC: [0xBA91], NFKD: [0x1106, 0x1168, 0x11AC] }, -{ source: [0xBA92], NFC: [0xBA92], NFD: [0x1106, 0x1168, 0x11AD], NFKC: [0xBA92], NFKD: [0x1106, 0x1168, 0x11AD] }, -{ source: [0xBA93], NFC: [0xBA93], NFD: [0x1106, 0x1168, 0x11AE], NFKC: [0xBA93], NFKD: [0x1106, 0x1168, 0x11AE] }, -{ source: [0xBA94], NFC: [0xBA94], NFD: [0x1106, 0x1168, 0x11AF], NFKC: [0xBA94], NFKD: [0x1106, 0x1168, 0x11AF] }, -{ source: [0xBA95], NFC: [0xBA95], NFD: [0x1106, 0x1168, 0x11B0], NFKC: [0xBA95], NFKD: [0x1106, 0x1168, 0x11B0] }, -{ source: [0xBA96], NFC: [0xBA96], NFD: [0x1106, 0x1168, 0x11B1], NFKC: [0xBA96], NFKD: [0x1106, 0x1168, 0x11B1] }, -{ source: [0xBA97], NFC: [0xBA97], NFD: [0x1106, 0x1168, 0x11B2], NFKC: [0xBA97], NFKD: [0x1106, 0x1168, 0x11B2] }, -{ source: [0xBA98], NFC: [0xBA98], NFD: [0x1106, 0x1168, 0x11B3], NFKC: [0xBA98], NFKD: [0x1106, 0x1168, 0x11B3] }, -{ source: [0xBA99], NFC: [0xBA99], NFD: [0x1106, 0x1168, 0x11B4], NFKC: [0xBA99], NFKD: [0x1106, 0x1168, 0x11B4] }, -{ source: [0xBA9A], NFC: [0xBA9A], NFD: [0x1106, 0x1168, 0x11B5], NFKC: [0xBA9A], NFKD: [0x1106, 0x1168, 0x11B5] }, -{ source: [0xBA9B], NFC: [0xBA9B], NFD: [0x1106, 0x1168, 0x11B6], NFKC: [0xBA9B], NFKD: [0x1106, 0x1168, 0x11B6] }, -{ source: [0xBA9C], NFC: [0xBA9C], NFD: [0x1106, 0x1168, 0x11B7], NFKC: [0xBA9C], NFKD: [0x1106, 0x1168, 0x11B7] }, -{ source: [0xBA9D], NFC: [0xBA9D], NFD: [0x1106, 0x1168, 0x11B8], NFKC: [0xBA9D], NFKD: [0x1106, 0x1168, 0x11B8] }, -{ source: [0xBA9E], NFC: [0xBA9E], NFD: [0x1106, 0x1168, 0x11B9], NFKC: [0xBA9E], NFKD: [0x1106, 0x1168, 0x11B9] }, -{ source: [0xBA9F], NFC: [0xBA9F], NFD: [0x1106, 0x1168, 0x11BA], NFKC: [0xBA9F], NFKD: [0x1106, 0x1168, 0x11BA] }, -{ source: [0xBAA0], NFC: [0xBAA0], NFD: [0x1106, 0x1168, 0x11BB], NFKC: [0xBAA0], NFKD: [0x1106, 0x1168, 0x11BB] }, -{ source: [0xBAA1], NFC: [0xBAA1], NFD: [0x1106, 0x1168, 0x11BC], NFKC: [0xBAA1], NFKD: [0x1106, 0x1168, 0x11BC] }, -{ source: [0xBAA2], NFC: [0xBAA2], NFD: [0x1106, 0x1168, 0x11BD], NFKC: [0xBAA2], NFKD: [0x1106, 0x1168, 0x11BD] }, -{ source: [0xBAA3], NFC: [0xBAA3], NFD: [0x1106, 0x1168, 0x11BE], NFKC: [0xBAA3], NFKD: [0x1106, 0x1168, 0x11BE] }, -{ source: [0xBAA4], NFC: [0xBAA4], NFD: [0x1106, 0x1168, 0x11BF], NFKC: [0xBAA4], NFKD: [0x1106, 0x1168, 0x11BF] }, -{ source: [0xBAA5], NFC: [0xBAA5], NFD: [0x1106, 0x1168, 0x11C0], NFKC: [0xBAA5], NFKD: [0x1106, 0x1168, 0x11C0] }, -{ source: [0xBAA6], NFC: [0xBAA6], NFD: [0x1106, 0x1168, 0x11C1], NFKC: [0xBAA6], NFKD: [0x1106, 0x1168, 0x11C1] }, -{ source: [0xBAA7], NFC: [0xBAA7], NFD: [0x1106, 0x1168, 0x11C2], NFKC: [0xBAA7], NFKD: [0x1106, 0x1168, 0x11C2] }, -{ source: [0xBAA8], NFC: [0xBAA8], NFD: [0x1106, 0x1169], NFKC: [0xBAA8], NFKD: [0x1106, 0x1169] }, -{ source: [0xBAA9], NFC: [0xBAA9], NFD: [0x1106, 0x1169, 0x11A8], NFKC: [0xBAA9], NFKD: [0x1106, 0x1169, 0x11A8] }, -{ source: [0xBAAA], NFC: [0xBAAA], NFD: [0x1106, 0x1169, 0x11A9], NFKC: [0xBAAA], NFKD: [0x1106, 0x1169, 0x11A9] }, -{ source: [0xBAAB], NFC: [0xBAAB], NFD: [0x1106, 0x1169, 0x11AA], NFKC: [0xBAAB], NFKD: [0x1106, 0x1169, 0x11AA] }, -{ source: [0xBAAC], NFC: [0xBAAC], NFD: [0x1106, 0x1169, 0x11AB], NFKC: [0xBAAC], NFKD: [0x1106, 0x1169, 0x11AB] }, -{ source: [0xBAAD], NFC: [0xBAAD], NFD: [0x1106, 0x1169, 0x11AC], NFKC: [0xBAAD], NFKD: [0x1106, 0x1169, 0x11AC] }, -{ source: [0xBAAE], NFC: [0xBAAE], NFD: [0x1106, 0x1169, 0x11AD], NFKC: [0xBAAE], NFKD: [0x1106, 0x1169, 0x11AD] }, -{ source: [0xBAAF], NFC: [0xBAAF], NFD: [0x1106, 0x1169, 0x11AE], NFKC: [0xBAAF], NFKD: [0x1106, 0x1169, 0x11AE] }, -{ source: [0xBAB0], NFC: [0xBAB0], NFD: [0x1106, 0x1169, 0x11AF], NFKC: [0xBAB0], NFKD: [0x1106, 0x1169, 0x11AF] }, -{ source: [0xBAB1], NFC: [0xBAB1], NFD: [0x1106, 0x1169, 0x11B0], NFKC: [0xBAB1], NFKD: [0x1106, 0x1169, 0x11B0] }, -{ source: [0xBAB2], NFC: [0xBAB2], NFD: [0x1106, 0x1169, 0x11B1], NFKC: [0xBAB2], NFKD: [0x1106, 0x1169, 0x11B1] }, -{ source: [0xBAB3], NFC: [0xBAB3], NFD: [0x1106, 0x1169, 0x11B2], NFKC: [0xBAB3], NFKD: [0x1106, 0x1169, 0x11B2] }, -{ source: [0xBAB4], NFC: [0xBAB4], NFD: [0x1106, 0x1169, 0x11B3], NFKC: [0xBAB4], NFKD: [0x1106, 0x1169, 0x11B3] }, -{ source: [0xBAB5], NFC: [0xBAB5], NFD: [0x1106, 0x1169, 0x11B4], NFKC: [0xBAB5], NFKD: [0x1106, 0x1169, 0x11B4] }, -{ source: [0xBAB6], NFC: [0xBAB6], NFD: [0x1106, 0x1169, 0x11B5], NFKC: [0xBAB6], NFKD: [0x1106, 0x1169, 0x11B5] }, -{ source: [0xBAB7], NFC: [0xBAB7], NFD: [0x1106, 0x1169, 0x11B6], NFKC: [0xBAB7], NFKD: [0x1106, 0x1169, 0x11B6] }, -{ source: [0xBAB8], NFC: [0xBAB8], NFD: [0x1106, 0x1169, 0x11B7], NFKC: [0xBAB8], NFKD: [0x1106, 0x1169, 0x11B7] }, -{ source: [0xBAB9], NFC: [0xBAB9], NFD: [0x1106, 0x1169, 0x11B8], NFKC: [0xBAB9], NFKD: [0x1106, 0x1169, 0x11B8] }, -{ source: [0xBABA], NFC: [0xBABA], NFD: [0x1106, 0x1169, 0x11B9], NFKC: [0xBABA], NFKD: [0x1106, 0x1169, 0x11B9] }, -{ source: [0xBABB], NFC: [0xBABB], NFD: [0x1106, 0x1169, 0x11BA], NFKC: [0xBABB], NFKD: [0x1106, 0x1169, 0x11BA] }, -{ source: [0xBABC], NFC: [0xBABC], NFD: [0x1106, 0x1169, 0x11BB], NFKC: [0xBABC], NFKD: [0x1106, 0x1169, 0x11BB] }, -{ source: [0xBABD], NFC: [0xBABD], NFD: [0x1106, 0x1169, 0x11BC], NFKC: [0xBABD], NFKD: [0x1106, 0x1169, 0x11BC] }, -{ source: [0xBABE], NFC: [0xBABE], NFD: [0x1106, 0x1169, 0x11BD], NFKC: [0xBABE], NFKD: [0x1106, 0x1169, 0x11BD] }, -{ source: [0xBABF], NFC: [0xBABF], NFD: [0x1106, 0x1169, 0x11BE], NFKC: [0xBABF], NFKD: [0x1106, 0x1169, 0x11BE] }, -{ source: [0xBAC0], NFC: [0xBAC0], NFD: [0x1106, 0x1169, 0x11BF], NFKC: [0xBAC0], NFKD: [0x1106, 0x1169, 0x11BF] }, -{ source: [0xBAC1], NFC: [0xBAC1], NFD: [0x1106, 0x1169, 0x11C0], NFKC: [0xBAC1], NFKD: [0x1106, 0x1169, 0x11C0] }, -{ source: [0xBAC2], NFC: [0xBAC2], NFD: [0x1106, 0x1169, 0x11C1], NFKC: [0xBAC2], NFKD: [0x1106, 0x1169, 0x11C1] }, -{ source: [0xBAC3], NFC: [0xBAC3], NFD: [0x1106, 0x1169, 0x11C2], NFKC: [0xBAC3], NFKD: [0x1106, 0x1169, 0x11C2] }, -{ source: [0xBAC4], NFC: [0xBAC4], NFD: [0x1106, 0x116A], NFKC: [0xBAC4], NFKD: [0x1106, 0x116A] }, -{ source: [0xBAC5], NFC: [0xBAC5], NFD: [0x1106, 0x116A, 0x11A8], NFKC: [0xBAC5], NFKD: [0x1106, 0x116A, 0x11A8] }, -{ source: [0xBAC6], NFC: [0xBAC6], NFD: [0x1106, 0x116A, 0x11A9], NFKC: [0xBAC6], NFKD: [0x1106, 0x116A, 0x11A9] }, -{ source: [0xBAC7], NFC: [0xBAC7], NFD: [0x1106, 0x116A, 0x11AA], NFKC: [0xBAC7], NFKD: [0x1106, 0x116A, 0x11AA] }, -{ source: [0xBAC8], NFC: [0xBAC8], NFD: [0x1106, 0x116A, 0x11AB], NFKC: [0xBAC8], NFKD: [0x1106, 0x116A, 0x11AB] }, -{ source: [0xBAC9], NFC: [0xBAC9], NFD: [0x1106, 0x116A, 0x11AC], NFKC: [0xBAC9], NFKD: [0x1106, 0x116A, 0x11AC] }, -{ source: [0xBACA], NFC: [0xBACA], NFD: [0x1106, 0x116A, 0x11AD], NFKC: [0xBACA], NFKD: [0x1106, 0x116A, 0x11AD] }, -{ source: [0xBACB], NFC: [0xBACB], NFD: [0x1106, 0x116A, 0x11AE], NFKC: [0xBACB], NFKD: [0x1106, 0x116A, 0x11AE] }, -{ source: [0xBACC], NFC: [0xBACC], NFD: [0x1106, 0x116A, 0x11AF], NFKC: [0xBACC], NFKD: [0x1106, 0x116A, 0x11AF] }, -{ source: [0xBACD], NFC: [0xBACD], NFD: [0x1106, 0x116A, 0x11B0], NFKC: [0xBACD], NFKD: [0x1106, 0x116A, 0x11B0] }, -{ source: [0xBACE], NFC: [0xBACE], NFD: [0x1106, 0x116A, 0x11B1], NFKC: [0xBACE], NFKD: [0x1106, 0x116A, 0x11B1] }, -{ source: [0xBACF], NFC: [0xBACF], NFD: [0x1106, 0x116A, 0x11B2], NFKC: [0xBACF], NFKD: [0x1106, 0x116A, 0x11B2] }, -{ source: [0xBAD0], NFC: [0xBAD0], NFD: [0x1106, 0x116A, 0x11B3], NFKC: [0xBAD0], NFKD: [0x1106, 0x116A, 0x11B3] }, -{ source: [0xBAD1], NFC: [0xBAD1], NFD: [0x1106, 0x116A, 0x11B4], NFKC: [0xBAD1], NFKD: [0x1106, 0x116A, 0x11B4] }, -{ source: [0xBAD2], NFC: [0xBAD2], NFD: [0x1106, 0x116A, 0x11B5], NFKC: [0xBAD2], NFKD: [0x1106, 0x116A, 0x11B5] }, -{ source: [0xBAD3], NFC: [0xBAD3], NFD: [0x1106, 0x116A, 0x11B6], NFKC: [0xBAD3], NFKD: [0x1106, 0x116A, 0x11B6] }, -{ source: [0xBAD4], NFC: [0xBAD4], NFD: [0x1106, 0x116A, 0x11B7], NFKC: [0xBAD4], NFKD: [0x1106, 0x116A, 0x11B7] }, -{ source: [0xBAD5], NFC: [0xBAD5], NFD: [0x1106, 0x116A, 0x11B8], NFKC: [0xBAD5], NFKD: [0x1106, 0x116A, 0x11B8] }, -{ source: [0xBAD6], NFC: [0xBAD6], NFD: [0x1106, 0x116A, 0x11B9], NFKC: [0xBAD6], NFKD: [0x1106, 0x116A, 0x11B9] }, -{ source: [0xBAD7], NFC: [0xBAD7], NFD: [0x1106, 0x116A, 0x11BA], NFKC: [0xBAD7], NFKD: [0x1106, 0x116A, 0x11BA] }, -{ source: [0xBAD8], NFC: [0xBAD8], NFD: [0x1106, 0x116A, 0x11BB], NFKC: [0xBAD8], NFKD: [0x1106, 0x116A, 0x11BB] }, -{ source: [0xBAD9], NFC: [0xBAD9], NFD: [0x1106, 0x116A, 0x11BC], NFKC: [0xBAD9], NFKD: [0x1106, 0x116A, 0x11BC] }, -{ source: [0xBADA], NFC: [0xBADA], NFD: [0x1106, 0x116A, 0x11BD], NFKC: [0xBADA], NFKD: [0x1106, 0x116A, 0x11BD] }, -{ source: [0xBADB], NFC: [0xBADB], NFD: [0x1106, 0x116A, 0x11BE], NFKC: [0xBADB], NFKD: [0x1106, 0x116A, 0x11BE] }, -{ source: [0xBADC], NFC: [0xBADC], NFD: [0x1106, 0x116A, 0x11BF], NFKC: [0xBADC], NFKD: [0x1106, 0x116A, 0x11BF] }, -{ source: [0xBADD], NFC: [0xBADD], NFD: [0x1106, 0x116A, 0x11C0], NFKC: [0xBADD], NFKD: [0x1106, 0x116A, 0x11C0] }, -{ source: [0xBADE], NFC: [0xBADE], NFD: [0x1106, 0x116A, 0x11C1], NFKC: [0xBADE], NFKD: [0x1106, 0x116A, 0x11C1] }, -{ source: [0xBADF], NFC: [0xBADF], NFD: [0x1106, 0x116A, 0x11C2], NFKC: [0xBADF], NFKD: [0x1106, 0x116A, 0x11C2] }, -{ source: [0xBAE0], NFC: [0xBAE0], NFD: [0x1106, 0x116B], NFKC: [0xBAE0], NFKD: [0x1106, 0x116B] }, -{ source: [0xBAE1], NFC: [0xBAE1], NFD: [0x1106, 0x116B, 0x11A8], NFKC: [0xBAE1], NFKD: [0x1106, 0x116B, 0x11A8] }, -{ source: [0xBAE2], NFC: [0xBAE2], NFD: [0x1106, 0x116B, 0x11A9], NFKC: [0xBAE2], NFKD: [0x1106, 0x116B, 0x11A9] }, -{ source: [0xBAE3], NFC: [0xBAE3], NFD: [0x1106, 0x116B, 0x11AA], NFKC: [0xBAE3], NFKD: [0x1106, 0x116B, 0x11AA] }, -{ source: [0xBAE4], NFC: [0xBAE4], NFD: [0x1106, 0x116B, 0x11AB], NFKC: [0xBAE4], NFKD: [0x1106, 0x116B, 0x11AB] }, -{ source: [0xBAE5], NFC: [0xBAE5], NFD: [0x1106, 0x116B, 0x11AC], NFKC: [0xBAE5], NFKD: [0x1106, 0x116B, 0x11AC] }, -{ source: [0xBAE6], NFC: [0xBAE6], NFD: [0x1106, 0x116B, 0x11AD], NFKC: [0xBAE6], NFKD: [0x1106, 0x116B, 0x11AD] }, -{ source: [0xBAE7], NFC: [0xBAE7], NFD: [0x1106, 0x116B, 0x11AE], NFKC: [0xBAE7], NFKD: [0x1106, 0x116B, 0x11AE] }, -{ source: [0xBAE8], NFC: [0xBAE8], NFD: [0x1106, 0x116B, 0x11AF], NFKC: [0xBAE8], NFKD: [0x1106, 0x116B, 0x11AF] }, -{ source: [0xBAE9], NFC: [0xBAE9], NFD: [0x1106, 0x116B, 0x11B0], NFKC: [0xBAE9], NFKD: [0x1106, 0x116B, 0x11B0] }, -{ source: [0xBAEA], NFC: [0xBAEA], NFD: [0x1106, 0x116B, 0x11B1], NFKC: [0xBAEA], NFKD: [0x1106, 0x116B, 0x11B1] }, -{ source: [0xBAEB], NFC: [0xBAEB], NFD: [0x1106, 0x116B, 0x11B2], NFKC: [0xBAEB], NFKD: [0x1106, 0x116B, 0x11B2] }, -{ source: [0xBAEC], NFC: [0xBAEC], NFD: [0x1106, 0x116B, 0x11B3], NFKC: [0xBAEC], NFKD: [0x1106, 0x116B, 0x11B3] }, -{ source: [0xBAED], NFC: [0xBAED], NFD: [0x1106, 0x116B, 0x11B4], NFKC: [0xBAED], NFKD: [0x1106, 0x116B, 0x11B4] }, -{ source: [0xBAEE], NFC: [0xBAEE], NFD: [0x1106, 0x116B, 0x11B5], NFKC: [0xBAEE], NFKD: [0x1106, 0x116B, 0x11B5] }, -{ source: [0xBAEF], NFC: [0xBAEF], NFD: [0x1106, 0x116B, 0x11B6], NFKC: [0xBAEF], NFKD: [0x1106, 0x116B, 0x11B6] }, -{ source: [0xBAF0], NFC: [0xBAF0], NFD: [0x1106, 0x116B, 0x11B7], NFKC: [0xBAF0], NFKD: [0x1106, 0x116B, 0x11B7] }, -{ source: [0xBAF1], NFC: [0xBAF1], NFD: [0x1106, 0x116B, 0x11B8], NFKC: [0xBAF1], NFKD: [0x1106, 0x116B, 0x11B8] }, -{ source: [0xBAF2], NFC: [0xBAF2], NFD: [0x1106, 0x116B, 0x11B9], NFKC: [0xBAF2], NFKD: [0x1106, 0x116B, 0x11B9] }, -{ source: [0xBAF3], NFC: [0xBAF3], NFD: [0x1106, 0x116B, 0x11BA], NFKC: [0xBAF3], NFKD: [0x1106, 0x116B, 0x11BA] }, -{ source: [0xBAF4], NFC: [0xBAF4], NFD: [0x1106, 0x116B, 0x11BB], NFKC: [0xBAF4], NFKD: [0x1106, 0x116B, 0x11BB] }, -{ source: [0xBAF5], NFC: [0xBAF5], NFD: [0x1106, 0x116B, 0x11BC], NFKC: [0xBAF5], NFKD: [0x1106, 0x116B, 0x11BC] }, -{ source: [0xBAF6], NFC: [0xBAF6], NFD: [0x1106, 0x116B, 0x11BD], NFKC: [0xBAF6], NFKD: [0x1106, 0x116B, 0x11BD] }, -{ source: [0xBAF7], NFC: [0xBAF7], NFD: [0x1106, 0x116B, 0x11BE], NFKC: [0xBAF7], NFKD: [0x1106, 0x116B, 0x11BE] }, -{ source: [0xBAF8], NFC: [0xBAF8], NFD: [0x1106, 0x116B, 0x11BF], NFKC: [0xBAF8], NFKD: [0x1106, 0x116B, 0x11BF] }, -{ source: [0xBAF9], NFC: [0xBAF9], NFD: [0x1106, 0x116B, 0x11C0], NFKC: [0xBAF9], NFKD: [0x1106, 0x116B, 0x11C0] }, -{ source: [0xBAFA], NFC: [0xBAFA], NFD: [0x1106, 0x116B, 0x11C1], NFKC: [0xBAFA], NFKD: [0x1106, 0x116B, 0x11C1] }, -{ source: [0xBAFB], NFC: [0xBAFB], NFD: [0x1106, 0x116B, 0x11C2], NFKC: [0xBAFB], NFKD: [0x1106, 0x116B, 0x11C2] }, -{ source: [0xBAFC], NFC: [0xBAFC], NFD: [0x1106, 0x116C], NFKC: [0xBAFC], NFKD: [0x1106, 0x116C] }, -{ source: [0xBAFD], NFC: [0xBAFD], NFD: [0x1106, 0x116C, 0x11A8], NFKC: [0xBAFD], NFKD: [0x1106, 0x116C, 0x11A8] }, -{ source: [0xBAFE], NFC: [0xBAFE], NFD: [0x1106, 0x116C, 0x11A9], NFKC: [0xBAFE], NFKD: [0x1106, 0x116C, 0x11A9] }, -{ source: [0xBAFF], NFC: [0xBAFF], NFD: [0x1106, 0x116C, 0x11AA], NFKC: [0xBAFF], NFKD: [0x1106, 0x116C, 0x11AA] }, -{ source: [0xBB00], NFC: [0xBB00], NFD: [0x1106, 0x116C, 0x11AB], NFKC: [0xBB00], NFKD: [0x1106, 0x116C, 0x11AB] }, -{ source: [0xBB01], NFC: [0xBB01], NFD: [0x1106, 0x116C, 0x11AC], NFKC: [0xBB01], NFKD: [0x1106, 0x116C, 0x11AC] }, -{ source: [0xBB02], NFC: [0xBB02], NFD: [0x1106, 0x116C, 0x11AD], NFKC: [0xBB02], NFKD: [0x1106, 0x116C, 0x11AD] }, -{ source: [0xBB03], NFC: [0xBB03], NFD: [0x1106, 0x116C, 0x11AE], NFKC: [0xBB03], NFKD: [0x1106, 0x116C, 0x11AE] }, -{ source: [0xBB04], NFC: [0xBB04], NFD: [0x1106, 0x116C, 0x11AF], NFKC: [0xBB04], NFKD: [0x1106, 0x116C, 0x11AF] }, -{ source: [0xBB05], NFC: [0xBB05], NFD: [0x1106, 0x116C, 0x11B0], NFKC: [0xBB05], NFKD: [0x1106, 0x116C, 0x11B0] }, -{ source: [0xBB06], NFC: [0xBB06], NFD: [0x1106, 0x116C, 0x11B1], NFKC: [0xBB06], NFKD: [0x1106, 0x116C, 0x11B1] }, -{ source: [0xBB07], NFC: [0xBB07], NFD: [0x1106, 0x116C, 0x11B2], NFKC: [0xBB07], NFKD: [0x1106, 0x116C, 0x11B2] }, -{ source: [0xBB08], NFC: [0xBB08], NFD: [0x1106, 0x116C, 0x11B3], NFKC: [0xBB08], NFKD: [0x1106, 0x116C, 0x11B3] }, -{ source: [0xBB09], NFC: [0xBB09], NFD: [0x1106, 0x116C, 0x11B4], NFKC: [0xBB09], NFKD: [0x1106, 0x116C, 0x11B4] }, -{ source: [0xBB0A], NFC: [0xBB0A], NFD: [0x1106, 0x116C, 0x11B5], NFKC: [0xBB0A], NFKD: [0x1106, 0x116C, 0x11B5] }, -{ source: [0xBB0B], NFC: [0xBB0B], NFD: [0x1106, 0x116C, 0x11B6], NFKC: [0xBB0B], NFKD: [0x1106, 0x116C, 0x11B6] }, -{ source: [0xBB0C], NFC: [0xBB0C], NFD: [0x1106, 0x116C, 0x11B7], NFKC: [0xBB0C], NFKD: [0x1106, 0x116C, 0x11B7] }, -{ source: [0xBB0D], NFC: [0xBB0D], NFD: [0x1106, 0x116C, 0x11B8], NFKC: [0xBB0D], NFKD: [0x1106, 0x116C, 0x11B8] }, -{ source: [0xBB0E], NFC: [0xBB0E], NFD: [0x1106, 0x116C, 0x11B9], NFKC: [0xBB0E], NFKD: [0x1106, 0x116C, 0x11B9] }, -{ source: [0xBB0F], NFC: [0xBB0F], NFD: [0x1106, 0x116C, 0x11BA], NFKC: [0xBB0F], NFKD: [0x1106, 0x116C, 0x11BA] }, -{ source: [0xBB10], NFC: [0xBB10], NFD: [0x1106, 0x116C, 0x11BB], NFKC: [0xBB10], NFKD: [0x1106, 0x116C, 0x11BB] }, -{ source: [0xBB11], NFC: [0xBB11], NFD: [0x1106, 0x116C, 0x11BC], NFKC: [0xBB11], NFKD: [0x1106, 0x116C, 0x11BC] }, -{ source: [0xBB12], NFC: [0xBB12], NFD: [0x1106, 0x116C, 0x11BD], NFKC: [0xBB12], NFKD: [0x1106, 0x116C, 0x11BD] }, -{ source: [0xBB13], NFC: [0xBB13], NFD: [0x1106, 0x116C, 0x11BE], NFKC: [0xBB13], NFKD: [0x1106, 0x116C, 0x11BE] }, -{ source: [0xBB14], NFC: [0xBB14], NFD: [0x1106, 0x116C, 0x11BF], NFKC: [0xBB14], NFKD: [0x1106, 0x116C, 0x11BF] }, -{ source: [0xBB15], NFC: [0xBB15], NFD: [0x1106, 0x116C, 0x11C0], NFKC: [0xBB15], NFKD: [0x1106, 0x116C, 0x11C0] }, -{ source: [0xBB16], NFC: [0xBB16], NFD: [0x1106, 0x116C, 0x11C1], NFKC: [0xBB16], NFKD: [0x1106, 0x116C, 0x11C1] }, -{ source: [0xBB17], NFC: [0xBB17], NFD: [0x1106, 0x116C, 0x11C2], NFKC: [0xBB17], NFKD: [0x1106, 0x116C, 0x11C2] }, -{ source: [0xBB18], NFC: [0xBB18], NFD: [0x1106, 0x116D], NFKC: [0xBB18], NFKD: [0x1106, 0x116D] }, -{ source: [0xBB19], NFC: [0xBB19], NFD: [0x1106, 0x116D, 0x11A8], NFKC: [0xBB19], NFKD: [0x1106, 0x116D, 0x11A8] }, -{ source: [0xBB1A], NFC: [0xBB1A], NFD: [0x1106, 0x116D, 0x11A9], NFKC: [0xBB1A], NFKD: [0x1106, 0x116D, 0x11A9] }, -{ source: [0xBB1B], NFC: [0xBB1B], NFD: [0x1106, 0x116D, 0x11AA], NFKC: [0xBB1B], NFKD: [0x1106, 0x116D, 0x11AA] }, -{ source: [0xBB1C], NFC: [0xBB1C], NFD: [0x1106, 0x116D, 0x11AB], NFKC: [0xBB1C], NFKD: [0x1106, 0x116D, 0x11AB] }, -{ source: [0xBB1D], NFC: [0xBB1D], NFD: [0x1106, 0x116D, 0x11AC], NFKC: [0xBB1D], NFKD: [0x1106, 0x116D, 0x11AC] }, -{ source: [0xBB1E], NFC: [0xBB1E], NFD: [0x1106, 0x116D, 0x11AD], NFKC: [0xBB1E], NFKD: [0x1106, 0x116D, 0x11AD] }, -{ source: [0xBB1F], NFC: [0xBB1F], NFD: [0x1106, 0x116D, 0x11AE], NFKC: [0xBB1F], NFKD: [0x1106, 0x116D, 0x11AE] }, -{ source: [0xBB20], NFC: [0xBB20], NFD: [0x1106, 0x116D, 0x11AF], NFKC: [0xBB20], NFKD: [0x1106, 0x116D, 0x11AF] }, -{ source: [0xBB21], NFC: [0xBB21], NFD: [0x1106, 0x116D, 0x11B0], NFKC: [0xBB21], NFKD: [0x1106, 0x116D, 0x11B0] }, -{ source: [0xBB22], NFC: [0xBB22], NFD: [0x1106, 0x116D, 0x11B1], NFKC: [0xBB22], NFKD: [0x1106, 0x116D, 0x11B1] }, -{ source: [0xBB23], NFC: [0xBB23], NFD: [0x1106, 0x116D, 0x11B2], NFKC: [0xBB23], NFKD: [0x1106, 0x116D, 0x11B2] }, -{ source: [0xBB24], NFC: [0xBB24], NFD: [0x1106, 0x116D, 0x11B3], NFKC: [0xBB24], NFKD: [0x1106, 0x116D, 0x11B3] }, -{ source: [0xBB25], NFC: [0xBB25], NFD: [0x1106, 0x116D, 0x11B4], NFKC: [0xBB25], NFKD: [0x1106, 0x116D, 0x11B4] }, -{ source: [0xBB26], NFC: [0xBB26], NFD: [0x1106, 0x116D, 0x11B5], NFKC: [0xBB26], NFKD: [0x1106, 0x116D, 0x11B5] }, -{ source: [0xBB27], NFC: [0xBB27], NFD: [0x1106, 0x116D, 0x11B6], NFKC: [0xBB27], NFKD: [0x1106, 0x116D, 0x11B6] }, -{ source: [0xBB28], NFC: [0xBB28], NFD: [0x1106, 0x116D, 0x11B7], NFKC: [0xBB28], NFKD: [0x1106, 0x116D, 0x11B7] }, -{ source: [0xBB29], NFC: [0xBB29], NFD: [0x1106, 0x116D, 0x11B8], NFKC: [0xBB29], NFKD: [0x1106, 0x116D, 0x11B8] }, -{ source: [0xBB2A], NFC: [0xBB2A], NFD: [0x1106, 0x116D, 0x11B9], NFKC: [0xBB2A], NFKD: [0x1106, 0x116D, 0x11B9] }, -{ source: [0xBB2B], NFC: [0xBB2B], NFD: [0x1106, 0x116D, 0x11BA], NFKC: [0xBB2B], NFKD: [0x1106, 0x116D, 0x11BA] }, -{ source: [0xBB2C], NFC: [0xBB2C], NFD: [0x1106, 0x116D, 0x11BB], NFKC: [0xBB2C], NFKD: [0x1106, 0x116D, 0x11BB] }, -{ source: [0xBB2D], NFC: [0xBB2D], NFD: [0x1106, 0x116D, 0x11BC], NFKC: [0xBB2D], NFKD: [0x1106, 0x116D, 0x11BC] }, -{ source: [0xBB2E], NFC: [0xBB2E], NFD: [0x1106, 0x116D, 0x11BD], NFKC: [0xBB2E], NFKD: [0x1106, 0x116D, 0x11BD] }, -{ source: [0xBB2F], NFC: [0xBB2F], NFD: [0x1106, 0x116D, 0x11BE], NFKC: [0xBB2F], NFKD: [0x1106, 0x116D, 0x11BE] }, -{ source: [0xBB30], NFC: [0xBB30], NFD: [0x1106, 0x116D, 0x11BF], NFKC: [0xBB30], NFKD: [0x1106, 0x116D, 0x11BF] }, -{ source: [0xBB31], NFC: [0xBB31], NFD: [0x1106, 0x116D, 0x11C0], NFKC: [0xBB31], NFKD: [0x1106, 0x116D, 0x11C0] }, -{ source: [0xBB32], NFC: [0xBB32], NFD: [0x1106, 0x116D, 0x11C1], NFKC: [0xBB32], NFKD: [0x1106, 0x116D, 0x11C1] }, -{ source: [0xBB33], NFC: [0xBB33], NFD: [0x1106, 0x116D, 0x11C2], NFKC: [0xBB33], NFKD: [0x1106, 0x116D, 0x11C2] }, -{ source: [0xBB34], NFC: [0xBB34], NFD: [0x1106, 0x116E], NFKC: [0xBB34], NFKD: [0x1106, 0x116E] }, -{ source: [0xBB35], NFC: [0xBB35], NFD: [0x1106, 0x116E, 0x11A8], NFKC: [0xBB35], NFKD: [0x1106, 0x116E, 0x11A8] }, -{ source: [0xBB36], NFC: [0xBB36], NFD: [0x1106, 0x116E, 0x11A9], NFKC: [0xBB36], NFKD: [0x1106, 0x116E, 0x11A9] }, -{ source: [0xBB37], NFC: [0xBB37], NFD: [0x1106, 0x116E, 0x11AA], NFKC: [0xBB37], NFKD: [0x1106, 0x116E, 0x11AA] }, -{ source: [0xBB38], NFC: [0xBB38], NFD: [0x1106, 0x116E, 0x11AB], NFKC: [0xBB38], NFKD: [0x1106, 0x116E, 0x11AB] }, -{ source: [0xBB39], NFC: [0xBB39], NFD: [0x1106, 0x116E, 0x11AC], NFKC: [0xBB39], NFKD: [0x1106, 0x116E, 0x11AC] }, -{ source: [0xBB3A], NFC: [0xBB3A], NFD: [0x1106, 0x116E, 0x11AD], NFKC: [0xBB3A], NFKD: [0x1106, 0x116E, 0x11AD] }, -{ source: [0xBB3B], NFC: [0xBB3B], NFD: [0x1106, 0x116E, 0x11AE], NFKC: [0xBB3B], NFKD: [0x1106, 0x116E, 0x11AE] }, -{ source: [0xBB3C], NFC: [0xBB3C], NFD: [0x1106, 0x116E, 0x11AF], NFKC: [0xBB3C], NFKD: [0x1106, 0x116E, 0x11AF] }, -{ source: [0xBB3D], NFC: [0xBB3D], NFD: [0x1106, 0x116E, 0x11B0], NFKC: [0xBB3D], NFKD: [0x1106, 0x116E, 0x11B0] }, -{ source: [0xBB3E], NFC: [0xBB3E], NFD: [0x1106, 0x116E, 0x11B1], NFKC: [0xBB3E], NFKD: [0x1106, 0x116E, 0x11B1] }, -{ source: [0xBB3F], NFC: [0xBB3F], NFD: [0x1106, 0x116E, 0x11B2], NFKC: [0xBB3F], NFKD: [0x1106, 0x116E, 0x11B2] }, -{ source: [0xBB40], NFC: [0xBB40], NFD: [0x1106, 0x116E, 0x11B3], NFKC: [0xBB40], NFKD: [0x1106, 0x116E, 0x11B3] }, -{ source: [0xBB41], NFC: [0xBB41], NFD: [0x1106, 0x116E, 0x11B4], NFKC: [0xBB41], NFKD: [0x1106, 0x116E, 0x11B4] }, -{ source: [0xBB42], NFC: [0xBB42], NFD: [0x1106, 0x116E, 0x11B5], NFKC: [0xBB42], NFKD: [0x1106, 0x116E, 0x11B5] }, -{ source: [0xBB43], NFC: [0xBB43], NFD: [0x1106, 0x116E, 0x11B6], NFKC: [0xBB43], NFKD: [0x1106, 0x116E, 0x11B6] }, -{ source: [0xBB44], NFC: [0xBB44], NFD: [0x1106, 0x116E, 0x11B7], NFKC: [0xBB44], NFKD: [0x1106, 0x116E, 0x11B7] }, -{ source: [0xBB45], NFC: [0xBB45], NFD: [0x1106, 0x116E, 0x11B8], NFKC: [0xBB45], NFKD: [0x1106, 0x116E, 0x11B8] }, -{ source: [0xBB46], NFC: [0xBB46], NFD: [0x1106, 0x116E, 0x11B9], NFKC: [0xBB46], NFKD: [0x1106, 0x116E, 0x11B9] }, -{ source: [0xBB47], NFC: [0xBB47], NFD: [0x1106, 0x116E, 0x11BA], NFKC: [0xBB47], NFKD: [0x1106, 0x116E, 0x11BA] }, -{ source: [0xBB48], NFC: [0xBB48], NFD: [0x1106, 0x116E, 0x11BB], NFKC: [0xBB48], NFKD: [0x1106, 0x116E, 0x11BB] }, -{ source: [0xBB49], NFC: [0xBB49], NFD: [0x1106, 0x116E, 0x11BC], NFKC: [0xBB49], NFKD: [0x1106, 0x116E, 0x11BC] }, -{ source: [0xBB4A], NFC: [0xBB4A], NFD: [0x1106, 0x116E, 0x11BD], NFKC: [0xBB4A], NFKD: [0x1106, 0x116E, 0x11BD] }, -{ source: [0xBB4B], NFC: [0xBB4B], NFD: [0x1106, 0x116E, 0x11BE], NFKC: [0xBB4B], NFKD: [0x1106, 0x116E, 0x11BE] }, -{ source: [0xBB4C], NFC: [0xBB4C], NFD: [0x1106, 0x116E, 0x11BF], NFKC: [0xBB4C], NFKD: [0x1106, 0x116E, 0x11BF] }, -{ source: [0xBB4D], NFC: [0xBB4D], NFD: [0x1106, 0x116E, 0x11C0], NFKC: [0xBB4D], NFKD: [0x1106, 0x116E, 0x11C0] }, -{ source: [0xBB4E], NFC: [0xBB4E], NFD: [0x1106, 0x116E, 0x11C1], NFKC: [0xBB4E], NFKD: [0x1106, 0x116E, 0x11C1] }, -{ source: [0xBB4F], NFC: [0xBB4F], NFD: [0x1106, 0x116E, 0x11C2], NFKC: [0xBB4F], NFKD: [0x1106, 0x116E, 0x11C2] }, -{ source: [0xBB50], NFC: [0xBB50], NFD: [0x1106, 0x116F], NFKC: [0xBB50], NFKD: [0x1106, 0x116F] }, -{ source: [0xBB51], NFC: [0xBB51], NFD: [0x1106, 0x116F, 0x11A8], NFKC: [0xBB51], NFKD: [0x1106, 0x116F, 0x11A8] }, -{ source: [0xBB52], NFC: [0xBB52], NFD: [0x1106, 0x116F, 0x11A9], NFKC: [0xBB52], NFKD: [0x1106, 0x116F, 0x11A9] }, -{ source: [0xBB53], NFC: [0xBB53], NFD: [0x1106, 0x116F, 0x11AA], NFKC: [0xBB53], NFKD: [0x1106, 0x116F, 0x11AA] }, -{ source: [0xBB54], NFC: [0xBB54], NFD: [0x1106, 0x116F, 0x11AB], NFKC: [0xBB54], NFKD: [0x1106, 0x116F, 0x11AB] }, -{ source: [0xBB55], NFC: [0xBB55], NFD: [0x1106, 0x116F, 0x11AC], NFKC: [0xBB55], NFKD: [0x1106, 0x116F, 0x11AC] }, -{ source: [0xBB56], NFC: [0xBB56], NFD: [0x1106, 0x116F, 0x11AD], NFKC: [0xBB56], NFKD: [0x1106, 0x116F, 0x11AD] }, -{ source: [0xBB57], NFC: [0xBB57], NFD: [0x1106, 0x116F, 0x11AE], NFKC: [0xBB57], NFKD: [0x1106, 0x116F, 0x11AE] }, -{ source: [0xBB58], NFC: [0xBB58], NFD: [0x1106, 0x116F, 0x11AF], NFKC: [0xBB58], NFKD: [0x1106, 0x116F, 0x11AF] }, -{ source: [0xBB59], NFC: [0xBB59], NFD: [0x1106, 0x116F, 0x11B0], NFKC: [0xBB59], NFKD: [0x1106, 0x116F, 0x11B0] }, -{ source: [0xBB5A], NFC: [0xBB5A], NFD: [0x1106, 0x116F, 0x11B1], NFKC: [0xBB5A], NFKD: [0x1106, 0x116F, 0x11B1] }, -{ source: [0xBB5B], NFC: [0xBB5B], NFD: [0x1106, 0x116F, 0x11B2], NFKC: [0xBB5B], NFKD: [0x1106, 0x116F, 0x11B2] }, -{ source: [0xBB5C], NFC: [0xBB5C], NFD: [0x1106, 0x116F, 0x11B3], NFKC: [0xBB5C], NFKD: [0x1106, 0x116F, 0x11B3] }, -{ source: [0xBB5D], NFC: [0xBB5D], NFD: [0x1106, 0x116F, 0x11B4], NFKC: [0xBB5D], NFKD: [0x1106, 0x116F, 0x11B4] }, -{ source: [0xBB5E], NFC: [0xBB5E], NFD: [0x1106, 0x116F, 0x11B5], NFKC: [0xBB5E], NFKD: [0x1106, 0x116F, 0x11B5] }, -{ source: [0xBB5F], NFC: [0xBB5F], NFD: [0x1106, 0x116F, 0x11B6], NFKC: [0xBB5F], NFKD: [0x1106, 0x116F, 0x11B6] }, -{ source: [0xBB60], NFC: [0xBB60], NFD: [0x1106, 0x116F, 0x11B7], NFKC: [0xBB60], NFKD: [0x1106, 0x116F, 0x11B7] }, -{ source: [0xBB61], NFC: [0xBB61], NFD: [0x1106, 0x116F, 0x11B8], NFKC: [0xBB61], NFKD: [0x1106, 0x116F, 0x11B8] }, -{ source: [0xBB62], NFC: [0xBB62], NFD: [0x1106, 0x116F, 0x11B9], NFKC: [0xBB62], NFKD: [0x1106, 0x116F, 0x11B9] }, -{ source: [0xBB63], NFC: [0xBB63], NFD: [0x1106, 0x116F, 0x11BA], NFKC: [0xBB63], NFKD: [0x1106, 0x116F, 0x11BA] }, -{ source: [0xBB64], NFC: [0xBB64], NFD: [0x1106, 0x116F, 0x11BB], NFKC: [0xBB64], NFKD: [0x1106, 0x116F, 0x11BB] }, -{ source: [0xBB65], NFC: [0xBB65], NFD: [0x1106, 0x116F, 0x11BC], NFKC: [0xBB65], NFKD: [0x1106, 0x116F, 0x11BC] }, -{ source: [0xBB66], NFC: [0xBB66], NFD: [0x1106, 0x116F, 0x11BD], NFKC: [0xBB66], NFKD: [0x1106, 0x116F, 0x11BD] }, -{ source: [0xBB67], NFC: [0xBB67], NFD: [0x1106, 0x116F, 0x11BE], NFKC: [0xBB67], NFKD: [0x1106, 0x116F, 0x11BE] }, -{ source: [0xBB68], NFC: [0xBB68], NFD: [0x1106, 0x116F, 0x11BF], NFKC: [0xBB68], NFKD: [0x1106, 0x116F, 0x11BF] }, -{ source: [0xBB69], NFC: [0xBB69], NFD: [0x1106, 0x116F, 0x11C0], NFKC: [0xBB69], NFKD: [0x1106, 0x116F, 0x11C0] }, -{ source: [0xBB6A], NFC: [0xBB6A], NFD: [0x1106, 0x116F, 0x11C1], NFKC: [0xBB6A], NFKD: [0x1106, 0x116F, 0x11C1] }, -{ source: [0xBB6B], NFC: [0xBB6B], NFD: [0x1106, 0x116F, 0x11C2], NFKC: [0xBB6B], NFKD: [0x1106, 0x116F, 0x11C2] }, -{ source: [0xBB6C], NFC: [0xBB6C], NFD: [0x1106, 0x1170], NFKC: [0xBB6C], NFKD: [0x1106, 0x1170] }, -{ source: [0xBB6D], NFC: [0xBB6D], NFD: [0x1106, 0x1170, 0x11A8], NFKC: [0xBB6D], NFKD: [0x1106, 0x1170, 0x11A8] }, -{ source: [0xBB6E], NFC: [0xBB6E], NFD: [0x1106, 0x1170, 0x11A9], NFKC: [0xBB6E], NFKD: [0x1106, 0x1170, 0x11A9] }, -{ source: [0xBB6F], NFC: [0xBB6F], NFD: [0x1106, 0x1170, 0x11AA], NFKC: [0xBB6F], NFKD: [0x1106, 0x1170, 0x11AA] }, -{ source: [0xBB70], NFC: [0xBB70], NFD: [0x1106, 0x1170, 0x11AB], NFKC: [0xBB70], NFKD: [0x1106, 0x1170, 0x11AB] }, -{ source: [0xBB71], NFC: [0xBB71], NFD: [0x1106, 0x1170, 0x11AC], NFKC: [0xBB71], NFKD: [0x1106, 0x1170, 0x11AC] }, -{ source: [0xBB72], NFC: [0xBB72], NFD: [0x1106, 0x1170, 0x11AD], NFKC: [0xBB72], NFKD: [0x1106, 0x1170, 0x11AD] }, -{ source: [0xBB73], NFC: [0xBB73], NFD: [0x1106, 0x1170, 0x11AE], NFKC: [0xBB73], NFKD: [0x1106, 0x1170, 0x11AE] }, -{ source: [0xBB74], NFC: [0xBB74], NFD: [0x1106, 0x1170, 0x11AF], NFKC: [0xBB74], NFKD: [0x1106, 0x1170, 0x11AF] }, -{ source: [0xBB75], NFC: [0xBB75], NFD: [0x1106, 0x1170, 0x11B0], NFKC: [0xBB75], NFKD: [0x1106, 0x1170, 0x11B0] }, -{ source: [0xBB76], NFC: [0xBB76], NFD: [0x1106, 0x1170, 0x11B1], NFKC: [0xBB76], NFKD: [0x1106, 0x1170, 0x11B1] }, -{ source: [0xBB77], NFC: [0xBB77], NFD: [0x1106, 0x1170, 0x11B2], NFKC: [0xBB77], NFKD: [0x1106, 0x1170, 0x11B2] }, -{ source: [0xBB78], NFC: [0xBB78], NFD: [0x1106, 0x1170, 0x11B3], NFKC: [0xBB78], NFKD: [0x1106, 0x1170, 0x11B3] }, -{ source: [0xBB79], NFC: [0xBB79], NFD: [0x1106, 0x1170, 0x11B4], NFKC: [0xBB79], NFKD: [0x1106, 0x1170, 0x11B4] }, -{ source: [0xBB7A], NFC: [0xBB7A], NFD: [0x1106, 0x1170, 0x11B5], NFKC: [0xBB7A], NFKD: [0x1106, 0x1170, 0x11B5] }, -{ source: [0xBB7B], NFC: [0xBB7B], NFD: [0x1106, 0x1170, 0x11B6], NFKC: [0xBB7B], NFKD: [0x1106, 0x1170, 0x11B6] }, -{ source: [0xBB7C], NFC: [0xBB7C], NFD: [0x1106, 0x1170, 0x11B7], NFKC: [0xBB7C], NFKD: [0x1106, 0x1170, 0x11B7] }, -{ source: [0xBB7D], NFC: [0xBB7D], NFD: [0x1106, 0x1170, 0x11B8], NFKC: [0xBB7D], NFKD: [0x1106, 0x1170, 0x11B8] }, -{ source: [0xBB7E], NFC: [0xBB7E], NFD: [0x1106, 0x1170, 0x11B9], NFKC: [0xBB7E], NFKD: [0x1106, 0x1170, 0x11B9] }, -{ source: [0xBB7F], NFC: [0xBB7F], NFD: [0x1106, 0x1170, 0x11BA], NFKC: [0xBB7F], NFKD: [0x1106, 0x1170, 0x11BA] }, -{ source: [0xBB80], NFC: [0xBB80], NFD: [0x1106, 0x1170, 0x11BB], NFKC: [0xBB80], NFKD: [0x1106, 0x1170, 0x11BB] }, -{ source: [0xBB81], NFC: [0xBB81], NFD: [0x1106, 0x1170, 0x11BC], NFKC: [0xBB81], NFKD: [0x1106, 0x1170, 0x11BC] }, -{ source: [0xBB82], NFC: [0xBB82], NFD: [0x1106, 0x1170, 0x11BD], NFKC: [0xBB82], NFKD: [0x1106, 0x1170, 0x11BD] }, -{ source: [0xBB83], NFC: [0xBB83], NFD: [0x1106, 0x1170, 0x11BE], NFKC: [0xBB83], NFKD: [0x1106, 0x1170, 0x11BE] }, -{ source: [0xBB84], NFC: [0xBB84], NFD: [0x1106, 0x1170, 0x11BF], NFKC: [0xBB84], NFKD: [0x1106, 0x1170, 0x11BF] }, -{ source: [0xBB85], NFC: [0xBB85], NFD: [0x1106, 0x1170, 0x11C0], NFKC: [0xBB85], NFKD: [0x1106, 0x1170, 0x11C0] }, -{ source: [0xBB86], NFC: [0xBB86], NFD: [0x1106, 0x1170, 0x11C1], NFKC: [0xBB86], NFKD: [0x1106, 0x1170, 0x11C1] }, -{ source: [0xBB87], NFC: [0xBB87], NFD: [0x1106, 0x1170, 0x11C2], NFKC: [0xBB87], NFKD: [0x1106, 0x1170, 0x11C2] }, -{ source: [0xBB88], NFC: [0xBB88], NFD: [0x1106, 0x1171], NFKC: [0xBB88], NFKD: [0x1106, 0x1171] }, -{ source: [0xBB89], NFC: [0xBB89], NFD: [0x1106, 0x1171, 0x11A8], NFKC: [0xBB89], NFKD: [0x1106, 0x1171, 0x11A8] }, -{ source: [0xBB8A], NFC: [0xBB8A], NFD: [0x1106, 0x1171, 0x11A9], NFKC: [0xBB8A], NFKD: [0x1106, 0x1171, 0x11A9] }, -{ source: [0xBB8B], NFC: [0xBB8B], NFD: [0x1106, 0x1171, 0x11AA], NFKC: [0xBB8B], NFKD: [0x1106, 0x1171, 0x11AA] }, -{ source: [0xBB8C], NFC: [0xBB8C], NFD: [0x1106, 0x1171, 0x11AB], NFKC: [0xBB8C], NFKD: [0x1106, 0x1171, 0x11AB] }, -{ source: [0xBB8D], NFC: [0xBB8D], NFD: [0x1106, 0x1171, 0x11AC], NFKC: [0xBB8D], NFKD: [0x1106, 0x1171, 0x11AC] }, -{ source: [0xBB8E], NFC: [0xBB8E], NFD: [0x1106, 0x1171, 0x11AD], NFKC: [0xBB8E], NFKD: [0x1106, 0x1171, 0x11AD] }, -{ source: [0xBB8F], NFC: [0xBB8F], NFD: [0x1106, 0x1171, 0x11AE], NFKC: [0xBB8F], NFKD: [0x1106, 0x1171, 0x11AE] }, -{ source: [0xBB90], NFC: [0xBB90], NFD: [0x1106, 0x1171, 0x11AF], NFKC: [0xBB90], NFKD: [0x1106, 0x1171, 0x11AF] }, -{ source: [0xBB91], NFC: [0xBB91], NFD: [0x1106, 0x1171, 0x11B0], NFKC: [0xBB91], NFKD: [0x1106, 0x1171, 0x11B0] }, -{ source: [0xBB92], NFC: [0xBB92], NFD: [0x1106, 0x1171, 0x11B1], NFKC: [0xBB92], NFKD: [0x1106, 0x1171, 0x11B1] }, -{ source: [0xBB93], NFC: [0xBB93], NFD: [0x1106, 0x1171, 0x11B2], NFKC: [0xBB93], NFKD: [0x1106, 0x1171, 0x11B2] }, -{ source: [0xBB94], NFC: [0xBB94], NFD: [0x1106, 0x1171, 0x11B3], NFKC: [0xBB94], NFKD: [0x1106, 0x1171, 0x11B3] }, -{ source: [0xBB95], NFC: [0xBB95], NFD: [0x1106, 0x1171, 0x11B4], NFKC: [0xBB95], NFKD: [0x1106, 0x1171, 0x11B4] }, -{ source: [0xBB96], NFC: [0xBB96], NFD: [0x1106, 0x1171, 0x11B5], NFKC: [0xBB96], NFKD: [0x1106, 0x1171, 0x11B5] }, -{ source: [0xBB97], NFC: [0xBB97], NFD: [0x1106, 0x1171, 0x11B6], NFKC: [0xBB97], NFKD: [0x1106, 0x1171, 0x11B6] }, -{ source: [0xBB98], NFC: [0xBB98], NFD: [0x1106, 0x1171, 0x11B7], NFKC: [0xBB98], NFKD: [0x1106, 0x1171, 0x11B7] }, -{ source: [0xBB99], NFC: [0xBB99], NFD: [0x1106, 0x1171, 0x11B8], NFKC: [0xBB99], NFKD: [0x1106, 0x1171, 0x11B8] }, -{ source: [0xBB9A], NFC: [0xBB9A], NFD: [0x1106, 0x1171, 0x11B9], NFKC: [0xBB9A], NFKD: [0x1106, 0x1171, 0x11B9] }, -{ source: [0xBB9B], NFC: [0xBB9B], NFD: [0x1106, 0x1171, 0x11BA], NFKC: [0xBB9B], NFKD: [0x1106, 0x1171, 0x11BA] }, -{ source: [0xBB9C], NFC: [0xBB9C], NFD: [0x1106, 0x1171, 0x11BB], NFKC: [0xBB9C], NFKD: [0x1106, 0x1171, 0x11BB] }, -{ source: [0xBB9D], NFC: [0xBB9D], NFD: [0x1106, 0x1171, 0x11BC], NFKC: [0xBB9D], NFKD: [0x1106, 0x1171, 0x11BC] }, -{ source: [0xBB9E], NFC: [0xBB9E], NFD: [0x1106, 0x1171, 0x11BD], NFKC: [0xBB9E], NFKD: [0x1106, 0x1171, 0x11BD] }, -{ source: [0xBB9F], NFC: [0xBB9F], NFD: [0x1106, 0x1171, 0x11BE], NFKC: [0xBB9F], NFKD: [0x1106, 0x1171, 0x11BE] }, -{ source: [0xBBA0], NFC: [0xBBA0], NFD: [0x1106, 0x1171, 0x11BF], NFKC: [0xBBA0], NFKD: [0x1106, 0x1171, 0x11BF] }, -{ source: [0xBBA1], NFC: [0xBBA1], NFD: [0x1106, 0x1171, 0x11C0], NFKC: [0xBBA1], NFKD: [0x1106, 0x1171, 0x11C0] }, -{ source: [0xBBA2], NFC: [0xBBA2], NFD: [0x1106, 0x1171, 0x11C1], NFKC: [0xBBA2], NFKD: [0x1106, 0x1171, 0x11C1] }, -{ source: [0xBBA3], NFC: [0xBBA3], NFD: [0x1106, 0x1171, 0x11C2], NFKC: [0xBBA3], NFKD: [0x1106, 0x1171, 0x11C2] }, -{ source: [0xBBA4], NFC: [0xBBA4], NFD: [0x1106, 0x1172], NFKC: [0xBBA4], NFKD: [0x1106, 0x1172] }, -{ source: [0xBBA5], NFC: [0xBBA5], NFD: [0x1106, 0x1172, 0x11A8], NFKC: [0xBBA5], NFKD: [0x1106, 0x1172, 0x11A8] }, -{ source: [0xBBA6], NFC: [0xBBA6], NFD: [0x1106, 0x1172, 0x11A9], NFKC: [0xBBA6], NFKD: [0x1106, 0x1172, 0x11A9] }, -{ source: [0xBBA7], NFC: [0xBBA7], NFD: [0x1106, 0x1172, 0x11AA], NFKC: [0xBBA7], NFKD: [0x1106, 0x1172, 0x11AA] }, -{ source: [0xBBA8], NFC: [0xBBA8], NFD: [0x1106, 0x1172, 0x11AB], NFKC: [0xBBA8], NFKD: [0x1106, 0x1172, 0x11AB] }, -{ source: [0xBBA9], NFC: [0xBBA9], NFD: [0x1106, 0x1172, 0x11AC], NFKC: [0xBBA9], NFKD: [0x1106, 0x1172, 0x11AC] }, -{ source: [0xBBAA], NFC: [0xBBAA], NFD: [0x1106, 0x1172, 0x11AD], NFKC: [0xBBAA], NFKD: [0x1106, 0x1172, 0x11AD] }, -{ source: [0xBBAB], NFC: [0xBBAB], NFD: [0x1106, 0x1172, 0x11AE], NFKC: [0xBBAB], NFKD: [0x1106, 0x1172, 0x11AE] }, -{ source: [0xBBAC], NFC: [0xBBAC], NFD: [0x1106, 0x1172, 0x11AF], NFKC: [0xBBAC], NFKD: [0x1106, 0x1172, 0x11AF] }, -{ source: [0xBBAD], NFC: [0xBBAD], NFD: [0x1106, 0x1172, 0x11B0], NFKC: [0xBBAD], NFKD: [0x1106, 0x1172, 0x11B0] }, -{ source: [0xBBAE], NFC: [0xBBAE], NFD: [0x1106, 0x1172, 0x11B1], NFKC: [0xBBAE], NFKD: [0x1106, 0x1172, 0x11B1] }, -{ source: [0xBBAF], NFC: [0xBBAF], NFD: [0x1106, 0x1172, 0x11B2], NFKC: [0xBBAF], NFKD: [0x1106, 0x1172, 0x11B2] }, -{ source: [0xBBB0], NFC: [0xBBB0], NFD: [0x1106, 0x1172, 0x11B3], NFKC: [0xBBB0], NFKD: [0x1106, 0x1172, 0x11B3] }, -{ source: [0xBBB1], NFC: [0xBBB1], NFD: [0x1106, 0x1172, 0x11B4], NFKC: [0xBBB1], NFKD: [0x1106, 0x1172, 0x11B4] }, -{ source: [0xBBB2], NFC: [0xBBB2], NFD: [0x1106, 0x1172, 0x11B5], NFKC: [0xBBB2], NFKD: [0x1106, 0x1172, 0x11B5] }, -{ source: [0xBBB3], NFC: [0xBBB3], NFD: [0x1106, 0x1172, 0x11B6], NFKC: [0xBBB3], NFKD: [0x1106, 0x1172, 0x11B6] }, -{ source: [0xBBB4], NFC: [0xBBB4], NFD: [0x1106, 0x1172, 0x11B7], NFKC: [0xBBB4], NFKD: [0x1106, 0x1172, 0x11B7] }, -{ source: [0xBBB5], NFC: [0xBBB5], NFD: [0x1106, 0x1172, 0x11B8], NFKC: [0xBBB5], NFKD: [0x1106, 0x1172, 0x11B8] }, -{ source: [0xBBB6], NFC: [0xBBB6], NFD: [0x1106, 0x1172, 0x11B9], NFKC: [0xBBB6], NFKD: [0x1106, 0x1172, 0x11B9] }, -{ source: [0xBBB7], NFC: [0xBBB7], NFD: [0x1106, 0x1172, 0x11BA], NFKC: [0xBBB7], NFKD: [0x1106, 0x1172, 0x11BA] }, -{ source: [0xBBB8], NFC: [0xBBB8], NFD: [0x1106, 0x1172, 0x11BB], NFKC: [0xBBB8], NFKD: [0x1106, 0x1172, 0x11BB] }, -{ source: [0xBBB9], NFC: [0xBBB9], NFD: [0x1106, 0x1172, 0x11BC], NFKC: [0xBBB9], NFKD: [0x1106, 0x1172, 0x11BC] }, -{ source: [0xBBBA], NFC: [0xBBBA], NFD: [0x1106, 0x1172, 0x11BD], NFKC: [0xBBBA], NFKD: [0x1106, 0x1172, 0x11BD] }, -{ source: [0xBBBB], NFC: [0xBBBB], NFD: [0x1106, 0x1172, 0x11BE], NFKC: [0xBBBB], NFKD: [0x1106, 0x1172, 0x11BE] }, -{ source: [0xBBBC], NFC: [0xBBBC], NFD: [0x1106, 0x1172, 0x11BF], NFKC: [0xBBBC], NFKD: [0x1106, 0x1172, 0x11BF] }, -{ source: [0xBBBD], NFC: [0xBBBD], NFD: [0x1106, 0x1172, 0x11C0], NFKC: [0xBBBD], NFKD: [0x1106, 0x1172, 0x11C0] }, -{ source: [0xBBBE], NFC: [0xBBBE], NFD: [0x1106, 0x1172, 0x11C1], NFKC: [0xBBBE], NFKD: [0x1106, 0x1172, 0x11C1] }, -{ source: [0xBBBF], NFC: [0xBBBF], NFD: [0x1106, 0x1172, 0x11C2], NFKC: [0xBBBF], NFKD: [0x1106, 0x1172, 0x11C2] }, -{ source: [0xBBC0], NFC: [0xBBC0], NFD: [0x1106, 0x1173], NFKC: [0xBBC0], NFKD: [0x1106, 0x1173] }, -{ source: [0xBBC1], NFC: [0xBBC1], NFD: [0x1106, 0x1173, 0x11A8], NFKC: [0xBBC1], NFKD: [0x1106, 0x1173, 0x11A8] }, -{ source: [0xBBC2], NFC: [0xBBC2], NFD: [0x1106, 0x1173, 0x11A9], NFKC: [0xBBC2], NFKD: [0x1106, 0x1173, 0x11A9] }, -{ source: [0xBBC3], NFC: [0xBBC3], NFD: [0x1106, 0x1173, 0x11AA], NFKC: [0xBBC3], NFKD: [0x1106, 0x1173, 0x11AA] }, -{ source: [0xBBC4], NFC: [0xBBC4], NFD: [0x1106, 0x1173, 0x11AB], NFKC: [0xBBC4], NFKD: [0x1106, 0x1173, 0x11AB] }, -{ source: [0xBBC5], NFC: [0xBBC5], NFD: [0x1106, 0x1173, 0x11AC], NFKC: [0xBBC5], NFKD: [0x1106, 0x1173, 0x11AC] }, -{ source: [0xBBC6], NFC: [0xBBC6], NFD: [0x1106, 0x1173, 0x11AD], NFKC: [0xBBC6], NFKD: [0x1106, 0x1173, 0x11AD] }, -{ source: [0xBBC7], NFC: [0xBBC7], NFD: [0x1106, 0x1173, 0x11AE], NFKC: [0xBBC7], NFKD: [0x1106, 0x1173, 0x11AE] }, -{ source: [0xBBC8], NFC: [0xBBC8], NFD: [0x1106, 0x1173, 0x11AF], NFKC: [0xBBC8], NFKD: [0x1106, 0x1173, 0x11AF] }, -{ source: [0xBBC9], NFC: [0xBBC9], NFD: [0x1106, 0x1173, 0x11B0], NFKC: [0xBBC9], NFKD: [0x1106, 0x1173, 0x11B0] }, -{ source: [0xBBCA], NFC: [0xBBCA], NFD: [0x1106, 0x1173, 0x11B1], NFKC: [0xBBCA], NFKD: [0x1106, 0x1173, 0x11B1] }, -{ source: [0xBBCB], NFC: [0xBBCB], NFD: [0x1106, 0x1173, 0x11B2], NFKC: [0xBBCB], NFKD: [0x1106, 0x1173, 0x11B2] }, -{ source: [0xBBCC], NFC: [0xBBCC], NFD: [0x1106, 0x1173, 0x11B3], NFKC: [0xBBCC], NFKD: [0x1106, 0x1173, 0x11B3] }, -{ source: [0xBBCD], NFC: [0xBBCD], NFD: [0x1106, 0x1173, 0x11B4], NFKC: [0xBBCD], NFKD: [0x1106, 0x1173, 0x11B4] }, -{ source: [0xBBCE], NFC: [0xBBCE], NFD: [0x1106, 0x1173, 0x11B5], NFKC: [0xBBCE], NFKD: [0x1106, 0x1173, 0x11B5] }, -{ source: [0xBBCF], NFC: [0xBBCF], NFD: [0x1106, 0x1173, 0x11B6], NFKC: [0xBBCF], NFKD: [0x1106, 0x1173, 0x11B6] }, -{ source: [0xBBD0], NFC: [0xBBD0], NFD: [0x1106, 0x1173, 0x11B7], NFKC: [0xBBD0], NFKD: [0x1106, 0x1173, 0x11B7] }, -{ source: [0xBBD1], NFC: [0xBBD1], NFD: [0x1106, 0x1173, 0x11B8], NFKC: [0xBBD1], NFKD: [0x1106, 0x1173, 0x11B8] }, -{ source: [0xBBD2], NFC: [0xBBD2], NFD: [0x1106, 0x1173, 0x11B9], NFKC: [0xBBD2], NFKD: [0x1106, 0x1173, 0x11B9] }, -{ source: [0xBBD3], NFC: [0xBBD3], NFD: [0x1106, 0x1173, 0x11BA], NFKC: [0xBBD3], NFKD: [0x1106, 0x1173, 0x11BA] }, -{ source: [0xBBD4], NFC: [0xBBD4], NFD: [0x1106, 0x1173, 0x11BB], NFKC: [0xBBD4], NFKD: [0x1106, 0x1173, 0x11BB] }, -{ source: [0xBBD5], NFC: [0xBBD5], NFD: [0x1106, 0x1173, 0x11BC], NFKC: [0xBBD5], NFKD: [0x1106, 0x1173, 0x11BC] }, -{ source: [0xBBD6], NFC: [0xBBD6], NFD: [0x1106, 0x1173, 0x11BD], NFKC: [0xBBD6], NFKD: [0x1106, 0x1173, 0x11BD] }, -{ source: [0xBBD7], NFC: [0xBBD7], NFD: [0x1106, 0x1173, 0x11BE], NFKC: [0xBBD7], NFKD: [0x1106, 0x1173, 0x11BE] }, -{ source: [0xBBD8], NFC: [0xBBD8], NFD: [0x1106, 0x1173, 0x11BF], NFKC: [0xBBD8], NFKD: [0x1106, 0x1173, 0x11BF] }, -{ source: [0xBBD9], NFC: [0xBBD9], NFD: [0x1106, 0x1173, 0x11C0], NFKC: [0xBBD9], NFKD: [0x1106, 0x1173, 0x11C0] }, -{ source: [0xBBDA], NFC: [0xBBDA], NFD: [0x1106, 0x1173, 0x11C1], NFKC: [0xBBDA], NFKD: [0x1106, 0x1173, 0x11C1] }, -{ source: [0xBBDB], NFC: [0xBBDB], NFD: [0x1106, 0x1173, 0x11C2], NFKC: [0xBBDB], NFKD: [0x1106, 0x1173, 0x11C2] }, -{ source: [0xBBDC], NFC: [0xBBDC], NFD: [0x1106, 0x1174], NFKC: [0xBBDC], NFKD: [0x1106, 0x1174] }, -{ source: [0xBBDD], NFC: [0xBBDD], NFD: [0x1106, 0x1174, 0x11A8], NFKC: [0xBBDD], NFKD: [0x1106, 0x1174, 0x11A8] }, -{ source: [0xBBDE], NFC: [0xBBDE], NFD: [0x1106, 0x1174, 0x11A9], NFKC: [0xBBDE], NFKD: [0x1106, 0x1174, 0x11A9] }, -{ source: [0xBBDF], NFC: [0xBBDF], NFD: [0x1106, 0x1174, 0x11AA], NFKC: [0xBBDF], NFKD: [0x1106, 0x1174, 0x11AA] }, -{ source: [0xBBE0], NFC: [0xBBE0], NFD: [0x1106, 0x1174, 0x11AB], NFKC: [0xBBE0], NFKD: [0x1106, 0x1174, 0x11AB] }, -{ source: [0xBBE1], NFC: [0xBBE1], NFD: [0x1106, 0x1174, 0x11AC], NFKC: [0xBBE1], NFKD: [0x1106, 0x1174, 0x11AC] }, -{ source: [0xBBE2], NFC: [0xBBE2], NFD: [0x1106, 0x1174, 0x11AD], NFKC: [0xBBE2], NFKD: [0x1106, 0x1174, 0x11AD] }, -{ source: [0xBBE3], NFC: [0xBBE3], NFD: [0x1106, 0x1174, 0x11AE], NFKC: [0xBBE3], NFKD: [0x1106, 0x1174, 0x11AE] }, -{ source: [0xBBE4], NFC: [0xBBE4], NFD: [0x1106, 0x1174, 0x11AF], NFKC: [0xBBE4], NFKD: [0x1106, 0x1174, 0x11AF] }, -{ source: [0xBBE5], NFC: [0xBBE5], NFD: [0x1106, 0x1174, 0x11B0], NFKC: [0xBBE5], NFKD: [0x1106, 0x1174, 0x11B0] }, -{ source: [0xBBE6], NFC: [0xBBE6], NFD: [0x1106, 0x1174, 0x11B1], NFKC: [0xBBE6], NFKD: [0x1106, 0x1174, 0x11B1] }, -{ source: [0xBBE7], NFC: [0xBBE7], NFD: [0x1106, 0x1174, 0x11B2], NFKC: [0xBBE7], NFKD: [0x1106, 0x1174, 0x11B2] }, -{ source: [0xBBE8], NFC: [0xBBE8], NFD: [0x1106, 0x1174, 0x11B3], NFKC: [0xBBE8], NFKD: [0x1106, 0x1174, 0x11B3] }, -{ source: [0xBBE9], NFC: [0xBBE9], NFD: [0x1106, 0x1174, 0x11B4], NFKC: [0xBBE9], NFKD: [0x1106, 0x1174, 0x11B4] }, -{ source: [0xBBEA], NFC: [0xBBEA], NFD: [0x1106, 0x1174, 0x11B5], NFKC: [0xBBEA], NFKD: [0x1106, 0x1174, 0x11B5] }, -{ source: [0xBBEB], NFC: [0xBBEB], NFD: [0x1106, 0x1174, 0x11B6], NFKC: [0xBBEB], NFKD: [0x1106, 0x1174, 0x11B6] }, -{ source: [0xBBEC], NFC: [0xBBEC], NFD: [0x1106, 0x1174, 0x11B7], NFKC: [0xBBEC], NFKD: [0x1106, 0x1174, 0x11B7] }, -{ source: [0xBBED], NFC: [0xBBED], NFD: [0x1106, 0x1174, 0x11B8], NFKC: [0xBBED], NFKD: [0x1106, 0x1174, 0x11B8] }, -{ source: [0xBBEE], NFC: [0xBBEE], NFD: [0x1106, 0x1174, 0x11B9], NFKC: [0xBBEE], NFKD: [0x1106, 0x1174, 0x11B9] }, -{ source: [0xBBEF], NFC: [0xBBEF], NFD: [0x1106, 0x1174, 0x11BA], NFKC: [0xBBEF], NFKD: [0x1106, 0x1174, 0x11BA] }, -{ source: [0xBBF0], NFC: [0xBBF0], NFD: [0x1106, 0x1174, 0x11BB], NFKC: [0xBBF0], NFKD: [0x1106, 0x1174, 0x11BB] }, -{ source: [0xBBF1], NFC: [0xBBF1], NFD: [0x1106, 0x1174, 0x11BC], NFKC: [0xBBF1], NFKD: [0x1106, 0x1174, 0x11BC] }, -{ source: [0xBBF2], NFC: [0xBBF2], NFD: [0x1106, 0x1174, 0x11BD], NFKC: [0xBBF2], NFKD: [0x1106, 0x1174, 0x11BD] }, -{ source: [0xBBF3], NFC: [0xBBF3], NFD: [0x1106, 0x1174, 0x11BE], NFKC: [0xBBF3], NFKD: [0x1106, 0x1174, 0x11BE] }, -{ source: [0xBBF4], NFC: [0xBBF4], NFD: [0x1106, 0x1174, 0x11BF], NFKC: [0xBBF4], NFKD: [0x1106, 0x1174, 0x11BF] }, -{ source: [0xBBF5], NFC: [0xBBF5], NFD: [0x1106, 0x1174, 0x11C0], NFKC: [0xBBF5], NFKD: [0x1106, 0x1174, 0x11C0] }, -{ source: [0xBBF6], NFC: [0xBBF6], NFD: [0x1106, 0x1174, 0x11C1], NFKC: [0xBBF6], NFKD: [0x1106, 0x1174, 0x11C1] }, -{ source: [0xBBF7], NFC: [0xBBF7], NFD: [0x1106, 0x1174, 0x11C2], NFKC: [0xBBF7], NFKD: [0x1106, 0x1174, 0x11C2] }, -{ source: [0xBBF8], NFC: [0xBBF8], NFD: [0x1106, 0x1175], NFKC: [0xBBF8], NFKD: [0x1106, 0x1175] }, -{ source: [0xBBF9], NFC: [0xBBF9], NFD: [0x1106, 0x1175, 0x11A8], NFKC: [0xBBF9], NFKD: [0x1106, 0x1175, 0x11A8] }, -{ source: [0xBBFA], NFC: [0xBBFA], NFD: [0x1106, 0x1175, 0x11A9], NFKC: [0xBBFA], NFKD: [0x1106, 0x1175, 0x11A9] }, -{ source: [0xBBFB], NFC: [0xBBFB], NFD: [0x1106, 0x1175, 0x11AA], NFKC: [0xBBFB], NFKD: [0x1106, 0x1175, 0x11AA] }, -{ source: [0xBBFC], NFC: [0xBBFC], NFD: [0x1106, 0x1175, 0x11AB], NFKC: [0xBBFC], NFKD: [0x1106, 0x1175, 0x11AB] }, -{ source: [0xBBFD], NFC: [0xBBFD], NFD: [0x1106, 0x1175, 0x11AC], NFKC: [0xBBFD], NFKD: [0x1106, 0x1175, 0x11AC] }, -{ source: [0xBBFE], NFC: [0xBBFE], NFD: [0x1106, 0x1175, 0x11AD], NFKC: [0xBBFE], NFKD: [0x1106, 0x1175, 0x11AD] }, -{ source: [0xBBFF], NFC: [0xBBFF], NFD: [0x1106, 0x1175, 0x11AE], NFKC: [0xBBFF], NFKD: [0x1106, 0x1175, 0x11AE] }, -{ source: [0xBC00], NFC: [0xBC00], NFD: [0x1106, 0x1175, 0x11AF], NFKC: [0xBC00], NFKD: [0x1106, 0x1175, 0x11AF] }, -{ source: [0xBC01], NFC: [0xBC01], NFD: [0x1106, 0x1175, 0x11B0], NFKC: [0xBC01], NFKD: [0x1106, 0x1175, 0x11B0] }, -{ source: [0xBC02], NFC: [0xBC02], NFD: [0x1106, 0x1175, 0x11B1], NFKC: [0xBC02], NFKD: [0x1106, 0x1175, 0x11B1] }, -{ source: [0xBC03], NFC: [0xBC03], NFD: [0x1106, 0x1175, 0x11B2], NFKC: [0xBC03], NFKD: [0x1106, 0x1175, 0x11B2] }, -{ source: [0xBC04], NFC: [0xBC04], NFD: [0x1106, 0x1175, 0x11B3], NFKC: [0xBC04], NFKD: [0x1106, 0x1175, 0x11B3] }, -{ source: [0xBC05], NFC: [0xBC05], NFD: [0x1106, 0x1175, 0x11B4], NFKC: [0xBC05], NFKD: [0x1106, 0x1175, 0x11B4] }, -{ source: [0xBC06], NFC: [0xBC06], NFD: [0x1106, 0x1175, 0x11B5], NFKC: [0xBC06], NFKD: [0x1106, 0x1175, 0x11B5] }, -{ source: [0xBC07], NFC: [0xBC07], NFD: [0x1106, 0x1175, 0x11B6], NFKC: [0xBC07], NFKD: [0x1106, 0x1175, 0x11B6] }, -{ source: [0xBC08], NFC: [0xBC08], NFD: [0x1106, 0x1175, 0x11B7], NFKC: [0xBC08], NFKD: [0x1106, 0x1175, 0x11B7] }, -{ source: [0xBC09], NFC: [0xBC09], NFD: [0x1106, 0x1175, 0x11B8], NFKC: [0xBC09], NFKD: [0x1106, 0x1175, 0x11B8] }, -{ source: [0xBC0A], NFC: [0xBC0A], NFD: [0x1106, 0x1175, 0x11B9], NFKC: [0xBC0A], NFKD: [0x1106, 0x1175, 0x11B9] }, -{ source: [0xBC0B], NFC: [0xBC0B], NFD: [0x1106, 0x1175, 0x11BA], NFKC: [0xBC0B], NFKD: [0x1106, 0x1175, 0x11BA] }, -{ source: [0xBC0C], NFC: [0xBC0C], NFD: [0x1106, 0x1175, 0x11BB], NFKC: [0xBC0C], NFKD: [0x1106, 0x1175, 0x11BB] }, -{ source: [0xBC0D], NFC: [0xBC0D], NFD: [0x1106, 0x1175, 0x11BC], NFKC: [0xBC0D], NFKD: [0x1106, 0x1175, 0x11BC] }, -{ source: [0xBC0E], NFC: [0xBC0E], NFD: [0x1106, 0x1175, 0x11BD], NFKC: [0xBC0E], NFKD: [0x1106, 0x1175, 0x11BD] }, -{ source: [0xBC0F], NFC: [0xBC0F], NFD: [0x1106, 0x1175, 0x11BE], NFKC: [0xBC0F], NFKD: [0x1106, 0x1175, 0x11BE] }, -{ source: [0xBC10], NFC: [0xBC10], NFD: [0x1106, 0x1175, 0x11BF], NFKC: [0xBC10], NFKD: [0x1106, 0x1175, 0x11BF] }, -{ source: [0xBC11], NFC: [0xBC11], NFD: [0x1106, 0x1175, 0x11C0], NFKC: [0xBC11], NFKD: [0x1106, 0x1175, 0x11C0] }, -{ source: [0xBC12], NFC: [0xBC12], NFD: [0x1106, 0x1175, 0x11C1], NFKC: [0xBC12], NFKD: [0x1106, 0x1175, 0x11C1] }, -{ source: [0xBC13], NFC: [0xBC13], NFD: [0x1106, 0x1175, 0x11C2], NFKC: [0xBC13], NFKD: [0x1106, 0x1175, 0x11C2] }, -{ source: [0xBC14], NFC: [0xBC14], NFD: [0x1107, 0x1161], NFKC: [0xBC14], NFKD: [0x1107, 0x1161] }, -{ source: [0xBC15], NFC: [0xBC15], NFD: [0x1107, 0x1161, 0x11A8], NFKC: [0xBC15], NFKD: [0x1107, 0x1161, 0x11A8] }, -{ source: [0xBC16], NFC: [0xBC16], NFD: [0x1107, 0x1161, 0x11A9], NFKC: [0xBC16], NFKD: [0x1107, 0x1161, 0x11A9] }, -{ source: [0xBC17], NFC: [0xBC17], NFD: [0x1107, 0x1161, 0x11AA], NFKC: [0xBC17], NFKD: [0x1107, 0x1161, 0x11AA] }, -{ source: [0xBC18], NFC: [0xBC18], NFD: [0x1107, 0x1161, 0x11AB], NFKC: [0xBC18], NFKD: [0x1107, 0x1161, 0x11AB] }, -{ source: [0xBC19], NFC: [0xBC19], NFD: [0x1107, 0x1161, 0x11AC], NFKC: [0xBC19], NFKD: [0x1107, 0x1161, 0x11AC] }, -{ source: [0xBC1A], NFC: [0xBC1A], NFD: [0x1107, 0x1161, 0x11AD], NFKC: [0xBC1A], NFKD: [0x1107, 0x1161, 0x11AD] }, -{ source: [0xBC1B], NFC: [0xBC1B], NFD: [0x1107, 0x1161, 0x11AE], NFKC: [0xBC1B], NFKD: [0x1107, 0x1161, 0x11AE] }, -{ source: [0xBC1C], NFC: [0xBC1C], NFD: [0x1107, 0x1161, 0x11AF], NFKC: [0xBC1C], NFKD: [0x1107, 0x1161, 0x11AF] }, -{ source: [0xBC1D], NFC: [0xBC1D], NFD: [0x1107, 0x1161, 0x11B0], NFKC: [0xBC1D], NFKD: [0x1107, 0x1161, 0x11B0] }, -{ source: [0xBC1E], NFC: [0xBC1E], NFD: [0x1107, 0x1161, 0x11B1], NFKC: [0xBC1E], NFKD: [0x1107, 0x1161, 0x11B1] }, -{ source: [0xBC1F], NFC: [0xBC1F], NFD: [0x1107, 0x1161, 0x11B2], NFKC: [0xBC1F], NFKD: [0x1107, 0x1161, 0x11B2] }, -{ source: [0xBC20], NFC: [0xBC20], NFD: [0x1107, 0x1161, 0x11B3], NFKC: [0xBC20], NFKD: [0x1107, 0x1161, 0x11B3] }, -{ source: [0xBC21], NFC: [0xBC21], NFD: [0x1107, 0x1161, 0x11B4], NFKC: [0xBC21], NFKD: [0x1107, 0x1161, 0x11B4] }, -{ source: [0xBC22], NFC: [0xBC22], NFD: [0x1107, 0x1161, 0x11B5], NFKC: [0xBC22], NFKD: [0x1107, 0x1161, 0x11B5] }, -{ source: [0xBC23], NFC: [0xBC23], NFD: [0x1107, 0x1161, 0x11B6], NFKC: [0xBC23], NFKD: [0x1107, 0x1161, 0x11B6] }, -{ source: [0xBC24], NFC: [0xBC24], NFD: [0x1107, 0x1161, 0x11B7], NFKC: [0xBC24], NFKD: [0x1107, 0x1161, 0x11B7] }, -{ source: [0xBC25], NFC: [0xBC25], NFD: [0x1107, 0x1161, 0x11B8], NFKC: [0xBC25], NFKD: [0x1107, 0x1161, 0x11B8] }, -{ source: [0xBC26], NFC: [0xBC26], NFD: [0x1107, 0x1161, 0x11B9], NFKC: [0xBC26], NFKD: [0x1107, 0x1161, 0x11B9] }, -{ source: [0xBC27], NFC: [0xBC27], NFD: [0x1107, 0x1161, 0x11BA], NFKC: [0xBC27], NFKD: [0x1107, 0x1161, 0x11BA] }, -{ source: [0xBC28], NFC: [0xBC28], NFD: [0x1107, 0x1161, 0x11BB], NFKC: [0xBC28], NFKD: [0x1107, 0x1161, 0x11BB] }, -{ source: [0xBC29], NFC: [0xBC29], NFD: [0x1107, 0x1161, 0x11BC], NFKC: [0xBC29], NFKD: [0x1107, 0x1161, 0x11BC] }, -{ source: [0xBC2A], NFC: [0xBC2A], NFD: [0x1107, 0x1161, 0x11BD], NFKC: [0xBC2A], NFKD: [0x1107, 0x1161, 0x11BD] }, -{ source: [0xBC2B], NFC: [0xBC2B], NFD: [0x1107, 0x1161, 0x11BE], NFKC: [0xBC2B], NFKD: [0x1107, 0x1161, 0x11BE] }, -{ source: [0xBC2C], NFC: [0xBC2C], NFD: [0x1107, 0x1161, 0x11BF], NFKC: [0xBC2C], NFKD: [0x1107, 0x1161, 0x11BF] }, -{ source: [0xBC2D], NFC: [0xBC2D], NFD: [0x1107, 0x1161, 0x11C0], NFKC: [0xBC2D], NFKD: [0x1107, 0x1161, 0x11C0] }, -{ source: [0xBC2E], NFC: [0xBC2E], NFD: [0x1107, 0x1161, 0x11C1], NFKC: [0xBC2E], NFKD: [0x1107, 0x1161, 0x11C1] }, -{ source: [0xBC2F], NFC: [0xBC2F], NFD: [0x1107, 0x1161, 0x11C2], NFKC: [0xBC2F], NFKD: [0x1107, 0x1161, 0x11C2] }, -{ source: [0xBC30], NFC: [0xBC30], NFD: [0x1107, 0x1162], NFKC: [0xBC30], NFKD: [0x1107, 0x1162] }, -{ source: [0xBC31], NFC: [0xBC31], NFD: [0x1107, 0x1162, 0x11A8], NFKC: [0xBC31], NFKD: [0x1107, 0x1162, 0x11A8] }, -{ source: [0xBC32], NFC: [0xBC32], NFD: [0x1107, 0x1162, 0x11A9], NFKC: [0xBC32], NFKD: [0x1107, 0x1162, 0x11A9] }, -{ source: [0xBC33], NFC: [0xBC33], NFD: [0x1107, 0x1162, 0x11AA], NFKC: [0xBC33], NFKD: [0x1107, 0x1162, 0x11AA] }, -{ source: [0xBC34], NFC: [0xBC34], NFD: [0x1107, 0x1162, 0x11AB], NFKC: [0xBC34], NFKD: [0x1107, 0x1162, 0x11AB] }, -{ source: [0xBC35], NFC: [0xBC35], NFD: [0x1107, 0x1162, 0x11AC], NFKC: [0xBC35], NFKD: [0x1107, 0x1162, 0x11AC] }, -{ source: [0xBC36], NFC: [0xBC36], NFD: [0x1107, 0x1162, 0x11AD], NFKC: [0xBC36], NFKD: [0x1107, 0x1162, 0x11AD] }, -{ source: [0xBC37], NFC: [0xBC37], NFD: [0x1107, 0x1162, 0x11AE], NFKC: [0xBC37], NFKD: [0x1107, 0x1162, 0x11AE] }, -{ source: [0xBC38], NFC: [0xBC38], NFD: [0x1107, 0x1162, 0x11AF], NFKC: [0xBC38], NFKD: [0x1107, 0x1162, 0x11AF] }, -{ source: [0xBC39], NFC: [0xBC39], NFD: [0x1107, 0x1162, 0x11B0], NFKC: [0xBC39], NFKD: [0x1107, 0x1162, 0x11B0] }, -{ source: [0xBC3A], NFC: [0xBC3A], NFD: [0x1107, 0x1162, 0x11B1], NFKC: [0xBC3A], NFKD: [0x1107, 0x1162, 0x11B1] }, -{ source: [0xBC3B], NFC: [0xBC3B], NFD: [0x1107, 0x1162, 0x11B2], NFKC: [0xBC3B], NFKD: [0x1107, 0x1162, 0x11B2] }, -{ source: [0xBC3C], NFC: [0xBC3C], NFD: [0x1107, 0x1162, 0x11B3], NFKC: [0xBC3C], NFKD: [0x1107, 0x1162, 0x11B3] }, -{ source: [0xBC3D], NFC: [0xBC3D], NFD: [0x1107, 0x1162, 0x11B4], NFKC: [0xBC3D], NFKD: [0x1107, 0x1162, 0x11B4] }, -{ source: [0xBC3E], NFC: [0xBC3E], NFD: [0x1107, 0x1162, 0x11B5], NFKC: [0xBC3E], NFKD: [0x1107, 0x1162, 0x11B5] }, -{ source: [0xBC3F], NFC: [0xBC3F], NFD: [0x1107, 0x1162, 0x11B6], NFKC: [0xBC3F], NFKD: [0x1107, 0x1162, 0x11B6] }, -{ source: [0xBC40], NFC: [0xBC40], NFD: [0x1107, 0x1162, 0x11B7], NFKC: [0xBC40], NFKD: [0x1107, 0x1162, 0x11B7] }, -{ source: [0xBC41], NFC: [0xBC41], NFD: [0x1107, 0x1162, 0x11B8], NFKC: [0xBC41], NFKD: [0x1107, 0x1162, 0x11B8] }, -{ source: [0xBC42], NFC: [0xBC42], NFD: [0x1107, 0x1162, 0x11B9], NFKC: [0xBC42], NFKD: [0x1107, 0x1162, 0x11B9] }, -{ source: [0xBC43], NFC: [0xBC43], NFD: [0x1107, 0x1162, 0x11BA], NFKC: [0xBC43], NFKD: [0x1107, 0x1162, 0x11BA] }, -{ source: [0xBC44], NFC: [0xBC44], NFD: [0x1107, 0x1162, 0x11BB], NFKC: [0xBC44], NFKD: [0x1107, 0x1162, 0x11BB] }, -{ source: [0xBC45], NFC: [0xBC45], NFD: [0x1107, 0x1162, 0x11BC], NFKC: [0xBC45], NFKD: [0x1107, 0x1162, 0x11BC] }, -{ source: [0xBC46], NFC: [0xBC46], NFD: [0x1107, 0x1162, 0x11BD], NFKC: [0xBC46], NFKD: [0x1107, 0x1162, 0x11BD] }, -{ source: [0xBC47], NFC: [0xBC47], NFD: [0x1107, 0x1162, 0x11BE], NFKC: [0xBC47], NFKD: [0x1107, 0x1162, 0x11BE] }, -{ source: [0xBC48], NFC: [0xBC48], NFD: [0x1107, 0x1162, 0x11BF], NFKC: [0xBC48], NFKD: [0x1107, 0x1162, 0x11BF] }, -{ source: [0xBC49], NFC: [0xBC49], NFD: [0x1107, 0x1162, 0x11C0], NFKC: [0xBC49], NFKD: [0x1107, 0x1162, 0x11C0] }, -{ source: [0xBC4A], NFC: [0xBC4A], NFD: [0x1107, 0x1162, 0x11C1], NFKC: [0xBC4A], NFKD: [0x1107, 0x1162, 0x11C1] }, -{ source: [0xBC4B], NFC: [0xBC4B], NFD: [0x1107, 0x1162, 0x11C2], NFKC: [0xBC4B], NFKD: [0x1107, 0x1162, 0x11C2] }, -{ source: [0xBC4C], NFC: [0xBC4C], NFD: [0x1107, 0x1163], NFKC: [0xBC4C], NFKD: [0x1107, 0x1163] }, -{ source: [0xBC4D], NFC: [0xBC4D], NFD: [0x1107, 0x1163, 0x11A8], NFKC: [0xBC4D], NFKD: [0x1107, 0x1163, 0x11A8] }, -{ source: [0xBC4E], NFC: [0xBC4E], NFD: [0x1107, 0x1163, 0x11A9], NFKC: [0xBC4E], NFKD: [0x1107, 0x1163, 0x11A9] }, -{ source: [0xBC4F], NFC: [0xBC4F], NFD: [0x1107, 0x1163, 0x11AA], NFKC: [0xBC4F], NFKD: [0x1107, 0x1163, 0x11AA] }, -{ source: [0xBC50], NFC: [0xBC50], NFD: [0x1107, 0x1163, 0x11AB], NFKC: [0xBC50], NFKD: [0x1107, 0x1163, 0x11AB] }, -{ source: [0xBC51], NFC: [0xBC51], NFD: [0x1107, 0x1163, 0x11AC], NFKC: [0xBC51], NFKD: [0x1107, 0x1163, 0x11AC] }, -{ source: [0xBC52], NFC: [0xBC52], NFD: [0x1107, 0x1163, 0x11AD], NFKC: [0xBC52], NFKD: [0x1107, 0x1163, 0x11AD] }, -{ source: [0xBC53], NFC: [0xBC53], NFD: [0x1107, 0x1163, 0x11AE], NFKC: [0xBC53], NFKD: [0x1107, 0x1163, 0x11AE] }, -{ source: [0xBC54], NFC: [0xBC54], NFD: [0x1107, 0x1163, 0x11AF], NFKC: [0xBC54], NFKD: [0x1107, 0x1163, 0x11AF] }, -{ source: [0xBC55], NFC: [0xBC55], NFD: [0x1107, 0x1163, 0x11B0], NFKC: [0xBC55], NFKD: [0x1107, 0x1163, 0x11B0] }, -{ source: [0xBC56], NFC: [0xBC56], NFD: [0x1107, 0x1163, 0x11B1], NFKC: [0xBC56], NFKD: [0x1107, 0x1163, 0x11B1] }, -{ source: [0xBC57], NFC: [0xBC57], NFD: [0x1107, 0x1163, 0x11B2], NFKC: [0xBC57], NFKD: [0x1107, 0x1163, 0x11B2] }, -{ source: [0xBC58], NFC: [0xBC58], NFD: [0x1107, 0x1163, 0x11B3], NFKC: [0xBC58], NFKD: [0x1107, 0x1163, 0x11B3] }, -{ source: [0xBC59], NFC: [0xBC59], NFD: [0x1107, 0x1163, 0x11B4], NFKC: [0xBC59], NFKD: [0x1107, 0x1163, 0x11B4] }, -{ source: [0xBC5A], NFC: [0xBC5A], NFD: [0x1107, 0x1163, 0x11B5], NFKC: [0xBC5A], NFKD: [0x1107, 0x1163, 0x11B5] }, -{ source: [0xBC5B], NFC: [0xBC5B], NFD: [0x1107, 0x1163, 0x11B6], NFKC: [0xBC5B], NFKD: [0x1107, 0x1163, 0x11B6] }, -{ source: [0xBC5C], NFC: [0xBC5C], NFD: [0x1107, 0x1163, 0x11B7], NFKC: [0xBC5C], NFKD: [0x1107, 0x1163, 0x11B7] }, -{ source: [0xBC5D], NFC: [0xBC5D], NFD: [0x1107, 0x1163, 0x11B8], NFKC: [0xBC5D], NFKD: [0x1107, 0x1163, 0x11B8] }, -{ source: [0xBC5E], NFC: [0xBC5E], NFD: [0x1107, 0x1163, 0x11B9], NFKC: [0xBC5E], NFKD: [0x1107, 0x1163, 0x11B9] }, -{ source: [0xBC5F], NFC: [0xBC5F], NFD: [0x1107, 0x1163, 0x11BA], NFKC: [0xBC5F], NFKD: [0x1107, 0x1163, 0x11BA] }, -{ source: [0xBC60], NFC: [0xBC60], NFD: [0x1107, 0x1163, 0x11BB], NFKC: [0xBC60], NFKD: [0x1107, 0x1163, 0x11BB] }, -{ source: [0xBC61], NFC: [0xBC61], NFD: [0x1107, 0x1163, 0x11BC], NFKC: [0xBC61], NFKD: [0x1107, 0x1163, 0x11BC] }, -{ source: [0xBC62], NFC: [0xBC62], NFD: [0x1107, 0x1163, 0x11BD], NFKC: [0xBC62], NFKD: [0x1107, 0x1163, 0x11BD] }, -{ source: [0xBC63], NFC: [0xBC63], NFD: [0x1107, 0x1163, 0x11BE], NFKC: [0xBC63], NFKD: [0x1107, 0x1163, 0x11BE] }, -{ source: [0xBC64], NFC: [0xBC64], NFD: [0x1107, 0x1163, 0x11BF], NFKC: [0xBC64], NFKD: [0x1107, 0x1163, 0x11BF] }, -{ source: [0xBC65], NFC: [0xBC65], NFD: [0x1107, 0x1163, 0x11C0], NFKC: [0xBC65], NFKD: [0x1107, 0x1163, 0x11C0] }, -{ source: [0xBC66], NFC: [0xBC66], NFD: [0x1107, 0x1163, 0x11C1], NFKC: [0xBC66], NFKD: [0x1107, 0x1163, 0x11C1] }, -{ source: [0xBC67], NFC: [0xBC67], NFD: [0x1107, 0x1163, 0x11C2], NFKC: [0xBC67], NFKD: [0x1107, 0x1163, 0x11C2] }, -{ source: [0xBC68], NFC: [0xBC68], NFD: [0x1107, 0x1164], NFKC: [0xBC68], NFKD: [0x1107, 0x1164] }, -{ source: [0xBC69], NFC: [0xBC69], NFD: [0x1107, 0x1164, 0x11A8], NFKC: [0xBC69], NFKD: [0x1107, 0x1164, 0x11A8] }, -{ source: [0xBC6A], NFC: [0xBC6A], NFD: [0x1107, 0x1164, 0x11A9], NFKC: [0xBC6A], NFKD: [0x1107, 0x1164, 0x11A9] }, -{ source: [0xBC6B], NFC: [0xBC6B], NFD: [0x1107, 0x1164, 0x11AA], NFKC: [0xBC6B], NFKD: [0x1107, 0x1164, 0x11AA] }, -{ source: [0xBC6C], NFC: [0xBC6C], NFD: [0x1107, 0x1164, 0x11AB], NFKC: [0xBC6C], NFKD: [0x1107, 0x1164, 0x11AB] }, -{ source: [0xBC6D], NFC: [0xBC6D], NFD: [0x1107, 0x1164, 0x11AC], NFKC: [0xBC6D], NFKD: [0x1107, 0x1164, 0x11AC] }, -{ source: [0xBC6E], NFC: [0xBC6E], NFD: [0x1107, 0x1164, 0x11AD], NFKC: [0xBC6E], NFKD: [0x1107, 0x1164, 0x11AD] }, -{ source: [0xBC6F], NFC: [0xBC6F], NFD: [0x1107, 0x1164, 0x11AE], NFKC: [0xBC6F], NFKD: [0x1107, 0x1164, 0x11AE] }, -{ source: [0xBC70], NFC: [0xBC70], NFD: [0x1107, 0x1164, 0x11AF], NFKC: [0xBC70], NFKD: [0x1107, 0x1164, 0x11AF] }, -{ source: [0xBC71], NFC: [0xBC71], NFD: [0x1107, 0x1164, 0x11B0], NFKC: [0xBC71], NFKD: [0x1107, 0x1164, 0x11B0] }, -{ source: [0xBC72], NFC: [0xBC72], NFD: [0x1107, 0x1164, 0x11B1], NFKC: [0xBC72], NFKD: [0x1107, 0x1164, 0x11B1] }, -{ source: [0xBC73], NFC: [0xBC73], NFD: [0x1107, 0x1164, 0x11B2], NFKC: [0xBC73], NFKD: [0x1107, 0x1164, 0x11B2] }, -{ source: [0xBC74], NFC: [0xBC74], NFD: [0x1107, 0x1164, 0x11B3], NFKC: [0xBC74], NFKD: [0x1107, 0x1164, 0x11B3] }, -{ source: [0xBC75], NFC: [0xBC75], NFD: [0x1107, 0x1164, 0x11B4], NFKC: [0xBC75], NFKD: [0x1107, 0x1164, 0x11B4] }, -{ source: [0xBC76], NFC: [0xBC76], NFD: [0x1107, 0x1164, 0x11B5], NFKC: [0xBC76], NFKD: [0x1107, 0x1164, 0x11B5] }, -{ source: [0xBC77], NFC: [0xBC77], NFD: [0x1107, 0x1164, 0x11B6], NFKC: [0xBC77], NFKD: [0x1107, 0x1164, 0x11B6] }, -{ source: [0xBC78], NFC: [0xBC78], NFD: [0x1107, 0x1164, 0x11B7], NFKC: [0xBC78], NFKD: [0x1107, 0x1164, 0x11B7] }, -{ source: [0xBC79], NFC: [0xBC79], NFD: [0x1107, 0x1164, 0x11B8], NFKC: [0xBC79], NFKD: [0x1107, 0x1164, 0x11B8] }, -{ source: [0xBC7A], NFC: [0xBC7A], NFD: [0x1107, 0x1164, 0x11B9], NFKC: [0xBC7A], NFKD: [0x1107, 0x1164, 0x11B9] }, -{ source: [0xBC7B], NFC: [0xBC7B], NFD: [0x1107, 0x1164, 0x11BA], NFKC: [0xBC7B], NFKD: [0x1107, 0x1164, 0x11BA] }, -{ source: [0xBC7C], NFC: [0xBC7C], NFD: [0x1107, 0x1164, 0x11BB], NFKC: [0xBC7C], NFKD: [0x1107, 0x1164, 0x11BB] }, -{ source: [0xBC7D], NFC: [0xBC7D], NFD: [0x1107, 0x1164, 0x11BC], NFKC: [0xBC7D], NFKD: [0x1107, 0x1164, 0x11BC] }, -{ source: [0xBC7E], NFC: [0xBC7E], NFD: [0x1107, 0x1164, 0x11BD], NFKC: [0xBC7E], NFKD: [0x1107, 0x1164, 0x11BD] }, -{ source: [0xBC7F], NFC: [0xBC7F], NFD: [0x1107, 0x1164, 0x11BE], NFKC: [0xBC7F], NFKD: [0x1107, 0x1164, 0x11BE] }, -{ source: [0xBC80], NFC: [0xBC80], NFD: [0x1107, 0x1164, 0x11BF], NFKC: [0xBC80], NFKD: [0x1107, 0x1164, 0x11BF] }, -{ source: [0xBC81], NFC: [0xBC81], NFD: [0x1107, 0x1164, 0x11C0], NFKC: [0xBC81], NFKD: [0x1107, 0x1164, 0x11C0] }, -{ source: [0xBC82], NFC: [0xBC82], NFD: [0x1107, 0x1164, 0x11C1], NFKC: [0xBC82], NFKD: [0x1107, 0x1164, 0x11C1] }, -{ source: [0xBC83], NFC: [0xBC83], NFD: [0x1107, 0x1164, 0x11C2], NFKC: [0xBC83], NFKD: [0x1107, 0x1164, 0x11C2] }, -{ source: [0xBC84], NFC: [0xBC84], NFD: [0x1107, 0x1165], NFKC: [0xBC84], NFKD: [0x1107, 0x1165] }, -{ source: [0xBC85], NFC: [0xBC85], NFD: [0x1107, 0x1165, 0x11A8], NFKC: [0xBC85], NFKD: [0x1107, 0x1165, 0x11A8] }, -{ source: [0xBC86], NFC: [0xBC86], NFD: [0x1107, 0x1165, 0x11A9], NFKC: [0xBC86], NFKD: [0x1107, 0x1165, 0x11A9] }, -{ source: [0xBC87], NFC: [0xBC87], NFD: [0x1107, 0x1165, 0x11AA], NFKC: [0xBC87], NFKD: [0x1107, 0x1165, 0x11AA] }, -{ source: [0xBC88], NFC: [0xBC88], NFD: [0x1107, 0x1165, 0x11AB], NFKC: [0xBC88], NFKD: [0x1107, 0x1165, 0x11AB] }, -{ source: [0xBC89], NFC: [0xBC89], NFD: [0x1107, 0x1165, 0x11AC], NFKC: [0xBC89], NFKD: [0x1107, 0x1165, 0x11AC] }, -{ source: [0xBC8A], NFC: [0xBC8A], NFD: [0x1107, 0x1165, 0x11AD], NFKC: [0xBC8A], NFKD: [0x1107, 0x1165, 0x11AD] }, -{ source: [0xBC8B], NFC: [0xBC8B], NFD: [0x1107, 0x1165, 0x11AE], NFKC: [0xBC8B], NFKD: [0x1107, 0x1165, 0x11AE] }, -{ source: [0xBC8C], NFC: [0xBC8C], NFD: [0x1107, 0x1165, 0x11AF], NFKC: [0xBC8C], NFKD: [0x1107, 0x1165, 0x11AF] }, -{ source: [0xBC8D], NFC: [0xBC8D], NFD: [0x1107, 0x1165, 0x11B0], NFKC: [0xBC8D], NFKD: [0x1107, 0x1165, 0x11B0] }, -{ source: [0xBC8E], NFC: [0xBC8E], NFD: [0x1107, 0x1165, 0x11B1], NFKC: [0xBC8E], NFKD: [0x1107, 0x1165, 0x11B1] }, -{ source: [0xBC8F], NFC: [0xBC8F], NFD: [0x1107, 0x1165, 0x11B2], NFKC: [0xBC8F], NFKD: [0x1107, 0x1165, 0x11B2] }, -{ source: [0xBC90], NFC: [0xBC90], NFD: [0x1107, 0x1165, 0x11B3], NFKC: [0xBC90], NFKD: [0x1107, 0x1165, 0x11B3] }, -{ source: [0xBC91], NFC: [0xBC91], NFD: [0x1107, 0x1165, 0x11B4], NFKC: [0xBC91], NFKD: [0x1107, 0x1165, 0x11B4] }, -{ source: [0xBC92], NFC: [0xBC92], NFD: [0x1107, 0x1165, 0x11B5], NFKC: [0xBC92], NFKD: [0x1107, 0x1165, 0x11B5] }, -{ source: [0xBC93], NFC: [0xBC93], NFD: [0x1107, 0x1165, 0x11B6], NFKC: [0xBC93], NFKD: [0x1107, 0x1165, 0x11B6] }, -{ source: [0xBC94], NFC: [0xBC94], NFD: [0x1107, 0x1165, 0x11B7], NFKC: [0xBC94], NFKD: [0x1107, 0x1165, 0x11B7] }, -{ source: [0xBC95], NFC: [0xBC95], NFD: [0x1107, 0x1165, 0x11B8], NFKC: [0xBC95], NFKD: [0x1107, 0x1165, 0x11B8] }, -{ source: [0xBC96], NFC: [0xBC96], NFD: [0x1107, 0x1165, 0x11B9], NFKC: [0xBC96], NFKD: [0x1107, 0x1165, 0x11B9] }, -{ source: [0xBC97], NFC: [0xBC97], NFD: [0x1107, 0x1165, 0x11BA], NFKC: [0xBC97], NFKD: [0x1107, 0x1165, 0x11BA] }, -{ source: [0xBC98], NFC: [0xBC98], NFD: [0x1107, 0x1165, 0x11BB], NFKC: [0xBC98], NFKD: [0x1107, 0x1165, 0x11BB] }, -{ source: [0xBC99], NFC: [0xBC99], NFD: [0x1107, 0x1165, 0x11BC], NFKC: [0xBC99], NFKD: [0x1107, 0x1165, 0x11BC] }, -{ source: [0xBC9A], NFC: [0xBC9A], NFD: [0x1107, 0x1165, 0x11BD], NFKC: [0xBC9A], NFKD: [0x1107, 0x1165, 0x11BD] }, -{ source: [0xBC9B], NFC: [0xBC9B], NFD: [0x1107, 0x1165, 0x11BE], NFKC: [0xBC9B], NFKD: [0x1107, 0x1165, 0x11BE] }, -{ source: [0xBC9C], NFC: [0xBC9C], NFD: [0x1107, 0x1165, 0x11BF], NFKC: [0xBC9C], NFKD: [0x1107, 0x1165, 0x11BF] }, -{ source: [0xBC9D], NFC: [0xBC9D], NFD: [0x1107, 0x1165, 0x11C0], NFKC: [0xBC9D], NFKD: [0x1107, 0x1165, 0x11C0] }, -{ source: [0xBC9E], NFC: [0xBC9E], NFD: [0x1107, 0x1165, 0x11C1], NFKC: [0xBC9E], NFKD: [0x1107, 0x1165, 0x11C1] }, -{ source: [0xBC9F], NFC: [0xBC9F], NFD: [0x1107, 0x1165, 0x11C2], NFKC: [0xBC9F], NFKD: [0x1107, 0x1165, 0x11C2] }, -{ source: [0xBCA0], NFC: [0xBCA0], NFD: [0x1107, 0x1166], NFKC: [0xBCA0], NFKD: [0x1107, 0x1166] }, -{ source: [0xBCA1], NFC: [0xBCA1], NFD: [0x1107, 0x1166, 0x11A8], NFKC: [0xBCA1], NFKD: [0x1107, 0x1166, 0x11A8] }, -{ source: [0xBCA2], NFC: [0xBCA2], NFD: [0x1107, 0x1166, 0x11A9], NFKC: [0xBCA2], NFKD: [0x1107, 0x1166, 0x11A9] }, -{ source: [0xBCA3], NFC: [0xBCA3], NFD: [0x1107, 0x1166, 0x11AA], NFKC: [0xBCA3], NFKD: [0x1107, 0x1166, 0x11AA] }, -{ source: [0xBCA4], NFC: [0xBCA4], NFD: [0x1107, 0x1166, 0x11AB], NFKC: [0xBCA4], NFKD: [0x1107, 0x1166, 0x11AB] }, -{ source: [0xBCA5], NFC: [0xBCA5], NFD: [0x1107, 0x1166, 0x11AC], NFKC: [0xBCA5], NFKD: [0x1107, 0x1166, 0x11AC] }, -{ source: [0xBCA6], NFC: [0xBCA6], NFD: [0x1107, 0x1166, 0x11AD], NFKC: [0xBCA6], NFKD: [0x1107, 0x1166, 0x11AD] }, -{ source: [0xBCA7], NFC: [0xBCA7], NFD: [0x1107, 0x1166, 0x11AE], NFKC: [0xBCA7], NFKD: [0x1107, 0x1166, 0x11AE] }, -{ source: [0xBCA8], NFC: [0xBCA8], NFD: [0x1107, 0x1166, 0x11AF], NFKC: [0xBCA8], NFKD: [0x1107, 0x1166, 0x11AF] }, -{ source: [0xBCA9], NFC: [0xBCA9], NFD: [0x1107, 0x1166, 0x11B0], NFKC: [0xBCA9], NFKD: [0x1107, 0x1166, 0x11B0] }, -{ source: [0xBCAA], NFC: [0xBCAA], NFD: [0x1107, 0x1166, 0x11B1], NFKC: [0xBCAA], NFKD: [0x1107, 0x1166, 0x11B1] }, -{ source: [0xBCAB], NFC: [0xBCAB], NFD: [0x1107, 0x1166, 0x11B2], NFKC: [0xBCAB], NFKD: [0x1107, 0x1166, 0x11B2] }, -{ source: [0xBCAC], NFC: [0xBCAC], NFD: [0x1107, 0x1166, 0x11B3], NFKC: [0xBCAC], NFKD: [0x1107, 0x1166, 0x11B3] }, -{ source: [0xBCAD], NFC: [0xBCAD], NFD: [0x1107, 0x1166, 0x11B4], NFKC: [0xBCAD], NFKD: [0x1107, 0x1166, 0x11B4] }, -{ source: [0xBCAE], NFC: [0xBCAE], NFD: [0x1107, 0x1166, 0x11B5], NFKC: [0xBCAE], NFKD: [0x1107, 0x1166, 0x11B5] }, -{ source: [0xBCAF], NFC: [0xBCAF], NFD: [0x1107, 0x1166, 0x11B6], NFKC: [0xBCAF], NFKD: [0x1107, 0x1166, 0x11B6] }, -{ source: [0xBCB0], NFC: [0xBCB0], NFD: [0x1107, 0x1166, 0x11B7], NFKC: [0xBCB0], NFKD: [0x1107, 0x1166, 0x11B7] }, -{ source: [0xBCB1], NFC: [0xBCB1], NFD: [0x1107, 0x1166, 0x11B8], NFKC: [0xBCB1], NFKD: [0x1107, 0x1166, 0x11B8] }, -{ source: [0xBCB2], NFC: [0xBCB2], NFD: [0x1107, 0x1166, 0x11B9], NFKC: [0xBCB2], NFKD: [0x1107, 0x1166, 0x11B9] }, -{ source: [0xBCB3], NFC: [0xBCB3], NFD: [0x1107, 0x1166, 0x11BA], NFKC: [0xBCB3], NFKD: [0x1107, 0x1166, 0x11BA] }, -{ source: [0xBCB4], NFC: [0xBCB4], NFD: [0x1107, 0x1166, 0x11BB], NFKC: [0xBCB4], NFKD: [0x1107, 0x1166, 0x11BB] }, -{ source: [0xBCB5], NFC: [0xBCB5], NFD: [0x1107, 0x1166, 0x11BC], NFKC: [0xBCB5], NFKD: [0x1107, 0x1166, 0x11BC] }, -{ source: [0xBCB6], NFC: [0xBCB6], NFD: [0x1107, 0x1166, 0x11BD], NFKC: [0xBCB6], NFKD: [0x1107, 0x1166, 0x11BD] }, -{ source: [0xBCB7], NFC: [0xBCB7], NFD: [0x1107, 0x1166, 0x11BE], NFKC: [0xBCB7], NFKD: [0x1107, 0x1166, 0x11BE] }, -{ source: [0xBCB8], NFC: [0xBCB8], NFD: [0x1107, 0x1166, 0x11BF], NFKC: [0xBCB8], NFKD: [0x1107, 0x1166, 0x11BF] }, -{ source: [0xBCB9], NFC: [0xBCB9], NFD: [0x1107, 0x1166, 0x11C0], NFKC: [0xBCB9], NFKD: [0x1107, 0x1166, 0x11C0] }, -{ source: [0xBCBA], NFC: [0xBCBA], NFD: [0x1107, 0x1166, 0x11C1], NFKC: [0xBCBA], NFKD: [0x1107, 0x1166, 0x11C1] }, -{ source: [0xBCBB], NFC: [0xBCBB], NFD: [0x1107, 0x1166, 0x11C2], NFKC: [0xBCBB], NFKD: [0x1107, 0x1166, 0x11C2] }, -{ source: [0xBCBC], NFC: [0xBCBC], NFD: [0x1107, 0x1167], NFKC: [0xBCBC], NFKD: [0x1107, 0x1167] }, -{ source: [0xBCBD], NFC: [0xBCBD], NFD: [0x1107, 0x1167, 0x11A8], NFKC: [0xBCBD], NFKD: [0x1107, 0x1167, 0x11A8] }, -{ source: [0xBCBE], NFC: [0xBCBE], NFD: [0x1107, 0x1167, 0x11A9], NFKC: [0xBCBE], NFKD: [0x1107, 0x1167, 0x11A9] }, -{ source: [0xBCBF], NFC: [0xBCBF], NFD: [0x1107, 0x1167, 0x11AA], NFKC: [0xBCBF], NFKD: [0x1107, 0x1167, 0x11AA] }, -{ source: [0xBCC0], NFC: [0xBCC0], NFD: [0x1107, 0x1167, 0x11AB], NFKC: [0xBCC0], NFKD: [0x1107, 0x1167, 0x11AB] }, -{ source: [0xBCC1], NFC: [0xBCC1], NFD: [0x1107, 0x1167, 0x11AC], NFKC: [0xBCC1], NFKD: [0x1107, 0x1167, 0x11AC] }, -{ source: [0xBCC2], NFC: [0xBCC2], NFD: [0x1107, 0x1167, 0x11AD], NFKC: [0xBCC2], NFKD: [0x1107, 0x1167, 0x11AD] }, -{ source: [0xBCC3], NFC: [0xBCC3], NFD: [0x1107, 0x1167, 0x11AE], NFKC: [0xBCC3], NFKD: [0x1107, 0x1167, 0x11AE] }, -{ source: [0xBCC4], NFC: [0xBCC4], NFD: [0x1107, 0x1167, 0x11AF], NFKC: [0xBCC4], NFKD: [0x1107, 0x1167, 0x11AF] }, -{ source: [0xBCC5], NFC: [0xBCC5], NFD: [0x1107, 0x1167, 0x11B0], NFKC: [0xBCC5], NFKD: [0x1107, 0x1167, 0x11B0] }, -{ source: [0xBCC6], NFC: [0xBCC6], NFD: [0x1107, 0x1167, 0x11B1], NFKC: [0xBCC6], NFKD: [0x1107, 0x1167, 0x11B1] }, -{ source: [0xBCC7], NFC: [0xBCC7], NFD: [0x1107, 0x1167, 0x11B2], NFKC: [0xBCC7], NFKD: [0x1107, 0x1167, 0x11B2] }, -{ source: [0xBCC8], NFC: [0xBCC8], NFD: [0x1107, 0x1167, 0x11B3], NFKC: [0xBCC8], NFKD: [0x1107, 0x1167, 0x11B3] }, -{ source: [0xBCC9], NFC: [0xBCC9], NFD: [0x1107, 0x1167, 0x11B4], NFKC: [0xBCC9], NFKD: [0x1107, 0x1167, 0x11B4] }, -{ source: [0xBCCA], NFC: [0xBCCA], NFD: [0x1107, 0x1167, 0x11B5], NFKC: [0xBCCA], NFKD: [0x1107, 0x1167, 0x11B5] }, -{ source: [0xBCCB], NFC: [0xBCCB], NFD: [0x1107, 0x1167, 0x11B6], NFKC: [0xBCCB], NFKD: [0x1107, 0x1167, 0x11B6] }, -{ source: [0xBCCC], NFC: [0xBCCC], NFD: [0x1107, 0x1167, 0x11B7], NFKC: [0xBCCC], NFKD: [0x1107, 0x1167, 0x11B7] }, -{ source: [0xBCCD], NFC: [0xBCCD], NFD: [0x1107, 0x1167, 0x11B8], NFKC: [0xBCCD], NFKD: [0x1107, 0x1167, 0x11B8] }, -{ source: [0xBCCE], NFC: [0xBCCE], NFD: [0x1107, 0x1167, 0x11B9], NFKC: [0xBCCE], NFKD: [0x1107, 0x1167, 0x11B9] }, -{ source: [0xBCCF], NFC: [0xBCCF], NFD: [0x1107, 0x1167, 0x11BA], NFKC: [0xBCCF], NFKD: [0x1107, 0x1167, 0x11BA] }, -{ source: [0xBCD0], NFC: [0xBCD0], NFD: [0x1107, 0x1167, 0x11BB], NFKC: [0xBCD0], NFKD: [0x1107, 0x1167, 0x11BB] }, -{ source: [0xBCD1], NFC: [0xBCD1], NFD: [0x1107, 0x1167, 0x11BC], NFKC: [0xBCD1], NFKD: [0x1107, 0x1167, 0x11BC] }, -{ source: [0xBCD2], NFC: [0xBCD2], NFD: [0x1107, 0x1167, 0x11BD], NFKC: [0xBCD2], NFKD: [0x1107, 0x1167, 0x11BD] }, -{ source: [0xBCD3], NFC: [0xBCD3], NFD: [0x1107, 0x1167, 0x11BE], NFKC: [0xBCD3], NFKD: [0x1107, 0x1167, 0x11BE] }, -{ source: [0xBCD4], NFC: [0xBCD4], NFD: [0x1107, 0x1167, 0x11BF], NFKC: [0xBCD4], NFKD: [0x1107, 0x1167, 0x11BF] }, -{ source: [0xBCD5], NFC: [0xBCD5], NFD: [0x1107, 0x1167, 0x11C0], NFKC: [0xBCD5], NFKD: [0x1107, 0x1167, 0x11C0] }, -{ source: [0xBCD6], NFC: [0xBCD6], NFD: [0x1107, 0x1167, 0x11C1], NFKC: [0xBCD6], NFKD: [0x1107, 0x1167, 0x11C1] }, -{ source: [0xBCD7], NFC: [0xBCD7], NFD: [0x1107, 0x1167, 0x11C2], NFKC: [0xBCD7], NFKD: [0x1107, 0x1167, 0x11C2] }, -{ source: [0xBCD8], NFC: [0xBCD8], NFD: [0x1107, 0x1168], NFKC: [0xBCD8], NFKD: [0x1107, 0x1168] }, -{ source: [0xBCD9], NFC: [0xBCD9], NFD: [0x1107, 0x1168, 0x11A8], NFKC: [0xBCD9], NFKD: [0x1107, 0x1168, 0x11A8] }, -{ source: [0xBCDA], NFC: [0xBCDA], NFD: [0x1107, 0x1168, 0x11A9], NFKC: [0xBCDA], NFKD: [0x1107, 0x1168, 0x11A9] }, -{ source: [0xBCDB], NFC: [0xBCDB], NFD: [0x1107, 0x1168, 0x11AA], NFKC: [0xBCDB], NFKD: [0x1107, 0x1168, 0x11AA] }, -{ source: [0xBCDC], NFC: [0xBCDC], NFD: [0x1107, 0x1168, 0x11AB], NFKC: [0xBCDC], NFKD: [0x1107, 0x1168, 0x11AB] }, -{ source: [0xBCDD], NFC: [0xBCDD], NFD: [0x1107, 0x1168, 0x11AC], NFKC: [0xBCDD], NFKD: [0x1107, 0x1168, 0x11AC] }, -{ source: [0xBCDE], NFC: [0xBCDE], NFD: [0x1107, 0x1168, 0x11AD], NFKC: [0xBCDE], NFKD: [0x1107, 0x1168, 0x11AD] }, -{ source: [0xBCDF], NFC: [0xBCDF], NFD: [0x1107, 0x1168, 0x11AE], NFKC: [0xBCDF], NFKD: [0x1107, 0x1168, 0x11AE] }, -{ source: [0xBCE0], NFC: [0xBCE0], NFD: [0x1107, 0x1168, 0x11AF], NFKC: [0xBCE0], NFKD: [0x1107, 0x1168, 0x11AF] }, -{ source: [0xBCE1], NFC: [0xBCE1], NFD: [0x1107, 0x1168, 0x11B0], NFKC: [0xBCE1], NFKD: [0x1107, 0x1168, 0x11B0] }, -{ source: [0xBCE2], NFC: [0xBCE2], NFD: [0x1107, 0x1168, 0x11B1], NFKC: [0xBCE2], NFKD: [0x1107, 0x1168, 0x11B1] }, -{ source: [0xBCE3], NFC: [0xBCE3], NFD: [0x1107, 0x1168, 0x11B2], NFKC: [0xBCE3], NFKD: [0x1107, 0x1168, 0x11B2] }, -{ source: [0xBCE4], NFC: [0xBCE4], NFD: [0x1107, 0x1168, 0x11B3], NFKC: [0xBCE4], NFKD: [0x1107, 0x1168, 0x11B3] }, -{ source: [0xBCE5], NFC: [0xBCE5], NFD: [0x1107, 0x1168, 0x11B4], NFKC: [0xBCE5], NFKD: [0x1107, 0x1168, 0x11B4] }, -{ source: [0xBCE6], NFC: [0xBCE6], NFD: [0x1107, 0x1168, 0x11B5], NFKC: [0xBCE6], NFKD: [0x1107, 0x1168, 0x11B5] }, -{ source: [0xBCE7], NFC: [0xBCE7], NFD: [0x1107, 0x1168, 0x11B6], NFKC: [0xBCE7], NFKD: [0x1107, 0x1168, 0x11B6] }, -{ source: [0xBCE8], NFC: [0xBCE8], NFD: [0x1107, 0x1168, 0x11B7], NFKC: [0xBCE8], NFKD: [0x1107, 0x1168, 0x11B7] }, -{ source: [0xBCE9], NFC: [0xBCE9], NFD: [0x1107, 0x1168, 0x11B8], NFKC: [0xBCE9], NFKD: [0x1107, 0x1168, 0x11B8] }, -{ source: [0xBCEA], NFC: [0xBCEA], NFD: [0x1107, 0x1168, 0x11B9], NFKC: [0xBCEA], NFKD: [0x1107, 0x1168, 0x11B9] }, -{ source: [0xBCEB], NFC: [0xBCEB], NFD: [0x1107, 0x1168, 0x11BA], NFKC: [0xBCEB], NFKD: [0x1107, 0x1168, 0x11BA] }, -{ source: [0xBCEC], NFC: [0xBCEC], NFD: [0x1107, 0x1168, 0x11BB], NFKC: [0xBCEC], NFKD: [0x1107, 0x1168, 0x11BB] }, -{ source: [0xBCED], NFC: [0xBCED], NFD: [0x1107, 0x1168, 0x11BC], NFKC: [0xBCED], NFKD: [0x1107, 0x1168, 0x11BC] }, -{ source: [0xBCEE], NFC: [0xBCEE], NFD: [0x1107, 0x1168, 0x11BD], NFKC: [0xBCEE], NFKD: [0x1107, 0x1168, 0x11BD] }, -{ source: [0xBCEF], NFC: [0xBCEF], NFD: [0x1107, 0x1168, 0x11BE], NFKC: [0xBCEF], NFKD: [0x1107, 0x1168, 0x11BE] }, -{ source: [0xBCF0], NFC: [0xBCF0], NFD: [0x1107, 0x1168, 0x11BF], NFKC: [0xBCF0], NFKD: [0x1107, 0x1168, 0x11BF] }, -{ source: [0xBCF1], NFC: [0xBCF1], NFD: [0x1107, 0x1168, 0x11C0], NFKC: [0xBCF1], NFKD: [0x1107, 0x1168, 0x11C0] }, -{ source: [0xBCF2], NFC: [0xBCF2], NFD: [0x1107, 0x1168, 0x11C1], NFKC: [0xBCF2], NFKD: [0x1107, 0x1168, 0x11C1] }, -{ source: [0xBCF3], NFC: [0xBCF3], NFD: [0x1107, 0x1168, 0x11C2], NFKC: [0xBCF3], NFKD: [0x1107, 0x1168, 0x11C2] }, -{ source: [0xBCF4], NFC: [0xBCF4], NFD: [0x1107, 0x1169], NFKC: [0xBCF4], NFKD: [0x1107, 0x1169] }, -{ source: [0xBCF5], NFC: [0xBCF5], NFD: [0x1107, 0x1169, 0x11A8], NFKC: [0xBCF5], NFKD: [0x1107, 0x1169, 0x11A8] }, -{ source: [0xBCF6], NFC: [0xBCF6], NFD: [0x1107, 0x1169, 0x11A9], NFKC: [0xBCF6], NFKD: [0x1107, 0x1169, 0x11A9] }, -{ source: [0xBCF7], NFC: [0xBCF7], NFD: [0x1107, 0x1169, 0x11AA], NFKC: [0xBCF7], NFKD: [0x1107, 0x1169, 0x11AA] }, -{ source: [0xBCF8], NFC: [0xBCF8], NFD: [0x1107, 0x1169, 0x11AB], NFKC: [0xBCF8], NFKD: [0x1107, 0x1169, 0x11AB] }, -{ source: [0xBCF9], NFC: [0xBCF9], NFD: [0x1107, 0x1169, 0x11AC], NFKC: [0xBCF9], NFKD: [0x1107, 0x1169, 0x11AC] }, -{ source: [0xBCFA], NFC: [0xBCFA], NFD: [0x1107, 0x1169, 0x11AD], NFKC: [0xBCFA], NFKD: [0x1107, 0x1169, 0x11AD] }, -{ source: [0xBCFB], NFC: [0xBCFB], NFD: [0x1107, 0x1169, 0x11AE], NFKC: [0xBCFB], NFKD: [0x1107, 0x1169, 0x11AE] }, -{ source: [0xBCFC], NFC: [0xBCFC], NFD: [0x1107, 0x1169, 0x11AF], NFKC: [0xBCFC], NFKD: [0x1107, 0x1169, 0x11AF] }, -{ source: [0xBCFD], NFC: [0xBCFD], NFD: [0x1107, 0x1169, 0x11B0], NFKC: [0xBCFD], NFKD: [0x1107, 0x1169, 0x11B0] }, -{ source: [0xBCFE], NFC: [0xBCFE], NFD: [0x1107, 0x1169, 0x11B1], NFKC: [0xBCFE], NFKD: [0x1107, 0x1169, 0x11B1] }, -{ source: [0xBCFF], NFC: [0xBCFF], NFD: [0x1107, 0x1169, 0x11B2], NFKC: [0xBCFF], NFKD: [0x1107, 0x1169, 0x11B2] }, -{ source: [0xBD00], NFC: [0xBD00], NFD: [0x1107, 0x1169, 0x11B3], NFKC: [0xBD00], NFKD: [0x1107, 0x1169, 0x11B3] }, -{ source: [0xBD01], NFC: [0xBD01], NFD: [0x1107, 0x1169, 0x11B4], NFKC: [0xBD01], NFKD: [0x1107, 0x1169, 0x11B4] }, -{ source: [0xBD02], NFC: [0xBD02], NFD: [0x1107, 0x1169, 0x11B5], NFKC: [0xBD02], NFKD: [0x1107, 0x1169, 0x11B5] }, -{ source: [0xBD03], NFC: [0xBD03], NFD: [0x1107, 0x1169, 0x11B6], NFKC: [0xBD03], NFKD: [0x1107, 0x1169, 0x11B6] }, -{ source: [0xBD04], NFC: [0xBD04], NFD: [0x1107, 0x1169, 0x11B7], NFKC: [0xBD04], NFKD: [0x1107, 0x1169, 0x11B7] }, -{ source: [0xBD05], NFC: [0xBD05], NFD: [0x1107, 0x1169, 0x11B8], NFKC: [0xBD05], NFKD: [0x1107, 0x1169, 0x11B8] }, -{ source: [0xBD06], NFC: [0xBD06], NFD: [0x1107, 0x1169, 0x11B9], NFKC: [0xBD06], NFKD: [0x1107, 0x1169, 0x11B9] }, -{ source: [0xBD07], NFC: [0xBD07], NFD: [0x1107, 0x1169, 0x11BA], NFKC: [0xBD07], NFKD: [0x1107, 0x1169, 0x11BA] }, -{ source: [0xBD08], NFC: [0xBD08], NFD: [0x1107, 0x1169, 0x11BB], NFKC: [0xBD08], NFKD: [0x1107, 0x1169, 0x11BB] }, -{ source: [0xBD09], NFC: [0xBD09], NFD: [0x1107, 0x1169, 0x11BC], NFKC: [0xBD09], NFKD: [0x1107, 0x1169, 0x11BC] }, -{ source: [0xBD0A], NFC: [0xBD0A], NFD: [0x1107, 0x1169, 0x11BD], NFKC: [0xBD0A], NFKD: [0x1107, 0x1169, 0x11BD] }, -{ source: [0xBD0B], NFC: [0xBD0B], NFD: [0x1107, 0x1169, 0x11BE], NFKC: [0xBD0B], NFKD: [0x1107, 0x1169, 0x11BE] }, -{ source: [0xBD0C], NFC: [0xBD0C], NFD: [0x1107, 0x1169, 0x11BF], NFKC: [0xBD0C], NFKD: [0x1107, 0x1169, 0x11BF] }, -{ source: [0xBD0D], NFC: [0xBD0D], NFD: [0x1107, 0x1169, 0x11C0], NFKC: [0xBD0D], NFKD: [0x1107, 0x1169, 0x11C0] }, -{ source: [0xBD0E], NFC: [0xBD0E], NFD: [0x1107, 0x1169, 0x11C1], NFKC: [0xBD0E], NFKD: [0x1107, 0x1169, 0x11C1] }, -{ source: [0xBD0F], NFC: [0xBD0F], NFD: [0x1107, 0x1169, 0x11C2], NFKC: [0xBD0F], NFKD: [0x1107, 0x1169, 0x11C2] }, -{ source: [0xBD10], NFC: [0xBD10], NFD: [0x1107, 0x116A], NFKC: [0xBD10], NFKD: [0x1107, 0x116A] }, -{ source: [0xBD11], NFC: [0xBD11], NFD: [0x1107, 0x116A, 0x11A8], NFKC: [0xBD11], NFKD: [0x1107, 0x116A, 0x11A8] }, -{ source: [0xBD12], NFC: [0xBD12], NFD: [0x1107, 0x116A, 0x11A9], NFKC: [0xBD12], NFKD: [0x1107, 0x116A, 0x11A9] }, -{ source: [0xBD13], NFC: [0xBD13], NFD: [0x1107, 0x116A, 0x11AA], NFKC: [0xBD13], NFKD: [0x1107, 0x116A, 0x11AA] }, -{ source: [0xBD14], NFC: [0xBD14], NFD: [0x1107, 0x116A, 0x11AB], NFKC: [0xBD14], NFKD: [0x1107, 0x116A, 0x11AB] }, -{ source: [0xBD15], NFC: [0xBD15], NFD: [0x1107, 0x116A, 0x11AC], NFKC: [0xBD15], NFKD: [0x1107, 0x116A, 0x11AC] }, -{ source: [0xBD16], NFC: [0xBD16], NFD: [0x1107, 0x116A, 0x11AD], NFKC: [0xBD16], NFKD: [0x1107, 0x116A, 0x11AD] }, -{ source: [0xBD17], NFC: [0xBD17], NFD: [0x1107, 0x116A, 0x11AE], NFKC: [0xBD17], NFKD: [0x1107, 0x116A, 0x11AE] }, -{ source: [0xBD18], NFC: [0xBD18], NFD: [0x1107, 0x116A, 0x11AF], NFKC: [0xBD18], NFKD: [0x1107, 0x116A, 0x11AF] }, -{ source: [0xBD19], NFC: [0xBD19], NFD: [0x1107, 0x116A, 0x11B0], NFKC: [0xBD19], NFKD: [0x1107, 0x116A, 0x11B0] }, -{ source: [0xBD1A], NFC: [0xBD1A], NFD: [0x1107, 0x116A, 0x11B1], NFKC: [0xBD1A], NFKD: [0x1107, 0x116A, 0x11B1] }, -{ source: [0xBD1B], NFC: [0xBD1B], NFD: [0x1107, 0x116A, 0x11B2], NFKC: [0xBD1B], NFKD: [0x1107, 0x116A, 0x11B2] }, -{ source: [0xBD1C], NFC: [0xBD1C], NFD: [0x1107, 0x116A, 0x11B3], NFKC: [0xBD1C], NFKD: [0x1107, 0x116A, 0x11B3] }, -{ source: [0xBD1D], NFC: [0xBD1D], NFD: [0x1107, 0x116A, 0x11B4], NFKC: [0xBD1D], NFKD: [0x1107, 0x116A, 0x11B4] }, -{ source: [0xBD1E], NFC: [0xBD1E], NFD: [0x1107, 0x116A, 0x11B5], NFKC: [0xBD1E], NFKD: [0x1107, 0x116A, 0x11B5] }, -{ source: [0xBD1F], NFC: [0xBD1F], NFD: [0x1107, 0x116A, 0x11B6], NFKC: [0xBD1F], NFKD: [0x1107, 0x116A, 0x11B6] }, -{ source: [0xBD20], NFC: [0xBD20], NFD: [0x1107, 0x116A, 0x11B7], NFKC: [0xBD20], NFKD: [0x1107, 0x116A, 0x11B7] }, -{ source: [0xBD21], NFC: [0xBD21], NFD: [0x1107, 0x116A, 0x11B8], NFKC: [0xBD21], NFKD: [0x1107, 0x116A, 0x11B8] }, -{ source: [0xBD22], NFC: [0xBD22], NFD: [0x1107, 0x116A, 0x11B9], NFKC: [0xBD22], NFKD: [0x1107, 0x116A, 0x11B9] }, -{ source: [0xBD23], NFC: [0xBD23], NFD: [0x1107, 0x116A, 0x11BA], NFKC: [0xBD23], NFKD: [0x1107, 0x116A, 0x11BA] }, -{ source: [0xBD24], NFC: [0xBD24], NFD: [0x1107, 0x116A, 0x11BB], NFKC: [0xBD24], NFKD: [0x1107, 0x116A, 0x11BB] }, -{ source: [0xBD25], NFC: [0xBD25], NFD: [0x1107, 0x116A, 0x11BC], NFKC: [0xBD25], NFKD: [0x1107, 0x116A, 0x11BC] }, -{ source: [0xBD26], NFC: [0xBD26], NFD: [0x1107, 0x116A, 0x11BD], NFKC: [0xBD26], NFKD: [0x1107, 0x116A, 0x11BD] }, -{ source: [0xBD27], NFC: [0xBD27], NFD: [0x1107, 0x116A, 0x11BE], NFKC: [0xBD27], NFKD: [0x1107, 0x116A, 0x11BE] }, -{ source: [0xBD28], NFC: [0xBD28], NFD: [0x1107, 0x116A, 0x11BF], NFKC: [0xBD28], NFKD: [0x1107, 0x116A, 0x11BF] }, -{ source: [0xBD29], NFC: [0xBD29], NFD: [0x1107, 0x116A, 0x11C0], NFKC: [0xBD29], NFKD: [0x1107, 0x116A, 0x11C0] }, -{ source: [0xBD2A], NFC: [0xBD2A], NFD: [0x1107, 0x116A, 0x11C1], NFKC: [0xBD2A], NFKD: [0x1107, 0x116A, 0x11C1] }, -{ source: [0xBD2B], NFC: [0xBD2B], NFD: [0x1107, 0x116A, 0x11C2], NFKC: [0xBD2B], NFKD: [0x1107, 0x116A, 0x11C2] }, -{ source: [0xBD2C], NFC: [0xBD2C], NFD: [0x1107, 0x116B], NFKC: [0xBD2C], NFKD: [0x1107, 0x116B] }, -{ source: [0xBD2D], NFC: [0xBD2D], NFD: [0x1107, 0x116B, 0x11A8], NFKC: [0xBD2D], NFKD: [0x1107, 0x116B, 0x11A8] }, -{ source: [0xBD2E], NFC: [0xBD2E], NFD: [0x1107, 0x116B, 0x11A9], NFKC: [0xBD2E], NFKD: [0x1107, 0x116B, 0x11A9] }, -{ source: [0xBD2F], NFC: [0xBD2F], NFD: [0x1107, 0x116B, 0x11AA], NFKC: [0xBD2F], NFKD: [0x1107, 0x116B, 0x11AA] }, -{ source: [0xBD30], NFC: [0xBD30], NFD: [0x1107, 0x116B, 0x11AB], NFKC: [0xBD30], NFKD: [0x1107, 0x116B, 0x11AB] }, -{ source: [0xBD31], NFC: [0xBD31], NFD: [0x1107, 0x116B, 0x11AC], NFKC: [0xBD31], NFKD: [0x1107, 0x116B, 0x11AC] }, -{ source: [0xBD32], NFC: [0xBD32], NFD: [0x1107, 0x116B, 0x11AD], NFKC: [0xBD32], NFKD: [0x1107, 0x116B, 0x11AD] }, -{ source: [0xBD33], NFC: [0xBD33], NFD: [0x1107, 0x116B, 0x11AE], NFKC: [0xBD33], NFKD: [0x1107, 0x116B, 0x11AE] }, -{ source: [0xBD34], NFC: [0xBD34], NFD: [0x1107, 0x116B, 0x11AF], NFKC: [0xBD34], NFKD: [0x1107, 0x116B, 0x11AF] }, -{ source: [0xBD35], NFC: [0xBD35], NFD: [0x1107, 0x116B, 0x11B0], NFKC: [0xBD35], NFKD: [0x1107, 0x116B, 0x11B0] }, -{ source: [0xBD36], NFC: [0xBD36], NFD: [0x1107, 0x116B, 0x11B1], NFKC: [0xBD36], NFKD: [0x1107, 0x116B, 0x11B1] }, -{ source: [0xBD37], NFC: [0xBD37], NFD: [0x1107, 0x116B, 0x11B2], NFKC: [0xBD37], NFKD: [0x1107, 0x116B, 0x11B2] }, -{ source: [0xBD38], NFC: [0xBD38], NFD: [0x1107, 0x116B, 0x11B3], NFKC: [0xBD38], NFKD: [0x1107, 0x116B, 0x11B3] }, -{ source: [0xBD39], NFC: [0xBD39], NFD: [0x1107, 0x116B, 0x11B4], NFKC: [0xBD39], NFKD: [0x1107, 0x116B, 0x11B4] }, -{ source: [0xBD3A], NFC: [0xBD3A], NFD: [0x1107, 0x116B, 0x11B5], NFKC: [0xBD3A], NFKD: [0x1107, 0x116B, 0x11B5] }, -{ source: [0xBD3B], NFC: [0xBD3B], NFD: [0x1107, 0x116B, 0x11B6], NFKC: [0xBD3B], NFKD: [0x1107, 0x116B, 0x11B6] }, -{ source: [0xBD3C], NFC: [0xBD3C], NFD: [0x1107, 0x116B, 0x11B7], NFKC: [0xBD3C], NFKD: [0x1107, 0x116B, 0x11B7] }, -{ source: [0xBD3D], NFC: [0xBD3D], NFD: [0x1107, 0x116B, 0x11B8], NFKC: [0xBD3D], NFKD: [0x1107, 0x116B, 0x11B8] }, -{ source: [0xBD3E], NFC: [0xBD3E], NFD: [0x1107, 0x116B, 0x11B9], NFKC: [0xBD3E], NFKD: [0x1107, 0x116B, 0x11B9] }, -{ source: [0xBD3F], NFC: [0xBD3F], NFD: [0x1107, 0x116B, 0x11BA], NFKC: [0xBD3F], NFKD: [0x1107, 0x116B, 0x11BA] }, -{ source: [0xBD40], NFC: [0xBD40], NFD: [0x1107, 0x116B, 0x11BB], NFKC: [0xBD40], NFKD: [0x1107, 0x116B, 0x11BB] }, -{ source: [0xBD41], NFC: [0xBD41], NFD: [0x1107, 0x116B, 0x11BC], NFKC: [0xBD41], NFKD: [0x1107, 0x116B, 0x11BC] }, -{ source: [0xBD42], NFC: [0xBD42], NFD: [0x1107, 0x116B, 0x11BD], NFKC: [0xBD42], NFKD: [0x1107, 0x116B, 0x11BD] }, -{ source: [0xBD43], NFC: [0xBD43], NFD: [0x1107, 0x116B, 0x11BE], NFKC: [0xBD43], NFKD: [0x1107, 0x116B, 0x11BE] }, -{ source: [0xBD44], NFC: [0xBD44], NFD: [0x1107, 0x116B, 0x11BF], NFKC: [0xBD44], NFKD: [0x1107, 0x116B, 0x11BF] }, -{ source: [0xBD45], NFC: [0xBD45], NFD: [0x1107, 0x116B, 0x11C0], NFKC: [0xBD45], NFKD: [0x1107, 0x116B, 0x11C0] }, -{ source: [0xBD46], NFC: [0xBD46], NFD: [0x1107, 0x116B, 0x11C1], NFKC: [0xBD46], NFKD: [0x1107, 0x116B, 0x11C1] }, -{ source: [0xBD47], NFC: [0xBD47], NFD: [0x1107, 0x116B, 0x11C2], NFKC: [0xBD47], NFKD: [0x1107, 0x116B, 0x11C2] }, -{ source: [0xBD48], NFC: [0xBD48], NFD: [0x1107, 0x116C], NFKC: [0xBD48], NFKD: [0x1107, 0x116C] }, -{ source: [0xBD49], NFC: [0xBD49], NFD: [0x1107, 0x116C, 0x11A8], NFKC: [0xBD49], NFKD: [0x1107, 0x116C, 0x11A8] }, -{ source: [0xBD4A], NFC: [0xBD4A], NFD: [0x1107, 0x116C, 0x11A9], NFKC: [0xBD4A], NFKD: [0x1107, 0x116C, 0x11A9] }, -{ source: [0xBD4B], NFC: [0xBD4B], NFD: [0x1107, 0x116C, 0x11AA], NFKC: [0xBD4B], NFKD: [0x1107, 0x116C, 0x11AA] }, -{ source: [0xBD4C], NFC: [0xBD4C], NFD: [0x1107, 0x116C, 0x11AB], NFKC: [0xBD4C], NFKD: [0x1107, 0x116C, 0x11AB] }, -{ source: [0xBD4D], NFC: [0xBD4D], NFD: [0x1107, 0x116C, 0x11AC], NFKC: [0xBD4D], NFKD: [0x1107, 0x116C, 0x11AC] }, -{ source: [0xBD4E], NFC: [0xBD4E], NFD: [0x1107, 0x116C, 0x11AD], NFKC: [0xBD4E], NFKD: [0x1107, 0x116C, 0x11AD] }, -{ source: [0xBD4F], NFC: [0xBD4F], NFD: [0x1107, 0x116C, 0x11AE], NFKC: [0xBD4F], NFKD: [0x1107, 0x116C, 0x11AE] }, -{ source: [0xBD50], NFC: [0xBD50], NFD: [0x1107, 0x116C, 0x11AF], NFKC: [0xBD50], NFKD: [0x1107, 0x116C, 0x11AF] }, -{ source: [0xBD51], NFC: [0xBD51], NFD: [0x1107, 0x116C, 0x11B0], NFKC: [0xBD51], NFKD: [0x1107, 0x116C, 0x11B0] }, -{ source: [0xBD52], NFC: [0xBD52], NFD: [0x1107, 0x116C, 0x11B1], NFKC: [0xBD52], NFKD: [0x1107, 0x116C, 0x11B1] }, -{ source: [0xBD53], NFC: [0xBD53], NFD: [0x1107, 0x116C, 0x11B2], NFKC: [0xBD53], NFKD: [0x1107, 0x116C, 0x11B2] }, -{ source: [0xBD54], NFC: [0xBD54], NFD: [0x1107, 0x116C, 0x11B3], NFKC: [0xBD54], NFKD: [0x1107, 0x116C, 0x11B3] }, -{ source: [0xBD55], NFC: [0xBD55], NFD: [0x1107, 0x116C, 0x11B4], NFKC: [0xBD55], NFKD: [0x1107, 0x116C, 0x11B4] }, -{ source: [0xBD56], NFC: [0xBD56], NFD: [0x1107, 0x116C, 0x11B5], NFKC: [0xBD56], NFKD: [0x1107, 0x116C, 0x11B5] }, -{ source: [0xBD57], NFC: [0xBD57], NFD: [0x1107, 0x116C, 0x11B6], NFKC: [0xBD57], NFKD: [0x1107, 0x116C, 0x11B6] }, -{ source: [0xBD58], NFC: [0xBD58], NFD: [0x1107, 0x116C, 0x11B7], NFKC: [0xBD58], NFKD: [0x1107, 0x116C, 0x11B7] }, -{ source: [0xBD59], NFC: [0xBD59], NFD: [0x1107, 0x116C, 0x11B8], NFKC: [0xBD59], NFKD: [0x1107, 0x116C, 0x11B8] }, -{ source: [0xBD5A], NFC: [0xBD5A], NFD: [0x1107, 0x116C, 0x11B9], NFKC: [0xBD5A], NFKD: [0x1107, 0x116C, 0x11B9] }, -{ source: [0xBD5B], NFC: [0xBD5B], NFD: [0x1107, 0x116C, 0x11BA], NFKC: [0xBD5B], NFKD: [0x1107, 0x116C, 0x11BA] }, -{ source: [0xBD5C], NFC: [0xBD5C], NFD: [0x1107, 0x116C, 0x11BB], NFKC: [0xBD5C], NFKD: [0x1107, 0x116C, 0x11BB] }, -{ source: [0xBD5D], NFC: [0xBD5D], NFD: [0x1107, 0x116C, 0x11BC], NFKC: [0xBD5D], NFKD: [0x1107, 0x116C, 0x11BC] }, -{ source: [0xBD5E], NFC: [0xBD5E], NFD: [0x1107, 0x116C, 0x11BD], NFKC: [0xBD5E], NFKD: [0x1107, 0x116C, 0x11BD] }, -{ source: [0xBD5F], NFC: [0xBD5F], NFD: [0x1107, 0x116C, 0x11BE], NFKC: [0xBD5F], NFKD: [0x1107, 0x116C, 0x11BE] }, -{ source: [0xBD60], NFC: [0xBD60], NFD: [0x1107, 0x116C, 0x11BF], NFKC: [0xBD60], NFKD: [0x1107, 0x116C, 0x11BF] }, -{ source: [0xBD61], NFC: [0xBD61], NFD: [0x1107, 0x116C, 0x11C0], NFKC: [0xBD61], NFKD: [0x1107, 0x116C, 0x11C0] }, -{ source: [0xBD62], NFC: [0xBD62], NFD: [0x1107, 0x116C, 0x11C1], NFKC: [0xBD62], NFKD: [0x1107, 0x116C, 0x11C1] }, -{ source: [0xBD63], NFC: [0xBD63], NFD: [0x1107, 0x116C, 0x11C2], NFKC: [0xBD63], NFKD: [0x1107, 0x116C, 0x11C2] }, -{ source: [0xBD64], NFC: [0xBD64], NFD: [0x1107, 0x116D], NFKC: [0xBD64], NFKD: [0x1107, 0x116D] }, -{ source: [0xBD65], NFC: [0xBD65], NFD: [0x1107, 0x116D, 0x11A8], NFKC: [0xBD65], NFKD: [0x1107, 0x116D, 0x11A8] }, -{ source: [0xBD66], NFC: [0xBD66], NFD: [0x1107, 0x116D, 0x11A9], NFKC: [0xBD66], NFKD: [0x1107, 0x116D, 0x11A9] }, -{ source: [0xBD67], NFC: [0xBD67], NFD: [0x1107, 0x116D, 0x11AA], NFKC: [0xBD67], NFKD: [0x1107, 0x116D, 0x11AA] }, -{ source: [0xBD68], NFC: [0xBD68], NFD: [0x1107, 0x116D, 0x11AB], NFKC: [0xBD68], NFKD: [0x1107, 0x116D, 0x11AB] }, -{ source: [0xBD69], NFC: [0xBD69], NFD: [0x1107, 0x116D, 0x11AC], NFKC: [0xBD69], NFKD: [0x1107, 0x116D, 0x11AC] }, -{ source: [0xBD6A], NFC: [0xBD6A], NFD: [0x1107, 0x116D, 0x11AD], NFKC: [0xBD6A], NFKD: [0x1107, 0x116D, 0x11AD] }, -{ source: [0xBD6B], NFC: [0xBD6B], NFD: [0x1107, 0x116D, 0x11AE], NFKC: [0xBD6B], NFKD: [0x1107, 0x116D, 0x11AE] }, -{ source: [0xBD6C], NFC: [0xBD6C], NFD: [0x1107, 0x116D, 0x11AF], NFKC: [0xBD6C], NFKD: [0x1107, 0x116D, 0x11AF] }, -{ source: [0xBD6D], NFC: [0xBD6D], NFD: [0x1107, 0x116D, 0x11B0], NFKC: [0xBD6D], NFKD: [0x1107, 0x116D, 0x11B0] }, -{ source: [0xBD6E], NFC: [0xBD6E], NFD: [0x1107, 0x116D, 0x11B1], NFKC: [0xBD6E], NFKD: [0x1107, 0x116D, 0x11B1] }, -{ source: [0xBD6F], NFC: [0xBD6F], NFD: [0x1107, 0x116D, 0x11B2], NFKC: [0xBD6F], NFKD: [0x1107, 0x116D, 0x11B2] }, -{ source: [0xBD70], NFC: [0xBD70], NFD: [0x1107, 0x116D, 0x11B3], NFKC: [0xBD70], NFKD: [0x1107, 0x116D, 0x11B3] }, -{ source: [0xBD71], NFC: [0xBD71], NFD: [0x1107, 0x116D, 0x11B4], NFKC: [0xBD71], NFKD: [0x1107, 0x116D, 0x11B4] }, -{ source: [0xBD72], NFC: [0xBD72], NFD: [0x1107, 0x116D, 0x11B5], NFKC: [0xBD72], NFKD: [0x1107, 0x116D, 0x11B5] }, -{ source: [0xBD73], NFC: [0xBD73], NFD: [0x1107, 0x116D, 0x11B6], NFKC: [0xBD73], NFKD: [0x1107, 0x116D, 0x11B6] }, -{ source: [0xBD74], NFC: [0xBD74], NFD: [0x1107, 0x116D, 0x11B7], NFKC: [0xBD74], NFKD: [0x1107, 0x116D, 0x11B7] }, -{ source: [0xBD75], NFC: [0xBD75], NFD: [0x1107, 0x116D, 0x11B8], NFKC: [0xBD75], NFKD: [0x1107, 0x116D, 0x11B8] }, -{ source: [0xBD76], NFC: [0xBD76], NFD: [0x1107, 0x116D, 0x11B9], NFKC: [0xBD76], NFKD: [0x1107, 0x116D, 0x11B9] }, -{ source: [0xBD77], NFC: [0xBD77], NFD: [0x1107, 0x116D, 0x11BA], NFKC: [0xBD77], NFKD: [0x1107, 0x116D, 0x11BA] }, -{ source: [0xBD78], NFC: [0xBD78], NFD: [0x1107, 0x116D, 0x11BB], NFKC: [0xBD78], NFKD: [0x1107, 0x116D, 0x11BB] }, -{ source: [0xBD79], NFC: [0xBD79], NFD: [0x1107, 0x116D, 0x11BC], NFKC: [0xBD79], NFKD: [0x1107, 0x116D, 0x11BC] }, -{ source: [0xBD7A], NFC: [0xBD7A], NFD: [0x1107, 0x116D, 0x11BD], NFKC: [0xBD7A], NFKD: [0x1107, 0x116D, 0x11BD] }, -{ source: [0xBD7B], NFC: [0xBD7B], NFD: [0x1107, 0x116D, 0x11BE], NFKC: [0xBD7B], NFKD: [0x1107, 0x116D, 0x11BE] }, -{ source: [0xBD7C], NFC: [0xBD7C], NFD: [0x1107, 0x116D, 0x11BF], NFKC: [0xBD7C], NFKD: [0x1107, 0x116D, 0x11BF] }, -{ source: [0xBD7D], NFC: [0xBD7D], NFD: [0x1107, 0x116D, 0x11C0], NFKC: [0xBD7D], NFKD: [0x1107, 0x116D, 0x11C0] }, -{ source: [0xBD7E], NFC: [0xBD7E], NFD: [0x1107, 0x116D, 0x11C1], NFKC: [0xBD7E], NFKD: [0x1107, 0x116D, 0x11C1] }, -{ source: [0xBD7F], NFC: [0xBD7F], NFD: [0x1107, 0x116D, 0x11C2], NFKC: [0xBD7F], NFKD: [0x1107, 0x116D, 0x11C2] }, -{ source: [0xBD80], NFC: [0xBD80], NFD: [0x1107, 0x116E], NFKC: [0xBD80], NFKD: [0x1107, 0x116E] }, -{ source: [0xBD81], NFC: [0xBD81], NFD: [0x1107, 0x116E, 0x11A8], NFKC: [0xBD81], NFKD: [0x1107, 0x116E, 0x11A8] }, -{ source: [0xBD82], NFC: [0xBD82], NFD: [0x1107, 0x116E, 0x11A9], NFKC: [0xBD82], NFKD: [0x1107, 0x116E, 0x11A9] }, -{ source: [0xBD83], NFC: [0xBD83], NFD: [0x1107, 0x116E, 0x11AA], NFKC: [0xBD83], NFKD: [0x1107, 0x116E, 0x11AA] }, -{ source: [0xBD84], NFC: [0xBD84], NFD: [0x1107, 0x116E, 0x11AB], NFKC: [0xBD84], NFKD: [0x1107, 0x116E, 0x11AB] }, -{ source: [0xBD85], NFC: [0xBD85], NFD: [0x1107, 0x116E, 0x11AC], NFKC: [0xBD85], NFKD: [0x1107, 0x116E, 0x11AC] }, -{ source: [0xBD86], NFC: [0xBD86], NFD: [0x1107, 0x116E, 0x11AD], NFKC: [0xBD86], NFKD: [0x1107, 0x116E, 0x11AD] }, -{ source: [0xBD87], NFC: [0xBD87], NFD: [0x1107, 0x116E, 0x11AE], NFKC: [0xBD87], NFKD: [0x1107, 0x116E, 0x11AE] }, -{ source: [0xBD88], NFC: [0xBD88], NFD: [0x1107, 0x116E, 0x11AF], NFKC: [0xBD88], NFKD: [0x1107, 0x116E, 0x11AF] }, -{ source: [0xBD89], NFC: [0xBD89], NFD: [0x1107, 0x116E, 0x11B0], NFKC: [0xBD89], NFKD: [0x1107, 0x116E, 0x11B0] }, -{ source: [0xBD8A], NFC: [0xBD8A], NFD: [0x1107, 0x116E, 0x11B1], NFKC: [0xBD8A], NFKD: [0x1107, 0x116E, 0x11B1] }, -{ source: [0xBD8B], NFC: [0xBD8B], NFD: [0x1107, 0x116E, 0x11B2], NFKC: [0xBD8B], NFKD: [0x1107, 0x116E, 0x11B2] }, -{ source: [0xBD8C], NFC: [0xBD8C], NFD: [0x1107, 0x116E, 0x11B3], NFKC: [0xBD8C], NFKD: [0x1107, 0x116E, 0x11B3] }, -{ source: [0xBD8D], NFC: [0xBD8D], NFD: [0x1107, 0x116E, 0x11B4], NFKC: [0xBD8D], NFKD: [0x1107, 0x116E, 0x11B4] }, -{ source: [0xBD8E], NFC: [0xBD8E], NFD: [0x1107, 0x116E, 0x11B5], NFKC: [0xBD8E], NFKD: [0x1107, 0x116E, 0x11B5] }, -{ source: [0xBD8F], NFC: [0xBD8F], NFD: [0x1107, 0x116E, 0x11B6], NFKC: [0xBD8F], NFKD: [0x1107, 0x116E, 0x11B6] }, -{ source: [0xBD90], NFC: [0xBD90], NFD: [0x1107, 0x116E, 0x11B7], NFKC: [0xBD90], NFKD: [0x1107, 0x116E, 0x11B7] }, -{ source: [0xBD91], NFC: [0xBD91], NFD: [0x1107, 0x116E, 0x11B8], NFKC: [0xBD91], NFKD: [0x1107, 0x116E, 0x11B8] }, -{ source: [0xBD92], NFC: [0xBD92], NFD: [0x1107, 0x116E, 0x11B9], NFKC: [0xBD92], NFKD: [0x1107, 0x116E, 0x11B9] }, -{ source: [0xBD93], NFC: [0xBD93], NFD: [0x1107, 0x116E, 0x11BA], NFKC: [0xBD93], NFKD: [0x1107, 0x116E, 0x11BA] }, -{ source: [0xBD94], NFC: [0xBD94], NFD: [0x1107, 0x116E, 0x11BB], NFKC: [0xBD94], NFKD: [0x1107, 0x116E, 0x11BB] }, -{ source: [0xBD95], NFC: [0xBD95], NFD: [0x1107, 0x116E, 0x11BC], NFKC: [0xBD95], NFKD: [0x1107, 0x116E, 0x11BC] }, -{ source: [0xBD96], NFC: [0xBD96], NFD: [0x1107, 0x116E, 0x11BD], NFKC: [0xBD96], NFKD: [0x1107, 0x116E, 0x11BD] }, -{ source: [0xBD97], NFC: [0xBD97], NFD: [0x1107, 0x116E, 0x11BE], NFKC: [0xBD97], NFKD: [0x1107, 0x116E, 0x11BE] }, -{ source: [0xBD98], NFC: [0xBD98], NFD: [0x1107, 0x116E, 0x11BF], NFKC: [0xBD98], NFKD: [0x1107, 0x116E, 0x11BF] }, -{ source: [0xBD99], NFC: [0xBD99], NFD: [0x1107, 0x116E, 0x11C0], NFKC: [0xBD99], NFKD: [0x1107, 0x116E, 0x11C0] }, -{ source: [0xBD9A], NFC: [0xBD9A], NFD: [0x1107, 0x116E, 0x11C1], NFKC: [0xBD9A], NFKD: [0x1107, 0x116E, 0x11C1] }, -{ source: [0xBD9B], NFC: [0xBD9B], NFD: [0x1107, 0x116E, 0x11C2], NFKC: [0xBD9B], NFKD: [0x1107, 0x116E, 0x11C2] }, -{ source: [0xBD9C], NFC: [0xBD9C], NFD: [0x1107, 0x116F], NFKC: [0xBD9C], NFKD: [0x1107, 0x116F] }, -{ source: [0xBD9D], NFC: [0xBD9D], NFD: [0x1107, 0x116F, 0x11A8], NFKC: [0xBD9D], NFKD: [0x1107, 0x116F, 0x11A8] }, -{ source: [0xBD9E], NFC: [0xBD9E], NFD: [0x1107, 0x116F, 0x11A9], NFKC: [0xBD9E], NFKD: [0x1107, 0x116F, 0x11A9] }, -{ source: [0xBD9F], NFC: [0xBD9F], NFD: [0x1107, 0x116F, 0x11AA], NFKC: [0xBD9F], NFKD: [0x1107, 0x116F, 0x11AA] }, -{ source: [0xBDA0], NFC: [0xBDA0], NFD: [0x1107, 0x116F, 0x11AB], NFKC: [0xBDA0], NFKD: [0x1107, 0x116F, 0x11AB] }, -{ source: [0xBDA1], NFC: [0xBDA1], NFD: [0x1107, 0x116F, 0x11AC], NFKC: [0xBDA1], NFKD: [0x1107, 0x116F, 0x11AC] }, -{ source: [0xBDA2], NFC: [0xBDA2], NFD: [0x1107, 0x116F, 0x11AD], NFKC: [0xBDA2], NFKD: [0x1107, 0x116F, 0x11AD] }, -{ source: [0xBDA3], NFC: [0xBDA3], NFD: [0x1107, 0x116F, 0x11AE], NFKC: [0xBDA3], NFKD: [0x1107, 0x116F, 0x11AE] }, -{ source: [0xBDA4], NFC: [0xBDA4], NFD: [0x1107, 0x116F, 0x11AF], NFKC: [0xBDA4], NFKD: [0x1107, 0x116F, 0x11AF] }, -{ source: [0xBDA5], NFC: [0xBDA5], NFD: [0x1107, 0x116F, 0x11B0], NFKC: [0xBDA5], NFKD: [0x1107, 0x116F, 0x11B0] }, -{ source: [0xBDA6], NFC: [0xBDA6], NFD: [0x1107, 0x116F, 0x11B1], NFKC: [0xBDA6], NFKD: [0x1107, 0x116F, 0x11B1] }, -{ source: [0xBDA7], NFC: [0xBDA7], NFD: [0x1107, 0x116F, 0x11B2], NFKC: [0xBDA7], NFKD: [0x1107, 0x116F, 0x11B2] }, -{ source: [0xBDA8], NFC: [0xBDA8], NFD: [0x1107, 0x116F, 0x11B3], NFKC: [0xBDA8], NFKD: [0x1107, 0x116F, 0x11B3] }, -{ source: [0xBDA9], NFC: [0xBDA9], NFD: [0x1107, 0x116F, 0x11B4], NFKC: [0xBDA9], NFKD: [0x1107, 0x116F, 0x11B4] }, -{ source: [0xBDAA], NFC: [0xBDAA], NFD: [0x1107, 0x116F, 0x11B5], NFKC: [0xBDAA], NFKD: [0x1107, 0x116F, 0x11B5] }, -{ source: [0xBDAB], NFC: [0xBDAB], NFD: [0x1107, 0x116F, 0x11B6], NFKC: [0xBDAB], NFKD: [0x1107, 0x116F, 0x11B6] }, -{ source: [0xBDAC], NFC: [0xBDAC], NFD: [0x1107, 0x116F, 0x11B7], NFKC: [0xBDAC], NFKD: [0x1107, 0x116F, 0x11B7] }, -{ source: [0xBDAD], NFC: [0xBDAD], NFD: [0x1107, 0x116F, 0x11B8], NFKC: [0xBDAD], NFKD: [0x1107, 0x116F, 0x11B8] }, -{ source: [0xBDAE], NFC: [0xBDAE], NFD: [0x1107, 0x116F, 0x11B9], NFKC: [0xBDAE], NFKD: [0x1107, 0x116F, 0x11B9] }, -{ source: [0xBDAF], NFC: [0xBDAF], NFD: [0x1107, 0x116F, 0x11BA], NFKC: [0xBDAF], NFKD: [0x1107, 0x116F, 0x11BA] }, -{ source: [0xBDB0], NFC: [0xBDB0], NFD: [0x1107, 0x116F, 0x11BB], NFKC: [0xBDB0], NFKD: [0x1107, 0x116F, 0x11BB] }, -{ source: [0xBDB1], NFC: [0xBDB1], NFD: [0x1107, 0x116F, 0x11BC], NFKC: [0xBDB1], NFKD: [0x1107, 0x116F, 0x11BC] }, -{ source: [0xBDB2], NFC: [0xBDB2], NFD: [0x1107, 0x116F, 0x11BD], NFKC: [0xBDB2], NFKD: [0x1107, 0x116F, 0x11BD] }, -{ source: [0xBDB3], NFC: [0xBDB3], NFD: [0x1107, 0x116F, 0x11BE], NFKC: [0xBDB3], NFKD: [0x1107, 0x116F, 0x11BE] }, -{ source: [0xBDB4], NFC: [0xBDB4], NFD: [0x1107, 0x116F, 0x11BF], NFKC: [0xBDB4], NFKD: [0x1107, 0x116F, 0x11BF] }, -{ source: [0xBDB5], NFC: [0xBDB5], NFD: [0x1107, 0x116F, 0x11C0], NFKC: [0xBDB5], NFKD: [0x1107, 0x116F, 0x11C0] }, -{ source: [0xBDB6], NFC: [0xBDB6], NFD: [0x1107, 0x116F, 0x11C1], NFKC: [0xBDB6], NFKD: [0x1107, 0x116F, 0x11C1] }, -{ source: [0xBDB7], NFC: [0xBDB7], NFD: [0x1107, 0x116F, 0x11C2], NFKC: [0xBDB7], NFKD: [0x1107, 0x116F, 0x11C2] }, -{ source: [0xBDB8], NFC: [0xBDB8], NFD: [0x1107, 0x1170], NFKC: [0xBDB8], NFKD: [0x1107, 0x1170] }, -{ source: [0xBDB9], NFC: [0xBDB9], NFD: [0x1107, 0x1170, 0x11A8], NFKC: [0xBDB9], NFKD: [0x1107, 0x1170, 0x11A8] }, -{ source: [0xBDBA], NFC: [0xBDBA], NFD: [0x1107, 0x1170, 0x11A9], NFKC: [0xBDBA], NFKD: [0x1107, 0x1170, 0x11A9] }, -{ source: [0xBDBB], NFC: [0xBDBB], NFD: [0x1107, 0x1170, 0x11AA], NFKC: [0xBDBB], NFKD: [0x1107, 0x1170, 0x11AA] }, -{ source: [0xBDBC], NFC: [0xBDBC], NFD: [0x1107, 0x1170, 0x11AB], NFKC: [0xBDBC], NFKD: [0x1107, 0x1170, 0x11AB] }, -{ source: [0xBDBD], NFC: [0xBDBD], NFD: [0x1107, 0x1170, 0x11AC], NFKC: [0xBDBD], NFKD: [0x1107, 0x1170, 0x11AC] }, -{ source: [0xBDBE], NFC: [0xBDBE], NFD: [0x1107, 0x1170, 0x11AD], NFKC: [0xBDBE], NFKD: [0x1107, 0x1170, 0x11AD] }, -{ source: [0xBDBF], NFC: [0xBDBF], NFD: [0x1107, 0x1170, 0x11AE], NFKC: [0xBDBF], NFKD: [0x1107, 0x1170, 0x11AE] }, -{ source: [0xBDC0], NFC: [0xBDC0], NFD: [0x1107, 0x1170, 0x11AF], NFKC: [0xBDC0], NFKD: [0x1107, 0x1170, 0x11AF] }, -{ source: [0xBDC1], NFC: [0xBDC1], NFD: [0x1107, 0x1170, 0x11B0], NFKC: [0xBDC1], NFKD: [0x1107, 0x1170, 0x11B0] }, -{ source: [0xBDC2], NFC: [0xBDC2], NFD: [0x1107, 0x1170, 0x11B1], NFKC: [0xBDC2], NFKD: [0x1107, 0x1170, 0x11B1] }, -{ source: [0xBDC3], NFC: [0xBDC3], NFD: [0x1107, 0x1170, 0x11B2], NFKC: [0xBDC3], NFKD: [0x1107, 0x1170, 0x11B2] }, -{ source: [0xBDC4], NFC: [0xBDC4], NFD: [0x1107, 0x1170, 0x11B3], NFKC: [0xBDC4], NFKD: [0x1107, 0x1170, 0x11B3] }, -{ source: [0xBDC5], NFC: [0xBDC5], NFD: [0x1107, 0x1170, 0x11B4], NFKC: [0xBDC5], NFKD: [0x1107, 0x1170, 0x11B4] }, -{ source: [0xBDC6], NFC: [0xBDC6], NFD: [0x1107, 0x1170, 0x11B5], NFKC: [0xBDC6], NFKD: [0x1107, 0x1170, 0x11B5] }, -{ source: [0xBDC7], NFC: [0xBDC7], NFD: [0x1107, 0x1170, 0x11B6], NFKC: [0xBDC7], NFKD: [0x1107, 0x1170, 0x11B6] }, -{ source: [0xBDC8], NFC: [0xBDC8], NFD: [0x1107, 0x1170, 0x11B7], NFKC: [0xBDC8], NFKD: [0x1107, 0x1170, 0x11B7] }, -{ source: [0xBDC9], NFC: [0xBDC9], NFD: [0x1107, 0x1170, 0x11B8], NFKC: [0xBDC9], NFKD: [0x1107, 0x1170, 0x11B8] }, -{ source: [0xBDCA], NFC: [0xBDCA], NFD: [0x1107, 0x1170, 0x11B9], NFKC: [0xBDCA], NFKD: [0x1107, 0x1170, 0x11B9] }, -{ source: [0xBDCB], NFC: [0xBDCB], NFD: [0x1107, 0x1170, 0x11BA], NFKC: [0xBDCB], NFKD: [0x1107, 0x1170, 0x11BA] }, -{ source: [0xBDCC], NFC: [0xBDCC], NFD: [0x1107, 0x1170, 0x11BB], NFKC: [0xBDCC], NFKD: [0x1107, 0x1170, 0x11BB] }, -{ source: [0xBDCD], NFC: [0xBDCD], NFD: [0x1107, 0x1170, 0x11BC], NFKC: [0xBDCD], NFKD: [0x1107, 0x1170, 0x11BC] }, -{ source: [0xBDCE], NFC: [0xBDCE], NFD: [0x1107, 0x1170, 0x11BD], NFKC: [0xBDCE], NFKD: [0x1107, 0x1170, 0x11BD] }, -{ source: [0xBDCF], NFC: [0xBDCF], NFD: [0x1107, 0x1170, 0x11BE], NFKC: [0xBDCF], NFKD: [0x1107, 0x1170, 0x11BE] }, -{ source: [0xBDD0], NFC: [0xBDD0], NFD: [0x1107, 0x1170, 0x11BF], NFKC: [0xBDD0], NFKD: [0x1107, 0x1170, 0x11BF] }, -{ source: [0xBDD1], NFC: [0xBDD1], NFD: [0x1107, 0x1170, 0x11C0], NFKC: [0xBDD1], NFKD: [0x1107, 0x1170, 0x11C0] }, -{ source: [0xBDD2], NFC: [0xBDD2], NFD: [0x1107, 0x1170, 0x11C1], NFKC: [0xBDD2], NFKD: [0x1107, 0x1170, 0x11C1] }, -{ source: [0xBDD3], NFC: [0xBDD3], NFD: [0x1107, 0x1170, 0x11C2], NFKC: [0xBDD3], NFKD: [0x1107, 0x1170, 0x11C2] }, -{ source: [0xBDD4], NFC: [0xBDD4], NFD: [0x1107, 0x1171], NFKC: [0xBDD4], NFKD: [0x1107, 0x1171] }, -{ source: [0xBDD5], NFC: [0xBDD5], NFD: [0x1107, 0x1171, 0x11A8], NFKC: [0xBDD5], NFKD: [0x1107, 0x1171, 0x11A8] }, -{ source: [0xBDD6], NFC: [0xBDD6], NFD: [0x1107, 0x1171, 0x11A9], NFKC: [0xBDD6], NFKD: [0x1107, 0x1171, 0x11A9] }, -{ source: [0xBDD7], NFC: [0xBDD7], NFD: [0x1107, 0x1171, 0x11AA], NFKC: [0xBDD7], NFKD: [0x1107, 0x1171, 0x11AA] }, -{ source: [0xBDD8], NFC: [0xBDD8], NFD: [0x1107, 0x1171, 0x11AB], NFKC: [0xBDD8], NFKD: [0x1107, 0x1171, 0x11AB] }, -{ source: [0xBDD9], NFC: [0xBDD9], NFD: [0x1107, 0x1171, 0x11AC], NFKC: [0xBDD9], NFKD: [0x1107, 0x1171, 0x11AC] }, -{ source: [0xBDDA], NFC: [0xBDDA], NFD: [0x1107, 0x1171, 0x11AD], NFKC: [0xBDDA], NFKD: [0x1107, 0x1171, 0x11AD] }, -{ source: [0xBDDB], NFC: [0xBDDB], NFD: [0x1107, 0x1171, 0x11AE], NFKC: [0xBDDB], NFKD: [0x1107, 0x1171, 0x11AE] }, -{ source: [0xBDDC], NFC: [0xBDDC], NFD: [0x1107, 0x1171, 0x11AF], NFKC: [0xBDDC], NFKD: [0x1107, 0x1171, 0x11AF] }, -{ source: [0xBDDD], NFC: [0xBDDD], NFD: [0x1107, 0x1171, 0x11B0], NFKC: [0xBDDD], NFKD: [0x1107, 0x1171, 0x11B0] }, -{ source: [0xBDDE], NFC: [0xBDDE], NFD: [0x1107, 0x1171, 0x11B1], NFKC: [0xBDDE], NFKD: [0x1107, 0x1171, 0x11B1] }, -{ source: [0xBDDF], NFC: [0xBDDF], NFD: [0x1107, 0x1171, 0x11B2], NFKC: [0xBDDF], NFKD: [0x1107, 0x1171, 0x11B2] }, -{ source: [0xBDE0], NFC: [0xBDE0], NFD: [0x1107, 0x1171, 0x11B3], NFKC: [0xBDE0], NFKD: [0x1107, 0x1171, 0x11B3] }, -{ source: [0xBDE1], NFC: [0xBDE1], NFD: [0x1107, 0x1171, 0x11B4], NFKC: [0xBDE1], NFKD: [0x1107, 0x1171, 0x11B4] }, -{ source: [0xBDE2], NFC: [0xBDE2], NFD: [0x1107, 0x1171, 0x11B5], NFKC: [0xBDE2], NFKD: [0x1107, 0x1171, 0x11B5] }, -{ source: [0xBDE3], NFC: [0xBDE3], NFD: [0x1107, 0x1171, 0x11B6], NFKC: [0xBDE3], NFKD: [0x1107, 0x1171, 0x11B6] }, -{ source: [0xBDE4], NFC: [0xBDE4], NFD: [0x1107, 0x1171, 0x11B7], NFKC: [0xBDE4], NFKD: [0x1107, 0x1171, 0x11B7] }, -{ source: [0xBDE5], NFC: [0xBDE5], NFD: [0x1107, 0x1171, 0x11B8], NFKC: [0xBDE5], NFKD: [0x1107, 0x1171, 0x11B8] }, -{ source: [0xBDE6], NFC: [0xBDE6], NFD: [0x1107, 0x1171, 0x11B9], NFKC: [0xBDE6], NFKD: [0x1107, 0x1171, 0x11B9] }, -{ source: [0xBDE7], NFC: [0xBDE7], NFD: [0x1107, 0x1171, 0x11BA], NFKC: [0xBDE7], NFKD: [0x1107, 0x1171, 0x11BA] }, -{ source: [0xBDE8], NFC: [0xBDE8], NFD: [0x1107, 0x1171, 0x11BB], NFKC: [0xBDE8], NFKD: [0x1107, 0x1171, 0x11BB] }, -{ source: [0xBDE9], NFC: [0xBDE9], NFD: [0x1107, 0x1171, 0x11BC], NFKC: [0xBDE9], NFKD: [0x1107, 0x1171, 0x11BC] }, -{ source: [0xBDEA], NFC: [0xBDEA], NFD: [0x1107, 0x1171, 0x11BD], NFKC: [0xBDEA], NFKD: [0x1107, 0x1171, 0x11BD] }, -{ source: [0xBDEB], NFC: [0xBDEB], NFD: [0x1107, 0x1171, 0x11BE], NFKC: [0xBDEB], NFKD: [0x1107, 0x1171, 0x11BE] }, -{ source: [0xBDEC], NFC: [0xBDEC], NFD: [0x1107, 0x1171, 0x11BF], NFKC: [0xBDEC], NFKD: [0x1107, 0x1171, 0x11BF] }, -{ source: [0xBDED], NFC: [0xBDED], NFD: [0x1107, 0x1171, 0x11C0], NFKC: [0xBDED], NFKD: [0x1107, 0x1171, 0x11C0] }, -{ source: [0xBDEE], NFC: [0xBDEE], NFD: [0x1107, 0x1171, 0x11C1], NFKC: [0xBDEE], NFKD: [0x1107, 0x1171, 0x11C1] }, -{ source: [0xBDEF], NFC: [0xBDEF], NFD: [0x1107, 0x1171, 0x11C2], NFKC: [0xBDEF], NFKD: [0x1107, 0x1171, 0x11C2] }, -{ source: [0xBDF0], NFC: [0xBDF0], NFD: [0x1107, 0x1172], NFKC: [0xBDF0], NFKD: [0x1107, 0x1172] }, -{ source: [0xBDF1], NFC: [0xBDF1], NFD: [0x1107, 0x1172, 0x11A8], NFKC: [0xBDF1], NFKD: [0x1107, 0x1172, 0x11A8] }, -{ source: [0xBDF2], NFC: [0xBDF2], NFD: [0x1107, 0x1172, 0x11A9], NFKC: [0xBDF2], NFKD: [0x1107, 0x1172, 0x11A9] }, -{ source: [0xBDF3], NFC: [0xBDF3], NFD: [0x1107, 0x1172, 0x11AA], NFKC: [0xBDF3], NFKD: [0x1107, 0x1172, 0x11AA] }, -{ source: [0xBDF4], NFC: [0xBDF4], NFD: [0x1107, 0x1172, 0x11AB], NFKC: [0xBDF4], NFKD: [0x1107, 0x1172, 0x11AB] }, -{ source: [0xBDF5], NFC: [0xBDF5], NFD: [0x1107, 0x1172, 0x11AC], NFKC: [0xBDF5], NFKD: [0x1107, 0x1172, 0x11AC] }, -{ source: [0xBDF6], NFC: [0xBDF6], NFD: [0x1107, 0x1172, 0x11AD], NFKC: [0xBDF6], NFKD: [0x1107, 0x1172, 0x11AD] }, -{ source: [0xBDF7], NFC: [0xBDF7], NFD: [0x1107, 0x1172, 0x11AE], NFKC: [0xBDF7], NFKD: [0x1107, 0x1172, 0x11AE] }, -{ source: [0xBDF8], NFC: [0xBDF8], NFD: [0x1107, 0x1172, 0x11AF], NFKC: [0xBDF8], NFKD: [0x1107, 0x1172, 0x11AF] }, -{ source: [0xBDF9], NFC: [0xBDF9], NFD: [0x1107, 0x1172, 0x11B0], NFKC: [0xBDF9], NFKD: [0x1107, 0x1172, 0x11B0] }, -{ source: [0xBDFA], NFC: [0xBDFA], NFD: [0x1107, 0x1172, 0x11B1], NFKC: [0xBDFA], NFKD: [0x1107, 0x1172, 0x11B1] }, -{ source: [0xBDFB], NFC: [0xBDFB], NFD: [0x1107, 0x1172, 0x11B2], NFKC: [0xBDFB], NFKD: [0x1107, 0x1172, 0x11B2] }, -{ source: [0xBDFC], NFC: [0xBDFC], NFD: [0x1107, 0x1172, 0x11B3], NFKC: [0xBDFC], NFKD: [0x1107, 0x1172, 0x11B3] }, -{ source: [0xBDFD], NFC: [0xBDFD], NFD: [0x1107, 0x1172, 0x11B4], NFKC: [0xBDFD], NFKD: [0x1107, 0x1172, 0x11B4] }, -{ source: [0xBDFE], NFC: [0xBDFE], NFD: [0x1107, 0x1172, 0x11B5], NFKC: [0xBDFE], NFKD: [0x1107, 0x1172, 0x11B5] }, -{ source: [0xBDFF], NFC: [0xBDFF], NFD: [0x1107, 0x1172, 0x11B6], NFKC: [0xBDFF], NFKD: [0x1107, 0x1172, 0x11B6] }, -{ source: [0xBE00], NFC: [0xBE00], NFD: [0x1107, 0x1172, 0x11B7], NFKC: [0xBE00], NFKD: [0x1107, 0x1172, 0x11B7] }, -{ source: [0xBE01], NFC: [0xBE01], NFD: [0x1107, 0x1172, 0x11B8], NFKC: [0xBE01], NFKD: [0x1107, 0x1172, 0x11B8] }, -{ source: [0xBE02], NFC: [0xBE02], NFD: [0x1107, 0x1172, 0x11B9], NFKC: [0xBE02], NFKD: [0x1107, 0x1172, 0x11B9] }, -{ source: [0xBE03], NFC: [0xBE03], NFD: [0x1107, 0x1172, 0x11BA], NFKC: [0xBE03], NFKD: [0x1107, 0x1172, 0x11BA] }, -{ source: [0xBE04], NFC: [0xBE04], NFD: [0x1107, 0x1172, 0x11BB], NFKC: [0xBE04], NFKD: [0x1107, 0x1172, 0x11BB] }, -{ source: [0xBE05], NFC: [0xBE05], NFD: [0x1107, 0x1172, 0x11BC], NFKC: [0xBE05], NFKD: [0x1107, 0x1172, 0x11BC] }, -{ source: [0xBE06], NFC: [0xBE06], NFD: [0x1107, 0x1172, 0x11BD], NFKC: [0xBE06], NFKD: [0x1107, 0x1172, 0x11BD] }, -{ source: [0xBE07], NFC: [0xBE07], NFD: [0x1107, 0x1172, 0x11BE], NFKC: [0xBE07], NFKD: [0x1107, 0x1172, 0x11BE] }, -{ source: [0xBE08], NFC: [0xBE08], NFD: [0x1107, 0x1172, 0x11BF], NFKC: [0xBE08], NFKD: [0x1107, 0x1172, 0x11BF] }, -{ source: [0xBE09], NFC: [0xBE09], NFD: [0x1107, 0x1172, 0x11C0], NFKC: [0xBE09], NFKD: [0x1107, 0x1172, 0x11C0] }, -{ source: [0xBE0A], NFC: [0xBE0A], NFD: [0x1107, 0x1172, 0x11C1], NFKC: [0xBE0A], NFKD: [0x1107, 0x1172, 0x11C1] }, -{ source: [0xBE0B], NFC: [0xBE0B], NFD: [0x1107, 0x1172, 0x11C2], NFKC: [0xBE0B], NFKD: [0x1107, 0x1172, 0x11C2] }, -{ source: [0xBE0C], NFC: [0xBE0C], NFD: [0x1107, 0x1173], NFKC: [0xBE0C], NFKD: [0x1107, 0x1173] }, -{ source: [0xBE0D], NFC: [0xBE0D], NFD: [0x1107, 0x1173, 0x11A8], NFKC: [0xBE0D], NFKD: [0x1107, 0x1173, 0x11A8] }, -{ source: [0xBE0E], NFC: [0xBE0E], NFD: [0x1107, 0x1173, 0x11A9], NFKC: [0xBE0E], NFKD: [0x1107, 0x1173, 0x11A9] }, -{ source: [0xBE0F], NFC: [0xBE0F], NFD: [0x1107, 0x1173, 0x11AA], NFKC: [0xBE0F], NFKD: [0x1107, 0x1173, 0x11AA] }, -{ source: [0xBE10], NFC: [0xBE10], NFD: [0x1107, 0x1173, 0x11AB], NFKC: [0xBE10], NFKD: [0x1107, 0x1173, 0x11AB] }, -{ source: [0xBE11], NFC: [0xBE11], NFD: [0x1107, 0x1173, 0x11AC], NFKC: [0xBE11], NFKD: [0x1107, 0x1173, 0x11AC] }, -{ source: [0xBE12], NFC: [0xBE12], NFD: [0x1107, 0x1173, 0x11AD], NFKC: [0xBE12], NFKD: [0x1107, 0x1173, 0x11AD] }, -{ source: [0xBE13], NFC: [0xBE13], NFD: [0x1107, 0x1173, 0x11AE], NFKC: [0xBE13], NFKD: [0x1107, 0x1173, 0x11AE] }, -{ source: [0xBE14], NFC: [0xBE14], NFD: [0x1107, 0x1173, 0x11AF], NFKC: [0xBE14], NFKD: [0x1107, 0x1173, 0x11AF] }, -{ source: [0xBE15], NFC: [0xBE15], NFD: [0x1107, 0x1173, 0x11B0], NFKC: [0xBE15], NFKD: [0x1107, 0x1173, 0x11B0] }, -{ source: [0xBE16], NFC: [0xBE16], NFD: [0x1107, 0x1173, 0x11B1], NFKC: [0xBE16], NFKD: [0x1107, 0x1173, 0x11B1] }, -{ source: [0xBE17], NFC: [0xBE17], NFD: [0x1107, 0x1173, 0x11B2], NFKC: [0xBE17], NFKD: [0x1107, 0x1173, 0x11B2] }, -{ source: [0xBE18], NFC: [0xBE18], NFD: [0x1107, 0x1173, 0x11B3], NFKC: [0xBE18], NFKD: [0x1107, 0x1173, 0x11B3] }, -{ source: [0xBE19], NFC: [0xBE19], NFD: [0x1107, 0x1173, 0x11B4], NFKC: [0xBE19], NFKD: [0x1107, 0x1173, 0x11B4] }, -{ source: [0xBE1A], NFC: [0xBE1A], NFD: [0x1107, 0x1173, 0x11B5], NFKC: [0xBE1A], NFKD: [0x1107, 0x1173, 0x11B5] }, -{ source: [0xBE1B], NFC: [0xBE1B], NFD: [0x1107, 0x1173, 0x11B6], NFKC: [0xBE1B], NFKD: [0x1107, 0x1173, 0x11B6] }, -{ source: [0xBE1C], NFC: [0xBE1C], NFD: [0x1107, 0x1173, 0x11B7], NFKC: [0xBE1C], NFKD: [0x1107, 0x1173, 0x11B7] }, -{ source: [0xBE1D], NFC: [0xBE1D], NFD: [0x1107, 0x1173, 0x11B8], NFKC: [0xBE1D], NFKD: [0x1107, 0x1173, 0x11B8] }, -{ source: [0xBE1E], NFC: [0xBE1E], NFD: [0x1107, 0x1173, 0x11B9], NFKC: [0xBE1E], NFKD: [0x1107, 0x1173, 0x11B9] }, -{ source: [0xBE1F], NFC: [0xBE1F], NFD: [0x1107, 0x1173, 0x11BA], NFKC: [0xBE1F], NFKD: [0x1107, 0x1173, 0x11BA] }, -{ source: [0xBE20], NFC: [0xBE20], NFD: [0x1107, 0x1173, 0x11BB], NFKC: [0xBE20], NFKD: [0x1107, 0x1173, 0x11BB] }, -{ source: [0xBE21], NFC: [0xBE21], NFD: [0x1107, 0x1173, 0x11BC], NFKC: [0xBE21], NFKD: [0x1107, 0x1173, 0x11BC] }, -{ source: [0xBE22], NFC: [0xBE22], NFD: [0x1107, 0x1173, 0x11BD], NFKC: [0xBE22], NFKD: [0x1107, 0x1173, 0x11BD] }, -{ source: [0xBE23], NFC: [0xBE23], NFD: [0x1107, 0x1173, 0x11BE], NFKC: [0xBE23], NFKD: [0x1107, 0x1173, 0x11BE] }, -{ source: [0xBE24], NFC: [0xBE24], NFD: [0x1107, 0x1173, 0x11BF], NFKC: [0xBE24], NFKD: [0x1107, 0x1173, 0x11BF] }, -{ source: [0xBE25], NFC: [0xBE25], NFD: [0x1107, 0x1173, 0x11C0], NFKC: [0xBE25], NFKD: [0x1107, 0x1173, 0x11C0] }, -{ source: [0xBE26], NFC: [0xBE26], NFD: [0x1107, 0x1173, 0x11C1], NFKC: [0xBE26], NFKD: [0x1107, 0x1173, 0x11C1] }, -{ source: [0xBE27], NFC: [0xBE27], NFD: [0x1107, 0x1173, 0x11C2], NFKC: [0xBE27], NFKD: [0x1107, 0x1173, 0x11C2] }, -{ source: [0xBE28], NFC: [0xBE28], NFD: [0x1107, 0x1174], NFKC: [0xBE28], NFKD: [0x1107, 0x1174] }, -{ source: [0xBE29], NFC: [0xBE29], NFD: [0x1107, 0x1174, 0x11A8], NFKC: [0xBE29], NFKD: [0x1107, 0x1174, 0x11A8] }, -{ source: [0xBE2A], NFC: [0xBE2A], NFD: [0x1107, 0x1174, 0x11A9], NFKC: [0xBE2A], NFKD: [0x1107, 0x1174, 0x11A9] }, -{ source: [0xBE2B], NFC: [0xBE2B], NFD: [0x1107, 0x1174, 0x11AA], NFKC: [0xBE2B], NFKD: [0x1107, 0x1174, 0x11AA] }, -{ source: [0xBE2C], NFC: [0xBE2C], NFD: [0x1107, 0x1174, 0x11AB], NFKC: [0xBE2C], NFKD: [0x1107, 0x1174, 0x11AB] }, -{ source: [0xBE2D], NFC: [0xBE2D], NFD: [0x1107, 0x1174, 0x11AC], NFKC: [0xBE2D], NFKD: [0x1107, 0x1174, 0x11AC] }, -{ source: [0xBE2E], NFC: [0xBE2E], NFD: [0x1107, 0x1174, 0x11AD], NFKC: [0xBE2E], NFKD: [0x1107, 0x1174, 0x11AD] }, -{ source: [0xBE2F], NFC: [0xBE2F], NFD: [0x1107, 0x1174, 0x11AE], NFKC: [0xBE2F], NFKD: [0x1107, 0x1174, 0x11AE] }, -{ source: [0xBE30], NFC: [0xBE30], NFD: [0x1107, 0x1174, 0x11AF], NFKC: [0xBE30], NFKD: [0x1107, 0x1174, 0x11AF] }, -{ source: [0xBE31], NFC: [0xBE31], NFD: [0x1107, 0x1174, 0x11B0], NFKC: [0xBE31], NFKD: [0x1107, 0x1174, 0x11B0] }, -{ source: [0xBE32], NFC: [0xBE32], NFD: [0x1107, 0x1174, 0x11B1], NFKC: [0xBE32], NFKD: [0x1107, 0x1174, 0x11B1] }, -{ source: [0xBE33], NFC: [0xBE33], NFD: [0x1107, 0x1174, 0x11B2], NFKC: [0xBE33], NFKD: [0x1107, 0x1174, 0x11B2] }, -{ source: [0xBE34], NFC: [0xBE34], NFD: [0x1107, 0x1174, 0x11B3], NFKC: [0xBE34], NFKD: [0x1107, 0x1174, 0x11B3] }, -{ source: [0xBE35], NFC: [0xBE35], NFD: [0x1107, 0x1174, 0x11B4], NFKC: [0xBE35], NFKD: [0x1107, 0x1174, 0x11B4] }, -{ source: [0xBE36], NFC: [0xBE36], NFD: [0x1107, 0x1174, 0x11B5], NFKC: [0xBE36], NFKD: [0x1107, 0x1174, 0x11B5] }, -{ source: [0xBE37], NFC: [0xBE37], NFD: [0x1107, 0x1174, 0x11B6], NFKC: [0xBE37], NFKD: [0x1107, 0x1174, 0x11B6] }, -{ source: [0xBE38], NFC: [0xBE38], NFD: [0x1107, 0x1174, 0x11B7], NFKC: [0xBE38], NFKD: [0x1107, 0x1174, 0x11B7] }, -{ source: [0xBE39], NFC: [0xBE39], NFD: [0x1107, 0x1174, 0x11B8], NFKC: [0xBE39], NFKD: [0x1107, 0x1174, 0x11B8] }, -{ source: [0xBE3A], NFC: [0xBE3A], NFD: [0x1107, 0x1174, 0x11B9], NFKC: [0xBE3A], NFKD: [0x1107, 0x1174, 0x11B9] }, -{ source: [0xBE3B], NFC: [0xBE3B], NFD: [0x1107, 0x1174, 0x11BA], NFKC: [0xBE3B], NFKD: [0x1107, 0x1174, 0x11BA] }, -{ source: [0xBE3C], NFC: [0xBE3C], NFD: [0x1107, 0x1174, 0x11BB], NFKC: [0xBE3C], NFKD: [0x1107, 0x1174, 0x11BB] }, -{ source: [0xBE3D], NFC: [0xBE3D], NFD: [0x1107, 0x1174, 0x11BC], NFKC: [0xBE3D], NFKD: [0x1107, 0x1174, 0x11BC] }, -{ source: [0xBE3E], NFC: [0xBE3E], NFD: [0x1107, 0x1174, 0x11BD], NFKC: [0xBE3E], NFKD: [0x1107, 0x1174, 0x11BD] }, -{ source: [0xBE3F], NFC: [0xBE3F], NFD: [0x1107, 0x1174, 0x11BE], NFKC: [0xBE3F], NFKD: [0x1107, 0x1174, 0x11BE] }, -{ source: [0xBE40], NFC: [0xBE40], NFD: [0x1107, 0x1174, 0x11BF], NFKC: [0xBE40], NFKD: [0x1107, 0x1174, 0x11BF] }, -{ source: [0xBE41], NFC: [0xBE41], NFD: [0x1107, 0x1174, 0x11C0], NFKC: [0xBE41], NFKD: [0x1107, 0x1174, 0x11C0] }, -{ source: [0xBE42], NFC: [0xBE42], NFD: [0x1107, 0x1174, 0x11C1], NFKC: [0xBE42], NFKD: [0x1107, 0x1174, 0x11C1] }, -{ source: [0xBE43], NFC: [0xBE43], NFD: [0x1107, 0x1174, 0x11C2], NFKC: [0xBE43], NFKD: [0x1107, 0x1174, 0x11C2] }, -{ source: [0xBE44], NFC: [0xBE44], NFD: [0x1107, 0x1175], NFKC: [0xBE44], NFKD: [0x1107, 0x1175] }, -{ source: [0xBE45], NFC: [0xBE45], NFD: [0x1107, 0x1175, 0x11A8], NFKC: [0xBE45], NFKD: [0x1107, 0x1175, 0x11A8] }, -{ source: [0xBE46], NFC: [0xBE46], NFD: [0x1107, 0x1175, 0x11A9], NFKC: [0xBE46], NFKD: [0x1107, 0x1175, 0x11A9] }, -{ source: [0xBE47], NFC: [0xBE47], NFD: [0x1107, 0x1175, 0x11AA], NFKC: [0xBE47], NFKD: [0x1107, 0x1175, 0x11AA] }, -{ source: [0xBE48], NFC: [0xBE48], NFD: [0x1107, 0x1175, 0x11AB], NFKC: [0xBE48], NFKD: [0x1107, 0x1175, 0x11AB] }, -{ source: [0xBE49], NFC: [0xBE49], NFD: [0x1107, 0x1175, 0x11AC], NFKC: [0xBE49], NFKD: [0x1107, 0x1175, 0x11AC] }, -{ source: [0xBE4A], NFC: [0xBE4A], NFD: [0x1107, 0x1175, 0x11AD], NFKC: [0xBE4A], NFKD: [0x1107, 0x1175, 0x11AD] }, -{ source: [0xBE4B], NFC: [0xBE4B], NFD: [0x1107, 0x1175, 0x11AE], NFKC: [0xBE4B], NFKD: [0x1107, 0x1175, 0x11AE] }, -{ source: [0xBE4C], NFC: [0xBE4C], NFD: [0x1107, 0x1175, 0x11AF], NFKC: [0xBE4C], NFKD: [0x1107, 0x1175, 0x11AF] }, -{ source: [0xBE4D], NFC: [0xBE4D], NFD: [0x1107, 0x1175, 0x11B0], NFKC: [0xBE4D], NFKD: [0x1107, 0x1175, 0x11B0] }, -{ source: [0xBE4E], NFC: [0xBE4E], NFD: [0x1107, 0x1175, 0x11B1], NFKC: [0xBE4E], NFKD: [0x1107, 0x1175, 0x11B1] }, -{ source: [0xBE4F], NFC: [0xBE4F], NFD: [0x1107, 0x1175, 0x11B2], NFKC: [0xBE4F], NFKD: [0x1107, 0x1175, 0x11B2] }, -{ source: [0xBE50], NFC: [0xBE50], NFD: [0x1107, 0x1175, 0x11B3], NFKC: [0xBE50], NFKD: [0x1107, 0x1175, 0x11B3] }, -{ source: [0xBE51], NFC: [0xBE51], NFD: [0x1107, 0x1175, 0x11B4], NFKC: [0xBE51], NFKD: [0x1107, 0x1175, 0x11B4] }, -{ source: [0xBE52], NFC: [0xBE52], NFD: [0x1107, 0x1175, 0x11B5], NFKC: [0xBE52], NFKD: [0x1107, 0x1175, 0x11B5] }, -{ source: [0xBE53], NFC: [0xBE53], NFD: [0x1107, 0x1175, 0x11B6], NFKC: [0xBE53], NFKD: [0x1107, 0x1175, 0x11B6] }, -{ source: [0xBE54], NFC: [0xBE54], NFD: [0x1107, 0x1175, 0x11B7], NFKC: [0xBE54], NFKD: [0x1107, 0x1175, 0x11B7] }, -{ source: [0xBE55], NFC: [0xBE55], NFD: [0x1107, 0x1175, 0x11B8], NFKC: [0xBE55], NFKD: [0x1107, 0x1175, 0x11B8] }, -{ source: [0xBE56], NFC: [0xBE56], NFD: [0x1107, 0x1175, 0x11B9], NFKC: [0xBE56], NFKD: [0x1107, 0x1175, 0x11B9] }, -{ source: [0xBE57], NFC: [0xBE57], NFD: [0x1107, 0x1175, 0x11BA], NFKC: [0xBE57], NFKD: [0x1107, 0x1175, 0x11BA] }, -{ source: [0xBE58], NFC: [0xBE58], NFD: [0x1107, 0x1175, 0x11BB], NFKC: [0xBE58], NFKD: [0x1107, 0x1175, 0x11BB] }, -{ source: [0xBE59], NFC: [0xBE59], NFD: [0x1107, 0x1175, 0x11BC], NFKC: [0xBE59], NFKD: [0x1107, 0x1175, 0x11BC] }, -{ source: [0xBE5A], NFC: [0xBE5A], NFD: [0x1107, 0x1175, 0x11BD], NFKC: [0xBE5A], NFKD: [0x1107, 0x1175, 0x11BD] }, -{ source: [0xBE5B], NFC: [0xBE5B], NFD: [0x1107, 0x1175, 0x11BE], NFKC: [0xBE5B], NFKD: [0x1107, 0x1175, 0x11BE] }, -{ source: [0xBE5C], NFC: [0xBE5C], NFD: [0x1107, 0x1175, 0x11BF], NFKC: [0xBE5C], NFKD: [0x1107, 0x1175, 0x11BF] }, -{ source: [0xBE5D], NFC: [0xBE5D], NFD: [0x1107, 0x1175, 0x11C0], NFKC: [0xBE5D], NFKD: [0x1107, 0x1175, 0x11C0] }, -{ source: [0xBE5E], NFC: [0xBE5E], NFD: [0x1107, 0x1175, 0x11C1], NFKC: [0xBE5E], NFKD: [0x1107, 0x1175, 0x11C1] }, -{ source: [0xBE5F], NFC: [0xBE5F], NFD: [0x1107, 0x1175, 0x11C2], NFKC: [0xBE5F], NFKD: [0x1107, 0x1175, 0x11C2] }, -{ source: [0xBE60], NFC: [0xBE60], NFD: [0x1108, 0x1161], NFKC: [0xBE60], NFKD: [0x1108, 0x1161] }, -{ source: [0xBE61], NFC: [0xBE61], NFD: [0x1108, 0x1161, 0x11A8], NFKC: [0xBE61], NFKD: [0x1108, 0x1161, 0x11A8] }, -{ source: [0xBE62], NFC: [0xBE62], NFD: [0x1108, 0x1161, 0x11A9], NFKC: [0xBE62], NFKD: [0x1108, 0x1161, 0x11A9] }, -{ source: [0xBE63], NFC: [0xBE63], NFD: [0x1108, 0x1161, 0x11AA], NFKC: [0xBE63], NFKD: [0x1108, 0x1161, 0x11AA] }, -{ source: [0xBE64], NFC: [0xBE64], NFD: [0x1108, 0x1161, 0x11AB], NFKC: [0xBE64], NFKD: [0x1108, 0x1161, 0x11AB] }, -{ source: [0xBE65], NFC: [0xBE65], NFD: [0x1108, 0x1161, 0x11AC], NFKC: [0xBE65], NFKD: [0x1108, 0x1161, 0x11AC] }, -{ source: [0xBE66], NFC: [0xBE66], NFD: [0x1108, 0x1161, 0x11AD], NFKC: [0xBE66], NFKD: [0x1108, 0x1161, 0x11AD] }, -{ source: [0xBE67], NFC: [0xBE67], NFD: [0x1108, 0x1161, 0x11AE], NFKC: [0xBE67], NFKD: [0x1108, 0x1161, 0x11AE] }, -{ source: [0xBE68], NFC: [0xBE68], NFD: [0x1108, 0x1161, 0x11AF], NFKC: [0xBE68], NFKD: [0x1108, 0x1161, 0x11AF] }, -{ source: [0xBE69], NFC: [0xBE69], NFD: [0x1108, 0x1161, 0x11B0], NFKC: [0xBE69], NFKD: [0x1108, 0x1161, 0x11B0] }, -{ source: [0xBE6A], NFC: [0xBE6A], NFD: [0x1108, 0x1161, 0x11B1], NFKC: [0xBE6A], NFKD: [0x1108, 0x1161, 0x11B1] }, -{ source: [0xBE6B], NFC: [0xBE6B], NFD: [0x1108, 0x1161, 0x11B2], NFKC: [0xBE6B], NFKD: [0x1108, 0x1161, 0x11B2] }, -{ source: [0xBE6C], NFC: [0xBE6C], NFD: [0x1108, 0x1161, 0x11B3], NFKC: [0xBE6C], NFKD: [0x1108, 0x1161, 0x11B3] }, -{ source: [0xBE6D], NFC: [0xBE6D], NFD: [0x1108, 0x1161, 0x11B4], NFKC: [0xBE6D], NFKD: [0x1108, 0x1161, 0x11B4] }, -{ source: [0xBE6E], NFC: [0xBE6E], NFD: [0x1108, 0x1161, 0x11B5], NFKC: [0xBE6E], NFKD: [0x1108, 0x1161, 0x11B5] }, -{ source: [0xBE6F], NFC: [0xBE6F], NFD: [0x1108, 0x1161, 0x11B6], NFKC: [0xBE6F], NFKD: [0x1108, 0x1161, 0x11B6] }, -{ source: [0xBE70], NFC: [0xBE70], NFD: [0x1108, 0x1161, 0x11B7], NFKC: [0xBE70], NFKD: [0x1108, 0x1161, 0x11B7] }, -{ source: [0xBE71], NFC: [0xBE71], NFD: [0x1108, 0x1161, 0x11B8], NFKC: [0xBE71], NFKD: [0x1108, 0x1161, 0x11B8] }, -{ source: [0xBE72], NFC: [0xBE72], NFD: [0x1108, 0x1161, 0x11B9], NFKC: [0xBE72], NFKD: [0x1108, 0x1161, 0x11B9] }, -{ source: [0xBE73], NFC: [0xBE73], NFD: [0x1108, 0x1161, 0x11BA], NFKC: [0xBE73], NFKD: [0x1108, 0x1161, 0x11BA] }, -{ source: [0xBE74], NFC: [0xBE74], NFD: [0x1108, 0x1161, 0x11BB], NFKC: [0xBE74], NFKD: [0x1108, 0x1161, 0x11BB] }, -{ source: [0xBE75], NFC: [0xBE75], NFD: [0x1108, 0x1161, 0x11BC], NFKC: [0xBE75], NFKD: [0x1108, 0x1161, 0x11BC] }, -{ source: [0xBE76], NFC: [0xBE76], NFD: [0x1108, 0x1161, 0x11BD], NFKC: [0xBE76], NFKD: [0x1108, 0x1161, 0x11BD] }, -{ source: [0xBE77], NFC: [0xBE77], NFD: [0x1108, 0x1161, 0x11BE], NFKC: [0xBE77], NFKD: [0x1108, 0x1161, 0x11BE] }, -{ source: [0xBE78], NFC: [0xBE78], NFD: [0x1108, 0x1161, 0x11BF], NFKC: [0xBE78], NFKD: [0x1108, 0x1161, 0x11BF] }, -{ source: [0xBE79], NFC: [0xBE79], NFD: [0x1108, 0x1161, 0x11C0], NFKC: [0xBE79], NFKD: [0x1108, 0x1161, 0x11C0] }, -{ source: [0xBE7A], NFC: [0xBE7A], NFD: [0x1108, 0x1161, 0x11C1], NFKC: [0xBE7A], NFKD: [0x1108, 0x1161, 0x11C1] }, -{ source: [0xBE7B], NFC: [0xBE7B], NFD: [0x1108, 0x1161, 0x11C2], NFKC: [0xBE7B], NFKD: [0x1108, 0x1161, 0x11C2] }, -{ source: [0xBE7C], NFC: [0xBE7C], NFD: [0x1108, 0x1162], NFKC: [0xBE7C], NFKD: [0x1108, 0x1162] }, -{ source: [0xBE7D], NFC: [0xBE7D], NFD: [0x1108, 0x1162, 0x11A8], NFKC: [0xBE7D], NFKD: [0x1108, 0x1162, 0x11A8] }, -{ source: [0xBE7E], NFC: [0xBE7E], NFD: [0x1108, 0x1162, 0x11A9], NFKC: [0xBE7E], NFKD: [0x1108, 0x1162, 0x11A9] }, -{ source: [0xBE7F], NFC: [0xBE7F], NFD: [0x1108, 0x1162, 0x11AA], NFKC: [0xBE7F], NFKD: [0x1108, 0x1162, 0x11AA] }, -{ source: [0xBE80], NFC: [0xBE80], NFD: [0x1108, 0x1162, 0x11AB], NFKC: [0xBE80], NFKD: [0x1108, 0x1162, 0x11AB] }, -{ source: [0xBE81], NFC: [0xBE81], NFD: [0x1108, 0x1162, 0x11AC], NFKC: [0xBE81], NFKD: [0x1108, 0x1162, 0x11AC] }, -{ source: [0xBE82], NFC: [0xBE82], NFD: [0x1108, 0x1162, 0x11AD], NFKC: [0xBE82], NFKD: [0x1108, 0x1162, 0x11AD] }, -{ source: [0xBE83], NFC: [0xBE83], NFD: [0x1108, 0x1162, 0x11AE], NFKC: [0xBE83], NFKD: [0x1108, 0x1162, 0x11AE] }, -{ source: [0xBE84], NFC: [0xBE84], NFD: [0x1108, 0x1162, 0x11AF], NFKC: [0xBE84], NFKD: [0x1108, 0x1162, 0x11AF] }, -{ source: [0xBE85], NFC: [0xBE85], NFD: [0x1108, 0x1162, 0x11B0], NFKC: [0xBE85], NFKD: [0x1108, 0x1162, 0x11B0] }, -{ source: [0xBE86], NFC: [0xBE86], NFD: [0x1108, 0x1162, 0x11B1], NFKC: [0xBE86], NFKD: [0x1108, 0x1162, 0x11B1] }, -{ source: [0xBE87], NFC: [0xBE87], NFD: [0x1108, 0x1162, 0x11B2], NFKC: [0xBE87], NFKD: [0x1108, 0x1162, 0x11B2] }, -{ source: [0xBE88], NFC: [0xBE88], NFD: [0x1108, 0x1162, 0x11B3], NFKC: [0xBE88], NFKD: [0x1108, 0x1162, 0x11B3] }, -{ source: [0xBE89], NFC: [0xBE89], NFD: [0x1108, 0x1162, 0x11B4], NFKC: [0xBE89], NFKD: [0x1108, 0x1162, 0x11B4] }, -{ source: [0xBE8A], NFC: [0xBE8A], NFD: [0x1108, 0x1162, 0x11B5], NFKC: [0xBE8A], NFKD: [0x1108, 0x1162, 0x11B5] }, -{ source: [0xBE8B], NFC: [0xBE8B], NFD: [0x1108, 0x1162, 0x11B6], NFKC: [0xBE8B], NFKD: [0x1108, 0x1162, 0x11B6] }, -{ source: [0xBE8C], NFC: [0xBE8C], NFD: [0x1108, 0x1162, 0x11B7], NFKC: [0xBE8C], NFKD: [0x1108, 0x1162, 0x11B7] }, -{ source: [0xBE8D], NFC: [0xBE8D], NFD: [0x1108, 0x1162, 0x11B8], NFKC: [0xBE8D], NFKD: [0x1108, 0x1162, 0x11B8] }, -{ source: [0xBE8E], NFC: [0xBE8E], NFD: [0x1108, 0x1162, 0x11B9], NFKC: [0xBE8E], NFKD: [0x1108, 0x1162, 0x11B9] }, -{ source: [0xBE8F], NFC: [0xBE8F], NFD: [0x1108, 0x1162, 0x11BA], NFKC: [0xBE8F], NFKD: [0x1108, 0x1162, 0x11BA] }, -{ source: [0xBE90], NFC: [0xBE90], NFD: [0x1108, 0x1162, 0x11BB], NFKC: [0xBE90], NFKD: [0x1108, 0x1162, 0x11BB] }, -{ source: [0xBE91], NFC: [0xBE91], NFD: [0x1108, 0x1162, 0x11BC], NFKC: [0xBE91], NFKD: [0x1108, 0x1162, 0x11BC] }, -{ source: [0xBE92], NFC: [0xBE92], NFD: [0x1108, 0x1162, 0x11BD], NFKC: [0xBE92], NFKD: [0x1108, 0x1162, 0x11BD] }, -{ source: [0xBE93], NFC: [0xBE93], NFD: [0x1108, 0x1162, 0x11BE], NFKC: [0xBE93], NFKD: [0x1108, 0x1162, 0x11BE] }, -{ source: [0xBE94], NFC: [0xBE94], NFD: [0x1108, 0x1162, 0x11BF], NFKC: [0xBE94], NFKD: [0x1108, 0x1162, 0x11BF] }, -{ source: [0xBE95], NFC: [0xBE95], NFD: [0x1108, 0x1162, 0x11C0], NFKC: [0xBE95], NFKD: [0x1108, 0x1162, 0x11C0] }, -{ source: [0xBE96], NFC: [0xBE96], NFD: [0x1108, 0x1162, 0x11C1], NFKC: [0xBE96], NFKD: [0x1108, 0x1162, 0x11C1] }, -{ source: [0xBE97], NFC: [0xBE97], NFD: [0x1108, 0x1162, 0x11C2], NFKC: [0xBE97], NFKD: [0x1108, 0x1162, 0x11C2] }, -{ source: [0xBE98], NFC: [0xBE98], NFD: [0x1108, 0x1163], NFKC: [0xBE98], NFKD: [0x1108, 0x1163] }, -{ source: [0xBE99], NFC: [0xBE99], NFD: [0x1108, 0x1163, 0x11A8], NFKC: [0xBE99], NFKD: [0x1108, 0x1163, 0x11A8] }, -{ source: [0xBE9A], NFC: [0xBE9A], NFD: [0x1108, 0x1163, 0x11A9], NFKC: [0xBE9A], NFKD: [0x1108, 0x1163, 0x11A9] }, -{ source: [0xBE9B], NFC: [0xBE9B], NFD: [0x1108, 0x1163, 0x11AA], NFKC: [0xBE9B], NFKD: [0x1108, 0x1163, 0x11AA] }, -{ source: [0xBE9C], NFC: [0xBE9C], NFD: [0x1108, 0x1163, 0x11AB], NFKC: [0xBE9C], NFKD: [0x1108, 0x1163, 0x11AB] }, -{ source: [0xBE9D], NFC: [0xBE9D], NFD: [0x1108, 0x1163, 0x11AC], NFKC: [0xBE9D], NFKD: [0x1108, 0x1163, 0x11AC] }, -{ source: [0xBE9E], NFC: [0xBE9E], NFD: [0x1108, 0x1163, 0x11AD], NFKC: [0xBE9E], NFKD: [0x1108, 0x1163, 0x11AD] }, -{ source: [0xBE9F], NFC: [0xBE9F], NFD: [0x1108, 0x1163, 0x11AE], NFKC: [0xBE9F], NFKD: [0x1108, 0x1163, 0x11AE] }, -{ source: [0xBEA0], NFC: [0xBEA0], NFD: [0x1108, 0x1163, 0x11AF], NFKC: [0xBEA0], NFKD: [0x1108, 0x1163, 0x11AF] }, -{ source: [0xBEA1], NFC: [0xBEA1], NFD: [0x1108, 0x1163, 0x11B0], NFKC: [0xBEA1], NFKD: [0x1108, 0x1163, 0x11B0] }, -{ source: [0xBEA2], NFC: [0xBEA2], NFD: [0x1108, 0x1163, 0x11B1], NFKC: [0xBEA2], NFKD: [0x1108, 0x1163, 0x11B1] }, -{ source: [0xBEA3], NFC: [0xBEA3], NFD: [0x1108, 0x1163, 0x11B2], NFKC: [0xBEA3], NFKD: [0x1108, 0x1163, 0x11B2] }, -{ source: [0xBEA4], NFC: [0xBEA4], NFD: [0x1108, 0x1163, 0x11B3], NFKC: [0xBEA4], NFKD: [0x1108, 0x1163, 0x11B3] }, -{ source: [0xBEA5], NFC: [0xBEA5], NFD: [0x1108, 0x1163, 0x11B4], NFKC: [0xBEA5], NFKD: [0x1108, 0x1163, 0x11B4] }, -{ source: [0xBEA6], NFC: [0xBEA6], NFD: [0x1108, 0x1163, 0x11B5], NFKC: [0xBEA6], NFKD: [0x1108, 0x1163, 0x11B5] }, -{ source: [0xBEA7], NFC: [0xBEA7], NFD: [0x1108, 0x1163, 0x11B6], NFKC: [0xBEA7], NFKD: [0x1108, 0x1163, 0x11B6] }, -{ source: [0xBEA8], NFC: [0xBEA8], NFD: [0x1108, 0x1163, 0x11B7], NFKC: [0xBEA8], NFKD: [0x1108, 0x1163, 0x11B7] }, -{ source: [0xBEA9], NFC: [0xBEA9], NFD: [0x1108, 0x1163, 0x11B8], NFKC: [0xBEA9], NFKD: [0x1108, 0x1163, 0x11B8] }, -{ source: [0xBEAA], NFC: [0xBEAA], NFD: [0x1108, 0x1163, 0x11B9], NFKC: [0xBEAA], NFKD: [0x1108, 0x1163, 0x11B9] }, -{ source: [0xBEAB], NFC: [0xBEAB], NFD: [0x1108, 0x1163, 0x11BA], NFKC: [0xBEAB], NFKD: [0x1108, 0x1163, 0x11BA] }, -{ source: [0xBEAC], NFC: [0xBEAC], NFD: [0x1108, 0x1163, 0x11BB], NFKC: [0xBEAC], NFKD: [0x1108, 0x1163, 0x11BB] }, -{ source: [0xBEAD], NFC: [0xBEAD], NFD: [0x1108, 0x1163, 0x11BC], NFKC: [0xBEAD], NFKD: [0x1108, 0x1163, 0x11BC] }, -{ source: [0xBEAE], NFC: [0xBEAE], NFD: [0x1108, 0x1163, 0x11BD], NFKC: [0xBEAE], NFKD: [0x1108, 0x1163, 0x11BD] }, -{ source: [0xBEAF], NFC: [0xBEAF], NFD: [0x1108, 0x1163, 0x11BE], NFKC: [0xBEAF], NFKD: [0x1108, 0x1163, 0x11BE] }, -{ source: [0xBEB0], NFC: [0xBEB0], NFD: [0x1108, 0x1163, 0x11BF], NFKC: [0xBEB0], NFKD: [0x1108, 0x1163, 0x11BF] }, -{ source: [0xBEB1], NFC: [0xBEB1], NFD: [0x1108, 0x1163, 0x11C0], NFKC: [0xBEB1], NFKD: [0x1108, 0x1163, 0x11C0] }, -{ source: [0xBEB2], NFC: [0xBEB2], NFD: [0x1108, 0x1163, 0x11C1], NFKC: [0xBEB2], NFKD: [0x1108, 0x1163, 0x11C1] }, -{ source: [0xBEB3], NFC: [0xBEB3], NFD: [0x1108, 0x1163, 0x11C2], NFKC: [0xBEB3], NFKD: [0x1108, 0x1163, 0x11C2] }, -{ source: [0xBEB4], NFC: [0xBEB4], NFD: [0x1108, 0x1164], NFKC: [0xBEB4], NFKD: [0x1108, 0x1164] }, -{ source: [0xBEB5], NFC: [0xBEB5], NFD: [0x1108, 0x1164, 0x11A8], NFKC: [0xBEB5], NFKD: [0x1108, 0x1164, 0x11A8] }, -{ source: [0xBEB6], NFC: [0xBEB6], NFD: [0x1108, 0x1164, 0x11A9], NFKC: [0xBEB6], NFKD: [0x1108, 0x1164, 0x11A9] }, -{ source: [0xBEB7], NFC: [0xBEB7], NFD: [0x1108, 0x1164, 0x11AA], NFKC: [0xBEB7], NFKD: [0x1108, 0x1164, 0x11AA] }, -{ source: [0xBEB8], NFC: [0xBEB8], NFD: [0x1108, 0x1164, 0x11AB], NFKC: [0xBEB8], NFKD: [0x1108, 0x1164, 0x11AB] }, -{ source: [0xBEB9], NFC: [0xBEB9], NFD: [0x1108, 0x1164, 0x11AC], NFKC: [0xBEB9], NFKD: [0x1108, 0x1164, 0x11AC] }, -{ source: [0xBEBA], NFC: [0xBEBA], NFD: [0x1108, 0x1164, 0x11AD], NFKC: [0xBEBA], NFKD: [0x1108, 0x1164, 0x11AD] }, -{ source: [0xBEBB], NFC: [0xBEBB], NFD: [0x1108, 0x1164, 0x11AE], NFKC: [0xBEBB], NFKD: [0x1108, 0x1164, 0x11AE] }, -{ source: [0xBEBC], NFC: [0xBEBC], NFD: [0x1108, 0x1164, 0x11AF], NFKC: [0xBEBC], NFKD: [0x1108, 0x1164, 0x11AF] }, -{ source: [0xBEBD], NFC: [0xBEBD], NFD: [0x1108, 0x1164, 0x11B0], NFKC: [0xBEBD], NFKD: [0x1108, 0x1164, 0x11B0] }, -{ source: [0xBEBE], NFC: [0xBEBE], NFD: [0x1108, 0x1164, 0x11B1], NFKC: [0xBEBE], NFKD: [0x1108, 0x1164, 0x11B1] }, -{ source: [0xBEBF], NFC: [0xBEBF], NFD: [0x1108, 0x1164, 0x11B2], NFKC: [0xBEBF], NFKD: [0x1108, 0x1164, 0x11B2] }, -{ source: [0xBEC0], NFC: [0xBEC0], NFD: [0x1108, 0x1164, 0x11B3], NFKC: [0xBEC0], NFKD: [0x1108, 0x1164, 0x11B3] }, -{ source: [0xBEC1], NFC: [0xBEC1], NFD: [0x1108, 0x1164, 0x11B4], NFKC: [0xBEC1], NFKD: [0x1108, 0x1164, 0x11B4] }, -{ source: [0xBEC2], NFC: [0xBEC2], NFD: [0x1108, 0x1164, 0x11B5], NFKC: [0xBEC2], NFKD: [0x1108, 0x1164, 0x11B5] }, -{ source: [0xBEC3], NFC: [0xBEC3], NFD: [0x1108, 0x1164, 0x11B6], NFKC: [0xBEC3], NFKD: [0x1108, 0x1164, 0x11B6] }, -{ source: [0xBEC4], NFC: [0xBEC4], NFD: [0x1108, 0x1164, 0x11B7], NFKC: [0xBEC4], NFKD: [0x1108, 0x1164, 0x11B7] }, -{ source: [0xBEC5], NFC: [0xBEC5], NFD: [0x1108, 0x1164, 0x11B8], NFKC: [0xBEC5], NFKD: [0x1108, 0x1164, 0x11B8] }, -{ source: [0xBEC6], NFC: [0xBEC6], NFD: [0x1108, 0x1164, 0x11B9], NFKC: [0xBEC6], NFKD: [0x1108, 0x1164, 0x11B9] }, -{ source: [0xBEC7], NFC: [0xBEC7], NFD: [0x1108, 0x1164, 0x11BA], NFKC: [0xBEC7], NFKD: [0x1108, 0x1164, 0x11BA] }, -{ source: [0xBEC8], NFC: [0xBEC8], NFD: [0x1108, 0x1164, 0x11BB], NFKC: [0xBEC8], NFKD: [0x1108, 0x1164, 0x11BB] }, -{ source: [0xBEC9], NFC: [0xBEC9], NFD: [0x1108, 0x1164, 0x11BC], NFKC: [0xBEC9], NFKD: [0x1108, 0x1164, 0x11BC] }, -{ source: [0xBECA], NFC: [0xBECA], NFD: [0x1108, 0x1164, 0x11BD], NFKC: [0xBECA], NFKD: [0x1108, 0x1164, 0x11BD] }, -{ source: [0xBECB], NFC: [0xBECB], NFD: [0x1108, 0x1164, 0x11BE], NFKC: [0xBECB], NFKD: [0x1108, 0x1164, 0x11BE] }, -{ source: [0xBECC], NFC: [0xBECC], NFD: [0x1108, 0x1164, 0x11BF], NFKC: [0xBECC], NFKD: [0x1108, 0x1164, 0x11BF] }, -{ source: [0xBECD], NFC: [0xBECD], NFD: [0x1108, 0x1164, 0x11C0], NFKC: [0xBECD], NFKD: [0x1108, 0x1164, 0x11C0] }, -{ source: [0xBECE], NFC: [0xBECE], NFD: [0x1108, 0x1164, 0x11C1], NFKC: [0xBECE], NFKD: [0x1108, 0x1164, 0x11C1] }, -{ source: [0xBECF], NFC: [0xBECF], NFD: [0x1108, 0x1164, 0x11C2], NFKC: [0xBECF], NFKD: [0x1108, 0x1164, 0x11C2] }, -{ source: [0xBED0], NFC: [0xBED0], NFD: [0x1108, 0x1165], NFKC: [0xBED0], NFKD: [0x1108, 0x1165] }, -{ source: [0xBED1], NFC: [0xBED1], NFD: [0x1108, 0x1165, 0x11A8], NFKC: [0xBED1], NFKD: [0x1108, 0x1165, 0x11A8] }, -{ source: [0xBED2], NFC: [0xBED2], NFD: [0x1108, 0x1165, 0x11A9], NFKC: [0xBED2], NFKD: [0x1108, 0x1165, 0x11A9] }, -{ source: [0xBED3], NFC: [0xBED3], NFD: [0x1108, 0x1165, 0x11AA], NFKC: [0xBED3], NFKD: [0x1108, 0x1165, 0x11AA] }, -{ source: [0xBED4], NFC: [0xBED4], NFD: [0x1108, 0x1165, 0x11AB], NFKC: [0xBED4], NFKD: [0x1108, 0x1165, 0x11AB] }, -{ source: [0xBED5], NFC: [0xBED5], NFD: [0x1108, 0x1165, 0x11AC], NFKC: [0xBED5], NFKD: [0x1108, 0x1165, 0x11AC] }, -{ source: [0xBED6], NFC: [0xBED6], NFD: [0x1108, 0x1165, 0x11AD], NFKC: [0xBED6], NFKD: [0x1108, 0x1165, 0x11AD] }, -{ source: [0xBED7], NFC: [0xBED7], NFD: [0x1108, 0x1165, 0x11AE], NFKC: [0xBED7], NFKD: [0x1108, 0x1165, 0x11AE] }, -{ source: [0xBED8], NFC: [0xBED8], NFD: [0x1108, 0x1165, 0x11AF], NFKC: [0xBED8], NFKD: [0x1108, 0x1165, 0x11AF] }, -{ source: [0xBED9], NFC: [0xBED9], NFD: [0x1108, 0x1165, 0x11B0], NFKC: [0xBED9], NFKD: [0x1108, 0x1165, 0x11B0] }, -{ source: [0xBEDA], NFC: [0xBEDA], NFD: [0x1108, 0x1165, 0x11B1], NFKC: [0xBEDA], NFKD: [0x1108, 0x1165, 0x11B1] }, -{ source: [0xBEDB], NFC: [0xBEDB], NFD: [0x1108, 0x1165, 0x11B2], NFKC: [0xBEDB], NFKD: [0x1108, 0x1165, 0x11B2] }, -{ source: [0xBEDC], NFC: [0xBEDC], NFD: [0x1108, 0x1165, 0x11B3], NFKC: [0xBEDC], NFKD: [0x1108, 0x1165, 0x11B3] }, -{ source: [0xBEDD], NFC: [0xBEDD], NFD: [0x1108, 0x1165, 0x11B4], NFKC: [0xBEDD], NFKD: [0x1108, 0x1165, 0x11B4] }, -{ source: [0xBEDE], NFC: [0xBEDE], NFD: [0x1108, 0x1165, 0x11B5], NFKC: [0xBEDE], NFKD: [0x1108, 0x1165, 0x11B5] }, -{ source: [0xBEDF], NFC: [0xBEDF], NFD: [0x1108, 0x1165, 0x11B6], NFKC: [0xBEDF], NFKD: [0x1108, 0x1165, 0x11B6] }, -{ source: [0xBEE0], NFC: [0xBEE0], NFD: [0x1108, 0x1165, 0x11B7], NFKC: [0xBEE0], NFKD: [0x1108, 0x1165, 0x11B7] }, -{ source: [0xBEE1], NFC: [0xBEE1], NFD: [0x1108, 0x1165, 0x11B8], NFKC: [0xBEE1], NFKD: [0x1108, 0x1165, 0x11B8] }, -{ source: [0xBEE2], NFC: [0xBEE2], NFD: [0x1108, 0x1165, 0x11B9], NFKC: [0xBEE2], NFKD: [0x1108, 0x1165, 0x11B9] }, -{ source: [0xBEE3], NFC: [0xBEE3], NFD: [0x1108, 0x1165, 0x11BA], NFKC: [0xBEE3], NFKD: [0x1108, 0x1165, 0x11BA] }, -{ source: [0xBEE4], NFC: [0xBEE4], NFD: [0x1108, 0x1165, 0x11BB], NFKC: [0xBEE4], NFKD: [0x1108, 0x1165, 0x11BB] }, -{ source: [0xBEE5], NFC: [0xBEE5], NFD: [0x1108, 0x1165, 0x11BC], NFKC: [0xBEE5], NFKD: [0x1108, 0x1165, 0x11BC] }, -{ source: [0xBEE6], NFC: [0xBEE6], NFD: [0x1108, 0x1165, 0x11BD], NFKC: [0xBEE6], NFKD: [0x1108, 0x1165, 0x11BD] }, -{ source: [0xBEE7], NFC: [0xBEE7], NFD: [0x1108, 0x1165, 0x11BE], NFKC: [0xBEE7], NFKD: [0x1108, 0x1165, 0x11BE] }, -{ source: [0xBEE8], NFC: [0xBEE8], NFD: [0x1108, 0x1165, 0x11BF], NFKC: [0xBEE8], NFKD: [0x1108, 0x1165, 0x11BF] }, -{ source: [0xBEE9], NFC: [0xBEE9], NFD: [0x1108, 0x1165, 0x11C0], NFKC: [0xBEE9], NFKD: [0x1108, 0x1165, 0x11C0] }, -{ source: [0xBEEA], NFC: [0xBEEA], NFD: [0x1108, 0x1165, 0x11C1], NFKC: [0xBEEA], NFKD: [0x1108, 0x1165, 0x11C1] }, -{ source: [0xBEEB], NFC: [0xBEEB], NFD: [0x1108, 0x1165, 0x11C2], NFKC: [0xBEEB], NFKD: [0x1108, 0x1165, 0x11C2] }, -{ source: [0xBEEC], NFC: [0xBEEC], NFD: [0x1108, 0x1166], NFKC: [0xBEEC], NFKD: [0x1108, 0x1166] }, -{ source: [0xBEED], NFC: [0xBEED], NFD: [0x1108, 0x1166, 0x11A8], NFKC: [0xBEED], NFKD: [0x1108, 0x1166, 0x11A8] }, -{ source: [0xBEEE], NFC: [0xBEEE], NFD: [0x1108, 0x1166, 0x11A9], NFKC: [0xBEEE], NFKD: [0x1108, 0x1166, 0x11A9] }, -{ source: [0xBEEF], NFC: [0xBEEF], NFD: [0x1108, 0x1166, 0x11AA], NFKC: [0xBEEF], NFKD: [0x1108, 0x1166, 0x11AA] }, -{ source: [0xBEF0], NFC: [0xBEF0], NFD: [0x1108, 0x1166, 0x11AB], NFKC: [0xBEF0], NFKD: [0x1108, 0x1166, 0x11AB] }, -{ source: [0xBEF1], NFC: [0xBEF1], NFD: [0x1108, 0x1166, 0x11AC], NFKC: [0xBEF1], NFKD: [0x1108, 0x1166, 0x11AC] }, -{ source: [0xBEF2], NFC: [0xBEF2], NFD: [0x1108, 0x1166, 0x11AD], NFKC: [0xBEF2], NFKD: [0x1108, 0x1166, 0x11AD] }, -{ source: [0xBEF3], NFC: [0xBEF3], NFD: [0x1108, 0x1166, 0x11AE], NFKC: [0xBEF3], NFKD: [0x1108, 0x1166, 0x11AE] }, -{ source: [0xBEF4], NFC: [0xBEF4], NFD: [0x1108, 0x1166, 0x11AF], NFKC: [0xBEF4], NFKD: [0x1108, 0x1166, 0x11AF] }, -{ source: [0xBEF5], NFC: [0xBEF5], NFD: [0x1108, 0x1166, 0x11B0], NFKC: [0xBEF5], NFKD: [0x1108, 0x1166, 0x11B0] }, -{ source: [0xBEF6], NFC: [0xBEF6], NFD: [0x1108, 0x1166, 0x11B1], NFKC: [0xBEF6], NFKD: [0x1108, 0x1166, 0x11B1] }, -{ source: [0xBEF7], NFC: [0xBEF7], NFD: [0x1108, 0x1166, 0x11B2], NFKC: [0xBEF7], NFKD: [0x1108, 0x1166, 0x11B2] }, -{ source: [0xBEF8], NFC: [0xBEF8], NFD: [0x1108, 0x1166, 0x11B3], NFKC: [0xBEF8], NFKD: [0x1108, 0x1166, 0x11B3] }, -{ source: [0xBEF9], NFC: [0xBEF9], NFD: [0x1108, 0x1166, 0x11B4], NFKC: [0xBEF9], NFKD: [0x1108, 0x1166, 0x11B4] }, -{ source: [0xBEFA], NFC: [0xBEFA], NFD: [0x1108, 0x1166, 0x11B5], NFKC: [0xBEFA], NFKD: [0x1108, 0x1166, 0x11B5] }, -{ source: [0xBEFB], NFC: [0xBEFB], NFD: [0x1108, 0x1166, 0x11B6], NFKC: [0xBEFB], NFKD: [0x1108, 0x1166, 0x11B6] }, -{ source: [0xBEFC], NFC: [0xBEFC], NFD: [0x1108, 0x1166, 0x11B7], NFKC: [0xBEFC], NFKD: [0x1108, 0x1166, 0x11B7] }, -{ source: [0xBEFD], NFC: [0xBEFD], NFD: [0x1108, 0x1166, 0x11B8], NFKC: [0xBEFD], NFKD: [0x1108, 0x1166, 0x11B8] }, -{ source: [0xBEFE], NFC: [0xBEFE], NFD: [0x1108, 0x1166, 0x11B9], NFKC: [0xBEFE], NFKD: [0x1108, 0x1166, 0x11B9] }, -{ source: [0xBEFF], NFC: [0xBEFF], NFD: [0x1108, 0x1166, 0x11BA], NFKC: [0xBEFF], NFKD: [0x1108, 0x1166, 0x11BA] }, -{ source: [0xBF00], NFC: [0xBF00], NFD: [0x1108, 0x1166, 0x11BB], NFKC: [0xBF00], NFKD: [0x1108, 0x1166, 0x11BB] }, -{ source: [0xBF01], NFC: [0xBF01], NFD: [0x1108, 0x1166, 0x11BC], NFKC: [0xBF01], NFKD: [0x1108, 0x1166, 0x11BC] }, -{ source: [0xBF02], NFC: [0xBF02], NFD: [0x1108, 0x1166, 0x11BD], NFKC: [0xBF02], NFKD: [0x1108, 0x1166, 0x11BD] }, -{ source: [0xBF03], NFC: [0xBF03], NFD: [0x1108, 0x1166, 0x11BE], NFKC: [0xBF03], NFKD: [0x1108, 0x1166, 0x11BE] }, -{ source: [0xBF04], NFC: [0xBF04], NFD: [0x1108, 0x1166, 0x11BF], NFKC: [0xBF04], NFKD: [0x1108, 0x1166, 0x11BF] }, -{ source: [0xBF05], NFC: [0xBF05], NFD: [0x1108, 0x1166, 0x11C0], NFKC: [0xBF05], NFKD: [0x1108, 0x1166, 0x11C0] }, -{ source: [0xBF06], NFC: [0xBF06], NFD: [0x1108, 0x1166, 0x11C1], NFKC: [0xBF06], NFKD: [0x1108, 0x1166, 0x11C1] }, -{ source: [0xBF07], NFC: [0xBF07], NFD: [0x1108, 0x1166, 0x11C2], NFKC: [0xBF07], NFKD: [0x1108, 0x1166, 0x11C2] }, -{ source: [0xBF08], NFC: [0xBF08], NFD: [0x1108, 0x1167], NFKC: [0xBF08], NFKD: [0x1108, 0x1167] }, -{ source: [0xBF09], NFC: [0xBF09], NFD: [0x1108, 0x1167, 0x11A8], NFKC: [0xBF09], NFKD: [0x1108, 0x1167, 0x11A8] }, -{ source: [0xBF0A], NFC: [0xBF0A], NFD: [0x1108, 0x1167, 0x11A9], NFKC: [0xBF0A], NFKD: [0x1108, 0x1167, 0x11A9] }, -{ source: [0xBF0B], NFC: [0xBF0B], NFD: [0x1108, 0x1167, 0x11AA], NFKC: [0xBF0B], NFKD: [0x1108, 0x1167, 0x11AA] }, -{ source: [0xBF0C], NFC: [0xBF0C], NFD: [0x1108, 0x1167, 0x11AB], NFKC: [0xBF0C], NFKD: [0x1108, 0x1167, 0x11AB] }, -{ source: [0xBF0D], NFC: [0xBF0D], NFD: [0x1108, 0x1167, 0x11AC], NFKC: [0xBF0D], NFKD: [0x1108, 0x1167, 0x11AC] }, -{ source: [0xBF0E], NFC: [0xBF0E], NFD: [0x1108, 0x1167, 0x11AD], NFKC: [0xBF0E], NFKD: [0x1108, 0x1167, 0x11AD] }, -{ source: [0xBF0F], NFC: [0xBF0F], NFD: [0x1108, 0x1167, 0x11AE], NFKC: [0xBF0F], NFKD: [0x1108, 0x1167, 0x11AE] }, -{ source: [0xBF10], NFC: [0xBF10], NFD: [0x1108, 0x1167, 0x11AF], NFKC: [0xBF10], NFKD: [0x1108, 0x1167, 0x11AF] }, -{ source: [0xBF11], NFC: [0xBF11], NFD: [0x1108, 0x1167, 0x11B0], NFKC: [0xBF11], NFKD: [0x1108, 0x1167, 0x11B0] }, -{ source: [0xBF12], NFC: [0xBF12], NFD: [0x1108, 0x1167, 0x11B1], NFKC: [0xBF12], NFKD: [0x1108, 0x1167, 0x11B1] }, -{ source: [0xBF13], NFC: [0xBF13], NFD: [0x1108, 0x1167, 0x11B2], NFKC: [0xBF13], NFKD: [0x1108, 0x1167, 0x11B2] }, -{ source: [0xBF14], NFC: [0xBF14], NFD: [0x1108, 0x1167, 0x11B3], NFKC: [0xBF14], NFKD: [0x1108, 0x1167, 0x11B3] }, -{ source: [0xBF15], NFC: [0xBF15], NFD: [0x1108, 0x1167, 0x11B4], NFKC: [0xBF15], NFKD: [0x1108, 0x1167, 0x11B4] }, -{ source: [0xBF16], NFC: [0xBF16], NFD: [0x1108, 0x1167, 0x11B5], NFKC: [0xBF16], NFKD: [0x1108, 0x1167, 0x11B5] }, -{ source: [0xBF17], NFC: [0xBF17], NFD: [0x1108, 0x1167, 0x11B6], NFKC: [0xBF17], NFKD: [0x1108, 0x1167, 0x11B6] }, -{ source: [0xBF18], NFC: [0xBF18], NFD: [0x1108, 0x1167, 0x11B7], NFKC: [0xBF18], NFKD: [0x1108, 0x1167, 0x11B7] }, -{ source: [0xBF19], NFC: [0xBF19], NFD: [0x1108, 0x1167, 0x11B8], NFKC: [0xBF19], NFKD: [0x1108, 0x1167, 0x11B8] }, -{ source: [0xBF1A], NFC: [0xBF1A], NFD: [0x1108, 0x1167, 0x11B9], NFKC: [0xBF1A], NFKD: [0x1108, 0x1167, 0x11B9] }, -{ source: [0xBF1B], NFC: [0xBF1B], NFD: [0x1108, 0x1167, 0x11BA], NFKC: [0xBF1B], NFKD: [0x1108, 0x1167, 0x11BA] }, -{ source: [0xBF1C], NFC: [0xBF1C], NFD: [0x1108, 0x1167, 0x11BB], NFKC: [0xBF1C], NFKD: [0x1108, 0x1167, 0x11BB] }, -{ source: [0xBF1D], NFC: [0xBF1D], NFD: [0x1108, 0x1167, 0x11BC], NFKC: [0xBF1D], NFKD: [0x1108, 0x1167, 0x11BC] }, -{ source: [0xBF1E], NFC: [0xBF1E], NFD: [0x1108, 0x1167, 0x11BD], NFKC: [0xBF1E], NFKD: [0x1108, 0x1167, 0x11BD] }, -{ source: [0xBF1F], NFC: [0xBF1F], NFD: [0x1108, 0x1167, 0x11BE], NFKC: [0xBF1F], NFKD: [0x1108, 0x1167, 0x11BE] }, -{ source: [0xBF20], NFC: [0xBF20], NFD: [0x1108, 0x1167, 0x11BF], NFKC: [0xBF20], NFKD: [0x1108, 0x1167, 0x11BF] }, -{ source: [0xBF21], NFC: [0xBF21], NFD: [0x1108, 0x1167, 0x11C0], NFKC: [0xBF21], NFKD: [0x1108, 0x1167, 0x11C0] }, -{ source: [0xBF22], NFC: [0xBF22], NFD: [0x1108, 0x1167, 0x11C1], NFKC: [0xBF22], NFKD: [0x1108, 0x1167, 0x11C1] }, -{ source: [0xBF23], NFC: [0xBF23], NFD: [0x1108, 0x1167, 0x11C2], NFKC: [0xBF23], NFKD: [0x1108, 0x1167, 0x11C2] }, -{ source: [0xBF24], NFC: [0xBF24], NFD: [0x1108, 0x1168], NFKC: [0xBF24], NFKD: [0x1108, 0x1168] }, -{ source: [0xBF25], NFC: [0xBF25], NFD: [0x1108, 0x1168, 0x11A8], NFKC: [0xBF25], NFKD: [0x1108, 0x1168, 0x11A8] }, -{ source: [0xBF26], NFC: [0xBF26], NFD: [0x1108, 0x1168, 0x11A9], NFKC: [0xBF26], NFKD: [0x1108, 0x1168, 0x11A9] }, -{ source: [0xBF27], NFC: [0xBF27], NFD: [0x1108, 0x1168, 0x11AA], NFKC: [0xBF27], NFKD: [0x1108, 0x1168, 0x11AA] }, -{ source: [0xBF28], NFC: [0xBF28], NFD: [0x1108, 0x1168, 0x11AB], NFKC: [0xBF28], NFKD: [0x1108, 0x1168, 0x11AB] }, -{ source: [0xBF29], NFC: [0xBF29], NFD: [0x1108, 0x1168, 0x11AC], NFKC: [0xBF29], NFKD: [0x1108, 0x1168, 0x11AC] }, -{ source: [0xBF2A], NFC: [0xBF2A], NFD: [0x1108, 0x1168, 0x11AD], NFKC: [0xBF2A], NFKD: [0x1108, 0x1168, 0x11AD] }, -{ source: [0xBF2B], NFC: [0xBF2B], NFD: [0x1108, 0x1168, 0x11AE], NFKC: [0xBF2B], NFKD: [0x1108, 0x1168, 0x11AE] }, -{ source: [0xBF2C], NFC: [0xBF2C], NFD: [0x1108, 0x1168, 0x11AF], NFKC: [0xBF2C], NFKD: [0x1108, 0x1168, 0x11AF] }, -{ source: [0xBF2D], NFC: [0xBF2D], NFD: [0x1108, 0x1168, 0x11B0], NFKC: [0xBF2D], NFKD: [0x1108, 0x1168, 0x11B0] }, -{ source: [0xBF2E], NFC: [0xBF2E], NFD: [0x1108, 0x1168, 0x11B1], NFKC: [0xBF2E], NFKD: [0x1108, 0x1168, 0x11B1] }, -{ source: [0xBF2F], NFC: [0xBF2F], NFD: [0x1108, 0x1168, 0x11B2], NFKC: [0xBF2F], NFKD: [0x1108, 0x1168, 0x11B2] }, -{ source: [0xBF30], NFC: [0xBF30], NFD: [0x1108, 0x1168, 0x11B3], NFKC: [0xBF30], NFKD: [0x1108, 0x1168, 0x11B3] }, -{ source: [0xBF31], NFC: [0xBF31], NFD: [0x1108, 0x1168, 0x11B4], NFKC: [0xBF31], NFKD: [0x1108, 0x1168, 0x11B4] }, -{ source: [0xBF32], NFC: [0xBF32], NFD: [0x1108, 0x1168, 0x11B5], NFKC: [0xBF32], NFKD: [0x1108, 0x1168, 0x11B5] }, -{ source: [0xBF33], NFC: [0xBF33], NFD: [0x1108, 0x1168, 0x11B6], NFKC: [0xBF33], NFKD: [0x1108, 0x1168, 0x11B6] }, -{ source: [0xBF34], NFC: [0xBF34], NFD: [0x1108, 0x1168, 0x11B7], NFKC: [0xBF34], NFKD: [0x1108, 0x1168, 0x11B7] }, -{ source: [0xBF35], NFC: [0xBF35], NFD: [0x1108, 0x1168, 0x11B8], NFKC: [0xBF35], NFKD: [0x1108, 0x1168, 0x11B8] }, -{ source: [0xBF36], NFC: [0xBF36], NFD: [0x1108, 0x1168, 0x11B9], NFKC: [0xBF36], NFKD: [0x1108, 0x1168, 0x11B9] }, -{ source: [0xBF37], NFC: [0xBF37], NFD: [0x1108, 0x1168, 0x11BA], NFKC: [0xBF37], NFKD: [0x1108, 0x1168, 0x11BA] }, -{ source: [0xBF38], NFC: [0xBF38], NFD: [0x1108, 0x1168, 0x11BB], NFKC: [0xBF38], NFKD: [0x1108, 0x1168, 0x11BB] }, -{ source: [0xBF39], NFC: [0xBF39], NFD: [0x1108, 0x1168, 0x11BC], NFKC: [0xBF39], NFKD: [0x1108, 0x1168, 0x11BC] }, -{ source: [0xBF3A], NFC: [0xBF3A], NFD: [0x1108, 0x1168, 0x11BD], NFKC: [0xBF3A], NFKD: [0x1108, 0x1168, 0x11BD] }, -{ source: [0xBF3B], NFC: [0xBF3B], NFD: [0x1108, 0x1168, 0x11BE], NFKC: [0xBF3B], NFKD: [0x1108, 0x1168, 0x11BE] }, -{ source: [0xBF3C], NFC: [0xBF3C], NFD: [0x1108, 0x1168, 0x11BF], NFKC: [0xBF3C], NFKD: [0x1108, 0x1168, 0x11BF] }, -{ source: [0xBF3D], NFC: [0xBF3D], NFD: [0x1108, 0x1168, 0x11C0], NFKC: [0xBF3D], NFKD: [0x1108, 0x1168, 0x11C0] }, -{ source: [0xBF3E], NFC: [0xBF3E], NFD: [0x1108, 0x1168, 0x11C1], NFKC: [0xBF3E], NFKD: [0x1108, 0x1168, 0x11C1] }, -{ source: [0xBF3F], NFC: [0xBF3F], NFD: [0x1108, 0x1168, 0x11C2], NFKC: [0xBF3F], NFKD: [0x1108, 0x1168, 0x11C2] }, -{ source: [0xBF40], NFC: [0xBF40], NFD: [0x1108, 0x1169], NFKC: [0xBF40], NFKD: [0x1108, 0x1169] }, -{ source: [0xBF41], NFC: [0xBF41], NFD: [0x1108, 0x1169, 0x11A8], NFKC: [0xBF41], NFKD: [0x1108, 0x1169, 0x11A8] }, -{ source: [0xBF42], NFC: [0xBF42], NFD: [0x1108, 0x1169, 0x11A9], NFKC: [0xBF42], NFKD: [0x1108, 0x1169, 0x11A9] }, -{ source: [0xBF43], NFC: [0xBF43], NFD: [0x1108, 0x1169, 0x11AA], NFKC: [0xBF43], NFKD: [0x1108, 0x1169, 0x11AA] }, -{ source: [0xBF44], NFC: [0xBF44], NFD: [0x1108, 0x1169, 0x11AB], NFKC: [0xBF44], NFKD: [0x1108, 0x1169, 0x11AB] }, -{ source: [0xBF45], NFC: [0xBF45], NFD: [0x1108, 0x1169, 0x11AC], NFKC: [0xBF45], NFKD: [0x1108, 0x1169, 0x11AC] }, -{ source: [0xBF46], NFC: [0xBF46], NFD: [0x1108, 0x1169, 0x11AD], NFKC: [0xBF46], NFKD: [0x1108, 0x1169, 0x11AD] }, -{ source: [0xBF47], NFC: [0xBF47], NFD: [0x1108, 0x1169, 0x11AE], NFKC: [0xBF47], NFKD: [0x1108, 0x1169, 0x11AE] }, -{ source: [0xBF48], NFC: [0xBF48], NFD: [0x1108, 0x1169, 0x11AF], NFKC: [0xBF48], NFKD: [0x1108, 0x1169, 0x11AF] }, -{ source: [0xBF49], NFC: [0xBF49], NFD: [0x1108, 0x1169, 0x11B0], NFKC: [0xBF49], NFKD: [0x1108, 0x1169, 0x11B0] }, -{ source: [0xBF4A], NFC: [0xBF4A], NFD: [0x1108, 0x1169, 0x11B1], NFKC: [0xBF4A], NFKD: [0x1108, 0x1169, 0x11B1] }, -{ source: [0xBF4B], NFC: [0xBF4B], NFD: [0x1108, 0x1169, 0x11B2], NFKC: [0xBF4B], NFKD: [0x1108, 0x1169, 0x11B2] }, -{ source: [0xBF4C], NFC: [0xBF4C], NFD: [0x1108, 0x1169, 0x11B3], NFKC: [0xBF4C], NFKD: [0x1108, 0x1169, 0x11B3] }, -{ source: [0xBF4D], NFC: [0xBF4D], NFD: [0x1108, 0x1169, 0x11B4], NFKC: [0xBF4D], NFKD: [0x1108, 0x1169, 0x11B4] }, -{ source: [0xBF4E], NFC: [0xBF4E], NFD: [0x1108, 0x1169, 0x11B5], NFKC: [0xBF4E], NFKD: [0x1108, 0x1169, 0x11B5] }, -{ source: [0xBF4F], NFC: [0xBF4F], NFD: [0x1108, 0x1169, 0x11B6], NFKC: [0xBF4F], NFKD: [0x1108, 0x1169, 0x11B6] }, -{ source: [0xBF50], NFC: [0xBF50], NFD: [0x1108, 0x1169, 0x11B7], NFKC: [0xBF50], NFKD: [0x1108, 0x1169, 0x11B7] }, -{ source: [0xBF51], NFC: [0xBF51], NFD: [0x1108, 0x1169, 0x11B8], NFKC: [0xBF51], NFKD: [0x1108, 0x1169, 0x11B8] }, -{ source: [0xBF52], NFC: [0xBF52], NFD: [0x1108, 0x1169, 0x11B9], NFKC: [0xBF52], NFKD: [0x1108, 0x1169, 0x11B9] }, -{ source: [0xBF53], NFC: [0xBF53], NFD: [0x1108, 0x1169, 0x11BA], NFKC: [0xBF53], NFKD: [0x1108, 0x1169, 0x11BA] }, -{ source: [0xBF54], NFC: [0xBF54], NFD: [0x1108, 0x1169, 0x11BB], NFKC: [0xBF54], NFKD: [0x1108, 0x1169, 0x11BB] }, -{ source: [0xBF55], NFC: [0xBF55], NFD: [0x1108, 0x1169, 0x11BC], NFKC: [0xBF55], NFKD: [0x1108, 0x1169, 0x11BC] }, -{ source: [0xBF56], NFC: [0xBF56], NFD: [0x1108, 0x1169, 0x11BD], NFKC: [0xBF56], NFKD: [0x1108, 0x1169, 0x11BD] }, -{ source: [0xBF57], NFC: [0xBF57], NFD: [0x1108, 0x1169, 0x11BE], NFKC: [0xBF57], NFKD: [0x1108, 0x1169, 0x11BE] }, -{ source: [0xBF58], NFC: [0xBF58], NFD: [0x1108, 0x1169, 0x11BF], NFKC: [0xBF58], NFKD: [0x1108, 0x1169, 0x11BF] }, -{ source: [0xBF59], NFC: [0xBF59], NFD: [0x1108, 0x1169, 0x11C0], NFKC: [0xBF59], NFKD: [0x1108, 0x1169, 0x11C0] }, -{ source: [0xBF5A], NFC: [0xBF5A], NFD: [0x1108, 0x1169, 0x11C1], NFKC: [0xBF5A], NFKD: [0x1108, 0x1169, 0x11C1] }, -{ source: [0xBF5B], NFC: [0xBF5B], NFD: [0x1108, 0x1169, 0x11C2], NFKC: [0xBF5B], NFKD: [0x1108, 0x1169, 0x11C2] }, -{ source: [0xBF5C], NFC: [0xBF5C], NFD: [0x1108, 0x116A], NFKC: [0xBF5C], NFKD: [0x1108, 0x116A] }, -{ source: [0xBF5D], NFC: [0xBF5D], NFD: [0x1108, 0x116A, 0x11A8], NFKC: [0xBF5D], NFKD: [0x1108, 0x116A, 0x11A8] }, -{ source: [0xBF5E], NFC: [0xBF5E], NFD: [0x1108, 0x116A, 0x11A9], NFKC: [0xBF5E], NFKD: [0x1108, 0x116A, 0x11A9] }, -{ source: [0xBF5F], NFC: [0xBF5F], NFD: [0x1108, 0x116A, 0x11AA], NFKC: [0xBF5F], NFKD: [0x1108, 0x116A, 0x11AA] }, -{ source: [0xBF60], NFC: [0xBF60], NFD: [0x1108, 0x116A, 0x11AB], NFKC: [0xBF60], NFKD: [0x1108, 0x116A, 0x11AB] }, -{ source: [0xBF61], NFC: [0xBF61], NFD: [0x1108, 0x116A, 0x11AC], NFKC: [0xBF61], NFKD: [0x1108, 0x116A, 0x11AC] }, -{ source: [0xBF62], NFC: [0xBF62], NFD: [0x1108, 0x116A, 0x11AD], NFKC: [0xBF62], NFKD: [0x1108, 0x116A, 0x11AD] }, -{ source: [0xBF63], NFC: [0xBF63], NFD: [0x1108, 0x116A, 0x11AE], NFKC: [0xBF63], NFKD: [0x1108, 0x116A, 0x11AE] }, -{ source: [0xBF64], NFC: [0xBF64], NFD: [0x1108, 0x116A, 0x11AF], NFKC: [0xBF64], NFKD: [0x1108, 0x116A, 0x11AF] }, -{ source: [0xBF65], NFC: [0xBF65], NFD: [0x1108, 0x116A, 0x11B0], NFKC: [0xBF65], NFKD: [0x1108, 0x116A, 0x11B0] }, -{ source: [0xBF66], NFC: [0xBF66], NFD: [0x1108, 0x116A, 0x11B1], NFKC: [0xBF66], NFKD: [0x1108, 0x116A, 0x11B1] }, -{ source: [0xBF67], NFC: [0xBF67], NFD: [0x1108, 0x116A, 0x11B2], NFKC: [0xBF67], NFKD: [0x1108, 0x116A, 0x11B2] }, -{ source: [0xBF68], NFC: [0xBF68], NFD: [0x1108, 0x116A, 0x11B3], NFKC: [0xBF68], NFKD: [0x1108, 0x116A, 0x11B3] }, -{ source: [0xBF69], NFC: [0xBF69], NFD: [0x1108, 0x116A, 0x11B4], NFKC: [0xBF69], NFKD: [0x1108, 0x116A, 0x11B4] }, -{ source: [0xBF6A], NFC: [0xBF6A], NFD: [0x1108, 0x116A, 0x11B5], NFKC: [0xBF6A], NFKD: [0x1108, 0x116A, 0x11B5] }, -{ source: [0xBF6B], NFC: [0xBF6B], NFD: [0x1108, 0x116A, 0x11B6], NFKC: [0xBF6B], NFKD: [0x1108, 0x116A, 0x11B6] }, -{ source: [0xBF6C], NFC: [0xBF6C], NFD: [0x1108, 0x116A, 0x11B7], NFKC: [0xBF6C], NFKD: [0x1108, 0x116A, 0x11B7] }, -{ source: [0xBF6D], NFC: [0xBF6D], NFD: [0x1108, 0x116A, 0x11B8], NFKC: [0xBF6D], NFKD: [0x1108, 0x116A, 0x11B8] }, -{ source: [0xBF6E], NFC: [0xBF6E], NFD: [0x1108, 0x116A, 0x11B9], NFKC: [0xBF6E], NFKD: [0x1108, 0x116A, 0x11B9] }, -{ source: [0xBF6F], NFC: [0xBF6F], NFD: [0x1108, 0x116A, 0x11BA], NFKC: [0xBF6F], NFKD: [0x1108, 0x116A, 0x11BA] }, -{ source: [0xBF70], NFC: [0xBF70], NFD: [0x1108, 0x116A, 0x11BB], NFKC: [0xBF70], NFKD: [0x1108, 0x116A, 0x11BB] }, -{ source: [0xBF71], NFC: [0xBF71], NFD: [0x1108, 0x116A, 0x11BC], NFKC: [0xBF71], NFKD: [0x1108, 0x116A, 0x11BC] }, -{ source: [0xBF72], NFC: [0xBF72], NFD: [0x1108, 0x116A, 0x11BD], NFKC: [0xBF72], NFKD: [0x1108, 0x116A, 0x11BD] }, -{ source: [0xBF73], NFC: [0xBF73], NFD: [0x1108, 0x116A, 0x11BE], NFKC: [0xBF73], NFKD: [0x1108, 0x116A, 0x11BE] }, -{ source: [0xBF74], NFC: [0xBF74], NFD: [0x1108, 0x116A, 0x11BF], NFKC: [0xBF74], NFKD: [0x1108, 0x116A, 0x11BF] }, -{ source: [0xBF75], NFC: [0xBF75], NFD: [0x1108, 0x116A, 0x11C0], NFKC: [0xBF75], NFKD: [0x1108, 0x116A, 0x11C0] }, -{ source: [0xBF76], NFC: [0xBF76], NFD: [0x1108, 0x116A, 0x11C1], NFKC: [0xBF76], NFKD: [0x1108, 0x116A, 0x11C1] }, -{ source: [0xBF77], NFC: [0xBF77], NFD: [0x1108, 0x116A, 0x11C2], NFKC: [0xBF77], NFKD: [0x1108, 0x116A, 0x11C2] }, -{ source: [0xBF78], NFC: [0xBF78], NFD: [0x1108, 0x116B], NFKC: [0xBF78], NFKD: [0x1108, 0x116B] }, -{ source: [0xBF79], NFC: [0xBF79], NFD: [0x1108, 0x116B, 0x11A8], NFKC: [0xBF79], NFKD: [0x1108, 0x116B, 0x11A8] }, -{ source: [0xBF7A], NFC: [0xBF7A], NFD: [0x1108, 0x116B, 0x11A9], NFKC: [0xBF7A], NFKD: [0x1108, 0x116B, 0x11A9] }, -{ source: [0xBF7B], NFC: [0xBF7B], NFD: [0x1108, 0x116B, 0x11AA], NFKC: [0xBF7B], NFKD: [0x1108, 0x116B, 0x11AA] }, -{ source: [0xBF7C], NFC: [0xBF7C], NFD: [0x1108, 0x116B, 0x11AB], NFKC: [0xBF7C], NFKD: [0x1108, 0x116B, 0x11AB] }, -{ source: [0xBF7D], NFC: [0xBF7D], NFD: [0x1108, 0x116B, 0x11AC], NFKC: [0xBF7D], NFKD: [0x1108, 0x116B, 0x11AC] }, -{ source: [0xBF7E], NFC: [0xBF7E], NFD: [0x1108, 0x116B, 0x11AD], NFKC: [0xBF7E], NFKD: [0x1108, 0x116B, 0x11AD] }, -{ source: [0xBF7F], NFC: [0xBF7F], NFD: [0x1108, 0x116B, 0x11AE], NFKC: [0xBF7F], NFKD: [0x1108, 0x116B, 0x11AE] }, -{ source: [0xBF80], NFC: [0xBF80], NFD: [0x1108, 0x116B, 0x11AF], NFKC: [0xBF80], NFKD: [0x1108, 0x116B, 0x11AF] }, -{ source: [0xBF81], NFC: [0xBF81], NFD: [0x1108, 0x116B, 0x11B0], NFKC: [0xBF81], NFKD: [0x1108, 0x116B, 0x11B0] }, -{ source: [0xBF82], NFC: [0xBF82], NFD: [0x1108, 0x116B, 0x11B1], NFKC: [0xBF82], NFKD: [0x1108, 0x116B, 0x11B1] }, -{ source: [0xBF83], NFC: [0xBF83], NFD: [0x1108, 0x116B, 0x11B2], NFKC: [0xBF83], NFKD: [0x1108, 0x116B, 0x11B2] }, -{ source: [0xBF84], NFC: [0xBF84], NFD: [0x1108, 0x116B, 0x11B3], NFKC: [0xBF84], NFKD: [0x1108, 0x116B, 0x11B3] }, -{ source: [0xBF85], NFC: [0xBF85], NFD: [0x1108, 0x116B, 0x11B4], NFKC: [0xBF85], NFKD: [0x1108, 0x116B, 0x11B4] }, -{ source: [0xBF86], NFC: [0xBF86], NFD: [0x1108, 0x116B, 0x11B5], NFKC: [0xBF86], NFKD: [0x1108, 0x116B, 0x11B5] }, -{ source: [0xBF87], NFC: [0xBF87], NFD: [0x1108, 0x116B, 0x11B6], NFKC: [0xBF87], NFKD: [0x1108, 0x116B, 0x11B6] }, -{ source: [0xBF88], NFC: [0xBF88], NFD: [0x1108, 0x116B, 0x11B7], NFKC: [0xBF88], NFKD: [0x1108, 0x116B, 0x11B7] }, -{ source: [0xBF89], NFC: [0xBF89], NFD: [0x1108, 0x116B, 0x11B8], NFKC: [0xBF89], NFKD: [0x1108, 0x116B, 0x11B8] }, -{ source: [0xBF8A], NFC: [0xBF8A], NFD: [0x1108, 0x116B, 0x11B9], NFKC: [0xBF8A], NFKD: [0x1108, 0x116B, 0x11B9] }, -{ source: [0xBF8B], NFC: [0xBF8B], NFD: [0x1108, 0x116B, 0x11BA], NFKC: [0xBF8B], NFKD: [0x1108, 0x116B, 0x11BA] }, -{ source: [0xBF8C], NFC: [0xBF8C], NFD: [0x1108, 0x116B, 0x11BB], NFKC: [0xBF8C], NFKD: [0x1108, 0x116B, 0x11BB] }, -{ source: [0xBF8D], NFC: [0xBF8D], NFD: [0x1108, 0x116B, 0x11BC], NFKC: [0xBF8D], NFKD: [0x1108, 0x116B, 0x11BC] }, -{ source: [0xBF8E], NFC: [0xBF8E], NFD: [0x1108, 0x116B, 0x11BD], NFKC: [0xBF8E], NFKD: [0x1108, 0x116B, 0x11BD] }, -{ source: [0xBF8F], NFC: [0xBF8F], NFD: [0x1108, 0x116B, 0x11BE], NFKC: [0xBF8F], NFKD: [0x1108, 0x116B, 0x11BE] }, -{ source: [0xBF90], NFC: [0xBF90], NFD: [0x1108, 0x116B, 0x11BF], NFKC: [0xBF90], NFKD: [0x1108, 0x116B, 0x11BF] }, -{ source: [0xBF91], NFC: [0xBF91], NFD: [0x1108, 0x116B, 0x11C0], NFKC: [0xBF91], NFKD: [0x1108, 0x116B, 0x11C0] }, -{ source: [0xBF92], NFC: [0xBF92], NFD: [0x1108, 0x116B, 0x11C1], NFKC: [0xBF92], NFKD: [0x1108, 0x116B, 0x11C1] }, -{ source: [0xBF93], NFC: [0xBF93], NFD: [0x1108, 0x116B, 0x11C2], NFKC: [0xBF93], NFKD: [0x1108, 0x116B, 0x11C2] }, -{ source: [0xBF94], NFC: [0xBF94], NFD: [0x1108, 0x116C], NFKC: [0xBF94], NFKD: [0x1108, 0x116C] }, -{ source: [0xBF95], NFC: [0xBF95], NFD: [0x1108, 0x116C, 0x11A8], NFKC: [0xBF95], NFKD: [0x1108, 0x116C, 0x11A8] }, -{ source: [0xBF96], NFC: [0xBF96], NFD: [0x1108, 0x116C, 0x11A9], NFKC: [0xBF96], NFKD: [0x1108, 0x116C, 0x11A9] }, -{ source: [0xBF97], NFC: [0xBF97], NFD: [0x1108, 0x116C, 0x11AA], NFKC: [0xBF97], NFKD: [0x1108, 0x116C, 0x11AA] }, -{ source: [0xBF98], NFC: [0xBF98], NFD: [0x1108, 0x116C, 0x11AB], NFKC: [0xBF98], NFKD: [0x1108, 0x116C, 0x11AB] }, -{ source: [0xBF99], NFC: [0xBF99], NFD: [0x1108, 0x116C, 0x11AC], NFKC: [0xBF99], NFKD: [0x1108, 0x116C, 0x11AC] }, -{ source: [0xBF9A], NFC: [0xBF9A], NFD: [0x1108, 0x116C, 0x11AD], NFKC: [0xBF9A], NFKD: [0x1108, 0x116C, 0x11AD] }, -{ source: [0xBF9B], NFC: [0xBF9B], NFD: [0x1108, 0x116C, 0x11AE], NFKC: [0xBF9B], NFKD: [0x1108, 0x116C, 0x11AE] }, -{ source: [0xBF9C], NFC: [0xBF9C], NFD: [0x1108, 0x116C, 0x11AF], NFKC: [0xBF9C], NFKD: [0x1108, 0x116C, 0x11AF] }, -{ source: [0xBF9D], NFC: [0xBF9D], NFD: [0x1108, 0x116C, 0x11B0], NFKC: [0xBF9D], NFKD: [0x1108, 0x116C, 0x11B0] }, -{ source: [0xBF9E], NFC: [0xBF9E], NFD: [0x1108, 0x116C, 0x11B1], NFKC: [0xBF9E], NFKD: [0x1108, 0x116C, 0x11B1] }, -{ source: [0xBF9F], NFC: [0xBF9F], NFD: [0x1108, 0x116C, 0x11B2], NFKC: [0xBF9F], NFKD: [0x1108, 0x116C, 0x11B2] }, -{ source: [0xBFA0], NFC: [0xBFA0], NFD: [0x1108, 0x116C, 0x11B3], NFKC: [0xBFA0], NFKD: [0x1108, 0x116C, 0x11B3] }, -{ source: [0xBFA1], NFC: [0xBFA1], NFD: [0x1108, 0x116C, 0x11B4], NFKC: [0xBFA1], NFKD: [0x1108, 0x116C, 0x11B4] }, -{ source: [0xBFA2], NFC: [0xBFA2], NFD: [0x1108, 0x116C, 0x11B5], NFKC: [0xBFA2], NFKD: [0x1108, 0x116C, 0x11B5] }, -{ source: [0xBFA3], NFC: [0xBFA3], NFD: [0x1108, 0x116C, 0x11B6], NFKC: [0xBFA3], NFKD: [0x1108, 0x116C, 0x11B6] }, -{ source: [0xBFA4], NFC: [0xBFA4], NFD: [0x1108, 0x116C, 0x11B7], NFKC: [0xBFA4], NFKD: [0x1108, 0x116C, 0x11B7] }, -{ source: [0xBFA5], NFC: [0xBFA5], NFD: [0x1108, 0x116C, 0x11B8], NFKC: [0xBFA5], NFKD: [0x1108, 0x116C, 0x11B8] }, -{ source: [0xBFA6], NFC: [0xBFA6], NFD: [0x1108, 0x116C, 0x11B9], NFKC: [0xBFA6], NFKD: [0x1108, 0x116C, 0x11B9] }, -{ source: [0xBFA7], NFC: [0xBFA7], NFD: [0x1108, 0x116C, 0x11BA], NFKC: [0xBFA7], NFKD: [0x1108, 0x116C, 0x11BA] }, -{ source: [0xBFA8], NFC: [0xBFA8], NFD: [0x1108, 0x116C, 0x11BB], NFKC: [0xBFA8], NFKD: [0x1108, 0x116C, 0x11BB] }, -{ source: [0xBFA9], NFC: [0xBFA9], NFD: [0x1108, 0x116C, 0x11BC], NFKC: [0xBFA9], NFKD: [0x1108, 0x116C, 0x11BC] }, -{ source: [0xBFAA], NFC: [0xBFAA], NFD: [0x1108, 0x116C, 0x11BD], NFKC: [0xBFAA], NFKD: [0x1108, 0x116C, 0x11BD] }, -{ source: [0xBFAB], NFC: [0xBFAB], NFD: [0x1108, 0x116C, 0x11BE], NFKC: [0xBFAB], NFKD: [0x1108, 0x116C, 0x11BE] }, -{ source: [0xBFAC], NFC: [0xBFAC], NFD: [0x1108, 0x116C, 0x11BF], NFKC: [0xBFAC], NFKD: [0x1108, 0x116C, 0x11BF] }, -{ source: [0xBFAD], NFC: [0xBFAD], NFD: [0x1108, 0x116C, 0x11C0], NFKC: [0xBFAD], NFKD: [0x1108, 0x116C, 0x11C0] }, -{ source: [0xBFAE], NFC: [0xBFAE], NFD: [0x1108, 0x116C, 0x11C1], NFKC: [0xBFAE], NFKD: [0x1108, 0x116C, 0x11C1] }, -{ source: [0xBFAF], NFC: [0xBFAF], NFD: [0x1108, 0x116C, 0x11C2], NFKC: [0xBFAF], NFKD: [0x1108, 0x116C, 0x11C2] }, -{ source: [0xBFB0], NFC: [0xBFB0], NFD: [0x1108, 0x116D], NFKC: [0xBFB0], NFKD: [0x1108, 0x116D] }, -{ source: [0xBFB1], NFC: [0xBFB1], NFD: [0x1108, 0x116D, 0x11A8], NFKC: [0xBFB1], NFKD: [0x1108, 0x116D, 0x11A8] }, -{ source: [0xBFB2], NFC: [0xBFB2], NFD: [0x1108, 0x116D, 0x11A9], NFKC: [0xBFB2], NFKD: [0x1108, 0x116D, 0x11A9] }, -{ source: [0xBFB3], NFC: [0xBFB3], NFD: [0x1108, 0x116D, 0x11AA], NFKC: [0xBFB3], NFKD: [0x1108, 0x116D, 0x11AA] }, -{ source: [0xBFB4], NFC: [0xBFB4], NFD: [0x1108, 0x116D, 0x11AB], NFKC: [0xBFB4], NFKD: [0x1108, 0x116D, 0x11AB] }, -{ source: [0xBFB5], NFC: [0xBFB5], NFD: [0x1108, 0x116D, 0x11AC], NFKC: [0xBFB5], NFKD: [0x1108, 0x116D, 0x11AC] }, -{ source: [0xBFB6], NFC: [0xBFB6], NFD: [0x1108, 0x116D, 0x11AD], NFKC: [0xBFB6], NFKD: [0x1108, 0x116D, 0x11AD] }, -{ source: [0xBFB7], NFC: [0xBFB7], NFD: [0x1108, 0x116D, 0x11AE], NFKC: [0xBFB7], NFKD: [0x1108, 0x116D, 0x11AE] }, -{ source: [0xBFB8], NFC: [0xBFB8], NFD: [0x1108, 0x116D, 0x11AF], NFKC: [0xBFB8], NFKD: [0x1108, 0x116D, 0x11AF] }, -{ source: [0xBFB9], NFC: [0xBFB9], NFD: [0x1108, 0x116D, 0x11B0], NFKC: [0xBFB9], NFKD: [0x1108, 0x116D, 0x11B0] }, -{ source: [0xBFBA], NFC: [0xBFBA], NFD: [0x1108, 0x116D, 0x11B1], NFKC: [0xBFBA], NFKD: [0x1108, 0x116D, 0x11B1] }, -{ source: [0xBFBB], NFC: [0xBFBB], NFD: [0x1108, 0x116D, 0x11B2], NFKC: [0xBFBB], NFKD: [0x1108, 0x116D, 0x11B2] }, -{ source: [0xBFBC], NFC: [0xBFBC], NFD: [0x1108, 0x116D, 0x11B3], NFKC: [0xBFBC], NFKD: [0x1108, 0x116D, 0x11B3] }, -{ source: [0xBFBD], NFC: [0xBFBD], NFD: [0x1108, 0x116D, 0x11B4], NFKC: [0xBFBD], NFKD: [0x1108, 0x116D, 0x11B4] }, -{ source: [0xBFBE], NFC: [0xBFBE], NFD: [0x1108, 0x116D, 0x11B5], NFKC: [0xBFBE], NFKD: [0x1108, 0x116D, 0x11B5] }, -{ source: [0xBFBF], NFC: [0xBFBF], NFD: [0x1108, 0x116D, 0x11B6], NFKC: [0xBFBF], NFKD: [0x1108, 0x116D, 0x11B6] }, -{ source: [0xBFC0], NFC: [0xBFC0], NFD: [0x1108, 0x116D, 0x11B7], NFKC: [0xBFC0], NFKD: [0x1108, 0x116D, 0x11B7] }, -{ source: [0xBFC1], NFC: [0xBFC1], NFD: [0x1108, 0x116D, 0x11B8], NFKC: [0xBFC1], NFKD: [0x1108, 0x116D, 0x11B8] }, -{ source: [0xBFC2], NFC: [0xBFC2], NFD: [0x1108, 0x116D, 0x11B9], NFKC: [0xBFC2], NFKD: [0x1108, 0x116D, 0x11B9] }, -{ source: [0xBFC3], NFC: [0xBFC3], NFD: [0x1108, 0x116D, 0x11BA], NFKC: [0xBFC3], NFKD: [0x1108, 0x116D, 0x11BA] }, -{ source: [0xBFC4], NFC: [0xBFC4], NFD: [0x1108, 0x116D, 0x11BB], NFKC: [0xBFC4], NFKD: [0x1108, 0x116D, 0x11BB] }, -{ source: [0xBFC5], NFC: [0xBFC5], NFD: [0x1108, 0x116D, 0x11BC], NFKC: [0xBFC5], NFKD: [0x1108, 0x116D, 0x11BC] }, -{ source: [0xBFC6], NFC: [0xBFC6], NFD: [0x1108, 0x116D, 0x11BD], NFKC: [0xBFC6], NFKD: [0x1108, 0x116D, 0x11BD] }, -{ source: [0xBFC7], NFC: [0xBFC7], NFD: [0x1108, 0x116D, 0x11BE], NFKC: [0xBFC7], NFKD: [0x1108, 0x116D, 0x11BE] }, -{ source: [0xBFC8], NFC: [0xBFC8], NFD: [0x1108, 0x116D, 0x11BF], NFKC: [0xBFC8], NFKD: [0x1108, 0x116D, 0x11BF] }, -{ source: [0xBFC9], NFC: [0xBFC9], NFD: [0x1108, 0x116D, 0x11C0], NFKC: [0xBFC9], NFKD: [0x1108, 0x116D, 0x11C0] }, -{ source: [0xBFCA], NFC: [0xBFCA], NFD: [0x1108, 0x116D, 0x11C1], NFKC: [0xBFCA], NFKD: [0x1108, 0x116D, 0x11C1] }, -{ source: [0xBFCB], NFC: [0xBFCB], NFD: [0x1108, 0x116D, 0x11C2], NFKC: [0xBFCB], NFKD: [0x1108, 0x116D, 0x11C2] }, -{ source: [0xBFCC], NFC: [0xBFCC], NFD: [0x1108, 0x116E], NFKC: [0xBFCC], NFKD: [0x1108, 0x116E] }, -{ source: [0xBFCD], NFC: [0xBFCD], NFD: [0x1108, 0x116E, 0x11A8], NFKC: [0xBFCD], NFKD: [0x1108, 0x116E, 0x11A8] }, -{ source: [0xBFCE], NFC: [0xBFCE], NFD: [0x1108, 0x116E, 0x11A9], NFKC: [0xBFCE], NFKD: [0x1108, 0x116E, 0x11A9] }, -{ source: [0xBFCF], NFC: [0xBFCF], NFD: [0x1108, 0x116E, 0x11AA], NFKC: [0xBFCF], NFKD: [0x1108, 0x116E, 0x11AA] }, -{ source: [0xBFD0], NFC: [0xBFD0], NFD: [0x1108, 0x116E, 0x11AB], NFKC: [0xBFD0], NFKD: [0x1108, 0x116E, 0x11AB] }, -{ source: [0xBFD1], NFC: [0xBFD1], NFD: [0x1108, 0x116E, 0x11AC], NFKC: [0xBFD1], NFKD: [0x1108, 0x116E, 0x11AC] }, -{ source: [0xBFD2], NFC: [0xBFD2], NFD: [0x1108, 0x116E, 0x11AD], NFKC: [0xBFD2], NFKD: [0x1108, 0x116E, 0x11AD] }, -{ source: [0xBFD3], NFC: [0xBFD3], NFD: [0x1108, 0x116E, 0x11AE], NFKC: [0xBFD3], NFKD: [0x1108, 0x116E, 0x11AE] }, -{ source: [0xBFD4], NFC: [0xBFD4], NFD: [0x1108, 0x116E, 0x11AF], NFKC: [0xBFD4], NFKD: [0x1108, 0x116E, 0x11AF] }, -{ source: [0xBFD5], NFC: [0xBFD5], NFD: [0x1108, 0x116E, 0x11B0], NFKC: [0xBFD5], NFKD: [0x1108, 0x116E, 0x11B0] }, -{ source: [0xBFD6], NFC: [0xBFD6], NFD: [0x1108, 0x116E, 0x11B1], NFKC: [0xBFD6], NFKD: [0x1108, 0x116E, 0x11B1] }, -{ source: [0xBFD7], NFC: [0xBFD7], NFD: [0x1108, 0x116E, 0x11B2], NFKC: [0xBFD7], NFKD: [0x1108, 0x116E, 0x11B2] }, -{ source: [0xBFD8], NFC: [0xBFD8], NFD: [0x1108, 0x116E, 0x11B3], NFKC: [0xBFD8], NFKD: [0x1108, 0x116E, 0x11B3] }, -{ source: [0xBFD9], NFC: [0xBFD9], NFD: [0x1108, 0x116E, 0x11B4], NFKC: [0xBFD9], NFKD: [0x1108, 0x116E, 0x11B4] }, -{ source: [0xBFDA], NFC: [0xBFDA], NFD: [0x1108, 0x116E, 0x11B5], NFKC: [0xBFDA], NFKD: [0x1108, 0x116E, 0x11B5] }, -{ source: [0xBFDB], NFC: [0xBFDB], NFD: [0x1108, 0x116E, 0x11B6], NFKC: [0xBFDB], NFKD: [0x1108, 0x116E, 0x11B6] }, -{ source: [0xBFDC], NFC: [0xBFDC], NFD: [0x1108, 0x116E, 0x11B7], NFKC: [0xBFDC], NFKD: [0x1108, 0x116E, 0x11B7] }, -{ source: [0xBFDD], NFC: [0xBFDD], NFD: [0x1108, 0x116E, 0x11B8], NFKC: [0xBFDD], NFKD: [0x1108, 0x116E, 0x11B8] }, -{ source: [0xBFDE], NFC: [0xBFDE], NFD: [0x1108, 0x116E, 0x11B9], NFKC: [0xBFDE], NFKD: [0x1108, 0x116E, 0x11B9] }, -{ source: [0xBFDF], NFC: [0xBFDF], NFD: [0x1108, 0x116E, 0x11BA], NFKC: [0xBFDF], NFKD: [0x1108, 0x116E, 0x11BA] }, -{ source: [0xBFE0], NFC: [0xBFE0], NFD: [0x1108, 0x116E, 0x11BB], NFKC: [0xBFE0], NFKD: [0x1108, 0x116E, 0x11BB] }, -{ source: [0xBFE1], NFC: [0xBFE1], NFD: [0x1108, 0x116E, 0x11BC], NFKC: [0xBFE1], NFKD: [0x1108, 0x116E, 0x11BC] }, -{ source: [0xBFE2], NFC: [0xBFE2], NFD: [0x1108, 0x116E, 0x11BD], NFKC: [0xBFE2], NFKD: [0x1108, 0x116E, 0x11BD] }, -{ source: [0xBFE3], NFC: [0xBFE3], NFD: [0x1108, 0x116E, 0x11BE], NFKC: [0xBFE3], NFKD: [0x1108, 0x116E, 0x11BE] }, -{ source: [0xBFE4], NFC: [0xBFE4], NFD: [0x1108, 0x116E, 0x11BF], NFKC: [0xBFE4], NFKD: [0x1108, 0x116E, 0x11BF] }, -{ source: [0xBFE5], NFC: [0xBFE5], NFD: [0x1108, 0x116E, 0x11C0], NFKC: [0xBFE5], NFKD: [0x1108, 0x116E, 0x11C0] }, -{ source: [0xBFE6], NFC: [0xBFE6], NFD: [0x1108, 0x116E, 0x11C1], NFKC: [0xBFE6], NFKD: [0x1108, 0x116E, 0x11C1] }, -{ source: [0xBFE7], NFC: [0xBFE7], NFD: [0x1108, 0x116E, 0x11C2], NFKC: [0xBFE7], NFKD: [0x1108, 0x116E, 0x11C2] }, -{ source: [0xBFE8], NFC: [0xBFE8], NFD: [0x1108, 0x116F], NFKC: [0xBFE8], NFKD: [0x1108, 0x116F] }, -{ source: [0xBFE9], NFC: [0xBFE9], NFD: [0x1108, 0x116F, 0x11A8], NFKC: [0xBFE9], NFKD: [0x1108, 0x116F, 0x11A8] }, -{ source: [0xBFEA], NFC: [0xBFEA], NFD: [0x1108, 0x116F, 0x11A9], NFKC: [0xBFEA], NFKD: [0x1108, 0x116F, 0x11A9] }, -{ source: [0xBFEB], NFC: [0xBFEB], NFD: [0x1108, 0x116F, 0x11AA], NFKC: [0xBFEB], NFKD: [0x1108, 0x116F, 0x11AA] }, -{ source: [0xBFEC], NFC: [0xBFEC], NFD: [0x1108, 0x116F, 0x11AB], NFKC: [0xBFEC], NFKD: [0x1108, 0x116F, 0x11AB] }, -{ source: [0xBFED], NFC: [0xBFED], NFD: [0x1108, 0x116F, 0x11AC], NFKC: [0xBFED], NFKD: [0x1108, 0x116F, 0x11AC] }, -{ source: [0xBFEE], NFC: [0xBFEE], NFD: [0x1108, 0x116F, 0x11AD], NFKC: [0xBFEE], NFKD: [0x1108, 0x116F, 0x11AD] }, -{ source: [0xBFEF], NFC: [0xBFEF], NFD: [0x1108, 0x116F, 0x11AE], NFKC: [0xBFEF], NFKD: [0x1108, 0x116F, 0x11AE] }, -{ source: [0xBFF0], NFC: [0xBFF0], NFD: [0x1108, 0x116F, 0x11AF], NFKC: [0xBFF0], NFKD: [0x1108, 0x116F, 0x11AF] }, -{ source: [0xBFF1], NFC: [0xBFF1], NFD: [0x1108, 0x116F, 0x11B0], NFKC: [0xBFF1], NFKD: [0x1108, 0x116F, 0x11B0] }, -{ source: [0xBFF2], NFC: [0xBFF2], NFD: [0x1108, 0x116F, 0x11B1], NFKC: [0xBFF2], NFKD: [0x1108, 0x116F, 0x11B1] }, -{ source: [0xBFF3], NFC: [0xBFF3], NFD: [0x1108, 0x116F, 0x11B2], NFKC: [0xBFF3], NFKD: [0x1108, 0x116F, 0x11B2] }, -{ source: [0xBFF4], NFC: [0xBFF4], NFD: [0x1108, 0x116F, 0x11B3], NFKC: [0xBFF4], NFKD: [0x1108, 0x116F, 0x11B3] }, -{ source: [0xBFF5], NFC: [0xBFF5], NFD: [0x1108, 0x116F, 0x11B4], NFKC: [0xBFF5], NFKD: [0x1108, 0x116F, 0x11B4] }, -{ source: [0xBFF6], NFC: [0xBFF6], NFD: [0x1108, 0x116F, 0x11B5], NFKC: [0xBFF6], NFKD: [0x1108, 0x116F, 0x11B5] }, -{ source: [0xBFF7], NFC: [0xBFF7], NFD: [0x1108, 0x116F, 0x11B6], NFKC: [0xBFF7], NFKD: [0x1108, 0x116F, 0x11B6] }, -{ source: [0xBFF8], NFC: [0xBFF8], NFD: [0x1108, 0x116F, 0x11B7], NFKC: [0xBFF8], NFKD: [0x1108, 0x116F, 0x11B7] }, -{ source: [0xBFF9], NFC: [0xBFF9], NFD: [0x1108, 0x116F, 0x11B8], NFKC: [0xBFF9], NFKD: [0x1108, 0x116F, 0x11B8] }, -{ source: [0xBFFA], NFC: [0xBFFA], NFD: [0x1108, 0x116F, 0x11B9], NFKC: [0xBFFA], NFKD: [0x1108, 0x116F, 0x11B9] }, -{ source: [0xBFFB], NFC: [0xBFFB], NFD: [0x1108, 0x116F, 0x11BA], NFKC: [0xBFFB], NFKD: [0x1108, 0x116F, 0x11BA] }, -{ source: [0xBFFC], NFC: [0xBFFC], NFD: [0x1108, 0x116F, 0x11BB], NFKC: [0xBFFC], NFKD: [0x1108, 0x116F, 0x11BB] }, -{ source: [0xBFFD], NFC: [0xBFFD], NFD: [0x1108, 0x116F, 0x11BC], NFKC: [0xBFFD], NFKD: [0x1108, 0x116F, 0x11BC] }, -{ source: [0xBFFE], NFC: [0xBFFE], NFD: [0x1108, 0x116F, 0x11BD], NFKC: [0xBFFE], NFKD: [0x1108, 0x116F, 0x11BD] }, -{ source: [0xBFFF], NFC: [0xBFFF], NFD: [0x1108, 0x116F, 0x11BE], NFKC: [0xBFFF], NFKD: [0x1108, 0x116F, 0x11BE] }, -{ source: [0xC000], NFC: [0xC000], NFD: [0x1108, 0x116F, 0x11BF], NFKC: [0xC000], NFKD: [0x1108, 0x116F, 0x11BF] }, -{ source: [0xC001], NFC: [0xC001], NFD: [0x1108, 0x116F, 0x11C0], NFKC: [0xC001], NFKD: [0x1108, 0x116F, 0x11C0] }, -{ source: [0xC002], NFC: [0xC002], NFD: [0x1108, 0x116F, 0x11C1], NFKC: [0xC002], NFKD: [0x1108, 0x116F, 0x11C1] }, -{ source: [0xC003], NFC: [0xC003], NFD: [0x1108, 0x116F, 0x11C2], NFKC: [0xC003], NFKD: [0x1108, 0x116F, 0x11C2] }, -{ source: [0xC004], NFC: [0xC004], NFD: [0x1108, 0x1170], NFKC: [0xC004], NFKD: [0x1108, 0x1170] }, -{ source: [0xC005], NFC: [0xC005], NFD: [0x1108, 0x1170, 0x11A8], NFKC: [0xC005], NFKD: [0x1108, 0x1170, 0x11A8] }, -{ source: [0xC006], NFC: [0xC006], NFD: [0x1108, 0x1170, 0x11A9], NFKC: [0xC006], NFKD: [0x1108, 0x1170, 0x11A9] }, -{ source: [0xC007], NFC: [0xC007], NFD: [0x1108, 0x1170, 0x11AA], NFKC: [0xC007], NFKD: [0x1108, 0x1170, 0x11AA] }, -{ source: [0xC008], NFC: [0xC008], NFD: [0x1108, 0x1170, 0x11AB], NFKC: [0xC008], NFKD: [0x1108, 0x1170, 0x11AB] }, -{ source: [0xC009], NFC: [0xC009], NFD: [0x1108, 0x1170, 0x11AC], NFKC: [0xC009], NFKD: [0x1108, 0x1170, 0x11AC] }, -{ source: [0xC00A], NFC: [0xC00A], NFD: [0x1108, 0x1170, 0x11AD], NFKC: [0xC00A], NFKD: [0x1108, 0x1170, 0x11AD] }, -{ source: [0xC00B], NFC: [0xC00B], NFD: [0x1108, 0x1170, 0x11AE], NFKC: [0xC00B], NFKD: [0x1108, 0x1170, 0x11AE] }, -{ source: [0xC00C], NFC: [0xC00C], NFD: [0x1108, 0x1170, 0x11AF], NFKC: [0xC00C], NFKD: [0x1108, 0x1170, 0x11AF] }, -{ source: [0xC00D], NFC: [0xC00D], NFD: [0x1108, 0x1170, 0x11B0], NFKC: [0xC00D], NFKD: [0x1108, 0x1170, 0x11B0] }, -{ source: [0xC00E], NFC: [0xC00E], NFD: [0x1108, 0x1170, 0x11B1], NFKC: [0xC00E], NFKD: [0x1108, 0x1170, 0x11B1] }, -{ source: [0xC00F], NFC: [0xC00F], NFD: [0x1108, 0x1170, 0x11B2], NFKC: [0xC00F], NFKD: [0x1108, 0x1170, 0x11B2] }, -{ source: [0xC010], NFC: [0xC010], NFD: [0x1108, 0x1170, 0x11B3], NFKC: [0xC010], NFKD: [0x1108, 0x1170, 0x11B3] }, -{ source: [0xC011], NFC: [0xC011], NFD: [0x1108, 0x1170, 0x11B4], NFKC: [0xC011], NFKD: [0x1108, 0x1170, 0x11B4] }, -{ source: [0xC012], NFC: [0xC012], NFD: [0x1108, 0x1170, 0x11B5], NFKC: [0xC012], NFKD: [0x1108, 0x1170, 0x11B5] }, -{ source: [0xC013], NFC: [0xC013], NFD: [0x1108, 0x1170, 0x11B6], NFKC: [0xC013], NFKD: [0x1108, 0x1170, 0x11B6] }, -{ source: [0xC014], NFC: [0xC014], NFD: [0x1108, 0x1170, 0x11B7], NFKC: [0xC014], NFKD: [0x1108, 0x1170, 0x11B7] }, -{ source: [0xC015], NFC: [0xC015], NFD: [0x1108, 0x1170, 0x11B8], NFKC: [0xC015], NFKD: [0x1108, 0x1170, 0x11B8] }, -{ source: [0xC016], NFC: [0xC016], NFD: [0x1108, 0x1170, 0x11B9], NFKC: [0xC016], NFKD: [0x1108, 0x1170, 0x11B9] }, -{ source: [0xC017], NFC: [0xC017], NFD: [0x1108, 0x1170, 0x11BA], NFKC: [0xC017], NFKD: [0x1108, 0x1170, 0x11BA] }, -{ source: [0xC018], NFC: [0xC018], NFD: [0x1108, 0x1170, 0x11BB], NFKC: [0xC018], NFKD: [0x1108, 0x1170, 0x11BB] }, -{ source: [0xC019], NFC: [0xC019], NFD: [0x1108, 0x1170, 0x11BC], NFKC: [0xC019], NFKD: [0x1108, 0x1170, 0x11BC] }, -{ source: [0xC01A], NFC: [0xC01A], NFD: [0x1108, 0x1170, 0x11BD], NFKC: [0xC01A], NFKD: [0x1108, 0x1170, 0x11BD] }, -{ source: [0xC01B], NFC: [0xC01B], NFD: [0x1108, 0x1170, 0x11BE], NFKC: [0xC01B], NFKD: [0x1108, 0x1170, 0x11BE] }, -{ source: [0xC01C], NFC: [0xC01C], NFD: [0x1108, 0x1170, 0x11BF], NFKC: [0xC01C], NFKD: [0x1108, 0x1170, 0x11BF] }, -{ source: [0xC01D], NFC: [0xC01D], NFD: [0x1108, 0x1170, 0x11C0], NFKC: [0xC01D], NFKD: [0x1108, 0x1170, 0x11C0] }, -{ source: [0xC01E], NFC: [0xC01E], NFD: [0x1108, 0x1170, 0x11C1], NFKC: [0xC01E], NFKD: [0x1108, 0x1170, 0x11C1] }, -{ source: [0xC01F], NFC: [0xC01F], NFD: [0x1108, 0x1170, 0x11C2], NFKC: [0xC01F], NFKD: [0x1108, 0x1170, 0x11C2] }, -{ source: [0xC020], NFC: [0xC020], NFD: [0x1108, 0x1171], NFKC: [0xC020], NFKD: [0x1108, 0x1171] }, -{ source: [0xC021], NFC: [0xC021], NFD: [0x1108, 0x1171, 0x11A8], NFKC: [0xC021], NFKD: [0x1108, 0x1171, 0x11A8] }, -{ source: [0xC022], NFC: [0xC022], NFD: [0x1108, 0x1171, 0x11A9], NFKC: [0xC022], NFKD: [0x1108, 0x1171, 0x11A9] }, -{ source: [0xC023], NFC: [0xC023], NFD: [0x1108, 0x1171, 0x11AA], NFKC: [0xC023], NFKD: [0x1108, 0x1171, 0x11AA] }, -{ source: [0xC024], NFC: [0xC024], NFD: [0x1108, 0x1171, 0x11AB], NFKC: [0xC024], NFKD: [0x1108, 0x1171, 0x11AB] }, -{ source: [0xC025], NFC: [0xC025], NFD: [0x1108, 0x1171, 0x11AC], NFKC: [0xC025], NFKD: [0x1108, 0x1171, 0x11AC] }, -{ source: [0xC026], NFC: [0xC026], NFD: [0x1108, 0x1171, 0x11AD], NFKC: [0xC026], NFKD: [0x1108, 0x1171, 0x11AD] }, -{ source: [0xC027], NFC: [0xC027], NFD: [0x1108, 0x1171, 0x11AE], NFKC: [0xC027], NFKD: [0x1108, 0x1171, 0x11AE] }, -{ source: [0xC028], NFC: [0xC028], NFD: [0x1108, 0x1171, 0x11AF], NFKC: [0xC028], NFKD: [0x1108, 0x1171, 0x11AF] }, -{ source: [0xC029], NFC: [0xC029], NFD: [0x1108, 0x1171, 0x11B0], NFKC: [0xC029], NFKD: [0x1108, 0x1171, 0x11B0] }, -{ source: [0xC02A], NFC: [0xC02A], NFD: [0x1108, 0x1171, 0x11B1], NFKC: [0xC02A], NFKD: [0x1108, 0x1171, 0x11B1] }, -{ source: [0xC02B], NFC: [0xC02B], NFD: [0x1108, 0x1171, 0x11B2], NFKC: [0xC02B], NFKD: [0x1108, 0x1171, 0x11B2] }, -{ source: [0xC02C], NFC: [0xC02C], NFD: [0x1108, 0x1171, 0x11B3], NFKC: [0xC02C], NFKD: [0x1108, 0x1171, 0x11B3] }, -{ source: [0xC02D], NFC: [0xC02D], NFD: [0x1108, 0x1171, 0x11B4], NFKC: [0xC02D], NFKD: [0x1108, 0x1171, 0x11B4] }, -{ source: [0xC02E], NFC: [0xC02E], NFD: [0x1108, 0x1171, 0x11B5], NFKC: [0xC02E], NFKD: [0x1108, 0x1171, 0x11B5] }, -{ source: [0xC02F], NFC: [0xC02F], NFD: [0x1108, 0x1171, 0x11B6], NFKC: [0xC02F], NFKD: [0x1108, 0x1171, 0x11B6] }, -{ source: [0xC030], NFC: [0xC030], NFD: [0x1108, 0x1171, 0x11B7], NFKC: [0xC030], NFKD: [0x1108, 0x1171, 0x11B7] }, -{ source: [0xC031], NFC: [0xC031], NFD: [0x1108, 0x1171, 0x11B8], NFKC: [0xC031], NFKD: [0x1108, 0x1171, 0x11B8] }, -{ source: [0xC032], NFC: [0xC032], NFD: [0x1108, 0x1171, 0x11B9], NFKC: [0xC032], NFKD: [0x1108, 0x1171, 0x11B9] }, -{ source: [0xC033], NFC: [0xC033], NFD: [0x1108, 0x1171, 0x11BA], NFKC: [0xC033], NFKD: [0x1108, 0x1171, 0x11BA] }, -{ source: [0xC034], NFC: [0xC034], NFD: [0x1108, 0x1171, 0x11BB], NFKC: [0xC034], NFKD: [0x1108, 0x1171, 0x11BB] }, -{ source: [0xC035], NFC: [0xC035], NFD: [0x1108, 0x1171, 0x11BC], NFKC: [0xC035], NFKD: [0x1108, 0x1171, 0x11BC] }, -{ source: [0xC036], NFC: [0xC036], NFD: [0x1108, 0x1171, 0x11BD], NFKC: [0xC036], NFKD: [0x1108, 0x1171, 0x11BD] }, -{ source: [0xC037], NFC: [0xC037], NFD: [0x1108, 0x1171, 0x11BE], NFKC: [0xC037], NFKD: [0x1108, 0x1171, 0x11BE] }, -{ source: [0xC038], NFC: [0xC038], NFD: [0x1108, 0x1171, 0x11BF], NFKC: [0xC038], NFKD: [0x1108, 0x1171, 0x11BF] }, -{ source: [0xC039], NFC: [0xC039], NFD: [0x1108, 0x1171, 0x11C0], NFKC: [0xC039], NFKD: [0x1108, 0x1171, 0x11C0] }, -{ source: [0xC03A], NFC: [0xC03A], NFD: [0x1108, 0x1171, 0x11C1], NFKC: [0xC03A], NFKD: [0x1108, 0x1171, 0x11C1] }, -{ source: [0xC03B], NFC: [0xC03B], NFD: [0x1108, 0x1171, 0x11C2], NFKC: [0xC03B], NFKD: [0x1108, 0x1171, 0x11C2] }, -{ source: [0xC03C], NFC: [0xC03C], NFD: [0x1108, 0x1172], NFKC: [0xC03C], NFKD: [0x1108, 0x1172] }, -{ source: [0xC03D], NFC: [0xC03D], NFD: [0x1108, 0x1172, 0x11A8], NFKC: [0xC03D], NFKD: [0x1108, 0x1172, 0x11A8] }, -{ source: [0xC03E], NFC: [0xC03E], NFD: [0x1108, 0x1172, 0x11A9], NFKC: [0xC03E], NFKD: [0x1108, 0x1172, 0x11A9] }, -{ source: [0xC03F], NFC: [0xC03F], NFD: [0x1108, 0x1172, 0x11AA], NFKC: [0xC03F], NFKD: [0x1108, 0x1172, 0x11AA] }, -{ source: [0xC040], NFC: [0xC040], NFD: [0x1108, 0x1172, 0x11AB], NFKC: [0xC040], NFKD: [0x1108, 0x1172, 0x11AB] }, -{ source: [0xC041], NFC: [0xC041], NFD: [0x1108, 0x1172, 0x11AC], NFKC: [0xC041], NFKD: [0x1108, 0x1172, 0x11AC] }, -{ source: [0xC042], NFC: [0xC042], NFD: [0x1108, 0x1172, 0x11AD], NFKC: [0xC042], NFKD: [0x1108, 0x1172, 0x11AD] }, -{ source: [0xC043], NFC: [0xC043], NFD: [0x1108, 0x1172, 0x11AE], NFKC: [0xC043], NFKD: [0x1108, 0x1172, 0x11AE] }, -{ source: [0xC044], NFC: [0xC044], NFD: [0x1108, 0x1172, 0x11AF], NFKC: [0xC044], NFKD: [0x1108, 0x1172, 0x11AF] }, -{ source: [0xC045], NFC: [0xC045], NFD: [0x1108, 0x1172, 0x11B0], NFKC: [0xC045], NFKD: [0x1108, 0x1172, 0x11B0] }, -{ source: [0xC046], NFC: [0xC046], NFD: [0x1108, 0x1172, 0x11B1], NFKC: [0xC046], NFKD: [0x1108, 0x1172, 0x11B1] }, -{ source: [0xC047], NFC: [0xC047], NFD: [0x1108, 0x1172, 0x11B2], NFKC: [0xC047], NFKD: [0x1108, 0x1172, 0x11B2] }, -{ source: [0xC048], NFC: [0xC048], NFD: [0x1108, 0x1172, 0x11B3], NFKC: [0xC048], NFKD: [0x1108, 0x1172, 0x11B3] }, -{ source: [0xC049], NFC: [0xC049], NFD: [0x1108, 0x1172, 0x11B4], NFKC: [0xC049], NFKD: [0x1108, 0x1172, 0x11B4] }, -{ source: [0xC04A], NFC: [0xC04A], NFD: [0x1108, 0x1172, 0x11B5], NFKC: [0xC04A], NFKD: [0x1108, 0x1172, 0x11B5] }, -{ source: [0xC04B], NFC: [0xC04B], NFD: [0x1108, 0x1172, 0x11B6], NFKC: [0xC04B], NFKD: [0x1108, 0x1172, 0x11B6] }, -{ source: [0xC04C], NFC: [0xC04C], NFD: [0x1108, 0x1172, 0x11B7], NFKC: [0xC04C], NFKD: [0x1108, 0x1172, 0x11B7] }, -{ source: [0xC04D], NFC: [0xC04D], NFD: [0x1108, 0x1172, 0x11B8], NFKC: [0xC04D], NFKD: [0x1108, 0x1172, 0x11B8] }, -{ source: [0xC04E], NFC: [0xC04E], NFD: [0x1108, 0x1172, 0x11B9], NFKC: [0xC04E], NFKD: [0x1108, 0x1172, 0x11B9] }, -{ source: [0xC04F], NFC: [0xC04F], NFD: [0x1108, 0x1172, 0x11BA], NFKC: [0xC04F], NFKD: [0x1108, 0x1172, 0x11BA] }, -{ source: [0xC050], NFC: [0xC050], NFD: [0x1108, 0x1172, 0x11BB], NFKC: [0xC050], NFKD: [0x1108, 0x1172, 0x11BB] }, -{ source: [0xC051], NFC: [0xC051], NFD: [0x1108, 0x1172, 0x11BC], NFKC: [0xC051], NFKD: [0x1108, 0x1172, 0x11BC] }, -{ source: [0xC052], NFC: [0xC052], NFD: [0x1108, 0x1172, 0x11BD], NFKC: [0xC052], NFKD: [0x1108, 0x1172, 0x11BD] }, -{ source: [0xC053], NFC: [0xC053], NFD: [0x1108, 0x1172, 0x11BE], NFKC: [0xC053], NFKD: [0x1108, 0x1172, 0x11BE] }, -{ source: [0xC054], NFC: [0xC054], NFD: [0x1108, 0x1172, 0x11BF], NFKC: [0xC054], NFKD: [0x1108, 0x1172, 0x11BF] }, -{ source: [0xC055], NFC: [0xC055], NFD: [0x1108, 0x1172, 0x11C0], NFKC: [0xC055], NFKD: [0x1108, 0x1172, 0x11C0] }, -{ source: [0xC056], NFC: [0xC056], NFD: [0x1108, 0x1172, 0x11C1], NFKC: [0xC056], NFKD: [0x1108, 0x1172, 0x11C1] }, -{ source: [0xC057], NFC: [0xC057], NFD: [0x1108, 0x1172, 0x11C2], NFKC: [0xC057], NFKD: [0x1108, 0x1172, 0x11C2] }, -{ source: [0xC058], NFC: [0xC058], NFD: [0x1108, 0x1173], NFKC: [0xC058], NFKD: [0x1108, 0x1173] }, -{ source: [0xC059], NFC: [0xC059], NFD: [0x1108, 0x1173, 0x11A8], NFKC: [0xC059], NFKD: [0x1108, 0x1173, 0x11A8] }, -{ source: [0xC05A], NFC: [0xC05A], NFD: [0x1108, 0x1173, 0x11A9], NFKC: [0xC05A], NFKD: [0x1108, 0x1173, 0x11A9] }, -{ source: [0xC05B], NFC: [0xC05B], NFD: [0x1108, 0x1173, 0x11AA], NFKC: [0xC05B], NFKD: [0x1108, 0x1173, 0x11AA] }, -{ source: [0xC05C], NFC: [0xC05C], NFD: [0x1108, 0x1173, 0x11AB], NFKC: [0xC05C], NFKD: [0x1108, 0x1173, 0x11AB] }, -{ source: [0xC05D], NFC: [0xC05D], NFD: [0x1108, 0x1173, 0x11AC], NFKC: [0xC05D], NFKD: [0x1108, 0x1173, 0x11AC] }, -{ source: [0xC05E], NFC: [0xC05E], NFD: [0x1108, 0x1173, 0x11AD], NFKC: [0xC05E], NFKD: [0x1108, 0x1173, 0x11AD] }, -{ source: [0xC05F], NFC: [0xC05F], NFD: [0x1108, 0x1173, 0x11AE], NFKC: [0xC05F], NFKD: [0x1108, 0x1173, 0x11AE] }, -{ source: [0xC060], NFC: [0xC060], NFD: [0x1108, 0x1173, 0x11AF], NFKC: [0xC060], NFKD: [0x1108, 0x1173, 0x11AF] }, -{ source: [0xC061], NFC: [0xC061], NFD: [0x1108, 0x1173, 0x11B0], NFKC: [0xC061], NFKD: [0x1108, 0x1173, 0x11B0] }, -{ source: [0xC062], NFC: [0xC062], NFD: [0x1108, 0x1173, 0x11B1], NFKC: [0xC062], NFKD: [0x1108, 0x1173, 0x11B1] }, -{ source: [0xC063], NFC: [0xC063], NFD: [0x1108, 0x1173, 0x11B2], NFKC: [0xC063], NFKD: [0x1108, 0x1173, 0x11B2] }, -{ source: [0xC064], NFC: [0xC064], NFD: [0x1108, 0x1173, 0x11B3], NFKC: [0xC064], NFKD: [0x1108, 0x1173, 0x11B3] }, -{ source: [0xC065], NFC: [0xC065], NFD: [0x1108, 0x1173, 0x11B4], NFKC: [0xC065], NFKD: [0x1108, 0x1173, 0x11B4] }, -{ source: [0xC066], NFC: [0xC066], NFD: [0x1108, 0x1173, 0x11B5], NFKC: [0xC066], NFKD: [0x1108, 0x1173, 0x11B5] }, -{ source: [0xC067], NFC: [0xC067], NFD: [0x1108, 0x1173, 0x11B6], NFKC: [0xC067], NFKD: [0x1108, 0x1173, 0x11B6] }, -{ source: [0xC068], NFC: [0xC068], NFD: [0x1108, 0x1173, 0x11B7], NFKC: [0xC068], NFKD: [0x1108, 0x1173, 0x11B7] }, -{ source: [0xC069], NFC: [0xC069], NFD: [0x1108, 0x1173, 0x11B8], NFKC: [0xC069], NFKD: [0x1108, 0x1173, 0x11B8] }, -{ source: [0xC06A], NFC: [0xC06A], NFD: [0x1108, 0x1173, 0x11B9], NFKC: [0xC06A], NFKD: [0x1108, 0x1173, 0x11B9] }, -{ source: [0xC06B], NFC: [0xC06B], NFD: [0x1108, 0x1173, 0x11BA], NFKC: [0xC06B], NFKD: [0x1108, 0x1173, 0x11BA] }, -{ source: [0xC06C], NFC: [0xC06C], NFD: [0x1108, 0x1173, 0x11BB], NFKC: [0xC06C], NFKD: [0x1108, 0x1173, 0x11BB] }, -{ source: [0xC06D], NFC: [0xC06D], NFD: [0x1108, 0x1173, 0x11BC], NFKC: [0xC06D], NFKD: [0x1108, 0x1173, 0x11BC] }, -{ source: [0xC06E], NFC: [0xC06E], NFD: [0x1108, 0x1173, 0x11BD], NFKC: [0xC06E], NFKD: [0x1108, 0x1173, 0x11BD] }, -{ source: [0xC06F], NFC: [0xC06F], NFD: [0x1108, 0x1173, 0x11BE], NFKC: [0xC06F], NFKD: [0x1108, 0x1173, 0x11BE] }, -{ source: [0xC070], NFC: [0xC070], NFD: [0x1108, 0x1173, 0x11BF], NFKC: [0xC070], NFKD: [0x1108, 0x1173, 0x11BF] }, -{ source: [0xC071], NFC: [0xC071], NFD: [0x1108, 0x1173, 0x11C0], NFKC: [0xC071], NFKD: [0x1108, 0x1173, 0x11C0] }, -{ source: [0xC072], NFC: [0xC072], NFD: [0x1108, 0x1173, 0x11C1], NFKC: [0xC072], NFKD: [0x1108, 0x1173, 0x11C1] }, -{ source: [0xC073], NFC: [0xC073], NFD: [0x1108, 0x1173, 0x11C2], NFKC: [0xC073], NFKD: [0x1108, 0x1173, 0x11C2] }, -{ source: [0xC074], NFC: [0xC074], NFD: [0x1108, 0x1174], NFKC: [0xC074], NFKD: [0x1108, 0x1174] }, -{ source: [0xC075], NFC: [0xC075], NFD: [0x1108, 0x1174, 0x11A8], NFKC: [0xC075], NFKD: [0x1108, 0x1174, 0x11A8] }, -{ source: [0xC076], NFC: [0xC076], NFD: [0x1108, 0x1174, 0x11A9], NFKC: [0xC076], NFKD: [0x1108, 0x1174, 0x11A9] }, -{ source: [0xC077], NFC: [0xC077], NFD: [0x1108, 0x1174, 0x11AA], NFKC: [0xC077], NFKD: [0x1108, 0x1174, 0x11AA] }, -{ source: [0xC078], NFC: [0xC078], NFD: [0x1108, 0x1174, 0x11AB], NFKC: [0xC078], NFKD: [0x1108, 0x1174, 0x11AB] }, -{ source: [0xC079], NFC: [0xC079], NFD: [0x1108, 0x1174, 0x11AC], NFKC: [0xC079], NFKD: [0x1108, 0x1174, 0x11AC] }, -{ source: [0xC07A], NFC: [0xC07A], NFD: [0x1108, 0x1174, 0x11AD], NFKC: [0xC07A], NFKD: [0x1108, 0x1174, 0x11AD] }, -{ source: [0xC07B], NFC: [0xC07B], NFD: [0x1108, 0x1174, 0x11AE], NFKC: [0xC07B], NFKD: [0x1108, 0x1174, 0x11AE] }, -{ source: [0xC07C], NFC: [0xC07C], NFD: [0x1108, 0x1174, 0x11AF], NFKC: [0xC07C], NFKD: [0x1108, 0x1174, 0x11AF] }, -{ source: [0xC07D], NFC: [0xC07D], NFD: [0x1108, 0x1174, 0x11B0], NFKC: [0xC07D], NFKD: [0x1108, 0x1174, 0x11B0] }, -{ source: [0xC07E], NFC: [0xC07E], NFD: [0x1108, 0x1174, 0x11B1], NFKC: [0xC07E], NFKD: [0x1108, 0x1174, 0x11B1] }, -{ source: [0xC07F], NFC: [0xC07F], NFD: [0x1108, 0x1174, 0x11B2], NFKC: [0xC07F], NFKD: [0x1108, 0x1174, 0x11B2] }, -{ source: [0xC080], NFC: [0xC080], NFD: [0x1108, 0x1174, 0x11B3], NFKC: [0xC080], NFKD: [0x1108, 0x1174, 0x11B3] }, -{ source: [0xC081], NFC: [0xC081], NFD: [0x1108, 0x1174, 0x11B4], NFKC: [0xC081], NFKD: [0x1108, 0x1174, 0x11B4] }, -{ source: [0xC082], NFC: [0xC082], NFD: [0x1108, 0x1174, 0x11B5], NFKC: [0xC082], NFKD: [0x1108, 0x1174, 0x11B5] }, -{ source: [0xC083], NFC: [0xC083], NFD: [0x1108, 0x1174, 0x11B6], NFKC: [0xC083], NFKD: [0x1108, 0x1174, 0x11B6] }, -{ source: [0xC084], NFC: [0xC084], NFD: [0x1108, 0x1174, 0x11B7], NFKC: [0xC084], NFKD: [0x1108, 0x1174, 0x11B7] }, -{ source: [0xC085], NFC: [0xC085], NFD: [0x1108, 0x1174, 0x11B8], NFKC: [0xC085], NFKD: [0x1108, 0x1174, 0x11B8] }, -{ source: [0xC086], NFC: [0xC086], NFD: [0x1108, 0x1174, 0x11B9], NFKC: [0xC086], NFKD: [0x1108, 0x1174, 0x11B9] }, -{ source: [0xC087], NFC: [0xC087], NFD: [0x1108, 0x1174, 0x11BA], NFKC: [0xC087], NFKD: [0x1108, 0x1174, 0x11BA] }, -{ source: [0xC088], NFC: [0xC088], NFD: [0x1108, 0x1174, 0x11BB], NFKC: [0xC088], NFKD: [0x1108, 0x1174, 0x11BB] }, -{ source: [0xC089], NFC: [0xC089], NFD: [0x1108, 0x1174, 0x11BC], NFKC: [0xC089], NFKD: [0x1108, 0x1174, 0x11BC] }, -{ source: [0xC08A], NFC: [0xC08A], NFD: [0x1108, 0x1174, 0x11BD], NFKC: [0xC08A], NFKD: [0x1108, 0x1174, 0x11BD] }, -{ source: [0xC08B], NFC: [0xC08B], NFD: [0x1108, 0x1174, 0x11BE], NFKC: [0xC08B], NFKD: [0x1108, 0x1174, 0x11BE] }, -{ source: [0xC08C], NFC: [0xC08C], NFD: [0x1108, 0x1174, 0x11BF], NFKC: [0xC08C], NFKD: [0x1108, 0x1174, 0x11BF] }, -{ source: [0xC08D], NFC: [0xC08D], NFD: [0x1108, 0x1174, 0x11C0], NFKC: [0xC08D], NFKD: [0x1108, 0x1174, 0x11C0] }, -{ source: [0xC08E], NFC: [0xC08E], NFD: [0x1108, 0x1174, 0x11C1], NFKC: [0xC08E], NFKD: [0x1108, 0x1174, 0x11C1] }, -{ source: [0xC08F], NFC: [0xC08F], NFD: [0x1108, 0x1174, 0x11C2], NFKC: [0xC08F], NFKD: [0x1108, 0x1174, 0x11C2] }, -{ source: [0xC090], NFC: [0xC090], NFD: [0x1108, 0x1175], NFKC: [0xC090], NFKD: [0x1108, 0x1175] }, -{ source: [0xC091], NFC: [0xC091], NFD: [0x1108, 0x1175, 0x11A8], NFKC: [0xC091], NFKD: [0x1108, 0x1175, 0x11A8] }, -{ source: [0xC092], NFC: [0xC092], NFD: [0x1108, 0x1175, 0x11A9], NFKC: [0xC092], NFKD: [0x1108, 0x1175, 0x11A9] }, -{ source: [0xC093], NFC: [0xC093], NFD: [0x1108, 0x1175, 0x11AA], NFKC: [0xC093], NFKD: [0x1108, 0x1175, 0x11AA] }, -{ source: [0xC094], NFC: [0xC094], NFD: [0x1108, 0x1175, 0x11AB], NFKC: [0xC094], NFKD: [0x1108, 0x1175, 0x11AB] }, -{ source: [0xC095], NFC: [0xC095], NFD: [0x1108, 0x1175, 0x11AC], NFKC: [0xC095], NFKD: [0x1108, 0x1175, 0x11AC] }, -{ source: [0xC096], NFC: [0xC096], NFD: [0x1108, 0x1175, 0x11AD], NFKC: [0xC096], NFKD: [0x1108, 0x1175, 0x11AD] }, -{ source: [0xC097], NFC: [0xC097], NFD: [0x1108, 0x1175, 0x11AE], NFKC: [0xC097], NFKD: [0x1108, 0x1175, 0x11AE] }, -{ source: [0xC098], NFC: [0xC098], NFD: [0x1108, 0x1175, 0x11AF], NFKC: [0xC098], NFKD: [0x1108, 0x1175, 0x11AF] }, -{ source: [0xC099], NFC: [0xC099], NFD: [0x1108, 0x1175, 0x11B0], NFKC: [0xC099], NFKD: [0x1108, 0x1175, 0x11B0] }, -{ source: [0xC09A], NFC: [0xC09A], NFD: [0x1108, 0x1175, 0x11B1], NFKC: [0xC09A], NFKD: [0x1108, 0x1175, 0x11B1] }, -{ source: [0xC09B], NFC: [0xC09B], NFD: [0x1108, 0x1175, 0x11B2], NFKC: [0xC09B], NFKD: [0x1108, 0x1175, 0x11B2] }, -{ source: [0xC09C], NFC: [0xC09C], NFD: [0x1108, 0x1175, 0x11B3], NFKC: [0xC09C], NFKD: [0x1108, 0x1175, 0x11B3] }, -{ source: [0xC09D], NFC: [0xC09D], NFD: [0x1108, 0x1175, 0x11B4], NFKC: [0xC09D], NFKD: [0x1108, 0x1175, 0x11B4] }, -{ source: [0xC09E], NFC: [0xC09E], NFD: [0x1108, 0x1175, 0x11B5], NFKC: [0xC09E], NFKD: [0x1108, 0x1175, 0x11B5] }, -{ source: [0xC09F], NFC: [0xC09F], NFD: [0x1108, 0x1175, 0x11B6], NFKC: [0xC09F], NFKD: [0x1108, 0x1175, 0x11B6] }, -{ source: [0xC0A0], NFC: [0xC0A0], NFD: [0x1108, 0x1175, 0x11B7], NFKC: [0xC0A0], NFKD: [0x1108, 0x1175, 0x11B7] }, -{ source: [0xC0A1], NFC: [0xC0A1], NFD: [0x1108, 0x1175, 0x11B8], NFKC: [0xC0A1], NFKD: [0x1108, 0x1175, 0x11B8] }, -{ source: [0xC0A2], NFC: [0xC0A2], NFD: [0x1108, 0x1175, 0x11B9], NFKC: [0xC0A2], NFKD: [0x1108, 0x1175, 0x11B9] }, -{ source: [0xC0A3], NFC: [0xC0A3], NFD: [0x1108, 0x1175, 0x11BA], NFKC: [0xC0A3], NFKD: [0x1108, 0x1175, 0x11BA] }, -{ source: [0xC0A4], NFC: [0xC0A4], NFD: [0x1108, 0x1175, 0x11BB], NFKC: [0xC0A4], NFKD: [0x1108, 0x1175, 0x11BB] }, -{ source: [0xC0A5], NFC: [0xC0A5], NFD: [0x1108, 0x1175, 0x11BC], NFKC: [0xC0A5], NFKD: [0x1108, 0x1175, 0x11BC] }, -{ source: [0xC0A6], NFC: [0xC0A6], NFD: [0x1108, 0x1175, 0x11BD], NFKC: [0xC0A6], NFKD: [0x1108, 0x1175, 0x11BD] }, -{ source: [0xC0A7], NFC: [0xC0A7], NFD: [0x1108, 0x1175, 0x11BE], NFKC: [0xC0A7], NFKD: [0x1108, 0x1175, 0x11BE] }, -{ source: [0xC0A8], NFC: [0xC0A8], NFD: [0x1108, 0x1175, 0x11BF], NFKC: [0xC0A8], NFKD: [0x1108, 0x1175, 0x11BF] }, -{ source: [0xC0A9], NFC: [0xC0A9], NFD: [0x1108, 0x1175, 0x11C0], NFKC: [0xC0A9], NFKD: [0x1108, 0x1175, 0x11C0] }, -{ source: [0xC0AA], NFC: [0xC0AA], NFD: [0x1108, 0x1175, 0x11C1], NFKC: [0xC0AA], NFKD: [0x1108, 0x1175, 0x11C1] }, -{ source: [0xC0AB], NFC: [0xC0AB], NFD: [0x1108, 0x1175, 0x11C2], NFKC: [0xC0AB], NFKD: [0x1108, 0x1175, 0x11C2] }, -{ source: [0xC0AC], NFC: [0xC0AC], NFD: [0x1109, 0x1161], NFKC: [0xC0AC], NFKD: [0x1109, 0x1161] }, -{ source: [0xC0AD], NFC: [0xC0AD], NFD: [0x1109, 0x1161, 0x11A8], NFKC: [0xC0AD], NFKD: [0x1109, 0x1161, 0x11A8] }, -{ source: [0xC0AE], NFC: [0xC0AE], NFD: [0x1109, 0x1161, 0x11A9], NFKC: [0xC0AE], NFKD: [0x1109, 0x1161, 0x11A9] }, -{ source: [0xC0AF], NFC: [0xC0AF], NFD: [0x1109, 0x1161, 0x11AA], NFKC: [0xC0AF], NFKD: [0x1109, 0x1161, 0x11AA] }, -{ source: [0xC0B0], NFC: [0xC0B0], NFD: [0x1109, 0x1161, 0x11AB], NFKC: [0xC0B0], NFKD: [0x1109, 0x1161, 0x11AB] }, -{ source: [0xC0B1], NFC: [0xC0B1], NFD: [0x1109, 0x1161, 0x11AC], NFKC: [0xC0B1], NFKD: [0x1109, 0x1161, 0x11AC] }, -{ source: [0xC0B2], NFC: [0xC0B2], NFD: [0x1109, 0x1161, 0x11AD], NFKC: [0xC0B2], NFKD: [0x1109, 0x1161, 0x11AD] }, -{ source: [0xC0B3], NFC: [0xC0B3], NFD: [0x1109, 0x1161, 0x11AE], NFKC: [0xC0B3], NFKD: [0x1109, 0x1161, 0x11AE] }, -{ source: [0xC0B4], NFC: [0xC0B4], NFD: [0x1109, 0x1161, 0x11AF], NFKC: [0xC0B4], NFKD: [0x1109, 0x1161, 0x11AF] }, -{ source: [0xC0B5], NFC: [0xC0B5], NFD: [0x1109, 0x1161, 0x11B0], NFKC: [0xC0B5], NFKD: [0x1109, 0x1161, 0x11B0] }, -{ source: [0xC0B6], NFC: [0xC0B6], NFD: [0x1109, 0x1161, 0x11B1], NFKC: [0xC0B6], NFKD: [0x1109, 0x1161, 0x11B1] }, -{ source: [0xC0B7], NFC: [0xC0B7], NFD: [0x1109, 0x1161, 0x11B2], NFKC: [0xC0B7], NFKD: [0x1109, 0x1161, 0x11B2] }, -{ source: [0xC0B8], NFC: [0xC0B8], NFD: [0x1109, 0x1161, 0x11B3], NFKC: [0xC0B8], NFKD: [0x1109, 0x1161, 0x11B3] }, -{ source: [0xC0B9], NFC: [0xC0B9], NFD: [0x1109, 0x1161, 0x11B4], NFKC: [0xC0B9], NFKD: [0x1109, 0x1161, 0x11B4] }, -{ source: [0xC0BA], NFC: [0xC0BA], NFD: [0x1109, 0x1161, 0x11B5], NFKC: [0xC0BA], NFKD: [0x1109, 0x1161, 0x11B5] }, -{ source: [0xC0BB], NFC: [0xC0BB], NFD: [0x1109, 0x1161, 0x11B6], NFKC: [0xC0BB], NFKD: [0x1109, 0x1161, 0x11B6] }, -{ source: [0xC0BC], NFC: [0xC0BC], NFD: [0x1109, 0x1161, 0x11B7], NFKC: [0xC0BC], NFKD: [0x1109, 0x1161, 0x11B7] }, -{ source: [0xC0BD], NFC: [0xC0BD], NFD: [0x1109, 0x1161, 0x11B8], NFKC: [0xC0BD], NFKD: [0x1109, 0x1161, 0x11B8] }, -{ source: [0xC0BE], NFC: [0xC0BE], NFD: [0x1109, 0x1161, 0x11B9], NFKC: [0xC0BE], NFKD: [0x1109, 0x1161, 0x11B9] }, -{ source: [0xC0BF], NFC: [0xC0BF], NFD: [0x1109, 0x1161, 0x11BA], NFKC: [0xC0BF], NFKD: [0x1109, 0x1161, 0x11BA] }, -{ source: [0xC0C0], NFC: [0xC0C0], NFD: [0x1109, 0x1161, 0x11BB], NFKC: [0xC0C0], NFKD: [0x1109, 0x1161, 0x11BB] }, -{ source: [0xC0C1], NFC: [0xC0C1], NFD: [0x1109, 0x1161, 0x11BC], NFKC: [0xC0C1], NFKD: [0x1109, 0x1161, 0x11BC] }, -{ source: [0xC0C2], NFC: [0xC0C2], NFD: [0x1109, 0x1161, 0x11BD], NFKC: [0xC0C2], NFKD: [0x1109, 0x1161, 0x11BD] }, -{ source: [0xC0C3], NFC: [0xC0C3], NFD: [0x1109, 0x1161, 0x11BE], NFKC: [0xC0C3], NFKD: [0x1109, 0x1161, 0x11BE] }, -{ source: [0xC0C4], NFC: [0xC0C4], NFD: [0x1109, 0x1161, 0x11BF], NFKC: [0xC0C4], NFKD: [0x1109, 0x1161, 0x11BF] }, -{ source: [0xC0C5], NFC: [0xC0C5], NFD: [0x1109, 0x1161, 0x11C0], NFKC: [0xC0C5], NFKD: [0x1109, 0x1161, 0x11C0] }, -{ source: [0xC0C6], NFC: [0xC0C6], NFD: [0x1109, 0x1161, 0x11C1], NFKC: [0xC0C6], NFKD: [0x1109, 0x1161, 0x11C1] }, -{ source: [0xC0C7], NFC: [0xC0C7], NFD: [0x1109, 0x1161, 0x11C2], NFKC: [0xC0C7], NFKD: [0x1109, 0x1161, 0x11C2] }, -{ source: [0xC0C8], NFC: [0xC0C8], NFD: [0x1109, 0x1162], NFKC: [0xC0C8], NFKD: [0x1109, 0x1162] }, -{ source: [0xC0C9], NFC: [0xC0C9], NFD: [0x1109, 0x1162, 0x11A8], NFKC: [0xC0C9], NFKD: [0x1109, 0x1162, 0x11A8] }, -{ source: [0xC0CA], NFC: [0xC0CA], NFD: [0x1109, 0x1162, 0x11A9], NFKC: [0xC0CA], NFKD: [0x1109, 0x1162, 0x11A9] }, -{ source: [0xC0CB], NFC: [0xC0CB], NFD: [0x1109, 0x1162, 0x11AA], NFKC: [0xC0CB], NFKD: [0x1109, 0x1162, 0x11AA] }, -{ source: [0xC0CC], NFC: [0xC0CC], NFD: [0x1109, 0x1162, 0x11AB], NFKC: [0xC0CC], NFKD: [0x1109, 0x1162, 0x11AB] }, -{ source: [0xC0CD], NFC: [0xC0CD], NFD: [0x1109, 0x1162, 0x11AC], NFKC: [0xC0CD], NFKD: [0x1109, 0x1162, 0x11AC] }, -{ source: [0xC0CE], NFC: [0xC0CE], NFD: [0x1109, 0x1162, 0x11AD], NFKC: [0xC0CE], NFKD: [0x1109, 0x1162, 0x11AD] }, -{ source: [0xC0CF], NFC: [0xC0CF], NFD: [0x1109, 0x1162, 0x11AE], NFKC: [0xC0CF], NFKD: [0x1109, 0x1162, 0x11AE] }, -{ source: [0xC0D0], NFC: [0xC0D0], NFD: [0x1109, 0x1162, 0x11AF], NFKC: [0xC0D0], NFKD: [0x1109, 0x1162, 0x11AF] }, -{ source: [0xC0D1], NFC: [0xC0D1], NFD: [0x1109, 0x1162, 0x11B0], NFKC: [0xC0D1], NFKD: [0x1109, 0x1162, 0x11B0] }, -{ source: [0xC0D2], NFC: [0xC0D2], NFD: [0x1109, 0x1162, 0x11B1], NFKC: [0xC0D2], NFKD: [0x1109, 0x1162, 0x11B1] }, -{ source: [0xC0D3], NFC: [0xC0D3], NFD: [0x1109, 0x1162, 0x11B2], NFKC: [0xC0D3], NFKD: [0x1109, 0x1162, 0x11B2] }, -{ source: [0xC0D4], NFC: [0xC0D4], NFD: [0x1109, 0x1162, 0x11B3], NFKC: [0xC0D4], NFKD: [0x1109, 0x1162, 0x11B3] }, -{ source: [0xC0D5], NFC: [0xC0D5], NFD: [0x1109, 0x1162, 0x11B4], NFKC: [0xC0D5], NFKD: [0x1109, 0x1162, 0x11B4] }, -{ source: [0xC0D6], NFC: [0xC0D6], NFD: [0x1109, 0x1162, 0x11B5], NFKC: [0xC0D6], NFKD: [0x1109, 0x1162, 0x11B5] }, -{ source: [0xC0D7], NFC: [0xC0D7], NFD: [0x1109, 0x1162, 0x11B6], NFKC: [0xC0D7], NFKD: [0x1109, 0x1162, 0x11B6] }, -{ source: [0xC0D8], NFC: [0xC0D8], NFD: [0x1109, 0x1162, 0x11B7], NFKC: [0xC0D8], NFKD: [0x1109, 0x1162, 0x11B7] }, -{ source: [0xC0D9], NFC: [0xC0D9], NFD: [0x1109, 0x1162, 0x11B8], NFKC: [0xC0D9], NFKD: [0x1109, 0x1162, 0x11B8] }, -{ source: [0xC0DA], NFC: [0xC0DA], NFD: [0x1109, 0x1162, 0x11B9], NFKC: [0xC0DA], NFKD: [0x1109, 0x1162, 0x11B9] }, -{ source: [0xC0DB], NFC: [0xC0DB], NFD: [0x1109, 0x1162, 0x11BA], NFKC: [0xC0DB], NFKD: [0x1109, 0x1162, 0x11BA] }, -{ source: [0xC0DC], NFC: [0xC0DC], NFD: [0x1109, 0x1162, 0x11BB], NFKC: [0xC0DC], NFKD: [0x1109, 0x1162, 0x11BB] }, -{ source: [0xC0DD], NFC: [0xC0DD], NFD: [0x1109, 0x1162, 0x11BC], NFKC: [0xC0DD], NFKD: [0x1109, 0x1162, 0x11BC] }, -{ source: [0xC0DE], NFC: [0xC0DE], NFD: [0x1109, 0x1162, 0x11BD], NFKC: [0xC0DE], NFKD: [0x1109, 0x1162, 0x11BD] }, -{ source: [0xC0DF], NFC: [0xC0DF], NFD: [0x1109, 0x1162, 0x11BE], NFKC: [0xC0DF], NFKD: [0x1109, 0x1162, 0x11BE] }, -{ source: [0xC0E0], NFC: [0xC0E0], NFD: [0x1109, 0x1162, 0x11BF], NFKC: [0xC0E0], NFKD: [0x1109, 0x1162, 0x11BF] }, -{ source: [0xC0E1], NFC: [0xC0E1], NFD: [0x1109, 0x1162, 0x11C0], NFKC: [0xC0E1], NFKD: [0x1109, 0x1162, 0x11C0] }, -{ source: [0xC0E2], NFC: [0xC0E2], NFD: [0x1109, 0x1162, 0x11C1], NFKC: [0xC0E2], NFKD: [0x1109, 0x1162, 0x11C1] }, -{ source: [0xC0E3], NFC: [0xC0E3], NFD: [0x1109, 0x1162, 0x11C2], NFKC: [0xC0E3], NFKD: [0x1109, 0x1162, 0x11C2] }, -{ source: [0xC0E4], NFC: [0xC0E4], NFD: [0x1109, 0x1163], NFKC: [0xC0E4], NFKD: [0x1109, 0x1163] }, -{ source: [0xC0E5], NFC: [0xC0E5], NFD: [0x1109, 0x1163, 0x11A8], NFKC: [0xC0E5], NFKD: [0x1109, 0x1163, 0x11A8] }, -{ source: [0xC0E6], NFC: [0xC0E6], NFD: [0x1109, 0x1163, 0x11A9], NFKC: [0xC0E6], NFKD: [0x1109, 0x1163, 0x11A9] }, -{ source: [0xC0E7], NFC: [0xC0E7], NFD: [0x1109, 0x1163, 0x11AA], NFKC: [0xC0E7], NFKD: [0x1109, 0x1163, 0x11AA] }, -{ source: [0xC0E8], NFC: [0xC0E8], NFD: [0x1109, 0x1163, 0x11AB], NFKC: [0xC0E8], NFKD: [0x1109, 0x1163, 0x11AB] }, -{ source: [0xC0E9], NFC: [0xC0E9], NFD: [0x1109, 0x1163, 0x11AC], NFKC: [0xC0E9], NFKD: [0x1109, 0x1163, 0x11AC] }, -{ source: [0xC0EA], NFC: [0xC0EA], NFD: [0x1109, 0x1163, 0x11AD], NFKC: [0xC0EA], NFKD: [0x1109, 0x1163, 0x11AD] }, -{ source: [0xC0EB], NFC: [0xC0EB], NFD: [0x1109, 0x1163, 0x11AE], NFKC: [0xC0EB], NFKD: [0x1109, 0x1163, 0x11AE] }, -{ source: [0xC0EC], NFC: [0xC0EC], NFD: [0x1109, 0x1163, 0x11AF], NFKC: [0xC0EC], NFKD: [0x1109, 0x1163, 0x11AF] }, -{ source: [0xC0ED], NFC: [0xC0ED], NFD: [0x1109, 0x1163, 0x11B0], NFKC: [0xC0ED], NFKD: [0x1109, 0x1163, 0x11B0] }, -{ source: [0xC0EE], NFC: [0xC0EE], NFD: [0x1109, 0x1163, 0x11B1], NFKC: [0xC0EE], NFKD: [0x1109, 0x1163, 0x11B1] }, -{ source: [0xC0EF], NFC: [0xC0EF], NFD: [0x1109, 0x1163, 0x11B2], NFKC: [0xC0EF], NFKD: [0x1109, 0x1163, 0x11B2] }, -{ source: [0xC0F0], NFC: [0xC0F0], NFD: [0x1109, 0x1163, 0x11B3], NFKC: [0xC0F0], NFKD: [0x1109, 0x1163, 0x11B3] }, -{ source: [0xC0F1], NFC: [0xC0F1], NFD: [0x1109, 0x1163, 0x11B4], NFKC: [0xC0F1], NFKD: [0x1109, 0x1163, 0x11B4] }, -{ source: [0xC0F2], NFC: [0xC0F2], NFD: [0x1109, 0x1163, 0x11B5], NFKC: [0xC0F2], NFKD: [0x1109, 0x1163, 0x11B5] }, -{ source: [0xC0F3], NFC: [0xC0F3], NFD: [0x1109, 0x1163, 0x11B6], NFKC: [0xC0F3], NFKD: [0x1109, 0x1163, 0x11B6] }, -{ source: [0xC0F4], NFC: [0xC0F4], NFD: [0x1109, 0x1163, 0x11B7], NFKC: [0xC0F4], NFKD: [0x1109, 0x1163, 0x11B7] }, -{ source: [0xC0F5], NFC: [0xC0F5], NFD: [0x1109, 0x1163, 0x11B8], NFKC: [0xC0F5], NFKD: [0x1109, 0x1163, 0x11B8] }, -{ source: [0xC0F6], NFC: [0xC0F6], NFD: [0x1109, 0x1163, 0x11B9], NFKC: [0xC0F6], NFKD: [0x1109, 0x1163, 0x11B9] }, -{ source: [0xC0F7], NFC: [0xC0F7], NFD: [0x1109, 0x1163, 0x11BA], NFKC: [0xC0F7], NFKD: [0x1109, 0x1163, 0x11BA] }, -{ source: [0xC0F8], NFC: [0xC0F8], NFD: [0x1109, 0x1163, 0x11BB], NFKC: [0xC0F8], NFKD: [0x1109, 0x1163, 0x11BB] }, -{ source: [0xC0F9], NFC: [0xC0F9], NFD: [0x1109, 0x1163, 0x11BC], NFKC: [0xC0F9], NFKD: [0x1109, 0x1163, 0x11BC] }, -{ source: [0xC0FA], NFC: [0xC0FA], NFD: [0x1109, 0x1163, 0x11BD], NFKC: [0xC0FA], NFKD: [0x1109, 0x1163, 0x11BD] }, -{ source: [0xC0FB], NFC: [0xC0FB], NFD: [0x1109, 0x1163, 0x11BE], NFKC: [0xC0FB], NFKD: [0x1109, 0x1163, 0x11BE] }, -{ source: [0xC0FC], NFC: [0xC0FC], NFD: [0x1109, 0x1163, 0x11BF], NFKC: [0xC0FC], NFKD: [0x1109, 0x1163, 0x11BF] }, -{ source: [0xC0FD], NFC: [0xC0FD], NFD: [0x1109, 0x1163, 0x11C0], NFKC: [0xC0FD], NFKD: [0x1109, 0x1163, 0x11C0] }, -{ source: [0xC0FE], NFC: [0xC0FE], NFD: [0x1109, 0x1163, 0x11C1], NFKC: [0xC0FE], NFKD: [0x1109, 0x1163, 0x11C1] }, -{ source: [0xC0FF], NFC: [0xC0FF], NFD: [0x1109, 0x1163, 0x11C2], NFKC: [0xC0FF], NFKD: [0x1109, 0x1163, 0x11C2] }, -{ source: [0xC100], NFC: [0xC100], NFD: [0x1109, 0x1164], NFKC: [0xC100], NFKD: [0x1109, 0x1164] }, -{ source: [0xC101], NFC: [0xC101], NFD: [0x1109, 0x1164, 0x11A8], NFKC: [0xC101], NFKD: [0x1109, 0x1164, 0x11A8] }, -{ source: [0xC102], NFC: [0xC102], NFD: [0x1109, 0x1164, 0x11A9], NFKC: [0xC102], NFKD: [0x1109, 0x1164, 0x11A9] }, -{ source: [0xC103], NFC: [0xC103], NFD: [0x1109, 0x1164, 0x11AA], NFKC: [0xC103], NFKD: [0x1109, 0x1164, 0x11AA] }, -{ source: [0xC104], NFC: [0xC104], NFD: [0x1109, 0x1164, 0x11AB], NFKC: [0xC104], NFKD: [0x1109, 0x1164, 0x11AB] }, -{ source: [0xC105], NFC: [0xC105], NFD: [0x1109, 0x1164, 0x11AC], NFKC: [0xC105], NFKD: [0x1109, 0x1164, 0x11AC] }, -{ source: [0xC106], NFC: [0xC106], NFD: [0x1109, 0x1164, 0x11AD], NFKC: [0xC106], NFKD: [0x1109, 0x1164, 0x11AD] }, -{ source: [0xC107], NFC: [0xC107], NFD: [0x1109, 0x1164, 0x11AE], NFKC: [0xC107], NFKD: [0x1109, 0x1164, 0x11AE] }, -{ source: [0xC108], NFC: [0xC108], NFD: [0x1109, 0x1164, 0x11AF], NFKC: [0xC108], NFKD: [0x1109, 0x1164, 0x11AF] }, -{ source: [0xC109], NFC: [0xC109], NFD: [0x1109, 0x1164, 0x11B0], NFKC: [0xC109], NFKD: [0x1109, 0x1164, 0x11B0] }, -{ source: [0xC10A], NFC: [0xC10A], NFD: [0x1109, 0x1164, 0x11B1], NFKC: [0xC10A], NFKD: [0x1109, 0x1164, 0x11B1] }, -{ source: [0xC10B], NFC: [0xC10B], NFD: [0x1109, 0x1164, 0x11B2], NFKC: [0xC10B], NFKD: [0x1109, 0x1164, 0x11B2] }, -{ source: [0xC10C], NFC: [0xC10C], NFD: [0x1109, 0x1164, 0x11B3], NFKC: [0xC10C], NFKD: [0x1109, 0x1164, 0x11B3] }, -{ source: [0xC10D], NFC: [0xC10D], NFD: [0x1109, 0x1164, 0x11B4], NFKC: [0xC10D], NFKD: [0x1109, 0x1164, 0x11B4] }, -{ source: [0xC10E], NFC: [0xC10E], NFD: [0x1109, 0x1164, 0x11B5], NFKC: [0xC10E], NFKD: [0x1109, 0x1164, 0x11B5] }, -{ source: [0xC10F], NFC: [0xC10F], NFD: [0x1109, 0x1164, 0x11B6], NFKC: [0xC10F], NFKD: [0x1109, 0x1164, 0x11B6] }, -{ source: [0xC110], NFC: [0xC110], NFD: [0x1109, 0x1164, 0x11B7], NFKC: [0xC110], NFKD: [0x1109, 0x1164, 0x11B7] }, -{ source: [0xC111], NFC: [0xC111], NFD: [0x1109, 0x1164, 0x11B8], NFKC: [0xC111], NFKD: [0x1109, 0x1164, 0x11B8] }, -{ source: [0xC112], NFC: [0xC112], NFD: [0x1109, 0x1164, 0x11B9], NFKC: [0xC112], NFKD: [0x1109, 0x1164, 0x11B9] }, -{ source: [0xC113], NFC: [0xC113], NFD: [0x1109, 0x1164, 0x11BA], NFKC: [0xC113], NFKD: [0x1109, 0x1164, 0x11BA] }, -{ source: [0xC114], NFC: [0xC114], NFD: [0x1109, 0x1164, 0x11BB], NFKC: [0xC114], NFKD: [0x1109, 0x1164, 0x11BB] }, -{ source: [0xC115], NFC: [0xC115], NFD: [0x1109, 0x1164, 0x11BC], NFKC: [0xC115], NFKD: [0x1109, 0x1164, 0x11BC] }, -{ source: [0xC116], NFC: [0xC116], NFD: [0x1109, 0x1164, 0x11BD], NFKC: [0xC116], NFKD: [0x1109, 0x1164, 0x11BD] }, -{ source: [0xC117], NFC: [0xC117], NFD: [0x1109, 0x1164, 0x11BE], NFKC: [0xC117], NFKD: [0x1109, 0x1164, 0x11BE] }, -{ source: [0xC118], NFC: [0xC118], NFD: [0x1109, 0x1164, 0x11BF], NFKC: [0xC118], NFKD: [0x1109, 0x1164, 0x11BF] }, -{ source: [0xC119], NFC: [0xC119], NFD: [0x1109, 0x1164, 0x11C0], NFKC: [0xC119], NFKD: [0x1109, 0x1164, 0x11C0] }, -{ source: [0xC11A], NFC: [0xC11A], NFD: [0x1109, 0x1164, 0x11C1], NFKC: [0xC11A], NFKD: [0x1109, 0x1164, 0x11C1] }, -{ source: [0xC11B], NFC: [0xC11B], NFD: [0x1109, 0x1164, 0x11C2], NFKC: [0xC11B], NFKD: [0x1109, 0x1164, 0x11C2] }, -{ source: [0xC11C], NFC: [0xC11C], NFD: [0x1109, 0x1165], NFKC: [0xC11C], NFKD: [0x1109, 0x1165] }, -{ source: [0xC11D], NFC: [0xC11D], NFD: [0x1109, 0x1165, 0x11A8], NFKC: [0xC11D], NFKD: [0x1109, 0x1165, 0x11A8] }, -{ source: [0xC11E], NFC: [0xC11E], NFD: [0x1109, 0x1165, 0x11A9], NFKC: [0xC11E], NFKD: [0x1109, 0x1165, 0x11A9] }, -{ source: [0xC11F], NFC: [0xC11F], NFD: [0x1109, 0x1165, 0x11AA], NFKC: [0xC11F], NFKD: [0x1109, 0x1165, 0x11AA] }, -{ source: [0xC120], NFC: [0xC120], NFD: [0x1109, 0x1165, 0x11AB], NFKC: [0xC120], NFKD: [0x1109, 0x1165, 0x11AB] }, -{ source: [0xC121], NFC: [0xC121], NFD: [0x1109, 0x1165, 0x11AC], NFKC: [0xC121], NFKD: [0x1109, 0x1165, 0x11AC] }, -{ source: [0xC122], NFC: [0xC122], NFD: [0x1109, 0x1165, 0x11AD], NFKC: [0xC122], NFKD: [0x1109, 0x1165, 0x11AD] }, -{ source: [0xC123], NFC: [0xC123], NFD: [0x1109, 0x1165, 0x11AE], NFKC: [0xC123], NFKD: [0x1109, 0x1165, 0x11AE] }, -{ source: [0xC124], NFC: [0xC124], NFD: [0x1109, 0x1165, 0x11AF], NFKC: [0xC124], NFKD: [0x1109, 0x1165, 0x11AF] }, -{ source: [0xC125], NFC: [0xC125], NFD: [0x1109, 0x1165, 0x11B0], NFKC: [0xC125], NFKD: [0x1109, 0x1165, 0x11B0] }, -{ source: [0xC126], NFC: [0xC126], NFD: [0x1109, 0x1165, 0x11B1], NFKC: [0xC126], NFKD: [0x1109, 0x1165, 0x11B1] }, -{ source: [0xC127], NFC: [0xC127], NFD: [0x1109, 0x1165, 0x11B2], NFKC: [0xC127], NFKD: [0x1109, 0x1165, 0x11B2] }, -{ source: [0xC128], NFC: [0xC128], NFD: [0x1109, 0x1165, 0x11B3], NFKC: [0xC128], NFKD: [0x1109, 0x1165, 0x11B3] }, -{ source: [0xC129], NFC: [0xC129], NFD: [0x1109, 0x1165, 0x11B4], NFKC: [0xC129], NFKD: [0x1109, 0x1165, 0x11B4] }, -{ source: [0xC12A], NFC: [0xC12A], NFD: [0x1109, 0x1165, 0x11B5], NFKC: [0xC12A], NFKD: [0x1109, 0x1165, 0x11B5] }, -{ source: [0xC12B], NFC: [0xC12B], NFD: [0x1109, 0x1165, 0x11B6], NFKC: [0xC12B], NFKD: [0x1109, 0x1165, 0x11B6] }, -{ source: [0xC12C], NFC: [0xC12C], NFD: [0x1109, 0x1165, 0x11B7], NFKC: [0xC12C], NFKD: [0x1109, 0x1165, 0x11B7] }, -{ source: [0xC12D], NFC: [0xC12D], NFD: [0x1109, 0x1165, 0x11B8], NFKC: [0xC12D], NFKD: [0x1109, 0x1165, 0x11B8] }, -{ source: [0xC12E], NFC: [0xC12E], NFD: [0x1109, 0x1165, 0x11B9], NFKC: [0xC12E], NFKD: [0x1109, 0x1165, 0x11B9] }, -{ source: [0xC12F], NFC: [0xC12F], NFD: [0x1109, 0x1165, 0x11BA], NFKC: [0xC12F], NFKD: [0x1109, 0x1165, 0x11BA] }, -{ source: [0xC130], NFC: [0xC130], NFD: [0x1109, 0x1165, 0x11BB], NFKC: [0xC130], NFKD: [0x1109, 0x1165, 0x11BB] }, -{ source: [0xC131], NFC: [0xC131], NFD: [0x1109, 0x1165, 0x11BC], NFKC: [0xC131], NFKD: [0x1109, 0x1165, 0x11BC] }, -{ source: [0xC132], NFC: [0xC132], NFD: [0x1109, 0x1165, 0x11BD], NFKC: [0xC132], NFKD: [0x1109, 0x1165, 0x11BD] }, -{ source: [0xC133], NFC: [0xC133], NFD: [0x1109, 0x1165, 0x11BE], NFKC: [0xC133], NFKD: [0x1109, 0x1165, 0x11BE] }, -{ source: [0xC134], NFC: [0xC134], NFD: [0x1109, 0x1165, 0x11BF], NFKC: [0xC134], NFKD: [0x1109, 0x1165, 0x11BF] }, -{ source: [0xC135], NFC: [0xC135], NFD: [0x1109, 0x1165, 0x11C0], NFKC: [0xC135], NFKD: [0x1109, 0x1165, 0x11C0] }, -{ source: [0xC136], NFC: [0xC136], NFD: [0x1109, 0x1165, 0x11C1], NFKC: [0xC136], NFKD: [0x1109, 0x1165, 0x11C1] }, -{ source: [0xC137], NFC: [0xC137], NFD: [0x1109, 0x1165, 0x11C2], NFKC: [0xC137], NFKD: [0x1109, 0x1165, 0x11C2] }, -{ source: [0xC138], NFC: [0xC138], NFD: [0x1109, 0x1166], NFKC: [0xC138], NFKD: [0x1109, 0x1166] }, -{ source: [0xC139], NFC: [0xC139], NFD: [0x1109, 0x1166, 0x11A8], NFKC: [0xC139], NFKD: [0x1109, 0x1166, 0x11A8] }, -{ source: [0xC13A], NFC: [0xC13A], NFD: [0x1109, 0x1166, 0x11A9], NFKC: [0xC13A], NFKD: [0x1109, 0x1166, 0x11A9] }, -{ source: [0xC13B], NFC: [0xC13B], NFD: [0x1109, 0x1166, 0x11AA], NFKC: [0xC13B], NFKD: [0x1109, 0x1166, 0x11AA] }, -{ source: [0xC13C], NFC: [0xC13C], NFD: [0x1109, 0x1166, 0x11AB], NFKC: [0xC13C], NFKD: [0x1109, 0x1166, 0x11AB] }, -{ source: [0xC13D], NFC: [0xC13D], NFD: [0x1109, 0x1166, 0x11AC], NFKC: [0xC13D], NFKD: [0x1109, 0x1166, 0x11AC] }, -{ source: [0xC13E], NFC: [0xC13E], NFD: [0x1109, 0x1166, 0x11AD], NFKC: [0xC13E], NFKD: [0x1109, 0x1166, 0x11AD] }, -{ source: [0xC13F], NFC: [0xC13F], NFD: [0x1109, 0x1166, 0x11AE], NFKC: [0xC13F], NFKD: [0x1109, 0x1166, 0x11AE] }, -{ source: [0xC140], NFC: [0xC140], NFD: [0x1109, 0x1166, 0x11AF], NFKC: [0xC140], NFKD: [0x1109, 0x1166, 0x11AF] }, -{ source: [0xC141], NFC: [0xC141], NFD: [0x1109, 0x1166, 0x11B0], NFKC: [0xC141], NFKD: [0x1109, 0x1166, 0x11B0] }, -{ source: [0xC142], NFC: [0xC142], NFD: [0x1109, 0x1166, 0x11B1], NFKC: [0xC142], NFKD: [0x1109, 0x1166, 0x11B1] }, -{ source: [0xC143], NFC: [0xC143], NFD: [0x1109, 0x1166, 0x11B2], NFKC: [0xC143], NFKD: [0x1109, 0x1166, 0x11B2] }, -{ source: [0xC144], NFC: [0xC144], NFD: [0x1109, 0x1166, 0x11B3], NFKC: [0xC144], NFKD: [0x1109, 0x1166, 0x11B3] }, -{ source: [0xC145], NFC: [0xC145], NFD: [0x1109, 0x1166, 0x11B4], NFKC: [0xC145], NFKD: [0x1109, 0x1166, 0x11B4] }, -{ source: [0xC146], NFC: [0xC146], NFD: [0x1109, 0x1166, 0x11B5], NFKC: [0xC146], NFKD: [0x1109, 0x1166, 0x11B5] }, -{ source: [0xC147], NFC: [0xC147], NFD: [0x1109, 0x1166, 0x11B6], NFKC: [0xC147], NFKD: [0x1109, 0x1166, 0x11B6] }, -{ source: [0xC148], NFC: [0xC148], NFD: [0x1109, 0x1166, 0x11B7], NFKC: [0xC148], NFKD: [0x1109, 0x1166, 0x11B7] }, -{ source: [0xC149], NFC: [0xC149], NFD: [0x1109, 0x1166, 0x11B8], NFKC: [0xC149], NFKD: [0x1109, 0x1166, 0x11B8] }, -{ source: [0xC14A], NFC: [0xC14A], NFD: [0x1109, 0x1166, 0x11B9], NFKC: [0xC14A], NFKD: [0x1109, 0x1166, 0x11B9] }, -{ source: [0xC14B], NFC: [0xC14B], NFD: [0x1109, 0x1166, 0x11BA], NFKC: [0xC14B], NFKD: [0x1109, 0x1166, 0x11BA] }, -{ source: [0xC14C], NFC: [0xC14C], NFD: [0x1109, 0x1166, 0x11BB], NFKC: [0xC14C], NFKD: [0x1109, 0x1166, 0x11BB] }, -{ source: [0xC14D], NFC: [0xC14D], NFD: [0x1109, 0x1166, 0x11BC], NFKC: [0xC14D], NFKD: [0x1109, 0x1166, 0x11BC] }, -{ source: [0xC14E], NFC: [0xC14E], NFD: [0x1109, 0x1166, 0x11BD], NFKC: [0xC14E], NFKD: [0x1109, 0x1166, 0x11BD] }, -{ source: [0xC14F], NFC: [0xC14F], NFD: [0x1109, 0x1166, 0x11BE], NFKC: [0xC14F], NFKD: [0x1109, 0x1166, 0x11BE] }, -{ source: [0xC150], NFC: [0xC150], NFD: [0x1109, 0x1166, 0x11BF], NFKC: [0xC150], NFKD: [0x1109, 0x1166, 0x11BF] }, -{ source: [0xC151], NFC: [0xC151], NFD: [0x1109, 0x1166, 0x11C0], NFKC: [0xC151], NFKD: [0x1109, 0x1166, 0x11C0] }, -{ source: [0xC152], NFC: [0xC152], NFD: [0x1109, 0x1166, 0x11C1], NFKC: [0xC152], NFKD: [0x1109, 0x1166, 0x11C1] }, -{ source: [0xC153], NFC: [0xC153], NFD: [0x1109, 0x1166, 0x11C2], NFKC: [0xC153], NFKD: [0x1109, 0x1166, 0x11C2] }, -{ source: [0xC154], NFC: [0xC154], NFD: [0x1109, 0x1167], NFKC: [0xC154], NFKD: [0x1109, 0x1167] }, -{ source: [0xC155], NFC: [0xC155], NFD: [0x1109, 0x1167, 0x11A8], NFKC: [0xC155], NFKD: [0x1109, 0x1167, 0x11A8] }, -{ source: [0xC156], NFC: [0xC156], NFD: [0x1109, 0x1167, 0x11A9], NFKC: [0xC156], NFKD: [0x1109, 0x1167, 0x11A9] }, -{ source: [0xC157], NFC: [0xC157], NFD: [0x1109, 0x1167, 0x11AA], NFKC: [0xC157], NFKD: [0x1109, 0x1167, 0x11AA] }, -{ source: [0xC158], NFC: [0xC158], NFD: [0x1109, 0x1167, 0x11AB], NFKC: [0xC158], NFKD: [0x1109, 0x1167, 0x11AB] }, -{ source: [0xC159], NFC: [0xC159], NFD: [0x1109, 0x1167, 0x11AC], NFKC: [0xC159], NFKD: [0x1109, 0x1167, 0x11AC] }, -{ source: [0xC15A], NFC: [0xC15A], NFD: [0x1109, 0x1167, 0x11AD], NFKC: [0xC15A], NFKD: [0x1109, 0x1167, 0x11AD] }, -{ source: [0xC15B], NFC: [0xC15B], NFD: [0x1109, 0x1167, 0x11AE], NFKC: [0xC15B], NFKD: [0x1109, 0x1167, 0x11AE] }, -{ source: [0xC15C], NFC: [0xC15C], NFD: [0x1109, 0x1167, 0x11AF], NFKC: [0xC15C], NFKD: [0x1109, 0x1167, 0x11AF] }, -{ source: [0xC15D], NFC: [0xC15D], NFD: [0x1109, 0x1167, 0x11B0], NFKC: [0xC15D], NFKD: [0x1109, 0x1167, 0x11B0] }, -{ source: [0xC15E], NFC: [0xC15E], NFD: [0x1109, 0x1167, 0x11B1], NFKC: [0xC15E], NFKD: [0x1109, 0x1167, 0x11B1] }, -{ source: [0xC15F], NFC: [0xC15F], NFD: [0x1109, 0x1167, 0x11B2], NFKC: [0xC15F], NFKD: [0x1109, 0x1167, 0x11B2] }, -{ source: [0xC160], NFC: [0xC160], NFD: [0x1109, 0x1167, 0x11B3], NFKC: [0xC160], NFKD: [0x1109, 0x1167, 0x11B3] }, -{ source: [0xC161], NFC: [0xC161], NFD: [0x1109, 0x1167, 0x11B4], NFKC: [0xC161], NFKD: [0x1109, 0x1167, 0x11B4] }, -{ source: [0xC162], NFC: [0xC162], NFD: [0x1109, 0x1167, 0x11B5], NFKC: [0xC162], NFKD: [0x1109, 0x1167, 0x11B5] }, -{ source: [0xC163], NFC: [0xC163], NFD: [0x1109, 0x1167, 0x11B6], NFKC: [0xC163], NFKD: [0x1109, 0x1167, 0x11B6] }, -{ source: [0xC164], NFC: [0xC164], NFD: [0x1109, 0x1167, 0x11B7], NFKC: [0xC164], NFKD: [0x1109, 0x1167, 0x11B7] }, -{ source: [0xC165], NFC: [0xC165], NFD: [0x1109, 0x1167, 0x11B8], NFKC: [0xC165], NFKD: [0x1109, 0x1167, 0x11B8] }, -{ source: [0xC166], NFC: [0xC166], NFD: [0x1109, 0x1167, 0x11B9], NFKC: [0xC166], NFKD: [0x1109, 0x1167, 0x11B9] }, -{ source: [0xC167], NFC: [0xC167], NFD: [0x1109, 0x1167, 0x11BA], NFKC: [0xC167], NFKD: [0x1109, 0x1167, 0x11BA] }, -{ source: [0xC168], NFC: [0xC168], NFD: [0x1109, 0x1167, 0x11BB], NFKC: [0xC168], NFKD: [0x1109, 0x1167, 0x11BB] }, -{ source: [0xC169], NFC: [0xC169], NFD: [0x1109, 0x1167, 0x11BC], NFKC: [0xC169], NFKD: [0x1109, 0x1167, 0x11BC] }, -{ source: [0xC16A], NFC: [0xC16A], NFD: [0x1109, 0x1167, 0x11BD], NFKC: [0xC16A], NFKD: [0x1109, 0x1167, 0x11BD] }, -{ source: [0xC16B], NFC: [0xC16B], NFD: [0x1109, 0x1167, 0x11BE], NFKC: [0xC16B], NFKD: [0x1109, 0x1167, 0x11BE] }, -{ source: [0xC16C], NFC: [0xC16C], NFD: [0x1109, 0x1167, 0x11BF], NFKC: [0xC16C], NFKD: [0x1109, 0x1167, 0x11BF] }, -{ source: [0xC16D], NFC: [0xC16D], NFD: [0x1109, 0x1167, 0x11C0], NFKC: [0xC16D], NFKD: [0x1109, 0x1167, 0x11C0] }, -{ source: [0xC16E], NFC: [0xC16E], NFD: [0x1109, 0x1167, 0x11C1], NFKC: [0xC16E], NFKD: [0x1109, 0x1167, 0x11C1] }, -{ source: [0xC16F], NFC: [0xC16F], NFD: [0x1109, 0x1167, 0x11C2], NFKC: [0xC16F], NFKD: [0x1109, 0x1167, 0x11C2] }, -{ source: [0xC170], NFC: [0xC170], NFD: [0x1109, 0x1168], NFKC: [0xC170], NFKD: [0x1109, 0x1168] }, -{ source: [0xC171], NFC: [0xC171], NFD: [0x1109, 0x1168, 0x11A8], NFKC: [0xC171], NFKD: [0x1109, 0x1168, 0x11A8] }, -{ source: [0xC172], NFC: [0xC172], NFD: [0x1109, 0x1168, 0x11A9], NFKC: [0xC172], NFKD: [0x1109, 0x1168, 0x11A9] }, -{ source: [0xC173], NFC: [0xC173], NFD: [0x1109, 0x1168, 0x11AA], NFKC: [0xC173], NFKD: [0x1109, 0x1168, 0x11AA] }, -{ source: [0xC174], NFC: [0xC174], NFD: [0x1109, 0x1168, 0x11AB], NFKC: [0xC174], NFKD: [0x1109, 0x1168, 0x11AB] }, -{ source: [0xC175], NFC: [0xC175], NFD: [0x1109, 0x1168, 0x11AC], NFKC: [0xC175], NFKD: [0x1109, 0x1168, 0x11AC] }, -{ source: [0xC176], NFC: [0xC176], NFD: [0x1109, 0x1168, 0x11AD], NFKC: [0xC176], NFKD: [0x1109, 0x1168, 0x11AD] }, -{ source: [0xC177], NFC: [0xC177], NFD: [0x1109, 0x1168, 0x11AE], NFKC: [0xC177], NFKD: [0x1109, 0x1168, 0x11AE] }, -{ source: [0xC178], NFC: [0xC178], NFD: [0x1109, 0x1168, 0x11AF], NFKC: [0xC178], NFKD: [0x1109, 0x1168, 0x11AF] }, -{ source: [0xC179], NFC: [0xC179], NFD: [0x1109, 0x1168, 0x11B0], NFKC: [0xC179], NFKD: [0x1109, 0x1168, 0x11B0] }, -{ source: [0xC17A], NFC: [0xC17A], NFD: [0x1109, 0x1168, 0x11B1], NFKC: [0xC17A], NFKD: [0x1109, 0x1168, 0x11B1] }, -{ source: [0xC17B], NFC: [0xC17B], NFD: [0x1109, 0x1168, 0x11B2], NFKC: [0xC17B], NFKD: [0x1109, 0x1168, 0x11B2] }, -{ source: [0xC17C], NFC: [0xC17C], NFD: [0x1109, 0x1168, 0x11B3], NFKC: [0xC17C], NFKD: [0x1109, 0x1168, 0x11B3] }, -{ source: [0xC17D], NFC: [0xC17D], NFD: [0x1109, 0x1168, 0x11B4], NFKC: [0xC17D], NFKD: [0x1109, 0x1168, 0x11B4] }, -{ source: [0xC17E], NFC: [0xC17E], NFD: [0x1109, 0x1168, 0x11B5], NFKC: [0xC17E], NFKD: [0x1109, 0x1168, 0x11B5] }, -{ source: [0xC17F], NFC: [0xC17F], NFD: [0x1109, 0x1168, 0x11B6], NFKC: [0xC17F], NFKD: [0x1109, 0x1168, 0x11B6] }, -{ source: [0xC180], NFC: [0xC180], NFD: [0x1109, 0x1168, 0x11B7], NFKC: [0xC180], NFKD: [0x1109, 0x1168, 0x11B7] }, -{ source: [0xC181], NFC: [0xC181], NFD: [0x1109, 0x1168, 0x11B8], NFKC: [0xC181], NFKD: [0x1109, 0x1168, 0x11B8] }, -{ source: [0xC182], NFC: [0xC182], NFD: [0x1109, 0x1168, 0x11B9], NFKC: [0xC182], NFKD: [0x1109, 0x1168, 0x11B9] }, -{ source: [0xC183], NFC: [0xC183], NFD: [0x1109, 0x1168, 0x11BA], NFKC: [0xC183], NFKD: [0x1109, 0x1168, 0x11BA] }, -{ source: [0xC184], NFC: [0xC184], NFD: [0x1109, 0x1168, 0x11BB], NFKC: [0xC184], NFKD: [0x1109, 0x1168, 0x11BB] }, -{ source: [0xC185], NFC: [0xC185], NFD: [0x1109, 0x1168, 0x11BC], NFKC: [0xC185], NFKD: [0x1109, 0x1168, 0x11BC] }, -{ source: [0xC186], NFC: [0xC186], NFD: [0x1109, 0x1168, 0x11BD], NFKC: [0xC186], NFKD: [0x1109, 0x1168, 0x11BD] }, -{ source: [0xC187], NFC: [0xC187], NFD: [0x1109, 0x1168, 0x11BE], NFKC: [0xC187], NFKD: [0x1109, 0x1168, 0x11BE] }, -{ source: [0xC188], NFC: [0xC188], NFD: [0x1109, 0x1168, 0x11BF], NFKC: [0xC188], NFKD: [0x1109, 0x1168, 0x11BF] }, -{ source: [0xC189], NFC: [0xC189], NFD: [0x1109, 0x1168, 0x11C0], NFKC: [0xC189], NFKD: [0x1109, 0x1168, 0x11C0] }, -{ source: [0xC18A], NFC: [0xC18A], NFD: [0x1109, 0x1168, 0x11C1], NFKC: [0xC18A], NFKD: [0x1109, 0x1168, 0x11C1] }, -{ source: [0xC18B], NFC: [0xC18B], NFD: [0x1109, 0x1168, 0x11C2], NFKC: [0xC18B], NFKD: [0x1109, 0x1168, 0x11C2] }, -{ source: [0xC18C], NFC: [0xC18C], NFD: [0x1109, 0x1169], NFKC: [0xC18C], NFKD: [0x1109, 0x1169] }, -{ source: [0xC18D], NFC: [0xC18D], NFD: [0x1109, 0x1169, 0x11A8], NFKC: [0xC18D], NFKD: [0x1109, 0x1169, 0x11A8] }, -{ source: [0xC18E], NFC: [0xC18E], NFD: [0x1109, 0x1169, 0x11A9], NFKC: [0xC18E], NFKD: [0x1109, 0x1169, 0x11A9] }, -{ source: [0xC18F], NFC: [0xC18F], NFD: [0x1109, 0x1169, 0x11AA], NFKC: [0xC18F], NFKD: [0x1109, 0x1169, 0x11AA] }, -{ source: [0xC190], NFC: [0xC190], NFD: [0x1109, 0x1169, 0x11AB], NFKC: [0xC190], NFKD: [0x1109, 0x1169, 0x11AB] }, -{ source: [0xC191], NFC: [0xC191], NFD: [0x1109, 0x1169, 0x11AC], NFKC: [0xC191], NFKD: [0x1109, 0x1169, 0x11AC] }, -{ source: [0xC192], NFC: [0xC192], NFD: [0x1109, 0x1169, 0x11AD], NFKC: [0xC192], NFKD: [0x1109, 0x1169, 0x11AD] }, -{ source: [0xC193], NFC: [0xC193], NFD: [0x1109, 0x1169, 0x11AE], NFKC: [0xC193], NFKD: [0x1109, 0x1169, 0x11AE] }, -{ source: [0xC194], NFC: [0xC194], NFD: [0x1109, 0x1169, 0x11AF], NFKC: [0xC194], NFKD: [0x1109, 0x1169, 0x11AF] }, -{ source: [0xC195], NFC: [0xC195], NFD: [0x1109, 0x1169, 0x11B0], NFKC: [0xC195], NFKD: [0x1109, 0x1169, 0x11B0] }, -{ source: [0xC196], NFC: [0xC196], NFD: [0x1109, 0x1169, 0x11B1], NFKC: [0xC196], NFKD: [0x1109, 0x1169, 0x11B1] }, -{ source: [0xC197], NFC: [0xC197], NFD: [0x1109, 0x1169, 0x11B2], NFKC: [0xC197], NFKD: [0x1109, 0x1169, 0x11B2] }, -{ source: [0xC198], NFC: [0xC198], NFD: [0x1109, 0x1169, 0x11B3], NFKC: [0xC198], NFKD: [0x1109, 0x1169, 0x11B3] }, -{ source: [0xC199], NFC: [0xC199], NFD: [0x1109, 0x1169, 0x11B4], NFKC: [0xC199], NFKD: [0x1109, 0x1169, 0x11B4] }, -{ source: [0xC19A], NFC: [0xC19A], NFD: [0x1109, 0x1169, 0x11B5], NFKC: [0xC19A], NFKD: [0x1109, 0x1169, 0x11B5] }, -{ source: [0xC19B], NFC: [0xC19B], NFD: [0x1109, 0x1169, 0x11B6], NFKC: [0xC19B], NFKD: [0x1109, 0x1169, 0x11B6] }, -{ source: [0xC19C], NFC: [0xC19C], NFD: [0x1109, 0x1169, 0x11B7], NFKC: [0xC19C], NFKD: [0x1109, 0x1169, 0x11B7] }, -{ source: [0xC19D], NFC: [0xC19D], NFD: [0x1109, 0x1169, 0x11B8], NFKC: [0xC19D], NFKD: [0x1109, 0x1169, 0x11B8] }, -{ source: [0xC19E], NFC: [0xC19E], NFD: [0x1109, 0x1169, 0x11B9], NFKC: [0xC19E], NFKD: [0x1109, 0x1169, 0x11B9] }, -{ source: [0xC19F], NFC: [0xC19F], NFD: [0x1109, 0x1169, 0x11BA], NFKC: [0xC19F], NFKD: [0x1109, 0x1169, 0x11BA] }, -{ source: [0xC1A0], NFC: [0xC1A0], NFD: [0x1109, 0x1169, 0x11BB], NFKC: [0xC1A0], NFKD: [0x1109, 0x1169, 0x11BB] }, -{ source: [0xC1A1], NFC: [0xC1A1], NFD: [0x1109, 0x1169, 0x11BC], NFKC: [0xC1A1], NFKD: [0x1109, 0x1169, 0x11BC] }, -{ source: [0xC1A2], NFC: [0xC1A2], NFD: [0x1109, 0x1169, 0x11BD], NFKC: [0xC1A2], NFKD: [0x1109, 0x1169, 0x11BD] }, -{ source: [0xC1A3], NFC: [0xC1A3], NFD: [0x1109, 0x1169, 0x11BE], NFKC: [0xC1A3], NFKD: [0x1109, 0x1169, 0x11BE] }, -{ source: [0xC1A4], NFC: [0xC1A4], NFD: [0x1109, 0x1169, 0x11BF], NFKC: [0xC1A4], NFKD: [0x1109, 0x1169, 0x11BF] }, -{ source: [0xC1A5], NFC: [0xC1A5], NFD: [0x1109, 0x1169, 0x11C0], NFKC: [0xC1A5], NFKD: [0x1109, 0x1169, 0x11C0] }, -{ source: [0xC1A6], NFC: [0xC1A6], NFD: [0x1109, 0x1169, 0x11C1], NFKC: [0xC1A6], NFKD: [0x1109, 0x1169, 0x11C1] }, -{ source: [0xC1A7], NFC: [0xC1A7], NFD: [0x1109, 0x1169, 0x11C2], NFKC: [0xC1A7], NFKD: [0x1109, 0x1169, 0x11C2] }, -{ source: [0xC1A8], NFC: [0xC1A8], NFD: [0x1109, 0x116A], NFKC: [0xC1A8], NFKD: [0x1109, 0x116A] }, -{ source: [0xC1A9], NFC: [0xC1A9], NFD: [0x1109, 0x116A, 0x11A8], NFKC: [0xC1A9], NFKD: [0x1109, 0x116A, 0x11A8] }, -{ source: [0xC1AA], NFC: [0xC1AA], NFD: [0x1109, 0x116A, 0x11A9], NFKC: [0xC1AA], NFKD: [0x1109, 0x116A, 0x11A9] }, -{ source: [0xC1AB], NFC: [0xC1AB], NFD: [0x1109, 0x116A, 0x11AA], NFKC: [0xC1AB], NFKD: [0x1109, 0x116A, 0x11AA] }, -{ source: [0xC1AC], NFC: [0xC1AC], NFD: [0x1109, 0x116A, 0x11AB], NFKC: [0xC1AC], NFKD: [0x1109, 0x116A, 0x11AB] }, -{ source: [0xC1AD], NFC: [0xC1AD], NFD: [0x1109, 0x116A, 0x11AC], NFKC: [0xC1AD], NFKD: [0x1109, 0x116A, 0x11AC] }, -{ source: [0xC1AE], NFC: [0xC1AE], NFD: [0x1109, 0x116A, 0x11AD], NFKC: [0xC1AE], NFKD: [0x1109, 0x116A, 0x11AD] }, -{ source: [0xC1AF], NFC: [0xC1AF], NFD: [0x1109, 0x116A, 0x11AE], NFKC: [0xC1AF], NFKD: [0x1109, 0x116A, 0x11AE] }, -{ source: [0xC1B0], NFC: [0xC1B0], NFD: [0x1109, 0x116A, 0x11AF], NFKC: [0xC1B0], NFKD: [0x1109, 0x116A, 0x11AF] }, -{ source: [0xC1B1], NFC: [0xC1B1], NFD: [0x1109, 0x116A, 0x11B0], NFKC: [0xC1B1], NFKD: [0x1109, 0x116A, 0x11B0] }, -{ source: [0xC1B2], NFC: [0xC1B2], NFD: [0x1109, 0x116A, 0x11B1], NFKC: [0xC1B2], NFKD: [0x1109, 0x116A, 0x11B1] }, -{ source: [0xC1B3], NFC: [0xC1B3], NFD: [0x1109, 0x116A, 0x11B2], NFKC: [0xC1B3], NFKD: [0x1109, 0x116A, 0x11B2] }, -{ source: [0xC1B4], NFC: [0xC1B4], NFD: [0x1109, 0x116A, 0x11B3], NFKC: [0xC1B4], NFKD: [0x1109, 0x116A, 0x11B3] }, -{ source: [0xC1B5], NFC: [0xC1B5], NFD: [0x1109, 0x116A, 0x11B4], NFKC: [0xC1B5], NFKD: [0x1109, 0x116A, 0x11B4] }, -{ source: [0xC1B6], NFC: [0xC1B6], NFD: [0x1109, 0x116A, 0x11B5], NFKC: [0xC1B6], NFKD: [0x1109, 0x116A, 0x11B5] }, -{ source: [0xC1B7], NFC: [0xC1B7], NFD: [0x1109, 0x116A, 0x11B6], NFKC: [0xC1B7], NFKD: [0x1109, 0x116A, 0x11B6] }, -{ source: [0xC1B8], NFC: [0xC1B8], NFD: [0x1109, 0x116A, 0x11B7], NFKC: [0xC1B8], NFKD: [0x1109, 0x116A, 0x11B7] }, -{ source: [0xC1B9], NFC: [0xC1B9], NFD: [0x1109, 0x116A, 0x11B8], NFKC: [0xC1B9], NFKD: [0x1109, 0x116A, 0x11B8] }, -{ source: [0xC1BA], NFC: [0xC1BA], NFD: [0x1109, 0x116A, 0x11B9], NFKC: [0xC1BA], NFKD: [0x1109, 0x116A, 0x11B9] }, -{ source: [0xC1BB], NFC: [0xC1BB], NFD: [0x1109, 0x116A, 0x11BA], NFKC: [0xC1BB], NFKD: [0x1109, 0x116A, 0x11BA] }, -{ source: [0xC1BC], NFC: [0xC1BC], NFD: [0x1109, 0x116A, 0x11BB], NFKC: [0xC1BC], NFKD: [0x1109, 0x116A, 0x11BB] }, -{ source: [0xC1BD], NFC: [0xC1BD], NFD: [0x1109, 0x116A, 0x11BC], NFKC: [0xC1BD], NFKD: [0x1109, 0x116A, 0x11BC] }, -{ source: [0xC1BE], NFC: [0xC1BE], NFD: [0x1109, 0x116A, 0x11BD], NFKC: [0xC1BE], NFKD: [0x1109, 0x116A, 0x11BD] }, -{ source: [0xC1BF], NFC: [0xC1BF], NFD: [0x1109, 0x116A, 0x11BE], NFKC: [0xC1BF], NFKD: [0x1109, 0x116A, 0x11BE] }, -{ source: [0xC1C0], NFC: [0xC1C0], NFD: [0x1109, 0x116A, 0x11BF], NFKC: [0xC1C0], NFKD: [0x1109, 0x116A, 0x11BF] }, -{ source: [0xC1C1], NFC: [0xC1C1], NFD: [0x1109, 0x116A, 0x11C0], NFKC: [0xC1C1], NFKD: [0x1109, 0x116A, 0x11C0] }, -{ source: [0xC1C2], NFC: [0xC1C2], NFD: [0x1109, 0x116A, 0x11C1], NFKC: [0xC1C2], NFKD: [0x1109, 0x116A, 0x11C1] }, -{ source: [0xC1C3], NFC: [0xC1C3], NFD: [0x1109, 0x116A, 0x11C2], NFKC: [0xC1C3], NFKD: [0x1109, 0x116A, 0x11C2] }, -{ source: [0xC1C4], NFC: [0xC1C4], NFD: [0x1109, 0x116B], NFKC: [0xC1C4], NFKD: [0x1109, 0x116B] }, -{ source: [0xC1C5], NFC: [0xC1C5], NFD: [0x1109, 0x116B, 0x11A8], NFKC: [0xC1C5], NFKD: [0x1109, 0x116B, 0x11A8] }, -{ source: [0xC1C6], NFC: [0xC1C6], NFD: [0x1109, 0x116B, 0x11A9], NFKC: [0xC1C6], NFKD: [0x1109, 0x116B, 0x11A9] }, -{ source: [0xC1C7], NFC: [0xC1C7], NFD: [0x1109, 0x116B, 0x11AA], NFKC: [0xC1C7], NFKD: [0x1109, 0x116B, 0x11AA] }, -{ source: [0xC1C8], NFC: [0xC1C8], NFD: [0x1109, 0x116B, 0x11AB], NFKC: [0xC1C8], NFKD: [0x1109, 0x116B, 0x11AB] }, -{ source: [0xC1C9], NFC: [0xC1C9], NFD: [0x1109, 0x116B, 0x11AC], NFKC: [0xC1C9], NFKD: [0x1109, 0x116B, 0x11AC] }, -{ source: [0xC1CA], NFC: [0xC1CA], NFD: [0x1109, 0x116B, 0x11AD], NFKC: [0xC1CA], NFKD: [0x1109, 0x116B, 0x11AD] }, -{ source: [0xC1CB], NFC: [0xC1CB], NFD: [0x1109, 0x116B, 0x11AE], NFKC: [0xC1CB], NFKD: [0x1109, 0x116B, 0x11AE] }, -{ source: [0xC1CC], NFC: [0xC1CC], NFD: [0x1109, 0x116B, 0x11AF], NFKC: [0xC1CC], NFKD: [0x1109, 0x116B, 0x11AF] }, -{ source: [0xC1CD], NFC: [0xC1CD], NFD: [0x1109, 0x116B, 0x11B0], NFKC: [0xC1CD], NFKD: [0x1109, 0x116B, 0x11B0] }, -{ source: [0xC1CE], NFC: [0xC1CE], NFD: [0x1109, 0x116B, 0x11B1], NFKC: [0xC1CE], NFKD: [0x1109, 0x116B, 0x11B1] }, -{ source: [0xC1CF], NFC: [0xC1CF], NFD: [0x1109, 0x116B, 0x11B2], NFKC: [0xC1CF], NFKD: [0x1109, 0x116B, 0x11B2] }, -{ source: [0xC1D0], NFC: [0xC1D0], NFD: [0x1109, 0x116B, 0x11B3], NFKC: [0xC1D0], NFKD: [0x1109, 0x116B, 0x11B3] }, -{ source: [0xC1D1], NFC: [0xC1D1], NFD: [0x1109, 0x116B, 0x11B4], NFKC: [0xC1D1], NFKD: [0x1109, 0x116B, 0x11B4] }, -{ source: [0xC1D2], NFC: [0xC1D2], NFD: [0x1109, 0x116B, 0x11B5], NFKC: [0xC1D2], NFKD: [0x1109, 0x116B, 0x11B5] }, -{ source: [0xC1D3], NFC: [0xC1D3], NFD: [0x1109, 0x116B, 0x11B6], NFKC: [0xC1D3], NFKD: [0x1109, 0x116B, 0x11B6] }, -{ source: [0xC1D4], NFC: [0xC1D4], NFD: [0x1109, 0x116B, 0x11B7], NFKC: [0xC1D4], NFKD: [0x1109, 0x116B, 0x11B7] }, -{ source: [0xC1D5], NFC: [0xC1D5], NFD: [0x1109, 0x116B, 0x11B8], NFKC: [0xC1D5], NFKD: [0x1109, 0x116B, 0x11B8] }, -{ source: [0xC1D6], NFC: [0xC1D6], NFD: [0x1109, 0x116B, 0x11B9], NFKC: [0xC1D6], NFKD: [0x1109, 0x116B, 0x11B9] }, -{ source: [0xC1D7], NFC: [0xC1D7], NFD: [0x1109, 0x116B, 0x11BA], NFKC: [0xC1D7], NFKD: [0x1109, 0x116B, 0x11BA] }, -{ source: [0xC1D8], NFC: [0xC1D8], NFD: [0x1109, 0x116B, 0x11BB], NFKC: [0xC1D8], NFKD: [0x1109, 0x116B, 0x11BB] }, -{ source: [0xC1D9], NFC: [0xC1D9], NFD: [0x1109, 0x116B, 0x11BC], NFKC: [0xC1D9], NFKD: [0x1109, 0x116B, 0x11BC] }, -{ source: [0xC1DA], NFC: [0xC1DA], NFD: [0x1109, 0x116B, 0x11BD], NFKC: [0xC1DA], NFKD: [0x1109, 0x116B, 0x11BD] }, -{ source: [0xC1DB], NFC: [0xC1DB], NFD: [0x1109, 0x116B, 0x11BE], NFKC: [0xC1DB], NFKD: [0x1109, 0x116B, 0x11BE] }, -{ source: [0xC1DC], NFC: [0xC1DC], NFD: [0x1109, 0x116B, 0x11BF], NFKC: [0xC1DC], NFKD: [0x1109, 0x116B, 0x11BF] }, -{ source: [0xC1DD], NFC: [0xC1DD], NFD: [0x1109, 0x116B, 0x11C0], NFKC: [0xC1DD], NFKD: [0x1109, 0x116B, 0x11C0] }, -{ source: [0xC1DE], NFC: [0xC1DE], NFD: [0x1109, 0x116B, 0x11C1], NFKC: [0xC1DE], NFKD: [0x1109, 0x116B, 0x11C1] }, -{ source: [0xC1DF], NFC: [0xC1DF], NFD: [0x1109, 0x116B, 0x11C2], NFKC: [0xC1DF], NFKD: [0x1109, 0x116B, 0x11C2] }, -{ source: [0xC1E0], NFC: [0xC1E0], NFD: [0x1109, 0x116C], NFKC: [0xC1E0], NFKD: [0x1109, 0x116C] }, -{ source: [0xC1E1], NFC: [0xC1E1], NFD: [0x1109, 0x116C, 0x11A8], NFKC: [0xC1E1], NFKD: [0x1109, 0x116C, 0x11A8] }, -{ source: [0xC1E2], NFC: [0xC1E2], NFD: [0x1109, 0x116C, 0x11A9], NFKC: [0xC1E2], NFKD: [0x1109, 0x116C, 0x11A9] }, -{ source: [0xC1E3], NFC: [0xC1E3], NFD: [0x1109, 0x116C, 0x11AA], NFKC: [0xC1E3], NFKD: [0x1109, 0x116C, 0x11AA] }, -{ source: [0xC1E4], NFC: [0xC1E4], NFD: [0x1109, 0x116C, 0x11AB], NFKC: [0xC1E4], NFKD: [0x1109, 0x116C, 0x11AB] }, -{ source: [0xC1E5], NFC: [0xC1E5], NFD: [0x1109, 0x116C, 0x11AC], NFKC: [0xC1E5], NFKD: [0x1109, 0x116C, 0x11AC] }, -{ source: [0xC1E6], NFC: [0xC1E6], NFD: [0x1109, 0x116C, 0x11AD], NFKC: [0xC1E6], NFKD: [0x1109, 0x116C, 0x11AD] }, -{ source: [0xC1E7], NFC: [0xC1E7], NFD: [0x1109, 0x116C, 0x11AE], NFKC: [0xC1E7], NFKD: [0x1109, 0x116C, 0x11AE] }, -{ source: [0xC1E8], NFC: [0xC1E8], NFD: [0x1109, 0x116C, 0x11AF], NFKC: [0xC1E8], NFKD: [0x1109, 0x116C, 0x11AF] }, -{ source: [0xC1E9], NFC: [0xC1E9], NFD: [0x1109, 0x116C, 0x11B0], NFKC: [0xC1E9], NFKD: [0x1109, 0x116C, 0x11B0] }, -{ source: [0xC1EA], NFC: [0xC1EA], NFD: [0x1109, 0x116C, 0x11B1], NFKC: [0xC1EA], NFKD: [0x1109, 0x116C, 0x11B1] }, -{ source: [0xC1EB], NFC: [0xC1EB], NFD: [0x1109, 0x116C, 0x11B2], NFKC: [0xC1EB], NFKD: [0x1109, 0x116C, 0x11B2] }, -{ source: [0xC1EC], NFC: [0xC1EC], NFD: [0x1109, 0x116C, 0x11B3], NFKC: [0xC1EC], NFKD: [0x1109, 0x116C, 0x11B3] }, -{ source: [0xC1ED], NFC: [0xC1ED], NFD: [0x1109, 0x116C, 0x11B4], NFKC: [0xC1ED], NFKD: [0x1109, 0x116C, 0x11B4] }, -{ source: [0xC1EE], NFC: [0xC1EE], NFD: [0x1109, 0x116C, 0x11B5], NFKC: [0xC1EE], NFKD: [0x1109, 0x116C, 0x11B5] }, -{ source: [0xC1EF], NFC: [0xC1EF], NFD: [0x1109, 0x116C, 0x11B6], NFKC: [0xC1EF], NFKD: [0x1109, 0x116C, 0x11B6] }, -{ source: [0xC1F0], NFC: [0xC1F0], NFD: [0x1109, 0x116C, 0x11B7], NFKC: [0xC1F0], NFKD: [0x1109, 0x116C, 0x11B7] }, -{ source: [0xC1F1], NFC: [0xC1F1], NFD: [0x1109, 0x116C, 0x11B8], NFKC: [0xC1F1], NFKD: [0x1109, 0x116C, 0x11B8] }, -{ source: [0xC1F2], NFC: [0xC1F2], NFD: [0x1109, 0x116C, 0x11B9], NFKC: [0xC1F2], NFKD: [0x1109, 0x116C, 0x11B9] }, -{ source: [0xC1F3], NFC: [0xC1F3], NFD: [0x1109, 0x116C, 0x11BA], NFKC: [0xC1F3], NFKD: [0x1109, 0x116C, 0x11BA] }, -{ source: [0xC1F4], NFC: [0xC1F4], NFD: [0x1109, 0x116C, 0x11BB], NFKC: [0xC1F4], NFKD: [0x1109, 0x116C, 0x11BB] }, -{ source: [0xC1F5], NFC: [0xC1F5], NFD: [0x1109, 0x116C, 0x11BC], NFKC: [0xC1F5], NFKD: [0x1109, 0x116C, 0x11BC] }, -{ source: [0xC1F6], NFC: [0xC1F6], NFD: [0x1109, 0x116C, 0x11BD], NFKC: [0xC1F6], NFKD: [0x1109, 0x116C, 0x11BD] }, -{ source: [0xC1F7], NFC: [0xC1F7], NFD: [0x1109, 0x116C, 0x11BE], NFKC: [0xC1F7], NFKD: [0x1109, 0x116C, 0x11BE] }, -{ source: [0xC1F8], NFC: [0xC1F8], NFD: [0x1109, 0x116C, 0x11BF], NFKC: [0xC1F8], NFKD: [0x1109, 0x116C, 0x11BF] }, -{ source: [0xC1F9], NFC: [0xC1F9], NFD: [0x1109, 0x116C, 0x11C0], NFKC: [0xC1F9], NFKD: [0x1109, 0x116C, 0x11C0] }, -{ source: [0xC1FA], NFC: [0xC1FA], NFD: [0x1109, 0x116C, 0x11C1], NFKC: [0xC1FA], NFKD: [0x1109, 0x116C, 0x11C1] }, -{ source: [0xC1FB], NFC: [0xC1FB], NFD: [0x1109, 0x116C, 0x11C2], NFKC: [0xC1FB], NFKD: [0x1109, 0x116C, 0x11C2] }, -{ source: [0xC1FC], NFC: [0xC1FC], NFD: [0x1109, 0x116D], NFKC: [0xC1FC], NFKD: [0x1109, 0x116D] }, -{ source: [0xC1FD], NFC: [0xC1FD], NFD: [0x1109, 0x116D, 0x11A8], NFKC: [0xC1FD], NFKD: [0x1109, 0x116D, 0x11A8] }, -{ source: [0xC1FE], NFC: [0xC1FE], NFD: [0x1109, 0x116D, 0x11A9], NFKC: [0xC1FE], NFKD: [0x1109, 0x116D, 0x11A9] }, -{ source: [0xC1FF], NFC: [0xC1FF], NFD: [0x1109, 0x116D, 0x11AA], NFKC: [0xC1FF], NFKD: [0x1109, 0x116D, 0x11AA] }, -{ source: [0xC200], NFC: [0xC200], NFD: [0x1109, 0x116D, 0x11AB], NFKC: [0xC200], NFKD: [0x1109, 0x116D, 0x11AB] }, -{ source: [0xC201], NFC: [0xC201], NFD: [0x1109, 0x116D, 0x11AC], NFKC: [0xC201], NFKD: [0x1109, 0x116D, 0x11AC] }, -{ source: [0xC202], NFC: [0xC202], NFD: [0x1109, 0x116D, 0x11AD], NFKC: [0xC202], NFKD: [0x1109, 0x116D, 0x11AD] }, -{ source: [0xC203], NFC: [0xC203], NFD: [0x1109, 0x116D, 0x11AE], NFKC: [0xC203], NFKD: [0x1109, 0x116D, 0x11AE] }, -{ source: [0xC204], NFC: [0xC204], NFD: [0x1109, 0x116D, 0x11AF], NFKC: [0xC204], NFKD: [0x1109, 0x116D, 0x11AF] }, -{ source: [0xC205], NFC: [0xC205], NFD: [0x1109, 0x116D, 0x11B0], NFKC: [0xC205], NFKD: [0x1109, 0x116D, 0x11B0] }, -{ source: [0xC206], NFC: [0xC206], NFD: [0x1109, 0x116D, 0x11B1], NFKC: [0xC206], NFKD: [0x1109, 0x116D, 0x11B1] }, -{ source: [0xC207], NFC: [0xC207], NFD: [0x1109, 0x116D, 0x11B2], NFKC: [0xC207], NFKD: [0x1109, 0x116D, 0x11B2] }, -{ source: [0xC208], NFC: [0xC208], NFD: [0x1109, 0x116D, 0x11B3], NFKC: [0xC208], NFKD: [0x1109, 0x116D, 0x11B3] }, -{ source: [0xC209], NFC: [0xC209], NFD: [0x1109, 0x116D, 0x11B4], NFKC: [0xC209], NFKD: [0x1109, 0x116D, 0x11B4] }, -{ source: [0xC20A], NFC: [0xC20A], NFD: [0x1109, 0x116D, 0x11B5], NFKC: [0xC20A], NFKD: [0x1109, 0x116D, 0x11B5] }, -{ source: [0xC20B], NFC: [0xC20B], NFD: [0x1109, 0x116D, 0x11B6], NFKC: [0xC20B], NFKD: [0x1109, 0x116D, 0x11B6] }, -{ source: [0xC20C], NFC: [0xC20C], NFD: [0x1109, 0x116D, 0x11B7], NFKC: [0xC20C], NFKD: [0x1109, 0x116D, 0x11B7] }, -{ source: [0xC20D], NFC: [0xC20D], NFD: [0x1109, 0x116D, 0x11B8], NFKC: [0xC20D], NFKD: [0x1109, 0x116D, 0x11B8] }, -{ source: [0xC20E], NFC: [0xC20E], NFD: [0x1109, 0x116D, 0x11B9], NFKC: [0xC20E], NFKD: [0x1109, 0x116D, 0x11B9] }, -{ source: [0xC20F], NFC: [0xC20F], NFD: [0x1109, 0x116D, 0x11BA], NFKC: [0xC20F], NFKD: [0x1109, 0x116D, 0x11BA] }, -{ source: [0xC210], NFC: [0xC210], NFD: [0x1109, 0x116D, 0x11BB], NFKC: [0xC210], NFKD: [0x1109, 0x116D, 0x11BB] }, -{ source: [0xC211], NFC: [0xC211], NFD: [0x1109, 0x116D, 0x11BC], NFKC: [0xC211], NFKD: [0x1109, 0x116D, 0x11BC] }, -{ source: [0xC212], NFC: [0xC212], NFD: [0x1109, 0x116D, 0x11BD], NFKC: [0xC212], NFKD: [0x1109, 0x116D, 0x11BD] }, -{ source: [0xC213], NFC: [0xC213], NFD: [0x1109, 0x116D, 0x11BE], NFKC: [0xC213], NFKD: [0x1109, 0x116D, 0x11BE] }, -{ source: [0xC214], NFC: [0xC214], NFD: [0x1109, 0x116D, 0x11BF], NFKC: [0xC214], NFKD: [0x1109, 0x116D, 0x11BF] }, -{ source: [0xC215], NFC: [0xC215], NFD: [0x1109, 0x116D, 0x11C0], NFKC: [0xC215], NFKD: [0x1109, 0x116D, 0x11C0] }, -{ source: [0xC216], NFC: [0xC216], NFD: [0x1109, 0x116D, 0x11C1], NFKC: [0xC216], NFKD: [0x1109, 0x116D, 0x11C1] }, -{ source: [0xC217], NFC: [0xC217], NFD: [0x1109, 0x116D, 0x11C2], NFKC: [0xC217], NFKD: [0x1109, 0x116D, 0x11C2] }, -{ source: [0xC218], NFC: [0xC218], NFD: [0x1109, 0x116E], NFKC: [0xC218], NFKD: [0x1109, 0x116E] }, -{ source: [0xC219], NFC: [0xC219], NFD: [0x1109, 0x116E, 0x11A8], NFKC: [0xC219], NFKD: [0x1109, 0x116E, 0x11A8] }, -{ source: [0xC21A], NFC: [0xC21A], NFD: [0x1109, 0x116E, 0x11A9], NFKC: [0xC21A], NFKD: [0x1109, 0x116E, 0x11A9] }, -{ source: [0xC21B], NFC: [0xC21B], NFD: [0x1109, 0x116E, 0x11AA], NFKC: [0xC21B], NFKD: [0x1109, 0x116E, 0x11AA] }, -{ source: [0xC21C], NFC: [0xC21C], NFD: [0x1109, 0x116E, 0x11AB], NFKC: [0xC21C], NFKD: [0x1109, 0x116E, 0x11AB] }, -{ source: [0xC21D], NFC: [0xC21D], NFD: [0x1109, 0x116E, 0x11AC], NFKC: [0xC21D], NFKD: [0x1109, 0x116E, 0x11AC] }, -{ source: [0xC21E], NFC: [0xC21E], NFD: [0x1109, 0x116E, 0x11AD], NFKC: [0xC21E], NFKD: [0x1109, 0x116E, 0x11AD] }, -{ source: [0xC21F], NFC: [0xC21F], NFD: [0x1109, 0x116E, 0x11AE], NFKC: [0xC21F], NFKD: [0x1109, 0x116E, 0x11AE] }, -{ source: [0xC220], NFC: [0xC220], NFD: [0x1109, 0x116E, 0x11AF], NFKC: [0xC220], NFKD: [0x1109, 0x116E, 0x11AF] }, -{ source: [0xC221], NFC: [0xC221], NFD: [0x1109, 0x116E, 0x11B0], NFKC: [0xC221], NFKD: [0x1109, 0x116E, 0x11B0] }, -{ source: [0xC222], NFC: [0xC222], NFD: [0x1109, 0x116E, 0x11B1], NFKC: [0xC222], NFKD: [0x1109, 0x116E, 0x11B1] }, -{ source: [0xC223], NFC: [0xC223], NFD: [0x1109, 0x116E, 0x11B2], NFKC: [0xC223], NFKD: [0x1109, 0x116E, 0x11B2] }, -{ source: [0xC224], NFC: [0xC224], NFD: [0x1109, 0x116E, 0x11B3], NFKC: [0xC224], NFKD: [0x1109, 0x116E, 0x11B3] }, -{ source: [0xC225], NFC: [0xC225], NFD: [0x1109, 0x116E, 0x11B4], NFKC: [0xC225], NFKD: [0x1109, 0x116E, 0x11B4] }, -{ source: [0xC226], NFC: [0xC226], NFD: [0x1109, 0x116E, 0x11B5], NFKC: [0xC226], NFKD: [0x1109, 0x116E, 0x11B5] }, -{ source: [0xC227], NFC: [0xC227], NFD: [0x1109, 0x116E, 0x11B6], NFKC: [0xC227], NFKD: [0x1109, 0x116E, 0x11B6] }, -{ source: [0xC228], NFC: [0xC228], NFD: [0x1109, 0x116E, 0x11B7], NFKC: [0xC228], NFKD: [0x1109, 0x116E, 0x11B7] }, -{ source: [0xC229], NFC: [0xC229], NFD: [0x1109, 0x116E, 0x11B8], NFKC: [0xC229], NFKD: [0x1109, 0x116E, 0x11B8] }, -{ source: [0xC22A], NFC: [0xC22A], NFD: [0x1109, 0x116E, 0x11B9], NFKC: [0xC22A], NFKD: [0x1109, 0x116E, 0x11B9] }, -{ source: [0xC22B], NFC: [0xC22B], NFD: [0x1109, 0x116E, 0x11BA], NFKC: [0xC22B], NFKD: [0x1109, 0x116E, 0x11BA] }, -{ source: [0xC22C], NFC: [0xC22C], NFD: [0x1109, 0x116E, 0x11BB], NFKC: [0xC22C], NFKD: [0x1109, 0x116E, 0x11BB] }, -{ source: [0xC22D], NFC: [0xC22D], NFD: [0x1109, 0x116E, 0x11BC], NFKC: [0xC22D], NFKD: [0x1109, 0x116E, 0x11BC] }, -{ source: [0xC22E], NFC: [0xC22E], NFD: [0x1109, 0x116E, 0x11BD], NFKC: [0xC22E], NFKD: [0x1109, 0x116E, 0x11BD] }, -{ source: [0xC22F], NFC: [0xC22F], NFD: [0x1109, 0x116E, 0x11BE], NFKC: [0xC22F], NFKD: [0x1109, 0x116E, 0x11BE] }, -{ source: [0xC230], NFC: [0xC230], NFD: [0x1109, 0x116E, 0x11BF], NFKC: [0xC230], NFKD: [0x1109, 0x116E, 0x11BF] }, -{ source: [0xC231], NFC: [0xC231], NFD: [0x1109, 0x116E, 0x11C0], NFKC: [0xC231], NFKD: [0x1109, 0x116E, 0x11C0] }, -{ source: [0xC232], NFC: [0xC232], NFD: [0x1109, 0x116E, 0x11C1], NFKC: [0xC232], NFKD: [0x1109, 0x116E, 0x11C1] }, -{ source: [0xC233], NFC: [0xC233], NFD: [0x1109, 0x116E, 0x11C2], NFKC: [0xC233], NFKD: [0x1109, 0x116E, 0x11C2] }, -{ source: [0xC234], NFC: [0xC234], NFD: [0x1109, 0x116F], NFKC: [0xC234], NFKD: [0x1109, 0x116F] }, -{ source: [0xC235], NFC: [0xC235], NFD: [0x1109, 0x116F, 0x11A8], NFKC: [0xC235], NFKD: [0x1109, 0x116F, 0x11A8] }, -{ source: [0xC236], NFC: [0xC236], NFD: [0x1109, 0x116F, 0x11A9], NFKC: [0xC236], NFKD: [0x1109, 0x116F, 0x11A9] }, -{ source: [0xC237], NFC: [0xC237], NFD: [0x1109, 0x116F, 0x11AA], NFKC: [0xC237], NFKD: [0x1109, 0x116F, 0x11AA] }, -{ source: [0xC238], NFC: [0xC238], NFD: [0x1109, 0x116F, 0x11AB], NFKC: [0xC238], NFKD: [0x1109, 0x116F, 0x11AB] }, -{ source: [0xC239], NFC: [0xC239], NFD: [0x1109, 0x116F, 0x11AC], NFKC: [0xC239], NFKD: [0x1109, 0x116F, 0x11AC] }, -{ source: [0xC23A], NFC: [0xC23A], NFD: [0x1109, 0x116F, 0x11AD], NFKC: [0xC23A], NFKD: [0x1109, 0x116F, 0x11AD] }, -{ source: [0xC23B], NFC: [0xC23B], NFD: [0x1109, 0x116F, 0x11AE], NFKC: [0xC23B], NFKD: [0x1109, 0x116F, 0x11AE] }, -{ source: [0xC23C], NFC: [0xC23C], NFD: [0x1109, 0x116F, 0x11AF], NFKC: [0xC23C], NFKD: [0x1109, 0x116F, 0x11AF] }, -{ source: [0xC23D], NFC: [0xC23D], NFD: [0x1109, 0x116F, 0x11B0], NFKC: [0xC23D], NFKD: [0x1109, 0x116F, 0x11B0] }, -{ source: [0xC23E], NFC: [0xC23E], NFD: [0x1109, 0x116F, 0x11B1], NFKC: [0xC23E], NFKD: [0x1109, 0x116F, 0x11B1] }, -{ source: [0xC23F], NFC: [0xC23F], NFD: [0x1109, 0x116F, 0x11B2], NFKC: [0xC23F], NFKD: [0x1109, 0x116F, 0x11B2] }, -{ source: [0xC240], NFC: [0xC240], NFD: [0x1109, 0x116F, 0x11B3], NFKC: [0xC240], NFKD: [0x1109, 0x116F, 0x11B3] }, -{ source: [0xC241], NFC: [0xC241], NFD: [0x1109, 0x116F, 0x11B4], NFKC: [0xC241], NFKD: [0x1109, 0x116F, 0x11B4] }, -{ source: [0xC242], NFC: [0xC242], NFD: [0x1109, 0x116F, 0x11B5], NFKC: [0xC242], NFKD: [0x1109, 0x116F, 0x11B5] }, -{ source: [0xC243], NFC: [0xC243], NFD: [0x1109, 0x116F, 0x11B6], NFKC: [0xC243], NFKD: [0x1109, 0x116F, 0x11B6] }, -{ source: [0xC244], NFC: [0xC244], NFD: [0x1109, 0x116F, 0x11B7], NFKC: [0xC244], NFKD: [0x1109, 0x116F, 0x11B7] }, -{ source: [0xC245], NFC: [0xC245], NFD: [0x1109, 0x116F, 0x11B8], NFKC: [0xC245], NFKD: [0x1109, 0x116F, 0x11B8] }, -{ source: [0xC246], NFC: [0xC246], NFD: [0x1109, 0x116F, 0x11B9], NFKC: [0xC246], NFKD: [0x1109, 0x116F, 0x11B9] }, -{ source: [0xC247], NFC: [0xC247], NFD: [0x1109, 0x116F, 0x11BA], NFKC: [0xC247], NFKD: [0x1109, 0x116F, 0x11BA] }, -{ source: [0xC248], NFC: [0xC248], NFD: [0x1109, 0x116F, 0x11BB], NFKC: [0xC248], NFKD: [0x1109, 0x116F, 0x11BB] }, -{ source: [0xC249], NFC: [0xC249], NFD: [0x1109, 0x116F, 0x11BC], NFKC: [0xC249], NFKD: [0x1109, 0x116F, 0x11BC] }, -{ source: [0xC24A], NFC: [0xC24A], NFD: [0x1109, 0x116F, 0x11BD], NFKC: [0xC24A], NFKD: [0x1109, 0x116F, 0x11BD] }, -{ source: [0xC24B], NFC: [0xC24B], NFD: [0x1109, 0x116F, 0x11BE], NFKC: [0xC24B], NFKD: [0x1109, 0x116F, 0x11BE] }, -{ source: [0xC24C], NFC: [0xC24C], NFD: [0x1109, 0x116F, 0x11BF], NFKC: [0xC24C], NFKD: [0x1109, 0x116F, 0x11BF] }, -{ source: [0xC24D], NFC: [0xC24D], NFD: [0x1109, 0x116F, 0x11C0], NFKC: [0xC24D], NFKD: [0x1109, 0x116F, 0x11C0] }, -{ source: [0xC24E], NFC: [0xC24E], NFD: [0x1109, 0x116F, 0x11C1], NFKC: [0xC24E], NFKD: [0x1109, 0x116F, 0x11C1] }, -{ source: [0xC24F], NFC: [0xC24F], NFD: [0x1109, 0x116F, 0x11C2], NFKC: [0xC24F], NFKD: [0x1109, 0x116F, 0x11C2] }, -{ source: [0xC250], NFC: [0xC250], NFD: [0x1109, 0x1170], NFKC: [0xC250], NFKD: [0x1109, 0x1170] }, -{ source: [0xC251], NFC: [0xC251], NFD: [0x1109, 0x1170, 0x11A8], NFKC: [0xC251], NFKD: [0x1109, 0x1170, 0x11A8] }, -{ source: [0xC252], NFC: [0xC252], NFD: [0x1109, 0x1170, 0x11A9], NFKC: [0xC252], NFKD: [0x1109, 0x1170, 0x11A9] }, -{ source: [0xC253], NFC: [0xC253], NFD: [0x1109, 0x1170, 0x11AA], NFKC: [0xC253], NFKD: [0x1109, 0x1170, 0x11AA] }, -{ source: [0xC254], NFC: [0xC254], NFD: [0x1109, 0x1170, 0x11AB], NFKC: [0xC254], NFKD: [0x1109, 0x1170, 0x11AB] }, -{ source: [0xC255], NFC: [0xC255], NFD: [0x1109, 0x1170, 0x11AC], NFKC: [0xC255], NFKD: [0x1109, 0x1170, 0x11AC] }, -{ source: [0xC256], NFC: [0xC256], NFD: [0x1109, 0x1170, 0x11AD], NFKC: [0xC256], NFKD: [0x1109, 0x1170, 0x11AD] }, -{ source: [0xC257], NFC: [0xC257], NFD: [0x1109, 0x1170, 0x11AE], NFKC: [0xC257], NFKD: [0x1109, 0x1170, 0x11AE] }, -{ source: [0xC258], NFC: [0xC258], NFD: [0x1109, 0x1170, 0x11AF], NFKC: [0xC258], NFKD: [0x1109, 0x1170, 0x11AF] }, -{ source: [0xC259], NFC: [0xC259], NFD: [0x1109, 0x1170, 0x11B0], NFKC: [0xC259], NFKD: [0x1109, 0x1170, 0x11B0] }, -{ source: [0xC25A], NFC: [0xC25A], NFD: [0x1109, 0x1170, 0x11B1], NFKC: [0xC25A], NFKD: [0x1109, 0x1170, 0x11B1] }, -{ source: [0xC25B], NFC: [0xC25B], NFD: [0x1109, 0x1170, 0x11B2], NFKC: [0xC25B], NFKD: [0x1109, 0x1170, 0x11B2] }, -{ source: [0xC25C], NFC: [0xC25C], NFD: [0x1109, 0x1170, 0x11B3], NFKC: [0xC25C], NFKD: [0x1109, 0x1170, 0x11B3] }, -{ source: [0xC25D], NFC: [0xC25D], NFD: [0x1109, 0x1170, 0x11B4], NFKC: [0xC25D], NFKD: [0x1109, 0x1170, 0x11B4] }, -{ source: [0xC25E], NFC: [0xC25E], NFD: [0x1109, 0x1170, 0x11B5], NFKC: [0xC25E], NFKD: [0x1109, 0x1170, 0x11B5] }, -{ source: [0xC25F], NFC: [0xC25F], NFD: [0x1109, 0x1170, 0x11B6], NFKC: [0xC25F], NFKD: [0x1109, 0x1170, 0x11B6] }, -{ source: [0xC260], NFC: [0xC260], NFD: [0x1109, 0x1170, 0x11B7], NFKC: [0xC260], NFKD: [0x1109, 0x1170, 0x11B7] }, -{ source: [0xC261], NFC: [0xC261], NFD: [0x1109, 0x1170, 0x11B8], NFKC: [0xC261], NFKD: [0x1109, 0x1170, 0x11B8] }, -{ source: [0xC262], NFC: [0xC262], NFD: [0x1109, 0x1170, 0x11B9], NFKC: [0xC262], NFKD: [0x1109, 0x1170, 0x11B9] }, -{ source: [0xC263], NFC: [0xC263], NFD: [0x1109, 0x1170, 0x11BA], NFKC: [0xC263], NFKD: [0x1109, 0x1170, 0x11BA] }, -{ source: [0xC264], NFC: [0xC264], NFD: [0x1109, 0x1170, 0x11BB], NFKC: [0xC264], NFKD: [0x1109, 0x1170, 0x11BB] }, -{ source: [0xC265], NFC: [0xC265], NFD: [0x1109, 0x1170, 0x11BC], NFKC: [0xC265], NFKD: [0x1109, 0x1170, 0x11BC] }, -{ source: [0xC266], NFC: [0xC266], NFD: [0x1109, 0x1170, 0x11BD], NFKC: [0xC266], NFKD: [0x1109, 0x1170, 0x11BD] }, -{ source: [0xC267], NFC: [0xC267], NFD: [0x1109, 0x1170, 0x11BE], NFKC: [0xC267], NFKD: [0x1109, 0x1170, 0x11BE] }, -{ source: [0xC268], NFC: [0xC268], NFD: [0x1109, 0x1170, 0x11BF], NFKC: [0xC268], NFKD: [0x1109, 0x1170, 0x11BF] }, -{ source: [0xC269], NFC: [0xC269], NFD: [0x1109, 0x1170, 0x11C0], NFKC: [0xC269], NFKD: [0x1109, 0x1170, 0x11C0] }, -{ source: [0xC26A], NFC: [0xC26A], NFD: [0x1109, 0x1170, 0x11C1], NFKC: [0xC26A], NFKD: [0x1109, 0x1170, 0x11C1] }, -{ source: [0xC26B], NFC: [0xC26B], NFD: [0x1109, 0x1170, 0x11C2], NFKC: [0xC26B], NFKD: [0x1109, 0x1170, 0x11C2] }, -{ source: [0xC26C], NFC: [0xC26C], NFD: [0x1109, 0x1171], NFKC: [0xC26C], NFKD: [0x1109, 0x1171] }, -{ source: [0xC26D], NFC: [0xC26D], NFD: [0x1109, 0x1171, 0x11A8], NFKC: [0xC26D], NFKD: [0x1109, 0x1171, 0x11A8] }, -{ source: [0xC26E], NFC: [0xC26E], NFD: [0x1109, 0x1171, 0x11A9], NFKC: [0xC26E], NFKD: [0x1109, 0x1171, 0x11A9] }, -{ source: [0xC26F], NFC: [0xC26F], NFD: [0x1109, 0x1171, 0x11AA], NFKC: [0xC26F], NFKD: [0x1109, 0x1171, 0x11AA] }, -{ source: [0xC270], NFC: [0xC270], NFD: [0x1109, 0x1171, 0x11AB], NFKC: [0xC270], NFKD: [0x1109, 0x1171, 0x11AB] }, -{ source: [0xC271], NFC: [0xC271], NFD: [0x1109, 0x1171, 0x11AC], NFKC: [0xC271], NFKD: [0x1109, 0x1171, 0x11AC] }, -{ source: [0xC272], NFC: [0xC272], NFD: [0x1109, 0x1171, 0x11AD], NFKC: [0xC272], NFKD: [0x1109, 0x1171, 0x11AD] }, -{ source: [0xC273], NFC: [0xC273], NFD: [0x1109, 0x1171, 0x11AE], NFKC: [0xC273], NFKD: [0x1109, 0x1171, 0x11AE] }, -{ source: [0xC274], NFC: [0xC274], NFD: [0x1109, 0x1171, 0x11AF], NFKC: [0xC274], NFKD: [0x1109, 0x1171, 0x11AF] }, -{ source: [0xC275], NFC: [0xC275], NFD: [0x1109, 0x1171, 0x11B0], NFKC: [0xC275], NFKD: [0x1109, 0x1171, 0x11B0] }, -{ source: [0xC276], NFC: [0xC276], NFD: [0x1109, 0x1171, 0x11B1], NFKC: [0xC276], NFKD: [0x1109, 0x1171, 0x11B1] }, -{ source: [0xC277], NFC: [0xC277], NFD: [0x1109, 0x1171, 0x11B2], NFKC: [0xC277], NFKD: [0x1109, 0x1171, 0x11B2] }, -{ source: [0xC278], NFC: [0xC278], NFD: [0x1109, 0x1171, 0x11B3], NFKC: [0xC278], NFKD: [0x1109, 0x1171, 0x11B3] }, -{ source: [0xC279], NFC: [0xC279], NFD: [0x1109, 0x1171, 0x11B4], NFKC: [0xC279], NFKD: [0x1109, 0x1171, 0x11B4] }, -{ source: [0xC27A], NFC: [0xC27A], NFD: [0x1109, 0x1171, 0x11B5], NFKC: [0xC27A], NFKD: [0x1109, 0x1171, 0x11B5] }, -{ source: [0xC27B], NFC: [0xC27B], NFD: [0x1109, 0x1171, 0x11B6], NFKC: [0xC27B], NFKD: [0x1109, 0x1171, 0x11B6] }, -{ source: [0xC27C], NFC: [0xC27C], NFD: [0x1109, 0x1171, 0x11B7], NFKC: [0xC27C], NFKD: [0x1109, 0x1171, 0x11B7] }, -{ source: [0xC27D], NFC: [0xC27D], NFD: [0x1109, 0x1171, 0x11B8], NFKC: [0xC27D], NFKD: [0x1109, 0x1171, 0x11B8] }, -{ source: [0xC27E], NFC: [0xC27E], NFD: [0x1109, 0x1171, 0x11B9], NFKC: [0xC27E], NFKD: [0x1109, 0x1171, 0x11B9] }, -{ source: [0xC27F], NFC: [0xC27F], NFD: [0x1109, 0x1171, 0x11BA], NFKC: [0xC27F], NFKD: [0x1109, 0x1171, 0x11BA] }, -{ source: [0xC280], NFC: [0xC280], NFD: [0x1109, 0x1171, 0x11BB], NFKC: [0xC280], NFKD: [0x1109, 0x1171, 0x11BB] }, -{ source: [0xC281], NFC: [0xC281], NFD: [0x1109, 0x1171, 0x11BC], NFKC: [0xC281], NFKD: [0x1109, 0x1171, 0x11BC] }, -{ source: [0xC282], NFC: [0xC282], NFD: [0x1109, 0x1171, 0x11BD], NFKC: [0xC282], NFKD: [0x1109, 0x1171, 0x11BD] }, -{ source: [0xC283], NFC: [0xC283], NFD: [0x1109, 0x1171, 0x11BE], NFKC: [0xC283], NFKD: [0x1109, 0x1171, 0x11BE] }, -{ source: [0xC284], NFC: [0xC284], NFD: [0x1109, 0x1171, 0x11BF], NFKC: [0xC284], NFKD: [0x1109, 0x1171, 0x11BF] }, -{ source: [0xC285], NFC: [0xC285], NFD: [0x1109, 0x1171, 0x11C0], NFKC: [0xC285], NFKD: [0x1109, 0x1171, 0x11C0] }, -{ source: [0xC286], NFC: [0xC286], NFD: [0x1109, 0x1171, 0x11C1], NFKC: [0xC286], NFKD: [0x1109, 0x1171, 0x11C1] }, -{ source: [0xC287], NFC: [0xC287], NFD: [0x1109, 0x1171, 0x11C2], NFKC: [0xC287], NFKD: [0x1109, 0x1171, 0x11C2] }, -{ source: [0xC288], NFC: [0xC288], NFD: [0x1109, 0x1172], NFKC: [0xC288], NFKD: [0x1109, 0x1172] }, -{ source: [0xC289], NFC: [0xC289], NFD: [0x1109, 0x1172, 0x11A8], NFKC: [0xC289], NFKD: [0x1109, 0x1172, 0x11A8] }, -{ source: [0xC28A], NFC: [0xC28A], NFD: [0x1109, 0x1172, 0x11A9], NFKC: [0xC28A], NFKD: [0x1109, 0x1172, 0x11A9] }, -{ source: [0xC28B], NFC: [0xC28B], NFD: [0x1109, 0x1172, 0x11AA], NFKC: [0xC28B], NFKD: [0x1109, 0x1172, 0x11AA] }, -{ source: [0xC28C], NFC: [0xC28C], NFD: [0x1109, 0x1172, 0x11AB], NFKC: [0xC28C], NFKD: [0x1109, 0x1172, 0x11AB] }, -{ source: [0xC28D], NFC: [0xC28D], NFD: [0x1109, 0x1172, 0x11AC], NFKC: [0xC28D], NFKD: [0x1109, 0x1172, 0x11AC] }, -{ source: [0xC28E], NFC: [0xC28E], NFD: [0x1109, 0x1172, 0x11AD], NFKC: [0xC28E], NFKD: [0x1109, 0x1172, 0x11AD] }, -{ source: [0xC28F], NFC: [0xC28F], NFD: [0x1109, 0x1172, 0x11AE], NFKC: [0xC28F], NFKD: [0x1109, 0x1172, 0x11AE] }, -{ source: [0xC290], NFC: [0xC290], NFD: [0x1109, 0x1172, 0x11AF], NFKC: [0xC290], NFKD: [0x1109, 0x1172, 0x11AF] }, -{ source: [0xC291], NFC: [0xC291], NFD: [0x1109, 0x1172, 0x11B0], NFKC: [0xC291], NFKD: [0x1109, 0x1172, 0x11B0] }, -{ source: [0xC292], NFC: [0xC292], NFD: [0x1109, 0x1172, 0x11B1], NFKC: [0xC292], NFKD: [0x1109, 0x1172, 0x11B1] }, -{ source: [0xC293], NFC: [0xC293], NFD: [0x1109, 0x1172, 0x11B2], NFKC: [0xC293], NFKD: [0x1109, 0x1172, 0x11B2] }, -{ source: [0xC294], NFC: [0xC294], NFD: [0x1109, 0x1172, 0x11B3], NFKC: [0xC294], NFKD: [0x1109, 0x1172, 0x11B3] }, -{ source: [0xC295], NFC: [0xC295], NFD: [0x1109, 0x1172, 0x11B4], NFKC: [0xC295], NFKD: [0x1109, 0x1172, 0x11B4] }, -{ source: [0xC296], NFC: [0xC296], NFD: [0x1109, 0x1172, 0x11B5], NFKC: [0xC296], NFKD: [0x1109, 0x1172, 0x11B5] }, -{ source: [0xC297], NFC: [0xC297], NFD: [0x1109, 0x1172, 0x11B6], NFKC: [0xC297], NFKD: [0x1109, 0x1172, 0x11B6] }, -{ source: [0xC298], NFC: [0xC298], NFD: [0x1109, 0x1172, 0x11B7], NFKC: [0xC298], NFKD: [0x1109, 0x1172, 0x11B7] }, -{ source: [0xC299], NFC: [0xC299], NFD: [0x1109, 0x1172, 0x11B8], NFKC: [0xC299], NFKD: [0x1109, 0x1172, 0x11B8] }, -{ source: [0xC29A], NFC: [0xC29A], NFD: [0x1109, 0x1172, 0x11B9], NFKC: [0xC29A], NFKD: [0x1109, 0x1172, 0x11B9] }, -{ source: [0xC29B], NFC: [0xC29B], NFD: [0x1109, 0x1172, 0x11BA], NFKC: [0xC29B], NFKD: [0x1109, 0x1172, 0x11BA] }, -{ source: [0xC29C], NFC: [0xC29C], NFD: [0x1109, 0x1172, 0x11BB], NFKC: [0xC29C], NFKD: [0x1109, 0x1172, 0x11BB] }, -{ source: [0xC29D], NFC: [0xC29D], NFD: [0x1109, 0x1172, 0x11BC], NFKC: [0xC29D], NFKD: [0x1109, 0x1172, 0x11BC] }, -{ source: [0xC29E], NFC: [0xC29E], NFD: [0x1109, 0x1172, 0x11BD], NFKC: [0xC29E], NFKD: [0x1109, 0x1172, 0x11BD] }, -{ source: [0xC29F], NFC: [0xC29F], NFD: [0x1109, 0x1172, 0x11BE], NFKC: [0xC29F], NFKD: [0x1109, 0x1172, 0x11BE] }, -{ source: [0xC2A0], NFC: [0xC2A0], NFD: [0x1109, 0x1172, 0x11BF], NFKC: [0xC2A0], NFKD: [0x1109, 0x1172, 0x11BF] }, -{ source: [0xC2A1], NFC: [0xC2A1], NFD: [0x1109, 0x1172, 0x11C0], NFKC: [0xC2A1], NFKD: [0x1109, 0x1172, 0x11C0] }, -{ source: [0xC2A2], NFC: [0xC2A2], NFD: [0x1109, 0x1172, 0x11C1], NFKC: [0xC2A2], NFKD: [0x1109, 0x1172, 0x11C1] }, -{ source: [0xC2A3], NFC: [0xC2A3], NFD: [0x1109, 0x1172, 0x11C2], NFKC: [0xC2A3], NFKD: [0x1109, 0x1172, 0x11C2] }, -{ source: [0xC2A4], NFC: [0xC2A4], NFD: [0x1109, 0x1173], NFKC: [0xC2A4], NFKD: [0x1109, 0x1173] }, -{ source: [0xC2A5], NFC: [0xC2A5], NFD: [0x1109, 0x1173, 0x11A8], NFKC: [0xC2A5], NFKD: [0x1109, 0x1173, 0x11A8] }, -{ source: [0xC2A6], NFC: [0xC2A6], NFD: [0x1109, 0x1173, 0x11A9], NFKC: [0xC2A6], NFKD: [0x1109, 0x1173, 0x11A9] }, -{ source: [0xC2A7], NFC: [0xC2A7], NFD: [0x1109, 0x1173, 0x11AA], NFKC: [0xC2A7], NFKD: [0x1109, 0x1173, 0x11AA] }, -{ source: [0xC2A8], NFC: [0xC2A8], NFD: [0x1109, 0x1173, 0x11AB], NFKC: [0xC2A8], NFKD: [0x1109, 0x1173, 0x11AB] }, -{ source: [0xC2A9], NFC: [0xC2A9], NFD: [0x1109, 0x1173, 0x11AC], NFKC: [0xC2A9], NFKD: [0x1109, 0x1173, 0x11AC] }, -{ source: [0xC2AA], NFC: [0xC2AA], NFD: [0x1109, 0x1173, 0x11AD], NFKC: [0xC2AA], NFKD: [0x1109, 0x1173, 0x11AD] }, -{ source: [0xC2AB], NFC: [0xC2AB], NFD: [0x1109, 0x1173, 0x11AE], NFKC: [0xC2AB], NFKD: [0x1109, 0x1173, 0x11AE] }, -{ source: [0xC2AC], NFC: [0xC2AC], NFD: [0x1109, 0x1173, 0x11AF], NFKC: [0xC2AC], NFKD: [0x1109, 0x1173, 0x11AF] }, -{ source: [0xC2AD], NFC: [0xC2AD], NFD: [0x1109, 0x1173, 0x11B0], NFKC: [0xC2AD], NFKD: [0x1109, 0x1173, 0x11B0] }, -{ source: [0xC2AE], NFC: [0xC2AE], NFD: [0x1109, 0x1173, 0x11B1], NFKC: [0xC2AE], NFKD: [0x1109, 0x1173, 0x11B1] }, -{ source: [0xC2AF], NFC: [0xC2AF], NFD: [0x1109, 0x1173, 0x11B2], NFKC: [0xC2AF], NFKD: [0x1109, 0x1173, 0x11B2] }, -{ source: [0xC2B0], NFC: [0xC2B0], NFD: [0x1109, 0x1173, 0x11B3], NFKC: [0xC2B0], NFKD: [0x1109, 0x1173, 0x11B3] }, -{ source: [0xC2B1], NFC: [0xC2B1], NFD: [0x1109, 0x1173, 0x11B4], NFKC: [0xC2B1], NFKD: [0x1109, 0x1173, 0x11B4] }, -{ source: [0xC2B2], NFC: [0xC2B2], NFD: [0x1109, 0x1173, 0x11B5], NFKC: [0xC2B2], NFKD: [0x1109, 0x1173, 0x11B5] }, -{ source: [0xC2B3], NFC: [0xC2B3], NFD: [0x1109, 0x1173, 0x11B6], NFKC: [0xC2B3], NFKD: [0x1109, 0x1173, 0x11B6] }, -{ source: [0xC2B4], NFC: [0xC2B4], NFD: [0x1109, 0x1173, 0x11B7], NFKC: [0xC2B4], NFKD: [0x1109, 0x1173, 0x11B7] }, -{ source: [0xC2B5], NFC: [0xC2B5], NFD: [0x1109, 0x1173, 0x11B8], NFKC: [0xC2B5], NFKD: [0x1109, 0x1173, 0x11B8] }, -{ source: [0xC2B6], NFC: [0xC2B6], NFD: [0x1109, 0x1173, 0x11B9], NFKC: [0xC2B6], NFKD: [0x1109, 0x1173, 0x11B9] }, -{ source: [0xC2B7], NFC: [0xC2B7], NFD: [0x1109, 0x1173, 0x11BA], NFKC: [0xC2B7], NFKD: [0x1109, 0x1173, 0x11BA] }, -{ source: [0xC2B8], NFC: [0xC2B8], NFD: [0x1109, 0x1173, 0x11BB], NFKC: [0xC2B8], NFKD: [0x1109, 0x1173, 0x11BB] }, -{ source: [0xC2B9], NFC: [0xC2B9], NFD: [0x1109, 0x1173, 0x11BC], NFKC: [0xC2B9], NFKD: [0x1109, 0x1173, 0x11BC] }, -{ source: [0xC2BA], NFC: [0xC2BA], NFD: [0x1109, 0x1173, 0x11BD], NFKC: [0xC2BA], NFKD: [0x1109, 0x1173, 0x11BD] }, -{ source: [0xC2BB], NFC: [0xC2BB], NFD: [0x1109, 0x1173, 0x11BE], NFKC: [0xC2BB], NFKD: [0x1109, 0x1173, 0x11BE] }, -{ source: [0xC2BC], NFC: [0xC2BC], NFD: [0x1109, 0x1173, 0x11BF], NFKC: [0xC2BC], NFKD: [0x1109, 0x1173, 0x11BF] }, -{ source: [0xC2BD], NFC: [0xC2BD], NFD: [0x1109, 0x1173, 0x11C0], NFKC: [0xC2BD], NFKD: [0x1109, 0x1173, 0x11C0] }, -{ source: [0xC2BE], NFC: [0xC2BE], NFD: [0x1109, 0x1173, 0x11C1], NFKC: [0xC2BE], NFKD: [0x1109, 0x1173, 0x11C1] }, -{ source: [0xC2BF], NFC: [0xC2BF], NFD: [0x1109, 0x1173, 0x11C2], NFKC: [0xC2BF], NFKD: [0x1109, 0x1173, 0x11C2] }, -{ source: [0xC2C0], NFC: [0xC2C0], NFD: [0x1109, 0x1174], NFKC: [0xC2C0], NFKD: [0x1109, 0x1174] }, -{ source: [0xC2C1], NFC: [0xC2C1], NFD: [0x1109, 0x1174, 0x11A8], NFKC: [0xC2C1], NFKD: [0x1109, 0x1174, 0x11A8] }, -{ source: [0xC2C2], NFC: [0xC2C2], NFD: [0x1109, 0x1174, 0x11A9], NFKC: [0xC2C2], NFKD: [0x1109, 0x1174, 0x11A9] }, -{ source: [0xC2C3], NFC: [0xC2C3], NFD: [0x1109, 0x1174, 0x11AA], NFKC: [0xC2C3], NFKD: [0x1109, 0x1174, 0x11AA] }, -{ source: [0xC2C4], NFC: [0xC2C4], NFD: [0x1109, 0x1174, 0x11AB], NFKC: [0xC2C4], NFKD: [0x1109, 0x1174, 0x11AB] }, -{ source: [0xC2C5], NFC: [0xC2C5], NFD: [0x1109, 0x1174, 0x11AC], NFKC: [0xC2C5], NFKD: [0x1109, 0x1174, 0x11AC] }, -{ source: [0xC2C6], NFC: [0xC2C6], NFD: [0x1109, 0x1174, 0x11AD], NFKC: [0xC2C6], NFKD: [0x1109, 0x1174, 0x11AD] }, -{ source: [0xC2C7], NFC: [0xC2C7], NFD: [0x1109, 0x1174, 0x11AE], NFKC: [0xC2C7], NFKD: [0x1109, 0x1174, 0x11AE] }, -{ source: [0xC2C8], NFC: [0xC2C8], NFD: [0x1109, 0x1174, 0x11AF], NFKC: [0xC2C8], NFKD: [0x1109, 0x1174, 0x11AF] }, -{ source: [0xC2C9], NFC: [0xC2C9], NFD: [0x1109, 0x1174, 0x11B0], NFKC: [0xC2C9], NFKD: [0x1109, 0x1174, 0x11B0] }, -{ source: [0xC2CA], NFC: [0xC2CA], NFD: [0x1109, 0x1174, 0x11B1], NFKC: [0xC2CA], NFKD: [0x1109, 0x1174, 0x11B1] }, -{ source: [0xC2CB], NFC: [0xC2CB], NFD: [0x1109, 0x1174, 0x11B2], NFKC: [0xC2CB], NFKD: [0x1109, 0x1174, 0x11B2] }, -{ source: [0xC2CC], NFC: [0xC2CC], NFD: [0x1109, 0x1174, 0x11B3], NFKC: [0xC2CC], NFKD: [0x1109, 0x1174, 0x11B3] }, -{ source: [0xC2CD], NFC: [0xC2CD], NFD: [0x1109, 0x1174, 0x11B4], NFKC: [0xC2CD], NFKD: [0x1109, 0x1174, 0x11B4] }, -{ source: [0xC2CE], NFC: [0xC2CE], NFD: [0x1109, 0x1174, 0x11B5], NFKC: [0xC2CE], NFKD: [0x1109, 0x1174, 0x11B5] }, -{ source: [0xC2CF], NFC: [0xC2CF], NFD: [0x1109, 0x1174, 0x11B6], NFKC: [0xC2CF], NFKD: [0x1109, 0x1174, 0x11B6] }, -{ source: [0xC2D0], NFC: [0xC2D0], NFD: [0x1109, 0x1174, 0x11B7], NFKC: [0xC2D0], NFKD: [0x1109, 0x1174, 0x11B7] }, -{ source: [0xC2D1], NFC: [0xC2D1], NFD: [0x1109, 0x1174, 0x11B8], NFKC: [0xC2D1], NFKD: [0x1109, 0x1174, 0x11B8] }, -{ source: [0xC2D2], NFC: [0xC2D2], NFD: [0x1109, 0x1174, 0x11B9], NFKC: [0xC2D2], NFKD: [0x1109, 0x1174, 0x11B9] }, -{ source: [0xC2D3], NFC: [0xC2D3], NFD: [0x1109, 0x1174, 0x11BA], NFKC: [0xC2D3], NFKD: [0x1109, 0x1174, 0x11BA] }, -{ source: [0xC2D4], NFC: [0xC2D4], NFD: [0x1109, 0x1174, 0x11BB], NFKC: [0xC2D4], NFKD: [0x1109, 0x1174, 0x11BB] }, -{ source: [0xC2D5], NFC: [0xC2D5], NFD: [0x1109, 0x1174, 0x11BC], NFKC: [0xC2D5], NFKD: [0x1109, 0x1174, 0x11BC] }, -{ source: [0xC2D6], NFC: [0xC2D6], NFD: [0x1109, 0x1174, 0x11BD], NFKC: [0xC2D6], NFKD: [0x1109, 0x1174, 0x11BD] }, -{ source: [0xC2D7], NFC: [0xC2D7], NFD: [0x1109, 0x1174, 0x11BE], NFKC: [0xC2D7], NFKD: [0x1109, 0x1174, 0x11BE] }, -{ source: [0xC2D8], NFC: [0xC2D8], NFD: [0x1109, 0x1174, 0x11BF], NFKC: [0xC2D8], NFKD: [0x1109, 0x1174, 0x11BF] }, -{ source: [0xC2D9], NFC: [0xC2D9], NFD: [0x1109, 0x1174, 0x11C0], NFKC: [0xC2D9], NFKD: [0x1109, 0x1174, 0x11C0] }, -{ source: [0xC2DA], NFC: [0xC2DA], NFD: [0x1109, 0x1174, 0x11C1], NFKC: [0xC2DA], NFKD: [0x1109, 0x1174, 0x11C1] }, -{ source: [0xC2DB], NFC: [0xC2DB], NFD: [0x1109, 0x1174, 0x11C2], NFKC: [0xC2DB], NFKD: [0x1109, 0x1174, 0x11C2] }, -{ source: [0xC2DC], NFC: [0xC2DC], NFD: [0x1109, 0x1175], NFKC: [0xC2DC], NFKD: [0x1109, 0x1175] }, -{ source: [0xC2DD], NFC: [0xC2DD], NFD: [0x1109, 0x1175, 0x11A8], NFKC: [0xC2DD], NFKD: [0x1109, 0x1175, 0x11A8] }, -{ source: [0xC2DE], NFC: [0xC2DE], NFD: [0x1109, 0x1175, 0x11A9], NFKC: [0xC2DE], NFKD: [0x1109, 0x1175, 0x11A9] }, -{ source: [0xC2DF], NFC: [0xC2DF], NFD: [0x1109, 0x1175, 0x11AA], NFKC: [0xC2DF], NFKD: [0x1109, 0x1175, 0x11AA] }, -{ source: [0xC2E0], NFC: [0xC2E0], NFD: [0x1109, 0x1175, 0x11AB], NFKC: [0xC2E0], NFKD: [0x1109, 0x1175, 0x11AB] }, -{ source: [0xC2E1], NFC: [0xC2E1], NFD: [0x1109, 0x1175, 0x11AC], NFKC: [0xC2E1], NFKD: [0x1109, 0x1175, 0x11AC] }, -{ source: [0xC2E2], NFC: [0xC2E2], NFD: [0x1109, 0x1175, 0x11AD], NFKC: [0xC2E2], NFKD: [0x1109, 0x1175, 0x11AD] }, -{ source: [0xC2E3], NFC: [0xC2E3], NFD: [0x1109, 0x1175, 0x11AE], NFKC: [0xC2E3], NFKD: [0x1109, 0x1175, 0x11AE] }, -{ source: [0xC2E4], NFC: [0xC2E4], NFD: [0x1109, 0x1175, 0x11AF], NFKC: [0xC2E4], NFKD: [0x1109, 0x1175, 0x11AF] }, -{ source: [0xC2E5], NFC: [0xC2E5], NFD: [0x1109, 0x1175, 0x11B0], NFKC: [0xC2E5], NFKD: [0x1109, 0x1175, 0x11B0] }, -{ source: [0xC2E6], NFC: [0xC2E6], NFD: [0x1109, 0x1175, 0x11B1], NFKC: [0xC2E6], NFKD: [0x1109, 0x1175, 0x11B1] }, -{ source: [0xC2E7], NFC: [0xC2E7], NFD: [0x1109, 0x1175, 0x11B2], NFKC: [0xC2E7], NFKD: [0x1109, 0x1175, 0x11B2] }, -{ source: [0xC2E8], NFC: [0xC2E8], NFD: [0x1109, 0x1175, 0x11B3], NFKC: [0xC2E8], NFKD: [0x1109, 0x1175, 0x11B3] }, -{ source: [0xC2E9], NFC: [0xC2E9], NFD: [0x1109, 0x1175, 0x11B4], NFKC: [0xC2E9], NFKD: [0x1109, 0x1175, 0x11B4] }, -{ source: [0xC2EA], NFC: [0xC2EA], NFD: [0x1109, 0x1175, 0x11B5], NFKC: [0xC2EA], NFKD: [0x1109, 0x1175, 0x11B5] }, -{ source: [0xC2EB], NFC: [0xC2EB], NFD: [0x1109, 0x1175, 0x11B6], NFKC: [0xC2EB], NFKD: [0x1109, 0x1175, 0x11B6] }, -{ source: [0xC2EC], NFC: [0xC2EC], NFD: [0x1109, 0x1175, 0x11B7], NFKC: [0xC2EC], NFKD: [0x1109, 0x1175, 0x11B7] }, -{ source: [0xC2ED], NFC: [0xC2ED], NFD: [0x1109, 0x1175, 0x11B8], NFKC: [0xC2ED], NFKD: [0x1109, 0x1175, 0x11B8] }, -{ source: [0xC2EE], NFC: [0xC2EE], NFD: [0x1109, 0x1175, 0x11B9], NFKC: [0xC2EE], NFKD: [0x1109, 0x1175, 0x11B9] }, -{ source: [0xC2EF], NFC: [0xC2EF], NFD: [0x1109, 0x1175, 0x11BA], NFKC: [0xC2EF], NFKD: [0x1109, 0x1175, 0x11BA] }, -{ source: [0xC2F0], NFC: [0xC2F0], NFD: [0x1109, 0x1175, 0x11BB], NFKC: [0xC2F0], NFKD: [0x1109, 0x1175, 0x11BB] }, -{ source: [0xC2F1], NFC: [0xC2F1], NFD: [0x1109, 0x1175, 0x11BC], NFKC: [0xC2F1], NFKD: [0x1109, 0x1175, 0x11BC] }, -{ source: [0xC2F2], NFC: [0xC2F2], NFD: [0x1109, 0x1175, 0x11BD], NFKC: [0xC2F2], NFKD: [0x1109, 0x1175, 0x11BD] }, -{ source: [0xC2F3], NFC: [0xC2F3], NFD: [0x1109, 0x1175, 0x11BE], NFKC: [0xC2F3], NFKD: [0x1109, 0x1175, 0x11BE] }, -{ source: [0xC2F4], NFC: [0xC2F4], NFD: [0x1109, 0x1175, 0x11BF], NFKC: [0xC2F4], NFKD: [0x1109, 0x1175, 0x11BF] }, -{ source: [0xC2F5], NFC: [0xC2F5], NFD: [0x1109, 0x1175, 0x11C0], NFKC: [0xC2F5], NFKD: [0x1109, 0x1175, 0x11C0] }, -{ source: [0xC2F6], NFC: [0xC2F6], NFD: [0x1109, 0x1175, 0x11C1], NFKC: [0xC2F6], NFKD: [0x1109, 0x1175, 0x11C1] }, -{ source: [0xC2F7], NFC: [0xC2F7], NFD: [0x1109, 0x1175, 0x11C2], NFKC: [0xC2F7], NFKD: [0x1109, 0x1175, 0x11C2] }, -{ source: [0xC2F8], NFC: [0xC2F8], NFD: [0x110A, 0x1161], NFKC: [0xC2F8], NFKD: [0x110A, 0x1161] }, -{ source: [0xC2F9], NFC: [0xC2F9], NFD: [0x110A, 0x1161, 0x11A8], NFKC: [0xC2F9], NFKD: [0x110A, 0x1161, 0x11A8] }, -{ source: [0xC2FA], NFC: [0xC2FA], NFD: [0x110A, 0x1161, 0x11A9], NFKC: [0xC2FA], NFKD: [0x110A, 0x1161, 0x11A9] }, -{ source: [0xC2FB], NFC: [0xC2FB], NFD: [0x110A, 0x1161, 0x11AA], NFKC: [0xC2FB], NFKD: [0x110A, 0x1161, 0x11AA] }, -{ source: [0xC2FC], NFC: [0xC2FC], NFD: [0x110A, 0x1161, 0x11AB], NFKC: [0xC2FC], NFKD: [0x110A, 0x1161, 0x11AB] }, -{ source: [0xC2FD], NFC: [0xC2FD], NFD: [0x110A, 0x1161, 0x11AC], NFKC: [0xC2FD], NFKD: [0x110A, 0x1161, 0x11AC] }, -{ source: [0xC2FE], NFC: [0xC2FE], NFD: [0x110A, 0x1161, 0x11AD], NFKC: [0xC2FE], NFKD: [0x110A, 0x1161, 0x11AD] }, -{ source: [0xC2FF], NFC: [0xC2FF], NFD: [0x110A, 0x1161, 0x11AE], NFKC: [0xC2FF], NFKD: [0x110A, 0x1161, 0x11AE] }, -{ source: [0xC300], NFC: [0xC300], NFD: [0x110A, 0x1161, 0x11AF], NFKC: [0xC300], NFKD: [0x110A, 0x1161, 0x11AF] }, -{ source: [0xC301], NFC: [0xC301], NFD: [0x110A, 0x1161, 0x11B0], NFKC: [0xC301], NFKD: [0x110A, 0x1161, 0x11B0] }, -{ source: [0xC302], NFC: [0xC302], NFD: [0x110A, 0x1161, 0x11B1], NFKC: [0xC302], NFKD: [0x110A, 0x1161, 0x11B1] }, -{ source: [0xC303], NFC: [0xC303], NFD: [0x110A, 0x1161, 0x11B2], NFKC: [0xC303], NFKD: [0x110A, 0x1161, 0x11B2] }, -{ source: [0xC304], NFC: [0xC304], NFD: [0x110A, 0x1161, 0x11B3], NFKC: [0xC304], NFKD: [0x110A, 0x1161, 0x11B3] }, -{ source: [0xC305], NFC: [0xC305], NFD: [0x110A, 0x1161, 0x11B4], NFKC: [0xC305], NFKD: [0x110A, 0x1161, 0x11B4] }, -{ source: [0xC306], NFC: [0xC306], NFD: [0x110A, 0x1161, 0x11B5], NFKC: [0xC306], NFKD: [0x110A, 0x1161, 0x11B5] }, -{ source: [0xC307], NFC: [0xC307], NFD: [0x110A, 0x1161, 0x11B6], NFKC: [0xC307], NFKD: [0x110A, 0x1161, 0x11B6] }, -{ source: [0xC308], NFC: [0xC308], NFD: [0x110A, 0x1161, 0x11B7], NFKC: [0xC308], NFKD: [0x110A, 0x1161, 0x11B7] }, -{ source: [0xC309], NFC: [0xC309], NFD: [0x110A, 0x1161, 0x11B8], NFKC: [0xC309], NFKD: [0x110A, 0x1161, 0x11B8] }, -{ source: [0xC30A], NFC: [0xC30A], NFD: [0x110A, 0x1161, 0x11B9], NFKC: [0xC30A], NFKD: [0x110A, 0x1161, 0x11B9] }, -{ source: [0xC30B], NFC: [0xC30B], NFD: [0x110A, 0x1161, 0x11BA], NFKC: [0xC30B], NFKD: [0x110A, 0x1161, 0x11BA] }, -{ source: [0xC30C], NFC: [0xC30C], NFD: [0x110A, 0x1161, 0x11BB], NFKC: [0xC30C], NFKD: [0x110A, 0x1161, 0x11BB] }, -{ source: [0xC30D], NFC: [0xC30D], NFD: [0x110A, 0x1161, 0x11BC], NFKC: [0xC30D], NFKD: [0x110A, 0x1161, 0x11BC] }, -{ source: [0xC30E], NFC: [0xC30E], NFD: [0x110A, 0x1161, 0x11BD], NFKC: [0xC30E], NFKD: [0x110A, 0x1161, 0x11BD] }, -{ source: [0xC30F], NFC: [0xC30F], NFD: [0x110A, 0x1161, 0x11BE], NFKC: [0xC30F], NFKD: [0x110A, 0x1161, 0x11BE] }, -{ source: [0xC310], NFC: [0xC310], NFD: [0x110A, 0x1161, 0x11BF], NFKC: [0xC310], NFKD: [0x110A, 0x1161, 0x11BF] }, -{ source: [0xC311], NFC: [0xC311], NFD: [0x110A, 0x1161, 0x11C0], NFKC: [0xC311], NFKD: [0x110A, 0x1161, 0x11C0] }, -{ source: [0xC312], NFC: [0xC312], NFD: [0x110A, 0x1161, 0x11C1], NFKC: [0xC312], NFKD: [0x110A, 0x1161, 0x11C1] }, -{ source: [0xC313], NFC: [0xC313], NFD: [0x110A, 0x1161, 0x11C2], NFKC: [0xC313], NFKD: [0x110A, 0x1161, 0x11C2] }, -{ source: [0xC314], NFC: [0xC314], NFD: [0x110A, 0x1162], NFKC: [0xC314], NFKD: [0x110A, 0x1162] }, -{ source: [0xC315], NFC: [0xC315], NFD: [0x110A, 0x1162, 0x11A8], NFKC: [0xC315], NFKD: [0x110A, 0x1162, 0x11A8] }, -{ source: [0xC316], NFC: [0xC316], NFD: [0x110A, 0x1162, 0x11A9], NFKC: [0xC316], NFKD: [0x110A, 0x1162, 0x11A9] }, -{ source: [0xC317], NFC: [0xC317], NFD: [0x110A, 0x1162, 0x11AA], NFKC: [0xC317], NFKD: [0x110A, 0x1162, 0x11AA] }, -{ source: [0xC318], NFC: [0xC318], NFD: [0x110A, 0x1162, 0x11AB], NFKC: [0xC318], NFKD: [0x110A, 0x1162, 0x11AB] }, -{ source: [0xC319], NFC: [0xC319], NFD: [0x110A, 0x1162, 0x11AC], NFKC: [0xC319], NFKD: [0x110A, 0x1162, 0x11AC] }, -{ source: [0xC31A], NFC: [0xC31A], NFD: [0x110A, 0x1162, 0x11AD], NFKC: [0xC31A], NFKD: [0x110A, 0x1162, 0x11AD] }, -{ source: [0xC31B], NFC: [0xC31B], NFD: [0x110A, 0x1162, 0x11AE], NFKC: [0xC31B], NFKD: [0x110A, 0x1162, 0x11AE] }, -{ source: [0xC31C], NFC: [0xC31C], NFD: [0x110A, 0x1162, 0x11AF], NFKC: [0xC31C], NFKD: [0x110A, 0x1162, 0x11AF] }, -{ source: [0xC31D], NFC: [0xC31D], NFD: [0x110A, 0x1162, 0x11B0], NFKC: [0xC31D], NFKD: [0x110A, 0x1162, 0x11B0] }, -{ source: [0xC31E], NFC: [0xC31E], NFD: [0x110A, 0x1162, 0x11B1], NFKC: [0xC31E], NFKD: [0x110A, 0x1162, 0x11B1] }, -{ source: [0xC31F], NFC: [0xC31F], NFD: [0x110A, 0x1162, 0x11B2], NFKC: [0xC31F], NFKD: [0x110A, 0x1162, 0x11B2] }, -{ source: [0xC320], NFC: [0xC320], NFD: [0x110A, 0x1162, 0x11B3], NFKC: [0xC320], NFKD: [0x110A, 0x1162, 0x11B3] }, -{ source: [0xC321], NFC: [0xC321], NFD: [0x110A, 0x1162, 0x11B4], NFKC: [0xC321], NFKD: [0x110A, 0x1162, 0x11B4] }, -{ source: [0xC322], NFC: [0xC322], NFD: [0x110A, 0x1162, 0x11B5], NFKC: [0xC322], NFKD: [0x110A, 0x1162, 0x11B5] }, -{ source: [0xC323], NFC: [0xC323], NFD: [0x110A, 0x1162, 0x11B6], NFKC: [0xC323], NFKD: [0x110A, 0x1162, 0x11B6] }, -{ source: [0xC324], NFC: [0xC324], NFD: [0x110A, 0x1162, 0x11B7], NFKC: [0xC324], NFKD: [0x110A, 0x1162, 0x11B7] }, -{ source: [0xC325], NFC: [0xC325], NFD: [0x110A, 0x1162, 0x11B8], NFKC: [0xC325], NFKD: [0x110A, 0x1162, 0x11B8] }, -{ source: [0xC326], NFC: [0xC326], NFD: [0x110A, 0x1162, 0x11B9], NFKC: [0xC326], NFKD: [0x110A, 0x1162, 0x11B9] }, -{ source: [0xC327], NFC: [0xC327], NFD: [0x110A, 0x1162, 0x11BA], NFKC: [0xC327], NFKD: [0x110A, 0x1162, 0x11BA] }, -{ source: [0xC328], NFC: [0xC328], NFD: [0x110A, 0x1162, 0x11BB], NFKC: [0xC328], NFKD: [0x110A, 0x1162, 0x11BB] }, -{ source: [0xC329], NFC: [0xC329], NFD: [0x110A, 0x1162, 0x11BC], NFKC: [0xC329], NFKD: [0x110A, 0x1162, 0x11BC] }, -{ source: [0xC32A], NFC: [0xC32A], NFD: [0x110A, 0x1162, 0x11BD], NFKC: [0xC32A], NFKD: [0x110A, 0x1162, 0x11BD] }, -{ source: [0xC32B], NFC: [0xC32B], NFD: [0x110A, 0x1162, 0x11BE], NFKC: [0xC32B], NFKD: [0x110A, 0x1162, 0x11BE] }, -{ source: [0xC32C], NFC: [0xC32C], NFD: [0x110A, 0x1162, 0x11BF], NFKC: [0xC32C], NFKD: [0x110A, 0x1162, 0x11BF] }, -{ source: [0xC32D], NFC: [0xC32D], NFD: [0x110A, 0x1162, 0x11C0], NFKC: [0xC32D], NFKD: [0x110A, 0x1162, 0x11C0] }, -{ source: [0xC32E], NFC: [0xC32E], NFD: [0x110A, 0x1162, 0x11C1], NFKC: [0xC32E], NFKD: [0x110A, 0x1162, 0x11C1] }, -{ source: [0xC32F], NFC: [0xC32F], NFD: [0x110A, 0x1162, 0x11C2], NFKC: [0xC32F], NFKD: [0x110A, 0x1162, 0x11C2] }, -{ source: [0xC330], NFC: [0xC330], NFD: [0x110A, 0x1163], NFKC: [0xC330], NFKD: [0x110A, 0x1163] }, -{ source: [0xC331], NFC: [0xC331], NFD: [0x110A, 0x1163, 0x11A8], NFKC: [0xC331], NFKD: [0x110A, 0x1163, 0x11A8] }, -{ source: [0xC332], NFC: [0xC332], NFD: [0x110A, 0x1163, 0x11A9], NFKC: [0xC332], NFKD: [0x110A, 0x1163, 0x11A9] }, -{ source: [0xC333], NFC: [0xC333], NFD: [0x110A, 0x1163, 0x11AA], NFKC: [0xC333], NFKD: [0x110A, 0x1163, 0x11AA] }, -{ source: [0xC334], NFC: [0xC334], NFD: [0x110A, 0x1163, 0x11AB], NFKC: [0xC334], NFKD: [0x110A, 0x1163, 0x11AB] }, -{ source: [0xC335], NFC: [0xC335], NFD: [0x110A, 0x1163, 0x11AC], NFKC: [0xC335], NFKD: [0x110A, 0x1163, 0x11AC] }, -{ source: [0xC336], NFC: [0xC336], NFD: [0x110A, 0x1163, 0x11AD], NFKC: [0xC336], NFKD: [0x110A, 0x1163, 0x11AD] }, -{ source: [0xC337], NFC: [0xC337], NFD: [0x110A, 0x1163, 0x11AE], NFKC: [0xC337], NFKD: [0x110A, 0x1163, 0x11AE] }, -{ source: [0xC338], NFC: [0xC338], NFD: [0x110A, 0x1163, 0x11AF], NFKC: [0xC338], NFKD: [0x110A, 0x1163, 0x11AF] }, -{ source: [0xC339], NFC: [0xC339], NFD: [0x110A, 0x1163, 0x11B0], NFKC: [0xC339], NFKD: [0x110A, 0x1163, 0x11B0] }, -{ source: [0xC33A], NFC: [0xC33A], NFD: [0x110A, 0x1163, 0x11B1], NFKC: [0xC33A], NFKD: [0x110A, 0x1163, 0x11B1] }, -{ source: [0xC33B], NFC: [0xC33B], NFD: [0x110A, 0x1163, 0x11B2], NFKC: [0xC33B], NFKD: [0x110A, 0x1163, 0x11B2] }, -{ source: [0xC33C], NFC: [0xC33C], NFD: [0x110A, 0x1163, 0x11B3], NFKC: [0xC33C], NFKD: [0x110A, 0x1163, 0x11B3] }, -{ source: [0xC33D], NFC: [0xC33D], NFD: [0x110A, 0x1163, 0x11B4], NFKC: [0xC33D], NFKD: [0x110A, 0x1163, 0x11B4] }, -{ source: [0xC33E], NFC: [0xC33E], NFD: [0x110A, 0x1163, 0x11B5], NFKC: [0xC33E], NFKD: [0x110A, 0x1163, 0x11B5] }, -{ source: [0xC33F], NFC: [0xC33F], NFD: [0x110A, 0x1163, 0x11B6], NFKC: [0xC33F], NFKD: [0x110A, 0x1163, 0x11B6] }, -{ source: [0xC340], NFC: [0xC340], NFD: [0x110A, 0x1163, 0x11B7], NFKC: [0xC340], NFKD: [0x110A, 0x1163, 0x11B7] }, -{ source: [0xC341], NFC: [0xC341], NFD: [0x110A, 0x1163, 0x11B8], NFKC: [0xC341], NFKD: [0x110A, 0x1163, 0x11B8] }, -{ source: [0xC342], NFC: [0xC342], NFD: [0x110A, 0x1163, 0x11B9], NFKC: [0xC342], NFKD: [0x110A, 0x1163, 0x11B9] }, -{ source: [0xC343], NFC: [0xC343], NFD: [0x110A, 0x1163, 0x11BA], NFKC: [0xC343], NFKD: [0x110A, 0x1163, 0x11BA] }, -{ source: [0xC344], NFC: [0xC344], NFD: [0x110A, 0x1163, 0x11BB], NFKC: [0xC344], NFKD: [0x110A, 0x1163, 0x11BB] }, -{ source: [0xC345], NFC: [0xC345], NFD: [0x110A, 0x1163, 0x11BC], NFKC: [0xC345], NFKD: [0x110A, 0x1163, 0x11BC] }, -{ source: [0xC346], NFC: [0xC346], NFD: [0x110A, 0x1163, 0x11BD], NFKC: [0xC346], NFKD: [0x110A, 0x1163, 0x11BD] }, -{ source: [0xC347], NFC: [0xC347], NFD: [0x110A, 0x1163, 0x11BE], NFKC: [0xC347], NFKD: [0x110A, 0x1163, 0x11BE] }, -{ source: [0xC348], NFC: [0xC348], NFD: [0x110A, 0x1163, 0x11BF], NFKC: [0xC348], NFKD: [0x110A, 0x1163, 0x11BF] }, -{ source: [0xC349], NFC: [0xC349], NFD: [0x110A, 0x1163, 0x11C0], NFKC: [0xC349], NFKD: [0x110A, 0x1163, 0x11C0] }, -{ source: [0xC34A], NFC: [0xC34A], NFD: [0x110A, 0x1163, 0x11C1], NFKC: [0xC34A], NFKD: [0x110A, 0x1163, 0x11C1] }, -{ source: [0xC34B], NFC: [0xC34B], NFD: [0x110A, 0x1163, 0x11C2], NFKC: [0xC34B], NFKD: [0x110A, 0x1163, 0x11C2] }, -{ source: [0xC34C], NFC: [0xC34C], NFD: [0x110A, 0x1164], NFKC: [0xC34C], NFKD: [0x110A, 0x1164] }, -{ source: [0xC34D], NFC: [0xC34D], NFD: [0x110A, 0x1164, 0x11A8], NFKC: [0xC34D], NFKD: [0x110A, 0x1164, 0x11A8] }, -{ source: [0xC34E], NFC: [0xC34E], NFD: [0x110A, 0x1164, 0x11A9], NFKC: [0xC34E], NFKD: [0x110A, 0x1164, 0x11A9] }, -{ source: [0xC34F], NFC: [0xC34F], NFD: [0x110A, 0x1164, 0x11AA], NFKC: [0xC34F], NFKD: [0x110A, 0x1164, 0x11AA] }, -{ source: [0xC350], NFC: [0xC350], NFD: [0x110A, 0x1164, 0x11AB], NFKC: [0xC350], NFKD: [0x110A, 0x1164, 0x11AB] }, -{ source: [0xC351], NFC: [0xC351], NFD: [0x110A, 0x1164, 0x11AC], NFKC: [0xC351], NFKD: [0x110A, 0x1164, 0x11AC] }, -{ source: [0xC352], NFC: [0xC352], NFD: [0x110A, 0x1164, 0x11AD], NFKC: [0xC352], NFKD: [0x110A, 0x1164, 0x11AD] }, -{ source: [0xC353], NFC: [0xC353], NFD: [0x110A, 0x1164, 0x11AE], NFKC: [0xC353], NFKD: [0x110A, 0x1164, 0x11AE] }, -{ source: [0xC354], NFC: [0xC354], NFD: [0x110A, 0x1164, 0x11AF], NFKC: [0xC354], NFKD: [0x110A, 0x1164, 0x11AF] }, -{ source: [0xC355], NFC: [0xC355], NFD: [0x110A, 0x1164, 0x11B0], NFKC: [0xC355], NFKD: [0x110A, 0x1164, 0x11B0] }, -{ source: [0xC356], NFC: [0xC356], NFD: [0x110A, 0x1164, 0x11B1], NFKC: [0xC356], NFKD: [0x110A, 0x1164, 0x11B1] }, -{ source: [0xC357], NFC: [0xC357], NFD: [0x110A, 0x1164, 0x11B2], NFKC: [0xC357], NFKD: [0x110A, 0x1164, 0x11B2] }, -{ source: [0xC358], NFC: [0xC358], NFD: [0x110A, 0x1164, 0x11B3], NFKC: [0xC358], NFKD: [0x110A, 0x1164, 0x11B3] }, -{ source: [0xC359], NFC: [0xC359], NFD: [0x110A, 0x1164, 0x11B4], NFKC: [0xC359], NFKD: [0x110A, 0x1164, 0x11B4] }, -{ source: [0xC35A], NFC: [0xC35A], NFD: [0x110A, 0x1164, 0x11B5], NFKC: [0xC35A], NFKD: [0x110A, 0x1164, 0x11B5] }, -{ source: [0xC35B], NFC: [0xC35B], NFD: [0x110A, 0x1164, 0x11B6], NFKC: [0xC35B], NFKD: [0x110A, 0x1164, 0x11B6] }, -{ source: [0xC35C], NFC: [0xC35C], NFD: [0x110A, 0x1164, 0x11B7], NFKC: [0xC35C], NFKD: [0x110A, 0x1164, 0x11B7] }, -{ source: [0xC35D], NFC: [0xC35D], NFD: [0x110A, 0x1164, 0x11B8], NFKC: [0xC35D], NFKD: [0x110A, 0x1164, 0x11B8] }, -{ source: [0xC35E], NFC: [0xC35E], NFD: [0x110A, 0x1164, 0x11B9], NFKC: [0xC35E], NFKD: [0x110A, 0x1164, 0x11B9] }, -{ source: [0xC35F], NFC: [0xC35F], NFD: [0x110A, 0x1164, 0x11BA], NFKC: [0xC35F], NFKD: [0x110A, 0x1164, 0x11BA] }, -{ source: [0xC360], NFC: [0xC360], NFD: [0x110A, 0x1164, 0x11BB], NFKC: [0xC360], NFKD: [0x110A, 0x1164, 0x11BB] }, -{ source: [0xC361], NFC: [0xC361], NFD: [0x110A, 0x1164, 0x11BC], NFKC: [0xC361], NFKD: [0x110A, 0x1164, 0x11BC] }, -{ source: [0xC362], NFC: [0xC362], NFD: [0x110A, 0x1164, 0x11BD], NFKC: [0xC362], NFKD: [0x110A, 0x1164, 0x11BD] }, -{ source: [0xC363], NFC: [0xC363], NFD: [0x110A, 0x1164, 0x11BE], NFKC: [0xC363], NFKD: [0x110A, 0x1164, 0x11BE] }, -{ source: [0xC364], NFC: [0xC364], NFD: [0x110A, 0x1164, 0x11BF], NFKC: [0xC364], NFKD: [0x110A, 0x1164, 0x11BF] }, -{ source: [0xC365], NFC: [0xC365], NFD: [0x110A, 0x1164, 0x11C0], NFKC: [0xC365], NFKD: [0x110A, 0x1164, 0x11C0] }, -{ source: [0xC366], NFC: [0xC366], NFD: [0x110A, 0x1164, 0x11C1], NFKC: [0xC366], NFKD: [0x110A, 0x1164, 0x11C1] }, -{ source: [0xC367], NFC: [0xC367], NFD: [0x110A, 0x1164, 0x11C2], NFKC: [0xC367], NFKD: [0x110A, 0x1164, 0x11C2] }, -{ source: [0xC368], NFC: [0xC368], NFD: [0x110A, 0x1165], NFKC: [0xC368], NFKD: [0x110A, 0x1165] }, -{ source: [0xC369], NFC: [0xC369], NFD: [0x110A, 0x1165, 0x11A8], NFKC: [0xC369], NFKD: [0x110A, 0x1165, 0x11A8] }, -{ source: [0xC36A], NFC: [0xC36A], NFD: [0x110A, 0x1165, 0x11A9], NFKC: [0xC36A], NFKD: [0x110A, 0x1165, 0x11A9] }, -{ source: [0xC36B], NFC: [0xC36B], NFD: [0x110A, 0x1165, 0x11AA], NFKC: [0xC36B], NFKD: [0x110A, 0x1165, 0x11AA] }, -{ source: [0xC36C], NFC: [0xC36C], NFD: [0x110A, 0x1165, 0x11AB], NFKC: [0xC36C], NFKD: [0x110A, 0x1165, 0x11AB] }, -{ source: [0xC36D], NFC: [0xC36D], NFD: [0x110A, 0x1165, 0x11AC], NFKC: [0xC36D], NFKD: [0x110A, 0x1165, 0x11AC] }, -{ source: [0xC36E], NFC: [0xC36E], NFD: [0x110A, 0x1165, 0x11AD], NFKC: [0xC36E], NFKD: [0x110A, 0x1165, 0x11AD] }, -{ source: [0xC36F], NFC: [0xC36F], NFD: [0x110A, 0x1165, 0x11AE], NFKC: [0xC36F], NFKD: [0x110A, 0x1165, 0x11AE] }, -{ source: [0xC370], NFC: [0xC370], NFD: [0x110A, 0x1165, 0x11AF], NFKC: [0xC370], NFKD: [0x110A, 0x1165, 0x11AF] }, -{ source: [0xC371], NFC: [0xC371], NFD: [0x110A, 0x1165, 0x11B0], NFKC: [0xC371], NFKD: [0x110A, 0x1165, 0x11B0] }, -{ source: [0xC372], NFC: [0xC372], NFD: [0x110A, 0x1165, 0x11B1], NFKC: [0xC372], NFKD: [0x110A, 0x1165, 0x11B1] }, -{ source: [0xC373], NFC: [0xC373], NFD: [0x110A, 0x1165, 0x11B2], NFKC: [0xC373], NFKD: [0x110A, 0x1165, 0x11B2] }, -{ source: [0xC374], NFC: [0xC374], NFD: [0x110A, 0x1165, 0x11B3], NFKC: [0xC374], NFKD: [0x110A, 0x1165, 0x11B3] }, -{ source: [0xC375], NFC: [0xC375], NFD: [0x110A, 0x1165, 0x11B4], NFKC: [0xC375], NFKD: [0x110A, 0x1165, 0x11B4] }, -{ source: [0xC376], NFC: [0xC376], NFD: [0x110A, 0x1165, 0x11B5], NFKC: [0xC376], NFKD: [0x110A, 0x1165, 0x11B5] }, -{ source: [0xC377], NFC: [0xC377], NFD: [0x110A, 0x1165, 0x11B6], NFKC: [0xC377], NFKD: [0x110A, 0x1165, 0x11B6] }, -{ source: [0xC378], NFC: [0xC378], NFD: [0x110A, 0x1165, 0x11B7], NFKC: [0xC378], NFKD: [0x110A, 0x1165, 0x11B7] }, -{ source: [0xC379], NFC: [0xC379], NFD: [0x110A, 0x1165, 0x11B8], NFKC: [0xC379], NFKD: [0x110A, 0x1165, 0x11B8] }, -{ source: [0xC37A], NFC: [0xC37A], NFD: [0x110A, 0x1165, 0x11B9], NFKC: [0xC37A], NFKD: [0x110A, 0x1165, 0x11B9] }, -{ source: [0xC37B], NFC: [0xC37B], NFD: [0x110A, 0x1165, 0x11BA], NFKC: [0xC37B], NFKD: [0x110A, 0x1165, 0x11BA] }, -{ source: [0xC37C], NFC: [0xC37C], NFD: [0x110A, 0x1165, 0x11BB], NFKC: [0xC37C], NFKD: [0x110A, 0x1165, 0x11BB] }, -{ source: [0xC37D], NFC: [0xC37D], NFD: [0x110A, 0x1165, 0x11BC], NFKC: [0xC37D], NFKD: [0x110A, 0x1165, 0x11BC] }, -{ source: [0xC37E], NFC: [0xC37E], NFD: [0x110A, 0x1165, 0x11BD], NFKC: [0xC37E], NFKD: [0x110A, 0x1165, 0x11BD] }, -{ source: [0xC37F], NFC: [0xC37F], NFD: [0x110A, 0x1165, 0x11BE], NFKC: [0xC37F], NFKD: [0x110A, 0x1165, 0x11BE] }, -{ source: [0xC380], NFC: [0xC380], NFD: [0x110A, 0x1165, 0x11BF], NFKC: [0xC380], NFKD: [0x110A, 0x1165, 0x11BF] }, -{ source: [0xC381], NFC: [0xC381], NFD: [0x110A, 0x1165, 0x11C0], NFKC: [0xC381], NFKD: [0x110A, 0x1165, 0x11C0] }, -{ source: [0xC382], NFC: [0xC382], NFD: [0x110A, 0x1165, 0x11C1], NFKC: [0xC382], NFKD: [0x110A, 0x1165, 0x11C1] }, -{ source: [0xC383], NFC: [0xC383], NFD: [0x110A, 0x1165, 0x11C2], NFKC: [0xC383], NFKD: [0x110A, 0x1165, 0x11C2] }, -{ source: [0xC384], NFC: [0xC384], NFD: [0x110A, 0x1166], NFKC: [0xC384], NFKD: [0x110A, 0x1166] }, -{ source: [0xC385], NFC: [0xC385], NFD: [0x110A, 0x1166, 0x11A8], NFKC: [0xC385], NFKD: [0x110A, 0x1166, 0x11A8] }, -{ source: [0xC386], NFC: [0xC386], NFD: [0x110A, 0x1166, 0x11A9], NFKC: [0xC386], NFKD: [0x110A, 0x1166, 0x11A9] }, -{ source: [0xC387], NFC: [0xC387], NFD: [0x110A, 0x1166, 0x11AA], NFKC: [0xC387], NFKD: [0x110A, 0x1166, 0x11AA] }, -{ source: [0xC388], NFC: [0xC388], NFD: [0x110A, 0x1166, 0x11AB], NFKC: [0xC388], NFKD: [0x110A, 0x1166, 0x11AB] }, -{ source: [0xC389], NFC: [0xC389], NFD: [0x110A, 0x1166, 0x11AC], NFKC: [0xC389], NFKD: [0x110A, 0x1166, 0x11AC] }, -{ source: [0xC38A], NFC: [0xC38A], NFD: [0x110A, 0x1166, 0x11AD], NFKC: [0xC38A], NFKD: [0x110A, 0x1166, 0x11AD] }, -{ source: [0xC38B], NFC: [0xC38B], NFD: [0x110A, 0x1166, 0x11AE], NFKC: [0xC38B], NFKD: [0x110A, 0x1166, 0x11AE] }, -{ source: [0xC38C], NFC: [0xC38C], NFD: [0x110A, 0x1166, 0x11AF], NFKC: [0xC38C], NFKD: [0x110A, 0x1166, 0x11AF] }, -{ source: [0xC38D], NFC: [0xC38D], NFD: [0x110A, 0x1166, 0x11B0], NFKC: [0xC38D], NFKD: [0x110A, 0x1166, 0x11B0] }, -{ source: [0xC38E], NFC: [0xC38E], NFD: [0x110A, 0x1166, 0x11B1], NFKC: [0xC38E], NFKD: [0x110A, 0x1166, 0x11B1] }, -{ source: [0xC38F], NFC: [0xC38F], NFD: [0x110A, 0x1166, 0x11B2], NFKC: [0xC38F], NFKD: [0x110A, 0x1166, 0x11B2] }, -{ source: [0xC390], NFC: [0xC390], NFD: [0x110A, 0x1166, 0x11B3], NFKC: [0xC390], NFKD: [0x110A, 0x1166, 0x11B3] }, -{ source: [0xC391], NFC: [0xC391], NFD: [0x110A, 0x1166, 0x11B4], NFKC: [0xC391], NFKD: [0x110A, 0x1166, 0x11B4] }, -{ source: [0xC392], NFC: [0xC392], NFD: [0x110A, 0x1166, 0x11B5], NFKC: [0xC392], NFKD: [0x110A, 0x1166, 0x11B5] }, -{ source: [0xC393], NFC: [0xC393], NFD: [0x110A, 0x1166, 0x11B6], NFKC: [0xC393], NFKD: [0x110A, 0x1166, 0x11B6] }, -{ source: [0xC394], NFC: [0xC394], NFD: [0x110A, 0x1166, 0x11B7], NFKC: [0xC394], NFKD: [0x110A, 0x1166, 0x11B7] }, -{ source: [0xC395], NFC: [0xC395], NFD: [0x110A, 0x1166, 0x11B8], NFKC: [0xC395], NFKD: [0x110A, 0x1166, 0x11B8] }, -{ source: [0xC396], NFC: [0xC396], NFD: [0x110A, 0x1166, 0x11B9], NFKC: [0xC396], NFKD: [0x110A, 0x1166, 0x11B9] }, -{ source: [0xC397], NFC: [0xC397], NFD: [0x110A, 0x1166, 0x11BA], NFKC: [0xC397], NFKD: [0x110A, 0x1166, 0x11BA] }, -{ source: [0xC398], NFC: [0xC398], NFD: [0x110A, 0x1166, 0x11BB], NFKC: [0xC398], NFKD: [0x110A, 0x1166, 0x11BB] }, -{ source: [0xC399], NFC: [0xC399], NFD: [0x110A, 0x1166, 0x11BC], NFKC: [0xC399], NFKD: [0x110A, 0x1166, 0x11BC] }, -{ source: [0xC39A], NFC: [0xC39A], NFD: [0x110A, 0x1166, 0x11BD], NFKC: [0xC39A], NFKD: [0x110A, 0x1166, 0x11BD] }, -{ source: [0xC39B], NFC: [0xC39B], NFD: [0x110A, 0x1166, 0x11BE], NFKC: [0xC39B], NFKD: [0x110A, 0x1166, 0x11BE] }, -{ source: [0xC39C], NFC: [0xC39C], NFD: [0x110A, 0x1166, 0x11BF], NFKC: [0xC39C], NFKD: [0x110A, 0x1166, 0x11BF] }, -{ source: [0xC39D], NFC: [0xC39D], NFD: [0x110A, 0x1166, 0x11C0], NFKC: [0xC39D], NFKD: [0x110A, 0x1166, 0x11C0] }, -{ source: [0xC39E], NFC: [0xC39E], NFD: [0x110A, 0x1166, 0x11C1], NFKC: [0xC39E], NFKD: [0x110A, 0x1166, 0x11C1] }, -{ source: [0xC39F], NFC: [0xC39F], NFD: [0x110A, 0x1166, 0x11C2], NFKC: [0xC39F], NFKD: [0x110A, 0x1166, 0x11C2] }, -{ source: [0xC3A0], NFC: [0xC3A0], NFD: [0x110A, 0x1167], NFKC: [0xC3A0], NFKD: [0x110A, 0x1167] }, -{ source: [0xC3A1], NFC: [0xC3A1], NFD: [0x110A, 0x1167, 0x11A8], NFKC: [0xC3A1], NFKD: [0x110A, 0x1167, 0x11A8] }, -{ source: [0xC3A2], NFC: [0xC3A2], NFD: [0x110A, 0x1167, 0x11A9], NFKC: [0xC3A2], NFKD: [0x110A, 0x1167, 0x11A9] }, -{ source: [0xC3A3], NFC: [0xC3A3], NFD: [0x110A, 0x1167, 0x11AA], NFKC: [0xC3A3], NFKD: [0x110A, 0x1167, 0x11AA] }, -{ source: [0xC3A4], NFC: [0xC3A4], NFD: [0x110A, 0x1167, 0x11AB], NFKC: [0xC3A4], NFKD: [0x110A, 0x1167, 0x11AB] }, -{ source: [0xC3A5], NFC: [0xC3A5], NFD: [0x110A, 0x1167, 0x11AC], NFKC: [0xC3A5], NFKD: [0x110A, 0x1167, 0x11AC] }, -{ source: [0xC3A6], NFC: [0xC3A6], NFD: [0x110A, 0x1167, 0x11AD], NFKC: [0xC3A6], NFKD: [0x110A, 0x1167, 0x11AD] }, -{ source: [0xC3A7], NFC: [0xC3A7], NFD: [0x110A, 0x1167, 0x11AE], NFKC: [0xC3A7], NFKD: [0x110A, 0x1167, 0x11AE] }, -{ source: [0xC3A8], NFC: [0xC3A8], NFD: [0x110A, 0x1167, 0x11AF], NFKC: [0xC3A8], NFKD: [0x110A, 0x1167, 0x11AF] }, -{ source: [0xC3A9], NFC: [0xC3A9], NFD: [0x110A, 0x1167, 0x11B0], NFKC: [0xC3A9], NFKD: [0x110A, 0x1167, 0x11B0] }, -{ source: [0xC3AA], NFC: [0xC3AA], NFD: [0x110A, 0x1167, 0x11B1], NFKC: [0xC3AA], NFKD: [0x110A, 0x1167, 0x11B1] }, -{ source: [0xC3AB], NFC: [0xC3AB], NFD: [0x110A, 0x1167, 0x11B2], NFKC: [0xC3AB], NFKD: [0x110A, 0x1167, 0x11B2] }, -{ source: [0xC3AC], NFC: [0xC3AC], NFD: [0x110A, 0x1167, 0x11B3], NFKC: [0xC3AC], NFKD: [0x110A, 0x1167, 0x11B3] }, -{ source: [0xC3AD], NFC: [0xC3AD], NFD: [0x110A, 0x1167, 0x11B4], NFKC: [0xC3AD], NFKD: [0x110A, 0x1167, 0x11B4] }, -{ source: [0xC3AE], NFC: [0xC3AE], NFD: [0x110A, 0x1167, 0x11B5], NFKC: [0xC3AE], NFKD: [0x110A, 0x1167, 0x11B5] }, -{ source: [0xC3AF], NFC: [0xC3AF], NFD: [0x110A, 0x1167, 0x11B6], NFKC: [0xC3AF], NFKD: [0x110A, 0x1167, 0x11B6] }, -{ source: [0xC3B0], NFC: [0xC3B0], NFD: [0x110A, 0x1167, 0x11B7], NFKC: [0xC3B0], NFKD: [0x110A, 0x1167, 0x11B7] }, -{ source: [0xC3B1], NFC: [0xC3B1], NFD: [0x110A, 0x1167, 0x11B8], NFKC: [0xC3B1], NFKD: [0x110A, 0x1167, 0x11B8] }, -{ source: [0xC3B2], NFC: [0xC3B2], NFD: [0x110A, 0x1167, 0x11B9], NFKC: [0xC3B2], NFKD: [0x110A, 0x1167, 0x11B9] }, -{ source: [0xC3B3], NFC: [0xC3B3], NFD: [0x110A, 0x1167, 0x11BA], NFKC: [0xC3B3], NFKD: [0x110A, 0x1167, 0x11BA] }, -{ source: [0xC3B4], NFC: [0xC3B4], NFD: [0x110A, 0x1167, 0x11BB], NFKC: [0xC3B4], NFKD: [0x110A, 0x1167, 0x11BB] }, -{ source: [0xC3B5], NFC: [0xC3B5], NFD: [0x110A, 0x1167, 0x11BC], NFKC: [0xC3B5], NFKD: [0x110A, 0x1167, 0x11BC] }, -{ source: [0xC3B6], NFC: [0xC3B6], NFD: [0x110A, 0x1167, 0x11BD], NFKC: [0xC3B6], NFKD: [0x110A, 0x1167, 0x11BD] }, -{ source: [0xC3B7], NFC: [0xC3B7], NFD: [0x110A, 0x1167, 0x11BE], NFKC: [0xC3B7], NFKD: [0x110A, 0x1167, 0x11BE] }, -{ source: [0xC3B8], NFC: [0xC3B8], NFD: [0x110A, 0x1167, 0x11BF], NFKC: [0xC3B8], NFKD: [0x110A, 0x1167, 0x11BF] }, -{ source: [0xC3B9], NFC: [0xC3B9], NFD: [0x110A, 0x1167, 0x11C0], NFKC: [0xC3B9], NFKD: [0x110A, 0x1167, 0x11C0] }, -{ source: [0xC3BA], NFC: [0xC3BA], NFD: [0x110A, 0x1167, 0x11C1], NFKC: [0xC3BA], NFKD: [0x110A, 0x1167, 0x11C1] }, -{ source: [0xC3BB], NFC: [0xC3BB], NFD: [0x110A, 0x1167, 0x11C2], NFKC: [0xC3BB], NFKD: [0x110A, 0x1167, 0x11C2] }, -{ source: [0xC3BC], NFC: [0xC3BC], NFD: [0x110A, 0x1168], NFKC: [0xC3BC], NFKD: [0x110A, 0x1168] }, -{ source: [0xC3BD], NFC: [0xC3BD], NFD: [0x110A, 0x1168, 0x11A8], NFKC: [0xC3BD], NFKD: [0x110A, 0x1168, 0x11A8] }, -{ source: [0xC3BE], NFC: [0xC3BE], NFD: [0x110A, 0x1168, 0x11A9], NFKC: [0xC3BE], NFKD: [0x110A, 0x1168, 0x11A9] }, -{ source: [0xC3BF], NFC: [0xC3BF], NFD: [0x110A, 0x1168, 0x11AA], NFKC: [0xC3BF], NFKD: [0x110A, 0x1168, 0x11AA] }, -{ source: [0xC3C0], NFC: [0xC3C0], NFD: [0x110A, 0x1168, 0x11AB], NFKC: [0xC3C0], NFKD: [0x110A, 0x1168, 0x11AB] }, -{ source: [0xC3C1], NFC: [0xC3C1], NFD: [0x110A, 0x1168, 0x11AC], NFKC: [0xC3C1], NFKD: [0x110A, 0x1168, 0x11AC] }, -{ source: [0xC3C2], NFC: [0xC3C2], NFD: [0x110A, 0x1168, 0x11AD], NFKC: [0xC3C2], NFKD: [0x110A, 0x1168, 0x11AD] }, -{ source: [0xC3C3], NFC: [0xC3C3], NFD: [0x110A, 0x1168, 0x11AE], NFKC: [0xC3C3], NFKD: [0x110A, 0x1168, 0x11AE] }, -{ source: [0xC3C4], NFC: [0xC3C4], NFD: [0x110A, 0x1168, 0x11AF], NFKC: [0xC3C4], NFKD: [0x110A, 0x1168, 0x11AF] }, -{ source: [0xC3C5], NFC: [0xC3C5], NFD: [0x110A, 0x1168, 0x11B0], NFKC: [0xC3C5], NFKD: [0x110A, 0x1168, 0x11B0] }, -{ source: [0xC3C6], NFC: [0xC3C6], NFD: [0x110A, 0x1168, 0x11B1], NFKC: [0xC3C6], NFKD: [0x110A, 0x1168, 0x11B1] }, -{ source: [0xC3C7], NFC: [0xC3C7], NFD: [0x110A, 0x1168, 0x11B2], NFKC: [0xC3C7], NFKD: [0x110A, 0x1168, 0x11B2] }, -{ source: [0xC3C8], NFC: [0xC3C8], NFD: [0x110A, 0x1168, 0x11B3], NFKC: [0xC3C8], NFKD: [0x110A, 0x1168, 0x11B3] }, -{ source: [0xC3C9], NFC: [0xC3C9], NFD: [0x110A, 0x1168, 0x11B4], NFKC: [0xC3C9], NFKD: [0x110A, 0x1168, 0x11B4] }, -{ source: [0xC3CA], NFC: [0xC3CA], NFD: [0x110A, 0x1168, 0x11B5], NFKC: [0xC3CA], NFKD: [0x110A, 0x1168, 0x11B5] }, -{ source: [0xC3CB], NFC: [0xC3CB], NFD: [0x110A, 0x1168, 0x11B6], NFKC: [0xC3CB], NFKD: [0x110A, 0x1168, 0x11B6] }, -{ source: [0xC3CC], NFC: [0xC3CC], NFD: [0x110A, 0x1168, 0x11B7], NFKC: [0xC3CC], NFKD: [0x110A, 0x1168, 0x11B7] }, -{ source: [0xC3CD], NFC: [0xC3CD], NFD: [0x110A, 0x1168, 0x11B8], NFKC: [0xC3CD], NFKD: [0x110A, 0x1168, 0x11B8] }, -{ source: [0xC3CE], NFC: [0xC3CE], NFD: [0x110A, 0x1168, 0x11B9], NFKC: [0xC3CE], NFKD: [0x110A, 0x1168, 0x11B9] }, -{ source: [0xC3CF], NFC: [0xC3CF], NFD: [0x110A, 0x1168, 0x11BA], NFKC: [0xC3CF], NFKD: [0x110A, 0x1168, 0x11BA] }, -{ source: [0xC3D0], NFC: [0xC3D0], NFD: [0x110A, 0x1168, 0x11BB], NFKC: [0xC3D0], NFKD: [0x110A, 0x1168, 0x11BB] }, -{ source: [0xC3D1], NFC: [0xC3D1], NFD: [0x110A, 0x1168, 0x11BC], NFKC: [0xC3D1], NFKD: [0x110A, 0x1168, 0x11BC] }, -{ source: [0xC3D2], NFC: [0xC3D2], NFD: [0x110A, 0x1168, 0x11BD], NFKC: [0xC3D2], NFKD: [0x110A, 0x1168, 0x11BD] }, -{ source: [0xC3D3], NFC: [0xC3D3], NFD: [0x110A, 0x1168, 0x11BE], NFKC: [0xC3D3], NFKD: [0x110A, 0x1168, 0x11BE] }, -{ source: [0xC3D4], NFC: [0xC3D4], NFD: [0x110A, 0x1168, 0x11BF], NFKC: [0xC3D4], NFKD: [0x110A, 0x1168, 0x11BF] }, -{ source: [0xC3D5], NFC: [0xC3D5], NFD: [0x110A, 0x1168, 0x11C0], NFKC: [0xC3D5], NFKD: [0x110A, 0x1168, 0x11C0] }, -{ source: [0xC3D6], NFC: [0xC3D6], NFD: [0x110A, 0x1168, 0x11C1], NFKC: [0xC3D6], NFKD: [0x110A, 0x1168, 0x11C1] }, -{ source: [0xC3D7], NFC: [0xC3D7], NFD: [0x110A, 0x1168, 0x11C2], NFKC: [0xC3D7], NFKD: [0x110A, 0x1168, 0x11C2] }, -{ source: [0xC3D8], NFC: [0xC3D8], NFD: [0x110A, 0x1169], NFKC: [0xC3D8], NFKD: [0x110A, 0x1169] }, -{ source: [0xC3D9], NFC: [0xC3D9], NFD: [0x110A, 0x1169, 0x11A8], NFKC: [0xC3D9], NFKD: [0x110A, 0x1169, 0x11A8] }, -{ source: [0xC3DA], NFC: [0xC3DA], NFD: [0x110A, 0x1169, 0x11A9], NFKC: [0xC3DA], NFKD: [0x110A, 0x1169, 0x11A9] }, -{ source: [0xC3DB], NFC: [0xC3DB], NFD: [0x110A, 0x1169, 0x11AA], NFKC: [0xC3DB], NFKD: [0x110A, 0x1169, 0x11AA] }, -{ source: [0xC3DC], NFC: [0xC3DC], NFD: [0x110A, 0x1169, 0x11AB], NFKC: [0xC3DC], NFKD: [0x110A, 0x1169, 0x11AB] }, -{ source: [0xC3DD], NFC: [0xC3DD], NFD: [0x110A, 0x1169, 0x11AC], NFKC: [0xC3DD], NFKD: [0x110A, 0x1169, 0x11AC] }, -{ source: [0xC3DE], NFC: [0xC3DE], NFD: [0x110A, 0x1169, 0x11AD], NFKC: [0xC3DE], NFKD: [0x110A, 0x1169, 0x11AD] }, -{ source: [0xC3DF], NFC: [0xC3DF], NFD: [0x110A, 0x1169, 0x11AE], NFKC: [0xC3DF], NFKD: [0x110A, 0x1169, 0x11AE] }, -{ source: [0xC3E0], NFC: [0xC3E0], NFD: [0x110A, 0x1169, 0x11AF], NFKC: [0xC3E0], NFKD: [0x110A, 0x1169, 0x11AF] }, -{ source: [0xC3E1], NFC: [0xC3E1], NFD: [0x110A, 0x1169, 0x11B0], NFKC: [0xC3E1], NFKD: [0x110A, 0x1169, 0x11B0] }, -{ source: [0xC3E2], NFC: [0xC3E2], NFD: [0x110A, 0x1169, 0x11B1], NFKC: [0xC3E2], NFKD: [0x110A, 0x1169, 0x11B1] }, -{ source: [0xC3E3], NFC: [0xC3E3], NFD: [0x110A, 0x1169, 0x11B2], NFKC: [0xC3E3], NFKD: [0x110A, 0x1169, 0x11B2] }, -{ source: [0xC3E4], NFC: [0xC3E4], NFD: [0x110A, 0x1169, 0x11B3], NFKC: [0xC3E4], NFKD: [0x110A, 0x1169, 0x11B3] }, -{ source: [0xC3E5], NFC: [0xC3E5], NFD: [0x110A, 0x1169, 0x11B4], NFKC: [0xC3E5], NFKD: [0x110A, 0x1169, 0x11B4] }, -{ source: [0xC3E6], NFC: [0xC3E6], NFD: [0x110A, 0x1169, 0x11B5], NFKC: [0xC3E6], NFKD: [0x110A, 0x1169, 0x11B5] }, -{ source: [0xC3E7], NFC: [0xC3E7], NFD: [0x110A, 0x1169, 0x11B6], NFKC: [0xC3E7], NFKD: [0x110A, 0x1169, 0x11B6] }, -{ source: [0xC3E8], NFC: [0xC3E8], NFD: [0x110A, 0x1169, 0x11B7], NFKC: [0xC3E8], NFKD: [0x110A, 0x1169, 0x11B7] }, -{ source: [0xC3E9], NFC: [0xC3E9], NFD: [0x110A, 0x1169, 0x11B8], NFKC: [0xC3E9], NFKD: [0x110A, 0x1169, 0x11B8] }, -{ source: [0xC3EA], NFC: [0xC3EA], NFD: [0x110A, 0x1169, 0x11B9], NFKC: [0xC3EA], NFKD: [0x110A, 0x1169, 0x11B9] }, -{ source: [0xC3EB], NFC: [0xC3EB], NFD: [0x110A, 0x1169, 0x11BA], NFKC: [0xC3EB], NFKD: [0x110A, 0x1169, 0x11BA] }, -{ source: [0xC3EC], NFC: [0xC3EC], NFD: [0x110A, 0x1169, 0x11BB], NFKC: [0xC3EC], NFKD: [0x110A, 0x1169, 0x11BB] }, -{ source: [0xC3ED], NFC: [0xC3ED], NFD: [0x110A, 0x1169, 0x11BC], NFKC: [0xC3ED], NFKD: [0x110A, 0x1169, 0x11BC] }, -{ source: [0xC3EE], NFC: [0xC3EE], NFD: [0x110A, 0x1169, 0x11BD], NFKC: [0xC3EE], NFKD: [0x110A, 0x1169, 0x11BD] }, -{ source: [0xC3EF], NFC: [0xC3EF], NFD: [0x110A, 0x1169, 0x11BE], NFKC: [0xC3EF], NFKD: [0x110A, 0x1169, 0x11BE] }, -{ source: [0xC3F0], NFC: [0xC3F0], NFD: [0x110A, 0x1169, 0x11BF], NFKC: [0xC3F0], NFKD: [0x110A, 0x1169, 0x11BF] }, -{ source: [0xC3F1], NFC: [0xC3F1], NFD: [0x110A, 0x1169, 0x11C0], NFKC: [0xC3F1], NFKD: [0x110A, 0x1169, 0x11C0] }, -{ source: [0xC3F2], NFC: [0xC3F2], NFD: [0x110A, 0x1169, 0x11C1], NFKC: [0xC3F2], NFKD: [0x110A, 0x1169, 0x11C1] }, -{ source: [0xC3F3], NFC: [0xC3F3], NFD: [0x110A, 0x1169, 0x11C2], NFKC: [0xC3F3], NFKD: [0x110A, 0x1169, 0x11C2] }, -{ source: [0xC3F4], NFC: [0xC3F4], NFD: [0x110A, 0x116A], NFKC: [0xC3F4], NFKD: [0x110A, 0x116A] }, -{ source: [0xC3F5], NFC: [0xC3F5], NFD: [0x110A, 0x116A, 0x11A8], NFKC: [0xC3F5], NFKD: [0x110A, 0x116A, 0x11A8] }, -{ source: [0xC3F6], NFC: [0xC3F6], NFD: [0x110A, 0x116A, 0x11A9], NFKC: [0xC3F6], NFKD: [0x110A, 0x116A, 0x11A9] }, -{ source: [0xC3F7], NFC: [0xC3F7], NFD: [0x110A, 0x116A, 0x11AA], NFKC: [0xC3F7], NFKD: [0x110A, 0x116A, 0x11AA] }, -{ source: [0xC3F8], NFC: [0xC3F8], NFD: [0x110A, 0x116A, 0x11AB], NFKC: [0xC3F8], NFKD: [0x110A, 0x116A, 0x11AB] }, -{ source: [0xC3F9], NFC: [0xC3F9], NFD: [0x110A, 0x116A, 0x11AC], NFKC: [0xC3F9], NFKD: [0x110A, 0x116A, 0x11AC] }, -{ source: [0xC3FA], NFC: [0xC3FA], NFD: [0x110A, 0x116A, 0x11AD], NFKC: [0xC3FA], NFKD: [0x110A, 0x116A, 0x11AD] }, -{ source: [0xC3FB], NFC: [0xC3FB], NFD: [0x110A, 0x116A, 0x11AE], NFKC: [0xC3FB], NFKD: [0x110A, 0x116A, 0x11AE] }, -{ source: [0xC3FC], NFC: [0xC3FC], NFD: [0x110A, 0x116A, 0x11AF], NFKC: [0xC3FC], NFKD: [0x110A, 0x116A, 0x11AF] }, -{ source: [0xC3FD], NFC: [0xC3FD], NFD: [0x110A, 0x116A, 0x11B0], NFKC: [0xC3FD], NFKD: [0x110A, 0x116A, 0x11B0] }, -{ source: [0xC3FE], NFC: [0xC3FE], NFD: [0x110A, 0x116A, 0x11B1], NFKC: [0xC3FE], NFKD: [0x110A, 0x116A, 0x11B1] }, -{ source: [0xC3FF], NFC: [0xC3FF], NFD: [0x110A, 0x116A, 0x11B2], NFKC: [0xC3FF], NFKD: [0x110A, 0x116A, 0x11B2] }, -{ source: [0xC400], NFC: [0xC400], NFD: [0x110A, 0x116A, 0x11B3], NFKC: [0xC400], NFKD: [0x110A, 0x116A, 0x11B3] }, -{ source: [0xC401], NFC: [0xC401], NFD: [0x110A, 0x116A, 0x11B4], NFKC: [0xC401], NFKD: [0x110A, 0x116A, 0x11B4] }, -{ source: [0xC402], NFC: [0xC402], NFD: [0x110A, 0x116A, 0x11B5], NFKC: [0xC402], NFKD: [0x110A, 0x116A, 0x11B5] }, -{ source: [0xC403], NFC: [0xC403], NFD: [0x110A, 0x116A, 0x11B6], NFKC: [0xC403], NFKD: [0x110A, 0x116A, 0x11B6] }, -{ source: [0xC404], NFC: [0xC404], NFD: [0x110A, 0x116A, 0x11B7], NFKC: [0xC404], NFKD: [0x110A, 0x116A, 0x11B7] }, -{ source: [0xC405], NFC: [0xC405], NFD: [0x110A, 0x116A, 0x11B8], NFKC: [0xC405], NFKD: [0x110A, 0x116A, 0x11B8] }, -{ source: [0xC406], NFC: [0xC406], NFD: [0x110A, 0x116A, 0x11B9], NFKC: [0xC406], NFKD: [0x110A, 0x116A, 0x11B9] }, -{ source: [0xC407], NFC: [0xC407], NFD: [0x110A, 0x116A, 0x11BA], NFKC: [0xC407], NFKD: [0x110A, 0x116A, 0x11BA] }, -{ source: [0xC408], NFC: [0xC408], NFD: [0x110A, 0x116A, 0x11BB], NFKC: [0xC408], NFKD: [0x110A, 0x116A, 0x11BB] }, -{ source: [0xC409], NFC: [0xC409], NFD: [0x110A, 0x116A, 0x11BC], NFKC: [0xC409], NFKD: [0x110A, 0x116A, 0x11BC] }, -{ source: [0xC40A], NFC: [0xC40A], NFD: [0x110A, 0x116A, 0x11BD], NFKC: [0xC40A], NFKD: [0x110A, 0x116A, 0x11BD] }, -{ source: [0xC40B], NFC: [0xC40B], NFD: [0x110A, 0x116A, 0x11BE], NFKC: [0xC40B], NFKD: [0x110A, 0x116A, 0x11BE] }, -{ source: [0xC40C], NFC: [0xC40C], NFD: [0x110A, 0x116A, 0x11BF], NFKC: [0xC40C], NFKD: [0x110A, 0x116A, 0x11BF] }, -{ source: [0xC40D], NFC: [0xC40D], NFD: [0x110A, 0x116A, 0x11C0], NFKC: [0xC40D], NFKD: [0x110A, 0x116A, 0x11C0] }, -{ source: [0xC40E], NFC: [0xC40E], NFD: [0x110A, 0x116A, 0x11C1], NFKC: [0xC40E], NFKD: [0x110A, 0x116A, 0x11C1] }, -{ source: [0xC40F], NFC: [0xC40F], NFD: [0x110A, 0x116A, 0x11C2], NFKC: [0xC40F], NFKD: [0x110A, 0x116A, 0x11C2] }, -{ source: [0xC410], NFC: [0xC410], NFD: [0x110A, 0x116B], NFKC: [0xC410], NFKD: [0x110A, 0x116B] }, -{ source: [0xC411], NFC: [0xC411], NFD: [0x110A, 0x116B, 0x11A8], NFKC: [0xC411], NFKD: [0x110A, 0x116B, 0x11A8] }, -{ source: [0xC412], NFC: [0xC412], NFD: [0x110A, 0x116B, 0x11A9], NFKC: [0xC412], NFKD: [0x110A, 0x116B, 0x11A9] }, -{ source: [0xC413], NFC: [0xC413], NFD: [0x110A, 0x116B, 0x11AA], NFKC: [0xC413], NFKD: [0x110A, 0x116B, 0x11AA] }, -{ source: [0xC414], NFC: [0xC414], NFD: [0x110A, 0x116B, 0x11AB], NFKC: [0xC414], NFKD: [0x110A, 0x116B, 0x11AB] }, -{ source: [0xC415], NFC: [0xC415], NFD: [0x110A, 0x116B, 0x11AC], NFKC: [0xC415], NFKD: [0x110A, 0x116B, 0x11AC] }, -{ source: [0xC416], NFC: [0xC416], NFD: [0x110A, 0x116B, 0x11AD], NFKC: [0xC416], NFKD: [0x110A, 0x116B, 0x11AD] }, -{ source: [0xC417], NFC: [0xC417], NFD: [0x110A, 0x116B, 0x11AE], NFKC: [0xC417], NFKD: [0x110A, 0x116B, 0x11AE] }, -{ source: [0xC418], NFC: [0xC418], NFD: [0x110A, 0x116B, 0x11AF], NFKC: [0xC418], NFKD: [0x110A, 0x116B, 0x11AF] }, -{ source: [0xC419], NFC: [0xC419], NFD: [0x110A, 0x116B, 0x11B0], NFKC: [0xC419], NFKD: [0x110A, 0x116B, 0x11B0] }, -{ source: [0xC41A], NFC: [0xC41A], NFD: [0x110A, 0x116B, 0x11B1], NFKC: [0xC41A], NFKD: [0x110A, 0x116B, 0x11B1] }, -{ source: [0xC41B], NFC: [0xC41B], NFD: [0x110A, 0x116B, 0x11B2], NFKC: [0xC41B], NFKD: [0x110A, 0x116B, 0x11B2] }, -{ source: [0xC41C], NFC: [0xC41C], NFD: [0x110A, 0x116B, 0x11B3], NFKC: [0xC41C], NFKD: [0x110A, 0x116B, 0x11B3] }, -{ source: [0xC41D], NFC: [0xC41D], NFD: [0x110A, 0x116B, 0x11B4], NFKC: [0xC41D], NFKD: [0x110A, 0x116B, 0x11B4] }, -{ source: [0xC41E], NFC: [0xC41E], NFD: [0x110A, 0x116B, 0x11B5], NFKC: [0xC41E], NFKD: [0x110A, 0x116B, 0x11B5] }, -{ source: [0xC41F], NFC: [0xC41F], NFD: [0x110A, 0x116B, 0x11B6], NFKC: [0xC41F], NFKD: [0x110A, 0x116B, 0x11B6] }, -{ source: [0xC420], NFC: [0xC420], NFD: [0x110A, 0x116B, 0x11B7], NFKC: [0xC420], NFKD: [0x110A, 0x116B, 0x11B7] }, -{ source: [0xC421], NFC: [0xC421], NFD: [0x110A, 0x116B, 0x11B8], NFKC: [0xC421], NFKD: [0x110A, 0x116B, 0x11B8] }, -{ source: [0xC422], NFC: [0xC422], NFD: [0x110A, 0x116B, 0x11B9], NFKC: [0xC422], NFKD: [0x110A, 0x116B, 0x11B9] }, -{ source: [0xC423], NFC: [0xC423], NFD: [0x110A, 0x116B, 0x11BA], NFKC: [0xC423], NFKD: [0x110A, 0x116B, 0x11BA] }, -{ source: [0xC424], NFC: [0xC424], NFD: [0x110A, 0x116B, 0x11BB], NFKC: [0xC424], NFKD: [0x110A, 0x116B, 0x11BB] }, -{ source: [0xC425], NFC: [0xC425], NFD: [0x110A, 0x116B, 0x11BC], NFKC: [0xC425], NFKD: [0x110A, 0x116B, 0x11BC] }, -{ source: [0xC426], NFC: [0xC426], NFD: [0x110A, 0x116B, 0x11BD], NFKC: [0xC426], NFKD: [0x110A, 0x116B, 0x11BD] }, -{ source: [0xC427], NFC: [0xC427], NFD: [0x110A, 0x116B, 0x11BE], NFKC: [0xC427], NFKD: [0x110A, 0x116B, 0x11BE] }, -{ source: [0xC428], NFC: [0xC428], NFD: [0x110A, 0x116B, 0x11BF], NFKC: [0xC428], NFKD: [0x110A, 0x116B, 0x11BF] }, -{ source: [0xC429], NFC: [0xC429], NFD: [0x110A, 0x116B, 0x11C0], NFKC: [0xC429], NFKD: [0x110A, 0x116B, 0x11C0] }, -{ source: [0xC42A], NFC: [0xC42A], NFD: [0x110A, 0x116B, 0x11C1], NFKC: [0xC42A], NFKD: [0x110A, 0x116B, 0x11C1] }, -{ source: [0xC42B], NFC: [0xC42B], NFD: [0x110A, 0x116B, 0x11C2], NFKC: [0xC42B], NFKD: [0x110A, 0x116B, 0x11C2] }, -{ source: [0xC42C], NFC: [0xC42C], NFD: [0x110A, 0x116C], NFKC: [0xC42C], NFKD: [0x110A, 0x116C] }, -{ source: [0xC42D], NFC: [0xC42D], NFD: [0x110A, 0x116C, 0x11A8], NFKC: [0xC42D], NFKD: [0x110A, 0x116C, 0x11A8] }, -{ source: [0xC42E], NFC: [0xC42E], NFD: [0x110A, 0x116C, 0x11A9], NFKC: [0xC42E], NFKD: [0x110A, 0x116C, 0x11A9] }, -{ source: [0xC42F], NFC: [0xC42F], NFD: [0x110A, 0x116C, 0x11AA], NFKC: [0xC42F], NFKD: [0x110A, 0x116C, 0x11AA] }, -{ source: [0xC430], NFC: [0xC430], NFD: [0x110A, 0x116C, 0x11AB], NFKC: [0xC430], NFKD: [0x110A, 0x116C, 0x11AB] }, -{ source: [0xC431], NFC: [0xC431], NFD: [0x110A, 0x116C, 0x11AC], NFKC: [0xC431], NFKD: [0x110A, 0x116C, 0x11AC] }, -{ source: [0xC432], NFC: [0xC432], NFD: [0x110A, 0x116C, 0x11AD], NFKC: [0xC432], NFKD: [0x110A, 0x116C, 0x11AD] }, -{ source: [0xC433], NFC: [0xC433], NFD: [0x110A, 0x116C, 0x11AE], NFKC: [0xC433], NFKD: [0x110A, 0x116C, 0x11AE] }, -{ source: [0xC434], NFC: [0xC434], NFD: [0x110A, 0x116C, 0x11AF], NFKC: [0xC434], NFKD: [0x110A, 0x116C, 0x11AF] }, -{ source: [0xC435], NFC: [0xC435], NFD: [0x110A, 0x116C, 0x11B0], NFKC: [0xC435], NFKD: [0x110A, 0x116C, 0x11B0] }, -{ source: [0xC436], NFC: [0xC436], NFD: [0x110A, 0x116C, 0x11B1], NFKC: [0xC436], NFKD: [0x110A, 0x116C, 0x11B1] }, -{ source: [0xC437], NFC: [0xC437], NFD: [0x110A, 0x116C, 0x11B2], NFKC: [0xC437], NFKD: [0x110A, 0x116C, 0x11B2] }, -{ source: [0xC438], NFC: [0xC438], NFD: [0x110A, 0x116C, 0x11B3], NFKC: [0xC438], NFKD: [0x110A, 0x116C, 0x11B3] }, -{ source: [0xC439], NFC: [0xC439], NFD: [0x110A, 0x116C, 0x11B4], NFKC: [0xC439], NFKD: [0x110A, 0x116C, 0x11B4] }, -{ source: [0xC43A], NFC: [0xC43A], NFD: [0x110A, 0x116C, 0x11B5], NFKC: [0xC43A], NFKD: [0x110A, 0x116C, 0x11B5] }, -{ source: [0xC43B], NFC: [0xC43B], NFD: [0x110A, 0x116C, 0x11B6], NFKC: [0xC43B], NFKD: [0x110A, 0x116C, 0x11B6] }, -{ source: [0xC43C], NFC: [0xC43C], NFD: [0x110A, 0x116C, 0x11B7], NFKC: [0xC43C], NFKD: [0x110A, 0x116C, 0x11B7] }, -{ source: [0xC43D], NFC: [0xC43D], NFD: [0x110A, 0x116C, 0x11B8], NFKC: [0xC43D], NFKD: [0x110A, 0x116C, 0x11B8] }, -{ source: [0xC43E], NFC: [0xC43E], NFD: [0x110A, 0x116C, 0x11B9], NFKC: [0xC43E], NFKD: [0x110A, 0x116C, 0x11B9] }, -{ source: [0xC43F], NFC: [0xC43F], NFD: [0x110A, 0x116C, 0x11BA], NFKC: [0xC43F], NFKD: [0x110A, 0x116C, 0x11BA] }, -{ source: [0xC440], NFC: [0xC440], NFD: [0x110A, 0x116C, 0x11BB], NFKC: [0xC440], NFKD: [0x110A, 0x116C, 0x11BB] }, -{ source: [0xC441], NFC: [0xC441], NFD: [0x110A, 0x116C, 0x11BC], NFKC: [0xC441], NFKD: [0x110A, 0x116C, 0x11BC] }, -{ source: [0xC442], NFC: [0xC442], NFD: [0x110A, 0x116C, 0x11BD], NFKC: [0xC442], NFKD: [0x110A, 0x116C, 0x11BD] }, -{ source: [0xC443], NFC: [0xC443], NFD: [0x110A, 0x116C, 0x11BE], NFKC: [0xC443], NFKD: [0x110A, 0x116C, 0x11BE] }, -{ source: [0xC444], NFC: [0xC444], NFD: [0x110A, 0x116C, 0x11BF], NFKC: [0xC444], NFKD: [0x110A, 0x116C, 0x11BF] }, -{ source: [0xC445], NFC: [0xC445], NFD: [0x110A, 0x116C, 0x11C0], NFKC: [0xC445], NFKD: [0x110A, 0x116C, 0x11C0] }, -{ source: [0xC446], NFC: [0xC446], NFD: [0x110A, 0x116C, 0x11C1], NFKC: [0xC446], NFKD: [0x110A, 0x116C, 0x11C1] }, -{ source: [0xC447], NFC: [0xC447], NFD: [0x110A, 0x116C, 0x11C2], NFKC: [0xC447], NFKD: [0x110A, 0x116C, 0x11C2] }, -{ source: [0xC448], NFC: [0xC448], NFD: [0x110A, 0x116D], NFKC: [0xC448], NFKD: [0x110A, 0x116D] }, -{ source: [0xC449], NFC: [0xC449], NFD: [0x110A, 0x116D, 0x11A8], NFKC: [0xC449], NFKD: [0x110A, 0x116D, 0x11A8] }, -{ source: [0xC44A], NFC: [0xC44A], NFD: [0x110A, 0x116D, 0x11A9], NFKC: [0xC44A], NFKD: [0x110A, 0x116D, 0x11A9] }, -{ source: [0xC44B], NFC: [0xC44B], NFD: [0x110A, 0x116D, 0x11AA], NFKC: [0xC44B], NFKD: [0x110A, 0x116D, 0x11AA] }, -{ source: [0xC44C], NFC: [0xC44C], NFD: [0x110A, 0x116D, 0x11AB], NFKC: [0xC44C], NFKD: [0x110A, 0x116D, 0x11AB] }, -{ source: [0xC44D], NFC: [0xC44D], NFD: [0x110A, 0x116D, 0x11AC], NFKC: [0xC44D], NFKD: [0x110A, 0x116D, 0x11AC] }, -{ source: [0xC44E], NFC: [0xC44E], NFD: [0x110A, 0x116D, 0x11AD], NFKC: [0xC44E], NFKD: [0x110A, 0x116D, 0x11AD] }, -{ source: [0xC44F], NFC: [0xC44F], NFD: [0x110A, 0x116D, 0x11AE], NFKC: [0xC44F], NFKD: [0x110A, 0x116D, 0x11AE] }, -{ source: [0xC450], NFC: [0xC450], NFD: [0x110A, 0x116D, 0x11AF], NFKC: [0xC450], NFKD: [0x110A, 0x116D, 0x11AF] }, -{ source: [0xC451], NFC: [0xC451], NFD: [0x110A, 0x116D, 0x11B0], NFKC: [0xC451], NFKD: [0x110A, 0x116D, 0x11B0] }, -{ source: [0xC452], NFC: [0xC452], NFD: [0x110A, 0x116D, 0x11B1], NFKC: [0xC452], NFKD: [0x110A, 0x116D, 0x11B1] }, -{ source: [0xC453], NFC: [0xC453], NFD: [0x110A, 0x116D, 0x11B2], NFKC: [0xC453], NFKD: [0x110A, 0x116D, 0x11B2] }, -{ source: [0xC454], NFC: [0xC454], NFD: [0x110A, 0x116D, 0x11B3], NFKC: [0xC454], NFKD: [0x110A, 0x116D, 0x11B3] }, -{ source: [0xC455], NFC: [0xC455], NFD: [0x110A, 0x116D, 0x11B4], NFKC: [0xC455], NFKD: [0x110A, 0x116D, 0x11B4] }, -{ source: [0xC456], NFC: [0xC456], NFD: [0x110A, 0x116D, 0x11B5], NFKC: [0xC456], NFKD: [0x110A, 0x116D, 0x11B5] }, -{ source: [0xC457], NFC: [0xC457], NFD: [0x110A, 0x116D, 0x11B6], NFKC: [0xC457], NFKD: [0x110A, 0x116D, 0x11B6] }, -{ source: [0xC458], NFC: [0xC458], NFD: [0x110A, 0x116D, 0x11B7], NFKC: [0xC458], NFKD: [0x110A, 0x116D, 0x11B7] }, -{ source: [0xC459], NFC: [0xC459], NFD: [0x110A, 0x116D, 0x11B8], NFKC: [0xC459], NFKD: [0x110A, 0x116D, 0x11B8] }, -{ source: [0xC45A], NFC: [0xC45A], NFD: [0x110A, 0x116D, 0x11B9], NFKC: [0xC45A], NFKD: [0x110A, 0x116D, 0x11B9] }, -{ source: [0xC45B], NFC: [0xC45B], NFD: [0x110A, 0x116D, 0x11BA], NFKC: [0xC45B], NFKD: [0x110A, 0x116D, 0x11BA] }, -{ source: [0xC45C], NFC: [0xC45C], NFD: [0x110A, 0x116D, 0x11BB], NFKC: [0xC45C], NFKD: [0x110A, 0x116D, 0x11BB] }, -{ source: [0xC45D], NFC: [0xC45D], NFD: [0x110A, 0x116D, 0x11BC], NFKC: [0xC45D], NFKD: [0x110A, 0x116D, 0x11BC] }, -{ source: [0xC45E], NFC: [0xC45E], NFD: [0x110A, 0x116D, 0x11BD], NFKC: [0xC45E], NFKD: [0x110A, 0x116D, 0x11BD] }, -{ source: [0xC45F], NFC: [0xC45F], NFD: [0x110A, 0x116D, 0x11BE], NFKC: [0xC45F], NFKD: [0x110A, 0x116D, 0x11BE] }, -{ source: [0xC460], NFC: [0xC460], NFD: [0x110A, 0x116D, 0x11BF], NFKC: [0xC460], NFKD: [0x110A, 0x116D, 0x11BF] }, -{ source: [0xC461], NFC: [0xC461], NFD: [0x110A, 0x116D, 0x11C0], NFKC: [0xC461], NFKD: [0x110A, 0x116D, 0x11C0] }, -{ source: [0xC462], NFC: [0xC462], NFD: [0x110A, 0x116D, 0x11C1], NFKC: [0xC462], NFKD: [0x110A, 0x116D, 0x11C1] }, -{ source: [0xC463], NFC: [0xC463], NFD: [0x110A, 0x116D, 0x11C2], NFKC: [0xC463], NFKD: [0x110A, 0x116D, 0x11C2] }, -{ source: [0xC464], NFC: [0xC464], NFD: [0x110A, 0x116E], NFKC: [0xC464], NFKD: [0x110A, 0x116E] }, -{ source: [0xC465], NFC: [0xC465], NFD: [0x110A, 0x116E, 0x11A8], NFKC: [0xC465], NFKD: [0x110A, 0x116E, 0x11A8] }, -{ source: [0xC466], NFC: [0xC466], NFD: [0x110A, 0x116E, 0x11A9], NFKC: [0xC466], NFKD: [0x110A, 0x116E, 0x11A9] }, -{ source: [0xC467], NFC: [0xC467], NFD: [0x110A, 0x116E, 0x11AA], NFKC: [0xC467], NFKD: [0x110A, 0x116E, 0x11AA] }, -{ source: [0xC468], NFC: [0xC468], NFD: [0x110A, 0x116E, 0x11AB], NFKC: [0xC468], NFKD: [0x110A, 0x116E, 0x11AB] }, -{ source: [0xC469], NFC: [0xC469], NFD: [0x110A, 0x116E, 0x11AC], NFKC: [0xC469], NFKD: [0x110A, 0x116E, 0x11AC] }, -{ source: [0xC46A], NFC: [0xC46A], NFD: [0x110A, 0x116E, 0x11AD], NFKC: [0xC46A], NFKD: [0x110A, 0x116E, 0x11AD] }, -{ source: [0xC46B], NFC: [0xC46B], NFD: [0x110A, 0x116E, 0x11AE], NFKC: [0xC46B], NFKD: [0x110A, 0x116E, 0x11AE] }, -{ source: [0xC46C], NFC: [0xC46C], NFD: [0x110A, 0x116E, 0x11AF], NFKC: [0xC46C], NFKD: [0x110A, 0x116E, 0x11AF] }, -{ source: [0xC46D], NFC: [0xC46D], NFD: [0x110A, 0x116E, 0x11B0], NFKC: [0xC46D], NFKD: [0x110A, 0x116E, 0x11B0] }, -{ source: [0xC46E], NFC: [0xC46E], NFD: [0x110A, 0x116E, 0x11B1], NFKC: [0xC46E], NFKD: [0x110A, 0x116E, 0x11B1] }, -{ source: [0xC46F], NFC: [0xC46F], NFD: [0x110A, 0x116E, 0x11B2], NFKC: [0xC46F], NFKD: [0x110A, 0x116E, 0x11B2] }, -{ source: [0xC470], NFC: [0xC470], NFD: [0x110A, 0x116E, 0x11B3], NFKC: [0xC470], NFKD: [0x110A, 0x116E, 0x11B3] }, -{ source: [0xC471], NFC: [0xC471], NFD: [0x110A, 0x116E, 0x11B4], NFKC: [0xC471], NFKD: [0x110A, 0x116E, 0x11B4] }, -{ source: [0xC472], NFC: [0xC472], NFD: [0x110A, 0x116E, 0x11B5], NFKC: [0xC472], NFKD: [0x110A, 0x116E, 0x11B5] }, -{ source: [0xC473], NFC: [0xC473], NFD: [0x110A, 0x116E, 0x11B6], NFKC: [0xC473], NFKD: [0x110A, 0x116E, 0x11B6] }, -{ source: [0xC474], NFC: [0xC474], NFD: [0x110A, 0x116E, 0x11B7], NFKC: [0xC474], NFKD: [0x110A, 0x116E, 0x11B7] }, -{ source: [0xC475], NFC: [0xC475], NFD: [0x110A, 0x116E, 0x11B8], NFKC: [0xC475], NFKD: [0x110A, 0x116E, 0x11B8] }, -{ source: [0xC476], NFC: [0xC476], NFD: [0x110A, 0x116E, 0x11B9], NFKC: [0xC476], NFKD: [0x110A, 0x116E, 0x11B9] }, -{ source: [0xC477], NFC: [0xC477], NFD: [0x110A, 0x116E, 0x11BA], NFKC: [0xC477], NFKD: [0x110A, 0x116E, 0x11BA] }, -{ source: [0xC478], NFC: [0xC478], NFD: [0x110A, 0x116E, 0x11BB], NFKC: [0xC478], NFKD: [0x110A, 0x116E, 0x11BB] }, -{ source: [0xC479], NFC: [0xC479], NFD: [0x110A, 0x116E, 0x11BC], NFKC: [0xC479], NFKD: [0x110A, 0x116E, 0x11BC] }, -{ source: [0xC47A], NFC: [0xC47A], NFD: [0x110A, 0x116E, 0x11BD], NFKC: [0xC47A], NFKD: [0x110A, 0x116E, 0x11BD] }, -{ source: [0xC47B], NFC: [0xC47B], NFD: [0x110A, 0x116E, 0x11BE], NFKC: [0xC47B], NFKD: [0x110A, 0x116E, 0x11BE] }, -{ source: [0xC47C], NFC: [0xC47C], NFD: [0x110A, 0x116E, 0x11BF], NFKC: [0xC47C], NFKD: [0x110A, 0x116E, 0x11BF] }, -{ source: [0xC47D], NFC: [0xC47D], NFD: [0x110A, 0x116E, 0x11C0], NFKC: [0xC47D], NFKD: [0x110A, 0x116E, 0x11C0] }, -{ source: [0xC47E], NFC: [0xC47E], NFD: [0x110A, 0x116E, 0x11C1], NFKC: [0xC47E], NFKD: [0x110A, 0x116E, 0x11C1] }, -{ source: [0xC47F], NFC: [0xC47F], NFD: [0x110A, 0x116E, 0x11C2], NFKC: [0xC47F], NFKD: [0x110A, 0x116E, 0x11C2] }, -{ source: [0xC480], NFC: [0xC480], NFD: [0x110A, 0x116F], NFKC: [0xC480], NFKD: [0x110A, 0x116F] }, -{ source: [0xC481], NFC: [0xC481], NFD: [0x110A, 0x116F, 0x11A8], NFKC: [0xC481], NFKD: [0x110A, 0x116F, 0x11A8] }, -{ source: [0xC482], NFC: [0xC482], NFD: [0x110A, 0x116F, 0x11A9], NFKC: [0xC482], NFKD: [0x110A, 0x116F, 0x11A9] }, -{ source: [0xC483], NFC: [0xC483], NFD: [0x110A, 0x116F, 0x11AA], NFKC: [0xC483], NFKD: [0x110A, 0x116F, 0x11AA] }, -{ source: [0xC484], NFC: [0xC484], NFD: [0x110A, 0x116F, 0x11AB], NFKC: [0xC484], NFKD: [0x110A, 0x116F, 0x11AB] }, -{ source: [0xC485], NFC: [0xC485], NFD: [0x110A, 0x116F, 0x11AC], NFKC: [0xC485], NFKD: [0x110A, 0x116F, 0x11AC] }, -{ source: [0xC486], NFC: [0xC486], NFD: [0x110A, 0x116F, 0x11AD], NFKC: [0xC486], NFKD: [0x110A, 0x116F, 0x11AD] }, -{ source: [0xC487], NFC: [0xC487], NFD: [0x110A, 0x116F, 0x11AE], NFKC: [0xC487], NFKD: [0x110A, 0x116F, 0x11AE] }, -{ source: [0xC488], NFC: [0xC488], NFD: [0x110A, 0x116F, 0x11AF], NFKC: [0xC488], NFKD: [0x110A, 0x116F, 0x11AF] }, -{ source: [0xC489], NFC: [0xC489], NFD: [0x110A, 0x116F, 0x11B0], NFKC: [0xC489], NFKD: [0x110A, 0x116F, 0x11B0] }, -{ source: [0xC48A], NFC: [0xC48A], NFD: [0x110A, 0x116F, 0x11B1], NFKC: [0xC48A], NFKD: [0x110A, 0x116F, 0x11B1] }, -{ source: [0xC48B], NFC: [0xC48B], NFD: [0x110A, 0x116F, 0x11B2], NFKC: [0xC48B], NFKD: [0x110A, 0x116F, 0x11B2] }, -{ source: [0xC48C], NFC: [0xC48C], NFD: [0x110A, 0x116F, 0x11B3], NFKC: [0xC48C], NFKD: [0x110A, 0x116F, 0x11B3] }, -{ source: [0xC48D], NFC: [0xC48D], NFD: [0x110A, 0x116F, 0x11B4], NFKC: [0xC48D], NFKD: [0x110A, 0x116F, 0x11B4] }, -{ source: [0xC48E], NFC: [0xC48E], NFD: [0x110A, 0x116F, 0x11B5], NFKC: [0xC48E], NFKD: [0x110A, 0x116F, 0x11B5] }, -{ source: [0xC48F], NFC: [0xC48F], NFD: [0x110A, 0x116F, 0x11B6], NFKC: [0xC48F], NFKD: [0x110A, 0x116F, 0x11B6] }, -{ source: [0xC490], NFC: [0xC490], NFD: [0x110A, 0x116F, 0x11B7], NFKC: [0xC490], NFKD: [0x110A, 0x116F, 0x11B7] }, -{ source: [0xC491], NFC: [0xC491], NFD: [0x110A, 0x116F, 0x11B8], NFKC: [0xC491], NFKD: [0x110A, 0x116F, 0x11B8] }, -{ source: [0xC492], NFC: [0xC492], NFD: [0x110A, 0x116F, 0x11B9], NFKC: [0xC492], NFKD: [0x110A, 0x116F, 0x11B9] }, -{ source: [0xC493], NFC: [0xC493], NFD: [0x110A, 0x116F, 0x11BA], NFKC: [0xC493], NFKD: [0x110A, 0x116F, 0x11BA] }, -{ source: [0xC494], NFC: [0xC494], NFD: [0x110A, 0x116F, 0x11BB], NFKC: [0xC494], NFKD: [0x110A, 0x116F, 0x11BB] }, -{ source: [0xC495], NFC: [0xC495], NFD: [0x110A, 0x116F, 0x11BC], NFKC: [0xC495], NFKD: [0x110A, 0x116F, 0x11BC] }, -{ source: [0xC496], NFC: [0xC496], NFD: [0x110A, 0x116F, 0x11BD], NFKC: [0xC496], NFKD: [0x110A, 0x116F, 0x11BD] }, -{ source: [0xC497], NFC: [0xC497], NFD: [0x110A, 0x116F, 0x11BE], NFKC: [0xC497], NFKD: [0x110A, 0x116F, 0x11BE] }, -{ source: [0xC498], NFC: [0xC498], NFD: [0x110A, 0x116F, 0x11BF], NFKC: [0xC498], NFKD: [0x110A, 0x116F, 0x11BF] }, -{ source: [0xC499], NFC: [0xC499], NFD: [0x110A, 0x116F, 0x11C0], NFKC: [0xC499], NFKD: [0x110A, 0x116F, 0x11C0] }, -{ source: [0xC49A], NFC: [0xC49A], NFD: [0x110A, 0x116F, 0x11C1], NFKC: [0xC49A], NFKD: [0x110A, 0x116F, 0x11C1] }, -{ source: [0xC49B], NFC: [0xC49B], NFD: [0x110A, 0x116F, 0x11C2], NFKC: [0xC49B], NFKD: [0x110A, 0x116F, 0x11C2] }, -{ source: [0xC49C], NFC: [0xC49C], NFD: [0x110A, 0x1170], NFKC: [0xC49C], NFKD: [0x110A, 0x1170] }, -{ source: [0xC49D], NFC: [0xC49D], NFD: [0x110A, 0x1170, 0x11A8], NFKC: [0xC49D], NFKD: [0x110A, 0x1170, 0x11A8] }, -{ source: [0xC49E], NFC: [0xC49E], NFD: [0x110A, 0x1170, 0x11A9], NFKC: [0xC49E], NFKD: [0x110A, 0x1170, 0x11A9] }, -{ source: [0xC49F], NFC: [0xC49F], NFD: [0x110A, 0x1170, 0x11AA], NFKC: [0xC49F], NFKD: [0x110A, 0x1170, 0x11AA] }, -{ source: [0xC4A0], NFC: [0xC4A0], NFD: [0x110A, 0x1170, 0x11AB], NFKC: [0xC4A0], NFKD: [0x110A, 0x1170, 0x11AB] }, -{ source: [0xC4A1], NFC: [0xC4A1], NFD: [0x110A, 0x1170, 0x11AC], NFKC: [0xC4A1], NFKD: [0x110A, 0x1170, 0x11AC] }, -{ source: [0xC4A2], NFC: [0xC4A2], NFD: [0x110A, 0x1170, 0x11AD], NFKC: [0xC4A2], NFKD: [0x110A, 0x1170, 0x11AD] }, -{ source: [0xC4A3], NFC: [0xC4A3], NFD: [0x110A, 0x1170, 0x11AE], NFKC: [0xC4A3], NFKD: [0x110A, 0x1170, 0x11AE] }, -{ source: [0xC4A4], NFC: [0xC4A4], NFD: [0x110A, 0x1170, 0x11AF], NFKC: [0xC4A4], NFKD: [0x110A, 0x1170, 0x11AF] }, -{ source: [0xC4A5], NFC: [0xC4A5], NFD: [0x110A, 0x1170, 0x11B0], NFKC: [0xC4A5], NFKD: [0x110A, 0x1170, 0x11B0] }, -{ source: [0xC4A6], NFC: [0xC4A6], NFD: [0x110A, 0x1170, 0x11B1], NFKC: [0xC4A6], NFKD: [0x110A, 0x1170, 0x11B1] }, -{ source: [0xC4A7], NFC: [0xC4A7], NFD: [0x110A, 0x1170, 0x11B2], NFKC: [0xC4A7], NFKD: [0x110A, 0x1170, 0x11B2] }, -{ source: [0xC4A8], NFC: [0xC4A8], NFD: [0x110A, 0x1170, 0x11B3], NFKC: [0xC4A8], NFKD: [0x110A, 0x1170, 0x11B3] }, -{ source: [0xC4A9], NFC: [0xC4A9], NFD: [0x110A, 0x1170, 0x11B4], NFKC: [0xC4A9], NFKD: [0x110A, 0x1170, 0x11B4] }, -{ source: [0xC4AA], NFC: [0xC4AA], NFD: [0x110A, 0x1170, 0x11B5], NFKC: [0xC4AA], NFKD: [0x110A, 0x1170, 0x11B5] }, -{ source: [0xC4AB], NFC: [0xC4AB], NFD: [0x110A, 0x1170, 0x11B6], NFKC: [0xC4AB], NFKD: [0x110A, 0x1170, 0x11B6] }, -{ source: [0xC4AC], NFC: [0xC4AC], NFD: [0x110A, 0x1170, 0x11B7], NFKC: [0xC4AC], NFKD: [0x110A, 0x1170, 0x11B7] }, -{ source: [0xC4AD], NFC: [0xC4AD], NFD: [0x110A, 0x1170, 0x11B8], NFKC: [0xC4AD], NFKD: [0x110A, 0x1170, 0x11B8] }, -{ source: [0xC4AE], NFC: [0xC4AE], NFD: [0x110A, 0x1170, 0x11B9], NFKC: [0xC4AE], NFKD: [0x110A, 0x1170, 0x11B9] }, -{ source: [0xC4AF], NFC: [0xC4AF], NFD: [0x110A, 0x1170, 0x11BA], NFKC: [0xC4AF], NFKD: [0x110A, 0x1170, 0x11BA] }, -{ source: [0xC4B0], NFC: [0xC4B0], NFD: [0x110A, 0x1170, 0x11BB], NFKC: [0xC4B0], NFKD: [0x110A, 0x1170, 0x11BB] }, -{ source: [0xC4B1], NFC: [0xC4B1], NFD: [0x110A, 0x1170, 0x11BC], NFKC: [0xC4B1], NFKD: [0x110A, 0x1170, 0x11BC] }, -{ source: [0xC4B2], NFC: [0xC4B2], NFD: [0x110A, 0x1170, 0x11BD], NFKC: [0xC4B2], NFKD: [0x110A, 0x1170, 0x11BD] }, -{ source: [0xC4B3], NFC: [0xC4B3], NFD: [0x110A, 0x1170, 0x11BE], NFKC: [0xC4B3], NFKD: [0x110A, 0x1170, 0x11BE] }, -{ source: [0xC4B4], NFC: [0xC4B4], NFD: [0x110A, 0x1170, 0x11BF], NFKC: [0xC4B4], NFKD: [0x110A, 0x1170, 0x11BF] }, -{ source: [0xC4B5], NFC: [0xC4B5], NFD: [0x110A, 0x1170, 0x11C0], NFKC: [0xC4B5], NFKD: [0x110A, 0x1170, 0x11C0] }, -{ source: [0xC4B6], NFC: [0xC4B6], NFD: [0x110A, 0x1170, 0x11C1], NFKC: [0xC4B6], NFKD: [0x110A, 0x1170, 0x11C1] }, -{ source: [0xC4B7], NFC: [0xC4B7], NFD: [0x110A, 0x1170, 0x11C2], NFKC: [0xC4B7], NFKD: [0x110A, 0x1170, 0x11C2] }, -{ source: [0xC4B8], NFC: [0xC4B8], NFD: [0x110A, 0x1171], NFKC: [0xC4B8], NFKD: [0x110A, 0x1171] }, -{ source: [0xC4B9], NFC: [0xC4B9], NFD: [0x110A, 0x1171, 0x11A8], NFKC: [0xC4B9], NFKD: [0x110A, 0x1171, 0x11A8] }, -{ source: [0xC4BA], NFC: [0xC4BA], NFD: [0x110A, 0x1171, 0x11A9], NFKC: [0xC4BA], NFKD: [0x110A, 0x1171, 0x11A9] }, -{ source: [0xC4BB], NFC: [0xC4BB], NFD: [0x110A, 0x1171, 0x11AA], NFKC: [0xC4BB], NFKD: [0x110A, 0x1171, 0x11AA] }, -{ source: [0xC4BC], NFC: [0xC4BC], NFD: [0x110A, 0x1171, 0x11AB], NFKC: [0xC4BC], NFKD: [0x110A, 0x1171, 0x11AB] }, -{ source: [0xC4BD], NFC: [0xC4BD], NFD: [0x110A, 0x1171, 0x11AC], NFKC: [0xC4BD], NFKD: [0x110A, 0x1171, 0x11AC] }, -{ source: [0xC4BE], NFC: [0xC4BE], NFD: [0x110A, 0x1171, 0x11AD], NFKC: [0xC4BE], NFKD: [0x110A, 0x1171, 0x11AD] }, -{ source: [0xC4BF], NFC: [0xC4BF], NFD: [0x110A, 0x1171, 0x11AE], NFKC: [0xC4BF], NFKD: [0x110A, 0x1171, 0x11AE] }, -{ source: [0xC4C0], NFC: [0xC4C0], NFD: [0x110A, 0x1171, 0x11AF], NFKC: [0xC4C0], NFKD: [0x110A, 0x1171, 0x11AF] }, -{ source: [0xC4C1], NFC: [0xC4C1], NFD: [0x110A, 0x1171, 0x11B0], NFKC: [0xC4C1], NFKD: [0x110A, 0x1171, 0x11B0] }, -{ source: [0xC4C2], NFC: [0xC4C2], NFD: [0x110A, 0x1171, 0x11B1], NFKC: [0xC4C2], NFKD: [0x110A, 0x1171, 0x11B1] }, -{ source: [0xC4C3], NFC: [0xC4C3], NFD: [0x110A, 0x1171, 0x11B2], NFKC: [0xC4C3], NFKD: [0x110A, 0x1171, 0x11B2] }, -{ source: [0xC4C4], NFC: [0xC4C4], NFD: [0x110A, 0x1171, 0x11B3], NFKC: [0xC4C4], NFKD: [0x110A, 0x1171, 0x11B3] }, -{ source: [0xC4C5], NFC: [0xC4C5], NFD: [0x110A, 0x1171, 0x11B4], NFKC: [0xC4C5], NFKD: [0x110A, 0x1171, 0x11B4] }, -{ source: [0xC4C6], NFC: [0xC4C6], NFD: [0x110A, 0x1171, 0x11B5], NFKC: [0xC4C6], NFKD: [0x110A, 0x1171, 0x11B5] }, -{ source: [0xC4C7], NFC: [0xC4C7], NFD: [0x110A, 0x1171, 0x11B6], NFKC: [0xC4C7], NFKD: [0x110A, 0x1171, 0x11B6] }, -{ source: [0xC4C8], NFC: [0xC4C8], NFD: [0x110A, 0x1171, 0x11B7], NFKC: [0xC4C8], NFKD: [0x110A, 0x1171, 0x11B7] }, -{ source: [0xC4C9], NFC: [0xC4C9], NFD: [0x110A, 0x1171, 0x11B8], NFKC: [0xC4C9], NFKD: [0x110A, 0x1171, 0x11B8] }, -{ source: [0xC4CA], NFC: [0xC4CA], NFD: [0x110A, 0x1171, 0x11B9], NFKC: [0xC4CA], NFKD: [0x110A, 0x1171, 0x11B9] }, -{ source: [0xC4CB], NFC: [0xC4CB], NFD: [0x110A, 0x1171, 0x11BA], NFKC: [0xC4CB], NFKD: [0x110A, 0x1171, 0x11BA] }, -{ source: [0xC4CC], NFC: [0xC4CC], NFD: [0x110A, 0x1171, 0x11BB], NFKC: [0xC4CC], NFKD: [0x110A, 0x1171, 0x11BB] }, -{ source: [0xC4CD], NFC: [0xC4CD], NFD: [0x110A, 0x1171, 0x11BC], NFKC: [0xC4CD], NFKD: [0x110A, 0x1171, 0x11BC] }, -{ source: [0xC4CE], NFC: [0xC4CE], NFD: [0x110A, 0x1171, 0x11BD], NFKC: [0xC4CE], NFKD: [0x110A, 0x1171, 0x11BD] }, -{ source: [0xC4CF], NFC: [0xC4CF], NFD: [0x110A, 0x1171, 0x11BE], NFKC: [0xC4CF], NFKD: [0x110A, 0x1171, 0x11BE] }, -{ source: [0xC4D0], NFC: [0xC4D0], NFD: [0x110A, 0x1171, 0x11BF], NFKC: [0xC4D0], NFKD: [0x110A, 0x1171, 0x11BF] }, -{ source: [0xC4D1], NFC: [0xC4D1], NFD: [0x110A, 0x1171, 0x11C0], NFKC: [0xC4D1], NFKD: [0x110A, 0x1171, 0x11C0] }, -{ source: [0xC4D2], NFC: [0xC4D2], NFD: [0x110A, 0x1171, 0x11C1], NFKC: [0xC4D2], NFKD: [0x110A, 0x1171, 0x11C1] }, -{ source: [0xC4D3], NFC: [0xC4D3], NFD: [0x110A, 0x1171, 0x11C2], NFKC: [0xC4D3], NFKD: [0x110A, 0x1171, 0x11C2] }, -{ source: [0xC4D4], NFC: [0xC4D4], NFD: [0x110A, 0x1172], NFKC: [0xC4D4], NFKD: [0x110A, 0x1172] }, -{ source: [0xC4D5], NFC: [0xC4D5], NFD: [0x110A, 0x1172, 0x11A8], NFKC: [0xC4D5], NFKD: [0x110A, 0x1172, 0x11A8] }, -{ source: [0xC4D6], NFC: [0xC4D6], NFD: [0x110A, 0x1172, 0x11A9], NFKC: [0xC4D6], NFKD: [0x110A, 0x1172, 0x11A9] }, -{ source: [0xC4D7], NFC: [0xC4D7], NFD: [0x110A, 0x1172, 0x11AA], NFKC: [0xC4D7], NFKD: [0x110A, 0x1172, 0x11AA] }, -{ source: [0xC4D8], NFC: [0xC4D8], NFD: [0x110A, 0x1172, 0x11AB], NFKC: [0xC4D8], NFKD: [0x110A, 0x1172, 0x11AB] }, -{ source: [0xC4D9], NFC: [0xC4D9], NFD: [0x110A, 0x1172, 0x11AC], NFKC: [0xC4D9], NFKD: [0x110A, 0x1172, 0x11AC] }, -{ source: [0xC4DA], NFC: [0xC4DA], NFD: [0x110A, 0x1172, 0x11AD], NFKC: [0xC4DA], NFKD: [0x110A, 0x1172, 0x11AD] }, -{ source: [0xC4DB], NFC: [0xC4DB], NFD: [0x110A, 0x1172, 0x11AE], NFKC: [0xC4DB], NFKD: [0x110A, 0x1172, 0x11AE] }, -{ source: [0xC4DC], NFC: [0xC4DC], NFD: [0x110A, 0x1172, 0x11AF], NFKC: [0xC4DC], NFKD: [0x110A, 0x1172, 0x11AF] }, -{ source: [0xC4DD], NFC: [0xC4DD], NFD: [0x110A, 0x1172, 0x11B0], NFKC: [0xC4DD], NFKD: [0x110A, 0x1172, 0x11B0] }, -{ source: [0xC4DE], NFC: [0xC4DE], NFD: [0x110A, 0x1172, 0x11B1], NFKC: [0xC4DE], NFKD: [0x110A, 0x1172, 0x11B1] }, -{ source: [0xC4DF], NFC: [0xC4DF], NFD: [0x110A, 0x1172, 0x11B2], NFKC: [0xC4DF], NFKD: [0x110A, 0x1172, 0x11B2] }, -{ source: [0xC4E0], NFC: [0xC4E0], NFD: [0x110A, 0x1172, 0x11B3], NFKC: [0xC4E0], NFKD: [0x110A, 0x1172, 0x11B3] }, -{ source: [0xC4E1], NFC: [0xC4E1], NFD: [0x110A, 0x1172, 0x11B4], NFKC: [0xC4E1], NFKD: [0x110A, 0x1172, 0x11B4] }, -{ source: [0xC4E2], NFC: [0xC4E2], NFD: [0x110A, 0x1172, 0x11B5], NFKC: [0xC4E2], NFKD: [0x110A, 0x1172, 0x11B5] }, -{ source: [0xC4E3], NFC: [0xC4E3], NFD: [0x110A, 0x1172, 0x11B6], NFKC: [0xC4E3], NFKD: [0x110A, 0x1172, 0x11B6] }, -{ source: [0xC4E4], NFC: [0xC4E4], NFD: [0x110A, 0x1172, 0x11B7], NFKC: [0xC4E4], NFKD: [0x110A, 0x1172, 0x11B7] }, -{ source: [0xC4E5], NFC: [0xC4E5], NFD: [0x110A, 0x1172, 0x11B8], NFKC: [0xC4E5], NFKD: [0x110A, 0x1172, 0x11B8] }, -{ source: [0xC4E6], NFC: [0xC4E6], NFD: [0x110A, 0x1172, 0x11B9], NFKC: [0xC4E6], NFKD: [0x110A, 0x1172, 0x11B9] }, -{ source: [0xC4E7], NFC: [0xC4E7], NFD: [0x110A, 0x1172, 0x11BA], NFKC: [0xC4E7], NFKD: [0x110A, 0x1172, 0x11BA] }, -{ source: [0xC4E8], NFC: [0xC4E8], NFD: [0x110A, 0x1172, 0x11BB], NFKC: [0xC4E8], NFKD: [0x110A, 0x1172, 0x11BB] }, -{ source: [0xC4E9], NFC: [0xC4E9], NFD: [0x110A, 0x1172, 0x11BC], NFKC: [0xC4E9], NFKD: [0x110A, 0x1172, 0x11BC] }, -{ source: [0xC4EA], NFC: [0xC4EA], NFD: [0x110A, 0x1172, 0x11BD], NFKC: [0xC4EA], NFKD: [0x110A, 0x1172, 0x11BD] }, -{ source: [0xC4EB], NFC: [0xC4EB], NFD: [0x110A, 0x1172, 0x11BE], NFKC: [0xC4EB], NFKD: [0x110A, 0x1172, 0x11BE] }, -{ source: [0xC4EC], NFC: [0xC4EC], NFD: [0x110A, 0x1172, 0x11BF], NFKC: [0xC4EC], NFKD: [0x110A, 0x1172, 0x11BF] }, -{ source: [0xC4ED], NFC: [0xC4ED], NFD: [0x110A, 0x1172, 0x11C0], NFKC: [0xC4ED], NFKD: [0x110A, 0x1172, 0x11C0] }, -{ source: [0xC4EE], NFC: [0xC4EE], NFD: [0x110A, 0x1172, 0x11C1], NFKC: [0xC4EE], NFKD: [0x110A, 0x1172, 0x11C1] }, -{ source: [0xC4EF], NFC: [0xC4EF], NFD: [0x110A, 0x1172, 0x11C2], NFKC: [0xC4EF], NFKD: [0x110A, 0x1172, 0x11C2] }, -{ source: [0xC4F0], NFC: [0xC4F0], NFD: [0x110A, 0x1173], NFKC: [0xC4F0], NFKD: [0x110A, 0x1173] }, -{ source: [0xC4F1], NFC: [0xC4F1], NFD: [0x110A, 0x1173, 0x11A8], NFKC: [0xC4F1], NFKD: [0x110A, 0x1173, 0x11A8] }, -{ source: [0xC4F2], NFC: [0xC4F2], NFD: [0x110A, 0x1173, 0x11A9], NFKC: [0xC4F2], NFKD: [0x110A, 0x1173, 0x11A9] }, -{ source: [0xC4F3], NFC: [0xC4F3], NFD: [0x110A, 0x1173, 0x11AA], NFKC: [0xC4F3], NFKD: [0x110A, 0x1173, 0x11AA] }, -{ source: [0xC4F4], NFC: [0xC4F4], NFD: [0x110A, 0x1173, 0x11AB], NFKC: [0xC4F4], NFKD: [0x110A, 0x1173, 0x11AB] }, -{ source: [0xC4F5], NFC: [0xC4F5], NFD: [0x110A, 0x1173, 0x11AC], NFKC: [0xC4F5], NFKD: [0x110A, 0x1173, 0x11AC] }, -{ source: [0xC4F6], NFC: [0xC4F6], NFD: [0x110A, 0x1173, 0x11AD], NFKC: [0xC4F6], NFKD: [0x110A, 0x1173, 0x11AD] }, -{ source: [0xC4F7], NFC: [0xC4F7], NFD: [0x110A, 0x1173, 0x11AE], NFKC: [0xC4F7], NFKD: [0x110A, 0x1173, 0x11AE] }, -{ source: [0xC4F8], NFC: [0xC4F8], NFD: [0x110A, 0x1173, 0x11AF], NFKC: [0xC4F8], NFKD: [0x110A, 0x1173, 0x11AF] }, -{ source: [0xC4F9], NFC: [0xC4F9], NFD: [0x110A, 0x1173, 0x11B0], NFKC: [0xC4F9], NFKD: [0x110A, 0x1173, 0x11B0] }, -{ source: [0xC4FA], NFC: [0xC4FA], NFD: [0x110A, 0x1173, 0x11B1], NFKC: [0xC4FA], NFKD: [0x110A, 0x1173, 0x11B1] }, -{ source: [0xC4FB], NFC: [0xC4FB], NFD: [0x110A, 0x1173, 0x11B2], NFKC: [0xC4FB], NFKD: [0x110A, 0x1173, 0x11B2] }, -{ source: [0xC4FC], NFC: [0xC4FC], NFD: [0x110A, 0x1173, 0x11B3], NFKC: [0xC4FC], NFKD: [0x110A, 0x1173, 0x11B3] }, -{ source: [0xC4FD], NFC: [0xC4FD], NFD: [0x110A, 0x1173, 0x11B4], NFKC: [0xC4FD], NFKD: [0x110A, 0x1173, 0x11B4] }, -{ source: [0xC4FE], NFC: [0xC4FE], NFD: [0x110A, 0x1173, 0x11B5], NFKC: [0xC4FE], NFKD: [0x110A, 0x1173, 0x11B5] }, -{ source: [0xC4FF], NFC: [0xC4FF], NFD: [0x110A, 0x1173, 0x11B6], NFKC: [0xC4FF], NFKD: [0x110A, 0x1173, 0x11B6] }, -{ source: [0xC500], NFC: [0xC500], NFD: [0x110A, 0x1173, 0x11B7], NFKC: [0xC500], NFKD: [0x110A, 0x1173, 0x11B7] }, -{ source: [0xC501], NFC: [0xC501], NFD: [0x110A, 0x1173, 0x11B8], NFKC: [0xC501], NFKD: [0x110A, 0x1173, 0x11B8] }, -{ source: [0xC502], NFC: [0xC502], NFD: [0x110A, 0x1173, 0x11B9], NFKC: [0xC502], NFKD: [0x110A, 0x1173, 0x11B9] }, -{ source: [0xC503], NFC: [0xC503], NFD: [0x110A, 0x1173, 0x11BA], NFKC: [0xC503], NFKD: [0x110A, 0x1173, 0x11BA] }, -{ source: [0xC504], NFC: [0xC504], NFD: [0x110A, 0x1173, 0x11BB], NFKC: [0xC504], NFKD: [0x110A, 0x1173, 0x11BB] }, -{ source: [0xC505], NFC: [0xC505], NFD: [0x110A, 0x1173, 0x11BC], NFKC: [0xC505], NFKD: [0x110A, 0x1173, 0x11BC] }, -{ source: [0xC506], NFC: [0xC506], NFD: [0x110A, 0x1173, 0x11BD], NFKC: [0xC506], NFKD: [0x110A, 0x1173, 0x11BD] }, -{ source: [0xC507], NFC: [0xC507], NFD: [0x110A, 0x1173, 0x11BE], NFKC: [0xC507], NFKD: [0x110A, 0x1173, 0x11BE] }, -{ source: [0xC508], NFC: [0xC508], NFD: [0x110A, 0x1173, 0x11BF], NFKC: [0xC508], NFKD: [0x110A, 0x1173, 0x11BF] }, -{ source: [0xC509], NFC: [0xC509], NFD: [0x110A, 0x1173, 0x11C0], NFKC: [0xC509], NFKD: [0x110A, 0x1173, 0x11C0] }, -{ source: [0xC50A], NFC: [0xC50A], NFD: [0x110A, 0x1173, 0x11C1], NFKC: [0xC50A], NFKD: [0x110A, 0x1173, 0x11C1] }, -{ source: [0xC50B], NFC: [0xC50B], NFD: [0x110A, 0x1173, 0x11C2], NFKC: [0xC50B], NFKD: [0x110A, 0x1173, 0x11C2] }, -{ source: [0xC50C], NFC: [0xC50C], NFD: [0x110A, 0x1174], NFKC: [0xC50C], NFKD: [0x110A, 0x1174] }, -{ source: [0xC50D], NFC: [0xC50D], NFD: [0x110A, 0x1174, 0x11A8], NFKC: [0xC50D], NFKD: [0x110A, 0x1174, 0x11A8] }, -{ source: [0xC50E], NFC: [0xC50E], NFD: [0x110A, 0x1174, 0x11A9], NFKC: [0xC50E], NFKD: [0x110A, 0x1174, 0x11A9] }, -{ source: [0xC50F], NFC: [0xC50F], NFD: [0x110A, 0x1174, 0x11AA], NFKC: [0xC50F], NFKD: [0x110A, 0x1174, 0x11AA] }, -{ source: [0xC510], NFC: [0xC510], NFD: [0x110A, 0x1174, 0x11AB], NFKC: [0xC510], NFKD: [0x110A, 0x1174, 0x11AB] }, -{ source: [0xC511], NFC: [0xC511], NFD: [0x110A, 0x1174, 0x11AC], NFKC: [0xC511], NFKD: [0x110A, 0x1174, 0x11AC] }, -{ source: [0xC512], NFC: [0xC512], NFD: [0x110A, 0x1174, 0x11AD], NFKC: [0xC512], NFKD: [0x110A, 0x1174, 0x11AD] }, -{ source: [0xC513], NFC: [0xC513], NFD: [0x110A, 0x1174, 0x11AE], NFKC: [0xC513], NFKD: [0x110A, 0x1174, 0x11AE] }, -{ source: [0xC514], NFC: [0xC514], NFD: [0x110A, 0x1174, 0x11AF], NFKC: [0xC514], NFKD: [0x110A, 0x1174, 0x11AF] }, -{ source: [0xC515], NFC: [0xC515], NFD: [0x110A, 0x1174, 0x11B0], NFKC: [0xC515], NFKD: [0x110A, 0x1174, 0x11B0] }, -{ source: [0xC516], NFC: [0xC516], NFD: [0x110A, 0x1174, 0x11B1], NFKC: [0xC516], NFKD: [0x110A, 0x1174, 0x11B1] }, -{ source: [0xC517], NFC: [0xC517], NFD: [0x110A, 0x1174, 0x11B2], NFKC: [0xC517], NFKD: [0x110A, 0x1174, 0x11B2] }, -{ source: [0xC518], NFC: [0xC518], NFD: [0x110A, 0x1174, 0x11B3], NFKC: [0xC518], NFKD: [0x110A, 0x1174, 0x11B3] }, -{ source: [0xC519], NFC: [0xC519], NFD: [0x110A, 0x1174, 0x11B4], NFKC: [0xC519], NFKD: [0x110A, 0x1174, 0x11B4] }, -{ source: [0xC51A], NFC: [0xC51A], NFD: [0x110A, 0x1174, 0x11B5], NFKC: [0xC51A], NFKD: [0x110A, 0x1174, 0x11B5] }, -{ source: [0xC51B], NFC: [0xC51B], NFD: [0x110A, 0x1174, 0x11B6], NFKC: [0xC51B], NFKD: [0x110A, 0x1174, 0x11B6] }, -{ source: [0xC51C], NFC: [0xC51C], NFD: [0x110A, 0x1174, 0x11B7], NFKC: [0xC51C], NFKD: [0x110A, 0x1174, 0x11B7] }, -{ source: [0xC51D], NFC: [0xC51D], NFD: [0x110A, 0x1174, 0x11B8], NFKC: [0xC51D], NFKD: [0x110A, 0x1174, 0x11B8] }, -{ source: [0xC51E], NFC: [0xC51E], NFD: [0x110A, 0x1174, 0x11B9], NFKC: [0xC51E], NFKD: [0x110A, 0x1174, 0x11B9] }, -{ source: [0xC51F], NFC: [0xC51F], NFD: [0x110A, 0x1174, 0x11BA], NFKC: [0xC51F], NFKD: [0x110A, 0x1174, 0x11BA] }, -{ source: [0xC520], NFC: [0xC520], NFD: [0x110A, 0x1174, 0x11BB], NFKC: [0xC520], NFKD: [0x110A, 0x1174, 0x11BB] }, -{ source: [0xC521], NFC: [0xC521], NFD: [0x110A, 0x1174, 0x11BC], NFKC: [0xC521], NFKD: [0x110A, 0x1174, 0x11BC] }, -{ source: [0xC522], NFC: [0xC522], NFD: [0x110A, 0x1174, 0x11BD], NFKC: [0xC522], NFKD: [0x110A, 0x1174, 0x11BD] }, -{ source: [0xC523], NFC: [0xC523], NFD: [0x110A, 0x1174, 0x11BE], NFKC: [0xC523], NFKD: [0x110A, 0x1174, 0x11BE] }, -{ source: [0xC524], NFC: [0xC524], NFD: [0x110A, 0x1174, 0x11BF], NFKC: [0xC524], NFKD: [0x110A, 0x1174, 0x11BF] }, -{ source: [0xC525], NFC: [0xC525], NFD: [0x110A, 0x1174, 0x11C0], NFKC: [0xC525], NFKD: [0x110A, 0x1174, 0x11C0] }, -{ source: [0xC526], NFC: [0xC526], NFD: [0x110A, 0x1174, 0x11C1], NFKC: [0xC526], NFKD: [0x110A, 0x1174, 0x11C1] }, -{ source: [0xC527], NFC: [0xC527], NFD: [0x110A, 0x1174, 0x11C2], NFKC: [0xC527], NFKD: [0x110A, 0x1174, 0x11C2] }, -{ source: [0xC528], NFC: [0xC528], NFD: [0x110A, 0x1175], NFKC: [0xC528], NFKD: [0x110A, 0x1175] }, -{ source: [0xC529], NFC: [0xC529], NFD: [0x110A, 0x1175, 0x11A8], NFKC: [0xC529], NFKD: [0x110A, 0x1175, 0x11A8] }, -{ source: [0xC52A], NFC: [0xC52A], NFD: [0x110A, 0x1175, 0x11A9], NFKC: [0xC52A], NFKD: [0x110A, 0x1175, 0x11A9] }, -{ source: [0xC52B], NFC: [0xC52B], NFD: [0x110A, 0x1175, 0x11AA], NFKC: [0xC52B], NFKD: [0x110A, 0x1175, 0x11AA] }, -{ source: [0xC52C], NFC: [0xC52C], NFD: [0x110A, 0x1175, 0x11AB], NFKC: [0xC52C], NFKD: [0x110A, 0x1175, 0x11AB] }, -{ source: [0xC52D], NFC: [0xC52D], NFD: [0x110A, 0x1175, 0x11AC], NFKC: [0xC52D], NFKD: [0x110A, 0x1175, 0x11AC] }, -{ source: [0xC52E], NFC: [0xC52E], NFD: [0x110A, 0x1175, 0x11AD], NFKC: [0xC52E], NFKD: [0x110A, 0x1175, 0x11AD] }, -{ source: [0xC52F], NFC: [0xC52F], NFD: [0x110A, 0x1175, 0x11AE], NFKC: [0xC52F], NFKD: [0x110A, 0x1175, 0x11AE] }, -{ source: [0xC530], NFC: [0xC530], NFD: [0x110A, 0x1175, 0x11AF], NFKC: [0xC530], NFKD: [0x110A, 0x1175, 0x11AF] }, -{ source: [0xC531], NFC: [0xC531], NFD: [0x110A, 0x1175, 0x11B0], NFKC: [0xC531], NFKD: [0x110A, 0x1175, 0x11B0] }, -{ source: [0xC532], NFC: [0xC532], NFD: [0x110A, 0x1175, 0x11B1], NFKC: [0xC532], NFKD: [0x110A, 0x1175, 0x11B1] }, -{ source: [0xC533], NFC: [0xC533], NFD: [0x110A, 0x1175, 0x11B2], NFKC: [0xC533], NFKD: [0x110A, 0x1175, 0x11B2] }, -{ source: [0xC534], NFC: [0xC534], NFD: [0x110A, 0x1175, 0x11B3], NFKC: [0xC534], NFKD: [0x110A, 0x1175, 0x11B3] }, -{ source: [0xC535], NFC: [0xC535], NFD: [0x110A, 0x1175, 0x11B4], NFKC: [0xC535], NFKD: [0x110A, 0x1175, 0x11B4] }, -{ source: [0xC536], NFC: [0xC536], NFD: [0x110A, 0x1175, 0x11B5], NFKC: [0xC536], NFKD: [0x110A, 0x1175, 0x11B5] }, -{ source: [0xC537], NFC: [0xC537], NFD: [0x110A, 0x1175, 0x11B6], NFKC: [0xC537], NFKD: [0x110A, 0x1175, 0x11B6] }, -{ source: [0xC538], NFC: [0xC538], NFD: [0x110A, 0x1175, 0x11B7], NFKC: [0xC538], NFKD: [0x110A, 0x1175, 0x11B7] }, -{ source: [0xC539], NFC: [0xC539], NFD: [0x110A, 0x1175, 0x11B8], NFKC: [0xC539], NFKD: [0x110A, 0x1175, 0x11B8] }, -{ source: [0xC53A], NFC: [0xC53A], NFD: [0x110A, 0x1175, 0x11B9], NFKC: [0xC53A], NFKD: [0x110A, 0x1175, 0x11B9] }, -{ source: [0xC53B], NFC: [0xC53B], NFD: [0x110A, 0x1175, 0x11BA], NFKC: [0xC53B], NFKD: [0x110A, 0x1175, 0x11BA] }, -{ source: [0xC53C], NFC: [0xC53C], NFD: [0x110A, 0x1175, 0x11BB], NFKC: [0xC53C], NFKD: [0x110A, 0x1175, 0x11BB] }, -{ source: [0xC53D], NFC: [0xC53D], NFD: [0x110A, 0x1175, 0x11BC], NFKC: [0xC53D], NFKD: [0x110A, 0x1175, 0x11BC] }, -{ source: [0xC53E], NFC: [0xC53E], NFD: [0x110A, 0x1175, 0x11BD], NFKC: [0xC53E], NFKD: [0x110A, 0x1175, 0x11BD] }, -{ source: [0xC53F], NFC: [0xC53F], NFD: [0x110A, 0x1175, 0x11BE], NFKC: [0xC53F], NFKD: [0x110A, 0x1175, 0x11BE] }, -{ source: [0xC540], NFC: [0xC540], NFD: [0x110A, 0x1175, 0x11BF], NFKC: [0xC540], NFKD: [0x110A, 0x1175, 0x11BF] }, -{ source: [0xC541], NFC: [0xC541], NFD: [0x110A, 0x1175, 0x11C0], NFKC: [0xC541], NFKD: [0x110A, 0x1175, 0x11C0] }, -{ source: [0xC542], NFC: [0xC542], NFD: [0x110A, 0x1175, 0x11C1], NFKC: [0xC542], NFKD: [0x110A, 0x1175, 0x11C1] }, -{ source: [0xC543], NFC: [0xC543], NFD: [0x110A, 0x1175, 0x11C2], NFKC: [0xC543], NFKD: [0x110A, 0x1175, 0x11C2] }, -{ source: [0xC544], NFC: [0xC544], NFD: [0x110B, 0x1161], NFKC: [0xC544], NFKD: [0x110B, 0x1161] }, -{ source: [0xC545], NFC: [0xC545], NFD: [0x110B, 0x1161, 0x11A8], NFKC: [0xC545], NFKD: [0x110B, 0x1161, 0x11A8] }, -{ source: [0xC546], NFC: [0xC546], NFD: [0x110B, 0x1161, 0x11A9], NFKC: [0xC546], NFKD: [0x110B, 0x1161, 0x11A9] }, -{ source: [0xC547], NFC: [0xC547], NFD: [0x110B, 0x1161, 0x11AA], NFKC: [0xC547], NFKD: [0x110B, 0x1161, 0x11AA] }, -{ source: [0xC548], NFC: [0xC548], NFD: [0x110B, 0x1161, 0x11AB], NFKC: [0xC548], NFKD: [0x110B, 0x1161, 0x11AB] }, -{ source: [0xC549], NFC: [0xC549], NFD: [0x110B, 0x1161, 0x11AC], NFKC: [0xC549], NFKD: [0x110B, 0x1161, 0x11AC] }, -{ source: [0xC54A], NFC: [0xC54A], NFD: [0x110B, 0x1161, 0x11AD], NFKC: [0xC54A], NFKD: [0x110B, 0x1161, 0x11AD] }, -{ source: [0xC54B], NFC: [0xC54B], NFD: [0x110B, 0x1161, 0x11AE], NFKC: [0xC54B], NFKD: [0x110B, 0x1161, 0x11AE] }, -{ source: [0xC54C], NFC: [0xC54C], NFD: [0x110B, 0x1161, 0x11AF], NFKC: [0xC54C], NFKD: [0x110B, 0x1161, 0x11AF] }, -{ source: [0xC54D], NFC: [0xC54D], NFD: [0x110B, 0x1161, 0x11B0], NFKC: [0xC54D], NFKD: [0x110B, 0x1161, 0x11B0] }, -{ source: [0xC54E], NFC: [0xC54E], NFD: [0x110B, 0x1161, 0x11B1], NFKC: [0xC54E], NFKD: [0x110B, 0x1161, 0x11B1] }, -{ source: [0xC54F], NFC: [0xC54F], NFD: [0x110B, 0x1161, 0x11B2], NFKC: [0xC54F], NFKD: [0x110B, 0x1161, 0x11B2] }, -{ source: [0xC550], NFC: [0xC550], NFD: [0x110B, 0x1161, 0x11B3], NFKC: [0xC550], NFKD: [0x110B, 0x1161, 0x11B3] }, -{ source: [0xC551], NFC: [0xC551], NFD: [0x110B, 0x1161, 0x11B4], NFKC: [0xC551], NFKD: [0x110B, 0x1161, 0x11B4] }, -{ source: [0xC552], NFC: [0xC552], NFD: [0x110B, 0x1161, 0x11B5], NFKC: [0xC552], NFKD: [0x110B, 0x1161, 0x11B5] }, -{ source: [0xC553], NFC: [0xC553], NFD: [0x110B, 0x1161, 0x11B6], NFKC: [0xC553], NFKD: [0x110B, 0x1161, 0x11B6] }, -{ source: [0xC554], NFC: [0xC554], NFD: [0x110B, 0x1161, 0x11B7], NFKC: [0xC554], NFKD: [0x110B, 0x1161, 0x11B7] }, -{ source: [0xC555], NFC: [0xC555], NFD: [0x110B, 0x1161, 0x11B8], NFKC: [0xC555], NFKD: [0x110B, 0x1161, 0x11B8] }, -{ source: [0xC556], NFC: [0xC556], NFD: [0x110B, 0x1161, 0x11B9], NFKC: [0xC556], NFKD: [0x110B, 0x1161, 0x11B9] }, -{ source: [0xC557], NFC: [0xC557], NFD: [0x110B, 0x1161, 0x11BA], NFKC: [0xC557], NFKD: [0x110B, 0x1161, 0x11BA] }, -{ source: [0xC558], NFC: [0xC558], NFD: [0x110B, 0x1161, 0x11BB], NFKC: [0xC558], NFKD: [0x110B, 0x1161, 0x11BB] }, -{ source: [0xC559], NFC: [0xC559], NFD: [0x110B, 0x1161, 0x11BC], NFKC: [0xC559], NFKD: [0x110B, 0x1161, 0x11BC] }, -{ source: [0xC55A], NFC: [0xC55A], NFD: [0x110B, 0x1161, 0x11BD], NFKC: [0xC55A], NFKD: [0x110B, 0x1161, 0x11BD] }, -{ source: [0xC55B], NFC: [0xC55B], NFD: [0x110B, 0x1161, 0x11BE], NFKC: [0xC55B], NFKD: [0x110B, 0x1161, 0x11BE] }, -{ source: [0xC55C], NFC: [0xC55C], NFD: [0x110B, 0x1161, 0x11BF], NFKC: [0xC55C], NFKD: [0x110B, 0x1161, 0x11BF] }, -{ source: [0xC55D], NFC: [0xC55D], NFD: [0x110B, 0x1161, 0x11C0], NFKC: [0xC55D], NFKD: [0x110B, 0x1161, 0x11C0] }, -{ source: [0xC55E], NFC: [0xC55E], NFD: [0x110B, 0x1161, 0x11C1], NFKC: [0xC55E], NFKD: [0x110B, 0x1161, 0x11C1] }, -{ source: [0xC55F], NFC: [0xC55F], NFD: [0x110B, 0x1161, 0x11C2], NFKC: [0xC55F], NFKD: [0x110B, 0x1161, 0x11C2] }, -{ source: [0xC560], NFC: [0xC560], NFD: [0x110B, 0x1162], NFKC: [0xC560], NFKD: [0x110B, 0x1162] }, -{ source: [0xC561], NFC: [0xC561], NFD: [0x110B, 0x1162, 0x11A8], NFKC: [0xC561], NFKD: [0x110B, 0x1162, 0x11A8] }, -{ source: [0xC562], NFC: [0xC562], NFD: [0x110B, 0x1162, 0x11A9], NFKC: [0xC562], NFKD: [0x110B, 0x1162, 0x11A9] }, -{ source: [0xC563], NFC: [0xC563], NFD: [0x110B, 0x1162, 0x11AA], NFKC: [0xC563], NFKD: [0x110B, 0x1162, 0x11AA] }, -{ source: [0xC564], NFC: [0xC564], NFD: [0x110B, 0x1162, 0x11AB], NFKC: [0xC564], NFKD: [0x110B, 0x1162, 0x11AB] }, -{ source: [0xC565], NFC: [0xC565], NFD: [0x110B, 0x1162, 0x11AC], NFKC: [0xC565], NFKD: [0x110B, 0x1162, 0x11AC] }, -{ source: [0xC566], NFC: [0xC566], NFD: [0x110B, 0x1162, 0x11AD], NFKC: [0xC566], NFKD: [0x110B, 0x1162, 0x11AD] }, -{ source: [0xC567], NFC: [0xC567], NFD: [0x110B, 0x1162, 0x11AE], NFKC: [0xC567], NFKD: [0x110B, 0x1162, 0x11AE] }, -{ source: [0xC568], NFC: [0xC568], NFD: [0x110B, 0x1162, 0x11AF], NFKC: [0xC568], NFKD: [0x110B, 0x1162, 0x11AF] }, -{ source: [0xC569], NFC: [0xC569], NFD: [0x110B, 0x1162, 0x11B0], NFKC: [0xC569], NFKD: [0x110B, 0x1162, 0x11B0] }, -{ source: [0xC56A], NFC: [0xC56A], NFD: [0x110B, 0x1162, 0x11B1], NFKC: [0xC56A], NFKD: [0x110B, 0x1162, 0x11B1] }, -{ source: [0xC56B], NFC: [0xC56B], NFD: [0x110B, 0x1162, 0x11B2], NFKC: [0xC56B], NFKD: [0x110B, 0x1162, 0x11B2] }, -{ source: [0xC56C], NFC: [0xC56C], NFD: [0x110B, 0x1162, 0x11B3], NFKC: [0xC56C], NFKD: [0x110B, 0x1162, 0x11B3] }, -{ source: [0xC56D], NFC: [0xC56D], NFD: [0x110B, 0x1162, 0x11B4], NFKC: [0xC56D], NFKD: [0x110B, 0x1162, 0x11B4] }, -{ source: [0xC56E], NFC: [0xC56E], NFD: [0x110B, 0x1162, 0x11B5], NFKC: [0xC56E], NFKD: [0x110B, 0x1162, 0x11B5] }, -{ source: [0xC56F], NFC: [0xC56F], NFD: [0x110B, 0x1162, 0x11B6], NFKC: [0xC56F], NFKD: [0x110B, 0x1162, 0x11B6] }, -{ source: [0xC570], NFC: [0xC570], NFD: [0x110B, 0x1162, 0x11B7], NFKC: [0xC570], NFKD: [0x110B, 0x1162, 0x11B7] }, -{ source: [0xC571], NFC: [0xC571], NFD: [0x110B, 0x1162, 0x11B8], NFKC: [0xC571], NFKD: [0x110B, 0x1162, 0x11B8] }, -{ source: [0xC572], NFC: [0xC572], NFD: [0x110B, 0x1162, 0x11B9], NFKC: [0xC572], NFKD: [0x110B, 0x1162, 0x11B9] }, -{ source: [0xC573], NFC: [0xC573], NFD: [0x110B, 0x1162, 0x11BA], NFKC: [0xC573], NFKD: [0x110B, 0x1162, 0x11BA] }, -{ source: [0xC574], NFC: [0xC574], NFD: [0x110B, 0x1162, 0x11BB], NFKC: [0xC574], NFKD: [0x110B, 0x1162, 0x11BB] }, -{ source: [0xC575], NFC: [0xC575], NFD: [0x110B, 0x1162, 0x11BC], NFKC: [0xC575], NFKD: [0x110B, 0x1162, 0x11BC] }, -{ source: [0xC576], NFC: [0xC576], NFD: [0x110B, 0x1162, 0x11BD], NFKC: [0xC576], NFKD: [0x110B, 0x1162, 0x11BD] }, -{ source: [0xC577], NFC: [0xC577], NFD: [0x110B, 0x1162, 0x11BE], NFKC: [0xC577], NFKD: [0x110B, 0x1162, 0x11BE] }, -{ source: [0xC578], NFC: [0xC578], NFD: [0x110B, 0x1162, 0x11BF], NFKC: [0xC578], NFKD: [0x110B, 0x1162, 0x11BF] }, -{ source: [0xC579], NFC: [0xC579], NFD: [0x110B, 0x1162, 0x11C0], NFKC: [0xC579], NFKD: [0x110B, 0x1162, 0x11C0] }, -{ source: [0xC57A], NFC: [0xC57A], NFD: [0x110B, 0x1162, 0x11C1], NFKC: [0xC57A], NFKD: [0x110B, 0x1162, 0x11C1] }, -{ source: [0xC57B], NFC: [0xC57B], NFD: [0x110B, 0x1162, 0x11C2], NFKC: [0xC57B], NFKD: [0x110B, 0x1162, 0x11C2] }, -{ source: [0xC57C], NFC: [0xC57C], NFD: [0x110B, 0x1163], NFKC: [0xC57C], NFKD: [0x110B, 0x1163] }, -{ source: [0xC57D], NFC: [0xC57D], NFD: [0x110B, 0x1163, 0x11A8], NFKC: [0xC57D], NFKD: [0x110B, 0x1163, 0x11A8] }, -{ source: [0xC57E], NFC: [0xC57E], NFD: [0x110B, 0x1163, 0x11A9], NFKC: [0xC57E], NFKD: [0x110B, 0x1163, 0x11A9] }, -{ source: [0xC57F], NFC: [0xC57F], NFD: [0x110B, 0x1163, 0x11AA], NFKC: [0xC57F], NFKD: [0x110B, 0x1163, 0x11AA] }, -{ source: [0xC580], NFC: [0xC580], NFD: [0x110B, 0x1163, 0x11AB], NFKC: [0xC580], NFKD: [0x110B, 0x1163, 0x11AB] }, -{ source: [0xC581], NFC: [0xC581], NFD: [0x110B, 0x1163, 0x11AC], NFKC: [0xC581], NFKD: [0x110B, 0x1163, 0x11AC] }, -{ source: [0xC582], NFC: [0xC582], NFD: [0x110B, 0x1163, 0x11AD], NFKC: [0xC582], NFKD: [0x110B, 0x1163, 0x11AD] }, -{ source: [0xC583], NFC: [0xC583], NFD: [0x110B, 0x1163, 0x11AE], NFKC: [0xC583], NFKD: [0x110B, 0x1163, 0x11AE] }, -{ source: [0xC584], NFC: [0xC584], NFD: [0x110B, 0x1163, 0x11AF], NFKC: [0xC584], NFKD: [0x110B, 0x1163, 0x11AF] }, -{ source: [0xC585], NFC: [0xC585], NFD: [0x110B, 0x1163, 0x11B0], NFKC: [0xC585], NFKD: [0x110B, 0x1163, 0x11B0] }, -{ source: [0xC586], NFC: [0xC586], NFD: [0x110B, 0x1163, 0x11B1], NFKC: [0xC586], NFKD: [0x110B, 0x1163, 0x11B1] }, -{ source: [0xC587], NFC: [0xC587], NFD: [0x110B, 0x1163, 0x11B2], NFKC: [0xC587], NFKD: [0x110B, 0x1163, 0x11B2] }, -{ source: [0xC588], NFC: [0xC588], NFD: [0x110B, 0x1163, 0x11B3], NFKC: [0xC588], NFKD: [0x110B, 0x1163, 0x11B3] }, -{ source: [0xC589], NFC: [0xC589], NFD: [0x110B, 0x1163, 0x11B4], NFKC: [0xC589], NFKD: [0x110B, 0x1163, 0x11B4] }, -{ source: [0xC58A], NFC: [0xC58A], NFD: [0x110B, 0x1163, 0x11B5], NFKC: [0xC58A], NFKD: [0x110B, 0x1163, 0x11B5] }, -{ source: [0xC58B], NFC: [0xC58B], NFD: [0x110B, 0x1163, 0x11B6], NFKC: [0xC58B], NFKD: [0x110B, 0x1163, 0x11B6] }, -{ source: [0xC58C], NFC: [0xC58C], NFD: [0x110B, 0x1163, 0x11B7], NFKC: [0xC58C], NFKD: [0x110B, 0x1163, 0x11B7] }, -{ source: [0xC58D], NFC: [0xC58D], NFD: [0x110B, 0x1163, 0x11B8], NFKC: [0xC58D], NFKD: [0x110B, 0x1163, 0x11B8] }, -{ source: [0xC58E], NFC: [0xC58E], NFD: [0x110B, 0x1163, 0x11B9], NFKC: [0xC58E], NFKD: [0x110B, 0x1163, 0x11B9] }, -{ source: [0xC58F], NFC: [0xC58F], NFD: [0x110B, 0x1163, 0x11BA], NFKC: [0xC58F], NFKD: [0x110B, 0x1163, 0x11BA] }, -{ source: [0xC590], NFC: [0xC590], NFD: [0x110B, 0x1163, 0x11BB], NFKC: [0xC590], NFKD: [0x110B, 0x1163, 0x11BB] }, -{ source: [0xC591], NFC: [0xC591], NFD: [0x110B, 0x1163, 0x11BC], NFKC: [0xC591], NFKD: [0x110B, 0x1163, 0x11BC] }, -{ source: [0xC592], NFC: [0xC592], NFD: [0x110B, 0x1163, 0x11BD], NFKC: [0xC592], NFKD: [0x110B, 0x1163, 0x11BD] }, -{ source: [0xC593], NFC: [0xC593], NFD: [0x110B, 0x1163, 0x11BE], NFKC: [0xC593], NFKD: [0x110B, 0x1163, 0x11BE] }, -{ source: [0xC594], NFC: [0xC594], NFD: [0x110B, 0x1163, 0x11BF], NFKC: [0xC594], NFKD: [0x110B, 0x1163, 0x11BF] }, -{ source: [0xC595], NFC: [0xC595], NFD: [0x110B, 0x1163, 0x11C0], NFKC: [0xC595], NFKD: [0x110B, 0x1163, 0x11C0] }, -{ source: [0xC596], NFC: [0xC596], NFD: [0x110B, 0x1163, 0x11C1], NFKC: [0xC596], NFKD: [0x110B, 0x1163, 0x11C1] }, -{ source: [0xC597], NFC: [0xC597], NFD: [0x110B, 0x1163, 0x11C2], NFKC: [0xC597], NFKD: [0x110B, 0x1163, 0x11C2] }, -{ source: [0xC598], NFC: [0xC598], NFD: [0x110B, 0x1164], NFKC: [0xC598], NFKD: [0x110B, 0x1164] }, -{ source: [0xC599], NFC: [0xC599], NFD: [0x110B, 0x1164, 0x11A8], NFKC: [0xC599], NFKD: [0x110B, 0x1164, 0x11A8] }, -{ source: [0xC59A], NFC: [0xC59A], NFD: [0x110B, 0x1164, 0x11A9], NFKC: [0xC59A], NFKD: [0x110B, 0x1164, 0x11A9] }, -{ source: [0xC59B], NFC: [0xC59B], NFD: [0x110B, 0x1164, 0x11AA], NFKC: [0xC59B], NFKD: [0x110B, 0x1164, 0x11AA] }, -{ source: [0xC59C], NFC: [0xC59C], NFD: [0x110B, 0x1164, 0x11AB], NFKC: [0xC59C], NFKD: [0x110B, 0x1164, 0x11AB] }, -{ source: [0xC59D], NFC: [0xC59D], NFD: [0x110B, 0x1164, 0x11AC], NFKC: [0xC59D], NFKD: [0x110B, 0x1164, 0x11AC] }, -{ source: [0xC59E], NFC: [0xC59E], NFD: [0x110B, 0x1164, 0x11AD], NFKC: [0xC59E], NFKD: [0x110B, 0x1164, 0x11AD] }, -{ source: [0xC59F], NFC: [0xC59F], NFD: [0x110B, 0x1164, 0x11AE], NFKC: [0xC59F], NFKD: [0x110B, 0x1164, 0x11AE] }, -{ source: [0xC5A0], NFC: [0xC5A0], NFD: [0x110B, 0x1164, 0x11AF], NFKC: [0xC5A0], NFKD: [0x110B, 0x1164, 0x11AF] }, -{ source: [0xC5A1], NFC: [0xC5A1], NFD: [0x110B, 0x1164, 0x11B0], NFKC: [0xC5A1], NFKD: [0x110B, 0x1164, 0x11B0] }, -{ source: [0xC5A2], NFC: [0xC5A2], NFD: [0x110B, 0x1164, 0x11B1], NFKC: [0xC5A2], NFKD: [0x110B, 0x1164, 0x11B1] }, -{ source: [0xC5A3], NFC: [0xC5A3], NFD: [0x110B, 0x1164, 0x11B2], NFKC: [0xC5A3], NFKD: [0x110B, 0x1164, 0x11B2] }, -{ source: [0xC5A4], NFC: [0xC5A4], NFD: [0x110B, 0x1164, 0x11B3], NFKC: [0xC5A4], NFKD: [0x110B, 0x1164, 0x11B3] }, -{ source: [0xC5A5], NFC: [0xC5A5], NFD: [0x110B, 0x1164, 0x11B4], NFKC: [0xC5A5], NFKD: [0x110B, 0x1164, 0x11B4] }, -{ source: [0xC5A6], NFC: [0xC5A6], NFD: [0x110B, 0x1164, 0x11B5], NFKC: [0xC5A6], NFKD: [0x110B, 0x1164, 0x11B5] }, -{ source: [0xC5A7], NFC: [0xC5A7], NFD: [0x110B, 0x1164, 0x11B6], NFKC: [0xC5A7], NFKD: [0x110B, 0x1164, 0x11B6] }, -{ source: [0xC5A8], NFC: [0xC5A8], NFD: [0x110B, 0x1164, 0x11B7], NFKC: [0xC5A8], NFKD: [0x110B, 0x1164, 0x11B7] }, -{ source: [0xC5A9], NFC: [0xC5A9], NFD: [0x110B, 0x1164, 0x11B8], NFKC: [0xC5A9], NFKD: [0x110B, 0x1164, 0x11B8] }, -{ source: [0xC5AA], NFC: [0xC5AA], NFD: [0x110B, 0x1164, 0x11B9], NFKC: [0xC5AA], NFKD: [0x110B, 0x1164, 0x11B9] }, -{ source: [0xC5AB], NFC: [0xC5AB], NFD: [0x110B, 0x1164, 0x11BA], NFKC: [0xC5AB], NFKD: [0x110B, 0x1164, 0x11BA] }, -{ source: [0xC5AC], NFC: [0xC5AC], NFD: [0x110B, 0x1164, 0x11BB], NFKC: [0xC5AC], NFKD: [0x110B, 0x1164, 0x11BB] }, -{ source: [0xC5AD], NFC: [0xC5AD], NFD: [0x110B, 0x1164, 0x11BC], NFKC: [0xC5AD], NFKD: [0x110B, 0x1164, 0x11BC] }, -{ source: [0xC5AE], NFC: [0xC5AE], NFD: [0x110B, 0x1164, 0x11BD], NFKC: [0xC5AE], NFKD: [0x110B, 0x1164, 0x11BD] }, -{ source: [0xC5AF], NFC: [0xC5AF], NFD: [0x110B, 0x1164, 0x11BE], NFKC: [0xC5AF], NFKD: [0x110B, 0x1164, 0x11BE] }, -{ source: [0xC5B0], NFC: [0xC5B0], NFD: [0x110B, 0x1164, 0x11BF], NFKC: [0xC5B0], NFKD: [0x110B, 0x1164, 0x11BF] }, -{ source: [0xC5B1], NFC: [0xC5B1], NFD: [0x110B, 0x1164, 0x11C0], NFKC: [0xC5B1], NFKD: [0x110B, 0x1164, 0x11C0] }, -{ source: [0xC5B2], NFC: [0xC5B2], NFD: [0x110B, 0x1164, 0x11C1], NFKC: [0xC5B2], NFKD: [0x110B, 0x1164, 0x11C1] }, -{ source: [0xC5B3], NFC: [0xC5B3], NFD: [0x110B, 0x1164, 0x11C2], NFKC: [0xC5B3], NFKD: [0x110B, 0x1164, 0x11C2] }, -{ source: [0xC5B4], NFC: [0xC5B4], NFD: [0x110B, 0x1165], NFKC: [0xC5B4], NFKD: [0x110B, 0x1165] }, -{ source: [0xC5B5], NFC: [0xC5B5], NFD: [0x110B, 0x1165, 0x11A8], NFKC: [0xC5B5], NFKD: [0x110B, 0x1165, 0x11A8] }, -{ source: [0xC5B6], NFC: [0xC5B6], NFD: [0x110B, 0x1165, 0x11A9], NFKC: [0xC5B6], NFKD: [0x110B, 0x1165, 0x11A9] }, -{ source: [0xC5B7], NFC: [0xC5B7], NFD: [0x110B, 0x1165, 0x11AA], NFKC: [0xC5B7], NFKD: [0x110B, 0x1165, 0x11AA] }, -{ source: [0xC5B8], NFC: [0xC5B8], NFD: [0x110B, 0x1165, 0x11AB], NFKC: [0xC5B8], NFKD: [0x110B, 0x1165, 0x11AB] }, -{ source: [0xC5B9], NFC: [0xC5B9], NFD: [0x110B, 0x1165, 0x11AC], NFKC: [0xC5B9], NFKD: [0x110B, 0x1165, 0x11AC] }, -{ source: [0xC5BA], NFC: [0xC5BA], NFD: [0x110B, 0x1165, 0x11AD], NFKC: [0xC5BA], NFKD: [0x110B, 0x1165, 0x11AD] }, -{ source: [0xC5BB], NFC: [0xC5BB], NFD: [0x110B, 0x1165, 0x11AE], NFKC: [0xC5BB], NFKD: [0x110B, 0x1165, 0x11AE] }, -{ source: [0xC5BC], NFC: [0xC5BC], NFD: [0x110B, 0x1165, 0x11AF], NFKC: [0xC5BC], NFKD: [0x110B, 0x1165, 0x11AF] }, -{ source: [0xC5BD], NFC: [0xC5BD], NFD: [0x110B, 0x1165, 0x11B0], NFKC: [0xC5BD], NFKD: [0x110B, 0x1165, 0x11B0] }, -{ source: [0xC5BE], NFC: [0xC5BE], NFD: [0x110B, 0x1165, 0x11B1], NFKC: [0xC5BE], NFKD: [0x110B, 0x1165, 0x11B1] }, -{ source: [0xC5BF], NFC: [0xC5BF], NFD: [0x110B, 0x1165, 0x11B2], NFKC: [0xC5BF], NFKD: [0x110B, 0x1165, 0x11B2] }, -{ source: [0xC5C0], NFC: [0xC5C0], NFD: [0x110B, 0x1165, 0x11B3], NFKC: [0xC5C0], NFKD: [0x110B, 0x1165, 0x11B3] }, -{ source: [0xC5C1], NFC: [0xC5C1], NFD: [0x110B, 0x1165, 0x11B4], NFKC: [0xC5C1], NFKD: [0x110B, 0x1165, 0x11B4] }, -{ source: [0xC5C2], NFC: [0xC5C2], NFD: [0x110B, 0x1165, 0x11B5], NFKC: [0xC5C2], NFKD: [0x110B, 0x1165, 0x11B5] }, -{ source: [0xC5C3], NFC: [0xC5C3], NFD: [0x110B, 0x1165, 0x11B6], NFKC: [0xC5C3], NFKD: [0x110B, 0x1165, 0x11B6] }, -{ source: [0xC5C4], NFC: [0xC5C4], NFD: [0x110B, 0x1165, 0x11B7], NFKC: [0xC5C4], NFKD: [0x110B, 0x1165, 0x11B7] }, -{ source: [0xC5C5], NFC: [0xC5C5], NFD: [0x110B, 0x1165, 0x11B8], NFKC: [0xC5C5], NFKD: [0x110B, 0x1165, 0x11B8] }, -{ source: [0xC5C6], NFC: [0xC5C6], NFD: [0x110B, 0x1165, 0x11B9], NFKC: [0xC5C6], NFKD: [0x110B, 0x1165, 0x11B9] }, -{ source: [0xC5C7], NFC: [0xC5C7], NFD: [0x110B, 0x1165, 0x11BA], NFKC: [0xC5C7], NFKD: [0x110B, 0x1165, 0x11BA] }, -{ source: [0xC5C8], NFC: [0xC5C8], NFD: [0x110B, 0x1165, 0x11BB], NFKC: [0xC5C8], NFKD: [0x110B, 0x1165, 0x11BB] }, -{ source: [0xC5C9], NFC: [0xC5C9], NFD: [0x110B, 0x1165, 0x11BC], NFKC: [0xC5C9], NFKD: [0x110B, 0x1165, 0x11BC] }, -{ source: [0xC5CA], NFC: [0xC5CA], NFD: [0x110B, 0x1165, 0x11BD], NFKC: [0xC5CA], NFKD: [0x110B, 0x1165, 0x11BD] }, -{ source: [0xC5CB], NFC: [0xC5CB], NFD: [0x110B, 0x1165, 0x11BE], NFKC: [0xC5CB], NFKD: [0x110B, 0x1165, 0x11BE] }, -{ source: [0xC5CC], NFC: [0xC5CC], NFD: [0x110B, 0x1165, 0x11BF], NFKC: [0xC5CC], NFKD: [0x110B, 0x1165, 0x11BF] }, -{ source: [0xC5CD], NFC: [0xC5CD], NFD: [0x110B, 0x1165, 0x11C0], NFKC: [0xC5CD], NFKD: [0x110B, 0x1165, 0x11C0] }, -{ source: [0xC5CE], NFC: [0xC5CE], NFD: [0x110B, 0x1165, 0x11C1], NFKC: [0xC5CE], NFKD: [0x110B, 0x1165, 0x11C1] }, -{ source: [0xC5CF], NFC: [0xC5CF], NFD: [0x110B, 0x1165, 0x11C2], NFKC: [0xC5CF], NFKD: [0x110B, 0x1165, 0x11C2] }, -{ source: [0xC5D0], NFC: [0xC5D0], NFD: [0x110B, 0x1166], NFKC: [0xC5D0], NFKD: [0x110B, 0x1166] }, -{ source: [0xC5D1], NFC: [0xC5D1], NFD: [0x110B, 0x1166, 0x11A8], NFKC: [0xC5D1], NFKD: [0x110B, 0x1166, 0x11A8] }, -{ source: [0xC5D2], NFC: [0xC5D2], NFD: [0x110B, 0x1166, 0x11A9], NFKC: [0xC5D2], NFKD: [0x110B, 0x1166, 0x11A9] }, -{ source: [0xC5D3], NFC: [0xC5D3], NFD: [0x110B, 0x1166, 0x11AA], NFKC: [0xC5D3], NFKD: [0x110B, 0x1166, 0x11AA] }, -{ source: [0xC5D4], NFC: [0xC5D4], NFD: [0x110B, 0x1166, 0x11AB], NFKC: [0xC5D4], NFKD: [0x110B, 0x1166, 0x11AB] }, -{ source: [0xC5D5], NFC: [0xC5D5], NFD: [0x110B, 0x1166, 0x11AC], NFKC: [0xC5D5], NFKD: [0x110B, 0x1166, 0x11AC] }, -{ source: [0xC5D6], NFC: [0xC5D6], NFD: [0x110B, 0x1166, 0x11AD], NFKC: [0xC5D6], NFKD: [0x110B, 0x1166, 0x11AD] }, -{ source: [0xC5D7], NFC: [0xC5D7], NFD: [0x110B, 0x1166, 0x11AE], NFKC: [0xC5D7], NFKD: [0x110B, 0x1166, 0x11AE] }, -{ source: [0xC5D8], NFC: [0xC5D8], NFD: [0x110B, 0x1166, 0x11AF], NFKC: [0xC5D8], NFKD: [0x110B, 0x1166, 0x11AF] }, -{ source: [0xC5D9], NFC: [0xC5D9], NFD: [0x110B, 0x1166, 0x11B0], NFKC: [0xC5D9], NFKD: [0x110B, 0x1166, 0x11B0] }, -{ source: [0xC5DA], NFC: [0xC5DA], NFD: [0x110B, 0x1166, 0x11B1], NFKC: [0xC5DA], NFKD: [0x110B, 0x1166, 0x11B1] }, -{ source: [0xC5DB], NFC: [0xC5DB], NFD: [0x110B, 0x1166, 0x11B2], NFKC: [0xC5DB], NFKD: [0x110B, 0x1166, 0x11B2] }, -{ source: [0xC5DC], NFC: [0xC5DC], NFD: [0x110B, 0x1166, 0x11B3], NFKC: [0xC5DC], NFKD: [0x110B, 0x1166, 0x11B3] }, -{ source: [0xC5DD], NFC: [0xC5DD], NFD: [0x110B, 0x1166, 0x11B4], NFKC: [0xC5DD], NFKD: [0x110B, 0x1166, 0x11B4] }, -{ source: [0xC5DE], NFC: [0xC5DE], NFD: [0x110B, 0x1166, 0x11B5], NFKC: [0xC5DE], NFKD: [0x110B, 0x1166, 0x11B5] }, -{ source: [0xC5DF], NFC: [0xC5DF], NFD: [0x110B, 0x1166, 0x11B6], NFKC: [0xC5DF], NFKD: [0x110B, 0x1166, 0x11B6] }, -{ source: [0xC5E0], NFC: [0xC5E0], NFD: [0x110B, 0x1166, 0x11B7], NFKC: [0xC5E0], NFKD: [0x110B, 0x1166, 0x11B7] }, -{ source: [0xC5E1], NFC: [0xC5E1], NFD: [0x110B, 0x1166, 0x11B8], NFKC: [0xC5E1], NFKD: [0x110B, 0x1166, 0x11B8] }, -{ source: [0xC5E2], NFC: [0xC5E2], NFD: [0x110B, 0x1166, 0x11B9], NFKC: [0xC5E2], NFKD: [0x110B, 0x1166, 0x11B9] }, -{ source: [0xC5E3], NFC: [0xC5E3], NFD: [0x110B, 0x1166, 0x11BA], NFKC: [0xC5E3], NFKD: [0x110B, 0x1166, 0x11BA] }, -{ source: [0xC5E4], NFC: [0xC5E4], NFD: [0x110B, 0x1166, 0x11BB], NFKC: [0xC5E4], NFKD: [0x110B, 0x1166, 0x11BB] }, -{ source: [0xC5E5], NFC: [0xC5E5], NFD: [0x110B, 0x1166, 0x11BC], NFKC: [0xC5E5], NFKD: [0x110B, 0x1166, 0x11BC] }, -{ source: [0xC5E6], NFC: [0xC5E6], NFD: [0x110B, 0x1166, 0x11BD], NFKC: [0xC5E6], NFKD: [0x110B, 0x1166, 0x11BD] }, -{ source: [0xC5E7], NFC: [0xC5E7], NFD: [0x110B, 0x1166, 0x11BE], NFKC: [0xC5E7], NFKD: [0x110B, 0x1166, 0x11BE] }, -{ source: [0xC5E8], NFC: [0xC5E8], NFD: [0x110B, 0x1166, 0x11BF], NFKC: [0xC5E8], NFKD: [0x110B, 0x1166, 0x11BF] }, -{ source: [0xC5E9], NFC: [0xC5E9], NFD: [0x110B, 0x1166, 0x11C0], NFKC: [0xC5E9], NFKD: [0x110B, 0x1166, 0x11C0] }, -{ source: [0xC5EA], NFC: [0xC5EA], NFD: [0x110B, 0x1166, 0x11C1], NFKC: [0xC5EA], NFKD: [0x110B, 0x1166, 0x11C1] }, -{ source: [0xC5EB], NFC: [0xC5EB], NFD: [0x110B, 0x1166, 0x11C2], NFKC: [0xC5EB], NFKD: [0x110B, 0x1166, 0x11C2] }, -{ source: [0xC5EC], NFC: [0xC5EC], NFD: [0x110B, 0x1167], NFKC: [0xC5EC], NFKD: [0x110B, 0x1167] }, -{ source: [0xC5ED], NFC: [0xC5ED], NFD: [0x110B, 0x1167, 0x11A8], NFKC: [0xC5ED], NFKD: [0x110B, 0x1167, 0x11A8] }, -{ source: [0xC5EE], NFC: [0xC5EE], NFD: [0x110B, 0x1167, 0x11A9], NFKC: [0xC5EE], NFKD: [0x110B, 0x1167, 0x11A9] }, -{ source: [0xC5EF], NFC: [0xC5EF], NFD: [0x110B, 0x1167, 0x11AA], NFKC: [0xC5EF], NFKD: [0x110B, 0x1167, 0x11AA] }, -{ source: [0xC5F0], NFC: [0xC5F0], NFD: [0x110B, 0x1167, 0x11AB], NFKC: [0xC5F0], NFKD: [0x110B, 0x1167, 0x11AB] }, -{ source: [0xC5F1], NFC: [0xC5F1], NFD: [0x110B, 0x1167, 0x11AC], NFKC: [0xC5F1], NFKD: [0x110B, 0x1167, 0x11AC] }, -{ source: [0xC5F2], NFC: [0xC5F2], NFD: [0x110B, 0x1167, 0x11AD], NFKC: [0xC5F2], NFKD: [0x110B, 0x1167, 0x11AD] }, -{ source: [0xC5F3], NFC: [0xC5F3], NFD: [0x110B, 0x1167, 0x11AE], NFKC: [0xC5F3], NFKD: [0x110B, 0x1167, 0x11AE] }, -{ source: [0xC5F4], NFC: [0xC5F4], NFD: [0x110B, 0x1167, 0x11AF], NFKC: [0xC5F4], NFKD: [0x110B, 0x1167, 0x11AF] }, -{ source: [0xC5F5], NFC: [0xC5F5], NFD: [0x110B, 0x1167, 0x11B0], NFKC: [0xC5F5], NFKD: [0x110B, 0x1167, 0x11B0] }, -{ source: [0xC5F6], NFC: [0xC5F6], NFD: [0x110B, 0x1167, 0x11B1], NFKC: [0xC5F6], NFKD: [0x110B, 0x1167, 0x11B1] }, -{ source: [0xC5F7], NFC: [0xC5F7], NFD: [0x110B, 0x1167, 0x11B2], NFKC: [0xC5F7], NFKD: [0x110B, 0x1167, 0x11B2] }, -{ source: [0xC5F8], NFC: [0xC5F8], NFD: [0x110B, 0x1167, 0x11B3], NFKC: [0xC5F8], NFKD: [0x110B, 0x1167, 0x11B3] }, -{ source: [0xC5F9], NFC: [0xC5F9], NFD: [0x110B, 0x1167, 0x11B4], NFKC: [0xC5F9], NFKD: [0x110B, 0x1167, 0x11B4] }, -{ source: [0xC5FA], NFC: [0xC5FA], NFD: [0x110B, 0x1167, 0x11B5], NFKC: [0xC5FA], NFKD: [0x110B, 0x1167, 0x11B5] }, -{ source: [0xC5FB], NFC: [0xC5FB], NFD: [0x110B, 0x1167, 0x11B6], NFKC: [0xC5FB], NFKD: [0x110B, 0x1167, 0x11B6] }, -{ source: [0xC5FC], NFC: [0xC5FC], NFD: [0x110B, 0x1167, 0x11B7], NFKC: [0xC5FC], NFKD: [0x110B, 0x1167, 0x11B7] }, -{ source: [0xC5FD], NFC: [0xC5FD], NFD: [0x110B, 0x1167, 0x11B8], NFKC: [0xC5FD], NFKD: [0x110B, 0x1167, 0x11B8] }, -{ source: [0xC5FE], NFC: [0xC5FE], NFD: [0x110B, 0x1167, 0x11B9], NFKC: [0xC5FE], NFKD: [0x110B, 0x1167, 0x11B9] }, -{ source: [0xC5FF], NFC: [0xC5FF], NFD: [0x110B, 0x1167, 0x11BA], NFKC: [0xC5FF], NFKD: [0x110B, 0x1167, 0x11BA] }, -{ source: [0xC600], NFC: [0xC600], NFD: [0x110B, 0x1167, 0x11BB], NFKC: [0xC600], NFKD: [0x110B, 0x1167, 0x11BB] }, -{ source: [0xC601], NFC: [0xC601], NFD: [0x110B, 0x1167, 0x11BC], NFKC: [0xC601], NFKD: [0x110B, 0x1167, 0x11BC] }, -{ source: [0xC602], NFC: [0xC602], NFD: [0x110B, 0x1167, 0x11BD], NFKC: [0xC602], NFKD: [0x110B, 0x1167, 0x11BD] }, -{ source: [0xC603], NFC: [0xC603], NFD: [0x110B, 0x1167, 0x11BE], NFKC: [0xC603], NFKD: [0x110B, 0x1167, 0x11BE] }, -{ source: [0xC604], NFC: [0xC604], NFD: [0x110B, 0x1167, 0x11BF], NFKC: [0xC604], NFKD: [0x110B, 0x1167, 0x11BF] }, -{ source: [0xC605], NFC: [0xC605], NFD: [0x110B, 0x1167, 0x11C0], NFKC: [0xC605], NFKD: [0x110B, 0x1167, 0x11C0] }, -{ source: [0xC606], NFC: [0xC606], NFD: [0x110B, 0x1167, 0x11C1], NFKC: [0xC606], NFKD: [0x110B, 0x1167, 0x11C1] }, -{ source: [0xC607], NFC: [0xC607], NFD: [0x110B, 0x1167, 0x11C2], NFKC: [0xC607], NFKD: [0x110B, 0x1167, 0x11C2] }, -{ source: [0xC608], NFC: [0xC608], NFD: [0x110B, 0x1168], NFKC: [0xC608], NFKD: [0x110B, 0x1168] }, -{ source: [0xC609], NFC: [0xC609], NFD: [0x110B, 0x1168, 0x11A8], NFKC: [0xC609], NFKD: [0x110B, 0x1168, 0x11A8] }, -{ source: [0xC60A], NFC: [0xC60A], NFD: [0x110B, 0x1168, 0x11A9], NFKC: [0xC60A], NFKD: [0x110B, 0x1168, 0x11A9] }, -{ source: [0xC60B], NFC: [0xC60B], NFD: [0x110B, 0x1168, 0x11AA], NFKC: [0xC60B], NFKD: [0x110B, 0x1168, 0x11AA] }, -{ source: [0xC60C], NFC: [0xC60C], NFD: [0x110B, 0x1168, 0x11AB], NFKC: [0xC60C], NFKD: [0x110B, 0x1168, 0x11AB] }, -{ source: [0xC60D], NFC: [0xC60D], NFD: [0x110B, 0x1168, 0x11AC], NFKC: [0xC60D], NFKD: [0x110B, 0x1168, 0x11AC] }, -{ source: [0xC60E], NFC: [0xC60E], NFD: [0x110B, 0x1168, 0x11AD], NFKC: [0xC60E], NFKD: [0x110B, 0x1168, 0x11AD] }, -{ source: [0xC60F], NFC: [0xC60F], NFD: [0x110B, 0x1168, 0x11AE], NFKC: [0xC60F], NFKD: [0x110B, 0x1168, 0x11AE] }, -{ source: [0xC610], NFC: [0xC610], NFD: [0x110B, 0x1168, 0x11AF], NFKC: [0xC610], NFKD: [0x110B, 0x1168, 0x11AF] }, -{ source: [0xC611], NFC: [0xC611], NFD: [0x110B, 0x1168, 0x11B0], NFKC: [0xC611], NFKD: [0x110B, 0x1168, 0x11B0] }, -{ source: [0xC612], NFC: [0xC612], NFD: [0x110B, 0x1168, 0x11B1], NFKC: [0xC612], NFKD: [0x110B, 0x1168, 0x11B1] }, -{ source: [0xC613], NFC: [0xC613], NFD: [0x110B, 0x1168, 0x11B2], NFKC: [0xC613], NFKD: [0x110B, 0x1168, 0x11B2] }, -{ source: [0xC614], NFC: [0xC614], NFD: [0x110B, 0x1168, 0x11B3], NFKC: [0xC614], NFKD: [0x110B, 0x1168, 0x11B3] }, -{ source: [0xC615], NFC: [0xC615], NFD: [0x110B, 0x1168, 0x11B4], NFKC: [0xC615], NFKD: [0x110B, 0x1168, 0x11B4] }, -{ source: [0xC616], NFC: [0xC616], NFD: [0x110B, 0x1168, 0x11B5], NFKC: [0xC616], NFKD: [0x110B, 0x1168, 0x11B5] }, -{ source: [0xC617], NFC: [0xC617], NFD: [0x110B, 0x1168, 0x11B6], NFKC: [0xC617], NFKD: [0x110B, 0x1168, 0x11B6] }, -{ source: [0xC618], NFC: [0xC618], NFD: [0x110B, 0x1168, 0x11B7], NFKC: [0xC618], NFKD: [0x110B, 0x1168, 0x11B7] }, -{ source: [0xC619], NFC: [0xC619], NFD: [0x110B, 0x1168, 0x11B8], NFKC: [0xC619], NFKD: [0x110B, 0x1168, 0x11B8] }, -{ source: [0xC61A], NFC: [0xC61A], NFD: [0x110B, 0x1168, 0x11B9], NFKC: [0xC61A], NFKD: [0x110B, 0x1168, 0x11B9] }, -{ source: [0xC61B], NFC: [0xC61B], NFD: [0x110B, 0x1168, 0x11BA], NFKC: [0xC61B], NFKD: [0x110B, 0x1168, 0x11BA] }, -{ source: [0xC61C], NFC: [0xC61C], NFD: [0x110B, 0x1168, 0x11BB], NFKC: [0xC61C], NFKD: [0x110B, 0x1168, 0x11BB] }, -{ source: [0xC61D], NFC: [0xC61D], NFD: [0x110B, 0x1168, 0x11BC], NFKC: [0xC61D], NFKD: [0x110B, 0x1168, 0x11BC] }, -{ source: [0xC61E], NFC: [0xC61E], NFD: [0x110B, 0x1168, 0x11BD], NFKC: [0xC61E], NFKD: [0x110B, 0x1168, 0x11BD] }, -{ source: [0xC61F], NFC: [0xC61F], NFD: [0x110B, 0x1168, 0x11BE], NFKC: [0xC61F], NFKD: [0x110B, 0x1168, 0x11BE] }, -{ source: [0xC620], NFC: [0xC620], NFD: [0x110B, 0x1168, 0x11BF], NFKC: [0xC620], NFKD: [0x110B, 0x1168, 0x11BF] }, -{ source: [0xC621], NFC: [0xC621], NFD: [0x110B, 0x1168, 0x11C0], NFKC: [0xC621], NFKD: [0x110B, 0x1168, 0x11C0] }, -{ source: [0xC622], NFC: [0xC622], NFD: [0x110B, 0x1168, 0x11C1], NFKC: [0xC622], NFKD: [0x110B, 0x1168, 0x11C1] }, -{ source: [0xC623], NFC: [0xC623], NFD: [0x110B, 0x1168, 0x11C2], NFKC: [0xC623], NFKD: [0x110B, 0x1168, 0x11C2] }, -{ source: [0xC624], NFC: [0xC624], NFD: [0x110B, 0x1169], NFKC: [0xC624], NFKD: [0x110B, 0x1169] }, -{ source: [0xC625], NFC: [0xC625], NFD: [0x110B, 0x1169, 0x11A8], NFKC: [0xC625], NFKD: [0x110B, 0x1169, 0x11A8] }, -{ source: [0xC626], NFC: [0xC626], NFD: [0x110B, 0x1169, 0x11A9], NFKC: [0xC626], NFKD: [0x110B, 0x1169, 0x11A9] }, -{ source: [0xC627], NFC: [0xC627], NFD: [0x110B, 0x1169, 0x11AA], NFKC: [0xC627], NFKD: [0x110B, 0x1169, 0x11AA] }, -{ source: [0xC628], NFC: [0xC628], NFD: [0x110B, 0x1169, 0x11AB], NFKC: [0xC628], NFKD: [0x110B, 0x1169, 0x11AB] }, -{ source: [0xC629], NFC: [0xC629], NFD: [0x110B, 0x1169, 0x11AC], NFKC: [0xC629], NFKD: [0x110B, 0x1169, 0x11AC] }, -{ source: [0xC62A], NFC: [0xC62A], NFD: [0x110B, 0x1169, 0x11AD], NFKC: [0xC62A], NFKD: [0x110B, 0x1169, 0x11AD] }, -{ source: [0xC62B], NFC: [0xC62B], NFD: [0x110B, 0x1169, 0x11AE], NFKC: [0xC62B], NFKD: [0x110B, 0x1169, 0x11AE] }, -{ source: [0xC62C], NFC: [0xC62C], NFD: [0x110B, 0x1169, 0x11AF], NFKC: [0xC62C], NFKD: [0x110B, 0x1169, 0x11AF] }, -{ source: [0xC62D], NFC: [0xC62D], NFD: [0x110B, 0x1169, 0x11B0], NFKC: [0xC62D], NFKD: [0x110B, 0x1169, 0x11B0] }, -{ source: [0xC62E], NFC: [0xC62E], NFD: [0x110B, 0x1169, 0x11B1], NFKC: [0xC62E], NFKD: [0x110B, 0x1169, 0x11B1] }, -{ source: [0xC62F], NFC: [0xC62F], NFD: [0x110B, 0x1169, 0x11B2], NFKC: [0xC62F], NFKD: [0x110B, 0x1169, 0x11B2] }, -{ source: [0xC630], NFC: [0xC630], NFD: [0x110B, 0x1169, 0x11B3], NFKC: [0xC630], NFKD: [0x110B, 0x1169, 0x11B3] }, -{ source: [0xC631], NFC: [0xC631], NFD: [0x110B, 0x1169, 0x11B4], NFKC: [0xC631], NFKD: [0x110B, 0x1169, 0x11B4] }, -{ source: [0xC632], NFC: [0xC632], NFD: [0x110B, 0x1169, 0x11B5], NFKC: [0xC632], NFKD: [0x110B, 0x1169, 0x11B5] }, -{ source: [0xC633], NFC: [0xC633], NFD: [0x110B, 0x1169, 0x11B6], NFKC: [0xC633], NFKD: [0x110B, 0x1169, 0x11B6] }, -{ source: [0xC634], NFC: [0xC634], NFD: [0x110B, 0x1169, 0x11B7], NFKC: [0xC634], NFKD: [0x110B, 0x1169, 0x11B7] }, -{ source: [0xC635], NFC: [0xC635], NFD: [0x110B, 0x1169, 0x11B8], NFKC: [0xC635], NFKD: [0x110B, 0x1169, 0x11B8] }, -{ source: [0xC636], NFC: [0xC636], NFD: [0x110B, 0x1169, 0x11B9], NFKC: [0xC636], NFKD: [0x110B, 0x1169, 0x11B9] }, -{ source: [0xC637], NFC: [0xC637], NFD: [0x110B, 0x1169, 0x11BA], NFKC: [0xC637], NFKD: [0x110B, 0x1169, 0x11BA] }, -{ source: [0xC638], NFC: [0xC638], NFD: [0x110B, 0x1169, 0x11BB], NFKC: [0xC638], NFKD: [0x110B, 0x1169, 0x11BB] }, -{ source: [0xC639], NFC: [0xC639], NFD: [0x110B, 0x1169, 0x11BC], NFKC: [0xC639], NFKD: [0x110B, 0x1169, 0x11BC] }, -{ source: [0xC63A], NFC: [0xC63A], NFD: [0x110B, 0x1169, 0x11BD], NFKC: [0xC63A], NFKD: [0x110B, 0x1169, 0x11BD] }, -{ source: [0xC63B], NFC: [0xC63B], NFD: [0x110B, 0x1169, 0x11BE], NFKC: [0xC63B], NFKD: [0x110B, 0x1169, 0x11BE] }, -{ source: [0xC63C], NFC: [0xC63C], NFD: [0x110B, 0x1169, 0x11BF], NFKC: [0xC63C], NFKD: [0x110B, 0x1169, 0x11BF] }, -{ source: [0xC63D], NFC: [0xC63D], NFD: [0x110B, 0x1169, 0x11C0], NFKC: [0xC63D], NFKD: [0x110B, 0x1169, 0x11C0] }, -{ source: [0xC63E], NFC: [0xC63E], NFD: [0x110B, 0x1169, 0x11C1], NFKC: [0xC63E], NFKD: [0x110B, 0x1169, 0x11C1] }, -{ source: [0xC63F], NFC: [0xC63F], NFD: [0x110B, 0x1169, 0x11C2], NFKC: [0xC63F], NFKD: [0x110B, 0x1169, 0x11C2] }, -{ source: [0xC640], NFC: [0xC640], NFD: [0x110B, 0x116A], NFKC: [0xC640], NFKD: [0x110B, 0x116A] }, -{ source: [0xC641], NFC: [0xC641], NFD: [0x110B, 0x116A, 0x11A8], NFKC: [0xC641], NFKD: [0x110B, 0x116A, 0x11A8] }, -{ source: [0xC642], NFC: [0xC642], NFD: [0x110B, 0x116A, 0x11A9], NFKC: [0xC642], NFKD: [0x110B, 0x116A, 0x11A9] }, -{ source: [0xC643], NFC: [0xC643], NFD: [0x110B, 0x116A, 0x11AA], NFKC: [0xC643], NFKD: [0x110B, 0x116A, 0x11AA] }, -{ source: [0xC644], NFC: [0xC644], NFD: [0x110B, 0x116A, 0x11AB], NFKC: [0xC644], NFKD: [0x110B, 0x116A, 0x11AB] }, -{ source: [0xC645], NFC: [0xC645], NFD: [0x110B, 0x116A, 0x11AC], NFKC: [0xC645], NFKD: [0x110B, 0x116A, 0x11AC] }, -{ source: [0xC646], NFC: [0xC646], NFD: [0x110B, 0x116A, 0x11AD], NFKC: [0xC646], NFKD: [0x110B, 0x116A, 0x11AD] }, -{ source: [0xC647], NFC: [0xC647], NFD: [0x110B, 0x116A, 0x11AE], NFKC: [0xC647], NFKD: [0x110B, 0x116A, 0x11AE] }, -{ source: [0xC648], NFC: [0xC648], NFD: [0x110B, 0x116A, 0x11AF], NFKC: [0xC648], NFKD: [0x110B, 0x116A, 0x11AF] }, -{ source: [0xC649], NFC: [0xC649], NFD: [0x110B, 0x116A, 0x11B0], NFKC: [0xC649], NFKD: [0x110B, 0x116A, 0x11B0] }, -{ source: [0xC64A], NFC: [0xC64A], NFD: [0x110B, 0x116A, 0x11B1], NFKC: [0xC64A], NFKD: [0x110B, 0x116A, 0x11B1] }, -{ source: [0xC64B], NFC: [0xC64B], NFD: [0x110B, 0x116A, 0x11B2], NFKC: [0xC64B], NFKD: [0x110B, 0x116A, 0x11B2] }, -{ source: [0xC64C], NFC: [0xC64C], NFD: [0x110B, 0x116A, 0x11B3], NFKC: [0xC64C], NFKD: [0x110B, 0x116A, 0x11B3] }, -{ source: [0xC64D], NFC: [0xC64D], NFD: [0x110B, 0x116A, 0x11B4], NFKC: [0xC64D], NFKD: [0x110B, 0x116A, 0x11B4] }, -{ source: [0xC64E], NFC: [0xC64E], NFD: [0x110B, 0x116A, 0x11B5], NFKC: [0xC64E], NFKD: [0x110B, 0x116A, 0x11B5] }, -{ source: [0xC64F], NFC: [0xC64F], NFD: [0x110B, 0x116A, 0x11B6], NFKC: [0xC64F], NFKD: [0x110B, 0x116A, 0x11B6] }, -{ source: [0xC650], NFC: [0xC650], NFD: [0x110B, 0x116A, 0x11B7], NFKC: [0xC650], NFKD: [0x110B, 0x116A, 0x11B7] }, -{ source: [0xC651], NFC: [0xC651], NFD: [0x110B, 0x116A, 0x11B8], NFKC: [0xC651], NFKD: [0x110B, 0x116A, 0x11B8] }, -{ source: [0xC652], NFC: [0xC652], NFD: [0x110B, 0x116A, 0x11B9], NFKC: [0xC652], NFKD: [0x110B, 0x116A, 0x11B9] }, -{ source: [0xC653], NFC: [0xC653], NFD: [0x110B, 0x116A, 0x11BA], NFKC: [0xC653], NFKD: [0x110B, 0x116A, 0x11BA] }, -{ source: [0xC654], NFC: [0xC654], NFD: [0x110B, 0x116A, 0x11BB], NFKC: [0xC654], NFKD: [0x110B, 0x116A, 0x11BB] }, -{ source: [0xC655], NFC: [0xC655], NFD: [0x110B, 0x116A, 0x11BC], NFKC: [0xC655], NFKD: [0x110B, 0x116A, 0x11BC] }, -{ source: [0xC656], NFC: [0xC656], NFD: [0x110B, 0x116A, 0x11BD], NFKC: [0xC656], NFKD: [0x110B, 0x116A, 0x11BD] }, -{ source: [0xC657], NFC: [0xC657], NFD: [0x110B, 0x116A, 0x11BE], NFKC: [0xC657], NFKD: [0x110B, 0x116A, 0x11BE] }, -{ source: [0xC658], NFC: [0xC658], NFD: [0x110B, 0x116A, 0x11BF], NFKC: [0xC658], NFKD: [0x110B, 0x116A, 0x11BF] }, -{ source: [0xC659], NFC: [0xC659], NFD: [0x110B, 0x116A, 0x11C0], NFKC: [0xC659], NFKD: [0x110B, 0x116A, 0x11C0] }, -{ source: [0xC65A], NFC: [0xC65A], NFD: [0x110B, 0x116A, 0x11C1], NFKC: [0xC65A], NFKD: [0x110B, 0x116A, 0x11C1] }, -{ source: [0xC65B], NFC: [0xC65B], NFD: [0x110B, 0x116A, 0x11C2], NFKC: [0xC65B], NFKD: [0x110B, 0x116A, 0x11C2] }, -{ source: [0xC65C], NFC: [0xC65C], NFD: [0x110B, 0x116B], NFKC: [0xC65C], NFKD: [0x110B, 0x116B] }, -{ source: [0xC65D], NFC: [0xC65D], NFD: [0x110B, 0x116B, 0x11A8], NFKC: [0xC65D], NFKD: [0x110B, 0x116B, 0x11A8] }, -{ source: [0xC65E], NFC: [0xC65E], NFD: [0x110B, 0x116B, 0x11A9], NFKC: [0xC65E], NFKD: [0x110B, 0x116B, 0x11A9] }, -{ source: [0xC65F], NFC: [0xC65F], NFD: [0x110B, 0x116B, 0x11AA], NFKC: [0xC65F], NFKD: [0x110B, 0x116B, 0x11AA] }, -{ source: [0xC660], NFC: [0xC660], NFD: [0x110B, 0x116B, 0x11AB], NFKC: [0xC660], NFKD: [0x110B, 0x116B, 0x11AB] }, -{ source: [0xC661], NFC: [0xC661], NFD: [0x110B, 0x116B, 0x11AC], NFKC: [0xC661], NFKD: [0x110B, 0x116B, 0x11AC] }, -{ source: [0xC662], NFC: [0xC662], NFD: [0x110B, 0x116B, 0x11AD], NFKC: [0xC662], NFKD: [0x110B, 0x116B, 0x11AD] }, -{ source: [0xC663], NFC: [0xC663], NFD: [0x110B, 0x116B, 0x11AE], NFKC: [0xC663], NFKD: [0x110B, 0x116B, 0x11AE] }, -{ source: [0xC664], NFC: [0xC664], NFD: [0x110B, 0x116B, 0x11AF], NFKC: [0xC664], NFKD: [0x110B, 0x116B, 0x11AF] }, -{ source: [0xC665], NFC: [0xC665], NFD: [0x110B, 0x116B, 0x11B0], NFKC: [0xC665], NFKD: [0x110B, 0x116B, 0x11B0] }, -{ source: [0xC666], NFC: [0xC666], NFD: [0x110B, 0x116B, 0x11B1], NFKC: [0xC666], NFKD: [0x110B, 0x116B, 0x11B1] }, -{ source: [0xC667], NFC: [0xC667], NFD: [0x110B, 0x116B, 0x11B2], NFKC: [0xC667], NFKD: [0x110B, 0x116B, 0x11B2] }, -{ source: [0xC668], NFC: [0xC668], NFD: [0x110B, 0x116B, 0x11B3], NFKC: [0xC668], NFKD: [0x110B, 0x116B, 0x11B3] }, -{ source: [0xC669], NFC: [0xC669], NFD: [0x110B, 0x116B, 0x11B4], NFKC: [0xC669], NFKD: [0x110B, 0x116B, 0x11B4] }, -{ source: [0xC66A], NFC: [0xC66A], NFD: [0x110B, 0x116B, 0x11B5], NFKC: [0xC66A], NFKD: [0x110B, 0x116B, 0x11B5] }, -{ source: [0xC66B], NFC: [0xC66B], NFD: [0x110B, 0x116B, 0x11B6], NFKC: [0xC66B], NFKD: [0x110B, 0x116B, 0x11B6] }, -{ source: [0xC66C], NFC: [0xC66C], NFD: [0x110B, 0x116B, 0x11B7], NFKC: [0xC66C], NFKD: [0x110B, 0x116B, 0x11B7] }, -{ source: [0xC66D], NFC: [0xC66D], NFD: [0x110B, 0x116B, 0x11B8], NFKC: [0xC66D], NFKD: [0x110B, 0x116B, 0x11B8] }, -{ source: [0xC66E], NFC: [0xC66E], NFD: [0x110B, 0x116B, 0x11B9], NFKC: [0xC66E], NFKD: [0x110B, 0x116B, 0x11B9] }, -{ source: [0xC66F], NFC: [0xC66F], NFD: [0x110B, 0x116B, 0x11BA], NFKC: [0xC66F], NFKD: [0x110B, 0x116B, 0x11BA] }, -{ source: [0xC670], NFC: [0xC670], NFD: [0x110B, 0x116B, 0x11BB], NFKC: [0xC670], NFKD: [0x110B, 0x116B, 0x11BB] }, -{ source: [0xC671], NFC: [0xC671], NFD: [0x110B, 0x116B, 0x11BC], NFKC: [0xC671], NFKD: [0x110B, 0x116B, 0x11BC] }, -{ source: [0xC672], NFC: [0xC672], NFD: [0x110B, 0x116B, 0x11BD], NFKC: [0xC672], NFKD: [0x110B, 0x116B, 0x11BD] }, -{ source: [0xC673], NFC: [0xC673], NFD: [0x110B, 0x116B, 0x11BE], NFKC: [0xC673], NFKD: [0x110B, 0x116B, 0x11BE] }, -{ source: [0xC674], NFC: [0xC674], NFD: [0x110B, 0x116B, 0x11BF], NFKC: [0xC674], NFKD: [0x110B, 0x116B, 0x11BF] }, -{ source: [0xC675], NFC: [0xC675], NFD: [0x110B, 0x116B, 0x11C0], NFKC: [0xC675], NFKD: [0x110B, 0x116B, 0x11C0] }, -{ source: [0xC676], NFC: [0xC676], NFD: [0x110B, 0x116B, 0x11C1], NFKC: [0xC676], NFKD: [0x110B, 0x116B, 0x11C1] }, -{ source: [0xC677], NFC: [0xC677], NFD: [0x110B, 0x116B, 0x11C2], NFKC: [0xC677], NFKD: [0x110B, 0x116B, 0x11C2] }, -{ source: [0xC678], NFC: [0xC678], NFD: [0x110B, 0x116C], NFKC: [0xC678], NFKD: [0x110B, 0x116C] }, -{ source: [0xC679], NFC: [0xC679], NFD: [0x110B, 0x116C, 0x11A8], NFKC: [0xC679], NFKD: [0x110B, 0x116C, 0x11A8] }, -{ source: [0xC67A], NFC: [0xC67A], NFD: [0x110B, 0x116C, 0x11A9], NFKC: [0xC67A], NFKD: [0x110B, 0x116C, 0x11A9] }, -{ source: [0xC67B], NFC: [0xC67B], NFD: [0x110B, 0x116C, 0x11AA], NFKC: [0xC67B], NFKD: [0x110B, 0x116C, 0x11AA] }, -{ source: [0xC67C], NFC: [0xC67C], NFD: [0x110B, 0x116C, 0x11AB], NFKC: [0xC67C], NFKD: [0x110B, 0x116C, 0x11AB] }, -{ source: [0xC67D], NFC: [0xC67D], NFD: [0x110B, 0x116C, 0x11AC], NFKC: [0xC67D], NFKD: [0x110B, 0x116C, 0x11AC] }, -{ source: [0xC67E], NFC: [0xC67E], NFD: [0x110B, 0x116C, 0x11AD], NFKC: [0xC67E], NFKD: [0x110B, 0x116C, 0x11AD] }, -{ source: [0xC67F], NFC: [0xC67F], NFD: [0x110B, 0x116C, 0x11AE], NFKC: [0xC67F], NFKD: [0x110B, 0x116C, 0x11AE] }, -{ source: [0xC680], NFC: [0xC680], NFD: [0x110B, 0x116C, 0x11AF], NFKC: [0xC680], NFKD: [0x110B, 0x116C, 0x11AF] }, -{ source: [0xC681], NFC: [0xC681], NFD: [0x110B, 0x116C, 0x11B0], NFKC: [0xC681], NFKD: [0x110B, 0x116C, 0x11B0] }, -{ source: [0xC682], NFC: [0xC682], NFD: [0x110B, 0x116C, 0x11B1], NFKC: [0xC682], NFKD: [0x110B, 0x116C, 0x11B1] }, -{ source: [0xC683], NFC: [0xC683], NFD: [0x110B, 0x116C, 0x11B2], NFKC: [0xC683], NFKD: [0x110B, 0x116C, 0x11B2] }, -{ source: [0xC684], NFC: [0xC684], NFD: [0x110B, 0x116C, 0x11B3], NFKC: [0xC684], NFKD: [0x110B, 0x116C, 0x11B3] }, -{ source: [0xC685], NFC: [0xC685], NFD: [0x110B, 0x116C, 0x11B4], NFKC: [0xC685], NFKD: [0x110B, 0x116C, 0x11B4] }, -{ source: [0xC686], NFC: [0xC686], NFD: [0x110B, 0x116C, 0x11B5], NFKC: [0xC686], NFKD: [0x110B, 0x116C, 0x11B5] }, -{ source: [0xC687], NFC: [0xC687], NFD: [0x110B, 0x116C, 0x11B6], NFKC: [0xC687], NFKD: [0x110B, 0x116C, 0x11B6] }, -{ source: [0xC688], NFC: [0xC688], NFD: [0x110B, 0x116C, 0x11B7], NFKC: [0xC688], NFKD: [0x110B, 0x116C, 0x11B7] }, -{ source: [0xC689], NFC: [0xC689], NFD: [0x110B, 0x116C, 0x11B8], NFKC: [0xC689], NFKD: [0x110B, 0x116C, 0x11B8] }, -{ source: [0xC68A], NFC: [0xC68A], NFD: [0x110B, 0x116C, 0x11B9], NFKC: [0xC68A], NFKD: [0x110B, 0x116C, 0x11B9] }, -{ source: [0xC68B], NFC: [0xC68B], NFD: [0x110B, 0x116C, 0x11BA], NFKC: [0xC68B], NFKD: [0x110B, 0x116C, 0x11BA] }, -{ source: [0xC68C], NFC: [0xC68C], NFD: [0x110B, 0x116C, 0x11BB], NFKC: [0xC68C], NFKD: [0x110B, 0x116C, 0x11BB] }, -{ source: [0xC68D], NFC: [0xC68D], NFD: [0x110B, 0x116C, 0x11BC], NFKC: [0xC68D], NFKD: [0x110B, 0x116C, 0x11BC] }, -{ source: [0xC68E], NFC: [0xC68E], NFD: [0x110B, 0x116C, 0x11BD], NFKC: [0xC68E], NFKD: [0x110B, 0x116C, 0x11BD] }, -{ source: [0xC68F], NFC: [0xC68F], NFD: [0x110B, 0x116C, 0x11BE], NFKC: [0xC68F], NFKD: [0x110B, 0x116C, 0x11BE] }, -{ source: [0xC690], NFC: [0xC690], NFD: [0x110B, 0x116C, 0x11BF], NFKC: [0xC690], NFKD: [0x110B, 0x116C, 0x11BF] }, -{ source: [0xC691], NFC: [0xC691], NFD: [0x110B, 0x116C, 0x11C0], NFKC: [0xC691], NFKD: [0x110B, 0x116C, 0x11C0] }, -{ source: [0xC692], NFC: [0xC692], NFD: [0x110B, 0x116C, 0x11C1], NFKC: [0xC692], NFKD: [0x110B, 0x116C, 0x11C1] }, -{ source: [0xC693], NFC: [0xC693], NFD: [0x110B, 0x116C, 0x11C2], NFKC: [0xC693], NFKD: [0x110B, 0x116C, 0x11C2] }, -{ source: [0xC694], NFC: [0xC694], NFD: [0x110B, 0x116D], NFKC: [0xC694], NFKD: [0x110B, 0x116D] }, -{ source: [0xC695], NFC: [0xC695], NFD: [0x110B, 0x116D, 0x11A8], NFKC: [0xC695], NFKD: [0x110B, 0x116D, 0x11A8] }, -{ source: [0xC696], NFC: [0xC696], NFD: [0x110B, 0x116D, 0x11A9], NFKC: [0xC696], NFKD: [0x110B, 0x116D, 0x11A9] }, -{ source: [0xC697], NFC: [0xC697], NFD: [0x110B, 0x116D, 0x11AA], NFKC: [0xC697], NFKD: [0x110B, 0x116D, 0x11AA] }, -{ source: [0xC698], NFC: [0xC698], NFD: [0x110B, 0x116D, 0x11AB], NFKC: [0xC698], NFKD: [0x110B, 0x116D, 0x11AB] }, -{ source: [0xC699], NFC: [0xC699], NFD: [0x110B, 0x116D, 0x11AC], NFKC: [0xC699], NFKD: [0x110B, 0x116D, 0x11AC] }, -{ source: [0xC69A], NFC: [0xC69A], NFD: [0x110B, 0x116D, 0x11AD], NFKC: [0xC69A], NFKD: [0x110B, 0x116D, 0x11AD] }, -{ source: [0xC69B], NFC: [0xC69B], NFD: [0x110B, 0x116D, 0x11AE], NFKC: [0xC69B], NFKD: [0x110B, 0x116D, 0x11AE] }, -{ source: [0xC69C], NFC: [0xC69C], NFD: [0x110B, 0x116D, 0x11AF], NFKC: [0xC69C], NFKD: [0x110B, 0x116D, 0x11AF] }, -{ source: [0xC69D], NFC: [0xC69D], NFD: [0x110B, 0x116D, 0x11B0], NFKC: [0xC69D], NFKD: [0x110B, 0x116D, 0x11B0] }, -{ source: [0xC69E], NFC: [0xC69E], NFD: [0x110B, 0x116D, 0x11B1], NFKC: [0xC69E], NFKD: [0x110B, 0x116D, 0x11B1] }, -{ source: [0xC69F], NFC: [0xC69F], NFD: [0x110B, 0x116D, 0x11B2], NFKC: [0xC69F], NFKD: [0x110B, 0x116D, 0x11B2] }, -{ source: [0xC6A0], NFC: [0xC6A0], NFD: [0x110B, 0x116D, 0x11B3], NFKC: [0xC6A0], NFKD: [0x110B, 0x116D, 0x11B3] }, -{ source: [0xC6A1], NFC: [0xC6A1], NFD: [0x110B, 0x116D, 0x11B4], NFKC: [0xC6A1], NFKD: [0x110B, 0x116D, 0x11B4] }, -{ source: [0xC6A2], NFC: [0xC6A2], NFD: [0x110B, 0x116D, 0x11B5], NFKC: [0xC6A2], NFKD: [0x110B, 0x116D, 0x11B5] }, -{ source: [0xC6A3], NFC: [0xC6A3], NFD: [0x110B, 0x116D, 0x11B6], NFKC: [0xC6A3], NFKD: [0x110B, 0x116D, 0x11B6] }, -{ source: [0xC6A4], NFC: [0xC6A4], NFD: [0x110B, 0x116D, 0x11B7], NFKC: [0xC6A4], NFKD: [0x110B, 0x116D, 0x11B7] }, -{ source: [0xC6A5], NFC: [0xC6A5], NFD: [0x110B, 0x116D, 0x11B8], NFKC: [0xC6A5], NFKD: [0x110B, 0x116D, 0x11B8] }, -{ source: [0xC6A6], NFC: [0xC6A6], NFD: [0x110B, 0x116D, 0x11B9], NFKC: [0xC6A6], NFKD: [0x110B, 0x116D, 0x11B9] }, -{ source: [0xC6A7], NFC: [0xC6A7], NFD: [0x110B, 0x116D, 0x11BA], NFKC: [0xC6A7], NFKD: [0x110B, 0x116D, 0x11BA] }, -{ source: [0xC6A8], NFC: [0xC6A8], NFD: [0x110B, 0x116D, 0x11BB], NFKC: [0xC6A8], NFKD: [0x110B, 0x116D, 0x11BB] }, -{ source: [0xC6A9], NFC: [0xC6A9], NFD: [0x110B, 0x116D, 0x11BC], NFKC: [0xC6A9], NFKD: [0x110B, 0x116D, 0x11BC] }, -{ source: [0xC6AA], NFC: [0xC6AA], NFD: [0x110B, 0x116D, 0x11BD], NFKC: [0xC6AA], NFKD: [0x110B, 0x116D, 0x11BD] }, -{ source: [0xC6AB], NFC: [0xC6AB], NFD: [0x110B, 0x116D, 0x11BE], NFKC: [0xC6AB], NFKD: [0x110B, 0x116D, 0x11BE] }, -{ source: [0xC6AC], NFC: [0xC6AC], NFD: [0x110B, 0x116D, 0x11BF], NFKC: [0xC6AC], NFKD: [0x110B, 0x116D, 0x11BF] }, -{ source: [0xC6AD], NFC: [0xC6AD], NFD: [0x110B, 0x116D, 0x11C0], NFKC: [0xC6AD], NFKD: [0x110B, 0x116D, 0x11C0] }, -{ source: [0xC6AE], NFC: [0xC6AE], NFD: [0x110B, 0x116D, 0x11C1], NFKC: [0xC6AE], NFKD: [0x110B, 0x116D, 0x11C1] }, -{ source: [0xC6AF], NFC: [0xC6AF], NFD: [0x110B, 0x116D, 0x11C2], NFKC: [0xC6AF], NFKD: [0x110B, 0x116D, 0x11C2] }, -{ source: [0xC6B0], NFC: [0xC6B0], NFD: [0x110B, 0x116E], NFKC: [0xC6B0], NFKD: [0x110B, 0x116E] }, -{ source: [0xC6B1], NFC: [0xC6B1], NFD: [0x110B, 0x116E, 0x11A8], NFKC: [0xC6B1], NFKD: [0x110B, 0x116E, 0x11A8] }, -{ source: [0xC6B2], NFC: [0xC6B2], NFD: [0x110B, 0x116E, 0x11A9], NFKC: [0xC6B2], NFKD: [0x110B, 0x116E, 0x11A9] }, -{ source: [0xC6B3], NFC: [0xC6B3], NFD: [0x110B, 0x116E, 0x11AA], NFKC: [0xC6B3], NFKD: [0x110B, 0x116E, 0x11AA] }, -{ source: [0xC6B4], NFC: [0xC6B4], NFD: [0x110B, 0x116E, 0x11AB], NFKC: [0xC6B4], NFKD: [0x110B, 0x116E, 0x11AB] }, -{ source: [0xC6B5], NFC: [0xC6B5], NFD: [0x110B, 0x116E, 0x11AC], NFKC: [0xC6B5], NFKD: [0x110B, 0x116E, 0x11AC] }, -{ source: [0xC6B6], NFC: [0xC6B6], NFD: [0x110B, 0x116E, 0x11AD], NFKC: [0xC6B6], NFKD: [0x110B, 0x116E, 0x11AD] }, -{ source: [0xC6B7], NFC: [0xC6B7], NFD: [0x110B, 0x116E, 0x11AE], NFKC: [0xC6B7], NFKD: [0x110B, 0x116E, 0x11AE] }, -{ source: [0xC6B8], NFC: [0xC6B8], NFD: [0x110B, 0x116E, 0x11AF], NFKC: [0xC6B8], NFKD: [0x110B, 0x116E, 0x11AF] }, -{ source: [0xC6B9], NFC: [0xC6B9], NFD: [0x110B, 0x116E, 0x11B0], NFKC: [0xC6B9], NFKD: [0x110B, 0x116E, 0x11B0] }, -{ source: [0xC6BA], NFC: [0xC6BA], NFD: [0x110B, 0x116E, 0x11B1], NFKC: [0xC6BA], NFKD: [0x110B, 0x116E, 0x11B1] }, -{ source: [0xC6BB], NFC: [0xC6BB], NFD: [0x110B, 0x116E, 0x11B2], NFKC: [0xC6BB], NFKD: [0x110B, 0x116E, 0x11B2] }, -{ source: [0xC6BC], NFC: [0xC6BC], NFD: [0x110B, 0x116E, 0x11B3], NFKC: [0xC6BC], NFKD: [0x110B, 0x116E, 0x11B3] }, -{ source: [0xC6BD], NFC: [0xC6BD], NFD: [0x110B, 0x116E, 0x11B4], NFKC: [0xC6BD], NFKD: [0x110B, 0x116E, 0x11B4] }, -{ source: [0xC6BE], NFC: [0xC6BE], NFD: [0x110B, 0x116E, 0x11B5], NFKC: [0xC6BE], NFKD: [0x110B, 0x116E, 0x11B5] }, -{ source: [0xC6BF], NFC: [0xC6BF], NFD: [0x110B, 0x116E, 0x11B6], NFKC: [0xC6BF], NFKD: [0x110B, 0x116E, 0x11B6] }, -{ source: [0xC6C0], NFC: [0xC6C0], NFD: [0x110B, 0x116E, 0x11B7], NFKC: [0xC6C0], NFKD: [0x110B, 0x116E, 0x11B7] }, -{ source: [0xC6C1], NFC: [0xC6C1], NFD: [0x110B, 0x116E, 0x11B8], NFKC: [0xC6C1], NFKD: [0x110B, 0x116E, 0x11B8] }, -{ source: [0xC6C2], NFC: [0xC6C2], NFD: [0x110B, 0x116E, 0x11B9], NFKC: [0xC6C2], NFKD: [0x110B, 0x116E, 0x11B9] }, -{ source: [0xC6C3], NFC: [0xC6C3], NFD: [0x110B, 0x116E, 0x11BA], NFKC: [0xC6C3], NFKD: [0x110B, 0x116E, 0x11BA] }, -{ source: [0xC6C4], NFC: [0xC6C4], NFD: [0x110B, 0x116E, 0x11BB], NFKC: [0xC6C4], NFKD: [0x110B, 0x116E, 0x11BB] }, -{ source: [0xC6C5], NFC: [0xC6C5], NFD: [0x110B, 0x116E, 0x11BC], NFKC: [0xC6C5], NFKD: [0x110B, 0x116E, 0x11BC] }, -{ source: [0xC6C6], NFC: [0xC6C6], NFD: [0x110B, 0x116E, 0x11BD], NFKC: [0xC6C6], NFKD: [0x110B, 0x116E, 0x11BD] }, -{ source: [0xC6C7], NFC: [0xC6C7], NFD: [0x110B, 0x116E, 0x11BE], NFKC: [0xC6C7], NFKD: [0x110B, 0x116E, 0x11BE] }, -{ source: [0xC6C8], NFC: [0xC6C8], NFD: [0x110B, 0x116E, 0x11BF], NFKC: [0xC6C8], NFKD: [0x110B, 0x116E, 0x11BF] }, -{ source: [0xC6C9], NFC: [0xC6C9], NFD: [0x110B, 0x116E, 0x11C0], NFKC: [0xC6C9], NFKD: [0x110B, 0x116E, 0x11C0] }, -{ source: [0xC6CA], NFC: [0xC6CA], NFD: [0x110B, 0x116E, 0x11C1], NFKC: [0xC6CA], NFKD: [0x110B, 0x116E, 0x11C1] }, -{ source: [0xC6CB], NFC: [0xC6CB], NFD: [0x110B, 0x116E, 0x11C2], NFKC: [0xC6CB], NFKD: [0x110B, 0x116E, 0x11C2] }, -{ source: [0xC6CC], NFC: [0xC6CC], NFD: [0x110B, 0x116F], NFKC: [0xC6CC], NFKD: [0x110B, 0x116F] }, -{ source: [0xC6CD], NFC: [0xC6CD], NFD: [0x110B, 0x116F, 0x11A8], NFKC: [0xC6CD], NFKD: [0x110B, 0x116F, 0x11A8] }, -{ source: [0xC6CE], NFC: [0xC6CE], NFD: [0x110B, 0x116F, 0x11A9], NFKC: [0xC6CE], NFKD: [0x110B, 0x116F, 0x11A9] }, -{ source: [0xC6CF], NFC: [0xC6CF], NFD: [0x110B, 0x116F, 0x11AA], NFKC: [0xC6CF], NFKD: [0x110B, 0x116F, 0x11AA] }, -{ source: [0xC6D0], NFC: [0xC6D0], NFD: [0x110B, 0x116F, 0x11AB], NFKC: [0xC6D0], NFKD: [0x110B, 0x116F, 0x11AB] }, -{ source: [0xC6D1], NFC: [0xC6D1], NFD: [0x110B, 0x116F, 0x11AC], NFKC: [0xC6D1], NFKD: [0x110B, 0x116F, 0x11AC] }, -{ source: [0xC6D2], NFC: [0xC6D2], NFD: [0x110B, 0x116F, 0x11AD], NFKC: [0xC6D2], NFKD: [0x110B, 0x116F, 0x11AD] }, -{ source: [0xC6D3], NFC: [0xC6D3], NFD: [0x110B, 0x116F, 0x11AE], NFKC: [0xC6D3], NFKD: [0x110B, 0x116F, 0x11AE] }, -{ source: [0xC6D4], NFC: [0xC6D4], NFD: [0x110B, 0x116F, 0x11AF], NFKC: [0xC6D4], NFKD: [0x110B, 0x116F, 0x11AF] }, -{ source: [0xC6D5], NFC: [0xC6D5], NFD: [0x110B, 0x116F, 0x11B0], NFKC: [0xC6D5], NFKD: [0x110B, 0x116F, 0x11B0] }, -{ source: [0xC6D6], NFC: [0xC6D6], NFD: [0x110B, 0x116F, 0x11B1], NFKC: [0xC6D6], NFKD: [0x110B, 0x116F, 0x11B1] }, -{ source: [0xC6D7], NFC: [0xC6D7], NFD: [0x110B, 0x116F, 0x11B2], NFKC: [0xC6D7], NFKD: [0x110B, 0x116F, 0x11B2] }, -{ source: [0xC6D8], NFC: [0xC6D8], NFD: [0x110B, 0x116F, 0x11B3], NFKC: [0xC6D8], NFKD: [0x110B, 0x116F, 0x11B3] }, -{ source: [0xC6D9], NFC: [0xC6D9], NFD: [0x110B, 0x116F, 0x11B4], NFKC: [0xC6D9], NFKD: [0x110B, 0x116F, 0x11B4] }, -{ source: [0xC6DA], NFC: [0xC6DA], NFD: [0x110B, 0x116F, 0x11B5], NFKC: [0xC6DA], NFKD: [0x110B, 0x116F, 0x11B5] }, -{ source: [0xC6DB], NFC: [0xC6DB], NFD: [0x110B, 0x116F, 0x11B6], NFKC: [0xC6DB], NFKD: [0x110B, 0x116F, 0x11B6] }, -{ source: [0xC6DC], NFC: [0xC6DC], NFD: [0x110B, 0x116F, 0x11B7], NFKC: [0xC6DC], NFKD: [0x110B, 0x116F, 0x11B7] }, -{ source: [0xC6DD], NFC: [0xC6DD], NFD: [0x110B, 0x116F, 0x11B8], NFKC: [0xC6DD], NFKD: [0x110B, 0x116F, 0x11B8] }, -{ source: [0xC6DE], NFC: [0xC6DE], NFD: [0x110B, 0x116F, 0x11B9], NFKC: [0xC6DE], NFKD: [0x110B, 0x116F, 0x11B9] }, -{ source: [0xC6DF], NFC: [0xC6DF], NFD: [0x110B, 0x116F, 0x11BA], NFKC: [0xC6DF], NFKD: [0x110B, 0x116F, 0x11BA] }, -{ source: [0xC6E0], NFC: [0xC6E0], NFD: [0x110B, 0x116F, 0x11BB], NFKC: [0xC6E0], NFKD: [0x110B, 0x116F, 0x11BB] }, -{ source: [0xC6E1], NFC: [0xC6E1], NFD: [0x110B, 0x116F, 0x11BC], NFKC: [0xC6E1], NFKD: [0x110B, 0x116F, 0x11BC] }, -{ source: [0xC6E2], NFC: [0xC6E2], NFD: [0x110B, 0x116F, 0x11BD], NFKC: [0xC6E2], NFKD: [0x110B, 0x116F, 0x11BD] }, -{ source: [0xC6E3], NFC: [0xC6E3], NFD: [0x110B, 0x116F, 0x11BE], NFKC: [0xC6E3], NFKD: [0x110B, 0x116F, 0x11BE] }, -{ source: [0xC6E4], NFC: [0xC6E4], NFD: [0x110B, 0x116F, 0x11BF], NFKC: [0xC6E4], NFKD: [0x110B, 0x116F, 0x11BF] }, -{ source: [0xC6E5], NFC: [0xC6E5], NFD: [0x110B, 0x116F, 0x11C0], NFKC: [0xC6E5], NFKD: [0x110B, 0x116F, 0x11C0] }, -{ source: [0xC6E6], NFC: [0xC6E6], NFD: [0x110B, 0x116F, 0x11C1], NFKC: [0xC6E6], NFKD: [0x110B, 0x116F, 0x11C1] }, -{ source: [0xC6E7], NFC: [0xC6E7], NFD: [0x110B, 0x116F, 0x11C2], NFKC: [0xC6E7], NFKD: [0x110B, 0x116F, 0x11C2] }, -{ source: [0xC6E8], NFC: [0xC6E8], NFD: [0x110B, 0x1170], NFKC: [0xC6E8], NFKD: [0x110B, 0x1170] }, -{ source: [0xC6E9], NFC: [0xC6E9], NFD: [0x110B, 0x1170, 0x11A8], NFKC: [0xC6E9], NFKD: [0x110B, 0x1170, 0x11A8] }, -{ source: [0xC6EA], NFC: [0xC6EA], NFD: [0x110B, 0x1170, 0x11A9], NFKC: [0xC6EA], NFKD: [0x110B, 0x1170, 0x11A9] }, -{ source: [0xC6EB], NFC: [0xC6EB], NFD: [0x110B, 0x1170, 0x11AA], NFKC: [0xC6EB], NFKD: [0x110B, 0x1170, 0x11AA] }, -{ source: [0xC6EC], NFC: [0xC6EC], NFD: [0x110B, 0x1170, 0x11AB], NFKC: [0xC6EC], NFKD: [0x110B, 0x1170, 0x11AB] }, -{ source: [0xC6ED], NFC: [0xC6ED], NFD: [0x110B, 0x1170, 0x11AC], NFKC: [0xC6ED], NFKD: [0x110B, 0x1170, 0x11AC] }, -{ source: [0xC6EE], NFC: [0xC6EE], NFD: [0x110B, 0x1170, 0x11AD], NFKC: [0xC6EE], NFKD: [0x110B, 0x1170, 0x11AD] }, -{ source: [0xC6EF], NFC: [0xC6EF], NFD: [0x110B, 0x1170, 0x11AE], NFKC: [0xC6EF], NFKD: [0x110B, 0x1170, 0x11AE] }, -{ source: [0xC6F0], NFC: [0xC6F0], NFD: [0x110B, 0x1170, 0x11AF], NFKC: [0xC6F0], NFKD: [0x110B, 0x1170, 0x11AF] }, -{ source: [0xC6F1], NFC: [0xC6F1], NFD: [0x110B, 0x1170, 0x11B0], NFKC: [0xC6F1], NFKD: [0x110B, 0x1170, 0x11B0] }, -{ source: [0xC6F2], NFC: [0xC6F2], NFD: [0x110B, 0x1170, 0x11B1], NFKC: [0xC6F2], NFKD: [0x110B, 0x1170, 0x11B1] }, -{ source: [0xC6F3], NFC: [0xC6F3], NFD: [0x110B, 0x1170, 0x11B2], NFKC: [0xC6F3], NFKD: [0x110B, 0x1170, 0x11B2] }, -{ source: [0xC6F4], NFC: [0xC6F4], NFD: [0x110B, 0x1170, 0x11B3], NFKC: [0xC6F4], NFKD: [0x110B, 0x1170, 0x11B3] }, -{ source: [0xC6F5], NFC: [0xC6F5], NFD: [0x110B, 0x1170, 0x11B4], NFKC: [0xC6F5], NFKD: [0x110B, 0x1170, 0x11B4] }, -{ source: [0xC6F6], NFC: [0xC6F6], NFD: [0x110B, 0x1170, 0x11B5], NFKC: [0xC6F6], NFKD: [0x110B, 0x1170, 0x11B5] }, -{ source: [0xC6F7], NFC: [0xC6F7], NFD: [0x110B, 0x1170, 0x11B6], NFKC: [0xC6F7], NFKD: [0x110B, 0x1170, 0x11B6] }, -{ source: [0xC6F8], NFC: [0xC6F8], NFD: [0x110B, 0x1170, 0x11B7], NFKC: [0xC6F8], NFKD: [0x110B, 0x1170, 0x11B7] }, -{ source: [0xC6F9], NFC: [0xC6F9], NFD: [0x110B, 0x1170, 0x11B8], NFKC: [0xC6F9], NFKD: [0x110B, 0x1170, 0x11B8] }, -{ source: [0xC6FA], NFC: [0xC6FA], NFD: [0x110B, 0x1170, 0x11B9], NFKC: [0xC6FA], NFKD: [0x110B, 0x1170, 0x11B9] }, -{ source: [0xC6FB], NFC: [0xC6FB], NFD: [0x110B, 0x1170, 0x11BA], NFKC: [0xC6FB], NFKD: [0x110B, 0x1170, 0x11BA] }, -{ source: [0xC6FC], NFC: [0xC6FC], NFD: [0x110B, 0x1170, 0x11BB], NFKC: [0xC6FC], NFKD: [0x110B, 0x1170, 0x11BB] }, -{ source: [0xC6FD], NFC: [0xC6FD], NFD: [0x110B, 0x1170, 0x11BC], NFKC: [0xC6FD], NFKD: [0x110B, 0x1170, 0x11BC] }, -{ source: [0xC6FE], NFC: [0xC6FE], NFD: [0x110B, 0x1170, 0x11BD], NFKC: [0xC6FE], NFKD: [0x110B, 0x1170, 0x11BD] }, -{ source: [0xC6FF], NFC: [0xC6FF], NFD: [0x110B, 0x1170, 0x11BE], NFKC: [0xC6FF], NFKD: [0x110B, 0x1170, 0x11BE] }, -{ source: [0xC700], NFC: [0xC700], NFD: [0x110B, 0x1170, 0x11BF], NFKC: [0xC700], NFKD: [0x110B, 0x1170, 0x11BF] }, -{ source: [0xC701], NFC: [0xC701], NFD: [0x110B, 0x1170, 0x11C0], NFKC: [0xC701], NFKD: [0x110B, 0x1170, 0x11C0] }, -{ source: [0xC702], NFC: [0xC702], NFD: [0x110B, 0x1170, 0x11C1], NFKC: [0xC702], NFKD: [0x110B, 0x1170, 0x11C1] }, -{ source: [0xC703], NFC: [0xC703], NFD: [0x110B, 0x1170, 0x11C2], NFKC: [0xC703], NFKD: [0x110B, 0x1170, 0x11C2] }, -{ source: [0xC704], NFC: [0xC704], NFD: [0x110B, 0x1171], NFKC: [0xC704], NFKD: [0x110B, 0x1171] }, -{ source: [0xC705], NFC: [0xC705], NFD: [0x110B, 0x1171, 0x11A8], NFKC: [0xC705], NFKD: [0x110B, 0x1171, 0x11A8] }, -{ source: [0xC706], NFC: [0xC706], NFD: [0x110B, 0x1171, 0x11A9], NFKC: [0xC706], NFKD: [0x110B, 0x1171, 0x11A9] }, -{ source: [0xC707], NFC: [0xC707], NFD: [0x110B, 0x1171, 0x11AA], NFKC: [0xC707], NFKD: [0x110B, 0x1171, 0x11AA] }, -{ source: [0xC708], NFC: [0xC708], NFD: [0x110B, 0x1171, 0x11AB], NFKC: [0xC708], NFKD: [0x110B, 0x1171, 0x11AB] }, -{ source: [0xC709], NFC: [0xC709], NFD: [0x110B, 0x1171, 0x11AC], NFKC: [0xC709], NFKD: [0x110B, 0x1171, 0x11AC] }, -{ source: [0xC70A], NFC: [0xC70A], NFD: [0x110B, 0x1171, 0x11AD], NFKC: [0xC70A], NFKD: [0x110B, 0x1171, 0x11AD] }, -{ source: [0xC70B], NFC: [0xC70B], NFD: [0x110B, 0x1171, 0x11AE], NFKC: [0xC70B], NFKD: [0x110B, 0x1171, 0x11AE] }, -{ source: [0xC70C], NFC: [0xC70C], NFD: [0x110B, 0x1171, 0x11AF], NFKC: [0xC70C], NFKD: [0x110B, 0x1171, 0x11AF] }, -{ source: [0xC70D], NFC: [0xC70D], NFD: [0x110B, 0x1171, 0x11B0], NFKC: [0xC70D], NFKD: [0x110B, 0x1171, 0x11B0] }, -{ source: [0xC70E], NFC: [0xC70E], NFD: [0x110B, 0x1171, 0x11B1], NFKC: [0xC70E], NFKD: [0x110B, 0x1171, 0x11B1] }, -{ source: [0xC70F], NFC: [0xC70F], NFD: [0x110B, 0x1171, 0x11B2], NFKC: [0xC70F], NFKD: [0x110B, 0x1171, 0x11B2] }, -{ source: [0xC710], NFC: [0xC710], NFD: [0x110B, 0x1171, 0x11B3], NFKC: [0xC710], NFKD: [0x110B, 0x1171, 0x11B3] }, -{ source: [0xC711], NFC: [0xC711], NFD: [0x110B, 0x1171, 0x11B4], NFKC: [0xC711], NFKD: [0x110B, 0x1171, 0x11B4] }, -{ source: [0xC712], NFC: [0xC712], NFD: [0x110B, 0x1171, 0x11B5], NFKC: [0xC712], NFKD: [0x110B, 0x1171, 0x11B5] }, -{ source: [0xC713], NFC: [0xC713], NFD: [0x110B, 0x1171, 0x11B6], NFKC: [0xC713], NFKD: [0x110B, 0x1171, 0x11B6] }, -{ source: [0xC714], NFC: [0xC714], NFD: [0x110B, 0x1171, 0x11B7], NFKC: [0xC714], NFKD: [0x110B, 0x1171, 0x11B7] }, -{ source: [0xC715], NFC: [0xC715], NFD: [0x110B, 0x1171, 0x11B8], NFKC: [0xC715], NFKD: [0x110B, 0x1171, 0x11B8] }, -{ source: [0xC716], NFC: [0xC716], NFD: [0x110B, 0x1171, 0x11B9], NFKC: [0xC716], NFKD: [0x110B, 0x1171, 0x11B9] }, -{ source: [0xC717], NFC: [0xC717], NFD: [0x110B, 0x1171, 0x11BA], NFKC: [0xC717], NFKD: [0x110B, 0x1171, 0x11BA] }, -{ source: [0xC718], NFC: [0xC718], NFD: [0x110B, 0x1171, 0x11BB], NFKC: [0xC718], NFKD: [0x110B, 0x1171, 0x11BB] }, -{ source: [0xC719], NFC: [0xC719], NFD: [0x110B, 0x1171, 0x11BC], NFKC: [0xC719], NFKD: [0x110B, 0x1171, 0x11BC] }, -{ source: [0xC71A], NFC: [0xC71A], NFD: [0x110B, 0x1171, 0x11BD], NFKC: [0xC71A], NFKD: [0x110B, 0x1171, 0x11BD] }, -{ source: [0xC71B], NFC: [0xC71B], NFD: [0x110B, 0x1171, 0x11BE], NFKC: [0xC71B], NFKD: [0x110B, 0x1171, 0x11BE] }, -{ source: [0xC71C], NFC: [0xC71C], NFD: [0x110B, 0x1171, 0x11BF], NFKC: [0xC71C], NFKD: [0x110B, 0x1171, 0x11BF] }, -{ source: [0xC71D], NFC: [0xC71D], NFD: [0x110B, 0x1171, 0x11C0], NFKC: [0xC71D], NFKD: [0x110B, 0x1171, 0x11C0] }, -{ source: [0xC71E], NFC: [0xC71E], NFD: [0x110B, 0x1171, 0x11C1], NFKC: [0xC71E], NFKD: [0x110B, 0x1171, 0x11C1] }, -{ source: [0xC71F], NFC: [0xC71F], NFD: [0x110B, 0x1171, 0x11C2], NFKC: [0xC71F], NFKD: [0x110B, 0x1171, 0x11C2] }, -{ source: [0xC720], NFC: [0xC720], NFD: [0x110B, 0x1172], NFKC: [0xC720], NFKD: [0x110B, 0x1172] }, -{ source: [0xC721], NFC: [0xC721], NFD: [0x110B, 0x1172, 0x11A8], NFKC: [0xC721], NFKD: [0x110B, 0x1172, 0x11A8] }, -{ source: [0xC722], NFC: [0xC722], NFD: [0x110B, 0x1172, 0x11A9], NFKC: [0xC722], NFKD: [0x110B, 0x1172, 0x11A9] }, -{ source: [0xC723], NFC: [0xC723], NFD: [0x110B, 0x1172, 0x11AA], NFKC: [0xC723], NFKD: [0x110B, 0x1172, 0x11AA] }, -{ source: [0xC724], NFC: [0xC724], NFD: [0x110B, 0x1172, 0x11AB], NFKC: [0xC724], NFKD: [0x110B, 0x1172, 0x11AB] }, -{ source: [0xC725], NFC: [0xC725], NFD: [0x110B, 0x1172, 0x11AC], NFKC: [0xC725], NFKD: [0x110B, 0x1172, 0x11AC] }, -{ source: [0xC726], NFC: [0xC726], NFD: [0x110B, 0x1172, 0x11AD], NFKC: [0xC726], NFKD: [0x110B, 0x1172, 0x11AD] }, -{ source: [0xC727], NFC: [0xC727], NFD: [0x110B, 0x1172, 0x11AE], NFKC: [0xC727], NFKD: [0x110B, 0x1172, 0x11AE] }, -{ source: [0xC728], NFC: [0xC728], NFD: [0x110B, 0x1172, 0x11AF], NFKC: [0xC728], NFKD: [0x110B, 0x1172, 0x11AF] }, -{ source: [0xC729], NFC: [0xC729], NFD: [0x110B, 0x1172, 0x11B0], NFKC: [0xC729], NFKD: [0x110B, 0x1172, 0x11B0] }, -{ source: [0xC72A], NFC: [0xC72A], NFD: [0x110B, 0x1172, 0x11B1], NFKC: [0xC72A], NFKD: [0x110B, 0x1172, 0x11B1] }, -{ source: [0xC72B], NFC: [0xC72B], NFD: [0x110B, 0x1172, 0x11B2], NFKC: [0xC72B], NFKD: [0x110B, 0x1172, 0x11B2] }, -{ source: [0xC72C], NFC: [0xC72C], NFD: [0x110B, 0x1172, 0x11B3], NFKC: [0xC72C], NFKD: [0x110B, 0x1172, 0x11B3] }, -{ source: [0xC72D], NFC: [0xC72D], NFD: [0x110B, 0x1172, 0x11B4], NFKC: [0xC72D], NFKD: [0x110B, 0x1172, 0x11B4] }, -{ source: [0xC72E], NFC: [0xC72E], NFD: [0x110B, 0x1172, 0x11B5], NFKC: [0xC72E], NFKD: [0x110B, 0x1172, 0x11B5] }, -{ source: [0xC72F], NFC: [0xC72F], NFD: [0x110B, 0x1172, 0x11B6], NFKC: [0xC72F], NFKD: [0x110B, 0x1172, 0x11B6] }, -{ source: [0xC730], NFC: [0xC730], NFD: [0x110B, 0x1172, 0x11B7], NFKC: [0xC730], NFKD: [0x110B, 0x1172, 0x11B7] }, -{ source: [0xC731], NFC: [0xC731], NFD: [0x110B, 0x1172, 0x11B8], NFKC: [0xC731], NFKD: [0x110B, 0x1172, 0x11B8] }, -{ source: [0xC732], NFC: [0xC732], NFD: [0x110B, 0x1172, 0x11B9], NFKC: [0xC732], NFKD: [0x110B, 0x1172, 0x11B9] }, -{ source: [0xC733], NFC: [0xC733], NFD: [0x110B, 0x1172, 0x11BA], NFKC: [0xC733], NFKD: [0x110B, 0x1172, 0x11BA] }, -{ source: [0xC734], NFC: [0xC734], NFD: [0x110B, 0x1172, 0x11BB], NFKC: [0xC734], NFKD: [0x110B, 0x1172, 0x11BB] }, -{ source: [0xC735], NFC: [0xC735], NFD: [0x110B, 0x1172, 0x11BC], NFKC: [0xC735], NFKD: [0x110B, 0x1172, 0x11BC] }, -{ source: [0xC736], NFC: [0xC736], NFD: [0x110B, 0x1172, 0x11BD], NFKC: [0xC736], NFKD: [0x110B, 0x1172, 0x11BD] }, -{ source: [0xC737], NFC: [0xC737], NFD: [0x110B, 0x1172, 0x11BE], NFKC: [0xC737], NFKD: [0x110B, 0x1172, 0x11BE] }, -{ source: [0xC738], NFC: [0xC738], NFD: [0x110B, 0x1172, 0x11BF], NFKC: [0xC738], NFKD: [0x110B, 0x1172, 0x11BF] }, -{ source: [0xC739], NFC: [0xC739], NFD: [0x110B, 0x1172, 0x11C0], NFKC: [0xC739], NFKD: [0x110B, 0x1172, 0x11C0] }, -{ source: [0xC73A], NFC: [0xC73A], NFD: [0x110B, 0x1172, 0x11C1], NFKC: [0xC73A], NFKD: [0x110B, 0x1172, 0x11C1] }, -{ source: [0xC73B], NFC: [0xC73B], NFD: [0x110B, 0x1172, 0x11C2], NFKC: [0xC73B], NFKD: [0x110B, 0x1172, 0x11C2] }, -{ source: [0xC73C], NFC: [0xC73C], NFD: [0x110B, 0x1173], NFKC: [0xC73C], NFKD: [0x110B, 0x1173] }, -{ source: [0xC73D], NFC: [0xC73D], NFD: [0x110B, 0x1173, 0x11A8], NFKC: [0xC73D], NFKD: [0x110B, 0x1173, 0x11A8] }, -{ source: [0xC73E], NFC: [0xC73E], NFD: [0x110B, 0x1173, 0x11A9], NFKC: [0xC73E], NFKD: [0x110B, 0x1173, 0x11A9] }, -{ source: [0xC73F], NFC: [0xC73F], NFD: [0x110B, 0x1173, 0x11AA], NFKC: [0xC73F], NFKD: [0x110B, 0x1173, 0x11AA] }, -{ source: [0xC740], NFC: [0xC740], NFD: [0x110B, 0x1173, 0x11AB], NFKC: [0xC740], NFKD: [0x110B, 0x1173, 0x11AB] }, -{ source: [0xC741], NFC: [0xC741], NFD: [0x110B, 0x1173, 0x11AC], NFKC: [0xC741], NFKD: [0x110B, 0x1173, 0x11AC] }, -{ source: [0xC742], NFC: [0xC742], NFD: [0x110B, 0x1173, 0x11AD], NFKC: [0xC742], NFKD: [0x110B, 0x1173, 0x11AD] }, -{ source: [0xC743], NFC: [0xC743], NFD: [0x110B, 0x1173, 0x11AE], NFKC: [0xC743], NFKD: [0x110B, 0x1173, 0x11AE] }, -{ source: [0xC744], NFC: [0xC744], NFD: [0x110B, 0x1173, 0x11AF], NFKC: [0xC744], NFKD: [0x110B, 0x1173, 0x11AF] }, -{ source: [0xC745], NFC: [0xC745], NFD: [0x110B, 0x1173, 0x11B0], NFKC: [0xC745], NFKD: [0x110B, 0x1173, 0x11B0] }, -{ source: [0xC746], NFC: [0xC746], NFD: [0x110B, 0x1173, 0x11B1], NFKC: [0xC746], NFKD: [0x110B, 0x1173, 0x11B1] }, -{ source: [0xC747], NFC: [0xC747], NFD: [0x110B, 0x1173, 0x11B2], NFKC: [0xC747], NFKD: [0x110B, 0x1173, 0x11B2] }, -{ source: [0xC748], NFC: [0xC748], NFD: [0x110B, 0x1173, 0x11B3], NFKC: [0xC748], NFKD: [0x110B, 0x1173, 0x11B3] }, -{ source: [0xC749], NFC: [0xC749], NFD: [0x110B, 0x1173, 0x11B4], NFKC: [0xC749], NFKD: [0x110B, 0x1173, 0x11B4] }, -{ source: [0xC74A], NFC: [0xC74A], NFD: [0x110B, 0x1173, 0x11B5], NFKC: [0xC74A], NFKD: [0x110B, 0x1173, 0x11B5] }, -{ source: [0xC74B], NFC: [0xC74B], NFD: [0x110B, 0x1173, 0x11B6], NFKC: [0xC74B], NFKD: [0x110B, 0x1173, 0x11B6] }, -{ source: [0xC74C], NFC: [0xC74C], NFD: [0x110B, 0x1173, 0x11B7], NFKC: [0xC74C], NFKD: [0x110B, 0x1173, 0x11B7] }, -{ source: [0xC74D], NFC: [0xC74D], NFD: [0x110B, 0x1173, 0x11B8], NFKC: [0xC74D], NFKD: [0x110B, 0x1173, 0x11B8] }, -{ source: [0xC74E], NFC: [0xC74E], NFD: [0x110B, 0x1173, 0x11B9], NFKC: [0xC74E], NFKD: [0x110B, 0x1173, 0x11B9] }, -{ source: [0xC74F], NFC: [0xC74F], NFD: [0x110B, 0x1173, 0x11BA], NFKC: [0xC74F], NFKD: [0x110B, 0x1173, 0x11BA] }, -{ source: [0xC750], NFC: [0xC750], NFD: [0x110B, 0x1173, 0x11BB], NFKC: [0xC750], NFKD: [0x110B, 0x1173, 0x11BB] }, -{ source: [0xC751], NFC: [0xC751], NFD: [0x110B, 0x1173, 0x11BC], NFKC: [0xC751], NFKD: [0x110B, 0x1173, 0x11BC] }, -{ source: [0xC752], NFC: [0xC752], NFD: [0x110B, 0x1173, 0x11BD], NFKC: [0xC752], NFKD: [0x110B, 0x1173, 0x11BD] }, -{ source: [0xC753], NFC: [0xC753], NFD: [0x110B, 0x1173, 0x11BE], NFKC: [0xC753], NFKD: [0x110B, 0x1173, 0x11BE] }, -{ source: [0xC754], NFC: [0xC754], NFD: [0x110B, 0x1173, 0x11BF], NFKC: [0xC754], NFKD: [0x110B, 0x1173, 0x11BF] }, -{ source: [0xC755], NFC: [0xC755], NFD: [0x110B, 0x1173, 0x11C0], NFKC: [0xC755], NFKD: [0x110B, 0x1173, 0x11C0] }, -{ source: [0xC756], NFC: [0xC756], NFD: [0x110B, 0x1173, 0x11C1], NFKC: [0xC756], NFKD: [0x110B, 0x1173, 0x11C1] }, -{ source: [0xC757], NFC: [0xC757], NFD: [0x110B, 0x1173, 0x11C2], NFKC: [0xC757], NFKD: [0x110B, 0x1173, 0x11C2] }, -{ source: [0xC758], NFC: [0xC758], NFD: [0x110B, 0x1174], NFKC: [0xC758], NFKD: [0x110B, 0x1174] }, -{ source: [0xC759], NFC: [0xC759], NFD: [0x110B, 0x1174, 0x11A8], NFKC: [0xC759], NFKD: [0x110B, 0x1174, 0x11A8] }, -{ source: [0xC75A], NFC: [0xC75A], NFD: [0x110B, 0x1174, 0x11A9], NFKC: [0xC75A], NFKD: [0x110B, 0x1174, 0x11A9] }, -{ source: [0xC75B], NFC: [0xC75B], NFD: [0x110B, 0x1174, 0x11AA], NFKC: [0xC75B], NFKD: [0x110B, 0x1174, 0x11AA] }, -{ source: [0xC75C], NFC: [0xC75C], NFD: [0x110B, 0x1174, 0x11AB], NFKC: [0xC75C], NFKD: [0x110B, 0x1174, 0x11AB] }, -{ source: [0xC75D], NFC: [0xC75D], NFD: [0x110B, 0x1174, 0x11AC], NFKC: [0xC75D], NFKD: [0x110B, 0x1174, 0x11AC] }, -{ source: [0xC75E], NFC: [0xC75E], NFD: [0x110B, 0x1174, 0x11AD], NFKC: [0xC75E], NFKD: [0x110B, 0x1174, 0x11AD] }, -{ source: [0xC75F], NFC: [0xC75F], NFD: [0x110B, 0x1174, 0x11AE], NFKC: [0xC75F], NFKD: [0x110B, 0x1174, 0x11AE] }, -{ source: [0xC760], NFC: [0xC760], NFD: [0x110B, 0x1174, 0x11AF], NFKC: [0xC760], NFKD: [0x110B, 0x1174, 0x11AF] }, -{ source: [0xC761], NFC: [0xC761], NFD: [0x110B, 0x1174, 0x11B0], NFKC: [0xC761], NFKD: [0x110B, 0x1174, 0x11B0] }, -{ source: [0xC762], NFC: [0xC762], NFD: [0x110B, 0x1174, 0x11B1], NFKC: [0xC762], NFKD: [0x110B, 0x1174, 0x11B1] }, -{ source: [0xC763], NFC: [0xC763], NFD: [0x110B, 0x1174, 0x11B2], NFKC: [0xC763], NFKD: [0x110B, 0x1174, 0x11B2] }, -{ source: [0xC764], NFC: [0xC764], NFD: [0x110B, 0x1174, 0x11B3], NFKC: [0xC764], NFKD: [0x110B, 0x1174, 0x11B3] }, -{ source: [0xC765], NFC: [0xC765], NFD: [0x110B, 0x1174, 0x11B4], NFKC: [0xC765], NFKD: [0x110B, 0x1174, 0x11B4] }, -{ source: [0xC766], NFC: [0xC766], NFD: [0x110B, 0x1174, 0x11B5], NFKC: [0xC766], NFKD: [0x110B, 0x1174, 0x11B5] }, -{ source: [0xC767], NFC: [0xC767], NFD: [0x110B, 0x1174, 0x11B6], NFKC: [0xC767], NFKD: [0x110B, 0x1174, 0x11B6] }, -{ source: [0xC768], NFC: [0xC768], NFD: [0x110B, 0x1174, 0x11B7], NFKC: [0xC768], NFKD: [0x110B, 0x1174, 0x11B7] }, -{ source: [0xC769], NFC: [0xC769], NFD: [0x110B, 0x1174, 0x11B8], NFKC: [0xC769], NFKD: [0x110B, 0x1174, 0x11B8] }, -{ source: [0xC76A], NFC: [0xC76A], NFD: [0x110B, 0x1174, 0x11B9], NFKC: [0xC76A], NFKD: [0x110B, 0x1174, 0x11B9] }, -{ source: [0xC76B], NFC: [0xC76B], NFD: [0x110B, 0x1174, 0x11BA], NFKC: [0xC76B], NFKD: [0x110B, 0x1174, 0x11BA] }, -{ source: [0xC76C], NFC: [0xC76C], NFD: [0x110B, 0x1174, 0x11BB], NFKC: [0xC76C], NFKD: [0x110B, 0x1174, 0x11BB] }, -{ source: [0xC76D], NFC: [0xC76D], NFD: [0x110B, 0x1174, 0x11BC], NFKC: [0xC76D], NFKD: [0x110B, 0x1174, 0x11BC] }, -{ source: [0xC76E], NFC: [0xC76E], NFD: [0x110B, 0x1174, 0x11BD], NFKC: [0xC76E], NFKD: [0x110B, 0x1174, 0x11BD] }, -{ source: [0xC76F], NFC: [0xC76F], NFD: [0x110B, 0x1174, 0x11BE], NFKC: [0xC76F], NFKD: [0x110B, 0x1174, 0x11BE] }, -{ source: [0xC770], NFC: [0xC770], NFD: [0x110B, 0x1174, 0x11BF], NFKC: [0xC770], NFKD: [0x110B, 0x1174, 0x11BF] }, -{ source: [0xC771], NFC: [0xC771], NFD: [0x110B, 0x1174, 0x11C0], NFKC: [0xC771], NFKD: [0x110B, 0x1174, 0x11C0] }, -{ source: [0xC772], NFC: [0xC772], NFD: [0x110B, 0x1174, 0x11C1], NFKC: [0xC772], NFKD: [0x110B, 0x1174, 0x11C1] }, -{ source: [0xC773], NFC: [0xC773], NFD: [0x110B, 0x1174, 0x11C2], NFKC: [0xC773], NFKD: [0x110B, 0x1174, 0x11C2] }, -{ source: [0xC774], NFC: [0xC774], NFD: [0x110B, 0x1175], NFKC: [0xC774], NFKD: [0x110B, 0x1175] }, -{ source: [0xC775], NFC: [0xC775], NFD: [0x110B, 0x1175, 0x11A8], NFKC: [0xC775], NFKD: [0x110B, 0x1175, 0x11A8] }, -{ source: [0xC776], NFC: [0xC776], NFD: [0x110B, 0x1175, 0x11A9], NFKC: [0xC776], NFKD: [0x110B, 0x1175, 0x11A9] }, -{ source: [0xC777], NFC: [0xC777], NFD: [0x110B, 0x1175, 0x11AA], NFKC: [0xC777], NFKD: [0x110B, 0x1175, 0x11AA] }, -{ source: [0xC778], NFC: [0xC778], NFD: [0x110B, 0x1175, 0x11AB], NFKC: [0xC778], NFKD: [0x110B, 0x1175, 0x11AB] }, -{ source: [0xC779], NFC: [0xC779], NFD: [0x110B, 0x1175, 0x11AC], NFKC: [0xC779], NFKD: [0x110B, 0x1175, 0x11AC] }, -{ source: [0xC77A], NFC: [0xC77A], NFD: [0x110B, 0x1175, 0x11AD], NFKC: [0xC77A], NFKD: [0x110B, 0x1175, 0x11AD] }, -{ source: [0xC77B], NFC: [0xC77B], NFD: [0x110B, 0x1175, 0x11AE], NFKC: [0xC77B], NFKD: [0x110B, 0x1175, 0x11AE] }, -{ source: [0xC77C], NFC: [0xC77C], NFD: [0x110B, 0x1175, 0x11AF], NFKC: [0xC77C], NFKD: [0x110B, 0x1175, 0x11AF] }, -{ source: [0xC77D], NFC: [0xC77D], NFD: [0x110B, 0x1175, 0x11B0], NFKC: [0xC77D], NFKD: [0x110B, 0x1175, 0x11B0] }, -{ source: [0xC77E], NFC: [0xC77E], NFD: [0x110B, 0x1175, 0x11B1], NFKC: [0xC77E], NFKD: [0x110B, 0x1175, 0x11B1] }, -{ source: [0xC77F], NFC: [0xC77F], NFD: [0x110B, 0x1175, 0x11B2], NFKC: [0xC77F], NFKD: [0x110B, 0x1175, 0x11B2] }, -{ source: [0xC780], NFC: [0xC780], NFD: [0x110B, 0x1175, 0x11B3], NFKC: [0xC780], NFKD: [0x110B, 0x1175, 0x11B3] }, -{ source: [0xC781], NFC: [0xC781], NFD: [0x110B, 0x1175, 0x11B4], NFKC: [0xC781], NFKD: [0x110B, 0x1175, 0x11B4] }, -{ source: [0xC782], NFC: [0xC782], NFD: [0x110B, 0x1175, 0x11B5], NFKC: [0xC782], NFKD: [0x110B, 0x1175, 0x11B5] }, -{ source: [0xC783], NFC: [0xC783], NFD: [0x110B, 0x1175, 0x11B6], NFKC: [0xC783], NFKD: [0x110B, 0x1175, 0x11B6] }, -{ source: [0xC784], NFC: [0xC784], NFD: [0x110B, 0x1175, 0x11B7], NFKC: [0xC784], NFKD: [0x110B, 0x1175, 0x11B7] }, -{ source: [0xC785], NFC: [0xC785], NFD: [0x110B, 0x1175, 0x11B8], NFKC: [0xC785], NFKD: [0x110B, 0x1175, 0x11B8] }, -{ source: [0xC786], NFC: [0xC786], NFD: [0x110B, 0x1175, 0x11B9], NFKC: [0xC786], NFKD: [0x110B, 0x1175, 0x11B9] }, -{ source: [0xC787], NFC: [0xC787], NFD: [0x110B, 0x1175, 0x11BA], NFKC: [0xC787], NFKD: [0x110B, 0x1175, 0x11BA] }, -{ source: [0xC788], NFC: [0xC788], NFD: [0x110B, 0x1175, 0x11BB], NFKC: [0xC788], NFKD: [0x110B, 0x1175, 0x11BB] }, -{ source: [0xC789], NFC: [0xC789], NFD: [0x110B, 0x1175, 0x11BC], NFKC: [0xC789], NFKD: [0x110B, 0x1175, 0x11BC] }, -{ source: [0xC78A], NFC: [0xC78A], NFD: [0x110B, 0x1175, 0x11BD], NFKC: [0xC78A], NFKD: [0x110B, 0x1175, 0x11BD] }, -{ source: [0xC78B], NFC: [0xC78B], NFD: [0x110B, 0x1175, 0x11BE], NFKC: [0xC78B], NFKD: [0x110B, 0x1175, 0x11BE] }, -{ source: [0xC78C], NFC: [0xC78C], NFD: [0x110B, 0x1175, 0x11BF], NFKC: [0xC78C], NFKD: [0x110B, 0x1175, 0x11BF] }, -{ source: [0xC78D], NFC: [0xC78D], NFD: [0x110B, 0x1175, 0x11C0], NFKC: [0xC78D], NFKD: [0x110B, 0x1175, 0x11C0] }, -{ source: [0xC78E], NFC: [0xC78E], NFD: [0x110B, 0x1175, 0x11C1], NFKC: [0xC78E], NFKD: [0x110B, 0x1175, 0x11C1] }, -{ source: [0xC78F], NFC: [0xC78F], NFD: [0x110B, 0x1175, 0x11C2], NFKC: [0xC78F], NFKD: [0x110B, 0x1175, 0x11C2] }, -{ source: [0xC790], NFC: [0xC790], NFD: [0x110C, 0x1161], NFKC: [0xC790], NFKD: [0x110C, 0x1161] }, -{ source: [0xC791], NFC: [0xC791], NFD: [0x110C, 0x1161, 0x11A8], NFKC: [0xC791], NFKD: [0x110C, 0x1161, 0x11A8] }, -{ source: [0xC792], NFC: [0xC792], NFD: [0x110C, 0x1161, 0x11A9], NFKC: [0xC792], NFKD: [0x110C, 0x1161, 0x11A9] }, -{ source: [0xC793], NFC: [0xC793], NFD: [0x110C, 0x1161, 0x11AA], NFKC: [0xC793], NFKD: [0x110C, 0x1161, 0x11AA] }, -{ source: [0xC794], NFC: [0xC794], NFD: [0x110C, 0x1161, 0x11AB], NFKC: [0xC794], NFKD: [0x110C, 0x1161, 0x11AB] }, -{ source: [0xC795], NFC: [0xC795], NFD: [0x110C, 0x1161, 0x11AC], NFKC: [0xC795], NFKD: [0x110C, 0x1161, 0x11AC] }, -{ source: [0xC796], NFC: [0xC796], NFD: [0x110C, 0x1161, 0x11AD], NFKC: [0xC796], NFKD: [0x110C, 0x1161, 0x11AD] }, -{ source: [0xC797], NFC: [0xC797], NFD: [0x110C, 0x1161, 0x11AE], NFKC: [0xC797], NFKD: [0x110C, 0x1161, 0x11AE] }, -{ source: [0xC798], NFC: [0xC798], NFD: [0x110C, 0x1161, 0x11AF], NFKC: [0xC798], NFKD: [0x110C, 0x1161, 0x11AF] }, -{ source: [0xC799], NFC: [0xC799], NFD: [0x110C, 0x1161, 0x11B0], NFKC: [0xC799], NFKD: [0x110C, 0x1161, 0x11B0] }, -{ source: [0xC79A], NFC: [0xC79A], NFD: [0x110C, 0x1161, 0x11B1], NFKC: [0xC79A], NFKD: [0x110C, 0x1161, 0x11B1] }, -{ source: [0xC79B], NFC: [0xC79B], NFD: [0x110C, 0x1161, 0x11B2], NFKC: [0xC79B], NFKD: [0x110C, 0x1161, 0x11B2] }, -{ source: [0xC79C], NFC: [0xC79C], NFD: [0x110C, 0x1161, 0x11B3], NFKC: [0xC79C], NFKD: [0x110C, 0x1161, 0x11B3] }, -{ source: [0xC79D], NFC: [0xC79D], NFD: [0x110C, 0x1161, 0x11B4], NFKC: [0xC79D], NFKD: [0x110C, 0x1161, 0x11B4] }, -{ source: [0xC79E], NFC: [0xC79E], NFD: [0x110C, 0x1161, 0x11B5], NFKC: [0xC79E], NFKD: [0x110C, 0x1161, 0x11B5] }, -{ source: [0xC79F], NFC: [0xC79F], NFD: [0x110C, 0x1161, 0x11B6], NFKC: [0xC79F], NFKD: [0x110C, 0x1161, 0x11B6] }, -{ source: [0xC7A0], NFC: [0xC7A0], NFD: [0x110C, 0x1161, 0x11B7], NFKC: [0xC7A0], NFKD: [0x110C, 0x1161, 0x11B7] }, -{ source: [0xC7A1], NFC: [0xC7A1], NFD: [0x110C, 0x1161, 0x11B8], NFKC: [0xC7A1], NFKD: [0x110C, 0x1161, 0x11B8] }, -{ source: [0xC7A2], NFC: [0xC7A2], NFD: [0x110C, 0x1161, 0x11B9], NFKC: [0xC7A2], NFKD: [0x110C, 0x1161, 0x11B9] }, -{ source: [0xC7A3], NFC: [0xC7A3], NFD: [0x110C, 0x1161, 0x11BA], NFKC: [0xC7A3], NFKD: [0x110C, 0x1161, 0x11BA] }, -{ source: [0xC7A4], NFC: [0xC7A4], NFD: [0x110C, 0x1161, 0x11BB], NFKC: [0xC7A4], NFKD: [0x110C, 0x1161, 0x11BB] }, -{ source: [0xC7A5], NFC: [0xC7A5], NFD: [0x110C, 0x1161, 0x11BC], NFKC: [0xC7A5], NFKD: [0x110C, 0x1161, 0x11BC] }, -{ source: [0xC7A6], NFC: [0xC7A6], NFD: [0x110C, 0x1161, 0x11BD], NFKC: [0xC7A6], NFKD: [0x110C, 0x1161, 0x11BD] }, -{ source: [0xC7A7], NFC: [0xC7A7], NFD: [0x110C, 0x1161, 0x11BE], NFKC: [0xC7A7], NFKD: [0x110C, 0x1161, 0x11BE] }, -{ source: [0xC7A8], NFC: [0xC7A8], NFD: [0x110C, 0x1161, 0x11BF], NFKC: [0xC7A8], NFKD: [0x110C, 0x1161, 0x11BF] }, -{ source: [0xC7A9], NFC: [0xC7A9], NFD: [0x110C, 0x1161, 0x11C0], NFKC: [0xC7A9], NFKD: [0x110C, 0x1161, 0x11C0] }, -{ source: [0xC7AA], NFC: [0xC7AA], NFD: [0x110C, 0x1161, 0x11C1], NFKC: [0xC7AA], NFKD: [0x110C, 0x1161, 0x11C1] }, -{ source: [0xC7AB], NFC: [0xC7AB], NFD: [0x110C, 0x1161, 0x11C2], NFKC: [0xC7AB], NFKD: [0x110C, 0x1161, 0x11C2] }, -{ source: [0xC7AC], NFC: [0xC7AC], NFD: [0x110C, 0x1162], NFKC: [0xC7AC], NFKD: [0x110C, 0x1162] }, -{ source: [0xC7AD], NFC: [0xC7AD], NFD: [0x110C, 0x1162, 0x11A8], NFKC: [0xC7AD], NFKD: [0x110C, 0x1162, 0x11A8] }, -{ source: [0xC7AE], NFC: [0xC7AE], NFD: [0x110C, 0x1162, 0x11A9], NFKC: [0xC7AE], NFKD: [0x110C, 0x1162, 0x11A9] }, -{ source: [0xC7AF], NFC: [0xC7AF], NFD: [0x110C, 0x1162, 0x11AA], NFKC: [0xC7AF], NFKD: [0x110C, 0x1162, 0x11AA] }, -{ source: [0xC7B0], NFC: [0xC7B0], NFD: [0x110C, 0x1162, 0x11AB], NFKC: [0xC7B0], NFKD: [0x110C, 0x1162, 0x11AB] }, -{ source: [0xC7B1], NFC: [0xC7B1], NFD: [0x110C, 0x1162, 0x11AC], NFKC: [0xC7B1], NFKD: [0x110C, 0x1162, 0x11AC] }, -{ source: [0xC7B2], NFC: [0xC7B2], NFD: [0x110C, 0x1162, 0x11AD], NFKC: [0xC7B2], NFKD: [0x110C, 0x1162, 0x11AD] }, -{ source: [0xC7B3], NFC: [0xC7B3], NFD: [0x110C, 0x1162, 0x11AE], NFKC: [0xC7B3], NFKD: [0x110C, 0x1162, 0x11AE] }, -{ source: [0xC7B4], NFC: [0xC7B4], NFD: [0x110C, 0x1162, 0x11AF], NFKC: [0xC7B4], NFKD: [0x110C, 0x1162, 0x11AF] }, -{ source: [0xC7B5], NFC: [0xC7B5], NFD: [0x110C, 0x1162, 0x11B0], NFKC: [0xC7B5], NFKD: [0x110C, 0x1162, 0x11B0] }, -{ source: [0xC7B6], NFC: [0xC7B6], NFD: [0x110C, 0x1162, 0x11B1], NFKC: [0xC7B6], NFKD: [0x110C, 0x1162, 0x11B1] }, -{ source: [0xC7B7], NFC: [0xC7B7], NFD: [0x110C, 0x1162, 0x11B2], NFKC: [0xC7B7], NFKD: [0x110C, 0x1162, 0x11B2] }, -{ source: [0xC7B8], NFC: [0xC7B8], NFD: [0x110C, 0x1162, 0x11B3], NFKC: [0xC7B8], NFKD: [0x110C, 0x1162, 0x11B3] }, -{ source: [0xC7B9], NFC: [0xC7B9], NFD: [0x110C, 0x1162, 0x11B4], NFKC: [0xC7B9], NFKD: [0x110C, 0x1162, 0x11B4] }, -{ source: [0xC7BA], NFC: [0xC7BA], NFD: [0x110C, 0x1162, 0x11B5], NFKC: [0xC7BA], NFKD: [0x110C, 0x1162, 0x11B5] }, -{ source: [0xC7BB], NFC: [0xC7BB], NFD: [0x110C, 0x1162, 0x11B6], NFKC: [0xC7BB], NFKD: [0x110C, 0x1162, 0x11B6] }, -{ source: [0xC7BC], NFC: [0xC7BC], NFD: [0x110C, 0x1162, 0x11B7], NFKC: [0xC7BC], NFKD: [0x110C, 0x1162, 0x11B7] }, -{ source: [0xC7BD], NFC: [0xC7BD], NFD: [0x110C, 0x1162, 0x11B8], NFKC: [0xC7BD], NFKD: [0x110C, 0x1162, 0x11B8] }, -{ source: [0xC7BE], NFC: [0xC7BE], NFD: [0x110C, 0x1162, 0x11B9], NFKC: [0xC7BE], NFKD: [0x110C, 0x1162, 0x11B9] }, -{ source: [0xC7BF], NFC: [0xC7BF], NFD: [0x110C, 0x1162, 0x11BA], NFKC: [0xC7BF], NFKD: [0x110C, 0x1162, 0x11BA] }, -{ source: [0xC7C0], NFC: [0xC7C0], NFD: [0x110C, 0x1162, 0x11BB], NFKC: [0xC7C0], NFKD: [0x110C, 0x1162, 0x11BB] }, -{ source: [0xC7C1], NFC: [0xC7C1], NFD: [0x110C, 0x1162, 0x11BC], NFKC: [0xC7C1], NFKD: [0x110C, 0x1162, 0x11BC] }, -{ source: [0xC7C2], NFC: [0xC7C2], NFD: [0x110C, 0x1162, 0x11BD], NFKC: [0xC7C2], NFKD: [0x110C, 0x1162, 0x11BD] }, -{ source: [0xC7C3], NFC: [0xC7C3], NFD: [0x110C, 0x1162, 0x11BE], NFKC: [0xC7C3], NFKD: [0x110C, 0x1162, 0x11BE] }, -{ source: [0xC7C4], NFC: [0xC7C4], NFD: [0x110C, 0x1162, 0x11BF], NFKC: [0xC7C4], NFKD: [0x110C, 0x1162, 0x11BF] }, -{ source: [0xC7C5], NFC: [0xC7C5], NFD: [0x110C, 0x1162, 0x11C0], NFKC: [0xC7C5], NFKD: [0x110C, 0x1162, 0x11C0] }, -{ source: [0xC7C6], NFC: [0xC7C6], NFD: [0x110C, 0x1162, 0x11C1], NFKC: [0xC7C6], NFKD: [0x110C, 0x1162, 0x11C1] }, -{ source: [0xC7C7], NFC: [0xC7C7], NFD: [0x110C, 0x1162, 0x11C2], NFKC: [0xC7C7], NFKD: [0x110C, 0x1162, 0x11C2] }, -{ source: [0xC7C8], NFC: [0xC7C8], NFD: [0x110C, 0x1163], NFKC: [0xC7C8], NFKD: [0x110C, 0x1163] }, -{ source: [0xC7C9], NFC: [0xC7C9], NFD: [0x110C, 0x1163, 0x11A8], NFKC: [0xC7C9], NFKD: [0x110C, 0x1163, 0x11A8] }, -{ source: [0xC7CA], NFC: [0xC7CA], NFD: [0x110C, 0x1163, 0x11A9], NFKC: [0xC7CA], NFKD: [0x110C, 0x1163, 0x11A9] }, -{ source: [0xC7CB], NFC: [0xC7CB], NFD: [0x110C, 0x1163, 0x11AA], NFKC: [0xC7CB], NFKD: [0x110C, 0x1163, 0x11AA] }, -{ source: [0xC7CC], NFC: [0xC7CC], NFD: [0x110C, 0x1163, 0x11AB], NFKC: [0xC7CC], NFKD: [0x110C, 0x1163, 0x11AB] }, -{ source: [0xC7CD], NFC: [0xC7CD], NFD: [0x110C, 0x1163, 0x11AC], NFKC: [0xC7CD], NFKD: [0x110C, 0x1163, 0x11AC] }, -{ source: [0xC7CE], NFC: [0xC7CE], NFD: [0x110C, 0x1163, 0x11AD], NFKC: [0xC7CE], NFKD: [0x110C, 0x1163, 0x11AD] }, -{ source: [0xC7CF], NFC: [0xC7CF], NFD: [0x110C, 0x1163, 0x11AE], NFKC: [0xC7CF], NFKD: [0x110C, 0x1163, 0x11AE] }, -{ source: [0xC7D0], NFC: [0xC7D0], NFD: [0x110C, 0x1163, 0x11AF], NFKC: [0xC7D0], NFKD: [0x110C, 0x1163, 0x11AF] }, -{ source: [0xC7D1], NFC: [0xC7D1], NFD: [0x110C, 0x1163, 0x11B0], NFKC: [0xC7D1], NFKD: [0x110C, 0x1163, 0x11B0] }, -{ source: [0xC7D2], NFC: [0xC7D2], NFD: [0x110C, 0x1163, 0x11B1], NFKC: [0xC7D2], NFKD: [0x110C, 0x1163, 0x11B1] }, -{ source: [0xC7D3], NFC: [0xC7D3], NFD: [0x110C, 0x1163, 0x11B2], NFKC: [0xC7D3], NFKD: [0x110C, 0x1163, 0x11B2] }, -{ source: [0xC7D4], NFC: [0xC7D4], NFD: [0x110C, 0x1163, 0x11B3], NFKC: [0xC7D4], NFKD: [0x110C, 0x1163, 0x11B3] }, -{ source: [0xC7D5], NFC: [0xC7D5], NFD: [0x110C, 0x1163, 0x11B4], NFKC: [0xC7D5], NFKD: [0x110C, 0x1163, 0x11B4] }, -{ source: [0xC7D6], NFC: [0xC7D6], NFD: [0x110C, 0x1163, 0x11B5], NFKC: [0xC7D6], NFKD: [0x110C, 0x1163, 0x11B5] }, -{ source: [0xC7D7], NFC: [0xC7D7], NFD: [0x110C, 0x1163, 0x11B6], NFKC: [0xC7D7], NFKD: [0x110C, 0x1163, 0x11B6] }, -{ source: [0xC7D8], NFC: [0xC7D8], NFD: [0x110C, 0x1163, 0x11B7], NFKC: [0xC7D8], NFKD: [0x110C, 0x1163, 0x11B7] }, -{ source: [0xC7D9], NFC: [0xC7D9], NFD: [0x110C, 0x1163, 0x11B8], NFKC: [0xC7D9], NFKD: [0x110C, 0x1163, 0x11B8] }, -{ source: [0xC7DA], NFC: [0xC7DA], NFD: [0x110C, 0x1163, 0x11B9], NFKC: [0xC7DA], NFKD: [0x110C, 0x1163, 0x11B9] }, -{ source: [0xC7DB], NFC: [0xC7DB], NFD: [0x110C, 0x1163, 0x11BA], NFKC: [0xC7DB], NFKD: [0x110C, 0x1163, 0x11BA] }, -{ source: [0xC7DC], NFC: [0xC7DC], NFD: [0x110C, 0x1163, 0x11BB], NFKC: [0xC7DC], NFKD: [0x110C, 0x1163, 0x11BB] }, -{ source: [0xC7DD], NFC: [0xC7DD], NFD: [0x110C, 0x1163, 0x11BC], NFKC: [0xC7DD], NFKD: [0x110C, 0x1163, 0x11BC] }, -{ source: [0xC7DE], NFC: [0xC7DE], NFD: [0x110C, 0x1163, 0x11BD], NFKC: [0xC7DE], NFKD: [0x110C, 0x1163, 0x11BD] }, -{ source: [0xC7DF], NFC: [0xC7DF], NFD: [0x110C, 0x1163, 0x11BE], NFKC: [0xC7DF], NFKD: [0x110C, 0x1163, 0x11BE] }, -{ source: [0xC7E0], NFC: [0xC7E0], NFD: [0x110C, 0x1163, 0x11BF], NFKC: [0xC7E0], NFKD: [0x110C, 0x1163, 0x11BF] }, -{ source: [0xC7E1], NFC: [0xC7E1], NFD: [0x110C, 0x1163, 0x11C0], NFKC: [0xC7E1], NFKD: [0x110C, 0x1163, 0x11C0] }, -{ source: [0xC7E2], NFC: [0xC7E2], NFD: [0x110C, 0x1163, 0x11C1], NFKC: [0xC7E2], NFKD: [0x110C, 0x1163, 0x11C1] }, -{ source: [0xC7E3], NFC: [0xC7E3], NFD: [0x110C, 0x1163, 0x11C2], NFKC: [0xC7E3], NFKD: [0x110C, 0x1163, 0x11C2] }, -{ source: [0xC7E4], NFC: [0xC7E4], NFD: [0x110C, 0x1164], NFKC: [0xC7E4], NFKD: [0x110C, 0x1164] }, -{ source: [0xC7E5], NFC: [0xC7E5], NFD: [0x110C, 0x1164, 0x11A8], NFKC: [0xC7E5], NFKD: [0x110C, 0x1164, 0x11A8] }, -{ source: [0xC7E6], NFC: [0xC7E6], NFD: [0x110C, 0x1164, 0x11A9], NFKC: [0xC7E6], NFKD: [0x110C, 0x1164, 0x11A9] }, -{ source: [0xC7E7], NFC: [0xC7E7], NFD: [0x110C, 0x1164, 0x11AA], NFKC: [0xC7E7], NFKD: [0x110C, 0x1164, 0x11AA] }, -{ source: [0xC7E8], NFC: [0xC7E8], NFD: [0x110C, 0x1164, 0x11AB], NFKC: [0xC7E8], NFKD: [0x110C, 0x1164, 0x11AB] }, -{ source: [0xC7E9], NFC: [0xC7E9], NFD: [0x110C, 0x1164, 0x11AC], NFKC: [0xC7E9], NFKD: [0x110C, 0x1164, 0x11AC] }, -{ source: [0xC7EA], NFC: [0xC7EA], NFD: [0x110C, 0x1164, 0x11AD], NFKC: [0xC7EA], NFKD: [0x110C, 0x1164, 0x11AD] }, -{ source: [0xC7EB], NFC: [0xC7EB], NFD: [0x110C, 0x1164, 0x11AE], NFKC: [0xC7EB], NFKD: [0x110C, 0x1164, 0x11AE] }, -{ source: [0xC7EC], NFC: [0xC7EC], NFD: [0x110C, 0x1164, 0x11AF], NFKC: [0xC7EC], NFKD: [0x110C, 0x1164, 0x11AF] }, -{ source: [0xC7ED], NFC: [0xC7ED], NFD: [0x110C, 0x1164, 0x11B0], NFKC: [0xC7ED], NFKD: [0x110C, 0x1164, 0x11B0] }, -{ source: [0xC7EE], NFC: [0xC7EE], NFD: [0x110C, 0x1164, 0x11B1], NFKC: [0xC7EE], NFKD: [0x110C, 0x1164, 0x11B1] }, -{ source: [0xC7EF], NFC: [0xC7EF], NFD: [0x110C, 0x1164, 0x11B2], NFKC: [0xC7EF], NFKD: [0x110C, 0x1164, 0x11B2] }, -{ source: [0xC7F0], NFC: [0xC7F0], NFD: [0x110C, 0x1164, 0x11B3], NFKC: [0xC7F0], NFKD: [0x110C, 0x1164, 0x11B3] }, -{ source: [0xC7F1], NFC: [0xC7F1], NFD: [0x110C, 0x1164, 0x11B4], NFKC: [0xC7F1], NFKD: [0x110C, 0x1164, 0x11B4] }, -{ source: [0xC7F2], NFC: [0xC7F2], NFD: [0x110C, 0x1164, 0x11B5], NFKC: [0xC7F2], NFKD: [0x110C, 0x1164, 0x11B5] }, -{ source: [0xC7F3], NFC: [0xC7F3], NFD: [0x110C, 0x1164, 0x11B6], NFKC: [0xC7F3], NFKD: [0x110C, 0x1164, 0x11B6] }, -{ source: [0xC7F4], NFC: [0xC7F4], NFD: [0x110C, 0x1164, 0x11B7], NFKC: [0xC7F4], NFKD: [0x110C, 0x1164, 0x11B7] }, -{ source: [0xC7F5], NFC: [0xC7F5], NFD: [0x110C, 0x1164, 0x11B8], NFKC: [0xC7F5], NFKD: [0x110C, 0x1164, 0x11B8] }, -{ source: [0xC7F6], NFC: [0xC7F6], NFD: [0x110C, 0x1164, 0x11B9], NFKC: [0xC7F6], NFKD: [0x110C, 0x1164, 0x11B9] }, -{ source: [0xC7F7], NFC: [0xC7F7], NFD: [0x110C, 0x1164, 0x11BA], NFKC: [0xC7F7], NFKD: [0x110C, 0x1164, 0x11BA] }, -{ source: [0xC7F8], NFC: [0xC7F8], NFD: [0x110C, 0x1164, 0x11BB], NFKC: [0xC7F8], NFKD: [0x110C, 0x1164, 0x11BB] }, -{ source: [0xC7F9], NFC: [0xC7F9], NFD: [0x110C, 0x1164, 0x11BC], NFKC: [0xC7F9], NFKD: [0x110C, 0x1164, 0x11BC] }, -{ source: [0xC7FA], NFC: [0xC7FA], NFD: [0x110C, 0x1164, 0x11BD], NFKC: [0xC7FA], NFKD: [0x110C, 0x1164, 0x11BD] }, -{ source: [0xC7FB], NFC: [0xC7FB], NFD: [0x110C, 0x1164, 0x11BE], NFKC: [0xC7FB], NFKD: [0x110C, 0x1164, 0x11BE] }, -{ source: [0xC7FC], NFC: [0xC7FC], NFD: [0x110C, 0x1164, 0x11BF], NFKC: [0xC7FC], NFKD: [0x110C, 0x1164, 0x11BF] }, -{ source: [0xC7FD], NFC: [0xC7FD], NFD: [0x110C, 0x1164, 0x11C0], NFKC: [0xC7FD], NFKD: [0x110C, 0x1164, 0x11C0] }, -{ source: [0xC7FE], NFC: [0xC7FE], NFD: [0x110C, 0x1164, 0x11C1], NFKC: [0xC7FE], NFKD: [0x110C, 0x1164, 0x11C1] }, -{ source: [0xC7FF], NFC: [0xC7FF], NFD: [0x110C, 0x1164, 0x11C2], NFKC: [0xC7FF], NFKD: [0x110C, 0x1164, 0x11C2] }, -{ source: [0xC800], NFC: [0xC800], NFD: [0x110C, 0x1165], NFKC: [0xC800], NFKD: [0x110C, 0x1165] }, -{ source: [0xC801], NFC: [0xC801], NFD: [0x110C, 0x1165, 0x11A8], NFKC: [0xC801], NFKD: [0x110C, 0x1165, 0x11A8] }, -{ source: [0xC802], NFC: [0xC802], NFD: [0x110C, 0x1165, 0x11A9], NFKC: [0xC802], NFKD: [0x110C, 0x1165, 0x11A9] }, -{ source: [0xC803], NFC: [0xC803], NFD: [0x110C, 0x1165, 0x11AA], NFKC: [0xC803], NFKD: [0x110C, 0x1165, 0x11AA] }, -{ source: [0xC804], NFC: [0xC804], NFD: [0x110C, 0x1165, 0x11AB], NFKC: [0xC804], NFKD: [0x110C, 0x1165, 0x11AB] }, -{ source: [0xC805], NFC: [0xC805], NFD: [0x110C, 0x1165, 0x11AC], NFKC: [0xC805], NFKD: [0x110C, 0x1165, 0x11AC] }, -{ source: [0xC806], NFC: [0xC806], NFD: [0x110C, 0x1165, 0x11AD], NFKC: [0xC806], NFKD: [0x110C, 0x1165, 0x11AD] }, -{ source: [0xC807], NFC: [0xC807], NFD: [0x110C, 0x1165, 0x11AE], NFKC: [0xC807], NFKD: [0x110C, 0x1165, 0x11AE] }, -{ source: [0xC808], NFC: [0xC808], NFD: [0x110C, 0x1165, 0x11AF], NFKC: [0xC808], NFKD: [0x110C, 0x1165, 0x11AF] }, -{ source: [0xC809], NFC: [0xC809], NFD: [0x110C, 0x1165, 0x11B0], NFKC: [0xC809], NFKD: [0x110C, 0x1165, 0x11B0] }, -{ source: [0xC80A], NFC: [0xC80A], NFD: [0x110C, 0x1165, 0x11B1], NFKC: [0xC80A], NFKD: [0x110C, 0x1165, 0x11B1] }, -{ source: [0xC80B], NFC: [0xC80B], NFD: [0x110C, 0x1165, 0x11B2], NFKC: [0xC80B], NFKD: [0x110C, 0x1165, 0x11B2] }, -{ source: [0xC80C], NFC: [0xC80C], NFD: [0x110C, 0x1165, 0x11B3], NFKC: [0xC80C], NFKD: [0x110C, 0x1165, 0x11B3] }, -{ source: [0xC80D], NFC: [0xC80D], NFD: [0x110C, 0x1165, 0x11B4], NFKC: [0xC80D], NFKD: [0x110C, 0x1165, 0x11B4] }, -{ source: [0xC80E], NFC: [0xC80E], NFD: [0x110C, 0x1165, 0x11B5], NFKC: [0xC80E], NFKD: [0x110C, 0x1165, 0x11B5] }, -{ source: [0xC80F], NFC: [0xC80F], NFD: [0x110C, 0x1165, 0x11B6], NFKC: [0xC80F], NFKD: [0x110C, 0x1165, 0x11B6] }, -{ source: [0xC810], NFC: [0xC810], NFD: [0x110C, 0x1165, 0x11B7], NFKC: [0xC810], NFKD: [0x110C, 0x1165, 0x11B7] }, -{ source: [0xC811], NFC: [0xC811], NFD: [0x110C, 0x1165, 0x11B8], NFKC: [0xC811], NFKD: [0x110C, 0x1165, 0x11B8] }, -{ source: [0xC812], NFC: [0xC812], NFD: [0x110C, 0x1165, 0x11B9], NFKC: [0xC812], NFKD: [0x110C, 0x1165, 0x11B9] }, -{ source: [0xC813], NFC: [0xC813], NFD: [0x110C, 0x1165, 0x11BA], NFKC: [0xC813], NFKD: [0x110C, 0x1165, 0x11BA] }, -{ source: [0xC814], NFC: [0xC814], NFD: [0x110C, 0x1165, 0x11BB], NFKC: [0xC814], NFKD: [0x110C, 0x1165, 0x11BB] }, -{ source: [0xC815], NFC: [0xC815], NFD: [0x110C, 0x1165, 0x11BC], NFKC: [0xC815], NFKD: [0x110C, 0x1165, 0x11BC] }, -{ source: [0xC816], NFC: [0xC816], NFD: [0x110C, 0x1165, 0x11BD], NFKC: [0xC816], NFKD: [0x110C, 0x1165, 0x11BD] }, -{ source: [0xC817], NFC: [0xC817], NFD: [0x110C, 0x1165, 0x11BE], NFKC: [0xC817], NFKD: [0x110C, 0x1165, 0x11BE] }, -{ source: [0xC818], NFC: [0xC818], NFD: [0x110C, 0x1165, 0x11BF], NFKC: [0xC818], NFKD: [0x110C, 0x1165, 0x11BF] }, -{ source: [0xC819], NFC: [0xC819], NFD: [0x110C, 0x1165, 0x11C0], NFKC: [0xC819], NFKD: [0x110C, 0x1165, 0x11C0] }, -{ source: [0xC81A], NFC: [0xC81A], NFD: [0x110C, 0x1165, 0x11C1], NFKC: [0xC81A], NFKD: [0x110C, 0x1165, 0x11C1] }, -{ source: [0xC81B], NFC: [0xC81B], NFD: [0x110C, 0x1165, 0x11C2], NFKC: [0xC81B], NFKD: [0x110C, 0x1165, 0x11C2] }, -{ source: [0xC81C], NFC: [0xC81C], NFD: [0x110C, 0x1166], NFKC: [0xC81C], NFKD: [0x110C, 0x1166] }, -{ source: [0xC81D], NFC: [0xC81D], NFD: [0x110C, 0x1166, 0x11A8], NFKC: [0xC81D], NFKD: [0x110C, 0x1166, 0x11A8] }, -{ source: [0xC81E], NFC: [0xC81E], NFD: [0x110C, 0x1166, 0x11A9], NFKC: [0xC81E], NFKD: [0x110C, 0x1166, 0x11A9] }, -{ source: [0xC81F], NFC: [0xC81F], NFD: [0x110C, 0x1166, 0x11AA], NFKC: [0xC81F], NFKD: [0x110C, 0x1166, 0x11AA] }, -{ source: [0xC820], NFC: [0xC820], NFD: [0x110C, 0x1166, 0x11AB], NFKC: [0xC820], NFKD: [0x110C, 0x1166, 0x11AB] }, -{ source: [0xC821], NFC: [0xC821], NFD: [0x110C, 0x1166, 0x11AC], NFKC: [0xC821], NFKD: [0x110C, 0x1166, 0x11AC] }, -{ source: [0xC822], NFC: [0xC822], NFD: [0x110C, 0x1166, 0x11AD], NFKC: [0xC822], NFKD: [0x110C, 0x1166, 0x11AD] }, -{ source: [0xC823], NFC: [0xC823], NFD: [0x110C, 0x1166, 0x11AE], NFKC: [0xC823], NFKD: [0x110C, 0x1166, 0x11AE] }, -{ source: [0xC824], NFC: [0xC824], NFD: [0x110C, 0x1166, 0x11AF], NFKC: [0xC824], NFKD: [0x110C, 0x1166, 0x11AF] }, -{ source: [0xC825], NFC: [0xC825], NFD: [0x110C, 0x1166, 0x11B0], NFKC: [0xC825], NFKD: [0x110C, 0x1166, 0x11B0] }, -{ source: [0xC826], NFC: [0xC826], NFD: [0x110C, 0x1166, 0x11B1], NFKC: [0xC826], NFKD: [0x110C, 0x1166, 0x11B1] }, -{ source: [0xC827], NFC: [0xC827], NFD: [0x110C, 0x1166, 0x11B2], NFKC: [0xC827], NFKD: [0x110C, 0x1166, 0x11B2] }, -{ source: [0xC828], NFC: [0xC828], NFD: [0x110C, 0x1166, 0x11B3], NFKC: [0xC828], NFKD: [0x110C, 0x1166, 0x11B3] }, -{ source: [0xC829], NFC: [0xC829], NFD: [0x110C, 0x1166, 0x11B4], NFKC: [0xC829], NFKD: [0x110C, 0x1166, 0x11B4] }, -{ source: [0xC82A], NFC: [0xC82A], NFD: [0x110C, 0x1166, 0x11B5], NFKC: [0xC82A], NFKD: [0x110C, 0x1166, 0x11B5] }, -{ source: [0xC82B], NFC: [0xC82B], NFD: [0x110C, 0x1166, 0x11B6], NFKC: [0xC82B], NFKD: [0x110C, 0x1166, 0x11B6] }, -{ source: [0xC82C], NFC: [0xC82C], NFD: [0x110C, 0x1166, 0x11B7], NFKC: [0xC82C], NFKD: [0x110C, 0x1166, 0x11B7] }, -{ source: [0xC82D], NFC: [0xC82D], NFD: [0x110C, 0x1166, 0x11B8], NFKC: [0xC82D], NFKD: [0x110C, 0x1166, 0x11B8] }, -{ source: [0xC82E], NFC: [0xC82E], NFD: [0x110C, 0x1166, 0x11B9], NFKC: [0xC82E], NFKD: [0x110C, 0x1166, 0x11B9] }, -{ source: [0xC82F], NFC: [0xC82F], NFD: [0x110C, 0x1166, 0x11BA], NFKC: [0xC82F], NFKD: [0x110C, 0x1166, 0x11BA] }, -{ source: [0xC830], NFC: [0xC830], NFD: [0x110C, 0x1166, 0x11BB], NFKC: [0xC830], NFKD: [0x110C, 0x1166, 0x11BB] }, -{ source: [0xC831], NFC: [0xC831], NFD: [0x110C, 0x1166, 0x11BC], NFKC: [0xC831], NFKD: [0x110C, 0x1166, 0x11BC] }, -{ source: [0xC832], NFC: [0xC832], NFD: [0x110C, 0x1166, 0x11BD], NFKC: [0xC832], NFKD: [0x110C, 0x1166, 0x11BD] }, -{ source: [0xC833], NFC: [0xC833], NFD: [0x110C, 0x1166, 0x11BE], NFKC: [0xC833], NFKD: [0x110C, 0x1166, 0x11BE] }, -{ source: [0xC834], NFC: [0xC834], NFD: [0x110C, 0x1166, 0x11BF], NFKC: [0xC834], NFKD: [0x110C, 0x1166, 0x11BF] }, -{ source: [0xC835], NFC: [0xC835], NFD: [0x110C, 0x1166, 0x11C0], NFKC: [0xC835], NFKD: [0x110C, 0x1166, 0x11C0] }, -{ source: [0xC836], NFC: [0xC836], NFD: [0x110C, 0x1166, 0x11C1], NFKC: [0xC836], NFKD: [0x110C, 0x1166, 0x11C1] }, -{ source: [0xC837], NFC: [0xC837], NFD: [0x110C, 0x1166, 0x11C2], NFKC: [0xC837], NFKD: [0x110C, 0x1166, 0x11C2] }, -{ source: [0xC838], NFC: [0xC838], NFD: [0x110C, 0x1167], NFKC: [0xC838], NFKD: [0x110C, 0x1167] }, -{ source: [0xC839], NFC: [0xC839], NFD: [0x110C, 0x1167, 0x11A8], NFKC: [0xC839], NFKD: [0x110C, 0x1167, 0x11A8] }, -{ source: [0xC83A], NFC: [0xC83A], NFD: [0x110C, 0x1167, 0x11A9], NFKC: [0xC83A], NFKD: [0x110C, 0x1167, 0x11A9] }, -{ source: [0xC83B], NFC: [0xC83B], NFD: [0x110C, 0x1167, 0x11AA], NFKC: [0xC83B], NFKD: [0x110C, 0x1167, 0x11AA] }, -{ source: [0xC83C], NFC: [0xC83C], NFD: [0x110C, 0x1167, 0x11AB], NFKC: [0xC83C], NFKD: [0x110C, 0x1167, 0x11AB] }, -{ source: [0xC83D], NFC: [0xC83D], NFD: [0x110C, 0x1167, 0x11AC], NFKC: [0xC83D], NFKD: [0x110C, 0x1167, 0x11AC] }, -{ source: [0xC83E], NFC: [0xC83E], NFD: [0x110C, 0x1167, 0x11AD], NFKC: [0xC83E], NFKD: [0x110C, 0x1167, 0x11AD] }, -{ source: [0xC83F], NFC: [0xC83F], NFD: [0x110C, 0x1167, 0x11AE], NFKC: [0xC83F], NFKD: [0x110C, 0x1167, 0x11AE] }, -{ source: [0xC840], NFC: [0xC840], NFD: [0x110C, 0x1167, 0x11AF], NFKC: [0xC840], NFKD: [0x110C, 0x1167, 0x11AF] }, -{ source: [0xC841], NFC: [0xC841], NFD: [0x110C, 0x1167, 0x11B0], NFKC: [0xC841], NFKD: [0x110C, 0x1167, 0x11B0] }, -{ source: [0xC842], NFC: [0xC842], NFD: [0x110C, 0x1167, 0x11B1], NFKC: [0xC842], NFKD: [0x110C, 0x1167, 0x11B1] }, -{ source: [0xC843], NFC: [0xC843], NFD: [0x110C, 0x1167, 0x11B2], NFKC: [0xC843], NFKD: [0x110C, 0x1167, 0x11B2] }, -{ source: [0xC844], NFC: [0xC844], NFD: [0x110C, 0x1167, 0x11B3], NFKC: [0xC844], NFKD: [0x110C, 0x1167, 0x11B3] }, -{ source: [0xC845], NFC: [0xC845], NFD: [0x110C, 0x1167, 0x11B4], NFKC: [0xC845], NFKD: [0x110C, 0x1167, 0x11B4] }, -{ source: [0xC846], NFC: [0xC846], NFD: [0x110C, 0x1167, 0x11B5], NFKC: [0xC846], NFKD: [0x110C, 0x1167, 0x11B5] }, -{ source: [0xC847], NFC: [0xC847], NFD: [0x110C, 0x1167, 0x11B6], NFKC: [0xC847], NFKD: [0x110C, 0x1167, 0x11B6] }, -{ source: [0xC848], NFC: [0xC848], NFD: [0x110C, 0x1167, 0x11B7], NFKC: [0xC848], NFKD: [0x110C, 0x1167, 0x11B7] }, -{ source: [0xC849], NFC: [0xC849], NFD: [0x110C, 0x1167, 0x11B8], NFKC: [0xC849], NFKD: [0x110C, 0x1167, 0x11B8] }, -{ source: [0xC84A], NFC: [0xC84A], NFD: [0x110C, 0x1167, 0x11B9], NFKC: [0xC84A], NFKD: [0x110C, 0x1167, 0x11B9] }, -{ source: [0xC84B], NFC: [0xC84B], NFD: [0x110C, 0x1167, 0x11BA], NFKC: [0xC84B], NFKD: [0x110C, 0x1167, 0x11BA] }, -{ source: [0xC84C], NFC: [0xC84C], NFD: [0x110C, 0x1167, 0x11BB], NFKC: [0xC84C], NFKD: [0x110C, 0x1167, 0x11BB] }, -{ source: [0xC84D], NFC: [0xC84D], NFD: [0x110C, 0x1167, 0x11BC], NFKC: [0xC84D], NFKD: [0x110C, 0x1167, 0x11BC] }, -{ source: [0xC84E], NFC: [0xC84E], NFD: [0x110C, 0x1167, 0x11BD], NFKC: [0xC84E], NFKD: [0x110C, 0x1167, 0x11BD] }, -{ source: [0xC84F], NFC: [0xC84F], NFD: [0x110C, 0x1167, 0x11BE], NFKC: [0xC84F], NFKD: [0x110C, 0x1167, 0x11BE] }, -{ source: [0xC850], NFC: [0xC850], NFD: [0x110C, 0x1167, 0x11BF], NFKC: [0xC850], NFKD: [0x110C, 0x1167, 0x11BF] }, -{ source: [0xC851], NFC: [0xC851], NFD: [0x110C, 0x1167, 0x11C0], NFKC: [0xC851], NFKD: [0x110C, 0x1167, 0x11C0] }, -{ source: [0xC852], NFC: [0xC852], NFD: [0x110C, 0x1167, 0x11C1], NFKC: [0xC852], NFKD: [0x110C, 0x1167, 0x11C1] }, -{ source: [0xC853], NFC: [0xC853], NFD: [0x110C, 0x1167, 0x11C2], NFKC: [0xC853], NFKD: [0x110C, 0x1167, 0x11C2] }, -{ source: [0xC854], NFC: [0xC854], NFD: [0x110C, 0x1168], NFKC: [0xC854], NFKD: [0x110C, 0x1168] }, -{ source: [0xC855], NFC: [0xC855], NFD: [0x110C, 0x1168, 0x11A8], NFKC: [0xC855], NFKD: [0x110C, 0x1168, 0x11A8] }, -{ source: [0xC856], NFC: [0xC856], NFD: [0x110C, 0x1168, 0x11A9], NFKC: [0xC856], NFKD: [0x110C, 0x1168, 0x11A9] }, -{ source: [0xC857], NFC: [0xC857], NFD: [0x110C, 0x1168, 0x11AA], NFKC: [0xC857], NFKD: [0x110C, 0x1168, 0x11AA] }, -{ source: [0xC858], NFC: [0xC858], NFD: [0x110C, 0x1168, 0x11AB], NFKC: [0xC858], NFKD: [0x110C, 0x1168, 0x11AB] }, -{ source: [0xC859], NFC: [0xC859], NFD: [0x110C, 0x1168, 0x11AC], NFKC: [0xC859], NFKD: [0x110C, 0x1168, 0x11AC] }, -{ source: [0xC85A], NFC: [0xC85A], NFD: [0x110C, 0x1168, 0x11AD], NFKC: [0xC85A], NFKD: [0x110C, 0x1168, 0x11AD] }, -{ source: [0xC85B], NFC: [0xC85B], NFD: [0x110C, 0x1168, 0x11AE], NFKC: [0xC85B], NFKD: [0x110C, 0x1168, 0x11AE] }, -{ source: [0xC85C], NFC: [0xC85C], NFD: [0x110C, 0x1168, 0x11AF], NFKC: [0xC85C], NFKD: [0x110C, 0x1168, 0x11AF] }, -{ source: [0xC85D], NFC: [0xC85D], NFD: [0x110C, 0x1168, 0x11B0], NFKC: [0xC85D], NFKD: [0x110C, 0x1168, 0x11B0] }, -{ source: [0xC85E], NFC: [0xC85E], NFD: [0x110C, 0x1168, 0x11B1], NFKC: [0xC85E], NFKD: [0x110C, 0x1168, 0x11B1] }, -{ source: [0xC85F], NFC: [0xC85F], NFD: [0x110C, 0x1168, 0x11B2], NFKC: [0xC85F], NFKD: [0x110C, 0x1168, 0x11B2] }, -{ source: [0xC860], NFC: [0xC860], NFD: [0x110C, 0x1168, 0x11B3], NFKC: [0xC860], NFKD: [0x110C, 0x1168, 0x11B3] }, -{ source: [0xC861], NFC: [0xC861], NFD: [0x110C, 0x1168, 0x11B4], NFKC: [0xC861], NFKD: [0x110C, 0x1168, 0x11B4] }, -{ source: [0xC862], NFC: [0xC862], NFD: [0x110C, 0x1168, 0x11B5], NFKC: [0xC862], NFKD: [0x110C, 0x1168, 0x11B5] }, -{ source: [0xC863], NFC: [0xC863], NFD: [0x110C, 0x1168, 0x11B6], NFKC: [0xC863], NFKD: [0x110C, 0x1168, 0x11B6] }, -{ source: [0xC864], NFC: [0xC864], NFD: [0x110C, 0x1168, 0x11B7], NFKC: [0xC864], NFKD: [0x110C, 0x1168, 0x11B7] }, -{ source: [0xC865], NFC: [0xC865], NFD: [0x110C, 0x1168, 0x11B8], NFKC: [0xC865], NFKD: [0x110C, 0x1168, 0x11B8] }, -{ source: [0xC866], NFC: [0xC866], NFD: [0x110C, 0x1168, 0x11B9], NFKC: [0xC866], NFKD: [0x110C, 0x1168, 0x11B9] }, -{ source: [0xC867], NFC: [0xC867], NFD: [0x110C, 0x1168, 0x11BA], NFKC: [0xC867], NFKD: [0x110C, 0x1168, 0x11BA] }, -{ source: [0xC868], NFC: [0xC868], NFD: [0x110C, 0x1168, 0x11BB], NFKC: [0xC868], NFKD: [0x110C, 0x1168, 0x11BB] }, -{ source: [0xC869], NFC: [0xC869], NFD: [0x110C, 0x1168, 0x11BC], NFKC: [0xC869], NFKD: [0x110C, 0x1168, 0x11BC] }, -{ source: [0xC86A], NFC: [0xC86A], NFD: [0x110C, 0x1168, 0x11BD], NFKC: [0xC86A], NFKD: [0x110C, 0x1168, 0x11BD] }, -{ source: [0xC86B], NFC: [0xC86B], NFD: [0x110C, 0x1168, 0x11BE], NFKC: [0xC86B], NFKD: [0x110C, 0x1168, 0x11BE] }, -{ source: [0xC86C], NFC: [0xC86C], NFD: [0x110C, 0x1168, 0x11BF], NFKC: [0xC86C], NFKD: [0x110C, 0x1168, 0x11BF] }, -{ source: [0xC86D], NFC: [0xC86D], NFD: [0x110C, 0x1168, 0x11C0], NFKC: [0xC86D], NFKD: [0x110C, 0x1168, 0x11C0] }, -{ source: [0xC86E], NFC: [0xC86E], NFD: [0x110C, 0x1168, 0x11C1], NFKC: [0xC86E], NFKD: [0x110C, 0x1168, 0x11C1] }, -{ source: [0xC86F], NFC: [0xC86F], NFD: [0x110C, 0x1168, 0x11C2], NFKC: [0xC86F], NFKD: [0x110C, 0x1168, 0x11C2] }, -{ source: [0xC870], NFC: [0xC870], NFD: [0x110C, 0x1169], NFKC: [0xC870], NFKD: [0x110C, 0x1169] }, -{ source: [0xC871], NFC: [0xC871], NFD: [0x110C, 0x1169, 0x11A8], NFKC: [0xC871], NFKD: [0x110C, 0x1169, 0x11A8] }, -{ source: [0xC872], NFC: [0xC872], NFD: [0x110C, 0x1169, 0x11A9], NFKC: [0xC872], NFKD: [0x110C, 0x1169, 0x11A9] }, -{ source: [0xC873], NFC: [0xC873], NFD: [0x110C, 0x1169, 0x11AA], NFKC: [0xC873], NFKD: [0x110C, 0x1169, 0x11AA] }, -{ source: [0xC874], NFC: [0xC874], NFD: [0x110C, 0x1169, 0x11AB], NFKC: [0xC874], NFKD: [0x110C, 0x1169, 0x11AB] }, -{ source: [0xC875], NFC: [0xC875], NFD: [0x110C, 0x1169, 0x11AC], NFKC: [0xC875], NFKD: [0x110C, 0x1169, 0x11AC] }, -{ source: [0xC876], NFC: [0xC876], NFD: [0x110C, 0x1169, 0x11AD], NFKC: [0xC876], NFKD: [0x110C, 0x1169, 0x11AD] }, -{ source: [0xC877], NFC: [0xC877], NFD: [0x110C, 0x1169, 0x11AE], NFKC: [0xC877], NFKD: [0x110C, 0x1169, 0x11AE] }, -{ source: [0xC878], NFC: [0xC878], NFD: [0x110C, 0x1169, 0x11AF], NFKC: [0xC878], NFKD: [0x110C, 0x1169, 0x11AF] }, -{ source: [0xC879], NFC: [0xC879], NFD: [0x110C, 0x1169, 0x11B0], NFKC: [0xC879], NFKD: [0x110C, 0x1169, 0x11B0] }, -{ source: [0xC87A], NFC: [0xC87A], NFD: [0x110C, 0x1169, 0x11B1], NFKC: [0xC87A], NFKD: [0x110C, 0x1169, 0x11B1] }, -{ source: [0xC87B], NFC: [0xC87B], NFD: [0x110C, 0x1169, 0x11B2], NFKC: [0xC87B], NFKD: [0x110C, 0x1169, 0x11B2] }, -{ source: [0xC87C], NFC: [0xC87C], NFD: [0x110C, 0x1169, 0x11B3], NFKC: [0xC87C], NFKD: [0x110C, 0x1169, 0x11B3] }, -{ source: [0xC87D], NFC: [0xC87D], NFD: [0x110C, 0x1169, 0x11B4], NFKC: [0xC87D], NFKD: [0x110C, 0x1169, 0x11B4] }, -{ source: [0xC87E], NFC: [0xC87E], NFD: [0x110C, 0x1169, 0x11B5], NFKC: [0xC87E], NFKD: [0x110C, 0x1169, 0x11B5] }, -{ source: [0xC87F], NFC: [0xC87F], NFD: [0x110C, 0x1169, 0x11B6], NFKC: [0xC87F], NFKD: [0x110C, 0x1169, 0x11B6] }, -{ source: [0xC880], NFC: [0xC880], NFD: [0x110C, 0x1169, 0x11B7], NFKC: [0xC880], NFKD: [0x110C, 0x1169, 0x11B7] }, -{ source: [0xC881], NFC: [0xC881], NFD: [0x110C, 0x1169, 0x11B8], NFKC: [0xC881], NFKD: [0x110C, 0x1169, 0x11B8] }, -{ source: [0xC882], NFC: [0xC882], NFD: [0x110C, 0x1169, 0x11B9], NFKC: [0xC882], NFKD: [0x110C, 0x1169, 0x11B9] }, -{ source: [0xC883], NFC: [0xC883], NFD: [0x110C, 0x1169, 0x11BA], NFKC: [0xC883], NFKD: [0x110C, 0x1169, 0x11BA] }, -{ source: [0xC884], NFC: [0xC884], NFD: [0x110C, 0x1169, 0x11BB], NFKC: [0xC884], NFKD: [0x110C, 0x1169, 0x11BB] }, -{ source: [0xC885], NFC: [0xC885], NFD: [0x110C, 0x1169, 0x11BC], NFKC: [0xC885], NFKD: [0x110C, 0x1169, 0x11BC] }, -{ source: [0xC886], NFC: [0xC886], NFD: [0x110C, 0x1169, 0x11BD], NFKC: [0xC886], NFKD: [0x110C, 0x1169, 0x11BD] }, -{ source: [0xC887], NFC: [0xC887], NFD: [0x110C, 0x1169, 0x11BE], NFKC: [0xC887], NFKD: [0x110C, 0x1169, 0x11BE] }, -{ source: [0xC888], NFC: [0xC888], NFD: [0x110C, 0x1169, 0x11BF], NFKC: [0xC888], NFKD: [0x110C, 0x1169, 0x11BF] }, -{ source: [0xC889], NFC: [0xC889], NFD: [0x110C, 0x1169, 0x11C0], NFKC: [0xC889], NFKD: [0x110C, 0x1169, 0x11C0] }, -{ source: [0xC88A], NFC: [0xC88A], NFD: [0x110C, 0x1169, 0x11C1], NFKC: [0xC88A], NFKD: [0x110C, 0x1169, 0x11C1] }, -{ source: [0xC88B], NFC: [0xC88B], NFD: [0x110C, 0x1169, 0x11C2], NFKC: [0xC88B], NFKD: [0x110C, 0x1169, 0x11C2] }, -{ source: [0xC88C], NFC: [0xC88C], NFD: [0x110C, 0x116A], NFKC: [0xC88C], NFKD: [0x110C, 0x116A] }, -{ source: [0xC88D], NFC: [0xC88D], NFD: [0x110C, 0x116A, 0x11A8], NFKC: [0xC88D], NFKD: [0x110C, 0x116A, 0x11A8] }, -{ source: [0xC88E], NFC: [0xC88E], NFD: [0x110C, 0x116A, 0x11A9], NFKC: [0xC88E], NFKD: [0x110C, 0x116A, 0x11A9] }, -{ source: [0xC88F], NFC: [0xC88F], NFD: [0x110C, 0x116A, 0x11AA], NFKC: [0xC88F], NFKD: [0x110C, 0x116A, 0x11AA] }, -{ source: [0xC890], NFC: [0xC890], NFD: [0x110C, 0x116A, 0x11AB], NFKC: [0xC890], NFKD: [0x110C, 0x116A, 0x11AB] }, -{ source: [0xC891], NFC: [0xC891], NFD: [0x110C, 0x116A, 0x11AC], NFKC: [0xC891], NFKD: [0x110C, 0x116A, 0x11AC] }, -{ source: [0xC892], NFC: [0xC892], NFD: [0x110C, 0x116A, 0x11AD], NFKC: [0xC892], NFKD: [0x110C, 0x116A, 0x11AD] }, -{ source: [0xC893], NFC: [0xC893], NFD: [0x110C, 0x116A, 0x11AE], NFKC: [0xC893], NFKD: [0x110C, 0x116A, 0x11AE] }, -{ source: [0xC894], NFC: [0xC894], NFD: [0x110C, 0x116A, 0x11AF], NFKC: [0xC894], NFKD: [0x110C, 0x116A, 0x11AF] }, -{ source: [0xC895], NFC: [0xC895], NFD: [0x110C, 0x116A, 0x11B0], NFKC: [0xC895], NFKD: [0x110C, 0x116A, 0x11B0] }, -{ source: [0xC896], NFC: [0xC896], NFD: [0x110C, 0x116A, 0x11B1], NFKC: [0xC896], NFKD: [0x110C, 0x116A, 0x11B1] }, -{ source: [0xC897], NFC: [0xC897], NFD: [0x110C, 0x116A, 0x11B2], NFKC: [0xC897], NFKD: [0x110C, 0x116A, 0x11B2] }, -{ source: [0xC898], NFC: [0xC898], NFD: [0x110C, 0x116A, 0x11B3], NFKC: [0xC898], NFKD: [0x110C, 0x116A, 0x11B3] }, -{ source: [0xC899], NFC: [0xC899], NFD: [0x110C, 0x116A, 0x11B4], NFKC: [0xC899], NFKD: [0x110C, 0x116A, 0x11B4] }, -{ source: [0xC89A], NFC: [0xC89A], NFD: [0x110C, 0x116A, 0x11B5], NFKC: [0xC89A], NFKD: [0x110C, 0x116A, 0x11B5] }, -{ source: [0xC89B], NFC: [0xC89B], NFD: [0x110C, 0x116A, 0x11B6], NFKC: [0xC89B], NFKD: [0x110C, 0x116A, 0x11B6] }, -{ source: [0xC89C], NFC: [0xC89C], NFD: [0x110C, 0x116A, 0x11B7], NFKC: [0xC89C], NFKD: [0x110C, 0x116A, 0x11B7] }, -{ source: [0xC89D], NFC: [0xC89D], NFD: [0x110C, 0x116A, 0x11B8], NFKC: [0xC89D], NFKD: [0x110C, 0x116A, 0x11B8] }, -{ source: [0xC89E], NFC: [0xC89E], NFD: [0x110C, 0x116A, 0x11B9], NFKC: [0xC89E], NFKD: [0x110C, 0x116A, 0x11B9] }, -{ source: [0xC89F], NFC: [0xC89F], NFD: [0x110C, 0x116A, 0x11BA], NFKC: [0xC89F], NFKD: [0x110C, 0x116A, 0x11BA] }, -{ source: [0xC8A0], NFC: [0xC8A0], NFD: [0x110C, 0x116A, 0x11BB], NFKC: [0xC8A0], NFKD: [0x110C, 0x116A, 0x11BB] }, -{ source: [0xC8A1], NFC: [0xC8A1], NFD: [0x110C, 0x116A, 0x11BC], NFKC: [0xC8A1], NFKD: [0x110C, 0x116A, 0x11BC] }, -{ source: [0xC8A2], NFC: [0xC8A2], NFD: [0x110C, 0x116A, 0x11BD], NFKC: [0xC8A2], NFKD: [0x110C, 0x116A, 0x11BD] }, -{ source: [0xC8A3], NFC: [0xC8A3], NFD: [0x110C, 0x116A, 0x11BE], NFKC: [0xC8A3], NFKD: [0x110C, 0x116A, 0x11BE] }, -{ source: [0xC8A4], NFC: [0xC8A4], NFD: [0x110C, 0x116A, 0x11BF], NFKC: [0xC8A4], NFKD: [0x110C, 0x116A, 0x11BF] }, -{ source: [0xC8A5], NFC: [0xC8A5], NFD: [0x110C, 0x116A, 0x11C0], NFKC: [0xC8A5], NFKD: [0x110C, 0x116A, 0x11C0] }, -{ source: [0xC8A6], NFC: [0xC8A6], NFD: [0x110C, 0x116A, 0x11C1], NFKC: [0xC8A6], NFKD: [0x110C, 0x116A, 0x11C1] }, -{ source: [0xC8A7], NFC: [0xC8A7], NFD: [0x110C, 0x116A, 0x11C2], NFKC: [0xC8A7], NFKD: [0x110C, 0x116A, 0x11C2] }, -{ source: [0xC8A8], NFC: [0xC8A8], NFD: [0x110C, 0x116B], NFKC: [0xC8A8], NFKD: [0x110C, 0x116B] }, -{ source: [0xC8A9], NFC: [0xC8A9], NFD: [0x110C, 0x116B, 0x11A8], NFKC: [0xC8A9], NFKD: [0x110C, 0x116B, 0x11A8] }, -{ source: [0xC8AA], NFC: [0xC8AA], NFD: [0x110C, 0x116B, 0x11A9], NFKC: [0xC8AA], NFKD: [0x110C, 0x116B, 0x11A9] }, -{ source: [0xC8AB], NFC: [0xC8AB], NFD: [0x110C, 0x116B, 0x11AA], NFKC: [0xC8AB], NFKD: [0x110C, 0x116B, 0x11AA] }, -{ source: [0xC8AC], NFC: [0xC8AC], NFD: [0x110C, 0x116B, 0x11AB], NFKC: [0xC8AC], NFKD: [0x110C, 0x116B, 0x11AB] }, -{ source: [0xC8AD], NFC: [0xC8AD], NFD: [0x110C, 0x116B, 0x11AC], NFKC: [0xC8AD], NFKD: [0x110C, 0x116B, 0x11AC] }, -{ source: [0xC8AE], NFC: [0xC8AE], NFD: [0x110C, 0x116B, 0x11AD], NFKC: [0xC8AE], NFKD: [0x110C, 0x116B, 0x11AD] }, -{ source: [0xC8AF], NFC: [0xC8AF], NFD: [0x110C, 0x116B, 0x11AE], NFKC: [0xC8AF], NFKD: [0x110C, 0x116B, 0x11AE] }, -{ source: [0xC8B0], NFC: [0xC8B0], NFD: [0x110C, 0x116B, 0x11AF], NFKC: [0xC8B0], NFKD: [0x110C, 0x116B, 0x11AF] }, -{ source: [0xC8B1], NFC: [0xC8B1], NFD: [0x110C, 0x116B, 0x11B0], NFKC: [0xC8B1], NFKD: [0x110C, 0x116B, 0x11B0] }, -{ source: [0xC8B2], NFC: [0xC8B2], NFD: [0x110C, 0x116B, 0x11B1], NFKC: [0xC8B2], NFKD: [0x110C, 0x116B, 0x11B1] }, -{ source: [0xC8B3], NFC: [0xC8B3], NFD: [0x110C, 0x116B, 0x11B2], NFKC: [0xC8B3], NFKD: [0x110C, 0x116B, 0x11B2] }, -{ source: [0xC8B4], NFC: [0xC8B4], NFD: [0x110C, 0x116B, 0x11B3], NFKC: [0xC8B4], NFKD: [0x110C, 0x116B, 0x11B3] }, -{ source: [0xC8B5], NFC: [0xC8B5], NFD: [0x110C, 0x116B, 0x11B4], NFKC: [0xC8B5], NFKD: [0x110C, 0x116B, 0x11B4] }, -{ source: [0xC8B6], NFC: [0xC8B6], NFD: [0x110C, 0x116B, 0x11B5], NFKC: [0xC8B6], NFKD: [0x110C, 0x116B, 0x11B5] }, -{ source: [0xC8B7], NFC: [0xC8B7], NFD: [0x110C, 0x116B, 0x11B6], NFKC: [0xC8B7], NFKD: [0x110C, 0x116B, 0x11B6] }, -{ source: [0xC8B8], NFC: [0xC8B8], NFD: [0x110C, 0x116B, 0x11B7], NFKC: [0xC8B8], NFKD: [0x110C, 0x116B, 0x11B7] }, -{ source: [0xC8B9], NFC: [0xC8B9], NFD: [0x110C, 0x116B, 0x11B8], NFKC: [0xC8B9], NFKD: [0x110C, 0x116B, 0x11B8] }, -{ source: [0xC8BA], NFC: [0xC8BA], NFD: [0x110C, 0x116B, 0x11B9], NFKC: [0xC8BA], NFKD: [0x110C, 0x116B, 0x11B9] }, -{ source: [0xC8BB], NFC: [0xC8BB], NFD: [0x110C, 0x116B, 0x11BA], NFKC: [0xC8BB], NFKD: [0x110C, 0x116B, 0x11BA] }, -{ source: [0xC8BC], NFC: [0xC8BC], NFD: [0x110C, 0x116B, 0x11BB], NFKC: [0xC8BC], NFKD: [0x110C, 0x116B, 0x11BB] }, -{ source: [0xC8BD], NFC: [0xC8BD], NFD: [0x110C, 0x116B, 0x11BC], NFKC: [0xC8BD], NFKD: [0x110C, 0x116B, 0x11BC] }, -{ source: [0xC8BE], NFC: [0xC8BE], NFD: [0x110C, 0x116B, 0x11BD], NFKC: [0xC8BE], NFKD: [0x110C, 0x116B, 0x11BD] }, -{ source: [0xC8BF], NFC: [0xC8BF], NFD: [0x110C, 0x116B, 0x11BE], NFKC: [0xC8BF], NFKD: [0x110C, 0x116B, 0x11BE] }, -{ source: [0xC8C0], NFC: [0xC8C0], NFD: [0x110C, 0x116B, 0x11BF], NFKC: [0xC8C0], NFKD: [0x110C, 0x116B, 0x11BF] }, -{ source: [0xC8C1], NFC: [0xC8C1], NFD: [0x110C, 0x116B, 0x11C0], NFKC: [0xC8C1], NFKD: [0x110C, 0x116B, 0x11C0] }, -{ source: [0xC8C2], NFC: [0xC8C2], NFD: [0x110C, 0x116B, 0x11C1], NFKC: [0xC8C2], NFKD: [0x110C, 0x116B, 0x11C1] }, -{ source: [0xC8C3], NFC: [0xC8C3], NFD: [0x110C, 0x116B, 0x11C2], NFKC: [0xC8C3], NFKD: [0x110C, 0x116B, 0x11C2] }, -{ source: [0xC8C4], NFC: [0xC8C4], NFD: [0x110C, 0x116C], NFKC: [0xC8C4], NFKD: [0x110C, 0x116C] }, -{ source: [0xC8C5], NFC: [0xC8C5], NFD: [0x110C, 0x116C, 0x11A8], NFKC: [0xC8C5], NFKD: [0x110C, 0x116C, 0x11A8] }, -{ source: [0xC8C6], NFC: [0xC8C6], NFD: [0x110C, 0x116C, 0x11A9], NFKC: [0xC8C6], NFKD: [0x110C, 0x116C, 0x11A9] }, -{ source: [0xC8C7], NFC: [0xC8C7], NFD: [0x110C, 0x116C, 0x11AA], NFKC: [0xC8C7], NFKD: [0x110C, 0x116C, 0x11AA] }, -{ source: [0xC8C8], NFC: [0xC8C8], NFD: [0x110C, 0x116C, 0x11AB], NFKC: [0xC8C8], NFKD: [0x110C, 0x116C, 0x11AB] }, -{ source: [0xC8C9], NFC: [0xC8C9], NFD: [0x110C, 0x116C, 0x11AC], NFKC: [0xC8C9], NFKD: [0x110C, 0x116C, 0x11AC] }, -{ source: [0xC8CA], NFC: [0xC8CA], NFD: [0x110C, 0x116C, 0x11AD], NFKC: [0xC8CA], NFKD: [0x110C, 0x116C, 0x11AD] }, -{ source: [0xC8CB], NFC: [0xC8CB], NFD: [0x110C, 0x116C, 0x11AE], NFKC: [0xC8CB], NFKD: [0x110C, 0x116C, 0x11AE] }, -{ source: [0xC8CC], NFC: [0xC8CC], NFD: [0x110C, 0x116C, 0x11AF], NFKC: [0xC8CC], NFKD: [0x110C, 0x116C, 0x11AF] }, -{ source: [0xC8CD], NFC: [0xC8CD], NFD: [0x110C, 0x116C, 0x11B0], NFKC: [0xC8CD], NFKD: [0x110C, 0x116C, 0x11B0] }, -{ source: [0xC8CE], NFC: [0xC8CE], NFD: [0x110C, 0x116C, 0x11B1], NFKC: [0xC8CE], NFKD: [0x110C, 0x116C, 0x11B1] }, -{ source: [0xC8CF], NFC: [0xC8CF], NFD: [0x110C, 0x116C, 0x11B2], NFKC: [0xC8CF], NFKD: [0x110C, 0x116C, 0x11B2] }, -{ source: [0xC8D0], NFC: [0xC8D0], NFD: [0x110C, 0x116C, 0x11B3], NFKC: [0xC8D0], NFKD: [0x110C, 0x116C, 0x11B3] }, -{ source: [0xC8D1], NFC: [0xC8D1], NFD: [0x110C, 0x116C, 0x11B4], NFKC: [0xC8D1], NFKD: [0x110C, 0x116C, 0x11B4] }, -{ source: [0xC8D2], NFC: [0xC8D2], NFD: [0x110C, 0x116C, 0x11B5], NFKC: [0xC8D2], NFKD: [0x110C, 0x116C, 0x11B5] }, -{ source: [0xC8D3], NFC: [0xC8D3], NFD: [0x110C, 0x116C, 0x11B6], NFKC: [0xC8D3], NFKD: [0x110C, 0x116C, 0x11B6] }, -{ source: [0xC8D4], NFC: [0xC8D4], NFD: [0x110C, 0x116C, 0x11B7], NFKC: [0xC8D4], NFKD: [0x110C, 0x116C, 0x11B7] }, -{ source: [0xC8D5], NFC: [0xC8D5], NFD: [0x110C, 0x116C, 0x11B8], NFKC: [0xC8D5], NFKD: [0x110C, 0x116C, 0x11B8] }, -{ source: [0xC8D6], NFC: [0xC8D6], NFD: [0x110C, 0x116C, 0x11B9], NFKC: [0xC8D6], NFKD: [0x110C, 0x116C, 0x11B9] }, -{ source: [0xC8D7], NFC: [0xC8D7], NFD: [0x110C, 0x116C, 0x11BA], NFKC: [0xC8D7], NFKD: [0x110C, 0x116C, 0x11BA] }, -{ source: [0xC8D8], NFC: [0xC8D8], NFD: [0x110C, 0x116C, 0x11BB], NFKC: [0xC8D8], NFKD: [0x110C, 0x116C, 0x11BB] }, -{ source: [0xC8D9], NFC: [0xC8D9], NFD: [0x110C, 0x116C, 0x11BC], NFKC: [0xC8D9], NFKD: [0x110C, 0x116C, 0x11BC] }, -{ source: [0xC8DA], NFC: [0xC8DA], NFD: [0x110C, 0x116C, 0x11BD], NFKC: [0xC8DA], NFKD: [0x110C, 0x116C, 0x11BD] }, -{ source: [0xC8DB], NFC: [0xC8DB], NFD: [0x110C, 0x116C, 0x11BE], NFKC: [0xC8DB], NFKD: [0x110C, 0x116C, 0x11BE] }, -{ source: [0xC8DC], NFC: [0xC8DC], NFD: [0x110C, 0x116C, 0x11BF], NFKC: [0xC8DC], NFKD: [0x110C, 0x116C, 0x11BF] }, -{ source: [0xC8DD], NFC: [0xC8DD], NFD: [0x110C, 0x116C, 0x11C0], NFKC: [0xC8DD], NFKD: [0x110C, 0x116C, 0x11C0] }, -{ source: [0xC8DE], NFC: [0xC8DE], NFD: [0x110C, 0x116C, 0x11C1], NFKC: [0xC8DE], NFKD: [0x110C, 0x116C, 0x11C1] }, -{ source: [0xC8DF], NFC: [0xC8DF], NFD: [0x110C, 0x116C, 0x11C2], NFKC: [0xC8DF], NFKD: [0x110C, 0x116C, 0x11C2] }, -{ source: [0xC8E0], NFC: [0xC8E0], NFD: [0x110C, 0x116D], NFKC: [0xC8E0], NFKD: [0x110C, 0x116D] }, -{ source: [0xC8E1], NFC: [0xC8E1], NFD: [0x110C, 0x116D, 0x11A8], NFKC: [0xC8E1], NFKD: [0x110C, 0x116D, 0x11A8] }, -{ source: [0xC8E2], NFC: [0xC8E2], NFD: [0x110C, 0x116D, 0x11A9], NFKC: [0xC8E2], NFKD: [0x110C, 0x116D, 0x11A9] }, -{ source: [0xC8E3], NFC: [0xC8E3], NFD: [0x110C, 0x116D, 0x11AA], NFKC: [0xC8E3], NFKD: [0x110C, 0x116D, 0x11AA] }, -{ source: [0xC8E4], NFC: [0xC8E4], NFD: [0x110C, 0x116D, 0x11AB], NFKC: [0xC8E4], NFKD: [0x110C, 0x116D, 0x11AB] }, -{ source: [0xC8E5], NFC: [0xC8E5], NFD: [0x110C, 0x116D, 0x11AC], NFKC: [0xC8E5], NFKD: [0x110C, 0x116D, 0x11AC] }, -{ source: [0xC8E6], NFC: [0xC8E6], NFD: [0x110C, 0x116D, 0x11AD], NFKC: [0xC8E6], NFKD: [0x110C, 0x116D, 0x11AD] }, -{ source: [0xC8E7], NFC: [0xC8E7], NFD: [0x110C, 0x116D, 0x11AE], NFKC: [0xC8E7], NFKD: [0x110C, 0x116D, 0x11AE] }, -{ source: [0xC8E8], NFC: [0xC8E8], NFD: [0x110C, 0x116D, 0x11AF], NFKC: [0xC8E8], NFKD: [0x110C, 0x116D, 0x11AF] }, -{ source: [0xC8E9], NFC: [0xC8E9], NFD: [0x110C, 0x116D, 0x11B0], NFKC: [0xC8E9], NFKD: [0x110C, 0x116D, 0x11B0] }, -{ source: [0xC8EA], NFC: [0xC8EA], NFD: [0x110C, 0x116D, 0x11B1], NFKC: [0xC8EA], NFKD: [0x110C, 0x116D, 0x11B1] }, -{ source: [0xC8EB], NFC: [0xC8EB], NFD: [0x110C, 0x116D, 0x11B2], NFKC: [0xC8EB], NFKD: [0x110C, 0x116D, 0x11B2] }, -{ source: [0xC8EC], NFC: [0xC8EC], NFD: [0x110C, 0x116D, 0x11B3], NFKC: [0xC8EC], NFKD: [0x110C, 0x116D, 0x11B3] }, -{ source: [0xC8ED], NFC: [0xC8ED], NFD: [0x110C, 0x116D, 0x11B4], NFKC: [0xC8ED], NFKD: [0x110C, 0x116D, 0x11B4] }, -{ source: [0xC8EE], NFC: [0xC8EE], NFD: [0x110C, 0x116D, 0x11B5], NFKC: [0xC8EE], NFKD: [0x110C, 0x116D, 0x11B5] }, -{ source: [0xC8EF], NFC: [0xC8EF], NFD: [0x110C, 0x116D, 0x11B6], NFKC: [0xC8EF], NFKD: [0x110C, 0x116D, 0x11B6] }, -{ source: [0xC8F0], NFC: [0xC8F0], NFD: [0x110C, 0x116D, 0x11B7], NFKC: [0xC8F0], NFKD: [0x110C, 0x116D, 0x11B7] }, -{ source: [0xC8F1], NFC: [0xC8F1], NFD: [0x110C, 0x116D, 0x11B8], NFKC: [0xC8F1], NFKD: [0x110C, 0x116D, 0x11B8] }, -{ source: [0xC8F2], NFC: [0xC8F2], NFD: [0x110C, 0x116D, 0x11B9], NFKC: [0xC8F2], NFKD: [0x110C, 0x116D, 0x11B9] }, -{ source: [0xC8F3], NFC: [0xC8F3], NFD: [0x110C, 0x116D, 0x11BA], NFKC: [0xC8F3], NFKD: [0x110C, 0x116D, 0x11BA] }, -{ source: [0xC8F4], NFC: [0xC8F4], NFD: [0x110C, 0x116D, 0x11BB], NFKC: [0xC8F4], NFKD: [0x110C, 0x116D, 0x11BB] }, -{ source: [0xC8F5], NFC: [0xC8F5], NFD: [0x110C, 0x116D, 0x11BC], NFKC: [0xC8F5], NFKD: [0x110C, 0x116D, 0x11BC] }, -{ source: [0xC8F6], NFC: [0xC8F6], NFD: [0x110C, 0x116D, 0x11BD], NFKC: [0xC8F6], NFKD: [0x110C, 0x116D, 0x11BD] }, -{ source: [0xC8F7], NFC: [0xC8F7], NFD: [0x110C, 0x116D, 0x11BE], NFKC: [0xC8F7], NFKD: [0x110C, 0x116D, 0x11BE] }, -{ source: [0xC8F8], NFC: [0xC8F8], NFD: [0x110C, 0x116D, 0x11BF], NFKC: [0xC8F8], NFKD: [0x110C, 0x116D, 0x11BF] }, -{ source: [0xC8F9], NFC: [0xC8F9], NFD: [0x110C, 0x116D, 0x11C0], NFKC: [0xC8F9], NFKD: [0x110C, 0x116D, 0x11C0] }, -{ source: [0xC8FA], NFC: [0xC8FA], NFD: [0x110C, 0x116D, 0x11C1], NFKC: [0xC8FA], NFKD: [0x110C, 0x116D, 0x11C1] }, -{ source: [0xC8FB], NFC: [0xC8FB], NFD: [0x110C, 0x116D, 0x11C2], NFKC: [0xC8FB], NFKD: [0x110C, 0x116D, 0x11C2] }, -{ source: [0xC8FC], NFC: [0xC8FC], NFD: [0x110C, 0x116E], NFKC: [0xC8FC], NFKD: [0x110C, 0x116E] }, -{ source: [0xC8FD], NFC: [0xC8FD], NFD: [0x110C, 0x116E, 0x11A8], NFKC: [0xC8FD], NFKD: [0x110C, 0x116E, 0x11A8] }, -{ source: [0xC8FE], NFC: [0xC8FE], NFD: [0x110C, 0x116E, 0x11A9], NFKC: [0xC8FE], NFKD: [0x110C, 0x116E, 0x11A9] }, -{ source: [0xC8FF], NFC: [0xC8FF], NFD: [0x110C, 0x116E, 0x11AA], NFKC: [0xC8FF], NFKD: [0x110C, 0x116E, 0x11AA] }, -{ source: [0xC900], NFC: [0xC900], NFD: [0x110C, 0x116E, 0x11AB], NFKC: [0xC900], NFKD: [0x110C, 0x116E, 0x11AB] }, -{ source: [0xC901], NFC: [0xC901], NFD: [0x110C, 0x116E, 0x11AC], NFKC: [0xC901], NFKD: [0x110C, 0x116E, 0x11AC] }, -{ source: [0xC902], NFC: [0xC902], NFD: [0x110C, 0x116E, 0x11AD], NFKC: [0xC902], NFKD: [0x110C, 0x116E, 0x11AD] }, -{ source: [0xC903], NFC: [0xC903], NFD: [0x110C, 0x116E, 0x11AE], NFKC: [0xC903], NFKD: [0x110C, 0x116E, 0x11AE] }, -{ source: [0xC904], NFC: [0xC904], NFD: [0x110C, 0x116E, 0x11AF], NFKC: [0xC904], NFKD: [0x110C, 0x116E, 0x11AF] }, -{ source: [0xC905], NFC: [0xC905], NFD: [0x110C, 0x116E, 0x11B0], NFKC: [0xC905], NFKD: [0x110C, 0x116E, 0x11B0] }, -{ source: [0xC906], NFC: [0xC906], NFD: [0x110C, 0x116E, 0x11B1], NFKC: [0xC906], NFKD: [0x110C, 0x116E, 0x11B1] }, -{ source: [0xC907], NFC: [0xC907], NFD: [0x110C, 0x116E, 0x11B2], NFKC: [0xC907], NFKD: [0x110C, 0x116E, 0x11B2] }, -{ source: [0xC908], NFC: [0xC908], NFD: [0x110C, 0x116E, 0x11B3], NFKC: [0xC908], NFKD: [0x110C, 0x116E, 0x11B3] }, -{ source: [0xC909], NFC: [0xC909], NFD: [0x110C, 0x116E, 0x11B4], NFKC: [0xC909], NFKD: [0x110C, 0x116E, 0x11B4] }, -{ source: [0xC90A], NFC: [0xC90A], NFD: [0x110C, 0x116E, 0x11B5], NFKC: [0xC90A], NFKD: [0x110C, 0x116E, 0x11B5] }, -{ source: [0xC90B], NFC: [0xC90B], NFD: [0x110C, 0x116E, 0x11B6], NFKC: [0xC90B], NFKD: [0x110C, 0x116E, 0x11B6] }, -{ source: [0xC90C], NFC: [0xC90C], NFD: [0x110C, 0x116E, 0x11B7], NFKC: [0xC90C], NFKD: [0x110C, 0x116E, 0x11B7] }, -{ source: [0xC90D], NFC: [0xC90D], NFD: [0x110C, 0x116E, 0x11B8], NFKC: [0xC90D], NFKD: [0x110C, 0x116E, 0x11B8] }, -{ source: [0xC90E], NFC: [0xC90E], NFD: [0x110C, 0x116E, 0x11B9], NFKC: [0xC90E], NFKD: [0x110C, 0x116E, 0x11B9] }, -{ source: [0xC90F], NFC: [0xC90F], NFD: [0x110C, 0x116E, 0x11BA], NFKC: [0xC90F], NFKD: [0x110C, 0x116E, 0x11BA] }, -{ source: [0xC910], NFC: [0xC910], NFD: [0x110C, 0x116E, 0x11BB], NFKC: [0xC910], NFKD: [0x110C, 0x116E, 0x11BB] }, -{ source: [0xC911], NFC: [0xC911], NFD: [0x110C, 0x116E, 0x11BC], NFKC: [0xC911], NFKD: [0x110C, 0x116E, 0x11BC] }, -{ source: [0xC912], NFC: [0xC912], NFD: [0x110C, 0x116E, 0x11BD], NFKC: [0xC912], NFKD: [0x110C, 0x116E, 0x11BD] }, -{ source: [0xC913], NFC: [0xC913], NFD: [0x110C, 0x116E, 0x11BE], NFKC: [0xC913], NFKD: [0x110C, 0x116E, 0x11BE] }, -{ source: [0xC914], NFC: [0xC914], NFD: [0x110C, 0x116E, 0x11BF], NFKC: [0xC914], NFKD: [0x110C, 0x116E, 0x11BF] }, -{ source: [0xC915], NFC: [0xC915], NFD: [0x110C, 0x116E, 0x11C0], NFKC: [0xC915], NFKD: [0x110C, 0x116E, 0x11C0] }, -{ source: [0xC916], NFC: [0xC916], NFD: [0x110C, 0x116E, 0x11C1], NFKC: [0xC916], NFKD: [0x110C, 0x116E, 0x11C1] }, -{ source: [0xC917], NFC: [0xC917], NFD: [0x110C, 0x116E, 0x11C2], NFKC: [0xC917], NFKD: [0x110C, 0x116E, 0x11C2] }, -{ source: [0xC918], NFC: [0xC918], NFD: [0x110C, 0x116F], NFKC: [0xC918], NFKD: [0x110C, 0x116F] }, -{ source: [0xC919], NFC: [0xC919], NFD: [0x110C, 0x116F, 0x11A8], NFKC: [0xC919], NFKD: [0x110C, 0x116F, 0x11A8] }, -{ source: [0xC91A], NFC: [0xC91A], NFD: [0x110C, 0x116F, 0x11A9], NFKC: [0xC91A], NFKD: [0x110C, 0x116F, 0x11A9] }, -{ source: [0xC91B], NFC: [0xC91B], NFD: [0x110C, 0x116F, 0x11AA], NFKC: [0xC91B], NFKD: [0x110C, 0x116F, 0x11AA] }, -{ source: [0xC91C], NFC: [0xC91C], NFD: [0x110C, 0x116F, 0x11AB], NFKC: [0xC91C], NFKD: [0x110C, 0x116F, 0x11AB] }, -{ source: [0xC91D], NFC: [0xC91D], NFD: [0x110C, 0x116F, 0x11AC], NFKC: [0xC91D], NFKD: [0x110C, 0x116F, 0x11AC] }, -{ source: [0xC91E], NFC: [0xC91E], NFD: [0x110C, 0x116F, 0x11AD], NFKC: [0xC91E], NFKD: [0x110C, 0x116F, 0x11AD] }, -{ source: [0xC91F], NFC: [0xC91F], NFD: [0x110C, 0x116F, 0x11AE], NFKC: [0xC91F], NFKD: [0x110C, 0x116F, 0x11AE] }, -{ source: [0xC920], NFC: [0xC920], NFD: [0x110C, 0x116F, 0x11AF], NFKC: [0xC920], NFKD: [0x110C, 0x116F, 0x11AF] }, -{ source: [0xC921], NFC: [0xC921], NFD: [0x110C, 0x116F, 0x11B0], NFKC: [0xC921], NFKD: [0x110C, 0x116F, 0x11B0] }, -{ source: [0xC922], NFC: [0xC922], NFD: [0x110C, 0x116F, 0x11B1], NFKC: [0xC922], NFKD: [0x110C, 0x116F, 0x11B1] }, -{ source: [0xC923], NFC: [0xC923], NFD: [0x110C, 0x116F, 0x11B2], NFKC: [0xC923], NFKD: [0x110C, 0x116F, 0x11B2] }, -{ source: [0xC924], NFC: [0xC924], NFD: [0x110C, 0x116F, 0x11B3], NFKC: [0xC924], NFKD: [0x110C, 0x116F, 0x11B3] }, -{ source: [0xC925], NFC: [0xC925], NFD: [0x110C, 0x116F, 0x11B4], NFKC: [0xC925], NFKD: [0x110C, 0x116F, 0x11B4] }, -{ source: [0xC926], NFC: [0xC926], NFD: [0x110C, 0x116F, 0x11B5], NFKC: [0xC926], NFKD: [0x110C, 0x116F, 0x11B5] }, -{ source: [0xC927], NFC: [0xC927], NFD: [0x110C, 0x116F, 0x11B6], NFKC: [0xC927], NFKD: [0x110C, 0x116F, 0x11B6] }, -{ source: [0xC928], NFC: [0xC928], NFD: [0x110C, 0x116F, 0x11B7], NFKC: [0xC928], NFKD: [0x110C, 0x116F, 0x11B7] }, -{ source: [0xC929], NFC: [0xC929], NFD: [0x110C, 0x116F, 0x11B8], NFKC: [0xC929], NFKD: [0x110C, 0x116F, 0x11B8] }, -{ source: [0xC92A], NFC: [0xC92A], NFD: [0x110C, 0x116F, 0x11B9], NFKC: [0xC92A], NFKD: [0x110C, 0x116F, 0x11B9] }, -{ source: [0xC92B], NFC: [0xC92B], NFD: [0x110C, 0x116F, 0x11BA], NFKC: [0xC92B], NFKD: [0x110C, 0x116F, 0x11BA] }, -{ source: [0xC92C], NFC: [0xC92C], NFD: [0x110C, 0x116F, 0x11BB], NFKC: [0xC92C], NFKD: [0x110C, 0x116F, 0x11BB] }, -{ source: [0xC92D], NFC: [0xC92D], NFD: [0x110C, 0x116F, 0x11BC], NFKC: [0xC92D], NFKD: [0x110C, 0x116F, 0x11BC] }, -{ source: [0xC92E], NFC: [0xC92E], NFD: [0x110C, 0x116F, 0x11BD], NFKC: [0xC92E], NFKD: [0x110C, 0x116F, 0x11BD] }, -{ source: [0xC92F], NFC: [0xC92F], NFD: [0x110C, 0x116F, 0x11BE], NFKC: [0xC92F], NFKD: [0x110C, 0x116F, 0x11BE] }, -{ source: [0xC930], NFC: [0xC930], NFD: [0x110C, 0x116F, 0x11BF], NFKC: [0xC930], NFKD: [0x110C, 0x116F, 0x11BF] }, -{ source: [0xC931], NFC: [0xC931], NFD: [0x110C, 0x116F, 0x11C0], NFKC: [0xC931], NFKD: [0x110C, 0x116F, 0x11C0] }, -{ source: [0xC932], NFC: [0xC932], NFD: [0x110C, 0x116F, 0x11C1], NFKC: [0xC932], NFKD: [0x110C, 0x116F, 0x11C1] }, -{ source: [0xC933], NFC: [0xC933], NFD: [0x110C, 0x116F, 0x11C2], NFKC: [0xC933], NFKD: [0x110C, 0x116F, 0x11C2] }, -{ source: [0xC934], NFC: [0xC934], NFD: [0x110C, 0x1170], NFKC: [0xC934], NFKD: [0x110C, 0x1170] }, -{ source: [0xC935], NFC: [0xC935], NFD: [0x110C, 0x1170, 0x11A8], NFKC: [0xC935], NFKD: [0x110C, 0x1170, 0x11A8] }, -{ source: [0xC936], NFC: [0xC936], NFD: [0x110C, 0x1170, 0x11A9], NFKC: [0xC936], NFKD: [0x110C, 0x1170, 0x11A9] }, -{ source: [0xC937], NFC: [0xC937], NFD: [0x110C, 0x1170, 0x11AA], NFKC: [0xC937], NFKD: [0x110C, 0x1170, 0x11AA] }, -{ source: [0xC938], NFC: [0xC938], NFD: [0x110C, 0x1170, 0x11AB], NFKC: [0xC938], NFKD: [0x110C, 0x1170, 0x11AB] }, -{ source: [0xC939], NFC: [0xC939], NFD: [0x110C, 0x1170, 0x11AC], NFKC: [0xC939], NFKD: [0x110C, 0x1170, 0x11AC] }, -{ source: [0xC93A], NFC: [0xC93A], NFD: [0x110C, 0x1170, 0x11AD], NFKC: [0xC93A], NFKD: [0x110C, 0x1170, 0x11AD] }, -{ source: [0xC93B], NFC: [0xC93B], NFD: [0x110C, 0x1170, 0x11AE], NFKC: [0xC93B], NFKD: [0x110C, 0x1170, 0x11AE] }, -{ source: [0xC93C], NFC: [0xC93C], NFD: [0x110C, 0x1170, 0x11AF], NFKC: [0xC93C], NFKD: [0x110C, 0x1170, 0x11AF] }, -{ source: [0xC93D], NFC: [0xC93D], NFD: [0x110C, 0x1170, 0x11B0], NFKC: [0xC93D], NFKD: [0x110C, 0x1170, 0x11B0] }, -{ source: [0xC93E], NFC: [0xC93E], NFD: [0x110C, 0x1170, 0x11B1], NFKC: [0xC93E], NFKD: [0x110C, 0x1170, 0x11B1] }, -{ source: [0xC93F], NFC: [0xC93F], NFD: [0x110C, 0x1170, 0x11B2], NFKC: [0xC93F], NFKD: [0x110C, 0x1170, 0x11B2] }, -{ source: [0xC940], NFC: [0xC940], NFD: [0x110C, 0x1170, 0x11B3], NFKC: [0xC940], NFKD: [0x110C, 0x1170, 0x11B3] }, -{ source: [0xC941], NFC: [0xC941], NFD: [0x110C, 0x1170, 0x11B4], NFKC: [0xC941], NFKD: [0x110C, 0x1170, 0x11B4] }, -{ source: [0xC942], NFC: [0xC942], NFD: [0x110C, 0x1170, 0x11B5], NFKC: [0xC942], NFKD: [0x110C, 0x1170, 0x11B5] }, -{ source: [0xC943], NFC: [0xC943], NFD: [0x110C, 0x1170, 0x11B6], NFKC: [0xC943], NFKD: [0x110C, 0x1170, 0x11B6] }, -{ source: [0xC944], NFC: [0xC944], NFD: [0x110C, 0x1170, 0x11B7], NFKC: [0xC944], NFKD: [0x110C, 0x1170, 0x11B7] }, -{ source: [0xC945], NFC: [0xC945], NFD: [0x110C, 0x1170, 0x11B8], NFKC: [0xC945], NFKD: [0x110C, 0x1170, 0x11B8] }, -{ source: [0xC946], NFC: [0xC946], NFD: [0x110C, 0x1170, 0x11B9], NFKC: [0xC946], NFKD: [0x110C, 0x1170, 0x11B9] }, -{ source: [0xC947], NFC: [0xC947], NFD: [0x110C, 0x1170, 0x11BA], NFKC: [0xC947], NFKD: [0x110C, 0x1170, 0x11BA] }, -{ source: [0xC948], NFC: [0xC948], NFD: [0x110C, 0x1170, 0x11BB], NFKC: [0xC948], NFKD: [0x110C, 0x1170, 0x11BB] }, -{ source: [0xC949], NFC: [0xC949], NFD: [0x110C, 0x1170, 0x11BC], NFKC: [0xC949], NFKD: [0x110C, 0x1170, 0x11BC] }, -{ source: [0xC94A], NFC: [0xC94A], NFD: [0x110C, 0x1170, 0x11BD], NFKC: [0xC94A], NFKD: [0x110C, 0x1170, 0x11BD] }, -{ source: [0xC94B], NFC: [0xC94B], NFD: [0x110C, 0x1170, 0x11BE], NFKC: [0xC94B], NFKD: [0x110C, 0x1170, 0x11BE] }, -{ source: [0xC94C], NFC: [0xC94C], NFD: [0x110C, 0x1170, 0x11BF], NFKC: [0xC94C], NFKD: [0x110C, 0x1170, 0x11BF] }, -{ source: [0xC94D], NFC: [0xC94D], NFD: [0x110C, 0x1170, 0x11C0], NFKC: [0xC94D], NFKD: [0x110C, 0x1170, 0x11C0] }, -{ source: [0xC94E], NFC: [0xC94E], NFD: [0x110C, 0x1170, 0x11C1], NFKC: [0xC94E], NFKD: [0x110C, 0x1170, 0x11C1] }, -{ source: [0xC94F], NFC: [0xC94F], NFD: [0x110C, 0x1170, 0x11C2], NFKC: [0xC94F], NFKD: [0x110C, 0x1170, 0x11C2] }, -{ source: [0xC950], NFC: [0xC950], NFD: [0x110C, 0x1171], NFKC: [0xC950], NFKD: [0x110C, 0x1171] }, -{ source: [0xC951], NFC: [0xC951], NFD: [0x110C, 0x1171, 0x11A8], NFKC: [0xC951], NFKD: [0x110C, 0x1171, 0x11A8] }, -{ source: [0xC952], NFC: [0xC952], NFD: [0x110C, 0x1171, 0x11A9], NFKC: [0xC952], NFKD: [0x110C, 0x1171, 0x11A9] }, -{ source: [0xC953], NFC: [0xC953], NFD: [0x110C, 0x1171, 0x11AA], NFKC: [0xC953], NFKD: [0x110C, 0x1171, 0x11AA] }, -{ source: [0xC954], NFC: [0xC954], NFD: [0x110C, 0x1171, 0x11AB], NFKC: [0xC954], NFKD: [0x110C, 0x1171, 0x11AB] }, -{ source: [0xC955], NFC: [0xC955], NFD: [0x110C, 0x1171, 0x11AC], NFKC: [0xC955], NFKD: [0x110C, 0x1171, 0x11AC] }, -{ source: [0xC956], NFC: [0xC956], NFD: [0x110C, 0x1171, 0x11AD], NFKC: [0xC956], NFKD: [0x110C, 0x1171, 0x11AD] }, -{ source: [0xC957], NFC: [0xC957], NFD: [0x110C, 0x1171, 0x11AE], NFKC: [0xC957], NFKD: [0x110C, 0x1171, 0x11AE] }, -{ source: [0xC958], NFC: [0xC958], NFD: [0x110C, 0x1171, 0x11AF], NFKC: [0xC958], NFKD: [0x110C, 0x1171, 0x11AF] }, -{ source: [0xC959], NFC: [0xC959], NFD: [0x110C, 0x1171, 0x11B0], NFKC: [0xC959], NFKD: [0x110C, 0x1171, 0x11B0] }, -{ source: [0xC95A], NFC: [0xC95A], NFD: [0x110C, 0x1171, 0x11B1], NFKC: [0xC95A], NFKD: [0x110C, 0x1171, 0x11B1] }, -{ source: [0xC95B], NFC: [0xC95B], NFD: [0x110C, 0x1171, 0x11B2], NFKC: [0xC95B], NFKD: [0x110C, 0x1171, 0x11B2] }, -{ source: [0xC95C], NFC: [0xC95C], NFD: [0x110C, 0x1171, 0x11B3], NFKC: [0xC95C], NFKD: [0x110C, 0x1171, 0x11B3] }, -{ source: [0xC95D], NFC: [0xC95D], NFD: [0x110C, 0x1171, 0x11B4], NFKC: [0xC95D], NFKD: [0x110C, 0x1171, 0x11B4] }, -{ source: [0xC95E], NFC: [0xC95E], NFD: [0x110C, 0x1171, 0x11B5], NFKC: [0xC95E], NFKD: [0x110C, 0x1171, 0x11B5] }, -{ source: [0xC95F], NFC: [0xC95F], NFD: [0x110C, 0x1171, 0x11B6], NFKC: [0xC95F], NFKD: [0x110C, 0x1171, 0x11B6] }, -{ source: [0xC960], NFC: [0xC960], NFD: [0x110C, 0x1171, 0x11B7], NFKC: [0xC960], NFKD: [0x110C, 0x1171, 0x11B7] }, -{ source: [0xC961], NFC: [0xC961], NFD: [0x110C, 0x1171, 0x11B8], NFKC: [0xC961], NFKD: [0x110C, 0x1171, 0x11B8] }, -{ source: [0xC962], NFC: [0xC962], NFD: [0x110C, 0x1171, 0x11B9], NFKC: [0xC962], NFKD: [0x110C, 0x1171, 0x11B9] }, -{ source: [0xC963], NFC: [0xC963], NFD: [0x110C, 0x1171, 0x11BA], NFKC: [0xC963], NFKD: [0x110C, 0x1171, 0x11BA] }, -{ source: [0xC964], NFC: [0xC964], NFD: [0x110C, 0x1171, 0x11BB], NFKC: [0xC964], NFKD: [0x110C, 0x1171, 0x11BB] }, -{ source: [0xC965], NFC: [0xC965], NFD: [0x110C, 0x1171, 0x11BC], NFKC: [0xC965], NFKD: [0x110C, 0x1171, 0x11BC] }, -{ source: [0xC966], NFC: [0xC966], NFD: [0x110C, 0x1171, 0x11BD], NFKC: [0xC966], NFKD: [0x110C, 0x1171, 0x11BD] }, -{ source: [0xC967], NFC: [0xC967], NFD: [0x110C, 0x1171, 0x11BE], NFKC: [0xC967], NFKD: [0x110C, 0x1171, 0x11BE] }, -{ source: [0xC968], NFC: [0xC968], NFD: [0x110C, 0x1171, 0x11BF], NFKC: [0xC968], NFKD: [0x110C, 0x1171, 0x11BF] }, -{ source: [0xC969], NFC: [0xC969], NFD: [0x110C, 0x1171, 0x11C0], NFKC: [0xC969], NFKD: [0x110C, 0x1171, 0x11C0] }, -{ source: [0xC96A], NFC: [0xC96A], NFD: [0x110C, 0x1171, 0x11C1], NFKC: [0xC96A], NFKD: [0x110C, 0x1171, 0x11C1] }, -{ source: [0xC96B], NFC: [0xC96B], NFD: [0x110C, 0x1171, 0x11C2], NFKC: [0xC96B], NFKD: [0x110C, 0x1171, 0x11C2] }, -{ source: [0xC96C], NFC: [0xC96C], NFD: [0x110C, 0x1172], NFKC: [0xC96C], NFKD: [0x110C, 0x1172] }, -{ source: [0xC96D], NFC: [0xC96D], NFD: [0x110C, 0x1172, 0x11A8], NFKC: [0xC96D], NFKD: [0x110C, 0x1172, 0x11A8] }, -{ source: [0xC96E], NFC: [0xC96E], NFD: [0x110C, 0x1172, 0x11A9], NFKC: [0xC96E], NFKD: [0x110C, 0x1172, 0x11A9] }, -{ source: [0xC96F], NFC: [0xC96F], NFD: [0x110C, 0x1172, 0x11AA], NFKC: [0xC96F], NFKD: [0x110C, 0x1172, 0x11AA] }, -{ source: [0xC970], NFC: [0xC970], NFD: [0x110C, 0x1172, 0x11AB], NFKC: [0xC970], NFKD: [0x110C, 0x1172, 0x11AB] }, -{ source: [0xC971], NFC: [0xC971], NFD: [0x110C, 0x1172, 0x11AC], NFKC: [0xC971], NFKD: [0x110C, 0x1172, 0x11AC] }, -{ source: [0xC972], NFC: [0xC972], NFD: [0x110C, 0x1172, 0x11AD], NFKC: [0xC972], NFKD: [0x110C, 0x1172, 0x11AD] }, -{ source: [0xC973], NFC: [0xC973], NFD: [0x110C, 0x1172, 0x11AE], NFKC: [0xC973], NFKD: [0x110C, 0x1172, 0x11AE] }, -{ source: [0xC974], NFC: [0xC974], NFD: [0x110C, 0x1172, 0x11AF], NFKC: [0xC974], NFKD: [0x110C, 0x1172, 0x11AF] }, -{ source: [0xC975], NFC: [0xC975], NFD: [0x110C, 0x1172, 0x11B0], NFKC: [0xC975], NFKD: [0x110C, 0x1172, 0x11B0] }, -{ source: [0xC976], NFC: [0xC976], NFD: [0x110C, 0x1172, 0x11B1], NFKC: [0xC976], NFKD: [0x110C, 0x1172, 0x11B1] }, -{ source: [0xC977], NFC: [0xC977], NFD: [0x110C, 0x1172, 0x11B2], NFKC: [0xC977], NFKD: [0x110C, 0x1172, 0x11B2] }, -{ source: [0xC978], NFC: [0xC978], NFD: [0x110C, 0x1172, 0x11B3], NFKC: [0xC978], NFKD: [0x110C, 0x1172, 0x11B3] }, -{ source: [0xC979], NFC: [0xC979], NFD: [0x110C, 0x1172, 0x11B4], NFKC: [0xC979], NFKD: [0x110C, 0x1172, 0x11B4] }, -{ source: [0xC97A], NFC: [0xC97A], NFD: [0x110C, 0x1172, 0x11B5], NFKC: [0xC97A], NFKD: [0x110C, 0x1172, 0x11B5] }, -{ source: [0xC97B], NFC: [0xC97B], NFD: [0x110C, 0x1172, 0x11B6], NFKC: [0xC97B], NFKD: [0x110C, 0x1172, 0x11B6] }, -{ source: [0xC97C], NFC: [0xC97C], NFD: [0x110C, 0x1172, 0x11B7], NFKC: [0xC97C], NFKD: [0x110C, 0x1172, 0x11B7] }, -{ source: [0xC97D], NFC: [0xC97D], NFD: [0x110C, 0x1172, 0x11B8], NFKC: [0xC97D], NFKD: [0x110C, 0x1172, 0x11B8] }, -{ source: [0xC97E], NFC: [0xC97E], NFD: [0x110C, 0x1172, 0x11B9], NFKC: [0xC97E], NFKD: [0x110C, 0x1172, 0x11B9] }, -{ source: [0xC97F], NFC: [0xC97F], NFD: [0x110C, 0x1172, 0x11BA], NFKC: [0xC97F], NFKD: [0x110C, 0x1172, 0x11BA] }, -{ source: [0xC980], NFC: [0xC980], NFD: [0x110C, 0x1172, 0x11BB], NFKC: [0xC980], NFKD: [0x110C, 0x1172, 0x11BB] }, -{ source: [0xC981], NFC: [0xC981], NFD: [0x110C, 0x1172, 0x11BC], NFKC: [0xC981], NFKD: [0x110C, 0x1172, 0x11BC] }, -{ source: [0xC982], NFC: [0xC982], NFD: [0x110C, 0x1172, 0x11BD], NFKC: [0xC982], NFKD: [0x110C, 0x1172, 0x11BD] }, -{ source: [0xC983], NFC: [0xC983], NFD: [0x110C, 0x1172, 0x11BE], NFKC: [0xC983], NFKD: [0x110C, 0x1172, 0x11BE] }, -{ source: [0xC984], NFC: [0xC984], NFD: [0x110C, 0x1172, 0x11BF], NFKC: [0xC984], NFKD: [0x110C, 0x1172, 0x11BF] }, -{ source: [0xC985], NFC: [0xC985], NFD: [0x110C, 0x1172, 0x11C0], NFKC: [0xC985], NFKD: [0x110C, 0x1172, 0x11C0] }, -{ source: [0xC986], NFC: [0xC986], NFD: [0x110C, 0x1172, 0x11C1], NFKC: [0xC986], NFKD: [0x110C, 0x1172, 0x11C1] }, -{ source: [0xC987], NFC: [0xC987], NFD: [0x110C, 0x1172, 0x11C2], NFKC: [0xC987], NFKD: [0x110C, 0x1172, 0x11C2] }, -{ source: [0xC988], NFC: [0xC988], NFD: [0x110C, 0x1173], NFKC: [0xC988], NFKD: [0x110C, 0x1173] }, -{ source: [0xC989], NFC: [0xC989], NFD: [0x110C, 0x1173, 0x11A8], NFKC: [0xC989], NFKD: [0x110C, 0x1173, 0x11A8] }, -{ source: [0xC98A], NFC: [0xC98A], NFD: [0x110C, 0x1173, 0x11A9], NFKC: [0xC98A], NFKD: [0x110C, 0x1173, 0x11A9] }, -{ source: [0xC98B], NFC: [0xC98B], NFD: [0x110C, 0x1173, 0x11AA], NFKC: [0xC98B], NFKD: [0x110C, 0x1173, 0x11AA] }, -{ source: [0xC98C], NFC: [0xC98C], NFD: [0x110C, 0x1173, 0x11AB], NFKC: [0xC98C], NFKD: [0x110C, 0x1173, 0x11AB] }, -{ source: [0xC98D], NFC: [0xC98D], NFD: [0x110C, 0x1173, 0x11AC], NFKC: [0xC98D], NFKD: [0x110C, 0x1173, 0x11AC] }, -{ source: [0xC98E], NFC: [0xC98E], NFD: [0x110C, 0x1173, 0x11AD], NFKC: [0xC98E], NFKD: [0x110C, 0x1173, 0x11AD] }, -{ source: [0xC98F], NFC: [0xC98F], NFD: [0x110C, 0x1173, 0x11AE], NFKC: [0xC98F], NFKD: [0x110C, 0x1173, 0x11AE] }, -{ source: [0xC990], NFC: [0xC990], NFD: [0x110C, 0x1173, 0x11AF], NFKC: [0xC990], NFKD: [0x110C, 0x1173, 0x11AF] }, -{ source: [0xC991], NFC: [0xC991], NFD: [0x110C, 0x1173, 0x11B0], NFKC: [0xC991], NFKD: [0x110C, 0x1173, 0x11B0] }, -{ source: [0xC992], NFC: [0xC992], NFD: [0x110C, 0x1173, 0x11B1], NFKC: [0xC992], NFKD: [0x110C, 0x1173, 0x11B1] }, -{ source: [0xC993], NFC: [0xC993], NFD: [0x110C, 0x1173, 0x11B2], NFKC: [0xC993], NFKD: [0x110C, 0x1173, 0x11B2] }, -{ source: [0xC994], NFC: [0xC994], NFD: [0x110C, 0x1173, 0x11B3], NFKC: [0xC994], NFKD: [0x110C, 0x1173, 0x11B3] }, -{ source: [0xC995], NFC: [0xC995], NFD: [0x110C, 0x1173, 0x11B4], NFKC: [0xC995], NFKD: [0x110C, 0x1173, 0x11B4] }, -{ source: [0xC996], NFC: [0xC996], NFD: [0x110C, 0x1173, 0x11B5], NFKC: [0xC996], NFKD: [0x110C, 0x1173, 0x11B5] }, -{ source: [0xC997], NFC: [0xC997], NFD: [0x110C, 0x1173, 0x11B6], NFKC: [0xC997], NFKD: [0x110C, 0x1173, 0x11B6] }, -{ source: [0xC998], NFC: [0xC998], NFD: [0x110C, 0x1173, 0x11B7], NFKC: [0xC998], NFKD: [0x110C, 0x1173, 0x11B7] }, -{ source: [0xC999], NFC: [0xC999], NFD: [0x110C, 0x1173, 0x11B8], NFKC: [0xC999], NFKD: [0x110C, 0x1173, 0x11B8] }, -{ source: [0xC99A], NFC: [0xC99A], NFD: [0x110C, 0x1173, 0x11B9], NFKC: [0xC99A], NFKD: [0x110C, 0x1173, 0x11B9] }, -{ source: [0xC99B], NFC: [0xC99B], NFD: [0x110C, 0x1173, 0x11BA], NFKC: [0xC99B], NFKD: [0x110C, 0x1173, 0x11BA] }, -{ source: [0xC99C], NFC: [0xC99C], NFD: [0x110C, 0x1173, 0x11BB], NFKC: [0xC99C], NFKD: [0x110C, 0x1173, 0x11BB] }, -{ source: [0xC99D], NFC: [0xC99D], NFD: [0x110C, 0x1173, 0x11BC], NFKC: [0xC99D], NFKD: [0x110C, 0x1173, 0x11BC] }, -{ source: [0xC99E], NFC: [0xC99E], NFD: [0x110C, 0x1173, 0x11BD], NFKC: [0xC99E], NFKD: [0x110C, 0x1173, 0x11BD] }, -{ source: [0xC99F], NFC: [0xC99F], NFD: [0x110C, 0x1173, 0x11BE], NFKC: [0xC99F], NFKD: [0x110C, 0x1173, 0x11BE] }, -{ source: [0xC9A0], NFC: [0xC9A0], NFD: [0x110C, 0x1173, 0x11BF], NFKC: [0xC9A0], NFKD: [0x110C, 0x1173, 0x11BF] }, -{ source: [0xC9A1], NFC: [0xC9A1], NFD: [0x110C, 0x1173, 0x11C0], NFKC: [0xC9A1], NFKD: [0x110C, 0x1173, 0x11C0] }, -{ source: [0xC9A2], NFC: [0xC9A2], NFD: [0x110C, 0x1173, 0x11C1], NFKC: [0xC9A2], NFKD: [0x110C, 0x1173, 0x11C1] }, -{ source: [0xC9A3], NFC: [0xC9A3], NFD: [0x110C, 0x1173, 0x11C2], NFKC: [0xC9A3], NFKD: [0x110C, 0x1173, 0x11C2] }, -{ source: [0xC9A4], NFC: [0xC9A4], NFD: [0x110C, 0x1174], NFKC: [0xC9A4], NFKD: [0x110C, 0x1174] }, -{ source: [0xC9A5], NFC: [0xC9A5], NFD: [0x110C, 0x1174, 0x11A8], NFKC: [0xC9A5], NFKD: [0x110C, 0x1174, 0x11A8] }, -{ source: [0xC9A6], NFC: [0xC9A6], NFD: [0x110C, 0x1174, 0x11A9], NFKC: [0xC9A6], NFKD: [0x110C, 0x1174, 0x11A9] }, -{ source: [0xC9A7], NFC: [0xC9A7], NFD: [0x110C, 0x1174, 0x11AA], NFKC: [0xC9A7], NFKD: [0x110C, 0x1174, 0x11AA] }, -{ source: [0xC9A8], NFC: [0xC9A8], NFD: [0x110C, 0x1174, 0x11AB], NFKC: [0xC9A8], NFKD: [0x110C, 0x1174, 0x11AB] }, -{ source: [0xC9A9], NFC: [0xC9A9], NFD: [0x110C, 0x1174, 0x11AC], NFKC: [0xC9A9], NFKD: [0x110C, 0x1174, 0x11AC] }, -{ source: [0xC9AA], NFC: [0xC9AA], NFD: [0x110C, 0x1174, 0x11AD], NFKC: [0xC9AA], NFKD: [0x110C, 0x1174, 0x11AD] }, -{ source: [0xC9AB], NFC: [0xC9AB], NFD: [0x110C, 0x1174, 0x11AE], NFKC: [0xC9AB], NFKD: [0x110C, 0x1174, 0x11AE] }, -{ source: [0xC9AC], NFC: [0xC9AC], NFD: [0x110C, 0x1174, 0x11AF], NFKC: [0xC9AC], NFKD: [0x110C, 0x1174, 0x11AF] }, -{ source: [0xC9AD], NFC: [0xC9AD], NFD: [0x110C, 0x1174, 0x11B0], NFKC: [0xC9AD], NFKD: [0x110C, 0x1174, 0x11B0] }, -{ source: [0xC9AE], NFC: [0xC9AE], NFD: [0x110C, 0x1174, 0x11B1], NFKC: [0xC9AE], NFKD: [0x110C, 0x1174, 0x11B1] }, -{ source: [0xC9AF], NFC: [0xC9AF], NFD: [0x110C, 0x1174, 0x11B2], NFKC: [0xC9AF], NFKD: [0x110C, 0x1174, 0x11B2] }, -{ source: [0xC9B0], NFC: [0xC9B0], NFD: [0x110C, 0x1174, 0x11B3], NFKC: [0xC9B0], NFKD: [0x110C, 0x1174, 0x11B3] }, -{ source: [0xC9B1], NFC: [0xC9B1], NFD: [0x110C, 0x1174, 0x11B4], NFKC: [0xC9B1], NFKD: [0x110C, 0x1174, 0x11B4] }, -{ source: [0xC9B2], NFC: [0xC9B2], NFD: [0x110C, 0x1174, 0x11B5], NFKC: [0xC9B2], NFKD: [0x110C, 0x1174, 0x11B5] }, -{ source: [0xC9B3], NFC: [0xC9B3], NFD: [0x110C, 0x1174, 0x11B6], NFKC: [0xC9B3], NFKD: [0x110C, 0x1174, 0x11B6] }, -{ source: [0xC9B4], NFC: [0xC9B4], NFD: [0x110C, 0x1174, 0x11B7], NFKC: [0xC9B4], NFKD: [0x110C, 0x1174, 0x11B7] }, -{ source: [0xC9B5], NFC: [0xC9B5], NFD: [0x110C, 0x1174, 0x11B8], NFKC: [0xC9B5], NFKD: [0x110C, 0x1174, 0x11B8] }, -{ source: [0xC9B6], NFC: [0xC9B6], NFD: [0x110C, 0x1174, 0x11B9], NFKC: [0xC9B6], NFKD: [0x110C, 0x1174, 0x11B9] }, -{ source: [0xC9B7], NFC: [0xC9B7], NFD: [0x110C, 0x1174, 0x11BA], NFKC: [0xC9B7], NFKD: [0x110C, 0x1174, 0x11BA] }, -{ source: [0xC9B8], NFC: [0xC9B8], NFD: [0x110C, 0x1174, 0x11BB], NFKC: [0xC9B8], NFKD: [0x110C, 0x1174, 0x11BB] }, -{ source: [0xC9B9], NFC: [0xC9B9], NFD: [0x110C, 0x1174, 0x11BC], NFKC: [0xC9B9], NFKD: [0x110C, 0x1174, 0x11BC] }, -{ source: [0xC9BA], NFC: [0xC9BA], NFD: [0x110C, 0x1174, 0x11BD], NFKC: [0xC9BA], NFKD: [0x110C, 0x1174, 0x11BD] }, -{ source: [0xC9BB], NFC: [0xC9BB], NFD: [0x110C, 0x1174, 0x11BE], NFKC: [0xC9BB], NFKD: [0x110C, 0x1174, 0x11BE] }, -{ source: [0xC9BC], NFC: [0xC9BC], NFD: [0x110C, 0x1174, 0x11BF], NFKC: [0xC9BC], NFKD: [0x110C, 0x1174, 0x11BF] }, -{ source: [0xC9BD], NFC: [0xC9BD], NFD: [0x110C, 0x1174, 0x11C0], NFKC: [0xC9BD], NFKD: [0x110C, 0x1174, 0x11C0] }, -{ source: [0xC9BE], NFC: [0xC9BE], NFD: [0x110C, 0x1174, 0x11C1], NFKC: [0xC9BE], NFKD: [0x110C, 0x1174, 0x11C1] }, -{ source: [0xC9BF], NFC: [0xC9BF], NFD: [0x110C, 0x1174, 0x11C2], NFKC: [0xC9BF], NFKD: [0x110C, 0x1174, 0x11C2] }, -{ source: [0xC9C0], NFC: [0xC9C0], NFD: [0x110C, 0x1175], NFKC: [0xC9C0], NFKD: [0x110C, 0x1175] }, -{ source: [0xC9C1], NFC: [0xC9C1], NFD: [0x110C, 0x1175, 0x11A8], NFKC: [0xC9C1], NFKD: [0x110C, 0x1175, 0x11A8] }, -{ source: [0xC9C2], NFC: [0xC9C2], NFD: [0x110C, 0x1175, 0x11A9], NFKC: [0xC9C2], NFKD: [0x110C, 0x1175, 0x11A9] }, -{ source: [0xC9C3], NFC: [0xC9C3], NFD: [0x110C, 0x1175, 0x11AA], NFKC: [0xC9C3], NFKD: [0x110C, 0x1175, 0x11AA] }, -{ source: [0xC9C4], NFC: [0xC9C4], NFD: [0x110C, 0x1175, 0x11AB], NFKC: [0xC9C4], NFKD: [0x110C, 0x1175, 0x11AB] }, -{ source: [0xC9C5], NFC: [0xC9C5], NFD: [0x110C, 0x1175, 0x11AC], NFKC: [0xC9C5], NFKD: [0x110C, 0x1175, 0x11AC] }, -{ source: [0xC9C6], NFC: [0xC9C6], NFD: [0x110C, 0x1175, 0x11AD], NFKC: [0xC9C6], NFKD: [0x110C, 0x1175, 0x11AD] }, -{ source: [0xC9C7], NFC: [0xC9C7], NFD: [0x110C, 0x1175, 0x11AE], NFKC: [0xC9C7], NFKD: [0x110C, 0x1175, 0x11AE] }, -{ source: [0xC9C8], NFC: [0xC9C8], NFD: [0x110C, 0x1175, 0x11AF], NFKC: [0xC9C8], NFKD: [0x110C, 0x1175, 0x11AF] }, -{ source: [0xC9C9], NFC: [0xC9C9], NFD: [0x110C, 0x1175, 0x11B0], NFKC: [0xC9C9], NFKD: [0x110C, 0x1175, 0x11B0] }, -{ source: [0xC9CA], NFC: [0xC9CA], NFD: [0x110C, 0x1175, 0x11B1], NFKC: [0xC9CA], NFKD: [0x110C, 0x1175, 0x11B1] }, -{ source: [0xC9CB], NFC: [0xC9CB], NFD: [0x110C, 0x1175, 0x11B2], NFKC: [0xC9CB], NFKD: [0x110C, 0x1175, 0x11B2] }, -{ source: [0xC9CC], NFC: [0xC9CC], NFD: [0x110C, 0x1175, 0x11B3], NFKC: [0xC9CC], NFKD: [0x110C, 0x1175, 0x11B3] }, -{ source: [0xC9CD], NFC: [0xC9CD], NFD: [0x110C, 0x1175, 0x11B4], NFKC: [0xC9CD], NFKD: [0x110C, 0x1175, 0x11B4] }, -{ source: [0xC9CE], NFC: [0xC9CE], NFD: [0x110C, 0x1175, 0x11B5], NFKC: [0xC9CE], NFKD: [0x110C, 0x1175, 0x11B5] }, -{ source: [0xC9CF], NFC: [0xC9CF], NFD: [0x110C, 0x1175, 0x11B6], NFKC: [0xC9CF], NFKD: [0x110C, 0x1175, 0x11B6] }, -{ source: [0xC9D0], NFC: [0xC9D0], NFD: [0x110C, 0x1175, 0x11B7], NFKC: [0xC9D0], NFKD: [0x110C, 0x1175, 0x11B7] }, -{ source: [0xC9D1], NFC: [0xC9D1], NFD: [0x110C, 0x1175, 0x11B8], NFKC: [0xC9D1], NFKD: [0x110C, 0x1175, 0x11B8] }, -{ source: [0xC9D2], NFC: [0xC9D2], NFD: [0x110C, 0x1175, 0x11B9], NFKC: [0xC9D2], NFKD: [0x110C, 0x1175, 0x11B9] }, -{ source: [0xC9D3], NFC: [0xC9D3], NFD: [0x110C, 0x1175, 0x11BA], NFKC: [0xC9D3], NFKD: [0x110C, 0x1175, 0x11BA] }, -{ source: [0xC9D4], NFC: [0xC9D4], NFD: [0x110C, 0x1175, 0x11BB], NFKC: [0xC9D4], NFKD: [0x110C, 0x1175, 0x11BB] }, -{ source: [0xC9D5], NFC: [0xC9D5], NFD: [0x110C, 0x1175, 0x11BC], NFKC: [0xC9D5], NFKD: [0x110C, 0x1175, 0x11BC] }, -{ source: [0xC9D6], NFC: [0xC9D6], NFD: [0x110C, 0x1175, 0x11BD], NFKC: [0xC9D6], NFKD: [0x110C, 0x1175, 0x11BD] }, -{ source: [0xC9D7], NFC: [0xC9D7], NFD: [0x110C, 0x1175, 0x11BE], NFKC: [0xC9D7], NFKD: [0x110C, 0x1175, 0x11BE] }, -{ source: [0xC9D8], NFC: [0xC9D8], NFD: [0x110C, 0x1175, 0x11BF], NFKC: [0xC9D8], NFKD: [0x110C, 0x1175, 0x11BF] }, -{ source: [0xC9D9], NFC: [0xC9D9], NFD: [0x110C, 0x1175, 0x11C0], NFKC: [0xC9D9], NFKD: [0x110C, 0x1175, 0x11C0] }, -{ source: [0xC9DA], NFC: [0xC9DA], NFD: [0x110C, 0x1175, 0x11C1], NFKC: [0xC9DA], NFKD: [0x110C, 0x1175, 0x11C1] }, -{ source: [0xC9DB], NFC: [0xC9DB], NFD: [0x110C, 0x1175, 0x11C2], NFKC: [0xC9DB], NFKD: [0x110C, 0x1175, 0x11C2] }, -{ source: [0xC9DC], NFC: [0xC9DC], NFD: [0x110D, 0x1161], NFKC: [0xC9DC], NFKD: [0x110D, 0x1161] }, -{ source: [0xC9DD], NFC: [0xC9DD], NFD: [0x110D, 0x1161, 0x11A8], NFKC: [0xC9DD], NFKD: [0x110D, 0x1161, 0x11A8] }, -{ source: [0xC9DE], NFC: [0xC9DE], NFD: [0x110D, 0x1161, 0x11A9], NFKC: [0xC9DE], NFKD: [0x110D, 0x1161, 0x11A9] }, -{ source: [0xC9DF], NFC: [0xC9DF], NFD: [0x110D, 0x1161, 0x11AA], NFKC: [0xC9DF], NFKD: [0x110D, 0x1161, 0x11AA] }, -{ source: [0xC9E0], NFC: [0xC9E0], NFD: [0x110D, 0x1161, 0x11AB], NFKC: [0xC9E0], NFKD: [0x110D, 0x1161, 0x11AB] }, -{ source: [0xC9E1], NFC: [0xC9E1], NFD: [0x110D, 0x1161, 0x11AC], NFKC: [0xC9E1], NFKD: [0x110D, 0x1161, 0x11AC] }, -{ source: [0xC9E2], NFC: [0xC9E2], NFD: [0x110D, 0x1161, 0x11AD], NFKC: [0xC9E2], NFKD: [0x110D, 0x1161, 0x11AD] }, -{ source: [0xC9E3], NFC: [0xC9E3], NFD: [0x110D, 0x1161, 0x11AE], NFKC: [0xC9E3], NFKD: [0x110D, 0x1161, 0x11AE] }, -{ source: [0xC9E4], NFC: [0xC9E4], NFD: [0x110D, 0x1161, 0x11AF], NFKC: [0xC9E4], NFKD: [0x110D, 0x1161, 0x11AF] }, -{ source: [0xC9E5], NFC: [0xC9E5], NFD: [0x110D, 0x1161, 0x11B0], NFKC: [0xC9E5], NFKD: [0x110D, 0x1161, 0x11B0] }, -{ source: [0xC9E6], NFC: [0xC9E6], NFD: [0x110D, 0x1161, 0x11B1], NFKC: [0xC9E6], NFKD: [0x110D, 0x1161, 0x11B1] }, -{ source: [0xC9E7], NFC: [0xC9E7], NFD: [0x110D, 0x1161, 0x11B2], NFKC: [0xC9E7], NFKD: [0x110D, 0x1161, 0x11B2] }, -{ source: [0xC9E8], NFC: [0xC9E8], NFD: [0x110D, 0x1161, 0x11B3], NFKC: [0xC9E8], NFKD: [0x110D, 0x1161, 0x11B3] }, -{ source: [0xC9E9], NFC: [0xC9E9], NFD: [0x110D, 0x1161, 0x11B4], NFKC: [0xC9E9], NFKD: [0x110D, 0x1161, 0x11B4] }, -{ source: [0xC9EA], NFC: [0xC9EA], NFD: [0x110D, 0x1161, 0x11B5], NFKC: [0xC9EA], NFKD: [0x110D, 0x1161, 0x11B5] }, -{ source: [0xC9EB], NFC: [0xC9EB], NFD: [0x110D, 0x1161, 0x11B6], NFKC: [0xC9EB], NFKD: [0x110D, 0x1161, 0x11B6] }, -{ source: [0xC9EC], NFC: [0xC9EC], NFD: [0x110D, 0x1161, 0x11B7], NFKC: [0xC9EC], NFKD: [0x110D, 0x1161, 0x11B7] }, -{ source: [0xC9ED], NFC: [0xC9ED], NFD: [0x110D, 0x1161, 0x11B8], NFKC: [0xC9ED], NFKD: [0x110D, 0x1161, 0x11B8] }, -{ source: [0xC9EE], NFC: [0xC9EE], NFD: [0x110D, 0x1161, 0x11B9], NFKC: [0xC9EE], NFKD: [0x110D, 0x1161, 0x11B9] }, -{ source: [0xC9EF], NFC: [0xC9EF], NFD: [0x110D, 0x1161, 0x11BA], NFKC: [0xC9EF], NFKD: [0x110D, 0x1161, 0x11BA] }, -{ source: [0xC9F0], NFC: [0xC9F0], NFD: [0x110D, 0x1161, 0x11BB], NFKC: [0xC9F0], NFKD: [0x110D, 0x1161, 0x11BB] }, -{ source: [0xC9F1], NFC: [0xC9F1], NFD: [0x110D, 0x1161, 0x11BC], NFKC: [0xC9F1], NFKD: [0x110D, 0x1161, 0x11BC] }, -{ source: [0xC9F2], NFC: [0xC9F2], NFD: [0x110D, 0x1161, 0x11BD], NFKC: [0xC9F2], NFKD: [0x110D, 0x1161, 0x11BD] }, -{ source: [0xC9F3], NFC: [0xC9F3], NFD: [0x110D, 0x1161, 0x11BE], NFKC: [0xC9F3], NFKD: [0x110D, 0x1161, 0x11BE] }, -{ source: [0xC9F4], NFC: [0xC9F4], NFD: [0x110D, 0x1161, 0x11BF], NFKC: [0xC9F4], NFKD: [0x110D, 0x1161, 0x11BF] }, -{ source: [0xC9F5], NFC: [0xC9F5], NFD: [0x110D, 0x1161, 0x11C0], NFKC: [0xC9F5], NFKD: [0x110D, 0x1161, 0x11C0] }, -{ source: [0xC9F6], NFC: [0xC9F6], NFD: [0x110D, 0x1161, 0x11C1], NFKC: [0xC9F6], NFKD: [0x110D, 0x1161, 0x11C1] }, -{ source: [0xC9F7], NFC: [0xC9F7], NFD: [0x110D, 0x1161, 0x11C2], NFKC: [0xC9F7], NFKD: [0x110D, 0x1161, 0x11C2] }, -{ source: [0xC9F8], NFC: [0xC9F8], NFD: [0x110D, 0x1162], NFKC: [0xC9F8], NFKD: [0x110D, 0x1162] }, -{ source: [0xC9F9], NFC: [0xC9F9], NFD: [0x110D, 0x1162, 0x11A8], NFKC: [0xC9F9], NFKD: [0x110D, 0x1162, 0x11A8] }, -{ source: [0xC9FA], NFC: [0xC9FA], NFD: [0x110D, 0x1162, 0x11A9], NFKC: [0xC9FA], NFKD: [0x110D, 0x1162, 0x11A9] }, -{ source: [0xC9FB], NFC: [0xC9FB], NFD: [0x110D, 0x1162, 0x11AA], NFKC: [0xC9FB], NFKD: [0x110D, 0x1162, 0x11AA] }, -{ source: [0xC9FC], NFC: [0xC9FC], NFD: [0x110D, 0x1162, 0x11AB], NFKC: [0xC9FC], NFKD: [0x110D, 0x1162, 0x11AB] }, -{ source: [0xC9FD], NFC: [0xC9FD], NFD: [0x110D, 0x1162, 0x11AC], NFKC: [0xC9FD], NFKD: [0x110D, 0x1162, 0x11AC] }, -{ source: [0xC9FE], NFC: [0xC9FE], NFD: [0x110D, 0x1162, 0x11AD], NFKC: [0xC9FE], NFKD: [0x110D, 0x1162, 0x11AD] }, -{ source: [0xC9FF], NFC: [0xC9FF], NFD: [0x110D, 0x1162, 0x11AE], NFKC: [0xC9FF], NFKD: [0x110D, 0x1162, 0x11AE] }, -{ source: [0xCA00], NFC: [0xCA00], NFD: [0x110D, 0x1162, 0x11AF], NFKC: [0xCA00], NFKD: [0x110D, 0x1162, 0x11AF] }, -{ source: [0xCA01], NFC: [0xCA01], NFD: [0x110D, 0x1162, 0x11B0], NFKC: [0xCA01], NFKD: [0x110D, 0x1162, 0x11B0] }, -{ source: [0xCA02], NFC: [0xCA02], NFD: [0x110D, 0x1162, 0x11B1], NFKC: [0xCA02], NFKD: [0x110D, 0x1162, 0x11B1] }, -{ source: [0xCA03], NFC: [0xCA03], NFD: [0x110D, 0x1162, 0x11B2], NFKC: [0xCA03], NFKD: [0x110D, 0x1162, 0x11B2] }, -{ source: [0xCA04], NFC: [0xCA04], NFD: [0x110D, 0x1162, 0x11B3], NFKC: [0xCA04], NFKD: [0x110D, 0x1162, 0x11B3] }, -{ source: [0xCA05], NFC: [0xCA05], NFD: [0x110D, 0x1162, 0x11B4], NFKC: [0xCA05], NFKD: [0x110D, 0x1162, 0x11B4] }, -{ source: [0xCA06], NFC: [0xCA06], NFD: [0x110D, 0x1162, 0x11B5], NFKC: [0xCA06], NFKD: [0x110D, 0x1162, 0x11B5] }, -{ source: [0xCA07], NFC: [0xCA07], NFD: [0x110D, 0x1162, 0x11B6], NFKC: [0xCA07], NFKD: [0x110D, 0x1162, 0x11B6] }, -{ source: [0xCA08], NFC: [0xCA08], NFD: [0x110D, 0x1162, 0x11B7], NFKC: [0xCA08], NFKD: [0x110D, 0x1162, 0x11B7] }, -{ source: [0xCA09], NFC: [0xCA09], NFD: [0x110D, 0x1162, 0x11B8], NFKC: [0xCA09], NFKD: [0x110D, 0x1162, 0x11B8] }, -{ source: [0xCA0A], NFC: [0xCA0A], NFD: [0x110D, 0x1162, 0x11B9], NFKC: [0xCA0A], NFKD: [0x110D, 0x1162, 0x11B9] }, -{ source: [0xCA0B], NFC: [0xCA0B], NFD: [0x110D, 0x1162, 0x11BA], NFKC: [0xCA0B], NFKD: [0x110D, 0x1162, 0x11BA] }, -{ source: [0xCA0C], NFC: [0xCA0C], NFD: [0x110D, 0x1162, 0x11BB], NFKC: [0xCA0C], NFKD: [0x110D, 0x1162, 0x11BB] }, -{ source: [0xCA0D], NFC: [0xCA0D], NFD: [0x110D, 0x1162, 0x11BC], NFKC: [0xCA0D], NFKD: [0x110D, 0x1162, 0x11BC] }, -{ source: [0xCA0E], NFC: [0xCA0E], NFD: [0x110D, 0x1162, 0x11BD], NFKC: [0xCA0E], NFKD: [0x110D, 0x1162, 0x11BD] }, -{ source: [0xCA0F], NFC: [0xCA0F], NFD: [0x110D, 0x1162, 0x11BE], NFKC: [0xCA0F], NFKD: [0x110D, 0x1162, 0x11BE] }, -{ source: [0xCA10], NFC: [0xCA10], NFD: [0x110D, 0x1162, 0x11BF], NFKC: [0xCA10], NFKD: [0x110D, 0x1162, 0x11BF] }, -{ source: [0xCA11], NFC: [0xCA11], NFD: [0x110D, 0x1162, 0x11C0], NFKC: [0xCA11], NFKD: [0x110D, 0x1162, 0x11C0] }, -{ source: [0xCA12], NFC: [0xCA12], NFD: [0x110D, 0x1162, 0x11C1], NFKC: [0xCA12], NFKD: [0x110D, 0x1162, 0x11C1] }, -{ source: [0xCA13], NFC: [0xCA13], NFD: [0x110D, 0x1162, 0x11C2], NFKC: [0xCA13], NFKD: [0x110D, 0x1162, 0x11C2] }, -{ source: [0xCA14], NFC: [0xCA14], NFD: [0x110D, 0x1163], NFKC: [0xCA14], NFKD: [0x110D, 0x1163] }, -{ source: [0xCA15], NFC: [0xCA15], NFD: [0x110D, 0x1163, 0x11A8], NFKC: [0xCA15], NFKD: [0x110D, 0x1163, 0x11A8] }, -{ source: [0xCA16], NFC: [0xCA16], NFD: [0x110D, 0x1163, 0x11A9], NFKC: [0xCA16], NFKD: [0x110D, 0x1163, 0x11A9] }, -{ source: [0xCA17], NFC: [0xCA17], NFD: [0x110D, 0x1163, 0x11AA], NFKC: [0xCA17], NFKD: [0x110D, 0x1163, 0x11AA] }, -{ source: [0xCA18], NFC: [0xCA18], NFD: [0x110D, 0x1163, 0x11AB], NFKC: [0xCA18], NFKD: [0x110D, 0x1163, 0x11AB] }, -{ source: [0xCA19], NFC: [0xCA19], NFD: [0x110D, 0x1163, 0x11AC], NFKC: [0xCA19], NFKD: [0x110D, 0x1163, 0x11AC] }, -{ source: [0xCA1A], NFC: [0xCA1A], NFD: [0x110D, 0x1163, 0x11AD], NFKC: [0xCA1A], NFKD: [0x110D, 0x1163, 0x11AD] }, -{ source: [0xCA1B], NFC: [0xCA1B], NFD: [0x110D, 0x1163, 0x11AE], NFKC: [0xCA1B], NFKD: [0x110D, 0x1163, 0x11AE] }, -{ source: [0xCA1C], NFC: [0xCA1C], NFD: [0x110D, 0x1163, 0x11AF], NFKC: [0xCA1C], NFKD: [0x110D, 0x1163, 0x11AF] }, -{ source: [0xCA1D], NFC: [0xCA1D], NFD: [0x110D, 0x1163, 0x11B0], NFKC: [0xCA1D], NFKD: [0x110D, 0x1163, 0x11B0] }, -{ source: [0xCA1E], NFC: [0xCA1E], NFD: [0x110D, 0x1163, 0x11B1], NFKC: [0xCA1E], NFKD: [0x110D, 0x1163, 0x11B1] }, -{ source: [0xCA1F], NFC: [0xCA1F], NFD: [0x110D, 0x1163, 0x11B2], NFKC: [0xCA1F], NFKD: [0x110D, 0x1163, 0x11B2] }, -{ source: [0xCA20], NFC: [0xCA20], NFD: [0x110D, 0x1163, 0x11B3], NFKC: [0xCA20], NFKD: [0x110D, 0x1163, 0x11B3] }, -{ source: [0xCA21], NFC: [0xCA21], NFD: [0x110D, 0x1163, 0x11B4], NFKC: [0xCA21], NFKD: [0x110D, 0x1163, 0x11B4] }, -{ source: [0xCA22], NFC: [0xCA22], NFD: [0x110D, 0x1163, 0x11B5], NFKC: [0xCA22], NFKD: [0x110D, 0x1163, 0x11B5] }, -{ source: [0xCA23], NFC: [0xCA23], NFD: [0x110D, 0x1163, 0x11B6], NFKC: [0xCA23], NFKD: [0x110D, 0x1163, 0x11B6] }, -{ source: [0xCA24], NFC: [0xCA24], NFD: [0x110D, 0x1163, 0x11B7], NFKC: [0xCA24], NFKD: [0x110D, 0x1163, 0x11B7] }, -{ source: [0xCA25], NFC: [0xCA25], NFD: [0x110D, 0x1163, 0x11B8], NFKC: [0xCA25], NFKD: [0x110D, 0x1163, 0x11B8] }, -{ source: [0xCA26], NFC: [0xCA26], NFD: [0x110D, 0x1163, 0x11B9], NFKC: [0xCA26], NFKD: [0x110D, 0x1163, 0x11B9] }, -{ source: [0xCA27], NFC: [0xCA27], NFD: [0x110D, 0x1163, 0x11BA], NFKC: [0xCA27], NFKD: [0x110D, 0x1163, 0x11BA] }, -{ source: [0xCA28], NFC: [0xCA28], NFD: [0x110D, 0x1163, 0x11BB], NFKC: [0xCA28], NFKD: [0x110D, 0x1163, 0x11BB] }, -{ source: [0xCA29], NFC: [0xCA29], NFD: [0x110D, 0x1163, 0x11BC], NFKC: [0xCA29], NFKD: [0x110D, 0x1163, 0x11BC] }, -{ source: [0xCA2A], NFC: [0xCA2A], NFD: [0x110D, 0x1163, 0x11BD], NFKC: [0xCA2A], NFKD: [0x110D, 0x1163, 0x11BD] }, -{ source: [0xCA2B], NFC: [0xCA2B], NFD: [0x110D, 0x1163, 0x11BE], NFKC: [0xCA2B], NFKD: [0x110D, 0x1163, 0x11BE] }, -{ source: [0xCA2C], NFC: [0xCA2C], NFD: [0x110D, 0x1163, 0x11BF], NFKC: [0xCA2C], NFKD: [0x110D, 0x1163, 0x11BF] }, -{ source: [0xCA2D], NFC: [0xCA2D], NFD: [0x110D, 0x1163, 0x11C0], NFKC: [0xCA2D], NFKD: [0x110D, 0x1163, 0x11C0] }, -{ source: [0xCA2E], NFC: [0xCA2E], NFD: [0x110D, 0x1163, 0x11C1], NFKC: [0xCA2E], NFKD: [0x110D, 0x1163, 0x11C1] }, -{ source: [0xCA2F], NFC: [0xCA2F], NFD: [0x110D, 0x1163, 0x11C2], NFKC: [0xCA2F], NFKD: [0x110D, 0x1163, 0x11C2] }, -{ source: [0xCA30], NFC: [0xCA30], NFD: [0x110D, 0x1164], NFKC: [0xCA30], NFKD: [0x110D, 0x1164] }, -{ source: [0xCA31], NFC: [0xCA31], NFD: [0x110D, 0x1164, 0x11A8], NFKC: [0xCA31], NFKD: [0x110D, 0x1164, 0x11A8] }, -{ source: [0xCA32], NFC: [0xCA32], NFD: [0x110D, 0x1164, 0x11A9], NFKC: [0xCA32], NFKD: [0x110D, 0x1164, 0x11A9] }, -{ source: [0xCA33], NFC: [0xCA33], NFD: [0x110D, 0x1164, 0x11AA], NFKC: [0xCA33], NFKD: [0x110D, 0x1164, 0x11AA] }, -{ source: [0xCA34], NFC: [0xCA34], NFD: [0x110D, 0x1164, 0x11AB], NFKC: [0xCA34], NFKD: [0x110D, 0x1164, 0x11AB] }, -{ source: [0xCA35], NFC: [0xCA35], NFD: [0x110D, 0x1164, 0x11AC], NFKC: [0xCA35], NFKD: [0x110D, 0x1164, 0x11AC] }, -{ source: [0xCA36], NFC: [0xCA36], NFD: [0x110D, 0x1164, 0x11AD], NFKC: [0xCA36], NFKD: [0x110D, 0x1164, 0x11AD] }, -{ source: [0xCA37], NFC: [0xCA37], NFD: [0x110D, 0x1164, 0x11AE], NFKC: [0xCA37], NFKD: [0x110D, 0x1164, 0x11AE] }, -{ source: [0xCA38], NFC: [0xCA38], NFD: [0x110D, 0x1164, 0x11AF], NFKC: [0xCA38], NFKD: [0x110D, 0x1164, 0x11AF] }, -{ source: [0xCA39], NFC: [0xCA39], NFD: [0x110D, 0x1164, 0x11B0], NFKC: [0xCA39], NFKD: [0x110D, 0x1164, 0x11B0] }, -{ source: [0xCA3A], NFC: [0xCA3A], NFD: [0x110D, 0x1164, 0x11B1], NFKC: [0xCA3A], NFKD: [0x110D, 0x1164, 0x11B1] }, -{ source: [0xCA3B], NFC: [0xCA3B], NFD: [0x110D, 0x1164, 0x11B2], NFKC: [0xCA3B], NFKD: [0x110D, 0x1164, 0x11B2] }, -{ source: [0xCA3C], NFC: [0xCA3C], NFD: [0x110D, 0x1164, 0x11B3], NFKC: [0xCA3C], NFKD: [0x110D, 0x1164, 0x11B3] }, -{ source: [0xCA3D], NFC: [0xCA3D], NFD: [0x110D, 0x1164, 0x11B4], NFKC: [0xCA3D], NFKD: [0x110D, 0x1164, 0x11B4] }, -{ source: [0xCA3E], NFC: [0xCA3E], NFD: [0x110D, 0x1164, 0x11B5], NFKC: [0xCA3E], NFKD: [0x110D, 0x1164, 0x11B5] }, -{ source: [0xCA3F], NFC: [0xCA3F], NFD: [0x110D, 0x1164, 0x11B6], NFKC: [0xCA3F], NFKD: [0x110D, 0x1164, 0x11B6] }, -{ source: [0xCA40], NFC: [0xCA40], NFD: [0x110D, 0x1164, 0x11B7], NFKC: [0xCA40], NFKD: [0x110D, 0x1164, 0x11B7] }, -{ source: [0xCA41], NFC: [0xCA41], NFD: [0x110D, 0x1164, 0x11B8], NFKC: [0xCA41], NFKD: [0x110D, 0x1164, 0x11B8] }, -{ source: [0xCA42], NFC: [0xCA42], NFD: [0x110D, 0x1164, 0x11B9], NFKC: [0xCA42], NFKD: [0x110D, 0x1164, 0x11B9] }, -{ source: [0xCA43], NFC: [0xCA43], NFD: [0x110D, 0x1164, 0x11BA], NFKC: [0xCA43], NFKD: [0x110D, 0x1164, 0x11BA] }, -{ source: [0xCA44], NFC: [0xCA44], NFD: [0x110D, 0x1164, 0x11BB], NFKC: [0xCA44], NFKD: [0x110D, 0x1164, 0x11BB] }, -{ source: [0xCA45], NFC: [0xCA45], NFD: [0x110D, 0x1164, 0x11BC], NFKC: [0xCA45], NFKD: [0x110D, 0x1164, 0x11BC] }, -{ source: [0xCA46], NFC: [0xCA46], NFD: [0x110D, 0x1164, 0x11BD], NFKC: [0xCA46], NFKD: [0x110D, 0x1164, 0x11BD] }, -{ source: [0xCA47], NFC: [0xCA47], NFD: [0x110D, 0x1164, 0x11BE], NFKC: [0xCA47], NFKD: [0x110D, 0x1164, 0x11BE] }, -{ source: [0xCA48], NFC: [0xCA48], NFD: [0x110D, 0x1164, 0x11BF], NFKC: [0xCA48], NFKD: [0x110D, 0x1164, 0x11BF] }, -{ source: [0xCA49], NFC: [0xCA49], NFD: [0x110D, 0x1164, 0x11C0], NFKC: [0xCA49], NFKD: [0x110D, 0x1164, 0x11C0] }, -{ source: [0xCA4A], NFC: [0xCA4A], NFD: [0x110D, 0x1164, 0x11C1], NFKC: [0xCA4A], NFKD: [0x110D, 0x1164, 0x11C1] }, -{ source: [0xCA4B], NFC: [0xCA4B], NFD: [0x110D, 0x1164, 0x11C2], NFKC: [0xCA4B], NFKD: [0x110D, 0x1164, 0x11C2] }, -{ source: [0xCA4C], NFC: [0xCA4C], NFD: [0x110D, 0x1165], NFKC: [0xCA4C], NFKD: [0x110D, 0x1165] }, -{ source: [0xCA4D], NFC: [0xCA4D], NFD: [0x110D, 0x1165, 0x11A8], NFKC: [0xCA4D], NFKD: [0x110D, 0x1165, 0x11A8] }, -{ source: [0xCA4E], NFC: [0xCA4E], NFD: [0x110D, 0x1165, 0x11A9], NFKC: [0xCA4E], NFKD: [0x110D, 0x1165, 0x11A9] }, -{ source: [0xCA4F], NFC: [0xCA4F], NFD: [0x110D, 0x1165, 0x11AA], NFKC: [0xCA4F], NFKD: [0x110D, 0x1165, 0x11AA] }, -{ source: [0xCA50], NFC: [0xCA50], NFD: [0x110D, 0x1165, 0x11AB], NFKC: [0xCA50], NFKD: [0x110D, 0x1165, 0x11AB] }, -{ source: [0xCA51], NFC: [0xCA51], NFD: [0x110D, 0x1165, 0x11AC], NFKC: [0xCA51], NFKD: [0x110D, 0x1165, 0x11AC] }, -{ source: [0xCA52], NFC: [0xCA52], NFD: [0x110D, 0x1165, 0x11AD], NFKC: [0xCA52], NFKD: [0x110D, 0x1165, 0x11AD] }, -{ source: [0xCA53], NFC: [0xCA53], NFD: [0x110D, 0x1165, 0x11AE], NFKC: [0xCA53], NFKD: [0x110D, 0x1165, 0x11AE] }, -{ source: [0xCA54], NFC: [0xCA54], NFD: [0x110D, 0x1165, 0x11AF], NFKC: [0xCA54], NFKD: [0x110D, 0x1165, 0x11AF] }, -{ source: [0xCA55], NFC: [0xCA55], NFD: [0x110D, 0x1165, 0x11B0], NFKC: [0xCA55], NFKD: [0x110D, 0x1165, 0x11B0] }, -{ source: [0xCA56], NFC: [0xCA56], NFD: [0x110D, 0x1165, 0x11B1], NFKC: [0xCA56], NFKD: [0x110D, 0x1165, 0x11B1] }, -{ source: [0xCA57], NFC: [0xCA57], NFD: [0x110D, 0x1165, 0x11B2], NFKC: [0xCA57], NFKD: [0x110D, 0x1165, 0x11B2] }, -{ source: [0xCA58], NFC: [0xCA58], NFD: [0x110D, 0x1165, 0x11B3], NFKC: [0xCA58], NFKD: [0x110D, 0x1165, 0x11B3] }, -{ source: [0xCA59], NFC: [0xCA59], NFD: [0x110D, 0x1165, 0x11B4], NFKC: [0xCA59], NFKD: [0x110D, 0x1165, 0x11B4] }, -{ source: [0xCA5A], NFC: [0xCA5A], NFD: [0x110D, 0x1165, 0x11B5], NFKC: [0xCA5A], NFKD: [0x110D, 0x1165, 0x11B5] }, -{ source: [0xCA5B], NFC: [0xCA5B], NFD: [0x110D, 0x1165, 0x11B6], NFKC: [0xCA5B], NFKD: [0x110D, 0x1165, 0x11B6] }, -{ source: [0xCA5C], NFC: [0xCA5C], NFD: [0x110D, 0x1165, 0x11B7], NFKC: [0xCA5C], NFKD: [0x110D, 0x1165, 0x11B7] }, -{ source: [0xCA5D], NFC: [0xCA5D], NFD: [0x110D, 0x1165, 0x11B8], NFKC: [0xCA5D], NFKD: [0x110D, 0x1165, 0x11B8] }, -{ source: [0xCA5E], NFC: [0xCA5E], NFD: [0x110D, 0x1165, 0x11B9], NFKC: [0xCA5E], NFKD: [0x110D, 0x1165, 0x11B9] }, -{ source: [0xCA5F], NFC: [0xCA5F], NFD: [0x110D, 0x1165, 0x11BA], NFKC: [0xCA5F], NFKD: [0x110D, 0x1165, 0x11BA] }, -{ source: [0xCA60], NFC: [0xCA60], NFD: [0x110D, 0x1165, 0x11BB], NFKC: [0xCA60], NFKD: [0x110D, 0x1165, 0x11BB] }, -{ source: [0xCA61], NFC: [0xCA61], NFD: [0x110D, 0x1165, 0x11BC], NFKC: [0xCA61], NFKD: [0x110D, 0x1165, 0x11BC] }, -{ source: [0xCA62], NFC: [0xCA62], NFD: [0x110D, 0x1165, 0x11BD], NFKC: [0xCA62], NFKD: [0x110D, 0x1165, 0x11BD] }, -{ source: [0xCA63], NFC: [0xCA63], NFD: [0x110D, 0x1165, 0x11BE], NFKC: [0xCA63], NFKD: [0x110D, 0x1165, 0x11BE] }, -{ source: [0xCA64], NFC: [0xCA64], NFD: [0x110D, 0x1165, 0x11BF], NFKC: [0xCA64], NFKD: [0x110D, 0x1165, 0x11BF] }, -{ source: [0xCA65], NFC: [0xCA65], NFD: [0x110D, 0x1165, 0x11C0], NFKC: [0xCA65], NFKD: [0x110D, 0x1165, 0x11C0] }, -{ source: [0xCA66], NFC: [0xCA66], NFD: [0x110D, 0x1165, 0x11C1], NFKC: [0xCA66], NFKD: [0x110D, 0x1165, 0x11C1] }, -{ source: [0xCA67], NFC: [0xCA67], NFD: [0x110D, 0x1165, 0x11C2], NFKC: [0xCA67], NFKD: [0x110D, 0x1165, 0x11C2] }, -{ source: [0xCA68], NFC: [0xCA68], NFD: [0x110D, 0x1166], NFKC: [0xCA68], NFKD: [0x110D, 0x1166] }, -{ source: [0xCA69], NFC: [0xCA69], NFD: [0x110D, 0x1166, 0x11A8], NFKC: [0xCA69], NFKD: [0x110D, 0x1166, 0x11A8] }, -{ source: [0xCA6A], NFC: [0xCA6A], NFD: [0x110D, 0x1166, 0x11A9], NFKC: [0xCA6A], NFKD: [0x110D, 0x1166, 0x11A9] }, -{ source: [0xCA6B], NFC: [0xCA6B], NFD: [0x110D, 0x1166, 0x11AA], NFKC: [0xCA6B], NFKD: [0x110D, 0x1166, 0x11AA] }, -{ source: [0xCA6C], NFC: [0xCA6C], NFD: [0x110D, 0x1166, 0x11AB], NFKC: [0xCA6C], NFKD: [0x110D, 0x1166, 0x11AB] }, -{ source: [0xCA6D], NFC: [0xCA6D], NFD: [0x110D, 0x1166, 0x11AC], NFKC: [0xCA6D], NFKD: [0x110D, 0x1166, 0x11AC] }, -{ source: [0xCA6E], NFC: [0xCA6E], NFD: [0x110D, 0x1166, 0x11AD], NFKC: [0xCA6E], NFKD: [0x110D, 0x1166, 0x11AD] }, -{ source: [0xCA6F], NFC: [0xCA6F], NFD: [0x110D, 0x1166, 0x11AE], NFKC: [0xCA6F], NFKD: [0x110D, 0x1166, 0x11AE] }, -{ source: [0xCA70], NFC: [0xCA70], NFD: [0x110D, 0x1166, 0x11AF], NFKC: [0xCA70], NFKD: [0x110D, 0x1166, 0x11AF] }, -{ source: [0xCA71], NFC: [0xCA71], NFD: [0x110D, 0x1166, 0x11B0], NFKC: [0xCA71], NFKD: [0x110D, 0x1166, 0x11B0] }, -{ source: [0xCA72], NFC: [0xCA72], NFD: [0x110D, 0x1166, 0x11B1], NFKC: [0xCA72], NFKD: [0x110D, 0x1166, 0x11B1] }, -{ source: [0xCA73], NFC: [0xCA73], NFD: [0x110D, 0x1166, 0x11B2], NFKC: [0xCA73], NFKD: [0x110D, 0x1166, 0x11B2] }, -{ source: [0xCA74], NFC: [0xCA74], NFD: [0x110D, 0x1166, 0x11B3], NFKC: [0xCA74], NFKD: [0x110D, 0x1166, 0x11B3] }, -{ source: [0xCA75], NFC: [0xCA75], NFD: [0x110D, 0x1166, 0x11B4], NFKC: [0xCA75], NFKD: [0x110D, 0x1166, 0x11B4] }, -{ source: [0xCA76], NFC: [0xCA76], NFD: [0x110D, 0x1166, 0x11B5], NFKC: [0xCA76], NFKD: [0x110D, 0x1166, 0x11B5] }, -{ source: [0xCA77], NFC: [0xCA77], NFD: [0x110D, 0x1166, 0x11B6], NFKC: [0xCA77], NFKD: [0x110D, 0x1166, 0x11B6] }, -{ source: [0xCA78], NFC: [0xCA78], NFD: [0x110D, 0x1166, 0x11B7], NFKC: [0xCA78], NFKD: [0x110D, 0x1166, 0x11B7] }, -{ source: [0xCA79], NFC: [0xCA79], NFD: [0x110D, 0x1166, 0x11B8], NFKC: [0xCA79], NFKD: [0x110D, 0x1166, 0x11B8] }, -{ source: [0xCA7A], NFC: [0xCA7A], NFD: [0x110D, 0x1166, 0x11B9], NFKC: [0xCA7A], NFKD: [0x110D, 0x1166, 0x11B9] }, -{ source: [0xCA7B], NFC: [0xCA7B], NFD: [0x110D, 0x1166, 0x11BA], NFKC: [0xCA7B], NFKD: [0x110D, 0x1166, 0x11BA] }, -{ source: [0xCA7C], NFC: [0xCA7C], NFD: [0x110D, 0x1166, 0x11BB], NFKC: [0xCA7C], NFKD: [0x110D, 0x1166, 0x11BB] }, -{ source: [0xCA7D], NFC: [0xCA7D], NFD: [0x110D, 0x1166, 0x11BC], NFKC: [0xCA7D], NFKD: [0x110D, 0x1166, 0x11BC] }, -{ source: [0xCA7E], NFC: [0xCA7E], NFD: [0x110D, 0x1166, 0x11BD], NFKC: [0xCA7E], NFKD: [0x110D, 0x1166, 0x11BD] }, -{ source: [0xCA7F], NFC: [0xCA7F], NFD: [0x110D, 0x1166, 0x11BE], NFKC: [0xCA7F], NFKD: [0x110D, 0x1166, 0x11BE] }, -{ source: [0xCA80], NFC: [0xCA80], NFD: [0x110D, 0x1166, 0x11BF], NFKC: [0xCA80], NFKD: [0x110D, 0x1166, 0x11BF] }, -{ source: [0xCA81], NFC: [0xCA81], NFD: [0x110D, 0x1166, 0x11C0], NFKC: [0xCA81], NFKD: [0x110D, 0x1166, 0x11C0] }, -{ source: [0xCA82], NFC: [0xCA82], NFD: [0x110D, 0x1166, 0x11C1], NFKC: [0xCA82], NFKD: [0x110D, 0x1166, 0x11C1] }, -{ source: [0xCA83], NFC: [0xCA83], NFD: [0x110D, 0x1166, 0x11C2], NFKC: [0xCA83], NFKD: [0x110D, 0x1166, 0x11C2] }, -{ source: [0xCA84], NFC: [0xCA84], NFD: [0x110D, 0x1167], NFKC: [0xCA84], NFKD: [0x110D, 0x1167] }, -{ source: [0xCA85], NFC: [0xCA85], NFD: [0x110D, 0x1167, 0x11A8], NFKC: [0xCA85], NFKD: [0x110D, 0x1167, 0x11A8] }, -{ source: [0xCA86], NFC: [0xCA86], NFD: [0x110D, 0x1167, 0x11A9], NFKC: [0xCA86], NFKD: [0x110D, 0x1167, 0x11A9] }, -{ source: [0xCA87], NFC: [0xCA87], NFD: [0x110D, 0x1167, 0x11AA], NFKC: [0xCA87], NFKD: [0x110D, 0x1167, 0x11AA] }, -{ source: [0xCA88], NFC: [0xCA88], NFD: [0x110D, 0x1167, 0x11AB], NFKC: [0xCA88], NFKD: [0x110D, 0x1167, 0x11AB] }, -{ source: [0xCA89], NFC: [0xCA89], NFD: [0x110D, 0x1167, 0x11AC], NFKC: [0xCA89], NFKD: [0x110D, 0x1167, 0x11AC] }, -{ source: [0xCA8A], NFC: [0xCA8A], NFD: [0x110D, 0x1167, 0x11AD], NFKC: [0xCA8A], NFKD: [0x110D, 0x1167, 0x11AD] }, -{ source: [0xCA8B], NFC: [0xCA8B], NFD: [0x110D, 0x1167, 0x11AE], NFKC: [0xCA8B], NFKD: [0x110D, 0x1167, 0x11AE] }, -{ source: [0xCA8C], NFC: [0xCA8C], NFD: [0x110D, 0x1167, 0x11AF], NFKC: [0xCA8C], NFKD: [0x110D, 0x1167, 0x11AF] }, -{ source: [0xCA8D], NFC: [0xCA8D], NFD: [0x110D, 0x1167, 0x11B0], NFKC: [0xCA8D], NFKD: [0x110D, 0x1167, 0x11B0] }, -{ source: [0xCA8E], NFC: [0xCA8E], NFD: [0x110D, 0x1167, 0x11B1], NFKC: [0xCA8E], NFKD: [0x110D, 0x1167, 0x11B1] }, -{ source: [0xCA8F], NFC: [0xCA8F], NFD: [0x110D, 0x1167, 0x11B2], NFKC: [0xCA8F], NFKD: [0x110D, 0x1167, 0x11B2] }, -{ source: [0xCA90], NFC: [0xCA90], NFD: [0x110D, 0x1167, 0x11B3], NFKC: [0xCA90], NFKD: [0x110D, 0x1167, 0x11B3] }, -{ source: [0xCA91], NFC: [0xCA91], NFD: [0x110D, 0x1167, 0x11B4], NFKC: [0xCA91], NFKD: [0x110D, 0x1167, 0x11B4] }, -{ source: [0xCA92], NFC: [0xCA92], NFD: [0x110D, 0x1167, 0x11B5], NFKC: [0xCA92], NFKD: [0x110D, 0x1167, 0x11B5] }, -{ source: [0xCA93], NFC: [0xCA93], NFD: [0x110D, 0x1167, 0x11B6], NFKC: [0xCA93], NFKD: [0x110D, 0x1167, 0x11B6] }, -{ source: [0xCA94], NFC: [0xCA94], NFD: [0x110D, 0x1167, 0x11B7], NFKC: [0xCA94], NFKD: [0x110D, 0x1167, 0x11B7] }, -{ source: [0xCA95], NFC: [0xCA95], NFD: [0x110D, 0x1167, 0x11B8], NFKC: [0xCA95], NFKD: [0x110D, 0x1167, 0x11B8] }, -{ source: [0xCA96], NFC: [0xCA96], NFD: [0x110D, 0x1167, 0x11B9], NFKC: [0xCA96], NFKD: [0x110D, 0x1167, 0x11B9] }, -{ source: [0xCA97], NFC: [0xCA97], NFD: [0x110D, 0x1167, 0x11BA], NFKC: [0xCA97], NFKD: [0x110D, 0x1167, 0x11BA] }, -{ source: [0xCA98], NFC: [0xCA98], NFD: [0x110D, 0x1167, 0x11BB], NFKC: [0xCA98], NFKD: [0x110D, 0x1167, 0x11BB] }, -{ source: [0xCA99], NFC: [0xCA99], NFD: [0x110D, 0x1167, 0x11BC], NFKC: [0xCA99], NFKD: [0x110D, 0x1167, 0x11BC] }, -{ source: [0xCA9A], NFC: [0xCA9A], NFD: [0x110D, 0x1167, 0x11BD], NFKC: [0xCA9A], NFKD: [0x110D, 0x1167, 0x11BD] }, -{ source: [0xCA9B], NFC: [0xCA9B], NFD: [0x110D, 0x1167, 0x11BE], NFKC: [0xCA9B], NFKD: [0x110D, 0x1167, 0x11BE] }, -{ source: [0xCA9C], NFC: [0xCA9C], NFD: [0x110D, 0x1167, 0x11BF], NFKC: [0xCA9C], NFKD: [0x110D, 0x1167, 0x11BF] }, -{ source: [0xCA9D], NFC: [0xCA9D], NFD: [0x110D, 0x1167, 0x11C0], NFKC: [0xCA9D], NFKD: [0x110D, 0x1167, 0x11C0] }, -{ source: [0xCA9E], NFC: [0xCA9E], NFD: [0x110D, 0x1167, 0x11C1], NFKC: [0xCA9E], NFKD: [0x110D, 0x1167, 0x11C1] }, -{ source: [0xCA9F], NFC: [0xCA9F], NFD: [0x110D, 0x1167, 0x11C2], NFKC: [0xCA9F], NFKD: [0x110D, 0x1167, 0x11C2] }, -{ source: [0xCAA0], NFC: [0xCAA0], NFD: [0x110D, 0x1168], NFKC: [0xCAA0], NFKD: [0x110D, 0x1168] }, -{ source: [0xCAA1], NFC: [0xCAA1], NFD: [0x110D, 0x1168, 0x11A8], NFKC: [0xCAA1], NFKD: [0x110D, 0x1168, 0x11A8] }, -{ source: [0xCAA2], NFC: [0xCAA2], NFD: [0x110D, 0x1168, 0x11A9], NFKC: [0xCAA2], NFKD: [0x110D, 0x1168, 0x11A9] }, -{ source: [0xCAA3], NFC: [0xCAA3], NFD: [0x110D, 0x1168, 0x11AA], NFKC: [0xCAA3], NFKD: [0x110D, 0x1168, 0x11AA] }, -{ source: [0xCAA4], NFC: [0xCAA4], NFD: [0x110D, 0x1168, 0x11AB], NFKC: [0xCAA4], NFKD: [0x110D, 0x1168, 0x11AB] }, -{ source: [0xCAA5], NFC: [0xCAA5], NFD: [0x110D, 0x1168, 0x11AC], NFKC: [0xCAA5], NFKD: [0x110D, 0x1168, 0x11AC] }, -{ source: [0xCAA6], NFC: [0xCAA6], NFD: [0x110D, 0x1168, 0x11AD], NFKC: [0xCAA6], NFKD: [0x110D, 0x1168, 0x11AD] }, -{ source: [0xCAA7], NFC: [0xCAA7], NFD: [0x110D, 0x1168, 0x11AE], NFKC: [0xCAA7], NFKD: [0x110D, 0x1168, 0x11AE] }, -{ source: [0xCAA8], NFC: [0xCAA8], NFD: [0x110D, 0x1168, 0x11AF], NFKC: [0xCAA8], NFKD: [0x110D, 0x1168, 0x11AF] }, -{ source: [0xCAA9], NFC: [0xCAA9], NFD: [0x110D, 0x1168, 0x11B0], NFKC: [0xCAA9], NFKD: [0x110D, 0x1168, 0x11B0] }, -{ source: [0xCAAA], NFC: [0xCAAA], NFD: [0x110D, 0x1168, 0x11B1], NFKC: [0xCAAA], NFKD: [0x110D, 0x1168, 0x11B1] }, -{ source: [0xCAAB], NFC: [0xCAAB], NFD: [0x110D, 0x1168, 0x11B2], NFKC: [0xCAAB], NFKD: [0x110D, 0x1168, 0x11B2] }, -{ source: [0xCAAC], NFC: [0xCAAC], NFD: [0x110D, 0x1168, 0x11B3], NFKC: [0xCAAC], NFKD: [0x110D, 0x1168, 0x11B3] }, -{ source: [0xCAAD], NFC: [0xCAAD], NFD: [0x110D, 0x1168, 0x11B4], NFKC: [0xCAAD], NFKD: [0x110D, 0x1168, 0x11B4] }, -{ source: [0xCAAE], NFC: [0xCAAE], NFD: [0x110D, 0x1168, 0x11B5], NFKC: [0xCAAE], NFKD: [0x110D, 0x1168, 0x11B5] }, -{ source: [0xCAAF], NFC: [0xCAAF], NFD: [0x110D, 0x1168, 0x11B6], NFKC: [0xCAAF], NFKD: [0x110D, 0x1168, 0x11B6] }, -{ source: [0xCAB0], NFC: [0xCAB0], NFD: [0x110D, 0x1168, 0x11B7], NFKC: [0xCAB0], NFKD: [0x110D, 0x1168, 0x11B7] }, -{ source: [0xCAB1], NFC: [0xCAB1], NFD: [0x110D, 0x1168, 0x11B8], NFKC: [0xCAB1], NFKD: [0x110D, 0x1168, 0x11B8] }, -{ source: [0xCAB2], NFC: [0xCAB2], NFD: [0x110D, 0x1168, 0x11B9], NFKC: [0xCAB2], NFKD: [0x110D, 0x1168, 0x11B9] }, -{ source: [0xCAB3], NFC: [0xCAB3], NFD: [0x110D, 0x1168, 0x11BA], NFKC: [0xCAB3], NFKD: [0x110D, 0x1168, 0x11BA] }, -{ source: [0xCAB4], NFC: [0xCAB4], NFD: [0x110D, 0x1168, 0x11BB], NFKC: [0xCAB4], NFKD: [0x110D, 0x1168, 0x11BB] }, -{ source: [0xCAB5], NFC: [0xCAB5], NFD: [0x110D, 0x1168, 0x11BC], NFKC: [0xCAB5], NFKD: [0x110D, 0x1168, 0x11BC] }, -{ source: [0xCAB6], NFC: [0xCAB6], NFD: [0x110D, 0x1168, 0x11BD], NFKC: [0xCAB6], NFKD: [0x110D, 0x1168, 0x11BD] }, -{ source: [0xCAB7], NFC: [0xCAB7], NFD: [0x110D, 0x1168, 0x11BE], NFKC: [0xCAB7], NFKD: [0x110D, 0x1168, 0x11BE] }, -{ source: [0xCAB8], NFC: [0xCAB8], NFD: [0x110D, 0x1168, 0x11BF], NFKC: [0xCAB8], NFKD: [0x110D, 0x1168, 0x11BF] }, -{ source: [0xCAB9], NFC: [0xCAB9], NFD: [0x110D, 0x1168, 0x11C0], NFKC: [0xCAB9], NFKD: [0x110D, 0x1168, 0x11C0] }, -{ source: [0xCABA], NFC: [0xCABA], NFD: [0x110D, 0x1168, 0x11C1], NFKC: [0xCABA], NFKD: [0x110D, 0x1168, 0x11C1] }, -{ source: [0xCABB], NFC: [0xCABB], NFD: [0x110D, 0x1168, 0x11C2], NFKC: [0xCABB], NFKD: [0x110D, 0x1168, 0x11C2] }, -{ source: [0xCABC], NFC: [0xCABC], NFD: [0x110D, 0x1169], NFKC: [0xCABC], NFKD: [0x110D, 0x1169] }, -{ source: [0xCABD], NFC: [0xCABD], NFD: [0x110D, 0x1169, 0x11A8], NFKC: [0xCABD], NFKD: [0x110D, 0x1169, 0x11A8] }, -{ source: [0xCABE], NFC: [0xCABE], NFD: [0x110D, 0x1169, 0x11A9], NFKC: [0xCABE], NFKD: [0x110D, 0x1169, 0x11A9] }, -{ source: [0xCABF], NFC: [0xCABF], NFD: [0x110D, 0x1169, 0x11AA], NFKC: [0xCABF], NFKD: [0x110D, 0x1169, 0x11AA] }, -{ source: [0xCAC0], NFC: [0xCAC0], NFD: [0x110D, 0x1169, 0x11AB], NFKC: [0xCAC0], NFKD: [0x110D, 0x1169, 0x11AB] }, -{ source: [0xCAC1], NFC: [0xCAC1], NFD: [0x110D, 0x1169, 0x11AC], NFKC: [0xCAC1], NFKD: [0x110D, 0x1169, 0x11AC] }, -{ source: [0xCAC2], NFC: [0xCAC2], NFD: [0x110D, 0x1169, 0x11AD], NFKC: [0xCAC2], NFKD: [0x110D, 0x1169, 0x11AD] }, -{ source: [0xCAC3], NFC: [0xCAC3], NFD: [0x110D, 0x1169, 0x11AE], NFKC: [0xCAC3], NFKD: [0x110D, 0x1169, 0x11AE] }, -{ source: [0xCAC4], NFC: [0xCAC4], NFD: [0x110D, 0x1169, 0x11AF], NFKC: [0xCAC4], NFKD: [0x110D, 0x1169, 0x11AF] }, -{ source: [0xCAC5], NFC: [0xCAC5], NFD: [0x110D, 0x1169, 0x11B0], NFKC: [0xCAC5], NFKD: [0x110D, 0x1169, 0x11B0] }, -{ source: [0xCAC6], NFC: [0xCAC6], NFD: [0x110D, 0x1169, 0x11B1], NFKC: [0xCAC6], NFKD: [0x110D, 0x1169, 0x11B1] }, -{ source: [0xCAC7], NFC: [0xCAC7], NFD: [0x110D, 0x1169, 0x11B2], NFKC: [0xCAC7], NFKD: [0x110D, 0x1169, 0x11B2] }, -{ source: [0xCAC8], NFC: [0xCAC8], NFD: [0x110D, 0x1169, 0x11B3], NFKC: [0xCAC8], NFKD: [0x110D, 0x1169, 0x11B3] }, -{ source: [0xCAC9], NFC: [0xCAC9], NFD: [0x110D, 0x1169, 0x11B4], NFKC: [0xCAC9], NFKD: [0x110D, 0x1169, 0x11B4] }, -{ source: [0xCACA], NFC: [0xCACA], NFD: [0x110D, 0x1169, 0x11B5], NFKC: [0xCACA], NFKD: [0x110D, 0x1169, 0x11B5] }, -{ source: [0xCACB], NFC: [0xCACB], NFD: [0x110D, 0x1169, 0x11B6], NFKC: [0xCACB], NFKD: [0x110D, 0x1169, 0x11B6] }, -{ source: [0xCACC], NFC: [0xCACC], NFD: [0x110D, 0x1169, 0x11B7], NFKC: [0xCACC], NFKD: [0x110D, 0x1169, 0x11B7] }, -{ source: [0xCACD], NFC: [0xCACD], NFD: [0x110D, 0x1169, 0x11B8], NFKC: [0xCACD], NFKD: [0x110D, 0x1169, 0x11B8] }, -{ source: [0xCACE], NFC: [0xCACE], NFD: [0x110D, 0x1169, 0x11B9], NFKC: [0xCACE], NFKD: [0x110D, 0x1169, 0x11B9] }, -{ source: [0xCACF], NFC: [0xCACF], NFD: [0x110D, 0x1169, 0x11BA], NFKC: [0xCACF], NFKD: [0x110D, 0x1169, 0x11BA] }, -{ source: [0xCAD0], NFC: [0xCAD0], NFD: [0x110D, 0x1169, 0x11BB], NFKC: [0xCAD0], NFKD: [0x110D, 0x1169, 0x11BB] }, -{ source: [0xCAD1], NFC: [0xCAD1], NFD: [0x110D, 0x1169, 0x11BC], NFKC: [0xCAD1], NFKD: [0x110D, 0x1169, 0x11BC] }, -{ source: [0xCAD2], NFC: [0xCAD2], NFD: [0x110D, 0x1169, 0x11BD], NFKC: [0xCAD2], NFKD: [0x110D, 0x1169, 0x11BD] }, -{ source: [0xCAD3], NFC: [0xCAD3], NFD: [0x110D, 0x1169, 0x11BE], NFKC: [0xCAD3], NFKD: [0x110D, 0x1169, 0x11BE] }, -{ source: [0xCAD4], NFC: [0xCAD4], NFD: [0x110D, 0x1169, 0x11BF], NFKC: [0xCAD4], NFKD: [0x110D, 0x1169, 0x11BF] }, -{ source: [0xCAD5], NFC: [0xCAD5], NFD: [0x110D, 0x1169, 0x11C0], NFKC: [0xCAD5], NFKD: [0x110D, 0x1169, 0x11C0] }, -{ source: [0xCAD6], NFC: [0xCAD6], NFD: [0x110D, 0x1169, 0x11C1], NFKC: [0xCAD6], NFKD: [0x110D, 0x1169, 0x11C1] }, -{ source: [0xCAD7], NFC: [0xCAD7], NFD: [0x110D, 0x1169, 0x11C2], NFKC: [0xCAD7], NFKD: [0x110D, 0x1169, 0x11C2] }, -{ source: [0xCAD8], NFC: [0xCAD8], NFD: [0x110D, 0x116A], NFKC: [0xCAD8], NFKD: [0x110D, 0x116A] }, -{ source: [0xCAD9], NFC: [0xCAD9], NFD: [0x110D, 0x116A, 0x11A8], NFKC: [0xCAD9], NFKD: [0x110D, 0x116A, 0x11A8] }, -{ source: [0xCADA], NFC: [0xCADA], NFD: [0x110D, 0x116A, 0x11A9], NFKC: [0xCADA], NFKD: [0x110D, 0x116A, 0x11A9] }, -{ source: [0xCADB], NFC: [0xCADB], NFD: [0x110D, 0x116A, 0x11AA], NFKC: [0xCADB], NFKD: [0x110D, 0x116A, 0x11AA] }, -{ source: [0xCADC], NFC: [0xCADC], NFD: [0x110D, 0x116A, 0x11AB], NFKC: [0xCADC], NFKD: [0x110D, 0x116A, 0x11AB] }, -{ source: [0xCADD], NFC: [0xCADD], NFD: [0x110D, 0x116A, 0x11AC], NFKC: [0xCADD], NFKD: [0x110D, 0x116A, 0x11AC] }, -{ source: [0xCADE], NFC: [0xCADE], NFD: [0x110D, 0x116A, 0x11AD], NFKC: [0xCADE], NFKD: [0x110D, 0x116A, 0x11AD] }, -{ source: [0xCADF], NFC: [0xCADF], NFD: [0x110D, 0x116A, 0x11AE], NFKC: [0xCADF], NFKD: [0x110D, 0x116A, 0x11AE] }, -{ source: [0xCAE0], NFC: [0xCAE0], NFD: [0x110D, 0x116A, 0x11AF], NFKC: [0xCAE0], NFKD: [0x110D, 0x116A, 0x11AF] }, -{ source: [0xCAE1], NFC: [0xCAE1], NFD: [0x110D, 0x116A, 0x11B0], NFKC: [0xCAE1], NFKD: [0x110D, 0x116A, 0x11B0] }, -{ source: [0xCAE2], NFC: [0xCAE2], NFD: [0x110D, 0x116A, 0x11B1], NFKC: [0xCAE2], NFKD: [0x110D, 0x116A, 0x11B1] }, -{ source: [0xCAE3], NFC: [0xCAE3], NFD: [0x110D, 0x116A, 0x11B2], NFKC: [0xCAE3], NFKD: [0x110D, 0x116A, 0x11B2] }, -{ source: [0xCAE4], NFC: [0xCAE4], NFD: [0x110D, 0x116A, 0x11B3], NFKC: [0xCAE4], NFKD: [0x110D, 0x116A, 0x11B3] }, -{ source: [0xCAE5], NFC: [0xCAE5], NFD: [0x110D, 0x116A, 0x11B4], NFKC: [0xCAE5], NFKD: [0x110D, 0x116A, 0x11B4] }, -{ source: [0xCAE6], NFC: [0xCAE6], NFD: [0x110D, 0x116A, 0x11B5], NFKC: [0xCAE6], NFKD: [0x110D, 0x116A, 0x11B5] }, -{ source: [0xCAE7], NFC: [0xCAE7], NFD: [0x110D, 0x116A, 0x11B6], NFKC: [0xCAE7], NFKD: [0x110D, 0x116A, 0x11B6] }, -{ source: [0xCAE8], NFC: [0xCAE8], NFD: [0x110D, 0x116A, 0x11B7], NFKC: [0xCAE8], NFKD: [0x110D, 0x116A, 0x11B7] }, -{ source: [0xCAE9], NFC: [0xCAE9], NFD: [0x110D, 0x116A, 0x11B8], NFKC: [0xCAE9], NFKD: [0x110D, 0x116A, 0x11B8] }, -{ source: [0xCAEA], NFC: [0xCAEA], NFD: [0x110D, 0x116A, 0x11B9], NFKC: [0xCAEA], NFKD: [0x110D, 0x116A, 0x11B9] }, -{ source: [0xCAEB], NFC: [0xCAEB], NFD: [0x110D, 0x116A, 0x11BA], NFKC: [0xCAEB], NFKD: [0x110D, 0x116A, 0x11BA] }, -{ source: [0xCAEC], NFC: [0xCAEC], NFD: [0x110D, 0x116A, 0x11BB], NFKC: [0xCAEC], NFKD: [0x110D, 0x116A, 0x11BB] }, -{ source: [0xCAED], NFC: [0xCAED], NFD: [0x110D, 0x116A, 0x11BC], NFKC: [0xCAED], NFKD: [0x110D, 0x116A, 0x11BC] }, -{ source: [0xCAEE], NFC: [0xCAEE], NFD: [0x110D, 0x116A, 0x11BD], NFKC: [0xCAEE], NFKD: [0x110D, 0x116A, 0x11BD] }, -{ source: [0xCAEF], NFC: [0xCAEF], NFD: [0x110D, 0x116A, 0x11BE], NFKC: [0xCAEF], NFKD: [0x110D, 0x116A, 0x11BE] }, -{ source: [0xCAF0], NFC: [0xCAF0], NFD: [0x110D, 0x116A, 0x11BF], NFKC: [0xCAF0], NFKD: [0x110D, 0x116A, 0x11BF] }, -{ source: [0xCAF1], NFC: [0xCAF1], NFD: [0x110D, 0x116A, 0x11C0], NFKC: [0xCAF1], NFKD: [0x110D, 0x116A, 0x11C0] }, -{ source: [0xCAF2], NFC: [0xCAF2], NFD: [0x110D, 0x116A, 0x11C1], NFKC: [0xCAF2], NFKD: [0x110D, 0x116A, 0x11C1] }, -{ source: [0xCAF3], NFC: [0xCAF3], NFD: [0x110D, 0x116A, 0x11C2], NFKC: [0xCAF3], NFKD: [0x110D, 0x116A, 0x11C2] }, -{ source: [0xCAF4], NFC: [0xCAF4], NFD: [0x110D, 0x116B], NFKC: [0xCAF4], NFKD: [0x110D, 0x116B] }, -{ source: [0xCAF5], NFC: [0xCAF5], NFD: [0x110D, 0x116B, 0x11A8], NFKC: [0xCAF5], NFKD: [0x110D, 0x116B, 0x11A8] }, -{ source: [0xCAF6], NFC: [0xCAF6], NFD: [0x110D, 0x116B, 0x11A9], NFKC: [0xCAF6], NFKD: [0x110D, 0x116B, 0x11A9] }, -{ source: [0xCAF7], NFC: [0xCAF7], NFD: [0x110D, 0x116B, 0x11AA], NFKC: [0xCAF7], NFKD: [0x110D, 0x116B, 0x11AA] }, -{ source: [0xCAF8], NFC: [0xCAF8], NFD: [0x110D, 0x116B, 0x11AB], NFKC: [0xCAF8], NFKD: [0x110D, 0x116B, 0x11AB] }, -{ source: [0xCAF9], NFC: [0xCAF9], NFD: [0x110D, 0x116B, 0x11AC], NFKC: [0xCAF9], NFKD: [0x110D, 0x116B, 0x11AC] }, -{ source: [0xCAFA], NFC: [0xCAFA], NFD: [0x110D, 0x116B, 0x11AD], NFKC: [0xCAFA], NFKD: [0x110D, 0x116B, 0x11AD] }, -{ source: [0xCAFB], NFC: [0xCAFB], NFD: [0x110D, 0x116B, 0x11AE], NFKC: [0xCAFB], NFKD: [0x110D, 0x116B, 0x11AE] }, -{ source: [0xCAFC], NFC: [0xCAFC], NFD: [0x110D, 0x116B, 0x11AF], NFKC: [0xCAFC], NFKD: [0x110D, 0x116B, 0x11AF] }, -{ source: [0xCAFD], NFC: [0xCAFD], NFD: [0x110D, 0x116B, 0x11B0], NFKC: [0xCAFD], NFKD: [0x110D, 0x116B, 0x11B0] }, -{ source: [0xCAFE], NFC: [0xCAFE], NFD: [0x110D, 0x116B, 0x11B1], NFKC: [0xCAFE], NFKD: [0x110D, 0x116B, 0x11B1] }, -{ source: [0xCAFF], NFC: [0xCAFF], NFD: [0x110D, 0x116B, 0x11B2], NFKC: [0xCAFF], NFKD: [0x110D, 0x116B, 0x11B2] }, -{ source: [0xCB00], NFC: [0xCB00], NFD: [0x110D, 0x116B, 0x11B3], NFKC: [0xCB00], NFKD: [0x110D, 0x116B, 0x11B3] }, -{ source: [0xCB01], NFC: [0xCB01], NFD: [0x110D, 0x116B, 0x11B4], NFKC: [0xCB01], NFKD: [0x110D, 0x116B, 0x11B4] }, -{ source: [0xCB02], NFC: [0xCB02], NFD: [0x110D, 0x116B, 0x11B5], NFKC: [0xCB02], NFKD: [0x110D, 0x116B, 0x11B5] }, -{ source: [0xCB03], NFC: [0xCB03], NFD: [0x110D, 0x116B, 0x11B6], NFKC: [0xCB03], NFKD: [0x110D, 0x116B, 0x11B6] }, -{ source: [0xCB04], NFC: [0xCB04], NFD: [0x110D, 0x116B, 0x11B7], NFKC: [0xCB04], NFKD: [0x110D, 0x116B, 0x11B7] }, -{ source: [0xCB05], NFC: [0xCB05], NFD: [0x110D, 0x116B, 0x11B8], NFKC: [0xCB05], NFKD: [0x110D, 0x116B, 0x11B8] }, -{ source: [0xCB06], NFC: [0xCB06], NFD: [0x110D, 0x116B, 0x11B9], NFKC: [0xCB06], NFKD: [0x110D, 0x116B, 0x11B9] }, -{ source: [0xCB07], NFC: [0xCB07], NFD: [0x110D, 0x116B, 0x11BA], NFKC: [0xCB07], NFKD: [0x110D, 0x116B, 0x11BA] }, -{ source: [0xCB08], NFC: [0xCB08], NFD: [0x110D, 0x116B, 0x11BB], NFKC: [0xCB08], NFKD: [0x110D, 0x116B, 0x11BB] }, -{ source: [0xCB09], NFC: [0xCB09], NFD: [0x110D, 0x116B, 0x11BC], NFKC: [0xCB09], NFKD: [0x110D, 0x116B, 0x11BC] }, -{ source: [0xCB0A], NFC: [0xCB0A], NFD: [0x110D, 0x116B, 0x11BD], NFKC: [0xCB0A], NFKD: [0x110D, 0x116B, 0x11BD] }, -{ source: [0xCB0B], NFC: [0xCB0B], NFD: [0x110D, 0x116B, 0x11BE], NFKC: [0xCB0B], NFKD: [0x110D, 0x116B, 0x11BE] }, -{ source: [0xCB0C], NFC: [0xCB0C], NFD: [0x110D, 0x116B, 0x11BF], NFKC: [0xCB0C], NFKD: [0x110D, 0x116B, 0x11BF] }, -{ source: [0xCB0D], NFC: [0xCB0D], NFD: [0x110D, 0x116B, 0x11C0], NFKC: [0xCB0D], NFKD: [0x110D, 0x116B, 0x11C0] }, -{ source: [0xCB0E], NFC: [0xCB0E], NFD: [0x110D, 0x116B, 0x11C1], NFKC: [0xCB0E], NFKD: [0x110D, 0x116B, 0x11C1] }, -{ source: [0xCB0F], NFC: [0xCB0F], NFD: [0x110D, 0x116B, 0x11C2], NFKC: [0xCB0F], NFKD: [0x110D, 0x116B, 0x11C2] }, -{ source: [0xCB10], NFC: [0xCB10], NFD: [0x110D, 0x116C], NFKC: [0xCB10], NFKD: [0x110D, 0x116C] }, -{ source: [0xCB11], NFC: [0xCB11], NFD: [0x110D, 0x116C, 0x11A8], NFKC: [0xCB11], NFKD: [0x110D, 0x116C, 0x11A8] }, -{ source: [0xCB12], NFC: [0xCB12], NFD: [0x110D, 0x116C, 0x11A9], NFKC: [0xCB12], NFKD: [0x110D, 0x116C, 0x11A9] }, -{ source: [0xCB13], NFC: [0xCB13], NFD: [0x110D, 0x116C, 0x11AA], NFKC: [0xCB13], NFKD: [0x110D, 0x116C, 0x11AA] }, -{ source: [0xCB14], NFC: [0xCB14], NFD: [0x110D, 0x116C, 0x11AB], NFKC: [0xCB14], NFKD: [0x110D, 0x116C, 0x11AB] }, -{ source: [0xCB15], NFC: [0xCB15], NFD: [0x110D, 0x116C, 0x11AC], NFKC: [0xCB15], NFKD: [0x110D, 0x116C, 0x11AC] }, -{ source: [0xCB16], NFC: [0xCB16], NFD: [0x110D, 0x116C, 0x11AD], NFKC: [0xCB16], NFKD: [0x110D, 0x116C, 0x11AD] }, -{ source: [0xCB17], NFC: [0xCB17], NFD: [0x110D, 0x116C, 0x11AE], NFKC: [0xCB17], NFKD: [0x110D, 0x116C, 0x11AE] }, -{ source: [0xCB18], NFC: [0xCB18], NFD: [0x110D, 0x116C, 0x11AF], NFKC: [0xCB18], NFKD: [0x110D, 0x116C, 0x11AF] }, -{ source: [0xCB19], NFC: [0xCB19], NFD: [0x110D, 0x116C, 0x11B0], NFKC: [0xCB19], NFKD: [0x110D, 0x116C, 0x11B0] }, -{ source: [0xCB1A], NFC: [0xCB1A], NFD: [0x110D, 0x116C, 0x11B1], NFKC: [0xCB1A], NFKD: [0x110D, 0x116C, 0x11B1] }, -{ source: [0xCB1B], NFC: [0xCB1B], NFD: [0x110D, 0x116C, 0x11B2], NFKC: [0xCB1B], NFKD: [0x110D, 0x116C, 0x11B2] }, -{ source: [0xCB1C], NFC: [0xCB1C], NFD: [0x110D, 0x116C, 0x11B3], NFKC: [0xCB1C], NFKD: [0x110D, 0x116C, 0x11B3] }, -{ source: [0xCB1D], NFC: [0xCB1D], NFD: [0x110D, 0x116C, 0x11B4], NFKC: [0xCB1D], NFKD: [0x110D, 0x116C, 0x11B4] }, -{ source: [0xCB1E], NFC: [0xCB1E], NFD: [0x110D, 0x116C, 0x11B5], NFKC: [0xCB1E], NFKD: [0x110D, 0x116C, 0x11B5] }, -{ source: [0xCB1F], NFC: [0xCB1F], NFD: [0x110D, 0x116C, 0x11B6], NFKC: [0xCB1F], NFKD: [0x110D, 0x116C, 0x11B6] }, -{ source: [0xCB20], NFC: [0xCB20], NFD: [0x110D, 0x116C, 0x11B7], NFKC: [0xCB20], NFKD: [0x110D, 0x116C, 0x11B7] }, -{ source: [0xCB21], NFC: [0xCB21], NFD: [0x110D, 0x116C, 0x11B8], NFKC: [0xCB21], NFKD: [0x110D, 0x116C, 0x11B8] }, -{ source: [0xCB22], NFC: [0xCB22], NFD: [0x110D, 0x116C, 0x11B9], NFKC: [0xCB22], NFKD: [0x110D, 0x116C, 0x11B9] }, -{ source: [0xCB23], NFC: [0xCB23], NFD: [0x110D, 0x116C, 0x11BA], NFKC: [0xCB23], NFKD: [0x110D, 0x116C, 0x11BA] }, -{ source: [0xCB24], NFC: [0xCB24], NFD: [0x110D, 0x116C, 0x11BB], NFKC: [0xCB24], NFKD: [0x110D, 0x116C, 0x11BB] }, -{ source: [0xCB25], NFC: [0xCB25], NFD: [0x110D, 0x116C, 0x11BC], NFKC: [0xCB25], NFKD: [0x110D, 0x116C, 0x11BC] }, -{ source: [0xCB26], NFC: [0xCB26], NFD: [0x110D, 0x116C, 0x11BD], NFKC: [0xCB26], NFKD: [0x110D, 0x116C, 0x11BD] }, -{ source: [0xCB27], NFC: [0xCB27], NFD: [0x110D, 0x116C, 0x11BE], NFKC: [0xCB27], NFKD: [0x110D, 0x116C, 0x11BE] }, -{ source: [0xCB28], NFC: [0xCB28], NFD: [0x110D, 0x116C, 0x11BF], NFKC: [0xCB28], NFKD: [0x110D, 0x116C, 0x11BF] }, -{ source: [0xCB29], NFC: [0xCB29], NFD: [0x110D, 0x116C, 0x11C0], NFKC: [0xCB29], NFKD: [0x110D, 0x116C, 0x11C0] }, -{ source: [0xCB2A], NFC: [0xCB2A], NFD: [0x110D, 0x116C, 0x11C1], NFKC: [0xCB2A], NFKD: [0x110D, 0x116C, 0x11C1] }, -{ source: [0xCB2B], NFC: [0xCB2B], NFD: [0x110D, 0x116C, 0x11C2], NFKC: [0xCB2B], NFKD: [0x110D, 0x116C, 0x11C2] }, -{ source: [0xCB2C], NFC: [0xCB2C], NFD: [0x110D, 0x116D], NFKC: [0xCB2C], NFKD: [0x110D, 0x116D] }, -{ source: [0xCB2D], NFC: [0xCB2D], NFD: [0x110D, 0x116D, 0x11A8], NFKC: [0xCB2D], NFKD: [0x110D, 0x116D, 0x11A8] }, -{ source: [0xCB2E], NFC: [0xCB2E], NFD: [0x110D, 0x116D, 0x11A9], NFKC: [0xCB2E], NFKD: [0x110D, 0x116D, 0x11A9] }, -{ source: [0xCB2F], NFC: [0xCB2F], NFD: [0x110D, 0x116D, 0x11AA], NFKC: [0xCB2F], NFKD: [0x110D, 0x116D, 0x11AA] }, -{ source: [0xCB30], NFC: [0xCB30], NFD: [0x110D, 0x116D, 0x11AB], NFKC: [0xCB30], NFKD: [0x110D, 0x116D, 0x11AB] }, -{ source: [0xCB31], NFC: [0xCB31], NFD: [0x110D, 0x116D, 0x11AC], NFKC: [0xCB31], NFKD: [0x110D, 0x116D, 0x11AC] }, -{ source: [0xCB32], NFC: [0xCB32], NFD: [0x110D, 0x116D, 0x11AD], NFKC: [0xCB32], NFKD: [0x110D, 0x116D, 0x11AD] }, -{ source: [0xCB33], NFC: [0xCB33], NFD: [0x110D, 0x116D, 0x11AE], NFKC: [0xCB33], NFKD: [0x110D, 0x116D, 0x11AE] }, -{ source: [0xCB34], NFC: [0xCB34], NFD: [0x110D, 0x116D, 0x11AF], NFKC: [0xCB34], NFKD: [0x110D, 0x116D, 0x11AF] }, -{ source: [0xCB35], NFC: [0xCB35], NFD: [0x110D, 0x116D, 0x11B0], NFKC: [0xCB35], NFKD: [0x110D, 0x116D, 0x11B0] }, -{ source: [0xCB36], NFC: [0xCB36], NFD: [0x110D, 0x116D, 0x11B1], NFKC: [0xCB36], NFKD: [0x110D, 0x116D, 0x11B1] }, -{ source: [0xCB37], NFC: [0xCB37], NFD: [0x110D, 0x116D, 0x11B2], NFKC: [0xCB37], NFKD: [0x110D, 0x116D, 0x11B2] }, -{ source: [0xCB38], NFC: [0xCB38], NFD: [0x110D, 0x116D, 0x11B3], NFKC: [0xCB38], NFKD: [0x110D, 0x116D, 0x11B3] }, -{ source: [0xCB39], NFC: [0xCB39], NFD: [0x110D, 0x116D, 0x11B4], NFKC: [0xCB39], NFKD: [0x110D, 0x116D, 0x11B4] }, -{ source: [0xCB3A], NFC: [0xCB3A], NFD: [0x110D, 0x116D, 0x11B5], NFKC: [0xCB3A], NFKD: [0x110D, 0x116D, 0x11B5] }, -{ source: [0xCB3B], NFC: [0xCB3B], NFD: [0x110D, 0x116D, 0x11B6], NFKC: [0xCB3B], NFKD: [0x110D, 0x116D, 0x11B6] }, -{ source: [0xCB3C], NFC: [0xCB3C], NFD: [0x110D, 0x116D, 0x11B7], NFKC: [0xCB3C], NFKD: [0x110D, 0x116D, 0x11B7] }, -{ source: [0xCB3D], NFC: [0xCB3D], NFD: [0x110D, 0x116D, 0x11B8], NFKC: [0xCB3D], NFKD: [0x110D, 0x116D, 0x11B8] }, -{ source: [0xCB3E], NFC: [0xCB3E], NFD: [0x110D, 0x116D, 0x11B9], NFKC: [0xCB3E], NFKD: [0x110D, 0x116D, 0x11B9] }, -{ source: [0xCB3F], NFC: [0xCB3F], NFD: [0x110D, 0x116D, 0x11BA], NFKC: [0xCB3F], NFKD: [0x110D, 0x116D, 0x11BA] }, -{ source: [0xCB40], NFC: [0xCB40], NFD: [0x110D, 0x116D, 0x11BB], NFKC: [0xCB40], NFKD: [0x110D, 0x116D, 0x11BB] }, -{ source: [0xCB41], NFC: [0xCB41], NFD: [0x110D, 0x116D, 0x11BC], NFKC: [0xCB41], NFKD: [0x110D, 0x116D, 0x11BC] }, -{ source: [0xCB42], NFC: [0xCB42], NFD: [0x110D, 0x116D, 0x11BD], NFKC: [0xCB42], NFKD: [0x110D, 0x116D, 0x11BD] }, -{ source: [0xCB43], NFC: [0xCB43], NFD: [0x110D, 0x116D, 0x11BE], NFKC: [0xCB43], NFKD: [0x110D, 0x116D, 0x11BE] }, -{ source: [0xCB44], NFC: [0xCB44], NFD: [0x110D, 0x116D, 0x11BF], NFKC: [0xCB44], NFKD: [0x110D, 0x116D, 0x11BF] }, -{ source: [0xCB45], NFC: [0xCB45], NFD: [0x110D, 0x116D, 0x11C0], NFKC: [0xCB45], NFKD: [0x110D, 0x116D, 0x11C0] }, -{ source: [0xCB46], NFC: [0xCB46], NFD: [0x110D, 0x116D, 0x11C1], NFKC: [0xCB46], NFKD: [0x110D, 0x116D, 0x11C1] }, -{ source: [0xCB47], NFC: [0xCB47], NFD: [0x110D, 0x116D, 0x11C2], NFKC: [0xCB47], NFKD: [0x110D, 0x116D, 0x11C2] }, -{ source: [0xCB48], NFC: [0xCB48], NFD: [0x110D, 0x116E], NFKC: [0xCB48], NFKD: [0x110D, 0x116E] }, -{ source: [0xCB49], NFC: [0xCB49], NFD: [0x110D, 0x116E, 0x11A8], NFKC: [0xCB49], NFKD: [0x110D, 0x116E, 0x11A8] }, -{ source: [0xCB4A], NFC: [0xCB4A], NFD: [0x110D, 0x116E, 0x11A9], NFKC: [0xCB4A], NFKD: [0x110D, 0x116E, 0x11A9] }, -{ source: [0xCB4B], NFC: [0xCB4B], NFD: [0x110D, 0x116E, 0x11AA], NFKC: [0xCB4B], NFKD: [0x110D, 0x116E, 0x11AA] }, -{ source: [0xCB4C], NFC: [0xCB4C], NFD: [0x110D, 0x116E, 0x11AB], NFKC: [0xCB4C], NFKD: [0x110D, 0x116E, 0x11AB] }, -{ source: [0xCB4D], NFC: [0xCB4D], NFD: [0x110D, 0x116E, 0x11AC], NFKC: [0xCB4D], NFKD: [0x110D, 0x116E, 0x11AC] }, -{ source: [0xCB4E], NFC: [0xCB4E], NFD: [0x110D, 0x116E, 0x11AD], NFKC: [0xCB4E], NFKD: [0x110D, 0x116E, 0x11AD] }, -{ source: [0xCB4F], NFC: [0xCB4F], NFD: [0x110D, 0x116E, 0x11AE], NFKC: [0xCB4F], NFKD: [0x110D, 0x116E, 0x11AE] }, -{ source: [0xCB50], NFC: [0xCB50], NFD: [0x110D, 0x116E, 0x11AF], NFKC: [0xCB50], NFKD: [0x110D, 0x116E, 0x11AF] }, -{ source: [0xCB51], NFC: [0xCB51], NFD: [0x110D, 0x116E, 0x11B0], NFKC: [0xCB51], NFKD: [0x110D, 0x116E, 0x11B0] }, -{ source: [0xCB52], NFC: [0xCB52], NFD: [0x110D, 0x116E, 0x11B1], NFKC: [0xCB52], NFKD: [0x110D, 0x116E, 0x11B1] }, -{ source: [0xCB53], NFC: [0xCB53], NFD: [0x110D, 0x116E, 0x11B2], NFKC: [0xCB53], NFKD: [0x110D, 0x116E, 0x11B2] }, -{ source: [0xCB54], NFC: [0xCB54], NFD: [0x110D, 0x116E, 0x11B3], NFKC: [0xCB54], NFKD: [0x110D, 0x116E, 0x11B3] }, -{ source: [0xCB55], NFC: [0xCB55], NFD: [0x110D, 0x116E, 0x11B4], NFKC: [0xCB55], NFKD: [0x110D, 0x116E, 0x11B4] }, -{ source: [0xCB56], NFC: [0xCB56], NFD: [0x110D, 0x116E, 0x11B5], NFKC: [0xCB56], NFKD: [0x110D, 0x116E, 0x11B5] }, -{ source: [0xCB57], NFC: [0xCB57], NFD: [0x110D, 0x116E, 0x11B6], NFKC: [0xCB57], NFKD: [0x110D, 0x116E, 0x11B6] }, -{ source: [0xCB58], NFC: [0xCB58], NFD: [0x110D, 0x116E, 0x11B7], NFKC: [0xCB58], NFKD: [0x110D, 0x116E, 0x11B7] }, -{ source: [0xCB59], NFC: [0xCB59], NFD: [0x110D, 0x116E, 0x11B8], NFKC: [0xCB59], NFKD: [0x110D, 0x116E, 0x11B8] }, -{ source: [0xCB5A], NFC: [0xCB5A], NFD: [0x110D, 0x116E, 0x11B9], NFKC: [0xCB5A], NFKD: [0x110D, 0x116E, 0x11B9] }, -{ source: [0xCB5B], NFC: [0xCB5B], NFD: [0x110D, 0x116E, 0x11BA], NFKC: [0xCB5B], NFKD: [0x110D, 0x116E, 0x11BA] }, -{ source: [0xCB5C], NFC: [0xCB5C], NFD: [0x110D, 0x116E, 0x11BB], NFKC: [0xCB5C], NFKD: [0x110D, 0x116E, 0x11BB] }, -{ source: [0xCB5D], NFC: [0xCB5D], NFD: [0x110D, 0x116E, 0x11BC], NFKC: [0xCB5D], NFKD: [0x110D, 0x116E, 0x11BC] }, -{ source: [0xCB5E], NFC: [0xCB5E], NFD: [0x110D, 0x116E, 0x11BD], NFKC: [0xCB5E], NFKD: [0x110D, 0x116E, 0x11BD] }, -{ source: [0xCB5F], NFC: [0xCB5F], NFD: [0x110D, 0x116E, 0x11BE], NFKC: [0xCB5F], NFKD: [0x110D, 0x116E, 0x11BE] }, -{ source: [0xCB60], NFC: [0xCB60], NFD: [0x110D, 0x116E, 0x11BF], NFKC: [0xCB60], NFKD: [0x110D, 0x116E, 0x11BF] }, -{ source: [0xCB61], NFC: [0xCB61], NFD: [0x110D, 0x116E, 0x11C0], NFKC: [0xCB61], NFKD: [0x110D, 0x116E, 0x11C0] }, -{ source: [0xCB62], NFC: [0xCB62], NFD: [0x110D, 0x116E, 0x11C1], NFKC: [0xCB62], NFKD: [0x110D, 0x116E, 0x11C1] }, -{ source: [0xCB63], NFC: [0xCB63], NFD: [0x110D, 0x116E, 0x11C2], NFKC: [0xCB63], NFKD: [0x110D, 0x116E, 0x11C2] }, -{ source: [0xCB64], NFC: [0xCB64], NFD: [0x110D, 0x116F], NFKC: [0xCB64], NFKD: [0x110D, 0x116F] }, -{ source: [0xCB65], NFC: [0xCB65], NFD: [0x110D, 0x116F, 0x11A8], NFKC: [0xCB65], NFKD: [0x110D, 0x116F, 0x11A8] }, -{ source: [0xCB66], NFC: [0xCB66], NFD: [0x110D, 0x116F, 0x11A9], NFKC: [0xCB66], NFKD: [0x110D, 0x116F, 0x11A9] }, -{ source: [0xCB67], NFC: [0xCB67], NFD: [0x110D, 0x116F, 0x11AA], NFKC: [0xCB67], NFKD: [0x110D, 0x116F, 0x11AA] }, -{ source: [0xCB68], NFC: [0xCB68], NFD: [0x110D, 0x116F, 0x11AB], NFKC: [0xCB68], NFKD: [0x110D, 0x116F, 0x11AB] }, -{ source: [0xCB69], NFC: [0xCB69], NFD: [0x110D, 0x116F, 0x11AC], NFKC: [0xCB69], NFKD: [0x110D, 0x116F, 0x11AC] }, -{ source: [0xCB6A], NFC: [0xCB6A], NFD: [0x110D, 0x116F, 0x11AD], NFKC: [0xCB6A], NFKD: [0x110D, 0x116F, 0x11AD] }, -{ source: [0xCB6B], NFC: [0xCB6B], NFD: [0x110D, 0x116F, 0x11AE], NFKC: [0xCB6B], NFKD: [0x110D, 0x116F, 0x11AE] }, -{ source: [0xCB6C], NFC: [0xCB6C], NFD: [0x110D, 0x116F, 0x11AF], NFKC: [0xCB6C], NFKD: [0x110D, 0x116F, 0x11AF] }, -{ source: [0xCB6D], NFC: [0xCB6D], NFD: [0x110D, 0x116F, 0x11B0], NFKC: [0xCB6D], NFKD: [0x110D, 0x116F, 0x11B0] }, -{ source: [0xCB6E], NFC: [0xCB6E], NFD: [0x110D, 0x116F, 0x11B1], NFKC: [0xCB6E], NFKD: [0x110D, 0x116F, 0x11B1] }, -{ source: [0xCB6F], NFC: [0xCB6F], NFD: [0x110D, 0x116F, 0x11B2], NFKC: [0xCB6F], NFKD: [0x110D, 0x116F, 0x11B2] }, -{ source: [0xCB70], NFC: [0xCB70], NFD: [0x110D, 0x116F, 0x11B3], NFKC: [0xCB70], NFKD: [0x110D, 0x116F, 0x11B3] }, -{ source: [0xCB71], NFC: [0xCB71], NFD: [0x110D, 0x116F, 0x11B4], NFKC: [0xCB71], NFKD: [0x110D, 0x116F, 0x11B4] }, -{ source: [0xCB72], NFC: [0xCB72], NFD: [0x110D, 0x116F, 0x11B5], NFKC: [0xCB72], NFKD: [0x110D, 0x116F, 0x11B5] }, -{ source: [0xCB73], NFC: [0xCB73], NFD: [0x110D, 0x116F, 0x11B6], NFKC: [0xCB73], NFKD: [0x110D, 0x116F, 0x11B6] }, -{ source: [0xCB74], NFC: [0xCB74], NFD: [0x110D, 0x116F, 0x11B7], NFKC: [0xCB74], NFKD: [0x110D, 0x116F, 0x11B7] }, -{ source: [0xCB75], NFC: [0xCB75], NFD: [0x110D, 0x116F, 0x11B8], NFKC: [0xCB75], NFKD: [0x110D, 0x116F, 0x11B8] }, -{ source: [0xCB76], NFC: [0xCB76], NFD: [0x110D, 0x116F, 0x11B9], NFKC: [0xCB76], NFKD: [0x110D, 0x116F, 0x11B9] }, -{ source: [0xCB77], NFC: [0xCB77], NFD: [0x110D, 0x116F, 0x11BA], NFKC: [0xCB77], NFKD: [0x110D, 0x116F, 0x11BA] }, -{ source: [0xCB78], NFC: [0xCB78], NFD: [0x110D, 0x116F, 0x11BB], NFKC: [0xCB78], NFKD: [0x110D, 0x116F, 0x11BB] }, -{ source: [0xCB79], NFC: [0xCB79], NFD: [0x110D, 0x116F, 0x11BC], NFKC: [0xCB79], NFKD: [0x110D, 0x116F, 0x11BC] }, -{ source: [0xCB7A], NFC: [0xCB7A], NFD: [0x110D, 0x116F, 0x11BD], NFKC: [0xCB7A], NFKD: [0x110D, 0x116F, 0x11BD] }, -{ source: [0xCB7B], NFC: [0xCB7B], NFD: [0x110D, 0x116F, 0x11BE], NFKC: [0xCB7B], NFKD: [0x110D, 0x116F, 0x11BE] }, -{ source: [0xCB7C], NFC: [0xCB7C], NFD: [0x110D, 0x116F, 0x11BF], NFKC: [0xCB7C], NFKD: [0x110D, 0x116F, 0x11BF] }, -{ source: [0xCB7D], NFC: [0xCB7D], NFD: [0x110D, 0x116F, 0x11C0], NFKC: [0xCB7D], NFKD: [0x110D, 0x116F, 0x11C0] }, -{ source: [0xCB7E], NFC: [0xCB7E], NFD: [0x110D, 0x116F, 0x11C1], NFKC: [0xCB7E], NFKD: [0x110D, 0x116F, 0x11C1] }, -{ source: [0xCB7F], NFC: [0xCB7F], NFD: [0x110D, 0x116F, 0x11C2], NFKC: [0xCB7F], NFKD: [0x110D, 0x116F, 0x11C2] }, -{ source: [0xCB80], NFC: [0xCB80], NFD: [0x110D, 0x1170], NFKC: [0xCB80], NFKD: [0x110D, 0x1170] }, -{ source: [0xCB81], NFC: [0xCB81], NFD: [0x110D, 0x1170, 0x11A8], NFKC: [0xCB81], NFKD: [0x110D, 0x1170, 0x11A8] }, -{ source: [0xCB82], NFC: [0xCB82], NFD: [0x110D, 0x1170, 0x11A9], NFKC: [0xCB82], NFKD: [0x110D, 0x1170, 0x11A9] }, -{ source: [0xCB83], NFC: [0xCB83], NFD: [0x110D, 0x1170, 0x11AA], NFKC: [0xCB83], NFKD: [0x110D, 0x1170, 0x11AA] }, -{ source: [0xCB84], NFC: [0xCB84], NFD: [0x110D, 0x1170, 0x11AB], NFKC: [0xCB84], NFKD: [0x110D, 0x1170, 0x11AB] }, -{ source: [0xCB85], NFC: [0xCB85], NFD: [0x110D, 0x1170, 0x11AC], NFKC: [0xCB85], NFKD: [0x110D, 0x1170, 0x11AC] }, -{ source: [0xCB86], NFC: [0xCB86], NFD: [0x110D, 0x1170, 0x11AD], NFKC: [0xCB86], NFKD: [0x110D, 0x1170, 0x11AD] }, -{ source: [0xCB87], NFC: [0xCB87], NFD: [0x110D, 0x1170, 0x11AE], NFKC: [0xCB87], NFKD: [0x110D, 0x1170, 0x11AE] }, -{ source: [0xCB88], NFC: [0xCB88], NFD: [0x110D, 0x1170, 0x11AF], NFKC: [0xCB88], NFKD: [0x110D, 0x1170, 0x11AF] }, -{ source: [0xCB89], NFC: [0xCB89], NFD: [0x110D, 0x1170, 0x11B0], NFKC: [0xCB89], NFKD: [0x110D, 0x1170, 0x11B0] }, -{ source: [0xCB8A], NFC: [0xCB8A], NFD: [0x110D, 0x1170, 0x11B1], NFKC: [0xCB8A], NFKD: [0x110D, 0x1170, 0x11B1] }, -{ source: [0xCB8B], NFC: [0xCB8B], NFD: [0x110D, 0x1170, 0x11B2], NFKC: [0xCB8B], NFKD: [0x110D, 0x1170, 0x11B2] }, -{ source: [0xCB8C], NFC: [0xCB8C], NFD: [0x110D, 0x1170, 0x11B3], NFKC: [0xCB8C], NFKD: [0x110D, 0x1170, 0x11B3] }, -{ source: [0xCB8D], NFC: [0xCB8D], NFD: [0x110D, 0x1170, 0x11B4], NFKC: [0xCB8D], NFKD: [0x110D, 0x1170, 0x11B4] }, -{ source: [0xCB8E], NFC: [0xCB8E], NFD: [0x110D, 0x1170, 0x11B5], NFKC: [0xCB8E], NFKD: [0x110D, 0x1170, 0x11B5] }, -{ source: [0xCB8F], NFC: [0xCB8F], NFD: [0x110D, 0x1170, 0x11B6], NFKC: [0xCB8F], NFKD: [0x110D, 0x1170, 0x11B6] }, -{ source: [0xCB90], NFC: [0xCB90], NFD: [0x110D, 0x1170, 0x11B7], NFKC: [0xCB90], NFKD: [0x110D, 0x1170, 0x11B7] }, -{ source: [0xCB91], NFC: [0xCB91], NFD: [0x110D, 0x1170, 0x11B8], NFKC: [0xCB91], NFKD: [0x110D, 0x1170, 0x11B8] }, -{ source: [0xCB92], NFC: [0xCB92], NFD: [0x110D, 0x1170, 0x11B9], NFKC: [0xCB92], NFKD: [0x110D, 0x1170, 0x11B9] }, -{ source: [0xCB93], NFC: [0xCB93], NFD: [0x110D, 0x1170, 0x11BA], NFKC: [0xCB93], NFKD: [0x110D, 0x1170, 0x11BA] }, -{ source: [0xCB94], NFC: [0xCB94], NFD: [0x110D, 0x1170, 0x11BB], NFKC: [0xCB94], NFKD: [0x110D, 0x1170, 0x11BB] }, -{ source: [0xCB95], NFC: [0xCB95], NFD: [0x110D, 0x1170, 0x11BC], NFKC: [0xCB95], NFKD: [0x110D, 0x1170, 0x11BC] }, -{ source: [0xCB96], NFC: [0xCB96], NFD: [0x110D, 0x1170, 0x11BD], NFKC: [0xCB96], NFKD: [0x110D, 0x1170, 0x11BD] }, -{ source: [0xCB97], NFC: [0xCB97], NFD: [0x110D, 0x1170, 0x11BE], NFKC: [0xCB97], NFKD: [0x110D, 0x1170, 0x11BE] }, -{ source: [0xCB98], NFC: [0xCB98], NFD: [0x110D, 0x1170, 0x11BF], NFKC: [0xCB98], NFKD: [0x110D, 0x1170, 0x11BF] }, -{ source: [0xCB99], NFC: [0xCB99], NFD: [0x110D, 0x1170, 0x11C0], NFKC: [0xCB99], NFKD: [0x110D, 0x1170, 0x11C0] }, -{ source: [0xCB9A], NFC: [0xCB9A], NFD: [0x110D, 0x1170, 0x11C1], NFKC: [0xCB9A], NFKD: [0x110D, 0x1170, 0x11C1] }, -{ source: [0xCB9B], NFC: [0xCB9B], NFD: [0x110D, 0x1170, 0x11C2], NFKC: [0xCB9B], NFKD: [0x110D, 0x1170, 0x11C2] }, -{ source: [0xCB9C], NFC: [0xCB9C], NFD: [0x110D, 0x1171], NFKC: [0xCB9C], NFKD: [0x110D, 0x1171] }, -{ source: [0xCB9D], NFC: [0xCB9D], NFD: [0x110D, 0x1171, 0x11A8], NFKC: [0xCB9D], NFKD: [0x110D, 0x1171, 0x11A8] }, -{ source: [0xCB9E], NFC: [0xCB9E], NFD: [0x110D, 0x1171, 0x11A9], NFKC: [0xCB9E], NFKD: [0x110D, 0x1171, 0x11A9] }, -{ source: [0xCB9F], NFC: [0xCB9F], NFD: [0x110D, 0x1171, 0x11AA], NFKC: [0xCB9F], NFKD: [0x110D, 0x1171, 0x11AA] }, -{ source: [0xCBA0], NFC: [0xCBA0], NFD: [0x110D, 0x1171, 0x11AB], NFKC: [0xCBA0], NFKD: [0x110D, 0x1171, 0x11AB] }, -{ source: [0xCBA1], NFC: [0xCBA1], NFD: [0x110D, 0x1171, 0x11AC], NFKC: [0xCBA1], NFKD: [0x110D, 0x1171, 0x11AC] }, -{ source: [0xCBA2], NFC: [0xCBA2], NFD: [0x110D, 0x1171, 0x11AD], NFKC: [0xCBA2], NFKD: [0x110D, 0x1171, 0x11AD] }, -{ source: [0xCBA3], NFC: [0xCBA3], NFD: [0x110D, 0x1171, 0x11AE], NFKC: [0xCBA3], NFKD: [0x110D, 0x1171, 0x11AE] }, -{ source: [0xCBA4], NFC: [0xCBA4], NFD: [0x110D, 0x1171, 0x11AF], NFKC: [0xCBA4], NFKD: [0x110D, 0x1171, 0x11AF] }, -{ source: [0xCBA5], NFC: [0xCBA5], NFD: [0x110D, 0x1171, 0x11B0], NFKC: [0xCBA5], NFKD: [0x110D, 0x1171, 0x11B0] }, -{ source: [0xCBA6], NFC: [0xCBA6], NFD: [0x110D, 0x1171, 0x11B1], NFKC: [0xCBA6], NFKD: [0x110D, 0x1171, 0x11B1] }, -{ source: [0xCBA7], NFC: [0xCBA7], NFD: [0x110D, 0x1171, 0x11B2], NFKC: [0xCBA7], NFKD: [0x110D, 0x1171, 0x11B2] }, -{ source: [0xCBA8], NFC: [0xCBA8], NFD: [0x110D, 0x1171, 0x11B3], NFKC: [0xCBA8], NFKD: [0x110D, 0x1171, 0x11B3] }, -{ source: [0xCBA9], NFC: [0xCBA9], NFD: [0x110D, 0x1171, 0x11B4], NFKC: [0xCBA9], NFKD: [0x110D, 0x1171, 0x11B4] }, -{ source: [0xCBAA], NFC: [0xCBAA], NFD: [0x110D, 0x1171, 0x11B5], NFKC: [0xCBAA], NFKD: [0x110D, 0x1171, 0x11B5] }, -{ source: [0xCBAB], NFC: [0xCBAB], NFD: [0x110D, 0x1171, 0x11B6], NFKC: [0xCBAB], NFKD: [0x110D, 0x1171, 0x11B6] }, -{ source: [0xCBAC], NFC: [0xCBAC], NFD: [0x110D, 0x1171, 0x11B7], NFKC: [0xCBAC], NFKD: [0x110D, 0x1171, 0x11B7] }, -{ source: [0xCBAD], NFC: [0xCBAD], NFD: [0x110D, 0x1171, 0x11B8], NFKC: [0xCBAD], NFKD: [0x110D, 0x1171, 0x11B8] }, -{ source: [0xCBAE], NFC: [0xCBAE], NFD: [0x110D, 0x1171, 0x11B9], NFKC: [0xCBAE], NFKD: [0x110D, 0x1171, 0x11B9] }, -{ source: [0xCBAF], NFC: [0xCBAF], NFD: [0x110D, 0x1171, 0x11BA], NFKC: [0xCBAF], NFKD: [0x110D, 0x1171, 0x11BA] }, -{ source: [0xCBB0], NFC: [0xCBB0], NFD: [0x110D, 0x1171, 0x11BB], NFKC: [0xCBB0], NFKD: [0x110D, 0x1171, 0x11BB] }, -{ source: [0xCBB1], NFC: [0xCBB1], NFD: [0x110D, 0x1171, 0x11BC], NFKC: [0xCBB1], NFKD: [0x110D, 0x1171, 0x11BC] }, -{ source: [0xCBB2], NFC: [0xCBB2], NFD: [0x110D, 0x1171, 0x11BD], NFKC: [0xCBB2], NFKD: [0x110D, 0x1171, 0x11BD] }, -{ source: [0xCBB3], NFC: [0xCBB3], NFD: [0x110D, 0x1171, 0x11BE], NFKC: [0xCBB3], NFKD: [0x110D, 0x1171, 0x11BE] }, -{ source: [0xCBB4], NFC: [0xCBB4], NFD: [0x110D, 0x1171, 0x11BF], NFKC: [0xCBB4], NFKD: [0x110D, 0x1171, 0x11BF] }, -{ source: [0xCBB5], NFC: [0xCBB5], NFD: [0x110D, 0x1171, 0x11C0], NFKC: [0xCBB5], NFKD: [0x110D, 0x1171, 0x11C0] }, -{ source: [0xCBB6], NFC: [0xCBB6], NFD: [0x110D, 0x1171, 0x11C1], NFKC: [0xCBB6], NFKD: [0x110D, 0x1171, 0x11C1] }, -{ source: [0xCBB7], NFC: [0xCBB7], NFD: [0x110D, 0x1171, 0x11C2], NFKC: [0xCBB7], NFKD: [0x110D, 0x1171, 0x11C2] }, -{ source: [0xCBB8], NFC: [0xCBB8], NFD: [0x110D, 0x1172], NFKC: [0xCBB8], NFKD: [0x110D, 0x1172] }, -{ source: [0xCBB9], NFC: [0xCBB9], NFD: [0x110D, 0x1172, 0x11A8], NFKC: [0xCBB9], NFKD: [0x110D, 0x1172, 0x11A8] }, -{ source: [0xCBBA], NFC: [0xCBBA], NFD: [0x110D, 0x1172, 0x11A9], NFKC: [0xCBBA], NFKD: [0x110D, 0x1172, 0x11A9] }, -{ source: [0xCBBB], NFC: [0xCBBB], NFD: [0x110D, 0x1172, 0x11AA], NFKC: [0xCBBB], NFKD: [0x110D, 0x1172, 0x11AA] }, -{ source: [0xCBBC], NFC: [0xCBBC], NFD: [0x110D, 0x1172, 0x11AB], NFKC: [0xCBBC], NFKD: [0x110D, 0x1172, 0x11AB] }, -{ source: [0xCBBD], NFC: [0xCBBD], NFD: [0x110D, 0x1172, 0x11AC], NFKC: [0xCBBD], NFKD: [0x110D, 0x1172, 0x11AC] }, -{ source: [0xCBBE], NFC: [0xCBBE], NFD: [0x110D, 0x1172, 0x11AD], NFKC: [0xCBBE], NFKD: [0x110D, 0x1172, 0x11AD] }, -{ source: [0xCBBF], NFC: [0xCBBF], NFD: [0x110D, 0x1172, 0x11AE], NFKC: [0xCBBF], NFKD: [0x110D, 0x1172, 0x11AE] }, -{ source: [0xCBC0], NFC: [0xCBC0], NFD: [0x110D, 0x1172, 0x11AF], NFKC: [0xCBC0], NFKD: [0x110D, 0x1172, 0x11AF] }, -{ source: [0xCBC1], NFC: [0xCBC1], NFD: [0x110D, 0x1172, 0x11B0], NFKC: [0xCBC1], NFKD: [0x110D, 0x1172, 0x11B0] }, -{ source: [0xCBC2], NFC: [0xCBC2], NFD: [0x110D, 0x1172, 0x11B1], NFKC: [0xCBC2], NFKD: [0x110D, 0x1172, 0x11B1] }, -{ source: [0xCBC3], NFC: [0xCBC3], NFD: [0x110D, 0x1172, 0x11B2], NFKC: [0xCBC3], NFKD: [0x110D, 0x1172, 0x11B2] }, -{ source: [0xCBC4], NFC: [0xCBC4], NFD: [0x110D, 0x1172, 0x11B3], NFKC: [0xCBC4], NFKD: [0x110D, 0x1172, 0x11B3] }, -{ source: [0xCBC5], NFC: [0xCBC5], NFD: [0x110D, 0x1172, 0x11B4], NFKC: [0xCBC5], NFKD: [0x110D, 0x1172, 0x11B4] }, -{ source: [0xCBC6], NFC: [0xCBC6], NFD: [0x110D, 0x1172, 0x11B5], NFKC: [0xCBC6], NFKD: [0x110D, 0x1172, 0x11B5] }, -{ source: [0xCBC7], NFC: [0xCBC7], NFD: [0x110D, 0x1172, 0x11B6], NFKC: [0xCBC7], NFKD: [0x110D, 0x1172, 0x11B6] }, -{ source: [0xCBC8], NFC: [0xCBC8], NFD: [0x110D, 0x1172, 0x11B7], NFKC: [0xCBC8], NFKD: [0x110D, 0x1172, 0x11B7] }, -{ source: [0xCBC9], NFC: [0xCBC9], NFD: [0x110D, 0x1172, 0x11B8], NFKC: [0xCBC9], NFKD: [0x110D, 0x1172, 0x11B8] }, -{ source: [0xCBCA], NFC: [0xCBCA], NFD: [0x110D, 0x1172, 0x11B9], NFKC: [0xCBCA], NFKD: [0x110D, 0x1172, 0x11B9] }, -{ source: [0xCBCB], NFC: [0xCBCB], NFD: [0x110D, 0x1172, 0x11BA], NFKC: [0xCBCB], NFKD: [0x110D, 0x1172, 0x11BA] }, -{ source: [0xCBCC], NFC: [0xCBCC], NFD: [0x110D, 0x1172, 0x11BB], NFKC: [0xCBCC], NFKD: [0x110D, 0x1172, 0x11BB] }, -{ source: [0xCBCD], NFC: [0xCBCD], NFD: [0x110D, 0x1172, 0x11BC], NFKC: [0xCBCD], NFKD: [0x110D, 0x1172, 0x11BC] }, -{ source: [0xCBCE], NFC: [0xCBCE], NFD: [0x110D, 0x1172, 0x11BD], NFKC: [0xCBCE], NFKD: [0x110D, 0x1172, 0x11BD] }, -{ source: [0xCBCF], NFC: [0xCBCF], NFD: [0x110D, 0x1172, 0x11BE], NFKC: [0xCBCF], NFKD: [0x110D, 0x1172, 0x11BE] }, -{ source: [0xCBD0], NFC: [0xCBD0], NFD: [0x110D, 0x1172, 0x11BF], NFKC: [0xCBD0], NFKD: [0x110D, 0x1172, 0x11BF] }, -{ source: [0xCBD1], NFC: [0xCBD1], NFD: [0x110D, 0x1172, 0x11C0], NFKC: [0xCBD1], NFKD: [0x110D, 0x1172, 0x11C0] }, -{ source: [0xCBD2], NFC: [0xCBD2], NFD: [0x110D, 0x1172, 0x11C1], NFKC: [0xCBD2], NFKD: [0x110D, 0x1172, 0x11C1] }, -{ source: [0xCBD3], NFC: [0xCBD3], NFD: [0x110D, 0x1172, 0x11C2], NFKC: [0xCBD3], NFKD: [0x110D, 0x1172, 0x11C2] }, -{ source: [0xCBD4], NFC: [0xCBD4], NFD: [0x110D, 0x1173], NFKC: [0xCBD4], NFKD: [0x110D, 0x1173] }, -{ source: [0xCBD5], NFC: [0xCBD5], NFD: [0x110D, 0x1173, 0x11A8], NFKC: [0xCBD5], NFKD: [0x110D, 0x1173, 0x11A8] }, -{ source: [0xCBD6], NFC: [0xCBD6], NFD: [0x110D, 0x1173, 0x11A9], NFKC: [0xCBD6], NFKD: [0x110D, 0x1173, 0x11A9] }, -{ source: [0xCBD7], NFC: [0xCBD7], NFD: [0x110D, 0x1173, 0x11AA], NFKC: [0xCBD7], NFKD: [0x110D, 0x1173, 0x11AA] }, -{ source: [0xCBD8], NFC: [0xCBD8], NFD: [0x110D, 0x1173, 0x11AB], NFKC: [0xCBD8], NFKD: [0x110D, 0x1173, 0x11AB] }, -{ source: [0xCBD9], NFC: [0xCBD9], NFD: [0x110D, 0x1173, 0x11AC], NFKC: [0xCBD9], NFKD: [0x110D, 0x1173, 0x11AC] }, -{ source: [0xCBDA], NFC: [0xCBDA], NFD: [0x110D, 0x1173, 0x11AD], NFKC: [0xCBDA], NFKD: [0x110D, 0x1173, 0x11AD] }, -{ source: [0xCBDB], NFC: [0xCBDB], NFD: [0x110D, 0x1173, 0x11AE], NFKC: [0xCBDB], NFKD: [0x110D, 0x1173, 0x11AE] }, -{ source: [0xCBDC], NFC: [0xCBDC], NFD: [0x110D, 0x1173, 0x11AF], NFKC: [0xCBDC], NFKD: [0x110D, 0x1173, 0x11AF] }, -{ source: [0xCBDD], NFC: [0xCBDD], NFD: [0x110D, 0x1173, 0x11B0], NFKC: [0xCBDD], NFKD: [0x110D, 0x1173, 0x11B0] }, -{ source: [0xCBDE], NFC: [0xCBDE], NFD: [0x110D, 0x1173, 0x11B1], NFKC: [0xCBDE], NFKD: [0x110D, 0x1173, 0x11B1] }, -{ source: [0xCBDF], NFC: [0xCBDF], NFD: [0x110D, 0x1173, 0x11B2], NFKC: [0xCBDF], NFKD: [0x110D, 0x1173, 0x11B2] }, -{ source: [0xCBE0], NFC: [0xCBE0], NFD: [0x110D, 0x1173, 0x11B3], NFKC: [0xCBE0], NFKD: [0x110D, 0x1173, 0x11B3] }, -{ source: [0xCBE1], NFC: [0xCBE1], NFD: [0x110D, 0x1173, 0x11B4], NFKC: [0xCBE1], NFKD: [0x110D, 0x1173, 0x11B4] }, -{ source: [0xCBE2], NFC: [0xCBE2], NFD: [0x110D, 0x1173, 0x11B5], NFKC: [0xCBE2], NFKD: [0x110D, 0x1173, 0x11B5] }, -{ source: [0xCBE3], NFC: [0xCBE3], NFD: [0x110D, 0x1173, 0x11B6], NFKC: [0xCBE3], NFKD: [0x110D, 0x1173, 0x11B6] }, -{ source: [0xCBE4], NFC: [0xCBE4], NFD: [0x110D, 0x1173, 0x11B7], NFKC: [0xCBE4], NFKD: [0x110D, 0x1173, 0x11B7] }, -{ source: [0xCBE5], NFC: [0xCBE5], NFD: [0x110D, 0x1173, 0x11B8], NFKC: [0xCBE5], NFKD: [0x110D, 0x1173, 0x11B8] }, -{ source: [0xCBE6], NFC: [0xCBE6], NFD: [0x110D, 0x1173, 0x11B9], NFKC: [0xCBE6], NFKD: [0x110D, 0x1173, 0x11B9] }, -{ source: [0xCBE7], NFC: [0xCBE7], NFD: [0x110D, 0x1173, 0x11BA], NFKC: [0xCBE7], NFKD: [0x110D, 0x1173, 0x11BA] }, -{ source: [0xCBE8], NFC: [0xCBE8], NFD: [0x110D, 0x1173, 0x11BB], NFKC: [0xCBE8], NFKD: [0x110D, 0x1173, 0x11BB] }, -{ source: [0xCBE9], NFC: [0xCBE9], NFD: [0x110D, 0x1173, 0x11BC], NFKC: [0xCBE9], NFKD: [0x110D, 0x1173, 0x11BC] }, -{ source: [0xCBEA], NFC: [0xCBEA], NFD: [0x110D, 0x1173, 0x11BD], NFKC: [0xCBEA], NFKD: [0x110D, 0x1173, 0x11BD] }, -{ source: [0xCBEB], NFC: [0xCBEB], NFD: [0x110D, 0x1173, 0x11BE], NFKC: [0xCBEB], NFKD: [0x110D, 0x1173, 0x11BE] }, -{ source: [0xCBEC], NFC: [0xCBEC], NFD: [0x110D, 0x1173, 0x11BF], NFKC: [0xCBEC], NFKD: [0x110D, 0x1173, 0x11BF] }, -{ source: [0xCBED], NFC: [0xCBED], NFD: [0x110D, 0x1173, 0x11C0], NFKC: [0xCBED], NFKD: [0x110D, 0x1173, 0x11C0] }, -{ source: [0xCBEE], NFC: [0xCBEE], NFD: [0x110D, 0x1173, 0x11C1], NFKC: [0xCBEE], NFKD: [0x110D, 0x1173, 0x11C1] }, -{ source: [0xCBEF], NFC: [0xCBEF], NFD: [0x110D, 0x1173, 0x11C2], NFKC: [0xCBEF], NFKD: [0x110D, 0x1173, 0x11C2] }, -{ source: [0xCBF0], NFC: [0xCBF0], NFD: [0x110D, 0x1174], NFKC: [0xCBF0], NFKD: [0x110D, 0x1174] }, -{ source: [0xCBF1], NFC: [0xCBF1], NFD: [0x110D, 0x1174, 0x11A8], NFKC: [0xCBF1], NFKD: [0x110D, 0x1174, 0x11A8] }, -{ source: [0xCBF2], NFC: [0xCBF2], NFD: [0x110D, 0x1174, 0x11A9], NFKC: [0xCBF2], NFKD: [0x110D, 0x1174, 0x11A9] }, -{ source: [0xCBF3], NFC: [0xCBF3], NFD: [0x110D, 0x1174, 0x11AA], NFKC: [0xCBF3], NFKD: [0x110D, 0x1174, 0x11AA] }, -{ source: [0xCBF4], NFC: [0xCBF4], NFD: [0x110D, 0x1174, 0x11AB], NFKC: [0xCBF4], NFKD: [0x110D, 0x1174, 0x11AB] }, -{ source: [0xCBF5], NFC: [0xCBF5], NFD: [0x110D, 0x1174, 0x11AC], NFKC: [0xCBF5], NFKD: [0x110D, 0x1174, 0x11AC] }, -{ source: [0xCBF6], NFC: [0xCBF6], NFD: [0x110D, 0x1174, 0x11AD], NFKC: [0xCBF6], NFKD: [0x110D, 0x1174, 0x11AD] }, -{ source: [0xCBF7], NFC: [0xCBF7], NFD: [0x110D, 0x1174, 0x11AE], NFKC: [0xCBF7], NFKD: [0x110D, 0x1174, 0x11AE] }, -{ source: [0xCBF8], NFC: [0xCBF8], NFD: [0x110D, 0x1174, 0x11AF], NFKC: [0xCBF8], NFKD: [0x110D, 0x1174, 0x11AF] }, -{ source: [0xCBF9], NFC: [0xCBF9], NFD: [0x110D, 0x1174, 0x11B0], NFKC: [0xCBF9], NFKD: [0x110D, 0x1174, 0x11B0] }, -{ source: [0xCBFA], NFC: [0xCBFA], NFD: [0x110D, 0x1174, 0x11B1], NFKC: [0xCBFA], NFKD: [0x110D, 0x1174, 0x11B1] }, -{ source: [0xCBFB], NFC: [0xCBFB], NFD: [0x110D, 0x1174, 0x11B2], NFKC: [0xCBFB], NFKD: [0x110D, 0x1174, 0x11B2] }, -{ source: [0xCBFC], NFC: [0xCBFC], NFD: [0x110D, 0x1174, 0x11B3], NFKC: [0xCBFC], NFKD: [0x110D, 0x1174, 0x11B3] }, -{ source: [0xCBFD], NFC: [0xCBFD], NFD: [0x110D, 0x1174, 0x11B4], NFKC: [0xCBFD], NFKD: [0x110D, 0x1174, 0x11B4] }, -{ source: [0xCBFE], NFC: [0xCBFE], NFD: [0x110D, 0x1174, 0x11B5], NFKC: [0xCBFE], NFKD: [0x110D, 0x1174, 0x11B5] }, -{ source: [0xCBFF], NFC: [0xCBFF], NFD: [0x110D, 0x1174, 0x11B6], NFKC: [0xCBFF], NFKD: [0x110D, 0x1174, 0x11B6] }, -{ source: [0xCC00], NFC: [0xCC00], NFD: [0x110D, 0x1174, 0x11B7], NFKC: [0xCC00], NFKD: [0x110D, 0x1174, 0x11B7] }, -{ source: [0xCC01], NFC: [0xCC01], NFD: [0x110D, 0x1174, 0x11B8], NFKC: [0xCC01], NFKD: [0x110D, 0x1174, 0x11B8] }, -{ source: [0xCC02], NFC: [0xCC02], NFD: [0x110D, 0x1174, 0x11B9], NFKC: [0xCC02], NFKD: [0x110D, 0x1174, 0x11B9] }, -{ source: [0xCC03], NFC: [0xCC03], NFD: [0x110D, 0x1174, 0x11BA], NFKC: [0xCC03], NFKD: [0x110D, 0x1174, 0x11BA] }, -{ source: [0xCC04], NFC: [0xCC04], NFD: [0x110D, 0x1174, 0x11BB], NFKC: [0xCC04], NFKD: [0x110D, 0x1174, 0x11BB] }, -{ source: [0xCC05], NFC: [0xCC05], NFD: [0x110D, 0x1174, 0x11BC], NFKC: [0xCC05], NFKD: [0x110D, 0x1174, 0x11BC] }, -{ source: [0xCC06], NFC: [0xCC06], NFD: [0x110D, 0x1174, 0x11BD], NFKC: [0xCC06], NFKD: [0x110D, 0x1174, 0x11BD] }, -{ source: [0xCC07], NFC: [0xCC07], NFD: [0x110D, 0x1174, 0x11BE], NFKC: [0xCC07], NFKD: [0x110D, 0x1174, 0x11BE] }, -{ source: [0xCC08], NFC: [0xCC08], NFD: [0x110D, 0x1174, 0x11BF], NFKC: [0xCC08], NFKD: [0x110D, 0x1174, 0x11BF] }, -{ source: [0xCC09], NFC: [0xCC09], NFD: [0x110D, 0x1174, 0x11C0], NFKC: [0xCC09], NFKD: [0x110D, 0x1174, 0x11C0] }, -{ source: [0xCC0A], NFC: [0xCC0A], NFD: [0x110D, 0x1174, 0x11C1], NFKC: [0xCC0A], NFKD: [0x110D, 0x1174, 0x11C1] }, -{ source: [0xCC0B], NFC: [0xCC0B], NFD: [0x110D, 0x1174, 0x11C2], NFKC: [0xCC0B], NFKD: [0x110D, 0x1174, 0x11C2] }, -{ source: [0xCC0C], NFC: [0xCC0C], NFD: [0x110D, 0x1175], NFKC: [0xCC0C], NFKD: [0x110D, 0x1175] }, -{ source: [0xCC0D], NFC: [0xCC0D], NFD: [0x110D, 0x1175, 0x11A8], NFKC: [0xCC0D], NFKD: [0x110D, 0x1175, 0x11A8] }, -{ source: [0xCC0E], NFC: [0xCC0E], NFD: [0x110D, 0x1175, 0x11A9], NFKC: [0xCC0E], NFKD: [0x110D, 0x1175, 0x11A9] }, -{ source: [0xCC0F], NFC: [0xCC0F], NFD: [0x110D, 0x1175, 0x11AA], NFKC: [0xCC0F], NFKD: [0x110D, 0x1175, 0x11AA] }, -{ source: [0xCC10], NFC: [0xCC10], NFD: [0x110D, 0x1175, 0x11AB], NFKC: [0xCC10], NFKD: [0x110D, 0x1175, 0x11AB] }, -{ source: [0xCC11], NFC: [0xCC11], NFD: [0x110D, 0x1175, 0x11AC], NFKC: [0xCC11], NFKD: [0x110D, 0x1175, 0x11AC] }, -{ source: [0xCC12], NFC: [0xCC12], NFD: [0x110D, 0x1175, 0x11AD], NFKC: [0xCC12], NFKD: [0x110D, 0x1175, 0x11AD] }, -{ source: [0xCC13], NFC: [0xCC13], NFD: [0x110D, 0x1175, 0x11AE], NFKC: [0xCC13], NFKD: [0x110D, 0x1175, 0x11AE] }, -{ source: [0xCC14], NFC: [0xCC14], NFD: [0x110D, 0x1175, 0x11AF], NFKC: [0xCC14], NFKD: [0x110D, 0x1175, 0x11AF] }, -{ source: [0xCC15], NFC: [0xCC15], NFD: [0x110D, 0x1175, 0x11B0], NFKC: [0xCC15], NFKD: [0x110D, 0x1175, 0x11B0] }, -{ source: [0xCC16], NFC: [0xCC16], NFD: [0x110D, 0x1175, 0x11B1], NFKC: [0xCC16], NFKD: [0x110D, 0x1175, 0x11B1] }, -{ source: [0xCC17], NFC: [0xCC17], NFD: [0x110D, 0x1175, 0x11B2], NFKC: [0xCC17], NFKD: [0x110D, 0x1175, 0x11B2] }, -{ source: [0xCC18], NFC: [0xCC18], NFD: [0x110D, 0x1175, 0x11B3], NFKC: [0xCC18], NFKD: [0x110D, 0x1175, 0x11B3] }, -{ source: [0xCC19], NFC: [0xCC19], NFD: [0x110D, 0x1175, 0x11B4], NFKC: [0xCC19], NFKD: [0x110D, 0x1175, 0x11B4] }, -{ source: [0xCC1A], NFC: [0xCC1A], NFD: [0x110D, 0x1175, 0x11B5], NFKC: [0xCC1A], NFKD: [0x110D, 0x1175, 0x11B5] }, -{ source: [0xCC1B], NFC: [0xCC1B], NFD: [0x110D, 0x1175, 0x11B6], NFKC: [0xCC1B], NFKD: [0x110D, 0x1175, 0x11B6] }, -{ source: [0xCC1C], NFC: [0xCC1C], NFD: [0x110D, 0x1175, 0x11B7], NFKC: [0xCC1C], NFKD: [0x110D, 0x1175, 0x11B7] }, -{ source: [0xCC1D], NFC: [0xCC1D], NFD: [0x110D, 0x1175, 0x11B8], NFKC: [0xCC1D], NFKD: [0x110D, 0x1175, 0x11B8] }, -{ source: [0xCC1E], NFC: [0xCC1E], NFD: [0x110D, 0x1175, 0x11B9], NFKC: [0xCC1E], NFKD: [0x110D, 0x1175, 0x11B9] }, -{ source: [0xCC1F], NFC: [0xCC1F], NFD: [0x110D, 0x1175, 0x11BA], NFKC: [0xCC1F], NFKD: [0x110D, 0x1175, 0x11BA] }, -{ source: [0xCC20], NFC: [0xCC20], NFD: [0x110D, 0x1175, 0x11BB], NFKC: [0xCC20], NFKD: [0x110D, 0x1175, 0x11BB] }, -{ source: [0xCC21], NFC: [0xCC21], NFD: [0x110D, 0x1175, 0x11BC], NFKC: [0xCC21], NFKD: [0x110D, 0x1175, 0x11BC] }, -{ source: [0xCC22], NFC: [0xCC22], NFD: [0x110D, 0x1175, 0x11BD], NFKC: [0xCC22], NFKD: [0x110D, 0x1175, 0x11BD] }, -{ source: [0xCC23], NFC: [0xCC23], NFD: [0x110D, 0x1175, 0x11BE], NFKC: [0xCC23], NFKD: [0x110D, 0x1175, 0x11BE] }, -{ source: [0xCC24], NFC: [0xCC24], NFD: [0x110D, 0x1175, 0x11BF], NFKC: [0xCC24], NFKD: [0x110D, 0x1175, 0x11BF] }, -{ source: [0xCC25], NFC: [0xCC25], NFD: [0x110D, 0x1175, 0x11C0], NFKC: [0xCC25], NFKD: [0x110D, 0x1175, 0x11C0] }, -{ source: [0xCC26], NFC: [0xCC26], NFD: [0x110D, 0x1175, 0x11C1], NFKC: [0xCC26], NFKD: [0x110D, 0x1175, 0x11C1] }, -{ source: [0xCC27], NFC: [0xCC27], NFD: [0x110D, 0x1175, 0x11C2], NFKC: [0xCC27], NFKD: [0x110D, 0x1175, 0x11C2] }, -{ source: [0xCC28], NFC: [0xCC28], NFD: [0x110E, 0x1161], NFKC: [0xCC28], NFKD: [0x110E, 0x1161] }, -{ source: [0xCC29], NFC: [0xCC29], NFD: [0x110E, 0x1161, 0x11A8], NFKC: [0xCC29], NFKD: [0x110E, 0x1161, 0x11A8] }, -{ source: [0xCC2A], NFC: [0xCC2A], NFD: [0x110E, 0x1161, 0x11A9], NFKC: [0xCC2A], NFKD: [0x110E, 0x1161, 0x11A9] }, -{ source: [0xCC2B], NFC: [0xCC2B], NFD: [0x110E, 0x1161, 0x11AA], NFKC: [0xCC2B], NFKD: [0x110E, 0x1161, 0x11AA] }, -{ source: [0xCC2C], NFC: [0xCC2C], NFD: [0x110E, 0x1161, 0x11AB], NFKC: [0xCC2C], NFKD: [0x110E, 0x1161, 0x11AB] }, -{ source: [0xCC2D], NFC: [0xCC2D], NFD: [0x110E, 0x1161, 0x11AC], NFKC: [0xCC2D], NFKD: [0x110E, 0x1161, 0x11AC] }, -{ source: [0xCC2E], NFC: [0xCC2E], NFD: [0x110E, 0x1161, 0x11AD], NFKC: [0xCC2E], NFKD: [0x110E, 0x1161, 0x11AD] }, -{ source: [0xCC2F], NFC: [0xCC2F], NFD: [0x110E, 0x1161, 0x11AE], NFKC: [0xCC2F], NFKD: [0x110E, 0x1161, 0x11AE] }, -{ source: [0xCC30], NFC: [0xCC30], NFD: [0x110E, 0x1161, 0x11AF], NFKC: [0xCC30], NFKD: [0x110E, 0x1161, 0x11AF] }, -{ source: [0xCC31], NFC: [0xCC31], NFD: [0x110E, 0x1161, 0x11B0], NFKC: [0xCC31], NFKD: [0x110E, 0x1161, 0x11B0] }, -{ source: [0xCC32], NFC: [0xCC32], NFD: [0x110E, 0x1161, 0x11B1], NFKC: [0xCC32], NFKD: [0x110E, 0x1161, 0x11B1] }, -{ source: [0xCC33], NFC: [0xCC33], NFD: [0x110E, 0x1161, 0x11B2], NFKC: [0xCC33], NFKD: [0x110E, 0x1161, 0x11B2] }, -{ source: [0xCC34], NFC: [0xCC34], NFD: [0x110E, 0x1161, 0x11B3], NFKC: [0xCC34], NFKD: [0x110E, 0x1161, 0x11B3] }, -{ source: [0xCC35], NFC: [0xCC35], NFD: [0x110E, 0x1161, 0x11B4], NFKC: [0xCC35], NFKD: [0x110E, 0x1161, 0x11B4] }, -{ source: [0xCC36], NFC: [0xCC36], NFD: [0x110E, 0x1161, 0x11B5], NFKC: [0xCC36], NFKD: [0x110E, 0x1161, 0x11B5] }, -{ source: [0xCC37], NFC: [0xCC37], NFD: [0x110E, 0x1161, 0x11B6], NFKC: [0xCC37], NFKD: [0x110E, 0x1161, 0x11B6] }, -{ source: [0xCC38], NFC: [0xCC38], NFD: [0x110E, 0x1161, 0x11B7], NFKC: [0xCC38], NFKD: [0x110E, 0x1161, 0x11B7] }, -{ source: [0xCC39], NFC: [0xCC39], NFD: [0x110E, 0x1161, 0x11B8], NFKC: [0xCC39], NFKD: [0x110E, 0x1161, 0x11B8] }, -{ source: [0xCC3A], NFC: [0xCC3A], NFD: [0x110E, 0x1161, 0x11B9], NFKC: [0xCC3A], NFKD: [0x110E, 0x1161, 0x11B9] }, -{ source: [0xCC3B], NFC: [0xCC3B], NFD: [0x110E, 0x1161, 0x11BA], NFKC: [0xCC3B], NFKD: [0x110E, 0x1161, 0x11BA] }, -{ source: [0xCC3C], NFC: [0xCC3C], NFD: [0x110E, 0x1161, 0x11BB], NFKC: [0xCC3C], NFKD: [0x110E, 0x1161, 0x11BB] }, -{ source: [0xCC3D], NFC: [0xCC3D], NFD: [0x110E, 0x1161, 0x11BC], NFKC: [0xCC3D], NFKD: [0x110E, 0x1161, 0x11BC] }, -{ source: [0xCC3E], NFC: [0xCC3E], NFD: [0x110E, 0x1161, 0x11BD], NFKC: [0xCC3E], NFKD: [0x110E, 0x1161, 0x11BD] }, -{ source: [0xCC3F], NFC: [0xCC3F], NFD: [0x110E, 0x1161, 0x11BE], NFKC: [0xCC3F], NFKD: [0x110E, 0x1161, 0x11BE] }, -{ source: [0xCC40], NFC: [0xCC40], NFD: [0x110E, 0x1161, 0x11BF], NFKC: [0xCC40], NFKD: [0x110E, 0x1161, 0x11BF] }, -{ source: [0xCC41], NFC: [0xCC41], NFD: [0x110E, 0x1161, 0x11C0], NFKC: [0xCC41], NFKD: [0x110E, 0x1161, 0x11C0] }, -{ source: [0xCC42], NFC: [0xCC42], NFD: [0x110E, 0x1161, 0x11C1], NFKC: [0xCC42], NFKD: [0x110E, 0x1161, 0x11C1] }, -{ source: [0xCC43], NFC: [0xCC43], NFD: [0x110E, 0x1161, 0x11C2], NFKC: [0xCC43], NFKD: [0x110E, 0x1161, 0x11C2] }, -{ source: [0xCC44], NFC: [0xCC44], NFD: [0x110E, 0x1162], NFKC: [0xCC44], NFKD: [0x110E, 0x1162] }, -{ source: [0xCC45], NFC: [0xCC45], NFD: [0x110E, 0x1162, 0x11A8], NFKC: [0xCC45], NFKD: [0x110E, 0x1162, 0x11A8] }, -{ source: [0xCC46], NFC: [0xCC46], NFD: [0x110E, 0x1162, 0x11A9], NFKC: [0xCC46], NFKD: [0x110E, 0x1162, 0x11A9] }, -{ source: [0xCC47], NFC: [0xCC47], NFD: [0x110E, 0x1162, 0x11AA], NFKC: [0xCC47], NFKD: [0x110E, 0x1162, 0x11AA] }, -{ source: [0xCC48], NFC: [0xCC48], NFD: [0x110E, 0x1162, 0x11AB], NFKC: [0xCC48], NFKD: [0x110E, 0x1162, 0x11AB] }, -{ source: [0xCC49], NFC: [0xCC49], NFD: [0x110E, 0x1162, 0x11AC], NFKC: [0xCC49], NFKD: [0x110E, 0x1162, 0x11AC] }, -{ source: [0xCC4A], NFC: [0xCC4A], NFD: [0x110E, 0x1162, 0x11AD], NFKC: [0xCC4A], NFKD: [0x110E, 0x1162, 0x11AD] }, -{ source: [0xCC4B], NFC: [0xCC4B], NFD: [0x110E, 0x1162, 0x11AE], NFKC: [0xCC4B], NFKD: [0x110E, 0x1162, 0x11AE] }, -{ source: [0xCC4C], NFC: [0xCC4C], NFD: [0x110E, 0x1162, 0x11AF], NFKC: [0xCC4C], NFKD: [0x110E, 0x1162, 0x11AF] }, -{ source: [0xCC4D], NFC: [0xCC4D], NFD: [0x110E, 0x1162, 0x11B0], NFKC: [0xCC4D], NFKD: [0x110E, 0x1162, 0x11B0] }, -{ source: [0xCC4E], NFC: [0xCC4E], NFD: [0x110E, 0x1162, 0x11B1], NFKC: [0xCC4E], NFKD: [0x110E, 0x1162, 0x11B1] }, -{ source: [0xCC4F], NFC: [0xCC4F], NFD: [0x110E, 0x1162, 0x11B2], NFKC: [0xCC4F], NFKD: [0x110E, 0x1162, 0x11B2] }, -{ source: [0xCC50], NFC: [0xCC50], NFD: [0x110E, 0x1162, 0x11B3], NFKC: [0xCC50], NFKD: [0x110E, 0x1162, 0x11B3] }, -{ source: [0xCC51], NFC: [0xCC51], NFD: [0x110E, 0x1162, 0x11B4], NFKC: [0xCC51], NFKD: [0x110E, 0x1162, 0x11B4] }, -{ source: [0xCC52], NFC: [0xCC52], NFD: [0x110E, 0x1162, 0x11B5], NFKC: [0xCC52], NFKD: [0x110E, 0x1162, 0x11B5] }, -{ source: [0xCC53], NFC: [0xCC53], NFD: [0x110E, 0x1162, 0x11B6], NFKC: [0xCC53], NFKD: [0x110E, 0x1162, 0x11B6] }, -{ source: [0xCC54], NFC: [0xCC54], NFD: [0x110E, 0x1162, 0x11B7], NFKC: [0xCC54], NFKD: [0x110E, 0x1162, 0x11B7] }, -{ source: [0xCC55], NFC: [0xCC55], NFD: [0x110E, 0x1162, 0x11B8], NFKC: [0xCC55], NFKD: [0x110E, 0x1162, 0x11B8] }, -{ source: [0xCC56], NFC: [0xCC56], NFD: [0x110E, 0x1162, 0x11B9], NFKC: [0xCC56], NFKD: [0x110E, 0x1162, 0x11B9] }, -{ source: [0xCC57], NFC: [0xCC57], NFD: [0x110E, 0x1162, 0x11BA], NFKC: [0xCC57], NFKD: [0x110E, 0x1162, 0x11BA] }, -{ source: [0xCC58], NFC: [0xCC58], NFD: [0x110E, 0x1162, 0x11BB], NFKC: [0xCC58], NFKD: [0x110E, 0x1162, 0x11BB] }, -{ source: [0xCC59], NFC: [0xCC59], NFD: [0x110E, 0x1162, 0x11BC], NFKC: [0xCC59], NFKD: [0x110E, 0x1162, 0x11BC] }, -{ source: [0xCC5A], NFC: [0xCC5A], NFD: [0x110E, 0x1162, 0x11BD], NFKC: [0xCC5A], NFKD: [0x110E, 0x1162, 0x11BD] }, -{ source: [0xCC5B], NFC: [0xCC5B], NFD: [0x110E, 0x1162, 0x11BE], NFKC: [0xCC5B], NFKD: [0x110E, 0x1162, 0x11BE] }, -{ source: [0xCC5C], NFC: [0xCC5C], NFD: [0x110E, 0x1162, 0x11BF], NFKC: [0xCC5C], NFKD: [0x110E, 0x1162, 0x11BF] }, -{ source: [0xCC5D], NFC: [0xCC5D], NFD: [0x110E, 0x1162, 0x11C0], NFKC: [0xCC5D], NFKD: [0x110E, 0x1162, 0x11C0] }, -{ source: [0xCC5E], NFC: [0xCC5E], NFD: [0x110E, 0x1162, 0x11C1], NFKC: [0xCC5E], NFKD: [0x110E, 0x1162, 0x11C1] }, -{ source: [0xCC5F], NFC: [0xCC5F], NFD: [0x110E, 0x1162, 0x11C2], NFKC: [0xCC5F], NFKD: [0x110E, 0x1162, 0x11C2] }, -{ source: [0xCC60], NFC: [0xCC60], NFD: [0x110E, 0x1163], NFKC: [0xCC60], NFKD: [0x110E, 0x1163] }, -{ source: [0xCC61], NFC: [0xCC61], NFD: [0x110E, 0x1163, 0x11A8], NFKC: [0xCC61], NFKD: [0x110E, 0x1163, 0x11A8] }, -{ source: [0xCC62], NFC: [0xCC62], NFD: [0x110E, 0x1163, 0x11A9], NFKC: [0xCC62], NFKD: [0x110E, 0x1163, 0x11A9] }, -{ source: [0xCC63], NFC: [0xCC63], NFD: [0x110E, 0x1163, 0x11AA], NFKC: [0xCC63], NFKD: [0x110E, 0x1163, 0x11AA] }, -{ source: [0xCC64], NFC: [0xCC64], NFD: [0x110E, 0x1163, 0x11AB], NFKC: [0xCC64], NFKD: [0x110E, 0x1163, 0x11AB] }, -{ source: [0xCC65], NFC: [0xCC65], NFD: [0x110E, 0x1163, 0x11AC], NFKC: [0xCC65], NFKD: [0x110E, 0x1163, 0x11AC] }, -{ source: [0xCC66], NFC: [0xCC66], NFD: [0x110E, 0x1163, 0x11AD], NFKC: [0xCC66], NFKD: [0x110E, 0x1163, 0x11AD] }, -{ source: [0xCC67], NFC: [0xCC67], NFD: [0x110E, 0x1163, 0x11AE], NFKC: [0xCC67], NFKD: [0x110E, 0x1163, 0x11AE] }, -{ source: [0xCC68], NFC: [0xCC68], NFD: [0x110E, 0x1163, 0x11AF], NFKC: [0xCC68], NFKD: [0x110E, 0x1163, 0x11AF] }, -{ source: [0xCC69], NFC: [0xCC69], NFD: [0x110E, 0x1163, 0x11B0], NFKC: [0xCC69], NFKD: [0x110E, 0x1163, 0x11B0] }, -{ source: [0xCC6A], NFC: [0xCC6A], NFD: [0x110E, 0x1163, 0x11B1], NFKC: [0xCC6A], NFKD: [0x110E, 0x1163, 0x11B1] }, -{ source: [0xCC6B], NFC: [0xCC6B], NFD: [0x110E, 0x1163, 0x11B2], NFKC: [0xCC6B], NFKD: [0x110E, 0x1163, 0x11B2] }, -{ source: [0xCC6C], NFC: [0xCC6C], NFD: [0x110E, 0x1163, 0x11B3], NFKC: [0xCC6C], NFKD: [0x110E, 0x1163, 0x11B3] }, -{ source: [0xCC6D], NFC: [0xCC6D], NFD: [0x110E, 0x1163, 0x11B4], NFKC: [0xCC6D], NFKD: [0x110E, 0x1163, 0x11B4] }, -{ source: [0xCC6E], NFC: [0xCC6E], NFD: [0x110E, 0x1163, 0x11B5], NFKC: [0xCC6E], NFKD: [0x110E, 0x1163, 0x11B5] }, -{ source: [0xCC6F], NFC: [0xCC6F], NFD: [0x110E, 0x1163, 0x11B6], NFKC: [0xCC6F], NFKD: [0x110E, 0x1163, 0x11B6] }, -{ source: [0xCC70], NFC: [0xCC70], NFD: [0x110E, 0x1163, 0x11B7], NFKC: [0xCC70], NFKD: [0x110E, 0x1163, 0x11B7] }, -{ source: [0xCC71], NFC: [0xCC71], NFD: [0x110E, 0x1163, 0x11B8], NFKC: [0xCC71], NFKD: [0x110E, 0x1163, 0x11B8] }, -{ source: [0xCC72], NFC: [0xCC72], NFD: [0x110E, 0x1163, 0x11B9], NFKC: [0xCC72], NFKD: [0x110E, 0x1163, 0x11B9] }, -{ source: [0xCC73], NFC: [0xCC73], NFD: [0x110E, 0x1163, 0x11BA], NFKC: [0xCC73], NFKD: [0x110E, 0x1163, 0x11BA] }, -{ source: [0xCC74], NFC: [0xCC74], NFD: [0x110E, 0x1163, 0x11BB], NFKC: [0xCC74], NFKD: [0x110E, 0x1163, 0x11BB] }, -{ source: [0xCC75], NFC: [0xCC75], NFD: [0x110E, 0x1163, 0x11BC], NFKC: [0xCC75], NFKD: [0x110E, 0x1163, 0x11BC] }, -{ source: [0xCC76], NFC: [0xCC76], NFD: [0x110E, 0x1163, 0x11BD], NFKC: [0xCC76], NFKD: [0x110E, 0x1163, 0x11BD] }, -{ source: [0xCC77], NFC: [0xCC77], NFD: [0x110E, 0x1163, 0x11BE], NFKC: [0xCC77], NFKD: [0x110E, 0x1163, 0x11BE] }, -{ source: [0xCC78], NFC: [0xCC78], NFD: [0x110E, 0x1163, 0x11BF], NFKC: [0xCC78], NFKD: [0x110E, 0x1163, 0x11BF] }, -{ source: [0xCC79], NFC: [0xCC79], NFD: [0x110E, 0x1163, 0x11C0], NFKC: [0xCC79], NFKD: [0x110E, 0x1163, 0x11C0] }, -{ source: [0xCC7A], NFC: [0xCC7A], NFD: [0x110E, 0x1163, 0x11C1], NFKC: [0xCC7A], NFKD: [0x110E, 0x1163, 0x11C1] }, -{ source: [0xCC7B], NFC: [0xCC7B], NFD: [0x110E, 0x1163, 0x11C2], NFKC: [0xCC7B], NFKD: [0x110E, 0x1163, 0x11C2] }, -{ source: [0xCC7C], NFC: [0xCC7C], NFD: [0x110E, 0x1164], NFKC: [0xCC7C], NFKD: [0x110E, 0x1164] }, -{ source: [0xCC7D], NFC: [0xCC7D], NFD: [0x110E, 0x1164, 0x11A8], NFKC: [0xCC7D], NFKD: [0x110E, 0x1164, 0x11A8] }, -{ source: [0xCC7E], NFC: [0xCC7E], NFD: [0x110E, 0x1164, 0x11A9], NFKC: [0xCC7E], NFKD: [0x110E, 0x1164, 0x11A9] }, -{ source: [0xCC7F], NFC: [0xCC7F], NFD: [0x110E, 0x1164, 0x11AA], NFKC: [0xCC7F], NFKD: [0x110E, 0x1164, 0x11AA] }, -{ source: [0xCC80], NFC: [0xCC80], NFD: [0x110E, 0x1164, 0x11AB], NFKC: [0xCC80], NFKD: [0x110E, 0x1164, 0x11AB] }, -{ source: [0xCC81], NFC: [0xCC81], NFD: [0x110E, 0x1164, 0x11AC], NFKC: [0xCC81], NFKD: [0x110E, 0x1164, 0x11AC] }, -{ source: [0xCC82], NFC: [0xCC82], NFD: [0x110E, 0x1164, 0x11AD], NFKC: [0xCC82], NFKD: [0x110E, 0x1164, 0x11AD] }, -{ source: [0xCC83], NFC: [0xCC83], NFD: [0x110E, 0x1164, 0x11AE], NFKC: [0xCC83], NFKD: [0x110E, 0x1164, 0x11AE] }, -{ source: [0xCC84], NFC: [0xCC84], NFD: [0x110E, 0x1164, 0x11AF], NFKC: [0xCC84], NFKD: [0x110E, 0x1164, 0x11AF] }, -{ source: [0xCC85], NFC: [0xCC85], NFD: [0x110E, 0x1164, 0x11B0], NFKC: [0xCC85], NFKD: [0x110E, 0x1164, 0x11B0] }, -{ source: [0xCC86], NFC: [0xCC86], NFD: [0x110E, 0x1164, 0x11B1], NFKC: [0xCC86], NFKD: [0x110E, 0x1164, 0x11B1] }, -{ source: [0xCC87], NFC: [0xCC87], NFD: [0x110E, 0x1164, 0x11B2], NFKC: [0xCC87], NFKD: [0x110E, 0x1164, 0x11B2] }, -{ source: [0xCC88], NFC: [0xCC88], NFD: [0x110E, 0x1164, 0x11B3], NFKC: [0xCC88], NFKD: [0x110E, 0x1164, 0x11B3] }, -{ source: [0xCC89], NFC: [0xCC89], NFD: [0x110E, 0x1164, 0x11B4], NFKC: [0xCC89], NFKD: [0x110E, 0x1164, 0x11B4] }, -{ source: [0xCC8A], NFC: [0xCC8A], NFD: [0x110E, 0x1164, 0x11B5], NFKC: [0xCC8A], NFKD: [0x110E, 0x1164, 0x11B5] }, -{ source: [0xCC8B], NFC: [0xCC8B], NFD: [0x110E, 0x1164, 0x11B6], NFKC: [0xCC8B], NFKD: [0x110E, 0x1164, 0x11B6] }, -{ source: [0xCC8C], NFC: [0xCC8C], NFD: [0x110E, 0x1164, 0x11B7], NFKC: [0xCC8C], NFKD: [0x110E, 0x1164, 0x11B7] }, -{ source: [0xCC8D], NFC: [0xCC8D], NFD: [0x110E, 0x1164, 0x11B8], NFKC: [0xCC8D], NFKD: [0x110E, 0x1164, 0x11B8] }, -{ source: [0xCC8E], NFC: [0xCC8E], NFD: [0x110E, 0x1164, 0x11B9], NFKC: [0xCC8E], NFKD: [0x110E, 0x1164, 0x11B9] }, -{ source: [0xCC8F], NFC: [0xCC8F], NFD: [0x110E, 0x1164, 0x11BA], NFKC: [0xCC8F], NFKD: [0x110E, 0x1164, 0x11BA] }, -{ source: [0xCC90], NFC: [0xCC90], NFD: [0x110E, 0x1164, 0x11BB], NFKC: [0xCC90], NFKD: [0x110E, 0x1164, 0x11BB] }, -{ source: [0xCC91], NFC: [0xCC91], NFD: [0x110E, 0x1164, 0x11BC], NFKC: [0xCC91], NFKD: [0x110E, 0x1164, 0x11BC] }, -{ source: [0xCC92], NFC: [0xCC92], NFD: [0x110E, 0x1164, 0x11BD], NFKC: [0xCC92], NFKD: [0x110E, 0x1164, 0x11BD] }, -{ source: [0xCC93], NFC: [0xCC93], NFD: [0x110E, 0x1164, 0x11BE], NFKC: [0xCC93], NFKD: [0x110E, 0x1164, 0x11BE] }, -{ source: [0xCC94], NFC: [0xCC94], NFD: [0x110E, 0x1164, 0x11BF], NFKC: [0xCC94], NFKD: [0x110E, 0x1164, 0x11BF] }, -{ source: [0xCC95], NFC: [0xCC95], NFD: [0x110E, 0x1164, 0x11C0], NFKC: [0xCC95], NFKD: [0x110E, 0x1164, 0x11C0] }, -{ source: [0xCC96], NFC: [0xCC96], NFD: [0x110E, 0x1164, 0x11C1], NFKC: [0xCC96], NFKD: [0x110E, 0x1164, 0x11C1] }, -{ source: [0xCC97], NFC: [0xCC97], NFD: [0x110E, 0x1164, 0x11C2], NFKC: [0xCC97], NFKD: [0x110E, 0x1164, 0x11C2] }, -{ source: [0xCC98], NFC: [0xCC98], NFD: [0x110E, 0x1165], NFKC: [0xCC98], NFKD: [0x110E, 0x1165] }, -{ source: [0xCC99], NFC: [0xCC99], NFD: [0x110E, 0x1165, 0x11A8], NFKC: [0xCC99], NFKD: [0x110E, 0x1165, 0x11A8] }, -{ source: [0xCC9A], NFC: [0xCC9A], NFD: [0x110E, 0x1165, 0x11A9], NFKC: [0xCC9A], NFKD: [0x110E, 0x1165, 0x11A9] }, -{ source: [0xCC9B], NFC: [0xCC9B], NFD: [0x110E, 0x1165, 0x11AA], NFKC: [0xCC9B], NFKD: [0x110E, 0x1165, 0x11AA] }, -{ source: [0xCC9C], NFC: [0xCC9C], NFD: [0x110E, 0x1165, 0x11AB], NFKC: [0xCC9C], NFKD: [0x110E, 0x1165, 0x11AB] }, -{ source: [0xCC9D], NFC: [0xCC9D], NFD: [0x110E, 0x1165, 0x11AC], NFKC: [0xCC9D], NFKD: [0x110E, 0x1165, 0x11AC] }, -{ source: [0xCC9E], NFC: [0xCC9E], NFD: [0x110E, 0x1165, 0x11AD], NFKC: [0xCC9E], NFKD: [0x110E, 0x1165, 0x11AD] }, -{ source: [0xCC9F], NFC: [0xCC9F], NFD: [0x110E, 0x1165, 0x11AE], NFKC: [0xCC9F], NFKD: [0x110E, 0x1165, 0x11AE] }, -{ source: [0xCCA0], NFC: [0xCCA0], NFD: [0x110E, 0x1165, 0x11AF], NFKC: [0xCCA0], NFKD: [0x110E, 0x1165, 0x11AF] }, -{ source: [0xCCA1], NFC: [0xCCA1], NFD: [0x110E, 0x1165, 0x11B0], NFKC: [0xCCA1], NFKD: [0x110E, 0x1165, 0x11B0] }, -{ source: [0xCCA2], NFC: [0xCCA2], NFD: [0x110E, 0x1165, 0x11B1], NFKC: [0xCCA2], NFKD: [0x110E, 0x1165, 0x11B1] }, -{ source: [0xCCA3], NFC: [0xCCA3], NFD: [0x110E, 0x1165, 0x11B2], NFKC: [0xCCA3], NFKD: [0x110E, 0x1165, 0x11B2] }, -{ source: [0xCCA4], NFC: [0xCCA4], NFD: [0x110E, 0x1165, 0x11B3], NFKC: [0xCCA4], NFKD: [0x110E, 0x1165, 0x11B3] }, -{ source: [0xCCA5], NFC: [0xCCA5], NFD: [0x110E, 0x1165, 0x11B4], NFKC: [0xCCA5], NFKD: [0x110E, 0x1165, 0x11B4] }, -{ source: [0xCCA6], NFC: [0xCCA6], NFD: [0x110E, 0x1165, 0x11B5], NFKC: [0xCCA6], NFKD: [0x110E, 0x1165, 0x11B5] }, -{ source: [0xCCA7], NFC: [0xCCA7], NFD: [0x110E, 0x1165, 0x11B6], NFKC: [0xCCA7], NFKD: [0x110E, 0x1165, 0x11B6] }, -{ source: [0xCCA8], NFC: [0xCCA8], NFD: [0x110E, 0x1165, 0x11B7], NFKC: [0xCCA8], NFKD: [0x110E, 0x1165, 0x11B7] }, -{ source: [0xCCA9], NFC: [0xCCA9], NFD: [0x110E, 0x1165, 0x11B8], NFKC: [0xCCA9], NFKD: [0x110E, 0x1165, 0x11B8] }, -{ source: [0xCCAA], NFC: [0xCCAA], NFD: [0x110E, 0x1165, 0x11B9], NFKC: [0xCCAA], NFKD: [0x110E, 0x1165, 0x11B9] }, -{ source: [0xCCAB], NFC: [0xCCAB], NFD: [0x110E, 0x1165, 0x11BA], NFKC: [0xCCAB], NFKD: [0x110E, 0x1165, 0x11BA] }, -{ source: [0xCCAC], NFC: [0xCCAC], NFD: [0x110E, 0x1165, 0x11BB], NFKC: [0xCCAC], NFKD: [0x110E, 0x1165, 0x11BB] }, -{ source: [0xCCAD], NFC: [0xCCAD], NFD: [0x110E, 0x1165, 0x11BC], NFKC: [0xCCAD], NFKD: [0x110E, 0x1165, 0x11BC] }, -{ source: [0xCCAE], NFC: [0xCCAE], NFD: [0x110E, 0x1165, 0x11BD], NFKC: [0xCCAE], NFKD: [0x110E, 0x1165, 0x11BD] }, -{ source: [0xCCAF], NFC: [0xCCAF], NFD: [0x110E, 0x1165, 0x11BE], NFKC: [0xCCAF], NFKD: [0x110E, 0x1165, 0x11BE] }, -{ source: [0xCCB0], NFC: [0xCCB0], NFD: [0x110E, 0x1165, 0x11BF], NFKC: [0xCCB0], NFKD: [0x110E, 0x1165, 0x11BF] }, -{ source: [0xCCB1], NFC: [0xCCB1], NFD: [0x110E, 0x1165, 0x11C0], NFKC: [0xCCB1], NFKD: [0x110E, 0x1165, 0x11C0] }, -{ source: [0xCCB2], NFC: [0xCCB2], NFD: [0x110E, 0x1165, 0x11C1], NFKC: [0xCCB2], NFKD: [0x110E, 0x1165, 0x11C1] }, -{ source: [0xCCB3], NFC: [0xCCB3], NFD: [0x110E, 0x1165, 0x11C2], NFKC: [0xCCB3], NFKD: [0x110E, 0x1165, 0x11C2] }, -{ source: [0xCCB4], NFC: [0xCCB4], NFD: [0x110E, 0x1166], NFKC: [0xCCB4], NFKD: [0x110E, 0x1166] }, -{ source: [0xCCB5], NFC: [0xCCB5], NFD: [0x110E, 0x1166, 0x11A8], NFKC: [0xCCB5], NFKD: [0x110E, 0x1166, 0x11A8] }, -{ source: [0xCCB6], NFC: [0xCCB6], NFD: [0x110E, 0x1166, 0x11A9], NFKC: [0xCCB6], NFKD: [0x110E, 0x1166, 0x11A9] }, -{ source: [0xCCB7], NFC: [0xCCB7], NFD: [0x110E, 0x1166, 0x11AA], NFKC: [0xCCB7], NFKD: [0x110E, 0x1166, 0x11AA] }, -{ source: [0xCCB8], NFC: [0xCCB8], NFD: [0x110E, 0x1166, 0x11AB], NFKC: [0xCCB8], NFKD: [0x110E, 0x1166, 0x11AB] }, -{ source: [0xCCB9], NFC: [0xCCB9], NFD: [0x110E, 0x1166, 0x11AC], NFKC: [0xCCB9], NFKD: [0x110E, 0x1166, 0x11AC] }, -{ source: [0xCCBA], NFC: [0xCCBA], NFD: [0x110E, 0x1166, 0x11AD], NFKC: [0xCCBA], NFKD: [0x110E, 0x1166, 0x11AD] }, -{ source: [0xCCBB], NFC: [0xCCBB], NFD: [0x110E, 0x1166, 0x11AE], NFKC: [0xCCBB], NFKD: [0x110E, 0x1166, 0x11AE] }, -{ source: [0xCCBC], NFC: [0xCCBC], NFD: [0x110E, 0x1166, 0x11AF], NFKC: [0xCCBC], NFKD: [0x110E, 0x1166, 0x11AF] }, -{ source: [0xCCBD], NFC: [0xCCBD], NFD: [0x110E, 0x1166, 0x11B0], NFKC: [0xCCBD], NFKD: [0x110E, 0x1166, 0x11B0] }, -{ source: [0xCCBE], NFC: [0xCCBE], NFD: [0x110E, 0x1166, 0x11B1], NFKC: [0xCCBE], NFKD: [0x110E, 0x1166, 0x11B1] }, -{ source: [0xCCBF], NFC: [0xCCBF], NFD: [0x110E, 0x1166, 0x11B2], NFKC: [0xCCBF], NFKD: [0x110E, 0x1166, 0x11B2] }, -{ source: [0xCCC0], NFC: [0xCCC0], NFD: [0x110E, 0x1166, 0x11B3], NFKC: [0xCCC0], NFKD: [0x110E, 0x1166, 0x11B3] }, -{ source: [0xCCC1], NFC: [0xCCC1], NFD: [0x110E, 0x1166, 0x11B4], NFKC: [0xCCC1], NFKD: [0x110E, 0x1166, 0x11B4] }, -{ source: [0xCCC2], NFC: [0xCCC2], NFD: [0x110E, 0x1166, 0x11B5], NFKC: [0xCCC2], NFKD: [0x110E, 0x1166, 0x11B5] }, -{ source: [0xCCC3], NFC: [0xCCC3], NFD: [0x110E, 0x1166, 0x11B6], NFKC: [0xCCC3], NFKD: [0x110E, 0x1166, 0x11B6] }, -{ source: [0xCCC4], NFC: [0xCCC4], NFD: [0x110E, 0x1166, 0x11B7], NFKC: [0xCCC4], NFKD: [0x110E, 0x1166, 0x11B7] }, -{ source: [0xCCC5], NFC: [0xCCC5], NFD: [0x110E, 0x1166, 0x11B8], NFKC: [0xCCC5], NFKD: [0x110E, 0x1166, 0x11B8] }, -{ source: [0xCCC6], NFC: [0xCCC6], NFD: [0x110E, 0x1166, 0x11B9], NFKC: [0xCCC6], NFKD: [0x110E, 0x1166, 0x11B9] }, -{ source: [0xCCC7], NFC: [0xCCC7], NFD: [0x110E, 0x1166, 0x11BA], NFKC: [0xCCC7], NFKD: [0x110E, 0x1166, 0x11BA] }, -{ source: [0xCCC8], NFC: [0xCCC8], NFD: [0x110E, 0x1166, 0x11BB], NFKC: [0xCCC8], NFKD: [0x110E, 0x1166, 0x11BB] }, -{ source: [0xCCC9], NFC: [0xCCC9], NFD: [0x110E, 0x1166, 0x11BC], NFKC: [0xCCC9], NFKD: [0x110E, 0x1166, 0x11BC] }, -{ source: [0xCCCA], NFC: [0xCCCA], NFD: [0x110E, 0x1166, 0x11BD], NFKC: [0xCCCA], NFKD: [0x110E, 0x1166, 0x11BD] }, -{ source: [0xCCCB], NFC: [0xCCCB], NFD: [0x110E, 0x1166, 0x11BE], NFKC: [0xCCCB], NFKD: [0x110E, 0x1166, 0x11BE] }, -{ source: [0xCCCC], NFC: [0xCCCC], NFD: [0x110E, 0x1166, 0x11BF], NFKC: [0xCCCC], NFKD: [0x110E, 0x1166, 0x11BF] }, -{ source: [0xCCCD], NFC: [0xCCCD], NFD: [0x110E, 0x1166, 0x11C0], NFKC: [0xCCCD], NFKD: [0x110E, 0x1166, 0x11C0] }, -{ source: [0xCCCE], NFC: [0xCCCE], NFD: [0x110E, 0x1166, 0x11C1], NFKC: [0xCCCE], NFKD: [0x110E, 0x1166, 0x11C1] }, -{ source: [0xCCCF], NFC: [0xCCCF], NFD: [0x110E, 0x1166, 0x11C2], NFKC: [0xCCCF], NFKD: [0x110E, 0x1166, 0x11C2] }, -{ source: [0xCCD0], NFC: [0xCCD0], NFD: [0x110E, 0x1167], NFKC: [0xCCD0], NFKD: [0x110E, 0x1167] }, -{ source: [0xCCD1], NFC: [0xCCD1], NFD: [0x110E, 0x1167, 0x11A8], NFKC: [0xCCD1], NFKD: [0x110E, 0x1167, 0x11A8] }, -{ source: [0xCCD2], NFC: [0xCCD2], NFD: [0x110E, 0x1167, 0x11A9], NFKC: [0xCCD2], NFKD: [0x110E, 0x1167, 0x11A9] }, -{ source: [0xCCD3], NFC: [0xCCD3], NFD: [0x110E, 0x1167, 0x11AA], NFKC: [0xCCD3], NFKD: [0x110E, 0x1167, 0x11AA] }, -{ source: [0xCCD4], NFC: [0xCCD4], NFD: [0x110E, 0x1167, 0x11AB], NFKC: [0xCCD4], NFKD: [0x110E, 0x1167, 0x11AB] }, -{ source: [0xCCD5], NFC: [0xCCD5], NFD: [0x110E, 0x1167, 0x11AC], NFKC: [0xCCD5], NFKD: [0x110E, 0x1167, 0x11AC] }, -{ source: [0xCCD6], NFC: [0xCCD6], NFD: [0x110E, 0x1167, 0x11AD], NFKC: [0xCCD6], NFKD: [0x110E, 0x1167, 0x11AD] }, -{ source: [0xCCD7], NFC: [0xCCD7], NFD: [0x110E, 0x1167, 0x11AE], NFKC: [0xCCD7], NFKD: [0x110E, 0x1167, 0x11AE] }, -{ source: [0xCCD8], NFC: [0xCCD8], NFD: [0x110E, 0x1167, 0x11AF], NFKC: [0xCCD8], NFKD: [0x110E, 0x1167, 0x11AF] }, -{ source: [0xCCD9], NFC: [0xCCD9], NFD: [0x110E, 0x1167, 0x11B0], NFKC: [0xCCD9], NFKD: [0x110E, 0x1167, 0x11B0] }, -{ source: [0xCCDA], NFC: [0xCCDA], NFD: [0x110E, 0x1167, 0x11B1], NFKC: [0xCCDA], NFKD: [0x110E, 0x1167, 0x11B1] }, -{ source: [0xCCDB], NFC: [0xCCDB], NFD: [0x110E, 0x1167, 0x11B2], NFKC: [0xCCDB], NFKD: [0x110E, 0x1167, 0x11B2] }, -{ source: [0xCCDC], NFC: [0xCCDC], NFD: [0x110E, 0x1167, 0x11B3], NFKC: [0xCCDC], NFKD: [0x110E, 0x1167, 0x11B3] }, -{ source: [0xCCDD], NFC: [0xCCDD], NFD: [0x110E, 0x1167, 0x11B4], NFKC: [0xCCDD], NFKD: [0x110E, 0x1167, 0x11B4] }, -{ source: [0xCCDE], NFC: [0xCCDE], NFD: [0x110E, 0x1167, 0x11B5], NFKC: [0xCCDE], NFKD: [0x110E, 0x1167, 0x11B5] }, -{ source: [0xCCDF], NFC: [0xCCDF], NFD: [0x110E, 0x1167, 0x11B6], NFKC: [0xCCDF], NFKD: [0x110E, 0x1167, 0x11B6] }, -{ source: [0xCCE0], NFC: [0xCCE0], NFD: [0x110E, 0x1167, 0x11B7], NFKC: [0xCCE0], NFKD: [0x110E, 0x1167, 0x11B7] }, -{ source: [0xCCE1], NFC: [0xCCE1], NFD: [0x110E, 0x1167, 0x11B8], NFKC: [0xCCE1], NFKD: [0x110E, 0x1167, 0x11B8] }, -{ source: [0xCCE2], NFC: [0xCCE2], NFD: [0x110E, 0x1167, 0x11B9], NFKC: [0xCCE2], NFKD: [0x110E, 0x1167, 0x11B9] }, -{ source: [0xCCE3], NFC: [0xCCE3], NFD: [0x110E, 0x1167, 0x11BA], NFKC: [0xCCE3], NFKD: [0x110E, 0x1167, 0x11BA] }, -{ source: [0xCCE4], NFC: [0xCCE4], NFD: [0x110E, 0x1167, 0x11BB], NFKC: [0xCCE4], NFKD: [0x110E, 0x1167, 0x11BB] }, -{ source: [0xCCE5], NFC: [0xCCE5], NFD: [0x110E, 0x1167, 0x11BC], NFKC: [0xCCE5], NFKD: [0x110E, 0x1167, 0x11BC] }, -{ source: [0xCCE6], NFC: [0xCCE6], NFD: [0x110E, 0x1167, 0x11BD], NFKC: [0xCCE6], NFKD: [0x110E, 0x1167, 0x11BD] }, -{ source: [0xCCE7], NFC: [0xCCE7], NFD: [0x110E, 0x1167, 0x11BE], NFKC: [0xCCE7], NFKD: [0x110E, 0x1167, 0x11BE] }, -{ source: [0xCCE8], NFC: [0xCCE8], NFD: [0x110E, 0x1167, 0x11BF], NFKC: [0xCCE8], NFKD: [0x110E, 0x1167, 0x11BF] }, -{ source: [0xCCE9], NFC: [0xCCE9], NFD: [0x110E, 0x1167, 0x11C0], NFKC: [0xCCE9], NFKD: [0x110E, 0x1167, 0x11C0] }, -{ source: [0xCCEA], NFC: [0xCCEA], NFD: [0x110E, 0x1167, 0x11C1], NFKC: [0xCCEA], NFKD: [0x110E, 0x1167, 0x11C1] }, -{ source: [0xCCEB], NFC: [0xCCEB], NFD: [0x110E, 0x1167, 0x11C2], NFKC: [0xCCEB], NFKD: [0x110E, 0x1167, 0x11C2] }, -{ source: [0xCCEC], NFC: [0xCCEC], NFD: [0x110E, 0x1168], NFKC: [0xCCEC], NFKD: [0x110E, 0x1168] }, -{ source: [0xCCED], NFC: [0xCCED], NFD: [0x110E, 0x1168, 0x11A8], NFKC: [0xCCED], NFKD: [0x110E, 0x1168, 0x11A8] }, -{ source: [0xCCEE], NFC: [0xCCEE], NFD: [0x110E, 0x1168, 0x11A9], NFKC: [0xCCEE], NFKD: [0x110E, 0x1168, 0x11A9] }, -{ source: [0xCCEF], NFC: [0xCCEF], NFD: [0x110E, 0x1168, 0x11AA], NFKC: [0xCCEF], NFKD: [0x110E, 0x1168, 0x11AA] }, -{ source: [0xCCF0], NFC: [0xCCF0], NFD: [0x110E, 0x1168, 0x11AB], NFKC: [0xCCF0], NFKD: [0x110E, 0x1168, 0x11AB] }, -{ source: [0xCCF1], NFC: [0xCCF1], NFD: [0x110E, 0x1168, 0x11AC], NFKC: [0xCCF1], NFKD: [0x110E, 0x1168, 0x11AC] }, -{ source: [0xCCF2], NFC: [0xCCF2], NFD: [0x110E, 0x1168, 0x11AD], NFKC: [0xCCF2], NFKD: [0x110E, 0x1168, 0x11AD] }, -{ source: [0xCCF3], NFC: [0xCCF3], NFD: [0x110E, 0x1168, 0x11AE], NFKC: [0xCCF3], NFKD: [0x110E, 0x1168, 0x11AE] }, -{ source: [0xCCF4], NFC: [0xCCF4], NFD: [0x110E, 0x1168, 0x11AF], NFKC: [0xCCF4], NFKD: [0x110E, 0x1168, 0x11AF] }, -{ source: [0xCCF5], NFC: [0xCCF5], NFD: [0x110E, 0x1168, 0x11B0], NFKC: [0xCCF5], NFKD: [0x110E, 0x1168, 0x11B0] }, -{ source: [0xCCF6], NFC: [0xCCF6], NFD: [0x110E, 0x1168, 0x11B1], NFKC: [0xCCF6], NFKD: [0x110E, 0x1168, 0x11B1] }, -{ source: [0xCCF7], NFC: [0xCCF7], NFD: [0x110E, 0x1168, 0x11B2], NFKC: [0xCCF7], NFKD: [0x110E, 0x1168, 0x11B2] }, -{ source: [0xCCF8], NFC: [0xCCF8], NFD: [0x110E, 0x1168, 0x11B3], NFKC: [0xCCF8], NFKD: [0x110E, 0x1168, 0x11B3] }, -{ source: [0xCCF9], NFC: [0xCCF9], NFD: [0x110E, 0x1168, 0x11B4], NFKC: [0xCCF9], NFKD: [0x110E, 0x1168, 0x11B4] }, -{ source: [0xCCFA], NFC: [0xCCFA], NFD: [0x110E, 0x1168, 0x11B5], NFKC: [0xCCFA], NFKD: [0x110E, 0x1168, 0x11B5] }, -{ source: [0xCCFB], NFC: [0xCCFB], NFD: [0x110E, 0x1168, 0x11B6], NFKC: [0xCCFB], NFKD: [0x110E, 0x1168, 0x11B6] }, -{ source: [0xCCFC], NFC: [0xCCFC], NFD: [0x110E, 0x1168, 0x11B7], NFKC: [0xCCFC], NFKD: [0x110E, 0x1168, 0x11B7] }, -{ source: [0xCCFD], NFC: [0xCCFD], NFD: [0x110E, 0x1168, 0x11B8], NFKC: [0xCCFD], NFKD: [0x110E, 0x1168, 0x11B8] }, -{ source: [0xCCFE], NFC: [0xCCFE], NFD: [0x110E, 0x1168, 0x11B9], NFKC: [0xCCFE], NFKD: [0x110E, 0x1168, 0x11B9] }, -{ source: [0xCCFF], NFC: [0xCCFF], NFD: [0x110E, 0x1168, 0x11BA], NFKC: [0xCCFF], NFKD: [0x110E, 0x1168, 0x11BA] }, -{ source: [0xCD00], NFC: [0xCD00], NFD: [0x110E, 0x1168, 0x11BB], NFKC: [0xCD00], NFKD: [0x110E, 0x1168, 0x11BB] }, -{ source: [0xCD01], NFC: [0xCD01], NFD: [0x110E, 0x1168, 0x11BC], NFKC: [0xCD01], NFKD: [0x110E, 0x1168, 0x11BC] }, -{ source: [0xCD02], NFC: [0xCD02], NFD: [0x110E, 0x1168, 0x11BD], NFKC: [0xCD02], NFKD: [0x110E, 0x1168, 0x11BD] }, -{ source: [0xCD03], NFC: [0xCD03], NFD: [0x110E, 0x1168, 0x11BE], NFKC: [0xCD03], NFKD: [0x110E, 0x1168, 0x11BE] }, -{ source: [0xCD04], NFC: [0xCD04], NFD: [0x110E, 0x1168, 0x11BF], NFKC: [0xCD04], NFKD: [0x110E, 0x1168, 0x11BF] }, -{ source: [0xCD05], NFC: [0xCD05], NFD: [0x110E, 0x1168, 0x11C0], NFKC: [0xCD05], NFKD: [0x110E, 0x1168, 0x11C0] }, -{ source: [0xCD06], NFC: [0xCD06], NFD: [0x110E, 0x1168, 0x11C1], NFKC: [0xCD06], NFKD: [0x110E, 0x1168, 0x11C1] }, -{ source: [0xCD07], NFC: [0xCD07], NFD: [0x110E, 0x1168, 0x11C2], NFKC: [0xCD07], NFKD: [0x110E, 0x1168, 0x11C2] }, -{ source: [0xCD08], NFC: [0xCD08], NFD: [0x110E, 0x1169], NFKC: [0xCD08], NFKD: [0x110E, 0x1169] }, -{ source: [0xCD09], NFC: [0xCD09], NFD: [0x110E, 0x1169, 0x11A8], NFKC: [0xCD09], NFKD: [0x110E, 0x1169, 0x11A8] }, -{ source: [0xCD0A], NFC: [0xCD0A], NFD: [0x110E, 0x1169, 0x11A9], NFKC: [0xCD0A], NFKD: [0x110E, 0x1169, 0x11A9] }, -{ source: [0xCD0B], NFC: [0xCD0B], NFD: [0x110E, 0x1169, 0x11AA], NFKC: [0xCD0B], NFKD: [0x110E, 0x1169, 0x11AA] }, -{ source: [0xCD0C], NFC: [0xCD0C], NFD: [0x110E, 0x1169, 0x11AB], NFKC: [0xCD0C], NFKD: [0x110E, 0x1169, 0x11AB] }, -{ source: [0xCD0D], NFC: [0xCD0D], NFD: [0x110E, 0x1169, 0x11AC], NFKC: [0xCD0D], NFKD: [0x110E, 0x1169, 0x11AC] }, -{ source: [0xCD0E], NFC: [0xCD0E], NFD: [0x110E, 0x1169, 0x11AD], NFKC: [0xCD0E], NFKD: [0x110E, 0x1169, 0x11AD] }, -{ source: [0xCD0F], NFC: [0xCD0F], NFD: [0x110E, 0x1169, 0x11AE], NFKC: [0xCD0F], NFKD: [0x110E, 0x1169, 0x11AE] }, -{ source: [0xCD10], NFC: [0xCD10], NFD: [0x110E, 0x1169, 0x11AF], NFKC: [0xCD10], NFKD: [0x110E, 0x1169, 0x11AF] }, -{ source: [0xCD11], NFC: [0xCD11], NFD: [0x110E, 0x1169, 0x11B0], NFKC: [0xCD11], NFKD: [0x110E, 0x1169, 0x11B0] }, -{ source: [0xCD12], NFC: [0xCD12], NFD: [0x110E, 0x1169, 0x11B1], NFKC: [0xCD12], NFKD: [0x110E, 0x1169, 0x11B1] }, -{ source: [0xCD13], NFC: [0xCD13], NFD: [0x110E, 0x1169, 0x11B2], NFKC: [0xCD13], NFKD: [0x110E, 0x1169, 0x11B2] }, -{ source: [0xCD14], NFC: [0xCD14], NFD: [0x110E, 0x1169, 0x11B3], NFKC: [0xCD14], NFKD: [0x110E, 0x1169, 0x11B3] }, -{ source: [0xCD15], NFC: [0xCD15], NFD: [0x110E, 0x1169, 0x11B4], NFKC: [0xCD15], NFKD: [0x110E, 0x1169, 0x11B4] }, -{ source: [0xCD16], NFC: [0xCD16], NFD: [0x110E, 0x1169, 0x11B5], NFKC: [0xCD16], NFKD: [0x110E, 0x1169, 0x11B5] }, -{ source: [0xCD17], NFC: [0xCD17], NFD: [0x110E, 0x1169, 0x11B6], NFKC: [0xCD17], NFKD: [0x110E, 0x1169, 0x11B6] }, -{ source: [0xCD18], NFC: [0xCD18], NFD: [0x110E, 0x1169, 0x11B7], NFKC: [0xCD18], NFKD: [0x110E, 0x1169, 0x11B7] }, -{ source: [0xCD19], NFC: [0xCD19], NFD: [0x110E, 0x1169, 0x11B8], NFKC: [0xCD19], NFKD: [0x110E, 0x1169, 0x11B8] }, -{ source: [0xCD1A], NFC: [0xCD1A], NFD: [0x110E, 0x1169, 0x11B9], NFKC: [0xCD1A], NFKD: [0x110E, 0x1169, 0x11B9] }, -{ source: [0xCD1B], NFC: [0xCD1B], NFD: [0x110E, 0x1169, 0x11BA], NFKC: [0xCD1B], NFKD: [0x110E, 0x1169, 0x11BA] }, -{ source: [0xCD1C], NFC: [0xCD1C], NFD: [0x110E, 0x1169, 0x11BB], NFKC: [0xCD1C], NFKD: [0x110E, 0x1169, 0x11BB] }, -{ source: [0xCD1D], NFC: [0xCD1D], NFD: [0x110E, 0x1169, 0x11BC], NFKC: [0xCD1D], NFKD: [0x110E, 0x1169, 0x11BC] }, -{ source: [0xCD1E], NFC: [0xCD1E], NFD: [0x110E, 0x1169, 0x11BD], NFKC: [0xCD1E], NFKD: [0x110E, 0x1169, 0x11BD] }, -{ source: [0xCD1F], NFC: [0xCD1F], NFD: [0x110E, 0x1169, 0x11BE], NFKC: [0xCD1F], NFKD: [0x110E, 0x1169, 0x11BE] }, -{ source: [0xCD20], NFC: [0xCD20], NFD: [0x110E, 0x1169, 0x11BF], NFKC: [0xCD20], NFKD: [0x110E, 0x1169, 0x11BF] }, -{ source: [0xCD21], NFC: [0xCD21], NFD: [0x110E, 0x1169, 0x11C0], NFKC: [0xCD21], NFKD: [0x110E, 0x1169, 0x11C0] }, -{ source: [0xCD22], NFC: [0xCD22], NFD: [0x110E, 0x1169, 0x11C1], NFKC: [0xCD22], NFKD: [0x110E, 0x1169, 0x11C1] }, -{ source: [0xCD23], NFC: [0xCD23], NFD: [0x110E, 0x1169, 0x11C2], NFKC: [0xCD23], NFKD: [0x110E, 0x1169, 0x11C2] }, -{ source: [0xCD24], NFC: [0xCD24], NFD: [0x110E, 0x116A], NFKC: [0xCD24], NFKD: [0x110E, 0x116A] }, -{ source: [0xCD25], NFC: [0xCD25], NFD: [0x110E, 0x116A, 0x11A8], NFKC: [0xCD25], NFKD: [0x110E, 0x116A, 0x11A8] }, -{ source: [0xCD26], NFC: [0xCD26], NFD: [0x110E, 0x116A, 0x11A9], NFKC: [0xCD26], NFKD: [0x110E, 0x116A, 0x11A9] }, -{ source: [0xCD27], NFC: [0xCD27], NFD: [0x110E, 0x116A, 0x11AA], NFKC: [0xCD27], NFKD: [0x110E, 0x116A, 0x11AA] }, -{ source: [0xCD28], NFC: [0xCD28], NFD: [0x110E, 0x116A, 0x11AB], NFKC: [0xCD28], NFKD: [0x110E, 0x116A, 0x11AB] }, -{ source: [0xCD29], NFC: [0xCD29], NFD: [0x110E, 0x116A, 0x11AC], NFKC: [0xCD29], NFKD: [0x110E, 0x116A, 0x11AC] }, -{ source: [0xCD2A], NFC: [0xCD2A], NFD: [0x110E, 0x116A, 0x11AD], NFKC: [0xCD2A], NFKD: [0x110E, 0x116A, 0x11AD] }, -{ source: [0xCD2B], NFC: [0xCD2B], NFD: [0x110E, 0x116A, 0x11AE], NFKC: [0xCD2B], NFKD: [0x110E, 0x116A, 0x11AE] }, -{ source: [0xCD2C], NFC: [0xCD2C], NFD: [0x110E, 0x116A, 0x11AF], NFKC: [0xCD2C], NFKD: [0x110E, 0x116A, 0x11AF] }, -{ source: [0xCD2D], NFC: [0xCD2D], NFD: [0x110E, 0x116A, 0x11B0], NFKC: [0xCD2D], NFKD: [0x110E, 0x116A, 0x11B0] }, -{ source: [0xCD2E], NFC: [0xCD2E], NFD: [0x110E, 0x116A, 0x11B1], NFKC: [0xCD2E], NFKD: [0x110E, 0x116A, 0x11B1] }, -{ source: [0xCD2F], NFC: [0xCD2F], NFD: [0x110E, 0x116A, 0x11B2], NFKC: [0xCD2F], NFKD: [0x110E, 0x116A, 0x11B2] }, -{ source: [0xCD30], NFC: [0xCD30], NFD: [0x110E, 0x116A, 0x11B3], NFKC: [0xCD30], NFKD: [0x110E, 0x116A, 0x11B3] }, -{ source: [0xCD31], NFC: [0xCD31], NFD: [0x110E, 0x116A, 0x11B4], NFKC: [0xCD31], NFKD: [0x110E, 0x116A, 0x11B4] }, -{ source: [0xCD32], NFC: [0xCD32], NFD: [0x110E, 0x116A, 0x11B5], NFKC: [0xCD32], NFKD: [0x110E, 0x116A, 0x11B5] }, -{ source: [0xCD33], NFC: [0xCD33], NFD: [0x110E, 0x116A, 0x11B6], NFKC: [0xCD33], NFKD: [0x110E, 0x116A, 0x11B6] }, -{ source: [0xCD34], NFC: [0xCD34], NFD: [0x110E, 0x116A, 0x11B7], NFKC: [0xCD34], NFKD: [0x110E, 0x116A, 0x11B7] }, -{ source: [0xCD35], NFC: [0xCD35], NFD: [0x110E, 0x116A, 0x11B8], NFKC: [0xCD35], NFKD: [0x110E, 0x116A, 0x11B8] }, -{ source: [0xCD36], NFC: [0xCD36], NFD: [0x110E, 0x116A, 0x11B9], NFKC: [0xCD36], NFKD: [0x110E, 0x116A, 0x11B9] }, -{ source: [0xCD37], NFC: [0xCD37], NFD: [0x110E, 0x116A, 0x11BA], NFKC: [0xCD37], NFKD: [0x110E, 0x116A, 0x11BA] }, -{ source: [0xCD38], NFC: [0xCD38], NFD: [0x110E, 0x116A, 0x11BB], NFKC: [0xCD38], NFKD: [0x110E, 0x116A, 0x11BB] }, -{ source: [0xCD39], NFC: [0xCD39], NFD: [0x110E, 0x116A, 0x11BC], NFKC: [0xCD39], NFKD: [0x110E, 0x116A, 0x11BC] }, -{ source: [0xCD3A], NFC: [0xCD3A], NFD: [0x110E, 0x116A, 0x11BD], NFKC: [0xCD3A], NFKD: [0x110E, 0x116A, 0x11BD] }, -{ source: [0xCD3B], NFC: [0xCD3B], NFD: [0x110E, 0x116A, 0x11BE], NFKC: [0xCD3B], NFKD: [0x110E, 0x116A, 0x11BE] }, -{ source: [0xCD3C], NFC: [0xCD3C], NFD: [0x110E, 0x116A, 0x11BF], NFKC: [0xCD3C], NFKD: [0x110E, 0x116A, 0x11BF] }, -{ source: [0xCD3D], NFC: [0xCD3D], NFD: [0x110E, 0x116A, 0x11C0], NFKC: [0xCD3D], NFKD: [0x110E, 0x116A, 0x11C0] }, -{ source: [0xCD3E], NFC: [0xCD3E], NFD: [0x110E, 0x116A, 0x11C1], NFKC: [0xCD3E], NFKD: [0x110E, 0x116A, 0x11C1] }, -{ source: [0xCD3F], NFC: [0xCD3F], NFD: [0x110E, 0x116A, 0x11C2], NFKC: [0xCD3F], NFKD: [0x110E, 0x116A, 0x11C2] }, -{ source: [0xCD40], NFC: [0xCD40], NFD: [0x110E, 0x116B], NFKC: [0xCD40], NFKD: [0x110E, 0x116B] }, -{ source: [0xCD41], NFC: [0xCD41], NFD: [0x110E, 0x116B, 0x11A8], NFKC: [0xCD41], NFKD: [0x110E, 0x116B, 0x11A8] }, -{ source: [0xCD42], NFC: [0xCD42], NFD: [0x110E, 0x116B, 0x11A9], NFKC: [0xCD42], NFKD: [0x110E, 0x116B, 0x11A9] }, -{ source: [0xCD43], NFC: [0xCD43], NFD: [0x110E, 0x116B, 0x11AA], NFKC: [0xCD43], NFKD: [0x110E, 0x116B, 0x11AA] }, -{ source: [0xCD44], NFC: [0xCD44], NFD: [0x110E, 0x116B, 0x11AB], NFKC: [0xCD44], NFKD: [0x110E, 0x116B, 0x11AB] }, -{ source: [0xCD45], NFC: [0xCD45], NFD: [0x110E, 0x116B, 0x11AC], NFKC: [0xCD45], NFKD: [0x110E, 0x116B, 0x11AC] }, -{ source: [0xCD46], NFC: [0xCD46], NFD: [0x110E, 0x116B, 0x11AD], NFKC: [0xCD46], NFKD: [0x110E, 0x116B, 0x11AD] }, -{ source: [0xCD47], NFC: [0xCD47], NFD: [0x110E, 0x116B, 0x11AE], NFKC: [0xCD47], NFKD: [0x110E, 0x116B, 0x11AE] }, -{ source: [0xCD48], NFC: [0xCD48], NFD: [0x110E, 0x116B, 0x11AF], NFKC: [0xCD48], NFKD: [0x110E, 0x116B, 0x11AF] }, -{ source: [0xCD49], NFC: [0xCD49], NFD: [0x110E, 0x116B, 0x11B0], NFKC: [0xCD49], NFKD: [0x110E, 0x116B, 0x11B0] }, -{ source: [0xCD4A], NFC: [0xCD4A], NFD: [0x110E, 0x116B, 0x11B1], NFKC: [0xCD4A], NFKD: [0x110E, 0x116B, 0x11B1] }, -{ source: [0xCD4B], NFC: [0xCD4B], NFD: [0x110E, 0x116B, 0x11B2], NFKC: [0xCD4B], NFKD: [0x110E, 0x116B, 0x11B2] }, -{ source: [0xCD4C], NFC: [0xCD4C], NFD: [0x110E, 0x116B, 0x11B3], NFKC: [0xCD4C], NFKD: [0x110E, 0x116B, 0x11B3] }, -{ source: [0xCD4D], NFC: [0xCD4D], NFD: [0x110E, 0x116B, 0x11B4], NFKC: [0xCD4D], NFKD: [0x110E, 0x116B, 0x11B4] }, -{ source: [0xCD4E], NFC: [0xCD4E], NFD: [0x110E, 0x116B, 0x11B5], NFKC: [0xCD4E], NFKD: [0x110E, 0x116B, 0x11B5] }, -{ source: [0xCD4F], NFC: [0xCD4F], NFD: [0x110E, 0x116B, 0x11B6], NFKC: [0xCD4F], NFKD: [0x110E, 0x116B, 0x11B6] }, -{ source: [0xCD50], NFC: [0xCD50], NFD: [0x110E, 0x116B, 0x11B7], NFKC: [0xCD50], NFKD: [0x110E, 0x116B, 0x11B7] }, -{ source: [0xCD51], NFC: [0xCD51], NFD: [0x110E, 0x116B, 0x11B8], NFKC: [0xCD51], NFKD: [0x110E, 0x116B, 0x11B8] }, -{ source: [0xCD52], NFC: [0xCD52], NFD: [0x110E, 0x116B, 0x11B9], NFKC: [0xCD52], NFKD: [0x110E, 0x116B, 0x11B9] }, -{ source: [0xCD53], NFC: [0xCD53], NFD: [0x110E, 0x116B, 0x11BA], NFKC: [0xCD53], NFKD: [0x110E, 0x116B, 0x11BA] }, -{ source: [0xCD54], NFC: [0xCD54], NFD: [0x110E, 0x116B, 0x11BB], NFKC: [0xCD54], NFKD: [0x110E, 0x116B, 0x11BB] }, -{ source: [0xCD55], NFC: [0xCD55], NFD: [0x110E, 0x116B, 0x11BC], NFKC: [0xCD55], NFKD: [0x110E, 0x116B, 0x11BC] }, -{ source: [0xCD56], NFC: [0xCD56], NFD: [0x110E, 0x116B, 0x11BD], NFKC: [0xCD56], NFKD: [0x110E, 0x116B, 0x11BD] }, -{ source: [0xCD57], NFC: [0xCD57], NFD: [0x110E, 0x116B, 0x11BE], NFKC: [0xCD57], NFKD: [0x110E, 0x116B, 0x11BE] }, -{ source: [0xCD58], NFC: [0xCD58], NFD: [0x110E, 0x116B, 0x11BF], NFKC: [0xCD58], NFKD: [0x110E, 0x116B, 0x11BF] }, -{ source: [0xCD59], NFC: [0xCD59], NFD: [0x110E, 0x116B, 0x11C0], NFKC: [0xCD59], NFKD: [0x110E, 0x116B, 0x11C0] }, -{ source: [0xCD5A], NFC: [0xCD5A], NFD: [0x110E, 0x116B, 0x11C1], NFKC: [0xCD5A], NFKD: [0x110E, 0x116B, 0x11C1] }, -{ source: [0xCD5B], NFC: [0xCD5B], NFD: [0x110E, 0x116B, 0x11C2], NFKC: [0xCD5B], NFKD: [0x110E, 0x116B, 0x11C2] }, -{ source: [0xCD5C], NFC: [0xCD5C], NFD: [0x110E, 0x116C], NFKC: [0xCD5C], NFKD: [0x110E, 0x116C] }, -{ source: [0xCD5D], NFC: [0xCD5D], NFD: [0x110E, 0x116C, 0x11A8], NFKC: [0xCD5D], NFKD: [0x110E, 0x116C, 0x11A8] }, -{ source: [0xCD5E], NFC: [0xCD5E], NFD: [0x110E, 0x116C, 0x11A9], NFKC: [0xCD5E], NFKD: [0x110E, 0x116C, 0x11A9] }, -{ source: [0xCD5F], NFC: [0xCD5F], NFD: [0x110E, 0x116C, 0x11AA], NFKC: [0xCD5F], NFKD: [0x110E, 0x116C, 0x11AA] }, -{ source: [0xCD60], NFC: [0xCD60], NFD: [0x110E, 0x116C, 0x11AB], NFKC: [0xCD60], NFKD: [0x110E, 0x116C, 0x11AB] }, -{ source: [0xCD61], NFC: [0xCD61], NFD: [0x110E, 0x116C, 0x11AC], NFKC: [0xCD61], NFKD: [0x110E, 0x116C, 0x11AC] }, -{ source: [0xCD62], NFC: [0xCD62], NFD: [0x110E, 0x116C, 0x11AD], NFKC: [0xCD62], NFKD: [0x110E, 0x116C, 0x11AD] }, -{ source: [0xCD63], NFC: [0xCD63], NFD: [0x110E, 0x116C, 0x11AE], NFKC: [0xCD63], NFKD: [0x110E, 0x116C, 0x11AE] }, -{ source: [0xCD64], NFC: [0xCD64], NFD: [0x110E, 0x116C, 0x11AF], NFKC: [0xCD64], NFKD: [0x110E, 0x116C, 0x11AF] }, -{ source: [0xCD65], NFC: [0xCD65], NFD: [0x110E, 0x116C, 0x11B0], NFKC: [0xCD65], NFKD: [0x110E, 0x116C, 0x11B0] }, -{ source: [0xCD66], NFC: [0xCD66], NFD: [0x110E, 0x116C, 0x11B1], NFKC: [0xCD66], NFKD: [0x110E, 0x116C, 0x11B1] }, -{ source: [0xCD67], NFC: [0xCD67], NFD: [0x110E, 0x116C, 0x11B2], NFKC: [0xCD67], NFKD: [0x110E, 0x116C, 0x11B2] }, -{ source: [0xCD68], NFC: [0xCD68], NFD: [0x110E, 0x116C, 0x11B3], NFKC: [0xCD68], NFKD: [0x110E, 0x116C, 0x11B3] }, -{ source: [0xCD69], NFC: [0xCD69], NFD: [0x110E, 0x116C, 0x11B4], NFKC: [0xCD69], NFKD: [0x110E, 0x116C, 0x11B4] }, -{ source: [0xCD6A], NFC: [0xCD6A], NFD: [0x110E, 0x116C, 0x11B5], NFKC: [0xCD6A], NFKD: [0x110E, 0x116C, 0x11B5] }, -{ source: [0xCD6B], NFC: [0xCD6B], NFD: [0x110E, 0x116C, 0x11B6], NFKC: [0xCD6B], NFKD: [0x110E, 0x116C, 0x11B6] }, -{ source: [0xCD6C], NFC: [0xCD6C], NFD: [0x110E, 0x116C, 0x11B7], NFKC: [0xCD6C], NFKD: [0x110E, 0x116C, 0x11B7] }, -{ source: [0xCD6D], NFC: [0xCD6D], NFD: [0x110E, 0x116C, 0x11B8], NFKC: [0xCD6D], NFKD: [0x110E, 0x116C, 0x11B8] }, -{ source: [0xCD6E], NFC: [0xCD6E], NFD: [0x110E, 0x116C, 0x11B9], NFKC: [0xCD6E], NFKD: [0x110E, 0x116C, 0x11B9] }, -{ source: [0xCD6F], NFC: [0xCD6F], NFD: [0x110E, 0x116C, 0x11BA], NFKC: [0xCD6F], NFKD: [0x110E, 0x116C, 0x11BA] }, -{ source: [0xCD70], NFC: [0xCD70], NFD: [0x110E, 0x116C, 0x11BB], NFKC: [0xCD70], NFKD: [0x110E, 0x116C, 0x11BB] }, -{ source: [0xCD71], NFC: [0xCD71], NFD: [0x110E, 0x116C, 0x11BC], NFKC: [0xCD71], NFKD: [0x110E, 0x116C, 0x11BC] }, -{ source: [0xCD72], NFC: [0xCD72], NFD: [0x110E, 0x116C, 0x11BD], NFKC: [0xCD72], NFKD: [0x110E, 0x116C, 0x11BD] }, -{ source: [0xCD73], NFC: [0xCD73], NFD: [0x110E, 0x116C, 0x11BE], NFKC: [0xCD73], NFKD: [0x110E, 0x116C, 0x11BE] }, -{ source: [0xCD74], NFC: [0xCD74], NFD: [0x110E, 0x116C, 0x11BF], NFKC: [0xCD74], NFKD: [0x110E, 0x116C, 0x11BF] }, -{ source: [0xCD75], NFC: [0xCD75], NFD: [0x110E, 0x116C, 0x11C0], NFKC: [0xCD75], NFKD: [0x110E, 0x116C, 0x11C0] }, -{ source: [0xCD76], NFC: [0xCD76], NFD: [0x110E, 0x116C, 0x11C1], NFKC: [0xCD76], NFKD: [0x110E, 0x116C, 0x11C1] }, -{ source: [0xCD77], NFC: [0xCD77], NFD: [0x110E, 0x116C, 0x11C2], NFKC: [0xCD77], NFKD: [0x110E, 0x116C, 0x11C2] }, -{ source: [0xCD78], NFC: [0xCD78], NFD: [0x110E, 0x116D], NFKC: [0xCD78], NFKD: [0x110E, 0x116D] }, -{ source: [0xCD79], NFC: [0xCD79], NFD: [0x110E, 0x116D, 0x11A8], NFKC: [0xCD79], NFKD: [0x110E, 0x116D, 0x11A8] }, -{ source: [0xCD7A], NFC: [0xCD7A], NFD: [0x110E, 0x116D, 0x11A9], NFKC: [0xCD7A], NFKD: [0x110E, 0x116D, 0x11A9] }, -{ source: [0xCD7B], NFC: [0xCD7B], NFD: [0x110E, 0x116D, 0x11AA], NFKC: [0xCD7B], NFKD: [0x110E, 0x116D, 0x11AA] }, -{ source: [0xCD7C], NFC: [0xCD7C], NFD: [0x110E, 0x116D, 0x11AB], NFKC: [0xCD7C], NFKD: [0x110E, 0x116D, 0x11AB] }, -{ source: [0xCD7D], NFC: [0xCD7D], NFD: [0x110E, 0x116D, 0x11AC], NFKC: [0xCD7D], NFKD: [0x110E, 0x116D, 0x11AC] }, -{ source: [0xCD7E], NFC: [0xCD7E], NFD: [0x110E, 0x116D, 0x11AD], NFKC: [0xCD7E], NFKD: [0x110E, 0x116D, 0x11AD] }, -{ source: [0xCD7F], NFC: [0xCD7F], NFD: [0x110E, 0x116D, 0x11AE], NFKC: [0xCD7F], NFKD: [0x110E, 0x116D, 0x11AE] }, -{ source: [0xCD80], NFC: [0xCD80], NFD: [0x110E, 0x116D, 0x11AF], NFKC: [0xCD80], NFKD: [0x110E, 0x116D, 0x11AF] }, -{ source: [0xCD81], NFC: [0xCD81], NFD: [0x110E, 0x116D, 0x11B0], NFKC: [0xCD81], NFKD: [0x110E, 0x116D, 0x11B0] }, -{ source: [0xCD82], NFC: [0xCD82], NFD: [0x110E, 0x116D, 0x11B1], NFKC: [0xCD82], NFKD: [0x110E, 0x116D, 0x11B1] }, -{ source: [0xCD83], NFC: [0xCD83], NFD: [0x110E, 0x116D, 0x11B2], NFKC: [0xCD83], NFKD: [0x110E, 0x116D, 0x11B2] }, -{ source: [0xCD84], NFC: [0xCD84], NFD: [0x110E, 0x116D, 0x11B3], NFKC: [0xCD84], NFKD: [0x110E, 0x116D, 0x11B3] }, -{ source: [0xCD85], NFC: [0xCD85], NFD: [0x110E, 0x116D, 0x11B4], NFKC: [0xCD85], NFKD: [0x110E, 0x116D, 0x11B4] }, -{ source: [0xCD86], NFC: [0xCD86], NFD: [0x110E, 0x116D, 0x11B5], NFKC: [0xCD86], NFKD: [0x110E, 0x116D, 0x11B5] }, -{ source: [0xCD87], NFC: [0xCD87], NFD: [0x110E, 0x116D, 0x11B6], NFKC: [0xCD87], NFKD: [0x110E, 0x116D, 0x11B6] }, -{ source: [0xCD88], NFC: [0xCD88], NFD: [0x110E, 0x116D, 0x11B7], NFKC: [0xCD88], NFKD: [0x110E, 0x116D, 0x11B7] }, -{ source: [0xCD89], NFC: [0xCD89], NFD: [0x110E, 0x116D, 0x11B8], NFKC: [0xCD89], NFKD: [0x110E, 0x116D, 0x11B8] }, -{ source: [0xCD8A], NFC: [0xCD8A], NFD: [0x110E, 0x116D, 0x11B9], NFKC: [0xCD8A], NFKD: [0x110E, 0x116D, 0x11B9] }, -{ source: [0xCD8B], NFC: [0xCD8B], NFD: [0x110E, 0x116D, 0x11BA], NFKC: [0xCD8B], NFKD: [0x110E, 0x116D, 0x11BA] }, -{ source: [0xCD8C], NFC: [0xCD8C], NFD: [0x110E, 0x116D, 0x11BB], NFKC: [0xCD8C], NFKD: [0x110E, 0x116D, 0x11BB] }, -{ source: [0xCD8D], NFC: [0xCD8D], NFD: [0x110E, 0x116D, 0x11BC], NFKC: [0xCD8D], NFKD: [0x110E, 0x116D, 0x11BC] }, -{ source: [0xCD8E], NFC: [0xCD8E], NFD: [0x110E, 0x116D, 0x11BD], NFKC: [0xCD8E], NFKD: [0x110E, 0x116D, 0x11BD] }, -{ source: [0xCD8F], NFC: [0xCD8F], NFD: [0x110E, 0x116D, 0x11BE], NFKC: [0xCD8F], NFKD: [0x110E, 0x116D, 0x11BE] }, -{ source: [0xCD90], NFC: [0xCD90], NFD: [0x110E, 0x116D, 0x11BF], NFKC: [0xCD90], NFKD: [0x110E, 0x116D, 0x11BF] }, -{ source: [0xCD91], NFC: [0xCD91], NFD: [0x110E, 0x116D, 0x11C0], NFKC: [0xCD91], NFKD: [0x110E, 0x116D, 0x11C0] }, -{ source: [0xCD92], NFC: [0xCD92], NFD: [0x110E, 0x116D, 0x11C1], NFKC: [0xCD92], NFKD: [0x110E, 0x116D, 0x11C1] }, -{ source: [0xCD93], NFC: [0xCD93], NFD: [0x110E, 0x116D, 0x11C2], NFKC: [0xCD93], NFKD: [0x110E, 0x116D, 0x11C2] }, -{ source: [0xCD94], NFC: [0xCD94], NFD: [0x110E, 0x116E], NFKC: [0xCD94], NFKD: [0x110E, 0x116E] }, -{ source: [0xCD95], NFC: [0xCD95], NFD: [0x110E, 0x116E, 0x11A8], NFKC: [0xCD95], NFKD: [0x110E, 0x116E, 0x11A8] }, -{ source: [0xCD96], NFC: [0xCD96], NFD: [0x110E, 0x116E, 0x11A9], NFKC: [0xCD96], NFKD: [0x110E, 0x116E, 0x11A9] }, -{ source: [0xCD97], NFC: [0xCD97], NFD: [0x110E, 0x116E, 0x11AA], NFKC: [0xCD97], NFKD: [0x110E, 0x116E, 0x11AA] }, -{ source: [0xCD98], NFC: [0xCD98], NFD: [0x110E, 0x116E, 0x11AB], NFKC: [0xCD98], NFKD: [0x110E, 0x116E, 0x11AB] }, -{ source: [0xCD99], NFC: [0xCD99], NFD: [0x110E, 0x116E, 0x11AC], NFKC: [0xCD99], NFKD: [0x110E, 0x116E, 0x11AC] }, -{ source: [0xCD9A], NFC: [0xCD9A], NFD: [0x110E, 0x116E, 0x11AD], NFKC: [0xCD9A], NFKD: [0x110E, 0x116E, 0x11AD] }, -{ source: [0xCD9B], NFC: [0xCD9B], NFD: [0x110E, 0x116E, 0x11AE], NFKC: [0xCD9B], NFKD: [0x110E, 0x116E, 0x11AE] }, -{ source: [0xCD9C], NFC: [0xCD9C], NFD: [0x110E, 0x116E, 0x11AF], NFKC: [0xCD9C], NFKD: [0x110E, 0x116E, 0x11AF] }, -{ source: [0xCD9D], NFC: [0xCD9D], NFD: [0x110E, 0x116E, 0x11B0], NFKC: [0xCD9D], NFKD: [0x110E, 0x116E, 0x11B0] }, -{ source: [0xCD9E], NFC: [0xCD9E], NFD: [0x110E, 0x116E, 0x11B1], NFKC: [0xCD9E], NFKD: [0x110E, 0x116E, 0x11B1] }, -{ source: [0xCD9F], NFC: [0xCD9F], NFD: [0x110E, 0x116E, 0x11B2], NFKC: [0xCD9F], NFKD: [0x110E, 0x116E, 0x11B2] }, -{ source: [0xCDA0], NFC: [0xCDA0], NFD: [0x110E, 0x116E, 0x11B3], NFKC: [0xCDA0], NFKD: [0x110E, 0x116E, 0x11B3] }, -{ source: [0xCDA1], NFC: [0xCDA1], NFD: [0x110E, 0x116E, 0x11B4], NFKC: [0xCDA1], NFKD: [0x110E, 0x116E, 0x11B4] }, -{ source: [0xCDA2], NFC: [0xCDA2], NFD: [0x110E, 0x116E, 0x11B5], NFKC: [0xCDA2], NFKD: [0x110E, 0x116E, 0x11B5] }, -{ source: [0xCDA3], NFC: [0xCDA3], NFD: [0x110E, 0x116E, 0x11B6], NFKC: [0xCDA3], NFKD: [0x110E, 0x116E, 0x11B6] }, -{ source: [0xCDA4], NFC: [0xCDA4], NFD: [0x110E, 0x116E, 0x11B7], NFKC: [0xCDA4], NFKD: [0x110E, 0x116E, 0x11B7] }, -{ source: [0xCDA5], NFC: [0xCDA5], NFD: [0x110E, 0x116E, 0x11B8], NFKC: [0xCDA5], NFKD: [0x110E, 0x116E, 0x11B8] }, -{ source: [0xCDA6], NFC: [0xCDA6], NFD: [0x110E, 0x116E, 0x11B9], NFKC: [0xCDA6], NFKD: [0x110E, 0x116E, 0x11B9] }, -{ source: [0xCDA7], NFC: [0xCDA7], NFD: [0x110E, 0x116E, 0x11BA], NFKC: [0xCDA7], NFKD: [0x110E, 0x116E, 0x11BA] }, -{ source: [0xCDA8], NFC: [0xCDA8], NFD: [0x110E, 0x116E, 0x11BB], NFKC: [0xCDA8], NFKD: [0x110E, 0x116E, 0x11BB] }, -{ source: [0xCDA9], NFC: [0xCDA9], NFD: [0x110E, 0x116E, 0x11BC], NFKC: [0xCDA9], NFKD: [0x110E, 0x116E, 0x11BC] }, -{ source: [0xCDAA], NFC: [0xCDAA], NFD: [0x110E, 0x116E, 0x11BD], NFKC: [0xCDAA], NFKD: [0x110E, 0x116E, 0x11BD] }, -{ source: [0xCDAB], NFC: [0xCDAB], NFD: [0x110E, 0x116E, 0x11BE], NFKC: [0xCDAB], NFKD: [0x110E, 0x116E, 0x11BE] }, -{ source: [0xCDAC], NFC: [0xCDAC], NFD: [0x110E, 0x116E, 0x11BF], NFKC: [0xCDAC], NFKD: [0x110E, 0x116E, 0x11BF] }, -{ source: [0xCDAD], NFC: [0xCDAD], NFD: [0x110E, 0x116E, 0x11C0], NFKC: [0xCDAD], NFKD: [0x110E, 0x116E, 0x11C0] }, -{ source: [0xCDAE], NFC: [0xCDAE], NFD: [0x110E, 0x116E, 0x11C1], NFKC: [0xCDAE], NFKD: [0x110E, 0x116E, 0x11C1] }, -{ source: [0xCDAF], NFC: [0xCDAF], NFD: [0x110E, 0x116E, 0x11C2], NFKC: [0xCDAF], NFKD: [0x110E, 0x116E, 0x11C2] }, -{ source: [0xCDB0], NFC: [0xCDB0], NFD: [0x110E, 0x116F], NFKC: [0xCDB0], NFKD: [0x110E, 0x116F] }, -{ source: [0xCDB1], NFC: [0xCDB1], NFD: [0x110E, 0x116F, 0x11A8], NFKC: [0xCDB1], NFKD: [0x110E, 0x116F, 0x11A8] }, -{ source: [0xCDB2], NFC: [0xCDB2], NFD: [0x110E, 0x116F, 0x11A9], NFKC: [0xCDB2], NFKD: [0x110E, 0x116F, 0x11A9] }, -{ source: [0xCDB3], NFC: [0xCDB3], NFD: [0x110E, 0x116F, 0x11AA], NFKC: [0xCDB3], NFKD: [0x110E, 0x116F, 0x11AA] }, -{ source: [0xCDB4], NFC: [0xCDB4], NFD: [0x110E, 0x116F, 0x11AB], NFKC: [0xCDB4], NFKD: [0x110E, 0x116F, 0x11AB] }, -{ source: [0xCDB5], NFC: [0xCDB5], NFD: [0x110E, 0x116F, 0x11AC], NFKC: [0xCDB5], NFKD: [0x110E, 0x116F, 0x11AC] }, -{ source: [0xCDB6], NFC: [0xCDB6], NFD: [0x110E, 0x116F, 0x11AD], NFKC: [0xCDB6], NFKD: [0x110E, 0x116F, 0x11AD] }, -{ source: [0xCDB7], NFC: [0xCDB7], NFD: [0x110E, 0x116F, 0x11AE], NFKC: [0xCDB7], NFKD: [0x110E, 0x116F, 0x11AE] }, -{ source: [0xCDB8], NFC: [0xCDB8], NFD: [0x110E, 0x116F, 0x11AF], NFKC: [0xCDB8], NFKD: [0x110E, 0x116F, 0x11AF] }, -{ source: [0xCDB9], NFC: [0xCDB9], NFD: [0x110E, 0x116F, 0x11B0], NFKC: [0xCDB9], NFKD: [0x110E, 0x116F, 0x11B0] }, -{ source: [0xCDBA], NFC: [0xCDBA], NFD: [0x110E, 0x116F, 0x11B1], NFKC: [0xCDBA], NFKD: [0x110E, 0x116F, 0x11B1] }, -{ source: [0xCDBB], NFC: [0xCDBB], NFD: [0x110E, 0x116F, 0x11B2], NFKC: [0xCDBB], NFKD: [0x110E, 0x116F, 0x11B2] }, -{ source: [0xCDBC], NFC: [0xCDBC], NFD: [0x110E, 0x116F, 0x11B3], NFKC: [0xCDBC], NFKD: [0x110E, 0x116F, 0x11B3] }, -{ source: [0xCDBD], NFC: [0xCDBD], NFD: [0x110E, 0x116F, 0x11B4], NFKC: [0xCDBD], NFKD: [0x110E, 0x116F, 0x11B4] }, -{ source: [0xCDBE], NFC: [0xCDBE], NFD: [0x110E, 0x116F, 0x11B5], NFKC: [0xCDBE], NFKD: [0x110E, 0x116F, 0x11B5] }, -{ source: [0xCDBF], NFC: [0xCDBF], NFD: [0x110E, 0x116F, 0x11B6], NFKC: [0xCDBF], NFKD: [0x110E, 0x116F, 0x11B6] }, -{ source: [0xCDC0], NFC: [0xCDC0], NFD: [0x110E, 0x116F, 0x11B7], NFKC: [0xCDC0], NFKD: [0x110E, 0x116F, 0x11B7] }, -{ source: [0xCDC1], NFC: [0xCDC1], NFD: [0x110E, 0x116F, 0x11B8], NFKC: [0xCDC1], NFKD: [0x110E, 0x116F, 0x11B8] }, -{ source: [0xCDC2], NFC: [0xCDC2], NFD: [0x110E, 0x116F, 0x11B9], NFKC: [0xCDC2], NFKD: [0x110E, 0x116F, 0x11B9] }, -{ source: [0xCDC3], NFC: [0xCDC3], NFD: [0x110E, 0x116F, 0x11BA], NFKC: [0xCDC3], NFKD: [0x110E, 0x116F, 0x11BA] }, -{ source: [0xCDC4], NFC: [0xCDC4], NFD: [0x110E, 0x116F, 0x11BB], NFKC: [0xCDC4], NFKD: [0x110E, 0x116F, 0x11BB] }, -{ source: [0xCDC5], NFC: [0xCDC5], NFD: [0x110E, 0x116F, 0x11BC], NFKC: [0xCDC5], NFKD: [0x110E, 0x116F, 0x11BC] }, -{ source: [0xCDC6], NFC: [0xCDC6], NFD: [0x110E, 0x116F, 0x11BD], NFKC: [0xCDC6], NFKD: [0x110E, 0x116F, 0x11BD] }, -{ source: [0xCDC7], NFC: [0xCDC7], NFD: [0x110E, 0x116F, 0x11BE], NFKC: [0xCDC7], NFKD: [0x110E, 0x116F, 0x11BE] }, -{ source: [0xCDC8], NFC: [0xCDC8], NFD: [0x110E, 0x116F, 0x11BF], NFKC: [0xCDC8], NFKD: [0x110E, 0x116F, 0x11BF] }, -{ source: [0xCDC9], NFC: [0xCDC9], NFD: [0x110E, 0x116F, 0x11C0], NFKC: [0xCDC9], NFKD: [0x110E, 0x116F, 0x11C0] }, -{ source: [0xCDCA], NFC: [0xCDCA], NFD: [0x110E, 0x116F, 0x11C1], NFKC: [0xCDCA], NFKD: [0x110E, 0x116F, 0x11C1] }, -{ source: [0xCDCB], NFC: [0xCDCB], NFD: [0x110E, 0x116F, 0x11C2], NFKC: [0xCDCB], NFKD: [0x110E, 0x116F, 0x11C2] }, -{ source: [0xCDCC], NFC: [0xCDCC], NFD: [0x110E, 0x1170], NFKC: [0xCDCC], NFKD: [0x110E, 0x1170] }, -{ source: [0xCDCD], NFC: [0xCDCD], NFD: [0x110E, 0x1170, 0x11A8], NFKC: [0xCDCD], NFKD: [0x110E, 0x1170, 0x11A8] }, -{ source: [0xCDCE], NFC: [0xCDCE], NFD: [0x110E, 0x1170, 0x11A9], NFKC: [0xCDCE], NFKD: [0x110E, 0x1170, 0x11A9] }, -{ source: [0xCDCF], NFC: [0xCDCF], NFD: [0x110E, 0x1170, 0x11AA], NFKC: [0xCDCF], NFKD: [0x110E, 0x1170, 0x11AA] }, -{ source: [0xCDD0], NFC: [0xCDD0], NFD: [0x110E, 0x1170, 0x11AB], NFKC: [0xCDD0], NFKD: [0x110E, 0x1170, 0x11AB] }, -{ source: [0xCDD1], NFC: [0xCDD1], NFD: [0x110E, 0x1170, 0x11AC], NFKC: [0xCDD1], NFKD: [0x110E, 0x1170, 0x11AC] }, -{ source: [0xCDD2], NFC: [0xCDD2], NFD: [0x110E, 0x1170, 0x11AD], NFKC: [0xCDD2], NFKD: [0x110E, 0x1170, 0x11AD] }, -{ source: [0xCDD3], NFC: [0xCDD3], NFD: [0x110E, 0x1170, 0x11AE], NFKC: [0xCDD3], NFKD: [0x110E, 0x1170, 0x11AE] }, -{ source: [0xCDD4], NFC: [0xCDD4], NFD: [0x110E, 0x1170, 0x11AF], NFKC: [0xCDD4], NFKD: [0x110E, 0x1170, 0x11AF] }, -{ source: [0xCDD5], NFC: [0xCDD5], NFD: [0x110E, 0x1170, 0x11B0], NFKC: [0xCDD5], NFKD: [0x110E, 0x1170, 0x11B0] }, -{ source: [0xCDD6], NFC: [0xCDD6], NFD: [0x110E, 0x1170, 0x11B1], NFKC: [0xCDD6], NFKD: [0x110E, 0x1170, 0x11B1] }, -{ source: [0xCDD7], NFC: [0xCDD7], NFD: [0x110E, 0x1170, 0x11B2], NFKC: [0xCDD7], NFKD: [0x110E, 0x1170, 0x11B2] }, -{ source: [0xCDD8], NFC: [0xCDD8], NFD: [0x110E, 0x1170, 0x11B3], NFKC: [0xCDD8], NFKD: [0x110E, 0x1170, 0x11B3] }, -{ source: [0xCDD9], NFC: [0xCDD9], NFD: [0x110E, 0x1170, 0x11B4], NFKC: [0xCDD9], NFKD: [0x110E, 0x1170, 0x11B4] }, -{ source: [0xCDDA], NFC: [0xCDDA], NFD: [0x110E, 0x1170, 0x11B5], NFKC: [0xCDDA], NFKD: [0x110E, 0x1170, 0x11B5] }, -{ source: [0xCDDB], NFC: [0xCDDB], NFD: [0x110E, 0x1170, 0x11B6], NFKC: [0xCDDB], NFKD: [0x110E, 0x1170, 0x11B6] }, -{ source: [0xCDDC], NFC: [0xCDDC], NFD: [0x110E, 0x1170, 0x11B7], NFKC: [0xCDDC], NFKD: [0x110E, 0x1170, 0x11B7] }, -{ source: [0xCDDD], NFC: [0xCDDD], NFD: [0x110E, 0x1170, 0x11B8], NFKC: [0xCDDD], NFKD: [0x110E, 0x1170, 0x11B8] }, -{ source: [0xCDDE], NFC: [0xCDDE], NFD: [0x110E, 0x1170, 0x11B9], NFKC: [0xCDDE], NFKD: [0x110E, 0x1170, 0x11B9] }, -{ source: [0xCDDF], NFC: [0xCDDF], NFD: [0x110E, 0x1170, 0x11BA], NFKC: [0xCDDF], NFKD: [0x110E, 0x1170, 0x11BA] }, -{ source: [0xCDE0], NFC: [0xCDE0], NFD: [0x110E, 0x1170, 0x11BB], NFKC: [0xCDE0], NFKD: [0x110E, 0x1170, 0x11BB] }, -{ source: [0xCDE1], NFC: [0xCDE1], NFD: [0x110E, 0x1170, 0x11BC], NFKC: [0xCDE1], NFKD: [0x110E, 0x1170, 0x11BC] }, -{ source: [0xCDE2], NFC: [0xCDE2], NFD: [0x110E, 0x1170, 0x11BD], NFKC: [0xCDE2], NFKD: [0x110E, 0x1170, 0x11BD] }, -{ source: [0xCDE3], NFC: [0xCDE3], NFD: [0x110E, 0x1170, 0x11BE], NFKC: [0xCDE3], NFKD: [0x110E, 0x1170, 0x11BE] }, -{ source: [0xCDE4], NFC: [0xCDE4], NFD: [0x110E, 0x1170, 0x11BF], NFKC: [0xCDE4], NFKD: [0x110E, 0x1170, 0x11BF] }, -{ source: [0xCDE5], NFC: [0xCDE5], NFD: [0x110E, 0x1170, 0x11C0], NFKC: [0xCDE5], NFKD: [0x110E, 0x1170, 0x11C0] }, -{ source: [0xCDE6], NFC: [0xCDE6], NFD: [0x110E, 0x1170, 0x11C1], NFKC: [0xCDE6], NFKD: [0x110E, 0x1170, 0x11C1] }, -{ source: [0xCDE7], NFC: [0xCDE7], NFD: [0x110E, 0x1170, 0x11C2], NFKC: [0xCDE7], NFKD: [0x110E, 0x1170, 0x11C2] }, -{ source: [0xCDE8], NFC: [0xCDE8], NFD: [0x110E, 0x1171], NFKC: [0xCDE8], NFKD: [0x110E, 0x1171] }, -{ source: [0xCDE9], NFC: [0xCDE9], NFD: [0x110E, 0x1171, 0x11A8], NFKC: [0xCDE9], NFKD: [0x110E, 0x1171, 0x11A8] }, -{ source: [0xCDEA], NFC: [0xCDEA], NFD: [0x110E, 0x1171, 0x11A9], NFKC: [0xCDEA], NFKD: [0x110E, 0x1171, 0x11A9] }, -{ source: [0xCDEB], NFC: [0xCDEB], NFD: [0x110E, 0x1171, 0x11AA], NFKC: [0xCDEB], NFKD: [0x110E, 0x1171, 0x11AA] }, -{ source: [0xCDEC], NFC: [0xCDEC], NFD: [0x110E, 0x1171, 0x11AB], NFKC: [0xCDEC], NFKD: [0x110E, 0x1171, 0x11AB] }, -{ source: [0xCDED], NFC: [0xCDED], NFD: [0x110E, 0x1171, 0x11AC], NFKC: [0xCDED], NFKD: [0x110E, 0x1171, 0x11AC] }, -{ source: [0xCDEE], NFC: [0xCDEE], NFD: [0x110E, 0x1171, 0x11AD], NFKC: [0xCDEE], NFKD: [0x110E, 0x1171, 0x11AD] }, -{ source: [0xCDEF], NFC: [0xCDEF], NFD: [0x110E, 0x1171, 0x11AE], NFKC: [0xCDEF], NFKD: [0x110E, 0x1171, 0x11AE] }, -{ source: [0xCDF0], NFC: [0xCDF0], NFD: [0x110E, 0x1171, 0x11AF], NFKC: [0xCDF0], NFKD: [0x110E, 0x1171, 0x11AF] }, -{ source: [0xCDF1], NFC: [0xCDF1], NFD: [0x110E, 0x1171, 0x11B0], NFKC: [0xCDF1], NFKD: [0x110E, 0x1171, 0x11B0] }, -{ source: [0xCDF2], NFC: [0xCDF2], NFD: [0x110E, 0x1171, 0x11B1], NFKC: [0xCDF2], NFKD: [0x110E, 0x1171, 0x11B1] }, -{ source: [0xCDF3], NFC: [0xCDF3], NFD: [0x110E, 0x1171, 0x11B2], NFKC: [0xCDF3], NFKD: [0x110E, 0x1171, 0x11B2] }, -{ source: [0xCDF4], NFC: [0xCDF4], NFD: [0x110E, 0x1171, 0x11B3], NFKC: [0xCDF4], NFKD: [0x110E, 0x1171, 0x11B3] }, -{ source: [0xCDF5], NFC: [0xCDF5], NFD: [0x110E, 0x1171, 0x11B4], NFKC: [0xCDF5], NFKD: [0x110E, 0x1171, 0x11B4] }, -{ source: [0xCDF6], NFC: [0xCDF6], NFD: [0x110E, 0x1171, 0x11B5], NFKC: [0xCDF6], NFKD: [0x110E, 0x1171, 0x11B5] }, -{ source: [0xCDF7], NFC: [0xCDF7], NFD: [0x110E, 0x1171, 0x11B6], NFKC: [0xCDF7], NFKD: [0x110E, 0x1171, 0x11B6] }, -{ source: [0xCDF8], NFC: [0xCDF8], NFD: [0x110E, 0x1171, 0x11B7], NFKC: [0xCDF8], NFKD: [0x110E, 0x1171, 0x11B7] }, -{ source: [0xCDF9], NFC: [0xCDF9], NFD: [0x110E, 0x1171, 0x11B8], NFKC: [0xCDF9], NFKD: [0x110E, 0x1171, 0x11B8] }, -{ source: [0xCDFA], NFC: [0xCDFA], NFD: [0x110E, 0x1171, 0x11B9], NFKC: [0xCDFA], NFKD: [0x110E, 0x1171, 0x11B9] }, -{ source: [0xCDFB], NFC: [0xCDFB], NFD: [0x110E, 0x1171, 0x11BA], NFKC: [0xCDFB], NFKD: [0x110E, 0x1171, 0x11BA] }, -{ source: [0xCDFC], NFC: [0xCDFC], NFD: [0x110E, 0x1171, 0x11BB], NFKC: [0xCDFC], NFKD: [0x110E, 0x1171, 0x11BB] }, -{ source: [0xCDFD], NFC: [0xCDFD], NFD: [0x110E, 0x1171, 0x11BC], NFKC: [0xCDFD], NFKD: [0x110E, 0x1171, 0x11BC] }, -{ source: [0xCDFE], NFC: [0xCDFE], NFD: [0x110E, 0x1171, 0x11BD], NFKC: [0xCDFE], NFKD: [0x110E, 0x1171, 0x11BD] }, -{ source: [0xCDFF], NFC: [0xCDFF], NFD: [0x110E, 0x1171, 0x11BE], NFKC: [0xCDFF], NFKD: [0x110E, 0x1171, 0x11BE] }, -{ source: [0xCE00], NFC: [0xCE00], NFD: [0x110E, 0x1171, 0x11BF], NFKC: [0xCE00], NFKD: [0x110E, 0x1171, 0x11BF] }, -{ source: [0xCE01], NFC: [0xCE01], NFD: [0x110E, 0x1171, 0x11C0], NFKC: [0xCE01], NFKD: [0x110E, 0x1171, 0x11C0] }, -{ source: [0xCE02], NFC: [0xCE02], NFD: [0x110E, 0x1171, 0x11C1], NFKC: [0xCE02], NFKD: [0x110E, 0x1171, 0x11C1] }, -{ source: [0xCE03], NFC: [0xCE03], NFD: [0x110E, 0x1171, 0x11C2], NFKC: [0xCE03], NFKD: [0x110E, 0x1171, 0x11C2] }, -{ source: [0xCE04], NFC: [0xCE04], NFD: [0x110E, 0x1172], NFKC: [0xCE04], NFKD: [0x110E, 0x1172] }, -{ source: [0xCE05], NFC: [0xCE05], NFD: [0x110E, 0x1172, 0x11A8], NFKC: [0xCE05], NFKD: [0x110E, 0x1172, 0x11A8] }, -{ source: [0xCE06], NFC: [0xCE06], NFD: [0x110E, 0x1172, 0x11A9], NFKC: [0xCE06], NFKD: [0x110E, 0x1172, 0x11A9] }, -{ source: [0xCE07], NFC: [0xCE07], NFD: [0x110E, 0x1172, 0x11AA], NFKC: [0xCE07], NFKD: [0x110E, 0x1172, 0x11AA] }, -{ source: [0xCE08], NFC: [0xCE08], NFD: [0x110E, 0x1172, 0x11AB], NFKC: [0xCE08], NFKD: [0x110E, 0x1172, 0x11AB] }, -{ source: [0xCE09], NFC: [0xCE09], NFD: [0x110E, 0x1172, 0x11AC], NFKC: [0xCE09], NFKD: [0x110E, 0x1172, 0x11AC] }, -{ source: [0xCE0A], NFC: [0xCE0A], NFD: [0x110E, 0x1172, 0x11AD], NFKC: [0xCE0A], NFKD: [0x110E, 0x1172, 0x11AD] }, -{ source: [0xCE0B], NFC: [0xCE0B], NFD: [0x110E, 0x1172, 0x11AE], NFKC: [0xCE0B], NFKD: [0x110E, 0x1172, 0x11AE] }, -{ source: [0xCE0C], NFC: [0xCE0C], NFD: [0x110E, 0x1172, 0x11AF], NFKC: [0xCE0C], NFKD: [0x110E, 0x1172, 0x11AF] }, -{ source: [0xCE0D], NFC: [0xCE0D], NFD: [0x110E, 0x1172, 0x11B0], NFKC: [0xCE0D], NFKD: [0x110E, 0x1172, 0x11B0] }, -{ source: [0xCE0E], NFC: [0xCE0E], NFD: [0x110E, 0x1172, 0x11B1], NFKC: [0xCE0E], NFKD: [0x110E, 0x1172, 0x11B1] }, -{ source: [0xCE0F], NFC: [0xCE0F], NFD: [0x110E, 0x1172, 0x11B2], NFKC: [0xCE0F], NFKD: [0x110E, 0x1172, 0x11B2] }, -{ source: [0xCE10], NFC: [0xCE10], NFD: [0x110E, 0x1172, 0x11B3], NFKC: [0xCE10], NFKD: [0x110E, 0x1172, 0x11B3] }, -{ source: [0xCE11], NFC: [0xCE11], NFD: [0x110E, 0x1172, 0x11B4], NFKC: [0xCE11], NFKD: [0x110E, 0x1172, 0x11B4] }, -{ source: [0xCE12], NFC: [0xCE12], NFD: [0x110E, 0x1172, 0x11B5], NFKC: [0xCE12], NFKD: [0x110E, 0x1172, 0x11B5] }, -{ source: [0xCE13], NFC: [0xCE13], NFD: [0x110E, 0x1172, 0x11B6], NFKC: [0xCE13], NFKD: [0x110E, 0x1172, 0x11B6] }, -{ source: [0xCE14], NFC: [0xCE14], NFD: [0x110E, 0x1172, 0x11B7], NFKC: [0xCE14], NFKD: [0x110E, 0x1172, 0x11B7] }, -{ source: [0xCE15], NFC: [0xCE15], NFD: [0x110E, 0x1172, 0x11B8], NFKC: [0xCE15], NFKD: [0x110E, 0x1172, 0x11B8] }, -{ source: [0xCE16], NFC: [0xCE16], NFD: [0x110E, 0x1172, 0x11B9], NFKC: [0xCE16], NFKD: [0x110E, 0x1172, 0x11B9] }, -{ source: [0xCE17], NFC: [0xCE17], NFD: [0x110E, 0x1172, 0x11BA], NFKC: [0xCE17], NFKD: [0x110E, 0x1172, 0x11BA] }, -{ source: [0xCE18], NFC: [0xCE18], NFD: [0x110E, 0x1172, 0x11BB], NFKC: [0xCE18], NFKD: [0x110E, 0x1172, 0x11BB] }, -{ source: [0xCE19], NFC: [0xCE19], NFD: [0x110E, 0x1172, 0x11BC], NFKC: [0xCE19], NFKD: [0x110E, 0x1172, 0x11BC] }, -{ source: [0xCE1A], NFC: [0xCE1A], NFD: [0x110E, 0x1172, 0x11BD], NFKC: [0xCE1A], NFKD: [0x110E, 0x1172, 0x11BD] }, -{ source: [0xCE1B], NFC: [0xCE1B], NFD: [0x110E, 0x1172, 0x11BE], NFKC: [0xCE1B], NFKD: [0x110E, 0x1172, 0x11BE] }, -{ source: [0xCE1C], NFC: [0xCE1C], NFD: [0x110E, 0x1172, 0x11BF], NFKC: [0xCE1C], NFKD: [0x110E, 0x1172, 0x11BF] }, -{ source: [0xCE1D], NFC: [0xCE1D], NFD: [0x110E, 0x1172, 0x11C0], NFKC: [0xCE1D], NFKD: [0x110E, 0x1172, 0x11C0] }, -{ source: [0xCE1E], NFC: [0xCE1E], NFD: [0x110E, 0x1172, 0x11C1], NFKC: [0xCE1E], NFKD: [0x110E, 0x1172, 0x11C1] }, -{ source: [0xCE1F], NFC: [0xCE1F], NFD: [0x110E, 0x1172, 0x11C2], NFKC: [0xCE1F], NFKD: [0x110E, 0x1172, 0x11C2] }, -{ source: [0xCE20], NFC: [0xCE20], NFD: [0x110E, 0x1173], NFKC: [0xCE20], NFKD: [0x110E, 0x1173] }, -{ source: [0xCE21], NFC: [0xCE21], NFD: [0x110E, 0x1173, 0x11A8], NFKC: [0xCE21], NFKD: [0x110E, 0x1173, 0x11A8] }, -{ source: [0xCE22], NFC: [0xCE22], NFD: [0x110E, 0x1173, 0x11A9], NFKC: [0xCE22], NFKD: [0x110E, 0x1173, 0x11A9] }, -{ source: [0xCE23], NFC: [0xCE23], NFD: [0x110E, 0x1173, 0x11AA], NFKC: [0xCE23], NFKD: [0x110E, 0x1173, 0x11AA] }, -{ source: [0xCE24], NFC: [0xCE24], NFD: [0x110E, 0x1173, 0x11AB], NFKC: [0xCE24], NFKD: [0x110E, 0x1173, 0x11AB] }, -{ source: [0xCE25], NFC: [0xCE25], NFD: [0x110E, 0x1173, 0x11AC], NFKC: [0xCE25], NFKD: [0x110E, 0x1173, 0x11AC] }, -{ source: [0xCE26], NFC: [0xCE26], NFD: [0x110E, 0x1173, 0x11AD], NFKC: [0xCE26], NFKD: [0x110E, 0x1173, 0x11AD] }, -{ source: [0xCE27], NFC: [0xCE27], NFD: [0x110E, 0x1173, 0x11AE], NFKC: [0xCE27], NFKD: [0x110E, 0x1173, 0x11AE] }, -{ source: [0xCE28], NFC: [0xCE28], NFD: [0x110E, 0x1173, 0x11AF], NFKC: [0xCE28], NFKD: [0x110E, 0x1173, 0x11AF] }, -{ source: [0xCE29], NFC: [0xCE29], NFD: [0x110E, 0x1173, 0x11B0], NFKC: [0xCE29], NFKD: [0x110E, 0x1173, 0x11B0] }, -{ source: [0xCE2A], NFC: [0xCE2A], NFD: [0x110E, 0x1173, 0x11B1], NFKC: [0xCE2A], NFKD: [0x110E, 0x1173, 0x11B1] }, -{ source: [0xCE2B], NFC: [0xCE2B], NFD: [0x110E, 0x1173, 0x11B2], NFKC: [0xCE2B], NFKD: [0x110E, 0x1173, 0x11B2] }, -{ source: [0xCE2C], NFC: [0xCE2C], NFD: [0x110E, 0x1173, 0x11B3], NFKC: [0xCE2C], NFKD: [0x110E, 0x1173, 0x11B3] }, -{ source: [0xCE2D], NFC: [0xCE2D], NFD: [0x110E, 0x1173, 0x11B4], NFKC: [0xCE2D], NFKD: [0x110E, 0x1173, 0x11B4] }, -{ source: [0xCE2E], NFC: [0xCE2E], NFD: [0x110E, 0x1173, 0x11B5], NFKC: [0xCE2E], NFKD: [0x110E, 0x1173, 0x11B5] }, -{ source: [0xCE2F], NFC: [0xCE2F], NFD: [0x110E, 0x1173, 0x11B6], NFKC: [0xCE2F], NFKD: [0x110E, 0x1173, 0x11B6] }, -{ source: [0xCE30], NFC: [0xCE30], NFD: [0x110E, 0x1173, 0x11B7], NFKC: [0xCE30], NFKD: [0x110E, 0x1173, 0x11B7] }, -{ source: [0xCE31], NFC: [0xCE31], NFD: [0x110E, 0x1173, 0x11B8], NFKC: [0xCE31], NFKD: [0x110E, 0x1173, 0x11B8] }, -{ source: [0xCE32], NFC: [0xCE32], NFD: [0x110E, 0x1173, 0x11B9], NFKC: [0xCE32], NFKD: [0x110E, 0x1173, 0x11B9] }, -{ source: [0xCE33], NFC: [0xCE33], NFD: [0x110E, 0x1173, 0x11BA], NFKC: [0xCE33], NFKD: [0x110E, 0x1173, 0x11BA] }, -{ source: [0xCE34], NFC: [0xCE34], NFD: [0x110E, 0x1173, 0x11BB], NFKC: [0xCE34], NFKD: [0x110E, 0x1173, 0x11BB] }, -{ source: [0xCE35], NFC: [0xCE35], NFD: [0x110E, 0x1173, 0x11BC], NFKC: [0xCE35], NFKD: [0x110E, 0x1173, 0x11BC] }, -{ source: [0xCE36], NFC: [0xCE36], NFD: [0x110E, 0x1173, 0x11BD], NFKC: [0xCE36], NFKD: [0x110E, 0x1173, 0x11BD] }, -{ source: [0xCE37], NFC: [0xCE37], NFD: [0x110E, 0x1173, 0x11BE], NFKC: [0xCE37], NFKD: [0x110E, 0x1173, 0x11BE] }, -{ source: [0xCE38], NFC: [0xCE38], NFD: [0x110E, 0x1173, 0x11BF], NFKC: [0xCE38], NFKD: [0x110E, 0x1173, 0x11BF] }, -{ source: [0xCE39], NFC: [0xCE39], NFD: [0x110E, 0x1173, 0x11C0], NFKC: [0xCE39], NFKD: [0x110E, 0x1173, 0x11C0] }, -{ source: [0xCE3A], NFC: [0xCE3A], NFD: [0x110E, 0x1173, 0x11C1], NFKC: [0xCE3A], NFKD: [0x110E, 0x1173, 0x11C1] }, -{ source: [0xCE3B], NFC: [0xCE3B], NFD: [0x110E, 0x1173, 0x11C2], NFKC: [0xCE3B], NFKD: [0x110E, 0x1173, 0x11C2] }, -{ source: [0xCE3C], NFC: [0xCE3C], NFD: [0x110E, 0x1174], NFKC: [0xCE3C], NFKD: [0x110E, 0x1174] }, -{ source: [0xCE3D], NFC: [0xCE3D], NFD: [0x110E, 0x1174, 0x11A8], NFKC: [0xCE3D], NFKD: [0x110E, 0x1174, 0x11A8] }, -{ source: [0xCE3E], NFC: [0xCE3E], NFD: [0x110E, 0x1174, 0x11A9], NFKC: [0xCE3E], NFKD: [0x110E, 0x1174, 0x11A9] }, -{ source: [0xCE3F], NFC: [0xCE3F], NFD: [0x110E, 0x1174, 0x11AA], NFKC: [0xCE3F], NFKD: [0x110E, 0x1174, 0x11AA] }, -{ source: [0xCE40], NFC: [0xCE40], NFD: [0x110E, 0x1174, 0x11AB], NFKC: [0xCE40], NFKD: [0x110E, 0x1174, 0x11AB] }, -{ source: [0xCE41], NFC: [0xCE41], NFD: [0x110E, 0x1174, 0x11AC], NFKC: [0xCE41], NFKD: [0x110E, 0x1174, 0x11AC] }, -{ source: [0xCE42], NFC: [0xCE42], NFD: [0x110E, 0x1174, 0x11AD], NFKC: [0xCE42], NFKD: [0x110E, 0x1174, 0x11AD] }, -{ source: [0xCE43], NFC: [0xCE43], NFD: [0x110E, 0x1174, 0x11AE], NFKC: [0xCE43], NFKD: [0x110E, 0x1174, 0x11AE] }, -{ source: [0xCE44], NFC: [0xCE44], NFD: [0x110E, 0x1174, 0x11AF], NFKC: [0xCE44], NFKD: [0x110E, 0x1174, 0x11AF] }, -{ source: [0xCE45], NFC: [0xCE45], NFD: [0x110E, 0x1174, 0x11B0], NFKC: [0xCE45], NFKD: [0x110E, 0x1174, 0x11B0] }, -{ source: [0xCE46], NFC: [0xCE46], NFD: [0x110E, 0x1174, 0x11B1], NFKC: [0xCE46], NFKD: [0x110E, 0x1174, 0x11B1] }, -{ source: [0xCE47], NFC: [0xCE47], NFD: [0x110E, 0x1174, 0x11B2], NFKC: [0xCE47], NFKD: [0x110E, 0x1174, 0x11B2] }, -{ source: [0xCE48], NFC: [0xCE48], NFD: [0x110E, 0x1174, 0x11B3], NFKC: [0xCE48], NFKD: [0x110E, 0x1174, 0x11B3] }, -{ source: [0xCE49], NFC: [0xCE49], NFD: [0x110E, 0x1174, 0x11B4], NFKC: [0xCE49], NFKD: [0x110E, 0x1174, 0x11B4] }, -{ source: [0xCE4A], NFC: [0xCE4A], NFD: [0x110E, 0x1174, 0x11B5], NFKC: [0xCE4A], NFKD: [0x110E, 0x1174, 0x11B5] }, -{ source: [0xCE4B], NFC: [0xCE4B], NFD: [0x110E, 0x1174, 0x11B6], NFKC: [0xCE4B], NFKD: [0x110E, 0x1174, 0x11B6] }, -{ source: [0xCE4C], NFC: [0xCE4C], NFD: [0x110E, 0x1174, 0x11B7], NFKC: [0xCE4C], NFKD: [0x110E, 0x1174, 0x11B7] }, -{ source: [0xCE4D], NFC: [0xCE4D], NFD: [0x110E, 0x1174, 0x11B8], NFKC: [0xCE4D], NFKD: [0x110E, 0x1174, 0x11B8] }, -{ source: [0xCE4E], NFC: [0xCE4E], NFD: [0x110E, 0x1174, 0x11B9], NFKC: [0xCE4E], NFKD: [0x110E, 0x1174, 0x11B9] }, -{ source: [0xCE4F], NFC: [0xCE4F], NFD: [0x110E, 0x1174, 0x11BA], NFKC: [0xCE4F], NFKD: [0x110E, 0x1174, 0x11BA] }, -{ source: [0xCE50], NFC: [0xCE50], NFD: [0x110E, 0x1174, 0x11BB], NFKC: [0xCE50], NFKD: [0x110E, 0x1174, 0x11BB] }, -{ source: [0xCE51], NFC: [0xCE51], NFD: [0x110E, 0x1174, 0x11BC], NFKC: [0xCE51], NFKD: [0x110E, 0x1174, 0x11BC] }, -{ source: [0xCE52], NFC: [0xCE52], NFD: [0x110E, 0x1174, 0x11BD], NFKC: [0xCE52], NFKD: [0x110E, 0x1174, 0x11BD] }, -{ source: [0xCE53], NFC: [0xCE53], NFD: [0x110E, 0x1174, 0x11BE], NFKC: [0xCE53], NFKD: [0x110E, 0x1174, 0x11BE] }, -{ source: [0xCE54], NFC: [0xCE54], NFD: [0x110E, 0x1174, 0x11BF], NFKC: [0xCE54], NFKD: [0x110E, 0x1174, 0x11BF] }, -{ source: [0xCE55], NFC: [0xCE55], NFD: [0x110E, 0x1174, 0x11C0], NFKC: [0xCE55], NFKD: [0x110E, 0x1174, 0x11C0] }, -{ source: [0xCE56], NFC: [0xCE56], NFD: [0x110E, 0x1174, 0x11C1], NFKC: [0xCE56], NFKD: [0x110E, 0x1174, 0x11C1] }, -{ source: [0xCE57], NFC: [0xCE57], NFD: [0x110E, 0x1174, 0x11C2], NFKC: [0xCE57], NFKD: [0x110E, 0x1174, 0x11C2] }, -{ source: [0xCE58], NFC: [0xCE58], NFD: [0x110E, 0x1175], NFKC: [0xCE58], NFKD: [0x110E, 0x1175] }, -{ source: [0xCE59], NFC: [0xCE59], NFD: [0x110E, 0x1175, 0x11A8], NFKC: [0xCE59], NFKD: [0x110E, 0x1175, 0x11A8] }, -{ source: [0xCE5A], NFC: [0xCE5A], NFD: [0x110E, 0x1175, 0x11A9], NFKC: [0xCE5A], NFKD: [0x110E, 0x1175, 0x11A9] }, -{ source: [0xCE5B], NFC: [0xCE5B], NFD: [0x110E, 0x1175, 0x11AA], NFKC: [0xCE5B], NFKD: [0x110E, 0x1175, 0x11AA] }, -{ source: [0xCE5C], NFC: [0xCE5C], NFD: [0x110E, 0x1175, 0x11AB], NFKC: [0xCE5C], NFKD: [0x110E, 0x1175, 0x11AB] }, -{ source: [0xCE5D], NFC: [0xCE5D], NFD: [0x110E, 0x1175, 0x11AC], NFKC: [0xCE5D], NFKD: [0x110E, 0x1175, 0x11AC] }, -{ source: [0xCE5E], NFC: [0xCE5E], NFD: [0x110E, 0x1175, 0x11AD], NFKC: [0xCE5E], NFKD: [0x110E, 0x1175, 0x11AD] }, -{ source: [0xCE5F], NFC: [0xCE5F], NFD: [0x110E, 0x1175, 0x11AE], NFKC: [0xCE5F], NFKD: [0x110E, 0x1175, 0x11AE] }, -{ source: [0xCE60], NFC: [0xCE60], NFD: [0x110E, 0x1175, 0x11AF], NFKC: [0xCE60], NFKD: [0x110E, 0x1175, 0x11AF] }, -{ source: [0xCE61], NFC: [0xCE61], NFD: [0x110E, 0x1175, 0x11B0], NFKC: [0xCE61], NFKD: [0x110E, 0x1175, 0x11B0] }, -{ source: [0xCE62], NFC: [0xCE62], NFD: [0x110E, 0x1175, 0x11B1], NFKC: [0xCE62], NFKD: [0x110E, 0x1175, 0x11B1] }, -{ source: [0xCE63], NFC: [0xCE63], NFD: [0x110E, 0x1175, 0x11B2], NFKC: [0xCE63], NFKD: [0x110E, 0x1175, 0x11B2] }, -{ source: [0xCE64], NFC: [0xCE64], NFD: [0x110E, 0x1175, 0x11B3], NFKC: [0xCE64], NFKD: [0x110E, 0x1175, 0x11B3] }, -{ source: [0xCE65], NFC: [0xCE65], NFD: [0x110E, 0x1175, 0x11B4], NFKC: [0xCE65], NFKD: [0x110E, 0x1175, 0x11B4] }, -{ source: [0xCE66], NFC: [0xCE66], NFD: [0x110E, 0x1175, 0x11B5], NFKC: [0xCE66], NFKD: [0x110E, 0x1175, 0x11B5] }, -{ source: [0xCE67], NFC: [0xCE67], NFD: [0x110E, 0x1175, 0x11B6], NFKC: [0xCE67], NFKD: [0x110E, 0x1175, 0x11B6] }, -{ source: [0xCE68], NFC: [0xCE68], NFD: [0x110E, 0x1175, 0x11B7], NFKC: [0xCE68], NFKD: [0x110E, 0x1175, 0x11B7] }, -{ source: [0xCE69], NFC: [0xCE69], NFD: [0x110E, 0x1175, 0x11B8], NFKC: [0xCE69], NFKD: [0x110E, 0x1175, 0x11B8] }, -{ source: [0xCE6A], NFC: [0xCE6A], NFD: [0x110E, 0x1175, 0x11B9], NFKC: [0xCE6A], NFKD: [0x110E, 0x1175, 0x11B9] }, -{ source: [0xCE6B], NFC: [0xCE6B], NFD: [0x110E, 0x1175, 0x11BA], NFKC: [0xCE6B], NFKD: [0x110E, 0x1175, 0x11BA] }, -{ source: [0xCE6C], NFC: [0xCE6C], NFD: [0x110E, 0x1175, 0x11BB], NFKC: [0xCE6C], NFKD: [0x110E, 0x1175, 0x11BB] }, -{ source: [0xCE6D], NFC: [0xCE6D], NFD: [0x110E, 0x1175, 0x11BC], NFKC: [0xCE6D], NFKD: [0x110E, 0x1175, 0x11BC] }, -{ source: [0xCE6E], NFC: [0xCE6E], NFD: [0x110E, 0x1175, 0x11BD], NFKC: [0xCE6E], NFKD: [0x110E, 0x1175, 0x11BD] }, -{ source: [0xCE6F], NFC: [0xCE6F], NFD: [0x110E, 0x1175, 0x11BE], NFKC: [0xCE6F], NFKD: [0x110E, 0x1175, 0x11BE] }, -{ source: [0xCE70], NFC: [0xCE70], NFD: [0x110E, 0x1175, 0x11BF], NFKC: [0xCE70], NFKD: [0x110E, 0x1175, 0x11BF] }, -{ source: [0xCE71], NFC: [0xCE71], NFD: [0x110E, 0x1175, 0x11C0], NFKC: [0xCE71], NFKD: [0x110E, 0x1175, 0x11C0] }, -{ source: [0xCE72], NFC: [0xCE72], NFD: [0x110E, 0x1175, 0x11C1], NFKC: [0xCE72], NFKD: [0x110E, 0x1175, 0x11C1] }, -{ source: [0xCE73], NFC: [0xCE73], NFD: [0x110E, 0x1175, 0x11C2], NFKC: [0xCE73], NFKD: [0x110E, 0x1175, 0x11C2] }, -{ source: [0xCE74], NFC: [0xCE74], NFD: [0x110F, 0x1161], NFKC: [0xCE74], NFKD: [0x110F, 0x1161] }, -{ source: [0xCE75], NFC: [0xCE75], NFD: [0x110F, 0x1161, 0x11A8], NFKC: [0xCE75], NFKD: [0x110F, 0x1161, 0x11A8] }, -{ source: [0xCE76], NFC: [0xCE76], NFD: [0x110F, 0x1161, 0x11A9], NFKC: [0xCE76], NFKD: [0x110F, 0x1161, 0x11A9] }, -{ source: [0xCE77], NFC: [0xCE77], NFD: [0x110F, 0x1161, 0x11AA], NFKC: [0xCE77], NFKD: [0x110F, 0x1161, 0x11AA] }, -{ source: [0xCE78], NFC: [0xCE78], NFD: [0x110F, 0x1161, 0x11AB], NFKC: [0xCE78], NFKD: [0x110F, 0x1161, 0x11AB] }, -{ source: [0xCE79], NFC: [0xCE79], NFD: [0x110F, 0x1161, 0x11AC], NFKC: [0xCE79], NFKD: [0x110F, 0x1161, 0x11AC] }, -{ source: [0xCE7A], NFC: [0xCE7A], NFD: [0x110F, 0x1161, 0x11AD], NFKC: [0xCE7A], NFKD: [0x110F, 0x1161, 0x11AD] }, -{ source: [0xCE7B], NFC: [0xCE7B], NFD: [0x110F, 0x1161, 0x11AE], NFKC: [0xCE7B], NFKD: [0x110F, 0x1161, 0x11AE] }, -{ source: [0xCE7C], NFC: [0xCE7C], NFD: [0x110F, 0x1161, 0x11AF], NFKC: [0xCE7C], NFKD: [0x110F, 0x1161, 0x11AF] }, -{ source: [0xCE7D], NFC: [0xCE7D], NFD: [0x110F, 0x1161, 0x11B0], NFKC: [0xCE7D], NFKD: [0x110F, 0x1161, 0x11B0] }, -{ source: [0xCE7E], NFC: [0xCE7E], NFD: [0x110F, 0x1161, 0x11B1], NFKC: [0xCE7E], NFKD: [0x110F, 0x1161, 0x11B1] }, -{ source: [0xCE7F], NFC: [0xCE7F], NFD: [0x110F, 0x1161, 0x11B2], NFKC: [0xCE7F], NFKD: [0x110F, 0x1161, 0x11B2] }, -{ source: [0xCE80], NFC: [0xCE80], NFD: [0x110F, 0x1161, 0x11B3], NFKC: [0xCE80], NFKD: [0x110F, 0x1161, 0x11B3] }, -{ source: [0xCE81], NFC: [0xCE81], NFD: [0x110F, 0x1161, 0x11B4], NFKC: [0xCE81], NFKD: [0x110F, 0x1161, 0x11B4] }, -{ source: [0xCE82], NFC: [0xCE82], NFD: [0x110F, 0x1161, 0x11B5], NFKC: [0xCE82], NFKD: [0x110F, 0x1161, 0x11B5] }, -{ source: [0xCE83], NFC: [0xCE83], NFD: [0x110F, 0x1161, 0x11B6], NFKC: [0xCE83], NFKD: [0x110F, 0x1161, 0x11B6] }, -{ source: [0xCE84], NFC: [0xCE84], NFD: [0x110F, 0x1161, 0x11B7], NFKC: [0xCE84], NFKD: [0x110F, 0x1161, 0x11B7] }, -{ source: [0xCE85], NFC: [0xCE85], NFD: [0x110F, 0x1161, 0x11B8], NFKC: [0xCE85], NFKD: [0x110F, 0x1161, 0x11B8] }, -{ source: [0xCE86], NFC: [0xCE86], NFD: [0x110F, 0x1161, 0x11B9], NFKC: [0xCE86], NFKD: [0x110F, 0x1161, 0x11B9] }, -{ source: [0xCE87], NFC: [0xCE87], NFD: [0x110F, 0x1161, 0x11BA], NFKC: [0xCE87], NFKD: [0x110F, 0x1161, 0x11BA] }, -{ source: [0xCE88], NFC: [0xCE88], NFD: [0x110F, 0x1161, 0x11BB], NFKC: [0xCE88], NFKD: [0x110F, 0x1161, 0x11BB] }, -{ source: [0xCE89], NFC: [0xCE89], NFD: [0x110F, 0x1161, 0x11BC], NFKC: [0xCE89], NFKD: [0x110F, 0x1161, 0x11BC] }, -{ source: [0xCE8A], NFC: [0xCE8A], NFD: [0x110F, 0x1161, 0x11BD], NFKC: [0xCE8A], NFKD: [0x110F, 0x1161, 0x11BD] }, -{ source: [0xCE8B], NFC: [0xCE8B], NFD: [0x110F, 0x1161, 0x11BE], NFKC: [0xCE8B], NFKD: [0x110F, 0x1161, 0x11BE] }, -{ source: [0xCE8C], NFC: [0xCE8C], NFD: [0x110F, 0x1161, 0x11BF], NFKC: [0xCE8C], NFKD: [0x110F, 0x1161, 0x11BF] }, -{ source: [0xCE8D], NFC: [0xCE8D], NFD: [0x110F, 0x1161, 0x11C0], NFKC: [0xCE8D], NFKD: [0x110F, 0x1161, 0x11C0] }, -{ source: [0xCE8E], NFC: [0xCE8E], NFD: [0x110F, 0x1161, 0x11C1], NFKC: [0xCE8E], NFKD: [0x110F, 0x1161, 0x11C1] }, -{ source: [0xCE8F], NFC: [0xCE8F], NFD: [0x110F, 0x1161, 0x11C2], NFKC: [0xCE8F], NFKD: [0x110F, 0x1161, 0x11C2] }, -{ source: [0xCE90], NFC: [0xCE90], NFD: [0x110F, 0x1162], NFKC: [0xCE90], NFKD: [0x110F, 0x1162] }, -{ source: [0xCE91], NFC: [0xCE91], NFD: [0x110F, 0x1162, 0x11A8], NFKC: [0xCE91], NFKD: [0x110F, 0x1162, 0x11A8] }, -{ source: [0xCE92], NFC: [0xCE92], NFD: [0x110F, 0x1162, 0x11A9], NFKC: [0xCE92], NFKD: [0x110F, 0x1162, 0x11A9] }, -{ source: [0xCE93], NFC: [0xCE93], NFD: [0x110F, 0x1162, 0x11AA], NFKC: [0xCE93], NFKD: [0x110F, 0x1162, 0x11AA] }, -{ source: [0xCE94], NFC: [0xCE94], NFD: [0x110F, 0x1162, 0x11AB], NFKC: [0xCE94], NFKD: [0x110F, 0x1162, 0x11AB] }, -{ source: [0xCE95], NFC: [0xCE95], NFD: [0x110F, 0x1162, 0x11AC], NFKC: [0xCE95], NFKD: [0x110F, 0x1162, 0x11AC] }, -{ source: [0xCE96], NFC: [0xCE96], NFD: [0x110F, 0x1162, 0x11AD], NFKC: [0xCE96], NFKD: [0x110F, 0x1162, 0x11AD] }, -{ source: [0xCE97], NFC: [0xCE97], NFD: [0x110F, 0x1162, 0x11AE], NFKC: [0xCE97], NFKD: [0x110F, 0x1162, 0x11AE] }, -{ source: [0xCE98], NFC: [0xCE98], NFD: [0x110F, 0x1162, 0x11AF], NFKC: [0xCE98], NFKD: [0x110F, 0x1162, 0x11AF] }, -{ source: [0xCE99], NFC: [0xCE99], NFD: [0x110F, 0x1162, 0x11B0], NFKC: [0xCE99], NFKD: [0x110F, 0x1162, 0x11B0] }, -{ source: [0xCE9A], NFC: [0xCE9A], NFD: [0x110F, 0x1162, 0x11B1], NFKC: [0xCE9A], NFKD: [0x110F, 0x1162, 0x11B1] }, -{ source: [0xCE9B], NFC: [0xCE9B], NFD: [0x110F, 0x1162, 0x11B2], NFKC: [0xCE9B], NFKD: [0x110F, 0x1162, 0x11B2] }, -{ source: [0xCE9C], NFC: [0xCE9C], NFD: [0x110F, 0x1162, 0x11B3], NFKC: [0xCE9C], NFKD: [0x110F, 0x1162, 0x11B3] }, -{ source: [0xCE9D], NFC: [0xCE9D], NFD: [0x110F, 0x1162, 0x11B4], NFKC: [0xCE9D], NFKD: [0x110F, 0x1162, 0x11B4] }, -{ source: [0xCE9E], NFC: [0xCE9E], NFD: [0x110F, 0x1162, 0x11B5], NFKC: [0xCE9E], NFKD: [0x110F, 0x1162, 0x11B5] }, -{ source: [0xCE9F], NFC: [0xCE9F], NFD: [0x110F, 0x1162, 0x11B6], NFKC: [0xCE9F], NFKD: [0x110F, 0x1162, 0x11B6] }, -{ source: [0xCEA0], NFC: [0xCEA0], NFD: [0x110F, 0x1162, 0x11B7], NFKC: [0xCEA0], NFKD: [0x110F, 0x1162, 0x11B7] }, -{ source: [0xCEA1], NFC: [0xCEA1], NFD: [0x110F, 0x1162, 0x11B8], NFKC: [0xCEA1], NFKD: [0x110F, 0x1162, 0x11B8] }, -{ source: [0xCEA2], NFC: [0xCEA2], NFD: [0x110F, 0x1162, 0x11B9], NFKC: [0xCEA2], NFKD: [0x110F, 0x1162, 0x11B9] }, -{ source: [0xCEA3], NFC: [0xCEA3], NFD: [0x110F, 0x1162, 0x11BA], NFKC: [0xCEA3], NFKD: [0x110F, 0x1162, 0x11BA] }, -{ source: [0xCEA4], NFC: [0xCEA4], NFD: [0x110F, 0x1162, 0x11BB], NFKC: [0xCEA4], NFKD: [0x110F, 0x1162, 0x11BB] }, -{ source: [0xCEA5], NFC: [0xCEA5], NFD: [0x110F, 0x1162, 0x11BC], NFKC: [0xCEA5], NFKD: [0x110F, 0x1162, 0x11BC] }, -{ source: [0xCEA6], NFC: [0xCEA6], NFD: [0x110F, 0x1162, 0x11BD], NFKC: [0xCEA6], NFKD: [0x110F, 0x1162, 0x11BD] }, -{ source: [0xCEA7], NFC: [0xCEA7], NFD: [0x110F, 0x1162, 0x11BE], NFKC: [0xCEA7], NFKD: [0x110F, 0x1162, 0x11BE] }, -{ source: [0xCEA8], NFC: [0xCEA8], NFD: [0x110F, 0x1162, 0x11BF], NFKC: [0xCEA8], NFKD: [0x110F, 0x1162, 0x11BF] }, -{ source: [0xCEA9], NFC: [0xCEA9], NFD: [0x110F, 0x1162, 0x11C0], NFKC: [0xCEA9], NFKD: [0x110F, 0x1162, 0x11C0] }, -{ source: [0xCEAA], NFC: [0xCEAA], NFD: [0x110F, 0x1162, 0x11C1], NFKC: [0xCEAA], NFKD: [0x110F, 0x1162, 0x11C1] }, -{ source: [0xCEAB], NFC: [0xCEAB], NFD: [0x110F, 0x1162, 0x11C2], NFKC: [0xCEAB], NFKD: [0x110F, 0x1162, 0x11C2] }, -{ source: [0xCEAC], NFC: [0xCEAC], NFD: [0x110F, 0x1163], NFKC: [0xCEAC], NFKD: [0x110F, 0x1163] }, -{ source: [0xCEAD], NFC: [0xCEAD], NFD: [0x110F, 0x1163, 0x11A8], NFKC: [0xCEAD], NFKD: [0x110F, 0x1163, 0x11A8] }, -{ source: [0xCEAE], NFC: [0xCEAE], NFD: [0x110F, 0x1163, 0x11A9], NFKC: [0xCEAE], NFKD: [0x110F, 0x1163, 0x11A9] }, -{ source: [0xCEAF], NFC: [0xCEAF], NFD: [0x110F, 0x1163, 0x11AA], NFKC: [0xCEAF], NFKD: [0x110F, 0x1163, 0x11AA] }, -{ source: [0xCEB0], NFC: [0xCEB0], NFD: [0x110F, 0x1163, 0x11AB], NFKC: [0xCEB0], NFKD: [0x110F, 0x1163, 0x11AB] }, -{ source: [0xCEB1], NFC: [0xCEB1], NFD: [0x110F, 0x1163, 0x11AC], NFKC: [0xCEB1], NFKD: [0x110F, 0x1163, 0x11AC] }, -{ source: [0xCEB2], NFC: [0xCEB2], NFD: [0x110F, 0x1163, 0x11AD], NFKC: [0xCEB2], NFKD: [0x110F, 0x1163, 0x11AD] }, -{ source: [0xCEB3], NFC: [0xCEB3], NFD: [0x110F, 0x1163, 0x11AE], NFKC: [0xCEB3], NFKD: [0x110F, 0x1163, 0x11AE] }, -{ source: [0xCEB4], NFC: [0xCEB4], NFD: [0x110F, 0x1163, 0x11AF], NFKC: [0xCEB4], NFKD: [0x110F, 0x1163, 0x11AF] }, -{ source: [0xCEB5], NFC: [0xCEB5], NFD: [0x110F, 0x1163, 0x11B0], NFKC: [0xCEB5], NFKD: [0x110F, 0x1163, 0x11B0] }, -{ source: [0xCEB6], NFC: [0xCEB6], NFD: [0x110F, 0x1163, 0x11B1], NFKC: [0xCEB6], NFKD: [0x110F, 0x1163, 0x11B1] }, -{ source: [0xCEB7], NFC: [0xCEB7], NFD: [0x110F, 0x1163, 0x11B2], NFKC: [0xCEB7], NFKD: [0x110F, 0x1163, 0x11B2] }, -{ source: [0xCEB8], NFC: [0xCEB8], NFD: [0x110F, 0x1163, 0x11B3], NFKC: [0xCEB8], NFKD: [0x110F, 0x1163, 0x11B3] }, -{ source: [0xCEB9], NFC: [0xCEB9], NFD: [0x110F, 0x1163, 0x11B4], NFKC: [0xCEB9], NFKD: [0x110F, 0x1163, 0x11B4] }, -{ source: [0xCEBA], NFC: [0xCEBA], NFD: [0x110F, 0x1163, 0x11B5], NFKC: [0xCEBA], NFKD: [0x110F, 0x1163, 0x11B5] }, -{ source: [0xCEBB], NFC: [0xCEBB], NFD: [0x110F, 0x1163, 0x11B6], NFKC: [0xCEBB], NFKD: [0x110F, 0x1163, 0x11B6] }, -{ source: [0xCEBC], NFC: [0xCEBC], NFD: [0x110F, 0x1163, 0x11B7], NFKC: [0xCEBC], NFKD: [0x110F, 0x1163, 0x11B7] }, -{ source: [0xCEBD], NFC: [0xCEBD], NFD: [0x110F, 0x1163, 0x11B8], NFKC: [0xCEBD], NFKD: [0x110F, 0x1163, 0x11B8] }, -{ source: [0xCEBE], NFC: [0xCEBE], NFD: [0x110F, 0x1163, 0x11B9], NFKC: [0xCEBE], NFKD: [0x110F, 0x1163, 0x11B9] }, -{ source: [0xCEBF], NFC: [0xCEBF], NFD: [0x110F, 0x1163, 0x11BA], NFKC: [0xCEBF], NFKD: [0x110F, 0x1163, 0x11BA] }, -{ source: [0xCEC0], NFC: [0xCEC0], NFD: [0x110F, 0x1163, 0x11BB], NFKC: [0xCEC0], NFKD: [0x110F, 0x1163, 0x11BB] }, -{ source: [0xCEC1], NFC: [0xCEC1], NFD: [0x110F, 0x1163, 0x11BC], NFKC: [0xCEC1], NFKD: [0x110F, 0x1163, 0x11BC] }, -{ source: [0xCEC2], NFC: [0xCEC2], NFD: [0x110F, 0x1163, 0x11BD], NFKC: [0xCEC2], NFKD: [0x110F, 0x1163, 0x11BD] }, -{ source: [0xCEC3], NFC: [0xCEC3], NFD: [0x110F, 0x1163, 0x11BE], NFKC: [0xCEC3], NFKD: [0x110F, 0x1163, 0x11BE] }, -{ source: [0xCEC4], NFC: [0xCEC4], NFD: [0x110F, 0x1163, 0x11BF], NFKC: [0xCEC4], NFKD: [0x110F, 0x1163, 0x11BF] }, -{ source: [0xCEC5], NFC: [0xCEC5], NFD: [0x110F, 0x1163, 0x11C0], NFKC: [0xCEC5], NFKD: [0x110F, 0x1163, 0x11C0] }, -{ source: [0xCEC6], NFC: [0xCEC6], NFD: [0x110F, 0x1163, 0x11C1], NFKC: [0xCEC6], NFKD: [0x110F, 0x1163, 0x11C1] }, -{ source: [0xCEC7], NFC: [0xCEC7], NFD: [0x110F, 0x1163, 0x11C2], NFKC: [0xCEC7], NFKD: [0x110F, 0x1163, 0x11C2] }, -{ source: [0xCEC8], NFC: [0xCEC8], NFD: [0x110F, 0x1164], NFKC: [0xCEC8], NFKD: [0x110F, 0x1164] }, -{ source: [0xCEC9], NFC: [0xCEC9], NFD: [0x110F, 0x1164, 0x11A8], NFKC: [0xCEC9], NFKD: [0x110F, 0x1164, 0x11A8] }, -{ source: [0xCECA], NFC: [0xCECA], NFD: [0x110F, 0x1164, 0x11A9], NFKC: [0xCECA], NFKD: [0x110F, 0x1164, 0x11A9] }, -{ source: [0xCECB], NFC: [0xCECB], NFD: [0x110F, 0x1164, 0x11AA], NFKC: [0xCECB], NFKD: [0x110F, 0x1164, 0x11AA] }, -{ source: [0xCECC], NFC: [0xCECC], NFD: [0x110F, 0x1164, 0x11AB], NFKC: [0xCECC], NFKD: [0x110F, 0x1164, 0x11AB] }, -{ source: [0xCECD], NFC: [0xCECD], NFD: [0x110F, 0x1164, 0x11AC], NFKC: [0xCECD], NFKD: [0x110F, 0x1164, 0x11AC] }, -{ source: [0xCECE], NFC: [0xCECE], NFD: [0x110F, 0x1164, 0x11AD], NFKC: [0xCECE], NFKD: [0x110F, 0x1164, 0x11AD] }, -{ source: [0xCECF], NFC: [0xCECF], NFD: [0x110F, 0x1164, 0x11AE], NFKC: [0xCECF], NFKD: [0x110F, 0x1164, 0x11AE] }, -{ source: [0xCED0], NFC: [0xCED0], NFD: [0x110F, 0x1164, 0x11AF], NFKC: [0xCED0], NFKD: [0x110F, 0x1164, 0x11AF] }, -{ source: [0xCED1], NFC: [0xCED1], NFD: [0x110F, 0x1164, 0x11B0], NFKC: [0xCED1], NFKD: [0x110F, 0x1164, 0x11B0] }, -{ source: [0xCED2], NFC: [0xCED2], NFD: [0x110F, 0x1164, 0x11B1], NFKC: [0xCED2], NFKD: [0x110F, 0x1164, 0x11B1] }, -{ source: [0xCED3], NFC: [0xCED3], NFD: [0x110F, 0x1164, 0x11B2], NFKC: [0xCED3], NFKD: [0x110F, 0x1164, 0x11B2] }, -{ source: [0xCED4], NFC: [0xCED4], NFD: [0x110F, 0x1164, 0x11B3], NFKC: [0xCED4], NFKD: [0x110F, 0x1164, 0x11B3] }, -{ source: [0xCED5], NFC: [0xCED5], NFD: [0x110F, 0x1164, 0x11B4], NFKC: [0xCED5], NFKD: [0x110F, 0x1164, 0x11B4] }, -{ source: [0xCED6], NFC: [0xCED6], NFD: [0x110F, 0x1164, 0x11B5], NFKC: [0xCED6], NFKD: [0x110F, 0x1164, 0x11B5] }, -{ source: [0xCED7], NFC: [0xCED7], NFD: [0x110F, 0x1164, 0x11B6], NFKC: [0xCED7], NFKD: [0x110F, 0x1164, 0x11B6] }, -{ source: [0xCED8], NFC: [0xCED8], NFD: [0x110F, 0x1164, 0x11B7], NFKC: [0xCED8], NFKD: [0x110F, 0x1164, 0x11B7] }, -{ source: [0xCED9], NFC: [0xCED9], NFD: [0x110F, 0x1164, 0x11B8], NFKC: [0xCED9], NFKD: [0x110F, 0x1164, 0x11B8] }, -{ source: [0xCEDA], NFC: [0xCEDA], NFD: [0x110F, 0x1164, 0x11B9], NFKC: [0xCEDA], NFKD: [0x110F, 0x1164, 0x11B9] }, -{ source: [0xCEDB], NFC: [0xCEDB], NFD: [0x110F, 0x1164, 0x11BA], NFKC: [0xCEDB], NFKD: [0x110F, 0x1164, 0x11BA] }, -{ source: [0xCEDC], NFC: [0xCEDC], NFD: [0x110F, 0x1164, 0x11BB], NFKC: [0xCEDC], NFKD: [0x110F, 0x1164, 0x11BB] }, -{ source: [0xCEDD], NFC: [0xCEDD], NFD: [0x110F, 0x1164, 0x11BC], NFKC: [0xCEDD], NFKD: [0x110F, 0x1164, 0x11BC] }, -{ source: [0xCEDE], NFC: [0xCEDE], NFD: [0x110F, 0x1164, 0x11BD], NFKC: [0xCEDE], NFKD: [0x110F, 0x1164, 0x11BD] }, -{ source: [0xCEDF], NFC: [0xCEDF], NFD: [0x110F, 0x1164, 0x11BE], NFKC: [0xCEDF], NFKD: [0x110F, 0x1164, 0x11BE] }, -{ source: [0xCEE0], NFC: [0xCEE0], NFD: [0x110F, 0x1164, 0x11BF], NFKC: [0xCEE0], NFKD: [0x110F, 0x1164, 0x11BF] }, -{ source: [0xCEE1], NFC: [0xCEE1], NFD: [0x110F, 0x1164, 0x11C0], NFKC: [0xCEE1], NFKD: [0x110F, 0x1164, 0x11C0] }, -{ source: [0xCEE2], NFC: [0xCEE2], NFD: [0x110F, 0x1164, 0x11C1], NFKC: [0xCEE2], NFKD: [0x110F, 0x1164, 0x11C1] }, -{ source: [0xCEE3], NFC: [0xCEE3], NFD: [0x110F, 0x1164, 0x11C2], NFKC: [0xCEE3], NFKD: [0x110F, 0x1164, 0x11C2] }, -{ source: [0xCEE4], NFC: [0xCEE4], NFD: [0x110F, 0x1165], NFKC: [0xCEE4], NFKD: [0x110F, 0x1165] }, -{ source: [0xCEE5], NFC: [0xCEE5], NFD: [0x110F, 0x1165, 0x11A8], NFKC: [0xCEE5], NFKD: [0x110F, 0x1165, 0x11A8] }, -{ source: [0xCEE6], NFC: [0xCEE6], NFD: [0x110F, 0x1165, 0x11A9], NFKC: [0xCEE6], NFKD: [0x110F, 0x1165, 0x11A9] }, -{ source: [0xCEE7], NFC: [0xCEE7], NFD: [0x110F, 0x1165, 0x11AA], NFKC: [0xCEE7], NFKD: [0x110F, 0x1165, 0x11AA] }, -{ source: [0xCEE8], NFC: [0xCEE8], NFD: [0x110F, 0x1165, 0x11AB], NFKC: [0xCEE8], NFKD: [0x110F, 0x1165, 0x11AB] }, -{ source: [0xCEE9], NFC: [0xCEE9], NFD: [0x110F, 0x1165, 0x11AC], NFKC: [0xCEE9], NFKD: [0x110F, 0x1165, 0x11AC] }, -{ source: [0xCEEA], NFC: [0xCEEA], NFD: [0x110F, 0x1165, 0x11AD], NFKC: [0xCEEA], NFKD: [0x110F, 0x1165, 0x11AD] }, -{ source: [0xCEEB], NFC: [0xCEEB], NFD: [0x110F, 0x1165, 0x11AE], NFKC: [0xCEEB], NFKD: [0x110F, 0x1165, 0x11AE] }, -{ source: [0xCEEC], NFC: [0xCEEC], NFD: [0x110F, 0x1165, 0x11AF], NFKC: [0xCEEC], NFKD: [0x110F, 0x1165, 0x11AF] }, -{ source: [0xCEED], NFC: [0xCEED], NFD: [0x110F, 0x1165, 0x11B0], NFKC: [0xCEED], NFKD: [0x110F, 0x1165, 0x11B0] }, -{ source: [0xCEEE], NFC: [0xCEEE], NFD: [0x110F, 0x1165, 0x11B1], NFKC: [0xCEEE], NFKD: [0x110F, 0x1165, 0x11B1] }, -{ source: [0xCEEF], NFC: [0xCEEF], NFD: [0x110F, 0x1165, 0x11B2], NFKC: [0xCEEF], NFKD: [0x110F, 0x1165, 0x11B2] }, -{ source: [0xCEF0], NFC: [0xCEF0], NFD: [0x110F, 0x1165, 0x11B3], NFKC: [0xCEF0], NFKD: [0x110F, 0x1165, 0x11B3] }, -{ source: [0xCEF1], NFC: [0xCEF1], NFD: [0x110F, 0x1165, 0x11B4], NFKC: [0xCEF1], NFKD: [0x110F, 0x1165, 0x11B4] }, -{ source: [0xCEF2], NFC: [0xCEF2], NFD: [0x110F, 0x1165, 0x11B5], NFKC: [0xCEF2], NFKD: [0x110F, 0x1165, 0x11B5] }, -{ source: [0xCEF3], NFC: [0xCEF3], NFD: [0x110F, 0x1165, 0x11B6], NFKC: [0xCEF3], NFKD: [0x110F, 0x1165, 0x11B6] }, -{ source: [0xCEF4], NFC: [0xCEF4], NFD: [0x110F, 0x1165, 0x11B7], NFKC: [0xCEF4], NFKD: [0x110F, 0x1165, 0x11B7] }, -{ source: [0xCEF5], NFC: [0xCEF5], NFD: [0x110F, 0x1165, 0x11B8], NFKC: [0xCEF5], NFKD: [0x110F, 0x1165, 0x11B8] }, -{ source: [0xCEF6], NFC: [0xCEF6], NFD: [0x110F, 0x1165, 0x11B9], NFKC: [0xCEF6], NFKD: [0x110F, 0x1165, 0x11B9] }, -{ source: [0xCEF7], NFC: [0xCEF7], NFD: [0x110F, 0x1165, 0x11BA], NFKC: [0xCEF7], NFKD: [0x110F, 0x1165, 0x11BA] }, -{ source: [0xCEF8], NFC: [0xCEF8], NFD: [0x110F, 0x1165, 0x11BB], NFKC: [0xCEF8], NFKD: [0x110F, 0x1165, 0x11BB] }, -{ source: [0xCEF9], NFC: [0xCEF9], NFD: [0x110F, 0x1165, 0x11BC], NFKC: [0xCEF9], NFKD: [0x110F, 0x1165, 0x11BC] }, -{ source: [0xCEFA], NFC: [0xCEFA], NFD: [0x110F, 0x1165, 0x11BD], NFKC: [0xCEFA], NFKD: [0x110F, 0x1165, 0x11BD] }, -{ source: [0xCEFB], NFC: [0xCEFB], NFD: [0x110F, 0x1165, 0x11BE], NFKC: [0xCEFB], NFKD: [0x110F, 0x1165, 0x11BE] }, -{ source: [0xCEFC], NFC: [0xCEFC], NFD: [0x110F, 0x1165, 0x11BF], NFKC: [0xCEFC], NFKD: [0x110F, 0x1165, 0x11BF] }, -{ source: [0xCEFD], NFC: [0xCEFD], NFD: [0x110F, 0x1165, 0x11C0], NFKC: [0xCEFD], NFKD: [0x110F, 0x1165, 0x11C0] }, -{ source: [0xCEFE], NFC: [0xCEFE], NFD: [0x110F, 0x1165, 0x11C1], NFKC: [0xCEFE], NFKD: [0x110F, 0x1165, 0x11C1] }, -{ source: [0xCEFF], NFC: [0xCEFF], NFD: [0x110F, 0x1165, 0x11C2], NFKC: [0xCEFF], NFKD: [0x110F, 0x1165, 0x11C2] }, -{ source: [0xCF00], NFC: [0xCF00], NFD: [0x110F, 0x1166], NFKC: [0xCF00], NFKD: [0x110F, 0x1166] }, -{ source: [0xCF01], NFC: [0xCF01], NFD: [0x110F, 0x1166, 0x11A8], NFKC: [0xCF01], NFKD: [0x110F, 0x1166, 0x11A8] }, -{ source: [0xCF02], NFC: [0xCF02], NFD: [0x110F, 0x1166, 0x11A9], NFKC: [0xCF02], NFKD: [0x110F, 0x1166, 0x11A9] }, -{ source: [0xCF03], NFC: [0xCF03], NFD: [0x110F, 0x1166, 0x11AA], NFKC: [0xCF03], NFKD: [0x110F, 0x1166, 0x11AA] }, -{ source: [0xCF04], NFC: [0xCF04], NFD: [0x110F, 0x1166, 0x11AB], NFKC: [0xCF04], NFKD: [0x110F, 0x1166, 0x11AB] }, -{ source: [0xCF05], NFC: [0xCF05], NFD: [0x110F, 0x1166, 0x11AC], NFKC: [0xCF05], NFKD: [0x110F, 0x1166, 0x11AC] }, -{ source: [0xCF06], NFC: [0xCF06], NFD: [0x110F, 0x1166, 0x11AD], NFKC: [0xCF06], NFKD: [0x110F, 0x1166, 0x11AD] }, -{ source: [0xCF07], NFC: [0xCF07], NFD: [0x110F, 0x1166, 0x11AE], NFKC: [0xCF07], NFKD: [0x110F, 0x1166, 0x11AE] }, -{ source: [0xCF08], NFC: [0xCF08], NFD: [0x110F, 0x1166, 0x11AF], NFKC: [0xCF08], NFKD: [0x110F, 0x1166, 0x11AF] }, -{ source: [0xCF09], NFC: [0xCF09], NFD: [0x110F, 0x1166, 0x11B0], NFKC: [0xCF09], NFKD: [0x110F, 0x1166, 0x11B0] }, -{ source: [0xCF0A], NFC: [0xCF0A], NFD: [0x110F, 0x1166, 0x11B1], NFKC: [0xCF0A], NFKD: [0x110F, 0x1166, 0x11B1] }, -{ source: [0xCF0B], NFC: [0xCF0B], NFD: [0x110F, 0x1166, 0x11B2], NFKC: [0xCF0B], NFKD: [0x110F, 0x1166, 0x11B2] }, -{ source: [0xCF0C], NFC: [0xCF0C], NFD: [0x110F, 0x1166, 0x11B3], NFKC: [0xCF0C], NFKD: [0x110F, 0x1166, 0x11B3] }, -{ source: [0xCF0D], NFC: [0xCF0D], NFD: [0x110F, 0x1166, 0x11B4], NFKC: [0xCF0D], NFKD: [0x110F, 0x1166, 0x11B4] }, -{ source: [0xCF0E], NFC: [0xCF0E], NFD: [0x110F, 0x1166, 0x11B5], NFKC: [0xCF0E], NFKD: [0x110F, 0x1166, 0x11B5] }, -{ source: [0xCF0F], NFC: [0xCF0F], NFD: [0x110F, 0x1166, 0x11B6], NFKC: [0xCF0F], NFKD: [0x110F, 0x1166, 0x11B6] }, -{ source: [0xCF10], NFC: [0xCF10], NFD: [0x110F, 0x1166, 0x11B7], NFKC: [0xCF10], NFKD: [0x110F, 0x1166, 0x11B7] }, -{ source: [0xCF11], NFC: [0xCF11], NFD: [0x110F, 0x1166, 0x11B8], NFKC: [0xCF11], NFKD: [0x110F, 0x1166, 0x11B8] }, -{ source: [0xCF12], NFC: [0xCF12], NFD: [0x110F, 0x1166, 0x11B9], NFKC: [0xCF12], NFKD: [0x110F, 0x1166, 0x11B9] }, -{ source: [0xCF13], NFC: [0xCF13], NFD: [0x110F, 0x1166, 0x11BA], NFKC: [0xCF13], NFKD: [0x110F, 0x1166, 0x11BA] }, -{ source: [0xCF14], NFC: [0xCF14], NFD: [0x110F, 0x1166, 0x11BB], NFKC: [0xCF14], NFKD: [0x110F, 0x1166, 0x11BB] }, -{ source: [0xCF15], NFC: [0xCF15], NFD: [0x110F, 0x1166, 0x11BC], NFKC: [0xCF15], NFKD: [0x110F, 0x1166, 0x11BC] }, -{ source: [0xCF16], NFC: [0xCF16], NFD: [0x110F, 0x1166, 0x11BD], NFKC: [0xCF16], NFKD: [0x110F, 0x1166, 0x11BD] }, -{ source: [0xCF17], NFC: [0xCF17], NFD: [0x110F, 0x1166, 0x11BE], NFKC: [0xCF17], NFKD: [0x110F, 0x1166, 0x11BE] }, -{ source: [0xCF18], NFC: [0xCF18], NFD: [0x110F, 0x1166, 0x11BF], NFKC: [0xCF18], NFKD: [0x110F, 0x1166, 0x11BF] }, -{ source: [0xCF19], NFC: [0xCF19], NFD: [0x110F, 0x1166, 0x11C0], NFKC: [0xCF19], NFKD: [0x110F, 0x1166, 0x11C0] }, -{ source: [0xCF1A], NFC: [0xCF1A], NFD: [0x110F, 0x1166, 0x11C1], NFKC: [0xCF1A], NFKD: [0x110F, 0x1166, 0x11C1] }, -{ source: [0xCF1B], NFC: [0xCF1B], NFD: [0x110F, 0x1166, 0x11C2], NFKC: [0xCF1B], NFKD: [0x110F, 0x1166, 0x11C2] }, -{ source: [0xCF1C], NFC: [0xCF1C], NFD: [0x110F, 0x1167], NFKC: [0xCF1C], NFKD: [0x110F, 0x1167] }, -{ source: [0xCF1D], NFC: [0xCF1D], NFD: [0x110F, 0x1167, 0x11A8], NFKC: [0xCF1D], NFKD: [0x110F, 0x1167, 0x11A8] }, -{ source: [0xCF1E], NFC: [0xCF1E], NFD: [0x110F, 0x1167, 0x11A9], NFKC: [0xCF1E], NFKD: [0x110F, 0x1167, 0x11A9] }, -{ source: [0xCF1F], NFC: [0xCF1F], NFD: [0x110F, 0x1167, 0x11AA], NFKC: [0xCF1F], NFKD: [0x110F, 0x1167, 0x11AA] }, -{ source: [0xCF20], NFC: [0xCF20], NFD: [0x110F, 0x1167, 0x11AB], NFKC: [0xCF20], NFKD: [0x110F, 0x1167, 0x11AB] }, -{ source: [0xCF21], NFC: [0xCF21], NFD: [0x110F, 0x1167, 0x11AC], NFKC: [0xCF21], NFKD: [0x110F, 0x1167, 0x11AC] }, -{ source: [0xCF22], NFC: [0xCF22], NFD: [0x110F, 0x1167, 0x11AD], NFKC: [0xCF22], NFKD: [0x110F, 0x1167, 0x11AD] }, -{ source: [0xCF23], NFC: [0xCF23], NFD: [0x110F, 0x1167, 0x11AE], NFKC: [0xCF23], NFKD: [0x110F, 0x1167, 0x11AE] }, -{ source: [0xCF24], NFC: [0xCF24], NFD: [0x110F, 0x1167, 0x11AF], NFKC: [0xCF24], NFKD: [0x110F, 0x1167, 0x11AF] }, -{ source: [0xCF25], NFC: [0xCF25], NFD: [0x110F, 0x1167, 0x11B0], NFKC: [0xCF25], NFKD: [0x110F, 0x1167, 0x11B0] }, -{ source: [0xCF26], NFC: [0xCF26], NFD: [0x110F, 0x1167, 0x11B1], NFKC: [0xCF26], NFKD: [0x110F, 0x1167, 0x11B1] }, -{ source: [0xCF27], NFC: [0xCF27], NFD: [0x110F, 0x1167, 0x11B2], NFKC: [0xCF27], NFKD: [0x110F, 0x1167, 0x11B2] }, -{ source: [0xCF28], NFC: [0xCF28], NFD: [0x110F, 0x1167, 0x11B3], NFKC: [0xCF28], NFKD: [0x110F, 0x1167, 0x11B3] }, -{ source: [0xCF29], NFC: [0xCF29], NFD: [0x110F, 0x1167, 0x11B4], NFKC: [0xCF29], NFKD: [0x110F, 0x1167, 0x11B4] }, -{ source: [0xCF2A], NFC: [0xCF2A], NFD: [0x110F, 0x1167, 0x11B5], NFKC: [0xCF2A], NFKD: [0x110F, 0x1167, 0x11B5] }, -{ source: [0xCF2B], NFC: [0xCF2B], NFD: [0x110F, 0x1167, 0x11B6], NFKC: [0xCF2B], NFKD: [0x110F, 0x1167, 0x11B6] }, -{ source: [0xCF2C], NFC: [0xCF2C], NFD: [0x110F, 0x1167, 0x11B7], NFKC: [0xCF2C], NFKD: [0x110F, 0x1167, 0x11B7] }, -{ source: [0xCF2D], NFC: [0xCF2D], NFD: [0x110F, 0x1167, 0x11B8], NFKC: [0xCF2D], NFKD: [0x110F, 0x1167, 0x11B8] }, -{ source: [0xCF2E], NFC: [0xCF2E], NFD: [0x110F, 0x1167, 0x11B9], NFKC: [0xCF2E], NFKD: [0x110F, 0x1167, 0x11B9] }, -{ source: [0xCF2F], NFC: [0xCF2F], NFD: [0x110F, 0x1167, 0x11BA], NFKC: [0xCF2F], NFKD: [0x110F, 0x1167, 0x11BA] }, -{ source: [0xCF30], NFC: [0xCF30], NFD: [0x110F, 0x1167, 0x11BB], NFKC: [0xCF30], NFKD: [0x110F, 0x1167, 0x11BB] }, -{ source: [0xCF31], NFC: [0xCF31], NFD: [0x110F, 0x1167, 0x11BC], NFKC: [0xCF31], NFKD: [0x110F, 0x1167, 0x11BC] }, -{ source: [0xCF32], NFC: [0xCF32], NFD: [0x110F, 0x1167, 0x11BD], NFKC: [0xCF32], NFKD: [0x110F, 0x1167, 0x11BD] }, -{ source: [0xCF33], NFC: [0xCF33], NFD: [0x110F, 0x1167, 0x11BE], NFKC: [0xCF33], NFKD: [0x110F, 0x1167, 0x11BE] }, -{ source: [0xCF34], NFC: [0xCF34], NFD: [0x110F, 0x1167, 0x11BF], NFKC: [0xCF34], NFKD: [0x110F, 0x1167, 0x11BF] }, -{ source: [0xCF35], NFC: [0xCF35], NFD: [0x110F, 0x1167, 0x11C0], NFKC: [0xCF35], NFKD: [0x110F, 0x1167, 0x11C0] }, -{ source: [0xCF36], NFC: [0xCF36], NFD: [0x110F, 0x1167, 0x11C1], NFKC: [0xCF36], NFKD: [0x110F, 0x1167, 0x11C1] }, -{ source: [0xCF37], NFC: [0xCF37], NFD: [0x110F, 0x1167, 0x11C2], NFKC: [0xCF37], NFKD: [0x110F, 0x1167, 0x11C2] }, -{ source: [0xCF38], NFC: [0xCF38], NFD: [0x110F, 0x1168], NFKC: [0xCF38], NFKD: [0x110F, 0x1168] }, -{ source: [0xCF39], NFC: [0xCF39], NFD: [0x110F, 0x1168, 0x11A8], NFKC: [0xCF39], NFKD: [0x110F, 0x1168, 0x11A8] }, -{ source: [0xCF3A], NFC: [0xCF3A], NFD: [0x110F, 0x1168, 0x11A9], NFKC: [0xCF3A], NFKD: [0x110F, 0x1168, 0x11A9] }, -{ source: [0xCF3B], NFC: [0xCF3B], NFD: [0x110F, 0x1168, 0x11AA], NFKC: [0xCF3B], NFKD: [0x110F, 0x1168, 0x11AA] }, -{ source: [0xCF3C], NFC: [0xCF3C], NFD: [0x110F, 0x1168, 0x11AB], NFKC: [0xCF3C], NFKD: [0x110F, 0x1168, 0x11AB] }, -{ source: [0xCF3D], NFC: [0xCF3D], NFD: [0x110F, 0x1168, 0x11AC], NFKC: [0xCF3D], NFKD: [0x110F, 0x1168, 0x11AC] }, -{ source: [0xCF3E], NFC: [0xCF3E], NFD: [0x110F, 0x1168, 0x11AD], NFKC: [0xCF3E], NFKD: [0x110F, 0x1168, 0x11AD] }, -{ source: [0xCF3F], NFC: [0xCF3F], NFD: [0x110F, 0x1168, 0x11AE], NFKC: [0xCF3F], NFKD: [0x110F, 0x1168, 0x11AE] }, -{ source: [0xCF40], NFC: [0xCF40], NFD: [0x110F, 0x1168, 0x11AF], NFKC: [0xCF40], NFKD: [0x110F, 0x1168, 0x11AF] }, -{ source: [0xCF41], NFC: [0xCF41], NFD: [0x110F, 0x1168, 0x11B0], NFKC: [0xCF41], NFKD: [0x110F, 0x1168, 0x11B0] }, -{ source: [0xCF42], NFC: [0xCF42], NFD: [0x110F, 0x1168, 0x11B1], NFKC: [0xCF42], NFKD: [0x110F, 0x1168, 0x11B1] }, -{ source: [0xCF43], NFC: [0xCF43], NFD: [0x110F, 0x1168, 0x11B2], NFKC: [0xCF43], NFKD: [0x110F, 0x1168, 0x11B2] }, -{ source: [0xCF44], NFC: [0xCF44], NFD: [0x110F, 0x1168, 0x11B3], NFKC: [0xCF44], NFKD: [0x110F, 0x1168, 0x11B3] }, -{ source: [0xCF45], NFC: [0xCF45], NFD: [0x110F, 0x1168, 0x11B4], NFKC: [0xCF45], NFKD: [0x110F, 0x1168, 0x11B4] }, -{ source: [0xCF46], NFC: [0xCF46], NFD: [0x110F, 0x1168, 0x11B5], NFKC: [0xCF46], NFKD: [0x110F, 0x1168, 0x11B5] }, -{ source: [0xCF47], NFC: [0xCF47], NFD: [0x110F, 0x1168, 0x11B6], NFKC: [0xCF47], NFKD: [0x110F, 0x1168, 0x11B6] }, -{ source: [0xCF48], NFC: [0xCF48], NFD: [0x110F, 0x1168, 0x11B7], NFKC: [0xCF48], NFKD: [0x110F, 0x1168, 0x11B7] }, -{ source: [0xCF49], NFC: [0xCF49], NFD: [0x110F, 0x1168, 0x11B8], NFKC: [0xCF49], NFKD: [0x110F, 0x1168, 0x11B8] }, -{ source: [0xCF4A], NFC: [0xCF4A], NFD: [0x110F, 0x1168, 0x11B9], NFKC: [0xCF4A], NFKD: [0x110F, 0x1168, 0x11B9] }, -{ source: [0xCF4B], NFC: [0xCF4B], NFD: [0x110F, 0x1168, 0x11BA], NFKC: [0xCF4B], NFKD: [0x110F, 0x1168, 0x11BA] }, -{ source: [0xCF4C], NFC: [0xCF4C], NFD: [0x110F, 0x1168, 0x11BB], NFKC: [0xCF4C], NFKD: [0x110F, 0x1168, 0x11BB] }, -{ source: [0xCF4D], NFC: [0xCF4D], NFD: [0x110F, 0x1168, 0x11BC], NFKC: [0xCF4D], NFKD: [0x110F, 0x1168, 0x11BC] }, -{ source: [0xCF4E], NFC: [0xCF4E], NFD: [0x110F, 0x1168, 0x11BD], NFKC: [0xCF4E], NFKD: [0x110F, 0x1168, 0x11BD] }, -{ source: [0xCF4F], NFC: [0xCF4F], NFD: [0x110F, 0x1168, 0x11BE], NFKC: [0xCF4F], NFKD: [0x110F, 0x1168, 0x11BE] }, -{ source: [0xCF50], NFC: [0xCF50], NFD: [0x110F, 0x1168, 0x11BF], NFKC: [0xCF50], NFKD: [0x110F, 0x1168, 0x11BF] }, -{ source: [0xCF51], NFC: [0xCF51], NFD: [0x110F, 0x1168, 0x11C0], NFKC: [0xCF51], NFKD: [0x110F, 0x1168, 0x11C0] }, -{ source: [0xCF52], NFC: [0xCF52], NFD: [0x110F, 0x1168, 0x11C1], NFKC: [0xCF52], NFKD: [0x110F, 0x1168, 0x11C1] }, -{ source: [0xCF53], NFC: [0xCF53], NFD: [0x110F, 0x1168, 0x11C2], NFKC: [0xCF53], NFKD: [0x110F, 0x1168, 0x11C2] }, -{ source: [0xCF54], NFC: [0xCF54], NFD: [0x110F, 0x1169], NFKC: [0xCF54], NFKD: [0x110F, 0x1169] }, -{ source: [0xCF55], NFC: [0xCF55], NFD: [0x110F, 0x1169, 0x11A8], NFKC: [0xCF55], NFKD: [0x110F, 0x1169, 0x11A8] }, -{ source: [0xCF56], NFC: [0xCF56], NFD: [0x110F, 0x1169, 0x11A9], NFKC: [0xCF56], NFKD: [0x110F, 0x1169, 0x11A9] }, -{ source: [0xCF57], NFC: [0xCF57], NFD: [0x110F, 0x1169, 0x11AA], NFKC: [0xCF57], NFKD: [0x110F, 0x1169, 0x11AA] }, -{ source: [0xCF58], NFC: [0xCF58], NFD: [0x110F, 0x1169, 0x11AB], NFKC: [0xCF58], NFKD: [0x110F, 0x1169, 0x11AB] }, -{ source: [0xCF59], NFC: [0xCF59], NFD: [0x110F, 0x1169, 0x11AC], NFKC: [0xCF59], NFKD: [0x110F, 0x1169, 0x11AC] }, -{ source: [0xCF5A], NFC: [0xCF5A], NFD: [0x110F, 0x1169, 0x11AD], NFKC: [0xCF5A], NFKD: [0x110F, 0x1169, 0x11AD] }, -{ source: [0xCF5B], NFC: [0xCF5B], NFD: [0x110F, 0x1169, 0x11AE], NFKC: [0xCF5B], NFKD: [0x110F, 0x1169, 0x11AE] }, -{ source: [0xCF5C], NFC: [0xCF5C], NFD: [0x110F, 0x1169, 0x11AF], NFKC: [0xCF5C], NFKD: [0x110F, 0x1169, 0x11AF] }, -{ source: [0xCF5D], NFC: [0xCF5D], NFD: [0x110F, 0x1169, 0x11B0], NFKC: [0xCF5D], NFKD: [0x110F, 0x1169, 0x11B0] }, -{ source: [0xCF5E], NFC: [0xCF5E], NFD: [0x110F, 0x1169, 0x11B1], NFKC: [0xCF5E], NFKD: [0x110F, 0x1169, 0x11B1] }, -{ source: [0xCF5F], NFC: [0xCF5F], NFD: [0x110F, 0x1169, 0x11B2], NFKC: [0xCF5F], NFKD: [0x110F, 0x1169, 0x11B2] }, -{ source: [0xCF60], NFC: [0xCF60], NFD: [0x110F, 0x1169, 0x11B3], NFKC: [0xCF60], NFKD: [0x110F, 0x1169, 0x11B3] }, -{ source: [0xCF61], NFC: [0xCF61], NFD: [0x110F, 0x1169, 0x11B4], NFKC: [0xCF61], NFKD: [0x110F, 0x1169, 0x11B4] }, -{ source: [0xCF62], NFC: [0xCF62], NFD: [0x110F, 0x1169, 0x11B5], NFKC: [0xCF62], NFKD: [0x110F, 0x1169, 0x11B5] }, -{ source: [0xCF63], NFC: [0xCF63], NFD: [0x110F, 0x1169, 0x11B6], NFKC: [0xCF63], NFKD: [0x110F, 0x1169, 0x11B6] }, -{ source: [0xCF64], NFC: [0xCF64], NFD: [0x110F, 0x1169, 0x11B7], NFKC: [0xCF64], NFKD: [0x110F, 0x1169, 0x11B7] }, -{ source: [0xCF65], NFC: [0xCF65], NFD: [0x110F, 0x1169, 0x11B8], NFKC: [0xCF65], NFKD: [0x110F, 0x1169, 0x11B8] }, -{ source: [0xCF66], NFC: [0xCF66], NFD: [0x110F, 0x1169, 0x11B9], NFKC: [0xCF66], NFKD: [0x110F, 0x1169, 0x11B9] }, -{ source: [0xCF67], NFC: [0xCF67], NFD: [0x110F, 0x1169, 0x11BA], NFKC: [0xCF67], NFKD: [0x110F, 0x1169, 0x11BA] }, -{ source: [0xCF68], NFC: [0xCF68], NFD: [0x110F, 0x1169, 0x11BB], NFKC: [0xCF68], NFKD: [0x110F, 0x1169, 0x11BB] }, -{ source: [0xCF69], NFC: [0xCF69], NFD: [0x110F, 0x1169, 0x11BC], NFKC: [0xCF69], NFKD: [0x110F, 0x1169, 0x11BC] }, -{ source: [0xCF6A], NFC: [0xCF6A], NFD: [0x110F, 0x1169, 0x11BD], NFKC: [0xCF6A], NFKD: [0x110F, 0x1169, 0x11BD] }, -{ source: [0xCF6B], NFC: [0xCF6B], NFD: [0x110F, 0x1169, 0x11BE], NFKC: [0xCF6B], NFKD: [0x110F, 0x1169, 0x11BE] }, -{ source: [0xCF6C], NFC: [0xCF6C], NFD: [0x110F, 0x1169, 0x11BF], NFKC: [0xCF6C], NFKD: [0x110F, 0x1169, 0x11BF] }, -{ source: [0xCF6D], NFC: [0xCF6D], NFD: [0x110F, 0x1169, 0x11C0], NFKC: [0xCF6D], NFKD: [0x110F, 0x1169, 0x11C0] }, -{ source: [0xCF6E], NFC: [0xCF6E], NFD: [0x110F, 0x1169, 0x11C1], NFKC: [0xCF6E], NFKD: [0x110F, 0x1169, 0x11C1] }, -{ source: [0xCF6F], NFC: [0xCF6F], NFD: [0x110F, 0x1169, 0x11C2], NFKC: [0xCF6F], NFKD: [0x110F, 0x1169, 0x11C2] }, -{ source: [0xCF70], NFC: [0xCF70], NFD: [0x110F, 0x116A], NFKC: [0xCF70], NFKD: [0x110F, 0x116A] }, -{ source: [0xCF71], NFC: [0xCF71], NFD: [0x110F, 0x116A, 0x11A8], NFKC: [0xCF71], NFKD: [0x110F, 0x116A, 0x11A8] }, -{ source: [0xCF72], NFC: [0xCF72], NFD: [0x110F, 0x116A, 0x11A9], NFKC: [0xCF72], NFKD: [0x110F, 0x116A, 0x11A9] }, -{ source: [0xCF73], NFC: [0xCF73], NFD: [0x110F, 0x116A, 0x11AA], NFKC: [0xCF73], NFKD: [0x110F, 0x116A, 0x11AA] }, -{ source: [0xCF74], NFC: [0xCF74], NFD: [0x110F, 0x116A, 0x11AB], NFKC: [0xCF74], NFKD: [0x110F, 0x116A, 0x11AB] }, -{ source: [0xCF75], NFC: [0xCF75], NFD: [0x110F, 0x116A, 0x11AC], NFKC: [0xCF75], NFKD: [0x110F, 0x116A, 0x11AC] }, -{ source: [0xCF76], NFC: [0xCF76], NFD: [0x110F, 0x116A, 0x11AD], NFKC: [0xCF76], NFKD: [0x110F, 0x116A, 0x11AD] }, -{ source: [0xCF77], NFC: [0xCF77], NFD: [0x110F, 0x116A, 0x11AE], NFKC: [0xCF77], NFKD: [0x110F, 0x116A, 0x11AE] }, -{ source: [0xCF78], NFC: [0xCF78], NFD: [0x110F, 0x116A, 0x11AF], NFKC: [0xCF78], NFKD: [0x110F, 0x116A, 0x11AF] }, -{ source: [0xCF79], NFC: [0xCF79], NFD: [0x110F, 0x116A, 0x11B0], NFKC: [0xCF79], NFKD: [0x110F, 0x116A, 0x11B0] }, -{ source: [0xCF7A], NFC: [0xCF7A], NFD: [0x110F, 0x116A, 0x11B1], NFKC: [0xCF7A], NFKD: [0x110F, 0x116A, 0x11B1] }, -{ source: [0xCF7B], NFC: [0xCF7B], NFD: [0x110F, 0x116A, 0x11B2], NFKC: [0xCF7B], NFKD: [0x110F, 0x116A, 0x11B2] }, -{ source: [0xCF7C], NFC: [0xCF7C], NFD: [0x110F, 0x116A, 0x11B3], NFKC: [0xCF7C], NFKD: [0x110F, 0x116A, 0x11B3] }, -{ source: [0xCF7D], NFC: [0xCF7D], NFD: [0x110F, 0x116A, 0x11B4], NFKC: [0xCF7D], NFKD: [0x110F, 0x116A, 0x11B4] }, -{ source: [0xCF7E], NFC: [0xCF7E], NFD: [0x110F, 0x116A, 0x11B5], NFKC: [0xCF7E], NFKD: [0x110F, 0x116A, 0x11B5] }, -{ source: [0xCF7F], NFC: [0xCF7F], NFD: [0x110F, 0x116A, 0x11B6], NFKC: [0xCF7F], NFKD: [0x110F, 0x116A, 0x11B6] }, -{ source: [0xCF80], NFC: [0xCF80], NFD: [0x110F, 0x116A, 0x11B7], NFKC: [0xCF80], NFKD: [0x110F, 0x116A, 0x11B7] }, -{ source: [0xCF81], NFC: [0xCF81], NFD: [0x110F, 0x116A, 0x11B8], NFKC: [0xCF81], NFKD: [0x110F, 0x116A, 0x11B8] }, -{ source: [0xCF82], NFC: [0xCF82], NFD: [0x110F, 0x116A, 0x11B9], NFKC: [0xCF82], NFKD: [0x110F, 0x116A, 0x11B9] }, -{ source: [0xCF83], NFC: [0xCF83], NFD: [0x110F, 0x116A, 0x11BA], NFKC: [0xCF83], NFKD: [0x110F, 0x116A, 0x11BA] }, -{ source: [0xCF84], NFC: [0xCF84], NFD: [0x110F, 0x116A, 0x11BB], NFKC: [0xCF84], NFKD: [0x110F, 0x116A, 0x11BB] }, -{ source: [0xCF85], NFC: [0xCF85], NFD: [0x110F, 0x116A, 0x11BC], NFKC: [0xCF85], NFKD: [0x110F, 0x116A, 0x11BC] }, -{ source: [0xCF86], NFC: [0xCF86], NFD: [0x110F, 0x116A, 0x11BD], NFKC: [0xCF86], NFKD: [0x110F, 0x116A, 0x11BD] }, -{ source: [0xCF87], NFC: [0xCF87], NFD: [0x110F, 0x116A, 0x11BE], NFKC: [0xCF87], NFKD: [0x110F, 0x116A, 0x11BE] }, -{ source: [0xCF88], NFC: [0xCF88], NFD: [0x110F, 0x116A, 0x11BF], NFKC: [0xCF88], NFKD: [0x110F, 0x116A, 0x11BF] }, -{ source: [0xCF89], NFC: [0xCF89], NFD: [0x110F, 0x116A, 0x11C0], NFKC: [0xCF89], NFKD: [0x110F, 0x116A, 0x11C0] }, -{ source: [0xCF8A], NFC: [0xCF8A], NFD: [0x110F, 0x116A, 0x11C1], NFKC: [0xCF8A], NFKD: [0x110F, 0x116A, 0x11C1] }, -{ source: [0xCF8B], NFC: [0xCF8B], NFD: [0x110F, 0x116A, 0x11C2], NFKC: [0xCF8B], NFKD: [0x110F, 0x116A, 0x11C2] }, -{ source: [0xCF8C], NFC: [0xCF8C], NFD: [0x110F, 0x116B], NFKC: [0xCF8C], NFKD: [0x110F, 0x116B] }, -{ source: [0xCF8D], NFC: [0xCF8D], NFD: [0x110F, 0x116B, 0x11A8], NFKC: [0xCF8D], NFKD: [0x110F, 0x116B, 0x11A8] }, -{ source: [0xCF8E], NFC: [0xCF8E], NFD: [0x110F, 0x116B, 0x11A9], NFKC: [0xCF8E], NFKD: [0x110F, 0x116B, 0x11A9] }, -{ source: [0xCF8F], NFC: [0xCF8F], NFD: [0x110F, 0x116B, 0x11AA], NFKC: [0xCF8F], NFKD: [0x110F, 0x116B, 0x11AA] }, -{ source: [0xCF90], NFC: [0xCF90], NFD: [0x110F, 0x116B, 0x11AB], NFKC: [0xCF90], NFKD: [0x110F, 0x116B, 0x11AB] }, -{ source: [0xCF91], NFC: [0xCF91], NFD: [0x110F, 0x116B, 0x11AC], NFKC: [0xCF91], NFKD: [0x110F, 0x116B, 0x11AC] }, -{ source: [0xCF92], NFC: [0xCF92], NFD: [0x110F, 0x116B, 0x11AD], NFKC: [0xCF92], NFKD: [0x110F, 0x116B, 0x11AD] }, -{ source: [0xCF93], NFC: [0xCF93], NFD: [0x110F, 0x116B, 0x11AE], NFKC: [0xCF93], NFKD: [0x110F, 0x116B, 0x11AE] }, -{ source: [0xCF94], NFC: [0xCF94], NFD: [0x110F, 0x116B, 0x11AF], NFKC: [0xCF94], NFKD: [0x110F, 0x116B, 0x11AF] }, -{ source: [0xCF95], NFC: [0xCF95], NFD: [0x110F, 0x116B, 0x11B0], NFKC: [0xCF95], NFKD: [0x110F, 0x116B, 0x11B0] }, -{ source: [0xCF96], NFC: [0xCF96], NFD: [0x110F, 0x116B, 0x11B1], NFKC: [0xCF96], NFKD: [0x110F, 0x116B, 0x11B1] }, -{ source: [0xCF97], NFC: [0xCF97], NFD: [0x110F, 0x116B, 0x11B2], NFKC: [0xCF97], NFKD: [0x110F, 0x116B, 0x11B2] }, -{ source: [0xCF98], NFC: [0xCF98], NFD: [0x110F, 0x116B, 0x11B3], NFKC: [0xCF98], NFKD: [0x110F, 0x116B, 0x11B3] }, -{ source: [0xCF99], NFC: [0xCF99], NFD: [0x110F, 0x116B, 0x11B4], NFKC: [0xCF99], NFKD: [0x110F, 0x116B, 0x11B4] }, -{ source: [0xCF9A], NFC: [0xCF9A], NFD: [0x110F, 0x116B, 0x11B5], NFKC: [0xCF9A], NFKD: [0x110F, 0x116B, 0x11B5] }, -{ source: [0xCF9B], NFC: [0xCF9B], NFD: [0x110F, 0x116B, 0x11B6], NFKC: [0xCF9B], NFKD: [0x110F, 0x116B, 0x11B6] }, -{ source: [0xCF9C], NFC: [0xCF9C], NFD: [0x110F, 0x116B, 0x11B7], NFKC: [0xCF9C], NFKD: [0x110F, 0x116B, 0x11B7] }, -{ source: [0xCF9D], NFC: [0xCF9D], NFD: [0x110F, 0x116B, 0x11B8], NFKC: [0xCF9D], NFKD: [0x110F, 0x116B, 0x11B8] }, -{ source: [0xCF9E], NFC: [0xCF9E], NFD: [0x110F, 0x116B, 0x11B9], NFKC: [0xCF9E], NFKD: [0x110F, 0x116B, 0x11B9] }, -{ source: [0xCF9F], NFC: [0xCF9F], NFD: [0x110F, 0x116B, 0x11BA], NFKC: [0xCF9F], NFKD: [0x110F, 0x116B, 0x11BA] }, -{ source: [0xCFA0], NFC: [0xCFA0], NFD: [0x110F, 0x116B, 0x11BB], NFKC: [0xCFA0], NFKD: [0x110F, 0x116B, 0x11BB] }, -{ source: [0xCFA1], NFC: [0xCFA1], NFD: [0x110F, 0x116B, 0x11BC], NFKC: [0xCFA1], NFKD: [0x110F, 0x116B, 0x11BC] }, -{ source: [0xCFA2], NFC: [0xCFA2], NFD: [0x110F, 0x116B, 0x11BD], NFKC: [0xCFA2], NFKD: [0x110F, 0x116B, 0x11BD] }, -{ source: [0xCFA3], NFC: [0xCFA3], NFD: [0x110F, 0x116B, 0x11BE], NFKC: [0xCFA3], NFKD: [0x110F, 0x116B, 0x11BE] }, -{ source: [0xCFA4], NFC: [0xCFA4], NFD: [0x110F, 0x116B, 0x11BF], NFKC: [0xCFA4], NFKD: [0x110F, 0x116B, 0x11BF] }, -{ source: [0xCFA5], NFC: [0xCFA5], NFD: [0x110F, 0x116B, 0x11C0], NFKC: [0xCFA5], NFKD: [0x110F, 0x116B, 0x11C0] }, -{ source: [0xCFA6], NFC: [0xCFA6], NFD: [0x110F, 0x116B, 0x11C1], NFKC: [0xCFA6], NFKD: [0x110F, 0x116B, 0x11C1] }, -{ source: [0xCFA7], NFC: [0xCFA7], NFD: [0x110F, 0x116B, 0x11C2], NFKC: [0xCFA7], NFKD: [0x110F, 0x116B, 0x11C2] }, -{ source: [0xCFA8], NFC: [0xCFA8], NFD: [0x110F, 0x116C], NFKC: [0xCFA8], NFKD: [0x110F, 0x116C] }, -{ source: [0xCFA9], NFC: [0xCFA9], NFD: [0x110F, 0x116C, 0x11A8], NFKC: [0xCFA9], NFKD: [0x110F, 0x116C, 0x11A8] }, -{ source: [0xCFAA], NFC: [0xCFAA], NFD: [0x110F, 0x116C, 0x11A9], NFKC: [0xCFAA], NFKD: [0x110F, 0x116C, 0x11A9] }, -{ source: [0xCFAB], NFC: [0xCFAB], NFD: [0x110F, 0x116C, 0x11AA], NFKC: [0xCFAB], NFKD: [0x110F, 0x116C, 0x11AA] }, -{ source: [0xCFAC], NFC: [0xCFAC], NFD: [0x110F, 0x116C, 0x11AB], NFKC: [0xCFAC], NFKD: [0x110F, 0x116C, 0x11AB] }, -{ source: [0xCFAD], NFC: [0xCFAD], NFD: [0x110F, 0x116C, 0x11AC], NFKC: [0xCFAD], NFKD: [0x110F, 0x116C, 0x11AC] }, -{ source: [0xCFAE], NFC: [0xCFAE], NFD: [0x110F, 0x116C, 0x11AD], NFKC: [0xCFAE], NFKD: [0x110F, 0x116C, 0x11AD] }, -{ source: [0xCFAF], NFC: [0xCFAF], NFD: [0x110F, 0x116C, 0x11AE], NFKC: [0xCFAF], NFKD: [0x110F, 0x116C, 0x11AE] }, -{ source: [0xCFB0], NFC: [0xCFB0], NFD: [0x110F, 0x116C, 0x11AF], NFKC: [0xCFB0], NFKD: [0x110F, 0x116C, 0x11AF] }, -{ source: [0xCFB1], NFC: [0xCFB1], NFD: [0x110F, 0x116C, 0x11B0], NFKC: [0xCFB1], NFKD: [0x110F, 0x116C, 0x11B0] }, -{ source: [0xCFB2], NFC: [0xCFB2], NFD: [0x110F, 0x116C, 0x11B1], NFKC: [0xCFB2], NFKD: [0x110F, 0x116C, 0x11B1] }, -{ source: [0xCFB3], NFC: [0xCFB3], NFD: [0x110F, 0x116C, 0x11B2], NFKC: [0xCFB3], NFKD: [0x110F, 0x116C, 0x11B2] }, -{ source: [0xCFB4], NFC: [0xCFB4], NFD: [0x110F, 0x116C, 0x11B3], NFKC: [0xCFB4], NFKD: [0x110F, 0x116C, 0x11B3] }, -{ source: [0xCFB5], NFC: [0xCFB5], NFD: [0x110F, 0x116C, 0x11B4], NFKC: [0xCFB5], NFKD: [0x110F, 0x116C, 0x11B4] }, -{ source: [0xCFB6], NFC: [0xCFB6], NFD: [0x110F, 0x116C, 0x11B5], NFKC: [0xCFB6], NFKD: [0x110F, 0x116C, 0x11B5] }, -{ source: [0xCFB7], NFC: [0xCFB7], NFD: [0x110F, 0x116C, 0x11B6], NFKC: [0xCFB7], NFKD: [0x110F, 0x116C, 0x11B6] }, -{ source: [0xCFB8], NFC: [0xCFB8], NFD: [0x110F, 0x116C, 0x11B7], NFKC: [0xCFB8], NFKD: [0x110F, 0x116C, 0x11B7] }, -{ source: [0xCFB9], NFC: [0xCFB9], NFD: [0x110F, 0x116C, 0x11B8], NFKC: [0xCFB9], NFKD: [0x110F, 0x116C, 0x11B8] }, -{ source: [0xCFBA], NFC: [0xCFBA], NFD: [0x110F, 0x116C, 0x11B9], NFKC: [0xCFBA], NFKD: [0x110F, 0x116C, 0x11B9] }, -{ source: [0xCFBB], NFC: [0xCFBB], NFD: [0x110F, 0x116C, 0x11BA], NFKC: [0xCFBB], NFKD: [0x110F, 0x116C, 0x11BA] }, -{ source: [0xCFBC], NFC: [0xCFBC], NFD: [0x110F, 0x116C, 0x11BB], NFKC: [0xCFBC], NFKD: [0x110F, 0x116C, 0x11BB] }, -{ source: [0xCFBD], NFC: [0xCFBD], NFD: [0x110F, 0x116C, 0x11BC], NFKC: [0xCFBD], NFKD: [0x110F, 0x116C, 0x11BC] }, -{ source: [0xCFBE], NFC: [0xCFBE], NFD: [0x110F, 0x116C, 0x11BD], NFKC: [0xCFBE], NFKD: [0x110F, 0x116C, 0x11BD] }, -{ source: [0xCFBF], NFC: [0xCFBF], NFD: [0x110F, 0x116C, 0x11BE], NFKC: [0xCFBF], NFKD: [0x110F, 0x116C, 0x11BE] }, -{ source: [0xCFC0], NFC: [0xCFC0], NFD: [0x110F, 0x116C, 0x11BF], NFKC: [0xCFC0], NFKD: [0x110F, 0x116C, 0x11BF] }, -{ source: [0xCFC1], NFC: [0xCFC1], NFD: [0x110F, 0x116C, 0x11C0], NFKC: [0xCFC1], NFKD: [0x110F, 0x116C, 0x11C0] }, -{ source: [0xCFC2], NFC: [0xCFC2], NFD: [0x110F, 0x116C, 0x11C1], NFKC: [0xCFC2], NFKD: [0x110F, 0x116C, 0x11C1] }, -{ source: [0xCFC3], NFC: [0xCFC3], NFD: [0x110F, 0x116C, 0x11C2], NFKC: [0xCFC3], NFKD: [0x110F, 0x116C, 0x11C2] }, -{ source: [0xCFC4], NFC: [0xCFC4], NFD: [0x110F, 0x116D], NFKC: [0xCFC4], NFKD: [0x110F, 0x116D] }, -{ source: [0xCFC5], NFC: [0xCFC5], NFD: [0x110F, 0x116D, 0x11A8], NFKC: [0xCFC5], NFKD: [0x110F, 0x116D, 0x11A8] }, -{ source: [0xCFC6], NFC: [0xCFC6], NFD: [0x110F, 0x116D, 0x11A9], NFKC: [0xCFC6], NFKD: [0x110F, 0x116D, 0x11A9] }, -{ source: [0xCFC7], NFC: [0xCFC7], NFD: [0x110F, 0x116D, 0x11AA], NFKC: [0xCFC7], NFKD: [0x110F, 0x116D, 0x11AA] }, -{ source: [0xCFC8], NFC: [0xCFC8], NFD: [0x110F, 0x116D, 0x11AB], NFKC: [0xCFC8], NFKD: [0x110F, 0x116D, 0x11AB] }, -{ source: [0xCFC9], NFC: [0xCFC9], NFD: [0x110F, 0x116D, 0x11AC], NFKC: [0xCFC9], NFKD: [0x110F, 0x116D, 0x11AC] }, -{ source: [0xCFCA], NFC: [0xCFCA], NFD: [0x110F, 0x116D, 0x11AD], NFKC: [0xCFCA], NFKD: [0x110F, 0x116D, 0x11AD] }, -{ source: [0xCFCB], NFC: [0xCFCB], NFD: [0x110F, 0x116D, 0x11AE], NFKC: [0xCFCB], NFKD: [0x110F, 0x116D, 0x11AE] }, -{ source: [0xCFCC], NFC: [0xCFCC], NFD: [0x110F, 0x116D, 0x11AF], NFKC: [0xCFCC], NFKD: [0x110F, 0x116D, 0x11AF] }, -{ source: [0xCFCD], NFC: [0xCFCD], NFD: [0x110F, 0x116D, 0x11B0], NFKC: [0xCFCD], NFKD: [0x110F, 0x116D, 0x11B0] }, -{ source: [0xCFCE], NFC: [0xCFCE], NFD: [0x110F, 0x116D, 0x11B1], NFKC: [0xCFCE], NFKD: [0x110F, 0x116D, 0x11B1] }, -{ source: [0xCFCF], NFC: [0xCFCF], NFD: [0x110F, 0x116D, 0x11B2], NFKC: [0xCFCF], NFKD: [0x110F, 0x116D, 0x11B2] }, -{ source: [0xCFD0], NFC: [0xCFD0], NFD: [0x110F, 0x116D, 0x11B3], NFKC: [0xCFD0], NFKD: [0x110F, 0x116D, 0x11B3] }, -{ source: [0xCFD1], NFC: [0xCFD1], NFD: [0x110F, 0x116D, 0x11B4], NFKC: [0xCFD1], NFKD: [0x110F, 0x116D, 0x11B4] }, -{ source: [0xCFD2], NFC: [0xCFD2], NFD: [0x110F, 0x116D, 0x11B5], NFKC: [0xCFD2], NFKD: [0x110F, 0x116D, 0x11B5] }, -{ source: [0xCFD3], NFC: [0xCFD3], NFD: [0x110F, 0x116D, 0x11B6], NFKC: [0xCFD3], NFKD: [0x110F, 0x116D, 0x11B6] }, -{ source: [0xCFD4], NFC: [0xCFD4], NFD: [0x110F, 0x116D, 0x11B7], NFKC: [0xCFD4], NFKD: [0x110F, 0x116D, 0x11B7] }, -{ source: [0xCFD5], NFC: [0xCFD5], NFD: [0x110F, 0x116D, 0x11B8], NFKC: [0xCFD5], NFKD: [0x110F, 0x116D, 0x11B8] }, -{ source: [0xCFD6], NFC: [0xCFD6], NFD: [0x110F, 0x116D, 0x11B9], NFKC: [0xCFD6], NFKD: [0x110F, 0x116D, 0x11B9] }, -{ source: [0xCFD7], NFC: [0xCFD7], NFD: [0x110F, 0x116D, 0x11BA], NFKC: [0xCFD7], NFKD: [0x110F, 0x116D, 0x11BA] }, -{ source: [0xCFD8], NFC: [0xCFD8], NFD: [0x110F, 0x116D, 0x11BB], NFKC: [0xCFD8], NFKD: [0x110F, 0x116D, 0x11BB] }, -{ source: [0xCFD9], NFC: [0xCFD9], NFD: [0x110F, 0x116D, 0x11BC], NFKC: [0xCFD9], NFKD: [0x110F, 0x116D, 0x11BC] }, -{ source: [0xCFDA], NFC: [0xCFDA], NFD: [0x110F, 0x116D, 0x11BD], NFKC: [0xCFDA], NFKD: [0x110F, 0x116D, 0x11BD] }, -{ source: [0xCFDB], NFC: [0xCFDB], NFD: [0x110F, 0x116D, 0x11BE], NFKC: [0xCFDB], NFKD: [0x110F, 0x116D, 0x11BE] }, -{ source: [0xCFDC], NFC: [0xCFDC], NFD: [0x110F, 0x116D, 0x11BF], NFKC: [0xCFDC], NFKD: [0x110F, 0x116D, 0x11BF] }, -{ source: [0xCFDD], NFC: [0xCFDD], NFD: [0x110F, 0x116D, 0x11C0], NFKC: [0xCFDD], NFKD: [0x110F, 0x116D, 0x11C0] }, -{ source: [0xCFDE], NFC: [0xCFDE], NFD: [0x110F, 0x116D, 0x11C1], NFKC: [0xCFDE], NFKD: [0x110F, 0x116D, 0x11C1] }, -{ source: [0xCFDF], NFC: [0xCFDF], NFD: [0x110F, 0x116D, 0x11C2], NFKC: [0xCFDF], NFKD: [0x110F, 0x116D, 0x11C2] }, -{ source: [0xCFE0], NFC: [0xCFE0], NFD: [0x110F, 0x116E], NFKC: [0xCFE0], NFKD: [0x110F, 0x116E] }, -{ source: [0xCFE1], NFC: [0xCFE1], NFD: [0x110F, 0x116E, 0x11A8], NFKC: [0xCFE1], NFKD: [0x110F, 0x116E, 0x11A8] }, -{ source: [0xCFE2], NFC: [0xCFE2], NFD: [0x110F, 0x116E, 0x11A9], NFKC: [0xCFE2], NFKD: [0x110F, 0x116E, 0x11A9] }, -{ source: [0xCFE3], NFC: [0xCFE3], NFD: [0x110F, 0x116E, 0x11AA], NFKC: [0xCFE3], NFKD: [0x110F, 0x116E, 0x11AA] }, -{ source: [0xCFE4], NFC: [0xCFE4], NFD: [0x110F, 0x116E, 0x11AB], NFKC: [0xCFE4], NFKD: [0x110F, 0x116E, 0x11AB] }, -{ source: [0xCFE5], NFC: [0xCFE5], NFD: [0x110F, 0x116E, 0x11AC], NFKC: [0xCFE5], NFKD: [0x110F, 0x116E, 0x11AC] }, -{ source: [0xCFE6], NFC: [0xCFE6], NFD: [0x110F, 0x116E, 0x11AD], NFKC: [0xCFE6], NFKD: [0x110F, 0x116E, 0x11AD] }, -{ source: [0xCFE7], NFC: [0xCFE7], NFD: [0x110F, 0x116E, 0x11AE], NFKC: [0xCFE7], NFKD: [0x110F, 0x116E, 0x11AE] }, -{ source: [0xCFE8], NFC: [0xCFE8], NFD: [0x110F, 0x116E, 0x11AF], NFKC: [0xCFE8], NFKD: [0x110F, 0x116E, 0x11AF] }, -{ source: [0xCFE9], NFC: [0xCFE9], NFD: [0x110F, 0x116E, 0x11B0], NFKC: [0xCFE9], NFKD: [0x110F, 0x116E, 0x11B0] }, -{ source: [0xCFEA], NFC: [0xCFEA], NFD: [0x110F, 0x116E, 0x11B1], NFKC: [0xCFEA], NFKD: [0x110F, 0x116E, 0x11B1] }, -{ source: [0xCFEB], NFC: [0xCFEB], NFD: [0x110F, 0x116E, 0x11B2], NFKC: [0xCFEB], NFKD: [0x110F, 0x116E, 0x11B2] }, -{ source: [0xCFEC], NFC: [0xCFEC], NFD: [0x110F, 0x116E, 0x11B3], NFKC: [0xCFEC], NFKD: [0x110F, 0x116E, 0x11B3] }, -{ source: [0xCFED], NFC: [0xCFED], NFD: [0x110F, 0x116E, 0x11B4], NFKC: [0xCFED], NFKD: [0x110F, 0x116E, 0x11B4] }, -{ source: [0xCFEE], NFC: [0xCFEE], NFD: [0x110F, 0x116E, 0x11B5], NFKC: [0xCFEE], NFKD: [0x110F, 0x116E, 0x11B5] }, -{ source: [0xCFEF], NFC: [0xCFEF], NFD: [0x110F, 0x116E, 0x11B6], NFKC: [0xCFEF], NFKD: [0x110F, 0x116E, 0x11B6] }, -{ source: [0xCFF0], NFC: [0xCFF0], NFD: [0x110F, 0x116E, 0x11B7], NFKC: [0xCFF0], NFKD: [0x110F, 0x116E, 0x11B7] }, -{ source: [0xCFF1], NFC: [0xCFF1], NFD: [0x110F, 0x116E, 0x11B8], NFKC: [0xCFF1], NFKD: [0x110F, 0x116E, 0x11B8] }, -{ source: [0xCFF2], NFC: [0xCFF2], NFD: [0x110F, 0x116E, 0x11B9], NFKC: [0xCFF2], NFKD: [0x110F, 0x116E, 0x11B9] }, -{ source: [0xCFF3], NFC: [0xCFF3], NFD: [0x110F, 0x116E, 0x11BA], NFKC: [0xCFF3], NFKD: [0x110F, 0x116E, 0x11BA] }, -{ source: [0xCFF4], NFC: [0xCFF4], NFD: [0x110F, 0x116E, 0x11BB], NFKC: [0xCFF4], NFKD: [0x110F, 0x116E, 0x11BB] }, -{ source: [0xCFF5], NFC: [0xCFF5], NFD: [0x110F, 0x116E, 0x11BC], NFKC: [0xCFF5], NFKD: [0x110F, 0x116E, 0x11BC] }, -{ source: [0xCFF6], NFC: [0xCFF6], NFD: [0x110F, 0x116E, 0x11BD], NFKC: [0xCFF6], NFKD: [0x110F, 0x116E, 0x11BD] }, -{ source: [0xCFF7], NFC: [0xCFF7], NFD: [0x110F, 0x116E, 0x11BE], NFKC: [0xCFF7], NFKD: [0x110F, 0x116E, 0x11BE] }, -{ source: [0xCFF8], NFC: [0xCFF8], NFD: [0x110F, 0x116E, 0x11BF], NFKC: [0xCFF8], NFKD: [0x110F, 0x116E, 0x11BF] }, -{ source: [0xCFF9], NFC: [0xCFF9], NFD: [0x110F, 0x116E, 0x11C0], NFKC: [0xCFF9], NFKD: [0x110F, 0x116E, 0x11C0] }, -{ source: [0xCFFA], NFC: [0xCFFA], NFD: [0x110F, 0x116E, 0x11C1], NFKC: [0xCFFA], NFKD: [0x110F, 0x116E, 0x11C1] }, -{ source: [0xCFFB], NFC: [0xCFFB], NFD: [0x110F, 0x116E, 0x11C2], NFKC: [0xCFFB], NFKD: [0x110F, 0x116E, 0x11C2] }, -{ source: [0xCFFC], NFC: [0xCFFC], NFD: [0x110F, 0x116F], NFKC: [0xCFFC], NFKD: [0x110F, 0x116F] }, -{ source: [0xCFFD], NFC: [0xCFFD], NFD: [0x110F, 0x116F, 0x11A8], NFKC: [0xCFFD], NFKD: [0x110F, 0x116F, 0x11A8] }, -{ source: [0xCFFE], NFC: [0xCFFE], NFD: [0x110F, 0x116F, 0x11A9], NFKC: [0xCFFE], NFKD: [0x110F, 0x116F, 0x11A9] }, -{ source: [0xCFFF], NFC: [0xCFFF], NFD: [0x110F, 0x116F, 0x11AA], NFKC: [0xCFFF], NFKD: [0x110F, 0x116F, 0x11AA] }, -{ source: [0xD000], NFC: [0xD000], NFD: [0x110F, 0x116F, 0x11AB], NFKC: [0xD000], NFKD: [0x110F, 0x116F, 0x11AB] }, -{ source: [0xD001], NFC: [0xD001], NFD: [0x110F, 0x116F, 0x11AC], NFKC: [0xD001], NFKD: [0x110F, 0x116F, 0x11AC] }, -{ source: [0xD002], NFC: [0xD002], NFD: [0x110F, 0x116F, 0x11AD], NFKC: [0xD002], NFKD: [0x110F, 0x116F, 0x11AD] }, -{ source: [0xD003], NFC: [0xD003], NFD: [0x110F, 0x116F, 0x11AE], NFKC: [0xD003], NFKD: [0x110F, 0x116F, 0x11AE] }, -{ source: [0xD004], NFC: [0xD004], NFD: [0x110F, 0x116F, 0x11AF], NFKC: [0xD004], NFKD: [0x110F, 0x116F, 0x11AF] }, -{ source: [0xD005], NFC: [0xD005], NFD: [0x110F, 0x116F, 0x11B0], NFKC: [0xD005], NFKD: [0x110F, 0x116F, 0x11B0] }, -{ source: [0xD006], NFC: [0xD006], NFD: [0x110F, 0x116F, 0x11B1], NFKC: [0xD006], NFKD: [0x110F, 0x116F, 0x11B1] }, -{ source: [0xD007], NFC: [0xD007], NFD: [0x110F, 0x116F, 0x11B2], NFKC: [0xD007], NFKD: [0x110F, 0x116F, 0x11B2] }, -{ source: [0xD008], NFC: [0xD008], NFD: [0x110F, 0x116F, 0x11B3], NFKC: [0xD008], NFKD: [0x110F, 0x116F, 0x11B3] }, -{ source: [0xD009], NFC: [0xD009], NFD: [0x110F, 0x116F, 0x11B4], NFKC: [0xD009], NFKD: [0x110F, 0x116F, 0x11B4] }, -{ source: [0xD00A], NFC: [0xD00A], NFD: [0x110F, 0x116F, 0x11B5], NFKC: [0xD00A], NFKD: [0x110F, 0x116F, 0x11B5] }, -{ source: [0xD00B], NFC: [0xD00B], NFD: [0x110F, 0x116F, 0x11B6], NFKC: [0xD00B], NFKD: [0x110F, 0x116F, 0x11B6] }, -{ source: [0xD00C], NFC: [0xD00C], NFD: [0x110F, 0x116F, 0x11B7], NFKC: [0xD00C], NFKD: [0x110F, 0x116F, 0x11B7] }, -{ source: [0xD00D], NFC: [0xD00D], NFD: [0x110F, 0x116F, 0x11B8], NFKC: [0xD00D], NFKD: [0x110F, 0x116F, 0x11B8] }, -{ source: [0xD00E], NFC: [0xD00E], NFD: [0x110F, 0x116F, 0x11B9], NFKC: [0xD00E], NFKD: [0x110F, 0x116F, 0x11B9] }, -{ source: [0xD00F], NFC: [0xD00F], NFD: [0x110F, 0x116F, 0x11BA], NFKC: [0xD00F], NFKD: [0x110F, 0x116F, 0x11BA] }, -{ source: [0xD010], NFC: [0xD010], NFD: [0x110F, 0x116F, 0x11BB], NFKC: [0xD010], NFKD: [0x110F, 0x116F, 0x11BB] }, -{ source: [0xD011], NFC: [0xD011], NFD: [0x110F, 0x116F, 0x11BC], NFKC: [0xD011], NFKD: [0x110F, 0x116F, 0x11BC] }, -{ source: [0xD012], NFC: [0xD012], NFD: [0x110F, 0x116F, 0x11BD], NFKC: [0xD012], NFKD: [0x110F, 0x116F, 0x11BD] }, -{ source: [0xD013], NFC: [0xD013], NFD: [0x110F, 0x116F, 0x11BE], NFKC: [0xD013], NFKD: [0x110F, 0x116F, 0x11BE] }, -{ source: [0xD014], NFC: [0xD014], NFD: [0x110F, 0x116F, 0x11BF], NFKC: [0xD014], NFKD: [0x110F, 0x116F, 0x11BF] }, -{ source: [0xD015], NFC: [0xD015], NFD: [0x110F, 0x116F, 0x11C0], NFKC: [0xD015], NFKD: [0x110F, 0x116F, 0x11C0] }, -{ source: [0xD016], NFC: [0xD016], NFD: [0x110F, 0x116F, 0x11C1], NFKC: [0xD016], NFKD: [0x110F, 0x116F, 0x11C1] }, -{ source: [0xD017], NFC: [0xD017], NFD: [0x110F, 0x116F, 0x11C2], NFKC: [0xD017], NFKD: [0x110F, 0x116F, 0x11C2] }, -{ source: [0xD018], NFC: [0xD018], NFD: [0x110F, 0x1170], NFKC: [0xD018], NFKD: [0x110F, 0x1170] }, -{ source: [0xD019], NFC: [0xD019], NFD: [0x110F, 0x1170, 0x11A8], NFKC: [0xD019], NFKD: [0x110F, 0x1170, 0x11A8] }, -{ source: [0xD01A], NFC: [0xD01A], NFD: [0x110F, 0x1170, 0x11A9], NFKC: [0xD01A], NFKD: [0x110F, 0x1170, 0x11A9] }, -{ source: [0xD01B], NFC: [0xD01B], NFD: [0x110F, 0x1170, 0x11AA], NFKC: [0xD01B], NFKD: [0x110F, 0x1170, 0x11AA] }, -{ source: [0xD01C], NFC: [0xD01C], NFD: [0x110F, 0x1170, 0x11AB], NFKC: [0xD01C], NFKD: [0x110F, 0x1170, 0x11AB] }, -{ source: [0xD01D], NFC: [0xD01D], NFD: [0x110F, 0x1170, 0x11AC], NFKC: [0xD01D], NFKD: [0x110F, 0x1170, 0x11AC] }, -{ source: [0xD01E], NFC: [0xD01E], NFD: [0x110F, 0x1170, 0x11AD], NFKC: [0xD01E], NFKD: [0x110F, 0x1170, 0x11AD] }, -{ source: [0xD01F], NFC: [0xD01F], NFD: [0x110F, 0x1170, 0x11AE], NFKC: [0xD01F], NFKD: [0x110F, 0x1170, 0x11AE] }, -{ source: [0xD020], NFC: [0xD020], NFD: [0x110F, 0x1170, 0x11AF], NFKC: [0xD020], NFKD: [0x110F, 0x1170, 0x11AF] }, -{ source: [0xD021], NFC: [0xD021], NFD: [0x110F, 0x1170, 0x11B0], NFKC: [0xD021], NFKD: [0x110F, 0x1170, 0x11B0] }, -{ source: [0xD022], NFC: [0xD022], NFD: [0x110F, 0x1170, 0x11B1], NFKC: [0xD022], NFKD: [0x110F, 0x1170, 0x11B1] }, -{ source: [0xD023], NFC: [0xD023], NFD: [0x110F, 0x1170, 0x11B2], NFKC: [0xD023], NFKD: [0x110F, 0x1170, 0x11B2] }, -{ source: [0xD024], NFC: [0xD024], NFD: [0x110F, 0x1170, 0x11B3], NFKC: [0xD024], NFKD: [0x110F, 0x1170, 0x11B3] }, -{ source: [0xD025], NFC: [0xD025], NFD: [0x110F, 0x1170, 0x11B4], NFKC: [0xD025], NFKD: [0x110F, 0x1170, 0x11B4] }, -{ source: [0xD026], NFC: [0xD026], NFD: [0x110F, 0x1170, 0x11B5], NFKC: [0xD026], NFKD: [0x110F, 0x1170, 0x11B5] }, -{ source: [0xD027], NFC: [0xD027], NFD: [0x110F, 0x1170, 0x11B6], NFKC: [0xD027], NFKD: [0x110F, 0x1170, 0x11B6] }, -{ source: [0xD028], NFC: [0xD028], NFD: [0x110F, 0x1170, 0x11B7], NFKC: [0xD028], NFKD: [0x110F, 0x1170, 0x11B7] }, -{ source: [0xD029], NFC: [0xD029], NFD: [0x110F, 0x1170, 0x11B8], NFKC: [0xD029], NFKD: [0x110F, 0x1170, 0x11B8] }, -{ source: [0xD02A], NFC: [0xD02A], NFD: [0x110F, 0x1170, 0x11B9], NFKC: [0xD02A], NFKD: [0x110F, 0x1170, 0x11B9] }, -{ source: [0xD02B], NFC: [0xD02B], NFD: [0x110F, 0x1170, 0x11BA], NFKC: [0xD02B], NFKD: [0x110F, 0x1170, 0x11BA] }, -{ source: [0xD02C], NFC: [0xD02C], NFD: [0x110F, 0x1170, 0x11BB], NFKC: [0xD02C], NFKD: [0x110F, 0x1170, 0x11BB] }, -{ source: [0xD02D], NFC: [0xD02D], NFD: [0x110F, 0x1170, 0x11BC], NFKC: [0xD02D], NFKD: [0x110F, 0x1170, 0x11BC] }, -{ source: [0xD02E], NFC: [0xD02E], NFD: [0x110F, 0x1170, 0x11BD], NFKC: [0xD02E], NFKD: [0x110F, 0x1170, 0x11BD] }, -{ source: [0xD02F], NFC: [0xD02F], NFD: [0x110F, 0x1170, 0x11BE], NFKC: [0xD02F], NFKD: [0x110F, 0x1170, 0x11BE] }, -{ source: [0xD030], NFC: [0xD030], NFD: [0x110F, 0x1170, 0x11BF], NFKC: [0xD030], NFKD: [0x110F, 0x1170, 0x11BF] }, -{ source: [0xD031], NFC: [0xD031], NFD: [0x110F, 0x1170, 0x11C0], NFKC: [0xD031], NFKD: [0x110F, 0x1170, 0x11C0] }, -{ source: [0xD032], NFC: [0xD032], NFD: [0x110F, 0x1170, 0x11C1], NFKC: [0xD032], NFKD: [0x110F, 0x1170, 0x11C1] }, -{ source: [0xD033], NFC: [0xD033], NFD: [0x110F, 0x1170, 0x11C2], NFKC: [0xD033], NFKD: [0x110F, 0x1170, 0x11C2] }, -{ source: [0xD034], NFC: [0xD034], NFD: [0x110F, 0x1171], NFKC: [0xD034], NFKD: [0x110F, 0x1171] }, -{ source: [0xD035], NFC: [0xD035], NFD: [0x110F, 0x1171, 0x11A8], NFKC: [0xD035], NFKD: [0x110F, 0x1171, 0x11A8] }, -{ source: [0xD036], NFC: [0xD036], NFD: [0x110F, 0x1171, 0x11A9], NFKC: [0xD036], NFKD: [0x110F, 0x1171, 0x11A9] }, -{ source: [0xD037], NFC: [0xD037], NFD: [0x110F, 0x1171, 0x11AA], NFKC: [0xD037], NFKD: [0x110F, 0x1171, 0x11AA] }, -{ source: [0xD038], NFC: [0xD038], NFD: [0x110F, 0x1171, 0x11AB], NFKC: [0xD038], NFKD: [0x110F, 0x1171, 0x11AB] }, -{ source: [0xD039], NFC: [0xD039], NFD: [0x110F, 0x1171, 0x11AC], NFKC: [0xD039], NFKD: [0x110F, 0x1171, 0x11AC] }, -{ source: [0xD03A], NFC: [0xD03A], NFD: [0x110F, 0x1171, 0x11AD], NFKC: [0xD03A], NFKD: [0x110F, 0x1171, 0x11AD] }, -{ source: [0xD03B], NFC: [0xD03B], NFD: [0x110F, 0x1171, 0x11AE], NFKC: [0xD03B], NFKD: [0x110F, 0x1171, 0x11AE] }, -{ source: [0xD03C], NFC: [0xD03C], NFD: [0x110F, 0x1171, 0x11AF], NFKC: [0xD03C], NFKD: [0x110F, 0x1171, 0x11AF] }, -{ source: [0xD03D], NFC: [0xD03D], NFD: [0x110F, 0x1171, 0x11B0], NFKC: [0xD03D], NFKD: [0x110F, 0x1171, 0x11B0] }, -{ source: [0xD03E], NFC: [0xD03E], NFD: [0x110F, 0x1171, 0x11B1], NFKC: [0xD03E], NFKD: [0x110F, 0x1171, 0x11B1] }, -{ source: [0xD03F], NFC: [0xD03F], NFD: [0x110F, 0x1171, 0x11B2], NFKC: [0xD03F], NFKD: [0x110F, 0x1171, 0x11B2] }, -{ source: [0xD040], NFC: [0xD040], NFD: [0x110F, 0x1171, 0x11B3], NFKC: [0xD040], NFKD: [0x110F, 0x1171, 0x11B3] }, -{ source: [0xD041], NFC: [0xD041], NFD: [0x110F, 0x1171, 0x11B4], NFKC: [0xD041], NFKD: [0x110F, 0x1171, 0x11B4] }, -{ source: [0xD042], NFC: [0xD042], NFD: [0x110F, 0x1171, 0x11B5], NFKC: [0xD042], NFKD: [0x110F, 0x1171, 0x11B5] }, -{ source: [0xD043], NFC: [0xD043], NFD: [0x110F, 0x1171, 0x11B6], NFKC: [0xD043], NFKD: [0x110F, 0x1171, 0x11B6] }, -{ source: [0xD044], NFC: [0xD044], NFD: [0x110F, 0x1171, 0x11B7], NFKC: [0xD044], NFKD: [0x110F, 0x1171, 0x11B7] }, -{ source: [0xD045], NFC: [0xD045], NFD: [0x110F, 0x1171, 0x11B8], NFKC: [0xD045], NFKD: [0x110F, 0x1171, 0x11B8] }, -{ source: [0xD046], NFC: [0xD046], NFD: [0x110F, 0x1171, 0x11B9], NFKC: [0xD046], NFKD: [0x110F, 0x1171, 0x11B9] }, -{ source: [0xD047], NFC: [0xD047], NFD: [0x110F, 0x1171, 0x11BA], NFKC: [0xD047], NFKD: [0x110F, 0x1171, 0x11BA] }, -{ source: [0xD048], NFC: [0xD048], NFD: [0x110F, 0x1171, 0x11BB], NFKC: [0xD048], NFKD: [0x110F, 0x1171, 0x11BB] }, -{ source: [0xD049], NFC: [0xD049], NFD: [0x110F, 0x1171, 0x11BC], NFKC: [0xD049], NFKD: [0x110F, 0x1171, 0x11BC] }, -{ source: [0xD04A], NFC: [0xD04A], NFD: [0x110F, 0x1171, 0x11BD], NFKC: [0xD04A], NFKD: [0x110F, 0x1171, 0x11BD] }, -{ source: [0xD04B], NFC: [0xD04B], NFD: [0x110F, 0x1171, 0x11BE], NFKC: [0xD04B], NFKD: [0x110F, 0x1171, 0x11BE] }, -{ source: [0xD04C], NFC: [0xD04C], NFD: [0x110F, 0x1171, 0x11BF], NFKC: [0xD04C], NFKD: [0x110F, 0x1171, 0x11BF] }, -{ source: [0xD04D], NFC: [0xD04D], NFD: [0x110F, 0x1171, 0x11C0], NFKC: [0xD04D], NFKD: [0x110F, 0x1171, 0x11C0] }, -{ source: [0xD04E], NFC: [0xD04E], NFD: [0x110F, 0x1171, 0x11C1], NFKC: [0xD04E], NFKD: [0x110F, 0x1171, 0x11C1] }, -{ source: [0xD04F], NFC: [0xD04F], NFD: [0x110F, 0x1171, 0x11C2], NFKC: [0xD04F], NFKD: [0x110F, 0x1171, 0x11C2] }, -{ source: [0xD050], NFC: [0xD050], NFD: [0x110F, 0x1172], NFKC: [0xD050], NFKD: [0x110F, 0x1172] }, -{ source: [0xD051], NFC: [0xD051], NFD: [0x110F, 0x1172, 0x11A8], NFKC: [0xD051], NFKD: [0x110F, 0x1172, 0x11A8] }, -{ source: [0xD052], NFC: [0xD052], NFD: [0x110F, 0x1172, 0x11A9], NFKC: [0xD052], NFKD: [0x110F, 0x1172, 0x11A9] }, -{ source: [0xD053], NFC: [0xD053], NFD: [0x110F, 0x1172, 0x11AA], NFKC: [0xD053], NFKD: [0x110F, 0x1172, 0x11AA] }, -{ source: [0xD054], NFC: [0xD054], NFD: [0x110F, 0x1172, 0x11AB], NFKC: [0xD054], NFKD: [0x110F, 0x1172, 0x11AB] }, -{ source: [0xD055], NFC: [0xD055], NFD: [0x110F, 0x1172, 0x11AC], NFKC: [0xD055], NFKD: [0x110F, 0x1172, 0x11AC] }, -{ source: [0xD056], NFC: [0xD056], NFD: [0x110F, 0x1172, 0x11AD], NFKC: [0xD056], NFKD: [0x110F, 0x1172, 0x11AD] }, -{ source: [0xD057], NFC: [0xD057], NFD: [0x110F, 0x1172, 0x11AE], NFKC: [0xD057], NFKD: [0x110F, 0x1172, 0x11AE] }, -{ source: [0xD058], NFC: [0xD058], NFD: [0x110F, 0x1172, 0x11AF], NFKC: [0xD058], NFKD: [0x110F, 0x1172, 0x11AF] }, -{ source: [0xD059], NFC: [0xD059], NFD: [0x110F, 0x1172, 0x11B0], NFKC: [0xD059], NFKD: [0x110F, 0x1172, 0x11B0] }, -{ source: [0xD05A], NFC: [0xD05A], NFD: [0x110F, 0x1172, 0x11B1], NFKC: [0xD05A], NFKD: [0x110F, 0x1172, 0x11B1] }, -{ source: [0xD05B], NFC: [0xD05B], NFD: [0x110F, 0x1172, 0x11B2], NFKC: [0xD05B], NFKD: [0x110F, 0x1172, 0x11B2] }, -{ source: [0xD05C], NFC: [0xD05C], NFD: [0x110F, 0x1172, 0x11B3], NFKC: [0xD05C], NFKD: [0x110F, 0x1172, 0x11B3] }, -{ source: [0xD05D], NFC: [0xD05D], NFD: [0x110F, 0x1172, 0x11B4], NFKC: [0xD05D], NFKD: [0x110F, 0x1172, 0x11B4] }, -{ source: [0xD05E], NFC: [0xD05E], NFD: [0x110F, 0x1172, 0x11B5], NFKC: [0xD05E], NFKD: [0x110F, 0x1172, 0x11B5] }, -{ source: [0xD05F], NFC: [0xD05F], NFD: [0x110F, 0x1172, 0x11B6], NFKC: [0xD05F], NFKD: [0x110F, 0x1172, 0x11B6] }, -{ source: [0xD060], NFC: [0xD060], NFD: [0x110F, 0x1172, 0x11B7], NFKC: [0xD060], NFKD: [0x110F, 0x1172, 0x11B7] }, -{ source: [0xD061], NFC: [0xD061], NFD: [0x110F, 0x1172, 0x11B8], NFKC: [0xD061], NFKD: [0x110F, 0x1172, 0x11B8] }, -{ source: [0xD062], NFC: [0xD062], NFD: [0x110F, 0x1172, 0x11B9], NFKC: [0xD062], NFKD: [0x110F, 0x1172, 0x11B9] }, -{ source: [0xD063], NFC: [0xD063], NFD: [0x110F, 0x1172, 0x11BA], NFKC: [0xD063], NFKD: [0x110F, 0x1172, 0x11BA] }, -{ source: [0xD064], NFC: [0xD064], NFD: [0x110F, 0x1172, 0x11BB], NFKC: [0xD064], NFKD: [0x110F, 0x1172, 0x11BB] }, -{ source: [0xD065], NFC: [0xD065], NFD: [0x110F, 0x1172, 0x11BC], NFKC: [0xD065], NFKD: [0x110F, 0x1172, 0x11BC] }, -{ source: [0xD066], NFC: [0xD066], NFD: [0x110F, 0x1172, 0x11BD], NFKC: [0xD066], NFKD: [0x110F, 0x1172, 0x11BD] }, -{ source: [0xD067], NFC: [0xD067], NFD: [0x110F, 0x1172, 0x11BE], NFKC: [0xD067], NFKD: [0x110F, 0x1172, 0x11BE] }, -{ source: [0xD068], NFC: [0xD068], NFD: [0x110F, 0x1172, 0x11BF], NFKC: [0xD068], NFKD: [0x110F, 0x1172, 0x11BF] }, -{ source: [0xD069], NFC: [0xD069], NFD: [0x110F, 0x1172, 0x11C0], NFKC: [0xD069], NFKD: [0x110F, 0x1172, 0x11C0] }, -{ source: [0xD06A], NFC: [0xD06A], NFD: [0x110F, 0x1172, 0x11C1], NFKC: [0xD06A], NFKD: [0x110F, 0x1172, 0x11C1] }, -{ source: [0xD06B], NFC: [0xD06B], NFD: [0x110F, 0x1172, 0x11C2], NFKC: [0xD06B], NFKD: [0x110F, 0x1172, 0x11C2] }, -{ source: [0xD06C], NFC: [0xD06C], NFD: [0x110F, 0x1173], NFKC: [0xD06C], NFKD: [0x110F, 0x1173] }, -{ source: [0xD06D], NFC: [0xD06D], NFD: [0x110F, 0x1173, 0x11A8], NFKC: [0xD06D], NFKD: [0x110F, 0x1173, 0x11A8] }, -{ source: [0xD06E], NFC: [0xD06E], NFD: [0x110F, 0x1173, 0x11A9], NFKC: [0xD06E], NFKD: [0x110F, 0x1173, 0x11A9] }, -{ source: [0xD06F], NFC: [0xD06F], NFD: [0x110F, 0x1173, 0x11AA], NFKC: [0xD06F], NFKD: [0x110F, 0x1173, 0x11AA] }, -{ source: [0xD070], NFC: [0xD070], NFD: [0x110F, 0x1173, 0x11AB], NFKC: [0xD070], NFKD: [0x110F, 0x1173, 0x11AB] }, -{ source: [0xD071], NFC: [0xD071], NFD: [0x110F, 0x1173, 0x11AC], NFKC: [0xD071], NFKD: [0x110F, 0x1173, 0x11AC] }, -{ source: [0xD072], NFC: [0xD072], NFD: [0x110F, 0x1173, 0x11AD], NFKC: [0xD072], NFKD: [0x110F, 0x1173, 0x11AD] }, -{ source: [0xD073], NFC: [0xD073], NFD: [0x110F, 0x1173, 0x11AE], NFKC: [0xD073], NFKD: [0x110F, 0x1173, 0x11AE] }, -{ source: [0xD074], NFC: [0xD074], NFD: [0x110F, 0x1173, 0x11AF], NFKC: [0xD074], NFKD: [0x110F, 0x1173, 0x11AF] }, -{ source: [0xD075], NFC: [0xD075], NFD: [0x110F, 0x1173, 0x11B0], NFKC: [0xD075], NFKD: [0x110F, 0x1173, 0x11B0] }, -{ source: [0xD076], NFC: [0xD076], NFD: [0x110F, 0x1173, 0x11B1], NFKC: [0xD076], NFKD: [0x110F, 0x1173, 0x11B1] }, -{ source: [0xD077], NFC: [0xD077], NFD: [0x110F, 0x1173, 0x11B2], NFKC: [0xD077], NFKD: [0x110F, 0x1173, 0x11B2] }, -{ source: [0xD078], NFC: [0xD078], NFD: [0x110F, 0x1173, 0x11B3], NFKC: [0xD078], NFKD: [0x110F, 0x1173, 0x11B3] }, -{ source: [0xD079], NFC: [0xD079], NFD: [0x110F, 0x1173, 0x11B4], NFKC: [0xD079], NFKD: [0x110F, 0x1173, 0x11B4] }, -{ source: [0xD07A], NFC: [0xD07A], NFD: [0x110F, 0x1173, 0x11B5], NFKC: [0xD07A], NFKD: [0x110F, 0x1173, 0x11B5] }, -{ source: [0xD07B], NFC: [0xD07B], NFD: [0x110F, 0x1173, 0x11B6], NFKC: [0xD07B], NFKD: [0x110F, 0x1173, 0x11B6] }, -{ source: [0xD07C], NFC: [0xD07C], NFD: [0x110F, 0x1173, 0x11B7], NFKC: [0xD07C], NFKD: [0x110F, 0x1173, 0x11B7] }, -{ source: [0xD07D], NFC: [0xD07D], NFD: [0x110F, 0x1173, 0x11B8], NFKC: [0xD07D], NFKD: [0x110F, 0x1173, 0x11B8] }, -{ source: [0xD07E], NFC: [0xD07E], NFD: [0x110F, 0x1173, 0x11B9], NFKC: [0xD07E], NFKD: [0x110F, 0x1173, 0x11B9] }, -{ source: [0xD07F], NFC: [0xD07F], NFD: [0x110F, 0x1173, 0x11BA], NFKC: [0xD07F], NFKD: [0x110F, 0x1173, 0x11BA] }, -{ source: [0xD080], NFC: [0xD080], NFD: [0x110F, 0x1173, 0x11BB], NFKC: [0xD080], NFKD: [0x110F, 0x1173, 0x11BB] }, -{ source: [0xD081], NFC: [0xD081], NFD: [0x110F, 0x1173, 0x11BC], NFKC: [0xD081], NFKD: [0x110F, 0x1173, 0x11BC] }, -{ source: [0xD082], NFC: [0xD082], NFD: [0x110F, 0x1173, 0x11BD], NFKC: [0xD082], NFKD: [0x110F, 0x1173, 0x11BD] }, -{ source: [0xD083], NFC: [0xD083], NFD: [0x110F, 0x1173, 0x11BE], NFKC: [0xD083], NFKD: [0x110F, 0x1173, 0x11BE] }, -{ source: [0xD084], NFC: [0xD084], NFD: [0x110F, 0x1173, 0x11BF], NFKC: [0xD084], NFKD: [0x110F, 0x1173, 0x11BF] }, -{ source: [0xD085], NFC: [0xD085], NFD: [0x110F, 0x1173, 0x11C0], NFKC: [0xD085], NFKD: [0x110F, 0x1173, 0x11C0] }, -{ source: [0xD086], NFC: [0xD086], NFD: [0x110F, 0x1173, 0x11C1], NFKC: [0xD086], NFKD: [0x110F, 0x1173, 0x11C1] }, -{ source: [0xD087], NFC: [0xD087], NFD: [0x110F, 0x1173, 0x11C2], NFKC: [0xD087], NFKD: [0x110F, 0x1173, 0x11C2] }, -{ source: [0xD088], NFC: [0xD088], NFD: [0x110F, 0x1174], NFKC: [0xD088], NFKD: [0x110F, 0x1174] }, -{ source: [0xD089], NFC: [0xD089], NFD: [0x110F, 0x1174, 0x11A8], NFKC: [0xD089], NFKD: [0x110F, 0x1174, 0x11A8] }, -{ source: [0xD08A], NFC: [0xD08A], NFD: [0x110F, 0x1174, 0x11A9], NFKC: [0xD08A], NFKD: [0x110F, 0x1174, 0x11A9] }, -{ source: [0xD08B], NFC: [0xD08B], NFD: [0x110F, 0x1174, 0x11AA], NFKC: [0xD08B], NFKD: [0x110F, 0x1174, 0x11AA] }, -{ source: [0xD08C], NFC: [0xD08C], NFD: [0x110F, 0x1174, 0x11AB], NFKC: [0xD08C], NFKD: [0x110F, 0x1174, 0x11AB] }, -{ source: [0xD08D], NFC: [0xD08D], NFD: [0x110F, 0x1174, 0x11AC], NFKC: [0xD08D], NFKD: [0x110F, 0x1174, 0x11AC] }, -{ source: [0xD08E], NFC: [0xD08E], NFD: [0x110F, 0x1174, 0x11AD], NFKC: [0xD08E], NFKD: [0x110F, 0x1174, 0x11AD] }, -{ source: [0xD08F], NFC: [0xD08F], NFD: [0x110F, 0x1174, 0x11AE], NFKC: [0xD08F], NFKD: [0x110F, 0x1174, 0x11AE] }, -{ source: [0xD090], NFC: [0xD090], NFD: [0x110F, 0x1174, 0x11AF], NFKC: [0xD090], NFKD: [0x110F, 0x1174, 0x11AF] }, -{ source: [0xD091], NFC: [0xD091], NFD: [0x110F, 0x1174, 0x11B0], NFKC: [0xD091], NFKD: [0x110F, 0x1174, 0x11B0] }, -{ source: [0xD092], NFC: [0xD092], NFD: [0x110F, 0x1174, 0x11B1], NFKC: [0xD092], NFKD: [0x110F, 0x1174, 0x11B1] }, -{ source: [0xD093], NFC: [0xD093], NFD: [0x110F, 0x1174, 0x11B2], NFKC: [0xD093], NFKD: [0x110F, 0x1174, 0x11B2] }, -{ source: [0xD094], NFC: [0xD094], NFD: [0x110F, 0x1174, 0x11B3], NFKC: [0xD094], NFKD: [0x110F, 0x1174, 0x11B3] }, -{ source: [0xD095], NFC: [0xD095], NFD: [0x110F, 0x1174, 0x11B4], NFKC: [0xD095], NFKD: [0x110F, 0x1174, 0x11B4] }, -{ source: [0xD096], NFC: [0xD096], NFD: [0x110F, 0x1174, 0x11B5], NFKC: [0xD096], NFKD: [0x110F, 0x1174, 0x11B5] }, -{ source: [0xD097], NFC: [0xD097], NFD: [0x110F, 0x1174, 0x11B6], NFKC: [0xD097], NFKD: [0x110F, 0x1174, 0x11B6] }, -{ source: [0xD098], NFC: [0xD098], NFD: [0x110F, 0x1174, 0x11B7], NFKC: [0xD098], NFKD: [0x110F, 0x1174, 0x11B7] }, -{ source: [0xD099], NFC: [0xD099], NFD: [0x110F, 0x1174, 0x11B8], NFKC: [0xD099], NFKD: [0x110F, 0x1174, 0x11B8] }, -{ source: [0xD09A], NFC: [0xD09A], NFD: [0x110F, 0x1174, 0x11B9], NFKC: [0xD09A], NFKD: [0x110F, 0x1174, 0x11B9] }, -{ source: [0xD09B], NFC: [0xD09B], NFD: [0x110F, 0x1174, 0x11BA], NFKC: [0xD09B], NFKD: [0x110F, 0x1174, 0x11BA] }, -{ source: [0xD09C], NFC: [0xD09C], NFD: [0x110F, 0x1174, 0x11BB], NFKC: [0xD09C], NFKD: [0x110F, 0x1174, 0x11BB] }, -{ source: [0xD09D], NFC: [0xD09D], NFD: [0x110F, 0x1174, 0x11BC], NFKC: [0xD09D], NFKD: [0x110F, 0x1174, 0x11BC] }, -{ source: [0xD09E], NFC: [0xD09E], NFD: [0x110F, 0x1174, 0x11BD], NFKC: [0xD09E], NFKD: [0x110F, 0x1174, 0x11BD] }, -{ source: [0xD09F], NFC: [0xD09F], NFD: [0x110F, 0x1174, 0x11BE], NFKC: [0xD09F], NFKD: [0x110F, 0x1174, 0x11BE] }, -{ source: [0xD0A0], NFC: [0xD0A0], NFD: [0x110F, 0x1174, 0x11BF], NFKC: [0xD0A0], NFKD: [0x110F, 0x1174, 0x11BF] }, -{ source: [0xD0A1], NFC: [0xD0A1], NFD: [0x110F, 0x1174, 0x11C0], NFKC: [0xD0A1], NFKD: [0x110F, 0x1174, 0x11C0] }, -{ source: [0xD0A2], NFC: [0xD0A2], NFD: [0x110F, 0x1174, 0x11C1], NFKC: [0xD0A2], NFKD: [0x110F, 0x1174, 0x11C1] }, -{ source: [0xD0A3], NFC: [0xD0A3], NFD: [0x110F, 0x1174, 0x11C2], NFKC: [0xD0A3], NFKD: [0x110F, 0x1174, 0x11C2] }, -{ source: [0xD0A4], NFC: [0xD0A4], NFD: [0x110F, 0x1175], NFKC: [0xD0A4], NFKD: [0x110F, 0x1175] }, -{ source: [0xD0A5], NFC: [0xD0A5], NFD: [0x110F, 0x1175, 0x11A8], NFKC: [0xD0A5], NFKD: [0x110F, 0x1175, 0x11A8] }, -{ source: [0xD0A6], NFC: [0xD0A6], NFD: [0x110F, 0x1175, 0x11A9], NFKC: [0xD0A6], NFKD: [0x110F, 0x1175, 0x11A9] }, -{ source: [0xD0A7], NFC: [0xD0A7], NFD: [0x110F, 0x1175, 0x11AA], NFKC: [0xD0A7], NFKD: [0x110F, 0x1175, 0x11AA] }, -{ source: [0xD0A8], NFC: [0xD0A8], NFD: [0x110F, 0x1175, 0x11AB], NFKC: [0xD0A8], NFKD: [0x110F, 0x1175, 0x11AB] }, -{ source: [0xD0A9], NFC: [0xD0A9], NFD: [0x110F, 0x1175, 0x11AC], NFKC: [0xD0A9], NFKD: [0x110F, 0x1175, 0x11AC] }, -{ source: [0xD0AA], NFC: [0xD0AA], NFD: [0x110F, 0x1175, 0x11AD], NFKC: [0xD0AA], NFKD: [0x110F, 0x1175, 0x11AD] }, -{ source: [0xD0AB], NFC: [0xD0AB], NFD: [0x110F, 0x1175, 0x11AE], NFKC: [0xD0AB], NFKD: [0x110F, 0x1175, 0x11AE] }, -{ source: [0xD0AC], NFC: [0xD0AC], NFD: [0x110F, 0x1175, 0x11AF], NFKC: [0xD0AC], NFKD: [0x110F, 0x1175, 0x11AF] }, -{ source: [0xD0AD], NFC: [0xD0AD], NFD: [0x110F, 0x1175, 0x11B0], NFKC: [0xD0AD], NFKD: [0x110F, 0x1175, 0x11B0] }, -{ source: [0xD0AE], NFC: [0xD0AE], NFD: [0x110F, 0x1175, 0x11B1], NFKC: [0xD0AE], NFKD: [0x110F, 0x1175, 0x11B1] }, -{ source: [0xD0AF], NFC: [0xD0AF], NFD: [0x110F, 0x1175, 0x11B2], NFKC: [0xD0AF], NFKD: [0x110F, 0x1175, 0x11B2] }, -{ source: [0xD0B0], NFC: [0xD0B0], NFD: [0x110F, 0x1175, 0x11B3], NFKC: [0xD0B0], NFKD: [0x110F, 0x1175, 0x11B3] }, -{ source: [0xD0B1], NFC: [0xD0B1], NFD: [0x110F, 0x1175, 0x11B4], NFKC: [0xD0B1], NFKD: [0x110F, 0x1175, 0x11B4] }, -{ source: [0xD0B2], NFC: [0xD0B2], NFD: [0x110F, 0x1175, 0x11B5], NFKC: [0xD0B2], NFKD: [0x110F, 0x1175, 0x11B5] }, -{ source: [0xD0B3], NFC: [0xD0B3], NFD: [0x110F, 0x1175, 0x11B6], NFKC: [0xD0B3], NFKD: [0x110F, 0x1175, 0x11B6] }, -{ source: [0xD0B4], NFC: [0xD0B4], NFD: [0x110F, 0x1175, 0x11B7], NFKC: [0xD0B4], NFKD: [0x110F, 0x1175, 0x11B7] }, -{ source: [0xD0B5], NFC: [0xD0B5], NFD: [0x110F, 0x1175, 0x11B8], NFKC: [0xD0B5], NFKD: [0x110F, 0x1175, 0x11B8] }, -{ source: [0xD0B6], NFC: [0xD0B6], NFD: [0x110F, 0x1175, 0x11B9], NFKC: [0xD0B6], NFKD: [0x110F, 0x1175, 0x11B9] }, -{ source: [0xD0B7], NFC: [0xD0B7], NFD: [0x110F, 0x1175, 0x11BA], NFKC: [0xD0B7], NFKD: [0x110F, 0x1175, 0x11BA] }, -{ source: [0xD0B8], NFC: [0xD0B8], NFD: [0x110F, 0x1175, 0x11BB], NFKC: [0xD0B8], NFKD: [0x110F, 0x1175, 0x11BB] }, -{ source: [0xD0B9], NFC: [0xD0B9], NFD: [0x110F, 0x1175, 0x11BC], NFKC: [0xD0B9], NFKD: [0x110F, 0x1175, 0x11BC] }, -{ source: [0xD0BA], NFC: [0xD0BA], NFD: [0x110F, 0x1175, 0x11BD], NFKC: [0xD0BA], NFKD: [0x110F, 0x1175, 0x11BD] }, -{ source: [0xD0BB], NFC: [0xD0BB], NFD: [0x110F, 0x1175, 0x11BE], NFKC: [0xD0BB], NFKD: [0x110F, 0x1175, 0x11BE] }, -{ source: [0xD0BC], NFC: [0xD0BC], NFD: [0x110F, 0x1175, 0x11BF], NFKC: [0xD0BC], NFKD: [0x110F, 0x1175, 0x11BF] }, -{ source: [0xD0BD], NFC: [0xD0BD], NFD: [0x110F, 0x1175, 0x11C0], NFKC: [0xD0BD], NFKD: [0x110F, 0x1175, 0x11C0] }, -{ source: [0xD0BE], NFC: [0xD0BE], NFD: [0x110F, 0x1175, 0x11C1], NFKC: [0xD0BE], NFKD: [0x110F, 0x1175, 0x11C1] }, -{ source: [0xD0BF], NFC: [0xD0BF], NFD: [0x110F, 0x1175, 0x11C2], NFKC: [0xD0BF], NFKD: [0x110F, 0x1175, 0x11C2] }, -{ source: [0xD0C0], NFC: [0xD0C0], NFD: [0x1110, 0x1161], NFKC: [0xD0C0], NFKD: [0x1110, 0x1161] }, -{ source: [0xD0C1], NFC: [0xD0C1], NFD: [0x1110, 0x1161, 0x11A8], NFKC: [0xD0C1], NFKD: [0x1110, 0x1161, 0x11A8] }, -{ source: [0xD0C2], NFC: [0xD0C2], NFD: [0x1110, 0x1161, 0x11A9], NFKC: [0xD0C2], NFKD: [0x1110, 0x1161, 0x11A9] }, -{ source: [0xD0C3], NFC: [0xD0C3], NFD: [0x1110, 0x1161, 0x11AA], NFKC: [0xD0C3], NFKD: [0x1110, 0x1161, 0x11AA] }, -{ source: [0xD0C4], NFC: [0xD0C4], NFD: [0x1110, 0x1161, 0x11AB], NFKC: [0xD0C4], NFKD: [0x1110, 0x1161, 0x11AB] }, -{ source: [0xD0C5], NFC: [0xD0C5], NFD: [0x1110, 0x1161, 0x11AC], NFKC: [0xD0C5], NFKD: [0x1110, 0x1161, 0x11AC] }, -{ source: [0xD0C6], NFC: [0xD0C6], NFD: [0x1110, 0x1161, 0x11AD], NFKC: [0xD0C6], NFKD: [0x1110, 0x1161, 0x11AD] }, -{ source: [0xD0C7], NFC: [0xD0C7], NFD: [0x1110, 0x1161, 0x11AE], NFKC: [0xD0C7], NFKD: [0x1110, 0x1161, 0x11AE] }, -{ source: [0xD0C8], NFC: [0xD0C8], NFD: [0x1110, 0x1161, 0x11AF], NFKC: [0xD0C8], NFKD: [0x1110, 0x1161, 0x11AF] }, -{ source: [0xD0C9], NFC: [0xD0C9], NFD: [0x1110, 0x1161, 0x11B0], NFKC: [0xD0C9], NFKD: [0x1110, 0x1161, 0x11B0] }, -{ source: [0xD0CA], NFC: [0xD0CA], NFD: [0x1110, 0x1161, 0x11B1], NFKC: [0xD0CA], NFKD: [0x1110, 0x1161, 0x11B1] }, -{ source: [0xD0CB], NFC: [0xD0CB], NFD: [0x1110, 0x1161, 0x11B2], NFKC: [0xD0CB], NFKD: [0x1110, 0x1161, 0x11B2] }, -{ source: [0xD0CC], NFC: [0xD0CC], NFD: [0x1110, 0x1161, 0x11B3], NFKC: [0xD0CC], NFKD: [0x1110, 0x1161, 0x11B3] }, -{ source: [0xD0CD], NFC: [0xD0CD], NFD: [0x1110, 0x1161, 0x11B4], NFKC: [0xD0CD], NFKD: [0x1110, 0x1161, 0x11B4] }, -{ source: [0xD0CE], NFC: [0xD0CE], NFD: [0x1110, 0x1161, 0x11B5], NFKC: [0xD0CE], NFKD: [0x1110, 0x1161, 0x11B5] }, -{ source: [0xD0CF], NFC: [0xD0CF], NFD: [0x1110, 0x1161, 0x11B6], NFKC: [0xD0CF], NFKD: [0x1110, 0x1161, 0x11B6] }, -{ source: [0xD0D0], NFC: [0xD0D0], NFD: [0x1110, 0x1161, 0x11B7], NFKC: [0xD0D0], NFKD: [0x1110, 0x1161, 0x11B7] }, -{ source: [0xD0D1], NFC: [0xD0D1], NFD: [0x1110, 0x1161, 0x11B8], NFKC: [0xD0D1], NFKD: [0x1110, 0x1161, 0x11B8] }, -{ source: [0xD0D2], NFC: [0xD0D2], NFD: [0x1110, 0x1161, 0x11B9], NFKC: [0xD0D2], NFKD: [0x1110, 0x1161, 0x11B9] }, -{ source: [0xD0D3], NFC: [0xD0D3], NFD: [0x1110, 0x1161, 0x11BA], NFKC: [0xD0D3], NFKD: [0x1110, 0x1161, 0x11BA] }, -{ source: [0xD0D4], NFC: [0xD0D4], NFD: [0x1110, 0x1161, 0x11BB], NFKC: [0xD0D4], NFKD: [0x1110, 0x1161, 0x11BB] }, -{ source: [0xD0D5], NFC: [0xD0D5], NFD: [0x1110, 0x1161, 0x11BC], NFKC: [0xD0D5], NFKD: [0x1110, 0x1161, 0x11BC] }, -{ source: [0xD0D6], NFC: [0xD0D6], NFD: [0x1110, 0x1161, 0x11BD], NFKC: [0xD0D6], NFKD: [0x1110, 0x1161, 0x11BD] }, -{ source: [0xD0D7], NFC: [0xD0D7], NFD: [0x1110, 0x1161, 0x11BE], NFKC: [0xD0D7], NFKD: [0x1110, 0x1161, 0x11BE] }, -{ source: [0xD0D8], NFC: [0xD0D8], NFD: [0x1110, 0x1161, 0x11BF], NFKC: [0xD0D8], NFKD: [0x1110, 0x1161, 0x11BF] }, -{ source: [0xD0D9], NFC: [0xD0D9], NFD: [0x1110, 0x1161, 0x11C0], NFKC: [0xD0D9], NFKD: [0x1110, 0x1161, 0x11C0] }, -{ source: [0xD0DA], NFC: [0xD0DA], NFD: [0x1110, 0x1161, 0x11C1], NFKC: [0xD0DA], NFKD: [0x1110, 0x1161, 0x11C1] }, -{ source: [0xD0DB], NFC: [0xD0DB], NFD: [0x1110, 0x1161, 0x11C2], NFKC: [0xD0DB], NFKD: [0x1110, 0x1161, 0x11C2] }, -{ source: [0xD0DC], NFC: [0xD0DC], NFD: [0x1110, 0x1162], NFKC: [0xD0DC], NFKD: [0x1110, 0x1162] }, -{ source: [0xD0DD], NFC: [0xD0DD], NFD: [0x1110, 0x1162, 0x11A8], NFKC: [0xD0DD], NFKD: [0x1110, 0x1162, 0x11A8] }, -{ source: [0xD0DE], NFC: [0xD0DE], NFD: [0x1110, 0x1162, 0x11A9], NFKC: [0xD0DE], NFKD: [0x1110, 0x1162, 0x11A9] }, -{ source: [0xD0DF], NFC: [0xD0DF], NFD: [0x1110, 0x1162, 0x11AA], NFKC: [0xD0DF], NFKD: [0x1110, 0x1162, 0x11AA] }, -{ source: [0xD0E0], NFC: [0xD0E0], NFD: [0x1110, 0x1162, 0x11AB], NFKC: [0xD0E0], NFKD: [0x1110, 0x1162, 0x11AB] }, -{ source: [0xD0E1], NFC: [0xD0E1], NFD: [0x1110, 0x1162, 0x11AC], NFKC: [0xD0E1], NFKD: [0x1110, 0x1162, 0x11AC] }, -{ source: [0xD0E2], NFC: [0xD0E2], NFD: [0x1110, 0x1162, 0x11AD], NFKC: [0xD0E2], NFKD: [0x1110, 0x1162, 0x11AD] }, -{ source: [0xD0E3], NFC: [0xD0E3], NFD: [0x1110, 0x1162, 0x11AE], NFKC: [0xD0E3], NFKD: [0x1110, 0x1162, 0x11AE] }, -{ source: [0xD0E4], NFC: [0xD0E4], NFD: [0x1110, 0x1162, 0x11AF], NFKC: [0xD0E4], NFKD: [0x1110, 0x1162, 0x11AF] }, -{ source: [0xD0E5], NFC: [0xD0E5], NFD: [0x1110, 0x1162, 0x11B0], NFKC: [0xD0E5], NFKD: [0x1110, 0x1162, 0x11B0] }, -{ source: [0xD0E6], NFC: [0xD0E6], NFD: [0x1110, 0x1162, 0x11B1], NFKC: [0xD0E6], NFKD: [0x1110, 0x1162, 0x11B1] }, -{ source: [0xD0E7], NFC: [0xD0E7], NFD: [0x1110, 0x1162, 0x11B2], NFKC: [0xD0E7], NFKD: [0x1110, 0x1162, 0x11B2] }, -{ source: [0xD0E8], NFC: [0xD0E8], NFD: [0x1110, 0x1162, 0x11B3], NFKC: [0xD0E8], NFKD: [0x1110, 0x1162, 0x11B3] }, -{ source: [0xD0E9], NFC: [0xD0E9], NFD: [0x1110, 0x1162, 0x11B4], NFKC: [0xD0E9], NFKD: [0x1110, 0x1162, 0x11B4] }, -{ source: [0xD0EA], NFC: [0xD0EA], NFD: [0x1110, 0x1162, 0x11B5], NFKC: [0xD0EA], NFKD: [0x1110, 0x1162, 0x11B5] }, -{ source: [0xD0EB], NFC: [0xD0EB], NFD: [0x1110, 0x1162, 0x11B6], NFKC: [0xD0EB], NFKD: [0x1110, 0x1162, 0x11B6] }, -{ source: [0xD0EC], NFC: [0xD0EC], NFD: [0x1110, 0x1162, 0x11B7], NFKC: [0xD0EC], NFKD: [0x1110, 0x1162, 0x11B7] }, -{ source: [0xD0ED], NFC: [0xD0ED], NFD: [0x1110, 0x1162, 0x11B8], NFKC: [0xD0ED], NFKD: [0x1110, 0x1162, 0x11B8] }, -{ source: [0xD0EE], NFC: [0xD0EE], NFD: [0x1110, 0x1162, 0x11B9], NFKC: [0xD0EE], NFKD: [0x1110, 0x1162, 0x11B9] }, -{ source: [0xD0EF], NFC: [0xD0EF], NFD: [0x1110, 0x1162, 0x11BA], NFKC: [0xD0EF], NFKD: [0x1110, 0x1162, 0x11BA] }, -{ source: [0xD0F0], NFC: [0xD0F0], NFD: [0x1110, 0x1162, 0x11BB], NFKC: [0xD0F0], NFKD: [0x1110, 0x1162, 0x11BB] }, -{ source: [0xD0F1], NFC: [0xD0F1], NFD: [0x1110, 0x1162, 0x11BC], NFKC: [0xD0F1], NFKD: [0x1110, 0x1162, 0x11BC] }, -{ source: [0xD0F2], NFC: [0xD0F2], NFD: [0x1110, 0x1162, 0x11BD], NFKC: [0xD0F2], NFKD: [0x1110, 0x1162, 0x11BD] }, -{ source: [0xD0F3], NFC: [0xD0F3], NFD: [0x1110, 0x1162, 0x11BE], NFKC: [0xD0F3], NFKD: [0x1110, 0x1162, 0x11BE] }, -{ source: [0xD0F4], NFC: [0xD0F4], NFD: [0x1110, 0x1162, 0x11BF], NFKC: [0xD0F4], NFKD: [0x1110, 0x1162, 0x11BF] }, -{ source: [0xD0F5], NFC: [0xD0F5], NFD: [0x1110, 0x1162, 0x11C0], NFKC: [0xD0F5], NFKD: [0x1110, 0x1162, 0x11C0] }, -{ source: [0xD0F6], NFC: [0xD0F6], NFD: [0x1110, 0x1162, 0x11C1], NFKC: [0xD0F6], NFKD: [0x1110, 0x1162, 0x11C1] }, -{ source: [0xD0F7], NFC: [0xD0F7], NFD: [0x1110, 0x1162, 0x11C2], NFKC: [0xD0F7], NFKD: [0x1110, 0x1162, 0x11C2] }, -{ source: [0xD0F8], NFC: [0xD0F8], NFD: [0x1110, 0x1163], NFKC: [0xD0F8], NFKD: [0x1110, 0x1163] }, -{ source: [0xD0F9], NFC: [0xD0F9], NFD: [0x1110, 0x1163, 0x11A8], NFKC: [0xD0F9], NFKD: [0x1110, 0x1163, 0x11A8] }, -{ source: [0xD0FA], NFC: [0xD0FA], NFD: [0x1110, 0x1163, 0x11A9], NFKC: [0xD0FA], NFKD: [0x1110, 0x1163, 0x11A9] }, -{ source: [0xD0FB], NFC: [0xD0FB], NFD: [0x1110, 0x1163, 0x11AA], NFKC: [0xD0FB], NFKD: [0x1110, 0x1163, 0x11AA] }, -{ source: [0xD0FC], NFC: [0xD0FC], NFD: [0x1110, 0x1163, 0x11AB], NFKC: [0xD0FC], NFKD: [0x1110, 0x1163, 0x11AB] }, -{ source: [0xD0FD], NFC: [0xD0FD], NFD: [0x1110, 0x1163, 0x11AC], NFKC: [0xD0FD], NFKD: [0x1110, 0x1163, 0x11AC] }, -{ source: [0xD0FE], NFC: [0xD0FE], NFD: [0x1110, 0x1163, 0x11AD], NFKC: [0xD0FE], NFKD: [0x1110, 0x1163, 0x11AD] }, -{ source: [0xD0FF], NFC: [0xD0FF], NFD: [0x1110, 0x1163, 0x11AE], NFKC: [0xD0FF], NFKD: [0x1110, 0x1163, 0x11AE] }, -{ source: [0xD100], NFC: [0xD100], NFD: [0x1110, 0x1163, 0x11AF], NFKC: [0xD100], NFKD: [0x1110, 0x1163, 0x11AF] }, -{ source: [0xD101], NFC: [0xD101], NFD: [0x1110, 0x1163, 0x11B0], NFKC: [0xD101], NFKD: [0x1110, 0x1163, 0x11B0] }, -{ source: [0xD102], NFC: [0xD102], NFD: [0x1110, 0x1163, 0x11B1], NFKC: [0xD102], NFKD: [0x1110, 0x1163, 0x11B1] }, -{ source: [0xD103], NFC: [0xD103], NFD: [0x1110, 0x1163, 0x11B2], NFKC: [0xD103], NFKD: [0x1110, 0x1163, 0x11B2] }, -{ source: [0xD104], NFC: [0xD104], NFD: [0x1110, 0x1163, 0x11B3], NFKC: [0xD104], NFKD: [0x1110, 0x1163, 0x11B3] }, -{ source: [0xD105], NFC: [0xD105], NFD: [0x1110, 0x1163, 0x11B4], NFKC: [0xD105], NFKD: [0x1110, 0x1163, 0x11B4] }, -{ source: [0xD106], NFC: [0xD106], NFD: [0x1110, 0x1163, 0x11B5], NFKC: [0xD106], NFKD: [0x1110, 0x1163, 0x11B5] }, -{ source: [0xD107], NFC: [0xD107], NFD: [0x1110, 0x1163, 0x11B6], NFKC: [0xD107], NFKD: [0x1110, 0x1163, 0x11B6] }, -{ source: [0xD108], NFC: [0xD108], NFD: [0x1110, 0x1163, 0x11B7], NFKC: [0xD108], NFKD: [0x1110, 0x1163, 0x11B7] }, -{ source: [0xD109], NFC: [0xD109], NFD: [0x1110, 0x1163, 0x11B8], NFKC: [0xD109], NFKD: [0x1110, 0x1163, 0x11B8] }, -{ source: [0xD10A], NFC: [0xD10A], NFD: [0x1110, 0x1163, 0x11B9], NFKC: [0xD10A], NFKD: [0x1110, 0x1163, 0x11B9] }, -{ source: [0xD10B], NFC: [0xD10B], NFD: [0x1110, 0x1163, 0x11BA], NFKC: [0xD10B], NFKD: [0x1110, 0x1163, 0x11BA] }, -{ source: [0xD10C], NFC: [0xD10C], NFD: [0x1110, 0x1163, 0x11BB], NFKC: [0xD10C], NFKD: [0x1110, 0x1163, 0x11BB] }, -{ source: [0xD10D], NFC: [0xD10D], NFD: [0x1110, 0x1163, 0x11BC], NFKC: [0xD10D], NFKD: [0x1110, 0x1163, 0x11BC] }, -{ source: [0xD10E], NFC: [0xD10E], NFD: [0x1110, 0x1163, 0x11BD], NFKC: [0xD10E], NFKD: [0x1110, 0x1163, 0x11BD] }, -{ source: [0xD10F], NFC: [0xD10F], NFD: [0x1110, 0x1163, 0x11BE], NFKC: [0xD10F], NFKD: [0x1110, 0x1163, 0x11BE] }, -{ source: [0xD110], NFC: [0xD110], NFD: [0x1110, 0x1163, 0x11BF], NFKC: [0xD110], NFKD: [0x1110, 0x1163, 0x11BF] }, -{ source: [0xD111], NFC: [0xD111], NFD: [0x1110, 0x1163, 0x11C0], NFKC: [0xD111], NFKD: [0x1110, 0x1163, 0x11C0] }, -{ source: [0xD112], NFC: [0xD112], NFD: [0x1110, 0x1163, 0x11C1], NFKC: [0xD112], NFKD: [0x1110, 0x1163, 0x11C1] }, -{ source: [0xD113], NFC: [0xD113], NFD: [0x1110, 0x1163, 0x11C2], NFKC: [0xD113], NFKD: [0x1110, 0x1163, 0x11C2] }, -{ source: [0xD114], NFC: [0xD114], NFD: [0x1110, 0x1164], NFKC: [0xD114], NFKD: [0x1110, 0x1164] }, -{ source: [0xD115], NFC: [0xD115], NFD: [0x1110, 0x1164, 0x11A8], NFKC: [0xD115], NFKD: [0x1110, 0x1164, 0x11A8] }, -{ source: [0xD116], NFC: [0xD116], NFD: [0x1110, 0x1164, 0x11A9], NFKC: [0xD116], NFKD: [0x1110, 0x1164, 0x11A9] }, -{ source: [0xD117], NFC: [0xD117], NFD: [0x1110, 0x1164, 0x11AA], NFKC: [0xD117], NFKD: [0x1110, 0x1164, 0x11AA] }, -{ source: [0xD118], NFC: [0xD118], NFD: [0x1110, 0x1164, 0x11AB], NFKC: [0xD118], NFKD: [0x1110, 0x1164, 0x11AB] }, -{ source: [0xD119], NFC: [0xD119], NFD: [0x1110, 0x1164, 0x11AC], NFKC: [0xD119], NFKD: [0x1110, 0x1164, 0x11AC] }, -{ source: [0xD11A], NFC: [0xD11A], NFD: [0x1110, 0x1164, 0x11AD], NFKC: [0xD11A], NFKD: [0x1110, 0x1164, 0x11AD] }, -{ source: [0xD11B], NFC: [0xD11B], NFD: [0x1110, 0x1164, 0x11AE], NFKC: [0xD11B], NFKD: [0x1110, 0x1164, 0x11AE] }, -{ source: [0xD11C], NFC: [0xD11C], NFD: [0x1110, 0x1164, 0x11AF], NFKC: [0xD11C], NFKD: [0x1110, 0x1164, 0x11AF] }, -{ source: [0xD11D], NFC: [0xD11D], NFD: [0x1110, 0x1164, 0x11B0], NFKC: [0xD11D], NFKD: [0x1110, 0x1164, 0x11B0] }, -{ source: [0xD11E], NFC: [0xD11E], NFD: [0x1110, 0x1164, 0x11B1], NFKC: [0xD11E], NFKD: [0x1110, 0x1164, 0x11B1] }, -{ source: [0xD11F], NFC: [0xD11F], NFD: [0x1110, 0x1164, 0x11B2], NFKC: [0xD11F], NFKD: [0x1110, 0x1164, 0x11B2] }, -{ source: [0xD120], NFC: [0xD120], NFD: [0x1110, 0x1164, 0x11B3], NFKC: [0xD120], NFKD: [0x1110, 0x1164, 0x11B3] }, -{ source: [0xD121], NFC: [0xD121], NFD: [0x1110, 0x1164, 0x11B4], NFKC: [0xD121], NFKD: [0x1110, 0x1164, 0x11B4] }, -{ source: [0xD122], NFC: [0xD122], NFD: [0x1110, 0x1164, 0x11B5], NFKC: [0xD122], NFKD: [0x1110, 0x1164, 0x11B5] }, -{ source: [0xD123], NFC: [0xD123], NFD: [0x1110, 0x1164, 0x11B6], NFKC: [0xD123], NFKD: [0x1110, 0x1164, 0x11B6] }, -{ source: [0xD124], NFC: [0xD124], NFD: [0x1110, 0x1164, 0x11B7], NFKC: [0xD124], NFKD: [0x1110, 0x1164, 0x11B7] }, -{ source: [0xD125], NFC: [0xD125], NFD: [0x1110, 0x1164, 0x11B8], NFKC: [0xD125], NFKD: [0x1110, 0x1164, 0x11B8] }, -{ source: [0xD126], NFC: [0xD126], NFD: [0x1110, 0x1164, 0x11B9], NFKC: [0xD126], NFKD: [0x1110, 0x1164, 0x11B9] }, -{ source: [0xD127], NFC: [0xD127], NFD: [0x1110, 0x1164, 0x11BA], NFKC: [0xD127], NFKD: [0x1110, 0x1164, 0x11BA] }, -{ source: [0xD128], NFC: [0xD128], NFD: [0x1110, 0x1164, 0x11BB], NFKC: [0xD128], NFKD: [0x1110, 0x1164, 0x11BB] }, -{ source: [0xD129], NFC: [0xD129], NFD: [0x1110, 0x1164, 0x11BC], NFKC: [0xD129], NFKD: [0x1110, 0x1164, 0x11BC] }, -{ source: [0xD12A], NFC: [0xD12A], NFD: [0x1110, 0x1164, 0x11BD], NFKC: [0xD12A], NFKD: [0x1110, 0x1164, 0x11BD] }, -{ source: [0xD12B], NFC: [0xD12B], NFD: [0x1110, 0x1164, 0x11BE], NFKC: [0xD12B], NFKD: [0x1110, 0x1164, 0x11BE] }, -{ source: [0xD12C], NFC: [0xD12C], NFD: [0x1110, 0x1164, 0x11BF], NFKC: [0xD12C], NFKD: [0x1110, 0x1164, 0x11BF] }, -{ source: [0xD12D], NFC: [0xD12D], NFD: [0x1110, 0x1164, 0x11C0], NFKC: [0xD12D], NFKD: [0x1110, 0x1164, 0x11C0] }, -{ source: [0xD12E], NFC: [0xD12E], NFD: [0x1110, 0x1164, 0x11C1], NFKC: [0xD12E], NFKD: [0x1110, 0x1164, 0x11C1] }, -{ source: [0xD12F], NFC: [0xD12F], NFD: [0x1110, 0x1164, 0x11C2], NFKC: [0xD12F], NFKD: [0x1110, 0x1164, 0x11C2] }, -{ source: [0xD130], NFC: [0xD130], NFD: [0x1110, 0x1165], NFKC: [0xD130], NFKD: [0x1110, 0x1165] }, -{ source: [0xD131], NFC: [0xD131], NFD: [0x1110, 0x1165, 0x11A8], NFKC: [0xD131], NFKD: [0x1110, 0x1165, 0x11A8] }, -{ source: [0xD132], NFC: [0xD132], NFD: [0x1110, 0x1165, 0x11A9], NFKC: [0xD132], NFKD: [0x1110, 0x1165, 0x11A9] }, -{ source: [0xD133], NFC: [0xD133], NFD: [0x1110, 0x1165, 0x11AA], NFKC: [0xD133], NFKD: [0x1110, 0x1165, 0x11AA] }, -{ source: [0xD134], NFC: [0xD134], NFD: [0x1110, 0x1165, 0x11AB], NFKC: [0xD134], NFKD: [0x1110, 0x1165, 0x11AB] }, -{ source: [0xD135], NFC: [0xD135], NFD: [0x1110, 0x1165, 0x11AC], NFKC: [0xD135], NFKD: [0x1110, 0x1165, 0x11AC] }, -{ source: [0xD136], NFC: [0xD136], NFD: [0x1110, 0x1165, 0x11AD], NFKC: [0xD136], NFKD: [0x1110, 0x1165, 0x11AD] }, -{ source: [0xD137], NFC: [0xD137], NFD: [0x1110, 0x1165, 0x11AE], NFKC: [0xD137], NFKD: [0x1110, 0x1165, 0x11AE] }, -{ source: [0xD138], NFC: [0xD138], NFD: [0x1110, 0x1165, 0x11AF], NFKC: [0xD138], NFKD: [0x1110, 0x1165, 0x11AF] }, -{ source: [0xD139], NFC: [0xD139], NFD: [0x1110, 0x1165, 0x11B0], NFKC: [0xD139], NFKD: [0x1110, 0x1165, 0x11B0] }, -{ source: [0xD13A], NFC: [0xD13A], NFD: [0x1110, 0x1165, 0x11B1], NFKC: [0xD13A], NFKD: [0x1110, 0x1165, 0x11B1] }, -{ source: [0xD13B], NFC: [0xD13B], NFD: [0x1110, 0x1165, 0x11B2], NFKC: [0xD13B], NFKD: [0x1110, 0x1165, 0x11B2] }, -{ source: [0xD13C], NFC: [0xD13C], NFD: [0x1110, 0x1165, 0x11B3], NFKC: [0xD13C], NFKD: [0x1110, 0x1165, 0x11B3] }, -{ source: [0xD13D], NFC: [0xD13D], NFD: [0x1110, 0x1165, 0x11B4], NFKC: [0xD13D], NFKD: [0x1110, 0x1165, 0x11B4] }, -{ source: [0xD13E], NFC: [0xD13E], NFD: [0x1110, 0x1165, 0x11B5], NFKC: [0xD13E], NFKD: [0x1110, 0x1165, 0x11B5] }, -{ source: [0xD13F], NFC: [0xD13F], NFD: [0x1110, 0x1165, 0x11B6], NFKC: [0xD13F], NFKD: [0x1110, 0x1165, 0x11B6] }, -{ source: [0xD140], NFC: [0xD140], NFD: [0x1110, 0x1165, 0x11B7], NFKC: [0xD140], NFKD: [0x1110, 0x1165, 0x11B7] }, -{ source: [0xD141], NFC: [0xD141], NFD: [0x1110, 0x1165, 0x11B8], NFKC: [0xD141], NFKD: [0x1110, 0x1165, 0x11B8] }, -{ source: [0xD142], NFC: [0xD142], NFD: [0x1110, 0x1165, 0x11B9], NFKC: [0xD142], NFKD: [0x1110, 0x1165, 0x11B9] }, -{ source: [0xD143], NFC: [0xD143], NFD: [0x1110, 0x1165, 0x11BA], NFKC: [0xD143], NFKD: [0x1110, 0x1165, 0x11BA] }, -{ source: [0xD144], NFC: [0xD144], NFD: [0x1110, 0x1165, 0x11BB], NFKC: [0xD144], NFKD: [0x1110, 0x1165, 0x11BB] }, -{ source: [0xD145], NFC: [0xD145], NFD: [0x1110, 0x1165, 0x11BC], NFKC: [0xD145], NFKD: [0x1110, 0x1165, 0x11BC] }, -{ source: [0xD146], NFC: [0xD146], NFD: [0x1110, 0x1165, 0x11BD], NFKC: [0xD146], NFKD: [0x1110, 0x1165, 0x11BD] }, -{ source: [0xD147], NFC: [0xD147], NFD: [0x1110, 0x1165, 0x11BE], NFKC: [0xD147], NFKD: [0x1110, 0x1165, 0x11BE] }, -{ source: [0xD148], NFC: [0xD148], NFD: [0x1110, 0x1165, 0x11BF], NFKC: [0xD148], NFKD: [0x1110, 0x1165, 0x11BF] }, -{ source: [0xD149], NFC: [0xD149], NFD: [0x1110, 0x1165, 0x11C0], NFKC: [0xD149], NFKD: [0x1110, 0x1165, 0x11C0] }, -{ source: [0xD14A], NFC: [0xD14A], NFD: [0x1110, 0x1165, 0x11C1], NFKC: [0xD14A], NFKD: [0x1110, 0x1165, 0x11C1] }, -{ source: [0xD14B], NFC: [0xD14B], NFD: [0x1110, 0x1165, 0x11C2], NFKC: [0xD14B], NFKD: [0x1110, 0x1165, 0x11C2] }, -{ source: [0xD14C], NFC: [0xD14C], NFD: [0x1110, 0x1166], NFKC: [0xD14C], NFKD: [0x1110, 0x1166] }, -{ source: [0xD14D], NFC: [0xD14D], NFD: [0x1110, 0x1166, 0x11A8], NFKC: [0xD14D], NFKD: [0x1110, 0x1166, 0x11A8] }, -{ source: [0xD14E], NFC: [0xD14E], NFD: [0x1110, 0x1166, 0x11A9], NFKC: [0xD14E], NFKD: [0x1110, 0x1166, 0x11A9] }, -{ source: [0xD14F], NFC: [0xD14F], NFD: [0x1110, 0x1166, 0x11AA], NFKC: [0xD14F], NFKD: [0x1110, 0x1166, 0x11AA] }, -{ source: [0xD150], NFC: [0xD150], NFD: [0x1110, 0x1166, 0x11AB], NFKC: [0xD150], NFKD: [0x1110, 0x1166, 0x11AB] }, -{ source: [0xD151], NFC: [0xD151], NFD: [0x1110, 0x1166, 0x11AC], NFKC: [0xD151], NFKD: [0x1110, 0x1166, 0x11AC] }, -{ source: [0xD152], NFC: [0xD152], NFD: [0x1110, 0x1166, 0x11AD], NFKC: [0xD152], NFKD: [0x1110, 0x1166, 0x11AD] }, -{ source: [0xD153], NFC: [0xD153], NFD: [0x1110, 0x1166, 0x11AE], NFKC: [0xD153], NFKD: [0x1110, 0x1166, 0x11AE] }, -{ source: [0xD154], NFC: [0xD154], NFD: [0x1110, 0x1166, 0x11AF], NFKC: [0xD154], NFKD: [0x1110, 0x1166, 0x11AF] }, -{ source: [0xD155], NFC: [0xD155], NFD: [0x1110, 0x1166, 0x11B0], NFKC: [0xD155], NFKD: [0x1110, 0x1166, 0x11B0] }, -{ source: [0xD156], NFC: [0xD156], NFD: [0x1110, 0x1166, 0x11B1], NFKC: [0xD156], NFKD: [0x1110, 0x1166, 0x11B1] }, -{ source: [0xD157], NFC: [0xD157], NFD: [0x1110, 0x1166, 0x11B2], NFKC: [0xD157], NFKD: [0x1110, 0x1166, 0x11B2] }, -{ source: [0xD158], NFC: [0xD158], NFD: [0x1110, 0x1166, 0x11B3], NFKC: [0xD158], NFKD: [0x1110, 0x1166, 0x11B3] }, -{ source: [0xD159], NFC: [0xD159], NFD: [0x1110, 0x1166, 0x11B4], NFKC: [0xD159], NFKD: [0x1110, 0x1166, 0x11B4] }, -{ source: [0xD15A], NFC: [0xD15A], NFD: [0x1110, 0x1166, 0x11B5], NFKC: [0xD15A], NFKD: [0x1110, 0x1166, 0x11B5] }, -{ source: [0xD15B], NFC: [0xD15B], NFD: [0x1110, 0x1166, 0x11B6], NFKC: [0xD15B], NFKD: [0x1110, 0x1166, 0x11B6] }, -{ source: [0xD15C], NFC: [0xD15C], NFD: [0x1110, 0x1166, 0x11B7], NFKC: [0xD15C], NFKD: [0x1110, 0x1166, 0x11B7] }, -{ source: [0xD15D], NFC: [0xD15D], NFD: [0x1110, 0x1166, 0x11B8], NFKC: [0xD15D], NFKD: [0x1110, 0x1166, 0x11B8] }, -{ source: [0xD15E], NFC: [0xD15E], NFD: [0x1110, 0x1166, 0x11B9], NFKC: [0xD15E], NFKD: [0x1110, 0x1166, 0x11B9] }, -{ source: [0xD15F], NFC: [0xD15F], NFD: [0x1110, 0x1166, 0x11BA], NFKC: [0xD15F], NFKD: [0x1110, 0x1166, 0x11BA] }, -{ source: [0xD160], NFC: [0xD160], NFD: [0x1110, 0x1166, 0x11BB], NFKC: [0xD160], NFKD: [0x1110, 0x1166, 0x11BB] }, -{ source: [0xD161], NFC: [0xD161], NFD: [0x1110, 0x1166, 0x11BC], NFKC: [0xD161], NFKD: [0x1110, 0x1166, 0x11BC] }, -{ source: [0xD162], NFC: [0xD162], NFD: [0x1110, 0x1166, 0x11BD], NFKC: [0xD162], NFKD: [0x1110, 0x1166, 0x11BD] }, -{ source: [0xD163], NFC: [0xD163], NFD: [0x1110, 0x1166, 0x11BE], NFKC: [0xD163], NFKD: [0x1110, 0x1166, 0x11BE] }, -{ source: [0xD164], NFC: [0xD164], NFD: [0x1110, 0x1166, 0x11BF], NFKC: [0xD164], NFKD: [0x1110, 0x1166, 0x11BF] }, -{ source: [0xD165], NFC: [0xD165], NFD: [0x1110, 0x1166, 0x11C0], NFKC: [0xD165], NFKD: [0x1110, 0x1166, 0x11C0] }, -{ source: [0xD166], NFC: [0xD166], NFD: [0x1110, 0x1166, 0x11C1], NFKC: [0xD166], NFKD: [0x1110, 0x1166, 0x11C1] }, -{ source: [0xD167], NFC: [0xD167], NFD: [0x1110, 0x1166, 0x11C2], NFKC: [0xD167], NFKD: [0x1110, 0x1166, 0x11C2] }, -{ source: [0xD168], NFC: [0xD168], NFD: [0x1110, 0x1167], NFKC: [0xD168], NFKD: [0x1110, 0x1167] }, -{ source: [0xD169], NFC: [0xD169], NFD: [0x1110, 0x1167, 0x11A8], NFKC: [0xD169], NFKD: [0x1110, 0x1167, 0x11A8] }, -{ source: [0xD16A], NFC: [0xD16A], NFD: [0x1110, 0x1167, 0x11A9], NFKC: [0xD16A], NFKD: [0x1110, 0x1167, 0x11A9] }, -{ source: [0xD16B], NFC: [0xD16B], NFD: [0x1110, 0x1167, 0x11AA], NFKC: [0xD16B], NFKD: [0x1110, 0x1167, 0x11AA] }, -{ source: [0xD16C], NFC: [0xD16C], NFD: [0x1110, 0x1167, 0x11AB], NFKC: [0xD16C], NFKD: [0x1110, 0x1167, 0x11AB] }, -{ source: [0xD16D], NFC: [0xD16D], NFD: [0x1110, 0x1167, 0x11AC], NFKC: [0xD16D], NFKD: [0x1110, 0x1167, 0x11AC] }, -{ source: [0xD16E], NFC: [0xD16E], NFD: [0x1110, 0x1167, 0x11AD], NFKC: [0xD16E], NFKD: [0x1110, 0x1167, 0x11AD] }, -{ source: [0xD16F], NFC: [0xD16F], NFD: [0x1110, 0x1167, 0x11AE], NFKC: [0xD16F], NFKD: [0x1110, 0x1167, 0x11AE] }, -{ source: [0xD170], NFC: [0xD170], NFD: [0x1110, 0x1167, 0x11AF], NFKC: [0xD170], NFKD: [0x1110, 0x1167, 0x11AF] }, -{ source: [0xD171], NFC: [0xD171], NFD: [0x1110, 0x1167, 0x11B0], NFKC: [0xD171], NFKD: [0x1110, 0x1167, 0x11B0] }, -{ source: [0xD172], NFC: [0xD172], NFD: [0x1110, 0x1167, 0x11B1], NFKC: [0xD172], NFKD: [0x1110, 0x1167, 0x11B1] }, -{ source: [0xD173], NFC: [0xD173], NFD: [0x1110, 0x1167, 0x11B2], NFKC: [0xD173], NFKD: [0x1110, 0x1167, 0x11B2] }, -{ source: [0xD174], NFC: [0xD174], NFD: [0x1110, 0x1167, 0x11B3], NFKC: [0xD174], NFKD: [0x1110, 0x1167, 0x11B3] }, -{ source: [0xD175], NFC: [0xD175], NFD: [0x1110, 0x1167, 0x11B4], NFKC: [0xD175], NFKD: [0x1110, 0x1167, 0x11B4] }, -{ source: [0xD176], NFC: [0xD176], NFD: [0x1110, 0x1167, 0x11B5], NFKC: [0xD176], NFKD: [0x1110, 0x1167, 0x11B5] }, -{ source: [0xD177], NFC: [0xD177], NFD: [0x1110, 0x1167, 0x11B6], NFKC: [0xD177], NFKD: [0x1110, 0x1167, 0x11B6] }, -{ source: [0xD178], NFC: [0xD178], NFD: [0x1110, 0x1167, 0x11B7], NFKC: [0xD178], NFKD: [0x1110, 0x1167, 0x11B7] }, -{ source: [0xD179], NFC: [0xD179], NFD: [0x1110, 0x1167, 0x11B8], NFKC: [0xD179], NFKD: [0x1110, 0x1167, 0x11B8] }, -{ source: [0xD17A], NFC: [0xD17A], NFD: [0x1110, 0x1167, 0x11B9], NFKC: [0xD17A], NFKD: [0x1110, 0x1167, 0x11B9] }, -{ source: [0xD17B], NFC: [0xD17B], NFD: [0x1110, 0x1167, 0x11BA], NFKC: [0xD17B], NFKD: [0x1110, 0x1167, 0x11BA] }, -{ source: [0xD17C], NFC: [0xD17C], NFD: [0x1110, 0x1167, 0x11BB], NFKC: [0xD17C], NFKD: [0x1110, 0x1167, 0x11BB] }, -{ source: [0xD17D], NFC: [0xD17D], NFD: [0x1110, 0x1167, 0x11BC], NFKC: [0xD17D], NFKD: [0x1110, 0x1167, 0x11BC] }, -{ source: [0xD17E], NFC: [0xD17E], NFD: [0x1110, 0x1167, 0x11BD], NFKC: [0xD17E], NFKD: [0x1110, 0x1167, 0x11BD] }, -{ source: [0xD17F], NFC: [0xD17F], NFD: [0x1110, 0x1167, 0x11BE], NFKC: [0xD17F], NFKD: [0x1110, 0x1167, 0x11BE] }, -{ source: [0xD180], NFC: [0xD180], NFD: [0x1110, 0x1167, 0x11BF], NFKC: [0xD180], NFKD: [0x1110, 0x1167, 0x11BF] }, -{ source: [0xD181], NFC: [0xD181], NFD: [0x1110, 0x1167, 0x11C0], NFKC: [0xD181], NFKD: [0x1110, 0x1167, 0x11C0] }, -{ source: [0xD182], NFC: [0xD182], NFD: [0x1110, 0x1167, 0x11C1], NFKC: [0xD182], NFKD: [0x1110, 0x1167, 0x11C1] }, -{ source: [0xD183], NFC: [0xD183], NFD: [0x1110, 0x1167, 0x11C2], NFKC: [0xD183], NFKD: [0x1110, 0x1167, 0x11C2] }, -{ source: [0xD184], NFC: [0xD184], NFD: [0x1110, 0x1168], NFKC: [0xD184], NFKD: [0x1110, 0x1168] }, -{ source: [0xD185], NFC: [0xD185], NFD: [0x1110, 0x1168, 0x11A8], NFKC: [0xD185], NFKD: [0x1110, 0x1168, 0x11A8] }, -{ source: [0xD186], NFC: [0xD186], NFD: [0x1110, 0x1168, 0x11A9], NFKC: [0xD186], NFKD: [0x1110, 0x1168, 0x11A9] }, -{ source: [0xD187], NFC: [0xD187], NFD: [0x1110, 0x1168, 0x11AA], NFKC: [0xD187], NFKD: [0x1110, 0x1168, 0x11AA] }, -{ source: [0xD188], NFC: [0xD188], NFD: [0x1110, 0x1168, 0x11AB], NFKC: [0xD188], NFKD: [0x1110, 0x1168, 0x11AB] }, -{ source: [0xD189], NFC: [0xD189], NFD: [0x1110, 0x1168, 0x11AC], NFKC: [0xD189], NFKD: [0x1110, 0x1168, 0x11AC] }, -{ source: [0xD18A], NFC: [0xD18A], NFD: [0x1110, 0x1168, 0x11AD], NFKC: [0xD18A], NFKD: [0x1110, 0x1168, 0x11AD] }, -{ source: [0xD18B], NFC: [0xD18B], NFD: [0x1110, 0x1168, 0x11AE], NFKC: [0xD18B], NFKD: [0x1110, 0x1168, 0x11AE] }, -{ source: [0xD18C], NFC: [0xD18C], NFD: [0x1110, 0x1168, 0x11AF], NFKC: [0xD18C], NFKD: [0x1110, 0x1168, 0x11AF] }, -{ source: [0xD18D], NFC: [0xD18D], NFD: [0x1110, 0x1168, 0x11B0], NFKC: [0xD18D], NFKD: [0x1110, 0x1168, 0x11B0] }, -{ source: [0xD18E], NFC: [0xD18E], NFD: [0x1110, 0x1168, 0x11B1], NFKC: [0xD18E], NFKD: [0x1110, 0x1168, 0x11B1] }, -{ source: [0xD18F], NFC: [0xD18F], NFD: [0x1110, 0x1168, 0x11B2], NFKC: [0xD18F], NFKD: [0x1110, 0x1168, 0x11B2] }, -{ source: [0xD190], NFC: [0xD190], NFD: [0x1110, 0x1168, 0x11B3], NFKC: [0xD190], NFKD: [0x1110, 0x1168, 0x11B3] }, -{ source: [0xD191], NFC: [0xD191], NFD: [0x1110, 0x1168, 0x11B4], NFKC: [0xD191], NFKD: [0x1110, 0x1168, 0x11B4] }, -{ source: [0xD192], NFC: [0xD192], NFD: [0x1110, 0x1168, 0x11B5], NFKC: [0xD192], NFKD: [0x1110, 0x1168, 0x11B5] }, -{ source: [0xD193], NFC: [0xD193], NFD: [0x1110, 0x1168, 0x11B6], NFKC: [0xD193], NFKD: [0x1110, 0x1168, 0x11B6] }, -{ source: [0xD194], NFC: [0xD194], NFD: [0x1110, 0x1168, 0x11B7], NFKC: [0xD194], NFKD: [0x1110, 0x1168, 0x11B7] }, -{ source: [0xD195], NFC: [0xD195], NFD: [0x1110, 0x1168, 0x11B8], NFKC: [0xD195], NFKD: [0x1110, 0x1168, 0x11B8] }, -{ source: [0xD196], NFC: [0xD196], NFD: [0x1110, 0x1168, 0x11B9], NFKC: [0xD196], NFKD: [0x1110, 0x1168, 0x11B9] }, -{ source: [0xD197], NFC: [0xD197], NFD: [0x1110, 0x1168, 0x11BA], NFKC: [0xD197], NFKD: [0x1110, 0x1168, 0x11BA] }, -{ source: [0xD198], NFC: [0xD198], NFD: [0x1110, 0x1168, 0x11BB], NFKC: [0xD198], NFKD: [0x1110, 0x1168, 0x11BB] }, -{ source: [0xD199], NFC: [0xD199], NFD: [0x1110, 0x1168, 0x11BC], NFKC: [0xD199], NFKD: [0x1110, 0x1168, 0x11BC] }, -{ source: [0xD19A], NFC: [0xD19A], NFD: [0x1110, 0x1168, 0x11BD], NFKC: [0xD19A], NFKD: [0x1110, 0x1168, 0x11BD] }, -{ source: [0xD19B], NFC: [0xD19B], NFD: [0x1110, 0x1168, 0x11BE], NFKC: [0xD19B], NFKD: [0x1110, 0x1168, 0x11BE] }, -{ source: [0xD19C], NFC: [0xD19C], NFD: [0x1110, 0x1168, 0x11BF], NFKC: [0xD19C], NFKD: [0x1110, 0x1168, 0x11BF] }, -{ source: [0xD19D], NFC: [0xD19D], NFD: [0x1110, 0x1168, 0x11C0], NFKC: [0xD19D], NFKD: [0x1110, 0x1168, 0x11C0] }, -{ source: [0xD19E], NFC: [0xD19E], NFD: [0x1110, 0x1168, 0x11C1], NFKC: [0xD19E], NFKD: [0x1110, 0x1168, 0x11C1] }, -{ source: [0xD19F], NFC: [0xD19F], NFD: [0x1110, 0x1168, 0x11C2], NFKC: [0xD19F], NFKD: [0x1110, 0x1168, 0x11C2] }, -{ source: [0xD1A0], NFC: [0xD1A0], NFD: [0x1110, 0x1169], NFKC: [0xD1A0], NFKD: [0x1110, 0x1169] }, -{ source: [0xD1A1], NFC: [0xD1A1], NFD: [0x1110, 0x1169, 0x11A8], NFKC: [0xD1A1], NFKD: [0x1110, 0x1169, 0x11A8] }, -{ source: [0xD1A2], NFC: [0xD1A2], NFD: [0x1110, 0x1169, 0x11A9], NFKC: [0xD1A2], NFKD: [0x1110, 0x1169, 0x11A9] }, -{ source: [0xD1A3], NFC: [0xD1A3], NFD: [0x1110, 0x1169, 0x11AA], NFKC: [0xD1A3], NFKD: [0x1110, 0x1169, 0x11AA] }, -{ source: [0xD1A4], NFC: [0xD1A4], NFD: [0x1110, 0x1169, 0x11AB], NFKC: [0xD1A4], NFKD: [0x1110, 0x1169, 0x11AB] }, -{ source: [0xD1A5], NFC: [0xD1A5], NFD: [0x1110, 0x1169, 0x11AC], NFKC: [0xD1A5], NFKD: [0x1110, 0x1169, 0x11AC] }, -{ source: [0xD1A6], NFC: [0xD1A6], NFD: [0x1110, 0x1169, 0x11AD], NFKC: [0xD1A6], NFKD: [0x1110, 0x1169, 0x11AD] }, -{ source: [0xD1A7], NFC: [0xD1A7], NFD: [0x1110, 0x1169, 0x11AE], NFKC: [0xD1A7], NFKD: [0x1110, 0x1169, 0x11AE] }, -{ source: [0xD1A8], NFC: [0xD1A8], NFD: [0x1110, 0x1169, 0x11AF], NFKC: [0xD1A8], NFKD: [0x1110, 0x1169, 0x11AF] }, -{ source: [0xD1A9], NFC: [0xD1A9], NFD: [0x1110, 0x1169, 0x11B0], NFKC: [0xD1A9], NFKD: [0x1110, 0x1169, 0x11B0] }, -{ source: [0xD1AA], NFC: [0xD1AA], NFD: [0x1110, 0x1169, 0x11B1], NFKC: [0xD1AA], NFKD: [0x1110, 0x1169, 0x11B1] }, -{ source: [0xD1AB], NFC: [0xD1AB], NFD: [0x1110, 0x1169, 0x11B2], NFKC: [0xD1AB], NFKD: [0x1110, 0x1169, 0x11B2] }, -{ source: [0xD1AC], NFC: [0xD1AC], NFD: [0x1110, 0x1169, 0x11B3], NFKC: [0xD1AC], NFKD: [0x1110, 0x1169, 0x11B3] }, -{ source: [0xD1AD], NFC: [0xD1AD], NFD: [0x1110, 0x1169, 0x11B4], NFKC: [0xD1AD], NFKD: [0x1110, 0x1169, 0x11B4] }, -{ source: [0xD1AE], NFC: [0xD1AE], NFD: [0x1110, 0x1169, 0x11B5], NFKC: [0xD1AE], NFKD: [0x1110, 0x1169, 0x11B5] }, -{ source: [0xD1AF], NFC: [0xD1AF], NFD: [0x1110, 0x1169, 0x11B6], NFKC: [0xD1AF], NFKD: [0x1110, 0x1169, 0x11B6] }, -{ source: [0xD1B0], NFC: [0xD1B0], NFD: [0x1110, 0x1169, 0x11B7], NFKC: [0xD1B0], NFKD: [0x1110, 0x1169, 0x11B7] }, -{ source: [0xD1B1], NFC: [0xD1B1], NFD: [0x1110, 0x1169, 0x11B8], NFKC: [0xD1B1], NFKD: [0x1110, 0x1169, 0x11B8] }, -{ source: [0xD1B2], NFC: [0xD1B2], NFD: [0x1110, 0x1169, 0x11B9], NFKC: [0xD1B2], NFKD: [0x1110, 0x1169, 0x11B9] }, -{ source: [0xD1B3], NFC: [0xD1B3], NFD: [0x1110, 0x1169, 0x11BA], NFKC: [0xD1B3], NFKD: [0x1110, 0x1169, 0x11BA] }, -{ source: [0xD1B4], NFC: [0xD1B4], NFD: [0x1110, 0x1169, 0x11BB], NFKC: [0xD1B4], NFKD: [0x1110, 0x1169, 0x11BB] }, -{ source: [0xD1B5], NFC: [0xD1B5], NFD: [0x1110, 0x1169, 0x11BC], NFKC: [0xD1B5], NFKD: [0x1110, 0x1169, 0x11BC] }, -{ source: [0xD1B6], NFC: [0xD1B6], NFD: [0x1110, 0x1169, 0x11BD], NFKC: [0xD1B6], NFKD: [0x1110, 0x1169, 0x11BD] }, -{ source: [0xD1B7], NFC: [0xD1B7], NFD: [0x1110, 0x1169, 0x11BE], NFKC: [0xD1B7], NFKD: [0x1110, 0x1169, 0x11BE] }, -{ source: [0xD1B8], NFC: [0xD1B8], NFD: [0x1110, 0x1169, 0x11BF], NFKC: [0xD1B8], NFKD: [0x1110, 0x1169, 0x11BF] }, -{ source: [0xD1B9], NFC: [0xD1B9], NFD: [0x1110, 0x1169, 0x11C0], NFKC: [0xD1B9], NFKD: [0x1110, 0x1169, 0x11C0] }, -{ source: [0xD1BA], NFC: [0xD1BA], NFD: [0x1110, 0x1169, 0x11C1], NFKC: [0xD1BA], NFKD: [0x1110, 0x1169, 0x11C1] }, -{ source: [0xD1BB], NFC: [0xD1BB], NFD: [0x1110, 0x1169, 0x11C2], NFKC: [0xD1BB], NFKD: [0x1110, 0x1169, 0x11C2] }, -{ source: [0xD1BC], NFC: [0xD1BC], NFD: [0x1110, 0x116A], NFKC: [0xD1BC], NFKD: [0x1110, 0x116A] }, -{ source: [0xD1BD], NFC: [0xD1BD], NFD: [0x1110, 0x116A, 0x11A8], NFKC: [0xD1BD], NFKD: [0x1110, 0x116A, 0x11A8] }, -{ source: [0xD1BE], NFC: [0xD1BE], NFD: [0x1110, 0x116A, 0x11A9], NFKC: [0xD1BE], NFKD: [0x1110, 0x116A, 0x11A9] }, -{ source: [0xD1BF], NFC: [0xD1BF], NFD: [0x1110, 0x116A, 0x11AA], NFKC: [0xD1BF], NFKD: [0x1110, 0x116A, 0x11AA] }, -{ source: [0xD1C0], NFC: [0xD1C0], NFD: [0x1110, 0x116A, 0x11AB], NFKC: [0xD1C0], NFKD: [0x1110, 0x116A, 0x11AB] }, -{ source: [0xD1C1], NFC: [0xD1C1], NFD: [0x1110, 0x116A, 0x11AC], NFKC: [0xD1C1], NFKD: [0x1110, 0x116A, 0x11AC] }, -{ source: [0xD1C2], NFC: [0xD1C2], NFD: [0x1110, 0x116A, 0x11AD], NFKC: [0xD1C2], NFKD: [0x1110, 0x116A, 0x11AD] }, -{ source: [0xD1C3], NFC: [0xD1C3], NFD: [0x1110, 0x116A, 0x11AE], NFKC: [0xD1C3], NFKD: [0x1110, 0x116A, 0x11AE] }, -{ source: [0xD1C4], NFC: [0xD1C4], NFD: [0x1110, 0x116A, 0x11AF], NFKC: [0xD1C4], NFKD: [0x1110, 0x116A, 0x11AF] }, -{ source: [0xD1C5], NFC: [0xD1C5], NFD: [0x1110, 0x116A, 0x11B0], NFKC: [0xD1C5], NFKD: [0x1110, 0x116A, 0x11B0] }, -{ source: [0xD1C6], NFC: [0xD1C6], NFD: [0x1110, 0x116A, 0x11B1], NFKC: [0xD1C6], NFKD: [0x1110, 0x116A, 0x11B1] }, -{ source: [0xD1C7], NFC: [0xD1C7], NFD: [0x1110, 0x116A, 0x11B2], NFKC: [0xD1C7], NFKD: [0x1110, 0x116A, 0x11B2] }, -{ source: [0xD1C8], NFC: [0xD1C8], NFD: [0x1110, 0x116A, 0x11B3], NFKC: [0xD1C8], NFKD: [0x1110, 0x116A, 0x11B3] }, -{ source: [0xD1C9], NFC: [0xD1C9], NFD: [0x1110, 0x116A, 0x11B4], NFKC: [0xD1C9], NFKD: [0x1110, 0x116A, 0x11B4] }, -{ source: [0xD1CA], NFC: [0xD1CA], NFD: [0x1110, 0x116A, 0x11B5], NFKC: [0xD1CA], NFKD: [0x1110, 0x116A, 0x11B5] }, -{ source: [0xD1CB], NFC: [0xD1CB], NFD: [0x1110, 0x116A, 0x11B6], NFKC: [0xD1CB], NFKD: [0x1110, 0x116A, 0x11B6] }, -{ source: [0xD1CC], NFC: [0xD1CC], NFD: [0x1110, 0x116A, 0x11B7], NFKC: [0xD1CC], NFKD: [0x1110, 0x116A, 0x11B7] }, -{ source: [0xD1CD], NFC: [0xD1CD], NFD: [0x1110, 0x116A, 0x11B8], NFKC: [0xD1CD], NFKD: [0x1110, 0x116A, 0x11B8] }, -{ source: [0xD1CE], NFC: [0xD1CE], NFD: [0x1110, 0x116A, 0x11B9], NFKC: [0xD1CE], NFKD: [0x1110, 0x116A, 0x11B9] }, -{ source: [0xD1CF], NFC: [0xD1CF], NFD: [0x1110, 0x116A, 0x11BA], NFKC: [0xD1CF], NFKD: [0x1110, 0x116A, 0x11BA] }, -{ source: [0xD1D0], NFC: [0xD1D0], NFD: [0x1110, 0x116A, 0x11BB], NFKC: [0xD1D0], NFKD: [0x1110, 0x116A, 0x11BB] }, -{ source: [0xD1D1], NFC: [0xD1D1], NFD: [0x1110, 0x116A, 0x11BC], NFKC: [0xD1D1], NFKD: [0x1110, 0x116A, 0x11BC] }, -{ source: [0xD1D2], NFC: [0xD1D2], NFD: [0x1110, 0x116A, 0x11BD], NFKC: [0xD1D2], NFKD: [0x1110, 0x116A, 0x11BD] }, -{ source: [0xD1D3], NFC: [0xD1D3], NFD: [0x1110, 0x116A, 0x11BE], NFKC: [0xD1D3], NFKD: [0x1110, 0x116A, 0x11BE] }, -{ source: [0xD1D4], NFC: [0xD1D4], NFD: [0x1110, 0x116A, 0x11BF], NFKC: [0xD1D4], NFKD: [0x1110, 0x116A, 0x11BF] }, -{ source: [0xD1D5], NFC: [0xD1D5], NFD: [0x1110, 0x116A, 0x11C0], NFKC: [0xD1D5], NFKD: [0x1110, 0x116A, 0x11C0] }, -{ source: [0xD1D6], NFC: [0xD1D6], NFD: [0x1110, 0x116A, 0x11C1], NFKC: [0xD1D6], NFKD: [0x1110, 0x116A, 0x11C1] }, -{ source: [0xD1D7], NFC: [0xD1D7], NFD: [0x1110, 0x116A, 0x11C2], NFKC: [0xD1D7], NFKD: [0x1110, 0x116A, 0x11C2] }, -{ source: [0xD1D8], NFC: [0xD1D8], NFD: [0x1110, 0x116B], NFKC: [0xD1D8], NFKD: [0x1110, 0x116B] }, -{ source: [0xD1D9], NFC: [0xD1D9], NFD: [0x1110, 0x116B, 0x11A8], NFKC: [0xD1D9], NFKD: [0x1110, 0x116B, 0x11A8] }, -{ source: [0xD1DA], NFC: [0xD1DA], NFD: [0x1110, 0x116B, 0x11A9], NFKC: [0xD1DA], NFKD: [0x1110, 0x116B, 0x11A9] }, -{ source: [0xD1DB], NFC: [0xD1DB], NFD: [0x1110, 0x116B, 0x11AA], NFKC: [0xD1DB], NFKD: [0x1110, 0x116B, 0x11AA] }, -{ source: [0xD1DC], NFC: [0xD1DC], NFD: [0x1110, 0x116B, 0x11AB], NFKC: [0xD1DC], NFKD: [0x1110, 0x116B, 0x11AB] }, -{ source: [0xD1DD], NFC: [0xD1DD], NFD: [0x1110, 0x116B, 0x11AC], NFKC: [0xD1DD], NFKD: [0x1110, 0x116B, 0x11AC] }, -{ source: [0xD1DE], NFC: [0xD1DE], NFD: [0x1110, 0x116B, 0x11AD], NFKC: [0xD1DE], NFKD: [0x1110, 0x116B, 0x11AD] }, -{ source: [0xD1DF], NFC: [0xD1DF], NFD: [0x1110, 0x116B, 0x11AE], NFKC: [0xD1DF], NFKD: [0x1110, 0x116B, 0x11AE] }, -{ source: [0xD1E0], NFC: [0xD1E0], NFD: [0x1110, 0x116B, 0x11AF], NFKC: [0xD1E0], NFKD: [0x1110, 0x116B, 0x11AF] }, -{ source: [0xD1E1], NFC: [0xD1E1], NFD: [0x1110, 0x116B, 0x11B0], NFKC: [0xD1E1], NFKD: [0x1110, 0x116B, 0x11B0] }, -{ source: [0xD1E2], NFC: [0xD1E2], NFD: [0x1110, 0x116B, 0x11B1], NFKC: [0xD1E2], NFKD: [0x1110, 0x116B, 0x11B1] }, -{ source: [0xD1E3], NFC: [0xD1E3], NFD: [0x1110, 0x116B, 0x11B2], NFKC: [0xD1E3], NFKD: [0x1110, 0x116B, 0x11B2] }, -{ source: [0xD1E4], NFC: [0xD1E4], NFD: [0x1110, 0x116B, 0x11B3], NFKC: [0xD1E4], NFKD: [0x1110, 0x116B, 0x11B3] }, -{ source: [0xD1E5], NFC: [0xD1E5], NFD: [0x1110, 0x116B, 0x11B4], NFKC: [0xD1E5], NFKD: [0x1110, 0x116B, 0x11B4] }, -{ source: [0xD1E6], NFC: [0xD1E6], NFD: [0x1110, 0x116B, 0x11B5], NFKC: [0xD1E6], NFKD: [0x1110, 0x116B, 0x11B5] }, -{ source: [0xD1E7], NFC: [0xD1E7], NFD: [0x1110, 0x116B, 0x11B6], NFKC: [0xD1E7], NFKD: [0x1110, 0x116B, 0x11B6] }, -{ source: [0xD1E8], NFC: [0xD1E8], NFD: [0x1110, 0x116B, 0x11B7], NFKC: [0xD1E8], NFKD: [0x1110, 0x116B, 0x11B7] }, -{ source: [0xD1E9], NFC: [0xD1E9], NFD: [0x1110, 0x116B, 0x11B8], NFKC: [0xD1E9], NFKD: [0x1110, 0x116B, 0x11B8] }, -{ source: [0xD1EA], NFC: [0xD1EA], NFD: [0x1110, 0x116B, 0x11B9], NFKC: [0xD1EA], NFKD: [0x1110, 0x116B, 0x11B9] }, -{ source: [0xD1EB], NFC: [0xD1EB], NFD: [0x1110, 0x116B, 0x11BA], NFKC: [0xD1EB], NFKD: [0x1110, 0x116B, 0x11BA] }, -{ source: [0xD1EC], NFC: [0xD1EC], NFD: [0x1110, 0x116B, 0x11BB], NFKC: [0xD1EC], NFKD: [0x1110, 0x116B, 0x11BB] }, -{ source: [0xD1ED], NFC: [0xD1ED], NFD: [0x1110, 0x116B, 0x11BC], NFKC: [0xD1ED], NFKD: [0x1110, 0x116B, 0x11BC] }, -{ source: [0xD1EE], NFC: [0xD1EE], NFD: [0x1110, 0x116B, 0x11BD], NFKC: [0xD1EE], NFKD: [0x1110, 0x116B, 0x11BD] }, -{ source: [0xD1EF], NFC: [0xD1EF], NFD: [0x1110, 0x116B, 0x11BE], NFKC: [0xD1EF], NFKD: [0x1110, 0x116B, 0x11BE] }, -{ source: [0xD1F0], NFC: [0xD1F0], NFD: [0x1110, 0x116B, 0x11BF], NFKC: [0xD1F0], NFKD: [0x1110, 0x116B, 0x11BF] }, -{ source: [0xD1F1], NFC: [0xD1F1], NFD: [0x1110, 0x116B, 0x11C0], NFKC: [0xD1F1], NFKD: [0x1110, 0x116B, 0x11C0] }, -{ source: [0xD1F2], NFC: [0xD1F2], NFD: [0x1110, 0x116B, 0x11C1], NFKC: [0xD1F2], NFKD: [0x1110, 0x116B, 0x11C1] }, -{ source: [0xD1F3], NFC: [0xD1F3], NFD: [0x1110, 0x116B, 0x11C2], NFKC: [0xD1F3], NFKD: [0x1110, 0x116B, 0x11C2] }, -{ source: [0xD1F4], NFC: [0xD1F4], NFD: [0x1110, 0x116C], NFKC: [0xD1F4], NFKD: [0x1110, 0x116C] }, -{ source: [0xD1F5], NFC: [0xD1F5], NFD: [0x1110, 0x116C, 0x11A8], NFKC: [0xD1F5], NFKD: [0x1110, 0x116C, 0x11A8] }, -{ source: [0xD1F6], NFC: [0xD1F6], NFD: [0x1110, 0x116C, 0x11A9], NFKC: [0xD1F6], NFKD: [0x1110, 0x116C, 0x11A9] }, -{ source: [0xD1F7], NFC: [0xD1F7], NFD: [0x1110, 0x116C, 0x11AA], NFKC: [0xD1F7], NFKD: [0x1110, 0x116C, 0x11AA] }, -{ source: [0xD1F8], NFC: [0xD1F8], NFD: [0x1110, 0x116C, 0x11AB], NFKC: [0xD1F8], NFKD: [0x1110, 0x116C, 0x11AB] }, -{ source: [0xD1F9], NFC: [0xD1F9], NFD: [0x1110, 0x116C, 0x11AC], NFKC: [0xD1F9], NFKD: [0x1110, 0x116C, 0x11AC] }, -{ source: [0xD1FA], NFC: [0xD1FA], NFD: [0x1110, 0x116C, 0x11AD], NFKC: [0xD1FA], NFKD: [0x1110, 0x116C, 0x11AD] }, -{ source: [0xD1FB], NFC: [0xD1FB], NFD: [0x1110, 0x116C, 0x11AE], NFKC: [0xD1FB], NFKD: [0x1110, 0x116C, 0x11AE] }, -{ source: [0xD1FC], NFC: [0xD1FC], NFD: [0x1110, 0x116C, 0x11AF], NFKC: [0xD1FC], NFKD: [0x1110, 0x116C, 0x11AF] }, -{ source: [0xD1FD], NFC: [0xD1FD], NFD: [0x1110, 0x116C, 0x11B0], NFKC: [0xD1FD], NFKD: [0x1110, 0x116C, 0x11B0] }, -{ source: [0xD1FE], NFC: [0xD1FE], NFD: [0x1110, 0x116C, 0x11B1], NFKC: [0xD1FE], NFKD: [0x1110, 0x116C, 0x11B1] }, -{ source: [0xD1FF], NFC: [0xD1FF], NFD: [0x1110, 0x116C, 0x11B2], NFKC: [0xD1FF], NFKD: [0x1110, 0x116C, 0x11B2] }, -{ source: [0xD200], NFC: [0xD200], NFD: [0x1110, 0x116C, 0x11B3], NFKC: [0xD200], NFKD: [0x1110, 0x116C, 0x11B3] }, -{ source: [0xD201], NFC: [0xD201], NFD: [0x1110, 0x116C, 0x11B4], NFKC: [0xD201], NFKD: [0x1110, 0x116C, 0x11B4] }, -{ source: [0xD202], NFC: [0xD202], NFD: [0x1110, 0x116C, 0x11B5], NFKC: [0xD202], NFKD: [0x1110, 0x116C, 0x11B5] }, -{ source: [0xD203], NFC: [0xD203], NFD: [0x1110, 0x116C, 0x11B6], NFKC: [0xD203], NFKD: [0x1110, 0x116C, 0x11B6] }, -{ source: [0xD204], NFC: [0xD204], NFD: [0x1110, 0x116C, 0x11B7], NFKC: [0xD204], NFKD: [0x1110, 0x116C, 0x11B7] }, -{ source: [0xD205], NFC: [0xD205], NFD: [0x1110, 0x116C, 0x11B8], NFKC: [0xD205], NFKD: [0x1110, 0x116C, 0x11B8] }, -{ source: [0xD206], NFC: [0xD206], NFD: [0x1110, 0x116C, 0x11B9], NFKC: [0xD206], NFKD: [0x1110, 0x116C, 0x11B9] }, -{ source: [0xD207], NFC: [0xD207], NFD: [0x1110, 0x116C, 0x11BA], NFKC: [0xD207], NFKD: [0x1110, 0x116C, 0x11BA] }, -{ source: [0xD208], NFC: [0xD208], NFD: [0x1110, 0x116C, 0x11BB], NFKC: [0xD208], NFKD: [0x1110, 0x116C, 0x11BB] }, -{ source: [0xD209], NFC: [0xD209], NFD: [0x1110, 0x116C, 0x11BC], NFKC: [0xD209], NFKD: [0x1110, 0x116C, 0x11BC] }, -{ source: [0xD20A], NFC: [0xD20A], NFD: [0x1110, 0x116C, 0x11BD], NFKC: [0xD20A], NFKD: [0x1110, 0x116C, 0x11BD] }, -{ source: [0xD20B], NFC: [0xD20B], NFD: [0x1110, 0x116C, 0x11BE], NFKC: [0xD20B], NFKD: [0x1110, 0x116C, 0x11BE] }, -{ source: [0xD20C], NFC: [0xD20C], NFD: [0x1110, 0x116C, 0x11BF], NFKC: [0xD20C], NFKD: [0x1110, 0x116C, 0x11BF] }, -{ source: [0xD20D], NFC: [0xD20D], NFD: [0x1110, 0x116C, 0x11C0], NFKC: [0xD20D], NFKD: [0x1110, 0x116C, 0x11C0] }, -{ source: [0xD20E], NFC: [0xD20E], NFD: [0x1110, 0x116C, 0x11C1], NFKC: [0xD20E], NFKD: [0x1110, 0x116C, 0x11C1] }, -{ source: [0xD20F], NFC: [0xD20F], NFD: [0x1110, 0x116C, 0x11C2], NFKC: [0xD20F], NFKD: [0x1110, 0x116C, 0x11C2] }, -{ source: [0xD210], NFC: [0xD210], NFD: [0x1110, 0x116D], NFKC: [0xD210], NFKD: [0x1110, 0x116D] }, -{ source: [0xD211], NFC: [0xD211], NFD: [0x1110, 0x116D, 0x11A8], NFKC: [0xD211], NFKD: [0x1110, 0x116D, 0x11A8] }, -{ source: [0xD212], NFC: [0xD212], NFD: [0x1110, 0x116D, 0x11A9], NFKC: [0xD212], NFKD: [0x1110, 0x116D, 0x11A9] }, -{ source: [0xD213], NFC: [0xD213], NFD: [0x1110, 0x116D, 0x11AA], NFKC: [0xD213], NFKD: [0x1110, 0x116D, 0x11AA] }, -{ source: [0xD214], NFC: [0xD214], NFD: [0x1110, 0x116D, 0x11AB], NFKC: [0xD214], NFKD: [0x1110, 0x116D, 0x11AB] }, -{ source: [0xD215], NFC: [0xD215], NFD: [0x1110, 0x116D, 0x11AC], NFKC: [0xD215], NFKD: [0x1110, 0x116D, 0x11AC] }, -{ source: [0xD216], NFC: [0xD216], NFD: [0x1110, 0x116D, 0x11AD], NFKC: [0xD216], NFKD: [0x1110, 0x116D, 0x11AD] }, -{ source: [0xD217], NFC: [0xD217], NFD: [0x1110, 0x116D, 0x11AE], NFKC: [0xD217], NFKD: [0x1110, 0x116D, 0x11AE] }, -{ source: [0xD218], NFC: [0xD218], NFD: [0x1110, 0x116D, 0x11AF], NFKC: [0xD218], NFKD: [0x1110, 0x116D, 0x11AF] }, -{ source: [0xD219], NFC: [0xD219], NFD: [0x1110, 0x116D, 0x11B0], NFKC: [0xD219], NFKD: [0x1110, 0x116D, 0x11B0] }, -{ source: [0xD21A], NFC: [0xD21A], NFD: [0x1110, 0x116D, 0x11B1], NFKC: [0xD21A], NFKD: [0x1110, 0x116D, 0x11B1] }, -{ source: [0xD21B], NFC: [0xD21B], NFD: [0x1110, 0x116D, 0x11B2], NFKC: [0xD21B], NFKD: [0x1110, 0x116D, 0x11B2] }, -{ source: [0xD21C], NFC: [0xD21C], NFD: [0x1110, 0x116D, 0x11B3], NFKC: [0xD21C], NFKD: [0x1110, 0x116D, 0x11B3] }, -{ source: [0xD21D], NFC: [0xD21D], NFD: [0x1110, 0x116D, 0x11B4], NFKC: [0xD21D], NFKD: [0x1110, 0x116D, 0x11B4] }, -{ source: [0xD21E], NFC: [0xD21E], NFD: [0x1110, 0x116D, 0x11B5], NFKC: [0xD21E], NFKD: [0x1110, 0x116D, 0x11B5] }, -{ source: [0xD21F], NFC: [0xD21F], NFD: [0x1110, 0x116D, 0x11B6], NFKC: [0xD21F], NFKD: [0x1110, 0x116D, 0x11B6] }, -{ source: [0xD220], NFC: [0xD220], NFD: [0x1110, 0x116D, 0x11B7], NFKC: [0xD220], NFKD: [0x1110, 0x116D, 0x11B7] }, -{ source: [0xD221], NFC: [0xD221], NFD: [0x1110, 0x116D, 0x11B8], NFKC: [0xD221], NFKD: [0x1110, 0x116D, 0x11B8] }, -{ source: [0xD222], NFC: [0xD222], NFD: [0x1110, 0x116D, 0x11B9], NFKC: [0xD222], NFKD: [0x1110, 0x116D, 0x11B9] }, -{ source: [0xD223], NFC: [0xD223], NFD: [0x1110, 0x116D, 0x11BA], NFKC: [0xD223], NFKD: [0x1110, 0x116D, 0x11BA] }, -{ source: [0xD224], NFC: [0xD224], NFD: [0x1110, 0x116D, 0x11BB], NFKC: [0xD224], NFKD: [0x1110, 0x116D, 0x11BB] }, -{ source: [0xD225], NFC: [0xD225], NFD: [0x1110, 0x116D, 0x11BC], NFKC: [0xD225], NFKD: [0x1110, 0x116D, 0x11BC] }, -{ source: [0xD226], NFC: [0xD226], NFD: [0x1110, 0x116D, 0x11BD], NFKC: [0xD226], NFKD: [0x1110, 0x116D, 0x11BD] }, -{ source: [0xD227], NFC: [0xD227], NFD: [0x1110, 0x116D, 0x11BE], NFKC: [0xD227], NFKD: [0x1110, 0x116D, 0x11BE] }, -{ source: [0xD228], NFC: [0xD228], NFD: [0x1110, 0x116D, 0x11BF], NFKC: [0xD228], NFKD: [0x1110, 0x116D, 0x11BF] }, -{ source: [0xD229], NFC: [0xD229], NFD: [0x1110, 0x116D, 0x11C0], NFKC: [0xD229], NFKD: [0x1110, 0x116D, 0x11C0] }, -{ source: [0xD22A], NFC: [0xD22A], NFD: [0x1110, 0x116D, 0x11C1], NFKC: [0xD22A], NFKD: [0x1110, 0x116D, 0x11C1] }, -{ source: [0xD22B], NFC: [0xD22B], NFD: [0x1110, 0x116D, 0x11C2], NFKC: [0xD22B], NFKD: [0x1110, 0x116D, 0x11C2] }, -{ source: [0xD22C], NFC: [0xD22C], NFD: [0x1110, 0x116E], NFKC: [0xD22C], NFKD: [0x1110, 0x116E] }, -{ source: [0xD22D], NFC: [0xD22D], NFD: [0x1110, 0x116E, 0x11A8], NFKC: [0xD22D], NFKD: [0x1110, 0x116E, 0x11A8] }, -{ source: [0xD22E], NFC: [0xD22E], NFD: [0x1110, 0x116E, 0x11A9], NFKC: [0xD22E], NFKD: [0x1110, 0x116E, 0x11A9] }, -{ source: [0xD22F], NFC: [0xD22F], NFD: [0x1110, 0x116E, 0x11AA], NFKC: [0xD22F], NFKD: [0x1110, 0x116E, 0x11AA] }, -{ source: [0xD230], NFC: [0xD230], NFD: [0x1110, 0x116E, 0x11AB], NFKC: [0xD230], NFKD: [0x1110, 0x116E, 0x11AB] }, -{ source: [0xD231], NFC: [0xD231], NFD: [0x1110, 0x116E, 0x11AC], NFKC: [0xD231], NFKD: [0x1110, 0x116E, 0x11AC] }, -{ source: [0xD232], NFC: [0xD232], NFD: [0x1110, 0x116E, 0x11AD], NFKC: [0xD232], NFKD: [0x1110, 0x116E, 0x11AD] }, -{ source: [0xD233], NFC: [0xD233], NFD: [0x1110, 0x116E, 0x11AE], NFKC: [0xD233], NFKD: [0x1110, 0x116E, 0x11AE] }, -{ source: [0xD234], NFC: [0xD234], NFD: [0x1110, 0x116E, 0x11AF], NFKC: [0xD234], NFKD: [0x1110, 0x116E, 0x11AF] }, -{ source: [0xD235], NFC: [0xD235], NFD: [0x1110, 0x116E, 0x11B0], NFKC: [0xD235], NFKD: [0x1110, 0x116E, 0x11B0] }, -{ source: [0xD236], NFC: [0xD236], NFD: [0x1110, 0x116E, 0x11B1], NFKC: [0xD236], NFKD: [0x1110, 0x116E, 0x11B1] }, -{ source: [0xD237], NFC: [0xD237], NFD: [0x1110, 0x116E, 0x11B2], NFKC: [0xD237], NFKD: [0x1110, 0x116E, 0x11B2] }, -{ source: [0xD238], NFC: [0xD238], NFD: [0x1110, 0x116E, 0x11B3], NFKC: [0xD238], NFKD: [0x1110, 0x116E, 0x11B3] }, -{ source: [0xD239], NFC: [0xD239], NFD: [0x1110, 0x116E, 0x11B4], NFKC: [0xD239], NFKD: [0x1110, 0x116E, 0x11B4] }, -{ source: [0xD23A], NFC: [0xD23A], NFD: [0x1110, 0x116E, 0x11B5], NFKC: [0xD23A], NFKD: [0x1110, 0x116E, 0x11B5] }, -{ source: [0xD23B], NFC: [0xD23B], NFD: [0x1110, 0x116E, 0x11B6], NFKC: [0xD23B], NFKD: [0x1110, 0x116E, 0x11B6] }, -{ source: [0xD23C], NFC: [0xD23C], NFD: [0x1110, 0x116E, 0x11B7], NFKC: [0xD23C], NFKD: [0x1110, 0x116E, 0x11B7] }, -{ source: [0xD23D], NFC: [0xD23D], NFD: [0x1110, 0x116E, 0x11B8], NFKC: [0xD23D], NFKD: [0x1110, 0x116E, 0x11B8] }, -{ source: [0xD23E], NFC: [0xD23E], NFD: [0x1110, 0x116E, 0x11B9], NFKC: [0xD23E], NFKD: [0x1110, 0x116E, 0x11B9] }, -{ source: [0xD23F], NFC: [0xD23F], NFD: [0x1110, 0x116E, 0x11BA], NFKC: [0xD23F], NFKD: [0x1110, 0x116E, 0x11BA] }, -{ source: [0xD240], NFC: [0xD240], NFD: [0x1110, 0x116E, 0x11BB], NFKC: [0xD240], NFKD: [0x1110, 0x116E, 0x11BB] }, -{ source: [0xD241], NFC: [0xD241], NFD: [0x1110, 0x116E, 0x11BC], NFKC: [0xD241], NFKD: [0x1110, 0x116E, 0x11BC] }, -{ source: [0xD242], NFC: [0xD242], NFD: [0x1110, 0x116E, 0x11BD], NFKC: [0xD242], NFKD: [0x1110, 0x116E, 0x11BD] }, -{ source: [0xD243], NFC: [0xD243], NFD: [0x1110, 0x116E, 0x11BE], NFKC: [0xD243], NFKD: [0x1110, 0x116E, 0x11BE] }, -{ source: [0xD244], NFC: [0xD244], NFD: [0x1110, 0x116E, 0x11BF], NFKC: [0xD244], NFKD: [0x1110, 0x116E, 0x11BF] }, -{ source: [0xD245], NFC: [0xD245], NFD: [0x1110, 0x116E, 0x11C0], NFKC: [0xD245], NFKD: [0x1110, 0x116E, 0x11C0] }, -{ source: [0xD246], NFC: [0xD246], NFD: [0x1110, 0x116E, 0x11C1], NFKC: [0xD246], NFKD: [0x1110, 0x116E, 0x11C1] }, -{ source: [0xD247], NFC: [0xD247], NFD: [0x1110, 0x116E, 0x11C2], NFKC: [0xD247], NFKD: [0x1110, 0x116E, 0x11C2] }, -{ source: [0xD248], NFC: [0xD248], NFD: [0x1110, 0x116F], NFKC: [0xD248], NFKD: [0x1110, 0x116F] }, -{ source: [0xD249], NFC: [0xD249], NFD: [0x1110, 0x116F, 0x11A8], NFKC: [0xD249], NFKD: [0x1110, 0x116F, 0x11A8] }, -{ source: [0xD24A], NFC: [0xD24A], NFD: [0x1110, 0x116F, 0x11A9], NFKC: [0xD24A], NFKD: [0x1110, 0x116F, 0x11A9] }, -{ source: [0xD24B], NFC: [0xD24B], NFD: [0x1110, 0x116F, 0x11AA], NFKC: [0xD24B], NFKD: [0x1110, 0x116F, 0x11AA] }, -{ source: [0xD24C], NFC: [0xD24C], NFD: [0x1110, 0x116F, 0x11AB], NFKC: [0xD24C], NFKD: [0x1110, 0x116F, 0x11AB] }, -{ source: [0xD24D], NFC: [0xD24D], NFD: [0x1110, 0x116F, 0x11AC], NFKC: [0xD24D], NFKD: [0x1110, 0x116F, 0x11AC] }, -{ source: [0xD24E], NFC: [0xD24E], NFD: [0x1110, 0x116F, 0x11AD], NFKC: [0xD24E], NFKD: [0x1110, 0x116F, 0x11AD] }, -{ source: [0xD24F], NFC: [0xD24F], NFD: [0x1110, 0x116F, 0x11AE], NFKC: [0xD24F], NFKD: [0x1110, 0x116F, 0x11AE] }, -{ source: [0xD250], NFC: [0xD250], NFD: [0x1110, 0x116F, 0x11AF], NFKC: [0xD250], NFKD: [0x1110, 0x116F, 0x11AF] }, -{ source: [0xD251], NFC: [0xD251], NFD: [0x1110, 0x116F, 0x11B0], NFKC: [0xD251], NFKD: [0x1110, 0x116F, 0x11B0] }, -{ source: [0xD252], NFC: [0xD252], NFD: [0x1110, 0x116F, 0x11B1], NFKC: [0xD252], NFKD: [0x1110, 0x116F, 0x11B1] }, -{ source: [0xD253], NFC: [0xD253], NFD: [0x1110, 0x116F, 0x11B2], NFKC: [0xD253], NFKD: [0x1110, 0x116F, 0x11B2] }, -{ source: [0xD254], NFC: [0xD254], NFD: [0x1110, 0x116F, 0x11B3], NFKC: [0xD254], NFKD: [0x1110, 0x116F, 0x11B3] }, -{ source: [0xD255], NFC: [0xD255], NFD: [0x1110, 0x116F, 0x11B4], NFKC: [0xD255], NFKD: [0x1110, 0x116F, 0x11B4] }, -{ source: [0xD256], NFC: [0xD256], NFD: [0x1110, 0x116F, 0x11B5], NFKC: [0xD256], NFKD: [0x1110, 0x116F, 0x11B5] }, -{ source: [0xD257], NFC: [0xD257], NFD: [0x1110, 0x116F, 0x11B6], NFKC: [0xD257], NFKD: [0x1110, 0x116F, 0x11B6] }, -{ source: [0xD258], NFC: [0xD258], NFD: [0x1110, 0x116F, 0x11B7], NFKC: [0xD258], NFKD: [0x1110, 0x116F, 0x11B7] }, -{ source: [0xD259], NFC: [0xD259], NFD: [0x1110, 0x116F, 0x11B8], NFKC: [0xD259], NFKD: [0x1110, 0x116F, 0x11B8] }, -{ source: [0xD25A], NFC: [0xD25A], NFD: [0x1110, 0x116F, 0x11B9], NFKC: [0xD25A], NFKD: [0x1110, 0x116F, 0x11B9] }, -{ source: [0xD25B], NFC: [0xD25B], NFD: [0x1110, 0x116F, 0x11BA], NFKC: [0xD25B], NFKD: [0x1110, 0x116F, 0x11BA] }, -{ source: [0xD25C], NFC: [0xD25C], NFD: [0x1110, 0x116F, 0x11BB], NFKC: [0xD25C], NFKD: [0x1110, 0x116F, 0x11BB] }, -{ source: [0xD25D], NFC: [0xD25D], NFD: [0x1110, 0x116F, 0x11BC], NFKC: [0xD25D], NFKD: [0x1110, 0x116F, 0x11BC] }, -{ source: [0xD25E], NFC: [0xD25E], NFD: [0x1110, 0x116F, 0x11BD], NFKC: [0xD25E], NFKD: [0x1110, 0x116F, 0x11BD] }, -{ source: [0xD25F], NFC: [0xD25F], NFD: [0x1110, 0x116F, 0x11BE], NFKC: [0xD25F], NFKD: [0x1110, 0x116F, 0x11BE] }, -{ source: [0xD260], NFC: [0xD260], NFD: [0x1110, 0x116F, 0x11BF], NFKC: [0xD260], NFKD: [0x1110, 0x116F, 0x11BF] }, -{ source: [0xD261], NFC: [0xD261], NFD: [0x1110, 0x116F, 0x11C0], NFKC: [0xD261], NFKD: [0x1110, 0x116F, 0x11C0] }, -{ source: [0xD262], NFC: [0xD262], NFD: [0x1110, 0x116F, 0x11C1], NFKC: [0xD262], NFKD: [0x1110, 0x116F, 0x11C1] }, -{ source: [0xD263], NFC: [0xD263], NFD: [0x1110, 0x116F, 0x11C2], NFKC: [0xD263], NFKD: [0x1110, 0x116F, 0x11C2] }, -{ source: [0xD264], NFC: [0xD264], NFD: [0x1110, 0x1170], NFKC: [0xD264], NFKD: [0x1110, 0x1170] }, -{ source: [0xD265], NFC: [0xD265], NFD: [0x1110, 0x1170, 0x11A8], NFKC: [0xD265], NFKD: [0x1110, 0x1170, 0x11A8] }, -{ source: [0xD266], NFC: [0xD266], NFD: [0x1110, 0x1170, 0x11A9], NFKC: [0xD266], NFKD: [0x1110, 0x1170, 0x11A9] }, -{ source: [0xD267], NFC: [0xD267], NFD: [0x1110, 0x1170, 0x11AA], NFKC: [0xD267], NFKD: [0x1110, 0x1170, 0x11AA] }, -{ source: [0xD268], NFC: [0xD268], NFD: [0x1110, 0x1170, 0x11AB], NFKC: [0xD268], NFKD: [0x1110, 0x1170, 0x11AB] }, -{ source: [0xD269], NFC: [0xD269], NFD: [0x1110, 0x1170, 0x11AC], NFKC: [0xD269], NFKD: [0x1110, 0x1170, 0x11AC] }, -{ source: [0xD26A], NFC: [0xD26A], NFD: [0x1110, 0x1170, 0x11AD], NFKC: [0xD26A], NFKD: [0x1110, 0x1170, 0x11AD] }, -{ source: [0xD26B], NFC: [0xD26B], NFD: [0x1110, 0x1170, 0x11AE], NFKC: [0xD26B], NFKD: [0x1110, 0x1170, 0x11AE] }, -{ source: [0xD26C], NFC: [0xD26C], NFD: [0x1110, 0x1170, 0x11AF], NFKC: [0xD26C], NFKD: [0x1110, 0x1170, 0x11AF] }, -{ source: [0xD26D], NFC: [0xD26D], NFD: [0x1110, 0x1170, 0x11B0], NFKC: [0xD26D], NFKD: [0x1110, 0x1170, 0x11B0] }, -{ source: [0xD26E], NFC: [0xD26E], NFD: [0x1110, 0x1170, 0x11B1], NFKC: [0xD26E], NFKD: [0x1110, 0x1170, 0x11B1] }, -{ source: [0xD26F], NFC: [0xD26F], NFD: [0x1110, 0x1170, 0x11B2], NFKC: [0xD26F], NFKD: [0x1110, 0x1170, 0x11B2] }, -{ source: [0xD270], NFC: [0xD270], NFD: [0x1110, 0x1170, 0x11B3], NFKC: [0xD270], NFKD: [0x1110, 0x1170, 0x11B3] }, -{ source: [0xD271], NFC: [0xD271], NFD: [0x1110, 0x1170, 0x11B4], NFKC: [0xD271], NFKD: [0x1110, 0x1170, 0x11B4] }, -{ source: [0xD272], NFC: [0xD272], NFD: [0x1110, 0x1170, 0x11B5], NFKC: [0xD272], NFKD: [0x1110, 0x1170, 0x11B5] }, -{ source: [0xD273], NFC: [0xD273], NFD: [0x1110, 0x1170, 0x11B6], NFKC: [0xD273], NFKD: [0x1110, 0x1170, 0x11B6] }, -{ source: [0xD274], NFC: [0xD274], NFD: [0x1110, 0x1170, 0x11B7], NFKC: [0xD274], NFKD: [0x1110, 0x1170, 0x11B7] }, -{ source: [0xD275], NFC: [0xD275], NFD: [0x1110, 0x1170, 0x11B8], NFKC: [0xD275], NFKD: [0x1110, 0x1170, 0x11B8] }, -{ source: [0xD276], NFC: [0xD276], NFD: [0x1110, 0x1170, 0x11B9], NFKC: [0xD276], NFKD: [0x1110, 0x1170, 0x11B9] }, -{ source: [0xD277], NFC: [0xD277], NFD: [0x1110, 0x1170, 0x11BA], NFKC: [0xD277], NFKD: [0x1110, 0x1170, 0x11BA] }, -{ source: [0xD278], NFC: [0xD278], NFD: [0x1110, 0x1170, 0x11BB], NFKC: [0xD278], NFKD: [0x1110, 0x1170, 0x11BB] }, -{ source: [0xD279], NFC: [0xD279], NFD: [0x1110, 0x1170, 0x11BC], NFKC: [0xD279], NFKD: [0x1110, 0x1170, 0x11BC] }, -{ source: [0xD27A], NFC: [0xD27A], NFD: [0x1110, 0x1170, 0x11BD], NFKC: [0xD27A], NFKD: [0x1110, 0x1170, 0x11BD] }, -{ source: [0xD27B], NFC: [0xD27B], NFD: [0x1110, 0x1170, 0x11BE], NFKC: [0xD27B], NFKD: [0x1110, 0x1170, 0x11BE] }, -{ source: [0xD27C], NFC: [0xD27C], NFD: [0x1110, 0x1170, 0x11BF], NFKC: [0xD27C], NFKD: [0x1110, 0x1170, 0x11BF] }, -{ source: [0xD27D], NFC: [0xD27D], NFD: [0x1110, 0x1170, 0x11C0], NFKC: [0xD27D], NFKD: [0x1110, 0x1170, 0x11C0] }, -{ source: [0xD27E], NFC: [0xD27E], NFD: [0x1110, 0x1170, 0x11C1], NFKC: [0xD27E], NFKD: [0x1110, 0x1170, 0x11C1] }, -{ source: [0xD27F], NFC: [0xD27F], NFD: [0x1110, 0x1170, 0x11C2], NFKC: [0xD27F], NFKD: [0x1110, 0x1170, 0x11C2] }, -{ source: [0xD280], NFC: [0xD280], NFD: [0x1110, 0x1171], NFKC: [0xD280], NFKD: [0x1110, 0x1171] }, -{ source: [0xD281], NFC: [0xD281], NFD: [0x1110, 0x1171, 0x11A8], NFKC: [0xD281], NFKD: [0x1110, 0x1171, 0x11A8] }, -{ source: [0xD282], NFC: [0xD282], NFD: [0x1110, 0x1171, 0x11A9], NFKC: [0xD282], NFKD: [0x1110, 0x1171, 0x11A9] }, -{ source: [0xD283], NFC: [0xD283], NFD: [0x1110, 0x1171, 0x11AA], NFKC: [0xD283], NFKD: [0x1110, 0x1171, 0x11AA] }, -{ source: [0xD284], NFC: [0xD284], NFD: [0x1110, 0x1171, 0x11AB], NFKC: [0xD284], NFKD: [0x1110, 0x1171, 0x11AB] }, -{ source: [0xD285], NFC: [0xD285], NFD: [0x1110, 0x1171, 0x11AC], NFKC: [0xD285], NFKD: [0x1110, 0x1171, 0x11AC] }, -{ source: [0xD286], NFC: [0xD286], NFD: [0x1110, 0x1171, 0x11AD], NFKC: [0xD286], NFKD: [0x1110, 0x1171, 0x11AD] }, -{ source: [0xD287], NFC: [0xD287], NFD: [0x1110, 0x1171, 0x11AE], NFKC: [0xD287], NFKD: [0x1110, 0x1171, 0x11AE] }, -{ source: [0xD288], NFC: [0xD288], NFD: [0x1110, 0x1171, 0x11AF], NFKC: [0xD288], NFKD: [0x1110, 0x1171, 0x11AF] }, -{ source: [0xD289], NFC: [0xD289], NFD: [0x1110, 0x1171, 0x11B0], NFKC: [0xD289], NFKD: [0x1110, 0x1171, 0x11B0] }, -{ source: [0xD28A], NFC: [0xD28A], NFD: [0x1110, 0x1171, 0x11B1], NFKC: [0xD28A], NFKD: [0x1110, 0x1171, 0x11B1] }, -{ source: [0xD28B], NFC: [0xD28B], NFD: [0x1110, 0x1171, 0x11B2], NFKC: [0xD28B], NFKD: [0x1110, 0x1171, 0x11B2] }, -{ source: [0xD28C], NFC: [0xD28C], NFD: [0x1110, 0x1171, 0x11B3], NFKC: [0xD28C], NFKD: [0x1110, 0x1171, 0x11B3] }, -{ source: [0xD28D], NFC: [0xD28D], NFD: [0x1110, 0x1171, 0x11B4], NFKC: [0xD28D], NFKD: [0x1110, 0x1171, 0x11B4] }, -{ source: [0xD28E], NFC: [0xD28E], NFD: [0x1110, 0x1171, 0x11B5], NFKC: [0xD28E], NFKD: [0x1110, 0x1171, 0x11B5] }, -{ source: [0xD28F], NFC: [0xD28F], NFD: [0x1110, 0x1171, 0x11B6], NFKC: [0xD28F], NFKD: [0x1110, 0x1171, 0x11B6] }, -{ source: [0xD290], NFC: [0xD290], NFD: [0x1110, 0x1171, 0x11B7], NFKC: [0xD290], NFKD: [0x1110, 0x1171, 0x11B7] }, -{ source: [0xD291], NFC: [0xD291], NFD: [0x1110, 0x1171, 0x11B8], NFKC: [0xD291], NFKD: [0x1110, 0x1171, 0x11B8] }, -{ source: [0xD292], NFC: [0xD292], NFD: [0x1110, 0x1171, 0x11B9], NFKC: [0xD292], NFKD: [0x1110, 0x1171, 0x11B9] }, -{ source: [0xD293], NFC: [0xD293], NFD: [0x1110, 0x1171, 0x11BA], NFKC: [0xD293], NFKD: [0x1110, 0x1171, 0x11BA] }, -{ source: [0xD294], NFC: [0xD294], NFD: [0x1110, 0x1171, 0x11BB], NFKC: [0xD294], NFKD: [0x1110, 0x1171, 0x11BB] }, -{ source: [0xD295], NFC: [0xD295], NFD: [0x1110, 0x1171, 0x11BC], NFKC: [0xD295], NFKD: [0x1110, 0x1171, 0x11BC] }, -{ source: [0xD296], NFC: [0xD296], NFD: [0x1110, 0x1171, 0x11BD], NFKC: [0xD296], NFKD: [0x1110, 0x1171, 0x11BD] }, -{ source: [0xD297], NFC: [0xD297], NFD: [0x1110, 0x1171, 0x11BE], NFKC: [0xD297], NFKD: [0x1110, 0x1171, 0x11BE] }, -{ source: [0xD298], NFC: [0xD298], NFD: [0x1110, 0x1171, 0x11BF], NFKC: [0xD298], NFKD: [0x1110, 0x1171, 0x11BF] }, -{ source: [0xD299], NFC: [0xD299], NFD: [0x1110, 0x1171, 0x11C0], NFKC: [0xD299], NFKD: [0x1110, 0x1171, 0x11C0] }, -{ source: [0xD29A], NFC: [0xD29A], NFD: [0x1110, 0x1171, 0x11C1], NFKC: [0xD29A], NFKD: [0x1110, 0x1171, 0x11C1] }, -{ source: [0xD29B], NFC: [0xD29B], NFD: [0x1110, 0x1171, 0x11C2], NFKC: [0xD29B], NFKD: [0x1110, 0x1171, 0x11C2] }, -{ source: [0xD29C], NFC: [0xD29C], NFD: [0x1110, 0x1172], NFKC: [0xD29C], NFKD: [0x1110, 0x1172] }, -{ source: [0xD29D], NFC: [0xD29D], NFD: [0x1110, 0x1172, 0x11A8], NFKC: [0xD29D], NFKD: [0x1110, 0x1172, 0x11A8] }, -{ source: [0xD29E], NFC: [0xD29E], NFD: [0x1110, 0x1172, 0x11A9], NFKC: [0xD29E], NFKD: [0x1110, 0x1172, 0x11A9] }, -{ source: [0xD29F], NFC: [0xD29F], NFD: [0x1110, 0x1172, 0x11AA], NFKC: [0xD29F], NFKD: [0x1110, 0x1172, 0x11AA] }, -{ source: [0xD2A0], NFC: [0xD2A0], NFD: [0x1110, 0x1172, 0x11AB], NFKC: [0xD2A0], NFKD: [0x1110, 0x1172, 0x11AB] }, -{ source: [0xD2A1], NFC: [0xD2A1], NFD: [0x1110, 0x1172, 0x11AC], NFKC: [0xD2A1], NFKD: [0x1110, 0x1172, 0x11AC] }, -{ source: [0xD2A2], NFC: [0xD2A2], NFD: [0x1110, 0x1172, 0x11AD], NFKC: [0xD2A2], NFKD: [0x1110, 0x1172, 0x11AD] }, -{ source: [0xD2A3], NFC: [0xD2A3], NFD: [0x1110, 0x1172, 0x11AE], NFKC: [0xD2A3], NFKD: [0x1110, 0x1172, 0x11AE] }, -{ source: [0xD2A4], NFC: [0xD2A4], NFD: [0x1110, 0x1172, 0x11AF], NFKC: [0xD2A4], NFKD: [0x1110, 0x1172, 0x11AF] }, -{ source: [0xD2A5], NFC: [0xD2A5], NFD: [0x1110, 0x1172, 0x11B0], NFKC: [0xD2A5], NFKD: [0x1110, 0x1172, 0x11B0] }, -{ source: [0xD2A6], NFC: [0xD2A6], NFD: [0x1110, 0x1172, 0x11B1], NFKC: [0xD2A6], NFKD: [0x1110, 0x1172, 0x11B1] }, -{ source: [0xD2A7], NFC: [0xD2A7], NFD: [0x1110, 0x1172, 0x11B2], NFKC: [0xD2A7], NFKD: [0x1110, 0x1172, 0x11B2] }, -{ source: [0xD2A8], NFC: [0xD2A8], NFD: [0x1110, 0x1172, 0x11B3], NFKC: [0xD2A8], NFKD: [0x1110, 0x1172, 0x11B3] }, -{ source: [0xD2A9], NFC: [0xD2A9], NFD: [0x1110, 0x1172, 0x11B4], NFKC: [0xD2A9], NFKD: [0x1110, 0x1172, 0x11B4] }, -{ source: [0xD2AA], NFC: [0xD2AA], NFD: [0x1110, 0x1172, 0x11B5], NFKC: [0xD2AA], NFKD: [0x1110, 0x1172, 0x11B5] }, -{ source: [0xD2AB], NFC: [0xD2AB], NFD: [0x1110, 0x1172, 0x11B6], NFKC: [0xD2AB], NFKD: [0x1110, 0x1172, 0x11B6] }, -{ source: [0xD2AC], NFC: [0xD2AC], NFD: [0x1110, 0x1172, 0x11B7], NFKC: [0xD2AC], NFKD: [0x1110, 0x1172, 0x11B7] }, -{ source: [0xD2AD], NFC: [0xD2AD], NFD: [0x1110, 0x1172, 0x11B8], NFKC: [0xD2AD], NFKD: [0x1110, 0x1172, 0x11B8] }, -{ source: [0xD2AE], NFC: [0xD2AE], NFD: [0x1110, 0x1172, 0x11B9], NFKC: [0xD2AE], NFKD: [0x1110, 0x1172, 0x11B9] }, -{ source: [0xD2AF], NFC: [0xD2AF], NFD: [0x1110, 0x1172, 0x11BA], NFKC: [0xD2AF], NFKD: [0x1110, 0x1172, 0x11BA] }, -{ source: [0xD2B0], NFC: [0xD2B0], NFD: [0x1110, 0x1172, 0x11BB], NFKC: [0xD2B0], NFKD: [0x1110, 0x1172, 0x11BB] }, -{ source: [0xD2B1], NFC: [0xD2B1], NFD: [0x1110, 0x1172, 0x11BC], NFKC: [0xD2B1], NFKD: [0x1110, 0x1172, 0x11BC] }, -{ source: [0xD2B2], NFC: [0xD2B2], NFD: [0x1110, 0x1172, 0x11BD], NFKC: [0xD2B2], NFKD: [0x1110, 0x1172, 0x11BD] }, -{ source: [0xD2B3], NFC: [0xD2B3], NFD: [0x1110, 0x1172, 0x11BE], NFKC: [0xD2B3], NFKD: [0x1110, 0x1172, 0x11BE] }, -{ source: [0xD2B4], NFC: [0xD2B4], NFD: [0x1110, 0x1172, 0x11BF], NFKC: [0xD2B4], NFKD: [0x1110, 0x1172, 0x11BF] }, -{ source: [0xD2B5], NFC: [0xD2B5], NFD: [0x1110, 0x1172, 0x11C0], NFKC: [0xD2B5], NFKD: [0x1110, 0x1172, 0x11C0] }, -{ source: [0xD2B6], NFC: [0xD2B6], NFD: [0x1110, 0x1172, 0x11C1], NFKC: [0xD2B6], NFKD: [0x1110, 0x1172, 0x11C1] }, -{ source: [0xD2B7], NFC: [0xD2B7], NFD: [0x1110, 0x1172, 0x11C2], NFKC: [0xD2B7], NFKD: [0x1110, 0x1172, 0x11C2] }, -{ source: [0xD2B8], NFC: [0xD2B8], NFD: [0x1110, 0x1173], NFKC: [0xD2B8], NFKD: [0x1110, 0x1173] }, -{ source: [0xD2B9], NFC: [0xD2B9], NFD: [0x1110, 0x1173, 0x11A8], NFKC: [0xD2B9], NFKD: [0x1110, 0x1173, 0x11A8] }, -{ source: [0xD2BA], NFC: [0xD2BA], NFD: [0x1110, 0x1173, 0x11A9], NFKC: [0xD2BA], NFKD: [0x1110, 0x1173, 0x11A9] }, -{ source: [0xD2BB], NFC: [0xD2BB], NFD: [0x1110, 0x1173, 0x11AA], NFKC: [0xD2BB], NFKD: [0x1110, 0x1173, 0x11AA] }, -{ source: [0xD2BC], NFC: [0xD2BC], NFD: [0x1110, 0x1173, 0x11AB], NFKC: [0xD2BC], NFKD: [0x1110, 0x1173, 0x11AB] }, -{ source: [0xD2BD], NFC: [0xD2BD], NFD: [0x1110, 0x1173, 0x11AC], NFKC: [0xD2BD], NFKD: [0x1110, 0x1173, 0x11AC] }, -{ source: [0xD2BE], NFC: [0xD2BE], NFD: [0x1110, 0x1173, 0x11AD], NFKC: [0xD2BE], NFKD: [0x1110, 0x1173, 0x11AD] }, -{ source: [0xD2BF], NFC: [0xD2BF], NFD: [0x1110, 0x1173, 0x11AE], NFKC: [0xD2BF], NFKD: [0x1110, 0x1173, 0x11AE] }, -{ source: [0xD2C0], NFC: [0xD2C0], NFD: [0x1110, 0x1173, 0x11AF], NFKC: [0xD2C0], NFKD: [0x1110, 0x1173, 0x11AF] }, -{ source: [0xD2C1], NFC: [0xD2C1], NFD: [0x1110, 0x1173, 0x11B0], NFKC: [0xD2C1], NFKD: [0x1110, 0x1173, 0x11B0] }, -{ source: [0xD2C2], NFC: [0xD2C2], NFD: [0x1110, 0x1173, 0x11B1], NFKC: [0xD2C2], NFKD: [0x1110, 0x1173, 0x11B1] }, -{ source: [0xD2C3], NFC: [0xD2C3], NFD: [0x1110, 0x1173, 0x11B2], NFKC: [0xD2C3], NFKD: [0x1110, 0x1173, 0x11B2] }, -{ source: [0xD2C4], NFC: [0xD2C4], NFD: [0x1110, 0x1173, 0x11B3], NFKC: [0xD2C4], NFKD: [0x1110, 0x1173, 0x11B3] }, -{ source: [0xD2C5], NFC: [0xD2C5], NFD: [0x1110, 0x1173, 0x11B4], NFKC: [0xD2C5], NFKD: [0x1110, 0x1173, 0x11B4] }, -{ source: [0xD2C6], NFC: [0xD2C6], NFD: [0x1110, 0x1173, 0x11B5], NFKC: [0xD2C6], NFKD: [0x1110, 0x1173, 0x11B5] }, -{ source: [0xD2C7], NFC: [0xD2C7], NFD: [0x1110, 0x1173, 0x11B6], NFKC: [0xD2C7], NFKD: [0x1110, 0x1173, 0x11B6] }, -{ source: [0xD2C8], NFC: [0xD2C8], NFD: [0x1110, 0x1173, 0x11B7], NFKC: [0xD2C8], NFKD: [0x1110, 0x1173, 0x11B7] }, -{ source: [0xD2C9], NFC: [0xD2C9], NFD: [0x1110, 0x1173, 0x11B8], NFKC: [0xD2C9], NFKD: [0x1110, 0x1173, 0x11B8] }, -{ source: [0xD2CA], NFC: [0xD2CA], NFD: [0x1110, 0x1173, 0x11B9], NFKC: [0xD2CA], NFKD: [0x1110, 0x1173, 0x11B9] }, -{ source: [0xD2CB], NFC: [0xD2CB], NFD: [0x1110, 0x1173, 0x11BA], NFKC: [0xD2CB], NFKD: [0x1110, 0x1173, 0x11BA] }, -{ source: [0xD2CC], NFC: [0xD2CC], NFD: [0x1110, 0x1173, 0x11BB], NFKC: [0xD2CC], NFKD: [0x1110, 0x1173, 0x11BB] }, -{ source: [0xD2CD], NFC: [0xD2CD], NFD: [0x1110, 0x1173, 0x11BC], NFKC: [0xD2CD], NFKD: [0x1110, 0x1173, 0x11BC] }, -{ source: [0xD2CE], NFC: [0xD2CE], NFD: [0x1110, 0x1173, 0x11BD], NFKC: [0xD2CE], NFKD: [0x1110, 0x1173, 0x11BD] }, -{ source: [0xD2CF], NFC: [0xD2CF], NFD: [0x1110, 0x1173, 0x11BE], NFKC: [0xD2CF], NFKD: [0x1110, 0x1173, 0x11BE] }, -{ source: [0xD2D0], NFC: [0xD2D0], NFD: [0x1110, 0x1173, 0x11BF], NFKC: [0xD2D0], NFKD: [0x1110, 0x1173, 0x11BF] }, -{ source: [0xD2D1], NFC: [0xD2D1], NFD: [0x1110, 0x1173, 0x11C0], NFKC: [0xD2D1], NFKD: [0x1110, 0x1173, 0x11C0] }, -{ source: [0xD2D2], NFC: [0xD2D2], NFD: [0x1110, 0x1173, 0x11C1], NFKC: [0xD2D2], NFKD: [0x1110, 0x1173, 0x11C1] }, -{ source: [0xD2D3], NFC: [0xD2D3], NFD: [0x1110, 0x1173, 0x11C2], NFKC: [0xD2D3], NFKD: [0x1110, 0x1173, 0x11C2] }, -{ source: [0xD2D4], NFC: [0xD2D4], NFD: [0x1110, 0x1174], NFKC: [0xD2D4], NFKD: [0x1110, 0x1174] }, -{ source: [0xD2D5], NFC: [0xD2D5], NFD: [0x1110, 0x1174, 0x11A8], NFKC: [0xD2D5], NFKD: [0x1110, 0x1174, 0x11A8] }, -{ source: [0xD2D6], NFC: [0xD2D6], NFD: [0x1110, 0x1174, 0x11A9], NFKC: [0xD2D6], NFKD: [0x1110, 0x1174, 0x11A9] }, -{ source: [0xD2D7], NFC: [0xD2D7], NFD: [0x1110, 0x1174, 0x11AA], NFKC: [0xD2D7], NFKD: [0x1110, 0x1174, 0x11AA] }, -{ source: [0xD2D8], NFC: [0xD2D8], NFD: [0x1110, 0x1174, 0x11AB], NFKC: [0xD2D8], NFKD: [0x1110, 0x1174, 0x11AB] }, -{ source: [0xD2D9], NFC: [0xD2D9], NFD: [0x1110, 0x1174, 0x11AC], NFKC: [0xD2D9], NFKD: [0x1110, 0x1174, 0x11AC] }, -{ source: [0xD2DA], NFC: [0xD2DA], NFD: [0x1110, 0x1174, 0x11AD], NFKC: [0xD2DA], NFKD: [0x1110, 0x1174, 0x11AD] }, -{ source: [0xD2DB], NFC: [0xD2DB], NFD: [0x1110, 0x1174, 0x11AE], NFKC: [0xD2DB], NFKD: [0x1110, 0x1174, 0x11AE] }, -{ source: [0xD2DC], NFC: [0xD2DC], NFD: [0x1110, 0x1174, 0x11AF], NFKC: [0xD2DC], NFKD: [0x1110, 0x1174, 0x11AF] }, -{ source: [0xD2DD], NFC: [0xD2DD], NFD: [0x1110, 0x1174, 0x11B0], NFKC: [0xD2DD], NFKD: [0x1110, 0x1174, 0x11B0] }, -{ source: [0xD2DE], NFC: [0xD2DE], NFD: [0x1110, 0x1174, 0x11B1], NFKC: [0xD2DE], NFKD: [0x1110, 0x1174, 0x11B1] }, -{ source: [0xD2DF], NFC: [0xD2DF], NFD: [0x1110, 0x1174, 0x11B2], NFKC: [0xD2DF], NFKD: [0x1110, 0x1174, 0x11B2] }, -{ source: [0xD2E0], NFC: [0xD2E0], NFD: [0x1110, 0x1174, 0x11B3], NFKC: [0xD2E0], NFKD: [0x1110, 0x1174, 0x11B3] }, -{ source: [0xD2E1], NFC: [0xD2E1], NFD: [0x1110, 0x1174, 0x11B4], NFKC: [0xD2E1], NFKD: [0x1110, 0x1174, 0x11B4] }, -{ source: [0xD2E2], NFC: [0xD2E2], NFD: [0x1110, 0x1174, 0x11B5], NFKC: [0xD2E2], NFKD: [0x1110, 0x1174, 0x11B5] }, -{ source: [0xD2E3], NFC: [0xD2E3], NFD: [0x1110, 0x1174, 0x11B6], NFKC: [0xD2E3], NFKD: [0x1110, 0x1174, 0x11B6] }, -{ source: [0xD2E4], NFC: [0xD2E4], NFD: [0x1110, 0x1174, 0x11B7], NFKC: [0xD2E4], NFKD: [0x1110, 0x1174, 0x11B7] }, -{ source: [0xD2E5], NFC: [0xD2E5], NFD: [0x1110, 0x1174, 0x11B8], NFKC: [0xD2E5], NFKD: [0x1110, 0x1174, 0x11B8] }, -{ source: [0xD2E6], NFC: [0xD2E6], NFD: [0x1110, 0x1174, 0x11B9], NFKC: [0xD2E6], NFKD: [0x1110, 0x1174, 0x11B9] }, -{ source: [0xD2E7], NFC: [0xD2E7], NFD: [0x1110, 0x1174, 0x11BA], NFKC: [0xD2E7], NFKD: [0x1110, 0x1174, 0x11BA] }, -{ source: [0xD2E8], NFC: [0xD2E8], NFD: [0x1110, 0x1174, 0x11BB], NFKC: [0xD2E8], NFKD: [0x1110, 0x1174, 0x11BB] }, -{ source: [0xD2E9], NFC: [0xD2E9], NFD: [0x1110, 0x1174, 0x11BC], NFKC: [0xD2E9], NFKD: [0x1110, 0x1174, 0x11BC] }, -{ source: [0xD2EA], NFC: [0xD2EA], NFD: [0x1110, 0x1174, 0x11BD], NFKC: [0xD2EA], NFKD: [0x1110, 0x1174, 0x11BD] }, -{ source: [0xD2EB], NFC: [0xD2EB], NFD: [0x1110, 0x1174, 0x11BE], NFKC: [0xD2EB], NFKD: [0x1110, 0x1174, 0x11BE] }, -{ source: [0xD2EC], NFC: [0xD2EC], NFD: [0x1110, 0x1174, 0x11BF], NFKC: [0xD2EC], NFKD: [0x1110, 0x1174, 0x11BF] }, -{ source: [0xD2ED], NFC: [0xD2ED], NFD: [0x1110, 0x1174, 0x11C0], NFKC: [0xD2ED], NFKD: [0x1110, 0x1174, 0x11C0] }, -{ source: [0xD2EE], NFC: [0xD2EE], NFD: [0x1110, 0x1174, 0x11C1], NFKC: [0xD2EE], NFKD: [0x1110, 0x1174, 0x11C1] }, -{ source: [0xD2EF], NFC: [0xD2EF], NFD: [0x1110, 0x1174, 0x11C2], NFKC: [0xD2EF], NFKD: [0x1110, 0x1174, 0x11C2] }, -{ source: [0xD2F0], NFC: [0xD2F0], NFD: [0x1110, 0x1175], NFKC: [0xD2F0], NFKD: [0x1110, 0x1175] }, -{ source: [0xD2F1], NFC: [0xD2F1], NFD: [0x1110, 0x1175, 0x11A8], NFKC: [0xD2F1], NFKD: [0x1110, 0x1175, 0x11A8] }, -{ source: [0xD2F2], NFC: [0xD2F2], NFD: [0x1110, 0x1175, 0x11A9], NFKC: [0xD2F2], NFKD: [0x1110, 0x1175, 0x11A9] }, -{ source: [0xD2F3], NFC: [0xD2F3], NFD: [0x1110, 0x1175, 0x11AA], NFKC: [0xD2F3], NFKD: [0x1110, 0x1175, 0x11AA] }, -{ source: [0xD2F4], NFC: [0xD2F4], NFD: [0x1110, 0x1175, 0x11AB], NFKC: [0xD2F4], NFKD: [0x1110, 0x1175, 0x11AB] }, -{ source: [0xD2F5], NFC: [0xD2F5], NFD: [0x1110, 0x1175, 0x11AC], NFKC: [0xD2F5], NFKD: [0x1110, 0x1175, 0x11AC] }, -{ source: [0xD2F6], NFC: [0xD2F6], NFD: [0x1110, 0x1175, 0x11AD], NFKC: [0xD2F6], NFKD: [0x1110, 0x1175, 0x11AD] }, -{ source: [0xD2F7], NFC: [0xD2F7], NFD: [0x1110, 0x1175, 0x11AE], NFKC: [0xD2F7], NFKD: [0x1110, 0x1175, 0x11AE] }, -{ source: [0xD2F8], NFC: [0xD2F8], NFD: [0x1110, 0x1175, 0x11AF], NFKC: [0xD2F8], NFKD: [0x1110, 0x1175, 0x11AF] }, -{ source: [0xD2F9], NFC: [0xD2F9], NFD: [0x1110, 0x1175, 0x11B0], NFKC: [0xD2F9], NFKD: [0x1110, 0x1175, 0x11B0] }, -{ source: [0xD2FA], NFC: [0xD2FA], NFD: [0x1110, 0x1175, 0x11B1], NFKC: [0xD2FA], NFKD: [0x1110, 0x1175, 0x11B1] }, -{ source: [0xD2FB], NFC: [0xD2FB], NFD: [0x1110, 0x1175, 0x11B2], NFKC: [0xD2FB], NFKD: [0x1110, 0x1175, 0x11B2] }, -{ source: [0xD2FC], NFC: [0xD2FC], NFD: [0x1110, 0x1175, 0x11B3], NFKC: [0xD2FC], NFKD: [0x1110, 0x1175, 0x11B3] }, -{ source: [0xD2FD], NFC: [0xD2FD], NFD: [0x1110, 0x1175, 0x11B4], NFKC: [0xD2FD], NFKD: [0x1110, 0x1175, 0x11B4] }, -{ source: [0xD2FE], NFC: [0xD2FE], NFD: [0x1110, 0x1175, 0x11B5], NFKC: [0xD2FE], NFKD: [0x1110, 0x1175, 0x11B5] }, -{ source: [0xD2FF], NFC: [0xD2FF], NFD: [0x1110, 0x1175, 0x11B6], NFKC: [0xD2FF], NFKD: [0x1110, 0x1175, 0x11B6] }, -{ source: [0xD300], NFC: [0xD300], NFD: [0x1110, 0x1175, 0x11B7], NFKC: [0xD300], NFKD: [0x1110, 0x1175, 0x11B7] }, -{ source: [0xD301], NFC: [0xD301], NFD: [0x1110, 0x1175, 0x11B8], NFKC: [0xD301], NFKD: [0x1110, 0x1175, 0x11B8] }, -{ source: [0xD302], NFC: [0xD302], NFD: [0x1110, 0x1175, 0x11B9], NFKC: [0xD302], NFKD: [0x1110, 0x1175, 0x11B9] }, -{ source: [0xD303], NFC: [0xD303], NFD: [0x1110, 0x1175, 0x11BA], NFKC: [0xD303], NFKD: [0x1110, 0x1175, 0x11BA] }, -{ source: [0xD304], NFC: [0xD304], NFD: [0x1110, 0x1175, 0x11BB], NFKC: [0xD304], NFKD: [0x1110, 0x1175, 0x11BB] }, -{ source: [0xD305], NFC: [0xD305], NFD: [0x1110, 0x1175, 0x11BC], NFKC: [0xD305], NFKD: [0x1110, 0x1175, 0x11BC] }, -{ source: [0xD306], NFC: [0xD306], NFD: [0x1110, 0x1175, 0x11BD], NFKC: [0xD306], NFKD: [0x1110, 0x1175, 0x11BD] }, -{ source: [0xD307], NFC: [0xD307], NFD: [0x1110, 0x1175, 0x11BE], NFKC: [0xD307], NFKD: [0x1110, 0x1175, 0x11BE] }, -{ source: [0xD308], NFC: [0xD308], NFD: [0x1110, 0x1175, 0x11BF], NFKC: [0xD308], NFKD: [0x1110, 0x1175, 0x11BF] }, -{ source: [0xD309], NFC: [0xD309], NFD: [0x1110, 0x1175, 0x11C0], NFKC: [0xD309], NFKD: [0x1110, 0x1175, 0x11C0] }, -{ source: [0xD30A], NFC: [0xD30A], NFD: [0x1110, 0x1175, 0x11C1], NFKC: [0xD30A], NFKD: [0x1110, 0x1175, 0x11C1] }, -{ source: [0xD30B], NFC: [0xD30B], NFD: [0x1110, 0x1175, 0x11C2], NFKC: [0xD30B], NFKD: [0x1110, 0x1175, 0x11C2] }, -{ source: [0xD30C], NFC: [0xD30C], NFD: [0x1111, 0x1161], NFKC: [0xD30C], NFKD: [0x1111, 0x1161] }, -{ source: [0xD30D], NFC: [0xD30D], NFD: [0x1111, 0x1161, 0x11A8], NFKC: [0xD30D], NFKD: [0x1111, 0x1161, 0x11A8] }, -{ source: [0xD30E], NFC: [0xD30E], NFD: [0x1111, 0x1161, 0x11A9], NFKC: [0xD30E], NFKD: [0x1111, 0x1161, 0x11A9] }, -{ source: [0xD30F], NFC: [0xD30F], NFD: [0x1111, 0x1161, 0x11AA], NFKC: [0xD30F], NFKD: [0x1111, 0x1161, 0x11AA] }, -{ source: [0xD310], NFC: [0xD310], NFD: [0x1111, 0x1161, 0x11AB], NFKC: [0xD310], NFKD: [0x1111, 0x1161, 0x11AB] }, -{ source: [0xD311], NFC: [0xD311], NFD: [0x1111, 0x1161, 0x11AC], NFKC: [0xD311], NFKD: [0x1111, 0x1161, 0x11AC] }, -{ source: [0xD312], NFC: [0xD312], NFD: [0x1111, 0x1161, 0x11AD], NFKC: [0xD312], NFKD: [0x1111, 0x1161, 0x11AD] }, -{ source: [0xD313], NFC: [0xD313], NFD: [0x1111, 0x1161, 0x11AE], NFKC: [0xD313], NFKD: [0x1111, 0x1161, 0x11AE] }, -{ source: [0xD314], NFC: [0xD314], NFD: [0x1111, 0x1161, 0x11AF], NFKC: [0xD314], NFKD: [0x1111, 0x1161, 0x11AF] }, -{ source: [0xD315], NFC: [0xD315], NFD: [0x1111, 0x1161, 0x11B0], NFKC: [0xD315], NFKD: [0x1111, 0x1161, 0x11B0] }, -{ source: [0xD316], NFC: [0xD316], NFD: [0x1111, 0x1161, 0x11B1], NFKC: [0xD316], NFKD: [0x1111, 0x1161, 0x11B1] }, -{ source: [0xD317], NFC: [0xD317], NFD: [0x1111, 0x1161, 0x11B2], NFKC: [0xD317], NFKD: [0x1111, 0x1161, 0x11B2] }, -{ source: [0xD318], NFC: [0xD318], NFD: [0x1111, 0x1161, 0x11B3], NFKC: [0xD318], NFKD: [0x1111, 0x1161, 0x11B3] }, -{ source: [0xD319], NFC: [0xD319], NFD: [0x1111, 0x1161, 0x11B4], NFKC: [0xD319], NFKD: [0x1111, 0x1161, 0x11B4] }, -{ source: [0xD31A], NFC: [0xD31A], NFD: [0x1111, 0x1161, 0x11B5], NFKC: [0xD31A], NFKD: [0x1111, 0x1161, 0x11B5] }, -{ source: [0xD31B], NFC: [0xD31B], NFD: [0x1111, 0x1161, 0x11B6], NFKC: [0xD31B], NFKD: [0x1111, 0x1161, 0x11B6] }, -{ source: [0xD31C], NFC: [0xD31C], NFD: [0x1111, 0x1161, 0x11B7], NFKC: [0xD31C], NFKD: [0x1111, 0x1161, 0x11B7] }, -{ source: [0xD31D], NFC: [0xD31D], NFD: [0x1111, 0x1161, 0x11B8], NFKC: [0xD31D], NFKD: [0x1111, 0x1161, 0x11B8] }, -{ source: [0xD31E], NFC: [0xD31E], NFD: [0x1111, 0x1161, 0x11B9], NFKC: [0xD31E], NFKD: [0x1111, 0x1161, 0x11B9] }, -{ source: [0xD31F], NFC: [0xD31F], NFD: [0x1111, 0x1161, 0x11BA], NFKC: [0xD31F], NFKD: [0x1111, 0x1161, 0x11BA] }, -{ source: [0xD320], NFC: [0xD320], NFD: [0x1111, 0x1161, 0x11BB], NFKC: [0xD320], NFKD: [0x1111, 0x1161, 0x11BB] }, -{ source: [0xD321], NFC: [0xD321], NFD: [0x1111, 0x1161, 0x11BC], NFKC: [0xD321], NFKD: [0x1111, 0x1161, 0x11BC] }, -{ source: [0xD322], NFC: [0xD322], NFD: [0x1111, 0x1161, 0x11BD], NFKC: [0xD322], NFKD: [0x1111, 0x1161, 0x11BD] }, -{ source: [0xD323], NFC: [0xD323], NFD: [0x1111, 0x1161, 0x11BE], NFKC: [0xD323], NFKD: [0x1111, 0x1161, 0x11BE] }, -{ source: [0xD324], NFC: [0xD324], NFD: [0x1111, 0x1161, 0x11BF], NFKC: [0xD324], NFKD: [0x1111, 0x1161, 0x11BF] }, -{ source: [0xD325], NFC: [0xD325], NFD: [0x1111, 0x1161, 0x11C0], NFKC: [0xD325], NFKD: [0x1111, 0x1161, 0x11C0] }, -{ source: [0xD326], NFC: [0xD326], NFD: [0x1111, 0x1161, 0x11C1], NFKC: [0xD326], NFKD: [0x1111, 0x1161, 0x11C1] }, -{ source: [0xD327], NFC: [0xD327], NFD: [0x1111, 0x1161, 0x11C2], NFKC: [0xD327], NFKD: [0x1111, 0x1161, 0x11C2] }, -{ source: [0xD328], NFC: [0xD328], NFD: [0x1111, 0x1162], NFKC: [0xD328], NFKD: [0x1111, 0x1162] }, -{ source: [0xD329], NFC: [0xD329], NFD: [0x1111, 0x1162, 0x11A8], NFKC: [0xD329], NFKD: [0x1111, 0x1162, 0x11A8] }, -{ source: [0xD32A], NFC: [0xD32A], NFD: [0x1111, 0x1162, 0x11A9], NFKC: [0xD32A], NFKD: [0x1111, 0x1162, 0x11A9] }, -{ source: [0xD32B], NFC: [0xD32B], NFD: [0x1111, 0x1162, 0x11AA], NFKC: [0xD32B], NFKD: [0x1111, 0x1162, 0x11AA] }, -{ source: [0xD32C], NFC: [0xD32C], NFD: [0x1111, 0x1162, 0x11AB], NFKC: [0xD32C], NFKD: [0x1111, 0x1162, 0x11AB] }, -{ source: [0xD32D], NFC: [0xD32D], NFD: [0x1111, 0x1162, 0x11AC], NFKC: [0xD32D], NFKD: [0x1111, 0x1162, 0x11AC] }, -{ source: [0xD32E], NFC: [0xD32E], NFD: [0x1111, 0x1162, 0x11AD], NFKC: [0xD32E], NFKD: [0x1111, 0x1162, 0x11AD] }, -{ source: [0xD32F], NFC: [0xD32F], NFD: [0x1111, 0x1162, 0x11AE], NFKC: [0xD32F], NFKD: [0x1111, 0x1162, 0x11AE] }, -{ source: [0xD330], NFC: [0xD330], NFD: [0x1111, 0x1162, 0x11AF], NFKC: [0xD330], NFKD: [0x1111, 0x1162, 0x11AF] }, -{ source: [0xD331], NFC: [0xD331], NFD: [0x1111, 0x1162, 0x11B0], NFKC: [0xD331], NFKD: [0x1111, 0x1162, 0x11B0] }, -{ source: [0xD332], NFC: [0xD332], NFD: [0x1111, 0x1162, 0x11B1], NFKC: [0xD332], NFKD: [0x1111, 0x1162, 0x11B1] }, -{ source: [0xD333], NFC: [0xD333], NFD: [0x1111, 0x1162, 0x11B2], NFKC: [0xD333], NFKD: [0x1111, 0x1162, 0x11B2] }, -{ source: [0xD334], NFC: [0xD334], NFD: [0x1111, 0x1162, 0x11B3], NFKC: [0xD334], NFKD: [0x1111, 0x1162, 0x11B3] }, -{ source: [0xD335], NFC: [0xD335], NFD: [0x1111, 0x1162, 0x11B4], NFKC: [0xD335], NFKD: [0x1111, 0x1162, 0x11B4] }, -{ source: [0xD336], NFC: [0xD336], NFD: [0x1111, 0x1162, 0x11B5], NFKC: [0xD336], NFKD: [0x1111, 0x1162, 0x11B5] }, -{ source: [0xD337], NFC: [0xD337], NFD: [0x1111, 0x1162, 0x11B6], NFKC: [0xD337], NFKD: [0x1111, 0x1162, 0x11B6] }, -{ source: [0xD338], NFC: [0xD338], NFD: [0x1111, 0x1162, 0x11B7], NFKC: [0xD338], NFKD: [0x1111, 0x1162, 0x11B7] }, -{ source: [0xD339], NFC: [0xD339], NFD: [0x1111, 0x1162, 0x11B8], NFKC: [0xD339], NFKD: [0x1111, 0x1162, 0x11B8] }, -{ source: [0xD33A], NFC: [0xD33A], NFD: [0x1111, 0x1162, 0x11B9], NFKC: [0xD33A], NFKD: [0x1111, 0x1162, 0x11B9] }, -{ source: [0xD33B], NFC: [0xD33B], NFD: [0x1111, 0x1162, 0x11BA], NFKC: [0xD33B], NFKD: [0x1111, 0x1162, 0x11BA] }, -{ source: [0xD33C], NFC: [0xD33C], NFD: [0x1111, 0x1162, 0x11BB], NFKC: [0xD33C], NFKD: [0x1111, 0x1162, 0x11BB] }, -{ source: [0xD33D], NFC: [0xD33D], NFD: [0x1111, 0x1162, 0x11BC], NFKC: [0xD33D], NFKD: [0x1111, 0x1162, 0x11BC] }, -{ source: [0xD33E], NFC: [0xD33E], NFD: [0x1111, 0x1162, 0x11BD], NFKC: [0xD33E], NFKD: [0x1111, 0x1162, 0x11BD] }, -{ source: [0xD33F], NFC: [0xD33F], NFD: [0x1111, 0x1162, 0x11BE], NFKC: [0xD33F], NFKD: [0x1111, 0x1162, 0x11BE] }, -{ source: [0xD340], NFC: [0xD340], NFD: [0x1111, 0x1162, 0x11BF], NFKC: [0xD340], NFKD: [0x1111, 0x1162, 0x11BF] }, -{ source: [0xD341], NFC: [0xD341], NFD: [0x1111, 0x1162, 0x11C0], NFKC: [0xD341], NFKD: [0x1111, 0x1162, 0x11C0] }, -{ source: [0xD342], NFC: [0xD342], NFD: [0x1111, 0x1162, 0x11C1], NFKC: [0xD342], NFKD: [0x1111, 0x1162, 0x11C1] }, -{ source: [0xD343], NFC: [0xD343], NFD: [0x1111, 0x1162, 0x11C2], NFKC: [0xD343], NFKD: [0x1111, 0x1162, 0x11C2] }, -{ source: [0xD344], NFC: [0xD344], NFD: [0x1111, 0x1163], NFKC: [0xD344], NFKD: [0x1111, 0x1163] }, -{ source: [0xD345], NFC: [0xD345], NFD: [0x1111, 0x1163, 0x11A8], NFKC: [0xD345], NFKD: [0x1111, 0x1163, 0x11A8] }, -{ source: [0xD346], NFC: [0xD346], NFD: [0x1111, 0x1163, 0x11A9], NFKC: [0xD346], NFKD: [0x1111, 0x1163, 0x11A9] }, -{ source: [0xD347], NFC: [0xD347], NFD: [0x1111, 0x1163, 0x11AA], NFKC: [0xD347], NFKD: [0x1111, 0x1163, 0x11AA] }, -{ source: [0xD348], NFC: [0xD348], NFD: [0x1111, 0x1163, 0x11AB], NFKC: [0xD348], NFKD: [0x1111, 0x1163, 0x11AB] }, -{ source: [0xD349], NFC: [0xD349], NFD: [0x1111, 0x1163, 0x11AC], NFKC: [0xD349], NFKD: [0x1111, 0x1163, 0x11AC] }, -{ source: [0xD34A], NFC: [0xD34A], NFD: [0x1111, 0x1163, 0x11AD], NFKC: [0xD34A], NFKD: [0x1111, 0x1163, 0x11AD] }, -{ source: [0xD34B], NFC: [0xD34B], NFD: [0x1111, 0x1163, 0x11AE], NFKC: [0xD34B], NFKD: [0x1111, 0x1163, 0x11AE] }, -{ source: [0xD34C], NFC: [0xD34C], NFD: [0x1111, 0x1163, 0x11AF], NFKC: [0xD34C], NFKD: [0x1111, 0x1163, 0x11AF] }, -{ source: [0xD34D], NFC: [0xD34D], NFD: [0x1111, 0x1163, 0x11B0], NFKC: [0xD34D], NFKD: [0x1111, 0x1163, 0x11B0] }, -{ source: [0xD34E], NFC: [0xD34E], NFD: [0x1111, 0x1163, 0x11B1], NFKC: [0xD34E], NFKD: [0x1111, 0x1163, 0x11B1] }, -{ source: [0xD34F], NFC: [0xD34F], NFD: [0x1111, 0x1163, 0x11B2], NFKC: [0xD34F], NFKD: [0x1111, 0x1163, 0x11B2] }, -{ source: [0xD350], NFC: [0xD350], NFD: [0x1111, 0x1163, 0x11B3], NFKC: [0xD350], NFKD: [0x1111, 0x1163, 0x11B3] }, -{ source: [0xD351], NFC: [0xD351], NFD: [0x1111, 0x1163, 0x11B4], NFKC: [0xD351], NFKD: [0x1111, 0x1163, 0x11B4] }, -{ source: [0xD352], NFC: [0xD352], NFD: [0x1111, 0x1163, 0x11B5], NFKC: [0xD352], NFKD: [0x1111, 0x1163, 0x11B5] }, -{ source: [0xD353], NFC: [0xD353], NFD: [0x1111, 0x1163, 0x11B6], NFKC: [0xD353], NFKD: [0x1111, 0x1163, 0x11B6] }, -{ source: [0xD354], NFC: [0xD354], NFD: [0x1111, 0x1163, 0x11B7], NFKC: [0xD354], NFKD: [0x1111, 0x1163, 0x11B7] }, -{ source: [0xD355], NFC: [0xD355], NFD: [0x1111, 0x1163, 0x11B8], NFKC: [0xD355], NFKD: [0x1111, 0x1163, 0x11B8] }, -{ source: [0xD356], NFC: [0xD356], NFD: [0x1111, 0x1163, 0x11B9], NFKC: [0xD356], NFKD: [0x1111, 0x1163, 0x11B9] }, -{ source: [0xD357], NFC: [0xD357], NFD: [0x1111, 0x1163, 0x11BA], NFKC: [0xD357], NFKD: [0x1111, 0x1163, 0x11BA] }, -{ source: [0xD358], NFC: [0xD358], NFD: [0x1111, 0x1163, 0x11BB], NFKC: [0xD358], NFKD: [0x1111, 0x1163, 0x11BB] }, -{ source: [0xD359], NFC: [0xD359], NFD: [0x1111, 0x1163, 0x11BC], NFKC: [0xD359], NFKD: [0x1111, 0x1163, 0x11BC] }, -{ source: [0xD35A], NFC: [0xD35A], NFD: [0x1111, 0x1163, 0x11BD], NFKC: [0xD35A], NFKD: [0x1111, 0x1163, 0x11BD] }, -{ source: [0xD35B], NFC: [0xD35B], NFD: [0x1111, 0x1163, 0x11BE], NFKC: [0xD35B], NFKD: [0x1111, 0x1163, 0x11BE] }, -{ source: [0xD35C], NFC: [0xD35C], NFD: [0x1111, 0x1163, 0x11BF], NFKC: [0xD35C], NFKD: [0x1111, 0x1163, 0x11BF] }, -{ source: [0xD35D], NFC: [0xD35D], NFD: [0x1111, 0x1163, 0x11C0], NFKC: [0xD35D], NFKD: [0x1111, 0x1163, 0x11C0] }, -{ source: [0xD35E], NFC: [0xD35E], NFD: [0x1111, 0x1163, 0x11C1], NFKC: [0xD35E], NFKD: [0x1111, 0x1163, 0x11C1] }, -{ source: [0xD35F], NFC: [0xD35F], NFD: [0x1111, 0x1163, 0x11C2], NFKC: [0xD35F], NFKD: [0x1111, 0x1163, 0x11C2] }, -{ source: [0xD360], NFC: [0xD360], NFD: [0x1111, 0x1164], NFKC: [0xD360], NFKD: [0x1111, 0x1164] }, -{ source: [0xD361], NFC: [0xD361], NFD: [0x1111, 0x1164, 0x11A8], NFKC: [0xD361], NFKD: [0x1111, 0x1164, 0x11A8] }, -{ source: [0xD362], NFC: [0xD362], NFD: [0x1111, 0x1164, 0x11A9], NFKC: [0xD362], NFKD: [0x1111, 0x1164, 0x11A9] }, -{ source: [0xD363], NFC: [0xD363], NFD: [0x1111, 0x1164, 0x11AA], NFKC: [0xD363], NFKD: [0x1111, 0x1164, 0x11AA] }, -{ source: [0xD364], NFC: [0xD364], NFD: [0x1111, 0x1164, 0x11AB], NFKC: [0xD364], NFKD: [0x1111, 0x1164, 0x11AB] }, -{ source: [0xD365], NFC: [0xD365], NFD: [0x1111, 0x1164, 0x11AC], NFKC: [0xD365], NFKD: [0x1111, 0x1164, 0x11AC] }, -{ source: [0xD366], NFC: [0xD366], NFD: [0x1111, 0x1164, 0x11AD], NFKC: [0xD366], NFKD: [0x1111, 0x1164, 0x11AD] }, -{ source: [0xD367], NFC: [0xD367], NFD: [0x1111, 0x1164, 0x11AE], NFKC: [0xD367], NFKD: [0x1111, 0x1164, 0x11AE] }, -{ source: [0xD368], NFC: [0xD368], NFD: [0x1111, 0x1164, 0x11AF], NFKC: [0xD368], NFKD: [0x1111, 0x1164, 0x11AF] }, -{ source: [0xD369], NFC: [0xD369], NFD: [0x1111, 0x1164, 0x11B0], NFKC: [0xD369], NFKD: [0x1111, 0x1164, 0x11B0] }, -{ source: [0xD36A], NFC: [0xD36A], NFD: [0x1111, 0x1164, 0x11B1], NFKC: [0xD36A], NFKD: [0x1111, 0x1164, 0x11B1] }, -{ source: [0xD36B], NFC: [0xD36B], NFD: [0x1111, 0x1164, 0x11B2], NFKC: [0xD36B], NFKD: [0x1111, 0x1164, 0x11B2] }, -{ source: [0xD36C], NFC: [0xD36C], NFD: [0x1111, 0x1164, 0x11B3], NFKC: [0xD36C], NFKD: [0x1111, 0x1164, 0x11B3] }, -{ source: [0xD36D], NFC: [0xD36D], NFD: [0x1111, 0x1164, 0x11B4], NFKC: [0xD36D], NFKD: [0x1111, 0x1164, 0x11B4] }, -{ source: [0xD36E], NFC: [0xD36E], NFD: [0x1111, 0x1164, 0x11B5], NFKC: [0xD36E], NFKD: [0x1111, 0x1164, 0x11B5] }, -{ source: [0xD36F], NFC: [0xD36F], NFD: [0x1111, 0x1164, 0x11B6], NFKC: [0xD36F], NFKD: [0x1111, 0x1164, 0x11B6] }, -{ source: [0xD370], NFC: [0xD370], NFD: [0x1111, 0x1164, 0x11B7], NFKC: [0xD370], NFKD: [0x1111, 0x1164, 0x11B7] }, -{ source: [0xD371], NFC: [0xD371], NFD: [0x1111, 0x1164, 0x11B8], NFKC: [0xD371], NFKD: [0x1111, 0x1164, 0x11B8] }, -{ source: [0xD372], NFC: [0xD372], NFD: [0x1111, 0x1164, 0x11B9], NFKC: [0xD372], NFKD: [0x1111, 0x1164, 0x11B9] }, -{ source: [0xD373], NFC: [0xD373], NFD: [0x1111, 0x1164, 0x11BA], NFKC: [0xD373], NFKD: [0x1111, 0x1164, 0x11BA] }, -{ source: [0xD374], NFC: [0xD374], NFD: [0x1111, 0x1164, 0x11BB], NFKC: [0xD374], NFKD: [0x1111, 0x1164, 0x11BB] }, -{ source: [0xD375], NFC: [0xD375], NFD: [0x1111, 0x1164, 0x11BC], NFKC: [0xD375], NFKD: [0x1111, 0x1164, 0x11BC] }, -{ source: [0xD376], NFC: [0xD376], NFD: [0x1111, 0x1164, 0x11BD], NFKC: [0xD376], NFKD: [0x1111, 0x1164, 0x11BD] }, -{ source: [0xD377], NFC: [0xD377], NFD: [0x1111, 0x1164, 0x11BE], NFKC: [0xD377], NFKD: [0x1111, 0x1164, 0x11BE] }, -{ source: [0xD378], NFC: [0xD378], NFD: [0x1111, 0x1164, 0x11BF], NFKC: [0xD378], NFKD: [0x1111, 0x1164, 0x11BF] }, -{ source: [0xD379], NFC: [0xD379], NFD: [0x1111, 0x1164, 0x11C0], NFKC: [0xD379], NFKD: [0x1111, 0x1164, 0x11C0] }, -{ source: [0xD37A], NFC: [0xD37A], NFD: [0x1111, 0x1164, 0x11C1], NFKC: [0xD37A], NFKD: [0x1111, 0x1164, 0x11C1] }, -{ source: [0xD37B], NFC: [0xD37B], NFD: [0x1111, 0x1164, 0x11C2], NFKC: [0xD37B], NFKD: [0x1111, 0x1164, 0x11C2] }, -{ source: [0xD37C], NFC: [0xD37C], NFD: [0x1111, 0x1165], NFKC: [0xD37C], NFKD: [0x1111, 0x1165] }, -{ source: [0xD37D], NFC: [0xD37D], NFD: [0x1111, 0x1165, 0x11A8], NFKC: [0xD37D], NFKD: [0x1111, 0x1165, 0x11A8] }, -{ source: [0xD37E], NFC: [0xD37E], NFD: [0x1111, 0x1165, 0x11A9], NFKC: [0xD37E], NFKD: [0x1111, 0x1165, 0x11A9] }, -{ source: [0xD37F], NFC: [0xD37F], NFD: [0x1111, 0x1165, 0x11AA], NFKC: [0xD37F], NFKD: [0x1111, 0x1165, 0x11AA] }, -{ source: [0xD380], NFC: [0xD380], NFD: [0x1111, 0x1165, 0x11AB], NFKC: [0xD380], NFKD: [0x1111, 0x1165, 0x11AB] }, -{ source: [0xD381], NFC: [0xD381], NFD: [0x1111, 0x1165, 0x11AC], NFKC: [0xD381], NFKD: [0x1111, 0x1165, 0x11AC] }, -{ source: [0xD382], NFC: [0xD382], NFD: [0x1111, 0x1165, 0x11AD], NFKC: [0xD382], NFKD: [0x1111, 0x1165, 0x11AD] }, -{ source: [0xD383], NFC: [0xD383], NFD: [0x1111, 0x1165, 0x11AE], NFKC: [0xD383], NFKD: [0x1111, 0x1165, 0x11AE] }, -{ source: [0xD384], NFC: [0xD384], NFD: [0x1111, 0x1165, 0x11AF], NFKC: [0xD384], NFKD: [0x1111, 0x1165, 0x11AF] }, -{ source: [0xD385], NFC: [0xD385], NFD: [0x1111, 0x1165, 0x11B0], NFKC: [0xD385], NFKD: [0x1111, 0x1165, 0x11B0] }, -{ source: [0xD386], NFC: [0xD386], NFD: [0x1111, 0x1165, 0x11B1], NFKC: [0xD386], NFKD: [0x1111, 0x1165, 0x11B1] }, -{ source: [0xD387], NFC: [0xD387], NFD: [0x1111, 0x1165, 0x11B2], NFKC: [0xD387], NFKD: [0x1111, 0x1165, 0x11B2] }, -{ source: [0xD388], NFC: [0xD388], NFD: [0x1111, 0x1165, 0x11B3], NFKC: [0xD388], NFKD: [0x1111, 0x1165, 0x11B3] }, -{ source: [0xD389], NFC: [0xD389], NFD: [0x1111, 0x1165, 0x11B4], NFKC: [0xD389], NFKD: [0x1111, 0x1165, 0x11B4] }, -{ source: [0xD38A], NFC: [0xD38A], NFD: [0x1111, 0x1165, 0x11B5], NFKC: [0xD38A], NFKD: [0x1111, 0x1165, 0x11B5] }, -{ source: [0xD38B], NFC: [0xD38B], NFD: [0x1111, 0x1165, 0x11B6], NFKC: [0xD38B], NFKD: [0x1111, 0x1165, 0x11B6] }, -{ source: [0xD38C], NFC: [0xD38C], NFD: [0x1111, 0x1165, 0x11B7], NFKC: [0xD38C], NFKD: [0x1111, 0x1165, 0x11B7] }, -{ source: [0xD38D], NFC: [0xD38D], NFD: [0x1111, 0x1165, 0x11B8], NFKC: [0xD38D], NFKD: [0x1111, 0x1165, 0x11B8] }, -{ source: [0xD38E], NFC: [0xD38E], NFD: [0x1111, 0x1165, 0x11B9], NFKC: [0xD38E], NFKD: [0x1111, 0x1165, 0x11B9] }, -{ source: [0xD38F], NFC: [0xD38F], NFD: [0x1111, 0x1165, 0x11BA], NFKC: [0xD38F], NFKD: [0x1111, 0x1165, 0x11BA] }, -{ source: [0xD390], NFC: [0xD390], NFD: [0x1111, 0x1165, 0x11BB], NFKC: [0xD390], NFKD: [0x1111, 0x1165, 0x11BB] }, -{ source: [0xD391], NFC: [0xD391], NFD: [0x1111, 0x1165, 0x11BC], NFKC: [0xD391], NFKD: [0x1111, 0x1165, 0x11BC] }, -{ source: [0xD392], NFC: [0xD392], NFD: [0x1111, 0x1165, 0x11BD], NFKC: [0xD392], NFKD: [0x1111, 0x1165, 0x11BD] }, -{ source: [0xD393], NFC: [0xD393], NFD: [0x1111, 0x1165, 0x11BE], NFKC: [0xD393], NFKD: [0x1111, 0x1165, 0x11BE] }, -{ source: [0xD394], NFC: [0xD394], NFD: [0x1111, 0x1165, 0x11BF], NFKC: [0xD394], NFKD: [0x1111, 0x1165, 0x11BF] }, -{ source: [0xD395], NFC: [0xD395], NFD: [0x1111, 0x1165, 0x11C0], NFKC: [0xD395], NFKD: [0x1111, 0x1165, 0x11C0] }, -{ source: [0xD396], NFC: [0xD396], NFD: [0x1111, 0x1165, 0x11C1], NFKC: [0xD396], NFKD: [0x1111, 0x1165, 0x11C1] }, -{ source: [0xD397], NFC: [0xD397], NFD: [0x1111, 0x1165, 0x11C2], NFKC: [0xD397], NFKD: [0x1111, 0x1165, 0x11C2] }, -{ source: [0xD398], NFC: [0xD398], NFD: [0x1111, 0x1166], NFKC: [0xD398], NFKD: [0x1111, 0x1166] }, -{ source: [0xD399], NFC: [0xD399], NFD: [0x1111, 0x1166, 0x11A8], NFKC: [0xD399], NFKD: [0x1111, 0x1166, 0x11A8] }, -{ source: [0xD39A], NFC: [0xD39A], NFD: [0x1111, 0x1166, 0x11A9], NFKC: [0xD39A], NFKD: [0x1111, 0x1166, 0x11A9] }, -{ source: [0xD39B], NFC: [0xD39B], NFD: [0x1111, 0x1166, 0x11AA], NFKC: [0xD39B], NFKD: [0x1111, 0x1166, 0x11AA] }, -{ source: [0xD39C], NFC: [0xD39C], NFD: [0x1111, 0x1166, 0x11AB], NFKC: [0xD39C], NFKD: [0x1111, 0x1166, 0x11AB] }, -{ source: [0xD39D], NFC: [0xD39D], NFD: [0x1111, 0x1166, 0x11AC], NFKC: [0xD39D], NFKD: [0x1111, 0x1166, 0x11AC] }, -{ source: [0xD39E], NFC: [0xD39E], NFD: [0x1111, 0x1166, 0x11AD], NFKC: [0xD39E], NFKD: [0x1111, 0x1166, 0x11AD] }, -{ source: [0xD39F], NFC: [0xD39F], NFD: [0x1111, 0x1166, 0x11AE], NFKC: [0xD39F], NFKD: [0x1111, 0x1166, 0x11AE] }, -{ source: [0xD3A0], NFC: [0xD3A0], NFD: [0x1111, 0x1166, 0x11AF], NFKC: [0xD3A0], NFKD: [0x1111, 0x1166, 0x11AF] }, -{ source: [0xD3A1], NFC: [0xD3A1], NFD: [0x1111, 0x1166, 0x11B0], NFKC: [0xD3A1], NFKD: [0x1111, 0x1166, 0x11B0] }, -{ source: [0xD3A2], NFC: [0xD3A2], NFD: [0x1111, 0x1166, 0x11B1], NFKC: [0xD3A2], NFKD: [0x1111, 0x1166, 0x11B1] }, -{ source: [0xD3A3], NFC: [0xD3A3], NFD: [0x1111, 0x1166, 0x11B2], NFKC: [0xD3A3], NFKD: [0x1111, 0x1166, 0x11B2] }, -{ source: [0xD3A4], NFC: [0xD3A4], NFD: [0x1111, 0x1166, 0x11B3], NFKC: [0xD3A4], NFKD: [0x1111, 0x1166, 0x11B3] }, -{ source: [0xD3A5], NFC: [0xD3A5], NFD: [0x1111, 0x1166, 0x11B4], NFKC: [0xD3A5], NFKD: [0x1111, 0x1166, 0x11B4] }, -{ source: [0xD3A6], NFC: [0xD3A6], NFD: [0x1111, 0x1166, 0x11B5], NFKC: [0xD3A6], NFKD: [0x1111, 0x1166, 0x11B5] }, -{ source: [0xD3A7], NFC: [0xD3A7], NFD: [0x1111, 0x1166, 0x11B6], NFKC: [0xD3A7], NFKD: [0x1111, 0x1166, 0x11B6] }, -{ source: [0xD3A8], NFC: [0xD3A8], NFD: [0x1111, 0x1166, 0x11B7], NFKC: [0xD3A8], NFKD: [0x1111, 0x1166, 0x11B7] }, -{ source: [0xD3A9], NFC: [0xD3A9], NFD: [0x1111, 0x1166, 0x11B8], NFKC: [0xD3A9], NFKD: [0x1111, 0x1166, 0x11B8] }, -{ source: [0xD3AA], NFC: [0xD3AA], NFD: [0x1111, 0x1166, 0x11B9], NFKC: [0xD3AA], NFKD: [0x1111, 0x1166, 0x11B9] }, -{ source: [0xD3AB], NFC: [0xD3AB], NFD: [0x1111, 0x1166, 0x11BA], NFKC: [0xD3AB], NFKD: [0x1111, 0x1166, 0x11BA] }, -{ source: [0xD3AC], NFC: [0xD3AC], NFD: [0x1111, 0x1166, 0x11BB], NFKC: [0xD3AC], NFKD: [0x1111, 0x1166, 0x11BB] }, -{ source: [0xD3AD], NFC: [0xD3AD], NFD: [0x1111, 0x1166, 0x11BC], NFKC: [0xD3AD], NFKD: [0x1111, 0x1166, 0x11BC] }, -{ source: [0xD3AE], NFC: [0xD3AE], NFD: [0x1111, 0x1166, 0x11BD], NFKC: [0xD3AE], NFKD: [0x1111, 0x1166, 0x11BD] }, -{ source: [0xD3AF], NFC: [0xD3AF], NFD: [0x1111, 0x1166, 0x11BE], NFKC: [0xD3AF], NFKD: [0x1111, 0x1166, 0x11BE] }, -{ source: [0xD3B0], NFC: [0xD3B0], NFD: [0x1111, 0x1166, 0x11BF], NFKC: [0xD3B0], NFKD: [0x1111, 0x1166, 0x11BF] }, -{ source: [0xD3B1], NFC: [0xD3B1], NFD: [0x1111, 0x1166, 0x11C0], NFKC: [0xD3B1], NFKD: [0x1111, 0x1166, 0x11C0] }, -{ source: [0xD3B2], NFC: [0xD3B2], NFD: [0x1111, 0x1166, 0x11C1], NFKC: [0xD3B2], NFKD: [0x1111, 0x1166, 0x11C1] }, -{ source: [0xD3B3], NFC: [0xD3B3], NFD: [0x1111, 0x1166, 0x11C2], NFKC: [0xD3B3], NFKD: [0x1111, 0x1166, 0x11C2] }, -{ source: [0xD3B4], NFC: [0xD3B4], NFD: [0x1111, 0x1167], NFKC: [0xD3B4], NFKD: [0x1111, 0x1167] }, -{ source: [0xD3B5], NFC: [0xD3B5], NFD: [0x1111, 0x1167, 0x11A8], NFKC: [0xD3B5], NFKD: [0x1111, 0x1167, 0x11A8] }, -{ source: [0xD3B6], NFC: [0xD3B6], NFD: [0x1111, 0x1167, 0x11A9], NFKC: [0xD3B6], NFKD: [0x1111, 0x1167, 0x11A9] }, -{ source: [0xD3B7], NFC: [0xD3B7], NFD: [0x1111, 0x1167, 0x11AA], NFKC: [0xD3B7], NFKD: [0x1111, 0x1167, 0x11AA] }, -{ source: [0xD3B8], NFC: [0xD3B8], NFD: [0x1111, 0x1167, 0x11AB], NFKC: [0xD3B8], NFKD: [0x1111, 0x1167, 0x11AB] }, -{ source: [0xD3B9], NFC: [0xD3B9], NFD: [0x1111, 0x1167, 0x11AC], NFKC: [0xD3B9], NFKD: [0x1111, 0x1167, 0x11AC] }, -{ source: [0xD3BA], NFC: [0xD3BA], NFD: [0x1111, 0x1167, 0x11AD], NFKC: [0xD3BA], NFKD: [0x1111, 0x1167, 0x11AD] }, -{ source: [0xD3BB], NFC: [0xD3BB], NFD: [0x1111, 0x1167, 0x11AE], NFKC: [0xD3BB], NFKD: [0x1111, 0x1167, 0x11AE] }, -{ source: [0xD3BC], NFC: [0xD3BC], NFD: [0x1111, 0x1167, 0x11AF], NFKC: [0xD3BC], NFKD: [0x1111, 0x1167, 0x11AF] }, -{ source: [0xD3BD], NFC: [0xD3BD], NFD: [0x1111, 0x1167, 0x11B0], NFKC: [0xD3BD], NFKD: [0x1111, 0x1167, 0x11B0] }, -{ source: [0xD3BE], NFC: [0xD3BE], NFD: [0x1111, 0x1167, 0x11B1], NFKC: [0xD3BE], NFKD: [0x1111, 0x1167, 0x11B1] }, -{ source: [0xD3BF], NFC: [0xD3BF], NFD: [0x1111, 0x1167, 0x11B2], NFKC: [0xD3BF], NFKD: [0x1111, 0x1167, 0x11B2] }, -{ source: [0xD3C0], NFC: [0xD3C0], NFD: [0x1111, 0x1167, 0x11B3], NFKC: [0xD3C0], NFKD: [0x1111, 0x1167, 0x11B3] }, -{ source: [0xD3C1], NFC: [0xD3C1], NFD: [0x1111, 0x1167, 0x11B4], NFKC: [0xD3C1], NFKD: [0x1111, 0x1167, 0x11B4] }, -{ source: [0xD3C2], NFC: [0xD3C2], NFD: [0x1111, 0x1167, 0x11B5], NFKC: [0xD3C2], NFKD: [0x1111, 0x1167, 0x11B5] }, -{ source: [0xD3C3], NFC: [0xD3C3], NFD: [0x1111, 0x1167, 0x11B6], NFKC: [0xD3C3], NFKD: [0x1111, 0x1167, 0x11B6] }, -{ source: [0xD3C4], NFC: [0xD3C4], NFD: [0x1111, 0x1167, 0x11B7], NFKC: [0xD3C4], NFKD: [0x1111, 0x1167, 0x11B7] }, -{ source: [0xD3C5], NFC: [0xD3C5], NFD: [0x1111, 0x1167, 0x11B8], NFKC: [0xD3C5], NFKD: [0x1111, 0x1167, 0x11B8] }, -{ source: [0xD3C6], NFC: [0xD3C6], NFD: [0x1111, 0x1167, 0x11B9], NFKC: [0xD3C6], NFKD: [0x1111, 0x1167, 0x11B9] }, -{ source: [0xD3C7], NFC: [0xD3C7], NFD: [0x1111, 0x1167, 0x11BA], NFKC: [0xD3C7], NFKD: [0x1111, 0x1167, 0x11BA] }, -{ source: [0xD3C8], NFC: [0xD3C8], NFD: [0x1111, 0x1167, 0x11BB], NFKC: [0xD3C8], NFKD: [0x1111, 0x1167, 0x11BB] }, -{ source: [0xD3C9], NFC: [0xD3C9], NFD: [0x1111, 0x1167, 0x11BC], NFKC: [0xD3C9], NFKD: [0x1111, 0x1167, 0x11BC] }, -{ source: [0xD3CA], NFC: [0xD3CA], NFD: [0x1111, 0x1167, 0x11BD], NFKC: [0xD3CA], NFKD: [0x1111, 0x1167, 0x11BD] }, -{ source: [0xD3CB], NFC: [0xD3CB], NFD: [0x1111, 0x1167, 0x11BE], NFKC: [0xD3CB], NFKD: [0x1111, 0x1167, 0x11BE] }, -{ source: [0xD3CC], NFC: [0xD3CC], NFD: [0x1111, 0x1167, 0x11BF], NFKC: [0xD3CC], NFKD: [0x1111, 0x1167, 0x11BF] }, -{ source: [0xD3CD], NFC: [0xD3CD], NFD: [0x1111, 0x1167, 0x11C0], NFKC: [0xD3CD], NFKD: [0x1111, 0x1167, 0x11C0] }, -{ source: [0xD3CE], NFC: [0xD3CE], NFD: [0x1111, 0x1167, 0x11C1], NFKC: [0xD3CE], NFKD: [0x1111, 0x1167, 0x11C1] }, -{ source: [0xD3CF], NFC: [0xD3CF], NFD: [0x1111, 0x1167, 0x11C2], NFKC: [0xD3CF], NFKD: [0x1111, 0x1167, 0x11C2] }, -{ source: [0xD3D0], NFC: [0xD3D0], NFD: [0x1111, 0x1168], NFKC: [0xD3D0], NFKD: [0x1111, 0x1168] }, -{ source: [0xD3D1], NFC: [0xD3D1], NFD: [0x1111, 0x1168, 0x11A8], NFKC: [0xD3D1], NFKD: [0x1111, 0x1168, 0x11A8] }, -{ source: [0xD3D2], NFC: [0xD3D2], NFD: [0x1111, 0x1168, 0x11A9], NFKC: [0xD3D2], NFKD: [0x1111, 0x1168, 0x11A9] }, -{ source: [0xD3D3], NFC: [0xD3D3], NFD: [0x1111, 0x1168, 0x11AA], NFKC: [0xD3D3], NFKD: [0x1111, 0x1168, 0x11AA] }, -{ source: [0xD3D4], NFC: [0xD3D4], NFD: [0x1111, 0x1168, 0x11AB], NFKC: [0xD3D4], NFKD: [0x1111, 0x1168, 0x11AB] }, -{ source: [0xD3D5], NFC: [0xD3D5], NFD: [0x1111, 0x1168, 0x11AC], NFKC: [0xD3D5], NFKD: [0x1111, 0x1168, 0x11AC] }, -{ source: [0xD3D6], NFC: [0xD3D6], NFD: [0x1111, 0x1168, 0x11AD], NFKC: [0xD3D6], NFKD: [0x1111, 0x1168, 0x11AD] }, -{ source: [0xD3D7], NFC: [0xD3D7], NFD: [0x1111, 0x1168, 0x11AE], NFKC: [0xD3D7], NFKD: [0x1111, 0x1168, 0x11AE] }, -{ source: [0xD3D8], NFC: [0xD3D8], NFD: [0x1111, 0x1168, 0x11AF], NFKC: [0xD3D8], NFKD: [0x1111, 0x1168, 0x11AF] }, -{ source: [0xD3D9], NFC: [0xD3D9], NFD: [0x1111, 0x1168, 0x11B0], NFKC: [0xD3D9], NFKD: [0x1111, 0x1168, 0x11B0] }, -{ source: [0xD3DA], NFC: [0xD3DA], NFD: [0x1111, 0x1168, 0x11B1], NFKC: [0xD3DA], NFKD: [0x1111, 0x1168, 0x11B1] }, -{ source: [0xD3DB], NFC: [0xD3DB], NFD: [0x1111, 0x1168, 0x11B2], NFKC: [0xD3DB], NFKD: [0x1111, 0x1168, 0x11B2] }, -{ source: [0xD3DC], NFC: [0xD3DC], NFD: [0x1111, 0x1168, 0x11B3], NFKC: [0xD3DC], NFKD: [0x1111, 0x1168, 0x11B3] }, -{ source: [0xD3DD], NFC: [0xD3DD], NFD: [0x1111, 0x1168, 0x11B4], NFKC: [0xD3DD], NFKD: [0x1111, 0x1168, 0x11B4] }, -{ source: [0xD3DE], NFC: [0xD3DE], NFD: [0x1111, 0x1168, 0x11B5], NFKC: [0xD3DE], NFKD: [0x1111, 0x1168, 0x11B5] }, -{ source: [0xD3DF], NFC: [0xD3DF], NFD: [0x1111, 0x1168, 0x11B6], NFKC: [0xD3DF], NFKD: [0x1111, 0x1168, 0x11B6] }, -{ source: [0xD3E0], NFC: [0xD3E0], NFD: [0x1111, 0x1168, 0x11B7], NFKC: [0xD3E0], NFKD: [0x1111, 0x1168, 0x11B7] }, -{ source: [0xD3E1], NFC: [0xD3E1], NFD: [0x1111, 0x1168, 0x11B8], NFKC: [0xD3E1], NFKD: [0x1111, 0x1168, 0x11B8] }, -{ source: [0xD3E2], NFC: [0xD3E2], NFD: [0x1111, 0x1168, 0x11B9], NFKC: [0xD3E2], NFKD: [0x1111, 0x1168, 0x11B9] }, -{ source: [0xD3E3], NFC: [0xD3E3], NFD: [0x1111, 0x1168, 0x11BA], NFKC: [0xD3E3], NFKD: [0x1111, 0x1168, 0x11BA] }, -{ source: [0xD3E4], NFC: [0xD3E4], NFD: [0x1111, 0x1168, 0x11BB], NFKC: [0xD3E4], NFKD: [0x1111, 0x1168, 0x11BB] }, -{ source: [0xD3E5], NFC: [0xD3E5], NFD: [0x1111, 0x1168, 0x11BC], NFKC: [0xD3E5], NFKD: [0x1111, 0x1168, 0x11BC] }, -{ source: [0xD3E6], NFC: [0xD3E6], NFD: [0x1111, 0x1168, 0x11BD], NFKC: [0xD3E6], NFKD: [0x1111, 0x1168, 0x11BD] }, -{ source: [0xD3E7], NFC: [0xD3E7], NFD: [0x1111, 0x1168, 0x11BE], NFKC: [0xD3E7], NFKD: [0x1111, 0x1168, 0x11BE] }, -{ source: [0xD3E8], NFC: [0xD3E8], NFD: [0x1111, 0x1168, 0x11BF], NFKC: [0xD3E8], NFKD: [0x1111, 0x1168, 0x11BF] }, -{ source: [0xD3E9], NFC: [0xD3E9], NFD: [0x1111, 0x1168, 0x11C0], NFKC: [0xD3E9], NFKD: [0x1111, 0x1168, 0x11C0] }, -{ source: [0xD3EA], NFC: [0xD3EA], NFD: [0x1111, 0x1168, 0x11C1], NFKC: [0xD3EA], NFKD: [0x1111, 0x1168, 0x11C1] }, -{ source: [0xD3EB], NFC: [0xD3EB], NFD: [0x1111, 0x1168, 0x11C2], NFKC: [0xD3EB], NFKD: [0x1111, 0x1168, 0x11C2] }, -{ source: [0xD3EC], NFC: [0xD3EC], NFD: [0x1111, 0x1169], NFKC: [0xD3EC], NFKD: [0x1111, 0x1169] }, -{ source: [0xD3ED], NFC: [0xD3ED], NFD: [0x1111, 0x1169, 0x11A8], NFKC: [0xD3ED], NFKD: [0x1111, 0x1169, 0x11A8] }, -{ source: [0xD3EE], NFC: [0xD3EE], NFD: [0x1111, 0x1169, 0x11A9], NFKC: [0xD3EE], NFKD: [0x1111, 0x1169, 0x11A9] }, -{ source: [0xD3EF], NFC: [0xD3EF], NFD: [0x1111, 0x1169, 0x11AA], NFKC: [0xD3EF], NFKD: [0x1111, 0x1169, 0x11AA] }, -{ source: [0xD3F0], NFC: [0xD3F0], NFD: [0x1111, 0x1169, 0x11AB], NFKC: [0xD3F0], NFKD: [0x1111, 0x1169, 0x11AB] }, -{ source: [0xD3F1], NFC: [0xD3F1], NFD: [0x1111, 0x1169, 0x11AC], NFKC: [0xD3F1], NFKD: [0x1111, 0x1169, 0x11AC] }, -{ source: [0xD3F2], NFC: [0xD3F2], NFD: [0x1111, 0x1169, 0x11AD], NFKC: [0xD3F2], NFKD: [0x1111, 0x1169, 0x11AD] }, -{ source: [0xD3F3], NFC: [0xD3F3], NFD: [0x1111, 0x1169, 0x11AE], NFKC: [0xD3F3], NFKD: [0x1111, 0x1169, 0x11AE] }, -{ source: [0xD3F4], NFC: [0xD3F4], NFD: [0x1111, 0x1169, 0x11AF], NFKC: [0xD3F4], NFKD: [0x1111, 0x1169, 0x11AF] }, -{ source: [0xD3F5], NFC: [0xD3F5], NFD: [0x1111, 0x1169, 0x11B0], NFKC: [0xD3F5], NFKD: [0x1111, 0x1169, 0x11B0] }, -{ source: [0xD3F6], NFC: [0xD3F6], NFD: [0x1111, 0x1169, 0x11B1], NFKC: [0xD3F6], NFKD: [0x1111, 0x1169, 0x11B1] }, -{ source: [0xD3F7], NFC: [0xD3F7], NFD: [0x1111, 0x1169, 0x11B2], NFKC: [0xD3F7], NFKD: [0x1111, 0x1169, 0x11B2] }, -{ source: [0xD3F8], NFC: [0xD3F8], NFD: [0x1111, 0x1169, 0x11B3], NFKC: [0xD3F8], NFKD: [0x1111, 0x1169, 0x11B3] }, -{ source: [0xD3F9], NFC: [0xD3F9], NFD: [0x1111, 0x1169, 0x11B4], NFKC: [0xD3F9], NFKD: [0x1111, 0x1169, 0x11B4] }, -{ source: [0xD3FA], NFC: [0xD3FA], NFD: [0x1111, 0x1169, 0x11B5], NFKC: [0xD3FA], NFKD: [0x1111, 0x1169, 0x11B5] }, -{ source: [0xD3FB], NFC: [0xD3FB], NFD: [0x1111, 0x1169, 0x11B6], NFKC: [0xD3FB], NFKD: [0x1111, 0x1169, 0x11B6] }, -{ source: [0xD3FC], NFC: [0xD3FC], NFD: [0x1111, 0x1169, 0x11B7], NFKC: [0xD3FC], NFKD: [0x1111, 0x1169, 0x11B7] }, -{ source: [0xD3FD], NFC: [0xD3FD], NFD: [0x1111, 0x1169, 0x11B8], NFKC: [0xD3FD], NFKD: [0x1111, 0x1169, 0x11B8] }, -{ source: [0xD3FE], NFC: [0xD3FE], NFD: [0x1111, 0x1169, 0x11B9], NFKC: [0xD3FE], NFKD: [0x1111, 0x1169, 0x11B9] }, -{ source: [0xD3FF], NFC: [0xD3FF], NFD: [0x1111, 0x1169, 0x11BA], NFKC: [0xD3FF], NFKD: [0x1111, 0x1169, 0x11BA] }, -{ source: [0xD400], NFC: [0xD400], NFD: [0x1111, 0x1169, 0x11BB], NFKC: [0xD400], NFKD: [0x1111, 0x1169, 0x11BB] }, -{ source: [0xD401], NFC: [0xD401], NFD: [0x1111, 0x1169, 0x11BC], NFKC: [0xD401], NFKD: [0x1111, 0x1169, 0x11BC] }, -{ source: [0xD402], NFC: [0xD402], NFD: [0x1111, 0x1169, 0x11BD], NFKC: [0xD402], NFKD: [0x1111, 0x1169, 0x11BD] }, -{ source: [0xD403], NFC: [0xD403], NFD: [0x1111, 0x1169, 0x11BE], NFKC: [0xD403], NFKD: [0x1111, 0x1169, 0x11BE] }, -{ source: [0xD404], NFC: [0xD404], NFD: [0x1111, 0x1169, 0x11BF], NFKC: [0xD404], NFKD: [0x1111, 0x1169, 0x11BF] }, -{ source: [0xD405], NFC: [0xD405], NFD: [0x1111, 0x1169, 0x11C0], NFKC: [0xD405], NFKD: [0x1111, 0x1169, 0x11C0] }, -{ source: [0xD406], NFC: [0xD406], NFD: [0x1111, 0x1169, 0x11C1], NFKC: [0xD406], NFKD: [0x1111, 0x1169, 0x11C1] }, -{ source: [0xD407], NFC: [0xD407], NFD: [0x1111, 0x1169, 0x11C2], NFKC: [0xD407], NFKD: [0x1111, 0x1169, 0x11C2] }, -{ source: [0xD408], NFC: [0xD408], NFD: [0x1111, 0x116A], NFKC: [0xD408], NFKD: [0x1111, 0x116A] }, -{ source: [0xD409], NFC: [0xD409], NFD: [0x1111, 0x116A, 0x11A8], NFKC: [0xD409], NFKD: [0x1111, 0x116A, 0x11A8] }, -{ source: [0xD40A], NFC: [0xD40A], NFD: [0x1111, 0x116A, 0x11A9], NFKC: [0xD40A], NFKD: [0x1111, 0x116A, 0x11A9] }, -{ source: [0xD40B], NFC: [0xD40B], NFD: [0x1111, 0x116A, 0x11AA], NFKC: [0xD40B], NFKD: [0x1111, 0x116A, 0x11AA] }, -{ source: [0xD40C], NFC: [0xD40C], NFD: [0x1111, 0x116A, 0x11AB], NFKC: [0xD40C], NFKD: [0x1111, 0x116A, 0x11AB] }, -{ source: [0xD40D], NFC: [0xD40D], NFD: [0x1111, 0x116A, 0x11AC], NFKC: [0xD40D], NFKD: [0x1111, 0x116A, 0x11AC] }, -{ source: [0xD40E], NFC: [0xD40E], NFD: [0x1111, 0x116A, 0x11AD], NFKC: [0xD40E], NFKD: [0x1111, 0x116A, 0x11AD] }, -{ source: [0xD40F], NFC: [0xD40F], NFD: [0x1111, 0x116A, 0x11AE], NFKC: [0xD40F], NFKD: [0x1111, 0x116A, 0x11AE] }, -{ source: [0xD410], NFC: [0xD410], NFD: [0x1111, 0x116A, 0x11AF], NFKC: [0xD410], NFKD: [0x1111, 0x116A, 0x11AF] }, -{ source: [0xD411], NFC: [0xD411], NFD: [0x1111, 0x116A, 0x11B0], NFKC: [0xD411], NFKD: [0x1111, 0x116A, 0x11B0] }, -{ source: [0xD412], NFC: [0xD412], NFD: [0x1111, 0x116A, 0x11B1], NFKC: [0xD412], NFKD: [0x1111, 0x116A, 0x11B1] }, -{ source: [0xD413], NFC: [0xD413], NFD: [0x1111, 0x116A, 0x11B2], NFKC: [0xD413], NFKD: [0x1111, 0x116A, 0x11B2] }, -{ source: [0xD414], NFC: [0xD414], NFD: [0x1111, 0x116A, 0x11B3], NFKC: [0xD414], NFKD: [0x1111, 0x116A, 0x11B3] }, -{ source: [0xD415], NFC: [0xD415], NFD: [0x1111, 0x116A, 0x11B4], NFKC: [0xD415], NFKD: [0x1111, 0x116A, 0x11B4] }, -{ source: [0xD416], NFC: [0xD416], NFD: [0x1111, 0x116A, 0x11B5], NFKC: [0xD416], NFKD: [0x1111, 0x116A, 0x11B5] }, -{ source: [0xD417], NFC: [0xD417], NFD: [0x1111, 0x116A, 0x11B6], NFKC: [0xD417], NFKD: [0x1111, 0x116A, 0x11B6] }, -{ source: [0xD418], NFC: [0xD418], NFD: [0x1111, 0x116A, 0x11B7], NFKC: [0xD418], NFKD: [0x1111, 0x116A, 0x11B7] }, -{ source: [0xD419], NFC: [0xD419], NFD: [0x1111, 0x116A, 0x11B8], NFKC: [0xD419], NFKD: [0x1111, 0x116A, 0x11B8] }, -{ source: [0xD41A], NFC: [0xD41A], NFD: [0x1111, 0x116A, 0x11B9], NFKC: [0xD41A], NFKD: [0x1111, 0x116A, 0x11B9] }, -{ source: [0xD41B], NFC: [0xD41B], NFD: [0x1111, 0x116A, 0x11BA], NFKC: [0xD41B], NFKD: [0x1111, 0x116A, 0x11BA] }, -{ source: [0xD41C], NFC: [0xD41C], NFD: [0x1111, 0x116A, 0x11BB], NFKC: [0xD41C], NFKD: [0x1111, 0x116A, 0x11BB] }, -{ source: [0xD41D], NFC: [0xD41D], NFD: [0x1111, 0x116A, 0x11BC], NFKC: [0xD41D], NFKD: [0x1111, 0x116A, 0x11BC] }, -{ source: [0xD41E], NFC: [0xD41E], NFD: [0x1111, 0x116A, 0x11BD], NFKC: [0xD41E], NFKD: [0x1111, 0x116A, 0x11BD] }, -{ source: [0xD41F], NFC: [0xD41F], NFD: [0x1111, 0x116A, 0x11BE], NFKC: [0xD41F], NFKD: [0x1111, 0x116A, 0x11BE] }, -{ source: [0xD420], NFC: [0xD420], NFD: [0x1111, 0x116A, 0x11BF], NFKC: [0xD420], NFKD: [0x1111, 0x116A, 0x11BF] }, -{ source: [0xD421], NFC: [0xD421], NFD: [0x1111, 0x116A, 0x11C0], NFKC: [0xD421], NFKD: [0x1111, 0x116A, 0x11C0] }, -{ source: [0xD422], NFC: [0xD422], NFD: [0x1111, 0x116A, 0x11C1], NFKC: [0xD422], NFKD: [0x1111, 0x116A, 0x11C1] }, -{ source: [0xD423], NFC: [0xD423], NFD: [0x1111, 0x116A, 0x11C2], NFKC: [0xD423], NFKD: [0x1111, 0x116A, 0x11C2] }, -{ source: [0xD424], NFC: [0xD424], NFD: [0x1111, 0x116B], NFKC: [0xD424], NFKD: [0x1111, 0x116B] }, -{ source: [0xD425], NFC: [0xD425], NFD: [0x1111, 0x116B, 0x11A8], NFKC: [0xD425], NFKD: [0x1111, 0x116B, 0x11A8] }, -{ source: [0xD426], NFC: [0xD426], NFD: [0x1111, 0x116B, 0x11A9], NFKC: [0xD426], NFKD: [0x1111, 0x116B, 0x11A9] }, -{ source: [0xD427], NFC: [0xD427], NFD: [0x1111, 0x116B, 0x11AA], NFKC: [0xD427], NFKD: [0x1111, 0x116B, 0x11AA] }, -{ source: [0xD428], NFC: [0xD428], NFD: [0x1111, 0x116B, 0x11AB], NFKC: [0xD428], NFKD: [0x1111, 0x116B, 0x11AB] }, -{ source: [0xD429], NFC: [0xD429], NFD: [0x1111, 0x116B, 0x11AC], NFKC: [0xD429], NFKD: [0x1111, 0x116B, 0x11AC] }, -{ source: [0xD42A], NFC: [0xD42A], NFD: [0x1111, 0x116B, 0x11AD], NFKC: [0xD42A], NFKD: [0x1111, 0x116B, 0x11AD] }, -{ source: [0xD42B], NFC: [0xD42B], NFD: [0x1111, 0x116B, 0x11AE], NFKC: [0xD42B], NFKD: [0x1111, 0x116B, 0x11AE] }, -{ source: [0xD42C], NFC: [0xD42C], NFD: [0x1111, 0x116B, 0x11AF], NFKC: [0xD42C], NFKD: [0x1111, 0x116B, 0x11AF] }, -{ source: [0xD42D], NFC: [0xD42D], NFD: [0x1111, 0x116B, 0x11B0], NFKC: [0xD42D], NFKD: [0x1111, 0x116B, 0x11B0] }, -{ source: [0xD42E], NFC: [0xD42E], NFD: [0x1111, 0x116B, 0x11B1], NFKC: [0xD42E], NFKD: [0x1111, 0x116B, 0x11B1] }, -{ source: [0xD42F], NFC: [0xD42F], NFD: [0x1111, 0x116B, 0x11B2], NFKC: [0xD42F], NFKD: [0x1111, 0x116B, 0x11B2] }, -{ source: [0xD430], NFC: [0xD430], NFD: [0x1111, 0x116B, 0x11B3], NFKC: [0xD430], NFKD: [0x1111, 0x116B, 0x11B3] }, -{ source: [0xD431], NFC: [0xD431], NFD: [0x1111, 0x116B, 0x11B4], NFKC: [0xD431], NFKD: [0x1111, 0x116B, 0x11B4] }, -{ source: [0xD432], NFC: [0xD432], NFD: [0x1111, 0x116B, 0x11B5], NFKC: [0xD432], NFKD: [0x1111, 0x116B, 0x11B5] }, -{ source: [0xD433], NFC: [0xD433], NFD: [0x1111, 0x116B, 0x11B6], NFKC: [0xD433], NFKD: [0x1111, 0x116B, 0x11B6] }, -{ source: [0xD434], NFC: [0xD434], NFD: [0x1111, 0x116B, 0x11B7], NFKC: [0xD434], NFKD: [0x1111, 0x116B, 0x11B7] }, -{ source: [0xD435], NFC: [0xD435], NFD: [0x1111, 0x116B, 0x11B8], NFKC: [0xD435], NFKD: [0x1111, 0x116B, 0x11B8] }, -{ source: [0xD436], NFC: [0xD436], NFD: [0x1111, 0x116B, 0x11B9], NFKC: [0xD436], NFKD: [0x1111, 0x116B, 0x11B9] }, -{ source: [0xD437], NFC: [0xD437], NFD: [0x1111, 0x116B, 0x11BA], NFKC: [0xD437], NFKD: [0x1111, 0x116B, 0x11BA] }, -{ source: [0xD438], NFC: [0xD438], NFD: [0x1111, 0x116B, 0x11BB], NFKC: [0xD438], NFKD: [0x1111, 0x116B, 0x11BB] }, -{ source: [0xD439], NFC: [0xD439], NFD: [0x1111, 0x116B, 0x11BC], NFKC: [0xD439], NFKD: [0x1111, 0x116B, 0x11BC] }, -{ source: [0xD43A], NFC: [0xD43A], NFD: [0x1111, 0x116B, 0x11BD], NFKC: [0xD43A], NFKD: [0x1111, 0x116B, 0x11BD] }, -{ source: [0xD43B], NFC: [0xD43B], NFD: [0x1111, 0x116B, 0x11BE], NFKC: [0xD43B], NFKD: [0x1111, 0x116B, 0x11BE] }, -{ source: [0xD43C], NFC: [0xD43C], NFD: [0x1111, 0x116B, 0x11BF], NFKC: [0xD43C], NFKD: [0x1111, 0x116B, 0x11BF] }, -{ source: [0xD43D], NFC: [0xD43D], NFD: [0x1111, 0x116B, 0x11C0], NFKC: [0xD43D], NFKD: [0x1111, 0x116B, 0x11C0] }, -{ source: [0xD43E], NFC: [0xD43E], NFD: [0x1111, 0x116B, 0x11C1], NFKC: [0xD43E], NFKD: [0x1111, 0x116B, 0x11C1] }, -{ source: [0xD43F], NFC: [0xD43F], NFD: [0x1111, 0x116B, 0x11C2], NFKC: [0xD43F], NFKD: [0x1111, 0x116B, 0x11C2] }, -{ source: [0xD440], NFC: [0xD440], NFD: [0x1111, 0x116C], NFKC: [0xD440], NFKD: [0x1111, 0x116C] }, -{ source: [0xD441], NFC: [0xD441], NFD: [0x1111, 0x116C, 0x11A8], NFKC: [0xD441], NFKD: [0x1111, 0x116C, 0x11A8] }, -{ source: [0xD442], NFC: [0xD442], NFD: [0x1111, 0x116C, 0x11A9], NFKC: [0xD442], NFKD: [0x1111, 0x116C, 0x11A9] }, -{ source: [0xD443], NFC: [0xD443], NFD: [0x1111, 0x116C, 0x11AA], NFKC: [0xD443], NFKD: [0x1111, 0x116C, 0x11AA] }, -{ source: [0xD444], NFC: [0xD444], NFD: [0x1111, 0x116C, 0x11AB], NFKC: [0xD444], NFKD: [0x1111, 0x116C, 0x11AB] }, -{ source: [0xD445], NFC: [0xD445], NFD: [0x1111, 0x116C, 0x11AC], NFKC: [0xD445], NFKD: [0x1111, 0x116C, 0x11AC] }, -{ source: [0xD446], NFC: [0xD446], NFD: [0x1111, 0x116C, 0x11AD], NFKC: [0xD446], NFKD: [0x1111, 0x116C, 0x11AD] }, -{ source: [0xD447], NFC: [0xD447], NFD: [0x1111, 0x116C, 0x11AE], NFKC: [0xD447], NFKD: [0x1111, 0x116C, 0x11AE] }, -{ source: [0xD448], NFC: [0xD448], NFD: [0x1111, 0x116C, 0x11AF], NFKC: [0xD448], NFKD: [0x1111, 0x116C, 0x11AF] }, -{ source: [0xD449], NFC: [0xD449], NFD: [0x1111, 0x116C, 0x11B0], NFKC: [0xD449], NFKD: [0x1111, 0x116C, 0x11B0] }, -{ source: [0xD44A], NFC: [0xD44A], NFD: [0x1111, 0x116C, 0x11B1], NFKC: [0xD44A], NFKD: [0x1111, 0x116C, 0x11B1] }, -{ source: [0xD44B], NFC: [0xD44B], NFD: [0x1111, 0x116C, 0x11B2], NFKC: [0xD44B], NFKD: [0x1111, 0x116C, 0x11B2] }, -{ source: [0xD44C], NFC: [0xD44C], NFD: [0x1111, 0x116C, 0x11B3], NFKC: [0xD44C], NFKD: [0x1111, 0x116C, 0x11B3] }, -{ source: [0xD44D], NFC: [0xD44D], NFD: [0x1111, 0x116C, 0x11B4], NFKC: [0xD44D], NFKD: [0x1111, 0x116C, 0x11B4] }, -{ source: [0xD44E], NFC: [0xD44E], NFD: [0x1111, 0x116C, 0x11B5], NFKC: [0xD44E], NFKD: [0x1111, 0x116C, 0x11B5] }, -{ source: [0xD44F], NFC: [0xD44F], NFD: [0x1111, 0x116C, 0x11B6], NFKC: [0xD44F], NFKD: [0x1111, 0x116C, 0x11B6] }, -{ source: [0xD450], NFC: [0xD450], NFD: [0x1111, 0x116C, 0x11B7], NFKC: [0xD450], NFKD: [0x1111, 0x116C, 0x11B7] }, -{ source: [0xD451], NFC: [0xD451], NFD: [0x1111, 0x116C, 0x11B8], NFKC: [0xD451], NFKD: [0x1111, 0x116C, 0x11B8] }, -{ source: [0xD452], NFC: [0xD452], NFD: [0x1111, 0x116C, 0x11B9], NFKC: [0xD452], NFKD: [0x1111, 0x116C, 0x11B9] }, -{ source: [0xD453], NFC: [0xD453], NFD: [0x1111, 0x116C, 0x11BA], NFKC: [0xD453], NFKD: [0x1111, 0x116C, 0x11BA] }, -{ source: [0xD454], NFC: [0xD454], NFD: [0x1111, 0x116C, 0x11BB], NFKC: [0xD454], NFKD: [0x1111, 0x116C, 0x11BB] }, -{ source: [0xD455], NFC: [0xD455], NFD: [0x1111, 0x116C, 0x11BC], NFKC: [0xD455], NFKD: [0x1111, 0x116C, 0x11BC] }, -{ source: [0xD456], NFC: [0xD456], NFD: [0x1111, 0x116C, 0x11BD], NFKC: [0xD456], NFKD: [0x1111, 0x116C, 0x11BD] }, -{ source: [0xD457], NFC: [0xD457], NFD: [0x1111, 0x116C, 0x11BE], NFKC: [0xD457], NFKD: [0x1111, 0x116C, 0x11BE] }, -{ source: [0xD458], NFC: [0xD458], NFD: [0x1111, 0x116C, 0x11BF], NFKC: [0xD458], NFKD: [0x1111, 0x116C, 0x11BF] }, -{ source: [0xD459], NFC: [0xD459], NFD: [0x1111, 0x116C, 0x11C0], NFKC: [0xD459], NFKD: [0x1111, 0x116C, 0x11C0] }, -{ source: [0xD45A], NFC: [0xD45A], NFD: [0x1111, 0x116C, 0x11C1], NFKC: [0xD45A], NFKD: [0x1111, 0x116C, 0x11C1] }, -{ source: [0xD45B], NFC: [0xD45B], NFD: [0x1111, 0x116C, 0x11C2], NFKC: [0xD45B], NFKD: [0x1111, 0x116C, 0x11C2] }, -{ source: [0xD45C], NFC: [0xD45C], NFD: [0x1111, 0x116D], NFKC: [0xD45C], NFKD: [0x1111, 0x116D] }, -{ source: [0xD45D], NFC: [0xD45D], NFD: [0x1111, 0x116D, 0x11A8], NFKC: [0xD45D], NFKD: [0x1111, 0x116D, 0x11A8] }, -{ source: [0xD45E], NFC: [0xD45E], NFD: [0x1111, 0x116D, 0x11A9], NFKC: [0xD45E], NFKD: [0x1111, 0x116D, 0x11A9] }, -{ source: [0xD45F], NFC: [0xD45F], NFD: [0x1111, 0x116D, 0x11AA], NFKC: [0xD45F], NFKD: [0x1111, 0x116D, 0x11AA] }, -{ source: [0xD460], NFC: [0xD460], NFD: [0x1111, 0x116D, 0x11AB], NFKC: [0xD460], NFKD: [0x1111, 0x116D, 0x11AB] }, -{ source: [0xD461], NFC: [0xD461], NFD: [0x1111, 0x116D, 0x11AC], NFKC: [0xD461], NFKD: [0x1111, 0x116D, 0x11AC] }, -{ source: [0xD462], NFC: [0xD462], NFD: [0x1111, 0x116D, 0x11AD], NFKC: [0xD462], NFKD: [0x1111, 0x116D, 0x11AD] }, -{ source: [0xD463], NFC: [0xD463], NFD: [0x1111, 0x116D, 0x11AE], NFKC: [0xD463], NFKD: [0x1111, 0x116D, 0x11AE] }, -{ source: [0xD464], NFC: [0xD464], NFD: [0x1111, 0x116D, 0x11AF], NFKC: [0xD464], NFKD: [0x1111, 0x116D, 0x11AF] }, -{ source: [0xD465], NFC: [0xD465], NFD: [0x1111, 0x116D, 0x11B0], NFKC: [0xD465], NFKD: [0x1111, 0x116D, 0x11B0] }, -{ source: [0xD466], NFC: [0xD466], NFD: [0x1111, 0x116D, 0x11B1], NFKC: [0xD466], NFKD: [0x1111, 0x116D, 0x11B1] }, -{ source: [0xD467], NFC: [0xD467], NFD: [0x1111, 0x116D, 0x11B2], NFKC: [0xD467], NFKD: [0x1111, 0x116D, 0x11B2] }, -{ source: [0xD468], NFC: [0xD468], NFD: [0x1111, 0x116D, 0x11B3], NFKC: [0xD468], NFKD: [0x1111, 0x116D, 0x11B3] }, -{ source: [0xD469], NFC: [0xD469], NFD: [0x1111, 0x116D, 0x11B4], NFKC: [0xD469], NFKD: [0x1111, 0x116D, 0x11B4] }, -{ source: [0xD46A], NFC: [0xD46A], NFD: [0x1111, 0x116D, 0x11B5], NFKC: [0xD46A], NFKD: [0x1111, 0x116D, 0x11B5] }, -{ source: [0xD46B], NFC: [0xD46B], NFD: [0x1111, 0x116D, 0x11B6], NFKC: [0xD46B], NFKD: [0x1111, 0x116D, 0x11B6] }, -{ source: [0xD46C], NFC: [0xD46C], NFD: [0x1111, 0x116D, 0x11B7], NFKC: [0xD46C], NFKD: [0x1111, 0x116D, 0x11B7] }, -{ source: [0xD46D], NFC: [0xD46D], NFD: [0x1111, 0x116D, 0x11B8], NFKC: [0xD46D], NFKD: [0x1111, 0x116D, 0x11B8] }, -{ source: [0xD46E], NFC: [0xD46E], NFD: [0x1111, 0x116D, 0x11B9], NFKC: [0xD46E], NFKD: [0x1111, 0x116D, 0x11B9] }, -{ source: [0xD46F], NFC: [0xD46F], NFD: [0x1111, 0x116D, 0x11BA], NFKC: [0xD46F], NFKD: [0x1111, 0x116D, 0x11BA] }, -{ source: [0xD470], NFC: [0xD470], NFD: [0x1111, 0x116D, 0x11BB], NFKC: [0xD470], NFKD: [0x1111, 0x116D, 0x11BB] }, -{ source: [0xD471], NFC: [0xD471], NFD: [0x1111, 0x116D, 0x11BC], NFKC: [0xD471], NFKD: [0x1111, 0x116D, 0x11BC] }, -{ source: [0xD472], NFC: [0xD472], NFD: [0x1111, 0x116D, 0x11BD], NFKC: [0xD472], NFKD: [0x1111, 0x116D, 0x11BD] }, -{ source: [0xD473], NFC: [0xD473], NFD: [0x1111, 0x116D, 0x11BE], NFKC: [0xD473], NFKD: [0x1111, 0x116D, 0x11BE] }, -{ source: [0xD474], NFC: [0xD474], NFD: [0x1111, 0x116D, 0x11BF], NFKC: [0xD474], NFKD: [0x1111, 0x116D, 0x11BF] }, -{ source: [0xD475], NFC: [0xD475], NFD: [0x1111, 0x116D, 0x11C0], NFKC: [0xD475], NFKD: [0x1111, 0x116D, 0x11C0] }, -{ source: [0xD476], NFC: [0xD476], NFD: [0x1111, 0x116D, 0x11C1], NFKC: [0xD476], NFKD: [0x1111, 0x116D, 0x11C1] }, -{ source: [0xD477], NFC: [0xD477], NFD: [0x1111, 0x116D, 0x11C2], NFKC: [0xD477], NFKD: [0x1111, 0x116D, 0x11C2] }, -{ source: [0xD478], NFC: [0xD478], NFD: [0x1111, 0x116E], NFKC: [0xD478], NFKD: [0x1111, 0x116E] }, -{ source: [0xD479], NFC: [0xD479], NFD: [0x1111, 0x116E, 0x11A8], NFKC: [0xD479], NFKD: [0x1111, 0x116E, 0x11A8] }, -{ source: [0xD47A], NFC: [0xD47A], NFD: [0x1111, 0x116E, 0x11A9], NFKC: [0xD47A], NFKD: [0x1111, 0x116E, 0x11A9] }, -{ source: [0xD47B], NFC: [0xD47B], NFD: [0x1111, 0x116E, 0x11AA], NFKC: [0xD47B], NFKD: [0x1111, 0x116E, 0x11AA] }, -{ source: [0xD47C], NFC: [0xD47C], NFD: [0x1111, 0x116E, 0x11AB], NFKC: [0xD47C], NFKD: [0x1111, 0x116E, 0x11AB] }, -{ source: [0xD47D], NFC: [0xD47D], NFD: [0x1111, 0x116E, 0x11AC], NFKC: [0xD47D], NFKD: [0x1111, 0x116E, 0x11AC] }, -{ source: [0xD47E], NFC: [0xD47E], NFD: [0x1111, 0x116E, 0x11AD], NFKC: [0xD47E], NFKD: [0x1111, 0x116E, 0x11AD] }, -{ source: [0xD47F], NFC: [0xD47F], NFD: [0x1111, 0x116E, 0x11AE], NFKC: [0xD47F], NFKD: [0x1111, 0x116E, 0x11AE] }, -{ source: [0xD480], NFC: [0xD480], NFD: [0x1111, 0x116E, 0x11AF], NFKC: [0xD480], NFKD: [0x1111, 0x116E, 0x11AF] }, -{ source: [0xD481], NFC: [0xD481], NFD: [0x1111, 0x116E, 0x11B0], NFKC: [0xD481], NFKD: [0x1111, 0x116E, 0x11B0] }, -{ source: [0xD482], NFC: [0xD482], NFD: [0x1111, 0x116E, 0x11B1], NFKC: [0xD482], NFKD: [0x1111, 0x116E, 0x11B1] }, -{ source: [0xD483], NFC: [0xD483], NFD: [0x1111, 0x116E, 0x11B2], NFKC: [0xD483], NFKD: [0x1111, 0x116E, 0x11B2] }, -{ source: [0xD484], NFC: [0xD484], NFD: [0x1111, 0x116E, 0x11B3], NFKC: [0xD484], NFKD: [0x1111, 0x116E, 0x11B3] }, -{ source: [0xD485], NFC: [0xD485], NFD: [0x1111, 0x116E, 0x11B4], NFKC: [0xD485], NFKD: [0x1111, 0x116E, 0x11B4] }, -{ source: [0xD486], NFC: [0xD486], NFD: [0x1111, 0x116E, 0x11B5], NFKC: [0xD486], NFKD: [0x1111, 0x116E, 0x11B5] }, -{ source: [0xD487], NFC: [0xD487], NFD: [0x1111, 0x116E, 0x11B6], NFKC: [0xD487], NFKD: [0x1111, 0x116E, 0x11B6] }, -{ source: [0xD488], NFC: [0xD488], NFD: [0x1111, 0x116E, 0x11B7], NFKC: [0xD488], NFKD: [0x1111, 0x116E, 0x11B7] }, -{ source: [0xD489], NFC: [0xD489], NFD: [0x1111, 0x116E, 0x11B8], NFKC: [0xD489], NFKD: [0x1111, 0x116E, 0x11B8] }, -{ source: [0xD48A], NFC: [0xD48A], NFD: [0x1111, 0x116E, 0x11B9], NFKC: [0xD48A], NFKD: [0x1111, 0x116E, 0x11B9] }, -{ source: [0xD48B], NFC: [0xD48B], NFD: [0x1111, 0x116E, 0x11BA], NFKC: [0xD48B], NFKD: [0x1111, 0x116E, 0x11BA] }, -{ source: [0xD48C], NFC: [0xD48C], NFD: [0x1111, 0x116E, 0x11BB], NFKC: [0xD48C], NFKD: [0x1111, 0x116E, 0x11BB] }, -{ source: [0xD48D], NFC: [0xD48D], NFD: [0x1111, 0x116E, 0x11BC], NFKC: [0xD48D], NFKD: [0x1111, 0x116E, 0x11BC] }, -{ source: [0xD48E], NFC: [0xD48E], NFD: [0x1111, 0x116E, 0x11BD], NFKC: [0xD48E], NFKD: [0x1111, 0x116E, 0x11BD] }, -{ source: [0xD48F], NFC: [0xD48F], NFD: [0x1111, 0x116E, 0x11BE], NFKC: [0xD48F], NFKD: [0x1111, 0x116E, 0x11BE] }, -{ source: [0xD490], NFC: [0xD490], NFD: [0x1111, 0x116E, 0x11BF], NFKC: [0xD490], NFKD: [0x1111, 0x116E, 0x11BF] }, -{ source: [0xD491], NFC: [0xD491], NFD: [0x1111, 0x116E, 0x11C0], NFKC: [0xD491], NFKD: [0x1111, 0x116E, 0x11C0] }, -{ source: [0xD492], NFC: [0xD492], NFD: [0x1111, 0x116E, 0x11C1], NFKC: [0xD492], NFKD: [0x1111, 0x116E, 0x11C1] }, -{ source: [0xD493], NFC: [0xD493], NFD: [0x1111, 0x116E, 0x11C2], NFKC: [0xD493], NFKD: [0x1111, 0x116E, 0x11C2] }, -{ source: [0xD494], NFC: [0xD494], NFD: [0x1111, 0x116F], NFKC: [0xD494], NFKD: [0x1111, 0x116F] }, -{ source: [0xD495], NFC: [0xD495], NFD: [0x1111, 0x116F, 0x11A8], NFKC: [0xD495], NFKD: [0x1111, 0x116F, 0x11A8] }, -{ source: [0xD496], NFC: [0xD496], NFD: [0x1111, 0x116F, 0x11A9], NFKC: [0xD496], NFKD: [0x1111, 0x116F, 0x11A9] }, -{ source: [0xD497], NFC: [0xD497], NFD: [0x1111, 0x116F, 0x11AA], NFKC: [0xD497], NFKD: [0x1111, 0x116F, 0x11AA] }, -{ source: [0xD498], NFC: [0xD498], NFD: [0x1111, 0x116F, 0x11AB], NFKC: [0xD498], NFKD: [0x1111, 0x116F, 0x11AB] }, -{ source: [0xD499], NFC: [0xD499], NFD: [0x1111, 0x116F, 0x11AC], NFKC: [0xD499], NFKD: [0x1111, 0x116F, 0x11AC] }, -{ source: [0xD49A], NFC: [0xD49A], NFD: [0x1111, 0x116F, 0x11AD], NFKC: [0xD49A], NFKD: [0x1111, 0x116F, 0x11AD] }, -{ source: [0xD49B], NFC: [0xD49B], NFD: [0x1111, 0x116F, 0x11AE], NFKC: [0xD49B], NFKD: [0x1111, 0x116F, 0x11AE] }, -{ source: [0xD49C], NFC: [0xD49C], NFD: [0x1111, 0x116F, 0x11AF], NFKC: [0xD49C], NFKD: [0x1111, 0x116F, 0x11AF] }, -{ source: [0xD49D], NFC: [0xD49D], NFD: [0x1111, 0x116F, 0x11B0], NFKC: [0xD49D], NFKD: [0x1111, 0x116F, 0x11B0] }, -{ source: [0xD49E], NFC: [0xD49E], NFD: [0x1111, 0x116F, 0x11B1], NFKC: [0xD49E], NFKD: [0x1111, 0x116F, 0x11B1] }, -{ source: [0xD49F], NFC: [0xD49F], NFD: [0x1111, 0x116F, 0x11B2], NFKC: [0xD49F], NFKD: [0x1111, 0x116F, 0x11B2] }, -{ source: [0xD4A0], NFC: [0xD4A0], NFD: [0x1111, 0x116F, 0x11B3], NFKC: [0xD4A0], NFKD: [0x1111, 0x116F, 0x11B3] }, -{ source: [0xD4A1], NFC: [0xD4A1], NFD: [0x1111, 0x116F, 0x11B4], NFKC: [0xD4A1], NFKD: [0x1111, 0x116F, 0x11B4] }, -{ source: [0xD4A2], NFC: [0xD4A2], NFD: [0x1111, 0x116F, 0x11B5], NFKC: [0xD4A2], NFKD: [0x1111, 0x116F, 0x11B5] }, -{ source: [0xD4A3], NFC: [0xD4A3], NFD: [0x1111, 0x116F, 0x11B6], NFKC: [0xD4A3], NFKD: [0x1111, 0x116F, 0x11B6] }, -{ source: [0xD4A4], NFC: [0xD4A4], NFD: [0x1111, 0x116F, 0x11B7], NFKC: [0xD4A4], NFKD: [0x1111, 0x116F, 0x11B7] }, -{ source: [0xD4A5], NFC: [0xD4A5], NFD: [0x1111, 0x116F, 0x11B8], NFKC: [0xD4A5], NFKD: [0x1111, 0x116F, 0x11B8] }, -{ source: [0xD4A6], NFC: [0xD4A6], NFD: [0x1111, 0x116F, 0x11B9], NFKC: [0xD4A6], NFKD: [0x1111, 0x116F, 0x11B9] }, -{ source: [0xD4A7], NFC: [0xD4A7], NFD: [0x1111, 0x116F, 0x11BA], NFKC: [0xD4A7], NFKD: [0x1111, 0x116F, 0x11BA] }, -{ source: [0xD4A8], NFC: [0xD4A8], NFD: [0x1111, 0x116F, 0x11BB], NFKC: [0xD4A8], NFKD: [0x1111, 0x116F, 0x11BB] }, -{ source: [0xD4A9], NFC: [0xD4A9], NFD: [0x1111, 0x116F, 0x11BC], NFKC: [0xD4A9], NFKD: [0x1111, 0x116F, 0x11BC] }, -{ source: [0xD4AA], NFC: [0xD4AA], NFD: [0x1111, 0x116F, 0x11BD], NFKC: [0xD4AA], NFKD: [0x1111, 0x116F, 0x11BD] }, -{ source: [0xD4AB], NFC: [0xD4AB], NFD: [0x1111, 0x116F, 0x11BE], NFKC: [0xD4AB], NFKD: [0x1111, 0x116F, 0x11BE] }, -{ source: [0xD4AC], NFC: [0xD4AC], NFD: [0x1111, 0x116F, 0x11BF], NFKC: [0xD4AC], NFKD: [0x1111, 0x116F, 0x11BF] }, -{ source: [0xD4AD], NFC: [0xD4AD], NFD: [0x1111, 0x116F, 0x11C0], NFKC: [0xD4AD], NFKD: [0x1111, 0x116F, 0x11C0] }, -{ source: [0xD4AE], NFC: [0xD4AE], NFD: [0x1111, 0x116F, 0x11C1], NFKC: [0xD4AE], NFKD: [0x1111, 0x116F, 0x11C1] }, -{ source: [0xD4AF], NFC: [0xD4AF], NFD: [0x1111, 0x116F, 0x11C2], NFKC: [0xD4AF], NFKD: [0x1111, 0x116F, 0x11C2] }, -{ source: [0xD4B0], NFC: [0xD4B0], NFD: [0x1111, 0x1170], NFKC: [0xD4B0], NFKD: [0x1111, 0x1170] }, -{ source: [0xD4B1], NFC: [0xD4B1], NFD: [0x1111, 0x1170, 0x11A8], NFKC: [0xD4B1], NFKD: [0x1111, 0x1170, 0x11A8] }, -{ source: [0xD4B2], NFC: [0xD4B2], NFD: [0x1111, 0x1170, 0x11A9], NFKC: [0xD4B2], NFKD: [0x1111, 0x1170, 0x11A9] }, -{ source: [0xD4B3], NFC: [0xD4B3], NFD: [0x1111, 0x1170, 0x11AA], NFKC: [0xD4B3], NFKD: [0x1111, 0x1170, 0x11AA] }, -{ source: [0xD4B4], NFC: [0xD4B4], NFD: [0x1111, 0x1170, 0x11AB], NFKC: [0xD4B4], NFKD: [0x1111, 0x1170, 0x11AB] }, -{ source: [0xD4B5], NFC: [0xD4B5], NFD: [0x1111, 0x1170, 0x11AC], NFKC: [0xD4B5], NFKD: [0x1111, 0x1170, 0x11AC] }, -{ source: [0xD4B6], NFC: [0xD4B6], NFD: [0x1111, 0x1170, 0x11AD], NFKC: [0xD4B6], NFKD: [0x1111, 0x1170, 0x11AD] }, -{ source: [0xD4B7], NFC: [0xD4B7], NFD: [0x1111, 0x1170, 0x11AE], NFKC: [0xD4B7], NFKD: [0x1111, 0x1170, 0x11AE] }, -{ source: [0xD4B8], NFC: [0xD4B8], NFD: [0x1111, 0x1170, 0x11AF], NFKC: [0xD4B8], NFKD: [0x1111, 0x1170, 0x11AF] }, -{ source: [0xD4B9], NFC: [0xD4B9], NFD: [0x1111, 0x1170, 0x11B0], NFKC: [0xD4B9], NFKD: [0x1111, 0x1170, 0x11B0] }, -{ source: [0xD4BA], NFC: [0xD4BA], NFD: [0x1111, 0x1170, 0x11B1], NFKC: [0xD4BA], NFKD: [0x1111, 0x1170, 0x11B1] }, -{ source: [0xD4BB], NFC: [0xD4BB], NFD: [0x1111, 0x1170, 0x11B2], NFKC: [0xD4BB], NFKD: [0x1111, 0x1170, 0x11B2] }, -{ source: [0xD4BC], NFC: [0xD4BC], NFD: [0x1111, 0x1170, 0x11B3], NFKC: [0xD4BC], NFKD: [0x1111, 0x1170, 0x11B3] }, -{ source: [0xD4BD], NFC: [0xD4BD], NFD: [0x1111, 0x1170, 0x11B4], NFKC: [0xD4BD], NFKD: [0x1111, 0x1170, 0x11B4] }, -{ source: [0xD4BE], NFC: [0xD4BE], NFD: [0x1111, 0x1170, 0x11B5], NFKC: [0xD4BE], NFKD: [0x1111, 0x1170, 0x11B5] }, -{ source: [0xD4BF], NFC: [0xD4BF], NFD: [0x1111, 0x1170, 0x11B6], NFKC: [0xD4BF], NFKD: [0x1111, 0x1170, 0x11B6] }, -{ source: [0xD4C0], NFC: [0xD4C0], NFD: [0x1111, 0x1170, 0x11B7], NFKC: [0xD4C0], NFKD: [0x1111, 0x1170, 0x11B7] }, -{ source: [0xD4C1], NFC: [0xD4C1], NFD: [0x1111, 0x1170, 0x11B8], NFKC: [0xD4C1], NFKD: [0x1111, 0x1170, 0x11B8] }, -{ source: [0xD4C2], NFC: [0xD4C2], NFD: [0x1111, 0x1170, 0x11B9], NFKC: [0xD4C2], NFKD: [0x1111, 0x1170, 0x11B9] }, -{ source: [0xD4C3], NFC: [0xD4C3], NFD: [0x1111, 0x1170, 0x11BA], NFKC: [0xD4C3], NFKD: [0x1111, 0x1170, 0x11BA] }, -{ source: [0xD4C4], NFC: [0xD4C4], NFD: [0x1111, 0x1170, 0x11BB], NFKC: [0xD4C4], NFKD: [0x1111, 0x1170, 0x11BB] }, -{ source: [0xD4C5], NFC: [0xD4C5], NFD: [0x1111, 0x1170, 0x11BC], NFKC: [0xD4C5], NFKD: [0x1111, 0x1170, 0x11BC] }, -{ source: [0xD4C6], NFC: [0xD4C6], NFD: [0x1111, 0x1170, 0x11BD], NFKC: [0xD4C6], NFKD: [0x1111, 0x1170, 0x11BD] }, -{ source: [0xD4C7], NFC: [0xD4C7], NFD: [0x1111, 0x1170, 0x11BE], NFKC: [0xD4C7], NFKD: [0x1111, 0x1170, 0x11BE] }, -{ source: [0xD4C8], NFC: [0xD4C8], NFD: [0x1111, 0x1170, 0x11BF], NFKC: [0xD4C8], NFKD: [0x1111, 0x1170, 0x11BF] }, -{ source: [0xD4C9], NFC: [0xD4C9], NFD: [0x1111, 0x1170, 0x11C0], NFKC: [0xD4C9], NFKD: [0x1111, 0x1170, 0x11C0] }, -{ source: [0xD4CA], NFC: [0xD4CA], NFD: [0x1111, 0x1170, 0x11C1], NFKC: [0xD4CA], NFKD: [0x1111, 0x1170, 0x11C1] }, -{ source: [0xD4CB], NFC: [0xD4CB], NFD: [0x1111, 0x1170, 0x11C2], NFKC: [0xD4CB], NFKD: [0x1111, 0x1170, 0x11C2] }, -{ source: [0xD4CC], NFC: [0xD4CC], NFD: [0x1111, 0x1171], NFKC: [0xD4CC], NFKD: [0x1111, 0x1171] }, -{ source: [0xD4CD], NFC: [0xD4CD], NFD: [0x1111, 0x1171, 0x11A8], NFKC: [0xD4CD], NFKD: [0x1111, 0x1171, 0x11A8] }, -{ source: [0xD4CE], NFC: [0xD4CE], NFD: [0x1111, 0x1171, 0x11A9], NFKC: [0xD4CE], NFKD: [0x1111, 0x1171, 0x11A9] }, -{ source: [0xD4CF], NFC: [0xD4CF], NFD: [0x1111, 0x1171, 0x11AA], NFKC: [0xD4CF], NFKD: [0x1111, 0x1171, 0x11AA] }, -{ source: [0xD4D0], NFC: [0xD4D0], NFD: [0x1111, 0x1171, 0x11AB], NFKC: [0xD4D0], NFKD: [0x1111, 0x1171, 0x11AB] }, -{ source: [0xD4D1], NFC: [0xD4D1], NFD: [0x1111, 0x1171, 0x11AC], NFKC: [0xD4D1], NFKD: [0x1111, 0x1171, 0x11AC] }, -{ source: [0xD4D2], NFC: [0xD4D2], NFD: [0x1111, 0x1171, 0x11AD], NFKC: [0xD4D2], NFKD: [0x1111, 0x1171, 0x11AD] }, -{ source: [0xD4D3], NFC: [0xD4D3], NFD: [0x1111, 0x1171, 0x11AE], NFKC: [0xD4D3], NFKD: [0x1111, 0x1171, 0x11AE] }, -{ source: [0xD4D4], NFC: [0xD4D4], NFD: [0x1111, 0x1171, 0x11AF], NFKC: [0xD4D4], NFKD: [0x1111, 0x1171, 0x11AF] }, -{ source: [0xD4D5], NFC: [0xD4D5], NFD: [0x1111, 0x1171, 0x11B0], NFKC: [0xD4D5], NFKD: [0x1111, 0x1171, 0x11B0] }, -{ source: [0xD4D6], NFC: [0xD4D6], NFD: [0x1111, 0x1171, 0x11B1], NFKC: [0xD4D6], NFKD: [0x1111, 0x1171, 0x11B1] }, -{ source: [0xD4D7], NFC: [0xD4D7], NFD: [0x1111, 0x1171, 0x11B2], NFKC: [0xD4D7], NFKD: [0x1111, 0x1171, 0x11B2] }, -{ source: [0xD4D8], NFC: [0xD4D8], NFD: [0x1111, 0x1171, 0x11B3], NFKC: [0xD4D8], NFKD: [0x1111, 0x1171, 0x11B3] }, -{ source: [0xD4D9], NFC: [0xD4D9], NFD: [0x1111, 0x1171, 0x11B4], NFKC: [0xD4D9], NFKD: [0x1111, 0x1171, 0x11B4] }, -{ source: [0xD4DA], NFC: [0xD4DA], NFD: [0x1111, 0x1171, 0x11B5], NFKC: [0xD4DA], NFKD: [0x1111, 0x1171, 0x11B5] }, -{ source: [0xD4DB], NFC: [0xD4DB], NFD: [0x1111, 0x1171, 0x11B6], NFKC: [0xD4DB], NFKD: [0x1111, 0x1171, 0x11B6] }, -{ source: [0xD4DC], NFC: [0xD4DC], NFD: [0x1111, 0x1171, 0x11B7], NFKC: [0xD4DC], NFKD: [0x1111, 0x1171, 0x11B7] }, -{ source: [0xD4DD], NFC: [0xD4DD], NFD: [0x1111, 0x1171, 0x11B8], NFKC: [0xD4DD], NFKD: [0x1111, 0x1171, 0x11B8] }, -{ source: [0xD4DE], NFC: [0xD4DE], NFD: [0x1111, 0x1171, 0x11B9], NFKC: [0xD4DE], NFKD: [0x1111, 0x1171, 0x11B9] }, -{ source: [0xD4DF], NFC: [0xD4DF], NFD: [0x1111, 0x1171, 0x11BA], NFKC: [0xD4DF], NFKD: [0x1111, 0x1171, 0x11BA] }, -{ source: [0xD4E0], NFC: [0xD4E0], NFD: [0x1111, 0x1171, 0x11BB], NFKC: [0xD4E0], NFKD: [0x1111, 0x1171, 0x11BB] }, -{ source: [0xD4E1], NFC: [0xD4E1], NFD: [0x1111, 0x1171, 0x11BC], NFKC: [0xD4E1], NFKD: [0x1111, 0x1171, 0x11BC] }, -{ source: [0xD4E2], NFC: [0xD4E2], NFD: [0x1111, 0x1171, 0x11BD], NFKC: [0xD4E2], NFKD: [0x1111, 0x1171, 0x11BD] }, -{ source: [0xD4E3], NFC: [0xD4E3], NFD: [0x1111, 0x1171, 0x11BE], NFKC: [0xD4E3], NFKD: [0x1111, 0x1171, 0x11BE] }, -{ source: [0xD4E4], NFC: [0xD4E4], NFD: [0x1111, 0x1171, 0x11BF], NFKC: [0xD4E4], NFKD: [0x1111, 0x1171, 0x11BF] }, -{ source: [0xD4E5], NFC: [0xD4E5], NFD: [0x1111, 0x1171, 0x11C0], NFKC: [0xD4E5], NFKD: [0x1111, 0x1171, 0x11C0] }, -{ source: [0xD4E6], NFC: [0xD4E6], NFD: [0x1111, 0x1171, 0x11C1], NFKC: [0xD4E6], NFKD: [0x1111, 0x1171, 0x11C1] }, -{ source: [0xD4E7], NFC: [0xD4E7], NFD: [0x1111, 0x1171, 0x11C2], NFKC: [0xD4E7], NFKD: [0x1111, 0x1171, 0x11C2] }, -{ source: [0xD4E8], NFC: [0xD4E8], NFD: [0x1111, 0x1172], NFKC: [0xD4E8], NFKD: [0x1111, 0x1172] }, -{ source: [0xD4E9], NFC: [0xD4E9], NFD: [0x1111, 0x1172, 0x11A8], NFKC: [0xD4E9], NFKD: [0x1111, 0x1172, 0x11A8] }, -{ source: [0xD4EA], NFC: [0xD4EA], NFD: [0x1111, 0x1172, 0x11A9], NFKC: [0xD4EA], NFKD: [0x1111, 0x1172, 0x11A9] }, -{ source: [0xD4EB], NFC: [0xD4EB], NFD: [0x1111, 0x1172, 0x11AA], NFKC: [0xD4EB], NFKD: [0x1111, 0x1172, 0x11AA] }, -{ source: [0xD4EC], NFC: [0xD4EC], NFD: [0x1111, 0x1172, 0x11AB], NFKC: [0xD4EC], NFKD: [0x1111, 0x1172, 0x11AB] }, -{ source: [0xD4ED], NFC: [0xD4ED], NFD: [0x1111, 0x1172, 0x11AC], NFKC: [0xD4ED], NFKD: [0x1111, 0x1172, 0x11AC] }, -{ source: [0xD4EE], NFC: [0xD4EE], NFD: [0x1111, 0x1172, 0x11AD], NFKC: [0xD4EE], NFKD: [0x1111, 0x1172, 0x11AD] }, -{ source: [0xD4EF], NFC: [0xD4EF], NFD: [0x1111, 0x1172, 0x11AE], NFKC: [0xD4EF], NFKD: [0x1111, 0x1172, 0x11AE] }, -{ source: [0xD4F0], NFC: [0xD4F0], NFD: [0x1111, 0x1172, 0x11AF], NFKC: [0xD4F0], NFKD: [0x1111, 0x1172, 0x11AF] }, -{ source: [0xD4F1], NFC: [0xD4F1], NFD: [0x1111, 0x1172, 0x11B0], NFKC: [0xD4F1], NFKD: [0x1111, 0x1172, 0x11B0] }, -{ source: [0xD4F2], NFC: [0xD4F2], NFD: [0x1111, 0x1172, 0x11B1], NFKC: [0xD4F2], NFKD: [0x1111, 0x1172, 0x11B1] }, -{ source: [0xD4F3], NFC: [0xD4F3], NFD: [0x1111, 0x1172, 0x11B2], NFKC: [0xD4F3], NFKD: [0x1111, 0x1172, 0x11B2] }, -{ source: [0xD4F4], NFC: [0xD4F4], NFD: [0x1111, 0x1172, 0x11B3], NFKC: [0xD4F4], NFKD: [0x1111, 0x1172, 0x11B3] }, -{ source: [0xD4F5], NFC: [0xD4F5], NFD: [0x1111, 0x1172, 0x11B4], NFKC: [0xD4F5], NFKD: [0x1111, 0x1172, 0x11B4] }, -{ source: [0xD4F6], NFC: [0xD4F6], NFD: [0x1111, 0x1172, 0x11B5], NFKC: [0xD4F6], NFKD: [0x1111, 0x1172, 0x11B5] }, -{ source: [0xD4F7], NFC: [0xD4F7], NFD: [0x1111, 0x1172, 0x11B6], NFKC: [0xD4F7], NFKD: [0x1111, 0x1172, 0x11B6] }, -{ source: [0xD4F8], NFC: [0xD4F8], NFD: [0x1111, 0x1172, 0x11B7], NFKC: [0xD4F8], NFKD: [0x1111, 0x1172, 0x11B7] }, -{ source: [0xD4F9], NFC: [0xD4F9], NFD: [0x1111, 0x1172, 0x11B8], NFKC: [0xD4F9], NFKD: [0x1111, 0x1172, 0x11B8] }, -{ source: [0xD4FA], NFC: [0xD4FA], NFD: [0x1111, 0x1172, 0x11B9], NFKC: [0xD4FA], NFKD: [0x1111, 0x1172, 0x11B9] }, -{ source: [0xD4FB], NFC: [0xD4FB], NFD: [0x1111, 0x1172, 0x11BA], NFKC: [0xD4FB], NFKD: [0x1111, 0x1172, 0x11BA] }, -{ source: [0xD4FC], NFC: [0xD4FC], NFD: [0x1111, 0x1172, 0x11BB], NFKC: [0xD4FC], NFKD: [0x1111, 0x1172, 0x11BB] }, -{ source: [0xD4FD], NFC: [0xD4FD], NFD: [0x1111, 0x1172, 0x11BC], NFKC: [0xD4FD], NFKD: [0x1111, 0x1172, 0x11BC] }, -{ source: [0xD4FE], NFC: [0xD4FE], NFD: [0x1111, 0x1172, 0x11BD], NFKC: [0xD4FE], NFKD: [0x1111, 0x1172, 0x11BD] }, -{ source: [0xD4FF], NFC: [0xD4FF], NFD: [0x1111, 0x1172, 0x11BE], NFKC: [0xD4FF], NFKD: [0x1111, 0x1172, 0x11BE] }, -{ source: [0xD500], NFC: [0xD500], NFD: [0x1111, 0x1172, 0x11BF], NFKC: [0xD500], NFKD: [0x1111, 0x1172, 0x11BF] }, -{ source: [0xD501], NFC: [0xD501], NFD: [0x1111, 0x1172, 0x11C0], NFKC: [0xD501], NFKD: [0x1111, 0x1172, 0x11C0] }, -{ source: [0xD502], NFC: [0xD502], NFD: [0x1111, 0x1172, 0x11C1], NFKC: [0xD502], NFKD: [0x1111, 0x1172, 0x11C1] }, -{ source: [0xD503], NFC: [0xD503], NFD: [0x1111, 0x1172, 0x11C2], NFKC: [0xD503], NFKD: [0x1111, 0x1172, 0x11C2] }, -{ source: [0xD504], NFC: [0xD504], NFD: [0x1111, 0x1173], NFKC: [0xD504], NFKD: [0x1111, 0x1173] }, -{ source: [0xD505], NFC: [0xD505], NFD: [0x1111, 0x1173, 0x11A8], NFKC: [0xD505], NFKD: [0x1111, 0x1173, 0x11A8] }, -{ source: [0xD506], NFC: [0xD506], NFD: [0x1111, 0x1173, 0x11A9], NFKC: [0xD506], NFKD: [0x1111, 0x1173, 0x11A9] }, -{ source: [0xD507], NFC: [0xD507], NFD: [0x1111, 0x1173, 0x11AA], NFKC: [0xD507], NFKD: [0x1111, 0x1173, 0x11AA] }, -{ source: [0xD508], NFC: [0xD508], NFD: [0x1111, 0x1173, 0x11AB], NFKC: [0xD508], NFKD: [0x1111, 0x1173, 0x11AB] }, -{ source: [0xD509], NFC: [0xD509], NFD: [0x1111, 0x1173, 0x11AC], NFKC: [0xD509], NFKD: [0x1111, 0x1173, 0x11AC] }, -{ source: [0xD50A], NFC: [0xD50A], NFD: [0x1111, 0x1173, 0x11AD], NFKC: [0xD50A], NFKD: [0x1111, 0x1173, 0x11AD] }, -{ source: [0xD50B], NFC: [0xD50B], NFD: [0x1111, 0x1173, 0x11AE], NFKC: [0xD50B], NFKD: [0x1111, 0x1173, 0x11AE] }, -{ source: [0xD50C], NFC: [0xD50C], NFD: [0x1111, 0x1173, 0x11AF], NFKC: [0xD50C], NFKD: [0x1111, 0x1173, 0x11AF] }, -{ source: [0xD50D], NFC: [0xD50D], NFD: [0x1111, 0x1173, 0x11B0], NFKC: [0xD50D], NFKD: [0x1111, 0x1173, 0x11B0] }, -{ source: [0xD50E], NFC: [0xD50E], NFD: [0x1111, 0x1173, 0x11B1], NFKC: [0xD50E], NFKD: [0x1111, 0x1173, 0x11B1] }, -{ source: [0xD50F], NFC: [0xD50F], NFD: [0x1111, 0x1173, 0x11B2], NFKC: [0xD50F], NFKD: [0x1111, 0x1173, 0x11B2] }, -{ source: [0xD510], NFC: [0xD510], NFD: [0x1111, 0x1173, 0x11B3], NFKC: [0xD510], NFKD: [0x1111, 0x1173, 0x11B3] }, -{ source: [0xD511], NFC: [0xD511], NFD: [0x1111, 0x1173, 0x11B4], NFKC: [0xD511], NFKD: [0x1111, 0x1173, 0x11B4] }, -{ source: [0xD512], NFC: [0xD512], NFD: [0x1111, 0x1173, 0x11B5], NFKC: [0xD512], NFKD: [0x1111, 0x1173, 0x11B5] }, -{ source: [0xD513], NFC: [0xD513], NFD: [0x1111, 0x1173, 0x11B6], NFKC: [0xD513], NFKD: [0x1111, 0x1173, 0x11B6] }, -{ source: [0xD514], NFC: [0xD514], NFD: [0x1111, 0x1173, 0x11B7], NFKC: [0xD514], NFKD: [0x1111, 0x1173, 0x11B7] }, -{ source: [0xD515], NFC: [0xD515], NFD: [0x1111, 0x1173, 0x11B8], NFKC: [0xD515], NFKD: [0x1111, 0x1173, 0x11B8] }, -{ source: [0xD516], NFC: [0xD516], NFD: [0x1111, 0x1173, 0x11B9], NFKC: [0xD516], NFKD: [0x1111, 0x1173, 0x11B9] }, -{ source: [0xD517], NFC: [0xD517], NFD: [0x1111, 0x1173, 0x11BA], NFKC: [0xD517], NFKD: [0x1111, 0x1173, 0x11BA] }, -{ source: [0xD518], NFC: [0xD518], NFD: [0x1111, 0x1173, 0x11BB], NFKC: [0xD518], NFKD: [0x1111, 0x1173, 0x11BB] }, -{ source: [0xD519], NFC: [0xD519], NFD: [0x1111, 0x1173, 0x11BC], NFKC: [0xD519], NFKD: [0x1111, 0x1173, 0x11BC] }, -{ source: [0xD51A], NFC: [0xD51A], NFD: [0x1111, 0x1173, 0x11BD], NFKC: [0xD51A], NFKD: [0x1111, 0x1173, 0x11BD] }, -{ source: [0xD51B], NFC: [0xD51B], NFD: [0x1111, 0x1173, 0x11BE], NFKC: [0xD51B], NFKD: [0x1111, 0x1173, 0x11BE] }, -{ source: [0xD51C], NFC: [0xD51C], NFD: [0x1111, 0x1173, 0x11BF], NFKC: [0xD51C], NFKD: [0x1111, 0x1173, 0x11BF] }, -{ source: [0xD51D], NFC: [0xD51D], NFD: [0x1111, 0x1173, 0x11C0], NFKC: [0xD51D], NFKD: [0x1111, 0x1173, 0x11C0] }, -{ source: [0xD51E], NFC: [0xD51E], NFD: [0x1111, 0x1173, 0x11C1], NFKC: [0xD51E], NFKD: [0x1111, 0x1173, 0x11C1] }, -{ source: [0xD51F], NFC: [0xD51F], NFD: [0x1111, 0x1173, 0x11C2], NFKC: [0xD51F], NFKD: [0x1111, 0x1173, 0x11C2] }, -{ source: [0xD520], NFC: [0xD520], NFD: [0x1111, 0x1174], NFKC: [0xD520], NFKD: [0x1111, 0x1174] }, -{ source: [0xD521], NFC: [0xD521], NFD: [0x1111, 0x1174, 0x11A8], NFKC: [0xD521], NFKD: [0x1111, 0x1174, 0x11A8] }, -{ source: [0xD522], NFC: [0xD522], NFD: [0x1111, 0x1174, 0x11A9], NFKC: [0xD522], NFKD: [0x1111, 0x1174, 0x11A9] }, -{ source: [0xD523], NFC: [0xD523], NFD: [0x1111, 0x1174, 0x11AA], NFKC: [0xD523], NFKD: [0x1111, 0x1174, 0x11AA] }, -{ source: [0xD524], NFC: [0xD524], NFD: [0x1111, 0x1174, 0x11AB], NFKC: [0xD524], NFKD: [0x1111, 0x1174, 0x11AB] }, -{ source: [0xD525], NFC: [0xD525], NFD: [0x1111, 0x1174, 0x11AC], NFKC: [0xD525], NFKD: [0x1111, 0x1174, 0x11AC] }, -{ source: [0xD526], NFC: [0xD526], NFD: [0x1111, 0x1174, 0x11AD], NFKC: [0xD526], NFKD: [0x1111, 0x1174, 0x11AD] }, -{ source: [0xD527], NFC: [0xD527], NFD: [0x1111, 0x1174, 0x11AE], NFKC: [0xD527], NFKD: [0x1111, 0x1174, 0x11AE] }, -{ source: [0xD528], NFC: [0xD528], NFD: [0x1111, 0x1174, 0x11AF], NFKC: [0xD528], NFKD: [0x1111, 0x1174, 0x11AF] }, -{ source: [0xD529], NFC: [0xD529], NFD: [0x1111, 0x1174, 0x11B0], NFKC: [0xD529], NFKD: [0x1111, 0x1174, 0x11B0] }, -{ source: [0xD52A], NFC: [0xD52A], NFD: [0x1111, 0x1174, 0x11B1], NFKC: [0xD52A], NFKD: [0x1111, 0x1174, 0x11B1] }, -{ source: [0xD52B], NFC: [0xD52B], NFD: [0x1111, 0x1174, 0x11B2], NFKC: [0xD52B], NFKD: [0x1111, 0x1174, 0x11B2] }, -{ source: [0xD52C], NFC: [0xD52C], NFD: [0x1111, 0x1174, 0x11B3], NFKC: [0xD52C], NFKD: [0x1111, 0x1174, 0x11B3] }, -{ source: [0xD52D], NFC: [0xD52D], NFD: [0x1111, 0x1174, 0x11B4], NFKC: [0xD52D], NFKD: [0x1111, 0x1174, 0x11B4] }, -{ source: [0xD52E], NFC: [0xD52E], NFD: [0x1111, 0x1174, 0x11B5], NFKC: [0xD52E], NFKD: [0x1111, 0x1174, 0x11B5] }, -{ source: [0xD52F], NFC: [0xD52F], NFD: [0x1111, 0x1174, 0x11B6], NFKC: [0xD52F], NFKD: [0x1111, 0x1174, 0x11B6] }, -{ source: [0xD530], NFC: [0xD530], NFD: [0x1111, 0x1174, 0x11B7], NFKC: [0xD530], NFKD: [0x1111, 0x1174, 0x11B7] }, -{ source: [0xD531], NFC: [0xD531], NFD: [0x1111, 0x1174, 0x11B8], NFKC: [0xD531], NFKD: [0x1111, 0x1174, 0x11B8] }, -{ source: [0xD532], NFC: [0xD532], NFD: [0x1111, 0x1174, 0x11B9], NFKC: [0xD532], NFKD: [0x1111, 0x1174, 0x11B9] }, -{ source: [0xD533], NFC: [0xD533], NFD: [0x1111, 0x1174, 0x11BA], NFKC: [0xD533], NFKD: [0x1111, 0x1174, 0x11BA] }, -{ source: [0xD534], NFC: [0xD534], NFD: [0x1111, 0x1174, 0x11BB], NFKC: [0xD534], NFKD: [0x1111, 0x1174, 0x11BB] }, -{ source: [0xD535], NFC: [0xD535], NFD: [0x1111, 0x1174, 0x11BC], NFKC: [0xD535], NFKD: [0x1111, 0x1174, 0x11BC] }, -{ source: [0xD536], NFC: [0xD536], NFD: [0x1111, 0x1174, 0x11BD], NFKC: [0xD536], NFKD: [0x1111, 0x1174, 0x11BD] }, -{ source: [0xD537], NFC: [0xD537], NFD: [0x1111, 0x1174, 0x11BE], NFKC: [0xD537], NFKD: [0x1111, 0x1174, 0x11BE] }, -{ source: [0xD538], NFC: [0xD538], NFD: [0x1111, 0x1174, 0x11BF], NFKC: [0xD538], NFKD: [0x1111, 0x1174, 0x11BF] }, -{ source: [0xD539], NFC: [0xD539], NFD: [0x1111, 0x1174, 0x11C0], NFKC: [0xD539], NFKD: [0x1111, 0x1174, 0x11C0] }, -{ source: [0xD53A], NFC: [0xD53A], NFD: [0x1111, 0x1174, 0x11C1], NFKC: [0xD53A], NFKD: [0x1111, 0x1174, 0x11C1] }, -{ source: [0xD53B], NFC: [0xD53B], NFD: [0x1111, 0x1174, 0x11C2], NFKC: [0xD53B], NFKD: [0x1111, 0x1174, 0x11C2] }, -{ source: [0xD53C], NFC: [0xD53C], NFD: [0x1111, 0x1175], NFKC: [0xD53C], NFKD: [0x1111, 0x1175] }, -{ source: [0xD53D], NFC: [0xD53D], NFD: [0x1111, 0x1175, 0x11A8], NFKC: [0xD53D], NFKD: [0x1111, 0x1175, 0x11A8] }, -{ source: [0xD53E], NFC: [0xD53E], NFD: [0x1111, 0x1175, 0x11A9], NFKC: [0xD53E], NFKD: [0x1111, 0x1175, 0x11A9] }, -{ source: [0xD53F], NFC: [0xD53F], NFD: [0x1111, 0x1175, 0x11AA], NFKC: [0xD53F], NFKD: [0x1111, 0x1175, 0x11AA] }, -{ source: [0xD540], NFC: [0xD540], NFD: [0x1111, 0x1175, 0x11AB], NFKC: [0xD540], NFKD: [0x1111, 0x1175, 0x11AB] }, -{ source: [0xD541], NFC: [0xD541], NFD: [0x1111, 0x1175, 0x11AC], NFKC: [0xD541], NFKD: [0x1111, 0x1175, 0x11AC] }, -{ source: [0xD542], NFC: [0xD542], NFD: [0x1111, 0x1175, 0x11AD], NFKC: [0xD542], NFKD: [0x1111, 0x1175, 0x11AD] }, -{ source: [0xD543], NFC: [0xD543], NFD: [0x1111, 0x1175, 0x11AE], NFKC: [0xD543], NFKD: [0x1111, 0x1175, 0x11AE] }, -{ source: [0xD544], NFC: [0xD544], NFD: [0x1111, 0x1175, 0x11AF], NFKC: [0xD544], NFKD: [0x1111, 0x1175, 0x11AF] }, -{ source: [0xD545], NFC: [0xD545], NFD: [0x1111, 0x1175, 0x11B0], NFKC: [0xD545], NFKD: [0x1111, 0x1175, 0x11B0] }, -{ source: [0xD546], NFC: [0xD546], NFD: [0x1111, 0x1175, 0x11B1], NFKC: [0xD546], NFKD: [0x1111, 0x1175, 0x11B1] }, -{ source: [0xD547], NFC: [0xD547], NFD: [0x1111, 0x1175, 0x11B2], NFKC: [0xD547], NFKD: [0x1111, 0x1175, 0x11B2] }, -{ source: [0xD548], NFC: [0xD548], NFD: [0x1111, 0x1175, 0x11B3], NFKC: [0xD548], NFKD: [0x1111, 0x1175, 0x11B3] }, -{ source: [0xD549], NFC: [0xD549], NFD: [0x1111, 0x1175, 0x11B4], NFKC: [0xD549], NFKD: [0x1111, 0x1175, 0x11B4] }, -{ source: [0xD54A], NFC: [0xD54A], NFD: [0x1111, 0x1175, 0x11B5], NFKC: [0xD54A], NFKD: [0x1111, 0x1175, 0x11B5] }, -{ source: [0xD54B], NFC: [0xD54B], NFD: [0x1111, 0x1175, 0x11B6], NFKC: [0xD54B], NFKD: [0x1111, 0x1175, 0x11B6] }, -{ source: [0xD54C], NFC: [0xD54C], NFD: [0x1111, 0x1175, 0x11B7], NFKC: [0xD54C], NFKD: [0x1111, 0x1175, 0x11B7] }, -{ source: [0xD54D], NFC: [0xD54D], NFD: [0x1111, 0x1175, 0x11B8], NFKC: [0xD54D], NFKD: [0x1111, 0x1175, 0x11B8] }, -{ source: [0xD54E], NFC: [0xD54E], NFD: [0x1111, 0x1175, 0x11B9], NFKC: [0xD54E], NFKD: [0x1111, 0x1175, 0x11B9] }, -{ source: [0xD54F], NFC: [0xD54F], NFD: [0x1111, 0x1175, 0x11BA], NFKC: [0xD54F], NFKD: [0x1111, 0x1175, 0x11BA] }, -{ source: [0xD550], NFC: [0xD550], NFD: [0x1111, 0x1175, 0x11BB], NFKC: [0xD550], NFKD: [0x1111, 0x1175, 0x11BB] }, -{ source: [0xD551], NFC: [0xD551], NFD: [0x1111, 0x1175, 0x11BC], NFKC: [0xD551], NFKD: [0x1111, 0x1175, 0x11BC] }, -{ source: [0xD552], NFC: [0xD552], NFD: [0x1111, 0x1175, 0x11BD], NFKC: [0xD552], NFKD: [0x1111, 0x1175, 0x11BD] }, -{ source: [0xD553], NFC: [0xD553], NFD: [0x1111, 0x1175, 0x11BE], NFKC: [0xD553], NFKD: [0x1111, 0x1175, 0x11BE] }, -{ source: [0xD554], NFC: [0xD554], NFD: [0x1111, 0x1175, 0x11BF], NFKC: [0xD554], NFKD: [0x1111, 0x1175, 0x11BF] }, -{ source: [0xD555], NFC: [0xD555], NFD: [0x1111, 0x1175, 0x11C0], NFKC: [0xD555], NFKD: [0x1111, 0x1175, 0x11C0] }, -{ source: [0xD556], NFC: [0xD556], NFD: [0x1111, 0x1175, 0x11C1], NFKC: [0xD556], NFKD: [0x1111, 0x1175, 0x11C1] }, -{ source: [0xD557], NFC: [0xD557], NFD: [0x1111, 0x1175, 0x11C2], NFKC: [0xD557], NFKD: [0x1111, 0x1175, 0x11C2] }, -{ source: [0xD558], NFC: [0xD558], NFD: [0x1112, 0x1161], NFKC: [0xD558], NFKD: [0x1112, 0x1161] }, -{ source: [0xD559], NFC: [0xD559], NFD: [0x1112, 0x1161, 0x11A8], NFKC: [0xD559], NFKD: [0x1112, 0x1161, 0x11A8] }, -{ source: [0xD55A], NFC: [0xD55A], NFD: [0x1112, 0x1161, 0x11A9], NFKC: [0xD55A], NFKD: [0x1112, 0x1161, 0x11A9] }, -{ source: [0xD55B], NFC: [0xD55B], NFD: [0x1112, 0x1161, 0x11AA], NFKC: [0xD55B], NFKD: [0x1112, 0x1161, 0x11AA] }, -{ source: [0xD55C], NFC: [0xD55C], NFD: [0x1112, 0x1161, 0x11AB], NFKC: [0xD55C], NFKD: [0x1112, 0x1161, 0x11AB] }, -{ source: [0xD55D], NFC: [0xD55D], NFD: [0x1112, 0x1161, 0x11AC], NFKC: [0xD55D], NFKD: [0x1112, 0x1161, 0x11AC] }, -{ source: [0xD55E], NFC: [0xD55E], NFD: [0x1112, 0x1161, 0x11AD], NFKC: [0xD55E], NFKD: [0x1112, 0x1161, 0x11AD] }, -{ source: [0xD55F], NFC: [0xD55F], NFD: [0x1112, 0x1161, 0x11AE], NFKC: [0xD55F], NFKD: [0x1112, 0x1161, 0x11AE] }, -{ source: [0xD560], NFC: [0xD560], NFD: [0x1112, 0x1161, 0x11AF], NFKC: [0xD560], NFKD: [0x1112, 0x1161, 0x11AF] }, -{ source: [0xD561], NFC: [0xD561], NFD: [0x1112, 0x1161, 0x11B0], NFKC: [0xD561], NFKD: [0x1112, 0x1161, 0x11B0] }, -{ source: [0xD562], NFC: [0xD562], NFD: [0x1112, 0x1161, 0x11B1], NFKC: [0xD562], NFKD: [0x1112, 0x1161, 0x11B1] }, -{ source: [0xD563], NFC: [0xD563], NFD: [0x1112, 0x1161, 0x11B2], NFKC: [0xD563], NFKD: [0x1112, 0x1161, 0x11B2] }, -{ source: [0xD564], NFC: [0xD564], NFD: [0x1112, 0x1161, 0x11B3], NFKC: [0xD564], NFKD: [0x1112, 0x1161, 0x11B3] }, -{ source: [0xD565], NFC: [0xD565], NFD: [0x1112, 0x1161, 0x11B4], NFKC: [0xD565], NFKD: [0x1112, 0x1161, 0x11B4] }, -{ source: [0xD566], NFC: [0xD566], NFD: [0x1112, 0x1161, 0x11B5], NFKC: [0xD566], NFKD: [0x1112, 0x1161, 0x11B5] }, -{ source: [0xD567], NFC: [0xD567], NFD: [0x1112, 0x1161, 0x11B6], NFKC: [0xD567], NFKD: [0x1112, 0x1161, 0x11B6] }, -{ source: [0xD568], NFC: [0xD568], NFD: [0x1112, 0x1161, 0x11B7], NFKC: [0xD568], NFKD: [0x1112, 0x1161, 0x11B7] }, -{ source: [0xD569], NFC: [0xD569], NFD: [0x1112, 0x1161, 0x11B8], NFKC: [0xD569], NFKD: [0x1112, 0x1161, 0x11B8] }, -{ source: [0xD56A], NFC: [0xD56A], NFD: [0x1112, 0x1161, 0x11B9], NFKC: [0xD56A], NFKD: [0x1112, 0x1161, 0x11B9] }, -{ source: [0xD56B], NFC: [0xD56B], NFD: [0x1112, 0x1161, 0x11BA], NFKC: [0xD56B], NFKD: [0x1112, 0x1161, 0x11BA] }, -{ source: [0xD56C], NFC: [0xD56C], NFD: [0x1112, 0x1161, 0x11BB], NFKC: [0xD56C], NFKD: [0x1112, 0x1161, 0x11BB] }, -{ source: [0xD56D], NFC: [0xD56D], NFD: [0x1112, 0x1161, 0x11BC], NFKC: [0xD56D], NFKD: [0x1112, 0x1161, 0x11BC] }, -{ source: [0xD56E], NFC: [0xD56E], NFD: [0x1112, 0x1161, 0x11BD], NFKC: [0xD56E], NFKD: [0x1112, 0x1161, 0x11BD] }, -{ source: [0xD56F], NFC: [0xD56F], NFD: [0x1112, 0x1161, 0x11BE], NFKC: [0xD56F], NFKD: [0x1112, 0x1161, 0x11BE] }, -{ source: [0xD570], NFC: [0xD570], NFD: [0x1112, 0x1161, 0x11BF], NFKC: [0xD570], NFKD: [0x1112, 0x1161, 0x11BF] }, -{ source: [0xD571], NFC: [0xD571], NFD: [0x1112, 0x1161, 0x11C0], NFKC: [0xD571], NFKD: [0x1112, 0x1161, 0x11C0] }, -{ source: [0xD572], NFC: [0xD572], NFD: [0x1112, 0x1161, 0x11C1], NFKC: [0xD572], NFKD: [0x1112, 0x1161, 0x11C1] }, -{ source: [0xD573], NFC: [0xD573], NFD: [0x1112, 0x1161, 0x11C2], NFKC: [0xD573], NFKD: [0x1112, 0x1161, 0x11C2] }, -{ source: [0xD574], NFC: [0xD574], NFD: [0x1112, 0x1162], NFKC: [0xD574], NFKD: [0x1112, 0x1162] }, -{ source: [0xD575], NFC: [0xD575], NFD: [0x1112, 0x1162, 0x11A8], NFKC: [0xD575], NFKD: [0x1112, 0x1162, 0x11A8] }, -{ source: [0xD576], NFC: [0xD576], NFD: [0x1112, 0x1162, 0x11A9], NFKC: [0xD576], NFKD: [0x1112, 0x1162, 0x11A9] }, -{ source: [0xD577], NFC: [0xD577], NFD: [0x1112, 0x1162, 0x11AA], NFKC: [0xD577], NFKD: [0x1112, 0x1162, 0x11AA] }, -{ source: [0xD578], NFC: [0xD578], NFD: [0x1112, 0x1162, 0x11AB], NFKC: [0xD578], NFKD: [0x1112, 0x1162, 0x11AB] }, -{ source: [0xD579], NFC: [0xD579], NFD: [0x1112, 0x1162, 0x11AC], NFKC: [0xD579], NFKD: [0x1112, 0x1162, 0x11AC] }, -{ source: [0xD57A], NFC: [0xD57A], NFD: [0x1112, 0x1162, 0x11AD], NFKC: [0xD57A], NFKD: [0x1112, 0x1162, 0x11AD] }, -{ source: [0xD57B], NFC: [0xD57B], NFD: [0x1112, 0x1162, 0x11AE], NFKC: [0xD57B], NFKD: [0x1112, 0x1162, 0x11AE] }, -{ source: [0xD57C], NFC: [0xD57C], NFD: [0x1112, 0x1162, 0x11AF], NFKC: [0xD57C], NFKD: [0x1112, 0x1162, 0x11AF] }, -{ source: [0xD57D], NFC: [0xD57D], NFD: [0x1112, 0x1162, 0x11B0], NFKC: [0xD57D], NFKD: [0x1112, 0x1162, 0x11B0] }, -{ source: [0xD57E], NFC: [0xD57E], NFD: [0x1112, 0x1162, 0x11B1], NFKC: [0xD57E], NFKD: [0x1112, 0x1162, 0x11B1] }, -{ source: [0xD57F], NFC: [0xD57F], NFD: [0x1112, 0x1162, 0x11B2], NFKC: [0xD57F], NFKD: [0x1112, 0x1162, 0x11B2] }, -{ source: [0xD580], NFC: [0xD580], NFD: [0x1112, 0x1162, 0x11B3], NFKC: [0xD580], NFKD: [0x1112, 0x1162, 0x11B3] }, -{ source: [0xD581], NFC: [0xD581], NFD: [0x1112, 0x1162, 0x11B4], NFKC: [0xD581], NFKD: [0x1112, 0x1162, 0x11B4] }, -{ source: [0xD582], NFC: [0xD582], NFD: [0x1112, 0x1162, 0x11B5], NFKC: [0xD582], NFKD: [0x1112, 0x1162, 0x11B5] }, -{ source: [0xD583], NFC: [0xD583], NFD: [0x1112, 0x1162, 0x11B6], NFKC: [0xD583], NFKD: [0x1112, 0x1162, 0x11B6] }, -{ source: [0xD584], NFC: [0xD584], NFD: [0x1112, 0x1162, 0x11B7], NFKC: [0xD584], NFKD: [0x1112, 0x1162, 0x11B7] }, -{ source: [0xD585], NFC: [0xD585], NFD: [0x1112, 0x1162, 0x11B8], NFKC: [0xD585], NFKD: [0x1112, 0x1162, 0x11B8] }, -{ source: [0xD586], NFC: [0xD586], NFD: [0x1112, 0x1162, 0x11B9], NFKC: [0xD586], NFKD: [0x1112, 0x1162, 0x11B9] }, -{ source: [0xD587], NFC: [0xD587], NFD: [0x1112, 0x1162, 0x11BA], NFKC: [0xD587], NFKD: [0x1112, 0x1162, 0x11BA] }, -{ source: [0xD588], NFC: [0xD588], NFD: [0x1112, 0x1162, 0x11BB], NFKC: [0xD588], NFKD: [0x1112, 0x1162, 0x11BB] }, -{ source: [0xD589], NFC: [0xD589], NFD: [0x1112, 0x1162, 0x11BC], NFKC: [0xD589], NFKD: [0x1112, 0x1162, 0x11BC] }, -{ source: [0xD58A], NFC: [0xD58A], NFD: [0x1112, 0x1162, 0x11BD], NFKC: [0xD58A], NFKD: [0x1112, 0x1162, 0x11BD] }, -{ source: [0xD58B], NFC: [0xD58B], NFD: [0x1112, 0x1162, 0x11BE], NFKC: [0xD58B], NFKD: [0x1112, 0x1162, 0x11BE] }, -{ source: [0xD58C], NFC: [0xD58C], NFD: [0x1112, 0x1162, 0x11BF], NFKC: [0xD58C], NFKD: [0x1112, 0x1162, 0x11BF] }, -{ source: [0xD58D], NFC: [0xD58D], NFD: [0x1112, 0x1162, 0x11C0], NFKC: [0xD58D], NFKD: [0x1112, 0x1162, 0x11C0] }, -{ source: [0xD58E], NFC: [0xD58E], NFD: [0x1112, 0x1162, 0x11C1], NFKC: [0xD58E], NFKD: [0x1112, 0x1162, 0x11C1] }, -{ source: [0xD58F], NFC: [0xD58F], NFD: [0x1112, 0x1162, 0x11C2], NFKC: [0xD58F], NFKD: [0x1112, 0x1162, 0x11C2] }, -{ source: [0xD590], NFC: [0xD590], NFD: [0x1112, 0x1163], NFKC: [0xD590], NFKD: [0x1112, 0x1163] }, -{ source: [0xD591], NFC: [0xD591], NFD: [0x1112, 0x1163, 0x11A8], NFKC: [0xD591], NFKD: [0x1112, 0x1163, 0x11A8] }, -{ source: [0xD592], NFC: [0xD592], NFD: [0x1112, 0x1163, 0x11A9], NFKC: [0xD592], NFKD: [0x1112, 0x1163, 0x11A9] }, -{ source: [0xD593], NFC: [0xD593], NFD: [0x1112, 0x1163, 0x11AA], NFKC: [0xD593], NFKD: [0x1112, 0x1163, 0x11AA] }, -{ source: [0xD594], NFC: [0xD594], NFD: [0x1112, 0x1163, 0x11AB], NFKC: [0xD594], NFKD: [0x1112, 0x1163, 0x11AB] }, -{ source: [0xD595], NFC: [0xD595], NFD: [0x1112, 0x1163, 0x11AC], NFKC: [0xD595], NFKD: [0x1112, 0x1163, 0x11AC] }, -{ source: [0xD596], NFC: [0xD596], NFD: [0x1112, 0x1163, 0x11AD], NFKC: [0xD596], NFKD: [0x1112, 0x1163, 0x11AD] }, -{ source: [0xD597], NFC: [0xD597], NFD: [0x1112, 0x1163, 0x11AE], NFKC: [0xD597], NFKD: [0x1112, 0x1163, 0x11AE] }, -{ source: [0xD598], NFC: [0xD598], NFD: [0x1112, 0x1163, 0x11AF], NFKC: [0xD598], NFKD: [0x1112, 0x1163, 0x11AF] }, -{ source: [0xD599], NFC: [0xD599], NFD: [0x1112, 0x1163, 0x11B0], NFKC: [0xD599], NFKD: [0x1112, 0x1163, 0x11B0] }, -{ source: [0xD59A], NFC: [0xD59A], NFD: [0x1112, 0x1163, 0x11B1], NFKC: [0xD59A], NFKD: [0x1112, 0x1163, 0x11B1] }, -{ source: [0xD59B], NFC: [0xD59B], NFD: [0x1112, 0x1163, 0x11B2], NFKC: [0xD59B], NFKD: [0x1112, 0x1163, 0x11B2] }, -{ source: [0xD59C], NFC: [0xD59C], NFD: [0x1112, 0x1163, 0x11B3], NFKC: [0xD59C], NFKD: [0x1112, 0x1163, 0x11B3] }, -{ source: [0xD59D], NFC: [0xD59D], NFD: [0x1112, 0x1163, 0x11B4], NFKC: [0xD59D], NFKD: [0x1112, 0x1163, 0x11B4] }, -{ source: [0xD59E], NFC: [0xD59E], NFD: [0x1112, 0x1163, 0x11B5], NFKC: [0xD59E], NFKD: [0x1112, 0x1163, 0x11B5] }, -{ source: [0xD59F], NFC: [0xD59F], NFD: [0x1112, 0x1163, 0x11B6], NFKC: [0xD59F], NFKD: [0x1112, 0x1163, 0x11B6] }, -{ source: [0xD5A0], NFC: [0xD5A0], NFD: [0x1112, 0x1163, 0x11B7], NFKC: [0xD5A0], NFKD: [0x1112, 0x1163, 0x11B7] }, -{ source: [0xD5A1], NFC: [0xD5A1], NFD: [0x1112, 0x1163, 0x11B8], NFKC: [0xD5A1], NFKD: [0x1112, 0x1163, 0x11B8] }, -{ source: [0xD5A2], NFC: [0xD5A2], NFD: [0x1112, 0x1163, 0x11B9], NFKC: [0xD5A2], NFKD: [0x1112, 0x1163, 0x11B9] }, -{ source: [0xD5A3], NFC: [0xD5A3], NFD: [0x1112, 0x1163, 0x11BA], NFKC: [0xD5A3], NFKD: [0x1112, 0x1163, 0x11BA] }, -{ source: [0xD5A4], NFC: [0xD5A4], NFD: [0x1112, 0x1163, 0x11BB], NFKC: [0xD5A4], NFKD: [0x1112, 0x1163, 0x11BB] }, -{ source: [0xD5A5], NFC: [0xD5A5], NFD: [0x1112, 0x1163, 0x11BC], NFKC: [0xD5A5], NFKD: [0x1112, 0x1163, 0x11BC] }, -{ source: [0xD5A6], NFC: [0xD5A6], NFD: [0x1112, 0x1163, 0x11BD], NFKC: [0xD5A6], NFKD: [0x1112, 0x1163, 0x11BD] }, -{ source: [0xD5A7], NFC: [0xD5A7], NFD: [0x1112, 0x1163, 0x11BE], NFKC: [0xD5A7], NFKD: [0x1112, 0x1163, 0x11BE] }, -{ source: [0xD5A8], NFC: [0xD5A8], NFD: [0x1112, 0x1163, 0x11BF], NFKC: [0xD5A8], NFKD: [0x1112, 0x1163, 0x11BF] }, -{ source: [0xD5A9], NFC: [0xD5A9], NFD: [0x1112, 0x1163, 0x11C0], NFKC: [0xD5A9], NFKD: [0x1112, 0x1163, 0x11C0] }, -{ source: [0xD5AA], NFC: [0xD5AA], NFD: [0x1112, 0x1163, 0x11C1], NFKC: [0xD5AA], NFKD: [0x1112, 0x1163, 0x11C1] }, -{ source: [0xD5AB], NFC: [0xD5AB], NFD: [0x1112, 0x1163, 0x11C2], NFKC: [0xD5AB], NFKD: [0x1112, 0x1163, 0x11C2] }, -{ source: [0xD5AC], NFC: [0xD5AC], NFD: [0x1112, 0x1164], NFKC: [0xD5AC], NFKD: [0x1112, 0x1164] }, -{ source: [0xD5AD], NFC: [0xD5AD], NFD: [0x1112, 0x1164, 0x11A8], NFKC: [0xD5AD], NFKD: [0x1112, 0x1164, 0x11A8] }, -{ source: [0xD5AE], NFC: [0xD5AE], NFD: [0x1112, 0x1164, 0x11A9], NFKC: [0xD5AE], NFKD: [0x1112, 0x1164, 0x11A9] }, -{ source: [0xD5AF], NFC: [0xD5AF], NFD: [0x1112, 0x1164, 0x11AA], NFKC: [0xD5AF], NFKD: [0x1112, 0x1164, 0x11AA] }, -{ source: [0xD5B0], NFC: [0xD5B0], NFD: [0x1112, 0x1164, 0x11AB], NFKC: [0xD5B0], NFKD: [0x1112, 0x1164, 0x11AB] }, -{ source: [0xD5B1], NFC: [0xD5B1], NFD: [0x1112, 0x1164, 0x11AC], NFKC: [0xD5B1], NFKD: [0x1112, 0x1164, 0x11AC] }, -{ source: [0xD5B2], NFC: [0xD5B2], NFD: [0x1112, 0x1164, 0x11AD], NFKC: [0xD5B2], NFKD: [0x1112, 0x1164, 0x11AD] }, -{ source: [0xD5B3], NFC: [0xD5B3], NFD: [0x1112, 0x1164, 0x11AE], NFKC: [0xD5B3], NFKD: [0x1112, 0x1164, 0x11AE] }, -{ source: [0xD5B4], NFC: [0xD5B4], NFD: [0x1112, 0x1164, 0x11AF], NFKC: [0xD5B4], NFKD: [0x1112, 0x1164, 0x11AF] }, -{ source: [0xD5B5], NFC: [0xD5B5], NFD: [0x1112, 0x1164, 0x11B0], NFKC: [0xD5B5], NFKD: [0x1112, 0x1164, 0x11B0] }, -{ source: [0xD5B6], NFC: [0xD5B6], NFD: [0x1112, 0x1164, 0x11B1], NFKC: [0xD5B6], NFKD: [0x1112, 0x1164, 0x11B1] }, -{ source: [0xD5B7], NFC: [0xD5B7], NFD: [0x1112, 0x1164, 0x11B2], NFKC: [0xD5B7], NFKD: [0x1112, 0x1164, 0x11B2] }, -{ source: [0xD5B8], NFC: [0xD5B8], NFD: [0x1112, 0x1164, 0x11B3], NFKC: [0xD5B8], NFKD: [0x1112, 0x1164, 0x11B3] }, -{ source: [0xD5B9], NFC: [0xD5B9], NFD: [0x1112, 0x1164, 0x11B4], NFKC: [0xD5B9], NFKD: [0x1112, 0x1164, 0x11B4] }, -{ source: [0xD5BA], NFC: [0xD5BA], NFD: [0x1112, 0x1164, 0x11B5], NFKC: [0xD5BA], NFKD: [0x1112, 0x1164, 0x11B5] }, -{ source: [0xD5BB], NFC: [0xD5BB], NFD: [0x1112, 0x1164, 0x11B6], NFKC: [0xD5BB], NFKD: [0x1112, 0x1164, 0x11B6] }, -{ source: [0xD5BC], NFC: [0xD5BC], NFD: [0x1112, 0x1164, 0x11B7], NFKC: [0xD5BC], NFKD: [0x1112, 0x1164, 0x11B7] }, -{ source: [0xD5BD], NFC: [0xD5BD], NFD: [0x1112, 0x1164, 0x11B8], NFKC: [0xD5BD], NFKD: [0x1112, 0x1164, 0x11B8] }, -{ source: [0xD5BE], NFC: [0xD5BE], NFD: [0x1112, 0x1164, 0x11B9], NFKC: [0xD5BE], NFKD: [0x1112, 0x1164, 0x11B9] }, -{ source: [0xD5BF], NFC: [0xD5BF], NFD: [0x1112, 0x1164, 0x11BA], NFKC: [0xD5BF], NFKD: [0x1112, 0x1164, 0x11BA] }, -{ source: [0xD5C0], NFC: [0xD5C0], NFD: [0x1112, 0x1164, 0x11BB], NFKC: [0xD5C0], NFKD: [0x1112, 0x1164, 0x11BB] }, -{ source: [0xD5C1], NFC: [0xD5C1], NFD: [0x1112, 0x1164, 0x11BC], NFKC: [0xD5C1], NFKD: [0x1112, 0x1164, 0x11BC] }, -{ source: [0xD5C2], NFC: [0xD5C2], NFD: [0x1112, 0x1164, 0x11BD], NFKC: [0xD5C2], NFKD: [0x1112, 0x1164, 0x11BD] }, -{ source: [0xD5C3], NFC: [0xD5C3], NFD: [0x1112, 0x1164, 0x11BE], NFKC: [0xD5C3], NFKD: [0x1112, 0x1164, 0x11BE] }, -{ source: [0xD5C4], NFC: [0xD5C4], NFD: [0x1112, 0x1164, 0x11BF], NFKC: [0xD5C4], NFKD: [0x1112, 0x1164, 0x11BF] }, -{ source: [0xD5C5], NFC: [0xD5C5], NFD: [0x1112, 0x1164, 0x11C0], NFKC: [0xD5C5], NFKD: [0x1112, 0x1164, 0x11C0] }, -{ source: [0xD5C6], NFC: [0xD5C6], NFD: [0x1112, 0x1164, 0x11C1], NFKC: [0xD5C6], NFKD: [0x1112, 0x1164, 0x11C1] }, -{ source: [0xD5C7], NFC: [0xD5C7], NFD: [0x1112, 0x1164, 0x11C2], NFKC: [0xD5C7], NFKD: [0x1112, 0x1164, 0x11C2] }, -{ source: [0xD5C8], NFC: [0xD5C8], NFD: [0x1112, 0x1165], NFKC: [0xD5C8], NFKD: [0x1112, 0x1165] }, -{ source: [0xD5C9], NFC: [0xD5C9], NFD: [0x1112, 0x1165, 0x11A8], NFKC: [0xD5C9], NFKD: [0x1112, 0x1165, 0x11A8] }, -{ source: [0xD5CA], NFC: [0xD5CA], NFD: [0x1112, 0x1165, 0x11A9], NFKC: [0xD5CA], NFKD: [0x1112, 0x1165, 0x11A9] }, -{ source: [0xD5CB], NFC: [0xD5CB], NFD: [0x1112, 0x1165, 0x11AA], NFKC: [0xD5CB], NFKD: [0x1112, 0x1165, 0x11AA] }, -{ source: [0xD5CC], NFC: [0xD5CC], NFD: [0x1112, 0x1165, 0x11AB], NFKC: [0xD5CC], NFKD: [0x1112, 0x1165, 0x11AB] }, -{ source: [0xD5CD], NFC: [0xD5CD], NFD: [0x1112, 0x1165, 0x11AC], NFKC: [0xD5CD], NFKD: [0x1112, 0x1165, 0x11AC] }, -{ source: [0xD5CE], NFC: [0xD5CE], NFD: [0x1112, 0x1165, 0x11AD], NFKC: [0xD5CE], NFKD: [0x1112, 0x1165, 0x11AD] }, -{ source: [0xD5CF], NFC: [0xD5CF], NFD: [0x1112, 0x1165, 0x11AE], NFKC: [0xD5CF], NFKD: [0x1112, 0x1165, 0x11AE] }, -{ source: [0xD5D0], NFC: [0xD5D0], NFD: [0x1112, 0x1165, 0x11AF], NFKC: [0xD5D0], NFKD: [0x1112, 0x1165, 0x11AF] }, -{ source: [0xD5D1], NFC: [0xD5D1], NFD: [0x1112, 0x1165, 0x11B0], NFKC: [0xD5D1], NFKD: [0x1112, 0x1165, 0x11B0] }, -{ source: [0xD5D2], NFC: [0xD5D2], NFD: [0x1112, 0x1165, 0x11B1], NFKC: [0xD5D2], NFKD: [0x1112, 0x1165, 0x11B1] }, -{ source: [0xD5D3], NFC: [0xD5D3], NFD: [0x1112, 0x1165, 0x11B2], NFKC: [0xD5D3], NFKD: [0x1112, 0x1165, 0x11B2] }, -{ source: [0xD5D4], NFC: [0xD5D4], NFD: [0x1112, 0x1165, 0x11B3], NFKC: [0xD5D4], NFKD: [0x1112, 0x1165, 0x11B3] }, -{ source: [0xD5D5], NFC: [0xD5D5], NFD: [0x1112, 0x1165, 0x11B4], NFKC: [0xD5D5], NFKD: [0x1112, 0x1165, 0x11B4] }, -{ source: [0xD5D6], NFC: [0xD5D6], NFD: [0x1112, 0x1165, 0x11B5], NFKC: [0xD5D6], NFKD: [0x1112, 0x1165, 0x11B5] }, -{ source: [0xD5D7], NFC: [0xD5D7], NFD: [0x1112, 0x1165, 0x11B6], NFKC: [0xD5D7], NFKD: [0x1112, 0x1165, 0x11B6] }, -{ source: [0xD5D8], NFC: [0xD5D8], NFD: [0x1112, 0x1165, 0x11B7], NFKC: [0xD5D8], NFKD: [0x1112, 0x1165, 0x11B7] }, -{ source: [0xD5D9], NFC: [0xD5D9], NFD: [0x1112, 0x1165, 0x11B8], NFKC: [0xD5D9], NFKD: [0x1112, 0x1165, 0x11B8] }, -{ source: [0xD5DA], NFC: [0xD5DA], NFD: [0x1112, 0x1165, 0x11B9], NFKC: [0xD5DA], NFKD: [0x1112, 0x1165, 0x11B9] }, -{ source: [0xD5DB], NFC: [0xD5DB], NFD: [0x1112, 0x1165, 0x11BA], NFKC: [0xD5DB], NFKD: [0x1112, 0x1165, 0x11BA] }, -{ source: [0xD5DC], NFC: [0xD5DC], NFD: [0x1112, 0x1165, 0x11BB], NFKC: [0xD5DC], NFKD: [0x1112, 0x1165, 0x11BB] }, -{ source: [0xD5DD], NFC: [0xD5DD], NFD: [0x1112, 0x1165, 0x11BC], NFKC: [0xD5DD], NFKD: [0x1112, 0x1165, 0x11BC] }, -{ source: [0xD5DE], NFC: [0xD5DE], NFD: [0x1112, 0x1165, 0x11BD], NFKC: [0xD5DE], NFKD: [0x1112, 0x1165, 0x11BD] }, -{ source: [0xD5DF], NFC: [0xD5DF], NFD: [0x1112, 0x1165, 0x11BE], NFKC: [0xD5DF], NFKD: [0x1112, 0x1165, 0x11BE] }, -{ source: [0xD5E0], NFC: [0xD5E0], NFD: [0x1112, 0x1165, 0x11BF], NFKC: [0xD5E0], NFKD: [0x1112, 0x1165, 0x11BF] }, -{ source: [0xD5E1], NFC: [0xD5E1], NFD: [0x1112, 0x1165, 0x11C0], NFKC: [0xD5E1], NFKD: [0x1112, 0x1165, 0x11C0] }, -{ source: [0xD5E2], NFC: [0xD5E2], NFD: [0x1112, 0x1165, 0x11C1], NFKC: [0xD5E2], NFKD: [0x1112, 0x1165, 0x11C1] }, -{ source: [0xD5E3], NFC: [0xD5E3], NFD: [0x1112, 0x1165, 0x11C2], NFKC: [0xD5E3], NFKD: [0x1112, 0x1165, 0x11C2] }, -{ source: [0xD5E4], NFC: [0xD5E4], NFD: [0x1112, 0x1166], NFKC: [0xD5E4], NFKD: [0x1112, 0x1166] }, -{ source: [0xD5E5], NFC: [0xD5E5], NFD: [0x1112, 0x1166, 0x11A8], NFKC: [0xD5E5], NFKD: [0x1112, 0x1166, 0x11A8] }, -{ source: [0xD5E6], NFC: [0xD5E6], NFD: [0x1112, 0x1166, 0x11A9], NFKC: [0xD5E6], NFKD: [0x1112, 0x1166, 0x11A9] }, -{ source: [0xD5E7], NFC: [0xD5E7], NFD: [0x1112, 0x1166, 0x11AA], NFKC: [0xD5E7], NFKD: [0x1112, 0x1166, 0x11AA] }, -{ source: [0xD5E8], NFC: [0xD5E8], NFD: [0x1112, 0x1166, 0x11AB], NFKC: [0xD5E8], NFKD: [0x1112, 0x1166, 0x11AB] }, -{ source: [0xD5E9], NFC: [0xD5E9], NFD: [0x1112, 0x1166, 0x11AC], NFKC: [0xD5E9], NFKD: [0x1112, 0x1166, 0x11AC] }, -{ source: [0xD5EA], NFC: [0xD5EA], NFD: [0x1112, 0x1166, 0x11AD], NFKC: [0xD5EA], NFKD: [0x1112, 0x1166, 0x11AD] }, -{ source: [0xD5EB], NFC: [0xD5EB], NFD: [0x1112, 0x1166, 0x11AE], NFKC: [0xD5EB], NFKD: [0x1112, 0x1166, 0x11AE] }, -{ source: [0xD5EC], NFC: [0xD5EC], NFD: [0x1112, 0x1166, 0x11AF], NFKC: [0xD5EC], NFKD: [0x1112, 0x1166, 0x11AF] }, -{ source: [0xD5ED], NFC: [0xD5ED], NFD: [0x1112, 0x1166, 0x11B0], NFKC: [0xD5ED], NFKD: [0x1112, 0x1166, 0x11B0] }, -{ source: [0xD5EE], NFC: [0xD5EE], NFD: [0x1112, 0x1166, 0x11B1], NFKC: [0xD5EE], NFKD: [0x1112, 0x1166, 0x11B1] }, -{ source: [0xD5EF], NFC: [0xD5EF], NFD: [0x1112, 0x1166, 0x11B2], NFKC: [0xD5EF], NFKD: [0x1112, 0x1166, 0x11B2] }, -{ source: [0xD5F0], NFC: [0xD5F0], NFD: [0x1112, 0x1166, 0x11B3], NFKC: [0xD5F0], NFKD: [0x1112, 0x1166, 0x11B3] }, -{ source: [0xD5F1], NFC: [0xD5F1], NFD: [0x1112, 0x1166, 0x11B4], NFKC: [0xD5F1], NFKD: [0x1112, 0x1166, 0x11B4] }, -{ source: [0xD5F2], NFC: [0xD5F2], NFD: [0x1112, 0x1166, 0x11B5], NFKC: [0xD5F2], NFKD: [0x1112, 0x1166, 0x11B5] }, -{ source: [0xD5F3], NFC: [0xD5F3], NFD: [0x1112, 0x1166, 0x11B6], NFKC: [0xD5F3], NFKD: [0x1112, 0x1166, 0x11B6] }, -{ source: [0xD5F4], NFC: [0xD5F4], NFD: [0x1112, 0x1166, 0x11B7], NFKC: [0xD5F4], NFKD: [0x1112, 0x1166, 0x11B7] }, -{ source: [0xD5F5], NFC: [0xD5F5], NFD: [0x1112, 0x1166, 0x11B8], NFKC: [0xD5F5], NFKD: [0x1112, 0x1166, 0x11B8] }, -{ source: [0xD5F6], NFC: [0xD5F6], NFD: [0x1112, 0x1166, 0x11B9], NFKC: [0xD5F6], NFKD: [0x1112, 0x1166, 0x11B9] }, -{ source: [0xD5F7], NFC: [0xD5F7], NFD: [0x1112, 0x1166, 0x11BA], NFKC: [0xD5F7], NFKD: [0x1112, 0x1166, 0x11BA] }, -{ source: [0xD5F8], NFC: [0xD5F8], NFD: [0x1112, 0x1166, 0x11BB], NFKC: [0xD5F8], NFKD: [0x1112, 0x1166, 0x11BB] }, -{ source: [0xD5F9], NFC: [0xD5F9], NFD: [0x1112, 0x1166, 0x11BC], NFKC: [0xD5F9], NFKD: [0x1112, 0x1166, 0x11BC] }, -{ source: [0xD5FA], NFC: [0xD5FA], NFD: [0x1112, 0x1166, 0x11BD], NFKC: [0xD5FA], NFKD: [0x1112, 0x1166, 0x11BD] }, -{ source: [0xD5FB], NFC: [0xD5FB], NFD: [0x1112, 0x1166, 0x11BE], NFKC: [0xD5FB], NFKD: [0x1112, 0x1166, 0x11BE] }, -{ source: [0xD5FC], NFC: [0xD5FC], NFD: [0x1112, 0x1166, 0x11BF], NFKC: [0xD5FC], NFKD: [0x1112, 0x1166, 0x11BF] }, -{ source: [0xD5FD], NFC: [0xD5FD], NFD: [0x1112, 0x1166, 0x11C0], NFKC: [0xD5FD], NFKD: [0x1112, 0x1166, 0x11C0] }, -{ source: [0xD5FE], NFC: [0xD5FE], NFD: [0x1112, 0x1166, 0x11C1], NFKC: [0xD5FE], NFKD: [0x1112, 0x1166, 0x11C1] }, -{ source: [0xD5FF], NFC: [0xD5FF], NFD: [0x1112, 0x1166, 0x11C2], NFKC: [0xD5FF], NFKD: [0x1112, 0x1166, 0x11C2] }, -{ source: [0xD600], NFC: [0xD600], NFD: [0x1112, 0x1167], NFKC: [0xD600], NFKD: [0x1112, 0x1167] }, -{ source: [0xD601], NFC: [0xD601], NFD: [0x1112, 0x1167, 0x11A8], NFKC: [0xD601], NFKD: [0x1112, 0x1167, 0x11A8] }, -{ source: [0xD602], NFC: [0xD602], NFD: [0x1112, 0x1167, 0x11A9], NFKC: [0xD602], NFKD: [0x1112, 0x1167, 0x11A9] }, -{ source: [0xD603], NFC: [0xD603], NFD: [0x1112, 0x1167, 0x11AA], NFKC: [0xD603], NFKD: [0x1112, 0x1167, 0x11AA] }, -{ source: [0xD604], NFC: [0xD604], NFD: [0x1112, 0x1167, 0x11AB], NFKC: [0xD604], NFKD: [0x1112, 0x1167, 0x11AB] }, -{ source: [0xD605], NFC: [0xD605], NFD: [0x1112, 0x1167, 0x11AC], NFKC: [0xD605], NFKD: [0x1112, 0x1167, 0x11AC] }, -{ source: [0xD606], NFC: [0xD606], NFD: [0x1112, 0x1167, 0x11AD], NFKC: [0xD606], NFKD: [0x1112, 0x1167, 0x11AD] }, -{ source: [0xD607], NFC: [0xD607], NFD: [0x1112, 0x1167, 0x11AE], NFKC: [0xD607], NFKD: [0x1112, 0x1167, 0x11AE] }, -{ source: [0xD608], NFC: [0xD608], NFD: [0x1112, 0x1167, 0x11AF], NFKC: [0xD608], NFKD: [0x1112, 0x1167, 0x11AF] }, -{ source: [0xD609], NFC: [0xD609], NFD: [0x1112, 0x1167, 0x11B0], NFKC: [0xD609], NFKD: [0x1112, 0x1167, 0x11B0] }, -{ source: [0xD60A], NFC: [0xD60A], NFD: [0x1112, 0x1167, 0x11B1], NFKC: [0xD60A], NFKD: [0x1112, 0x1167, 0x11B1] }, -{ source: [0xD60B], NFC: [0xD60B], NFD: [0x1112, 0x1167, 0x11B2], NFKC: [0xD60B], NFKD: [0x1112, 0x1167, 0x11B2] }, -{ source: [0xD60C], NFC: [0xD60C], NFD: [0x1112, 0x1167, 0x11B3], NFKC: [0xD60C], NFKD: [0x1112, 0x1167, 0x11B3] }, -{ source: [0xD60D], NFC: [0xD60D], NFD: [0x1112, 0x1167, 0x11B4], NFKC: [0xD60D], NFKD: [0x1112, 0x1167, 0x11B4] }, -{ source: [0xD60E], NFC: [0xD60E], NFD: [0x1112, 0x1167, 0x11B5], NFKC: [0xD60E], NFKD: [0x1112, 0x1167, 0x11B5] }, -{ source: [0xD60F], NFC: [0xD60F], NFD: [0x1112, 0x1167, 0x11B6], NFKC: [0xD60F], NFKD: [0x1112, 0x1167, 0x11B6] }, -{ source: [0xD610], NFC: [0xD610], NFD: [0x1112, 0x1167, 0x11B7], NFKC: [0xD610], NFKD: [0x1112, 0x1167, 0x11B7] }, -{ source: [0xD611], NFC: [0xD611], NFD: [0x1112, 0x1167, 0x11B8], NFKC: [0xD611], NFKD: [0x1112, 0x1167, 0x11B8] }, -{ source: [0xD612], NFC: [0xD612], NFD: [0x1112, 0x1167, 0x11B9], NFKC: [0xD612], NFKD: [0x1112, 0x1167, 0x11B9] }, -{ source: [0xD613], NFC: [0xD613], NFD: [0x1112, 0x1167, 0x11BA], NFKC: [0xD613], NFKD: [0x1112, 0x1167, 0x11BA] }, -{ source: [0xD614], NFC: [0xD614], NFD: [0x1112, 0x1167, 0x11BB], NFKC: [0xD614], NFKD: [0x1112, 0x1167, 0x11BB] }, -{ source: [0xD615], NFC: [0xD615], NFD: [0x1112, 0x1167, 0x11BC], NFKC: [0xD615], NFKD: [0x1112, 0x1167, 0x11BC] }, -{ source: [0xD616], NFC: [0xD616], NFD: [0x1112, 0x1167, 0x11BD], NFKC: [0xD616], NFKD: [0x1112, 0x1167, 0x11BD] }, -{ source: [0xD617], NFC: [0xD617], NFD: [0x1112, 0x1167, 0x11BE], NFKC: [0xD617], NFKD: [0x1112, 0x1167, 0x11BE] }, -{ source: [0xD618], NFC: [0xD618], NFD: [0x1112, 0x1167, 0x11BF], NFKC: [0xD618], NFKD: [0x1112, 0x1167, 0x11BF] }, -{ source: [0xD619], NFC: [0xD619], NFD: [0x1112, 0x1167, 0x11C0], NFKC: [0xD619], NFKD: [0x1112, 0x1167, 0x11C0] }, -{ source: [0xD61A], NFC: [0xD61A], NFD: [0x1112, 0x1167, 0x11C1], NFKC: [0xD61A], NFKD: [0x1112, 0x1167, 0x11C1] }, -{ source: [0xD61B], NFC: [0xD61B], NFD: [0x1112, 0x1167, 0x11C2], NFKC: [0xD61B], NFKD: [0x1112, 0x1167, 0x11C2] }, -{ source: [0xD61C], NFC: [0xD61C], NFD: [0x1112, 0x1168], NFKC: [0xD61C], NFKD: [0x1112, 0x1168] }, -{ source: [0xD61D], NFC: [0xD61D], NFD: [0x1112, 0x1168, 0x11A8], NFKC: [0xD61D], NFKD: [0x1112, 0x1168, 0x11A8] }, -{ source: [0xD61E], NFC: [0xD61E], NFD: [0x1112, 0x1168, 0x11A9], NFKC: [0xD61E], NFKD: [0x1112, 0x1168, 0x11A9] }, -{ source: [0xD61F], NFC: [0xD61F], NFD: [0x1112, 0x1168, 0x11AA], NFKC: [0xD61F], NFKD: [0x1112, 0x1168, 0x11AA] }, -{ source: [0xD620], NFC: [0xD620], NFD: [0x1112, 0x1168, 0x11AB], NFKC: [0xD620], NFKD: [0x1112, 0x1168, 0x11AB] }, -{ source: [0xD621], NFC: [0xD621], NFD: [0x1112, 0x1168, 0x11AC], NFKC: [0xD621], NFKD: [0x1112, 0x1168, 0x11AC] }, -{ source: [0xD622], NFC: [0xD622], NFD: [0x1112, 0x1168, 0x11AD], NFKC: [0xD622], NFKD: [0x1112, 0x1168, 0x11AD] }, -{ source: [0xD623], NFC: [0xD623], NFD: [0x1112, 0x1168, 0x11AE], NFKC: [0xD623], NFKD: [0x1112, 0x1168, 0x11AE] }, -{ source: [0xD624], NFC: [0xD624], NFD: [0x1112, 0x1168, 0x11AF], NFKC: [0xD624], NFKD: [0x1112, 0x1168, 0x11AF] }, -{ source: [0xD625], NFC: [0xD625], NFD: [0x1112, 0x1168, 0x11B0], NFKC: [0xD625], NFKD: [0x1112, 0x1168, 0x11B0] }, -{ source: [0xD626], NFC: [0xD626], NFD: [0x1112, 0x1168, 0x11B1], NFKC: [0xD626], NFKD: [0x1112, 0x1168, 0x11B1] }, -{ source: [0xD627], NFC: [0xD627], NFD: [0x1112, 0x1168, 0x11B2], NFKC: [0xD627], NFKD: [0x1112, 0x1168, 0x11B2] }, -{ source: [0xD628], NFC: [0xD628], NFD: [0x1112, 0x1168, 0x11B3], NFKC: [0xD628], NFKD: [0x1112, 0x1168, 0x11B3] }, -{ source: [0xD629], NFC: [0xD629], NFD: [0x1112, 0x1168, 0x11B4], NFKC: [0xD629], NFKD: [0x1112, 0x1168, 0x11B4] }, -{ source: [0xD62A], NFC: [0xD62A], NFD: [0x1112, 0x1168, 0x11B5], NFKC: [0xD62A], NFKD: [0x1112, 0x1168, 0x11B5] }, -{ source: [0xD62B], NFC: [0xD62B], NFD: [0x1112, 0x1168, 0x11B6], NFKC: [0xD62B], NFKD: [0x1112, 0x1168, 0x11B6] }, -{ source: [0xD62C], NFC: [0xD62C], NFD: [0x1112, 0x1168, 0x11B7], NFKC: [0xD62C], NFKD: [0x1112, 0x1168, 0x11B7] }, -{ source: [0xD62D], NFC: [0xD62D], NFD: [0x1112, 0x1168, 0x11B8], NFKC: [0xD62D], NFKD: [0x1112, 0x1168, 0x11B8] }, -{ source: [0xD62E], NFC: [0xD62E], NFD: [0x1112, 0x1168, 0x11B9], NFKC: [0xD62E], NFKD: [0x1112, 0x1168, 0x11B9] }, -{ source: [0xD62F], NFC: [0xD62F], NFD: [0x1112, 0x1168, 0x11BA], NFKC: [0xD62F], NFKD: [0x1112, 0x1168, 0x11BA] }, -{ source: [0xD630], NFC: [0xD630], NFD: [0x1112, 0x1168, 0x11BB], NFKC: [0xD630], NFKD: [0x1112, 0x1168, 0x11BB] }, -{ source: [0xD631], NFC: [0xD631], NFD: [0x1112, 0x1168, 0x11BC], NFKC: [0xD631], NFKD: [0x1112, 0x1168, 0x11BC] }, -{ source: [0xD632], NFC: [0xD632], NFD: [0x1112, 0x1168, 0x11BD], NFKC: [0xD632], NFKD: [0x1112, 0x1168, 0x11BD] }, -{ source: [0xD633], NFC: [0xD633], NFD: [0x1112, 0x1168, 0x11BE], NFKC: [0xD633], NFKD: [0x1112, 0x1168, 0x11BE] }, -{ source: [0xD634], NFC: [0xD634], NFD: [0x1112, 0x1168, 0x11BF], NFKC: [0xD634], NFKD: [0x1112, 0x1168, 0x11BF] }, -{ source: [0xD635], NFC: [0xD635], NFD: [0x1112, 0x1168, 0x11C0], NFKC: [0xD635], NFKD: [0x1112, 0x1168, 0x11C0] }, -{ source: [0xD636], NFC: [0xD636], NFD: [0x1112, 0x1168, 0x11C1], NFKC: [0xD636], NFKD: [0x1112, 0x1168, 0x11C1] }, -{ source: [0xD637], NFC: [0xD637], NFD: [0x1112, 0x1168, 0x11C2], NFKC: [0xD637], NFKD: [0x1112, 0x1168, 0x11C2] }, -{ source: [0xD638], NFC: [0xD638], NFD: [0x1112, 0x1169], NFKC: [0xD638], NFKD: [0x1112, 0x1169] }, -{ source: [0xD639], NFC: [0xD639], NFD: [0x1112, 0x1169, 0x11A8], NFKC: [0xD639], NFKD: [0x1112, 0x1169, 0x11A8] }, -{ source: [0xD63A], NFC: [0xD63A], NFD: [0x1112, 0x1169, 0x11A9], NFKC: [0xD63A], NFKD: [0x1112, 0x1169, 0x11A9] }, -{ source: [0xD63B], NFC: [0xD63B], NFD: [0x1112, 0x1169, 0x11AA], NFKC: [0xD63B], NFKD: [0x1112, 0x1169, 0x11AA] }, -{ source: [0xD63C], NFC: [0xD63C], NFD: [0x1112, 0x1169, 0x11AB], NFKC: [0xD63C], NFKD: [0x1112, 0x1169, 0x11AB] }, -{ source: [0xD63D], NFC: [0xD63D], NFD: [0x1112, 0x1169, 0x11AC], NFKC: [0xD63D], NFKD: [0x1112, 0x1169, 0x11AC] }, -{ source: [0xD63E], NFC: [0xD63E], NFD: [0x1112, 0x1169, 0x11AD], NFKC: [0xD63E], NFKD: [0x1112, 0x1169, 0x11AD] }, -{ source: [0xD63F], NFC: [0xD63F], NFD: [0x1112, 0x1169, 0x11AE], NFKC: [0xD63F], NFKD: [0x1112, 0x1169, 0x11AE] }, -{ source: [0xD640], NFC: [0xD640], NFD: [0x1112, 0x1169, 0x11AF], NFKC: [0xD640], NFKD: [0x1112, 0x1169, 0x11AF] }, -{ source: [0xD641], NFC: [0xD641], NFD: [0x1112, 0x1169, 0x11B0], NFKC: [0xD641], NFKD: [0x1112, 0x1169, 0x11B0] }, -{ source: [0xD642], NFC: [0xD642], NFD: [0x1112, 0x1169, 0x11B1], NFKC: [0xD642], NFKD: [0x1112, 0x1169, 0x11B1] }, -{ source: [0xD643], NFC: [0xD643], NFD: [0x1112, 0x1169, 0x11B2], NFKC: [0xD643], NFKD: [0x1112, 0x1169, 0x11B2] }, -{ source: [0xD644], NFC: [0xD644], NFD: [0x1112, 0x1169, 0x11B3], NFKC: [0xD644], NFKD: [0x1112, 0x1169, 0x11B3] }, -{ source: [0xD645], NFC: [0xD645], NFD: [0x1112, 0x1169, 0x11B4], NFKC: [0xD645], NFKD: [0x1112, 0x1169, 0x11B4] }, -{ source: [0xD646], NFC: [0xD646], NFD: [0x1112, 0x1169, 0x11B5], NFKC: [0xD646], NFKD: [0x1112, 0x1169, 0x11B5] }, -{ source: [0xD647], NFC: [0xD647], NFD: [0x1112, 0x1169, 0x11B6], NFKC: [0xD647], NFKD: [0x1112, 0x1169, 0x11B6] }, -{ source: [0xD648], NFC: [0xD648], NFD: [0x1112, 0x1169, 0x11B7], NFKC: [0xD648], NFKD: [0x1112, 0x1169, 0x11B7] }, -{ source: [0xD649], NFC: [0xD649], NFD: [0x1112, 0x1169, 0x11B8], NFKC: [0xD649], NFKD: [0x1112, 0x1169, 0x11B8] }, -{ source: [0xD64A], NFC: [0xD64A], NFD: [0x1112, 0x1169, 0x11B9], NFKC: [0xD64A], NFKD: [0x1112, 0x1169, 0x11B9] }, -{ source: [0xD64B], NFC: [0xD64B], NFD: [0x1112, 0x1169, 0x11BA], NFKC: [0xD64B], NFKD: [0x1112, 0x1169, 0x11BA] }, -{ source: [0xD64C], NFC: [0xD64C], NFD: [0x1112, 0x1169, 0x11BB], NFKC: [0xD64C], NFKD: [0x1112, 0x1169, 0x11BB] }, -{ source: [0xD64D], NFC: [0xD64D], NFD: [0x1112, 0x1169, 0x11BC], NFKC: [0xD64D], NFKD: [0x1112, 0x1169, 0x11BC] }, -{ source: [0xD64E], NFC: [0xD64E], NFD: [0x1112, 0x1169, 0x11BD], NFKC: [0xD64E], NFKD: [0x1112, 0x1169, 0x11BD] }, -{ source: [0xD64F], NFC: [0xD64F], NFD: [0x1112, 0x1169, 0x11BE], NFKC: [0xD64F], NFKD: [0x1112, 0x1169, 0x11BE] }, -{ source: [0xD650], NFC: [0xD650], NFD: [0x1112, 0x1169, 0x11BF], NFKC: [0xD650], NFKD: [0x1112, 0x1169, 0x11BF] }, -{ source: [0xD651], NFC: [0xD651], NFD: [0x1112, 0x1169, 0x11C0], NFKC: [0xD651], NFKD: [0x1112, 0x1169, 0x11C0] }, -{ source: [0xD652], NFC: [0xD652], NFD: [0x1112, 0x1169, 0x11C1], NFKC: [0xD652], NFKD: [0x1112, 0x1169, 0x11C1] }, -{ source: [0xD653], NFC: [0xD653], NFD: [0x1112, 0x1169, 0x11C2], NFKC: [0xD653], NFKD: [0x1112, 0x1169, 0x11C2] }, -{ source: [0xD654], NFC: [0xD654], NFD: [0x1112, 0x116A], NFKC: [0xD654], NFKD: [0x1112, 0x116A] }, -{ source: [0xD655], NFC: [0xD655], NFD: [0x1112, 0x116A, 0x11A8], NFKC: [0xD655], NFKD: [0x1112, 0x116A, 0x11A8] }, -{ source: [0xD656], NFC: [0xD656], NFD: [0x1112, 0x116A, 0x11A9], NFKC: [0xD656], NFKD: [0x1112, 0x116A, 0x11A9] }, -{ source: [0xD657], NFC: [0xD657], NFD: [0x1112, 0x116A, 0x11AA], NFKC: [0xD657], NFKD: [0x1112, 0x116A, 0x11AA] }, -{ source: [0xD658], NFC: [0xD658], NFD: [0x1112, 0x116A, 0x11AB], NFKC: [0xD658], NFKD: [0x1112, 0x116A, 0x11AB] }, -{ source: [0xD659], NFC: [0xD659], NFD: [0x1112, 0x116A, 0x11AC], NFKC: [0xD659], NFKD: [0x1112, 0x116A, 0x11AC] }, -{ source: [0xD65A], NFC: [0xD65A], NFD: [0x1112, 0x116A, 0x11AD], NFKC: [0xD65A], NFKD: [0x1112, 0x116A, 0x11AD] }, -{ source: [0xD65B], NFC: [0xD65B], NFD: [0x1112, 0x116A, 0x11AE], NFKC: [0xD65B], NFKD: [0x1112, 0x116A, 0x11AE] }, -{ source: [0xD65C], NFC: [0xD65C], NFD: [0x1112, 0x116A, 0x11AF], NFKC: [0xD65C], NFKD: [0x1112, 0x116A, 0x11AF] }, -{ source: [0xD65D], NFC: [0xD65D], NFD: [0x1112, 0x116A, 0x11B0], NFKC: [0xD65D], NFKD: [0x1112, 0x116A, 0x11B0] }, -{ source: [0xD65E], NFC: [0xD65E], NFD: [0x1112, 0x116A, 0x11B1], NFKC: [0xD65E], NFKD: [0x1112, 0x116A, 0x11B1] }, -{ source: [0xD65F], NFC: [0xD65F], NFD: [0x1112, 0x116A, 0x11B2], NFKC: [0xD65F], NFKD: [0x1112, 0x116A, 0x11B2] }, -{ source: [0xD660], NFC: [0xD660], NFD: [0x1112, 0x116A, 0x11B3], NFKC: [0xD660], NFKD: [0x1112, 0x116A, 0x11B3] }, -{ source: [0xD661], NFC: [0xD661], NFD: [0x1112, 0x116A, 0x11B4], NFKC: [0xD661], NFKD: [0x1112, 0x116A, 0x11B4] }, -{ source: [0xD662], NFC: [0xD662], NFD: [0x1112, 0x116A, 0x11B5], NFKC: [0xD662], NFKD: [0x1112, 0x116A, 0x11B5] }, -{ source: [0xD663], NFC: [0xD663], NFD: [0x1112, 0x116A, 0x11B6], NFKC: [0xD663], NFKD: [0x1112, 0x116A, 0x11B6] }, -{ source: [0xD664], NFC: [0xD664], NFD: [0x1112, 0x116A, 0x11B7], NFKC: [0xD664], NFKD: [0x1112, 0x116A, 0x11B7] }, -{ source: [0xD665], NFC: [0xD665], NFD: [0x1112, 0x116A, 0x11B8], NFKC: [0xD665], NFKD: [0x1112, 0x116A, 0x11B8] }, -{ source: [0xD666], NFC: [0xD666], NFD: [0x1112, 0x116A, 0x11B9], NFKC: [0xD666], NFKD: [0x1112, 0x116A, 0x11B9] }, -{ source: [0xD667], NFC: [0xD667], NFD: [0x1112, 0x116A, 0x11BA], NFKC: [0xD667], NFKD: [0x1112, 0x116A, 0x11BA] }, -{ source: [0xD668], NFC: [0xD668], NFD: [0x1112, 0x116A, 0x11BB], NFKC: [0xD668], NFKD: [0x1112, 0x116A, 0x11BB] }, -{ source: [0xD669], NFC: [0xD669], NFD: [0x1112, 0x116A, 0x11BC], NFKC: [0xD669], NFKD: [0x1112, 0x116A, 0x11BC] }, -{ source: [0xD66A], NFC: [0xD66A], NFD: [0x1112, 0x116A, 0x11BD], NFKC: [0xD66A], NFKD: [0x1112, 0x116A, 0x11BD] }, -{ source: [0xD66B], NFC: [0xD66B], NFD: [0x1112, 0x116A, 0x11BE], NFKC: [0xD66B], NFKD: [0x1112, 0x116A, 0x11BE] }, -{ source: [0xD66C], NFC: [0xD66C], NFD: [0x1112, 0x116A, 0x11BF], NFKC: [0xD66C], NFKD: [0x1112, 0x116A, 0x11BF] }, -{ source: [0xD66D], NFC: [0xD66D], NFD: [0x1112, 0x116A, 0x11C0], NFKC: [0xD66D], NFKD: [0x1112, 0x116A, 0x11C0] }, -{ source: [0xD66E], NFC: [0xD66E], NFD: [0x1112, 0x116A, 0x11C1], NFKC: [0xD66E], NFKD: [0x1112, 0x116A, 0x11C1] }, -{ source: [0xD66F], NFC: [0xD66F], NFD: [0x1112, 0x116A, 0x11C2], NFKC: [0xD66F], NFKD: [0x1112, 0x116A, 0x11C2] }, -{ source: [0xD670], NFC: [0xD670], NFD: [0x1112, 0x116B], NFKC: [0xD670], NFKD: [0x1112, 0x116B] }, -{ source: [0xD671], NFC: [0xD671], NFD: [0x1112, 0x116B, 0x11A8], NFKC: [0xD671], NFKD: [0x1112, 0x116B, 0x11A8] }, -{ source: [0xD672], NFC: [0xD672], NFD: [0x1112, 0x116B, 0x11A9], NFKC: [0xD672], NFKD: [0x1112, 0x116B, 0x11A9] }, -{ source: [0xD673], NFC: [0xD673], NFD: [0x1112, 0x116B, 0x11AA], NFKC: [0xD673], NFKD: [0x1112, 0x116B, 0x11AA] }, -{ source: [0xD674], NFC: [0xD674], NFD: [0x1112, 0x116B, 0x11AB], NFKC: [0xD674], NFKD: [0x1112, 0x116B, 0x11AB] }, -{ source: [0xD675], NFC: [0xD675], NFD: [0x1112, 0x116B, 0x11AC], NFKC: [0xD675], NFKD: [0x1112, 0x116B, 0x11AC] }, -{ source: [0xD676], NFC: [0xD676], NFD: [0x1112, 0x116B, 0x11AD], NFKC: [0xD676], NFKD: [0x1112, 0x116B, 0x11AD] }, -{ source: [0xD677], NFC: [0xD677], NFD: [0x1112, 0x116B, 0x11AE], NFKC: [0xD677], NFKD: [0x1112, 0x116B, 0x11AE] }, -{ source: [0xD678], NFC: [0xD678], NFD: [0x1112, 0x116B, 0x11AF], NFKC: [0xD678], NFKD: [0x1112, 0x116B, 0x11AF] }, -{ source: [0xD679], NFC: [0xD679], NFD: [0x1112, 0x116B, 0x11B0], NFKC: [0xD679], NFKD: [0x1112, 0x116B, 0x11B0] }, -{ source: [0xD67A], NFC: [0xD67A], NFD: [0x1112, 0x116B, 0x11B1], NFKC: [0xD67A], NFKD: [0x1112, 0x116B, 0x11B1] }, -{ source: [0xD67B], NFC: [0xD67B], NFD: [0x1112, 0x116B, 0x11B2], NFKC: [0xD67B], NFKD: [0x1112, 0x116B, 0x11B2] }, -{ source: [0xD67C], NFC: [0xD67C], NFD: [0x1112, 0x116B, 0x11B3], NFKC: [0xD67C], NFKD: [0x1112, 0x116B, 0x11B3] }, -{ source: [0xD67D], NFC: [0xD67D], NFD: [0x1112, 0x116B, 0x11B4], NFKC: [0xD67D], NFKD: [0x1112, 0x116B, 0x11B4] }, -{ source: [0xD67E], NFC: [0xD67E], NFD: [0x1112, 0x116B, 0x11B5], NFKC: [0xD67E], NFKD: [0x1112, 0x116B, 0x11B5] }, -{ source: [0xD67F], NFC: [0xD67F], NFD: [0x1112, 0x116B, 0x11B6], NFKC: [0xD67F], NFKD: [0x1112, 0x116B, 0x11B6] }, -{ source: [0xD680], NFC: [0xD680], NFD: [0x1112, 0x116B, 0x11B7], NFKC: [0xD680], NFKD: [0x1112, 0x116B, 0x11B7] }, -{ source: [0xD681], NFC: [0xD681], NFD: [0x1112, 0x116B, 0x11B8], NFKC: [0xD681], NFKD: [0x1112, 0x116B, 0x11B8] }, -{ source: [0xD682], NFC: [0xD682], NFD: [0x1112, 0x116B, 0x11B9], NFKC: [0xD682], NFKD: [0x1112, 0x116B, 0x11B9] }, -{ source: [0xD683], NFC: [0xD683], NFD: [0x1112, 0x116B, 0x11BA], NFKC: [0xD683], NFKD: [0x1112, 0x116B, 0x11BA] }, -{ source: [0xD684], NFC: [0xD684], NFD: [0x1112, 0x116B, 0x11BB], NFKC: [0xD684], NFKD: [0x1112, 0x116B, 0x11BB] }, -{ source: [0xD685], NFC: [0xD685], NFD: [0x1112, 0x116B, 0x11BC], NFKC: [0xD685], NFKD: [0x1112, 0x116B, 0x11BC] }, -{ source: [0xD686], NFC: [0xD686], NFD: [0x1112, 0x116B, 0x11BD], NFKC: [0xD686], NFKD: [0x1112, 0x116B, 0x11BD] }, -{ source: [0xD687], NFC: [0xD687], NFD: [0x1112, 0x116B, 0x11BE], NFKC: [0xD687], NFKD: [0x1112, 0x116B, 0x11BE] }, -{ source: [0xD688], NFC: [0xD688], NFD: [0x1112, 0x116B, 0x11BF], NFKC: [0xD688], NFKD: [0x1112, 0x116B, 0x11BF] }, -{ source: [0xD689], NFC: [0xD689], NFD: [0x1112, 0x116B, 0x11C0], NFKC: [0xD689], NFKD: [0x1112, 0x116B, 0x11C0] }, -{ source: [0xD68A], NFC: [0xD68A], NFD: [0x1112, 0x116B, 0x11C1], NFKC: [0xD68A], NFKD: [0x1112, 0x116B, 0x11C1] }, -{ source: [0xD68B], NFC: [0xD68B], NFD: [0x1112, 0x116B, 0x11C2], NFKC: [0xD68B], NFKD: [0x1112, 0x116B, 0x11C2] }, -{ source: [0xD68C], NFC: [0xD68C], NFD: [0x1112, 0x116C], NFKC: [0xD68C], NFKD: [0x1112, 0x116C] }, -{ source: [0xD68D], NFC: [0xD68D], NFD: [0x1112, 0x116C, 0x11A8], NFKC: [0xD68D], NFKD: [0x1112, 0x116C, 0x11A8] }, -{ source: [0xD68E], NFC: [0xD68E], NFD: [0x1112, 0x116C, 0x11A9], NFKC: [0xD68E], NFKD: [0x1112, 0x116C, 0x11A9] }, -{ source: [0xD68F], NFC: [0xD68F], NFD: [0x1112, 0x116C, 0x11AA], NFKC: [0xD68F], NFKD: [0x1112, 0x116C, 0x11AA] }, -{ source: [0xD690], NFC: [0xD690], NFD: [0x1112, 0x116C, 0x11AB], NFKC: [0xD690], NFKD: [0x1112, 0x116C, 0x11AB] }, -{ source: [0xD691], NFC: [0xD691], NFD: [0x1112, 0x116C, 0x11AC], NFKC: [0xD691], NFKD: [0x1112, 0x116C, 0x11AC] }, -{ source: [0xD692], NFC: [0xD692], NFD: [0x1112, 0x116C, 0x11AD], NFKC: [0xD692], NFKD: [0x1112, 0x116C, 0x11AD] }, -{ source: [0xD693], NFC: [0xD693], NFD: [0x1112, 0x116C, 0x11AE], NFKC: [0xD693], NFKD: [0x1112, 0x116C, 0x11AE] }, -{ source: [0xD694], NFC: [0xD694], NFD: [0x1112, 0x116C, 0x11AF], NFKC: [0xD694], NFKD: [0x1112, 0x116C, 0x11AF] }, -{ source: [0xD695], NFC: [0xD695], NFD: [0x1112, 0x116C, 0x11B0], NFKC: [0xD695], NFKD: [0x1112, 0x116C, 0x11B0] }, -{ source: [0xD696], NFC: [0xD696], NFD: [0x1112, 0x116C, 0x11B1], NFKC: [0xD696], NFKD: [0x1112, 0x116C, 0x11B1] }, -{ source: [0xD697], NFC: [0xD697], NFD: [0x1112, 0x116C, 0x11B2], NFKC: [0xD697], NFKD: [0x1112, 0x116C, 0x11B2] }, -{ source: [0xD698], NFC: [0xD698], NFD: [0x1112, 0x116C, 0x11B3], NFKC: [0xD698], NFKD: [0x1112, 0x116C, 0x11B3] }, -{ source: [0xD699], NFC: [0xD699], NFD: [0x1112, 0x116C, 0x11B4], NFKC: [0xD699], NFKD: [0x1112, 0x116C, 0x11B4] }, -{ source: [0xD69A], NFC: [0xD69A], NFD: [0x1112, 0x116C, 0x11B5], NFKC: [0xD69A], NFKD: [0x1112, 0x116C, 0x11B5] }, -{ source: [0xD69B], NFC: [0xD69B], NFD: [0x1112, 0x116C, 0x11B6], NFKC: [0xD69B], NFKD: [0x1112, 0x116C, 0x11B6] }, -{ source: [0xD69C], NFC: [0xD69C], NFD: [0x1112, 0x116C, 0x11B7], NFKC: [0xD69C], NFKD: [0x1112, 0x116C, 0x11B7] }, -{ source: [0xD69D], NFC: [0xD69D], NFD: [0x1112, 0x116C, 0x11B8], NFKC: [0xD69D], NFKD: [0x1112, 0x116C, 0x11B8] }, -{ source: [0xD69E], NFC: [0xD69E], NFD: [0x1112, 0x116C, 0x11B9], NFKC: [0xD69E], NFKD: [0x1112, 0x116C, 0x11B9] }, -{ source: [0xD69F], NFC: [0xD69F], NFD: [0x1112, 0x116C, 0x11BA], NFKC: [0xD69F], NFKD: [0x1112, 0x116C, 0x11BA] }, -{ source: [0xD6A0], NFC: [0xD6A0], NFD: [0x1112, 0x116C, 0x11BB], NFKC: [0xD6A0], NFKD: [0x1112, 0x116C, 0x11BB] }, -{ source: [0xD6A1], NFC: [0xD6A1], NFD: [0x1112, 0x116C, 0x11BC], NFKC: [0xD6A1], NFKD: [0x1112, 0x116C, 0x11BC] }, -{ source: [0xD6A2], NFC: [0xD6A2], NFD: [0x1112, 0x116C, 0x11BD], NFKC: [0xD6A2], NFKD: [0x1112, 0x116C, 0x11BD] }, -{ source: [0xD6A3], NFC: [0xD6A3], NFD: [0x1112, 0x116C, 0x11BE], NFKC: [0xD6A3], NFKD: [0x1112, 0x116C, 0x11BE] }, -{ source: [0xD6A4], NFC: [0xD6A4], NFD: [0x1112, 0x116C, 0x11BF], NFKC: [0xD6A4], NFKD: [0x1112, 0x116C, 0x11BF] }, -{ source: [0xD6A5], NFC: [0xD6A5], NFD: [0x1112, 0x116C, 0x11C0], NFKC: [0xD6A5], NFKD: [0x1112, 0x116C, 0x11C0] }, -{ source: [0xD6A6], NFC: [0xD6A6], NFD: [0x1112, 0x116C, 0x11C1], NFKC: [0xD6A6], NFKD: [0x1112, 0x116C, 0x11C1] }, -{ source: [0xD6A7], NFC: [0xD6A7], NFD: [0x1112, 0x116C, 0x11C2], NFKC: [0xD6A7], NFKD: [0x1112, 0x116C, 0x11C2] }, -{ source: [0xD6A8], NFC: [0xD6A8], NFD: [0x1112, 0x116D], NFKC: [0xD6A8], NFKD: [0x1112, 0x116D] }, -{ source: [0xD6A9], NFC: [0xD6A9], NFD: [0x1112, 0x116D, 0x11A8], NFKC: [0xD6A9], NFKD: [0x1112, 0x116D, 0x11A8] }, -{ source: [0xD6AA], NFC: [0xD6AA], NFD: [0x1112, 0x116D, 0x11A9], NFKC: [0xD6AA], NFKD: [0x1112, 0x116D, 0x11A9] }, -{ source: [0xD6AB], NFC: [0xD6AB], NFD: [0x1112, 0x116D, 0x11AA], NFKC: [0xD6AB], NFKD: [0x1112, 0x116D, 0x11AA] }, -{ source: [0xD6AC], NFC: [0xD6AC], NFD: [0x1112, 0x116D, 0x11AB], NFKC: [0xD6AC], NFKD: [0x1112, 0x116D, 0x11AB] }, -{ source: [0xD6AD], NFC: [0xD6AD], NFD: [0x1112, 0x116D, 0x11AC], NFKC: [0xD6AD], NFKD: [0x1112, 0x116D, 0x11AC] }, -{ source: [0xD6AE], NFC: [0xD6AE], NFD: [0x1112, 0x116D, 0x11AD], NFKC: [0xD6AE], NFKD: [0x1112, 0x116D, 0x11AD] }, -{ source: [0xD6AF], NFC: [0xD6AF], NFD: [0x1112, 0x116D, 0x11AE], NFKC: [0xD6AF], NFKD: [0x1112, 0x116D, 0x11AE] }, -{ source: [0xD6B0], NFC: [0xD6B0], NFD: [0x1112, 0x116D, 0x11AF], NFKC: [0xD6B0], NFKD: [0x1112, 0x116D, 0x11AF] }, -{ source: [0xD6B1], NFC: [0xD6B1], NFD: [0x1112, 0x116D, 0x11B0], NFKC: [0xD6B1], NFKD: [0x1112, 0x116D, 0x11B0] }, -{ source: [0xD6B2], NFC: [0xD6B2], NFD: [0x1112, 0x116D, 0x11B1], NFKC: [0xD6B2], NFKD: [0x1112, 0x116D, 0x11B1] }, -{ source: [0xD6B3], NFC: [0xD6B3], NFD: [0x1112, 0x116D, 0x11B2], NFKC: [0xD6B3], NFKD: [0x1112, 0x116D, 0x11B2] }, -{ source: [0xD6B4], NFC: [0xD6B4], NFD: [0x1112, 0x116D, 0x11B3], NFKC: [0xD6B4], NFKD: [0x1112, 0x116D, 0x11B3] }, -{ source: [0xD6B5], NFC: [0xD6B5], NFD: [0x1112, 0x116D, 0x11B4], NFKC: [0xD6B5], NFKD: [0x1112, 0x116D, 0x11B4] }, -{ source: [0xD6B6], NFC: [0xD6B6], NFD: [0x1112, 0x116D, 0x11B5], NFKC: [0xD6B6], NFKD: [0x1112, 0x116D, 0x11B5] }, -{ source: [0xD6B7], NFC: [0xD6B7], NFD: [0x1112, 0x116D, 0x11B6], NFKC: [0xD6B7], NFKD: [0x1112, 0x116D, 0x11B6] }, -{ source: [0xD6B8], NFC: [0xD6B8], NFD: [0x1112, 0x116D, 0x11B7], NFKC: [0xD6B8], NFKD: [0x1112, 0x116D, 0x11B7] }, -{ source: [0xD6B9], NFC: [0xD6B9], NFD: [0x1112, 0x116D, 0x11B8], NFKC: [0xD6B9], NFKD: [0x1112, 0x116D, 0x11B8] }, -{ source: [0xD6BA], NFC: [0xD6BA], NFD: [0x1112, 0x116D, 0x11B9], NFKC: [0xD6BA], NFKD: [0x1112, 0x116D, 0x11B9] }, -{ source: [0xD6BB], NFC: [0xD6BB], NFD: [0x1112, 0x116D, 0x11BA], NFKC: [0xD6BB], NFKD: [0x1112, 0x116D, 0x11BA] }, -{ source: [0xD6BC], NFC: [0xD6BC], NFD: [0x1112, 0x116D, 0x11BB], NFKC: [0xD6BC], NFKD: [0x1112, 0x116D, 0x11BB] }, -{ source: [0xD6BD], NFC: [0xD6BD], NFD: [0x1112, 0x116D, 0x11BC], NFKC: [0xD6BD], NFKD: [0x1112, 0x116D, 0x11BC] }, -{ source: [0xD6BE], NFC: [0xD6BE], NFD: [0x1112, 0x116D, 0x11BD], NFKC: [0xD6BE], NFKD: [0x1112, 0x116D, 0x11BD] }, -{ source: [0xD6BF], NFC: [0xD6BF], NFD: [0x1112, 0x116D, 0x11BE], NFKC: [0xD6BF], NFKD: [0x1112, 0x116D, 0x11BE] }, -{ source: [0xD6C0], NFC: [0xD6C0], NFD: [0x1112, 0x116D, 0x11BF], NFKC: [0xD6C0], NFKD: [0x1112, 0x116D, 0x11BF] }, -{ source: [0xD6C1], NFC: [0xD6C1], NFD: [0x1112, 0x116D, 0x11C0], NFKC: [0xD6C1], NFKD: [0x1112, 0x116D, 0x11C0] }, -{ source: [0xD6C2], NFC: [0xD6C2], NFD: [0x1112, 0x116D, 0x11C1], NFKC: [0xD6C2], NFKD: [0x1112, 0x116D, 0x11C1] }, -{ source: [0xD6C3], NFC: [0xD6C3], NFD: [0x1112, 0x116D, 0x11C2], NFKC: [0xD6C3], NFKD: [0x1112, 0x116D, 0x11C2] }, -{ source: [0xD6C4], NFC: [0xD6C4], NFD: [0x1112, 0x116E], NFKC: [0xD6C4], NFKD: [0x1112, 0x116E] }, -{ source: [0xD6C5], NFC: [0xD6C5], NFD: [0x1112, 0x116E, 0x11A8], NFKC: [0xD6C5], NFKD: [0x1112, 0x116E, 0x11A8] }, -{ source: [0xD6C6], NFC: [0xD6C6], NFD: [0x1112, 0x116E, 0x11A9], NFKC: [0xD6C6], NFKD: [0x1112, 0x116E, 0x11A9] }, -{ source: [0xD6C7], NFC: [0xD6C7], NFD: [0x1112, 0x116E, 0x11AA], NFKC: [0xD6C7], NFKD: [0x1112, 0x116E, 0x11AA] }, -{ source: [0xD6C8], NFC: [0xD6C8], NFD: [0x1112, 0x116E, 0x11AB], NFKC: [0xD6C8], NFKD: [0x1112, 0x116E, 0x11AB] }, -{ source: [0xD6C9], NFC: [0xD6C9], NFD: [0x1112, 0x116E, 0x11AC], NFKC: [0xD6C9], NFKD: [0x1112, 0x116E, 0x11AC] }, -{ source: [0xD6CA], NFC: [0xD6CA], NFD: [0x1112, 0x116E, 0x11AD], NFKC: [0xD6CA], NFKD: [0x1112, 0x116E, 0x11AD] }, -{ source: [0xD6CB], NFC: [0xD6CB], NFD: [0x1112, 0x116E, 0x11AE], NFKC: [0xD6CB], NFKD: [0x1112, 0x116E, 0x11AE] }, -{ source: [0xD6CC], NFC: [0xD6CC], NFD: [0x1112, 0x116E, 0x11AF], NFKC: [0xD6CC], NFKD: [0x1112, 0x116E, 0x11AF] }, -{ source: [0xD6CD], NFC: [0xD6CD], NFD: [0x1112, 0x116E, 0x11B0], NFKC: [0xD6CD], NFKD: [0x1112, 0x116E, 0x11B0] }, -{ source: [0xD6CE], NFC: [0xD6CE], NFD: [0x1112, 0x116E, 0x11B1], NFKC: [0xD6CE], NFKD: [0x1112, 0x116E, 0x11B1] }, -{ source: [0xD6CF], NFC: [0xD6CF], NFD: [0x1112, 0x116E, 0x11B2], NFKC: [0xD6CF], NFKD: [0x1112, 0x116E, 0x11B2] }, -{ source: [0xD6D0], NFC: [0xD6D0], NFD: [0x1112, 0x116E, 0x11B3], NFKC: [0xD6D0], NFKD: [0x1112, 0x116E, 0x11B3] }, -{ source: [0xD6D1], NFC: [0xD6D1], NFD: [0x1112, 0x116E, 0x11B4], NFKC: [0xD6D1], NFKD: [0x1112, 0x116E, 0x11B4] }, -{ source: [0xD6D2], NFC: [0xD6D2], NFD: [0x1112, 0x116E, 0x11B5], NFKC: [0xD6D2], NFKD: [0x1112, 0x116E, 0x11B5] }, -{ source: [0xD6D3], NFC: [0xD6D3], NFD: [0x1112, 0x116E, 0x11B6], NFKC: [0xD6D3], NFKD: [0x1112, 0x116E, 0x11B6] }, -{ source: [0xD6D4], NFC: [0xD6D4], NFD: [0x1112, 0x116E, 0x11B7], NFKC: [0xD6D4], NFKD: [0x1112, 0x116E, 0x11B7] }, -{ source: [0xD6D5], NFC: [0xD6D5], NFD: [0x1112, 0x116E, 0x11B8], NFKC: [0xD6D5], NFKD: [0x1112, 0x116E, 0x11B8] }, -{ source: [0xD6D6], NFC: [0xD6D6], NFD: [0x1112, 0x116E, 0x11B9], NFKC: [0xD6D6], NFKD: [0x1112, 0x116E, 0x11B9] }, -{ source: [0xD6D7], NFC: [0xD6D7], NFD: [0x1112, 0x116E, 0x11BA], NFKC: [0xD6D7], NFKD: [0x1112, 0x116E, 0x11BA] }, -{ source: [0xD6D8], NFC: [0xD6D8], NFD: [0x1112, 0x116E, 0x11BB], NFKC: [0xD6D8], NFKD: [0x1112, 0x116E, 0x11BB] }, -{ source: [0xD6D9], NFC: [0xD6D9], NFD: [0x1112, 0x116E, 0x11BC], NFKC: [0xD6D9], NFKD: [0x1112, 0x116E, 0x11BC] }, -{ source: [0xD6DA], NFC: [0xD6DA], NFD: [0x1112, 0x116E, 0x11BD], NFKC: [0xD6DA], NFKD: [0x1112, 0x116E, 0x11BD] }, -{ source: [0xD6DB], NFC: [0xD6DB], NFD: [0x1112, 0x116E, 0x11BE], NFKC: [0xD6DB], NFKD: [0x1112, 0x116E, 0x11BE] }, -{ source: [0xD6DC], NFC: [0xD6DC], NFD: [0x1112, 0x116E, 0x11BF], NFKC: [0xD6DC], NFKD: [0x1112, 0x116E, 0x11BF] }, -{ source: [0xD6DD], NFC: [0xD6DD], NFD: [0x1112, 0x116E, 0x11C0], NFKC: [0xD6DD], NFKD: [0x1112, 0x116E, 0x11C0] }, -{ source: [0xD6DE], NFC: [0xD6DE], NFD: [0x1112, 0x116E, 0x11C1], NFKC: [0xD6DE], NFKD: [0x1112, 0x116E, 0x11C1] }, -{ source: [0xD6DF], NFC: [0xD6DF], NFD: [0x1112, 0x116E, 0x11C2], NFKC: [0xD6DF], NFKD: [0x1112, 0x116E, 0x11C2] }, -{ source: [0xD6E0], NFC: [0xD6E0], NFD: [0x1112, 0x116F], NFKC: [0xD6E0], NFKD: [0x1112, 0x116F] }, -{ source: [0xD6E1], NFC: [0xD6E1], NFD: [0x1112, 0x116F, 0x11A8], NFKC: [0xD6E1], NFKD: [0x1112, 0x116F, 0x11A8] }, -{ source: [0xD6E2], NFC: [0xD6E2], NFD: [0x1112, 0x116F, 0x11A9], NFKC: [0xD6E2], NFKD: [0x1112, 0x116F, 0x11A9] }, -{ source: [0xD6E3], NFC: [0xD6E3], NFD: [0x1112, 0x116F, 0x11AA], NFKC: [0xD6E3], NFKD: [0x1112, 0x116F, 0x11AA] }, -{ source: [0xD6E4], NFC: [0xD6E4], NFD: [0x1112, 0x116F, 0x11AB], NFKC: [0xD6E4], NFKD: [0x1112, 0x116F, 0x11AB] }, -{ source: [0xD6E5], NFC: [0xD6E5], NFD: [0x1112, 0x116F, 0x11AC], NFKC: [0xD6E5], NFKD: [0x1112, 0x116F, 0x11AC] }, -{ source: [0xD6E6], NFC: [0xD6E6], NFD: [0x1112, 0x116F, 0x11AD], NFKC: [0xD6E6], NFKD: [0x1112, 0x116F, 0x11AD] }, -{ source: [0xD6E7], NFC: [0xD6E7], NFD: [0x1112, 0x116F, 0x11AE], NFKC: [0xD6E7], NFKD: [0x1112, 0x116F, 0x11AE] }, -{ source: [0xD6E8], NFC: [0xD6E8], NFD: [0x1112, 0x116F, 0x11AF], NFKC: [0xD6E8], NFKD: [0x1112, 0x116F, 0x11AF] }, -{ source: [0xD6E9], NFC: [0xD6E9], NFD: [0x1112, 0x116F, 0x11B0], NFKC: [0xD6E9], NFKD: [0x1112, 0x116F, 0x11B0] }, -{ source: [0xD6EA], NFC: [0xD6EA], NFD: [0x1112, 0x116F, 0x11B1], NFKC: [0xD6EA], NFKD: [0x1112, 0x116F, 0x11B1] }, -{ source: [0xD6EB], NFC: [0xD6EB], NFD: [0x1112, 0x116F, 0x11B2], NFKC: [0xD6EB], NFKD: [0x1112, 0x116F, 0x11B2] }, -{ source: [0xD6EC], NFC: [0xD6EC], NFD: [0x1112, 0x116F, 0x11B3], NFKC: [0xD6EC], NFKD: [0x1112, 0x116F, 0x11B3] }, -{ source: [0xD6ED], NFC: [0xD6ED], NFD: [0x1112, 0x116F, 0x11B4], NFKC: [0xD6ED], NFKD: [0x1112, 0x116F, 0x11B4] }, -{ source: [0xD6EE], NFC: [0xD6EE], NFD: [0x1112, 0x116F, 0x11B5], NFKC: [0xD6EE], NFKD: [0x1112, 0x116F, 0x11B5] }, -{ source: [0xD6EF], NFC: [0xD6EF], NFD: [0x1112, 0x116F, 0x11B6], NFKC: [0xD6EF], NFKD: [0x1112, 0x116F, 0x11B6] }, -{ source: [0xD6F0], NFC: [0xD6F0], NFD: [0x1112, 0x116F, 0x11B7], NFKC: [0xD6F0], NFKD: [0x1112, 0x116F, 0x11B7] }, -{ source: [0xD6F1], NFC: [0xD6F1], NFD: [0x1112, 0x116F, 0x11B8], NFKC: [0xD6F1], NFKD: [0x1112, 0x116F, 0x11B8] }, -{ source: [0xD6F2], NFC: [0xD6F2], NFD: [0x1112, 0x116F, 0x11B9], NFKC: [0xD6F2], NFKD: [0x1112, 0x116F, 0x11B9] }, -{ source: [0xD6F3], NFC: [0xD6F3], NFD: [0x1112, 0x116F, 0x11BA], NFKC: [0xD6F3], NFKD: [0x1112, 0x116F, 0x11BA] }, -{ source: [0xD6F4], NFC: [0xD6F4], NFD: [0x1112, 0x116F, 0x11BB], NFKC: [0xD6F4], NFKD: [0x1112, 0x116F, 0x11BB] }, -{ source: [0xD6F5], NFC: [0xD6F5], NFD: [0x1112, 0x116F, 0x11BC], NFKC: [0xD6F5], NFKD: [0x1112, 0x116F, 0x11BC] }, -{ source: [0xD6F6], NFC: [0xD6F6], NFD: [0x1112, 0x116F, 0x11BD], NFKC: [0xD6F6], NFKD: [0x1112, 0x116F, 0x11BD] }, -{ source: [0xD6F7], NFC: [0xD6F7], NFD: [0x1112, 0x116F, 0x11BE], NFKC: [0xD6F7], NFKD: [0x1112, 0x116F, 0x11BE] }, -{ source: [0xD6F8], NFC: [0xD6F8], NFD: [0x1112, 0x116F, 0x11BF], NFKC: [0xD6F8], NFKD: [0x1112, 0x116F, 0x11BF] }, -{ source: [0xD6F9], NFC: [0xD6F9], NFD: [0x1112, 0x116F, 0x11C0], NFKC: [0xD6F9], NFKD: [0x1112, 0x116F, 0x11C0] }, -{ source: [0xD6FA], NFC: [0xD6FA], NFD: [0x1112, 0x116F, 0x11C1], NFKC: [0xD6FA], NFKD: [0x1112, 0x116F, 0x11C1] }, -{ source: [0xD6FB], NFC: [0xD6FB], NFD: [0x1112, 0x116F, 0x11C2], NFKC: [0xD6FB], NFKD: [0x1112, 0x116F, 0x11C2] }, -{ source: [0xD6FC], NFC: [0xD6FC], NFD: [0x1112, 0x1170], NFKC: [0xD6FC], NFKD: [0x1112, 0x1170] }, -{ source: [0xD6FD], NFC: [0xD6FD], NFD: [0x1112, 0x1170, 0x11A8], NFKC: [0xD6FD], NFKD: [0x1112, 0x1170, 0x11A8] }, -{ source: [0xD6FE], NFC: [0xD6FE], NFD: [0x1112, 0x1170, 0x11A9], NFKC: [0xD6FE], NFKD: [0x1112, 0x1170, 0x11A9] }, -{ source: [0xD6FF], NFC: [0xD6FF], NFD: [0x1112, 0x1170, 0x11AA], NFKC: [0xD6FF], NFKD: [0x1112, 0x1170, 0x11AA] }, -{ source: [0xD700], NFC: [0xD700], NFD: [0x1112, 0x1170, 0x11AB], NFKC: [0xD700], NFKD: [0x1112, 0x1170, 0x11AB] }, -{ source: [0xD701], NFC: [0xD701], NFD: [0x1112, 0x1170, 0x11AC], NFKC: [0xD701], NFKD: [0x1112, 0x1170, 0x11AC] }, -{ source: [0xD702], NFC: [0xD702], NFD: [0x1112, 0x1170, 0x11AD], NFKC: [0xD702], NFKD: [0x1112, 0x1170, 0x11AD] }, -{ source: [0xD703], NFC: [0xD703], NFD: [0x1112, 0x1170, 0x11AE], NFKC: [0xD703], NFKD: [0x1112, 0x1170, 0x11AE] }, -{ source: [0xD704], NFC: [0xD704], NFD: [0x1112, 0x1170, 0x11AF], NFKC: [0xD704], NFKD: [0x1112, 0x1170, 0x11AF] }, -{ source: [0xD705], NFC: [0xD705], NFD: [0x1112, 0x1170, 0x11B0], NFKC: [0xD705], NFKD: [0x1112, 0x1170, 0x11B0] }, -{ source: [0xD706], NFC: [0xD706], NFD: [0x1112, 0x1170, 0x11B1], NFKC: [0xD706], NFKD: [0x1112, 0x1170, 0x11B1] }, -{ source: [0xD707], NFC: [0xD707], NFD: [0x1112, 0x1170, 0x11B2], NFKC: [0xD707], NFKD: [0x1112, 0x1170, 0x11B2] }, -{ source: [0xD708], NFC: [0xD708], NFD: [0x1112, 0x1170, 0x11B3], NFKC: [0xD708], NFKD: [0x1112, 0x1170, 0x11B3] }, -{ source: [0xD709], NFC: [0xD709], NFD: [0x1112, 0x1170, 0x11B4], NFKC: [0xD709], NFKD: [0x1112, 0x1170, 0x11B4] }, -{ source: [0xD70A], NFC: [0xD70A], NFD: [0x1112, 0x1170, 0x11B5], NFKC: [0xD70A], NFKD: [0x1112, 0x1170, 0x11B5] }, -{ source: [0xD70B], NFC: [0xD70B], NFD: [0x1112, 0x1170, 0x11B6], NFKC: [0xD70B], NFKD: [0x1112, 0x1170, 0x11B6] }, -{ source: [0xD70C], NFC: [0xD70C], NFD: [0x1112, 0x1170, 0x11B7], NFKC: [0xD70C], NFKD: [0x1112, 0x1170, 0x11B7] }, -{ source: [0xD70D], NFC: [0xD70D], NFD: [0x1112, 0x1170, 0x11B8], NFKC: [0xD70D], NFKD: [0x1112, 0x1170, 0x11B8] }, -{ source: [0xD70E], NFC: [0xD70E], NFD: [0x1112, 0x1170, 0x11B9], NFKC: [0xD70E], NFKD: [0x1112, 0x1170, 0x11B9] }, -{ source: [0xD70F], NFC: [0xD70F], NFD: [0x1112, 0x1170, 0x11BA], NFKC: [0xD70F], NFKD: [0x1112, 0x1170, 0x11BA] }, -{ source: [0xD710], NFC: [0xD710], NFD: [0x1112, 0x1170, 0x11BB], NFKC: [0xD710], NFKD: [0x1112, 0x1170, 0x11BB] }, -{ source: [0xD711], NFC: [0xD711], NFD: [0x1112, 0x1170, 0x11BC], NFKC: [0xD711], NFKD: [0x1112, 0x1170, 0x11BC] }, -{ source: [0xD712], NFC: [0xD712], NFD: [0x1112, 0x1170, 0x11BD], NFKC: [0xD712], NFKD: [0x1112, 0x1170, 0x11BD] }, -{ source: [0xD713], NFC: [0xD713], NFD: [0x1112, 0x1170, 0x11BE], NFKC: [0xD713], NFKD: [0x1112, 0x1170, 0x11BE] }, -{ source: [0xD714], NFC: [0xD714], NFD: [0x1112, 0x1170, 0x11BF], NFKC: [0xD714], NFKD: [0x1112, 0x1170, 0x11BF] }, -{ source: [0xD715], NFC: [0xD715], NFD: [0x1112, 0x1170, 0x11C0], NFKC: [0xD715], NFKD: [0x1112, 0x1170, 0x11C0] }, -{ source: [0xD716], NFC: [0xD716], NFD: [0x1112, 0x1170, 0x11C1], NFKC: [0xD716], NFKD: [0x1112, 0x1170, 0x11C1] }, -{ source: [0xD717], NFC: [0xD717], NFD: [0x1112, 0x1170, 0x11C2], NFKC: [0xD717], NFKD: [0x1112, 0x1170, 0x11C2] }, -{ source: [0xD718], NFC: [0xD718], NFD: [0x1112, 0x1171], NFKC: [0xD718], NFKD: [0x1112, 0x1171] }, -{ source: [0xD719], NFC: [0xD719], NFD: [0x1112, 0x1171, 0x11A8], NFKC: [0xD719], NFKD: [0x1112, 0x1171, 0x11A8] }, -{ source: [0xD71A], NFC: [0xD71A], NFD: [0x1112, 0x1171, 0x11A9], NFKC: [0xD71A], NFKD: [0x1112, 0x1171, 0x11A9] }, -{ source: [0xD71B], NFC: [0xD71B], NFD: [0x1112, 0x1171, 0x11AA], NFKC: [0xD71B], NFKD: [0x1112, 0x1171, 0x11AA] }, -{ source: [0xD71C], NFC: [0xD71C], NFD: [0x1112, 0x1171, 0x11AB], NFKC: [0xD71C], NFKD: [0x1112, 0x1171, 0x11AB] }, -{ source: [0xD71D], NFC: [0xD71D], NFD: [0x1112, 0x1171, 0x11AC], NFKC: [0xD71D], NFKD: [0x1112, 0x1171, 0x11AC] }, -{ source: [0xD71E], NFC: [0xD71E], NFD: [0x1112, 0x1171, 0x11AD], NFKC: [0xD71E], NFKD: [0x1112, 0x1171, 0x11AD] }, -{ source: [0xD71F], NFC: [0xD71F], NFD: [0x1112, 0x1171, 0x11AE], NFKC: [0xD71F], NFKD: [0x1112, 0x1171, 0x11AE] }, -{ source: [0xD720], NFC: [0xD720], NFD: [0x1112, 0x1171, 0x11AF], NFKC: [0xD720], NFKD: [0x1112, 0x1171, 0x11AF] }, -{ source: [0xD721], NFC: [0xD721], NFD: [0x1112, 0x1171, 0x11B0], NFKC: [0xD721], NFKD: [0x1112, 0x1171, 0x11B0] }, -{ source: [0xD722], NFC: [0xD722], NFD: [0x1112, 0x1171, 0x11B1], NFKC: [0xD722], NFKD: [0x1112, 0x1171, 0x11B1] }, -{ source: [0xD723], NFC: [0xD723], NFD: [0x1112, 0x1171, 0x11B2], NFKC: [0xD723], NFKD: [0x1112, 0x1171, 0x11B2] }, -{ source: [0xD724], NFC: [0xD724], NFD: [0x1112, 0x1171, 0x11B3], NFKC: [0xD724], NFKD: [0x1112, 0x1171, 0x11B3] }, -{ source: [0xD725], NFC: [0xD725], NFD: [0x1112, 0x1171, 0x11B4], NFKC: [0xD725], NFKD: [0x1112, 0x1171, 0x11B4] }, -{ source: [0xD726], NFC: [0xD726], NFD: [0x1112, 0x1171, 0x11B5], NFKC: [0xD726], NFKD: [0x1112, 0x1171, 0x11B5] }, -{ source: [0xD727], NFC: [0xD727], NFD: [0x1112, 0x1171, 0x11B6], NFKC: [0xD727], NFKD: [0x1112, 0x1171, 0x11B6] }, -{ source: [0xD728], NFC: [0xD728], NFD: [0x1112, 0x1171, 0x11B7], NFKC: [0xD728], NFKD: [0x1112, 0x1171, 0x11B7] }, -{ source: [0xD729], NFC: [0xD729], NFD: [0x1112, 0x1171, 0x11B8], NFKC: [0xD729], NFKD: [0x1112, 0x1171, 0x11B8] }, -{ source: [0xD72A], NFC: [0xD72A], NFD: [0x1112, 0x1171, 0x11B9], NFKC: [0xD72A], NFKD: [0x1112, 0x1171, 0x11B9] }, -{ source: [0xD72B], NFC: [0xD72B], NFD: [0x1112, 0x1171, 0x11BA], NFKC: [0xD72B], NFKD: [0x1112, 0x1171, 0x11BA] }, -{ source: [0xD72C], NFC: [0xD72C], NFD: [0x1112, 0x1171, 0x11BB], NFKC: [0xD72C], NFKD: [0x1112, 0x1171, 0x11BB] }, -{ source: [0xD72D], NFC: [0xD72D], NFD: [0x1112, 0x1171, 0x11BC], NFKC: [0xD72D], NFKD: [0x1112, 0x1171, 0x11BC] }, -{ source: [0xD72E], NFC: [0xD72E], NFD: [0x1112, 0x1171, 0x11BD], NFKC: [0xD72E], NFKD: [0x1112, 0x1171, 0x11BD] }, -{ source: [0xD72F], NFC: [0xD72F], NFD: [0x1112, 0x1171, 0x11BE], NFKC: [0xD72F], NFKD: [0x1112, 0x1171, 0x11BE] }, -{ source: [0xD730], NFC: [0xD730], NFD: [0x1112, 0x1171, 0x11BF], NFKC: [0xD730], NFKD: [0x1112, 0x1171, 0x11BF] }, -{ source: [0xD731], NFC: [0xD731], NFD: [0x1112, 0x1171, 0x11C0], NFKC: [0xD731], NFKD: [0x1112, 0x1171, 0x11C0] }, -{ source: [0xD732], NFC: [0xD732], NFD: [0x1112, 0x1171, 0x11C1], NFKC: [0xD732], NFKD: [0x1112, 0x1171, 0x11C1] }, -{ source: [0xD733], NFC: [0xD733], NFD: [0x1112, 0x1171, 0x11C2], NFKC: [0xD733], NFKD: [0x1112, 0x1171, 0x11C2] }, -{ source: [0xD734], NFC: [0xD734], NFD: [0x1112, 0x1172], NFKC: [0xD734], NFKD: [0x1112, 0x1172] }, -{ source: [0xD735], NFC: [0xD735], NFD: [0x1112, 0x1172, 0x11A8], NFKC: [0xD735], NFKD: [0x1112, 0x1172, 0x11A8] }, -{ source: [0xD736], NFC: [0xD736], NFD: [0x1112, 0x1172, 0x11A9], NFKC: [0xD736], NFKD: [0x1112, 0x1172, 0x11A9] }, -{ source: [0xD737], NFC: [0xD737], NFD: [0x1112, 0x1172, 0x11AA], NFKC: [0xD737], NFKD: [0x1112, 0x1172, 0x11AA] }, -{ source: [0xD738], NFC: [0xD738], NFD: [0x1112, 0x1172, 0x11AB], NFKC: [0xD738], NFKD: [0x1112, 0x1172, 0x11AB] }, -{ source: [0xD739], NFC: [0xD739], NFD: [0x1112, 0x1172, 0x11AC], NFKC: [0xD739], NFKD: [0x1112, 0x1172, 0x11AC] }, -{ source: [0xD73A], NFC: [0xD73A], NFD: [0x1112, 0x1172, 0x11AD], NFKC: [0xD73A], NFKD: [0x1112, 0x1172, 0x11AD] }, -{ source: [0xD73B], NFC: [0xD73B], NFD: [0x1112, 0x1172, 0x11AE], NFKC: [0xD73B], NFKD: [0x1112, 0x1172, 0x11AE] }, -{ source: [0xD73C], NFC: [0xD73C], NFD: [0x1112, 0x1172, 0x11AF], NFKC: [0xD73C], NFKD: [0x1112, 0x1172, 0x11AF] }, -{ source: [0xD73D], NFC: [0xD73D], NFD: [0x1112, 0x1172, 0x11B0], NFKC: [0xD73D], NFKD: [0x1112, 0x1172, 0x11B0] }, -{ source: [0xD73E], NFC: [0xD73E], NFD: [0x1112, 0x1172, 0x11B1], NFKC: [0xD73E], NFKD: [0x1112, 0x1172, 0x11B1] }, -{ source: [0xD73F], NFC: [0xD73F], NFD: [0x1112, 0x1172, 0x11B2], NFKC: [0xD73F], NFKD: [0x1112, 0x1172, 0x11B2] }, -{ source: [0xD740], NFC: [0xD740], NFD: [0x1112, 0x1172, 0x11B3], NFKC: [0xD740], NFKD: [0x1112, 0x1172, 0x11B3] }, -{ source: [0xD741], NFC: [0xD741], NFD: [0x1112, 0x1172, 0x11B4], NFKC: [0xD741], NFKD: [0x1112, 0x1172, 0x11B4] }, -{ source: [0xD742], NFC: [0xD742], NFD: [0x1112, 0x1172, 0x11B5], NFKC: [0xD742], NFKD: [0x1112, 0x1172, 0x11B5] }, -{ source: [0xD743], NFC: [0xD743], NFD: [0x1112, 0x1172, 0x11B6], NFKC: [0xD743], NFKD: [0x1112, 0x1172, 0x11B6] }, -{ source: [0xD744], NFC: [0xD744], NFD: [0x1112, 0x1172, 0x11B7], NFKC: [0xD744], NFKD: [0x1112, 0x1172, 0x11B7] }, -{ source: [0xD745], NFC: [0xD745], NFD: [0x1112, 0x1172, 0x11B8], NFKC: [0xD745], NFKD: [0x1112, 0x1172, 0x11B8] }, -{ source: [0xD746], NFC: [0xD746], NFD: [0x1112, 0x1172, 0x11B9], NFKC: [0xD746], NFKD: [0x1112, 0x1172, 0x11B9] }, -{ source: [0xD747], NFC: [0xD747], NFD: [0x1112, 0x1172, 0x11BA], NFKC: [0xD747], NFKD: [0x1112, 0x1172, 0x11BA] }, -{ source: [0xD748], NFC: [0xD748], NFD: [0x1112, 0x1172, 0x11BB], NFKC: [0xD748], NFKD: [0x1112, 0x1172, 0x11BB] }, -{ source: [0xD749], NFC: [0xD749], NFD: [0x1112, 0x1172, 0x11BC], NFKC: [0xD749], NFKD: [0x1112, 0x1172, 0x11BC] }, -{ source: [0xD74A], NFC: [0xD74A], NFD: [0x1112, 0x1172, 0x11BD], NFKC: [0xD74A], NFKD: [0x1112, 0x1172, 0x11BD] }, -{ source: [0xD74B], NFC: [0xD74B], NFD: [0x1112, 0x1172, 0x11BE], NFKC: [0xD74B], NFKD: [0x1112, 0x1172, 0x11BE] }, -{ source: [0xD74C], NFC: [0xD74C], NFD: [0x1112, 0x1172, 0x11BF], NFKC: [0xD74C], NFKD: [0x1112, 0x1172, 0x11BF] }, -{ source: [0xD74D], NFC: [0xD74D], NFD: [0x1112, 0x1172, 0x11C0], NFKC: [0xD74D], NFKD: [0x1112, 0x1172, 0x11C0] }, -{ source: [0xD74E], NFC: [0xD74E], NFD: [0x1112, 0x1172, 0x11C1], NFKC: [0xD74E], NFKD: [0x1112, 0x1172, 0x11C1] }, -{ source: [0xD74F], NFC: [0xD74F], NFD: [0x1112, 0x1172, 0x11C2], NFKC: [0xD74F], NFKD: [0x1112, 0x1172, 0x11C2] }, -{ source: [0xD750], NFC: [0xD750], NFD: [0x1112, 0x1173], NFKC: [0xD750], NFKD: [0x1112, 0x1173] }, -{ source: [0xD751], NFC: [0xD751], NFD: [0x1112, 0x1173, 0x11A8], NFKC: [0xD751], NFKD: [0x1112, 0x1173, 0x11A8] }, -{ source: [0xD752], NFC: [0xD752], NFD: [0x1112, 0x1173, 0x11A9], NFKC: [0xD752], NFKD: [0x1112, 0x1173, 0x11A9] }, -{ source: [0xD753], NFC: [0xD753], NFD: [0x1112, 0x1173, 0x11AA], NFKC: [0xD753], NFKD: [0x1112, 0x1173, 0x11AA] }, -{ source: [0xD754], NFC: [0xD754], NFD: [0x1112, 0x1173, 0x11AB], NFKC: [0xD754], NFKD: [0x1112, 0x1173, 0x11AB] }, -{ source: [0xD755], NFC: [0xD755], NFD: [0x1112, 0x1173, 0x11AC], NFKC: [0xD755], NFKD: [0x1112, 0x1173, 0x11AC] }, -{ source: [0xD756], NFC: [0xD756], NFD: [0x1112, 0x1173, 0x11AD], NFKC: [0xD756], NFKD: [0x1112, 0x1173, 0x11AD] }, -{ source: [0xD757], NFC: [0xD757], NFD: [0x1112, 0x1173, 0x11AE], NFKC: [0xD757], NFKD: [0x1112, 0x1173, 0x11AE] }, -{ source: [0xD758], NFC: [0xD758], NFD: [0x1112, 0x1173, 0x11AF], NFKC: [0xD758], NFKD: [0x1112, 0x1173, 0x11AF] }, -{ source: [0xD759], NFC: [0xD759], NFD: [0x1112, 0x1173, 0x11B0], NFKC: [0xD759], NFKD: [0x1112, 0x1173, 0x11B0] }, -{ source: [0xD75A], NFC: [0xD75A], NFD: [0x1112, 0x1173, 0x11B1], NFKC: [0xD75A], NFKD: [0x1112, 0x1173, 0x11B1] }, -{ source: [0xD75B], NFC: [0xD75B], NFD: [0x1112, 0x1173, 0x11B2], NFKC: [0xD75B], NFKD: [0x1112, 0x1173, 0x11B2] }, -{ source: [0xD75C], NFC: [0xD75C], NFD: [0x1112, 0x1173, 0x11B3], NFKC: [0xD75C], NFKD: [0x1112, 0x1173, 0x11B3] }, -{ source: [0xD75D], NFC: [0xD75D], NFD: [0x1112, 0x1173, 0x11B4], NFKC: [0xD75D], NFKD: [0x1112, 0x1173, 0x11B4] }, -{ source: [0xD75E], NFC: [0xD75E], NFD: [0x1112, 0x1173, 0x11B5], NFKC: [0xD75E], NFKD: [0x1112, 0x1173, 0x11B5] }, -{ source: [0xD75F], NFC: [0xD75F], NFD: [0x1112, 0x1173, 0x11B6], NFKC: [0xD75F], NFKD: [0x1112, 0x1173, 0x11B6] }, -{ source: [0xD760], NFC: [0xD760], NFD: [0x1112, 0x1173, 0x11B7], NFKC: [0xD760], NFKD: [0x1112, 0x1173, 0x11B7] }, -{ source: [0xD761], NFC: [0xD761], NFD: [0x1112, 0x1173, 0x11B8], NFKC: [0xD761], NFKD: [0x1112, 0x1173, 0x11B8] }, -{ source: [0xD762], NFC: [0xD762], NFD: [0x1112, 0x1173, 0x11B9], NFKC: [0xD762], NFKD: [0x1112, 0x1173, 0x11B9] }, -{ source: [0xD763], NFC: [0xD763], NFD: [0x1112, 0x1173, 0x11BA], NFKC: [0xD763], NFKD: [0x1112, 0x1173, 0x11BA] }, -{ source: [0xD764], NFC: [0xD764], NFD: [0x1112, 0x1173, 0x11BB], NFKC: [0xD764], NFKD: [0x1112, 0x1173, 0x11BB] }, -{ source: [0xD765], NFC: [0xD765], NFD: [0x1112, 0x1173, 0x11BC], NFKC: [0xD765], NFKD: [0x1112, 0x1173, 0x11BC] }, -{ source: [0xD766], NFC: [0xD766], NFD: [0x1112, 0x1173, 0x11BD], NFKC: [0xD766], NFKD: [0x1112, 0x1173, 0x11BD] }, -{ source: [0xD767], NFC: [0xD767], NFD: [0x1112, 0x1173, 0x11BE], NFKC: [0xD767], NFKD: [0x1112, 0x1173, 0x11BE] }, -{ source: [0xD768], NFC: [0xD768], NFD: [0x1112, 0x1173, 0x11BF], NFKC: [0xD768], NFKD: [0x1112, 0x1173, 0x11BF] }, -{ source: [0xD769], NFC: [0xD769], NFD: [0x1112, 0x1173, 0x11C0], NFKC: [0xD769], NFKD: [0x1112, 0x1173, 0x11C0] }, -{ source: [0xD76A], NFC: [0xD76A], NFD: [0x1112, 0x1173, 0x11C1], NFKC: [0xD76A], NFKD: [0x1112, 0x1173, 0x11C1] }, -{ source: [0xD76B], NFC: [0xD76B], NFD: [0x1112, 0x1173, 0x11C2], NFKC: [0xD76B], NFKD: [0x1112, 0x1173, 0x11C2] }, -{ source: [0xD76C], NFC: [0xD76C], NFD: [0x1112, 0x1174], NFKC: [0xD76C], NFKD: [0x1112, 0x1174] }, -{ source: [0xD76D], NFC: [0xD76D], NFD: [0x1112, 0x1174, 0x11A8], NFKC: [0xD76D], NFKD: [0x1112, 0x1174, 0x11A8] }, -{ source: [0xD76E], NFC: [0xD76E], NFD: [0x1112, 0x1174, 0x11A9], NFKC: [0xD76E], NFKD: [0x1112, 0x1174, 0x11A9] }, -{ source: [0xD76F], NFC: [0xD76F], NFD: [0x1112, 0x1174, 0x11AA], NFKC: [0xD76F], NFKD: [0x1112, 0x1174, 0x11AA] }, -{ source: [0xD770], NFC: [0xD770], NFD: [0x1112, 0x1174, 0x11AB], NFKC: [0xD770], NFKD: [0x1112, 0x1174, 0x11AB] }, -{ source: [0xD771], NFC: [0xD771], NFD: [0x1112, 0x1174, 0x11AC], NFKC: [0xD771], NFKD: [0x1112, 0x1174, 0x11AC] }, -{ source: [0xD772], NFC: [0xD772], NFD: [0x1112, 0x1174, 0x11AD], NFKC: [0xD772], NFKD: [0x1112, 0x1174, 0x11AD] }, -{ source: [0xD773], NFC: [0xD773], NFD: [0x1112, 0x1174, 0x11AE], NFKC: [0xD773], NFKD: [0x1112, 0x1174, 0x11AE] }, -{ source: [0xD774], NFC: [0xD774], NFD: [0x1112, 0x1174, 0x11AF], NFKC: [0xD774], NFKD: [0x1112, 0x1174, 0x11AF] }, -{ source: [0xD775], NFC: [0xD775], NFD: [0x1112, 0x1174, 0x11B0], NFKC: [0xD775], NFKD: [0x1112, 0x1174, 0x11B0] }, -{ source: [0xD776], NFC: [0xD776], NFD: [0x1112, 0x1174, 0x11B1], NFKC: [0xD776], NFKD: [0x1112, 0x1174, 0x11B1] }, -{ source: [0xD777], NFC: [0xD777], NFD: [0x1112, 0x1174, 0x11B2], NFKC: [0xD777], NFKD: [0x1112, 0x1174, 0x11B2] }, -{ source: [0xD778], NFC: [0xD778], NFD: [0x1112, 0x1174, 0x11B3], NFKC: [0xD778], NFKD: [0x1112, 0x1174, 0x11B3] }, -{ source: [0xD779], NFC: [0xD779], NFD: [0x1112, 0x1174, 0x11B4], NFKC: [0xD779], NFKD: [0x1112, 0x1174, 0x11B4] }, -{ source: [0xD77A], NFC: [0xD77A], NFD: [0x1112, 0x1174, 0x11B5], NFKC: [0xD77A], NFKD: [0x1112, 0x1174, 0x11B5] }, -{ source: [0xD77B], NFC: [0xD77B], NFD: [0x1112, 0x1174, 0x11B6], NFKC: [0xD77B], NFKD: [0x1112, 0x1174, 0x11B6] }, -{ source: [0xD77C], NFC: [0xD77C], NFD: [0x1112, 0x1174, 0x11B7], NFKC: [0xD77C], NFKD: [0x1112, 0x1174, 0x11B7] }, -{ source: [0xD77D], NFC: [0xD77D], NFD: [0x1112, 0x1174, 0x11B8], NFKC: [0xD77D], NFKD: [0x1112, 0x1174, 0x11B8] }, -{ source: [0xD77E], NFC: [0xD77E], NFD: [0x1112, 0x1174, 0x11B9], NFKC: [0xD77E], NFKD: [0x1112, 0x1174, 0x11B9] }, -{ source: [0xD77F], NFC: [0xD77F], NFD: [0x1112, 0x1174, 0x11BA], NFKC: [0xD77F], NFKD: [0x1112, 0x1174, 0x11BA] }, -{ source: [0xD780], NFC: [0xD780], NFD: [0x1112, 0x1174, 0x11BB], NFKC: [0xD780], NFKD: [0x1112, 0x1174, 0x11BB] }, -{ source: [0xD781], NFC: [0xD781], NFD: [0x1112, 0x1174, 0x11BC], NFKC: [0xD781], NFKD: [0x1112, 0x1174, 0x11BC] }, -{ source: [0xD782], NFC: [0xD782], NFD: [0x1112, 0x1174, 0x11BD], NFKC: [0xD782], NFKD: [0x1112, 0x1174, 0x11BD] }, -{ source: [0xD783], NFC: [0xD783], NFD: [0x1112, 0x1174, 0x11BE], NFKC: [0xD783], NFKD: [0x1112, 0x1174, 0x11BE] }, -{ source: [0xD784], NFC: [0xD784], NFD: [0x1112, 0x1174, 0x11BF], NFKC: [0xD784], NFKD: [0x1112, 0x1174, 0x11BF] }, -{ source: [0xD785], NFC: [0xD785], NFD: [0x1112, 0x1174, 0x11C0], NFKC: [0xD785], NFKD: [0x1112, 0x1174, 0x11C0] }, -{ source: [0xD786], NFC: [0xD786], NFD: [0x1112, 0x1174, 0x11C1], NFKC: [0xD786], NFKD: [0x1112, 0x1174, 0x11C1] }, -{ source: [0xD787], NFC: [0xD787], NFD: [0x1112, 0x1174, 0x11C2], NFKC: [0xD787], NFKD: [0x1112, 0x1174, 0x11C2] }, -{ source: [0xD788], NFC: [0xD788], NFD: [0x1112, 0x1175], NFKC: [0xD788], NFKD: [0x1112, 0x1175] }, -{ source: [0xD789], NFC: [0xD789], NFD: [0x1112, 0x1175, 0x11A8], NFKC: [0xD789], NFKD: [0x1112, 0x1175, 0x11A8] }, -{ source: [0xD78A], NFC: [0xD78A], NFD: [0x1112, 0x1175, 0x11A9], NFKC: [0xD78A], NFKD: [0x1112, 0x1175, 0x11A9] }, -{ source: [0xD78B], NFC: [0xD78B], NFD: [0x1112, 0x1175, 0x11AA], NFKC: [0xD78B], NFKD: [0x1112, 0x1175, 0x11AA] }, -{ source: [0xD78C], NFC: [0xD78C], NFD: [0x1112, 0x1175, 0x11AB], NFKC: [0xD78C], NFKD: [0x1112, 0x1175, 0x11AB] }, -{ source: [0xD78D], NFC: [0xD78D], NFD: [0x1112, 0x1175, 0x11AC], NFKC: [0xD78D], NFKD: [0x1112, 0x1175, 0x11AC] }, -{ source: [0xD78E], NFC: [0xD78E], NFD: [0x1112, 0x1175, 0x11AD], NFKC: [0xD78E], NFKD: [0x1112, 0x1175, 0x11AD] }, -{ source: [0xD78F], NFC: [0xD78F], NFD: [0x1112, 0x1175, 0x11AE], NFKC: [0xD78F], NFKD: [0x1112, 0x1175, 0x11AE] }, -{ source: [0xD790], NFC: [0xD790], NFD: [0x1112, 0x1175, 0x11AF], NFKC: [0xD790], NFKD: [0x1112, 0x1175, 0x11AF] }, -{ source: [0xD791], NFC: [0xD791], NFD: [0x1112, 0x1175, 0x11B0], NFKC: [0xD791], NFKD: [0x1112, 0x1175, 0x11B0] }, -{ source: [0xD792], NFC: [0xD792], NFD: [0x1112, 0x1175, 0x11B1], NFKC: [0xD792], NFKD: [0x1112, 0x1175, 0x11B1] }, -{ source: [0xD793], NFC: [0xD793], NFD: [0x1112, 0x1175, 0x11B2], NFKC: [0xD793], NFKD: [0x1112, 0x1175, 0x11B2] }, -{ source: [0xD794], NFC: [0xD794], NFD: [0x1112, 0x1175, 0x11B3], NFKC: [0xD794], NFKD: [0x1112, 0x1175, 0x11B3] }, -{ source: [0xD795], NFC: [0xD795], NFD: [0x1112, 0x1175, 0x11B4], NFKC: [0xD795], NFKD: [0x1112, 0x1175, 0x11B4] }, -{ source: [0xD796], NFC: [0xD796], NFD: [0x1112, 0x1175, 0x11B5], NFKC: [0xD796], NFKD: [0x1112, 0x1175, 0x11B5] }, -{ source: [0xD797], NFC: [0xD797], NFD: [0x1112, 0x1175, 0x11B6], NFKC: [0xD797], NFKD: [0x1112, 0x1175, 0x11B6] }, -{ source: [0xD798], NFC: [0xD798], NFD: [0x1112, 0x1175, 0x11B7], NFKC: [0xD798], NFKD: [0x1112, 0x1175, 0x11B7] }, -{ source: [0xD799], NFC: [0xD799], NFD: [0x1112, 0x1175, 0x11B8], NFKC: [0xD799], NFKD: [0x1112, 0x1175, 0x11B8] }, -{ source: [0xD79A], NFC: [0xD79A], NFD: [0x1112, 0x1175, 0x11B9], NFKC: [0xD79A], NFKD: [0x1112, 0x1175, 0x11B9] }, -{ source: [0xD79B], NFC: [0xD79B], NFD: [0x1112, 0x1175, 0x11BA], NFKC: [0xD79B], NFKD: [0x1112, 0x1175, 0x11BA] }, -{ source: [0xD79C], NFC: [0xD79C], NFD: [0x1112, 0x1175, 0x11BB], NFKC: [0xD79C], NFKD: [0x1112, 0x1175, 0x11BB] }, -{ source: [0xD79D], NFC: [0xD79D], NFD: [0x1112, 0x1175, 0x11BC], NFKC: [0xD79D], NFKD: [0x1112, 0x1175, 0x11BC] }, -{ source: [0xD79E], NFC: [0xD79E], NFD: [0x1112, 0x1175, 0x11BD], NFKC: [0xD79E], NFKD: [0x1112, 0x1175, 0x11BD] }, -{ source: [0xD79F], NFC: [0xD79F], NFD: [0x1112, 0x1175, 0x11BE], NFKC: [0xD79F], NFKD: [0x1112, 0x1175, 0x11BE] }, -{ source: [0xD7A0], NFC: [0xD7A0], NFD: [0x1112, 0x1175, 0x11BF], NFKC: [0xD7A0], NFKD: [0x1112, 0x1175, 0x11BF] }, -{ source: [0xD7A1], NFC: [0xD7A1], NFD: [0x1112, 0x1175, 0x11C0], NFKC: [0xD7A1], NFKD: [0x1112, 0x1175, 0x11C0] }, -{ source: [0xD7A2], NFC: [0xD7A2], NFD: [0x1112, 0x1175, 0x11C1], NFKC: [0xD7A2], NFKD: [0x1112, 0x1175, 0x11C1] }, -{ source: [0xD7A3], NFC: [0xD7A3], NFD: [0x1112, 0x1175, 0x11C2], NFKC: [0xD7A3], NFKD: [0x1112, 0x1175, 0x11C2] }, -{ source: [0xF900], NFC: [0x8C48], NFD: [0x8C48], NFKC: [0x8C48], NFKD: [0x8C48] }, -{ source: [0xF901], NFC: [0x66F4], NFD: [0x66F4], NFKC: [0x66F4], NFKD: [0x66F4] }, -{ source: [0xF902], NFC: [0x8ECA], NFD: [0x8ECA], NFKC: [0x8ECA], NFKD: [0x8ECA] }, -{ source: [0xF903], NFC: [0x8CC8], NFD: [0x8CC8], NFKC: [0x8CC8], NFKD: [0x8CC8] }, -{ source: [0xF904], NFC: [0x6ED1], NFD: [0x6ED1], NFKC: [0x6ED1], NFKD: [0x6ED1] }, -{ source: [0xF905], NFC: [0x4E32], NFD: [0x4E32], NFKC: [0x4E32], NFKD: [0x4E32] }, -{ source: [0xF906], NFC: [0x53E5], NFD: [0x53E5], NFKC: [0x53E5], NFKD: [0x53E5] }, -{ source: [0xF907], NFC: [0x9F9C], NFD: [0x9F9C], NFKC: [0x9F9C], NFKD: [0x9F9C] }, -{ source: [0xF908], NFC: [0x9F9C], NFD: [0x9F9C], NFKC: [0x9F9C], NFKD: [0x9F9C] }, -{ source: [0xF909], NFC: [0x5951], NFD: [0x5951], NFKC: [0x5951], NFKD: [0x5951] }, -{ source: [0xF90A], NFC: [0x91D1], NFD: [0x91D1], NFKC: [0x91D1], NFKD: [0x91D1] }, -{ source: [0xF90B], NFC: [0x5587], NFD: [0x5587], NFKC: [0x5587], NFKD: [0x5587] }, -{ source: [0xF90C], NFC: [0x5948], NFD: [0x5948], NFKC: [0x5948], NFKD: [0x5948] }, -{ source: [0xF90D], NFC: [0x61F6], NFD: [0x61F6], NFKC: [0x61F6], NFKD: [0x61F6] }, -{ source: [0xF90E], NFC: [0x7669], NFD: [0x7669], NFKC: [0x7669], NFKD: [0x7669] }, -{ source: [0xF90F], NFC: [0x7F85], NFD: [0x7F85], NFKC: [0x7F85], NFKD: [0x7F85] }, -{ source: [0xF910], NFC: [0x863F], NFD: [0x863F], NFKC: [0x863F], NFKD: [0x863F] }, -{ source: [0xF911], NFC: [0x87BA], NFD: [0x87BA], NFKC: [0x87BA], NFKD: [0x87BA] }, -{ source: [0xF912], NFC: [0x88F8], NFD: [0x88F8], NFKC: [0x88F8], NFKD: [0x88F8] }, -{ source: [0xF913], NFC: [0x908F], NFD: [0x908F], NFKC: [0x908F], NFKD: [0x908F] }, -{ source: [0xF914], NFC: [0x6A02], NFD: [0x6A02], NFKC: [0x6A02], NFKD: [0x6A02] }, -{ source: [0xF915], NFC: [0x6D1B], NFD: [0x6D1B], NFKC: [0x6D1B], NFKD: [0x6D1B] }, -{ source: [0xF916], NFC: [0x70D9], NFD: [0x70D9], NFKC: [0x70D9], NFKD: [0x70D9] }, -{ source: [0xF917], NFC: [0x73DE], NFD: [0x73DE], NFKC: [0x73DE], NFKD: [0x73DE] }, -{ source: [0xF918], NFC: [0x843D], NFD: [0x843D], NFKC: [0x843D], NFKD: [0x843D] }, -{ source: [0xF919], NFC: [0x916A], NFD: [0x916A], NFKC: [0x916A], NFKD: [0x916A] }, -{ source: [0xF91A], NFC: [0x99F1], NFD: [0x99F1], NFKC: [0x99F1], NFKD: [0x99F1] }, -{ source: [0xF91B], NFC: [0x4E82], NFD: [0x4E82], NFKC: [0x4E82], NFKD: [0x4E82] }, -{ source: [0xF91C], NFC: [0x5375], NFD: [0x5375], NFKC: [0x5375], NFKD: [0x5375] }, -{ source: [0xF91D], NFC: [0x6B04], NFD: [0x6B04], NFKC: [0x6B04], NFKD: [0x6B04] }, -{ source: [0xF91E], NFC: [0x721B], NFD: [0x721B], NFKC: [0x721B], NFKD: [0x721B] }, -{ source: [0xF91F], NFC: [0x862D], NFD: [0x862D], NFKC: [0x862D], NFKD: [0x862D] }, -{ source: [0xF920], NFC: [0x9E1E], NFD: [0x9E1E], NFKC: [0x9E1E], NFKD: [0x9E1E] }, -{ source: [0xF921], NFC: [0x5D50], NFD: [0x5D50], NFKC: [0x5D50], NFKD: [0x5D50] }, -{ source: [0xF922], NFC: [0x6FEB], NFD: [0x6FEB], NFKC: [0x6FEB], NFKD: [0x6FEB] }, -{ source: [0xF923], NFC: [0x85CD], NFD: [0x85CD], NFKC: [0x85CD], NFKD: [0x85CD] }, -{ source: [0xF924], NFC: [0x8964], NFD: [0x8964], NFKC: [0x8964], NFKD: [0x8964] }, -{ source: [0xF925], NFC: [0x62C9], NFD: [0x62C9], NFKC: [0x62C9], NFKD: [0x62C9] }, -{ source: [0xF926], NFC: [0x81D8], NFD: [0x81D8], NFKC: [0x81D8], NFKD: [0x81D8] }, -{ source: [0xF927], NFC: [0x881F], NFD: [0x881F], NFKC: [0x881F], NFKD: [0x881F] }, -{ source: [0xF928], NFC: [0x5ECA], NFD: [0x5ECA], NFKC: [0x5ECA], NFKD: [0x5ECA] }, -{ source: [0xF929], NFC: [0x6717], NFD: [0x6717], NFKC: [0x6717], NFKD: [0x6717] }, -{ source: [0xF92A], NFC: [0x6D6A], NFD: [0x6D6A], NFKC: [0x6D6A], NFKD: [0x6D6A] }, -{ source: [0xF92B], NFC: [0x72FC], NFD: [0x72FC], NFKC: [0x72FC], NFKD: [0x72FC] }, -{ source: [0xF92C], NFC: [0x90CE], NFD: [0x90CE], NFKC: [0x90CE], NFKD: [0x90CE] }, -{ source: [0xF92D], NFC: [0x4F86], NFD: [0x4F86], NFKC: [0x4F86], NFKD: [0x4F86] }, -{ source: [0xF92E], NFC: [0x51B7], NFD: [0x51B7], NFKC: [0x51B7], NFKD: [0x51B7] }, -{ source: [0xF92F], NFC: [0x52DE], NFD: [0x52DE], NFKC: [0x52DE], NFKD: [0x52DE] }, -{ source: [0xF930], NFC: [0x64C4], NFD: [0x64C4], NFKC: [0x64C4], NFKD: [0x64C4] }, -{ source: [0xF931], NFC: [0x6AD3], NFD: [0x6AD3], NFKC: [0x6AD3], NFKD: [0x6AD3] }, -{ source: [0xF932], NFC: [0x7210], NFD: [0x7210], NFKC: [0x7210], NFKD: [0x7210] }, -{ source: [0xF933], NFC: [0x76E7], NFD: [0x76E7], NFKC: [0x76E7], NFKD: [0x76E7] }, -{ source: [0xF934], NFC: [0x8001], NFD: [0x8001], NFKC: [0x8001], NFKD: [0x8001] }, -{ source: [0xF935], NFC: [0x8606], NFD: [0x8606], NFKC: [0x8606], NFKD: [0x8606] }, -{ source: [0xF936], NFC: [0x865C], NFD: [0x865C], NFKC: [0x865C], NFKD: [0x865C] }, -{ source: [0xF937], NFC: [0x8DEF], NFD: [0x8DEF], NFKC: [0x8DEF], NFKD: [0x8DEF] }, -{ source: [0xF938], NFC: [0x9732], NFD: [0x9732], NFKC: [0x9732], NFKD: [0x9732] }, -{ source: [0xF939], NFC: [0x9B6F], NFD: [0x9B6F], NFKC: [0x9B6F], NFKD: [0x9B6F] }, -{ source: [0xF93A], NFC: [0x9DFA], NFD: [0x9DFA], NFKC: [0x9DFA], NFKD: [0x9DFA] }, -{ source: [0xF93B], NFC: [0x788C], NFD: [0x788C], NFKC: [0x788C], NFKD: [0x788C] }, -{ source: [0xF93C], NFC: [0x797F], NFD: [0x797F], NFKC: [0x797F], NFKD: [0x797F] }, -{ source: [0xF93D], NFC: [0x7DA0], NFD: [0x7DA0], NFKC: [0x7DA0], NFKD: [0x7DA0] }, -{ source: [0xF93E], NFC: [0x83C9], NFD: [0x83C9], NFKC: [0x83C9], NFKD: [0x83C9] }, -{ source: [0xF93F], NFC: [0x9304], NFD: [0x9304], NFKC: [0x9304], NFKD: [0x9304] }, -{ source: [0xF940], NFC: [0x9E7F], NFD: [0x9E7F], NFKC: [0x9E7F], NFKD: [0x9E7F] }, -{ source: [0xF941], NFC: [0x8AD6], NFD: [0x8AD6], NFKC: [0x8AD6], NFKD: [0x8AD6] }, -{ source: [0xF942], NFC: [0x58DF], NFD: [0x58DF], NFKC: [0x58DF], NFKD: [0x58DF] }, -{ source: [0xF943], NFC: [0x5F04], NFD: [0x5F04], NFKC: [0x5F04], NFKD: [0x5F04] }, -{ source: [0xF944], NFC: [0x7C60], NFD: [0x7C60], NFKC: [0x7C60], NFKD: [0x7C60] }, -{ source: [0xF945], NFC: [0x807E], NFD: [0x807E], NFKC: [0x807E], NFKD: [0x807E] }, -{ source: [0xF946], NFC: [0x7262], NFD: [0x7262], NFKC: [0x7262], NFKD: [0x7262] }, -{ source: [0xF947], NFC: [0x78CA], NFD: [0x78CA], NFKC: [0x78CA], NFKD: [0x78CA] }, -{ source: [0xF948], NFC: [0x8CC2], NFD: [0x8CC2], NFKC: [0x8CC2], NFKD: [0x8CC2] }, -{ source: [0xF949], NFC: [0x96F7], NFD: [0x96F7], NFKC: [0x96F7], NFKD: [0x96F7] }, -{ source: [0xF94A], NFC: [0x58D8], NFD: [0x58D8], NFKC: [0x58D8], NFKD: [0x58D8] }, -{ source: [0xF94B], NFC: [0x5C62], NFD: [0x5C62], NFKC: [0x5C62], NFKD: [0x5C62] }, -{ source: [0xF94C], NFC: [0x6A13], NFD: [0x6A13], NFKC: [0x6A13], NFKD: [0x6A13] }, -{ source: [0xF94D], NFC: [0x6DDA], NFD: [0x6DDA], NFKC: [0x6DDA], NFKD: [0x6DDA] }, -{ source: [0xF94E], NFC: [0x6F0F], NFD: [0x6F0F], NFKC: [0x6F0F], NFKD: [0x6F0F] }, -{ source: [0xF94F], NFC: [0x7D2F], NFD: [0x7D2F], NFKC: [0x7D2F], NFKD: [0x7D2F] }, -{ source: [0xF950], NFC: [0x7E37], NFD: [0x7E37], NFKC: [0x7E37], NFKD: [0x7E37] }, -{ source: [0xF951], NFC: [0x964B], NFD: [0x964B], NFKC: [0x964B], NFKD: [0x964B] }, -{ source: [0xF952], NFC: [0x52D2], NFD: [0x52D2], NFKC: [0x52D2], NFKD: [0x52D2] }, -{ source: [0xF953], NFC: [0x808B], NFD: [0x808B], NFKC: [0x808B], NFKD: [0x808B] }, -{ source: [0xF954], NFC: [0x51DC], NFD: [0x51DC], NFKC: [0x51DC], NFKD: [0x51DC] }, -{ source: [0xF955], NFC: [0x51CC], NFD: [0x51CC], NFKC: [0x51CC], NFKD: [0x51CC] }, -{ source: [0xF956], NFC: [0x7A1C], NFD: [0x7A1C], NFKC: [0x7A1C], NFKD: [0x7A1C] }, -{ source: [0xF957], NFC: [0x7DBE], NFD: [0x7DBE], NFKC: [0x7DBE], NFKD: [0x7DBE] }, -{ source: [0xF958], NFC: [0x83F1], NFD: [0x83F1], NFKC: [0x83F1], NFKD: [0x83F1] }, -{ source: [0xF959], NFC: [0x9675], NFD: [0x9675], NFKC: [0x9675], NFKD: [0x9675] }, -{ source: [0xF95A], NFC: [0x8B80], NFD: [0x8B80], NFKC: [0x8B80], NFKD: [0x8B80] }, -{ source: [0xF95B], NFC: [0x62CF], NFD: [0x62CF], NFKC: [0x62CF], NFKD: [0x62CF] }, -{ source: [0xF95C], NFC: [0x6A02], NFD: [0x6A02], NFKC: [0x6A02], NFKD: [0x6A02] }, -{ source: [0xF95D], NFC: [0x8AFE], NFD: [0x8AFE], NFKC: [0x8AFE], NFKD: [0x8AFE] }, -{ source: [0xF95E], NFC: [0x4E39], NFD: [0x4E39], NFKC: [0x4E39], NFKD: [0x4E39] }, -{ source: [0xF95F], NFC: [0x5BE7], NFD: [0x5BE7], NFKC: [0x5BE7], NFKD: [0x5BE7] }, -{ source: [0xF960], NFC: [0x6012], NFD: [0x6012], NFKC: [0x6012], NFKD: [0x6012] }, -{ source: [0xF961], NFC: [0x7387], NFD: [0x7387], NFKC: [0x7387], NFKD: [0x7387] }, -{ source: [0xF962], NFC: [0x7570], NFD: [0x7570], NFKC: [0x7570], NFKD: [0x7570] }, -{ source: [0xF963], NFC: [0x5317], NFD: [0x5317], NFKC: [0x5317], NFKD: [0x5317] }, -{ source: [0xF964], NFC: [0x78FB], NFD: [0x78FB], NFKC: [0x78FB], NFKD: [0x78FB] }, -{ source: [0xF965], NFC: [0x4FBF], NFD: [0x4FBF], NFKC: [0x4FBF], NFKD: [0x4FBF] }, -{ source: [0xF966], NFC: [0x5FA9], NFD: [0x5FA9], NFKC: [0x5FA9], NFKD: [0x5FA9] }, -{ source: [0xF967], NFC: [0x4E0D], NFD: [0x4E0D], NFKC: [0x4E0D], NFKD: [0x4E0D] }, -{ source: [0xF968], NFC: [0x6CCC], NFD: [0x6CCC], NFKC: [0x6CCC], NFKD: [0x6CCC] }, -{ source: [0xF969], NFC: [0x6578], NFD: [0x6578], NFKC: [0x6578], NFKD: [0x6578] }, -{ source: [0xF96A], NFC: [0x7D22], NFD: [0x7D22], NFKC: [0x7D22], NFKD: [0x7D22] }, -{ source: [0xF96B], NFC: [0x53C3], NFD: [0x53C3], NFKC: [0x53C3], NFKD: [0x53C3] }, -{ source: [0xF96C], NFC: [0x585E], NFD: [0x585E], NFKC: [0x585E], NFKD: [0x585E] }, -{ source: [0xF96D], NFC: [0x7701], NFD: [0x7701], NFKC: [0x7701], NFKD: [0x7701] }, -{ source: [0xF96E], NFC: [0x8449], NFD: [0x8449], NFKC: [0x8449], NFKD: [0x8449] }, -{ source: [0xF96F], NFC: [0x8AAA], NFD: [0x8AAA], NFKC: [0x8AAA], NFKD: [0x8AAA] }, -{ source: [0xF970], NFC: [0x6BBA], NFD: [0x6BBA], NFKC: [0x6BBA], NFKD: [0x6BBA] }, -{ source: [0xF971], NFC: [0x8FB0], NFD: [0x8FB0], NFKC: [0x8FB0], NFKD: [0x8FB0] }, -{ source: [0xF972], NFC: [0x6C88], NFD: [0x6C88], NFKC: [0x6C88], NFKD: [0x6C88] }, -{ source: [0xF973], NFC: [0x62FE], NFD: [0x62FE], NFKC: [0x62FE], NFKD: [0x62FE] }, -{ source: [0xF974], NFC: [0x82E5], NFD: [0x82E5], NFKC: [0x82E5], NFKD: [0x82E5] }, -{ source: [0xF975], NFC: [0x63A0], NFD: [0x63A0], NFKC: [0x63A0], NFKD: [0x63A0] }, -{ source: [0xF976], NFC: [0x7565], NFD: [0x7565], NFKC: [0x7565], NFKD: [0x7565] }, -{ source: [0xF977], NFC: [0x4EAE], NFD: [0x4EAE], NFKC: [0x4EAE], NFKD: [0x4EAE] }, -{ source: [0xF978], NFC: [0x5169], NFD: [0x5169], NFKC: [0x5169], NFKD: [0x5169] }, -{ source: [0xF979], NFC: [0x51C9], NFD: [0x51C9], NFKC: [0x51C9], NFKD: [0x51C9] }, -{ source: [0xF97A], NFC: [0x6881], NFD: [0x6881], NFKC: [0x6881], NFKD: [0x6881] }, -{ source: [0xF97B], NFC: [0x7CE7], NFD: [0x7CE7], NFKC: [0x7CE7], NFKD: [0x7CE7] }, -{ source: [0xF97C], NFC: [0x826F], NFD: [0x826F], NFKC: [0x826F], NFKD: [0x826F] }, -{ source: [0xF97D], NFC: [0x8AD2], NFD: [0x8AD2], NFKC: [0x8AD2], NFKD: [0x8AD2] }, -{ source: [0xF97E], NFC: [0x91CF], NFD: [0x91CF], NFKC: [0x91CF], NFKD: [0x91CF] }, -{ source: [0xF97F], NFC: [0x52F5], NFD: [0x52F5], NFKC: [0x52F5], NFKD: [0x52F5] }, -{ source: [0xF980], NFC: [0x5442], NFD: [0x5442], NFKC: [0x5442], NFKD: [0x5442] }, -{ source: [0xF981], NFC: [0x5973], NFD: [0x5973], NFKC: [0x5973], NFKD: [0x5973] }, -{ source: [0xF982], NFC: [0x5EEC], NFD: [0x5EEC], NFKC: [0x5EEC], NFKD: [0x5EEC] }, -{ source: [0xF983], NFC: [0x65C5], NFD: [0x65C5], NFKC: [0x65C5], NFKD: [0x65C5] }, -{ source: [0xF984], NFC: [0x6FFE], NFD: [0x6FFE], NFKC: [0x6FFE], NFKD: [0x6FFE] }, -{ source: [0xF985], NFC: [0x792A], NFD: [0x792A], NFKC: [0x792A], NFKD: [0x792A] }, -{ source: [0xF986], NFC: [0x95AD], NFD: [0x95AD], NFKC: [0x95AD], NFKD: [0x95AD] }, -{ source: [0xF987], NFC: [0x9A6A], NFD: [0x9A6A], NFKC: [0x9A6A], NFKD: [0x9A6A] }, -{ source: [0xF988], NFC: [0x9E97], NFD: [0x9E97], NFKC: [0x9E97], NFKD: [0x9E97] }, -{ source: [0xF989], NFC: [0x9ECE], NFD: [0x9ECE], NFKC: [0x9ECE], NFKD: [0x9ECE] }, -{ source: [0xF98A], NFC: [0x529B], NFD: [0x529B], NFKC: [0x529B], NFKD: [0x529B] }, -{ source: [0xF98B], NFC: [0x66C6], NFD: [0x66C6], NFKC: [0x66C6], NFKD: [0x66C6] }, -{ source: [0xF98C], NFC: [0x6B77], NFD: [0x6B77], NFKC: [0x6B77], NFKD: [0x6B77] }, -{ source: [0xF98D], NFC: [0x8F62], NFD: [0x8F62], NFKC: [0x8F62], NFKD: [0x8F62] }, -{ source: [0xF98E], NFC: [0x5E74], NFD: [0x5E74], NFKC: [0x5E74], NFKD: [0x5E74] }, -{ source: [0xF98F], NFC: [0x6190], NFD: [0x6190], NFKC: [0x6190], NFKD: [0x6190] }, -{ source: [0xF990], NFC: [0x6200], NFD: [0x6200], NFKC: [0x6200], NFKD: [0x6200] }, -{ source: [0xF991], NFC: [0x649A], NFD: [0x649A], NFKC: [0x649A], NFKD: [0x649A] }, -{ source: [0xF992], NFC: [0x6F23], NFD: [0x6F23], NFKC: [0x6F23], NFKD: [0x6F23] }, -{ source: [0xF993], NFC: [0x7149], NFD: [0x7149], NFKC: [0x7149], NFKD: [0x7149] }, -{ source: [0xF994], NFC: [0x7489], NFD: [0x7489], NFKC: [0x7489], NFKD: [0x7489] }, -{ source: [0xF995], NFC: [0x79CA], NFD: [0x79CA], NFKC: [0x79CA], NFKD: [0x79CA] }, -{ source: [0xF996], NFC: [0x7DF4], NFD: [0x7DF4], NFKC: [0x7DF4], NFKD: [0x7DF4] }, -{ source: [0xF997], NFC: [0x806F], NFD: [0x806F], NFKC: [0x806F], NFKD: [0x806F] }, -{ source: [0xF998], NFC: [0x8F26], NFD: [0x8F26], NFKC: [0x8F26], NFKD: [0x8F26] }, -{ source: [0xF999], NFC: [0x84EE], NFD: [0x84EE], NFKC: [0x84EE], NFKD: [0x84EE] }, -{ source: [0xF99A], NFC: [0x9023], NFD: [0x9023], NFKC: [0x9023], NFKD: [0x9023] }, -{ source: [0xF99B], NFC: [0x934A], NFD: [0x934A], NFKC: [0x934A], NFKD: [0x934A] }, -{ source: [0xF99C], NFC: [0x5217], NFD: [0x5217], NFKC: [0x5217], NFKD: [0x5217] }, -{ source: [0xF99D], NFC: [0x52A3], NFD: [0x52A3], NFKC: [0x52A3], NFKD: [0x52A3] }, -{ source: [0xF99E], NFC: [0x54BD], NFD: [0x54BD], NFKC: [0x54BD], NFKD: [0x54BD] }, -{ source: [0xF99F], NFC: [0x70C8], NFD: [0x70C8], NFKC: [0x70C8], NFKD: [0x70C8] }, -{ source: [0xF9A0], NFC: [0x88C2], NFD: [0x88C2], NFKC: [0x88C2], NFKD: [0x88C2] }, -{ source: [0xF9A1], NFC: [0x8AAA], NFD: [0x8AAA], NFKC: [0x8AAA], NFKD: [0x8AAA] }, -{ source: [0xF9A2], NFC: [0x5EC9], NFD: [0x5EC9], NFKC: [0x5EC9], NFKD: [0x5EC9] }, -{ source: [0xF9A3], NFC: [0x5FF5], NFD: [0x5FF5], NFKC: [0x5FF5], NFKD: [0x5FF5] }, -{ source: [0xF9A4], NFC: [0x637B], NFD: [0x637B], NFKC: [0x637B], NFKD: [0x637B] }, -{ source: [0xF9A5], NFC: [0x6BAE], NFD: [0x6BAE], NFKC: [0x6BAE], NFKD: [0x6BAE] }, -{ source: [0xF9A6], NFC: [0x7C3E], NFD: [0x7C3E], NFKC: [0x7C3E], NFKD: [0x7C3E] }, -{ source: [0xF9A7], NFC: [0x7375], NFD: [0x7375], NFKC: [0x7375], NFKD: [0x7375] }, -{ source: [0xF9A8], NFC: [0x4EE4], NFD: [0x4EE4], NFKC: [0x4EE4], NFKD: [0x4EE4] }, -{ source: [0xF9A9], NFC: [0x56F9], NFD: [0x56F9], NFKC: [0x56F9], NFKD: [0x56F9] }, -{ source: [0xF9AA], NFC: [0x5BE7], NFD: [0x5BE7], NFKC: [0x5BE7], NFKD: [0x5BE7] }, -{ source: [0xF9AB], NFC: [0x5DBA], NFD: [0x5DBA], NFKC: [0x5DBA], NFKD: [0x5DBA] }, -{ source: [0xF9AC], NFC: [0x601C], NFD: [0x601C], NFKC: [0x601C], NFKD: [0x601C] }, -{ source: [0xF9AD], NFC: [0x73B2], NFD: [0x73B2], NFKC: [0x73B2], NFKD: [0x73B2] }, -{ source: [0xF9AE], NFC: [0x7469], NFD: [0x7469], NFKC: [0x7469], NFKD: [0x7469] }, -{ source: [0xF9AF], NFC: [0x7F9A], NFD: [0x7F9A], NFKC: [0x7F9A], NFKD: [0x7F9A] }, -{ source: [0xF9B0], NFC: [0x8046], NFD: [0x8046], NFKC: [0x8046], NFKD: [0x8046] }, -{ source: [0xF9B1], NFC: [0x9234], NFD: [0x9234], NFKC: [0x9234], NFKD: [0x9234] }, -{ source: [0xF9B2], NFC: [0x96F6], NFD: [0x96F6], NFKC: [0x96F6], NFKD: [0x96F6] }, -{ source: [0xF9B3], NFC: [0x9748], NFD: [0x9748], NFKC: [0x9748], NFKD: [0x9748] }, -{ source: [0xF9B4], NFC: [0x9818], NFD: [0x9818], NFKC: [0x9818], NFKD: [0x9818] }, -{ source: [0xF9B5], NFC: [0x4F8B], NFD: [0x4F8B], NFKC: [0x4F8B], NFKD: [0x4F8B] }, -{ source: [0xF9B6], NFC: [0x79AE], NFD: [0x79AE], NFKC: [0x79AE], NFKD: [0x79AE] }, -{ source: [0xF9B7], NFC: [0x91B4], NFD: [0x91B4], NFKC: [0x91B4], NFKD: [0x91B4] }, -{ source: [0xF9B8], NFC: [0x96B8], NFD: [0x96B8], NFKC: [0x96B8], NFKD: [0x96B8] }, -{ source: [0xF9B9], NFC: [0x60E1], NFD: [0x60E1], NFKC: [0x60E1], NFKD: [0x60E1] }, -{ source: [0xF9BA], NFC: [0x4E86], NFD: [0x4E86], NFKC: [0x4E86], NFKD: [0x4E86] }, -{ source: [0xF9BB], NFC: [0x50DA], NFD: [0x50DA], NFKC: [0x50DA], NFKD: [0x50DA] }, -{ source: [0xF9BC], NFC: [0x5BEE], NFD: [0x5BEE], NFKC: [0x5BEE], NFKD: [0x5BEE] }, -{ source: [0xF9BD], NFC: [0x5C3F], NFD: [0x5C3F], NFKC: [0x5C3F], NFKD: [0x5C3F] }, -{ source: [0xF9BE], NFC: [0x6599], NFD: [0x6599], NFKC: [0x6599], NFKD: [0x6599] }, -{ source: [0xF9BF], NFC: [0x6A02], NFD: [0x6A02], NFKC: [0x6A02], NFKD: [0x6A02] }, -{ source: [0xF9C0], NFC: [0x71CE], NFD: [0x71CE], NFKC: [0x71CE], NFKD: [0x71CE] }, -{ source: [0xF9C1], NFC: [0x7642], NFD: [0x7642], NFKC: [0x7642], NFKD: [0x7642] }, -{ source: [0xF9C2], NFC: [0x84FC], NFD: [0x84FC], NFKC: [0x84FC], NFKD: [0x84FC] }, -{ source: [0xF9C3], NFC: [0x907C], NFD: [0x907C], NFKC: [0x907C], NFKD: [0x907C] }, -{ source: [0xF9C4], NFC: [0x9F8D], NFD: [0x9F8D], NFKC: [0x9F8D], NFKD: [0x9F8D] }, -{ source: [0xF9C5], NFC: [0x6688], NFD: [0x6688], NFKC: [0x6688], NFKD: [0x6688] }, -{ source: [0xF9C6], NFC: [0x962E], NFD: [0x962E], NFKC: [0x962E], NFKD: [0x962E] }, -{ source: [0xF9C7], NFC: [0x5289], NFD: [0x5289], NFKC: [0x5289], NFKD: [0x5289] }, -{ source: [0xF9C8], NFC: [0x677B], NFD: [0x677B], NFKC: [0x677B], NFKD: [0x677B] }, -{ source: [0xF9C9], NFC: [0x67F3], NFD: [0x67F3], NFKC: [0x67F3], NFKD: [0x67F3] }, -{ source: [0xF9CA], NFC: [0x6D41], NFD: [0x6D41], NFKC: [0x6D41], NFKD: [0x6D41] }, -{ source: [0xF9CB], NFC: [0x6E9C], NFD: [0x6E9C], NFKC: [0x6E9C], NFKD: [0x6E9C] }, -{ source: [0xF9CC], NFC: [0x7409], NFD: [0x7409], NFKC: [0x7409], NFKD: [0x7409] }, -{ source: [0xF9CD], NFC: [0x7559], NFD: [0x7559], NFKC: [0x7559], NFKD: [0x7559] }, -{ source: [0xF9CE], NFC: [0x786B], NFD: [0x786B], NFKC: [0x786B], NFKD: [0x786B] }, -{ source: [0xF9CF], NFC: [0x7D10], NFD: [0x7D10], NFKC: [0x7D10], NFKD: [0x7D10] }, -{ source: [0xF9D0], NFC: [0x985E], NFD: [0x985E], NFKC: [0x985E], NFKD: [0x985E] }, -{ source: [0xF9D1], NFC: [0x516D], NFD: [0x516D], NFKC: [0x516D], NFKD: [0x516D] }, -{ source: [0xF9D2], NFC: [0x622E], NFD: [0x622E], NFKC: [0x622E], NFKD: [0x622E] }, -{ source: [0xF9D3], NFC: [0x9678], NFD: [0x9678], NFKC: [0x9678], NFKD: [0x9678] }, -{ source: [0xF9D4], NFC: [0x502B], NFD: [0x502B], NFKC: [0x502B], NFKD: [0x502B] }, -{ source: [0xF9D5], NFC: [0x5D19], NFD: [0x5D19], NFKC: [0x5D19], NFKD: [0x5D19] }, -{ source: [0xF9D6], NFC: [0x6DEA], NFD: [0x6DEA], NFKC: [0x6DEA], NFKD: [0x6DEA] }, -{ source: [0xF9D7], NFC: [0x8F2A], NFD: [0x8F2A], NFKC: [0x8F2A], NFKD: [0x8F2A] }, -{ source: [0xF9D8], NFC: [0x5F8B], NFD: [0x5F8B], NFKC: [0x5F8B], NFKD: [0x5F8B] }, -{ source: [0xF9D9], NFC: [0x6144], NFD: [0x6144], NFKC: [0x6144], NFKD: [0x6144] }, -{ source: [0xF9DA], NFC: [0x6817], NFD: [0x6817], NFKC: [0x6817], NFKD: [0x6817] }, -{ source: [0xF9DB], NFC: [0x7387], NFD: [0x7387], NFKC: [0x7387], NFKD: [0x7387] }, -{ source: [0xF9DC], NFC: [0x9686], NFD: [0x9686], NFKC: [0x9686], NFKD: [0x9686] }, -{ source: [0xF9DD], NFC: [0x5229], NFD: [0x5229], NFKC: [0x5229], NFKD: [0x5229] }, -{ source: [0xF9DE], NFC: [0x540F], NFD: [0x540F], NFKC: [0x540F], NFKD: [0x540F] }, -{ source: [0xF9DF], NFC: [0x5C65], NFD: [0x5C65], NFKC: [0x5C65], NFKD: [0x5C65] }, -{ source: [0xF9E0], NFC: [0x6613], NFD: [0x6613], NFKC: [0x6613], NFKD: [0x6613] }, -{ source: [0xF9E1], NFC: [0x674E], NFD: [0x674E], NFKC: [0x674E], NFKD: [0x674E] }, -{ source: [0xF9E2], NFC: [0x68A8], NFD: [0x68A8], NFKC: [0x68A8], NFKD: [0x68A8] }, -{ source: [0xF9E3], NFC: [0x6CE5], NFD: [0x6CE5], NFKC: [0x6CE5], NFKD: [0x6CE5] }, -{ source: [0xF9E4], NFC: [0x7406], NFD: [0x7406], NFKC: [0x7406], NFKD: [0x7406] }, -{ source: [0xF9E5], NFC: [0x75E2], NFD: [0x75E2], NFKC: [0x75E2], NFKD: [0x75E2] }, -{ source: [0xF9E6], NFC: [0x7F79], NFD: [0x7F79], NFKC: [0x7F79], NFKD: [0x7F79] }, -{ source: [0xF9E7], NFC: [0x88CF], NFD: [0x88CF], NFKC: [0x88CF], NFKD: [0x88CF] }, -{ source: [0xF9E8], NFC: [0x88E1], NFD: [0x88E1], NFKC: [0x88E1], NFKD: [0x88E1] }, -{ source: [0xF9E9], NFC: [0x91CC], NFD: [0x91CC], NFKC: [0x91CC], NFKD: [0x91CC] }, -{ source: [0xF9EA], NFC: [0x96E2], NFD: [0x96E2], NFKC: [0x96E2], NFKD: [0x96E2] }, -{ source: [0xF9EB], NFC: [0x533F], NFD: [0x533F], NFKC: [0x533F], NFKD: [0x533F] }, -{ source: [0xF9EC], NFC: [0x6EBA], NFD: [0x6EBA], NFKC: [0x6EBA], NFKD: [0x6EBA] }, -{ source: [0xF9ED], NFC: [0x541D], NFD: [0x541D], NFKC: [0x541D], NFKD: [0x541D] }, -{ source: [0xF9EE], NFC: [0x71D0], NFD: [0x71D0], NFKC: [0x71D0], NFKD: [0x71D0] }, -{ source: [0xF9EF], NFC: [0x7498], NFD: [0x7498], NFKC: [0x7498], NFKD: [0x7498] }, -{ source: [0xF9F0], NFC: [0x85FA], NFD: [0x85FA], NFKC: [0x85FA], NFKD: [0x85FA] }, -{ source: [0xF9F1], NFC: [0x96A3], NFD: [0x96A3], NFKC: [0x96A3], NFKD: [0x96A3] }, -{ source: [0xF9F2], NFC: [0x9C57], NFD: [0x9C57], NFKC: [0x9C57], NFKD: [0x9C57] }, -{ source: [0xF9F3], NFC: [0x9E9F], NFD: [0x9E9F], NFKC: [0x9E9F], NFKD: [0x9E9F] }, -{ source: [0xF9F4], NFC: [0x6797], NFD: [0x6797], NFKC: [0x6797], NFKD: [0x6797] }, -{ source: [0xF9F5], NFC: [0x6DCB], NFD: [0x6DCB], NFKC: [0x6DCB], NFKD: [0x6DCB] }, -{ source: [0xF9F6], NFC: [0x81E8], NFD: [0x81E8], NFKC: [0x81E8], NFKD: [0x81E8] }, -{ source: [0xF9F7], NFC: [0x7ACB], NFD: [0x7ACB], NFKC: [0x7ACB], NFKD: [0x7ACB] }, -{ source: [0xF9F8], NFC: [0x7B20], NFD: [0x7B20], NFKC: [0x7B20], NFKD: [0x7B20] }, -{ source: [0xF9F9], NFC: [0x7C92], NFD: [0x7C92], NFKC: [0x7C92], NFKD: [0x7C92] }, -{ source: [0xF9FA], NFC: [0x72C0], NFD: [0x72C0], NFKC: [0x72C0], NFKD: [0x72C0] }, -{ source: [0xF9FB], NFC: [0x7099], NFD: [0x7099], NFKC: [0x7099], NFKD: [0x7099] }, -{ source: [0xF9FC], NFC: [0x8B58], NFD: [0x8B58], NFKC: [0x8B58], NFKD: [0x8B58] }, -{ source: [0xF9FD], NFC: [0x4EC0], NFD: [0x4EC0], NFKC: [0x4EC0], NFKD: [0x4EC0] }, -{ source: [0xF9FE], NFC: [0x8336], NFD: [0x8336], NFKC: [0x8336], NFKD: [0x8336] }, -{ source: [0xF9FF], NFC: [0x523A], NFD: [0x523A], NFKC: [0x523A], NFKD: [0x523A] }, -{ source: [0xFA00], NFC: [0x5207], NFD: [0x5207], NFKC: [0x5207], NFKD: [0x5207] }, -{ source: [0xFA01], NFC: [0x5EA6], NFD: [0x5EA6], NFKC: [0x5EA6], NFKD: [0x5EA6] }, -{ source: [0xFA02], NFC: [0x62D3], NFD: [0x62D3], NFKC: [0x62D3], NFKD: [0x62D3] }, -{ source: [0xFA03], NFC: [0x7CD6], NFD: [0x7CD6], NFKC: [0x7CD6], NFKD: [0x7CD6] }, -{ source: [0xFA04], NFC: [0x5B85], NFD: [0x5B85], NFKC: [0x5B85], NFKD: [0x5B85] }, -{ source: [0xFA05], NFC: [0x6D1E], NFD: [0x6D1E], NFKC: [0x6D1E], NFKD: [0x6D1E] }, -{ source: [0xFA06], NFC: [0x66B4], NFD: [0x66B4], NFKC: [0x66B4], NFKD: [0x66B4] }, -{ source: [0xFA07], NFC: [0x8F3B], NFD: [0x8F3B], NFKC: [0x8F3B], NFKD: [0x8F3B] }, -{ source: [0xFA08], NFC: [0x884C], NFD: [0x884C], NFKC: [0x884C], NFKD: [0x884C] }, -{ source: [0xFA09], NFC: [0x964D], NFD: [0x964D], NFKC: [0x964D], NFKD: [0x964D] }, -{ source: [0xFA0A], NFC: [0x898B], NFD: [0x898B], NFKC: [0x898B], NFKD: [0x898B] }, -{ source: [0xFA0B], NFC: [0x5ED3], NFD: [0x5ED3], NFKC: [0x5ED3], NFKD: [0x5ED3] }, -{ source: [0xFA0C], NFC: [0x5140], NFD: [0x5140], NFKC: [0x5140], NFKD: [0x5140] }, -{ source: [0xFA0D], NFC: [0x55C0], NFD: [0x55C0], NFKC: [0x55C0], NFKD: [0x55C0] }, -{ source: [0xFA10], NFC: [0x585A], NFD: [0x585A], NFKC: [0x585A], NFKD: [0x585A] }, -{ source: [0xFA12], NFC: [0x6674], NFD: [0x6674], NFKC: [0x6674], NFKD: [0x6674] }, -{ source: [0xFA15], NFC: [0x51DE], NFD: [0x51DE], NFKC: [0x51DE], NFKD: [0x51DE] }, -{ source: [0xFA16], NFC: [0x732A], NFD: [0x732A], NFKC: [0x732A], NFKD: [0x732A] }, -{ source: [0xFA17], NFC: [0x76CA], NFD: [0x76CA], NFKC: [0x76CA], NFKD: [0x76CA] }, -{ source: [0xFA18], NFC: [0x793C], NFD: [0x793C], NFKC: [0x793C], NFKD: [0x793C] }, -{ source: [0xFA19], NFC: [0x795E], NFD: [0x795E], NFKC: [0x795E], NFKD: [0x795E] }, -{ source: [0xFA1A], NFC: [0x7965], NFD: [0x7965], NFKC: [0x7965], NFKD: [0x7965] }, -{ source: [0xFA1B], NFC: [0x798F], NFD: [0x798F], NFKC: [0x798F], NFKD: [0x798F] }, -{ source: [0xFA1C], NFC: [0x9756], NFD: [0x9756], NFKC: [0x9756], NFKD: [0x9756] }, -{ source: [0xFA1D], NFC: [0x7CBE], NFD: [0x7CBE], NFKC: [0x7CBE], NFKD: [0x7CBE] }, -{ source: [0xFA1E], NFC: [0x7FBD], NFD: [0x7FBD], NFKC: [0x7FBD], NFKD: [0x7FBD] }, -{ source: [0xFA20], NFC: [0x8612], NFD: [0x8612], NFKC: [0x8612], NFKD: [0x8612] }, -{ source: [0xFA22], NFC: [0x8AF8], NFD: [0x8AF8], NFKC: [0x8AF8], NFKD: [0x8AF8] }, -{ source: [0xFA25], NFC: [0x9038], NFD: [0x9038], NFKC: [0x9038], NFKD: [0x9038] }, -{ source: [0xFA26], NFC: [0x90FD], NFD: [0x90FD], NFKC: [0x90FD], NFKD: [0x90FD] }, -{ source: [0xFA2A], NFC: [0x98EF], NFD: [0x98EF], NFKC: [0x98EF], NFKD: [0x98EF] }, -{ source: [0xFA2B], NFC: [0x98FC], NFD: [0x98FC], NFKC: [0x98FC], NFKD: [0x98FC] }, -{ source: [0xFA2C], NFC: [0x9928], NFD: [0x9928], NFKC: [0x9928], NFKD: [0x9928] }, -{ source: [0xFA2D], NFC: [0x9DB4], NFD: [0x9DB4], NFKC: [0x9DB4], NFKD: [0x9DB4] }, -{ source: [0xFA2E], NFC: [0x90DE], NFD: [0x90DE], NFKC: [0x90DE], NFKD: [0x90DE] }, -{ source: [0xFA2F], NFC: [0x96B7], NFD: [0x96B7], NFKC: [0x96B7], NFKD: [0x96B7] }, -{ source: [0xFA30], NFC: [0x4FAE], NFD: [0x4FAE], NFKC: [0x4FAE], NFKD: [0x4FAE] }, -{ source: [0xFA31], NFC: [0x50E7], NFD: [0x50E7], NFKC: [0x50E7], NFKD: [0x50E7] }, -{ source: [0xFA32], NFC: [0x514D], NFD: [0x514D], NFKC: [0x514D], NFKD: [0x514D] }, -{ source: [0xFA33], NFC: [0x52C9], NFD: [0x52C9], NFKC: [0x52C9], NFKD: [0x52C9] }, -{ source: [0xFA34], NFC: [0x52E4], NFD: [0x52E4], NFKC: [0x52E4], NFKD: [0x52E4] }, -{ source: [0xFA35], NFC: [0x5351], NFD: [0x5351], NFKC: [0x5351], NFKD: [0x5351] }, -{ source: [0xFA36], NFC: [0x559D], NFD: [0x559D], NFKC: [0x559D], NFKD: [0x559D] }, -{ source: [0xFA37], NFC: [0x5606], NFD: [0x5606], NFKC: [0x5606], NFKD: [0x5606] }, -{ source: [0xFA38], NFC: [0x5668], NFD: [0x5668], NFKC: [0x5668], NFKD: [0x5668] }, -{ source: [0xFA39], NFC: [0x5840], NFD: [0x5840], NFKC: [0x5840], NFKD: [0x5840] }, -{ source: [0xFA3A], NFC: [0x58A8], NFD: [0x58A8], NFKC: [0x58A8], NFKD: [0x58A8] }, -{ source: [0xFA3B], NFC: [0x5C64], NFD: [0x5C64], NFKC: [0x5C64], NFKD: [0x5C64] }, -{ source: [0xFA3C], NFC: [0x5C6E], NFD: [0x5C6E], NFKC: [0x5C6E], NFKD: [0x5C6E] }, -{ source: [0xFA3D], NFC: [0x6094], NFD: [0x6094], NFKC: [0x6094], NFKD: [0x6094] }, -{ source: [0xFA3E], NFC: [0x6168], NFD: [0x6168], NFKC: [0x6168], NFKD: [0x6168] }, -{ source: [0xFA3F], NFC: [0x618E], NFD: [0x618E], NFKC: [0x618E], NFKD: [0x618E] }, -{ source: [0xFA40], NFC: [0x61F2], NFD: [0x61F2], NFKC: [0x61F2], NFKD: [0x61F2] }, -{ source: [0xFA41], NFC: [0x654F], NFD: [0x654F], NFKC: [0x654F], NFKD: [0x654F] }, -{ source: [0xFA42], NFC: [0x65E2], NFD: [0x65E2], NFKC: [0x65E2], NFKD: [0x65E2] }, -{ source: [0xFA43], NFC: [0x6691], NFD: [0x6691], NFKC: [0x6691], NFKD: [0x6691] }, -{ source: [0xFA44], NFC: [0x6885], NFD: [0x6885], NFKC: [0x6885], NFKD: [0x6885] }, -{ source: [0xFA45], NFC: [0x6D77], NFD: [0x6D77], NFKC: [0x6D77], NFKD: [0x6D77] }, -{ source: [0xFA46], NFC: [0x6E1A], NFD: [0x6E1A], NFKC: [0x6E1A], NFKD: [0x6E1A] }, -{ source: [0xFA47], NFC: [0x6F22], NFD: [0x6F22], NFKC: [0x6F22], NFKD: [0x6F22] }, -{ source: [0xFA48], NFC: [0x716E], NFD: [0x716E], NFKC: [0x716E], NFKD: [0x716E] }, -{ source: [0xFA49], NFC: [0x722B], NFD: [0x722B], NFKC: [0x722B], NFKD: [0x722B] }, -{ source: [0xFA4A], NFC: [0x7422], NFD: [0x7422], NFKC: [0x7422], NFKD: [0x7422] }, -{ source: [0xFA4B], NFC: [0x7891], NFD: [0x7891], NFKC: [0x7891], NFKD: [0x7891] }, -{ source: [0xFA4C], NFC: [0x793E], NFD: [0x793E], NFKC: [0x793E], NFKD: [0x793E] }, -{ source: [0xFA4D], NFC: [0x7949], NFD: [0x7949], NFKC: [0x7949], NFKD: [0x7949] }, -{ source: [0xFA4E], NFC: [0x7948], NFD: [0x7948], NFKC: [0x7948], NFKD: [0x7948] }, -{ source: [0xFA4F], NFC: [0x7950], NFD: [0x7950], NFKC: [0x7950], NFKD: [0x7950] }, -{ source: [0xFA50], NFC: [0x7956], NFD: [0x7956], NFKC: [0x7956], NFKD: [0x7956] }, -{ source: [0xFA51], NFC: [0x795D], NFD: [0x795D], NFKC: [0x795D], NFKD: [0x795D] }, -{ source: [0xFA52], NFC: [0x798D], NFD: [0x798D], NFKC: [0x798D], NFKD: [0x798D] }, -{ source: [0xFA53], NFC: [0x798E], NFD: [0x798E], NFKC: [0x798E], NFKD: [0x798E] }, -{ source: [0xFA54], NFC: [0x7A40], NFD: [0x7A40], NFKC: [0x7A40], NFKD: [0x7A40] }, -{ source: [0xFA55], NFC: [0x7A81], NFD: [0x7A81], NFKC: [0x7A81], NFKD: [0x7A81] }, -{ source: [0xFA56], NFC: [0x7BC0], NFD: [0x7BC0], NFKC: [0x7BC0], NFKD: [0x7BC0] }, -{ source: [0xFA57], NFC: [0x7DF4], NFD: [0x7DF4], NFKC: [0x7DF4], NFKD: [0x7DF4] }, -{ source: [0xFA58], NFC: [0x7E09], NFD: [0x7E09], NFKC: [0x7E09], NFKD: [0x7E09] }, -{ source: [0xFA59], NFC: [0x7E41], NFD: [0x7E41], NFKC: [0x7E41], NFKD: [0x7E41] }, -{ source: [0xFA5A], NFC: [0x7F72], NFD: [0x7F72], NFKC: [0x7F72], NFKD: [0x7F72] }, -{ source: [0xFA5B], NFC: [0x8005], NFD: [0x8005], NFKC: [0x8005], NFKD: [0x8005] }, -{ source: [0xFA5C], NFC: [0x81ED], NFD: [0x81ED], NFKC: [0x81ED], NFKD: [0x81ED] }, -{ source: [0xFA5D], NFC: [0x8279], NFD: [0x8279], NFKC: [0x8279], NFKD: [0x8279] }, -{ source: [0xFA5E], NFC: [0x8279], NFD: [0x8279], NFKC: [0x8279], NFKD: [0x8279] }, -{ source: [0xFA5F], NFC: [0x8457], NFD: [0x8457], NFKC: [0x8457], NFKD: [0x8457] }, -{ source: [0xFA60], NFC: [0x8910], NFD: [0x8910], NFKC: [0x8910], NFKD: [0x8910] }, -{ source: [0xFA61], NFC: [0x8996], NFD: [0x8996], NFKC: [0x8996], NFKD: [0x8996] }, -{ source: [0xFA62], NFC: [0x8B01], NFD: [0x8B01], NFKC: [0x8B01], NFKD: [0x8B01] }, -{ source: [0xFA63], NFC: [0x8B39], NFD: [0x8B39], NFKC: [0x8B39], NFKD: [0x8B39] }, -{ source: [0xFA64], NFC: [0x8CD3], NFD: [0x8CD3], NFKC: [0x8CD3], NFKD: [0x8CD3] }, -{ source: [0xFA65], NFC: [0x8D08], NFD: [0x8D08], NFKC: [0x8D08], NFKD: [0x8D08] }, -{ source: [0xFA66], NFC: [0x8FB6], NFD: [0x8FB6], NFKC: [0x8FB6], NFKD: [0x8FB6] }, -{ source: [0xFA67], NFC: [0x9038], NFD: [0x9038], NFKC: [0x9038], NFKD: [0x9038] }, -{ source: [0xFA68], NFC: [0x96E3], NFD: [0x96E3], NFKC: [0x96E3], NFKD: [0x96E3] }, -{ source: [0xFA69], NFC: [0x97FF], NFD: [0x97FF], NFKC: [0x97FF], NFKD: [0x97FF] }, -{ source: [0xFA6A], NFC: [0x983B], NFD: [0x983B], NFKC: [0x983B], NFKD: [0x983B] }, -{ source: [0xFA6B], NFC: [0x6075], NFD: [0x6075], NFKC: [0x6075], NFKD: [0x6075] }, -{ source: [0xFA6C], NFC: [0x242EE], NFD: [0x242EE], NFKC: [0x242EE], NFKD: [0x242EE] }, -{ source: [0xFA6D], NFC: [0x8218], NFD: [0x8218], NFKC: [0x8218], NFKD: [0x8218] }, -{ source: [0xFA70], NFC: [0x4E26], NFD: [0x4E26], NFKC: [0x4E26], NFKD: [0x4E26] }, -{ source: [0xFA71], NFC: [0x51B5], NFD: [0x51B5], NFKC: [0x51B5], NFKD: [0x51B5] }, -{ source: [0xFA72], NFC: [0x5168], NFD: [0x5168], NFKC: [0x5168], NFKD: [0x5168] }, -{ source: [0xFA73], NFC: [0x4F80], NFD: [0x4F80], NFKC: [0x4F80], NFKD: [0x4F80] }, -{ source: [0xFA74], NFC: [0x5145], NFD: [0x5145], NFKC: [0x5145], NFKD: [0x5145] }, -{ source: [0xFA75], NFC: [0x5180], NFD: [0x5180], NFKC: [0x5180], NFKD: [0x5180] }, -{ source: [0xFA76], NFC: [0x52C7], NFD: [0x52C7], NFKC: [0x52C7], NFKD: [0x52C7] }, -{ source: [0xFA77], NFC: [0x52FA], NFD: [0x52FA], NFKC: [0x52FA], NFKD: [0x52FA] }, -{ source: [0xFA78], NFC: [0x559D], NFD: [0x559D], NFKC: [0x559D], NFKD: [0x559D] }, -{ source: [0xFA79], NFC: [0x5555], NFD: [0x5555], NFKC: [0x5555], NFKD: [0x5555] }, -{ source: [0xFA7A], NFC: [0x5599], NFD: [0x5599], NFKC: [0x5599], NFKD: [0x5599] }, -{ source: [0xFA7B], NFC: [0x55E2], NFD: [0x55E2], NFKC: [0x55E2], NFKD: [0x55E2] }, -{ source: [0xFA7C], NFC: [0x585A], NFD: [0x585A], NFKC: [0x585A], NFKD: [0x585A] }, -{ source: [0xFA7D], NFC: [0x58B3], NFD: [0x58B3], NFKC: [0x58B3], NFKD: [0x58B3] }, -{ source: [0xFA7E], NFC: [0x5944], NFD: [0x5944], NFKC: [0x5944], NFKD: [0x5944] }, -{ source: [0xFA7F], NFC: [0x5954], NFD: [0x5954], NFKC: [0x5954], NFKD: [0x5954] }, -{ source: [0xFA80], NFC: [0x5A62], NFD: [0x5A62], NFKC: [0x5A62], NFKD: [0x5A62] }, -{ source: [0xFA81], NFC: [0x5B28], NFD: [0x5B28], NFKC: [0x5B28], NFKD: [0x5B28] }, -{ source: [0xFA82], NFC: [0x5ED2], NFD: [0x5ED2], NFKC: [0x5ED2], NFKD: [0x5ED2] }, -{ source: [0xFA83], NFC: [0x5ED9], NFD: [0x5ED9], NFKC: [0x5ED9], NFKD: [0x5ED9] }, -{ source: [0xFA84], NFC: [0x5F69], NFD: [0x5F69], NFKC: [0x5F69], NFKD: [0x5F69] }, -{ source: [0xFA85], NFC: [0x5FAD], NFD: [0x5FAD], NFKC: [0x5FAD], NFKD: [0x5FAD] }, -{ source: [0xFA86], NFC: [0x60D8], NFD: [0x60D8], NFKC: [0x60D8], NFKD: [0x60D8] }, -{ source: [0xFA87], NFC: [0x614E], NFD: [0x614E], NFKC: [0x614E], NFKD: [0x614E] }, -{ source: [0xFA88], NFC: [0x6108], NFD: [0x6108], NFKC: [0x6108], NFKD: [0x6108] }, -{ source: [0xFA89], NFC: [0x618E], NFD: [0x618E], NFKC: [0x618E], NFKD: [0x618E] }, -{ source: [0xFA8A], NFC: [0x6160], NFD: [0x6160], NFKC: [0x6160], NFKD: [0x6160] }, -{ source: [0xFA8B], NFC: [0x61F2], NFD: [0x61F2], NFKC: [0x61F2], NFKD: [0x61F2] }, -{ source: [0xFA8C], NFC: [0x6234], NFD: [0x6234], NFKC: [0x6234], NFKD: [0x6234] }, -{ source: [0xFA8D], NFC: [0x63C4], NFD: [0x63C4], NFKC: [0x63C4], NFKD: [0x63C4] }, -{ source: [0xFA8E], NFC: [0x641C], NFD: [0x641C], NFKC: [0x641C], NFKD: [0x641C] }, -{ source: [0xFA8F], NFC: [0x6452], NFD: [0x6452], NFKC: [0x6452], NFKD: [0x6452] }, -{ source: [0xFA90], NFC: [0x6556], NFD: [0x6556], NFKC: [0x6556], NFKD: [0x6556] }, -{ source: [0xFA91], NFC: [0x6674], NFD: [0x6674], NFKC: [0x6674], NFKD: [0x6674] }, -{ source: [0xFA92], NFC: [0x6717], NFD: [0x6717], NFKC: [0x6717], NFKD: [0x6717] }, -{ source: [0xFA93], NFC: [0x671B], NFD: [0x671B], NFKC: [0x671B], NFKD: [0x671B] }, -{ source: [0xFA94], NFC: [0x6756], NFD: [0x6756], NFKC: [0x6756], NFKD: [0x6756] }, -{ source: [0xFA95], NFC: [0x6B79], NFD: [0x6B79], NFKC: [0x6B79], NFKD: [0x6B79] }, -{ source: [0xFA96], NFC: [0x6BBA], NFD: [0x6BBA], NFKC: [0x6BBA], NFKD: [0x6BBA] }, -{ source: [0xFA97], NFC: [0x6D41], NFD: [0x6D41], NFKC: [0x6D41], NFKD: [0x6D41] }, -{ source: [0xFA98], NFC: [0x6EDB], NFD: [0x6EDB], NFKC: [0x6EDB], NFKD: [0x6EDB] }, -{ source: [0xFA99], NFC: [0x6ECB], NFD: [0x6ECB], NFKC: [0x6ECB], NFKD: [0x6ECB] }, -{ source: [0xFA9A], NFC: [0x6F22], NFD: [0x6F22], NFKC: [0x6F22], NFKD: [0x6F22] }, -{ source: [0xFA9B], NFC: [0x701E], NFD: [0x701E], NFKC: [0x701E], NFKD: [0x701E] }, -{ source: [0xFA9C], NFC: [0x716E], NFD: [0x716E], NFKC: [0x716E], NFKD: [0x716E] }, -{ source: [0xFA9D], NFC: [0x77A7], NFD: [0x77A7], NFKC: [0x77A7], NFKD: [0x77A7] }, -{ source: [0xFA9E], NFC: [0x7235], NFD: [0x7235], NFKC: [0x7235], NFKD: [0x7235] }, -{ source: [0xFA9F], NFC: [0x72AF], NFD: [0x72AF], NFKC: [0x72AF], NFKD: [0x72AF] }, -{ source: [0xFAA0], NFC: [0x732A], NFD: [0x732A], NFKC: [0x732A], NFKD: [0x732A] }, -{ source: [0xFAA1], NFC: [0x7471], NFD: [0x7471], NFKC: [0x7471], NFKD: [0x7471] }, -{ source: [0xFAA2], NFC: [0x7506], NFD: [0x7506], NFKC: [0x7506], NFKD: [0x7506] }, -{ source: [0xFAA3], NFC: [0x753B], NFD: [0x753B], NFKC: [0x753B], NFKD: [0x753B] }, -{ source: [0xFAA4], NFC: [0x761D], NFD: [0x761D], NFKC: [0x761D], NFKD: [0x761D] }, -{ source: [0xFAA5], NFC: [0x761F], NFD: [0x761F], NFKC: [0x761F], NFKD: [0x761F] }, -{ source: [0xFAA6], NFC: [0x76CA], NFD: [0x76CA], NFKC: [0x76CA], NFKD: [0x76CA] }, -{ source: [0xFAA7], NFC: [0x76DB], NFD: [0x76DB], NFKC: [0x76DB], NFKD: [0x76DB] }, -{ source: [0xFAA8], NFC: [0x76F4], NFD: [0x76F4], NFKC: [0x76F4], NFKD: [0x76F4] }, -{ source: [0xFAA9], NFC: [0x774A], NFD: [0x774A], NFKC: [0x774A], NFKD: [0x774A] }, -{ source: [0xFAAA], NFC: [0x7740], NFD: [0x7740], NFKC: [0x7740], NFKD: [0x7740] }, -{ source: [0xFAAB], NFC: [0x78CC], NFD: [0x78CC], NFKC: [0x78CC], NFKD: [0x78CC] }, -{ source: [0xFAAC], NFC: [0x7AB1], NFD: [0x7AB1], NFKC: [0x7AB1], NFKD: [0x7AB1] }, -{ source: [0xFAAD], NFC: [0x7BC0], NFD: [0x7BC0], NFKC: [0x7BC0], NFKD: [0x7BC0] }, -{ source: [0xFAAE], NFC: [0x7C7B], NFD: [0x7C7B], NFKC: [0x7C7B], NFKD: [0x7C7B] }, -{ source: [0xFAAF], NFC: [0x7D5B], NFD: [0x7D5B], NFKC: [0x7D5B], NFKD: [0x7D5B] }, -{ source: [0xFAB0], NFC: [0x7DF4], NFD: [0x7DF4], NFKC: [0x7DF4], NFKD: [0x7DF4] }, -{ source: [0xFAB1], NFC: [0x7F3E], NFD: [0x7F3E], NFKC: [0x7F3E], NFKD: [0x7F3E] }, -{ source: [0xFAB2], NFC: [0x8005], NFD: [0x8005], NFKC: [0x8005], NFKD: [0x8005] }, -{ source: [0xFAB3], NFC: [0x8352], NFD: [0x8352], NFKC: [0x8352], NFKD: [0x8352] }, -{ source: [0xFAB4], NFC: [0x83EF], NFD: [0x83EF], NFKC: [0x83EF], NFKD: [0x83EF] }, -{ source: [0xFAB5], NFC: [0x8779], NFD: [0x8779], NFKC: [0x8779], NFKD: [0x8779] }, -{ source: [0xFAB6], NFC: [0x8941], NFD: [0x8941], NFKC: [0x8941], NFKD: [0x8941] }, -{ source: [0xFAB7], NFC: [0x8986], NFD: [0x8986], NFKC: [0x8986], NFKD: [0x8986] }, -{ source: [0xFAB8], NFC: [0x8996], NFD: [0x8996], NFKC: [0x8996], NFKD: [0x8996] }, -{ source: [0xFAB9], NFC: [0x8ABF], NFD: [0x8ABF], NFKC: [0x8ABF], NFKD: [0x8ABF] }, -{ source: [0xFABA], NFC: [0x8AF8], NFD: [0x8AF8], NFKC: [0x8AF8], NFKD: [0x8AF8] }, -{ source: [0xFABB], NFC: [0x8ACB], NFD: [0x8ACB], NFKC: [0x8ACB], NFKD: [0x8ACB] }, -{ source: [0xFABC], NFC: [0x8B01], NFD: [0x8B01], NFKC: [0x8B01], NFKD: [0x8B01] }, -{ source: [0xFABD], NFC: [0x8AFE], NFD: [0x8AFE], NFKC: [0x8AFE], NFKD: [0x8AFE] }, -{ source: [0xFABE], NFC: [0x8AED], NFD: [0x8AED], NFKC: [0x8AED], NFKD: [0x8AED] }, -{ source: [0xFABF], NFC: [0x8B39], NFD: [0x8B39], NFKC: [0x8B39], NFKD: [0x8B39] }, -{ source: [0xFAC0], NFC: [0x8B8A], NFD: [0x8B8A], NFKC: [0x8B8A], NFKD: [0x8B8A] }, -{ source: [0xFAC1], NFC: [0x8D08], NFD: [0x8D08], NFKC: [0x8D08], NFKD: [0x8D08] }, -{ source: [0xFAC2], NFC: [0x8F38], NFD: [0x8F38], NFKC: [0x8F38], NFKD: [0x8F38] }, -{ source: [0xFAC3], NFC: [0x9072], NFD: [0x9072], NFKC: [0x9072], NFKD: [0x9072] }, -{ source: [0xFAC4], NFC: [0x9199], NFD: [0x9199], NFKC: [0x9199], NFKD: [0x9199] }, -{ source: [0xFAC5], NFC: [0x9276], NFD: [0x9276], NFKC: [0x9276], NFKD: [0x9276] }, -{ source: [0xFAC6], NFC: [0x967C], NFD: [0x967C], NFKC: [0x967C], NFKD: [0x967C] }, -{ source: [0xFAC7], NFC: [0x96E3], NFD: [0x96E3], NFKC: [0x96E3], NFKD: [0x96E3] }, -{ source: [0xFAC8], NFC: [0x9756], NFD: [0x9756], NFKC: [0x9756], NFKD: [0x9756] }, -{ source: [0xFAC9], NFC: [0x97DB], NFD: [0x97DB], NFKC: [0x97DB], NFKD: [0x97DB] }, -{ source: [0xFACA], NFC: [0x97FF], NFD: [0x97FF], NFKC: [0x97FF], NFKD: [0x97FF] }, -{ source: [0xFACB], NFC: [0x980B], NFD: [0x980B], NFKC: [0x980B], NFKD: [0x980B] }, -{ source: [0xFACC], NFC: [0x983B], NFD: [0x983B], NFKC: [0x983B], NFKD: [0x983B] }, -{ source: [0xFACD], NFC: [0x9B12], NFD: [0x9B12], NFKC: [0x9B12], NFKD: [0x9B12] }, -{ source: [0xFACE], NFC: [0x9F9C], NFD: [0x9F9C], NFKC: [0x9F9C], NFKD: [0x9F9C] }, -{ source: [0xFACF], NFC: [0x2284A], NFD: [0x2284A], NFKC: [0x2284A], NFKD: [0x2284A] }, -{ source: [0xFAD0], NFC: [0x22844], NFD: [0x22844], NFKC: [0x22844], NFKD: [0x22844] }, -{ source: [0xFAD1], NFC: [0x233D5], NFD: [0x233D5], NFKC: [0x233D5], NFKD: [0x233D5] }, -{ source: [0xFAD2], NFC: [0x3B9D], NFD: [0x3B9D], NFKC: [0x3B9D], NFKD: [0x3B9D] }, -{ source: [0xFAD3], NFC: [0x4018], NFD: [0x4018], NFKC: [0x4018], NFKD: [0x4018] }, -{ source: [0xFAD4], NFC: [0x4039], NFD: [0x4039], NFKC: [0x4039], NFKD: [0x4039] }, -{ source: [0xFAD5], NFC: [0x25249], NFD: [0x25249], NFKC: [0x25249], NFKD: [0x25249] }, -{ source: [0xFAD6], NFC: [0x25CD0], NFD: [0x25CD0], NFKC: [0x25CD0], NFKD: [0x25CD0] }, -{ source: [0xFAD7], NFC: [0x27ED3], NFD: [0x27ED3], NFKC: [0x27ED3], NFKD: [0x27ED3] }, -{ source: [0xFAD8], NFC: [0x9F43], NFD: [0x9F43], NFKC: [0x9F43], NFKD: [0x9F43] }, -{ source: [0xFAD9], NFC: [0x9F8E], NFD: [0x9F8E], NFKC: [0x9F8E], NFKD: [0x9F8E] }, -{ source: [0xFB00], NFC: [0xFB00], NFD: [0xFB00], NFKC: [0x0066, 0x0066], NFKD: [0x0066, 0x0066] }, -{ source: [0xFB01], NFC: [0xFB01], NFD: [0xFB01], NFKC: [0x0066, 0x0069], NFKD: [0x0066, 0x0069] }, -{ source: [0xFB02], NFC: [0xFB02], NFD: [0xFB02], NFKC: [0x0066, 0x006C], NFKD: [0x0066, 0x006C] }, -{ source: [0xFB03], NFC: [0xFB03], NFD: [0xFB03], NFKC: [0x0066, 0x0066, 0x0069], NFKD: [0x0066, 0x0066, 0x0069] }, -{ source: [0xFB04], NFC: [0xFB04], NFD: [0xFB04], NFKC: [0x0066, 0x0066, 0x006C], NFKD: [0x0066, 0x0066, 0x006C] }, -{ source: [0xFB05], NFC: [0xFB05], NFD: [0xFB05], NFKC: [0x0073, 0x0074], NFKD: [0x0073, 0x0074] }, -{ source: [0xFB06], NFC: [0xFB06], NFD: [0xFB06], NFKC: [0x0073, 0x0074], NFKD: [0x0073, 0x0074] }, -{ source: [0xFB13], NFC: [0xFB13], NFD: [0xFB13], NFKC: [0x0574, 0x0576], NFKD: [0x0574, 0x0576] }, -{ source: [0xFB14], NFC: [0xFB14], NFD: [0xFB14], NFKC: [0x0574, 0x0565], NFKD: [0x0574, 0x0565] }, -{ source: [0xFB15], NFC: [0xFB15], NFD: [0xFB15], NFKC: [0x0574, 0x056B], NFKD: [0x0574, 0x056B] }, -{ source: [0xFB16], NFC: [0xFB16], NFD: [0xFB16], NFKC: [0x057E, 0x0576], NFKD: [0x057E, 0x0576] }, -{ source: [0xFB17], NFC: [0xFB17], NFD: [0xFB17], NFKC: [0x0574, 0x056D], NFKD: [0x0574, 0x056D] }, -{ source: [0xFB1D], NFC: [0x05D9, 0x05B4], NFD: [0x05D9, 0x05B4], NFKC: [0x05D9, 0x05B4], NFKD: [0x05D9, 0x05B4] }, -{ source: [0xFB1F], NFC: [0x05F2, 0x05B7], NFD: [0x05F2, 0x05B7], NFKC: [0x05F2, 0x05B7], NFKD: [0x05F2, 0x05B7] }, -{ source: [0xFB20], NFC: [0xFB20], NFD: [0xFB20], NFKC: [0x05E2], NFKD: [0x05E2] }, -{ source: [0xFB21], NFC: [0xFB21], NFD: [0xFB21], NFKC: [0x05D0], NFKD: [0x05D0] }, -{ source: [0xFB22], NFC: [0xFB22], NFD: [0xFB22], NFKC: [0x05D3], NFKD: [0x05D3] }, -{ source: [0xFB23], NFC: [0xFB23], NFD: [0xFB23], NFKC: [0x05D4], NFKD: [0x05D4] }, -{ source: [0xFB24], NFC: [0xFB24], NFD: [0xFB24], NFKC: [0x05DB], NFKD: [0x05DB] }, -{ source: [0xFB25], NFC: [0xFB25], NFD: [0xFB25], NFKC: [0x05DC], NFKD: [0x05DC] }, -{ source: [0xFB26], NFC: [0xFB26], NFD: [0xFB26], NFKC: [0x05DD], NFKD: [0x05DD] }, -{ source: [0xFB27], NFC: [0xFB27], NFD: [0xFB27], NFKC: [0x05E8], NFKD: [0x05E8] }, -{ source: [0xFB28], NFC: [0xFB28], NFD: [0xFB28], NFKC: [0x05EA], NFKD: [0x05EA] }, -{ source: [0xFB29], NFC: [0xFB29], NFD: [0xFB29], NFKC: [0x002B], NFKD: [0x002B] }, -{ source: [0xFB2A], NFC: [0x05E9, 0x05C1], NFD: [0x05E9, 0x05C1], NFKC: [0x05E9, 0x05C1], NFKD: [0x05E9, 0x05C1] }, -{ source: [0xFB2B], NFC: [0x05E9, 0x05C2], NFD: [0x05E9, 0x05C2], NFKC: [0x05E9, 0x05C2], NFKD: [0x05E9, 0x05C2] }, -{ source: [0xFB2C], NFC: [0x05E9, 0x05BC, 0x05C1], NFD: [0x05E9, 0x05BC, 0x05C1], NFKC: [0x05E9, 0x05BC, 0x05C1], NFKD: [0x05E9, 0x05BC, 0x05C1] }, -{ source: [0xFB2D], NFC: [0x05E9, 0x05BC, 0x05C2], NFD: [0x05E9, 0x05BC, 0x05C2], NFKC: [0x05E9, 0x05BC, 0x05C2], NFKD: [0x05E9, 0x05BC, 0x05C2] }, -{ source: [0xFB2E], NFC: [0x05D0, 0x05B7], NFD: [0x05D0, 0x05B7], NFKC: [0x05D0, 0x05B7], NFKD: [0x05D0, 0x05B7] }, -{ source: [0xFB2F], NFC: [0x05D0, 0x05B8], NFD: [0x05D0, 0x05B8], NFKC: [0x05D0, 0x05B8], NFKD: [0x05D0, 0x05B8] }, -{ source: [0xFB30], NFC: [0x05D0, 0x05BC], NFD: [0x05D0, 0x05BC], NFKC: [0x05D0, 0x05BC], NFKD: [0x05D0, 0x05BC] }, -{ source: [0xFB31], NFC: [0x05D1, 0x05BC], NFD: [0x05D1, 0x05BC], NFKC: [0x05D1, 0x05BC], NFKD: [0x05D1, 0x05BC] }, -{ source: [0xFB32], NFC: [0x05D2, 0x05BC], NFD: [0x05D2, 0x05BC], NFKC: [0x05D2, 0x05BC], NFKD: [0x05D2, 0x05BC] }, -{ source: [0xFB33], NFC: [0x05D3, 0x05BC], NFD: [0x05D3, 0x05BC], NFKC: [0x05D3, 0x05BC], NFKD: [0x05D3, 0x05BC] }, -{ source: [0xFB34], NFC: [0x05D4, 0x05BC], NFD: [0x05D4, 0x05BC], NFKC: [0x05D4, 0x05BC], NFKD: [0x05D4, 0x05BC] }, -{ source: [0xFB35], NFC: [0x05D5, 0x05BC], NFD: [0x05D5, 0x05BC], NFKC: [0x05D5, 0x05BC], NFKD: [0x05D5, 0x05BC] }, -{ source: [0xFB36], NFC: [0x05D6, 0x05BC], NFD: [0x05D6, 0x05BC], NFKC: [0x05D6, 0x05BC], NFKD: [0x05D6, 0x05BC] }, -{ source: [0xFB38], NFC: [0x05D8, 0x05BC], NFD: [0x05D8, 0x05BC], NFKC: [0x05D8, 0x05BC], NFKD: [0x05D8, 0x05BC] }, -{ source: [0xFB39], NFC: [0x05D9, 0x05BC], NFD: [0x05D9, 0x05BC], NFKC: [0x05D9, 0x05BC], NFKD: [0x05D9, 0x05BC] }, -{ source: [0xFB3A], NFC: [0x05DA, 0x05BC], NFD: [0x05DA, 0x05BC], NFKC: [0x05DA, 0x05BC], NFKD: [0x05DA, 0x05BC] }, -{ source: [0xFB3B], NFC: [0x05DB, 0x05BC], NFD: [0x05DB, 0x05BC], NFKC: [0x05DB, 0x05BC], NFKD: [0x05DB, 0x05BC] }, -{ source: [0xFB3C], NFC: [0x05DC, 0x05BC], NFD: [0x05DC, 0x05BC], NFKC: [0x05DC, 0x05BC], NFKD: [0x05DC, 0x05BC] }, -{ source: [0xFB3E], NFC: [0x05DE, 0x05BC], NFD: [0x05DE, 0x05BC], NFKC: [0x05DE, 0x05BC], NFKD: [0x05DE, 0x05BC] }, -{ source: [0xFB40], NFC: [0x05E0, 0x05BC], NFD: [0x05E0, 0x05BC], NFKC: [0x05E0, 0x05BC], NFKD: [0x05E0, 0x05BC] }, -{ source: [0xFB41], NFC: [0x05E1, 0x05BC], NFD: [0x05E1, 0x05BC], NFKC: [0x05E1, 0x05BC], NFKD: [0x05E1, 0x05BC] }, -{ source: [0xFB43], NFC: [0x05E3, 0x05BC], NFD: [0x05E3, 0x05BC], NFKC: [0x05E3, 0x05BC], NFKD: [0x05E3, 0x05BC] }, -{ source: [0xFB44], NFC: [0x05E4, 0x05BC], NFD: [0x05E4, 0x05BC], NFKC: [0x05E4, 0x05BC], NFKD: [0x05E4, 0x05BC] }, -{ source: [0xFB46], NFC: [0x05E6, 0x05BC], NFD: [0x05E6, 0x05BC], NFKC: [0x05E6, 0x05BC], NFKD: [0x05E6, 0x05BC] }, -{ source: [0xFB47], NFC: [0x05E7, 0x05BC], NFD: [0x05E7, 0x05BC], NFKC: [0x05E7, 0x05BC], NFKD: [0x05E7, 0x05BC] }, -{ source: [0xFB48], NFC: [0x05E8, 0x05BC], NFD: [0x05E8, 0x05BC], NFKC: [0x05E8, 0x05BC], NFKD: [0x05E8, 0x05BC] }, -{ source: [0xFB49], NFC: [0x05E9, 0x05BC], NFD: [0x05E9, 0x05BC], NFKC: [0x05E9, 0x05BC], NFKD: [0x05E9, 0x05BC] }, -{ source: [0xFB4A], NFC: [0x05EA, 0x05BC], NFD: [0x05EA, 0x05BC], NFKC: [0x05EA, 0x05BC], NFKD: [0x05EA, 0x05BC] }, -{ source: [0xFB4B], NFC: [0x05D5, 0x05B9], NFD: [0x05D5, 0x05B9], NFKC: [0x05D5, 0x05B9], NFKD: [0x05D5, 0x05B9] }, -{ source: [0xFB4C], NFC: [0x05D1, 0x05BF], NFD: [0x05D1, 0x05BF], NFKC: [0x05D1, 0x05BF], NFKD: [0x05D1, 0x05BF] }, -{ source: [0xFB4D], NFC: [0x05DB, 0x05BF], NFD: [0x05DB, 0x05BF], NFKC: [0x05DB, 0x05BF], NFKD: [0x05DB, 0x05BF] }, -{ source: [0xFB4E], NFC: [0x05E4, 0x05BF], NFD: [0x05E4, 0x05BF], NFKC: [0x05E4, 0x05BF], NFKD: [0x05E4, 0x05BF] }, -{ source: [0xFB4F], NFC: [0xFB4F], NFD: [0xFB4F], NFKC: [0x05D0, 0x05DC], NFKD: [0x05D0, 0x05DC] }, -{ source: [0xFB50], NFC: [0xFB50], NFD: [0xFB50], NFKC: [0x0671], NFKD: [0x0671] }, -{ source: [0xFB51], NFC: [0xFB51], NFD: [0xFB51], NFKC: [0x0671], NFKD: [0x0671] }, -{ source: [0xFB52], NFC: [0xFB52], NFD: [0xFB52], NFKC: [0x067B], NFKD: [0x067B] }, -{ source: [0xFB53], NFC: [0xFB53], NFD: [0xFB53], NFKC: [0x067B], NFKD: [0x067B] }, -{ source: [0xFB54], NFC: [0xFB54], NFD: [0xFB54], NFKC: [0x067B], NFKD: [0x067B] }, -{ source: [0xFB55], NFC: [0xFB55], NFD: [0xFB55], NFKC: [0x067B], NFKD: [0x067B] }, -{ source: [0xFB56], NFC: [0xFB56], NFD: [0xFB56], NFKC: [0x067E], NFKD: [0x067E] }, -{ source: [0xFB57], NFC: [0xFB57], NFD: [0xFB57], NFKC: [0x067E], NFKD: [0x067E] }, -{ source: [0xFB58], NFC: [0xFB58], NFD: [0xFB58], NFKC: [0x067E], NFKD: [0x067E] }, -{ source: [0xFB59], NFC: [0xFB59], NFD: [0xFB59], NFKC: [0x067E], NFKD: [0x067E] }, -{ source: [0xFB5A], NFC: [0xFB5A], NFD: [0xFB5A], NFKC: [0x0680], NFKD: [0x0680] }, -{ source: [0xFB5B], NFC: [0xFB5B], NFD: [0xFB5B], NFKC: [0x0680], NFKD: [0x0680] }, -{ source: [0xFB5C], NFC: [0xFB5C], NFD: [0xFB5C], NFKC: [0x0680], NFKD: [0x0680] }, -{ source: [0xFB5D], NFC: [0xFB5D], NFD: [0xFB5D], NFKC: [0x0680], NFKD: [0x0680] }, -{ source: [0xFB5E], NFC: [0xFB5E], NFD: [0xFB5E], NFKC: [0x067A], NFKD: [0x067A] }, -{ source: [0xFB5F], NFC: [0xFB5F], NFD: [0xFB5F], NFKC: [0x067A], NFKD: [0x067A] }, -{ source: [0xFB60], NFC: [0xFB60], NFD: [0xFB60], NFKC: [0x067A], NFKD: [0x067A] }, -{ source: [0xFB61], NFC: [0xFB61], NFD: [0xFB61], NFKC: [0x067A], NFKD: [0x067A] }, -{ source: [0xFB62], NFC: [0xFB62], NFD: [0xFB62], NFKC: [0x067F], NFKD: [0x067F] }, -{ source: [0xFB63], NFC: [0xFB63], NFD: [0xFB63], NFKC: [0x067F], NFKD: [0x067F] }, -{ source: [0xFB64], NFC: [0xFB64], NFD: [0xFB64], NFKC: [0x067F], NFKD: [0x067F] }, -{ source: [0xFB65], NFC: [0xFB65], NFD: [0xFB65], NFKC: [0x067F], NFKD: [0x067F] }, -{ source: [0xFB66], NFC: [0xFB66], NFD: [0xFB66], NFKC: [0x0679], NFKD: [0x0679] }, -{ source: [0xFB67], NFC: [0xFB67], NFD: [0xFB67], NFKC: [0x0679], NFKD: [0x0679] }, -{ source: [0xFB68], NFC: [0xFB68], NFD: [0xFB68], NFKC: [0x0679], NFKD: [0x0679] }, -{ source: [0xFB69], NFC: [0xFB69], NFD: [0xFB69], NFKC: [0x0679], NFKD: [0x0679] }, -{ source: [0xFB6A], NFC: [0xFB6A], NFD: [0xFB6A], NFKC: [0x06A4], NFKD: [0x06A4] }, -{ source: [0xFB6B], NFC: [0xFB6B], NFD: [0xFB6B], NFKC: [0x06A4], NFKD: [0x06A4] }, -{ source: [0xFB6C], NFC: [0xFB6C], NFD: [0xFB6C], NFKC: [0x06A4], NFKD: [0x06A4] }, -{ source: [0xFB6D], NFC: [0xFB6D], NFD: [0xFB6D], NFKC: [0x06A4], NFKD: [0x06A4] }, -{ source: [0xFB6E], NFC: [0xFB6E], NFD: [0xFB6E], NFKC: [0x06A6], NFKD: [0x06A6] }, -{ source: [0xFB6F], NFC: [0xFB6F], NFD: [0xFB6F], NFKC: [0x06A6], NFKD: [0x06A6] }, -{ source: [0xFB70], NFC: [0xFB70], NFD: [0xFB70], NFKC: [0x06A6], NFKD: [0x06A6] }, -{ source: [0xFB71], NFC: [0xFB71], NFD: [0xFB71], NFKC: [0x06A6], NFKD: [0x06A6] }, -{ source: [0xFB72], NFC: [0xFB72], NFD: [0xFB72], NFKC: [0x0684], NFKD: [0x0684] }, -{ source: [0xFB73], NFC: [0xFB73], NFD: [0xFB73], NFKC: [0x0684], NFKD: [0x0684] }, -{ source: [0xFB74], NFC: [0xFB74], NFD: [0xFB74], NFKC: [0x0684], NFKD: [0x0684] }, -{ source: [0xFB75], NFC: [0xFB75], NFD: [0xFB75], NFKC: [0x0684], NFKD: [0x0684] }, -{ source: [0xFB76], NFC: [0xFB76], NFD: [0xFB76], NFKC: [0x0683], NFKD: [0x0683] }, -{ source: [0xFB77], NFC: [0xFB77], NFD: [0xFB77], NFKC: [0x0683], NFKD: [0x0683] }, -{ source: [0xFB78], NFC: [0xFB78], NFD: [0xFB78], NFKC: [0x0683], NFKD: [0x0683] }, -{ source: [0xFB79], NFC: [0xFB79], NFD: [0xFB79], NFKC: [0x0683], NFKD: [0x0683] }, -{ source: [0xFB7A], NFC: [0xFB7A], NFD: [0xFB7A], NFKC: [0x0686], NFKD: [0x0686] }, -{ source: [0xFB7B], NFC: [0xFB7B], NFD: [0xFB7B], NFKC: [0x0686], NFKD: [0x0686] }, -{ source: [0xFB7C], NFC: [0xFB7C], NFD: [0xFB7C], NFKC: [0x0686], NFKD: [0x0686] }, -{ source: [0xFB7D], NFC: [0xFB7D], NFD: [0xFB7D], NFKC: [0x0686], NFKD: [0x0686] }, -{ source: [0xFB7E], NFC: [0xFB7E], NFD: [0xFB7E], NFKC: [0x0687], NFKD: [0x0687] }, -{ source: [0xFB7F], NFC: [0xFB7F], NFD: [0xFB7F], NFKC: [0x0687], NFKD: [0x0687] }, -{ source: [0xFB80], NFC: [0xFB80], NFD: [0xFB80], NFKC: [0x0687], NFKD: [0x0687] }, -{ source: [0xFB81], NFC: [0xFB81], NFD: [0xFB81], NFKC: [0x0687], NFKD: [0x0687] }, -{ source: [0xFB82], NFC: [0xFB82], NFD: [0xFB82], NFKC: [0x068D], NFKD: [0x068D] }, -{ source: [0xFB83], NFC: [0xFB83], NFD: [0xFB83], NFKC: [0x068D], NFKD: [0x068D] }, -{ source: [0xFB84], NFC: [0xFB84], NFD: [0xFB84], NFKC: [0x068C], NFKD: [0x068C] }, -{ source: [0xFB85], NFC: [0xFB85], NFD: [0xFB85], NFKC: [0x068C], NFKD: [0x068C] }, -{ source: [0xFB86], NFC: [0xFB86], NFD: [0xFB86], NFKC: [0x068E], NFKD: [0x068E] }, -{ source: [0xFB87], NFC: [0xFB87], NFD: [0xFB87], NFKC: [0x068E], NFKD: [0x068E] }, -{ source: [0xFB88], NFC: [0xFB88], NFD: [0xFB88], NFKC: [0x0688], NFKD: [0x0688] }, -{ source: [0xFB89], NFC: [0xFB89], NFD: [0xFB89], NFKC: [0x0688], NFKD: [0x0688] }, -{ source: [0xFB8A], NFC: [0xFB8A], NFD: [0xFB8A], NFKC: [0x0698], NFKD: [0x0698] }, -{ source: [0xFB8B], NFC: [0xFB8B], NFD: [0xFB8B], NFKC: [0x0698], NFKD: [0x0698] }, -{ source: [0xFB8C], NFC: [0xFB8C], NFD: [0xFB8C], NFKC: [0x0691], NFKD: [0x0691] }, -{ source: [0xFB8D], NFC: [0xFB8D], NFD: [0xFB8D], NFKC: [0x0691], NFKD: [0x0691] }, -{ source: [0xFB8E], NFC: [0xFB8E], NFD: [0xFB8E], NFKC: [0x06A9], NFKD: [0x06A9] }, -{ source: [0xFB8F], NFC: [0xFB8F], NFD: [0xFB8F], NFKC: [0x06A9], NFKD: [0x06A9] }, -{ source: [0xFB90], NFC: [0xFB90], NFD: [0xFB90], NFKC: [0x06A9], NFKD: [0x06A9] }, -{ source: [0xFB91], NFC: [0xFB91], NFD: [0xFB91], NFKC: [0x06A9], NFKD: [0x06A9] }, -{ source: [0xFB92], NFC: [0xFB92], NFD: [0xFB92], NFKC: [0x06AF], NFKD: [0x06AF] }, -{ source: [0xFB93], NFC: [0xFB93], NFD: [0xFB93], NFKC: [0x06AF], NFKD: [0x06AF] }, -{ source: [0xFB94], NFC: [0xFB94], NFD: [0xFB94], NFKC: [0x06AF], NFKD: [0x06AF] }, -{ source: [0xFB95], NFC: [0xFB95], NFD: [0xFB95], NFKC: [0x06AF], NFKD: [0x06AF] }, -{ source: [0xFB96], NFC: [0xFB96], NFD: [0xFB96], NFKC: [0x06B3], NFKD: [0x06B3] }, -{ source: [0xFB97], NFC: [0xFB97], NFD: [0xFB97], NFKC: [0x06B3], NFKD: [0x06B3] }, -{ source: [0xFB98], NFC: [0xFB98], NFD: [0xFB98], NFKC: [0x06B3], NFKD: [0x06B3] }, -{ source: [0xFB99], NFC: [0xFB99], NFD: [0xFB99], NFKC: [0x06B3], NFKD: [0x06B3] }, -{ source: [0xFB9A], NFC: [0xFB9A], NFD: [0xFB9A], NFKC: [0x06B1], NFKD: [0x06B1] }, -{ source: [0xFB9B], NFC: [0xFB9B], NFD: [0xFB9B], NFKC: [0x06B1], NFKD: [0x06B1] }, -{ source: [0xFB9C], NFC: [0xFB9C], NFD: [0xFB9C], NFKC: [0x06B1], NFKD: [0x06B1] }, -{ source: [0xFB9D], NFC: [0xFB9D], NFD: [0xFB9D], NFKC: [0x06B1], NFKD: [0x06B1] }, -{ source: [0xFB9E], NFC: [0xFB9E], NFD: [0xFB9E], NFKC: [0x06BA], NFKD: [0x06BA] }, -{ source: [0xFB9F], NFC: [0xFB9F], NFD: [0xFB9F], NFKC: [0x06BA], NFKD: [0x06BA] }, -{ source: [0xFBA0], NFC: [0xFBA0], NFD: [0xFBA0], NFKC: [0x06BB], NFKD: [0x06BB] }, -{ source: [0xFBA1], NFC: [0xFBA1], NFD: [0xFBA1], NFKC: [0x06BB], NFKD: [0x06BB] }, -{ source: [0xFBA2], NFC: [0xFBA2], NFD: [0xFBA2], NFKC: [0x06BB], NFKD: [0x06BB] }, -{ source: [0xFBA3], NFC: [0xFBA3], NFD: [0xFBA3], NFKC: [0x06BB], NFKD: [0x06BB] }, -{ source: [0xFBA4], NFC: [0xFBA4], NFD: [0xFBA4], NFKC: [0x06C0], NFKD: [0x06D5, 0x0654] }, -{ source: [0xFBA5], NFC: [0xFBA5], NFD: [0xFBA5], NFKC: [0x06C0], NFKD: [0x06D5, 0x0654] }, -{ source: [0xFBA6], NFC: [0xFBA6], NFD: [0xFBA6], NFKC: [0x06C1], NFKD: [0x06C1] }, -{ source: [0xFBA7], NFC: [0xFBA7], NFD: [0xFBA7], NFKC: [0x06C1], NFKD: [0x06C1] }, -{ source: [0xFBA8], NFC: [0xFBA8], NFD: [0xFBA8], NFKC: [0x06C1], NFKD: [0x06C1] }, -{ source: [0xFBA9], NFC: [0xFBA9], NFD: [0xFBA9], NFKC: [0x06C1], NFKD: [0x06C1] }, -{ source: [0xFBAA], NFC: [0xFBAA], NFD: [0xFBAA], NFKC: [0x06BE], NFKD: [0x06BE] }, -{ source: [0xFBAB], NFC: [0xFBAB], NFD: [0xFBAB], NFKC: [0x06BE], NFKD: [0x06BE] }, -{ source: [0xFBAC], NFC: [0xFBAC], NFD: [0xFBAC], NFKC: [0x06BE], NFKD: [0x06BE] }, -{ source: [0xFBAD], NFC: [0xFBAD], NFD: [0xFBAD], NFKC: [0x06BE], NFKD: [0x06BE] }, -{ source: [0xFBAE], NFC: [0xFBAE], NFD: [0xFBAE], NFKC: [0x06D2], NFKD: [0x06D2] }, -{ source: [0xFBAF], NFC: [0xFBAF], NFD: [0xFBAF], NFKC: [0x06D2], NFKD: [0x06D2] }, -{ source: [0xFBB0], NFC: [0xFBB0], NFD: [0xFBB0], NFKC: [0x06D3], NFKD: [0x06D2, 0x0654] }, -{ source: [0xFBB1], NFC: [0xFBB1], NFD: [0xFBB1], NFKC: [0x06D3], NFKD: [0x06D2, 0x0654] }, -{ source: [0xFBD3], NFC: [0xFBD3], NFD: [0xFBD3], NFKC: [0x06AD], NFKD: [0x06AD] }, -{ source: [0xFBD4], NFC: [0xFBD4], NFD: [0xFBD4], NFKC: [0x06AD], NFKD: [0x06AD] }, -{ source: [0xFBD5], NFC: [0xFBD5], NFD: [0xFBD5], NFKC: [0x06AD], NFKD: [0x06AD] }, -{ source: [0xFBD6], NFC: [0xFBD6], NFD: [0xFBD6], NFKC: [0x06AD], NFKD: [0x06AD] }, -{ source: [0xFBD7], NFC: [0xFBD7], NFD: [0xFBD7], NFKC: [0x06C7], NFKD: [0x06C7] }, -{ source: [0xFBD8], NFC: [0xFBD8], NFD: [0xFBD8], NFKC: [0x06C7], NFKD: [0x06C7] }, -{ source: [0xFBD9], NFC: [0xFBD9], NFD: [0xFBD9], NFKC: [0x06C6], NFKD: [0x06C6] }, -{ source: [0xFBDA], NFC: [0xFBDA], NFD: [0xFBDA], NFKC: [0x06C6], NFKD: [0x06C6] }, -{ source: [0xFBDB], NFC: [0xFBDB], NFD: [0xFBDB], NFKC: [0x06C8], NFKD: [0x06C8] }, -{ source: [0xFBDC], NFC: [0xFBDC], NFD: [0xFBDC], NFKC: [0x06C8], NFKD: [0x06C8] }, -{ source: [0xFBDD], NFC: [0xFBDD], NFD: [0xFBDD], NFKC: [0x06C7, 0x0674], NFKD: [0x06C7, 0x0674] }, -{ source: [0xFBDE], NFC: [0xFBDE], NFD: [0xFBDE], NFKC: [0x06CB], NFKD: [0x06CB] }, -{ source: [0xFBDF], NFC: [0xFBDF], NFD: [0xFBDF], NFKC: [0x06CB], NFKD: [0x06CB] }, -{ source: [0xFBE0], NFC: [0xFBE0], NFD: [0xFBE0], NFKC: [0x06C5], NFKD: [0x06C5] }, -{ source: [0xFBE1], NFC: [0xFBE1], NFD: [0xFBE1], NFKC: [0x06C5], NFKD: [0x06C5] }, -{ source: [0xFBE2], NFC: [0xFBE2], NFD: [0xFBE2], NFKC: [0x06C9], NFKD: [0x06C9] }, -{ source: [0xFBE3], NFC: [0xFBE3], NFD: [0xFBE3], NFKC: [0x06C9], NFKD: [0x06C9] }, -{ source: [0xFBE4], NFC: [0xFBE4], NFD: [0xFBE4], NFKC: [0x06D0], NFKD: [0x06D0] }, -{ source: [0xFBE5], NFC: [0xFBE5], NFD: [0xFBE5], NFKC: [0x06D0], NFKD: [0x06D0] }, -{ source: [0xFBE6], NFC: [0xFBE6], NFD: [0xFBE6], NFKC: [0x06D0], NFKD: [0x06D0] }, -{ source: [0xFBE7], NFC: [0xFBE7], NFD: [0xFBE7], NFKC: [0x06D0], NFKD: [0x06D0] }, -{ source: [0xFBE8], NFC: [0xFBE8], NFD: [0xFBE8], NFKC: [0x0649], NFKD: [0x0649] }, -{ source: [0xFBE9], NFC: [0xFBE9], NFD: [0xFBE9], NFKC: [0x0649], NFKD: [0x0649] }, -{ source: [0xFBEA], NFC: [0xFBEA], NFD: [0xFBEA], NFKC: [0x0626, 0x0627], NFKD: [0x064A, 0x0654, 0x0627] }, -{ source: [0xFBEB], NFC: [0xFBEB], NFD: [0xFBEB], NFKC: [0x0626, 0x0627], NFKD: [0x064A, 0x0654, 0x0627] }, -{ source: [0xFBEC], NFC: [0xFBEC], NFD: [0xFBEC], NFKC: [0x0626, 0x06D5], NFKD: [0x064A, 0x0654, 0x06D5] }, -{ source: [0xFBED], NFC: [0xFBED], NFD: [0xFBED], NFKC: [0x0626, 0x06D5], NFKD: [0x064A, 0x0654, 0x06D5] }, -{ source: [0xFBEE], NFC: [0xFBEE], NFD: [0xFBEE], NFKC: [0x0626, 0x0648], NFKD: [0x064A, 0x0654, 0x0648] }, -{ source: [0xFBEF], NFC: [0xFBEF], NFD: [0xFBEF], NFKC: [0x0626, 0x0648], NFKD: [0x064A, 0x0654, 0x0648] }, -{ source: [0xFBF0], NFC: [0xFBF0], NFD: [0xFBF0], NFKC: [0x0626, 0x06C7], NFKD: [0x064A, 0x0654, 0x06C7] }, -{ source: [0xFBF1], NFC: [0xFBF1], NFD: [0xFBF1], NFKC: [0x0626, 0x06C7], NFKD: [0x064A, 0x0654, 0x06C7] }, -{ source: [0xFBF2], NFC: [0xFBF2], NFD: [0xFBF2], NFKC: [0x0626, 0x06C6], NFKD: [0x064A, 0x0654, 0x06C6] }, -{ source: [0xFBF3], NFC: [0xFBF3], NFD: [0xFBF3], NFKC: [0x0626, 0x06C6], NFKD: [0x064A, 0x0654, 0x06C6] }, -{ source: [0xFBF4], NFC: [0xFBF4], NFD: [0xFBF4], NFKC: [0x0626, 0x06C8], NFKD: [0x064A, 0x0654, 0x06C8] }, -{ source: [0xFBF5], NFC: [0xFBF5], NFD: [0xFBF5], NFKC: [0x0626, 0x06C8], NFKD: [0x064A, 0x0654, 0x06C8] }, -{ source: [0xFBF6], NFC: [0xFBF6], NFD: [0xFBF6], NFKC: [0x0626, 0x06D0], NFKD: [0x064A, 0x0654, 0x06D0] }, -{ source: [0xFBF7], NFC: [0xFBF7], NFD: [0xFBF7], NFKC: [0x0626, 0x06D0], NFKD: [0x064A, 0x0654, 0x06D0] }, -{ source: [0xFBF8], NFC: [0xFBF8], NFD: [0xFBF8], NFKC: [0x0626, 0x06D0], NFKD: [0x064A, 0x0654, 0x06D0] }, -{ source: [0xFBF9], NFC: [0xFBF9], NFD: [0xFBF9], NFKC: [0x0626, 0x0649], NFKD: [0x064A, 0x0654, 0x0649] }, -{ source: [0xFBFA], NFC: [0xFBFA], NFD: [0xFBFA], NFKC: [0x0626, 0x0649], NFKD: [0x064A, 0x0654, 0x0649] }, -{ source: [0xFBFB], NFC: [0xFBFB], NFD: [0xFBFB], NFKC: [0x0626, 0x0649], NFKD: [0x064A, 0x0654, 0x0649] }, -{ source: [0xFBFC], NFC: [0xFBFC], NFD: [0xFBFC], NFKC: [0x06CC], NFKD: [0x06CC] }, -{ source: [0xFBFD], NFC: [0xFBFD], NFD: [0xFBFD], NFKC: [0x06CC], NFKD: [0x06CC] }, -{ source: [0xFBFE], NFC: [0xFBFE], NFD: [0xFBFE], NFKC: [0x06CC], NFKD: [0x06CC] }, -{ source: [0xFBFF], NFC: [0xFBFF], NFD: [0xFBFF], NFKC: [0x06CC], NFKD: [0x06CC] }, -{ source: [0xFC00], NFC: [0xFC00], NFD: [0xFC00], NFKC: [0x0626, 0x062C], NFKD: [0x064A, 0x0654, 0x062C] }, -{ source: [0xFC01], NFC: [0xFC01], NFD: [0xFC01], NFKC: [0x0626, 0x062D], NFKD: [0x064A, 0x0654, 0x062D] }, -{ source: [0xFC02], NFC: [0xFC02], NFD: [0xFC02], NFKC: [0x0626, 0x0645], NFKD: [0x064A, 0x0654, 0x0645] }, -{ source: [0xFC03], NFC: [0xFC03], NFD: [0xFC03], NFKC: [0x0626, 0x0649], NFKD: [0x064A, 0x0654, 0x0649] }, -{ source: [0xFC04], NFC: [0xFC04], NFD: [0xFC04], NFKC: [0x0626, 0x064A], NFKD: [0x064A, 0x0654, 0x064A] }, -{ source: [0xFC05], NFC: [0xFC05], NFD: [0xFC05], NFKC: [0x0628, 0x062C], NFKD: [0x0628, 0x062C] }, -{ source: [0xFC06], NFC: [0xFC06], NFD: [0xFC06], NFKC: [0x0628, 0x062D], NFKD: [0x0628, 0x062D] }, -{ source: [0xFC07], NFC: [0xFC07], NFD: [0xFC07], NFKC: [0x0628, 0x062E], NFKD: [0x0628, 0x062E] }, -{ source: [0xFC08], NFC: [0xFC08], NFD: [0xFC08], NFKC: [0x0628, 0x0645], NFKD: [0x0628, 0x0645] }, -{ source: [0xFC09], NFC: [0xFC09], NFD: [0xFC09], NFKC: [0x0628, 0x0649], NFKD: [0x0628, 0x0649] }, -{ source: [0xFC0A], NFC: [0xFC0A], NFD: [0xFC0A], NFKC: [0x0628, 0x064A], NFKD: [0x0628, 0x064A] }, -{ source: [0xFC0B], NFC: [0xFC0B], NFD: [0xFC0B], NFKC: [0x062A, 0x062C], NFKD: [0x062A, 0x062C] }, -{ source: [0xFC0C], NFC: [0xFC0C], NFD: [0xFC0C], NFKC: [0x062A, 0x062D], NFKD: [0x062A, 0x062D] }, -{ source: [0xFC0D], NFC: [0xFC0D], NFD: [0xFC0D], NFKC: [0x062A, 0x062E], NFKD: [0x062A, 0x062E] }, -{ source: [0xFC0E], NFC: [0xFC0E], NFD: [0xFC0E], NFKC: [0x062A, 0x0645], NFKD: [0x062A, 0x0645] }, -{ source: [0xFC0F], NFC: [0xFC0F], NFD: [0xFC0F], NFKC: [0x062A, 0x0649], NFKD: [0x062A, 0x0649] }, -{ source: [0xFC10], NFC: [0xFC10], NFD: [0xFC10], NFKC: [0x062A, 0x064A], NFKD: [0x062A, 0x064A] }, -{ source: [0xFC11], NFC: [0xFC11], NFD: [0xFC11], NFKC: [0x062B, 0x062C], NFKD: [0x062B, 0x062C] }, -{ source: [0xFC12], NFC: [0xFC12], NFD: [0xFC12], NFKC: [0x062B, 0x0645], NFKD: [0x062B, 0x0645] }, -{ source: [0xFC13], NFC: [0xFC13], NFD: [0xFC13], NFKC: [0x062B, 0x0649], NFKD: [0x062B, 0x0649] }, -{ source: [0xFC14], NFC: [0xFC14], NFD: [0xFC14], NFKC: [0x062B, 0x064A], NFKD: [0x062B, 0x064A] }, -{ source: [0xFC15], NFC: [0xFC15], NFD: [0xFC15], NFKC: [0x062C, 0x062D], NFKD: [0x062C, 0x062D] }, -{ source: [0xFC16], NFC: [0xFC16], NFD: [0xFC16], NFKC: [0x062C, 0x0645], NFKD: [0x062C, 0x0645] }, -{ source: [0xFC17], NFC: [0xFC17], NFD: [0xFC17], NFKC: [0x062D, 0x062C], NFKD: [0x062D, 0x062C] }, -{ source: [0xFC18], NFC: [0xFC18], NFD: [0xFC18], NFKC: [0x062D, 0x0645], NFKD: [0x062D, 0x0645] }, -{ source: [0xFC19], NFC: [0xFC19], NFD: [0xFC19], NFKC: [0x062E, 0x062C], NFKD: [0x062E, 0x062C] }, -{ source: [0xFC1A], NFC: [0xFC1A], NFD: [0xFC1A], NFKC: [0x062E, 0x062D], NFKD: [0x062E, 0x062D] }, -{ source: [0xFC1B], NFC: [0xFC1B], NFD: [0xFC1B], NFKC: [0x062E, 0x0645], NFKD: [0x062E, 0x0645] }, -{ source: [0xFC1C], NFC: [0xFC1C], NFD: [0xFC1C], NFKC: [0x0633, 0x062C], NFKD: [0x0633, 0x062C] }, -{ source: [0xFC1D], NFC: [0xFC1D], NFD: [0xFC1D], NFKC: [0x0633, 0x062D], NFKD: [0x0633, 0x062D] }, -{ source: [0xFC1E], NFC: [0xFC1E], NFD: [0xFC1E], NFKC: [0x0633, 0x062E], NFKD: [0x0633, 0x062E] }, -{ source: [0xFC1F], NFC: [0xFC1F], NFD: [0xFC1F], NFKC: [0x0633, 0x0645], NFKD: [0x0633, 0x0645] }, -{ source: [0xFC20], NFC: [0xFC20], NFD: [0xFC20], NFKC: [0x0635, 0x062D], NFKD: [0x0635, 0x062D] }, -{ source: [0xFC21], NFC: [0xFC21], NFD: [0xFC21], NFKC: [0x0635, 0x0645], NFKD: [0x0635, 0x0645] }, -{ source: [0xFC22], NFC: [0xFC22], NFD: [0xFC22], NFKC: [0x0636, 0x062C], NFKD: [0x0636, 0x062C] }, -{ source: [0xFC23], NFC: [0xFC23], NFD: [0xFC23], NFKC: [0x0636, 0x062D], NFKD: [0x0636, 0x062D] }, -{ source: [0xFC24], NFC: [0xFC24], NFD: [0xFC24], NFKC: [0x0636, 0x062E], NFKD: [0x0636, 0x062E] }, -{ source: [0xFC25], NFC: [0xFC25], NFD: [0xFC25], NFKC: [0x0636, 0x0645], NFKD: [0x0636, 0x0645] }, -{ source: [0xFC26], NFC: [0xFC26], NFD: [0xFC26], NFKC: [0x0637, 0x062D], NFKD: [0x0637, 0x062D] }, -{ source: [0xFC27], NFC: [0xFC27], NFD: [0xFC27], NFKC: [0x0637, 0x0645], NFKD: [0x0637, 0x0645] }, -{ source: [0xFC28], NFC: [0xFC28], NFD: [0xFC28], NFKC: [0x0638, 0x0645], NFKD: [0x0638, 0x0645] }, -{ source: [0xFC29], NFC: [0xFC29], NFD: [0xFC29], NFKC: [0x0639, 0x062C], NFKD: [0x0639, 0x062C] }, -{ source: [0xFC2A], NFC: [0xFC2A], NFD: [0xFC2A], NFKC: [0x0639, 0x0645], NFKD: [0x0639, 0x0645] }, -{ source: [0xFC2B], NFC: [0xFC2B], NFD: [0xFC2B], NFKC: [0x063A, 0x062C], NFKD: [0x063A, 0x062C] }, -{ source: [0xFC2C], NFC: [0xFC2C], NFD: [0xFC2C], NFKC: [0x063A, 0x0645], NFKD: [0x063A, 0x0645] }, -{ source: [0xFC2D], NFC: [0xFC2D], NFD: [0xFC2D], NFKC: [0x0641, 0x062C], NFKD: [0x0641, 0x062C] }, -{ source: [0xFC2E], NFC: [0xFC2E], NFD: [0xFC2E], NFKC: [0x0641, 0x062D], NFKD: [0x0641, 0x062D] }, -{ source: [0xFC2F], NFC: [0xFC2F], NFD: [0xFC2F], NFKC: [0x0641, 0x062E], NFKD: [0x0641, 0x062E] }, -{ source: [0xFC30], NFC: [0xFC30], NFD: [0xFC30], NFKC: [0x0641, 0x0645], NFKD: [0x0641, 0x0645] }, -{ source: [0xFC31], NFC: [0xFC31], NFD: [0xFC31], NFKC: [0x0641, 0x0649], NFKD: [0x0641, 0x0649] }, -{ source: [0xFC32], NFC: [0xFC32], NFD: [0xFC32], NFKC: [0x0641, 0x064A], NFKD: [0x0641, 0x064A] }, -{ source: [0xFC33], NFC: [0xFC33], NFD: [0xFC33], NFKC: [0x0642, 0x062D], NFKD: [0x0642, 0x062D] }, -{ source: [0xFC34], NFC: [0xFC34], NFD: [0xFC34], NFKC: [0x0642, 0x0645], NFKD: [0x0642, 0x0645] }, -{ source: [0xFC35], NFC: [0xFC35], NFD: [0xFC35], NFKC: [0x0642, 0x0649], NFKD: [0x0642, 0x0649] }, -{ source: [0xFC36], NFC: [0xFC36], NFD: [0xFC36], NFKC: [0x0642, 0x064A], NFKD: [0x0642, 0x064A] }, -{ source: [0xFC37], NFC: [0xFC37], NFD: [0xFC37], NFKC: [0x0643, 0x0627], NFKD: [0x0643, 0x0627] }, -{ source: [0xFC38], NFC: [0xFC38], NFD: [0xFC38], NFKC: [0x0643, 0x062C], NFKD: [0x0643, 0x062C] }, -{ source: [0xFC39], NFC: [0xFC39], NFD: [0xFC39], NFKC: [0x0643, 0x062D], NFKD: [0x0643, 0x062D] }, -{ source: [0xFC3A], NFC: [0xFC3A], NFD: [0xFC3A], NFKC: [0x0643, 0x062E], NFKD: [0x0643, 0x062E] }, -{ source: [0xFC3B], NFC: [0xFC3B], NFD: [0xFC3B], NFKC: [0x0643, 0x0644], NFKD: [0x0643, 0x0644] }, -{ source: [0xFC3C], NFC: [0xFC3C], NFD: [0xFC3C], NFKC: [0x0643, 0x0645], NFKD: [0x0643, 0x0645] }, -{ source: [0xFC3D], NFC: [0xFC3D], NFD: [0xFC3D], NFKC: [0x0643, 0x0649], NFKD: [0x0643, 0x0649] }, -{ source: [0xFC3E], NFC: [0xFC3E], NFD: [0xFC3E], NFKC: [0x0643, 0x064A], NFKD: [0x0643, 0x064A] }, -{ source: [0xFC3F], NFC: [0xFC3F], NFD: [0xFC3F], NFKC: [0x0644, 0x062C], NFKD: [0x0644, 0x062C] }, -{ source: [0xFC40], NFC: [0xFC40], NFD: [0xFC40], NFKC: [0x0644, 0x062D], NFKD: [0x0644, 0x062D] }, -{ source: [0xFC41], NFC: [0xFC41], NFD: [0xFC41], NFKC: [0x0644, 0x062E], NFKD: [0x0644, 0x062E] }, -{ source: [0xFC42], NFC: [0xFC42], NFD: [0xFC42], NFKC: [0x0644, 0x0645], NFKD: [0x0644, 0x0645] }, -{ source: [0xFC43], NFC: [0xFC43], NFD: [0xFC43], NFKC: [0x0644, 0x0649], NFKD: [0x0644, 0x0649] }, -{ source: [0xFC44], NFC: [0xFC44], NFD: [0xFC44], NFKC: [0x0644, 0x064A], NFKD: [0x0644, 0x064A] }, -{ source: [0xFC45], NFC: [0xFC45], NFD: [0xFC45], NFKC: [0x0645, 0x062C], NFKD: [0x0645, 0x062C] }, -{ source: [0xFC46], NFC: [0xFC46], NFD: [0xFC46], NFKC: [0x0645, 0x062D], NFKD: [0x0645, 0x062D] }, -{ source: [0xFC47], NFC: [0xFC47], NFD: [0xFC47], NFKC: [0x0645, 0x062E], NFKD: [0x0645, 0x062E] }, -{ source: [0xFC48], NFC: [0xFC48], NFD: [0xFC48], NFKC: [0x0645, 0x0645], NFKD: [0x0645, 0x0645] }, -{ source: [0xFC49], NFC: [0xFC49], NFD: [0xFC49], NFKC: [0x0645, 0x0649], NFKD: [0x0645, 0x0649] }, -{ source: [0xFC4A], NFC: [0xFC4A], NFD: [0xFC4A], NFKC: [0x0645, 0x064A], NFKD: [0x0645, 0x064A] }, -{ source: [0xFC4B], NFC: [0xFC4B], NFD: [0xFC4B], NFKC: [0x0646, 0x062C], NFKD: [0x0646, 0x062C] }, -{ source: [0xFC4C], NFC: [0xFC4C], NFD: [0xFC4C], NFKC: [0x0646, 0x062D], NFKD: [0x0646, 0x062D] }, -{ source: [0xFC4D], NFC: [0xFC4D], NFD: [0xFC4D], NFKC: [0x0646, 0x062E], NFKD: [0x0646, 0x062E] }, -{ source: [0xFC4E], NFC: [0xFC4E], NFD: [0xFC4E], NFKC: [0x0646, 0x0645], NFKD: [0x0646, 0x0645] }, -{ source: [0xFC4F], NFC: [0xFC4F], NFD: [0xFC4F], NFKC: [0x0646, 0x0649], NFKD: [0x0646, 0x0649] }, -{ source: [0xFC50], NFC: [0xFC50], NFD: [0xFC50], NFKC: [0x0646, 0x064A], NFKD: [0x0646, 0x064A] }, -{ source: [0xFC51], NFC: [0xFC51], NFD: [0xFC51], NFKC: [0x0647, 0x062C], NFKD: [0x0647, 0x062C] }, -{ source: [0xFC52], NFC: [0xFC52], NFD: [0xFC52], NFKC: [0x0647, 0x0645], NFKD: [0x0647, 0x0645] }, -{ source: [0xFC53], NFC: [0xFC53], NFD: [0xFC53], NFKC: [0x0647, 0x0649], NFKD: [0x0647, 0x0649] }, -{ source: [0xFC54], NFC: [0xFC54], NFD: [0xFC54], NFKC: [0x0647, 0x064A], NFKD: [0x0647, 0x064A] }, -{ source: [0xFC55], NFC: [0xFC55], NFD: [0xFC55], NFKC: [0x064A, 0x062C], NFKD: [0x064A, 0x062C] }, -{ source: [0xFC56], NFC: [0xFC56], NFD: [0xFC56], NFKC: [0x064A, 0x062D], NFKD: [0x064A, 0x062D] }, -{ source: [0xFC57], NFC: [0xFC57], NFD: [0xFC57], NFKC: [0x064A, 0x062E], NFKD: [0x064A, 0x062E] }, -{ source: [0xFC58], NFC: [0xFC58], NFD: [0xFC58], NFKC: [0x064A, 0x0645], NFKD: [0x064A, 0x0645] }, -{ source: [0xFC59], NFC: [0xFC59], NFD: [0xFC59], NFKC: [0x064A, 0x0649], NFKD: [0x064A, 0x0649] }, -{ source: [0xFC5A], NFC: [0xFC5A], NFD: [0xFC5A], NFKC: [0x064A, 0x064A], NFKD: [0x064A, 0x064A] }, -{ source: [0xFC5B], NFC: [0xFC5B], NFD: [0xFC5B], NFKC: [0x0630, 0x0670], NFKD: [0x0630, 0x0670] }, -{ source: [0xFC5C], NFC: [0xFC5C], NFD: [0xFC5C], NFKC: [0x0631, 0x0670], NFKD: [0x0631, 0x0670] }, -{ source: [0xFC5D], NFC: [0xFC5D], NFD: [0xFC5D], NFKC: [0x0649, 0x0670], NFKD: [0x0649, 0x0670] }, -{ source: [0xFC5E], NFC: [0xFC5E], NFD: [0xFC5E], NFKC: [0x0020, 0x064C, 0x0651], NFKD: [0x0020, 0x064C, 0x0651] }, -{ source: [0xFC5F], NFC: [0xFC5F], NFD: [0xFC5F], NFKC: [0x0020, 0x064D, 0x0651], NFKD: [0x0020, 0x064D, 0x0651] }, -{ source: [0xFC60], NFC: [0xFC60], NFD: [0xFC60], NFKC: [0x0020, 0x064E, 0x0651], NFKD: [0x0020, 0x064E, 0x0651] }, -{ source: [0xFC61], NFC: [0xFC61], NFD: [0xFC61], NFKC: [0x0020, 0x064F, 0x0651], NFKD: [0x0020, 0x064F, 0x0651] }, -{ source: [0xFC62], NFC: [0xFC62], NFD: [0xFC62], NFKC: [0x0020, 0x0650, 0x0651], NFKD: [0x0020, 0x0650, 0x0651] }, -{ source: [0xFC63], NFC: [0xFC63], NFD: [0xFC63], NFKC: [0x0020, 0x0651, 0x0670], NFKD: [0x0020, 0x0651, 0x0670] }, -{ source: [0xFC64], NFC: [0xFC64], NFD: [0xFC64], NFKC: [0x0626, 0x0631], NFKD: [0x064A, 0x0654, 0x0631] }, -{ source: [0xFC65], NFC: [0xFC65], NFD: [0xFC65], NFKC: [0x0626, 0x0632], NFKD: [0x064A, 0x0654, 0x0632] }, -{ source: [0xFC66], NFC: [0xFC66], NFD: [0xFC66], NFKC: [0x0626, 0x0645], NFKD: [0x064A, 0x0654, 0x0645] }, -{ source: [0xFC67], NFC: [0xFC67], NFD: [0xFC67], NFKC: [0x0626, 0x0646], NFKD: [0x064A, 0x0654, 0x0646] }, -{ source: [0xFC68], NFC: [0xFC68], NFD: [0xFC68], NFKC: [0x0626, 0x0649], NFKD: [0x064A, 0x0654, 0x0649] }, -{ source: [0xFC69], NFC: [0xFC69], NFD: [0xFC69], NFKC: [0x0626, 0x064A], NFKD: [0x064A, 0x0654, 0x064A] }, -{ source: [0xFC6A], NFC: [0xFC6A], NFD: [0xFC6A], NFKC: [0x0628, 0x0631], NFKD: [0x0628, 0x0631] }, -{ source: [0xFC6B], NFC: [0xFC6B], NFD: [0xFC6B], NFKC: [0x0628, 0x0632], NFKD: [0x0628, 0x0632] }, -{ source: [0xFC6C], NFC: [0xFC6C], NFD: [0xFC6C], NFKC: [0x0628, 0x0645], NFKD: [0x0628, 0x0645] }, -{ source: [0xFC6D], NFC: [0xFC6D], NFD: [0xFC6D], NFKC: [0x0628, 0x0646], NFKD: [0x0628, 0x0646] }, -{ source: [0xFC6E], NFC: [0xFC6E], NFD: [0xFC6E], NFKC: [0x0628, 0x0649], NFKD: [0x0628, 0x0649] }, -{ source: [0xFC6F], NFC: [0xFC6F], NFD: [0xFC6F], NFKC: [0x0628, 0x064A], NFKD: [0x0628, 0x064A] }, -{ source: [0xFC70], NFC: [0xFC70], NFD: [0xFC70], NFKC: [0x062A, 0x0631], NFKD: [0x062A, 0x0631] }, -{ source: [0xFC71], NFC: [0xFC71], NFD: [0xFC71], NFKC: [0x062A, 0x0632], NFKD: [0x062A, 0x0632] }, -{ source: [0xFC72], NFC: [0xFC72], NFD: [0xFC72], NFKC: [0x062A, 0x0645], NFKD: [0x062A, 0x0645] }, -{ source: [0xFC73], NFC: [0xFC73], NFD: [0xFC73], NFKC: [0x062A, 0x0646], NFKD: [0x062A, 0x0646] }, -{ source: [0xFC74], NFC: [0xFC74], NFD: [0xFC74], NFKC: [0x062A, 0x0649], NFKD: [0x062A, 0x0649] }, -{ source: [0xFC75], NFC: [0xFC75], NFD: [0xFC75], NFKC: [0x062A, 0x064A], NFKD: [0x062A, 0x064A] }, -{ source: [0xFC76], NFC: [0xFC76], NFD: [0xFC76], NFKC: [0x062B, 0x0631], NFKD: [0x062B, 0x0631] }, -{ source: [0xFC77], NFC: [0xFC77], NFD: [0xFC77], NFKC: [0x062B, 0x0632], NFKD: [0x062B, 0x0632] }, -{ source: [0xFC78], NFC: [0xFC78], NFD: [0xFC78], NFKC: [0x062B, 0x0645], NFKD: [0x062B, 0x0645] }, -{ source: [0xFC79], NFC: [0xFC79], NFD: [0xFC79], NFKC: [0x062B, 0x0646], NFKD: [0x062B, 0x0646] }, -{ source: [0xFC7A], NFC: [0xFC7A], NFD: [0xFC7A], NFKC: [0x062B, 0x0649], NFKD: [0x062B, 0x0649] }, -{ source: [0xFC7B], NFC: [0xFC7B], NFD: [0xFC7B], NFKC: [0x062B, 0x064A], NFKD: [0x062B, 0x064A] }, -{ source: [0xFC7C], NFC: [0xFC7C], NFD: [0xFC7C], NFKC: [0x0641, 0x0649], NFKD: [0x0641, 0x0649] }, -{ source: [0xFC7D], NFC: [0xFC7D], NFD: [0xFC7D], NFKC: [0x0641, 0x064A], NFKD: [0x0641, 0x064A] }, -{ source: [0xFC7E], NFC: [0xFC7E], NFD: [0xFC7E], NFKC: [0x0642, 0x0649], NFKD: [0x0642, 0x0649] }, -{ source: [0xFC7F], NFC: [0xFC7F], NFD: [0xFC7F], NFKC: [0x0642, 0x064A], NFKD: [0x0642, 0x064A] }, -{ source: [0xFC80], NFC: [0xFC80], NFD: [0xFC80], NFKC: [0x0643, 0x0627], NFKD: [0x0643, 0x0627] }, -{ source: [0xFC81], NFC: [0xFC81], NFD: [0xFC81], NFKC: [0x0643, 0x0644], NFKD: [0x0643, 0x0644] }, -{ source: [0xFC82], NFC: [0xFC82], NFD: [0xFC82], NFKC: [0x0643, 0x0645], NFKD: [0x0643, 0x0645] }, -{ source: [0xFC83], NFC: [0xFC83], NFD: [0xFC83], NFKC: [0x0643, 0x0649], NFKD: [0x0643, 0x0649] }, -{ source: [0xFC84], NFC: [0xFC84], NFD: [0xFC84], NFKC: [0x0643, 0x064A], NFKD: [0x0643, 0x064A] }, -{ source: [0xFC85], NFC: [0xFC85], NFD: [0xFC85], NFKC: [0x0644, 0x0645], NFKD: [0x0644, 0x0645] }, -{ source: [0xFC86], NFC: [0xFC86], NFD: [0xFC86], NFKC: [0x0644, 0x0649], NFKD: [0x0644, 0x0649] }, -{ source: [0xFC87], NFC: [0xFC87], NFD: [0xFC87], NFKC: [0x0644, 0x064A], NFKD: [0x0644, 0x064A] }, -{ source: [0xFC88], NFC: [0xFC88], NFD: [0xFC88], NFKC: [0x0645, 0x0627], NFKD: [0x0645, 0x0627] }, -{ source: [0xFC89], NFC: [0xFC89], NFD: [0xFC89], NFKC: [0x0645, 0x0645], NFKD: [0x0645, 0x0645] }, -{ source: [0xFC8A], NFC: [0xFC8A], NFD: [0xFC8A], NFKC: [0x0646, 0x0631], NFKD: [0x0646, 0x0631] }, -{ source: [0xFC8B], NFC: [0xFC8B], NFD: [0xFC8B], NFKC: [0x0646, 0x0632], NFKD: [0x0646, 0x0632] }, -{ source: [0xFC8C], NFC: [0xFC8C], NFD: [0xFC8C], NFKC: [0x0646, 0x0645], NFKD: [0x0646, 0x0645] }, -{ source: [0xFC8D], NFC: [0xFC8D], NFD: [0xFC8D], NFKC: [0x0646, 0x0646], NFKD: [0x0646, 0x0646] }, -{ source: [0xFC8E], NFC: [0xFC8E], NFD: [0xFC8E], NFKC: [0x0646, 0x0649], NFKD: [0x0646, 0x0649] }, -{ source: [0xFC8F], NFC: [0xFC8F], NFD: [0xFC8F], NFKC: [0x0646, 0x064A], NFKD: [0x0646, 0x064A] }, -{ source: [0xFC90], NFC: [0xFC90], NFD: [0xFC90], NFKC: [0x0649, 0x0670], NFKD: [0x0649, 0x0670] }, -{ source: [0xFC91], NFC: [0xFC91], NFD: [0xFC91], NFKC: [0x064A, 0x0631], NFKD: [0x064A, 0x0631] }, -{ source: [0xFC92], NFC: [0xFC92], NFD: [0xFC92], NFKC: [0x064A, 0x0632], NFKD: [0x064A, 0x0632] }, -{ source: [0xFC93], NFC: [0xFC93], NFD: [0xFC93], NFKC: [0x064A, 0x0645], NFKD: [0x064A, 0x0645] }, -{ source: [0xFC94], NFC: [0xFC94], NFD: [0xFC94], NFKC: [0x064A, 0x0646], NFKD: [0x064A, 0x0646] }, -{ source: [0xFC95], NFC: [0xFC95], NFD: [0xFC95], NFKC: [0x064A, 0x0649], NFKD: [0x064A, 0x0649] }, -{ source: [0xFC96], NFC: [0xFC96], NFD: [0xFC96], NFKC: [0x064A, 0x064A], NFKD: [0x064A, 0x064A] }, -{ source: [0xFC97], NFC: [0xFC97], NFD: [0xFC97], NFKC: [0x0626, 0x062C], NFKD: [0x064A, 0x0654, 0x062C] }, -{ source: [0xFC98], NFC: [0xFC98], NFD: [0xFC98], NFKC: [0x0626, 0x062D], NFKD: [0x064A, 0x0654, 0x062D] }, -{ source: [0xFC99], NFC: [0xFC99], NFD: [0xFC99], NFKC: [0x0626, 0x062E], NFKD: [0x064A, 0x0654, 0x062E] }, -{ source: [0xFC9A], NFC: [0xFC9A], NFD: [0xFC9A], NFKC: [0x0626, 0x0645], NFKD: [0x064A, 0x0654, 0x0645] }, -{ source: [0xFC9B], NFC: [0xFC9B], NFD: [0xFC9B], NFKC: [0x0626, 0x0647], NFKD: [0x064A, 0x0654, 0x0647] }, -{ source: [0xFC9C], NFC: [0xFC9C], NFD: [0xFC9C], NFKC: [0x0628, 0x062C], NFKD: [0x0628, 0x062C] }, -{ source: [0xFC9D], NFC: [0xFC9D], NFD: [0xFC9D], NFKC: [0x0628, 0x062D], NFKD: [0x0628, 0x062D] }, -{ source: [0xFC9E], NFC: [0xFC9E], NFD: [0xFC9E], NFKC: [0x0628, 0x062E], NFKD: [0x0628, 0x062E] }, -{ source: [0xFC9F], NFC: [0xFC9F], NFD: [0xFC9F], NFKC: [0x0628, 0x0645], NFKD: [0x0628, 0x0645] }, -{ source: [0xFCA0], NFC: [0xFCA0], NFD: [0xFCA0], NFKC: [0x0628, 0x0647], NFKD: [0x0628, 0x0647] }, -{ source: [0xFCA1], NFC: [0xFCA1], NFD: [0xFCA1], NFKC: [0x062A, 0x062C], NFKD: [0x062A, 0x062C] }, -{ source: [0xFCA2], NFC: [0xFCA2], NFD: [0xFCA2], NFKC: [0x062A, 0x062D], NFKD: [0x062A, 0x062D] }, -{ source: [0xFCA3], NFC: [0xFCA3], NFD: [0xFCA3], NFKC: [0x062A, 0x062E], NFKD: [0x062A, 0x062E] }, -{ source: [0xFCA4], NFC: [0xFCA4], NFD: [0xFCA4], NFKC: [0x062A, 0x0645], NFKD: [0x062A, 0x0645] }, -{ source: [0xFCA5], NFC: [0xFCA5], NFD: [0xFCA5], NFKC: [0x062A, 0x0647], NFKD: [0x062A, 0x0647] }, -{ source: [0xFCA6], NFC: [0xFCA6], NFD: [0xFCA6], NFKC: [0x062B, 0x0645], NFKD: [0x062B, 0x0645] }, -{ source: [0xFCA7], NFC: [0xFCA7], NFD: [0xFCA7], NFKC: [0x062C, 0x062D], NFKD: [0x062C, 0x062D] }, -{ source: [0xFCA8], NFC: [0xFCA8], NFD: [0xFCA8], NFKC: [0x062C, 0x0645], NFKD: [0x062C, 0x0645] }, -{ source: [0xFCA9], NFC: [0xFCA9], NFD: [0xFCA9], NFKC: [0x062D, 0x062C], NFKD: [0x062D, 0x062C] }, -{ source: [0xFCAA], NFC: [0xFCAA], NFD: [0xFCAA], NFKC: [0x062D, 0x0645], NFKD: [0x062D, 0x0645] }, -{ source: [0xFCAB], NFC: [0xFCAB], NFD: [0xFCAB], NFKC: [0x062E, 0x062C], NFKD: [0x062E, 0x062C] }, -{ source: [0xFCAC], NFC: [0xFCAC], NFD: [0xFCAC], NFKC: [0x062E, 0x0645], NFKD: [0x062E, 0x0645] }, -{ source: [0xFCAD], NFC: [0xFCAD], NFD: [0xFCAD], NFKC: [0x0633, 0x062C], NFKD: [0x0633, 0x062C] }, -{ source: [0xFCAE], NFC: [0xFCAE], NFD: [0xFCAE], NFKC: [0x0633, 0x062D], NFKD: [0x0633, 0x062D] }, -{ source: [0xFCAF], NFC: [0xFCAF], NFD: [0xFCAF], NFKC: [0x0633, 0x062E], NFKD: [0x0633, 0x062E] }, -{ source: [0xFCB0], NFC: [0xFCB0], NFD: [0xFCB0], NFKC: [0x0633, 0x0645], NFKD: [0x0633, 0x0645] }, -{ source: [0xFCB1], NFC: [0xFCB1], NFD: [0xFCB1], NFKC: [0x0635, 0x062D], NFKD: [0x0635, 0x062D] }, -{ source: [0xFCB2], NFC: [0xFCB2], NFD: [0xFCB2], NFKC: [0x0635, 0x062E], NFKD: [0x0635, 0x062E] }, -{ source: [0xFCB3], NFC: [0xFCB3], NFD: [0xFCB3], NFKC: [0x0635, 0x0645], NFKD: [0x0635, 0x0645] }, -{ source: [0xFCB4], NFC: [0xFCB4], NFD: [0xFCB4], NFKC: [0x0636, 0x062C], NFKD: [0x0636, 0x062C] }, -{ source: [0xFCB5], NFC: [0xFCB5], NFD: [0xFCB5], NFKC: [0x0636, 0x062D], NFKD: [0x0636, 0x062D] }, -{ source: [0xFCB6], NFC: [0xFCB6], NFD: [0xFCB6], NFKC: [0x0636, 0x062E], NFKD: [0x0636, 0x062E] }, -{ source: [0xFCB7], NFC: [0xFCB7], NFD: [0xFCB7], NFKC: [0x0636, 0x0645], NFKD: [0x0636, 0x0645] }, -{ source: [0xFCB8], NFC: [0xFCB8], NFD: [0xFCB8], NFKC: [0x0637, 0x062D], NFKD: [0x0637, 0x062D] }, -{ source: [0xFCB9], NFC: [0xFCB9], NFD: [0xFCB9], NFKC: [0x0638, 0x0645], NFKD: [0x0638, 0x0645] }, -{ source: [0xFCBA], NFC: [0xFCBA], NFD: [0xFCBA], NFKC: [0x0639, 0x062C], NFKD: [0x0639, 0x062C] }, -{ source: [0xFCBB], NFC: [0xFCBB], NFD: [0xFCBB], NFKC: [0x0639, 0x0645], NFKD: [0x0639, 0x0645] }, -{ source: [0xFCBC], NFC: [0xFCBC], NFD: [0xFCBC], NFKC: [0x063A, 0x062C], NFKD: [0x063A, 0x062C] }, -{ source: [0xFCBD], NFC: [0xFCBD], NFD: [0xFCBD], NFKC: [0x063A, 0x0645], NFKD: [0x063A, 0x0645] }, -{ source: [0xFCBE], NFC: [0xFCBE], NFD: [0xFCBE], NFKC: [0x0641, 0x062C], NFKD: [0x0641, 0x062C] }, -{ source: [0xFCBF], NFC: [0xFCBF], NFD: [0xFCBF], NFKC: [0x0641, 0x062D], NFKD: [0x0641, 0x062D] }, -{ source: [0xFCC0], NFC: [0xFCC0], NFD: [0xFCC0], NFKC: [0x0641, 0x062E], NFKD: [0x0641, 0x062E] }, -{ source: [0xFCC1], NFC: [0xFCC1], NFD: [0xFCC1], NFKC: [0x0641, 0x0645], NFKD: [0x0641, 0x0645] }, -{ source: [0xFCC2], NFC: [0xFCC2], NFD: [0xFCC2], NFKC: [0x0642, 0x062D], NFKD: [0x0642, 0x062D] }, -{ source: [0xFCC3], NFC: [0xFCC3], NFD: [0xFCC3], NFKC: [0x0642, 0x0645], NFKD: [0x0642, 0x0645] }, -{ source: [0xFCC4], NFC: [0xFCC4], NFD: [0xFCC4], NFKC: [0x0643, 0x062C], NFKD: [0x0643, 0x062C] }, -{ source: [0xFCC5], NFC: [0xFCC5], NFD: [0xFCC5], NFKC: [0x0643, 0x062D], NFKD: [0x0643, 0x062D] }, -{ source: [0xFCC6], NFC: [0xFCC6], NFD: [0xFCC6], NFKC: [0x0643, 0x062E], NFKD: [0x0643, 0x062E] }, -{ source: [0xFCC7], NFC: [0xFCC7], NFD: [0xFCC7], NFKC: [0x0643, 0x0644], NFKD: [0x0643, 0x0644] }, -{ source: [0xFCC8], NFC: [0xFCC8], NFD: [0xFCC8], NFKC: [0x0643, 0x0645], NFKD: [0x0643, 0x0645] }, -{ source: [0xFCC9], NFC: [0xFCC9], NFD: [0xFCC9], NFKC: [0x0644, 0x062C], NFKD: [0x0644, 0x062C] }, -{ source: [0xFCCA], NFC: [0xFCCA], NFD: [0xFCCA], NFKC: [0x0644, 0x062D], NFKD: [0x0644, 0x062D] }, -{ source: [0xFCCB], NFC: [0xFCCB], NFD: [0xFCCB], NFKC: [0x0644, 0x062E], NFKD: [0x0644, 0x062E] }, -{ source: [0xFCCC], NFC: [0xFCCC], NFD: [0xFCCC], NFKC: [0x0644, 0x0645], NFKD: [0x0644, 0x0645] }, -{ source: [0xFCCD], NFC: [0xFCCD], NFD: [0xFCCD], NFKC: [0x0644, 0x0647], NFKD: [0x0644, 0x0647] }, -{ source: [0xFCCE], NFC: [0xFCCE], NFD: [0xFCCE], NFKC: [0x0645, 0x062C], NFKD: [0x0645, 0x062C] }, -{ source: [0xFCCF], NFC: [0xFCCF], NFD: [0xFCCF], NFKC: [0x0645, 0x062D], NFKD: [0x0645, 0x062D] }, -{ source: [0xFCD0], NFC: [0xFCD0], NFD: [0xFCD0], NFKC: [0x0645, 0x062E], NFKD: [0x0645, 0x062E] }, -{ source: [0xFCD1], NFC: [0xFCD1], NFD: [0xFCD1], NFKC: [0x0645, 0x0645], NFKD: [0x0645, 0x0645] }, -{ source: [0xFCD2], NFC: [0xFCD2], NFD: [0xFCD2], NFKC: [0x0646, 0x062C], NFKD: [0x0646, 0x062C] }, -{ source: [0xFCD3], NFC: [0xFCD3], NFD: [0xFCD3], NFKC: [0x0646, 0x062D], NFKD: [0x0646, 0x062D] }, -{ source: [0xFCD4], NFC: [0xFCD4], NFD: [0xFCD4], NFKC: [0x0646, 0x062E], NFKD: [0x0646, 0x062E] }, -{ source: [0xFCD5], NFC: [0xFCD5], NFD: [0xFCD5], NFKC: [0x0646, 0x0645], NFKD: [0x0646, 0x0645] }, -{ source: [0xFCD6], NFC: [0xFCD6], NFD: [0xFCD6], NFKC: [0x0646, 0x0647], NFKD: [0x0646, 0x0647] }, -{ source: [0xFCD7], NFC: [0xFCD7], NFD: [0xFCD7], NFKC: [0x0647, 0x062C], NFKD: [0x0647, 0x062C] }, -{ source: [0xFCD8], NFC: [0xFCD8], NFD: [0xFCD8], NFKC: [0x0647, 0x0645], NFKD: [0x0647, 0x0645] }, -{ source: [0xFCD9], NFC: [0xFCD9], NFD: [0xFCD9], NFKC: [0x0647, 0x0670], NFKD: [0x0647, 0x0670] }, -{ source: [0xFCDA], NFC: [0xFCDA], NFD: [0xFCDA], NFKC: [0x064A, 0x062C], NFKD: [0x064A, 0x062C] }, -{ source: [0xFCDB], NFC: [0xFCDB], NFD: [0xFCDB], NFKC: [0x064A, 0x062D], NFKD: [0x064A, 0x062D] }, -{ source: [0xFCDC], NFC: [0xFCDC], NFD: [0xFCDC], NFKC: [0x064A, 0x062E], NFKD: [0x064A, 0x062E] }, -{ source: [0xFCDD], NFC: [0xFCDD], NFD: [0xFCDD], NFKC: [0x064A, 0x0645], NFKD: [0x064A, 0x0645] }, -{ source: [0xFCDE], NFC: [0xFCDE], NFD: [0xFCDE], NFKC: [0x064A, 0x0647], NFKD: [0x064A, 0x0647] }, -{ source: [0xFCDF], NFC: [0xFCDF], NFD: [0xFCDF], NFKC: [0x0626, 0x0645], NFKD: [0x064A, 0x0654, 0x0645] }, -{ source: [0xFCE0], NFC: [0xFCE0], NFD: [0xFCE0], NFKC: [0x0626, 0x0647], NFKD: [0x064A, 0x0654, 0x0647] }, -{ source: [0xFCE1], NFC: [0xFCE1], NFD: [0xFCE1], NFKC: [0x0628, 0x0645], NFKD: [0x0628, 0x0645] }, -{ source: [0xFCE2], NFC: [0xFCE2], NFD: [0xFCE2], NFKC: [0x0628, 0x0647], NFKD: [0x0628, 0x0647] }, -{ source: [0xFCE3], NFC: [0xFCE3], NFD: [0xFCE3], NFKC: [0x062A, 0x0645], NFKD: [0x062A, 0x0645] }, -{ source: [0xFCE4], NFC: [0xFCE4], NFD: [0xFCE4], NFKC: [0x062A, 0x0647], NFKD: [0x062A, 0x0647] }, -{ source: [0xFCE5], NFC: [0xFCE5], NFD: [0xFCE5], NFKC: [0x062B, 0x0645], NFKD: [0x062B, 0x0645] }, -{ source: [0xFCE6], NFC: [0xFCE6], NFD: [0xFCE6], NFKC: [0x062B, 0x0647], NFKD: [0x062B, 0x0647] }, -{ source: [0xFCE7], NFC: [0xFCE7], NFD: [0xFCE7], NFKC: [0x0633, 0x0645], NFKD: [0x0633, 0x0645] }, -{ source: [0xFCE8], NFC: [0xFCE8], NFD: [0xFCE8], NFKC: [0x0633, 0x0647], NFKD: [0x0633, 0x0647] }, -{ source: [0xFCE9], NFC: [0xFCE9], NFD: [0xFCE9], NFKC: [0x0634, 0x0645], NFKD: [0x0634, 0x0645] }, -{ source: [0xFCEA], NFC: [0xFCEA], NFD: [0xFCEA], NFKC: [0x0634, 0x0647], NFKD: [0x0634, 0x0647] }, -{ source: [0xFCEB], NFC: [0xFCEB], NFD: [0xFCEB], NFKC: [0x0643, 0x0644], NFKD: [0x0643, 0x0644] }, -{ source: [0xFCEC], NFC: [0xFCEC], NFD: [0xFCEC], NFKC: [0x0643, 0x0645], NFKD: [0x0643, 0x0645] }, -{ source: [0xFCED], NFC: [0xFCED], NFD: [0xFCED], NFKC: [0x0644, 0x0645], NFKD: [0x0644, 0x0645] }, -{ source: [0xFCEE], NFC: [0xFCEE], NFD: [0xFCEE], NFKC: [0x0646, 0x0645], NFKD: [0x0646, 0x0645] }, -{ source: [0xFCEF], NFC: [0xFCEF], NFD: [0xFCEF], NFKC: [0x0646, 0x0647], NFKD: [0x0646, 0x0647] }, -{ source: [0xFCF0], NFC: [0xFCF0], NFD: [0xFCF0], NFKC: [0x064A, 0x0645], NFKD: [0x064A, 0x0645] }, -{ source: [0xFCF1], NFC: [0xFCF1], NFD: [0xFCF1], NFKC: [0x064A, 0x0647], NFKD: [0x064A, 0x0647] }, -{ source: [0xFCF2], NFC: [0xFCF2], NFD: [0xFCF2], NFKC: [0x0640, 0x064E, 0x0651], NFKD: [0x0640, 0x064E, 0x0651] }, -{ source: [0xFCF3], NFC: [0xFCF3], NFD: [0xFCF3], NFKC: [0x0640, 0x064F, 0x0651], NFKD: [0x0640, 0x064F, 0x0651] }, -{ source: [0xFCF4], NFC: [0xFCF4], NFD: [0xFCF4], NFKC: [0x0640, 0x0650, 0x0651], NFKD: [0x0640, 0x0650, 0x0651] }, -{ source: [0xFCF5], NFC: [0xFCF5], NFD: [0xFCF5], NFKC: [0x0637, 0x0649], NFKD: [0x0637, 0x0649] }, -{ source: [0xFCF6], NFC: [0xFCF6], NFD: [0xFCF6], NFKC: [0x0637, 0x064A], NFKD: [0x0637, 0x064A] }, -{ source: [0xFCF7], NFC: [0xFCF7], NFD: [0xFCF7], NFKC: [0x0639, 0x0649], NFKD: [0x0639, 0x0649] }, -{ source: [0xFCF8], NFC: [0xFCF8], NFD: [0xFCF8], NFKC: [0x0639, 0x064A], NFKD: [0x0639, 0x064A] }, -{ source: [0xFCF9], NFC: [0xFCF9], NFD: [0xFCF9], NFKC: [0x063A, 0x0649], NFKD: [0x063A, 0x0649] }, -{ source: [0xFCFA], NFC: [0xFCFA], NFD: [0xFCFA], NFKC: [0x063A, 0x064A], NFKD: [0x063A, 0x064A] }, -{ source: [0xFCFB], NFC: [0xFCFB], NFD: [0xFCFB], NFKC: [0x0633, 0x0649], NFKD: [0x0633, 0x0649] }, -{ source: [0xFCFC], NFC: [0xFCFC], NFD: [0xFCFC], NFKC: [0x0633, 0x064A], NFKD: [0x0633, 0x064A] }, -{ source: [0xFCFD], NFC: [0xFCFD], NFD: [0xFCFD], NFKC: [0x0634, 0x0649], NFKD: [0x0634, 0x0649] }, -{ source: [0xFCFE], NFC: [0xFCFE], NFD: [0xFCFE], NFKC: [0x0634, 0x064A], NFKD: [0x0634, 0x064A] }, -{ source: [0xFCFF], NFC: [0xFCFF], NFD: [0xFCFF], NFKC: [0x062D, 0x0649], NFKD: [0x062D, 0x0649] }, -{ source: [0xFD00], NFC: [0xFD00], NFD: [0xFD00], NFKC: [0x062D, 0x064A], NFKD: [0x062D, 0x064A] }, -{ source: [0xFD01], NFC: [0xFD01], NFD: [0xFD01], NFKC: [0x062C, 0x0649], NFKD: [0x062C, 0x0649] }, -{ source: [0xFD02], NFC: [0xFD02], NFD: [0xFD02], NFKC: [0x062C, 0x064A], NFKD: [0x062C, 0x064A] }, -{ source: [0xFD03], NFC: [0xFD03], NFD: [0xFD03], NFKC: [0x062E, 0x0649], NFKD: [0x062E, 0x0649] }, -{ source: [0xFD04], NFC: [0xFD04], NFD: [0xFD04], NFKC: [0x062E, 0x064A], NFKD: [0x062E, 0x064A] }, -{ source: [0xFD05], NFC: [0xFD05], NFD: [0xFD05], NFKC: [0x0635, 0x0649], NFKD: [0x0635, 0x0649] }, -{ source: [0xFD06], NFC: [0xFD06], NFD: [0xFD06], NFKC: [0x0635, 0x064A], NFKD: [0x0635, 0x064A] }, -{ source: [0xFD07], NFC: [0xFD07], NFD: [0xFD07], NFKC: [0x0636, 0x0649], NFKD: [0x0636, 0x0649] }, -{ source: [0xFD08], NFC: [0xFD08], NFD: [0xFD08], NFKC: [0x0636, 0x064A], NFKD: [0x0636, 0x064A] }, -{ source: [0xFD09], NFC: [0xFD09], NFD: [0xFD09], NFKC: [0x0634, 0x062C], NFKD: [0x0634, 0x062C] }, -{ source: [0xFD0A], NFC: [0xFD0A], NFD: [0xFD0A], NFKC: [0x0634, 0x062D], NFKD: [0x0634, 0x062D] }, -{ source: [0xFD0B], NFC: [0xFD0B], NFD: [0xFD0B], NFKC: [0x0634, 0x062E], NFKD: [0x0634, 0x062E] }, -{ source: [0xFD0C], NFC: [0xFD0C], NFD: [0xFD0C], NFKC: [0x0634, 0x0645], NFKD: [0x0634, 0x0645] }, -{ source: [0xFD0D], NFC: [0xFD0D], NFD: [0xFD0D], NFKC: [0x0634, 0x0631], NFKD: [0x0634, 0x0631] }, -{ source: [0xFD0E], NFC: [0xFD0E], NFD: [0xFD0E], NFKC: [0x0633, 0x0631], NFKD: [0x0633, 0x0631] }, -{ source: [0xFD0F], NFC: [0xFD0F], NFD: [0xFD0F], NFKC: [0x0635, 0x0631], NFKD: [0x0635, 0x0631] }, -{ source: [0xFD10], NFC: [0xFD10], NFD: [0xFD10], NFKC: [0x0636, 0x0631], NFKD: [0x0636, 0x0631] }, -{ source: [0xFD11], NFC: [0xFD11], NFD: [0xFD11], NFKC: [0x0637, 0x0649], NFKD: [0x0637, 0x0649] }, -{ source: [0xFD12], NFC: [0xFD12], NFD: [0xFD12], NFKC: [0x0637, 0x064A], NFKD: [0x0637, 0x064A] }, -{ source: [0xFD13], NFC: [0xFD13], NFD: [0xFD13], NFKC: [0x0639, 0x0649], NFKD: [0x0639, 0x0649] }, -{ source: [0xFD14], NFC: [0xFD14], NFD: [0xFD14], NFKC: [0x0639, 0x064A], NFKD: [0x0639, 0x064A] }, -{ source: [0xFD15], NFC: [0xFD15], NFD: [0xFD15], NFKC: [0x063A, 0x0649], NFKD: [0x063A, 0x0649] }, -{ source: [0xFD16], NFC: [0xFD16], NFD: [0xFD16], NFKC: [0x063A, 0x064A], NFKD: [0x063A, 0x064A] }, -{ source: [0xFD17], NFC: [0xFD17], NFD: [0xFD17], NFKC: [0x0633, 0x0649], NFKD: [0x0633, 0x0649] }, -{ source: [0xFD18], NFC: [0xFD18], NFD: [0xFD18], NFKC: [0x0633, 0x064A], NFKD: [0x0633, 0x064A] }, -{ source: [0xFD19], NFC: [0xFD19], NFD: [0xFD19], NFKC: [0x0634, 0x0649], NFKD: [0x0634, 0x0649] }, -{ source: [0xFD1A], NFC: [0xFD1A], NFD: [0xFD1A], NFKC: [0x0634, 0x064A], NFKD: [0x0634, 0x064A] }, -{ source: [0xFD1B], NFC: [0xFD1B], NFD: [0xFD1B], NFKC: [0x062D, 0x0649], NFKD: [0x062D, 0x0649] }, -{ source: [0xFD1C], NFC: [0xFD1C], NFD: [0xFD1C], NFKC: [0x062D, 0x064A], NFKD: [0x062D, 0x064A] }, -{ source: [0xFD1D], NFC: [0xFD1D], NFD: [0xFD1D], NFKC: [0x062C, 0x0649], NFKD: [0x062C, 0x0649] }, -{ source: [0xFD1E], NFC: [0xFD1E], NFD: [0xFD1E], NFKC: [0x062C, 0x064A], NFKD: [0x062C, 0x064A] }, -{ source: [0xFD1F], NFC: [0xFD1F], NFD: [0xFD1F], NFKC: [0x062E, 0x0649], NFKD: [0x062E, 0x0649] }, -{ source: [0xFD20], NFC: [0xFD20], NFD: [0xFD20], NFKC: [0x062E, 0x064A], NFKD: [0x062E, 0x064A] }, -{ source: [0xFD21], NFC: [0xFD21], NFD: [0xFD21], NFKC: [0x0635, 0x0649], NFKD: [0x0635, 0x0649] }, -{ source: [0xFD22], NFC: [0xFD22], NFD: [0xFD22], NFKC: [0x0635, 0x064A], NFKD: [0x0635, 0x064A] }, -{ source: [0xFD23], NFC: [0xFD23], NFD: [0xFD23], NFKC: [0x0636, 0x0649], NFKD: [0x0636, 0x0649] }, -{ source: [0xFD24], NFC: [0xFD24], NFD: [0xFD24], NFKC: [0x0636, 0x064A], NFKD: [0x0636, 0x064A] }, -{ source: [0xFD25], NFC: [0xFD25], NFD: [0xFD25], NFKC: [0x0634, 0x062C], NFKD: [0x0634, 0x062C] }, -{ source: [0xFD26], NFC: [0xFD26], NFD: [0xFD26], NFKC: [0x0634, 0x062D], NFKD: [0x0634, 0x062D] }, -{ source: [0xFD27], NFC: [0xFD27], NFD: [0xFD27], NFKC: [0x0634, 0x062E], NFKD: [0x0634, 0x062E] }, -{ source: [0xFD28], NFC: [0xFD28], NFD: [0xFD28], NFKC: [0x0634, 0x0645], NFKD: [0x0634, 0x0645] }, -{ source: [0xFD29], NFC: [0xFD29], NFD: [0xFD29], NFKC: [0x0634, 0x0631], NFKD: [0x0634, 0x0631] }, -{ source: [0xFD2A], NFC: [0xFD2A], NFD: [0xFD2A], NFKC: [0x0633, 0x0631], NFKD: [0x0633, 0x0631] }, -{ source: [0xFD2B], NFC: [0xFD2B], NFD: [0xFD2B], NFKC: [0x0635, 0x0631], NFKD: [0x0635, 0x0631] }, -{ source: [0xFD2C], NFC: [0xFD2C], NFD: [0xFD2C], NFKC: [0x0636, 0x0631], NFKD: [0x0636, 0x0631] }, -{ source: [0xFD2D], NFC: [0xFD2D], NFD: [0xFD2D], NFKC: [0x0634, 0x062C], NFKD: [0x0634, 0x062C] }, -{ source: [0xFD2E], NFC: [0xFD2E], NFD: [0xFD2E], NFKC: [0x0634, 0x062D], NFKD: [0x0634, 0x062D] }, -{ source: [0xFD2F], NFC: [0xFD2F], NFD: [0xFD2F], NFKC: [0x0634, 0x062E], NFKD: [0x0634, 0x062E] }, -{ source: [0xFD30], NFC: [0xFD30], NFD: [0xFD30], NFKC: [0x0634, 0x0645], NFKD: [0x0634, 0x0645] }, -{ source: [0xFD31], NFC: [0xFD31], NFD: [0xFD31], NFKC: [0x0633, 0x0647], NFKD: [0x0633, 0x0647] }, -{ source: [0xFD32], NFC: [0xFD32], NFD: [0xFD32], NFKC: [0x0634, 0x0647], NFKD: [0x0634, 0x0647] }, -{ source: [0xFD33], NFC: [0xFD33], NFD: [0xFD33], NFKC: [0x0637, 0x0645], NFKD: [0x0637, 0x0645] }, -{ source: [0xFD34], NFC: [0xFD34], NFD: [0xFD34], NFKC: [0x0633, 0x062C], NFKD: [0x0633, 0x062C] }, -{ source: [0xFD35], NFC: [0xFD35], NFD: [0xFD35], NFKC: [0x0633, 0x062D], NFKD: [0x0633, 0x062D] }, -{ source: [0xFD36], NFC: [0xFD36], NFD: [0xFD36], NFKC: [0x0633, 0x062E], NFKD: [0x0633, 0x062E] }, -{ source: [0xFD37], NFC: [0xFD37], NFD: [0xFD37], NFKC: [0x0634, 0x062C], NFKD: [0x0634, 0x062C] }, -{ source: [0xFD38], NFC: [0xFD38], NFD: [0xFD38], NFKC: [0x0634, 0x062D], NFKD: [0x0634, 0x062D] }, -{ source: [0xFD39], NFC: [0xFD39], NFD: [0xFD39], NFKC: [0x0634, 0x062E], NFKD: [0x0634, 0x062E] }, -{ source: [0xFD3A], NFC: [0xFD3A], NFD: [0xFD3A], NFKC: [0x0637, 0x0645], NFKD: [0x0637, 0x0645] }, -{ source: [0xFD3B], NFC: [0xFD3B], NFD: [0xFD3B], NFKC: [0x0638, 0x0645], NFKD: [0x0638, 0x0645] }, -{ source: [0xFD3C], NFC: [0xFD3C], NFD: [0xFD3C], NFKC: [0x0627, 0x064B], NFKD: [0x0627, 0x064B] }, -{ source: [0xFD3D], NFC: [0xFD3D], NFD: [0xFD3D], NFKC: [0x0627, 0x064B], NFKD: [0x0627, 0x064B] }, -{ source: [0xFD50], NFC: [0xFD50], NFD: [0xFD50], NFKC: [0x062A, 0x062C, 0x0645], NFKD: [0x062A, 0x062C, 0x0645] }, -{ source: [0xFD51], NFC: [0xFD51], NFD: [0xFD51], NFKC: [0x062A, 0x062D, 0x062C], NFKD: [0x062A, 0x062D, 0x062C] }, -{ source: [0xFD52], NFC: [0xFD52], NFD: [0xFD52], NFKC: [0x062A, 0x062D, 0x062C], NFKD: [0x062A, 0x062D, 0x062C] }, -{ source: [0xFD53], NFC: [0xFD53], NFD: [0xFD53], NFKC: [0x062A, 0x062D, 0x0645], NFKD: [0x062A, 0x062D, 0x0645] }, -{ source: [0xFD54], NFC: [0xFD54], NFD: [0xFD54], NFKC: [0x062A, 0x062E, 0x0645], NFKD: [0x062A, 0x062E, 0x0645] }, -{ source: [0xFD55], NFC: [0xFD55], NFD: [0xFD55], NFKC: [0x062A, 0x0645, 0x062C], NFKD: [0x062A, 0x0645, 0x062C] }, -{ source: [0xFD56], NFC: [0xFD56], NFD: [0xFD56], NFKC: [0x062A, 0x0645, 0x062D], NFKD: [0x062A, 0x0645, 0x062D] }, -{ source: [0xFD57], NFC: [0xFD57], NFD: [0xFD57], NFKC: [0x062A, 0x0645, 0x062E], NFKD: [0x062A, 0x0645, 0x062E] }, -{ source: [0xFD58], NFC: [0xFD58], NFD: [0xFD58], NFKC: [0x062C, 0x0645, 0x062D], NFKD: [0x062C, 0x0645, 0x062D] }, -{ source: [0xFD59], NFC: [0xFD59], NFD: [0xFD59], NFKC: [0x062C, 0x0645, 0x062D], NFKD: [0x062C, 0x0645, 0x062D] }, -{ source: [0xFD5A], NFC: [0xFD5A], NFD: [0xFD5A], NFKC: [0x062D, 0x0645, 0x064A], NFKD: [0x062D, 0x0645, 0x064A] }, -{ source: [0xFD5B], NFC: [0xFD5B], NFD: [0xFD5B], NFKC: [0x062D, 0x0645, 0x0649], NFKD: [0x062D, 0x0645, 0x0649] }, -{ source: [0xFD5C], NFC: [0xFD5C], NFD: [0xFD5C], NFKC: [0x0633, 0x062D, 0x062C], NFKD: [0x0633, 0x062D, 0x062C] }, -{ source: [0xFD5D], NFC: [0xFD5D], NFD: [0xFD5D], NFKC: [0x0633, 0x062C, 0x062D], NFKD: [0x0633, 0x062C, 0x062D] }, -{ source: [0xFD5E], NFC: [0xFD5E], NFD: [0xFD5E], NFKC: [0x0633, 0x062C, 0x0649], NFKD: [0x0633, 0x062C, 0x0649] }, -{ source: [0xFD5F], NFC: [0xFD5F], NFD: [0xFD5F], NFKC: [0x0633, 0x0645, 0x062D], NFKD: [0x0633, 0x0645, 0x062D] }, -{ source: [0xFD60], NFC: [0xFD60], NFD: [0xFD60], NFKC: [0x0633, 0x0645, 0x062D], NFKD: [0x0633, 0x0645, 0x062D] }, -{ source: [0xFD61], NFC: [0xFD61], NFD: [0xFD61], NFKC: [0x0633, 0x0645, 0x062C], NFKD: [0x0633, 0x0645, 0x062C] }, -{ source: [0xFD62], NFC: [0xFD62], NFD: [0xFD62], NFKC: [0x0633, 0x0645, 0x0645], NFKD: [0x0633, 0x0645, 0x0645] }, -{ source: [0xFD63], NFC: [0xFD63], NFD: [0xFD63], NFKC: [0x0633, 0x0645, 0x0645], NFKD: [0x0633, 0x0645, 0x0645] }, -{ source: [0xFD64], NFC: [0xFD64], NFD: [0xFD64], NFKC: [0x0635, 0x062D, 0x062D], NFKD: [0x0635, 0x062D, 0x062D] }, -{ source: [0xFD65], NFC: [0xFD65], NFD: [0xFD65], NFKC: [0x0635, 0x062D, 0x062D], NFKD: [0x0635, 0x062D, 0x062D] }, -{ source: [0xFD66], NFC: [0xFD66], NFD: [0xFD66], NFKC: [0x0635, 0x0645, 0x0645], NFKD: [0x0635, 0x0645, 0x0645] }, -{ source: [0xFD67], NFC: [0xFD67], NFD: [0xFD67], NFKC: [0x0634, 0x062D, 0x0645], NFKD: [0x0634, 0x062D, 0x0645] }, -{ source: [0xFD68], NFC: [0xFD68], NFD: [0xFD68], NFKC: [0x0634, 0x062D, 0x0645], NFKD: [0x0634, 0x062D, 0x0645] }, -{ source: [0xFD69], NFC: [0xFD69], NFD: [0xFD69], NFKC: [0x0634, 0x062C, 0x064A], NFKD: [0x0634, 0x062C, 0x064A] }, -{ source: [0xFD6A], NFC: [0xFD6A], NFD: [0xFD6A], NFKC: [0x0634, 0x0645, 0x062E], NFKD: [0x0634, 0x0645, 0x062E] }, -{ source: [0xFD6B], NFC: [0xFD6B], NFD: [0xFD6B], NFKC: [0x0634, 0x0645, 0x062E], NFKD: [0x0634, 0x0645, 0x062E] }, -{ source: [0xFD6C], NFC: [0xFD6C], NFD: [0xFD6C], NFKC: [0x0634, 0x0645, 0x0645], NFKD: [0x0634, 0x0645, 0x0645] }, -{ source: [0xFD6D], NFC: [0xFD6D], NFD: [0xFD6D], NFKC: [0x0634, 0x0645, 0x0645], NFKD: [0x0634, 0x0645, 0x0645] }, -{ source: [0xFD6E], NFC: [0xFD6E], NFD: [0xFD6E], NFKC: [0x0636, 0x062D, 0x0649], NFKD: [0x0636, 0x062D, 0x0649] }, -{ source: [0xFD6F], NFC: [0xFD6F], NFD: [0xFD6F], NFKC: [0x0636, 0x062E, 0x0645], NFKD: [0x0636, 0x062E, 0x0645] }, -{ source: [0xFD70], NFC: [0xFD70], NFD: [0xFD70], NFKC: [0x0636, 0x062E, 0x0645], NFKD: [0x0636, 0x062E, 0x0645] }, -{ source: [0xFD71], NFC: [0xFD71], NFD: [0xFD71], NFKC: [0x0637, 0x0645, 0x062D], NFKD: [0x0637, 0x0645, 0x062D] }, -{ source: [0xFD72], NFC: [0xFD72], NFD: [0xFD72], NFKC: [0x0637, 0x0645, 0x062D], NFKD: [0x0637, 0x0645, 0x062D] }, -{ source: [0xFD73], NFC: [0xFD73], NFD: [0xFD73], NFKC: [0x0637, 0x0645, 0x0645], NFKD: [0x0637, 0x0645, 0x0645] }, -{ source: [0xFD74], NFC: [0xFD74], NFD: [0xFD74], NFKC: [0x0637, 0x0645, 0x064A], NFKD: [0x0637, 0x0645, 0x064A] }, -{ source: [0xFD75], NFC: [0xFD75], NFD: [0xFD75], NFKC: [0x0639, 0x062C, 0x0645], NFKD: [0x0639, 0x062C, 0x0645] }, -{ source: [0xFD76], NFC: [0xFD76], NFD: [0xFD76], NFKC: [0x0639, 0x0645, 0x0645], NFKD: [0x0639, 0x0645, 0x0645] }, -{ source: [0xFD77], NFC: [0xFD77], NFD: [0xFD77], NFKC: [0x0639, 0x0645, 0x0645], NFKD: [0x0639, 0x0645, 0x0645] }, -{ source: [0xFD78], NFC: [0xFD78], NFD: [0xFD78], NFKC: [0x0639, 0x0645, 0x0649], NFKD: [0x0639, 0x0645, 0x0649] }, -{ source: [0xFD79], NFC: [0xFD79], NFD: [0xFD79], NFKC: [0x063A, 0x0645, 0x0645], NFKD: [0x063A, 0x0645, 0x0645] }, -{ source: [0xFD7A], NFC: [0xFD7A], NFD: [0xFD7A], NFKC: [0x063A, 0x0645, 0x064A], NFKD: [0x063A, 0x0645, 0x064A] }, -{ source: [0xFD7B], NFC: [0xFD7B], NFD: [0xFD7B], NFKC: [0x063A, 0x0645, 0x0649], NFKD: [0x063A, 0x0645, 0x0649] }, -{ source: [0xFD7C], NFC: [0xFD7C], NFD: [0xFD7C], NFKC: [0x0641, 0x062E, 0x0645], NFKD: [0x0641, 0x062E, 0x0645] }, -{ source: [0xFD7D], NFC: [0xFD7D], NFD: [0xFD7D], NFKC: [0x0641, 0x062E, 0x0645], NFKD: [0x0641, 0x062E, 0x0645] }, -{ source: [0xFD7E], NFC: [0xFD7E], NFD: [0xFD7E], NFKC: [0x0642, 0x0645, 0x062D], NFKD: [0x0642, 0x0645, 0x062D] }, -{ source: [0xFD7F], NFC: [0xFD7F], NFD: [0xFD7F], NFKC: [0x0642, 0x0645, 0x0645], NFKD: [0x0642, 0x0645, 0x0645] }, -{ source: [0xFD80], NFC: [0xFD80], NFD: [0xFD80], NFKC: [0x0644, 0x062D, 0x0645], NFKD: [0x0644, 0x062D, 0x0645] }, -{ source: [0xFD81], NFC: [0xFD81], NFD: [0xFD81], NFKC: [0x0644, 0x062D, 0x064A], NFKD: [0x0644, 0x062D, 0x064A] }, -{ source: [0xFD82], NFC: [0xFD82], NFD: [0xFD82], NFKC: [0x0644, 0x062D, 0x0649], NFKD: [0x0644, 0x062D, 0x0649] }, -{ source: [0xFD83], NFC: [0xFD83], NFD: [0xFD83], NFKC: [0x0644, 0x062C, 0x062C], NFKD: [0x0644, 0x062C, 0x062C] }, -{ source: [0xFD84], NFC: [0xFD84], NFD: [0xFD84], NFKC: [0x0644, 0x062C, 0x062C], NFKD: [0x0644, 0x062C, 0x062C] }, -{ source: [0xFD85], NFC: [0xFD85], NFD: [0xFD85], NFKC: [0x0644, 0x062E, 0x0645], NFKD: [0x0644, 0x062E, 0x0645] }, -{ source: [0xFD86], NFC: [0xFD86], NFD: [0xFD86], NFKC: [0x0644, 0x062E, 0x0645], NFKD: [0x0644, 0x062E, 0x0645] }, -{ source: [0xFD87], NFC: [0xFD87], NFD: [0xFD87], NFKC: [0x0644, 0x0645, 0x062D], NFKD: [0x0644, 0x0645, 0x062D] }, -{ source: [0xFD88], NFC: [0xFD88], NFD: [0xFD88], NFKC: [0x0644, 0x0645, 0x062D], NFKD: [0x0644, 0x0645, 0x062D] }, -{ source: [0xFD89], NFC: [0xFD89], NFD: [0xFD89], NFKC: [0x0645, 0x062D, 0x062C], NFKD: [0x0645, 0x062D, 0x062C] }, -{ source: [0xFD8A], NFC: [0xFD8A], NFD: [0xFD8A], NFKC: [0x0645, 0x062D, 0x0645], NFKD: [0x0645, 0x062D, 0x0645] }, -{ source: [0xFD8B], NFC: [0xFD8B], NFD: [0xFD8B], NFKC: [0x0645, 0x062D, 0x064A], NFKD: [0x0645, 0x062D, 0x064A] }, -{ source: [0xFD8C], NFC: [0xFD8C], NFD: [0xFD8C], NFKC: [0x0645, 0x062C, 0x062D], NFKD: [0x0645, 0x062C, 0x062D] }, -{ source: [0xFD8D], NFC: [0xFD8D], NFD: [0xFD8D], NFKC: [0x0645, 0x062C, 0x0645], NFKD: [0x0645, 0x062C, 0x0645] }, -{ source: [0xFD8E], NFC: [0xFD8E], NFD: [0xFD8E], NFKC: [0x0645, 0x062E, 0x062C], NFKD: [0x0645, 0x062E, 0x062C] }, -{ source: [0xFD8F], NFC: [0xFD8F], NFD: [0xFD8F], NFKC: [0x0645, 0x062E, 0x0645], NFKD: [0x0645, 0x062E, 0x0645] }, -{ source: [0xFD92], NFC: [0xFD92], NFD: [0xFD92], NFKC: [0x0645, 0x062C, 0x062E], NFKD: [0x0645, 0x062C, 0x062E] }, -{ source: [0xFD93], NFC: [0xFD93], NFD: [0xFD93], NFKC: [0x0647, 0x0645, 0x062C], NFKD: [0x0647, 0x0645, 0x062C] }, -{ source: [0xFD94], NFC: [0xFD94], NFD: [0xFD94], NFKC: [0x0647, 0x0645, 0x0645], NFKD: [0x0647, 0x0645, 0x0645] }, -{ source: [0xFD95], NFC: [0xFD95], NFD: [0xFD95], NFKC: [0x0646, 0x062D, 0x0645], NFKD: [0x0646, 0x062D, 0x0645] }, -{ source: [0xFD96], NFC: [0xFD96], NFD: [0xFD96], NFKC: [0x0646, 0x062D, 0x0649], NFKD: [0x0646, 0x062D, 0x0649] }, -{ source: [0xFD97], NFC: [0xFD97], NFD: [0xFD97], NFKC: [0x0646, 0x062C, 0x0645], NFKD: [0x0646, 0x062C, 0x0645] }, -{ source: [0xFD98], NFC: [0xFD98], NFD: [0xFD98], NFKC: [0x0646, 0x062C, 0x0645], NFKD: [0x0646, 0x062C, 0x0645] }, -{ source: [0xFD99], NFC: [0xFD99], NFD: [0xFD99], NFKC: [0x0646, 0x062C, 0x0649], NFKD: [0x0646, 0x062C, 0x0649] }, -{ source: [0xFD9A], NFC: [0xFD9A], NFD: [0xFD9A], NFKC: [0x0646, 0x0645, 0x064A], NFKD: [0x0646, 0x0645, 0x064A] }, -{ source: [0xFD9B], NFC: [0xFD9B], NFD: [0xFD9B], NFKC: [0x0646, 0x0645, 0x0649], NFKD: [0x0646, 0x0645, 0x0649] }, -{ source: [0xFD9C], NFC: [0xFD9C], NFD: [0xFD9C], NFKC: [0x064A, 0x0645, 0x0645], NFKD: [0x064A, 0x0645, 0x0645] }, -{ source: [0xFD9D], NFC: [0xFD9D], NFD: [0xFD9D], NFKC: [0x064A, 0x0645, 0x0645], NFKD: [0x064A, 0x0645, 0x0645] }, -{ source: [0xFD9E], NFC: [0xFD9E], NFD: [0xFD9E], NFKC: [0x0628, 0x062E, 0x064A], NFKD: [0x0628, 0x062E, 0x064A] }, -{ source: [0xFD9F], NFC: [0xFD9F], NFD: [0xFD9F], NFKC: [0x062A, 0x062C, 0x064A], NFKD: [0x062A, 0x062C, 0x064A] }, -{ source: [0xFDA0], NFC: [0xFDA0], NFD: [0xFDA0], NFKC: [0x062A, 0x062C, 0x0649], NFKD: [0x062A, 0x062C, 0x0649] }, -{ source: [0xFDA1], NFC: [0xFDA1], NFD: [0xFDA1], NFKC: [0x062A, 0x062E, 0x064A], NFKD: [0x062A, 0x062E, 0x064A] }, -{ source: [0xFDA2], NFC: [0xFDA2], NFD: [0xFDA2], NFKC: [0x062A, 0x062E, 0x0649], NFKD: [0x062A, 0x062E, 0x0649] }, -{ source: [0xFDA3], NFC: [0xFDA3], NFD: [0xFDA3], NFKC: [0x062A, 0x0645, 0x064A], NFKD: [0x062A, 0x0645, 0x064A] }, -{ source: [0xFDA4], NFC: [0xFDA4], NFD: [0xFDA4], NFKC: [0x062A, 0x0645, 0x0649], NFKD: [0x062A, 0x0645, 0x0649] }, -{ source: [0xFDA5], NFC: [0xFDA5], NFD: [0xFDA5], NFKC: [0x062C, 0x0645, 0x064A], NFKD: [0x062C, 0x0645, 0x064A] }, -{ source: [0xFDA6], NFC: [0xFDA6], NFD: [0xFDA6], NFKC: [0x062C, 0x062D, 0x0649], NFKD: [0x062C, 0x062D, 0x0649] }, -{ source: [0xFDA7], NFC: [0xFDA7], NFD: [0xFDA7], NFKC: [0x062C, 0x0645, 0x0649], NFKD: [0x062C, 0x0645, 0x0649] }, -{ source: [0xFDA8], NFC: [0xFDA8], NFD: [0xFDA8], NFKC: [0x0633, 0x062E, 0x0649], NFKD: [0x0633, 0x062E, 0x0649] }, -{ source: [0xFDA9], NFC: [0xFDA9], NFD: [0xFDA9], NFKC: [0x0635, 0x062D, 0x064A], NFKD: [0x0635, 0x062D, 0x064A] }, -{ source: [0xFDAA], NFC: [0xFDAA], NFD: [0xFDAA], NFKC: [0x0634, 0x062D, 0x064A], NFKD: [0x0634, 0x062D, 0x064A] }, -{ source: [0xFDAB], NFC: [0xFDAB], NFD: [0xFDAB], NFKC: [0x0636, 0x062D, 0x064A], NFKD: [0x0636, 0x062D, 0x064A] }, -{ source: [0xFDAC], NFC: [0xFDAC], NFD: [0xFDAC], NFKC: [0x0644, 0x062C, 0x064A], NFKD: [0x0644, 0x062C, 0x064A] }, -{ source: [0xFDAD], NFC: [0xFDAD], NFD: [0xFDAD], NFKC: [0x0644, 0x0645, 0x064A], NFKD: [0x0644, 0x0645, 0x064A] }, -{ source: [0xFDAE], NFC: [0xFDAE], NFD: [0xFDAE], NFKC: [0x064A, 0x062D, 0x064A], NFKD: [0x064A, 0x062D, 0x064A] }, -{ source: [0xFDAF], NFC: [0xFDAF], NFD: [0xFDAF], NFKC: [0x064A, 0x062C, 0x064A], NFKD: [0x064A, 0x062C, 0x064A] }, -{ source: [0xFDB0], NFC: [0xFDB0], NFD: [0xFDB0], NFKC: [0x064A, 0x0645, 0x064A], NFKD: [0x064A, 0x0645, 0x064A] }, -{ source: [0xFDB1], NFC: [0xFDB1], NFD: [0xFDB1], NFKC: [0x0645, 0x0645, 0x064A], NFKD: [0x0645, 0x0645, 0x064A] }, -{ source: [0xFDB2], NFC: [0xFDB2], NFD: [0xFDB2], NFKC: [0x0642, 0x0645, 0x064A], NFKD: [0x0642, 0x0645, 0x064A] }, -{ source: [0xFDB3], NFC: [0xFDB3], NFD: [0xFDB3], NFKC: [0x0646, 0x062D, 0x064A], NFKD: [0x0646, 0x062D, 0x064A] }, -{ source: [0xFDB4], NFC: [0xFDB4], NFD: [0xFDB4], NFKC: [0x0642, 0x0645, 0x062D], NFKD: [0x0642, 0x0645, 0x062D] }, -{ source: [0xFDB5], NFC: [0xFDB5], NFD: [0xFDB5], NFKC: [0x0644, 0x062D, 0x0645], NFKD: [0x0644, 0x062D, 0x0645] }, -{ source: [0xFDB6], NFC: [0xFDB6], NFD: [0xFDB6], NFKC: [0x0639, 0x0645, 0x064A], NFKD: [0x0639, 0x0645, 0x064A] }, -{ source: [0xFDB7], NFC: [0xFDB7], NFD: [0xFDB7], NFKC: [0x0643, 0x0645, 0x064A], NFKD: [0x0643, 0x0645, 0x064A] }, -{ source: [0xFDB8], NFC: [0xFDB8], NFD: [0xFDB8], NFKC: [0x0646, 0x062C, 0x062D], NFKD: [0x0646, 0x062C, 0x062D] }, -{ source: [0xFDB9], NFC: [0xFDB9], NFD: [0xFDB9], NFKC: [0x0645, 0x062E, 0x064A], NFKD: [0x0645, 0x062E, 0x064A] }, -{ source: [0xFDBA], NFC: [0xFDBA], NFD: [0xFDBA], NFKC: [0x0644, 0x062C, 0x0645], NFKD: [0x0644, 0x062C, 0x0645] }, -{ source: [0xFDBB], NFC: [0xFDBB], NFD: [0xFDBB], NFKC: [0x0643, 0x0645, 0x0645], NFKD: [0x0643, 0x0645, 0x0645] }, -{ source: [0xFDBC], NFC: [0xFDBC], NFD: [0xFDBC], NFKC: [0x0644, 0x062C, 0x0645], NFKD: [0x0644, 0x062C, 0x0645] }, -{ source: [0xFDBD], NFC: [0xFDBD], NFD: [0xFDBD], NFKC: [0x0646, 0x062C, 0x062D], NFKD: [0x0646, 0x062C, 0x062D] }, -{ source: [0xFDBE], NFC: [0xFDBE], NFD: [0xFDBE], NFKC: [0x062C, 0x062D, 0x064A], NFKD: [0x062C, 0x062D, 0x064A] }, -{ source: [0xFDBF], NFC: [0xFDBF], NFD: [0xFDBF], NFKC: [0x062D, 0x062C, 0x064A], NFKD: [0x062D, 0x062C, 0x064A] }, -{ source: [0xFDC0], NFC: [0xFDC0], NFD: [0xFDC0], NFKC: [0x0645, 0x062C, 0x064A], NFKD: [0x0645, 0x062C, 0x064A] }, -{ source: [0xFDC1], NFC: [0xFDC1], NFD: [0xFDC1], NFKC: [0x0641, 0x0645, 0x064A], NFKD: [0x0641, 0x0645, 0x064A] }, -{ source: [0xFDC2], NFC: [0xFDC2], NFD: [0xFDC2], NFKC: [0x0628, 0x062D, 0x064A], NFKD: [0x0628, 0x062D, 0x064A] }, -{ source: [0xFDC3], NFC: [0xFDC3], NFD: [0xFDC3], NFKC: [0x0643, 0x0645, 0x0645], NFKD: [0x0643, 0x0645, 0x0645] }, -{ source: [0xFDC4], NFC: [0xFDC4], NFD: [0xFDC4], NFKC: [0x0639, 0x062C, 0x0645], NFKD: [0x0639, 0x062C, 0x0645] }, -{ source: [0xFDC5], NFC: [0xFDC5], NFD: [0xFDC5], NFKC: [0x0635, 0x0645, 0x0645], NFKD: [0x0635, 0x0645, 0x0645] }, -{ source: [0xFDC6], NFC: [0xFDC6], NFD: [0xFDC6], NFKC: [0x0633, 0x062E, 0x064A], NFKD: [0x0633, 0x062E, 0x064A] }, -{ source: [0xFDC7], NFC: [0xFDC7], NFD: [0xFDC7], NFKC: [0x0646, 0x062C, 0x064A], NFKD: [0x0646, 0x062C, 0x064A] }, -{ source: [0xFDF0], NFC: [0xFDF0], NFD: [0xFDF0], NFKC: [0x0635, 0x0644, 0x06D2], NFKD: [0x0635, 0x0644, 0x06D2] }, -{ source: [0xFDF1], NFC: [0xFDF1], NFD: [0xFDF1], NFKC: [0x0642, 0x0644, 0x06D2], NFKD: [0x0642, 0x0644, 0x06D2] }, -{ source: [0xFDF2], NFC: [0xFDF2], NFD: [0xFDF2], NFKC: [0x0627, 0x0644, 0x0644, 0x0647], NFKD: [0x0627, 0x0644, 0x0644, 0x0647] }, -{ source: [0xFDF3], NFC: [0xFDF3], NFD: [0xFDF3], NFKC: [0x0627, 0x0643, 0x0628, 0x0631], NFKD: [0x0627, 0x0643, 0x0628, 0x0631] }, -{ source: [0xFDF4], NFC: [0xFDF4], NFD: [0xFDF4], NFKC: [0x0645, 0x062D, 0x0645, 0x062F], NFKD: [0x0645, 0x062D, 0x0645, 0x062F] }, -{ source: [0xFDF5], NFC: [0xFDF5], NFD: [0xFDF5], NFKC: [0x0635, 0x0644, 0x0639, 0x0645], NFKD: [0x0635, 0x0644, 0x0639, 0x0645] }, -{ source: [0xFDF6], NFC: [0xFDF6], NFD: [0xFDF6], NFKC: [0x0631, 0x0633, 0x0648, 0x0644], NFKD: [0x0631, 0x0633, 0x0648, 0x0644] }, -{ source: [0xFDF7], NFC: [0xFDF7], NFD: [0xFDF7], NFKC: [0x0639, 0x0644, 0x064A, 0x0647], NFKD: [0x0639, 0x0644, 0x064A, 0x0647] }, -{ source: [0xFDF8], NFC: [0xFDF8], NFD: [0xFDF8], NFKC: [0x0648, 0x0633, 0x0644, 0x0645], NFKD: [0x0648, 0x0633, 0x0644, 0x0645] }, -{ source: [0xFDF9], NFC: [0xFDF9], NFD: [0xFDF9], NFKC: [0x0635, 0x0644, 0x0649], NFKD: [0x0635, 0x0644, 0x0649] }, -{ source: [0xFDFA], NFC: [0xFDFA], NFD: [0xFDFA], NFKC: [0x0635, 0x0644, 0x0649, 0x0020, 0x0627, 0x0644, 0x0644, 0x0647, 0x0020, 0x0639, 0x0644, 0x064A, 0x0647, 0x0020, 0x0648, 0x0633, 0x0644, 0x0645], NFKD: [0x0635, 0x0644, 0x0649, 0x0020, 0x0627, 0x0644, 0x0644, 0x0647, 0x0020, 0x0639, 0x0644, 0x064A, 0x0647, 0x0020, 0x0648, 0x0633, 0x0644, 0x0645] }, -{ source: [0xFDFB], NFC: [0xFDFB], NFD: [0xFDFB], NFKC: [0x062C, 0x0644, 0x0020, 0x062C, 0x0644, 0x0627, 0x0644, 0x0647], NFKD: [0x062C, 0x0644, 0x0020, 0x062C, 0x0644, 0x0627, 0x0644, 0x0647] }, -{ source: [0xFDFC], NFC: [0xFDFC], NFD: [0xFDFC], NFKC: [0x0631, 0x06CC, 0x0627, 0x0644], NFKD: [0x0631, 0x06CC, 0x0627, 0x0644] }, -{ source: [0xFE10], NFC: [0xFE10], NFD: [0xFE10], NFKC: [0x002C], NFKD: [0x002C] }, -{ source: [0xFE11], NFC: [0xFE11], NFD: [0xFE11], NFKC: [0x3001], NFKD: [0x3001] }, -{ source: [0xFE12], NFC: [0xFE12], NFD: [0xFE12], NFKC: [0x3002], NFKD: [0x3002] }, -{ source: [0xFE13], NFC: [0xFE13], NFD: [0xFE13], NFKC: [0x003A], NFKD: [0x003A] }, -{ source: [0xFE14], NFC: [0xFE14], NFD: [0xFE14], NFKC: [0x003B], NFKD: [0x003B] }, -{ source: [0xFE15], NFC: [0xFE15], NFD: [0xFE15], NFKC: [0x0021], NFKD: [0x0021] }, -{ source: [0xFE16], NFC: [0xFE16], NFD: [0xFE16], NFKC: [0x003F], NFKD: [0x003F] }, -{ source: [0xFE17], NFC: [0xFE17], NFD: [0xFE17], NFKC: [0x3016], NFKD: [0x3016] }, -{ source: [0xFE18], NFC: [0xFE18], NFD: [0xFE18], NFKC: [0x3017], NFKD: [0x3017] }, -{ source: [0xFE19], NFC: [0xFE19], NFD: [0xFE19], NFKC: [0x002E, 0x002E, 0x002E], NFKD: [0x002E, 0x002E, 0x002E] }, -{ source: [0xFE30], NFC: [0xFE30], NFD: [0xFE30], NFKC: [0x002E, 0x002E], NFKD: [0x002E, 0x002E] }, -{ source: [0xFE31], NFC: [0xFE31], NFD: [0xFE31], NFKC: [0x2014], NFKD: [0x2014] }, -{ source: [0xFE32], NFC: [0xFE32], NFD: [0xFE32], NFKC: [0x2013], NFKD: [0x2013] }, -{ source: [0xFE33], NFC: [0xFE33], NFD: [0xFE33], NFKC: [0x005F], NFKD: [0x005F] }, -{ source: [0xFE34], NFC: [0xFE34], NFD: [0xFE34], NFKC: [0x005F], NFKD: [0x005F] }, -{ source: [0xFE35], NFC: [0xFE35], NFD: [0xFE35], NFKC: [0x0028], NFKD: [0x0028] }, -{ source: [0xFE36], NFC: [0xFE36], NFD: [0xFE36], NFKC: [0x0029], NFKD: [0x0029] }, -{ source: [0xFE37], NFC: [0xFE37], NFD: [0xFE37], NFKC: [0x007B], NFKD: [0x007B] }, -{ source: [0xFE38], NFC: [0xFE38], NFD: [0xFE38], NFKC: [0x007D], NFKD: [0x007D] }, -{ source: [0xFE39], NFC: [0xFE39], NFD: [0xFE39], NFKC: [0x3014], NFKD: [0x3014] }, -{ source: [0xFE3A], NFC: [0xFE3A], NFD: [0xFE3A], NFKC: [0x3015], NFKD: [0x3015] }, -{ source: [0xFE3B], NFC: [0xFE3B], NFD: [0xFE3B], NFKC: [0x3010], NFKD: [0x3010] }, -{ source: [0xFE3C], NFC: [0xFE3C], NFD: [0xFE3C], NFKC: [0x3011], NFKD: [0x3011] }, -{ source: [0xFE3D], NFC: [0xFE3D], NFD: [0xFE3D], NFKC: [0x300A], NFKD: [0x300A] }, -{ source: [0xFE3E], NFC: [0xFE3E], NFD: [0xFE3E], NFKC: [0x300B], NFKD: [0x300B] }, -{ source: [0xFE3F], NFC: [0xFE3F], NFD: [0xFE3F], NFKC: [0x3008], NFKD: [0x3008] }, -{ source: [0xFE40], NFC: [0xFE40], NFD: [0xFE40], NFKC: [0x3009], NFKD: [0x3009] }, -{ source: [0xFE41], NFC: [0xFE41], NFD: [0xFE41], NFKC: [0x300C], NFKD: [0x300C] }, -{ source: [0xFE42], NFC: [0xFE42], NFD: [0xFE42], NFKC: [0x300D], NFKD: [0x300D] }, -{ source: [0xFE43], NFC: [0xFE43], NFD: [0xFE43], NFKC: [0x300E], NFKD: [0x300E] }, -{ source: [0xFE44], NFC: [0xFE44], NFD: [0xFE44], NFKC: [0x300F], NFKD: [0x300F] }, -{ source: [0xFE47], NFC: [0xFE47], NFD: [0xFE47], NFKC: [0x005B], NFKD: [0x005B] }, -{ source: [0xFE48], NFC: [0xFE48], NFD: [0xFE48], NFKC: [0x005D], NFKD: [0x005D] }, -{ source: [0xFE49], NFC: [0xFE49], NFD: [0xFE49], NFKC: [0x0020, 0x0305], NFKD: [0x0020, 0x0305] }, -{ source: [0xFE4A], NFC: [0xFE4A], NFD: [0xFE4A], NFKC: [0x0020, 0x0305], NFKD: [0x0020, 0x0305] }, -{ source: [0xFE4B], NFC: [0xFE4B], NFD: [0xFE4B], NFKC: [0x0020, 0x0305], NFKD: [0x0020, 0x0305] }, -{ source: [0xFE4C], NFC: [0xFE4C], NFD: [0xFE4C], NFKC: [0x0020, 0x0305], NFKD: [0x0020, 0x0305] }, -{ source: [0xFE4D], NFC: [0xFE4D], NFD: [0xFE4D], NFKC: [0x005F], NFKD: [0x005F] }, -{ source: [0xFE4E], NFC: [0xFE4E], NFD: [0xFE4E], NFKC: [0x005F], NFKD: [0x005F] }, -{ source: [0xFE4F], NFC: [0xFE4F], NFD: [0xFE4F], NFKC: [0x005F], NFKD: [0x005F] }, -{ source: [0xFE50], NFC: [0xFE50], NFD: [0xFE50], NFKC: [0x002C], NFKD: [0x002C] }, -{ source: [0xFE51], NFC: [0xFE51], NFD: [0xFE51], NFKC: [0x3001], NFKD: [0x3001] }, -{ source: [0xFE52], NFC: [0xFE52], NFD: [0xFE52], NFKC: [0x002E], NFKD: [0x002E] }, -{ source: [0xFE54], NFC: [0xFE54], NFD: [0xFE54], NFKC: [0x003B], NFKD: [0x003B] }, -{ source: [0xFE55], NFC: [0xFE55], NFD: [0xFE55], NFKC: [0x003A], NFKD: [0x003A] }, -{ source: [0xFE56], NFC: [0xFE56], NFD: [0xFE56], NFKC: [0x003F], NFKD: [0x003F] }, -{ source: [0xFE57], NFC: [0xFE57], NFD: [0xFE57], NFKC: [0x0021], NFKD: [0x0021] }, -{ source: [0xFE58], NFC: [0xFE58], NFD: [0xFE58], NFKC: [0x2014], NFKD: [0x2014] }, -{ source: [0xFE59], NFC: [0xFE59], NFD: [0xFE59], NFKC: [0x0028], NFKD: [0x0028] }, -{ source: [0xFE5A], NFC: [0xFE5A], NFD: [0xFE5A], NFKC: [0x0029], NFKD: [0x0029] }, -{ source: [0xFE5B], NFC: [0xFE5B], NFD: [0xFE5B], NFKC: [0x007B], NFKD: [0x007B] }, -{ source: [0xFE5C], NFC: [0xFE5C], NFD: [0xFE5C], NFKC: [0x007D], NFKD: [0x007D] }, -{ source: [0xFE5D], NFC: [0xFE5D], NFD: [0xFE5D], NFKC: [0x3014], NFKD: [0x3014] }, -{ source: [0xFE5E], NFC: [0xFE5E], NFD: [0xFE5E], NFKC: [0x3015], NFKD: [0x3015] }, -{ source: [0xFE5F], NFC: [0xFE5F], NFD: [0xFE5F], NFKC: [0x0023], NFKD: [0x0023] }, -{ source: [0xFE60], NFC: [0xFE60], NFD: [0xFE60], NFKC: [0x0026], NFKD: [0x0026] }, -{ source: [0xFE61], NFC: [0xFE61], NFD: [0xFE61], NFKC: [0x002A], NFKD: [0x002A] }, -{ source: [0xFE62], NFC: [0xFE62], NFD: [0xFE62], NFKC: [0x002B], NFKD: [0x002B] }, -{ source: [0xFE63], NFC: [0xFE63], NFD: [0xFE63], NFKC: [0x002D], NFKD: [0x002D] }, -{ source: [0xFE64], NFC: [0xFE64], NFD: [0xFE64], NFKC: [0x003C], NFKD: [0x003C] }, -{ source: [0xFE65], NFC: [0xFE65], NFD: [0xFE65], NFKC: [0x003E], NFKD: [0x003E] }, -{ source: [0xFE66], NFC: [0xFE66], NFD: [0xFE66], NFKC: [0x003D], NFKD: [0x003D] }, -{ source: [0xFE68], NFC: [0xFE68], NFD: [0xFE68], NFKC: [0x005C], NFKD: [0x005C] }, -{ source: [0xFE69], NFC: [0xFE69], NFD: [0xFE69], NFKC: [0x0024], NFKD: [0x0024] }, -{ source: [0xFE6A], NFC: [0xFE6A], NFD: [0xFE6A], NFKC: [0x0025], NFKD: [0x0025] }, -{ source: [0xFE6B], NFC: [0xFE6B], NFD: [0xFE6B], NFKC: [0x0040], NFKD: [0x0040] }, -{ source: [0xFE70], NFC: [0xFE70], NFD: [0xFE70], NFKC: [0x0020, 0x064B], NFKD: [0x0020, 0x064B] }, -{ source: [0xFE71], NFC: [0xFE71], NFD: [0xFE71], NFKC: [0x0640, 0x064B], NFKD: [0x0640, 0x064B] }, -{ source: [0xFE72], NFC: [0xFE72], NFD: [0xFE72], NFKC: [0x0020, 0x064C], NFKD: [0x0020, 0x064C] }, -{ source: [0xFE74], NFC: [0xFE74], NFD: [0xFE74], NFKC: [0x0020, 0x064D], NFKD: [0x0020, 0x064D] }, -{ source: [0xFE76], NFC: [0xFE76], NFD: [0xFE76], NFKC: [0x0020, 0x064E], NFKD: [0x0020, 0x064E] }, -{ source: [0xFE77], NFC: [0xFE77], NFD: [0xFE77], NFKC: [0x0640, 0x064E], NFKD: [0x0640, 0x064E] }, -{ source: [0xFE78], NFC: [0xFE78], NFD: [0xFE78], NFKC: [0x0020, 0x064F], NFKD: [0x0020, 0x064F] }, -{ source: [0xFE79], NFC: [0xFE79], NFD: [0xFE79], NFKC: [0x0640, 0x064F], NFKD: [0x0640, 0x064F] }, -{ source: [0xFE7A], NFC: [0xFE7A], NFD: [0xFE7A], NFKC: [0x0020, 0x0650], NFKD: [0x0020, 0x0650] }, -{ source: [0xFE7B], NFC: [0xFE7B], NFD: [0xFE7B], NFKC: [0x0640, 0x0650], NFKD: [0x0640, 0x0650] }, -{ source: [0xFE7C], NFC: [0xFE7C], NFD: [0xFE7C], NFKC: [0x0020, 0x0651], NFKD: [0x0020, 0x0651] }, -{ source: [0xFE7D], NFC: [0xFE7D], NFD: [0xFE7D], NFKC: [0x0640, 0x0651], NFKD: [0x0640, 0x0651] }, -{ source: [0xFE7E], NFC: [0xFE7E], NFD: [0xFE7E], NFKC: [0x0020, 0x0652], NFKD: [0x0020, 0x0652] }, -{ source: [0xFE7F], NFC: [0xFE7F], NFD: [0xFE7F], NFKC: [0x0640, 0x0652], NFKD: [0x0640, 0x0652] }, -{ source: [0xFE80], NFC: [0xFE80], NFD: [0xFE80], NFKC: [0x0621], NFKD: [0x0621] }, -{ source: [0xFE81], NFC: [0xFE81], NFD: [0xFE81], NFKC: [0x0622], NFKD: [0x0627, 0x0653] }, -{ source: [0xFE82], NFC: [0xFE82], NFD: [0xFE82], NFKC: [0x0622], NFKD: [0x0627, 0x0653] }, -{ source: [0xFE83], NFC: [0xFE83], NFD: [0xFE83], NFKC: [0x0623], NFKD: [0x0627, 0x0654] }, -{ source: [0xFE84], NFC: [0xFE84], NFD: [0xFE84], NFKC: [0x0623], NFKD: [0x0627, 0x0654] }, -{ source: [0xFE85], NFC: [0xFE85], NFD: [0xFE85], NFKC: [0x0624], NFKD: [0x0648, 0x0654] }, -{ source: [0xFE86], NFC: [0xFE86], NFD: [0xFE86], NFKC: [0x0624], NFKD: [0x0648, 0x0654] }, -{ source: [0xFE87], NFC: [0xFE87], NFD: [0xFE87], NFKC: [0x0625], NFKD: [0x0627, 0x0655] }, -{ source: [0xFE88], NFC: [0xFE88], NFD: [0xFE88], NFKC: [0x0625], NFKD: [0x0627, 0x0655] }, -{ source: [0xFE89], NFC: [0xFE89], NFD: [0xFE89], NFKC: [0x0626], NFKD: [0x064A, 0x0654] }, -{ source: [0xFE8A], NFC: [0xFE8A], NFD: [0xFE8A], NFKC: [0x0626], NFKD: [0x064A, 0x0654] }, -{ source: [0xFE8B], NFC: [0xFE8B], NFD: [0xFE8B], NFKC: [0x0626], NFKD: [0x064A, 0x0654] }, -{ source: [0xFE8C], NFC: [0xFE8C], NFD: [0xFE8C], NFKC: [0x0626], NFKD: [0x064A, 0x0654] }, -{ source: [0xFE8D], NFC: [0xFE8D], NFD: [0xFE8D], NFKC: [0x0627], NFKD: [0x0627] }, -{ source: [0xFE8E], NFC: [0xFE8E], NFD: [0xFE8E], NFKC: [0x0627], NFKD: [0x0627] }, -{ source: [0xFE8F], NFC: [0xFE8F], NFD: [0xFE8F], NFKC: [0x0628], NFKD: [0x0628] }, -{ source: [0xFE90], NFC: [0xFE90], NFD: [0xFE90], NFKC: [0x0628], NFKD: [0x0628] }, -{ source: [0xFE91], NFC: [0xFE91], NFD: [0xFE91], NFKC: [0x0628], NFKD: [0x0628] }, -{ source: [0xFE92], NFC: [0xFE92], NFD: [0xFE92], NFKC: [0x0628], NFKD: [0x0628] }, -{ source: [0xFE93], NFC: [0xFE93], NFD: [0xFE93], NFKC: [0x0629], NFKD: [0x0629] }, -{ source: [0xFE94], NFC: [0xFE94], NFD: [0xFE94], NFKC: [0x0629], NFKD: [0x0629] }, -{ source: [0xFE95], NFC: [0xFE95], NFD: [0xFE95], NFKC: [0x062A], NFKD: [0x062A] }, -{ source: [0xFE96], NFC: [0xFE96], NFD: [0xFE96], NFKC: [0x062A], NFKD: [0x062A] }, -{ source: [0xFE97], NFC: [0xFE97], NFD: [0xFE97], NFKC: [0x062A], NFKD: [0x062A] }, -{ source: [0xFE98], NFC: [0xFE98], NFD: [0xFE98], NFKC: [0x062A], NFKD: [0x062A] }, -{ source: [0xFE99], NFC: [0xFE99], NFD: [0xFE99], NFKC: [0x062B], NFKD: [0x062B] }, -{ source: [0xFE9A], NFC: [0xFE9A], NFD: [0xFE9A], NFKC: [0x062B], NFKD: [0x062B] }, -{ source: [0xFE9B], NFC: [0xFE9B], NFD: [0xFE9B], NFKC: [0x062B], NFKD: [0x062B] }, -{ source: [0xFE9C], NFC: [0xFE9C], NFD: [0xFE9C], NFKC: [0x062B], NFKD: [0x062B] }, -{ source: [0xFE9D], NFC: [0xFE9D], NFD: [0xFE9D], NFKC: [0x062C], NFKD: [0x062C] }, -{ source: [0xFE9E], NFC: [0xFE9E], NFD: [0xFE9E], NFKC: [0x062C], NFKD: [0x062C] }, -{ source: [0xFE9F], NFC: [0xFE9F], NFD: [0xFE9F], NFKC: [0x062C], NFKD: [0x062C] }, -{ source: [0xFEA0], NFC: [0xFEA0], NFD: [0xFEA0], NFKC: [0x062C], NFKD: [0x062C] }, -{ source: [0xFEA1], NFC: [0xFEA1], NFD: [0xFEA1], NFKC: [0x062D], NFKD: [0x062D] }, -{ source: [0xFEA2], NFC: [0xFEA2], NFD: [0xFEA2], NFKC: [0x062D], NFKD: [0x062D] }, -{ source: [0xFEA3], NFC: [0xFEA3], NFD: [0xFEA3], NFKC: [0x062D], NFKD: [0x062D] }, -{ source: [0xFEA4], NFC: [0xFEA4], NFD: [0xFEA4], NFKC: [0x062D], NFKD: [0x062D] }, -{ source: [0xFEA5], NFC: [0xFEA5], NFD: [0xFEA5], NFKC: [0x062E], NFKD: [0x062E] }, -{ source: [0xFEA6], NFC: [0xFEA6], NFD: [0xFEA6], NFKC: [0x062E], NFKD: [0x062E] }, -{ source: [0xFEA7], NFC: [0xFEA7], NFD: [0xFEA7], NFKC: [0x062E], NFKD: [0x062E] }, -{ source: [0xFEA8], NFC: [0xFEA8], NFD: [0xFEA8], NFKC: [0x062E], NFKD: [0x062E] }, -{ source: [0xFEA9], NFC: [0xFEA9], NFD: [0xFEA9], NFKC: [0x062F], NFKD: [0x062F] }, -{ source: [0xFEAA], NFC: [0xFEAA], NFD: [0xFEAA], NFKC: [0x062F], NFKD: [0x062F] }, -{ source: [0xFEAB], NFC: [0xFEAB], NFD: [0xFEAB], NFKC: [0x0630], NFKD: [0x0630] }, -{ source: [0xFEAC], NFC: [0xFEAC], NFD: [0xFEAC], NFKC: [0x0630], NFKD: [0x0630] }, -{ source: [0xFEAD], NFC: [0xFEAD], NFD: [0xFEAD], NFKC: [0x0631], NFKD: [0x0631] }, -{ source: [0xFEAE], NFC: [0xFEAE], NFD: [0xFEAE], NFKC: [0x0631], NFKD: [0x0631] }, -{ source: [0xFEAF], NFC: [0xFEAF], NFD: [0xFEAF], NFKC: [0x0632], NFKD: [0x0632] }, -{ source: [0xFEB0], NFC: [0xFEB0], NFD: [0xFEB0], NFKC: [0x0632], NFKD: [0x0632] }, -{ source: [0xFEB1], NFC: [0xFEB1], NFD: [0xFEB1], NFKC: [0x0633], NFKD: [0x0633] }, -{ source: [0xFEB2], NFC: [0xFEB2], NFD: [0xFEB2], NFKC: [0x0633], NFKD: [0x0633] }, -{ source: [0xFEB3], NFC: [0xFEB3], NFD: [0xFEB3], NFKC: [0x0633], NFKD: [0x0633] }, -{ source: [0xFEB4], NFC: [0xFEB4], NFD: [0xFEB4], NFKC: [0x0633], NFKD: [0x0633] }, -{ source: [0xFEB5], NFC: [0xFEB5], NFD: [0xFEB5], NFKC: [0x0634], NFKD: [0x0634] }, -{ source: [0xFEB6], NFC: [0xFEB6], NFD: [0xFEB6], NFKC: [0x0634], NFKD: [0x0634] }, -{ source: [0xFEB7], NFC: [0xFEB7], NFD: [0xFEB7], NFKC: [0x0634], NFKD: [0x0634] }, -{ source: [0xFEB8], NFC: [0xFEB8], NFD: [0xFEB8], NFKC: [0x0634], NFKD: [0x0634] }, -{ source: [0xFEB9], NFC: [0xFEB9], NFD: [0xFEB9], NFKC: [0x0635], NFKD: [0x0635] }, -{ source: [0xFEBA], NFC: [0xFEBA], NFD: [0xFEBA], NFKC: [0x0635], NFKD: [0x0635] }, -{ source: [0xFEBB], NFC: [0xFEBB], NFD: [0xFEBB], NFKC: [0x0635], NFKD: [0x0635] }, -{ source: [0xFEBC], NFC: [0xFEBC], NFD: [0xFEBC], NFKC: [0x0635], NFKD: [0x0635] }, -{ source: [0xFEBD], NFC: [0xFEBD], NFD: [0xFEBD], NFKC: [0x0636], NFKD: [0x0636] }, -{ source: [0xFEBE], NFC: [0xFEBE], NFD: [0xFEBE], NFKC: [0x0636], NFKD: [0x0636] }, -{ source: [0xFEBF], NFC: [0xFEBF], NFD: [0xFEBF], NFKC: [0x0636], NFKD: [0x0636] }, -{ source: [0xFEC0], NFC: [0xFEC0], NFD: [0xFEC0], NFKC: [0x0636], NFKD: [0x0636] }, -{ source: [0xFEC1], NFC: [0xFEC1], NFD: [0xFEC1], NFKC: [0x0637], NFKD: [0x0637] }, -{ source: [0xFEC2], NFC: [0xFEC2], NFD: [0xFEC2], NFKC: [0x0637], NFKD: [0x0637] }, -{ source: [0xFEC3], NFC: [0xFEC3], NFD: [0xFEC3], NFKC: [0x0637], NFKD: [0x0637] }, -{ source: [0xFEC4], NFC: [0xFEC4], NFD: [0xFEC4], NFKC: [0x0637], NFKD: [0x0637] }, -{ source: [0xFEC5], NFC: [0xFEC5], NFD: [0xFEC5], NFKC: [0x0638], NFKD: [0x0638] }, -{ source: [0xFEC6], NFC: [0xFEC6], NFD: [0xFEC6], NFKC: [0x0638], NFKD: [0x0638] }, -{ source: [0xFEC7], NFC: [0xFEC7], NFD: [0xFEC7], NFKC: [0x0638], NFKD: [0x0638] }, -{ source: [0xFEC8], NFC: [0xFEC8], NFD: [0xFEC8], NFKC: [0x0638], NFKD: [0x0638] }, -{ source: [0xFEC9], NFC: [0xFEC9], NFD: [0xFEC9], NFKC: [0x0639], NFKD: [0x0639] }, -{ source: [0xFECA], NFC: [0xFECA], NFD: [0xFECA], NFKC: [0x0639], NFKD: [0x0639] }, -{ source: [0xFECB], NFC: [0xFECB], NFD: [0xFECB], NFKC: [0x0639], NFKD: [0x0639] }, -{ source: [0xFECC], NFC: [0xFECC], NFD: [0xFECC], NFKC: [0x0639], NFKD: [0x0639] }, -{ source: [0xFECD], NFC: [0xFECD], NFD: [0xFECD], NFKC: [0x063A], NFKD: [0x063A] }, -{ source: [0xFECE], NFC: [0xFECE], NFD: [0xFECE], NFKC: [0x063A], NFKD: [0x063A] }, -{ source: [0xFECF], NFC: [0xFECF], NFD: [0xFECF], NFKC: [0x063A], NFKD: [0x063A] }, -{ source: [0xFED0], NFC: [0xFED0], NFD: [0xFED0], NFKC: [0x063A], NFKD: [0x063A] }, -{ source: [0xFED1], NFC: [0xFED1], NFD: [0xFED1], NFKC: [0x0641], NFKD: [0x0641] }, -{ source: [0xFED2], NFC: [0xFED2], NFD: [0xFED2], NFKC: [0x0641], NFKD: [0x0641] }, -{ source: [0xFED3], NFC: [0xFED3], NFD: [0xFED3], NFKC: [0x0641], NFKD: [0x0641] }, -{ source: [0xFED4], NFC: [0xFED4], NFD: [0xFED4], NFKC: [0x0641], NFKD: [0x0641] }, -{ source: [0xFED5], NFC: [0xFED5], NFD: [0xFED5], NFKC: [0x0642], NFKD: [0x0642] }, -{ source: [0xFED6], NFC: [0xFED6], NFD: [0xFED6], NFKC: [0x0642], NFKD: [0x0642] }, -{ source: [0xFED7], NFC: [0xFED7], NFD: [0xFED7], NFKC: [0x0642], NFKD: [0x0642] }, -{ source: [0xFED8], NFC: [0xFED8], NFD: [0xFED8], NFKC: [0x0642], NFKD: [0x0642] }, -{ source: [0xFED9], NFC: [0xFED9], NFD: [0xFED9], NFKC: [0x0643], NFKD: [0x0643] }, -{ source: [0xFEDA], NFC: [0xFEDA], NFD: [0xFEDA], NFKC: [0x0643], NFKD: [0x0643] }, -{ source: [0xFEDB], NFC: [0xFEDB], NFD: [0xFEDB], NFKC: [0x0643], NFKD: [0x0643] }, -{ source: [0xFEDC], NFC: [0xFEDC], NFD: [0xFEDC], NFKC: [0x0643], NFKD: [0x0643] }, -{ source: [0xFEDD], NFC: [0xFEDD], NFD: [0xFEDD], NFKC: [0x0644], NFKD: [0x0644] }, -{ source: [0xFEDE], NFC: [0xFEDE], NFD: [0xFEDE], NFKC: [0x0644], NFKD: [0x0644] }, -{ source: [0xFEDF], NFC: [0xFEDF], NFD: [0xFEDF], NFKC: [0x0644], NFKD: [0x0644] }, -{ source: [0xFEE0], NFC: [0xFEE0], NFD: [0xFEE0], NFKC: [0x0644], NFKD: [0x0644] }, -{ source: [0xFEE1], NFC: [0xFEE1], NFD: [0xFEE1], NFKC: [0x0645], NFKD: [0x0645] }, -{ source: [0xFEE2], NFC: [0xFEE2], NFD: [0xFEE2], NFKC: [0x0645], NFKD: [0x0645] }, -{ source: [0xFEE3], NFC: [0xFEE3], NFD: [0xFEE3], NFKC: [0x0645], NFKD: [0x0645] }, -{ source: [0xFEE4], NFC: [0xFEE4], NFD: [0xFEE4], NFKC: [0x0645], NFKD: [0x0645] }, -{ source: [0xFEE5], NFC: [0xFEE5], NFD: [0xFEE5], NFKC: [0x0646], NFKD: [0x0646] }, -{ source: [0xFEE6], NFC: [0xFEE6], NFD: [0xFEE6], NFKC: [0x0646], NFKD: [0x0646] }, -{ source: [0xFEE7], NFC: [0xFEE7], NFD: [0xFEE7], NFKC: [0x0646], NFKD: [0x0646] }, -{ source: [0xFEE8], NFC: [0xFEE8], NFD: [0xFEE8], NFKC: [0x0646], NFKD: [0x0646] }, -{ source: [0xFEE9], NFC: [0xFEE9], NFD: [0xFEE9], NFKC: [0x0647], NFKD: [0x0647] }, -{ source: [0xFEEA], NFC: [0xFEEA], NFD: [0xFEEA], NFKC: [0x0647], NFKD: [0x0647] }, -{ source: [0xFEEB], NFC: [0xFEEB], NFD: [0xFEEB], NFKC: [0x0647], NFKD: [0x0647] }, -{ source: [0xFEEC], NFC: [0xFEEC], NFD: [0xFEEC], NFKC: [0x0647], NFKD: [0x0647] }, -{ source: [0xFEED], NFC: [0xFEED], NFD: [0xFEED], NFKC: [0x0648], NFKD: [0x0648] }, -{ source: [0xFEEE], NFC: [0xFEEE], NFD: [0xFEEE], NFKC: [0x0648], NFKD: [0x0648] }, -{ source: [0xFEEF], NFC: [0xFEEF], NFD: [0xFEEF], NFKC: [0x0649], NFKD: [0x0649] }, -{ source: [0xFEF0], NFC: [0xFEF0], NFD: [0xFEF0], NFKC: [0x0649], NFKD: [0x0649] }, -{ source: [0xFEF1], NFC: [0xFEF1], NFD: [0xFEF1], NFKC: [0x064A], NFKD: [0x064A] }, -{ source: [0xFEF2], NFC: [0xFEF2], NFD: [0xFEF2], NFKC: [0x064A], NFKD: [0x064A] }, -{ source: [0xFEF3], NFC: [0xFEF3], NFD: [0xFEF3], NFKC: [0x064A], NFKD: [0x064A] }, -{ source: [0xFEF4], NFC: [0xFEF4], NFD: [0xFEF4], NFKC: [0x064A], NFKD: [0x064A] }, -{ source: [0xFEF5], NFC: [0xFEF5], NFD: [0xFEF5], NFKC: [0x0644, 0x0622], NFKD: [0x0644, 0x0627, 0x0653] }, -{ source: [0xFEF6], NFC: [0xFEF6], NFD: [0xFEF6], NFKC: [0x0644, 0x0622], NFKD: [0x0644, 0x0627, 0x0653] }, -{ source: [0xFEF7], NFC: [0xFEF7], NFD: [0xFEF7], NFKC: [0x0644, 0x0623], NFKD: [0x0644, 0x0627, 0x0654] }, -{ source: [0xFEF8], NFC: [0xFEF8], NFD: [0xFEF8], NFKC: [0x0644, 0x0623], NFKD: [0x0644, 0x0627, 0x0654] }, -{ source: [0xFEF9], NFC: [0xFEF9], NFD: [0xFEF9], NFKC: [0x0644, 0x0625], NFKD: [0x0644, 0x0627, 0x0655] }, -{ source: [0xFEFA], NFC: [0xFEFA], NFD: [0xFEFA], NFKC: [0x0644, 0x0625], NFKD: [0x0644, 0x0627, 0x0655] }, -{ source: [0xFEFB], NFC: [0xFEFB], NFD: [0xFEFB], NFKC: [0x0644, 0x0627], NFKD: [0x0644, 0x0627] }, -{ source: [0xFEFC], NFC: [0xFEFC], NFD: [0xFEFC], NFKC: [0x0644, 0x0627], NFKD: [0x0644, 0x0627] }, -{ source: [0xFF01], NFC: [0xFF01], NFD: [0xFF01], NFKC: [0x0021], NFKD: [0x0021] }, -{ source: [0xFF02], NFC: [0xFF02], NFD: [0xFF02], NFKC: [0x0022], NFKD: [0x0022] }, -{ source: [0xFF03], NFC: [0xFF03], NFD: [0xFF03], NFKC: [0x0023], NFKD: [0x0023] }, -{ source: [0xFF04], NFC: [0xFF04], NFD: [0xFF04], NFKC: [0x0024], NFKD: [0x0024] }, -{ source: [0xFF05], NFC: [0xFF05], NFD: [0xFF05], NFKC: [0x0025], NFKD: [0x0025] }, -{ source: [0xFF06], NFC: [0xFF06], NFD: [0xFF06], NFKC: [0x0026], NFKD: [0x0026] }, -{ source: [0xFF07], NFC: [0xFF07], NFD: [0xFF07], NFKC: [0x0027], NFKD: [0x0027] }, -{ source: [0xFF08], NFC: [0xFF08], NFD: [0xFF08], NFKC: [0x0028], NFKD: [0x0028] }, -{ source: [0xFF09], NFC: [0xFF09], NFD: [0xFF09], NFKC: [0x0029], NFKD: [0x0029] }, -{ source: [0xFF0A], NFC: [0xFF0A], NFD: [0xFF0A], NFKC: [0x002A], NFKD: [0x002A] }, -{ source: [0xFF0B], NFC: [0xFF0B], NFD: [0xFF0B], NFKC: [0x002B], NFKD: [0x002B] }, -{ source: [0xFF0C], NFC: [0xFF0C], NFD: [0xFF0C], NFKC: [0x002C], NFKD: [0x002C] }, -{ source: [0xFF0D], NFC: [0xFF0D], NFD: [0xFF0D], NFKC: [0x002D], NFKD: [0x002D] }, -{ source: [0xFF0E], NFC: [0xFF0E], NFD: [0xFF0E], NFKC: [0x002E], NFKD: [0x002E] }, -{ source: [0xFF0F], NFC: [0xFF0F], NFD: [0xFF0F], NFKC: [0x002F], NFKD: [0x002F] }, -{ source: [0xFF10], NFC: [0xFF10], NFD: [0xFF10], NFKC: [0x0030], NFKD: [0x0030] }, -{ source: [0xFF11], NFC: [0xFF11], NFD: [0xFF11], NFKC: [0x0031], NFKD: [0x0031] }, -{ source: [0xFF12], NFC: [0xFF12], NFD: [0xFF12], NFKC: [0x0032], NFKD: [0x0032] }, -{ source: [0xFF13], NFC: [0xFF13], NFD: [0xFF13], NFKC: [0x0033], NFKD: [0x0033] }, -{ source: [0xFF14], NFC: [0xFF14], NFD: [0xFF14], NFKC: [0x0034], NFKD: [0x0034] }, -{ source: [0xFF15], NFC: [0xFF15], NFD: [0xFF15], NFKC: [0x0035], NFKD: [0x0035] }, -{ source: [0xFF16], NFC: [0xFF16], NFD: [0xFF16], NFKC: [0x0036], NFKD: [0x0036] }, -{ source: [0xFF17], NFC: [0xFF17], NFD: [0xFF17], NFKC: [0x0037], NFKD: [0x0037] }, -{ source: [0xFF18], NFC: [0xFF18], NFD: [0xFF18], NFKC: [0x0038], NFKD: [0x0038] }, -{ source: [0xFF19], NFC: [0xFF19], NFD: [0xFF19], NFKC: [0x0039], NFKD: [0x0039] }, -{ source: [0xFF1A], NFC: [0xFF1A], NFD: [0xFF1A], NFKC: [0x003A], NFKD: [0x003A] }, -{ source: [0xFF1B], NFC: [0xFF1B], NFD: [0xFF1B], NFKC: [0x003B], NFKD: [0x003B] }, -{ source: [0xFF1C], NFC: [0xFF1C], NFD: [0xFF1C], NFKC: [0x003C], NFKD: [0x003C] }, -{ source: [0xFF1D], NFC: [0xFF1D], NFD: [0xFF1D], NFKC: [0x003D], NFKD: [0x003D] }, -{ source: [0xFF1E], NFC: [0xFF1E], NFD: [0xFF1E], NFKC: [0x003E], NFKD: [0x003E] }, -{ source: [0xFF1F], NFC: [0xFF1F], NFD: [0xFF1F], NFKC: [0x003F], NFKD: [0x003F] }, -{ source: [0xFF20], NFC: [0xFF20], NFD: [0xFF20], NFKC: [0x0040], NFKD: [0x0040] }, -{ source: [0xFF21], NFC: [0xFF21], NFD: [0xFF21], NFKC: [0x0041], NFKD: [0x0041] }, -{ source: [0xFF22], NFC: [0xFF22], NFD: [0xFF22], NFKC: [0x0042], NFKD: [0x0042] }, -{ source: [0xFF23], NFC: [0xFF23], NFD: [0xFF23], NFKC: [0x0043], NFKD: [0x0043] }, -{ source: [0xFF24], NFC: [0xFF24], NFD: [0xFF24], NFKC: [0x0044], NFKD: [0x0044] }, -{ source: [0xFF25], NFC: [0xFF25], NFD: [0xFF25], NFKC: [0x0045], NFKD: [0x0045] }, -{ source: [0xFF26], NFC: [0xFF26], NFD: [0xFF26], NFKC: [0x0046], NFKD: [0x0046] }, -{ source: [0xFF27], NFC: [0xFF27], NFD: [0xFF27], NFKC: [0x0047], NFKD: [0x0047] }, -{ source: [0xFF28], NFC: [0xFF28], NFD: [0xFF28], NFKC: [0x0048], NFKD: [0x0048] }, -{ source: [0xFF29], NFC: [0xFF29], NFD: [0xFF29], NFKC: [0x0049], NFKD: [0x0049] }, -{ source: [0xFF2A], NFC: [0xFF2A], NFD: [0xFF2A], NFKC: [0x004A], NFKD: [0x004A] }, -{ source: [0xFF2B], NFC: [0xFF2B], NFD: [0xFF2B], NFKC: [0x004B], NFKD: [0x004B] }, -{ source: [0xFF2C], NFC: [0xFF2C], NFD: [0xFF2C], NFKC: [0x004C], NFKD: [0x004C] }, -{ source: [0xFF2D], NFC: [0xFF2D], NFD: [0xFF2D], NFKC: [0x004D], NFKD: [0x004D] }, -{ source: [0xFF2E], NFC: [0xFF2E], NFD: [0xFF2E], NFKC: [0x004E], NFKD: [0x004E] }, -{ source: [0xFF2F], NFC: [0xFF2F], NFD: [0xFF2F], NFKC: [0x004F], NFKD: [0x004F] }, -{ source: [0xFF30], NFC: [0xFF30], NFD: [0xFF30], NFKC: [0x0050], NFKD: [0x0050] }, -{ source: [0xFF31], NFC: [0xFF31], NFD: [0xFF31], NFKC: [0x0051], NFKD: [0x0051] }, -{ source: [0xFF32], NFC: [0xFF32], NFD: [0xFF32], NFKC: [0x0052], NFKD: [0x0052] }, -{ source: [0xFF33], NFC: [0xFF33], NFD: [0xFF33], NFKC: [0x0053], NFKD: [0x0053] }, -{ source: [0xFF34], NFC: [0xFF34], NFD: [0xFF34], NFKC: [0x0054], NFKD: [0x0054] }, -{ source: [0xFF35], NFC: [0xFF35], NFD: [0xFF35], NFKC: [0x0055], NFKD: [0x0055] }, -{ source: [0xFF36], NFC: [0xFF36], NFD: [0xFF36], NFKC: [0x0056], NFKD: [0x0056] }, -{ source: [0xFF37], NFC: [0xFF37], NFD: [0xFF37], NFKC: [0x0057], NFKD: [0x0057] }, -{ source: [0xFF38], NFC: [0xFF38], NFD: [0xFF38], NFKC: [0x0058], NFKD: [0x0058] }, -{ source: [0xFF39], NFC: [0xFF39], NFD: [0xFF39], NFKC: [0x0059], NFKD: [0x0059] }, -{ source: [0xFF3A], NFC: [0xFF3A], NFD: [0xFF3A], NFKC: [0x005A], NFKD: [0x005A] }, -{ source: [0xFF3B], NFC: [0xFF3B], NFD: [0xFF3B], NFKC: [0x005B], NFKD: [0x005B] }, -{ source: [0xFF3C], NFC: [0xFF3C], NFD: [0xFF3C], NFKC: [0x005C], NFKD: [0x005C] }, -{ source: [0xFF3D], NFC: [0xFF3D], NFD: [0xFF3D], NFKC: [0x005D], NFKD: [0x005D] }, -{ source: [0xFF3E], NFC: [0xFF3E], NFD: [0xFF3E], NFKC: [0x005E], NFKD: [0x005E] }, -{ source: [0xFF3F], NFC: [0xFF3F], NFD: [0xFF3F], NFKC: [0x005F], NFKD: [0x005F] }, -{ source: [0xFF40], NFC: [0xFF40], NFD: [0xFF40], NFKC: [0x0060], NFKD: [0x0060] }, -{ source: [0xFF41], NFC: [0xFF41], NFD: [0xFF41], NFKC: [0x0061], NFKD: [0x0061] }, -{ source: [0xFF42], NFC: [0xFF42], NFD: [0xFF42], NFKC: [0x0062], NFKD: [0x0062] }, -{ source: [0xFF43], NFC: [0xFF43], NFD: [0xFF43], NFKC: [0x0063], NFKD: [0x0063] }, -{ source: [0xFF44], NFC: [0xFF44], NFD: [0xFF44], NFKC: [0x0064], NFKD: [0x0064] }, -{ source: [0xFF45], NFC: [0xFF45], NFD: [0xFF45], NFKC: [0x0065], NFKD: [0x0065] }, -{ source: [0xFF46], NFC: [0xFF46], NFD: [0xFF46], NFKC: [0x0066], NFKD: [0x0066] }, -{ source: [0xFF47], NFC: [0xFF47], NFD: [0xFF47], NFKC: [0x0067], NFKD: [0x0067] }, -{ source: [0xFF48], NFC: [0xFF48], NFD: [0xFF48], NFKC: [0x0068], NFKD: [0x0068] }, -{ source: [0xFF49], NFC: [0xFF49], NFD: [0xFF49], NFKC: [0x0069], NFKD: [0x0069] }, -{ source: [0xFF4A], NFC: [0xFF4A], NFD: [0xFF4A], NFKC: [0x006A], NFKD: [0x006A] }, -{ source: [0xFF4B], NFC: [0xFF4B], NFD: [0xFF4B], NFKC: [0x006B], NFKD: [0x006B] }, -{ source: [0xFF4C], NFC: [0xFF4C], NFD: [0xFF4C], NFKC: [0x006C], NFKD: [0x006C] }, -{ source: [0xFF4D], NFC: [0xFF4D], NFD: [0xFF4D], NFKC: [0x006D], NFKD: [0x006D] }, -{ source: [0xFF4E], NFC: [0xFF4E], NFD: [0xFF4E], NFKC: [0x006E], NFKD: [0x006E] }, -{ source: [0xFF4F], NFC: [0xFF4F], NFD: [0xFF4F], NFKC: [0x006F], NFKD: [0x006F] }, -{ source: [0xFF50], NFC: [0xFF50], NFD: [0xFF50], NFKC: [0x0070], NFKD: [0x0070] }, -{ source: [0xFF51], NFC: [0xFF51], NFD: [0xFF51], NFKC: [0x0071], NFKD: [0x0071] }, -{ source: [0xFF52], NFC: [0xFF52], NFD: [0xFF52], NFKC: [0x0072], NFKD: [0x0072] }, -{ source: [0xFF53], NFC: [0xFF53], NFD: [0xFF53], NFKC: [0x0073], NFKD: [0x0073] }, -{ source: [0xFF54], NFC: [0xFF54], NFD: [0xFF54], NFKC: [0x0074], NFKD: [0x0074] }, -{ source: [0xFF55], NFC: [0xFF55], NFD: [0xFF55], NFKC: [0x0075], NFKD: [0x0075] }, -{ source: [0xFF56], NFC: [0xFF56], NFD: [0xFF56], NFKC: [0x0076], NFKD: [0x0076] }, -{ source: [0xFF57], NFC: [0xFF57], NFD: [0xFF57], NFKC: [0x0077], NFKD: [0x0077] }, -{ source: [0xFF58], NFC: [0xFF58], NFD: [0xFF58], NFKC: [0x0078], NFKD: [0x0078] }, -{ source: [0xFF59], NFC: [0xFF59], NFD: [0xFF59], NFKC: [0x0079], NFKD: [0x0079] }, -{ source: [0xFF5A], NFC: [0xFF5A], NFD: [0xFF5A], NFKC: [0x007A], NFKD: [0x007A] }, -{ source: [0xFF5B], NFC: [0xFF5B], NFD: [0xFF5B], NFKC: [0x007B], NFKD: [0x007B] }, -{ source: [0xFF5C], NFC: [0xFF5C], NFD: [0xFF5C], NFKC: [0x007C], NFKD: [0x007C] }, -{ source: [0xFF5D], NFC: [0xFF5D], NFD: [0xFF5D], NFKC: [0x007D], NFKD: [0x007D] }, -{ source: [0xFF5E], NFC: [0xFF5E], NFD: [0xFF5E], NFKC: [0x007E], NFKD: [0x007E] }, -{ source: [0xFF5F], NFC: [0xFF5F], NFD: [0xFF5F], NFKC: [0x2985], NFKD: [0x2985] }, -{ source: [0xFF60], NFC: [0xFF60], NFD: [0xFF60], NFKC: [0x2986], NFKD: [0x2986] }, -{ source: [0xFF61], NFC: [0xFF61], NFD: [0xFF61], NFKC: [0x3002], NFKD: [0x3002] }, -{ source: [0xFF62], NFC: [0xFF62], NFD: [0xFF62], NFKC: [0x300C], NFKD: [0x300C] }, -{ source: [0xFF63], NFC: [0xFF63], NFD: [0xFF63], NFKC: [0x300D], NFKD: [0x300D] }, -{ source: [0xFF64], NFC: [0xFF64], NFD: [0xFF64], NFKC: [0x3001], NFKD: [0x3001] }, -{ source: [0xFF65], NFC: [0xFF65], NFD: [0xFF65], NFKC: [0x30FB], NFKD: [0x30FB] }, -{ source: [0xFF66], NFC: [0xFF66], NFD: [0xFF66], NFKC: [0x30F2], NFKD: [0x30F2] }, -{ source: [0xFF67], NFC: [0xFF67], NFD: [0xFF67], NFKC: [0x30A1], NFKD: [0x30A1] }, -{ source: [0xFF68], NFC: [0xFF68], NFD: [0xFF68], NFKC: [0x30A3], NFKD: [0x30A3] }, -{ source: [0xFF69], NFC: [0xFF69], NFD: [0xFF69], NFKC: [0x30A5], NFKD: [0x30A5] }, -{ source: [0xFF6A], NFC: [0xFF6A], NFD: [0xFF6A], NFKC: [0x30A7], NFKD: [0x30A7] }, -{ source: [0xFF6B], NFC: [0xFF6B], NFD: [0xFF6B], NFKC: [0x30A9], NFKD: [0x30A9] }, -{ source: [0xFF6C], NFC: [0xFF6C], NFD: [0xFF6C], NFKC: [0x30E3], NFKD: [0x30E3] }, -{ source: [0xFF6D], NFC: [0xFF6D], NFD: [0xFF6D], NFKC: [0x30E5], NFKD: [0x30E5] }, -{ source: [0xFF6E], NFC: [0xFF6E], NFD: [0xFF6E], NFKC: [0x30E7], NFKD: [0x30E7] }, -{ source: [0xFF6F], NFC: [0xFF6F], NFD: [0xFF6F], NFKC: [0x30C3], NFKD: [0x30C3] }, -{ source: [0xFF70], NFC: [0xFF70], NFD: [0xFF70], NFKC: [0x30FC], NFKD: [0x30FC] }, -{ source: [0xFF71], NFC: [0xFF71], NFD: [0xFF71], NFKC: [0x30A2], NFKD: [0x30A2] }, -{ source: [0xFF72], NFC: [0xFF72], NFD: [0xFF72], NFKC: [0x30A4], NFKD: [0x30A4] }, -{ source: [0xFF73], NFC: [0xFF73], NFD: [0xFF73], NFKC: [0x30A6], NFKD: [0x30A6] }, -{ source: [0xFF74], NFC: [0xFF74], NFD: [0xFF74], NFKC: [0x30A8], NFKD: [0x30A8] }, -{ source: [0xFF75], NFC: [0xFF75], NFD: [0xFF75], NFKC: [0x30AA], NFKD: [0x30AA] }, -{ source: [0xFF76], NFC: [0xFF76], NFD: [0xFF76], NFKC: [0x30AB], NFKD: [0x30AB] }, -{ source: [0xFF77], NFC: [0xFF77], NFD: [0xFF77], NFKC: [0x30AD], NFKD: [0x30AD] }, -{ source: [0xFF78], NFC: [0xFF78], NFD: [0xFF78], NFKC: [0x30AF], NFKD: [0x30AF] }, -{ source: [0xFF79], NFC: [0xFF79], NFD: [0xFF79], NFKC: [0x30B1], NFKD: [0x30B1] }, -{ source: [0xFF7A], NFC: [0xFF7A], NFD: [0xFF7A], NFKC: [0x30B3], NFKD: [0x30B3] }, -{ source: [0xFF7B], NFC: [0xFF7B], NFD: [0xFF7B], NFKC: [0x30B5], NFKD: [0x30B5] }, -{ source: [0xFF7C], NFC: [0xFF7C], NFD: [0xFF7C], NFKC: [0x30B7], NFKD: [0x30B7] }, -{ source: [0xFF7D], NFC: [0xFF7D], NFD: [0xFF7D], NFKC: [0x30B9], NFKD: [0x30B9] }, -{ source: [0xFF7E], NFC: [0xFF7E], NFD: [0xFF7E], NFKC: [0x30BB], NFKD: [0x30BB] }, -{ source: [0xFF7F], NFC: [0xFF7F], NFD: [0xFF7F], NFKC: [0x30BD], NFKD: [0x30BD] }, -{ source: [0xFF80], NFC: [0xFF80], NFD: [0xFF80], NFKC: [0x30BF], NFKD: [0x30BF] }, -{ source: [0xFF81], NFC: [0xFF81], NFD: [0xFF81], NFKC: [0x30C1], NFKD: [0x30C1] }, -{ source: [0xFF82], NFC: [0xFF82], NFD: [0xFF82], NFKC: [0x30C4], NFKD: [0x30C4] }, -{ source: [0xFF83], NFC: [0xFF83], NFD: [0xFF83], NFKC: [0x30C6], NFKD: [0x30C6] }, -{ source: [0xFF84], NFC: [0xFF84], NFD: [0xFF84], NFKC: [0x30C8], NFKD: [0x30C8] }, -{ source: [0xFF85], NFC: [0xFF85], NFD: [0xFF85], NFKC: [0x30CA], NFKD: [0x30CA] }, -{ source: [0xFF86], NFC: [0xFF86], NFD: [0xFF86], NFKC: [0x30CB], NFKD: [0x30CB] }, -{ source: [0xFF87], NFC: [0xFF87], NFD: [0xFF87], NFKC: [0x30CC], NFKD: [0x30CC] }, -{ source: [0xFF88], NFC: [0xFF88], NFD: [0xFF88], NFKC: [0x30CD], NFKD: [0x30CD] }, -{ source: [0xFF89], NFC: [0xFF89], NFD: [0xFF89], NFKC: [0x30CE], NFKD: [0x30CE] }, -{ source: [0xFF8A], NFC: [0xFF8A], NFD: [0xFF8A], NFKC: [0x30CF], NFKD: [0x30CF] }, -{ source: [0xFF8B], NFC: [0xFF8B], NFD: [0xFF8B], NFKC: [0x30D2], NFKD: [0x30D2] }, -{ source: [0xFF8C], NFC: [0xFF8C], NFD: [0xFF8C], NFKC: [0x30D5], NFKD: [0x30D5] }, -{ source: [0xFF8D], NFC: [0xFF8D], NFD: [0xFF8D], NFKC: [0x30D8], NFKD: [0x30D8] }, -{ source: [0xFF8E], NFC: [0xFF8E], NFD: [0xFF8E], NFKC: [0x30DB], NFKD: [0x30DB] }, -{ source: [0xFF8F], NFC: [0xFF8F], NFD: [0xFF8F], NFKC: [0x30DE], NFKD: [0x30DE] }, -{ source: [0xFF90], NFC: [0xFF90], NFD: [0xFF90], NFKC: [0x30DF], NFKD: [0x30DF] }, -{ source: [0xFF91], NFC: [0xFF91], NFD: [0xFF91], NFKC: [0x30E0], NFKD: [0x30E0] }, -{ source: [0xFF92], NFC: [0xFF92], NFD: [0xFF92], NFKC: [0x30E1], NFKD: [0x30E1] }, -{ source: [0xFF93], NFC: [0xFF93], NFD: [0xFF93], NFKC: [0x30E2], NFKD: [0x30E2] }, -{ source: [0xFF94], NFC: [0xFF94], NFD: [0xFF94], NFKC: [0x30E4], NFKD: [0x30E4] }, -{ source: [0xFF95], NFC: [0xFF95], NFD: [0xFF95], NFKC: [0x30E6], NFKD: [0x30E6] }, -{ source: [0xFF96], NFC: [0xFF96], NFD: [0xFF96], NFKC: [0x30E8], NFKD: [0x30E8] }, -{ source: [0xFF97], NFC: [0xFF97], NFD: [0xFF97], NFKC: [0x30E9], NFKD: [0x30E9] }, -{ source: [0xFF98], NFC: [0xFF98], NFD: [0xFF98], NFKC: [0x30EA], NFKD: [0x30EA] }, -{ source: [0xFF99], NFC: [0xFF99], NFD: [0xFF99], NFKC: [0x30EB], NFKD: [0x30EB] }, -{ source: [0xFF9A], NFC: [0xFF9A], NFD: [0xFF9A], NFKC: [0x30EC], NFKD: [0x30EC] }, -{ source: [0xFF9B], NFC: [0xFF9B], NFD: [0xFF9B], NFKC: [0x30ED], NFKD: [0x30ED] }, -{ source: [0xFF9C], NFC: [0xFF9C], NFD: [0xFF9C], NFKC: [0x30EF], NFKD: [0x30EF] }, -{ source: [0xFF9D], NFC: [0xFF9D], NFD: [0xFF9D], NFKC: [0x30F3], NFKD: [0x30F3] }, -{ source: [0xFF9E], NFC: [0xFF9E], NFD: [0xFF9E], NFKC: [0x3099], NFKD: [0x3099] }, -{ source: [0xFF9F], NFC: [0xFF9F], NFD: [0xFF9F], NFKC: [0x309A], NFKD: [0x309A] }, -{ source: [0xFFA0], NFC: [0xFFA0], NFD: [0xFFA0], NFKC: [0x1160], NFKD: [0x1160] }, -{ source: [0xFFA1], NFC: [0xFFA1], NFD: [0xFFA1], NFKC: [0x1100], NFKD: [0x1100] }, -{ source: [0xFFA2], NFC: [0xFFA2], NFD: [0xFFA2], NFKC: [0x1101], NFKD: [0x1101] }, -{ source: [0xFFA3], NFC: [0xFFA3], NFD: [0xFFA3], NFKC: [0x11AA], NFKD: [0x11AA] }, -{ source: [0xFFA4], NFC: [0xFFA4], NFD: [0xFFA4], NFKC: [0x1102], NFKD: [0x1102] }, -{ source: [0xFFA5], NFC: [0xFFA5], NFD: [0xFFA5], NFKC: [0x11AC], NFKD: [0x11AC] }, -{ source: [0xFFA6], NFC: [0xFFA6], NFD: [0xFFA6], NFKC: [0x11AD], NFKD: [0x11AD] }, -{ source: [0xFFA7], NFC: [0xFFA7], NFD: [0xFFA7], NFKC: [0x1103], NFKD: [0x1103] }, -{ source: [0xFFA8], NFC: [0xFFA8], NFD: [0xFFA8], NFKC: [0x1104], NFKD: [0x1104] }, -{ source: [0xFFA9], NFC: [0xFFA9], NFD: [0xFFA9], NFKC: [0x1105], NFKD: [0x1105] }, -{ source: [0xFFAA], NFC: [0xFFAA], NFD: [0xFFAA], NFKC: [0x11B0], NFKD: [0x11B0] }, -{ source: [0xFFAB], NFC: [0xFFAB], NFD: [0xFFAB], NFKC: [0x11B1], NFKD: [0x11B1] }, -{ source: [0xFFAC], NFC: [0xFFAC], NFD: [0xFFAC], NFKC: [0x11B2], NFKD: [0x11B2] }, -{ source: [0xFFAD], NFC: [0xFFAD], NFD: [0xFFAD], NFKC: [0x11B3], NFKD: [0x11B3] }, -{ source: [0xFFAE], NFC: [0xFFAE], NFD: [0xFFAE], NFKC: [0x11B4], NFKD: [0x11B4] }, -{ source: [0xFFAF], NFC: [0xFFAF], NFD: [0xFFAF], NFKC: [0x11B5], NFKD: [0x11B5] }, -{ source: [0xFFB0], NFC: [0xFFB0], NFD: [0xFFB0], NFKC: [0x111A], NFKD: [0x111A] }, -{ source: [0xFFB1], NFC: [0xFFB1], NFD: [0xFFB1], NFKC: [0x1106], NFKD: [0x1106] }, -{ source: [0xFFB2], NFC: [0xFFB2], NFD: [0xFFB2], NFKC: [0x1107], NFKD: [0x1107] }, -{ source: [0xFFB3], NFC: [0xFFB3], NFD: [0xFFB3], NFKC: [0x1108], NFKD: [0x1108] }, -{ source: [0xFFB4], NFC: [0xFFB4], NFD: [0xFFB4], NFKC: [0x1121], NFKD: [0x1121] }, -{ source: [0xFFB5], NFC: [0xFFB5], NFD: [0xFFB5], NFKC: [0x1109], NFKD: [0x1109] }, -{ source: [0xFFB6], NFC: [0xFFB6], NFD: [0xFFB6], NFKC: [0x110A], NFKD: [0x110A] }, -{ source: [0xFFB7], NFC: [0xFFB7], NFD: [0xFFB7], NFKC: [0x110B], NFKD: [0x110B] }, -{ source: [0xFFB8], NFC: [0xFFB8], NFD: [0xFFB8], NFKC: [0x110C], NFKD: [0x110C] }, -{ source: [0xFFB9], NFC: [0xFFB9], NFD: [0xFFB9], NFKC: [0x110D], NFKD: [0x110D] }, -{ source: [0xFFBA], NFC: [0xFFBA], NFD: [0xFFBA], NFKC: [0x110E], NFKD: [0x110E] }, -{ source: [0xFFBB], NFC: [0xFFBB], NFD: [0xFFBB], NFKC: [0x110F], NFKD: [0x110F] }, -{ source: [0xFFBC], NFC: [0xFFBC], NFD: [0xFFBC], NFKC: [0x1110], NFKD: [0x1110] }, -{ source: [0xFFBD], NFC: [0xFFBD], NFD: [0xFFBD], NFKC: [0x1111], NFKD: [0x1111] }, -{ source: [0xFFBE], NFC: [0xFFBE], NFD: [0xFFBE], NFKC: [0x1112], NFKD: [0x1112] }, -{ source: [0xFFC2], NFC: [0xFFC2], NFD: [0xFFC2], NFKC: [0x1161], NFKD: [0x1161] }, -{ source: [0xFFC3], NFC: [0xFFC3], NFD: [0xFFC3], NFKC: [0x1162], NFKD: [0x1162] }, -{ source: [0xFFC4], NFC: [0xFFC4], NFD: [0xFFC4], NFKC: [0x1163], NFKD: [0x1163] }, -{ source: [0xFFC5], NFC: [0xFFC5], NFD: [0xFFC5], NFKC: [0x1164], NFKD: [0x1164] }, -{ source: [0xFFC6], NFC: [0xFFC6], NFD: [0xFFC6], NFKC: [0x1165], NFKD: [0x1165] }, -{ source: [0xFFC7], NFC: [0xFFC7], NFD: [0xFFC7], NFKC: [0x1166], NFKD: [0x1166] }, -{ source: [0xFFCA], NFC: [0xFFCA], NFD: [0xFFCA], NFKC: [0x1167], NFKD: [0x1167] }, -{ source: [0xFFCB], NFC: [0xFFCB], NFD: [0xFFCB], NFKC: [0x1168], NFKD: [0x1168] }, -{ source: [0xFFCC], NFC: [0xFFCC], NFD: [0xFFCC], NFKC: [0x1169], NFKD: [0x1169] }, -{ source: [0xFFCD], NFC: [0xFFCD], NFD: [0xFFCD], NFKC: [0x116A], NFKD: [0x116A] }, -{ source: [0xFFCE], NFC: [0xFFCE], NFD: [0xFFCE], NFKC: [0x116B], NFKD: [0x116B] }, -{ source: [0xFFCF], NFC: [0xFFCF], NFD: [0xFFCF], NFKC: [0x116C], NFKD: [0x116C] }, -{ source: [0xFFD2], NFC: [0xFFD2], NFD: [0xFFD2], NFKC: [0x116D], NFKD: [0x116D] }, -{ source: [0xFFD3], NFC: [0xFFD3], NFD: [0xFFD3], NFKC: [0x116E], NFKD: [0x116E] }, -{ source: [0xFFD4], NFC: [0xFFD4], NFD: [0xFFD4], NFKC: [0x116F], NFKD: [0x116F] }, -{ source: [0xFFD5], NFC: [0xFFD5], NFD: [0xFFD5], NFKC: [0x1170], NFKD: [0x1170] }, -{ source: [0xFFD6], NFC: [0xFFD6], NFD: [0xFFD6], NFKC: [0x1171], NFKD: [0x1171] }, -{ source: [0xFFD7], NFC: [0xFFD7], NFD: [0xFFD7], NFKC: [0x1172], NFKD: [0x1172] }, -{ source: [0xFFDA], NFC: [0xFFDA], NFD: [0xFFDA], NFKC: [0x1173], NFKD: [0x1173] }, -{ source: [0xFFDB], NFC: [0xFFDB], NFD: [0xFFDB], NFKC: [0x1174], NFKD: [0x1174] }, -{ source: [0xFFDC], NFC: [0xFFDC], NFD: [0xFFDC], NFKC: [0x1175], NFKD: [0x1175] }, -{ source: [0xFFE0], NFC: [0xFFE0], NFD: [0xFFE0], NFKC: [0x00A2], NFKD: [0x00A2] }, -{ source: [0xFFE1], NFC: [0xFFE1], NFD: [0xFFE1], NFKC: [0x00A3], NFKD: [0x00A3] }, -{ source: [0xFFE2], NFC: [0xFFE2], NFD: [0xFFE2], NFKC: [0x00AC], NFKD: [0x00AC] }, -{ source: [0xFFE3], NFC: [0xFFE3], NFD: [0xFFE3], NFKC: [0x0020, 0x0304], NFKD: [0x0020, 0x0304] }, -{ source: [0xFFE4], NFC: [0xFFE4], NFD: [0xFFE4], NFKC: [0x00A6], NFKD: [0x00A6] }, -{ source: [0xFFE5], NFC: [0xFFE5], NFD: [0xFFE5], NFKC: [0x00A5], NFKD: [0x00A5] }, -{ source: [0xFFE6], NFC: [0xFFE6], NFD: [0xFFE6], NFKC: [0x20A9], NFKD: [0x20A9] }, -{ source: [0xFFE8], NFC: [0xFFE8], NFD: [0xFFE8], NFKC: [0x2502], NFKD: [0x2502] }, -{ source: [0xFFE9], NFC: [0xFFE9], NFD: [0xFFE9], NFKC: [0x2190], NFKD: [0x2190] }, -{ source: [0xFFEA], NFC: [0xFFEA], NFD: [0xFFEA], NFKC: [0x2191], NFKD: [0x2191] }, -{ source: [0xFFEB], NFC: [0xFFEB], NFD: [0xFFEB], NFKC: [0x2192], NFKD: [0x2192] }, -{ source: [0xFFEC], NFC: [0xFFEC], NFD: [0xFFEC], NFKC: [0x2193], NFKD: [0x2193] }, -{ source: [0xFFED], NFC: [0xFFED], NFD: [0xFFED], NFKC: [0x25A0], NFKD: [0x25A0] }, -{ source: [0xFFEE], NFC: [0xFFEE], NFD: [0xFFEE], NFKC: [0x25CB], NFKD: [0x25CB] }, -{ source: [0x105C9], NFC: [0x105C9], NFD: [0x105D2, 0x0307], NFKC: [0x105C9], NFKD: [0x105D2, 0x0307] }, -{ source: [0x105E4], NFC: [0x105E4], NFD: [0x105DA, 0x0307], NFKC: [0x105E4], NFKD: [0x105DA, 0x0307] }, -{ source: [0x10781], NFC: [0x10781], NFD: [0x10781], NFKC: [0x02D0], NFKD: [0x02D0] }, -{ source: [0x10782], NFC: [0x10782], NFD: [0x10782], NFKC: [0x02D1], NFKD: [0x02D1] }, -{ source: [0x10783], NFC: [0x10783], NFD: [0x10783], NFKC: [0x00E6], NFKD: [0x00E6] }, -{ source: [0x10784], NFC: [0x10784], NFD: [0x10784], NFKC: [0x0299], NFKD: [0x0299] }, -{ source: [0x10785], NFC: [0x10785], NFD: [0x10785], NFKC: [0x0253], NFKD: [0x0253] }, -{ source: [0x10787], NFC: [0x10787], NFD: [0x10787], NFKC: [0x02A3], NFKD: [0x02A3] }, -{ source: [0x10788], NFC: [0x10788], NFD: [0x10788], NFKC: [0xAB66], NFKD: [0xAB66] }, -{ source: [0x10789], NFC: [0x10789], NFD: [0x10789], NFKC: [0x02A5], NFKD: [0x02A5] }, -{ source: [0x1078A], NFC: [0x1078A], NFD: [0x1078A], NFKC: [0x02A4], NFKD: [0x02A4] }, -{ source: [0x1078B], NFC: [0x1078B], NFD: [0x1078B], NFKC: [0x0256], NFKD: [0x0256] }, -{ source: [0x1078C], NFC: [0x1078C], NFD: [0x1078C], NFKC: [0x0257], NFKD: [0x0257] }, -{ source: [0x1078D], NFC: [0x1078D], NFD: [0x1078D], NFKC: [0x1D91], NFKD: [0x1D91] }, -{ source: [0x1078E], NFC: [0x1078E], NFD: [0x1078E], NFKC: [0x0258], NFKD: [0x0258] }, -{ source: [0x1078F], NFC: [0x1078F], NFD: [0x1078F], NFKC: [0x025E], NFKD: [0x025E] }, -{ source: [0x10790], NFC: [0x10790], NFD: [0x10790], NFKC: [0x02A9], NFKD: [0x02A9] }, -{ source: [0x10791], NFC: [0x10791], NFD: [0x10791], NFKC: [0x0264], NFKD: [0x0264] }, -{ source: [0x10792], NFC: [0x10792], NFD: [0x10792], NFKC: [0x0262], NFKD: [0x0262] }, -{ source: [0x10793], NFC: [0x10793], NFD: [0x10793], NFKC: [0x0260], NFKD: [0x0260] }, -{ source: [0x10794], NFC: [0x10794], NFD: [0x10794], NFKC: [0x029B], NFKD: [0x029B] }, -{ source: [0x10795], NFC: [0x10795], NFD: [0x10795], NFKC: [0x0127], NFKD: [0x0127] }, -{ source: [0x10796], NFC: [0x10796], NFD: [0x10796], NFKC: [0x029C], NFKD: [0x029C] }, -{ source: [0x10797], NFC: [0x10797], NFD: [0x10797], NFKC: [0x0267], NFKD: [0x0267] }, -{ source: [0x10798], NFC: [0x10798], NFD: [0x10798], NFKC: [0x0284], NFKD: [0x0284] }, -{ source: [0x10799], NFC: [0x10799], NFD: [0x10799], NFKC: [0x02AA], NFKD: [0x02AA] }, -{ source: [0x1079A], NFC: [0x1079A], NFD: [0x1079A], NFKC: [0x02AB], NFKD: [0x02AB] }, -{ source: [0x1079B], NFC: [0x1079B], NFD: [0x1079B], NFKC: [0x026C], NFKD: [0x026C] }, -{ source: [0x1079C], NFC: [0x1079C], NFD: [0x1079C], NFKC: [0x1DF04], NFKD: [0x1DF04] }, -{ source: [0x1079D], NFC: [0x1079D], NFD: [0x1079D], NFKC: [0xA78E], NFKD: [0xA78E] }, -{ source: [0x1079E], NFC: [0x1079E], NFD: [0x1079E], NFKC: [0x026E], NFKD: [0x026E] }, -{ source: [0x1079F], NFC: [0x1079F], NFD: [0x1079F], NFKC: [0x1DF05], NFKD: [0x1DF05] }, -{ source: [0x107A0], NFC: [0x107A0], NFD: [0x107A0], NFKC: [0x028E], NFKD: [0x028E] }, -{ source: [0x107A1], NFC: [0x107A1], NFD: [0x107A1], NFKC: [0x1DF06], NFKD: [0x1DF06] }, -{ source: [0x107A2], NFC: [0x107A2], NFD: [0x107A2], NFKC: [0x00F8], NFKD: [0x00F8] }, -{ source: [0x107A3], NFC: [0x107A3], NFD: [0x107A3], NFKC: [0x0276], NFKD: [0x0276] }, -{ source: [0x107A4], NFC: [0x107A4], NFD: [0x107A4], NFKC: [0x0277], NFKD: [0x0277] }, -{ source: [0x107A5], NFC: [0x107A5], NFD: [0x107A5], NFKC: [0x0071], NFKD: [0x0071] }, -{ source: [0x107A6], NFC: [0x107A6], NFD: [0x107A6], NFKC: [0x027A], NFKD: [0x027A] }, -{ source: [0x107A7], NFC: [0x107A7], NFD: [0x107A7], NFKC: [0x1DF08], NFKD: [0x1DF08] }, -{ source: [0x107A8], NFC: [0x107A8], NFD: [0x107A8], NFKC: [0x027D], NFKD: [0x027D] }, -{ source: [0x107A9], NFC: [0x107A9], NFD: [0x107A9], NFKC: [0x027E], NFKD: [0x027E] }, -{ source: [0x107AA], NFC: [0x107AA], NFD: [0x107AA], NFKC: [0x0280], NFKD: [0x0280] }, -{ source: [0x107AB], NFC: [0x107AB], NFD: [0x107AB], NFKC: [0x02A8], NFKD: [0x02A8] }, -{ source: [0x107AC], NFC: [0x107AC], NFD: [0x107AC], NFKC: [0x02A6], NFKD: [0x02A6] }, -{ source: [0x107AD], NFC: [0x107AD], NFD: [0x107AD], NFKC: [0xAB67], NFKD: [0xAB67] }, -{ source: [0x107AE], NFC: [0x107AE], NFD: [0x107AE], NFKC: [0x02A7], NFKD: [0x02A7] }, -{ source: [0x107AF], NFC: [0x107AF], NFD: [0x107AF], NFKC: [0x0288], NFKD: [0x0288] }, -{ source: [0x107B0], NFC: [0x107B0], NFD: [0x107B0], NFKC: [0x2C71], NFKD: [0x2C71] }, -{ source: [0x107B2], NFC: [0x107B2], NFD: [0x107B2], NFKC: [0x028F], NFKD: [0x028F] }, -{ source: [0x107B3], NFC: [0x107B3], NFD: [0x107B3], NFKC: [0x02A1], NFKD: [0x02A1] }, -{ source: [0x107B4], NFC: [0x107B4], NFD: [0x107B4], NFKC: [0x02A2], NFKD: [0x02A2] }, -{ source: [0x107B5], NFC: [0x107B5], NFD: [0x107B5], NFKC: [0x0298], NFKD: [0x0298] }, -{ source: [0x107B6], NFC: [0x107B6], NFD: [0x107B6], NFKC: [0x01C0], NFKD: [0x01C0] }, -{ source: [0x107B7], NFC: [0x107B7], NFD: [0x107B7], NFKC: [0x01C1], NFKD: [0x01C1] }, -{ source: [0x107B8], NFC: [0x107B8], NFD: [0x107B8], NFKC: [0x01C2], NFKD: [0x01C2] }, -{ source: [0x107B9], NFC: [0x107B9], NFD: [0x107B9], NFKC: [0x1DF0A], NFKD: [0x1DF0A] }, -{ source: [0x107BA], NFC: [0x107BA], NFD: [0x107BA], NFKC: [0x1DF1E], NFKD: [0x1DF1E] }, -{ source: [0x1109A], NFC: [0x1109A], NFD: [0x11099, 0x110BA], NFKC: [0x1109A], NFKD: [0x11099, 0x110BA] }, -{ source: [0x1109C], NFC: [0x1109C], NFD: [0x1109B, 0x110BA], NFKC: [0x1109C], NFKD: [0x1109B, 0x110BA] }, -{ source: [0x110AB], NFC: [0x110AB], NFD: [0x110A5, 0x110BA], NFKC: [0x110AB], NFKD: [0x110A5, 0x110BA] }, -{ source: [0x1112E], NFC: [0x1112E], NFD: [0x11131, 0x11127], NFKC: [0x1112E], NFKD: [0x11131, 0x11127] }, -{ source: [0x1112F], NFC: [0x1112F], NFD: [0x11132, 0x11127], NFKC: [0x1112F], NFKD: [0x11132, 0x11127] }, -{ source: [0x1134B], NFC: [0x1134B], NFD: [0x11347, 0x1133E], NFKC: [0x1134B], NFKD: [0x11347, 0x1133E] }, -{ source: [0x1134C], NFC: [0x1134C], NFD: [0x11347, 0x11357], NFKC: [0x1134C], NFKD: [0x11347, 0x11357] }, -{ source: [0x11383], NFC: [0x11383], NFD: [0x11382, 0x113C9], NFKC: [0x11383], NFKD: [0x11382, 0x113C9] }, -{ source: [0x11385], NFC: [0x11385], NFD: [0x11384, 0x113BB], NFKC: [0x11385], NFKD: [0x11384, 0x113BB] }, -{ source: [0x1138E], NFC: [0x1138E], NFD: [0x1138B, 0x113C2], NFKC: [0x1138E], NFKD: [0x1138B, 0x113C2] }, -{ source: [0x11391], NFC: [0x11391], NFD: [0x11390, 0x113C9], NFKC: [0x11391], NFKD: [0x11390, 0x113C9] }, -{ source: [0x113C5], NFC: [0x113C5], NFD: [0x113C2, 0x113C2], NFKC: [0x113C5], NFKD: [0x113C2, 0x113C2] }, -{ source: [0x113C7], NFC: [0x113C7], NFD: [0x113C2, 0x113B8], NFKC: [0x113C7], NFKD: [0x113C2, 0x113B8] }, -{ source: [0x113C8], NFC: [0x113C8], NFD: [0x113C2, 0x113C9], NFKC: [0x113C8], NFKD: [0x113C2, 0x113C9] }, -{ source: [0x114BB], NFC: [0x114BB], NFD: [0x114B9, 0x114BA], NFKC: [0x114BB], NFKD: [0x114B9, 0x114BA] }, -{ source: [0x114BC], NFC: [0x114BC], NFD: [0x114B9, 0x114B0], NFKC: [0x114BC], NFKD: [0x114B9, 0x114B0] }, -{ source: [0x114BE], NFC: [0x114BE], NFD: [0x114B9, 0x114BD], NFKC: [0x114BE], NFKD: [0x114B9, 0x114BD] }, -{ source: [0x115BA], NFC: [0x115BA], NFD: [0x115B8, 0x115AF], NFKC: [0x115BA], NFKD: [0x115B8, 0x115AF] }, -{ source: [0x115BB], NFC: [0x115BB], NFD: [0x115B9, 0x115AF], NFKC: [0x115BB], NFKD: [0x115B9, 0x115AF] }, -{ source: [0x11938], NFC: [0x11938], NFD: [0x11935, 0x11930], NFKC: [0x11938], NFKD: [0x11935, 0x11930] }, -{ source: [0x16121], NFC: [0x16121], NFD: [0x1611E, 0x1611E], NFKC: [0x16121], NFKD: [0x1611E, 0x1611E] }, -{ source: [0x16122], NFC: [0x16122], NFD: [0x1611E, 0x16129], NFKC: [0x16122], NFKD: [0x1611E, 0x16129] }, -{ source: [0x16123], NFC: [0x16123], NFD: [0x1611E, 0x1611F], NFKC: [0x16123], NFKD: [0x1611E, 0x1611F] }, -{ source: [0x16124], NFC: [0x16124], NFD: [0x16129, 0x1611F], NFKC: [0x16124], NFKD: [0x16129, 0x1611F] }, -{ source: [0x16125], NFC: [0x16125], NFD: [0x1611E, 0x16120], NFKC: [0x16125], NFKD: [0x1611E, 0x16120] }, -{ source: [0x16126], NFC: [0x16126], NFD: [0x1611E, 0x1611E, 0x1611F], NFKC: [0x16126], NFKD: [0x1611E, 0x1611E, 0x1611F] }, -{ source: [0x16127], NFC: [0x16127], NFD: [0x1611E, 0x16129, 0x1611F], NFKC: [0x16127], NFKD: [0x1611E, 0x16129, 0x1611F] }, -{ source: [0x16128], NFC: [0x16128], NFD: [0x1611E, 0x1611E, 0x16120], NFKC: [0x16128], NFKD: [0x1611E, 0x1611E, 0x16120] }, -{ source: [0x16D68], NFC: [0x16D68], NFD: [0x16D67, 0x16D67], NFKC: [0x16D68], NFKD: [0x16D67, 0x16D67] }, -{ source: [0x16D69], NFC: [0x16D69], NFD: [0x16D63, 0x16D67], NFKC: [0x16D69], NFKD: [0x16D63, 0x16D67] }, -{ source: [0x16D6A], NFC: [0x16D6A], NFD: [0x16D63, 0x16D67, 0x16D67], NFKC: [0x16D6A], NFKD: [0x16D63, 0x16D67, 0x16D67] }, -{ source: [0x1CCD6], NFC: [0x1CCD6], NFD: [0x1CCD6], NFKC: [0x0041], NFKD: [0x0041] }, -{ source: [0x1CCD7], NFC: [0x1CCD7], NFD: [0x1CCD7], NFKC: [0x0042], NFKD: [0x0042] }, -{ source: [0x1CCD8], NFC: [0x1CCD8], NFD: [0x1CCD8], NFKC: [0x0043], NFKD: [0x0043] }, -{ source: [0x1CCD9], NFC: [0x1CCD9], NFD: [0x1CCD9], NFKC: [0x0044], NFKD: [0x0044] }, -{ source: [0x1CCDA], NFC: [0x1CCDA], NFD: [0x1CCDA], NFKC: [0x0045], NFKD: [0x0045] }, -{ source: [0x1CCDB], NFC: [0x1CCDB], NFD: [0x1CCDB], NFKC: [0x0046], NFKD: [0x0046] }, -{ source: [0x1CCDC], NFC: [0x1CCDC], NFD: [0x1CCDC], NFKC: [0x0047], NFKD: [0x0047] }, -{ source: [0x1CCDD], NFC: [0x1CCDD], NFD: [0x1CCDD], NFKC: [0x0048], NFKD: [0x0048] }, -{ source: [0x1CCDE], NFC: [0x1CCDE], NFD: [0x1CCDE], NFKC: [0x0049], NFKD: [0x0049] }, -{ source: [0x1CCDF], NFC: [0x1CCDF], NFD: [0x1CCDF], NFKC: [0x004A], NFKD: [0x004A] }, -{ source: [0x1CCE0], NFC: [0x1CCE0], NFD: [0x1CCE0], NFKC: [0x004B], NFKD: [0x004B] }, -{ source: [0x1CCE1], NFC: [0x1CCE1], NFD: [0x1CCE1], NFKC: [0x004C], NFKD: [0x004C] }, -{ source: [0x1CCE2], NFC: [0x1CCE2], NFD: [0x1CCE2], NFKC: [0x004D], NFKD: [0x004D] }, -{ source: [0x1CCE3], NFC: [0x1CCE3], NFD: [0x1CCE3], NFKC: [0x004E], NFKD: [0x004E] }, -{ source: [0x1CCE4], NFC: [0x1CCE4], NFD: [0x1CCE4], NFKC: [0x004F], NFKD: [0x004F] }, -{ source: [0x1CCE5], NFC: [0x1CCE5], NFD: [0x1CCE5], NFKC: [0x0050], NFKD: [0x0050] }, -{ source: [0x1CCE6], NFC: [0x1CCE6], NFD: [0x1CCE6], NFKC: [0x0051], NFKD: [0x0051] }, -{ source: [0x1CCE7], NFC: [0x1CCE7], NFD: [0x1CCE7], NFKC: [0x0052], NFKD: [0x0052] }, -{ source: [0x1CCE8], NFC: [0x1CCE8], NFD: [0x1CCE8], NFKC: [0x0053], NFKD: [0x0053] }, -{ source: [0x1CCE9], NFC: [0x1CCE9], NFD: [0x1CCE9], NFKC: [0x0054], NFKD: [0x0054] }, -{ source: [0x1CCEA], NFC: [0x1CCEA], NFD: [0x1CCEA], NFKC: [0x0055], NFKD: [0x0055] }, -{ source: [0x1CCEB], NFC: [0x1CCEB], NFD: [0x1CCEB], NFKC: [0x0056], NFKD: [0x0056] }, -{ source: [0x1CCEC], NFC: [0x1CCEC], NFD: [0x1CCEC], NFKC: [0x0057], NFKD: [0x0057] }, -{ source: [0x1CCED], NFC: [0x1CCED], NFD: [0x1CCED], NFKC: [0x0058], NFKD: [0x0058] }, -{ source: [0x1CCEE], NFC: [0x1CCEE], NFD: [0x1CCEE], NFKC: [0x0059], NFKD: [0x0059] }, -{ source: [0x1CCEF], NFC: [0x1CCEF], NFD: [0x1CCEF], NFKC: [0x005A], NFKD: [0x005A] }, -{ source: [0x1CCF0], NFC: [0x1CCF0], NFD: [0x1CCF0], NFKC: [0x0030], NFKD: [0x0030] }, -{ source: [0x1CCF1], NFC: [0x1CCF1], NFD: [0x1CCF1], NFKC: [0x0031], NFKD: [0x0031] }, -{ source: [0x1CCF2], NFC: [0x1CCF2], NFD: [0x1CCF2], NFKC: [0x0032], NFKD: [0x0032] }, -{ source: [0x1CCF3], NFC: [0x1CCF3], NFD: [0x1CCF3], NFKC: [0x0033], NFKD: [0x0033] }, -{ source: [0x1CCF4], NFC: [0x1CCF4], NFD: [0x1CCF4], NFKC: [0x0034], NFKD: [0x0034] }, -{ source: [0x1CCF5], NFC: [0x1CCF5], NFD: [0x1CCF5], NFKC: [0x0035], NFKD: [0x0035] }, -{ source: [0x1CCF6], NFC: [0x1CCF6], NFD: [0x1CCF6], NFKC: [0x0036], NFKD: [0x0036] }, -{ source: [0x1CCF7], NFC: [0x1CCF7], NFD: [0x1CCF7], NFKC: [0x0037], NFKD: [0x0037] }, -{ source: [0x1CCF8], NFC: [0x1CCF8], NFD: [0x1CCF8], NFKC: [0x0038], NFKD: [0x0038] }, -{ source: [0x1CCF9], NFC: [0x1CCF9], NFD: [0x1CCF9], NFKC: [0x0039], NFKD: [0x0039] }, -{ source: [0x1D15E], NFC: [0x1D157, 0x1D165], NFD: [0x1D157, 0x1D165], NFKC: [0x1D157, 0x1D165], NFKD: [0x1D157, 0x1D165] }, -{ source: [0x1D15F], NFC: [0x1D158, 0x1D165], NFD: [0x1D158, 0x1D165], NFKC: [0x1D158, 0x1D165], NFKD: [0x1D158, 0x1D165] }, -{ source: [0x1D160], NFC: [0x1D158, 0x1D165, 0x1D16E], NFD: [0x1D158, 0x1D165, 0x1D16E], NFKC: [0x1D158, 0x1D165, 0x1D16E], NFKD: [0x1D158, 0x1D165, 0x1D16E] }, -{ source: [0x1D161], NFC: [0x1D158, 0x1D165, 0x1D16F], NFD: [0x1D158, 0x1D165, 0x1D16F], NFKC: [0x1D158, 0x1D165, 0x1D16F], NFKD: [0x1D158, 0x1D165, 0x1D16F] }, -{ source: [0x1D162], NFC: [0x1D158, 0x1D165, 0x1D170], NFD: [0x1D158, 0x1D165, 0x1D170], NFKC: [0x1D158, 0x1D165, 0x1D170], NFKD: [0x1D158, 0x1D165, 0x1D170] }, -{ source: [0x1D163], NFC: [0x1D158, 0x1D165, 0x1D171], NFD: [0x1D158, 0x1D165, 0x1D171], NFKC: [0x1D158, 0x1D165, 0x1D171], NFKD: [0x1D158, 0x1D165, 0x1D171] }, -{ source: [0x1D164], NFC: [0x1D158, 0x1D165, 0x1D172], NFD: [0x1D158, 0x1D165, 0x1D172], NFKC: [0x1D158, 0x1D165, 0x1D172], NFKD: [0x1D158, 0x1D165, 0x1D172] }, -{ source: [0x1D1BB], NFC: [0x1D1B9, 0x1D165], NFD: [0x1D1B9, 0x1D165], NFKC: [0x1D1B9, 0x1D165], NFKD: [0x1D1B9, 0x1D165] }, -{ source: [0x1D1BC], NFC: [0x1D1BA, 0x1D165], NFD: [0x1D1BA, 0x1D165], NFKC: [0x1D1BA, 0x1D165], NFKD: [0x1D1BA, 0x1D165] }, -{ source: [0x1D1BD], NFC: [0x1D1B9, 0x1D165, 0x1D16E], NFD: [0x1D1B9, 0x1D165, 0x1D16E], NFKC: [0x1D1B9, 0x1D165, 0x1D16E], NFKD: [0x1D1B9, 0x1D165, 0x1D16E] }, -{ source: [0x1D1BE], NFC: [0x1D1BA, 0x1D165, 0x1D16E], NFD: [0x1D1BA, 0x1D165, 0x1D16E], NFKC: [0x1D1BA, 0x1D165, 0x1D16E], NFKD: [0x1D1BA, 0x1D165, 0x1D16E] }, -{ source: [0x1D1BF], NFC: [0x1D1B9, 0x1D165, 0x1D16F], NFD: [0x1D1B9, 0x1D165, 0x1D16F], NFKC: [0x1D1B9, 0x1D165, 0x1D16F], NFKD: [0x1D1B9, 0x1D165, 0x1D16F] }, -{ source: [0x1D1C0], NFC: [0x1D1BA, 0x1D165, 0x1D16F], NFD: [0x1D1BA, 0x1D165, 0x1D16F], NFKC: [0x1D1BA, 0x1D165, 0x1D16F], NFKD: [0x1D1BA, 0x1D165, 0x1D16F] }, -{ source: [0x1D400], NFC: [0x1D400], NFD: [0x1D400], NFKC: [0x0041], NFKD: [0x0041] }, -{ source: [0x1D401], NFC: [0x1D401], NFD: [0x1D401], NFKC: [0x0042], NFKD: [0x0042] }, -{ source: [0x1D402], NFC: [0x1D402], NFD: [0x1D402], NFKC: [0x0043], NFKD: [0x0043] }, -{ source: [0x1D403], NFC: [0x1D403], NFD: [0x1D403], NFKC: [0x0044], NFKD: [0x0044] }, -{ source: [0x1D404], NFC: [0x1D404], NFD: [0x1D404], NFKC: [0x0045], NFKD: [0x0045] }, -{ source: [0x1D405], NFC: [0x1D405], NFD: [0x1D405], NFKC: [0x0046], NFKD: [0x0046] }, -{ source: [0x1D406], NFC: [0x1D406], NFD: [0x1D406], NFKC: [0x0047], NFKD: [0x0047] }, -{ source: [0x1D407], NFC: [0x1D407], NFD: [0x1D407], NFKC: [0x0048], NFKD: [0x0048] }, -{ source: [0x1D408], NFC: [0x1D408], NFD: [0x1D408], NFKC: [0x0049], NFKD: [0x0049] }, -{ source: [0x1D409], NFC: [0x1D409], NFD: [0x1D409], NFKC: [0x004A], NFKD: [0x004A] }, -{ source: [0x1D40A], NFC: [0x1D40A], NFD: [0x1D40A], NFKC: [0x004B], NFKD: [0x004B] }, -{ source: [0x1D40B], NFC: [0x1D40B], NFD: [0x1D40B], NFKC: [0x004C], NFKD: [0x004C] }, -{ source: [0x1D40C], NFC: [0x1D40C], NFD: [0x1D40C], NFKC: [0x004D], NFKD: [0x004D] }, -{ source: [0x1D40D], NFC: [0x1D40D], NFD: [0x1D40D], NFKC: [0x004E], NFKD: [0x004E] }, -{ source: [0x1D40E], NFC: [0x1D40E], NFD: [0x1D40E], NFKC: [0x004F], NFKD: [0x004F] }, -{ source: [0x1D40F], NFC: [0x1D40F], NFD: [0x1D40F], NFKC: [0x0050], NFKD: [0x0050] }, -{ source: [0x1D410], NFC: [0x1D410], NFD: [0x1D410], NFKC: [0x0051], NFKD: [0x0051] }, -{ source: [0x1D411], NFC: [0x1D411], NFD: [0x1D411], NFKC: [0x0052], NFKD: [0x0052] }, -{ source: [0x1D412], NFC: [0x1D412], NFD: [0x1D412], NFKC: [0x0053], NFKD: [0x0053] }, -{ source: [0x1D413], NFC: [0x1D413], NFD: [0x1D413], NFKC: [0x0054], NFKD: [0x0054] }, -{ source: [0x1D414], NFC: [0x1D414], NFD: [0x1D414], NFKC: [0x0055], NFKD: [0x0055] }, -{ source: [0x1D415], NFC: [0x1D415], NFD: [0x1D415], NFKC: [0x0056], NFKD: [0x0056] }, -{ source: [0x1D416], NFC: [0x1D416], NFD: [0x1D416], NFKC: [0x0057], NFKD: [0x0057] }, -{ source: [0x1D417], NFC: [0x1D417], NFD: [0x1D417], NFKC: [0x0058], NFKD: [0x0058] }, -{ source: [0x1D418], NFC: [0x1D418], NFD: [0x1D418], NFKC: [0x0059], NFKD: [0x0059] }, -{ source: [0x1D419], NFC: [0x1D419], NFD: [0x1D419], NFKC: [0x005A], NFKD: [0x005A] }, -{ source: [0x1D41A], NFC: [0x1D41A], NFD: [0x1D41A], NFKC: [0x0061], NFKD: [0x0061] }, -{ source: [0x1D41B], NFC: [0x1D41B], NFD: [0x1D41B], NFKC: [0x0062], NFKD: [0x0062] }, -{ source: [0x1D41C], NFC: [0x1D41C], NFD: [0x1D41C], NFKC: [0x0063], NFKD: [0x0063] }, -{ source: [0x1D41D], NFC: [0x1D41D], NFD: [0x1D41D], NFKC: [0x0064], NFKD: [0x0064] }, -{ source: [0x1D41E], NFC: [0x1D41E], NFD: [0x1D41E], NFKC: [0x0065], NFKD: [0x0065] }, -{ source: [0x1D41F], NFC: [0x1D41F], NFD: [0x1D41F], NFKC: [0x0066], NFKD: [0x0066] }, -{ source: [0x1D420], NFC: [0x1D420], NFD: [0x1D420], NFKC: [0x0067], NFKD: [0x0067] }, -{ source: [0x1D421], NFC: [0x1D421], NFD: [0x1D421], NFKC: [0x0068], NFKD: [0x0068] }, -{ source: [0x1D422], NFC: [0x1D422], NFD: [0x1D422], NFKC: [0x0069], NFKD: [0x0069] }, -{ source: [0x1D423], NFC: [0x1D423], NFD: [0x1D423], NFKC: [0x006A], NFKD: [0x006A] }, -{ source: [0x1D424], NFC: [0x1D424], NFD: [0x1D424], NFKC: [0x006B], NFKD: [0x006B] }, -{ source: [0x1D425], NFC: [0x1D425], NFD: [0x1D425], NFKC: [0x006C], NFKD: [0x006C] }, -{ source: [0x1D426], NFC: [0x1D426], NFD: [0x1D426], NFKC: [0x006D], NFKD: [0x006D] }, -{ source: [0x1D427], NFC: [0x1D427], NFD: [0x1D427], NFKC: [0x006E], NFKD: [0x006E] }, -{ source: [0x1D428], NFC: [0x1D428], NFD: [0x1D428], NFKC: [0x006F], NFKD: [0x006F] }, -{ source: [0x1D429], NFC: [0x1D429], NFD: [0x1D429], NFKC: [0x0070], NFKD: [0x0070] }, -{ source: [0x1D42A], NFC: [0x1D42A], NFD: [0x1D42A], NFKC: [0x0071], NFKD: [0x0071] }, -{ source: [0x1D42B], NFC: [0x1D42B], NFD: [0x1D42B], NFKC: [0x0072], NFKD: [0x0072] }, -{ source: [0x1D42C], NFC: [0x1D42C], NFD: [0x1D42C], NFKC: [0x0073], NFKD: [0x0073] }, -{ source: [0x1D42D], NFC: [0x1D42D], NFD: [0x1D42D], NFKC: [0x0074], NFKD: [0x0074] }, -{ source: [0x1D42E], NFC: [0x1D42E], NFD: [0x1D42E], NFKC: [0x0075], NFKD: [0x0075] }, -{ source: [0x1D42F], NFC: [0x1D42F], NFD: [0x1D42F], NFKC: [0x0076], NFKD: [0x0076] }, -{ source: [0x1D430], NFC: [0x1D430], NFD: [0x1D430], NFKC: [0x0077], NFKD: [0x0077] }, -{ source: [0x1D431], NFC: [0x1D431], NFD: [0x1D431], NFKC: [0x0078], NFKD: [0x0078] }, -{ source: [0x1D432], NFC: [0x1D432], NFD: [0x1D432], NFKC: [0x0079], NFKD: [0x0079] }, -{ source: [0x1D433], NFC: [0x1D433], NFD: [0x1D433], NFKC: [0x007A], NFKD: [0x007A] }, -{ source: [0x1D434], NFC: [0x1D434], NFD: [0x1D434], NFKC: [0x0041], NFKD: [0x0041] }, -{ source: [0x1D435], NFC: [0x1D435], NFD: [0x1D435], NFKC: [0x0042], NFKD: [0x0042] }, -{ source: [0x1D436], NFC: [0x1D436], NFD: [0x1D436], NFKC: [0x0043], NFKD: [0x0043] }, -{ source: [0x1D437], NFC: [0x1D437], NFD: [0x1D437], NFKC: [0x0044], NFKD: [0x0044] }, -{ source: [0x1D438], NFC: [0x1D438], NFD: [0x1D438], NFKC: [0x0045], NFKD: [0x0045] }, -{ source: [0x1D439], NFC: [0x1D439], NFD: [0x1D439], NFKC: [0x0046], NFKD: [0x0046] }, -{ source: [0x1D43A], NFC: [0x1D43A], NFD: [0x1D43A], NFKC: [0x0047], NFKD: [0x0047] }, -{ source: [0x1D43B], NFC: [0x1D43B], NFD: [0x1D43B], NFKC: [0x0048], NFKD: [0x0048] }, -{ source: [0x1D43C], NFC: [0x1D43C], NFD: [0x1D43C], NFKC: [0x0049], NFKD: [0x0049] }, -{ source: [0x1D43D], NFC: [0x1D43D], NFD: [0x1D43D], NFKC: [0x004A], NFKD: [0x004A] }, -{ source: [0x1D43E], NFC: [0x1D43E], NFD: [0x1D43E], NFKC: [0x004B], NFKD: [0x004B] }, -{ source: [0x1D43F], NFC: [0x1D43F], NFD: [0x1D43F], NFKC: [0x004C], NFKD: [0x004C] }, -{ source: [0x1D440], NFC: [0x1D440], NFD: [0x1D440], NFKC: [0x004D], NFKD: [0x004D] }, -{ source: [0x1D441], NFC: [0x1D441], NFD: [0x1D441], NFKC: [0x004E], NFKD: [0x004E] }, -{ source: [0x1D442], NFC: [0x1D442], NFD: [0x1D442], NFKC: [0x004F], NFKD: [0x004F] }, -{ source: [0x1D443], NFC: [0x1D443], NFD: [0x1D443], NFKC: [0x0050], NFKD: [0x0050] }, -{ source: [0x1D444], NFC: [0x1D444], NFD: [0x1D444], NFKC: [0x0051], NFKD: [0x0051] }, -{ source: [0x1D445], NFC: [0x1D445], NFD: [0x1D445], NFKC: [0x0052], NFKD: [0x0052] }, -{ source: [0x1D446], NFC: [0x1D446], NFD: [0x1D446], NFKC: [0x0053], NFKD: [0x0053] }, -{ source: [0x1D447], NFC: [0x1D447], NFD: [0x1D447], NFKC: [0x0054], NFKD: [0x0054] }, -{ source: [0x1D448], NFC: [0x1D448], NFD: [0x1D448], NFKC: [0x0055], NFKD: [0x0055] }, -{ source: [0x1D449], NFC: [0x1D449], NFD: [0x1D449], NFKC: [0x0056], NFKD: [0x0056] }, -{ source: [0x1D44A], NFC: [0x1D44A], NFD: [0x1D44A], NFKC: [0x0057], NFKD: [0x0057] }, -{ source: [0x1D44B], NFC: [0x1D44B], NFD: [0x1D44B], NFKC: [0x0058], NFKD: [0x0058] }, -{ source: [0x1D44C], NFC: [0x1D44C], NFD: [0x1D44C], NFKC: [0x0059], NFKD: [0x0059] }, -{ source: [0x1D44D], NFC: [0x1D44D], NFD: [0x1D44D], NFKC: [0x005A], NFKD: [0x005A] }, -{ source: [0x1D44E], NFC: [0x1D44E], NFD: [0x1D44E], NFKC: [0x0061], NFKD: [0x0061] }, -{ source: [0x1D44F], NFC: [0x1D44F], NFD: [0x1D44F], NFKC: [0x0062], NFKD: [0x0062] }, -{ source: [0x1D450], NFC: [0x1D450], NFD: [0x1D450], NFKC: [0x0063], NFKD: [0x0063] }, -{ source: [0x1D451], NFC: [0x1D451], NFD: [0x1D451], NFKC: [0x0064], NFKD: [0x0064] }, -{ source: [0x1D452], NFC: [0x1D452], NFD: [0x1D452], NFKC: [0x0065], NFKD: [0x0065] }, -{ source: [0x1D453], NFC: [0x1D453], NFD: [0x1D453], NFKC: [0x0066], NFKD: [0x0066] }, -{ source: [0x1D454], NFC: [0x1D454], NFD: [0x1D454], NFKC: [0x0067], NFKD: [0x0067] }, -{ source: [0x1D456], NFC: [0x1D456], NFD: [0x1D456], NFKC: [0x0069], NFKD: [0x0069] }, -{ source: [0x1D457], NFC: [0x1D457], NFD: [0x1D457], NFKC: [0x006A], NFKD: [0x006A] }, -{ source: [0x1D458], NFC: [0x1D458], NFD: [0x1D458], NFKC: [0x006B], NFKD: [0x006B] }, -{ source: [0x1D459], NFC: [0x1D459], NFD: [0x1D459], NFKC: [0x006C], NFKD: [0x006C] }, -{ source: [0x1D45A], NFC: [0x1D45A], NFD: [0x1D45A], NFKC: [0x006D], NFKD: [0x006D] }, -{ source: [0x1D45B], NFC: [0x1D45B], NFD: [0x1D45B], NFKC: [0x006E], NFKD: [0x006E] }, -{ source: [0x1D45C], NFC: [0x1D45C], NFD: [0x1D45C], NFKC: [0x006F], NFKD: [0x006F] }, -{ source: [0x1D45D], NFC: [0x1D45D], NFD: [0x1D45D], NFKC: [0x0070], NFKD: [0x0070] }, -{ source: [0x1D45E], NFC: [0x1D45E], NFD: [0x1D45E], NFKC: [0x0071], NFKD: [0x0071] }, -{ source: [0x1D45F], NFC: [0x1D45F], NFD: [0x1D45F], NFKC: [0x0072], NFKD: [0x0072] }, -{ source: [0x1D460], NFC: [0x1D460], NFD: [0x1D460], NFKC: [0x0073], NFKD: [0x0073] }, -{ source: [0x1D461], NFC: [0x1D461], NFD: [0x1D461], NFKC: [0x0074], NFKD: [0x0074] }, -{ source: [0x1D462], NFC: [0x1D462], NFD: [0x1D462], NFKC: [0x0075], NFKD: [0x0075] }, -{ source: [0x1D463], NFC: [0x1D463], NFD: [0x1D463], NFKC: [0x0076], NFKD: [0x0076] }, -{ source: [0x1D464], NFC: [0x1D464], NFD: [0x1D464], NFKC: [0x0077], NFKD: [0x0077] }, -{ source: [0x1D465], NFC: [0x1D465], NFD: [0x1D465], NFKC: [0x0078], NFKD: [0x0078] }, -{ source: [0x1D466], NFC: [0x1D466], NFD: [0x1D466], NFKC: [0x0079], NFKD: [0x0079] }, -{ source: [0x1D467], NFC: [0x1D467], NFD: [0x1D467], NFKC: [0x007A], NFKD: [0x007A] }, -{ source: [0x1D468], NFC: [0x1D468], NFD: [0x1D468], NFKC: [0x0041], NFKD: [0x0041] }, -{ source: [0x1D469], NFC: [0x1D469], NFD: [0x1D469], NFKC: [0x0042], NFKD: [0x0042] }, -{ source: [0x1D46A], NFC: [0x1D46A], NFD: [0x1D46A], NFKC: [0x0043], NFKD: [0x0043] }, -{ source: [0x1D46B], NFC: [0x1D46B], NFD: [0x1D46B], NFKC: [0x0044], NFKD: [0x0044] }, -{ source: [0x1D46C], NFC: [0x1D46C], NFD: [0x1D46C], NFKC: [0x0045], NFKD: [0x0045] }, -{ source: [0x1D46D], NFC: [0x1D46D], NFD: [0x1D46D], NFKC: [0x0046], NFKD: [0x0046] }, -{ source: [0x1D46E], NFC: [0x1D46E], NFD: [0x1D46E], NFKC: [0x0047], NFKD: [0x0047] }, -{ source: [0x1D46F], NFC: [0x1D46F], NFD: [0x1D46F], NFKC: [0x0048], NFKD: [0x0048] }, -{ source: [0x1D470], NFC: [0x1D470], NFD: [0x1D470], NFKC: [0x0049], NFKD: [0x0049] }, -{ source: [0x1D471], NFC: [0x1D471], NFD: [0x1D471], NFKC: [0x004A], NFKD: [0x004A] }, -{ source: [0x1D472], NFC: [0x1D472], NFD: [0x1D472], NFKC: [0x004B], NFKD: [0x004B] }, -{ source: [0x1D473], NFC: [0x1D473], NFD: [0x1D473], NFKC: [0x004C], NFKD: [0x004C] }, -{ source: [0x1D474], NFC: [0x1D474], NFD: [0x1D474], NFKC: [0x004D], NFKD: [0x004D] }, -{ source: [0x1D475], NFC: [0x1D475], NFD: [0x1D475], NFKC: [0x004E], NFKD: [0x004E] }, -{ source: [0x1D476], NFC: [0x1D476], NFD: [0x1D476], NFKC: [0x004F], NFKD: [0x004F] }, -{ source: [0x1D477], NFC: [0x1D477], NFD: [0x1D477], NFKC: [0x0050], NFKD: [0x0050] }, -{ source: [0x1D478], NFC: [0x1D478], NFD: [0x1D478], NFKC: [0x0051], NFKD: [0x0051] }, -{ source: [0x1D479], NFC: [0x1D479], NFD: [0x1D479], NFKC: [0x0052], NFKD: [0x0052] }, -{ source: [0x1D47A], NFC: [0x1D47A], NFD: [0x1D47A], NFKC: [0x0053], NFKD: [0x0053] }, -{ source: [0x1D47B], NFC: [0x1D47B], NFD: [0x1D47B], NFKC: [0x0054], NFKD: [0x0054] }, -{ source: [0x1D47C], NFC: [0x1D47C], NFD: [0x1D47C], NFKC: [0x0055], NFKD: [0x0055] }, -{ source: [0x1D47D], NFC: [0x1D47D], NFD: [0x1D47D], NFKC: [0x0056], NFKD: [0x0056] }, -{ source: [0x1D47E], NFC: [0x1D47E], NFD: [0x1D47E], NFKC: [0x0057], NFKD: [0x0057] }, -{ source: [0x1D47F], NFC: [0x1D47F], NFD: [0x1D47F], NFKC: [0x0058], NFKD: [0x0058] }, -{ source: [0x1D480], NFC: [0x1D480], NFD: [0x1D480], NFKC: [0x0059], NFKD: [0x0059] }, -{ source: [0x1D481], NFC: [0x1D481], NFD: [0x1D481], NFKC: [0x005A], NFKD: [0x005A] }, -{ source: [0x1D482], NFC: [0x1D482], NFD: [0x1D482], NFKC: [0x0061], NFKD: [0x0061] }, -{ source: [0x1D483], NFC: [0x1D483], NFD: [0x1D483], NFKC: [0x0062], NFKD: [0x0062] }, -{ source: [0x1D484], NFC: [0x1D484], NFD: [0x1D484], NFKC: [0x0063], NFKD: [0x0063] }, -{ source: [0x1D485], NFC: [0x1D485], NFD: [0x1D485], NFKC: [0x0064], NFKD: [0x0064] }, -{ source: [0x1D486], NFC: [0x1D486], NFD: [0x1D486], NFKC: [0x0065], NFKD: [0x0065] }, -{ source: [0x1D487], NFC: [0x1D487], NFD: [0x1D487], NFKC: [0x0066], NFKD: [0x0066] }, -{ source: [0x1D488], NFC: [0x1D488], NFD: [0x1D488], NFKC: [0x0067], NFKD: [0x0067] }, -{ source: [0x1D489], NFC: [0x1D489], NFD: [0x1D489], NFKC: [0x0068], NFKD: [0x0068] }, -{ source: [0x1D48A], NFC: [0x1D48A], NFD: [0x1D48A], NFKC: [0x0069], NFKD: [0x0069] }, -{ source: [0x1D48B], NFC: [0x1D48B], NFD: [0x1D48B], NFKC: [0x006A], NFKD: [0x006A] }, -{ source: [0x1D48C], NFC: [0x1D48C], NFD: [0x1D48C], NFKC: [0x006B], NFKD: [0x006B] }, -{ source: [0x1D48D], NFC: [0x1D48D], NFD: [0x1D48D], NFKC: [0x006C], NFKD: [0x006C] }, -{ source: [0x1D48E], NFC: [0x1D48E], NFD: [0x1D48E], NFKC: [0x006D], NFKD: [0x006D] }, -{ source: [0x1D48F], NFC: [0x1D48F], NFD: [0x1D48F], NFKC: [0x006E], NFKD: [0x006E] }, -{ source: [0x1D490], NFC: [0x1D490], NFD: [0x1D490], NFKC: [0x006F], NFKD: [0x006F] }, -{ source: [0x1D491], NFC: [0x1D491], NFD: [0x1D491], NFKC: [0x0070], NFKD: [0x0070] }, -{ source: [0x1D492], NFC: [0x1D492], NFD: [0x1D492], NFKC: [0x0071], NFKD: [0x0071] }, -{ source: [0x1D493], NFC: [0x1D493], NFD: [0x1D493], NFKC: [0x0072], NFKD: [0x0072] }, -{ source: [0x1D494], NFC: [0x1D494], NFD: [0x1D494], NFKC: [0x0073], NFKD: [0x0073] }, -{ source: [0x1D495], NFC: [0x1D495], NFD: [0x1D495], NFKC: [0x0074], NFKD: [0x0074] }, -{ source: [0x1D496], NFC: [0x1D496], NFD: [0x1D496], NFKC: [0x0075], NFKD: [0x0075] }, -{ source: [0x1D497], NFC: [0x1D497], NFD: [0x1D497], NFKC: [0x0076], NFKD: [0x0076] }, -{ source: [0x1D498], NFC: [0x1D498], NFD: [0x1D498], NFKC: [0x0077], NFKD: [0x0077] }, -{ source: [0x1D499], NFC: [0x1D499], NFD: [0x1D499], NFKC: [0x0078], NFKD: [0x0078] }, -{ source: [0x1D49A], NFC: [0x1D49A], NFD: [0x1D49A], NFKC: [0x0079], NFKD: [0x0079] }, -{ source: [0x1D49B], NFC: [0x1D49B], NFD: [0x1D49B], NFKC: [0x007A], NFKD: [0x007A] }, -{ source: [0x1D49C], NFC: [0x1D49C], NFD: [0x1D49C], NFKC: [0x0041], NFKD: [0x0041] }, -{ source: [0x1D49E], NFC: [0x1D49E], NFD: [0x1D49E], NFKC: [0x0043], NFKD: [0x0043] }, -{ source: [0x1D49F], NFC: [0x1D49F], NFD: [0x1D49F], NFKC: [0x0044], NFKD: [0x0044] }, -{ source: [0x1D4A2], NFC: [0x1D4A2], NFD: [0x1D4A2], NFKC: [0x0047], NFKD: [0x0047] }, -{ source: [0x1D4A5], NFC: [0x1D4A5], NFD: [0x1D4A5], NFKC: [0x004A], NFKD: [0x004A] }, -{ source: [0x1D4A6], NFC: [0x1D4A6], NFD: [0x1D4A6], NFKC: [0x004B], NFKD: [0x004B] }, -{ source: [0x1D4A9], NFC: [0x1D4A9], NFD: [0x1D4A9], NFKC: [0x004E], NFKD: [0x004E] }, -{ source: [0x1D4AA], NFC: [0x1D4AA], NFD: [0x1D4AA], NFKC: [0x004F], NFKD: [0x004F] }, -{ source: [0x1D4AB], NFC: [0x1D4AB], NFD: [0x1D4AB], NFKC: [0x0050], NFKD: [0x0050] }, -{ source: [0x1D4AC], NFC: [0x1D4AC], NFD: [0x1D4AC], NFKC: [0x0051], NFKD: [0x0051] }, -{ source: [0x1D4AE], NFC: [0x1D4AE], NFD: [0x1D4AE], NFKC: [0x0053], NFKD: [0x0053] }, -{ source: [0x1D4AF], NFC: [0x1D4AF], NFD: [0x1D4AF], NFKC: [0x0054], NFKD: [0x0054] }, -{ source: [0x1D4B0], NFC: [0x1D4B0], NFD: [0x1D4B0], NFKC: [0x0055], NFKD: [0x0055] }, -{ source: [0x1D4B1], NFC: [0x1D4B1], NFD: [0x1D4B1], NFKC: [0x0056], NFKD: [0x0056] }, -{ source: [0x1D4B2], NFC: [0x1D4B2], NFD: [0x1D4B2], NFKC: [0x0057], NFKD: [0x0057] }, -{ source: [0x1D4B3], NFC: [0x1D4B3], NFD: [0x1D4B3], NFKC: [0x0058], NFKD: [0x0058] }, -{ source: [0x1D4B4], NFC: [0x1D4B4], NFD: [0x1D4B4], NFKC: [0x0059], NFKD: [0x0059] }, -{ source: [0x1D4B5], NFC: [0x1D4B5], NFD: [0x1D4B5], NFKC: [0x005A], NFKD: [0x005A] }, -{ source: [0x1D4B6], NFC: [0x1D4B6], NFD: [0x1D4B6], NFKC: [0x0061], NFKD: [0x0061] }, -{ source: [0x1D4B7], NFC: [0x1D4B7], NFD: [0x1D4B7], NFKC: [0x0062], NFKD: [0x0062] }, -{ source: [0x1D4B8], NFC: [0x1D4B8], NFD: [0x1D4B8], NFKC: [0x0063], NFKD: [0x0063] }, -{ source: [0x1D4B9], NFC: [0x1D4B9], NFD: [0x1D4B9], NFKC: [0x0064], NFKD: [0x0064] }, -{ source: [0x1D4BB], NFC: [0x1D4BB], NFD: [0x1D4BB], NFKC: [0x0066], NFKD: [0x0066] }, -{ source: [0x1D4BD], NFC: [0x1D4BD], NFD: [0x1D4BD], NFKC: [0x0068], NFKD: [0x0068] }, -{ source: [0x1D4BE], NFC: [0x1D4BE], NFD: [0x1D4BE], NFKC: [0x0069], NFKD: [0x0069] }, -{ source: [0x1D4BF], NFC: [0x1D4BF], NFD: [0x1D4BF], NFKC: [0x006A], NFKD: [0x006A] }, -{ source: [0x1D4C0], NFC: [0x1D4C0], NFD: [0x1D4C0], NFKC: [0x006B], NFKD: [0x006B] }, -{ source: [0x1D4C1], NFC: [0x1D4C1], NFD: [0x1D4C1], NFKC: [0x006C], NFKD: [0x006C] }, -{ source: [0x1D4C2], NFC: [0x1D4C2], NFD: [0x1D4C2], NFKC: [0x006D], NFKD: [0x006D] }, -{ source: [0x1D4C3], NFC: [0x1D4C3], NFD: [0x1D4C3], NFKC: [0x006E], NFKD: [0x006E] }, -{ source: [0x1D4C5], NFC: [0x1D4C5], NFD: [0x1D4C5], NFKC: [0x0070], NFKD: [0x0070] }, -{ source: [0x1D4C6], NFC: [0x1D4C6], NFD: [0x1D4C6], NFKC: [0x0071], NFKD: [0x0071] }, -{ source: [0x1D4C7], NFC: [0x1D4C7], NFD: [0x1D4C7], NFKC: [0x0072], NFKD: [0x0072] }, -{ source: [0x1D4C8], NFC: [0x1D4C8], NFD: [0x1D4C8], NFKC: [0x0073], NFKD: [0x0073] }, -{ source: [0x1D4C9], NFC: [0x1D4C9], NFD: [0x1D4C9], NFKC: [0x0074], NFKD: [0x0074] }, -{ source: [0x1D4CA], NFC: [0x1D4CA], NFD: [0x1D4CA], NFKC: [0x0075], NFKD: [0x0075] }, -{ source: [0x1D4CB], NFC: [0x1D4CB], NFD: [0x1D4CB], NFKC: [0x0076], NFKD: [0x0076] }, -{ source: [0x1D4CC], NFC: [0x1D4CC], NFD: [0x1D4CC], NFKC: [0x0077], NFKD: [0x0077] }, -{ source: [0x1D4CD], NFC: [0x1D4CD], NFD: [0x1D4CD], NFKC: [0x0078], NFKD: [0x0078] }, -{ source: [0x1D4CE], NFC: [0x1D4CE], NFD: [0x1D4CE], NFKC: [0x0079], NFKD: [0x0079] }, -{ source: [0x1D4CF], NFC: [0x1D4CF], NFD: [0x1D4CF], NFKC: [0x007A], NFKD: [0x007A] }, -{ source: [0x1D4D0], NFC: [0x1D4D0], NFD: [0x1D4D0], NFKC: [0x0041], NFKD: [0x0041] }, -{ source: [0x1D4D1], NFC: [0x1D4D1], NFD: [0x1D4D1], NFKC: [0x0042], NFKD: [0x0042] }, -{ source: [0x1D4D2], NFC: [0x1D4D2], NFD: [0x1D4D2], NFKC: [0x0043], NFKD: [0x0043] }, -{ source: [0x1D4D3], NFC: [0x1D4D3], NFD: [0x1D4D3], NFKC: [0x0044], NFKD: [0x0044] }, -{ source: [0x1D4D4], NFC: [0x1D4D4], NFD: [0x1D4D4], NFKC: [0x0045], NFKD: [0x0045] }, -{ source: [0x1D4D5], NFC: [0x1D4D5], NFD: [0x1D4D5], NFKC: [0x0046], NFKD: [0x0046] }, -{ source: [0x1D4D6], NFC: [0x1D4D6], NFD: [0x1D4D6], NFKC: [0x0047], NFKD: [0x0047] }, -{ source: [0x1D4D7], NFC: [0x1D4D7], NFD: [0x1D4D7], NFKC: [0x0048], NFKD: [0x0048] }, -{ source: [0x1D4D8], NFC: [0x1D4D8], NFD: [0x1D4D8], NFKC: [0x0049], NFKD: [0x0049] }, -{ source: [0x1D4D9], NFC: [0x1D4D9], NFD: [0x1D4D9], NFKC: [0x004A], NFKD: [0x004A] }, -{ source: [0x1D4DA], NFC: [0x1D4DA], NFD: [0x1D4DA], NFKC: [0x004B], NFKD: [0x004B] }, -{ source: [0x1D4DB], NFC: [0x1D4DB], NFD: [0x1D4DB], NFKC: [0x004C], NFKD: [0x004C] }, -{ source: [0x1D4DC], NFC: [0x1D4DC], NFD: [0x1D4DC], NFKC: [0x004D], NFKD: [0x004D] }, -{ source: [0x1D4DD], NFC: [0x1D4DD], NFD: [0x1D4DD], NFKC: [0x004E], NFKD: [0x004E] }, -{ source: [0x1D4DE], NFC: [0x1D4DE], NFD: [0x1D4DE], NFKC: [0x004F], NFKD: [0x004F] }, -{ source: [0x1D4DF], NFC: [0x1D4DF], NFD: [0x1D4DF], NFKC: [0x0050], NFKD: [0x0050] }, -{ source: [0x1D4E0], NFC: [0x1D4E0], NFD: [0x1D4E0], NFKC: [0x0051], NFKD: [0x0051] }, -{ source: [0x1D4E1], NFC: [0x1D4E1], NFD: [0x1D4E1], NFKC: [0x0052], NFKD: [0x0052] }, -{ source: [0x1D4E2], NFC: [0x1D4E2], NFD: [0x1D4E2], NFKC: [0x0053], NFKD: [0x0053] }, -{ source: [0x1D4E3], NFC: [0x1D4E3], NFD: [0x1D4E3], NFKC: [0x0054], NFKD: [0x0054] }, -{ source: [0x1D4E4], NFC: [0x1D4E4], NFD: [0x1D4E4], NFKC: [0x0055], NFKD: [0x0055] }, -{ source: [0x1D4E5], NFC: [0x1D4E5], NFD: [0x1D4E5], NFKC: [0x0056], NFKD: [0x0056] }, -{ source: [0x1D4E6], NFC: [0x1D4E6], NFD: [0x1D4E6], NFKC: [0x0057], NFKD: [0x0057] }, -{ source: [0x1D4E7], NFC: [0x1D4E7], NFD: [0x1D4E7], NFKC: [0x0058], NFKD: [0x0058] }, -{ source: [0x1D4E8], NFC: [0x1D4E8], NFD: [0x1D4E8], NFKC: [0x0059], NFKD: [0x0059] }, -{ source: [0x1D4E9], NFC: [0x1D4E9], NFD: [0x1D4E9], NFKC: [0x005A], NFKD: [0x005A] }, -{ source: [0x1D4EA], NFC: [0x1D4EA], NFD: [0x1D4EA], NFKC: [0x0061], NFKD: [0x0061] }, -{ source: [0x1D4EB], NFC: [0x1D4EB], NFD: [0x1D4EB], NFKC: [0x0062], NFKD: [0x0062] }, -{ source: [0x1D4EC], NFC: [0x1D4EC], NFD: [0x1D4EC], NFKC: [0x0063], NFKD: [0x0063] }, -{ source: [0x1D4ED], NFC: [0x1D4ED], NFD: [0x1D4ED], NFKC: [0x0064], NFKD: [0x0064] }, -{ source: [0x1D4EE], NFC: [0x1D4EE], NFD: [0x1D4EE], NFKC: [0x0065], NFKD: [0x0065] }, -{ source: [0x1D4EF], NFC: [0x1D4EF], NFD: [0x1D4EF], NFKC: [0x0066], NFKD: [0x0066] }, -{ source: [0x1D4F0], NFC: [0x1D4F0], NFD: [0x1D4F0], NFKC: [0x0067], NFKD: [0x0067] }, -{ source: [0x1D4F1], NFC: [0x1D4F1], NFD: [0x1D4F1], NFKC: [0x0068], NFKD: [0x0068] }, -{ source: [0x1D4F2], NFC: [0x1D4F2], NFD: [0x1D4F2], NFKC: [0x0069], NFKD: [0x0069] }, -{ source: [0x1D4F3], NFC: [0x1D4F3], NFD: [0x1D4F3], NFKC: [0x006A], NFKD: [0x006A] }, -{ source: [0x1D4F4], NFC: [0x1D4F4], NFD: [0x1D4F4], NFKC: [0x006B], NFKD: [0x006B] }, -{ source: [0x1D4F5], NFC: [0x1D4F5], NFD: [0x1D4F5], NFKC: [0x006C], NFKD: [0x006C] }, -{ source: [0x1D4F6], NFC: [0x1D4F6], NFD: [0x1D4F6], NFKC: [0x006D], NFKD: [0x006D] }, -{ source: [0x1D4F7], NFC: [0x1D4F7], NFD: [0x1D4F7], NFKC: [0x006E], NFKD: [0x006E] }, -{ source: [0x1D4F8], NFC: [0x1D4F8], NFD: [0x1D4F8], NFKC: [0x006F], NFKD: [0x006F] }, -{ source: [0x1D4F9], NFC: [0x1D4F9], NFD: [0x1D4F9], NFKC: [0x0070], NFKD: [0x0070] }, -{ source: [0x1D4FA], NFC: [0x1D4FA], NFD: [0x1D4FA], NFKC: [0x0071], NFKD: [0x0071] }, -{ source: [0x1D4FB], NFC: [0x1D4FB], NFD: [0x1D4FB], NFKC: [0x0072], NFKD: [0x0072] }, -{ source: [0x1D4FC], NFC: [0x1D4FC], NFD: [0x1D4FC], NFKC: [0x0073], NFKD: [0x0073] }, -{ source: [0x1D4FD], NFC: [0x1D4FD], NFD: [0x1D4FD], NFKC: [0x0074], NFKD: [0x0074] }, -{ source: [0x1D4FE], NFC: [0x1D4FE], NFD: [0x1D4FE], NFKC: [0x0075], NFKD: [0x0075] }, -{ source: [0x1D4FF], NFC: [0x1D4FF], NFD: [0x1D4FF], NFKC: [0x0076], NFKD: [0x0076] }, -{ source: [0x1D500], NFC: [0x1D500], NFD: [0x1D500], NFKC: [0x0077], NFKD: [0x0077] }, -{ source: [0x1D501], NFC: [0x1D501], NFD: [0x1D501], NFKC: [0x0078], NFKD: [0x0078] }, -{ source: [0x1D502], NFC: [0x1D502], NFD: [0x1D502], NFKC: [0x0079], NFKD: [0x0079] }, -{ source: [0x1D503], NFC: [0x1D503], NFD: [0x1D503], NFKC: [0x007A], NFKD: [0x007A] }, -{ source: [0x1D504], NFC: [0x1D504], NFD: [0x1D504], NFKC: [0x0041], NFKD: [0x0041] }, -{ source: [0x1D505], NFC: [0x1D505], NFD: [0x1D505], NFKC: [0x0042], NFKD: [0x0042] }, -{ source: [0x1D507], NFC: [0x1D507], NFD: [0x1D507], NFKC: [0x0044], NFKD: [0x0044] }, -{ source: [0x1D508], NFC: [0x1D508], NFD: [0x1D508], NFKC: [0x0045], NFKD: [0x0045] }, -{ source: [0x1D509], NFC: [0x1D509], NFD: [0x1D509], NFKC: [0x0046], NFKD: [0x0046] }, -{ source: [0x1D50A], NFC: [0x1D50A], NFD: [0x1D50A], NFKC: [0x0047], NFKD: [0x0047] }, -{ source: [0x1D50D], NFC: [0x1D50D], NFD: [0x1D50D], NFKC: [0x004A], NFKD: [0x004A] }, -{ source: [0x1D50E], NFC: [0x1D50E], NFD: [0x1D50E], NFKC: [0x004B], NFKD: [0x004B] }, -{ source: [0x1D50F], NFC: [0x1D50F], NFD: [0x1D50F], NFKC: [0x004C], NFKD: [0x004C] }, -{ source: [0x1D510], NFC: [0x1D510], NFD: [0x1D510], NFKC: [0x004D], NFKD: [0x004D] }, -{ source: [0x1D511], NFC: [0x1D511], NFD: [0x1D511], NFKC: [0x004E], NFKD: [0x004E] }, -{ source: [0x1D512], NFC: [0x1D512], NFD: [0x1D512], NFKC: [0x004F], NFKD: [0x004F] }, -{ source: [0x1D513], NFC: [0x1D513], NFD: [0x1D513], NFKC: [0x0050], NFKD: [0x0050] }, -{ source: [0x1D514], NFC: [0x1D514], NFD: [0x1D514], NFKC: [0x0051], NFKD: [0x0051] }, -{ source: [0x1D516], NFC: [0x1D516], NFD: [0x1D516], NFKC: [0x0053], NFKD: [0x0053] }, -{ source: [0x1D517], NFC: [0x1D517], NFD: [0x1D517], NFKC: [0x0054], NFKD: [0x0054] }, -{ source: [0x1D518], NFC: [0x1D518], NFD: [0x1D518], NFKC: [0x0055], NFKD: [0x0055] }, -{ source: [0x1D519], NFC: [0x1D519], NFD: [0x1D519], NFKC: [0x0056], NFKD: [0x0056] }, -{ source: [0x1D51A], NFC: [0x1D51A], NFD: [0x1D51A], NFKC: [0x0057], NFKD: [0x0057] }, -{ source: [0x1D51B], NFC: [0x1D51B], NFD: [0x1D51B], NFKC: [0x0058], NFKD: [0x0058] }, -{ source: [0x1D51C], NFC: [0x1D51C], NFD: [0x1D51C], NFKC: [0x0059], NFKD: [0x0059] }, -{ source: [0x1D51E], NFC: [0x1D51E], NFD: [0x1D51E], NFKC: [0x0061], NFKD: [0x0061] }, -{ source: [0x1D51F], NFC: [0x1D51F], NFD: [0x1D51F], NFKC: [0x0062], NFKD: [0x0062] }, -{ source: [0x1D520], NFC: [0x1D520], NFD: [0x1D520], NFKC: [0x0063], NFKD: [0x0063] }, -{ source: [0x1D521], NFC: [0x1D521], NFD: [0x1D521], NFKC: [0x0064], NFKD: [0x0064] }, -{ source: [0x1D522], NFC: [0x1D522], NFD: [0x1D522], NFKC: [0x0065], NFKD: [0x0065] }, -{ source: [0x1D523], NFC: [0x1D523], NFD: [0x1D523], NFKC: [0x0066], NFKD: [0x0066] }, -{ source: [0x1D524], NFC: [0x1D524], NFD: [0x1D524], NFKC: [0x0067], NFKD: [0x0067] }, -{ source: [0x1D525], NFC: [0x1D525], NFD: [0x1D525], NFKC: [0x0068], NFKD: [0x0068] }, -{ source: [0x1D526], NFC: [0x1D526], NFD: [0x1D526], NFKC: [0x0069], NFKD: [0x0069] }, -{ source: [0x1D527], NFC: [0x1D527], NFD: [0x1D527], NFKC: [0x006A], NFKD: [0x006A] }, -{ source: [0x1D528], NFC: [0x1D528], NFD: [0x1D528], NFKC: [0x006B], NFKD: [0x006B] }, -{ source: [0x1D529], NFC: [0x1D529], NFD: [0x1D529], NFKC: [0x006C], NFKD: [0x006C] }, -{ source: [0x1D52A], NFC: [0x1D52A], NFD: [0x1D52A], NFKC: [0x006D], NFKD: [0x006D] }, -{ source: [0x1D52B], NFC: [0x1D52B], NFD: [0x1D52B], NFKC: [0x006E], NFKD: [0x006E] }, -{ source: [0x1D52C], NFC: [0x1D52C], NFD: [0x1D52C], NFKC: [0x006F], NFKD: [0x006F] }, -{ source: [0x1D52D], NFC: [0x1D52D], NFD: [0x1D52D], NFKC: [0x0070], NFKD: [0x0070] }, -{ source: [0x1D52E], NFC: [0x1D52E], NFD: [0x1D52E], NFKC: [0x0071], NFKD: [0x0071] }, -{ source: [0x1D52F], NFC: [0x1D52F], NFD: [0x1D52F], NFKC: [0x0072], NFKD: [0x0072] }, -{ source: [0x1D530], NFC: [0x1D530], NFD: [0x1D530], NFKC: [0x0073], NFKD: [0x0073] }, -{ source: [0x1D531], NFC: [0x1D531], NFD: [0x1D531], NFKC: [0x0074], NFKD: [0x0074] }, -{ source: [0x1D532], NFC: [0x1D532], NFD: [0x1D532], NFKC: [0x0075], NFKD: [0x0075] }, -{ source: [0x1D533], NFC: [0x1D533], NFD: [0x1D533], NFKC: [0x0076], NFKD: [0x0076] }, -{ source: [0x1D534], NFC: [0x1D534], NFD: [0x1D534], NFKC: [0x0077], NFKD: [0x0077] }, -{ source: [0x1D535], NFC: [0x1D535], NFD: [0x1D535], NFKC: [0x0078], NFKD: [0x0078] }, -{ source: [0x1D536], NFC: [0x1D536], NFD: [0x1D536], NFKC: [0x0079], NFKD: [0x0079] }, -{ source: [0x1D537], NFC: [0x1D537], NFD: [0x1D537], NFKC: [0x007A], NFKD: [0x007A] }, -{ source: [0x1D538], NFC: [0x1D538], NFD: [0x1D538], NFKC: [0x0041], NFKD: [0x0041] }, -{ source: [0x1D539], NFC: [0x1D539], NFD: [0x1D539], NFKC: [0x0042], NFKD: [0x0042] }, -{ source: [0x1D53B], NFC: [0x1D53B], NFD: [0x1D53B], NFKC: [0x0044], NFKD: [0x0044] }, -{ source: [0x1D53C], NFC: [0x1D53C], NFD: [0x1D53C], NFKC: [0x0045], NFKD: [0x0045] }, -{ source: [0x1D53D], NFC: [0x1D53D], NFD: [0x1D53D], NFKC: [0x0046], NFKD: [0x0046] }, -{ source: [0x1D53E], NFC: [0x1D53E], NFD: [0x1D53E], NFKC: [0x0047], NFKD: [0x0047] }, -{ source: [0x1D540], NFC: [0x1D540], NFD: [0x1D540], NFKC: [0x0049], NFKD: [0x0049] }, -{ source: [0x1D541], NFC: [0x1D541], NFD: [0x1D541], NFKC: [0x004A], NFKD: [0x004A] }, -{ source: [0x1D542], NFC: [0x1D542], NFD: [0x1D542], NFKC: [0x004B], NFKD: [0x004B] }, -{ source: [0x1D543], NFC: [0x1D543], NFD: [0x1D543], NFKC: [0x004C], NFKD: [0x004C] }, -{ source: [0x1D544], NFC: [0x1D544], NFD: [0x1D544], NFKC: [0x004D], NFKD: [0x004D] }, -{ source: [0x1D546], NFC: [0x1D546], NFD: [0x1D546], NFKC: [0x004F], NFKD: [0x004F] }, -{ source: [0x1D54A], NFC: [0x1D54A], NFD: [0x1D54A], NFKC: [0x0053], NFKD: [0x0053] }, -{ source: [0x1D54B], NFC: [0x1D54B], NFD: [0x1D54B], NFKC: [0x0054], NFKD: [0x0054] }, -{ source: [0x1D54C], NFC: [0x1D54C], NFD: [0x1D54C], NFKC: [0x0055], NFKD: [0x0055] }, -{ source: [0x1D54D], NFC: [0x1D54D], NFD: [0x1D54D], NFKC: [0x0056], NFKD: [0x0056] }, -{ source: [0x1D54E], NFC: [0x1D54E], NFD: [0x1D54E], NFKC: [0x0057], NFKD: [0x0057] }, -{ source: [0x1D54F], NFC: [0x1D54F], NFD: [0x1D54F], NFKC: [0x0058], NFKD: [0x0058] }, -{ source: [0x1D550], NFC: [0x1D550], NFD: [0x1D550], NFKC: [0x0059], NFKD: [0x0059] }, -{ source: [0x1D552], NFC: [0x1D552], NFD: [0x1D552], NFKC: [0x0061], NFKD: [0x0061] }, -{ source: [0x1D553], NFC: [0x1D553], NFD: [0x1D553], NFKC: [0x0062], NFKD: [0x0062] }, -{ source: [0x1D554], NFC: [0x1D554], NFD: [0x1D554], NFKC: [0x0063], NFKD: [0x0063] }, -{ source: [0x1D555], NFC: [0x1D555], NFD: [0x1D555], NFKC: [0x0064], NFKD: [0x0064] }, -{ source: [0x1D556], NFC: [0x1D556], NFD: [0x1D556], NFKC: [0x0065], NFKD: [0x0065] }, -{ source: [0x1D557], NFC: [0x1D557], NFD: [0x1D557], NFKC: [0x0066], NFKD: [0x0066] }, -{ source: [0x1D558], NFC: [0x1D558], NFD: [0x1D558], NFKC: [0x0067], NFKD: [0x0067] }, -{ source: [0x1D559], NFC: [0x1D559], NFD: [0x1D559], NFKC: [0x0068], NFKD: [0x0068] }, -{ source: [0x1D55A], NFC: [0x1D55A], NFD: [0x1D55A], NFKC: [0x0069], NFKD: [0x0069] }, -{ source: [0x1D55B], NFC: [0x1D55B], NFD: [0x1D55B], NFKC: [0x006A], NFKD: [0x006A] }, -{ source: [0x1D55C], NFC: [0x1D55C], NFD: [0x1D55C], NFKC: [0x006B], NFKD: [0x006B] }, -{ source: [0x1D55D], NFC: [0x1D55D], NFD: [0x1D55D], NFKC: [0x006C], NFKD: [0x006C] }, -{ source: [0x1D55E], NFC: [0x1D55E], NFD: [0x1D55E], NFKC: [0x006D], NFKD: [0x006D] }, -{ source: [0x1D55F], NFC: [0x1D55F], NFD: [0x1D55F], NFKC: [0x006E], NFKD: [0x006E] }, -{ source: [0x1D560], NFC: [0x1D560], NFD: [0x1D560], NFKC: [0x006F], NFKD: [0x006F] }, -{ source: [0x1D561], NFC: [0x1D561], NFD: [0x1D561], NFKC: [0x0070], NFKD: [0x0070] }, -{ source: [0x1D562], NFC: [0x1D562], NFD: [0x1D562], NFKC: [0x0071], NFKD: [0x0071] }, -{ source: [0x1D563], NFC: [0x1D563], NFD: [0x1D563], NFKC: [0x0072], NFKD: [0x0072] }, -{ source: [0x1D564], NFC: [0x1D564], NFD: [0x1D564], NFKC: [0x0073], NFKD: [0x0073] }, -{ source: [0x1D565], NFC: [0x1D565], NFD: [0x1D565], NFKC: [0x0074], NFKD: [0x0074] }, -{ source: [0x1D566], NFC: [0x1D566], NFD: [0x1D566], NFKC: [0x0075], NFKD: [0x0075] }, -{ source: [0x1D567], NFC: [0x1D567], NFD: [0x1D567], NFKC: [0x0076], NFKD: [0x0076] }, -{ source: [0x1D568], NFC: [0x1D568], NFD: [0x1D568], NFKC: [0x0077], NFKD: [0x0077] }, -{ source: [0x1D569], NFC: [0x1D569], NFD: [0x1D569], NFKC: [0x0078], NFKD: [0x0078] }, -{ source: [0x1D56A], NFC: [0x1D56A], NFD: [0x1D56A], NFKC: [0x0079], NFKD: [0x0079] }, -{ source: [0x1D56B], NFC: [0x1D56B], NFD: [0x1D56B], NFKC: [0x007A], NFKD: [0x007A] }, -{ source: [0x1D56C], NFC: [0x1D56C], NFD: [0x1D56C], NFKC: [0x0041], NFKD: [0x0041] }, -{ source: [0x1D56D], NFC: [0x1D56D], NFD: [0x1D56D], NFKC: [0x0042], NFKD: [0x0042] }, -{ source: [0x1D56E], NFC: [0x1D56E], NFD: [0x1D56E], NFKC: [0x0043], NFKD: [0x0043] }, -{ source: [0x1D56F], NFC: [0x1D56F], NFD: [0x1D56F], NFKC: [0x0044], NFKD: [0x0044] }, -{ source: [0x1D570], NFC: [0x1D570], NFD: [0x1D570], NFKC: [0x0045], NFKD: [0x0045] }, -{ source: [0x1D571], NFC: [0x1D571], NFD: [0x1D571], NFKC: [0x0046], NFKD: [0x0046] }, -{ source: [0x1D572], NFC: [0x1D572], NFD: [0x1D572], NFKC: [0x0047], NFKD: [0x0047] }, -{ source: [0x1D573], NFC: [0x1D573], NFD: [0x1D573], NFKC: [0x0048], NFKD: [0x0048] }, -{ source: [0x1D574], NFC: [0x1D574], NFD: [0x1D574], NFKC: [0x0049], NFKD: [0x0049] }, -{ source: [0x1D575], NFC: [0x1D575], NFD: [0x1D575], NFKC: [0x004A], NFKD: [0x004A] }, -{ source: [0x1D576], NFC: [0x1D576], NFD: [0x1D576], NFKC: [0x004B], NFKD: [0x004B] }, -{ source: [0x1D577], NFC: [0x1D577], NFD: [0x1D577], NFKC: [0x004C], NFKD: [0x004C] }, -{ source: [0x1D578], NFC: [0x1D578], NFD: [0x1D578], NFKC: [0x004D], NFKD: [0x004D] }, -{ source: [0x1D579], NFC: [0x1D579], NFD: [0x1D579], NFKC: [0x004E], NFKD: [0x004E] }, -{ source: [0x1D57A], NFC: [0x1D57A], NFD: [0x1D57A], NFKC: [0x004F], NFKD: [0x004F] }, -{ source: [0x1D57B], NFC: [0x1D57B], NFD: [0x1D57B], NFKC: [0x0050], NFKD: [0x0050] }, -{ source: [0x1D57C], NFC: [0x1D57C], NFD: [0x1D57C], NFKC: [0x0051], NFKD: [0x0051] }, -{ source: [0x1D57D], NFC: [0x1D57D], NFD: [0x1D57D], NFKC: [0x0052], NFKD: [0x0052] }, -{ source: [0x1D57E], NFC: [0x1D57E], NFD: [0x1D57E], NFKC: [0x0053], NFKD: [0x0053] }, -{ source: [0x1D57F], NFC: [0x1D57F], NFD: [0x1D57F], NFKC: [0x0054], NFKD: [0x0054] }, -{ source: [0x1D580], NFC: [0x1D580], NFD: [0x1D580], NFKC: [0x0055], NFKD: [0x0055] }, -{ source: [0x1D581], NFC: [0x1D581], NFD: [0x1D581], NFKC: [0x0056], NFKD: [0x0056] }, -{ source: [0x1D582], NFC: [0x1D582], NFD: [0x1D582], NFKC: [0x0057], NFKD: [0x0057] }, -{ source: [0x1D583], NFC: [0x1D583], NFD: [0x1D583], NFKC: [0x0058], NFKD: [0x0058] }, -{ source: [0x1D584], NFC: [0x1D584], NFD: [0x1D584], NFKC: [0x0059], NFKD: [0x0059] }, -{ source: [0x1D585], NFC: [0x1D585], NFD: [0x1D585], NFKC: [0x005A], NFKD: [0x005A] }, -{ source: [0x1D586], NFC: [0x1D586], NFD: [0x1D586], NFKC: [0x0061], NFKD: [0x0061] }, -{ source: [0x1D587], NFC: [0x1D587], NFD: [0x1D587], NFKC: [0x0062], NFKD: [0x0062] }, -{ source: [0x1D588], NFC: [0x1D588], NFD: [0x1D588], NFKC: [0x0063], NFKD: [0x0063] }, -{ source: [0x1D589], NFC: [0x1D589], NFD: [0x1D589], NFKC: [0x0064], NFKD: [0x0064] }, -{ source: [0x1D58A], NFC: [0x1D58A], NFD: [0x1D58A], NFKC: [0x0065], NFKD: [0x0065] }, -{ source: [0x1D58B], NFC: [0x1D58B], NFD: [0x1D58B], NFKC: [0x0066], NFKD: [0x0066] }, -{ source: [0x1D58C], NFC: [0x1D58C], NFD: [0x1D58C], NFKC: [0x0067], NFKD: [0x0067] }, -{ source: [0x1D58D], NFC: [0x1D58D], NFD: [0x1D58D], NFKC: [0x0068], NFKD: [0x0068] }, -{ source: [0x1D58E], NFC: [0x1D58E], NFD: [0x1D58E], NFKC: [0x0069], NFKD: [0x0069] }, -{ source: [0x1D58F], NFC: [0x1D58F], NFD: [0x1D58F], NFKC: [0x006A], NFKD: [0x006A] }, -{ source: [0x1D590], NFC: [0x1D590], NFD: [0x1D590], NFKC: [0x006B], NFKD: [0x006B] }, -{ source: [0x1D591], NFC: [0x1D591], NFD: [0x1D591], NFKC: [0x006C], NFKD: [0x006C] }, -{ source: [0x1D592], NFC: [0x1D592], NFD: [0x1D592], NFKC: [0x006D], NFKD: [0x006D] }, -{ source: [0x1D593], NFC: [0x1D593], NFD: [0x1D593], NFKC: [0x006E], NFKD: [0x006E] }, -{ source: [0x1D594], NFC: [0x1D594], NFD: [0x1D594], NFKC: [0x006F], NFKD: [0x006F] }, -{ source: [0x1D595], NFC: [0x1D595], NFD: [0x1D595], NFKC: [0x0070], NFKD: [0x0070] }, -{ source: [0x1D596], NFC: [0x1D596], NFD: [0x1D596], NFKC: [0x0071], NFKD: [0x0071] }, -{ source: [0x1D597], NFC: [0x1D597], NFD: [0x1D597], NFKC: [0x0072], NFKD: [0x0072] }, -{ source: [0x1D598], NFC: [0x1D598], NFD: [0x1D598], NFKC: [0x0073], NFKD: [0x0073] }, -{ source: [0x1D599], NFC: [0x1D599], NFD: [0x1D599], NFKC: [0x0074], NFKD: [0x0074] }, -{ source: [0x1D59A], NFC: [0x1D59A], NFD: [0x1D59A], NFKC: [0x0075], NFKD: [0x0075] }, -{ source: [0x1D59B], NFC: [0x1D59B], NFD: [0x1D59B], NFKC: [0x0076], NFKD: [0x0076] }, -{ source: [0x1D59C], NFC: [0x1D59C], NFD: [0x1D59C], NFKC: [0x0077], NFKD: [0x0077] }, -{ source: [0x1D59D], NFC: [0x1D59D], NFD: [0x1D59D], NFKC: [0x0078], NFKD: [0x0078] }, -{ source: [0x1D59E], NFC: [0x1D59E], NFD: [0x1D59E], NFKC: [0x0079], NFKD: [0x0079] }, -{ source: [0x1D59F], NFC: [0x1D59F], NFD: [0x1D59F], NFKC: [0x007A], NFKD: [0x007A] }, -{ source: [0x1D5A0], NFC: [0x1D5A0], NFD: [0x1D5A0], NFKC: [0x0041], NFKD: [0x0041] }, -{ source: [0x1D5A1], NFC: [0x1D5A1], NFD: [0x1D5A1], NFKC: [0x0042], NFKD: [0x0042] }, -{ source: [0x1D5A2], NFC: [0x1D5A2], NFD: [0x1D5A2], NFKC: [0x0043], NFKD: [0x0043] }, -{ source: [0x1D5A3], NFC: [0x1D5A3], NFD: [0x1D5A3], NFKC: [0x0044], NFKD: [0x0044] }, -{ source: [0x1D5A4], NFC: [0x1D5A4], NFD: [0x1D5A4], NFKC: [0x0045], NFKD: [0x0045] }, -{ source: [0x1D5A5], NFC: [0x1D5A5], NFD: [0x1D5A5], NFKC: [0x0046], NFKD: [0x0046] }, -{ source: [0x1D5A6], NFC: [0x1D5A6], NFD: [0x1D5A6], NFKC: [0x0047], NFKD: [0x0047] }, -{ source: [0x1D5A7], NFC: [0x1D5A7], NFD: [0x1D5A7], NFKC: [0x0048], NFKD: [0x0048] }, -{ source: [0x1D5A8], NFC: [0x1D5A8], NFD: [0x1D5A8], NFKC: [0x0049], NFKD: [0x0049] }, -{ source: [0x1D5A9], NFC: [0x1D5A9], NFD: [0x1D5A9], NFKC: [0x004A], NFKD: [0x004A] }, -{ source: [0x1D5AA], NFC: [0x1D5AA], NFD: [0x1D5AA], NFKC: [0x004B], NFKD: [0x004B] }, -{ source: [0x1D5AB], NFC: [0x1D5AB], NFD: [0x1D5AB], NFKC: [0x004C], NFKD: [0x004C] }, -{ source: [0x1D5AC], NFC: [0x1D5AC], NFD: [0x1D5AC], NFKC: [0x004D], NFKD: [0x004D] }, -{ source: [0x1D5AD], NFC: [0x1D5AD], NFD: [0x1D5AD], NFKC: [0x004E], NFKD: [0x004E] }, -{ source: [0x1D5AE], NFC: [0x1D5AE], NFD: [0x1D5AE], NFKC: [0x004F], NFKD: [0x004F] }, -{ source: [0x1D5AF], NFC: [0x1D5AF], NFD: [0x1D5AF], NFKC: [0x0050], NFKD: [0x0050] }, -{ source: [0x1D5B0], NFC: [0x1D5B0], NFD: [0x1D5B0], NFKC: [0x0051], NFKD: [0x0051] }, -{ source: [0x1D5B1], NFC: [0x1D5B1], NFD: [0x1D5B1], NFKC: [0x0052], NFKD: [0x0052] }, -{ source: [0x1D5B2], NFC: [0x1D5B2], NFD: [0x1D5B2], NFKC: [0x0053], NFKD: [0x0053] }, -{ source: [0x1D5B3], NFC: [0x1D5B3], NFD: [0x1D5B3], NFKC: [0x0054], NFKD: [0x0054] }, -{ source: [0x1D5B4], NFC: [0x1D5B4], NFD: [0x1D5B4], NFKC: [0x0055], NFKD: [0x0055] }, -{ source: [0x1D5B5], NFC: [0x1D5B5], NFD: [0x1D5B5], NFKC: [0x0056], NFKD: [0x0056] }, -{ source: [0x1D5B6], NFC: [0x1D5B6], NFD: [0x1D5B6], NFKC: [0x0057], NFKD: [0x0057] }, -{ source: [0x1D5B7], NFC: [0x1D5B7], NFD: [0x1D5B7], NFKC: [0x0058], NFKD: [0x0058] }, -{ source: [0x1D5B8], NFC: [0x1D5B8], NFD: [0x1D5B8], NFKC: [0x0059], NFKD: [0x0059] }, -{ source: [0x1D5B9], NFC: [0x1D5B9], NFD: [0x1D5B9], NFKC: [0x005A], NFKD: [0x005A] }, -{ source: [0x1D5BA], NFC: [0x1D5BA], NFD: [0x1D5BA], NFKC: [0x0061], NFKD: [0x0061] }, -{ source: [0x1D5BB], NFC: [0x1D5BB], NFD: [0x1D5BB], NFKC: [0x0062], NFKD: [0x0062] }, -{ source: [0x1D5BC], NFC: [0x1D5BC], NFD: [0x1D5BC], NFKC: [0x0063], NFKD: [0x0063] }, -{ source: [0x1D5BD], NFC: [0x1D5BD], NFD: [0x1D5BD], NFKC: [0x0064], NFKD: [0x0064] }, -{ source: [0x1D5BE], NFC: [0x1D5BE], NFD: [0x1D5BE], NFKC: [0x0065], NFKD: [0x0065] }, -{ source: [0x1D5BF], NFC: [0x1D5BF], NFD: [0x1D5BF], NFKC: [0x0066], NFKD: [0x0066] }, -{ source: [0x1D5C0], NFC: [0x1D5C0], NFD: [0x1D5C0], NFKC: [0x0067], NFKD: [0x0067] }, -{ source: [0x1D5C1], NFC: [0x1D5C1], NFD: [0x1D5C1], NFKC: [0x0068], NFKD: [0x0068] }, -{ source: [0x1D5C2], NFC: [0x1D5C2], NFD: [0x1D5C2], NFKC: [0x0069], NFKD: [0x0069] }, -{ source: [0x1D5C3], NFC: [0x1D5C3], NFD: [0x1D5C3], NFKC: [0x006A], NFKD: [0x006A] }, -{ source: [0x1D5C4], NFC: [0x1D5C4], NFD: [0x1D5C4], NFKC: [0x006B], NFKD: [0x006B] }, -{ source: [0x1D5C5], NFC: [0x1D5C5], NFD: [0x1D5C5], NFKC: [0x006C], NFKD: [0x006C] }, -{ source: [0x1D5C6], NFC: [0x1D5C6], NFD: [0x1D5C6], NFKC: [0x006D], NFKD: [0x006D] }, -{ source: [0x1D5C7], NFC: [0x1D5C7], NFD: [0x1D5C7], NFKC: [0x006E], NFKD: [0x006E] }, -{ source: [0x1D5C8], NFC: [0x1D5C8], NFD: [0x1D5C8], NFKC: [0x006F], NFKD: [0x006F] }, -{ source: [0x1D5C9], NFC: [0x1D5C9], NFD: [0x1D5C9], NFKC: [0x0070], NFKD: [0x0070] }, -{ source: [0x1D5CA], NFC: [0x1D5CA], NFD: [0x1D5CA], NFKC: [0x0071], NFKD: [0x0071] }, -{ source: [0x1D5CB], NFC: [0x1D5CB], NFD: [0x1D5CB], NFKC: [0x0072], NFKD: [0x0072] }, -{ source: [0x1D5CC], NFC: [0x1D5CC], NFD: [0x1D5CC], NFKC: [0x0073], NFKD: [0x0073] }, -{ source: [0x1D5CD], NFC: [0x1D5CD], NFD: [0x1D5CD], NFKC: [0x0074], NFKD: [0x0074] }, -{ source: [0x1D5CE], NFC: [0x1D5CE], NFD: [0x1D5CE], NFKC: [0x0075], NFKD: [0x0075] }, -{ source: [0x1D5CF], NFC: [0x1D5CF], NFD: [0x1D5CF], NFKC: [0x0076], NFKD: [0x0076] }, -{ source: [0x1D5D0], NFC: [0x1D5D0], NFD: [0x1D5D0], NFKC: [0x0077], NFKD: [0x0077] }, -{ source: [0x1D5D1], NFC: [0x1D5D1], NFD: [0x1D5D1], NFKC: [0x0078], NFKD: [0x0078] }, -{ source: [0x1D5D2], NFC: [0x1D5D2], NFD: [0x1D5D2], NFKC: [0x0079], NFKD: [0x0079] }, -{ source: [0x1D5D3], NFC: [0x1D5D3], NFD: [0x1D5D3], NFKC: [0x007A], NFKD: [0x007A] }, -{ source: [0x1D5D4], NFC: [0x1D5D4], NFD: [0x1D5D4], NFKC: [0x0041], NFKD: [0x0041] }, -{ source: [0x1D5D5], NFC: [0x1D5D5], NFD: [0x1D5D5], NFKC: [0x0042], NFKD: [0x0042] }, -{ source: [0x1D5D6], NFC: [0x1D5D6], NFD: [0x1D5D6], NFKC: [0x0043], NFKD: [0x0043] }, -{ source: [0x1D5D7], NFC: [0x1D5D7], NFD: [0x1D5D7], NFKC: [0x0044], NFKD: [0x0044] }, -{ source: [0x1D5D8], NFC: [0x1D5D8], NFD: [0x1D5D8], NFKC: [0x0045], NFKD: [0x0045] }, -{ source: [0x1D5D9], NFC: [0x1D5D9], NFD: [0x1D5D9], NFKC: [0x0046], NFKD: [0x0046] }, -{ source: [0x1D5DA], NFC: [0x1D5DA], NFD: [0x1D5DA], NFKC: [0x0047], NFKD: [0x0047] }, -{ source: [0x1D5DB], NFC: [0x1D5DB], NFD: [0x1D5DB], NFKC: [0x0048], NFKD: [0x0048] }, -{ source: [0x1D5DC], NFC: [0x1D5DC], NFD: [0x1D5DC], NFKC: [0x0049], NFKD: [0x0049] }, -{ source: [0x1D5DD], NFC: [0x1D5DD], NFD: [0x1D5DD], NFKC: [0x004A], NFKD: [0x004A] }, -{ source: [0x1D5DE], NFC: [0x1D5DE], NFD: [0x1D5DE], NFKC: [0x004B], NFKD: [0x004B] }, -{ source: [0x1D5DF], NFC: [0x1D5DF], NFD: [0x1D5DF], NFKC: [0x004C], NFKD: [0x004C] }, -{ source: [0x1D5E0], NFC: [0x1D5E0], NFD: [0x1D5E0], NFKC: [0x004D], NFKD: [0x004D] }, -{ source: [0x1D5E1], NFC: [0x1D5E1], NFD: [0x1D5E1], NFKC: [0x004E], NFKD: [0x004E] }, -{ source: [0x1D5E2], NFC: [0x1D5E2], NFD: [0x1D5E2], NFKC: [0x004F], NFKD: [0x004F] }, -{ source: [0x1D5E3], NFC: [0x1D5E3], NFD: [0x1D5E3], NFKC: [0x0050], NFKD: [0x0050] }, -{ source: [0x1D5E4], NFC: [0x1D5E4], NFD: [0x1D5E4], NFKC: [0x0051], NFKD: [0x0051] }, -{ source: [0x1D5E5], NFC: [0x1D5E5], NFD: [0x1D5E5], NFKC: [0x0052], NFKD: [0x0052] }, -{ source: [0x1D5E6], NFC: [0x1D5E6], NFD: [0x1D5E6], NFKC: [0x0053], NFKD: [0x0053] }, -{ source: [0x1D5E7], NFC: [0x1D5E7], NFD: [0x1D5E7], NFKC: [0x0054], NFKD: [0x0054] }, -{ source: [0x1D5E8], NFC: [0x1D5E8], NFD: [0x1D5E8], NFKC: [0x0055], NFKD: [0x0055] }, -{ source: [0x1D5E9], NFC: [0x1D5E9], NFD: [0x1D5E9], NFKC: [0x0056], NFKD: [0x0056] }, -{ source: [0x1D5EA], NFC: [0x1D5EA], NFD: [0x1D5EA], NFKC: [0x0057], NFKD: [0x0057] }, -{ source: [0x1D5EB], NFC: [0x1D5EB], NFD: [0x1D5EB], NFKC: [0x0058], NFKD: [0x0058] }, -{ source: [0x1D5EC], NFC: [0x1D5EC], NFD: [0x1D5EC], NFKC: [0x0059], NFKD: [0x0059] }, -{ source: [0x1D5ED], NFC: [0x1D5ED], NFD: [0x1D5ED], NFKC: [0x005A], NFKD: [0x005A] }, -{ source: [0x1D5EE], NFC: [0x1D5EE], NFD: [0x1D5EE], NFKC: [0x0061], NFKD: [0x0061] }, -{ source: [0x1D5EF], NFC: [0x1D5EF], NFD: [0x1D5EF], NFKC: [0x0062], NFKD: [0x0062] }, -{ source: [0x1D5F0], NFC: [0x1D5F0], NFD: [0x1D5F0], NFKC: [0x0063], NFKD: [0x0063] }, -{ source: [0x1D5F1], NFC: [0x1D5F1], NFD: [0x1D5F1], NFKC: [0x0064], NFKD: [0x0064] }, -{ source: [0x1D5F2], NFC: [0x1D5F2], NFD: [0x1D5F2], NFKC: [0x0065], NFKD: [0x0065] }, -{ source: [0x1D5F3], NFC: [0x1D5F3], NFD: [0x1D5F3], NFKC: [0x0066], NFKD: [0x0066] }, -{ source: [0x1D5F4], NFC: [0x1D5F4], NFD: [0x1D5F4], NFKC: [0x0067], NFKD: [0x0067] }, -{ source: [0x1D5F5], NFC: [0x1D5F5], NFD: [0x1D5F5], NFKC: [0x0068], NFKD: [0x0068] }, -{ source: [0x1D5F6], NFC: [0x1D5F6], NFD: [0x1D5F6], NFKC: [0x0069], NFKD: [0x0069] }, -{ source: [0x1D5F7], NFC: [0x1D5F7], NFD: [0x1D5F7], NFKC: [0x006A], NFKD: [0x006A] }, -{ source: [0x1D5F8], NFC: [0x1D5F8], NFD: [0x1D5F8], NFKC: [0x006B], NFKD: [0x006B] }, -{ source: [0x1D5F9], NFC: [0x1D5F9], NFD: [0x1D5F9], NFKC: [0x006C], NFKD: [0x006C] }, -{ source: [0x1D5FA], NFC: [0x1D5FA], NFD: [0x1D5FA], NFKC: [0x006D], NFKD: [0x006D] }, -{ source: [0x1D5FB], NFC: [0x1D5FB], NFD: [0x1D5FB], NFKC: [0x006E], NFKD: [0x006E] }, -{ source: [0x1D5FC], NFC: [0x1D5FC], NFD: [0x1D5FC], NFKC: [0x006F], NFKD: [0x006F] }, -{ source: [0x1D5FD], NFC: [0x1D5FD], NFD: [0x1D5FD], NFKC: [0x0070], NFKD: [0x0070] }, -{ source: [0x1D5FE], NFC: [0x1D5FE], NFD: [0x1D5FE], NFKC: [0x0071], NFKD: [0x0071] }, -{ source: [0x1D5FF], NFC: [0x1D5FF], NFD: [0x1D5FF], NFKC: [0x0072], NFKD: [0x0072] }, -{ source: [0x1D600], NFC: [0x1D600], NFD: [0x1D600], NFKC: [0x0073], NFKD: [0x0073] }, -{ source: [0x1D601], NFC: [0x1D601], NFD: [0x1D601], NFKC: [0x0074], NFKD: [0x0074] }, -{ source: [0x1D602], NFC: [0x1D602], NFD: [0x1D602], NFKC: [0x0075], NFKD: [0x0075] }, -{ source: [0x1D603], NFC: [0x1D603], NFD: [0x1D603], NFKC: [0x0076], NFKD: [0x0076] }, -{ source: [0x1D604], NFC: [0x1D604], NFD: [0x1D604], NFKC: [0x0077], NFKD: [0x0077] }, -{ source: [0x1D605], NFC: [0x1D605], NFD: [0x1D605], NFKC: [0x0078], NFKD: [0x0078] }, -{ source: [0x1D606], NFC: [0x1D606], NFD: [0x1D606], NFKC: [0x0079], NFKD: [0x0079] }, -{ source: [0x1D607], NFC: [0x1D607], NFD: [0x1D607], NFKC: [0x007A], NFKD: [0x007A] }, -{ source: [0x1D608], NFC: [0x1D608], NFD: [0x1D608], NFKC: [0x0041], NFKD: [0x0041] }, -{ source: [0x1D609], NFC: [0x1D609], NFD: [0x1D609], NFKC: [0x0042], NFKD: [0x0042] }, -{ source: [0x1D60A], NFC: [0x1D60A], NFD: [0x1D60A], NFKC: [0x0043], NFKD: [0x0043] }, -{ source: [0x1D60B], NFC: [0x1D60B], NFD: [0x1D60B], NFKC: [0x0044], NFKD: [0x0044] }, -{ source: [0x1D60C], NFC: [0x1D60C], NFD: [0x1D60C], NFKC: [0x0045], NFKD: [0x0045] }, -{ source: [0x1D60D], NFC: [0x1D60D], NFD: [0x1D60D], NFKC: [0x0046], NFKD: [0x0046] }, -{ source: [0x1D60E], NFC: [0x1D60E], NFD: [0x1D60E], NFKC: [0x0047], NFKD: [0x0047] }, -{ source: [0x1D60F], NFC: [0x1D60F], NFD: [0x1D60F], NFKC: [0x0048], NFKD: [0x0048] }, -{ source: [0x1D610], NFC: [0x1D610], NFD: [0x1D610], NFKC: [0x0049], NFKD: [0x0049] }, -{ source: [0x1D611], NFC: [0x1D611], NFD: [0x1D611], NFKC: [0x004A], NFKD: [0x004A] }, -{ source: [0x1D612], NFC: [0x1D612], NFD: [0x1D612], NFKC: [0x004B], NFKD: [0x004B] }, -{ source: [0x1D613], NFC: [0x1D613], NFD: [0x1D613], NFKC: [0x004C], NFKD: [0x004C] }, -{ source: [0x1D614], NFC: [0x1D614], NFD: [0x1D614], NFKC: [0x004D], NFKD: [0x004D] }, -{ source: [0x1D615], NFC: [0x1D615], NFD: [0x1D615], NFKC: [0x004E], NFKD: [0x004E] }, -{ source: [0x1D616], NFC: [0x1D616], NFD: [0x1D616], NFKC: [0x004F], NFKD: [0x004F] }, -{ source: [0x1D617], NFC: [0x1D617], NFD: [0x1D617], NFKC: [0x0050], NFKD: [0x0050] }, -{ source: [0x1D618], NFC: [0x1D618], NFD: [0x1D618], NFKC: [0x0051], NFKD: [0x0051] }, -{ source: [0x1D619], NFC: [0x1D619], NFD: [0x1D619], NFKC: [0x0052], NFKD: [0x0052] }, -{ source: [0x1D61A], NFC: [0x1D61A], NFD: [0x1D61A], NFKC: [0x0053], NFKD: [0x0053] }, -{ source: [0x1D61B], NFC: [0x1D61B], NFD: [0x1D61B], NFKC: [0x0054], NFKD: [0x0054] }, -{ source: [0x1D61C], NFC: [0x1D61C], NFD: [0x1D61C], NFKC: [0x0055], NFKD: [0x0055] }, -{ source: [0x1D61D], NFC: [0x1D61D], NFD: [0x1D61D], NFKC: [0x0056], NFKD: [0x0056] }, -{ source: [0x1D61E], NFC: [0x1D61E], NFD: [0x1D61E], NFKC: [0x0057], NFKD: [0x0057] }, -{ source: [0x1D61F], NFC: [0x1D61F], NFD: [0x1D61F], NFKC: [0x0058], NFKD: [0x0058] }, -{ source: [0x1D620], NFC: [0x1D620], NFD: [0x1D620], NFKC: [0x0059], NFKD: [0x0059] }, -{ source: [0x1D621], NFC: [0x1D621], NFD: [0x1D621], NFKC: [0x005A], NFKD: [0x005A] }, -{ source: [0x1D622], NFC: [0x1D622], NFD: [0x1D622], NFKC: [0x0061], NFKD: [0x0061] }, -{ source: [0x1D623], NFC: [0x1D623], NFD: [0x1D623], NFKC: [0x0062], NFKD: [0x0062] }, -{ source: [0x1D624], NFC: [0x1D624], NFD: [0x1D624], NFKC: [0x0063], NFKD: [0x0063] }, -{ source: [0x1D625], NFC: [0x1D625], NFD: [0x1D625], NFKC: [0x0064], NFKD: [0x0064] }, -{ source: [0x1D626], NFC: [0x1D626], NFD: [0x1D626], NFKC: [0x0065], NFKD: [0x0065] }, -{ source: [0x1D627], NFC: [0x1D627], NFD: [0x1D627], NFKC: [0x0066], NFKD: [0x0066] }, -{ source: [0x1D628], NFC: [0x1D628], NFD: [0x1D628], NFKC: [0x0067], NFKD: [0x0067] }, -{ source: [0x1D629], NFC: [0x1D629], NFD: [0x1D629], NFKC: [0x0068], NFKD: [0x0068] }, -{ source: [0x1D62A], NFC: [0x1D62A], NFD: [0x1D62A], NFKC: [0x0069], NFKD: [0x0069] }, -{ source: [0x1D62B], NFC: [0x1D62B], NFD: [0x1D62B], NFKC: [0x006A], NFKD: [0x006A] }, -{ source: [0x1D62C], NFC: [0x1D62C], NFD: [0x1D62C], NFKC: [0x006B], NFKD: [0x006B] }, -{ source: [0x1D62D], NFC: [0x1D62D], NFD: [0x1D62D], NFKC: [0x006C], NFKD: [0x006C] }, -{ source: [0x1D62E], NFC: [0x1D62E], NFD: [0x1D62E], NFKC: [0x006D], NFKD: [0x006D] }, -{ source: [0x1D62F], NFC: [0x1D62F], NFD: [0x1D62F], NFKC: [0x006E], NFKD: [0x006E] }, -{ source: [0x1D630], NFC: [0x1D630], NFD: [0x1D630], NFKC: [0x006F], NFKD: [0x006F] }, -{ source: [0x1D631], NFC: [0x1D631], NFD: [0x1D631], NFKC: [0x0070], NFKD: [0x0070] }, -{ source: [0x1D632], NFC: [0x1D632], NFD: [0x1D632], NFKC: [0x0071], NFKD: [0x0071] }, -{ source: [0x1D633], NFC: [0x1D633], NFD: [0x1D633], NFKC: [0x0072], NFKD: [0x0072] }, -{ source: [0x1D634], NFC: [0x1D634], NFD: [0x1D634], NFKC: [0x0073], NFKD: [0x0073] }, -{ source: [0x1D635], NFC: [0x1D635], NFD: [0x1D635], NFKC: [0x0074], NFKD: [0x0074] }, -{ source: [0x1D636], NFC: [0x1D636], NFD: [0x1D636], NFKC: [0x0075], NFKD: [0x0075] }, -{ source: [0x1D637], NFC: [0x1D637], NFD: [0x1D637], NFKC: [0x0076], NFKD: [0x0076] }, -{ source: [0x1D638], NFC: [0x1D638], NFD: [0x1D638], NFKC: [0x0077], NFKD: [0x0077] }, -{ source: [0x1D639], NFC: [0x1D639], NFD: [0x1D639], NFKC: [0x0078], NFKD: [0x0078] }, -{ source: [0x1D63A], NFC: [0x1D63A], NFD: [0x1D63A], NFKC: [0x0079], NFKD: [0x0079] }, -{ source: [0x1D63B], NFC: [0x1D63B], NFD: [0x1D63B], NFKC: [0x007A], NFKD: [0x007A] }, -{ source: [0x1D63C], NFC: [0x1D63C], NFD: [0x1D63C], NFKC: [0x0041], NFKD: [0x0041] }, -{ source: [0x1D63D], NFC: [0x1D63D], NFD: [0x1D63D], NFKC: [0x0042], NFKD: [0x0042] }, -{ source: [0x1D63E], NFC: [0x1D63E], NFD: [0x1D63E], NFKC: [0x0043], NFKD: [0x0043] }, -{ source: [0x1D63F], NFC: [0x1D63F], NFD: [0x1D63F], NFKC: [0x0044], NFKD: [0x0044] }, -{ source: [0x1D640], NFC: [0x1D640], NFD: [0x1D640], NFKC: [0x0045], NFKD: [0x0045] }, -{ source: [0x1D641], NFC: [0x1D641], NFD: [0x1D641], NFKC: [0x0046], NFKD: [0x0046] }, -{ source: [0x1D642], NFC: [0x1D642], NFD: [0x1D642], NFKC: [0x0047], NFKD: [0x0047] }, -{ source: [0x1D643], NFC: [0x1D643], NFD: [0x1D643], NFKC: [0x0048], NFKD: [0x0048] }, -{ source: [0x1D644], NFC: [0x1D644], NFD: [0x1D644], NFKC: [0x0049], NFKD: [0x0049] }, -{ source: [0x1D645], NFC: [0x1D645], NFD: [0x1D645], NFKC: [0x004A], NFKD: [0x004A] }, -{ source: [0x1D646], NFC: [0x1D646], NFD: [0x1D646], NFKC: [0x004B], NFKD: [0x004B] }, -{ source: [0x1D647], NFC: [0x1D647], NFD: [0x1D647], NFKC: [0x004C], NFKD: [0x004C] }, -{ source: [0x1D648], NFC: [0x1D648], NFD: [0x1D648], NFKC: [0x004D], NFKD: [0x004D] }, -{ source: [0x1D649], NFC: [0x1D649], NFD: [0x1D649], NFKC: [0x004E], NFKD: [0x004E] }, -{ source: [0x1D64A], NFC: [0x1D64A], NFD: [0x1D64A], NFKC: [0x004F], NFKD: [0x004F] }, -{ source: [0x1D64B], NFC: [0x1D64B], NFD: [0x1D64B], NFKC: [0x0050], NFKD: [0x0050] }, -{ source: [0x1D64C], NFC: [0x1D64C], NFD: [0x1D64C], NFKC: [0x0051], NFKD: [0x0051] }, -{ source: [0x1D64D], NFC: [0x1D64D], NFD: [0x1D64D], NFKC: [0x0052], NFKD: [0x0052] }, -{ source: [0x1D64E], NFC: [0x1D64E], NFD: [0x1D64E], NFKC: [0x0053], NFKD: [0x0053] }, -{ source: [0x1D64F], NFC: [0x1D64F], NFD: [0x1D64F], NFKC: [0x0054], NFKD: [0x0054] }, -{ source: [0x1D650], NFC: [0x1D650], NFD: [0x1D650], NFKC: [0x0055], NFKD: [0x0055] }, -{ source: [0x1D651], NFC: [0x1D651], NFD: [0x1D651], NFKC: [0x0056], NFKD: [0x0056] }, -{ source: [0x1D652], NFC: [0x1D652], NFD: [0x1D652], NFKC: [0x0057], NFKD: [0x0057] }, -{ source: [0x1D653], NFC: [0x1D653], NFD: [0x1D653], NFKC: [0x0058], NFKD: [0x0058] }, -{ source: [0x1D654], NFC: [0x1D654], NFD: [0x1D654], NFKC: [0x0059], NFKD: [0x0059] }, -{ source: [0x1D655], NFC: [0x1D655], NFD: [0x1D655], NFKC: [0x005A], NFKD: [0x005A] }, -{ source: [0x1D656], NFC: [0x1D656], NFD: [0x1D656], NFKC: [0x0061], NFKD: [0x0061] }, -{ source: [0x1D657], NFC: [0x1D657], NFD: [0x1D657], NFKC: [0x0062], NFKD: [0x0062] }, -{ source: [0x1D658], NFC: [0x1D658], NFD: [0x1D658], NFKC: [0x0063], NFKD: [0x0063] }, -{ source: [0x1D659], NFC: [0x1D659], NFD: [0x1D659], NFKC: [0x0064], NFKD: [0x0064] }, -{ source: [0x1D65A], NFC: [0x1D65A], NFD: [0x1D65A], NFKC: [0x0065], NFKD: [0x0065] }, -{ source: [0x1D65B], NFC: [0x1D65B], NFD: [0x1D65B], NFKC: [0x0066], NFKD: [0x0066] }, -{ source: [0x1D65C], NFC: [0x1D65C], NFD: [0x1D65C], NFKC: [0x0067], NFKD: [0x0067] }, -{ source: [0x1D65D], NFC: [0x1D65D], NFD: [0x1D65D], NFKC: [0x0068], NFKD: [0x0068] }, -{ source: [0x1D65E], NFC: [0x1D65E], NFD: [0x1D65E], NFKC: [0x0069], NFKD: [0x0069] }, -{ source: [0x1D65F], NFC: [0x1D65F], NFD: [0x1D65F], NFKC: [0x006A], NFKD: [0x006A] }, -{ source: [0x1D660], NFC: [0x1D660], NFD: [0x1D660], NFKC: [0x006B], NFKD: [0x006B] }, -{ source: [0x1D661], NFC: [0x1D661], NFD: [0x1D661], NFKC: [0x006C], NFKD: [0x006C] }, -{ source: [0x1D662], NFC: [0x1D662], NFD: [0x1D662], NFKC: [0x006D], NFKD: [0x006D] }, -{ source: [0x1D663], NFC: [0x1D663], NFD: [0x1D663], NFKC: [0x006E], NFKD: [0x006E] }, -{ source: [0x1D664], NFC: [0x1D664], NFD: [0x1D664], NFKC: [0x006F], NFKD: [0x006F] }, -{ source: [0x1D665], NFC: [0x1D665], NFD: [0x1D665], NFKC: [0x0070], NFKD: [0x0070] }, -{ source: [0x1D666], NFC: [0x1D666], NFD: [0x1D666], NFKC: [0x0071], NFKD: [0x0071] }, -{ source: [0x1D667], NFC: [0x1D667], NFD: [0x1D667], NFKC: [0x0072], NFKD: [0x0072] }, -{ source: [0x1D668], NFC: [0x1D668], NFD: [0x1D668], NFKC: [0x0073], NFKD: [0x0073] }, -{ source: [0x1D669], NFC: [0x1D669], NFD: [0x1D669], NFKC: [0x0074], NFKD: [0x0074] }, -{ source: [0x1D66A], NFC: [0x1D66A], NFD: [0x1D66A], NFKC: [0x0075], NFKD: [0x0075] }, -{ source: [0x1D66B], NFC: [0x1D66B], NFD: [0x1D66B], NFKC: [0x0076], NFKD: [0x0076] }, -{ source: [0x1D66C], NFC: [0x1D66C], NFD: [0x1D66C], NFKC: [0x0077], NFKD: [0x0077] }, -{ source: [0x1D66D], NFC: [0x1D66D], NFD: [0x1D66D], NFKC: [0x0078], NFKD: [0x0078] }, -{ source: [0x1D66E], NFC: [0x1D66E], NFD: [0x1D66E], NFKC: [0x0079], NFKD: [0x0079] }, -{ source: [0x1D66F], NFC: [0x1D66F], NFD: [0x1D66F], NFKC: [0x007A], NFKD: [0x007A] }, -{ source: [0x1D670], NFC: [0x1D670], NFD: [0x1D670], NFKC: [0x0041], NFKD: [0x0041] }, -{ source: [0x1D671], NFC: [0x1D671], NFD: [0x1D671], NFKC: [0x0042], NFKD: [0x0042] }, -{ source: [0x1D672], NFC: [0x1D672], NFD: [0x1D672], NFKC: [0x0043], NFKD: [0x0043] }, -{ source: [0x1D673], NFC: [0x1D673], NFD: [0x1D673], NFKC: [0x0044], NFKD: [0x0044] }, -{ source: [0x1D674], NFC: [0x1D674], NFD: [0x1D674], NFKC: [0x0045], NFKD: [0x0045] }, -{ source: [0x1D675], NFC: [0x1D675], NFD: [0x1D675], NFKC: [0x0046], NFKD: [0x0046] }, -{ source: [0x1D676], NFC: [0x1D676], NFD: [0x1D676], NFKC: [0x0047], NFKD: [0x0047] }, -{ source: [0x1D677], NFC: [0x1D677], NFD: [0x1D677], NFKC: [0x0048], NFKD: [0x0048] }, -{ source: [0x1D678], NFC: [0x1D678], NFD: [0x1D678], NFKC: [0x0049], NFKD: [0x0049] }, -{ source: [0x1D679], NFC: [0x1D679], NFD: [0x1D679], NFKC: [0x004A], NFKD: [0x004A] }, -{ source: [0x1D67A], NFC: [0x1D67A], NFD: [0x1D67A], NFKC: [0x004B], NFKD: [0x004B] }, -{ source: [0x1D67B], NFC: [0x1D67B], NFD: [0x1D67B], NFKC: [0x004C], NFKD: [0x004C] }, -{ source: [0x1D67C], NFC: [0x1D67C], NFD: [0x1D67C], NFKC: [0x004D], NFKD: [0x004D] }, -{ source: [0x1D67D], NFC: [0x1D67D], NFD: [0x1D67D], NFKC: [0x004E], NFKD: [0x004E] }, -{ source: [0x1D67E], NFC: [0x1D67E], NFD: [0x1D67E], NFKC: [0x004F], NFKD: [0x004F] }, -{ source: [0x1D67F], NFC: [0x1D67F], NFD: [0x1D67F], NFKC: [0x0050], NFKD: [0x0050] }, -{ source: [0x1D680], NFC: [0x1D680], NFD: [0x1D680], NFKC: [0x0051], NFKD: [0x0051] }, -{ source: [0x1D681], NFC: [0x1D681], NFD: [0x1D681], NFKC: [0x0052], NFKD: [0x0052] }, -{ source: [0x1D682], NFC: [0x1D682], NFD: [0x1D682], NFKC: [0x0053], NFKD: [0x0053] }, -{ source: [0x1D683], NFC: [0x1D683], NFD: [0x1D683], NFKC: [0x0054], NFKD: [0x0054] }, -{ source: [0x1D684], NFC: [0x1D684], NFD: [0x1D684], NFKC: [0x0055], NFKD: [0x0055] }, -{ source: [0x1D685], NFC: [0x1D685], NFD: [0x1D685], NFKC: [0x0056], NFKD: [0x0056] }, -{ source: [0x1D686], NFC: [0x1D686], NFD: [0x1D686], NFKC: [0x0057], NFKD: [0x0057] }, -{ source: [0x1D687], NFC: [0x1D687], NFD: [0x1D687], NFKC: [0x0058], NFKD: [0x0058] }, -{ source: [0x1D688], NFC: [0x1D688], NFD: [0x1D688], NFKC: [0x0059], NFKD: [0x0059] }, -{ source: [0x1D689], NFC: [0x1D689], NFD: [0x1D689], NFKC: [0x005A], NFKD: [0x005A] }, -{ source: [0x1D68A], NFC: [0x1D68A], NFD: [0x1D68A], NFKC: [0x0061], NFKD: [0x0061] }, -{ source: [0x1D68B], NFC: [0x1D68B], NFD: [0x1D68B], NFKC: [0x0062], NFKD: [0x0062] }, -{ source: [0x1D68C], NFC: [0x1D68C], NFD: [0x1D68C], NFKC: [0x0063], NFKD: [0x0063] }, -{ source: [0x1D68D], NFC: [0x1D68D], NFD: [0x1D68D], NFKC: [0x0064], NFKD: [0x0064] }, -{ source: [0x1D68E], NFC: [0x1D68E], NFD: [0x1D68E], NFKC: [0x0065], NFKD: [0x0065] }, -{ source: [0x1D68F], NFC: [0x1D68F], NFD: [0x1D68F], NFKC: [0x0066], NFKD: [0x0066] }, -{ source: [0x1D690], NFC: [0x1D690], NFD: [0x1D690], NFKC: [0x0067], NFKD: [0x0067] }, -{ source: [0x1D691], NFC: [0x1D691], NFD: [0x1D691], NFKC: [0x0068], NFKD: [0x0068] }, -{ source: [0x1D692], NFC: [0x1D692], NFD: [0x1D692], NFKC: [0x0069], NFKD: [0x0069] }, -{ source: [0x1D693], NFC: [0x1D693], NFD: [0x1D693], NFKC: [0x006A], NFKD: [0x006A] }, -{ source: [0x1D694], NFC: [0x1D694], NFD: [0x1D694], NFKC: [0x006B], NFKD: [0x006B] }, -{ source: [0x1D695], NFC: [0x1D695], NFD: [0x1D695], NFKC: [0x006C], NFKD: [0x006C] }, -{ source: [0x1D696], NFC: [0x1D696], NFD: [0x1D696], NFKC: [0x006D], NFKD: [0x006D] }, -{ source: [0x1D697], NFC: [0x1D697], NFD: [0x1D697], NFKC: [0x006E], NFKD: [0x006E] }, -{ source: [0x1D698], NFC: [0x1D698], NFD: [0x1D698], NFKC: [0x006F], NFKD: [0x006F] }, -{ source: [0x1D699], NFC: [0x1D699], NFD: [0x1D699], NFKC: [0x0070], NFKD: [0x0070] }, -{ source: [0x1D69A], NFC: [0x1D69A], NFD: [0x1D69A], NFKC: [0x0071], NFKD: [0x0071] }, -{ source: [0x1D69B], NFC: [0x1D69B], NFD: [0x1D69B], NFKC: [0x0072], NFKD: [0x0072] }, -{ source: [0x1D69C], NFC: [0x1D69C], NFD: [0x1D69C], NFKC: [0x0073], NFKD: [0x0073] }, -{ source: [0x1D69D], NFC: [0x1D69D], NFD: [0x1D69D], NFKC: [0x0074], NFKD: [0x0074] }, -{ source: [0x1D69E], NFC: [0x1D69E], NFD: [0x1D69E], NFKC: [0x0075], NFKD: [0x0075] }, -{ source: [0x1D69F], NFC: [0x1D69F], NFD: [0x1D69F], NFKC: [0x0076], NFKD: [0x0076] }, -{ source: [0x1D6A0], NFC: [0x1D6A0], NFD: [0x1D6A0], NFKC: [0x0077], NFKD: [0x0077] }, -{ source: [0x1D6A1], NFC: [0x1D6A1], NFD: [0x1D6A1], NFKC: [0x0078], NFKD: [0x0078] }, -{ source: [0x1D6A2], NFC: [0x1D6A2], NFD: [0x1D6A2], NFKC: [0x0079], NFKD: [0x0079] }, -{ source: [0x1D6A3], NFC: [0x1D6A3], NFD: [0x1D6A3], NFKC: [0x007A], NFKD: [0x007A] }, -{ source: [0x1D6A4], NFC: [0x1D6A4], NFD: [0x1D6A4], NFKC: [0x0131], NFKD: [0x0131] }, -{ source: [0x1D6A5], NFC: [0x1D6A5], NFD: [0x1D6A5], NFKC: [0x0237], NFKD: [0x0237] }, -{ source: [0x1D6A8], NFC: [0x1D6A8], NFD: [0x1D6A8], NFKC: [0x0391], NFKD: [0x0391] }, -{ source: [0x1D6A9], NFC: [0x1D6A9], NFD: [0x1D6A9], NFKC: [0x0392], NFKD: [0x0392] }, -{ source: [0x1D6AA], NFC: [0x1D6AA], NFD: [0x1D6AA], NFKC: [0x0393], NFKD: [0x0393] }, -{ source: [0x1D6AB], NFC: [0x1D6AB], NFD: [0x1D6AB], NFKC: [0x0394], NFKD: [0x0394] }, -{ source: [0x1D6AC], NFC: [0x1D6AC], NFD: [0x1D6AC], NFKC: [0x0395], NFKD: [0x0395] }, -{ source: [0x1D6AD], NFC: [0x1D6AD], NFD: [0x1D6AD], NFKC: [0x0396], NFKD: [0x0396] }, -{ source: [0x1D6AE], NFC: [0x1D6AE], NFD: [0x1D6AE], NFKC: [0x0397], NFKD: [0x0397] }, -{ source: [0x1D6AF], NFC: [0x1D6AF], NFD: [0x1D6AF], NFKC: [0x0398], NFKD: [0x0398] }, -{ source: [0x1D6B0], NFC: [0x1D6B0], NFD: [0x1D6B0], NFKC: [0x0399], NFKD: [0x0399] }, -{ source: [0x1D6B1], NFC: [0x1D6B1], NFD: [0x1D6B1], NFKC: [0x039A], NFKD: [0x039A] }, -{ source: [0x1D6B2], NFC: [0x1D6B2], NFD: [0x1D6B2], NFKC: [0x039B], NFKD: [0x039B] }, -{ source: [0x1D6B3], NFC: [0x1D6B3], NFD: [0x1D6B3], NFKC: [0x039C], NFKD: [0x039C] }, -{ source: [0x1D6B4], NFC: [0x1D6B4], NFD: [0x1D6B4], NFKC: [0x039D], NFKD: [0x039D] }, -{ source: [0x1D6B5], NFC: [0x1D6B5], NFD: [0x1D6B5], NFKC: [0x039E], NFKD: [0x039E] }, -{ source: [0x1D6B6], NFC: [0x1D6B6], NFD: [0x1D6B6], NFKC: [0x039F], NFKD: [0x039F] }, -{ source: [0x1D6B7], NFC: [0x1D6B7], NFD: [0x1D6B7], NFKC: [0x03A0], NFKD: [0x03A0] }, -{ source: [0x1D6B8], NFC: [0x1D6B8], NFD: [0x1D6B8], NFKC: [0x03A1], NFKD: [0x03A1] }, -{ source: [0x1D6B9], NFC: [0x1D6B9], NFD: [0x1D6B9], NFKC: [0x0398], NFKD: [0x0398] }, -{ source: [0x1D6BA], NFC: [0x1D6BA], NFD: [0x1D6BA], NFKC: [0x03A3], NFKD: [0x03A3] }, -{ source: [0x1D6BB], NFC: [0x1D6BB], NFD: [0x1D6BB], NFKC: [0x03A4], NFKD: [0x03A4] }, -{ source: [0x1D6BC], NFC: [0x1D6BC], NFD: [0x1D6BC], NFKC: [0x03A5], NFKD: [0x03A5] }, -{ source: [0x1D6BD], NFC: [0x1D6BD], NFD: [0x1D6BD], NFKC: [0x03A6], NFKD: [0x03A6] }, -{ source: [0x1D6BE], NFC: [0x1D6BE], NFD: [0x1D6BE], NFKC: [0x03A7], NFKD: [0x03A7] }, -{ source: [0x1D6BF], NFC: [0x1D6BF], NFD: [0x1D6BF], NFKC: [0x03A8], NFKD: [0x03A8] }, -{ source: [0x1D6C0], NFC: [0x1D6C0], NFD: [0x1D6C0], NFKC: [0x03A9], NFKD: [0x03A9] }, -{ source: [0x1D6C1], NFC: [0x1D6C1], NFD: [0x1D6C1], NFKC: [0x2207], NFKD: [0x2207] }, -{ source: [0x1D6C2], NFC: [0x1D6C2], NFD: [0x1D6C2], NFKC: [0x03B1], NFKD: [0x03B1] }, -{ source: [0x1D6C3], NFC: [0x1D6C3], NFD: [0x1D6C3], NFKC: [0x03B2], NFKD: [0x03B2] }, -{ source: [0x1D6C4], NFC: [0x1D6C4], NFD: [0x1D6C4], NFKC: [0x03B3], NFKD: [0x03B3] }, -{ source: [0x1D6C5], NFC: [0x1D6C5], NFD: [0x1D6C5], NFKC: [0x03B4], NFKD: [0x03B4] }, -{ source: [0x1D6C6], NFC: [0x1D6C6], NFD: [0x1D6C6], NFKC: [0x03B5], NFKD: [0x03B5] }, -{ source: [0x1D6C7], NFC: [0x1D6C7], NFD: [0x1D6C7], NFKC: [0x03B6], NFKD: [0x03B6] }, -{ source: [0x1D6C8], NFC: [0x1D6C8], NFD: [0x1D6C8], NFKC: [0x03B7], NFKD: [0x03B7] }, -{ source: [0x1D6C9], NFC: [0x1D6C9], NFD: [0x1D6C9], NFKC: [0x03B8], NFKD: [0x03B8] }, -{ source: [0x1D6CA], NFC: [0x1D6CA], NFD: [0x1D6CA], NFKC: [0x03B9], NFKD: [0x03B9] }, -{ source: [0x1D6CB], NFC: [0x1D6CB], NFD: [0x1D6CB], NFKC: [0x03BA], NFKD: [0x03BA] }, -{ source: [0x1D6CC], NFC: [0x1D6CC], NFD: [0x1D6CC], NFKC: [0x03BB], NFKD: [0x03BB] }, -{ source: [0x1D6CD], NFC: [0x1D6CD], NFD: [0x1D6CD], NFKC: [0x03BC], NFKD: [0x03BC] }, -{ source: [0x1D6CE], NFC: [0x1D6CE], NFD: [0x1D6CE], NFKC: [0x03BD], NFKD: [0x03BD] }, -{ source: [0x1D6CF], NFC: [0x1D6CF], NFD: [0x1D6CF], NFKC: [0x03BE], NFKD: [0x03BE] }, -{ source: [0x1D6D0], NFC: [0x1D6D0], NFD: [0x1D6D0], NFKC: [0x03BF], NFKD: [0x03BF] }, -{ source: [0x1D6D1], NFC: [0x1D6D1], NFD: [0x1D6D1], NFKC: [0x03C0], NFKD: [0x03C0] }, -{ source: [0x1D6D2], NFC: [0x1D6D2], NFD: [0x1D6D2], NFKC: [0x03C1], NFKD: [0x03C1] }, -{ source: [0x1D6D3], NFC: [0x1D6D3], NFD: [0x1D6D3], NFKC: [0x03C2], NFKD: [0x03C2] }, -{ source: [0x1D6D4], NFC: [0x1D6D4], NFD: [0x1D6D4], NFKC: [0x03C3], NFKD: [0x03C3] }, -{ source: [0x1D6D5], NFC: [0x1D6D5], NFD: [0x1D6D5], NFKC: [0x03C4], NFKD: [0x03C4] }, -{ source: [0x1D6D6], NFC: [0x1D6D6], NFD: [0x1D6D6], NFKC: [0x03C5], NFKD: [0x03C5] }, -{ source: [0x1D6D7], NFC: [0x1D6D7], NFD: [0x1D6D7], NFKC: [0x03C6], NFKD: [0x03C6] }, -{ source: [0x1D6D8], NFC: [0x1D6D8], NFD: [0x1D6D8], NFKC: [0x03C7], NFKD: [0x03C7] }, -{ source: [0x1D6D9], NFC: [0x1D6D9], NFD: [0x1D6D9], NFKC: [0x03C8], NFKD: [0x03C8] }, -{ source: [0x1D6DA], NFC: [0x1D6DA], NFD: [0x1D6DA], NFKC: [0x03C9], NFKD: [0x03C9] }, -{ source: [0x1D6DB], NFC: [0x1D6DB], NFD: [0x1D6DB], NFKC: [0x2202], NFKD: [0x2202] }, -{ source: [0x1D6DC], NFC: [0x1D6DC], NFD: [0x1D6DC], NFKC: [0x03B5], NFKD: [0x03B5] }, -{ source: [0x1D6DD], NFC: [0x1D6DD], NFD: [0x1D6DD], NFKC: [0x03B8], NFKD: [0x03B8] }, -{ source: [0x1D6DE], NFC: [0x1D6DE], NFD: [0x1D6DE], NFKC: [0x03BA], NFKD: [0x03BA] }, -{ source: [0x1D6DF], NFC: [0x1D6DF], NFD: [0x1D6DF], NFKC: [0x03C6], NFKD: [0x03C6] }, -{ source: [0x1D6E0], NFC: [0x1D6E0], NFD: [0x1D6E0], NFKC: [0x03C1], NFKD: [0x03C1] }, -{ source: [0x1D6E1], NFC: [0x1D6E1], NFD: [0x1D6E1], NFKC: [0x03C0], NFKD: [0x03C0] }, -{ source: [0x1D6E2], NFC: [0x1D6E2], NFD: [0x1D6E2], NFKC: [0x0391], NFKD: [0x0391] }, -{ source: [0x1D6E3], NFC: [0x1D6E3], NFD: [0x1D6E3], NFKC: [0x0392], NFKD: [0x0392] }, -{ source: [0x1D6E4], NFC: [0x1D6E4], NFD: [0x1D6E4], NFKC: [0x0393], NFKD: [0x0393] }, -{ source: [0x1D6E5], NFC: [0x1D6E5], NFD: [0x1D6E5], NFKC: [0x0394], NFKD: [0x0394] }, -{ source: [0x1D6E6], NFC: [0x1D6E6], NFD: [0x1D6E6], NFKC: [0x0395], NFKD: [0x0395] }, -{ source: [0x1D6E7], NFC: [0x1D6E7], NFD: [0x1D6E7], NFKC: [0x0396], NFKD: [0x0396] }, -{ source: [0x1D6E8], NFC: [0x1D6E8], NFD: [0x1D6E8], NFKC: [0x0397], NFKD: [0x0397] }, -{ source: [0x1D6E9], NFC: [0x1D6E9], NFD: [0x1D6E9], NFKC: [0x0398], NFKD: [0x0398] }, -{ source: [0x1D6EA], NFC: [0x1D6EA], NFD: [0x1D6EA], NFKC: [0x0399], NFKD: [0x0399] }, -{ source: [0x1D6EB], NFC: [0x1D6EB], NFD: [0x1D6EB], NFKC: [0x039A], NFKD: [0x039A] }, -{ source: [0x1D6EC], NFC: [0x1D6EC], NFD: [0x1D6EC], NFKC: [0x039B], NFKD: [0x039B] }, -{ source: [0x1D6ED], NFC: [0x1D6ED], NFD: [0x1D6ED], NFKC: [0x039C], NFKD: [0x039C] }, -{ source: [0x1D6EE], NFC: [0x1D6EE], NFD: [0x1D6EE], NFKC: [0x039D], NFKD: [0x039D] }, -{ source: [0x1D6EF], NFC: [0x1D6EF], NFD: [0x1D6EF], NFKC: [0x039E], NFKD: [0x039E] }, -{ source: [0x1D6F0], NFC: [0x1D6F0], NFD: [0x1D6F0], NFKC: [0x039F], NFKD: [0x039F] }, -{ source: [0x1D6F1], NFC: [0x1D6F1], NFD: [0x1D6F1], NFKC: [0x03A0], NFKD: [0x03A0] }, -{ source: [0x1D6F2], NFC: [0x1D6F2], NFD: [0x1D6F2], NFKC: [0x03A1], NFKD: [0x03A1] }, -{ source: [0x1D6F3], NFC: [0x1D6F3], NFD: [0x1D6F3], NFKC: [0x0398], NFKD: [0x0398] }, -{ source: [0x1D6F4], NFC: [0x1D6F4], NFD: [0x1D6F4], NFKC: [0x03A3], NFKD: [0x03A3] }, -{ source: [0x1D6F5], NFC: [0x1D6F5], NFD: [0x1D6F5], NFKC: [0x03A4], NFKD: [0x03A4] }, -{ source: [0x1D6F6], NFC: [0x1D6F6], NFD: [0x1D6F6], NFKC: [0x03A5], NFKD: [0x03A5] }, -{ source: [0x1D6F7], NFC: [0x1D6F7], NFD: [0x1D6F7], NFKC: [0x03A6], NFKD: [0x03A6] }, -{ source: [0x1D6F8], NFC: [0x1D6F8], NFD: [0x1D6F8], NFKC: [0x03A7], NFKD: [0x03A7] }, -{ source: [0x1D6F9], NFC: [0x1D6F9], NFD: [0x1D6F9], NFKC: [0x03A8], NFKD: [0x03A8] }, -{ source: [0x1D6FA], NFC: [0x1D6FA], NFD: [0x1D6FA], NFKC: [0x03A9], NFKD: [0x03A9] }, -{ source: [0x1D6FB], NFC: [0x1D6FB], NFD: [0x1D6FB], NFKC: [0x2207], NFKD: [0x2207] }, -{ source: [0x1D6FC], NFC: [0x1D6FC], NFD: [0x1D6FC], NFKC: [0x03B1], NFKD: [0x03B1] }, -{ source: [0x1D6FD], NFC: [0x1D6FD], NFD: [0x1D6FD], NFKC: [0x03B2], NFKD: [0x03B2] }, -{ source: [0x1D6FE], NFC: [0x1D6FE], NFD: [0x1D6FE], NFKC: [0x03B3], NFKD: [0x03B3] }, -{ source: [0x1D6FF], NFC: [0x1D6FF], NFD: [0x1D6FF], NFKC: [0x03B4], NFKD: [0x03B4] }, -{ source: [0x1D700], NFC: [0x1D700], NFD: [0x1D700], NFKC: [0x03B5], NFKD: [0x03B5] }, -{ source: [0x1D701], NFC: [0x1D701], NFD: [0x1D701], NFKC: [0x03B6], NFKD: [0x03B6] }, -{ source: [0x1D702], NFC: [0x1D702], NFD: [0x1D702], NFKC: [0x03B7], NFKD: [0x03B7] }, -{ source: [0x1D703], NFC: [0x1D703], NFD: [0x1D703], NFKC: [0x03B8], NFKD: [0x03B8] }, -{ source: [0x1D704], NFC: [0x1D704], NFD: [0x1D704], NFKC: [0x03B9], NFKD: [0x03B9] }, -{ source: [0x1D705], NFC: [0x1D705], NFD: [0x1D705], NFKC: [0x03BA], NFKD: [0x03BA] }, -{ source: [0x1D706], NFC: [0x1D706], NFD: [0x1D706], NFKC: [0x03BB], NFKD: [0x03BB] }, -{ source: [0x1D707], NFC: [0x1D707], NFD: [0x1D707], NFKC: [0x03BC], NFKD: [0x03BC] }, -{ source: [0x1D708], NFC: [0x1D708], NFD: [0x1D708], NFKC: [0x03BD], NFKD: [0x03BD] }, -{ source: [0x1D709], NFC: [0x1D709], NFD: [0x1D709], NFKC: [0x03BE], NFKD: [0x03BE] }, -{ source: [0x1D70A], NFC: [0x1D70A], NFD: [0x1D70A], NFKC: [0x03BF], NFKD: [0x03BF] }, -{ source: [0x1D70B], NFC: [0x1D70B], NFD: [0x1D70B], NFKC: [0x03C0], NFKD: [0x03C0] }, -{ source: [0x1D70C], NFC: [0x1D70C], NFD: [0x1D70C], NFKC: [0x03C1], NFKD: [0x03C1] }, -{ source: [0x1D70D], NFC: [0x1D70D], NFD: [0x1D70D], NFKC: [0x03C2], NFKD: [0x03C2] }, -{ source: [0x1D70E], NFC: [0x1D70E], NFD: [0x1D70E], NFKC: [0x03C3], NFKD: [0x03C3] }, -{ source: [0x1D70F], NFC: [0x1D70F], NFD: [0x1D70F], NFKC: [0x03C4], NFKD: [0x03C4] }, -{ source: [0x1D710], NFC: [0x1D710], NFD: [0x1D710], NFKC: [0x03C5], NFKD: [0x03C5] }, -{ source: [0x1D711], NFC: [0x1D711], NFD: [0x1D711], NFKC: [0x03C6], NFKD: [0x03C6] }, -{ source: [0x1D712], NFC: [0x1D712], NFD: [0x1D712], NFKC: [0x03C7], NFKD: [0x03C7] }, -{ source: [0x1D713], NFC: [0x1D713], NFD: [0x1D713], NFKC: [0x03C8], NFKD: [0x03C8] }, -{ source: [0x1D714], NFC: [0x1D714], NFD: [0x1D714], NFKC: [0x03C9], NFKD: [0x03C9] }, -{ source: [0x1D715], NFC: [0x1D715], NFD: [0x1D715], NFKC: [0x2202], NFKD: [0x2202] }, -{ source: [0x1D716], NFC: [0x1D716], NFD: [0x1D716], NFKC: [0x03B5], NFKD: [0x03B5] }, -{ source: [0x1D717], NFC: [0x1D717], NFD: [0x1D717], NFKC: [0x03B8], NFKD: [0x03B8] }, -{ source: [0x1D718], NFC: [0x1D718], NFD: [0x1D718], NFKC: [0x03BA], NFKD: [0x03BA] }, -{ source: [0x1D719], NFC: [0x1D719], NFD: [0x1D719], NFKC: [0x03C6], NFKD: [0x03C6] }, -{ source: [0x1D71A], NFC: [0x1D71A], NFD: [0x1D71A], NFKC: [0x03C1], NFKD: [0x03C1] }, -{ source: [0x1D71B], NFC: [0x1D71B], NFD: [0x1D71B], NFKC: [0x03C0], NFKD: [0x03C0] }, -{ source: [0x1D71C], NFC: [0x1D71C], NFD: [0x1D71C], NFKC: [0x0391], NFKD: [0x0391] }, -{ source: [0x1D71D], NFC: [0x1D71D], NFD: [0x1D71D], NFKC: [0x0392], NFKD: [0x0392] }, -{ source: [0x1D71E], NFC: [0x1D71E], NFD: [0x1D71E], NFKC: [0x0393], NFKD: [0x0393] }, -{ source: [0x1D71F], NFC: [0x1D71F], NFD: [0x1D71F], NFKC: [0x0394], NFKD: [0x0394] }, -{ source: [0x1D720], NFC: [0x1D720], NFD: [0x1D720], NFKC: [0x0395], NFKD: [0x0395] }, -{ source: [0x1D721], NFC: [0x1D721], NFD: [0x1D721], NFKC: [0x0396], NFKD: [0x0396] }, -{ source: [0x1D722], NFC: [0x1D722], NFD: [0x1D722], NFKC: [0x0397], NFKD: [0x0397] }, -{ source: [0x1D723], NFC: [0x1D723], NFD: [0x1D723], NFKC: [0x0398], NFKD: [0x0398] }, -{ source: [0x1D724], NFC: [0x1D724], NFD: [0x1D724], NFKC: [0x0399], NFKD: [0x0399] }, -{ source: [0x1D725], NFC: [0x1D725], NFD: [0x1D725], NFKC: [0x039A], NFKD: [0x039A] }, -{ source: [0x1D726], NFC: [0x1D726], NFD: [0x1D726], NFKC: [0x039B], NFKD: [0x039B] }, -{ source: [0x1D727], NFC: [0x1D727], NFD: [0x1D727], NFKC: [0x039C], NFKD: [0x039C] }, -{ source: [0x1D728], NFC: [0x1D728], NFD: [0x1D728], NFKC: [0x039D], NFKD: [0x039D] }, -{ source: [0x1D729], NFC: [0x1D729], NFD: [0x1D729], NFKC: [0x039E], NFKD: [0x039E] }, -{ source: [0x1D72A], NFC: [0x1D72A], NFD: [0x1D72A], NFKC: [0x039F], NFKD: [0x039F] }, -{ source: [0x1D72B], NFC: [0x1D72B], NFD: [0x1D72B], NFKC: [0x03A0], NFKD: [0x03A0] }, -{ source: [0x1D72C], NFC: [0x1D72C], NFD: [0x1D72C], NFKC: [0x03A1], NFKD: [0x03A1] }, -{ source: [0x1D72D], NFC: [0x1D72D], NFD: [0x1D72D], NFKC: [0x0398], NFKD: [0x0398] }, -{ source: [0x1D72E], NFC: [0x1D72E], NFD: [0x1D72E], NFKC: [0x03A3], NFKD: [0x03A3] }, -{ source: [0x1D72F], NFC: [0x1D72F], NFD: [0x1D72F], NFKC: [0x03A4], NFKD: [0x03A4] }, -{ source: [0x1D730], NFC: [0x1D730], NFD: [0x1D730], NFKC: [0x03A5], NFKD: [0x03A5] }, -{ source: [0x1D731], NFC: [0x1D731], NFD: [0x1D731], NFKC: [0x03A6], NFKD: [0x03A6] }, -{ source: [0x1D732], NFC: [0x1D732], NFD: [0x1D732], NFKC: [0x03A7], NFKD: [0x03A7] }, -{ source: [0x1D733], NFC: [0x1D733], NFD: [0x1D733], NFKC: [0x03A8], NFKD: [0x03A8] }, -{ source: [0x1D734], NFC: [0x1D734], NFD: [0x1D734], NFKC: [0x03A9], NFKD: [0x03A9] }, -{ source: [0x1D735], NFC: [0x1D735], NFD: [0x1D735], NFKC: [0x2207], NFKD: [0x2207] }, -{ source: [0x1D736], NFC: [0x1D736], NFD: [0x1D736], NFKC: [0x03B1], NFKD: [0x03B1] }, -{ source: [0x1D737], NFC: [0x1D737], NFD: [0x1D737], NFKC: [0x03B2], NFKD: [0x03B2] }, -{ source: [0x1D738], NFC: [0x1D738], NFD: [0x1D738], NFKC: [0x03B3], NFKD: [0x03B3] }, -{ source: [0x1D739], NFC: [0x1D739], NFD: [0x1D739], NFKC: [0x03B4], NFKD: [0x03B4] }, -{ source: [0x1D73A], NFC: [0x1D73A], NFD: [0x1D73A], NFKC: [0x03B5], NFKD: [0x03B5] }, -{ source: [0x1D73B], NFC: [0x1D73B], NFD: [0x1D73B], NFKC: [0x03B6], NFKD: [0x03B6] }, -{ source: [0x1D73C], NFC: [0x1D73C], NFD: [0x1D73C], NFKC: [0x03B7], NFKD: [0x03B7] }, -{ source: [0x1D73D], NFC: [0x1D73D], NFD: [0x1D73D], NFKC: [0x03B8], NFKD: [0x03B8] }, -{ source: [0x1D73E], NFC: [0x1D73E], NFD: [0x1D73E], NFKC: [0x03B9], NFKD: [0x03B9] }, -{ source: [0x1D73F], NFC: [0x1D73F], NFD: [0x1D73F], NFKC: [0x03BA], NFKD: [0x03BA] }, -{ source: [0x1D740], NFC: [0x1D740], NFD: [0x1D740], NFKC: [0x03BB], NFKD: [0x03BB] }, -{ source: [0x1D741], NFC: [0x1D741], NFD: [0x1D741], NFKC: [0x03BC], NFKD: [0x03BC] }, -{ source: [0x1D742], NFC: [0x1D742], NFD: [0x1D742], NFKC: [0x03BD], NFKD: [0x03BD] }, -{ source: [0x1D743], NFC: [0x1D743], NFD: [0x1D743], NFKC: [0x03BE], NFKD: [0x03BE] }, -{ source: [0x1D744], NFC: [0x1D744], NFD: [0x1D744], NFKC: [0x03BF], NFKD: [0x03BF] }, -{ source: [0x1D745], NFC: [0x1D745], NFD: [0x1D745], NFKC: [0x03C0], NFKD: [0x03C0] }, -{ source: [0x1D746], NFC: [0x1D746], NFD: [0x1D746], NFKC: [0x03C1], NFKD: [0x03C1] }, -{ source: [0x1D747], NFC: [0x1D747], NFD: [0x1D747], NFKC: [0x03C2], NFKD: [0x03C2] }, -{ source: [0x1D748], NFC: [0x1D748], NFD: [0x1D748], NFKC: [0x03C3], NFKD: [0x03C3] }, -{ source: [0x1D749], NFC: [0x1D749], NFD: [0x1D749], NFKC: [0x03C4], NFKD: [0x03C4] }, -{ source: [0x1D74A], NFC: [0x1D74A], NFD: [0x1D74A], NFKC: [0x03C5], NFKD: [0x03C5] }, -{ source: [0x1D74B], NFC: [0x1D74B], NFD: [0x1D74B], NFKC: [0x03C6], NFKD: [0x03C6] }, -{ source: [0x1D74C], NFC: [0x1D74C], NFD: [0x1D74C], NFKC: [0x03C7], NFKD: [0x03C7] }, -{ source: [0x1D74D], NFC: [0x1D74D], NFD: [0x1D74D], NFKC: [0x03C8], NFKD: [0x03C8] }, -{ source: [0x1D74E], NFC: [0x1D74E], NFD: [0x1D74E], NFKC: [0x03C9], NFKD: [0x03C9] }, -{ source: [0x1D74F], NFC: [0x1D74F], NFD: [0x1D74F], NFKC: [0x2202], NFKD: [0x2202] }, -{ source: [0x1D750], NFC: [0x1D750], NFD: [0x1D750], NFKC: [0x03B5], NFKD: [0x03B5] }, -{ source: [0x1D751], NFC: [0x1D751], NFD: [0x1D751], NFKC: [0x03B8], NFKD: [0x03B8] }, -{ source: [0x1D752], NFC: [0x1D752], NFD: [0x1D752], NFKC: [0x03BA], NFKD: [0x03BA] }, -{ source: [0x1D753], NFC: [0x1D753], NFD: [0x1D753], NFKC: [0x03C6], NFKD: [0x03C6] }, -{ source: [0x1D754], NFC: [0x1D754], NFD: [0x1D754], NFKC: [0x03C1], NFKD: [0x03C1] }, -{ source: [0x1D755], NFC: [0x1D755], NFD: [0x1D755], NFKC: [0x03C0], NFKD: [0x03C0] }, -{ source: [0x1D756], NFC: [0x1D756], NFD: [0x1D756], NFKC: [0x0391], NFKD: [0x0391] }, -{ source: [0x1D757], NFC: [0x1D757], NFD: [0x1D757], NFKC: [0x0392], NFKD: [0x0392] }, -{ source: [0x1D758], NFC: [0x1D758], NFD: [0x1D758], NFKC: [0x0393], NFKD: [0x0393] }, -{ source: [0x1D759], NFC: [0x1D759], NFD: [0x1D759], NFKC: [0x0394], NFKD: [0x0394] }, -{ source: [0x1D75A], NFC: [0x1D75A], NFD: [0x1D75A], NFKC: [0x0395], NFKD: [0x0395] }, -{ source: [0x1D75B], NFC: [0x1D75B], NFD: [0x1D75B], NFKC: [0x0396], NFKD: [0x0396] }, -{ source: [0x1D75C], NFC: [0x1D75C], NFD: [0x1D75C], NFKC: [0x0397], NFKD: [0x0397] }, -{ source: [0x1D75D], NFC: [0x1D75D], NFD: [0x1D75D], NFKC: [0x0398], NFKD: [0x0398] }, -{ source: [0x1D75E], NFC: [0x1D75E], NFD: [0x1D75E], NFKC: [0x0399], NFKD: [0x0399] }, -{ source: [0x1D75F], NFC: [0x1D75F], NFD: [0x1D75F], NFKC: [0x039A], NFKD: [0x039A] }, -{ source: [0x1D760], NFC: [0x1D760], NFD: [0x1D760], NFKC: [0x039B], NFKD: [0x039B] }, -{ source: [0x1D761], NFC: [0x1D761], NFD: [0x1D761], NFKC: [0x039C], NFKD: [0x039C] }, -{ source: [0x1D762], NFC: [0x1D762], NFD: [0x1D762], NFKC: [0x039D], NFKD: [0x039D] }, -{ source: [0x1D763], NFC: [0x1D763], NFD: [0x1D763], NFKC: [0x039E], NFKD: [0x039E] }, -{ source: [0x1D764], NFC: [0x1D764], NFD: [0x1D764], NFKC: [0x039F], NFKD: [0x039F] }, -{ source: [0x1D765], NFC: [0x1D765], NFD: [0x1D765], NFKC: [0x03A0], NFKD: [0x03A0] }, -{ source: [0x1D766], NFC: [0x1D766], NFD: [0x1D766], NFKC: [0x03A1], NFKD: [0x03A1] }, -{ source: [0x1D767], NFC: [0x1D767], NFD: [0x1D767], NFKC: [0x0398], NFKD: [0x0398] }, -{ source: [0x1D768], NFC: [0x1D768], NFD: [0x1D768], NFKC: [0x03A3], NFKD: [0x03A3] }, -{ source: [0x1D769], NFC: [0x1D769], NFD: [0x1D769], NFKC: [0x03A4], NFKD: [0x03A4] }, -{ source: [0x1D76A], NFC: [0x1D76A], NFD: [0x1D76A], NFKC: [0x03A5], NFKD: [0x03A5] }, -{ source: [0x1D76B], NFC: [0x1D76B], NFD: [0x1D76B], NFKC: [0x03A6], NFKD: [0x03A6] }, -{ source: [0x1D76C], NFC: [0x1D76C], NFD: [0x1D76C], NFKC: [0x03A7], NFKD: [0x03A7] }, -{ source: [0x1D76D], NFC: [0x1D76D], NFD: [0x1D76D], NFKC: [0x03A8], NFKD: [0x03A8] }, -{ source: [0x1D76E], NFC: [0x1D76E], NFD: [0x1D76E], NFKC: [0x03A9], NFKD: [0x03A9] }, -{ source: [0x1D76F], NFC: [0x1D76F], NFD: [0x1D76F], NFKC: [0x2207], NFKD: [0x2207] }, -{ source: [0x1D770], NFC: [0x1D770], NFD: [0x1D770], NFKC: [0x03B1], NFKD: [0x03B1] }, -{ source: [0x1D771], NFC: [0x1D771], NFD: [0x1D771], NFKC: [0x03B2], NFKD: [0x03B2] }, -{ source: [0x1D772], NFC: [0x1D772], NFD: [0x1D772], NFKC: [0x03B3], NFKD: [0x03B3] }, -{ source: [0x1D773], NFC: [0x1D773], NFD: [0x1D773], NFKC: [0x03B4], NFKD: [0x03B4] }, -{ source: [0x1D774], NFC: [0x1D774], NFD: [0x1D774], NFKC: [0x03B5], NFKD: [0x03B5] }, -{ source: [0x1D775], NFC: [0x1D775], NFD: [0x1D775], NFKC: [0x03B6], NFKD: [0x03B6] }, -{ source: [0x1D776], NFC: [0x1D776], NFD: [0x1D776], NFKC: [0x03B7], NFKD: [0x03B7] }, -{ source: [0x1D777], NFC: [0x1D777], NFD: [0x1D777], NFKC: [0x03B8], NFKD: [0x03B8] }, -{ source: [0x1D778], NFC: [0x1D778], NFD: [0x1D778], NFKC: [0x03B9], NFKD: [0x03B9] }, -{ source: [0x1D779], NFC: [0x1D779], NFD: [0x1D779], NFKC: [0x03BA], NFKD: [0x03BA] }, -{ source: [0x1D77A], NFC: [0x1D77A], NFD: [0x1D77A], NFKC: [0x03BB], NFKD: [0x03BB] }, -{ source: [0x1D77B], NFC: [0x1D77B], NFD: [0x1D77B], NFKC: [0x03BC], NFKD: [0x03BC] }, -{ source: [0x1D77C], NFC: [0x1D77C], NFD: [0x1D77C], NFKC: [0x03BD], NFKD: [0x03BD] }, -{ source: [0x1D77D], NFC: [0x1D77D], NFD: [0x1D77D], NFKC: [0x03BE], NFKD: [0x03BE] }, -{ source: [0x1D77E], NFC: [0x1D77E], NFD: [0x1D77E], NFKC: [0x03BF], NFKD: [0x03BF] }, -{ source: [0x1D77F], NFC: [0x1D77F], NFD: [0x1D77F], NFKC: [0x03C0], NFKD: [0x03C0] }, -{ source: [0x1D780], NFC: [0x1D780], NFD: [0x1D780], NFKC: [0x03C1], NFKD: [0x03C1] }, -{ source: [0x1D781], NFC: [0x1D781], NFD: [0x1D781], NFKC: [0x03C2], NFKD: [0x03C2] }, -{ source: [0x1D782], NFC: [0x1D782], NFD: [0x1D782], NFKC: [0x03C3], NFKD: [0x03C3] }, -{ source: [0x1D783], NFC: [0x1D783], NFD: [0x1D783], NFKC: [0x03C4], NFKD: [0x03C4] }, -{ source: [0x1D784], NFC: [0x1D784], NFD: [0x1D784], NFKC: [0x03C5], NFKD: [0x03C5] }, -{ source: [0x1D785], NFC: [0x1D785], NFD: [0x1D785], NFKC: [0x03C6], NFKD: [0x03C6] }, -{ source: [0x1D786], NFC: [0x1D786], NFD: [0x1D786], NFKC: [0x03C7], NFKD: [0x03C7] }, -{ source: [0x1D787], NFC: [0x1D787], NFD: [0x1D787], NFKC: [0x03C8], NFKD: [0x03C8] }, -{ source: [0x1D788], NFC: [0x1D788], NFD: [0x1D788], NFKC: [0x03C9], NFKD: [0x03C9] }, -{ source: [0x1D789], NFC: [0x1D789], NFD: [0x1D789], NFKC: [0x2202], NFKD: [0x2202] }, -{ source: [0x1D78A], NFC: [0x1D78A], NFD: [0x1D78A], NFKC: [0x03B5], NFKD: [0x03B5] }, -{ source: [0x1D78B], NFC: [0x1D78B], NFD: [0x1D78B], NFKC: [0x03B8], NFKD: [0x03B8] }, -{ source: [0x1D78C], NFC: [0x1D78C], NFD: [0x1D78C], NFKC: [0x03BA], NFKD: [0x03BA] }, -{ source: [0x1D78D], NFC: [0x1D78D], NFD: [0x1D78D], NFKC: [0x03C6], NFKD: [0x03C6] }, -{ source: [0x1D78E], NFC: [0x1D78E], NFD: [0x1D78E], NFKC: [0x03C1], NFKD: [0x03C1] }, -{ source: [0x1D78F], NFC: [0x1D78F], NFD: [0x1D78F], NFKC: [0x03C0], NFKD: [0x03C0] }, -{ source: [0x1D790], NFC: [0x1D790], NFD: [0x1D790], NFKC: [0x0391], NFKD: [0x0391] }, -{ source: [0x1D791], NFC: [0x1D791], NFD: [0x1D791], NFKC: [0x0392], NFKD: [0x0392] }, -{ source: [0x1D792], NFC: [0x1D792], NFD: [0x1D792], NFKC: [0x0393], NFKD: [0x0393] }, -{ source: [0x1D793], NFC: [0x1D793], NFD: [0x1D793], NFKC: [0x0394], NFKD: [0x0394] }, -{ source: [0x1D794], NFC: [0x1D794], NFD: [0x1D794], NFKC: [0x0395], NFKD: [0x0395] }, -{ source: [0x1D795], NFC: [0x1D795], NFD: [0x1D795], NFKC: [0x0396], NFKD: [0x0396] }, -{ source: [0x1D796], NFC: [0x1D796], NFD: [0x1D796], NFKC: [0x0397], NFKD: [0x0397] }, -{ source: [0x1D797], NFC: [0x1D797], NFD: [0x1D797], NFKC: [0x0398], NFKD: [0x0398] }, -{ source: [0x1D798], NFC: [0x1D798], NFD: [0x1D798], NFKC: [0x0399], NFKD: [0x0399] }, -{ source: [0x1D799], NFC: [0x1D799], NFD: [0x1D799], NFKC: [0x039A], NFKD: [0x039A] }, -{ source: [0x1D79A], NFC: [0x1D79A], NFD: [0x1D79A], NFKC: [0x039B], NFKD: [0x039B] }, -{ source: [0x1D79B], NFC: [0x1D79B], NFD: [0x1D79B], NFKC: [0x039C], NFKD: [0x039C] }, -{ source: [0x1D79C], NFC: [0x1D79C], NFD: [0x1D79C], NFKC: [0x039D], NFKD: [0x039D] }, -{ source: [0x1D79D], NFC: [0x1D79D], NFD: [0x1D79D], NFKC: [0x039E], NFKD: [0x039E] }, -{ source: [0x1D79E], NFC: [0x1D79E], NFD: [0x1D79E], NFKC: [0x039F], NFKD: [0x039F] }, -{ source: [0x1D79F], NFC: [0x1D79F], NFD: [0x1D79F], NFKC: [0x03A0], NFKD: [0x03A0] }, -{ source: [0x1D7A0], NFC: [0x1D7A0], NFD: [0x1D7A0], NFKC: [0x03A1], NFKD: [0x03A1] }, -{ source: [0x1D7A1], NFC: [0x1D7A1], NFD: [0x1D7A1], NFKC: [0x0398], NFKD: [0x0398] }, -{ source: [0x1D7A2], NFC: [0x1D7A2], NFD: [0x1D7A2], NFKC: [0x03A3], NFKD: [0x03A3] }, -{ source: [0x1D7A3], NFC: [0x1D7A3], NFD: [0x1D7A3], NFKC: [0x03A4], NFKD: [0x03A4] }, -{ source: [0x1D7A4], NFC: [0x1D7A4], NFD: [0x1D7A4], NFKC: [0x03A5], NFKD: [0x03A5] }, -{ source: [0x1D7A5], NFC: [0x1D7A5], NFD: [0x1D7A5], NFKC: [0x03A6], NFKD: [0x03A6] }, -{ source: [0x1D7A6], NFC: [0x1D7A6], NFD: [0x1D7A6], NFKC: [0x03A7], NFKD: [0x03A7] }, -{ source: [0x1D7A7], NFC: [0x1D7A7], NFD: [0x1D7A7], NFKC: [0x03A8], NFKD: [0x03A8] }, -{ source: [0x1D7A8], NFC: [0x1D7A8], NFD: [0x1D7A8], NFKC: [0x03A9], NFKD: [0x03A9] }, -{ source: [0x1D7A9], NFC: [0x1D7A9], NFD: [0x1D7A9], NFKC: [0x2207], NFKD: [0x2207] }, -{ source: [0x1D7AA], NFC: [0x1D7AA], NFD: [0x1D7AA], NFKC: [0x03B1], NFKD: [0x03B1] }, -{ source: [0x1D7AB], NFC: [0x1D7AB], NFD: [0x1D7AB], NFKC: [0x03B2], NFKD: [0x03B2] }, -{ source: [0x1D7AC], NFC: [0x1D7AC], NFD: [0x1D7AC], NFKC: [0x03B3], NFKD: [0x03B3] }, -{ source: [0x1D7AD], NFC: [0x1D7AD], NFD: [0x1D7AD], NFKC: [0x03B4], NFKD: [0x03B4] }, -{ source: [0x1D7AE], NFC: [0x1D7AE], NFD: [0x1D7AE], NFKC: [0x03B5], NFKD: [0x03B5] }, -{ source: [0x1D7AF], NFC: [0x1D7AF], NFD: [0x1D7AF], NFKC: [0x03B6], NFKD: [0x03B6] }, -{ source: [0x1D7B0], NFC: [0x1D7B0], NFD: [0x1D7B0], NFKC: [0x03B7], NFKD: [0x03B7] }, -{ source: [0x1D7B1], NFC: [0x1D7B1], NFD: [0x1D7B1], NFKC: [0x03B8], NFKD: [0x03B8] }, -{ source: [0x1D7B2], NFC: [0x1D7B2], NFD: [0x1D7B2], NFKC: [0x03B9], NFKD: [0x03B9] }, -{ source: [0x1D7B3], NFC: [0x1D7B3], NFD: [0x1D7B3], NFKC: [0x03BA], NFKD: [0x03BA] }, -{ source: [0x1D7B4], NFC: [0x1D7B4], NFD: [0x1D7B4], NFKC: [0x03BB], NFKD: [0x03BB] }, -{ source: [0x1D7B5], NFC: [0x1D7B5], NFD: [0x1D7B5], NFKC: [0x03BC], NFKD: [0x03BC] }, -{ source: [0x1D7B6], NFC: [0x1D7B6], NFD: [0x1D7B6], NFKC: [0x03BD], NFKD: [0x03BD] }, -{ source: [0x1D7B7], NFC: [0x1D7B7], NFD: [0x1D7B7], NFKC: [0x03BE], NFKD: [0x03BE] }, -{ source: [0x1D7B8], NFC: [0x1D7B8], NFD: [0x1D7B8], NFKC: [0x03BF], NFKD: [0x03BF] }, -{ source: [0x1D7B9], NFC: [0x1D7B9], NFD: [0x1D7B9], NFKC: [0x03C0], NFKD: [0x03C0] }, -{ source: [0x1D7BA], NFC: [0x1D7BA], NFD: [0x1D7BA], NFKC: [0x03C1], NFKD: [0x03C1] }, -{ source: [0x1D7BB], NFC: [0x1D7BB], NFD: [0x1D7BB], NFKC: [0x03C2], NFKD: [0x03C2] }, -{ source: [0x1D7BC], NFC: [0x1D7BC], NFD: [0x1D7BC], NFKC: [0x03C3], NFKD: [0x03C3] }, -{ source: [0x1D7BD], NFC: [0x1D7BD], NFD: [0x1D7BD], NFKC: [0x03C4], NFKD: [0x03C4] }, -{ source: [0x1D7BE], NFC: [0x1D7BE], NFD: [0x1D7BE], NFKC: [0x03C5], NFKD: [0x03C5] }, -{ source: [0x1D7BF], NFC: [0x1D7BF], NFD: [0x1D7BF], NFKC: [0x03C6], NFKD: [0x03C6] }, -{ source: [0x1D7C0], NFC: [0x1D7C0], NFD: [0x1D7C0], NFKC: [0x03C7], NFKD: [0x03C7] }, -{ source: [0x1D7C1], NFC: [0x1D7C1], NFD: [0x1D7C1], NFKC: [0x03C8], NFKD: [0x03C8] }, -{ source: [0x1D7C2], NFC: [0x1D7C2], NFD: [0x1D7C2], NFKC: [0x03C9], NFKD: [0x03C9] }, -{ source: [0x1D7C3], NFC: [0x1D7C3], NFD: [0x1D7C3], NFKC: [0x2202], NFKD: [0x2202] }, -{ source: [0x1D7C4], NFC: [0x1D7C4], NFD: [0x1D7C4], NFKC: [0x03B5], NFKD: [0x03B5] }, -{ source: [0x1D7C5], NFC: [0x1D7C5], NFD: [0x1D7C5], NFKC: [0x03B8], NFKD: [0x03B8] }, -{ source: [0x1D7C6], NFC: [0x1D7C6], NFD: [0x1D7C6], NFKC: [0x03BA], NFKD: [0x03BA] }, -{ source: [0x1D7C7], NFC: [0x1D7C7], NFD: [0x1D7C7], NFKC: [0x03C6], NFKD: [0x03C6] }, -{ source: [0x1D7C8], NFC: [0x1D7C8], NFD: [0x1D7C8], NFKC: [0x03C1], NFKD: [0x03C1] }, -{ source: [0x1D7C9], NFC: [0x1D7C9], NFD: [0x1D7C9], NFKC: [0x03C0], NFKD: [0x03C0] }, -{ source: [0x1D7CA], NFC: [0x1D7CA], NFD: [0x1D7CA], NFKC: [0x03DC], NFKD: [0x03DC] }, -{ source: [0x1D7CB], NFC: [0x1D7CB], NFD: [0x1D7CB], NFKC: [0x03DD], NFKD: [0x03DD] }, -{ source: [0x1D7CE], NFC: [0x1D7CE], NFD: [0x1D7CE], NFKC: [0x0030], NFKD: [0x0030] }, -{ source: [0x1D7CF], NFC: [0x1D7CF], NFD: [0x1D7CF], NFKC: [0x0031], NFKD: [0x0031] }, -{ source: [0x1D7D0], NFC: [0x1D7D0], NFD: [0x1D7D0], NFKC: [0x0032], NFKD: [0x0032] }, -{ source: [0x1D7D1], NFC: [0x1D7D1], NFD: [0x1D7D1], NFKC: [0x0033], NFKD: [0x0033] }, -{ source: [0x1D7D2], NFC: [0x1D7D2], NFD: [0x1D7D2], NFKC: [0x0034], NFKD: [0x0034] }, -{ source: [0x1D7D3], NFC: [0x1D7D3], NFD: [0x1D7D3], NFKC: [0x0035], NFKD: [0x0035] }, -{ source: [0x1D7D4], NFC: [0x1D7D4], NFD: [0x1D7D4], NFKC: [0x0036], NFKD: [0x0036] }, -{ source: [0x1D7D5], NFC: [0x1D7D5], NFD: [0x1D7D5], NFKC: [0x0037], NFKD: [0x0037] }, -{ source: [0x1D7D6], NFC: [0x1D7D6], NFD: [0x1D7D6], NFKC: [0x0038], NFKD: [0x0038] }, -{ source: [0x1D7D7], NFC: [0x1D7D7], NFD: [0x1D7D7], NFKC: [0x0039], NFKD: [0x0039] }, -{ source: [0x1D7D8], NFC: [0x1D7D8], NFD: [0x1D7D8], NFKC: [0x0030], NFKD: [0x0030] }, -{ source: [0x1D7D9], NFC: [0x1D7D9], NFD: [0x1D7D9], NFKC: [0x0031], NFKD: [0x0031] }, -{ source: [0x1D7DA], NFC: [0x1D7DA], NFD: [0x1D7DA], NFKC: [0x0032], NFKD: [0x0032] }, -{ source: [0x1D7DB], NFC: [0x1D7DB], NFD: [0x1D7DB], NFKC: [0x0033], NFKD: [0x0033] }, -{ source: [0x1D7DC], NFC: [0x1D7DC], NFD: [0x1D7DC], NFKC: [0x0034], NFKD: [0x0034] }, -{ source: [0x1D7DD], NFC: [0x1D7DD], NFD: [0x1D7DD], NFKC: [0x0035], NFKD: [0x0035] }, -{ source: [0x1D7DE], NFC: [0x1D7DE], NFD: [0x1D7DE], NFKC: [0x0036], NFKD: [0x0036] }, -{ source: [0x1D7DF], NFC: [0x1D7DF], NFD: [0x1D7DF], NFKC: [0x0037], NFKD: [0x0037] }, -{ source: [0x1D7E0], NFC: [0x1D7E0], NFD: [0x1D7E0], NFKC: [0x0038], NFKD: [0x0038] }, -{ source: [0x1D7E1], NFC: [0x1D7E1], NFD: [0x1D7E1], NFKC: [0x0039], NFKD: [0x0039] }, -{ source: [0x1D7E2], NFC: [0x1D7E2], NFD: [0x1D7E2], NFKC: [0x0030], NFKD: [0x0030] }, -{ source: [0x1D7E3], NFC: [0x1D7E3], NFD: [0x1D7E3], NFKC: [0x0031], NFKD: [0x0031] }, -{ source: [0x1D7E4], NFC: [0x1D7E4], NFD: [0x1D7E4], NFKC: [0x0032], NFKD: [0x0032] }, -{ source: [0x1D7E5], NFC: [0x1D7E5], NFD: [0x1D7E5], NFKC: [0x0033], NFKD: [0x0033] }, -{ source: [0x1D7E6], NFC: [0x1D7E6], NFD: [0x1D7E6], NFKC: [0x0034], NFKD: [0x0034] }, -{ source: [0x1D7E7], NFC: [0x1D7E7], NFD: [0x1D7E7], NFKC: [0x0035], NFKD: [0x0035] }, -{ source: [0x1D7E8], NFC: [0x1D7E8], NFD: [0x1D7E8], NFKC: [0x0036], NFKD: [0x0036] }, -{ source: [0x1D7E9], NFC: [0x1D7E9], NFD: [0x1D7E9], NFKC: [0x0037], NFKD: [0x0037] }, -{ source: [0x1D7EA], NFC: [0x1D7EA], NFD: [0x1D7EA], NFKC: [0x0038], NFKD: [0x0038] }, -{ source: [0x1D7EB], NFC: [0x1D7EB], NFD: [0x1D7EB], NFKC: [0x0039], NFKD: [0x0039] }, -{ source: [0x1D7EC], NFC: [0x1D7EC], NFD: [0x1D7EC], NFKC: [0x0030], NFKD: [0x0030] }, -{ source: [0x1D7ED], NFC: [0x1D7ED], NFD: [0x1D7ED], NFKC: [0x0031], NFKD: [0x0031] }, -{ source: [0x1D7EE], NFC: [0x1D7EE], NFD: [0x1D7EE], NFKC: [0x0032], NFKD: [0x0032] }, -{ source: [0x1D7EF], NFC: [0x1D7EF], NFD: [0x1D7EF], NFKC: [0x0033], NFKD: [0x0033] }, -{ source: [0x1D7F0], NFC: [0x1D7F0], NFD: [0x1D7F0], NFKC: [0x0034], NFKD: [0x0034] }, -{ source: [0x1D7F1], NFC: [0x1D7F1], NFD: [0x1D7F1], NFKC: [0x0035], NFKD: [0x0035] }, -{ source: [0x1D7F2], NFC: [0x1D7F2], NFD: [0x1D7F2], NFKC: [0x0036], NFKD: [0x0036] }, -{ source: [0x1D7F3], NFC: [0x1D7F3], NFD: [0x1D7F3], NFKC: [0x0037], NFKD: [0x0037] }, -{ source: [0x1D7F4], NFC: [0x1D7F4], NFD: [0x1D7F4], NFKC: [0x0038], NFKD: [0x0038] }, -{ source: [0x1D7F5], NFC: [0x1D7F5], NFD: [0x1D7F5], NFKC: [0x0039], NFKD: [0x0039] }, -{ source: [0x1D7F6], NFC: [0x1D7F6], NFD: [0x1D7F6], NFKC: [0x0030], NFKD: [0x0030] }, -{ source: [0x1D7F7], NFC: [0x1D7F7], NFD: [0x1D7F7], NFKC: [0x0031], NFKD: [0x0031] }, -{ source: [0x1D7F8], NFC: [0x1D7F8], NFD: [0x1D7F8], NFKC: [0x0032], NFKD: [0x0032] }, -{ source: [0x1D7F9], NFC: [0x1D7F9], NFD: [0x1D7F9], NFKC: [0x0033], NFKD: [0x0033] }, -{ source: [0x1D7FA], NFC: [0x1D7FA], NFD: [0x1D7FA], NFKC: [0x0034], NFKD: [0x0034] }, -{ source: [0x1D7FB], NFC: [0x1D7FB], NFD: [0x1D7FB], NFKC: [0x0035], NFKD: [0x0035] }, -{ source: [0x1D7FC], NFC: [0x1D7FC], NFD: [0x1D7FC], NFKC: [0x0036], NFKD: [0x0036] }, -{ source: [0x1D7FD], NFC: [0x1D7FD], NFD: [0x1D7FD], NFKC: [0x0037], NFKD: [0x0037] }, -{ source: [0x1D7FE], NFC: [0x1D7FE], NFD: [0x1D7FE], NFKC: [0x0038], NFKD: [0x0038] }, -{ source: [0x1D7FF], NFC: [0x1D7FF], NFD: [0x1D7FF], NFKC: [0x0039], NFKD: [0x0039] }, -{ source: [0x1E030], NFC: [0x1E030], NFD: [0x1E030], NFKC: [0x0430], NFKD: [0x0430] }, -{ source: [0x1E031], NFC: [0x1E031], NFD: [0x1E031], NFKC: [0x0431], NFKD: [0x0431] }, -{ source: [0x1E032], NFC: [0x1E032], NFD: [0x1E032], NFKC: [0x0432], NFKD: [0x0432] }, -{ source: [0x1E033], NFC: [0x1E033], NFD: [0x1E033], NFKC: [0x0433], NFKD: [0x0433] }, -{ source: [0x1E034], NFC: [0x1E034], NFD: [0x1E034], NFKC: [0x0434], NFKD: [0x0434] }, -{ source: [0x1E035], NFC: [0x1E035], NFD: [0x1E035], NFKC: [0x0435], NFKD: [0x0435] }, -{ source: [0x1E036], NFC: [0x1E036], NFD: [0x1E036], NFKC: [0x0436], NFKD: [0x0436] }, -{ source: [0x1E037], NFC: [0x1E037], NFD: [0x1E037], NFKC: [0x0437], NFKD: [0x0437] }, -{ source: [0x1E038], NFC: [0x1E038], NFD: [0x1E038], NFKC: [0x0438], NFKD: [0x0438] }, -{ source: [0x1E039], NFC: [0x1E039], NFD: [0x1E039], NFKC: [0x043A], NFKD: [0x043A] }, -{ source: [0x1E03A], NFC: [0x1E03A], NFD: [0x1E03A], NFKC: [0x043B], NFKD: [0x043B] }, -{ source: [0x1E03B], NFC: [0x1E03B], NFD: [0x1E03B], NFKC: [0x043C], NFKD: [0x043C] }, -{ source: [0x1E03C], NFC: [0x1E03C], NFD: [0x1E03C], NFKC: [0x043E], NFKD: [0x043E] }, -{ source: [0x1E03D], NFC: [0x1E03D], NFD: [0x1E03D], NFKC: [0x043F], NFKD: [0x043F] }, -{ source: [0x1E03E], NFC: [0x1E03E], NFD: [0x1E03E], NFKC: [0x0440], NFKD: [0x0440] }, -{ source: [0x1E03F], NFC: [0x1E03F], NFD: [0x1E03F], NFKC: [0x0441], NFKD: [0x0441] }, -{ source: [0x1E040], NFC: [0x1E040], NFD: [0x1E040], NFKC: [0x0442], NFKD: [0x0442] }, -{ source: [0x1E041], NFC: [0x1E041], NFD: [0x1E041], NFKC: [0x0443], NFKD: [0x0443] }, -{ source: [0x1E042], NFC: [0x1E042], NFD: [0x1E042], NFKC: [0x0444], NFKD: [0x0444] }, -{ source: [0x1E043], NFC: [0x1E043], NFD: [0x1E043], NFKC: [0x0445], NFKD: [0x0445] }, -{ source: [0x1E044], NFC: [0x1E044], NFD: [0x1E044], NFKC: [0x0446], NFKD: [0x0446] }, -{ source: [0x1E045], NFC: [0x1E045], NFD: [0x1E045], NFKC: [0x0447], NFKD: [0x0447] }, -{ source: [0x1E046], NFC: [0x1E046], NFD: [0x1E046], NFKC: [0x0448], NFKD: [0x0448] }, -{ source: [0x1E047], NFC: [0x1E047], NFD: [0x1E047], NFKC: [0x044B], NFKD: [0x044B] }, -{ source: [0x1E048], NFC: [0x1E048], NFD: [0x1E048], NFKC: [0x044D], NFKD: [0x044D] }, -{ source: [0x1E049], NFC: [0x1E049], NFD: [0x1E049], NFKC: [0x044E], NFKD: [0x044E] }, -{ source: [0x1E04A], NFC: [0x1E04A], NFD: [0x1E04A], NFKC: [0xA689], NFKD: [0xA689] }, -{ source: [0x1E04B], NFC: [0x1E04B], NFD: [0x1E04B], NFKC: [0x04D9], NFKD: [0x04D9] }, -{ source: [0x1E04C], NFC: [0x1E04C], NFD: [0x1E04C], NFKC: [0x0456], NFKD: [0x0456] }, -{ source: [0x1E04D], NFC: [0x1E04D], NFD: [0x1E04D], NFKC: [0x0458], NFKD: [0x0458] }, -{ source: [0x1E04E], NFC: [0x1E04E], NFD: [0x1E04E], NFKC: [0x04E9], NFKD: [0x04E9] }, -{ source: [0x1E04F], NFC: [0x1E04F], NFD: [0x1E04F], NFKC: [0x04AF], NFKD: [0x04AF] }, -{ source: [0x1E050], NFC: [0x1E050], NFD: [0x1E050], NFKC: [0x04CF], NFKD: [0x04CF] }, -{ source: [0x1E051], NFC: [0x1E051], NFD: [0x1E051], NFKC: [0x0430], NFKD: [0x0430] }, -{ source: [0x1E052], NFC: [0x1E052], NFD: [0x1E052], NFKC: [0x0431], NFKD: [0x0431] }, -{ source: [0x1E053], NFC: [0x1E053], NFD: [0x1E053], NFKC: [0x0432], NFKD: [0x0432] }, -{ source: [0x1E054], NFC: [0x1E054], NFD: [0x1E054], NFKC: [0x0433], NFKD: [0x0433] }, -{ source: [0x1E055], NFC: [0x1E055], NFD: [0x1E055], NFKC: [0x0434], NFKD: [0x0434] }, -{ source: [0x1E056], NFC: [0x1E056], NFD: [0x1E056], NFKC: [0x0435], NFKD: [0x0435] }, -{ source: [0x1E057], NFC: [0x1E057], NFD: [0x1E057], NFKC: [0x0436], NFKD: [0x0436] }, -{ source: [0x1E058], NFC: [0x1E058], NFD: [0x1E058], NFKC: [0x0437], NFKD: [0x0437] }, -{ source: [0x1E059], NFC: [0x1E059], NFD: [0x1E059], NFKC: [0x0438], NFKD: [0x0438] }, -{ source: [0x1E05A], NFC: [0x1E05A], NFD: [0x1E05A], NFKC: [0x043A], NFKD: [0x043A] }, -{ source: [0x1E05B], NFC: [0x1E05B], NFD: [0x1E05B], NFKC: [0x043B], NFKD: [0x043B] }, -{ source: [0x1E05C], NFC: [0x1E05C], NFD: [0x1E05C], NFKC: [0x043E], NFKD: [0x043E] }, -{ source: [0x1E05D], NFC: [0x1E05D], NFD: [0x1E05D], NFKC: [0x043F], NFKD: [0x043F] }, -{ source: [0x1E05E], NFC: [0x1E05E], NFD: [0x1E05E], NFKC: [0x0441], NFKD: [0x0441] }, -{ source: [0x1E05F], NFC: [0x1E05F], NFD: [0x1E05F], NFKC: [0x0443], NFKD: [0x0443] }, -{ source: [0x1E060], NFC: [0x1E060], NFD: [0x1E060], NFKC: [0x0444], NFKD: [0x0444] }, -{ source: [0x1E061], NFC: [0x1E061], NFD: [0x1E061], NFKC: [0x0445], NFKD: [0x0445] }, -{ source: [0x1E062], NFC: [0x1E062], NFD: [0x1E062], NFKC: [0x0446], NFKD: [0x0446] }, -{ source: [0x1E063], NFC: [0x1E063], NFD: [0x1E063], NFKC: [0x0447], NFKD: [0x0447] }, -{ source: [0x1E064], NFC: [0x1E064], NFD: [0x1E064], NFKC: [0x0448], NFKD: [0x0448] }, -{ source: [0x1E065], NFC: [0x1E065], NFD: [0x1E065], NFKC: [0x044A], NFKD: [0x044A] }, -{ source: [0x1E066], NFC: [0x1E066], NFD: [0x1E066], NFKC: [0x044B], NFKD: [0x044B] }, -{ source: [0x1E067], NFC: [0x1E067], NFD: [0x1E067], NFKC: [0x0491], NFKD: [0x0491] }, -{ source: [0x1E068], NFC: [0x1E068], NFD: [0x1E068], NFKC: [0x0456], NFKD: [0x0456] }, -{ source: [0x1E069], NFC: [0x1E069], NFD: [0x1E069], NFKC: [0x0455], NFKD: [0x0455] }, -{ source: [0x1E06A], NFC: [0x1E06A], NFD: [0x1E06A], NFKC: [0x045F], NFKD: [0x045F] }, -{ source: [0x1E06B], NFC: [0x1E06B], NFD: [0x1E06B], NFKC: [0x04AB], NFKD: [0x04AB] }, -{ source: [0x1E06C], NFC: [0x1E06C], NFD: [0x1E06C], NFKC: [0xA651], NFKD: [0xA651] }, -{ source: [0x1E06D], NFC: [0x1E06D], NFD: [0x1E06D], NFKC: [0x04B1], NFKD: [0x04B1] }, -{ source: [0x1EE00], NFC: [0x1EE00], NFD: [0x1EE00], NFKC: [0x0627], NFKD: [0x0627] }, -{ source: [0x1EE01], NFC: [0x1EE01], NFD: [0x1EE01], NFKC: [0x0628], NFKD: [0x0628] }, -{ source: [0x1EE02], NFC: [0x1EE02], NFD: [0x1EE02], NFKC: [0x062C], NFKD: [0x062C] }, -{ source: [0x1EE03], NFC: [0x1EE03], NFD: [0x1EE03], NFKC: [0x062F], NFKD: [0x062F] }, -{ source: [0x1EE05], NFC: [0x1EE05], NFD: [0x1EE05], NFKC: [0x0648], NFKD: [0x0648] }, -{ source: [0x1EE06], NFC: [0x1EE06], NFD: [0x1EE06], NFKC: [0x0632], NFKD: [0x0632] }, -{ source: [0x1EE07], NFC: [0x1EE07], NFD: [0x1EE07], NFKC: [0x062D], NFKD: [0x062D] }, -{ source: [0x1EE08], NFC: [0x1EE08], NFD: [0x1EE08], NFKC: [0x0637], NFKD: [0x0637] }, -{ source: [0x1EE09], NFC: [0x1EE09], NFD: [0x1EE09], NFKC: [0x064A], NFKD: [0x064A] }, -{ source: [0x1EE0A], NFC: [0x1EE0A], NFD: [0x1EE0A], NFKC: [0x0643], NFKD: [0x0643] }, -{ source: [0x1EE0B], NFC: [0x1EE0B], NFD: [0x1EE0B], NFKC: [0x0644], NFKD: [0x0644] }, -{ source: [0x1EE0C], NFC: [0x1EE0C], NFD: [0x1EE0C], NFKC: [0x0645], NFKD: [0x0645] }, -{ source: [0x1EE0D], NFC: [0x1EE0D], NFD: [0x1EE0D], NFKC: [0x0646], NFKD: [0x0646] }, -{ source: [0x1EE0E], NFC: [0x1EE0E], NFD: [0x1EE0E], NFKC: [0x0633], NFKD: [0x0633] }, -{ source: [0x1EE0F], NFC: [0x1EE0F], NFD: [0x1EE0F], NFKC: [0x0639], NFKD: [0x0639] }, -{ source: [0x1EE10], NFC: [0x1EE10], NFD: [0x1EE10], NFKC: [0x0641], NFKD: [0x0641] }, -{ source: [0x1EE11], NFC: [0x1EE11], NFD: [0x1EE11], NFKC: [0x0635], NFKD: [0x0635] }, -{ source: [0x1EE12], NFC: [0x1EE12], NFD: [0x1EE12], NFKC: [0x0642], NFKD: [0x0642] }, -{ source: [0x1EE13], NFC: [0x1EE13], NFD: [0x1EE13], NFKC: [0x0631], NFKD: [0x0631] }, -{ source: [0x1EE14], NFC: [0x1EE14], NFD: [0x1EE14], NFKC: [0x0634], NFKD: [0x0634] }, -{ source: [0x1EE15], NFC: [0x1EE15], NFD: [0x1EE15], NFKC: [0x062A], NFKD: [0x062A] }, -{ source: [0x1EE16], NFC: [0x1EE16], NFD: [0x1EE16], NFKC: [0x062B], NFKD: [0x062B] }, -{ source: [0x1EE17], NFC: [0x1EE17], NFD: [0x1EE17], NFKC: [0x062E], NFKD: [0x062E] }, -{ source: [0x1EE18], NFC: [0x1EE18], NFD: [0x1EE18], NFKC: [0x0630], NFKD: [0x0630] }, -{ source: [0x1EE19], NFC: [0x1EE19], NFD: [0x1EE19], NFKC: [0x0636], NFKD: [0x0636] }, -{ source: [0x1EE1A], NFC: [0x1EE1A], NFD: [0x1EE1A], NFKC: [0x0638], NFKD: [0x0638] }, -{ source: [0x1EE1B], NFC: [0x1EE1B], NFD: [0x1EE1B], NFKC: [0x063A], NFKD: [0x063A] }, -{ source: [0x1EE1C], NFC: [0x1EE1C], NFD: [0x1EE1C], NFKC: [0x066E], NFKD: [0x066E] }, -{ source: [0x1EE1D], NFC: [0x1EE1D], NFD: [0x1EE1D], NFKC: [0x06BA], NFKD: [0x06BA] }, -{ source: [0x1EE1E], NFC: [0x1EE1E], NFD: [0x1EE1E], NFKC: [0x06A1], NFKD: [0x06A1] }, -{ source: [0x1EE1F], NFC: [0x1EE1F], NFD: [0x1EE1F], NFKC: [0x066F], NFKD: [0x066F] }, -{ source: [0x1EE21], NFC: [0x1EE21], NFD: [0x1EE21], NFKC: [0x0628], NFKD: [0x0628] }, -{ source: [0x1EE22], NFC: [0x1EE22], NFD: [0x1EE22], NFKC: [0x062C], NFKD: [0x062C] }, -{ source: [0x1EE24], NFC: [0x1EE24], NFD: [0x1EE24], NFKC: [0x0647], NFKD: [0x0647] }, -{ source: [0x1EE27], NFC: [0x1EE27], NFD: [0x1EE27], NFKC: [0x062D], NFKD: [0x062D] }, -{ source: [0x1EE29], NFC: [0x1EE29], NFD: [0x1EE29], NFKC: [0x064A], NFKD: [0x064A] }, -{ source: [0x1EE2A], NFC: [0x1EE2A], NFD: [0x1EE2A], NFKC: [0x0643], NFKD: [0x0643] }, -{ source: [0x1EE2B], NFC: [0x1EE2B], NFD: [0x1EE2B], NFKC: [0x0644], NFKD: [0x0644] }, -{ source: [0x1EE2C], NFC: [0x1EE2C], NFD: [0x1EE2C], NFKC: [0x0645], NFKD: [0x0645] }, -{ source: [0x1EE2D], NFC: [0x1EE2D], NFD: [0x1EE2D], NFKC: [0x0646], NFKD: [0x0646] }, -{ source: [0x1EE2E], NFC: [0x1EE2E], NFD: [0x1EE2E], NFKC: [0x0633], NFKD: [0x0633] }, -{ source: [0x1EE2F], NFC: [0x1EE2F], NFD: [0x1EE2F], NFKC: [0x0639], NFKD: [0x0639] }, -{ source: [0x1EE30], NFC: [0x1EE30], NFD: [0x1EE30], NFKC: [0x0641], NFKD: [0x0641] }, -{ source: [0x1EE31], NFC: [0x1EE31], NFD: [0x1EE31], NFKC: [0x0635], NFKD: [0x0635] }, -{ source: [0x1EE32], NFC: [0x1EE32], NFD: [0x1EE32], NFKC: [0x0642], NFKD: [0x0642] }, -{ source: [0x1EE34], NFC: [0x1EE34], NFD: [0x1EE34], NFKC: [0x0634], NFKD: [0x0634] }, -{ source: [0x1EE35], NFC: [0x1EE35], NFD: [0x1EE35], NFKC: [0x062A], NFKD: [0x062A] }, -{ source: [0x1EE36], NFC: [0x1EE36], NFD: [0x1EE36], NFKC: [0x062B], NFKD: [0x062B] }, -{ source: [0x1EE37], NFC: [0x1EE37], NFD: [0x1EE37], NFKC: [0x062E], NFKD: [0x062E] }, -{ source: [0x1EE39], NFC: [0x1EE39], NFD: [0x1EE39], NFKC: [0x0636], NFKD: [0x0636] }, -{ source: [0x1EE3B], NFC: [0x1EE3B], NFD: [0x1EE3B], NFKC: [0x063A], NFKD: [0x063A] }, -{ source: [0x1EE42], NFC: [0x1EE42], NFD: [0x1EE42], NFKC: [0x062C], NFKD: [0x062C] }, -{ source: [0x1EE47], NFC: [0x1EE47], NFD: [0x1EE47], NFKC: [0x062D], NFKD: [0x062D] }, -{ source: [0x1EE49], NFC: [0x1EE49], NFD: [0x1EE49], NFKC: [0x064A], NFKD: [0x064A] }, -{ source: [0x1EE4B], NFC: [0x1EE4B], NFD: [0x1EE4B], NFKC: [0x0644], NFKD: [0x0644] }, -{ source: [0x1EE4D], NFC: [0x1EE4D], NFD: [0x1EE4D], NFKC: [0x0646], NFKD: [0x0646] }, -{ source: [0x1EE4E], NFC: [0x1EE4E], NFD: [0x1EE4E], NFKC: [0x0633], NFKD: [0x0633] }, -{ source: [0x1EE4F], NFC: [0x1EE4F], NFD: [0x1EE4F], NFKC: [0x0639], NFKD: [0x0639] }, -{ source: [0x1EE51], NFC: [0x1EE51], NFD: [0x1EE51], NFKC: [0x0635], NFKD: [0x0635] }, -{ source: [0x1EE52], NFC: [0x1EE52], NFD: [0x1EE52], NFKC: [0x0642], NFKD: [0x0642] }, -{ source: [0x1EE54], NFC: [0x1EE54], NFD: [0x1EE54], NFKC: [0x0634], NFKD: [0x0634] }, -{ source: [0x1EE57], NFC: [0x1EE57], NFD: [0x1EE57], NFKC: [0x062E], NFKD: [0x062E] }, -{ source: [0x1EE59], NFC: [0x1EE59], NFD: [0x1EE59], NFKC: [0x0636], NFKD: [0x0636] }, -{ source: [0x1EE5B], NFC: [0x1EE5B], NFD: [0x1EE5B], NFKC: [0x063A], NFKD: [0x063A] }, -{ source: [0x1EE5D], NFC: [0x1EE5D], NFD: [0x1EE5D], NFKC: [0x06BA], NFKD: [0x06BA] }, -{ source: [0x1EE5F], NFC: [0x1EE5F], NFD: [0x1EE5F], NFKC: [0x066F], NFKD: [0x066F] }, -{ source: [0x1EE61], NFC: [0x1EE61], NFD: [0x1EE61], NFKC: [0x0628], NFKD: [0x0628] }, -{ source: [0x1EE62], NFC: [0x1EE62], NFD: [0x1EE62], NFKC: [0x062C], NFKD: [0x062C] }, -{ source: [0x1EE64], NFC: [0x1EE64], NFD: [0x1EE64], NFKC: [0x0647], NFKD: [0x0647] }, -{ source: [0x1EE67], NFC: [0x1EE67], NFD: [0x1EE67], NFKC: [0x062D], NFKD: [0x062D] }, -{ source: [0x1EE68], NFC: [0x1EE68], NFD: [0x1EE68], NFKC: [0x0637], NFKD: [0x0637] }, -{ source: [0x1EE69], NFC: [0x1EE69], NFD: [0x1EE69], NFKC: [0x064A], NFKD: [0x064A] }, -{ source: [0x1EE6A], NFC: [0x1EE6A], NFD: [0x1EE6A], NFKC: [0x0643], NFKD: [0x0643] }, -{ source: [0x1EE6C], NFC: [0x1EE6C], NFD: [0x1EE6C], NFKC: [0x0645], NFKD: [0x0645] }, -{ source: [0x1EE6D], NFC: [0x1EE6D], NFD: [0x1EE6D], NFKC: [0x0646], NFKD: [0x0646] }, -{ source: [0x1EE6E], NFC: [0x1EE6E], NFD: [0x1EE6E], NFKC: [0x0633], NFKD: [0x0633] }, -{ source: [0x1EE6F], NFC: [0x1EE6F], NFD: [0x1EE6F], NFKC: [0x0639], NFKD: [0x0639] }, -{ source: [0x1EE70], NFC: [0x1EE70], NFD: [0x1EE70], NFKC: [0x0641], NFKD: [0x0641] }, -{ source: [0x1EE71], NFC: [0x1EE71], NFD: [0x1EE71], NFKC: [0x0635], NFKD: [0x0635] }, -{ source: [0x1EE72], NFC: [0x1EE72], NFD: [0x1EE72], NFKC: [0x0642], NFKD: [0x0642] }, -{ source: [0x1EE74], NFC: [0x1EE74], NFD: [0x1EE74], NFKC: [0x0634], NFKD: [0x0634] }, -{ source: [0x1EE75], NFC: [0x1EE75], NFD: [0x1EE75], NFKC: [0x062A], NFKD: [0x062A] }, -{ source: [0x1EE76], NFC: [0x1EE76], NFD: [0x1EE76], NFKC: [0x062B], NFKD: [0x062B] }, -{ source: [0x1EE77], NFC: [0x1EE77], NFD: [0x1EE77], NFKC: [0x062E], NFKD: [0x062E] }, -{ source: [0x1EE79], NFC: [0x1EE79], NFD: [0x1EE79], NFKC: [0x0636], NFKD: [0x0636] }, -{ source: [0x1EE7A], NFC: [0x1EE7A], NFD: [0x1EE7A], NFKC: [0x0638], NFKD: [0x0638] }, -{ source: [0x1EE7B], NFC: [0x1EE7B], NFD: [0x1EE7B], NFKC: [0x063A], NFKD: [0x063A] }, -{ source: [0x1EE7C], NFC: [0x1EE7C], NFD: [0x1EE7C], NFKC: [0x066E], NFKD: [0x066E] }, -{ source: [0x1EE7E], NFC: [0x1EE7E], NFD: [0x1EE7E], NFKC: [0x06A1], NFKD: [0x06A1] }, -{ source: [0x1EE80], NFC: [0x1EE80], NFD: [0x1EE80], NFKC: [0x0627], NFKD: [0x0627] }, -{ source: [0x1EE81], NFC: [0x1EE81], NFD: [0x1EE81], NFKC: [0x0628], NFKD: [0x0628] }, -{ source: [0x1EE82], NFC: [0x1EE82], NFD: [0x1EE82], NFKC: [0x062C], NFKD: [0x062C] }, -{ source: [0x1EE83], NFC: [0x1EE83], NFD: [0x1EE83], NFKC: [0x062F], NFKD: [0x062F] }, -{ source: [0x1EE84], NFC: [0x1EE84], NFD: [0x1EE84], NFKC: [0x0647], NFKD: [0x0647] }, -{ source: [0x1EE85], NFC: [0x1EE85], NFD: [0x1EE85], NFKC: [0x0648], NFKD: [0x0648] }, -{ source: [0x1EE86], NFC: [0x1EE86], NFD: [0x1EE86], NFKC: [0x0632], NFKD: [0x0632] }, -{ source: [0x1EE87], NFC: [0x1EE87], NFD: [0x1EE87], NFKC: [0x062D], NFKD: [0x062D] }, -{ source: [0x1EE88], NFC: [0x1EE88], NFD: [0x1EE88], NFKC: [0x0637], NFKD: [0x0637] }, -{ source: [0x1EE89], NFC: [0x1EE89], NFD: [0x1EE89], NFKC: [0x064A], NFKD: [0x064A] }, -{ source: [0x1EE8B], NFC: [0x1EE8B], NFD: [0x1EE8B], NFKC: [0x0644], NFKD: [0x0644] }, -{ source: [0x1EE8C], NFC: [0x1EE8C], NFD: [0x1EE8C], NFKC: [0x0645], NFKD: [0x0645] }, -{ source: [0x1EE8D], NFC: [0x1EE8D], NFD: [0x1EE8D], NFKC: [0x0646], NFKD: [0x0646] }, -{ source: [0x1EE8E], NFC: [0x1EE8E], NFD: [0x1EE8E], NFKC: [0x0633], NFKD: [0x0633] }, -{ source: [0x1EE8F], NFC: [0x1EE8F], NFD: [0x1EE8F], NFKC: [0x0639], NFKD: [0x0639] }, -{ source: [0x1EE90], NFC: [0x1EE90], NFD: [0x1EE90], NFKC: [0x0641], NFKD: [0x0641] }, -{ source: [0x1EE91], NFC: [0x1EE91], NFD: [0x1EE91], NFKC: [0x0635], NFKD: [0x0635] }, -{ source: [0x1EE92], NFC: [0x1EE92], NFD: [0x1EE92], NFKC: [0x0642], NFKD: [0x0642] }, -{ source: [0x1EE93], NFC: [0x1EE93], NFD: [0x1EE93], NFKC: [0x0631], NFKD: [0x0631] }, -{ source: [0x1EE94], NFC: [0x1EE94], NFD: [0x1EE94], NFKC: [0x0634], NFKD: [0x0634] }, -{ source: [0x1EE95], NFC: [0x1EE95], NFD: [0x1EE95], NFKC: [0x062A], NFKD: [0x062A] }, -{ source: [0x1EE96], NFC: [0x1EE96], NFD: [0x1EE96], NFKC: [0x062B], NFKD: [0x062B] }, -{ source: [0x1EE97], NFC: [0x1EE97], NFD: [0x1EE97], NFKC: [0x062E], NFKD: [0x062E] }, -{ source: [0x1EE98], NFC: [0x1EE98], NFD: [0x1EE98], NFKC: [0x0630], NFKD: [0x0630] }, -{ source: [0x1EE99], NFC: [0x1EE99], NFD: [0x1EE99], NFKC: [0x0636], NFKD: [0x0636] }, -{ source: [0x1EE9A], NFC: [0x1EE9A], NFD: [0x1EE9A], NFKC: [0x0638], NFKD: [0x0638] }, -{ source: [0x1EE9B], NFC: [0x1EE9B], NFD: [0x1EE9B], NFKC: [0x063A], NFKD: [0x063A] }, -{ source: [0x1EEA1], NFC: [0x1EEA1], NFD: [0x1EEA1], NFKC: [0x0628], NFKD: [0x0628] }, -{ source: [0x1EEA2], NFC: [0x1EEA2], NFD: [0x1EEA2], NFKC: [0x062C], NFKD: [0x062C] }, -{ source: [0x1EEA3], NFC: [0x1EEA3], NFD: [0x1EEA3], NFKC: [0x062F], NFKD: [0x062F] }, -{ source: [0x1EEA5], NFC: [0x1EEA5], NFD: [0x1EEA5], NFKC: [0x0648], NFKD: [0x0648] }, -{ source: [0x1EEA6], NFC: [0x1EEA6], NFD: [0x1EEA6], NFKC: [0x0632], NFKD: [0x0632] }, -{ source: [0x1EEA7], NFC: [0x1EEA7], NFD: [0x1EEA7], NFKC: [0x062D], NFKD: [0x062D] }, -{ source: [0x1EEA8], NFC: [0x1EEA8], NFD: [0x1EEA8], NFKC: [0x0637], NFKD: [0x0637] }, -{ source: [0x1EEA9], NFC: [0x1EEA9], NFD: [0x1EEA9], NFKC: [0x064A], NFKD: [0x064A] }, -{ source: [0x1EEAB], NFC: [0x1EEAB], NFD: [0x1EEAB], NFKC: [0x0644], NFKD: [0x0644] }, -{ source: [0x1EEAC], NFC: [0x1EEAC], NFD: [0x1EEAC], NFKC: [0x0645], NFKD: [0x0645] }, -{ source: [0x1EEAD], NFC: [0x1EEAD], NFD: [0x1EEAD], NFKC: [0x0646], NFKD: [0x0646] }, -{ source: [0x1EEAE], NFC: [0x1EEAE], NFD: [0x1EEAE], NFKC: [0x0633], NFKD: [0x0633] }, -{ source: [0x1EEAF], NFC: [0x1EEAF], NFD: [0x1EEAF], NFKC: [0x0639], NFKD: [0x0639] }, -{ source: [0x1EEB0], NFC: [0x1EEB0], NFD: [0x1EEB0], NFKC: [0x0641], NFKD: [0x0641] }, -{ source: [0x1EEB1], NFC: [0x1EEB1], NFD: [0x1EEB1], NFKC: [0x0635], NFKD: [0x0635] }, -{ source: [0x1EEB2], NFC: [0x1EEB2], NFD: [0x1EEB2], NFKC: [0x0642], NFKD: [0x0642] }, -{ source: [0x1EEB3], NFC: [0x1EEB3], NFD: [0x1EEB3], NFKC: [0x0631], NFKD: [0x0631] }, -{ source: [0x1EEB4], NFC: [0x1EEB4], NFD: [0x1EEB4], NFKC: [0x0634], NFKD: [0x0634] }, -{ source: [0x1EEB5], NFC: [0x1EEB5], NFD: [0x1EEB5], NFKC: [0x062A], NFKD: [0x062A] }, -{ source: [0x1EEB6], NFC: [0x1EEB6], NFD: [0x1EEB6], NFKC: [0x062B], NFKD: [0x062B] }, -{ source: [0x1EEB7], NFC: [0x1EEB7], NFD: [0x1EEB7], NFKC: [0x062E], NFKD: [0x062E] }, -{ source: [0x1EEB8], NFC: [0x1EEB8], NFD: [0x1EEB8], NFKC: [0x0630], NFKD: [0x0630] }, -{ source: [0x1EEB9], NFC: [0x1EEB9], NFD: [0x1EEB9], NFKC: [0x0636], NFKD: [0x0636] }, -{ source: [0x1EEBA], NFC: [0x1EEBA], NFD: [0x1EEBA], NFKC: [0x0638], NFKD: [0x0638] }, -{ source: [0x1EEBB], NFC: [0x1EEBB], NFD: [0x1EEBB], NFKC: [0x063A], NFKD: [0x063A] }, -{ source: [0x1F100], NFC: [0x1F100], NFD: [0x1F100], NFKC: [0x0030, 0x002E], NFKD: [0x0030, 0x002E] }, -{ source: [0x1F101], NFC: [0x1F101], NFD: [0x1F101], NFKC: [0x0030, 0x002C], NFKD: [0x0030, 0x002C] }, -{ source: [0x1F102], NFC: [0x1F102], NFD: [0x1F102], NFKC: [0x0031, 0x002C], NFKD: [0x0031, 0x002C] }, -{ source: [0x1F103], NFC: [0x1F103], NFD: [0x1F103], NFKC: [0x0032, 0x002C], NFKD: [0x0032, 0x002C] }, -{ source: [0x1F104], NFC: [0x1F104], NFD: [0x1F104], NFKC: [0x0033, 0x002C], NFKD: [0x0033, 0x002C] }, -{ source: [0x1F105], NFC: [0x1F105], NFD: [0x1F105], NFKC: [0x0034, 0x002C], NFKD: [0x0034, 0x002C] }, -{ source: [0x1F106], NFC: [0x1F106], NFD: [0x1F106], NFKC: [0x0035, 0x002C], NFKD: [0x0035, 0x002C] }, -{ source: [0x1F107], NFC: [0x1F107], NFD: [0x1F107], NFKC: [0x0036, 0x002C], NFKD: [0x0036, 0x002C] }, -{ source: [0x1F108], NFC: [0x1F108], NFD: [0x1F108], NFKC: [0x0037, 0x002C], NFKD: [0x0037, 0x002C] }, -{ source: [0x1F109], NFC: [0x1F109], NFD: [0x1F109], NFKC: [0x0038, 0x002C], NFKD: [0x0038, 0x002C] }, -{ source: [0x1F10A], NFC: [0x1F10A], NFD: [0x1F10A], NFKC: [0x0039, 0x002C], NFKD: [0x0039, 0x002C] }, -{ source: [0x1F110], NFC: [0x1F110], NFD: [0x1F110], NFKC: [0x0028, 0x0041, 0x0029], NFKD: [0x0028, 0x0041, 0x0029] }, -{ source: [0x1F111], NFC: [0x1F111], NFD: [0x1F111], NFKC: [0x0028, 0x0042, 0x0029], NFKD: [0x0028, 0x0042, 0x0029] }, -{ source: [0x1F112], NFC: [0x1F112], NFD: [0x1F112], NFKC: [0x0028, 0x0043, 0x0029], NFKD: [0x0028, 0x0043, 0x0029] }, -{ source: [0x1F113], NFC: [0x1F113], NFD: [0x1F113], NFKC: [0x0028, 0x0044, 0x0029], NFKD: [0x0028, 0x0044, 0x0029] }, -{ source: [0x1F114], NFC: [0x1F114], NFD: [0x1F114], NFKC: [0x0028, 0x0045, 0x0029], NFKD: [0x0028, 0x0045, 0x0029] }, -{ source: [0x1F115], NFC: [0x1F115], NFD: [0x1F115], NFKC: [0x0028, 0x0046, 0x0029], NFKD: [0x0028, 0x0046, 0x0029] }, -{ source: [0x1F116], NFC: [0x1F116], NFD: [0x1F116], NFKC: [0x0028, 0x0047, 0x0029], NFKD: [0x0028, 0x0047, 0x0029] }, -{ source: [0x1F117], NFC: [0x1F117], NFD: [0x1F117], NFKC: [0x0028, 0x0048, 0x0029], NFKD: [0x0028, 0x0048, 0x0029] }, -{ source: [0x1F118], NFC: [0x1F118], NFD: [0x1F118], NFKC: [0x0028, 0x0049, 0x0029], NFKD: [0x0028, 0x0049, 0x0029] }, -{ source: [0x1F119], NFC: [0x1F119], NFD: [0x1F119], NFKC: [0x0028, 0x004A, 0x0029], NFKD: [0x0028, 0x004A, 0x0029] }, -{ source: [0x1F11A], NFC: [0x1F11A], NFD: [0x1F11A], NFKC: [0x0028, 0x004B, 0x0029], NFKD: [0x0028, 0x004B, 0x0029] }, -{ source: [0x1F11B], NFC: [0x1F11B], NFD: [0x1F11B], NFKC: [0x0028, 0x004C, 0x0029], NFKD: [0x0028, 0x004C, 0x0029] }, -{ source: [0x1F11C], NFC: [0x1F11C], NFD: [0x1F11C], NFKC: [0x0028, 0x004D, 0x0029], NFKD: [0x0028, 0x004D, 0x0029] }, -{ source: [0x1F11D], NFC: [0x1F11D], NFD: [0x1F11D], NFKC: [0x0028, 0x004E, 0x0029], NFKD: [0x0028, 0x004E, 0x0029] }, -{ source: [0x1F11E], NFC: [0x1F11E], NFD: [0x1F11E], NFKC: [0x0028, 0x004F, 0x0029], NFKD: [0x0028, 0x004F, 0x0029] }, -{ source: [0x1F11F], NFC: [0x1F11F], NFD: [0x1F11F], NFKC: [0x0028, 0x0050, 0x0029], NFKD: [0x0028, 0x0050, 0x0029] }, -{ source: [0x1F120], NFC: [0x1F120], NFD: [0x1F120], NFKC: [0x0028, 0x0051, 0x0029], NFKD: [0x0028, 0x0051, 0x0029] }, -{ source: [0x1F121], NFC: [0x1F121], NFD: [0x1F121], NFKC: [0x0028, 0x0052, 0x0029], NFKD: [0x0028, 0x0052, 0x0029] }, -{ source: [0x1F122], NFC: [0x1F122], NFD: [0x1F122], NFKC: [0x0028, 0x0053, 0x0029], NFKD: [0x0028, 0x0053, 0x0029] }, -{ source: [0x1F123], NFC: [0x1F123], NFD: [0x1F123], NFKC: [0x0028, 0x0054, 0x0029], NFKD: [0x0028, 0x0054, 0x0029] }, -{ source: [0x1F124], NFC: [0x1F124], NFD: [0x1F124], NFKC: [0x0028, 0x0055, 0x0029], NFKD: [0x0028, 0x0055, 0x0029] }, -{ source: [0x1F125], NFC: [0x1F125], NFD: [0x1F125], NFKC: [0x0028, 0x0056, 0x0029], NFKD: [0x0028, 0x0056, 0x0029] }, -{ source: [0x1F126], NFC: [0x1F126], NFD: [0x1F126], NFKC: [0x0028, 0x0057, 0x0029], NFKD: [0x0028, 0x0057, 0x0029] }, -{ source: [0x1F127], NFC: [0x1F127], NFD: [0x1F127], NFKC: [0x0028, 0x0058, 0x0029], NFKD: [0x0028, 0x0058, 0x0029] }, -{ source: [0x1F128], NFC: [0x1F128], NFD: [0x1F128], NFKC: [0x0028, 0x0059, 0x0029], NFKD: [0x0028, 0x0059, 0x0029] }, -{ source: [0x1F129], NFC: [0x1F129], NFD: [0x1F129], NFKC: [0x0028, 0x005A, 0x0029], NFKD: [0x0028, 0x005A, 0x0029] }, -{ source: [0x1F12A], NFC: [0x1F12A], NFD: [0x1F12A], NFKC: [0x3014, 0x0053, 0x3015], NFKD: [0x3014, 0x0053, 0x3015] }, -{ source: [0x1F12B], NFC: [0x1F12B], NFD: [0x1F12B], NFKC: [0x0043], NFKD: [0x0043] }, -{ source: [0x1F12C], NFC: [0x1F12C], NFD: [0x1F12C], NFKC: [0x0052], NFKD: [0x0052] }, -{ source: [0x1F12D], NFC: [0x1F12D], NFD: [0x1F12D], NFKC: [0x0043, 0x0044], NFKD: [0x0043, 0x0044] }, -{ source: [0x1F12E], NFC: [0x1F12E], NFD: [0x1F12E], NFKC: [0x0057, 0x005A], NFKD: [0x0057, 0x005A] }, -{ source: [0x1F130], NFC: [0x1F130], NFD: [0x1F130], NFKC: [0x0041], NFKD: [0x0041] }, -{ source: [0x1F131], NFC: [0x1F131], NFD: [0x1F131], NFKC: [0x0042], NFKD: [0x0042] }, -{ source: [0x1F132], NFC: [0x1F132], NFD: [0x1F132], NFKC: [0x0043], NFKD: [0x0043] }, -{ source: [0x1F133], NFC: [0x1F133], NFD: [0x1F133], NFKC: [0x0044], NFKD: [0x0044] }, -{ source: [0x1F134], NFC: [0x1F134], NFD: [0x1F134], NFKC: [0x0045], NFKD: [0x0045] }, -{ source: [0x1F135], NFC: [0x1F135], NFD: [0x1F135], NFKC: [0x0046], NFKD: [0x0046] }, -{ source: [0x1F136], NFC: [0x1F136], NFD: [0x1F136], NFKC: [0x0047], NFKD: [0x0047] }, -{ source: [0x1F137], NFC: [0x1F137], NFD: [0x1F137], NFKC: [0x0048], NFKD: [0x0048] }, -{ source: [0x1F138], NFC: [0x1F138], NFD: [0x1F138], NFKC: [0x0049], NFKD: [0x0049] }, -{ source: [0x1F139], NFC: [0x1F139], NFD: [0x1F139], NFKC: [0x004A], NFKD: [0x004A] }, -{ source: [0x1F13A], NFC: [0x1F13A], NFD: [0x1F13A], NFKC: [0x004B], NFKD: [0x004B] }, -{ source: [0x1F13B], NFC: [0x1F13B], NFD: [0x1F13B], NFKC: [0x004C], NFKD: [0x004C] }, -{ source: [0x1F13C], NFC: [0x1F13C], NFD: [0x1F13C], NFKC: [0x004D], NFKD: [0x004D] }, -{ source: [0x1F13D], NFC: [0x1F13D], NFD: [0x1F13D], NFKC: [0x004E], NFKD: [0x004E] }, -{ source: [0x1F13E], NFC: [0x1F13E], NFD: [0x1F13E], NFKC: [0x004F], NFKD: [0x004F] }, -{ source: [0x1F13F], NFC: [0x1F13F], NFD: [0x1F13F], NFKC: [0x0050], NFKD: [0x0050] }, -{ source: [0x1F140], NFC: [0x1F140], NFD: [0x1F140], NFKC: [0x0051], NFKD: [0x0051] }, -{ source: [0x1F141], NFC: [0x1F141], NFD: [0x1F141], NFKC: [0x0052], NFKD: [0x0052] }, -{ source: [0x1F142], NFC: [0x1F142], NFD: [0x1F142], NFKC: [0x0053], NFKD: [0x0053] }, -{ source: [0x1F143], NFC: [0x1F143], NFD: [0x1F143], NFKC: [0x0054], NFKD: [0x0054] }, -{ source: [0x1F144], NFC: [0x1F144], NFD: [0x1F144], NFKC: [0x0055], NFKD: [0x0055] }, -{ source: [0x1F145], NFC: [0x1F145], NFD: [0x1F145], NFKC: [0x0056], NFKD: [0x0056] }, -{ source: [0x1F146], NFC: [0x1F146], NFD: [0x1F146], NFKC: [0x0057], NFKD: [0x0057] }, -{ source: [0x1F147], NFC: [0x1F147], NFD: [0x1F147], NFKC: [0x0058], NFKD: [0x0058] }, -{ source: [0x1F148], NFC: [0x1F148], NFD: [0x1F148], NFKC: [0x0059], NFKD: [0x0059] }, -{ source: [0x1F149], NFC: [0x1F149], NFD: [0x1F149], NFKC: [0x005A], NFKD: [0x005A] }, -{ source: [0x1F14A], NFC: [0x1F14A], NFD: [0x1F14A], NFKC: [0x0048, 0x0056], NFKD: [0x0048, 0x0056] }, -{ source: [0x1F14B], NFC: [0x1F14B], NFD: [0x1F14B], NFKC: [0x004D, 0x0056], NFKD: [0x004D, 0x0056] }, -{ source: [0x1F14C], NFC: [0x1F14C], NFD: [0x1F14C], NFKC: [0x0053, 0x0044], NFKD: [0x0053, 0x0044] }, -{ source: [0x1F14D], NFC: [0x1F14D], NFD: [0x1F14D], NFKC: [0x0053, 0x0053], NFKD: [0x0053, 0x0053] }, -{ source: [0x1F14E], NFC: [0x1F14E], NFD: [0x1F14E], NFKC: [0x0050, 0x0050, 0x0056], NFKD: [0x0050, 0x0050, 0x0056] }, -{ source: [0x1F14F], NFC: [0x1F14F], NFD: [0x1F14F], NFKC: [0x0057, 0x0043], NFKD: [0x0057, 0x0043] }, -{ source: [0x1F16A], NFC: [0x1F16A], NFD: [0x1F16A], NFKC: [0x004D, 0x0043], NFKD: [0x004D, 0x0043] }, -{ source: [0x1F16B], NFC: [0x1F16B], NFD: [0x1F16B], NFKC: [0x004D, 0x0044], NFKD: [0x004D, 0x0044] }, -{ source: [0x1F16C], NFC: [0x1F16C], NFD: [0x1F16C], NFKC: [0x004D, 0x0052], NFKD: [0x004D, 0x0052] }, -{ source: [0x1F190], NFC: [0x1F190], NFD: [0x1F190], NFKC: [0x0044, 0x004A], NFKD: [0x0044, 0x004A] }, -{ source: [0x1F200], NFC: [0x1F200], NFD: [0x1F200], NFKC: [0x307B, 0x304B], NFKD: [0x307B, 0x304B] }, -{ source: [0x1F201], NFC: [0x1F201], NFD: [0x1F201], NFKC: [0x30B3, 0x30B3], NFKD: [0x30B3, 0x30B3] }, -{ source: [0x1F202], NFC: [0x1F202], NFD: [0x1F202], NFKC: [0x30B5], NFKD: [0x30B5] }, -{ source: [0x1F210], NFC: [0x1F210], NFD: [0x1F210], NFKC: [0x624B], NFKD: [0x624B] }, -{ source: [0x1F211], NFC: [0x1F211], NFD: [0x1F211], NFKC: [0x5B57], NFKD: [0x5B57] }, -{ source: [0x1F212], NFC: [0x1F212], NFD: [0x1F212], NFKC: [0x53CC], NFKD: [0x53CC] }, -{ source: [0x1F213], NFC: [0x1F213], NFD: [0x1F213], NFKC: [0x30C7], NFKD: [0x30C6, 0x3099] }, -{ source: [0x1F214], NFC: [0x1F214], NFD: [0x1F214], NFKC: [0x4E8C], NFKD: [0x4E8C] }, -{ source: [0x1F215], NFC: [0x1F215], NFD: [0x1F215], NFKC: [0x591A], NFKD: [0x591A] }, -{ source: [0x1F216], NFC: [0x1F216], NFD: [0x1F216], NFKC: [0x89E3], NFKD: [0x89E3] }, -{ source: [0x1F217], NFC: [0x1F217], NFD: [0x1F217], NFKC: [0x5929], NFKD: [0x5929] }, -{ source: [0x1F218], NFC: [0x1F218], NFD: [0x1F218], NFKC: [0x4EA4], NFKD: [0x4EA4] }, -{ source: [0x1F219], NFC: [0x1F219], NFD: [0x1F219], NFKC: [0x6620], NFKD: [0x6620] }, -{ source: [0x1F21A], NFC: [0x1F21A], NFD: [0x1F21A], NFKC: [0x7121], NFKD: [0x7121] }, -{ source: [0x1F21B], NFC: [0x1F21B], NFD: [0x1F21B], NFKC: [0x6599], NFKD: [0x6599] }, -{ source: [0x1F21C], NFC: [0x1F21C], NFD: [0x1F21C], NFKC: [0x524D], NFKD: [0x524D] }, -{ source: [0x1F21D], NFC: [0x1F21D], NFD: [0x1F21D], NFKC: [0x5F8C], NFKD: [0x5F8C] }, -{ source: [0x1F21E], NFC: [0x1F21E], NFD: [0x1F21E], NFKC: [0x518D], NFKD: [0x518D] }, -{ source: [0x1F21F], NFC: [0x1F21F], NFD: [0x1F21F], NFKC: [0x65B0], NFKD: [0x65B0] }, -{ source: [0x1F220], NFC: [0x1F220], NFD: [0x1F220], NFKC: [0x521D], NFKD: [0x521D] }, -{ source: [0x1F221], NFC: [0x1F221], NFD: [0x1F221], NFKC: [0x7D42], NFKD: [0x7D42] }, -{ source: [0x1F222], NFC: [0x1F222], NFD: [0x1F222], NFKC: [0x751F], NFKD: [0x751F] }, -{ source: [0x1F223], NFC: [0x1F223], NFD: [0x1F223], NFKC: [0x8CA9], NFKD: [0x8CA9] }, -{ source: [0x1F224], NFC: [0x1F224], NFD: [0x1F224], NFKC: [0x58F0], NFKD: [0x58F0] }, -{ source: [0x1F225], NFC: [0x1F225], NFD: [0x1F225], NFKC: [0x5439], NFKD: [0x5439] }, -{ source: [0x1F226], NFC: [0x1F226], NFD: [0x1F226], NFKC: [0x6F14], NFKD: [0x6F14] }, -{ source: [0x1F227], NFC: [0x1F227], NFD: [0x1F227], NFKC: [0x6295], NFKD: [0x6295] }, -{ source: [0x1F228], NFC: [0x1F228], NFD: [0x1F228], NFKC: [0x6355], NFKD: [0x6355] }, -{ source: [0x1F229], NFC: [0x1F229], NFD: [0x1F229], NFKC: [0x4E00], NFKD: [0x4E00] }, -{ source: [0x1F22A], NFC: [0x1F22A], NFD: [0x1F22A], NFKC: [0x4E09], NFKD: [0x4E09] }, -{ source: [0x1F22B], NFC: [0x1F22B], NFD: [0x1F22B], NFKC: [0x904A], NFKD: [0x904A] }, -{ source: [0x1F22C], NFC: [0x1F22C], NFD: [0x1F22C], NFKC: [0x5DE6], NFKD: [0x5DE6] }, -{ source: [0x1F22D], NFC: [0x1F22D], NFD: [0x1F22D], NFKC: [0x4E2D], NFKD: [0x4E2D] }, -{ source: [0x1F22E], NFC: [0x1F22E], NFD: [0x1F22E], NFKC: [0x53F3], NFKD: [0x53F3] }, -{ source: [0x1F22F], NFC: [0x1F22F], NFD: [0x1F22F], NFKC: [0x6307], NFKD: [0x6307] }, -{ source: [0x1F230], NFC: [0x1F230], NFD: [0x1F230], NFKC: [0x8D70], NFKD: [0x8D70] }, -{ source: [0x1F231], NFC: [0x1F231], NFD: [0x1F231], NFKC: [0x6253], NFKD: [0x6253] }, -{ source: [0x1F232], NFC: [0x1F232], NFD: [0x1F232], NFKC: [0x7981], NFKD: [0x7981] }, -{ source: [0x1F233], NFC: [0x1F233], NFD: [0x1F233], NFKC: [0x7A7A], NFKD: [0x7A7A] }, -{ source: [0x1F234], NFC: [0x1F234], NFD: [0x1F234], NFKC: [0x5408], NFKD: [0x5408] }, -{ source: [0x1F235], NFC: [0x1F235], NFD: [0x1F235], NFKC: [0x6E80], NFKD: [0x6E80] }, -{ source: [0x1F236], NFC: [0x1F236], NFD: [0x1F236], NFKC: [0x6709], NFKD: [0x6709] }, -{ source: [0x1F237], NFC: [0x1F237], NFD: [0x1F237], NFKC: [0x6708], NFKD: [0x6708] }, -{ source: [0x1F238], NFC: [0x1F238], NFD: [0x1F238], NFKC: [0x7533], NFKD: [0x7533] }, -{ source: [0x1F239], NFC: [0x1F239], NFD: [0x1F239], NFKC: [0x5272], NFKD: [0x5272] }, -{ source: [0x1F23A], NFC: [0x1F23A], NFD: [0x1F23A], NFKC: [0x55B6], NFKD: [0x55B6] }, -{ source: [0x1F23B], NFC: [0x1F23B], NFD: [0x1F23B], NFKC: [0x914D], NFKD: [0x914D] }, -{ source: [0x1F240], NFC: [0x1F240], NFD: [0x1F240], NFKC: [0x3014, 0x672C, 0x3015], NFKD: [0x3014, 0x672C, 0x3015] }, -{ source: [0x1F241], NFC: [0x1F241], NFD: [0x1F241], NFKC: [0x3014, 0x4E09, 0x3015], NFKD: [0x3014, 0x4E09, 0x3015] }, -{ source: [0x1F242], NFC: [0x1F242], NFD: [0x1F242], NFKC: [0x3014, 0x4E8C, 0x3015], NFKD: [0x3014, 0x4E8C, 0x3015] }, -{ source: [0x1F243], NFC: [0x1F243], NFD: [0x1F243], NFKC: [0x3014, 0x5B89, 0x3015], NFKD: [0x3014, 0x5B89, 0x3015] }, -{ source: [0x1F244], NFC: [0x1F244], NFD: [0x1F244], NFKC: [0x3014, 0x70B9, 0x3015], NFKD: [0x3014, 0x70B9, 0x3015] }, -{ source: [0x1F245], NFC: [0x1F245], NFD: [0x1F245], NFKC: [0x3014, 0x6253, 0x3015], NFKD: [0x3014, 0x6253, 0x3015] }, -{ source: [0x1F246], NFC: [0x1F246], NFD: [0x1F246], NFKC: [0x3014, 0x76D7, 0x3015], NFKD: [0x3014, 0x76D7, 0x3015] }, -{ source: [0x1F247], NFC: [0x1F247], NFD: [0x1F247], NFKC: [0x3014, 0x52DD, 0x3015], NFKD: [0x3014, 0x52DD, 0x3015] }, -{ source: [0x1F248], NFC: [0x1F248], NFD: [0x1F248], NFKC: [0x3014, 0x6557, 0x3015], NFKD: [0x3014, 0x6557, 0x3015] }, -{ source: [0x1F250], NFC: [0x1F250], NFD: [0x1F250], NFKC: [0x5F97], NFKD: [0x5F97] }, -{ source: [0x1F251], NFC: [0x1F251], NFD: [0x1F251], NFKC: [0x53EF], NFKD: [0x53EF] }, -{ source: [0x1FBF0], NFC: [0x1FBF0], NFD: [0x1FBF0], NFKC: [0x0030], NFKD: [0x0030] }, -{ source: [0x1FBF1], NFC: [0x1FBF1], NFD: [0x1FBF1], NFKC: [0x0031], NFKD: [0x0031] }, -{ source: [0x1FBF2], NFC: [0x1FBF2], NFD: [0x1FBF2], NFKC: [0x0032], NFKD: [0x0032] }, -{ source: [0x1FBF3], NFC: [0x1FBF3], NFD: [0x1FBF3], NFKC: [0x0033], NFKD: [0x0033] }, -{ source: [0x1FBF4], NFC: [0x1FBF4], NFD: [0x1FBF4], NFKC: [0x0034], NFKD: [0x0034] }, -{ source: [0x1FBF5], NFC: [0x1FBF5], NFD: [0x1FBF5], NFKC: [0x0035], NFKD: [0x0035] }, -{ source: [0x1FBF6], NFC: [0x1FBF6], NFD: [0x1FBF6], NFKC: [0x0036], NFKD: [0x0036] }, -{ source: [0x1FBF7], NFC: [0x1FBF7], NFD: [0x1FBF7], NFKC: [0x0037], NFKD: [0x0037] }, -{ source: [0x1FBF8], NFC: [0x1FBF8], NFD: [0x1FBF8], NFKC: [0x0038], NFKD: [0x0038] }, -{ source: [0x1FBF9], NFC: [0x1FBF9], NFD: [0x1FBF9], NFKC: [0x0039], NFKD: [0x0039] }, -{ source: [0x2F800], NFC: [0x4E3D], NFD: [0x4E3D], NFKC: [0x4E3D], NFKD: [0x4E3D] }, -{ source: [0x2F801], NFC: [0x4E38], NFD: [0x4E38], NFKC: [0x4E38], NFKD: [0x4E38] }, -{ source: [0x2F802], NFC: [0x4E41], NFD: [0x4E41], NFKC: [0x4E41], NFKD: [0x4E41] }, -{ source: [0x2F803], NFC: [0x20122], NFD: [0x20122], NFKC: [0x20122], NFKD: [0x20122] }, -{ source: [0x2F804], NFC: [0x4F60], NFD: [0x4F60], NFKC: [0x4F60], NFKD: [0x4F60] }, -{ source: [0x2F805], NFC: [0x4FAE], NFD: [0x4FAE], NFKC: [0x4FAE], NFKD: [0x4FAE] }, -{ source: [0x2F806], NFC: [0x4FBB], NFD: [0x4FBB], NFKC: [0x4FBB], NFKD: [0x4FBB] }, -{ source: [0x2F807], NFC: [0x5002], NFD: [0x5002], NFKC: [0x5002], NFKD: [0x5002] }, -{ source: [0x2F808], NFC: [0x507A], NFD: [0x507A], NFKC: [0x507A], NFKD: [0x507A] }, -{ source: [0x2F809], NFC: [0x5099], NFD: [0x5099], NFKC: [0x5099], NFKD: [0x5099] }, -{ source: [0x2F80A], NFC: [0x50E7], NFD: [0x50E7], NFKC: [0x50E7], NFKD: [0x50E7] }, -{ source: [0x2F80B], NFC: [0x50CF], NFD: [0x50CF], NFKC: [0x50CF], NFKD: [0x50CF] }, -{ source: [0x2F80C], NFC: [0x349E], NFD: [0x349E], NFKC: [0x349E], NFKD: [0x349E] }, -{ source: [0x2F80D], NFC: [0x2063A], NFD: [0x2063A], NFKC: [0x2063A], NFKD: [0x2063A] }, -{ source: [0x2F80E], NFC: [0x514D], NFD: [0x514D], NFKC: [0x514D], NFKD: [0x514D] }, -{ source: [0x2F80F], NFC: [0x5154], NFD: [0x5154], NFKC: [0x5154], NFKD: [0x5154] }, -{ source: [0x2F810], NFC: [0x5164], NFD: [0x5164], NFKC: [0x5164], NFKD: [0x5164] }, -{ source: [0x2F811], NFC: [0x5177], NFD: [0x5177], NFKC: [0x5177], NFKD: [0x5177] }, -{ source: [0x2F812], NFC: [0x2051C], NFD: [0x2051C], NFKC: [0x2051C], NFKD: [0x2051C] }, -{ source: [0x2F813], NFC: [0x34B9], NFD: [0x34B9], NFKC: [0x34B9], NFKD: [0x34B9] }, -{ source: [0x2F814], NFC: [0x5167], NFD: [0x5167], NFKC: [0x5167], NFKD: [0x5167] }, -{ source: [0x2F815], NFC: [0x518D], NFD: [0x518D], NFKC: [0x518D], NFKD: [0x518D] }, -{ source: [0x2F816], NFC: [0x2054B], NFD: [0x2054B], NFKC: [0x2054B], NFKD: [0x2054B] }, -{ source: [0x2F817], NFC: [0x5197], NFD: [0x5197], NFKC: [0x5197], NFKD: [0x5197] }, -{ source: [0x2F818], NFC: [0x51A4], NFD: [0x51A4], NFKC: [0x51A4], NFKD: [0x51A4] }, -{ source: [0x2F819], NFC: [0x4ECC], NFD: [0x4ECC], NFKC: [0x4ECC], NFKD: [0x4ECC] }, -{ source: [0x2F81A], NFC: [0x51AC], NFD: [0x51AC], NFKC: [0x51AC], NFKD: [0x51AC] }, -{ source: [0x2F81B], NFC: [0x51B5], NFD: [0x51B5], NFKC: [0x51B5], NFKD: [0x51B5] }, -{ source: [0x2F81C], NFC: [0x291DF], NFD: [0x291DF], NFKC: [0x291DF], NFKD: [0x291DF] }, -{ source: [0x2F81D], NFC: [0x51F5], NFD: [0x51F5], NFKC: [0x51F5], NFKD: [0x51F5] }, -{ source: [0x2F81E], NFC: [0x5203], NFD: [0x5203], NFKC: [0x5203], NFKD: [0x5203] }, -{ source: [0x2F81F], NFC: [0x34DF], NFD: [0x34DF], NFKC: [0x34DF], NFKD: [0x34DF] }, -{ source: [0x2F820], NFC: [0x523B], NFD: [0x523B], NFKC: [0x523B], NFKD: [0x523B] }, -{ source: [0x2F821], NFC: [0x5246], NFD: [0x5246], NFKC: [0x5246], NFKD: [0x5246] }, -{ source: [0x2F822], NFC: [0x5272], NFD: [0x5272], NFKC: [0x5272], NFKD: [0x5272] }, -{ source: [0x2F823], NFC: [0x5277], NFD: [0x5277], NFKC: [0x5277], NFKD: [0x5277] }, -{ source: [0x2F824], NFC: [0x3515], NFD: [0x3515], NFKC: [0x3515], NFKD: [0x3515] }, -{ source: [0x2F825], NFC: [0x52C7], NFD: [0x52C7], NFKC: [0x52C7], NFKD: [0x52C7] }, -{ source: [0x2F826], NFC: [0x52C9], NFD: [0x52C9], NFKC: [0x52C9], NFKD: [0x52C9] }, -{ source: [0x2F827], NFC: [0x52E4], NFD: [0x52E4], NFKC: [0x52E4], NFKD: [0x52E4] }, -{ source: [0x2F828], NFC: [0x52FA], NFD: [0x52FA], NFKC: [0x52FA], NFKD: [0x52FA] }, -{ source: [0x2F829], NFC: [0x5305], NFD: [0x5305], NFKC: [0x5305], NFKD: [0x5305] }, -{ source: [0x2F82A], NFC: [0x5306], NFD: [0x5306], NFKC: [0x5306], NFKD: [0x5306] }, -{ source: [0x2F82B], NFC: [0x5317], NFD: [0x5317], NFKC: [0x5317], NFKD: [0x5317] }, -{ source: [0x2F82C], NFC: [0x5349], NFD: [0x5349], NFKC: [0x5349], NFKD: [0x5349] }, -{ source: [0x2F82D], NFC: [0x5351], NFD: [0x5351], NFKC: [0x5351], NFKD: [0x5351] }, -{ source: [0x2F82E], NFC: [0x535A], NFD: [0x535A], NFKC: [0x535A], NFKD: [0x535A] }, -{ source: [0x2F82F], NFC: [0x5373], NFD: [0x5373], NFKC: [0x5373], NFKD: [0x5373] }, -{ source: [0x2F830], NFC: [0x537D], NFD: [0x537D], NFKC: [0x537D], NFKD: [0x537D] }, -{ source: [0x2F831], NFC: [0x537F], NFD: [0x537F], NFKC: [0x537F], NFKD: [0x537F] }, -{ source: [0x2F832], NFC: [0x537F], NFD: [0x537F], NFKC: [0x537F], NFKD: [0x537F] }, -{ source: [0x2F833], NFC: [0x537F], NFD: [0x537F], NFKC: [0x537F], NFKD: [0x537F] }, -{ source: [0x2F834], NFC: [0x20A2C], NFD: [0x20A2C], NFKC: [0x20A2C], NFKD: [0x20A2C] }, -{ source: [0x2F835], NFC: [0x7070], NFD: [0x7070], NFKC: [0x7070], NFKD: [0x7070] }, -{ source: [0x2F836], NFC: [0x53CA], NFD: [0x53CA], NFKC: [0x53CA], NFKD: [0x53CA] }, -{ source: [0x2F837], NFC: [0x53DF], NFD: [0x53DF], NFKC: [0x53DF], NFKD: [0x53DF] }, -{ source: [0x2F838], NFC: [0x20B63], NFD: [0x20B63], NFKC: [0x20B63], NFKD: [0x20B63] }, -{ source: [0x2F839], NFC: [0x53EB], NFD: [0x53EB], NFKC: [0x53EB], NFKD: [0x53EB] }, -{ source: [0x2F83A], NFC: [0x53F1], NFD: [0x53F1], NFKC: [0x53F1], NFKD: [0x53F1] }, -{ source: [0x2F83B], NFC: [0x5406], NFD: [0x5406], NFKC: [0x5406], NFKD: [0x5406] }, -{ source: [0x2F83C], NFC: [0x549E], NFD: [0x549E], NFKC: [0x549E], NFKD: [0x549E] }, -{ source: [0x2F83D], NFC: [0x5438], NFD: [0x5438], NFKC: [0x5438], NFKD: [0x5438] }, -{ source: [0x2F83E], NFC: [0x5448], NFD: [0x5448], NFKC: [0x5448], NFKD: [0x5448] }, -{ source: [0x2F83F], NFC: [0x5468], NFD: [0x5468], NFKC: [0x5468], NFKD: [0x5468] }, -{ source: [0x2F840], NFC: [0x54A2], NFD: [0x54A2], NFKC: [0x54A2], NFKD: [0x54A2] }, -{ source: [0x2F841], NFC: [0x54F6], NFD: [0x54F6], NFKC: [0x54F6], NFKD: [0x54F6] }, -{ source: [0x2F842], NFC: [0x5510], NFD: [0x5510], NFKC: [0x5510], NFKD: [0x5510] }, -{ source: [0x2F843], NFC: [0x5553], NFD: [0x5553], NFKC: [0x5553], NFKD: [0x5553] }, -{ source: [0x2F844], NFC: [0x5563], NFD: [0x5563], NFKC: [0x5563], NFKD: [0x5563] }, -{ source: [0x2F845], NFC: [0x5584], NFD: [0x5584], NFKC: [0x5584], NFKD: [0x5584] }, -{ source: [0x2F846], NFC: [0x5584], NFD: [0x5584], NFKC: [0x5584], NFKD: [0x5584] }, -{ source: [0x2F847], NFC: [0x5599], NFD: [0x5599], NFKC: [0x5599], NFKD: [0x5599] }, -{ source: [0x2F848], NFC: [0x55AB], NFD: [0x55AB], NFKC: [0x55AB], NFKD: [0x55AB] }, -{ source: [0x2F849], NFC: [0x55B3], NFD: [0x55B3], NFKC: [0x55B3], NFKD: [0x55B3] }, -{ source: [0x2F84A], NFC: [0x55C2], NFD: [0x55C2], NFKC: [0x55C2], NFKD: [0x55C2] }, -{ source: [0x2F84B], NFC: [0x5716], NFD: [0x5716], NFKC: [0x5716], NFKD: [0x5716] }, -{ source: [0x2F84C], NFC: [0x5606], NFD: [0x5606], NFKC: [0x5606], NFKD: [0x5606] }, -{ source: [0x2F84D], NFC: [0x5717], NFD: [0x5717], NFKC: [0x5717], NFKD: [0x5717] }, -{ source: [0x2F84E], NFC: [0x5651], NFD: [0x5651], NFKC: [0x5651], NFKD: [0x5651] }, -{ source: [0x2F84F], NFC: [0x5674], NFD: [0x5674], NFKC: [0x5674], NFKD: [0x5674] }, -{ source: [0x2F850], NFC: [0x5207], NFD: [0x5207], NFKC: [0x5207], NFKD: [0x5207] }, -{ source: [0x2F851], NFC: [0x58EE], NFD: [0x58EE], NFKC: [0x58EE], NFKD: [0x58EE] }, -{ source: [0x2F852], NFC: [0x57CE], NFD: [0x57CE], NFKC: [0x57CE], NFKD: [0x57CE] }, -{ source: [0x2F853], NFC: [0x57F4], NFD: [0x57F4], NFKC: [0x57F4], NFKD: [0x57F4] }, -{ source: [0x2F854], NFC: [0x580D], NFD: [0x580D], NFKC: [0x580D], NFKD: [0x580D] }, -{ source: [0x2F855], NFC: [0x578B], NFD: [0x578B], NFKC: [0x578B], NFKD: [0x578B] }, -{ source: [0x2F856], NFC: [0x5832], NFD: [0x5832], NFKC: [0x5832], NFKD: [0x5832] }, -{ source: [0x2F857], NFC: [0x5831], NFD: [0x5831], NFKC: [0x5831], NFKD: [0x5831] }, -{ source: [0x2F858], NFC: [0x58AC], NFD: [0x58AC], NFKC: [0x58AC], NFKD: [0x58AC] }, -{ source: [0x2F859], NFC: [0x214E4], NFD: [0x214E4], NFKC: [0x214E4], NFKD: [0x214E4] }, -{ source: [0x2F85A], NFC: [0x58F2], NFD: [0x58F2], NFKC: [0x58F2], NFKD: [0x58F2] }, -{ source: [0x2F85B], NFC: [0x58F7], NFD: [0x58F7], NFKC: [0x58F7], NFKD: [0x58F7] }, -{ source: [0x2F85C], NFC: [0x5906], NFD: [0x5906], NFKC: [0x5906], NFKD: [0x5906] }, -{ source: [0x2F85D], NFC: [0x591A], NFD: [0x591A], NFKC: [0x591A], NFKD: [0x591A] }, -{ source: [0x2F85E], NFC: [0x5922], NFD: [0x5922], NFKC: [0x5922], NFKD: [0x5922] }, -{ source: [0x2F85F], NFC: [0x5962], NFD: [0x5962], NFKC: [0x5962], NFKD: [0x5962] }, -{ source: [0x2F860], NFC: [0x216A8], NFD: [0x216A8], NFKC: [0x216A8], NFKD: [0x216A8] }, -{ source: [0x2F861], NFC: [0x216EA], NFD: [0x216EA], NFKC: [0x216EA], NFKD: [0x216EA] }, -{ source: [0x2F862], NFC: [0x59EC], NFD: [0x59EC], NFKC: [0x59EC], NFKD: [0x59EC] }, -{ source: [0x2F863], NFC: [0x5A1B], NFD: [0x5A1B], NFKC: [0x5A1B], NFKD: [0x5A1B] }, -{ source: [0x2F864], NFC: [0x5A27], NFD: [0x5A27], NFKC: [0x5A27], NFKD: [0x5A27] }, -{ source: [0x2F865], NFC: [0x59D8], NFD: [0x59D8], NFKC: [0x59D8], NFKD: [0x59D8] }, -{ source: [0x2F866], NFC: [0x5A66], NFD: [0x5A66], NFKC: [0x5A66], NFKD: [0x5A66] }, -{ source: [0x2F867], NFC: [0x36EE], NFD: [0x36EE], NFKC: [0x36EE], NFKD: [0x36EE] }, -{ source: [0x2F868], NFC: [0x36FC], NFD: [0x36FC], NFKC: [0x36FC], NFKD: [0x36FC] }, -{ source: [0x2F869], NFC: [0x5B08], NFD: [0x5B08], NFKC: [0x5B08], NFKD: [0x5B08] }, -{ source: [0x2F86A], NFC: [0x5B3E], NFD: [0x5B3E], NFKC: [0x5B3E], NFKD: [0x5B3E] }, -{ source: [0x2F86B], NFC: [0x5B3E], NFD: [0x5B3E], NFKC: [0x5B3E], NFKD: [0x5B3E] }, -{ source: [0x2F86C], NFC: [0x219C8], NFD: [0x219C8], NFKC: [0x219C8], NFKD: [0x219C8] }, -{ source: [0x2F86D], NFC: [0x5BC3], NFD: [0x5BC3], NFKC: [0x5BC3], NFKD: [0x5BC3] }, -{ source: [0x2F86E], NFC: [0x5BD8], NFD: [0x5BD8], NFKC: [0x5BD8], NFKD: [0x5BD8] }, -{ source: [0x2F86F], NFC: [0x5BE7], NFD: [0x5BE7], NFKC: [0x5BE7], NFKD: [0x5BE7] }, -{ source: [0x2F870], NFC: [0x5BF3], NFD: [0x5BF3], NFKC: [0x5BF3], NFKD: [0x5BF3] }, -{ source: [0x2F871], NFC: [0x21B18], NFD: [0x21B18], NFKC: [0x21B18], NFKD: [0x21B18] }, -{ source: [0x2F872], NFC: [0x5BFF], NFD: [0x5BFF], NFKC: [0x5BFF], NFKD: [0x5BFF] }, -{ source: [0x2F873], NFC: [0x5C06], NFD: [0x5C06], NFKC: [0x5C06], NFKD: [0x5C06] }, -{ source: [0x2F874], NFC: [0x5F53], NFD: [0x5F53], NFKC: [0x5F53], NFKD: [0x5F53] }, -{ source: [0x2F875], NFC: [0x5C22], NFD: [0x5C22], NFKC: [0x5C22], NFKD: [0x5C22] }, -{ source: [0x2F876], NFC: [0x3781], NFD: [0x3781], NFKC: [0x3781], NFKD: [0x3781] }, -{ source: [0x2F877], NFC: [0x5C60], NFD: [0x5C60], NFKC: [0x5C60], NFKD: [0x5C60] }, -{ source: [0x2F878], NFC: [0x5C6E], NFD: [0x5C6E], NFKC: [0x5C6E], NFKD: [0x5C6E] }, -{ source: [0x2F879], NFC: [0x5CC0], NFD: [0x5CC0], NFKC: [0x5CC0], NFKD: [0x5CC0] }, -{ source: [0x2F87A], NFC: [0x5C8D], NFD: [0x5C8D], NFKC: [0x5C8D], NFKD: [0x5C8D] }, -{ source: [0x2F87B], NFC: [0x21DE4], NFD: [0x21DE4], NFKC: [0x21DE4], NFKD: [0x21DE4] }, -{ source: [0x2F87C], NFC: [0x5D43], NFD: [0x5D43], NFKC: [0x5D43], NFKD: [0x5D43] }, -{ source: [0x2F87D], NFC: [0x21DE6], NFD: [0x21DE6], NFKC: [0x21DE6], NFKD: [0x21DE6] }, -{ source: [0x2F87E], NFC: [0x5D6E], NFD: [0x5D6E], NFKC: [0x5D6E], NFKD: [0x5D6E] }, -{ source: [0x2F87F], NFC: [0x5D6B], NFD: [0x5D6B], NFKC: [0x5D6B], NFKD: [0x5D6B] }, -{ source: [0x2F880], NFC: [0x5D7C], NFD: [0x5D7C], NFKC: [0x5D7C], NFKD: [0x5D7C] }, -{ source: [0x2F881], NFC: [0x5DE1], NFD: [0x5DE1], NFKC: [0x5DE1], NFKD: [0x5DE1] }, -{ source: [0x2F882], NFC: [0x5DE2], NFD: [0x5DE2], NFKC: [0x5DE2], NFKD: [0x5DE2] }, -{ source: [0x2F883], NFC: [0x382F], NFD: [0x382F], NFKC: [0x382F], NFKD: [0x382F] }, -{ source: [0x2F884], NFC: [0x5DFD], NFD: [0x5DFD], NFKC: [0x5DFD], NFKD: [0x5DFD] }, -{ source: [0x2F885], NFC: [0x5E28], NFD: [0x5E28], NFKC: [0x5E28], NFKD: [0x5E28] }, -{ source: [0x2F886], NFC: [0x5E3D], NFD: [0x5E3D], NFKC: [0x5E3D], NFKD: [0x5E3D] }, -{ source: [0x2F887], NFC: [0x5E69], NFD: [0x5E69], NFKC: [0x5E69], NFKD: [0x5E69] }, -{ source: [0x2F888], NFC: [0x3862], NFD: [0x3862], NFKC: [0x3862], NFKD: [0x3862] }, -{ source: [0x2F889], NFC: [0x22183], NFD: [0x22183], NFKC: [0x22183], NFKD: [0x22183] }, -{ source: [0x2F88A], NFC: [0x387C], NFD: [0x387C], NFKC: [0x387C], NFKD: [0x387C] }, -{ source: [0x2F88B], NFC: [0x5EB0], NFD: [0x5EB0], NFKC: [0x5EB0], NFKD: [0x5EB0] }, -{ source: [0x2F88C], NFC: [0x5EB3], NFD: [0x5EB3], NFKC: [0x5EB3], NFKD: [0x5EB3] }, -{ source: [0x2F88D], NFC: [0x5EB6], NFD: [0x5EB6], NFKC: [0x5EB6], NFKD: [0x5EB6] }, -{ source: [0x2F88E], NFC: [0x5ECA], NFD: [0x5ECA], NFKC: [0x5ECA], NFKD: [0x5ECA] }, -{ source: [0x2F88F], NFC: [0x2A392], NFD: [0x2A392], NFKC: [0x2A392], NFKD: [0x2A392] }, -{ source: [0x2F890], NFC: [0x5EFE], NFD: [0x5EFE], NFKC: [0x5EFE], NFKD: [0x5EFE] }, -{ source: [0x2F891], NFC: [0x22331], NFD: [0x22331], NFKC: [0x22331], NFKD: [0x22331] }, -{ source: [0x2F892], NFC: [0x22331], NFD: [0x22331], NFKC: [0x22331], NFKD: [0x22331] }, -{ source: [0x2F893], NFC: [0x8201], NFD: [0x8201], NFKC: [0x8201], NFKD: [0x8201] }, -{ source: [0x2F894], NFC: [0x5F22], NFD: [0x5F22], NFKC: [0x5F22], NFKD: [0x5F22] }, -{ source: [0x2F895], NFC: [0x5F22], NFD: [0x5F22], NFKC: [0x5F22], NFKD: [0x5F22] }, -{ source: [0x2F896], NFC: [0x38C7], NFD: [0x38C7], NFKC: [0x38C7], NFKD: [0x38C7] }, -{ source: [0x2F897], NFC: [0x232B8], NFD: [0x232B8], NFKC: [0x232B8], NFKD: [0x232B8] }, -{ source: [0x2F898], NFC: [0x261DA], NFD: [0x261DA], NFKC: [0x261DA], NFKD: [0x261DA] }, -{ source: [0x2F899], NFC: [0x5F62], NFD: [0x5F62], NFKC: [0x5F62], NFKD: [0x5F62] }, -{ source: [0x2F89A], NFC: [0x5F6B], NFD: [0x5F6B], NFKC: [0x5F6B], NFKD: [0x5F6B] }, -{ source: [0x2F89B], NFC: [0x38E3], NFD: [0x38E3], NFKC: [0x38E3], NFKD: [0x38E3] }, -{ source: [0x2F89C], NFC: [0x5F9A], NFD: [0x5F9A], NFKC: [0x5F9A], NFKD: [0x5F9A] }, -{ source: [0x2F89D], NFC: [0x5FCD], NFD: [0x5FCD], NFKC: [0x5FCD], NFKD: [0x5FCD] }, -{ source: [0x2F89E], NFC: [0x5FD7], NFD: [0x5FD7], NFKC: [0x5FD7], NFKD: [0x5FD7] }, -{ source: [0x2F89F], NFC: [0x5FF9], NFD: [0x5FF9], NFKC: [0x5FF9], NFKD: [0x5FF9] }, -{ source: [0x2F8A0], NFC: [0x6081], NFD: [0x6081], NFKC: [0x6081], NFKD: [0x6081] }, -{ source: [0x2F8A1], NFC: [0x393A], NFD: [0x393A], NFKC: [0x393A], NFKD: [0x393A] }, -{ source: [0x2F8A2], NFC: [0x391C], NFD: [0x391C], NFKC: [0x391C], NFKD: [0x391C] }, -{ source: [0x2F8A3], NFC: [0x6094], NFD: [0x6094], NFKC: [0x6094], NFKD: [0x6094] }, -{ source: [0x2F8A4], NFC: [0x226D4], NFD: [0x226D4], NFKC: [0x226D4], NFKD: [0x226D4] }, -{ source: [0x2F8A5], NFC: [0x60C7], NFD: [0x60C7], NFKC: [0x60C7], NFKD: [0x60C7] }, -{ source: [0x2F8A6], NFC: [0x6148], NFD: [0x6148], NFKC: [0x6148], NFKD: [0x6148] }, -{ source: [0x2F8A7], NFC: [0x614C], NFD: [0x614C], NFKC: [0x614C], NFKD: [0x614C] }, -{ source: [0x2F8A8], NFC: [0x614E], NFD: [0x614E], NFKC: [0x614E], NFKD: [0x614E] }, -{ source: [0x2F8A9], NFC: [0x614C], NFD: [0x614C], NFKC: [0x614C], NFKD: [0x614C] }, -{ source: [0x2F8AA], NFC: [0x617A], NFD: [0x617A], NFKC: [0x617A], NFKD: [0x617A] }, -{ source: [0x2F8AB], NFC: [0x618E], NFD: [0x618E], NFKC: [0x618E], NFKD: [0x618E] }, -{ source: [0x2F8AC], NFC: [0x61B2], NFD: [0x61B2], NFKC: [0x61B2], NFKD: [0x61B2] }, -{ source: [0x2F8AD], NFC: [0x61A4], NFD: [0x61A4], NFKC: [0x61A4], NFKD: [0x61A4] }, -{ source: [0x2F8AE], NFC: [0x61AF], NFD: [0x61AF], NFKC: [0x61AF], NFKD: [0x61AF] }, -{ source: [0x2F8AF], NFC: [0x61DE], NFD: [0x61DE], NFKC: [0x61DE], NFKD: [0x61DE] }, -{ source: [0x2F8B0], NFC: [0x61F2], NFD: [0x61F2], NFKC: [0x61F2], NFKD: [0x61F2] }, -{ source: [0x2F8B1], NFC: [0x61F6], NFD: [0x61F6], NFKC: [0x61F6], NFKD: [0x61F6] }, -{ source: [0x2F8B2], NFC: [0x6210], NFD: [0x6210], NFKC: [0x6210], NFKD: [0x6210] }, -{ source: [0x2F8B3], NFC: [0x621B], NFD: [0x621B], NFKC: [0x621B], NFKD: [0x621B] }, -{ source: [0x2F8B4], NFC: [0x625D], NFD: [0x625D], NFKC: [0x625D], NFKD: [0x625D] }, -{ source: [0x2F8B5], NFC: [0x62B1], NFD: [0x62B1], NFKC: [0x62B1], NFKD: [0x62B1] }, -{ source: [0x2F8B6], NFC: [0x62D4], NFD: [0x62D4], NFKC: [0x62D4], NFKD: [0x62D4] }, -{ source: [0x2F8B7], NFC: [0x6350], NFD: [0x6350], NFKC: [0x6350], NFKD: [0x6350] }, -{ source: [0x2F8B8], NFC: [0x22B0C], NFD: [0x22B0C], NFKC: [0x22B0C], NFKD: [0x22B0C] }, -{ source: [0x2F8B9], NFC: [0x633D], NFD: [0x633D], NFKC: [0x633D], NFKD: [0x633D] }, -{ source: [0x2F8BA], NFC: [0x62FC], NFD: [0x62FC], NFKC: [0x62FC], NFKD: [0x62FC] }, -{ source: [0x2F8BB], NFC: [0x6368], NFD: [0x6368], NFKC: [0x6368], NFKD: [0x6368] }, -{ source: [0x2F8BC], NFC: [0x6383], NFD: [0x6383], NFKC: [0x6383], NFKD: [0x6383] }, -{ source: [0x2F8BD], NFC: [0x63E4], NFD: [0x63E4], NFKC: [0x63E4], NFKD: [0x63E4] }, -{ source: [0x2F8BE], NFC: [0x22BF1], NFD: [0x22BF1], NFKC: [0x22BF1], NFKD: [0x22BF1] }, -{ source: [0x2F8BF], NFC: [0x6422], NFD: [0x6422], NFKC: [0x6422], NFKD: [0x6422] }, -{ source: [0x2F8C0], NFC: [0x63C5], NFD: [0x63C5], NFKC: [0x63C5], NFKD: [0x63C5] }, -{ source: [0x2F8C1], NFC: [0x63A9], NFD: [0x63A9], NFKC: [0x63A9], NFKD: [0x63A9] }, -{ source: [0x2F8C2], NFC: [0x3A2E], NFD: [0x3A2E], NFKC: [0x3A2E], NFKD: [0x3A2E] }, -{ source: [0x2F8C3], NFC: [0x6469], NFD: [0x6469], NFKC: [0x6469], NFKD: [0x6469] }, -{ source: [0x2F8C4], NFC: [0x647E], NFD: [0x647E], NFKC: [0x647E], NFKD: [0x647E] }, -{ source: [0x2F8C5], NFC: [0x649D], NFD: [0x649D], NFKC: [0x649D], NFKD: [0x649D] }, -{ source: [0x2F8C6], NFC: [0x6477], NFD: [0x6477], NFKC: [0x6477], NFKD: [0x6477] }, -{ source: [0x2F8C7], NFC: [0x3A6C], NFD: [0x3A6C], NFKC: [0x3A6C], NFKD: [0x3A6C] }, -{ source: [0x2F8C8], NFC: [0x654F], NFD: [0x654F], NFKC: [0x654F], NFKD: [0x654F] }, -{ source: [0x2F8C9], NFC: [0x656C], NFD: [0x656C], NFKC: [0x656C], NFKD: [0x656C] }, -{ source: [0x2F8CA], NFC: [0x2300A], NFD: [0x2300A], NFKC: [0x2300A], NFKD: [0x2300A] }, -{ source: [0x2F8CB], NFC: [0x65E3], NFD: [0x65E3], NFKC: [0x65E3], NFKD: [0x65E3] }, -{ source: [0x2F8CC], NFC: [0x66F8], NFD: [0x66F8], NFKC: [0x66F8], NFKD: [0x66F8] }, -{ source: [0x2F8CD], NFC: [0x6649], NFD: [0x6649], NFKC: [0x6649], NFKD: [0x6649] }, -{ source: [0x2F8CE], NFC: [0x3B19], NFD: [0x3B19], NFKC: [0x3B19], NFKD: [0x3B19] }, -{ source: [0x2F8CF], NFC: [0x6691], NFD: [0x6691], NFKC: [0x6691], NFKD: [0x6691] }, -{ source: [0x2F8D0], NFC: [0x3B08], NFD: [0x3B08], NFKC: [0x3B08], NFKD: [0x3B08] }, -{ source: [0x2F8D1], NFC: [0x3AE4], NFD: [0x3AE4], NFKC: [0x3AE4], NFKD: [0x3AE4] }, -{ source: [0x2F8D2], NFC: [0x5192], NFD: [0x5192], NFKC: [0x5192], NFKD: [0x5192] }, -{ source: [0x2F8D3], NFC: [0x5195], NFD: [0x5195], NFKC: [0x5195], NFKD: [0x5195] }, -{ source: [0x2F8D4], NFC: [0x6700], NFD: [0x6700], NFKC: [0x6700], NFKD: [0x6700] }, -{ source: [0x2F8D5], NFC: [0x669C], NFD: [0x669C], NFKC: [0x669C], NFKD: [0x669C] }, -{ source: [0x2F8D6], NFC: [0x80AD], NFD: [0x80AD], NFKC: [0x80AD], NFKD: [0x80AD] }, -{ source: [0x2F8D7], NFC: [0x43D9], NFD: [0x43D9], NFKC: [0x43D9], NFKD: [0x43D9] }, -{ source: [0x2F8D8], NFC: [0x6717], NFD: [0x6717], NFKC: [0x6717], NFKD: [0x6717] }, -{ source: [0x2F8D9], NFC: [0x671B], NFD: [0x671B], NFKC: [0x671B], NFKD: [0x671B] }, -{ source: [0x2F8DA], NFC: [0x6721], NFD: [0x6721], NFKC: [0x6721], NFKD: [0x6721] }, -{ source: [0x2F8DB], NFC: [0x675E], NFD: [0x675E], NFKC: [0x675E], NFKD: [0x675E] }, -{ source: [0x2F8DC], NFC: [0x6753], NFD: [0x6753], NFKC: [0x6753], NFKD: [0x6753] }, -{ source: [0x2F8DD], NFC: [0x233C3], NFD: [0x233C3], NFKC: [0x233C3], NFKD: [0x233C3] }, -{ source: [0x2F8DE], NFC: [0x3B49], NFD: [0x3B49], NFKC: [0x3B49], NFKD: [0x3B49] }, -{ source: [0x2F8DF], NFC: [0x67FA], NFD: [0x67FA], NFKC: [0x67FA], NFKD: [0x67FA] }, -{ source: [0x2F8E0], NFC: [0x6785], NFD: [0x6785], NFKC: [0x6785], NFKD: [0x6785] }, -{ source: [0x2F8E1], NFC: [0x6852], NFD: [0x6852], NFKC: [0x6852], NFKD: [0x6852] }, -{ source: [0x2F8E2], NFC: [0x6885], NFD: [0x6885], NFKC: [0x6885], NFKD: [0x6885] }, -{ source: [0x2F8E3], NFC: [0x2346D], NFD: [0x2346D], NFKC: [0x2346D], NFKD: [0x2346D] }, -{ source: [0x2F8E4], NFC: [0x688E], NFD: [0x688E], NFKC: [0x688E], NFKD: [0x688E] }, -{ source: [0x2F8E5], NFC: [0x681F], NFD: [0x681F], NFKC: [0x681F], NFKD: [0x681F] }, -{ source: [0x2F8E6], NFC: [0x6914], NFD: [0x6914], NFKC: [0x6914], NFKD: [0x6914] }, -{ source: [0x2F8E7], NFC: [0x3B9D], NFD: [0x3B9D], NFKC: [0x3B9D], NFKD: [0x3B9D] }, -{ source: [0x2F8E8], NFC: [0x6942], NFD: [0x6942], NFKC: [0x6942], NFKD: [0x6942] }, -{ source: [0x2F8E9], NFC: [0x69A3], NFD: [0x69A3], NFKC: [0x69A3], NFKD: [0x69A3] }, -{ source: [0x2F8EA], NFC: [0x69EA], NFD: [0x69EA], NFKC: [0x69EA], NFKD: [0x69EA] }, -{ source: [0x2F8EB], NFC: [0x6AA8], NFD: [0x6AA8], NFKC: [0x6AA8], NFKD: [0x6AA8] }, -{ source: [0x2F8EC], NFC: [0x236A3], NFD: [0x236A3], NFKC: [0x236A3], NFKD: [0x236A3] }, -{ source: [0x2F8ED], NFC: [0x6ADB], NFD: [0x6ADB], NFKC: [0x6ADB], NFKD: [0x6ADB] }, -{ source: [0x2F8EE], NFC: [0x3C18], NFD: [0x3C18], NFKC: [0x3C18], NFKD: [0x3C18] }, -{ source: [0x2F8EF], NFC: [0x6B21], NFD: [0x6B21], NFKC: [0x6B21], NFKD: [0x6B21] }, -{ source: [0x2F8F0], NFC: [0x238A7], NFD: [0x238A7], NFKC: [0x238A7], NFKD: [0x238A7] }, -{ source: [0x2F8F1], NFC: [0x6B54], NFD: [0x6B54], NFKC: [0x6B54], NFKD: [0x6B54] }, -{ source: [0x2F8F2], NFC: [0x3C4E], NFD: [0x3C4E], NFKC: [0x3C4E], NFKD: [0x3C4E] }, -{ source: [0x2F8F3], NFC: [0x6B72], NFD: [0x6B72], NFKC: [0x6B72], NFKD: [0x6B72] }, -{ source: [0x2F8F4], NFC: [0x6B9F], NFD: [0x6B9F], NFKC: [0x6B9F], NFKD: [0x6B9F] }, -{ source: [0x2F8F5], NFC: [0x6BBA], NFD: [0x6BBA], NFKC: [0x6BBA], NFKD: [0x6BBA] }, -{ source: [0x2F8F6], NFC: [0x6BBB], NFD: [0x6BBB], NFKC: [0x6BBB], NFKD: [0x6BBB] }, -{ source: [0x2F8F7], NFC: [0x23A8D], NFD: [0x23A8D], NFKC: [0x23A8D], NFKD: [0x23A8D] }, -{ source: [0x2F8F8], NFC: [0x21D0B], NFD: [0x21D0B], NFKC: [0x21D0B], NFKD: [0x21D0B] }, -{ source: [0x2F8F9], NFC: [0x23AFA], NFD: [0x23AFA], NFKC: [0x23AFA], NFKD: [0x23AFA] }, -{ source: [0x2F8FA], NFC: [0x6C4E], NFD: [0x6C4E], NFKC: [0x6C4E], NFKD: [0x6C4E] }, -{ source: [0x2F8FB], NFC: [0x23CBC], NFD: [0x23CBC], NFKC: [0x23CBC], NFKD: [0x23CBC] }, -{ source: [0x2F8FC], NFC: [0x6CBF], NFD: [0x6CBF], NFKC: [0x6CBF], NFKD: [0x6CBF] }, -{ source: [0x2F8FD], NFC: [0x6CCD], NFD: [0x6CCD], NFKC: [0x6CCD], NFKD: [0x6CCD] }, -{ source: [0x2F8FE], NFC: [0x6C67], NFD: [0x6C67], NFKC: [0x6C67], NFKD: [0x6C67] }, -{ source: [0x2F8FF], NFC: [0x6D16], NFD: [0x6D16], NFKC: [0x6D16], NFKD: [0x6D16] }, -{ source: [0x2F900], NFC: [0x6D3E], NFD: [0x6D3E], NFKC: [0x6D3E], NFKD: [0x6D3E] }, -{ source: [0x2F901], NFC: [0x6D77], NFD: [0x6D77], NFKC: [0x6D77], NFKD: [0x6D77] }, -{ source: [0x2F902], NFC: [0x6D41], NFD: [0x6D41], NFKC: [0x6D41], NFKD: [0x6D41] }, -{ source: [0x2F903], NFC: [0x6D69], NFD: [0x6D69], NFKC: [0x6D69], NFKD: [0x6D69] }, -{ source: [0x2F904], NFC: [0x6D78], NFD: [0x6D78], NFKC: [0x6D78], NFKD: [0x6D78] }, -{ source: [0x2F905], NFC: [0x6D85], NFD: [0x6D85], NFKC: [0x6D85], NFKD: [0x6D85] }, -{ source: [0x2F906], NFC: [0x23D1E], NFD: [0x23D1E], NFKC: [0x23D1E], NFKD: [0x23D1E] }, -{ source: [0x2F907], NFC: [0x6D34], NFD: [0x6D34], NFKC: [0x6D34], NFKD: [0x6D34] }, -{ source: [0x2F908], NFC: [0x6E2F], NFD: [0x6E2F], NFKC: [0x6E2F], NFKD: [0x6E2F] }, -{ source: [0x2F909], NFC: [0x6E6E], NFD: [0x6E6E], NFKC: [0x6E6E], NFKD: [0x6E6E] }, -{ source: [0x2F90A], NFC: [0x3D33], NFD: [0x3D33], NFKC: [0x3D33], NFKD: [0x3D33] }, -{ source: [0x2F90B], NFC: [0x6ECB], NFD: [0x6ECB], NFKC: [0x6ECB], NFKD: [0x6ECB] }, -{ source: [0x2F90C], NFC: [0x6EC7], NFD: [0x6EC7], NFKC: [0x6EC7], NFKD: [0x6EC7] }, -{ source: [0x2F90D], NFC: [0x23ED1], NFD: [0x23ED1], NFKC: [0x23ED1], NFKD: [0x23ED1] }, -{ source: [0x2F90E], NFC: [0x6DF9], NFD: [0x6DF9], NFKC: [0x6DF9], NFKD: [0x6DF9] }, -{ source: [0x2F90F], NFC: [0x6F6E], NFD: [0x6F6E], NFKC: [0x6F6E], NFKD: [0x6F6E] }, -{ source: [0x2F910], NFC: [0x23F5E], NFD: [0x23F5E], NFKC: [0x23F5E], NFKD: [0x23F5E] }, -{ source: [0x2F911], NFC: [0x23F8E], NFD: [0x23F8E], NFKC: [0x23F8E], NFKD: [0x23F8E] }, -{ source: [0x2F912], NFC: [0x6FC6], NFD: [0x6FC6], NFKC: [0x6FC6], NFKD: [0x6FC6] }, -{ source: [0x2F913], NFC: [0x7039], NFD: [0x7039], NFKC: [0x7039], NFKD: [0x7039] }, -{ source: [0x2F914], NFC: [0x701E], NFD: [0x701E], NFKC: [0x701E], NFKD: [0x701E] }, -{ source: [0x2F915], NFC: [0x701B], NFD: [0x701B], NFKC: [0x701B], NFKD: [0x701B] }, -{ source: [0x2F916], NFC: [0x3D96], NFD: [0x3D96], NFKC: [0x3D96], NFKD: [0x3D96] }, -{ source: [0x2F917], NFC: [0x704A], NFD: [0x704A], NFKC: [0x704A], NFKD: [0x704A] }, -{ source: [0x2F918], NFC: [0x707D], NFD: [0x707D], NFKC: [0x707D], NFKD: [0x707D] }, -{ source: [0x2F919], NFC: [0x7077], NFD: [0x7077], NFKC: [0x7077], NFKD: [0x7077] }, -{ source: [0x2F91A], NFC: [0x70AD], NFD: [0x70AD], NFKC: [0x70AD], NFKD: [0x70AD] }, -{ source: [0x2F91B], NFC: [0x20525], NFD: [0x20525], NFKC: [0x20525], NFKD: [0x20525] }, -{ source: [0x2F91C], NFC: [0x7145], NFD: [0x7145], NFKC: [0x7145], NFKD: [0x7145] }, -{ source: [0x2F91D], NFC: [0x24263], NFD: [0x24263], NFKC: [0x24263], NFKD: [0x24263] }, -{ source: [0x2F91E], NFC: [0x719C], NFD: [0x719C], NFKC: [0x719C], NFKD: [0x719C] }, -{ source: [0x2F91F], NFC: [0x243AB], NFD: [0x243AB], NFKC: [0x243AB], NFKD: [0x243AB] }, -{ source: [0x2F920], NFC: [0x7228], NFD: [0x7228], NFKC: [0x7228], NFKD: [0x7228] }, -{ source: [0x2F921], NFC: [0x7235], NFD: [0x7235], NFKC: [0x7235], NFKD: [0x7235] }, -{ source: [0x2F922], NFC: [0x7250], NFD: [0x7250], NFKC: [0x7250], NFKD: [0x7250] }, -{ source: [0x2F923], NFC: [0x24608], NFD: [0x24608], NFKC: [0x24608], NFKD: [0x24608] }, -{ source: [0x2F924], NFC: [0x7280], NFD: [0x7280], NFKC: [0x7280], NFKD: [0x7280] }, -{ source: [0x2F925], NFC: [0x7295], NFD: [0x7295], NFKC: [0x7295], NFKD: [0x7295] }, -{ source: [0x2F926], NFC: [0x24735], NFD: [0x24735], NFKC: [0x24735], NFKD: [0x24735] }, -{ source: [0x2F927], NFC: [0x24814], NFD: [0x24814], NFKC: [0x24814], NFKD: [0x24814] }, -{ source: [0x2F928], NFC: [0x737A], NFD: [0x737A], NFKC: [0x737A], NFKD: [0x737A] }, -{ source: [0x2F929], NFC: [0x738B], NFD: [0x738B], NFKC: [0x738B], NFKD: [0x738B] }, -{ source: [0x2F92A], NFC: [0x3EAC], NFD: [0x3EAC], NFKC: [0x3EAC], NFKD: [0x3EAC] }, -{ source: [0x2F92B], NFC: [0x73A5], NFD: [0x73A5], NFKC: [0x73A5], NFKD: [0x73A5] }, -{ source: [0x2F92C], NFC: [0x3EB8], NFD: [0x3EB8], NFKC: [0x3EB8], NFKD: [0x3EB8] }, -{ source: [0x2F92D], NFC: [0x3EB8], NFD: [0x3EB8], NFKC: [0x3EB8], NFKD: [0x3EB8] }, -{ source: [0x2F92E], NFC: [0x7447], NFD: [0x7447], NFKC: [0x7447], NFKD: [0x7447] }, -{ source: [0x2F92F], NFC: [0x745C], NFD: [0x745C], NFKC: [0x745C], NFKD: [0x745C] }, -{ source: [0x2F930], NFC: [0x7471], NFD: [0x7471], NFKC: [0x7471], NFKD: [0x7471] }, -{ source: [0x2F931], NFC: [0x7485], NFD: [0x7485], NFKC: [0x7485], NFKD: [0x7485] }, -{ source: [0x2F932], NFC: [0x74CA], NFD: [0x74CA], NFKC: [0x74CA], NFKD: [0x74CA] }, -{ source: [0x2F933], NFC: [0x3F1B], NFD: [0x3F1B], NFKC: [0x3F1B], NFKD: [0x3F1B] }, -{ source: [0x2F934], NFC: [0x7524], NFD: [0x7524], NFKC: [0x7524], NFKD: [0x7524] }, -{ source: [0x2F935], NFC: [0x24C36], NFD: [0x24C36], NFKC: [0x24C36], NFKD: [0x24C36] }, -{ source: [0x2F936], NFC: [0x753E], NFD: [0x753E], NFKC: [0x753E], NFKD: [0x753E] }, -{ source: [0x2F937], NFC: [0x24C92], NFD: [0x24C92], NFKC: [0x24C92], NFKD: [0x24C92] }, -{ source: [0x2F938], NFC: [0x7570], NFD: [0x7570], NFKC: [0x7570], NFKD: [0x7570] }, -{ source: [0x2F939], NFC: [0x2219F], NFD: [0x2219F], NFKC: [0x2219F], NFKD: [0x2219F] }, -{ source: [0x2F93A], NFC: [0x7610], NFD: [0x7610], NFKC: [0x7610], NFKD: [0x7610] }, -{ source: [0x2F93B], NFC: [0x24FA1], NFD: [0x24FA1], NFKC: [0x24FA1], NFKD: [0x24FA1] }, -{ source: [0x2F93C], NFC: [0x24FB8], NFD: [0x24FB8], NFKC: [0x24FB8], NFKD: [0x24FB8] }, -{ source: [0x2F93D], NFC: [0x25044], NFD: [0x25044], NFKC: [0x25044], NFKD: [0x25044] }, -{ source: [0x2F93E], NFC: [0x3FFC], NFD: [0x3FFC], NFKC: [0x3FFC], NFKD: [0x3FFC] }, -{ source: [0x2F93F], NFC: [0x4008], NFD: [0x4008], NFKC: [0x4008], NFKD: [0x4008] }, -{ source: [0x2F940], NFC: [0x76F4], NFD: [0x76F4], NFKC: [0x76F4], NFKD: [0x76F4] }, -{ source: [0x2F941], NFC: [0x250F3], NFD: [0x250F3], NFKC: [0x250F3], NFKD: [0x250F3] }, -{ source: [0x2F942], NFC: [0x250F2], NFD: [0x250F2], NFKC: [0x250F2], NFKD: [0x250F2] }, -{ source: [0x2F943], NFC: [0x25119], NFD: [0x25119], NFKC: [0x25119], NFKD: [0x25119] }, -{ source: [0x2F944], NFC: [0x25133], NFD: [0x25133], NFKC: [0x25133], NFKD: [0x25133] }, -{ source: [0x2F945], NFC: [0x771E], NFD: [0x771E], NFKC: [0x771E], NFKD: [0x771E] }, -{ source: [0x2F946], NFC: [0x771F], NFD: [0x771F], NFKC: [0x771F], NFKD: [0x771F] }, -{ source: [0x2F947], NFC: [0x771F], NFD: [0x771F], NFKC: [0x771F], NFKD: [0x771F] }, -{ source: [0x2F948], NFC: [0x774A], NFD: [0x774A], NFKC: [0x774A], NFKD: [0x774A] }, -{ source: [0x2F949], NFC: [0x4039], NFD: [0x4039], NFKC: [0x4039], NFKD: [0x4039] }, -{ source: [0x2F94A], NFC: [0x778B], NFD: [0x778B], NFKC: [0x778B], NFKD: [0x778B] }, -{ source: [0x2F94B], NFC: [0x4046], NFD: [0x4046], NFKC: [0x4046], NFKD: [0x4046] }, -{ source: [0x2F94C], NFC: [0x4096], NFD: [0x4096], NFKC: [0x4096], NFKD: [0x4096] }, -{ source: [0x2F94D], NFC: [0x2541D], NFD: [0x2541D], NFKC: [0x2541D], NFKD: [0x2541D] }, -{ source: [0x2F94E], NFC: [0x784E], NFD: [0x784E], NFKC: [0x784E], NFKD: [0x784E] }, -{ source: [0x2F94F], NFC: [0x788C], NFD: [0x788C], NFKC: [0x788C], NFKD: [0x788C] }, -{ source: [0x2F950], NFC: [0x78CC], NFD: [0x78CC], NFKC: [0x78CC], NFKD: [0x78CC] }, -{ source: [0x2F951], NFC: [0x40E3], NFD: [0x40E3], NFKC: [0x40E3], NFKD: [0x40E3] }, -{ source: [0x2F952], NFC: [0x25626], NFD: [0x25626], NFKC: [0x25626], NFKD: [0x25626] }, -{ source: [0x2F953], NFC: [0x7956], NFD: [0x7956], NFKC: [0x7956], NFKD: [0x7956] }, -{ source: [0x2F954], NFC: [0x2569A], NFD: [0x2569A], NFKC: [0x2569A], NFKD: [0x2569A] }, -{ source: [0x2F955], NFC: [0x256C5], NFD: [0x256C5], NFKC: [0x256C5], NFKD: [0x256C5] }, -{ source: [0x2F956], NFC: [0x798F], NFD: [0x798F], NFKC: [0x798F], NFKD: [0x798F] }, -{ source: [0x2F957], NFC: [0x79EB], NFD: [0x79EB], NFKC: [0x79EB], NFKD: [0x79EB] }, -{ source: [0x2F958], NFC: [0x412F], NFD: [0x412F], NFKC: [0x412F], NFKD: [0x412F] }, -{ source: [0x2F959], NFC: [0x7A40], NFD: [0x7A40], NFKC: [0x7A40], NFKD: [0x7A40] }, -{ source: [0x2F95A], NFC: [0x7A4A], NFD: [0x7A4A], NFKC: [0x7A4A], NFKD: [0x7A4A] }, -{ source: [0x2F95B], NFC: [0x7A4F], NFD: [0x7A4F], NFKC: [0x7A4F], NFKD: [0x7A4F] }, -{ source: [0x2F95C], NFC: [0x2597C], NFD: [0x2597C], NFKC: [0x2597C], NFKD: [0x2597C] }, -{ source: [0x2F95D], NFC: [0x25AA7], NFD: [0x25AA7], NFKC: [0x25AA7], NFKD: [0x25AA7] }, -{ source: [0x2F95E], NFC: [0x25AA7], NFD: [0x25AA7], NFKC: [0x25AA7], NFKD: [0x25AA7] }, -{ source: [0x2F95F], NFC: [0x7AEE], NFD: [0x7AEE], NFKC: [0x7AEE], NFKD: [0x7AEE] }, -{ source: [0x2F960], NFC: [0x4202], NFD: [0x4202], NFKC: [0x4202], NFKD: [0x4202] }, -{ source: [0x2F961], NFC: [0x25BAB], NFD: [0x25BAB], NFKC: [0x25BAB], NFKD: [0x25BAB] }, -{ source: [0x2F962], NFC: [0x7BC6], NFD: [0x7BC6], NFKC: [0x7BC6], NFKD: [0x7BC6] }, -{ source: [0x2F963], NFC: [0x7BC9], NFD: [0x7BC9], NFKC: [0x7BC9], NFKD: [0x7BC9] }, -{ source: [0x2F964], NFC: [0x4227], NFD: [0x4227], NFKC: [0x4227], NFKD: [0x4227] }, -{ source: [0x2F965], NFC: [0x25C80], NFD: [0x25C80], NFKC: [0x25C80], NFKD: [0x25C80] }, -{ source: [0x2F966], NFC: [0x7CD2], NFD: [0x7CD2], NFKC: [0x7CD2], NFKD: [0x7CD2] }, -{ source: [0x2F967], NFC: [0x42A0], NFD: [0x42A0], NFKC: [0x42A0], NFKD: [0x42A0] }, -{ source: [0x2F968], NFC: [0x7CE8], NFD: [0x7CE8], NFKC: [0x7CE8], NFKD: [0x7CE8] }, -{ source: [0x2F969], NFC: [0x7CE3], NFD: [0x7CE3], NFKC: [0x7CE3], NFKD: [0x7CE3] }, -{ source: [0x2F96A], NFC: [0x7D00], NFD: [0x7D00], NFKC: [0x7D00], NFKD: [0x7D00] }, -{ source: [0x2F96B], NFC: [0x25F86], NFD: [0x25F86], NFKC: [0x25F86], NFKD: [0x25F86] }, -{ source: [0x2F96C], NFC: [0x7D63], NFD: [0x7D63], NFKC: [0x7D63], NFKD: [0x7D63] }, -{ source: [0x2F96D], NFC: [0x4301], NFD: [0x4301], NFKC: [0x4301], NFKD: [0x4301] }, -{ source: [0x2F96E], NFC: [0x7DC7], NFD: [0x7DC7], NFKC: [0x7DC7], NFKD: [0x7DC7] }, -{ source: [0x2F96F], NFC: [0x7E02], NFD: [0x7E02], NFKC: [0x7E02], NFKD: [0x7E02] }, -{ source: [0x2F970], NFC: [0x7E45], NFD: [0x7E45], NFKC: [0x7E45], NFKD: [0x7E45] }, -{ source: [0x2F971], NFC: [0x4334], NFD: [0x4334], NFKC: [0x4334], NFKD: [0x4334] }, -{ source: [0x2F972], NFC: [0x26228], NFD: [0x26228], NFKC: [0x26228], NFKD: [0x26228] }, -{ source: [0x2F973], NFC: [0x26247], NFD: [0x26247], NFKC: [0x26247], NFKD: [0x26247] }, -{ source: [0x2F974], NFC: [0x4359], NFD: [0x4359], NFKC: [0x4359], NFKD: [0x4359] }, -{ source: [0x2F975], NFC: [0x262D9], NFD: [0x262D9], NFKC: [0x262D9], NFKD: [0x262D9] }, -{ source: [0x2F976], NFC: [0x7F7A], NFD: [0x7F7A], NFKC: [0x7F7A], NFKD: [0x7F7A] }, -{ source: [0x2F977], NFC: [0x2633E], NFD: [0x2633E], NFKC: [0x2633E], NFKD: [0x2633E] }, -{ source: [0x2F978], NFC: [0x7F95], NFD: [0x7F95], NFKC: [0x7F95], NFKD: [0x7F95] }, -{ source: [0x2F979], NFC: [0x7FFA], NFD: [0x7FFA], NFKC: [0x7FFA], NFKD: [0x7FFA] }, -{ source: [0x2F97A], NFC: [0x8005], NFD: [0x8005], NFKC: [0x8005], NFKD: [0x8005] }, -{ source: [0x2F97B], NFC: [0x264DA], NFD: [0x264DA], NFKC: [0x264DA], NFKD: [0x264DA] }, -{ source: [0x2F97C], NFC: [0x26523], NFD: [0x26523], NFKC: [0x26523], NFKD: [0x26523] }, -{ source: [0x2F97D], NFC: [0x8060], NFD: [0x8060], NFKC: [0x8060], NFKD: [0x8060] }, -{ source: [0x2F97E], NFC: [0x265A8], NFD: [0x265A8], NFKC: [0x265A8], NFKD: [0x265A8] }, -{ source: [0x2F97F], NFC: [0x8070], NFD: [0x8070], NFKC: [0x8070], NFKD: [0x8070] }, -{ source: [0x2F980], NFC: [0x2335F], NFD: [0x2335F], NFKC: [0x2335F], NFKD: [0x2335F] }, -{ source: [0x2F981], NFC: [0x43D5], NFD: [0x43D5], NFKC: [0x43D5], NFKD: [0x43D5] }, -{ source: [0x2F982], NFC: [0x80B2], NFD: [0x80B2], NFKC: [0x80B2], NFKD: [0x80B2] }, -{ source: [0x2F983], NFC: [0x8103], NFD: [0x8103], NFKC: [0x8103], NFKD: [0x8103] }, -{ source: [0x2F984], NFC: [0x440B], NFD: [0x440B], NFKC: [0x440B], NFKD: [0x440B] }, -{ source: [0x2F985], NFC: [0x813E], NFD: [0x813E], NFKC: [0x813E], NFKD: [0x813E] }, -{ source: [0x2F986], NFC: [0x5AB5], NFD: [0x5AB5], NFKC: [0x5AB5], NFKD: [0x5AB5] }, -{ source: [0x2F987], NFC: [0x267A7], NFD: [0x267A7], NFKC: [0x267A7], NFKD: [0x267A7] }, -{ source: [0x2F988], NFC: [0x267B5], NFD: [0x267B5], NFKC: [0x267B5], NFKD: [0x267B5] }, -{ source: [0x2F989], NFC: [0x23393], NFD: [0x23393], NFKC: [0x23393], NFKD: [0x23393] }, -{ source: [0x2F98A], NFC: [0x2339C], NFD: [0x2339C], NFKC: [0x2339C], NFKD: [0x2339C] }, -{ source: [0x2F98B], NFC: [0x8201], NFD: [0x8201], NFKC: [0x8201], NFKD: [0x8201] }, -{ source: [0x2F98C], NFC: [0x8204], NFD: [0x8204], NFKC: [0x8204], NFKD: [0x8204] }, -{ source: [0x2F98D], NFC: [0x8F9E], NFD: [0x8F9E], NFKC: [0x8F9E], NFKD: [0x8F9E] }, -{ source: [0x2F98E], NFC: [0x446B], NFD: [0x446B], NFKC: [0x446B], NFKD: [0x446B] }, -{ source: [0x2F98F], NFC: [0x8291], NFD: [0x8291], NFKC: [0x8291], NFKD: [0x8291] }, -{ source: [0x2F990], NFC: [0x828B], NFD: [0x828B], NFKC: [0x828B], NFKD: [0x828B] }, -{ source: [0x2F991], NFC: [0x829D], NFD: [0x829D], NFKC: [0x829D], NFKD: [0x829D] }, -{ source: [0x2F992], NFC: [0x52B3], NFD: [0x52B3], NFKC: [0x52B3], NFKD: [0x52B3] }, -{ source: [0x2F993], NFC: [0x82B1], NFD: [0x82B1], NFKC: [0x82B1], NFKD: [0x82B1] }, -{ source: [0x2F994], NFC: [0x82B3], NFD: [0x82B3], NFKC: [0x82B3], NFKD: [0x82B3] }, -{ source: [0x2F995], NFC: [0x82BD], NFD: [0x82BD], NFKC: [0x82BD], NFKD: [0x82BD] }, -{ source: [0x2F996], NFC: [0x82E6], NFD: [0x82E6], NFKC: [0x82E6], NFKD: [0x82E6] }, -{ source: [0x2F997], NFC: [0x26B3C], NFD: [0x26B3C], NFKC: [0x26B3C], NFKD: [0x26B3C] }, -{ source: [0x2F998], NFC: [0x82E5], NFD: [0x82E5], NFKC: [0x82E5], NFKD: [0x82E5] }, -{ source: [0x2F999], NFC: [0x831D], NFD: [0x831D], NFKC: [0x831D], NFKD: [0x831D] }, -{ source: [0x2F99A], NFC: [0x8363], NFD: [0x8363], NFKC: [0x8363], NFKD: [0x8363] }, -{ source: [0x2F99B], NFC: [0x83AD], NFD: [0x83AD], NFKC: [0x83AD], NFKD: [0x83AD] }, -{ source: [0x2F99C], NFC: [0x8323], NFD: [0x8323], NFKC: [0x8323], NFKD: [0x8323] }, -{ source: [0x2F99D], NFC: [0x83BD], NFD: [0x83BD], NFKC: [0x83BD], NFKD: [0x83BD] }, -{ source: [0x2F99E], NFC: [0x83E7], NFD: [0x83E7], NFKC: [0x83E7], NFKD: [0x83E7] }, -{ source: [0x2F99F], NFC: [0x8457], NFD: [0x8457], NFKC: [0x8457], NFKD: [0x8457] }, -{ source: [0x2F9A0], NFC: [0x8353], NFD: [0x8353], NFKC: [0x8353], NFKD: [0x8353] }, -{ source: [0x2F9A1], NFC: [0x83CA], NFD: [0x83CA], NFKC: [0x83CA], NFKD: [0x83CA] }, -{ source: [0x2F9A2], NFC: [0x83CC], NFD: [0x83CC], NFKC: [0x83CC], NFKD: [0x83CC] }, -{ source: [0x2F9A3], NFC: [0x83DC], NFD: [0x83DC], NFKC: [0x83DC], NFKD: [0x83DC] }, -{ source: [0x2F9A4], NFC: [0x26C36], NFD: [0x26C36], NFKC: [0x26C36], NFKD: [0x26C36] }, -{ source: [0x2F9A5], NFC: [0x26D6B], NFD: [0x26D6B], NFKC: [0x26D6B], NFKD: [0x26D6B] }, -{ source: [0x2F9A6], NFC: [0x26CD5], NFD: [0x26CD5], NFKC: [0x26CD5], NFKD: [0x26CD5] }, -{ source: [0x2F9A7], NFC: [0x452B], NFD: [0x452B], NFKC: [0x452B], NFKD: [0x452B] }, -{ source: [0x2F9A8], NFC: [0x84F1], NFD: [0x84F1], NFKC: [0x84F1], NFKD: [0x84F1] }, -{ source: [0x2F9A9], NFC: [0x84F3], NFD: [0x84F3], NFKC: [0x84F3], NFKD: [0x84F3] }, -{ source: [0x2F9AA], NFC: [0x8516], NFD: [0x8516], NFKC: [0x8516], NFKD: [0x8516] }, -{ source: [0x2F9AB], NFC: [0x273CA], NFD: [0x273CA], NFKC: [0x273CA], NFKD: [0x273CA] }, -{ source: [0x2F9AC], NFC: [0x8564], NFD: [0x8564], NFKC: [0x8564], NFKD: [0x8564] }, -{ source: [0x2F9AD], NFC: [0x26F2C], NFD: [0x26F2C], NFKC: [0x26F2C], NFKD: [0x26F2C] }, -{ source: [0x2F9AE], NFC: [0x455D], NFD: [0x455D], NFKC: [0x455D], NFKD: [0x455D] }, -{ source: [0x2F9AF], NFC: [0x4561], NFD: [0x4561], NFKC: [0x4561], NFKD: [0x4561] }, -{ source: [0x2F9B0], NFC: [0x26FB1], NFD: [0x26FB1], NFKC: [0x26FB1], NFKD: [0x26FB1] }, -{ source: [0x2F9B1], NFC: [0x270D2], NFD: [0x270D2], NFKC: [0x270D2], NFKD: [0x270D2] }, -{ source: [0x2F9B2], NFC: [0x456B], NFD: [0x456B], NFKC: [0x456B], NFKD: [0x456B] }, -{ source: [0x2F9B3], NFC: [0x8650], NFD: [0x8650], NFKC: [0x8650], NFKD: [0x8650] }, -{ source: [0x2F9B4], NFC: [0x865C], NFD: [0x865C], NFKC: [0x865C], NFKD: [0x865C] }, -{ source: [0x2F9B5], NFC: [0x8667], NFD: [0x8667], NFKC: [0x8667], NFKD: [0x8667] }, -{ source: [0x2F9B6], NFC: [0x8669], NFD: [0x8669], NFKC: [0x8669], NFKD: [0x8669] }, -{ source: [0x2F9B7], NFC: [0x86A9], NFD: [0x86A9], NFKC: [0x86A9], NFKD: [0x86A9] }, -{ source: [0x2F9B8], NFC: [0x8688], NFD: [0x8688], NFKC: [0x8688], NFKD: [0x8688] }, -{ source: [0x2F9B9], NFC: [0x870E], NFD: [0x870E], NFKC: [0x870E], NFKD: [0x870E] }, -{ source: [0x2F9BA], NFC: [0x86E2], NFD: [0x86E2], NFKC: [0x86E2], NFKD: [0x86E2] }, -{ source: [0x2F9BB], NFC: [0x8779], NFD: [0x8779], NFKC: [0x8779], NFKD: [0x8779] }, -{ source: [0x2F9BC], NFC: [0x8728], NFD: [0x8728], NFKC: [0x8728], NFKD: [0x8728] }, -{ source: [0x2F9BD], NFC: [0x876B], NFD: [0x876B], NFKC: [0x876B], NFKD: [0x876B] }, -{ source: [0x2F9BE], NFC: [0x8786], NFD: [0x8786], NFKC: [0x8786], NFKD: [0x8786] }, -{ source: [0x2F9BF], NFC: [0x45D7], NFD: [0x45D7], NFKC: [0x45D7], NFKD: [0x45D7] }, -{ source: [0x2F9C0], NFC: [0x87E1], NFD: [0x87E1], NFKC: [0x87E1], NFKD: [0x87E1] }, -{ source: [0x2F9C1], NFC: [0x8801], NFD: [0x8801], NFKC: [0x8801], NFKD: [0x8801] }, -{ source: [0x2F9C2], NFC: [0x45F9], NFD: [0x45F9], NFKC: [0x45F9], NFKD: [0x45F9] }, -{ source: [0x2F9C3], NFC: [0x8860], NFD: [0x8860], NFKC: [0x8860], NFKD: [0x8860] }, -{ source: [0x2F9C4], NFC: [0x8863], NFD: [0x8863], NFKC: [0x8863], NFKD: [0x8863] }, -{ source: [0x2F9C5], NFC: [0x27667], NFD: [0x27667], NFKC: [0x27667], NFKD: [0x27667] }, -{ source: [0x2F9C6], NFC: [0x88D7], NFD: [0x88D7], NFKC: [0x88D7], NFKD: [0x88D7] }, -{ source: [0x2F9C7], NFC: [0x88DE], NFD: [0x88DE], NFKC: [0x88DE], NFKD: [0x88DE] }, -{ source: [0x2F9C8], NFC: [0x4635], NFD: [0x4635], NFKC: [0x4635], NFKD: [0x4635] }, -{ source: [0x2F9C9], NFC: [0x88FA], NFD: [0x88FA], NFKC: [0x88FA], NFKD: [0x88FA] }, -{ source: [0x2F9CA], NFC: [0x34BB], NFD: [0x34BB], NFKC: [0x34BB], NFKD: [0x34BB] }, -{ source: [0x2F9CB], NFC: [0x278AE], NFD: [0x278AE], NFKC: [0x278AE], NFKD: [0x278AE] }, -{ source: [0x2F9CC], NFC: [0x27966], NFD: [0x27966], NFKC: [0x27966], NFKD: [0x27966] }, -{ source: [0x2F9CD], NFC: [0x46BE], NFD: [0x46BE], NFKC: [0x46BE], NFKD: [0x46BE] }, -{ source: [0x2F9CE], NFC: [0x46C7], NFD: [0x46C7], NFKC: [0x46C7], NFKD: [0x46C7] }, -{ source: [0x2F9CF], NFC: [0x8AA0], NFD: [0x8AA0], NFKC: [0x8AA0], NFKD: [0x8AA0] }, -{ source: [0x2F9D0], NFC: [0x8AED], NFD: [0x8AED], NFKC: [0x8AED], NFKD: [0x8AED] }, -{ source: [0x2F9D1], NFC: [0x8B8A], NFD: [0x8B8A], NFKC: [0x8B8A], NFKD: [0x8B8A] }, -{ source: [0x2F9D2], NFC: [0x8C55], NFD: [0x8C55], NFKC: [0x8C55], NFKD: [0x8C55] }, -{ source: [0x2F9D3], NFC: [0x27CA8], NFD: [0x27CA8], NFKC: [0x27CA8], NFKD: [0x27CA8] }, -{ source: [0x2F9D4], NFC: [0x8CAB], NFD: [0x8CAB], NFKC: [0x8CAB], NFKD: [0x8CAB] }, -{ source: [0x2F9D5], NFC: [0x8CC1], NFD: [0x8CC1], NFKC: [0x8CC1], NFKD: [0x8CC1] }, -{ source: [0x2F9D6], NFC: [0x8D1B], NFD: [0x8D1B], NFKC: [0x8D1B], NFKD: [0x8D1B] }, -{ source: [0x2F9D7], NFC: [0x8D77], NFD: [0x8D77], NFKC: [0x8D77], NFKD: [0x8D77] }, -{ source: [0x2F9D8], NFC: [0x27F2F], NFD: [0x27F2F], NFKC: [0x27F2F], NFKD: [0x27F2F] }, -{ source: [0x2F9D9], NFC: [0x20804], NFD: [0x20804], NFKC: [0x20804], NFKD: [0x20804] }, -{ source: [0x2F9DA], NFC: [0x8DCB], NFD: [0x8DCB], NFKC: [0x8DCB], NFKD: [0x8DCB] }, -{ source: [0x2F9DB], NFC: [0x8DBC], NFD: [0x8DBC], NFKC: [0x8DBC], NFKD: [0x8DBC] }, -{ source: [0x2F9DC], NFC: [0x8DF0], NFD: [0x8DF0], NFKC: [0x8DF0], NFKD: [0x8DF0] }, -{ source: [0x2F9DD], NFC: [0x208DE], NFD: [0x208DE], NFKC: [0x208DE], NFKD: [0x208DE] }, -{ source: [0x2F9DE], NFC: [0x8ED4], NFD: [0x8ED4], NFKC: [0x8ED4], NFKD: [0x8ED4] }, -{ source: [0x2F9DF], NFC: [0x8F38], NFD: [0x8F38], NFKC: [0x8F38], NFKD: [0x8F38] }, -{ source: [0x2F9E0], NFC: [0x285D2], NFD: [0x285D2], NFKC: [0x285D2], NFKD: [0x285D2] }, -{ source: [0x2F9E1], NFC: [0x285ED], NFD: [0x285ED], NFKC: [0x285ED], NFKD: [0x285ED] }, -{ source: [0x2F9E2], NFC: [0x9094], NFD: [0x9094], NFKC: [0x9094], NFKD: [0x9094] }, -{ source: [0x2F9E3], NFC: [0x90F1], NFD: [0x90F1], NFKC: [0x90F1], NFKD: [0x90F1] }, -{ source: [0x2F9E4], NFC: [0x9111], NFD: [0x9111], NFKC: [0x9111], NFKD: [0x9111] }, -{ source: [0x2F9E5], NFC: [0x2872E], NFD: [0x2872E], NFKC: [0x2872E], NFKD: [0x2872E] }, -{ source: [0x2F9E6], NFC: [0x911B], NFD: [0x911B], NFKC: [0x911B], NFKD: [0x911B] }, -{ source: [0x2F9E7], NFC: [0x9238], NFD: [0x9238], NFKC: [0x9238], NFKD: [0x9238] }, -{ source: [0x2F9E8], NFC: [0x92D7], NFD: [0x92D7], NFKC: [0x92D7], NFKD: [0x92D7] }, -{ source: [0x2F9E9], NFC: [0x92D8], NFD: [0x92D8], NFKC: [0x92D8], NFKD: [0x92D8] }, -{ source: [0x2F9EA], NFC: [0x927C], NFD: [0x927C], NFKC: [0x927C], NFKD: [0x927C] }, -{ source: [0x2F9EB], NFC: [0x93F9], NFD: [0x93F9], NFKC: [0x93F9], NFKD: [0x93F9] }, -{ source: [0x2F9EC], NFC: [0x9415], NFD: [0x9415], NFKC: [0x9415], NFKD: [0x9415] }, -{ source: [0x2F9ED], NFC: [0x28BFA], NFD: [0x28BFA], NFKC: [0x28BFA], NFKD: [0x28BFA] }, -{ source: [0x2F9EE], NFC: [0x958B], NFD: [0x958B], NFKC: [0x958B], NFKD: [0x958B] }, -{ source: [0x2F9EF], NFC: [0x4995], NFD: [0x4995], NFKC: [0x4995], NFKD: [0x4995] }, -{ source: [0x2F9F0], NFC: [0x95B7], NFD: [0x95B7], NFKC: [0x95B7], NFKD: [0x95B7] }, -{ source: [0x2F9F1], NFC: [0x28D77], NFD: [0x28D77], NFKC: [0x28D77], NFKD: [0x28D77] }, -{ source: [0x2F9F2], NFC: [0x49E6], NFD: [0x49E6], NFKC: [0x49E6], NFKD: [0x49E6] }, -{ source: [0x2F9F3], NFC: [0x96C3], NFD: [0x96C3], NFKC: [0x96C3], NFKD: [0x96C3] }, -{ source: [0x2F9F4], NFC: [0x5DB2], NFD: [0x5DB2], NFKC: [0x5DB2], NFKD: [0x5DB2] }, -{ source: [0x2F9F5], NFC: [0x9723], NFD: [0x9723], NFKC: [0x9723], NFKD: [0x9723] }, -{ source: [0x2F9F6], NFC: [0x29145], NFD: [0x29145], NFKC: [0x29145], NFKD: [0x29145] }, -{ source: [0x2F9F7], NFC: [0x2921A], NFD: [0x2921A], NFKC: [0x2921A], NFKD: [0x2921A] }, -{ source: [0x2F9F8], NFC: [0x4A6E], NFD: [0x4A6E], NFKC: [0x4A6E], NFKD: [0x4A6E] }, -{ source: [0x2F9F9], NFC: [0x4A76], NFD: [0x4A76], NFKC: [0x4A76], NFKD: [0x4A76] }, -{ source: [0x2F9FA], NFC: [0x97E0], NFD: [0x97E0], NFKC: [0x97E0], NFKD: [0x97E0] }, -{ source: [0x2F9FB], NFC: [0x2940A], NFD: [0x2940A], NFKC: [0x2940A], NFKD: [0x2940A] }, -{ source: [0x2F9FC], NFC: [0x4AB2], NFD: [0x4AB2], NFKC: [0x4AB2], NFKD: [0x4AB2] }, -{ source: [0x2F9FD], NFC: [0x29496], NFD: [0x29496], NFKC: [0x29496], NFKD: [0x29496] }, -{ source: [0x2F9FE], NFC: [0x980B], NFD: [0x980B], NFKC: [0x980B], NFKD: [0x980B] }, -{ source: [0x2F9FF], NFC: [0x980B], NFD: [0x980B], NFKC: [0x980B], NFKD: [0x980B] }, -{ source: [0x2FA00], NFC: [0x9829], NFD: [0x9829], NFKC: [0x9829], NFKD: [0x9829] }, -{ source: [0x2FA01], NFC: [0x295B6], NFD: [0x295B6], NFKC: [0x295B6], NFKD: [0x295B6] }, -{ source: [0x2FA02], NFC: [0x98E2], NFD: [0x98E2], NFKC: [0x98E2], NFKD: [0x98E2] }, -{ source: [0x2FA03], NFC: [0x4B33], NFD: [0x4B33], NFKC: [0x4B33], NFKD: [0x4B33] }, -{ source: [0x2FA04], NFC: [0x9929], NFD: [0x9929], NFKC: [0x9929], NFKD: [0x9929] }, -{ source: [0x2FA05], NFC: [0x99A7], NFD: [0x99A7], NFKC: [0x99A7], NFKD: [0x99A7] }, -{ source: [0x2FA06], NFC: [0x99C2], NFD: [0x99C2], NFKC: [0x99C2], NFKD: [0x99C2] }, -{ source: [0x2FA07], NFC: [0x99FE], NFD: [0x99FE], NFKC: [0x99FE], NFKD: [0x99FE] }, -{ source: [0x2FA08], NFC: [0x4BCE], NFD: [0x4BCE], NFKC: [0x4BCE], NFKD: [0x4BCE] }, -{ source: [0x2FA09], NFC: [0x29B30], NFD: [0x29B30], NFKC: [0x29B30], NFKD: [0x29B30] }, -{ source: [0x2FA0A], NFC: [0x9B12], NFD: [0x9B12], NFKC: [0x9B12], NFKD: [0x9B12] }, -{ source: [0x2FA0B], NFC: [0x9C40], NFD: [0x9C40], NFKC: [0x9C40], NFKD: [0x9C40] }, -{ source: [0x2FA0C], NFC: [0x9CFD], NFD: [0x9CFD], NFKC: [0x9CFD], NFKD: [0x9CFD] }, -{ source: [0x2FA0D], NFC: [0x4CCE], NFD: [0x4CCE], NFKC: [0x4CCE], NFKD: [0x4CCE] }, -{ source: [0x2FA0E], NFC: [0x4CED], NFD: [0x4CED], NFKC: [0x4CED], NFKD: [0x4CED] }, -{ source: [0x2FA0F], NFC: [0x9D67], NFD: [0x9D67], NFKC: [0x9D67], NFKD: [0x9D67] }, -{ source: [0x2FA10], NFC: [0x2A0CE], NFD: [0x2A0CE], NFKC: [0x2A0CE], NFKD: [0x2A0CE] }, -{ source: [0x2FA11], NFC: [0x4CF8], NFD: [0x4CF8], NFKC: [0x4CF8], NFKD: [0x4CF8] }, -{ source: [0x2FA12], NFC: [0x2A105], NFD: [0x2A105], NFKC: [0x2A105], NFKD: [0x2A105] }, -{ source: [0x2FA13], NFC: [0x2A20E], NFD: [0x2A20E], NFKC: [0x2A20E], NFKD: [0x2A20E] }, -{ source: [0x2FA14], NFC: [0x2A291], NFD: [0x2A291], NFKC: [0x2A291], NFKD: [0x2A291] }, -{ source: [0x2FA15], NFC: [0x9EBB], NFD: [0x9EBB], NFKC: [0x9EBB], NFKD: [0x9EBB] }, -{ source: [0x2FA16], NFC: [0x4D56], NFD: [0x4D56], NFKC: [0x4D56], NFKD: [0x4D56] }, -{ source: [0x2FA17], NFC: [0x9EF9], NFD: [0x9EF9], NFKC: [0x9EF9], NFKD: [0x9EF9] }, -{ source: [0x2FA18], NFC: [0x9EFE], NFD: [0x9EFE], NFKC: [0x9EFE], NFKD: [0x9EFE] }, -{ source: [0x2FA19], NFC: [0x9F05], NFD: [0x9F05], NFKC: [0x9F05], NFKD: [0x9F05] }, -{ source: [0x2FA1A], NFC: [0x9F0F], NFD: [0x9F0F], NFKC: [0x9F0F], NFKD: [0x9F0F] }, -{ source: [0x2FA1B], NFC: [0x9F16], NFD: [0x9F16], NFKC: [0x9F16], NFKD: [0x9F16] }, -{ source: [0x2FA1C], NFC: [0x9F3B], NFD: [0x9F3B], NFKC: [0x9F3B], NFKD: [0x9F3B] }, -{ source: [0x2FA1D], NFC: [0x2A600], NFD: [0x2A600], NFKC: [0x2A600], NFKD: [0x2A600] } -]; -/* Part2 # Canonical Order Test */ -var tests_part2 = [ -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x0300, 0x0062], NFC: [0x00E0, 0x05AE, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x0300, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0300, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x00E0, 0x05AE, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x0300, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x0301, 0x0062], NFC: [0x00E0, 0x05AE, 0x0301, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x0301, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x0301, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x0301, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0301, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x00E1, 0x05AE, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0301, 0x0300, 0x0315, 0x0062], NFKC: [0x00E1, 0x05AE, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0301, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x0302, 0x0062], NFC: [0x00E0, 0x05AE, 0x0302, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x0302, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x0302, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x0302, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0302, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x1EA7, 0x05AE, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0302, 0x0300, 0x0315, 0x0062], NFKC: [0x1EA7, 0x05AE, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0302, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x0303, 0x0062], NFC: [0x00E0, 0x05AE, 0x0303, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x0303, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x0303, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x0303, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0303, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x00E3, 0x05AE, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0303, 0x0300, 0x0315, 0x0062], NFKC: [0x00E3, 0x05AE, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0303, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x0304, 0x0062], NFC: [0x00E0, 0x05AE, 0x0304, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x0304, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x0304, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x0304, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0304, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0101, 0x05AE, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0304, 0x0300, 0x0315, 0x0062], NFKC: [0x0101, 0x05AE, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0304, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x0305, 0x0062], NFC: [0x00E0, 0x05AE, 0x0305, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x0305, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x0305, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x0305, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0305, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x0305, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0305, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x0305, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0305, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x0306, 0x0062], NFC: [0x00E0, 0x05AE, 0x0306, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x0306, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x0306, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x0306, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0306, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x1EB1, 0x05AE, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0306, 0x0300, 0x0315, 0x0062], NFKC: [0x1EB1, 0x05AE, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0306, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x0307, 0x0062], NFC: [0x00E0, 0x05AE, 0x0307, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x0307, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x0307, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x0307, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0307, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0227, 0x05AE, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0307, 0x0300, 0x0315, 0x0062], NFKC: [0x0227, 0x05AE, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0307, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x0308, 0x0062], NFC: [0x00E0, 0x05AE, 0x0308, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x0308, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x0308, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x0308, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0308, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x00E4, 0x05AE, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0308, 0x0300, 0x0315, 0x0062], NFKC: [0x00E4, 0x05AE, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0308, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x0309, 0x0062], NFC: [0x00E0, 0x05AE, 0x0309, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x0309, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x0309, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x0309, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0309, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x1EA3, 0x05AE, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0309, 0x0300, 0x0315, 0x0062], NFKC: [0x1EA3, 0x05AE, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0309, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x030A, 0x0062], NFC: [0x00E0, 0x05AE, 0x030A, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x030A, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x030A, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x030A, 0x0315, 0x0062] }, -{ source: [0x0061, 0x030A, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x00E5, 0x05AE, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x030A, 0x0300, 0x0315, 0x0062], NFKC: [0x00E5, 0x05AE, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x030A, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x030B, 0x0062], NFC: [0x00E0, 0x05AE, 0x030B, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x030B, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x030B, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x030B, 0x0315, 0x0062] }, -{ source: [0x0061, 0x030B, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x030B, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x030B, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x030B, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x030B, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x030C, 0x0062], NFC: [0x00E0, 0x05AE, 0x030C, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x030C, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x030C, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x030C, 0x0315, 0x0062] }, -{ source: [0x0061, 0x030C, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x01CE, 0x05AE, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x030C, 0x0300, 0x0315, 0x0062], NFKC: [0x01CE, 0x05AE, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x030C, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x030D, 0x0062], NFC: [0x00E0, 0x05AE, 0x030D, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x030D, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x030D, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x030D, 0x0315, 0x0062] }, -{ source: [0x0061, 0x030D, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x030D, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x030D, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x030D, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x030D, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x030E, 0x0062], NFC: [0x00E0, 0x05AE, 0x030E, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x030E, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x030E, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x030E, 0x0315, 0x0062] }, -{ source: [0x0061, 0x030E, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x030E, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x030E, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x030E, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x030E, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x030F, 0x0062], NFC: [0x00E0, 0x05AE, 0x030F, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x030F, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x030F, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x030F, 0x0315, 0x0062] }, -{ source: [0x0061, 0x030F, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0201, 0x05AE, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x030F, 0x0300, 0x0315, 0x0062], NFKC: [0x0201, 0x05AE, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x030F, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x0310, 0x0062], NFC: [0x00E0, 0x05AE, 0x0310, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x0310, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x0310, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x0310, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0310, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x0310, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0310, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x0310, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0310, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x0311, 0x0062], NFC: [0x00E0, 0x05AE, 0x0311, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x0311, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x0311, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x0311, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0311, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0203, 0x05AE, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0311, 0x0300, 0x0315, 0x0062], NFKC: [0x0203, 0x05AE, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0311, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x0312, 0x0062], NFC: [0x00E0, 0x05AE, 0x0312, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x0312, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x0312, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x0312, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0312, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x0312, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0312, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x0312, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0312, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x0313, 0x0062], NFC: [0x00E0, 0x05AE, 0x0313, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x0313, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x0313, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x0313, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0313, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x0313, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0313, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x0313, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0313, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x0314, 0x0062], NFC: [0x00E0, 0x05AE, 0x0314, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x0314, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x0314, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x0314, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0314, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x0314, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0314, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x0314, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0314, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x035C, 0x0315, 0x0300, 0x0315, 0x0062], NFC: [0x00E0, 0x0315, 0x0315, 0x035C, 0x0062], NFD: [0x0061, 0x0300, 0x0315, 0x0315, 0x035C, 0x0062], NFKC: [0x00E0, 0x0315, 0x0315, 0x035C, 0x0062], NFKD: [0x0061, 0x0300, 0x0315, 0x0315, 0x035C, 0x0062] }, -{ source: [0x0061, 0x0315, 0x035C, 0x0315, 0x0300, 0x0062], NFC: [0x00E0, 0x0315, 0x0315, 0x035C, 0x0062], NFD: [0x0061, 0x0300, 0x0315, 0x0315, 0x035C, 0x0062], NFKC: [0x00E0, 0x0315, 0x0315, 0x035C, 0x0062], NFKD: [0x0061, 0x0300, 0x0315, 0x0315, 0x035C, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x0316, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x0316, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x0317, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x0317, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x0317, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x0317, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x0317, 0x059A, 0x0062] }, -{ source: [0x0061, 0x0317, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x0317, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0317, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0317, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0317, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x0318, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x0318, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x0318, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x0318, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x0318, 0x059A, 0x0062] }, -{ source: [0x0061, 0x0318, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x0318, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0318, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0318, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0318, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x0319, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x0319, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x0319, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x0319, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x0319, 0x059A, 0x0062] }, -{ source: [0x0061, 0x0319, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x0319, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0319, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0319, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0319, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x035C, 0x0315, 0x0300, 0x031A, 0x0062], NFC: [0x00E0, 0x0315, 0x031A, 0x035C, 0x0062], NFD: [0x0061, 0x0300, 0x0315, 0x031A, 0x035C, 0x0062], NFKC: [0x00E0, 0x0315, 0x031A, 0x035C, 0x0062], NFKD: [0x0061, 0x0300, 0x0315, 0x031A, 0x035C, 0x0062] }, -{ source: [0x0061, 0x031A, 0x035C, 0x0315, 0x0300, 0x0062], NFC: [0x00E0, 0x031A, 0x0315, 0x035C, 0x0062], NFD: [0x0061, 0x0300, 0x031A, 0x0315, 0x035C, 0x0062], NFKC: [0x00E0, 0x031A, 0x0315, 0x035C, 0x0062], NFKD: [0x0061, 0x0300, 0x031A, 0x0315, 0x035C, 0x0062] }, -{ source: [0x0061, 0x1DFA, 0x031B, 0x1DCE, 0x031B, 0x0062], NFC: [0x0061, 0x1DCE, 0x031B, 0x031B, 0x1DFA, 0x0062], NFD: [0x0061, 0x1DCE, 0x031B, 0x031B, 0x1DFA, 0x0062], NFKC: [0x0061, 0x1DCE, 0x031B, 0x031B, 0x1DFA, 0x0062], NFKD: [0x0061, 0x1DCE, 0x031B, 0x031B, 0x1DFA, 0x0062] }, -{ source: [0x0061, 0x031B, 0x1DFA, 0x031B, 0x1DCE, 0x0062], NFC: [0x0061, 0x1DCE, 0x031B, 0x031B, 0x1DFA, 0x0062], NFD: [0x0061, 0x1DCE, 0x031B, 0x031B, 0x1DFA, 0x0062], NFKC: [0x0061, 0x1DCE, 0x031B, 0x031B, 0x1DFA, 0x0062], NFKD: [0x0061, 0x1DCE, 0x031B, 0x031B, 0x1DFA, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x031C, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x031C, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x031C, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x031C, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x031C, 0x059A, 0x0062] }, -{ source: [0x0061, 0x031C, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x031C, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x031C, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x031C, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x031C, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x031D, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x031D, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x031D, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x031D, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x031D, 0x059A, 0x0062] }, -{ source: [0x0061, 0x031D, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x031D, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x031D, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x031D, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x031D, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x031E, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x031E, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x031E, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x031E, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x031E, 0x059A, 0x0062] }, -{ source: [0x0061, 0x031E, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x031E, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x031E, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x031E, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x031E, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x031F, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x031F, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x031F, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x031F, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x031F, 0x059A, 0x0062] }, -{ source: [0x0061, 0x031F, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x031F, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x031F, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x031F, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x031F, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x0320, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x0320, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x0320, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x0320, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x0320, 0x059A, 0x0062] }, -{ source: [0x0061, 0x0320, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x0320, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0320, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0320, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0320, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x1DCE, 0x0321, 0x0F74, 0x0321, 0x0062], NFC: [0x0061, 0x0F74, 0x0321, 0x0321, 0x1DCE, 0x0062], NFD: [0x0061, 0x0F74, 0x0321, 0x0321, 0x1DCE, 0x0062], NFKC: [0x0061, 0x0F74, 0x0321, 0x0321, 0x1DCE, 0x0062], NFKD: [0x0061, 0x0F74, 0x0321, 0x0321, 0x1DCE, 0x0062] }, -{ source: [0x0061, 0x0321, 0x1DCE, 0x0321, 0x0F74, 0x0062], NFC: [0x0061, 0x0F74, 0x0321, 0x0321, 0x1DCE, 0x0062], NFD: [0x0061, 0x0F74, 0x0321, 0x0321, 0x1DCE, 0x0062], NFKC: [0x0061, 0x0F74, 0x0321, 0x0321, 0x1DCE, 0x0062], NFKD: [0x0061, 0x0F74, 0x0321, 0x0321, 0x1DCE, 0x0062] }, -{ source: [0x0061, 0x1DCE, 0x0321, 0x0F74, 0x0322, 0x0062], NFC: [0x0061, 0x0F74, 0x0321, 0x0322, 0x1DCE, 0x0062], NFD: [0x0061, 0x0F74, 0x0321, 0x0322, 0x1DCE, 0x0062], NFKC: [0x0061, 0x0F74, 0x0321, 0x0322, 0x1DCE, 0x0062], NFKD: [0x0061, 0x0F74, 0x0321, 0x0322, 0x1DCE, 0x0062] }, -{ source: [0x0061, 0x0322, 0x1DCE, 0x0321, 0x0F74, 0x0062], NFC: [0x0061, 0x0F74, 0x0322, 0x0321, 0x1DCE, 0x0062], NFD: [0x0061, 0x0F74, 0x0322, 0x0321, 0x1DCE, 0x0062], NFKC: [0x0061, 0x0F74, 0x0322, 0x0321, 0x1DCE, 0x0062], NFKD: [0x0061, 0x0F74, 0x0322, 0x0321, 0x1DCE, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x0323, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x0323, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x0323, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x0323, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x0323, 0x059A, 0x0062] }, -{ source: [0x0061, 0x0323, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x1EA1, 0x1DFA, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0323, 0x0316, 0x059A, 0x0062], NFKC: [0x1EA1, 0x1DFA, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0323, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x0324, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x0324, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x0324, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x0324, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x0324, 0x059A, 0x0062] }, -{ source: [0x0061, 0x0324, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x0324, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0324, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0324, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0324, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x0325, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x0325, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x0325, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x0325, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x0325, 0x059A, 0x0062] }, -{ source: [0x0061, 0x0325, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x1E01, 0x1DFA, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0325, 0x0316, 0x059A, 0x0062], NFKC: [0x1E01, 0x1DFA, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0325, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x0326, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x0326, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x0326, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x0326, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x0326, 0x059A, 0x0062] }, -{ source: [0x0061, 0x0326, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x0326, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0326, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0326, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0326, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x1DCE, 0x0321, 0x0F74, 0x0327, 0x0062], NFC: [0x0061, 0x0F74, 0x0321, 0x0327, 0x1DCE, 0x0062], NFD: [0x0061, 0x0F74, 0x0321, 0x0327, 0x1DCE, 0x0062], NFKC: [0x0061, 0x0F74, 0x0321, 0x0327, 0x1DCE, 0x0062], NFKD: [0x0061, 0x0F74, 0x0321, 0x0327, 0x1DCE, 0x0062] }, -{ source: [0x0061, 0x0327, 0x1DCE, 0x0321, 0x0F74, 0x0062], NFC: [0x0061, 0x0F74, 0x0327, 0x0321, 0x1DCE, 0x0062], NFD: [0x0061, 0x0F74, 0x0327, 0x0321, 0x1DCE, 0x0062], NFKC: [0x0061, 0x0F74, 0x0327, 0x0321, 0x1DCE, 0x0062], NFKD: [0x0061, 0x0F74, 0x0327, 0x0321, 0x1DCE, 0x0062] }, -{ source: [0x0061, 0x1DCE, 0x0321, 0x0F74, 0x0328, 0x0062], NFC: [0x0061, 0x0F74, 0x0321, 0x0328, 0x1DCE, 0x0062], NFD: [0x0061, 0x0F74, 0x0321, 0x0328, 0x1DCE, 0x0062], NFKC: [0x0061, 0x0F74, 0x0321, 0x0328, 0x1DCE, 0x0062], NFKD: [0x0061, 0x0F74, 0x0321, 0x0328, 0x1DCE, 0x0062] }, -{ source: [0x0061, 0x0328, 0x1DCE, 0x0321, 0x0F74, 0x0062], NFC: [0x0105, 0x0F74, 0x0321, 0x1DCE, 0x0062], NFD: [0x0061, 0x0F74, 0x0328, 0x0321, 0x1DCE, 0x0062], NFKC: [0x0105, 0x0F74, 0x0321, 0x1DCE, 0x0062], NFKD: [0x0061, 0x0F74, 0x0328, 0x0321, 0x1DCE, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x0329, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x0329, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x0329, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x0329, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x0329, 0x059A, 0x0062] }, -{ source: [0x0061, 0x0329, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x0329, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0329, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0329, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0329, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x032A, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x032A, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x032A, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x032A, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x032A, 0x059A, 0x0062] }, -{ source: [0x0061, 0x032A, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x032A, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x032A, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x032A, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x032A, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x032B, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x032B, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x032B, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x032B, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x032B, 0x059A, 0x0062] }, -{ source: [0x0061, 0x032B, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x032B, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x032B, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x032B, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x032B, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x032C, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x032C, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x032C, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x032C, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x032C, 0x059A, 0x0062] }, -{ source: [0x0061, 0x032C, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x032C, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x032C, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x032C, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x032C, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x032D, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x032D, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x032D, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x032D, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x032D, 0x059A, 0x0062] }, -{ source: [0x0061, 0x032D, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x032D, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x032D, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x032D, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x032D, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x032E, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x032E, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x032E, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x032E, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x032E, 0x059A, 0x0062] }, -{ source: [0x0061, 0x032E, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x032E, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x032E, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x032E, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x032E, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x032F, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x032F, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x032F, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x032F, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x032F, 0x059A, 0x0062] }, -{ source: [0x0061, 0x032F, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x032F, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x032F, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x032F, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x032F, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x0330, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x0330, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x0330, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x0330, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x0330, 0x059A, 0x0062] }, -{ source: [0x0061, 0x0330, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x0330, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0330, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0330, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0330, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x0331, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x0331, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x0331, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x0331, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x0331, 0x059A, 0x0062] }, -{ source: [0x0061, 0x0331, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x0331, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0331, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0331, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0331, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x0332, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x0332, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x0332, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x0332, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x0332, 0x059A, 0x0062] }, -{ source: [0x0061, 0x0332, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x0332, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0332, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0332, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0332, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x0333, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x0333, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x0333, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x0333, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x0333, 0x059A, 0x0062] }, -{ source: [0x0061, 0x0333, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x0333, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0333, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0333, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0333, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x16FF0, 0x0334, 0x0334, 0x0062], NFC: [0x0061, 0x0334, 0x0334, 0x16FF0, 0x0062], NFD: [0x0061, 0x0334, 0x0334, 0x16FF0, 0x0062], NFKC: [0x0061, 0x0334, 0x0334, 0x16FF0, 0x0062], NFKD: [0x0061, 0x0334, 0x0334, 0x16FF0, 0x0062] }, -{ source: [0x0061, 0x0334, 0x16FF0, 0x0334, 0x0062], NFC: [0x0061, 0x0334, 0x0334, 0x16FF0, 0x0062], NFD: [0x0061, 0x0334, 0x0334, 0x16FF0, 0x0062], NFKC: [0x0061, 0x0334, 0x0334, 0x16FF0, 0x0062], NFKD: [0x0061, 0x0334, 0x0334, 0x16FF0, 0x0062] }, -{ source: [0x0061, 0x16FF0, 0x0334, 0x0335, 0x0062], NFC: [0x0061, 0x0334, 0x0335, 0x16FF0, 0x0062], NFD: [0x0061, 0x0334, 0x0335, 0x16FF0, 0x0062], NFKC: [0x0061, 0x0334, 0x0335, 0x16FF0, 0x0062], NFKD: [0x0061, 0x0334, 0x0335, 0x16FF0, 0x0062] }, -{ source: [0x0061, 0x0335, 0x16FF0, 0x0334, 0x0062], NFC: [0x0061, 0x0335, 0x0334, 0x16FF0, 0x0062], NFD: [0x0061, 0x0335, 0x0334, 0x16FF0, 0x0062], NFKC: [0x0061, 0x0335, 0x0334, 0x16FF0, 0x0062], NFKD: [0x0061, 0x0335, 0x0334, 0x16FF0, 0x0062] }, -{ source: [0x0061, 0x16FF0, 0x0334, 0x0336, 0x0062], NFC: [0x0061, 0x0334, 0x0336, 0x16FF0, 0x0062], NFD: [0x0061, 0x0334, 0x0336, 0x16FF0, 0x0062], NFKC: [0x0061, 0x0334, 0x0336, 0x16FF0, 0x0062], NFKD: [0x0061, 0x0334, 0x0336, 0x16FF0, 0x0062] }, -{ source: [0x0061, 0x0336, 0x16FF0, 0x0334, 0x0062], NFC: [0x0061, 0x0336, 0x0334, 0x16FF0, 0x0062], NFD: [0x0061, 0x0336, 0x0334, 0x16FF0, 0x0062], NFKC: [0x0061, 0x0336, 0x0334, 0x16FF0, 0x0062], NFKD: [0x0061, 0x0336, 0x0334, 0x16FF0, 0x0062] }, -{ source: [0x0061, 0x16FF0, 0x0334, 0x0337, 0x0062], NFC: [0x0061, 0x0334, 0x0337, 0x16FF0, 0x0062], NFD: [0x0061, 0x0334, 0x0337, 0x16FF0, 0x0062], NFKC: [0x0061, 0x0334, 0x0337, 0x16FF0, 0x0062], NFKD: [0x0061, 0x0334, 0x0337, 0x16FF0, 0x0062] }, -{ source: [0x0061, 0x0337, 0x16FF0, 0x0334, 0x0062], NFC: [0x0061, 0x0337, 0x0334, 0x16FF0, 0x0062], NFD: [0x0061, 0x0337, 0x0334, 0x16FF0, 0x0062], NFKC: [0x0061, 0x0337, 0x0334, 0x16FF0, 0x0062], NFKD: [0x0061, 0x0337, 0x0334, 0x16FF0, 0x0062] }, -{ source: [0x0061, 0x16FF0, 0x0334, 0x0338, 0x0062], NFC: [0x0061, 0x0334, 0x0338, 0x16FF0, 0x0062], NFD: [0x0061, 0x0334, 0x0338, 0x16FF0, 0x0062], NFKC: [0x0061, 0x0334, 0x0338, 0x16FF0, 0x0062], NFKD: [0x0061, 0x0334, 0x0338, 0x16FF0, 0x0062] }, -{ source: [0x0061, 0x0338, 0x16FF0, 0x0334, 0x0062], NFC: [0x0061, 0x0338, 0x0334, 0x16FF0, 0x0062], NFD: [0x0061, 0x0338, 0x0334, 0x16FF0, 0x0062], NFKC: [0x0061, 0x0338, 0x0334, 0x16FF0, 0x0062], NFKD: [0x0061, 0x0338, 0x0334, 0x16FF0, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x0339, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x0339, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x0339, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x0339, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x0339, 0x059A, 0x0062] }, -{ source: [0x0061, 0x0339, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x0339, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0339, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0339, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0339, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x033A, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x033A, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x033A, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x033A, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x033A, 0x059A, 0x0062] }, -{ source: [0x0061, 0x033A, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x033A, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x033A, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x033A, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x033A, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x033B, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x033B, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x033B, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x033B, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x033B, 0x059A, 0x0062] }, -{ source: [0x0061, 0x033B, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x033B, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x033B, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x033B, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x033B, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x033C, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x033C, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x033C, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x033C, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x033C, 0x059A, 0x0062] }, -{ source: [0x0061, 0x033C, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x033C, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x033C, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x033C, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x033C, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x033D, 0x0062], NFC: [0x00E0, 0x05AE, 0x033D, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x033D, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x033D, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x033D, 0x0315, 0x0062] }, -{ source: [0x0061, 0x033D, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x033D, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x033D, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x033D, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x033D, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x033E, 0x0062], NFC: [0x00E0, 0x05AE, 0x033E, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x033E, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x033E, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x033E, 0x0315, 0x0062] }, -{ source: [0x0061, 0x033E, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x033E, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x033E, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x033E, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x033E, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x033F, 0x0062], NFC: [0x00E0, 0x05AE, 0x033F, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x033F, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x033F, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x033F, 0x0315, 0x0062] }, -{ source: [0x0061, 0x033F, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x033F, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x033F, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x033F, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x033F, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x0340, 0x0062], NFC: [0x00E0, 0x05AE, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x0300, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0340, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x00E0, 0x05AE, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x0300, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x0341, 0x0062], NFC: [0x00E0, 0x05AE, 0x0301, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x0301, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x0301, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x0301, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0341, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x00E1, 0x05AE, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0301, 0x0300, 0x0315, 0x0062], NFKC: [0x00E1, 0x05AE, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0301, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x0342, 0x0062], NFC: [0x00E0, 0x05AE, 0x0342, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x0342, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x0342, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x0342, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0342, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x0342, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0342, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x0342, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0342, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x0343, 0x0062], NFC: [0x00E0, 0x05AE, 0x0313, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x0313, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x0313, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x0313, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0343, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x0313, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0313, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x0313, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0313, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x0344, 0x0062], NFC: [0x00E0, 0x05AE, 0x0308, 0x0301, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x0308, 0x0301, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x0308, 0x0301, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x0308, 0x0301, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0344, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x00E4, 0x05AE, 0x0301, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0308, 0x0301, 0x0300, 0x0315, 0x0062], NFKC: [0x00E4, 0x05AE, 0x0301, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0308, 0x0301, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0345, 0x035D, 0x0345, 0x0062], NFC: [0x0061, 0x035D, 0x0345, 0x0345, 0x0062], NFD: [0x0061, 0x035D, 0x0345, 0x0345, 0x0062], NFKC: [0x0061, 0x035D, 0x0345, 0x0345, 0x0062], NFKD: [0x0061, 0x035D, 0x0345, 0x0345, 0x0062] }, -{ source: [0x0061, 0x0345, 0x0345, 0x035D, 0x0062], NFC: [0x0061, 0x035D, 0x0345, 0x0345, 0x0062], NFD: [0x0061, 0x035D, 0x0345, 0x0345, 0x0062], NFKC: [0x0061, 0x035D, 0x0345, 0x0345, 0x0062], NFKD: [0x0061, 0x035D, 0x0345, 0x0345, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x0346, 0x0062], NFC: [0x00E0, 0x05AE, 0x0346, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x0346, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x0346, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x0346, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0346, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x0346, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0346, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x0346, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0346, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x0347, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x0347, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x0347, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x0347, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x0347, 0x059A, 0x0062] }, -{ source: [0x0061, 0x0347, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x0347, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0347, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0347, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0347, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x0348, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x0348, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x0348, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x0348, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x0348, 0x059A, 0x0062] }, -{ source: [0x0061, 0x0348, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x0348, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0348, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0348, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0348, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x0349, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x0349, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x0349, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x0349, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x0349, 0x059A, 0x0062] }, -{ source: [0x0061, 0x0349, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x0349, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0349, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0349, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0349, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x034A, 0x0062], NFC: [0x00E0, 0x05AE, 0x034A, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x034A, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x034A, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x034A, 0x0315, 0x0062] }, -{ source: [0x0061, 0x034A, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x034A, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x034A, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x034A, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x034A, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x034B, 0x0062], NFC: [0x00E0, 0x05AE, 0x034B, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x034B, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x034B, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x034B, 0x0315, 0x0062] }, -{ source: [0x0061, 0x034B, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x034B, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x034B, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x034B, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x034B, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x034C, 0x0062], NFC: [0x00E0, 0x05AE, 0x034C, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x034C, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x034C, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x034C, 0x0315, 0x0062] }, -{ source: [0x0061, 0x034C, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x034C, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x034C, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x034C, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x034C, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x034D, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x034D, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x034D, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x034D, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x034D, 0x059A, 0x0062] }, -{ source: [0x0061, 0x034D, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x034D, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x034D, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x034D, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x034D, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x034E, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x034E, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x034E, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x034E, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x034E, 0x059A, 0x0062] }, -{ source: [0x0061, 0x034E, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x034E, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x034E, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x034E, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x034E, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x0350, 0x0062], NFC: [0x00E0, 0x05AE, 0x0350, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x0350, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x0350, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x0350, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0350, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x0350, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0350, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x0350, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0350, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x0351, 0x0062], NFC: [0x00E0, 0x05AE, 0x0351, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x0351, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x0351, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x0351, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0351, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x0351, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0351, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x0351, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0351, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x0352, 0x0062], NFC: [0x00E0, 0x05AE, 0x0352, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x0352, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x0352, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x0352, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0352, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x0352, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0352, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x0352, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0352, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x0353, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x0353, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x0353, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x0353, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x0353, 0x059A, 0x0062] }, -{ source: [0x0061, 0x0353, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x0353, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0353, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0353, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0353, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x0354, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x0354, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x0354, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x0354, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x0354, 0x059A, 0x0062] }, -{ source: [0x0061, 0x0354, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x0354, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0354, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0354, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0354, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x0355, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x0355, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x0355, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x0355, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x0355, 0x059A, 0x0062] }, -{ source: [0x0061, 0x0355, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x0355, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0355, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0355, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0355, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x0356, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x0356, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x0356, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x0356, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x0356, 0x059A, 0x0062] }, -{ source: [0x0061, 0x0356, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x0356, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0356, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0356, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0356, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x0357, 0x0062], NFC: [0x00E0, 0x05AE, 0x0357, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x0357, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x0357, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x0357, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0357, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x0357, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0357, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x0357, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0357, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x035C, 0x0315, 0x0300, 0x0358, 0x0062], NFC: [0x00E0, 0x0315, 0x0358, 0x035C, 0x0062], NFD: [0x0061, 0x0300, 0x0315, 0x0358, 0x035C, 0x0062], NFKC: [0x00E0, 0x0315, 0x0358, 0x035C, 0x0062], NFKD: [0x0061, 0x0300, 0x0315, 0x0358, 0x035C, 0x0062] }, -{ source: [0x0061, 0x0358, 0x035C, 0x0315, 0x0300, 0x0062], NFC: [0x00E0, 0x0358, 0x0315, 0x035C, 0x0062], NFD: [0x0061, 0x0300, 0x0358, 0x0315, 0x035C, 0x0062], NFKC: [0x00E0, 0x0358, 0x0315, 0x035C, 0x0062], NFKD: [0x0061, 0x0300, 0x0358, 0x0315, 0x035C, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x0359, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x0359, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x0359, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x0359, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x0359, 0x059A, 0x0062] }, -{ source: [0x0061, 0x0359, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x0359, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0359, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0359, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0359, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x035A, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x035A, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x035A, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x035A, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x035A, 0x059A, 0x0062] }, -{ source: [0x0061, 0x035A, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x035A, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x035A, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x035A, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x035A, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x035B, 0x0062], NFC: [0x00E0, 0x05AE, 0x035B, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x035B, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x035B, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x035B, 0x0315, 0x0062] }, -{ source: [0x0061, 0x035B, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x035B, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x035B, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x035B, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x035B, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x035D, 0x035C, 0x0315, 0x035C, 0x0062], NFC: [0x0061, 0x0315, 0x035C, 0x035C, 0x035D, 0x0062], NFD: [0x0061, 0x0315, 0x035C, 0x035C, 0x035D, 0x0062], NFKC: [0x0061, 0x0315, 0x035C, 0x035C, 0x035D, 0x0062], NFKD: [0x0061, 0x0315, 0x035C, 0x035C, 0x035D, 0x0062] }, -{ source: [0x0061, 0x035C, 0x035D, 0x035C, 0x0315, 0x0062], NFC: [0x0061, 0x0315, 0x035C, 0x035C, 0x035D, 0x0062], NFD: [0x0061, 0x0315, 0x035C, 0x035C, 0x035D, 0x0062], NFKC: [0x0061, 0x0315, 0x035C, 0x035C, 0x035D, 0x0062], NFKD: [0x0061, 0x0315, 0x035C, 0x035C, 0x035D, 0x0062] }, -{ source: [0x0061, 0x0345, 0x035D, 0x035C, 0x035D, 0x0062], NFC: [0x0061, 0x035C, 0x035D, 0x035D, 0x0345, 0x0062], NFD: [0x0061, 0x035C, 0x035D, 0x035D, 0x0345, 0x0062], NFKC: [0x0061, 0x035C, 0x035D, 0x035D, 0x0345, 0x0062], NFKD: [0x0061, 0x035C, 0x035D, 0x035D, 0x0345, 0x0062] }, -{ source: [0x0061, 0x035D, 0x0345, 0x035D, 0x035C, 0x0062], NFC: [0x0061, 0x035C, 0x035D, 0x035D, 0x0345, 0x0062], NFD: [0x0061, 0x035C, 0x035D, 0x035D, 0x0345, 0x0062], NFKC: [0x0061, 0x035C, 0x035D, 0x035D, 0x0345, 0x0062], NFKD: [0x0061, 0x035C, 0x035D, 0x035D, 0x0345, 0x0062] }, -{ source: [0x0061, 0x0345, 0x035D, 0x035C, 0x035E, 0x0062], NFC: [0x0061, 0x035C, 0x035D, 0x035E, 0x0345, 0x0062], NFD: [0x0061, 0x035C, 0x035D, 0x035E, 0x0345, 0x0062], NFKC: [0x0061, 0x035C, 0x035D, 0x035E, 0x0345, 0x0062], NFKD: [0x0061, 0x035C, 0x035D, 0x035E, 0x0345, 0x0062] }, -{ source: [0x0061, 0x035E, 0x0345, 0x035D, 0x035C, 0x0062], NFC: [0x0061, 0x035C, 0x035E, 0x035D, 0x0345, 0x0062], NFD: [0x0061, 0x035C, 0x035E, 0x035D, 0x0345, 0x0062], NFKC: [0x0061, 0x035C, 0x035E, 0x035D, 0x0345, 0x0062], NFKD: [0x0061, 0x035C, 0x035E, 0x035D, 0x0345, 0x0062] }, -{ source: [0x0061, 0x035D, 0x035C, 0x0315, 0x035F, 0x0062], NFC: [0x0061, 0x0315, 0x035C, 0x035F, 0x035D, 0x0062], NFD: [0x0061, 0x0315, 0x035C, 0x035F, 0x035D, 0x0062], NFKC: [0x0061, 0x0315, 0x035C, 0x035F, 0x035D, 0x0062], NFKD: [0x0061, 0x0315, 0x035C, 0x035F, 0x035D, 0x0062] }, -{ source: [0x0061, 0x035F, 0x035D, 0x035C, 0x0315, 0x0062], NFC: [0x0061, 0x0315, 0x035F, 0x035C, 0x035D, 0x0062], NFD: [0x0061, 0x0315, 0x035F, 0x035C, 0x035D, 0x0062], NFKC: [0x0061, 0x0315, 0x035F, 0x035C, 0x035D, 0x0062], NFKD: [0x0061, 0x0315, 0x035F, 0x035C, 0x035D, 0x0062] }, -{ source: [0x0061, 0x0345, 0x035D, 0x035C, 0x0360, 0x0062], NFC: [0x0061, 0x035C, 0x035D, 0x0360, 0x0345, 0x0062], NFD: [0x0061, 0x035C, 0x035D, 0x0360, 0x0345, 0x0062], NFKC: [0x0061, 0x035C, 0x035D, 0x0360, 0x0345, 0x0062], NFKD: [0x0061, 0x035C, 0x035D, 0x0360, 0x0345, 0x0062] }, -{ source: [0x0061, 0x0360, 0x0345, 0x035D, 0x035C, 0x0062], NFC: [0x0061, 0x035C, 0x0360, 0x035D, 0x0345, 0x0062], NFD: [0x0061, 0x035C, 0x0360, 0x035D, 0x0345, 0x0062], NFKC: [0x0061, 0x035C, 0x0360, 0x035D, 0x0345, 0x0062], NFKD: [0x0061, 0x035C, 0x0360, 0x035D, 0x0345, 0x0062] }, -{ source: [0x0061, 0x0345, 0x035D, 0x035C, 0x0361, 0x0062], NFC: [0x0061, 0x035C, 0x035D, 0x0361, 0x0345, 0x0062], NFD: [0x0061, 0x035C, 0x035D, 0x0361, 0x0345, 0x0062], NFKC: [0x0061, 0x035C, 0x035D, 0x0361, 0x0345, 0x0062], NFKD: [0x0061, 0x035C, 0x035D, 0x0361, 0x0345, 0x0062] }, -{ source: [0x0061, 0x0361, 0x0345, 0x035D, 0x035C, 0x0062], NFC: [0x0061, 0x035C, 0x0361, 0x035D, 0x0345, 0x0062], NFD: [0x0061, 0x035C, 0x0361, 0x035D, 0x0345, 0x0062], NFKC: [0x0061, 0x035C, 0x0361, 0x035D, 0x0345, 0x0062], NFKD: [0x0061, 0x035C, 0x0361, 0x035D, 0x0345, 0x0062] }, -{ source: [0x0061, 0x035D, 0x035C, 0x0315, 0x0362, 0x0062], NFC: [0x0061, 0x0315, 0x035C, 0x0362, 0x035D, 0x0062], NFD: [0x0061, 0x0315, 0x035C, 0x0362, 0x035D, 0x0062], NFKC: [0x0061, 0x0315, 0x035C, 0x0362, 0x035D, 0x0062], NFKD: [0x0061, 0x0315, 0x035C, 0x0362, 0x035D, 0x0062] }, -{ source: [0x0061, 0x0362, 0x035D, 0x035C, 0x0315, 0x0062], NFC: [0x0061, 0x0315, 0x0362, 0x035C, 0x035D, 0x0062], NFD: [0x0061, 0x0315, 0x0362, 0x035C, 0x035D, 0x0062], NFKC: [0x0061, 0x0315, 0x0362, 0x035C, 0x035D, 0x0062], NFKD: [0x0061, 0x0315, 0x0362, 0x035C, 0x035D, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x0363, 0x0062], NFC: [0x00E0, 0x05AE, 0x0363, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x0363, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x0363, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x0363, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0363, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x0363, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0363, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x0363, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0363, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x0364, 0x0062], NFC: [0x00E0, 0x05AE, 0x0364, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x0364, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x0364, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x0364, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0364, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x0364, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0364, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x0364, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0364, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x0365, 0x0062], NFC: [0x00E0, 0x05AE, 0x0365, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x0365, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x0365, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x0365, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0365, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x0365, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0365, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x0365, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0365, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x0366, 0x0062], NFC: [0x00E0, 0x05AE, 0x0366, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x0366, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x0366, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x0366, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0366, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x0366, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0366, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x0366, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0366, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x0367, 0x0062], NFC: [0x00E0, 0x05AE, 0x0367, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x0367, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x0367, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x0367, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0367, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x0367, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0367, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x0367, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0367, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x0368, 0x0062], NFC: [0x00E0, 0x05AE, 0x0368, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x0368, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x0368, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x0368, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0368, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x0368, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0368, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x0368, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0368, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x0369, 0x0062], NFC: [0x00E0, 0x05AE, 0x0369, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x0369, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x0369, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x0369, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0369, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x0369, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0369, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x0369, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0369, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x036A, 0x0062], NFC: [0x00E0, 0x05AE, 0x036A, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x036A, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x036A, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x036A, 0x0315, 0x0062] }, -{ source: [0x0061, 0x036A, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x036A, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x036A, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x036A, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x036A, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x036B, 0x0062], NFC: [0x00E0, 0x05AE, 0x036B, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x036B, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x036B, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x036B, 0x0315, 0x0062] }, -{ source: [0x0061, 0x036B, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x036B, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x036B, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x036B, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x036B, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x036C, 0x0062], NFC: [0x00E0, 0x05AE, 0x036C, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x036C, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x036C, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x036C, 0x0315, 0x0062] }, -{ source: [0x0061, 0x036C, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x036C, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x036C, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x036C, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x036C, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x036D, 0x0062], NFC: [0x00E0, 0x05AE, 0x036D, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x036D, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x036D, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x036D, 0x0315, 0x0062] }, -{ source: [0x0061, 0x036D, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x036D, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x036D, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x036D, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x036D, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x036E, 0x0062], NFC: [0x00E0, 0x05AE, 0x036E, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x036E, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x036E, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x036E, 0x0315, 0x0062] }, -{ source: [0x0061, 0x036E, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x036E, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x036E, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x036E, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x036E, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x036F, 0x0062], NFC: [0x00E0, 0x05AE, 0x036F, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x036F, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x036F, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x036F, 0x0315, 0x0062] }, -{ source: [0x0061, 0x036F, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x036F, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x036F, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x036F, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x036F, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x0483, 0x0062], NFC: [0x00E0, 0x05AE, 0x0483, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x0483, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x0483, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x0483, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0483, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x0483, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0483, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x0483, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0483, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x0484, 0x0062], NFC: [0x00E0, 0x05AE, 0x0484, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x0484, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x0484, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x0484, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0484, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x0484, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0484, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x0484, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0484, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x0485, 0x0062], NFC: [0x00E0, 0x05AE, 0x0485, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x0485, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x0485, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x0485, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0485, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x0485, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0485, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x0485, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0485, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x0486, 0x0062], NFC: [0x00E0, 0x05AE, 0x0486, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x0486, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x0486, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x0486, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0486, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x0486, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0486, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x0486, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0486, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x0487, 0x0062], NFC: [0x00E0, 0x05AE, 0x0487, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x0487, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x0487, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x0487, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0487, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x0487, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0487, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x0487, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0487, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x0591, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x0591, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x0591, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x0591, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x0591, 0x059A, 0x0062] }, -{ source: [0x0061, 0x0591, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x0591, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0591, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0591, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0591, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x0592, 0x0062], NFC: [0x00E0, 0x05AE, 0x0592, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x0592, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x0592, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x0592, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0592, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x0592, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0592, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x0592, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0592, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x0593, 0x0062], NFC: [0x00E0, 0x05AE, 0x0593, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x0593, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x0593, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x0593, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0593, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x0593, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0593, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x0593, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0593, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x0594, 0x0062], NFC: [0x00E0, 0x05AE, 0x0594, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x0594, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x0594, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x0594, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0594, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x0594, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0594, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x0594, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0594, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x0595, 0x0062], NFC: [0x00E0, 0x05AE, 0x0595, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x0595, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x0595, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x0595, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0595, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x0595, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0595, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x0595, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0595, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x0596, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x0596, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x0596, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x0596, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x0596, 0x059A, 0x0062] }, -{ source: [0x0061, 0x0596, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x0596, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0596, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0596, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0596, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x0597, 0x0062], NFC: [0x00E0, 0x05AE, 0x0597, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x0597, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x0597, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x0597, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0597, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x0597, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0597, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x0597, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0597, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x0598, 0x0062], NFC: [0x00E0, 0x05AE, 0x0598, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x0598, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x0598, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x0598, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0598, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x0598, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0598, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x0598, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0598, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x0599, 0x0062], NFC: [0x00E0, 0x05AE, 0x0599, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x0599, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x0599, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x0599, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0599, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x0599, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0599, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x0599, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0599, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x302E, 0x059A, 0x0316, 0x059A, 0x0062], NFC: [0x0061, 0x0316, 0x059A, 0x059A, 0x302E, 0x0062], NFD: [0x0061, 0x0316, 0x059A, 0x059A, 0x302E, 0x0062], NFKC: [0x0061, 0x0316, 0x059A, 0x059A, 0x302E, 0x0062], NFKD: [0x0061, 0x0316, 0x059A, 0x059A, 0x302E, 0x0062] }, -{ source: [0x0061, 0x059A, 0x302E, 0x059A, 0x0316, 0x0062], NFC: [0x0061, 0x0316, 0x059A, 0x059A, 0x302E, 0x0062], NFD: [0x0061, 0x0316, 0x059A, 0x059A, 0x302E, 0x0062], NFKC: [0x0061, 0x0316, 0x059A, 0x059A, 0x302E, 0x0062], NFKD: [0x0061, 0x0316, 0x059A, 0x059A, 0x302E, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x059B, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x059B, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x059B, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x059B, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x059B, 0x059A, 0x0062] }, -{ source: [0x0061, 0x059B, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x059B, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x059B, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x059B, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x059B, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x059C, 0x0062], NFC: [0x00E0, 0x05AE, 0x059C, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x059C, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x059C, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x059C, 0x0315, 0x0062] }, -{ source: [0x0061, 0x059C, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x059C, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x059C, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x059C, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x059C, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x059D, 0x0062], NFC: [0x00E0, 0x05AE, 0x059D, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x059D, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x059D, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x059D, 0x0315, 0x0062] }, -{ source: [0x0061, 0x059D, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x059D, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x059D, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x059D, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x059D, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x059E, 0x0062], NFC: [0x00E0, 0x05AE, 0x059E, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x059E, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x059E, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x059E, 0x0315, 0x0062] }, -{ source: [0x0061, 0x059E, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x059E, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x059E, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x059E, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x059E, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x059F, 0x0062], NFC: [0x00E0, 0x05AE, 0x059F, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x059F, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x059F, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x059F, 0x0315, 0x0062] }, -{ source: [0x0061, 0x059F, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x059F, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x059F, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x059F, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x059F, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x05A0, 0x0062], NFC: [0x00E0, 0x05AE, 0x05A0, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x05A0, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x05A0, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x05A0, 0x0315, 0x0062] }, -{ source: [0x0061, 0x05A0, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x05A0, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x05A0, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x05A0, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x05A0, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x05A1, 0x0062], NFC: [0x00E0, 0x05AE, 0x05A1, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x05A1, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x05A1, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x05A1, 0x0315, 0x0062] }, -{ source: [0x0061, 0x05A1, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x05A1, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x05A1, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x05A1, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x05A1, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x05A2, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x05A2, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x05A2, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x05A2, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x05A2, 0x059A, 0x0062] }, -{ source: [0x0061, 0x05A2, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x05A2, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x05A2, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x05A2, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x05A2, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x05A3, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x05A3, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x05A3, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x05A3, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x05A3, 0x059A, 0x0062] }, -{ source: [0x0061, 0x05A3, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x05A3, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x05A3, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x05A3, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x05A3, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x05A4, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x05A4, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x05A4, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x05A4, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x05A4, 0x059A, 0x0062] }, -{ source: [0x0061, 0x05A4, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x05A4, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x05A4, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x05A4, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x05A4, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x05A5, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x05A5, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x05A5, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x05A5, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x05A5, 0x059A, 0x0062] }, -{ source: [0x0061, 0x05A5, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x05A5, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x05A5, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x05A5, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x05A5, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x05A6, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x05A6, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x05A6, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x05A6, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x05A6, 0x059A, 0x0062] }, -{ source: [0x0061, 0x05A6, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x05A6, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x05A6, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x05A6, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x05A6, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x05A7, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x05A7, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x05A7, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x05A7, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x05A7, 0x059A, 0x0062] }, -{ source: [0x0061, 0x05A7, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x05A7, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x05A7, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x05A7, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x05A7, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x05A8, 0x0062], NFC: [0x00E0, 0x05AE, 0x05A8, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x05A8, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x05A8, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x05A8, 0x0315, 0x0062] }, -{ source: [0x0061, 0x05A8, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x05A8, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x05A8, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x05A8, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x05A8, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x05A9, 0x0062], NFC: [0x00E0, 0x05AE, 0x05A9, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x05A9, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x05A9, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x05A9, 0x0315, 0x0062] }, -{ source: [0x0061, 0x05A9, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x05A9, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x05A9, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x05A9, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x05A9, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x05AA, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x05AA, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x05AA, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x05AA, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x05AA, 0x059A, 0x0062] }, -{ source: [0x0061, 0x05AA, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x05AA, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x05AA, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x05AA, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x05AA, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x05AB, 0x0062], NFC: [0x00E0, 0x05AE, 0x05AB, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x05AB, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x05AB, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x05AB, 0x0315, 0x0062] }, -{ source: [0x0061, 0x05AB, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x05AB, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x05AB, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x05AB, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x05AB, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x05AC, 0x0062], NFC: [0x00E0, 0x05AE, 0x05AC, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x05AC, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x05AC, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x05AC, 0x0315, 0x0062] }, -{ source: [0x0061, 0x05AC, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x05AC, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x05AC, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x05AC, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x05AC, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x302E, 0x059A, 0x0316, 0x05AD, 0x0062], NFC: [0x0061, 0x0316, 0x059A, 0x05AD, 0x302E, 0x0062], NFD: [0x0061, 0x0316, 0x059A, 0x05AD, 0x302E, 0x0062], NFKC: [0x0061, 0x0316, 0x059A, 0x05AD, 0x302E, 0x0062], NFKD: [0x0061, 0x0316, 0x059A, 0x05AD, 0x302E, 0x0062] }, -{ source: [0x0061, 0x05AD, 0x302E, 0x059A, 0x0316, 0x0062], NFC: [0x0061, 0x0316, 0x05AD, 0x059A, 0x302E, 0x0062], NFD: [0x0061, 0x0316, 0x05AD, 0x059A, 0x302E, 0x0062], NFKC: [0x0061, 0x0316, 0x05AD, 0x059A, 0x302E, 0x0062], NFKD: [0x0061, 0x0316, 0x05AD, 0x059A, 0x302E, 0x0062] }, -{ source: [0x0061, 0x0300, 0x05AE, 0x1D16D, 0x05AE, 0x0062], NFC: [0x00E0, 0x1D16D, 0x05AE, 0x05AE, 0x0062], NFD: [0x0061, 0x1D16D, 0x05AE, 0x05AE, 0x0300, 0x0062], NFKC: [0x00E0, 0x1D16D, 0x05AE, 0x05AE, 0x0062], NFKD: [0x0061, 0x1D16D, 0x05AE, 0x05AE, 0x0300, 0x0062] }, -{ source: [0x0061, 0x05AE, 0x0300, 0x05AE, 0x1D16D, 0x0062], NFC: [0x00E0, 0x1D16D, 0x05AE, 0x05AE, 0x0062], NFD: [0x0061, 0x1D16D, 0x05AE, 0x05AE, 0x0300, 0x0062], NFKC: [0x00E0, 0x1D16D, 0x05AE, 0x05AE, 0x0062], NFKD: [0x0061, 0x1D16D, 0x05AE, 0x05AE, 0x0300, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x05AF, 0x0062], NFC: [0x00E0, 0x05AE, 0x05AF, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x05AF, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x05AF, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x05AF, 0x0315, 0x0062] }, -{ source: [0x0061, 0x05AF, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x05AF, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x05AF, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x05AF, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x05AF, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x05B1, 0x05B0, 0x094D, 0x05B0, 0x0062], NFC: [0x0061, 0x094D, 0x05B0, 0x05B0, 0x05B1, 0x0062], NFD: [0x0061, 0x094D, 0x05B0, 0x05B0, 0x05B1, 0x0062], NFKC: [0x0061, 0x094D, 0x05B0, 0x05B0, 0x05B1, 0x0062], NFKD: [0x0061, 0x094D, 0x05B0, 0x05B0, 0x05B1, 0x0062] }, -{ source: [0x0061, 0x05B0, 0x05B1, 0x05B0, 0x094D, 0x0062], NFC: [0x0061, 0x094D, 0x05B0, 0x05B0, 0x05B1, 0x0062], NFD: [0x0061, 0x094D, 0x05B0, 0x05B0, 0x05B1, 0x0062], NFKC: [0x0061, 0x094D, 0x05B0, 0x05B0, 0x05B1, 0x0062], NFKD: [0x0061, 0x094D, 0x05B0, 0x05B0, 0x05B1, 0x0062] }, -{ source: [0x0061, 0x05B2, 0x05B1, 0x05B0, 0x05B1, 0x0062], NFC: [0x0061, 0x05B0, 0x05B1, 0x05B1, 0x05B2, 0x0062], NFD: [0x0061, 0x05B0, 0x05B1, 0x05B1, 0x05B2, 0x0062], NFKC: [0x0061, 0x05B0, 0x05B1, 0x05B1, 0x05B2, 0x0062], NFKD: [0x0061, 0x05B0, 0x05B1, 0x05B1, 0x05B2, 0x0062] }, -{ source: [0x0061, 0x05B1, 0x05B2, 0x05B1, 0x05B0, 0x0062], NFC: [0x0061, 0x05B0, 0x05B1, 0x05B1, 0x05B2, 0x0062], NFD: [0x0061, 0x05B0, 0x05B1, 0x05B1, 0x05B2, 0x0062], NFKC: [0x0061, 0x05B0, 0x05B1, 0x05B1, 0x05B2, 0x0062], NFKD: [0x0061, 0x05B0, 0x05B1, 0x05B1, 0x05B2, 0x0062] }, -{ source: [0x0061, 0x05B3, 0x05B2, 0x05B1, 0x05B2, 0x0062], NFC: [0x0061, 0x05B1, 0x05B2, 0x05B2, 0x05B3, 0x0062], NFD: [0x0061, 0x05B1, 0x05B2, 0x05B2, 0x05B3, 0x0062], NFKC: [0x0061, 0x05B1, 0x05B2, 0x05B2, 0x05B3, 0x0062], NFKD: [0x0061, 0x05B1, 0x05B2, 0x05B2, 0x05B3, 0x0062] }, -{ source: [0x0061, 0x05B2, 0x05B3, 0x05B2, 0x05B1, 0x0062], NFC: [0x0061, 0x05B1, 0x05B2, 0x05B2, 0x05B3, 0x0062], NFD: [0x0061, 0x05B1, 0x05B2, 0x05B2, 0x05B3, 0x0062], NFKC: [0x0061, 0x05B1, 0x05B2, 0x05B2, 0x05B3, 0x0062], NFKD: [0x0061, 0x05B1, 0x05B2, 0x05B2, 0x05B3, 0x0062] }, -{ source: [0x0061, 0x05B4, 0x05B3, 0x05B2, 0x05B3, 0x0062], NFC: [0x0061, 0x05B2, 0x05B3, 0x05B3, 0x05B4, 0x0062], NFD: [0x0061, 0x05B2, 0x05B3, 0x05B3, 0x05B4, 0x0062], NFKC: [0x0061, 0x05B2, 0x05B3, 0x05B3, 0x05B4, 0x0062], NFKD: [0x0061, 0x05B2, 0x05B3, 0x05B3, 0x05B4, 0x0062] }, -{ source: [0x0061, 0x05B3, 0x05B4, 0x05B3, 0x05B2, 0x0062], NFC: [0x0061, 0x05B2, 0x05B3, 0x05B3, 0x05B4, 0x0062], NFD: [0x0061, 0x05B2, 0x05B3, 0x05B3, 0x05B4, 0x0062], NFKC: [0x0061, 0x05B2, 0x05B3, 0x05B3, 0x05B4, 0x0062], NFKD: [0x0061, 0x05B2, 0x05B3, 0x05B3, 0x05B4, 0x0062] }, -{ source: [0x0061, 0x05B5, 0x05B4, 0x05B3, 0x05B4, 0x0062], NFC: [0x0061, 0x05B3, 0x05B4, 0x05B4, 0x05B5, 0x0062], NFD: [0x0061, 0x05B3, 0x05B4, 0x05B4, 0x05B5, 0x0062], NFKC: [0x0061, 0x05B3, 0x05B4, 0x05B4, 0x05B5, 0x0062], NFKD: [0x0061, 0x05B3, 0x05B4, 0x05B4, 0x05B5, 0x0062] }, -{ source: [0x0061, 0x05B4, 0x05B5, 0x05B4, 0x05B3, 0x0062], NFC: [0x0061, 0x05B3, 0x05B4, 0x05B4, 0x05B5, 0x0062], NFD: [0x0061, 0x05B3, 0x05B4, 0x05B4, 0x05B5, 0x0062], NFKC: [0x0061, 0x05B3, 0x05B4, 0x05B4, 0x05B5, 0x0062], NFKD: [0x0061, 0x05B3, 0x05B4, 0x05B4, 0x05B5, 0x0062] }, -{ source: [0x0061, 0x05B6, 0x05B5, 0x05B4, 0x05B5, 0x0062], NFC: [0x0061, 0x05B4, 0x05B5, 0x05B5, 0x05B6, 0x0062], NFD: [0x0061, 0x05B4, 0x05B5, 0x05B5, 0x05B6, 0x0062], NFKC: [0x0061, 0x05B4, 0x05B5, 0x05B5, 0x05B6, 0x0062], NFKD: [0x0061, 0x05B4, 0x05B5, 0x05B5, 0x05B6, 0x0062] }, -{ source: [0x0061, 0x05B5, 0x05B6, 0x05B5, 0x05B4, 0x0062], NFC: [0x0061, 0x05B4, 0x05B5, 0x05B5, 0x05B6, 0x0062], NFD: [0x0061, 0x05B4, 0x05B5, 0x05B5, 0x05B6, 0x0062], NFKC: [0x0061, 0x05B4, 0x05B5, 0x05B5, 0x05B6, 0x0062], NFKD: [0x0061, 0x05B4, 0x05B5, 0x05B5, 0x05B6, 0x0062] }, -{ source: [0x0061, 0x05B7, 0x05B6, 0x05B5, 0x05B6, 0x0062], NFC: [0x0061, 0x05B5, 0x05B6, 0x05B6, 0x05B7, 0x0062], NFD: [0x0061, 0x05B5, 0x05B6, 0x05B6, 0x05B7, 0x0062], NFKC: [0x0061, 0x05B5, 0x05B6, 0x05B6, 0x05B7, 0x0062], NFKD: [0x0061, 0x05B5, 0x05B6, 0x05B6, 0x05B7, 0x0062] }, -{ source: [0x0061, 0x05B6, 0x05B7, 0x05B6, 0x05B5, 0x0062], NFC: [0x0061, 0x05B5, 0x05B6, 0x05B6, 0x05B7, 0x0062], NFD: [0x0061, 0x05B5, 0x05B6, 0x05B6, 0x05B7, 0x0062], NFKC: [0x0061, 0x05B5, 0x05B6, 0x05B6, 0x05B7, 0x0062], NFKD: [0x0061, 0x05B5, 0x05B6, 0x05B6, 0x05B7, 0x0062] }, -{ source: [0x0061, 0x05B8, 0x05B7, 0x05B6, 0x05B7, 0x0062], NFC: [0x0061, 0x05B6, 0x05B7, 0x05B7, 0x05B8, 0x0062], NFD: [0x0061, 0x05B6, 0x05B7, 0x05B7, 0x05B8, 0x0062], NFKC: [0x0061, 0x05B6, 0x05B7, 0x05B7, 0x05B8, 0x0062], NFKD: [0x0061, 0x05B6, 0x05B7, 0x05B7, 0x05B8, 0x0062] }, -{ source: [0x0061, 0x05B7, 0x05B8, 0x05B7, 0x05B6, 0x0062], NFC: [0x0061, 0x05B6, 0x05B7, 0x05B7, 0x05B8, 0x0062], NFD: [0x0061, 0x05B6, 0x05B7, 0x05B7, 0x05B8, 0x0062], NFKC: [0x0061, 0x05B6, 0x05B7, 0x05B7, 0x05B8, 0x0062], NFKD: [0x0061, 0x05B6, 0x05B7, 0x05B7, 0x05B8, 0x0062] }, -{ source: [0x0061, 0x05B9, 0x05B8, 0x05B7, 0x05B8, 0x0062], NFC: [0x0061, 0x05B7, 0x05B8, 0x05B8, 0x05B9, 0x0062], NFD: [0x0061, 0x05B7, 0x05B8, 0x05B8, 0x05B9, 0x0062], NFKC: [0x0061, 0x05B7, 0x05B8, 0x05B8, 0x05B9, 0x0062], NFKD: [0x0061, 0x05B7, 0x05B8, 0x05B8, 0x05B9, 0x0062] }, -{ source: [0x0061, 0x05B8, 0x05B9, 0x05B8, 0x05B7, 0x0062], NFC: [0x0061, 0x05B7, 0x05B8, 0x05B8, 0x05B9, 0x0062], NFD: [0x0061, 0x05B7, 0x05B8, 0x05B8, 0x05B9, 0x0062], NFKC: [0x0061, 0x05B7, 0x05B8, 0x05B8, 0x05B9, 0x0062], NFKD: [0x0061, 0x05B7, 0x05B8, 0x05B8, 0x05B9, 0x0062] }, -{ source: [0x0061, 0x05BB, 0x05B9, 0x05B8, 0x05B9, 0x0062], NFC: [0x0061, 0x05B8, 0x05B9, 0x05B9, 0x05BB, 0x0062], NFD: [0x0061, 0x05B8, 0x05B9, 0x05B9, 0x05BB, 0x0062], NFKC: [0x0061, 0x05B8, 0x05B9, 0x05B9, 0x05BB, 0x0062], NFKD: [0x0061, 0x05B8, 0x05B9, 0x05B9, 0x05BB, 0x0062] }, -{ source: [0x0061, 0x05B9, 0x05BB, 0x05B9, 0x05B8, 0x0062], NFC: [0x0061, 0x05B8, 0x05B9, 0x05B9, 0x05BB, 0x0062], NFD: [0x0061, 0x05B8, 0x05B9, 0x05B9, 0x05BB, 0x0062], NFKC: [0x0061, 0x05B8, 0x05B9, 0x05B9, 0x05BB, 0x0062], NFKD: [0x0061, 0x05B8, 0x05B9, 0x05B9, 0x05BB, 0x0062] }, -{ source: [0x0061, 0x05BB, 0x05B9, 0x05B8, 0x05BA, 0x0062], NFC: [0x0061, 0x05B8, 0x05B9, 0x05BA, 0x05BB, 0x0062], NFD: [0x0061, 0x05B8, 0x05B9, 0x05BA, 0x05BB, 0x0062], NFKC: [0x0061, 0x05B8, 0x05B9, 0x05BA, 0x05BB, 0x0062], NFKD: [0x0061, 0x05B8, 0x05B9, 0x05BA, 0x05BB, 0x0062] }, -{ source: [0x0061, 0x05BA, 0x05BB, 0x05B9, 0x05B8, 0x0062], NFC: [0x0061, 0x05B8, 0x05BA, 0x05B9, 0x05BB, 0x0062], NFD: [0x0061, 0x05B8, 0x05BA, 0x05B9, 0x05BB, 0x0062], NFKC: [0x0061, 0x05B8, 0x05BA, 0x05B9, 0x05BB, 0x0062], NFKD: [0x0061, 0x05B8, 0x05BA, 0x05B9, 0x05BB, 0x0062] }, -{ source: [0x0061, 0x05BC, 0x05BB, 0x05B9, 0x05BB, 0x0062], NFC: [0x0061, 0x05B9, 0x05BB, 0x05BB, 0x05BC, 0x0062], NFD: [0x0061, 0x05B9, 0x05BB, 0x05BB, 0x05BC, 0x0062], NFKC: [0x0061, 0x05B9, 0x05BB, 0x05BB, 0x05BC, 0x0062], NFKD: [0x0061, 0x05B9, 0x05BB, 0x05BB, 0x05BC, 0x0062] }, -{ source: [0x0061, 0x05BB, 0x05BC, 0x05BB, 0x05B9, 0x0062], NFC: [0x0061, 0x05B9, 0x05BB, 0x05BB, 0x05BC, 0x0062], NFD: [0x0061, 0x05B9, 0x05BB, 0x05BB, 0x05BC, 0x0062], NFKC: [0x0061, 0x05B9, 0x05BB, 0x05BB, 0x05BC, 0x0062], NFKD: [0x0061, 0x05B9, 0x05BB, 0x05BB, 0x05BC, 0x0062] }, -{ source: [0x0061, 0x05BD, 0x05BC, 0x05BB, 0x05BC, 0x0062], NFC: [0x0061, 0x05BB, 0x05BC, 0x05BC, 0x05BD, 0x0062], NFD: [0x0061, 0x05BB, 0x05BC, 0x05BC, 0x05BD, 0x0062], NFKC: [0x0061, 0x05BB, 0x05BC, 0x05BC, 0x05BD, 0x0062], NFKD: [0x0061, 0x05BB, 0x05BC, 0x05BC, 0x05BD, 0x0062] }, -{ source: [0x0061, 0x05BC, 0x05BD, 0x05BC, 0x05BB, 0x0062], NFC: [0x0061, 0x05BB, 0x05BC, 0x05BC, 0x05BD, 0x0062], NFD: [0x0061, 0x05BB, 0x05BC, 0x05BC, 0x05BD, 0x0062], NFKC: [0x0061, 0x05BB, 0x05BC, 0x05BC, 0x05BD, 0x0062], NFKD: [0x0061, 0x05BB, 0x05BC, 0x05BC, 0x05BD, 0x0062] }, -{ source: [0x0061, 0x05BF, 0x05BD, 0x05BC, 0x05BD, 0x0062], NFC: [0x0061, 0x05BC, 0x05BD, 0x05BD, 0x05BF, 0x0062], NFD: [0x0061, 0x05BC, 0x05BD, 0x05BD, 0x05BF, 0x0062], NFKC: [0x0061, 0x05BC, 0x05BD, 0x05BD, 0x05BF, 0x0062], NFKD: [0x0061, 0x05BC, 0x05BD, 0x05BD, 0x05BF, 0x0062] }, -{ source: [0x0061, 0x05BD, 0x05BF, 0x05BD, 0x05BC, 0x0062], NFC: [0x0061, 0x05BC, 0x05BD, 0x05BD, 0x05BF, 0x0062], NFD: [0x0061, 0x05BC, 0x05BD, 0x05BD, 0x05BF, 0x0062], NFKC: [0x0061, 0x05BC, 0x05BD, 0x05BD, 0x05BF, 0x0062], NFKD: [0x0061, 0x05BC, 0x05BD, 0x05BD, 0x05BF, 0x0062] }, -{ source: [0x0061, 0x05C1, 0x05BF, 0x05BD, 0x05BF, 0x0062], NFC: [0x0061, 0x05BD, 0x05BF, 0x05BF, 0x05C1, 0x0062], NFD: [0x0061, 0x05BD, 0x05BF, 0x05BF, 0x05C1, 0x0062], NFKC: [0x0061, 0x05BD, 0x05BF, 0x05BF, 0x05C1, 0x0062], NFKD: [0x0061, 0x05BD, 0x05BF, 0x05BF, 0x05C1, 0x0062] }, -{ source: [0x0061, 0x05BF, 0x05C1, 0x05BF, 0x05BD, 0x0062], NFC: [0x0061, 0x05BD, 0x05BF, 0x05BF, 0x05C1, 0x0062], NFD: [0x0061, 0x05BD, 0x05BF, 0x05BF, 0x05C1, 0x0062], NFKC: [0x0061, 0x05BD, 0x05BF, 0x05BF, 0x05C1, 0x0062], NFKD: [0x0061, 0x05BD, 0x05BF, 0x05BF, 0x05C1, 0x0062] }, -{ source: [0x0061, 0x05C2, 0x05C1, 0x05BF, 0x05C1, 0x0062], NFC: [0x0061, 0x05BF, 0x05C1, 0x05C1, 0x05C2, 0x0062], NFD: [0x0061, 0x05BF, 0x05C1, 0x05C1, 0x05C2, 0x0062], NFKC: [0x0061, 0x05BF, 0x05C1, 0x05C1, 0x05C2, 0x0062], NFKD: [0x0061, 0x05BF, 0x05C1, 0x05C1, 0x05C2, 0x0062] }, -{ source: [0x0061, 0x05C1, 0x05C2, 0x05C1, 0x05BF, 0x0062], NFC: [0x0061, 0x05BF, 0x05C1, 0x05C1, 0x05C2, 0x0062], NFD: [0x0061, 0x05BF, 0x05C1, 0x05C1, 0x05C2, 0x0062], NFKC: [0x0061, 0x05BF, 0x05C1, 0x05C1, 0x05C2, 0x0062], NFKD: [0x0061, 0x05BF, 0x05C1, 0x05C1, 0x05C2, 0x0062] }, -{ source: [0x0061, 0xFB1E, 0x05C2, 0x05C1, 0x05C2, 0x0062], NFC: [0x0061, 0x05C1, 0x05C2, 0x05C2, 0xFB1E, 0x0062], NFD: [0x0061, 0x05C1, 0x05C2, 0x05C2, 0xFB1E, 0x0062], NFKC: [0x0061, 0x05C1, 0x05C2, 0x05C2, 0xFB1E, 0x0062], NFKD: [0x0061, 0x05C1, 0x05C2, 0x05C2, 0xFB1E, 0x0062] }, -{ source: [0x0061, 0x05C2, 0xFB1E, 0x05C2, 0x05C1, 0x0062], NFC: [0x0061, 0x05C1, 0x05C2, 0x05C2, 0xFB1E, 0x0062], NFD: [0x0061, 0x05C1, 0x05C2, 0x05C2, 0xFB1E, 0x0062], NFKC: [0x0061, 0x05C1, 0x05C2, 0x05C2, 0xFB1E, 0x0062], NFKD: [0x0061, 0x05C1, 0x05C2, 0x05C2, 0xFB1E, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x05C4, 0x0062], NFC: [0x00E0, 0x05AE, 0x05C4, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x05C4, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x05C4, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x05C4, 0x0315, 0x0062] }, -{ source: [0x0061, 0x05C4, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x05C4, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x05C4, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x05C4, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x05C4, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x05C5, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x05C5, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x05C5, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x05C5, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x05C5, 0x059A, 0x0062] }, -{ source: [0x0061, 0x05C5, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x05C5, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x05C5, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x05C5, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x05C5, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x05B9, 0x05B8, 0x05B7, 0x05C7, 0x0062], NFC: [0x0061, 0x05B7, 0x05B8, 0x05C7, 0x05B9, 0x0062], NFD: [0x0061, 0x05B7, 0x05B8, 0x05C7, 0x05B9, 0x0062], NFKC: [0x0061, 0x05B7, 0x05B8, 0x05C7, 0x05B9, 0x0062], NFKD: [0x0061, 0x05B7, 0x05B8, 0x05C7, 0x05B9, 0x0062] }, -{ source: [0x0061, 0x05C7, 0x05B9, 0x05B8, 0x05B7, 0x0062], NFC: [0x0061, 0x05B7, 0x05C7, 0x05B8, 0x05B9, 0x0062], NFD: [0x0061, 0x05B7, 0x05C7, 0x05B8, 0x05B9, 0x0062], NFKC: [0x0061, 0x05B7, 0x05C7, 0x05B8, 0x05B9, 0x0062], NFKD: [0x0061, 0x05B7, 0x05C7, 0x05B8, 0x05B9, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x0610, 0x0062], NFC: [0x00E0, 0x05AE, 0x0610, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x0610, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x0610, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x0610, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0610, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x0610, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0610, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x0610, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0610, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x0611, 0x0062], NFC: [0x00E0, 0x05AE, 0x0611, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x0611, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x0611, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x0611, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0611, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x0611, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0611, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x0611, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0611, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x0612, 0x0062], NFC: [0x00E0, 0x05AE, 0x0612, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x0612, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x0612, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x0612, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0612, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x0612, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0612, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x0612, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0612, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x0613, 0x0062], NFC: [0x00E0, 0x05AE, 0x0613, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x0613, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x0613, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x0613, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0613, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x0613, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0613, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x0613, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0613, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x0614, 0x0062], NFC: [0x00E0, 0x05AE, 0x0614, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x0614, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x0614, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x0614, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0614, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x0614, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0614, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x0614, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0614, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x0615, 0x0062], NFC: [0x00E0, 0x05AE, 0x0615, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x0615, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x0615, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x0615, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0615, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x0615, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0615, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x0615, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0615, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x0616, 0x0062], NFC: [0x00E0, 0x05AE, 0x0616, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x0616, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x0616, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x0616, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0616, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x0616, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0616, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x0616, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0616, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x0617, 0x0062], NFC: [0x00E0, 0x05AE, 0x0617, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x0617, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x0617, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x0617, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0617, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x0617, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0617, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x0617, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0617, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0619, 0x0618, 0x064D, 0x0618, 0x0062], NFC: [0x0061, 0x064D, 0x0618, 0x0618, 0x0619, 0x0062], NFD: [0x0061, 0x064D, 0x0618, 0x0618, 0x0619, 0x0062], NFKC: [0x0061, 0x064D, 0x0618, 0x0618, 0x0619, 0x0062], NFKD: [0x0061, 0x064D, 0x0618, 0x0618, 0x0619, 0x0062] }, -{ source: [0x0061, 0x0618, 0x0619, 0x0618, 0x064D, 0x0062], NFC: [0x0061, 0x064D, 0x0618, 0x0618, 0x0619, 0x0062], NFD: [0x0061, 0x064D, 0x0618, 0x0618, 0x0619, 0x0062], NFKC: [0x0061, 0x064D, 0x0618, 0x0618, 0x0619, 0x0062], NFKD: [0x0061, 0x064D, 0x0618, 0x0618, 0x0619, 0x0062] }, -{ source: [0x0061, 0x061A, 0x0619, 0x0618, 0x0619, 0x0062], NFC: [0x0061, 0x0618, 0x0619, 0x0619, 0x061A, 0x0062], NFD: [0x0061, 0x0618, 0x0619, 0x0619, 0x061A, 0x0062], NFKC: [0x0061, 0x0618, 0x0619, 0x0619, 0x061A, 0x0062], NFKD: [0x0061, 0x0618, 0x0619, 0x0619, 0x061A, 0x0062] }, -{ source: [0x0061, 0x0619, 0x061A, 0x0619, 0x0618, 0x0062], NFC: [0x0061, 0x0618, 0x0619, 0x0619, 0x061A, 0x0062], NFD: [0x0061, 0x0618, 0x0619, 0x0619, 0x061A, 0x0062], NFKC: [0x0061, 0x0618, 0x0619, 0x0619, 0x061A, 0x0062], NFKD: [0x0061, 0x0618, 0x0619, 0x0619, 0x061A, 0x0062] }, -{ source: [0x0061, 0x0651, 0x061A, 0x0619, 0x061A, 0x0062], NFC: [0x0061, 0x0619, 0x061A, 0x061A, 0x0651, 0x0062], NFD: [0x0061, 0x0619, 0x061A, 0x061A, 0x0651, 0x0062], NFKC: [0x0061, 0x0619, 0x061A, 0x061A, 0x0651, 0x0062], NFKD: [0x0061, 0x0619, 0x061A, 0x061A, 0x0651, 0x0062] }, -{ source: [0x0061, 0x061A, 0x0651, 0x061A, 0x0619, 0x0062], NFC: [0x0061, 0x0619, 0x061A, 0x061A, 0x0651, 0x0062], NFD: [0x0061, 0x0619, 0x061A, 0x061A, 0x0651, 0x0062], NFKC: [0x0061, 0x0619, 0x061A, 0x061A, 0x0651, 0x0062], NFKD: [0x0061, 0x0619, 0x061A, 0x061A, 0x0651, 0x0062] }, -{ source: [0x0061, 0x064C, 0x064B, 0xFB1E, 0x064B, 0x0062], NFC: [0x0061, 0xFB1E, 0x064B, 0x064B, 0x064C, 0x0062], NFD: [0x0061, 0xFB1E, 0x064B, 0x064B, 0x064C, 0x0062], NFKC: [0x0061, 0xFB1E, 0x064B, 0x064B, 0x064C, 0x0062], NFKD: [0x0061, 0xFB1E, 0x064B, 0x064B, 0x064C, 0x0062] }, -{ source: [0x0061, 0x064B, 0x064C, 0x064B, 0xFB1E, 0x0062], NFC: [0x0061, 0xFB1E, 0x064B, 0x064B, 0x064C, 0x0062], NFD: [0x0061, 0xFB1E, 0x064B, 0x064B, 0x064C, 0x0062], NFKC: [0x0061, 0xFB1E, 0x064B, 0x064B, 0x064C, 0x0062], NFKD: [0x0061, 0xFB1E, 0x064B, 0x064B, 0x064C, 0x0062] }, -{ source: [0x0061, 0x064D, 0x064C, 0x064B, 0x064C, 0x0062], NFC: [0x0061, 0x064B, 0x064C, 0x064C, 0x064D, 0x0062], NFD: [0x0061, 0x064B, 0x064C, 0x064C, 0x064D, 0x0062], NFKC: [0x0061, 0x064B, 0x064C, 0x064C, 0x064D, 0x0062], NFKD: [0x0061, 0x064B, 0x064C, 0x064C, 0x064D, 0x0062] }, -{ source: [0x0061, 0x064C, 0x064D, 0x064C, 0x064B, 0x0062], NFC: [0x0061, 0x064B, 0x064C, 0x064C, 0x064D, 0x0062], NFD: [0x0061, 0x064B, 0x064C, 0x064C, 0x064D, 0x0062], NFKC: [0x0061, 0x064B, 0x064C, 0x064C, 0x064D, 0x0062], NFKD: [0x0061, 0x064B, 0x064C, 0x064C, 0x064D, 0x0062] }, -{ source: [0x0061, 0x0618, 0x064D, 0x064C, 0x064D, 0x0062], NFC: [0x0061, 0x064C, 0x064D, 0x064D, 0x0618, 0x0062], NFD: [0x0061, 0x064C, 0x064D, 0x064D, 0x0618, 0x0062], NFKC: [0x0061, 0x064C, 0x064D, 0x064D, 0x0618, 0x0062], NFKD: [0x0061, 0x064C, 0x064D, 0x064D, 0x0618, 0x0062] }, -{ source: [0x0061, 0x064D, 0x0618, 0x064D, 0x064C, 0x0062], NFC: [0x0061, 0x064C, 0x064D, 0x064D, 0x0618, 0x0062], NFD: [0x0061, 0x064C, 0x064D, 0x064D, 0x0618, 0x0062], NFKC: [0x0061, 0x064C, 0x064D, 0x064D, 0x0618, 0x0062], NFKD: [0x0061, 0x064C, 0x064D, 0x064D, 0x0618, 0x0062] }, -{ source: [0x0061, 0x0619, 0x0618, 0x064D, 0x064E, 0x0062], NFC: [0x0061, 0x064D, 0x0618, 0x064E, 0x0619, 0x0062], NFD: [0x0061, 0x064D, 0x0618, 0x064E, 0x0619, 0x0062], NFKC: [0x0061, 0x064D, 0x0618, 0x064E, 0x0619, 0x0062], NFKD: [0x0061, 0x064D, 0x0618, 0x064E, 0x0619, 0x0062] }, -{ source: [0x0061, 0x064E, 0x0619, 0x0618, 0x064D, 0x0062], NFC: [0x0061, 0x064D, 0x064E, 0x0618, 0x0619, 0x0062], NFD: [0x0061, 0x064D, 0x064E, 0x0618, 0x0619, 0x0062], NFKC: [0x0061, 0x064D, 0x064E, 0x0618, 0x0619, 0x0062], NFKD: [0x0061, 0x064D, 0x064E, 0x0618, 0x0619, 0x0062] }, -{ source: [0x0061, 0x061A, 0x0619, 0x0618, 0x064F, 0x0062], NFC: [0x0061, 0x0618, 0x0619, 0x064F, 0x061A, 0x0062], NFD: [0x0061, 0x0618, 0x0619, 0x064F, 0x061A, 0x0062], NFKC: [0x0061, 0x0618, 0x0619, 0x064F, 0x061A, 0x0062], NFKD: [0x0061, 0x0618, 0x0619, 0x064F, 0x061A, 0x0062] }, -{ source: [0x0061, 0x064F, 0x061A, 0x0619, 0x0618, 0x0062], NFC: [0x0061, 0x0618, 0x064F, 0x0619, 0x061A, 0x0062], NFD: [0x0061, 0x0618, 0x064F, 0x0619, 0x061A, 0x0062], NFKC: [0x0061, 0x0618, 0x064F, 0x0619, 0x061A, 0x0062], NFKD: [0x0061, 0x0618, 0x064F, 0x0619, 0x061A, 0x0062] }, -{ source: [0x0061, 0x0651, 0x061A, 0x0619, 0x0650, 0x0062], NFC: [0x0061, 0x0619, 0x061A, 0x0650, 0x0651, 0x0062], NFD: [0x0061, 0x0619, 0x061A, 0x0650, 0x0651, 0x0062], NFKC: [0x0061, 0x0619, 0x061A, 0x0650, 0x0651, 0x0062], NFKD: [0x0061, 0x0619, 0x061A, 0x0650, 0x0651, 0x0062] }, -{ source: [0x0061, 0x0650, 0x0651, 0x061A, 0x0619, 0x0062], NFC: [0x0061, 0x0619, 0x0650, 0x061A, 0x0651, 0x0062], NFD: [0x0061, 0x0619, 0x0650, 0x061A, 0x0651, 0x0062], NFKC: [0x0061, 0x0619, 0x0650, 0x061A, 0x0651, 0x0062], NFKD: [0x0061, 0x0619, 0x0650, 0x061A, 0x0651, 0x0062] }, -{ source: [0x0061, 0x0652, 0x0651, 0x061A, 0x0651, 0x0062], NFC: [0x0061, 0x061A, 0x0651, 0x0651, 0x0652, 0x0062], NFD: [0x0061, 0x061A, 0x0651, 0x0651, 0x0652, 0x0062], NFKC: [0x0061, 0x061A, 0x0651, 0x0651, 0x0652, 0x0062], NFKD: [0x0061, 0x061A, 0x0651, 0x0651, 0x0652, 0x0062] }, -{ source: [0x0061, 0x0651, 0x0652, 0x0651, 0x061A, 0x0062], NFC: [0x0061, 0x061A, 0x0651, 0x0651, 0x0652, 0x0062], NFD: [0x0061, 0x061A, 0x0651, 0x0651, 0x0652, 0x0062], NFKC: [0x0061, 0x061A, 0x0651, 0x0651, 0x0652, 0x0062], NFKD: [0x0061, 0x061A, 0x0651, 0x0651, 0x0652, 0x0062] }, -{ source: [0x0061, 0x0670, 0x0652, 0x0651, 0x0652, 0x0062], NFC: [0x0061, 0x0651, 0x0652, 0x0652, 0x0670, 0x0062], NFD: [0x0061, 0x0651, 0x0652, 0x0652, 0x0670, 0x0062], NFKC: [0x0061, 0x0651, 0x0652, 0x0652, 0x0670, 0x0062], NFKD: [0x0061, 0x0651, 0x0652, 0x0652, 0x0670, 0x0062] }, -{ source: [0x0061, 0x0652, 0x0670, 0x0652, 0x0651, 0x0062], NFC: [0x0061, 0x0651, 0x0652, 0x0652, 0x0670, 0x0062], NFD: [0x0061, 0x0651, 0x0652, 0x0652, 0x0670, 0x0062], NFKC: [0x0061, 0x0651, 0x0652, 0x0652, 0x0670, 0x0062], NFKD: [0x0061, 0x0651, 0x0652, 0x0652, 0x0670, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x0653, 0x0062], NFC: [0x00E0, 0x05AE, 0x0653, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x0653, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x0653, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x0653, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0653, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x0653, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0653, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x0653, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0653, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x0654, 0x0062], NFC: [0x00E0, 0x05AE, 0x0654, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x0654, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x0654, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x0654, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0654, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x0654, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0654, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x0654, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0654, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x0655, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x0655, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x0655, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x0655, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x0655, 0x059A, 0x0062] }, -{ source: [0x0061, 0x0655, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x0655, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0655, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0655, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0655, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x0656, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x0656, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x0656, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x0656, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x0656, 0x059A, 0x0062] }, -{ source: [0x0061, 0x0656, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x0656, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0656, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0656, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0656, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x0657, 0x0062], NFC: [0x00E0, 0x05AE, 0x0657, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x0657, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x0657, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x0657, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0657, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x0657, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0657, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x0657, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0657, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x0658, 0x0062], NFC: [0x00E0, 0x05AE, 0x0658, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x0658, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x0658, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x0658, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0658, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x0658, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0658, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x0658, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0658, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x0659, 0x0062], NFC: [0x00E0, 0x05AE, 0x0659, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x0659, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x0659, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x0659, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0659, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x0659, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0659, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x0659, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0659, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x065A, 0x0062], NFC: [0x00E0, 0x05AE, 0x065A, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x065A, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x065A, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x065A, 0x0315, 0x0062] }, -{ source: [0x0061, 0x065A, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x065A, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x065A, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x065A, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x065A, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x065B, 0x0062], NFC: [0x00E0, 0x05AE, 0x065B, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x065B, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x065B, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x065B, 0x0315, 0x0062] }, -{ source: [0x0061, 0x065B, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x065B, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x065B, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x065B, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x065B, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x065C, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x065C, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x065C, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x065C, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x065C, 0x059A, 0x0062] }, -{ source: [0x0061, 0x065C, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x065C, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x065C, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x065C, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x065C, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x065D, 0x0062], NFC: [0x00E0, 0x05AE, 0x065D, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x065D, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x065D, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x065D, 0x0315, 0x0062] }, -{ source: [0x0061, 0x065D, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x065D, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x065D, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x065D, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x065D, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x065E, 0x0062], NFC: [0x00E0, 0x05AE, 0x065E, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x065E, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x065E, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x065E, 0x0315, 0x0062] }, -{ source: [0x0061, 0x065E, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x065E, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x065E, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x065E, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x065E, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x065F, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x065F, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x065F, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x065F, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x065F, 0x059A, 0x0062] }, -{ source: [0x0061, 0x065F, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x065F, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x065F, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x065F, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x065F, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x0711, 0x0670, 0x0652, 0x0670, 0x0062], NFC: [0x0061, 0x0652, 0x0670, 0x0670, 0x0711, 0x0062], NFD: [0x0061, 0x0652, 0x0670, 0x0670, 0x0711, 0x0062], NFKC: [0x0061, 0x0652, 0x0670, 0x0670, 0x0711, 0x0062], NFKD: [0x0061, 0x0652, 0x0670, 0x0670, 0x0711, 0x0062] }, -{ source: [0x0061, 0x0670, 0x0711, 0x0670, 0x0652, 0x0062], NFC: [0x0061, 0x0652, 0x0670, 0x0670, 0x0711, 0x0062], NFD: [0x0061, 0x0652, 0x0670, 0x0670, 0x0711, 0x0062], NFKC: [0x0061, 0x0652, 0x0670, 0x0670, 0x0711, 0x0062], NFKD: [0x0061, 0x0652, 0x0670, 0x0670, 0x0711, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x06D6, 0x0062], NFC: [0x00E0, 0x05AE, 0x06D6, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x06D6, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x06D6, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x06D6, 0x0315, 0x0062] }, -{ source: [0x0061, 0x06D6, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x06D6, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x06D6, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x06D6, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x06D6, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x06D7, 0x0062], NFC: [0x00E0, 0x05AE, 0x06D7, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x06D7, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x06D7, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x06D7, 0x0315, 0x0062] }, -{ source: [0x0061, 0x06D7, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x06D7, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x06D7, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x06D7, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x06D7, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x06D8, 0x0062], NFC: [0x00E0, 0x05AE, 0x06D8, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x06D8, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x06D8, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x06D8, 0x0315, 0x0062] }, -{ source: [0x0061, 0x06D8, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x06D8, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x06D8, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x06D8, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x06D8, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x06D9, 0x0062], NFC: [0x00E0, 0x05AE, 0x06D9, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x06D9, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x06D9, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x06D9, 0x0315, 0x0062] }, -{ source: [0x0061, 0x06D9, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x06D9, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x06D9, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x06D9, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x06D9, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x06DA, 0x0062], NFC: [0x00E0, 0x05AE, 0x06DA, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x06DA, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x06DA, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x06DA, 0x0315, 0x0062] }, -{ source: [0x0061, 0x06DA, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x06DA, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x06DA, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x06DA, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x06DA, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x06DB, 0x0062], NFC: [0x00E0, 0x05AE, 0x06DB, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x06DB, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x06DB, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x06DB, 0x0315, 0x0062] }, -{ source: [0x0061, 0x06DB, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x06DB, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x06DB, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x06DB, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x06DB, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x06DC, 0x0062], NFC: [0x00E0, 0x05AE, 0x06DC, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x06DC, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x06DC, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x06DC, 0x0315, 0x0062] }, -{ source: [0x0061, 0x06DC, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x06DC, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x06DC, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x06DC, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x06DC, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x06DF, 0x0062], NFC: [0x00E0, 0x05AE, 0x06DF, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x06DF, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x06DF, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x06DF, 0x0315, 0x0062] }, -{ source: [0x0061, 0x06DF, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x06DF, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x06DF, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x06DF, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x06DF, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x06E0, 0x0062], NFC: [0x00E0, 0x05AE, 0x06E0, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x06E0, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x06E0, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x06E0, 0x0315, 0x0062] }, -{ source: [0x0061, 0x06E0, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x06E0, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x06E0, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x06E0, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x06E0, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x06E1, 0x0062], NFC: [0x00E0, 0x05AE, 0x06E1, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x06E1, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x06E1, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x06E1, 0x0315, 0x0062] }, -{ source: [0x0061, 0x06E1, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x06E1, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x06E1, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x06E1, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x06E1, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x06E2, 0x0062], NFC: [0x00E0, 0x05AE, 0x06E2, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x06E2, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x06E2, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x06E2, 0x0315, 0x0062] }, -{ source: [0x0061, 0x06E2, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x06E2, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x06E2, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x06E2, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x06E2, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x06E3, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x06E3, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x06E3, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x06E3, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x06E3, 0x059A, 0x0062] }, -{ source: [0x0061, 0x06E3, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x06E3, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x06E3, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x06E3, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x06E3, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x06E4, 0x0062], NFC: [0x00E0, 0x05AE, 0x06E4, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x06E4, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x06E4, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x06E4, 0x0315, 0x0062] }, -{ source: [0x0061, 0x06E4, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x06E4, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x06E4, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x06E4, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x06E4, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x06E7, 0x0062], NFC: [0x00E0, 0x05AE, 0x06E7, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x06E7, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x06E7, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x06E7, 0x0315, 0x0062] }, -{ source: [0x0061, 0x06E7, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x06E7, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x06E7, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x06E7, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x06E7, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x06E8, 0x0062], NFC: [0x00E0, 0x05AE, 0x06E8, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x06E8, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x06E8, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x06E8, 0x0315, 0x0062] }, -{ source: [0x0061, 0x06E8, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x06E8, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x06E8, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x06E8, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x06E8, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x06EA, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x06EA, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x06EA, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x06EA, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x06EA, 0x059A, 0x0062] }, -{ source: [0x0061, 0x06EA, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x06EA, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x06EA, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x06EA, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x06EA, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x06EB, 0x0062], NFC: [0x00E0, 0x05AE, 0x06EB, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x06EB, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x06EB, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x06EB, 0x0315, 0x0062] }, -{ source: [0x0061, 0x06EB, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x06EB, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x06EB, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x06EB, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x06EB, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x06EC, 0x0062], NFC: [0x00E0, 0x05AE, 0x06EC, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x06EC, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x06EC, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x06EC, 0x0315, 0x0062] }, -{ source: [0x0061, 0x06EC, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x06EC, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x06EC, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x06EC, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x06EC, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x06ED, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x06ED, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x06ED, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x06ED, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x06ED, 0x059A, 0x0062] }, -{ source: [0x0061, 0x06ED, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x06ED, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x06ED, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x06ED, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x06ED, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x0C55, 0x0711, 0x0670, 0x0711, 0x0062], NFC: [0x0061, 0x0670, 0x0711, 0x0711, 0x0C55, 0x0062], NFD: [0x0061, 0x0670, 0x0711, 0x0711, 0x0C55, 0x0062], NFKC: [0x0061, 0x0670, 0x0711, 0x0711, 0x0C55, 0x0062], NFKD: [0x0061, 0x0670, 0x0711, 0x0711, 0x0C55, 0x0062] }, -{ source: [0x0061, 0x0711, 0x0C55, 0x0711, 0x0670, 0x0062], NFC: [0x0061, 0x0670, 0x0711, 0x0711, 0x0C55, 0x0062], NFD: [0x0061, 0x0670, 0x0711, 0x0711, 0x0C55, 0x0062], NFKC: [0x0061, 0x0670, 0x0711, 0x0711, 0x0C55, 0x0062], NFKD: [0x0061, 0x0670, 0x0711, 0x0711, 0x0C55, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x0730, 0x0062], NFC: [0x00E0, 0x05AE, 0x0730, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x0730, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x0730, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x0730, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0730, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x0730, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0730, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x0730, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0730, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x0731, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x0731, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x0731, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x0731, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x0731, 0x059A, 0x0062] }, -{ source: [0x0061, 0x0731, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x0731, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0731, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0731, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0731, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x0732, 0x0062], NFC: [0x00E0, 0x05AE, 0x0732, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x0732, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x0732, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x0732, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0732, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x0732, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0732, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x0732, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0732, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x0733, 0x0062], NFC: [0x00E0, 0x05AE, 0x0733, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x0733, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x0733, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x0733, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0733, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x0733, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0733, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x0733, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0733, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x0734, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x0734, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x0734, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x0734, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x0734, 0x059A, 0x0062] }, -{ source: [0x0061, 0x0734, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x0734, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0734, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0734, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0734, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x0735, 0x0062], NFC: [0x00E0, 0x05AE, 0x0735, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x0735, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x0735, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x0735, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0735, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x0735, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0735, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x0735, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0735, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x0736, 0x0062], NFC: [0x00E0, 0x05AE, 0x0736, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x0736, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x0736, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x0736, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0736, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x0736, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0736, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x0736, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0736, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x0737, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x0737, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x0737, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x0737, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x0737, 0x059A, 0x0062] }, -{ source: [0x0061, 0x0737, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x0737, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0737, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0737, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0737, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x0738, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x0738, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x0738, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x0738, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x0738, 0x059A, 0x0062] }, -{ source: [0x0061, 0x0738, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x0738, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0738, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0738, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0738, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x0739, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x0739, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x0739, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x0739, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x0739, 0x059A, 0x0062] }, -{ source: [0x0061, 0x0739, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x0739, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0739, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0739, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0739, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x073A, 0x0062], NFC: [0x00E0, 0x05AE, 0x073A, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x073A, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x073A, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x073A, 0x0315, 0x0062] }, -{ source: [0x0061, 0x073A, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x073A, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x073A, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x073A, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x073A, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x073B, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x073B, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x073B, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x073B, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x073B, 0x059A, 0x0062] }, -{ source: [0x0061, 0x073B, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x073B, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x073B, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x073B, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x073B, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x073C, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x073C, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x073C, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x073C, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x073C, 0x059A, 0x0062] }, -{ source: [0x0061, 0x073C, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x073C, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x073C, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x073C, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x073C, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x073D, 0x0062], NFC: [0x00E0, 0x05AE, 0x073D, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x073D, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x073D, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x073D, 0x0315, 0x0062] }, -{ source: [0x0061, 0x073D, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x073D, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x073D, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x073D, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x073D, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x073E, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x073E, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x073E, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x073E, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x073E, 0x059A, 0x0062] }, -{ source: [0x0061, 0x073E, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x073E, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x073E, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x073E, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x073E, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x073F, 0x0062], NFC: [0x00E0, 0x05AE, 0x073F, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x073F, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x073F, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x073F, 0x0315, 0x0062] }, -{ source: [0x0061, 0x073F, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x073F, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x073F, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x073F, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x073F, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x0740, 0x0062], NFC: [0x00E0, 0x05AE, 0x0740, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x0740, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x0740, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x0740, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0740, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x0740, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0740, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x0740, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0740, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x0741, 0x0062], NFC: [0x00E0, 0x05AE, 0x0741, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x0741, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x0741, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x0741, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0741, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x0741, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0741, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x0741, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0741, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x0742, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x0742, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x0742, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x0742, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x0742, 0x059A, 0x0062] }, -{ source: [0x0061, 0x0742, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x0742, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0742, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0742, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0742, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x0743, 0x0062], NFC: [0x00E0, 0x05AE, 0x0743, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x0743, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x0743, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x0743, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0743, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x0743, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0743, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x0743, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0743, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x0744, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x0744, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x0744, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x0744, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x0744, 0x059A, 0x0062] }, -{ source: [0x0061, 0x0744, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x0744, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0744, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0744, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0744, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x0745, 0x0062], NFC: [0x00E0, 0x05AE, 0x0745, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x0745, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x0745, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x0745, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0745, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x0745, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0745, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x0745, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0745, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x0746, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x0746, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x0746, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x0746, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x0746, 0x059A, 0x0062] }, -{ source: [0x0061, 0x0746, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x0746, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0746, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0746, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0746, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x0747, 0x0062], NFC: [0x00E0, 0x05AE, 0x0747, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x0747, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x0747, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x0747, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0747, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x0747, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0747, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x0747, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0747, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x0748, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x0748, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x0748, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x0748, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x0748, 0x059A, 0x0062] }, -{ source: [0x0061, 0x0748, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x0748, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0748, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0748, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0748, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x0749, 0x0062], NFC: [0x00E0, 0x05AE, 0x0749, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x0749, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x0749, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x0749, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0749, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x0749, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0749, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x0749, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0749, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x074A, 0x0062], NFC: [0x00E0, 0x05AE, 0x074A, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x074A, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x074A, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x074A, 0x0315, 0x0062] }, -{ source: [0x0061, 0x074A, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x074A, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x074A, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x074A, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x074A, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x07EB, 0x0062], NFC: [0x00E0, 0x05AE, 0x07EB, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x07EB, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x07EB, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x07EB, 0x0315, 0x0062] }, -{ source: [0x0061, 0x07EB, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x07EB, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x07EB, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x07EB, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x07EB, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x07EC, 0x0062], NFC: [0x00E0, 0x05AE, 0x07EC, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x07EC, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x07EC, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x07EC, 0x0315, 0x0062] }, -{ source: [0x0061, 0x07EC, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x07EC, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x07EC, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x07EC, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x07EC, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x07ED, 0x0062], NFC: [0x00E0, 0x05AE, 0x07ED, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x07ED, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x07ED, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x07ED, 0x0315, 0x0062] }, -{ source: [0x0061, 0x07ED, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x07ED, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x07ED, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x07ED, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x07ED, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x07EE, 0x0062], NFC: [0x00E0, 0x05AE, 0x07EE, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x07EE, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x07EE, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x07EE, 0x0315, 0x0062] }, -{ source: [0x0061, 0x07EE, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x07EE, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x07EE, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x07EE, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x07EE, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x07EF, 0x0062], NFC: [0x00E0, 0x05AE, 0x07EF, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x07EF, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x07EF, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x07EF, 0x0315, 0x0062] }, -{ source: [0x0061, 0x07EF, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x07EF, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x07EF, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x07EF, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x07EF, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x07F0, 0x0062], NFC: [0x00E0, 0x05AE, 0x07F0, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x07F0, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x07F0, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x07F0, 0x0315, 0x0062] }, -{ source: [0x0061, 0x07F0, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x07F0, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x07F0, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x07F0, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x07F0, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x07F1, 0x0062], NFC: [0x00E0, 0x05AE, 0x07F1, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x07F1, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x07F1, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x07F1, 0x0315, 0x0062] }, -{ source: [0x0061, 0x07F1, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x07F1, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x07F1, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x07F1, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x07F1, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x07F2, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x07F2, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x07F2, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x07F2, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x07F2, 0x059A, 0x0062] }, -{ source: [0x0061, 0x07F2, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x07F2, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x07F2, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x07F2, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x07F2, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x07F3, 0x0062], NFC: [0x00E0, 0x05AE, 0x07F3, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x07F3, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x07F3, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x07F3, 0x0315, 0x0062] }, -{ source: [0x0061, 0x07F3, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x07F3, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x07F3, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x07F3, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x07F3, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x07FD, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x07FD, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x07FD, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x07FD, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x07FD, 0x059A, 0x0062] }, -{ source: [0x0061, 0x07FD, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x07FD, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x07FD, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x07FD, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x07FD, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x0816, 0x0062], NFC: [0x00E0, 0x05AE, 0x0816, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x0816, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x0816, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x0816, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0816, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x0816, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0816, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x0816, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0816, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x0817, 0x0062], NFC: [0x00E0, 0x05AE, 0x0817, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x0817, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x0817, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x0817, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0817, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x0817, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0817, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x0817, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0817, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x0818, 0x0062], NFC: [0x00E0, 0x05AE, 0x0818, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x0818, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x0818, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x0818, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0818, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x0818, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0818, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x0818, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0818, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x0819, 0x0062], NFC: [0x00E0, 0x05AE, 0x0819, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x0819, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x0819, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x0819, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0819, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x0819, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0819, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x0819, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0819, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x081B, 0x0062], NFC: [0x00E0, 0x05AE, 0x081B, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x081B, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x081B, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x081B, 0x0315, 0x0062] }, -{ source: [0x0061, 0x081B, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x081B, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x081B, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x081B, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x081B, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x081C, 0x0062], NFC: [0x00E0, 0x05AE, 0x081C, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x081C, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x081C, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x081C, 0x0315, 0x0062] }, -{ source: [0x0061, 0x081C, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x081C, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x081C, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x081C, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x081C, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x081D, 0x0062], NFC: [0x00E0, 0x05AE, 0x081D, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x081D, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x081D, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x081D, 0x0315, 0x0062] }, -{ source: [0x0061, 0x081D, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x081D, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x081D, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x081D, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x081D, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x081E, 0x0062], NFC: [0x00E0, 0x05AE, 0x081E, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x081E, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x081E, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x081E, 0x0315, 0x0062] }, -{ source: [0x0061, 0x081E, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x081E, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x081E, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x081E, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x081E, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x081F, 0x0062], NFC: [0x00E0, 0x05AE, 0x081F, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x081F, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x081F, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x081F, 0x0315, 0x0062] }, -{ source: [0x0061, 0x081F, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x081F, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x081F, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x081F, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x081F, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x0820, 0x0062], NFC: [0x00E0, 0x05AE, 0x0820, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x0820, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x0820, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x0820, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0820, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x0820, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0820, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x0820, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0820, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x0821, 0x0062], NFC: [0x00E0, 0x05AE, 0x0821, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x0821, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x0821, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x0821, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0821, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x0821, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0821, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x0821, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0821, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x0822, 0x0062], NFC: [0x00E0, 0x05AE, 0x0822, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x0822, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x0822, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x0822, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0822, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x0822, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0822, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x0822, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0822, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x0823, 0x0062], NFC: [0x00E0, 0x05AE, 0x0823, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x0823, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x0823, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x0823, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0823, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x0823, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0823, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x0823, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0823, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x0825, 0x0062], NFC: [0x00E0, 0x05AE, 0x0825, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x0825, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x0825, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x0825, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0825, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x0825, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0825, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x0825, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0825, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x0826, 0x0062], NFC: [0x00E0, 0x05AE, 0x0826, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x0826, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x0826, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x0826, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0826, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x0826, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0826, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x0826, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0826, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x0827, 0x0062], NFC: [0x00E0, 0x05AE, 0x0827, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x0827, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x0827, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x0827, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0827, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x0827, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0827, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x0827, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0827, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x0829, 0x0062], NFC: [0x00E0, 0x05AE, 0x0829, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x0829, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x0829, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x0829, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0829, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x0829, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0829, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x0829, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0829, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x082A, 0x0062], NFC: [0x00E0, 0x05AE, 0x082A, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x082A, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x082A, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x082A, 0x0315, 0x0062] }, -{ source: [0x0061, 0x082A, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x082A, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x082A, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x082A, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x082A, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x082B, 0x0062], NFC: [0x00E0, 0x05AE, 0x082B, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x082B, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x082B, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x082B, 0x0315, 0x0062] }, -{ source: [0x0061, 0x082B, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x082B, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x082B, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x082B, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x082B, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x082C, 0x0062], NFC: [0x00E0, 0x05AE, 0x082C, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x082C, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x082C, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x082C, 0x0315, 0x0062] }, -{ source: [0x0061, 0x082C, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x082C, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x082C, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x082C, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x082C, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x082D, 0x0062], NFC: [0x00E0, 0x05AE, 0x082D, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x082D, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x082D, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x082D, 0x0315, 0x0062] }, -{ source: [0x0061, 0x082D, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x082D, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x082D, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x082D, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x082D, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x0859, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x0859, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x0859, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x0859, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x0859, 0x059A, 0x0062] }, -{ source: [0x0061, 0x0859, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x0859, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0859, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0859, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0859, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x085A, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x085A, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x085A, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x085A, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x085A, 0x059A, 0x0062] }, -{ source: [0x0061, 0x085A, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x085A, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x085A, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x085A, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x085A, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x085B, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x085B, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x085B, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x085B, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x085B, 0x059A, 0x0062] }, -{ source: [0x0061, 0x085B, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x085B, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x085B, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x085B, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x085B, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x0897, 0x0062], NFC: [0x00E0, 0x05AE, 0x0897, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x0897, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x0897, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x0897, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0897, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x0897, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0897, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x0897, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0897, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x0898, 0x0062], NFC: [0x00E0, 0x05AE, 0x0898, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x0898, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x0898, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x0898, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0898, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x0898, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0898, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x0898, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0898, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x0899, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x0899, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x0899, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x0899, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x0899, 0x059A, 0x0062] }, -{ source: [0x0061, 0x0899, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x0899, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0899, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0899, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0899, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x089A, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x089A, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x089A, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x089A, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x089A, 0x059A, 0x0062] }, -{ source: [0x0061, 0x089A, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x089A, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x089A, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x089A, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x089A, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x089B, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x089B, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x089B, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x089B, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x089B, 0x059A, 0x0062] }, -{ source: [0x0061, 0x089B, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x089B, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x089B, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x089B, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x089B, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x089C, 0x0062], NFC: [0x00E0, 0x05AE, 0x089C, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x089C, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x089C, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x089C, 0x0315, 0x0062] }, -{ source: [0x0061, 0x089C, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x089C, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x089C, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x089C, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x089C, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x089D, 0x0062], NFC: [0x00E0, 0x05AE, 0x089D, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x089D, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x089D, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x089D, 0x0315, 0x0062] }, -{ source: [0x0061, 0x089D, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x089D, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x089D, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x089D, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x089D, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x089E, 0x0062], NFC: [0x00E0, 0x05AE, 0x089E, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x089E, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x089E, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x089E, 0x0315, 0x0062] }, -{ source: [0x0061, 0x089E, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x089E, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x089E, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x089E, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x089E, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x089F, 0x0062], NFC: [0x00E0, 0x05AE, 0x089F, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x089F, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x089F, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x089F, 0x0315, 0x0062] }, -{ source: [0x0061, 0x089F, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x089F, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x089F, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x089F, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x089F, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x08CA, 0x0062], NFC: [0x00E0, 0x05AE, 0x08CA, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x08CA, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x08CA, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x08CA, 0x0315, 0x0062] }, -{ source: [0x0061, 0x08CA, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x08CA, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x08CA, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x08CA, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x08CA, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x08CB, 0x0062], NFC: [0x00E0, 0x05AE, 0x08CB, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x08CB, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x08CB, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x08CB, 0x0315, 0x0062] }, -{ source: [0x0061, 0x08CB, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x08CB, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x08CB, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x08CB, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x08CB, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x08CC, 0x0062], NFC: [0x00E0, 0x05AE, 0x08CC, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x08CC, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x08CC, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x08CC, 0x0315, 0x0062] }, -{ source: [0x0061, 0x08CC, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x08CC, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x08CC, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x08CC, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x08CC, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x08CD, 0x0062], NFC: [0x00E0, 0x05AE, 0x08CD, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x08CD, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x08CD, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x08CD, 0x0315, 0x0062] }, -{ source: [0x0061, 0x08CD, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x08CD, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x08CD, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x08CD, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x08CD, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x08CE, 0x0062], NFC: [0x00E0, 0x05AE, 0x08CE, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x08CE, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x08CE, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x08CE, 0x0315, 0x0062] }, -{ source: [0x0061, 0x08CE, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x08CE, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x08CE, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x08CE, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x08CE, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x08CF, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x08CF, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x08CF, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x08CF, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x08CF, 0x059A, 0x0062] }, -{ source: [0x0061, 0x08CF, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x08CF, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x08CF, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x08CF, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x08CF, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x08D0, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x08D0, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x08D0, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x08D0, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x08D0, 0x059A, 0x0062] }, -{ source: [0x0061, 0x08D0, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x08D0, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x08D0, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x08D0, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x08D0, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x08D1, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x08D1, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x08D1, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x08D1, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x08D1, 0x059A, 0x0062] }, -{ source: [0x0061, 0x08D1, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x08D1, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x08D1, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x08D1, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x08D1, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x08D2, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x08D2, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x08D2, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x08D2, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x08D2, 0x059A, 0x0062] }, -{ source: [0x0061, 0x08D2, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x08D2, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x08D2, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x08D2, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x08D2, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x08D3, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x08D3, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x08D3, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x08D3, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x08D3, 0x059A, 0x0062] }, -{ source: [0x0061, 0x08D3, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x08D3, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x08D3, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x08D3, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x08D3, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x08D4, 0x0062], NFC: [0x00E0, 0x05AE, 0x08D4, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x08D4, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x08D4, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x08D4, 0x0315, 0x0062] }, -{ source: [0x0061, 0x08D4, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x08D4, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x08D4, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x08D4, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x08D4, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x08D5, 0x0062], NFC: [0x00E0, 0x05AE, 0x08D5, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x08D5, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x08D5, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x08D5, 0x0315, 0x0062] }, -{ source: [0x0061, 0x08D5, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x08D5, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x08D5, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x08D5, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x08D5, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x08D6, 0x0062], NFC: [0x00E0, 0x05AE, 0x08D6, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x08D6, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x08D6, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x08D6, 0x0315, 0x0062] }, -{ source: [0x0061, 0x08D6, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x08D6, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x08D6, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x08D6, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x08D6, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x08D7, 0x0062], NFC: [0x00E0, 0x05AE, 0x08D7, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x08D7, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x08D7, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x08D7, 0x0315, 0x0062] }, -{ source: [0x0061, 0x08D7, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x08D7, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x08D7, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x08D7, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x08D7, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x08D8, 0x0062], NFC: [0x00E0, 0x05AE, 0x08D8, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x08D8, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x08D8, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x08D8, 0x0315, 0x0062] }, -{ source: [0x0061, 0x08D8, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x08D8, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x08D8, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x08D8, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x08D8, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x08D9, 0x0062], NFC: [0x00E0, 0x05AE, 0x08D9, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x08D9, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x08D9, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x08D9, 0x0315, 0x0062] }, -{ source: [0x0061, 0x08D9, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x08D9, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x08D9, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x08D9, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x08D9, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x08DA, 0x0062], NFC: [0x00E0, 0x05AE, 0x08DA, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x08DA, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x08DA, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x08DA, 0x0315, 0x0062] }, -{ source: [0x0061, 0x08DA, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x08DA, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x08DA, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x08DA, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x08DA, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x08DB, 0x0062], NFC: [0x00E0, 0x05AE, 0x08DB, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x08DB, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x08DB, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x08DB, 0x0315, 0x0062] }, -{ source: [0x0061, 0x08DB, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x08DB, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x08DB, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x08DB, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x08DB, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x08DC, 0x0062], NFC: [0x00E0, 0x05AE, 0x08DC, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x08DC, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x08DC, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x08DC, 0x0315, 0x0062] }, -{ source: [0x0061, 0x08DC, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x08DC, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x08DC, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x08DC, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x08DC, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x08DD, 0x0062], NFC: [0x00E0, 0x05AE, 0x08DD, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x08DD, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x08DD, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x08DD, 0x0315, 0x0062] }, -{ source: [0x0061, 0x08DD, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x08DD, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x08DD, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x08DD, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x08DD, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x08DE, 0x0062], NFC: [0x00E0, 0x05AE, 0x08DE, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x08DE, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x08DE, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x08DE, 0x0315, 0x0062] }, -{ source: [0x0061, 0x08DE, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x08DE, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x08DE, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x08DE, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x08DE, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x08DF, 0x0062], NFC: [0x00E0, 0x05AE, 0x08DF, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x08DF, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x08DF, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x08DF, 0x0315, 0x0062] }, -{ source: [0x0061, 0x08DF, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x08DF, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x08DF, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x08DF, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x08DF, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x08E0, 0x0062], NFC: [0x00E0, 0x05AE, 0x08E0, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x08E0, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x08E0, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x08E0, 0x0315, 0x0062] }, -{ source: [0x0061, 0x08E0, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x08E0, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x08E0, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x08E0, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x08E0, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x08E1, 0x0062], NFC: [0x00E0, 0x05AE, 0x08E1, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x08E1, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x08E1, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x08E1, 0x0315, 0x0062] }, -{ source: [0x0061, 0x08E1, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x08E1, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x08E1, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x08E1, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x08E1, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x08E3, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x08E3, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x08E3, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x08E3, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x08E3, 0x059A, 0x0062] }, -{ source: [0x0061, 0x08E3, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x08E3, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x08E3, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x08E3, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x08E3, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x08E4, 0x0062], NFC: [0x00E0, 0x05AE, 0x08E4, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x08E4, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x08E4, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x08E4, 0x0315, 0x0062] }, -{ source: [0x0061, 0x08E4, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x08E4, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x08E4, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x08E4, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x08E4, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x08E5, 0x0062], NFC: [0x00E0, 0x05AE, 0x08E5, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x08E5, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x08E5, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x08E5, 0x0315, 0x0062] }, -{ source: [0x0061, 0x08E5, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x08E5, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x08E5, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x08E5, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x08E5, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x08E6, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x08E6, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x08E6, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x08E6, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x08E6, 0x059A, 0x0062] }, -{ source: [0x0061, 0x08E6, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x08E6, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x08E6, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x08E6, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x08E6, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x08E7, 0x0062], NFC: [0x00E0, 0x05AE, 0x08E7, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x08E7, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x08E7, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x08E7, 0x0315, 0x0062] }, -{ source: [0x0061, 0x08E7, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x08E7, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x08E7, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x08E7, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x08E7, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x08E8, 0x0062], NFC: [0x00E0, 0x05AE, 0x08E8, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x08E8, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x08E8, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x08E8, 0x0315, 0x0062] }, -{ source: [0x0061, 0x08E8, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x08E8, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x08E8, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x08E8, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x08E8, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x08E9, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x08E9, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x08E9, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x08E9, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x08E9, 0x059A, 0x0062] }, -{ source: [0x0061, 0x08E9, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x08E9, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x08E9, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x08E9, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x08E9, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x08EA, 0x0062], NFC: [0x00E0, 0x05AE, 0x08EA, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x08EA, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x08EA, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x08EA, 0x0315, 0x0062] }, -{ source: [0x0061, 0x08EA, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x08EA, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x08EA, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x08EA, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x08EA, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x08EB, 0x0062], NFC: [0x00E0, 0x05AE, 0x08EB, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x08EB, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x08EB, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x08EB, 0x0315, 0x0062] }, -{ source: [0x0061, 0x08EB, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x08EB, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x08EB, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x08EB, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x08EB, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x08EC, 0x0062], NFC: [0x00E0, 0x05AE, 0x08EC, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x08EC, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x08EC, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x08EC, 0x0315, 0x0062] }, -{ source: [0x0061, 0x08EC, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x08EC, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x08EC, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x08EC, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x08EC, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x08ED, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x08ED, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x08ED, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x08ED, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x08ED, 0x059A, 0x0062] }, -{ source: [0x0061, 0x08ED, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x08ED, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x08ED, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x08ED, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x08ED, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x08EE, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x08EE, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x08EE, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x08EE, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x08EE, 0x059A, 0x0062] }, -{ source: [0x0061, 0x08EE, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x08EE, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x08EE, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x08EE, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x08EE, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x08EF, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x08EF, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x08EF, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x08EF, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x08EF, 0x059A, 0x0062] }, -{ source: [0x0061, 0x08EF, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x08EF, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x08EF, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x08EF, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x08EF, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x064C, 0x064B, 0xFB1E, 0x08F0, 0x0062], NFC: [0x0061, 0xFB1E, 0x064B, 0x08F0, 0x064C, 0x0062], NFD: [0x0061, 0xFB1E, 0x064B, 0x08F0, 0x064C, 0x0062], NFKC: [0x0061, 0xFB1E, 0x064B, 0x08F0, 0x064C, 0x0062], NFKD: [0x0061, 0xFB1E, 0x064B, 0x08F0, 0x064C, 0x0062] }, -{ source: [0x0061, 0x08F0, 0x064C, 0x064B, 0xFB1E, 0x0062], NFC: [0x0061, 0xFB1E, 0x08F0, 0x064B, 0x064C, 0x0062], NFD: [0x0061, 0xFB1E, 0x08F0, 0x064B, 0x064C, 0x0062], NFKC: [0x0061, 0xFB1E, 0x08F0, 0x064B, 0x064C, 0x0062], NFKD: [0x0061, 0xFB1E, 0x08F0, 0x064B, 0x064C, 0x0062] }, -{ source: [0x0061, 0x064D, 0x064C, 0x064B, 0x08F1, 0x0062], NFC: [0x0061, 0x064B, 0x064C, 0x08F1, 0x064D, 0x0062], NFD: [0x0061, 0x064B, 0x064C, 0x08F1, 0x064D, 0x0062], NFKC: [0x0061, 0x064B, 0x064C, 0x08F1, 0x064D, 0x0062], NFKD: [0x0061, 0x064B, 0x064C, 0x08F1, 0x064D, 0x0062] }, -{ source: [0x0061, 0x08F1, 0x064D, 0x064C, 0x064B, 0x0062], NFC: [0x0061, 0x064B, 0x08F1, 0x064C, 0x064D, 0x0062], NFD: [0x0061, 0x064B, 0x08F1, 0x064C, 0x064D, 0x0062], NFKC: [0x0061, 0x064B, 0x08F1, 0x064C, 0x064D, 0x0062], NFKD: [0x0061, 0x064B, 0x08F1, 0x064C, 0x064D, 0x0062] }, -{ source: [0x0061, 0x0618, 0x064D, 0x064C, 0x08F2, 0x0062], NFC: [0x0061, 0x064C, 0x064D, 0x08F2, 0x0618, 0x0062], NFD: [0x0061, 0x064C, 0x064D, 0x08F2, 0x0618, 0x0062], NFKC: [0x0061, 0x064C, 0x064D, 0x08F2, 0x0618, 0x0062], NFKD: [0x0061, 0x064C, 0x064D, 0x08F2, 0x0618, 0x0062] }, -{ source: [0x0061, 0x08F2, 0x0618, 0x064D, 0x064C, 0x0062], NFC: [0x0061, 0x064C, 0x08F2, 0x064D, 0x0618, 0x0062], NFD: [0x0061, 0x064C, 0x08F2, 0x064D, 0x0618, 0x0062], NFKC: [0x0061, 0x064C, 0x08F2, 0x064D, 0x0618, 0x0062], NFKD: [0x0061, 0x064C, 0x08F2, 0x064D, 0x0618, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x08F3, 0x0062], NFC: [0x00E0, 0x05AE, 0x08F3, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x08F3, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x08F3, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x08F3, 0x0315, 0x0062] }, -{ source: [0x0061, 0x08F3, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x08F3, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x08F3, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x08F3, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x08F3, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x08F4, 0x0062], NFC: [0x00E0, 0x05AE, 0x08F4, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x08F4, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x08F4, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x08F4, 0x0315, 0x0062] }, -{ source: [0x0061, 0x08F4, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x08F4, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x08F4, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x08F4, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x08F4, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x08F5, 0x0062], NFC: [0x00E0, 0x05AE, 0x08F5, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x08F5, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x08F5, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x08F5, 0x0315, 0x0062] }, -{ source: [0x0061, 0x08F5, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x08F5, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x08F5, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x08F5, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x08F5, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x08F6, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x08F6, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x08F6, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x08F6, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x08F6, 0x059A, 0x0062] }, -{ source: [0x0061, 0x08F6, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x08F6, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x08F6, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x08F6, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x08F6, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x08F7, 0x0062], NFC: [0x00E0, 0x05AE, 0x08F7, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x08F7, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x08F7, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x08F7, 0x0315, 0x0062] }, -{ source: [0x0061, 0x08F7, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x08F7, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x08F7, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x08F7, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x08F7, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x08F8, 0x0062], NFC: [0x00E0, 0x05AE, 0x08F8, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x08F8, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x08F8, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x08F8, 0x0315, 0x0062] }, -{ source: [0x0061, 0x08F8, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x08F8, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x08F8, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x08F8, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x08F8, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x08F9, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x08F9, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x08F9, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x08F9, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x08F9, 0x059A, 0x0062] }, -{ source: [0x0061, 0x08F9, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x08F9, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x08F9, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x08F9, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x08F9, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x08FA, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x08FA, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x08FA, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x08FA, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x08FA, 0x059A, 0x0062] }, -{ source: [0x0061, 0x08FA, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x08FA, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x08FA, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x08FA, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x08FA, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x08FB, 0x0062], NFC: [0x00E0, 0x05AE, 0x08FB, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x08FB, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x08FB, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x08FB, 0x0315, 0x0062] }, -{ source: [0x0061, 0x08FB, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x08FB, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x08FB, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x08FB, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x08FB, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x08FC, 0x0062], NFC: [0x00E0, 0x05AE, 0x08FC, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x08FC, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x08FC, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x08FC, 0x0315, 0x0062] }, -{ source: [0x0061, 0x08FC, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x08FC, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x08FC, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x08FC, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x08FC, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x08FD, 0x0062], NFC: [0x00E0, 0x05AE, 0x08FD, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x08FD, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x08FD, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x08FD, 0x0315, 0x0062] }, -{ source: [0x0061, 0x08FD, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x08FD, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x08FD, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x08FD, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x08FD, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x08FE, 0x0062], NFC: [0x00E0, 0x05AE, 0x08FE, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x08FE, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x08FE, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x08FE, 0x0315, 0x0062] }, -{ source: [0x0061, 0x08FE, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x08FE, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x08FE, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x08FE, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x08FE, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x08FF, 0x0062], NFC: [0x00E0, 0x05AE, 0x08FF, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x08FF, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x08FF, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x08FF, 0x0315, 0x0062] }, -{ source: [0x0061, 0x08FF, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x08FF, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x08FF, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x08FF, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x08FF, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x3099, 0x093C, 0x16FF0, 0x093C, 0x0062], NFC: [0x0061, 0x16FF0, 0x093C, 0x093C, 0x3099, 0x0062], NFD: [0x0061, 0x16FF0, 0x093C, 0x093C, 0x3099, 0x0062], NFKC: [0x0061, 0x16FF0, 0x093C, 0x093C, 0x3099, 0x0062], NFKD: [0x0061, 0x16FF0, 0x093C, 0x093C, 0x3099, 0x0062] }, -{ source: [0x0061, 0x093C, 0x3099, 0x093C, 0x16FF0, 0x0062], NFC: [0x0061, 0x16FF0, 0x093C, 0x093C, 0x3099, 0x0062], NFD: [0x0061, 0x16FF0, 0x093C, 0x093C, 0x3099, 0x0062], NFKC: [0x0061, 0x16FF0, 0x093C, 0x093C, 0x3099, 0x0062], NFKD: [0x0061, 0x16FF0, 0x093C, 0x093C, 0x3099, 0x0062] }, -{ source: [0x0061, 0x05B0, 0x094D, 0x3099, 0x094D, 0x0062], NFC: [0x0061, 0x3099, 0x094D, 0x094D, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x094D, 0x094D, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x094D, 0x094D, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x094D, 0x094D, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x094D, 0x05B0, 0x094D, 0x3099, 0x0062], NFC: [0x0061, 0x3099, 0x094D, 0x094D, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x094D, 0x094D, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x094D, 0x094D, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x094D, 0x094D, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x0951, 0x0062], NFC: [0x00E0, 0x05AE, 0x0951, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x0951, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x0951, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x0951, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0951, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x0951, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0951, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x0951, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0951, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x0952, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x0952, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x0952, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x0952, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x0952, 0x059A, 0x0062] }, -{ source: [0x0061, 0x0952, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x0952, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0952, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0952, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0952, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x0953, 0x0062], NFC: [0x00E0, 0x05AE, 0x0953, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x0953, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x0953, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x0953, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0953, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x0953, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0953, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x0953, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0953, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x0954, 0x0062], NFC: [0x00E0, 0x05AE, 0x0954, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x0954, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x0954, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x0954, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0954, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x0954, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0954, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x0954, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0954, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x3099, 0x093C, 0x16FF0, 0x09BC, 0x0062], NFC: [0x0061, 0x16FF0, 0x093C, 0x09BC, 0x3099, 0x0062], NFD: [0x0061, 0x16FF0, 0x093C, 0x09BC, 0x3099, 0x0062], NFKC: [0x0061, 0x16FF0, 0x093C, 0x09BC, 0x3099, 0x0062], NFKD: [0x0061, 0x16FF0, 0x093C, 0x09BC, 0x3099, 0x0062] }, -{ source: [0x0061, 0x09BC, 0x3099, 0x093C, 0x16FF0, 0x0062], NFC: [0x0061, 0x16FF0, 0x09BC, 0x093C, 0x3099, 0x0062], NFD: [0x0061, 0x16FF0, 0x09BC, 0x093C, 0x3099, 0x0062], NFKC: [0x0061, 0x16FF0, 0x09BC, 0x093C, 0x3099, 0x0062], NFKD: [0x0061, 0x16FF0, 0x09BC, 0x093C, 0x3099, 0x0062] }, -{ source: [0x0061, 0x05B0, 0x094D, 0x3099, 0x09CD, 0x0062], NFC: [0x0061, 0x3099, 0x094D, 0x09CD, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x094D, 0x09CD, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x094D, 0x09CD, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x094D, 0x09CD, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x09CD, 0x05B0, 0x094D, 0x3099, 0x0062], NFC: [0x0061, 0x3099, 0x09CD, 0x094D, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x09CD, 0x094D, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x09CD, 0x094D, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x09CD, 0x094D, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x09FE, 0x0062], NFC: [0x00E0, 0x05AE, 0x09FE, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x09FE, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x09FE, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x09FE, 0x0315, 0x0062] }, -{ source: [0x0061, 0x09FE, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x09FE, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x09FE, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x09FE, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x09FE, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x3099, 0x093C, 0x16FF0, 0x0A3C, 0x0062], NFC: [0x0061, 0x16FF0, 0x093C, 0x0A3C, 0x3099, 0x0062], NFD: [0x0061, 0x16FF0, 0x093C, 0x0A3C, 0x3099, 0x0062], NFKC: [0x0061, 0x16FF0, 0x093C, 0x0A3C, 0x3099, 0x0062], NFKD: [0x0061, 0x16FF0, 0x093C, 0x0A3C, 0x3099, 0x0062] }, -{ source: [0x0061, 0x0A3C, 0x3099, 0x093C, 0x16FF0, 0x0062], NFC: [0x0061, 0x16FF0, 0x0A3C, 0x093C, 0x3099, 0x0062], NFD: [0x0061, 0x16FF0, 0x0A3C, 0x093C, 0x3099, 0x0062], NFKC: [0x0061, 0x16FF0, 0x0A3C, 0x093C, 0x3099, 0x0062], NFKD: [0x0061, 0x16FF0, 0x0A3C, 0x093C, 0x3099, 0x0062] }, -{ source: [0x0061, 0x05B0, 0x094D, 0x3099, 0x0A4D, 0x0062], NFC: [0x0061, 0x3099, 0x094D, 0x0A4D, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x094D, 0x0A4D, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x094D, 0x0A4D, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x094D, 0x0A4D, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x0A4D, 0x05B0, 0x094D, 0x3099, 0x0062], NFC: [0x0061, 0x3099, 0x0A4D, 0x094D, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x0A4D, 0x094D, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x0A4D, 0x094D, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x0A4D, 0x094D, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x3099, 0x093C, 0x16FF0, 0x0ABC, 0x0062], NFC: [0x0061, 0x16FF0, 0x093C, 0x0ABC, 0x3099, 0x0062], NFD: [0x0061, 0x16FF0, 0x093C, 0x0ABC, 0x3099, 0x0062], NFKC: [0x0061, 0x16FF0, 0x093C, 0x0ABC, 0x3099, 0x0062], NFKD: [0x0061, 0x16FF0, 0x093C, 0x0ABC, 0x3099, 0x0062] }, -{ source: [0x0061, 0x0ABC, 0x3099, 0x093C, 0x16FF0, 0x0062], NFC: [0x0061, 0x16FF0, 0x0ABC, 0x093C, 0x3099, 0x0062], NFD: [0x0061, 0x16FF0, 0x0ABC, 0x093C, 0x3099, 0x0062], NFKC: [0x0061, 0x16FF0, 0x0ABC, 0x093C, 0x3099, 0x0062], NFKD: [0x0061, 0x16FF0, 0x0ABC, 0x093C, 0x3099, 0x0062] }, -{ source: [0x0061, 0x05B0, 0x094D, 0x3099, 0x0ACD, 0x0062], NFC: [0x0061, 0x3099, 0x094D, 0x0ACD, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x094D, 0x0ACD, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x094D, 0x0ACD, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x094D, 0x0ACD, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x0ACD, 0x05B0, 0x094D, 0x3099, 0x0062], NFC: [0x0061, 0x3099, 0x0ACD, 0x094D, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x0ACD, 0x094D, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x0ACD, 0x094D, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x0ACD, 0x094D, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x3099, 0x093C, 0x16FF0, 0x0B3C, 0x0062], NFC: [0x0061, 0x16FF0, 0x093C, 0x0B3C, 0x3099, 0x0062], NFD: [0x0061, 0x16FF0, 0x093C, 0x0B3C, 0x3099, 0x0062], NFKC: [0x0061, 0x16FF0, 0x093C, 0x0B3C, 0x3099, 0x0062], NFKD: [0x0061, 0x16FF0, 0x093C, 0x0B3C, 0x3099, 0x0062] }, -{ source: [0x0061, 0x0B3C, 0x3099, 0x093C, 0x16FF0, 0x0062], NFC: [0x0061, 0x16FF0, 0x0B3C, 0x093C, 0x3099, 0x0062], NFD: [0x0061, 0x16FF0, 0x0B3C, 0x093C, 0x3099, 0x0062], NFKC: [0x0061, 0x16FF0, 0x0B3C, 0x093C, 0x3099, 0x0062], NFKD: [0x0061, 0x16FF0, 0x0B3C, 0x093C, 0x3099, 0x0062] }, -{ source: [0x0061, 0x05B0, 0x094D, 0x3099, 0x0B4D, 0x0062], NFC: [0x0061, 0x3099, 0x094D, 0x0B4D, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x094D, 0x0B4D, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x094D, 0x0B4D, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x094D, 0x0B4D, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x0B4D, 0x05B0, 0x094D, 0x3099, 0x0062], NFC: [0x0061, 0x3099, 0x0B4D, 0x094D, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x0B4D, 0x094D, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x0B4D, 0x094D, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x0B4D, 0x094D, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x05B0, 0x094D, 0x3099, 0x0BCD, 0x0062], NFC: [0x0061, 0x3099, 0x094D, 0x0BCD, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x094D, 0x0BCD, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x094D, 0x0BCD, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x094D, 0x0BCD, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x0BCD, 0x05B0, 0x094D, 0x3099, 0x0062], NFC: [0x0061, 0x3099, 0x0BCD, 0x094D, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x0BCD, 0x094D, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x0BCD, 0x094D, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x0BCD, 0x094D, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x3099, 0x093C, 0x16FF0, 0x0C3C, 0x0062], NFC: [0x0061, 0x16FF0, 0x093C, 0x0C3C, 0x3099, 0x0062], NFD: [0x0061, 0x16FF0, 0x093C, 0x0C3C, 0x3099, 0x0062], NFKC: [0x0061, 0x16FF0, 0x093C, 0x0C3C, 0x3099, 0x0062], NFKD: [0x0061, 0x16FF0, 0x093C, 0x0C3C, 0x3099, 0x0062] }, -{ source: [0x0061, 0x0C3C, 0x3099, 0x093C, 0x16FF0, 0x0062], NFC: [0x0061, 0x16FF0, 0x0C3C, 0x093C, 0x3099, 0x0062], NFD: [0x0061, 0x16FF0, 0x0C3C, 0x093C, 0x3099, 0x0062], NFKC: [0x0061, 0x16FF0, 0x0C3C, 0x093C, 0x3099, 0x0062], NFKD: [0x0061, 0x16FF0, 0x0C3C, 0x093C, 0x3099, 0x0062] }, -{ source: [0x0061, 0x05B0, 0x094D, 0x3099, 0x0C4D, 0x0062], NFC: [0x0061, 0x3099, 0x094D, 0x0C4D, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x094D, 0x0C4D, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x094D, 0x0C4D, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x094D, 0x0C4D, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x0C4D, 0x05B0, 0x094D, 0x3099, 0x0062], NFC: [0x0061, 0x3099, 0x0C4D, 0x094D, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x0C4D, 0x094D, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x0C4D, 0x094D, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x0C4D, 0x094D, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x0C56, 0x0C55, 0x0711, 0x0C55, 0x0062], NFC: [0x0061, 0x0711, 0x0C55, 0x0C55, 0x0C56, 0x0062], NFD: [0x0061, 0x0711, 0x0C55, 0x0C55, 0x0C56, 0x0062], NFKC: [0x0061, 0x0711, 0x0C55, 0x0C55, 0x0C56, 0x0062], NFKD: [0x0061, 0x0711, 0x0C55, 0x0C55, 0x0C56, 0x0062] }, -{ source: [0x0061, 0x0C55, 0x0C56, 0x0C55, 0x0711, 0x0062], NFC: [0x0061, 0x0711, 0x0C55, 0x0C55, 0x0C56, 0x0062], NFD: [0x0061, 0x0711, 0x0C55, 0x0C55, 0x0C56, 0x0062], NFKC: [0x0061, 0x0711, 0x0C55, 0x0C55, 0x0C56, 0x0062], NFKD: [0x0061, 0x0711, 0x0C55, 0x0C55, 0x0C56, 0x0062] }, -{ source: [0x0061, 0x0E38, 0x0C56, 0x0C55, 0x0C56, 0x0062], NFC: [0x0061, 0x0C55, 0x0C56, 0x0C56, 0x0E38, 0x0062], NFD: [0x0061, 0x0C55, 0x0C56, 0x0C56, 0x0E38, 0x0062], NFKC: [0x0061, 0x0C55, 0x0C56, 0x0C56, 0x0E38, 0x0062], NFKD: [0x0061, 0x0C55, 0x0C56, 0x0C56, 0x0E38, 0x0062] }, -{ source: [0x0061, 0x0C56, 0x0E38, 0x0C56, 0x0C55, 0x0062], NFC: [0x0061, 0x0C55, 0x0C56, 0x0C56, 0x0E38, 0x0062], NFD: [0x0061, 0x0C55, 0x0C56, 0x0C56, 0x0E38, 0x0062], NFKC: [0x0061, 0x0C55, 0x0C56, 0x0C56, 0x0E38, 0x0062], NFKD: [0x0061, 0x0C55, 0x0C56, 0x0C56, 0x0E38, 0x0062] }, -{ source: [0x0061, 0x3099, 0x093C, 0x16FF0, 0x0CBC, 0x0062], NFC: [0x0061, 0x16FF0, 0x093C, 0x0CBC, 0x3099, 0x0062], NFD: [0x0061, 0x16FF0, 0x093C, 0x0CBC, 0x3099, 0x0062], NFKC: [0x0061, 0x16FF0, 0x093C, 0x0CBC, 0x3099, 0x0062], NFKD: [0x0061, 0x16FF0, 0x093C, 0x0CBC, 0x3099, 0x0062] }, -{ source: [0x0061, 0x0CBC, 0x3099, 0x093C, 0x16FF0, 0x0062], NFC: [0x0061, 0x16FF0, 0x0CBC, 0x093C, 0x3099, 0x0062], NFD: [0x0061, 0x16FF0, 0x0CBC, 0x093C, 0x3099, 0x0062], NFKC: [0x0061, 0x16FF0, 0x0CBC, 0x093C, 0x3099, 0x0062], NFKD: [0x0061, 0x16FF0, 0x0CBC, 0x093C, 0x3099, 0x0062] }, -{ source: [0x0061, 0x05B0, 0x094D, 0x3099, 0x0CCD, 0x0062], NFC: [0x0061, 0x3099, 0x094D, 0x0CCD, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x094D, 0x0CCD, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x094D, 0x0CCD, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x094D, 0x0CCD, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x0CCD, 0x05B0, 0x094D, 0x3099, 0x0062], NFC: [0x0061, 0x3099, 0x0CCD, 0x094D, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x0CCD, 0x094D, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x0CCD, 0x094D, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x0CCD, 0x094D, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x05B0, 0x094D, 0x3099, 0x0D3B, 0x0062], NFC: [0x0061, 0x3099, 0x094D, 0x0D3B, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x094D, 0x0D3B, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x094D, 0x0D3B, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x094D, 0x0D3B, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x0D3B, 0x05B0, 0x094D, 0x3099, 0x0062], NFC: [0x0061, 0x3099, 0x0D3B, 0x094D, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x0D3B, 0x094D, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x0D3B, 0x094D, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x0D3B, 0x094D, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x05B0, 0x094D, 0x3099, 0x0D3C, 0x0062], NFC: [0x0061, 0x3099, 0x094D, 0x0D3C, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x094D, 0x0D3C, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x094D, 0x0D3C, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x094D, 0x0D3C, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x0D3C, 0x05B0, 0x094D, 0x3099, 0x0062], NFC: [0x0061, 0x3099, 0x0D3C, 0x094D, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x0D3C, 0x094D, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x0D3C, 0x094D, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x0D3C, 0x094D, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x05B0, 0x094D, 0x3099, 0x0D4D, 0x0062], NFC: [0x0061, 0x3099, 0x094D, 0x0D4D, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x094D, 0x0D4D, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x094D, 0x0D4D, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x094D, 0x0D4D, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x0D4D, 0x05B0, 0x094D, 0x3099, 0x0062], NFC: [0x0061, 0x3099, 0x0D4D, 0x094D, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x0D4D, 0x094D, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x0D4D, 0x094D, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x0D4D, 0x094D, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x05B0, 0x094D, 0x3099, 0x0DCA, 0x0062], NFC: [0x0061, 0x3099, 0x094D, 0x0DCA, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x094D, 0x0DCA, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x094D, 0x0DCA, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x094D, 0x0DCA, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x0DCA, 0x05B0, 0x094D, 0x3099, 0x0062], NFC: [0x0061, 0x3099, 0x0DCA, 0x094D, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x0DCA, 0x094D, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x0DCA, 0x094D, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x0DCA, 0x094D, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x0E48, 0x0E38, 0x0C56, 0x0E38, 0x0062], NFC: [0x0061, 0x0C56, 0x0E38, 0x0E38, 0x0E48, 0x0062], NFD: [0x0061, 0x0C56, 0x0E38, 0x0E38, 0x0E48, 0x0062], NFKC: [0x0061, 0x0C56, 0x0E38, 0x0E38, 0x0E48, 0x0062], NFKD: [0x0061, 0x0C56, 0x0E38, 0x0E38, 0x0E48, 0x0062] }, -{ source: [0x0061, 0x0E38, 0x0E48, 0x0E38, 0x0C56, 0x0062], NFC: [0x0061, 0x0C56, 0x0E38, 0x0E38, 0x0E48, 0x0062], NFD: [0x0061, 0x0C56, 0x0E38, 0x0E38, 0x0E48, 0x0062], NFKC: [0x0061, 0x0C56, 0x0E38, 0x0E38, 0x0E48, 0x0062], NFKD: [0x0061, 0x0C56, 0x0E38, 0x0E38, 0x0E48, 0x0062] }, -{ source: [0x0061, 0x0E48, 0x0E38, 0x0C56, 0x0E39, 0x0062], NFC: [0x0061, 0x0C56, 0x0E38, 0x0E39, 0x0E48, 0x0062], NFD: [0x0061, 0x0C56, 0x0E38, 0x0E39, 0x0E48, 0x0062], NFKC: [0x0061, 0x0C56, 0x0E38, 0x0E39, 0x0E48, 0x0062], NFKD: [0x0061, 0x0C56, 0x0E38, 0x0E39, 0x0E48, 0x0062] }, -{ source: [0x0061, 0x0E39, 0x0E48, 0x0E38, 0x0C56, 0x0062], NFC: [0x0061, 0x0C56, 0x0E39, 0x0E38, 0x0E48, 0x0062], NFD: [0x0061, 0x0C56, 0x0E39, 0x0E38, 0x0E48, 0x0062], NFKC: [0x0061, 0x0C56, 0x0E39, 0x0E38, 0x0E48, 0x0062], NFKD: [0x0061, 0x0C56, 0x0E39, 0x0E38, 0x0E48, 0x0062] }, -{ source: [0x0061, 0x05B0, 0x094D, 0x3099, 0x0E3A, 0x0062], NFC: [0x0061, 0x3099, 0x094D, 0x0E3A, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x094D, 0x0E3A, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x094D, 0x0E3A, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x094D, 0x0E3A, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x0E3A, 0x05B0, 0x094D, 0x3099, 0x0062], NFC: [0x0061, 0x3099, 0x0E3A, 0x094D, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x0E3A, 0x094D, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x0E3A, 0x094D, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x0E3A, 0x094D, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x0EB8, 0x0E48, 0x0E38, 0x0E48, 0x0062], NFC: [0x0061, 0x0E38, 0x0E48, 0x0E48, 0x0EB8, 0x0062], NFD: [0x0061, 0x0E38, 0x0E48, 0x0E48, 0x0EB8, 0x0062], NFKC: [0x0061, 0x0E38, 0x0E48, 0x0E48, 0x0EB8, 0x0062], NFKD: [0x0061, 0x0E38, 0x0E48, 0x0E48, 0x0EB8, 0x0062] }, -{ source: [0x0061, 0x0E48, 0x0EB8, 0x0E48, 0x0E38, 0x0062], NFC: [0x0061, 0x0E38, 0x0E48, 0x0E48, 0x0EB8, 0x0062], NFD: [0x0061, 0x0E38, 0x0E48, 0x0E48, 0x0EB8, 0x0062], NFKC: [0x0061, 0x0E38, 0x0E48, 0x0E48, 0x0EB8, 0x0062], NFKD: [0x0061, 0x0E38, 0x0E48, 0x0E48, 0x0EB8, 0x0062] }, -{ source: [0x0061, 0x0EB8, 0x0E48, 0x0E38, 0x0E49, 0x0062], NFC: [0x0061, 0x0E38, 0x0E48, 0x0E49, 0x0EB8, 0x0062], NFD: [0x0061, 0x0E38, 0x0E48, 0x0E49, 0x0EB8, 0x0062], NFKC: [0x0061, 0x0E38, 0x0E48, 0x0E49, 0x0EB8, 0x0062], NFKD: [0x0061, 0x0E38, 0x0E48, 0x0E49, 0x0EB8, 0x0062] }, -{ source: [0x0061, 0x0E49, 0x0EB8, 0x0E48, 0x0E38, 0x0062], NFC: [0x0061, 0x0E38, 0x0E49, 0x0E48, 0x0EB8, 0x0062], NFD: [0x0061, 0x0E38, 0x0E49, 0x0E48, 0x0EB8, 0x0062], NFKC: [0x0061, 0x0E38, 0x0E49, 0x0E48, 0x0EB8, 0x0062], NFKD: [0x0061, 0x0E38, 0x0E49, 0x0E48, 0x0EB8, 0x0062] }, -{ source: [0x0061, 0x0EB8, 0x0E48, 0x0E38, 0x0E4A, 0x0062], NFC: [0x0061, 0x0E38, 0x0E48, 0x0E4A, 0x0EB8, 0x0062], NFD: [0x0061, 0x0E38, 0x0E48, 0x0E4A, 0x0EB8, 0x0062], NFKC: [0x0061, 0x0E38, 0x0E48, 0x0E4A, 0x0EB8, 0x0062], NFKD: [0x0061, 0x0E38, 0x0E48, 0x0E4A, 0x0EB8, 0x0062] }, -{ source: [0x0061, 0x0E4A, 0x0EB8, 0x0E48, 0x0E38, 0x0062], NFC: [0x0061, 0x0E38, 0x0E4A, 0x0E48, 0x0EB8, 0x0062], NFD: [0x0061, 0x0E38, 0x0E4A, 0x0E48, 0x0EB8, 0x0062], NFKC: [0x0061, 0x0E38, 0x0E4A, 0x0E48, 0x0EB8, 0x0062], NFKD: [0x0061, 0x0E38, 0x0E4A, 0x0E48, 0x0EB8, 0x0062] }, -{ source: [0x0061, 0x0EB8, 0x0E48, 0x0E38, 0x0E4B, 0x0062], NFC: [0x0061, 0x0E38, 0x0E48, 0x0E4B, 0x0EB8, 0x0062], NFD: [0x0061, 0x0E38, 0x0E48, 0x0E4B, 0x0EB8, 0x0062], NFKC: [0x0061, 0x0E38, 0x0E48, 0x0E4B, 0x0EB8, 0x0062], NFKD: [0x0061, 0x0E38, 0x0E48, 0x0E4B, 0x0EB8, 0x0062] }, -{ source: [0x0061, 0x0E4B, 0x0EB8, 0x0E48, 0x0E38, 0x0062], NFC: [0x0061, 0x0E38, 0x0E4B, 0x0E48, 0x0EB8, 0x0062], NFD: [0x0061, 0x0E38, 0x0E4B, 0x0E48, 0x0EB8, 0x0062], NFKC: [0x0061, 0x0E38, 0x0E4B, 0x0E48, 0x0EB8, 0x0062], NFKD: [0x0061, 0x0E38, 0x0E4B, 0x0E48, 0x0EB8, 0x0062] }, -{ source: [0x0061, 0x0EC8, 0x0EB8, 0x0E48, 0x0EB8, 0x0062], NFC: [0x0061, 0x0E48, 0x0EB8, 0x0EB8, 0x0EC8, 0x0062], NFD: [0x0061, 0x0E48, 0x0EB8, 0x0EB8, 0x0EC8, 0x0062], NFKC: [0x0061, 0x0E48, 0x0EB8, 0x0EB8, 0x0EC8, 0x0062], NFKD: [0x0061, 0x0E48, 0x0EB8, 0x0EB8, 0x0EC8, 0x0062] }, -{ source: [0x0061, 0x0EB8, 0x0EC8, 0x0EB8, 0x0E48, 0x0062], NFC: [0x0061, 0x0E48, 0x0EB8, 0x0EB8, 0x0EC8, 0x0062], NFD: [0x0061, 0x0E48, 0x0EB8, 0x0EB8, 0x0EC8, 0x0062], NFKC: [0x0061, 0x0E48, 0x0EB8, 0x0EB8, 0x0EC8, 0x0062], NFKD: [0x0061, 0x0E48, 0x0EB8, 0x0EB8, 0x0EC8, 0x0062] }, -{ source: [0x0061, 0x0EC8, 0x0EB8, 0x0E48, 0x0EB9, 0x0062], NFC: [0x0061, 0x0E48, 0x0EB8, 0x0EB9, 0x0EC8, 0x0062], NFD: [0x0061, 0x0E48, 0x0EB8, 0x0EB9, 0x0EC8, 0x0062], NFKC: [0x0061, 0x0E48, 0x0EB8, 0x0EB9, 0x0EC8, 0x0062], NFKD: [0x0061, 0x0E48, 0x0EB8, 0x0EB9, 0x0EC8, 0x0062] }, -{ source: [0x0061, 0x0EB9, 0x0EC8, 0x0EB8, 0x0E48, 0x0062], NFC: [0x0061, 0x0E48, 0x0EB9, 0x0EB8, 0x0EC8, 0x0062], NFD: [0x0061, 0x0E48, 0x0EB9, 0x0EB8, 0x0EC8, 0x0062], NFKC: [0x0061, 0x0E48, 0x0EB9, 0x0EB8, 0x0EC8, 0x0062], NFKD: [0x0061, 0x0E48, 0x0EB9, 0x0EB8, 0x0EC8, 0x0062] }, -{ source: [0x0061, 0x05B0, 0x094D, 0x3099, 0x0EBA, 0x0062], NFC: [0x0061, 0x3099, 0x094D, 0x0EBA, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x094D, 0x0EBA, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x094D, 0x0EBA, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x094D, 0x0EBA, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x0EBA, 0x05B0, 0x094D, 0x3099, 0x0062], NFC: [0x0061, 0x3099, 0x0EBA, 0x094D, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x0EBA, 0x094D, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x0EBA, 0x094D, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x0EBA, 0x094D, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x0F71, 0x0EC8, 0x0EB8, 0x0EC8, 0x0062], NFC: [0x0061, 0x0EB8, 0x0EC8, 0x0EC8, 0x0F71, 0x0062], NFD: [0x0061, 0x0EB8, 0x0EC8, 0x0EC8, 0x0F71, 0x0062], NFKC: [0x0061, 0x0EB8, 0x0EC8, 0x0EC8, 0x0F71, 0x0062], NFKD: [0x0061, 0x0EB8, 0x0EC8, 0x0EC8, 0x0F71, 0x0062] }, -{ source: [0x0061, 0x0EC8, 0x0F71, 0x0EC8, 0x0EB8, 0x0062], NFC: [0x0061, 0x0EB8, 0x0EC8, 0x0EC8, 0x0F71, 0x0062], NFD: [0x0061, 0x0EB8, 0x0EC8, 0x0EC8, 0x0F71, 0x0062], NFKC: [0x0061, 0x0EB8, 0x0EC8, 0x0EC8, 0x0F71, 0x0062], NFKD: [0x0061, 0x0EB8, 0x0EC8, 0x0EC8, 0x0F71, 0x0062] }, -{ source: [0x0061, 0x0F71, 0x0EC8, 0x0EB8, 0x0EC9, 0x0062], NFC: [0x0061, 0x0EB8, 0x0EC8, 0x0EC9, 0x0F71, 0x0062], NFD: [0x0061, 0x0EB8, 0x0EC8, 0x0EC9, 0x0F71, 0x0062], NFKC: [0x0061, 0x0EB8, 0x0EC8, 0x0EC9, 0x0F71, 0x0062], NFKD: [0x0061, 0x0EB8, 0x0EC8, 0x0EC9, 0x0F71, 0x0062] }, -{ source: [0x0061, 0x0EC9, 0x0F71, 0x0EC8, 0x0EB8, 0x0062], NFC: [0x0061, 0x0EB8, 0x0EC9, 0x0EC8, 0x0F71, 0x0062], NFD: [0x0061, 0x0EB8, 0x0EC9, 0x0EC8, 0x0F71, 0x0062], NFKC: [0x0061, 0x0EB8, 0x0EC9, 0x0EC8, 0x0F71, 0x0062], NFKD: [0x0061, 0x0EB8, 0x0EC9, 0x0EC8, 0x0F71, 0x0062] }, -{ source: [0x0061, 0x0F71, 0x0EC8, 0x0EB8, 0x0ECA, 0x0062], NFC: [0x0061, 0x0EB8, 0x0EC8, 0x0ECA, 0x0F71, 0x0062], NFD: [0x0061, 0x0EB8, 0x0EC8, 0x0ECA, 0x0F71, 0x0062], NFKC: [0x0061, 0x0EB8, 0x0EC8, 0x0ECA, 0x0F71, 0x0062], NFKD: [0x0061, 0x0EB8, 0x0EC8, 0x0ECA, 0x0F71, 0x0062] }, -{ source: [0x0061, 0x0ECA, 0x0F71, 0x0EC8, 0x0EB8, 0x0062], NFC: [0x0061, 0x0EB8, 0x0ECA, 0x0EC8, 0x0F71, 0x0062], NFD: [0x0061, 0x0EB8, 0x0ECA, 0x0EC8, 0x0F71, 0x0062], NFKC: [0x0061, 0x0EB8, 0x0ECA, 0x0EC8, 0x0F71, 0x0062], NFKD: [0x0061, 0x0EB8, 0x0ECA, 0x0EC8, 0x0F71, 0x0062] }, -{ source: [0x0061, 0x0F71, 0x0EC8, 0x0EB8, 0x0ECB, 0x0062], NFC: [0x0061, 0x0EB8, 0x0EC8, 0x0ECB, 0x0F71, 0x0062], NFD: [0x0061, 0x0EB8, 0x0EC8, 0x0ECB, 0x0F71, 0x0062], NFKC: [0x0061, 0x0EB8, 0x0EC8, 0x0ECB, 0x0F71, 0x0062], NFKD: [0x0061, 0x0EB8, 0x0EC8, 0x0ECB, 0x0F71, 0x0062] }, -{ source: [0x0061, 0x0ECB, 0x0F71, 0x0EC8, 0x0EB8, 0x0062], NFC: [0x0061, 0x0EB8, 0x0ECB, 0x0EC8, 0x0F71, 0x0062], NFD: [0x0061, 0x0EB8, 0x0ECB, 0x0EC8, 0x0F71, 0x0062], NFKC: [0x0061, 0x0EB8, 0x0ECB, 0x0EC8, 0x0F71, 0x0062], NFKD: [0x0061, 0x0EB8, 0x0ECB, 0x0EC8, 0x0F71, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x0F18, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x0F18, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x0F18, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x0F18, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x0F18, 0x059A, 0x0062] }, -{ source: [0x0061, 0x0F18, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x0F18, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0F18, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0F18, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0F18, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x0F19, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x0F19, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x0F19, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x0F19, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x0F19, 0x059A, 0x0062] }, -{ source: [0x0061, 0x0F19, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x0F19, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0F19, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0F19, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0F19, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x0F35, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x0F35, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x0F35, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x0F35, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x0F35, 0x059A, 0x0062] }, -{ source: [0x0061, 0x0F35, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x0F35, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0F35, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0F35, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0F35, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x0F37, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x0F37, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x0F37, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x0F37, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x0F37, 0x059A, 0x0062] }, -{ source: [0x0061, 0x0F37, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x0F37, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0F37, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0F37, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0F37, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x1DFA, 0x031B, 0x1DCE, 0x0F39, 0x0062], NFC: [0x0061, 0x1DCE, 0x031B, 0x0F39, 0x1DFA, 0x0062], NFD: [0x0061, 0x1DCE, 0x031B, 0x0F39, 0x1DFA, 0x0062], NFKC: [0x0061, 0x1DCE, 0x031B, 0x0F39, 0x1DFA, 0x0062], NFKD: [0x0061, 0x1DCE, 0x031B, 0x0F39, 0x1DFA, 0x0062] }, -{ source: [0x0061, 0x0F39, 0x1DFA, 0x031B, 0x1DCE, 0x0062], NFC: [0x0061, 0x1DCE, 0x0F39, 0x031B, 0x1DFA, 0x0062], NFD: [0x0061, 0x1DCE, 0x0F39, 0x031B, 0x1DFA, 0x0062], NFKC: [0x0061, 0x1DCE, 0x0F39, 0x031B, 0x1DFA, 0x0062], NFKD: [0x0061, 0x1DCE, 0x0F39, 0x031B, 0x1DFA, 0x0062] }, -{ source: [0x0061, 0x0F72, 0x0F71, 0x0EC8, 0x0F71, 0x0062], NFC: [0x0061, 0x0EC8, 0x0F71, 0x0F71, 0x0F72, 0x0062], NFD: [0x0061, 0x0EC8, 0x0F71, 0x0F71, 0x0F72, 0x0062], NFKC: [0x0061, 0x0EC8, 0x0F71, 0x0F71, 0x0F72, 0x0062], NFKD: [0x0061, 0x0EC8, 0x0F71, 0x0F71, 0x0F72, 0x0062] }, -{ source: [0x0061, 0x0F71, 0x0F72, 0x0F71, 0x0EC8, 0x0062], NFC: [0x0061, 0x0EC8, 0x0F71, 0x0F71, 0x0F72, 0x0062], NFD: [0x0061, 0x0EC8, 0x0F71, 0x0F71, 0x0F72, 0x0062], NFKC: [0x0061, 0x0EC8, 0x0F71, 0x0F71, 0x0F72, 0x0062], NFKD: [0x0061, 0x0EC8, 0x0F71, 0x0F71, 0x0F72, 0x0062] }, -{ source: [0x0061, 0x0F74, 0x0F72, 0x0F71, 0x0F72, 0x0062], NFC: [0x0061, 0x0F71, 0x0F72, 0x0F72, 0x0F74, 0x0062], NFD: [0x0061, 0x0F71, 0x0F72, 0x0F72, 0x0F74, 0x0062], NFKC: [0x0061, 0x0F71, 0x0F72, 0x0F72, 0x0F74, 0x0062], NFKD: [0x0061, 0x0F71, 0x0F72, 0x0F72, 0x0F74, 0x0062] }, -{ source: [0x0061, 0x0F72, 0x0F74, 0x0F72, 0x0F71, 0x0062], NFC: [0x0061, 0x0F71, 0x0F72, 0x0F72, 0x0F74, 0x0062], NFD: [0x0061, 0x0F71, 0x0F72, 0x0F72, 0x0F74, 0x0062], NFKC: [0x0061, 0x0F71, 0x0F72, 0x0F72, 0x0F74, 0x0062], NFKD: [0x0061, 0x0F71, 0x0F72, 0x0F72, 0x0F74, 0x0062] }, -{ source: [0x0061, 0x0321, 0x0F74, 0x0F72, 0x0F74, 0x0062], NFC: [0x0061, 0x0F72, 0x0F74, 0x0F74, 0x0321, 0x0062], NFD: [0x0061, 0x0F72, 0x0F74, 0x0F74, 0x0321, 0x0062], NFKC: [0x0061, 0x0F72, 0x0F74, 0x0F74, 0x0321, 0x0062], NFKD: [0x0061, 0x0F72, 0x0F74, 0x0F74, 0x0321, 0x0062] }, -{ source: [0x0061, 0x0F74, 0x0321, 0x0F74, 0x0F72, 0x0062], NFC: [0x0061, 0x0F72, 0x0F74, 0x0F74, 0x0321, 0x0062], NFD: [0x0061, 0x0F72, 0x0F74, 0x0F74, 0x0321, 0x0062], NFKC: [0x0061, 0x0F72, 0x0F74, 0x0F74, 0x0321, 0x0062], NFKD: [0x0061, 0x0F72, 0x0F74, 0x0F74, 0x0321, 0x0062] }, -{ source: [0x0061, 0x0F74, 0x0F72, 0x0F71, 0x0F7A, 0x0062], NFC: [0x0061, 0x0F71, 0x0F72, 0x0F7A, 0x0F74, 0x0062], NFD: [0x0061, 0x0F71, 0x0F72, 0x0F7A, 0x0F74, 0x0062], NFKC: [0x0061, 0x0F71, 0x0F72, 0x0F7A, 0x0F74, 0x0062], NFKD: [0x0061, 0x0F71, 0x0F72, 0x0F7A, 0x0F74, 0x0062] }, -{ source: [0x0061, 0x0F7A, 0x0F74, 0x0F72, 0x0F71, 0x0062], NFC: [0x0061, 0x0F71, 0x0F7A, 0x0F72, 0x0F74, 0x0062], NFD: [0x0061, 0x0F71, 0x0F7A, 0x0F72, 0x0F74, 0x0062], NFKC: [0x0061, 0x0F71, 0x0F7A, 0x0F72, 0x0F74, 0x0062], NFKD: [0x0061, 0x0F71, 0x0F7A, 0x0F72, 0x0F74, 0x0062] }, -{ source: [0x0061, 0x0F74, 0x0F72, 0x0F71, 0x0F7B, 0x0062], NFC: [0x0061, 0x0F71, 0x0F72, 0x0F7B, 0x0F74, 0x0062], NFD: [0x0061, 0x0F71, 0x0F72, 0x0F7B, 0x0F74, 0x0062], NFKC: [0x0061, 0x0F71, 0x0F72, 0x0F7B, 0x0F74, 0x0062], NFKD: [0x0061, 0x0F71, 0x0F72, 0x0F7B, 0x0F74, 0x0062] }, -{ source: [0x0061, 0x0F7B, 0x0F74, 0x0F72, 0x0F71, 0x0062], NFC: [0x0061, 0x0F71, 0x0F7B, 0x0F72, 0x0F74, 0x0062], NFD: [0x0061, 0x0F71, 0x0F7B, 0x0F72, 0x0F74, 0x0062], NFKC: [0x0061, 0x0F71, 0x0F7B, 0x0F72, 0x0F74, 0x0062], NFKD: [0x0061, 0x0F71, 0x0F7B, 0x0F72, 0x0F74, 0x0062] }, -{ source: [0x0061, 0x0F74, 0x0F72, 0x0F71, 0x0F7C, 0x0062], NFC: [0x0061, 0x0F71, 0x0F72, 0x0F7C, 0x0F74, 0x0062], NFD: [0x0061, 0x0F71, 0x0F72, 0x0F7C, 0x0F74, 0x0062], NFKC: [0x0061, 0x0F71, 0x0F72, 0x0F7C, 0x0F74, 0x0062], NFKD: [0x0061, 0x0F71, 0x0F72, 0x0F7C, 0x0F74, 0x0062] }, -{ source: [0x0061, 0x0F7C, 0x0F74, 0x0F72, 0x0F71, 0x0062], NFC: [0x0061, 0x0F71, 0x0F7C, 0x0F72, 0x0F74, 0x0062], NFD: [0x0061, 0x0F71, 0x0F7C, 0x0F72, 0x0F74, 0x0062], NFKC: [0x0061, 0x0F71, 0x0F7C, 0x0F72, 0x0F74, 0x0062], NFKD: [0x0061, 0x0F71, 0x0F7C, 0x0F72, 0x0F74, 0x0062] }, -{ source: [0x0061, 0x0F74, 0x0F72, 0x0F71, 0x0F7D, 0x0062], NFC: [0x0061, 0x0F71, 0x0F72, 0x0F7D, 0x0F74, 0x0062], NFD: [0x0061, 0x0F71, 0x0F72, 0x0F7D, 0x0F74, 0x0062], NFKC: [0x0061, 0x0F71, 0x0F72, 0x0F7D, 0x0F74, 0x0062], NFKD: [0x0061, 0x0F71, 0x0F72, 0x0F7D, 0x0F74, 0x0062] }, -{ source: [0x0061, 0x0F7D, 0x0F74, 0x0F72, 0x0F71, 0x0062], NFC: [0x0061, 0x0F71, 0x0F7D, 0x0F72, 0x0F74, 0x0062], NFD: [0x0061, 0x0F71, 0x0F7D, 0x0F72, 0x0F74, 0x0062], NFKC: [0x0061, 0x0F71, 0x0F7D, 0x0F72, 0x0F74, 0x0062], NFKD: [0x0061, 0x0F71, 0x0F7D, 0x0F72, 0x0F74, 0x0062] }, -{ source: [0x0061, 0x0F74, 0x0F72, 0x0F71, 0x0F80, 0x0062], NFC: [0x0061, 0x0F71, 0x0F72, 0x0F80, 0x0F74, 0x0062], NFD: [0x0061, 0x0F71, 0x0F72, 0x0F80, 0x0F74, 0x0062], NFKC: [0x0061, 0x0F71, 0x0F72, 0x0F80, 0x0F74, 0x0062], NFKD: [0x0061, 0x0F71, 0x0F72, 0x0F80, 0x0F74, 0x0062] }, -{ source: [0x0061, 0x0F80, 0x0F74, 0x0F72, 0x0F71, 0x0062], NFC: [0x0061, 0x0F71, 0x0F80, 0x0F72, 0x0F74, 0x0062], NFD: [0x0061, 0x0F71, 0x0F80, 0x0F72, 0x0F74, 0x0062], NFKC: [0x0061, 0x0F71, 0x0F80, 0x0F72, 0x0F74, 0x0062], NFKD: [0x0061, 0x0F71, 0x0F80, 0x0F72, 0x0F74, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x0F82, 0x0062], NFC: [0x00E0, 0x05AE, 0x0F82, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x0F82, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x0F82, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x0F82, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0F82, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x0F82, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0F82, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x0F82, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0F82, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x0F83, 0x0062], NFC: [0x00E0, 0x05AE, 0x0F83, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x0F83, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x0F83, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x0F83, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0F83, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x0F83, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0F83, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x0F83, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0F83, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x05B0, 0x094D, 0x3099, 0x0F84, 0x0062], NFC: [0x0061, 0x3099, 0x094D, 0x0F84, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x094D, 0x0F84, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x094D, 0x0F84, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x094D, 0x0F84, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x0F84, 0x05B0, 0x094D, 0x3099, 0x0062], NFC: [0x0061, 0x3099, 0x0F84, 0x094D, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x0F84, 0x094D, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x0F84, 0x094D, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x0F84, 0x094D, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x0F86, 0x0062], NFC: [0x00E0, 0x05AE, 0x0F86, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x0F86, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x0F86, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x0F86, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0F86, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x0F86, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0F86, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x0F86, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0F86, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x0F87, 0x0062], NFC: [0x00E0, 0x05AE, 0x0F87, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x0F87, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x0F87, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x0F87, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0F87, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x0F87, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0F87, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x0F87, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0F87, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x0FC6, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x0FC6, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x0FC6, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x0FC6, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x0FC6, 0x059A, 0x0062] }, -{ source: [0x0061, 0x0FC6, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x0FC6, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0FC6, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0FC6, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0FC6, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x3099, 0x093C, 0x16FF0, 0x1037, 0x0062], NFC: [0x0061, 0x16FF0, 0x093C, 0x1037, 0x3099, 0x0062], NFD: [0x0061, 0x16FF0, 0x093C, 0x1037, 0x3099, 0x0062], NFKC: [0x0061, 0x16FF0, 0x093C, 0x1037, 0x3099, 0x0062], NFKD: [0x0061, 0x16FF0, 0x093C, 0x1037, 0x3099, 0x0062] }, -{ source: [0x0061, 0x1037, 0x3099, 0x093C, 0x16FF0, 0x0062], NFC: [0x0061, 0x16FF0, 0x1037, 0x093C, 0x3099, 0x0062], NFD: [0x0061, 0x16FF0, 0x1037, 0x093C, 0x3099, 0x0062], NFKC: [0x0061, 0x16FF0, 0x1037, 0x093C, 0x3099, 0x0062], NFKD: [0x0061, 0x16FF0, 0x1037, 0x093C, 0x3099, 0x0062] }, -{ source: [0x0061, 0x05B0, 0x094D, 0x3099, 0x1039, 0x0062], NFC: [0x0061, 0x3099, 0x094D, 0x1039, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x094D, 0x1039, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x094D, 0x1039, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x094D, 0x1039, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x1039, 0x05B0, 0x094D, 0x3099, 0x0062], NFC: [0x0061, 0x3099, 0x1039, 0x094D, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x1039, 0x094D, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x1039, 0x094D, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x1039, 0x094D, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x05B0, 0x094D, 0x3099, 0x103A, 0x0062], NFC: [0x0061, 0x3099, 0x094D, 0x103A, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x094D, 0x103A, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x094D, 0x103A, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x094D, 0x103A, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x103A, 0x05B0, 0x094D, 0x3099, 0x0062], NFC: [0x0061, 0x3099, 0x103A, 0x094D, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x103A, 0x094D, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x103A, 0x094D, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x103A, 0x094D, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x108D, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x108D, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x108D, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x108D, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x108D, 0x059A, 0x0062] }, -{ source: [0x0061, 0x108D, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x108D, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x108D, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x108D, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x108D, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x135D, 0x0062], NFC: [0x00E0, 0x05AE, 0x135D, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x135D, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x135D, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x135D, 0x0315, 0x0062] }, -{ source: [0x0061, 0x135D, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x135D, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x135D, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x135D, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x135D, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x135E, 0x0062], NFC: [0x00E0, 0x05AE, 0x135E, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x135E, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x135E, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x135E, 0x0315, 0x0062] }, -{ source: [0x0061, 0x135E, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x135E, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x135E, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x135E, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x135E, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x135F, 0x0062], NFC: [0x00E0, 0x05AE, 0x135F, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x135F, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x135F, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x135F, 0x0315, 0x0062] }, -{ source: [0x0061, 0x135F, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x135F, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x135F, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x135F, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x135F, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x05B0, 0x094D, 0x3099, 0x1714, 0x0062], NFC: [0x0061, 0x3099, 0x094D, 0x1714, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x094D, 0x1714, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x094D, 0x1714, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x094D, 0x1714, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x1714, 0x05B0, 0x094D, 0x3099, 0x0062], NFC: [0x0061, 0x3099, 0x1714, 0x094D, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x1714, 0x094D, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x1714, 0x094D, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x1714, 0x094D, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x05B0, 0x094D, 0x3099, 0x1715, 0x0062], NFC: [0x0061, 0x3099, 0x094D, 0x1715, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x094D, 0x1715, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x094D, 0x1715, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x094D, 0x1715, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x1715, 0x05B0, 0x094D, 0x3099, 0x0062], NFC: [0x0061, 0x3099, 0x1715, 0x094D, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x1715, 0x094D, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x1715, 0x094D, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x1715, 0x094D, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x05B0, 0x094D, 0x3099, 0x1734, 0x0062], NFC: [0x0061, 0x3099, 0x094D, 0x1734, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x094D, 0x1734, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x094D, 0x1734, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x094D, 0x1734, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x1734, 0x05B0, 0x094D, 0x3099, 0x0062], NFC: [0x0061, 0x3099, 0x1734, 0x094D, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x1734, 0x094D, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x1734, 0x094D, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x1734, 0x094D, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x05B0, 0x094D, 0x3099, 0x17D2, 0x0062], NFC: [0x0061, 0x3099, 0x094D, 0x17D2, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x094D, 0x17D2, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x094D, 0x17D2, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x094D, 0x17D2, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x17D2, 0x05B0, 0x094D, 0x3099, 0x0062], NFC: [0x0061, 0x3099, 0x17D2, 0x094D, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x17D2, 0x094D, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x17D2, 0x094D, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x17D2, 0x094D, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x17DD, 0x0062], NFC: [0x00E0, 0x05AE, 0x17DD, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x17DD, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x17DD, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x17DD, 0x0315, 0x0062] }, -{ source: [0x0061, 0x17DD, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x17DD, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x17DD, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x17DD, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x17DD, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0300, 0x05AE, 0x1D16D, 0x18A9, 0x0062], NFC: [0x00E0, 0x1D16D, 0x05AE, 0x18A9, 0x0062], NFD: [0x0061, 0x1D16D, 0x05AE, 0x18A9, 0x0300, 0x0062], NFKC: [0x00E0, 0x1D16D, 0x05AE, 0x18A9, 0x0062], NFKD: [0x0061, 0x1D16D, 0x05AE, 0x18A9, 0x0300, 0x0062] }, -{ source: [0x0061, 0x18A9, 0x0300, 0x05AE, 0x1D16D, 0x0062], NFC: [0x00E0, 0x1D16D, 0x18A9, 0x05AE, 0x0062], NFD: [0x0061, 0x1D16D, 0x18A9, 0x05AE, 0x0300, 0x0062], NFKC: [0x00E0, 0x1D16D, 0x18A9, 0x05AE, 0x0062], NFKD: [0x0061, 0x1D16D, 0x18A9, 0x05AE, 0x0300, 0x0062] }, -{ source: [0x0061, 0x302E, 0x059A, 0x0316, 0x1939, 0x0062], NFC: [0x0061, 0x0316, 0x059A, 0x1939, 0x302E, 0x0062], NFD: [0x0061, 0x0316, 0x059A, 0x1939, 0x302E, 0x0062], NFKC: [0x0061, 0x0316, 0x059A, 0x1939, 0x302E, 0x0062], NFKD: [0x0061, 0x0316, 0x059A, 0x1939, 0x302E, 0x0062] }, -{ source: [0x0061, 0x1939, 0x302E, 0x059A, 0x0316, 0x0062], NFC: [0x0061, 0x0316, 0x1939, 0x059A, 0x302E, 0x0062], NFD: [0x0061, 0x0316, 0x1939, 0x059A, 0x302E, 0x0062], NFKC: [0x0061, 0x0316, 0x1939, 0x059A, 0x302E, 0x0062], NFKD: [0x0061, 0x0316, 0x1939, 0x059A, 0x302E, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x193A, 0x0062], NFC: [0x00E0, 0x05AE, 0x193A, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x193A, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x193A, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x193A, 0x0315, 0x0062] }, -{ source: [0x0061, 0x193A, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x193A, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x193A, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x193A, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x193A, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x193B, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x193B, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x193B, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x193B, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x193B, 0x059A, 0x0062] }, -{ source: [0x0061, 0x193B, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x193B, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x193B, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x193B, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x193B, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1A17, 0x0062], NFC: [0x00E0, 0x05AE, 0x1A17, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1A17, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1A17, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1A17, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1A17, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1A17, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1A17, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1A17, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1A17, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x1A18, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x1A18, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x1A18, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x1A18, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x1A18, 0x059A, 0x0062] }, -{ source: [0x0061, 0x1A18, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x1A18, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x1A18, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x1A18, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x1A18, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x05B0, 0x094D, 0x3099, 0x1A60, 0x0062], NFC: [0x0061, 0x3099, 0x094D, 0x1A60, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x094D, 0x1A60, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x094D, 0x1A60, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x094D, 0x1A60, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x1A60, 0x05B0, 0x094D, 0x3099, 0x0062], NFC: [0x0061, 0x3099, 0x1A60, 0x094D, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x1A60, 0x094D, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x1A60, 0x094D, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x1A60, 0x094D, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1A75, 0x0062], NFC: [0x00E0, 0x05AE, 0x1A75, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1A75, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1A75, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1A75, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1A75, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1A75, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1A75, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1A75, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1A75, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1A76, 0x0062], NFC: [0x00E0, 0x05AE, 0x1A76, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1A76, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1A76, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1A76, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1A76, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1A76, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1A76, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1A76, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1A76, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1A77, 0x0062], NFC: [0x00E0, 0x05AE, 0x1A77, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1A77, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1A77, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1A77, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1A77, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1A77, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1A77, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1A77, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1A77, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1A78, 0x0062], NFC: [0x00E0, 0x05AE, 0x1A78, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1A78, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1A78, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1A78, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1A78, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1A78, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1A78, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1A78, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1A78, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1A79, 0x0062], NFC: [0x00E0, 0x05AE, 0x1A79, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1A79, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1A79, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1A79, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1A79, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1A79, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1A79, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1A79, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1A79, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1A7A, 0x0062], NFC: [0x00E0, 0x05AE, 0x1A7A, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1A7A, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1A7A, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1A7A, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1A7A, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1A7A, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1A7A, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1A7A, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1A7A, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1A7B, 0x0062], NFC: [0x00E0, 0x05AE, 0x1A7B, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1A7B, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1A7B, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1A7B, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1A7B, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1A7B, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1A7B, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1A7B, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1A7B, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1A7C, 0x0062], NFC: [0x00E0, 0x05AE, 0x1A7C, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1A7C, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1A7C, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1A7C, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1A7C, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1A7C, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1A7C, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1A7C, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1A7C, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x1A7F, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x1A7F, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x1A7F, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x1A7F, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x1A7F, 0x059A, 0x0062] }, -{ source: [0x0061, 0x1A7F, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x1A7F, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x1A7F, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x1A7F, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x1A7F, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1AB0, 0x0062], NFC: [0x00E0, 0x05AE, 0x1AB0, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1AB0, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1AB0, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1AB0, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1AB0, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1AB0, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1AB0, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1AB0, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1AB0, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1AB1, 0x0062], NFC: [0x00E0, 0x05AE, 0x1AB1, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1AB1, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1AB1, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1AB1, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1AB1, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1AB1, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1AB1, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1AB1, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1AB1, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1AB2, 0x0062], NFC: [0x00E0, 0x05AE, 0x1AB2, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1AB2, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1AB2, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1AB2, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1AB2, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1AB2, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1AB2, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1AB2, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1AB2, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1AB3, 0x0062], NFC: [0x00E0, 0x05AE, 0x1AB3, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1AB3, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1AB3, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1AB3, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1AB3, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1AB3, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1AB3, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1AB3, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1AB3, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1AB4, 0x0062], NFC: [0x00E0, 0x05AE, 0x1AB4, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1AB4, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1AB4, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1AB4, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1AB4, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1AB4, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1AB4, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1AB4, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1AB4, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x1AB5, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x1AB5, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x1AB5, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x1AB5, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x1AB5, 0x059A, 0x0062] }, -{ source: [0x0061, 0x1AB5, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x1AB5, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x1AB5, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x1AB5, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x1AB5, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x1AB6, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x1AB6, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x1AB6, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x1AB6, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x1AB6, 0x059A, 0x0062] }, -{ source: [0x0061, 0x1AB6, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x1AB6, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x1AB6, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x1AB6, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x1AB6, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x1AB7, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x1AB7, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x1AB7, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x1AB7, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x1AB7, 0x059A, 0x0062] }, -{ source: [0x0061, 0x1AB7, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x1AB7, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x1AB7, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x1AB7, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x1AB7, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x1AB8, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x1AB8, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x1AB8, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x1AB8, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x1AB8, 0x059A, 0x0062] }, -{ source: [0x0061, 0x1AB8, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x1AB8, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x1AB8, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x1AB8, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x1AB8, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x1AB9, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x1AB9, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x1AB9, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x1AB9, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x1AB9, 0x059A, 0x0062] }, -{ source: [0x0061, 0x1AB9, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x1AB9, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x1AB9, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x1AB9, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x1AB9, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x1ABA, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x1ABA, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x1ABA, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x1ABA, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x1ABA, 0x059A, 0x0062] }, -{ source: [0x0061, 0x1ABA, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x1ABA, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x1ABA, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x1ABA, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x1ABA, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1ABB, 0x0062], NFC: [0x00E0, 0x05AE, 0x1ABB, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1ABB, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1ABB, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1ABB, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1ABB, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1ABB, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1ABB, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1ABB, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1ABB, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1ABC, 0x0062], NFC: [0x00E0, 0x05AE, 0x1ABC, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1ABC, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1ABC, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1ABC, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1ABC, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1ABC, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1ABC, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1ABC, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1ABC, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x1ABD, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x1ABD, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x1ABD, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x1ABD, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x1ABD, 0x059A, 0x0062] }, -{ source: [0x0061, 0x1ABD, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x1ABD, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x1ABD, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x1ABD, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x1ABD, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x1ABF, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x1ABF, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x1ABF, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x1ABF, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x1ABF, 0x059A, 0x0062] }, -{ source: [0x0061, 0x1ABF, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x1ABF, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x1ABF, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x1ABF, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x1ABF, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x1AC0, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x1AC0, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x1AC0, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x1AC0, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x1AC0, 0x059A, 0x0062] }, -{ source: [0x0061, 0x1AC0, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x1AC0, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x1AC0, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x1AC0, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x1AC0, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1AC1, 0x0062], NFC: [0x00E0, 0x05AE, 0x1AC1, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1AC1, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1AC1, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1AC1, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1AC1, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1AC1, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1AC1, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1AC1, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1AC1, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1AC2, 0x0062], NFC: [0x00E0, 0x05AE, 0x1AC2, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1AC2, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1AC2, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1AC2, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1AC2, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1AC2, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1AC2, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1AC2, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1AC2, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x1AC3, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x1AC3, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x1AC3, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x1AC3, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x1AC3, 0x059A, 0x0062] }, -{ source: [0x0061, 0x1AC3, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x1AC3, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x1AC3, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x1AC3, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x1AC3, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x1AC4, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x1AC4, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x1AC4, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x1AC4, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x1AC4, 0x059A, 0x0062] }, -{ source: [0x0061, 0x1AC4, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x1AC4, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x1AC4, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x1AC4, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x1AC4, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1AC5, 0x0062], NFC: [0x00E0, 0x05AE, 0x1AC5, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1AC5, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1AC5, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1AC5, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1AC5, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1AC5, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1AC5, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1AC5, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1AC5, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1AC6, 0x0062], NFC: [0x00E0, 0x05AE, 0x1AC6, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1AC6, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1AC6, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1AC6, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1AC6, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1AC6, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1AC6, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1AC6, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1AC6, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1AC7, 0x0062], NFC: [0x00E0, 0x05AE, 0x1AC7, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1AC7, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1AC7, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1AC7, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1AC7, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1AC7, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1AC7, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1AC7, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1AC7, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1AC8, 0x0062], NFC: [0x00E0, 0x05AE, 0x1AC8, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1AC8, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1AC8, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1AC8, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1AC8, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1AC8, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1AC8, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1AC8, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1AC8, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1AC9, 0x0062], NFC: [0x00E0, 0x05AE, 0x1AC9, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1AC9, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1AC9, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1AC9, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1AC9, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1AC9, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1AC9, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1AC9, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1AC9, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x1ACA, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x1ACA, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x1ACA, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x1ACA, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x1ACA, 0x059A, 0x0062] }, -{ source: [0x0061, 0x1ACA, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x1ACA, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x1ACA, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x1ACA, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x1ACA, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1ACB, 0x0062], NFC: [0x00E0, 0x05AE, 0x1ACB, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1ACB, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1ACB, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1ACB, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1ACB, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1ACB, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1ACB, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1ACB, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1ACB, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1ACC, 0x0062], NFC: [0x00E0, 0x05AE, 0x1ACC, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1ACC, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1ACC, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1ACC, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1ACC, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1ACC, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1ACC, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1ACC, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1ACC, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1ACD, 0x0062], NFC: [0x00E0, 0x05AE, 0x1ACD, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1ACD, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1ACD, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1ACD, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1ACD, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1ACD, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1ACD, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1ACD, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1ACD, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1ACE, 0x0062], NFC: [0x00E0, 0x05AE, 0x1ACE, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1ACE, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1ACE, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1ACE, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1ACE, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1ACE, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1ACE, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1ACE, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1ACE, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x3099, 0x093C, 0x16FF0, 0x1B34, 0x0062], NFC: [0x0061, 0x16FF0, 0x093C, 0x1B34, 0x3099, 0x0062], NFD: [0x0061, 0x16FF0, 0x093C, 0x1B34, 0x3099, 0x0062], NFKC: [0x0061, 0x16FF0, 0x093C, 0x1B34, 0x3099, 0x0062], NFKD: [0x0061, 0x16FF0, 0x093C, 0x1B34, 0x3099, 0x0062] }, -{ source: [0x0061, 0x1B34, 0x3099, 0x093C, 0x16FF0, 0x0062], NFC: [0x0061, 0x16FF0, 0x1B34, 0x093C, 0x3099, 0x0062], NFD: [0x0061, 0x16FF0, 0x1B34, 0x093C, 0x3099, 0x0062], NFKC: [0x0061, 0x16FF0, 0x1B34, 0x093C, 0x3099, 0x0062], NFKD: [0x0061, 0x16FF0, 0x1B34, 0x093C, 0x3099, 0x0062] }, -{ source: [0x0061, 0x05B0, 0x094D, 0x3099, 0x1B44, 0x0062], NFC: [0x0061, 0x3099, 0x094D, 0x1B44, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x094D, 0x1B44, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x094D, 0x1B44, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x094D, 0x1B44, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x1B44, 0x05B0, 0x094D, 0x3099, 0x0062], NFC: [0x0061, 0x3099, 0x1B44, 0x094D, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x1B44, 0x094D, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x1B44, 0x094D, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x1B44, 0x094D, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1B6B, 0x0062], NFC: [0x00E0, 0x05AE, 0x1B6B, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1B6B, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1B6B, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1B6B, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1B6B, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1B6B, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1B6B, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1B6B, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1B6B, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x1B6C, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x1B6C, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x1B6C, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x1B6C, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x1B6C, 0x059A, 0x0062] }, -{ source: [0x0061, 0x1B6C, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x1B6C, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x1B6C, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x1B6C, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x1B6C, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1B6D, 0x0062], NFC: [0x00E0, 0x05AE, 0x1B6D, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1B6D, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1B6D, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1B6D, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1B6D, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1B6D, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1B6D, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1B6D, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1B6D, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1B6E, 0x0062], NFC: [0x00E0, 0x05AE, 0x1B6E, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1B6E, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1B6E, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1B6E, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1B6E, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1B6E, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1B6E, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1B6E, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1B6E, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1B6F, 0x0062], NFC: [0x00E0, 0x05AE, 0x1B6F, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1B6F, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1B6F, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1B6F, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1B6F, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1B6F, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1B6F, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1B6F, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1B6F, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1B70, 0x0062], NFC: [0x00E0, 0x05AE, 0x1B70, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1B70, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1B70, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1B70, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1B70, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1B70, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1B70, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1B70, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1B70, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1B71, 0x0062], NFC: [0x00E0, 0x05AE, 0x1B71, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1B71, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1B71, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1B71, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1B71, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1B71, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1B71, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1B71, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1B71, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1B72, 0x0062], NFC: [0x00E0, 0x05AE, 0x1B72, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1B72, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1B72, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1B72, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1B72, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1B72, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1B72, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1B72, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1B72, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1B73, 0x0062], NFC: [0x00E0, 0x05AE, 0x1B73, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1B73, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1B73, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1B73, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1B73, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1B73, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1B73, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1B73, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1B73, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x05B0, 0x094D, 0x3099, 0x1BAA, 0x0062], NFC: [0x0061, 0x3099, 0x094D, 0x1BAA, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x094D, 0x1BAA, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x094D, 0x1BAA, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x094D, 0x1BAA, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x1BAA, 0x05B0, 0x094D, 0x3099, 0x0062], NFC: [0x0061, 0x3099, 0x1BAA, 0x094D, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x1BAA, 0x094D, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x1BAA, 0x094D, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x1BAA, 0x094D, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x05B0, 0x094D, 0x3099, 0x1BAB, 0x0062], NFC: [0x0061, 0x3099, 0x094D, 0x1BAB, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x094D, 0x1BAB, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x094D, 0x1BAB, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x094D, 0x1BAB, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x1BAB, 0x05B0, 0x094D, 0x3099, 0x0062], NFC: [0x0061, 0x3099, 0x1BAB, 0x094D, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x1BAB, 0x094D, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x1BAB, 0x094D, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x1BAB, 0x094D, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x3099, 0x093C, 0x16FF0, 0x1BE6, 0x0062], NFC: [0x0061, 0x16FF0, 0x093C, 0x1BE6, 0x3099, 0x0062], NFD: [0x0061, 0x16FF0, 0x093C, 0x1BE6, 0x3099, 0x0062], NFKC: [0x0061, 0x16FF0, 0x093C, 0x1BE6, 0x3099, 0x0062], NFKD: [0x0061, 0x16FF0, 0x093C, 0x1BE6, 0x3099, 0x0062] }, -{ source: [0x0061, 0x1BE6, 0x3099, 0x093C, 0x16FF0, 0x0062], NFC: [0x0061, 0x16FF0, 0x1BE6, 0x093C, 0x3099, 0x0062], NFD: [0x0061, 0x16FF0, 0x1BE6, 0x093C, 0x3099, 0x0062], NFKC: [0x0061, 0x16FF0, 0x1BE6, 0x093C, 0x3099, 0x0062], NFKD: [0x0061, 0x16FF0, 0x1BE6, 0x093C, 0x3099, 0x0062] }, -{ source: [0x0061, 0x05B0, 0x094D, 0x3099, 0x1BF2, 0x0062], NFC: [0x0061, 0x3099, 0x094D, 0x1BF2, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x094D, 0x1BF2, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x094D, 0x1BF2, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x094D, 0x1BF2, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x1BF2, 0x05B0, 0x094D, 0x3099, 0x0062], NFC: [0x0061, 0x3099, 0x1BF2, 0x094D, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x1BF2, 0x094D, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x1BF2, 0x094D, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x1BF2, 0x094D, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x05B0, 0x094D, 0x3099, 0x1BF3, 0x0062], NFC: [0x0061, 0x3099, 0x094D, 0x1BF3, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x094D, 0x1BF3, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x094D, 0x1BF3, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x094D, 0x1BF3, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x1BF3, 0x05B0, 0x094D, 0x3099, 0x0062], NFC: [0x0061, 0x3099, 0x1BF3, 0x094D, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x1BF3, 0x094D, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x1BF3, 0x094D, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x1BF3, 0x094D, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x3099, 0x093C, 0x16FF0, 0x1C37, 0x0062], NFC: [0x0061, 0x16FF0, 0x093C, 0x1C37, 0x3099, 0x0062], NFD: [0x0061, 0x16FF0, 0x093C, 0x1C37, 0x3099, 0x0062], NFKC: [0x0061, 0x16FF0, 0x093C, 0x1C37, 0x3099, 0x0062], NFKD: [0x0061, 0x16FF0, 0x093C, 0x1C37, 0x3099, 0x0062] }, -{ source: [0x0061, 0x1C37, 0x3099, 0x093C, 0x16FF0, 0x0062], NFC: [0x0061, 0x16FF0, 0x1C37, 0x093C, 0x3099, 0x0062], NFD: [0x0061, 0x16FF0, 0x1C37, 0x093C, 0x3099, 0x0062], NFKC: [0x0061, 0x16FF0, 0x1C37, 0x093C, 0x3099, 0x0062], NFKD: [0x0061, 0x16FF0, 0x1C37, 0x093C, 0x3099, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1CD0, 0x0062], NFC: [0x00E0, 0x05AE, 0x1CD0, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1CD0, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1CD0, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1CD0, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1CD0, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1CD0, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1CD0, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1CD0, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1CD0, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1CD1, 0x0062], NFC: [0x00E0, 0x05AE, 0x1CD1, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1CD1, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1CD1, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1CD1, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1CD1, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1CD1, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1CD1, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1CD1, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1CD1, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1CD2, 0x0062], NFC: [0x00E0, 0x05AE, 0x1CD2, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1CD2, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1CD2, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1CD2, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1CD2, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1CD2, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1CD2, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1CD2, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1CD2, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x16FF0, 0x0334, 0x1CD4, 0x0062], NFC: [0x0061, 0x0334, 0x1CD4, 0x16FF0, 0x0062], NFD: [0x0061, 0x0334, 0x1CD4, 0x16FF0, 0x0062], NFKC: [0x0061, 0x0334, 0x1CD4, 0x16FF0, 0x0062], NFKD: [0x0061, 0x0334, 0x1CD4, 0x16FF0, 0x0062] }, -{ source: [0x0061, 0x1CD4, 0x16FF0, 0x0334, 0x0062], NFC: [0x0061, 0x1CD4, 0x0334, 0x16FF0, 0x0062], NFD: [0x0061, 0x1CD4, 0x0334, 0x16FF0, 0x0062], NFKC: [0x0061, 0x1CD4, 0x0334, 0x16FF0, 0x0062], NFKD: [0x0061, 0x1CD4, 0x0334, 0x16FF0, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x1CD5, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x1CD5, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x1CD5, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x1CD5, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x1CD5, 0x059A, 0x0062] }, -{ source: [0x0061, 0x1CD5, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x1CD5, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x1CD5, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x1CD5, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x1CD5, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x1CD6, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x1CD6, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x1CD6, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x1CD6, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x1CD6, 0x059A, 0x0062] }, -{ source: [0x0061, 0x1CD6, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x1CD6, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x1CD6, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x1CD6, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x1CD6, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x1CD7, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x1CD7, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x1CD7, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x1CD7, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x1CD7, 0x059A, 0x0062] }, -{ source: [0x0061, 0x1CD7, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x1CD7, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x1CD7, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x1CD7, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x1CD7, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x1CD8, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x1CD8, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x1CD8, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x1CD8, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x1CD8, 0x059A, 0x0062] }, -{ source: [0x0061, 0x1CD8, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x1CD8, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x1CD8, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x1CD8, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x1CD8, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x1CD9, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x1CD9, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x1CD9, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x1CD9, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x1CD9, 0x059A, 0x0062] }, -{ source: [0x0061, 0x1CD9, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x1CD9, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x1CD9, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x1CD9, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x1CD9, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1CDA, 0x0062], NFC: [0x00E0, 0x05AE, 0x1CDA, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1CDA, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1CDA, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1CDA, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1CDA, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1CDA, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1CDA, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1CDA, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1CDA, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1CDB, 0x0062], NFC: [0x00E0, 0x05AE, 0x1CDB, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1CDB, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1CDB, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1CDB, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1CDB, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1CDB, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1CDB, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1CDB, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1CDB, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x1CDC, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x1CDC, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x1CDC, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x1CDC, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x1CDC, 0x059A, 0x0062] }, -{ source: [0x0061, 0x1CDC, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x1CDC, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x1CDC, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x1CDC, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x1CDC, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x1CDD, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x1CDD, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x1CDD, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x1CDD, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x1CDD, 0x059A, 0x0062] }, -{ source: [0x0061, 0x1CDD, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x1CDD, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x1CDD, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x1CDD, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x1CDD, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x1CDE, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x1CDE, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x1CDE, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x1CDE, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x1CDE, 0x059A, 0x0062] }, -{ source: [0x0061, 0x1CDE, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x1CDE, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x1CDE, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x1CDE, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x1CDE, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x1CDF, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x1CDF, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x1CDF, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x1CDF, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x1CDF, 0x059A, 0x0062] }, -{ source: [0x0061, 0x1CDF, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x1CDF, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x1CDF, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x1CDF, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x1CDF, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1CE0, 0x0062], NFC: [0x00E0, 0x05AE, 0x1CE0, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1CE0, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1CE0, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1CE0, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1CE0, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1CE0, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1CE0, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1CE0, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1CE0, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x16FF0, 0x0334, 0x1CE2, 0x0062], NFC: [0x0061, 0x0334, 0x1CE2, 0x16FF0, 0x0062], NFD: [0x0061, 0x0334, 0x1CE2, 0x16FF0, 0x0062], NFKC: [0x0061, 0x0334, 0x1CE2, 0x16FF0, 0x0062], NFKD: [0x0061, 0x0334, 0x1CE2, 0x16FF0, 0x0062] }, -{ source: [0x0061, 0x1CE2, 0x16FF0, 0x0334, 0x0062], NFC: [0x0061, 0x1CE2, 0x0334, 0x16FF0, 0x0062], NFD: [0x0061, 0x1CE2, 0x0334, 0x16FF0, 0x0062], NFKC: [0x0061, 0x1CE2, 0x0334, 0x16FF0, 0x0062], NFKD: [0x0061, 0x1CE2, 0x0334, 0x16FF0, 0x0062] }, -{ source: [0x0061, 0x16FF0, 0x0334, 0x1CE3, 0x0062], NFC: [0x0061, 0x0334, 0x1CE3, 0x16FF0, 0x0062], NFD: [0x0061, 0x0334, 0x1CE3, 0x16FF0, 0x0062], NFKC: [0x0061, 0x0334, 0x1CE3, 0x16FF0, 0x0062], NFKD: [0x0061, 0x0334, 0x1CE3, 0x16FF0, 0x0062] }, -{ source: [0x0061, 0x1CE3, 0x16FF0, 0x0334, 0x0062], NFC: [0x0061, 0x1CE3, 0x0334, 0x16FF0, 0x0062], NFD: [0x0061, 0x1CE3, 0x0334, 0x16FF0, 0x0062], NFKC: [0x0061, 0x1CE3, 0x0334, 0x16FF0, 0x0062], NFKD: [0x0061, 0x1CE3, 0x0334, 0x16FF0, 0x0062] }, -{ source: [0x0061, 0x16FF0, 0x0334, 0x1CE4, 0x0062], NFC: [0x0061, 0x0334, 0x1CE4, 0x16FF0, 0x0062], NFD: [0x0061, 0x0334, 0x1CE4, 0x16FF0, 0x0062], NFKC: [0x0061, 0x0334, 0x1CE4, 0x16FF0, 0x0062], NFKD: [0x0061, 0x0334, 0x1CE4, 0x16FF0, 0x0062] }, -{ source: [0x0061, 0x1CE4, 0x16FF0, 0x0334, 0x0062], NFC: [0x0061, 0x1CE4, 0x0334, 0x16FF0, 0x0062], NFD: [0x0061, 0x1CE4, 0x0334, 0x16FF0, 0x0062], NFKC: [0x0061, 0x1CE4, 0x0334, 0x16FF0, 0x0062], NFKD: [0x0061, 0x1CE4, 0x0334, 0x16FF0, 0x0062] }, -{ source: [0x0061, 0x16FF0, 0x0334, 0x1CE5, 0x0062], NFC: [0x0061, 0x0334, 0x1CE5, 0x16FF0, 0x0062], NFD: [0x0061, 0x0334, 0x1CE5, 0x16FF0, 0x0062], NFKC: [0x0061, 0x0334, 0x1CE5, 0x16FF0, 0x0062], NFKD: [0x0061, 0x0334, 0x1CE5, 0x16FF0, 0x0062] }, -{ source: [0x0061, 0x1CE5, 0x16FF0, 0x0334, 0x0062], NFC: [0x0061, 0x1CE5, 0x0334, 0x16FF0, 0x0062], NFD: [0x0061, 0x1CE5, 0x0334, 0x16FF0, 0x0062], NFKC: [0x0061, 0x1CE5, 0x0334, 0x16FF0, 0x0062], NFKD: [0x0061, 0x1CE5, 0x0334, 0x16FF0, 0x0062] }, -{ source: [0x0061, 0x16FF0, 0x0334, 0x1CE6, 0x0062], NFC: [0x0061, 0x0334, 0x1CE6, 0x16FF0, 0x0062], NFD: [0x0061, 0x0334, 0x1CE6, 0x16FF0, 0x0062], NFKC: [0x0061, 0x0334, 0x1CE6, 0x16FF0, 0x0062], NFKD: [0x0061, 0x0334, 0x1CE6, 0x16FF0, 0x0062] }, -{ source: [0x0061, 0x1CE6, 0x16FF0, 0x0334, 0x0062], NFC: [0x0061, 0x1CE6, 0x0334, 0x16FF0, 0x0062], NFD: [0x0061, 0x1CE6, 0x0334, 0x16FF0, 0x0062], NFKC: [0x0061, 0x1CE6, 0x0334, 0x16FF0, 0x0062], NFKD: [0x0061, 0x1CE6, 0x0334, 0x16FF0, 0x0062] }, -{ source: [0x0061, 0x16FF0, 0x0334, 0x1CE7, 0x0062], NFC: [0x0061, 0x0334, 0x1CE7, 0x16FF0, 0x0062], NFD: [0x0061, 0x0334, 0x1CE7, 0x16FF0, 0x0062], NFKC: [0x0061, 0x0334, 0x1CE7, 0x16FF0, 0x0062], NFKD: [0x0061, 0x0334, 0x1CE7, 0x16FF0, 0x0062] }, -{ source: [0x0061, 0x1CE7, 0x16FF0, 0x0334, 0x0062], NFC: [0x0061, 0x1CE7, 0x0334, 0x16FF0, 0x0062], NFD: [0x0061, 0x1CE7, 0x0334, 0x16FF0, 0x0062], NFKC: [0x0061, 0x1CE7, 0x0334, 0x16FF0, 0x0062], NFKD: [0x0061, 0x1CE7, 0x0334, 0x16FF0, 0x0062] }, -{ source: [0x0061, 0x16FF0, 0x0334, 0x1CE8, 0x0062], NFC: [0x0061, 0x0334, 0x1CE8, 0x16FF0, 0x0062], NFD: [0x0061, 0x0334, 0x1CE8, 0x16FF0, 0x0062], NFKC: [0x0061, 0x0334, 0x1CE8, 0x16FF0, 0x0062], NFKD: [0x0061, 0x0334, 0x1CE8, 0x16FF0, 0x0062] }, -{ source: [0x0061, 0x1CE8, 0x16FF0, 0x0334, 0x0062], NFC: [0x0061, 0x1CE8, 0x0334, 0x16FF0, 0x0062], NFD: [0x0061, 0x1CE8, 0x0334, 0x16FF0, 0x0062], NFKC: [0x0061, 0x1CE8, 0x0334, 0x16FF0, 0x0062], NFKD: [0x0061, 0x1CE8, 0x0334, 0x16FF0, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x1CED, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x1CED, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x1CED, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x1CED, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x1CED, 0x059A, 0x0062] }, -{ source: [0x0061, 0x1CED, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x1CED, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x1CED, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x1CED, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x1CED, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1CF4, 0x0062], NFC: [0x00E0, 0x05AE, 0x1CF4, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1CF4, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1CF4, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1CF4, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1CF4, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1CF4, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1CF4, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1CF4, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1CF4, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1CF8, 0x0062], NFC: [0x00E0, 0x05AE, 0x1CF8, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1CF8, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1CF8, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1CF8, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1CF8, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1CF8, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1CF8, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1CF8, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1CF8, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1CF9, 0x0062], NFC: [0x00E0, 0x05AE, 0x1CF9, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1CF9, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1CF9, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1CF9, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1CF9, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1CF9, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1CF9, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1CF9, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1CF9, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1DC0, 0x0062], NFC: [0x00E0, 0x05AE, 0x1DC0, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1DC0, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1DC0, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1DC0, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1DC0, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1DC0, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1DC0, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1DC0, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1DC0, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1DC1, 0x0062], NFC: [0x00E0, 0x05AE, 0x1DC1, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1DC1, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1DC1, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1DC1, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1DC1, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1DC1, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1DC1, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1DC1, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1DC1, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x1DC2, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x1DC2, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x1DC2, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x1DC2, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x1DC2, 0x059A, 0x0062] }, -{ source: [0x0061, 0x1DC2, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x1DC2, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x1DC2, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x1DC2, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x1DC2, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1DC3, 0x0062], NFC: [0x00E0, 0x05AE, 0x1DC3, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1DC3, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1DC3, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1DC3, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1DC3, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1DC3, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1DC3, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1DC3, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1DC3, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1DC4, 0x0062], NFC: [0x00E0, 0x05AE, 0x1DC4, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1DC4, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1DC4, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1DC4, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1DC4, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1DC4, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1DC4, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1DC4, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1DC4, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1DC5, 0x0062], NFC: [0x00E0, 0x05AE, 0x1DC5, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1DC5, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1DC5, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1DC5, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1DC5, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1DC5, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1DC5, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1DC5, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1DC5, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1DC6, 0x0062], NFC: [0x00E0, 0x05AE, 0x1DC6, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1DC6, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1DC6, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1DC6, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1DC6, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1DC6, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1DC6, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1DC6, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1DC6, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1DC7, 0x0062], NFC: [0x00E0, 0x05AE, 0x1DC7, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1DC7, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1DC7, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1DC7, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1DC7, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1DC7, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1DC7, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1DC7, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1DC7, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1DC8, 0x0062], NFC: [0x00E0, 0x05AE, 0x1DC8, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1DC8, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1DC8, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1DC8, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1DC8, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1DC8, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1DC8, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1DC8, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1DC8, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1DC9, 0x0062], NFC: [0x00E0, 0x05AE, 0x1DC9, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1DC9, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1DC9, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1DC9, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1DC9, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1DC9, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1DC9, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1DC9, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1DC9, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x1DCA, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x1DCA, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x1DCA, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x1DCA, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x1DCA, 0x059A, 0x0062] }, -{ source: [0x0061, 0x1DCA, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x1DCA, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x1DCA, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x1DCA, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x1DCA, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1DCB, 0x0062], NFC: [0x00E0, 0x05AE, 0x1DCB, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1DCB, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1DCB, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1DCB, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1DCB, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1DCB, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1DCB, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1DCB, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1DCB, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1DCC, 0x0062], NFC: [0x00E0, 0x05AE, 0x1DCC, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1DCC, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1DCC, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1DCC, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1DCC, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1DCC, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1DCC, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1DCC, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1DCC, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0345, 0x035D, 0x035C, 0x1DCD, 0x0062], NFC: [0x0061, 0x035C, 0x035D, 0x1DCD, 0x0345, 0x0062], NFD: [0x0061, 0x035C, 0x035D, 0x1DCD, 0x0345, 0x0062], NFKC: [0x0061, 0x035C, 0x035D, 0x1DCD, 0x0345, 0x0062], NFKD: [0x0061, 0x035C, 0x035D, 0x1DCD, 0x0345, 0x0062] }, -{ source: [0x0061, 0x1DCD, 0x0345, 0x035D, 0x035C, 0x0062], NFC: [0x0061, 0x035C, 0x1DCD, 0x035D, 0x0345, 0x0062], NFD: [0x0061, 0x035C, 0x1DCD, 0x035D, 0x0345, 0x0062], NFKC: [0x0061, 0x035C, 0x1DCD, 0x035D, 0x0345, 0x0062], NFKD: [0x0061, 0x035C, 0x1DCD, 0x035D, 0x0345, 0x0062] }, -{ source: [0x0061, 0x031B, 0x1DCE, 0x0321, 0x1DCE, 0x0062], NFC: [0x0061, 0x0321, 0x1DCE, 0x1DCE, 0x031B, 0x0062], NFD: [0x0061, 0x0321, 0x1DCE, 0x1DCE, 0x031B, 0x0062], NFKC: [0x0061, 0x0321, 0x1DCE, 0x1DCE, 0x031B, 0x0062], NFKD: [0x0061, 0x0321, 0x1DCE, 0x1DCE, 0x031B, 0x0062] }, -{ source: [0x0061, 0x1DCE, 0x031B, 0x1DCE, 0x0321, 0x0062], NFC: [0x0061, 0x0321, 0x1DCE, 0x1DCE, 0x031B, 0x0062], NFD: [0x0061, 0x0321, 0x1DCE, 0x1DCE, 0x031B, 0x0062], NFKC: [0x0061, 0x0321, 0x1DCE, 0x1DCE, 0x031B, 0x0062], NFKD: [0x0061, 0x0321, 0x1DCE, 0x1DCE, 0x031B, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x1DCF, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x1DCF, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x1DCF, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x1DCF, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x1DCF, 0x059A, 0x0062] }, -{ source: [0x0061, 0x1DCF, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x1DCF, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x1DCF, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x1DCF, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x1DCF, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x1DCE, 0x0321, 0x0F74, 0x1DD0, 0x0062], NFC: [0x0061, 0x0F74, 0x0321, 0x1DD0, 0x1DCE, 0x0062], NFD: [0x0061, 0x0F74, 0x0321, 0x1DD0, 0x1DCE, 0x0062], NFKC: [0x0061, 0x0F74, 0x0321, 0x1DD0, 0x1DCE, 0x0062], NFKD: [0x0061, 0x0F74, 0x0321, 0x1DD0, 0x1DCE, 0x0062] }, -{ source: [0x0061, 0x1DD0, 0x1DCE, 0x0321, 0x0F74, 0x0062], NFC: [0x0061, 0x0F74, 0x1DD0, 0x0321, 0x1DCE, 0x0062], NFD: [0x0061, 0x0F74, 0x1DD0, 0x0321, 0x1DCE, 0x0062], NFKC: [0x0061, 0x0F74, 0x1DD0, 0x0321, 0x1DCE, 0x0062], NFKD: [0x0061, 0x0F74, 0x1DD0, 0x0321, 0x1DCE, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1DD1, 0x0062], NFC: [0x00E0, 0x05AE, 0x1DD1, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1DD1, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1DD1, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1DD1, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1DD1, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1DD1, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1DD1, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1DD1, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1DD1, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1DD2, 0x0062], NFC: [0x00E0, 0x05AE, 0x1DD2, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1DD2, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1DD2, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1DD2, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1DD2, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1DD2, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1DD2, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1DD2, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1DD2, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1DD3, 0x0062], NFC: [0x00E0, 0x05AE, 0x1DD3, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1DD3, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1DD3, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1DD3, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1DD3, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1DD3, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1DD3, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1DD3, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1DD3, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1DD4, 0x0062], NFC: [0x00E0, 0x05AE, 0x1DD4, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1DD4, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1DD4, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1DD4, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1DD4, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1DD4, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1DD4, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1DD4, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1DD4, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1DD5, 0x0062], NFC: [0x00E0, 0x05AE, 0x1DD5, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1DD5, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1DD5, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1DD5, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1DD5, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1DD5, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1DD5, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1DD5, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1DD5, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1DD6, 0x0062], NFC: [0x00E0, 0x05AE, 0x1DD6, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1DD6, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1DD6, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1DD6, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1DD6, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1DD6, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1DD6, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1DD6, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1DD6, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1DD7, 0x0062], NFC: [0x00E0, 0x05AE, 0x1DD7, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1DD7, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1DD7, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1DD7, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1DD7, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1DD7, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1DD7, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1DD7, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1DD7, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1DD8, 0x0062], NFC: [0x00E0, 0x05AE, 0x1DD8, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1DD8, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1DD8, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1DD8, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1DD8, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1DD8, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1DD8, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1DD8, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1DD8, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1DD9, 0x0062], NFC: [0x00E0, 0x05AE, 0x1DD9, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1DD9, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1DD9, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1DD9, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1DD9, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1DD9, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1DD9, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1DD9, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1DD9, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1DDA, 0x0062], NFC: [0x00E0, 0x05AE, 0x1DDA, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1DDA, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1DDA, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1DDA, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1DDA, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1DDA, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1DDA, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1DDA, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1DDA, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1DDB, 0x0062], NFC: [0x00E0, 0x05AE, 0x1DDB, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1DDB, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1DDB, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1DDB, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1DDB, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1DDB, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1DDB, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1DDB, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1DDB, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1DDC, 0x0062], NFC: [0x00E0, 0x05AE, 0x1DDC, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1DDC, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1DDC, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1DDC, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1DDC, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1DDC, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1DDC, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1DDC, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1DDC, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1DDD, 0x0062], NFC: [0x00E0, 0x05AE, 0x1DDD, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1DDD, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1DDD, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1DDD, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1DDD, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1DDD, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1DDD, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1DDD, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1DDD, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1DDE, 0x0062], NFC: [0x00E0, 0x05AE, 0x1DDE, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1DDE, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1DDE, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1DDE, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1DDE, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1DDE, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1DDE, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1DDE, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1DDE, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1DDF, 0x0062], NFC: [0x00E0, 0x05AE, 0x1DDF, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1DDF, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1DDF, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1DDF, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1DDF, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1DDF, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1DDF, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1DDF, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1DDF, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1DE0, 0x0062], NFC: [0x00E0, 0x05AE, 0x1DE0, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1DE0, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1DE0, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1DE0, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1DE0, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1DE0, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1DE0, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1DE0, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1DE0, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1DE1, 0x0062], NFC: [0x00E0, 0x05AE, 0x1DE1, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1DE1, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1DE1, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1DE1, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1DE1, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1DE1, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1DE1, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1DE1, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1DE1, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1DE2, 0x0062], NFC: [0x00E0, 0x05AE, 0x1DE2, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1DE2, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1DE2, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1DE2, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1DE2, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1DE2, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1DE2, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1DE2, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1DE2, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1DE3, 0x0062], NFC: [0x00E0, 0x05AE, 0x1DE3, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1DE3, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1DE3, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1DE3, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1DE3, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1DE3, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1DE3, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1DE3, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1DE3, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1DE4, 0x0062], NFC: [0x00E0, 0x05AE, 0x1DE4, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1DE4, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1DE4, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1DE4, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1DE4, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1DE4, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1DE4, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1DE4, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1DE4, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1DE5, 0x0062], NFC: [0x00E0, 0x05AE, 0x1DE5, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1DE5, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1DE5, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1DE5, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1DE5, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1DE5, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1DE5, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1DE5, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1DE5, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1DE6, 0x0062], NFC: [0x00E0, 0x05AE, 0x1DE6, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1DE6, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1DE6, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1DE6, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1DE6, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1DE6, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1DE6, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1DE6, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1DE6, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1DE7, 0x0062], NFC: [0x00E0, 0x05AE, 0x1DE7, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1DE7, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1DE7, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1DE7, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1DE7, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1DE7, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1DE7, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1DE7, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1DE7, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1DE8, 0x0062], NFC: [0x00E0, 0x05AE, 0x1DE8, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1DE8, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1DE8, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1DE8, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1DE8, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1DE8, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1DE8, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1DE8, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1DE8, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1DE9, 0x0062], NFC: [0x00E0, 0x05AE, 0x1DE9, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1DE9, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1DE9, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1DE9, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1DE9, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1DE9, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1DE9, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1DE9, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1DE9, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1DEA, 0x0062], NFC: [0x00E0, 0x05AE, 0x1DEA, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1DEA, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1DEA, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1DEA, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1DEA, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1DEA, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1DEA, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1DEA, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1DEA, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1DEB, 0x0062], NFC: [0x00E0, 0x05AE, 0x1DEB, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1DEB, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1DEB, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1DEB, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1DEB, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1DEB, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1DEB, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1DEB, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1DEB, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1DEC, 0x0062], NFC: [0x00E0, 0x05AE, 0x1DEC, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1DEC, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1DEC, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1DEC, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1DEC, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1DEC, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1DEC, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1DEC, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1DEC, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1DED, 0x0062], NFC: [0x00E0, 0x05AE, 0x1DED, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1DED, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1DED, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1DED, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1DED, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1DED, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1DED, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1DED, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1DED, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1DEE, 0x0062], NFC: [0x00E0, 0x05AE, 0x1DEE, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1DEE, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1DEE, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1DEE, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1DEE, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1DEE, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1DEE, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1DEE, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1DEE, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1DEF, 0x0062], NFC: [0x00E0, 0x05AE, 0x1DEF, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1DEF, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1DEF, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1DEF, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1DEF, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1DEF, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1DEF, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1DEF, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1DEF, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1DF0, 0x0062], NFC: [0x00E0, 0x05AE, 0x1DF0, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1DF0, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1DF0, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1DF0, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1DF0, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1DF0, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1DF0, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1DF0, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1DF0, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1DF1, 0x0062], NFC: [0x00E0, 0x05AE, 0x1DF1, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1DF1, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1DF1, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1DF1, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1DF1, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1DF1, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1DF1, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1DF1, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1DF1, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1DF2, 0x0062], NFC: [0x00E0, 0x05AE, 0x1DF2, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1DF2, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1DF2, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1DF2, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1DF2, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1DF2, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1DF2, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1DF2, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1DF2, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1DF3, 0x0062], NFC: [0x00E0, 0x05AE, 0x1DF3, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1DF3, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1DF3, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1DF3, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1DF3, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1DF3, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1DF3, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1DF3, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1DF3, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1DF4, 0x0062], NFC: [0x00E0, 0x05AE, 0x1DF4, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1DF4, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1DF4, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1DF4, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1DF4, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1DF4, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1DF4, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1DF4, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1DF4, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1DF5, 0x0062], NFC: [0x00E0, 0x05AE, 0x1DF5, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1DF5, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1DF5, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1DF5, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1DF5, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1DF5, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1DF5, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1DF5, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1DF5, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x035C, 0x0315, 0x0300, 0x1DF6, 0x0062], NFC: [0x00E0, 0x0315, 0x1DF6, 0x035C, 0x0062], NFD: [0x0061, 0x0300, 0x0315, 0x1DF6, 0x035C, 0x0062], NFKC: [0x00E0, 0x0315, 0x1DF6, 0x035C, 0x0062], NFKD: [0x0061, 0x0300, 0x0315, 0x1DF6, 0x035C, 0x0062] }, -{ source: [0x0061, 0x1DF6, 0x035C, 0x0315, 0x0300, 0x0062], NFC: [0x00E0, 0x1DF6, 0x0315, 0x035C, 0x0062], NFD: [0x0061, 0x0300, 0x1DF6, 0x0315, 0x035C, 0x0062], NFKC: [0x00E0, 0x1DF6, 0x0315, 0x035C, 0x0062], NFKD: [0x0061, 0x0300, 0x1DF6, 0x0315, 0x035C, 0x0062] }, -{ source: [0x0061, 0x0300, 0x05AE, 0x1D16D, 0x1DF7, 0x0062], NFC: [0x00E0, 0x1D16D, 0x05AE, 0x1DF7, 0x0062], NFD: [0x0061, 0x1D16D, 0x05AE, 0x1DF7, 0x0300, 0x0062], NFKC: [0x00E0, 0x1D16D, 0x05AE, 0x1DF7, 0x0062], NFKD: [0x0061, 0x1D16D, 0x05AE, 0x1DF7, 0x0300, 0x0062] }, -{ source: [0x0061, 0x1DF7, 0x0300, 0x05AE, 0x1D16D, 0x0062], NFC: [0x00E0, 0x1D16D, 0x1DF7, 0x05AE, 0x0062], NFD: [0x0061, 0x1D16D, 0x1DF7, 0x05AE, 0x0300, 0x0062], NFKC: [0x00E0, 0x1D16D, 0x1DF7, 0x05AE, 0x0062], NFKD: [0x0061, 0x1D16D, 0x1DF7, 0x05AE, 0x0300, 0x0062] }, -{ source: [0x0061, 0x0300, 0x05AE, 0x1D16D, 0x1DF8, 0x0062], NFC: [0x00E0, 0x1D16D, 0x05AE, 0x1DF8, 0x0062], NFD: [0x0061, 0x1D16D, 0x05AE, 0x1DF8, 0x0300, 0x0062], NFKC: [0x00E0, 0x1D16D, 0x05AE, 0x1DF8, 0x0062], NFKD: [0x0061, 0x1D16D, 0x05AE, 0x1DF8, 0x0300, 0x0062] }, -{ source: [0x0061, 0x1DF8, 0x0300, 0x05AE, 0x1D16D, 0x0062], NFC: [0x00E0, 0x1D16D, 0x1DF8, 0x05AE, 0x0062], NFD: [0x0061, 0x1D16D, 0x1DF8, 0x05AE, 0x0300, 0x0062], NFKC: [0x00E0, 0x1D16D, 0x1DF8, 0x05AE, 0x0062], NFKD: [0x0061, 0x1D16D, 0x1DF8, 0x05AE, 0x0300, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x1DF9, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x1DF9, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x1DF9, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x1DF9, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x1DF9, 0x059A, 0x0062] }, -{ source: [0x0061, 0x1DF9, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x1DF9, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x1DF9, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x1DF9, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x1DF9, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x0316, 0x1DFA, 0x031B, 0x1DFA, 0x0062], NFC: [0x0061, 0x031B, 0x1DFA, 0x1DFA, 0x0316, 0x0062], NFD: [0x0061, 0x031B, 0x1DFA, 0x1DFA, 0x0316, 0x0062], NFKC: [0x0061, 0x031B, 0x1DFA, 0x1DFA, 0x0316, 0x0062], NFKD: [0x0061, 0x031B, 0x1DFA, 0x1DFA, 0x0316, 0x0062] }, -{ source: [0x0061, 0x1DFA, 0x0316, 0x1DFA, 0x031B, 0x0062], NFC: [0x0061, 0x031B, 0x1DFA, 0x1DFA, 0x0316, 0x0062], NFD: [0x0061, 0x031B, 0x1DFA, 0x1DFA, 0x0316, 0x0062], NFKC: [0x0061, 0x031B, 0x1DFA, 0x1DFA, 0x0316, 0x0062], NFKD: [0x0061, 0x031B, 0x1DFA, 0x1DFA, 0x0316, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1DFB, 0x0062], NFC: [0x00E0, 0x05AE, 0x1DFB, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1DFB, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1DFB, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1DFB, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1DFB, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1DFB, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1DFB, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1DFB, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1DFB, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x035D, 0x035C, 0x0315, 0x1DFC, 0x0062], NFC: [0x0061, 0x0315, 0x035C, 0x1DFC, 0x035D, 0x0062], NFD: [0x0061, 0x0315, 0x035C, 0x1DFC, 0x035D, 0x0062], NFKC: [0x0061, 0x0315, 0x035C, 0x1DFC, 0x035D, 0x0062], NFKD: [0x0061, 0x0315, 0x035C, 0x1DFC, 0x035D, 0x0062] }, -{ source: [0x0061, 0x1DFC, 0x035D, 0x035C, 0x0315, 0x0062], NFC: [0x0061, 0x0315, 0x1DFC, 0x035C, 0x035D, 0x0062], NFD: [0x0061, 0x0315, 0x1DFC, 0x035C, 0x035D, 0x0062], NFKC: [0x0061, 0x0315, 0x1DFC, 0x035C, 0x035D, 0x0062], NFKD: [0x0061, 0x0315, 0x1DFC, 0x035C, 0x035D, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x1DFD, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x1DFD, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x1DFD, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x1DFD, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x1DFD, 0x059A, 0x0062] }, -{ source: [0x0061, 0x1DFD, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x1DFD, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x1DFD, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x1DFD, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x1DFD, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1DFE, 0x0062], NFC: [0x00E0, 0x05AE, 0x1DFE, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1DFE, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1DFE, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1DFE, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1DFE, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1DFE, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1DFE, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1DFE, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1DFE, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x1DFF, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x1DFF, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x1DFF, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x1DFF, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x1DFF, 0x059A, 0x0062] }, -{ source: [0x0061, 0x1DFF, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x1DFF, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x1DFF, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x1DFF, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x1DFF, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x20D0, 0x0062], NFC: [0x00E0, 0x05AE, 0x20D0, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x20D0, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x20D0, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x20D0, 0x0315, 0x0062] }, -{ source: [0x0061, 0x20D0, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x20D0, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x20D0, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x20D0, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x20D0, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x20D1, 0x0062], NFC: [0x00E0, 0x05AE, 0x20D1, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x20D1, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x20D1, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x20D1, 0x0315, 0x0062] }, -{ source: [0x0061, 0x20D1, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x20D1, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x20D1, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x20D1, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x20D1, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x16FF0, 0x0334, 0x20D2, 0x0062], NFC: [0x0061, 0x0334, 0x20D2, 0x16FF0, 0x0062], NFD: [0x0061, 0x0334, 0x20D2, 0x16FF0, 0x0062], NFKC: [0x0061, 0x0334, 0x20D2, 0x16FF0, 0x0062], NFKD: [0x0061, 0x0334, 0x20D2, 0x16FF0, 0x0062] }, -{ source: [0x0061, 0x20D2, 0x16FF0, 0x0334, 0x0062], NFC: [0x0061, 0x20D2, 0x0334, 0x16FF0, 0x0062], NFD: [0x0061, 0x20D2, 0x0334, 0x16FF0, 0x0062], NFKC: [0x0061, 0x20D2, 0x0334, 0x16FF0, 0x0062], NFKD: [0x0061, 0x20D2, 0x0334, 0x16FF0, 0x0062] }, -{ source: [0x0061, 0x16FF0, 0x0334, 0x20D3, 0x0062], NFC: [0x0061, 0x0334, 0x20D3, 0x16FF0, 0x0062], NFD: [0x0061, 0x0334, 0x20D3, 0x16FF0, 0x0062], NFKC: [0x0061, 0x0334, 0x20D3, 0x16FF0, 0x0062], NFKD: [0x0061, 0x0334, 0x20D3, 0x16FF0, 0x0062] }, -{ source: [0x0061, 0x20D3, 0x16FF0, 0x0334, 0x0062], NFC: [0x0061, 0x20D3, 0x0334, 0x16FF0, 0x0062], NFD: [0x0061, 0x20D3, 0x0334, 0x16FF0, 0x0062], NFKC: [0x0061, 0x20D3, 0x0334, 0x16FF0, 0x0062], NFKD: [0x0061, 0x20D3, 0x0334, 0x16FF0, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x20D4, 0x0062], NFC: [0x00E0, 0x05AE, 0x20D4, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x20D4, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x20D4, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x20D4, 0x0315, 0x0062] }, -{ source: [0x0061, 0x20D4, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x20D4, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x20D4, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x20D4, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x20D4, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x20D5, 0x0062], NFC: [0x00E0, 0x05AE, 0x20D5, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x20D5, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x20D5, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x20D5, 0x0315, 0x0062] }, -{ source: [0x0061, 0x20D5, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x20D5, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x20D5, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x20D5, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x20D5, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x20D6, 0x0062], NFC: [0x00E0, 0x05AE, 0x20D6, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x20D6, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x20D6, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x20D6, 0x0315, 0x0062] }, -{ source: [0x0061, 0x20D6, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x20D6, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x20D6, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x20D6, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x20D6, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x20D7, 0x0062], NFC: [0x00E0, 0x05AE, 0x20D7, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x20D7, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x20D7, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x20D7, 0x0315, 0x0062] }, -{ source: [0x0061, 0x20D7, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x20D7, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x20D7, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x20D7, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x20D7, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x16FF0, 0x0334, 0x20D8, 0x0062], NFC: [0x0061, 0x0334, 0x20D8, 0x16FF0, 0x0062], NFD: [0x0061, 0x0334, 0x20D8, 0x16FF0, 0x0062], NFKC: [0x0061, 0x0334, 0x20D8, 0x16FF0, 0x0062], NFKD: [0x0061, 0x0334, 0x20D8, 0x16FF0, 0x0062] }, -{ source: [0x0061, 0x20D8, 0x16FF0, 0x0334, 0x0062], NFC: [0x0061, 0x20D8, 0x0334, 0x16FF0, 0x0062], NFD: [0x0061, 0x20D8, 0x0334, 0x16FF0, 0x0062], NFKC: [0x0061, 0x20D8, 0x0334, 0x16FF0, 0x0062], NFKD: [0x0061, 0x20D8, 0x0334, 0x16FF0, 0x0062] }, -{ source: [0x0061, 0x16FF0, 0x0334, 0x20D9, 0x0062], NFC: [0x0061, 0x0334, 0x20D9, 0x16FF0, 0x0062], NFD: [0x0061, 0x0334, 0x20D9, 0x16FF0, 0x0062], NFKC: [0x0061, 0x0334, 0x20D9, 0x16FF0, 0x0062], NFKD: [0x0061, 0x0334, 0x20D9, 0x16FF0, 0x0062] }, -{ source: [0x0061, 0x20D9, 0x16FF0, 0x0334, 0x0062], NFC: [0x0061, 0x20D9, 0x0334, 0x16FF0, 0x0062], NFD: [0x0061, 0x20D9, 0x0334, 0x16FF0, 0x0062], NFKC: [0x0061, 0x20D9, 0x0334, 0x16FF0, 0x0062], NFKD: [0x0061, 0x20D9, 0x0334, 0x16FF0, 0x0062] }, -{ source: [0x0061, 0x16FF0, 0x0334, 0x20DA, 0x0062], NFC: [0x0061, 0x0334, 0x20DA, 0x16FF0, 0x0062], NFD: [0x0061, 0x0334, 0x20DA, 0x16FF0, 0x0062], NFKC: [0x0061, 0x0334, 0x20DA, 0x16FF0, 0x0062], NFKD: [0x0061, 0x0334, 0x20DA, 0x16FF0, 0x0062] }, -{ source: [0x0061, 0x20DA, 0x16FF0, 0x0334, 0x0062], NFC: [0x0061, 0x20DA, 0x0334, 0x16FF0, 0x0062], NFD: [0x0061, 0x20DA, 0x0334, 0x16FF0, 0x0062], NFKC: [0x0061, 0x20DA, 0x0334, 0x16FF0, 0x0062], NFKD: [0x0061, 0x20DA, 0x0334, 0x16FF0, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x20DB, 0x0062], NFC: [0x00E0, 0x05AE, 0x20DB, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x20DB, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x20DB, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x20DB, 0x0315, 0x0062] }, -{ source: [0x0061, 0x20DB, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x20DB, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x20DB, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x20DB, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x20DB, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x20DC, 0x0062], NFC: [0x00E0, 0x05AE, 0x20DC, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x20DC, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x20DC, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x20DC, 0x0315, 0x0062] }, -{ source: [0x0061, 0x20DC, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x20DC, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x20DC, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x20DC, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x20DC, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x20E1, 0x0062], NFC: [0x00E0, 0x05AE, 0x20E1, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x20E1, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x20E1, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x20E1, 0x0315, 0x0062] }, -{ source: [0x0061, 0x20E1, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x20E1, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x20E1, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x20E1, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x20E1, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x16FF0, 0x0334, 0x20E5, 0x0062], NFC: [0x0061, 0x0334, 0x20E5, 0x16FF0, 0x0062], NFD: [0x0061, 0x0334, 0x20E5, 0x16FF0, 0x0062], NFKC: [0x0061, 0x0334, 0x20E5, 0x16FF0, 0x0062], NFKD: [0x0061, 0x0334, 0x20E5, 0x16FF0, 0x0062] }, -{ source: [0x0061, 0x20E5, 0x16FF0, 0x0334, 0x0062], NFC: [0x0061, 0x20E5, 0x0334, 0x16FF0, 0x0062], NFD: [0x0061, 0x20E5, 0x0334, 0x16FF0, 0x0062], NFKC: [0x0061, 0x20E5, 0x0334, 0x16FF0, 0x0062], NFKD: [0x0061, 0x20E5, 0x0334, 0x16FF0, 0x0062] }, -{ source: [0x0061, 0x16FF0, 0x0334, 0x20E6, 0x0062], NFC: [0x0061, 0x0334, 0x20E6, 0x16FF0, 0x0062], NFD: [0x0061, 0x0334, 0x20E6, 0x16FF0, 0x0062], NFKC: [0x0061, 0x0334, 0x20E6, 0x16FF0, 0x0062], NFKD: [0x0061, 0x0334, 0x20E6, 0x16FF0, 0x0062] }, -{ source: [0x0061, 0x20E6, 0x16FF0, 0x0334, 0x0062], NFC: [0x0061, 0x20E6, 0x0334, 0x16FF0, 0x0062], NFD: [0x0061, 0x20E6, 0x0334, 0x16FF0, 0x0062], NFKC: [0x0061, 0x20E6, 0x0334, 0x16FF0, 0x0062], NFKD: [0x0061, 0x20E6, 0x0334, 0x16FF0, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x20E7, 0x0062], NFC: [0x00E0, 0x05AE, 0x20E7, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x20E7, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x20E7, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x20E7, 0x0315, 0x0062] }, -{ source: [0x0061, 0x20E7, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x20E7, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x20E7, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x20E7, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x20E7, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x20E8, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x20E8, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x20E8, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x20E8, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x20E8, 0x059A, 0x0062] }, -{ source: [0x0061, 0x20E8, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x20E8, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x20E8, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x20E8, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x20E8, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x20E9, 0x0062], NFC: [0x00E0, 0x05AE, 0x20E9, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x20E9, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x20E9, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x20E9, 0x0315, 0x0062] }, -{ source: [0x0061, 0x20E9, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x20E9, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x20E9, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x20E9, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x20E9, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x16FF0, 0x0334, 0x20EA, 0x0062], NFC: [0x0061, 0x0334, 0x20EA, 0x16FF0, 0x0062], NFD: [0x0061, 0x0334, 0x20EA, 0x16FF0, 0x0062], NFKC: [0x0061, 0x0334, 0x20EA, 0x16FF0, 0x0062], NFKD: [0x0061, 0x0334, 0x20EA, 0x16FF0, 0x0062] }, -{ source: [0x0061, 0x20EA, 0x16FF0, 0x0334, 0x0062], NFC: [0x0061, 0x20EA, 0x0334, 0x16FF0, 0x0062], NFD: [0x0061, 0x20EA, 0x0334, 0x16FF0, 0x0062], NFKC: [0x0061, 0x20EA, 0x0334, 0x16FF0, 0x0062], NFKD: [0x0061, 0x20EA, 0x0334, 0x16FF0, 0x0062] }, -{ source: [0x0061, 0x16FF0, 0x0334, 0x20EB, 0x0062], NFC: [0x0061, 0x0334, 0x20EB, 0x16FF0, 0x0062], NFD: [0x0061, 0x0334, 0x20EB, 0x16FF0, 0x0062], NFKC: [0x0061, 0x0334, 0x20EB, 0x16FF0, 0x0062], NFKD: [0x0061, 0x0334, 0x20EB, 0x16FF0, 0x0062] }, -{ source: [0x0061, 0x20EB, 0x16FF0, 0x0334, 0x0062], NFC: [0x0061, 0x20EB, 0x0334, 0x16FF0, 0x0062], NFD: [0x0061, 0x20EB, 0x0334, 0x16FF0, 0x0062], NFKC: [0x0061, 0x20EB, 0x0334, 0x16FF0, 0x0062], NFKD: [0x0061, 0x20EB, 0x0334, 0x16FF0, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x20EC, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x20EC, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x20EC, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x20EC, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x20EC, 0x059A, 0x0062] }, -{ source: [0x0061, 0x20EC, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x20EC, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x20EC, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x20EC, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x20EC, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x20ED, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x20ED, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x20ED, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x20ED, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x20ED, 0x059A, 0x0062] }, -{ source: [0x0061, 0x20ED, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x20ED, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x20ED, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x20ED, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x20ED, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x20EE, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x20EE, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x20EE, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x20EE, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x20EE, 0x059A, 0x0062] }, -{ source: [0x0061, 0x20EE, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x20EE, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x20EE, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x20EE, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x20EE, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x20EF, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x20EF, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x20EF, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x20EF, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x20EF, 0x059A, 0x0062] }, -{ source: [0x0061, 0x20EF, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x20EF, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x20EF, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x20EF, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x20EF, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x20F0, 0x0062], NFC: [0x00E0, 0x05AE, 0x20F0, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x20F0, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x20F0, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x20F0, 0x0315, 0x0062] }, -{ source: [0x0061, 0x20F0, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x20F0, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x20F0, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x20F0, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x20F0, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x2CEF, 0x0062], NFC: [0x00E0, 0x05AE, 0x2CEF, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x2CEF, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x2CEF, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x2CEF, 0x0315, 0x0062] }, -{ source: [0x0061, 0x2CEF, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x2CEF, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x2CEF, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x2CEF, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x2CEF, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x2CF0, 0x0062], NFC: [0x00E0, 0x05AE, 0x2CF0, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x2CF0, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x2CF0, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x2CF0, 0x0315, 0x0062] }, -{ source: [0x0061, 0x2CF0, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x2CF0, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x2CF0, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x2CF0, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x2CF0, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x2CF1, 0x0062], NFC: [0x00E0, 0x05AE, 0x2CF1, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x2CF1, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x2CF1, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x2CF1, 0x0315, 0x0062] }, -{ source: [0x0061, 0x2CF1, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x2CF1, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x2CF1, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x2CF1, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x2CF1, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x05B0, 0x094D, 0x3099, 0x2D7F, 0x0062], NFC: [0x0061, 0x3099, 0x094D, 0x2D7F, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x094D, 0x2D7F, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x094D, 0x2D7F, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x094D, 0x2D7F, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x2D7F, 0x05B0, 0x094D, 0x3099, 0x0062], NFC: [0x0061, 0x3099, 0x2D7F, 0x094D, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x2D7F, 0x094D, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x2D7F, 0x094D, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x2D7F, 0x094D, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x2DE0, 0x0062], NFC: [0x00E0, 0x05AE, 0x2DE0, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x2DE0, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x2DE0, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x2DE0, 0x0315, 0x0062] }, -{ source: [0x0061, 0x2DE0, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x2DE0, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x2DE0, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x2DE0, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x2DE0, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x2DE1, 0x0062], NFC: [0x00E0, 0x05AE, 0x2DE1, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x2DE1, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x2DE1, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x2DE1, 0x0315, 0x0062] }, -{ source: [0x0061, 0x2DE1, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x2DE1, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x2DE1, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x2DE1, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x2DE1, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x2DE2, 0x0062], NFC: [0x00E0, 0x05AE, 0x2DE2, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x2DE2, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x2DE2, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x2DE2, 0x0315, 0x0062] }, -{ source: [0x0061, 0x2DE2, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x2DE2, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x2DE2, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x2DE2, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x2DE2, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x2DE3, 0x0062], NFC: [0x00E0, 0x05AE, 0x2DE3, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x2DE3, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x2DE3, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x2DE3, 0x0315, 0x0062] }, -{ source: [0x0061, 0x2DE3, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x2DE3, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x2DE3, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x2DE3, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x2DE3, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x2DE4, 0x0062], NFC: [0x00E0, 0x05AE, 0x2DE4, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x2DE4, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x2DE4, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x2DE4, 0x0315, 0x0062] }, -{ source: [0x0061, 0x2DE4, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x2DE4, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x2DE4, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x2DE4, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x2DE4, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x2DE5, 0x0062], NFC: [0x00E0, 0x05AE, 0x2DE5, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x2DE5, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x2DE5, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x2DE5, 0x0315, 0x0062] }, -{ source: [0x0061, 0x2DE5, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x2DE5, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x2DE5, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x2DE5, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x2DE5, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x2DE6, 0x0062], NFC: [0x00E0, 0x05AE, 0x2DE6, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x2DE6, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x2DE6, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x2DE6, 0x0315, 0x0062] }, -{ source: [0x0061, 0x2DE6, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x2DE6, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x2DE6, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x2DE6, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x2DE6, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x2DE7, 0x0062], NFC: [0x00E0, 0x05AE, 0x2DE7, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x2DE7, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x2DE7, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x2DE7, 0x0315, 0x0062] }, -{ source: [0x0061, 0x2DE7, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x2DE7, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x2DE7, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x2DE7, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x2DE7, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x2DE8, 0x0062], NFC: [0x00E0, 0x05AE, 0x2DE8, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x2DE8, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x2DE8, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x2DE8, 0x0315, 0x0062] }, -{ source: [0x0061, 0x2DE8, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x2DE8, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x2DE8, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x2DE8, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x2DE8, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x2DE9, 0x0062], NFC: [0x00E0, 0x05AE, 0x2DE9, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x2DE9, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x2DE9, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x2DE9, 0x0315, 0x0062] }, -{ source: [0x0061, 0x2DE9, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x2DE9, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x2DE9, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x2DE9, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x2DE9, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x2DEA, 0x0062], NFC: [0x00E0, 0x05AE, 0x2DEA, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x2DEA, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x2DEA, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x2DEA, 0x0315, 0x0062] }, -{ source: [0x0061, 0x2DEA, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x2DEA, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x2DEA, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x2DEA, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x2DEA, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x2DEB, 0x0062], NFC: [0x00E0, 0x05AE, 0x2DEB, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x2DEB, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x2DEB, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x2DEB, 0x0315, 0x0062] }, -{ source: [0x0061, 0x2DEB, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x2DEB, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x2DEB, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x2DEB, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x2DEB, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x2DEC, 0x0062], NFC: [0x00E0, 0x05AE, 0x2DEC, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x2DEC, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x2DEC, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x2DEC, 0x0315, 0x0062] }, -{ source: [0x0061, 0x2DEC, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x2DEC, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x2DEC, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x2DEC, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x2DEC, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x2DED, 0x0062], NFC: [0x00E0, 0x05AE, 0x2DED, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x2DED, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x2DED, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x2DED, 0x0315, 0x0062] }, -{ source: [0x0061, 0x2DED, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x2DED, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x2DED, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x2DED, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x2DED, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x2DEE, 0x0062], NFC: [0x00E0, 0x05AE, 0x2DEE, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x2DEE, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x2DEE, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x2DEE, 0x0315, 0x0062] }, -{ source: [0x0061, 0x2DEE, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x2DEE, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x2DEE, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x2DEE, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x2DEE, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x2DEF, 0x0062], NFC: [0x00E0, 0x05AE, 0x2DEF, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x2DEF, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x2DEF, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x2DEF, 0x0315, 0x0062] }, -{ source: [0x0061, 0x2DEF, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x2DEF, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x2DEF, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x2DEF, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x2DEF, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x2DF0, 0x0062], NFC: [0x00E0, 0x05AE, 0x2DF0, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x2DF0, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x2DF0, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x2DF0, 0x0315, 0x0062] }, -{ source: [0x0061, 0x2DF0, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x2DF0, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x2DF0, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x2DF0, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x2DF0, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x2DF1, 0x0062], NFC: [0x00E0, 0x05AE, 0x2DF1, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x2DF1, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x2DF1, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x2DF1, 0x0315, 0x0062] }, -{ source: [0x0061, 0x2DF1, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x2DF1, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x2DF1, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x2DF1, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x2DF1, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x2DF2, 0x0062], NFC: [0x00E0, 0x05AE, 0x2DF2, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x2DF2, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x2DF2, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x2DF2, 0x0315, 0x0062] }, -{ source: [0x0061, 0x2DF2, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x2DF2, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x2DF2, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x2DF2, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x2DF2, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x2DF3, 0x0062], NFC: [0x00E0, 0x05AE, 0x2DF3, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x2DF3, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x2DF3, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x2DF3, 0x0315, 0x0062] }, -{ source: [0x0061, 0x2DF3, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x2DF3, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x2DF3, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x2DF3, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x2DF3, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x2DF4, 0x0062], NFC: [0x00E0, 0x05AE, 0x2DF4, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x2DF4, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x2DF4, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x2DF4, 0x0315, 0x0062] }, -{ source: [0x0061, 0x2DF4, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x2DF4, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x2DF4, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x2DF4, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x2DF4, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x2DF5, 0x0062], NFC: [0x00E0, 0x05AE, 0x2DF5, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x2DF5, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x2DF5, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x2DF5, 0x0315, 0x0062] }, -{ source: [0x0061, 0x2DF5, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x2DF5, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x2DF5, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x2DF5, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x2DF5, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x2DF6, 0x0062], NFC: [0x00E0, 0x05AE, 0x2DF6, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x2DF6, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x2DF6, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x2DF6, 0x0315, 0x0062] }, -{ source: [0x0061, 0x2DF6, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x2DF6, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x2DF6, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x2DF6, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x2DF6, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x2DF7, 0x0062], NFC: [0x00E0, 0x05AE, 0x2DF7, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x2DF7, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x2DF7, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x2DF7, 0x0315, 0x0062] }, -{ source: [0x0061, 0x2DF7, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x2DF7, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x2DF7, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x2DF7, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x2DF7, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x2DF8, 0x0062], NFC: [0x00E0, 0x05AE, 0x2DF8, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x2DF8, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x2DF8, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x2DF8, 0x0315, 0x0062] }, -{ source: [0x0061, 0x2DF8, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x2DF8, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x2DF8, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x2DF8, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x2DF8, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x2DF9, 0x0062], NFC: [0x00E0, 0x05AE, 0x2DF9, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x2DF9, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x2DF9, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x2DF9, 0x0315, 0x0062] }, -{ source: [0x0061, 0x2DF9, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x2DF9, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x2DF9, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x2DF9, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x2DF9, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x2DFA, 0x0062], NFC: [0x00E0, 0x05AE, 0x2DFA, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x2DFA, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x2DFA, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x2DFA, 0x0315, 0x0062] }, -{ source: [0x0061, 0x2DFA, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x2DFA, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x2DFA, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x2DFA, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x2DFA, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x2DFB, 0x0062], NFC: [0x00E0, 0x05AE, 0x2DFB, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x2DFB, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x2DFB, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x2DFB, 0x0315, 0x0062] }, -{ source: [0x0061, 0x2DFB, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x2DFB, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x2DFB, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x2DFB, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x2DFB, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x2DFC, 0x0062], NFC: [0x00E0, 0x05AE, 0x2DFC, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x2DFC, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x2DFC, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x2DFC, 0x0315, 0x0062] }, -{ source: [0x0061, 0x2DFC, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x2DFC, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x2DFC, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x2DFC, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x2DFC, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x2DFD, 0x0062], NFC: [0x00E0, 0x05AE, 0x2DFD, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x2DFD, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x2DFD, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x2DFD, 0x0315, 0x0062] }, -{ source: [0x0061, 0x2DFD, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x2DFD, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x2DFD, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x2DFD, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x2DFD, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x2DFE, 0x0062], NFC: [0x00E0, 0x05AE, 0x2DFE, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x2DFE, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x2DFE, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x2DFE, 0x0315, 0x0062] }, -{ source: [0x0061, 0x2DFE, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x2DFE, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x2DFE, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x2DFE, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x2DFE, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x2DFF, 0x0062], NFC: [0x00E0, 0x05AE, 0x2DFF, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x2DFF, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x2DFF, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x2DFF, 0x0315, 0x0062] }, -{ source: [0x0061, 0x2DFF, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x2DFF, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x2DFF, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x2DFF, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x2DFF, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0316, 0x1DFA, 0x031B, 0x302A, 0x0062], NFC: [0x0061, 0x031B, 0x1DFA, 0x302A, 0x0316, 0x0062], NFD: [0x0061, 0x031B, 0x1DFA, 0x302A, 0x0316, 0x0062], NFKC: [0x0061, 0x031B, 0x1DFA, 0x302A, 0x0316, 0x0062], NFKD: [0x0061, 0x031B, 0x1DFA, 0x302A, 0x0316, 0x0062] }, -{ source: [0x0061, 0x302A, 0x0316, 0x1DFA, 0x031B, 0x0062], NFC: [0x0061, 0x031B, 0x302A, 0x1DFA, 0x0316, 0x0062], NFD: [0x0061, 0x031B, 0x302A, 0x1DFA, 0x0316, 0x0062], NFKC: [0x0061, 0x031B, 0x302A, 0x1DFA, 0x0316, 0x0062], NFKD: [0x0061, 0x031B, 0x302A, 0x1DFA, 0x0316, 0x0062] }, -{ source: [0x0061, 0x0300, 0x05AE, 0x1D16D, 0x302B, 0x0062], NFC: [0x00E0, 0x1D16D, 0x05AE, 0x302B, 0x0062], NFD: [0x0061, 0x1D16D, 0x05AE, 0x302B, 0x0300, 0x0062], NFKC: [0x00E0, 0x1D16D, 0x05AE, 0x302B, 0x0062], NFKD: [0x0061, 0x1D16D, 0x05AE, 0x302B, 0x0300, 0x0062] }, -{ source: [0x0061, 0x302B, 0x0300, 0x05AE, 0x1D16D, 0x0062], NFC: [0x00E0, 0x1D16D, 0x302B, 0x05AE, 0x0062], NFD: [0x0061, 0x1D16D, 0x302B, 0x05AE, 0x0300, 0x0062], NFKC: [0x00E0, 0x1D16D, 0x302B, 0x05AE, 0x0062], NFKD: [0x0061, 0x1D16D, 0x302B, 0x05AE, 0x0300, 0x0062] }, -{ source: [0x0061, 0x035C, 0x0315, 0x0300, 0x302C, 0x0062], NFC: [0x00E0, 0x0315, 0x302C, 0x035C, 0x0062], NFD: [0x0061, 0x0300, 0x0315, 0x302C, 0x035C, 0x0062], NFKC: [0x00E0, 0x0315, 0x302C, 0x035C, 0x0062], NFKD: [0x0061, 0x0300, 0x0315, 0x302C, 0x035C, 0x0062] }, -{ source: [0x0061, 0x302C, 0x035C, 0x0315, 0x0300, 0x0062], NFC: [0x00E0, 0x302C, 0x0315, 0x035C, 0x0062], NFD: [0x0061, 0x0300, 0x302C, 0x0315, 0x035C, 0x0062], NFKC: [0x00E0, 0x302C, 0x0315, 0x035C, 0x0062], NFKD: [0x0061, 0x0300, 0x302C, 0x0315, 0x035C, 0x0062] }, -{ source: [0x0061, 0x302E, 0x059A, 0x0316, 0x302D, 0x0062], NFC: [0x0061, 0x0316, 0x059A, 0x302D, 0x302E, 0x0062], NFD: [0x0061, 0x0316, 0x059A, 0x302D, 0x302E, 0x0062], NFKC: [0x0061, 0x0316, 0x059A, 0x302D, 0x302E, 0x0062], NFKD: [0x0061, 0x0316, 0x059A, 0x302D, 0x302E, 0x0062] }, -{ source: [0x0061, 0x302D, 0x302E, 0x059A, 0x0316, 0x0062], NFC: [0x0061, 0x0316, 0x302D, 0x059A, 0x302E, 0x0062], NFD: [0x0061, 0x0316, 0x302D, 0x059A, 0x302E, 0x0062], NFKC: [0x0061, 0x0316, 0x302D, 0x059A, 0x302E, 0x0062], NFKD: [0x0061, 0x0316, 0x302D, 0x059A, 0x302E, 0x0062] }, -{ source: [0x0061, 0x1D16D, 0x302E, 0x059A, 0x302E, 0x0062], NFC: [0x0061, 0x059A, 0x302E, 0x302E, 0x1D16D, 0x0062], NFD: [0x0061, 0x059A, 0x302E, 0x302E, 0x1D16D, 0x0062], NFKC: [0x0061, 0x059A, 0x302E, 0x302E, 0x1D16D, 0x0062], NFKD: [0x0061, 0x059A, 0x302E, 0x302E, 0x1D16D, 0x0062] }, -{ source: [0x0061, 0x302E, 0x1D16D, 0x302E, 0x059A, 0x0062], NFC: [0x0061, 0x059A, 0x302E, 0x302E, 0x1D16D, 0x0062], NFD: [0x0061, 0x059A, 0x302E, 0x302E, 0x1D16D, 0x0062], NFKC: [0x0061, 0x059A, 0x302E, 0x302E, 0x1D16D, 0x0062], NFKD: [0x0061, 0x059A, 0x302E, 0x302E, 0x1D16D, 0x0062] }, -{ source: [0x0061, 0x1D16D, 0x302E, 0x059A, 0x302F, 0x0062], NFC: [0x0061, 0x059A, 0x302E, 0x302F, 0x1D16D, 0x0062], NFD: [0x0061, 0x059A, 0x302E, 0x302F, 0x1D16D, 0x0062], NFKC: [0x0061, 0x059A, 0x302E, 0x302F, 0x1D16D, 0x0062], NFKD: [0x0061, 0x059A, 0x302E, 0x302F, 0x1D16D, 0x0062] }, -{ source: [0x0061, 0x302F, 0x1D16D, 0x302E, 0x059A, 0x0062], NFC: [0x0061, 0x059A, 0x302F, 0x302E, 0x1D16D, 0x0062], NFD: [0x0061, 0x059A, 0x302F, 0x302E, 0x1D16D, 0x0062], NFKC: [0x0061, 0x059A, 0x302F, 0x302E, 0x1D16D, 0x0062], NFKD: [0x0061, 0x059A, 0x302F, 0x302E, 0x1D16D, 0x0062] }, -{ source: [0x0061, 0x094D, 0x3099, 0x093C, 0x3099, 0x0062], NFC: [0x0061, 0x093C, 0x3099, 0x3099, 0x094D, 0x0062], NFD: [0x0061, 0x093C, 0x3099, 0x3099, 0x094D, 0x0062], NFKC: [0x0061, 0x093C, 0x3099, 0x3099, 0x094D, 0x0062], NFKD: [0x0061, 0x093C, 0x3099, 0x3099, 0x094D, 0x0062] }, -{ source: [0x0061, 0x3099, 0x094D, 0x3099, 0x093C, 0x0062], NFC: [0x0061, 0x093C, 0x3099, 0x3099, 0x094D, 0x0062], NFD: [0x0061, 0x093C, 0x3099, 0x3099, 0x094D, 0x0062], NFKC: [0x0061, 0x093C, 0x3099, 0x3099, 0x094D, 0x0062], NFKD: [0x0061, 0x093C, 0x3099, 0x3099, 0x094D, 0x0062] }, -{ source: [0x0061, 0x094D, 0x3099, 0x093C, 0x309A, 0x0062], NFC: [0x0061, 0x093C, 0x3099, 0x309A, 0x094D, 0x0062], NFD: [0x0061, 0x093C, 0x3099, 0x309A, 0x094D, 0x0062], NFKC: [0x0061, 0x093C, 0x3099, 0x309A, 0x094D, 0x0062], NFKD: [0x0061, 0x093C, 0x3099, 0x309A, 0x094D, 0x0062] }, -{ source: [0x0061, 0x309A, 0x094D, 0x3099, 0x093C, 0x0062], NFC: [0x0061, 0x093C, 0x309A, 0x3099, 0x094D, 0x0062], NFD: [0x0061, 0x093C, 0x309A, 0x3099, 0x094D, 0x0062], NFKC: [0x0061, 0x093C, 0x309A, 0x3099, 0x094D, 0x0062], NFKD: [0x0061, 0x093C, 0x309A, 0x3099, 0x094D, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0xA66F, 0x0062], NFC: [0x00E0, 0x05AE, 0xA66F, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0xA66F, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0xA66F, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0xA66F, 0x0315, 0x0062] }, -{ source: [0x0061, 0xA66F, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0xA66F, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0xA66F, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0xA66F, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0xA66F, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0xA674, 0x0062], NFC: [0x00E0, 0x05AE, 0xA674, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0xA674, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0xA674, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0xA674, 0x0315, 0x0062] }, -{ source: [0x0061, 0xA674, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0xA674, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0xA674, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0xA674, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0xA674, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0xA675, 0x0062], NFC: [0x00E0, 0x05AE, 0xA675, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0xA675, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0xA675, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0xA675, 0x0315, 0x0062] }, -{ source: [0x0061, 0xA675, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0xA675, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0xA675, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0xA675, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0xA675, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0xA676, 0x0062], NFC: [0x00E0, 0x05AE, 0xA676, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0xA676, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0xA676, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0xA676, 0x0315, 0x0062] }, -{ source: [0x0061, 0xA676, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0xA676, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0xA676, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0xA676, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0xA676, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0xA677, 0x0062], NFC: [0x00E0, 0x05AE, 0xA677, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0xA677, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0xA677, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0xA677, 0x0315, 0x0062] }, -{ source: [0x0061, 0xA677, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0xA677, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0xA677, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0xA677, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0xA677, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0xA678, 0x0062], NFC: [0x00E0, 0x05AE, 0xA678, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0xA678, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0xA678, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0xA678, 0x0315, 0x0062] }, -{ source: [0x0061, 0xA678, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0xA678, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0xA678, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0xA678, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0xA678, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0xA679, 0x0062], NFC: [0x00E0, 0x05AE, 0xA679, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0xA679, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0xA679, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0xA679, 0x0315, 0x0062] }, -{ source: [0x0061, 0xA679, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0xA679, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0xA679, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0xA679, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0xA679, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0xA67A, 0x0062], NFC: [0x00E0, 0x05AE, 0xA67A, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0xA67A, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0xA67A, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0xA67A, 0x0315, 0x0062] }, -{ source: [0x0061, 0xA67A, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0xA67A, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0xA67A, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0xA67A, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0xA67A, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0xA67B, 0x0062], NFC: [0x00E0, 0x05AE, 0xA67B, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0xA67B, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0xA67B, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0xA67B, 0x0315, 0x0062] }, -{ source: [0x0061, 0xA67B, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0xA67B, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0xA67B, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0xA67B, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0xA67B, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0xA67C, 0x0062], NFC: [0x00E0, 0x05AE, 0xA67C, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0xA67C, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0xA67C, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0xA67C, 0x0315, 0x0062] }, -{ source: [0x0061, 0xA67C, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0xA67C, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0xA67C, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0xA67C, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0xA67C, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0xA67D, 0x0062], NFC: [0x00E0, 0x05AE, 0xA67D, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0xA67D, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0xA67D, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0xA67D, 0x0315, 0x0062] }, -{ source: [0x0061, 0xA67D, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0xA67D, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0xA67D, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0xA67D, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0xA67D, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0xA69E, 0x0062], NFC: [0x00E0, 0x05AE, 0xA69E, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0xA69E, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0xA69E, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0xA69E, 0x0315, 0x0062] }, -{ source: [0x0061, 0xA69E, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0xA69E, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0xA69E, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0xA69E, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0xA69E, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0xA69F, 0x0062], NFC: [0x00E0, 0x05AE, 0xA69F, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0xA69F, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0xA69F, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0xA69F, 0x0315, 0x0062] }, -{ source: [0x0061, 0xA69F, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0xA69F, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0xA69F, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0xA69F, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0xA69F, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0xA6F0, 0x0062], NFC: [0x00E0, 0x05AE, 0xA6F0, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0xA6F0, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0xA6F0, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0xA6F0, 0x0315, 0x0062] }, -{ source: [0x0061, 0xA6F0, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0xA6F0, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0xA6F0, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0xA6F0, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0xA6F0, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0xA6F1, 0x0062], NFC: [0x00E0, 0x05AE, 0xA6F1, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0xA6F1, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0xA6F1, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0xA6F1, 0x0315, 0x0062] }, -{ source: [0x0061, 0xA6F1, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0xA6F1, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0xA6F1, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0xA6F1, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0xA6F1, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x05B0, 0x094D, 0x3099, 0xA806, 0x0062], NFC: [0x0061, 0x3099, 0x094D, 0xA806, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x094D, 0xA806, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x094D, 0xA806, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x094D, 0xA806, 0x05B0, 0x0062] }, -{ source: [0x0061, 0xA806, 0x05B0, 0x094D, 0x3099, 0x0062], NFC: [0x0061, 0x3099, 0xA806, 0x094D, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0xA806, 0x094D, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0xA806, 0x094D, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0xA806, 0x094D, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x05B0, 0x094D, 0x3099, 0xA82C, 0x0062], NFC: [0x0061, 0x3099, 0x094D, 0xA82C, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x094D, 0xA82C, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x094D, 0xA82C, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x094D, 0xA82C, 0x05B0, 0x0062] }, -{ source: [0x0061, 0xA82C, 0x05B0, 0x094D, 0x3099, 0x0062], NFC: [0x0061, 0x3099, 0xA82C, 0x094D, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0xA82C, 0x094D, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0xA82C, 0x094D, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0xA82C, 0x094D, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x05B0, 0x094D, 0x3099, 0xA8C4, 0x0062], NFC: [0x0061, 0x3099, 0x094D, 0xA8C4, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x094D, 0xA8C4, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x094D, 0xA8C4, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x094D, 0xA8C4, 0x05B0, 0x0062] }, -{ source: [0x0061, 0xA8C4, 0x05B0, 0x094D, 0x3099, 0x0062], NFC: [0x0061, 0x3099, 0xA8C4, 0x094D, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0xA8C4, 0x094D, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0xA8C4, 0x094D, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0xA8C4, 0x094D, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0xA8E0, 0x0062], NFC: [0x00E0, 0x05AE, 0xA8E0, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0xA8E0, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0xA8E0, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0xA8E0, 0x0315, 0x0062] }, -{ source: [0x0061, 0xA8E0, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0xA8E0, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0xA8E0, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0xA8E0, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0xA8E0, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0xA8E1, 0x0062], NFC: [0x00E0, 0x05AE, 0xA8E1, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0xA8E1, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0xA8E1, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0xA8E1, 0x0315, 0x0062] }, -{ source: [0x0061, 0xA8E1, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0xA8E1, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0xA8E1, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0xA8E1, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0xA8E1, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0xA8E2, 0x0062], NFC: [0x00E0, 0x05AE, 0xA8E2, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0xA8E2, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0xA8E2, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0xA8E2, 0x0315, 0x0062] }, -{ source: [0x0061, 0xA8E2, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0xA8E2, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0xA8E2, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0xA8E2, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0xA8E2, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0xA8E3, 0x0062], NFC: [0x00E0, 0x05AE, 0xA8E3, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0xA8E3, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0xA8E3, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0xA8E3, 0x0315, 0x0062] }, -{ source: [0x0061, 0xA8E3, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0xA8E3, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0xA8E3, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0xA8E3, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0xA8E3, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0xA8E4, 0x0062], NFC: [0x00E0, 0x05AE, 0xA8E4, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0xA8E4, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0xA8E4, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0xA8E4, 0x0315, 0x0062] }, -{ source: [0x0061, 0xA8E4, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0xA8E4, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0xA8E4, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0xA8E4, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0xA8E4, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0xA8E5, 0x0062], NFC: [0x00E0, 0x05AE, 0xA8E5, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0xA8E5, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0xA8E5, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0xA8E5, 0x0315, 0x0062] }, -{ source: [0x0061, 0xA8E5, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0xA8E5, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0xA8E5, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0xA8E5, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0xA8E5, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0xA8E6, 0x0062], NFC: [0x00E0, 0x05AE, 0xA8E6, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0xA8E6, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0xA8E6, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0xA8E6, 0x0315, 0x0062] }, -{ source: [0x0061, 0xA8E6, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0xA8E6, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0xA8E6, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0xA8E6, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0xA8E6, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0xA8E7, 0x0062], NFC: [0x00E0, 0x05AE, 0xA8E7, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0xA8E7, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0xA8E7, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0xA8E7, 0x0315, 0x0062] }, -{ source: [0x0061, 0xA8E7, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0xA8E7, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0xA8E7, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0xA8E7, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0xA8E7, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0xA8E8, 0x0062], NFC: [0x00E0, 0x05AE, 0xA8E8, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0xA8E8, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0xA8E8, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0xA8E8, 0x0315, 0x0062] }, -{ source: [0x0061, 0xA8E8, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0xA8E8, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0xA8E8, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0xA8E8, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0xA8E8, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0xA8E9, 0x0062], NFC: [0x00E0, 0x05AE, 0xA8E9, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0xA8E9, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0xA8E9, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0xA8E9, 0x0315, 0x0062] }, -{ source: [0x0061, 0xA8E9, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0xA8E9, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0xA8E9, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0xA8E9, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0xA8E9, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0xA8EA, 0x0062], NFC: [0x00E0, 0x05AE, 0xA8EA, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0xA8EA, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0xA8EA, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0xA8EA, 0x0315, 0x0062] }, -{ source: [0x0061, 0xA8EA, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0xA8EA, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0xA8EA, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0xA8EA, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0xA8EA, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0xA8EB, 0x0062], NFC: [0x00E0, 0x05AE, 0xA8EB, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0xA8EB, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0xA8EB, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0xA8EB, 0x0315, 0x0062] }, -{ source: [0x0061, 0xA8EB, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0xA8EB, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0xA8EB, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0xA8EB, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0xA8EB, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0xA8EC, 0x0062], NFC: [0x00E0, 0x05AE, 0xA8EC, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0xA8EC, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0xA8EC, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0xA8EC, 0x0315, 0x0062] }, -{ source: [0x0061, 0xA8EC, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0xA8EC, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0xA8EC, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0xA8EC, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0xA8EC, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0xA8ED, 0x0062], NFC: [0x00E0, 0x05AE, 0xA8ED, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0xA8ED, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0xA8ED, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0xA8ED, 0x0315, 0x0062] }, -{ source: [0x0061, 0xA8ED, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0xA8ED, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0xA8ED, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0xA8ED, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0xA8ED, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0xA8EE, 0x0062], NFC: [0x00E0, 0x05AE, 0xA8EE, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0xA8EE, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0xA8EE, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0xA8EE, 0x0315, 0x0062] }, -{ source: [0x0061, 0xA8EE, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0xA8EE, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0xA8EE, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0xA8EE, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0xA8EE, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0xA8EF, 0x0062], NFC: [0x00E0, 0x05AE, 0xA8EF, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0xA8EF, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0xA8EF, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0xA8EF, 0x0315, 0x0062] }, -{ source: [0x0061, 0xA8EF, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0xA8EF, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0xA8EF, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0xA8EF, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0xA8EF, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0xA8F0, 0x0062], NFC: [0x00E0, 0x05AE, 0xA8F0, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0xA8F0, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0xA8F0, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0xA8F0, 0x0315, 0x0062] }, -{ source: [0x0061, 0xA8F0, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0xA8F0, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0xA8F0, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0xA8F0, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0xA8F0, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0xA8F1, 0x0062], NFC: [0x00E0, 0x05AE, 0xA8F1, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0xA8F1, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0xA8F1, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0xA8F1, 0x0315, 0x0062] }, -{ source: [0x0061, 0xA8F1, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0xA8F1, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0xA8F1, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0xA8F1, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0xA8F1, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0xA92B, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0xA92B, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0xA92B, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0xA92B, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0xA92B, 0x059A, 0x0062] }, -{ source: [0x0061, 0xA92B, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0xA92B, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0xA92B, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0xA92B, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0xA92B, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0xA92C, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0xA92C, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0xA92C, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0xA92C, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0xA92C, 0x059A, 0x0062] }, -{ source: [0x0061, 0xA92C, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0xA92C, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0xA92C, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0xA92C, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0xA92C, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0xA92D, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0xA92D, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0xA92D, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0xA92D, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0xA92D, 0x059A, 0x0062] }, -{ source: [0x0061, 0xA92D, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0xA92D, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0xA92D, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0xA92D, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0xA92D, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x05B0, 0x094D, 0x3099, 0xA953, 0x0062], NFC: [0x0061, 0x3099, 0x094D, 0xA953, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x094D, 0xA953, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x094D, 0xA953, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x094D, 0xA953, 0x05B0, 0x0062] }, -{ source: [0x0061, 0xA953, 0x05B0, 0x094D, 0x3099, 0x0062], NFC: [0x0061, 0x3099, 0xA953, 0x094D, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0xA953, 0x094D, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0xA953, 0x094D, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0xA953, 0x094D, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x3099, 0x093C, 0x16FF0, 0xA9B3, 0x0062], NFC: [0x0061, 0x16FF0, 0x093C, 0xA9B3, 0x3099, 0x0062], NFD: [0x0061, 0x16FF0, 0x093C, 0xA9B3, 0x3099, 0x0062], NFKC: [0x0061, 0x16FF0, 0x093C, 0xA9B3, 0x3099, 0x0062], NFKD: [0x0061, 0x16FF0, 0x093C, 0xA9B3, 0x3099, 0x0062] }, -{ source: [0x0061, 0xA9B3, 0x3099, 0x093C, 0x16FF0, 0x0062], NFC: [0x0061, 0x16FF0, 0xA9B3, 0x093C, 0x3099, 0x0062], NFD: [0x0061, 0x16FF0, 0xA9B3, 0x093C, 0x3099, 0x0062], NFKC: [0x0061, 0x16FF0, 0xA9B3, 0x093C, 0x3099, 0x0062], NFKD: [0x0061, 0x16FF0, 0xA9B3, 0x093C, 0x3099, 0x0062] }, -{ source: [0x0061, 0x05B0, 0x094D, 0x3099, 0xA9C0, 0x0062], NFC: [0x0061, 0x3099, 0x094D, 0xA9C0, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x094D, 0xA9C0, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x094D, 0xA9C0, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x094D, 0xA9C0, 0x05B0, 0x0062] }, -{ source: [0x0061, 0xA9C0, 0x05B0, 0x094D, 0x3099, 0x0062], NFC: [0x0061, 0x3099, 0xA9C0, 0x094D, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0xA9C0, 0x094D, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0xA9C0, 0x094D, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0xA9C0, 0x094D, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0xAAB0, 0x0062], NFC: [0x00E0, 0x05AE, 0xAAB0, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0xAAB0, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0xAAB0, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0xAAB0, 0x0315, 0x0062] }, -{ source: [0x0061, 0xAAB0, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0xAAB0, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0xAAB0, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0xAAB0, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0xAAB0, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0xAAB2, 0x0062], NFC: [0x00E0, 0x05AE, 0xAAB2, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0xAAB2, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0xAAB2, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0xAAB2, 0x0315, 0x0062] }, -{ source: [0x0061, 0xAAB2, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0xAAB2, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0xAAB2, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0xAAB2, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0xAAB2, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0xAAB3, 0x0062], NFC: [0x00E0, 0x05AE, 0xAAB3, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0xAAB3, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0xAAB3, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0xAAB3, 0x0315, 0x0062] }, -{ source: [0x0061, 0xAAB3, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0xAAB3, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0xAAB3, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0xAAB3, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0xAAB3, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0xAAB4, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0xAAB4, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0xAAB4, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0xAAB4, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0xAAB4, 0x059A, 0x0062] }, -{ source: [0x0061, 0xAAB4, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0xAAB4, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0xAAB4, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0xAAB4, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0xAAB4, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0xAAB7, 0x0062], NFC: [0x00E0, 0x05AE, 0xAAB7, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0xAAB7, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0xAAB7, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0xAAB7, 0x0315, 0x0062] }, -{ source: [0x0061, 0xAAB7, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0xAAB7, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0xAAB7, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0xAAB7, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0xAAB7, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0xAAB8, 0x0062], NFC: [0x00E0, 0x05AE, 0xAAB8, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0xAAB8, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0xAAB8, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0xAAB8, 0x0315, 0x0062] }, -{ source: [0x0061, 0xAAB8, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0xAAB8, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0xAAB8, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0xAAB8, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0xAAB8, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0xAABE, 0x0062], NFC: [0x00E0, 0x05AE, 0xAABE, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0xAABE, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0xAABE, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0xAABE, 0x0315, 0x0062] }, -{ source: [0x0061, 0xAABE, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0xAABE, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0xAABE, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0xAABE, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0xAABE, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0xAABF, 0x0062], NFC: [0x00E0, 0x05AE, 0xAABF, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0xAABF, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0xAABF, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0xAABF, 0x0315, 0x0062] }, -{ source: [0x0061, 0xAABF, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0xAABF, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0xAABF, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0xAABF, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0xAABF, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0xAAC1, 0x0062], NFC: [0x00E0, 0x05AE, 0xAAC1, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0xAAC1, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0xAAC1, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0xAAC1, 0x0315, 0x0062] }, -{ source: [0x0061, 0xAAC1, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0xAAC1, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0xAAC1, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0xAAC1, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0xAAC1, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x05B0, 0x094D, 0x3099, 0xAAF6, 0x0062], NFC: [0x0061, 0x3099, 0x094D, 0xAAF6, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x094D, 0xAAF6, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x094D, 0xAAF6, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x094D, 0xAAF6, 0x05B0, 0x0062] }, -{ source: [0x0061, 0xAAF6, 0x05B0, 0x094D, 0x3099, 0x0062], NFC: [0x0061, 0x3099, 0xAAF6, 0x094D, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0xAAF6, 0x094D, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0xAAF6, 0x094D, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0xAAF6, 0x094D, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x05B0, 0x094D, 0x3099, 0xABED, 0x0062], NFC: [0x0061, 0x3099, 0x094D, 0xABED, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x094D, 0xABED, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x094D, 0xABED, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x094D, 0xABED, 0x05B0, 0x0062] }, -{ source: [0x0061, 0xABED, 0x05B0, 0x094D, 0x3099, 0x0062], NFC: [0x0061, 0x3099, 0xABED, 0x094D, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0xABED, 0x094D, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0xABED, 0x094D, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0xABED, 0x094D, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x064B, 0xFB1E, 0x05C2, 0xFB1E, 0x0062], NFC: [0x0061, 0x05C2, 0xFB1E, 0xFB1E, 0x064B, 0x0062], NFD: [0x0061, 0x05C2, 0xFB1E, 0xFB1E, 0x064B, 0x0062], NFKC: [0x0061, 0x05C2, 0xFB1E, 0xFB1E, 0x064B, 0x0062], NFKD: [0x0061, 0x05C2, 0xFB1E, 0xFB1E, 0x064B, 0x0062] }, -{ source: [0x0061, 0xFB1E, 0x064B, 0xFB1E, 0x05C2, 0x0062], NFC: [0x0061, 0x05C2, 0xFB1E, 0xFB1E, 0x064B, 0x0062], NFD: [0x0061, 0x05C2, 0xFB1E, 0xFB1E, 0x064B, 0x0062], NFKC: [0x0061, 0x05C2, 0xFB1E, 0xFB1E, 0x064B, 0x0062], NFKD: [0x0061, 0x05C2, 0xFB1E, 0xFB1E, 0x064B, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0xFE20, 0x0062], NFC: [0x00E0, 0x05AE, 0xFE20, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0xFE20, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0xFE20, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0xFE20, 0x0315, 0x0062] }, -{ source: [0x0061, 0xFE20, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0xFE20, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0xFE20, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0xFE20, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0xFE20, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0xFE21, 0x0062], NFC: [0x00E0, 0x05AE, 0xFE21, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0xFE21, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0xFE21, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0xFE21, 0x0315, 0x0062] }, -{ source: [0x0061, 0xFE21, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0xFE21, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0xFE21, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0xFE21, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0xFE21, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0xFE22, 0x0062], NFC: [0x00E0, 0x05AE, 0xFE22, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0xFE22, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0xFE22, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0xFE22, 0x0315, 0x0062] }, -{ source: [0x0061, 0xFE22, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0xFE22, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0xFE22, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0xFE22, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0xFE22, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0xFE23, 0x0062], NFC: [0x00E0, 0x05AE, 0xFE23, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0xFE23, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0xFE23, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0xFE23, 0x0315, 0x0062] }, -{ source: [0x0061, 0xFE23, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0xFE23, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0xFE23, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0xFE23, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0xFE23, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0xFE24, 0x0062], NFC: [0x00E0, 0x05AE, 0xFE24, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0xFE24, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0xFE24, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0xFE24, 0x0315, 0x0062] }, -{ source: [0x0061, 0xFE24, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0xFE24, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0xFE24, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0xFE24, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0xFE24, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0xFE25, 0x0062], NFC: [0x00E0, 0x05AE, 0xFE25, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0xFE25, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0xFE25, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0xFE25, 0x0315, 0x0062] }, -{ source: [0x0061, 0xFE25, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0xFE25, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0xFE25, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0xFE25, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0xFE25, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0xFE26, 0x0062], NFC: [0x00E0, 0x05AE, 0xFE26, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0xFE26, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0xFE26, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0xFE26, 0x0315, 0x0062] }, -{ source: [0x0061, 0xFE26, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0xFE26, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0xFE26, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0xFE26, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0xFE26, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0xFE27, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0xFE27, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0xFE27, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0xFE27, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0xFE27, 0x059A, 0x0062] }, -{ source: [0x0061, 0xFE27, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0xFE27, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0xFE27, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0xFE27, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0xFE27, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0xFE28, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0xFE28, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0xFE28, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0xFE28, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0xFE28, 0x059A, 0x0062] }, -{ source: [0x0061, 0xFE28, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0xFE28, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0xFE28, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0xFE28, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0xFE28, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0xFE29, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0xFE29, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0xFE29, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0xFE29, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0xFE29, 0x059A, 0x0062] }, -{ source: [0x0061, 0xFE29, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0xFE29, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0xFE29, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0xFE29, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0xFE29, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0xFE2A, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0xFE2A, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0xFE2A, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0xFE2A, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0xFE2A, 0x059A, 0x0062] }, -{ source: [0x0061, 0xFE2A, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0xFE2A, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0xFE2A, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0xFE2A, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0xFE2A, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0xFE2B, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0xFE2B, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0xFE2B, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0xFE2B, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0xFE2B, 0x059A, 0x0062] }, -{ source: [0x0061, 0xFE2B, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0xFE2B, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0xFE2B, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0xFE2B, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0xFE2B, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0xFE2C, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0xFE2C, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0xFE2C, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0xFE2C, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0xFE2C, 0x059A, 0x0062] }, -{ source: [0x0061, 0xFE2C, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0xFE2C, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0xFE2C, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0xFE2C, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0xFE2C, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0xFE2D, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0xFE2D, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0xFE2D, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0xFE2D, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0xFE2D, 0x059A, 0x0062] }, -{ source: [0x0061, 0xFE2D, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0xFE2D, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0xFE2D, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0xFE2D, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0xFE2D, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0xFE2E, 0x0062], NFC: [0x00E0, 0x05AE, 0xFE2E, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0xFE2E, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0xFE2E, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0xFE2E, 0x0315, 0x0062] }, -{ source: [0x0061, 0xFE2E, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0xFE2E, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0xFE2E, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0xFE2E, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0xFE2E, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0xFE2F, 0x0062], NFC: [0x00E0, 0x05AE, 0xFE2F, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0xFE2F, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0xFE2F, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0xFE2F, 0x0315, 0x0062] }, -{ source: [0x0061, 0xFE2F, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0xFE2F, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0xFE2F, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0xFE2F, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0xFE2F, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x101FD, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x101FD, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x101FD, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x101FD, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x101FD, 0x059A, 0x0062] }, -{ source: [0x0061, 0x101FD, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x101FD, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x101FD, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x101FD, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x101FD, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x102E0, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x102E0, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x102E0, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x102E0, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x102E0, 0x059A, 0x0062] }, -{ source: [0x0061, 0x102E0, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x102E0, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x102E0, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x102E0, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x102E0, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x10376, 0x0062], NFC: [0x00E0, 0x05AE, 0x10376, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x10376, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x10376, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x10376, 0x0315, 0x0062] }, -{ source: [0x0061, 0x10376, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x10376, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x10376, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x10376, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x10376, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x10377, 0x0062], NFC: [0x00E0, 0x05AE, 0x10377, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x10377, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x10377, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x10377, 0x0315, 0x0062] }, -{ source: [0x0061, 0x10377, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x10377, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x10377, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x10377, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x10377, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x10378, 0x0062], NFC: [0x00E0, 0x05AE, 0x10378, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x10378, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x10378, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x10378, 0x0315, 0x0062] }, -{ source: [0x0061, 0x10378, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x10378, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x10378, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x10378, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x10378, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x10379, 0x0062], NFC: [0x00E0, 0x05AE, 0x10379, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x10379, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x10379, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x10379, 0x0315, 0x0062] }, -{ source: [0x0061, 0x10379, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x10379, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x10379, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x10379, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x10379, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1037A, 0x0062], NFC: [0x00E0, 0x05AE, 0x1037A, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1037A, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1037A, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1037A, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1037A, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1037A, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1037A, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1037A, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1037A, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x10A0D, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x10A0D, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x10A0D, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x10A0D, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x10A0D, 0x059A, 0x0062] }, -{ source: [0x0061, 0x10A0D, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x10A0D, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x10A0D, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x10A0D, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x10A0D, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x10A0F, 0x0062], NFC: [0x00E0, 0x05AE, 0x10A0F, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x10A0F, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x10A0F, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x10A0F, 0x0315, 0x0062] }, -{ source: [0x0061, 0x10A0F, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x10A0F, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x10A0F, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x10A0F, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x10A0F, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x10A38, 0x0062], NFC: [0x00E0, 0x05AE, 0x10A38, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x10A38, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x10A38, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x10A38, 0x0315, 0x0062] }, -{ source: [0x0061, 0x10A38, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x10A38, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x10A38, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x10A38, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x10A38, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x16FF0, 0x0334, 0x10A39, 0x0062], NFC: [0x0061, 0x0334, 0x10A39, 0x16FF0, 0x0062], NFD: [0x0061, 0x0334, 0x10A39, 0x16FF0, 0x0062], NFKC: [0x0061, 0x0334, 0x10A39, 0x16FF0, 0x0062], NFKD: [0x0061, 0x0334, 0x10A39, 0x16FF0, 0x0062] }, -{ source: [0x0061, 0x10A39, 0x16FF0, 0x0334, 0x0062], NFC: [0x0061, 0x10A39, 0x0334, 0x16FF0, 0x0062], NFD: [0x0061, 0x10A39, 0x0334, 0x16FF0, 0x0062], NFKC: [0x0061, 0x10A39, 0x0334, 0x16FF0, 0x0062], NFKD: [0x0061, 0x10A39, 0x0334, 0x16FF0, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x10A3A, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x10A3A, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x10A3A, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x10A3A, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x10A3A, 0x059A, 0x0062] }, -{ source: [0x0061, 0x10A3A, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x10A3A, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x10A3A, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x10A3A, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x10A3A, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x05B0, 0x094D, 0x3099, 0x10A3F, 0x0062], NFC: [0x0061, 0x3099, 0x094D, 0x10A3F, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x094D, 0x10A3F, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x094D, 0x10A3F, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x094D, 0x10A3F, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x10A3F, 0x05B0, 0x094D, 0x3099, 0x0062], NFC: [0x0061, 0x3099, 0x10A3F, 0x094D, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x10A3F, 0x094D, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x10A3F, 0x094D, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x10A3F, 0x094D, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x10AE5, 0x0062], NFC: [0x00E0, 0x05AE, 0x10AE5, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x10AE5, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x10AE5, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x10AE5, 0x0315, 0x0062] }, -{ source: [0x0061, 0x10AE5, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x10AE5, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x10AE5, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x10AE5, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x10AE5, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x10AE6, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x10AE6, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x10AE6, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x10AE6, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x10AE6, 0x059A, 0x0062] }, -{ source: [0x0061, 0x10AE6, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x10AE6, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x10AE6, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x10AE6, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x10AE6, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x10D24, 0x0062], NFC: [0x00E0, 0x05AE, 0x10D24, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x10D24, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x10D24, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x10D24, 0x0315, 0x0062] }, -{ source: [0x0061, 0x10D24, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x10D24, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x10D24, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x10D24, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x10D24, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x10D25, 0x0062], NFC: [0x00E0, 0x05AE, 0x10D25, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x10D25, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x10D25, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x10D25, 0x0315, 0x0062] }, -{ source: [0x0061, 0x10D25, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x10D25, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x10D25, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x10D25, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x10D25, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x10D26, 0x0062], NFC: [0x00E0, 0x05AE, 0x10D26, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x10D26, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x10D26, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x10D26, 0x0315, 0x0062] }, -{ source: [0x0061, 0x10D26, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x10D26, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x10D26, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x10D26, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x10D26, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x10D27, 0x0062], NFC: [0x00E0, 0x05AE, 0x10D27, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x10D27, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x10D27, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x10D27, 0x0315, 0x0062] }, -{ source: [0x0061, 0x10D27, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x10D27, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x10D27, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x10D27, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x10D27, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x10D69, 0x0062], NFC: [0x00E0, 0x05AE, 0x10D69, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x10D69, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x10D69, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x10D69, 0x0315, 0x0062] }, -{ source: [0x0061, 0x10D69, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x10D69, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x10D69, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x10D69, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x10D69, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x10D6A, 0x0062], NFC: [0x00E0, 0x05AE, 0x10D6A, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x10D6A, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x10D6A, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x10D6A, 0x0315, 0x0062] }, -{ source: [0x0061, 0x10D6A, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x10D6A, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x10D6A, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x10D6A, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x10D6A, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x10D6B, 0x0062], NFC: [0x00E0, 0x05AE, 0x10D6B, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x10D6B, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x10D6B, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x10D6B, 0x0315, 0x0062] }, -{ source: [0x0061, 0x10D6B, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x10D6B, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x10D6B, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x10D6B, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x10D6B, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x10D6C, 0x0062], NFC: [0x00E0, 0x05AE, 0x10D6C, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x10D6C, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x10D6C, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x10D6C, 0x0315, 0x0062] }, -{ source: [0x0061, 0x10D6C, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x10D6C, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x10D6C, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x10D6C, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x10D6C, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x10D6D, 0x0062], NFC: [0x00E0, 0x05AE, 0x10D6D, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x10D6D, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x10D6D, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x10D6D, 0x0315, 0x0062] }, -{ source: [0x0061, 0x10D6D, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x10D6D, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x10D6D, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x10D6D, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x10D6D, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x10EAB, 0x0062], NFC: [0x00E0, 0x05AE, 0x10EAB, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x10EAB, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x10EAB, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x10EAB, 0x0315, 0x0062] }, -{ source: [0x0061, 0x10EAB, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x10EAB, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x10EAB, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x10EAB, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x10EAB, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x10EAC, 0x0062], NFC: [0x00E0, 0x05AE, 0x10EAC, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x10EAC, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x10EAC, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x10EAC, 0x0315, 0x0062] }, -{ source: [0x0061, 0x10EAC, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x10EAC, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x10EAC, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x10EAC, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x10EAC, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x10EFD, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x10EFD, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x10EFD, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x10EFD, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x10EFD, 0x059A, 0x0062] }, -{ source: [0x0061, 0x10EFD, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x10EFD, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x10EFD, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x10EFD, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x10EFD, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x10EFE, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x10EFE, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x10EFE, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x10EFE, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x10EFE, 0x059A, 0x0062] }, -{ source: [0x0061, 0x10EFE, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x10EFE, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x10EFE, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x10EFE, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x10EFE, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x10EFF, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x10EFF, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x10EFF, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x10EFF, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x10EFF, 0x059A, 0x0062] }, -{ source: [0x0061, 0x10EFF, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x10EFF, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x10EFF, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x10EFF, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x10EFF, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x10F46, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x10F46, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x10F46, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x10F46, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x10F46, 0x059A, 0x0062] }, -{ source: [0x0061, 0x10F46, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x10F46, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x10F46, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x10F46, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x10F46, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x10F47, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x10F47, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x10F47, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x10F47, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x10F47, 0x059A, 0x0062] }, -{ source: [0x0061, 0x10F47, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x10F47, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x10F47, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x10F47, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x10F47, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x10F48, 0x0062], NFC: [0x00E0, 0x05AE, 0x10F48, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x10F48, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x10F48, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x10F48, 0x0315, 0x0062] }, -{ source: [0x0061, 0x10F48, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x10F48, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x10F48, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x10F48, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x10F48, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x10F49, 0x0062], NFC: [0x00E0, 0x05AE, 0x10F49, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x10F49, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x10F49, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x10F49, 0x0315, 0x0062] }, -{ source: [0x0061, 0x10F49, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x10F49, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x10F49, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x10F49, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x10F49, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x10F4A, 0x0062], NFC: [0x00E0, 0x05AE, 0x10F4A, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x10F4A, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x10F4A, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x10F4A, 0x0315, 0x0062] }, -{ source: [0x0061, 0x10F4A, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x10F4A, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x10F4A, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x10F4A, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x10F4A, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x10F4B, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x10F4B, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x10F4B, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x10F4B, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x10F4B, 0x059A, 0x0062] }, -{ source: [0x0061, 0x10F4B, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x10F4B, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x10F4B, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x10F4B, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x10F4B, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x10F4C, 0x0062], NFC: [0x00E0, 0x05AE, 0x10F4C, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x10F4C, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x10F4C, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x10F4C, 0x0315, 0x0062] }, -{ source: [0x0061, 0x10F4C, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x10F4C, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x10F4C, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x10F4C, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x10F4C, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x10F4D, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x10F4D, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x10F4D, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x10F4D, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x10F4D, 0x059A, 0x0062] }, -{ source: [0x0061, 0x10F4D, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x10F4D, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x10F4D, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x10F4D, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x10F4D, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x10F4E, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x10F4E, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x10F4E, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x10F4E, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x10F4E, 0x059A, 0x0062] }, -{ source: [0x0061, 0x10F4E, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x10F4E, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x10F4E, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x10F4E, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x10F4E, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x10F4F, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x10F4F, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x10F4F, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x10F4F, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x10F4F, 0x059A, 0x0062] }, -{ source: [0x0061, 0x10F4F, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x10F4F, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x10F4F, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x10F4F, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x10F4F, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x10F50, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x10F50, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x10F50, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x10F50, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x10F50, 0x059A, 0x0062] }, -{ source: [0x0061, 0x10F50, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x10F50, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x10F50, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x10F50, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x10F50, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x10F82, 0x0062], NFC: [0x00E0, 0x05AE, 0x10F82, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x10F82, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x10F82, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x10F82, 0x0315, 0x0062] }, -{ source: [0x0061, 0x10F82, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x10F82, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x10F82, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x10F82, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x10F82, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x10F83, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x10F83, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x10F83, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x10F83, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x10F83, 0x059A, 0x0062] }, -{ source: [0x0061, 0x10F83, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x10F83, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x10F83, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x10F83, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x10F83, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x10F84, 0x0062], NFC: [0x00E0, 0x05AE, 0x10F84, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x10F84, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x10F84, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x10F84, 0x0315, 0x0062] }, -{ source: [0x0061, 0x10F84, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x10F84, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x10F84, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x10F84, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x10F84, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x10F85, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x10F85, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x10F85, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x10F85, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x10F85, 0x059A, 0x0062] }, -{ source: [0x0061, 0x10F85, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x10F85, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x10F85, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x10F85, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x10F85, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x05B0, 0x094D, 0x3099, 0x11046, 0x0062], NFC: [0x0061, 0x3099, 0x094D, 0x11046, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x094D, 0x11046, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x094D, 0x11046, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x094D, 0x11046, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x11046, 0x05B0, 0x094D, 0x3099, 0x0062], NFC: [0x0061, 0x3099, 0x11046, 0x094D, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x11046, 0x094D, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x11046, 0x094D, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x11046, 0x094D, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x05B0, 0x094D, 0x3099, 0x11070, 0x0062], NFC: [0x0061, 0x3099, 0x094D, 0x11070, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x094D, 0x11070, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x094D, 0x11070, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x094D, 0x11070, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x11070, 0x05B0, 0x094D, 0x3099, 0x0062], NFC: [0x0061, 0x3099, 0x11070, 0x094D, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x11070, 0x094D, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x11070, 0x094D, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x11070, 0x094D, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x05B0, 0x094D, 0x3099, 0x1107F, 0x0062], NFC: [0x0061, 0x3099, 0x094D, 0x1107F, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x094D, 0x1107F, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x094D, 0x1107F, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x094D, 0x1107F, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x1107F, 0x05B0, 0x094D, 0x3099, 0x0062], NFC: [0x0061, 0x3099, 0x1107F, 0x094D, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x1107F, 0x094D, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x1107F, 0x094D, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x1107F, 0x094D, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x05B0, 0x094D, 0x3099, 0x110B9, 0x0062], NFC: [0x0061, 0x3099, 0x094D, 0x110B9, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x094D, 0x110B9, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x094D, 0x110B9, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x094D, 0x110B9, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x110B9, 0x05B0, 0x094D, 0x3099, 0x0062], NFC: [0x0061, 0x3099, 0x110B9, 0x094D, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x110B9, 0x094D, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x110B9, 0x094D, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x110B9, 0x094D, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x3099, 0x093C, 0x16FF0, 0x110BA, 0x0062], NFC: [0x0061, 0x16FF0, 0x093C, 0x110BA, 0x3099, 0x0062], NFD: [0x0061, 0x16FF0, 0x093C, 0x110BA, 0x3099, 0x0062], NFKC: [0x0061, 0x16FF0, 0x093C, 0x110BA, 0x3099, 0x0062], NFKD: [0x0061, 0x16FF0, 0x093C, 0x110BA, 0x3099, 0x0062] }, -{ source: [0x0061, 0x110BA, 0x3099, 0x093C, 0x16FF0, 0x0062], NFC: [0x0061, 0x16FF0, 0x110BA, 0x093C, 0x3099, 0x0062], NFD: [0x0061, 0x16FF0, 0x110BA, 0x093C, 0x3099, 0x0062], NFKC: [0x0061, 0x16FF0, 0x110BA, 0x093C, 0x3099, 0x0062], NFKD: [0x0061, 0x16FF0, 0x110BA, 0x093C, 0x3099, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x11100, 0x0062], NFC: [0x00E0, 0x05AE, 0x11100, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x11100, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x11100, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x11100, 0x0315, 0x0062] }, -{ source: [0x0061, 0x11100, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x11100, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x11100, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x11100, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x11100, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x11101, 0x0062], NFC: [0x00E0, 0x05AE, 0x11101, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x11101, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x11101, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x11101, 0x0315, 0x0062] }, -{ source: [0x0061, 0x11101, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x11101, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x11101, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x11101, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x11101, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x11102, 0x0062], NFC: [0x00E0, 0x05AE, 0x11102, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x11102, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x11102, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x11102, 0x0315, 0x0062] }, -{ source: [0x0061, 0x11102, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x11102, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x11102, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x11102, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x11102, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x05B0, 0x094D, 0x3099, 0x11133, 0x0062], NFC: [0x0061, 0x3099, 0x094D, 0x11133, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x094D, 0x11133, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x094D, 0x11133, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x094D, 0x11133, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x11133, 0x05B0, 0x094D, 0x3099, 0x0062], NFC: [0x0061, 0x3099, 0x11133, 0x094D, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x11133, 0x094D, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x11133, 0x094D, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x11133, 0x094D, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x05B0, 0x094D, 0x3099, 0x11134, 0x0062], NFC: [0x0061, 0x3099, 0x094D, 0x11134, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x094D, 0x11134, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x094D, 0x11134, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x094D, 0x11134, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x11134, 0x05B0, 0x094D, 0x3099, 0x0062], NFC: [0x0061, 0x3099, 0x11134, 0x094D, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x11134, 0x094D, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x11134, 0x094D, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x11134, 0x094D, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x3099, 0x093C, 0x16FF0, 0x11173, 0x0062], NFC: [0x0061, 0x16FF0, 0x093C, 0x11173, 0x3099, 0x0062], NFD: [0x0061, 0x16FF0, 0x093C, 0x11173, 0x3099, 0x0062], NFKC: [0x0061, 0x16FF0, 0x093C, 0x11173, 0x3099, 0x0062], NFKD: [0x0061, 0x16FF0, 0x093C, 0x11173, 0x3099, 0x0062] }, -{ source: [0x0061, 0x11173, 0x3099, 0x093C, 0x16FF0, 0x0062], NFC: [0x0061, 0x16FF0, 0x11173, 0x093C, 0x3099, 0x0062], NFD: [0x0061, 0x16FF0, 0x11173, 0x093C, 0x3099, 0x0062], NFKC: [0x0061, 0x16FF0, 0x11173, 0x093C, 0x3099, 0x0062], NFKD: [0x0061, 0x16FF0, 0x11173, 0x093C, 0x3099, 0x0062] }, -{ source: [0x0061, 0x05B0, 0x094D, 0x3099, 0x111C0, 0x0062], NFC: [0x0061, 0x3099, 0x094D, 0x111C0, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x094D, 0x111C0, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x094D, 0x111C0, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x094D, 0x111C0, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x111C0, 0x05B0, 0x094D, 0x3099, 0x0062], NFC: [0x0061, 0x3099, 0x111C0, 0x094D, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x111C0, 0x094D, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x111C0, 0x094D, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x111C0, 0x094D, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x3099, 0x093C, 0x16FF0, 0x111CA, 0x0062], NFC: [0x0061, 0x16FF0, 0x093C, 0x111CA, 0x3099, 0x0062], NFD: [0x0061, 0x16FF0, 0x093C, 0x111CA, 0x3099, 0x0062], NFKC: [0x0061, 0x16FF0, 0x093C, 0x111CA, 0x3099, 0x0062], NFKD: [0x0061, 0x16FF0, 0x093C, 0x111CA, 0x3099, 0x0062] }, -{ source: [0x0061, 0x111CA, 0x3099, 0x093C, 0x16FF0, 0x0062], NFC: [0x0061, 0x16FF0, 0x111CA, 0x093C, 0x3099, 0x0062], NFD: [0x0061, 0x16FF0, 0x111CA, 0x093C, 0x3099, 0x0062], NFKC: [0x0061, 0x16FF0, 0x111CA, 0x093C, 0x3099, 0x0062], NFKD: [0x0061, 0x16FF0, 0x111CA, 0x093C, 0x3099, 0x0062] }, -{ source: [0x0061, 0x05B0, 0x094D, 0x3099, 0x11235, 0x0062], NFC: [0x0061, 0x3099, 0x094D, 0x11235, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x094D, 0x11235, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x094D, 0x11235, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x094D, 0x11235, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x11235, 0x05B0, 0x094D, 0x3099, 0x0062], NFC: [0x0061, 0x3099, 0x11235, 0x094D, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x11235, 0x094D, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x11235, 0x094D, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x11235, 0x094D, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x3099, 0x093C, 0x16FF0, 0x11236, 0x0062], NFC: [0x0061, 0x16FF0, 0x093C, 0x11236, 0x3099, 0x0062], NFD: [0x0061, 0x16FF0, 0x093C, 0x11236, 0x3099, 0x0062], NFKC: [0x0061, 0x16FF0, 0x093C, 0x11236, 0x3099, 0x0062], NFKD: [0x0061, 0x16FF0, 0x093C, 0x11236, 0x3099, 0x0062] }, -{ source: [0x0061, 0x11236, 0x3099, 0x093C, 0x16FF0, 0x0062], NFC: [0x0061, 0x16FF0, 0x11236, 0x093C, 0x3099, 0x0062], NFD: [0x0061, 0x16FF0, 0x11236, 0x093C, 0x3099, 0x0062], NFKC: [0x0061, 0x16FF0, 0x11236, 0x093C, 0x3099, 0x0062], NFKD: [0x0061, 0x16FF0, 0x11236, 0x093C, 0x3099, 0x0062] }, -{ source: [0x0061, 0x3099, 0x093C, 0x16FF0, 0x112E9, 0x0062], NFC: [0x0061, 0x16FF0, 0x093C, 0x112E9, 0x3099, 0x0062], NFD: [0x0061, 0x16FF0, 0x093C, 0x112E9, 0x3099, 0x0062], NFKC: [0x0061, 0x16FF0, 0x093C, 0x112E9, 0x3099, 0x0062], NFKD: [0x0061, 0x16FF0, 0x093C, 0x112E9, 0x3099, 0x0062] }, -{ source: [0x0061, 0x112E9, 0x3099, 0x093C, 0x16FF0, 0x0062], NFC: [0x0061, 0x16FF0, 0x112E9, 0x093C, 0x3099, 0x0062], NFD: [0x0061, 0x16FF0, 0x112E9, 0x093C, 0x3099, 0x0062], NFKC: [0x0061, 0x16FF0, 0x112E9, 0x093C, 0x3099, 0x0062], NFKD: [0x0061, 0x16FF0, 0x112E9, 0x093C, 0x3099, 0x0062] }, -{ source: [0x0061, 0x05B0, 0x094D, 0x3099, 0x112EA, 0x0062], NFC: [0x0061, 0x3099, 0x094D, 0x112EA, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x094D, 0x112EA, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x094D, 0x112EA, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x094D, 0x112EA, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x112EA, 0x05B0, 0x094D, 0x3099, 0x0062], NFC: [0x0061, 0x3099, 0x112EA, 0x094D, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x112EA, 0x094D, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x112EA, 0x094D, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x112EA, 0x094D, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x3099, 0x093C, 0x16FF0, 0x1133B, 0x0062], NFC: [0x0061, 0x16FF0, 0x093C, 0x1133B, 0x3099, 0x0062], NFD: [0x0061, 0x16FF0, 0x093C, 0x1133B, 0x3099, 0x0062], NFKC: [0x0061, 0x16FF0, 0x093C, 0x1133B, 0x3099, 0x0062], NFKD: [0x0061, 0x16FF0, 0x093C, 0x1133B, 0x3099, 0x0062] }, -{ source: [0x0061, 0x1133B, 0x3099, 0x093C, 0x16FF0, 0x0062], NFC: [0x0061, 0x16FF0, 0x1133B, 0x093C, 0x3099, 0x0062], NFD: [0x0061, 0x16FF0, 0x1133B, 0x093C, 0x3099, 0x0062], NFKC: [0x0061, 0x16FF0, 0x1133B, 0x093C, 0x3099, 0x0062], NFKD: [0x0061, 0x16FF0, 0x1133B, 0x093C, 0x3099, 0x0062] }, -{ source: [0x0061, 0x3099, 0x093C, 0x16FF0, 0x1133C, 0x0062], NFC: [0x0061, 0x16FF0, 0x093C, 0x1133C, 0x3099, 0x0062], NFD: [0x0061, 0x16FF0, 0x093C, 0x1133C, 0x3099, 0x0062], NFKC: [0x0061, 0x16FF0, 0x093C, 0x1133C, 0x3099, 0x0062], NFKD: [0x0061, 0x16FF0, 0x093C, 0x1133C, 0x3099, 0x0062] }, -{ source: [0x0061, 0x1133C, 0x3099, 0x093C, 0x16FF0, 0x0062], NFC: [0x0061, 0x16FF0, 0x1133C, 0x093C, 0x3099, 0x0062], NFD: [0x0061, 0x16FF0, 0x1133C, 0x093C, 0x3099, 0x0062], NFKC: [0x0061, 0x16FF0, 0x1133C, 0x093C, 0x3099, 0x0062], NFKD: [0x0061, 0x16FF0, 0x1133C, 0x093C, 0x3099, 0x0062] }, -{ source: [0x0061, 0x05B0, 0x094D, 0x3099, 0x1134D, 0x0062], NFC: [0x0061, 0x3099, 0x094D, 0x1134D, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x094D, 0x1134D, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x094D, 0x1134D, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x094D, 0x1134D, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x1134D, 0x05B0, 0x094D, 0x3099, 0x0062], NFC: [0x0061, 0x3099, 0x1134D, 0x094D, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x1134D, 0x094D, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x1134D, 0x094D, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x1134D, 0x094D, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x11366, 0x0062], NFC: [0x00E0, 0x05AE, 0x11366, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x11366, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x11366, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x11366, 0x0315, 0x0062] }, -{ source: [0x0061, 0x11366, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x11366, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x11366, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x11366, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x11366, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x11367, 0x0062], NFC: [0x00E0, 0x05AE, 0x11367, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x11367, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x11367, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x11367, 0x0315, 0x0062] }, -{ source: [0x0061, 0x11367, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x11367, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x11367, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x11367, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x11367, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x11368, 0x0062], NFC: [0x00E0, 0x05AE, 0x11368, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x11368, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x11368, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x11368, 0x0315, 0x0062] }, -{ source: [0x0061, 0x11368, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x11368, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x11368, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x11368, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x11368, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x11369, 0x0062], NFC: [0x00E0, 0x05AE, 0x11369, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x11369, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x11369, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x11369, 0x0315, 0x0062] }, -{ source: [0x0061, 0x11369, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x11369, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x11369, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x11369, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x11369, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1136A, 0x0062], NFC: [0x00E0, 0x05AE, 0x1136A, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1136A, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1136A, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1136A, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1136A, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1136A, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1136A, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1136A, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1136A, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1136B, 0x0062], NFC: [0x00E0, 0x05AE, 0x1136B, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1136B, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1136B, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1136B, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1136B, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1136B, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1136B, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1136B, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1136B, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1136C, 0x0062], NFC: [0x00E0, 0x05AE, 0x1136C, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1136C, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1136C, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1136C, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1136C, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1136C, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1136C, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1136C, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1136C, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x11370, 0x0062], NFC: [0x00E0, 0x05AE, 0x11370, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x11370, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x11370, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x11370, 0x0315, 0x0062] }, -{ source: [0x0061, 0x11370, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x11370, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x11370, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x11370, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x11370, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x11371, 0x0062], NFC: [0x00E0, 0x05AE, 0x11371, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x11371, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x11371, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x11371, 0x0315, 0x0062] }, -{ source: [0x0061, 0x11371, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x11371, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x11371, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x11371, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x11371, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x11372, 0x0062], NFC: [0x00E0, 0x05AE, 0x11372, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x11372, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x11372, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x11372, 0x0315, 0x0062] }, -{ source: [0x0061, 0x11372, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x11372, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x11372, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x11372, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x11372, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x11373, 0x0062], NFC: [0x00E0, 0x05AE, 0x11373, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x11373, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x11373, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x11373, 0x0315, 0x0062] }, -{ source: [0x0061, 0x11373, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x11373, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x11373, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x11373, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x11373, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x11374, 0x0062], NFC: [0x00E0, 0x05AE, 0x11374, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x11374, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x11374, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x11374, 0x0315, 0x0062] }, -{ source: [0x0061, 0x11374, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x11374, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x11374, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x11374, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x11374, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x05B0, 0x094D, 0x3099, 0x113CE, 0x0062], NFC: [0x0061, 0x3099, 0x094D, 0x113CE, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x094D, 0x113CE, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x094D, 0x113CE, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x094D, 0x113CE, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x113CE, 0x05B0, 0x094D, 0x3099, 0x0062], NFC: [0x0061, 0x3099, 0x113CE, 0x094D, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x113CE, 0x094D, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x113CE, 0x094D, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x113CE, 0x094D, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x05B0, 0x094D, 0x3099, 0x113CF, 0x0062], NFC: [0x0061, 0x3099, 0x094D, 0x113CF, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x094D, 0x113CF, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x094D, 0x113CF, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x094D, 0x113CF, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x113CF, 0x05B0, 0x094D, 0x3099, 0x0062], NFC: [0x0061, 0x3099, 0x113CF, 0x094D, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x113CF, 0x094D, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x113CF, 0x094D, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x113CF, 0x094D, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x05B0, 0x094D, 0x3099, 0x113D0, 0x0062], NFC: [0x0061, 0x3099, 0x094D, 0x113D0, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x094D, 0x113D0, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x094D, 0x113D0, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x094D, 0x113D0, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x113D0, 0x05B0, 0x094D, 0x3099, 0x0062], NFC: [0x0061, 0x3099, 0x113D0, 0x094D, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x113D0, 0x094D, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x113D0, 0x094D, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x113D0, 0x094D, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x05B0, 0x094D, 0x3099, 0x11442, 0x0062], NFC: [0x0061, 0x3099, 0x094D, 0x11442, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x094D, 0x11442, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x094D, 0x11442, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x094D, 0x11442, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x11442, 0x05B0, 0x094D, 0x3099, 0x0062], NFC: [0x0061, 0x3099, 0x11442, 0x094D, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x11442, 0x094D, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x11442, 0x094D, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x11442, 0x094D, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x3099, 0x093C, 0x16FF0, 0x11446, 0x0062], NFC: [0x0061, 0x16FF0, 0x093C, 0x11446, 0x3099, 0x0062], NFD: [0x0061, 0x16FF0, 0x093C, 0x11446, 0x3099, 0x0062], NFKC: [0x0061, 0x16FF0, 0x093C, 0x11446, 0x3099, 0x0062], NFKD: [0x0061, 0x16FF0, 0x093C, 0x11446, 0x3099, 0x0062] }, -{ source: [0x0061, 0x11446, 0x3099, 0x093C, 0x16FF0, 0x0062], NFC: [0x0061, 0x16FF0, 0x11446, 0x093C, 0x3099, 0x0062], NFD: [0x0061, 0x16FF0, 0x11446, 0x093C, 0x3099, 0x0062], NFKC: [0x0061, 0x16FF0, 0x11446, 0x093C, 0x3099, 0x0062], NFKD: [0x0061, 0x16FF0, 0x11446, 0x093C, 0x3099, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1145E, 0x0062], NFC: [0x00E0, 0x05AE, 0x1145E, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1145E, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1145E, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1145E, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1145E, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1145E, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1145E, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1145E, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1145E, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x05B0, 0x094D, 0x3099, 0x114C2, 0x0062], NFC: [0x0061, 0x3099, 0x094D, 0x114C2, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x094D, 0x114C2, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x094D, 0x114C2, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x094D, 0x114C2, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x114C2, 0x05B0, 0x094D, 0x3099, 0x0062], NFC: [0x0061, 0x3099, 0x114C2, 0x094D, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x114C2, 0x094D, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x114C2, 0x094D, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x114C2, 0x094D, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x3099, 0x093C, 0x16FF0, 0x114C3, 0x0062], NFC: [0x0061, 0x16FF0, 0x093C, 0x114C3, 0x3099, 0x0062], NFD: [0x0061, 0x16FF0, 0x093C, 0x114C3, 0x3099, 0x0062], NFKC: [0x0061, 0x16FF0, 0x093C, 0x114C3, 0x3099, 0x0062], NFKD: [0x0061, 0x16FF0, 0x093C, 0x114C3, 0x3099, 0x0062] }, -{ source: [0x0061, 0x114C3, 0x3099, 0x093C, 0x16FF0, 0x0062], NFC: [0x0061, 0x16FF0, 0x114C3, 0x093C, 0x3099, 0x0062], NFD: [0x0061, 0x16FF0, 0x114C3, 0x093C, 0x3099, 0x0062], NFKC: [0x0061, 0x16FF0, 0x114C3, 0x093C, 0x3099, 0x0062], NFKD: [0x0061, 0x16FF0, 0x114C3, 0x093C, 0x3099, 0x0062] }, -{ source: [0x0061, 0x05B0, 0x094D, 0x3099, 0x115BF, 0x0062], NFC: [0x0061, 0x3099, 0x094D, 0x115BF, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x094D, 0x115BF, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x094D, 0x115BF, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x094D, 0x115BF, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x115BF, 0x05B0, 0x094D, 0x3099, 0x0062], NFC: [0x0061, 0x3099, 0x115BF, 0x094D, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x115BF, 0x094D, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x115BF, 0x094D, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x115BF, 0x094D, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x3099, 0x093C, 0x16FF0, 0x115C0, 0x0062], NFC: [0x0061, 0x16FF0, 0x093C, 0x115C0, 0x3099, 0x0062], NFD: [0x0061, 0x16FF0, 0x093C, 0x115C0, 0x3099, 0x0062], NFKC: [0x0061, 0x16FF0, 0x093C, 0x115C0, 0x3099, 0x0062], NFKD: [0x0061, 0x16FF0, 0x093C, 0x115C0, 0x3099, 0x0062] }, -{ source: [0x0061, 0x115C0, 0x3099, 0x093C, 0x16FF0, 0x0062], NFC: [0x0061, 0x16FF0, 0x115C0, 0x093C, 0x3099, 0x0062], NFD: [0x0061, 0x16FF0, 0x115C0, 0x093C, 0x3099, 0x0062], NFKC: [0x0061, 0x16FF0, 0x115C0, 0x093C, 0x3099, 0x0062], NFKD: [0x0061, 0x16FF0, 0x115C0, 0x093C, 0x3099, 0x0062] }, -{ source: [0x0061, 0x05B0, 0x094D, 0x3099, 0x1163F, 0x0062], NFC: [0x0061, 0x3099, 0x094D, 0x1163F, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x094D, 0x1163F, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x094D, 0x1163F, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x094D, 0x1163F, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x1163F, 0x05B0, 0x094D, 0x3099, 0x0062], NFC: [0x0061, 0x3099, 0x1163F, 0x094D, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x1163F, 0x094D, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x1163F, 0x094D, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x1163F, 0x094D, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x05B0, 0x094D, 0x3099, 0x116B6, 0x0062], NFC: [0x0061, 0x3099, 0x094D, 0x116B6, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x094D, 0x116B6, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x094D, 0x116B6, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x094D, 0x116B6, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x116B6, 0x05B0, 0x094D, 0x3099, 0x0062], NFC: [0x0061, 0x3099, 0x116B6, 0x094D, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x116B6, 0x094D, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x116B6, 0x094D, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x116B6, 0x094D, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x3099, 0x093C, 0x16FF0, 0x116B7, 0x0062], NFC: [0x0061, 0x16FF0, 0x093C, 0x116B7, 0x3099, 0x0062], NFD: [0x0061, 0x16FF0, 0x093C, 0x116B7, 0x3099, 0x0062], NFKC: [0x0061, 0x16FF0, 0x093C, 0x116B7, 0x3099, 0x0062], NFKD: [0x0061, 0x16FF0, 0x093C, 0x116B7, 0x3099, 0x0062] }, -{ source: [0x0061, 0x116B7, 0x3099, 0x093C, 0x16FF0, 0x0062], NFC: [0x0061, 0x16FF0, 0x116B7, 0x093C, 0x3099, 0x0062], NFD: [0x0061, 0x16FF0, 0x116B7, 0x093C, 0x3099, 0x0062], NFKC: [0x0061, 0x16FF0, 0x116B7, 0x093C, 0x3099, 0x0062], NFKD: [0x0061, 0x16FF0, 0x116B7, 0x093C, 0x3099, 0x0062] }, -{ source: [0x0061, 0x05B0, 0x094D, 0x3099, 0x1172B, 0x0062], NFC: [0x0061, 0x3099, 0x094D, 0x1172B, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x094D, 0x1172B, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x094D, 0x1172B, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x094D, 0x1172B, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x1172B, 0x05B0, 0x094D, 0x3099, 0x0062], NFC: [0x0061, 0x3099, 0x1172B, 0x094D, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x1172B, 0x094D, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x1172B, 0x094D, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x1172B, 0x094D, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x05B0, 0x094D, 0x3099, 0x11839, 0x0062], NFC: [0x0061, 0x3099, 0x094D, 0x11839, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x094D, 0x11839, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x094D, 0x11839, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x094D, 0x11839, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x11839, 0x05B0, 0x094D, 0x3099, 0x0062], NFC: [0x0061, 0x3099, 0x11839, 0x094D, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x11839, 0x094D, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x11839, 0x094D, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x11839, 0x094D, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x3099, 0x093C, 0x16FF0, 0x1183A, 0x0062], NFC: [0x0061, 0x16FF0, 0x093C, 0x1183A, 0x3099, 0x0062], NFD: [0x0061, 0x16FF0, 0x093C, 0x1183A, 0x3099, 0x0062], NFKC: [0x0061, 0x16FF0, 0x093C, 0x1183A, 0x3099, 0x0062], NFKD: [0x0061, 0x16FF0, 0x093C, 0x1183A, 0x3099, 0x0062] }, -{ source: [0x0061, 0x1183A, 0x3099, 0x093C, 0x16FF0, 0x0062], NFC: [0x0061, 0x16FF0, 0x1183A, 0x093C, 0x3099, 0x0062], NFD: [0x0061, 0x16FF0, 0x1183A, 0x093C, 0x3099, 0x0062], NFKC: [0x0061, 0x16FF0, 0x1183A, 0x093C, 0x3099, 0x0062], NFKD: [0x0061, 0x16FF0, 0x1183A, 0x093C, 0x3099, 0x0062] }, -{ source: [0x0061, 0x05B0, 0x094D, 0x3099, 0x1193D, 0x0062], NFC: [0x0061, 0x3099, 0x094D, 0x1193D, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x094D, 0x1193D, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x094D, 0x1193D, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x094D, 0x1193D, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x1193D, 0x05B0, 0x094D, 0x3099, 0x0062], NFC: [0x0061, 0x3099, 0x1193D, 0x094D, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x1193D, 0x094D, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x1193D, 0x094D, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x1193D, 0x094D, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x05B0, 0x094D, 0x3099, 0x1193E, 0x0062], NFC: [0x0061, 0x3099, 0x094D, 0x1193E, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x094D, 0x1193E, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x094D, 0x1193E, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x094D, 0x1193E, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x1193E, 0x05B0, 0x094D, 0x3099, 0x0062], NFC: [0x0061, 0x3099, 0x1193E, 0x094D, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x1193E, 0x094D, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x1193E, 0x094D, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x1193E, 0x094D, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x3099, 0x093C, 0x16FF0, 0x11943, 0x0062], NFC: [0x0061, 0x16FF0, 0x093C, 0x11943, 0x3099, 0x0062], NFD: [0x0061, 0x16FF0, 0x093C, 0x11943, 0x3099, 0x0062], NFKC: [0x0061, 0x16FF0, 0x093C, 0x11943, 0x3099, 0x0062], NFKD: [0x0061, 0x16FF0, 0x093C, 0x11943, 0x3099, 0x0062] }, -{ source: [0x0061, 0x11943, 0x3099, 0x093C, 0x16FF0, 0x0062], NFC: [0x0061, 0x16FF0, 0x11943, 0x093C, 0x3099, 0x0062], NFD: [0x0061, 0x16FF0, 0x11943, 0x093C, 0x3099, 0x0062], NFKC: [0x0061, 0x16FF0, 0x11943, 0x093C, 0x3099, 0x0062], NFKD: [0x0061, 0x16FF0, 0x11943, 0x093C, 0x3099, 0x0062] }, -{ source: [0x0061, 0x05B0, 0x094D, 0x3099, 0x119E0, 0x0062], NFC: [0x0061, 0x3099, 0x094D, 0x119E0, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x094D, 0x119E0, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x094D, 0x119E0, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x094D, 0x119E0, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x119E0, 0x05B0, 0x094D, 0x3099, 0x0062], NFC: [0x0061, 0x3099, 0x119E0, 0x094D, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x119E0, 0x094D, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x119E0, 0x094D, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x119E0, 0x094D, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x05B0, 0x094D, 0x3099, 0x11A34, 0x0062], NFC: [0x0061, 0x3099, 0x094D, 0x11A34, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x094D, 0x11A34, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x094D, 0x11A34, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x094D, 0x11A34, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x11A34, 0x05B0, 0x094D, 0x3099, 0x0062], NFC: [0x0061, 0x3099, 0x11A34, 0x094D, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x11A34, 0x094D, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x11A34, 0x094D, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x11A34, 0x094D, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x05B0, 0x094D, 0x3099, 0x11A47, 0x0062], NFC: [0x0061, 0x3099, 0x094D, 0x11A47, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x094D, 0x11A47, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x094D, 0x11A47, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x094D, 0x11A47, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x11A47, 0x05B0, 0x094D, 0x3099, 0x0062], NFC: [0x0061, 0x3099, 0x11A47, 0x094D, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x11A47, 0x094D, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x11A47, 0x094D, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x11A47, 0x094D, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x05B0, 0x094D, 0x3099, 0x11A99, 0x0062], NFC: [0x0061, 0x3099, 0x094D, 0x11A99, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x094D, 0x11A99, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x094D, 0x11A99, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x094D, 0x11A99, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x11A99, 0x05B0, 0x094D, 0x3099, 0x0062], NFC: [0x0061, 0x3099, 0x11A99, 0x094D, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x11A99, 0x094D, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x11A99, 0x094D, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x11A99, 0x094D, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x05B0, 0x094D, 0x3099, 0x11C3F, 0x0062], NFC: [0x0061, 0x3099, 0x094D, 0x11C3F, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x094D, 0x11C3F, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x094D, 0x11C3F, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x094D, 0x11C3F, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x11C3F, 0x05B0, 0x094D, 0x3099, 0x0062], NFC: [0x0061, 0x3099, 0x11C3F, 0x094D, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x11C3F, 0x094D, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x11C3F, 0x094D, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x11C3F, 0x094D, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x3099, 0x093C, 0x16FF0, 0x11D42, 0x0062], NFC: [0x0061, 0x16FF0, 0x093C, 0x11D42, 0x3099, 0x0062], NFD: [0x0061, 0x16FF0, 0x093C, 0x11D42, 0x3099, 0x0062], NFKC: [0x0061, 0x16FF0, 0x093C, 0x11D42, 0x3099, 0x0062], NFKD: [0x0061, 0x16FF0, 0x093C, 0x11D42, 0x3099, 0x0062] }, -{ source: [0x0061, 0x11D42, 0x3099, 0x093C, 0x16FF0, 0x0062], NFC: [0x0061, 0x16FF0, 0x11D42, 0x093C, 0x3099, 0x0062], NFD: [0x0061, 0x16FF0, 0x11D42, 0x093C, 0x3099, 0x0062], NFKC: [0x0061, 0x16FF0, 0x11D42, 0x093C, 0x3099, 0x0062], NFKD: [0x0061, 0x16FF0, 0x11D42, 0x093C, 0x3099, 0x0062] }, -{ source: [0x0061, 0x05B0, 0x094D, 0x3099, 0x11D44, 0x0062], NFC: [0x0061, 0x3099, 0x094D, 0x11D44, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x094D, 0x11D44, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x094D, 0x11D44, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x094D, 0x11D44, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x11D44, 0x05B0, 0x094D, 0x3099, 0x0062], NFC: [0x0061, 0x3099, 0x11D44, 0x094D, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x11D44, 0x094D, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x11D44, 0x094D, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x11D44, 0x094D, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x05B0, 0x094D, 0x3099, 0x11D45, 0x0062], NFC: [0x0061, 0x3099, 0x094D, 0x11D45, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x094D, 0x11D45, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x094D, 0x11D45, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x094D, 0x11D45, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x11D45, 0x05B0, 0x094D, 0x3099, 0x0062], NFC: [0x0061, 0x3099, 0x11D45, 0x094D, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x11D45, 0x094D, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x11D45, 0x094D, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x11D45, 0x094D, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x05B0, 0x094D, 0x3099, 0x11D97, 0x0062], NFC: [0x0061, 0x3099, 0x094D, 0x11D97, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x094D, 0x11D97, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x094D, 0x11D97, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x094D, 0x11D97, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x11D97, 0x05B0, 0x094D, 0x3099, 0x0062], NFC: [0x0061, 0x3099, 0x11D97, 0x094D, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x11D97, 0x094D, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x11D97, 0x094D, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x11D97, 0x094D, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x05B0, 0x094D, 0x3099, 0x11F41, 0x0062], NFC: [0x0061, 0x3099, 0x094D, 0x11F41, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x094D, 0x11F41, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x094D, 0x11F41, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x094D, 0x11F41, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x11F41, 0x05B0, 0x094D, 0x3099, 0x0062], NFC: [0x0061, 0x3099, 0x11F41, 0x094D, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x11F41, 0x094D, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x11F41, 0x094D, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x11F41, 0x094D, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x05B0, 0x094D, 0x3099, 0x11F42, 0x0062], NFC: [0x0061, 0x3099, 0x094D, 0x11F42, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x094D, 0x11F42, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x094D, 0x11F42, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x094D, 0x11F42, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x11F42, 0x05B0, 0x094D, 0x3099, 0x0062], NFC: [0x0061, 0x3099, 0x11F42, 0x094D, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x11F42, 0x094D, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x11F42, 0x094D, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x11F42, 0x094D, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x05B0, 0x094D, 0x3099, 0x1612F, 0x0062], NFC: [0x0061, 0x3099, 0x094D, 0x1612F, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x094D, 0x1612F, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x094D, 0x1612F, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x094D, 0x1612F, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x1612F, 0x05B0, 0x094D, 0x3099, 0x0062], NFC: [0x0061, 0x3099, 0x1612F, 0x094D, 0x05B0, 0x0062], NFD: [0x0061, 0x3099, 0x1612F, 0x094D, 0x05B0, 0x0062], NFKC: [0x0061, 0x3099, 0x1612F, 0x094D, 0x05B0, 0x0062], NFKD: [0x0061, 0x3099, 0x1612F, 0x094D, 0x05B0, 0x0062] }, -{ source: [0x0061, 0x16FF0, 0x0334, 0x16AF0, 0x0062], NFC: [0x0061, 0x0334, 0x16AF0, 0x16FF0, 0x0062], NFD: [0x0061, 0x0334, 0x16AF0, 0x16FF0, 0x0062], NFKC: [0x0061, 0x0334, 0x16AF0, 0x16FF0, 0x0062], NFKD: [0x0061, 0x0334, 0x16AF0, 0x16FF0, 0x0062] }, -{ source: [0x0061, 0x16AF0, 0x16FF0, 0x0334, 0x0062], NFC: [0x0061, 0x16AF0, 0x0334, 0x16FF0, 0x0062], NFD: [0x0061, 0x16AF0, 0x0334, 0x16FF0, 0x0062], NFKC: [0x0061, 0x16AF0, 0x0334, 0x16FF0, 0x0062], NFKD: [0x0061, 0x16AF0, 0x0334, 0x16FF0, 0x0062] }, -{ source: [0x0061, 0x16FF0, 0x0334, 0x16AF1, 0x0062], NFC: [0x0061, 0x0334, 0x16AF1, 0x16FF0, 0x0062], NFD: [0x0061, 0x0334, 0x16AF1, 0x16FF0, 0x0062], NFKC: [0x0061, 0x0334, 0x16AF1, 0x16FF0, 0x0062], NFKD: [0x0061, 0x0334, 0x16AF1, 0x16FF0, 0x0062] }, -{ source: [0x0061, 0x16AF1, 0x16FF0, 0x0334, 0x0062], NFC: [0x0061, 0x16AF1, 0x0334, 0x16FF0, 0x0062], NFD: [0x0061, 0x16AF1, 0x0334, 0x16FF0, 0x0062], NFKC: [0x0061, 0x16AF1, 0x0334, 0x16FF0, 0x0062], NFKD: [0x0061, 0x16AF1, 0x0334, 0x16FF0, 0x0062] }, -{ source: [0x0061, 0x16FF0, 0x0334, 0x16AF2, 0x0062], NFC: [0x0061, 0x0334, 0x16AF2, 0x16FF0, 0x0062], NFD: [0x0061, 0x0334, 0x16AF2, 0x16FF0, 0x0062], NFKC: [0x0061, 0x0334, 0x16AF2, 0x16FF0, 0x0062], NFKD: [0x0061, 0x0334, 0x16AF2, 0x16FF0, 0x0062] }, -{ source: [0x0061, 0x16AF2, 0x16FF0, 0x0334, 0x0062], NFC: [0x0061, 0x16AF2, 0x0334, 0x16FF0, 0x0062], NFD: [0x0061, 0x16AF2, 0x0334, 0x16FF0, 0x0062], NFKC: [0x0061, 0x16AF2, 0x0334, 0x16FF0, 0x0062], NFKD: [0x0061, 0x16AF2, 0x0334, 0x16FF0, 0x0062] }, -{ source: [0x0061, 0x16FF0, 0x0334, 0x16AF3, 0x0062], NFC: [0x0061, 0x0334, 0x16AF3, 0x16FF0, 0x0062], NFD: [0x0061, 0x0334, 0x16AF3, 0x16FF0, 0x0062], NFKC: [0x0061, 0x0334, 0x16AF3, 0x16FF0, 0x0062], NFKD: [0x0061, 0x0334, 0x16AF3, 0x16FF0, 0x0062] }, -{ source: [0x0061, 0x16AF3, 0x16FF0, 0x0334, 0x0062], NFC: [0x0061, 0x16AF3, 0x0334, 0x16FF0, 0x0062], NFD: [0x0061, 0x16AF3, 0x0334, 0x16FF0, 0x0062], NFKC: [0x0061, 0x16AF3, 0x0334, 0x16FF0, 0x0062], NFKD: [0x0061, 0x16AF3, 0x0334, 0x16FF0, 0x0062] }, -{ source: [0x0061, 0x16FF0, 0x0334, 0x16AF4, 0x0062], NFC: [0x0061, 0x0334, 0x16AF4, 0x16FF0, 0x0062], NFD: [0x0061, 0x0334, 0x16AF4, 0x16FF0, 0x0062], NFKC: [0x0061, 0x0334, 0x16AF4, 0x16FF0, 0x0062], NFKD: [0x0061, 0x0334, 0x16AF4, 0x16FF0, 0x0062] }, -{ source: [0x0061, 0x16AF4, 0x16FF0, 0x0334, 0x0062], NFC: [0x0061, 0x16AF4, 0x0334, 0x16FF0, 0x0062], NFD: [0x0061, 0x16AF4, 0x0334, 0x16FF0, 0x0062], NFKC: [0x0061, 0x16AF4, 0x0334, 0x16FF0, 0x0062], NFKD: [0x0061, 0x16AF4, 0x0334, 0x16FF0, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x16B30, 0x0062], NFC: [0x00E0, 0x05AE, 0x16B30, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x16B30, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x16B30, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x16B30, 0x0315, 0x0062] }, -{ source: [0x0061, 0x16B30, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x16B30, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x16B30, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x16B30, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x16B30, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x16B31, 0x0062], NFC: [0x00E0, 0x05AE, 0x16B31, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x16B31, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x16B31, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x16B31, 0x0315, 0x0062] }, -{ source: [0x0061, 0x16B31, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x16B31, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x16B31, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x16B31, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x16B31, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x16B32, 0x0062], NFC: [0x00E0, 0x05AE, 0x16B32, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x16B32, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x16B32, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x16B32, 0x0315, 0x0062] }, -{ source: [0x0061, 0x16B32, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x16B32, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x16B32, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x16B32, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x16B32, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x16B33, 0x0062], NFC: [0x00E0, 0x05AE, 0x16B33, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x16B33, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x16B33, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x16B33, 0x0315, 0x0062] }, -{ source: [0x0061, 0x16B33, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x16B33, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x16B33, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x16B33, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x16B33, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x16B34, 0x0062], NFC: [0x00E0, 0x05AE, 0x16B34, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x16B34, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x16B34, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x16B34, 0x0315, 0x0062] }, -{ source: [0x0061, 0x16B34, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x16B34, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x16B34, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x16B34, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x16B34, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x16B35, 0x0062], NFC: [0x00E0, 0x05AE, 0x16B35, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x16B35, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x16B35, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x16B35, 0x0315, 0x0062] }, -{ source: [0x0061, 0x16B35, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x16B35, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x16B35, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x16B35, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x16B35, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x16B36, 0x0062], NFC: [0x00E0, 0x05AE, 0x16B36, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x16B36, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x16B36, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x16B36, 0x0315, 0x0062] }, -{ source: [0x0061, 0x16B36, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x16B36, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x16B36, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x16B36, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x16B36, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x093C, 0x16FF0, 0x0334, 0x16FF0, 0x0062], NFC: [0x0061, 0x0334, 0x16FF0, 0x16FF0, 0x093C, 0x0062], NFD: [0x0061, 0x0334, 0x16FF0, 0x16FF0, 0x093C, 0x0062], NFKC: [0x0061, 0x0334, 0x16FF0, 0x16FF0, 0x093C, 0x0062], NFKD: [0x0061, 0x0334, 0x16FF0, 0x16FF0, 0x093C, 0x0062] }, -{ source: [0x0061, 0x16FF0, 0x093C, 0x16FF0, 0x0334, 0x0062], NFC: [0x0061, 0x0334, 0x16FF0, 0x16FF0, 0x093C, 0x0062], NFD: [0x0061, 0x0334, 0x16FF0, 0x16FF0, 0x093C, 0x0062], NFKC: [0x0061, 0x0334, 0x16FF0, 0x16FF0, 0x093C, 0x0062], NFKD: [0x0061, 0x0334, 0x16FF0, 0x16FF0, 0x093C, 0x0062] }, -{ source: [0x0061, 0x093C, 0x16FF0, 0x0334, 0x16FF1, 0x0062], NFC: [0x0061, 0x0334, 0x16FF0, 0x16FF1, 0x093C, 0x0062], NFD: [0x0061, 0x0334, 0x16FF0, 0x16FF1, 0x093C, 0x0062], NFKC: [0x0061, 0x0334, 0x16FF0, 0x16FF1, 0x093C, 0x0062], NFKD: [0x0061, 0x0334, 0x16FF0, 0x16FF1, 0x093C, 0x0062] }, -{ source: [0x0061, 0x16FF1, 0x093C, 0x16FF0, 0x0334, 0x0062], NFC: [0x0061, 0x0334, 0x16FF1, 0x16FF0, 0x093C, 0x0062], NFD: [0x0061, 0x0334, 0x16FF1, 0x16FF0, 0x093C, 0x0062], NFKC: [0x0061, 0x0334, 0x16FF1, 0x16FF0, 0x093C, 0x0062], NFKD: [0x0061, 0x0334, 0x16FF1, 0x16FF0, 0x093C, 0x0062] }, -{ source: [0x0061, 0x16FF0, 0x0334, 0x1BC9E, 0x0062], NFC: [0x0061, 0x0334, 0x1BC9E, 0x16FF0, 0x0062], NFD: [0x0061, 0x0334, 0x1BC9E, 0x16FF0, 0x0062], NFKC: [0x0061, 0x0334, 0x1BC9E, 0x16FF0, 0x0062], NFKD: [0x0061, 0x0334, 0x1BC9E, 0x16FF0, 0x0062] }, -{ source: [0x0061, 0x1BC9E, 0x16FF0, 0x0334, 0x0062], NFC: [0x0061, 0x1BC9E, 0x0334, 0x16FF0, 0x0062], NFD: [0x0061, 0x1BC9E, 0x0334, 0x16FF0, 0x0062], NFKC: [0x0061, 0x1BC9E, 0x0334, 0x16FF0, 0x0062], NFKD: [0x0061, 0x1BC9E, 0x0334, 0x16FF0, 0x0062] }, -{ source: [0x0061, 0x1DFA, 0x031B, 0x1DCE, 0x1D165, 0x0062], NFC: [0x0061, 0x1DCE, 0x031B, 0x1D165, 0x1DFA, 0x0062], NFD: [0x0061, 0x1DCE, 0x031B, 0x1D165, 0x1DFA, 0x0062], NFKC: [0x0061, 0x1DCE, 0x031B, 0x1D165, 0x1DFA, 0x0062], NFKD: [0x0061, 0x1DCE, 0x031B, 0x1D165, 0x1DFA, 0x0062] }, -{ source: [0x0061, 0x1D165, 0x1DFA, 0x031B, 0x1DCE, 0x0062], NFC: [0x0061, 0x1DCE, 0x1D165, 0x031B, 0x1DFA, 0x0062], NFD: [0x0061, 0x1DCE, 0x1D165, 0x031B, 0x1DFA, 0x0062], NFKC: [0x0061, 0x1DCE, 0x1D165, 0x031B, 0x1DFA, 0x0062], NFKD: [0x0061, 0x1DCE, 0x1D165, 0x031B, 0x1DFA, 0x0062] }, -{ source: [0x0061, 0x1DFA, 0x031B, 0x1DCE, 0x1D166, 0x0062], NFC: [0x0061, 0x1DCE, 0x031B, 0x1D166, 0x1DFA, 0x0062], NFD: [0x0061, 0x1DCE, 0x031B, 0x1D166, 0x1DFA, 0x0062], NFKC: [0x0061, 0x1DCE, 0x031B, 0x1D166, 0x1DFA, 0x0062], NFKD: [0x0061, 0x1DCE, 0x031B, 0x1D166, 0x1DFA, 0x0062] }, -{ source: [0x0061, 0x1D166, 0x1DFA, 0x031B, 0x1DCE, 0x0062], NFC: [0x0061, 0x1DCE, 0x1D166, 0x031B, 0x1DFA, 0x0062], NFD: [0x0061, 0x1DCE, 0x1D166, 0x031B, 0x1DFA, 0x0062], NFKC: [0x0061, 0x1DCE, 0x1D166, 0x031B, 0x1DFA, 0x0062], NFKD: [0x0061, 0x1DCE, 0x1D166, 0x031B, 0x1DFA, 0x0062] }, -{ source: [0x0061, 0x16FF0, 0x0334, 0x1D167, 0x0062], NFC: [0x0061, 0x0334, 0x1D167, 0x16FF0, 0x0062], NFD: [0x0061, 0x0334, 0x1D167, 0x16FF0, 0x0062], NFKC: [0x0061, 0x0334, 0x1D167, 0x16FF0, 0x0062], NFKD: [0x0061, 0x0334, 0x1D167, 0x16FF0, 0x0062] }, -{ source: [0x0061, 0x1D167, 0x16FF0, 0x0334, 0x0062], NFC: [0x0061, 0x1D167, 0x0334, 0x16FF0, 0x0062], NFD: [0x0061, 0x1D167, 0x0334, 0x16FF0, 0x0062], NFKC: [0x0061, 0x1D167, 0x0334, 0x16FF0, 0x0062], NFKD: [0x0061, 0x1D167, 0x0334, 0x16FF0, 0x0062] }, -{ source: [0x0061, 0x16FF0, 0x0334, 0x1D168, 0x0062], NFC: [0x0061, 0x0334, 0x1D168, 0x16FF0, 0x0062], NFD: [0x0061, 0x0334, 0x1D168, 0x16FF0, 0x0062], NFKC: [0x0061, 0x0334, 0x1D168, 0x16FF0, 0x0062], NFKD: [0x0061, 0x0334, 0x1D168, 0x16FF0, 0x0062] }, -{ source: [0x0061, 0x1D168, 0x16FF0, 0x0334, 0x0062], NFC: [0x0061, 0x1D168, 0x0334, 0x16FF0, 0x0062], NFD: [0x0061, 0x1D168, 0x0334, 0x16FF0, 0x0062], NFKC: [0x0061, 0x1D168, 0x0334, 0x16FF0, 0x0062], NFKD: [0x0061, 0x1D168, 0x0334, 0x16FF0, 0x0062] }, -{ source: [0x0061, 0x16FF0, 0x0334, 0x1D169, 0x0062], NFC: [0x0061, 0x0334, 0x1D169, 0x16FF0, 0x0062], NFD: [0x0061, 0x0334, 0x1D169, 0x16FF0, 0x0062], NFKC: [0x0061, 0x0334, 0x1D169, 0x16FF0, 0x0062], NFKD: [0x0061, 0x0334, 0x1D169, 0x16FF0, 0x0062] }, -{ source: [0x0061, 0x1D169, 0x16FF0, 0x0334, 0x0062], NFC: [0x0061, 0x1D169, 0x0334, 0x16FF0, 0x0062], NFD: [0x0061, 0x1D169, 0x0334, 0x16FF0, 0x0062], NFKC: [0x0061, 0x1D169, 0x0334, 0x16FF0, 0x0062], NFKD: [0x0061, 0x1D169, 0x0334, 0x16FF0, 0x0062] }, -{ source: [0x0061, 0x05AE, 0x1D16D, 0x302E, 0x1D16D, 0x0062], NFC: [0x0061, 0x302E, 0x1D16D, 0x1D16D, 0x05AE, 0x0062], NFD: [0x0061, 0x302E, 0x1D16D, 0x1D16D, 0x05AE, 0x0062], NFKC: [0x0061, 0x302E, 0x1D16D, 0x1D16D, 0x05AE, 0x0062], NFKD: [0x0061, 0x302E, 0x1D16D, 0x1D16D, 0x05AE, 0x0062] }, -{ source: [0x0061, 0x1D16D, 0x05AE, 0x1D16D, 0x302E, 0x0062], NFC: [0x0061, 0x302E, 0x1D16D, 0x1D16D, 0x05AE, 0x0062], NFD: [0x0061, 0x302E, 0x1D16D, 0x1D16D, 0x05AE, 0x0062], NFKC: [0x0061, 0x302E, 0x1D16D, 0x1D16D, 0x05AE, 0x0062], NFKD: [0x0061, 0x302E, 0x1D16D, 0x1D16D, 0x05AE, 0x0062] }, -{ source: [0x0061, 0x1DFA, 0x031B, 0x1DCE, 0x1D16E, 0x0062], NFC: [0x0061, 0x1DCE, 0x031B, 0x1D16E, 0x1DFA, 0x0062], NFD: [0x0061, 0x1DCE, 0x031B, 0x1D16E, 0x1DFA, 0x0062], NFKC: [0x0061, 0x1DCE, 0x031B, 0x1D16E, 0x1DFA, 0x0062], NFKD: [0x0061, 0x1DCE, 0x031B, 0x1D16E, 0x1DFA, 0x0062] }, -{ source: [0x0061, 0x1D16E, 0x1DFA, 0x031B, 0x1DCE, 0x0062], NFC: [0x0061, 0x1DCE, 0x1D16E, 0x031B, 0x1DFA, 0x0062], NFD: [0x0061, 0x1DCE, 0x1D16E, 0x031B, 0x1DFA, 0x0062], NFKC: [0x0061, 0x1DCE, 0x1D16E, 0x031B, 0x1DFA, 0x0062], NFKD: [0x0061, 0x1DCE, 0x1D16E, 0x031B, 0x1DFA, 0x0062] }, -{ source: [0x0061, 0x1DFA, 0x031B, 0x1DCE, 0x1D16F, 0x0062], NFC: [0x0061, 0x1DCE, 0x031B, 0x1D16F, 0x1DFA, 0x0062], NFD: [0x0061, 0x1DCE, 0x031B, 0x1D16F, 0x1DFA, 0x0062], NFKC: [0x0061, 0x1DCE, 0x031B, 0x1D16F, 0x1DFA, 0x0062], NFKD: [0x0061, 0x1DCE, 0x031B, 0x1D16F, 0x1DFA, 0x0062] }, -{ source: [0x0061, 0x1D16F, 0x1DFA, 0x031B, 0x1DCE, 0x0062], NFC: [0x0061, 0x1DCE, 0x1D16F, 0x031B, 0x1DFA, 0x0062], NFD: [0x0061, 0x1DCE, 0x1D16F, 0x031B, 0x1DFA, 0x0062], NFKC: [0x0061, 0x1DCE, 0x1D16F, 0x031B, 0x1DFA, 0x0062], NFKD: [0x0061, 0x1DCE, 0x1D16F, 0x031B, 0x1DFA, 0x0062] }, -{ source: [0x0061, 0x1DFA, 0x031B, 0x1DCE, 0x1D170, 0x0062], NFC: [0x0061, 0x1DCE, 0x031B, 0x1D170, 0x1DFA, 0x0062], NFD: [0x0061, 0x1DCE, 0x031B, 0x1D170, 0x1DFA, 0x0062], NFKC: [0x0061, 0x1DCE, 0x031B, 0x1D170, 0x1DFA, 0x0062], NFKD: [0x0061, 0x1DCE, 0x031B, 0x1D170, 0x1DFA, 0x0062] }, -{ source: [0x0061, 0x1D170, 0x1DFA, 0x031B, 0x1DCE, 0x0062], NFC: [0x0061, 0x1DCE, 0x1D170, 0x031B, 0x1DFA, 0x0062], NFD: [0x0061, 0x1DCE, 0x1D170, 0x031B, 0x1DFA, 0x0062], NFKC: [0x0061, 0x1DCE, 0x1D170, 0x031B, 0x1DFA, 0x0062], NFKD: [0x0061, 0x1DCE, 0x1D170, 0x031B, 0x1DFA, 0x0062] }, -{ source: [0x0061, 0x1DFA, 0x031B, 0x1DCE, 0x1D171, 0x0062], NFC: [0x0061, 0x1DCE, 0x031B, 0x1D171, 0x1DFA, 0x0062], NFD: [0x0061, 0x1DCE, 0x031B, 0x1D171, 0x1DFA, 0x0062], NFKC: [0x0061, 0x1DCE, 0x031B, 0x1D171, 0x1DFA, 0x0062], NFKD: [0x0061, 0x1DCE, 0x031B, 0x1D171, 0x1DFA, 0x0062] }, -{ source: [0x0061, 0x1D171, 0x1DFA, 0x031B, 0x1DCE, 0x0062], NFC: [0x0061, 0x1DCE, 0x1D171, 0x031B, 0x1DFA, 0x0062], NFD: [0x0061, 0x1DCE, 0x1D171, 0x031B, 0x1DFA, 0x0062], NFKC: [0x0061, 0x1DCE, 0x1D171, 0x031B, 0x1DFA, 0x0062], NFKD: [0x0061, 0x1DCE, 0x1D171, 0x031B, 0x1DFA, 0x0062] }, -{ source: [0x0061, 0x1DFA, 0x031B, 0x1DCE, 0x1D172, 0x0062], NFC: [0x0061, 0x1DCE, 0x031B, 0x1D172, 0x1DFA, 0x0062], NFD: [0x0061, 0x1DCE, 0x031B, 0x1D172, 0x1DFA, 0x0062], NFKC: [0x0061, 0x1DCE, 0x031B, 0x1D172, 0x1DFA, 0x0062], NFKD: [0x0061, 0x1DCE, 0x031B, 0x1D172, 0x1DFA, 0x0062] }, -{ source: [0x0061, 0x1D172, 0x1DFA, 0x031B, 0x1DCE, 0x0062], NFC: [0x0061, 0x1DCE, 0x1D172, 0x031B, 0x1DFA, 0x0062], NFD: [0x0061, 0x1DCE, 0x1D172, 0x031B, 0x1DFA, 0x0062], NFKC: [0x0061, 0x1DCE, 0x1D172, 0x031B, 0x1DFA, 0x0062], NFKD: [0x0061, 0x1DCE, 0x1D172, 0x031B, 0x1DFA, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x1D17B, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x1D17B, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x1D17B, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x1D17B, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x1D17B, 0x059A, 0x0062] }, -{ source: [0x0061, 0x1D17B, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x1D17B, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x1D17B, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x1D17B, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x1D17B, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x1D17C, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x1D17C, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x1D17C, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x1D17C, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x1D17C, 0x059A, 0x0062] }, -{ source: [0x0061, 0x1D17C, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x1D17C, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x1D17C, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x1D17C, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x1D17C, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x1D17D, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x1D17D, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x1D17D, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x1D17D, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x1D17D, 0x059A, 0x0062] }, -{ source: [0x0061, 0x1D17D, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x1D17D, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x1D17D, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x1D17D, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x1D17D, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x1D17E, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x1D17E, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x1D17E, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x1D17E, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x1D17E, 0x059A, 0x0062] }, -{ source: [0x0061, 0x1D17E, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x1D17E, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x1D17E, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x1D17E, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x1D17E, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x1D17F, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x1D17F, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x1D17F, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x1D17F, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x1D17F, 0x059A, 0x0062] }, -{ source: [0x0061, 0x1D17F, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x1D17F, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x1D17F, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x1D17F, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x1D17F, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x1D180, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x1D180, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x1D180, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x1D180, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x1D180, 0x059A, 0x0062] }, -{ source: [0x0061, 0x1D180, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x1D180, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x1D180, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x1D180, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x1D180, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x1D181, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x1D181, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x1D181, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x1D181, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x1D181, 0x059A, 0x0062] }, -{ source: [0x0061, 0x1D181, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x1D181, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x1D181, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x1D181, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x1D181, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x1D182, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x1D182, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x1D182, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x1D182, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x1D182, 0x059A, 0x0062] }, -{ source: [0x0061, 0x1D182, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x1D182, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x1D182, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x1D182, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x1D182, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1D185, 0x0062], NFC: [0x00E0, 0x05AE, 0x1D185, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1D185, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1D185, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1D185, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1D185, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1D185, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1D185, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1D185, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1D185, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1D186, 0x0062], NFC: [0x00E0, 0x05AE, 0x1D186, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1D186, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1D186, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1D186, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1D186, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1D186, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1D186, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1D186, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1D186, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1D187, 0x0062], NFC: [0x00E0, 0x05AE, 0x1D187, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1D187, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1D187, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1D187, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1D187, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1D187, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1D187, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1D187, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1D187, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1D188, 0x0062], NFC: [0x00E0, 0x05AE, 0x1D188, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1D188, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1D188, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1D188, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1D188, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1D188, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1D188, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1D188, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1D188, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1D189, 0x0062], NFC: [0x00E0, 0x05AE, 0x1D189, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1D189, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1D189, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1D189, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1D189, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1D189, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1D189, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1D189, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1D189, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x1D18A, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x1D18A, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x1D18A, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x1D18A, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x1D18A, 0x059A, 0x0062] }, -{ source: [0x0061, 0x1D18A, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x1D18A, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x1D18A, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x1D18A, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x1D18A, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x1D18B, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x1D18B, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x1D18B, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x1D18B, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x1D18B, 0x059A, 0x0062] }, -{ source: [0x0061, 0x1D18B, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x1D18B, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x1D18B, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x1D18B, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x1D18B, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1D1AA, 0x0062], NFC: [0x00E0, 0x05AE, 0x1D1AA, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1D1AA, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1D1AA, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1D1AA, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1D1AA, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1D1AA, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1D1AA, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1D1AA, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1D1AA, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1D1AB, 0x0062], NFC: [0x00E0, 0x05AE, 0x1D1AB, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1D1AB, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1D1AB, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1D1AB, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1D1AB, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1D1AB, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1D1AB, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1D1AB, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1D1AB, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1D1AC, 0x0062], NFC: [0x00E0, 0x05AE, 0x1D1AC, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1D1AC, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1D1AC, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1D1AC, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1D1AC, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1D1AC, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1D1AC, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1D1AC, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1D1AC, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1D1AD, 0x0062], NFC: [0x00E0, 0x05AE, 0x1D1AD, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1D1AD, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1D1AD, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1D1AD, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1D1AD, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1D1AD, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1D1AD, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1D1AD, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1D1AD, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1D242, 0x0062], NFC: [0x00E0, 0x05AE, 0x1D242, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1D242, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1D242, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1D242, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1D242, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1D242, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1D242, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1D242, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1D242, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1D243, 0x0062], NFC: [0x00E0, 0x05AE, 0x1D243, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1D243, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1D243, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1D243, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1D243, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1D243, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1D243, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1D243, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1D243, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1D244, 0x0062], NFC: [0x00E0, 0x05AE, 0x1D244, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1D244, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1D244, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1D244, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1D244, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1D244, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1D244, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1D244, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1D244, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1E000, 0x0062], NFC: [0x00E0, 0x05AE, 0x1E000, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1E000, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1E000, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1E000, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1E000, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1E000, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1E000, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1E000, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1E000, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1E001, 0x0062], NFC: [0x00E0, 0x05AE, 0x1E001, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1E001, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1E001, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1E001, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1E001, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1E001, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1E001, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1E001, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1E001, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1E002, 0x0062], NFC: [0x00E0, 0x05AE, 0x1E002, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1E002, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1E002, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1E002, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1E002, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1E002, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1E002, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1E002, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1E002, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1E003, 0x0062], NFC: [0x00E0, 0x05AE, 0x1E003, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1E003, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1E003, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1E003, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1E003, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1E003, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1E003, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1E003, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1E003, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1E004, 0x0062], NFC: [0x00E0, 0x05AE, 0x1E004, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1E004, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1E004, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1E004, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1E004, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1E004, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1E004, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1E004, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1E004, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1E005, 0x0062], NFC: [0x00E0, 0x05AE, 0x1E005, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1E005, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1E005, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1E005, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1E005, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1E005, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1E005, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1E005, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1E005, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1E006, 0x0062], NFC: [0x00E0, 0x05AE, 0x1E006, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1E006, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1E006, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1E006, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1E006, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1E006, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1E006, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1E006, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1E006, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1E008, 0x0062], NFC: [0x00E0, 0x05AE, 0x1E008, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1E008, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1E008, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1E008, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1E008, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1E008, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1E008, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1E008, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1E008, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1E009, 0x0062], NFC: [0x00E0, 0x05AE, 0x1E009, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1E009, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1E009, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1E009, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1E009, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1E009, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1E009, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1E009, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1E009, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1E00A, 0x0062], NFC: [0x00E0, 0x05AE, 0x1E00A, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1E00A, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1E00A, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1E00A, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1E00A, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1E00A, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1E00A, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1E00A, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1E00A, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1E00B, 0x0062], NFC: [0x00E0, 0x05AE, 0x1E00B, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1E00B, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1E00B, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1E00B, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1E00B, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1E00B, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1E00B, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1E00B, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1E00B, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1E00C, 0x0062], NFC: [0x00E0, 0x05AE, 0x1E00C, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1E00C, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1E00C, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1E00C, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1E00C, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1E00C, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1E00C, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1E00C, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1E00C, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1E00D, 0x0062], NFC: [0x00E0, 0x05AE, 0x1E00D, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1E00D, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1E00D, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1E00D, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1E00D, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1E00D, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1E00D, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1E00D, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1E00D, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1E00E, 0x0062], NFC: [0x00E0, 0x05AE, 0x1E00E, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1E00E, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1E00E, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1E00E, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1E00E, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1E00E, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1E00E, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1E00E, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1E00E, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1E00F, 0x0062], NFC: [0x00E0, 0x05AE, 0x1E00F, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1E00F, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1E00F, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1E00F, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1E00F, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1E00F, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1E00F, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1E00F, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1E00F, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1E010, 0x0062], NFC: [0x00E0, 0x05AE, 0x1E010, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1E010, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1E010, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1E010, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1E010, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1E010, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1E010, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1E010, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1E010, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1E011, 0x0062], NFC: [0x00E0, 0x05AE, 0x1E011, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1E011, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1E011, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1E011, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1E011, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1E011, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1E011, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1E011, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1E011, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1E012, 0x0062], NFC: [0x00E0, 0x05AE, 0x1E012, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1E012, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1E012, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1E012, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1E012, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1E012, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1E012, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1E012, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1E012, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1E013, 0x0062], NFC: [0x00E0, 0x05AE, 0x1E013, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1E013, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1E013, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1E013, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1E013, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1E013, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1E013, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1E013, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1E013, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1E014, 0x0062], NFC: [0x00E0, 0x05AE, 0x1E014, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1E014, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1E014, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1E014, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1E014, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1E014, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1E014, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1E014, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1E014, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1E015, 0x0062], NFC: [0x00E0, 0x05AE, 0x1E015, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1E015, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1E015, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1E015, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1E015, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1E015, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1E015, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1E015, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1E015, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1E016, 0x0062], NFC: [0x00E0, 0x05AE, 0x1E016, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1E016, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1E016, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1E016, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1E016, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1E016, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1E016, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1E016, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1E016, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1E017, 0x0062], NFC: [0x00E0, 0x05AE, 0x1E017, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1E017, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1E017, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1E017, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1E017, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1E017, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1E017, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1E017, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1E017, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1E018, 0x0062], NFC: [0x00E0, 0x05AE, 0x1E018, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1E018, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1E018, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1E018, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1E018, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1E018, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1E018, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1E018, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1E018, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1E01B, 0x0062], NFC: [0x00E0, 0x05AE, 0x1E01B, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1E01B, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1E01B, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1E01B, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1E01B, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1E01B, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1E01B, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1E01B, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1E01B, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1E01C, 0x0062], NFC: [0x00E0, 0x05AE, 0x1E01C, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1E01C, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1E01C, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1E01C, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1E01C, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1E01C, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1E01C, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1E01C, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1E01C, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1E01D, 0x0062], NFC: [0x00E0, 0x05AE, 0x1E01D, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1E01D, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1E01D, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1E01D, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1E01D, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1E01D, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1E01D, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1E01D, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1E01D, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1E01E, 0x0062], NFC: [0x00E0, 0x05AE, 0x1E01E, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1E01E, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1E01E, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1E01E, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1E01E, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1E01E, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1E01E, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1E01E, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1E01E, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1E01F, 0x0062], NFC: [0x00E0, 0x05AE, 0x1E01F, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1E01F, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1E01F, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1E01F, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1E01F, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1E01F, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1E01F, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1E01F, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1E01F, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1E020, 0x0062], NFC: [0x00E0, 0x05AE, 0x1E020, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1E020, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1E020, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1E020, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1E020, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1E020, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1E020, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1E020, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1E020, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1E021, 0x0062], NFC: [0x00E0, 0x05AE, 0x1E021, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1E021, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1E021, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1E021, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1E021, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1E021, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1E021, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1E021, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1E021, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1E023, 0x0062], NFC: [0x00E0, 0x05AE, 0x1E023, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1E023, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1E023, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1E023, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1E023, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1E023, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1E023, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1E023, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1E023, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1E024, 0x0062], NFC: [0x00E0, 0x05AE, 0x1E024, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1E024, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1E024, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1E024, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1E024, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1E024, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1E024, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1E024, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1E024, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1E026, 0x0062], NFC: [0x00E0, 0x05AE, 0x1E026, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1E026, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1E026, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1E026, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1E026, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1E026, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1E026, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1E026, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1E026, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1E027, 0x0062], NFC: [0x00E0, 0x05AE, 0x1E027, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1E027, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1E027, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1E027, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1E027, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1E027, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1E027, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1E027, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1E027, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1E028, 0x0062], NFC: [0x00E0, 0x05AE, 0x1E028, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1E028, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1E028, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1E028, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1E028, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1E028, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1E028, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1E028, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1E028, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1E029, 0x0062], NFC: [0x00E0, 0x05AE, 0x1E029, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1E029, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1E029, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1E029, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1E029, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1E029, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1E029, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1E029, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1E029, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1E02A, 0x0062], NFC: [0x00E0, 0x05AE, 0x1E02A, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1E02A, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1E02A, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1E02A, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1E02A, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1E02A, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1E02A, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1E02A, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1E02A, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1E08F, 0x0062], NFC: [0x00E0, 0x05AE, 0x1E08F, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1E08F, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1E08F, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1E08F, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1E08F, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1E08F, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1E08F, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1E08F, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1E08F, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1E130, 0x0062], NFC: [0x00E0, 0x05AE, 0x1E130, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1E130, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1E130, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1E130, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1E130, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1E130, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1E130, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1E130, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1E130, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1E131, 0x0062], NFC: [0x00E0, 0x05AE, 0x1E131, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1E131, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1E131, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1E131, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1E131, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1E131, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1E131, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1E131, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1E131, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1E132, 0x0062], NFC: [0x00E0, 0x05AE, 0x1E132, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1E132, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1E132, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1E132, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1E132, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1E132, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1E132, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1E132, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1E132, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1E133, 0x0062], NFC: [0x00E0, 0x05AE, 0x1E133, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1E133, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1E133, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1E133, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1E133, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1E133, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1E133, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1E133, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1E133, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1E134, 0x0062], NFC: [0x00E0, 0x05AE, 0x1E134, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1E134, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1E134, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1E134, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1E134, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1E134, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1E134, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1E134, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1E134, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1E135, 0x0062], NFC: [0x00E0, 0x05AE, 0x1E135, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1E135, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1E135, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1E135, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1E135, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1E135, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1E135, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1E135, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1E135, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1E136, 0x0062], NFC: [0x00E0, 0x05AE, 0x1E136, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1E136, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1E136, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1E136, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1E136, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1E136, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1E136, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1E136, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1E136, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1E2AE, 0x0062], NFC: [0x00E0, 0x05AE, 0x1E2AE, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1E2AE, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1E2AE, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1E2AE, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1E2AE, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1E2AE, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1E2AE, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1E2AE, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1E2AE, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1E2EC, 0x0062], NFC: [0x00E0, 0x05AE, 0x1E2EC, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1E2EC, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1E2EC, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1E2EC, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1E2EC, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1E2EC, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1E2EC, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1E2EC, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1E2EC, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1E2ED, 0x0062], NFC: [0x00E0, 0x05AE, 0x1E2ED, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1E2ED, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1E2ED, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1E2ED, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1E2ED, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1E2ED, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1E2ED, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1E2ED, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1E2ED, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1E2EE, 0x0062], NFC: [0x00E0, 0x05AE, 0x1E2EE, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1E2EE, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1E2EE, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1E2EE, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1E2EE, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1E2EE, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1E2EE, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1E2EE, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1E2EE, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1E2EF, 0x0062], NFC: [0x00E0, 0x05AE, 0x1E2EF, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1E2EF, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1E2EF, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1E2EF, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1E2EF, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1E2EF, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1E2EF, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1E2EF, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1E2EF, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x035C, 0x0315, 0x0300, 0x1E4EC, 0x0062], NFC: [0x00E0, 0x0315, 0x1E4EC, 0x035C, 0x0062], NFD: [0x0061, 0x0300, 0x0315, 0x1E4EC, 0x035C, 0x0062], NFKC: [0x00E0, 0x0315, 0x1E4EC, 0x035C, 0x0062], NFKD: [0x0061, 0x0300, 0x0315, 0x1E4EC, 0x035C, 0x0062] }, -{ source: [0x0061, 0x1E4EC, 0x035C, 0x0315, 0x0300, 0x0062], NFC: [0x00E0, 0x1E4EC, 0x0315, 0x035C, 0x0062], NFD: [0x0061, 0x0300, 0x1E4EC, 0x0315, 0x035C, 0x0062], NFKC: [0x00E0, 0x1E4EC, 0x0315, 0x035C, 0x0062], NFKD: [0x0061, 0x0300, 0x1E4EC, 0x0315, 0x035C, 0x0062] }, -{ source: [0x0061, 0x035C, 0x0315, 0x0300, 0x1E4ED, 0x0062], NFC: [0x00E0, 0x0315, 0x1E4ED, 0x035C, 0x0062], NFD: [0x0061, 0x0300, 0x0315, 0x1E4ED, 0x035C, 0x0062], NFKC: [0x00E0, 0x0315, 0x1E4ED, 0x035C, 0x0062], NFKD: [0x0061, 0x0300, 0x0315, 0x1E4ED, 0x035C, 0x0062] }, -{ source: [0x0061, 0x1E4ED, 0x035C, 0x0315, 0x0300, 0x0062], NFC: [0x00E0, 0x1E4ED, 0x0315, 0x035C, 0x0062], NFD: [0x0061, 0x0300, 0x1E4ED, 0x0315, 0x035C, 0x0062], NFKC: [0x00E0, 0x1E4ED, 0x0315, 0x035C, 0x0062], NFKD: [0x0061, 0x0300, 0x1E4ED, 0x0315, 0x035C, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x1E4EE, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x1E4EE, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x1E4EE, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x1E4EE, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x1E4EE, 0x059A, 0x0062] }, -{ source: [0x0061, 0x1E4EE, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x1E4EE, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x1E4EE, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x1E4EE, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x1E4EE, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1E4EF, 0x0062], NFC: [0x00E0, 0x05AE, 0x1E4EF, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1E4EF, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1E4EF, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1E4EF, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1E4EF, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1E4EF, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1E4EF, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1E4EF, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1E4EF, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1E5EE, 0x0062], NFC: [0x00E0, 0x05AE, 0x1E5EE, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1E5EE, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1E5EE, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1E5EE, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1E5EE, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1E5EE, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1E5EE, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1E5EE, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1E5EE, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x1E5EF, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x1E5EF, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x1E5EF, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x1E5EF, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x1E5EF, 0x059A, 0x0062] }, -{ source: [0x0061, 0x1E5EF, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x1E5EF, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x1E5EF, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x1E5EF, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x1E5EF, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x1E8D0, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x1E8D0, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x1E8D0, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x1E8D0, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x1E8D0, 0x059A, 0x0062] }, -{ source: [0x0061, 0x1E8D0, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x1E8D0, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x1E8D0, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x1E8D0, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x1E8D0, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x1E8D1, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x1E8D1, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x1E8D1, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x1E8D1, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x1E8D1, 0x059A, 0x0062] }, -{ source: [0x0061, 0x1E8D1, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x1E8D1, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x1E8D1, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x1E8D1, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x1E8D1, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x1E8D2, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x1E8D2, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x1E8D2, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x1E8D2, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x1E8D2, 0x059A, 0x0062] }, -{ source: [0x0061, 0x1E8D2, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x1E8D2, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x1E8D2, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x1E8D2, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x1E8D2, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x1E8D3, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x1E8D3, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x1E8D3, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x1E8D3, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x1E8D3, 0x059A, 0x0062] }, -{ source: [0x0061, 0x1E8D3, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x1E8D3, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x1E8D3, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x1E8D3, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x1E8D3, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x1E8D4, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x1E8D4, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x1E8D4, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x1E8D4, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x1E8D4, 0x059A, 0x0062] }, -{ source: [0x0061, 0x1E8D4, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x1E8D4, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x1E8D4, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x1E8D4, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x1E8D4, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x1E8D5, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x1E8D5, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x1E8D5, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x1E8D5, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x1E8D5, 0x059A, 0x0062] }, -{ source: [0x0061, 0x1E8D5, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x1E8D5, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x1E8D5, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x1E8D5, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x1E8D5, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x059A, 0x0316, 0x1DFA, 0x1E8D6, 0x0062], NFC: [0x0061, 0x1DFA, 0x0316, 0x1E8D6, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x0316, 0x1E8D6, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x0316, 0x1E8D6, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x0316, 0x1E8D6, 0x059A, 0x0062] }, -{ source: [0x0061, 0x1E8D6, 0x059A, 0x0316, 0x1DFA, 0x0062], NFC: [0x0061, 0x1DFA, 0x1E8D6, 0x0316, 0x059A, 0x0062], NFD: [0x0061, 0x1DFA, 0x1E8D6, 0x0316, 0x059A, 0x0062], NFKC: [0x0061, 0x1DFA, 0x1E8D6, 0x0316, 0x059A, 0x0062], NFKD: [0x0061, 0x1DFA, 0x1E8D6, 0x0316, 0x059A, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1E944, 0x0062], NFC: [0x00E0, 0x05AE, 0x1E944, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1E944, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1E944, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1E944, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1E944, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1E944, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1E944, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1E944, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1E944, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1E945, 0x0062], NFC: [0x00E0, 0x05AE, 0x1E945, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1E945, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1E945, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1E945, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1E945, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1E945, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1E945, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1E945, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1E945, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1E946, 0x0062], NFC: [0x00E0, 0x05AE, 0x1E946, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1E946, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1E946, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1E946, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1E946, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1E946, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1E946, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1E946, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1E946, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1E947, 0x0062], NFC: [0x00E0, 0x05AE, 0x1E947, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1E947, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1E947, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1E947, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1E947, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1E947, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1E947, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1E947, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1E947, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1E948, 0x0062], NFC: [0x00E0, 0x05AE, 0x1E948, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1E948, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1E948, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1E948, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1E948, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1E948, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1E948, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1E948, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1E948, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x0315, 0x0300, 0x05AE, 0x1E949, 0x0062], NFC: [0x00E0, 0x05AE, 0x1E949, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x0300, 0x1E949, 0x0315, 0x0062], NFKC: [0x00E0, 0x05AE, 0x1E949, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x0300, 0x1E949, 0x0315, 0x0062] }, -{ source: [0x0061, 0x1E949, 0x0315, 0x0300, 0x05AE, 0x0062], NFC: [0x0061, 0x05AE, 0x1E949, 0x0300, 0x0315, 0x0062], NFD: [0x0061, 0x05AE, 0x1E949, 0x0300, 0x0315, 0x0062], NFKC: [0x0061, 0x05AE, 0x1E949, 0x0300, 0x0315, 0x0062], NFKD: [0x0061, 0x05AE, 0x1E949, 0x0300, 0x0315, 0x0062] }, -{ source: [0x0061, 0x3099, 0x093C, 0x16FF0, 0x1E94A, 0x0062], NFC: [0x0061, 0x16FF0, 0x093C, 0x1E94A, 0x3099, 0x0062], NFD: [0x0061, 0x16FF0, 0x093C, 0x1E94A, 0x3099, 0x0062], NFKC: [0x0061, 0x16FF0, 0x093C, 0x1E94A, 0x3099, 0x0062], NFKD: [0x0061, 0x16FF0, 0x093C, 0x1E94A, 0x3099, 0x0062] }, -{ source: [0x0061, 0x1E94A, 0x3099, 0x093C, 0x16FF0, 0x0062], NFC: [0x0061, 0x16FF0, 0x1E94A, 0x093C, 0x3099, 0x0062], NFD: [0x0061, 0x16FF0, 0x1E94A, 0x093C, 0x3099, 0x0062], NFKC: [0x0061, 0x16FF0, 0x1E94A, 0x093C, 0x3099, 0x0062], NFKD: [0x0061, 0x16FF0, 0x1E94A, 0x093C, 0x3099, 0x0062] } -]; -/* Part3 # PRI #29 Test */ -var tests_part3 = [ -{ source: [0x09C7, 0x0334, 0x09BE], NFC: [0x09C7, 0x0334, 0x09BE], NFD: [0x09C7, 0x0334, 0x09BE], NFKC: [0x09C7, 0x0334, 0x09BE], NFKD: [0x09C7, 0x0334, 0x09BE] }, -{ source: [0x09C7, 0x0334, 0x09D7], NFC: [0x09C7, 0x0334, 0x09D7], NFD: [0x09C7, 0x0334, 0x09D7], NFKC: [0x09C7, 0x0334, 0x09D7], NFKD: [0x09C7, 0x0334, 0x09D7] }, -{ source: [0x0B47, 0x0334, 0x0B3E], NFC: [0x0B47, 0x0334, 0x0B3E], NFD: [0x0B47, 0x0334, 0x0B3E], NFKC: [0x0B47, 0x0334, 0x0B3E], NFKD: [0x0B47, 0x0334, 0x0B3E] }, -{ source: [0x0B47, 0x0334, 0x0B56], NFC: [0x0B47, 0x0334, 0x0B56], NFD: [0x0B47, 0x0334, 0x0B56], NFKC: [0x0B47, 0x0334, 0x0B56], NFKD: [0x0B47, 0x0334, 0x0B56] }, -{ source: [0x0B47, 0x0334, 0x0B57], NFC: [0x0B47, 0x0334, 0x0B57], NFD: [0x0B47, 0x0334, 0x0B57], NFKC: [0x0B47, 0x0334, 0x0B57], NFKD: [0x0B47, 0x0334, 0x0B57] }, -{ source: [0x0B92, 0x0334, 0x0BD7], NFC: [0x0B92, 0x0334, 0x0BD7], NFD: [0x0B92, 0x0334, 0x0BD7], NFKC: [0x0B92, 0x0334, 0x0BD7], NFKD: [0x0B92, 0x0334, 0x0BD7] }, -{ source: [0x0BC6, 0x0334, 0x0BBE], NFC: [0x0BC6, 0x0334, 0x0BBE], NFD: [0x0BC6, 0x0334, 0x0BBE], NFKC: [0x0BC6, 0x0334, 0x0BBE], NFKD: [0x0BC6, 0x0334, 0x0BBE] }, -{ source: [0x0BC6, 0x0334, 0x0BD7], NFC: [0x0BC6, 0x0334, 0x0BD7], NFD: [0x0BC6, 0x0334, 0x0BD7], NFKC: [0x0BC6, 0x0334, 0x0BD7], NFKD: [0x0BC6, 0x0334, 0x0BD7] }, -{ source: [0x0BC7, 0x0334, 0x0BBE], NFC: [0x0BC7, 0x0334, 0x0BBE], NFD: [0x0BC7, 0x0334, 0x0BBE], NFKC: [0x0BC7, 0x0334, 0x0BBE], NFKD: [0x0BC7, 0x0334, 0x0BBE] }, -{ source: [0x0CBF, 0x0334, 0x0CD5], NFC: [0x0CBF, 0x0334, 0x0CD5], NFD: [0x0CBF, 0x0334, 0x0CD5], NFKC: [0x0CBF, 0x0334, 0x0CD5], NFKD: [0x0CBF, 0x0334, 0x0CD5] }, -{ source: [0x0CC6, 0x0334, 0x0CC2], NFC: [0x0CC6, 0x0334, 0x0CC2], NFD: [0x0CC6, 0x0334, 0x0CC2], NFKC: [0x0CC6, 0x0334, 0x0CC2], NFKD: [0x0CC6, 0x0334, 0x0CC2] }, -{ source: [0x0CC6, 0x0334, 0x0CD5], NFC: [0x0CC6, 0x0334, 0x0CD5], NFD: [0x0CC6, 0x0334, 0x0CD5], NFKC: [0x0CC6, 0x0334, 0x0CD5], NFKD: [0x0CC6, 0x0334, 0x0CD5] }, -{ source: [0x0CC6, 0x0334, 0x0CD6], NFC: [0x0CC6, 0x0334, 0x0CD6], NFD: [0x0CC6, 0x0334, 0x0CD6], NFKC: [0x0CC6, 0x0334, 0x0CD6], NFKD: [0x0CC6, 0x0334, 0x0CD6] }, -{ source: [0x0CCA, 0x0334, 0x0CD5], NFC: [0x0CCA, 0x0334, 0x0CD5], NFD: [0x0CC6, 0x0CC2, 0x0334, 0x0CD5], NFKC: [0x0CCA, 0x0334, 0x0CD5], NFKD: [0x0CC6, 0x0CC2, 0x0334, 0x0CD5] }, -{ source: [0x0D46, 0x0334, 0x0D3E], NFC: [0x0D46, 0x0334, 0x0D3E], NFD: [0x0D46, 0x0334, 0x0D3E], NFKC: [0x0D46, 0x0334, 0x0D3E], NFKD: [0x0D46, 0x0334, 0x0D3E] }, -{ source: [0x0D46, 0x0334, 0x0D57], NFC: [0x0D46, 0x0334, 0x0D57], NFD: [0x0D46, 0x0334, 0x0D57], NFKC: [0x0D46, 0x0334, 0x0D57], NFKD: [0x0D46, 0x0334, 0x0D57] }, -{ source: [0x0D47, 0x0334, 0x0D3E], NFC: [0x0D47, 0x0334, 0x0D3E], NFD: [0x0D47, 0x0334, 0x0D3E], NFKC: [0x0D47, 0x0334, 0x0D3E], NFKD: [0x0D47, 0x0334, 0x0D3E] }, -{ source: [0x0DD9, 0x0334, 0x0DCF], NFC: [0x0DD9, 0x0334, 0x0DCF], NFD: [0x0DD9, 0x0334, 0x0DCF], NFKC: [0x0DD9, 0x0334, 0x0DCF], NFKD: [0x0DD9, 0x0334, 0x0DCF] }, -{ source: [0x0DD9, 0x0334, 0x0DDF], NFC: [0x0DD9, 0x0334, 0x0DDF], NFD: [0x0DD9, 0x0334, 0x0DDF], NFKC: [0x0DD9, 0x0334, 0x0DDF], NFKD: [0x0DD9, 0x0334, 0x0DDF] }, -{ source: [0x0F40, 0x0334, 0x0FB5], NFC: [0x0F40, 0x0334, 0x0FB5], NFD: [0x0F40, 0x0334, 0x0FB5], NFKC: [0x0F40, 0x0334, 0x0FB5], NFKD: [0x0F40, 0x0334, 0x0FB5] }, -{ source: [0x0F42, 0x0334, 0x0FB7], NFC: [0x0F42, 0x0334, 0x0FB7], NFD: [0x0F42, 0x0334, 0x0FB7], NFKC: [0x0F42, 0x0334, 0x0FB7], NFKD: [0x0F42, 0x0334, 0x0FB7] }, -{ source: [0x0F4C, 0x0334, 0x0FB7], NFC: [0x0F4C, 0x0334, 0x0FB7], NFD: [0x0F4C, 0x0334, 0x0FB7], NFKC: [0x0F4C, 0x0334, 0x0FB7], NFKD: [0x0F4C, 0x0334, 0x0FB7] }, -{ source: [0x0F51, 0x0334, 0x0FB7], NFC: [0x0F51, 0x0334, 0x0FB7], NFD: [0x0F51, 0x0334, 0x0FB7], NFKC: [0x0F51, 0x0334, 0x0FB7], NFKD: [0x0F51, 0x0334, 0x0FB7] }, -{ source: [0x0F56, 0x0334, 0x0FB7], NFC: [0x0F56, 0x0334, 0x0FB7], NFD: [0x0F56, 0x0334, 0x0FB7], NFKC: [0x0F56, 0x0334, 0x0FB7], NFKD: [0x0F56, 0x0334, 0x0FB7] }, -{ source: [0x0F5B, 0x0334, 0x0FB7], NFC: [0x0F5B, 0x0334, 0x0FB7], NFD: [0x0F5B, 0x0334, 0x0FB7], NFKC: [0x0F5B, 0x0334, 0x0FB7], NFKD: [0x0F5B, 0x0334, 0x0FB7] }, -{ source: [0x0F90, 0x0334, 0x0FB5], NFC: [0x0F90, 0x0334, 0x0FB5], NFD: [0x0F90, 0x0334, 0x0FB5], NFKC: [0x0F90, 0x0334, 0x0FB5], NFKD: [0x0F90, 0x0334, 0x0FB5] }, -{ source: [0x0F92, 0x0334, 0x0FB7], NFC: [0x0F92, 0x0334, 0x0FB7], NFD: [0x0F92, 0x0334, 0x0FB7], NFKC: [0x0F92, 0x0334, 0x0FB7], NFKD: [0x0F92, 0x0334, 0x0FB7] }, -{ source: [0x0F9C, 0x0334, 0x0FB7], NFC: [0x0F9C, 0x0334, 0x0FB7], NFD: [0x0F9C, 0x0334, 0x0FB7], NFKC: [0x0F9C, 0x0334, 0x0FB7], NFKD: [0x0F9C, 0x0334, 0x0FB7] }, -{ source: [0x0FA1, 0x0334, 0x0FB7], NFC: [0x0FA1, 0x0334, 0x0FB7], NFD: [0x0FA1, 0x0334, 0x0FB7], NFKC: [0x0FA1, 0x0334, 0x0FB7], NFKD: [0x0FA1, 0x0334, 0x0FB7] }, -{ source: [0x0FA6, 0x0334, 0x0FB7], NFC: [0x0FA6, 0x0334, 0x0FB7], NFD: [0x0FA6, 0x0334, 0x0FB7], NFKC: [0x0FA6, 0x0334, 0x0FB7], NFKD: [0x0FA6, 0x0334, 0x0FB7] }, -{ source: [0x0FAB, 0x0334, 0x0FB7], NFC: [0x0FAB, 0x0334, 0x0FB7], NFD: [0x0FAB, 0x0334, 0x0FB7], NFKC: [0x0FAB, 0x0334, 0x0FB7], NFKD: [0x0FAB, 0x0334, 0x0FB7] }, -{ source: [0x1025, 0x0334, 0x102E], NFC: [0x1025, 0x0334, 0x102E], NFD: [0x1025, 0x0334, 0x102E], NFKC: [0x1025, 0x0334, 0x102E], NFKD: [0x1025, 0x0334, 0x102E] }, -{ source: [0x1100, 0x0334, 0x1161], NFC: [0x1100, 0x0334, 0x1161], NFD: [0x1100, 0x0334, 0x1161], NFKC: [0x1100, 0x0334, 0x1161], NFKD: [0x1100, 0x0334, 0x1161] }, -{ source: [0x1100, 0x0334, 0x116E], NFC: [0x1100, 0x0334, 0x116E], NFD: [0x1100, 0x0334, 0x116E], NFKC: [0x1100, 0x0334, 0x116E], NFKD: [0x1100, 0x0334, 0x116E] }, -{ source: [0x1101, 0x0334, 0x1166], NFC: [0x1101, 0x0334, 0x1166], NFD: [0x1101, 0x0334, 0x1166], NFKC: [0x1101, 0x0334, 0x1166], NFKD: [0x1101, 0x0334, 0x1166] }, -{ source: [0x1101, 0x0334, 0x1173], NFC: [0x1101, 0x0334, 0x1173], NFD: [0x1101, 0x0334, 0x1173], NFKC: [0x1101, 0x0334, 0x1173], NFKD: [0x1101, 0x0334, 0x1173] }, -{ source: [0x1102, 0x0334, 0x116B], NFC: [0x1102, 0x0334, 0x116B], NFD: [0x1102, 0x0334, 0x116B], NFKC: [0x1102, 0x0334, 0x116B], NFKD: [0x1102, 0x0334, 0x116B] }, -{ source: [0x1103, 0x0334, 0x1163], NFC: [0x1103, 0x0334, 0x1163], NFD: [0x1103, 0x0334, 0x1163], NFKC: [0x1103, 0x0334, 0x1163], NFKD: [0x1103, 0x0334, 0x1163] }, -{ source: [0x1103, 0x0334, 0x1170], NFC: [0x1103, 0x0334, 0x1170], NFD: [0x1103, 0x0334, 0x1170], NFKC: [0x1103, 0x0334, 0x1170], NFKD: [0x1103, 0x0334, 0x1170] }, -{ source: [0x1104, 0x0334, 0x1168], NFC: [0x1104, 0x0334, 0x1168], NFD: [0x1104, 0x0334, 0x1168], NFKC: [0x1104, 0x0334, 0x1168], NFKD: [0x1104, 0x0334, 0x1168] }, -{ source: [0x1104, 0x0334, 0x1175], NFC: [0x1104, 0x0334, 0x1175], NFD: [0x1104, 0x0334, 0x1175], NFKC: [0x1104, 0x0334, 0x1175], NFKD: [0x1104, 0x0334, 0x1175] }, -{ source: [0x1105, 0x0334, 0x116D], NFC: [0x1105, 0x0334, 0x116D], NFD: [0x1105, 0x0334, 0x116D], NFKC: [0x1105, 0x0334, 0x116D], NFKD: [0x1105, 0x0334, 0x116D] }, -{ source: [0x1106, 0x0334, 0x1165], NFC: [0x1106, 0x0334, 0x1165], NFD: [0x1106, 0x0334, 0x1165], NFKC: [0x1106, 0x0334, 0x1165], NFKD: [0x1106, 0x0334, 0x1165] }, -{ source: [0x1106, 0x0334, 0x1172], NFC: [0x1106, 0x0334, 0x1172], NFD: [0x1106, 0x0334, 0x1172], NFKC: [0x1106, 0x0334, 0x1172], NFKD: [0x1106, 0x0334, 0x1172] }, -{ source: [0x1107, 0x0334, 0x116A], NFC: [0x1107, 0x0334, 0x116A], NFD: [0x1107, 0x0334, 0x116A], NFKC: [0x1107, 0x0334, 0x116A], NFKD: [0x1107, 0x0334, 0x116A] }, -{ source: [0x1108, 0x0334, 0x1162], NFC: [0x1108, 0x0334, 0x1162], NFD: [0x1108, 0x0334, 0x1162], NFKC: [0x1108, 0x0334, 0x1162], NFKD: [0x1108, 0x0334, 0x1162] }, -{ source: [0x1108, 0x0334, 0x116F], NFC: [0x1108, 0x0334, 0x116F], NFD: [0x1108, 0x0334, 0x116F], NFKC: [0x1108, 0x0334, 0x116F], NFKD: [0x1108, 0x0334, 0x116F] }, -{ source: [0x1109, 0x0334, 0x1167], NFC: [0x1109, 0x0334, 0x1167], NFD: [0x1109, 0x0334, 0x1167], NFKC: [0x1109, 0x0334, 0x1167], NFKD: [0x1109, 0x0334, 0x1167] }, -{ source: [0x1109, 0x0334, 0x1174], NFC: [0x1109, 0x0334, 0x1174], NFD: [0x1109, 0x0334, 0x1174], NFKC: [0x1109, 0x0334, 0x1174], NFKD: [0x1109, 0x0334, 0x1174] }, -{ source: [0x110A, 0x0334, 0x116C], NFC: [0x110A, 0x0334, 0x116C], NFD: [0x110A, 0x0334, 0x116C], NFKC: [0x110A, 0x0334, 0x116C], NFKD: [0x110A, 0x0334, 0x116C] }, -{ source: [0x110B, 0x0334, 0x1164], NFC: [0x110B, 0x0334, 0x1164], NFD: [0x110B, 0x0334, 0x1164], NFKC: [0x110B, 0x0334, 0x1164], NFKD: [0x110B, 0x0334, 0x1164] }, -{ source: [0x110B, 0x0334, 0x1171], NFC: [0x110B, 0x0334, 0x1171], NFD: [0x110B, 0x0334, 0x1171], NFKC: [0x110B, 0x0334, 0x1171], NFKD: [0x110B, 0x0334, 0x1171] }, -{ source: [0x110C, 0x0334, 0x1169], NFC: [0x110C, 0x0334, 0x1169], NFD: [0x110C, 0x0334, 0x1169], NFKC: [0x110C, 0x0334, 0x1169], NFKD: [0x110C, 0x0334, 0x1169] }, -{ source: [0x110D, 0x0334, 0x1161], NFC: [0x110D, 0x0334, 0x1161], NFD: [0x110D, 0x0334, 0x1161], NFKC: [0x110D, 0x0334, 0x1161], NFKD: [0x110D, 0x0334, 0x1161] }, -{ source: [0x110D, 0x0334, 0x116E], NFC: [0x110D, 0x0334, 0x116E], NFD: [0x110D, 0x0334, 0x116E], NFKC: [0x110D, 0x0334, 0x116E], NFKD: [0x110D, 0x0334, 0x116E] }, -{ source: [0x110E, 0x0334, 0x1166], NFC: [0x110E, 0x0334, 0x1166], NFD: [0x110E, 0x0334, 0x1166], NFKC: [0x110E, 0x0334, 0x1166], NFKD: [0x110E, 0x0334, 0x1166] }, -{ source: [0x110E, 0x0334, 0x1173], NFC: [0x110E, 0x0334, 0x1173], NFD: [0x110E, 0x0334, 0x1173], NFKC: [0x110E, 0x0334, 0x1173], NFKD: [0x110E, 0x0334, 0x1173] }, -{ source: [0x110F, 0x0334, 0x116B], NFC: [0x110F, 0x0334, 0x116B], NFD: [0x110F, 0x0334, 0x116B], NFKC: [0x110F, 0x0334, 0x116B], NFKD: [0x110F, 0x0334, 0x116B] }, -{ source: [0x1110, 0x0334, 0x1163], NFC: [0x1110, 0x0334, 0x1163], NFD: [0x1110, 0x0334, 0x1163], NFKC: [0x1110, 0x0334, 0x1163], NFKD: [0x1110, 0x0334, 0x1163] }, -{ source: [0x1110, 0x0334, 0x1170], NFC: [0x1110, 0x0334, 0x1170], NFD: [0x1110, 0x0334, 0x1170], NFKC: [0x1110, 0x0334, 0x1170], NFKD: [0x1110, 0x0334, 0x1170] }, -{ source: [0x1111, 0x0334, 0x1168], NFC: [0x1111, 0x0334, 0x1168], NFD: [0x1111, 0x0334, 0x1168], NFKC: [0x1111, 0x0334, 0x1168], NFKD: [0x1111, 0x0334, 0x1168] }, -{ source: [0x1111, 0x0334, 0x1175], NFC: [0x1111, 0x0334, 0x1175], NFD: [0x1111, 0x0334, 0x1175], NFKC: [0x1111, 0x0334, 0x1175], NFKD: [0x1111, 0x0334, 0x1175] }, -{ source: [0x1112, 0x0334, 0x116D], NFC: [0x1112, 0x0334, 0x116D], NFD: [0x1112, 0x0334, 0x116D], NFKC: [0x1112, 0x0334, 0x116D], NFKD: [0x1112, 0x0334, 0x116D] }, -{ source: [0x1B05, 0x0334, 0x1B35], NFC: [0x1B05, 0x0334, 0x1B35], NFD: [0x1B05, 0x0334, 0x1B35], NFKC: [0x1B05, 0x0334, 0x1B35], NFKD: [0x1B05, 0x0334, 0x1B35] }, -{ source: [0x1B07, 0x0334, 0x1B35], NFC: [0x1B07, 0x0334, 0x1B35], NFD: [0x1B07, 0x0334, 0x1B35], NFKC: [0x1B07, 0x0334, 0x1B35], NFKD: [0x1B07, 0x0334, 0x1B35] }, -{ source: [0x1B09, 0x0334, 0x1B35], NFC: [0x1B09, 0x0334, 0x1B35], NFD: [0x1B09, 0x0334, 0x1B35], NFKC: [0x1B09, 0x0334, 0x1B35], NFKD: [0x1B09, 0x0334, 0x1B35] }, -{ source: [0x1B0B, 0x0334, 0x1B35], NFC: [0x1B0B, 0x0334, 0x1B35], NFD: [0x1B0B, 0x0334, 0x1B35], NFKC: [0x1B0B, 0x0334, 0x1B35], NFKD: [0x1B0B, 0x0334, 0x1B35] }, -{ source: [0x1B0D, 0x0334, 0x1B35], NFC: [0x1B0D, 0x0334, 0x1B35], NFD: [0x1B0D, 0x0334, 0x1B35], NFKC: [0x1B0D, 0x0334, 0x1B35], NFKD: [0x1B0D, 0x0334, 0x1B35] }, -{ source: [0x1B11, 0x0334, 0x1B35], NFC: [0x1B11, 0x0334, 0x1B35], NFD: [0x1B11, 0x0334, 0x1B35], NFKC: [0x1B11, 0x0334, 0x1B35], NFKD: [0x1B11, 0x0334, 0x1B35] }, -{ source: [0x1B3A, 0x0334, 0x1B35], NFC: [0x1B3A, 0x0334, 0x1B35], NFD: [0x1B3A, 0x0334, 0x1B35], NFKC: [0x1B3A, 0x0334, 0x1B35], NFKD: [0x1B3A, 0x0334, 0x1B35] }, -{ source: [0x1B3C, 0x0334, 0x1B35], NFC: [0x1B3C, 0x0334, 0x1B35], NFD: [0x1B3C, 0x0334, 0x1B35], NFKC: [0x1B3C, 0x0334, 0x1B35], NFKD: [0x1B3C, 0x0334, 0x1B35] }, -{ source: [0x1B3E, 0x0334, 0x1B35], NFC: [0x1B3E, 0x0334, 0x1B35], NFD: [0x1B3E, 0x0334, 0x1B35], NFKC: [0x1B3E, 0x0334, 0x1B35], NFKD: [0x1B3E, 0x0334, 0x1B35] }, -{ source: [0x1B3F, 0x0334, 0x1B35], NFC: [0x1B3F, 0x0334, 0x1B35], NFD: [0x1B3F, 0x0334, 0x1B35], NFKC: [0x1B3F, 0x0334, 0x1B35], NFKD: [0x1B3F, 0x0334, 0x1B35] }, -{ source: [0x1B42, 0x0334, 0x1B35], NFC: [0x1B42, 0x0334, 0x1B35], NFD: [0x1B42, 0x0334, 0x1B35], NFKC: [0x1B42, 0x0334, 0x1B35], NFKD: [0x1B42, 0x0334, 0x1B35] }, -{ source: [0xAC54, 0x0334, 0x11AE], NFC: [0xAC54, 0x0334, 0x11AE], NFD: [0x1100, 0x1164, 0x0334, 0x11AE], NFKC: [0xAC54, 0x0334, 0x11AE], NFKD: [0x1100, 0x1164, 0x0334, 0x11AE] }, -{ source: [0xACA8, 0x0334, 0x11B5], NFC: [0xACA8, 0x0334, 0x11B5], NFD: [0x1100, 0x1167, 0x0334, 0x11B5], NFKC: [0xACA8, 0x0334, 0x11B5], NFKD: [0x1100, 0x1167, 0x0334, 0x11B5] }, -{ source: [0xACFC, 0x0334, 0x11BC], NFC: [0xACFC, 0x0334, 0x11BC], NFD: [0x1100, 0x116A, 0x0334, 0x11BC], NFKC: [0xACFC, 0x0334, 0x11BC], NFKD: [0x1100, 0x116A, 0x0334, 0x11BC] }, -{ source: [0xADC0, 0x0334, 0x11AE], NFC: [0xADC0, 0x0334, 0x11AE], NFD: [0x1100, 0x1171, 0x0334, 0x11AE], NFKC: [0xADC0, 0x0334, 0x11AE], NFKD: [0x1100, 0x1171, 0x0334, 0x11AE] }, -{ source: [0xAE14, 0x0334, 0x11B5], NFC: [0xAE14, 0x0334, 0x11B5], NFD: [0x1100, 0x1174, 0x0334, 0x11B5], NFKC: [0xAE14, 0x0334, 0x11B5], NFKD: [0x1100, 0x1174, 0x0334, 0x11B5] }, -{ source: [0xAE68, 0x0334, 0x11BC], NFC: [0xAE68, 0x0334, 0x11BC], NFD: [0x1101, 0x1162, 0x0334, 0x11BC], NFKC: [0xAE68, 0x0334, 0x11BC], NFKD: [0x1101, 0x1162, 0x0334, 0x11BC] }, -{ source: [0xAF2C, 0x0334, 0x11AE], NFC: [0xAF2C, 0x0334, 0x11AE], NFD: [0x1101, 0x1169, 0x0334, 0x11AE], NFKC: [0xAF2C, 0x0334, 0x11AE], NFKD: [0x1101, 0x1169, 0x0334, 0x11AE] }, -{ source: [0xAF80, 0x0334, 0x11B5], NFC: [0xAF80, 0x0334, 0x11B5], NFD: [0x1101, 0x116C, 0x0334, 0x11B5], NFKC: [0xAF80, 0x0334, 0x11B5], NFKD: [0x1101, 0x116C, 0x0334, 0x11B5] }, -{ source: [0xAFD4, 0x0334, 0x11BC], NFC: [0xAFD4, 0x0334, 0x11BC], NFD: [0x1101, 0x116F, 0x0334, 0x11BC], NFKC: [0xAFD4, 0x0334, 0x11BC], NFKD: [0x1101, 0x116F, 0x0334, 0x11BC] }, -{ source: [0xB098, 0x0334, 0x11AE], NFC: [0xB098, 0x0334, 0x11AE], NFD: [0x1102, 0x1161, 0x0334, 0x11AE], NFKC: [0xB098, 0x0334, 0x11AE], NFKD: [0x1102, 0x1161, 0x0334, 0x11AE] }, -{ source: [0xB0EC, 0x0334, 0x11B5], NFC: [0xB0EC, 0x0334, 0x11B5], NFD: [0x1102, 0x1164, 0x0334, 0x11B5], NFKC: [0xB0EC, 0x0334, 0x11B5], NFKD: [0x1102, 0x1164, 0x0334, 0x11B5] }, -{ source: [0xB140, 0x0334, 0x11BC], NFC: [0xB140, 0x0334, 0x11BC], NFD: [0x1102, 0x1167, 0x0334, 0x11BC], NFKC: [0xB140, 0x0334, 0x11BC], NFKD: [0x1102, 0x1167, 0x0334, 0x11BC] }, -{ source: [0xB204, 0x0334, 0x11AE], NFC: [0xB204, 0x0334, 0x11AE], NFD: [0x1102, 0x116E, 0x0334, 0x11AE], NFKC: [0xB204, 0x0334, 0x11AE], NFKD: [0x1102, 0x116E, 0x0334, 0x11AE] }, -{ source: [0xB258, 0x0334, 0x11B5], NFC: [0xB258, 0x0334, 0x11B5], NFD: [0x1102, 0x1171, 0x0334, 0x11B5], NFKC: [0xB258, 0x0334, 0x11B5], NFKD: [0x1102, 0x1171, 0x0334, 0x11B5] }, -{ source: [0xB2AC, 0x0334, 0x11BC], NFC: [0xB2AC, 0x0334, 0x11BC], NFD: [0x1102, 0x1174, 0x0334, 0x11BC], NFKC: [0xB2AC, 0x0334, 0x11BC], NFKD: [0x1102, 0x1174, 0x0334, 0x11BC] }, -{ source: [0xB370, 0x0334, 0x11AE], NFC: [0xB370, 0x0334, 0x11AE], NFD: [0x1103, 0x1166, 0x0334, 0x11AE], NFKC: [0xB370, 0x0334, 0x11AE], NFKD: [0x1103, 0x1166, 0x0334, 0x11AE] }, -{ source: [0xB3C4, 0x0334, 0x11B5], NFC: [0xB3C4, 0x0334, 0x11B5], NFD: [0x1103, 0x1169, 0x0334, 0x11B5], NFKC: [0xB3C4, 0x0334, 0x11B5], NFKD: [0x1103, 0x1169, 0x0334, 0x11B5] }, -{ source: [0xB418, 0x0334, 0x11BC], NFC: [0xB418, 0x0334, 0x11BC], NFD: [0x1103, 0x116C, 0x0334, 0x11BC], NFKC: [0xB418, 0x0334, 0x11BC], NFKD: [0x1103, 0x116C, 0x0334, 0x11BC] }, -{ source: [0xB4DC, 0x0334, 0x11AE], NFC: [0xB4DC, 0x0334, 0x11AE], NFD: [0x1103, 0x1173, 0x0334, 0x11AE], NFKC: [0xB4DC, 0x0334, 0x11AE], NFKD: [0x1103, 0x1173, 0x0334, 0x11AE] }, -{ source: [0xB530, 0x0334, 0x11B5], NFC: [0xB530, 0x0334, 0x11B5], NFD: [0x1104, 0x1161, 0x0334, 0x11B5], NFKC: [0xB530, 0x0334, 0x11B5], NFKD: [0x1104, 0x1161, 0x0334, 0x11B5] }, -{ source: [0xB584, 0x0334, 0x11BC], NFC: [0xB584, 0x0334, 0x11BC], NFD: [0x1104, 0x1164, 0x0334, 0x11BC], NFKC: [0xB584, 0x0334, 0x11BC], NFKD: [0x1104, 0x1164, 0x0334, 0x11BC] }, -{ source: [0xB648, 0x0334, 0x11AE], NFC: [0xB648, 0x0334, 0x11AE], NFD: [0x1104, 0x116B, 0x0334, 0x11AE], NFKC: [0xB648, 0x0334, 0x11AE], NFKD: [0x1104, 0x116B, 0x0334, 0x11AE] }, -{ source: [0xB69C, 0x0334, 0x11B5], NFC: [0xB69C, 0x0334, 0x11B5], NFD: [0x1104, 0x116E, 0x0334, 0x11B5], NFKC: [0xB69C, 0x0334, 0x11B5], NFKD: [0x1104, 0x116E, 0x0334, 0x11B5] }, -{ source: [0xB6F0, 0x0334, 0x11BC], NFC: [0xB6F0, 0x0334, 0x11BC], NFD: [0x1104, 0x1171, 0x0334, 0x11BC], NFKC: [0xB6F0, 0x0334, 0x11BC], NFKD: [0x1104, 0x1171, 0x0334, 0x11BC] }, -{ source: [0xB7B4, 0x0334, 0x11AE], NFC: [0xB7B4, 0x0334, 0x11AE], NFD: [0x1105, 0x1163, 0x0334, 0x11AE], NFKC: [0xB7B4, 0x0334, 0x11AE], NFKD: [0x1105, 0x1163, 0x0334, 0x11AE] }, -{ source: [0xB808, 0x0334, 0x11B5], NFC: [0xB808, 0x0334, 0x11B5], NFD: [0x1105, 0x1166, 0x0334, 0x11B5], NFKC: [0xB808, 0x0334, 0x11B5], NFKD: [0x1105, 0x1166, 0x0334, 0x11B5] }, -{ source: [0xB85C, 0x0334, 0x11BC], NFC: [0xB85C, 0x0334, 0x11BC], NFD: [0x1105, 0x1169, 0x0334, 0x11BC], NFKC: [0xB85C, 0x0334, 0x11BC], NFKD: [0x1105, 0x1169, 0x0334, 0x11BC] }, -{ source: [0xB920, 0x0334, 0x11AE], NFC: [0xB920, 0x0334, 0x11AE], NFD: [0x1105, 0x1170, 0x0334, 0x11AE], NFKC: [0xB920, 0x0334, 0x11AE], NFKD: [0x1105, 0x1170, 0x0334, 0x11AE] }, -{ source: [0xB974, 0x0334, 0x11B5], NFC: [0xB974, 0x0334, 0x11B5], NFD: [0x1105, 0x1173, 0x0334, 0x11B5], NFKC: [0xB974, 0x0334, 0x11B5], NFKD: [0x1105, 0x1173, 0x0334, 0x11B5] }, -{ source: [0xB9C8, 0x0334, 0x11BC], NFC: [0xB9C8, 0x0334, 0x11BC], NFD: [0x1106, 0x1161, 0x0334, 0x11BC], NFKC: [0xB9C8, 0x0334, 0x11BC], NFKD: [0x1106, 0x1161, 0x0334, 0x11BC] }, -{ source: [0xBA8C, 0x0334, 0x11AE], NFC: [0xBA8C, 0x0334, 0x11AE], NFD: [0x1106, 0x1168, 0x0334, 0x11AE], NFKC: [0xBA8C, 0x0334, 0x11AE], NFKD: [0x1106, 0x1168, 0x0334, 0x11AE] }, -{ source: [0xBAE0, 0x0334, 0x11B5], NFC: [0xBAE0, 0x0334, 0x11B5], NFD: [0x1106, 0x116B, 0x0334, 0x11B5], NFKC: [0xBAE0, 0x0334, 0x11B5], NFKD: [0x1106, 0x116B, 0x0334, 0x11B5] }, -{ source: [0xBB34, 0x0334, 0x11BC], NFC: [0xBB34, 0x0334, 0x11BC], NFD: [0x1106, 0x116E, 0x0334, 0x11BC], NFKC: [0xBB34, 0x0334, 0x11BC], NFKD: [0x1106, 0x116E, 0x0334, 0x11BC] }, -{ source: [0xBBF8, 0x0334, 0x11AE], NFC: [0xBBF8, 0x0334, 0x11AE], NFD: [0x1106, 0x1175, 0x0334, 0x11AE], NFKC: [0xBBF8, 0x0334, 0x11AE], NFKD: [0x1106, 0x1175, 0x0334, 0x11AE] }, -{ source: [0xBC4C, 0x0334, 0x11B5], NFC: [0xBC4C, 0x0334, 0x11B5], NFD: [0x1107, 0x1163, 0x0334, 0x11B5], NFKC: [0xBC4C, 0x0334, 0x11B5], NFKD: [0x1107, 0x1163, 0x0334, 0x11B5] }, -{ source: [0xBCA0, 0x0334, 0x11BC], NFC: [0xBCA0, 0x0334, 0x11BC], NFD: [0x1107, 0x1166, 0x0334, 0x11BC], NFKC: [0xBCA0, 0x0334, 0x11BC], NFKD: [0x1107, 0x1166, 0x0334, 0x11BC] }, -{ source: [0xBD64, 0x0334, 0x11AE], NFC: [0xBD64, 0x0334, 0x11AE], NFD: [0x1107, 0x116D, 0x0334, 0x11AE], NFKC: [0xBD64, 0x0334, 0x11AE], NFKD: [0x1107, 0x116D, 0x0334, 0x11AE] }, -{ source: [0xBDB8, 0x0334, 0x11B5], NFC: [0xBDB8, 0x0334, 0x11B5], NFD: [0x1107, 0x1170, 0x0334, 0x11B5], NFKC: [0xBDB8, 0x0334, 0x11B5], NFKD: [0x1107, 0x1170, 0x0334, 0x11B5] }, -{ source: [0xBE0C, 0x0334, 0x11BC], NFC: [0xBE0C, 0x0334, 0x11BC], NFD: [0x1107, 0x1173, 0x0334, 0x11BC], NFKC: [0xBE0C, 0x0334, 0x11BC], NFKD: [0x1107, 0x1173, 0x0334, 0x11BC] }, -{ source: [0xBED0, 0x0334, 0x11AE], NFC: [0xBED0, 0x0334, 0x11AE], NFD: [0x1108, 0x1165, 0x0334, 0x11AE], NFKC: [0xBED0, 0x0334, 0x11AE], NFKD: [0x1108, 0x1165, 0x0334, 0x11AE] }, -{ source: [0xBF24, 0x0334, 0x11B5], NFC: [0xBF24, 0x0334, 0x11B5], NFD: [0x1108, 0x1168, 0x0334, 0x11B5], NFKC: [0xBF24, 0x0334, 0x11B5], NFKD: [0x1108, 0x1168, 0x0334, 0x11B5] }, -{ source: [0xBF78, 0x0334, 0x11BC], NFC: [0xBF78, 0x0334, 0x11BC], NFD: [0x1108, 0x116B, 0x0334, 0x11BC], NFKC: [0xBF78, 0x0334, 0x11BC], NFKD: [0x1108, 0x116B, 0x0334, 0x11BC] }, -{ source: [0xC03C, 0x0334, 0x11AE], NFC: [0xC03C, 0x0334, 0x11AE], NFD: [0x1108, 0x1172, 0x0334, 0x11AE], NFKC: [0xC03C, 0x0334, 0x11AE], NFKD: [0x1108, 0x1172, 0x0334, 0x11AE] }, -{ source: [0xC090, 0x0334, 0x11B5], NFC: [0xC090, 0x0334, 0x11B5], NFD: [0x1108, 0x1175, 0x0334, 0x11B5], NFKC: [0xC090, 0x0334, 0x11B5], NFKD: [0x1108, 0x1175, 0x0334, 0x11B5] }, -{ source: [0xC0E4, 0x0334, 0x11BC], NFC: [0xC0E4, 0x0334, 0x11BC], NFD: [0x1109, 0x1163, 0x0334, 0x11BC], NFKC: [0xC0E4, 0x0334, 0x11BC], NFKD: [0x1109, 0x1163, 0x0334, 0x11BC] }, -{ source: [0xC1A8, 0x0334, 0x11AE], NFC: [0xC1A8, 0x0334, 0x11AE], NFD: [0x1109, 0x116A, 0x0334, 0x11AE], NFKC: [0xC1A8, 0x0334, 0x11AE], NFKD: [0x1109, 0x116A, 0x0334, 0x11AE] }, -{ source: [0xC1FC, 0x0334, 0x11B5], NFC: [0xC1FC, 0x0334, 0x11B5], NFD: [0x1109, 0x116D, 0x0334, 0x11B5], NFKC: [0xC1FC, 0x0334, 0x11B5], NFKD: [0x1109, 0x116D, 0x0334, 0x11B5] }, -{ source: [0xC250, 0x0334, 0x11BC], NFC: [0xC250, 0x0334, 0x11BC], NFD: [0x1109, 0x1170, 0x0334, 0x11BC], NFKC: [0xC250, 0x0334, 0x11BC], NFKD: [0x1109, 0x1170, 0x0334, 0x11BC] }, -{ source: [0xC314, 0x0334, 0x11AE], NFC: [0xC314, 0x0334, 0x11AE], NFD: [0x110A, 0x1162, 0x0334, 0x11AE], NFKC: [0xC314, 0x0334, 0x11AE], NFKD: [0x110A, 0x1162, 0x0334, 0x11AE] }, -{ source: [0xC368, 0x0334, 0x11B5], NFC: [0xC368, 0x0334, 0x11B5], NFD: [0x110A, 0x1165, 0x0334, 0x11B5], NFKC: [0xC368, 0x0334, 0x11B5], NFKD: [0x110A, 0x1165, 0x0334, 0x11B5] }, -{ source: [0xC3BC, 0x0334, 0x11BC], NFC: [0xC3BC, 0x0334, 0x11BC], NFD: [0x110A, 0x1168, 0x0334, 0x11BC], NFKC: [0xC3BC, 0x0334, 0x11BC], NFKD: [0x110A, 0x1168, 0x0334, 0x11BC] }, -{ source: [0xC480, 0x0334, 0x11AE], NFC: [0xC480, 0x0334, 0x11AE], NFD: [0x110A, 0x116F, 0x0334, 0x11AE], NFKC: [0xC480, 0x0334, 0x11AE], NFKD: [0x110A, 0x116F, 0x0334, 0x11AE] }, -{ source: [0xC4D4, 0x0334, 0x11B5], NFC: [0xC4D4, 0x0334, 0x11B5], NFD: [0x110A, 0x1172, 0x0334, 0x11B5], NFKC: [0xC4D4, 0x0334, 0x11B5], NFKD: [0x110A, 0x1172, 0x0334, 0x11B5] }, -{ source: [0xC528, 0x0334, 0x11BC], NFC: [0xC528, 0x0334, 0x11BC], NFD: [0x110A, 0x1175, 0x0334, 0x11BC], NFKC: [0xC528, 0x0334, 0x11BC], NFKD: [0x110A, 0x1175, 0x0334, 0x11BC] }, -{ source: [0xC5EC, 0x0334, 0x11AE], NFC: [0xC5EC, 0x0334, 0x11AE], NFD: [0x110B, 0x1167, 0x0334, 0x11AE], NFKC: [0xC5EC, 0x0334, 0x11AE], NFKD: [0x110B, 0x1167, 0x0334, 0x11AE] }, -{ source: [0xC640, 0x0334, 0x11B5], NFC: [0xC640, 0x0334, 0x11B5], NFD: [0x110B, 0x116A, 0x0334, 0x11B5], NFKC: [0xC640, 0x0334, 0x11B5], NFKD: [0x110B, 0x116A, 0x0334, 0x11B5] }, -{ source: [0xC694, 0x0334, 0x11BC], NFC: [0xC694, 0x0334, 0x11BC], NFD: [0x110B, 0x116D, 0x0334, 0x11BC], NFKC: [0xC694, 0x0334, 0x11BC], NFKD: [0x110B, 0x116D, 0x0334, 0x11BC] }, -{ source: [0xC758, 0x0334, 0x11AE], NFC: [0xC758, 0x0334, 0x11AE], NFD: [0x110B, 0x1174, 0x0334, 0x11AE], NFKC: [0xC758, 0x0334, 0x11AE], NFKD: [0x110B, 0x1174, 0x0334, 0x11AE] }, -{ source: [0xC7AC, 0x0334, 0x11B5], NFC: [0xC7AC, 0x0334, 0x11B5], NFD: [0x110C, 0x1162, 0x0334, 0x11B5], NFKC: [0xC7AC, 0x0334, 0x11B5], NFKD: [0x110C, 0x1162, 0x0334, 0x11B5] }, -{ source: [0xC800, 0x0334, 0x11BC], NFC: [0xC800, 0x0334, 0x11BC], NFD: [0x110C, 0x1165, 0x0334, 0x11BC], NFKC: [0xC800, 0x0334, 0x11BC], NFKD: [0x110C, 0x1165, 0x0334, 0x11BC] }, -{ source: [0xC8C4, 0x0334, 0x11AE], NFC: [0xC8C4, 0x0334, 0x11AE], NFD: [0x110C, 0x116C, 0x0334, 0x11AE], NFKC: [0xC8C4, 0x0334, 0x11AE], NFKD: [0x110C, 0x116C, 0x0334, 0x11AE] }, -{ source: [0xC918, 0x0334, 0x11B5], NFC: [0xC918, 0x0334, 0x11B5], NFD: [0x110C, 0x116F, 0x0334, 0x11B5], NFKC: [0xC918, 0x0334, 0x11B5], NFKD: [0x110C, 0x116F, 0x0334, 0x11B5] }, -{ source: [0xC96C, 0x0334, 0x11BC], NFC: [0xC96C, 0x0334, 0x11BC], NFD: [0x110C, 0x1172, 0x0334, 0x11BC], NFKC: [0xC96C, 0x0334, 0x11BC], NFKD: [0x110C, 0x1172, 0x0334, 0x11BC] }, -{ source: [0xCA30, 0x0334, 0x11AE], NFC: [0xCA30, 0x0334, 0x11AE], NFD: [0x110D, 0x1164, 0x0334, 0x11AE], NFKC: [0xCA30, 0x0334, 0x11AE], NFKD: [0x110D, 0x1164, 0x0334, 0x11AE] }, -{ source: [0xCA84, 0x0334, 0x11B5], NFC: [0xCA84, 0x0334, 0x11B5], NFD: [0x110D, 0x1167, 0x0334, 0x11B5], NFKC: [0xCA84, 0x0334, 0x11B5], NFKD: [0x110D, 0x1167, 0x0334, 0x11B5] }, -{ source: [0xCAD8, 0x0334, 0x11BC], NFC: [0xCAD8, 0x0334, 0x11BC], NFD: [0x110D, 0x116A, 0x0334, 0x11BC], NFKC: [0xCAD8, 0x0334, 0x11BC], NFKD: [0x110D, 0x116A, 0x0334, 0x11BC] }, -{ source: [0xCB9C, 0x0334, 0x11AE], NFC: [0xCB9C, 0x0334, 0x11AE], NFD: [0x110D, 0x1171, 0x0334, 0x11AE], NFKC: [0xCB9C, 0x0334, 0x11AE], NFKD: [0x110D, 0x1171, 0x0334, 0x11AE] }, -{ source: [0xCBF0, 0x0334, 0x11B5], NFC: [0xCBF0, 0x0334, 0x11B5], NFD: [0x110D, 0x1174, 0x0334, 0x11B5], NFKC: [0xCBF0, 0x0334, 0x11B5], NFKD: [0x110D, 0x1174, 0x0334, 0x11B5] }, -{ source: [0xCC44, 0x0334, 0x11BC], NFC: [0xCC44, 0x0334, 0x11BC], NFD: [0x110E, 0x1162, 0x0334, 0x11BC], NFKC: [0xCC44, 0x0334, 0x11BC], NFKD: [0x110E, 0x1162, 0x0334, 0x11BC] }, -{ source: [0xCD08, 0x0334, 0x11AE], NFC: [0xCD08, 0x0334, 0x11AE], NFD: [0x110E, 0x1169, 0x0334, 0x11AE], NFKC: [0xCD08, 0x0334, 0x11AE], NFKD: [0x110E, 0x1169, 0x0334, 0x11AE] }, -{ source: [0xCD5C, 0x0334, 0x11B5], NFC: [0xCD5C, 0x0334, 0x11B5], NFD: [0x110E, 0x116C, 0x0334, 0x11B5], NFKC: [0xCD5C, 0x0334, 0x11B5], NFKD: [0x110E, 0x116C, 0x0334, 0x11B5] }, -{ source: [0xCDB0, 0x0334, 0x11BC], NFC: [0xCDB0, 0x0334, 0x11BC], NFD: [0x110E, 0x116F, 0x0334, 0x11BC], NFKC: [0xCDB0, 0x0334, 0x11BC], NFKD: [0x110E, 0x116F, 0x0334, 0x11BC] }, -{ source: [0xCE74, 0x0334, 0x11AE], NFC: [0xCE74, 0x0334, 0x11AE], NFD: [0x110F, 0x1161, 0x0334, 0x11AE], NFKC: [0xCE74, 0x0334, 0x11AE], NFKD: [0x110F, 0x1161, 0x0334, 0x11AE] }, -{ source: [0xCEC8, 0x0334, 0x11B5], NFC: [0xCEC8, 0x0334, 0x11B5], NFD: [0x110F, 0x1164, 0x0334, 0x11B5], NFKC: [0xCEC8, 0x0334, 0x11B5], NFKD: [0x110F, 0x1164, 0x0334, 0x11B5] }, -{ source: [0xCF1C, 0x0334, 0x11BC], NFC: [0xCF1C, 0x0334, 0x11BC], NFD: [0x110F, 0x1167, 0x0334, 0x11BC], NFKC: [0xCF1C, 0x0334, 0x11BC], NFKD: [0x110F, 0x1167, 0x0334, 0x11BC] }, -{ source: [0xCFE0, 0x0334, 0x11AE], NFC: [0xCFE0, 0x0334, 0x11AE], NFD: [0x110F, 0x116E, 0x0334, 0x11AE], NFKC: [0xCFE0, 0x0334, 0x11AE], NFKD: [0x110F, 0x116E, 0x0334, 0x11AE] }, -{ source: [0xD034, 0x0334, 0x11B5], NFC: [0xD034, 0x0334, 0x11B5], NFD: [0x110F, 0x1171, 0x0334, 0x11B5], NFKC: [0xD034, 0x0334, 0x11B5], NFKD: [0x110F, 0x1171, 0x0334, 0x11B5] }, -{ source: [0xD088, 0x0334, 0x11BC], NFC: [0xD088, 0x0334, 0x11BC], NFD: [0x110F, 0x1174, 0x0334, 0x11BC], NFKC: [0xD088, 0x0334, 0x11BC], NFKD: [0x110F, 0x1174, 0x0334, 0x11BC] }, -{ source: [0xD14C, 0x0334, 0x11AE], NFC: [0xD14C, 0x0334, 0x11AE], NFD: [0x1110, 0x1166, 0x0334, 0x11AE], NFKC: [0xD14C, 0x0334, 0x11AE], NFKD: [0x1110, 0x1166, 0x0334, 0x11AE] }, -{ source: [0xD1A0, 0x0334, 0x11B5], NFC: [0xD1A0, 0x0334, 0x11B5], NFD: [0x1110, 0x1169, 0x0334, 0x11B5], NFKC: [0xD1A0, 0x0334, 0x11B5], NFKD: [0x1110, 0x1169, 0x0334, 0x11B5] }, -{ source: [0xD1F4, 0x0334, 0x11BC], NFC: [0xD1F4, 0x0334, 0x11BC], NFD: [0x1110, 0x116C, 0x0334, 0x11BC], NFKC: [0xD1F4, 0x0334, 0x11BC], NFKD: [0x1110, 0x116C, 0x0334, 0x11BC] }, -{ source: [0xD2B8, 0x0334, 0x11AE], NFC: [0xD2B8, 0x0334, 0x11AE], NFD: [0x1110, 0x1173, 0x0334, 0x11AE], NFKC: [0xD2B8, 0x0334, 0x11AE], NFKD: [0x1110, 0x1173, 0x0334, 0x11AE] }, -{ source: [0xD30C, 0x0334, 0x11B5], NFC: [0xD30C, 0x0334, 0x11B5], NFD: [0x1111, 0x1161, 0x0334, 0x11B5], NFKC: [0xD30C, 0x0334, 0x11B5], NFKD: [0x1111, 0x1161, 0x0334, 0x11B5] }, -{ source: [0xD360, 0x0334, 0x11BC], NFC: [0xD360, 0x0334, 0x11BC], NFD: [0x1111, 0x1164, 0x0334, 0x11BC], NFKC: [0xD360, 0x0334, 0x11BC], NFKD: [0x1111, 0x1164, 0x0334, 0x11BC] }, -{ source: [0xD424, 0x0334, 0x11AE], NFC: [0xD424, 0x0334, 0x11AE], NFD: [0x1111, 0x116B, 0x0334, 0x11AE], NFKC: [0xD424, 0x0334, 0x11AE], NFKD: [0x1111, 0x116B, 0x0334, 0x11AE] }, -{ source: [0xD478, 0x0334, 0x11B5], NFC: [0xD478, 0x0334, 0x11B5], NFD: [0x1111, 0x116E, 0x0334, 0x11B5], NFKC: [0xD478, 0x0334, 0x11B5], NFKD: [0x1111, 0x116E, 0x0334, 0x11B5] }, -{ source: [0xD4CC, 0x0334, 0x11BC], NFC: [0xD4CC, 0x0334, 0x11BC], NFD: [0x1111, 0x1171, 0x0334, 0x11BC], NFKC: [0xD4CC, 0x0334, 0x11BC], NFKD: [0x1111, 0x1171, 0x0334, 0x11BC] }, -{ source: [0xD590, 0x0334, 0x11AE], NFC: [0xD590, 0x0334, 0x11AE], NFD: [0x1112, 0x1163, 0x0334, 0x11AE], NFKC: [0xD590, 0x0334, 0x11AE], NFKD: [0x1112, 0x1163, 0x0334, 0x11AE] }, -{ source: [0xD5E4, 0x0334, 0x11B5], NFC: [0xD5E4, 0x0334, 0x11B5], NFD: [0x1112, 0x1166, 0x0334, 0x11B5], NFKC: [0xD5E4, 0x0334, 0x11B5], NFKD: [0x1112, 0x1166, 0x0334, 0x11B5] }, -{ source: [0xD638, 0x0334, 0x11BC], NFC: [0xD638, 0x0334, 0x11BC], NFD: [0x1112, 0x1169, 0x0334, 0x11BC], NFKC: [0xD638, 0x0334, 0x11BC], NFKD: [0x1112, 0x1169, 0x0334, 0x11BC] }, -{ source: [0xD6FC, 0x0334, 0x11AE], NFC: [0xD6FC, 0x0334, 0x11AE], NFD: [0x1112, 0x1170, 0x0334, 0x11AE], NFKC: [0xD6FC, 0x0334, 0x11AE], NFKD: [0x1112, 0x1170, 0x0334, 0x11AE] }, -{ source: [0xD750, 0x0334, 0x11B5], NFC: [0xD750, 0x0334, 0x11B5], NFD: [0x1112, 0x1173, 0x0334, 0x11B5], NFKC: [0xD750, 0x0334, 0x11B5], NFKD: [0x1112, 0x1173, 0x0334, 0x11B5] }, -{ source: [0x11131, 0x0334, 0x11127], NFC: [0x11131, 0x0334, 0x11127], NFD: [0x11131, 0x0334, 0x11127], NFKC: [0x11131, 0x0334, 0x11127], NFKD: [0x11131, 0x0334, 0x11127] }, -{ source: [0x11132, 0x0334, 0x11127], NFC: [0x11132, 0x0334, 0x11127], NFD: [0x11132, 0x0334, 0x11127], NFKC: [0x11132, 0x0334, 0x11127], NFKD: [0x11132, 0x0334, 0x11127] }, -{ source: [0x11347, 0x0334, 0x1133E], NFC: [0x11347, 0x0334, 0x1133E], NFD: [0x11347, 0x0334, 0x1133E], NFKC: [0x11347, 0x0334, 0x1133E], NFKD: [0x11347, 0x0334, 0x1133E] }, -{ source: [0x11347, 0x0334, 0x11357], NFC: [0x11347, 0x0334, 0x11357], NFD: [0x11347, 0x0334, 0x11357], NFKC: [0x11347, 0x0334, 0x11357], NFKD: [0x11347, 0x0334, 0x11357] }, -{ source: [0x11382, 0x0334, 0x113C9], NFC: [0x11382, 0x0334, 0x113C9], NFD: [0x11382, 0x0334, 0x113C9], NFKC: [0x11382, 0x0334, 0x113C9], NFKD: [0x11382, 0x0334, 0x113C9] }, -{ source: [0x11384, 0x0334, 0x113BB], NFC: [0x11384, 0x0334, 0x113BB], NFD: [0x11384, 0x0334, 0x113BB], NFKC: [0x11384, 0x0334, 0x113BB], NFKD: [0x11384, 0x0334, 0x113BB] }, -{ source: [0x1138B, 0x0334, 0x113C2], NFC: [0x1138B, 0x0334, 0x113C2], NFD: [0x1138B, 0x0334, 0x113C2], NFKC: [0x1138B, 0x0334, 0x113C2], NFKD: [0x1138B, 0x0334, 0x113C2] }, -{ source: [0x11390, 0x0334, 0x113C9], NFC: [0x11390, 0x0334, 0x113C9], NFD: [0x11390, 0x0334, 0x113C9], NFKC: [0x11390, 0x0334, 0x113C9], NFKD: [0x11390, 0x0334, 0x113C9] }, -{ source: [0x113C2, 0x0334, 0x113B8], NFC: [0x113C2, 0x0334, 0x113B8], NFD: [0x113C2, 0x0334, 0x113B8], NFKC: [0x113C2, 0x0334, 0x113B8], NFKD: [0x113C2, 0x0334, 0x113B8] }, -{ source: [0x113C2, 0x0334, 0x113C2], NFC: [0x113C2, 0x0334, 0x113C2], NFD: [0x113C2, 0x0334, 0x113C2], NFKC: [0x113C2, 0x0334, 0x113C2], NFKD: [0x113C2, 0x0334, 0x113C2] }, -{ source: [0x113C2, 0x0334, 0x113C9], NFC: [0x113C2, 0x0334, 0x113C9], NFD: [0x113C2, 0x0334, 0x113C9], NFKC: [0x113C2, 0x0334, 0x113C9], NFKD: [0x113C2, 0x0334, 0x113C9] }, -{ source: [0x114B9, 0x0334, 0x114B0], NFC: [0x114B9, 0x0334, 0x114B0], NFD: [0x114B9, 0x0334, 0x114B0], NFKC: [0x114B9, 0x0334, 0x114B0], NFKD: [0x114B9, 0x0334, 0x114B0] }, -{ source: [0x114B9, 0x0334, 0x114BA], NFC: [0x114B9, 0x0334, 0x114BA], NFD: [0x114B9, 0x0334, 0x114BA], NFKC: [0x114B9, 0x0334, 0x114BA], NFKD: [0x114B9, 0x0334, 0x114BA] }, -{ source: [0x114B9, 0x0334, 0x114BD], NFC: [0x114B9, 0x0334, 0x114BD], NFD: [0x114B9, 0x0334, 0x114BD], NFKC: [0x114B9, 0x0334, 0x114BD], NFKD: [0x114B9, 0x0334, 0x114BD] }, -{ source: [0x115B8, 0x0334, 0x115AF], NFC: [0x115B8, 0x0334, 0x115AF], NFD: [0x115B8, 0x0334, 0x115AF], NFKC: [0x115B8, 0x0334, 0x115AF], NFKD: [0x115B8, 0x0334, 0x115AF] }, -{ source: [0x115B9, 0x0334, 0x115AF], NFC: [0x115B9, 0x0334, 0x115AF], NFD: [0x115B9, 0x0334, 0x115AF], NFKC: [0x115B9, 0x0334, 0x115AF], NFKD: [0x115B9, 0x0334, 0x115AF] }, -{ source: [0x11935, 0x0334, 0x11930], NFC: [0x11935, 0x0334, 0x11930], NFD: [0x11935, 0x0334, 0x11930], NFKC: [0x11935, 0x0334, 0x11930], NFKD: [0x11935, 0x0334, 0x11930] }, -{ source: [0x1611E, 0x0334, 0x1611E], NFC: [0x1611E, 0x0334, 0x1611E], NFD: [0x1611E, 0x0334, 0x1611E], NFKC: [0x1611E, 0x0334, 0x1611E], NFKD: [0x1611E, 0x0334, 0x1611E] }, -{ source: [0x1611E, 0x0334, 0x1611F], NFC: [0x1611E, 0x0334, 0x1611F], NFD: [0x1611E, 0x0334, 0x1611F], NFKC: [0x1611E, 0x0334, 0x1611F], NFKD: [0x1611E, 0x0334, 0x1611F] }, -{ source: [0x1611E, 0x0334, 0x16120], NFC: [0x1611E, 0x0334, 0x16120], NFD: [0x1611E, 0x0334, 0x16120], NFKC: [0x1611E, 0x0334, 0x16120], NFKD: [0x1611E, 0x0334, 0x16120] }, -{ source: [0x1611E, 0x0334, 0x16129], NFC: [0x1611E, 0x0334, 0x16129], NFD: [0x1611E, 0x0334, 0x16129], NFKC: [0x1611E, 0x0334, 0x16129], NFKD: [0x1611E, 0x0334, 0x16129] }, -{ source: [0x16121, 0x0334, 0x1611F], NFC: [0x16121, 0x0334, 0x1611F], NFD: [0x1611E, 0x1611E, 0x0334, 0x1611F], NFKC: [0x16121, 0x0334, 0x1611F], NFKD: [0x1611E, 0x1611E, 0x0334, 0x1611F] }, -{ source: [0x16121, 0x0334, 0x16120], NFC: [0x16121, 0x0334, 0x16120], NFD: [0x1611E, 0x1611E, 0x0334, 0x16120], NFKC: [0x16121, 0x0334, 0x16120], NFKD: [0x1611E, 0x1611E, 0x0334, 0x16120] }, -{ source: [0x16122, 0x0334, 0x1611F], NFC: [0x16122, 0x0334, 0x1611F], NFD: [0x1611E, 0x16129, 0x0334, 0x1611F], NFKC: [0x16122, 0x0334, 0x1611F], NFKD: [0x1611E, 0x16129, 0x0334, 0x1611F] }, -{ source: [0x16129, 0x0334, 0x1611F], NFC: [0x16129, 0x0334, 0x1611F], NFD: [0x16129, 0x0334, 0x1611F], NFKC: [0x16129, 0x0334, 0x1611F], NFKD: [0x16129, 0x0334, 0x1611F] }, -{ source: [0x16D63, 0x0334, 0x16D67], NFC: [0x16D63, 0x0334, 0x16D67], NFD: [0x16D63, 0x0334, 0x16D67], NFKC: [0x16D63, 0x0334, 0x16D67], NFKD: [0x16D63, 0x0334, 0x16D67] }, -{ source: [0x16D67, 0x0334, 0x16D67], NFC: [0x16D67, 0x0334, 0x16D67], NFD: [0x16D67, 0x0334, 0x16D67], NFKC: [0x16D67, 0x0334, 0x16D67], NFKD: [0x16D67, 0x0334, 0x16D67] }, -{ source: [0x16D69, 0x0334, 0x16D67], NFC: [0x16D69, 0x0334, 0x16D67], NFD: [0x16D63, 0x16D67, 0x0334, 0x16D67], NFKC: [0x16D69, 0x0334, 0x16D67], NFKD: [0x16D63, 0x16D67, 0x0334, 0x16D67] } -]; -/* Part4 # Canonical closures (excluding Hangul) */ -var tests_part4 = [ -{ source: [0x00DC, 0x0304], NFC: [0x01D5], NFD: [0x0055, 0x0308, 0x0304], NFKC: [0x01D5], NFKD: [0x0055, 0x0308, 0x0304] }, -{ source: [0x00FC, 0x0304], NFC: [0x01D6], NFD: [0x0075, 0x0308, 0x0304], NFKC: [0x01D6], NFKD: [0x0075, 0x0308, 0x0304] }, -{ source: [0x0055, 0x0344], NFC: [0x01D7], NFD: [0x0055, 0x0308, 0x0301], NFKC: [0x01D7], NFKD: [0x0055, 0x0308, 0x0301] }, -{ source: [0x00DC, 0x0301], NFC: [0x01D7], NFD: [0x0055, 0x0308, 0x0301], NFKC: [0x01D7], NFKD: [0x0055, 0x0308, 0x0301] }, -{ source: [0x00DC, 0x0341], NFC: [0x01D7], NFD: [0x0055, 0x0308, 0x0301], NFKC: [0x01D7], NFKD: [0x0055, 0x0308, 0x0301] }, -{ source: [0x0075, 0x0344], NFC: [0x01D8], NFD: [0x0075, 0x0308, 0x0301], NFKC: [0x01D8], NFKD: [0x0075, 0x0308, 0x0301] }, -{ source: [0x00FC, 0x0301], NFC: [0x01D8], NFD: [0x0075, 0x0308, 0x0301], NFKC: [0x01D8], NFKD: [0x0075, 0x0308, 0x0301] }, -{ source: [0x00FC, 0x0341], NFC: [0x01D8], NFD: [0x0075, 0x0308, 0x0301], NFKC: [0x01D8], NFKD: [0x0075, 0x0308, 0x0301] }, -{ source: [0x00DC, 0x030C], NFC: [0x01D9], NFD: [0x0055, 0x0308, 0x030C], NFKC: [0x01D9], NFKD: [0x0055, 0x0308, 0x030C] }, -{ source: [0x00FC, 0x030C], NFC: [0x01DA], NFD: [0x0075, 0x0308, 0x030C], NFKC: [0x01DA], NFKD: [0x0075, 0x0308, 0x030C] }, -{ source: [0x00DC, 0x0300], NFC: [0x01DB], NFD: [0x0055, 0x0308, 0x0300], NFKC: [0x01DB], NFKD: [0x0055, 0x0308, 0x0300] }, -{ source: [0x00DC, 0x0340], NFC: [0x01DB], NFD: [0x0055, 0x0308, 0x0300], NFKC: [0x01DB], NFKD: [0x0055, 0x0308, 0x0300] }, -{ source: [0x00FC, 0x0300], NFC: [0x01DC], NFD: [0x0075, 0x0308, 0x0300], NFKC: [0x01DC], NFKD: [0x0075, 0x0308, 0x0300] }, -{ source: [0x00FC, 0x0340], NFC: [0x01DC], NFD: [0x0075, 0x0308, 0x0300], NFKC: [0x01DC], NFKD: [0x0075, 0x0308, 0x0300] }, -{ source: [0x00C4, 0x0304], NFC: [0x01DE], NFD: [0x0041, 0x0308, 0x0304], NFKC: [0x01DE], NFKD: [0x0041, 0x0308, 0x0304] }, -{ source: [0x00E4, 0x0304], NFC: [0x01DF], NFD: [0x0061, 0x0308, 0x0304], NFKC: [0x01DF], NFKD: [0x0061, 0x0308, 0x0304] }, -{ source: [0x0226, 0x0304], NFC: [0x01E0], NFD: [0x0041, 0x0307, 0x0304], NFKC: [0x01E0], NFKD: [0x0041, 0x0307, 0x0304] }, -{ source: [0x0227, 0x0304], NFC: [0x01E1], NFD: [0x0061, 0x0307, 0x0304], NFKC: [0x01E1], NFKD: [0x0061, 0x0307, 0x0304] }, -{ source: [0x014C, 0x0328], NFC: [0x01EC], NFD: [0x004F, 0x0328, 0x0304], NFKC: [0x01EC], NFKD: [0x004F, 0x0328, 0x0304] }, -{ source: [0x01EA, 0x0304], NFC: [0x01EC], NFD: [0x004F, 0x0328, 0x0304], NFKC: [0x01EC], NFKD: [0x004F, 0x0328, 0x0304] }, -{ source: [0x014D, 0x0328], NFC: [0x01ED], NFD: [0x006F, 0x0328, 0x0304], NFKC: [0x01ED], NFKD: [0x006F, 0x0328, 0x0304] }, -{ source: [0x01EB, 0x0304], NFC: [0x01ED], NFD: [0x006F, 0x0328, 0x0304], NFKC: [0x01ED], NFKD: [0x006F, 0x0328, 0x0304] }, -{ source: [0x00C5, 0x0301], NFC: [0x01FA], NFD: [0x0041, 0x030A, 0x0301], NFKC: [0x01FA], NFKD: [0x0041, 0x030A, 0x0301] }, -{ source: [0x00C5, 0x0341], NFC: [0x01FA], NFD: [0x0041, 0x030A, 0x0301], NFKC: [0x01FA], NFKD: [0x0041, 0x030A, 0x0301] }, -{ source: [0x212B, 0x0301], NFC: [0x01FA], NFD: [0x0041, 0x030A, 0x0301], NFKC: [0x01FA], NFKD: [0x0041, 0x030A, 0x0301] }, -{ source: [0x212B, 0x0341], NFC: [0x01FA], NFD: [0x0041, 0x030A, 0x0301], NFKC: [0x01FA], NFKD: [0x0041, 0x030A, 0x0301] }, -{ source: [0x00E5, 0x0301], NFC: [0x01FB], NFD: [0x0061, 0x030A, 0x0301], NFKC: [0x01FB], NFKD: [0x0061, 0x030A, 0x0301] }, -{ source: [0x00E5, 0x0341], NFC: [0x01FB], NFD: [0x0061, 0x030A, 0x0301], NFKC: [0x01FB], NFKD: [0x0061, 0x030A, 0x0301] }, -{ source: [0x00D6, 0x0304], NFC: [0x022A], NFD: [0x004F, 0x0308, 0x0304], NFKC: [0x022A], NFKD: [0x004F, 0x0308, 0x0304] }, -{ source: [0x00F6, 0x0304], NFC: [0x022B], NFD: [0x006F, 0x0308, 0x0304], NFKC: [0x022B], NFKD: [0x006F, 0x0308, 0x0304] }, -{ source: [0x00D5, 0x0304], NFC: [0x022C], NFD: [0x004F, 0x0303, 0x0304], NFKC: [0x022C], NFKD: [0x004F, 0x0303, 0x0304] }, -{ source: [0x00F5, 0x0304], NFC: [0x022D], NFD: [0x006F, 0x0303, 0x0304], NFKC: [0x022D], NFKD: [0x006F, 0x0303, 0x0304] }, -{ source: [0x022E, 0x0304], NFC: [0x0230], NFD: [0x004F, 0x0307, 0x0304], NFKC: [0x0230], NFKD: [0x004F, 0x0307, 0x0304] }, -{ source: [0x022F, 0x0304], NFC: [0x0231], NFD: [0x006F, 0x0307, 0x0304], NFKC: [0x0231], NFKD: [0x006F, 0x0307, 0x0304] }, -{ source: [0x03B9, 0x0344], NFC: [0x0390], NFD: [0x03B9, 0x0308, 0x0301], NFKC: [0x0390], NFKD: [0x03B9, 0x0308, 0x0301] }, -{ source: [0x03CA, 0x0301], NFC: [0x0390], NFD: [0x03B9, 0x0308, 0x0301], NFKC: [0x0390], NFKD: [0x03B9, 0x0308, 0x0301] }, -{ source: [0x03CA, 0x0341], NFC: [0x0390], NFD: [0x03B9, 0x0308, 0x0301], NFKC: [0x0390], NFKD: [0x03B9, 0x0308, 0x0301] }, -{ source: [0x1FBE, 0x0344], NFC: [0x0390], NFD: [0x03B9, 0x0308, 0x0301], NFKC: [0x0390], NFKD: [0x03B9, 0x0308, 0x0301] }, -{ source: [0x03C5, 0x0344], NFC: [0x03B0], NFD: [0x03C5, 0x0308, 0x0301], NFKC: [0x03B0], NFKD: [0x03C5, 0x0308, 0x0301] }, -{ source: [0x03CB, 0x0301], NFC: [0x03B0], NFD: [0x03C5, 0x0308, 0x0301], NFKC: [0x03B0], NFKD: [0x03C5, 0x0308, 0x0301] }, -{ source: [0x03CB, 0x0341], NFC: [0x03B0], NFD: [0x03C5, 0x0308, 0x0301], NFKC: [0x03B0], NFKD: [0x03C5, 0x0308, 0x0301] }, -{ source: [0x0CCA, 0x0CD5], NFC: [0x0CCB], NFD: [0x0CC6, 0x0CC2, 0x0CD5], NFKC: [0x0CCB], NFKD: [0x0CC6, 0x0CC2, 0x0CD5] }, -{ source: [0x0DDC, 0x0DCA], NFC: [0x0DDD], NFD: [0x0DD9, 0x0DCF, 0x0DCA], NFKC: [0x0DDD], NFKD: [0x0DD9, 0x0DCF, 0x0DCA] }, -{ source: [0x00C7, 0x0301], NFC: [0x1E08], NFD: [0x0043, 0x0327, 0x0301], NFKC: [0x1E08], NFKD: [0x0043, 0x0327, 0x0301] }, -{ source: [0x00C7, 0x0341], NFC: [0x1E08], NFD: [0x0043, 0x0327, 0x0301], NFKC: [0x1E08], NFKD: [0x0043, 0x0327, 0x0301] }, -{ source: [0x0106, 0x0327], NFC: [0x1E08], NFD: [0x0043, 0x0327, 0x0301], NFKC: [0x1E08], NFKD: [0x0043, 0x0327, 0x0301] }, -{ source: [0x00E7, 0x0301], NFC: [0x1E09], NFD: [0x0063, 0x0327, 0x0301], NFKC: [0x1E09], NFKD: [0x0063, 0x0327, 0x0301] }, -{ source: [0x00E7, 0x0341], NFC: [0x1E09], NFD: [0x0063, 0x0327, 0x0301], NFKC: [0x1E09], NFKD: [0x0063, 0x0327, 0x0301] }, -{ source: [0x0107, 0x0327], NFC: [0x1E09], NFD: [0x0063, 0x0327, 0x0301], NFKC: [0x1E09], NFKD: [0x0063, 0x0327, 0x0301] }, -{ source: [0x0112, 0x0300], NFC: [0x1E14], NFD: [0x0045, 0x0304, 0x0300], NFKC: [0x1E14], NFKD: [0x0045, 0x0304, 0x0300] }, -{ source: [0x0112, 0x0340], NFC: [0x1E14], NFD: [0x0045, 0x0304, 0x0300], NFKC: [0x1E14], NFKD: [0x0045, 0x0304, 0x0300] }, -{ source: [0x0113, 0x0300], NFC: [0x1E15], NFD: [0x0065, 0x0304, 0x0300], NFKC: [0x1E15], NFKD: [0x0065, 0x0304, 0x0300] }, -{ source: [0x0113, 0x0340], NFC: [0x1E15], NFD: [0x0065, 0x0304, 0x0300], NFKC: [0x1E15], NFKD: [0x0065, 0x0304, 0x0300] }, -{ source: [0x0112, 0x0301], NFC: [0x1E16], NFD: [0x0045, 0x0304, 0x0301], NFKC: [0x1E16], NFKD: [0x0045, 0x0304, 0x0301] }, -{ source: [0x0112, 0x0341], NFC: [0x1E16], NFD: [0x0045, 0x0304, 0x0301], NFKC: [0x1E16], NFKD: [0x0045, 0x0304, 0x0301] }, -{ source: [0x0113, 0x0301], NFC: [0x1E17], NFD: [0x0065, 0x0304, 0x0301], NFKC: [0x1E17], NFKD: [0x0065, 0x0304, 0x0301] }, -{ source: [0x0113, 0x0341], NFC: [0x1E17], NFD: [0x0065, 0x0304, 0x0301], NFKC: [0x1E17], NFKD: [0x0065, 0x0304, 0x0301] }, -{ source: [0x0114, 0x0327], NFC: [0x1E1C], NFD: [0x0045, 0x0327, 0x0306], NFKC: [0x1E1C], NFKD: [0x0045, 0x0327, 0x0306] }, -{ source: [0x0228, 0x0306], NFC: [0x1E1C], NFD: [0x0045, 0x0327, 0x0306], NFKC: [0x1E1C], NFKD: [0x0045, 0x0327, 0x0306] }, -{ source: [0x0115, 0x0327], NFC: [0x1E1D], NFD: [0x0065, 0x0327, 0x0306], NFKC: [0x1E1D], NFKD: [0x0065, 0x0327, 0x0306] }, -{ source: [0x0229, 0x0306], NFC: [0x1E1D], NFD: [0x0065, 0x0327, 0x0306], NFKC: [0x1E1D], NFKD: [0x0065, 0x0327, 0x0306] }, -{ source: [0x0049, 0x0344], NFC: [0x1E2E], NFD: [0x0049, 0x0308, 0x0301], NFKC: [0x1E2E], NFKD: [0x0049, 0x0308, 0x0301] }, -{ source: [0x00CF, 0x0301], NFC: [0x1E2E], NFD: [0x0049, 0x0308, 0x0301], NFKC: [0x1E2E], NFKD: [0x0049, 0x0308, 0x0301] }, -{ source: [0x00CF, 0x0341], NFC: [0x1E2E], NFD: [0x0049, 0x0308, 0x0301], NFKC: [0x1E2E], NFKD: [0x0049, 0x0308, 0x0301] }, -{ source: [0x0069, 0x0344], NFC: [0x1E2F], NFD: [0x0069, 0x0308, 0x0301], NFKC: [0x1E2F], NFKD: [0x0069, 0x0308, 0x0301] }, -{ source: [0x00EF, 0x0301], NFC: [0x1E2F], NFD: [0x0069, 0x0308, 0x0301], NFKC: [0x1E2F], NFKD: [0x0069, 0x0308, 0x0301] }, -{ source: [0x00EF, 0x0341], NFC: [0x1E2F], NFD: [0x0069, 0x0308, 0x0301], NFKC: [0x1E2F], NFKD: [0x0069, 0x0308, 0x0301] }, -{ source: [0x1E36, 0x0304], NFC: [0x1E38], NFD: [0x004C, 0x0323, 0x0304], NFKC: [0x1E38], NFKD: [0x004C, 0x0323, 0x0304] }, -{ source: [0x1E37, 0x0304], NFC: [0x1E39], NFD: [0x006C, 0x0323, 0x0304], NFKC: [0x1E39], NFKD: [0x006C, 0x0323, 0x0304] }, -{ source: [0x00D5, 0x0301], NFC: [0x1E4C], NFD: [0x004F, 0x0303, 0x0301], NFKC: [0x1E4C], NFKD: [0x004F, 0x0303, 0x0301] }, -{ source: [0x00D5, 0x0341], NFC: [0x1E4C], NFD: [0x004F, 0x0303, 0x0301], NFKC: [0x1E4C], NFKD: [0x004F, 0x0303, 0x0301] }, -{ source: [0x00F5, 0x0301], NFC: [0x1E4D], NFD: [0x006F, 0x0303, 0x0301], NFKC: [0x1E4D], NFKD: [0x006F, 0x0303, 0x0301] }, -{ source: [0x00F5, 0x0341], NFC: [0x1E4D], NFD: [0x006F, 0x0303, 0x0301], NFKC: [0x1E4D], NFKD: [0x006F, 0x0303, 0x0301] }, -{ source: [0x00D5, 0x0308], NFC: [0x1E4E], NFD: [0x004F, 0x0303, 0x0308], NFKC: [0x1E4E], NFKD: [0x004F, 0x0303, 0x0308] }, -{ source: [0x00F5, 0x0308], NFC: [0x1E4F], NFD: [0x006F, 0x0303, 0x0308], NFKC: [0x1E4F], NFKD: [0x006F, 0x0303, 0x0308] }, -{ source: [0x014C, 0x0300], NFC: [0x1E50], NFD: [0x004F, 0x0304, 0x0300], NFKC: [0x1E50], NFKD: [0x004F, 0x0304, 0x0300] }, -{ source: [0x014C, 0x0340], NFC: [0x1E50], NFD: [0x004F, 0x0304, 0x0300], NFKC: [0x1E50], NFKD: [0x004F, 0x0304, 0x0300] }, -{ source: [0x014D, 0x0300], NFC: [0x1E51], NFD: [0x006F, 0x0304, 0x0300], NFKC: [0x1E51], NFKD: [0x006F, 0x0304, 0x0300] }, -{ source: [0x014D, 0x0340], NFC: [0x1E51], NFD: [0x006F, 0x0304, 0x0300], NFKC: [0x1E51], NFKD: [0x006F, 0x0304, 0x0300] }, -{ source: [0x014C, 0x0301], NFC: [0x1E52], NFD: [0x004F, 0x0304, 0x0301], NFKC: [0x1E52], NFKD: [0x004F, 0x0304, 0x0301] }, -{ source: [0x014C, 0x0341], NFC: [0x1E52], NFD: [0x004F, 0x0304, 0x0301], NFKC: [0x1E52], NFKD: [0x004F, 0x0304, 0x0301] }, -{ source: [0x014D, 0x0301], NFC: [0x1E53], NFD: [0x006F, 0x0304, 0x0301], NFKC: [0x1E53], NFKD: [0x006F, 0x0304, 0x0301] }, -{ source: [0x014D, 0x0341], NFC: [0x1E53], NFD: [0x006F, 0x0304, 0x0301], NFKC: [0x1E53], NFKD: [0x006F, 0x0304, 0x0301] }, -{ source: [0x1E5A, 0x0304], NFC: [0x1E5C], NFD: [0x0052, 0x0323, 0x0304], NFKC: [0x1E5C], NFKD: [0x0052, 0x0323, 0x0304] }, -{ source: [0x1E5B, 0x0304], NFC: [0x1E5D], NFD: [0x0072, 0x0323, 0x0304], NFKC: [0x1E5D], NFKD: [0x0072, 0x0323, 0x0304] }, -{ source: [0x015A, 0x0307], NFC: [0x1E64], NFD: [0x0053, 0x0301, 0x0307], NFKC: [0x1E64], NFKD: [0x0053, 0x0301, 0x0307] }, -{ source: [0x015B, 0x0307], NFC: [0x1E65], NFD: [0x0073, 0x0301, 0x0307], NFKC: [0x1E65], NFKD: [0x0073, 0x0301, 0x0307] }, -{ source: [0x0160, 0x0307], NFC: [0x1E66], NFD: [0x0053, 0x030C, 0x0307], NFKC: [0x1E66], NFKD: [0x0053, 0x030C, 0x0307] }, -{ source: [0x0161, 0x0307], NFC: [0x1E67], NFD: [0x0073, 0x030C, 0x0307], NFKC: [0x1E67], NFKD: [0x0073, 0x030C, 0x0307] }, -{ source: [0x1E60, 0x0323], NFC: [0x1E68], NFD: [0x0053, 0x0323, 0x0307], NFKC: [0x1E68], NFKD: [0x0053, 0x0323, 0x0307] }, -{ source: [0x1E62, 0x0307], NFC: [0x1E68], NFD: [0x0053, 0x0323, 0x0307], NFKC: [0x1E68], NFKD: [0x0053, 0x0323, 0x0307] }, -{ source: [0x1E61, 0x0323], NFC: [0x1E69], NFD: [0x0073, 0x0323, 0x0307], NFKC: [0x1E69], NFKD: [0x0073, 0x0323, 0x0307] }, -{ source: [0x1E63, 0x0307], NFC: [0x1E69], NFD: [0x0073, 0x0323, 0x0307], NFKC: [0x1E69], NFKD: [0x0073, 0x0323, 0x0307] }, -{ source: [0x0168, 0x0301], NFC: [0x1E78], NFD: [0x0055, 0x0303, 0x0301], NFKC: [0x1E78], NFKD: [0x0055, 0x0303, 0x0301] }, -{ source: [0x0168, 0x0341], NFC: [0x1E78], NFD: [0x0055, 0x0303, 0x0301], NFKC: [0x1E78], NFKD: [0x0055, 0x0303, 0x0301] }, -{ source: [0x0169, 0x0301], NFC: [0x1E79], NFD: [0x0075, 0x0303, 0x0301], NFKC: [0x1E79], NFKD: [0x0075, 0x0303, 0x0301] }, -{ source: [0x0169, 0x0341], NFC: [0x1E79], NFD: [0x0075, 0x0303, 0x0301], NFKC: [0x1E79], NFKD: [0x0075, 0x0303, 0x0301] }, -{ source: [0x016A, 0x0308], NFC: [0x1E7A], NFD: [0x0055, 0x0304, 0x0308], NFKC: [0x1E7A], NFKD: [0x0055, 0x0304, 0x0308] }, -{ source: [0x016B, 0x0308], NFC: [0x1E7B], NFD: [0x0075, 0x0304, 0x0308], NFKC: [0x1E7B], NFKD: [0x0075, 0x0304, 0x0308] }, -{ source: [0x00C2, 0x0301], NFC: [0x1EA4], NFD: [0x0041, 0x0302, 0x0301], NFKC: [0x1EA4], NFKD: [0x0041, 0x0302, 0x0301] }, -{ source: [0x00C2, 0x0341], NFC: [0x1EA4], NFD: [0x0041, 0x0302, 0x0301], NFKC: [0x1EA4], NFKD: [0x0041, 0x0302, 0x0301] }, -{ source: [0x00E2, 0x0301], NFC: [0x1EA5], NFD: [0x0061, 0x0302, 0x0301], NFKC: [0x1EA5], NFKD: [0x0061, 0x0302, 0x0301] }, -{ source: [0x00E2, 0x0341], NFC: [0x1EA5], NFD: [0x0061, 0x0302, 0x0301], NFKC: [0x1EA5], NFKD: [0x0061, 0x0302, 0x0301] }, -{ source: [0x00C2, 0x0300], NFC: [0x1EA6], NFD: [0x0041, 0x0302, 0x0300], NFKC: [0x1EA6], NFKD: [0x0041, 0x0302, 0x0300] }, -{ source: [0x00C2, 0x0340], NFC: [0x1EA6], NFD: [0x0041, 0x0302, 0x0300], NFKC: [0x1EA6], NFKD: [0x0041, 0x0302, 0x0300] }, -{ source: [0x00E2, 0x0300], NFC: [0x1EA7], NFD: [0x0061, 0x0302, 0x0300], NFKC: [0x1EA7], NFKD: [0x0061, 0x0302, 0x0300] }, -{ source: [0x00E2, 0x0340], NFC: [0x1EA7], NFD: [0x0061, 0x0302, 0x0300], NFKC: [0x1EA7], NFKD: [0x0061, 0x0302, 0x0300] }, -{ source: [0x00C2, 0x0309], NFC: [0x1EA8], NFD: [0x0041, 0x0302, 0x0309], NFKC: [0x1EA8], NFKD: [0x0041, 0x0302, 0x0309] }, -{ source: [0x00E2, 0x0309], NFC: [0x1EA9], NFD: [0x0061, 0x0302, 0x0309], NFKC: [0x1EA9], NFKD: [0x0061, 0x0302, 0x0309] }, -{ source: [0x00C2, 0x0303], NFC: [0x1EAA], NFD: [0x0041, 0x0302, 0x0303], NFKC: [0x1EAA], NFKD: [0x0041, 0x0302, 0x0303] }, -{ source: [0x00E2, 0x0303], NFC: [0x1EAB], NFD: [0x0061, 0x0302, 0x0303], NFKC: [0x1EAB], NFKD: [0x0061, 0x0302, 0x0303] }, -{ source: [0x00C2, 0x0323], NFC: [0x1EAC], NFD: [0x0041, 0x0323, 0x0302], NFKC: [0x1EAC], NFKD: [0x0041, 0x0323, 0x0302] }, -{ source: [0x1EA0, 0x0302], NFC: [0x1EAC], NFD: [0x0041, 0x0323, 0x0302], NFKC: [0x1EAC], NFKD: [0x0041, 0x0323, 0x0302] }, -{ source: [0x00E2, 0x0323], NFC: [0x1EAD], NFD: [0x0061, 0x0323, 0x0302], NFKC: [0x1EAD], NFKD: [0x0061, 0x0323, 0x0302] }, -{ source: [0x1EA1, 0x0302], NFC: [0x1EAD], NFD: [0x0061, 0x0323, 0x0302], NFKC: [0x1EAD], NFKD: [0x0061, 0x0323, 0x0302] }, -{ source: [0x0102, 0x0301], NFC: [0x1EAE], NFD: [0x0041, 0x0306, 0x0301], NFKC: [0x1EAE], NFKD: [0x0041, 0x0306, 0x0301] }, -{ source: [0x0102, 0x0341], NFC: [0x1EAE], NFD: [0x0041, 0x0306, 0x0301], NFKC: [0x1EAE], NFKD: [0x0041, 0x0306, 0x0301] }, -{ source: [0x0103, 0x0301], NFC: [0x1EAF], NFD: [0x0061, 0x0306, 0x0301], NFKC: [0x1EAF], NFKD: [0x0061, 0x0306, 0x0301] }, -{ source: [0x0103, 0x0341], NFC: [0x1EAF], NFD: [0x0061, 0x0306, 0x0301], NFKC: [0x1EAF], NFKD: [0x0061, 0x0306, 0x0301] }, -{ source: [0x0102, 0x0300], NFC: [0x1EB0], NFD: [0x0041, 0x0306, 0x0300], NFKC: [0x1EB0], NFKD: [0x0041, 0x0306, 0x0300] }, -{ source: [0x0102, 0x0340], NFC: [0x1EB0], NFD: [0x0041, 0x0306, 0x0300], NFKC: [0x1EB0], NFKD: [0x0041, 0x0306, 0x0300] }, -{ source: [0x0103, 0x0300], NFC: [0x1EB1], NFD: [0x0061, 0x0306, 0x0300], NFKC: [0x1EB1], NFKD: [0x0061, 0x0306, 0x0300] }, -{ source: [0x0103, 0x0340], NFC: [0x1EB1], NFD: [0x0061, 0x0306, 0x0300], NFKC: [0x1EB1], NFKD: [0x0061, 0x0306, 0x0300] }, -{ source: [0x0102, 0x0309], NFC: [0x1EB2], NFD: [0x0041, 0x0306, 0x0309], NFKC: [0x1EB2], NFKD: [0x0041, 0x0306, 0x0309] }, -{ source: [0x0103, 0x0309], NFC: [0x1EB3], NFD: [0x0061, 0x0306, 0x0309], NFKC: [0x1EB3], NFKD: [0x0061, 0x0306, 0x0309] }, -{ source: [0x0102, 0x0303], NFC: [0x1EB4], NFD: [0x0041, 0x0306, 0x0303], NFKC: [0x1EB4], NFKD: [0x0041, 0x0306, 0x0303] }, -{ source: [0x0103, 0x0303], NFC: [0x1EB5], NFD: [0x0061, 0x0306, 0x0303], NFKC: [0x1EB5], NFKD: [0x0061, 0x0306, 0x0303] }, -{ source: [0x0102, 0x0323], NFC: [0x1EB6], NFD: [0x0041, 0x0323, 0x0306], NFKC: [0x1EB6], NFKD: [0x0041, 0x0323, 0x0306] }, -{ source: [0x1EA0, 0x0306], NFC: [0x1EB6], NFD: [0x0041, 0x0323, 0x0306], NFKC: [0x1EB6], NFKD: [0x0041, 0x0323, 0x0306] }, -{ source: [0x0103, 0x0323], NFC: [0x1EB7], NFD: [0x0061, 0x0323, 0x0306], NFKC: [0x1EB7], NFKD: [0x0061, 0x0323, 0x0306] }, -{ source: [0x1EA1, 0x0306], NFC: [0x1EB7], NFD: [0x0061, 0x0323, 0x0306], NFKC: [0x1EB7], NFKD: [0x0061, 0x0323, 0x0306] }, -{ source: [0x00CA, 0x0301], NFC: [0x1EBE], NFD: [0x0045, 0x0302, 0x0301], NFKC: [0x1EBE], NFKD: [0x0045, 0x0302, 0x0301] }, -{ source: [0x00CA, 0x0341], NFC: [0x1EBE], NFD: [0x0045, 0x0302, 0x0301], NFKC: [0x1EBE], NFKD: [0x0045, 0x0302, 0x0301] }, -{ source: [0x00EA, 0x0301], NFC: [0x1EBF], NFD: [0x0065, 0x0302, 0x0301], NFKC: [0x1EBF], NFKD: [0x0065, 0x0302, 0x0301] }, -{ source: [0x00EA, 0x0341], NFC: [0x1EBF], NFD: [0x0065, 0x0302, 0x0301], NFKC: [0x1EBF], NFKD: [0x0065, 0x0302, 0x0301] }, -{ source: [0x00CA, 0x0300], NFC: [0x1EC0], NFD: [0x0045, 0x0302, 0x0300], NFKC: [0x1EC0], NFKD: [0x0045, 0x0302, 0x0300] }, -{ source: [0x00CA, 0x0340], NFC: [0x1EC0], NFD: [0x0045, 0x0302, 0x0300], NFKC: [0x1EC0], NFKD: [0x0045, 0x0302, 0x0300] }, -{ source: [0x00EA, 0x0300], NFC: [0x1EC1], NFD: [0x0065, 0x0302, 0x0300], NFKC: [0x1EC1], NFKD: [0x0065, 0x0302, 0x0300] }, -{ source: [0x00EA, 0x0340], NFC: [0x1EC1], NFD: [0x0065, 0x0302, 0x0300], NFKC: [0x1EC1], NFKD: [0x0065, 0x0302, 0x0300] }, -{ source: [0x00CA, 0x0309], NFC: [0x1EC2], NFD: [0x0045, 0x0302, 0x0309], NFKC: [0x1EC2], NFKD: [0x0045, 0x0302, 0x0309] }, -{ source: [0x00EA, 0x0309], NFC: [0x1EC3], NFD: [0x0065, 0x0302, 0x0309], NFKC: [0x1EC3], NFKD: [0x0065, 0x0302, 0x0309] }, -{ source: [0x00CA, 0x0303], NFC: [0x1EC4], NFD: [0x0045, 0x0302, 0x0303], NFKC: [0x1EC4], NFKD: [0x0045, 0x0302, 0x0303] }, -{ source: [0x00EA, 0x0303], NFC: [0x1EC5], NFD: [0x0065, 0x0302, 0x0303], NFKC: [0x1EC5], NFKD: [0x0065, 0x0302, 0x0303] }, -{ source: [0x00CA, 0x0323], NFC: [0x1EC6], NFD: [0x0045, 0x0323, 0x0302], NFKC: [0x1EC6], NFKD: [0x0045, 0x0323, 0x0302] }, -{ source: [0x1EB8, 0x0302], NFC: [0x1EC6], NFD: [0x0045, 0x0323, 0x0302], NFKC: [0x1EC6], NFKD: [0x0045, 0x0323, 0x0302] }, -{ source: [0x00EA, 0x0323], NFC: [0x1EC7], NFD: [0x0065, 0x0323, 0x0302], NFKC: [0x1EC7], NFKD: [0x0065, 0x0323, 0x0302] }, -{ source: [0x1EB9, 0x0302], NFC: [0x1EC7], NFD: [0x0065, 0x0323, 0x0302], NFKC: [0x1EC7], NFKD: [0x0065, 0x0323, 0x0302] }, -{ source: [0x00D4, 0x0301], NFC: [0x1ED0], NFD: [0x004F, 0x0302, 0x0301], NFKC: [0x1ED0], NFKD: [0x004F, 0x0302, 0x0301] }, -{ source: [0x00D4, 0x0341], NFC: [0x1ED0], NFD: [0x004F, 0x0302, 0x0301], NFKC: [0x1ED0], NFKD: [0x004F, 0x0302, 0x0301] }, -{ source: [0x00F4, 0x0301], NFC: [0x1ED1], NFD: [0x006F, 0x0302, 0x0301], NFKC: [0x1ED1], NFKD: [0x006F, 0x0302, 0x0301] }, -{ source: [0x00F4, 0x0341], NFC: [0x1ED1], NFD: [0x006F, 0x0302, 0x0301], NFKC: [0x1ED1], NFKD: [0x006F, 0x0302, 0x0301] }, -{ source: [0x00D4, 0x0300], NFC: [0x1ED2], NFD: [0x004F, 0x0302, 0x0300], NFKC: [0x1ED2], NFKD: [0x004F, 0x0302, 0x0300] }, -{ source: [0x00D4, 0x0340], NFC: [0x1ED2], NFD: [0x004F, 0x0302, 0x0300], NFKC: [0x1ED2], NFKD: [0x004F, 0x0302, 0x0300] }, -{ source: [0x00F4, 0x0300], NFC: [0x1ED3], NFD: [0x006F, 0x0302, 0x0300], NFKC: [0x1ED3], NFKD: [0x006F, 0x0302, 0x0300] }, -{ source: [0x00F4, 0x0340], NFC: [0x1ED3], NFD: [0x006F, 0x0302, 0x0300], NFKC: [0x1ED3], NFKD: [0x006F, 0x0302, 0x0300] }, -{ source: [0x00D4, 0x0309], NFC: [0x1ED4], NFD: [0x004F, 0x0302, 0x0309], NFKC: [0x1ED4], NFKD: [0x004F, 0x0302, 0x0309] }, -{ source: [0x00F4, 0x0309], NFC: [0x1ED5], NFD: [0x006F, 0x0302, 0x0309], NFKC: [0x1ED5], NFKD: [0x006F, 0x0302, 0x0309] }, -{ source: [0x00D4, 0x0303], NFC: [0x1ED6], NFD: [0x004F, 0x0302, 0x0303], NFKC: [0x1ED6], NFKD: [0x004F, 0x0302, 0x0303] }, -{ source: [0x00F4, 0x0303], NFC: [0x1ED7], NFD: [0x006F, 0x0302, 0x0303], NFKC: [0x1ED7], NFKD: [0x006F, 0x0302, 0x0303] }, -{ source: [0x00D4, 0x0323], NFC: [0x1ED8], NFD: [0x004F, 0x0323, 0x0302], NFKC: [0x1ED8], NFKD: [0x004F, 0x0323, 0x0302] }, -{ source: [0x1ECC, 0x0302], NFC: [0x1ED8], NFD: [0x004F, 0x0323, 0x0302], NFKC: [0x1ED8], NFKD: [0x004F, 0x0323, 0x0302] }, -{ source: [0x00F4, 0x0323], NFC: [0x1ED9], NFD: [0x006F, 0x0323, 0x0302], NFKC: [0x1ED9], NFKD: [0x006F, 0x0323, 0x0302] }, -{ source: [0x1ECD, 0x0302], NFC: [0x1ED9], NFD: [0x006F, 0x0323, 0x0302], NFKC: [0x1ED9], NFKD: [0x006F, 0x0323, 0x0302] }, -{ source: [0x00D3, 0x031B], NFC: [0x1EDA], NFD: [0x004F, 0x031B, 0x0301], NFKC: [0x1EDA], NFKD: [0x004F, 0x031B, 0x0301] }, -{ source: [0x01A0, 0x0301], NFC: [0x1EDA], NFD: [0x004F, 0x031B, 0x0301], NFKC: [0x1EDA], NFKD: [0x004F, 0x031B, 0x0301] }, -{ source: [0x01A0, 0x0341], NFC: [0x1EDA], NFD: [0x004F, 0x031B, 0x0301], NFKC: [0x1EDA], NFKD: [0x004F, 0x031B, 0x0301] }, -{ source: [0x00F3, 0x031B], NFC: [0x1EDB], NFD: [0x006F, 0x031B, 0x0301], NFKC: [0x1EDB], NFKD: [0x006F, 0x031B, 0x0301] }, -{ source: [0x01A1, 0x0301], NFC: [0x1EDB], NFD: [0x006F, 0x031B, 0x0301], NFKC: [0x1EDB], NFKD: [0x006F, 0x031B, 0x0301] }, -{ source: [0x01A1, 0x0341], NFC: [0x1EDB], NFD: [0x006F, 0x031B, 0x0301], NFKC: [0x1EDB], NFKD: [0x006F, 0x031B, 0x0301] }, -{ source: [0x00D2, 0x031B], NFC: [0x1EDC], NFD: [0x004F, 0x031B, 0x0300], NFKC: [0x1EDC], NFKD: [0x004F, 0x031B, 0x0300] }, -{ source: [0x01A0, 0x0300], NFC: [0x1EDC], NFD: [0x004F, 0x031B, 0x0300], NFKC: [0x1EDC], NFKD: [0x004F, 0x031B, 0x0300] }, -{ source: [0x01A0, 0x0340], NFC: [0x1EDC], NFD: [0x004F, 0x031B, 0x0300], NFKC: [0x1EDC], NFKD: [0x004F, 0x031B, 0x0300] }, -{ source: [0x00F2, 0x031B], NFC: [0x1EDD], NFD: [0x006F, 0x031B, 0x0300], NFKC: [0x1EDD], NFKD: [0x006F, 0x031B, 0x0300] }, -{ source: [0x01A1, 0x0300], NFC: [0x1EDD], NFD: [0x006F, 0x031B, 0x0300], NFKC: [0x1EDD], NFKD: [0x006F, 0x031B, 0x0300] }, -{ source: [0x01A1, 0x0340], NFC: [0x1EDD], NFD: [0x006F, 0x031B, 0x0300], NFKC: [0x1EDD], NFKD: [0x006F, 0x031B, 0x0300] }, -{ source: [0x01A0, 0x0309], NFC: [0x1EDE], NFD: [0x004F, 0x031B, 0x0309], NFKC: [0x1EDE], NFKD: [0x004F, 0x031B, 0x0309] }, -{ source: [0x1ECE, 0x031B], NFC: [0x1EDE], NFD: [0x004F, 0x031B, 0x0309], NFKC: [0x1EDE], NFKD: [0x004F, 0x031B, 0x0309] }, -{ source: [0x01A1, 0x0309], NFC: [0x1EDF], NFD: [0x006F, 0x031B, 0x0309], NFKC: [0x1EDF], NFKD: [0x006F, 0x031B, 0x0309] }, -{ source: [0x1ECF, 0x031B], NFC: [0x1EDF], NFD: [0x006F, 0x031B, 0x0309], NFKC: [0x1EDF], NFKD: [0x006F, 0x031B, 0x0309] }, -{ source: [0x00D5, 0x031B], NFC: [0x1EE0], NFD: [0x004F, 0x031B, 0x0303], NFKC: [0x1EE0], NFKD: [0x004F, 0x031B, 0x0303] }, -{ source: [0x01A0, 0x0303], NFC: [0x1EE0], NFD: [0x004F, 0x031B, 0x0303], NFKC: [0x1EE0], NFKD: [0x004F, 0x031B, 0x0303] }, -{ source: [0x00F5, 0x031B], NFC: [0x1EE1], NFD: [0x006F, 0x031B, 0x0303], NFKC: [0x1EE1], NFKD: [0x006F, 0x031B, 0x0303] }, -{ source: [0x01A1, 0x0303], NFC: [0x1EE1], NFD: [0x006F, 0x031B, 0x0303], NFKC: [0x1EE1], NFKD: [0x006F, 0x031B, 0x0303] }, -{ source: [0x01A0, 0x0323], NFC: [0x1EE2], NFD: [0x004F, 0x031B, 0x0323], NFKC: [0x1EE2], NFKD: [0x004F, 0x031B, 0x0323] }, -{ source: [0x1ECC, 0x031B], NFC: [0x1EE2], NFD: [0x004F, 0x031B, 0x0323], NFKC: [0x1EE2], NFKD: [0x004F, 0x031B, 0x0323] }, -{ source: [0x01A1, 0x0323], NFC: [0x1EE3], NFD: [0x006F, 0x031B, 0x0323], NFKC: [0x1EE3], NFKD: [0x006F, 0x031B, 0x0323] }, -{ source: [0x1ECD, 0x031B], NFC: [0x1EE3], NFD: [0x006F, 0x031B, 0x0323], NFKC: [0x1EE3], NFKD: [0x006F, 0x031B, 0x0323] }, -{ source: [0x00DA, 0x031B], NFC: [0x1EE8], NFD: [0x0055, 0x031B, 0x0301], NFKC: [0x1EE8], NFKD: [0x0055, 0x031B, 0x0301] }, -{ source: [0x01AF, 0x0301], NFC: [0x1EE8], NFD: [0x0055, 0x031B, 0x0301], NFKC: [0x1EE8], NFKD: [0x0055, 0x031B, 0x0301] }, -{ source: [0x01AF, 0x0341], NFC: [0x1EE8], NFD: [0x0055, 0x031B, 0x0301], NFKC: [0x1EE8], NFKD: [0x0055, 0x031B, 0x0301] }, -{ source: [0x00FA, 0x031B], NFC: [0x1EE9], NFD: [0x0075, 0x031B, 0x0301], NFKC: [0x1EE9], NFKD: [0x0075, 0x031B, 0x0301] }, -{ source: [0x01B0, 0x0301], NFC: [0x1EE9], NFD: [0x0075, 0x031B, 0x0301], NFKC: [0x1EE9], NFKD: [0x0075, 0x031B, 0x0301] }, -{ source: [0x01B0, 0x0341], NFC: [0x1EE9], NFD: [0x0075, 0x031B, 0x0301], NFKC: [0x1EE9], NFKD: [0x0075, 0x031B, 0x0301] }, -{ source: [0x00D9, 0x031B], NFC: [0x1EEA], NFD: [0x0055, 0x031B, 0x0300], NFKC: [0x1EEA], NFKD: [0x0055, 0x031B, 0x0300] }, -{ source: [0x01AF, 0x0300], NFC: [0x1EEA], NFD: [0x0055, 0x031B, 0x0300], NFKC: [0x1EEA], NFKD: [0x0055, 0x031B, 0x0300] }, -{ source: [0x01AF, 0x0340], NFC: [0x1EEA], NFD: [0x0055, 0x031B, 0x0300], NFKC: [0x1EEA], NFKD: [0x0055, 0x031B, 0x0300] }, -{ source: [0x00F9, 0x031B], NFC: [0x1EEB], NFD: [0x0075, 0x031B, 0x0300], NFKC: [0x1EEB], NFKD: [0x0075, 0x031B, 0x0300] }, -{ source: [0x01B0, 0x0300], NFC: [0x1EEB], NFD: [0x0075, 0x031B, 0x0300], NFKC: [0x1EEB], NFKD: [0x0075, 0x031B, 0x0300] }, -{ source: [0x01B0, 0x0340], NFC: [0x1EEB], NFD: [0x0075, 0x031B, 0x0300], NFKC: [0x1EEB], NFKD: [0x0075, 0x031B, 0x0300] }, -{ source: [0x01AF, 0x0309], NFC: [0x1EEC], NFD: [0x0055, 0x031B, 0x0309], NFKC: [0x1EEC], NFKD: [0x0055, 0x031B, 0x0309] }, -{ source: [0x1EE6, 0x031B], NFC: [0x1EEC], NFD: [0x0055, 0x031B, 0x0309], NFKC: [0x1EEC], NFKD: [0x0055, 0x031B, 0x0309] }, -{ source: [0x01B0, 0x0309], NFC: [0x1EED], NFD: [0x0075, 0x031B, 0x0309], NFKC: [0x1EED], NFKD: [0x0075, 0x031B, 0x0309] }, -{ source: [0x1EE7, 0x031B], NFC: [0x1EED], NFD: [0x0075, 0x031B, 0x0309], NFKC: [0x1EED], NFKD: [0x0075, 0x031B, 0x0309] }, -{ source: [0x0168, 0x031B], NFC: [0x1EEE], NFD: [0x0055, 0x031B, 0x0303], NFKC: [0x1EEE], NFKD: [0x0055, 0x031B, 0x0303] }, -{ source: [0x01AF, 0x0303], NFC: [0x1EEE], NFD: [0x0055, 0x031B, 0x0303], NFKC: [0x1EEE], NFKD: [0x0055, 0x031B, 0x0303] }, -{ source: [0x0169, 0x031B], NFC: [0x1EEF], NFD: [0x0075, 0x031B, 0x0303], NFKC: [0x1EEF], NFKD: [0x0075, 0x031B, 0x0303] }, -{ source: [0x01B0, 0x0303], NFC: [0x1EEF], NFD: [0x0075, 0x031B, 0x0303], NFKC: [0x1EEF], NFKD: [0x0075, 0x031B, 0x0303] }, -{ source: [0x01AF, 0x0323], NFC: [0x1EF0], NFD: [0x0055, 0x031B, 0x0323], NFKC: [0x1EF0], NFKD: [0x0055, 0x031B, 0x0323] }, -{ source: [0x1EE4, 0x031B], NFC: [0x1EF0], NFD: [0x0055, 0x031B, 0x0323], NFKC: [0x1EF0], NFKD: [0x0055, 0x031B, 0x0323] }, -{ source: [0x01B0, 0x0323], NFC: [0x1EF1], NFD: [0x0075, 0x031B, 0x0323], NFKC: [0x1EF1], NFKD: [0x0075, 0x031B, 0x0323] }, -{ source: [0x1EE5, 0x031B], NFC: [0x1EF1], NFD: [0x0075, 0x031B, 0x0323], NFKC: [0x1EF1], NFKD: [0x0075, 0x031B, 0x0323] }, -{ source: [0x1F00, 0x0300], NFC: [0x1F02], NFD: [0x03B1, 0x0313, 0x0300], NFKC: [0x1F02], NFKD: [0x03B1, 0x0313, 0x0300] }, -{ source: [0x1F00, 0x0340], NFC: [0x1F02], NFD: [0x03B1, 0x0313, 0x0300], NFKC: [0x1F02], NFKD: [0x03B1, 0x0313, 0x0300] }, -{ source: [0x1F01, 0x0300], NFC: [0x1F03], NFD: [0x03B1, 0x0314, 0x0300], NFKC: [0x1F03], NFKD: [0x03B1, 0x0314, 0x0300] }, -{ source: [0x1F01, 0x0340], NFC: [0x1F03], NFD: [0x03B1, 0x0314, 0x0300], NFKC: [0x1F03], NFKD: [0x03B1, 0x0314, 0x0300] }, -{ source: [0x1F00, 0x0301], NFC: [0x1F04], NFD: [0x03B1, 0x0313, 0x0301], NFKC: [0x1F04], NFKD: [0x03B1, 0x0313, 0x0301] }, -{ source: [0x1F00, 0x0341], NFC: [0x1F04], NFD: [0x03B1, 0x0313, 0x0301], NFKC: [0x1F04], NFKD: [0x03B1, 0x0313, 0x0301] }, -{ source: [0x1F01, 0x0301], NFC: [0x1F05], NFD: [0x03B1, 0x0314, 0x0301], NFKC: [0x1F05], NFKD: [0x03B1, 0x0314, 0x0301] }, -{ source: [0x1F01, 0x0341], NFC: [0x1F05], NFD: [0x03B1, 0x0314, 0x0301], NFKC: [0x1F05], NFKD: [0x03B1, 0x0314, 0x0301] }, -{ source: [0x1F00, 0x0342], NFC: [0x1F06], NFD: [0x03B1, 0x0313, 0x0342], NFKC: [0x1F06], NFKD: [0x03B1, 0x0313, 0x0342] }, -{ source: [0x1F01, 0x0342], NFC: [0x1F07], NFD: [0x03B1, 0x0314, 0x0342], NFKC: [0x1F07], NFKD: [0x03B1, 0x0314, 0x0342] }, -{ source: [0x1F08, 0x0300], NFC: [0x1F0A], NFD: [0x0391, 0x0313, 0x0300], NFKC: [0x1F0A], NFKD: [0x0391, 0x0313, 0x0300] }, -{ source: [0x1F08, 0x0340], NFC: [0x1F0A], NFD: [0x0391, 0x0313, 0x0300], NFKC: [0x1F0A], NFKD: [0x0391, 0x0313, 0x0300] }, -{ source: [0x1F09, 0x0300], NFC: [0x1F0B], NFD: [0x0391, 0x0314, 0x0300], NFKC: [0x1F0B], NFKD: [0x0391, 0x0314, 0x0300] }, -{ source: [0x1F09, 0x0340], NFC: [0x1F0B], NFD: [0x0391, 0x0314, 0x0300], NFKC: [0x1F0B], NFKD: [0x0391, 0x0314, 0x0300] }, -{ source: [0x1F08, 0x0301], NFC: [0x1F0C], NFD: [0x0391, 0x0313, 0x0301], NFKC: [0x1F0C], NFKD: [0x0391, 0x0313, 0x0301] }, -{ source: [0x1F08, 0x0341], NFC: [0x1F0C], NFD: [0x0391, 0x0313, 0x0301], NFKC: [0x1F0C], NFKD: [0x0391, 0x0313, 0x0301] }, -{ source: [0x1F09, 0x0301], NFC: [0x1F0D], NFD: [0x0391, 0x0314, 0x0301], NFKC: [0x1F0D], NFKD: [0x0391, 0x0314, 0x0301] }, -{ source: [0x1F09, 0x0341], NFC: [0x1F0D], NFD: [0x0391, 0x0314, 0x0301], NFKC: [0x1F0D], NFKD: [0x0391, 0x0314, 0x0301] }, -{ source: [0x1F08, 0x0342], NFC: [0x1F0E], NFD: [0x0391, 0x0313, 0x0342], NFKC: [0x1F0E], NFKD: [0x0391, 0x0313, 0x0342] }, -{ source: [0x1F09, 0x0342], NFC: [0x1F0F], NFD: [0x0391, 0x0314, 0x0342], NFKC: [0x1F0F], NFKD: [0x0391, 0x0314, 0x0342] }, -{ source: [0x1F10, 0x0300], NFC: [0x1F12], NFD: [0x03B5, 0x0313, 0x0300], NFKC: [0x1F12], NFKD: [0x03B5, 0x0313, 0x0300] }, -{ source: [0x1F10, 0x0340], NFC: [0x1F12], NFD: [0x03B5, 0x0313, 0x0300], NFKC: [0x1F12], NFKD: [0x03B5, 0x0313, 0x0300] }, -{ source: [0x1F11, 0x0300], NFC: [0x1F13], NFD: [0x03B5, 0x0314, 0x0300], NFKC: [0x1F13], NFKD: [0x03B5, 0x0314, 0x0300] }, -{ source: [0x1F11, 0x0340], NFC: [0x1F13], NFD: [0x03B5, 0x0314, 0x0300], NFKC: [0x1F13], NFKD: [0x03B5, 0x0314, 0x0300] }, -{ source: [0x1F10, 0x0301], NFC: [0x1F14], NFD: [0x03B5, 0x0313, 0x0301], NFKC: [0x1F14], NFKD: [0x03B5, 0x0313, 0x0301] }, -{ source: [0x1F10, 0x0341], NFC: [0x1F14], NFD: [0x03B5, 0x0313, 0x0301], NFKC: [0x1F14], NFKD: [0x03B5, 0x0313, 0x0301] }, -{ source: [0x1F11, 0x0301], NFC: [0x1F15], NFD: [0x03B5, 0x0314, 0x0301], NFKC: [0x1F15], NFKD: [0x03B5, 0x0314, 0x0301] }, -{ source: [0x1F11, 0x0341], NFC: [0x1F15], NFD: [0x03B5, 0x0314, 0x0301], NFKC: [0x1F15], NFKD: [0x03B5, 0x0314, 0x0301] }, -{ source: [0x1F18, 0x0300], NFC: [0x1F1A], NFD: [0x0395, 0x0313, 0x0300], NFKC: [0x1F1A], NFKD: [0x0395, 0x0313, 0x0300] }, -{ source: [0x1F18, 0x0340], NFC: [0x1F1A], NFD: [0x0395, 0x0313, 0x0300], NFKC: [0x1F1A], NFKD: [0x0395, 0x0313, 0x0300] }, -{ source: [0x1F19, 0x0300], NFC: [0x1F1B], NFD: [0x0395, 0x0314, 0x0300], NFKC: [0x1F1B], NFKD: [0x0395, 0x0314, 0x0300] }, -{ source: [0x1F19, 0x0340], NFC: [0x1F1B], NFD: [0x0395, 0x0314, 0x0300], NFKC: [0x1F1B], NFKD: [0x0395, 0x0314, 0x0300] }, -{ source: [0x1F18, 0x0301], NFC: [0x1F1C], NFD: [0x0395, 0x0313, 0x0301], NFKC: [0x1F1C], NFKD: [0x0395, 0x0313, 0x0301] }, -{ source: [0x1F18, 0x0341], NFC: [0x1F1C], NFD: [0x0395, 0x0313, 0x0301], NFKC: [0x1F1C], NFKD: [0x0395, 0x0313, 0x0301] }, -{ source: [0x1F19, 0x0301], NFC: [0x1F1D], NFD: [0x0395, 0x0314, 0x0301], NFKC: [0x1F1D], NFKD: [0x0395, 0x0314, 0x0301] }, -{ source: [0x1F19, 0x0341], NFC: [0x1F1D], NFD: [0x0395, 0x0314, 0x0301], NFKC: [0x1F1D], NFKD: [0x0395, 0x0314, 0x0301] }, -{ source: [0x1F20, 0x0300], NFC: [0x1F22], NFD: [0x03B7, 0x0313, 0x0300], NFKC: [0x1F22], NFKD: [0x03B7, 0x0313, 0x0300] }, -{ source: [0x1F20, 0x0340], NFC: [0x1F22], NFD: [0x03B7, 0x0313, 0x0300], NFKC: [0x1F22], NFKD: [0x03B7, 0x0313, 0x0300] }, -{ source: [0x1F21, 0x0300], NFC: [0x1F23], NFD: [0x03B7, 0x0314, 0x0300], NFKC: [0x1F23], NFKD: [0x03B7, 0x0314, 0x0300] }, -{ source: [0x1F21, 0x0340], NFC: [0x1F23], NFD: [0x03B7, 0x0314, 0x0300], NFKC: [0x1F23], NFKD: [0x03B7, 0x0314, 0x0300] }, -{ source: [0x1F20, 0x0301], NFC: [0x1F24], NFD: [0x03B7, 0x0313, 0x0301], NFKC: [0x1F24], NFKD: [0x03B7, 0x0313, 0x0301] }, -{ source: [0x1F20, 0x0341], NFC: [0x1F24], NFD: [0x03B7, 0x0313, 0x0301], NFKC: [0x1F24], NFKD: [0x03B7, 0x0313, 0x0301] }, -{ source: [0x1F21, 0x0301], NFC: [0x1F25], NFD: [0x03B7, 0x0314, 0x0301], NFKC: [0x1F25], NFKD: [0x03B7, 0x0314, 0x0301] }, -{ source: [0x1F21, 0x0341], NFC: [0x1F25], NFD: [0x03B7, 0x0314, 0x0301], NFKC: [0x1F25], NFKD: [0x03B7, 0x0314, 0x0301] }, -{ source: [0x1F20, 0x0342], NFC: [0x1F26], NFD: [0x03B7, 0x0313, 0x0342], NFKC: [0x1F26], NFKD: [0x03B7, 0x0313, 0x0342] }, -{ source: [0x1F21, 0x0342], NFC: [0x1F27], NFD: [0x03B7, 0x0314, 0x0342], NFKC: [0x1F27], NFKD: [0x03B7, 0x0314, 0x0342] }, -{ source: [0x1F28, 0x0300], NFC: [0x1F2A], NFD: [0x0397, 0x0313, 0x0300], NFKC: [0x1F2A], NFKD: [0x0397, 0x0313, 0x0300] }, -{ source: [0x1F28, 0x0340], NFC: [0x1F2A], NFD: [0x0397, 0x0313, 0x0300], NFKC: [0x1F2A], NFKD: [0x0397, 0x0313, 0x0300] }, -{ source: [0x1F29, 0x0300], NFC: [0x1F2B], NFD: [0x0397, 0x0314, 0x0300], NFKC: [0x1F2B], NFKD: [0x0397, 0x0314, 0x0300] }, -{ source: [0x1F29, 0x0340], NFC: [0x1F2B], NFD: [0x0397, 0x0314, 0x0300], NFKC: [0x1F2B], NFKD: [0x0397, 0x0314, 0x0300] }, -{ source: [0x1F28, 0x0301], NFC: [0x1F2C], NFD: [0x0397, 0x0313, 0x0301], NFKC: [0x1F2C], NFKD: [0x0397, 0x0313, 0x0301] }, -{ source: [0x1F28, 0x0341], NFC: [0x1F2C], NFD: [0x0397, 0x0313, 0x0301], NFKC: [0x1F2C], NFKD: [0x0397, 0x0313, 0x0301] }, -{ source: [0x1F29, 0x0301], NFC: [0x1F2D], NFD: [0x0397, 0x0314, 0x0301], NFKC: [0x1F2D], NFKD: [0x0397, 0x0314, 0x0301] }, -{ source: [0x1F29, 0x0341], NFC: [0x1F2D], NFD: [0x0397, 0x0314, 0x0301], NFKC: [0x1F2D], NFKD: [0x0397, 0x0314, 0x0301] }, -{ source: [0x1F28, 0x0342], NFC: [0x1F2E], NFD: [0x0397, 0x0313, 0x0342], NFKC: [0x1F2E], NFKD: [0x0397, 0x0313, 0x0342] }, -{ source: [0x1F29, 0x0342], NFC: [0x1F2F], NFD: [0x0397, 0x0314, 0x0342], NFKC: [0x1F2F], NFKD: [0x0397, 0x0314, 0x0342] }, -{ source: [0x1F30, 0x0300], NFC: [0x1F32], NFD: [0x03B9, 0x0313, 0x0300], NFKC: [0x1F32], NFKD: [0x03B9, 0x0313, 0x0300] }, -{ source: [0x1F30, 0x0340], NFC: [0x1F32], NFD: [0x03B9, 0x0313, 0x0300], NFKC: [0x1F32], NFKD: [0x03B9, 0x0313, 0x0300] }, -{ source: [0x1F31, 0x0300], NFC: [0x1F33], NFD: [0x03B9, 0x0314, 0x0300], NFKC: [0x1F33], NFKD: [0x03B9, 0x0314, 0x0300] }, -{ source: [0x1F31, 0x0340], NFC: [0x1F33], NFD: [0x03B9, 0x0314, 0x0300], NFKC: [0x1F33], NFKD: [0x03B9, 0x0314, 0x0300] }, -{ source: [0x1F30, 0x0301], NFC: [0x1F34], NFD: [0x03B9, 0x0313, 0x0301], NFKC: [0x1F34], NFKD: [0x03B9, 0x0313, 0x0301] }, -{ source: [0x1F30, 0x0341], NFC: [0x1F34], NFD: [0x03B9, 0x0313, 0x0301], NFKC: [0x1F34], NFKD: [0x03B9, 0x0313, 0x0301] }, -{ source: [0x1F31, 0x0301], NFC: [0x1F35], NFD: [0x03B9, 0x0314, 0x0301], NFKC: [0x1F35], NFKD: [0x03B9, 0x0314, 0x0301] }, -{ source: [0x1F31, 0x0341], NFC: [0x1F35], NFD: [0x03B9, 0x0314, 0x0301], NFKC: [0x1F35], NFKD: [0x03B9, 0x0314, 0x0301] }, -{ source: [0x1F30, 0x0342], NFC: [0x1F36], NFD: [0x03B9, 0x0313, 0x0342], NFKC: [0x1F36], NFKD: [0x03B9, 0x0313, 0x0342] }, -{ source: [0x1F31, 0x0342], NFC: [0x1F37], NFD: [0x03B9, 0x0314, 0x0342], NFKC: [0x1F37], NFKD: [0x03B9, 0x0314, 0x0342] }, -{ source: [0x1F38, 0x0300], NFC: [0x1F3A], NFD: [0x0399, 0x0313, 0x0300], NFKC: [0x1F3A], NFKD: [0x0399, 0x0313, 0x0300] }, -{ source: [0x1F38, 0x0340], NFC: [0x1F3A], NFD: [0x0399, 0x0313, 0x0300], NFKC: [0x1F3A], NFKD: [0x0399, 0x0313, 0x0300] }, -{ source: [0x1F39, 0x0300], NFC: [0x1F3B], NFD: [0x0399, 0x0314, 0x0300], NFKC: [0x1F3B], NFKD: [0x0399, 0x0314, 0x0300] }, -{ source: [0x1F39, 0x0340], NFC: [0x1F3B], NFD: [0x0399, 0x0314, 0x0300], NFKC: [0x1F3B], NFKD: [0x0399, 0x0314, 0x0300] }, -{ source: [0x1F38, 0x0301], NFC: [0x1F3C], NFD: [0x0399, 0x0313, 0x0301], NFKC: [0x1F3C], NFKD: [0x0399, 0x0313, 0x0301] }, -{ source: [0x1F38, 0x0341], NFC: [0x1F3C], NFD: [0x0399, 0x0313, 0x0301], NFKC: [0x1F3C], NFKD: [0x0399, 0x0313, 0x0301] }, -{ source: [0x1F39, 0x0301], NFC: [0x1F3D], NFD: [0x0399, 0x0314, 0x0301], NFKC: [0x1F3D], NFKD: [0x0399, 0x0314, 0x0301] }, -{ source: [0x1F39, 0x0341], NFC: [0x1F3D], NFD: [0x0399, 0x0314, 0x0301], NFKC: [0x1F3D], NFKD: [0x0399, 0x0314, 0x0301] }, -{ source: [0x1F38, 0x0342], NFC: [0x1F3E], NFD: [0x0399, 0x0313, 0x0342], NFKC: [0x1F3E], NFKD: [0x0399, 0x0313, 0x0342] }, -{ source: [0x1F39, 0x0342], NFC: [0x1F3F], NFD: [0x0399, 0x0314, 0x0342], NFKC: [0x1F3F], NFKD: [0x0399, 0x0314, 0x0342] }, -{ source: [0x1F40, 0x0300], NFC: [0x1F42], NFD: [0x03BF, 0x0313, 0x0300], NFKC: [0x1F42], NFKD: [0x03BF, 0x0313, 0x0300] }, -{ source: [0x1F40, 0x0340], NFC: [0x1F42], NFD: [0x03BF, 0x0313, 0x0300], NFKC: [0x1F42], NFKD: [0x03BF, 0x0313, 0x0300] }, -{ source: [0x1F41, 0x0300], NFC: [0x1F43], NFD: [0x03BF, 0x0314, 0x0300], NFKC: [0x1F43], NFKD: [0x03BF, 0x0314, 0x0300] }, -{ source: [0x1F41, 0x0340], NFC: [0x1F43], NFD: [0x03BF, 0x0314, 0x0300], NFKC: [0x1F43], NFKD: [0x03BF, 0x0314, 0x0300] }, -{ source: [0x1F40, 0x0301], NFC: [0x1F44], NFD: [0x03BF, 0x0313, 0x0301], NFKC: [0x1F44], NFKD: [0x03BF, 0x0313, 0x0301] }, -{ source: [0x1F40, 0x0341], NFC: [0x1F44], NFD: [0x03BF, 0x0313, 0x0301], NFKC: [0x1F44], NFKD: [0x03BF, 0x0313, 0x0301] }, -{ source: [0x1F41, 0x0301], NFC: [0x1F45], NFD: [0x03BF, 0x0314, 0x0301], NFKC: [0x1F45], NFKD: [0x03BF, 0x0314, 0x0301] }, -{ source: [0x1F41, 0x0341], NFC: [0x1F45], NFD: [0x03BF, 0x0314, 0x0301], NFKC: [0x1F45], NFKD: [0x03BF, 0x0314, 0x0301] }, -{ source: [0x1F48, 0x0300], NFC: [0x1F4A], NFD: [0x039F, 0x0313, 0x0300], NFKC: [0x1F4A], NFKD: [0x039F, 0x0313, 0x0300] }, -{ source: [0x1F48, 0x0340], NFC: [0x1F4A], NFD: [0x039F, 0x0313, 0x0300], NFKC: [0x1F4A], NFKD: [0x039F, 0x0313, 0x0300] }, -{ source: [0x1F49, 0x0300], NFC: [0x1F4B], NFD: [0x039F, 0x0314, 0x0300], NFKC: [0x1F4B], NFKD: [0x039F, 0x0314, 0x0300] }, -{ source: [0x1F49, 0x0340], NFC: [0x1F4B], NFD: [0x039F, 0x0314, 0x0300], NFKC: [0x1F4B], NFKD: [0x039F, 0x0314, 0x0300] }, -{ source: [0x1F48, 0x0301], NFC: [0x1F4C], NFD: [0x039F, 0x0313, 0x0301], NFKC: [0x1F4C], NFKD: [0x039F, 0x0313, 0x0301] }, -{ source: [0x1F48, 0x0341], NFC: [0x1F4C], NFD: [0x039F, 0x0313, 0x0301], NFKC: [0x1F4C], NFKD: [0x039F, 0x0313, 0x0301] }, -{ source: [0x1F49, 0x0301], NFC: [0x1F4D], NFD: [0x039F, 0x0314, 0x0301], NFKC: [0x1F4D], NFKD: [0x039F, 0x0314, 0x0301] }, -{ source: [0x1F49, 0x0341], NFC: [0x1F4D], NFD: [0x039F, 0x0314, 0x0301], NFKC: [0x1F4D], NFKD: [0x039F, 0x0314, 0x0301] }, -{ source: [0x1F50, 0x0300], NFC: [0x1F52], NFD: [0x03C5, 0x0313, 0x0300], NFKC: [0x1F52], NFKD: [0x03C5, 0x0313, 0x0300] }, -{ source: [0x1F50, 0x0340], NFC: [0x1F52], NFD: [0x03C5, 0x0313, 0x0300], NFKC: [0x1F52], NFKD: [0x03C5, 0x0313, 0x0300] }, -{ source: [0x1F51, 0x0300], NFC: [0x1F53], NFD: [0x03C5, 0x0314, 0x0300], NFKC: [0x1F53], NFKD: [0x03C5, 0x0314, 0x0300] }, -{ source: [0x1F51, 0x0340], NFC: [0x1F53], NFD: [0x03C5, 0x0314, 0x0300], NFKC: [0x1F53], NFKD: [0x03C5, 0x0314, 0x0300] }, -{ source: [0x1F50, 0x0301], NFC: [0x1F54], NFD: [0x03C5, 0x0313, 0x0301], NFKC: [0x1F54], NFKD: [0x03C5, 0x0313, 0x0301] }, -{ source: [0x1F50, 0x0341], NFC: [0x1F54], NFD: [0x03C5, 0x0313, 0x0301], NFKC: [0x1F54], NFKD: [0x03C5, 0x0313, 0x0301] }, -{ source: [0x1F51, 0x0301], NFC: [0x1F55], NFD: [0x03C5, 0x0314, 0x0301], NFKC: [0x1F55], NFKD: [0x03C5, 0x0314, 0x0301] }, -{ source: [0x1F51, 0x0341], NFC: [0x1F55], NFD: [0x03C5, 0x0314, 0x0301], NFKC: [0x1F55], NFKD: [0x03C5, 0x0314, 0x0301] }, -{ source: [0x1F50, 0x0342], NFC: [0x1F56], NFD: [0x03C5, 0x0313, 0x0342], NFKC: [0x1F56], NFKD: [0x03C5, 0x0313, 0x0342] }, -{ source: [0x1F51, 0x0342], NFC: [0x1F57], NFD: [0x03C5, 0x0314, 0x0342], NFKC: [0x1F57], NFKD: [0x03C5, 0x0314, 0x0342] }, -{ source: [0x1F59, 0x0300], NFC: [0x1F5B], NFD: [0x03A5, 0x0314, 0x0300], NFKC: [0x1F5B], NFKD: [0x03A5, 0x0314, 0x0300] }, -{ source: [0x1F59, 0x0340], NFC: [0x1F5B], NFD: [0x03A5, 0x0314, 0x0300], NFKC: [0x1F5B], NFKD: [0x03A5, 0x0314, 0x0300] }, -{ source: [0x1F59, 0x0301], NFC: [0x1F5D], NFD: [0x03A5, 0x0314, 0x0301], NFKC: [0x1F5D], NFKD: [0x03A5, 0x0314, 0x0301] }, -{ source: [0x1F59, 0x0341], NFC: [0x1F5D], NFD: [0x03A5, 0x0314, 0x0301], NFKC: [0x1F5D], NFKD: [0x03A5, 0x0314, 0x0301] }, -{ source: [0x1F59, 0x0342], NFC: [0x1F5F], NFD: [0x03A5, 0x0314, 0x0342], NFKC: [0x1F5F], NFKD: [0x03A5, 0x0314, 0x0342] }, -{ source: [0x1F60, 0x0300], NFC: [0x1F62], NFD: [0x03C9, 0x0313, 0x0300], NFKC: [0x1F62], NFKD: [0x03C9, 0x0313, 0x0300] }, -{ source: [0x1F60, 0x0340], NFC: [0x1F62], NFD: [0x03C9, 0x0313, 0x0300], NFKC: [0x1F62], NFKD: [0x03C9, 0x0313, 0x0300] }, -{ source: [0x1F61, 0x0300], NFC: [0x1F63], NFD: [0x03C9, 0x0314, 0x0300], NFKC: [0x1F63], NFKD: [0x03C9, 0x0314, 0x0300] }, -{ source: [0x1F61, 0x0340], NFC: [0x1F63], NFD: [0x03C9, 0x0314, 0x0300], NFKC: [0x1F63], NFKD: [0x03C9, 0x0314, 0x0300] }, -{ source: [0x1F60, 0x0301], NFC: [0x1F64], NFD: [0x03C9, 0x0313, 0x0301], NFKC: [0x1F64], NFKD: [0x03C9, 0x0313, 0x0301] }, -{ source: [0x1F60, 0x0341], NFC: [0x1F64], NFD: [0x03C9, 0x0313, 0x0301], NFKC: [0x1F64], NFKD: [0x03C9, 0x0313, 0x0301] }, -{ source: [0x1F61, 0x0301], NFC: [0x1F65], NFD: [0x03C9, 0x0314, 0x0301], NFKC: [0x1F65], NFKD: [0x03C9, 0x0314, 0x0301] }, -{ source: [0x1F61, 0x0341], NFC: [0x1F65], NFD: [0x03C9, 0x0314, 0x0301], NFKC: [0x1F65], NFKD: [0x03C9, 0x0314, 0x0301] }, -{ source: [0x1F60, 0x0342], NFC: [0x1F66], NFD: [0x03C9, 0x0313, 0x0342], NFKC: [0x1F66], NFKD: [0x03C9, 0x0313, 0x0342] }, -{ source: [0x1F61, 0x0342], NFC: [0x1F67], NFD: [0x03C9, 0x0314, 0x0342], NFKC: [0x1F67], NFKD: [0x03C9, 0x0314, 0x0342] }, -{ source: [0x1F68, 0x0300], NFC: [0x1F6A], NFD: [0x03A9, 0x0313, 0x0300], NFKC: [0x1F6A], NFKD: [0x03A9, 0x0313, 0x0300] }, -{ source: [0x1F68, 0x0340], NFC: [0x1F6A], NFD: [0x03A9, 0x0313, 0x0300], NFKC: [0x1F6A], NFKD: [0x03A9, 0x0313, 0x0300] }, -{ source: [0x1F69, 0x0300], NFC: [0x1F6B], NFD: [0x03A9, 0x0314, 0x0300], NFKC: [0x1F6B], NFKD: [0x03A9, 0x0314, 0x0300] }, -{ source: [0x1F69, 0x0340], NFC: [0x1F6B], NFD: [0x03A9, 0x0314, 0x0300], NFKC: [0x1F6B], NFKD: [0x03A9, 0x0314, 0x0300] }, -{ source: [0x1F68, 0x0301], NFC: [0x1F6C], NFD: [0x03A9, 0x0313, 0x0301], NFKC: [0x1F6C], NFKD: [0x03A9, 0x0313, 0x0301] }, -{ source: [0x1F68, 0x0341], NFC: [0x1F6C], NFD: [0x03A9, 0x0313, 0x0301], NFKC: [0x1F6C], NFKD: [0x03A9, 0x0313, 0x0301] }, -{ source: [0x1F69, 0x0301], NFC: [0x1F6D], NFD: [0x03A9, 0x0314, 0x0301], NFKC: [0x1F6D], NFKD: [0x03A9, 0x0314, 0x0301] }, -{ source: [0x1F69, 0x0341], NFC: [0x1F6D], NFD: [0x03A9, 0x0314, 0x0301], NFKC: [0x1F6D], NFKD: [0x03A9, 0x0314, 0x0301] }, -{ source: [0x1F68, 0x0342], NFC: [0x1F6E], NFD: [0x03A9, 0x0313, 0x0342], NFKC: [0x1F6E], NFKD: [0x03A9, 0x0313, 0x0342] }, -{ source: [0x1F69, 0x0342], NFC: [0x1F6F], NFD: [0x03A9, 0x0314, 0x0342], NFKC: [0x1F6F], NFKD: [0x03A9, 0x0314, 0x0342] }, -{ source: [0x1F00, 0x0345], NFC: [0x1F80], NFD: [0x03B1, 0x0313, 0x0345], NFKC: [0x1F80], NFKD: [0x03B1, 0x0313, 0x0345] }, -{ source: [0x1FB3, 0x0313], NFC: [0x1F80], NFD: [0x03B1, 0x0313, 0x0345], NFKC: [0x1F80], NFKD: [0x03B1, 0x0313, 0x0345] }, -{ source: [0x1FB3, 0x0343], NFC: [0x1F80], NFD: [0x03B1, 0x0313, 0x0345], NFKC: [0x1F80], NFKD: [0x03B1, 0x0313, 0x0345] }, -{ source: [0x1F01, 0x0345], NFC: [0x1F81], NFD: [0x03B1, 0x0314, 0x0345], NFKC: [0x1F81], NFKD: [0x03B1, 0x0314, 0x0345] }, -{ source: [0x1FB3, 0x0314], NFC: [0x1F81], NFD: [0x03B1, 0x0314, 0x0345], NFKC: [0x1F81], NFKD: [0x03B1, 0x0314, 0x0345] }, -{ source: [0x1F02, 0x0345], NFC: [0x1F82], NFD: [0x03B1, 0x0313, 0x0300, 0x0345], NFKC: [0x1F82], NFKD: [0x03B1, 0x0313, 0x0300, 0x0345] }, -{ source: [0x1F80, 0x0300], NFC: [0x1F82], NFD: [0x03B1, 0x0313, 0x0300, 0x0345], NFKC: [0x1F82], NFKD: [0x03B1, 0x0313, 0x0300, 0x0345] }, -{ source: [0x1F80, 0x0340], NFC: [0x1F82], NFD: [0x03B1, 0x0313, 0x0300, 0x0345], NFKC: [0x1F82], NFKD: [0x03B1, 0x0313, 0x0300, 0x0345] }, -{ source: [0x1F00, 0x0300, 0x0345], NFC: [0x1F82], NFD: [0x03B1, 0x0313, 0x0300, 0x0345], NFKC: [0x1F82], NFKD: [0x03B1, 0x0313, 0x0300, 0x0345] }, -{ source: [0x1F00, 0x0340, 0x0345], NFC: [0x1F82], NFD: [0x03B1, 0x0313, 0x0300, 0x0345], NFKC: [0x1F82], NFKD: [0x03B1, 0x0313, 0x0300, 0x0345] }, -{ source: [0x1F00, 0x0345, 0x0300], NFC: [0x1F82], NFD: [0x03B1, 0x0313, 0x0300, 0x0345], NFKC: [0x1F82], NFKD: [0x03B1, 0x0313, 0x0300, 0x0345] }, -{ source: [0x1F00, 0x0345, 0x0340], NFC: [0x1F82], NFD: [0x03B1, 0x0313, 0x0300, 0x0345], NFKC: [0x1F82], NFKD: [0x03B1, 0x0313, 0x0300, 0x0345] }, -{ source: [0x1FB3, 0x0313, 0x0300], NFC: [0x1F82], NFD: [0x03B1, 0x0313, 0x0300, 0x0345], NFKC: [0x1F82], NFKD: [0x03B1, 0x0313, 0x0300, 0x0345] }, -{ source: [0x1FB3, 0x0313, 0x0340], NFC: [0x1F82], NFD: [0x03B1, 0x0313, 0x0300, 0x0345], NFKC: [0x1F82], NFKD: [0x03B1, 0x0313, 0x0300, 0x0345] }, -{ source: [0x1FB3, 0x0343, 0x0300], NFC: [0x1F82], NFD: [0x03B1, 0x0313, 0x0300, 0x0345], NFKC: [0x1F82], NFKD: [0x03B1, 0x0313, 0x0300, 0x0345] }, -{ source: [0x1FB3, 0x0343, 0x0340], NFC: [0x1F82], NFD: [0x03B1, 0x0313, 0x0300, 0x0345], NFKC: [0x1F82], NFKD: [0x03B1, 0x0313, 0x0300, 0x0345] }, -{ source: [0x1F03, 0x0345], NFC: [0x1F83], NFD: [0x03B1, 0x0314, 0x0300, 0x0345], NFKC: [0x1F83], NFKD: [0x03B1, 0x0314, 0x0300, 0x0345] }, -{ source: [0x1F81, 0x0300], NFC: [0x1F83], NFD: [0x03B1, 0x0314, 0x0300, 0x0345], NFKC: [0x1F83], NFKD: [0x03B1, 0x0314, 0x0300, 0x0345] }, -{ source: [0x1F81, 0x0340], NFC: [0x1F83], NFD: [0x03B1, 0x0314, 0x0300, 0x0345], NFKC: [0x1F83], NFKD: [0x03B1, 0x0314, 0x0300, 0x0345] }, -{ source: [0x1F01, 0x0300, 0x0345], NFC: [0x1F83], NFD: [0x03B1, 0x0314, 0x0300, 0x0345], NFKC: [0x1F83], NFKD: [0x03B1, 0x0314, 0x0300, 0x0345] }, -{ source: [0x1F01, 0x0340, 0x0345], NFC: [0x1F83], NFD: [0x03B1, 0x0314, 0x0300, 0x0345], NFKC: [0x1F83], NFKD: [0x03B1, 0x0314, 0x0300, 0x0345] }, -{ source: [0x1F01, 0x0345, 0x0300], NFC: [0x1F83], NFD: [0x03B1, 0x0314, 0x0300, 0x0345], NFKC: [0x1F83], NFKD: [0x03B1, 0x0314, 0x0300, 0x0345] }, -{ source: [0x1F01, 0x0345, 0x0340], NFC: [0x1F83], NFD: [0x03B1, 0x0314, 0x0300, 0x0345], NFKC: [0x1F83], NFKD: [0x03B1, 0x0314, 0x0300, 0x0345] }, -{ source: [0x1FB3, 0x0314, 0x0300], NFC: [0x1F83], NFD: [0x03B1, 0x0314, 0x0300, 0x0345], NFKC: [0x1F83], NFKD: [0x03B1, 0x0314, 0x0300, 0x0345] }, -{ source: [0x1FB3, 0x0314, 0x0340], NFC: [0x1F83], NFD: [0x03B1, 0x0314, 0x0300, 0x0345], NFKC: [0x1F83], NFKD: [0x03B1, 0x0314, 0x0300, 0x0345] }, -{ source: [0x1F04, 0x0345], NFC: [0x1F84], NFD: [0x03B1, 0x0313, 0x0301, 0x0345], NFKC: [0x1F84], NFKD: [0x03B1, 0x0313, 0x0301, 0x0345] }, -{ source: [0x1F80, 0x0301], NFC: [0x1F84], NFD: [0x03B1, 0x0313, 0x0301, 0x0345], NFKC: [0x1F84], NFKD: [0x03B1, 0x0313, 0x0301, 0x0345] }, -{ source: [0x1F80, 0x0341], NFC: [0x1F84], NFD: [0x03B1, 0x0313, 0x0301, 0x0345], NFKC: [0x1F84], NFKD: [0x03B1, 0x0313, 0x0301, 0x0345] }, -{ source: [0x1F00, 0x0301, 0x0345], NFC: [0x1F84], NFD: [0x03B1, 0x0313, 0x0301, 0x0345], NFKC: [0x1F84], NFKD: [0x03B1, 0x0313, 0x0301, 0x0345] }, -{ source: [0x1F00, 0x0341, 0x0345], NFC: [0x1F84], NFD: [0x03B1, 0x0313, 0x0301, 0x0345], NFKC: [0x1F84], NFKD: [0x03B1, 0x0313, 0x0301, 0x0345] }, -{ source: [0x1F00, 0x0345, 0x0301], NFC: [0x1F84], NFD: [0x03B1, 0x0313, 0x0301, 0x0345], NFKC: [0x1F84], NFKD: [0x03B1, 0x0313, 0x0301, 0x0345] }, -{ source: [0x1F00, 0x0345, 0x0341], NFC: [0x1F84], NFD: [0x03B1, 0x0313, 0x0301, 0x0345], NFKC: [0x1F84], NFKD: [0x03B1, 0x0313, 0x0301, 0x0345] }, -{ source: [0x1FB3, 0x0313, 0x0301], NFC: [0x1F84], NFD: [0x03B1, 0x0313, 0x0301, 0x0345], NFKC: [0x1F84], NFKD: [0x03B1, 0x0313, 0x0301, 0x0345] }, -{ source: [0x1FB3, 0x0313, 0x0341], NFC: [0x1F84], NFD: [0x03B1, 0x0313, 0x0301, 0x0345], NFKC: [0x1F84], NFKD: [0x03B1, 0x0313, 0x0301, 0x0345] }, -{ source: [0x1FB3, 0x0343, 0x0301], NFC: [0x1F84], NFD: [0x03B1, 0x0313, 0x0301, 0x0345], NFKC: [0x1F84], NFKD: [0x03B1, 0x0313, 0x0301, 0x0345] }, -{ source: [0x1FB3, 0x0343, 0x0341], NFC: [0x1F84], NFD: [0x03B1, 0x0313, 0x0301, 0x0345], NFKC: [0x1F84], NFKD: [0x03B1, 0x0313, 0x0301, 0x0345] }, -{ source: [0x1F05, 0x0345], NFC: [0x1F85], NFD: [0x03B1, 0x0314, 0x0301, 0x0345], NFKC: [0x1F85], NFKD: [0x03B1, 0x0314, 0x0301, 0x0345] }, -{ source: [0x1F81, 0x0301], NFC: [0x1F85], NFD: [0x03B1, 0x0314, 0x0301, 0x0345], NFKC: [0x1F85], NFKD: [0x03B1, 0x0314, 0x0301, 0x0345] }, -{ source: [0x1F81, 0x0341], NFC: [0x1F85], NFD: [0x03B1, 0x0314, 0x0301, 0x0345], NFKC: [0x1F85], NFKD: [0x03B1, 0x0314, 0x0301, 0x0345] }, -{ source: [0x1F01, 0x0301, 0x0345], NFC: [0x1F85], NFD: [0x03B1, 0x0314, 0x0301, 0x0345], NFKC: [0x1F85], NFKD: [0x03B1, 0x0314, 0x0301, 0x0345] }, -{ source: [0x1F01, 0x0341, 0x0345], NFC: [0x1F85], NFD: [0x03B1, 0x0314, 0x0301, 0x0345], NFKC: [0x1F85], NFKD: [0x03B1, 0x0314, 0x0301, 0x0345] }, -{ source: [0x1F01, 0x0345, 0x0301], NFC: [0x1F85], NFD: [0x03B1, 0x0314, 0x0301, 0x0345], NFKC: [0x1F85], NFKD: [0x03B1, 0x0314, 0x0301, 0x0345] }, -{ source: [0x1F01, 0x0345, 0x0341], NFC: [0x1F85], NFD: [0x03B1, 0x0314, 0x0301, 0x0345], NFKC: [0x1F85], NFKD: [0x03B1, 0x0314, 0x0301, 0x0345] }, -{ source: [0x1FB3, 0x0314, 0x0301], NFC: [0x1F85], NFD: [0x03B1, 0x0314, 0x0301, 0x0345], NFKC: [0x1F85], NFKD: [0x03B1, 0x0314, 0x0301, 0x0345] }, -{ source: [0x1FB3, 0x0314, 0x0341], NFC: [0x1F85], NFD: [0x03B1, 0x0314, 0x0301, 0x0345], NFKC: [0x1F85], NFKD: [0x03B1, 0x0314, 0x0301, 0x0345] }, -{ source: [0x1F06, 0x0345], NFC: [0x1F86], NFD: [0x03B1, 0x0313, 0x0342, 0x0345], NFKC: [0x1F86], NFKD: [0x03B1, 0x0313, 0x0342, 0x0345] }, -{ source: [0x1F80, 0x0342], NFC: [0x1F86], NFD: [0x03B1, 0x0313, 0x0342, 0x0345], NFKC: [0x1F86], NFKD: [0x03B1, 0x0313, 0x0342, 0x0345] }, -{ source: [0x1F00, 0x0342, 0x0345], NFC: [0x1F86], NFD: [0x03B1, 0x0313, 0x0342, 0x0345], NFKC: [0x1F86], NFKD: [0x03B1, 0x0313, 0x0342, 0x0345] }, -{ source: [0x1F00, 0x0345, 0x0342], NFC: [0x1F86], NFD: [0x03B1, 0x0313, 0x0342, 0x0345], NFKC: [0x1F86], NFKD: [0x03B1, 0x0313, 0x0342, 0x0345] }, -{ source: [0x1FB3, 0x0313, 0x0342], NFC: [0x1F86], NFD: [0x03B1, 0x0313, 0x0342, 0x0345], NFKC: [0x1F86], NFKD: [0x03B1, 0x0313, 0x0342, 0x0345] }, -{ source: [0x1FB3, 0x0343, 0x0342], NFC: [0x1F86], NFD: [0x03B1, 0x0313, 0x0342, 0x0345], NFKC: [0x1F86], NFKD: [0x03B1, 0x0313, 0x0342, 0x0345] }, -{ source: [0x1F07, 0x0345], NFC: [0x1F87], NFD: [0x03B1, 0x0314, 0x0342, 0x0345], NFKC: [0x1F87], NFKD: [0x03B1, 0x0314, 0x0342, 0x0345] }, -{ source: [0x1F81, 0x0342], NFC: [0x1F87], NFD: [0x03B1, 0x0314, 0x0342, 0x0345], NFKC: [0x1F87], NFKD: [0x03B1, 0x0314, 0x0342, 0x0345] }, -{ source: [0x1F01, 0x0342, 0x0345], NFC: [0x1F87], NFD: [0x03B1, 0x0314, 0x0342, 0x0345], NFKC: [0x1F87], NFKD: [0x03B1, 0x0314, 0x0342, 0x0345] }, -{ source: [0x1F01, 0x0345, 0x0342], NFC: [0x1F87], NFD: [0x03B1, 0x0314, 0x0342, 0x0345], NFKC: [0x1F87], NFKD: [0x03B1, 0x0314, 0x0342, 0x0345] }, -{ source: [0x1FB3, 0x0314, 0x0342], NFC: [0x1F87], NFD: [0x03B1, 0x0314, 0x0342, 0x0345], NFKC: [0x1F87], NFKD: [0x03B1, 0x0314, 0x0342, 0x0345] }, -{ source: [0x1F08, 0x0345], NFC: [0x1F88], NFD: [0x0391, 0x0313, 0x0345], NFKC: [0x1F88], NFKD: [0x0391, 0x0313, 0x0345] }, -{ source: [0x1FBC, 0x0313], NFC: [0x1F88], NFD: [0x0391, 0x0313, 0x0345], NFKC: [0x1F88], NFKD: [0x0391, 0x0313, 0x0345] }, -{ source: [0x1FBC, 0x0343], NFC: [0x1F88], NFD: [0x0391, 0x0313, 0x0345], NFKC: [0x1F88], NFKD: [0x0391, 0x0313, 0x0345] }, -{ source: [0x1F09, 0x0345], NFC: [0x1F89], NFD: [0x0391, 0x0314, 0x0345], NFKC: [0x1F89], NFKD: [0x0391, 0x0314, 0x0345] }, -{ source: [0x1FBC, 0x0314], NFC: [0x1F89], NFD: [0x0391, 0x0314, 0x0345], NFKC: [0x1F89], NFKD: [0x0391, 0x0314, 0x0345] }, -{ source: [0x1F0A, 0x0345], NFC: [0x1F8A], NFD: [0x0391, 0x0313, 0x0300, 0x0345], NFKC: [0x1F8A], NFKD: [0x0391, 0x0313, 0x0300, 0x0345] }, -{ source: [0x1F88, 0x0300], NFC: [0x1F8A], NFD: [0x0391, 0x0313, 0x0300, 0x0345], NFKC: [0x1F8A], NFKD: [0x0391, 0x0313, 0x0300, 0x0345] }, -{ source: [0x1F88, 0x0340], NFC: [0x1F8A], NFD: [0x0391, 0x0313, 0x0300, 0x0345], NFKC: [0x1F8A], NFKD: [0x0391, 0x0313, 0x0300, 0x0345] }, -{ source: [0x1F08, 0x0300, 0x0345], NFC: [0x1F8A], NFD: [0x0391, 0x0313, 0x0300, 0x0345], NFKC: [0x1F8A], NFKD: [0x0391, 0x0313, 0x0300, 0x0345] }, -{ source: [0x1F08, 0x0340, 0x0345], NFC: [0x1F8A], NFD: [0x0391, 0x0313, 0x0300, 0x0345], NFKC: [0x1F8A], NFKD: [0x0391, 0x0313, 0x0300, 0x0345] }, -{ source: [0x1F08, 0x0345, 0x0300], NFC: [0x1F8A], NFD: [0x0391, 0x0313, 0x0300, 0x0345], NFKC: [0x1F8A], NFKD: [0x0391, 0x0313, 0x0300, 0x0345] }, -{ source: [0x1F08, 0x0345, 0x0340], NFC: [0x1F8A], NFD: [0x0391, 0x0313, 0x0300, 0x0345], NFKC: [0x1F8A], NFKD: [0x0391, 0x0313, 0x0300, 0x0345] }, -{ source: [0x1FBC, 0x0313, 0x0300], NFC: [0x1F8A], NFD: [0x0391, 0x0313, 0x0300, 0x0345], NFKC: [0x1F8A], NFKD: [0x0391, 0x0313, 0x0300, 0x0345] }, -{ source: [0x1FBC, 0x0313, 0x0340], NFC: [0x1F8A], NFD: [0x0391, 0x0313, 0x0300, 0x0345], NFKC: [0x1F8A], NFKD: [0x0391, 0x0313, 0x0300, 0x0345] }, -{ source: [0x1FBC, 0x0343, 0x0300], NFC: [0x1F8A], NFD: [0x0391, 0x0313, 0x0300, 0x0345], NFKC: [0x1F8A], NFKD: [0x0391, 0x0313, 0x0300, 0x0345] }, -{ source: [0x1FBC, 0x0343, 0x0340], NFC: [0x1F8A], NFD: [0x0391, 0x0313, 0x0300, 0x0345], NFKC: [0x1F8A], NFKD: [0x0391, 0x0313, 0x0300, 0x0345] }, -{ source: [0x1F0B, 0x0345], NFC: [0x1F8B], NFD: [0x0391, 0x0314, 0x0300, 0x0345], NFKC: [0x1F8B], NFKD: [0x0391, 0x0314, 0x0300, 0x0345] }, -{ source: [0x1F89, 0x0300], NFC: [0x1F8B], NFD: [0x0391, 0x0314, 0x0300, 0x0345], NFKC: [0x1F8B], NFKD: [0x0391, 0x0314, 0x0300, 0x0345] }, -{ source: [0x1F89, 0x0340], NFC: [0x1F8B], NFD: [0x0391, 0x0314, 0x0300, 0x0345], NFKC: [0x1F8B], NFKD: [0x0391, 0x0314, 0x0300, 0x0345] }, -{ source: [0x1F09, 0x0300, 0x0345], NFC: [0x1F8B], NFD: [0x0391, 0x0314, 0x0300, 0x0345], NFKC: [0x1F8B], NFKD: [0x0391, 0x0314, 0x0300, 0x0345] }, -{ source: [0x1F09, 0x0340, 0x0345], NFC: [0x1F8B], NFD: [0x0391, 0x0314, 0x0300, 0x0345], NFKC: [0x1F8B], NFKD: [0x0391, 0x0314, 0x0300, 0x0345] }, -{ source: [0x1F09, 0x0345, 0x0300], NFC: [0x1F8B], NFD: [0x0391, 0x0314, 0x0300, 0x0345], NFKC: [0x1F8B], NFKD: [0x0391, 0x0314, 0x0300, 0x0345] }, -{ source: [0x1F09, 0x0345, 0x0340], NFC: [0x1F8B], NFD: [0x0391, 0x0314, 0x0300, 0x0345], NFKC: [0x1F8B], NFKD: [0x0391, 0x0314, 0x0300, 0x0345] }, -{ source: [0x1FBC, 0x0314, 0x0300], NFC: [0x1F8B], NFD: [0x0391, 0x0314, 0x0300, 0x0345], NFKC: [0x1F8B], NFKD: [0x0391, 0x0314, 0x0300, 0x0345] }, -{ source: [0x1FBC, 0x0314, 0x0340], NFC: [0x1F8B], NFD: [0x0391, 0x0314, 0x0300, 0x0345], NFKC: [0x1F8B], NFKD: [0x0391, 0x0314, 0x0300, 0x0345] }, -{ source: [0x1F0C, 0x0345], NFC: [0x1F8C], NFD: [0x0391, 0x0313, 0x0301, 0x0345], NFKC: [0x1F8C], NFKD: [0x0391, 0x0313, 0x0301, 0x0345] }, -{ source: [0x1F88, 0x0301], NFC: [0x1F8C], NFD: [0x0391, 0x0313, 0x0301, 0x0345], NFKC: [0x1F8C], NFKD: [0x0391, 0x0313, 0x0301, 0x0345] }, -{ source: [0x1F88, 0x0341], NFC: [0x1F8C], NFD: [0x0391, 0x0313, 0x0301, 0x0345], NFKC: [0x1F8C], NFKD: [0x0391, 0x0313, 0x0301, 0x0345] }, -{ source: [0x1F08, 0x0301, 0x0345], NFC: [0x1F8C], NFD: [0x0391, 0x0313, 0x0301, 0x0345], NFKC: [0x1F8C], NFKD: [0x0391, 0x0313, 0x0301, 0x0345] }, -{ source: [0x1F08, 0x0341, 0x0345], NFC: [0x1F8C], NFD: [0x0391, 0x0313, 0x0301, 0x0345], NFKC: [0x1F8C], NFKD: [0x0391, 0x0313, 0x0301, 0x0345] }, -{ source: [0x1F08, 0x0345, 0x0301], NFC: [0x1F8C], NFD: [0x0391, 0x0313, 0x0301, 0x0345], NFKC: [0x1F8C], NFKD: [0x0391, 0x0313, 0x0301, 0x0345] }, -{ source: [0x1F08, 0x0345, 0x0341], NFC: [0x1F8C], NFD: [0x0391, 0x0313, 0x0301, 0x0345], NFKC: [0x1F8C], NFKD: [0x0391, 0x0313, 0x0301, 0x0345] }, -{ source: [0x1FBC, 0x0313, 0x0301], NFC: [0x1F8C], NFD: [0x0391, 0x0313, 0x0301, 0x0345], NFKC: [0x1F8C], NFKD: [0x0391, 0x0313, 0x0301, 0x0345] }, -{ source: [0x1FBC, 0x0313, 0x0341], NFC: [0x1F8C], NFD: [0x0391, 0x0313, 0x0301, 0x0345], NFKC: [0x1F8C], NFKD: [0x0391, 0x0313, 0x0301, 0x0345] }, -{ source: [0x1FBC, 0x0343, 0x0301], NFC: [0x1F8C], NFD: [0x0391, 0x0313, 0x0301, 0x0345], NFKC: [0x1F8C], NFKD: [0x0391, 0x0313, 0x0301, 0x0345] }, -{ source: [0x1FBC, 0x0343, 0x0341], NFC: [0x1F8C], NFD: [0x0391, 0x0313, 0x0301, 0x0345], NFKC: [0x1F8C], NFKD: [0x0391, 0x0313, 0x0301, 0x0345] }, -{ source: [0x1F0D, 0x0345], NFC: [0x1F8D], NFD: [0x0391, 0x0314, 0x0301, 0x0345], NFKC: [0x1F8D], NFKD: [0x0391, 0x0314, 0x0301, 0x0345] }, -{ source: [0x1F89, 0x0301], NFC: [0x1F8D], NFD: [0x0391, 0x0314, 0x0301, 0x0345], NFKC: [0x1F8D], NFKD: [0x0391, 0x0314, 0x0301, 0x0345] }, -{ source: [0x1F89, 0x0341], NFC: [0x1F8D], NFD: [0x0391, 0x0314, 0x0301, 0x0345], NFKC: [0x1F8D], NFKD: [0x0391, 0x0314, 0x0301, 0x0345] }, -{ source: [0x1F09, 0x0301, 0x0345], NFC: [0x1F8D], NFD: [0x0391, 0x0314, 0x0301, 0x0345], NFKC: [0x1F8D], NFKD: [0x0391, 0x0314, 0x0301, 0x0345] }, -{ source: [0x1F09, 0x0341, 0x0345], NFC: [0x1F8D], NFD: [0x0391, 0x0314, 0x0301, 0x0345], NFKC: [0x1F8D], NFKD: [0x0391, 0x0314, 0x0301, 0x0345] }, -{ source: [0x1F09, 0x0345, 0x0301], NFC: [0x1F8D], NFD: [0x0391, 0x0314, 0x0301, 0x0345], NFKC: [0x1F8D], NFKD: [0x0391, 0x0314, 0x0301, 0x0345] }, -{ source: [0x1F09, 0x0345, 0x0341], NFC: [0x1F8D], NFD: [0x0391, 0x0314, 0x0301, 0x0345], NFKC: [0x1F8D], NFKD: [0x0391, 0x0314, 0x0301, 0x0345] }, -{ source: [0x1FBC, 0x0314, 0x0301], NFC: [0x1F8D], NFD: [0x0391, 0x0314, 0x0301, 0x0345], NFKC: [0x1F8D], NFKD: [0x0391, 0x0314, 0x0301, 0x0345] }, -{ source: [0x1FBC, 0x0314, 0x0341], NFC: [0x1F8D], NFD: [0x0391, 0x0314, 0x0301, 0x0345], NFKC: [0x1F8D], NFKD: [0x0391, 0x0314, 0x0301, 0x0345] }, -{ source: [0x1F0E, 0x0345], NFC: [0x1F8E], NFD: [0x0391, 0x0313, 0x0342, 0x0345], NFKC: [0x1F8E], NFKD: [0x0391, 0x0313, 0x0342, 0x0345] }, -{ source: [0x1F88, 0x0342], NFC: [0x1F8E], NFD: [0x0391, 0x0313, 0x0342, 0x0345], NFKC: [0x1F8E], NFKD: [0x0391, 0x0313, 0x0342, 0x0345] }, -{ source: [0x1F08, 0x0342, 0x0345], NFC: [0x1F8E], NFD: [0x0391, 0x0313, 0x0342, 0x0345], NFKC: [0x1F8E], NFKD: [0x0391, 0x0313, 0x0342, 0x0345] }, -{ source: [0x1F08, 0x0345, 0x0342], NFC: [0x1F8E], NFD: [0x0391, 0x0313, 0x0342, 0x0345], NFKC: [0x1F8E], NFKD: [0x0391, 0x0313, 0x0342, 0x0345] }, -{ source: [0x1FBC, 0x0313, 0x0342], NFC: [0x1F8E], NFD: [0x0391, 0x0313, 0x0342, 0x0345], NFKC: [0x1F8E], NFKD: [0x0391, 0x0313, 0x0342, 0x0345] }, -{ source: [0x1FBC, 0x0343, 0x0342], NFC: [0x1F8E], NFD: [0x0391, 0x0313, 0x0342, 0x0345], NFKC: [0x1F8E], NFKD: [0x0391, 0x0313, 0x0342, 0x0345] }, -{ source: [0x1F0F, 0x0345], NFC: [0x1F8F], NFD: [0x0391, 0x0314, 0x0342, 0x0345], NFKC: [0x1F8F], NFKD: [0x0391, 0x0314, 0x0342, 0x0345] }, -{ source: [0x1F89, 0x0342], NFC: [0x1F8F], NFD: [0x0391, 0x0314, 0x0342, 0x0345], NFKC: [0x1F8F], NFKD: [0x0391, 0x0314, 0x0342, 0x0345] }, -{ source: [0x1F09, 0x0342, 0x0345], NFC: [0x1F8F], NFD: [0x0391, 0x0314, 0x0342, 0x0345], NFKC: [0x1F8F], NFKD: [0x0391, 0x0314, 0x0342, 0x0345] }, -{ source: [0x1F09, 0x0345, 0x0342], NFC: [0x1F8F], NFD: [0x0391, 0x0314, 0x0342, 0x0345], NFKC: [0x1F8F], NFKD: [0x0391, 0x0314, 0x0342, 0x0345] }, -{ source: [0x1FBC, 0x0314, 0x0342], NFC: [0x1F8F], NFD: [0x0391, 0x0314, 0x0342, 0x0345], NFKC: [0x1F8F], NFKD: [0x0391, 0x0314, 0x0342, 0x0345] }, -{ source: [0x1F20, 0x0345], NFC: [0x1F90], NFD: [0x03B7, 0x0313, 0x0345], NFKC: [0x1F90], NFKD: [0x03B7, 0x0313, 0x0345] }, -{ source: [0x1FC3, 0x0313], NFC: [0x1F90], NFD: [0x03B7, 0x0313, 0x0345], NFKC: [0x1F90], NFKD: [0x03B7, 0x0313, 0x0345] }, -{ source: [0x1FC3, 0x0343], NFC: [0x1F90], NFD: [0x03B7, 0x0313, 0x0345], NFKC: [0x1F90], NFKD: [0x03B7, 0x0313, 0x0345] }, -{ source: [0x1F21, 0x0345], NFC: [0x1F91], NFD: [0x03B7, 0x0314, 0x0345], NFKC: [0x1F91], NFKD: [0x03B7, 0x0314, 0x0345] }, -{ source: [0x1FC3, 0x0314], NFC: [0x1F91], NFD: [0x03B7, 0x0314, 0x0345], NFKC: [0x1F91], NFKD: [0x03B7, 0x0314, 0x0345] }, -{ source: [0x1F22, 0x0345], NFC: [0x1F92], NFD: [0x03B7, 0x0313, 0x0300, 0x0345], NFKC: [0x1F92], NFKD: [0x03B7, 0x0313, 0x0300, 0x0345] }, -{ source: [0x1F90, 0x0300], NFC: [0x1F92], NFD: [0x03B7, 0x0313, 0x0300, 0x0345], NFKC: [0x1F92], NFKD: [0x03B7, 0x0313, 0x0300, 0x0345] }, -{ source: [0x1F90, 0x0340], NFC: [0x1F92], NFD: [0x03B7, 0x0313, 0x0300, 0x0345], NFKC: [0x1F92], NFKD: [0x03B7, 0x0313, 0x0300, 0x0345] }, -{ source: [0x1F20, 0x0300, 0x0345], NFC: [0x1F92], NFD: [0x03B7, 0x0313, 0x0300, 0x0345], NFKC: [0x1F92], NFKD: [0x03B7, 0x0313, 0x0300, 0x0345] }, -{ source: [0x1F20, 0x0340, 0x0345], NFC: [0x1F92], NFD: [0x03B7, 0x0313, 0x0300, 0x0345], NFKC: [0x1F92], NFKD: [0x03B7, 0x0313, 0x0300, 0x0345] }, -{ source: [0x1F20, 0x0345, 0x0300], NFC: [0x1F92], NFD: [0x03B7, 0x0313, 0x0300, 0x0345], NFKC: [0x1F92], NFKD: [0x03B7, 0x0313, 0x0300, 0x0345] }, -{ source: [0x1F20, 0x0345, 0x0340], NFC: [0x1F92], NFD: [0x03B7, 0x0313, 0x0300, 0x0345], NFKC: [0x1F92], NFKD: [0x03B7, 0x0313, 0x0300, 0x0345] }, -{ source: [0x1FC3, 0x0313, 0x0300], NFC: [0x1F92], NFD: [0x03B7, 0x0313, 0x0300, 0x0345], NFKC: [0x1F92], NFKD: [0x03B7, 0x0313, 0x0300, 0x0345] }, -{ source: [0x1FC3, 0x0313, 0x0340], NFC: [0x1F92], NFD: [0x03B7, 0x0313, 0x0300, 0x0345], NFKC: [0x1F92], NFKD: [0x03B7, 0x0313, 0x0300, 0x0345] }, -{ source: [0x1FC3, 0x0343, 0x0300], NFC: [0x1F92], NFD: [0x03B7, 0x0313, 0x0300, 0x0345], NFKC: [0x1F92], NFKD: [0x03B7, 0x0313, 0x0300, 0x0345] }, -{ source: [0x1FC3, 0x0343, 0x0340], NFC: [0x1F92], NFD: [0x03B7, 0x0313, 0x0300, 0x0345], NFKC: [0x1F92], NFKD: [0x03B7, 0x0313, 0x0300, 0x0345] }, -{ source: [0x1F23, 0x0345], NFC: [0x1F93], NFD: [0x03B7, 0x0314, 0x0300, 0x0345], NFKC: [0x1F93], NFKD: [0x03B7, 0x0314, 0x0300, 0x0345] }, -{ source: [0x1F91, 0x0300], NFC: [0x1F93], NFD: [0x03B7, 0x0314, 0x0300, 0x0345], NFKC: [0x1F93], NFKD: [0x03B7, 0x0314, 0x0300, 0x0345] }, -{ source: [0x1F91, 0x0340], NFC: [0x1F93], NFD: [0x03B7, 0x0314, 0x0300, 0x0345], NFKC: [0x1F93], NFKD: [0x03B7, 0x0314, 0x0300, 0x0345] }, -{ source: [0x1F21, 0x0300, 0x0345], NFC: [0x1F93], NFD: [0x03B7, 0x0314, 0x0300, 0x0345], NFKC: [0x1F93], NFKD: [0x03B7, 0x0314, 0x0300, 0x0345] }, -{ source: [0x1F21, 0x0340, 0x0345], NFC: [0x1F93], NFD: [0x03B7, 0x0314, 0x0300, 0x0345], NFKC: [0x1F93], NFKD: [0x03B7, 0x0314, 0x0300, 0x0345] }, -{ source: [0x1F21, 0x0345, 0x0300], NFC: [0x1F93], NFD: [0x03B7, 0x0314, 0x0300, 0x0345], NFKC: [0x1F93], NFKD: [0x03B7, 0x0314, 0x0300, 0x0345] }, -{ source: [0x1F21, 0x0345, 0x0340], NFC: [0x1F93], NFD: [0x03B7, 0x0314, 0x0300, 0x0345], NFKC: [0x1F93], NFKD: [0x03B7, 0x0314, 0x0300, 0x0345] }, -{ source: [0x1FC3, 0x0314, 0x0300], NFC: [0x1F93], NFD: [0x03B7, 0x0314, 0x0300, 0x0345], NFKC: [0x1F93], NFKD: [0x03B7, 0x0314, 0x0300, 0x0345] }, -{ source: [0x1FC3, 0x0314, 0x0340], NFC: [0x1F93], NFD: [0x03B7, 0x0314, 0x0300, 0x0345], NFKC: [0x1F93], NFKD: [0x03B7, 0x0314, 0x0300, 0x0345] }, -{ source: [0x1F24, 0x0345], NFC: [0x1F94], NFD: [0x03B7, 0x0313, 0x0301, 0x0345], NFKC: [0x1F94], NFKD: [0x03B7, 0x0313, 0x0301, 0x0345] }, -{ source: [0x1F90, 0x0301], NFC: [0x1F94], NFD: [0x03B7, 0x0313, 0x0301, 0x0345], NFKC: [0x1F94], NFKD: [0x03B7, 0x0313, 0x0301, 0x0345] }, -{ source: [0x1F90, 0x0341], NFC: [0x1F94], NFD: [0x03B7, 0x0313, 0x0301, 0x0345], NFKC: [0x1F94], NFKD: [0x03B7, 0x0313, 0x0301, 0x0345] }, -{ source: [0x1F20, 0x0301, 0x0345], NFC: [0x1F94], NFD: [0x03B7, 0x0313, 0x0301, 0x0345], NFKC: [0x1F94], NFKD: [0x03B7, 0x0313, 0x0301, 0x0345] }, -{ source: [0x1F20, 0x0341, 0x0345], NFC: [0x1F94], NFD: [0x03B7, 0x0313, 0x0301, 0x0345], NFKC: [0x1F94], NFKD: [0x03B7, 0x0313, 0x0301, 0x0345] }, -{ source: [0x1F20, 0x0345, 0x0301], NFC: [0x1F94], NFD: [0x03B7, 0x0313, 0x0301, 0x0345], NFKC: [0x1F94], NFKD: [0x03B7, 0x0313, 0x0301, 0x0345] }, -{ source: [0x1F20, 0x0345, 0x0341], NFC: [0x1F94], NFD: [0x03B7, 0x0313, 0x0301, 0x0345], NFKC: [0x1F94], NFKD: [0x03B7, 0x0313, 0x0301, 0x0345] }, -{ source: [0x1FC3, 0x0313, 0x0301], NFC: [0x1F94], NFD: [0x03B7, 0x0313, 0x0301, 0x0345], NFKC: [0x1F94], NFKD: [0x03B7, 0x0313, 0x0301, 0x0345] }, -{ source: [0x1FC3, 0x0313, 0x0341], NFC: [0x1F94], NFD: [0x03B7, 0x0313, 0x0301, 0x0345], NFKC: [0x1F94], NFKD: [0x03B7, 0x0313, 0x0301, 0x0345] }, -{ source: [0x1FC3, 0x0343, 0x0301], NFC: [0x1F94], NFD: [0x03B7, 0x0313, 0x0301, 0x0345], NFKC: [0x1F94], NFKD: [0x03B7, 0x0313, 0x0301, 0x0345] }, -{ source: [0x1FC3, 0x0343, 0x0341], NFC: [0x1F94], NFD: [0x03B7, 0x0313, 0x0301, 0x0345], NFKC: [0x1F94], NFKD: [0x03B7, 0x0313, 0x0301, 0x0345] }, -{ source: [0x1F25, 0x0345], NFC: [0x1F95], NFD: [0x03B7, 0x0314, 0x0301, 0x0345], NFKC: [0x1F95], NFKD: [0x03B7, 0x0314, 0x0301, 0x0345] }, -{ source: [0x1F91, 0x0301], NFC: [0x1F95], NFD: [0x03B7, 0x0314, 0x0301, 0x0345], NFKC: [0x1F95], NFKD: [0x03B7, 0x0314, 0x0301, 0x0345] }, -{ source: [0x1F91, 0x0341], NFC: [0x1F95], NFD: [0x03B7, 0x0314, 0x0301, 0x0345], NFKC: [0x1F95], NFKD: [0x03B7, 0x0314, 0x0301, 0x0345] }, -{ source: [0x1F21, 0x0301, 0x0345], NFC: [0x1F95], NFD: [0x03B7, 0x0314, 0x0301, 0x0345], NFKC: [0x1F95], NFKD: [0x03B7, 0x0314, 0x0301, 0x0345] }, -{ source: [0x1F21, 0x0341, 0x0345], NFC: [0x1F95], NFD: [0x03B7, 0x0314, 0x0301, 0x0345], NFKC: [0x1F95], NFKD: [0x03B7, 0x0314, 0x0301, 0x0345] }, -{ source: [0x1F21, 0x0345, 0x0301], NFC: [0x1F95], NFD: [0x03B7, 0x0314, 0x0301, 0x0345], NFKC: [0x1F95], NFKD: [0x03B7, 0x0314, 0x0301, 0x0345] }, -{ source: [0x1F21, 0x0345, 0x0341], NFC: [0x1F95], NFD: [0x03B7, 0x0314, 0x0301, 0x0345], NFKC: [0x1F95], NFKD: [0x03B7, 0x0314, 0x0301, 0x0345] }, -{ source: [0x1FC3, 0x0314, 0x0301], NFC: [0x1F95], NFD: [0x03B7, 0x0314, 0x0301, 0x0345], NFKC: [0x1F95], NFKD: [0x03B7, 0x0314, 0x0301, 0x0345] }, -{ source: [0x1FC3, 0x0314, 0x0341], NFC: [0x1F95], NFD: [0x03B7, 0x0314, 0x0301, 0x0345], NFKC: [0x1F95], NFKD: [0x03B7, 0x0314, 0x0301, 0x0345] }, -{ source: [0x1F26, 0x0345], NFC: [0x1F96], NFD: [0x03B7, 0x0313, 0x0342, 0x0345], NFKC: [0x1F96], NFKD: [0x03B7, 0x0313, 0x0342, 0x0345] }, -{ source: [0x1F90, 0x0342], NFC: [0x1F96], NFD: [0x03B7, 0x0313, 0x0342, 0x0345], NFKC: [0x1F96], NFKD: [0x03B7, 0x0313, 0x0342, 0x0345] }, -{ source: [0x1F20, 0x0342, 0x0345], NFC: [0x1F96], NFD: [0x03B7, 0x0313, 0x0342, 0x0345], NFKC: [0x1F96], NFKD: [0x03B7, 0x0313, 0x0342, 0x0345] }, -{ source: [0x1F20, 0x0345, 0x0342], NFC: [0x1F96], NFD: [0x03B7, 0x0313, 0x0342, 0x0345], NFKC: [0x1F96], NFKD: [0x03B7, 0x0313, 0x0342, 0x0345] }, -{ source: [0x1FC3, 0x0313, 0x0342], NFC: [0x1F96], NFD: [0x03B7, 0x0313, 0x0342, 0x0345], NFKC: [0x1F96], NFKD: [0x03B7, 0x0313, 0x0342, 0x0345] }, -{ source: [0x1FC3, 0x0343, 0x0342], NFC: [0x1F96], NFD: [0x03B7, 0x0313, 0x0342, 0x0345], NFKC: [0x1F96], NFKD: [0x03B7, 0x0313, 0x0342, 0x0345] }, -{ source: [0x1F27, 0x0345], NFC: [0x1F97], NFD: [0x03B7, 0x0314, 0x0342, 0x0345], NFKC: [0x1F97], NFKD: [0x03B7, 0x0314, 0x0342, 0x0345] }, -{ source: [0x1F91, 0x0342], NFC: [0x1F97], NFD: [0x03B7, 0x0314, 0x0342, 0x0345], NFKC: [0x1F97], NFKD: [0x03B7, 0x0314, 0x0342, 0x0345] }, -{ source: [0x1F21, 0x0342, 0x0345], NFC: [0x1F97], NFD: [0x03B7, 0x0314, 0x0342, 0x0345], NFKC: [0x1F97], NFKD: [0x03B7, 0x0314, 0x0342, 0x0345] }, -{ source: [0x1F21, 0x0345, 0x0342], NFC: [0x1F97], NFD: [0x03B7, 0x0314, 0x0342, 0x0345], NFKC: [0x1F97], NFKD: [0x03B7, 0x0314, 0x0342, 0x0345] }, -{ source: [0x1FC3, 0x0314, 0x0342], NFC: [0x1F97], NFD: [0x03B7, 0x0314, 0x0342, 0x0345], NFKC: [0x1F97], NFKD: [0x03B7, 0x0314, 0x0342, 0x0345] }, -{ source: [0x1F28, 0x0345], NFC: [0x1F98], NFD: [0x0397, 0x0313, 0x0345], NFKC: [0x1F98], NFKD: [0x0397, 0x0313, 0x0345] }, -{ source: [0x1FCC, 0x0313], NFC: [0x1F98], NFD: [0x0397, 0x0313, 0x0345], NFKC: [0x1F98], NFKD: [0x0397, 0x0313, 0x0345] }, -{ source: [0x1FCC, 0x0343], NFC: [0x1F98], NFD: [0x0397, 0x0313, 0x0345], NFKC: [0x1F98], NFKD: [0x0397, 0x0313, 0x0345] }, -{ source: [0x1F29, 0x0345], NFC: [0x1F99], NFD: [0x0397, 0x0314, 0x0345], NFKC: [0x1F99], NFKD: [0x0397, 0x0314, 0x0345] }, -{ source: [0x1FCC, 0x0314], NFC: [0x1F99], NFD: [0x0397, 0x0314, 0x0345], NFKC: [0x1F99], NFKD: [0x0397, 0x0314, 0x0345] }, -{ source: [0x1F2A, 0x0345], NFC: [0x1F9A], NFD: [0x0397, 0x0313, 0x0300, 0x0345], NFKC: [0x1F9A], NFKD: [0x0397, 0x0313, 0x0300, 0x0345] }, -{ source: [0x1F98, 0x0300], NFC: [0x1F9A], NFD: [0x0397, 0x0313, 0x0300, 0x0345], NFKC: [0x1F9A], NFKD: [0x0397, 0x0313, 0x0300, 0x0345] }, -{ source: [0x1F98, 0x0340], NFC: [0x1F9A], NFD: [0x0397, 0x0313, 0x0300, 0x0345], NFKC: [0x1F9A], NFKD: [0x0397, 0x0313, 0x0300, 0x0345] }, -{ source: [0x1F28, 0x0300, 0x0345], NFC: [0x1F9A], NFD: [0x0397, 0x0313, 0x0300, 0x0345], NFKC: [0x1F9A], NFKD: [0x0397, 0x0313, 0x0300, 0x0345] }, -{ source: [0x1F28, 0x0340, 0x0345], NFC: [0x1F9A], NFD: [0x0397, 0x0313, 0x0300, 0x0345], NFKC: [0x1F9A], NFKD: [0x0397, 0x0313, 0x0300, 0x0345] }, -{ source: [0x1F28, 0x0345, 0x0300], NFC: [0x1F9A], NFD: [0x0397, 0x0313, 0x0300, 0x0345], NFKC: [0x1F9A], NFKD: [0x0397, 0x0313, 0x0300, 0x0345] }, -{ source: [0x1F28, 0x0345, 0x0340], NFC: [0x1F9A], NFD: [0x0397, 0x0313, 0x0300, 0x0345], NFKC: [0x1F9A], NFKD: [0x0397, 0x0313, 0x0300, 0x0345] }, -{ source: [0x1FCC, 0x0313, 0x0300], NFC: [0x1F9A], NFD: [0x0397, 0x0313, 0x0300, 0x0345], NFKC: [0x1F9A], NFKD: [0x0397, 0x0313, 0x0300, 0x0345] }, -{ source: [0x1FCC, 0x0313, 0x0340], NFC: [0x1F9A], NFD: [0x0397, 0x0313, 0x0300, 0x0345], NFKC: [0x1F9A], NFKD: [0x0397, 0x0313, 0x0300, 0x0345] }, -{ source: [0x1FCC, 0x0343, 0x0300], NFC: [0x1F9A], NFD: [0x0397, 0x0313, 0x0300, 0x0345], NFKC: [0x1F9A], NFKD: [0x0397, 0x0313, 0x0300, 0x0345] }, -{ source: [0x1FCC, 0x0343, 0x0340], NFC: [0x1F9A], NFD: [0x0397, 0x0313, 0x0300, 0x0345], NFKC: [0x1F9A], NFKD: [0x0397, 0x0313, 0x0300, 0x0345] }, -{ source: [0x1F2B, 0x0345], NFC: [0x1F9B], NFD: [0x0397, 0x0314, 0x0300, 0x0345], NFKC: [0x1F9B], NFKD: [0x0397, 0x0314, 0x0300, 0x0345] }, -{ source: [0x1F99, 0x0300], NFC: [0x1F9B], NFD: [0x0397, 0x0314, 0x0300, 0x0345], NFKC: [0x1F9B], NFKD: [0x0397, 0x0314, 0x0300, 0x0345] }, -{ source: [0x1F99, 0x0340], NFC: [0x1F9B], NFD: [0x0397, 0x0314, 0x0300, 0x0345], NFKC: [0x1F9B], NFKD: [0x0397, 0x0314, 0x0300, 0x0345] }, -{ source: [0x1F29, 0x0300, 0x0345], NFC: [0x1F9B], NFD: [0x0397, 0x0314, 0x0300, 0x0345], NFKC: [0x1F9B], NFKD: [0x0397, 0x0314, 0x0300, 0x0345] }, -{ source: [0x1F29, 0x0340, 0x0345], NFC: [0x1F9B], NFD: [0x0397, 0x0314, 0x0300, 0x0345], NFKC: [0x1F9B], NFKD: [0x0397, 0x0314, 0x0300, 0x0345] }, -{ source: [0x1F29, 0x0345, 0x0300], NFC: [0x1F9B], NFD: [0x0397, 0x0314, 0x0300, 0x0345], NFKC: [0x1F9B], NFKD: [0x0397, 0x0314, 0x0300, 0x0345] }, -{ source: [0x1F29, 0x0345, 0x0340], NFC: [0x1F9B], NFD: [0x0397, 0x0314, 0x0300, 0x0345], NFKC: [0x1F9B], NFKD: [0x0397, 0x0314, 0x0300, 0x0345] }, -{ source: [0x1FCC, 0x0314, 0x0300], NFC: [0x1F9B], NFD: [0x0397, 0x0314, 0x0300, 0x0345], NFKC: [0x1F9B], NFKD: [0x0397, 0x0314, 0x0300, 0x0345] }, -{ source: [0x1FCC, 0x0314, 0x0340], NFC: [0x1F9B], NFD: [0x0397, 0x0314, 0x0300, 0x0345], NFKC: [0x1F9B], NFKD: [0x0397, 0x0314, 0x0300, 0x0345] }, -{ source: [0x1F2C, 0x0345], NFC: [0x1F9C], NFD: [0x0397, 0x0313, 0x0301, 0x0345], NFKC: [0x1F9C], NFKD: [0x0397, 0x0313, 0x0301, 0x0345] }, -{ source: [0x1F98, 0x0301], NFC: [0x1F9C], NFD: [0x0397, 0x0313, 0x0301, 0x0345], NFKC: [0x1F9C], NFKD: [0x0397, 0x0313, 0x0301, 0x0345] }, -{ source: [0x1F98, 0x0341], NFC: [0x1F9C], NFD: [0x0397, 0x0313, 0x0301, 0x0345], NFKC: [0x1F9C], NFKD: [0x0397, 0x0313, 0x0301, 0x0345] }, -{ source: [0x1F28, 0x0301, 0x0345], NFC: [0x1F9C], NFD: [0x0397, 0x0313, 0x0301, 0x0345], NFKC: [0x1F9C], NFKD: [0x0397, 0x0313, 0x0301, 0x0345] }, -{ source: [0x1F28, 0x0341, 0x0345], NFC: [0x1F9C], NFD: [0x0397, 0x0313, 0x0301, 0x0345], NFKC: [0x1F9C], NFKD: [0x0397, 0x0313, 0x0301, 0x0345] }, -{ source: [0x1F28, 0x0345, 0x0301], NFC: [0x1F9C], NFD: [0x0397, 0x0313, 0x0301, 0x0345], NFKC: [0x1F9C], NFKD: [0x0397, 0x0313, 0x0301, 0x0345] }, -{ source: [0x1F28, 0x0345, 0x0341], NFC: [0x1F9C], NFD: [0x0397, 0x0313, 0x0301, 0x0345], NFKC: [0x1F9C], NFKD: [0x0397, 0x0313, 0x0301, 0x0345] }, -{ source: [0x1FCC, 0x0313, 0x0301], NFC: [0x1F9C], NFD: [0x0397, 0x0313, 0x0301, 0x0345], NFKC: [0x1F9C], NFKD: [0x0397, 0x0313, 0x0301, 0x0345] }, -{ source: [0x1FCC, 0x0313, 0x0341], NFC: [0x1F9C], NFD: [0x0397, 0x0313, 0x0301, 0x0345], NFKC: [0x1F9C], NFKD: [0x0397, 0x0313, 0x0301, 0x0345] }, -{ source: [0x1FCC, 0x0343, 0x0301], NFC: [0x1F9C], NFD: [0x0397, 0x0313, 0x0301, 0x0345], NFKC: [0x1F9C], NFKD: [0x0397, 0x0313, 0x0301, 0x0345] }, -{ source: [0x1FCC, 0x0343, 0x0341], NFC: [0x1F9C], NFD: [0x0397, 0x0313, 0x0301, 0x0345], NFKC: [0x1F9C], NFKD: [0x0397, 0x0313, 0x0301, 0x0345] }, -{ source: [0x1F2D, 0x0345], NFC: [0x1F9D], NFD: [0x0397, 0x0314, 0x0301, 0x0345], NFKC: [0x1F9D], NFKD: [0x0397, 0x0314, 0x0301, 0x0345] }, -{ source: [0x1F99, 0x0301], NFC: [0x1F9D], NFD: [0x0397, 0x0314, 0x0301, 0x0345], NFKC: [0x1F9D], NFKD: [0x0397, 0x0314, 0x0301, 0x0345] }, -{ source: [0x1F99, 0x0341], NFC: [0x1F9D], NFD: [0x0397, 0x0314, 0x0301, 0x0345], NFKC: [0x1F9D], NFKD: [0x0397, 0x0314, 0x0301, 0x0345] }, -{ source: [0x1F29, 0x0301, 0x0345], NFC: [0x1F9D], NFD: [0x0397, 0x0314, 0x0301, 0x0345], NFKC: [0x1F9D], NFKD: [0x0397, 0x0314, 0x0301, 0x0345] }, -{ source: [0x1F29, 0x0341, 0x0345], NFC: [0x1F9D], NFD: [0x0397, 0x0314, 0x0301, 0x0345], NFKC: [0x1F9D], NFKD: [0x0397, 0x0314, 0x0301, 0x0345] }, -{ source: [0x1F29, 0x0345, 0x0301], NFC: [0x1F9D], NFD: [0x0397, 0x0314, 0x0301, 0x0345], NFKC: [0x1F9D], NFKD: [0x0397, 0x0314, 0x0301, 0x0345] }, -{ source: [0x1F29, 0x0345, 0x0341], NFC: [0x1F9D], NFD: [0x0397, 0x0314, 0x0301, 0x0345], NFKC: [0x1F9D], NFKD: [0x0397, 0x0314, 0x0301, 0x0345] }, -{ source: [0x1FCC, 0x0314, 0x0301], NFC: [0x1F9D], NFD: [0x0397, 0x0314, 0x0301, 0x0345], NFKC: [0x1F9D], NFKD: [0x0397, 0x0314, 0x0301, 0x0345] }, -{ source: [0x1FCC, 0x0314, 0x0341], NFC: [0x1F9D], NFD: [0x0397, 0x0314, 0x0301, 0x0345], NFKC: [0x1F9D], NFKD: [0x0397, 0x0314, 0x0301, 0x0345] }, -{ source: [0x1F2E, 0x0345], NFC: [0x1F9E], NFD: [0x0397, 0x0313, 0x0342, 0x0345], NFKC: [0x1F9E], NFKD: [0x0397, 0x0313, 0x0342, 0x0345] }, -{ source: [0x1F98, 0x0342], NFC: [0x1F9E], NFD: [0x0397, 0x0313, 0x0342, 0x0345], NFKC: [0x1F9E], NFKD: [0x0397, 0x0313, 0x0342, 0x0345] }, -{ source: [0x1F28, 0x0342, 0x0345], NFC: [0x1F9E], NFD: [0x0397, 0x0313, 0x0342, 0x0345], NFKC: [0x1F9E], NFKD: [0x0397, 0x0313, 0x0342, 0x0345] }, -{ source: [0x1F28, 0x0345, 0x0342], NFC: [0x1F9E], NFD: [0x0397, 0x0313, 0x0342, 0x0345], NFKC: [0x1F9E], NFKD: [0x0397, 0x0313, 0x0342, 0x0345] }, -{ source: [0x1FCC, 0x0313, 0x0342], NFC: [0x1F9E], NFD: [0x0397, 0x0313, 0x0342, 0x0345], NFKC: [0x1F9E], NFKD: [0x0397, 0x0313, 0x0342, 0x0345] }, -{ source: [0x1FCC, 0x0343, 0x0342], NFC: [0x1F9E], NFD: [0x0397, 0x0313, 0x0342, 0x0345], NFKC: [0x1F9E], NFKD: [0x0397, 0x0313, 0x0342, 0x0345] }, -{ source: [0x1F2F, 0x0345], NFC: [0x1F9F], NFD: [0x0397, 0x0314, 0x0342, 0x0345], NFKC: [0x1F9F], NFKD: [0x0397, 0x0314, 0x0342, 0x0345] }, -{ source: [0x1F99, 0x0342], NFC: [0x1F9F], NFD: [0x0397, 0x0314, 0x0342, 0x0345], NFKC: [0x1F9F], NFKD: [0x0397, 0x0314, 0x0342, 0x0345] }, -{ source: [0x1F29, 0x0342, 0x0345], NFC: [0x1F9F], NFD: [0x0397, 0x0314, 0x0342, 0x0345], NFKC: [0x1F9F], NFKD: [0x0397, 0x0314, 0x0342, 0x0345] }, -{ source: [0x1F29, 0x0345, 0x0342], NFC: [0x1F9F], NFD: [0x0397, 0x0314, 0x0342, 0x0345], NFKC: [0x1F9F], NFKD: [0x0397, 0x0314, 0x0342, 0x0345] }, -{ source: [0x1FCC, 0x0314, 0x0342], NFC: [0x1F9F], NFD: [0x0397, 0x0314, 0x0342, 0x0345], NFKC: [0x1F9F], NFKD: [0x0397, 0x0314, 0x0342, 0x0345] }, -{ source: [0x1F60, 0x0345], NFC: [0x1FA0], NFD: [0x03C9, 0x0313, 0x0345], NFKC: [0x1FA0], NFKD: [0x03C9, 0x0313, 0x0345] }, -{ source: [0x1FF3, 0x0313], NFC: [0x1FA0], NFD: [0x03C9, 0x0313, 0x0345], NFKC: [0x1FA0], NFKD: [0x03C9, 0x0313, 0x0345] }, -{ source: [0x1FF3, 0x0343], NFC: [0x1FA0], NFD: [0x03C9, 0x0313, 0x0345], NFKC: [0x1FA0], NFKD: [0x03C9, 0x0313, 0x0345] }, -{ source: [0x1F61, 0x0345], NFC: [0x1FA1], NFD: [0x03C9, 0x0314, 0x0345], NFKC: [0x1FA1], NFKD: [0x03C9, 0x0314, 0x0345] }, -{ source: [0x1FF3, 0x0314], NFC: [0x1FA1], NFD: [0x03C9, 0x0314, 0x0345], NFKC: [0x1FA1], NFKD: [0x03C9, 0x0314, 0x0345] }, -{ source: [0x1F62, 0x0345], NFC: [0x1FA2], NFD: [0x03C9, 0x0313, 0x0300, 0x0345], NFKC: [0x1FA2], NFKD: [0x03C9, 0x0313, 0x0300, 0x0345] }, -{ source: [0x1FA0, 0x0300], NFC: [0x1FA2], NFD: [0x03C9, 0x0313, 0x0300, 0x0345], NFKC: [0x1FA2], NFKD: [0x03C9, 0x0313, 0x0300, 0x0345] }, -{ source: [0x1FA0, 0x0340], NFC: [0x1FA2], NFD: [0x03C9, 0x0313, 0x0300, 0x0345], NFKC: [0x1FA2], NFKD: [0x03C9, 0x0313, 0x0300, 0x0345] }, -{ source: [0x1F60, 0x0300, 0x0345], NFC: [0x1FA2], NFD: [0x03C9, 0x0313, 0x0300, 0x0345], NFKC: [0x1FA2], NFKD: [0x03C9, 0x0313, 0x0300, 0x0345] }, -{ source: [0x1F60, 0x0340, 0x0345], NFC: [0x1FA2], NFD: [0x03C9, 0x0313, 0x0300, 0x0345], NFKC: [0x1FA2], NFKD: [0x03C9, 0x0313, 0x0300, 0x0345] }, -{ source: [0x1F60, 0x0345, 0x0300], NFC: [0x1FA2], NFD: [0x03C9, 0x0313, 0x0300, 0x0345], NFKC: [0x1FA2], NFKD: [0x03C9, 0x0313, 0x0300, 0x0345] }, -{ source: [0x1F60, 0x0345, 0x0340], NFC: [0x1FA2], NFD: [0x03C9, 0x0313, 0x0300, 0x0345], NFKC: [0x1FA2], NFKD: [0x03C9, 0x0313, 0x0300, 0x0345] }, -{ source: [0x1FF3, 0x0313, 0x0300], NFC: [0x1FA2], NFD: [0x03C9, 0x0313, 0x0300, 0x0345], NFKC: [0x1FA2], NFKD: [0x03C9, 0x0313, 0x0300, 0x0345] }, -{ source: [0x1FF3, 0x0313, 0x0340], NFC: [0x1FA2], NFD: [0x03C9, 0x0313, 0x0300, 0x0345], NFKC: [0x1FA2], NFKD: [0x03C9, 0x0313, 0x0300, 0x0345] }, -{ source: [0x1FF3, 0x0343, 0x0300], NFC: [0x1FA2], NFD: [0x03C9, 0x0313, 0x0300, 0x0345], NFKC: [0x1FA2], NFKD: [0x03C9, 0x0313, 0x0300, 0x0345] }, -{ source: [0x1FF3, 0x0343, 0x0340], NFC: [0x1FA2], NFD: [0x03C9, 0x0313, 0x0300, 0x0345], NFKC: [0x1FA2], NFKD: [0x03C9, 0x0313, 0x0300, 0x0345] }, -{ source: [0x1F63, 0x0345], NFC: [0x1FA3], NFD: [0x03C9, 0x0314, 0x0300, 0x0345], NFKC: [0x1FA3], NFKD: [0x03C9, 0x0314, 0x0300, 0x0345] }, -{ source: [0x1FA1, 0x0300], NFC: [0x1FA3], NFD: [0x03C9, 0x0314, 0x0300, 0x0345], NFKC: [0x1FA3], NFKD: [0x03C9, 0x0314, 0x0300, 0x0345] }, -{ source: [0x1FA1, 0x0340], NFC: [0x1FA3], NFD: [0x03C9, 0x0314, 0x0300, 0x0345], NFKC: [0x1FA3], NFKD: [0x03C9, 0x0314, 0x0300, 0x0345] }, -{ source: [0x1F61, 0x0300, 0x0345], NFC: [0x1FA3], NFD: [0x03C9, 0x0314, 0x0300, 0x0345], NFKC: [0x1FA3], NFKD: [0x03C9, 0x0314, 0x0300, 0x0345] }, -{ source: [0x1F61, 0x0340, 0x0345], NFC: [0x1FA3], NFD: [0x03C9, 0x0314, 0x0300, 0x0345], NFKC: [0x1FA3], NFKD: [0x03C9, 0x0314, 0x0300, 0x0345] }, -{ source: [0x1F61, 0x0345, 0x0300], NFC: [0x1FA3], NFD: [0x03C9, 0x0314, 0x0300, 0x0345], NFKC: [0x1FA3], NFKD: [0x03C9, 0x0314, 0x0300, 0x0345] }, -{ source: [0x1F61, 0x0345, 0x0340], NFC: [0x1FA3], NFD: [0x03C9, 0x0314, 0x0300, 0x0345], NFKC: [0x1FA3], NFKD: [0x03C9, 0x0314, 0x0300, 0x0345] }, -{ source: [0x1FF3, 0x0314, 0x0300], NFC: [0x1FA3], NFD: [0x03C9, 0x0314, 0x0300, 0x0345], NFKC: [0x1FA3], NFKD: [0x03C9, 0x0314, 0x0300, 0x0345] }, -{ source: [0x1FF3, 0x0314, 0x0340], NFC: [0x1FA3], NFD: [0x03C9, 0x0314, 0x0300, 0x0345], NFKC: [0x1FA3], NFKD: [0x03C9, 0x0314, 0x0300, 0x0345] }, -{ source: [0x1F64, 0x0345], NFC: [0x1FA4], NFD: [0x03C9, 0x0313, 0x0301, 0x0345], NFKC: [0x1FA4], NFKD: [0x03C9, 0x0313, 0x0301, 0x0345] }, -{ source: [0x1FA0, 0x0301], NFC: [0x1FA4], NFD: [0x03C9, 0x0313, 0x0301, 0x0345], NFKC: [0x1FA4], NFKD: [0x03C9, 0x0313, 0x0301, 0x0345] }, -{ source: [0x1FA0, 0x0341], NFC: [0x1FA4], NFD: [0x03C9, 0x0313, 0x0301, 0x0345], NFKC: [0x1FA4], NFKD: [0x03C9, 0x0313, 0x0301, 0x0345] }, -{ source: [0x1F60, 0x0301, 0x0345], NFC: [0x1FA4], NFD: [0x03C9, 0x0313, 0x0301, 0x0345], NFKC: [0x1FA4], NFKD: [0x03C9, 0x0313, 0x0301, 0x0345] }, -{ source: [0x1F60, 0x0341, 0x0345], NFC: [0x1FA4], NFD: [0x03C9, 0x0313, 0x0301, 0x0345], NFKC: [0x1FA4], NFKD: [0x03C9, 0x0313, 0x0301, 0x0345] }, -{ source: [0x1F60, 0x0345, 0x0301], NFC: [0x1FA4], NFD: [0x03C9, 0x0313, 0x0301, 0x0345], NFKC: [0x1FA4], NFKD: [0x03C9, 0x0313, 0x0301, 0x0345] }, -{ source: [0x1F60, 0x0345, 0x0341], NFC: [0x1FA4], NFD: [0x03C9, 0x0313, 0x0301, 0x0345], NFKC: [0x1FA4], NFKD: [0x03C9, 0x0313, 0x0301, 0x0345] }, -{ source: [0x1FF3, 0x0313, 0x0301], NFC: [0x1FA4], NFD: [0x03C9, 0x0313, 0x0301, 0x0345], NFKC: [0x1FA4], NFKD: [0x03C9, 0x0313, 0x0301, 0x0345] }, -{ source: [0x1FF3, 0x0313, 0x0341], NFC: [0x1FA4], NFD: [0x03C9, 0x0313, 0x0301, 0x0345], NFKC: [0x1FA4], NFKD: [0x03C9, 0x0313, 0x0301, 0x0345] }, -{ source: [0x1FF3, 0x0343, 0x0301], NFC: [0x1FA4], NFD: [0x03C9, 0x0313, 0x0301, 0x0345], NFKC: [0x1FA4], NFKD: [0x03C9, 0x0313, 0x0301, 0x0345] }, -{ source: [0x1FF3, 0x0343, 0x0341], NFC: [0x1FA4], NFD: [0x03C9, 0x0313, 0x0301, 0x0345], NFKC: [0x1FA4], NFKD: [0x03C9, 0x0313, 0x0301, 0x0345] }, -{ source: [0x1F65, 0x0345], NFC: [0x1FA5], NFD: [0x03C9, 0x0314, 0x0301, 0x0345], NFKC: [0x1FA5], NFKD: [0x03C9, 0x0314, 0x0301, 0x0345] }, -{ source: [0x1FA1, 0x0301], NFC: [0x1FA5], NFD: [0x03C9, 0x0314, 0x0301, 0x0345], NFKC: [0x1FA5], NFKD: [0x03C9, 0x0314, 0x0301, 0x0345] }, -{ source: [0x1FA1, 0x0341], NFC: [0x1FA5], NFD: [0x03C9, 0x0314, 0x0301, 0x0345], NFKC: [0x1FA5], NFKD: [0x03C9, 0x0314, 0x0301, 0x0345] }, -{ source: [0x1F61, 0x0301, 0x0345], NFC: [0x1FA5], NFD: [0x03C9, 0x0314, 0x0301, 0x0345], NFKC: [0x1FA5], NFKD: [0x03C9, 0x0314, 0x0301, 0x0345] }, -{ source: [0x1F61, 0x0341, 0x0345], NFC: [0x1FA5], NFD: [0x03C9, 0x0314, 0x0301, 0x0345], NFKC: [0x1FA5], NFKD: [0x03C9, 0x0314, 0x0301, 0x0345] }, -{ source: [0x1F61, 0x0345, 0x0301], NFC: [0x1FA5], NFD: [0x03C9, 0x0314, 0x0301, 0x0345], NFKC: [0x1FA5], NFKD: [0x03C9, 0x0314, 0x0301, 0x0345] }, -{ source: [0x1F61, 0x0345, 0x0341], NFC: [0x1FA5], NFD: [0x03C9, 0x0314, 0x0301, 0x0345], NFKC: [0x1FA5], NFKD: [0x03C9, 0x0314, 0x0301, 0x0345] }, -{ source: [0x1FF3, 0x0314, 0x0301], NFC: [0x1FA5], NFD: [0x03C9, 0x0314, 0x0301, 0x0345], NFKC: [0x1FA5], NFKD: [0x03C9, 0x0314, 0x0301, 0x0345] }, -{ source: [0x1FF3, 0x0314, 0x0341], NFC: [0x1FA5], NFD: [0x03C9, 0x0314, 0x0301, 0x0345], NFKC: [0x1FA5], NFKD: [0x03C9, 0x0314, 0x0301, 0x0345] }, -{ source: [0x1F66, 0x0345], NFC: [0x1FA6], NFD: [0x03C9, 0x0313, 0x0342, 0x0345], NFKC: [0x1FA6], NFKD: [0x03C9, 0x0313, 0x0342, 0x0345] }, -{ source: [0x1FA0, 0x0342], NFC: [0x1FA6], NFD: [0x03C9, 0x0313, 0x0342, 0x0345], NFKC: [0x1FA6], NFKD: [0x03C9, 0x0313, 0x0342, 0x0345] }, -{ source: [0x1F60, 0x0342, 0x0345], NFC: [0x1FA6], NFD: [0x03C9, 0x0313, 0x0342, 0x0345], NFKC: [0x1FA6], NFKD: [0x03C9, 0x0313, 0x0342, 0x0345] }, -{ source: [0x1F60, 0x0345, 0x0342], NFC: [0x1FA6], NFD: [0x03C9, 0x0313, 0x0342, 0x0345], NFKC: [0x1FA6], NFKD: [0x03C9, 0x0313, 0x0342, 0x0345] }, -{ source: [0x1FF3, 0x0313, 0x0342], NFC: [0x1FA6], NFD: [0x03C9, 0x0313, 0x0342, 0x0345], NFKC: [0x1FA6], NFKD: [0x03C9, 0x0313, 0x0342, 0x0345] }, -{ source: [0x1FF3, 0x0343, 0x0342], NFC: [0x1FA6], NFD: [0x03C9, 0x0313, 0x0342, 0x0345], NFKC: [0x1FA6], NFKD: [0x03C9, 0x0313, 0x0342, 0x0345] }, -{ source: [0x1F67, 0x0345], NFC: [0x1FA7], NFD: [0x03C9, 0x0314, 0x0342, 0x0345], NFKC: [0x1FA7], NFKD: [0x03C9, 0x0314, 0x0342, 0x0345] }, -{ source: [0x1FA1, 0x0342], NFC: [0x1FA7], NFD: [0x03C9, 0x0314, 0x0342, 0x0345], NFKC: [0x1FA7], NFKD: [0x03C9, 0x0314, 0x0342, 0x0345] }, -{ source: [0x1F61, 0x0342, 0x0345], NFC: [0x1FA7], NFD: [0x03C9, 0x0314, 0x0342, 0x0345], NFKC: [0x1FA7], NFKD: [0x03C9, 0x0314, 0x0342, 0x0345] }, -{ source: [0x1F61, 0x0345, 0x0342], NFC: [0x1FA7], NFD: [0x03C9, 0x0314, 0x0342, 0x0345], NFKC: [0x1FA7], NFKD: [0x03C9, 0x0314, 0x0342, 0x0345] }, -{ source: [0x1FF3, 0x0314, 0x0342], NFC: [0x1FA7], NFD: [0x03C9, 0x0314, 0x0342, 0x0345], NFKC: [0x1FA7], NFKD: [0x03C9, 0x0314, 0x0342, 0x0345] }, -{ source: [0x1F68, 0x0345], NFC: [0x1FA8], NFD: [0x03A9, 0x0313, 0x0345], NFKC: [0x1FA8], NFKD: [0x03A9, 0x0313, 0x0345] }, -{ source: [0x1FFC, 0x0313], NFC: [0x1FA8], NFD: [0x03A9, 0x0313, 0x0345], NFKC: [0x1FA8], NFKD: [0x03A9, 0x0313, 0x0345] }, -{ source: [0x1FFC, 0x0343], NFC: [0x1FA8], NFD: [0x03A9, 0x0313, 0x0345], NFKC: [0x1FA8], NFKD: [0x03A9, 0x0313, 0x0345] }, -{ source: [0x1F69, 0x0345], NFC: [0x1FA9], NFD: [0x03A9, 0x0314, 0x0345], NFKC: [0x1FA9], NFKD: [0x03A9, 0x0314, 0x0345] }, -{ source: [0x1FFC, 0x0314], NFC: [0x1FA9], NFD: [0x03A9, 0x0314, 0x0345], NFKC: [0x1FA9], NFKD: [0x03A9, 0x0314, 0x0345] }, -{ source: [0x1F6A, 0x0345], NFC: [0x1FAA], NFD: [0x03A9, 0x0313, 0x0300, 0x0345], NFKC: [0x1FAA], NFKD: [0x03A9, 0x0313, 0x0300, 0x0345] }, -{ source: [0x1FA8, 0x0300], NFC: [0x1FAA], NFD: [0x03A9, 0x0313, 0x0300, 0x0345], NFKC: [0x1FAA], NFKD: [0x03A9, 0x0313, 0x0300, 0x0345] }, -{ source: [0x1FA8, 0x0340], NFC: [0x1FAA], NFD: [0x03A9, 0x0313, 0x0300, 0x0345], NFKC: [0x1FAA], NFKD: [0x03A9, 0x0313, 0x0300, 0x0345] }, -{ source: [0x1F68, 0x0300, 0x0345], NFC: [0x1FAA], NFD: [0x03A9, 0x0313, 0x0300, 0x0345], NFKC: [0x1FAA], NFKD: [0x03A9, 0x0313, 0x0300, 0x0345] }, -{ source: [0x1F68, 0x0340, 0x0345], NFC: [0x1FAA], NFD: [0x03A9, 0x0313, 0x0300, 0x0345], NFKC: [0x1FAA], NFKD: [0x03A9, 0x0313, 0x0300, 0x0345] }, -{ source: [0x1F68, 0x0345, 0x0300], NFC: [0x1FAA], NFD: [0x03A9, 0x0313, 0x0300, 0x0345], NFKC: [0x1FAA], NFKD: [0x03A9, 0x0313, 0x0300, 0x0345] }, -{ source: [0x1F68, 0x0345, 0x0340], NFC: [0x1FAA], NFD: [0x03A9, 0x0313, 0x0300, 0x0345], NFKC: [0x1FAA], NFKD: [0x03A9, 0x0313, 0x0300, 0x0345] }, -{ source: [0x1FFC, 0x0313, 0x0300], NFC: [0x1FAA], NFD: [0x03A9, 0x0313, 0x0300, 0x0345], NFKC: [0x1FAA], NFKD: [0x03A9, 0x0313, 0x0300, 0x0345] }, -{ source: [0x1FFC, 0x0313, 0x0340], NFC: [0x1FAA], NFD: [0x03A9, 0x0313, 0x0300, 0x0345], NFKC: [0x1FAA], NFKD: [0x03A9, 0x0313, 0x0300, 0x0345] }, -{ source: [0x1FFC, 0x0343, 0x0300], NFC: [0x1FAA], NFD: [0x03A9, 0x0313, 0x0300, 0x0345], NFKC: [0x1FAA], NFKD: [0x03A9, 0x0313, 0x0300, 0x0345] }, -{ source: [0x1FFC, 0x0343, 0x0340], NFC: [0x1FAA], NFD: [0x03A9, 0x0313, 0x0300, 0x0345], NFKC: [0x1FAA], NFKD: [0x03A9, 0x0313, 0x0300, 0x0345] }, -{ source: [0x1F6B, 0x0345], NFC: [0x1FAB], NFD: [0x03A9, 0x0314, 0x0300, 0x0345], NFKC: [0x1FAB], NFKD: [0x03A9, 0x0314, 0x0300, 0x0345] }, -{ source: [0x1FA9, 0x0300], NFC: [0x1FAB], NFD: [0x03A9, 0x0314, 0x0300, 0x0345], NFKC: [0x1FAB], NFKD: [0x03A9, 0x0314, 0x0300, 0x0345] }, -{ source: [0x1FA9, 0x0340], NFC: [0x1FAB], NFD: [0x03A9, 0x0314, 0x0300, 0x0345], NFKC: [0x1FAB], NFKD: [0x03A9, 0x0314, 0x0300, 0x0345] }, -{ source: [0x1F69, 0x0300, 0x0345], NFC: [0x1FAB], NFD: [0x03A9, 0x0314, 0x0300, 0x0345], NFKC: [0x1FAB], NFKD: [0x03A9, 0x0314, 0x0300, 0x0345] }, -{ source: [0x1F69, 0x0340, 0x0345], NFC: [0x1FAB], NFD: [0x03A9, 0x0314, 0x0300, 0x0345], NFKC: [0x1FAB], NFKD: [0x03A9, 0x0314, 0x0300, 0x0345] }, -{ source: [0x1F69, 0x0345, 0x0300], NFC: [0x1FAB], NFD: [0x03A9, 0x0314, 0x0300, 0x0345], NFKC: [0x1FAB], NFKD: [0x03A9, 0x0314, 0x0300, 0x0345] }, -{ source: [0x1F69, 0x0345, 0x0340], NFC: [0x1FAB], NFD: [0x03A9, 0x0314, 0x0300, 0x0345], NFKC: [0x1FAB], NFKD: [0x03A9, 0x0314, 0x0300, 0x0345] }, -{ source: [0x1FFC, 0x0314, 0x0300], NFC: [0x1FAB], NFD: [0x03A9, 0x0314, 0x0300, 0x0345], NFKC: [0x1FAB], NFKD: [0x03A9, 0x0314, 0x0300, 0x0345] }, -{ source: [0x1FFC, 0x0314, 0x0340], NFC: [0x1FAB], NFD: [0x03A9, 0x0314, 0x0300, 0x0345], NFKC: [0x1FAB], NFKD: [0x03A9, 0x0314, 0x0300, 0x0345] }, -{ source: [0x1F6C, 0x0345], NFC: [0x1FAC], NFD: [0x03A9, 0x0313, 0x0301, 0x0345], NFKC: [0x1FAC], NFKD: [0x03A9, 0x0313, 0x0301, 0x0345] }, -{ source: [0x1FA8, 0x0301], NFC: [0x1FAC], NFD: [0x03A9, 0x0313, 0x0301, 0x0345], NFKC: [0x1FAC], NFKD: [0x03A9, 0x0313, 0x0301, 0x0345] }, -{ source: [0x1FA8, 0x0341], NFC: [0x1FAC], NFD: [0x03A9, 0x0313, 0x0301, 0x0345], NFKC: [0x1FAC], NFKD: [0x03A9, 0x0313, 0x0301, 0x0345] }, -{ source: [0x1F68, 0x0301, 0x0345], NFC: [0x1FAC], NFD: [0x03A9, 0x0313, 0x0301, 0x0345], NFKC: [0x1FAC], NFKD: [0x03A9, 0x0313, 0x0301, 0x0345] }, -{ source: [0x1F68, 0x0341, 0x0345], NFC: [0x1FAC], NFD: [0x03A9, 0x0313, 0x0301, 0x0345], NFKC: [0x1FAC], NFKD: [0x03A9, 0x0313, 0x0301, 0x0345] }, -{ source: [0x1F68, 0x0345, 0x0301], NFC: [0x1FAC], NFD: [0x03A9, 0x0313, 0x0301, 0x0345], NFKC: [0x1FAC], NFKD: [0x03A9, 0x0313, 0x0301, 0x0345] }, -{ source: [0x1F68, 0x0345, 0x0341], NFC: [0x1FAC], NFD: [0x03A9, 0x0313, 0x0301, 0x0345], NFKC: [0x1FAC], NFKD: [0x03A9, 0x0313, 0x0301, 0x0345] }, -{ source: [0x1FFC, 0x0313, 0x0301], NFC: [0x1FAC], NFD: [0x03A9, 0x0313, 0x0301, 0x0345], NFKC: [0x1FAC], NFKD: [0x03A9, 0x0313, 0x0301, 0x0345] }, -{ source: [0x1FFC, 0x0313, 0x0341], NFC: [0x1FAC], NFD: [0x03A9, 0x0313, 0x0301, 0x0345], NFKC: [0x1FAC], NFKD: [0x03A9, 0x0313, 0x0301, 0x0345] }, -{ source: [0x1FFC, 0x0343, 0x0301], NFC: [0x1FAC], NFD: [0x03A9, 0x0313, 0x0301, 0x0345], NFKC: [0x1FAC], NFKD: [0x03A9, 0x0313, 0x0301, 0x0345] }, -{ source: [0x1FFC, 0x0343, 0x0341], NFC: [0x1FAC], NFD: [0x03A9, 0x0313, 0x0301, 0x0345], NFKC: [0x1FAC], NFKD: [0x03A9, 0x0313, 0x0301, 0x0345] }, -{ source: [0x1F6D, 0x0345], NFC: [0x1FAD], NFD: [0x03A9, 0x0314, 0x0301, 0x0345], NFKC: [0x1FAD], NFKD: [0x03A9, 0x0314, 0x0301, 0x0345] }, -{ source: [0x1FA9, 0x0301], NFC: [0x1FAD], NFD: [0x03A9, 0x0314, 0x0301, 0x0345], NFKC: [0x1FAD], NFKD: [0x03A9, 0x0314, 0x0301, 0x0345] }, -{ source: [0x1FA9, 0x0341], NFC: [0x1FAD], NFD: [0x03A9, 0x0314, 0x0301, 0x0345], NFKC: [0x1FAD], NFKD: [0x03A9, 0x0314, 0x0301, 0x0345] }, -{ source: [0x1F69, 0x0301, 0x0345], NFC: [0x1FAD], NFD: [0x03A9, 0x0314, 0x0301, 0x0345], NFKC: [0x1FAD], NFKD: [0x03A9, 0x0314, 0x0301, 0x0345] }, -{ source: [0x1F69, 0x0341, 0x0345], NFC: [0x1FAD], NFD: [0x03A9, 0x0314, 0x0301, 0x0345], NFKC: [0x1FAD], NFKD: [0x03A9, 0x0314, 0x0301, 0x0345] }, -{ source: [0x1F69, 0x0345, 0x0301], NFC: [0x1FAD], NFD: [0x03A9, 0x0314, 0x0301, 0x0345], NFKC: [0x1FAD], NFKD: [0x03A9, 0x0314, 0x0301, 0x0345] }, -{ source: [0x1F69, 0x0345, 0x0341], NFC: [0x1FAD], NFD: [0x03A9, 0x0314, 0x0301, 0x0345], NFKC: [0x1FAD], NFKD: [0x03A9, 0x0314, 0x0301, 0x0345] }, -{ source: [0x1FFC, 0x0314, 0x0301], NFC: [0x1FAD], NFD: [0x03A9, 0x0314, 0x0301, 0x0345], NFKC: [0x1FAD], NFKD: [0x03A9, 0x0314, 0x0301, 0x0345] }, -{ source: [0x1FFC, 0x0314, 0x0341], NFC: [0x1FAD], NFD: [0x03A9, 0x0314, 0x0301, 0x0345], NFKC: [0x1FAD], NFKD: [0x03A9, 0x0314, 0x0301, 0x0345] }, -{ source: [0x1F6E, 0x0345], NFC: [0x1FAE], NFD: [0x03A9, 0x0313, 0x0342, 0x0345], NFKC: [0x1FAE], NFKD: [0x03A9, 0x0313, 0x0342, 0x0345] }, -{ source: [0x1FA8, 0x0342], NFC: [0x1FAE], NFD: [0x03A9, 0x0313, 0x0342, 0x0345], NFKC: [0x1FAE], NFKD: [0x03A9, 0x0313, 0x0342, 0x0345] }, -{ source: [0x1F68, 0x0342, 0x0345], NFC: [0x1FAE], NFD: [0x03A9, 0x0313, 0x0342, 0x0345], NFKC: [0x1FAE], NFKD: [0x03A9, 0x0313, 0x0342, 0x0345] }, -{ source: [0x1F68, 0x0345, 0x0342], NFC: [0x1FAE], NFD: [0x03A9, 0x0313, 0x0342, 0x0345], NFKC: [0x1FAE], NFKD: [0x03A9, 0x0313, 0x0342, 0x0345] }, -{ source: [0x1FFC, 0x0313, 0x0342], NFC: [0x1FAE], NFD: [0x03A9, 0x0313, 0x0342, 0x0345], NFKC: [0x1FAE], NFKD: [0x03A9, 0x0313, 0x0342, 0x0345] }, -{ source: [0x1FFC, 0x0343, 0x0342], NFC: [0x1FAE], NFD: [0x03A9, 0x0313, 0x0342, 0x0345], NFKC: [0x1FAE], NFKD: [0x03A9, 0x0313, 0x0342, 0x0345] }, -{ source: [0x1F6F, 0x0345], NFC: [0x1FAF], NFD: [0x03A9, 0x0314, 0x0342, 0x0345], NFKC: [0x1FAF], NFKD: [0x03A9, 0x0314, 0x0342, 0x0345] }, -{ source: [0x1FA9, 0x0342], NFC: [0x1FAF], NFD: [0x03A9, 0x0314, 0x0342, 0x0345], NFKC: [0x1FAF], NFKD: [0x03A9, 0x0314, 0x0342, 0x0345] }, -{ source: [0x1F69, 0x0342, 0x0345], NFC: [0x1FAF], NFD: [0x03A9, 0x0314, 0x0342, 0x0345], NFKC: [0x1FAF], NFKD: [0x03A9, 0x0314, 0x0342, 0x0345] }, -{ source: [0x1F69, 0x0345, 0x0342], NFC: [0x1FAF], NFD: [0x03A9, 0x0314, 0x0342, 0x0345], NFKC: [0x1FAF], NFKD: [0x03A9, 0x0314, 0x0342, 0x0345] }, -{ source: [0x1FFC, 0x0314, 0x0342], NFC: [0x1FAF], NFD: [0x03A9, 0x0314, 0x0342, 0x0345], NFKC: [0x1FAF], NFKD: [0x03A9, 0x0314, 0x0342, 0x0345] }, -{ source: [0x1F70, 0x0345], NFC: [0x1FB2], NFD: [0x03B1, 0x0300, 0x0345], NFKC: [0x1FB2], NFKD: [0x03B1, 0x0300, 0x0345] }, -{ source: [0x1FB3, 0x0300], NFC: [0x1FB2], NFD: [0x03B1, 0x0300, 0x0345], NFKC: [0x1FB2], NFKD: [0x03B1, 0x0300, 0x0345] }, -{ source: [0x1FB3, 0x0340], NFC: [0x1FB2], NFD: [0x03B1, 0x0300, 0x0345], NFKC: [0x1FB2], NFKD: [0x03B1, 0x0300, 0x0345] }, -{ source: [0x03AC, 0x0345], NFC: [0x1FB4], NFD: [0x03B1, 0x0301, 0x0345], NFKC: [0x1FB4], NFKD: [0x03B1, 0x0301, 0x0345] }, -{ source: [0x1F71, 0x0345], NFC: [0x1FB4], NFD: [0x03B1, 0x0301, 0x0345], NFKC: [0x1FB4], NFKD: [0x03B1, 0x0301, 0x0345] }, -{ source: [0x1FB3, 0x0301], NFC: [0x1FB4], NFD: [0x03B1, 0x0301, 0x0345], NFKC: [0x1FB4], NFKD: [0x03B1, 0x0301, 0x0345] }, -{ source: [0x1FB3, 0x0341], NFC: [0x1FB4], NFD: [0x03B1, 0x0301, 0x0345], NFKC: [0x1FB4], NFKD: [0x03B1, 0x0301, 0x0345] }, -{ source: [0x1FB3, 0x0342], NFC: [0x1FB7], NFD: [0x03B1, 0x0342, 0x0345], NFKC: [0x1FB7], NFKD: [0x03B1, 0x0342, 0x0345] }, -{ source: [0x1FB6, 0x0345], NFC: [0x1FB7], NFD: [0x03B1, 0x0342, 0x0345], NFKC: [0x1FB7], NFKD: [0x03B1, 0x0342, 0x0345] }, -{ source: [0x1F74, 0x0345], NFC: [0x1FC2], NFD: [0x03B7, 0x0300, 0x0345], NFKC: [0x1FC2], NFKD: [0x03B7, 0x0300, 0x0345] }, -{ source: [0x1FC3, 0x0300], NFC: [0x1FC2], NFD: [0x03B7, 0x0300, 0x0345], NFKC: [0x1FC2], NFKD: [0x03B7, 0x0300, 0x0345] }, -{ source: [0x1FC3, 0x0340], NFC: [0x1FC2], NFD: [0x03B7, 0x0300, 0x0345], NFKC: [0x1FC2], NFKD: [0x03B7, 0x0300, 0x0345] }, -{ source: [0x03AE, 0x0345], NFC: [0x1FC4], NFD: [0x03B7, 0x0301, 0x0345], NFKC: [0x1FC4], NFKD: [0x03B7, 0x0301, 0x0345] }, -{ source: [0x1F75, 0x0345], NFC: [0x1FC4], NFD: [0x03B7, 0x0301, 0x0345], NFKC: [0x1FC4], NFKD: [0x03B7, 0x0301, 0x0345] }, -{ source: [0x1FC3, 0x0301], NFC: [0x1FC4], NFD: [0x03B7, 0x0301, 0x0345], NFKC: [0x1FC4], NFKD: [0x03B7, 0x0301, 0x0345] }, -{ source: [0x1FC3, 0x0341], NFC: [0x1FC4], NFD: [0x03B7, 0x0301, 0x0345], NFKC: [0x1FC4], NFKD: [0x03B7, 0x0301, 0x0345] }, -{ source: [0x1FC3, 0x0342], NFC: [0x1FC7], NFD: [0x03B7, 0x0342, 0x0345], NFKC: [0x1FC7], NFKD: [0x03B7, 0x0342, 0x0345] }, -{ source: [0x1FC6, 0x0345], NFC: [0x1FC7], NFD: [0x03B7, 0x0342, 0x0345], NFKC: [0x1FC7], NFKD: [0x03B7, 0x0342, 0x0345] }, -{ source: [0x03CA, 0x0300], NFC: [0x1FD2], NFD: [0x03B9, 0x0308, 0x0300], NFKC: [0x1FD2], NFKD: [0x03B9, 0x0308, 0x0300] }, -{ source: [0x03CA, 0x0340], NFC: [0x1FD2], NFD: [0x03B9, 0x0308, 0x0300], NFKC: [0x1FD2], NFKD: [0x03B9, 0x0308, 0x0300] }, -{ source: [0x03B9, 0x0344], NFC: [0x0390], NFD: [0x03B9, 0x0308, 0x0301], NFKC: [0x0390], NFKD: [0x03B9, 0x0308, 0x0301] }, -{ source: [0x03CA, 0x0301], NFC: [0x0390], NFD: [0x03B9, 0x0308, 0x0301], NFKC: [0x0390], NFKD: [0x03B9, 0x0308, 0x0301] }, -{ source: [0x03CA, 0x0341], NFC: [0x0390], NFD: [0x03B9, 0x0308, 0x0301], NFKC: [0x0390], NFKD: [0x03B9, 0x0308, 0x0301] }, -{ source: [0x1FBE, 0x0344], NFC: [0x0390], NFD: [0x03B9, 0x0308, 0x0301], NFKC: [0x0390], NFKD: [0x03B9, 0x0308, 0x0301] }, -{ source: [0x03CA, 0x0342], NFC: [0x1FD7], NFD: [0x03B9, 0x0308, 0x0342], NFKC: [0x1FD7], NFKD: [0x03B9, 0x0308, 0x0342] }, -{ source: [0x03CB, 0x0300], NFC: [0x1FE2], NFD: [0x03C5, 0x0308, 0x0300], NFKC: [0x1FE2], NFKD: [0x03C5, 0x0308, 0x0300] }, -{ source: [0x03CB, 0x0340], NFC: [0x1FE2], NFD: [0x03C5, 0x0308, 0x0300], NFKC: [0x1FE2], NFKD: [0x03C5, 0x0308, 0x0300] }, -{ source: [0x03C5, 0x0344], NFC: [0x03B0], NFD: [0x03C5, 0x0308, 0x0301], NFKC: [0x03B0], NFKD: [0x03C5, 0x0308, 0x0301] }, -{ source: [0x03CB, 0x0301], NFC: [0x03B0], NFD: [0x03C5, 0x0308, 0x0301], NFKC: [0x03B0], NFKD: [0x03C5, 0x0308, 0x0301] }, -{ source: [0x03CB, 0x0341], NFC: [0x03B0], NFD: [0x03C5, 0x0308, 0x0301], NFKC: [0x03B0], NFKD: [0x03C5, 0x0308, 0x0301] }, -{ source: [0x03CB, 0x0342], NFC: [0x1FE7], NFD: [0x03C5, 0x0308, 0x0342], NFKC: [0x1FE7], NFKD: [0x03C5, 0x0308, 0x0342] }, -{ source: [0x1F7C, 0x0345], NFC: [0x1FF2], NFD: [0x03C9, 0x0300, 0x0345], NFKC: [0x1FF2], NFKD: [0x03C9, 0x0300, 0x0345] }, -{ source: [0x1FF3, 0x0300], NFC: [0x1FF2], NFD: [0x03C9, 0x0300, 0x0345], NFKC: [0x1FF2], NFKD: [0x03C9, 0x0300, 0x0345] }, -{ source: [0x1FF3, 0x0340], NFC: [0x1FF2], NFD: [0x03C9, 0x0300, 0x0345], NFKC: [0x1FF2], NFKD: [0x03C9, 0x0300, 0x0345] }, -{ source: [0x03CE, 0x0345], NFC: [0x1FF4], NFD: [0x03C9, 0x0301, 0x0345], NFKC: [0x1FF4], NFKD: [0x03C9, 0x0301, 0x0345] }, -{ source: [0x1F7D, 0x0345], NFC: [0x1FF4], NFD: [0x03C9, 0x0301, 0x0345], NFKC: [0x1FF4], NFKD: [0x03C9, 0x0301, 0x0345] }, -{ source: [0x1FF3, 0x0301], NFC: [0x1FF4], NFD: [0x03C9, 0x0301, 0x0345], NFKC: [0x1FF4], NFKD: [0x03C9, 0x0301, 0x0345] }, -{ source: [0x1FF3, 0x0341], NFC: [0x1FF4], NFD: [0x03C9, 0x0301, 0x0345], NFKC: [0x1FF4], NFKD: [0x03C9, 0x0301, 0x0345] }, -{ source: [0x1FF3, 0x0342], NFC: [0x1FF7], NFD: [0x03C9, 0x0342, 0x0345], NFKC: [0x1FF7], NFKD: [0x03C9, 0x0342, 0x0345] }, -{ source: [0x1FF6, 0x0345], NFC: [0x1FF7], NFD: [0x03C9, 0x0342, 0x0345], NFKC: [0x1FF7], NFKD: [0x03C9, 0x0342, 0x0345] }, -{ source: [0xFB2A, 0x05BC], NFC: [0x05E9, 0x05BC, 0x05C1], NFD: [0x05E9, 0x05BC, 0x05C1], NFKC: [0x05E9, 0x05BC, 0x05C1], NFKD: [0x05E9, 0x05BC, 0x05C1] }, -{ source: [0xFB49, 0x05C1], NFC: [0x05E9, 0x05BC, 0x05C1], NFD: [0x05E9, 0x05BC, 0x05C1], NFKC: [0x05E9, 0x05BC, 0x05C1], NFKD: [0x05E9, 0x05BC, 0x05C1] }, -{ source: [0xFB2B, 0x05BC], NFC: [0x05E9, 0x05BC, 0x05C2], NFD: [0x05E9, 0x05BC, 0x05C2], NFKC: [0x05E9, 0x05BC, 0x05C2], NFKD: [0x05E9, 0x05BC, 0x05C2] }, -{ source: [0xFB49, 0x05C2], NFC: [0x05E9, 0x05BC, 0x05C2], NFD: [0x05E9, 0x05BC, 0x05C2], NFKC: [0x05E9, 0x05BC, 0x05C2], NFKD: [0x05E9, 0x05BC, 0x05C2] }, -{ source: [0x1611E, 0x16123], NFC: [0x16126], NFD: [0x1611E, 0x1611E, 0x1611F], NFKC: [0x16126], NFKD: [0x1611E, 0x1611E, 0x1611F] }, -{ source: [0x16121, 0x1611F], NFC: [0x16126], NFD: [0x1611E, 0x1611E, 0x1611F], NFKC: [0x16126], NFKD: [0x1611E, 0x1611E, 0x1611F] }, -{ source: [0x1611E, 0x16124], NFC: [0x16127], NFD: [0x1611E, 0x16129, 0x1611F], NFKC: [0x16127], NFKD: [0x1611E, 0x16129, 0x1611F] }, -{ source: [0x16122, 0x1611F], NFC: [0x16127], NFD: [0x1611E, 0x16129, 0x1611F], NFKC: [0x16127], NFKD: [0x1611E, 0x16129, 0x1611F] }, -{ source: [0x1611E, 0x16125], NFC: [0x16128], NFD: [0x1611E, 0x1611E, 0x16120], NFKC: [0x16128], NFKD: [0x1611E, 0x1611E, 0x16120] }, -{ source: [0x16121, 0x16120], NFC: [0x16128], NFD: [0x1611E, 0x1611E, 0x16120], NFKC: [0x16128], NFKD: [0x1611E, 0x1611E, 0x16120] }, -{ source: [0x16D63, 0x16D68], NFC: [0x16D6A], NFD: [0x16D63, 0x16D67, 0x16D67], NFKC: [0x16D6A], NFKD: [0x16D63, 0x16D67, 0x16D67] }, -{ source: [0x16D69, 0x16D67], NFC: [0x16D6A], NFD: [0x16D63, 0x16D67, 0x16D67], NFKC: [0x16D6A], NFKD: [0x16D63, 0x16D67, 0x16D67] }, -{ source: [0x1D15F, 0x1D16E], NFC: [0x1D158, 0x1D165, 0x1D16E], NFD: [0x1D158, 0x1D165, 0x1D16E], NFKC: [0x1D158, 0x1D165, 0x1D16E], NFKD: [0x1D158, 0x1D165, 0x1D16E] }, -{ source: [0x1D15F, 0x1D16F], NFC: [0x1D158, 0x1D165, 0x1D16F], NFD: [0x1D158, 0x1D165, 0x1D16F], NFKC: [0x1D158, 0x1D165, 0x1D16F], NFKD: [0x1D158, 0x1D165, 0x1D16F] }, -{ source: [0x1D15F, 0x1D170], NFC: [0x1D158, 0x1D165, 0x1D170], NFD: [0x1D158, 0x1D165, 0x1D170], NFKC: [0x1D158, 0x1D165, 0x1D170], NFKD: [0x1D158, 0x1D165, 0x1D170] }, -{ source: [0x1D15F, 0x1D171], NFC: [0x1D158, 0x1D165, 0x1D171], NFD: [0x1D158, 0x1D165, 0x1D171], NFKC: [0x1D158, 0x1D165, 0x1D171], NFKD: [0x1D158, 0x1D165, 0x1D171] }, -{ source: [0x1D15F, 0x1D172], NFC: [0x1D158, 0x1D165, 0x1D172], NFD: [0x1D158, 0x1D165, 0x1D172], NFKC: [0x1D158, 0x1D165, 0x1D172], NFKD: [0x1D158, 0x1D165, 0x1D172] }, -{ source: [0x1D1BB, 0x1D16E], NFC: [0x1D1B9, 0x1D165, 0x1D16E], NFD: [0x1D1B9, 0x1D165, 0x1D16E], NFKC: [0x1D1B9, 0x1D165, 0x1D16E], NFKD: [0x1D1B9, 0x1D165, 0x1D16E] }, -{ source: [0x1D1BC, 0x1D16E], NFC: [0x1D1BA, 0x1D165, 0x1D16E], NFD: [0x1D1BA, 0x1D165, 0x1D16E], NFKC: [0x1D1BA, 0x1D165, 0x1D16E], NFKD: [0x1D1BA, 0x1D165, 0x1D16E] }, -{ source: [0x1D1BB, 0x1D16F], NFC: [0x1D1B9, 0x1D165, 0x1D16F], NFD: [0x1D1B9, 0x1D165, 0x1D16F], NFKC: [0x1D1B9, 0x1D165, 0x1D16F], NFKD: [0x1D1B9, 0x1D165, 0x1D16F] }, -{ source: [0x1D1BC, 0x1D16F], NFC: [0x1D1BA, 0x1D165, 0x1D16F], NFD: [0x1D1BA, 0x1D165, 0x1D16F], NFKC: [0x1D1BA, 0x1D165, 0x1D16F], NFKD: [0x1D1BA, 0x1D165, 0x1D16F] } -]; -/* Part5 # Chained primary composites */ -var tests_part5 = [ -{ source: [0x1138B, 0x113C7], NFC: [0x1138E, 0x113B8], NFD: [0x1138B, 0x113C2, 0x113B8], NFKC: [0x1138E, 0x113B8], NFKD: [0x1138B, 0x113C2, 0x113B8] }, -{ source: [0x113C2, 0x113C7], NFC: [0x113C5, 0x113B8], NFD: [0x113C2, 0x113C2, 0x113B8], NFKC: [0x113C5, 0x113B8], NFKD: [0x113C2, 0x113C2, 0x113B8] }, -{ source: [0x1138B, 0x113C5], NFC: [0x1138E, 0x113C2], NFD: [0x1138B, 0x113C2, 0x113C2], NFKC: [0x1138E, 0x113C2], NFKD: [0x1138B, 0x113C2, 0x113C2] }, -{ source: [0x1138B, 0x113C5, 0x113C2], NFC: [0x1138E, 0x113C5], NFD: [0x1138B, 0x113C2, 0x113C2, 0x113C2], NFKC: [0x1138E, 0x113C5], NFKD: [0x1138B, 0x113C2, 0x113C2, 0x113C2] }, -{ source: [0x1138B, 0x113C5, 0x113B8], NFC: [0x1138E, 0x113C7], NFD: [0x1138B, 0x113C2, 0x113C2, 0x113B8], NFKC: [0x1138E, 0x113C7], NFKD: [0x1138B, 0x113C2, 0x113C2, 0x113B8] }, -{ source: [0x1138B, 0x113C5, 0x113C9], NFC: [0x1138E, 0x113C8], NFD: [0x1138B, 0x113C2, 0x113C2, 0x113C9], NFKC: [0x1138E, 0x113C8], NFKD: [0x1138B, 0x113C2, 0x113C2, 0x113C9] }, -{ source: [0x113C2, 0x113C5], NFC: [0x113C5, 0x113C2], NFD: [0x113C2, 0x113C2, 0x113C2], NFKC: [0x113C5, 0x113C2], NFKD: [0x113C2, 0x113C2, 0x113C2] }, -{ source: [0x113C2, 0x113C5, 0x113C2], NFC: [0x113C5, 0x113C5], NFD: [0x113C2, 0x113C2, 0x113C2, 0x113C2], NFKC: [0x113C5, 0x113C5], NFKD: [0x113C2, 0x113C2, 0x113C2, 0x113C2] }, -{ source: [0x113C2, 0x113C5, 0x113B8], NFC: [0x113C5, 0x113C7], NFD: [0x113C2, 0x113C2, 0x113C2, 0x113B8], NFKC: [0x113C5, 0x113C7], NFKD: [0x113C2, 0x113C2, 0x113C2, 0x113B8] }, -{ source: [0x113C2, 0x113C5, 0x113C9], NFC: [0x113C5, 0x113C8], NFD: [0x113C2, 0x113C2, 0x113C2, 0x113C9], NFKC: [0x113C5, 0x113C8], NFKD: [0x113C2, 0x113C2, 0x113C2, 0x113C9] }, -{ source: [0x1138B, 0x113C8], NFC: [0x1138E, 0x113C9], NFD: [0x1138B, 0x113C2, 0x113C9], NFKC: [0x1138E, 0x113C9], NFKD: [0x1138B, 0x113C2, 0x113C9] }, -{ source: [0x113C2, 0x113C8], NFC: [0x113C5, 0x113C9], NFD: [0x113C2, 0x113C2, 0x113C9], NFKC: [0x113C5, 0x113C9], NFKD: [0x113C2, 0x113C2, 0x113C9] }, -{ source: [0x16121, 0x1611E, 0x1611F], NFC: [0x16121, 0x16123], NFD: [0x1611E, 0x1611E, 0x1611E, 0x1611F], NFKC: [0x16121, 0x16123], NFKD: [0x1611E, 0x1611E, 0x1611E, 0x1611F] }, -{ source: [0x16121, 0x16129, 0x1611F], NFC: [0x16121, 0x16124], NFD: [0x1611E, 0x1611E, 0x16129, 0x1611F], NFKC: [0x16121, 0x16124], NFKD: [0x1611E, 0x1611E, 0x16129, 0x1611F] }, -{ source: [0x16121, 0x1611E, 0x16120], NFC: [0x16121, 0x16125], NFD: [0x1611E, 0x1611E, 0x1611E, 0x16120], NFKC: [0x16121, 0x16125], NFKD: [0x1611E, 0x1611E, 0x1611E, 0x16120] }, -{ source: [0x1611E, 0x16121], NFC: [0x16121, 0x1611E], NFD: [0x1611E, 0x1611E, 0x1611E], NFKC: [0x16121, 0x1611E], NFKD: [0x1611E, 0x1611E, 0x1611E] }, -{ source: [0x1611E, 0x16121, 0x1611E], NFC: [0x16121, 0x16121], NFD: [0x1611E, 0x1611E, 0x1611E, 0x1611E], NFKC: [0x16121, 0x16121], NFKD: [0x1611E, 0x1611E, 0x1611E, 0x1611E] }, -{ source: [0x1611E, 0x16121, 0x16129], NFC: [0x16121, 0x16122], NFD: [0x1611E, 0x1611E, 0x1611E, 0x16129], NFKC: [0x16121, 0x16122], NFKD: [0x1611E, 0x1611E, 0x1611E, 0x16129] }, -{ source: [0x1611E, 0x16126], NFC: [0x16121, 0x16123], NFD: [0x1611E, 0x1611E, 0x1611E, 0x1611F], NFKC: [0x16121, 0x16123], NFKD: [0x1611E, 0x1611E, 0x1611E, 0x1611F] }, -{ source: [0x1611E, 0x16121, 0x1611F], NFC: [0x16121, 0x16123], NFD: [0x1611E, 0x1611E, 0x1611E, 0x1611F], NFKC: [0x16121, 0x16123], NFKD: [0x1611E, 0x1611E, 0x1611E, 0x1611F] }, -{ source: [0x1611E, 0x16128], NFC: [0x16121, 0x16125], NFD: [0x1611E, 0x1611E, 0x1611E, 0x16120], NFKC: [0x16121, 0x16125], NFKD: [0x1611E, 0x1611E, 0x1611E, 0x16120] }, -{ source: [0x1611E, 0x16121, 0x16120], NFC: [0x16121, 0x16125], NFD: [0x1611E, 0x1611E, 0x1611E, 0x16120], NFKC: [0x16121, 0x16125], NFKD: [0x1611E, 0x1611E, 0x1611E, 0x16120] }, -{ source: [0x1611E, 0x16121, 0x16123], NFC: [0x16121, 0x16126], NFD: [0x1611E, 0x1611E, 0x1611E, 0x1611E, 0x1611F], NFKC: [0x16121, 0x16126], NFKD: [0x1611E, 0x1611E, 0x1611E, 0x1611E, 0x1611F] }, -{ source: [0x1611E, 0x16121, 0x1611E, 0x1611F], NFC: [0x16121, 0x16126], NFD: [0x1611E, 0x1611E, 0x1611E, 0x1611E, 0x1611F], NFKC: [0x16121, 0x16126], NFKD: [0x1611E, 0x1611E, 0x1611E, 0x1611E, 0x1611F] }, -{ source: [0x1611E, 0x16121, 0x16124], NFC: [0x16121, 0x16127], NFD: [0x1611E, 0x1611E, 0x1611E, 0x16129, 0x1611F], NFKC: [0x16121, 0x16127], NFKD: [0x1611E, 0x1611E, 0x1611E, 0x16129, 0x1611F] }, -{ source: [0x1611E, 0x16121, 0x16129, 0x1611F], NFC: [0x16121, 0x16127], NFD: [0x1611E, 0x1611E, 0x1611E, 0x16129, 0x1611F], NFKC: [0x16121, 0x16127], NFKD: [0x1611E, 0x1611E, 0x1611E, 0x16129, 0x1611F] }, -{ source: [0x1611E, 0x16121, 0x16125], NFC: [0x16121, 0x16128], NFD: [0x1611E, 0x1611E, 0x1611E, 0x1611E, 0x16120], NFKC: [0x16121, 0x16128], NFKD: [0x1611E, 0x1611E, 0x1611E, 0x1611E, 0x16120] }, -{ source: [0x1611E, 0x16121, 0x1611E, 0x16120], NFC: [0x16121, 0x16128], NFD: [0x1611E, 0x1611E, 0x1611E, 0x1611E, 0x16120], NFKC: [0x16121, 0x16128], NFKD: [0x1611E, 0x1611E, 0x1611E, 0x1611E, 0x16120] }, -{ source: [0x1611E, 0x16127], NFC: [0x16121, 0x16124], NFD: [0x1611E, 0x1611E, 0x16129, 0x1611F], NFKC: [0x16121, 0x16124], NFKD: [0x1611E, 0x1611E, 0x16129, 0x1611F] }, -{ source: [0x1611E, 0x16122, 0x1611F], NFC: [0x16121, 0x16124], NFD: [0x1611E, 0x1611E, 0x16129, 0x1611F], NFKC: [0x16121, 0x16124], NFKD: [0x1611E, 0x1611E, 0x16129, 0x1611F] }, -{ source: [0x1611E, 0x16122], NFC: [0x16121, 0x16129], NFD: [0x1611E, 0x1611E, 0x16129], NFKC: [0x16121, 0x16129], NFKD: [0x1611E, 0x1611E, 0x16129] }, -{ source: [0x16D67, 0x16D68], NFC: [0x16D68, 0x16D67], NFD: [0x16D67, 0x16D67, 0x16D67], NFKC: [0x16D68, 0x16D67], NFKD: [0x16D67, 0x16D67, 0x16D67] }, -{ source: [0x16D67, 0x16D68, 0x16D67], NFC: [0x16D68, 0x16D68], NFD: [0x16D67, 0x16D67, 0x16D67, 0x16D67], NFKC: [0x16D68, 0x16D68], NFKD: [0x16D67, 0x16D67, 0x16D67, 0x16D67] }, -{ source: [0x16D63, 0x16D68, 0x16D67], NFC: [0x16D6A, 0x16D67], NFD: [0x16D63, 0x16D67, 0x16D67, 0x16D67], NFKC: [0x16D6A, 0x16D67], NFKD: [0x16D63, 0x16D67, 0x16D67, 0x16D67] }, -{ source: [0x16D69, 0x16D68], NFC: [0x16D6A, 0x16D67], NFD: [0x16D63, 0x16D67, 0x16D67, 0x16D67], NFKC: [0x16D6A, 0x16D67], NFKD: [0x16D63, 0x16D67, 0x16D67, 0x16D67] }, -{ source: [0x16D63, 0x16D67, 0x16D68], NFC: [0x16D6A, 0x16D67], NFD: [0x16D63, 0x16D67, 0x16D67, 0x16D67], NFKC: [0x16D6A, 0x16D67], NFKD: [0x16D63, 0x16D67, 0x16D67, 0x16D67] }, -{ source: [0x16D69, 0x16D68, 0x16D67], NFC: [0x16D6A, 0x16D68], NFD: [0x16D63, 0x16D67, 0x16D67, 0x16D67, 0x16D67], NFKC: [0x16D6A, 0x16D68], NFKD: [0x16D63, 0x16D67, 0x16D67, 0x16D67, 0x16D67] }, -{ source: [0x16D63, 0x16D67, 0x16D68, 0x16D67], NFC: [0x16D6A, 0x16D68], NFD: [0x16D63, 0x16D67, 0x16D67, 0x16D67, 0x16D67], NFKC: [0x16D6A, 0x16D68], NFKD: [0x16D63, 0x16D67, 0x16D67, 0x16D67, 0x16D67] } -]; diff --git a/JSTests/test262/test/staging/sm/String/normalize-generic.js b/JSTests/test262/test/staging/sm/String/normalize-generic.js index 08353bc07f96d..eb27968cfd51e 100644 --- a/JSTests/test262/test/staging/sm/String/normalize-generic.js +++ b/JSTests/test262/test/staging/sm/String/normalize-generic.js @@ -2,17 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + String.prototype.normalize - normalize no String object +info: bugzilla.mozilla.org/show_bug.cgi?id=918987 esid: pending ---*/ -var BUGNUMBER = 918987; -var summary = 'String.prototype.normalize - normalize no String object'; - -print(BUGNUMBER + ": " + summary); function test() { var myobj = { @@ -26,4 +20,3 @@ if ("normalize" in String.prototype) { // String.prototype.normalize is not enabled in all builds. test(); } - diff --git a/JSTests/test262/test/staging/sm/String/normalize-parameter.js b/JSTests/test262/test/staging/sm/String/normalize-parameter.js index fcc2bb9924ca5..e9e44743f7916 100644 --- a/JSTests/test262/test/staging/sm/String/normalize-parameter.js +++ b/JSTests/test262/test/staging/sm/String/normalize-parameter.js @@ -2,20 +2,14 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + String.prototype.normalize - passing wrong parameter +info: bugzilla.mozilla.org/show_bug.cgi?id=918987 esid: pending ---*/ -var BUGNUMBER = 918987; -var summary = 'String.prototype.normalize - passing wrong parameter'; - -print(BUGNUMBER + ": " + summary); function test() { - assertThrowsInstanceOf(() => "abc".normalize("NFE"), RangeError, + assert.throws(RangeError, () => "abc".normalize("NFE"), "String.prototype.normalize should raise RangeError on invalid form"); assert.sameValue("".normalize(), ""); @@ -25,4 +19,3 @@ if ("normalize" in String.prototype) { // String.prototype.normalize is not enabled in all builds. test(); } - diff --git a/JSTests/test262/test/staging/sm/String/normalize-rope.js b/JSTests/test262/test/staging/sm/String/normalize-rope.js index ef0024095187e..9a3f0b2dadc20 100644 --- a/JSTests/test262/test/staging/sm/String/normalize-rope.js +++ b/JSTests/test262/test/staging/sm/String/normalize-rope.js @@ -2,17 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + String.prototype.normalize - normalize rope string +info: bugzilla.mozilla.org/show_bug.cgi?id=918987 esid: pending ---*/ -var BUGNUMBER = 918987; -var summary = 'String.prototype.normalize - normalize rope string'; - -print(BUGNUMBER + ": " + summary); function test() { /* JSRope test */ @@ -29,4 +23,3 @@ if ("normalize" in String.prototype) { // String.prototype.normalize is not enabled in all builds. test(); } - diff --git a/JSTests/test262/test/staging/sm/String/raw.js b/JSTests/test262/test/staging/sm/String/raw.js index a09b83ad0d8f7..43681c23d11a4 100644 --- a/JSTests/test262/test/staging/sm/String/raw.js +++ b/JSTests/test262/test/staging/sm/String/raw.js @@ -2,24 +2,18 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + String.raw +info: bugzilla.mozilla.org/show_bug.cgi?id=1039774 esid: pending ---*/ -var BUGNUMBER = 1039774; -var summary = 'String.raw'; -print(BUGNUMBER + ": " + summary); - -assertThrowsInstanceOf(function() { String.raw(); }, TypeError); +assert.throws(TypeError, function() { String.raw(); }); assert.sameValue(String.raw.length, 1); var cooked = []; -assertThrowsInstanceOf(function() { String.raw(cooked); }, TypeError); +assert.throws(TypeError, function() { String.raw(cooked); }); cooked.raw = {}; assert.sameValue(String.raw(cooked), ""); @@ -62,4 +56,3 @@ assert.sameValue(String.raw(cooked, "x", "y"), "axb"); cooked.raw = {length: 4, '0':"a", '1':"b", '2':"c"}; assert.sameValue(String.raw(cooked, "x", "y"), "axbycundefined"); - diff --git a/JSTests/test262/test/staging/sm/String/regress-369778.js b/JSTests/test262/test/staging/sm/String/regress-369778.js index c591795140d81..3b24acc9287cc 100644 --- a/JSTests/test262/test/staging/sm/String/regress-369778.js +++ b/JSTests/test262/test/staging/sm/String/regress-369778.js @@ -2,36 +2,18 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + RegExpStatics::makeMatch should make an undefined value when the last match had an undefined capture. +info: bugzilla.mozilla.org/show_bug.cgi?id=369778 esid: pending ---*/ + /* Any copyright is dedicated to the Public Domain. * http://creativecommons.org/publicdomain/zero/1.0/ */ -var BUGNUMBER = 369778; -var summary = - "RegExpStatics::makeMatch should make an undefined value when the last " + - "match had an undefined capture."; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ - var expected = undefined; var actual; 'x'.replace(/x(.)?/g, function(m, group) { actual = group; }) -print("expected: " + expected) -print("actual: " + actual) - assert.sameValue(expected, actual) - -/******************************************************************************/ - diff --git a/JSTests/test262/test/staging/sm/String/replace-GetMethod.js b/JSTests/test262/test/staging/sm/String/replace-GetMethod.js index b527b7b2508a5..cb876be6cfdae 100644 --- a/JSTests/test262/test/staging/sm/String/replace-GetMethod.js +++ b/JSTests/test262/test/staging/sm/String/replace-GetMethod.js @@ -2,17 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + String.prototype.replace should call GetMethod. +info: bugzilla.mozilla.org/show_bug.cgi?id=1290655 esid: pending ---*/ -var BUGNUMBER = 1290655; -var summary = "String.prototype.replace should call GetMethod."; - -print(BUGNUMBER + ": " + summary); function create(value) { return { @@ -28,6 +22,5 @@ for (let v of [null, undefined]) { } for (let v of [1, true, Symbol.iterator, "", {}, []]) { - assertThrowsInstanceOf(() => "a-a".replace(create(v)), TypeError); + assert.throws(TypeError, () => "a-a".replace(create(v))); } - diff --git a/JSTests/test262/test/staging/sm/String/replace-bad-dollar-single-quote.js b/JSTests/test262/test/staging/sm/String/replace-bad-dollar-single-quote.js index d6f29b58df94f..954c59be87a12 100644 --- a/JSTests/test262/test/staging/sm/String/replace-bad-dollar-single-quote.js +++ b/JSTests/test262/test/staging/sm/String/replace-bad-dollar-single-quote.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/String/replace-flags.js b/JSTests/test262/test/staging/sm/String/replace-flags.js index f87886a748723..58427d13094f1 100644 --- a/JSTests/test262/test/staging/sm/String/replace-flags.js +++ b/JSTests/test262/test/staging/sm/String/replace-flags.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/String/replace-math.js b/JSTests/test262/test/staging/sm/String/replace-math.js index 95ac9b0a05bf1..22a8a90d6a322 100644 --- a/JSTests/test262/test/staging/sm/String/replace-math.js +++ b/JSTests/test262/test/staging/sm/String/replace-math.js @@ -4,19 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Be more careful with string math to avoid wrong results +info: bugzilla.mozilla.org/show_bug.cgi?id=805121 esid: pending ---*/ -var BUGNUMBER = 805121; -var summary = "Be more careful with string math to avoid wrong results"; - -print(BUGNUMBER + ": " + summary); - -/******************************************************************************/ function puff(x, n) { @@ -37,7 +29,3 @@ catch (e) { // OOM also acceptable } - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/String/replace-throws-nonwritable-lastIndex-global.js b/JSTests/test262/test/staging/sm/String/replace-throws-nonwritable-lastIndex-global.js index 6437ef16e84d2..bf9937a706ace 100644 --- a/JSTests/test262/test/staging/sm/String/replace-throws-nonwritable-lastIndex-global.js +++ b/JSTests/test262/test/staging/sm/String/replace-throws-nonwritable-lastIndex-global.js @@ -4,23 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + String.prototype.replace should throw when called with a global RegExp whose .lastIndex is non-writable +info: bugzilla.mozilla.org/show_bug.cgi?id=501739 esid: pending ---*/ -var BUGNUMBER = 501739; -var summary = - "String.prototype.replace should throw when called with a global RegExp " + - "whose .lastIndex is non-writable"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ var s = '0x2x4x6x8'; @@ -29,103 +17,57 @@ var s = '0x2x4x6x8'; var p1 = /x/g; Object.defineProperty(p1, "lastIndex", { writable: false }); -try -{ +assert.throws(TypeError, function() { s.replace(p1, ''); - throw "didn't throw"; -} -catch (e) -{ - assert.sameValue(e instanceof TypeError, true, - "should have thrown a TypeError, instead got: " + e); - assert.sameValue(p1.lastIndex, 0); -} +}); +assert.sameValue(p1.lastIndex, 0); // Second time with .lastIndex !== 0, replacing to '' var p2 = /x/g; Object.defineProperty(p2, "lastIndex", { writable: false, value: 3 }); -try -{ +assert.throws(TypeError, function() { s.replace(p2, ''); - throw "didn't throw"; -} -catch (e) -{ - assert.sameValue(e instanceof TypeError, true, - "should have thrown a TypeError, instead got: " + e); - assert.sameValue(p2.lastIndex, 3); -} +}); +assert.sameValue(p2.lastIndex, 3); // Third time with .lastIndex === 0, replacing to 'y' var p3 = /x/g; Object.defineProperty(p3, "lastIndex", { writable: false }); -try -{ +assert.throws(TypeError, function() { s.replace(p3, 'y'); - throw "didn't throw"; -} -catch (e) -{ - assert.sameValue(e instanceof TypeError, true, - "should have thrown a TypeError, instead got: " + e); - assert.sameValue(p3.lastIndex, 0); -} +}); +assert.sameValue(p3.lastIndex, 0); // Fourth time with .lastIndex !== 0, replacing to 'y' var p4 = /x/g; Object.defineProperty(p4, "lastIndex", { writable: false, value: 3 }); -try -{ +assert.throws(TypeError, function() { s.replace(p4, ''); - throw "didn't throw"; -} -catch (e) -{ - assert.sameValue(e instanceof TypeError, true, - "should have thrown a TypeError, instead got: " + e); - assert.sameValue(p4.lastIndex, 3); -} +}); +assert.sameValue(p4.lastIndex, 3); // Fifth time with .lastIndex === 0, replacing to 'y', but no match var p5 = /q/g; Object.defineProperty(p5, "lastIndex", { writable: false }); -try -{ +assert.throws(TypeError, function() { s.replace(p5, 'y'); - throw "didn't throw"; -} -catch (e) -{ - assert.sameValue(e instanceof TypeError, true, - "should have thrown a TypeError, instead got: " + e); - assert.sameValue(p5.lastIndex, 0); -} +}); +assert.sameValue(p5.lastIndex, 0); // Sixth time with .lastIndex !== 0, replacing to 'y', but no match var p6 = /q/g; Object.defineProperty(p6, "lastIndex", { writable: false, value: 3 }); -try -{ +assert.throws(TypeError, function() { s.replace(p6, ''); - throw "didn't throw"; -} -catch (e) -{ - assert.sameValue(e instanceof TypeError, true, - "should have thrown a TypeError, instead got: " + e); - assert.sameValue(p6.lastIndex, 3); -} - -/******************************************************************************/ - -print("Tests complete"); +}); +assert.sameValue(p6.lastIndex, 3); diff --git a/JSTests/test262/test/staging/sm/String/replace-updates-global-lastIndex.js b/JSTests/test262/test/staging/sm/String/replace-updates-global-lastIndex.js index 7fc27afb415ce..b4dcb679ec35a 100644 --- a/JSTests/test262/test/staging/sm/String/replace-updates-global-lastIndex.js +++ b/JSTests/test262/test/staging/sm/String/replace-updates-global-lastIndex.js @@ -4,23 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + String.prototype.relace should zero the .lastIndex when called with a global RegExp +info: bugzilla.mozilla.org/show_bug.cgi?id=501739 esid: pending ---*/ -var BUGNUMBER = 501739; -var summary = - "String.prototype.relace should zero the .lastIndex when called with a " + - "global RegExp"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ var s = '0x2x4x6x8'; @@ -37,7 +25,3 @@ s.replace(p2, function(s) { return 'y'; }); assert.sameValue(p2.lastIndex, 4); - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/String/replace.js b/JSTests/test262/test/staging/sm/String/replace.js index f68086e250e5e..9a23d43580c92 100644 --- a/JSTests/test262/test/staging/sm/String/replace.js +++ b/JSTests/test262/test/staging/sm/String/replace.js @@ -2,17 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Call RegExp.prototype[@@replace] from String.prototype.replace. +info: bugzilla.mozilla.org/show_bug.cgi?id=887016 esid: pending ---*/ -var BUGNUMBER = 887016; -var summary = "Call RegExp.prototype[@@replace] from String.prototype.replace."; - -print(BUGNUMBER + ": " + summary); var called = 0; var myRegExp = { @@ -25,4 +19,3 @@ var myRegExp = { }; assert.sameValue("abcAbcABC".replace(myRegExp, "foo"), 42); assert.sameValue(called, 1); - diff --git a/JSTests/test262/test/staging/sm/String/replaceAll.js b/JSTests/test262/test/staging/sm/String/replaceAll.js index 6180ba7d52690..35052e072e83a 100644 --- a/JSTests/test262/test/staging/sm/String/replaceAll.js +++ b/JSTests/test262/test/staging/sm/String/replaceAll.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending @@ -13,32 +10,32 @@ function neverCalled() { assert.sameValue(true, false, "unexpected call"); } -const g = createNewGlobal(); +const g = $262.createRealm().global; assert.sameValue(typeof String.prototype.replaceAll, "function"); assert.sameValue(String.prototype.replaceAll.length, 2); assert.sameValue(String.prototype.replaceAll.name, "replaceAll"); // Throws if called with undefined or null. -assertThrowsInstanceOf(() => String.prototype.replaceAll.call(undefined), TypeError); -assertThrowsInstanceOf(() => String.prototype.replaceAll.call(null), TypeError); +assert.throws(TypeError, () => String.prototype.replaceAll.call(undefined)); +assert.throws(TypeError, () => String.prototype.replaceAll.call(null)); // Throws if called with a non-global RegExp. -assertThrowsInstanceOf(() => "".replaceAll(/a/, ""), TypeError); -assertThrowsInstanceOf(() => "".replaceAll(g.RegExp(""), ""), TypeError); +assert.throws(TypeError, () => "".replaceAll(/a/, "")); +assert.throws(TypeError, () => "".replaceAll(g.RegExp(""), "")); // Also throws with RegExp-like objects. -assertThrowsInstanceOf(() => { +assert.throws(TypeError, () => { "".replaceAll({[Symbol.match]: neverCalled, flags: ""}, ""); -}, TypeError); +}); // |flags| property mustn't be undefined or null. -assertThrowsInstanceOf(() => { +assert.throws(TypeError, () => { "".replaceAll({[Symbol.match]: neverCalled, flags: undefined}, ""); -}, TypeError); -assertThrowsInstanceOf(() => { +}); +assert.throws(TypeError, () => { "".replaceAll({[Symbol.match]: neverCalled, flags: null}, ""); -}, TypeError); +}); // Global RegExp (or RegExp-like) simply redirect to @@replace. assert.sameValue("aba".replace(/a/g, "c"), "cbc"); diff --git a/JSTests/test262/test/staging/sm/String/search-GetMethod.js b/JSTests/test262/test/staging/sm/String/search-GetMethod.js index 6cf0d3a5d2b38..9da7a39f8f8b2 100644 --- a/JSTests/test262/test/staging/sm/String/search-GetMethod.js +++ b/JSTests/test262/test/staging/sm/String/search-GetMethod.js @@ -2,17 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + String.prototype.search should call GetMethod. +info: bugzilla.mozilla.org/show_bug.cgi?id=1290655 esid: pending ---*/ -var BUGNUMBER = 1290655; -var summary = "String.prototype.search should call GetMethod."; - -print(BUGNUMBER + ": " + summary); function create(value) { return { @@ -28,6 +22,5 @@ for (let v of [null, undefined]) { } for (let v of [1, true, Symbol.iterator, "", {}, []]) { - assertThrowsInstanceOf(() => "a-a".search(create(v)), TypeError); + assert.throws(TypeError, () => "a-a".search(create(v))); } - diff --git a/JSTests/test262/test/staging/sm/String/search.js b/JSTests/test262/test/staging/sm/String/search.js index 64179f0a2e7de..056ac040bc572 100644 --- a/JSTests/test262/test/staging/sm/String/search.js +++ b/JSTests/test262/test/staging/sm/String/search.js @@ -2,17 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Call RegExp.prototype[@@search] from String.prototype.search. +info: bugzilla.mozilla.org/show_bug.cgi?id=887016 esid: pending ---*/ -var BUGNUMBER = 887016; -var summary = "Call RegExp.prototype[@@search] from String.prototype.search."; - -print(BUGNUMBER + ": " + summary); var called = 0; var myRegExp = { @@ -33,4 +27,3 @@ RegExp.prototype[Symbol.search] = function(S) { }; assert.sameValue("abcAbcABC".search("abc"), 43); assert.sameValue(called, 1); - diff --git a/JSTests/test262/test/staging/sm/String/split-01.js b/JSTests/test262/test/staging/sm/String/split-01.js index f7ac554afcf41..2096c12c5ed9e 100644 --- a/JSTests/test262/test/staging/sm/String/split-01.js +++ b/JSTests/test262/test/staging/sm/String/split-01.js @@ -4,29 +4,12 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict +includes: [compareArray.js] description: | - pending + String.prototype.split tests +info: bugzilla.mozilla.org/show_bug.cgi?id=614608 esid: pending ---*/ -var BUGNUMBER = 614608; -var summary = "String.prototype.split tests"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ - -function assertEqArr(a1, a2) { - assert.sameValue(a1.length, a2.length); - - for(var i=0; iboldandcoded".split(/<(\/)?([^<>]+)>/), - ["A", undefined, "B", "bold", "/", "B", "and", undefined, - "CODE", "coded", "/", "CODE", ""]); - -print("All tests passed!"); +assert.compareArray("ab".split(/a*?/), ["a", "b"]); +assert.compareArray("ab".split(/a*/), ["", "b"]); +assert.compareArray("Aboldandcoded".split(/<(\/)?([^<>]+)>/), + ["A", undefined, "B", "bold", "/", "B", "and", undefined, + "CODE", "coded", "/", "CODE", ""]); diff --git a/JSTests/test262/test/staging/sm/String/split-GetMethod.js b/JSTests/test262/test/staging/sm/String/split-GetMethod.js index 0b8771b59703b..0e44f0d271c0b 100644 --- a/JSTests/test262/test/staging/sm/String/split-GetMethod.js +++ b/JSTests/test262/test/staging/sm/String/split-GetMethod.js @@ -2,17 +2,12 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, deepEqual.js] -flags: - - noStrict +includes: [compareArray.js] description: | - pending + String.prototype.split should call GetMethod. +info: bugzilla.mozilla.org/show_bug.cgi?id=1290655 esid: pending ---*/ -var BUGNUMBER = 1290655; -var summary = "String.prototype.split should call GetMethod."; - -print(BUGNUMBER + ": " + summary); function create(value) { return { @@ -24,10 +19,9 @@ function create(value) { } for (let v of [null, undefined]) { - assert.deepEqual("a-a".split(create(v)), ["a", "a"]); + assert.compareArray("a-a".split(create(v)), ["a", "a"]); } for (let v of [1, true, Symbol.iterator, "", {}, []]) { - assertThrowsInstanceOf(() => "a-a".split(create(v)), TypeError); + assert.throws(TypeError, () => "a-a".split(create(v))); } - diff --git a/JSTests/test262/test/staging/sm/String/split-order.js b/JSTests/test262/test/staging/sm/String/split-order.js index bf4147315a068..3b427f21aa2e9 100644 --- a/JSTests/test262/test/staging/sm/String/split-order.js +++ b/JSTests/test262/test/staging/sm/String/split-order.js @@ -2,17 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + String.prototype.split should call ToUint32(limit) before ToString(separator). +info: bugzilla.mozilla.org/show_bug.cgi?id=1287521 esid: pending ---*/ -var BUGNUMBER = 1287521; -var summary = 'String.prototype.split should call ToUint32(limit) before ToString(separator).'; - -print(BUGNUMBER + ": " + summary); var log = []; "abba".split({ @@ -28,4 +22,3 @@ var log = []; }); assert.sameValue(log.join(","), "limit-valueOf,separator-tostring"); - diff --git a/JSTests/test262/test/staging/sm/String/split-undefined-separator.js b/JSTests/test262/test/staging/sm/String/split-undefined-separator.js index e7977cbb8c5e8..75cde511e5366 100644 --- a/JSTests/test262/test/staging/sm/String/split-undefined-separator.js +++ b/JSTests/test262/test/staging/sm/String/split-undefined-separator.js @@ -4,39 +4,21 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict +includes: [compareArray.js] description: | - pending + String.prototype.split with undefined separator +info: bugzilla.mozilla.org/show_bug.cgi?id=614608 esid: pending ---*/ -var BUGNUMBER = 614608; -var summary = "String.prototype.split with undefined separator"; -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ - -function assertEqArr(a1, a2) { - assert.sameValue(a1.length, a2.length); - - for(var i=0; i]+)>/; @@ -122,5 +112,3 @@ function testSplit() { } testSplit(); - -print("All tests passed!"); diff --git a/JSTests/test262/test/staging/sm/String/split.js b/JSTests/test262/test/staging/sm/String/split.js index 3e97fb825c9c5..bb85717672470 100644 --- a/JSTests/test262/test/staging/sm/String/split.js +++ b/JSTests/test262/test/staging/sm/String/split.js @@ -2,17 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Call RegExp.prototype[@@split] from String.prototype.split. +info: bugzilla.mozilla.org/show_bug.cgi?id=887016 esid: pending ---*/ -var BUGNUMBER = 887016; -var summary = "Call RegExp.prototype[@@split] from String.prototype.split."; - -print(BUGNUMBER + ": " + summary); var called = 0; var myRegExp = { @@ -25,4 +19,3 @@ var myRegExp = { }; assert.sameValue("abcAbcABC".split(myRegExp, 10).join(","), "X,Y,Z"); assert.sameValue(called, 1); - diff --git a/JSTests/test262/test/staging/sm/String/string-code-point-upper-lower-mapping.js b/JSTests/test262/test/staging/sm/String/string-code-point-upper-lower-mapping.js index 43e85d76483b7..21009ccab95a6 100644 --- a/JSTests/test262/test/staging/sm/String/string-code-point-upper-lower-mapping.js +++ b/JSTests/test262/test/staging/sm/String/string-code-point-upper-lower-mapping.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/String/string-pad-start-end.js b/JSTests/test262/test/staging/sm/String/string-pad-start-end.js index 17bb8d1ed9dbe..0c7b39f8e3252 100644 --- a/JSTests/test262/test/staging/sm/String/string-pad-start-end.js +++ b/JSTests/test262/test/staging/sm/String/string-pad-start-end.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending @@ -14,13 +11,13 @@ esid: pending // `this` must be object coercable. for (let badThis of [null, undefined]) { - assertThrowsInstanceOf(() => { + assert.throws(TypeError, () => { String.prototype.padStart.call(badThis, 42, "oups"); - }, TypeError); + }); - assertThrowsInstanceOf(() => { + assert.throws(TypeError, () => { String.prototype.padEnd.call(badThis, 42, "oups"); - }, TypeError); + }); } let proxy = new Proxy({}, { @@ -49,13 +46,13 @@ assert.sameValue("lame", "lame".padEnd(NaN, "foo")); assert.sameValue("lame", "lame".padEnd(-1, "foo")); assert.sameValue("lame", "lame".padEnd({toString: () => 0}, "foo")); -assertThrowsInstanceOf(() => { +assert.throws(TypeError, () => { "lame".padStart(Symbol("9900"), 0); -}, TypeError); +}); -assertThrowsInstanceOf(() => { +assert.throws(TypeError, () => { "lame".padEnd(Symbol("9900"), 0); -}, TypeError); +}); // The fill argument must be string coercable. diff --git a/JSTests/test262/test/staging/sm/String/string-space-trim.js b/JSTests/test262/test/staging/sm/String/string-space-trim.js index 96ccf06820d2e..17ad608fa41d6 100644 --- a/JSTests/test262/test/staging/sm/String/string-space-trim.js +++ b/JSTests/test262/test/staging/sm/String/string-space-trim.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/String/string-upper-lower-mapping.js b/JSTests/test262/test/staging/sm/String/string-upper-lower-mapping.js index 8884433a7d8de..aaf9e0dd42038 100644 --- a/JSTests/test262/test/staging/sm/String/string-upper-lower-mapping.js +++ b/JSTests/test262/test/staging/sm/String/string-upper-lower-mapping.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/String/thisv-error.js b/JSTests/test262/test/staging/sm/String/thisv-error.js index 5fdcae3e9aa1a..8fe546575e0c9 100644 --- a/JSTests/test262/test/staging/sm/String/thisv-error.js +++ b/JSTests/test262/test/staging/sm/String/thisv-error.js @@ -2,13 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending ---*/ + function testName(thisv) { var failures = [ // Not a function @@ -27,10 +25,10 @@ function testName(thisv) { if (key === "constructor") { assert.sameValue(String.prototype[key].call(thisv), ""); } else if (failures.includes(key)) { - assertThrowsInstanceOf(() => String.prototype[key].call(thisv), TypeError, key); + assert.throws(TypeError, () => String.prototype[key].call(thisv), key); } else { var expected = `String.prototype.${key} called on incompatible ${thisv}`; - assertThrowsInstanceOfWithMessage(() => String.prototype[key].call(thisv), TypeError, expected, key) + assert.throws(TypeError, () => String.prototype[key].call(thisv), expected) } } } @@ -39,7 +37,7 @@ testName(undefined); // On-off test for Symbol.iterator function testIterator(thisv) { - assertThrowsInstanceOfWithMessage(() => String.prototype[Symbol.iterator].call(thisv), TypeError, + assert.throws(TypeError, () => String.prototype[Symbol.iterator].call(thisv), `String.prototype[Symbol.iterator] called on incompatible ${thisv}`); } testIterator(null); diff --git a/JSTests/test262/test/staging/sm/String/two-length-nonlatin-indexOf.js b/JSTests/test262/test/staging/sm/String/two-length-nonlatin-indexOf.js index a054d9b9d4aec..8fe33af0672ca 100644 --- a/JSTests/test262/test/staging/sm/String/two-length-nonlatin-indexOf.js +++ b/JSTests/test262/test/staging/sm/String/two-length-nonlatin-indexOf.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/String/unicode-braced.js b/JSTests/test262/test/staging/sm/String/unicode-braced.js index 02202182890fb..38fd8bbce50c9 100644 --- a/JSTests/test262/test/staging/sm/String/unicode-braced.js +++ b/JSTests/test262/test/staging/sm/String/unicode-braced.js @@ -2,17 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Add \\u{xxxxxx} string literals +info: bugzilla.mozilla.org/show_bug.cgi?id=320500 esid: pending ---*/ -var BUGNUMBER = 320500; -var summary = 'Add \\u{xxxxxx} string literals'; - -print(BUGNUMBER + ": " + summary); assert.sameValue("\u{0}", String.fromCodePoint(0x0)); assert.sameValue("\u{1}", String.fromCodePoint(0x1)); @@ -55,19 +49,18 @@ assert.sameValue(eval(`"\\u{${"0".repeat(Math.pow(2, 24)) + "1234"}}"`), String. assert.sameValue("\U{0}", "U{0}"); -assertThrowsInstanceOf(() => eval(`"\\u{-1}"`), SyntaxError); -assertThrowsInstanceOf(() => eval(`"\\u{0.0}"`), SyntaxError); -assertThrowsInstanceOf(() => eval(`"\\u{G}"`), SyntaxError); -assertThrowsInstanceOf(() => eval(`"\\u{}"`), SyntaxError); -assertThrowsInstanceOf(() => eval(`"\\u{{"`), SyntaxError); -assertThrowsInstanceOf(() => eval(`"\\u{"`), SyntaxError); -assertThrowsInstanceOf(() => eval(`"\\u{110000}"`), SyntaxError); -assertThrowsInstanceOf(() => eval(`"\\u{00110000}"`), SyntaxError); -assertThrowsInstanceOf(() => eval(`"\\u{100000000000000000000000000000}"`), SyntaxError); -assertThrowsInstanceOf(() => eval(`"\\u{FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF}"`), SyntaxError); -assertThrowsInstanceOf(() => eval(`"\\u{ FFFF}"`), SyntaxError); -assertThrowsInstanceOf(() => eval(`"\\u{FFFF }"`), SyntaxError); -assertThrowsInstanceOf(() => eval(`"\\u{FF FF}"`), SyntaxError); -assertThrowsInstanceOf(() => eval(`"\\u{F F F F}"`), SyntaxError); -assertThrowsInstanceOf(() => eval(`"\\u{100000001}"`), SyntaxError); - +assert.throws(SyntaxError, () => eval(`"\\u{-1}"`)); +assert.throws(SyntaxError, () => eval(`"\\u{0.0}"`)); +assert.throws(SyntaxError, () => eval(`"\\u{G}"`)); +assert.throws(SyntaxError, () => eval(`"\\u{}"`)); +assert.throws(SyntaxError, () => eval(`"\\u{{"`)); +assert.throws(SyntaxError, () => eval(`"\\u{"`)); +assert.throws(SyntaxError, () => eval(`"\\u{110000}"`)); +assert.throws(SyntaxError, () => eval(`"\\u{00110000}"`)); +assert.throws(SyntaxError, () => eval(`"\\u{100000000000000000000000000000}"`)); +assert.throws(SyntaxError, () => eval(`"\\u{FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF}"`)); +assert.throws(SyntaxError, () => eval(`"\\u{ FFFF}"`)); +assert.throws(SyntaxError, () => eval(`"\\u{FFFF }"`)); +assert.throws(SyntaxError, () => eval(`"\\u{FF FF}"`)); +assert.throws(SyntaxError, () => eval(`"\\u{F F F F}"`)); +assert.throws(SyntaxError, () => eval(`"\\u{100000001}"`)); diff --git a/JSTests/test262/test/staging/sm/Symbol/as-base-value.js b/JSTests/test262/test/staging/sm/Symbol/as-base-value.js index 00247c00e905e..b9063b2eac7a1 100644 --- a/JSTests/test262/test/staging/sm/Symbol/as-base-value.js +++ b/JSTests/test262/test/staging/sm/Symbol/as-base-value.js @@ -4,7 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | @@ -89,7 +88,7 @@ for (var sym of symbols) { assert.sameValue(sym[noSuchPropName], undefined); // non-existent method - assertThrowsInstanceOf(() => sym.noSuchProp(), TypeError); - assertThrowsInstanceOf(() => sym[noSuchPropName](), TypeError); + assert.throws(TypeError, () => sym.noSuchProp()); + assert.throws(TypeError, () => sym[noSuchPropName]()); } diff --git a/JSTests/test262/test/staging/sm/Symbol/comparisons.js b/JSTests/test262/test/staging/sm/Symbol/comparisons.js index 661d23de9120b..50151fe586389 100644 --- a/JSTests/test262/test/staging/sm/Symbol/comparisons.js +++ b/JSTests/test262/test/staging/sm/Symbol/comparisons.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending @@ -36,7 +33,7 @@ for (var comparator of ["<", "<=", ">", ">="]) { var f = Function("a, b", "return a " + comparator + " b;"); for (var a of symbols) { for (var b of values) - assertThrowsInstanceOf(() => f(a, b), TypeError); + assert.throws(TypeError, () => f(a, b)); } } diff --git a/JSTests/test262/test/staging/sm/Symbol/constructor.js b/JSTests/test262/test/staging/sm/Symbol/constructor.js index 5655cfb0bf157..e42d991ecc835 100644 --- a/JSTests/test262/test/staging/sm/Symbol/constructor.js +++ b/JSTests/test262/test/staging/sm/Symbol/constructor.js @@ -4,16 +4,13 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending ---*/ // Symbol(symbol) throws a TypeError. var sym = Symbol(); -assertThrowsInstanceOf(() => Symbol(sym), TypeError); +assert.throws(TypeError, () => Symbol(sym)); // Symbol(undefined) is equivalent to Symbol(). assert.sameValue(Symbol(undefined).toString(), "Symbol()"); @@ -24,7 +21,7 @@ assert.sameValue(Symbol(true).toString(), "Symbol(true)"); assert.sameValue(Symbol(null).toString(), "Symbol(null)"); assert.sameValue(Symbol([1, 2]).toString(), "Symbol(1,2)"); var symobj = Object(sym); -assertThrowsInstanceOf(() => Symbol(symobj), TypeError); +assert.throws(TypeError, () => Symbol(symobj)); var hits = 0; var obj = { @@ -39,5 +36,5 @@ assert.sameValue(hits, 1); assert.sameValue(Object.getPrototypeOf(Symbol.prototype), Object.prototype); // Symbol.prototype is not itself a Symbol object. -assertThrowsInstanceOf(() => Symbol.prototype.valueOf(), TypeError); +assert.throws(TypeError, () => Symbol.prototype.valueOf()); diff --git a/JSTests/test262/test/staging/sm/Symbol/conversions.js b/JSTests/test262/test/staging/sm/Symbol/conversions.js index d73cf055003b2..7c5e6dadd83b9 100644 --- a/JSTests/test262/test/staging/sm/Symbol/conversions.js +++ b/JSTests/test262/test/staging/sm/Symbol/conversions.js @@ -2,7 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | @@ -26,20 +25,20 @@ function testSymbolConversions(sym) { assert.sameValue(sym && 13, 13); // 7.1.3 ToNumber - assertThrowsInstanceOf(() => +sym, TypeError); - assertThrowsInstanceOf(() => sym | 0, TypeError); + assert.throws(TypeError, () => +sym); + assert.throws(TypeError, () => sym | 0); // 7.1.12 ToString - assertThrowsInstanceOf(() => "" + sym, TypeError); - assertThrowsInstanceOf(() => sym + "", TypeError); - assertThrowsInstanceOf(() => "" + [1, 2, sym], TypeError); - assertThrowsInstanceOf(() => ["simple", "thimble", sym].join(), TypeError); + assert.throws(TypeError, () => "" + sym); + assert.throws(TypeError, () => sym + ""); + assert.throws(TypeError, () => "" + [1, 2, sym]); + assert.throws(TypeError, () => ["simple", "thimble", sym].join()); // 21.1.1.1 String() assert.sameValue(String(sym), sym.toString()); // 21.1.1.2 new String() - assertThrowsInstanceOf(() => new String(sym), TypeError); + assert.throws(TypeError, () => new String(sym)); // 7.1.13 ToObject var obj = Object(sym); @@ -58,19 +57,19 @@ for (var sym of symbols) { // 7.1.1 ToPrimitive var symobj = Object(sym); - assertThrowsInstanceOf(() => Number(symobj), TypeError); - assertThrowsInstanceOf(() => String(symobj), TypeError); - assertThrowsInstanceOf(() => symobj < 0, TypeError); - assertThrowsInstanceOf(() => 0 < symobj, TypeError); - assertThrowsInstanceOf(() => symobj + 1, TypeError); - assertThrowsInstanceOf(() => "" + symobj, TypeError); + assert.throws(TypeError, () => Number(symobj)); + assert.throws(TypeError, () => String(symobj)); + assert.throws(TypeError, () => symobj < 0); + assert.throws(TypeError, () => 0 < symobj); + assert.throws(TypeError, () => symobj + 1); + assert.throws(TypeError, () => "" + symobj); assert.sameValue(sym == symobj, true); assert.sameValue(sym === symobj, false); assert.sameValue(symobj == 0, false); assert.sameValue(0 != symobj, true); // 7.1.12 ToString - assertThrowsInstanceOf(() => String(Object(sym)), TypeError); + assert.throws(TypeError, () => String(Object(sym))); } // Deleting Symbol.prototype[@@toPrimitive] does not change the behavior of diff --git a/JSTests/test262/test/staging/sm/Symbol/enumeration-order.js b/JSTests/test262/test/staging/sm/Symbol/enumeration-order.js index 630355d2220cd..839ae1f86f023 100644 --- a/JSTests/test262/test/staging/sm/Symbol/enumeration-order.js +++ b/JSTests/test262/test/staging/sm/Symbol/enumeration-order.js @@ -4,9 +4,7 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js, deepEqual.js] -flags: - - noStrict +includes: [compareArray.js] description: | pending esid: pending @@ -38,11 +36,10 @@ function test(descsObj) { log = []; Object.defineProperties(LoggingProxy(), descs); assert.sameValue(log.length, keys.length); - assert.deepEqual(log.map(k => typeof k), ["string", "string", "string", "symbol", "symbol", "symbol"]); + assert.compareArray(log.map(k => typeof k), ["string", "string", "string", "symbol", "symbol", "symbol"]); for (var key of keys) assert.sameValue(log.indexOf(key) !== -1, true); } test(descs); test(new Proxy(descs, {})); - diff --git a/JSTests/test262/test/staging/sm/Symbol/enumeration.js b/JSTests/test262/test/staging/sm/Symbol/enumeration.js index aca1f8ad94902..305d0d18da7db 100644 --- a/JSTests/test262/test/staging/sm/Symbol/enumeration.js +++ b/JSTests/test262/test/staging/sm/Symbol/enumeration.js @@ -4,9 +4,7 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js, deepEqual.js] -flags: - - noStrict +includes: [compareArray.js] description: | pending esid: pending @@ -55,6 +53,5 @@ var h = { } }; p = new Proxy({}, h); -assert.deepEqual(Object.keys(p), ["a", "0"]); -assert.deepEqual(log, ["ownKeys", "gopd", "a", "gopd", "0"]); - +assert.compareArray(Object.keys(p), ["a", "0"]); +assert.compareArray(log, ["ownKeys", "gopd", "a", "gopd", "0"]); diff --git a/JSTests/test262/test/staging/sm/Symbol/equality.js b/JSTests/test262/test/staging/sm/Symbol/equality.js index e1ed3f1e66c43..f76be734c3ecb 100644 --- a/JSTests/test262/test/staging/sm/Symbol/equality.js +++ b/JSTests/test262/test/staging/sm/Symbol/equality.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/Symbol/errors.js b/JSTests/test262/test/staging/sm/Symbol/errors.js index 9a43bf3c21efe..16ae1bbbba95c 100644 --- a/JSTests/test262/test/staging/sm/Symbol/errors.js +++ b/JSTests/test262/test/staging/sm/Symbol/errors.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending @@ -16,10 +13,10 @@ esid: pending var sym = Symbol(); // 7.2.2 IsCallable -assertThrowsInstanceOf(() => sym(), TypeError); -assertThrowsInstanceOf(() => Function.prototype.call.call(sym), TypeError); +assert.throws(TypeError, () => sym()); +assert.throws(TypeError, () => Function.prototype.call.call(sym)); // 7.2.5 IsConstructor -assertThrowsInstanceOf(() => new sym(), TypeError); -assertThrowsInstanceOf(() => new Symbol(), TypeError); +assert.throws(TypeError, () => new sym()); +assert.throws(TypeError, () => new Symbol()); diff --git a/JSTests/test262/test/staging/sm/Symbol/for-in-order.js b/JSTests/test262/test/staging/sm/Symbol/for-in-order.js index e75e94105ce73..88e7d87333516 100644 --- a/JSTests/test262/test/staging/sm/Symbol/for-in-order.js +++ b/JSTests/test262/test/staging/sm/Symbol/for-in-order.js @@ -4,9 +4,7 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js, deepEqual.js] -flags: - - noStrict +includes: [compareArray.js] description: | pending esid: pending @@ -27,8 +25,8 @@ Object.prototype[Symbol.for("comet")] = 6; var keys = []; for (var k in obj) keys.push(k); -assert.deepEqual(keys, ["x", "y", "z"]); -assert.deepEqual(Object.keys(obj), ["x", "y", "z"]); +assert.compareArray(keys, ["x", "y", "z"]); +assert.compareArray(Object.keys(obj), ["x", "y", "z"]); // Test with more properties. for (var i = 0; i < 1000; i++) @@ -37,5 +35,4 @@ obj.w = 1000; keys = [] for (var k in obj) keys.push(k); -assert.deepEqual(keys, ["x", "y", "z", "w"]); - +assert.compareArray(keys, ["x", "y", "z", "w"]); diff --git a/JSTests/test262/test/staging/sm/Symbol/for.js b/JSTests/test262/test/staging/sm/Symbol/for.js index 920eb141d3d0f..2d29732e5ac14 100644 --- a/JSTests/test262/test/staging/sm/Symbol/for.js +++ b/JSTests/test262/test/staging/sm/Symbol/for.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/Symbol/json-stringify-keys.js b/JSTests/test262/test/staging/sm/Symbol/json-stringify-keys.js index 04377cc50a0e8..e9283b3a4b56e 100644 --- a/JSTests/test262/test/staging/sm/Symbol/json-stringify-keys.js +++ b/JSTests/test262/test/staging/sm/Symbol/json-stringify-keys.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/Symbol/json-stringify-values.js b/JSTests/test262/test/staging/sm/Symbol/json-stringify-values.js index b0fed4355ee8a..8cfc77784be40 100644 --- a/JSTests/test262/test/staging/sm/Symbol/json-stringify-values.js +++ b/JSTests/test262/test/staging/sm/Symbol/json-stringify-values.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/Symbol/keyFor.js b/JSTests/test262/test/staging/sm/Symbol/keyFor.js index 1be99ed3b3ec5..21d05e335bb5a 100644 --- a/JSTests/test262/test/staging/sm/Symbol/keyFor.js +++ b/JSTests/test262/test/staging/sm/Symbol/keyFor.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending @@ -16,8 +13,8 @@ assert.sameValue(Symbol.keyFor(Symbol.for("")), ""); assert.sameValue(Symbol.keyFor(Symbol("moon")), undefined); assert.sameValue(Symbol.keyFor(Symbol.iterator), undefined); -assertThrowsInstanceOf(() => Symbol.keyFor(), TypeError); -assertThrowsInstanceOf(() => Symbol.keyFor(Object(Symbol("moon"))), TypeError); +assert.throws(TypeError, () => Symbol.keyFor()); +assert.throws(TypeError, () => Symbol.keyFor(Object(Symbol("moon")))); assert.sameValue(Symbol.keyFor.length, 1); diff --git a/JSTests/test262/test/staging/sm/Symbol/property-accessor.js b/JSTests/test262/test/staging/sm/Symbol/property-accessor.js index cf55207af4406..d715cc55df672 100644 --- a/JSTests/test262/test/staging/sm/Symbol/property-accessor.js +++ b/JSTests/test262/test/staging/sm/Symbol/property-accessor.js @@ -4,9 +4,7 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js, deepEqual.js] -flags: - - noStrict +includes: [compareArray.js] description: | pending esid: pending @@ -31,17 +29,16 @@ for (var i = 0; i < 9; i++) { assert.sameValue(obj[sym] = i, i); expected.push(i); } -assert.deepEqual(sets, expected); +assert.compareArray(sets, expected); // increment operator gets = 0; sets = []; assert.sameValue(obj[sym]++, 1); -assert.deepEqual(sets, [2]); +assert.compareArray(sets, [2]); // assignment gets = 0; sets = []; assert.sameValue(obj[sym] *= 12, 12); -assert.deepEqual(sets, [12]); - +assert.compareArray(sets, [12]); diff --git a/JSTests/test262/test/staging/sm/Symbol/property-basics.js b/JSTests/test262/test/staging/sm/Symbol/property-basics.js index 9c99f2ee64200..bb1d5145f4261 100644 --- a/JSTests/test262/test/staging/sm/Symbol/property-basics.js +++ b/JSTests/test262/test/staging/sm/Symbol/property-basics.js @@ -4,9 +4,7 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js, deepEqual.js] -flags: - - noStrict +includes: [deepEqual.js] description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/Symbol/property-inheritance.js b/JSTests/test262/test/staging/sm/Symbol/property-inheritance.js index e5e25ddb176b0..048d2593bf768 100644 --- a/JSTests/test262/test/staging/sm/Symbol/property-inheritance.js +++ b/JSTests/test262/test/staging/sm/Symbol/property-inheritance.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending @@ -48,7 +45,7 @@ assert.sameValue(value, "gravity"); Object.defineProperty(F.prototype, sym, { set: undefined }); -assertThrowsInstanceOf(function () { "use strict"; f[sym] = 0; }, TypeError); +assert.throws(TypeError, function () { "use strict"; f[sym] = 0; }); // deeply inherited accessor property var g = Object.create(f); diff --git a/JSTests/test262/test/staging/sm/Symbol/property-nonwritable.js b/JSTests/test262/test/staging/sm/Symbol/property-nonwritable.js index 2fbb249c06498..09ce9dbdb93b8 100644 --- a/JSTests/test262/test/staging/sm/Symbol/property-nonwritable.js +++ b/JSTests/test262/test/staging/sm/Symbol/property-nonwritable.js @@ -4,7 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | @@ -18,7 +17,7 @@ function checkNotWritable(obj) { assert.sameValue(obj[sym], "cheese"); // In strict mode code, it throws. - assertThrowsInstanceOf(function () { "use strict"; obj[sym] = "robots"; }, TypeError); + assert.throws(TypeError, function () { "use strict"; obj[sym] = "robots"; }); assert.sameValue(obj[sym], "cheese"); } diff --git a/JSTests/test262/test/staging/sm/Symbol/property-reflection.js b/JSTests/test262/test/staging/sm/Symbol/property-reflection.js index 9234bb5aba9b4..14c5963969668 100644 --- a/JSTests/test262/test/staging/sm/Symbol/property-reflection.js +++ b/JSTests/test262/test/staging/sm/Symbol/property-reflection.js @@ -4,7 +4,7 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js, deepEqual.js] +includes: [deepEqual.js] flags: - noStrict description: | @@ -88,7 +88,7 @@ assert.sameValue(descs.propertyIsEnumerable(s3), false); // inherited properties var obj = {}; obj[s1] = 1; assert.sameValue(Object.preventExtensions(obj), obj); -assertThrowsInstanceOf(function () { "use strict"; obj[s2] = 2; }, TypeError); +assert.throws(TypeError, function () { "use strict"; obj[s2] = 2; }); obj[s2] = 2; // still no effect assert.sameValue(s2 in obj, false); diff --git a/JSTests/test262/test/staging/sm/Symbol/realms.js b/JSTests/test262/test/staging/sm/Symbol/realms.js index 46a9d11438181..7d25e3d150616 100644 --- a/JSTests/test262/test/staging/sm/Symbol/realms.js +++ b/JSTests/test262/test/staging/sm/Symbol/realms.js @@ -4,41 +4,32 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending ---*/ // Symbols can be shared across realms. -if (typeof Reflect !== "undefined" && typeof Reflect.Realm === "function") { - throw new Error("Congratulations on implementing Reflect.Realm! " + - "Please update this test to use it."); -} -if (typeof createNewGlobal === "function") { - var g = createNewGlobal(); - var gj = g.eval("jones = Symbol('jones')"); - assert.sameValue(typeof gj, "symbol"); - assert.sameValue(g.jones, g.jones); - assert.sameValue(gj, g.jones); - assert.sameValue(gj !== Symbol("jones"), true); +var g = $262.createRealm().global; +var gj = g.eval("jones = Symbol('jones')"); +assert.sameValue(typeof gj, "symbol"); +assert.sameValue(g.jones, g.jones); +assert.sameValue(gj, g.jones); +assert.sameValue(gj !== Symbol("jones"), true); - // A symbol can be round-tripped to another realm and back; - // the result is the original symbol. - var smith = Symbol("smith"); - g.smith = smith; // put smith into the realm - assert.sameValue(g.smith, smith); // pull it back out +// A symbol can be round-tripped to another realm and back; +// the result is the original symbol. +var smith = Symbol("smith"); +g.smith = smith; // put smith into the realm +assert.sameValue(g.smith, smith); // pull it back out - // Spot-check that non-generic methods can be applied to symbols and Symbol - // objects from other realms. - assert.sameValue(Symbol.prototype.toString.call(gj), "Symbol(jones)"); - assert.sameValue(Symbol.prototype.toString.call(g.eval("Object(Symbol('brown'))")), - "Symbol(brown)"); +// Spot-check that non-generic methods can be applied to symbols and Symbol +// objects from other realms. +assert.sameValue(Symbol.prototype.toString.call(gj), "Symbol(jones)"); +assert.sameValue(Symbol.prototype.toString.call(g.eval("Object(Symbol('brown'))")), + "Symbol(brown)"); - // Symbol.for functions share a symbol registry across all realms. - assert.sameValue(g.Symbol.for("ponies"), Symbol.for("ponies")); - assert.sameValue(g.eval("Symbol.for('rainbows')"), Symbol.for("rainbows")); -} +// Symbol.for functions share a symbol registry across all realms. +assert.sameValue(g.Symbol.for("ponies"), Symbol.for("ponies")); +assert.sameValue(g.eval("Symbol.for('rainbows')"), Symbol.for("rainbows")); diff --git a/JSTests/test262/test/staging/sm/Symbol/species.js b/JSTests/test262/test/staging/sm/Symbol/species.js index d842ba6c0f566..bb2310aabd408 100644 --- a/JSTests/test262/test/staging/sm/Symbol/species.js +++ b/JSTests/test262/test/staging/sm/Symbol/species.js @@ -2,17 +2,12 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, deepEqual.js] -flags: - - noStrict +includes: [compareArray.js] description: | - pending + Implement @@species getter for builtin types +info: bugzilla.mozilla.org/show_bug.cgi?id=1131043 esid: pending ---*/ -var BUGNUMBER = 1131043; -var summary = "Implement @@species getter for builtin types"; - -print(BUGNUMBER + ": " + summary); var TypedArray = Object.getPrototypeOf(Int8Array); @@ -28,7 +23,7 @@ for (C of [Array, Map, Set, RegExp, TypedArray, ArrayBuffer]) { var desc = Object.getOwnPropertyDescriptor(C, Symbol.species); - assert.deepEqual(Object.keys(desc).sort(), ["configurable", "enumerable", "get", "set"]); + assert.compareArray(Object.keys(desc).sort(), ["configurable", "enumerable", "get", "set"]); assert.sameValue(desc.set, undefined); assert.sameValue(desc.enumerable, false); assert.sameValue(desc.configurable, true); @@ -36,4 +31,3 @@ for (C of [Array, Map, Set, RegExp, assert.sameValue(desc.get.apply(undefined), undefined); assert.sameValue(desc.get.apply(42), 42); } - diff --git a/JSTests/test262/test/staging/sm/Symbol/surfaces.js b/JSTests/test262/test/staging/sm/Symbol/surfaces.js index 43ace487da614..5580862905485 100644 --- a/JSTests/test262/test/staging/sm/Symbol/surfaces.js +++ b/JSTests/test262/test/staging/sm/Symbol/surfaces.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/Symbol/symbol-object-not-unboxed-for-value-to-id.js b/JSTests/test262/test/staging/sm/Symbol/symbol-object-not-unboxed-for-value-to-id.js index 31141f88ea4b8..16945f15f6e3a 100644 --- a/JSTests/test262/test/staging/sm/Symbol/symbol-object-not-unboxed-for-value-to-id.js +++ b/JSTests/test262/test/staging/sm/Symbol/symbol-object-not-unboxed-for-value-to-id.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/Symbol/toPrimitive-undefined-or-null.js b/JSTests/test262/test/staging/sm/Symbol/toPrimitive-undefined-or-null.js index 82b1db0d67c80..6625abbe4be7a 100644 --- a/JSTests/test262/test/staging/sm/Symbol/toPrimitive-undefined-or-null.js +++ b/JSTests/test262/test/staging/sm/Symbol/toPrimitive-undefined-or-null.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending @@ -22,6 +19,6 @@ for (let method of [true, false, 0, 123, "", "abc", Symbol(), {}]) { [Symbol.toPrimitive]: method, toString: () => "pass", }; - assertThrowsInstanceOf(() => "" + obj, TypeError); + assert.throws(TypeError, () => "" + obj); } diff --git a/JSTests/test262/test/staging/sm/Symbol/toPrimitive.js b/JSTests/test262/test/staging/sm/Symbol/toPrimitive.js index 1b8da779af37d..1d5ac14b53c51 100644 --- a/JSTests/test262/test/staging/sm/Symbol/toPrimitive.js +++ b/JSTests/test262/test/staging/sm/Symbol/toPrimitive.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending @@ -26,7 +23,7 @@ assert.sameValue(obj[Symbol.toPrimitive](Math.atan2), sym); assert.sameValue(sym[Symbol.toPrimitive](), sym); // Or a wrapper to a Symbol object in another compartment. -var obj2 = createNewGlobal().Object(sym); +var obj2 = $262.createRealm().global.Object(sym); assert.sameValue(obj2[Symbol.toPrimitive]("default"), sym); // Otherwise a TypeError is thrown. @@ -37,7 +34,7 @@ var nonSymbols = [ new Proxy(obj, {}) ]; for (var value of nonSymbols) { - assertThrowsInstanceOf(() => symbolToPrimitive.call(value, "string"), TypeError); + assert.throws(TypeError, () => symbolToPrimitive.call(value, "string")); } // Surface features: diff --git a/JSTests/test262/test/staging/sm/Symbol/toString.js b/JSTests/test262/test/staging/sm/Symbol/toString.js index 1ab479def7b21..30f143b551e1a 100644 --- a/JSTests/test262/test/staging/sm/Symbol/toString.js +++ b/JSTests/test262/test/staging/sm/Symbol/toString.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending @@ -31,5 +28,5 @@ var nonsymbols = [ undefined, null, "not-ok", new String("still-not-ok"), {}, [] ]; for (var nonsym of nonsymbols) - assertThrowsInstanceOf(() => Symbol.prototype.toString.call(nonsym), TypeError); + assert.throws(TypeError, () => Symbol.prototype.toString.call(nonsym)); diff --git a/JSTests/test262/test/staging/sm/Symbol/toStringTag.js b/JSTests/test262/test/staging/sm/Symbol/toStringTag.js index ec3888abcf614..65ca560ec06c6 100644 --- a/JSTests/test262/test/staging/sm/Symbol/toStringTag.js +++ b/JSTests/test262/test/staging/sm/Symbol/toStringTag.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending @@ -62,7 +59,7 @@ function testProxy() { assert.sameValue(Object.prototype.toString.call(new Proxy(function() {}, metaHandler)), "[object Function]") var {proxy, revoke} = Proxy.revocable({}, metaHandler); revoke(); - assertThrowsInstanceOf(() => Object.prototype.toString.call(proxy), TypeError); + assert.throws(TypeError, () => Object.prototype.toString.call(proxy)); assert.sameValue(count, 4); } diff --git a/JSTests/test262/test/staging/sm/Symbol/typed-arrays.js b/JSTests/test262/test/staging/sm/Symbol/typed-arrays.js index 8233cef801231..723885069c494 100644 --- a/JSTests/test262/test/staging/sm/Symbol/typed-arrays.js +++ b/JSTests/test262/test/staging/sm/Symbol/typed-arrays.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending @@ -15,11 +12,11 @@ esid: pending for (var T of [Uint8Array, Uint8ClampedArray, Int16Array, Float32Array]) { // Typed array constructors convert symbols using ToNumber(), which throws. - assertThrowsInstanceOf(() => new T([Symbol("a")]), TypeError); + assert.throws(TypeError, () => new T([Symbol("a")])); // Assignment does the same. var arr = new T([1]); - assertThrowsInstanceOf(() => { arr[0] = Symbol.iterator; }, TypeError); + assert.throws(TypeError, () => { arr[0] = Symbol.iterator; }); assert.sameValue(arr[0], 1); } diff --git a/JSTests/test262/test/staging/sm/Symbol/typeof.js b/JSTests/test262/test/staging/sm/Symbol/typeof.js index a613080977e6a..99c7b45ad27f2 100644 --- a/JSTests/test262/test/staging/sm/Symbol/typeof.js +++ b/JSTests/test262/test/staging/sm/Symbol/typeof.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/Symbol/valueOf.js b/JSTests/test262/test/staging/sm/Symbol/valueOf.js index fc2061e1ad5dc..c5b4bb73ed6cc 100644 --- a/JSTests/test262/test/staging/sm/Symbol/valueOf.js +++ b/JSTests/test262/test/staging/sm/Symbol/valueOf.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending @@ -26,5 +23,5 @@ for (var sym of symbols) { // Any other value throws. var nonsymbols = [undefined, null, NaN, {}, Symbol.prototype]; for (var nonsym of nonsymbols) - assertThrowsInstanceOf(() => Symbol.prototype.valueOf.call(nonsym), TypeError); + assert.throws(TypeError, () => Symbol.prototype.valueOf.call(nonsym)); diff --git a/JSTests/test262/test/staging/sm/Symbol/well-known.js b/JSTests/test262/test/staging/sm/Symbol/well-known.js index 279f057020bec..53e80564479b8 100644 --- a/JSTests/test262/test/staging/sm/Symbol/well-known.js +++ b/JSTests/test262/test/staging/sm/Symbol/well-known.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending @@ -25,6 +22,8 @@ var names = [ "asyncIterator" ]; +var g = $262.createRealm().global; + for (var name of names) { // Well-known symbols exist. assert.sameValue(typeof Symbol[name], "symbol"); @@ -33,12 +32,7 @@ for (var name of names) { assert.sameValue(Symbol[name] !== Symbol.for("Symbol." + name), true); // They are shared across realms. - if (typeof Realm === 'function') - throw new Error("please update this test to use Realms"); - if (typeof createNewGlobal === 'function') { - var g = createNewGlobal(); - assert.sameValue(Symbol[name], g.Symbol[name]); - } + assert.sameValue(Symbol[name], g.Symbol[name]); // Descriptor is all false. var desc = Object.getOwnPropertyDescriptor(Symbol, name); diff --git a/JSTests/test262/test/staging/sm/Temporal/Calendar/compare-to-datetimeformat.js b/JSTests/test262/test/staging/sm/Temporal/Calendar/compare-to-datetimeformat.js index 350332ff5a93c..63fc272c19600 100644 --- a/JSTests/test262/test/staging/sm/Temporal/Calendar/compare-to-datetimeformat.js +++ b/JSTests/test262/test/staging/sm/Temporal/Calendar/compare-to-datetimeformat.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - Temporal description: | diff --git a/JSTests/test262/test/staging/sm/Temporal/PlainDate/from-constrain-hebrew.js b/JSTests/test262/test/staging/sm/Temporal/PlainDate/from-constrain-hebrew.js index 7ea438891f9a7..40fe523144d83 100644 --- a/JSTests/test262/test/staging/sm/Temporal/PlainDate/from-constrain-hebrew.js +++ b/JSTests/test262/test/staging/sm/Temporal/PlainDate/from-constrain-hebrew.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - Temporal description: | diff --git a/JSTests/test262/test/staging/sm/Temporal/PlainDate/from-constrain-japanese.js b/JSTests/test262/test/staging/sm/Temporal/PlainDate/from-constrain-japanese.js index cc590cb5f5daf..2f67dfc4c4439 100644 --- a/JSTests/test262/test/staging/sm/Temporal/PlainDate/from-constrain-japanese.js +++ b/JSTests/test262/test/staging/sm/Temporal/PlainDate/from-constrain-japanese.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - Temporal description: | diff --git a/JSTests/test262/test/staging/sm/Temporal/PlainDate/from-hebrew-keviah.js b/JSTests/test262/test/staging/sm/Temporal/PlainDate/from-hebrew-keviah.js index 0c05fe5492210..3d826f8240ae8 100644 --- a/JSTests/test262/test/staging/sm/Temporal/PlainDate/from-hebrew-keviah.js +++ b/JSTests/test262/test/staging/sm/Temporal/PlainDate/from-hebrew-keviah.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - Temporal description: | diff --git a/JSTests/test262/test/staging/sm/Temporal/PlainDate/from-indian.js b/JSTests/test262/test/staging/sm/Temporal/PlainDate/from-indian.js index 1c90626518ff8..7d6dcd899228c 100644 --- a/JSTests/test262/test/staging/sm/Temporal/PlainDate/from-indian.js +++ b/JSTests/test262/test/staging/sm/Temporal/PlainDate/from-indian.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - Temporal description: | diff --git a/JSTests/test262/test/staging/sm/Temporal/PlainDate/from-islamic-umalqura.js b/JSTests/test262/test/staging/sm/Temporal/PlainDate/from-islamic-umalqura.js index 725f21e612ca5..098cb58447bbb 100644 --- a/JSTests/test262/test/staging/sm/Temporal/PlainDate/from-islamic-umalqura.js +++ b/JSTests/test262/test/staging/sm/Temporal/PlainDate/from-islamic-umalqura.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - Temporal description: | @@ -13,7 +10,7 @@ esid: pending ---*/ // https://github.com/unicode-org/icu4x/issues/4914 -assertThrowsInstanceOf(() => { +assert.throws(RangeError, () => { let date = Temporal.PlainDate.from({ calendar: "islamic-umalqura", year: -6823, @@ -21,5 +18,5 @@ assertThrowsInstanceOf(() => { day: 1, }); // assert.sameValue(date.day, 1); -}, RangeError); +}); diff --git a/JSTests/test262/test/staging/sm/Temporal/PlainDate/non-positive-era-year.js b/JSTests/test262/test/staging/sm/Temporal/PlainDate/non-positive-era-year.js index c3614b26fd78c..bdaa7839426b8 100644 --- a/JSTests/test262/test/staging/sm/Temporal/PlainDate/non-positive-era-year.js +++ b/JSTests/test262/test/staging/sm/Temporal/PlainDate/non-positive-era-year.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - Temporal description: | diff --git a/JSTests/test262/test/staging/sm/Temporal/PlainDate/too-large-dates.js b/JSTests/test262/test/staging/sm/Temporal/PlainDate/too-large-dates.js index 79cb51d97a51a..8216e71c96688 100644 --- a/JSTests/test262/test/staging/sm/Temporal/PlainDate/too-large-dates.js +++ b/JSTests/test262/test/staging/sm/Temporal/PlainDate/too-large-dates.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - Temporal description: | diff --git a/JSTests/test262/test/staging/sm/Temporal/PlainDate/withCalendar.js b/JSTests/test262/test/staging/sm/Temporal/PlainDate/withCalendar.js index 22a54872717c2..345fdf78152b5 100644 --- a/JSTests/test262/test/staging/sm/Temporal/PlainDate/withCalendar.js +++ b/JSTests/test262/test/staging/sm/Temporal/PlainDate/withCalendar.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - Temporal description: | diff --git a/JSTests/test262/test/staging/sm/Temporal/PlainMonthDay/from-chinese-leap-month-common.js b/JSTests/test262/test/staging/sm/Temporal/PlainMonthDay/from-chinese-leap-month-common.js index c258c42cb04fa..ca6f7d978752e 100644 --- a/JSTests/test262/test/staging/sm/Temporal/PlainMonthDay/from-chinese-leap-month-common.js +++ b/JSTests/test262/test/staging/sm/Temporal/PlainMonthDay/from-chinese-leap-month-common.js @@ -2,9 +2,7 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-Temporal-PlainMonthDay-shell.js] -flags: - - noStrict +includes: [sm/non262-Temporal-PlainMonthDay-shell.js] features: - Temporal description: | @@ -63,8 +61,8 @@ for (let monthCode of monthCodes) { assert.sameValue(constrain.day, day); assertSameISOFields(constrain, pmd); - assertThrowsInstanceOf(() => { + assert.throws(RangeError, () => { Temporal.PlainMonthDay.from({calendar, monthCode, day: day + 1}, {overflow: "reject"}); - }, RangeError); + }); } diff --git a/JSTests/test262/test/staging/sm/Temporal/PlainMonthDay/from-chinese-leap-month-uncommon.js b/JSTests/test262/test/staging/sm/Temporal/PlainMonthDay/from-chinese-leap-month-uncommon.js index 911d22258c25b..ecbfc69848b1e 100644 --- a/JSTests/test262/test/staging/sm/Temporal/PlainMonthDay/from-chinese-leap-month-uncommon.js +++ b/JSTests/test262/test/staging/sm/Temporal/PlainMonthDay/from-chinese-leap-month-uncommon.js @@ -2,9 +2,7 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-Temporal-PlainMonthDay-shell.js] -flags: - - noStrict +includes: [sm/non262-Temporal-PlainMonthDay-shell.js] features: - Temporal description: | @@ -59,8 +57,8 @@ for (let monthCode of monthCodes) { assert.sameValue(constrain.day, day); assertSameISOFields(constrain, pmd); - assertThrowsInstanceOf(() => { + assert.throws(RangeError, () => { Temporal.PlainMonthDay.from({calendar, monthCode, day: day + 1}, {overflow: "reject"}); - }, RangeError); + }); } diff --git a/JSTests/test262/test/staging/sm/Temporal/PlainMonthDay/from-chinese.js b/JSTests/test262/test/staging/sm/Temporal/PlainMonthDay/from-chinese.js index b6710d78fee4c..81ad8b8fa2c15 100644 --- a/JSTests/test262/test/staging/sm/Temporal/PlainMonthDay/from-chinese.js +++ b/JSTests/test262/test/staging/sm/Temporal/PlainMonthDay/from-chinese.js @@ -2,9 +2,7 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-Temporal-PlainMonthDay-shell.js] -flags: - - noStrict +includes: [sm/non262-Temporal-PlainMonthDay-shell.js] features: - Temporal description: | @@ -59,8 +57,8 @@ for (let monthCode of monthCodes) { assert.sameValue(constrain.day, day); assertSameISOFields(constrain, pmd); - assertThrowsInstanceOf(() => { + assert.throws(RangeError, () => { Temporal.PlainMonthDay.from({calendar, monthCode, day: day + 1}, {overflow: "reject"}); - }, RangeError); + }); } diff --git a/JSTests/test262/test/staging/sm/Temporal/PlainMonthDay/from-coptic.js b/JSTests/test262/test/staging/sm/Temporal/PlainMonthDay/from-coptic.js index 45f64fc9d2f20..be8aa7d1fa102 100644 --- a/JSTests/test262/test/staging/sm/Temporal/PlainMonthDay/from-coptic.js +++ b/JSTests/test262/test/staging/sm/Temporal/PlainMonthDay/from-coptic.js @@ -2,9 +2,7 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-Temporal-PlainMonthDay-shell.js] -flags: - - noStrict +includes: [sm/non262-Temporal-PlainMonthDay-shell.js] features: - Temporal description: | diff --git a/JSTests/test262/test/staging/sm/Temporal/PlainMonthDay/from-gregory.js b/JSTests/test262/test/staging/sm/Temporal/PlainMonthDay/from-gregory.js index c409e7308f5c0..172d17b63a99b 100644 --- a/JSTests/test262/test/staging/sm/Temporal/PlainMonthDay/from-gregory.js +++ b/JSTests/test262/test/staging/sm/Temporal/PlainMonthDay/from-gregory.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-Temporal-PlainMonthDay-shell.js] -flags: - - noStrict features: - Temporal description: | @@ -41,7 +38,7 @@ esid: pending monthCode: "M01", day: 1, }; - assertThrowsInstanceOf(() => Temporal.PlainMonthDay.from(fields), RangeError); + assert.throws(RangeError, () => Temporal.PlainMonthDay.from(fields)); } // eraYear and year must be consistent when month is present. @@ -54,7 +51,7 @@ esid: pending month: 1, day: 1, }; - assertThrowsInstanceOf(() => Temporal.PlainMonthDay.from(fields), RangeError); + assert.throws(RangeError, () => Temporal.PlainMonthDay.from(fields)); } // monthCode and month must be consistent. @@ -66,6 +63,6 @@ esid: pending month: 2, day: 1, }; - assertThrowsInstanceOf(() => Temporal.PlainMonthDay.from(fields), RangeError); + assert.throws(RangeError, () => Temporal.PlainMonthDay.from(fields)); } diff --git a/JSTests/test262/test/staging/sm/Temporal/PlainMonthDay/result-not-after-1972-dec-31.js b/JSTests/test262/test/staging/sm/Temporal/PlainMonthDay/result-not-after-1972-dec-31.js index a5bc6572040ea..db64f78165eb7 100644 --- a/JSTests/test262/test/staging/sm/Temporal/PlainMonthDay/result-not-after-1972-dec-31.js +++ b/JSTests/test262/test/staging/sm/Temporal/PlainMonthDay/result-not-after-1972-dec-31.js @@ -2,9 +2,7 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-Temporal-PlainMonthDay-shell.js] -flags: - - noStrict +includes: [sm/non262-Temporal-PlainMonthDay-shell.js] features: - Temporal description: | diff --git a/JSTests/test262/test/staging/sm/Temporal/ZonedDateTime/zones-and-links.js b/JSTests/test262/test/staging/sm/Temporal/ZonedDateTime/zones-and-links.js index 2d5267d260d41..090be9159e054 100644 --- a/JSTests/test262/test/staging/sm/Temporal/ZonedDateTime/zones-and-links.js +++ b/JSTests/test262/test/staging/sm/Temporal/ZonedDateTime/zones-and-links.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict features: - Temporal description: | diff --git a/JSTests/test262/test/staging/sm/TypedArray/Tconstructor-fromTypedArray-byteLength.js b/JSTests/test262/test/staging/sm/TypedArray/Tconstructor-fromTypedArray-byteLength.js index 2ca848910faa4..311bc096ee87c 100644 --- a/JSTests/test262/test/staging/sm/TypedArray/Tconstructor-fromTypedArray-byteLength.js +++ b/JSTests/test262/test/staging/sm/TypedArray/Tconstructor-fromTypedArray-byteLength.js @@ -2,14 +2,12 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-TypedArray-shell.js] -flags: - - noStrict +includes: [sm/non262-TypedArray-shell.js] description: | pending esid: pending ---*/ -var g = createNewGlobal(); +var g = $262.createRealm().global; var arr = [1, 2, 3]; for (var constructor of anyTypedArrayConstructors) { diff --git a/JSTests/test262/test/staging/sm/TypedArray/at.js b/JSTests/test262/test/staging/sm/TypedArray/at.js index 224ea89c9cbc4..289bd329eebe3 100644 --- a/JSTests/test262/test/staging/sm/TypedArray/at.js +++ b/JSTests/test262/test/staging/sm/TypedArray/at.js @@ -2,13 +2,14 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-TypedArray-shell.js] -flags: - - noStrict +includes: [sm/non262-TypedArray-shell.js] description: | pending esid: pending ---*/ + +var otherGlobal = $262.createRealm().global; + for (var constructor of anyTypedArrayConstructors) { assert.sameValue(constructor.prototype.at.length, 1); @@ -32,18 +33,16 @@ for (var constructor of anyTypedArrayConstructors) { assert.sameValue(new constructor([0, 1]).at(NaN), 0); // ToInteger(NaN) = 0 // Called from other globals. - if (typeof createNewGlobal === "function") { - var at = createNewGlobal()[constructor.name].prototype.at; - assert.sameValue(at.call(new constructor([1, 2, 3]), 2), 3); - } + var at = otherGlobal[constructor.name].prototype.at; + assert.sameValue(at.call(new constructor([1, 2, 3]), 2), 3); // Throws if `this` isn't a TypedArray. var invalidReceivers = [undefined, null, 1, false, "", Symbol(), [], {}, /./, new Proxy(new constructor(), {})]; invalidReceivers.forEach(invalidReceiver => { - assertThrowsInstanceOf(() => { + assert.throws(TypeError, () => { constructor.prototype.at.call(invalidReceiver); - }, TypeError, "Assert that 'at' fails if this value is not a TypedArray"); + }, "Assert that 'at' fails if this value is not a TypedArray"); }); // Test that the length getter is never called. diff --git a/JSTests/test262/test/staging/sm/TypedArray/bug1526838.js b/JSTests/test262/test/staging/sm/TypedArray/bug1526838.js index 70a9d9a8ced67..4cf0793677590 100644 --- a/JSTests/test262/test/staging/sm/TypedArray/bug1526838.js +++ b/JSTests/test262/test/staging/sm/TypedArray/bug1526838.js @@ -2,16 +2,14 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-TypedArray-shell.js] -flags: - - noStrict +includes: [sm/non262-TypedArray-shell.js] description: | pending esid: pending ---*/ const testArray = [1n]; for (const constructor of anyTypedArrayConstructors) { - assertThrowsInstanceOf(() => new constructor(testArray), TypeError); - assertThrowsInstanceOf(() => new constructor(testArray.values()), TypeError); + assert.throws(TypeError, () => new constructor(testArray)); + assert.throws(TypeError, () => new constructor(testArray.values())); } diff --git a/JSTests/test262/test/staging/sm/TypedArray/constructor-ArrayBuffer-species-wrap.js b/JSTests/test262/test/staging/sm/TypedArray/constructor-ArrayBuffer-species-wrap.js index b75c1582bb8df..71ceb2e08c98d 100644 --- a/JSTests/test262/test/staging/sm/TypedArray/constructor-ArrayBuffer-species-wrap.js +++ b/JSTests/test262/test/staging/sm/TypedArray/constructor-ArrayBuffer-species-wrap.js @@ -2,15 +2,13 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-TypedArray-shell.js] -flags: - - noStrict +includes: [sm/non262-TypedArray-shell.js] description: | pending esid: pending ---*/ -let g = createNewGlobal(); +let g = $262.createRealm().global; // Both TypedArray and ArrayBuffer from different global. for (let ctor of typedArrayConstructors) { diff --git a/JSTests/test262/test/staging/sm/TypedArray/constructor-ArrayBuffer-species.js b/JSTests/test262/test/staging/sm/TypedArray/constructor-ArrayBuffer-species.js index 1ff5e036284e6..d8d689a8ca266 100644 --- a/JSTests/test262/test/staging/sm/TypedArray/constructor-ArrayBuffer-species.js +++ b/JSTests/test262/test/staging/sm/TypedArray/constructor-ArrayBuffer-species.js @@ -2,9 +2,7 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-TypedArray-shell.js] -flags: - - noStrict +includes: [sm/non262-TypedArray-shell.js] description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/TypedArray/constructor-buffer-sequence.js b/JSTests/test262/test/staging/sm/TypedArray/constructor-buffer-sequence.js index acab0e0f5dc0b..01745ffa2337b 100644 --- a/JSTests/test262/test/staging/sm/TypedArray/constructor-buffer-sequence.js +++ b/JSTests/test262/test/staging/sm/TypedArray/constructor-buffer-sequence.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-TypedArray-shell.js] -flags: - - noStrict description: | pending esid: pending @@ -13,7 +10,7 @@ esid: pending // Ensure the various error conditions are tested in the correct order. -const otherGlobal = createNewGlobal(); +const otherGlobal = $262.createRealm().global; function* createBuffers(lengths = [0, 8]) { for (let length of lengths) { @@ -70,8 +67,8 @@ function ValueReturning(value, detach) { for (let {buffer} of createBuffers()) { let constructor = ConstructorWithThrowingPrototype(); - assertThrowsInstanceOf(() => - Reflect.construct(Int32Array, [buffer, poisonedValue, 0], constructor), ExpectedError); + assert.throws(ExpectedError, () => + Reflect.construct(Int32Array, [buffer, poisonedValue, 0], constructor)); } // Ensure step 4 |AllocateTypedArray| is executed before step 9 |IsDetachedBuffer(buffer)|. @@ -79,8 +76,8 @@ for (let {buffer, detach} of createBuffers()) { let constructor = ConstructorWithThrowingPrototype(); detach(); - assertThrowsInstanceOf(() => - Reflect.construct(Int32Array, [buffer, 0, 0], constructor), ExpectedError); + assert.throws(ExpectedError, () => + Reflect.construct(Int32Array, [buffer, 0, 0], constructor)); } // Ensure step 4 |AllocateTypedArray| is executed before step 9 |IsDetachedBuffer(buffer)|. @@ -88,16 +85,16 @@ for (let {buffer, detach} of createBuffers()) { for (let {buffer, detach} of createBuffers()) { let constructor = ConstructorWithThrowingPrototype(detach); - assertThrowsInstanceOf(() => - Reflect.construct(Int32Array, [buffer, 0, 0], constructor), ExpectedError); + assert.throws(ExpectedError, () => + Reflect.construct(Int32Array, [buffer, 0, 0], constructor)); } // Ensure step 4 |AllocateTypedArray| is executed before step 8.a |ToIndex(length)|. for (let {buffer} of createBuffers()) { let constructor = ConstructorWithThrowingPrototype(); - assertThrowsInstanceOf(() => - Reflect.construct(Int32Array, [buffer, 0, poisonedValue], constructor), ExpectedError); + assert.throws(ExpectedError, () => + Reflect.construct(Int32Array, [buffer, 0, poisonedValue], constructor)); } // Ensure step 6 |ToIndex(byteOffset)| is executed before step 9 |IsDetachedBuffer(buffer)|. @@ -105,7 +102,7 @@ for (let {buffer, detach} of createBuffers()) { let byteOffset = ValueThrowing(); detach(); - assertThrowsInstanceOf(() => new Int32Array(buffer, byteOffset, 0), ExpectedError); + assert.throws(ExpectedError, () => new Int32Array(buffer, byteOffset, 0)); } // Ensure step 6 |ToIndex(byteOffset)| is executed before step 9 |IsDetachedBuffer(buffer)|. @@ -113,14 +110,14 @@ for (let {buffer, detach} of createBuffers()) { for (let {buffer, detach} of createBuffers()) { let byteOffset = ValueThrowing(detach); - assertThrowsInstanceOf(() => new Int32Array(buffer, byteOffset, 0), ExpectedError); + assert.throws(ExpectedError, () => new Int32Array(buffer, byteOffset, 0)); } // Ensure step 6 |ToIndex(byteOffset)| is executed before step 8.a |ToIndex(length)|. for (let {buffer} of createBuffers()) { let byteOffset = ValueThrowing(); - assertThrowsInstanceOf(() => new Int32Array(buffer, byteOffset, poisonedValue), ExpectedError); + assert.throws(ExpectedError, () => new Int32Array(buffer, byteOffset, poisonedValue)); } // Ensure step 7 |offset modulo elementSize ≠ 0| is executed before step 9 |IsDetachedBuffer(buffer)|. @@ -128,7 +125,7 @@ for (let {buffer, detach} of createBuffers()) { let byteOffset = 1; detach(); - assertThrowsInstanceOf(() => new Int32Array(buffer, byteOffset, 0), RangeError); + assert.throws(RangeError, () => new Int32Array(buffer, byteOffset, 0)); } // Ensure step 7 |offset modulo elementSize ≠ 0| is executed before step 9 |IsDetachedBuffer(buffer)|. @@ -136,12 +133,12 @@ for (let {buffer, detach} of createBuffers()) { for (let {buffer, detach} of createBuffers()) { let byteOffset = ValueReturning(1, detach); - assertThrowsInstanceOf(() => new Int32Array(buffer, byteOffset, 0), RangeError); + assert.throws(RangeError, () => new Int32Array(buffer, byteOffset, 0)); } // Ensure step 7 |offset modulo elementSize ≠ 0| is executed before step 8.a |ToIndex(length)|. for (let {buffer} of createBuffers()) { - assertThrowsInstanceOf(() => new Int32Array(buffer, 1, poisonedValue), RangeError); + assert.throws(RangeError, () => new Int32Array(buffer, 1, poisonedValue)); } // Ensure step 8.a |ToIndex(length)| is executed before step 9 |IsDetachedBuffer(buffer)|. @@ -150,7 +147,7 @@ for (let {buffer, detach} of createBuffers()) { let length = ValueThrowing(); detach(); - assertThrowsInstanceOf(() => new Int32Array(buffer, byteOffset, length), ExpectedError); + assert.throws(ExpectedError, () => new Int32Array(buffer, byteOffset, length)); } // Ensure step 8.a |ToIndex(length)| is executed before step 9 |IsDetachedBuffer(buffer)|. @@ -159,7 +156,7 @@ for (let {buffer, detach} of createBuffers()) { let byteOffset = ValueReturning(0, detach); let length = ValueThrowing(); - assertThrowsInstanceOf(() => new Int32Array(buffer, byteOffset, length), ExpectedError); + assert.throws(ExpectedError, () => new Int32Array(buffer, byteOffset, length)); } // Ensure step 8.a |ToIndex(length)| is executed before step 9 |IsDetachedBuffer(buffer)|. @@ -168,7 +165,7 @@ for (let {buffer, detach} of createBuffers()) { let byteOffset = 0; let length = ValueThrowing(detach); - assertThrowsInstanceOf(() => new Int32Array(buffer, byteOffset, length), ExpectedError); + assert.throws(ExpectedError, () => new Int32Array(buffer, byteOffset, length)); } // Ensure step 9 |IsDetachedBuffer(buffer)| is executed before step 11.a |bufferByteLength modulo elementSize ≠ 0|. @@ -176,7 +173,7 @@ for (let {buffer, detach} of createBuffers([1, 9])) { let byteOffset = 0; detach(); - assertThrowsInstanceOf(() => new Int32Array(buffer, byteOffset), TypeError); + assert.throws(TypeError, () => new Int32Array(buffer, byteOffset)); } // Ensure step 9 |IsDetachedBuffer(buffer)| is executed before step 11.a |bufferByteLength modulo elementSize ≠ 0|. @@ -184,7 +181,7 @@ for (let {buffer, detach} of createBuffers([1, 9])) { for (let {buffer, detach} of createBuffers([1, 9])) { let byteOffset = ValueReturning(0, detach); - assertThrowsInstanceOf(() => new Int32Array(buffer, byteOffset), TypeError); + assert.throws(TypeError, () => new Int32Array(buffer, byteOffset)); } // Ensure step 9 |IsDetachedBuffer(buffer)| is executed before step 11.c |newByteLength < 0|. @@ -192,7 +189,7 @@ for (let {buffer, detach} of createBuffers()) { let byteOffset = 64; detach(); - assertThrowsInstanceOf(() => new Int32Array(buffer, byteOffset), TypeError); + assert.throws(TypeError, () => new Int32Array(buffer, byteOffset)); } // Ensure step 9 |IsDetachedBuffer(buffer)| is executed before step 11.c |newByteLength < 0|. @@ -200,7 +197,7 @@ for (let {buffer, detach} of createBuffers()) { for (let {buffer, detach} of createBuffers()) { let byteOffset = ValueReturning(64, detach); - assertThrowsInstanceOf(() => new Int32Array(buffer, byteOffset), TypeError); + assert.throws(TypeError, () => new Int32Array(buffer, byteOffset)); } // Ensure step 9 |IsDetachedBuffer(buffer)| is executed before step 12.b |offset+newByteLength > bufferByteLength|. @@ -209,7 +206,7 @@ for (let {buffer, detach} of createBuffers()) { let byteOffset = 64; let length = ValueReturning(0, detach); - assertThrowsInstanceOf(() => new Int32Array(buffer, byteOffset, length), TypeError); + assert.throws(TypeError, () => new Int32Array(buffer, byteOffset, length)); } // Ensure step 9 |IsDetachedBuffer(buffer)| is executed before step 12.b |offset+newByteLength > bufferByteLength|. @@ -218,7 +215,7 @@ for (let {buffer, detach} of createBuffers()) { let byteOffset = 0; let length = ValueReturning(64, detach); - assertThrowsInstanceOf(() => new Int32Array(buffer, byteOffset, length), TypeError); + assert.throws(TypeError, () => new Int32Array(buffer, byteOffset, length)); } // Ensure we handle the case when ToIndex(byteOffset) detaches the array buffer. @@ -226,7 +223,7 @@ for (let {buffer, detach} of createBuffers()) { let byteOffset = ValueReturning(0, detach); let length = 0; - assertThrowsInstanceOf(() => new Int32Array(buffer, byteOffset, length), TypeError); + assert.throws(TypeError, () => new Int32Array(buffer, byteOffset, length)); } // Ensure we handle the case when ToIndex(length) detaches the array buffer. @@ -234,6 +231,6 @@ for (let {buffer, detach} of createBuffers()) { let byteOffset = 0; let length = ValueReturning(0, detach); - assertThrowsInstanceOf(() => new Int32Array(buffer, byteOffset, length), TypeError); + assert.throws(TypeError, () => new Int32Array(buffer, byteOffset, length)); } diff --git a/JSTests/test262/test/staging/sm/TypedArray/constructor-byteoffsets-bounds.js b/JSTests/test262/test/staging/sm/TypedArray/constructor-byteoffsets-bounds.js index 63c4ec004ff76..912af75e19146 100644 --- a/JSTests/test262/test/staging/sm/TypedArray/constructor-byteoffsets-bounds.js +++ b/JSTests/test262/test/staging/sm/TypedArray/constructor-byteoffsets-bounds.js @@ -2,9 +2,7 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-TypedArray-shell.js] -flags: - - noStrict +includes: [sm/non262-TypedArray-shell.js] description: | pending esid: pending @@ -17,27 +15,27 @@ const ab = new ArrayBuffer(0); for (let TA of typedArrayConstructors) { // Test bound checks around INT32_MAX for |byteOffset| argument. - assertThrowsInstanceOf(() => new TA(ab, 2**31 - TA.BYTES_PER_ELEMENT), RangeError); - assertThrowsInstanceOf(() => new TA(ab, 2**31 - 1), RangeError); - assertThrowsInstanceOf(() => new TA(ab, 2**31), RangeError); - assertThrowsInstanceOf(() => new TA(ab, 2**31 + 1), RangeError); - assertThrowsInstanceOf(() => new TA(ab, 2**31 + TA.BYTES_PER_ELEMENT), RangeError); + assert.throws(RangeError, () => new TA(ab, 2**31 - TA.BYTES_PER_ELEMENT)); + assert.throws(RangeError, () => new TA(ab, 2**31 - 1)); + assert.throws(RangeError, () => new TA(ab, 2**31)); + assert.throws(RangeError, () => new TA(ab, 2**31 + 1)); + assert.throws(RangeError, () => new TA(ab, 2**31 + TA.BYTES_PER_ELEMENT)); // Test bound checks around UINT32_MAX for |byteOffset| argument. - assertThrowsInstanceOf(() => new TA(ab, 2**32 - TA.BYTES_PER_ELEMENT), RangeError); - assertThrowsInstanceOf(() => new TA(ab, 2**32 - 1), RangeError); - assertThrowsInstanceOf(() => new TA(ab, 2**32), RangeError); - assertThrowsInstanceOf(() => new TA(ab, 2**32 + 1), RangeError); - assertThrowsInstanceOf(() => new TA(ab, 2**32 + TA.BYTES_PER_ELEMENT), RangeError); + assert.throws(RangeError, () => new TA(ab, 2**32 - TA.BYTES_PER_ELEMENT)); + assert.throws(RangeError, () => new TA(ab, 2**32 - 1)); + assert.throws(RangeError, () => new TA(ab, 2**32)); + assert.throws(RangeError, () => new TA(ab, 2**32 + 1)); + assert.throws(RangeError, () => new TA(ab, 2**32 + TA.BYTES_PER_ELEMENT)); // Test bound checks around INT32_MAX for |length| argument. - assertThrowsInstanceOf(() => new TA(ab, 0, 2**31 - 1), RangeError); - assertThrowsInstanceOf(() => new TA(ab, 0, 2**31), RangeError); - assertThrowsInstanceOf(() => new TA(ab, 0, 2**31 + 1), RangeError); + assert.throws(RangeError, () => new TA(ab, 0, 2**31 - 1)); + assert.throws(RangeError, () => new TA(ab, 0, 2**31)); + assert.throws(RangeError, () => new TA(ab, 0, 2**31 + 1)); // Test bound checks around UINT32_MAX for |length| argument. - assertThrowsInstanceOf(() => new TA(ab, 0, 2**32 - 1), RangeError); - assertThrowsInstanceOf(() => new TA(ab, 0, 2**32), RangeError); - assertThrowsInstanceOf(() => new TA(ab, 0, 2**32 + 1), RangeError); + assert.throws(RangeError, () => new TA(ab, 0, 2**32 - 1)); + assert.throws(RangeError, () => new TA(ab, 0, 2**32)); + assert.throws(RangeError, () => new TA(ab, 0, 2**32 + 1)); } diff --git a/JSTests/test262/test/staging/sm/TypedArray/constructor-iterator-primitive.js b/JSTests/test262/test/staging/sm/TypedArray/constructor-iterator-primitive.js index dc9fe4a7f8720..1bb64532e7501 100644 --- a/JSTests/test262/test/staging/sm/TypedArray/constructor-iterator-primitive.js +++ b/JSTests/test262/test/staging/sm/TypedArray/constructor-iterator-primitive.js @@ -2,17 +2,12 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-TypedArray-shell.js] -flags: - - noStrict +includes: [sm/non262-TypedArray-shell.js] description: | - pending + Returning non-object from @@iterator should throw +info: bugzilla.mozilla.org/show_bug.cgi?id=1021835 esid: pending ---*/ -var BUGNUMBER = 1021835; -var summary = "Returning non-object from @@iterator should throw"; - -print(BUGNUMBER + ": " + summary); let primitives = [ 1, @@ -30,9 +25,8 @@ for (let ctor of typedArrayConstructors) { return primitive; } }; - assertThrowsInstanceOf(() => { + assert.throws(TypeError, () => { new ctor(arg); - }, TypeError); + }); } } - diff --git a/JSTests/test262/test/staging/sm/TypedArray/constructor-non-detached.js b/JSTests/test262/test/staging/sm/TypedArray/constructor-non-detached.js index 8d61212a687a3..0d34242206d2d 100644 --- a/JSTests/test262/test/staging/sm/TypedArray/constructor-non-detached.js +++ b/JSTests/test262/test/staging/sm/TypedArray/constructor-non-detached.js @@ -2,9 +2,7 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-TypedArray-shell.js] -flags: - - noStrict +includes: [sm/non262-TypedArray-shell.js] description: | pending esid: pending @@ -12,11 +10,11 @@ esid: pending for (var constructor of typedArrayConstructors) { var buf = new constructor(); $262.detachArrayBuffer(buf.buffer); - assertThrowsInstanceOf(() => new constructor(buf), TypeError); + assert.throws(TypeError, () => new constructor(buf)); var buffer = new ArrayBuffer(); $262.detachArrayBuffer(buffer); - assertThrowsInstanceOf(() => new constructor(buffer), TypeError); + assert.throws(TypeError, () => new constructor(buffer)); } diff --git a/JSTests/test262/test/staging/sm/TypedArray/constructor-not-callable.js b/JSTests/test262/test/staging/sm/TypedArray/constructor-not-callable.js index caf6ac0579d04..622c5e9d7b1e0 100644 --- a/JSTests/test262/test/staging/sm/TypedArray/constructor-not-callable.js +++ b/JSTests/test262/test/staging/sm/TypedArray/constructor-not-callable.js @@ -2,18 +2,16 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-TypedArray-shell.js] -flags: - - noStrict +includes: [sm/non262-TypedArray-shell.js] description: | pending esid: pending ---*/ for (var constructor of anyTypedArrayConstructors) { - assertThrowsInstanceOf(() => constructor(), TypeError); - assertThrowsInstanceOf(() => constructor(1), TypeError); - assertThrowsInstanceOf(() => constructor.call(null), TypeError); - assertThrowsInstanceOf(() => constructor.apply(null, []), TypeError); - assertThrowsInstanceOf(() => Reflect.apply(constructor, null, []), TypeError); + assert.throws(TypeError, () => constructor()); + assert.throws(TypeError, () => constructor(1)); + assert.throws(TypeError, () => constructor.call(null)); + assert.throws(TypeError, () => constructor.apply(null, [])); + assert.throws(TypeError, () => Reflect.apply(constructor, null, [])); } diff --git a/JSTests/test262/test/staging/sm/TypedArray/constructor-typedarray-species-other-global.js b/JSTests/test262/test/staging/sm/TypedArray/constructor-typedarray-species-other-global.js index 9ce71c1d3c4ae..84d2ee167347b 100644 --- a/JSTests/test262/test/staging/sm/TypedArray/constructor-typedarray-species-other-global.js +++ b/JSTests/test262/test/staging/sm/TypedArray/constructor-typedarray-species-other-global.js @@ -2,9 +2,7 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-TypedArray-shell.js] -flags: - - noStrict +includes: [sm/non262-TypedArray-shell.js] description: | pending esid: pending @@ -15,7 +13,7 @@ esid: pending // ensure they are both created in the correct global. const thisGlobal = this; -const otherGlobal = createNewGlobal(); +const otherGlobal = $262.createRealm().global; const typedArrays = [otherGlobal.eval("new Int32Array(0)")]; diff --git a/JSTests/test262/test/staging/sm/TypedArray/constructor-undefined-args.js b/JSTests/test262/test/staging/sm/TypedArray/constructor-undefined-args.js index 1bf97f8e2f329..ac49d7cf9d4b1 100644 --- a/JSTests/test262/test/staging/sm/TypedArray/constructor-undefined-args.js +++ b/JSTests/test262/test/staging/sm/TypedArray/constructor-undefined-args.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-TypedArray-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/TypedArray/constructor_bad-args.js b/JSTests/test262/test/staging/sm/TypedArray/constructor_bad-args.js index b7ca2ca249a05..6f1c301cb9f5e 100644 --- a/JSTests/test262/test/staging/sm/TypedArray/constructor_bad-args.js +++ b/JSTests/test262/test/staging/sm/TypedArray/constructor_bad-args.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-TypedArray-shell.js] -flags: - - noStrict description: | pending esid: pending @@ -14,9 +11,9 @@ esid: pending var AB = new ArrayBuffer(12); // Length divides 4 var BC = new ArrayBuffer(14); // Length does not divide 4 -assertThrowsInstanceOf(() => new Int32Array(AB, -1), RangeError); // 22.2.4.5 #8 -assertThrowsInstanceOf(() => new Int32Array(AB, 2), RangeError); // 22.2.4.5 #10 -assertThrowsInstanceOf(() => new Int32Array(BC), RangeError); // 22.2.4.5 #13.a -assertThrowsInstanceOf(() => new Int32Array(AB, 16), RangeError); // 22.2.4.5 #13.c -assertThrowsInstanceOf(() => new Int32Array(AB, 0, 4), RangeError); // 22.2.4.5 #14.c +assert.throws(RangeError, () => new Int32Array(AB, -1)); // 22.2.4.5 #8 +assert.throws(RangeError, () => new Int32Array(AB, 2)); // 22.2.4.5 #10 +assert.throws(RangeError, () => new Int32Array(BC)); // 22.2.4.5 #13.a +assert.throws(RangeError, () => new Int32Array(AB, 16)); // 22.2.4.5 #13.c +assert.throws(RangeError, () => new Int32Array(AB, 0, 4)); // 22.2.4.5 #14.c diff --git a/JSTests/test262/test/staging/sm/TypedArray/detached-array-buffer-checks.js b/JSTests/test262/test/staging/sm/TypedArray/detached-array-buffer-checks.js index 05f988a103cd8..359b703ba0282 100644 --- a/JSTests/test262/test/staging/sm/TypedArray/detached-array-buffer-checks.js +++ b/JSTests/test262/test/staging/sm/TypedArray/detached-array-buffer-checks.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-TypedArray-shell.js] -flags: - - noStrict description: | pending esid: pending @@ -30,87 +27,87 @@ var POISON = (function() { }); -assertThrowsInstanceOf(() => { +assert.throws(TypeError, () => { array.copyWithin(POISON); -}, TypeError); +}); -assertThrowsInstanceOf(() => { +assert.throws(TypeError, () => { array.entries(); -}, TypeError); +}); -assertThrowsInstanceOf(() => { +assert.throws(TypeError, () => { array.fill(POISON); -}, TypeError); +}); -assertThrowsInstanceOf(() => { +assert.throws(TypeError, () => { array.filter(POISON); -}, TypeError); +}); -assertThrowsInstanceOf(() => { +assert.throws(TypeError, () => { array.find(POISON); -}, TypeError); +}); -assertThrowsInstanceOf(() => { +assert.throws(TypeError, () => { array.findIndex(POISON); -}, TypeError); +}); -assertThrowsInstanceOf(() => { +assert.throws(TypeError, () => { array.forEach(POISON); -}, TypeError); +}); -assertThrowsInstanceOf(() => { +assert.throws(TypeError, () => { array.indexOf(POISON); -}, TypeError); +}); -assertThrowsInstanceOf(() => { +assert.throws(TypeError, () => { array.includes(POISON); -}, TypeError); +}); -assertThrowsInstanceOf(() => { +assert.throws(TypeError, () => { array.join(POISON); -}, TypeError); +}); -assertThrowsInstanceOf(() => { +assert.throws(TypeError, () => { array.keys(); -}, TypeError); +}); -assertThrowsInstanceOf(() => { +assert.throws(TypeError, () => { array.lastIndexOf(POISON); -}, TypeError); +}); -assertThrowsInstanceOf(() => { +assert.throws(TypeError, () => { array.map(POISON); -}, TypeError); +}); -assertThrowsInstanceOf(() => { +assert.throws(TypeError, () => { array.reduce(POISON); -}, TypeError); +}); -assertThrowsInstanceOf(() => { +assert.throws(TypeError, () => { array.reduceRight(POISON); -}, TypeError); +}); -assertThrowsInstanceOf(() => { +assert.throws(TypeError, () => { array.reverse(); -}, TypeError); +}); -assertThrowsInstanceOf(() => { +assert.throws(TypeError, () => { array.slice(POISON, POISON); -}, TypeError); +}); -assertThrowsInstanceOf(() => { +assert.throws(TypeError, () => { array.some(POISON); -}, TypeError); +}); -assertThrowsInstanceOf(() => { +assert.throws(TypeError, () => { array.values(); -}, TypeError); +}); -assertThrowsInstanceOf(() => { +assert.throws(TypeError, () => { array.every(POISON); -}, TypeError); +}); -assertThrowsInstanceOf(() => { +assert.throws(TypeError, () => { array.sort(POISON); -}, TypeError); +}); diff --git a/JSTests/test262/test/staging/sm/TypedArray/element-setting-converts-using-ToNumber.js b/JSTests/test262/test/staging/sm/TypedArray/element-setting-converts-using-ToNumber.js index 72bd38d44adea..f45b991438d11 100644 --- a/JSTests/test262/test/staging/sm/TypedArray/element-setting-converts-using-ToNumber.js +++ b/JSTests/test262/test/staging/sm/TypedArray/element-setting-converts-using-ToNumber.js @@ -4,25 +4,12 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-TypedArray-shell.js] -flags: - - noStrict +includes: [sm/non262-TypedArray-shell.js] description: | - pending + Typed array element-setting should convert to target type using ToNumber followed by an element-type-specific truncation function +info: bugzilla.mozilla.org/show_bug.cgi?id=985733 esid: pending ---*/ -var gTestfile = 'element-setting-converts-using-ToNumber.js'; -//----------------------------------------------------------------------------- -var BUGNUMBER = 985733; -var summary = - "Typed array element-setting should convert to target type using ToNumber " - "followed by an element-type-specific truncation function"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ anyTypedArrayConstructors.forEach(function(TypedArray) { var ta = new TypedArray(1); @@ -90,7 +77,3 @@ anyTypedArrayConstructors.forEach(function(TypedArray) { "(" + Object.prototype.toString.call(big) + ")"); } }); - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/TypedArray/entries.js b/JSTests/test262/test/staging/sm/TypedArray/entries.js index 5833b747d0966..16629590d99e1 100644 --- a/JSTests/test262/test/staging/sm/TypedArray/entries.js +++ b/JSTests/test262/test/staging/sm/TypedArray/entries.js @@ -2,13 +2,14 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-TypedArray-shell.js, deepEqual.js] -flags: - - noStrict +includes: [sm/non262-TypedArray-shell.js, deepEqual.js] description: | pending esid: pending ---*/ + +var otherGlobal = $262.createRealm().global; + for (var constructor of anyTypedArrayConstructors) { assert.sameValue(constructor.prototype.entries.length, 0); assert.sameValue(constructor.prototype.entries.name, "entries"); @@ -26,22 +27,19 @@ for (var constructor of anyTypedArrayConstructors) { assert.deepEqual(iterator.next(), {value: undefined, done: true}); // Called from other globals. - if (typeof createNewGlobal === "function") { - var otherGlobal = createNewGlobal(); - var entries = otherGlobal[constructor.name].prototype.entries; - assert.deepEqual([...entries.call(new constructor(2))], - [new otherGlobal.Array(0, 0), new otherGlobal.Array(1, 0)]); - arr = new (createNewGlobal()[constructor.name])(2); - assert.sameValue([...constructor.prototype.entries.call(arr)].toString(), "0,0,1,0"); - } + var entries = otherGlobal[constructor.name].prototype.entries; + assert.deepEqual([...entries.call(new constructor(2))], + [new otherGlobal.Array(0, 0), new otherGlobal.Array(1, 0)]); + arr = new (otherGlobal[constructor.name])(2); + assert.sameValue([...constructor.prototype.entries.call(arr)].toString(), "0,0,1,0"); // Throws if `this` isn't a TypedArray. var invalidReceivers = [undefined, null, 1, false, "", Symbol(), [], {}, /./, new Proxy(new constructor(), {})]; invalidReceivers.forEach(invalidReceiver => { - assertThrowsInstanceOf(() => { + assert.throws(TypeError, () => { constructor.prototype.entries.call(invalidReceiver); - }, TypeError, "Assert that entries fails if this value is not a TypedArray"); + }, "Assert that entries fails if this value is not a TypedArray"); }); } diff --git a/JSTests/test262/test/staging/sm/TypedArray/every-and-some.js b/JSTests/test262/test/staging/sm/TypedArray/every-and-some.js index a1da925ea1d92..575612ec26d67 100644 --- a/JSTests/test262/test/staging/sm/TypedArray/every-and-some.js +++ b/JSTests/test262/test/staging/sm/TypedArray/every-and-some.js @@ -2,13 +2,16 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-TypedArray-shell.js, deepEqual.js] +includes: [sm/non262-TypedArray-shell.js, deepEqual.js] flags: - noStrict description: | pending esid: pending ---*/ + +var otherGlobal = $262.createRealm().global; + // Tests for TypedArray#every. for (var constructor of anyTypedArrayConstructors) { assert.sameValue(constructor.prototype.every.length, 1); @@ -86,14 +89,14 @@ for (var constructor of anyTypedArrayConstructors) { assert.sameValue(count, 3); // There is no callback or callback is not a function. - assertThrowsInstanceOf(() => { + assert.throws(TypeError, () => { arr.every(); - }, TypeError); + }); var invalidCallbacks = [undefined, null, 1, false, "", Symbol(), [], {}, /./]; invalidCallbacks.forEach(callback => { - assertThrowsInstanceOf(() => { + assert.throws(TypeError, () => { arr.every(callback); - }, TypeError); + }); }) // Callback is a generator. @@ -102,20 +105,18 @@ for (var constructor of anyTypedArrayConstructors) { }); // Called from other globals. - if (typeof createNewGlobal === "function") { - var every = createNewGlobal()[constructor.name].prototype.every; - var sum = 0; - assert.sameValue(every.call(new constructor([1, 2, 3]), v => sum += v), true); - assert.sameValue(sum, 6); - } + var every = otherGlobal[constructor.name].prototype.every; + var sum = 0; + assert.sameValue(every.call(new constructor([1, 2, 3]), v => sum += v), true); + assert.sameValue(sum, 6); // Throws if `this` isn't a TypedArray. var invalidReceivers = [undefined, null, 1, false, "", Symbol(), [], {}, /./, new Proxy(new constructor(), {})]; invalidReceivers.forEach(invalidReceiver => { - assertThrowsInstanceOf(() => { + assert.throws(TypeError, () => { constructor.prototype.every.call(invalidReceiver, () => true); - }, TypeError, "Assert that every fails if this value is not a TypedArray"); + }, "Assert that every fails if this value is not a TypedArray"); }); // Test that the length getter is never called. @@ -209,14 +210,14 @@ for (var constructor of anyTypedArrayConstructors) { assert.sameValue(count, 3); // There is no callback or callback is not a function. - assertThrowsInstanceOf(() => { + assert.throws(TypeError, () => { arr.some(); - }, TypeError); + }); var invalidCallbacks = [undefined, null, 1, false, "", Symbol(), [], {}, /./]; invalidCallbacks.forEach(callback => { - assertThrowsInstanceOf(() => { + assert.throws(TypeError, () => { arr.some(callback); - }, TypeError); + }); }) // Callback is a generator. @@ -225,23 +226,21 @@ for (var constructor of anyTypedArrayConstructors) { }); // Called from other globals. - if (typeof createNewGlobal === "function") { - var some = createNewGlobal()[constructor.name].prototype.some; - var sum = 0; - assert.sameValue(some.call(new constructor([1, 2, 3]), v => { - sum += v; - return false; - }), false); - assert.sameValue(sum, 6); - } + var some = otherGlobal[constructor.name].prototype.some; + var sum = 0; + assert.sameValue(some.call(new constructor([1, 2, 3]), v => { + sum += v; + return false; + }), false); + assert.sameValue(sum, 6); // Throws if `this` isn't a TypedArray. var invalidReceivers = [undefined, null, 1, false, "", Symbol(), [], {}, /./, new Proxy(new constructor(), {})]; invalidReceivers.forEach(invalidReceiver => { - assertThrowsInstanceOf(() => { + assert.throws(TypeError, () => { constructor.prototype.some.call(invalidReceiver, () => true); - }, TypeError, "Assert that some fails if this value is not a TypedArray"); + }, "Assert that some fails if this value is not a TypedArray"); }); // Test that the length getter is never called. diff --git a/JSTests/test262/test/staging/sm/TypedArray/fill-detached.js b/JSTests/test262/test/staging/sm/TypedArray/fill-detached.js index 50c29c265b567..83e30e9a1d6c6 100644 --- a/JSTests/test262/test/staging/sm/TypedArray/fill-detached.js +++ b/JSTests/test262/test/staging/sm/TypedArray/fill-detached.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-TypedArray-shell.js] -flags: - - noStrict description: | pending esid: pending @@ -33,13 +30,13 @@ function DetachTypedArrayValue(ta, value) { for (let length of [0, 1, 10, 4096]) { let ta = new Int32Array(length); let value = DetachArrayBufferValue(ta.buffer, 123); - assertThrowsInstanceOf(() => ta.fill(value), TypeError); + assert.throws(TypeError, () => ta.fill(value)); } // Test when ArrayBuffer is reified during the fill() call. for (let length of [0, 1, 10, 4096]) { let ta = new Int32Array(length); let value = DetachTypedArrayValue(ta, 123); - assertThrowsInstanceOf(() => ta.fill(value), TypeError); + assert.throws(TypeError, () => ta.fill(value)); } diff --git a/JSTests/test262/test/staging/sm/TypedArray/fill.js b/JSTests/test262/test/staging/sm/TypedArray/fill.js index 2d661a2552be3..e5cfcf22b3e2d 100644 --- a/JSTests/test262/test/staging/sm/TypedArray/fill.js +++ b/JSTests/test262/test/staging/sm/TypedArray/fill.js @@ -2,13 +2,14 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-TypedArray-shell.js, deepEqual.js] -flags: - - noStrict +includes: [sm/non262-TypedArray-shell.js, deepEqual.js] description: | pending esid: pending ---*/ + +var otherGlobal = $262.createRealm().global; + for (var constructor of anyTypedArrayConstructors) { assert.deepEqual(constructor.prototype.fill.length, 1); @@ -46,18 +47,16 @@ for (var constructor of anyTypedArrayConstructors) { assert.deepEqual(new constructor([1,1,1]).fill(2, 0, {valueOf: ()=>1}), new constructor([2,1,1])); // Called from other globals. - if (typeof createNewGlobal === "function") { - var fill = createNewGlobal()[constructor.name].prototype.fill; - assert.deepEqual(fill.call(new constructor([3, 2, 1]), 2), new constructor([2, 2, 2])); - } + var fill = otherGlobal[constructor.name].prototype.fill; + assert.deepEqual(fill.call(new constructor([3, 2, 1]), 2), new constructor([2, 2, 2])); // Throws if `this` isn't a TypedArray. var invalidReceivers = [undefined, null, 1, false, "", Symbol(), [], {}, /./, new Proxy(new constructor(), {})]; invalidReceivers.forEach(invalidReceiver => { - assertThrowsInstanceOf(() => { + assert.throws(TypeError, () => { constructor.prototype.fill.call(invalidReceiver, 1); - }, TypeError); + }); }); // Test that the length getter is never called. diff --git a/JSTests/test262/test/staging/sm/TypedArray/filter-species.js b/JSTests/test262/test/staging/sm/TypedArray/filter-species.js index 3d5aeed650aa1..35a44b21a63ff 100644 --- a/JSTests/test262/test/staging/sm/TypedArray/filter-species.js +++ b/JSTests/test262/test/staging/sm/TypedArray/filter-species.js @@ -2,9 +2,7 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-TypedArray-shell.js, deepEqual.js] -flags: - - noStrict +includes: [deepEqual.js] description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/TypedArray/find-and-findIndex.js b/JSTests/test262/test/staging/sm/TypedArray/find-and-findIndex.js index 626289fd9cf07..7dd5266d56da7 100644 --- a/JSTests/test262/test/staging/sm/TypedArray/find-and-findIndex.js +++ b/JSTests/test262/test/staging/sm/TypedArray/find-and-findIndex.js @@ -4,16 +4,13 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-TypedArray-shell.js] -flags: - - noStrict +includes: [sm/non262-TypedArray-shell.js] description: | - pending + Implement %TypedArray%.prototype.{find, findIndex} +info: bugzilla.mozilla.org/show_bug.cgi?id=1078975 esid: pending +features: [Symbol] ---*/ -var BUGNUMBER = 1078975; -var summary = "Implement %TypedArray%.prototype.{find, findIndex}"; -print(BUGNUMBER + ": " + summary); const methods = ["find", "findIndex"]; @@ -30,16 +27,14 @@ anyTypedArrayConstructors.forEach(constructor => { assert.sameValue(arr[method](v => v === 3), 3); assert.sameValue(arr[method](v => v === 6), method === "find" ? undefined : -1); - var thisValues = [undefined, null, true, 1, "foo", [], {}]; - if (typeof Symbol == "function") - thisValues.push(Symbol()); + var thisValues = [undefined, null, true, 1, "foo", [], {}, Symbol()]; thisValues.forEach(thisArg => - assertThrowsInstanceOf(() => arr[method].call(thisArg, () => true), TypeError) + assert.throws(TypeError, () => arr[method].call(thisArg, () => true)) ); - assertThrowsInstanceOf(() => arr[method](), TypeError); - assertThrowsInstanceOf(() => arr[method](1), TypeError); + assert.throws(TypeError, () => arr[method]()); + assert.throws(TypeError, () => arr[method](1)); }); }); @@ -54,5 +49,3 @@ anyTypedArrayConstructors.filter(isFloatConstructor).forEach(constructor => { assert.sameValue(arr.find(v => Object.is(v, -0)), -0); assert.sameValue(arr.findIndex(v => Object.is(v, -0)), 0); }) - - diff --git a/JSTests/test262/test/staging/sm/TypedArray/findLast-and-findLastIndex.js b/JSTests/test262/test/staging/sm/TypedArray/findLast-and-findLastIndex.js index 3590f924cae64..49eb3f2215e18 100644 --- a/JSTests/test262/test/staging/sm/TypedArray/findLast-and-findLastIndex.js +++ b/JSTests/test262/test/staging/sm/TypedArray/findLast-and-findLastIndex.js @@ -4,16 +4,13 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-TypedArray-shell.js] -flags: - - noStrict +includes: [sm/non262-TypedArray-shell.js] description: | - pending + Implement %TypedArray%.prototype.{findLast, findLastIndex} +info: bugzilla.mozilla.org/show_bug.cgi?id=1704385 esid: pending +features: [Symbol] ---*/ -var BUGNUMBER = 1704385; -var summary = "Implement %TypedArray%.prototype.{findLast, findLastIndex}"; -print(BUGNUMBER + ": " + summary); const methods = ["findLast", "findLastIndex"]; @@ -30,16 +27,14 @@ anyTypedArrayConstructors.forEach(constructor => { assert.sameValue(arr[method](v => v === 3), 3); assert.sameValue(arr[method](v => v === 6), method === "findLast" ? undefined : -1); - var thisValues = [undefined, null, true, 1, "foo", [], {}]; - if (typeof Symbol == "function") - thisValues.push(Symbol()); + var thisValues = [undefined, null, true, 1, "foo", [], {}, Symbol()]; thisValues.forEach(thisArg => - assertThrowsInstanceOf(() => arr[method].call(thisArg, () => true), TypeError) + assert.throws(TypeError, () => arr[method].call(thisArg, () => true)) ); - assertThrowsInstanceOf(() => arr[method](), TypeError); - assertThrowsInstanceOf(() => arr[method](1), TypeError); + assert.throws(TypeError, () => arr[method]()); + assert.throws(TypeError, () => arr[method](1)); }); }); @@ -54,5 +49,3 @@ anyTypedArrayConstructors.filter(isFloatConstructor).forEach(constructor => { assert.sameValue(arr.findLast(v => Object.is(v, -0)), -0); assert.sameValue(arr.findLastIndex(v => Object.is(v, -0)), 0); }) - - diff --git a/JSTests/test262/test/staging/sm/TypedArray/forEach.js b/JSTests/test262/test/staging/sm/TypedArray/forEach.js index b4e3dd4c42102..1425cb88b223a 100644 --- a/JSTests/test262/test/staging/sm/TypedArray/forEach.js +++ b/JSTests/test262/test/staging/sm/TypedArray/forEach.js @@ -2,13 +2,16 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-TypedArray-shell.js, deepEqual.js] +includes: [sm/non262-TypedArray-shell.js, deepEqual.js] flags: - noStrict description: | pending esid: pending ---*/ + +var otherGlobal = $262.createRealm().global; + // Tests for TypedArray#forEach for (var constructor of anyTypedArrayConstructors) { assert.sameValue(constructor.prototype.forEach.length, 1); @@ -65,14 +68,14 @@ for (var constructor of anyTypedArrayConstructors) { assert.sameValue(count, 3); // There is no callback or callback is not a function. - assertThrowsInstanceOf(() => { + assert.throws(TypeError, () => { arr.forEach(); - }, TypeError); + }); var invalidCallbacks = [undefined, null, 1, false, "", Symbol(), [], {}, /./]; invalidCallbacks.forEach(callback => { - assertThrowsInstanceOf(() => { + assert.throws(TypeError, () => { arr.forEach(callback); - }, TypeError); + }); }) // Callback is a generator. @@ -81,22 +84,20 @@ for (var constructor of anyTypedArrayConstructors) { }); // Called from other globals. - if (typeof createNewGlobal === "function") { - var forEach = createNewGlobal()[constructor.name].prototype.forEach; - var sum = 0; - forEach.call(new constructor([1, 2, 3]), v => { - sum += v; - }); - assert.sameValue(sum, 6); - } + var forEach = otherGlobal[constructor.name].prototype.forEach; + var sum = 0; + forEach.call(new constructor([1, 2, 3]), v => { + sum += v; + }); + assert.sameValue(sum, 6); // Throws if `this` isn't a TypedArray. var invalidReceivers = [undefined, null, 1, false, "", Symbol(), [], {}, /./, new Proxy(new constructor(), {})]; invalidReceivers.forEach(invalidReceiver => { - assertThrowsInstanceOf(() => { + assert.throws(TypeError, () => { constructor.prototype.forEach.call(invalidReceiver, () => true); - }, TypeError, "Assert that some fails if this value is not a TypedArray"); + }, "Assert that some fails if this value is not a TypedArray"); }); } diff --git a/JSTests/test262/test/staging/sm/TypedArray/from_basics.js b/JSTests/test262/test/staging/sm/TypedArray/from_basics.js index 140cd9bad6ba3..c7972475c2de8 100644 --- a/JSTests/test262/test/staging/sm/TypedArray/from_basics.js +++ b/JSTests/test262/test/staging/sm/TypedArray/from_basics.js @@ -2,9 +2,7 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-TypedArray-shell.js, deepEqual.js] -flags: - - noStrict +includes: [sm/non262-TypedArray-shell.js, deepEqual.js] description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/TypedArray/from_constructor.js b/JSTests/test262/test/staging/sm/TypedArray/from_constructor.js index 4c2966c0758d2..b1bc39be167e8 100644 --- a/JSTests/test262/test/staging/sm/TypedArray/from_constructor.js +++ b/JSTests/test262/test/staging/sm/TypedArray/from_constructor.js @@ -2,9 +2,7 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-TypedArray-shell.js] -flags: - - noStrict +includes: [sm/non262-TypedArray-shell.js] description: | pending esid: pending @@ -25,9 +23,9 @@ for (var constructor of anyTypedArrayConstructors) { () => ({}) // arrow functions are not constructors ]; for (var v of nonconstructors) { - assertThrowsInstanceOf(() => { + assert.throws(TypeError, () => { constructor.from.call(v, arr); - }, TypeError); + }); } // %TypedArray%.from does not get confused if global constructors for typed arrays diff --git a/JSTests/test262/test/staging/sm/TypedArray/from_errors.js b/JSTests/test262/test/staging/sm/TypedArray/from_errors.js index b51a8140b113c..42c7a6923f6f7 100644 --- a/JSTests/test262/test/staging/sm/TypedArray/from_errors.js +++ b/JSTests/test262/test/staging/sm/TypedArray/from_errors.js @@ -2,18 +2,16 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-TypedArray-shell.js, deepEqual.js] -flags: - - noStrict +includes: [sm/assertThrowsValue.js, sm/non262-TypedArray-shell.js, deepEqual.js] description: | pending esid: pending ---*/ for (var constructor of anyTypedArrayConstructors) { // %TypedArray%.from throws if the argument is undefined or null. - assertThrowsInstanceOf(() => constructor.from(), TypeError); - assertThrowsInstanceOf(() => constructor.from(undefined), TypeError); - assertThrowsInstanceOf(() => constructor.from(null), TypeError); + assert.throws(TypeError, () => constructor.from()); + assert.throws(TypeError, () => constructor.from(undefined)); + assert.throws(TypeError, () => constructor.from(null)); // Unlike Array.from, %TypedArray%.from doesn't get or set the length property. function ObjectWithThrowingLengthGetterSetter(...rest) { @@ -29,12 +27,12 @@ for (var constructor of anyTypedArrayConstructors) { assert.sameValue(ObjectWithThrowingLengthGetterSetter.from([123])[0], 123); // %TypedArray%.from throws if mapfn is neither callable nor undefined. - assertThrowsInstanceOf(() => constructor.from([3, 4, 5], {}), TypeError); - assertThrowsInstanceOf(() => constructor.from([3, 4, 5], "also not a function"), TypeError); - assertThrowsInstanceOf(() => constructor.from([3, 4, 5], null), TypeError); + assert.throws(TypeError, () => constructor.from([3, 4, 5], {})); + assert.throws(TypeError, () => constructor.from([3, 4, 5], "also not a function")); + assert.throws(TypeError, () => constructor.from([3, 4, 5], null)); // Even if the function would not have been called. - assertThrowsInstanceOf(() => constructor.from([], JSON), TypeError); + assert.throws(TypeError, () => constructor.from([], JSON)); // If mapfn is not undefined and not callable, the error happens before anything else. // Before calling the constructor, before touching the arrayLike. @@ -50,7 +48,7 @@ for (var constructor of anyTypedArrayConstructors) { get: function () { log += "2"; }, getOwnPropertyDescriptor: function () { log += "3"; } }); - assertThrowsInstanceOf(() => constructor.from.call(C, p, {}), TypeError); + assert.throws(TypeError, () => constructor.from.call(C, p, {})); assert.sameValue(log, ""); // If mapfn throws, the new object has already been created. @@ -66,20 +64,19 @@ for (var constructor of anyTypedArrayConstructors) { // It's a TypeError if the @@iterator property is a primitive (except null and undefined). for (var primitive of ["foo", 17, Symbol(), true]) { - assertThrowsInstanceOf(() => constructor.from({[Symbol.iterator] : primitive}), TypeError); + assert.throws(TypeError, () => constructor.from({[Symbol.iterator] : primitive})); } assert.deepEqual(constructor.from({[Symbol.iterator]: null}), new constructor()); assert.deepEqual(constructor.from({[Symbol.iterator]: undefined}), new constructor()); // It's a TypeError if the iterator's .next() method returns a primitive. for (var primitive of [undefined, null, "foo", 17, Symbol(), true]) { - assertThrowsInstanceOf( + assert.throws(TypeError, () => constructor.from({ [Symbol.iterator]() { return {next() { return primitive; }}; } - }), - TypeError); + })); } } diff --git a/JSTests/test262/test/staging/sm/TypedArray/from_iterable.js b/JSTests/test262/test/staging/sm/TypedArray/from_iterable.js index cf01d8ce08d31..9dab307d31d8a 100644 --- a/JSTests/test262/test/staging/sm/TypedArray/from_iterable.js +++ b/JSTests/test262/test/staging/sm/TypedArray/from_iterable.js @@ -2,9 +2,7 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-TypedArray-shell.js, deepEqual.js] -flags: - - noStrict +includes: [sm/non262-TypedArray-shell.js, deepEqual.js] description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/TypedArray/from_mapping.js b/JSTests/test262/test/staging/sm/TypedArray/from_mapping.js index 45907df60cf2a..5228007ea1f2c 100644 --- a/JSTests/test262/test/staging/sm/TypedArray/from_mapping.js +++ b/JSTests/test262/test/staging/sm/TypedArray/from_mapping.js @@ -2,9 +2,7 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-TypedArray-shell.js, deepEqual.js] -flags: - - noStrict +includes: [sm/non262-TypedArray-shell.js, deepEqual.js] description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/TypedArray/from_realms.js b/JSTests/test262/test/staging/sm/TypedArray/from_realms.js index 9d7c39ff667d7..431821066b056 100644 --- a/JSTests/test262/test/staging/sm/TypedArray/from_realms.js +++ b/JSTests/test262/test/staging/sm/TypedArray/from_realms.js @@ -2,20 +2,18 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-TypedArray-shell.js] -flags: - - noStrict +includes: [sm/non262-TypedArray-shell.js] description: | pending esid: pending ---*/ -for (var constructor of anyTypedArrayConstructors) { - if (typeof createNewGlobal !== 'function') - break; +var g = $262.createRealm().global; +var h = $262.createRealm().global; + +for (var constructor of anyTypedArrayConstructors) { // G[constructor.name].from, where G is any global, produces an array whose prototype // is G[constructor.name].prototype. - var g = createNewGlobal(); var ga = g[constructor.name].from([1, 2, 3]); assert.sameValue(ga instanceof g[constructor.name], true); @@ -27,7 +25,7 @@ for (var constructor of anyTypedArrayConstructors) { // The default 'this' value received by a non-strict mapping function is // that function's global, not %TypedArray%.from's global or the caller's global. - var h = createNewGlobal(), result = undefined; + var result = undefined; h.mainGlobal = this; h.eval("function f() { mainGlobal.result = this; }"); g[constructor.name].from.call(constructor, [5, 6, 7], h.f); diff --git a/JSTests/test262/test/staging/sm/TypedArray/from_string.js b/JSTests/test262/test/staging/sm/TypedArray/from_string.js index 03807b98b2618..860b30923d9ac 100644 --- a/JSTests/test262/test/staging/sm/TypedArray/from_string.js +++ b/JSTests/test262/test/staging/sm/TypedArray/from_string.js @@ -2,9 +2,7 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-TypedArray-shell.js, compareArray.js] -flags: - - noStrict +includes: [compareArray.js] description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/TypedArray/from_surfaces.js b/JSTests/test262/test/staging/sm/TypedArray/from_surfaces.js index d7c23a91f998e..c70fa96e86f1f 100644 --- a/JSTests/test262/test/staging/sm/TypedArray/from_surfaces.js +++ b/JSTests/test262/test/staging/sm/TypedArray/from_surfaces.js @@ -2,9 +2,7 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-TypedArray-shell.js] -flags: - - noStrict +includes: [sm/non262-TypedArray-shell.js] description: | pending esid: pending @@ -16,6 +14,6 @@ for (var constructor of anyTypedArrayConstructors) { assert.sameValue(desc.enumerable, false); assert.sameValue(desc.writable, true); assert.sameValue(constructor.from.length, 1); - assertThrowsInstanceOf(() => new constructor.from(), TypeError); // not a constructor + assert.throws(TypeError, () => new constructor.from()); // not a constructor } diff --git a/JSTests/test262/test/staging/sm/TypedArray/from_this.js b/JSTests/test262/test/staging/sm/TypedArray/from_this.js index cafcff4404b16..f5bacbb781361 100644 --- a/JSTests/test262/test/staging/sm/TypedArray/from_this.js +++ b/JSTests/test262/test/staging/sm/TypedArray/from_this.js @@ -2,7 +2,7 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-TypedArray-shell.js, deepEqual.js] +includes: [sm/non262-TypedArray-shell.js, deepEqual.js] flags: - noStrict description: | diff --git a/JSTests/test262/test/staging/sm/TypedArray/from_typedarray_fastpath_detached.js b/JSTests/test262/test/staging/sm/TypedArray/from_typedarray_fastpath_detached.js index 3bea29117e7bd..366edc2b05815 100644 --- a/JSTests/test262/test/staging/sm/TypedArray/from_typedarray_fastpath_detached.js +++ b/JSTests/test262/test/staging/sm/TypedArray/from_typedarray_fastpath_detached.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-TypedArray-shell.js] -flags: - - noStrict description: | pending esid: pending @@ -15,5 +12,5 @@ esid: pending var ta = new Int32Array(4); $262.detachArrayBuffer(ta.buffer); -assertThrowsInstanceOf(() => Int32Array.from(ta), TypeError); +assert.throws(TypeError, () => Int32Array.from(ta)); diff --git a/JSTests/test262/test/staging/sm/TypedArray/getter-name.js b/JSTests/test262/test/staging/sm/TypedArray/getter-name.js index 8b6b652979d67..f359f5cf60d21 100644 --- a/JSTests/test262/test/staging/sm/TypedArray/getter-name.js +++ b/JSTests/test262/test/staging/sm/TypedArray/getter-name.js @@ -2,17 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-TypedArray-shell.js] -flags: - - noStrict description: | - pending + TypedArray getters should have get prefix +info: bugzilla.mozilla.org/show_bug.cgi?id=1180290 esid: pending ---*/ -var BUGNUMBER = 1180290; -var summary = 'TypedArray getters should have get prefix'; - -print(BUGNUMBER + ": " + summary); let TypedArray = Object.getPrototypeOf(Float32Array.prototype).constructor; @@ -22,4 +16,3 @@ assert.sameValue(Object.getOwnPropertyDescriptor(TypedArray.prototype, "byteLeng assert.sameValue(Object.getOwnPropertyDescriptor(TypedArray.prototype, "byteOffset").get.name, "get byteOffset"); assert.sameValue(Object.getOwnPropertyDescriptor(TypedArray.prototype, "length").get.name, "get length"); assert.sameValue(Object.getOwnPropertyDescriptor(TypedArray.prototype, Symbol.toStringTag).get.name, "get [Symbol.toStringTag]"); - diff --git a/JSTests/test262/test/staging/sm/TypedArray/has-property-op.js b/JSTests/test262/test/staging/sm/TypedArray/has-property-op.js index e5efaa6f41af5..ffa9ac66ce322 100644 --- a/JSTests/test262/test/staging/sm/TypedArray/has-property-op.js +++ b/JSTests/test262/test/staging/sm/TypedArray/has-property-op.js @@ -2,9 +2,7 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-TypedArray-shell.js] -flags: - - noStrict +includes: [sm/non262-TypedArray-shell.js] description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/TypedArray/includes.js b/JSTests/test262/test/staging/sm/TypedArray/includes.js index d88a5babf9f8b..f96f924d81a04 100644 --- a/JSTests/test262/test/staging/sm/TypedArray/includes.js +++ b/JSTests/test262/test/staging/sm/TypedArray/includes.js @@ -2,13 +2,14 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-TypedArray-shell.js] -flags: - - noStrict +includes: [sm/non262-TypedArray-shell.js] description: | pending esid: pending ---*/ + +var otherGlobal = $262.createRealm().global; + for (var constructor of anyTypedArrayConstructors) { assert.sameValue(constructor.prototype.includes.length, 1); @@ -25,18 +26,16 @@ for (var constructor of anyTypedArrayConstructors) { assert.sameValue(new constructor([1, 2, 3]).includes(2, 100), false); // Called from other globals. - if (typeof createNewGlobal === "function") { - var includes = createNewGlobal()[constructor.name].prototype.includes; - assert.sameValue(includes.call(new constructor([1, 2, 3]), 2), true); - } + var includes = otherGlobal[constructor.name].prototype.includes; + assert.sameValue(includes.call(new constructor([1, 2, 3]), 2), true); // Throws if `this` isn't a TypedArray. var invalidReceivers = [undefined, null, 1, false, "", Symbol(), [], {}, /./, new Proxy(new constructor(), {})]; invalidReceivers.forEach(invalidReceiver => { - assertThrowsInstanceOf(() => { + assert.throws(TypeError, () => { constructor.prototype.includes.call(invalidReceiver); - }, TypeError, "Assert that reverse fails if this value is not a TypedArray"); + }, "Assert that reverse fails if this value is not a TypedArray"); }); // Test that the length getter is never called. diff --git a/JSTests/test262/test/staging/sm/TypedArray/indexOf-and-lastIndexOf.js b/JSTests/test262/test/staging/sm/TypedArray/indexOf-and-lastIndexOf.js index 020d6956a7e98..f2de490c8b266 100644 --- a/JSTests/test262/test/staging/sm/TypedArray/indexOf-and-lastIndexOf.js +++ b/JSTests/test262/test/staging/sm/TypedArray/indexOf-and-lastIndexOf.js @@ -2,9 +2,7 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-TypedArray-shell.js] -flags: - - noStrict +includes: [sm/non262-TypedArray-shell.js] description: | pending esid: pending @@ -43,9 +41,9 @@ for (var constructor of anyTypedArrayConstructors) { var invalidReceivers = [undefined, null, 1, false, "", Symbol(), [], {}, /./, new Proxy(new constructor(), {})]; invalidReceivers.forEach(invalidReceiver => { - assertThrowsInstanceOf(() => { + assert.throws(TypeError, () => { constructor.prototype.indexOf.call(invalidReceiver); - }, TypeError, "Assert that indexOf fails if this value is not a TypedArray"); + }, "Assert that indexOf fails if this value is not a TypedArray"); }); // test that this.length is never called @@ -104,9 +102,9 @@ for (var constructor of anyTypedArrayConstructors) { var invalidReceivers = [undefined, null, 1, false, "", Symbol(), [], {}, /./, new Proxy(new constructor(), {})]; invalidReceivers.forEach(invalidReceiver => { - assertThrowsInstanceOf(() => { + assert.throws(TypeError, () => { constructor.prototype.lastIndexOf.call(invalidReceiver); - }, TypeError, "Assert that lastIndexOf fails if this value is not a TypedArray"); + }, "Assert that lastIndexOf fails if this value is not a TypedArray"); }); // Test that the length getter is never called. diff --git a/JSTests/test262/test/staging/sm/TypedArray/indexOf-never-returns-negative-zero.js b/JSTests/test262/test/staging/sm/TypedArray/indexOf-never-returns-negative-zero.js index a83d8d4f5aba4..739ade20a1688 100644 --- a/JSTests/test262/test/staging/sm/TypedArray/indexOf-never-returns-negative-zero.js +++ b/JSTests/test262/test/staging/sm/TypedArray/indexOf-never-returns-negative-zero.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-TypedArray-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/TypedArray/iterator-next-with-detached.js b/JSTests/test262/test/staging/sm/TypedArray/iterator-next-with-detached.js index ba21fbca981a5..b62da5ac72d29 100644 --- a/JSTests/test262/test/staging/sm/TypedArray/iterator-next-with-detached.js +++ b/JSTests/test262/test/staging/sm/TypedArray/iterator-next-with-detached.js @@ -2,81 +2,75 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-TypedArray-shell.js] -flags: - - noStrict +includes: [sm/non262-TypedArray-shell.js] description: | pending esid: pending ---*/ + function checkResult(actual, expected) { assert.sameValue(actual.value, expected.value); assert.sameValue(actual.done, expected.done); } -if (typeof $262.detachArrayBuffer === "function" && typeof createNewGlobal === "function") -{ - var iteratorFunction = Uint8Array.prototype[Symbol.iterator]; +var iteratorFunction = Uint8Array.prototype[Symbol.iterator]; +var thisGlobal = this; +var otherGlobal = $262.createRealm().global; - var thisGlobal = this; - var otherGlobal = createNewGlobal(); +var thisNext = new Uint8Array()[Symbol.iterator]().next - var thisNext = new Uint8Array()[Symbol.iterator]().next +for (const constructor of typedArrayConstructors) +{ + assert.sameValue(new constructor()[Symbol.iterator]().next, thisNext); - for (const constructor of typedArrayConstructors) - { - assert.sameValue(new constructor()[Symbol.iterator]().next, thisNext); + var globals = + [ + [thisGlobal, thisGlobal], + [thisGlobal, otherGlobal], + [otherGlobal, otherGlobal], + [otherGlobal, thisGlobal], + ]; - var globals = - [ - [thisGlobal, thisGlobal], - [thisGlobal, otherGlobal], - [otherGlobal, otherGlobal], - [otherGlobal, thisGlobal], - ]; + for (const [arrayGlobal, bufferGlobal] of globals) + { + var arr, buffer, iterator; - for (const [arrayGlobal, bufferGlobal] of globals) + function arrayBufferIterator() { - var arr, buffer, iterator; + var byteLength = 2 * constructor.BYTES_PER_ELEMENT; + var buf = new bufferGlobal.ArrayBuffer(byteLength); + var tarray = new arrayGlobal[constructor.name](buf); - function arrayBufferIterator() - { - var byteLength = 2 * constructor.BYTES_PER_ELEMENT; - var buf = new bufferGlobal.ArrayBuffer(byteLength); - var tarray = new arrayGlobal[constructor.name](buf); + tarray[0] = 1; + tarray[1] = 2; - tarray[0] = 1; - tarray[1] = 2; - - return [tarray, buf, Reflect.apply(iteratorFunction, tarray, [])]; - } + return [tarray, buf, Reflect.apply(iteratorFunction, tarray, [])]; + } - [arr, buffer, iterator] = arrayBufferIterator(); - checkResult(thisNext.call(iterator), {value: 1, done: false}); - checkResult(thisNext.call(iterator), {value: 2, done: false}); - checkResult(thisNext.call(iterator), {value: undefined, done: true}); + [arr, buffer, iterator] = arrayBufferIterator(); + checkResult(thisNext.call(iterator), {value: 1, done: false}); + checkResult(thisNext.call(iterator), {value: 2, done: false}); + checkResult(thisNext.call(iterator), {value: undefined, done: true}); - // Test an exhausted iterator. - bufferGlobal.$262.detachArrayBuffer(buffer); - checkResult(thisNext.call(iterator), {value: undefined, done: true}); + // Test an exhausted iterator. + bufferGlobal.$262.detachArrayBuffer(buffer); + checkResult(thisNext.call(iterator), {value: undefined, done: true}); - // Test an all-but-exhausted iterator. - [arr, buffer, iterator] = arrayBufferIterator(); - checkResult(thisNext.call(iterator), {value: 1, done: false}); - checkResult(thisNext.call(iterator), {value: 2, done: false}); + // Test an all-but-exhausted iterator. + [arr, buffer, iterator] = arrayBufferIterator(); + checkResult(thisNext.call(iterator), {value: 1, done: false}); + checkResult(thisNext.call(iterator), {value: 2, done: false}); - bufferGlobal.$262.detachArrayBuffer(buffer); - assertThrowsInstanceOf(() => thisNext.call(iterator), TypeError); + bufferGlobal.$262.detachArrayBuffer(buffer); + assert.throws(TypeError, () => thisNext.call(iterator)); - // Test an unexhausted iterator. - [arr, buffer, iterator] = arrayBufferIterator(); - checkResult(thisNext.call(iterator), {value: 1, done: false}); + // Test an unexhausted iterator. + [arr, buffer, iterator] = arrayBufferIterator(); + checkResult(thisNext.call(iterator), {value: 1, done: false}); - bufferGlobal.$262.detachArrayBuffer(buffer); - assertThrowsInstanceOf(() => thisNext.call(iterator), TypeError); - } + bufferGlobal.$262.detachArrayBuffer(buffer); + assert.throws(TypeError, () => thisNext.call(iterator)); } } - diff --git a/JSTests/test262/test/staging/sm/TypedArray/iterator.js b/JSTests/test262/test/staging/sm/TypedArray/iterator.js index 2d65df5e41930..b00a3443fa4fb 100644 --- a/JSTests/test262/test/staging/sm/TypedArray/iterator.js +++ b/JSTests/test262/test/staging/sm/TypedArray/iterator.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-TypedArray-shell.js] -flags: - - noStrict description: | pending esid: pending @@ -41,7 +38,7 @@ Object.defineProperty(i8Array, "length", {value: 15}); (new Uint8Array(4)).set(i8Array, 3); // Ensure that it works across globals -let g2 = createNewGlobal(); +let g2 = $262.createRealm().global; i8Array = new Int8Array(8); Object.defineProperty(i8Array, "length", {value: 0}); diff --git a/JSTests/test262/test/staging/sm/TypedArray/join.js b/JSTests/test262/test/staging/sm/TypedArray/join.js index fc99bc09535af..d3dd63c5a5d37 100644 --- a/JSTests/test262/test/staging/sm/TypedArray/join.js +++ b/JSTests/test262/test/staging/sm/TypedArray/join.js @@ -2,13 +2,16 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-TypedArray-shell.js, deepEqual.js] +includes: [sm/non262-TypedArray-shell.js, deepEqual.js] flags: - noStrict description: | pending esid: pending ---*/ + +var otherGlobal = $262.createRealm().global; + for (var constructor of anyTypedArrayConstructors) { assert.sameValue(constructor.prototype.join.length, 1); @@ -25,22 +28,20 @@ for (var constructor of anyTypedArrayConstructors) { assert.sameValue(new constructor(1).join(), "0"); assert.sameValue(new constructor(3).join(), "0,0,0"); - assertThrowsInstanceOf(() => new constructor().join({toString(){throw new TypeError}}), TypeError); - assertThrowsInstanceOf(() => new constructor().join(Symbol()), TypeError); + assert.throws(TypeError, () => new constructor().join({toString(){throw new TypeError}})); + assert.throws(TypeError, () => new constructor().join(Symbol())); // Called from other globals. - if (typeof createNewGlobal === "function") { - var join = createNewGlobal()[constructor.name].prototype.join; - assert.sameValue(join.call(new constructor([1, 2, 3]), "\t"), "1\t2\t3"); - } + var join = otherGlobal[constructor.name].prototype.join; + assert.sameValue(join.call(new constructor([1, 2, 3]), "\t"), "1\t2\t3"); // Throws if `this` isn't a TypedArray. var invalidReceivers = [undefined, null, 1, false, "", Symbol(), [], {}, /./, new Proxy(new constructor(), {})]; invalidReceivers.forEach(invalidReceiver => { - assertThrowsInstanceOf(() => { + assert.throws(TypeError, () => { constructor.prototype.join.call(invalidReceiver); - }, TypeError, "Assert that join fails if this value is not a TypedArray"); + }, "Assert that join fails if this value is not a TypedArray"); }); // Test that the length getter is never called. diff --git a/JSTests/test262/test/staging/sm/TypedArray/keys.js b/JSTests/test262/test/staging/sm/TypedArray/keys.js index ff539d43e5d0b..b4f6b352655a0 100644 --- a/JSTests/test262/test/staging/sm/TypedArray/keys.js +++ b/JSTests/test262/test/staging/sm/TypedArray/keys.js @@ -2,13 +2,14 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-TypedArray-shell.js, deepEqual.js] -flags: - - noStrict +includes: [sm/non262-TypedArray-shell.js, deepEqual.js] description: | pending esid: pending ---*/ + +var otherGlobal = $262.createRealm().global; + for (var constructor of anyTypedArrayConstructors) { assert.sameValue(constructor.prototype.keys.length, 0); assert.sameValue(constructor.prototype.keys.name, "keys"); @@ -26,20 +27,18 @@ for (var constructor of anyTypedArrayConstructors) { assert.deepEqual(iterator.next(), {value: undefined, done: true}); // Called from other globals. - if (typeof createNewGlobal === "function") { - var keys = createNewGlobal()[constructor.name].prototype.keys; - assert.deepEqual([...keys.call(new constructor(2))], [0, 1]); - arr = new (createNewGlobal()[constructor.name])(2); - assert.sameValue([...constructor.prototype.keys.call(arr)].toString(), "0,1"); - } + var keys = otherGlobal[constructor.name].prototype.keys; + assert.deepEqual([...keys.call(new constructor(2))], [0, 1]); + arr = new (otherGlobal[constructor.name])(2); + assert.sameValue([...constructor.prototype.keys.call(arr)].toString(), "0,1"); // Throws if `this` isn't a TypedArray. var invalidReceivers = [undefined, null, 1, false, "", Symbol(), [], {}, /./, new Proxy(new constructor(), {})]; invalidReceivers.forEach(invalidReceiver => { - assertThrowsInstanceOf(() => { + assert.throws(TypeError, () => { constructor.prototype.keys.call(invalidReceiver); - }, TypeError, "Assert that keys fails if this value is not a TypedArray"); + }, "Assert that keys fails if this value is not a TypedArray"); }); } diff --git a/JSTests/test262/test/staging/sm/TypedArray/lastIndexOf-never-returns-negative-zero.js b/JSTests/test262/test/staging/sm/TypedArray/lastIndexOf-never-returns-negative-zero.js index 7bdc624b6122e..ccecf7660f648 100644 --- a/JSTests/test262/test/staging/sm/TypedArray/lastIndexOf-never-returns-negative-zero.js +++ b/JSTests/test262/test/staging/sm/TypedArray/lastIndexOf-never-returns-negative-zero.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-TypedArray-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/TypedArray/map-and-filter.js b/JSTests/test262/test/staging/sm/TypedArray/map-and-filter.js index 0d9c52e810d64..b5885802c4b7c 100644 --- a/JSTests/test262/test/staging/sm/TypedArray/map-and-filter.js +++ b/JSTests/test262/test/staging/sm/TypedArray/map-and-filter.js @@ -2,13 +2,16 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-TypedArray-shell.js, deepEqual.js, compareArray.js] +includes: [sm/non262-TypedArray-shell.js, deepEqual.js, compareArray.js] flags: - noStrict description: | pending esid: pending ---*/ + +var otherGlobal = $262.createRealm().global; + // Tests for TypedArray#map. for (var constructor of anyTypedArrayConstructors) { assert.sameValue(constructor.prototype.map.length, 1); @@ -94,14 +97,14 @@ for (var constructor of anyTypedArrayConstructors) { assert.sameValue(count, 3); // There is no callback or callback is not a function. - assertThrowsInstanceOf(() => { + assert.throws(TypeError, () => { arr.map(); - }, TypeError); + }); var invalidCallbacks = [undefined, null, 1, false, "", Symbol(), [], {}, /./]; invalidCallbacks.forEach(callback => { - assertThrowsInstanceOf(() => { + assert.throws(TypeError, () => { arr.map(callback); - }, TypeError); + }); }) // Callback is a generator. @@ -110,20 +113,18 @@ for (var constructor of anyTypedArrayConstructors) { }); // Called from other globals. - if (typeof createNewGlobal === "function") { - var map = createNewGlobal()[constructor.name].prototype.map; - var sum = 0; - assert.compareArray(map.call(new constructor([1, 2, 3]), v => sum += v), new constructor([1,3,6])); - assert.sameValue(sum, 6); - } + var map = otherGlobal[constructor.name].prototype.map; + var sum = 0; + assert.compareArray(map.call(new constructor([1, 2, 3]), v => sum += v), new constructor([1,3,6])); + assert.sameValue(sum, 6); // Throws if `this` isn't a TypedArray. var invalidReceivers = [undefined, null, 1, false, "", Symbol(), [], {}, /./, new Proxy(new constructor(), {})]; invalidReceivers.forEach(invalidReceiver => { - assertThrowsInstanceOf(() => { + assert.throws(TypeError, () => { constructor.prototype.filter.call(invalidReceiver, () => true); - }, TypeError, "Assert that map fails if this value is not a TypedArray"); + }, "Assert that map fails if this value is not a TypedArray"); }); // Test that the length getter is never called. @@ -218,14 +219,14 @@ for (var constructor of anyTypedArrayConstructors) { assert.sameValue(count, 3); // There is no callback or callback is not a function. - assertThrowsInstanceOf(() => { + assert.throws(TypeError, () => { arr.filter(); - }, TypeError); + }); var invalidCallbacks = [undefined, null, 1, false, "", Symbol(), [], {}, /./]; invalidCallbacks.forEach(callback => { - assertThrowsInstanceOf(() => { + assert.throws(TypeError, () => { arr.filter(callback); - }, TypeError); + }); }) // Callback is a generator. @@ -234,21 +235,19 @@ for (var constructor of anyTypedArrayConstructors) { }); // Called from other globals. - if (typeof createNewGlobal === "function") { - var filter = createNewGlobal()[constructor.name].prototype.filter; - var sum = 0; - assert.compareArray(filter.call(new constructor([1, 2, 3]), v => {sum += v; return true}), - new constructor([1,2,3])); - assert.sameValue(sum, 6); - } + var filter = otherGlobal[constructor.name].prototype.filter; + var sum = 0; + assert.compareArray(filter.call(new constructor([1, 2, 3]), v => {sum += v; return true}), + new constructor([1,2,3])); + assert.sameValue(sum, 6); // Throws if `this` isn't a TypedArray. var invalidReceivers = [undefined, null, 1, false, "", Symbol(), [], {}, /./, new Proxy(new constructor(), {})]; invalidReceivers.forEach(invalidReceiver => { - assertThrowsInstanceOf(() => { + assert.throws(TypeError, () => { constructor.prototype.filter.call(invalidReceiver, () => true); - }, TypeError, "Assert that filter fails if this value is not a TypedArray"); + }, "Assert that filter fails if this value is not a TypedArray"); }); // Test that the length getter is never called. diff --git a/JSTests/test262/test/staging/sm/TypedArray/map-species.js b/JSTests/test262/test/staging/sm/TypedArray/map-species.js index 3ca0f7d68e129..88bcc8866525a 100644 --- a/JSTests/test262/test/staging/sm/TypedArray/map-species.js +++ b/JSTests/test262/test/staging/sm/TypedArray/map-species.js @@ -2,9 +2,7 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-TypedArray-shell.js, deepEqual.js] -flags: - - noStrict +includes: [deepEqual.js] description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/TypedArray/object-defineproperty.js b/JSTests/test262/test/staging/sm/TypedArray/object-defineproperty.js index 05a10eaef3aae..1cbb9613e1d92 100644 --- a/JSTests/test262/test/staging/sm/TypedArray/object-defineproperty.js +++ b/JSTests/test262/test/staging/sm/TypedArray/object-defineproperty.js @@ -2,9 +2,7 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-TypedArray-shell.js] -flags: - - noStrict +includes: [sm/non262-TypedArray-shell.js] description: | pending esid: pending @@ -32,8 +30,8 @@ var throws = [ ]; for (var desc of throws) { - assertThrowsInstanceOf(function() { Object.defineProperty(obj, 0, desc); }, TypeError); - assertThrowsInstanceOf(function() { Object.defineProperties(obj, {0: desc}); }, TypeError); + assert.throws(TypeError, function() { Object.defineProperty(obj, 0, desc); }); + assert.throws(TypeError, function() { Object.defineProperties(obj, {0: desc}); }); } Object.defineProperty(obj, 0, {}); diff --git a/JSTests/test262/test/staging/sm/TypedArray/of.js b/JSTests/test262/test/staging/sm/TypedArray/of.js index 5b4c10a636cf7..9b687fd308946 100644 --- a/JSTests/test262/test/staging/sm/TypedArray/of.js +++ b/JSTests/test262/test/staging/sm/TypedArray/of.js @@ -2,13 +2,14 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-TypedArray-shell.js, deepEqual.js] -flags: - - noStrict +includes: [sm/non262-TypedArray-shell.js, deepEqual.js] description: | pending esid: pending ---*/ + +var otherGlobal = $262.createRealm().global; + for (var constructor of anyTypedArrayConstructors) { assert.sameValue(constructor.of.length, 0); @@ -27,8 +28,8 @@ for (var constructor of anyTypedArrayConstructors) { assert.deepEqual(constructor.of("1", "2", "3"), new constructor([1, 2, 3])); // This method can't be transplanted to other constructors. - assertThrowsInstanceOf(() => constructor.of.call(Array), TypeError); - assertThrowsInstanceOf(() => constructor.of.call(Array, 1, 2, 3), TypeError); + assert.throws(TypeError, () => constructor.of.call(Array)); + assert.throws(TypeError, () => constructor.of.call(Array, 1, 2, 3)); var hits = 0; assert.deepEqual(constructor.of.call(function(len) { @@ -40,51 +41,49 @@ for (var constructor of anyTypedArrayConstructors) { assert.sameValue(hits, 1); // Behavior across compartments. - if (typeof createNewGlobal === "function") { - var newC = createNewGlobal()[constructor.name]; - assert.sameValue(newC.of() instanceof newC, true); - assert.sameValue(newC.of() instanceof constructor, false); - assert.sameValue(newC.of.call(constructor) instanceof constructor, true); - } + var newC = otherGlobal[constructor.name]; + assert.sameValue(newC.of() instanceof newC, true); + assert.sameValue(newC.of() instanceof constructor, false); + assert.sameValue(newC.of.call(constructor) instanceof constructor, true); // Throws if `this` isn't a constructor. var invalidConstructors = [undefined, null, 1, false, "", Symbol(), [], {}, /./, constructor.of, () => {}]; invalidConstructors.forEach(C => { - assertThrowsInstanceOf(() => { + assert.throws(TypeError, () => { constructor.of.call(C); - }, TypeError); + }); }); // Throw if `this` is a method definition or a getter/setter function. - assertThrowsInstanceOf(() => { + assert.throws(TypeError, () => { constructor.of.call({method() {}}.method); - }, TypeError); - assertThrowsInstanceOf(() => { + }); + assert.throws(TypeError, () => { constructor.of.call(Object.getOwnPropertyDescriptor({get getter() {}}, "getter").get); - }, TypeError); + }); // Generators are not legal constructors. - assertThrowsInstanceOf(() => { + assert.throws(TypeError, () => { constructor.of.call(function*(len) { return len; }, "a") - }, TypeError); + }); // An exception might be thrown in a strict assignment to the new object's indexed properties. - assertThrowsInstanceOf(() => { + assert.throws(TypeError, () => { constructor.of.call(function() { return {get 0() {}}; }, "a"); - }, TypeError); + }); - assertThrowsInstanceOf(() => { + assert.throws(TypeError, () => { constructor.of.call(function() { return Object("1"); }, "a"); - }, TypeError); + }); - assertThrowsInstanceOf(() => { + assert.throws(TypeError, () => { constructor.of.call(function() { return Object.create({ set 0(v) { @@ -92,7 +91,7 @@ for (var constructor of anyTypedArrayConstructors) { } }); }, "a"); - }, TypeError); + }); } for (let constructor of anyTypedArrayConstructors.filter(isFloatConstructor)) { diff --git a/JSTests/test262/test/staging/sm/TypedArray/prototype-constructor-identity.js b/JSTests/test262/test/staging/sm/TypedArray/prototype-constructor-identity.js index c88eda8ccf742..aa09b6558130d 100644 --- a/JSTests/test262/test/staging/sm/TypedArray/prototype-constructor-identity.js +++ b/JSTests/test262/test/staging/sm/TypedArray/prototype-constructor-identity.js @@ -2,31 +2,18 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-TypedArray-shell.js] -flags: - - noStrict +includes: [sm/non262-TypedArray-shell.js] description: | - pending + Typed array prototypes/constructors should be largely empty, inheriting most functionality from %TypedArray% and %TypedArray%.prototype +info: bugzilla.mozilla.org/show_bug.cgi?id=896116 esid: pending ---*/ + /* * Any copyright is dedicated to the Public Domain. * http://creativecommons.org/publicdomain/zero/1.0/ */ -var gTestfile = 'prototype-constructor-identity.js'; -//----------------------------------------------------------------------------- -var BUGNUMBER = 896116; -var summary = - "Typed array prototypes/constructors should be largely empty, inheriting " - "most functionality from %TypedArray% and %TypedArray%.prototype"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ - var TypedArray = Object.getPrototypeOf(Int8Array); assert.sameValue(TypedArray !== Function.prototype, true, @@ -62,7 +49,3 @@ anyTypedArrayConstructors.forEach(function(ctor) { assert.sameValue(Object.getPrototypeOf(proto), TypedArray.prototype, "prototype should inherit from %TypedArray%.prototype"); }); - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/TypedArray/reduce-and-reduceRight.js b/JSTests/test262/test/staging/sm/TypedArray/reduce-and-reduceRight.js index 9b4b2848e4426..647cd3d314d4f 100644 --- a/JSTests/test262/test/staging/sm/TypedArray/reduce-and-reduceRight.js +++ b/JSTests/test262/test/staging/sm/TypedArray/reduce-and-reduceRight.js @@ -2,13 +2,16 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-TypedArray-shell.js, deepEqual.js] +includes: [sm/non262-TypedArray-shell.js, deepEqual.js] flags: - noStrict description: | pending esid: pending ---*/ + +var otherGlobal = $262.createRealm().global; + // Tests for TypedArray#reduce. for (var constructor of anyTypedArrayConstructors) { assert.sameValue(constructor.prototype.reduce.length, 1); @@ -51,7 +54,7 @@ for (var constructor of anyTypedArrayConstructors) { // Throw an exception in the callback. var count = 0; var sum = 0; - assertThrowsInstanceOf(() => { + assert.throws(TypeError, () => { arr.reduce((previous, current, index, array) => { count++; sum += current; @@ -59,19 +62,19 @@ for (var constructor of anyTypedArrayConstructors) { throw TypeError("reduce"); } }) - }, TypeError); + }); assert.sameValue(count, 3); assert.sameValue(sum, 9); // There is no callback or callback is not a function. - assertThrowsInstanceOf(() => { + assert.throws(TypeError, () => { arr.reduce(); - }, TypeError); + }); var invalidCallbacks = [undefined, null, 1, false, "", Symbol(), [], {}, /./]; invalidCallbacks.forEach(callback => { - assertThrowsInstanceOf(() => { + assert.throws(TypeError, () => { arr.reduce(callback); - }, TypeError); + }); }) // Callback is a generator. @@ -80,18 +83,16 @@ for (var constructor of anyTypedArrayConstructors) { }); // Called from other globals. - if (typeof createNewGlobal === "function") { - var reduce = createNewGlobal()[constructor.name].prototype.reduce; - assert.sameValue(reduce.call(arr, (previous, current) => Math.min(previous, current)), 1); - } + var reduce = otherGlobal[constructor.name].prototype.reduce; + assert.sameValue(reduce.call(arr, (previous, current) => Math.min(previous, current)), 1); // Throws if `this` isn't a TypedArray. var invalidReceivers = [undefined, null, 1, false, "", Symbol(), [], {}, /./, new Proxy(new constructor(3), {})]; invalidReceivers.forEach(invalidReceiver => { - assertThrowsInstanceOf(() => { + assert.throws(TypeError, () => { constructor.prototype.reduce.call(invalidReceiver, () => {}); - }, TypeError, "Assert that reduce fails if this value is not a TypedArray"); + }, "Assert that reduce fails if this value is not a TypedArray"); }); // Test that the length getter is never called. @@ -144,7 +145,7 @@ for (var constructor of anyTypedArrayConstructors) { // Throw an exception in the callback. var count = 0; var sum = 0; - assertThrowsInstanceOf(() => { + assert.throws(TypeError, () => { arr.reduceRight((previous, current, index, array) => { count++; sum += current; @@ -152,19 +153,19 @@ for (var constructor of anyTypedArrayConstructors) { throw TypeError("reduceRight"); } }) - }, TypeError); + }); assert.sameValue(count, 3); assert.sameValue(sum, 9); // There is no callback or callback is not a function. - assertThrowsInstanceOf(() => { + assert.throws(TypeError, () => { arr.reduceRight(); - }, TypeError); + }); var invalidCallbacks = [undefined, null, 1, false, "", Symbol(), [], {}, /./]; invalidCallbacks.forEach(callback => { - assertThrowsInstanceOf(() => { + assert.throws(TypeError, () => { arr.reduceRight(callback); - }, TypeError); + }); }) // Callback is a generator. @@ -173,18 +174,16 @@ for (var constructor of anyTypedArrayConstructors) { }); // Called from other globals. - if (typeof createNewGlobal === "function") { - var reduceRight = createNewGlobal()[constructor.name].prototype.reduceRight; - assert.sameValue(reduceRight.call(arr, (previous, current) => Math.min(previous, current)), 1); - } + var reduceRight = otherGlobal[constructor.name].prototype.reduceRight; + assert.sameValue(reduceRight.call(arr, (previous, current) => Math.min(previous, current)), 1); // Throws if `this` isn't a TypedArray. var invalidReceivers = [undefined, null, 1, false, "", Symbol(), [], {}, /./, new Proxy(new constructor(3), {})]; invalidReceivers.forEach(invalidReceiver => { - assertThrowsInstanceOf(() => { + assert.throws(TypeError, () => { constructor.prototype.reduceRight.call(invalidReceiver, () => {}); - }, TypeError, "Assert that reduceRight fails if this value is not a TypedArray"); + }, "Assert that reduceRight fails if this value is not a TypedArray"); }); // Test that the length getter is never called. diff --git a/JSTests/test262/test/staging/sm/TypedArray/reverse.js b/JSTests/test262/test/staging/sm/TypedArray/reverse.js index 77faa15f6d80d..0eba6aae3bd65 100644 --- a/JSTests/test262/test/staging/sm/TypedArray/reverse.js +++ b/JSTests/test262/test/staging/sm/TypedArray/reverse.js @@ -2,13 +2,14 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-TypedArray-shell.js, deepEqual.js] -flags: - - noStrict +includes: [sm/non262-TypedArray-shell.js, deepEqual.js] description: | pending esid: pending ---*/ + +var otherGlobal = $262.createRealm().global; + for (var constructor of anyTypedArrayConstructors) { assert.deepEqual(constructor.prototype.reverse.length, 0); @@ -23,18 +24,16 @@ for (var constructor of anyTypedArrayConstructors) { assert.deepEqual(new constructor([.1, .2, .3]).reverse(), new constructor([.3, .2, .1])); // Called from other globals. - if (typeof createNewGlobal === "function") { - var reverse = createNewGlobal()[constructor.name].prototype.reverse; - assert.deepEqual(reverse.call(new constructor([3, 2, 1])), new constructor([1, 2, 3])); - } + var reverse = otherGlobal[constructor.name].prototype.reverse; + assert.deepEqual(reverse.call(new constructor([3, 2, 1])), new constructor([1, 2, 3])); // Throws if `this` isn't a TypedArray. var invalidReceivers = [undefined, null, 1, false, "", Symbol(), [], {}, /./, new Proxy(new constructor(), {})]; invalidReceivers.forEach(invalidReceiver => { - assertThrowsInstanceOf(() => { + assert.throws(TypeError, () => { constructor.prototype.reverse.call(invalidReceiver); - }, TypeError, "Assert that reverse fails if this value is not a TypedArray"); + }, "Assert that reverse fails if this value is not a TypedArray"); }); // Test that the length getter is never called. diff --git a/JSTests/test262/test/staging/sm/TypedArray/seal-and-freeze.js b/JSTests/test262/test/staging/sm/TypedArray/seal-and-freeze.js index cdd45aabcb61b..7e01d14f53d1b 100644 --- a/JSTests/test262/test/staging/sm/TypedArray/seal-and-freeze.js +++ b/JSTests/test262/test/staging/sm/TypedArray/seal-and-freeze.js @@ -4,12 +4,10 @@ /*--- flags: - onlyStrict -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-TypedArray-shell.js] description: | pending esid: pending ---*/ -"use strict"; // Seal assert.sameValue(Object.isSealed(new Int32Array(2)), false); @@ -29,9 +27,9 @@ assert.sameValue(Object.isSealed(array), false); array = new Int32Array(2); array.b = "test"; -assertThrowsInstanceOf(() => Object.seal(array), TypeError); +assert.throws(TypeError, () => Object.seal(array)); assert.sameValue(Object.isSealed(array), false); -assertThrowsInstanceOf(() => array.c = 15, TypeError); +assert.throws(TypeError, () => array.c = 15); // Freeze assert.sameValue(Object.isFrozen(new Int32Array(2)), false); @@ -52,7 +50,6 @@ assert.sameValue(Object.isFrozen(array), true); // Non-empty typed arrays can never be frozen, because the elements stay writable array = new Int32Array(1); -assertThrowsInstanceOf(() => Object.freeze(array), TypeError); +assert.throws(TypeError, () => Object.freeze(array)); assert.sameValue(Object.isExtensible(array), false); assert.sameValue(Object.isFrozen(array), false); - diff --git a/JSTests/test262/test/staging/sm/TypedArray/set-detached-bigint.js b/JSTests/test262/test/staging/sm/TypedArray/set-detached-bigint.js index 9d9bea7ada7b5..4e5e6f477e1d1 100644 --- a/JSTests/test262/test/staging/sm/TypedArray/set-detached-bigint.js +++ b/JSTests/test262/test/staging/sm/TypedArray/set-detached-bigint.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-TypedArray-shell.js] -flags: - - noStrict description: | pending esid: pending @@ -24,5 +21,5 @@ let obj = { }; // Throws a SyntaxError, because "huzzah!" can't be parsed as a BigInt. -assertThrowsInstanceOf(() => ta.set(obj), SyntaxError); +assert.throws(SyntaxError, () => ta.set(obj)); diff --git a/JSTests/test262/test/staging/sm/TypedArray/set-detached.js b/JSTests/test262/test/staging/sm/TypedArray/set-detached.js index 28fc476f4041f..aa5078ab5926f 100644 --- a/JSTests/test262/test/staging/sm/TypedArray/set-detached.js +++ b/JSTests/test262/test/staging/sm/TypedArray/set-detached.js @@ -2,13 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-TypedArray-shell.js] -flags: - - noStrict description: | pending esid: pending ---*/ + // Tests for detached ArrayBuffer checks in %TypedArray%.prototype.set(array|typedArray, offset). function* createTypedArrays(lengths = [0, 1, 4, 4096]) { @@ -20,255 +18,252 @@ function* createTypedArrays(lengths = [0, 1, 4, 4096]) { } } -if (typeof $262.detachArrayBuffer === "function") { - class ExpectedError extends Error {} - - // No detached check on function entry. - for (let {typedArray, buffer} of createTypedArrays()) { - $262.detachArrayBuffer(buffer); - - assertThrowsInstanceOf(() => typedArray.set(null, { - valueOf() { - throw new ExpectedError(); - } - }), ExpectedError); - } - - // Check for detached buffer after calling ToInteger(offset). Test with: - // - valid offset, - // - too large offset, - // - and negative offset. - for (let [offset, error] of [[0, TypeError], [1000000, TypeError], [-1, RangeError]]) { - for (let source of [[], [0], new Int32Array(0), new Int32Array(1)]) { - for (let {typedArray, buffer} of createTypedArrays()) { - assertThrowsInstanceOf(() => typedArray.set(source, { - valueOf() { - $262.detachArrayBuffer(buffer); - return offset; - } - }), error); - } - } - } - - // Tests when called with detached typed array as source. - for (let {typedArray} of createTypedArrays()) { - for (let {typedArray: source, buffer: sourceBuffer} of createTypedArrays()) { - $262.detachArrayBuffer(sourceBuffer); +class ExpectedError extends Error {} - assertThrowsInstanceOf(() => typedArray.set(source, { - valueOf() { - throw new ExpectedError(); - } - }), ExpectedError); - } - } +// No detached check on function entry. +for (let {typedArray, buffer} of createTypedArrays()) { + $262.detachArrayBuffer(buffer); - // Check when detaching source buffer in ToInteger(offset). Test with: - // - valid offset, - // - too large offset, - // - and negative offset. - for (let [offset, error] of [[0, TypeError], [1000000, TypeError], [-1, RangeError]]) { - for (let {typedArray} of createTypedArrays()) { - for (let {typedArray: source, buffer: sourceBuffer} of createTypedArrays()) { - assertThrowsInstanceOf(() => typedArray.set(source, { - valueOf() { - $262.detachArrayBuffer(sourceBuffer); - return offset; - } - }), error); - } + assert.throws(ExpectedError, () => typedArray.set(null, { + valueOf() { + throw new ExpectedError(); } - } + })); +} - // Test when target and source use the same underlying buffer and - // ToInteger(offset) detaches the buffer. Test with: - // - same typed array, - // - different typed array, but same element type, - // - and different element type. - for (let src of [ta => ta, ta => new Int32Array(ta.buffer), ta => new Float32Array(ta.buffer)]) { +// Check for detached buffer after calling ToInteger(offset). Test with: +// - valid offset, +// - too large offset, +// - and negative offset. +for (let [offset, error] of [[0, TypeError], [1000000, TypeError], [-1, RangeError]]) { + for (let source of [[], [0], new Int32Array(0), new Int32Array(1)]) { for (let {typedArray, buffer} of createTypedArrays()) { - let source = src(typedArray); - assertThrowsInstanceOf(() => typedArray.set(source, { + assert.throws(error, () => typedArray.set(source, { valueOf() { $262.detachArrayBuffer(buffer); - return 0; + return offset; } - }), TypeError); + })); } } +} - // Test when Get(src, "length") detaches the buffer, but srcLength is 0. - // Also use different offsets to ensure bounds checks use the typed array's - // length value from before detaching the buffer. - for (let offset of [() => 0, ta => Math.min(1, ta.length), ta => Math.max(0, ta.length - 1)]) { - for (let {typedArray, buffer} of createTypedArrays()) { - let source = { - get length() { - $262.detachArrayBuffer(buffer); - return 0; - } - }; - typedArray.set(source, offset(typedArray)); - } +// Tests when called with detached typed array as source. +for (let {typedArray} of createTypedArrays()) { + for (let {typedArray: source, buffer: sourceBuffer} of createTypedArrays()) { + $262.detachArrayBuffer(sourceBuffer); + + assert.throws(ExpectedError, () => typedArray.set(source, { + valueOf() { + throw new ExpectedError(); + } + })); } +} - // Test when ToLength(Get(src, "length")) detaches the buffer, but - // srcLength is 0. Also use different offsets to ensure bounds checks use - // the typed array's length value from before detaching the buffer. - for (let offset of [() => 0, ta => Math.min(1, ta.length), ta => Math.max(0, ta.length - 1)]) { - for (let {typedArray, buffer} of createTypedArrays()) { - let source = { - length: { - valueOf() { - $262.detachArrayBuffer(buffer); - return 0; - } +// Check when detaching source buffer in ToInteger(offset). Test with: +// - valid offset, +// - too large offset, +// - and negative offset. +for (let [offset, error] of [[0, TypeError], [1000000, TypeError], [-1, RangeError]]) { + for (let {typedArray} of createTypedArrays()) { + for (let {typedArray: source, buffer: sourceBuffer} of createTypedArrays()) { + assert.throws(error, () => typedArray.set(source, { + valueOf() { + $262.detachArrayBuffer(sourceBuffer); + return offset; } - }; - typedArray.set(source, offset(typedArray)); + })); } } +} - // Test no TypeError is thrown when the typed array is detached and - // srcLength > 0. +// Test when target and source use the same underlying buffer and +// ToInteger(offset) detaches the buffer. Test with: +// - same typed array, +// - different typed array, but same element type, +// - and different element type. +for (let src of [ta => ta, ta => new Int32Array(ta.buffer), ta => new Float32Array(ta.buffer)]) { for (let {typedArray, buffer} of createTypedArrays()) { - let source = { - length: { - valueOf() { - $262.detachArrayBuffer(buffer); - return 1; - } + let source = src(typedArray); + assert.throws(TypeError, () => typedArray.set(source, { + valueOf() { + $262.detachArrayBuffer(buffer); + return 0; } - }; - if (typedArray.length === 0) { - assertThrowsInstanceOf(() => typedArray.set(source), RangeError); - } else { - typedArray.set(source); - } + })); } +} - // Same as above, but with side-effect when executing Get(src, "0"). +// Test when Get(src, "length") detaches the buffer, but srcLength is 0. +// Also use different offsets to ensure bounds checks use the typed array's +// length value from before detaching the buffer. +for (let offset of [() => 0, ta => Math.min(1, ta.length), ta => Math.max(0, ta.length - 1)]) { for (let {typedArray, buffer} of createTypedArrays()) { let source = { - get 0() { - throw new ExpectedError(); - }, - length: { - valueOf() { - $262.detachArrayBuffer(buffer); - return 1; - } + get length() { + $262.detachArrayBuffer(buffer); + return 0; } }; - let err = typedArray.length === 0 ? RangeError : ExpectedError; - assertThrowsInstanceOf(() => typedArray.set(source), err); + typedArray.set(source, offset(typedArray)); } +} - // Same as above, but with side-effect when executing ToNumber(Get(src, "0")). +// Test when ToLength(Get(src, "length")) detaches the buffer, but +// srcLength is 0. Also use different offsets to ensure bounds checks use +// the typed array's length value from before detaching the buffer. +for (let offset of [() => 0, ta => Math.min(1, ta.length), ta => Math.max(0, ta.length - 1)]) { for (let {typedArray, buffer} of createTypedArrays()) { let source = { - get 0() { - return { - valueOf() { - throw new ExpectedError(); - } - }; - }, length: { valueOf() { $262.detachArrayBuffer(buffer); - return 1; + return 0; } } }; - let err = typedArray.length === 0 ? RangeError : ExpectedError; - assertThrowsInstanceOf(() => typedArray.set(source), err); + typedArray.set(source, offset(typedArray)); } +} - // Side-effects when getting the source elements detach the buffer. - for (let {typedArray, buffer} of createTypedArrays()) { - let source = Object.defineProperties([], { - 0: { - get() { - $262.detachArrayBuffer(buffer); - return 1; - } +// Test no TypeError is thrown when the typed array is detached and +// srcLength > 0. +for (let {typedArray, buffer} of createTypedArrays()) { + let source = { + length: { + valueOf() { + $262.detachArrayBuffer(buffer); + return 1; } - }); - if (typedArray.length === 0) { - assertThrowsInstanceOf(() => typedArray.set(source), RangeError); - } else { - typedArray.set(source); } + }; + if (typedArray.length === 0) { + assert.throws(RangeError, () => typedArray.set(source)); + } else { + typedArray.set(source); } +} - // Side-effects when getting the source elements detach the buffer. Also - // ensure other elements are accessed. - for (let {typedArray, buffer} of createTypedArrays()) { - let accessed = false; - let source = Object.defineProperties([], { - 0: { - get() { - $262.detachArrayBuffer(buffer); - return 1; - } - }, - 1: { - get() { - assert.sameValue(accessed, false); - accessed = true; - return 2; - } +// Same as above, but with side-effect when executing Get(src, "0"). +for (let {typedArray, buffer} of createTypedArrays()) { + let source = { + get 0() { + throw new ExpectedError(); + }, + length: { + valueOf() { + $262.detachArrayBuffer(buffer); + return 1; } - }); - if (typedArray.length <= 1) { - assertThrowsInstanceOf(() => typedArray.set(source), RangeError); - } else { - assert.sameValue(accessed, false); - typedArray.set(source); - assert.sameValue(accessed, true); } - } + }; + let err = typedArray.length === 0 ? RangeError : ExpectedError; + assert.throws(err, () => typedArray.set(source)); +} - // Side-effects when converting the source elements detach the buffer. - for (let {typedArray, buffer} of createTypedArrays()) { - let source = [{ +// Same as above, but with side-effect when executing ToNumber(Get(src, "0")). +for (let {typedArray, buffer} of createTypedArrays()) { + let source = { + get 0() { + return { + valueOf() { + throw new ExpectedError(); + } + }; + }, + length: { valueOf() { $262.detachArrayBuffer(buffer); return 1; } - }]; - if (typedArray.length === 0) { - assertThrowsInstanceOf(() => typedArray.set(source), RangeError); - } else { - typedArray.set(source); } + }; + let err = typedArray.length === 0 ? RangeError : ExpectedError; + assert.throws(err, () => typedArray.set(source)); +} + +// Side-effects when getting the source elements detach the buffer. +for (let {typedArray, buffer} of createTypedArrays()) { + let source = Object.defineProperties([], { + 0: { + get() { + $262.detachArrayBuffer(buffer); + return 1; + } + } + }); + if (typedArray.length === 0) { + assert.throws(RangeError, () => typedArray.set(source)); + } else { + typedArray.set(source); } +} - // Side-effects when converting the source elements detach the buffer. Also - // ensure other elements are accessed. - for (let {typedArray, buffer} of createTypedArrays()) { - let accessed = false; - let source = [{ - valueOf() { +// Side-effects when getting the source elements detach the buffer. Also +// ensure other elements are accessed. +for (let {typedArray, buffer} of createTypedArrays()) { + let accessed = false; + let source = Object.defineProperties([], { + 0: { + get() { $262.detachArrayBuffer(buffer); return 1; } - }, { - valueOf() { + }, + 1: { + get() { assert.sameValue(accessed, false); accessed = true; return 2; } - }]; - if (typedArray.length <= 1) { - assertThrowsInstanceOf(() => typedArray.set(source), RangeError); - } else { - assert.sameValue(accessed, false); - typedArray.set(source); - assert.sameValue(accessed, true); } + }); + if (typedArray.length <= 1) { + assert.throws(RangeError, () => typedArray.set(source)); + } else { + assert.sameValue(accessed, false); + typedArray.set(source); + assert.sameValue(accessed, true); + } +} + +// Side-effects when converting the source elements detach the buffer. +for (let {typedArray, buffer} of createTypedArrays()) { + let source = [{ + valueOf() { + $262.detachArrayBuffer(buffer); + return 1; + } + }]; + if (typedArray.length === 0) { + assert.throws(RangeError, () => typedArray.set(source)); + } else { + typedArray.set(source); } } +// Side-effects when converting the source elements detach the buffer. Also +// ensure other elements are accessed. +for (let {typedArray, buffer} of createTypedArrays()) { + let accessed = false; + let source = [{ + valueOf() { + $262.detachArrayBuffer(buffer); + return 1; + } + }, { + valueOf() { + assert.sameValue(accessed, false); + accessed = true; + return 2; + } + }]; + if (typedArray.length <= 1) { + assert.throws(RangeError, () => typedArray.set(source)); + } else { + assert.sameValue(accessed, false); + typedArray.set(source); + assert.sameValue(accessed, true); + } +} diff --git a/JSTests/test262/test/staging/sm/TypedArray/set-negative-offset.js b/JSTests/test262/test/staging/sm/TypedArray/set-negative-offset.js index a09fd25513335..482bd0b8e0b69 100644 --- a/JSTests/test262/test/staging/sm/TypedArray/set-negative-offset.js +++ b/JSTests/test262/test/staging/sm/TypedArray/set-negative-offset.js @@ -2,42 +2,17 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-TypedArray-shell.js] -flags: - - noStrict description: | - pending + %TypedArray%.prototype.set must throw a RangeError when passed a negative offset +info: bugzilla.mozilla.org/show_bug.cgi?id=1140752 esid: pending ---*/ + /* * Any copyright is dedicated to the Public Domain. * http://creativecommons.org/publicdomain/zero/1.0/ */ -var gTestfile = "set-negative-offset.js"; -//----------------------------------------------------------------------------- -var BUGNUMBER = 1140752; -var summary = - "%TypedArray%.prototype.set must throw a RangeError when passed a negative " + - "offset"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ - -try -{ +assert.throws(RangeError, function() { new Uint8Array().set([], -1); - throw new Error("didn't throw at all"); -} -catch (e) -{ - assert.sameValue(e instanceof RangeError, true, - "expected RangeError, instead got: " + e); -} - -/******************************************************************************/ - -print("Tests complete"); +}); diff --git a/JSTests/test262/test/staging/sm/TypedArray/set-same-buffer-different-source-target-types.js b/JSTests/test262/test/staging/sm/TypedArray/set-same-buffer-different-source-target-types.js index a43ad6a56f208..c95e227abf01a 100644 --- a/JSTests/test262/test/staging/sm/TypedArray/set-same-buffer-different-source-target-types.js +++ b/JSTests/test262/test/staging/sm/TypedArray/set-same-buffer-different-source-target-types.js @@ -2,33 +2,17 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-TypedArray-shell.js] -flags: - - noStrict description: | - pending + When setting a typed array from an overlapping typed array of different element type, copy the source elements into properly-sized temporary memory, and properly copy them into the target without overflow (of either source *or* target) when finished +info: bugzilla.mozilla.org/show_bug.cgi?id=896116 esid: pending ---*/ + /* * Any copyright is dedicated to the Public Domain. * http://creativecommons.org/publicdomain/zero/1.0/ */ -var gTestfile = "set-same-buffer-different-source-target-types.js"; -//----------------------------------------------------------------------------- -var BUGNUMBER = 896116; -var summary = - "When setting a typed array from an overlapping typed array of different " + - "element type, copy the source elements into properly-sized temporary " + - "memory, and properly copy them into the target without overflow (of " + - "either source *or* target) when finished"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ - // smallest 2**n triggering segfaults in a pre-patch build locally, then // quadrupled in case the boundary ever changes, or is different in some other // memory-allocating implementation @@ -43,7 +27,3 @@ ta.set(ta2); // the array, too. for (var i = 0, len = ta.length; i < len; i++) assert.sameValue(ta[i], 0, "zero-bits double should convert to zero"); - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/TypedArray/set-tointeger.js b/JSTests/test262/test/staging/sm/TypedArray/set-tointeger.js index 1788910885711..4abcd44f8b148 100644 --- a/JSTests/test262/test/staging/sm/TypedArray/set-tointeger.js +++ b/JSTests/test262/test/staging/sm/TypedArray/set-tointeger.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-TypedArray-shell.js] -flags: - - noStrict description: | pending esid: pending @@ -83,7 +80,7 @@ let invalidOffsets = [ for (let offset of invalidOffsets) { for (let source of sources) { - assertThrowsInstanceOf(() => ta.set(source, offset), RangeError); + assert.throws(RangeError, () => ta.set(source, offset)); } } @@ -93,12 +90,12 @@ for (let source of emptySources) { ta.set(source, 4.9); } for (let source of nonEmptySource) { - assertThrowsInstanceOf(() => ta.set(source, 4), RangeError); - assertThrowsInstanceOf(() => ta.set(source, 4.9), RangeError); + assert.throws(RangeError, () => ta.set(source, 4)); + assert.throws(RangeError, () => ta.set(source, 4.9)); } // ToInteger(symbol value) throws a TypeError. for (let source of sources) { - assertThrowsInstanceOf(() => ta.set(source, Symbol()), TypeError); + assert.throws(TypeError, () => ta.set(source, Symbol())); } diff --git a/JSTests/test262/test/staging/sm/TypedArray/set-toobject.js b/JSTests/test262/test/staging/sm/TypedArray/set-toobject.js index 544e379605cde..dbe0698941be8 100644 --- a/JSTests/test262/test/staging/sm/TypedArray/set-toobject.js +++ b/JSTests/test262/test/staging/sm/TypedArray/set-toobject.js @@ -2,9 +2,7 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-TypedArray-shell.js, compareArray.js] -flags: - - noStrict +includes: [compareArray.js] description: | pending esid: pending @@ -15,15 +13,15 @@ let ta = new Int32Array(4); for (let nullOrUndefined of [null, undefined]) { // ToObject(array) throws a TypeError when |array| is null or undefined. - assertThrowsInstanceOf(() => ta.set(nullOrUndefined), TypeError); + assert.throws(TypeError, () => ta.set(nullOrUndefined)); // ToInteger(offset) is called before ToObject(array). class ExpectedError extends Error {} - assertThrowsInstanceOf(() => ta.set(nullOrUndefined, { + assert.throws(ExpectedError, () => ta.set(nullOrUndefined, { valueOf() { throw new ExpectedError(); } - }), ExpectedError); + })); } // Ensure ta is still initialized with zeros. @@ -37,7 +35,7 @@ ta.set("123"); assert.compareArray(ta, [1, 2, 3, 0]); // Throws a RangeError if the length is too large. -assertThrowsInstanceOf(() => ta.set("456789"), RangeError); +assert.throws(RangeError, () => ta.set("456789")); assert.compareArray(ta, [1, 2, 3, 0]); // When called with other primitive values the typed array contents don't diff --git a/JSTests/test262/test/staging/sm/TypedArray/set-with-receiver.js b/JSTests/test262/test/staging/sm/TypedArray/set-with-receiver.js index c96d30d2aa3b4..d5313c0e9a7b7 100644 --- a/JSTests/test262/test/staging/sm/TypedArray/set-with-receiver.js +++ b/JSTests/test262/test/staging/sm/TypedArray/set-with-receiver.js @@ -2,9 +2,7 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-TypedArray-shell.js] -flags: - - noStrict +includes: [sm/non262-TypedArray-shell.js] description: | pending esid: pending @@ -24,9 +22,7 @@ for (var constructor of anyTypedArrayConstructors) { assert.sameValue(Object.hasOwn(receiver, 10), false); // Detached - if (typeof $262.detachArrayBuffer === "function" && - !isSharedConstructor(constructor)) - { + if (!isSharedConstructor(constructor)) { $262.detachArrayBuffer(ta.buffer) assert.sameValue(ta[0], undefined); diff --git a/JSTests/test262/test/staging/sm/TypedArray/set-wrapped.js b/JSTests/test262/test/staging/sm/TypedArray/set-wrapped.js index 7a56c9a3be13d..313b8b4c9bedf 100644 --- a/JSTests/test262/test/staging/sm/TypedArray/set-wrapped.js +++ b/JSTests/test262/test/staging/sm/TypedArray/set-wrapped.js @@ -2,89 +2,84 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-TypedArray-shell.js, compareArray.js] -flags: - - noStrict +includes: [sm/non262-TypedArray-shell.js, compareArray.js] description: | pending esid: pending ---*/ + // Test %TypedArray%.prototype.set(typedArray, offset) when called with wrapped // typed array. -if (typeof createNewGlobal === "function") { - var otherGlobal = createNewGlobal(); - - function taintLengthProperty(obj) { - Object.defineProperty(obj, "length", { - get() { - assert.sameValue(true, false); - } - }); - } - - for (var TA of anyTypedArrayConstructors) { - var target = new TA(4); - var source = new otherGlobal[TA.name]([10, 20]); - - // Ensure "length" getter accessor isn't called. - taintLengthProperty(source); - - assert.compareArray(target, [0, 0, 0, 0]); - target.set(source, 1); - assert.compareArray(target, [0, 10, 20, 0]); - } - - // Detachment checks are also applied correctly for wrapped typed arrays. - if (typeof $262.detachArrayBuffer === "function") { - // Create typed array from different global (explicit constructor call). - for (var TA of typedArrayConstructors) { - var target = new TA(4); - var source = new otherGlobal[TA.name](1); - taintLengthProperty(source); - - // Called with wrapped typed array, array buffer already detached. - otherGlobal.$262.detachArrayBuffer(source.buffer); - assertThrowsInstanceOf(() => target.set(source), TypeError); - - var source = new otherGlobal[TA.name](1); - taintLengthProperty(source); - - // Called with wrapped typed array, array buffer detached when - // processing offset parameter. - var offset = { - valueOf() { - otherGlobal.$262.detachArrayBuffer(source.buffer); - return 0; - } - }; - assertThrowsInstanceOf(() => target.set(source, offset), TypeError); +var otherGlobal = $262.createRealm().global; + +function taintLengthProperty(obj) { + Object.defineProperty(obj, "length", { + get() { + assert.sameValue(true, false); } + }); +} + +for (var TA of anyTypedArrayConstructors) { + var target = new TA(4); + var source = new otherGlobal[TA.name]([10, 20]); + + // Ensure "length" getter accessor isn't called. + taintLengthProperty(source); + + assert.compareArray(target, [0, 0, 0, 0]); + target.set(source, 1); + assert.compareArray(target, [0, 10, 20, 0]); +} + +// Detachment checks are also applied correctly for wrapped typed arrays. - // Create typed array from different global (implictly created when - // ArrayBuffer is a CCW). - for (var TA of typedArrayConstructors) { - var target = new TA(4); - var source = new TA(new otherGlobal.ArrayBuffer(1 * TA.BYTES_PER_ELEMENT)); - taintLengthProperty(source); +// Create typed array from different global (explicit constructor call). +for (var TA of typedArrayConstructors) { + var target = new TA(4); + var source = new otherGlobal[TA.name](1); + taintLengthProperty(source); - // Called with wrapped typed array, array buffer already detached. + // Called with wrapped typed array, array buffer already detached. + otherGlobal.$262.detachArrayBuffer(source.buffer); + assert.throws(TypeError, () => target.set(source)); + + var source = new otherGlobal[TA.name](1); + taintLengthProperty(source); + + // Called with wrapped typed array, array buffer detached when + // processing offset parameter. + var offset = { + valueOf() { otherGlobal.$262.detachArrayBuffer(source.buffer); - assertThrowsInstanceOf(() => target.set(source), TypeError); - - var source = new TA(new otherGlobal.ArrayBuffer(1 * TA.BYTES_PER_ELEMENT)); - taintLengthProperty(source); - - // Called with wrapped typed array, array buffer detached when - // processing offset parameter. - var offset = { - valueOf() { - otherGlobal.$262.detachArrayBuffer(source.buffer); - return 0; - } - }; - assertThrowsInstanceOf(() => target.set(source, offset), TypeError); + return 0; } - } + }; + assert.throws(TypeError, () => target.set(source, offset)); } +// Create typed array from different global (implictly created when +// ArrayBuffer is a CCW). +for (var TA of typedArrayConstructors) { + var target = new TA(4); + var source = new TA(new otherGlobal.ArrayBuffer(1 * TA.BYTES_PER_ELEMENT)); + taintLengthProperty(source); + + // Called with wrapped typed array, array buffer already detached. + otherGlobal.$262.detachArrayBuffer(source.buffer); + assert.throws(TypeError, () => target.set(source)); + + var source = new TA(new otherGlobal.ArrayBuffer(1 * TA.BYTES_PER_ELEMENT)); + taintLengthProperty(source); + + // Called with wrapped typed array, array buffer detached when + // processing offset parameter. + var offset = { + valueOf() { + otherGlobal.$262.detachArrayBuffer(source.buffer); + return 0; + } + }; + assert.throws(TypeError, () => target.set(source, offset)); +} diff --git a/JSTests/test262/test/staging/sm/TypedArray/set.js b/JSTests/test262/test/staging/sm/TypedArray/set.js index f4a99400d55a1..13edeaf1a253c 100644 --- a/JSTests/test262/test/staging/sm/TypedArray/set.js +++ b/JSTests/test262/test/staging/sm/TypedArray/set.js @@ -2,9 +2,7 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-TypedArray-shell.js, deepEqual.js] -flags: - - noStrict +includes: [sm/non262-TypedArray-shell.js, propertyHelper.js] description: | pending esid: pending @@ -18,13 +16,14 @@ assert.sameValue(typeof TypedArrayPrototype.set, "function"); // The concrete TypedArray prototypes do not have an own "set" property. assert.sameValue(anyTypedArrayConstructors.every(c => !c.hasOwnProperty("set")), true); -assert.deepEqual(Object.getOwnPropertyDescriptor(TypedArrayPrototype, "set"), { +verifyProperty(TypedArrayPrototype, "set", { value: TypedArrayPrototype.set, writable: true, enumerable: false, configurable: true, +}, { + restore: true }); assert.sameValue(TypedArrayPrototype.set.name, "set"); assert.sameValue(TypedArrayPrototype.set.length, 1); - diff --git a/JSTests/test262/test/staging/sm/TypedArray/slice-bitwise-same.js b/JSTests/test262/test/staging/sm/TypedArray/slice-bitwise-same.js index c73dd1114c178..9cd1f31bb98b1 100644 --- a/JSTests/test262/test/staging/sm/TypedArray/slice-bitwise-same.js +++ b/JSTests/test262/test/staging/sm/TypedArray/slice-bitwise-same.js @@ -2,9 +2,7 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-TypedArray-shell.js, compareArray.js] -flags: - - noStrict +includes: [sm/non262-TypedArray-shell.js, compareArray.js] description: | pending esid: pending @@ -17,7 +15,7 @@ const float64Constructors = anyTypedArrayConstructors.filter(isFloatConstructor) .filter(c => c.BYTES_PER_ELEMENT === 8); // Also test with cross-compartment typed arrays. -const otherGlobal = createNewGlobal(); +const otherGlobal = $262.createRealm().global; float32Constructors.push(otherGlobal.Float32Array); float64Constructors.push(otherGlobal.Float64Array); diff --git a/JSTests/test262/test/staging/sm/TypedArray/slice-conversion.js b/JSTests/test262/test/staging/sm/TypedArray/slice-conversion.js index 5394ef1d33bb2..63670612f3d3a 100644 --- a/JSTests/test262/test/staging/sm/TypedArray/slice-conversion.js +++ b/JSTests/test262/test/staging/sm/TypedArray/slice-conversion.js @@ -2,9 +2,7 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-TypedArray-shell.js, compareArray.js] -flags: - - noStrict +includes: [compareArray.js] description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/TypedArray/slice-detached.js b/JSTests/test262/test/staging/sm/TypedArray/slice-detached.js index 756098decef2e..3dd7436213703 100644 --- a/JSTests/test262/test/staging/sm/TypedArray/slice-detached.js +++ b/JSTests/test262/test/staging/sm/TypedArray/slice-detached.js @@ -2,13 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-TypedArray-shell.js] -flags: - - noStrict description: | pending esid: pending ---*/ + // Tests for detached ArrayBuffer checks in %TypedArray%.prototype.slice ( start, end ). function* createTypedArrays(lengths = [0, 1, 4, 4096]) { @@ -28,85 +26,82 @@ function* createTypedArrays(lengths = [0, 1, 4, 4096]) { } } -if (typeof $262.detachArrayBuffer === "function") { - // ArrayBuffer is detached when entering slice(). - for (let {typedArray, buffer} of createTypedArrays()) { - $262.detachArrayBuffer(buffer()); - assertThrowsInstanceOf(() => { - typedArray.slice(0); - }, TypeError, "ArrayBuffer is detached on function entry"); - } +// ArrayBuffer is detached when entering slice(). +for (let {typedArray, buffer} of createTypedArrays()) { + $262.detachArrayBuffer(buffer()); + assert.throws(TypeError, () => { + typedArray.slice(0); + }, "ArrayBuffer is detached on function entry"); +} - // ArrayBuffer is detached when computing ToInteger(start). - for (let {typedArray, length, buffer} of createTypedArrays()) { - let detached = false; - let start = { - valueOf() { - assert.sameValue(detached, false); - $262.detachArrayBuffer(buffer()); - assert.sameValue(detached, false); - detached = true; - return 0; - } - }; +// ArrayBuffer is detached when computing ToInteger(start). +for (let {typedArray, length, buffer} of createTypedArrays()) { + let detached = false; + let start = { + valueOf() { + assert.sameValue(detached, false); + $262.detachArrayBuffer(buffer()); + assert.sameValue(detached, false); + detached = true; + return 0; + } + }; - // Doesn't throw an error when no bytes are copied. - if (length === 0) { + // Doesn't throw an error when no bytes are copied. + if (length === 0) { + typedArray.slice(start); + } else { + assert.throws(TypeError, () => { typedArray.slice(start); - } else { - assertThrowsInstanceOf(() => { - typedArray.slice(start); - }, TypeError, "ArrayBuffer is detached in ToInteger(start)"); - } - assert.sameValue(detached, true, "$262.detachArrayBuffer was called"); + }, "ArrayBuffer is detached in ToInteger(start)"); } + assert.sameValue(detached, true, "$262.detachArrayBuffer was called"); +} - // ArrayBuffer is detached when computing ToInteger(end). - for (let {typedArray, length, buffer} of createTypedArrays()) { - let detached = false; - let end = { - valueOf() { - assert.sameValue(detached, false); - $262.detachArrayBuffer(buffer()); - assert.sameValue(detached, false); - detached = true; - return length; - } - }; +// ArrayBuffer is detached when computing ToInteger(end). +for (let {typedArray, length, buffer} of createTypedArrays()) { + let detached = false; + let end = { + valueOf() { + assert.sameValue(detached, false); + $262.detachArrayBuffer(buffer()); + assert.sameValue(detached, false); + detached = true; + return length; + } + }; - // Doesn't throw an error when no bytes are copied. - if (length === 0) { + // Doesn't throw an error when no bytes are copied. + if (length === 0) { + typedArray.slice(0, end); + } else { + assert.throws(TypeError, () => { typedArray.slice(0, end); - } else { - assertThrowsInstanceOf(() => { - typedArray.slice(0, end); - }, TypeError, "ArrayBuffer is detached in ToInteger(end)"); - } - assert.sameValue(detached, true, "$262.detachArrayBuffer was called"); + }, "ArrayBuffer is detached in ToInteger(end)"); } + assert.sameValue(detached, true, "$262.detachArrayBuffer was called"); +} - // ArrayBuffer is detached in species constructor. - for (let {typedArray, length, buffer} of createTypedArrays()) { - let detached = false; - typedArray.constructor = { - [Symbol.species]: function(...args) { - assert.sameValue(detached, false); - $262.detachArrayBuffer(buffer()); - assert.sameValue(detached, false); - detached = true; - return new Int32Array(...args); - } - }; +// ArrayBuffer is detached in species constructor. +for (let {typedArray, length, buffer} of createTypedArrays()) { + let detached = false; + typedArray.constructor = { + [Symbol.species]: function(...args) { + assert.sameValue(detached, false); + $262.detachArrayBuffer(buffer()); + assert.sameValue(detached, false); + detached = true; + return new Int32Array(...args); + } + }; - // Doesn't throw an error when no bytes are copied. - if (length === 0) { + // Doesn't throw an error when no bytes are copied. + if (length === 0) { + typedArray.slice(0); + } else { + assert.throws(TypeError, () => { typedArray.slice(0); - } else { - assertThrowsInstanceOf(() => { - typedArray.slice(0); - }, TypeError, "ArrayBuffer is detached in TypedArraySpeciesCreate(...)"); - } - assert.sameValue(detached, true, "$262.detachArrayBuffer was called"); + }, "ArrayBuffer is detached in TypedArraySpeciesCreate(...)"); } + assert.sameValue(detached, true, "$262.detachArrayBuffer was called"); } - diff --git a/JSTests/test262/test/staging/sm/TypedArray/slice-memcpy.js b/JSTests/test262/test/staging/sm/TypedArray/slice-memcpy.js index 5a5f61a2a39d8..f0442eb058e9c 100644 --- a/JSTests/test262/test/staging/sm/TypedArray/slice-memcpy.js +++ b/JSTests/test262/test/staging/sm/TypedArray/slice-memcpy.js @@ -2,14 +2,12 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-TypedArray-shell.js, compareArray.js] -flags: - - noStrict +includes: [sm/non262-TypedArray-shell.js, compareArray.js] description: | pending esid: pending ---*/ -const otherGlobal = createNewGlobal(); +const otherGlobal = $262.createRealm().global; // Create with new ArrayBuffer and offset. for (var constructor of typedArrayConstructors) { diff --git a/JSTests/test262/test/staging/sm/TypedArray/slice-species.js b/JSTests/test262/test/staging/sm/TypedArray/slice-species.js index 3cc295f3971e6..7980164dbdf9e 100644 --- a/JSTests/test262/test/staging/sm/TypedArray/slice-species.js +++ b/JSTests/test262/test/staging/sm/TypedArray/slice-species.js @@ -2,9 +2,7 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-TypedArray-shell.js, deepEqual.js] -flags: - - noStrict +includes: [sm/non262-TypedArray-shell.js, deepEqual.js] description: | pending esid: pending @@ -15,11 +13,11 @@ for (var constructor of typedArrayConstructors) { undefConstructor.constructor = undefined; assert.deepEqual(undefConstructor.slice(1), new constructor(1)); - assertThrowsInstanceOf(() => { + assert.throws(TypeError, () => { var strConstructor = new constructor; strConstructor.constructor = "not a constructor"; strConstructor.slice(123); - }, TypeError, "Assert that we have an invalid constructor"); + }, "Assert that we have an invalid constructor"); // If obj.constructor[@@species] is undefined or null then the default // constructor is used. @@ -49,10 +47,10 @@ for (var constructor of typedArrayConstructors) { // If obj.constructor[@@species] is neither undefined nor null, and it's // not a constructor, TypeError should be thrown. - assertThrowsInstanceOf(() => { + assert.throws(TypeError, () => { var strSpecies = new constructor; strSpecies.constructor = { [Symbol.species]: "not a constructor" }; strSpecies.slice(123); - }, TypeError); + }); } diff --git a/JSTests/test262/test/staging/sm/TypedArray/slice.js b/JSTests/test262/test/staging/sm/TypedArray/slice.js index 3d1838fc69431..6901e44d5c7f3 100644 --- a/JSTests/test262/test/staging/sm/TypedArray/slice.js +++ b/JSTests/test262/test/staging/sm/TypedArray/slice.js @@ -2,13 +2,14 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-TypedArray-shell.js, compareArray.js] -flags: - - noStrict +includes: [sm/non262-TypedArray-shell.js, compareArray.js] description: | pending esid: pending ---*/ + +var otherGlobal = $262.createRealm().global; + for (var constructor of anyTypedArrayConstructors) { assert.sameValue(constructor.prototype.slice.length, 2); @@ -28,19 +29,17 @@ for (var constructor of anyTypedArrayConstructors) { assert.compareArray(new constructor([1, 2]).slice(1, 5), new constructor([2])); // Called from other globals. - if (typeof createNewGlobal === "function") { - var slice = createNewGlobal()[constructor.name].prototype.slice; - assert.compareArray(slice.call(new constructor([3, 2, 1]), 1), - new constructor([2, 1])); - } + var slice = otherGlobal[constructor.name].prototype.slice; + assert.compareArray(slice.call(new constructor([3, 2, 1]), 1), + new constructor([2, 1])); // Throws if `this` isn't a TypedArray. var invalidReceivers = [undefined, null, 1, false, "", Symbol(), [], {}, /./, new Proxy(new constructor(), {})]; invalidReceivers.forEach(invalidReceiver => { - assertThrowsInstanceOf(() => { + assert.throws(TypeError, () => { constructor.prototype.slice.call(invalidReceiver, 0); - }, TypeError, "Assert that slice fails if this value is not a TypedArray"); + }, "Assert that slice fails if this value is not a TypedArray"); }); // Test that the length getter is never called. diff --git a/JSTests/test262/test/staging/sm/TypedArray/sort-negative-nan.js b/JSTests/test262/test/staging/sm/TypedArray/sort-negative-nan.js index be3fe5630af3c..00e1c6c070c29 100644 --- a/JSTests/test262/test/staging/sm/TypedArray/sort-negative-nan.js +++ b/JSTests/test262/test/staging/sm/TypedArray/sort-negative-nan.js @@ -2,9 +2,7 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-TypedArray-shell.js] -flags: - - noStrict +includes: [sm/non262-TypedArray-shell.js] description: | pending esid: pending @@ -13,8 +11,8 @@ esid: pending const floatConstructors = anyTypedArrayConstructors.filter(isFloatConstructor); // Also test with cross-compartment wrapped typed arrays. -if (typeof createNewGlobal === "function") { - const otherGlobal = createNewGlobal(); +{ + const otherGlobal = $262.createRealm().global; floatConstructors.push(otherGlobal.Float16Array); floatConstructors.push(otherGlobal.Float32Array); floatConstructors.push(otherGlobal.Float64Array); diff --git a/JSTests/test262/test/staging/sm/TypedArray/sort-non-function.js b/JSTests/test262/test/staging/sm/TypedArray/sort-non-function.js index fcfde5f1bf6ff..963fa34a91f7b 100644 --- a/JSTests/test262/test/staging/sm/TypedArray/sort-non-function.js +++ b/JSTests/test262/test/staging/sm/TypedArray/sort-non-function.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-TypedArray-shell.js] -flags: - - noStrict description: | pending esid: pending @@ -18,7 +15,7 @@ const typedArray = new Int32Array(0); // Throws if the comparator is neither undefined nor callable. for (let invalidComparator of [null, 0, true, Symbol(), {}, []]) { - assertThrowsInstanceOf(() => typedArray.sort(invalidComparator), TypeError); + assert.throws(TypeError, () => typedArray.sort(invalidComparator)); } // Doesn't throw if the comparator is undefined or a callable object. diff --git a/JSTests/test262/test/staging/sm/TypedArray/sort_byteoffset.js b/JSTests/test262/test/staging/sm/TypedArray/sort_byteoffset.js index 63aff3633fe4a..c5491b4d8097c 100644 --- a/JSTests/test262/test/staging/sm/TypedArray/sort_byteoffset.js +++ b/JSTests/test262/test/staging/sm/TypedArray/sort_byteoffset.js @@ -2,9 +2,7 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-TypedArray-shell.js] -flags: - - noStrict +includes: [sm/non262-TypedArray-shell.js] description: | pending esid: pending @@ -15,10 +13,8 @@ esid: pending var sortFunctions = [Int32Array.prototype.sort]; // Also test with cross-compartment wrapped typed arrays. -if (typeof createNewGlobal === "function") { - var otherGlobal = createNewGlobal(); - sortFunctions.push(createNewGlobal().Int32Array.prototype.sort); -} +var otherGlobal = $262.createRealm().global; +sortFunctions.push(otherGlobal.Int32Array.prototype.sort); // The bug manifests itself only with Float arrays, // but checking everything here just for sanity. diff --git a/JSTests/test262/test/staging/sm/TypedArray/sort_comparators.js b/JSTests/test262/test/staging/sm/TypedArray/sort_comparators.js index 05545007599ac..c520e3b0c4352 100644 --- a/JSTests/test262/test/staging/sm/TypedArray/sort_comparators.js +++ b/JSTests/test262/test/staging/sm/TypedArray/sort_comparators.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-TypedArray-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/TypedArray/sort_compare_nan.js b/JSTests/test262/test/staging/sm/TypedArray/sort_compare_nan.js index 753a185c06ed3..af2fbf38e505f 100644 --- a/JSTests/test262/test/staging/sm/TypedArray/sort_compare_nan.js +++ b/JSTests/test262/test/staging/sm/TypedArray/sort_compare_nan.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-TypedArray-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/TypedArray/sort_errors.js b/JSTests/test262/test/staging/sm/TypedArray/sort_errors.js index 8c6c22d3ed81d..cd44d2b37eddf 100644 --- a/JSTests/test262/test/staging/sm/TypedArray/sort_errors.js +++ b/JSTests/test262/test/staging/sm/TypedArray/sort_errors.js @@ -2,25 +2,21 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-TypedArray-shell.js] -flags: - - noStrict description: | pending esid: pending ---*/ + // Ensure that TypedArrays throw when attempting to sort a detached ArrayBuffer -if (typeof $262.detachArrayBuffer === "function") { - assertThrowsInstanceOf(() => { - let buffer = new ArrayBuffer(32); - let array = new Int32Array(buffer); - $262.detachArrayBuffer(buffer); - array.sort(); - }, TypeError); -} +assert.throws(TypeError, () => { + let buffer = new ArrayBuffer(32); + let array = new Int32Array(buffer); + $262.detachArrayBuffer(buffer); + array.sort(); +}); // Ensure detaching buffer in comparator doesn't throw an error. -if (typeof $262.detachArrayBuffer === "function") { +{ let detached = false; let ta = new Int32Array(3); ta.sort(function(a, b) { @@ -33,20 +29,20 @@ if (typeof $262.detachArrayBuffer === "function") { assert.sameValue(detached, true); } +let otherGlobal = $262.createRealm().global; + // Ensure detachment check doesn't choke on wrapped typed array. -if (typeof createNewGlobal === "function") { +{ let ta = new Int32Array(3); - let otherGlobal = createNewGlobal(); otherGlobal.Int32Array.prototype.sort.call(ta, function(a, b) { return a - b; }); } // Ensure detaching buffer in comparator doesn't throw an error when the typed array is wrapped. -if (typeof createNewGlobal === "function" && typeof $262.detachArrayBuffer === "function") { +{ let detached = false; let ta = new Int32Array(3); - let otherGlobal = createNewGlobal(); otherGlobal.Int32Array.prototype.sort.call(ta, function(a,b) { if (!detached) { detached = true; @@ -58,23 +54,23 @@ if (typeof createNewGlobal === "function" && typeof $262.detachArrayBuffer === " } // Ensure that TypedArray.prototype.sort will not sort non-TypedArrays -assertThrowsInstanceOf(() => { +assert.throws(TypeError, () => { let array = [4, 3, 2, 1]; Int32Array.prototype.sort.call(array); -}, TypeError); +}); -assertThrowsInstanceOf(() => { +assert.throws(TypeError, () => { Int32Array.prototype.sort.call({a: 1, b: 2}); -}, TypeError); +}); -assertThrowsInstanceOf(() => { +assert.throws(TypeError, () => { Int32Array.prototype.sort.call(Int32Array.prototype); -}, TypeError); +}); -assertThrowsInstanceOf(() => { +assert.throws(TypeError, () => { let buf = new ArrayBuffer(32); Int32Array.prototype.sort.call(buf); -}, TypeError); +}); // Ensure that comparator errors are propagataed function badComparator(x, y) { @@ -83,14 +79,14 @@ function badComparator(x, y) { return x - y; } -assertThrowsInstanceOf(() => { +assert.throws(TypeError, () => { let array = new Uint8Array([99, 99, 99, 99]); array.sort(badComparator); -}, TypeError); +}); -assertThrowsInstanceOf(() => { +assert.throws(TypeError, () => { let array = new Uint8Array([1, 99, 2, 99]); array.sort(badComparator); -}, TypeError); +}); diff --git a/JSTests/test262/test/staging/sm/TypedArray/sort_globals.js b/JSTests/test262/test/staging/sm/TypedArray/sort_globals.js index 6923122ae06b7..b47e69c393a51 100644 --- a/JSTests/test262/test/staging/sm/TypedArray/sort_globals.js +++ b/JSTests/test262/test/staging/sm/TypedArray/sort_globals.js @@ -2,15 +2,13 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-TypedArray-shell.js, compareArray.js] -flags: - - noStrict +includes: [compareArray.js] description: | pending esid: pending ---*/ // TypedArray.prototype.sort should work across globals -let g2 = createNewGlobal(); +let g2 = $262.createRealm().global; assert.compareArray( Int32Array.prototype.sort.call(new g2.Int32Array([3, 2, 1])), new Int32Array([1, 2, 3]) diff --git a/JSTests/test262/test/staging/sm/TypedArray/sort_large_countingsort.js b/JSTests/test262/test/staging/sm/TypedArray/sort_large_countingsort.js index cd3901fde6b4d..0921714ea095e 100644 --- a/JSTests/test262/test/staging/sm/TypedArray/sort_large_countingsort.js +++ b/JSTests/test262/test/staging/sm/TypedArray/sort_large_countingsort.js @@ -2,9 +2,7 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-TypedArray-shell.js] -flags: - - noStrict +includes: [sm/non262-TypedArray-shell.js] description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/TypedArray/sort_modifications.js b/JSTests/test262/test/staging/sm/TypedArray/sort_modifications.js index 401696b42b336..4d4801f7a53ed 100644 --- a/JSTests/test262/test/staging/sm/TypedArray/sort_modifications.js +++ b/JSTests/test262/test/staging/sm/TypedArray/sort_modifications.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-TypedArray-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/TypedArray/sort_small.js b/JSTests/test262/test/staging/sm/TypedArray/sort_small.js index 87e9f891baeb3..b5ff4a0b0990f 100644 --- a/JSTests/test262/test/staging/sm/TypedArray/sort_small.js +++ b/JSTests/test262/test/staging/sm/TypedArray/sort_small.js @@ -2,50 +2,66 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-TypedArray-shell.js, deepEqual.js] -flags: - - noStrict +includes: [testTypedArray.js, compareArray.js] description: | - pending + Sort every possible permutation of some TypedArrays. esid: pending +features: [TypedArray] ---*/ + +// Yield every permutation of the elements in some array. +function* Permutations(items) { + if (items.length === 0) { + yield []; + } else { + for (let i = 0; i < items.length; i++) { + let tail = items.slice(0); + let head = tail.splice(i, 1); + for (let e of Permutations(tail)) { + yield head.concat(e); + } + } + } +} + const testCases = { - // Pre-sorted test data, it's important that these arrays remain in ascending order. - [Int8Array.name]: [[-128, 127]], - [Int16Array.name]: [[-32768, -999, 1942, 32767]], - [Int32Array.name]: [[-2147483648, -320000, -244000, 2147483647]], - [Uint8Array.name]: [[255]], - [Uint16Array.name]: [[0, 65535, 65535]], - [Uint32Array.name]: [[0, 987632, 4294967295]], - [Uint8ClampedArray.name]: [[255]], + // Pre-sorted test data, it's important that these arrays remain in ascending order. + Int8Array: [[-128, 127]], + Int16Array: [[-32768, -999, 1942, 32767]], + Int32Array: [[-2147483648, -320000, -244000, 2147483647]], + Uint8Array: [[255]], + Uint16Array: [[0, 65535, 65535]], + Uint32Array: [[0, 987632, 4294967295]], + Uint8ClampedArray: [[255]], - // Test the behavior in the default comparator as described in 22.2.3.26. - // The spec boils down to, -0s come before +0s, and NaNs always come last. - // Float Arrays are used because all other types convert -0 and NaN to +0. - [Float16Array.name]: [ - [-2147483647, -2147483646.99, -0, 0, 2147483646.99, NaN], - [1/undefined, NaN, Number.NaN] - ], - [Float32Array.name]: [ - [-2147483647, -2147483646.99, -0, 0, 2147483646.99, NaN], - [1/undefined, NaN, Number.NaN] - ], - [Float64Array.name]: [ - [-2147483646.99, -0, 0, 4147483646.99, NaN], - [1/undefined, NaN, Number.NaN] - ], + // Test the behavior in the default comparator as described in 22.2.3.26. + // The spec boils down to, -0s come before +0s, and NaNs always come last. + // Float Arrays are used because all other types convert -0 and NaN to +0. + Float16Array: [ + [-2147483647, -2147483646.99, -0, 0, 2147483646.99, NaN], + [1/undefined, NaN, Number.NaN] + ], + Float32Array: [ + [-2147483647, -2147483646.99, -0, 0, 2147483646.99, NaN], + [1/undefined, NaN, Number.NaN] + ], + Float64Array: [ + [-2147483646.99, -0, 0, 4147483646.99, NaN], + [1/undefined, NaN, Number.NaN] + ], }; -// Sort every possible permutation of an arrays -function sortAllPermutations(dataType, testData) { - let reference = new dataType(testData); - for (let permutation of Permutations(testData)) - assert.deepEqual((new dataType(permutation)).sort(), reference); +function sortAllPermutations(dataType, data) { + let reference = new dataType(data); + for (let permutation of Permutations(data)) { + let sorted = new dataType(permutation).sort(); + assert.compareArray(sorted, reference); + } } -for (let constructor of sharedTypedArrayConstructors) { - for (let data of testCases[constructor.name]) { - sortAllPermutations(constructor, data); - } +for (let constructor of typedArrayConstructors) { + for (let data of testCases[constructor.name]) { + sortAllPermutations(constructor, data); + } } diff --git a/JSTests/test262/test/staging/sm/TypedArray/sort_snans.js b/JSTests/test262/test/staging/sm/TypedArray/sort_snans.js index 1057ee49e61aa..f1ab986ca8823 100644 --- a/JSTests/test262/test/staging/sm/TypedArray/sort_snans.js +++ b/JSTests/test262/test/staging/sm/TypedArray/sort_snans.js @@ -2,9 +2,7 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-TypedArray-shell.js, deepEqual.js] -flags: - - noStrict +includes: [deepEqual.js] description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/TypedArray/sort_sorted.js b/JSTests/test262/test/staging/sm/TypedArray/sort_sorted.js index 18acebbff0fef..a0535a956c2c9 100644 --- a/JSTests/test262/test/staging/sm/TypedArray/sort_sorted.js +++ b/JSTests/test262/test/staging/sm/TypedArray/sort_sorted.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-TypedArray-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/TypedArray/sort_stable.js b/JSTests/test262/test/staging/sm/TypedArray/sort_stable.js index cdc8a9a31cb5e..d0847c190a6a4 100644 --- a/JSTests/test262/test/staging/sm/TypedArray/sort_stable.js +++ b/JSTests/test262/test/staging/sm/TypedArray/sort_stable.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-TypedArray-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/TypedArray/sorting_buffer_access.js b/JSTests/test262/test/staging/sm/TypedArray/sorting_buffer_access.js index 654483029dc56..de5e51b77c758 100644 --- a/JSTests/test262/test/staging/sm/TypedArray/sorting_buffer_access.js +++ b/JSTests/test262/test/staging/sm/TypedArray/sorting_buffer_access.js @@ -2,9 +2,7 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-TypedArray-shell.js] -flags: - - noStrict +includes: [sm/non262-TypedArray-shell.js] description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/TypedArray/subarray-species.js b/JSTests/test262/test/staging/sm/TypedArray/subarray-species.js index fee79e9817240..1243713b8c50b 100644 --- a/JSTests/test262/test/staging/sm/TypedArray/subarray-species.js +++ b/JSTests/test262/test/staging/sm/TypedArray/subarray-species.js @@ -2,9 +2,7 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-TypedArray-shell.js, deepEqual.js] -flags: - - noStrict +includes: [deepEqual.js] description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/TypedArray/subarray.js b/JSTests/test262/test/staging/sm/TypedArray/subarray.js index 66560e5777099..6e4a306d6197a 100644 --- a/JSTests/test262/test/staging/sm/TypedArray/subarray.js +++ b/JSTests/test262/test/staging/sm/TypedArray/subarray.js @@ -2,37 +2,32 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-TypedArray-shell.js] -flags: - - noStrict +includes: [sm/non262-TypedArray-shell.js] description: | pending esid: pending ---*/ -// Bug 1291003 -if (typeof $262.detachArrayBuffer === "function") { - for (let constructor of typedArrayConstructors) { - const elementSize = constructor.BYTES_PER_ELEMENT; - let targetOffset; - let buffer = new ArrayBuffer(2 * elementSize); - let typedArray = new constructor(buffer, 1 * elementSize, 1); - typedArray.constructor = { - [Symbol.species]: function(ab, offset, length) { - targetOffset = offset; - return new constructor(1); - } - }; +for (let constructor of typedArrayConstructors) { + const elementSize = constructor.BYTES_PER_ELEMENT; - let beginIndex = { - valueOf() { - $262.detachArrayBuffer(buffer); - return 0; - } - }; - typedArray.subarray(beginIndex); + let targetOffset; + let buffer = new ArrayBuffer(2 * elementSize); + let typedArray = new constructor(buffer, 1 * elementSize, 1); + typedArray.constructor = { + [Symbol.species]: function(ab, offset, length) { + targetOffset = offset; + return new constructor(1); + } + }; - assert.sameValue(targetOffset, 1 * elementSize); - } -} + let beginIndex = { + valueOf() { + $262.detachArrayBuffer(buffer); + return 0; + } + }; + typedArray.subarray(beginIndex); + assert.sameValue(targetOffset, 1 * elementSize); +} diff --git a/JSTests/test262/test/staging/sm/TypedArray/test-integrity-level-detached.js b/JSTests/test262/test/staging/sm/TypedArray/test-integrity-level-detached.js index 4e04cb3c26ab0..42551537d3a85 100644 --- a/JSTests/test262/test/staging/sm/TypedArray/test-integrity-level-detached.js +++ b/JSTests/test262/test/staging/sm/TypedArray/test-integrity-level-detached.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-TypedArray-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/TypedArray/test-integrity-level.js b/JSTests/test262/test/staging/sm/TypedArray/test-integrity-level.js index 992476de9aee3..d98cb3fa1dcb3 100644 --- a/JSTests/test262/test/staging/sm/TypedArray/test-integrity-level.js +++ b/JSTests/test262/test/staging/sm/TypedArray/test-integrity-level.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-TypedArray-shell.js] -flags: - - noStrict description: | pending esid: pending @@ -26,7 +23,7 @@ const NON_INLINE_STORAGE = 1024; // Non-empty typed arrays cannot be sealed. for (let length of [INLINE_STORAGE, NON_INLINE_STORAGE]) { let ta = new Int32Array(length); - assertThrowsInstanceOf(() => Object.seal(ta), TypeError); + assert.throws(TypeError, () => Object.seal(ta)); assert.sameValue(Object.isExtensible(ta), false); assert.sameValue(Object.isSealed(ta), false); @@ -46,7 +43,7 @@ for (let length of [INLINE_STORAGE, NON_INLINE_STORAGE]) { // Non-empty typed arrays cannot be frozen. for (let length of [INLINE_STORAGE, NON_INLINE_STORAGE]) { let ta = new Int32Array(length); - assertThrowsInstanceOf(() => Object.freeze(ta), TypeError); + assert.throws(TypeError, () => Object.freeze(ta)); assert.sameValue(Object.isExtensible(ta), false); assert.sameValue(Object.isSealed(ta), false); diff --git a/JSTests/test262/test/staging/sm/TypedArray/toLocaleString-detached.js b/JSTests/test262/test/staging/sm/TypedArray/toLocaleString-detached.js index cf503e06351fa..ddb16b11e84cd 100644 --- a/JSTests/test262/test/staging/sm/TypedArray/toLocaleString-detached.js +++ b/JSTests/test262/test/staging/sm/TypedArray/toLocaleString-detached.js @@ -2,46 +2,42 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-TypedArray-shell.js] -flags: - - noStrict +includes: [sm/non262-TypedArray-shell.js] description: | pending esid: pending ---*/ -if (typeof $262.detachArrayBuffer === "function") { - const originalNumberToLocaleString = Number.prototype.toLocaleString; - // Throws if array buffer is detached. - for (let constructor of typedArrayConstructors) { - let typedArray = new constructor(42); - $262.detachArrayBuffer(typedArray.buffer); - assertThrowsInstanceOf(() => typedArray.toLocaleString(), TypeError); - } +const originalNumberToLocaleString = Number.prototype.toLocaleString; - // Doesn't throw a TypeError if detached in Number.prototype.toLocaleString. - for (let constructor of typedArrayConstructors) { - Number.prototype.toLocaleString = function() { - "use strict"; - if (!detached) { - $262.detachArrayBuffer(typedArray.buffer); - detached = true; - } - return this; - }; +// Throws if array buffer is detached. +for (let constructor of typedArrayConstructors) { + let typedArray = new constructor(42); + $262.detachArrayBuffer(typedArray.buffer); + assert.throws(TypeError, () => typedArray.toLocaleString()); +} - // No error for single element arrays. - let detached = false; - let typedArray = new constructor(1); - assert.sameValue(typedArray.toLocaleString(), "0"); - assert.sameValue(detached, true); +// Doesn't throw a TypeError if detached in Number.prototype.toLocaleString. +for (let constructor of typedArrayConstructors) { + Number.prototype.toLocaleString = function() { + "use strict"; + if (!detached) { + $262.detachArrayBuffer(typedArray.buffer); + detached = true; + } + return this; + }; - // And no error if more than one element is present. - detached = false; - typedArray = new constructor(2); - assert.sameValue(typedArray.toLocaleString(), "0,"); - assert.sameValue(detached, true); - } - Number.prototype.toLocaleString = originalNumberToLocaleString; -} + // No error for single element arrays. + let detached = false; + let typedArray = new constructor(1); + assert.sameValue(typedArray.toLocaleString(), "0"); + assert.sameValue(detached, true); + // And no error if more than one element is present. + detached = false; + typedArray = new constructor(2); + assert.sameValue(typedArray.toLocaleString(), "0,"); + assert.sameValue(detached, true); +} +Number.prototype.toLocaleString = originalNumberToLocaleString; diff --git a/JSTests/test262/test/staging/sm/TypedArray/toLocaleString-nointl.js b/JSTests/test262/test/staging/sm/TypedArray/toLocaleString-nointl.js index 04bd605f3607d..5e726bb250c82 100644 --- a/JSTests/test262/test/staging/sm/TypedArray/toLocaleString-nointl.js +++ b/JSTests/test262/test/staging/sm/TypedArray/toLocaleString-nointl.js @@ -2,9 +2,7 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-TypedArray-shell.js] -flags: - - noStrict +includes: [sm/non262-TypedArray-shell.js] description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/TypedArray/toLocaleString.js b/JSTests/test262/test/staging/sm/TypedArray/toLocaleString.js index c1ad6806bfc49..52c7c96bfb29d 100644 --- a/JSTests/test262/test/staging/sm/TypedArray/toLocaleString.js +++ b/JSTests/test262/test/staging/sm/TypedArray/toLocaleString.js @@ -2,9 +2,7 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-TypedArray-shell.js, deepEqual.js] -flags: - - noStrict +includes: [sm/non262-TypedArray-shell.js, propertyHelper.js] description: | pending esid: pending @@ -21,20 +19,22 @@ assert.sameValue(TypedArrayPrototype.toLocaleString === Array.prototype.toLocale // The concrete TypedArray prototypes do not have an own "toLocaleString" property. assert.sameValue(anyTypedArrayConstructors.every(c => !c.hasOwnProperty("toLocaleString")), true); -assert.deepEqual(Object.getOwnPropertyDescriptor(TypedArrayPrototype, "toLocaleString"), { +verifyProperty(TypedArrayPrototype, "toLocaleString", { value: TypedArrayPrototype.toLocaleString, writable: true, enumerable: false, configurable: true, +}, { + restore: true }); assert.sameValue(TypedArrayPrototype.toLocaleString.name, "toLocaleString"); assert.sameValue(TypedArrayPrototype.toLocaleString.length, 0); // It's not a generic method. -assertThrowsInstanceOf(() => TypedArrayPrototype.toLocaleString.call(), TypeError); +assert.throws(TypeError, () => TypedArrayPrototype.toLocaleString.call()); for (let invalid of [void 0, null, {}, [], function(){}, true, 0, "", Symbol()]) { - assertThrowsInstanceOf(() => TypedArrayPrototype.toLocaleString.call(invalid), TypeError); + assert.throws(TypeError, () => TypedArrayPrototype.toLocaleString.call(invalid)); } const localeOne = 1..toLocaleString(), @@ -73,7 +73,7 @@ for (let constructor of anyTypedArrayConstructors) { Number.prototype.toLocaleString = originalNumberToLocaleString; // Calls Number.prototype.toLocaleString from the current Realm. -const otherGlobal = createNewGlobal(); +const otherGlobal = $262.createRealm().global; for (let constructor of anyTypedArrayConstructors) { Number.prototype.toLocaleString = function() { "use strict"; @@ -86,4 +86,3 @@ for (let constructor of anyTypedArrayConstructors) { assert.sameValue(called, true); } Number.prototype.toLocaleString = originalNumberToLocaleString; - diff --git a/JSTests/test262/test/staging/sm/TypedArray/toReversed-detached.js b/JSTests/test262/test/staging/sm/TypedArray/toReversed-detached.js index 071634a368d3b..85d853508de56 100644 --- a/JSTests/test262/test/staging/sm/TypedArray/toReversed-detached.js +++ b/JSTests/test262/test/staging/sm/TypedArray/toReversed-detached.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-TypedArray-shell.js] -flags: - - noStrict description: | pending esid: pending @@ -14,5 +11,5 @@ var ta = new Int32Array([3, 2, 1]); $262.detachArrayBuffer(ta.buffer); -assertThrowsInstanceOf(() => ta.toReversed(), TypeError); +assert.throws(TypeError, () => ta.toReversed()); diff --git a/JSTests/test262/test/staging/sm/TypedArray/toSorted-detached.js b/JSTests/test262/test/staging/sm/TypedArray/toSorted-detached.js index 4a6bac4a85ea8..14c8826400da4 100644 --- a/JSTests/test262/test/staging/sm/TypedArray/toSorted-detached.js +++ b/JSTests/test262/test/staging/sm/TypedArray/toSorted-detached.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-TypedArray-shell.js] -flags: - - noStrict description: | pending esid: pending @@ -14,5 +11,5 @@ var ta = new Int32Array([3, 2, 1]); $262.detachArrayBuffer(ta.buffer); -assertThrowsInstanceOf(() => ta.toSorted(), TypeError); +assert.throws(TypeError, () => ta.toSorted()); diff --git a/JSTests/test262/test/staging/sm/TypedArray/toString.js b/JSTests/test262/test/staging/sm/TypedArray/toString.js index fc4f0b3505018..29adb9038ba34 100644 --- a/JSTests/test262/test/staging/sm/TypedArray/toString.js +++ b/JSTests/test262/test/staging/sm/TypedArray/toString.js @@ -2,9 +2,7 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-TypedArray-shell.js, deepEqual.js] -flags: - - noStrict +includes: [sm/non262-TypedArray-shell.js, propertyHelper.js] description: | pending esid: pending @@ -20,11 +18,13 @@ assert.sameValue(TypedArrayPrototype.toString, Array.prototype.toString); // The concrete TypedArray prototypes do not have an own "toString" property. assert.sameValue(anyTypedArrayConstructors.every(c => !c.hasOwnProperty("toString")), true); -assert.deepEqual(Object.getOwnPropertyDescriptor(TypedArrayPrototype, "toString"), { +verifyProperty(TypedArrayPrototype, "toString", { value: TypedArrayPrototype.toString, writable: true, enumerable: false, configurable: true, +}, { + restore: true }); for (let constructor of anyTypedArrayConstructors) { @@ -79,4 +79,3 @@ for (let constructor of anyTypedArrayConstructors) { let {array, expected} = testCases[constructor.name]; assert.sameValue(new constructor(array).toString(), expected); } - diff --git a/JSTests/test262/test/staging/sm/TypedArray/toStringTag-cross-compartment.js b/JSTests/test262/test/staging/sm/TypedArray/toStringTag-cross-compartment.js index d4b0b935f25ae..6e5814ec30560 100644 --- a/JSTests/test262/test/staging/sm/TypedArray/toStringTag-cross-compartment.js +++ b/JSTests/test262/test/staging/sm/TypedArray/toStringTag-cross-compartment.js @@ -2,9 +2,7 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-TypedArray-shell.js] -flags: - - noStrict +includes: [sm/non262-TypedArray-shell.js] description: | pending esid: pending @@ -12,7 +10,7 @@ esid: pending const TypedArrayPrototype = Object.getPrototypeOf(Int8Array.prototype); const {get: toStringTag} = Object.getOwnPropertyDescriptor(TypedArrayPrototype, Symbol.toStringTag); -const otherGlobal = createNewGlobal(); +const otherGlobal = $262.createRealm().global; for (let constructor of anyTypedArrayConstructors) { let ta = new otherGlobal[constructor.name](0); diff --git a/JSTests/test262/test/staging/sm/TypedArray/uint8clamped-constructor.js b/JSTests/test262/test/staging/sm/TypedArray/uint8clamped-constructor.js index 093e37502bbb1..e377b7b00d64d 100644 --- a/JSTests/test262/test/staging/sm/TypedArray/uint8clamped-constructor.js +++ b/JSTests/test262/test/staging/sm/TypedArray/uint8clamped-constructor.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-TypedArray-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/TypedArray/values.js b/JSTests/test262/test/staging/sm/TypedArray/values.js index f78706fa6c6ca..da996a44954a9 100644 --- a/JSTests/test262/test/staging/sm/TypedArray/values.js +++ b/JSTests/test262/test/staging/sm/TypedArray/values.js @@ -2,13 +2,14 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-TypedArray-shell.js, deepEqual.js] -flags: - - noStrict +includes: [sm/non262-TypedArray-shell.js, deepEqual.js] description: | pending esid: pending ---*/ + +var otherGlobal = $262.createRealm().global; + for (var constructor of anyTypedArrayConstructors) { assert.sameValue(constructor.prototype.values.length, 0); assert.sameValue(constructor.prototype.values.name, "values"); @@ -27,20 +28,18 @@ for (var constructor of anyTypedArrayConstructors) { assert.deepEqual(iterator.next(), {value: undefined, done: true}); // Called from other globals. - if (typeof createNewGlobal === "function") { - var values = createNewGlobal()[constructor.name].prototype.values; - assert.deepEqual([...values.call(new constructor([42, 36]))], [42, 36]); - arr = new (createNewGlobal()[constructor.name])([42, 36]); - assert.sameValue([...constructor.prototype.values.call(arr)].toString(), "42,36"); - } + var values = otherGlobal[constructor.name].prototype.values; + assert.deepEqual([...values.call(new constructor([42, 36]))], [42, 36]); + arr = new (otherGlobal[constructor.name])([42, 36]); + assert.sameValue([...constructor.prototype.values.call(arr)].toString(), "42,36"); // Throws if `this` isn't a TypedArray. var invalidReceivers = [undefined, null, 1, false, "", Symbol(), [], {}, /./, new Proxy(new constructor(), {})]; invalidReceivers.forEach(invalidReceiver => { - assertThrowsInstanceOf(() => { + assert.throws(TypeError, () => { constructor.prototype.values.call(invalidReceiver); - }, TypeError, "Assert that values fails if this value is not a TypedArray"); + }, "Assert that values fails if this value is not a TypedArray"); }); } diff --git a/JSTests/test262/test/staging/sm/TypedArray/with-detached.js b/JSTests/test262/test/staging/sm/TypedArray/with-detached.js index b992f0ad9d5b1..c1b3315c8e4f0 100644 --- a/JSTests/test262/test/staging/sm/TypedArray/with-detached.js +++ b/JSTests/test262/test/staging/sm/TypedArray/with-detached.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-TypedArray-shell.js] -flags: - - noStrict description: | pending esid: pending @@ -14,5 +11,5 @@ var ta = new Int32Array([3, 2, 1]); $262.detachArrayBuffer(ta.buffer); -assertThrowsInstanceOf(() => ta.with(0, 0), TypeError); +assert.throws(TypeError, () => ta.with(0, 0)); diff --git a/JSTests/test262/test/staging/sm/TypedArray/with.js b/JSTests/test262/test/staging/sm/TypedArray/with.js index 3164657528c83..581ef1fd65ff2 100644 --- a/JSTests/test262/test/staging/sm/TypedArray/with.js +++ b/JSTests/test262/test/staging/sm/TypedArray/with.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-TypedArray-shell.js] -flags: - - noStrict description: | pending esid: pending @@ -24,7 +21,7 @@ let value = { let ta = new Int32Array(5); for (let index of indices) { - assertThrowsInstanceOf(() => ta.with(index, value), Err); + assert.throws(Err, () => ta.with(index, value), Err); } for (let index of indices) { @@ -37,6 +34,6 @@ for (let index of indices) { } }; - assertThrowsInstanceOf(() => ta.with(index, value), RangeError); + assert.throws(RangeError, () => ta.with(index, value)); } diff --git a/JSTests/test262/test/staging/sm/TypedArray/write-out-of-bounds-tonumber.js b/JSTests/test262/test/staging/sm/TypedArray/write-out-of-bounds-tonumber.js index 5f7da5a4598f6..e147d4e7e6e54 100644 --- a/JSTests/test262/test/staging/sm/TypedArray/write-out-of-bounds-tonumber.js +++ b/JSTests/test262/test/staging/sm/TypedArray/write-out-of-bounds-tonumber.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-TypedArray-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/WeakMap/symbols.js b/JSTests/test262/test/staging/sm/WeakMap/symbols.js index 1559d8de932f8..ab5199b486338 100644 --- a/JSTests/test262/test/staging/sm/WeakMap/symbols.js +++ b/JSTests/test262/test/staging/sm/WeakMap/symbols.js @@ -4,15 +4,14 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict info: | requires shell-options description: | pending esid: pending +features: [symbols-as-weakmap-keys] ---*/ + var m = new WeakMap; var sym = Symbol(); m.set(sym, 0); @@ -21,10 +20,9 @@ assert.sameValue(m.get(sym), 0); // sym1 will be registered in global Symbol registry hence cannot be used as a // key in WeakMap. var sym1 = Symbol.for("testKey"); -assertThrowsInstanceOf(() => m.set(sym1, 1), TypeError); +assert.throws(TypeError, () => m.set(sym1, 1)); // Well-known symbols can be used as weakmap keys. var sym2 = Symbol.hasInstance; m.set(sym2, 2); assert.sameValue(m.get(sym2), 2); - diff --git a/JSTests/test262/test/staging/sm/argumentsLengthOpt.js b/JSTests/test262/test/staging/sm/argumentsLengthOpt.js index 739ec84564182..d67e82e3ba160 100644 --- a/JSTests/test262/test/staging/sm/argumentsLengthOpt.js +++ b/JSTests/test262/test/staging/sm/argumentsLengthOpt.js @@ -2,7 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | diff --git a/JSTests/test262/test/staging/sm/async-functions/async-contains-unicode-escape-module.js b/JSTests/test262/test/staging/sm/async-functions/async-contains-unicode-escape-module.js new file mode 100644 index 0000000000000..fcf6d0f64d6a7 --- /dev/null +++ b/JSTests/test262/test/staging/sm/async-functions/async-contains-unicode-escape-module.js @@ -0,0 +1,17 @@ +// Copyright (C) 2024 Mozilla Corporation. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +description: | + async/await containing escapes +esid: pending +negative: + phase: parse + type: SyntaxError +flags: + - module +---*/ + +$DONOTEVALUATE(); + +export default \u0061sync function f() {} diff --git a/JSTests/test262/test/staging/sm/async-functions/async-contains-unicode-escape.js b/JSTests/test262/test/staging/sm/async-functions/async-contains-unicode-escape.js index 6ad9bbbb5946b..46a391ca6770f 100644 --- a/JSTests/test262/test/staging/sm/async-functions/async-contains-unicode-escape.js +++ b/JSTests/test262/test/staging/sm/async-functions/async-contains-unicode-escape.js @@ -2,29 +2,18 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + async/await containing escapes +info: bugzilla.mozilla.org/show_bug.cgi?id=1315815 esid: pending ---*/ -var BUGNUMBER = 1315815; -var summary = "async/await containing escapes"; -print(BUGNUMBER + ": " + summary); - -// Using "eval" as the argument name is fugly, but it means evals below are -// *direct* evals, and so their effects in the unescaped case won't extend -// past each separate |test| call (as would happen if we used a different name -// that made each eval into an indirect eval, affecting code in the global -// scope). -function test(code, eval) +function test(code) { var unescaped = code.replace("###", "async"); - var escaped = code.replace("###", "\\u0061"); + var escaped = code.replace("###", "\\u0061sync"); - assertThrowsInstanceOf(() => eval(escaped), SyntaxError); + assert.throws(SyntaxError, () => eval(escaped)); eval(unescaped); } @@ -39,13 +28,8 @@ test("var x = ### (y) => {}", eval); test("({ ### x() {} })", eval); test("var x = ### function f() {}", eval); -if (typeof parseModule === "function") - test("export default ### function f() {}", parseModule); - -assertThrowsInstanceOf(() => eval("async await => 1;"), - SyntaxError); -assertThrowsInstanceOf(() => eval("async aw\\u0061it => 1;"), - SyntaxError); +assert.throws(SyntaxError, () => eval("async await => 1;")); +assert.throws(SyntaxError, () => eval("async aw\\u0061it => 1;")); var async = 0; assert.sameValue(\u0061sync, 0); @@ -60,4 +44,3 @@ assert.sameValue(z, 42); var w = async(obj)=>{}; assert.sameValue(typeof w, "function"); - diff --git a/JSTests/test262/test/staging/sm/async-functions/async-function-declaration-in-modules.js b/JSTests/test262/test/staging/sm/async-functions/async-function-declaration-in-modules.js index 12153643863c5..4425d44298ad0 100644 --- a/JSTests/test262/test/staging/sm/async-functions/async-function-declaration-in-modules.js +++ b/JSTests/test262/test/staging/sm/async-functions/async-function-declaration-in-modules.js @@ -2,7 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - module description: | diff --git a/JSTests/test262/test/staging/sm/async-functions/async-property-name-error.js b/JSTests/test262/test/staging/sm/async-functions/async-property-name-error.js index 2a2125e6a8e9d..acc0542e0d575 100644 --- a/JSTests/test262/test/staging/sm/async-functions/async-property-name-error.js +++ b/JSTests/test262/test/staging/sm/async-functions/async-property-name-error.js @@ -2,18 +2,16 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending ---*/ + function assertSyntaxError(code) { - assertThrowsInstanceOf(() => { Function(code); }, SyntaxError, "Function:" + code); - assertThrowsInstanceOf(() => { eval(code); }, SyntaxError, "eval:" + code); + assert.throws(SyntaxError, () => { Function(code); }, "Function:" + code); + assert.throws(SyntaxError, () => { eval(code); }, "eval:" + code); var ieval = eval; - assertThrowsInstanceOf(() => { ieval(code); }, SyntaxError, "indirect eval:" + code); + assert.throws(SyntaxError, () => { ieval(code); }, "indirect eval:" + code); } assertSyntaxError(`({async async: 0})`); @@ -27,4 +25,3 @@ for (let decl of ["var", "let", "const"]) { assertSyntaxError(`${decl} {async async, } = {}`); assertSyntaxError(`${decl} {async async = 0} = {}`); } - diff --git a/JSTests/test262/test/staging/sm/async-functions/await-error.js b/JSTests/test262/test/staging/sm/async-functions/await-error.js index e7ce9f1767fba..ffa8e716b4afb 100644 --- a/JSTests/test262/test/staging/sm/async-functions/await-error.js +++ b/JSTests/test262/test/staging/sm/async-functions/await-error.js @@ -2,24 +2,12 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + await outside of async function should provide better error +info: bugzilla.mozilla.org/show_bug.cgi?id=1317153 esid: pending ---*/ -var BUGNUMBER = 1317153; -var summary = "await outside of async function should provide better error"; - -print(BUGNUMBER + ": " + summary); - -let caught = false; -try { - eval("await 10"); -} catch(e) { - assert.sameValue(e.message.includes("await is only valid in"), true); - caught = true; -} -assert.sameValue(caught, true); +assert.throws(SyntaxError, function() { + eval("await 10"); +}); diff --git a/JSTests/test262/test/staging/sm/async-functions/await-in-arrow-parameters.js b/JSTests/test262/test/staging/sm/async-functions/await-in-arrow-parameters.js index 54b7228499031..958f58bcd1b46 100644 --- a/JSTests/test262/test/staging/sm/async-functions/await-in-arrow-parameters.js +++ b/JSTests/test262/test/staging/sm/async-functions/await-in-arrow-parameters.js @@ -2,13 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending ---*/ + var ieval = eval; var AsyncFunction = async function(){}.constructor; @@ -30,14 +28,14 @@ function assertSyntaxError(kind, code) { var body = toSourceBody(code); var parameter = toSourceParameter(code); - assertThrowsInstanceOf(() => { constructor(code); }, SyntaxError, constructor.name + ":" + code); - assertThrowsInstanceOf(() => { constructor(`x = ${code}`, ""); }, SyntaxError, constructor.name + ":" + code); + assert.throws(SyntaxError, () => { constructor(code); }, constructor.name + ":" + code); + assert.throws(SyntaxError, () => { constructor(`x = ${code}`, ""); }, constructor.name + ":" + code); - assertThrowsInstanceOf(() => { eval(body); }, SyntaxError, "eval:" + body); - assertThrowsInstanceOf(() => { ieval(body); }, SyntaxError, "indirect eval:" + body); + assert.throws(SyntaxError, () => { eval(body); }, "eval:" + body); + assert.throws(SyntaxError, () => { ieval(body); }, "indirect eval:" + body); - assertThrowsInstanceOf(() => { eval(parameter); }, SyntaxError, "eval:" + parameter); - assertThrowsInstanceOf(() => { ieval(parameter); }, SyntaxError, "indirect eval:" + parameter); + assert.throws(SyntaxError, () => { eval(parameter); }, "eval:" + parameter); + assert.throws(SyntaxError, () => { ieval(parameter); }, "indirect eval:" + parameter); } function assertNoSyntaxError(kind, code) { @@ -99,5 +97,3 @@ assertSyntaxErrorAsync("(a = (b, ...await) => {}) => {}"); assertSyntaxErrorBoth("(a = async(b, ...await) => {}) => {}"); assertSyntaxErrorBoth("async(a = (b, ...await) => {}) => {}"); assertSyntaxErrorBoth("async(a = async(b, ...await) => {}) => {}"); - - diff --git a/JSTests/test262/test/staging/sm/async-functions/await-in-parameters-of-async-func.js b/JSTests/test262/test/staging/sm/async-functions/await-in-parameters-of-async-func.js index e89f7eb37ab1e..50b8636ced579 100644 --- a/JSTests/test262/test/staging/sm/async-functions/await-in-parameters-of-async-func.js +++ b/JSTests/test262/test/staging/sm/async-functions/await-in-parameters-of-async-func.js @@ -4,21 +4,13 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + error for incomplete await expr in async function/generator parameter +info: bugzilla.mozilla.org/show_bug.cgi?id=1478910 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 1478910; -var summary = 'JSMSG_AWAIT_IN_PARAMETER error for incomplete await expr in async function/generator parameter'; - -//----------------------------------------------------------------------------- test(); -//----------------------------------------------------------------------------- function test() { @@ -65,5 +57,4 @@ function test() testAwaitInDefaultExprOfAsyncFunc("async (a = await) => {}"); testNoException("async (a = async () => { await 1; }) => {}"); - } diff --git a/JSTests/test262/test/staging/sm/async-functions/constructor.js b/JSTests/test262/test/staging/sm/async-functions/constructor.js index edd2928f584bb..436e23227cea3 100644 --- a/JSTests/test262/test/staging/sm/async-functions/constructor.js +++ b/JSTests/test262/test/staging/sm/async-functions/constructor.js @@ -2,17 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + async function constructor and prototype +info: bugzilla.mozilla.org/show_bug.cgi?id=1185106 esid: pending ---*/ -var BUGNUMBER = 1185106; -var summary = "async function constructor and prototype"; - -print(BUGNUMBER + ": " + summary); var f1 = async function() {}; @@ -39,4 +33,3 @@ var f4 = AsyncFunction("a", "b", "c", "await 1"); assert.sameValue(f4.constructor, AsyncFunction); assert.sameValue(f4.length, 3); assert.sameValue(Object.getPrototypeOf(f4), AsyncFunctionPrototype); - diff --git a/JSTests/test262/test/staging/sm/async-functions/create-function-parse-before-getprototype.js b/JSTests/test262/test/staging/sm/async-functions/create-function-parse-before-getprototype.js index 81b4bf9add39c..f520fb2ada788 100644 --- a/JSTests/test262/test/staging/sm/async-functions/create-function-parse-before-getprototype.js +++ b/JSTests/test262/test/staging/sm/async-functions/create-function-parse-before-getprototype.js @@ -2,13 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending ---*/ + var getProtoCalled = false; var newTarget = Object.defineProperty(function(){}.bind(), "prototype", { @@ -20,9 +18,8 @@ var newTarget = Object.defineProperty(function(){}.bind(), "prototype", { var AsyncFunction = async function(){}.constructor; -assertThrowsInstanceOf(() => { +assert.throws(SyntaxError, () => { Reflect.construct(AsyncFunction, ["@error"], newTarget); -}, SyntaxError); +}); assert.sameValue(getProtoCalled, false); - diff --git a/JSTests/test262/test/staging/sm/async-functions/inner-caller.js b/JSTests/test262/test/staging/sm/async-functions/inner-caller.js index f698ee3b5422d..6a61875136df3 100644 --- a/JSTests/test262/test/staging/sm/async-functions/inner-caller.js +++ b/JSTests/test262/test/staging/sm/async-functions/inner-caller.js @@ -2,13 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending ---*/ + function g() { return g.caller; } @@ -23,4 +21,3 @@ function g() { var inner = g(); assert.sameValue(inner, null); })(); - diff --git a/JSTests/test262/test/staging/sm/async-functions/length.js b/JSTests/test262/test/staging/sm/async-functions/length.js index fe53f4a45e5c9..ca7c3f2377b06 100644 --- a/JSTests/test262/test/staging/sm/async-functions/length.js +++ b/JSTests/test262/test/staging/sm/async-functions/length.js @@ -2,20 +2,13 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + async function length +info: bugzilla.mozilla.org/show_bug.cgi?id=1185106 esid: pending ---*/ -var BUGNUMBER = 1185106; -var summary = "async function length"; - -print(BUGNUMBER + ": " + summary); assert.sameValue(async function() {}.length, 0); assert.sameValue(async function(a) {}.length, 1); assert.sameValue(async function(a, b, c) {}.length, 3); assert.sameValue(async function(a, b, c, ...d) {}.length, 3); - diff --git a/JSTests/test262/test/staging/sm/async-functions/no-expression-closure.js b/JSTests/test262/test/staging/sm/async-functions/no-expression-closure.js index ce3624d66a656..a9b9696db4346 100644 --- a/JSTests/test262/test/staging/sm/async-functions/no-expression-closure.js +++ b/JSTests/test262/test/staging/sm/async-functions/no-expression-closure.js @@ -2,18 +2,16 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending ---*/ + function assertSyntaxError(code) { - assertThrowsInstanceOf(function () { Function(code); }, SyntaxError, "Function:" + code); - assertThrowsInstanceOf(function () { eval(code); }, SyntaxError, "eval:" + code); + assert.throws(SyntaxError, function () { Function(code); }, "Function:" + code); + assert.throws(SyntaxError, function () { eval(code); }, "eval:" + code); var ieval = eval; - assertThrowsInstanceOf(function () { ieval(code); }, SyntaxError, "indirect eval:" + code); + assert.throws(SyntaxError, function () { ieval(code); }, "indirect eval:" + code); } // AsyncFunction statement @@ -22,5 +20,3 @@ assertSyntaxError(`async function f() 0`); // AsyncFunction expression assertSyntaxError(`void async function() 0`); assertSyntaxError(`void async function f() 0`); - - diff --git a/JSTests/test262/test/staging/sm/async-functions/property.js b/JSTests/test262/test/staging/sm/async-functions/property.js index c1281495dba8a..50dfc0b275052 100644 --- a/JSTests/test262/test/staging/sm/async-functions/property.js +++ b/JSTests/test262/test/staging/sm/async-functions/property.js @@ -2,17 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + async name token in property and object destructuring pattern +info: bugzilla.mozilla.org/show_bug.cgi?id=1185106 esid: pending ---*/ -var BUGNUMBER = 1185106; -var summary = "async name token in property and object destructuring pattern"; - -print(BUGNUMBER + ": " + summary); { let a = { async: 10 }; @@ -55,4 +49,3 @@ print(BUGNUMBER + ": " + summary); assert.sameValue(a.async, 15); assert.sameValue(a.other, 16); } - diff --git a/JSTests/test262/test/staging/sm/async-functions/toString.js b/JSTests/test262/test/staging/sm/async-functions/toString.js index 26ca3d4cc34fd..5ce21c56d085e 100644 --- a/JSTests/test262/test/staging/sm/async-functions/toString.js +++ b/JSTests/test262/test/staging/sm/async-functions/toString.js @@ -2,17 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + async function toString +info: bugzilla.mozilla.org/show_bug.cgi?id=1185106 esid: pending ---*/ -var BUGNUMBER = 1185106; -var summary = "async function toString"; - -print(BUGNUMBER + ": " + summary); async function f1(a, b, c) { await a; } @@ -30,4 +24,3 @@ assert.sameValue((async (a, b, c) => { await a; }).toString(), assert.sameValue({ async foo(a, b, c) { await a; } }.foo.toString(), "async foo(a, b, c) { await a; }"); - diff --git a/JSTests/test262/test/staging/sm/class/boundFunctionSubclassing.js b/JSTests/test262/test/staging/sm/class/boundFunctionSubclassing.js index 102e85bcad268..265e31fa75d6c 100644 --- a/JSTests/test262/test/staging/sm/class/boundFunctionSubclassing.js +++ b/JSTests/test262/test/staging/sm/class/boundFunctionSubclassing.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/class/bytecodePatternMatching.js b/JSTests/test262/test/staging/sm/class/bytecodePatternMatching.js index 81d8459dd474b..97ededeecdf2b 100644 --- a/JSTests/test262/test/staging/sm/class/bytecodePatternMatching.js +++ b/JSTests/test262/test/staging/sm/class/bytecodePatternMatching.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending @@ -20,7 +17,7 @@ function a() { } }; - assertThrowsInstanceOf(() => "a".replace(/a/, X), TypeError); + assert.throws(TypeError, () => "a".replace(/a/, X)); } function b() { @@ -30,7 +27,7 @@ function b() { } } - assertThrowsInstanceOf(() => [1, 2, 3].sort(X), TypeError); + assert.throws(TypeError, () => [1, 2, 3].sort(X)); } a(); diff --git a/JSTests/test262/test/staging/sm/class/classConstructorNoCall.js b/JSTests/test262/test/staging/sm/class/classConstructorNoCall.js index 0e2746f1b5e4a..52b7fcb8cc096 100644 --- a/JSTests/test262/test/staging/sm/class/classConstructorNoCall.js +++ b/JSTests/test262/test/staging/sm/class/classConstructorNoCall.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending @@ -14,17 +11,17 @@ class Foo { constructor() { } } -assertThrowsInstanceOf(Foo, TypeError); +assert.throws(TypeError, Foo); class Bar extends Foo { constructor() { } } -assertThrowsInstanceOf(Bar, TypeError); +assert.throws(TypeError, Bar); -assertThrowsInstanceOf(class { constructor() { } }, TypeError); -assertThrowsInstanceOf(class extends Foo { constructor() { } }, TypeError); +assert.throws(TypeError, class { constructor() { } }); +assert.throws(TypeError, class extends Foo { constructor() { } }); -assertThrowsInstanceOf(class foo { constructor() { } }, TypeError); -assertThrowsInstanceOf(class foo extends Foo { constructor() { } }, TypeError); +assert.throws(TypeError, class foo { constructor() { } }); +assert.throws(TypeError, class foo extends Foo { constructor() { } }); diff --git a/JSTests/test262/test/staging/sm/class/classHeritage.js b/JSTests/test262/test/staging/sm/class/classHeritage.js index 43b76403a8da8..3cd97f1e96510 100644 --- a/JSTests/test262/test/staging/sm/class/classHeritage.js +++ b/JSTests/test262/test/staging/sm/class/classHeritage.js @@ -2,20 +2,17 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending ---*/ // It's an error to have a non-constructor as your heritage -assertThrowsInstanceOf(() => eval(`class a extends Math.sin { +assert.throws(TypeError, () => eval(`class a extends Math.sin { constructor() { } - }`), TypeError); -assertThrowsInstanceOf(() => eval(`(class a extends Math.sin { + }`)); +assert.throws(TypeError, () => eval(`(class a extends Math.sin { constructor() { } - })`), TypeError); + })`)); // Unless it's null, in which case it works like a normal class, except that // the prototype object does not inherit from Object.prototype. @@ -86,8 +83,8 @@ function nopeExpr() { constructor() { } }); } -assertThrowsInstanceOf(nope, TypeError); -assertThrowsInstanceOf(nopeExpr, TypeError); +assert.throws(TypeError, nope); +assert.throws(TypeError, nopeExpr); // The .prototype of the extension must be an object, or null. nope.prototype = "not really, no"; @@ -101,6 +98,6 @@ function stillNoExpr() { constructor() { } }); } -assertThrowsInstanceOf(stillNo, TypeError); -assertThrowsInstanceOf(stillNoExpr, TypeError); +assert.throws(TypeError, stillNo); +assert.throws(TypeError, stillNoExpr); diff --git a/JSTests/test262/test/staging/sm/class/className.js b/JSTests/test262/test/staging/sm/class/className.js index 1708c77456225..7ee91d04ebe86 100644 --- a/JSTests/test262/test/staging/sm/class/className.js +++ b/JSTests/test262/test/staging/sm/class/className.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending @@ -29,9 +26,7 @@ function testName(C, name, hasValue, hasGetter, hasSetter, isFunction=false) { } else { assert.sameValue(desc.value, name); } - // FIXME: Methods defined in classes should not be enumerable - // (bug 1144630). - // assert.sameValue(desc.enumerable, false); + assert.sameValue(desc.enumerable, false); assert.sameValue(desc.configurable, true); assert.sameValue("get" in desc, false); @@ -45,24 +40,24 @@ function testName(C, name, hasValue, hasGetter, hasSetter, isFunction=false) { if (hasGetter) { assert.sameValue("get" in desc, true); assert.sameValue(desc.get(), name); - // assert.sameValue(desc.enumerable, false); + assert.sameValue(desc.enumerable, false); assert.sameValue(desc.configurable, true); } else { assert.sameValue("get" in desc, true); assert.sameValue(desc.get, undefined); - // assert.sameValue(desc.enumerable, false); + assert.sameValue(desc.enumerable, false); assert.sameValue(desc.configurable, true); } if (hasSetter) { assert.sameValue("set" in desc, true); assert.sameValue(typeof desc.set, "function"); - // assert.sameValue(desc.enumerable, false); + assert.sameValue(desc.enumerable, false); assert.sameValue(desc.configurable, true); } else { assert.sameValue("set" in desc, true); assert.sameValue(desc.set, undefined); - // assert.sameValue(desc.enumerable, false); + assert.sameValue(desc.enumerable, false); assert.sameValue(desc.configurable, true); } } diff --git a/JSTests/test262/test/staging/sm/class/classPrototype.js b/JSTests/test262/test/staging/sm/class/classPrototype.js index 0e48e690b4ccf..6f009c68082fb 100644 --- a/JSTests/test262/test/staging/sm/class/classPrototype.js +++ b/JSTests/test262/test/staging/sm/class/classPrototype.js @@ -2,9 +2,7 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, deepEqual.js] -flags: - - noStrict +includes: [deepEqual.js] description: | pending esid: pending @@ -34,41 +32,40 @@ for (let test of [a,b]) { // As such, it should by a TypeError to try and overwrite "prototype" with a // static member. The only way to try is with a computed property name; the rest // are early errors. -assertThrowsInstanceOf(() => eval(` +assert.throws(TypeError, () => eval(` class a { constructor() { }; static ["prototype"]() { } } - `), TypeError); -assertThrowsInstanceOf(() => eval(` + `)); +assert.throws(TypeError, () => eval(` class a { constructor() { }; static get ["prototype"]() { } } - `), TypeError); -assertThrowsInstanceOf(() => eval(` + `)); +assert.throws(TypeError, () => eval(` class a { constructor() { }; static set ["prototype"](x) { } } - `), TypeError); + `)); -assertThrowsInstanceOf(() => eval(`( +assert.throws(TypeError, () => eval(`( class a { constructor() { }; static ["prototype"]() { } } - )`), TypeError); -assertThrowsInstanceOf(() => eval(`( + )`)); +assert.throws(TypeError, () => eval(`( class a { constructor() { }; static get ["prototype"]() { } } - )`), TypeError); -assertThrowsInstanceOf(() => eval(`( + )`)); +assert.throws(TypeError, () => eval(`( class a { constructor() { }; static set ["prototype"](x) { } } - )`), TypeError); - + )`)); diff --git a/JSTests/test262/test/staging/sm/class/compPropDestr.js b/JSTests/test262/test/staging/sm/class/compPropDestr.js index 0b678255d48a7..adf986f33edb1 100644 --- a/JSTests/test262/test/staging/sm/class/compPropDestr.js +++ b/JSTests/test262/test/staging/sm/class/compPropDestr.js @@ -2,19 +2,12 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Computed Property Names +info: bugzilla.mozilla.org/show_bug.cgi?id=924688 esid: pending ---*/ -var BUGNUMBER = 924688; -var summary = 'Computed Property Names'; - -print(BUGNUMBER + ": " + summary); var key = "z"; var { [key]: foo } = { z: "bar" }; assert.sameValue(foo, "bar"); - diff --git a/JSTests/test262/test/staging/sm/class/compPropNames.js b/JSTests/test262/test/staging/sm/class/compPropNames.js index 4a06372e9a825..e0dd8d0734198 100644 --- a/JSTests/test262/test/staging/sm/class/compPropNames.js +++ b/JSTests/test262/test/staging/sm/class/compPropNames.js @@ -2,39 +2,29 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict +includes: [sm/assertThrowsValue.js] description: | - pending + Computed Property Names +info: bugzilla.mozilla.org/show_bug.cgi?id=924688 esid: pending ---*/ -var BUGNUMBER = 924688; -var summary = 'Computed Property Names'; - -print(BUGNUMBER + ": " + summary); // Function definitions. function syntaxError (script) { - try { + assert.throws(SyntaxError, function() { Function(script); - } catch (e) { - if (e instanceof SyntaxError) { - return; - } - } - throw new Error('Expected syntax error: ' + script); + }); } // Tests begin. -assertThrowsInstanceOf(function() { var a = {[field1]: "a", [field2]: "b"}; }, ReferenceError); +assert.throws(ReferenceError, function() { var a = {[field1]: "a", [field2]: "b"}; }); -assertThrowsInstanceOf(function() { +assert.throws(ReferenceError, function() { field1 = 1; var a = {[field1]: "a", [field2]: "b"}; - }, ReferenceError); + }); var f1 = 1; var f2 = 2; @@ -80,13 +70,13 @@ syntaxError("({[if (0) 0;]})"); // much less a Statement syntaxError("function f() { {[x]: 1} }"); // that's not even an ObjectLiteral syntaxError("function f() { [x]: 1 }"); // or that syntaxError('a = {[f1@]: "a", [f2]: "b"}'); // unexpected symbol at end of AssignmentExpression -try { JSON.parse('{["a"]:4}'); } catch(e) { - if (!(e instanceof SyntaxError)) throw new Error('Expected syntax error'); -} +assert.throws(SyntaxError, function() { + JSON.parse('{["a"]:4}'); +}); // Property characteristics. a = { ["b"] : 4 }; -b = Object.getOwnPropertyDescriptor(a, "b"); +var b = Object.getOwnPropertyDescriptor(a, "b"); assert.sameValue(b.configurable, true); assert.sameValue(b.enumerable, true); assert.sameValue(b.writable, true); @@ -231,7 +221,7 @@ assert.sameValue(a[expr], 5); assertThrowsValue(() => { a[expr] = 7; }, 4); // expressions with side effects are called in the right order -log = ""; +var log = ""; obj = { "a": log += 'a', get [log += 'b']() {}, @@ -249,4 +239,3 @@ obj = { assert.sameValue(obj.hey, 1); assert.sameValue(obj[4], 2); assertThrowsValue(() => { obj.x = 7; }, 3); - diff --git a/JSTests/test262/test/staging/sm/class/constructorCalled.js b/JSTests/test262/test/staging/sm/class/constructorCalled.js index 8aa27e1d3b475..22953384e0d52 100644 --- a/JSTests/test262/test/staging/sm/class/constructorCalled.js +++ b/JSTests/test262/test/staging/sm/class/constructorCalled.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/class/defaultConstructorBase.js b/JSTests/test262/test/staging/sm/class/defaultConstructorBase.js index 53155c851c3e9..6dff24c11272a 100644 --- a/JSTests/test262/test/staging/sm/class/defaultConstructorBase.js +++ b/JSTests/test262/test/staging/sm/class/defaultConstructorBase.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/class/defaultConstructorDerivedSpread.js b/JSTests/test262/test/staging/sm/class/defaultConstructorDerivedSpread.js index a141e8b2ae8c6..ff0b02d0ca3c3 100644 --- a/JSTests/test262/test/staging/sm/class/defaultConstructorDerivedSpread.js +++ b/JSTests/test262/test/staging/sm/class/defaultConstructorDerivedSpread.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/class/defaultConstructorNotCallable.js b/JSTests/test262/test/staging/sm/class/defaultConstructorNotCallable.js index cbdffb623b929..5c9a7a6fe86d5 100644 --- a/JSTests/test262/test/staging/sm/class/defaultConstructorNotCallable.js +++ b/JSTests/test262/test/staging/sm/class/defaultConstructorNotCallable.js @@ -2,16 +2,14 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending ---*/ + class badBase {} -assertThrowsInstanceOf(badBase, TypeError); +assert.throws(TypeError, badBase); class badSub extends (class {}) {} -assertThrowsInstanceOf(badSub, TypeError); +assert.throws(TypeError, badSub); diff --git a/JSTests/test262/test/staging/sm/class/derivedConstructorArrowEvalBinding.js b/JSTests/test262/test/staging/sm/class/derivedConstructorArrowEvalBinding.js index f79f3affe3756..17716dbc3d2e3 100644 --- a/JSTests/test262/test/staging/sm/class/derivedConstructorArrowEvalBinding.js +++ b/JSTests/test262/test/staging/sm/class/derivedConstructorArrowEvalBinding.js @@ -2,18 +2,16 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending ---*/ + // Make sure it doesn't matter when we make the arrow function new class extends class { } { constructor() { let arrow = () => this; - assertThrowsInstanceOf(arrow, ReferenceError); + assert.throws(ReferenceError, arrow); super(); assert.sameValue(arrow(), this); } diff --git a/JSTests/test262/test/staging/sm/class/derivedConstructorArrowEvalClosed.js b/JSTests/test262/test/staging/sm/class/derivedConstructorArrowEvalClosed.js index 7d17aff324d7f..1d404ef73417e 100644 --- a/JSTests/test262/test/staging/sm/class/derivedConstructorArrowEvalClosed.js +++ b/JSTests/test262/test/staging/sm/class/derivedConstructorArrowEvalClosed.js @@ -2,18 +2,16 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending ---*/ + new class extends class { } { constructor() { let a1 = () => this; let a2 = (() => super()); - assertThrowsInstanceOf(a1, ReferenceError); + assert.throws(ReferenceError, a1); assert.sameValue(a2(), a1()); } }(); diff --git a/JSTests/test262/test/staging/sm/class/derivedConstructorArrowEvalEscape.js b/JSTests/test262/test/staging/sm/class/derivedConstructorArrowEvalEscape.js index b013df0148849..01c7956008570 100644 --- a/JSTests/test262/test/staging/sm/class/derivedConstructorArrowEvalEscape.js +++ b/JSTests/test262/test/staging/sm/class/derivedConstructorArrowEvalEscape.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/class/derivedConstructorArrowEvalEscapeUninitialized.js b/JSTests/test262/test/staging/sm/class/derivedConstructorArrowEvalEscapeUninitialized.js index f9b107c7c1ce3..1af6014fbf7ce 100644 --- a/JSTests/test262/test/staging/sm/class/derivedConstructorArrowEvalEscapeUninitialized.js +++ b/JSTests/test262/test/staging/sm/class/derivedConstructorArrowEvalEscapeUninitialized.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending @@ -31,16 +28,16 @@ class foo extends base { } // Populate the arrow function saves. Since we never invoke super(), we throw -assertThrowsInstanceOf(()=>new foo(), ReferenceError); +assert.throws(ReferenceError, ()=>new foo()); // No |this| binding in the closure, yet -assertThrowsInstanceOf(thisArrow, ReferenceError); +assert.throws(ReferenceError, thisArrow); // call super() superArrow(); // Can't call it twice -assertThrowsInstanceOf(superArrow, ReferenceError); +assert.throws(ReferenceError, superArrow); // Oh look, |this| is populated, now. assert.sameValue(thisArrow(), thisStash); diff --git a/JSTests/test262/test/staging/sm/class/derivedConstructorArrowEvalGetThis.js b/JSTests/test262/test/staging/sm/class/derivedConstructorArrowEvalGetThis.js index 3b803cb30d96f..581c8fba908aa 100644 --- a/JSTests/test262/test/staging/sm/class/derivedConstructorArrowEvalGetThis.js +++ b/JSTests/test262/test/staging/sm/class/derivedConstructorArrowEvalGetThis.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/class/derivedConstructorArrowEvalNestedSuperCall.js b/JSTests/test262/test/staging/sm/class/derivedConstructorArrowEvalNestedSuperCall.js index a945472094014..95d2d7cf4bbbf 100644 --- a/JSTests/test262/test/staging/sm/class/derivedConstructorArrowEvalNestedSuperCall.js +++ b/JSTests/test262/test/staging/sm/class/derivedConstructorArrowEvalNestedSuperCall.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/class/derivedConstructorArrowEvalSuperCall.js b/JSTests/test262/test/staging/sm/class/derivedConstructorArrowEvalSuperCall.js index 96d3c42fa92c5..7cbc9432021e7 100644 --- a/JSTests/test262/test/staging/sm/class/derivedConstructorArrowEvalSuperCall.js +++ b/JSTests/test262/test/staging/sm/class/derivedConstructorArrowEvalSuperCall.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/class/derivedConstructorInlining.js b/JSTests/test262/test/staging/sm/class/derivedConstructorInlining.js index 1247f101d1c48..584a72ef02d71 100644 --- a/JSTests/test262/test/staging/sm/class/derivedConstructorInlining.js +++ b/JSTests/test262/test/staging/sm/class/derivedConstructorInlining.js @@ -2,15 +2,10 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending ---*/ -// Since we (for now!) can't emit jitcode for derived class statements. Make -// sure we can correctly invoke derived class constructors. class foo extends null { constructor() { @@ -24,5 +19,5 @@ function intermediate() { } for (let i = 0; i < 1100; i++) - assertThrownErrorContains(intermediate, "this"); + assert.throws(ReferenceError, intermediate); diff --git a/JSTests/test262/test/staging/sm/class/derivedConstructorName.js b/JSTests/test262/test/staging/sm/class/derivedConstructorName.js index fb8514f681c5b..a0cccd004ade0 100644 --- a/JSTests/test262/test/staging/sm/class/derivedConstructorName.js +++ b/JSTests/test262/test/staging/sm/class/derivedConstructorName.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/class/derivedConstructorReturnPrimitive.js b/JSTests/test262/test/staging/sm/class/derivedConstructorReturnPrimitive.js index 4ebab8334251a..f9d3165842c36 100644 --- a/JSTests/test262/test/staging/sm/class/derivedConstructorReturnPrimitive.js +++ b/JSTests/test262/test/staging/sm/class/derivedConstructorReturnPrimitive.js @@ -2,13 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending ---*/ + class foo extends null { constructor() { // Returning a primitive is a TypeError in derived constructors. This @@ -20,5 +18,5 @@ class foo extends null { } for (let i = 0; i < 1100; i++) - assertThrownErrorContains(() => new foo(), "return"); + assert.throws(TypeError, () => new foo()); diff --git a/JSTests/test262/test/staging/sm/class/derivedConstructorTDZExplicitThis.js b/JSTests/test262/test/staging/sm/class/derivedConstructorTDZExplicitThis.js index b28bad5de7997..32a5aad2dc77f 100644 --- a/JSTests/test262/test/staging/sm/class/derivedConstructorTDZExplicitThis.js +++ b/JSTests/test262/test/staging/sm/class/derivedConstructorTDZExplicitThis.js @@ -2,20 +2,18 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending ---*/ + class foo extends null { constructor() { this; - assert.sameValue(false, true); + throw new Test262Error("not reached"); } } for (let i = 0; i < 1100; i++) - assertThrownErrorContains(() => new foo(), "this"); + assert.throws(ReferenceError, () => new foo()); diff --git a/JSTests/test262/test/staging/sm/class/derivedConstructorTDZOffEdge.js b/JSTests/test262/test/staging/sm/class/derivedConstructorTDZOffEdge.js index 01ffbad4c6f45..3f3fc639c8e98 100644 --- a/JSTests/test262/test/staging/sm/class/derivedConstructorTDZOffEdge.js +++ b/JSTests/test262/test/staging/sm/class/derivedConstructorTDZOffEdge.js @@ -2,13 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending ---*/ + class foo extends null { constructor() { // Let it fall off the edge and throw. @@ -16,5 +14,5 @@ class foo extends null { } for (let i = 0; i < 1100; i++) - assertThrownErrorContains(() => new foo(), "this"); + assert.throws(ReferenceError, () => new foo()); diff --git a/JSTests/test262/test/staging/sm/class/derivedConstructorTDZReturnAliasedTry.js b/JSTests/test262/test/staging/sm/class/derivedConstructorTDZReturnAliasedTry.js index ddca7358ed79e..a5a457c8e5b62 100644 --- a/JSTests/test262/test/staging/sm/class/derivedConstructorTDZReturnAliasedTry.js +++ b/JSTests/test262/test/staging/sm/class/derivedConstructorTDZReturnAliasedTry.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending @@ -19,5 +16,5 @@ class derived extends base { } } } -assertThrowsInstanceOf(()=>new derived(), ReferenceError); +assert.throws(ReferenceError, ()=>new derived()); diff --git a/JSTests/test262/test/staging/sm/class/derivedConstructorTDZReturnObject.js b/JSTests/test262/test/staging/sm/class/derivedConstructorTDZReturnObject.js index 272024837fd04..b0006574fb02d 100644 --- a/JSTests/test262/test/staging/sm/class/derivedConstructorTDZReturnObject.js +++ b/JSTests/test262/test/staging/sm/class/derivedConstructorTDZReturnObject.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/class/derivedConstructorTDZReturnTry.js b/JSTests/test262/test/staging/sm/class/derivedConstructorTDZReturnTry.js index c5536ccbb4a6d..2c110324c531e 100644 --- a/JSTests/test262/test/staging/sm/class/derivedConstructorTDZReturnTry.js +++ b/JSTests/test262/test/staging/sm/class/derivedConstructorTDZReturnTry.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending @@ -21,5 +18,5 @@ class derived extends base { } } } -assertThrowsInstanceOf(() => new derived, ReferenceError); +assert.throws(ReferenceError, () => new derived); diff --git a/JSTests/test262/test/staging/sm/class/derivedConstructorTDZReturnUndefined.js b/JSTests/test262/test/staging/sm/class/derivedConstructorTDZReturnUndefined.js index f6a6ec221e45d..e8cc003205940 100644 --- a/JSTests/test262/test/staging/sm/class/derivedConstructorTDZReturnUndefined.js +++ b/JSTests/test262/test/staging/sm/class/derivedConstructorTDZReturnUndefined.js @@ -2,13 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending ---*/ + class foo extends null { constructor() { // Explicit returns of undefined should act the same as falling off the @@ -18,5 +16,5 @@ class foo extends null { } for (let i = 0; i < 1100; i++) - assertThrownErrorContains(() => new foo(), "this"); + assert.throws(ReferenceError, () => new foo()); diff --git a/JSTests/test262/test/staging/sm/class/extendBuiltinConstructors.js b/JSTests/test262/test/staging/sm/class/extendBuiltinConstructors.js index 893019e629455..9ba9622ac9e58 100644 --- a/JSTests/test262/test/staging/sm/class/extendBuiltinConstructors.js +++ b/JSTests/test262/test/staging/sm/class/extendBuiltinConstructors.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending @@ -104,7 +101,7 @@ testBuiltin(WeakSet); testBuiltin(ArrayBuffer); testBuiltinTypedArrays(); testBuiltin(DataView, new ArrayBuffer()); -testBuiltin(DataView, new (createNewGlobal().ArrayBuffer)()); +testBuiltin(DataView, new ($262.createRealm().global.ArrayBuffer)()); testBuiltin(String); testBuiltin(Array); testBuiltin(Array, 15); diff --git a/JSTests/test262/test/staging/sm/class/fields-instance-class-name-binding-eval.js b/JSTests/test262/test/staging/sm/class/fields-instance-class-name-binding-eval.js index c86fb6bdf9610..c80a705fa9d2d 100644 --- a/JSTests/test262/test/staging/sm/class/fields-instance-class-name-binding-eval.js +++ b/JSTests/test262/test/staging/sm/class/fields-instance-class-name-binding-eval.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/class/fields-instance-class-name-binding.js b/JSTests/test262/test/staging/sm/class/fields-instance-class-name-binding.js index 9f732fa7a7cb8..fa0c30c1da0a8 100644 --- a/JSTests/test262/test/staging/sm/class/fields-instance-class-name-binding.js +++ b/JSTests/test262/test/staging/sm/class/fields-instance-class-name-binding.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/class/fields-static-class-name-binding-eval.js b/JSTests/test262/test/staging/sm/class/fields-static-class-name-binding-eval.js index a296826962bf3..7453444ac5a16 100644 --- a/JSTests/test262/test/staging/sm/class/fields-static-class-name-binding-eval.js +++ b/JSTests/test262/test/staging/sm/class/fields-static-class-name-binding-eval.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending @@ -26,11 +23,11 @@ esid: pending // Static field initialisers can't access the outer name binding for class expressions // before it has been initialised. { - assertThrowsInstanceOf(() => { + assert.throws(ReferenceError, () => { let C = class { static field = eval("C"); }; - }, ReferenceError); + }); } // Static field initialisers can access the outer name binding for class expressions after diff --git a/JSTests/test262/test/staging/sm/class/fields-static-class-name-binding.js b/JSTests/test262/test/staging/sm/class/fields-static-class-name-binding.js index dad07d65a83be..6f9b352f0fbcc 100644 --- a/JSTests/test262/test/staging/sm/class/fields-static-class-name-binding.js +++ b/JSTests/test262/test/staging/sm/class/fields-static-class-name-binding.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending @@ -26,11 +23,11 @@ esid: pending // Static field initialisers can't access the outer name binding for class expressions // before it has been initialised. { - assertThrowsInstanceOf(() => { + assert.throws(ReferenceError, () => { let C = class { static field = C; }; - }, ReferenceError); + }); } // Static field initialisers can access the outer name binding for class expressions after diff --git a/JSTests/test262/test/staging/sm/class/geterNoExprClosure.js b/JSTests/test262/test/staging/sm/class/geterNoExprClosure.js index 6cba22c384130..9fdf6ac74e7d9 100644 --- a/JSTests/test262/test/staging/sm/class/geterNoExprClosure.js +++ b/JSTests/test262/test/staging/sm/class/geterNoExprClosure.js @@ -2,28 +2,25 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending ---*/ // getter/setter with expression closure is allowed only in object literal. -assertThrowsInstanceOf(() => eval(` +assert.throws(SyntaxError, () => eval(` class foo { constructor() {} get a() 1 } -`), SyntaxError); +`)); -assertThrowsInstanceOf(() => eval(` +assert.throws(SyntaxError, () => eval(` class foo { constructor() {} set a(v) 1 } -`), SyntaxError); +`)); diff --git a/JSTests/test262/test/staging/sm/class/innerBinding.js b/JSTests/test262/test/staging/sm/class/innerBinding.js index 7d1cd3e7be66b..a41da9a8d502c 100644 --- a/JSTests/test262/test/staging/sm/class/innerBinding.js +++ b/JSTests/test262/test/staging/sm/class/innerBinding.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending @@ -14,24 +11,24 @@ esid: pending // should throw. class Foof { constructor() { }; tryBreak() { Foof = 4; } } for (let result of [Foof, class Bar { constructor() { }; tryBreak() { Bar = 4; } }]) - assertThrowsInstanceOf(() => new result().tryBreak(), TypeError); + assert.throws(TypeError, () => new result().tryBreak()); { class foo { constructor() { }; tryBreak() { foo = 4; } } for (let result of [foo, class Bar { constructor() { }; tryBreak() { Bar = 4 } }]) - assertThrowsInstanceOf(() => new result().tryBreak(), TypeError); + assert.throws(TypeError, () => new result().tryBreak()); } // TDZ applies to inner bindings -assertThrowsInstanceOf(()=>eval(`class Bar { +assert.throws(ReferenceError, ()=>eval(`class Bar { constructor() { }; [Bar] () { }; - }`), ReferenceError); + }`)); -assertThrowsInstanceOf(()=>eval(`(class Bar { +assert.throws(ReferenceError, ()=>eval(`(class Bar { constructor() { }; [Bar] () { }; - })`), ReferenceError); + })`)); // There's no magic "inner binding" global { diff --git a/JSTests/test262/test/staging/sm/class/methDefn.js b/JSTests/test262/test/staging/sm/class/methDefn.js index 474382bf5916c..6ba19eb70b8a4 100644 --- a/JSTests/test262/test/staging/sm/class/methDefn.js +++ b/JSTests/test262/test/staging/sm/class/methDefn.js @@ -2,28 +2,17 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Method Definitions +info: bugzilla.mozilla.org/show_bug.cgi?id=924672 esid: pending ---*/ -var BUGNUMBER = 924672; -var summary = 'Method Definitions' - -print(BUGNUMBER + ": " + summary); // Function definitions. function syntaxError (script) { - try { + assert.throws(SyntaxError, function() { Function(script); - } catch (e) { - if (e instanceof SyntaxError) { - return; - } - } - throw new Error('Expected syntax error: ' + script); + }); } @@ -47,6 +36,8 @@ syntaxError("b = {a() void 0}"); syntaxError("b = {a() 1}"); syntaxError("b = {a() false}"); +var b; + b = {a(){return 5;}}; assert.sameValue(b.a(), 5); @@ -175,7 +166,7 @@ var obj = { meth : 3 } assert.sameValue(obj.meth, 3); -assertThrowsInstanceOf(function() {obj.meth();}, TypeError); +assert.throws(TypeError, function() {obj.meth();}); // Strict mode a = {b(c){"use strict";return c;}}; @@ -209,5 +200,4 @@ testStrictMode(); // Tests provided by benvie in the bug to distinguish from ES5 desugar. assert.sameValue(({ method() {} }).method.name, "method"); -assertThrowsInstanceOf(function() {({ method() { method() } }).method() }, ReferenceError); - +assert.throws(ReferenceError, function() {({ method() { method() } }).method() }); diff --git a/JSTests/test262/test/staging/sm/class/methDefnGen.js b/JSTests/test262/test/staging/sm/class/methDefnGen.js index e9da2aa34e9d8..ebe86d1781945 100644 --- a/JSTests/test262/test/staging/sm/class/methDefnGen.js +++ b/JSTests/test262/test/staging/sm/class/methDefnGen.js @@ -2,28 +2,17 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Method Definitions - Generators +info: bugzilla.mozilla.org/show_bug.cgi?id=924672 esid: pending ---*/ -var BUGNUMBER = 924672; -var summary = 'Method Definitions - Generators' - -print(BUGNUMBER + ": " + summary); // Function definitions. function syntaxError (script) { - try { + assert.throws(SyntaxError, function() { Function(script); - } catch (e) { - if (e instanceof SyntaxError) { - return; - } - } - throw new Error('Expected syntax error: ' + script); + }); } @@ -61,7 +50,7 @@ syntaxError("b = {a :* 1}"); syntaxError("b = {a*(){}}"); // Generator methods. -b = { * g() { +var b = { * g() { var a = { [yield 1]: 2, [yield 2]: 3}; return a; } } @@ -81,12 +70,11 @@ assert.sameValue(next.value.world, 3); assert.sameValue(b.g.hasOwnProperty("prototype"), true); // Strict mode -a = {*b(c){"use strict";yield c;}}; +var a = {*b(c){"use strict";yield c;}}; assert.sameValue(a.b(1).next().value, 1); a = {*["b"](c){"use strict";return c;}}; assert.sameValue(a.b(1).next().value, 1); // Generators should not have [[Construct]] a = {*g() { yield 1; }} -assertThrowsInstanceOf(() => { new a.g }, TypeError); - +assert.throws(TypeError, () => { new a.g }); diff --git a/JSTests/test262/test/staging/sm/class/methodInstallation.js b/JSTests/test262/test/staging/sm/class/methodInstallation.js index 699a6ddf242e0..5375a71166093 100644 --- a/JSTests/test262/test/staging/sm/class/methodInstallation.js +++ b/JSTests/test262/test/staging/sm/class/methodInstallation.js @@ -2,9 +2,7 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, deepEqual.js] -flags: - - noStrict +includes: [deepEqual.js] description: | pending esid: pending @@ -69,14 +67,14 @@ for (let a of [testClass, assert.sameValue(aGetDesc.configurable, true); assert.sameValue(aGetDesc.enumerable, false); aGetDesc.get(); - assertThrowsInstanceOf(() => new aGetDesc.get, TypeError); + assert.throws(TypeError, () => new aGetDesc.get); assert.sameValue(getterCalled, true); var aSetDesc = Object.getOwnPropertyDescriptor(a.prototype, "setter"); assert.sameValue(aSetDesc.configurable, true); assert.sameValue(aSetDesc.enumerable, false); aSetDesc.set(); - assertThrowsInstanceOf(() => new aSetDesc.set, TypeError); + assert.throws(TypeError, () => new aSetDesc.set); assert.sameValue(setterCalled, true); assert.deepEqual(aSetDesc, Object.getOwnPropertyDescriptor(a.prototype, "setter")); @@ -86,7 +84,7 @@ for (let a of [testClass, assert.sameValue(aStaticMethDesc.enumerable, false); assert.sameValue(aStaticMethDesc.writable, true); aStaticMethDesc.value(); - assertThrowsInstanceOf(() => new aStaticMethDesc.value, TypeError); + assert.throws(TypeError, () => new aStaticMethDesc.value); assert.sameValue(staticMethodCalled, true); assert.sameValue(Object.getOwnPropertyDescriptor(new a(), "staticGetter"), undefined); @@ -94,7 +92,7 @@ for (let a of [testClass, assert.sameValue(aStaticGetDesc.configurable, true); assert.sameValue(aStaticGetDesc.enumerable, false); aStaticGetDesc.get(); - assertThrowsInstanceOf(() => new aStaticGetDesc.get, TypeError); + assert.throws(TypeError, () => new aStaticGetDesc.get); assert.sameValue(staticGetterCalled, true); assert.sameValue(Object.getOwnPropertyDescriptor(new a(), "staticSetter"), undefined); @@ -102,7 +100,7 @@ for (let a of [testClass, assert.sameValue(aStaticSetDesc.configurable, true); assert.sameValue(aStaticSetDesc.enumerable, false); aStaticSetDesc.set(); - assertThrowsInstanceOf(() => new aStaticSetDesc.set, TypeError); + assert.throws(TypeError, () => new aStaticSetDesc.set); assert.sameValue(staticSetterCalled, true); assert.sameValue([...new a()].join(), "cow,pig"); diff --git a/JSTests/test262/test/staging/sm/class/methodName.js b/JSTests/test262/test/staging/sm/class/methodName.js index 5dc7a4215e752..2d8cf20487495 100644 --- a/JSTests/test262/test/staging/sm/class/methodName.js +++ b/JSTests/test262/test/staging/sm/class/methodName.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/class/methodOverwrites.js b/JSTests/test262/test/staging/sm/class/methodOverwrites.js index de0f08911896a..827d4864b408f 100644 --- a/JSTests/test262/test/staging/sm/class/methodOverwrites.js +++ b/JSTests/test262/test/staging/sm/class/methodOverwrites.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/class/methodsPrototype.js b/JSTests/test262/test/staging/sm/class/methodsPrototype.js index aa6580559ed50..a6b200f803299 100644 --- a/JSTests/test262/test/staging/sm/class/methodsPrototype.js +++ b/JSTests/test262/test/staging/sm/class/methodsPrototype.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/class/newTargetArgumentsIntact.js b/JSTests/test262/test/staging/sm/class/newTargetArgumentsIntact.js index 2205543894291..884b277a4d2bf 100644 --- a/JSTests/test262/test/staging/sm/class/newTargetArgumentsIntact.js +++ b/JSTests/test262/test/staging/sm/class/newTargetArgumentsIntact.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/class/newTargetArrow.js b/JSTests/test262/test/staging/sm/class/newTargetArrow.js index 0a9e0c8b6d081..e68beed20d75f 100644 --- a/JSTests/test262/test/staging/sm/class/newTargetArrow.js +++ b/JSTests/test262/test/staging/sm/class/newTargetArrow.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending @@ -13,7 +10,7 @@ esid: pending new Function('(() => new.target)()'); // It's also good inside eval, but not global eval -assertThrowsInstanceOf(() => eval('() => new.target'), SyntaxError); +assert.throws(SyntaxError, () => eval('() => new.target')); function assertNewTarget(expected) { assert.sameValue((()=>new.target)(), expected); diff --git a/JSTests/test262/test/staging/sm/class/newTargetBound.js b/JSTests/test262/test/staging/sm/class/newTargetBound.js index e291b6534eb27..8198cc21ee0a2 100644 --- a/JSTests/test262/test/staging/sm/class/newTargetBound.js +++ b/JSTests/test262/test/staging/sm/class/newTargetBound.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/class/newTargetCCW.js b/JSTests/test262/test/staging/sm/class/newTargetCCW.js index 41d6679d34b5e..d7424925588fa 100644 --- a/JSTests/test262/test/staging/sm/class/newTargetCCW.js +++ b/JSTests/test262/test/staging/sm/class/newTargetCCW.js @@ -2,15 +2,12 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending ---*/ // Make sure we wrap the new target on CCW construct calls. -var g = createNewGlobal(); +var g = $262.createRealm().global; let f = g.eval('(function (expected) { this.accept = new.target === expected; })'); diff --git a/JSTests/test262/test/staging/sm/class/newTargetDVG.js b/JSTests/test262/test/staging/sm/class/newTargetDVG.js index 8fe35b88a6050..817a90209c8fb 100644 --- a/JSTests/test262/test/staging/sm/class/newTargetDVG.js +++ b/JSTests/test262/test/staging/sm/class/newTargetDVG.js @@ -2,15 +2,13 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending ---*/ + function thunk() { new.target(); } -assertThrownErrorContains(thunk, "new.target"); +assert.throws(TypeError, thunk); diff --git a/JSTests/test262/test/staging/sm/class/newTargetDefaults.js b/JSTests/test262/test/staging/sm/class/newTargetDefaults.js index f336a82b87b8c..5a6d0398c6dac 100644 --- a/JSTests/test262/test/staging/sm/class/newTargetDefaults.js +++ b/JSTests/test262/test/staging/sm/class/newTargetDefaults.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/class/newTargetDirectInvoke.js b/JSTests/test262/test/staging/sm/class/newTargetDirectInvoke.js index 939319b804cba..8102f0e482e5a 100644 --- a/JSTests/test262/test/staging/sm/class/newTargetDirectInvoke.js +++ b/JSTests/test262/test/staging/sm/class/newTargetDirectInvoke.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/class/newTargetEval.js b/JSTests/test262/test/staging/sm/class/newTargetEval.js index 05f508e42c107..7206fa7430509 100644 --- a/JSTests/test262/test/staging/sm/class/newTargetEval.js +++ b/JSTests/test262/test/staging/sm/class/newTargetEval.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending @@ -19,7 +16,7 @@ try { } // new.target is invalid inside eval inside top-level arrow functions -assertThrowsInstanceOf(() => eval('new.target'), SyntaxError); +assert.throws(SyntaxError, () => eval('new.target')); // new.target is invalid inside indirect eval. let ieval = eval; diff --git a/JSTests/test262/test/staging/sm/class/newTargetGenerators.js b/JSTests/test262/test/staging/sm/class/newTargetGenerators.js index 443a24ab56cc9..4d950642d0959 100644 --- a/JSTests/test262/test/staging/sm/class/newTargetGenerators.js +++ b/JSTests/test262/test/staging/sm/class/newTargetGenerators.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/class/newTargetMethods.js b/JSTests/test262/test/staging/sm/class/newTargetMethods.js index aebd695215fcb..b94c142ac34b9 100644 --- a/JSTests/test262/test/staging/sm/class/newTargetMethods.js +++ b/JSTests/test262/test/staging/sm/class/newTargetMethods.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/class/newTargetNonFunction.js b/JSTests/test262/test/staging/sm/class/newTargetNonFunction.js index 2a19af0a3361a..a21a3a3ea8b88 100644 --- a/JSTests/test262/test/staging/sm/class/newTargetNonFunction.js +++ b/JSTests/test262/test/staging/sm/class/newTargetNonFunction.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending @@ -12,8 +9,8 @@ esid: pending // Make sure that we can plumb new.target, even if the results are going to // throw. -assertThrowsInstanceOf(() => new ""(...Array()), TypeError); +assert.throws(TypeError, () => new ""(...Array())); -assertThrowsInstanceOf(() => new ""(), TypeError); -assertThrowsInstanceOf(() => new ""(1), TypeError); +assert.throws(TypeError, () => new ""()); +assert.throws(TypeError, () => new ""(1)); diff --git a/JSTests/test262/test/staging/sm/class/newTargetProxyNative.js b/JSTests/test262/test/staging/sm/class/newTargetProxyNative.js index 8fe35cbeb6d9d..a5ae4d643b933 100644 --- a/JSTests/test262/test/staging/sm/class/newTargetProxyNative.js +++ b/JSTests/test262/test/staging/sm/class/newTargetProxyNative.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/class/parenExprToString.js b/JSTests/test262/test/staging/sm/class/parenExprToString.js index a0a7d1fb72cdf..f842329ea9169 100644 --- a/JSTests/test262/test/staging/sm/class/parenExprToString.js +++ b/JSTests/test262/test/staging/sm/class/parenExprToString.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/class/staticConstructor.js b/JSTests/test262/test/staging/sm/class/staticConstructor.js index c59a9a351133c..7f60961468000 100644 --- a/JSTests/test262/test/staging/sm/class/staticConstructor.js +++ b/JSTests/test262/test/staging/sm/class/staticConstructor.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/class/staticMethods.js b/JSTests/test262/test/staging/sm/class/staticMethods.js index e7e990126b535..d0eab1aa246d9 100644 --- a/JSTests/test262/test/staging/sm/class/staticMethods.js +++ b/JSTests/test262/test/staging/sm/class/staticMethods.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/class/strictExecution.js b/JSTests/test262/test/staging/sm/class/strictExecution.js index e09b0082c1f40..e474993fe8fc4 100644 --- a/JSTests/test262/test/staging/sm/class/strictExecution.js +++ b/JSTests/test262/test/staging/sm/class/strictExecution.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending @@ -13,9 +10,9 @@ esid: pending // expressions as well. class a { constructor() { Object.preventExtensions({}).prop = 0; } } -assertThrowsInstanceOf(() => new a(), TypeError); +assert.throws(TypeError, () => new a()); var aExpr = class { constructor() { Object.preventExtensions().prop = 0; } }; -assertThrowsInstanceOf(() => new aExpr(), TypeError); +assert.throws(TypeError, () => new aExpr()); function shouldThrowCPN() { class b { @@ -29,8 +26,8 @@ function shouldThrowCPNExpr() { constructor() { } }; } -assertThrowsInstanceOf(shouldThrowCPN, TypeError); -assertThrowsInstanceOf(shouldThrowCPNExpr, TypeError); +assert.throws(TypeError, shouldThrowCPN); +assert.throws(TypeError, shouldThrowCPNExpr); function shouldThrowHeritage() { class b extends (Object.preventExtensions({}).prop = 4) { @@ -42,6 +39,6 @@ function shouldThrowHeritageExpr() { constructor() { } }; } -assertThrowsInstanceOf(shouldThrowHeritage, TypeError); -assertThrowsInstanceOf(shouldThrowHeritageExpr, TypeError); +assert.throws(TypeError, shouldThrowHeritage); +assert.throws(TypeError, shouldThrowHeritageExpr); diff --git a/JSTests/test262/test/staging/sm/class/stringConstructor.js b/JSTests/test262/test/staging/sm/class/stringConstructor.js index 135ea3a97a5c1..e8390d62953e1 100644 --- a/JSTests/test262/test/staging/sm/class/stringConstructor.js +++ b/JSTests/test262/test/staging/sm/class/stringConstructor.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/class/subclassedArrayUnboxed.js b/JSTests/test262/test/staging/sm/class/subclassedArrayUnboxed.js index e9e3aad564a7f..315865c0c602e 100644 --- a/JSTests/test262/test/staging/sm/class/subclassedArrayUnboxed.js +++ b/JSTests/test262/test/staging/sm/class/subclassedArrayUnboxed.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/class/superCallBadDynamicSuperClass.js b/JSTests/test262/test/staging/sm/class/superCallBadDynamicSuperClass.js index 31c76303099cc..89fe607b5c320 100644 --- a/JSTests/test262/test/staging/sm/class/superCallBadDynamicSuperClass.js +++ b/JSTests/test262/test/staging/sm/class/superCallBadDynamicSuperClass.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending @@ -13,9 +10,9 @@ class base { constructor() { } } class inst extends base { constructor() { super(); } } Object.setPrototypeOf(inst, Math.sin); -assertThrowsInstanceOf(() => new inst(), TypeError); +assert.throws(TypeError, () => new inst()); class defaultInst extends base { } Object.setPrototypeOf(inst, Math.sin); -assertThrowsInstanceOf(() => new inst(), TypeError); +assert.throws(TypeError, () => new inst()); diff --git a/JSTests/test262/test/staging/sm/class/superCallBadNewTargetPrototype.js b/JSTests/test262/test/staging/sm/class/superCallBadNewTargetPrototype.js index 523944d45ead7..e28f599985d15 100644 --- a/JSTests/test262/test/staging/sm/class/superCallBadNewTargetPrototype.js +++ b/JSTests/test262/test/staging/sm/class/superCallBadNewTargetPrototype.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending @@ -15,7 +12,7 @@ class base { constructor() { } } function lies() { } lies.prototype = 4; -assertThrowsInstanceOf(()=>Reflect.consruct(base, [], lies), TypeError); +assert.throws(TypeError, ()=>Reflect.consruct(base, [], lies)); // lie a slightly different way function get(target, property, receiver) { @@ -27,8 +24,8 @@ function get(target, property, receiver) { class inst extends base { constructor() { super(); } } -assertThrowsInstanceOf(()=>new new Proxy(inst, {get})(), TypeError); +assert.throws(TypeError, ()=>new new Proxy(inst, {get})()); class defaultInst extends base {} -assertThrowsInstanceOf(()=>new new Proxy(defaultInst, {get})(), TypeError); +assert.throws(TypeError, ()=>new new Proxy(defaultInst, {get})()); diff --git a/JSTests/test262/test/staging/sm/class/superCallBaseInvoked.js b/JSTests/test262/test/staging/sm/class/superCallBaseInvoked.js index bc7fe32e36321..bb7552ff77643 100644 --- a/JSTests/test262/test/staging/sm/class/superCallBaseInvoked.js +++ b/JSTests/test262/test/staging/sm/class/superCallBaseInvoked.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/class/superCallIllegal.js b/JSTests/test262/test/staging/sm/class/superCallIllegal.js index 2745b46d6de4e..d80fb3c5e3e1c 100644 --- a/JSTests/test262/test/staging/sm/class/superCallIllegal.js +++ b/JSTests/test262/test/staging/sm/class/superCallIllegal.js @@ -2,15 +2,12 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending ---*/ // super() invalid outside derived class constructors, including in dynamic // functions and eval -assertThrowsInstanceOf(() => new Function("super();"), SyntaxError); -assertThrowsInstanceOf(() => eval("super()"), SyntaxError); +assert.throws(SyntaxError, () => new Function("super();")); +assert.throws(SyntaxError, () => eval("super()")); diff --git a/JSTests/test262/test/staging/sm/class/superCallInvalidBase.js b/JSTests/test262/test/staging/sm/class/superCallInvalidBase.js index 720dc1fb387ff..5d8a339d3ab12 100644 --- a/JSTests/test262/test/staging/sm/class/superCallInvalidBase.js +++ b/JSTests/test262/test/staging/sm/class/superCallInvalidBase.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending @@ -13,6 +10,6 @@ class instance extends null { constructor() { super(); } } -assertThrowsInstanceOf(() => new instance(), TypeError); -assertThrowsInstanceOf(() => new class extends null { }(), TypeError); +assert.throws(TypeError, () => new instance()); +assert.throws(TypeError, () => new class extends null { }()); diff --git a/JSTests/test262/test/staging/sm/class/superCallOrder.js b/JSTests/test262/test/staging/sm/class/superCallOrder.js index 4042dfd8fe3e4..c6137e09b071f 100644 --- a/JSTests/test262/test/staging/sm/class/superCallOrder.js +++ b/JSTests/test262/test/staging/sm/class/superCallOrder.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending @@ -33,5 +30,5 @@ class beforeThrow extends base { Object.setPrototypeOf(beforeThrow, Math.sin); // Won't throw that Math.sin is not a constructor before evaluating the args -assertThrowsInstanceOf(() => new beforeThrow(), MyError); +assert.throws(MyError, () => new beforeThrow()); diff --git a/JSTests/test262/test/staging/sm/class/superCallProperBase.js b/JSTests/test262/test/staging/sm/class/superCallProperBase.js index 45c59bcdd5660..14db2c4947fec 100644 --- a/JSTests/test262/test/staging/sm/class/superCallProperBase.js +++ b/JSTests/test262/test/staging/sm/class/superCallProperBase.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/class/superCallSpreadCall.js b/JSTests/test262/test/staging/sm/class/superCallSpreadCall.js index 44ca11d9cac49..9cc3bd4e1e74f 100644 --- a/JSTests/test262/test/staging/sm/class/superCallSpreadCall.js +++ b/JSTests/test262/test/staging/sm/class/superCallSpreadCall.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/class/superCallThisInit.js b/JSTests/test262/test/staging/sm/class/superCallThisInit.js index 1638b849764f0..4ee720720cae3 100644 --- a/JSTests/test262/test/staging/sm/class/superCallThisInit.js +++ b/JSTests/test262/test/staging/sm/class/superCallThisInit.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending @@ -13,15 +10,7 @@ function base() { this.prop = 42; } class testInitialize extends base { constructor() { - // A poor man's assertThrowsInstanceOf, as arrow functions are currently - // disabled in this context - try { - this; - throw new Error(); - } catch (e) { - if (!(e instanceof ReferenceError)) - throw e; - } + assert.throws(ReferenceError, () => this); super(); assert.sameValue(this.prop, 42); } @@ -35,7 +24,7 @@ class willThrow extends base { super(); } } -assertThrowsInstanceOf(()=>new willThrow(), ReferenceError); +assert.throws(ReferenceError, ()=>new willThrow()); // This is determined at runtime, not the syntax level. class willStillThrow extends base { @@ -45,7 +34,7 @@ class willStillThrow extends base { } } } -assertThrowsInstanceOf(()=>new willStillThrow(), ReferenceError); +assert.throws(ReferenceError, ()=>new willStillThrow()); class canCatchThrow extends base { constructor() { diff --git a/JSTests/test262/test/staging/sm/class/superElemDelete.js b/JSTests/test262/test/staging/sm/class/superElemDelete.js index 210602f73291a..e332827f4d71c 100644 --- a/JSTests/test262/test/staging/sm/class/superElemDelete.js +++ b/JSTests/test262/test/staging/sm/class/superElemDelete.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending @@ -26,7 +23,7 @@ class derived extends base { return ""; } }; - assertThrowsInstanceOf(() => delete super[key], ReferenceError); + assert.throws(ReferenceError, () => delete super[key]); assert.sameValue(sideEffect, 0); } } @@ -41,17 +38,17 @@ class derivedTestDeleteElem extends base { } }; - assertThrowsInstanceOf(() => delete super[key], ReferenceError); + assert.throws(ReferenceError, () => delete super[key]); assert.sameValue(sideEffect, 0); super(); - assertThrowsInstanceOf(() => delete super[key], ReferenceError); + assert.throws(ReferenceError, () => delete super[key]); assert.sameValue(sideEffect, 0); Object.setPrototypeOf(derivedTestDeleteElem.prototype, null); - assertThrowsInstanceOf(() => delete super[key], ReferenceError); + assert.throws(ReferenceError, () => delete super[key]); assert.sameValue(sideEffect, 0); return {}; diff --git a/JSTests/test262/test/staging/sm/class/superPropBasicCalls.js b/JSTests/test262/test/staging/sm/class/superPropBasicCalls.js index 8f43569079e74..1f83717616afd 100644 --- a/JSTests/test262/test/staging/sm/class/superPropBasicCalls.js +++ b/JSTests/test262/test/staging/sm/class/superPropBasicCalls.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/class/superPropBasicChain.js b/JSTests/test262/test/staging/sm/class/superPropBasicChain.js index 7e677a492c062..6a5271c60e7ac 100644 --- a/JSTests/test262/test/staging/sm/class/superPropBasicChain.js +++ b/JSTests/test262/test/staging/sm/class/superPropBasicChain.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending @@ -16,5 +13,5 @@ var o = { }; // Delazify -assertThrowsInstanceOf(o.access, TypeError); +assert.throws(TypeError, o.access); diff --git a/JSTests/test262/test/staging/sm/class/superPropBasicGetter.js b/JSTests/test262/test/staging/sm/class/superPropBasicGetter.js index 677da45c816e0..6270b27b7b807 100644 --- a/JSTests/test262/test/staging/sm/class/superPropBasicGetter.js +++ b/JSTests/test262/test/staging/sm/class/superPropBasicGetter.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/class/superPropBasicNew.js b/JSTests/test262/test/staging/sm/class/superPropBasicNew.js index ed649199548c1..381b1e25ee87b 100644 --- a/JSTests/test262/test/staging/sm/class/superPropBasicNew.js +++ b/JSTests/test262/test/staging/sm/class/superPropBasicNew.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/class/superPropChains.js b/JSTests/test262/test/staging/sm/class/superPropChains.js index 4030b1fadd9b9..359d06c83567d 100644 --- a/JSTests/test262/test/staging/sm/class/superPropChains.js +++ b/JSTests/test262/test/staging/sm/class/superPropChains.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/class/superPropDVG.js b/JSTests/test262/test/staging/sm/class/superPropDVG.js index 6a3ba3238bf99..6adefc3133bb2 100644 --- a/JSTests/test262/test/staging/sm/class/superPropDVG.js +++ b/JSTests/test262/test/staging/sm/class/superPropDVG.js @@ -2,25 +2,23 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending ---*/ + // Super property accesses should play nice with the pretty printer. class testNonExistent { constructor() { super["prop"](); } } + // Should fold to super.prop -assertThrownErrorContains(() => new testNonExistent(), 'super.prop'); +assert.throws(TypeError, () => new testNonExistent()); var ol = { testNonExistent() { super.prop(); } }; -assertThrownErrorContains(() => ol.testNonExistent(), "super.prop"); +assert.throws(TypeError, () => ol.testNonExistent()); var olElem = { testNonExistent() { var prop = "prop"; super[prop](); } }; -assertThrownErrorContains(() => olElem.testNonExistent(), "super[prop]"); - +assert.throws(TypeError, () => olElem.testNonExistent()); diff --git a/JSTests/test262/test/staging/sm/class/superPropDelete.js b/JSTests/test262/test/staging/sm/class/superPropDelete.js index edfc211bf3855..8456a255d9719 100644 --- a/JSTests/test262/test/staging/sm/class/superPropDelete.js +++ b/JSTests/test262/test/staging/sm/class/superPropDelete.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending @@ -21,13 +18,13 @@ class derived extends base { testDeleteProp() { delete super.prop; } testDeleteElem() { let sideEffect = 0; - assertThrowsInstanceOf(() => delete super[sideEffect = 1], ReferenceError); + assert.throws(ReferenceError, () => delete super[sideEffect = 1]); assert.sameValue(sideEffect, 1); } } var d = new derived(); -assertThrowsInstanceOf(() => d.testDeleteProp(), ReferenceError); +assert.throws(ReferenceError, () => d.testDeleteProp()); d.testDeleteElem(); // |delete super.x| does not delete anything before throwing. @@ -35,7 +32,7 @@ var thing1 = { go() { delete super.toString; } }; let saved = Object.prototype.toString; -assertThrowsInstanceOf(() => thing1.go(), ReferenceError); +assert.throws(ReferenceError, () => thing1.go()); assert.sameValue(Object.prototype.toString, saved); // |delete super.x| does not tell the prototype to delete anything, when it's a proxy. @@ -45,7 +42,7 @@ var thing2 = { Object.setPrototypeOf(thing2, new Proxy({}, { deleteProperty(x) { throw "FAIL"; } })); -assertThrowsInstanceOf(() => thing2.go(), ReferenceError); +assert.throws(ReferenceError, () => thing2.go()); class derivedTestDeleteProp extends base { constructor() { @@ -53,11 +50,11 @@ class derivedTestDeleteProp extends base { // chain. Object.setPrototypeOf(derivedTestDeleteProp.prototype, null); - assertThrowsInstanceOf(() => delete super.prop, ReferenceError); + assert.throws(ReferenceError, () => delete super.prop); super(); - assertThrowsInstanceOf(() => delete super.prop, ReferenceError); + assert.throws(ReferenceError, () => delete super.prop); return {}; } diff --git a/JSTests/test262/test/staging/sm/class/superPropDerivedCalls.js b/JSTests/test262/test/staging/sm/class/superPropDerivedCalls.js index 1a1a1092aa859..3a02884cdd492 100644 --- a/JSTests/test262/test/staging/sm/class/superPropDerivedCalls.js +++ b/JSTests/test262/test/staging/sm/class/superPropDerivedCalls.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/class/superPropDestructuring.js b/JSTests/test262/test/staging/sm/class/superPropDestructuring.js index 47c2bf58d258e..016fe2ae260ac 100644 --- a/JSTests/test262/test/staging/sm/class/superPropDestructuring.js +++ b/JSTests/test262/test/staging/sm/class/superPropDestructuring.js @@ -2,9 +2,7 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, deepEqual.js] -flags: - - noStrict +includes: [compareArray.js] description: | pending esid: pending @@ -33,7 +31,7 @@ const testArr = [525600, "Fred"]; class derived extends base { constructor() { super(); } prepForTest() { seenValues = []; } - testAsserts() { assert.deepEqual(seenValues, testArr); } + testAsserts() { assert.compareArray(seenValues, testArr); } testProps() { this.prepForTest(); [super.minutes, super.intendent] = testArr; diff --git a/JSTests/test262/test/staging/sm/class/superPropEvalInsideArrow.js b/JSTests/test262/test/staging/sm/class/superPropEvalInsideArrow.js index 181c6e8894490..f7883727848d6 100644 --- a/JSTests/test262/test/staging/sm/class/superPropEvalInsideArrow.js +++ b/JSTests/test262/test/staging/sm/class/superPropEvalInsideArrow.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/class/superPropEvalInsideNested.js b/JSTests/test262/test/staging/sm/class/superPropEvalInsideNested.js index 3939fb3c373a0..9f6c47b5f5468 100644 --- a/JSTests/test262/test/staging/sm/class/superPropEvalInsideNested.js +++ b/JSTests/test262/test/staging/sm/class/superPropEvalInsideNested.js @@ -2,21 +2,18 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending ---*/ // It's invalid to eval super.prop inside a nested non-method, even if it // appears inside a method definition -assertThrowsInstanceOf(() => +assert.throws(SyntaxError, () => ({ method() { (function () { eval('super.toString'); })(); } -}).method(), SyntaxError); +}).method()); diff --git a/JSTests/test262/test/staging/sm/class/superPropFor.js b/JSTests/test262/test/staging/sm/class/superPropFor.js index 8094af13e7d22..0a97dd9d56b80 100644 --- a/JSTests/test262/test/staging/sm/class/superPropFor.js +++ b/JSTests/test262/test/staging/sm/class/superPropFor.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/class/superPropHeavyweightArrow.js b/JSTests/test262/test/staging/sm/class/superPropHeavyweightArrow.js index e29d07bf93080..df670725a3918 100644 --- a/JSTests/test262/test/staging/sm/class/superPropHeavyweightArrow.js +++ b/JSTests/test262/test/staging/sm/class/superPropHeavyweightArrow.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/class/superPropHomeObject.js b/JSTests/test262/test/staging/sm/class/superPropHomeObject.js index 1b99c974eccff..b69266960b7bc 100644 --- a/JSTests/test262/test/staging/sm/class/superPropHomeObject.js +++ b/JSTests/test262/test/staging/sm/class/superPropHomeObject.js @@ -2,9 +2,7 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, deepEqual.js] -flags: - - noStrict +includes: [compareArray.js] description: | pending esid: pending @@ -66,5 +64,4 @@ for (let exprBase of [base1, base2]) constructor() { super(); } test() { animals.push(super["test"]()); } }().test(); -assert.deepEqual(animals, ["llama", "alpaca"]); - +assert.compareArray(animals, ["llama", "alpaca"]); diff --git a/JSTests/test262/test/staging/sm/class/superPropIncDecElem.js b/JSTests/test262/test/staging/sm/class/superPropIncDecElem.js index 4417f324bbd80..c9566cf0ec313 100644 --- a/JSTests/test262/test/staging/sm/class/superPropIncDecElem.js +++ b/JSTests/test262/test/staging/sm/class/superPropIncDecElem.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/class/superPropLazyInnerFunction.js b/JSTests/test262/test/staging/sm/class/superPropLazyInnerFunction.js index d0fc532d6a3b8..5b5124f8c4da2 100644 --- a/JSTests/test262/test/staging/sm/class/superPropLazyInnerFunction.js +++ b/JSTests/test262/test/staging/sm/class/superPropLazyInnerFunction.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/class/superPropNoOverwriting.js b/JSTests/test262/test/staging/sm/class/superPropNoOverwriting.js index 0bc0e39ba6f3b..d0cd17f438f03 100644 --- a/JSTests/test262/test/staging/sm/class/superPropNoOverwriting.js +++ b/JSTests/test262/test/staging/sm/class/superPropNoOverwriting.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending @@ -53,15 +50,15 @@ class X { var x = new X(); -assertThrowsInstanceOf(() => x.f1(), TypeError); +assert.throws(TypeError, () => x.f1()); assert.sameValue(x.prop1, 1); -assertThrowsInstanceOf(() => x.f2(), TypeError); +assert.throws(TypeError, () => x.f2()); assert.sameValue(x.prop2, 15); -assertThrowsInstanceOf(() => x.f3(), TypeError); +assert.throws(TypeError, () => x.f3()); assert.sameValue(x.prop3, undefined); -assertThrowsInstanceOf(() => x.f4(), TypeError); +assert.throws(TypeError, () => x.f4()); assert.sameValue(x.prop4, 20); diff --git a/JSTests/test262/test/staging/sm/class/superPropOrdering.js b/JSTests/test262/test/staging/sm/class/superPropOrdering.js index 829f035c96095..1ed57294fce72 100644 --- a/JSTests/test262/test/staging/sm/class/superPropOrdering.js +++ b/JSTests/test262/test/staging/sm/class/superPropOrdering.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending @@ -80,7 +77,7 @@ function reset() { } let instance = new derived(); -assertThrowsInstanceOf(() => instance.testElem(), TypeError); +assert.throws(TypeError, () => instance.testElem()); reset(); instance.testProp(); diff --git a/JSTests/test262/test/staging/sm/class/superPropProtoChanges.js b/JSTests/test262/test/staging/sm/class/superPropProtoChanges.js index 81b39a8a54791..fc04cf47cde91 100644 --- a/JSTests/test262/test/staging/sm/class/superPropProtoChanges.js +++ b/JSTests/test262/test/staging/sm/class/superPropProtoChanges.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/class/superPropProxies.js b/JSTests/test262/test/staging/sm/class/superPropProxies.js index dba771559b921..6f738d74fa7cb 100644 --- a/JSTests/test262/test/staging/sm/class/superPropProxies.js +++ b/JSTests/test262/test/staging/sm/class/superPropProxies.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending @@ -80,7 +77,7 @@ child.testStaticLookups(); assert.sameValue(new Proxy(({ method() { return super.hasOwnProperty("method"); } }), {}).method(), true); // What about a CCW? -var g = createNewGlobal(); +var g = $262.createRealm().global; var wrappedSuper = g.eval("({ method() { return super.hasOwnProperty('method'); } })"); assert.sameValue(wrappedSuper.method(), true); diff --git a/JSTests/test262/test/staging/sm/class/superPropSkips.js b/JSTests/test262/test/staging/sm/class/superPropSkips.js index d203bdf8c1bde..17fa59bb3ec04 100644 --- a/JSTests/test262/test/staging/sm/class/superPropSkips.js +++ b/JSTests/test262/test/staging/sm/class/superPropSkips.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/class/superPropStatics.js b/JSTests/test262/test/staging/sm/class/superPropStatics.js index 0924e1d49a007..2e4dd76982e2c 100644 --- a/JSTests/test262/test/staging/sm/class/superPropStatics.js +++ b/JSTests/test262/test/staging/sm/class/superPropStatics.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/class/superPropStrictAssign.js b/JSTests/test262/test/staging/sm/class/superPropStrictAssign.js index 6ade9398d1b9b..52f842fdac194 100644 --- a/JSTests/test262/test/staging/sm/class/superPropStrictAssign.js +++ b/JSTests/test262/test/staging/sm/class/superPropStrictAssign.js @@ -2,7 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | @@ -23,7 +22,7 @@ class strictAssignmentTest { } } -assertThrowsInstanceOf(()=>new strictAssignmentTest(), TypeError); +assert.throws(TypeError, ()=>new strictAssignmentTest()); // Non-strict. Silent failure. ({ test() { super.prop = 14; } }).test(); diff --git a/JSTests/test262/test/staging/sm/class/superThisStrictNoBoxing.js b/JSTests/test262/test/staging/sm/class/superThisStrictNoBoxing.js index a6fd18c9a124e..e063fb72279b0 100644 --- a/JSTests/test262/test/staging/sm/class/superThisStrictNoBoxing.js +++ b/JSTests/test262/test/staging/sm/class/superThisStrictNoBoxing.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/class/uninitializedThisError.js b/JSTests/test262/test/staging/sm/class/uninitializedThisError.js index 4c81909ac11c6..e3646bbff71c8 100644 --- a/JSTests/test262/test/staging/sm/class/uninitializedThisError.js +++ b/JSTests/test262/test/staging/sm/class/uninitializedThisError.js @@ -2,33 +2,27 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending ---*/ -function checkErr(f) { - assertThrowsInstanceOfWithMessage(f, ReferenceError, - "must call super constructor before using 'this' in derived class constructor"); -} + class TestNormal extends class {} { constructor() { this; } } -checkErr(() => new TestNormal()); +assert.throws(ReferenceError, () => new TestNormal()); class TestEval extends class {} { constructor() { eval("this") } } -checkErr(() => new TestEval()); +assert.throws(ReferenceError, () => new TestEval()); class TestNestedEval extends class {} { constructor() { eval("eval('this')") } } -checkErr(() => new TestNestedEval()); +assert.throws(ReferenceError, () => new TestNestedEval()); -checkErr(() => { +assert.throws(ReferenceError, () => { new class extends class {} { constructor() { eval("this") } } @@ -37,20 +31,19 @@ checkErr(() => { class TestArrow extends class {} { constructor() { (() => this)(); } } -checkErr(() => new TestArrow()); +assert.throws(ReferenceError, () => new TestArrow()); class TestArrowEval extends class {} { constructor() { (() => eval("this"))(); } } -checkErr(() => new TestArrowEval()); +assert.throws(ReferenceError, () => new TestArrowEval()); class TestEvalArrow extends class {} { constructor() { eval("(() => this)()"); } } -checkErr(() => new TestEvalArrow()); +assert.throws(ReferenceError, () => new TestEvalArrow()); class TestTypeOf extends class {} { constructor() { eval("typeof this"); } } -checkErr(() => new TestTypeOf()); - +assert.throws(ReferenceError, () => new TestTypeOf()); diff --git a/JSTests/test262/test/staging/sm/destructuring/array-default-class.js b/JSTests/test262/test/staging/sm/destructuring/array-default-class.js index a15c27bc0e0c9..263eeceb068cf 100644 --- a/JSTests/test262/test/staging/sm/destructuring/array-default-class.js +++ b/JSTests/test262/test/staging/sm/destructuring/array-default-class.js @@ -2,17 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Function in computed property in class expression in array destructuring default +info: bugzilla.mozilla.org/show_bug.cgi?id=1322314 esid: pending ---*/ -var BUGNUMBER = 1322314; -var summary = "Function in computed property in class expression in array destructuring default"; - -print(BUGNUMBER + ": " + summary); function* g([ a = class E { @@ -31,4 +25,3 @@ assert.sameValue(x.foo(), 10); C = [...g([undefined])][0]; x = new C(); assert.sameValue(x.foo(), 10); - diff --git a/JSTests/test262/test/staging/sm/destructuring/array-iterator-close.js b/JSTests/test262/test/staging/sm/destructuring/array-iterator-close.js index b2747e9b1ff51..e076148b7003e 100644 --- a/JSTests/test262/test/staging/sm/destructuring/array-iterator-close.js +++ b/JSTests/test262/test/staging/sm/destructuring/array-iterator-close.js @@ -2,14 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict +includes: [sm/assertThrowsValue.js] description: | - pending + Tests that IteratorClose is called in array destructuring patterns. esid: pending ---*/ -// Tests that IteratorClose is called in array destructuring patterns. function test() { var returnCalled = 0; @@ -17,24 +14,31 @@ function test() { var iterable = {}; // empty [] calls IteratorClose regardless of "done" on the result. - iterable[Symbol.iterator] = makeIterator({ - next: function() { - return { done: true }; - }, - ret: function() { - returnCalled++; - return {}; - } - }); + iterable[Symbol.iterator] = function() { + return { + next() { + return { done: true }; + }, + return() { + returnCalled++; + return {}; + } + }; + }; var [] = iterable; assert.sameValue(returnCalled, ++returnCalledExpected); - iterable[Symbol.iterator] = makeIterator({ - ret: function() { - returnCalled++; - return {}; - } - }); + iterable[Symbol.iterator] = function() { + return { + next() { + return { done: false }; + }, + return() { + returnCalled++; + return {}; + } + }; + }; var [] = iterable; assert.sameValue(returnCalled, ++returnCalledExpected); @@ -55,46 +59,55 @@ function test() { assert.sameValue(returnCalled, ++returnCalledExpected); // throw in lhs ref calls IteratorClose with falsy "done". - iterable[Symbol.iterator] = makeIterator({ - next: function() { - // "done" is undefined. - return {}; - }, - ret: function() { - returnCalled++; - return {}; - } - }); + iterable[Symbol.iterator] = function() { + return { + next() { + // "done" is undefined. + return {}; + }, + return() { + returnCalled++; + return {}; + } + }; + }; assertThrowsValue(function() { 0, [...{}[throwlhs()]] = iterable; }, "in lhs"); assert.sameValue(returnCalled, ++returnCalledExpected); // throw in iter.next doesn't call IteratorClose - iterable[Symbol.iterator] = makeIterator({ - next: function() { - throw "in next"; - }, - ret: function() { - returnCalled++; - return {}; - } - }); + iterable[Symbol.iterator] = function() { + return { + next() { + throw "in next"; + }, + return() { + returnCalled++; + return {}; + } + }; + }; assertThrowsValue(function() { var [d] = iterable; }, "in next"); assert.sameValue(returnCalled, returnCalledExpected); // "return" must return an Object. - iterable[Symbol.iterator] = makeIterator({ - ret: function() { - returnCalled++; - return 42; - } - }); - assertThrowsInstanceOf(function() { + iterable[Symbol.iterator] = function() { + return { + next() { + return { done: false }; + }, + return() { + returnCalled++; + return 42; + } + }; + }; + assert.throws(TypeError, function() { var [] = iterable; - }, TypeError); + }); assert.sameValue(returnCalled, ++returnCalledExpected); } diff --git a/JSTests/test262/test/staging/sm/destructuring/bug1396261.js b/JSTests/test262/test/staging/sm/destructuring/bug1396261.js index 12fdfa9056d93..01e62b046b0e6 100644 --- a/JSTests/test262/test/staging/sm/destructuring/bug1396261.js +++ b/JSTests/test262/test/staging/sm/destructuring/bug1396261.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending @@ -30,10 +27,10 @@ esid: pending ({...[0].x} = {}); // Object literal with initializer shorthand in destructuring context. -assertThrowsInstanceOf(() => Function(`[{a = 0}.x] = [];`), SyntaxError); -assertThrowsInstanceOf(() => Function(`[...{a = 0}.x] = [];`), SyntaxError); -assertThrowsInstanceOf(() => Function(`({a: {b = 0}.x} = {});`), SyntaxError); -assertThrowsInstanceOf(() => Function(`({...{b = 0}.x} = {});`), SyntaxError); +assert.throws(SyntaxError, () => Function(`[{a = 0}.x] = [];`)); +assert.throws(SyntaxError, () => Function(`[...{a = 0}.x] = [];`)); +assert.throws(SyntaxError, () => Function(`({a: {b = 0}.x} = {});`)); +assert.throws(SyntaxError, () => Function(`({...{b = 0}.x} = {});`)); // Object destructuring with "eval" or "arguments" shorthand in strict mode. (function() { diff --git a/JSTests/test262/test/staging/sm/destructuring/constant-folding.js b/JSTests/test262/test/staging/sm/destructuring/constant-folding.js index 7ae9a2cc611c4..23c709be03fd0 100644 --- a/JSTests/test262/test/staging/sm/destructuring/constant-folding.js +++ b/JSTests/test262/test/staging/sm/destructuring/constant-folding.js @@ -2,18 +2,15 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending ---*/ function assertSyntaxError(code) { - assertThrowsInstanceOf(function () { Function(code); }, SyntaxError, "Function:" + code); - assertThrowsInstanceOf(function () { eval(code); }, SyntaxError, "eval:" + code); + assert.throws(SyntaxError, function () { Function(code); }, "Function:" + code); + assert.throws(SyntaxError, function () { eval(code); }, "eval:" + code); var ieval = eval; - assertThrowsInstanceOf(function () { ieval(code); }, SyntaxError, "indirect eval:" + code); + assert.throws(SyntaxError, function () { ieval(code); }, "indirect eval:" + code); } // |true && a| is constant-folded to |a|, ensure the destructuring assignment diff --git a/JSTests/test262/test/staging/sm/destructuring/iterator-primitive.js b/JSTests/test262/test/staging/sm/destructuring/iterator-primitive.js index 4e874cb02a986..c113086251299 100644 --- a/JSTests/test262/test/staging/sm/destructuring/iterator-primitive.js +++ b/JSTests/test262/test/staging/sm/destructuring/iterator-primitive.js @@ -2,17 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Returning non-object from @@iterator should throw +info: bugzilla.mozilla.org/show_bug.cgi?id=1021835 esid: pending ---*/ -var BUGNUMBER = 1021835; -var summary = "Returning non-object from @@iterator should throw"; - -print(BUGNUMBER + ": " + summary); let primitives = [ 1, @@ -32,14 +26,13 @@ for (let primitive of primitives) { return primitive; } }; - assertThrowsInstanceOf(() => { + assert.throws(TypeError, () => { let [] = obj; - }, TypeError); - assertThrowsInstanceOf(() => { + }); + assert.throws(TypeError, () => { [] = obj; - }, TypeError); - assertThrowsInstanceOf(() => { + }); + assert.throws(TypeError, () => { f(obj); - }, TypeError); + }); } - diff --git a/JSTests/test262/test/staging/sm/destructuring/order-super.js b/JSTests/test262/test/staging/sm/destructuring/order-super.js index fd958343ef94f..f778a1febb235 100644 --- a/JSTests/test262/test/staging/sm/destructuring/order-super.js +++ b/JSTests/test262/test/staging/sm/destructuring/order-super.js @@ -2,24 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Destructuring should evaluate lhs reference before rhs in super property +info: bugzilla.mozilla.org/show_bug.cgi?id=1204028 esid: pending ---*/ -var BUGNUMBER = 1204028; -var summary = "Destructuring should evaluate lhs reference before rhs in super property"; - -if (typeof assert.sameValue === "undefined") { - assert.sameValue = function(a, b) { - if (a !== b) - throw new Error(`expected ${b}, got ${a}\n${new Error().stack}`); - }; -} - -print(BUGNUMBER + ": " + summary); let logs = []; function log(x) { @@ -40,12 +27,6 @@ function ToString(name) { function logger(obj, prefix=[]) { let wrapped = new Proxy(obj, { get(that, name) { - if (name == "return") { - // FIXME: Bug 1147371. - // We ignore IteratorClose for now. - return obj[name]; - } - let names = prefix.concat(ToString(name)); log("rhs get " + names.join("::")); let v = obj[name]; @@ -113,6 +94,8 @@ class C2 extends C1 { "rhs get @@iterator()::next()::done", "rhs get @@iterator()::next()::value", "lhs set a", + + "rhs get @@iterator()::return", ].join(",")); assert.sameValue(this.values.a, "A"); @@ -131,6 +114,8 @@ class C2 extends C1 { "rhs get @@iterator()::next()::done", "rhs get @@iterator()::next()::value", "lhs set a", + + "rhs get @@iterator()::return", ].join(",")); assert.sameValue(this.values.a, "A"); @@ -305,6 +290,8 @@ class C2 extends C1 { "rhs call @@iterator()::next()::value::@@iterator()::next", "rhs get @@iterator()::next()::value::@@iterator()::next()::done", "lhs set b", + + "rhs get @@iterator()::return", ].join(",")); assert.sameValue(this.values.a, "A"); assert.sameValue(this.values.b.length, 1); @@ -363,6 +350,8 @@ class C2 extends C1 { "lhs before name a", "rhs get @@iterator()::next()::value::a", "lhs set a", + + "rhs get @@iterator()::return", ].join(",")); assert.sameValue(this.values.a, "A"); @@ -422,6 +411,8 @@ class C2 extends C1 { "rhs get a::@@iterator()::next()::done", "rhs get a::@@iterator()::next()::value", "lhs set b", + + "rhs get a::@@iterator()::return", ].join(",")); assert.sameValue(this.values.b, "B"); @@ -555,6 +546,8 @@ class C2 extends C1 { "rhs get @@iterator()::next()::value::@@iterator()::next()::value::d::f::@@iterator()::next()::done", "rhs get @@iterator()::next()::value::@@iterator()::next()::value::d::f::@@iterator()::next()::value", "lhs set g", + "rhs get @@iterator()::next()::value::@@iterator()::next()::value::d::f::@@iterator()::return", + "rhs get @@iterator()::next()::value::@@iterator()::return", "rhs call @@iterator()::next", "rhs get @@iterator()::next()::done", @@ -589,6 +582,8 @@ class C2 extends C1 { "rhs get @@iterator()::next()::value::i::@@iterator()::next()::value::k::@@iterator()::next()::done", "rhs get @@iterator()::next()::value::i::@@iterator()::next()::value::k::@@iterator()::next()::value", "lhs set l", + "rhs get @@iterator()::next()::value::i::@@iterator()::next()::value::k::@@iterator()::return", + "rhs get @@iterator()::next()::value::i::@@iterator()::return", "rhs call @@iterator()::next", "rhs get @@iterator()::next()::done", @@ -642,6 +637,8 @@ class C2 extends C1 { "rhs get @@iterator()::next()::value::@@iterator()::next()::value::p::r::@@iterator()::next()::done", "rhs get @@iterator()::next()::value::@@iterator()::next()::value::p::r::@@iterator()::next()::value", "lhs set s", + "rhs get @@iterator()::next()::value::@@iterator()::next()::value::p::r::@@iterator()::return", + "rhs get @@iterator()::next()::value::@@iterator()::return", "lhs before name t", "lhs set t", @@ -680,6 +677,8 @@ class C2 extends C1 { "rhs get @@iterator()::next()::value::@@iterator()::next()::value::w::y::@@iterator()::next()::done", "rhs get @@iterator()::next()::value::@@iterator()::next()::value::w::y::@@iterator()::next()::value", "lhs set z", + "rhs get @@iterator()::next()::value::@@iterator()::next()::value::w::y::@@iterator()::return", + "rhs get @@iterator()::next()::value::@@iterator()::return", "lhs before name length", "lhs set length", @@ -707,4 +706,3 @@ class C2 extends C1 { } new C2(); - diff --git a/JSTests/test262/test/staging/sm/destructuring/order.js b/JSTests/test262/test/staging/sm/destructuring/order.js index bd932625bc6a2..4887a3117ad05 100644 --- a/JSTests/test262/test/staging/sm/destructuring/order.js +++ b/JSTests/test262/test/staging/sm/destructuring/order.js @@ -2,17 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Destructuring should evaluate lhs reference before rhs +info: bugzilla.mozilla.org/show_bug.cgi?id=1204028 esid: pending ---*/ -var BUGNUMBER = 1204028; -var summary = "Destructuring should evaluate lhs reference before rhs"; - -print(BUGNUMBER + ": " + summary); let storage = { clear() { @@ -24,6 +18,7 @@ let obj = new Proxy(storage, { set(that, name, value) { log("lhs set " + name); storage.values[name] = value; + return true; } }); @@ -51,12 +46,6 @@ function ToString(name) { function logger(obj, prefix=[]) { let wrapped = new Proxy(obj, { get(that, name) { - if (name == "return") { - // FIXME: Bug 1147371. - // We ignore IteratorClose for now. - return obj[name]; - } - let names = prefix.concat(ToString(name)); log("rhs get " + names.join("::")); let v = obj[name]; @@ -96,6 +85,8 @@ assert.sameValue(logs.join(","), "rhs get @@iterator()::next()::done", "rhs get @@iterator()::next()::value", "lhs set a", + + "rhs get @@iterator()::return", ].join(",")); assert.sameValue(storage.values.a, "A"); @@ -115,6 +106,8 @@ assert.sameValue(logs.join(","), "rhs get @@iterator()::next()::done", "rhs get @@iterator()::next()::value", "lhs set a", + + "rhs get @@iterator()::return", ].join(",")); assert.sameValue(storage.values.a, "A"); @@ -300,6 +293,8 @@ assert.sameValue(logs.join(","), "rhs call @@iterator()::next()::value::@@iterator()::next", "rhs get @@iterator()::next()::value::@@iterator()::next()::done", "lhs set b", + + "rhs get @@iterator()::return", ].join(",")); assert.sameValue(storage.values.a, "A"); assert.sameValue(storage.values.b.length, 1); @@ -361,6 +356,8 @@ assert.sameValue(logs.join(","), "lhs before name a", "rhs get @@iterator()::next()::value::a", "lhs set a", + + "rhs get @@iterator()::return", ].join(",")); assert.sameValue(storage.values.a, "A"); @@ -424,6 +421,8 @@ assert.sameValue(logs.join(","), "rhs get a::@@iterator()::next()::done", "rhs get a::@@iterator()::next()::value", "lhs set b", + + "rhs get a::@@iterator()::return", ].join(",")); assert.sameValue(storage.values.b, "B"); @@ -563,6 +562,8 @@ assert.sameValue(logs.join(","), "rhs get @@iterator()::next()::value::@@iterator()::next()::value::d::f::@@iterator()::next()::done", "rhs get @@iterator()::next()::value::@@iterator()::next()::value::d::f::@@iterator()::next()::value", "lhs set g", + "rhs get @@iterator()::next()::value::@@iterator()::next()::value::d::f::@@iterator()::return", + "rhs get @@iterator()::next()::value::@@iterator()::return", "rhs call @@iterator()::next", "rhs get @@iterator()::next()::done", @@ -600,6 +601,8 @@ assert.sameValue(logs.join(","), "rhs get @@iterator()::next()::value::i::@@iterator()::next()::value::k::@@iterator()::next()::done", "rhs get @@iterator()::next()::value::i::@@iterator()::next()::value::k::@@iterator()::next()::value", "lhs set l", + "rhs get @@iterator()::next()::value::i::@@iterator()::next()::value::k::@@iterator()::return", + "rhs get @@iterator()::next()::value::i::@@iterator()::return", "rhs call @@iterator()::next", "rhs get @@iterator()::next()::done", @@ -658,6 +661,8 @@ assert.sameValue(logs.join(","), "rhs get @@iterator()::next()::value::@@iterator()::next()::value::p::r::@@iterator()::next()::done", "rhs get @@iterator()::next()::value::@@iterator()::next()::value::p::r::@@iterator()::next()::value", "lhs set s", + "rhs get @@iterator()::next()::value::@@iterator()::next()::value::p::r::@@iterator()::return", + "rhs get @@iterator()::next()::value::@@iterator()::return", "lhs before obj t", "lhs before name t", @@ -701,6 +706,8 @@ assert.sameValue(logs.join(","), "rhs get @@iterator()::next()::value::@@iterator()::next()::value::w::y::@@iterator()::next()::done", "rhs get @@iterator()::next()::value::@@iterator()::next()::value::w::y::@@iterator()::next()::value", "lhs set z", + "rhs get @@iterator()::next()::value::@@iterator()::next()::value::w::y::@@iterator()::return", + "rhs get @@iterator()::next()::value::@@iterator()::return", "lhs before obj length", "lhs before name length", @@ -725,4 +732,3 @@ assert.sameValue(storage.values.v, "V"); assert.sameValue(storage.values.x, "X"); assert.sameValue(storage.values.z, "Z"); assert.sameValue(storage.values.length, 2); - diff --git a/JSTests/test262/test/staging/sm/eval/exhaustive-fun-normalcaller-direct-normalcode.js b/JSTests/test262/test/staging/sm/eval/exhaustive-fun-normalcaller-direct-normalcode.js index a2790399da4d0..4d2c7b6a81fce 100644 --- a/JSTests/test262/test/staging/sm/eval/exhaustive-fun-normalcaller-direct-normalcode.js +++ b/JSTests/test262/test/staging/sm/eval/exhaustive-fun-normalcaller-direct-normalcode.js @@ -4,22 +4,13 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | - pending + eval in all its myriad flavors +info: bugzilla.mozilla.org/show_bug.cgi?id=514568 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 514568; -var summary = "eval in all its myriad flavors"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ var x = 17; function globalX() { return x; } @@ -209,7 +200,3 @@ assert.sameValue(resultsY.global4, 42); assert.sameValue(resultsY.inner5, 71); assert.sameValue(resultsY.local5, 71); assert.sameValue(resultsY.global5, 71); - -/******************************************************************************/ - -print("Tests complete!"); diff --git a/JSTests/test262/test/staging/sm/eval/exhaustive-fun-normalcaller-direct-strictcode.js b/JSTests/test262/test/staging/sm/eval/exhaustive-fun-normalcaller-direct-strictcode.js index 25af842903973..494552afc2c67 100644 --- a/JSTests/test262/test/staging/sm/eval/exhaustive-fun-normalcaller-direct-strictcode.js +++ b/JSTests/test262/test/staging/sm/eval/exhaustive-fun-normalcaller-direct-strictcode.js @@ -4,22 +4,13 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | - pending + eval in all its myriad flavors +info: bugzilla.mozilla.org/show_bug.cgi?id=514568 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 514568; -var summary = "eval in all its myriad flavors"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ var x = 17; function globalX() { return x; } @@ -211,7 +202,3 @@ assert.sameValue(resultsY.global4, 8); assert.sameValue(resultsY.inner5, 71); assert.sameValue(resultsY.local5, 8); assert.sameValue(resultsY.global5, 8); - -/******************************************************************************/ - -print("Tests complete!"); diff --git a/JSTests/test262/test/staging/sm/eval/exhaustive-fun-normalcaller-indirect-normalcode.js b/JSTests/test262/test/staging/sm/eval/exhaustive-fun-normalcaller-indirect-normalcode.js index 0e156a401072f..719b68042d4fc 100644 --- a/JSTests/test262/test/staging/sm/eval/exhaustive-fun-normalcaller-indirect-normalcode.js +++ b/JSTests/test262/test/staging/sm/eval/exhaustive-fun-normalcaller-indirect-normalcode.js @@ -4,22 +4,13 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | - pending + eval in all its myriad flavors +info: bugzilla.mozilla.org/show_bug.cgi?id=514568 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 514568; -var summary = "eval in all its myriad flavors"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ var x = 17; function globalX() { return x; } @@ -209,7 +200,3 @@ assert.sameValue(resultsY.global4, 2); assert.sameValue(resultsY.inner5, 71); assert.sameValue(resultsY.local5, 71); assert.sameValue(resultsY.global5, 71); - -/******************************************************************************/ - -print("Tests complete!"); diff --git a/JSTests/test262/test/staging/sm/eval/exhaustive-fun-normalcaller-indirect-strictcode.js b/JSTests/test262/test/staging/sm/eval/exhaustive-fun-normalcaller-indirect-strictcode.js index 43872a994b402..112239a81462b 100644 --- a/JSTests/test262/test/staging/sm/eval/exhaustive-fun-normalcaller-indirect-strictcode.js +++ b/JSTests/test262/test/staging/sm/eval/exhaustive-fun-normalcaller-indirect-strictcode.js @@ -4,22 +4,13 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | - pending + eval in all its myriad flavors +info: bugzilla.mozilla.org/show_bug.cgi?id=514568 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 514568; -var summary = "eval in all its myriad flavors"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ var x = 17; function globalX() { return x; } @@ -211,7 +202,3 @@ assert.sameValue(resultsY.global4, 8); assert.sameValue(resultsY.inner5, 71); assert.sameValue(resultsY.local5, 8); assert.sameValue(resultsY.global5, 8); - -/******************************************************************************/ - -print("Tests complete!"); diff --git a/JSTests/test262/test/staging/sm/eval/exhaustive-fun-strictcaller-direct-normalcode.js b/JSTests/test262/test/staging/sm/eval/exhaustive-fun-strictcaller-direct-normalcode.js index 7940b6445b374..4163387d34010 100644 --- a/JSTests/test262/test/staging/sm/eval/exhaustive-fun-strictcaller-direct-normalcode.js +++ b/JSTests/test262/test/staging/sm/eval/exhaustive-fun-strictcaller-direct-normalcode.js @@ -4,22 +4,13 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | - pending + eval in all its myriad flavors +info: bugzilla.mozilla.org/show_bug.cgi?id=514568 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 514568; -var summary = "eval in all its myriad flavors"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ var x = 17; function globalX() { return x; } @@ -213,7 +204,3 @@ assert.sameValue(resultsY.global4, 8); assert.sameValue(resultsY.inner5, 71); assert.sameValue(resultsY.local5, 8); assert.sameValue(resultsY.global5, 8); - -/******************************************************************************/ - -print("Tests complete!"); diff --git a/JSTests/test262/test/staging/sm/eval/exhaustive-fun-strictcaller-direct-strictcode.js b/JSTests/test262/test/staging/sm/eval/exhaustive-fun-strictcaller-direct-strictcode.js index 9f830b6c3176a..9ec9d67249269 100644 --- a/JSTests/test262/test/staging/sm/eval/exhaustive-fun-strictcaller-direct-strictcode.js +++ b/JSTests/test262/test/staging/sm/eval/exhaustive-fun-strictcaller-direct-strictcode.js @@ -4,22 +4,13 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | - pending + eval in all its myriad flavors +info: bugzilla.mozilla.org/show_bug.cgi?id=514568 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 514568; -var summary = "eval in all its myriad flavors"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ var x = 17; function globalX() { return x; } @@ -215,7 +206,3 @@ assert.sameValue(resultsY.global4, 8); assert.sameValue(resultsY.inner5, 71); assert.sameValue(resultsY.local5, 8); assert.sameValue(resultsY.global5, 8); - -/******************************************************************************/ - -print("Tests complete!"); diff --git a/JSTests/test262/test/staging/sm/eval/exhaustive-fun-strictcaller-indirect-normalcode.js b/JSTests/test262/test/staging/sm/eval/exhaustive-fun-strictcaller-indirect-normalcode.js index 03919d6c76b36..ec37062d1ce4d 100644 --- a/JSTests/test262/test/staging/sm/eval/exhaustive-fun-strictcaller-indirect-normalcode.js +++ b/JSTests/test262/test/staging/sm/eval/exhaustive-fun-strictcaller-indirect-normalcode.js @@ -4,22 +4,13 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | - pending + eval in all its myriad flavors +info: bugzilla.mozilla.org/show_bug.cgi?id=514568 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 514568; -var summary = "eval in all its myriad flavors"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ var x = 17; function globalX() { return x; } @@ -213,7 +204,3 @@ assert.sameValue(resultsY.global4, 2); assert.sameValue(resultsY.inner5, 71); assert.sameValue(resultsY.local5, 71); assert.sameValue(resultsY.global5, 71); - -/******************************************************************************/ - -print("Tests complete!"); diff --git a/JSTests/test262/test/staging/sm/eval/exhaustive-fun-strictcaller-indirect-strictcode.js b/JSTests/test262/test/staging/sm/eval/exhaustive-fun-strictcaller-indirect-strictcode.js index 19b3195d5d51d..40283a0e25cd7 100644 --- a/JSTests/test262/test/staging/sm/eval/exhaustive-fun-strictcaller-indirect-strictcode.js +++ b/JSTests/test262/test/staging/sm/eval/exhaustive-fun-strictcaller-indirect-strictcode.js @@ -4,22 +4,13 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | - pending + eval in all its myriad flavors +info: bugzilla.mozilla.org/show_bug.cgi?id=514568 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 514568; -var summary = "eval in all its myriad flavors"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ var x = 17; function globalX() { return x; } @@ -215,7 +206,3 @@ assert.sameValue(resultsY.global4, 8); assert.sameValue(resultsY.inner5, 71); assert.sameValue(resultsY.local5, 8); assert.sameValue(resultsY.global5, 8); - -/******************************************************************************/ - -print("Tests complete!"); diff --git a/JSTests/test262/test/staging/sm/eval/exhaustive-global-normalcaller-direct-normalcode.js b/JSTests/test262/test/staging/sm/eval/exhaustive-global-normalcaller-direct-normalcode.js index 0dd64696fda93..8125a9a4552b6 100644 --- a/JSTests/test262/test/staging/sm/eval/exhaustive-global-normalcaller-direct-normalcode.js +++ b/JSTests/test262/test/staging/sm/eval/exhaustive-global-normalcaller-direct-normalcode.js @@ -4,22 +4,13 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | - pending + eval in all its myriad flavors +info: bugzilla.mozilla.org/show_bug.cgi?id=514568 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 514568; -var summary = "eval in all its myriad flavors"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ var x = 17; @@ -173,7 +164,3 @@ assert.sameValue(resultsY.local4, "ReferenceError"); assert.sameValue(resultsY.inner5, 71); assert.sameValue(resultsY.local5, 71); - -/******************************************************************************/ - -print("Tests complete!"); diff --git a/JSTests/test262/test/staging/sm/eval/exhaustive-global-normalcaller-direct-strictcode.js b/JSTests/test262/test/staging/sm/eval/exhaustive-global-normalcaller-direct-strictcode.js index 0e10a9315456f..7065f79662937 100644 --- a/JSTests/test262/test/staging/sm/eval/exhaustive-global-normalcaller-direct-strictcode.js +++ b/JSTests/test262/test/staging/sm/eval/exhaustive-global-normalcaller-direct-strictcode.js @@ -4,22 +4,13 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | - pending + eval in all its myriad flavors +info: bugzilla.mozilla.org/show_bug.cgi?id=514568 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 514568; -var summary = "eval in all its myriad flavors"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ var x = 17; @@ -175,7 +166,3 @@ assert.sameValue(resultsY.local4, 8); assert.sameValue(resultsY.inner5, 71); assert.sameValue(resultsY.local5, 8); - -/******************************************************************************/ - -print("Tests complete!"); diff --git a/JSTests/test262/test/staging/sm/eval/exhaustive-global-normalcaller-indirect-normalcode.js b/JSTests/test262/test/staging/sm/eval/exhaustive-global-normalcaller-indirect-normalcode.js index 9e716200dc952..223b75a58e2b1 100644 --- a/JSTests/test262/test/staging/sm/eval/exhaustive-global-normalcaller-indirect-normalcode.js +++ b/JSTests/test262/test/staging/sm/eval/exhaustive-global-normalcaller-indirect-normalcode.js @@ -4,22 +4,13 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | - pending + eval in all its myriad flavors +info: bugzilla.mozilla.org/show_bug.cgi?id=514568 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 514568; -var summary = "eval in all its myriad flavors"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ var x = 17; @@ -173,7 +164,3 @@ assert.sameValue(resultsY.local4, "ReferenceError"); assert.sameValue(resultsY.inner5, 71); assert.sameValue(resultsY.local5, 71); - -/******************************************************************************/ - -print("Tests complete!"); diff --git a/JSTests/test262/test/staging/sm/eval/exhaustive-global-normalcaller-indirect-strictcode.js b/JSTests/test262/test/staging/sm/eval/exhaustive-global-normalcaller-indirect-strictcode.js index 1ba121c6994b9..eeb881599848d 100644 --- a/JSTests/test262/test/staging/sm/eval/exhaustive-global-normalcaller-indirect-strictcode.js +++ b/JSTests/test262/test/staging/sm/eval/exhaustive-global-normalcaller-indirect-strictcode.js @@ -4,22 +4,13 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | - pending + eval in all its myriad flavors +info: bugzilla.mozilla.org/show_bug.cgi?id=514568 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 514568; -var summary = "eval in all its myriad flavors"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ var x = 17; @@ -175,7 +166,3 @@ assert.sameValue(resultsY.local4, 8); assert.sameValue(resultsY.inner5, 71); assert.sameValue(resultsY.local5, 8); - -/******************************************************************************/ - -print("Tests complete!"); diff --git a/JSTests/test262/test/staging/sm/eval/exhaustive-global-strictcaller-direct-normalcode.js b/JSTests/test262/test/staging/sm/eval/exhaustive-global-strictcaller-direct-normalcode.js index b24a9e8ac3a62..90d9d3b3c61b0 100644 --- a/JSTests/test262/test/staging/sm/eval/exhaustive-global-strictcaller-direct-normalcode.js +++ b/JSTests/test262/test/staging/sm/eval/exhaustive-global-strictcaller-direct-normalcode.js @@ -6,22 +6,11 @@ /*--- flags: - onlyStrict -includes: [sm/non262.js, sm/non262-shell.js] description: | - pending + eval in all its myriad flavors +info: bugzilla.mozilla.org/show_bug.cgi?id=514568 esid: pending ---*/ -"use strict"; - -//----------------------------------------------------------------------------- -var BUGNUMBER = 514568; -var summary = "eval in all its myriad flavors"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ var x = 17; @@ -175,7 +164,3 @@ assert.sameValue(resultsY.local4, "ReferenceError"); assert.sameValue(resultsY.inner5, 71); assert.sameValue(resultsY.local5, "ReferenceError"); - -/******************************************************************************/ - -print("Tests complete!"); diff --git a/JSTests/test262/test/staging/sm/eval/exhaustive-global-strictcaller-direct-strictcode.js b/JSTests/test262/test/staging/sm/eval/exhaustive-global-strictcaller-direct-strictcode.js index cf3f879171b05..defdb298f4ca8 100644 --- a/JSTests/test262/test/staging/sm/eval/exhaustive-global-strictcaller-direct-strictcode.js +++ b/JSTests/test262/test/staging/sm/eval/exhaustive-global-strictcaller-direct-strictcode.js @@ -6,22 +6,11 @@ /*--- flags: - onlyStrict -includes: [sm/non262.js, sm/non262-shell.js] description: | - pending + eval in all its myriad flavors +info: bugzilla.mozilla.org/show_bug.cgi?id=514568 esid: pending ---*/ -"use strict"; - -//----------------------------------------------------------------------------- -var BUGNUMBER = 514568; -var summary = "eval in all its myriad flavors"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ var x = 17; @@ -177,7 +166,3 @@ assert.sameValue(resultsY.local4, "ReferenceError"); assert.sameValue(resultsY.inner5, 71); assert.sameValue(resultsY.local5, "ReferenceError"); - -/******************************************************************************/ - -print("Tests complete!"); diff --git a/JSTests/test262/test/staging/sm/eval/exhaustive-global-strictcaller-indirect-normalcode.js b/JSTests/test262/test/staging/sm/eval/exhaustive-global-strictcaller-indirect-normalcode.js index 7f52cb2428064..ba7658e665831 100644 --- a/JSTests/test262/test/staging/sm/eval/exhaustive-global-strictcaller-indirect-normalcode.js +++ b/JSTests/test262/test/staging/sm/eval/exhaustive-global-strictcaller-indirect-normalcode.js @@ -6,22 +6,11 @@ /*--- flags: - onlyStrict -includes: [sm/non262.js, sm/non262-shell.js] description: | - pending + eval in all its myriad flavors +info: bugzilla.mozilla.org/show_bug.cgi?id=514568 esid: pending ---*/ -"use strict"; - -//----------------------------------------------------------------------------- -var BUGNUMBER = 514568; -var summary = "eval in all its myriad flavors"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ var x = 17; @@ -175,7 +164,3 @@ assert.sameValue(resultsY.local4, "ReferenceError"); assert.sameValue(resultsY.inner5, 71); assert.sameValue(resultsY.local5, 71); - -/******************************************************************************/ - -print("Tests complete!"); diff --git a/JSTests/test262/test/staging/sm/eval/exhaustive-global-strictcaller-indirect-strictcode.js b/JSTests/test262/test/staging/sm/eval/exhaustive-global-strictcaller-indirect-strictcode.js index af1f47d0a28f7..0b4dfd5ff4dbe 100644 --- a/JSTests/test262/test/staging/sm/eval/exhaustive-global-strictcaller-indirect-strictcode.js +++ b/JSTests/test262/test/staging/sm/eval/exhaustive-global-strictcaller-indirect-strictcode.js @@ -6,22 +6,11 @@ /*--- flags: - onlyStrict -includes: [sm/non262.js, sm/non262-shell.js] description: | - pending + eval in all its myriad flavors +info: bugzilla.mozilla.org/show_bug.cgi?id=514568 esid: pending ---*/ -"use strict"; - -//----------------------------------------------------------------------------- -var BUGNUMBER = 514568; -var summary = "eval in all its myriad flavors"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ var x = 17; @@ -177,7 +166,3 @@ assert.sameValue(resultsY.local4, "ReferenceError"); assert.sameValue(resultsY.inner5, 71); assert.sameValue(resultsY.local5, "ReferenceError"); - -/******************************************************************************/ - -print("Tests complete!"); diff --git a/JSTests/test262/test/staging/sm/eval/line-terminator-paragraph-terminator.js b/JSTests/test262/test/staging/sm/eval/line-terminator-paragraph-terminator.js index 10c2c13302564..6254d3204ef36 100644 --- a/JSTests/test262/test/staging/sm/eval/line-terminator-paragraph-terminator.js +++ b/JSTests/test262/test/staging/sm/eval/line-terminator-paragraph-terminator.js @@ -4,28 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + eval via the JSON parser should parse strings containing U+2028/U+2029 (as of , that is) +info: bugzilla.mozilla.org/show_bug.cgi?id=657367 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 657367; -var summary = - "eval via the JSON parser should parse strings containing U+2028/U+2029 " + - "(as of , that is)"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ assert.sameValue(eval('("\u2028")'), "\u2028"); assert.sameValue(eval('("\u2029")'), "\u2029"); - -/******************************************************************************/ - -print("Tests complete!"); diff --git a/JSTests/test262/test/staging/sm/eval/redeclared-arguments-in-param-expression-eval.js b/JSTests/test262/test/staging/sm/eval/redeclared-arguments-in-param-expression-eval.js index c376c5b63c775..5ab6a7a8864e9 100644 --- a/JSTests/test262/test/staging/sm/eval/redeclared-arguments-in-param-expression-eval.js +++ b/JSTests/test262/test/staging/sm/eval/redeclared-arguments-in-param-expression-eval.js @@ -2,7 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | @@ -14,13 +13,13 @@ assert.sameValue("arguments" in this, false); // Declare |arguments| when no pre-existing (and explicit) |arguments| bindings are present. function f1(p = eval("var arguments")) {} -assertThrowsInstanceOf(f1, SyntaxError); +assert.throws(SyntaxError, f1); // Declare |arguments| when the function body contains an |arguments| var-binding. function f2(p = eval("var arguments")) { var arguments; } -assertThrowsInstanceOf(f2, SyntaxError); +assert.throws(SyntaxError, f2); // Declare |arguments| when the function body contains an |arguments| function declaration. // @@ -30,7 +29,7 @@ assertThrowsInstanceOf(f2, SyntaxError); function f3(p = eval("var arguments")) { function arguments() {} } -assertThrowsInstanceOf(f3, SyntaxError); +assert.throws(SyntaxError, f3); // Declare |arguments| when the function body contains an |arguments| lexical binding. // @@ -40,15 +39,15 @@ assertThrowsInstanceOf(f3, SyntaxError); function f4(p = eval("var arguments")) { let arguments; } -assertThrowsInstanceOf(f4, SyntaxError); +assert.throws(SyntaxError, f4); // Declare |arguments| when a following parameter is named |arguments|. function f5(p = eval("var arguments"), arguments) {} -assertThrowsInstanceOf(f5, SyntaxError); +assert.throws(SyntaxError, f5); // Declare |arguments| when a preceding parameter is named |arguments|. function f6(arguments, p = eval("var arguments")) {} -assertThrowsInstanceOf(f6, SyntaxError); +assert.throws(SyntaxError, f6); // Repeat the same kind of tests for arrow function. @@ -85,11 +84,11 @@ a4(); // Declare |arguments| when a following parameter is named |arguments|. var a5 = (p = eval("var arguments"), arguments) => {}; -assertThrowsInstanceOf(a5, SyntaxError); +assert.throws(SyntaxError, a5); // Declare |arguments| when a preceding parameter is named |arguments|. var a6 = (arguments, p = eval("var arguments")) => {}; -assertThrowsInstanceOf(a6, SyntaxError); +assert.throws(SyntaxError, a6); // None of the direct eval calls introduced a global |arguments| binding. assert.sameValue("arguments" in this, false); diff --git a/JSTests/test262/test/staging/sm/eval/regress-531682.js b/JSTests/test262/test/staging/sm/eval/regress-531682.js index 00d47798376de..e5464c911e1e8 100644 --- a/JSTests/test262/test/staging/sm/eval/regress-531682.js +++ b/JSTests/test262/test/staging/sm/eval/regress-531682.js @@ -4,7 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | diff --git a/JSTests/test262/test/staging/sm/eval/undeclared-name-in-nested-strict-eval.js b/JSTests/test262/test/staging/sm/eval/undeclared-name-in-nested-strict-eval.js index 679f0fdf25c7f..22268815979f5 100644 --- a/JSTests/test262/test/staging/sm/eval/undeclared-name-in-nested-strict-eval.js +++ b/JSTests/test262/test/staging/sm/eval/undeclared-name-in-nested-strict-eval.js @@ -6,29 +6,11 @@ /*--- flags: - onlyStrict -includes: [sm/non262.js, sm/non262-shell.js] description: | - pending + Verify that we don't optimize free names to gnames in eval code that's global, when the name refers to a binding introduced by a strict mode eval frame +info: bugzilla.mozilla.org/show_bug.cgi?id=514568 esid: pending ---*/ -"use strict"; - -//----------------------------------------------------------------------------- -var BUGNUMBER = 514568; -var summary = - "Verify that we don't optimize free names to gnames in eval code that's " + - "global, when the name refers to a binding introduced by a strict mode " + - "eval frame"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ var x = "global"; assert.sameValue(eval('var x = "eval"; eval("x")'), "eval"); - -/******************************************************************************/ - -print("Tests complete!"); diff --git a/JSTests/test262/test/staging/sm/expressions/11.1.5-01.js b/JSTests/test262/test/staging/sm/expressions/11.1.5-01.js index c2249fd962f7f..f31b7279e10d4 100644 --- a/JSTests/test262/test/staging/sm/expressions/11.1.5-01.js +++ b/JSTests/test262/test/staging/sm/expressions/11.1.5-01.js @@ -4,21 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Implement support for string literals as names for properties defined using ES5 get/set syntax +info: bugzilla.mozilla.org/show_bug.cgi?id=520696 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 520696; -var summary = - 'Implement support for string literals as names for properties defined ' + - 'using ES5 get/set syntax'; - -print(BUGNUMBER + ": " + summary); - var o; @@ -43,4 +33,3 @@ o = eval('({ 3.141592654: "pi", 1e4: 17, 0xdeadbeef: "hex", 1e3000: "Infinity" } checkO(); o = { 3.141592654: "pi", 1e4: 17, 0xdeadbeef: "hex", 1e3000: "Infinity" }; checkO(); - diff --git a/JSTests/test262/test/staging/sm/expressions/ToPropertyKey-symbols.js b/JSTests/test262/test/staging/sm/expressions/ToPropertyKey-symbols.js index 31ee3036cdce2..befaa5ad59da0 100644 --- a/JSTests/test262/test/staging/sm/expressions/ToPropertyKey-symbols.js +++ b/JSTests/test262/test/staging/sm/expressions/ToPropertyKey-symbols.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/expressions/binary-literals.js b/JSTests/test262/test/staging/sm/expressions/binary-literals.js index 3cfee207cad90..7883a6fe4866b 100644 --- a/JSTests/test262/test/staging/sm/expressions/binary-literals.js +++ b/JSTests/test262/test/staging/sm/expressions/binary-literals.js @@ -4,22 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Implement ES6 binary literals +info: bugzilla.mozilla.org/show_bug.cgi?id=894026 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 894026; -var summary = "Implement ES6 binary literals"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ var chars = ['b', 'B']; @@ -29,17 +18,9 @@ for (var i = 0; i < 2; i++) { chars.forEach(function(v) { - try - { + assert.throws(SyntaxError, function() { eval('0' + v + i); - throw "didn't throw"; - } - catch (e) - { - assert.sameValue(e instanceof SyntaxError, true, - "no syntax error evaluating 0" + v + i + ", " + - "got " + e); - } + }, "no syntax error evaluating 0" + v + i); }); continue; } @@ -50,17 +31,9 @@ for (var i = 0; i < 2; i++) { chars.forEach(function(v) { - try - { + assert.throws(SyntaxError, function() { eval('0' + v + i + j); - throw "didn't throw"; - } - catch (e) - { - assert.sameValue(e instanceof SyntaxError, true, - "no syntax error evaluating 0" + v + i + j + ", " + - "got " + e); - } + }, "no syntax error evaluating 0" + v + i + j); }); continue; } @@ -71,17 +44,9 @@ for (var i = 0; i < 2; i++) { chars.forEach(function(v) { - try - { + assert.throws(SyntaxError, function() { eval('0' + v + i + j + k); - throw "didn't throw"; - } - catch (e) - { - assert.sameValue(e instanceof SyntaxError, true, - "no syntax error evaluating 0" + v + i + j + k + ", " + - "got " + e); - } + }, "no syntax error evaluating 0" + v + i + j + k); }); continue; } @@ -96,14 +61,9 @@ for (var i = 0; i < 2; i++) chars.forEach(function(v) { - try - { - } - catch (e) - { - assert.sameValue(e instanceof SyntaxError, true, - "no syntax error evaluating 0" + v + ", got " + e); - } + assert.throws(SyntaxError, function() { + eval('0' + v); + }, "no syntax error evaluating 0" + v); }); // Off-by-one check: '/' immediately precedes '0'. @@ -116,7 +76,3 @@ function strict() return 0b11010101; } assert.sameValue(strict(), 128 + 64 + 16 + 4 + 1); - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/expressions/computed-property-side-effects.js b/JSTests/test262/test/staging/sm/expressions/computed-property-side-effects.js index 421e0ff4d9013..864bc13628d90 100644 --- a/JSTests/test262/test/staging/sm/expressions/computed-property-side-effects.js +++ b/JSTests/test262/test/staging/sm/expressions/computed-property-side-effects.js @@ -4,25 +4,12 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict +includes: [sm/assertThrowsValue.js] description: | - pending + Computed property names must be considered as always effectful even when the name expression isn't effectful, because calling ToPropertyKey on some non-effectful expressions has user-modifiable behavior +info: bugzilla.mozilla.org/show_bug.cgi?id=1199695 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 1199695; -var summary = - "Computed property names must be considered as always effectful even when " + - "the name expression isn't effectful, because calling ToPropertyKey on " + - "some non-effectful expressions has user-modifiable behavior"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ RegExp.prototype.toString = () => { throw 42; }; assertThrowsValue(function() { @@ -36,7 +23,3 @@ Q.toString = () => { throw 17; }; assertThrowsValue(function() { new Q; }, 17); - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/expressions/constant-folded-labeled-statement.js b/JSTests/test262/test/staging/sm/expressions/constant-folded-labeled-statement.js index c4fd1c06e15ad..cae32600b08fb 100644 --- a/JSTests/test262/test/staging/sm/expressions/constant-folded-labeled-statement.js +++ b/JSTests/test262/test/staging/sm/expressions/constant-folded-labeled-statement.js @@ -2,22 +2,15 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Constant folder should fold labeled statements +info: bugzilla.mozilla.org/show_bug.cgi?id=1499448 esid: pending ---*/ -var BUGNUMBER = 1499448; -var summary = "Constant folder should fold labeled statements"; - -print(BUGNUMBER + ": " + summary); if (typeof disassemble === "function") { var code = disassemble(() => { x: 2+2; }); - if (typeof assert.sameValue === "function") - assert.sameValue(true, /Int8 4/.test(code)); + assert.sameValue(true, /Int8 4/.test(code)); } diff --git a/JSTests/test262/test/staging/sm/expressions/delete-constant-folded-and-or.js b/JSTests/test262/test/staging/sm/expressions/delete-constant-folded-and-or.js index a79c30724c160..e0d009a1579ff 100644 --- a/JSTests/test262/test/staging/sm/expressions/delete-constant-folded-and-or.js +++ b/JSTests/test262/test/staging/sm/expressions/delete-constant-folded-and-or.js @@ -4,24 +4,13 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | - pending + Deletion of a && or || expression that constant-folds to a name must not attempt to delete the name +info: bugzilla.mozilla.org/show_bug.cgi?id=1183400 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 1183400; -var summary = - "Deletion of a && or || expression that constant-folds to a name must not " + - "attempt to delete the name"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ Object.defineProperty(this, "nonconfigurable", { value: 42 }); assert.sameValue(nonconfigurable, 42); @@ -42,7 +31,3 @@ function nestedStrict() assert.sameValue(delete (true && nonconfigurable), true); } nestedStrict(); - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/expressions/delete-name-parenthesized-early-error-strict-mode.js b/JSTests/test262/test/staging/sm/expressions/delete-name-parenthesized-early-error-strict-mode.js index f2e0fb58ed956..57c17faa8e30e 100644 --- a/JSTests/test262/test/staging/sm/expressions/delete-name-parenthesized-early-error-strict-mode.js +++ b/JSTests/test262/test/staging/sm/expressions/delete-name-parenthesized-early-error-strict-mode.js @@ -4,55 +4,20 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + delete (foo), delete ((foo)), and so on are strict mode early errors +info: bugzilla.mozilla.org/show_bug.cgi?id=1111101 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 1111101; -var summary = - "delete (foo), delete ((foo)), and so on are strict mode early errors"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ function checkSyntaxError(code) { - function helper(maker) - { - var earlyError = false; - try - { - var f = maker(code); - - var error = "no early error, created a function with code <" + code + ">"; - try - { - f(); - error += ", and the function can be called without error"; - } - catch (e) - { - error +=", and calling the function throws " + e; - } - - throw new Error(error); - } - catch (e) - { - assert.sameValue(e instanceof SyntaxError, true, - "expected syntax error, got " + e); - } - } - - helper(Function); - helper(eval); + assert.throws(SyntaxError, function() { + Function(code); + }); + assert.throws(SyntaxError, function() { + (1, eval)(code); // indirect eval + }); } checkSyntaxError("function f() { 'use strict'; delete escape; } f();"); @@ -76,8 +41,3 @@ checkFine("function f() { delete (escape); } f();"); checkFine("function f() { delete (escape); }"); checkFine("function f() { delete ((escape)); } f();"); checkFine("function f() { delete ((escape)); }"); - - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/expressions/destructuring-array-default-call.js b/JSTests/test262/test/staging/sm/expressions/destructuring-array-default-call.js index 2c4207d8863e6..43da97ab1c9e4 100644 --- a/JSTests/test262/test/staging/sm/expressions/destructuring-array-default-call.js +++ b/JSTests/test262/test/staging/sm/expressions/destructuring-array-default-call.js @@ -2,18 +2,12 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-expressions-shell.js] -flags: - - noStrict +includes: [sm/non262-expressions-shell.js] description: | - pending + Array destructuring with various default values in various context - call/new expression +info: bugzilla.mozilla.org/show_bug.cgi?id=1184922 esid: pending ---*/ -var BUGNUMBER = 1184922; -var summary = "Array destructuring with various default values in various context - call/new expression"; - -print(BUGNUMBER + ": " + summary); testDestructuringArrayDefault("func()"); testDestructuringArrayDefault("new func()"); - diff --git a/JSTests/test262/test/staging/sm/expressions/destructuring-array-default-class.js b/JSTests/test262/test/staging/sm/expressions/destructuring-array-default-class.js index dfe145dbb94bb..7afcadabd2473 100644 --- a/JSTests/test262/test/staging/sm/expressions/destructuring-array-default-class.js +++ b/JSTests/test262/test/staging/sm/expressions/destructuring-array-default-class.js @@ -2,17 +2,12 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-expressions-shell.js] -flags: - - noStrict +includes: [sm/non262-expressions-shell.js] description: | - pending + Array destructuring with various default values in various context - class expression and super/new.target +info: bugzilla.mozilla.org/show_bug.cgi?id=1184922 esid: pending ---*/ -var BUGNUMBER = 1184922; -var summary = "Array destructuring with various default values in various context - class expression and super/new.target"; - -print(BUGNUMBER + ": " + summary); testDestructuringArrayDefault(`class E { constructor() {} @@ -78,4 +73,3 @@ opt = { no_comp: false, }; testDestructuringArrayDefault("new.target", opt); - diff --git a/JSTests/test262/test/staging/sm/expressions/destructuring-array-default-function-nested.js b/JSTests/test262/test/staging/sm/expressions/destructuring-array-default-function-nested.js index 93b2f0c7200b6..43b18662041a1 100644 --- a/JSTests/test262/test/staging/sm/expressions/destructuring-array-default-function-nested.js +++ b/JSTests/test262/test/staging/sm/expressions/destructuring-array-default-function-nested.js @@ -2,19 +2,13 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-expressions-shell.js] -flags: - - noStrict +includes: [sm/non262-expressions-shell.js] description: | - pending + Array destructuring with various default values in various context - function expression with nested objects +info: bugzilla.mozilla.org/show_bug.cgi?id=1184922 esid: pending ---*/ -var BUGNUMBER = 1184922; -var summary = "Array destructuring with various default values in various context - function expression with nested objects"; - -print(BUGNUMBER + ": " + summary); testDestructuringArrayDefault("function f() { return { f() {}, *g() {}, r: /a/ }; }"); testDestructuringArrayDefault("function* g() { return { f() {}, *g() {}, r: /b/ }; }"); testDestructuringArrayDefault("() => { return { f() {}, *g() {}, r: /c/ }; }"); - diff --git a/JSTests/test262/test/staging/sm/expressions/destructuring-array-default-function.js b/JSTests/test262/test/staging/sm/expressions/destructuring-array-default-function.js index 3954c63e7b321..6a9b9343194cd 100644 --- a/JSTests/test262/test/staging/sm/expressions/destructuring-array-default-function.js +++ b/JSTests/test262/test/staging/sm/expressions/destructuring-array-default-function.js @@ -2,19 +2,13 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-expressions-shell.js] -flags: - - noStrict +includes: [sm/non262-expressions-shell.js] description: | - pending + Array destructuring with various default values in various context - function expression +info: bugzilla.mozilla.org/show_bug.cgi?id=1184922 esid: pending ---*/ -var BUGNUMBER = 1184922; -var summary = "Array destructuring with various default values in various context - function expression"; - -print(BUGNUMBER + ": " + summary); testDestructuringArrayDefault("function f() {}"); testDestructuringArrayDefault("function* g() {}"); testDestructuringArrayDefault("() => {}"); - diff --git a/JSTests/test262/test/staging/sm/expressions/destructuring-array-default-simple.js b/JSTests/test262/test/staging/sm/expressions/destructuring-array-default-simple.js index 99e9dd8997b5b..d2c9007673217 100644 --- a/JSTests/test262/test/staging/sm/expressions/destructuring-array-default-simple.js +++ b/JSTests/test262/test/staging/sm/expressions/destructuring-array-default-simple.js @@ -2,17 +2,12 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-expressions-shell.js] -flags: - - noStrict +includes: [sm/non262-expressions-shell.js] description: | - pending + Array destructuring with various default values in various context - simple literal +info: bugzilla.mozilla.org/show_bug.cgi?id=1184922 esid: pending ---*/ -var BUGNUMBER = 1184922; -var summary = "Array destructuring with various default values in various context - simple literal"; - -print(BUGNUMBER + ": " + summary); testDestructuringArrayDefault("'foo'"); testDestructuringArrayDefault("`foo`"); @@ -22,4 +17,3 @@ testDestructuringArrayDefault("/foo/"); testDestructuringArrayDefault("{}"); testDestructuringArrayDefault("[]"); - diff --git a/JSTests/test262/test/staging/sm/expressions/destructuring-array-default-yield.js b/JSTests/test262/test/staging/sm/expressions/destructuring-array-default-yield.js index 5f7e11c17900b..3c6932118c62a 100644 --- a/JSTests/test262/test/staging/sm/expressions/destructuring-array-default-yield.js +++ b/JSTests/test262/test/staging/sm/expressions/destructuring-array-default-yield.js @@ -2,17 +2,12 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-expressions-shell.js] -flags: - - noStrict +includes: [sm/non262-expressions-shell.js] description: | - pending + Array destructuring with various default values in various context - yield expression +info: bugzilla.mozilla.org/show_bug.cgi?id=1184922 esid: pending ---*/ -var BUGNUMBER = 1184922; -var summary = "Array destructuring with various default values in various context - yield expression"; - -print(BUGNUMBER + ": " + summary); var opt = { no_plain: true, @@ -28,4 +23,3 @@ var opt = { no_gen: false, }; testDestructuringArrayDefault("yield 1", opt); - diff --git a/JSTests/test262/test/staging/sm/expressions/destructuring-array-done.js b/JSTests/test262/test/staging/sm/expressions/destructuring-array-done.js index 0f31f76ce6f0f..2de6ea74e90c2 100644 --- a/JSTests/test262/test/staging/sm/expressions/destructuring-array-done.js +++ b/JSTests/test262/test/staging/sm/expressions/destructuring-array-done.js @@ -2,17 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + iterator.next() should not be called when after iterator completes +info: bugzilla.mozilla.org/show_bug.cgi?id=1184922 esid: pending ---*/ -var BUGNUMBER = 1184922; -var summary = "iterator.next() should not be called when after iterator completes"; - -print(BUGNUMBER + ": " + summary); var log; function reset() { @@ -26,6 +20,7 @@ var obj = new Proxy({}, { else v = JSON.stringify(value); log += "set:" + name + "=" + v + ","; + return true; } }); function createIterable(n) { @@ -325,4 +320,3 @@ assert.sameValue(log, "next," + "next," + "set:r=[4],"); - diff --git a/JSTests/test262/test/staging/sm/expressions/destructuring-array-lexical.js b/JSTests/test262/test/staging/sm/expressions/destructuring-array-lexical.js index 710ec6d252c53..468b80d1270db 100644 --- a/JSTests/test262/test/staging/sm/expressions/destructuring-array-lexical.js +++ b/JSTests/test262/test/staging/sm/expressions/destructuring-array-lexical.js @@ -2,20 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Array destructuring with accessing uninitialized lexical binding. +info: bugzilla.mozilla.org/show_bug.cgi?id=1184922 esid: pending ---*/ -var BUGNUMBER = 1184922; -var summary = "Array destructuring with accessing uninitialized lexical binding."; - -print(BUGNUMBER + ": " + summary); - -assertThrowsInstanceOf(() => { let y = [y] = []; }, - ReferenceError); -assertThrowsInstanceOf(() => { let y = [y] = [,]; }, - ReferenceError); +assert.throws(ReferenceError, () => { let y = [y] = []; }); +assert.throws(ReferenceError, () => { let y = [y] = [,]; }); diff --git a/JSTests/test262/test/staging/sm/expressions/destructuring-object-__proto__-1.js b/JSTests/test262/test/staging/sm/expressions/destructuring-object-__proto__-1.js index 49cf0c017738f..6a735fab670fe 100644 --- a/JSTests/test262/test/staging/sm/expressions/destructuring-object-__proto__-1.js +++ b/JSTests/test262/test/staging/sm/expressions/destructuring-object-__proto__-1.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/expressions/destructuring-object-__proto__-2.js b/JSTests/test262/test/staging/sm/expressions/destructuring-object-__proto__-2.js index d638c84446a81..f12b886ed4558 100644 --- a/JSTests/test262/test/staging/sm/expressions/destructuring-object-__proto__-2.js +++ b/JSTests/test262/test/staging/sm/expressions/destructuring-object-__proto__-2.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/expressions/destructuring-pattern-parenthesized.js b/JSTests/test262/test/staging/sm/expressions/destructuring-pattern-parenthesized.js index 1c1bfc469669e..f461e835bbed9 100644 --- a/JSTests/test262/test/staging/sm/expressions/destructuring-pattern-parenthesized.js +++ b/JSTests/test262/test/staging/sm/expressions/destructuring-pattern-parenthesized.js @@ -4,73 +4,37 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Parenthesized "destructuring patterns" are not usable as destructuring patterns +info: bugzilla.mozilla.org/show_bug.cgi?id=1146136 esid: pending +features: [class] ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 1146136; -var summary = - 'Parenthesized "destructuring patterns" are not usable as destructuring ' + - 'patterns'; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ // Don't pollute the top-level script with eval references. var savedEval = this[String.fromCharCode(101, 118, 97, 108)]; -function checkError(code, nonstrictErr, strictErr) +function checkError(code) { - function helper(exec, prefix, err) + function helper(exec, prefix) { var fullCode = prefix + code; - try - { - var f = exec(fullCode); - - var error = - "no early error, parsed code <" + fullCode + "> using " + exec.name; - if (typeof f === "function") - { - try - { - f(); - error += ", and the function can be called without error"; - } - catch (e) - { - error +=", and calling the function throws " + e; - } - } - - throw new Error(error); - } - catch (e) - { - assert.sameValue(e instanceof err, true, - "expected " + err.name + ", got " + e + " " + - "for code <" + fullCode + "> when parsed using " + exec.name); - } + assert.throws(SyntaxError, function() { + exec(fullCode); + }); } - helper(Function, "", nonstrictErr); - helper(Function, "'use strict'; ", strictErr); - helper(savedEval, "", nonstrictErr); - helper(savedEval, "'use strict'; ", strictErr); + helper(Function, ""); + helper(Function, "'use strict'; "); + helper(savedEval, ""); + helper(savedEval, "'use strict'; "); } // Parenthesized destructuring patterns don't trigger grammar refinement, so we // get the usual SyntaxError for an invalid assignment target, per // 12.14.1 second bullet. -checkError("var a, b; ([a, b]) = [1, 2];", SyntaxError, SyntaxError); -checkError("var a, b; ({a, b}) = { a: 1, b: 2 };", SyntaxError, SyntaxError); +checkError("var a, b; ([a, b]) = [1, 2];"); +checkError("var a, b; ({a, b}) = { a: 1, b: 2 };"); // *Nested* parenthesized destructuring patterns, on the other hand, do trigger // grammar refinement. But subtargets in a destructuring pattern must be @@ -80,11 +44,11 @@ checkError("var a, b; ({a, b}) = { a: 1, b: 2 };", SyntaxError, SyntaxError); // destructuring in an expression, |(a = 3)| is forbidden). Parenthesized // object/array patterns are neither. And so 12.14.5.1 third bullet requires an // early SyntaxError. -checkError("var a, b; ({ a: ({ b: b }) } = { a: { b: 42 } });", SyntaxError, SyntaxError); -checkError("var a, b; ({ a: { b: (b = 7) } } = { a: {} });", SyntaxError, SyntaxError); -checkError("var a, b; ({ a: ([b]) } = { a: [42] });", SyntaxError, SyntaxError); -checkError("var a, b; [(a = 5)] = [1];", SyntaxError, SyntaxError); -checkError("var a, b; ({ a: (b = 7)} = { b: 1 });", SyntaxError, SyntaxError); +checkError("var a, b; ({ a: ({ b: b }) } = { a: { b: 42 } });"); +checkError("var a, b; ({ a: { b: (b = 7) } } = { a: {} });"); +checkError("var a, b; ({ a: ([b]) } = { a: [42] });"); +checkError("var a, b; [(a = 5)] = [1];"); +checkError("var a, b; ({ a: (b = 7)} = { b: 1 });"); Function("var a, b; [(a), b] = [1, 2];")(); Function("var a, b; [(a) = 5, b] = [1, 2];")(); @@ -99,46 +63,21 @@ Function("var a, b; [(repair.man), b] = [1, 2];")(); Function("var a, b; [(demolition['man']) = 'motel', b] = [1, 2];")(); Function("var a, b; [(demolition['man' + {}]) = 'motel', b] = [1, 2];")(); // evade constant-folding -function classesEnabled() -{ - try - { - new Function("class B { constructor() { } }; class D extends B { constructor() { super(); } }"); - return true; - } - catch (e) { - if (!(e instanceof SyntaxError)) - throw e; - return false; - } -} - -if (classesEnabled()) -{ - Function("var a, b; var obj = { x() { [(super.man), b] = [1, 2]; } };")(); - Function("var a, b; var obj = { x() { [(super[8]) = 'motel', b] = [1, 2]; } };")(); - Function("var a, b; var obj = { x() { [(super[8 + {}]) = 'motel', b] = [1, 2]; } };")(); // evade constant-folding -} +Function("var a, b; var obj = { x() { [(super.man), b] = [1, 2]; } };")(); +Function("var a, b; var obj = { x() { [(super[8]) = 'motel', b] = [1, 2]; } };")(); +Function("var a, b; var obj = { x() { [(super[8 + {}]) = 'motel', b] = [1, 2]; } };")(); // evade constant-folding // As noted above, when the assignment element has an initializer, the // assignment element must not be parenthesized. -checkError("var a, b; [(repair.man = 17)] = [1];", SyntaxError, SyntaxError); -checkError("var a, b; [(demolition['man'] = 'motel')] = [1, 2];", SyntaxError, SyntaxError); -checkError("var a, b; [(demolition['man' + {}] = 'motel')] = [1];", SyntaxError, SyntaxError); // evade constant-folding -if (classesEnabled()) -{ - checkError("var a, b; var obj = { x() { [(super.man = 5)] = [1]; } };", SyntaxError, SyntaxError); - checkError("var a, b; var obj = { x() { [(super[8] = 'motel')] = [1]; } };", SyntaxError, SyntaxError); - checkError("var a, b; var obj = { x() { [(super[8 + {}] = 'motel')] = [1]; } };", SyntaxError, SyntaxError); // evade constant-folding -} +checkError("var a, b; [(repair.man = 17)] = [1];"); +checkError("var a, b; [(demolition['man'] = 'motel')] = [1, 2];"); +checkError("var a, b; [(demolition['man' + {}] = 'motel')] = [1];"); // evade constant-folding +checkError("var a, b; var obj = { x() { [(super.man = 5)] = [1]; } };"); +checkError("var a, b; var obj = { x() { [(super[8] = 'motel')] = [1]; } };"); +checkError("var a, b; var obj = { x() { [(super[8 + {}] = 'motel')] = [1]; } };"); // evade constant-folding -checkError("var a, b; [f() = 'ohai', b] = [1, 2];", SyntaxError, SyntaxError); -checkError("var a, b; [(f()) = 'kthxbai', b] = [1, 2];", SyntaxError, SyntaxError); +checkError("var a, b; [f() = 'ohai', b] = [1, 2];"); +checkError("var a, b; [(f()) = 'kthxbai', b] = [1, 2];"); Function("var a, b; ({ a: (a), b} = { a: 1, b: 2 });")(); Function("var a, b; ({ a: (a) = 5, b} = { a: 1, b: 2 });")(); - - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/expressions/exponentiation-unparenthesised-unary.js b/JSTests/test262/test/staging/sm/expressions/exponentiation-unparenthesised-unary.js index 666772c0963e0..f17275e33b618 100644 --- a/JSTests/test262/test/staging/sm/expressions/exponentiation-unparenthesised-unary.js +++ b/JSTests/test262/test/staging/sm/expressions/exponentiation-unparenthesised-unary.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending @@ -20,8 +17,8 @@ function assertNoError(f, msg) { } function assertSyntaxError(code) { - assertThrowsInstanceOf(function () { Function(code); }, SyntaxError, "Function:" + code); - assertThrowsInstanceOf(function () { AsyncFunction(code); }, SyntaxError, "AsyncFunction:" + code); + assert.throws(SyntaxError, function () { Function(code); }, "Function:" + code); + assert.throws(SyntaxError, function () { AsyncFunction(code); }, "AsyncFunction:" + code); } function assertNoSyntaxError(code) { diff --git a/JSTests/test262/test/staging/sm/expressions/inNotObjectError.js b/JSTests/test262/test/staging/sm/expressions/inNotObjectError.js index 6f3eb2bb19ebb..549a93c7b825a 100644 --- a/JSTests/test262/test/staging/sm/expressions/inNotObjectError.js +++ b/JSTests/test262/test/staging/sm/expressions/inNotObjectError.js @@ -2,53 +2,37 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending ---*/ + var BUGNUMBER = 1352429; var summary = 'Error message should provide enough infomation for use of in operator'; -print(BUGNUMBER + ": " + summary); - -function checkErr(substr, str, messageSubstr, messageStr) { - assertThrowsInstanceOfWithMessageCheck( - () => substr in str, - TypeError, - message => - message.includes(messageSubstr) && - message.includes(messageStr) && - message.length < 100, - `"${substr}" in "${str}"` - ); -} - // These test cases check if long string is omitted properly. -checkErr('subString', 'base', 'subString', 'base'); -checkErr('this is subString', 'base', 'this is subStrin...', 'base'); -checkErr('subString', 'this is baseString', 'subString', 'this is baseStri...'); -checkErr('this is subString', 'this is base', 'this is subStrin...', 'this is base'); -checkErr('HEAD' + 'subString'.repeat(30000), 'HEAD' + 'base'.repeat(30000), 'HEADsubStringsub...', 'HEADbasebasebase...'); +assert.throws(TypeError, () => 'subString' in 'base'); +assert.throws(TypeError, () => 'this is subString' in 'base'); +assert.throws(TypeError, () => 'subString' in 'this is baseString'); +assert.throws(TypeError, () => 'this is subString' in 'this is base'); +assert.throws(TypeError, () => 'HEAD' + 'subString'.repeat(30000) in 'HEAD' + 'base'.repeat(30000)); // These test cases check if it does not crash and throws appropriate error. -assertThrowsInstanceOf(() => { 1 in 'hello' }, TypeError); -assertThrowsInstanceOf(() => { 'hello' in 1 }, TypeError); -assertThrowsInstanceOf(() => { 'hello' in null }, TypeError); -assertThrowsInstanceOf(() => { null in 'hello' }, TypeError); -assertThrowsInstanceOf(() => { null in null }, TypeError); -assertThrowsInstanceOf(() => { 'hello' in true }, TypeError); -assertThrowsInstanceOf(() => { false in 1.1 }, TypeError); -assertThrowsInstanceOf(() => { Symbol.iterator in undefined }, TypeError); -assertThrowsInstanceOf(() => { [] in undefined }, TypeError); -assertThrowsInstanceOf(() => { /a/ in 'hello' }, TypeError); +assert.throws(TypeError, () => { 1 in 'hello' }); +assert.throws(TypeError, () => { 'hello' in 1 }); +assert.throws(TypeError, () => { 'hello' in null }); +assert.throws(TypeError, () => { null in 'hello' }); +assert.throws(TypeError, () => { null in null }); +assert.throws(TypeError, () => { 'hello' in true }); +assert.throws(TypeError, () => { false in 1.1 }); +assert.throws(TypeError, () => { Symbol.iterator in undefined }); +assert.throws(TypeError, () => { [] in undefined }); +assert.throws(TypeError, () => { /a/ in 'hello' }); var str = 'hello'; -assertThrowsInstanceOf(() => { str in 'hello' }, TypeError); +assert.throws(TypeError, () => { str in 'hello' }); class A {}; -assertThrowsInstanceOf(() => { new A() in undefined }, TypeError); +assert.throws(TypeError, () => { new A() in undefined }); var a = new A(); a.b = 1.1; -assertThrowsInstanceOf(() => { a.b in 1.1 }, TypeError); +assert.throws(TypeError, () => { a.b in 1.1 }); diff --git a/JSTests/test262/test/staging/sm/expressions/named-accessor-function.js b/JSTests/test262/test/staging/sm/expressions/named-accessor-function.js index 24057cab4e50e..1c68c5379b273 100644 --- a/JSTests/test262/test/staging/sm/expressions/named-accessor-function.js +++ b/JSTests/test262/test/staging/sm/expressions/named-accessor-function.js @@ -4,56 +4,25 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + { get x y() { } } is not valid getter syntax +info: bugzilla.mozilla.org/show_bug.cgi?id=999999 esid: pending ---*/ // Contributor: // Jeff Walden -//----------------------------------------------------------------------------- -var BUGNUMBER = 999999; -var summary = '{ get x y() { } } is not valid getter syntax'; - -print(BUGNUMBER + ": " + summary); - var BAD_CODE = ["({ get x y() { } })", "({ set x y(v) { } })"]; for (var i = 0, sz = BAD_CODE.length; i < sz; i++) { var code = BAD_CODE[i]; - var err = "no exception"; - try - { + assert.throws(SyntaxError, function() { eval(code); - } - catch (e) - { - err = e; - } - if (!(err instanceof SyntaxError)) - { - assert.sameValue(true, false, - "bad or no exception thrown for eval(" + code + "): " + err); - } + }, "bad or no exception thrown for eval(" + code + ")"); - err = "no exception"; - try - { - new Function(code); - } - catch (e) - { - err = e; - } - if (!(err instanceof SyntaxError)) - { - assert.sameValue(true, false, - "bad or no exception thrown for Function(" + code + "): " + err); - } + assert.throws(SyntaxError, function() { + Function(code); + }, "bad or no exception thrown for Function(" + code + ")"); } - diff --git a/JSTests/test262/test/staging/sm/expressions/nested-delete-name-in-evalcode.js b/JSTests/test262/test/staging/sm/expressions/nested-delete-name-in-evalcode.js index 2c4baa7cda5de..ff86b58e62e5d 100644 --- a/JSTests/test262/test/staging/sm/expressions/nested-delete-name-in-evalcode.js +++ b/JSTests/test262/test/staging/sm/expressions/nested-delete-name-in-evalcode.js @@ -4,24 +4,13 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | - pending + |delete x| inside a function in eval code, where that eval code includes |var x| at top level, actually does delete the binding for x +info: bugzilla.mozilla.org/show_bug.cgi?id=616294 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 616294; -var summary = - "|delete x| inside a function in eval code, where that eval code includes " + - "|var x| at top level, actually does delete the binding for x"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ var f; @@ -163,8 +152,3 @@ function testFunctionLocal() f = testFunctionLocal(); assert.sameValue(f(), false); // defined by function code => not configurable => false - - -/******************************************************************************/ - -print("All tests passed!"); diff --git a/JSTests/test262/test/staging/sm/expressions/nullish-coalescing.js b/JSTests/test262/test/staging/sm/expressions/nullish-coalescing.js index a068ac1bfb67e..2245aae4562d7 100644 --- a/JSTests/test262/test/staging/sm/expressions/nullish-coalescing.js +++ b/JSTests/test262/test/staging/sm/expressions/nullish-coalescing.js @@ -4,17 +4,11 @@ /*--- features: - IsHTMLDDA -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Implement the Nullish Coalescing operator (??) proposal +info: bugzilla.mozilla.org/show_bug.cgi?id=1566141 esid: pending ---*/ -var BUGNUMBER = 1566141; -var summary = "Implement the Nullish Coalescing operator (??) proposal"; - -print(BUGNUMBER + ": " + summary); // These tests are originally from webkit. // webkit specifics have been removed and a test for `document.all` has @@ -29,15 +23,9 @@ function shouldNotThrow(script) { } function shouldThrowSyntaxError(script) { - let error; - try { + assert.throws(SyntaxError, function() { eval(script); - } catch (e) { - error = e; - } - - if (!(error instanceof SyntaxError)) - throw new Error('Expected SyntaxError!'); + }); } function testBasicCases() { @@ -54,7 +42,7 @@ function testBasicCases() { shouldBe(([] ?? 3) instanceof Array, true); shouldBe((['hi'] ?? 3)[0], 'hi'); // test document.all, which has odd behavior - shouldBe(typeof(createIsHTMLDDA() ?? 3), "undefined"); + shouldBe(typeof($262.IsHTMLDDA ?? 3), "undefined"); } for (let i = 0; i < 1e5; i++) @@ -117,6 +105,3 @@ shouldBe(null?.() ?? 3, 3); shouldBe((() => 0)?.() ?? 3, 0); shouldBe(({ x: 0 })?.[null?.a ?? 'x'] ?? 3, 0); shouldBe((() => 0)?.(null?.a ?? 'x') ?? 3, 0); - -print("Tests complete"); - diff --git a/JSTests/test262/test/staging/sm/expressions/object-literal-__proto__.js b/JSTests/test262/test/staging/sm/expressions/object-literal-__proto__.js index ea8c69dd247b0..28f919f055025 100644 --- a/JSTests/test262/test/staging/sm/expressions/object-literal-__proto__.js +++ b/JSTests/test262/test/staging/sm/expressions/object-literal-__proto__.js @@ -4,24 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + __proto__ in object literals in non-__proto__:v contexts doesn't modify [[Prototype]] +info: bugzilla.mozilla.org/show_bug.cgi?id=1061853 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 1061853; -var summary = - "__proto__ in object literals in non-__proto__:v contexts doesn't modify " + - "[[Prototype]]"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ function hasOwn(obj, prop) { @@ -268,7 +255,3 @@ for (var first in members) } } } - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/expressions/object-literal-accessor-arguments.js b/JSTests/test262/test/staging/sm/expressions/object-literal-accessor-arguments.js index f22f30bc1900b..d4a96ffeb5b25 100644 --- a/JSTests/test262/test/staging/sm/expressions/object-literal-accessor-arguments.js +++ b/JSTests/test262/test/staging/sm/expressions/object-literal-accessor-arguments.js @@ -4,35 +4,17 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + { get x(v) { } } and { set x(v, v2) { } } should be syntax errors +info: bugzilla.mozilla.org/show_bug.cgi?id=536472 esid: pending ---*/ -var gTestfile = 'object-literal-accessor-arguments.js'; -//----------------------------------------------------------------------------- -var BUGNUMBER = 536472; -var summary = - 'ES5: { get x(v) { } } and { set x(v, v2) { } } should be syntax errors'; - -print(BUGNUMBER + ": " + summary); - -//----------------------------------------------------------------------------- function expectSyntaxError(s) { - try - { + assert.throws(SyntaxError, function() { eval(s); - throw new Error("no error thrown"); - } - catch (e) - { - assert.sameValue(e instanceof SyntaxError, true, - "expected syntax error parsing '" + s + "', got: " + e); - } + }, "expected syntax error parsing '" + s + "'"); } expectSyntaxError("({ get x(a) { } })"); @@ -46,6 +28,3 @@ expectSyntaxError("({ set x(a, a) { } })"); expectSyntaxError("({ set x(a, b) { } })"); expectSyntaxError("({ set x(a, a, b) { } })"); expectSyntaxError("({ set x(a, b, c) { } })"); - -//----------------------------------------------------------------------------- - diff --git a/JSTests/test262/test/staging/sm/expressions/object-literal-accessor-property-name.js b/JSTests/test262/test/staging/sm/expressions/object-literal-accessor-property-name.js index 653eaca5ae318..31b4a3268b04a 100644 --- a/JSTests/test262/test/staging/sm/expressions/object-literal-accessor-property-name.js +++ b/JSTests/test262/test/staging/sm/expressions/object-literal-accessor-property-name.js @@ -4,21 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Permit numbers and strings containing numbers as accessor property names +info: bugzilla.mozilla.org/show_bug.cgi?id=715682 esid: pending ---*/ -var gTestfile = 'object-literal-accessor-property-name.js'; -//----------------------------------------------------------------------------- -var BUGNUMBER = 715682; -var summary = - "Permit numbers and strings containing numbers as accessor property names"; -print(BUGNUMBER + ": " + summary); - -//----------------------------------------------------------------------------- ({ get "0"() { } }); ({ get 0() { } }); @@ -33,6 +23,3 @@ print(BUGNUMBER + ": " + summary); ({ set 0.(q) { } }); ({ set 1.(q) { } }); ({ set 5.2322341234123(q) { } }); - -//----------------------------------------------------------------------------- - diff --git a/JSTests/test262/test/staging/sm/expressions/object-literal-computed-property-evaluation.js b/JSTests/test262/test/staging/sm/expressions/object-literal-computed-property-evaluation.js index 8447bc7289701..2b037c38669fb 100644 --- a/JSTests/test262/test/staging/sm/expressions/object-literal-computed-property-evaluation.js +++ b/JSTests/test262/test/staging/sm/expressions/object-literal-computed-property-evaluation.js @@ -4,24 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Convert computed property name expressions to property key before evaluating the property's value +info: bugzilla.mozilla.org/show_bug.cgi?id=1199546 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 1199546; -var summary = - "Convert computed property name expressions to property key before " + - "evaluating the property's value"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ var s = "foo"; var convertsToS = { toString() { return s; } }; @@ -39,7 +26,3 @@ var o = { assert.sameValue(o.foo, "abc"); assert.sameValue(o.bar, "efg"); - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/expressions/octal-literals.js b/JSTests/test262/test/staging/sm/expressions/octal-literals.js index d6d2b2ad05605..8bb4265781344 100644 --- a/JSTests/test262/test/staging/sm/expressions/octal-literals.js +++ b/JSTests/test262/test/staging/sm/expressions/octal-literals.js @@ -4,22 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Implement ES6 octal literals +info: bugzilla.mozilla.org/show_bug.cgi?id=894026 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 894026; -var summary = "Implement ES6 octal literals"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ var chars = ['o', 'O']; @@ -29,17 +18,9 @@ for (var i = 0; i < 8; i++) { chars.forEach(function(v) { - try - { + assert.throws(SyntaxError, function() { eval('0' + v + i); - throw "didn't throw"; - } - catch (e) - { - assert.sameValue(e instanceof SyntaxError, true, - "no syntax error evaluating 0" + v + i + ", " + - "got " + e); - } + }, "syntax error evaluating 0" + v + i); }); continue; } @@ -50,17 +31,9 @@ for (var i = 0; i < 8; i++) { chars.forEach(function(v) { - try - { + assert.throws(SyntaxError, function() { eval('0' + v + i + j); - throw "didn't throw"; - } - catch (e) - { - assert.sameValue(e instanceof SyntaxError, true, - "no syntax error evaluating 0" + v + i + j + ", " + - "got " + e); - } + }, "syntax error evaluating 0" + v + i + j); }); continue; } @@ -71,17 +44,9 @@ for (var i = 0; i < 8; i++) { chars.forEach(function(v) { - try - { + assert.throws(SyntaxError, function() { eval('0' + v + i + j + k); - throw "didn't throw"; - } - catch (e) - { - assert.sameValue(e instanceof SyntaxError, true, - "no syntax error evaluating 0" + v + i + j + k + ", " + - "got " + e); - } + }, "no syntax error evaluating 0" + v + i + j + k); }); continue; } @@ -104,7 +69,3 @@ function strict() return 0o755; } assert.sameValue(strict(), 7 * 64 + 5 * 8 + 5); - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/expressions/optional-chain-class-heritage.js b/JSTests/test262/test/staging/sm/expressions/optional-chain-class-heritage.js index 94f04403076fb..3b5dceabfd125 100644 --- a/JSTests/test262/test/staging/sm/expressions/optional-chain-class-heritage.js +++ b/JSTests/test262/test/staging/sm/expressions/optional-chain-class-heritage.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/expressions/optional-chain-first-expression-module.js b/JSTests/test262/test/staging/sm/expressions/optional-chain-first-expression-module.js new file mode 100644 index 0000000000000..fb2183476d4db --- /dev/null +++ b/JSTests/test262/test/staging/sm/expressions/optional-chain-first-expression-module.js @@ -0,0 +1,43 @@ +// Copyright (C) 2024 Mozilla Corporation. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +description: | + pending +esid: pending +flags: + - module +---*/ +// Verify bytecode emitter accepts all valid optional chain first expressions. + +// Evaluate `import.meta` in an expression context. +assert.throws(TypeError, function() { + void (import.meta?.()); +}); +assert.throws(TypeError, function() { + void (import.meta?.p()); +}); + +// Also try `import.meta` parenthesized. +assert.throws(TypeError, function() { + void ((import.meta)?.()); +}); +assert.throws(TypeError, function() { + void ((import.meta)?.p()); +}); + +// Evaluate `import()` in an expression context. +assert.throws(TypeError, function() { + void (import("./optional-chain-first-expression-module_FIXTURE.js")?.()); +}); +assert.throws(TypeError, function() { + void (import("./optional-chain-first-expression-module_FIXTURE.js")?.p()); +}); + +// Also try `import()` parenthesized. +assert.throws(TypeError, function() { + void ((import("./optional-chain-first-expression-module_FIXTURE.js"))?.()); +}); +assert.throws(TypeError, function() { + void ((import("./optional-chain-first-expression-module_FIXTURE.js"))?.p()); +}); diff --git a/JSTests/test262/test/staging/sm/expressions/optional-chain-first-expression-module_FIXTURE.js b/JSTests/test262/test/staging/sm/expressions/optional-chain-first-expression-module_FIXTURE.js new file mode 100644 index 0000000000000..4af0a1e03ed2e --- /dev/null +++ b/JSTests/test262/test/staging/sm/expressions/optional-chain-first-expression-module_FIXTURE.js @@ -0,0 +1,4 @@ +// Copyright (C) 2024 Mozilla Corporation. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +// Intentionally left empty. diff --git a/JSTests/test262/test/staging/sm/expressions/optional-chain-first-expression.js b/JSTests/test262/test/staging/sm/expressions/optional-chain-first-expression.js index 4c26f3df312a3..ad897c2e49d07 100644 --- a/JSTests/test262/test/staging/sm/expressions/optional-chain-first-expression.js +++ b/JSTests/test262/test/staging/sm/expressions/optional-chain-first-expression.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending @@ -50,12 +47,8 @@ const expressions = [ "a?.``", ]; -function tryParse(s, f = Function) { - try { f(s); } catch {} -} - -function tryRun(s, f = Function) { - try { f(s)(); } catch {} +function tryRun(s) { + try { Function(s)(); } catch {} } for (let expr of expressions) { @@ -81,21 +74,3 @@ for (let expr of ["super[a]", "super.a", "super()"]) { tryRun(inClassConstructor(`void ((${expr})?.());`)); tryRun(inClassConstructor(`void ((${expr})?.p());`)); } - -if (typeof parseModule === "function") { - const expressions = [ - "import.meta", - "import('')", - ]; - - for (let expr of expressions) { - // Evaluate in an expression context. - tryParse(`void (${expr}?.());`, parseModule); - tryParse(`void (${expr}?.p());`, parseModule); - - // Also try parenthesized. - tryParse(`void ((${expr})?.());`, parseModule); - tryParse(`void ((${expr})?.p());`, parseModule); - } -} - diff --git a/JSTests/test262/test/staging/sm/expressions/optional-chain-super-elem.js b/JSTests/test262/test/staging/sm/expressions/optional-chain-super-elem.js index 599013d4ef52d..6a215d5e323c4 100644 --- a/JSTests/test262/test/staging/sm/expressions/optional-chain-super-elem.js +++ b/JSTests/test262/test/staging/sm/expressions/optional-chain-super-elem.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/expressions/optional-chain-tdz.js b/JSTests/test262/test/staging/sm/expressions/optional-chain-tdz.js index 864d15dcfe49b..a8aadf2ff173e 100644 --- a/JSTests/test262/test/staging/sm/expressions/optional-chain-tdz.js +++ b/JSTests/test262/test/staging/sm/expressions/optional-chain-tdz.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending @@ -13,25 +10,25 @@ esid: pending // TDZ for lexical |let| bindings with optional chaining. { - assertThrowsInstanceOf(() => { + assert.throws(ReferenceError, () => { const Null = null; Null?.[b]; b = 0; let b; - }, ReferenceError); + }); - assertThrowsInstanceOf(() => { + assert.throws(ReferenceError, () => { const Null = null; Null?.[b](); b = 0; let b; - }, ReferenceError); + }); - assertThrowsInstanceOf(() => { + assert.throws(ReferenceError, () => { const Null = null; delete Null?.[b]; b = 0; let b; - }, ReferenceError); + }); } diff --git a/JSTests/test262/test/staging/sm/expressions/optional-chain.js b/JSTests/test262/test/staging/sm/expressions/optional-chain.js index 8046d4525006d..119d69352ea61 100644 --- a/JSTests/test262/test/staging/sm/expressions/optional-chain.js +++ b/JSTests/test262/test/staging/sm/expressions/optional-chain.js @@ -2,7 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | @@ -12,187 +11,157 @@ esid: pending var BUGNUMBER = 1566143; var summary = "Implement the Optional Chain operator (?.) proposal"; -print(BUGNUMBER + ": " + summary); - // These tests are originally from webkit. // webkit specifics have been removed and error messages have been updated. -function shouldBe(actual, expected) { - if (actual !== expected) - throw new Error(`expected ${expected} but got ${actual}`); -} - -function shouldThrowSyntaxError(script) { - assertThrowsInstanceOf(() => eval(script), SyntaxError); -} - -function shouldNotThrowSyntaxError(script) { - let error; - try { - eval(script); - } catch (e) { - error = e; - } - - if ((error instanceof SyntaxError)) - throw new Error('Unxpected SyntaxError!'); -} - -function shouldThrowTypeError(func, messagePrefix) { - assertThrowsInstanceOfWithMessageContains(func, TypeError, messagePrefix); -} - -function shouldThrowReferenceError(script) { - assertThrowsInstanceOf(() => eval(script), ReferenceError); -} function testBasicSuccessCases() { - shouldBe(undefined?.valueOf(), undefined); - shouldBe(null?.valueOf(), undefined); - shouldBe(true?.valueOf(), true); - shouldBe(false?.valueOf(), false); - shouldBe(0?.valueOf(), 0); - shouldBe(1?.valueOf(), 1); - shouldBe(''?.valueOf(), ''); - shouldBe('hi'?.valueOf(), 'hi'); - shouldBe(({})?.constructor, Object); - shouldBe(({ x: 'hi' })?.x, 'hi'); - shouldBe([]?.length, 0); - shouldBe(['hi']?.length, 1); - - shouldBe(undefined?.['valueOf'](), undefined); - shouldBe(null?.['valueOf'](), undefined); - shouldBe(true?.['valueOf'](), true); - shouldBe(false?.['valueOf'](), false); - shouldBe(0?.['valueOf'](), 0); - shouldBe(1?.['valueOf'](), 1); - shouldBe(''?.['valueOf'](), ''); - shouldBe('hi'?.['valueOf'](), 'hi'); - shouldBe(({})?.['constructor'], Object); - shouldBe(({ x: 'hi' })?.['x'], 'hi'); - shouldBe([]?.['length'], 0); - shouldBe(['hi']?.[0], 'hi'); - - shouldBe(undefined?.(), undefined); - shouldBe(null?.(), undefined); - shouldBe((() => 3)?.(), 3); + assert.sameValue(undefined?.valueOf(), undefined); + assert.sameValue(null?.valueOf(), undefined); + assert.sameValue(true?.valueOf(), true); + assert.sameValue(false?.valueOf(), false); + assert.sameValue(0?.valueOf(), 0); + assert.sameValue(1?.valueOf(), 1); + assert.sameValue(''?.valueOf(), ''); + assert.sameValue('hi'?.valueOf(), 'hi'); + assert.sameValue(({})?.constructor, Object); + assert.sameValue(({ x: 'hi' })?.x, 'hi'); + assert.sameValue([]?.length, 0); + assert.sameValue(['hi']?.length, 1); + + assert.sameValue(undefined?.['valueOf'](), undefined); + assert.sameValue(null?.['valueOf'](), undefined); + assert.sameValue(true?.['valueOf'](), true); + assert.sameValue(false?.['valueOf'](), false); + assert.sameValue(0?.['valueOf'](), 0); + assert.sameValue(1?.['valueOf'](), 1); + assert.sameValue(''?.['valueOf'](), ''); + assert.sameValue('hi'?.['valueOf'](), 'hi'); + assert.sameValue(({})?.['constructor'], Object); + assert.sameValue(({ x: 'hi' })?.['x'], 'hi'); + assert.sameValue([]?.['length'], 0); + assert.sameValue(['hi']?.[0], 'hi'); + + assert.sameValue(undefined?.(), undefined); + assert.sameValue(null?.(), undefined); + assert.sameValue((() => 3)?.(), 3); } function testBasicFailureCases() { - shouldThrowTypeError(() => true?.(), 'true is not a function'); - shouldThrowTypeError(() => false?.(), 'false is not a function'); - shouldThrowTypeError(() => 0?.(), '0 is not a function'); - shouldThrowTypeError(() => 1?.(), '1 is not a function'); - shouldThrowTypeError(() => ''?.(), '"" is not a function'); - shouldThrowTypeError(() => 'hi'?.(), '"hi" is not a function'); - shouldThrowTypeError(() => ({})?.(), '({}) is not a function'); - shouldThrowTypeError(() => ({ x: 'hi' })?.(), '({x:"hi"}) is not a function'); - shouldThrowTypeError(() => []?.(), '[] is not a function'); - shouldThrowTypeError(() => ['hi']?.(), '[...] is not a function'); + assert.throws(TypeError, () => true?.(), 'true is not a function'); + assert.throws(TypeError, () => false?.(), 'false is not a function'); + assert.throws(TypeError, () => 0?.(), '0 is not a function'); + assert.throws(TypeError, () => 1?.(), '1 is not a function'); + assert.throws(TypeError, () => ''?.(), '"" is not a function'); + assert.throws(TypeError, () => 'hi'?.(), '"hi" is not a function'); + assert.throws(TypeError, () => ({})?.(), '({}) is not a function'); + assert.throws(TypeError, () => ({ x: 'hi' })?.(), '({x:"hi"}) is not a function'); + assert.throws(TypeError, () => []?.(), '[] is not a function'); + assert.throws(TypeError, () => ['hi']?.(), '[...] is not a function'); } testBasicSuccessCases(); testBasicFailureCases(); -shouldThrowTypeError(() => ({})?.i(), '(intermediate value).i is not a function'); -shouldBe(({}).i?.(), undefined); -shouldBe(({})?.i?.(), undefined); -shouldThrowTypeError(() => ({})?.['i'](), '(intermediate value)["i"] is not a function'); -shouldBe(({})['i']?.(), undefined); -shouldBe(({})?.['i']?.(), undefined); - -shouldThrowTypeError(() => ({})?.a['b'], '(intermediate value).a is undefined'); -shouldBe(({})?.a?.['b'], undefined); -shouldBe(null?.a['b']().c, undefined); -shouldThrowTypeError(() => ({})?.['a'].b, '(intermediate value)["a"] is undefined'); -shouldBe(({})?.['a']?.b, undefined); -shouldBe(null?.['a'].b()['c'], undefined); -shouldBe(null?.()().a['b'], undefined); +assert.throws(TypeError, () => ({})?.i(), '(intermediate value).i is not a function'); +assert.sameValue(({}).i?.(), undefined); +assert.sameValue(({})?.i?.(), undefined); +assert.throws(TypeError, () => ({})?.['i'](), '(intermediate value)["i"] is not a function'); +assert.sameValue(({})['i']?.(), undefined); +assert.sameValue(({})?.['i']?.(), undefined); + +assert.throws(TypeError, () => ({})?.a['b'], '(intermediate value).a is undefined'); +assert.sameValue(({})?.a?.['b'], undefined); +assert.sameValue(null?.a['b']().c, undefined); +assert.throws(TypeError, () => ({})?.['a'].b, '(intermediate value)["a"] is undefined'); +assert.sameValue(({})?.['a']?.b, undefined); +assert.sameValue(null?.['a'].b()['c'], undefined); +assert.sameValue(null?.()().a['b'], undefined); const o0 = { a: { b() { return this._b.bind(this); }, _b() { return this.__b; }, __b: { c: 42 } } }; -shouldBe(o0?.a?.['b']?.()?.()?.c, 42); -shouldBe(o0?.i?.['j']?.()?.()?.k, undefined); -shouldBe((o0.a?._b)?.().c, 42); -shouldBe((o0.a?._b)().c, 42); -shouldBe((o0.a?.b?.())?.().c, 42); -shouldBe((o0.a?.['b']?.())?.().c, 42); +assert.sameValue(o0?.a?.['b']?.()?.()?.c, 42); +assert.sameValue(o0?.i?.['j']?.()?.()?.k, undefined); +assert.sameValue((o0.a?._b)?.().c, 42); +assert.sameValue((o0.a?._b)().c, 42); +assert.sameValue((o0.a?.b?.())?.().c, 42); +assert.sameValue((o0.a?.['b']?.())?.().c, 42); -shouldBe(({ undefined: 3 })?.[null?.a], 3); -shouldBe((() => 3)?.(null?.a), 3); +assert.sameValue(({ undefined: 3 })?.[null?.a], 3); +assert.sameValue((() => 3)?.(null?.a), 3); const o1 = { count: 0, get x() { this.count++; return () => {}; } }; o1.x?.y; -shouldBe(o1.count, 1); +assert.sameValue(o1.count, 1); o1.x?.['y']; -shouldBe(o1.count, 2); +assert.sameValue(o1.count, 2); o1.x?.(); -shouldBe(o1.count, 3); +assert.sameValue(o1.count, 3); null?.(o1.x); -shouldBe(o1.count, 3); - -shouldBe(delete undefined?.foo, true); -shouldBe(delete null?.foo, true); -shouldBe(delete undefined?.['foo'], true); -shouldBe(delete null?.['foo'], true); -shouldBe(delete undefined?.(), true); -shouldBe(delete null?.(), true); -shouldBe(delete ({}).a?.b?.b, true); -shouldBe(delete ({a : {b: undefined}}).a?.b?.b, true); -shouldBe(delete ({a : {b: undefined}}).a?.["b"]?.["b"], true); +assert.sameValue(o1.count, 3); + +assert.sameValue(delete undefined?.foo, true); +assert.sameValue(delete null?.foo, true); +assert.sameValue(delete undefined?.['foo'], true); +assert.sameValue(delete null?.['foo'], true); +assert.sameValue(delete undefined?.(), true); +assert.sameValue(delete null?.(), true); +assert.sameValue(delete ({}).a?.b?.b, true); +assert.sameValue(delete ({a : {b: undefined}}).a?.b?.b, true); +assert.sameValue(delete ({a : {b: undefined}}).a?.["b"]?.["b"], true); const o2 = { x: 0, y: 0, z() {} }; -shouldBe(delete o2?.x, true); -shouldBe(o2.x, undefined); -shouldBe(o2.y, 0); -shouldBe(delete o2?.x, true); -shouldBe(delete o2?.['y'], true); -shouldBe(o2.y, undefined); -shouldBe(delete o2?.['y'], true); -shouldBe(delete o2.z?.(), true); +assert.sameValue(delete o2?.x, true); +assert.sameValue(o2.x, undefined); +assert.sameValue(o2.y, 0); +assert.sameValue(delete o2?.x, true); +assert.sameValue(delete o2?.['y'], true); +assert.sameValue(o2.y, undefined); +assert.sameValue(delete o2?.['y'], true); +assert.sameValue(delete o2.z?.(), true); function greet(name) { return `hey, ${name}${this.suffix ?? '.'}`; } -shouldBe(eval?.('greet("world")'), 'hey, world.'); -shouldBe(greet?.call({ suffix: '!' }, 'world'), 'hey, world!'); -shouldBe(greet.call?.({ suffix: '!' }, 'world'), 'hey, world!'); -shouldBe(null?.call({ suffix: '!' }, 'world'), undefined); -shouldBe(({}).call?.({ suffix: '!' }, 'world'), undefined); -shouldBe(greet?.apply({ suffix: '?' }, ['world']), 'hey, world?'); -shouldBe(greet.apply?.({ suffix: '?' }, ['world']), 'hey, world?'); -shouldBe(null?.apply({ suffix: '?' }, ['world']), undefined); -shouldBe(({}).apply?.({ suffix: '?' }, ['world']), undefined); -shouldThrowSyntaxError('class C {} class D extends C { foo() { return super?.bar; } }'); -shouldThrowSyntaxError('class C {} class D extends C { foo() { return super?.["bar"]; } }'); -shouldThrowSyntaxError('class C {} class D extends C { constructor() { super?.(); } }'); -shouldThrowSyntaxError('const o = { C: class {} }; new o?.C();') -shouldThrowSyntaxError('const o = { C: class {} }; new o?.["C"]();') -shouldThrowSyntaxError('class C {} new C?.();') -shouldThrowSyntaxError('function foo() { new?.target; }'); -shouldThrowSyntaxError('function tag() {} tag?.``;'); -shouldThrowSyntaxError('const o = { tag() {} }; o?.tag``;'); -shouldThrowReferenceError('`${G}`?.r'); +assert.sameValue(eval?.('greet("world")'), 'hey, world.'); +assert.sameValue(greet?.call({ suffix: '!' }, 'world'), 'hey, world!'); +assert.sameValue(greet.call?.({ suffix: '!' }, 'world'), 'hey, world!'); +assert.sameValue(null?.call({ suffix: '!' }, 'world'), undefined); +assert.sameValue(({}).call?.({ suffix: '!' }, 'world'), undefined); +assert.sameValue(greet?.apply({ suffix: '?' }, ['world']), 'hey, world?'); +assert.sameValue(greet.apply?.({ suffix: '?' }, ['world']), 'hey, world?'); +assert.sameValue(null?.apply({ suffix: '?' }, ['world']), undefined); +assert.sameValue(({}).apply?.({ suffix: '?' }, ['world']), undefined); +assert.throws(SyntaxError, () => eval('class C {} class D extends C { foo() { return super?.bar; } }')); +assert.throws(SyntaxError, () => eval('class C {} class D extends C { foo() { return super?.["bar"]; } }')); +assert.throws(SyntaxError, () => eval('class C {} class D extends C { constructor() { super?.(); } }')); +assert.throws(SyntaxError, () => eval('const o = { C: class {} }; new o?.C();')); +assert.throws(SyntaxError, () => eval('const o = { C: class {} }; new o?.["C"]();')); +assert.throws(SyntaxError, () => eval('class C {} new C?.();')); +assert.throws(SyntaxError, () => eval('function foo() { new?.target; }')); +assert.throws(SyntaxError, () => eval('function tag() {} tag?.``;')); +assert.throws(SyntaxError, () => eval('const o = { tag() {} }; o?.tag``;')); +assert.throws(ReferenceError, () => eval('`${G}`?.r')); // NOT an optional chain -shouldBe(false?.4:5, 5); +assert.sameValue(false?.4:5, 5); // Special case: binary operators that follow a binary expression -shouldThrowReferenceError('(0 || 1 << x)?.$'); -shouldThrowReferenceError('(0 || 1 >> x)?.$'); -shouldThrowReferenceError('(0 || 1 >>> x)?.$'); -shouldThrowReferenceError('(0 || 1 + x)?.$'); -shouldThrowReferenceError('(0 || 1 - x)?.$'); -shouldThrowReferenceError('(0 || 1 % x)?.$'); -shouldThrowReferenceError('(0 || 1 / x)?.$'); -shouldThrowReferenceError('(0 || 1 == x)?.$'); -shouldThrowReferenceError('(0 || 1 != x)?.$'); -shouldThrowReferenceError('(0 || 1 !== x)?.$'); -shouldThrowReferenceError('(0 || 1 === x)?.$'); -shouldThrowReferenceError('(0 || 1 <= x)?.$'); -shouldThrowReferenceError('(0 || 1 >= x)?.$'); -shouldThrowReferenceError('(0 || 1 ** x)?.$'); -shouldThrowReferenceError('(0 || 1 | x)?.$'); -shouldThrowReferenceError('(0 || 1 & x)?.$'); -shouldThrowReferenceError('(0 || 1 instanceof x)?.$'); -shouldThrowReferenceError('(0 || "foo" in x)?.$'); +assert.throws(ReferenceError, () => eval('(0 || 1 << x)?.$')); +assert.throws(ReferenceError, () => eval('(0 || 1 >> x)?.$')); +assert.throws(ReferenceError, () => eval('(0 || 1 >>> x)?.$')); +assert.throws(ReferenceError, () => eval('(0 || 1 + x)?.$')); +assert.throws(ReferenceError, () => eval('(0 || 1 - x)?.$')); +assert.throws(ReferenceError, () => eval('(0 || 1 % x)?.$')); +assert.throws(ReferenceError, () => eval('(0 || 1 / x)?.$')); +assert.throws(ReferenceError, () => eval('(0 || 1 == x)?.$')); +assert.throws(ReferenceError, () => eval('(0 || 1 != x)?.$')); +assert.throws(ReferenceError, () => eval('(0 || 1 !== x)?.$')); +assert.throws(ReferenceError, () => eval('(0 || 1 === x)?.$')); +assert.throws(ReferenceError, () => eval('(0 || 1 <= x)?.$')); +assert.throws(ReferenceError, () => eval('(0 || 1 >= x)?.$')); +assert.throws(ReferenceError, () => eval('(0 || 1 ** x)?.$')); +assert.throws(ReferenceError, () => eval('(0 || 1 | x)?.$')); +assert.throws(ReferenceError, () => eval('(0 || 1 & x)?.$')); +assert.throws(ReferenceError, () => eval('(0 || 1 instanceof x)?.$')); +assert.throws(ReferenceError, () => eval('(0 || "foo" in x)?.$')); function testSideEffectCountFunction() { let count = 0; @@ -209,7 +178,7 @@ function testSideEffectCountFunction() { a.b.c.d?.()?.b?.c?.d - shouldBe(count, 1); + assert.sameValue(count, 1); } function testSideEffectCountGetters() { @@ -222,23 +191,21 @@ function testSideEffectCountGetters() { } a.b?.c?.d; - shouldBe(count, 1); + assert.sameValue(count, 1); a.b?.c?.d; - shouldBe(count, 2); + assert.sameValue(count, 2); } testSideEffectCountFunction(); testSideEffectCountGetters(); // stress test SM -shouldBe(({a : {b: undefined}}).a.b?.()()(), undefined); -shouldBe(({a : {b: undefined}}).a.b?.()?.()(), undefined); -shouldBe(({a : {b: () => undefined}}).a.b?.()?.(), undefined); -shouldThrowTypeError(() => delete ({a : {b: undefined}}).a?.b.b.c, '(intermediate value).a.b is undefined'); -shouldBe(delete ({a : {b: undefined}}).a?.["b"]?.["b"], true); -shouldBe(delete undefined ?.x[y+1], true); -shouldThrowTypeError(() => (({a : {b: () => undefined}}).a.b?.())(), 'undefined is not a function'); -shouldThrowTypeError(() => (delete[1]?.r[delete[1]?.r1]), "[...].r is undefined"); -shouldThrowTypeError(() => (delete[1]?.r[[1]?.r1]), "[...].r is undefined"); - -print("Tests complete"); +assert.sameValue(({a : {b: undefined}}).a.b?.()()(), undefined); +assert.sameValue(({a : {b: undefined}}).a.b?.()?.()(), undefined); +assert.sameValue(({a : {b: () => undefined}}).a.b?.()?.(), undefined); +assert.throws(TypeError, () => delete ({a : {b: undefined}}).a?.b.b.c, '(intermediate value).a.b is undefined'); +assert.sameValue(delete ({a : {b: undefined}}).a?.["b"]?.["b"], true); +assert.sameValue(delete undefined ?.x[y+1], true); +assert.throws(TypeError, () => (({a : {b: () => undefined}}).a.b?.())(), 'undefined is not a function'); +assert.throws(TypeError, () => (delete[1]?.r[delete[1]?.r1]), "[...].r is undefined"); +assert.throws(TypeError, () => (delete[1]?.r[[1]?.r1]), "[...].r is undefined"); diff --git a/JSTests/test262/test/staging/sm/expressions/primitive-this-boxing-behavior.js b/JSTests/test262/test/staging/sm/expressions/primitive-this-boxing-behavior.js index b69d9dbfe69b7..bfde503079877 100644 --- a/JSTests/test262/test/staging/sm/expressions/primitive-this-boxing-behavior.js +++ b/JSTests/test262/test/staging/sm/expressions/primitive-this-boxing-behavior.js @@ -4,22 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Primitive values don't box correctly +info: bugzilla.mozilla.org/show_bug.cgi?id=732669 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 732669; -var summary = "Primitive values don't box correctly"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ var t; function returnThis() { return this; } @@ -107,7 +96,3 @@ t = "bar".property; assert.sameValue(t !== Object.prototype, true); assert.sameValue(t !== String.prototype, true); assert.sameValue(t.toString(), "bar"); - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/expressions/short-circuit-compound-assignment-anon-fns.js b/JSTests/test262/test/staging/sm/expressions/short-circuit-compound-assignment-anon-fns.js index f903acfc0886a..ee01ab0bf1b67 100644 --- a/JSTests/test262/test/staging/sm/expressions/short-circuit-compound-assignment-anon-fns.js +++ b/JSTests/test262/test/staging/sm/expressions/short-circuit-compound-assignment-anon-fns.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/expressions/short-circuit-compound-assignment-const.js b/JSTests/test262/test/staging/sm/expressions/short-circuit-compound-assignment-const.js index 62fd79ea0dd6d..73a227b35381a 100644 --- a/JSTests/test262/test/staging/sm/expressions/short-circuit-compound-assignment-const.js +++ b/JSTests/test262/test/staging/sm/expressions/short-circuit-compound-assignment-const.js @@ -2,7 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | @@ -23,7 +22,7 @@ function notEvaluated() { assert.sameValue(a, false); const b = true; - assertThrowsInstanceOf(() => { b &&= 1; }, TypeError); + assert.throws(TypeError, () => { b &&= 1; }); assert.sameValue(b, true); } @@ -37,7 +36,7 @@ function notEvaluated() { let g = function fn() { "use strict"; - assertThrowsInstanceOf(() => { fn &&= 1; }, TypeError); + assert.throws(TypeError, () => { fn &&= 1; }); assert.sameValue(fn, g); }; g(); @@ -50,7 +49,7 @@ function notEvaluated() { assert.sameValue(a, true); const b = false; - assertThrowsInstanceOf(() => { b ||= 0; }, TypeError); + assert.throws(TypeError, () => { b ||= 0; }); assert.sameValue(b, false); } @@ -77,7 +76,7 @@ function notEvaluated() { assert.sameValue(a, true); const b = null; - assertThrowsInstanceOf(() => { b ??= 0; }, TypeError); + assert.throws(TypeError, () => { b ??= 0; }); assert.sameValue(b, null); } diff --git a/JSTests/test262/test/staging/sm/expressions/short-circuit-compound-assignment-property-key-evaluation.js b/JSTests/test262/test/staging/sm/expressions/short-circuit-compound-assignment-property-key-evaluation.js index bc9b4ffbf12cd..821aaf2df6584 100644 --- a/JSTests/test262/test/staging/sm/expressions/short-circuit-compound-assignment-property-key-evaluation.js +++ b/JSTests/test262/test/staging/sm/expressions/short-circuit-compound-assignment-property-key-evaluation.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/expressions/short-circuit-compound-assignment-tdz.js b/JSTests/test262/test/staging/sm/expressions/short-circuit-compound-assignment-tdz.js index b3aa22d20cf71..971c642c0b5eb 100644 --- a/JSTests/test262/test/staging/sm/expressions/short-circuit-compound-assignment-tdz.js +++ b/JSTests/test262/test/staging/sm/expressions/short-circuit-compound-assignment-tdz.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending @@ -13,53 +10,53 @@ esid: pending // TDZ for lexical |let| bindings. { - assertThrowsInstanceOf(() => { let a = (a &&= 0); }, ReferenceError); - assertThrowsInstanceOf(() => { let a = (a ||= 0); }, ReferenceError); - assertThrowsInstanceOf(() => { let a = (a ??= 0); }, ReferenceError); + assert.throws(ReferenceError, () => { let a = (a &&= 0); }); + assert.throws(ReferenceError, () => { let a = (a ||= 0); }); + assert.throws(ReferenceError, () => { let a = (a ??= 0); }); } // TDZ for lexical |const| bindings. { - assertThrowsInstanceOf(() => { const a = (a &&= 0); }, ReferenceError); - assertThrowsInstanceOf(() => { const a = (a ||= 0); }, ReferenceError); - assertThrowsInstanceOf(() => { const a = (a ??= 0); }, ReferenceError); + assert.throws(ReferenceError, () => { const a = (a &&= 0); }); + assert.throws(ReferenceError, () => { const a = (a ||= 0); }); + assert.throws(ReferenceError, () => { const a = (a ??= 0); }); } // TDZ for parameter expressions. { - assertThrowsInstanceOf((a = (b &&= 0), b) => {}, ReferenceError); - assertThrowsInstanceOf((a = (b ||= 0), b) => {}, ReferenceError); - assertThrowsInstanceOf((a = (b ??= 0), b) => {}, ReferenceError); + assert.throws(ReferenceError, (a = (b &&= 0), b) => {}); + assert.throws(ReferenceError, (a = (b ||= 0), b) => {}); + assert.throws(ReferenceError, (a = (b ??= 0), b) => {}); } // TDZ for |class| bindings. { - assertThrowsInstanceOf(() => { class a extends (a &&= 0) {} }, ReferenceError); - assertThrowsInstanceOf(() => { class a extends (a ||= 0) {} }, ReferenceError); - assertThrowsInstanceOf(() => { class a extends (a ??= 0) {} }, ReferenceError); + assert.throws(ReferenceError, () => { class a extends (a &&= 0) {} }); + assert.throws(ReferenceError, () => { class a extends (a ||= 0) {} }); + assert.throws(ReferenceError, () => { class a extends (a ??= 0) {} }); } // TDZ for lexical |let| bindings with conditional assignment. { - assertThrowsInstanceOf(() => { + assert.throws(ReferenceError, () => { const False = false; False &&= b; b = 2; let b; - }, ReferenceError); + }); - assertThrowsInstanceOf(() => { + assert.throws(ReferenceError, () => { const True = true; True ||= b; b = 2; let b; - }, ReferenceError); + }); - assertThrowsInstanceOf(() => { + assert.throws(ReferenceError, () => { const NonNull = {}; NonNull ??= b; b = 2; let b; - }, ReferenceError); + }); } diff --git a/JSTests/test262/test/staging/sm/expressions/short-circuit-compound-assignment.js b/JSTests/test262/test/staging/sm/expressions/short-circuit-compound-assignment.js index 36dbb76f1f61f..bbc73f9e75df1 100644 --- a/JSTests/test262/test/staging/sm/expressions/short-circuit-compound-assignment.js +++ b/JSTests/test262/test/staging/sm/expressions/short-circuit-compound-assignment.js @@ -2,7 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | diff --git a/JSTests/test262/test/staging/sm/expressions/string-literal-escape-sequences.js b/JSTests/test262/test/staging/sm/expressions/string-literal-escape-sequences.js index 95c5d96ba4975..c5e97626ac536 100644 --- a/JSTests/test262/test/staging/sm/expressions/string-literal-escape-sequences.js +++ b/JSTests/test262/test/staging/sm/expressions/string-literal-escape-sequences.js @@ -4,36 +4,17 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + \\u and \\x must be followed by the appropriate number of hex digits or else it is a syntax error +info: bugzilla.mozilla.org/show_bug.cgi?id=663300 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 663300; -var summary = - "\\u and \\x must be followed by the appropriate number of hex digits or " + - "else it is a syntax error"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ function expectSyntaxError(str) { - try - { + assert.throws(SyntaxError, function() { eval(str); - } - catch (e) - { - assert.sameValue(e instanceof SyntaxError, true, - "no syntax error evaluating " + str); - } + }, "syntax error evaluating " + str); } expectSyntaxError('"\\x"'); @@ -147,7 +128,3 @@ assert.sameValue(eval('"a\\\nb"'), "ab"); assert.sameValue(eval('"a\\\r\nb"'), "ab"); assert.sameValue(eval('"a\\\u2028b"'), "ab"); assert.sameValue(eval('"a\\\u2029b"'), "ab"); - -/******************************************************************************/ - -print("All tests passed!"); diff --git a/JSTests/test262/test/staging/sm/expressions/tagged-template-constant-folding.js b/JSTests/test262/test/staging/sm/expressions/tagged-template-constant-folding.js index a651c65f6898a..945adf56146c7 100644 --- a/JSTests/test262/test/staging/sm/expressions/tagged-template-constant-folding.js +++ b/JSTests/test262/test/staging/sm/expressions/tagged-template-constant-folding.js @@ -4,24 +4,13 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | - pending + Don't let constant-folding in the MemberExpression part of a tagged template cause an incorrect |this| be passed to the callee +info: bugzilla.mozilla.org/show_bug.cgi?id=1182373 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 1182373; -var summary = - "Don't let constant-folding in the MemberExpression part of a tagged " + - "template cause an incorrect |this| be passed to the callee"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ var prop = "global"; @@ -29,7 +18,3 @@ var obj = { prop: "obj", f: function() { return this.prop; } }; assert.sameValue(obj.f``, "obj"); assert.sameValue((true ? obj.f : null)``, "global"); - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/extensions/8.12.5-01.js b/JSTests/test262/test/staging/sm/extensions/8.12.5-01.js index f069e6f3d925c..9397f9bcf500f 100644 --- a/JSTests/test262/test/staging/sm/extensions/8.12.5-01.js +++ b/JSTests/test262/test/staging/sm/extensions/8.12.5-01.js @@ -4,7 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | diff --git a/JSTests/test262/test/staging/sm/extensions/ArrayBuffer-slice-arguments-detaching.js b/JSTests/test262/test/staging/sm/extensions/ArrayBuffer-slice-arguments-detaching.js index 5b4b19ca09ac3..3edf1e717a363 100644 --- a/JSTests/test262/test/staging/sm/extensions/ArrayBuffer-slice-arguments-detaching.js +++ b/JSTests/test262/test/staging/sm/extensions/ArrayBuffer-slice-arguments-detaching.js @@ -4,25 +4,12 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + ArrayBuffer.prototype.slice shouldn't misbehave horribly if index-argument conversion detaches the ArrayBuffer being sliced +info: bugzilla.mozilla.org/show_bug.cgi?id=991981 esid: pending +features: [host-gc-required] ---*/ -var gTestfile = "ArrayBuffer-slice-arguments-detaching.js"; -//----------------------------------------------------------------------------- -var BUGNUMBER = 991981; -var summary = - "ArrayBuffer.prototype.slice shouldn't misbehave horribly if " + - "index-argument conversion detaches the ArrayBuffer being sliced"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ function testStart() { @@ -38,16 +25,9 @@ function testStart() } }; - var ok = false; - try - { + assert.throws(TypeError, function() { ab.slice(start); - } - catch (e) - { - ok = true; - } - assert.sameValue(ok, true, "start weirdness should have thrown"); + }, "start weirdness should have thrown"); assert.sameValue(ab.byteLength, 0, "detaching should work for start weirdness"); } testStart(); @@ -66,20 +46,9 @@ function testEnd() } }; - var ok = false; - try - { + assert.throws(TypeError, function() { ab.slice(0x800, end); - } - catch (e) - { - ok = true; - } - assert.sameValue(ok, true, "byteLength weirdness should have thrown"); + }, "byteLength weirdness should have thrown"); assert.sameValue(ab.byteLength, 0, "detaching should work for byteLength weirdness"); } testEnd(); - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/extensions/DataView-construct-arguments-detaching.js b/JSTests/test262/test/staging/sm/extensions/DataView-construct-arguments-detaching.js index 18b9e356473bf..4f29b0ddd84bb 100644 --- a/JSTests/test262/test/staging/sm/extensions/DataView-construct-arguments-detaching.js +++ b/JSTests/test262/test/staging/sm/extensions/DataView-construct-arguments-detaching.js @@ -4,25 +4,12 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + new DataView(...) shouldn't misbehave horribly if index-argument conversion detaches the ArrayBuffer to be viewed +info: bugzilla.mozilla.org/show_bug.cgi?id=991981 esid: pending +features: [host-gc-required] ---*/ -var gTestfile = "DataView-construct-arguments-detaching.js"; -//----------------------------------------------------------------------------- -var BUGNUMBER = 991981; -var summary = - "new DataView(...) shouldn't misbehave horribly if index-argument " + - "conversion detaches the ArrayBuffer to be viewed"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ function testByteOffset() { @@ -38,16 +25,9 @@ function testByteOffset() } }; - var ok = false; - try - { + assert.throws(TypeError, function() { new DataView(ab, start); - } - catch (e) - { - ok = true; - } - assert.sameValue(ok, true, "byteOffset weirdness should have thrown"); + }, "byteOffset weirdness should have thrown"); assert.sameValue(ab.byteLength, 0, "detaching should work for byteOffset weirdness"); } testByteOffset(); @@ -66,20 +46,9 @@ function testByteLength() } }; - var ok = false; - try - { + assert.throws(TypeError, function() { new DataView(ab, 0x800, len); - } - catch (e) - { - ok = true; - } - assert.sameValue(ok, true, "byteLength weirdness should have thrown"); + }, "byteLength weirdness should have thrown"); assert.sameValue(ab.byteLength, 0, "detaching should work for byteLength weirdness"); } testByteLength(); - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/extensions/DataView-set-arguments-detaching.js b/JSTests/test262/test/staging/sm/extensions/DataView-set-arguments-detaching.js index c7d853bef5ac5..dc88940f24fdf 100644 --- a/JSTests/test262/test/staging/sm/extensions/DataView-set-arguments-detaching.js +++ b/JSTests/test262/test/staging/sm/extensions/DataView-set-arguments-detaching.js @@ -4,25 +4,12 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + DataView.prototype.set* methods shouldn't misbehave horribly if index-argument conversion detaches the ArrayBuffer being modified +info: bugzilla.mozilla.org/show_bug.cgi?id=991981 esid: pending +features: [host-gc-required] ---*/ -var gTestfile = "DataView-set-arguments-detaching.js"; -//----------------------------------------------------------------------------- -var BUGNUMBER = 991981; -var summary = - "DataView.prototype.set* methods shouldn't misbehave horribly if " + - "index-argument conversion detaches the ArrayBuffer being modified"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ function testIndex() { @@ -40,16 +27,9 @@ function testIndex() } }; - var ok = false; - try - { + assert.throws(TypeError, function() { dv.setUint8(start, 0x42); - } - catch (e) - { - ok = true; - } - assert.sameValue(ok, true, "should have thrown"); + }); assert.sameValue(ab.byteLength, 0, "should have been detached correctly"); } testIndex(); @@ -70,20 +50,9 @@ function testValue() } }; - var ok = false; - try - { + assert.throws(TypeError, function() { dv.setUint8(0xFFFFF, value); - } - catch (e) - { - ok = true; - } - assert.sameValue(ok, true, "should have thrown"); + }); assert.sameValue(ab.byteLength, 0, "should have been detached correctly"); } testValue(); - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/extensions/RegExp-error-message-skip-selfhosted-frames.js b/JSTests/test262/test/staging/sm/extensions/RegExp-error-message-skip-selfhosted-frames.js index 6b907734a4d05..e2f2f5c7ea697 100644 --- a/JSTests/test262/test/staging/sm/extensions/RegExp-error-message-skip-selfhosted-frames.js +++ b/JSTests/test262/test/staging/sm/extensions/RegExp-error-message-skip-selfhosted-frames.js @@ -2,18 +2,16 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending ---*/ + for (let name of ["test", Symbol.match, Symbol.replace, Symbol.search]) { let methodName = typeof name === "symbol" ? `[${name.description}]` : name; - assertThrowsInstanceOfWithMessage( - () => RegExp.prototype[name].call({}), + assert.throws( TypeError, + () => RegExp.prototype[name].call({}), `${methodName} method called on incompatible Object`); } diff --git a/JSTests/test262/test/staging/sm/extensions/String-match-flags.js b/JSTests/test262/test/staging/sm/extensions/String-match-flags.js index 99ea889824bfa..6b89a6eea1642 100644 --- a/JSTests/test262/test/staging/sm/extensions/String-match-flags.js +++ b/JSTests/test262/test/staging/sm/extensions/String-match-flags.js @@ -2,17 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + String.prototype.match with non-string non-standard flags argument. +info: bugzilla.mozilla.org/show_bug.cgi?id=1263139 esid: pending ---*/ -var BUGNUMBER = 1263139; -var summary = "String.prototype.match with non-string non-standard flags argument."; - -print(BUGNUMBER + ": " + summary); var called; var flags = { @@ -33,4 +27,3 @@ assert.sameValue(called, false); called = false; "a".replace("a", "b", flags); assert.sameValue(called, false); - diff --git a/JSTests/test262/test/staging/sm/extensions/TypedArray-set-object-funky-length-detaches.js b/JSTests/test262/test/staging/sm/extensions/TypedArray-set-object-funky-length-detaches.js index c23305cac12f7..098182145fd1d 100644 --- a/JSTests/test262/test/staging/sm/extensions/TypedArray-set-object-funky-length-detaches.js +++ b/JSTests/test262/test/staging/sm/extensions/TypedArray-set-object-funky-length-detaches.js @@ -4,26 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + %TypedArray%.prototype.set(object w/funky length property, offset) shouldn't misbehave if the funky length property detaches this typed array's buffer +info: bugzilla.mozilla.org/show_bug.cgi?id=991981 esid: pending ---*/ -var gTestfile = "set-object-funky-length-detaches.js"; -//----------------------------------------------------------------------------- -var BUGNUMBER = 991981; -var summary = - "%TypedArray%.prototype.set(object w/funky length property, offset) " + - "shouldn't misbehave if the funky length property detaches this typed " + - "array's buffer"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ var ctors = [Int8Array, Uint8Array, Uint8ClampedArray, Int16Array, Uint16Array, @@ -54,7 +39,3 @@ ctors.forEach(function(TypedArray) { ta.set(arraylike, 0x1234); }); - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/extensions/TypedArray-subarray-arguments-detaching.js b/JSTests/test262/test/staging/sm/extensions/TypedArray-subarray-arguments-detaching.js index 2cd98e33e3219..f5474981e11e1 100644 --- a/JSTests/test262/test/staging/sm/extensions/TypedArray-subarray-arguments-detaching.js +++ b/JSTests/test262/test/staging/sm/extensions/TypedArray-subarray-arguments-detaching.js @@ -4,25 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + %TypedArray.prototype.subarray shouldn't misbehave horribly if index-argument conversion detaches the underlying ArrayBuffer +info: bugzilla.mozilla.org/show_bug.cgi?id=991981 esid: pending ---*/ -var gTestfile = "TypedArray-subarray-arguments-detaching.js"; -//----------------------------------------------------------------------------- -var BUGNUMBER = 991981; -var summary = - "%TypedArray.prototype.subarray shouldn't misbehave horribly if " + - "index-argument conversion detaches the underlying ArrayBuffer"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ function testBegin() { @@ -39,16 +25,9 @@ function testBegin() var ta = new Uint8Array(ab); - var ok = false; - try - { - ta.subarray(begin); - } - catch (e) - { - ok = true; - } - assert.sameValue(ok, true, "start weirdness should have thrown"); + assert.throws(TypeError, function() { + ta.subarray(begin) + }, "start weirdness should have thrown"); assert.sameValue(ab.byteLength, 0, "detaching should work for start weirdness"); } testBegin(); @@ -68,16 +47,9 @@ function testBeginWithEnd() var ta = new Uint8Array(ab); - var ok = false; - try - { + assert.throws(TypeError, function() { ta.subarray(begin, 0x1000); - } - catch (e) - { - ok = true; - } - assert.sameValue(ok, true, "start weirdness should have thrown"); + }, "start weirdness should have thrown"); assert.sameValue(ab.byteLength, 0, "detaching should work for start weirdness"); } testBeginWithEnd(); @@ -97,20 +69,9 @@ function testEnd() var ta = new Uint8Array(ab); - var ok = false; - try - { + assert.throws(TypeError, function() { ta.subarray(0x800, end); - } - catch (e) - { - ok = true; - } - assert.sameValue(ok, true, "start weirdness should have thrown"); - assert.sameValue(ab.byteLength, 0, "detaching should work for start weirdness"); + }, "end weirdness should have thrown"); + assert.sameValue(ab.byteLength, 0, "detaching should work for end weirdness"); } testEnd(); - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/extensions/__proto__.js b/JSTests/test262/test/staging/sm/extensions/__proto__.js index a51f2fb226898..d212b9454591f 100644 --- a/JSTests/test262/test/staging/sm/extensions/__proto__.js +++ b/JSTests/test262/test/staging/sm/extensions/__proto__.js @@ -4,22 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + __proto__ as accessor +info: bugzilla.mozilla.org/show_bug.cgi?id=770344 esid: pending ---*/ -var gTestfile = '__proto__.js'; -var BUGNUMBER = 770344; -var summary = "__proto__ as accessor"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ var protoDesc = Object.getOwnPropertyDescriptor(Object.prototype, "__proto__"); assert.sameValue(protoDesc !== null, true); @@ -52,7 +41,3 @@ assert.sameValue(desc.value, 5); assert.sameValue(desc.writable, true); assert.sameValue(desc.enumerable, true); assert.sameValue(desc.configurable, true); - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/extensions/arguments-property-access-in-function.js b/JSTests/test262/test/staging/sm/extensions/arguments-property-access-in-function.js index 4779e145939ad..36b2b3a74f674 100644 --- a/JSTests/test262/test/staging/sm/extensions/arguments-property-access-in-function.js +++ b/JSTests/test262/test/staging/sm/extensions/arguments-property-access-in-function.js @@ -4,23 +4,13 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | - pending + f.arguments must trigger an arguments object in non-strict mode functions +info: bugzilla.mozilla.org/show_bug.cgi?id=721322 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 721322; -var summary = - 'f.arguments must trigger an arguments object in non-strict mode functions'; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ var obj = { @@ -41,21 +31,9 @@ var sobj = { "use strict"; - try - { - var args = sobj.test.arguments; - throw new Error("access to arguments property of strict mode " + - "function didn't throw"); - } - catch (e) - { - assert.sameValue(e instanceof TypeError, true, - "should have thrown TypeError, instead got: " + e); - } + assert.throws(TypeError, function() { + sobj.test.arguments; + }, "access to arguments property of strict mode function"); } }; sobj.test(5, undefined); - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/extensions/array-inherited-__proto__.js b/JSTests/test262/test/staging/sm/extensions/array-inherited-__proto__.js index d40f076a4248e..9780e2c07ac25 100644 --- a/JSTests/test262/test/staging/sm/extensions/array-inherited-__proto__.js +++ b/JSTests/test262/test/staging/sm/extensions/array-inherited-__proto__.js @@ -4,24 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + The [[Prototype]] of an object whose prototype chain contains an array isn't that array's [[Prototype]] +info: bugzilla.mozilla.org/show_bug.cgi?id=769041 esid: pending ---*/ -var gTestfile = 'array-inherited-__proto__.js'; -var BUGNUMBER = 769041; -var summary = - "The [[Prototype]] of an object whose prototype chain contains an array " + - "isn't that array's [[Prototype]]"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ var arr = []; assert.sameValue(Array.isArray(arr), true); @@ -31,7 +18,3 @@ assert.sameValue(objWithArrPrototype.__proto__, arr); var objWithArrGrandPrototype = Object.create(objWithArrPrototype); assert.sameValue(!Array.isArray(objWithArrGrandPrototype), true); assert.sameValue(objWithArrGrandPrototype.__proto__, objWithArrPrototype); - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/extensions/array-length-protochange.js b/JSTests/test262/test/staging/sm/extensions/array-length-protochange.js index 4b6aefb074c51..9ae021c5621b1 100644 --- a/JSTests/test262/test/staging/sm/extensions/array-length-protochange.js +++ b/JSTests/test262/test/staging/sm/extensions/array-length-protochange.js @@ -4,24 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Don't use a shared-permanent inherited property to implement [].length or (function(){}).length +info: bugzilla.mozilla.org/show_bug.cgi?id=548671 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 548671; -var summary = - "Don't use a shared-permanent inherited property to implement " + - "[].length or (function(){}).length"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ var a = [1, 2, 3]; a.__proto__ = null; @@ -37,6 +24,3 @@ assert.sameValue(b.hasOwnProperty("length"), true, b.length = 42; assert.sameValue(b.length, 42, "should have mutated b's (own) length"); assert.sameValue(a.length, 0, "should not have mutated a's (own) length"); - - -print("All tests passed!"); diff --git a/JSTests/test262/test/staging/sm/extensions/array-pop-proxy.js b/JSTests/test262/test/staging/sm/extensions/array-pop-proxy.js index 7152a87c5212a..d068f2757d38f 100644 --- a/JSTests/test262/test/staging/sm/extensions/array-pop-proxy.js +++ b/JSTests/test262/test/staging/sm/extensions/array-pop-proxy.js @@ -4,26 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Behavior of [].pop on proxies +info: bugzilla.mozilla.org/show_bug.cgi?id=858381 esid: pending ---*/ -var gTestfile = 'array-pop-proxy.js'; -var BUGNUMBER = 858381; -var summary = "Behavior of [].pop on proxies"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ var p = new Proxy([0, 1, 2], {}); Array.prototype.pop.call(p); - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/extensions/arraybuffer-prototype.js b/JSTests/test262/test/staging/sm/extensions/arraybuffer-prototype.js index db177b8454de7..e1a37163c028c 100644 --- a/JSTests/test262/test/staging/sm/extensions/arraybuffer-prototype.js +++ b/JSTests/test262/test/staging/sm/extensions/arraybuffer-prototype.js @@ -4,22 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + ArrayBuffer cannot access properties defined on the prototype chain. +info: bugzilla.mozilla.org/show_bug.cgi?id=665961 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 665961; -var summary = - "ArrayBuffer cannot access properties defined on the prototype chain."; -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ ArrayBuffer.prototype.prop = "on prototype"; var b = new ArrayBuffer([]); @@ -34,4 +23,3 @@ assert.sameValue(ArrayBuffer.prototype.prop, "on prototype"); assert.sameValue(new ArrayBuffer([]).prop, "on prototype"); assert.sameValue(c.nonexistent, undefined); - diff --git a/JSTests/test262/test/staging/sm/extensions/bug472534.js b/JSTests/test262/test/staging/sm/extensions/bug472534.js index 8f2bbccc9cbaa..fc34ef7c511e5 100644 --- a/JSTests/test262/test/staging/sm/extensions/bug472534.js +++ b/JSTests/test262/test/staging/sm/extensions/bug472534.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/extensions/builtin-function-arguments-caller.js b/JSTests/test262/test/staging/sm/extensions/builtin-function-arguments-caller.js index 3cd0047db7b99..ef0801877e5be 100644 --- a/JSTests/test262/test/staging/sm/extensions/builtin-function-arguments-caller.js +++ b/JSTests/test262/test/staging/sm/extensions/builtin-function-arguments-caller.js @@ -4,24 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Built-in functions defined in ECMAScript pick up arguments/caller properties from Function.prototype +info: bugzilla.mozilla.org/show_bug.cgi?id=929642 esid: pending ---*/ -var gTestfile = 'builtin-function-arguments-caller.js'; -var BUGNUMBER = 929642; -var summary = - "Built-in functions defined in ECMAScript pick up arguments/caller " + - "properties from Function.prototype"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ function expectNoProperty(obj, prop) { @@ -59,7 +46,3 @@ expectNoProperty(callerGet, "arguments"); expectNoProperty(callerGet, "caller"); expectNoProperty(callerSet, "arguments"); expectNoProperty(callerSet, "caller"); - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/extensions/censor-strict-caller.js b/JSTests/test262/test/staging/sm/extensions/censor-strict-caller.js index 4e49e9a9de8b3..36a920e7aa06d 100644 --- a/JSTests/test262/test/staging/sm/extensions/censor-strict-caller.js +++ b/JSTests/test262/test/staging/sm/extensions/censor-strict-caller.js @@ -4,7 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | @@ -16,7 +15,3 @@ function nonstrict() { return nonstrict.caller; } function strict() { "use strict"; return nonstrict(); } assert.sameValue(strict(), null); - -/******************************************************************************/ - -print("All tests passed!"); diff --git a/JSTests/test262/test/staging/sm/extensions/cross-global-eval-is-indirect.js b/JSTests/test262/test/staging/sm/extensions/cross-global-eval-is-indirect.js index faa3c84b2aa6c..f8e1a140c0fc5 100644 --- a/JSTests/test262/test/staging/sm/extensions/cross-global-eval-is-indirect.js +++ b/JSTests/test262/test/staging/sm/extensions/cross-global-eval-is-indirect.js @@ -4,26 +4,13 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict -info: | - needs newGlobal() description: | - pending + |var eval = otherWindow.eval; eval(...)| should behave like indirectly calling that eval from a script in that other window +info: bugzilla.mozilla.org/show_bug.cgi?id=608473 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 608473; -var summary = - '|var eval = otherWindow.eval; eval(...)| should behave like indirectly ' + - 'calling that eval from a script in that other window'; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ var originalEval = eval; var res; @@ -33,34 +20,16 @@ function f() return [this, eval("this")]; } -var otherGlobalSameCompartment = createNewGlobal("same-compartment"); - -eval = otherGlobalSameCompartment.eval; -res = new f(); -assert.sameValue(res[0] !== res[1], true); -assert.sameValue(res[0] !== this, true); -assert.sameValue(res[0] instanceof f, true); -assert.sameValue(res[1], otherGlobalSameCompartment); - -res = f(); -assert.sameValue(res[0] !== res[1], true); -assert.sameValue(res[0], this); -assert.sameValue(res[1], otherGlobalSameCompartment); +var otherGlobal = $262.createRealm().global; -var otherGlobalDifferentCompartment = createNewGlobal(); - -eval = otherGlobalDifferentCompartment.eval; +eval = otherGlobal.eval; res = new f(); assert.sameValue(res[0] !== res[1], true); assert.sameValue(res[0] !== this, true); assert.sameValue(res[0] instanceof f, true); -assert.sameValue(res[1], otherGlobalDifferentCompartment); +assert.sameValue(res[1], otherGlobal); res = f(); assert.sameValue(res[0] !== res[1], true); assert.sameValue(res[0], this); -assert.sameValue(res[1], otherGlobalDifferentCompartment); - -/******************************************************************************/ - -print("All tests passed!"); +assert.sameValue(res[1], otherGlobal); diff --git a/JSTests/test262/test/staging/sm/extensions/dataview.js b/JSTests/test262/test/staging/sm/extensions/dataview.js index b291836ea3ffd..b4aaeef35a1e0 100644 --- a/JSTests/test262/test/staging/sm/extensions/dataview.js +++ b/JSTests/test262/test/staging/sm/extensions/dataview.js @@ -4,56 +4,16 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + DataView tests +info: bugzilla.mozilla.org/show_bug.cgi?id=575688 esid: pending +features: [host-gc-required] ---*/ -//------------------------------------------------------------------------------ -var BUGNUMBER = 575688; -var summary = 'DataView tests'; function test(sharedMem) { - function die(message, uplevel) { - var e = new Error(message); - var frame = e.stack.split("\n")[uplevel]; - print(message + " at " + frame.split("@")[1]); - print("Stack:\n" + e.stack); - throw(e); - } - function checkThrow(fun, type) { - var thrown = false; - try { - fun(); - } catch (x) { - thrown = x; - } - - if (!thrown) { - die('no exception thrown, expected ' + type.name, 2); - } else if (!(thrown instanceof type)) { - die('expected ' + type.name + ', got ' + thrown, 2); - } - } - - function checkThrowTODO(fun, type) { - var thrown = false; - try { - fun(); - } catch (x) { - thrown = x; - } - - if (!thrown) { - print('(TODO) no exception thrown, expected ' + type.name); - } else if (!(thrown instanceof type)) { - print('(TODO) expected ' + type.name + ', got ' + thrown); - } else { - print('test unexpectedly passed: expected ' + type.name + ' exception'); - } + assert.throws(type, fun); } function bufferize(u8array) { @@ -72,7 +32,7 @@ function test(sharedMem) { } // testConstructor - buffer = bufferize(new Uint8Array([1, 2])); + var buffer = bufferize(new Uint8Array([1, 2])); checkThrow(() => new DataView(buffer, 0, 3), RangeError); checkThrow(() => new DataView(buffer, 1, 2), RangeError); checkThrow(() => new DataView(buffer, 2, 1), RangeError); @@ -88,7 +48,7 @@ function test(sharedMem) { var data1_r = data1.slice().reverse(); var buffer1 = bufferize(new Uint8Array(data1)); var view1 = new DataView(buffer1, 0, 16); - view = view1; + var view = view1; assert.sameValue(view.getInt8(0), 0); assert.sameValue(view.getInt8(8), -128); assert.sameValue(view.getInt8(15), -1); @@ -1564,7 +1524,7 @@ function test(sharedMem) { checkThrow(() => DataView.prototype.buffer, TypeError); // Protos and proxies, oh my! - var alien = createNewGlobal(); + var alien = $262.createRealm().global; var alien_data = alien.eval('data = ' + JSON.stringify(data1)); var alien_buffer = alien.eval(`buffer = new ${sharedMem ? 'Shared' : ''}ArrayBuffer(data.length)`); alien.eval('new Uint8Array(buffer).set(data)'); @@ -1596,10 +1556,7 @@ function test(sharedMem) { } catch (exc) { e = exc; } - if (!e) { - print("==== TODO but PASSED? ===="); - print("Bug 753996 unexpectedly passed"); - } + assert.notSameValue(e, null); // proto is proxy for view of buffer: should throw TypeError // @@ -1607,8 +1564,8 @@ function test(sharedMem) { // TypeError, and in fact it throws a (thisglobal).TypeError instead of // alien.TypeError. var av = Object.create(alien_view); - checkThrowTODO(() => av.getUint8(4), alien.TypeError); - checkThrowTODO(() => av.buffer, alien.TypeError); + checkThrow(() => av.getUint8(4), alien.TypeError); + checkThrow(() => av.buffer, alien.TypeError); // view of object whose proto is buffer. This should not work per dherman. // Note that DataView throws a TypeError while TypedArrays create a diff --git a/JSTests/test262/test/staging/sm/extensions/decompile-for-of.js b/JSTests/test262/test/staging/sm/extensions/decompile-for-of.js index 79854e2e994bc..ca29b8d9179bd 100644 --- a/JSTests/test262/test/staging/sm/extensions/decompile-for-of.js +++ b/JSTests/test262/test/staging/sm/extensions/decompile-for-of.js @@ -2,31 +2,21 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending ---*/ -// The decompiler can handle the implicit call to @@iterator in a for-of loop. -var x; -function check(code, msg) { - assertThrowsInstanceOfWithMessage( - () => eval(code), - TypeError, - msg); -} +// The decompiler can handle the implicit call to @@iterator in a for-of loop. -x = {}; -check("for (var v of x) throw fit;", "x is not iterable"); -check("[...x]", "x is not iterable"); -check("Math.hypot(...x)", "x is not iterable"); +var x = {}; +assert.throws(TypeError, () => eval("for (var v of x) throw fit;"), "x is not iterable"); +assert.throws(TypeError, () => eval("[...x]"), "x is not iterable"); +assert.throws(TypeError, () => eval("Math.hypot(...x)"), "x is not iterable"); x[Symbol.iterator] = "potato"; -check("for (var v of x) throw fit;", "x is not iterable"); +assert.throws(TypeError, () => eval("for (var v of x) throw fit;"), "x is not iterable"); x[Symbol.iterator] = {}; -check("for (var v of x) throw fit;", "x[Symbol.iterator] is not a function"); +assert.throws(TypeError, () => eval("for (var v of x) throw fit;"), "x[Symbol.iterator] is not a function"); diff --git a/JSTests/test262/test/staging/sm/extensions/destructure-accessor.js b/JSTests/test262/test/staging/sm/extensions/destructure-accessor.js index 69b5e3cd5187e..99ead85d9c532 100644 --- a/JSTests/test262/test/staging/sm/extensions/destructure-accessor.js +++ b/JSTests/test262/test/staging/sm/extensions/destructure-accessor.js @@ -4,22 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + { get x(v) { } } and { set x(v, v2) { } } should be syntax errors +info: bugzilla.mozilla.org/show_bug.cgi?id=536472 esid: pending ---*/ -var gTestfile = 'destructure-accessor.js'; -//----------------------------------------------------------------------------- -var BUGNUMBER = 536472; -var summary = - 'ES5: { get x(v) { } } and { set x(v, v2) { } } should be syntax errors'; - -print(BUGNUMBER + ": " + summary); - -//----------------------------------------------------------------------------- function expectOk(s) { @@ -37,16 +26,9 @@ function expectOk(s) function expectSyntaxError(s) { - try - { + assert.throws(SyntaxError, function() { eval(s); - throw new Error("no error thrown"); - } - catch (e) - { - assert.sameValue(e instanceof SyntaxError, true, - "expected syntax error parsing '" + s + "', got: " + e); - } + }, "expected syntax error parsing '" + s + "'"); } expectSyntaxError("({ get x([]) { } })"); @@ -79,6 +61,3 @@ expectOk("({ set x([, b, c]) { } })"); expectOk("({ set x([, b, c,]) { } })"); expectOk("({ set x({ a: a }) { } })"); expectOk("({ set x({ a: a, b: b }) { } })"); - -//----------------------------------------------------------------------------- - diff --git a/JSTests/test262/test/staging/sm/extensions/destructuring-__proto__-shorthand-assignment-before-var.js b/JSTests/test262/test/staging/sm/extensions/destructuring-__proto__-shorthand-assignment-before-var.js index 7f3bdbaf13430..760c962ec433c 100644 --- a/JSTests/test262/test/staging/sm/extensions/destructuring-__proto__-shorthand-assignment-before-var.js +++ b/JSTests/test262/test/staging/sm/extensions/destructuring-__proto__-shorthand-assignment-before-var.js @@ -4,22 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + { __proto__ } should work as a destructuring assignment pattern +info: bugzilla.mozilla.org/show_bug.cgi?id=963641 esid: pending ---*/ -var gTestfile = 'destructuring-__proto__-shorthand-assignment-before-var.js'; -var BUGNUMBER = 963641; -var summary = "{ __proto__ } should work as a destructuring assignment pattern"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ function objectWithProtoProperty(v) { @@ -48,7 +37,3 @@ function nested() assert.sameValue(__proto__, "fnord"); } nested(); - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/extensions/destructuring-__proto__-shorthand-assignment.js b/JSTests/test262/test/staging/sm/extensions/destructuring-__proto__-shorthand-assignment.js index aee71bc620988..2e5134985b4f0 100644 --- a/JSTests/test262/test/staging/sm/extensions/destructuring-__proto__-shorthand-assignment.js +++ b/JSTests/test262/test/staging/sm/extensions/destructuring-__proto__-shorthand-assignment.js @@ -4,22 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + { __proto__ } should work as a destructuring assignment pattern +info: bugzilla.mozilla.org/show_bug.cgi?id=963641 esid: pending ---*/ -var gTestfile = 'destructuring-__proto__-shorthand-assignment.js'; -var BUGNUMBER = 963641; -var summary = "{ __proto__ } should work as a destructuring assignment pattern"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ function objectWithProtoProperty(v) { @@ -48,7 +37,3 @@ function nested() assert.sameValue(__proto__, undefined); } nested(); - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/extensions/destructuring-__proto__-target-assignment.js b/JSTests/test262/test/staging/sm/extensions/destructuring-__proto__-target-assignment.js index a4ec6bf549e18..bcb8429aa0597 100644 --- a/JSTests/test262/test/staging/sm/extensions/destructuring-__proto__-target-assignment.js +++ b/JSTests/test262/test/staging/sm/extensions/destructuring-__proto__-target-assignment.js @@ -4,23 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + { __proto__: target } should work as a destructuring assignment pattern +info: bugzilla.mozilla.org/show_bug.cgi?id=963641 esid: pending ---*/ -var gTestfile = 'destructuring-__proto__-target--assignment.js'; -var BUGNUMBER = 963641; -var summary = - "{ __proto__: target } should work as a destructuring assignment pattern"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ function objectWithProtoProperty(v) { @@ -49,7 +37,3 @@ function nested() assert.sameValue(target, -0); } nested(); - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/extensions/destructuring-for-inof-__proto__.js b/JSTests/test262/test/staging/sm/extensions/destructuring-for-inof-__proto__.js index a660e26180ec3..af2d1ca518395 100644 --- a/JSTests/test262/test/staging/sm/extensions/destructuring-for-inof-__proto__.js +++ b/JSTests/test262/test/staging/sm/extensions/destructuring-for-inof-__proto__.js @@ -4,24 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + __proto__ should work in destructuring patterns as the targets of for-in/for-of loops +info: bugzilla.mozilla.org/show_bug.cgi?id=963641 esid: pending ---*/ -var gTestfile = 'destructuring-for-inof-__proto__.js'; -var BUGNUMBER = 963641; -var summary = - "__proto__ should work in destructuring patterns as the targets of " + - "for-in/for-of loops"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ function objectWithProtoProperty(v) { @@ -84,7 +71,3 @@ function nested() assert.sameValue(target, String.prototype); } nested(); - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/extensions/element-setting-ToNumber-detaches.js b/JSTests/test262/test/staging/sm/extensions/element-setting-ToNumber-detaches.js index 6c894aaab2c95..4a5c4b56ed985 100644 --- a/JSTests/test262/test/staging/sm/extensions/element-setting-ToNumber-detaches.js +++ b/JSTests/test262/test/staging/sm/extensions/element-setting-ToNumber-detaches.js @@ -4,38 +4,12 @@ */ /*--- -flags: - - onlyStrict -includes: [sm/non262.js, sm/non262-shell.js] description: | - pending + Don't assert assigning into memory detached while converting the value to assign into a number +info: bugzilla.mozilla.org/show_bug.cgi?id=1001547 esid: pending ---*/ -"use strict"; // make test fail when limitation below is fixed - -var gTestfile = 'element-setting-ToNumber-detaches.js'; -//----------------------------------------------------------------------------- -var BUGNUMBER = 1001547; -var summary = - "Don't assert assigning into memory detached while converting the value to " + - "assign into a number"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ - -// Technically per current spec the element-sets should throw in strict mode, -// but we just silently do nothing for now, somewhat due to limitations of our -// internal MOP (which can't easily say "try this special behavior, else fall -// back on normal logic"), somewhat because it's consistent with current -// behavior (as of this test's addition) for out-of-bounds sets. var ab = new ArrayBuffer(64); var ta = new Uint32Array(ab); ta[4] = { valueOf() { $262.detachArrayBuffer(ab); return 5; } }; - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/extensions/error-tostring-function.js b/JSTests/test262/test/staging/sm/extensions/error-tostring-function.js index 6eb7503203c4a..083a4d0dcc7c1 100644 --- a/JSTests/test262/test/staging/sm/extensions/error-tostring-function.js +++ b/JSTests/test262/test/staging/sm/extensions/error-tostring-function.js @@ -4,24 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Error.prototype.toString called on function objects should work as on any object +info: bugzilla.mozilla.org/show_bug.cgi?id=894653 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 894653; -var summary = - "Error.prototype.toString called on function objects should work as on any " + - "object"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ function ErrorToString(v) { @@ -46,7 +33,3 @@ assert.sameValue(ErrorToString(fn2), "blerch: fnord"); var fn3 = function() {}; fn3.message = ""; assert.sameValue(ErrorToString(fn3), "fn3"); - -/******************************************************************************/ - -print("Tests complete!"); diff --git a/JSTests/test262/test/staging/sm/extensions/es5ish-defineGetter-defineSetter.js b/JSTests/test262/test/staging/sm/extensions/es5ish-defineGetter-defineSetter.js index aed831529cd01..a01fe44f1aaa9 100644 --- a/JSTests/test262/test/staging/sm/extensions/es5ish-defineGetter-defineSetter.js +++ b/JSTests/test262/test/staging/sm/extensions/es5ish-defineGetter-defineSetter.js @@ -4,22 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Implement __define[GS]etter__ using Object.defineProperty +info: bugzilla.mozilla.org/show_bug.cgi?id=715821 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 715821; -var summary = "Implement __define[GS]etter__ using Object.defineProperty"; - -print(BUGNUMBER + ": " + summary); - -/************* - * UTILITIES * - *************/ function s(desc) { @@ -77,20 +66,6 @@ function check(obj, prop, expected) checkField("configurable", desc, expected); } -function expectTypeError(f) -{ - try - { - f(); - throw new Error("no error thrown"); - } - catch (e) - { - assert.sameValue(e instanceof TypeError, true, - "wrong error thrown: got " + e + ", not a TypeError"); - } -} - /************** * BEGIN TEST * **************/ @@ -147,8 +122,8 @@ gsobj.__defineSetter__("baz", s3); check(gsobj, "baz", { get: g3, set: s3, enumerable: true, configurable: true }); Object.defineProperty(gsobj, "baz", { configurable: false }); -expectTypeError(function() { gsobj.__defineSetter__("baz", s2); }); -expectTypeError(function() { gsobj.__defineSetter__("baz", s3); }); +assert.throws(TypeError, function() { gsobj.__defineSetter__("baz", s2); }); +assert.throws(TypeError, function() { gsobj.__defineSetter__("baz", s3); }); check(gsobj, "baz", { get: g3, set: s3, enumerable: true, configurable: false }); /******************************************************************************/ @@ -179,8 +154,8 @@ sgobj.__defineSetter__("baz", s4); check(sgobj, "baz", { get: g4, set: s4, enumerable: true, configurable: true }); Object.defineProperty(sgobj, "baz", { configurable: false }); -expectTypeError(function() { sgobj.__defineGetter__("baz", g3); }); -expectTypeError(function() { sgobj.__defineSetter__("baz", s4); }); +assert.throws(TypeError, function() { sgobj.__defineGetter__("baz", g3); }); +assert.throws(TypeError, function() { sgobj.__defineSetter__("baz", s4); }); check(sgobj, "baz", { get: g4, set: s4, enumerable: true, configurable: false }); /******************************************************************************/ @@ -241,7 +216,7 @@ check(gncover, "moo", { value: 17, writable: true, enumerable: true, configurabl Object.defineProperty(gncover, "moo", { configurable: false }); check(gncover, "moo", { value: 17, writable: true, enumerable: true, configurable: false }); -expectTypeError(function() { gncover.__defineGetter__("moo", g7); }); +assert.throws(TypeError, function() { gncover.__defineGetter__("moo", g7); }); check(gncover, "moo", { value: 17, writable: true, enumerable: true, configurable: false }); /******************************************************************************/ @@ -254,7 +229,7 @@ check(sncover, "moo", { value: 17, writable: true, enumerable: true, configurabl Object.defineProperty(sncover, "moo", { configurable: false }); check(sncover, "moo", { value: 17, writable: true, enumerable: true, configurable: false }); -expectTypeError(function() { sncover.__defineSetter__("moo", s7); }); +assert.throws(TypeError, function() { sncover.__defineSetter__("moo", s7); }); check(sncover, "moo", { value: 17, writable: true, enumerable: true, configurable: false }); /******************************************************************************/ @@ -267,7 +242,7 @@ check(gncwover, "fwoosh", { value: 17, writable: true, enumerable: true, configu Object.defineProperty(gncwover, "fwoosh", { writable: false, configurable: false }); check(gncwover, "fwoosh", { value: 17, writable: false, enumerable: true, configurable: false }); -expectTypeError(function() { gncwover.__defineGetter__("fwoosh", g7); }); +assert.throws(TypeError, function() { gncwover.__defineGetter__("fwoosh", g7); }); check(gncwover, "fwoosh", { value: 17, writable: false, enumerable: true, configurable: false }); /******************************************************************************/ @@ -280,9 +255,5 @@ check(sncwover, "fwoosh", { value: 17, writable: true, enumerable: true, configu Object.defineProperty(sncwover, "fwoosh", { writable: false, configurable: false }); check(sncwover, "fwoosh", { value: 17, writable: false, enumerable: true, configurable: false }); -expectTypeError(function() { sncwover.__defineSetter__("fwoosh", s7); }); +assert.throws(TypeError, function() { sncwover.__defineSetter__("fwoosh", s7); }); check(sncwover, "fwoosh", { value: 17, writable: false, enumerable: true, configurable: false }); - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/extensions/eval-native-callback-is-indirect.js b/JSTests/test262/test/staging/sm/extensions/eval-native-callback-is-indirect.js index 73a14680cbacb..0d97518b68b7e 100644 --- a/JSTests/test262/test/staging/sm/extensions/eval-native-callback-is-indirect.js +++ b/JSTests/test262/test/staging/sm/extensions/eval-native-callback-is-indirect.js @@ -4,22 +4,13 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | - pending + eval called from a native function is indirect +info: bugzilla.mozilla.org/show_bug.cgi?id=604504 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 604504; -var summary = "eval called from a native function is indirect"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ var originalEval = eval; @@ -34,7 +25,3 @@ function testArrayGeneric() var mapped = eval([directCheckCode], originalEval); assert.sameValue(mapped[0], true); } - -/******************************************************************************/ - -print("All tests passed!"); diff --git a/JSTests/test262/test/staging/sm/extensions/expression-closure-syntax.js b/JSTests/test262/test/staging/sm/extensions/expression-closure-syntax.js index 529d7e3e31762..6011480178f0c 100644 --- a/JSTests/test262/test/staging/sm/extensions/expression-closure-syntax.js +++ b/JSTests/test262/test/staging/sm/extensions/expression-closure-syntax.js @@ -4,44 +4,20 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Expression closure syntax is only permitted for functions that constitute entire AssignmentExpressions, not PrimaryExpressions that are themselves components of larger binary expressions +info: bugzilla.mozilla.org/show_bug.cgi?id=1416337 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 1416337; -var summary = - "Expression closure syntax is only permitted for functions that constitute " + - "entire AssignmentExpressions, not PrimaryExpressions that are themselves " + - "components of larger binary expressions"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ { function assertThrowsSyntaxError(code) { function testOne(replacement) { - var x, rv; - try - { - rv = eval(code.replace("@@@", replacement)); - } - catch (e) - { - assert.sameValue(e instanceof SyntaxError, true, - "should have thrown a SyntaxError, instead got: " + e); - return; - } - - assert.sameValue(true, false, "should have thrown, instead returned " + rv); + assert.throws(SyntaxError, function() { + eval(code.replace("@@@", replacement)); + }); } testOne("function"); @@ -67,4 +43,3 @@ print(BUGNUMBER + ": " + summary); assertThrowsSyntaxError("x = @@@() 0 ? 1 : a => {} && true"); assertThrowsSyntaxError("x = true && @@@() 0 ? 1 : a => {}"); } - diff --git a/JSTests/test262/test/staging/sm/extensions/extension-methods-reject-null-undefined-this.js b/JSTests/test262/test/staging/sm/extensions/extension-methods-reject-null-undefined-this.js index c66fe36c1a6e9..600f0ea67299a 100644 --- a/JSTests/test262/test/staging/sm/extensions/extension-methods-reject-null-undefined-this.js +++ b/JSTests/test262/test/staging/sm/extensions/extension-methods-reject-null-undefined-this.js @@ -4,26 +4,12 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + ECMAScript built-in methods that immediately throw when |this| is |undefined| or |null| (due to CheckObjectCoercible, ToObject, or ToString) +info: bugzilla.mozilla.org/show_bug.cgi?id=619283 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 619283; -var summary = - "ECMAScript built-in methods that immediately throw when |this| is " + - "|undefined| or |null| (due to CheckObjectCoercible, ToObject, or ToString)"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ - // This test fills out for the non-standard methods which // non262/misc/builtin-methods-reject-null-undefined-this.js declines to test. @@ -52,44 +38,23 @@ function testMethod(Class, className, method) var badThis = badThisValues[i]; expr = className + ".prototype." + method + ".call(" + badThis + ")"; - try - { + assert.throws(TypeError, function() { Class.prototype[method].call(badThis); - throw new Error(expr + " didn't throw a TypeError"); - } - catch (e) - { - assert.sameValue(e instanceof TypeError, true, - "wrong error for " + expr + ", instead threw " + e); - } + }, "wrong error for " + expr); expr = className + ".prototype." + method + ".apply(" + badThis + ")"; - try - { + assert.throws(TypeError, function() { Class.prototype[method].apply(badThis); - throw new Error(expr + " didn't throw a TypeError"); - } - catch (e) - { - assert.sameValue(e instanceof TypeError, true, - "wrong error for " + expr + ", instead threw " + e); - } + }, "wrong error for " + expr); } // ..and for good measure.. expr = "(0, " + className + ".prototype." + method + ")()" - try - { + assert.throws(TypeError, function() { // comma operator to call GetValue() on the method and de-Reference it (0, Class.prototype[method])(); - throw new Error(expr + " didn't throw a TypeError"); - } - catch (e) - { - assert.sameValue(e instanceof TypeError, true, - "wrong error for " + expr + ", instead threw " + e); - } + }, "wrong error for " + expr); } for (var className in ClassToMethodMap) @@ -103,7 +68,3 @@ for (var className in ClassToMethodMap) testMethod(Class, className, method); } } - -/******************************************************************************/ - -print("All tests passed!"); diff --git a/JSTests/test262/test/staging/sm/extensions/for-loop-with-lexical-declaration-and-nested-function-statement.js b/JSTests/test262/test/staging/sm/extensions/for-loop-with-lexical-declaration-and-nested-function-statement.js index 3cf0eedb4baca..b2a69fe3656c2 100644 --- a/JSTests/test262/test/staging/sm/extensions/for-loop-with-lexical-declaration-and-nested-function-statement.js +++ b/JSTests/test262/test/staging/sm/extensions/for-loop-with-lexical-declaration-and-nested-function-statement.js @@ -4,27 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Don't assert when freshening the scope chain for a for-loop whose head contains a lexical declaration, where the loop body might add more bindings at runtime +info: bugzilla.mozilla.org/show_bug.cgi?id=1149797 esid: pending ---*/ -var gTestfile = - "for-loop-with-lexical-declaration-and-nested-function-statement.js"; -//----------------------------------------------------------------------------- -var BUGNUMBER = 1149797; -var summary = - "Don't assert when freshening the scope chain for a for-loop whose head " + - "contains a lexical declaration, where the loop body might add more " + - "bindings at runtime"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ for (let x = 0; x < 9; ++x) { function q1() {} @@ -129,7 +113,3 @@ function h2() } } h2(); - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/extensions/function-caller-skips-eval-frames.js b/JSTests/test262/test/staging/sm/extensions/function-caller-skips-eval-frames.js index e6fe5bd633ee5..c0a7291d2771c 100644 --- a/JSTests/test262/test/staging/sm/extensions/function-caller-skips-eval-frames.js +++ b/JSTests/test262/test/staging/sm/extensions/function-caller-skips-eval-frames.js @@ -4,13 +4,13 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | pending esid: pending ---*/ + function innermost() { return arguments.callee.caller; } function nest() { return eval("innermost();"); } function nest2() { return nest(); } @@ -35,7 +35,3 @@ function innermostEvalTwice() { return eval('eval("arguments.callee.caller");'); var innermost = innermostEvalTwice; assert.sameValue(nest2(), nestTwice); - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/extensions/function-properties.js b/JSTests/test262/test/staging/sm/extensions/function-properties.js index 0d16f8f64d052..4609f8a5824d7 100644 --- a/JSTests/test262/test/staging/sm/extensions/function-properties.js +++ b/JSTests/test262/test/staging/sm/extensions/function-properties.js @@ -4,13 +4,13 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | pending esid: pending ---*/ + function foo() { assert.sameValue(foo.arguments.length, 0); @@ -22,7 +22,3 @@ assert.sameValue(foo.caller, null); foo(); assert.sameValue(foo.arguments, null); assert.sameValue(foo.caller, null); - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/extensions/getOwnPropertyNames-__proto__.js b/JSTests/test262/test/staging/sm/extensions/getOwnPropertyNames-__proto__.js index 4c12bc6e4d85b..ff7cb20584d26 100644 --- a/JSTests/test262/test/staging/sm/extensions/getOwnPropertyNames-__proto__.js +++ b/JSTests/test262/test/staging/sm/extensions/getOwnPropertyNames-__proto__.js @@ -4,28 +4,13 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + __proto__ should show up with O.getOwnPropertyNames(O.prototype) +info: bugzilla.mozilla.org/show_bug.cgi?id=837630 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 837630; -var summary ='__proto__ should show up with O.getOwnPropertyNames(O.prototype)'; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ var keys = Object.getOwnPropertyNames(Object.prototype); assert.sameValue(keys.indexOf("__proto__") >= 0, true, "should have gotten __proto__ as a property of Object.prototype " + "(got these properties: " + keys + ")"); - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/extensions/keyword-unescaped-requirement.js b/JSTests/test262/test/staging/sm/extensions/keyword-unescaped-requirement.js index 0407b5b7e4682..76bf428f30cc2 100644 --- a/JSTests/test262/test/staging/sm/extensions/keyword-unescaped-requirement.js +++ b/JSTests/test262/test/staging/sm/extensions/keyword-unescaped-requirement.js @@ -4,24 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Escape sequences aren't allowed in bolded grammar tokens (that is, in keywords, possibly contextual keywords) +info: bugzilla.mozilla.org/show_bug.cgi?id=1204027 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 1204027; -var summary = - "Escape sequences aren't allowed in bolded grammar tokens (that is, in " + - "keywords, possibly contextual keywords)"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ var randomExtensions = [ @@ -39,10 +26,5 @@ var randomExtensions = for (var extension of randomExtensions) { - assertThrowsInstanceOf(() => Function(extension), SyntaxError, - "bad behavior for: " + extension); + assert.throws(SyntaxError, () => Function(extension), "bad behavior for: " + extension); } - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/extensions/mutable-proto-special-form.js b/JSTests/test262/test/staging/sm/extensions/mutable-proto-special-form.js index 0f8306a5d8ecb..7c704cf66ad30 100644 --- a/JSTests/test262/test/staging/sm/extensions/mutable-proto-special-form.js +++ b/JSTests/test262/test/staging/sm/extensions/mutable-proto-special-form.js @@ -4,30 +4,16 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Make __proto__ in object literals a special form not influenced by |Object.prototype| +info: bugzilla.mozilla.org/show_bug.cgi?id=948583 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 948583; -var summary = - "Make __proto__ in object literals a special form not influenced by " + - "|Object.prototype|"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ var passed = true; function performProtoTests(msg) { - print("Testing " + msg); assert.sameValue(passed, true, "passed wrong at start of test set"); assert.sameValue(Object.getPrototypeOf({ __proto__: null }), null); @@ -38,7 +24,6 @@ function performProtoTests(msg) assert.sameValue(Object.getPrototypeOf({ __proto__: obj }), obj); assert.sameValue(passed, true, "passed wrong at end of test set"); - print("Tests of " + msg + " passed!"); } function poisonProto(obj) @@ -94,5 +79,3 @@ try "proxy that throws for any access"); } catch (e) {} - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/extensions/nested-delete-name-in-evalcode.js b/JSTests/test262/test/staging/sm/extensions/nested-delete-name-in-evalcode.js index 435601f8977a6..9f215b697d570 100644 --- a/JSTests/test262/test/staging/sm/extensions/nested-delete-name-in-evalcode.js +++ b/JSTests/test262/test/staging/sm/extensions/nested-delete-name-in-evalcode.js @@ -4,24 +4,13 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | - pending + |delete x| inside a function in eval code, where that eval code includes |var x| at top level, actually does delete the binding for x +info: bugzilla.mozilla.org/show_bug.cgi?id=616294 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 616294; -var summary = - "|delete x| inside a function in eval code, where that eval code includes " + - "|var x| at top level, actually does delete the binding for x"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ var f; @@ -85,8 +74,3 @@ function testFunctionLocal() f = testFunctionLocal(); assert.sameValue(f(), false); // defined by function code => not configurable => false - - -/******************************************************************************/ - -print("All tests passed!"); diff --git a/JSTests/test262/test/staging/sm/extensions/new-cross-compartment.js b/JSTests/test262/test/staging/sm/extensions/new-cross-compartment.js index c5590a6a2489a..07b6b969a69ae 100644 --- a/JSTests/test262/test/staging/sm/extensions/new-cross-compartment.js +++ b/JSTests/test262/test/staging/sm/extensions/new-cross-compartment.js @@ -4,43 +4,21 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + |new| on a cross-compartment wrapper to a non-constructor shouldn't assert +info: bugzilla.mozilla.org/show_bug.cgi?id=1178653 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 1178653; -var summary = - "|new| on a cross-compartment wrapper to a non-constructor shouldn't assert"; -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ - -var g = createNewGlobal(); +var g = $262.createRealm().global; var otherStr = new g.String("foo"); assert.sameValue(otherStr instanceof g.String, true); assert.sameValue(otherStr.valueOf(), "foo"); -try -{ +// NOTE: not |g.TypeError|, because |new| itself throws because +// |!IsConstructor(constructor)|. +assert.throws(TypeError, function() { var constructor = g.parseInt; new constructor(); - throw new Error("no error thrown"); -} -catch (e) -{ - // NOTE: not |g.TypeError|, because |new| itself throws because - // |!IsConstructor(constructor)|. - assert.sameValue(e instanceof TypeError, true); -} - -/******************************************************************************/ - -print("Tests complete"); +}); diff --git a/JSTests/test262/test/staging/sm/extensions/new-parenthesization.js b/JSTests/test262/test/staging/sm/extensions/new-parenthesization.js index 4b4be8d7d1349..61aa7577095a6 100644 --- a/JSTests/test262/test/staging/sm/extensions/new-parenthesization.js +++ b/JSTests/test262/test/staging/sm/extensions/new-parenthesization.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/extensions/newer-type-functions-caller-arguments.js b/JSTests/test262/test/staging/sm/extensions/newer-type-functions-caller-arguments.js index 7f27ff67a0734..13d3b18af0ae2 100644 --- a/JSTests/test262/test/staging/sm/extensions/newer-type-functions-caller-arguments.js +++ b/JSTests/test262/test/staging/sm/extensions/newer-type-functions-caller-arguments.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending @@ -92,12 +89,12 @@ functions.forEach(f => { }); function checkArgumentsAccess(f) { - assertThrowsInstanceOf(() => f.arguments, TypeError, - `Expected 'arguments' property access to throw on ${f}`); + assert.throws(TypeError, () => f.arguments, + `Expected 'arguments' property access to throw on ${f}`); } function checkCallerAccess(f) { - assertThrowsInstanceOf(() => f.caller, TypeError, - `Expected 'caller' property access to throw on ${f}`); + assert.throws(TypeError, () => f.caller, + `Expected 'caller' property access to throw on ${f}`); } diff --git a/JSTests/test262/test/staging/sm/extensions/proxy-array-target-length-definition.js b/JSTests/test262/test/staging/sm/extensions/proxy-array-target-length-definition.js index 812500567e75d..cca33587aeb4e 100644 --- a/JSTests/test262/test/staging/sm/extensions/proxy-array-target-length-definition.js +++ b/JSTests/test262/test/staging/sm/extensions/proxy-array-target-length-definition.js @@ -4,43 +4,20 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Redefining an array's |length| property when redefining the |length| property on a proxy with an array as target +info: bugzilla.mozilla.org/show_bug.cgi?id=905947 esid: pending ---*/ -var gTestfile = 'proxy-array-target-length-definition.js'; -var BUGNUMBER = 905947; -var summary = - "Redefining an array's |length| property when redefining the |length| " + - "property on a proxy with an array as target"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ var arr = []; var p = new Proxy(arr, {}); -function assertThrowsTypeError(f) -{ - try { - f(); - assert.sameValue(false, true, "Must have thrown"); - } catch (e) { - assert.sameValue(e instanceof TypeError, true, "Must have thrown TypeError"); - } -} - // Redefining non-configurable length should throw a TypeError -assertThrowsTypeError(function () { Object.defineProperty(p, "length", { value: 17, configurable: true }); }); +assert.throws(TypeError, function () { Object.defineProperty(p, "length", { value: 17, configurable: true }); }); // Same here. -assertThrowsTypeError(function () { Object.defineProperty(p, "length", { value: 42, enumerable: true }); }); +assert.throws(TypeError, function () { Object.defineProperty(p, "length", { value: 42, enumerable: true }); }); // Check the property went unchanged. var pd = Object.getOwnPropertyDescriptor(p, "length"); @@ -54,7 +31,3 @@ assert.sameValue(ad.value, 0); assert.sameValue(ad.writable, true); assert.sameValue(ad.enumerable, false); assert.sameValue(ad.configurable, false); - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/extensions/proxy-enumeration.js b/JSTests/test262/test/staging/sm/extensions/proxy-enumeration.js index 5a9732514c70e..e882b02aed432 100644 --- a/JSTests/test262/test/staging/sm/extensions/proxy-enumeration.js +++ b/JSTests/test262/test/staging/sm/extensions/proxy-enumeration.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/extensions/proxy-strict.js b/JSTests/test262/test/staging/sm/extensions/proxy-strict.js index 8764658bf02a3..16fda20419f43 100644 --- a/JSTests/test262/test/staging/sm/extensions/proxy-strict.js +++ b/JSTests/test262/test/staging/sm/extensions/proxy-strict.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/extensions/quote-string-for-nul-character.js b/JSTests/test262/test/staging/sm/extensions/quote-string-for-nul-character.js index 76d122b8d5faa..517354b44dbeb 100644 --- a/JSTests/test262/test/staging/sm/extensions/quote-string-for-nul-character.js +++ b/JSTests/test262/test/staging/sm/extensions/quote-string-for-nul-character.js @@ -2,92 +2,64 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending ---*/ + // Ensure we properly quote strings which can contain the NUL character before // returning them to the user to avoid cutting off any trailing characters. -function assertStringIncludes(actual, expected) { - assert.sameValue(actual.includes(expected), true, `"${actual}" includes "${expected}"`); -} - -assertThrownErrorContains(() => "foo\0bar" in "asdf\0qwertz", "bar"); -assertThrownErrorContains(() => "foo\0bar" in "asdf\0qwertz", "qwertz"); +assert.throws(TypeError, () => "foo\0bar" in "asdf\0qwertz", "bar"); +assert.throws(TypeError, () => "foo\0bar" in "asdf\0qwertz", "qwertz"); if (this.Intl) { - assertThrownErrorContains(() => Intl.getCanonicalLocales("de\0Latn"), "Latn"); - - assertThrownErrorContains(() => Intl.Collator.supportedLocalesOf([], {localeMatcher:"lookup\0cookie"}), "cookie"); - assertThrownErrorContains(() => new Intl.Collator("en", {localeMatcher: "lookup\0cookie"}), "cookie"); - assertThrownErrorContains(() => new Intl.Collator("en", {usage: "sort\0cookie"}), "cookie"); - assertThrownErrorContains(() => new Intl.Collator("en", {caseFirst: "upper\0cookie"}), "cookie"); - assertThrownErrorContains(() => new Intl.Collator("en", {sensitivity: "base\0cookie"}), "cookie"); - - assertThrownErrorContains(() => Intl.DateTimeFormat.supportedLocalesOf([], {localeMatcher:"lookup\0cookie"}), "cookie"); - assertThrownErrorContains(() => new Intl.DateTimeFormat("en", {localeMatcher: "lookup\0cookie"}), "cookie"); - assertThrownErrorContains(() => new Intl.DateTimeFormat("en", {hourCycle: "h24\0cookie"}), "cookie"); - assertThrownErrorContains(() => new Intl.DateTimeFormat("en", {weekday: "narrow\0cookie"}), "cookie"); - assertThrownErrorContains(() => new Intl.DateTimeFormat("en", {era: "narrow\0cookie"}), "cookie"); - assertThrownErrorContains(() => new Intl.DateTimeFormat("en", {year: "2-digit\0cookie"}), "cookie"); - assertThrownErrorContains(() => new Intl.DateTimeFormat("en", {month: "2-digit\0cookie"}), "cookie"); - assertThrownErrorContains(() => new Intl.DateTimeFormat("en", {day: "2-digit\0cookie"}), "cookie"); - assertThrownErrorContains(() => new Intl.DateTimeFormat("en", {hour: "2-digit\0cookie"}), "cookie"); - assertThrownErrorContains(() => new Intl.DateTimeFormat("en", {minute: "2-digit\0cookie"}), "cookie"); - assertThrownErrorContains(() => new Intl.DateTimeFormat("en", {second: "2-digit\0cookie"}), "cookie"); - assertThrownErrorContains(() => new Intl.DateTimeFormat("en", {formatMatcher: "basic\0cookie"}), "cookie"); - assertThrownErrorContains(() => new Intl.DateTimeFormat("en", {timeZone: "UTC\0cookie"}), "cookie"); - - assertThrownErrorContains(() => Intl.NumberFormat.supportedLocalesOf([], {localeMatcher:"lookup\0cookie"}), "cookie"); - assertThrownErrorContains(() => new Intl.NumberFormat("en", {localeMatcher: "lookup\0cookie"}), "cookie"); - assertThrownErrorContains(() => new Intl.NumberFormat("en", {style: "decimal\0cookie"}), "cookie"); - assertThrownErrorContains(() => new Intl.NumberFormat("en", {currency: "USD\0cookie"}), "cookie"); - assertThrownErrorContains(() => new Intl.NumberFormat("en", {currencyDisplay: "code\0cookie"}), "cookie"); - - assertThrownErrorContains(() => Intl.PluralRules.supportedLocalesOf([], {localeMatcher:"lookup\0cookie"}), "cookie"); - assertThrownErrorContains(() => new Intl.PluralRules("en", {localeMatcher: "lookup\0cookie"}), "cookie"); - assertThrownErrorContains(() => new Intl.PluralRules("en", {type: "cardinal\0cookie"}), "cookie"); - - assertThrownErrorContains(() => Intl.RelativeTimeFormat.supportedLocalesOf([], {localeMatcher:"lookup\0cookie"}), "cookie"); - assertThrownErrorContains(() => new Intl.RelativeTimeFormat("en", {localeMatcher: "lookup\0cookie"}), "cookie"); - assertThrownErrorContains(() => new Intl.RelativeTimeFormat("en", {style: "long\0cookie"}), "cookie"); - assertThrownErrorContains(() => new Intl.RelativeTimeFormat("en", {numeric: "auto\0cookie"}), "cookie"); - assertThrownErrorContains(() => new Intl.RelativeTimeFormat().format(1, "day\0cookie"), "cookie"); - - assertThrownErrorContains(() => new Intl.Locale("de\0keks"), "keks"); - assertThrownErrorContains(() => new Intl.Locale("de", {language: "it\0biscotto"}), "biscotto"); - assertThrownErrorContains(() => new Intl.Locale("th", {script: "Thai\0คุกกี้"}), "\\u0E04\\u0E38\\u0E01\\u0E01\\u0E35\\u0E49"); - assertThrownErrorContains(() => new Intl.Locale("en", {region: "GB\0biscuit"}), "biscuit"); - - assertThrownErrorContains(() => new Intl.Locale("und", {calendar: "gregory\0F1"}), "F1"); - assertThrownErrorContains(() => new Intl.Locale("und", {collation: "phonebk\0F2"}), "F2"); - assertThrownErrorContains(() => new Intl.Locale("und", {hourCycle: "h24\0F3"}), "F3"); - assertThrownErrorContains(() => new Intl.Locale("und", {caseFirst: "false\0F4"}), "F4"); - assertThrownErrorContains(() => new Intl.Locale("und", {numberingSystem: "arab\0F5"}), "F5"); + assert.throws(RangeError, () => Intl.getCanonicalLocales("de\0Latn"), "Latn"); + + assert.throws(RangeError, () => Intl.Collator.supportedLocalesOf([], {localeMatcher:"lookup\0cookie"}), "cookie"); + assert.throws(RangeError, () => new Intl.Collator("en", {localeMatcher: "lookup\0cookie"}), "cookie"); + assert.throws(RangeError, () => new Intl.Collator("en", {usage: "sort\0cookie"}), "cookie"); + assert.throws(RangeError, () => new Intl.Collator("en", {caseFirst: "upper\0cookie"}), "cookie"); + assert.throws(RangeError, () => new Intl.Collator("en", {sensitivity: "base\0cookie"}), "cookie"); + + assert.throws(RangeError, () => Intl.DateTimeFormat.supportedLocalesOf([], {localeMatcher:"lookup\0cookie"}), "cookie"); + assert.throws(RangeError, () => new Intl.DateTimeFormat("en", {localeMatcher: "lookup\0cookie"}), "cookie"); + assert.throws(RangeError, () => new Intl.DateTimeFormat("en", {hourCycle: "h24\0cookie"}), "cookie"); + assert.throws(RangeError, () => new Intl.DateTimeFormat("en", {weekday: "narrow\0cookie"}), "cookie"); + assert.throws(RangeError, () => new Intl.DateTimeFormat("en", {era: "narrow\0cookie"}), "cookie"); + assert.throws(RangeError, () => new Intl.DateTimeFormat("en", {year: "2-digit\0cookie"}), "cookie"); + assert.throws(RangeError, () => new Intl.DateTimeFormat("en", {month: "2-digit\0cookie"}), "cookie"); + assert.throws(RangeError, () => new Intl.DateTimeFormat("en", {day: "2-digit\0cookie"}), "cookie"); + assert.throws(RangeError, () => new Intl.DateTimeFormat("en", {hour: "2-digit\0cookie"}), "cookie"); + assert.throws(RangeError, () => new Intl.DateTimeFormat("en", {minute: "2-digit\0cookie"}), "cookie"); + assert.throws(RangeError, () => new Intl.DateTimeFormat("en", {second: "2-digit\0cookie"}), "cookie"); + assert.throws(RangeError, () => new Intl.DateTimeFormat("en", {formatMatcher: "basic\0cookie"}), "cookie"); + assert.throws(RangeError, () => new Intl.DateTimeFormat("en", {timeZone: "UTC\0cookie"}), "cookie"); + + assert.throws(RangeError, () => Intl.NumberFormat.supportedLocalesOf([], {localeMatcher:"lookup\0cookie"}), "cookie"); + assert.throws(RangeError, () => new Intl.NumberFormat("en", {localeMatcher: "lookup\0cookie"}), "cookie"); + assert.throws(RangeError, () => new Intl.NumberFormat("en", {style: "decimal\0cookie"}), "cookie"); + assert.throws(RangeError, () => new Intl.NumberFormat("en", {currency: "USD\0cookie"}), "cookie"); + assert.throws(RangeError, () => new Intl.NumberFormat("en", {currencyDisplay: "code\0cookie"}), "cookie"); + + assert.throws(RangeError, () => Intl.PluralRules.supportedLocalesOf([], {localeMatcher:"lookup\0cookie"}), "cookie"); + assert.throws(RangeError, () => new Intl.PluralRules("en", {localeMatcher: "lookup\0cookie"}), "cookie"); + assert.throws(RangeError, () => new Intl.PluralRules("en", {type: "cardinal\0cookie"}), "cookie"); + + assert.throws(RangeError, () => Intl.RelativeTimeFormat.supportedLocalesOf([], {localeMatcher:"lookup\0cookie"}), "cookie"); + assert.throws(RangeError, () => new Intl.RelativeTimeFormat("en", {localeMatcher: "lookup\0cookie"}), "cookie"); + assert.throws(RangeError, () => new Intl.RelativeTimeFormat("en", {style: "long\0cookie"}), "cookie"); + assert.throws(RangeError, () => new Intl.RelativeTimeFormat("en", {numeric: "auto\0cookie"}), "cookie"); + assert.throws(RangeError, () => new Intl.RelativeTimeFormat().format(1, "day\0cookie"), "cookie"); + + assert.throws(RangeError, () => new Intl.Locale("de\0keks"), "keks"); + assert.throws(RangeError, () => new Intl.Locale("de", {language: "it\0biscotto"}), "biscotto"); + assert.throws(RangeError, () => new Intl.Locale("th", {script: "Thai\0คุกกี้"}), "\\u0E04\\u0E38\\u0E01\\u0E01\\u0E35\\u0E49"); + assert.throws(RangeError, () => new Intl.Locale("en", {region: "GB\0biscuit"}), "biscuit"); + + assert.throws(RangeError, () => new Intl.Locale("und", {calendar: "gregory\0F1"}), "F1"); + assert.throws(RangeError, () => new Intl.Locale("und", {collation: "phonebk\0F2"}), "F2"); + assert.throws(RangeError, () => new Intl.Locale("und", {hourCycle: "h24\0F3"}), "F3"); + assert.throws(RangeError, () => new Intl.Locale("und", {caseFirst: "false\0F4"}), "F4"); + assert.throws(RangeError, () => new Intl.Locale("und", {numberingSystem: "arab\0F5"}), "F5"); } - -// Shell and helper functions. - -assertThrownErrorContains(() => assert.sameValue(true, false, "foo\0bar"), "bar"); - -if (this.disassemble) { - assertStringIncludes(disassemble(Function("var re = /foo\0bar/")), "bar"); -} - -if (this.getBacktrace) { - const k = "asdf\0asdf"; - const o = {[k](a) { "use strict"; return getBacktrace({locals: true, args: true}); }}; - const r = o[k].call("foo\0bar", "baz\0faz"); - assertStringIncludes(r, "bar"); - assertStringIncludes(r, "faz"); -} - -// js/src/tests/browser.js provides its own |options| function, make sure we don't test that one. -if (this.options && typeof document === "undefined") { - assertThrownErrorContains(() => options("foo\0bar"), "bar"); -} - diff --git a/JSTests/test262/test/staging/sm/extensions/recursion.js b/JSTests/test262/test/staging/sm/extensions/recursion.js index b20de5d858617..6d3dd737a3e0f 100644 --- a/JSTests/test262/test/staging/sm/extensions/recursion.js +++ b/JSTests/test262/test/staging/sm/extensions/recursion.js @@ -4,21 +4,14 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | - pending + Handle infinite recursion +info: bugzilla.mozilla.org/show_bug.cgi?id=622167 esid: pending +features: [host-gc-required] ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 622167; -var summary = 'Handle infinite recursion'; -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ function eval() { eval(); } @@ -57,7 +50,3 @@ function test() foopy(); } test(); - -/******************************************************************************/ - -print("All tests passed!"); diff --git a/JSTests/test262/test/staging/sm/extensions/regress-455380.js b/JSTests/test262/test/staging/sm/extensions/regress-455380.js index 42a9ebbf91bb7..8f6c13764d2d8 100644 --- a/JSTests/test262/test/staging/sm/extensions/regress-455380.js +++ b/JSTests/test262/test/staging/sm/extensions/regress-455380.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/extensions/regress-469625-01.js b/JSTests/test262/test/staging/sm/extensions/regress-469625-01.js index 81f84fccf9a1e..cd855dacf8cf6 100644 --- a/JSTests/test262/test/staging/sm/extensions/regress-469625-01.js +++ b/JSTests/test262/test/staging/sm/extensions/regress-469625-01.js @@ -4,39 +4,14 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Array prototype and expression closures +info: bugzilla.mozilla.org/show_bug.cgi?id=469625 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 469625; -var summary = 'TM: Array prototype and expression closures'; -var actual = ''; -var expect = ''; +Array.prototype.__proto__ = function () { return 3; }; -//----------------------------------------------------------------------------- -test(); -//----------------------------------------------------------------------------- - -function test() -{ - expect = 'TypeError: [].__proto__ is not a function'; - - - Array.prototype.__proto__ = function () { return 3; }; - - try - { - [].__proto__(); - } - catch(ex) - { - print(actual = ex + ''); - } - - assert.sameValue(expect, actual, summary); -} +assert.throws(TypeError, function() { + [].__proto__(); +}); diff --git a/JSTests/test262/test/staging/sm/extensions/regress-480579.js b/JSTests/test262/test/staging/sm/extensions/regress-480579.js index b4466a512c3f1..d8639f2921ad8 100644 --- a/JSTests/test262/test/staging/sm/extensions/regress-480579.js +++ b/JSTests/test262/test/staging/sm/extensions/regress-480579.js @@ -4,35 +4,28 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Do not assert: pobj_ == obj2 +info: bugzilla.mozilla.org/show_bug.cgi?id=480579 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 480579; -var summary = 'Do not assert: pobj_ == obj2'; + var actual = ''; var expect = ''; - -//----------------------------------------------------------------------------- test(); -//----------------------------------------------------------------------------- function test() { expect = '12'; - a = {x: 1}; - b = {__proto__: a}; - c = {__proto__: b}; - for (i = 0; i < 2; i++) { - print(actual += c.x); + var a = {x: 1}; + var b = {__proto__: a}; + var c = {__proto__: b}; + for (var i = 0; i < 2; i++) { + actual += c.x; b.x = 2; } - assert.sameValue(expect, actual, summary); + assert.sameValue(expect, actual); } diff --git a/JSTests/test262/test/staging/sm/extensions/regress-481516.js b/JSTests/test262/test/staging/sm/extensions/regress-481516.js index 056df15e780d5..72ff8a6502aea 100644 --- a/JSTests/test262/test/staging/sm/extensions/regress-481516.js +++ b/JSTests/test262/test/staging/sm/extensions/regress-481516.js @@ -4,38 +4,31 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + pobj_ == obj2 +info: bugzilla.mozilla.org/show_bug.cgi?id=481516 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 481516; -var summary = 'TM: pobj_ == obj2'; + var actual = ''; var expect = ''; - -//----------------------------------------------------------------------------- test(); -//----------------------------------------------------------------------------- function test() { expect = '1111222'; - a = {x: 1}; - b = {__proto__: a}; - c = {__proto__: b}; - objs = [{__proto__: a}, {__proto__: a}, {__proto__: a}, b, {__proto__: a}, + var a = {x: 1}; + var b = {__proto__: a}; + var c = {__proto__: b}; + var objs = [{__proto__: a}, {__proto__: a}, {__proto__: a}, b, {__proto__: a}, {__proto__: a}]; - for (i = 0; i < 6; i++) { - print(actual += ""+c.x); + for (var i = 0; i < 6; i++) { + actual += ""+c.x; objs[i].x = 2; } - print(actual += c.x); + actual += c.x; - assert.sameValue(expect, actual, summary); + assert.sameValue(expect, actual); } diff --git a/JSTests/test262/test/staging/sm/extensions/regress-591450.js b/JSTests/test262/test/staging/sm/extensions/regress-591450.js index 829e7fc412f0e..6d79d767e19dc 100644 --- a/JSTests/test262/test/staging/sm/extensions/regress-591450.js +++ b/JSTests/test262/test/staging/sm/extensions/regress-591450.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/extensions/regress-645160.js b/JSTests/test262/test/staging/sm/extensions/regress-645160.js index 14f52cede17c6..19282e3f87c96 100644 --- a/JSTests/test262/test/staging/sm/extensions/regress-645160.js +++ b/JSTests/test262/test/staging/sm/extensions/regress-645160.js @@ -4,7 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | diff --git a/JSTests/test262/test/staging/sm/extensions/regress-650753.js b/JSTests/test262/test/staging/sm/extensions/regress-650753.js index 5ced89f10ac06..79a73f069d629 100644 --- a/JSTests/test262/test/staging/sm/extensions/regress-650753.js +++ b/JSTests/test262/test/staging/sm/extensions/regress-650753.js @@ -4,12 +4,10 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending +features: [host-gc-required] ---*/ var x = {}, h = new WeakMap; h.set(x, null); diff --git a/JSTests/test262/test/staging/sm/extensions/regress-bug629723.js b/JSTests/test262/test/staging/sm/extensions/regress-bug629723.js index 76ff67c05cea3..f578d5848cef6 100644 --- a/JSTests/test262/test/staging/sm/extensions/regress-bug629723.js +++ b/JSTests/test262/test/staging/sm/extensions/regress-bug629723.js @@ -2,26 +2,14 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending ---*/ + function f(foo) { "use strict"; foo.bar; } -var actual; -try { - f(); - actual = "no error"; -} catch (x) { - actual = (x instanceof TypeError) ? "type error" : "some other error"; - actual += (/use strict/.test(x)) ? " with directive" : " without directive"; -} - -assert.sameValue("type error without directive", actual, - "decompiled expressions in error messages should not include directive prologues"); +assert.throws(TypeError, f); diff --git a/JSTests/test262/test/staging/sm/extensions/reviver-mutates-holder-array-nonnative.js b/JSTests/test262/test/staging/sm/extensions/reviver-mutates-holder-array-nonnative.js index e16c91ce1caff..bd72c8b146f92 100644 --- a/JSTests/test262/test/staging/sm/extensions/reviver-mutates-holder-array-nonnative.js +++ b/JSTests/test262/test/staging/sm/extensions/reviver-mutates-holder-array-nonnative.js @@ -4,22 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Behavior when JSON.parse walks over a non-native object +info: bugzilla.mozilla.org/show_bug.cgi?id=901380 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 901380; -var summary = "Behavior when JSON.parse walks over a non-native object"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ var typedArray = null; @@ -43,7 +32,3 @@ assert.sameValue(arr[0], 0); assert.sameValue(arr[1], typedArray); assert.sameValue(observedTypedArrayElementCount, 1); - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/extensions/reviver-mutates-holder-array.js b/JSTests/test262/test/staging/sm/extensions/reviver-mutates-holder-array.js index cfb5a67e0fcbe..a8d4a25b629ae 100644 --- a/JSTests/test262/test/staging/sm/extensions/reviver-mutates-holder-array.js +++ b/JSTests/test262/test/staging/sm/extensions/reviver-mutates-holder-array.js @@ -4,22 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Behavior when the JSON.parse reviver mutates the holder array +info: bugzilla.mozilla.org/show_bug.cgi?id=901351 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 901351; -var summary = "Behavior when the JSON.parse reviver mutates the holder array"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ var proxyObj = null; @@ -36,7 +25,3 @@ assert.sameValue(arr[0], 0); assert.sameValue(arr[1], proxyObj); assert.sameValue(arr[1].c, 17); assert.sameValue(arr[1].d, 42); - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/extensions/reviver-mutates-holder-object-nonnative.js b/JSTests/test262/test/staging/sm/extensions/reviver-mutates-holder-object-nonnative.js index 4f86808f0e690..11675e73ec127 100644 --- a/JSTests/test262/test/staging/sm/extensions/reviver-mutates-holder-object-nonnative.js +++ b/JSTests/test262/test/staging/sm/extensions/reviver-mutates-holder-object-nonnative.js @@ -4,22 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Behavior when JSON.parse walks over a non-native object +info: bugzilla.mozilla.org/show_bug.cgi?id=901380 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 901380; -var summary = "Behavior when JSON.parse walks over a non-native object"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ // A little trickiness to account for the undefined-ness of property // enumeration order. @@ -57,7 +46,3 @@ else } assert.sameValue(observedTypedArrayElementCount, 1); - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/extensions/reviver-mutates-holder-object.js b/JSTests/test262/test/staging/sm/extensions/reviver-mutates-holder-object.js index f5a520a852894..e30a00e4508ba 100644 --- a/JSTests/test262/test/staging/sm/extensions/reviver-mutates-holder-object.js +++ b/JSTests/test262/test/staging/sm/extensions/reviver-mutates-holder-object.js @@ -4,22 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Behavior when the JSON.parse reviver mutates the holder object +info: bugzilla.mozilla.org/show_bug.cgi?id=901351 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 901351; -var summary = "Behavior when the JSON.parse reviver mutates the holder object"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ // A little trickiness to account for the undefined-ness of property // enumeration order. @@ -53,7 +42,3 @@ else assert.sameValue(obj.a.d, 17); assert.sameValue(obj.b, 1); } - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/extensions/set-property-non-extensible.js b/JSTests/test262/test/staging/sm/extensions/set-property-non-extensible.js index 4b40032080e06..3c1184fd26782 100644 --- a/JSTests/test262/test/staging/sm/extensions/set-property-non-extensible.js +++ b/JSTests/test262/test/staging/sm/extensions/set-property-non-extensible.js @@ -4,35 +4,20 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict info: | preventExtensions on global + bugzilla.mozilla.org/show_bug.cgi?id=600128 description: | - pending + Properly handle attempted addition of properties to non-extensible objects esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 600128; -var summary = - "Properly handle attempted addition of properties to non-extensible objects"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ var o = Object.freeze({}); for (var i = 0; i < 10; i++) - print(o.u = ""); + o.u = ""; Object.freeze(this); for (let j = 0; j < 10; j++) - print(u = ""); - - -/******************************************************************************/ - -print("All tests passed!"); + u = ""; diff --git a/JSTests/test262/test/staging/sm/extensions/shareddataview.js b/JSTests/test262/test/staging/sm/extensions/shareddataview.js index a7f53d96dd9ae..081e3713b2e17 100644 --- a/JSTests/test262/test/staging/sm/extensions/shareddataview.js +++ b/JSTests/test262/test/staging/sm/extensions/shareddataview.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending @@ -36,13 +33,13 @@ assert.sameValue(dv2.getInt8(0), 37); // Test that range checking works -assertThrowsInstanceOf(() => dv.setInt32(4098, -1), RangeError); -assertThrowsInstanceOf(() => dv.setInt32(4094, -1), RangeError); -assertThrowsInstanceOf(() => dv.setInt32(-1, -1), RangeError); +assert.throws(RangeError, () => dv.setInt32(4098, -1)); +assert.throws(RangeError, () => dv.setInt32(4094, -1)); +assert.throws(RangeError, () => dv.setInt32(-1, -1)); -assertThrowsInstanceOf(() => dv2.setInt32(2080, -1), RangeError); -assertThrowsInstanceOf(() => dv2.setInt32(2046, -1), RangeError); -assertThrowsInstanceOf(() => dv2.setInt32(-1, -1), RangeError); +assert.throws(RangeError, () => dv2.setInt32(2080, -1)); +assert.throws(RangeError, () => dv2.setInt32(2046, -1)); +assert.throws(RangeError, () => dv2.setInt32(-1, -1)); } diff --git a/JSTests/test262/test/staging/sm/extensions/string-literal-getter-setter-decompilation.js b/JSTests/test262/test/staging/sm/extensions/string-literal-getter-setter-decompilation.js index 77f36081c3b6d..8563ff4275e7f 100644 --- a/JSTests/test262/test/staging/sm/extensions/string-literal-getter-setter-decompilation.js +++ b/JSTests/test262/test/staging/sm/extensions/string-literal-getter-setter-decompilation.js @@ -4,13 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending ---*/ + var f; try { @@ -30,14 +28,12 @@ assert.sameValue(fstr.indexOf("set") < fstr.indexOf("c d e"), true, assert.sameValue(fstr.indexOf("setter") < 0, true, "using old-style syntax?"); var o = f(); -var ostr = "" + o; assert.sameValue("c d e" in o, true, "missing the property?"); assert.sameValue("set" in Object.getOwnPropertyDescriptor(o, "c d e"), true, "'c d e' property not a setter?"); -// disabled because we still generate old-style syntax here (toSource -// decompilation is as yet unfixed) -// assert.sameValue(ostr.indexOf("set") < ostr.indexOf("c d e"), true, -// "should be using new-style syntax when getting the source of a " + -// "getter/setter while decompiling an object"); -// assert.sameValue(ostr.indexOf("setter") < 0, true, "using old-style syntax?"); +var ostr = Object.getOwnPropertyDescriptor(o, "c d e").set + o; +assert.sameValue(ostr.indexOf("set") < ostr.indexOf("c d e"), true, + "should be using new-style syntax when getting the source of a " + + "getter/setter while decompiling an object" + ostr); +assert.sameValue(ostr.indexOf("setter") < 0, true, "using old-style syntax?"); diff --git a/JSTests/test262/test/staging/sm/extensions/typedarray-copyWithin-arguments-detaching.js b/JSTests/test262/test/staging/sm/extensions/typedarray-copyWithin-arguments-detaching.js index d6046560a512d..14dca2e88d766 100644 --- a/JSTests/test262/test/staging/sm/extensions/typedarray-copyWithin-arguments-detaching.js +++ b/JSTests/test262/test/staging/sm/extensions/typedarray-copyWithin-arguments-detaching.js @@ -4,25 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + %TypedArray.prototype.copyWithin shouldn't misbehave horribly if index-argument conversion detaches the underlying ArrayBuffer +info: bugzilla.mozilla.org/show_bug.cgi?id=991981 esid: pending ---*/ -var gTestfile = "typedarray-copyWithin-arguments-detaching.js"; -//----------------------------------------------------------------------------- -var BUGNUMBER = 991981; -var summary = - "%TypedArray.prototype.copyWithin shouldn't misbehave horribly if " + - "index-argument conversion detaches the underlying ArrayBuffer"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ function testBegin() { @@ -39,17 +25,10 @@ function testBegin() var ta = new Uint8Array(ab); - var ok = false; - try - { + assert.throws(TypeError, function() { ta.copyWithin(0, begin, 0x1000); - } - catch (e) - { - ok = true; - } - assert.sameValue(ok, true, "start weirdness should have thrown"); - assert.sameValue(ab.byteLength, 0, "detaching should work for start weirdness"); + }, "begin weirdness should have thrown"); + assert.sameValue(ab.byteLength, 0, "detaching should work for begin weirdness"); } testBegin(); @@ -68,17 +47,10 @@ function testEnd() var ta = new Uint8Array(ab); - var ok = false; - try - { + assert.throws(TypeError, function() { ta.copyWithin(0, 0x800, end); - } - catch (e) - { - ok = true; - } - assert.sameValue(ok, true, "start weirdness should have thrown"); - assert.sameValue(ab.byteLength, 0, "detaching should work for start weirdness"); + }, "end weirdness should have thrown"); + assert.sameValue(ab.byteLength, 0, "detaching should work for end weirdness"); } testEnd(); @@ -97,20 +69,9 @@ function testDest() var ta = new Uint8Array(ab); - var ok = false; - try - { + assert.throws(TypeError, function() { ta.copyWithin(dest, 0x800, 0x1000); - } - catch (e) - { - ok = true; - } - assert.sameValue(ok, true, "start weirdness should have thrown"); - assert.sameValue(ab.byteLength, 0, "detaching should work for start weirdness"); + }, "dest weirdness should have thrown"); + assert.sameValue(ab.byteLength, 0, "detaching should work for dest weirdness"); } testDest(); - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/extensions/typedarray-set-detach.js b/JSTests/test262/test/staging/sm/extensions/typedarray-set-detach.js index 52db901963135..7b70a5813ba83 100644 --- a/JSTests/test262/test/staging/sm/extensions/typedarray-set-detach.js +++ b/JSTests/test262/test/staging/sm/extensions/typedarray-set-detach.js @@ -4,23 +4,12 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Uint8Array.prototype.set issues when this array changes during setting +info: bugzilla.mozilla.org/show_bug.cgi?id=983344 esid: pending +features: [host-gc-required] ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 983344; -var summary = - "Uint8Array.prototype.set issues when this array changes during setting"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ var ab = new ArrayBuffer(200); var a = new Uint8Array(ab); @@ -46,7 +35,3 @@ Object.defineProperty(src, 4, { }); a.set(src); - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/extensions/typedarray-subarray-of-subarray.js b/JSTests/test262/test/staging/sm/extensions/typedarray-subarray-of-subarray.js index 02f07cca6b8b0..7cdf14b219e00 100644 --- a/JSTests/test262/test/staging/sm/extensions/typedarray-subarray-of-subarray.js +++ b/JSTests/test262/test/staging/sm/extensions/typedarray-subarray-of-subarray.js @@ -4,23 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + new Int8Array([1, 2, 3]).subarray(1).subarray(1)[0] === 3 +info: bugzilla.mozilla.org/show_bug.cgi?id=637643 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 637643; -var summary = - "new Int8Array([1, 2, 3]).subarray(1).subarray(1)[0] === 3"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ var ta = new Int8Array([1, 2, 3]); assert.sameValue(ta.length, 3); @@ -36,5 +24,3 @@ assert.sameValue(sa1[1], 3); var sa2 = sa1.subarray(1); assert.sameValue(sa2.length, 1); assert.sameValue(sa2[0], 3); - -print("All tests passed!"); diff --git a/JSTests/test262/test/staging/sm/extensions/weakmap.js b/JSTests/test262/test/staging/sm/extensions/weakmap.js index bf38e299edd1c..95d9e42421e24 100644 --- a/JSTests/test262/test/staging/sm/extensions/weakmap.js +++ b/JSTests/test262/test/staging/sm/extensions/weakmap.js @@ -4,81 +4,23 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + js weak maps +info: bugzilla.mozilla.org/show_bug.cgi?id=547941 esid: pending +features: [host-gc-required] ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 547941; -var summary = 'js weak maps'; -var actual = ''; -var expect = ''; -//----------------------------------------------------------------------------- test(); -//----------------------------------------------------------------------------- function test() { - var TestPassCount = 0; - var TestFailCount = 0; - var TestTodoCount = 0; - - var TODO = 1; - - function check(fun, todo) { - var thrown = null; - var success = false; - try { - success = fun(); - } catch (x) { - thrown = x; - } - - if (thrown) - success = false; - - if (todo) { - TestTodoCount++; - - if (success) { - var ex = new Error; - print ("=== TODO but PASSED? ==="); - print (ex.stack); - print ("========================"); - } - - return; - } - - if (success) { - TestPassCount++; - } else { - TestFailCount++; - - var ex = new Error; - print ("=== FAILED ==="); - print (ex.stack); - if (thrown) { - print (" threw exception:"); - print (thrown); - } - print ("=============="); - } + function check(fun) { + assert.sameValue(fun(), true); } - function checkThrows(fun, todo) { - let thrown = false; - try { - fun(); - } catch (x) { - thrown = true; - } - - check(() => thrown, todo); + function checkThrows(fun) { + assert.throws(TypeError, fun); } var key = {}; @@ -117,8 +59,4 @@ function test() check(() => map.get(key) == undefined); checkThrows(() => map.set("non-object key", value)); - - print ("done"); - - assert.sameValue(0, TestFailCount, "weak map tests"); } diff --git a/JSTests/test262/test/staging/sm/fields/await-identifier-module-1.js b/JSTests/test262/test/staging/sm/fields/await-identifier-module-1.js index 03e92d83524f8..89980721aff3c 100644 --- a/JSTests/test262/test/staging/sm/fields/await-identifier-module-1.js +++ b/JSTests/test262/test/staging/sm/fields/await-identifier-module-1.js @@ -2,7 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - module negative: diff --git a/JSTests/test262/test/staging/sm/fields/await-identifier-module-2.js b/JSTests/test262/test/staging/sm/fields/await-identifier-module-2.js index 6dbd264ce1f7d..526a159fcfa10 100644 --- a/JSTests/test262/test/staging/sm/fields/await-identifier-module-2.js +++ b/JSTests/test262/test/staging/sm/fields/await-identifier-module-2.js @@ -2,7 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - module negative: diff --git a/JSTests/test262/test/staging/sm/fields/await-identifier-module-3.js b/JSTests/test262/test/staging/sm/fields/await-identifier-module-3.js index c122ed82e4a1e..a1d5253d8bd2e 100644 --- a/JSTests/test262/test/staging/sm/fields/await-identifier-module-3.js +++ b/JSTests/test262/test/staging/sm/fields/await-identifier-module-3.js @@ -2,7 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - module negative: diff --git a/JSTests/test262/test/staging/sm/fields/init-order.js b/JSTests/test262/test/staging/sm/fields/init-order.js index 7cf65c462fa91..df8008bc98a1e 100644 --- a/JSTests/test262/test/staging/sm/fields/init-order.js +++ b/JSTests/test262/test/staging/sm/fields/init-order.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/fields/numeric-fields.js b/JSTests/test262/test/staging/sm/fields/numeric-fields.js index 7ab799526198a..9d6e5a4f19c32 100644 --- a/JSTests/test262/test/staging/sm/fields/numeric-fields.js +++ b/JSTests/test262/test/staging/sm/fields/numeric-fields.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/fields/scopes.js b/JSTests/test262/test/staging/sm/fields/scopes.js index 69e2ad63531c8..71aef25545b0c 100644 --- a/JSTests/test262/test/staging/sm/fields/scopes.js +++ b/JSTests/test262/test/staging/sm/fields/scopes.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/fields/unimplemented.js b/JSTests/test262/test/staging/sm/fields/unimplemented.js deleted file mode 100644 index 7d31241b9114c..0000000000000 --- a/JSTests/test262/test/staging/sm/fields/unimplemented.js +++ /dev/null @@ -1,66 +0,0 @@ -// Copyright (C) 2024 Mozilla Corporation. All rights reserved. -// This code is governed by the BSD license found in the LICENSE file. - -/*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict -description: | - pending -esid: pending ----*/ -// Field syntax doesn't crash the engine when fields are disabled. - -// Are fields enabled? -let fieldsEnabled = false; -try { - Function("class C { x; }"); - fieldsEnabled = true; -} catch (exc) { - assert.sameValue(exc instanceof SyntaxError, true); -} - -// If not, run these tests. (Many other tests cover actual behavior of the -// feature when enabled.) -if (!fieldsEnabled) { - let source = `class C { - x - }`; - assertThrowsInstanceOf(() => Function(source), SyntaxError); - - source = `class C { - x = 0; - }`; - assertThrowsInstanceOf(() => Function(source), SyntaxError); - - source = `class C { - 0 = 0; - }`; - assertThrowsInstanceOf(() => Function(source), SyntaxError); - - source = `class C { - [0] = 0; - }`; - assertThrowsInstanceOf(() => Function(source), SyntaxError); - - source = `class C { - "hi" = 0; - }`; - assertThrowsInstanceOf(() => Function(source), SyntaxError); - - source = `class C { - "hi" = 0; - }`; - assertThrowsInstanceOf(() => Function(source), SyntaxError); - - source = `class C { - d = function(){}; - }`; - assertThrowsInstanceOf(() => Function(source), SyntaxError); - - source = `class C { - d = class D { x = 0; }; - }`; - assertThrowsInstanceOf(() => Function(source), SyntaxError); -} - diff --git a/JSTests/test262/test/staging/sm/generators/create-function-parse-before-getprototype.js b/JSTests/test262/test/staging/sm/generators/create-function-parse-before-getprototype.js index 540ab7424c70e..5d365c7b6bdac 100644 --- a/JSTests/test262/test/staging/sm/generators/create-function-parse-before-getprototype.js +++ b/JSTests/test262/test/staging/sm/generators/create-function-parse-before-getprototype.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-generators-shell.js] -flags: - - noStrict description: | pending esid: pending @@ -20,9 +17,9 @@ var newTarget = Object.defineProperty(function(){}.bind(), "prototype", { var Generator = function*(){}.constructor; -assertThrowsInstanceOf(() => { +assert.throws(SyntaxError, () => { Reflect.construct(Generator, ["@error"], newTarget); -}, SyntaxError); +}); assert.sameValue(getProtoCalled, false); diff --git a/JSTests/test262/test/staging/sm/generators/delegating-yield-1.js b/JSTests/test262/test/staging/sm/generators/delegating-yield-1.js index fc5b21981a8fe..86e6da18b1a03 100644 --- a/JSTests/test262/test/staging/sm/generators/delegating-yield-1.js +++ b/JSTests/test262/test/staging/sm/generators/delegating-yield-1.js @@ -2,9 +2,7 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-generators-shell.js, deepEqual.js] -flags: - - noStrict +includes: [deepEqual.js] description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/generators/delegating-yield-10.js b/JSTests/test262/test/staging/sm/generators/delegating-yield-10.js index 64dba45af2040..230bcac5c8fb2 100644 --- a/JSTests/test262/test/staging/sm/generators/delegating-yield-10.js +++ b/JSTests/test262/test/staging/sm/generators/delegating-yield-10.js @@ -2,9 +2,7 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-generators-shell.js] -flags: - - noStrict +includes: [sm/assertThrowsValue.js] description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/generators/delegating-yield-11.js b/JSTests/test262/test/staging/sm/generators/delegating-yield-11.js index 627547f70aabd..05d807ab8895f 100644 --- a/JSTests/test262/test/staging/sm/generators/delegating-yield-11.js +++ b/JSTests/test262/test/staging/sm/generators/delegating-yield-11.js @@ -2,9 +2,7 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-generators-shell.js, deepEqual.js] -flags: - - noStrict +includes: [deepEqual.js] description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/generators/delegating-yield-12.js b/JSTests/test262/test/staging/sm/generators/delegating-yield-12.js index 3d3cda963d2c0..043e7db4b260a 100644 --- a/JSTests/test262/test/staging/sm/generators/delegating-yield-12.js +++ b/JSTests/test262/test/staging/sm/generators/delegating-yield-12.js @@ -2,9 +2,7 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-generators-shell.js, deepEqual.js] -flags: - - noStrict +includes: [sm/non262-generators-shell.js] description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/generators/delegating-yield-2.js b/JSTests/test262/test/staging/sm/generators/delegating-yield-2.js index ebb8b8230e37d..73bf3ab4baff0 100644 --- a/JSTests/test262/test/staging/sm/generators/delegating-yield-2.js +++ b/JSTests/test262/test/staging/sm/generators/delegating-yield-2.js @@ -2,9 +2,7 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-generators-shell.js, deepEqual.js] -flags: - - noStrict +includes: [sm/assertThrowsValue.js, sm/non262-generators-shell.js] description: | pending esid: pending @@ -53,7 +51,7 @@ assertIteratorNext(outer, 1); delete GeneratorObjectPrototype.throw; var outer_throw_42 = GeneratorObjectPrototype_throw.bind(outer, 42); // yield* protocol violation: no 'throw' method -assertThrowsInstanceOf(outer_throw_42, TypeError); +assert.throws(TypeError, outer_throw_42); // Now done, so just throws. assertThrowsValue(outer_throw_42, 42); diff --git a/JSTests/test262/test/staging/sm/generators/delegating-yield-3.js b/JSTests/test262/test/staging/sm/generators/delegating-yield-3.js index b2275d9772092..2946431e8d833 100644 --- a/JSTests/test262/test/staging/sm/generators/delegating-yield-3.js +++ b/JSTests/test262/test/staging/sm/generators/delegating-yield-3.js @@ -2,9 +2,7 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-generators-shell.js, deepEqual.js] -flags: - - noStrict +includes: [sm/non262-generators-shell.js] description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/generators/delegating-yield-4.js b/JSTests/test262/test/staging/sm/generators/delegating-yield-4.js index 0c86af847bdbe..5066ee3e195e1 100644 --- a/JSTests/test262/test/staging/sm/generators/delegating-yield-4.js +++ b/JSTests/test262/test/staging/sm/generators/delegating-yield-4.js @@ -2,9 +2,7 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-generators-shell.js, deepEqual.js] -flags: - - noStrict +includes: [sm/non262-generators-shell.js] description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/generators/delegating-yield-5.js b/JSTests/test262/test/staging/sm/generators/delegating-yield-5.js index a2a982fa10428..909f6ba409a7c 100644 --- a/JSTests/test262/test/staging/sm/generators/delegating-yield-5.js +++ b/JSTests/test262/test/staging/sm/generators/delegating-yield-5.js @@ -2,9 +2,7 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-generators-shell.js, deepEqual.js] -flags: - - noStrict +includes: [deepEqual.js] description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/generators/delegating-yield-6.js b/JSTests/test262/test/staging/sm/generators/delegating-yield-6.js index aaee233297509..6a2a389fbe95a 100644 --- a/JSTests/test262/test/staging/sm/generators/delegating-yield-6.js +++ b/JSTests/test262/test/staging/sm/generators/delegating-yield-6.js @@ -2,9 +2,7 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-generators-shell.js, deepEqual.js] -flags: - - noStrict +includes: [deepEqual.js] description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/generators/delegating-yield-7.js b/JSTests/test262/test/staging/sm/generators/delegating-yield-7.js index f06859dba7fba..dd3412be88b98 100644 --- a/JSTests/test262/test/staging/sm/generators/delegating-yield-7.js +++ b/JSTests/test262/test/staging/sm/generators/delegating-yield-7.js @@ -2,9 +2,7 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-generators-shell.js, deepEqual.js] -flags: - - noStrict +includes: [deepEqual.js] description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/generators/delegating-yield-8.js b/JSTests/test262/test/staging/sm/generators/delegating-yield-8.js index 58597f8915f0d..24ca66aff073c 100644 --- a/JSTests/test262/test/staging/sm/generators/delegating-yield-8.js +++ b/JSTests/test262/test/staging/sm/generators/delegating-yield-8.js @@ -2,9 +2,7 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-generators-shell.js, deepEqual.js] -flags: - - noStrict +includes: [deepEqual.js] description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/generators/delegating-yield-9.js b/JSTests/test262/test/staging/sm/generators/delegating-yield-9.js index cdfa943fcbb1d..cb3bf134a9561 100644 --- a/JSTests/test262/test/staging/sm/generators/delegating-yield-9.js +++ b/JSTests/test262/test/staging/sm/generators/delegating-yield-9.js @@ -2,9 +2,7 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-generators-shell.js, deepEqual.js] -flags: - - noStrict +includes: [deepEqual.js] description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/generators/gen-with-call-obj.js b/JSTests/test262/test/staging/sm/generators/gen-with-call-obj.js index 6d4559720e665..c11bef61b491c 100644 --- a/JSTests/test262/test/staging/sm/generators/gen-with-call-obj.js +++ b/JSTests/test262/test/staging/sm/generators/gen-with-call-obj.js @@ -2,12 +2,10 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-generators-shell.js] -flags: - - noStrict description: | pending esid: pending +features: [host-gc-required] ---*/ var foo; @@ -19,7 +17,7 @@ function* gen() { } var j = 0; -for (i of gen()) +for (var i of gen()) assert.sameValue(i, j++); // now mess up the stack diff --git a/JSTests/test262/test/staging/sm/generators/iteration.js b/JSTests/test262/test/staging/sm/generators/iteration.js index 365e179e39771..70e2ff109f75b 100644 --- a/JSTests/test262/test/staging/sm/generators/iteration.js +++ b/JSTests/test262/test/staging/sm/generators/iteration.js @@ -2,12 +2,13 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-generators-shell.js, deepEqual.js] +includes: [sm/non262-generators-shell.js] flags: - noStrict description: | pending esid: pending +features: [host-gc-required] ---*/ // This file was written by Andy Wingo and originally // contributed to V8 as generators-objects.js, available here: @@ -57,7 +58,7 @@ function TestGenerator(g, expected_values_for_next, j == expected_values_for_next.length - 1); } var Sentinel = function () {} - assertThrowsInstanceOf(function () { iter.throw(new Sentinel); }, Sentinel); + assert.throws(Sentinel, function () { iter.throw(new Sentinel); }); assertIteratorDone(iter, undefined); } } @@ -212,12 +213,10 @@ TestGenerator( ["fee", "fi", "fo", "fum", undefined]); // GC. -if (typeof gc == 'function') { - TestGenerator(function* g16() { yield "baz"; $262.gc(); yield "qux"; }, - ["baz", "qux", undefined], - "foo", - ["baz", "qux", undefined]); -} +TestGenerator(function* g16() { yield "baz"; $262.gc(); yield "qux"; }, + ["baz", "qux", undefined], + "foo", + ["baz", "qux", undefined]); // Receivers. TestGenerator( @@ -230,19 +229,6 @@ TestGenerator( "foo", [1, 2, undefined]); -// FIXME: Capture the generator object as "this" in new g(). Bug 907742. -// TestGenerator( -// function g18() { -// function* g() { yield this.x; yield this.y; } -// var iter = new g; -// iter.x = 1; -// iter.y = 2; -// return iter; -// }, -// [1, 2, undefined], -// "foo", -// [1, 2, undefined]); - TestGenerator( function* g19() { var x = 1; @@ -352,14 +338,14 @@ function TestTryCatch(instantiate) { Test1(instantiate(g)); function Test2(iter) { - assertThrowsInstanceOf(function() { iter.throw(new Sentinel); }, Sentinel); + assert.throws(Sentinel, function() { iter.throw(new Sentinel); }); assertIteratorDone(iter, undefined); } Test2(instantiate(g)); function Test3(iter) { assertIteratorNext(iter, 1); - assertThrowsInstanceOf(function() { iter.throw(new Sentinel); }, Sentinel); + assert.throws(Sentinel, function() { iter.throw(new Sentinel); }); assertIteratorDone(iter, undefined); } Test3(instantiate(g)); @@ -381,7 +367,7 @@ function TestTryCatch(instantiate) { var exn = new Sentinel; assertIteratorResult(iter.throw(exn), exn, false); assertIteratorNext(iter, 3); - assertThrowsInstanceOf(function() { iter.throw(new Sentinel); }, Sentinel); + assert.throws(Sentinel, function() { iter.throw(new Sentinel); }); assertIteratorDone(iter, undefined); } @@ -392,7 +378,7 @@ function TestTryCatch(instantiate) { assertIteratorNext(iter, 2); var exn = new Sentinel; assertIteratorResult(iter.throw(exn), exn, false); - assertThrowsInstanceOf(function() { iter.throw(new Sentinel); }, Sentinel); + assert.throws(Sentinel, function() { iter.throw(new Sentinel); }); assertIteratorDone(iter, undefined); } Test6(instantiate(g)); @@ -416,14 +402,14 @@ function TestTryFinally(instantiate) { Test1(instantiate(g)); function Test2(iter) { - assertThrowsInstanceOf(function() { iter.throw(new Sentinel); }, Sentinel); + assert.throws(Sentinel, function() { iter.throw(new Sentinel); }); assertIteratorDone(iter, undefined); } Test2(instantiate(g)); function Test3(iter) { assertIteratorNext(iter, 1); - assertThrowsInstanceOf(function() { iter.throw(new Sentinel); }, Sentinel); + assert.throws(Sentinel, function() { iter.throw(new Sentinel); }); assertIteratorDone(iter, undefined); } Test3(instantiate(g)); @@ -432,7 +418,7 @@ function TestTryFinally(instantiate) { assertIteratorNext(iter, 1); assertIteratorNext(iter, 2); assertIteratorResult(iter.throw(new Sentinel), 3, false); - assertThrowsInstanceOf(function() { iter.next(); }, Sentinel); + assert.throws(Sentinel, function() { iter.next(); }); assertIteratorDone(iter, undefined); } @@ -442,7 +428,7 @@ function TestTryFinally(instantiate) { assertIteratorNext(iter, 1); assertIteratorNext(iter, 2); assertIteratorResult(iter.throw(new Sentinel), 3, false); - assertThrowsInstanceOf(function() { iter.throw(new Sentinel2); }, Sentinel2); + assert.throws(Sentinel2, function() { iter.throw(new Sentinel2); }); assertIteratorDone(iter, undefined); } Test5(instantiate(g)); @@ -451,7 +437,7 @@ function TestTryFinally(instantiate) { assertIteratorNext(iter, 1); assertIteratorNext(iter, 2); assertIteratorNext(iter, 3); - assertThrowsInstanceOf(function() { iter.throw(new Sentinel); }, Sentinel); + assert.throws(Sentinel, function() { iter.throw(new Sentinel); }); assertIteratorDone(iter, undefined); } Test6(instantiate(g)); @@ -461,7 +447,7 @@ function TestTryFinally(instantiate) { assertIteratorNext(iter, 2); assertIteratorNext(iter, 3); assertIteratorNext(iter, 4); - assertThrowsInstanceOf(function() { iter.throw(new Sentinel); }, Sentinel); + assert.throws(Sentinel, function() { iter.throw(new Sentinel); }); assertIteratorDone(iter, undefined); } Test7(instantiate(g)); @@ -495,7 +481,7 @@ function TestNestedTry(instantiate) { Test1(instantiate(g)); function Test2(iter) { - assertThrowsInstanceOf(function() { iter.throw(new Sentinel); }, Sentinel); + assert.throws(Sentinel, function() { iter.throw(new Sentinel); }); assertIteratorDone(iter, undefined); } Test2(instantiate(g)); @@ -503,7 +489,7 @@ function TestNestedTry(instantiate) { function Test3(iter) { assertIteratorNext(iter, 1); assertIteratorResult(iter.throw(new Sentinel), 4, false); - assertThrowsInstanceOf(function() { iter.next(); }, Sentinel); + assert.throws(Sentinel, function() { iter.next(); }); assertIteratorDone(iter, undefined); } Test3(instantiate(g)); @@ -511,7 +497,7 @@ function TestNestedTry(instantiate) { function Test4(iter) { assertIteratorNext(iter, 1); assertIteratorResult(iter.throw(new Sentinel), 4, false); - assertThrowsInstanceOf(function() { iter.throw(new Sentinel2); }, Sentinel2); + assert.throws(Sentinel2, function() { iter.throw(new Sentinel2); }); assertIteratorDone(iter, undefined); } Test4(instantiate(g)); @@ -536,7 +522,7 @@ function TestNestedTry(instantiate) { var exn = new Sentinel; assertIteratorResult(iter.throw(exn), exn, false); assertIteratorResult(iter.throw(new Sentinel2), 4, false); - assertThrowsInstanceOf(function() { iter.next(); }, Sentinel2); + assert.throws(Sentinel2, function() { iter.next(); }); assertIteratorDone(iter, undefined); } Test6(instantiate(g)); @@ -548,7 +534,7 @@ function TestNestedTry(instantiate) { assertIteratorResult(iter.throw(exn), exn, false); assertIteratorNext(iter, 3); assertIteratorResult(iter.throw(new Sentinel2), 4, false); - assertThrowsInstanceOf(function() { iter.next(); }, Sentinel2); + assert.throws(Sentinel2, function() { iter.next(); }); assertIteratorDone(iter, undefined); } @@ -575,9 +561,9 @@ function TestRecursion() { var iter = g(); return iter.next(); } - assertThrowsInstanceOf(TestNextRecursion, TypeError); - assertThrowsInstanceOf(TestSendRecursion, TypeError); - assertThrowsInstanceOf(TestThrowRecursion, TypeError); + assert.throws(TypeError, TestNextRecursion); + assert.throws(TypeError, TestSendRecursion); + assert.throws(TypeError, TestThrowRecursion); } TestRecursion(); diff --git a/JSTests/test262/test/staging/sm/generators/iterator-next-non-object.js b/JSTests/test262/test/staging/sm/generators/iterator-next-non-object.js index 4cf686d320a5a..61960ae54ac16 100644 --- a/JSTests/test262/test/staging/sm/generators/iterator-next-non-object.js +++ b/JSTests/test262/test/staging/sm/generators/iterator-next-non-object.js @@ -2,17 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-generators-shell.js] -flags: - - noStrict description: | - pending + IteratorNext should throw if the value returned by iterator.next() is not an object. +info: bugzilla.mozilla.org/show_bug.cgi?id=1016936 esid: pending ---*/ -var BUGNUMBER = 1016936; -var summary = "IteratorNext should throw if the value returned by iterator.next() is not an object."; - -print(BUGNUMBER + ": " + summary); var nonobjs = [ null, @@ -41,33 +35,31 @@ function f() { for (var nonobj of nonobjs) { var iterable = createIterable(nonobj); - assertThrowsInstanceOf(() => [...iterable], TypeError); - assertThrowsInstanceOf(() => f(...iterable), TypeError); + assert.throws(TypeError, () => [...iterable]); + assert.throws(TypeError, () => f(...iterable)); - assertThrowsInstanceOf(() => { for (var x of iterable) {} }, TypeError); + assert.throws(TypeError, () => { for (var x of iterable) {} }); - assertThrowsInstanceOf(() => { + assert.throws(TypeError, () => { var [a] = iterable; - }, TypeError); - assertThrowsInstanceOf(() => { + }); + assert.throws(TypeError, () => { var [...a] = iterable; - }, TypeError); + }); - assertThrowsInstanceOf(() => Array.from(iterable), TypeError); - assertThrowsInstanceOf(() => new Map(iterable), TypeError); - assertThrowsInstanceOf(() => new Set(iterable), TypeError); - assertThrowsInstanceOf(() => new WeakMap(iterable), TypeError); - assertThrowsInstanceOf(() => new WeakSet(iterable), TypeError); - // FIXME: bug 1232266 - // assertThrowsInstanceOf(() => new Int8Array(iterable), TypeError); - assertThrowsInstanceOf(() => Int8Array.from(iterable), TypeError); + assert.throws(TypeError, () => Array.from(iterable)); + assert.throws(TypeError, () => new Map(iterable)); + assert.throws(TypeError, () => new Set(iterable)); + assert.throws(TypeError, () => new WeakMap(iterable)); + assert.throws(TypeError, () => new WeakSet(iterable)); + assert.throws(TypeError, () => new Int8Array(iterable)); + assert.throws(TypeError, () => Int8Array.from(iterable)); - assertThrowsInstanceOf(() => { + assert.throws(TypeError, () => { var g = function*() { yield* iterable; }; var v = g(); v.next(); - }, TypeError); + }); } - diff --git a/JSTests/test262/test/staging/sm/generators/objects.js b/JSTests/test262/test/staging/sm/generators/objects.js index 1eefad43a18f6..acfa8c71342d3 100644 --- a/JSTests/test262/test/staging/sm/generators/objects.js +++ b/JSTests/test262/test/staging/sm/generators/objects.js @@ -2,13 +2,12 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-generators-shell.js, deepEqual.js] -flags: - - noStrict +includes: [compareArray.js] description: | pending esid: pending ---*/ + // This file was written by Andy Wingo and originally // contributed to V8 as generators-objects.js, available here: // @@ -22,10 +21,10 @@ function TestGeneratorObject() { var iter = g(); assert.sameValue(Object.getPrototypeOf(iter), g.prototype); - assertTrue(iter instanceof g); + assert.sameValue(iter instanceof g, true); assert.sameValue(String(iter), "[object Generator]"); - assert.deepEqual(Object.getOwnPropertyNames(iter), []); - assertNotEq(g(), iter); + assert.compareArray(Object.getOwnPropertyNames(iter), []); + assert.notSameValue(g(), iter); } TestGeneratorObject(); @@ -40,11 +39,11 @@ function TestGeneratorObjectMethods() { assert.sameValue(iter.throw.length, 1); function TestNonGenerator(non_generator) { - assertThrowsInstanceOf(function() { iter.next.call(non_generator); }, TypeError); - assertThrowsInstanceOf(function() { iter.next.call(non_generator, 1); }, TypeError); - assertThrowsInstanceOf(function() { iter.return.call(non_generator, 1); }, TypeError); - assertThrowsInstanceOf(function() { iter.throw.call(non_generator, 1); }, TypeError); - assertThrowsInstanceOf(function() { iter.close.call(non_generator); }, TypeError); + assert.throws(TypeError, function() { iter.next.call(non_generator); }); + assert.throws(TypeError, function() { iter.next.call(non_generator, 1); }); + assert.throws(TypeError, function() { iter.return.call(non_generator, 1); }); + assert.throws(TypeError, function() { iter.throw.call(non_generator, 1); }); + assert.throws(TypeError, function() { iter.close.call(non_generator); }); } TestNonGenerator(1); diff --git a/JSTests/test262/test/staging/sm/generators/regress-366941.js b/JSTests/test262/test/staging/sm/generators/regress-366941.js index dc7df35133d6e..0b0bfd2506886 100644 --- a/JSTests/test262/test/staging/sm/generators/regress-366941.js +++ b/JSTests/test262/test/staging/sm/generators/regress-366941.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-generators-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/generators/return-finally.js b/JSTests/test262/test/staging/sm/generators/return-finally.js index 4136f58efce2c..356a0c0730482 100644 --- a/JSTests/test262/test/staging/sm/generators/return-finally.js +++ b/JSTests/test262/test/staging/sm/generators/return-finally.js @@ -2,17 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-generators-shell.js] -flags: - - noStrict description: | - pending + Return value should not be overwritten by finally block with normal execution. +info: bugzilla.mozilla.org/show_bug.cgi?id=1202134 esid: pending ---*/ -var BUGNUMBER = 1202134; -var summary = "Return value should not be overwritten by finally block with normal execution."; - -print(BUGNUMBER + ": " + summary); // ==== single ==== @@ -315,4 +309,3 @@ assert.sameValue(v.done, false); v = g.return(44); assert.sameValue(v.value, 44); assert.sameValue(v.done, true); - diff --git a/JSTests/test262/test/staging/sm/generators/runtime.js b/JSTests/test262/test/staging/sm/generators/runtime.js index ee76b4cf89bbf..5d6227e61d17a 100644 --- a/JSTests/test262/test/staging/sm/generators/runtime.js +++ b/JSTests/test262/test/staging/sm/generators/runtime.js @@ -2,13 +2,12 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-generators-shell.js, deepEqual.js] -flags: - - noStrict +includes: [compareArray.js] description: | pending esid: pending ---*/ + // This file was written by Andy Wingo and originally // contributed to V8 as generators-runtime.js, available here: // @@ -19,7 +18,7 @@ esid: pending // See http://people.mozilla.org/~jorendorff/es6-draft.html#sec-15.19.3. function assertSyntaxError(str) { - assertThrowsInstanceOf(Function(str), SyntaxError); + assert.throws(SyntaxError, Function(str)); } @@ -39,7 +38,7 @@ function TestGeneratorFunctionInstance() { f_own_property_names.sort(); g_own_property_names.sort(); - assert.deepEqual(f_own_property_names, g_own_property_names); + assert.compareArray(f_own_property_names, g_own_property_names); var i; for (i = 0; i < f_own_property_names.length; i++) { var prop = f_own_property_names[i]; @@ -58,7 +57,7 @@ TestGeneratorFunctionInstance(); function TestGeneratorFunctionPrototype() { // Sanity check. assert.sameValue(Object.getPrototypeOf(f), Function.prototype); - assertNotEq(GeneratorFunctionPrototype, Function.prototype); + assert.notSameValue(GeneratorFunctionPrototype, Function.prototype); assert.sameValue(Object.getPrototypeOf(GeneratorFunctionPrototype), Function.prototype); assert.sameValue(Object.getPrototypeOf(function* () {}), @@ -84,8 +83,8 @@ function TestGeneratorObjectPrototype() { expected_property_names.sort(); found_property_names.sort(); - assert.deepEqual(found_property_names, expected_property_names); - assert.deepEqual(Object.getOwnPropertySymbols(GeneratorObjectPrototype), [Symbol.toStringTag]); + assert.compareArray(found_property_names, expected_property_names); + assert.compareArray(Object.getOwnPropertySymbols(GeneratorObjectPrototype), [Symbol.toStringTag]); } TestGeneratorObjectPrototype(); @@ -94,27 +93,27 @@ TestGeneratorObjectPrototype(); // like "Function". function TestGeneratorFunction() { assert.sameValue(GeneratorFunctionPrototype, GeneratorFunction.prototype); - assertTrue(g instanceof GeneratorFunction); + assert.sameValue(g instanceof GeneratorFunction, true); assert.sameValue(Function, Object.getPrototypeOf(GeneratorFunction)); - assertTrue(g instanceof Function); + assert.sameValue(g instanceof Function, true); assert.sameValue("function* g() { yield 1; }", g.toString()); // Not all functions are generators. - assertTrue(f instanceof Function); // Sanity check. - assertFalse(f instanceof GeneratorFunction); + assert.sameValue(f instanceof Function, true); // Sanity check. + assert.sameValue(f instanceof GeneratorFunction, false); - assertTrue((new GeneratorFunction()) instanceof GeneratorFunction); - assertTrue(GeneratorFunction() instanceof GeneratorFunction); + assert.sameValue((new GeneratorFunction()) instanceof GeneratorFunction, true); + assert.sameValue(GeneratorFunction() instanceof GeneratorFunction, true); - assertTrue(GeneratorFunction('yield 1') instanceof GeneratorFunction); - assertTrue(GeneratorFunction('return 1') instanceof GeneratorFunction); - assertTrue(GeneratorFunction('a', 'yield a') instanceof GeneratorFunction); - assertTrue(GeneratorFunction('a', 'return a') instanceof GeneratorFunction); - assertTrue(GeneratorFunction('a', 'return a') instanceof GeneratorFunction); + assert.sameValue(GeneratorFunction('yield 1') instanceof GeneratorFunction, true); + assert.sameValue(GeneratorFunction('return 1') instanceof GeneratorFunction, true); + assert.sameValue(GeneratorFunction('a', 'yield a') instanceof GeneratorFunction, true); + assert.sameValue(GeneratorFunction('a', 'return a') instanceof GeneratorFunction, true); + assert.sameValue(GeneratorFunction('a', 'return a') instanceof GeneratorFunction, true); assertSyntaxError("GeneratorFunction('yield', 'return yield')"); - assertTrue(GeneratorFunction('with (x) return foo;') instanceof GeneratorFunction); + assert.sameValue(GeneratorFunction('with (x) return foo;') instanceof GeneratorFunction, true); assertSyntaxError("GeneratorFunction('\"use strict\"; with (x) return foo;')"); // Doesn't matter particularly what string gets serialized, as long @@ -126,16 +125,14 @@ TestGeneratorFunction(); function TestPerGeneratorPrototype() { - assertNotEq((function*(){}).prototype, (function*(){}).prototype); - assertNotEq((function*(){}).prototype, g.prototype); + assert.notSameValue((function*(){}).prototype, (function*(){}).prototype); + assert.notSameValue((function*(){}).prototype, g.prototype); assert.sameValue(typeof GeneratorFunctionPrototype, "object"); assert.sameValue(g.prototype.__proto__.constructor, GeneratorFunctionPrototype, "object"); assert.sameValue(Object.getPrototypeOf(g.prototype), GeneratorObjectPrototype); - assertFalse(g.prototype instanceof Function); + assert.sameValue(g.prototype instanceof Function, false); assert.sameValue(typeof (g.prototype), "object"); - assert.deepEqual(Object.getOwnPropertyNames(g.prototype), []); + assert.compareArray(Object.getOwnPropertyNames(g.prototype), []); } TestPerGeneratorPrototype(); - - diff --git a/JSTests/test262/test/staging/sm/generators/syntax.js b/JSTests/test262/test/staging/sm/generators/syntax.js index f49e5ec6998d3..4731dd1f3ca27 100644 --- a/JSTests/test262/test/staging/sm/generators/syntax.js +++ b/JSTests/test262/test/staging/sm/generators/syntax.js @@ -2,7 +2,7 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-generators-shell.js, deepEqual.js] +includes: [sm/non262-generators-shell.js] flags: - noStrict description: | @@ -17,17 +17,10 @@ esid: pending function assertSyntaxError(str) { var msg; var evil = eval; - try { + assert.throws(SyntaxError, function() { // Non-direct eval. evil(str); - } catch (exc) { - if (exc instanceof SyntaxError) - return; - msg = "Assertion failed: expected SyntaxError, got " + exc; - } - if (msg === undefined) - msg = "Assertion failed: expected SyntaxError, but no exception thrown"; - throw new Error(msg + " - " + str); + }); } // Yield statements. @@ -60,14 +53,14 @@ function* g() { yield * foo } -assertThrowsInstanceOf(() => Function("function* g() { yield\n* foo }"), SyntaxError); +assert.throws(SyntaxError, () => Function("function* g() { yield\n* foo }")); assertIteratorNext(function*(){ yield 3 }(), undefined) // A YieldExpression is not a LogicalORExpression. -assertThrowsInstanceOf(() => Function("function* g() { yield ? yield : yield }"), SyntaxError); +assert.throws(SyntaxError, () => Function("function* g() { yield ? yield : yield }")); // You can have a generator in strict mode. function* g() { "use strict"; yield 3; yield 4; } diff --git a/JSTests/test262/test/staging/sm/generators/yield-error.js b/JSTests/test262/test/staging/sm/generators/yield-error.js index d0fbde1a9f86b..8ad12bf6862fc 100644 --- a/JSTests/test262/test/staging/sm/generators/yield-error.js +++ b/JSTests/test262/test/staging/sm/generators/yield-error.js @@ -2,30 +2,26 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-generators-shell.js] -flags: - - noStrict description: | pending esid: pending ---*/ + var BUGNUMBER = 1384299; var summary = "yield outside of generators should provide better error"; -print(BUGNUMBER + ": " + summary); - -assertThrowsInstanceOfWithMessage( - () => eval("yield 10"), +assert.throws( SyntaxError, + () => eval("yield 10"), "yield expression is only valid in generators"); -assertThrowsInstanceOfWithMessage( - () => eval("yield 10"), +assert.throws( SyntaxError, + () => eval("yield 10"), "yield expression is only valid in generators"); -assertThrowsInstanceOfWithMessage( - () => eval("yield 10"), +assert.throws( SyntaxError, + () => eval("yield 10"), "yield expression is only valid in generators"); diff --git a/JSTests/test262/test/staging/sm/generators/yield-iterator-close.js b/JSTests/test262/test/staging/sm/generators/yield-iterator-close.js index 836b30bde8685..53f9bc98ec188 100644 --- a/JSTests/test262/test/staging/sm/generators/yield-iterator-close.js +++ b/JSTests/test262/test/staging/sm/generators/yield-iterator-close.js @@ -2,9 +2,7 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-generators-shell.js] -flags: - - noStrict +includes: [sm/assertThrowsValue.js] description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/generators/yield-non-regexp.js b/JSTests/test262/test/staging/sm/generators/yield-non-regexp.js index efd0d854aed85..c784c7053371f 100644 --- a/JSTests/test262/test/staging/sm/generators/yield-non-regexp.js +++ b/JSTests/test262/test/staging/sm/generators/yield-non-regexp.js @@ -2,7 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-generators-shell.js] flags: - noStrict description: | diff --git a/JSTests/test262/test/staging/sm/generators/yield-star-iterator-close.js b/JSTests/test262/test/staging/sm/generators/yield-star-iterator-close.js index 78e55aa406e8b..7c761bc7d1951 100644 --- a/JSTests/test262/test/staging/sm/generators/yield-star-iterator-close.js +++ b/JSTests/test262/test/staging/sm/generators/yield-star-iterator-close.js @@ -2,9 +2,7 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-generators-shell.js] -flags: - - noStrict +includes: [sm/assertThrowsValue.js] description: | pending esid: pending @@ -20,16 +18,18 @@ function test() { var throwCalled = 0; var throwCalledExpected = 0; var iterable = {}; - iterable[Symbol.iterator] = makeIterator({ - next: function() { - nextCalled++; - return { done: false }; - }, - ret: function() { - returnCalled++; - return { done: true, value: "iter.return" }; - } - }); + iterable[Symbol.iterator] = function() { + return { + next() { + nextCalled++; + return { done: false }; + }, + return() { + returnCalled++; + return { done: true, value: "iter.return" }; + } + }; + }; function* y() { yield* iterable; @@ -38,9 +38,9 @@ function test() { // G.p.throw on an iterator without "throw" calls IteratorClose. var g1 = y(); g1.next(); - assertThrowsInstanceOf(function() { + assert.throws(TypeError, function() { g1.throw("foo"); - }, TypeError); + }); assert.sameValue(returnCalled, ++returnCalledExpected); assert.sameValue(nextCalled, ++nextCalledExpected); g1.next(); @@ -60,16 +60,18 @@ function test() { // G.p.return calls "return", and if the result.done is false, continue // yielding. - iterable[Symbol.iterator] = makeIterator({ - next: function() { - nextCalled++; - return { done: false }; - }, - ret: function() { - returnCalled++; - return { done: false, value: "iter.return" }; - } - }); + iterable[Symbol.iterator] = function() { + return { + next() { + nextCalled++; + return { done: false }; + }, + return() { + returnCalled++; + return { done: false, value: "iter.return" }; + } + }; + }; var g3 = y(); g3.next(); var v3 = g3.return("test return"); @@ -81,12 +83,17 @@ function test() { assert.sameValue(nextCalled, ++nextCalledExpected); // G.p.return throwing does not re-call iter.return. - iterable[Symbol.iterator] = makeIterator({ - ret: function() { - returnCalled++; - throw "in iter.return"; - } - }); + iterable[Symbol.iterator] = function() { + return { + next() { + return { done: false }; + }, + return() { + returnCalled++; + throw "in iter.return"; + } + }; + }; var g4 = y(); g4.next(); assertThrowsValue(function() { @@ -95,53 +102,68 @@ function test() { assert.sameValue(returnCalled, ++returnCalledExpected); // G.p.return expects iter.return to return an Object. - iterable[Symbol.iterator] = makeIterator({ - ret: function() { - returnCalled++; - return 42; - } - }); + iterable[Symbol.iterator] = function() { + return { + next() { + return { done: false }; + }, + return() { + returnCalled++; + return 42; + } + }; + }; var g5 = y(); g5.next(); - assertThrowsInstanceOf(function() { + assert.throws(TypeError, function() { g5.return("foo"); - }, TypeError); + }); assert.sameValue(returnCalled, ++returnCalledExpected); // IteratorClose expects iter.return to return an Object. var g6 = y(); g6.next(); - assertThrowsInstanceOfWithMessageContains( - () => g6.throw("foo"), + assert.throws( TypeError, + () => g6.throw("foo"), "non-object" ); assert.sameValue(returnCalled, ++returnCalledExpected); // G.p.return passes its argument to "return". - iterable[Symbol.iterator] = makeIterator({ - ret: function(x) { - assert.sameValue(x, "in test"); - returnCalled++; - return { done: true }; - } - }); + iterable[Symbol.iterator] = function() { + return { + next() { + return { done: false }; + }, + return(x) { + assert.sameValue(x, "in test"); + returnCalled++; + return { done: true }; + } + }; + }; var g7 = y(); g7.next(); g7.return("in test"); assert.sameValue(returnCalled, ++returnCalledExpected); // If a throw method is present, do not call "return". - iterable[Symbol.iterator] = makeIterator({ - throw: function(e) { - throwCalled++; - throw e; - }, - ret: function(x) { - returnCalled++; - return { done: true }; - } - }); + iterable[Symbol.iterator] = function() { + return { + next() { + return { done: false }; + }, + throw(e) { + throwCalled++; + throw e; + }, + return() { + returnCalled++; + return { done: true }; + } + }; + }; var g8 = y(); g8.next(); assertThrowsValue(function() { diff --git a/JSTests/test262/test/staging/sm/generators/yield-star-iterator-primitive.js b/JSTests/test262/test/staging/sm/generators/yield-star-iterator-primitive.js index 9a91fe745f1f4..92920ba198051 100644 --- a/JSTests/test262/test/staging/sm/generators/yield-star-iterator-primitive.js +++ b/JSTests/test262/test/staging/sm/generators/yield-star-iterator-primitive.js @@ -2,17 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-generators-shell.js] -flags: - - noStrict description: | - pending + Returning non-object from @@iterator should throw +info: bugzilla.mozilla.org/show_bug.cgi?id=1021835 esid: pending ---*/ -var BUGNUMBER = 1021835; -var summary = "Returning non-object from @@iterator should throw"; - -print(BUGNUMBER + ": " + summary); let primitives = [ 1, @@ -29,12 +23,11 @@ for (let primitive of primitives) { return primitive; } }; - assertThrowsInstanceOf(() => { + assert.throws(TypeError, () => { function* g() { yield* obj; } for (let x of g()) { } - }, TypeError); + }); } - diff --git a/JSTests/test262/test/staging/sm/generators/yield-star-throw-htmldda.js b/JSTests/test262/test/staging/sm/generators/yield-star-throw-htmldda.js index 9aa165c20d9bd..44f9cde9ec44f 100644 --- a/JSTests/test262/test/staging/sm/generators/yield-star-throw-htmldda.js +++ b/JSTests/test262/test/staging/sm/generators/yield-star-throw-htmldda.js @@ -4,9 +4,6 @@ /*--- features: - IsHTMLDDA -includes: [sm/non262.js, sm/non262-shell.js, sm/non262-generators-shell.js] -flags: - - noStrict description: | pending esid: pending @@ -24,7 +21,7 @@ var it = g({ next() { return {done: false}; }, - throw: createIsHTMLDDA(), + throw: $262.IsHTMLDDA, return() { calledReturn = true; return {done: false}; @@ -33,7 +30,7 @@ var it = g({ it.next(); -assertThrowsInstanceOf(() => it.throw(""), TypeError); +assert.throws(TypeError, () => it.throw("")); assert.sameValue(calledReturn, false); diff --git a/JSTests/test262/test/staging/sm/global/adding-global-var-nonextensible-error.js b/JSTests/test262/test/staging/sm/global/adding-global-var-nonextensible-error.js index d2bbe30a8d8dd..18dea230d30ec 100644 --- a/JSTests/test262/test/staging/sm/global/adding-global-var-nonextensible-error.js +++ b/JSTests/test262/test/staging/sm/global/adding-global-var-nonextensible-error.js @@ -4,27 +4,15 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict info: | preventExtensions on global + bugzilla.mozilla.org/show_bug.cgi?id=621432 description: | - pending + If a var statement can't create a global property because the global object isn't extensible, and an error is thrown while decompiling the global, don't assert esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 621432; -var summary = - "If a var statement can't create a global property because the global " + - "object isn't extensible, and an error is thrown while decompiling the " + - "global, don't assert"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ var toSource = []; Object.preventExtensions(this); @@ -38,7 +26,3 @@ catch (e) { assert.sameValue(e instanceof TypeError, true, "expected TypeError, got: " + e); } - -/******************************************************************************/ - -print("All tests passed!"); diff --git a/JSTests/test262/test/staging/sm/global/bug-320887.js b/JSTests/test262/test/staging/sm/global/bug-320887.js index 423ec95e673dc..1645192cd64f8 100644 --- a/JSTests/test262/test/staging/sm/global/bug-320887.js +++ b/JSTests/test262/test/staging/sm/global/bug-320887.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/global/bug660612.js b/JSTests/test262/test/staging/sm/global/bug660612.js index b92dbc33343b1..b0f7b6c500b6a 100644 --- a/JSTests/test262/test/staging/sm/global/bug660612.js +++ b/JSTests/test262/test/staging/sm/global/bug660612.js @@ -2,16 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending ---*/ -try { - decodeURIComponent('%ED%A0%80'); - assert.sameValue(true, false, "expected an URIError"); -} catch (e) { - assert.sameValue(e instanceof URIError, true); -} + +assert.throws(URIError, function() { + decodeURIComponent('%ED%A0%80'); +}); diff --git a/JSTests/test262/test/staging/sm/global/decodeURI-decodes-FFFE-FFFF.js b/JSTests/test262/test/staging/sm/global/decodeURI-decodes-FFFE-FFFF.js index 73fdd203f1201..31fc0b4a6ea7e 100644 --- a/JSTests/test262/test/staging/sm/global/decodeURI-decodes-FFFE-FFFF.js +++ b/JSTests/test262/test/staging/sm/global/decodeURI-decodes-FFFE-FFFF.js @@ -4,30 +4,13 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + decodeURI{,Component} should return the specified character for '%EF%BF%BE' and '%EF%BF%BF', not return U+FFFD +info: bugzilla.mozilla.org/show_bug.cgi?id=520095 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 520095; -var summary = - "decodeURI{,Component} should return the specified character for " + - "'%EF%BF%BE' and '%EF%BF%BF', not return U+FFFD"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ assert.sameValue(decodeURI("%EF%BF%BE"), "\uFFFE"); assert.sameValue(decodeURI("%EF%BF%BF"), "\uFFFF"); assert.sameValue(decodeURIComponent("%EF%BF%BE"), "\uFFFE"); assert.sameValue(decodeURIComponent("%EF%BF%BF"), "\uFFFF"); - -/******************************************************************************/ - -print("All tests passed!"); diff --git a/JSTests/test262/test/staging/sm/global/delete-global-NaN-property.js b/JSTests/test262/test/staging/sm/global/delete-global-NaN-property.js index 2023cb789921c..de414a95ea403 100644 --- a/JSTests/test262/test/staging/sm/global/delete-global-NaN-property.js +++ b/JSTests/test262/test/staging/sm/global/delete-global-NaN-property.js @@ -6,22 +6,11 @@ /*--- flags: - onlyStrict -includes: [sm/non262.js, sm/non262-shell.js] description: | - pending + |delete window.NaN| should throw a TypeError +info: bugzilla.mozilla.org/show_bug.cgi?id=649570 esid: pending ---*/ -"use strict" - -//----------------------------------------------------------------------------- -var BUGNUMBER = 649570; -var summary = "|delete window.NaN| should throw a TypeError"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ var g = this, v = false; try @@ -34,7 +23,3 @@ catch (e) assert.sameValue(e instanceof TypeError, true, "Expected a TypeError, got: " + e); } - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/global/direct-eval-but-not.js b/JSTests/test262/test/staging/sm/global/direct-eval-but-not.js index 0e9901fc67fbc..df8cf34520143 100644 --- a/JSTests/test262/test/staging/sm/global/direct-eval-but-not.js +++ b/JSTests/test262/test/staging/sm/global/direct-eval-but-not.js @@ -4,24 +4,13 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | - pending + Don't crash doing a direct eval when eval doesn't resolve to an object (let alone the original eval function) +info: bugzilla.mozilla.org/show_bug.cgi?id=609256 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 609256; -var summary = - "Don't crash doing a direct eval when eval doesn't resolve to an object " + - "(let alone the original eval function)"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ var eval = ""; try @@ -33,7 +22,3 @@ catch (e) { assert.sameValue(e instanceof TypeError, true); } - -/******************************************************************************/ - -print("All tests passed!"); diff --git a/JSTests/test262/test/staging/sm/global/eval-01.js b/JSTests/test262/test/staging/sm/global/eval-01.js index a95dc0c36213f..7b7128306723e 100644 --- a/JSTests/test262/test/staging/sm/global/eval-01.js +++ b/JSTests/test262/test/staging/sm/global/eval-01.js @@ -4,7 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | diff --git a/JSTests/test262/test/staging/sm/global/eval-02.js b/JSTests/test262/test/staging/sm/global/eval-02.js index 26db78db236f7..c7f95505c786a 100644 --- a/JSTests/test262/test/staging/sm/global/eval-02.js +++ b/JSTests/test262/test/staging/sm/global/eval-02.js @@ -4,7 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | diff --git a/JSTests/test262/test/staging/sm/global/eval-in-strict-eval-in-normal-function.js b/JSTests/test262/test/staging/sm/global/eval-in-strict-eval-in-normal-function.js index 95288347cf115..226c4f9bf8b8a 100644 --- a/JSTests/test262/test/staging/sm/global/eval-in-strict-eval-in-normal-function.js +++ b/JSTests/test262/test/staging/sm/global/eval-in-strict-eval-in-normal-function.js @@ -4,24 +4,13 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | - pending + Calls to eval with same code + varying strict mode of script containing eval == fail +info: bugzilla.mozilla.org/show_bug.cgi?id=620130 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 620130; -var summary = - "Calls to eval with same code + varying strict mode of script containing " + - "eval == fail"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ function t(code) { return eval(code); } @@ -31,7 +20,3 @@ assert.sameValue(t("try { eval('with (5) 17'); } catch (e) { 'threw'; }"), 17); assert.sameValue(t("'use strict'; try { eval('with (5) 17'); } catch (e) { 'threw'; }"), "threw"); - -/******************************************************************************/ - -print("All tests passed!"); diff --git a/JSTests/test262/test/staging/sm/global/eval-inside-with-is-direct.js b/JSTests/test262/test/staging/sm/global/eval-inside-with-is-direct.js index 0a2726e033175..b216b459c12e9 100644 --- a/JSTests/test262/test/staging/sm/global/eval-inside-with-is-direct.js +++ b/JSTests/test262/test/staging/sm/global/eval-inside-with-is-direct.js @@ -4,22 +4,13 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | - pending + with (...) eval(...) is a direct eval +info: bugzilla.mozilla.org/show_bug.cgi?id=601307 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 601307; -var summary = "with (...) eval(...) is a direct eval"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ var t = "global"; function test() @@ -29,7 +20,3 @@ function test() return eval("t"); } assert.sameValue(test(), "local"); - -/******************************************************************************/ - -print("All tests passed!"); diff --git a/JSTests/test262/test/staging/sm/global/eval-native-callback-is-indirect.js b/JSTests/test262/test/staging/sm/global/eval-native-callback-is-indirect.js index 146842d4ce30a..d21d4c2b8e336 100644 --- a/JSTests/test262/test/staging/sm/global/eval-native-callback-is-indirect.js +++ b/JSTests/test262/test/staging/sm/global/eval-native-callback-is-indirect.js @@ -4,22 +4,13 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | - pending + eval called from a native function is indirect +info: bugzilla.mozilla.org/show_bug.cgi?id=604504 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 604504; -var summary = "eval called from a native function is indirect"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ var originalEval = eval; @@ -33,7 +24,3 @@ function testBound() assert.sameValue(eval(), true); } testBound(); - -/******************************************************************************/ - -print("All tests passed!"); diff --git a/JSTests/test262/test/staging/sm/global/globalThis-enumeration.js b/JSTests/test262/test/staging/sm/global/globalThis-enumeration.js index 90e5b2b78d182..e840b2a25ff54 100644 --- a/JSTests/test262/test/staging/sm/global/globalThis-enumeration.js +++ b/JSTests/test262/test/staging/sm/global/globalThis-enumeration.js @@ -2,14 +2,9 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending ---*/ -assert.sameValue(Object.getOwnPropertyNames(this).includes('globalThis'), true); -if (typeof assert.sameValue === "function") { -} +assert.sameValue(Object.getOwnPropertyNames(this).includes('globalThis'), true); diff --git a/JSTests/test262/test/staging/sm/global/parenthesized-eval-is-direct.js b/JSTests/test262/test/staging/sm/global/parenthesized-eval-is-direct.js index 72e01b4affec9..deda195c4927f 100644 --- a/JSTests/test262/test/staging/sm/global/parenthesized-eval-is-direct.js +++ b/JSTests/test262/test/staging/sm/global/parenthesized-eval-is-direct.js @@ -4,19 +4,10 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + (eval)(...) is a direct eval, (1, eval)() isn't, etc. esid: pending ---*/ -//----------------------------------------------------------------------------- -print("(eval)(...) is a direct eval, (1, eval)() isn't, etc."); - -/************** - * BEGIN TEST * - **************/ /* * Justification: @@ -69,7 +60,3 @@ function groupAndNaNTernary() return (0 / 0 ? null : eval)("t"); } assert.sameValue(groupAndNaNTernary(), "global"); - -/******************************************************************************/ - -print("All tests passed!"); diff --git a/JSTests/test262/test/staging/sm/global/parseFloat-01.js b/JSTests/test262/test/staging/sm/global/parseFloat-01.js index f617803ebcc0d..8813889f0ef25 100644 --- a/JSTests/test262/test/staging/sm/global/parseFloat-01.js +++ b/JSTests/test262/test/staging/sm/global/parseFloat-01.js @@ -4,18 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + parseFloat(string) +info: bugzilla.mozilla.org/show_bug.cgi?id=613492 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 613492; -var summary = "ES5 15.1.2.3 parseFloat(string)"; - -print(BUGNUMBER + ": " + summary); assert.sameValue(parseFloat("Infinity"), Infinity); assert.sameValue(parseFloat("+Infinity"), Infinity); @@ -27,5 +20,3 @@ assert.sameValue(parseFloat("infinity"), NaN); assert.sameValue(parseFloat("nan"), NaN); assert.sameValue(parseFloat("NaN"), NaN); - -print("All tests passed!"); diff --git a/JSTests/test262/test/staging/sm/global/parseInt-01.js b/JSTests/test262/test/staging/sm/global/parseInt-01.js index f09ca4a8582c9..b486be615f948 100644 --- a/JSTests/test262/test/staging/sm/global/parseInt-01.js +++ b/JSTests/test262/test/staging/sm/global/parseInt-01.js @@ -4,22 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + parseInt(string, radix) +info: bugzilla.mozilla.org/show_bug.cgi?id=577536 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 577536; -var summary = "ES5 15.1.2.2 parseInt(string, radix)"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ var str, radix; var upvar; @@ -170,8 +159,3 @@ assert.sameValue(parseInt("00A", 16), 10); assert.sameValue(parseInt("A", 17), 10); assert.sameValue(parseInt("0A", 17), 10); assert.sameValue(parseInt("00A", 17), 10); - - -/******************************************************************************/ - -print("All tests passed!"); diff --git a/JSTests/test262/test/staging/sm/global/parseInt-default-to-decimal.js b/JSTests/test262/test/staging/sm/global/parseInt-default-to-decimal.js index b4fb2576c0bf8..d314fe4a139e9 100644 --- a/JSTests/test262/test/staging/sm/global/parseInt-default-to-decimal.js +++ b/JSTests/test262/test/staging/sm/global/parseInt-default-to-decimal.js @@ -4,24 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + parseInt should treat leading-zero inputs (with radix unspecified) as decimal, not octal +info: bugzilla.mozilla.org/show_bug.cgi?id=583925 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 583925; -var summary = - "parseInt should treat leading-zero inputs (with radix unspecified) as " + - "decimal, not octal (this changed in bug 786135)"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ assert.sameValue(parseInt("08"), 8); assert.sameValue(parseInt("09"), 9); @@ -32,7 +19,3 @@ function strictParseInt(s) { "use strict"; return parseInt(s); } assert.sameValue(strictParseInt("08"), 8); assert.sameValue(strictParseInt("09"), 9); assert.sameValue(strictParseInt("014"), 14); - -/******************************************************************************/ - -print("All tests passed!"); diff --git a/JSTests/test262/test/staging/sm/lexical-environment/block-scoped-functions-annex-b-arguments.js b/JSTests/test262/test/staging/sm/lexical-environment/block-scoped-functions-annex-b-arguments.js index 6e99fa586fa20..ffa83886be173 100644 --- a/JSTests/test262/test/staging/sm/lexical-environment/block-scoped-functions-annex-b-arguments.js +++ b/JSTests/test262/test/staging/sm/lexical-environment/block-scoped-functions-annex-b-arguments.js @@ -2,7 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | diff --git a/JSTests/test262/test/staging/sm/lexical-environment/block-scoped-functions-annex-b-eval.js b/JSTests/test262/test/staging/sm/lexical-environment/block-scoped-functions-annex-b-eval.js index fbcf369c57e0e..465eecbf01b30 100644 --- a/JSTests/test262/test/staging/sm/lexical-environment/block-scoped-functions-annex-b-eval.js +++ b/JSTests/test262/test/staging/sm/lexical-environment/block-scoped-functions-annex-b-eval.js @@ -2,7 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | diff --git a/JSTests/test262/test/staging/sm/lexical-environment/block-scoped-functions-annex-b-generators.js b/JSTests/test262/test/staging/sm/lexical-environment/block-scoped-functions-annex-b-generators.js index 03d82a8b71cfb..b5741f5205a68 100644 --- a/JSTests/test262/test/staging/sm/lexical-environment/block-scoped-functions-annex-b-generators.js +++ b/JSTests/test262/test/staging/sm/lexical-environment/block-scoped-functions-annex-b-generators.js @@ -2,7 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | diff --git a/JSTests/test262/test/staging/sm/lexical-environment/block-scoped-functions-annex-b-if.js b/JSTests/test262/test/staging/sm/lexical-environment/block-scoped-functions-annex-b-if.js index 2fe1db4ff1a51..3f701a147203a 100644 --- a/JSTests/test262/test/staging/sm/lexical-environment/block-scoped-functions-annex-b-if.js +++ b/JSTests/test262/test/staging/sm/lexical-environment/block-scoped-functions-annex-b-if.js @@ -2,7 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | diff --git a/JSTests/test262/test/staging/sm/lexical-environment/block-scoped-functions-annex-b-label.js b/JSTests/test262/test/staging/sm/lexical-environment/block-scoped-functions-annex-b-label.js index 10211be259892..7a8d270a17b7e 100644 --- a/JSTests/test262/test/staging/sm/lexical-environment/block-scoped-functions-annex-b-label.js +++ b/JSTests/test262/test/staging/sm/lexical-environment/block-scoped-functions-annex-b-label.js @@ -2,39 +2,29 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | pending esid: pending ---*/ + function expectSyntaxError(str) { - var threwSyntaxError; - try { + assert.throws(SyntaxError, function() { eval(str); - } catch (e) { - threwSyntaxError = e instanceof SyntaxError; - } - assert.sameValue(threwSyntaxError, true); + }); - try { + assert.throws(SyntaxError, function() { eval('"use strict";' + str); - } catch (e) { - threwSyntaxError = e instanceof SyntaxError; - } - assert.sameValue(threwSyntaxError, true); + }); } function expectSloppyPass(str) { eval(str); - try { + assert.throws(SyntaxError, function() { eval('"use strict";' + str); - } catch (e) { - threwSyntaxError = e instanceof SyntaxError; - } - assert.sameValue(threwSyntaxError, true); + }); } expectSloppyPass(`l: function f1() {}`); @@ -50,4 +40,3 @@ expectSyntaxError(`while (0) l: function f5() {}`); expectSyntaxError(`for (;;) l: function f6() {}`); expectSloppyPass(`switch (1) { case 1: l: function f7() {} }`); expectSloppyPass(`switch (1) { case 1: assert.sameValue(f8(), 'f8'); case 2: l: function f8() { return 'f8'; } } assert.sameValue(f8(), 'f8');`); - diff --git a/JSTests/test262/test/staging/sm/lexical-environment/block-scoped-functions-annex-b-notapplicable.js b/JSTests/test262/test/staging/sm/lexical-environment/block-scoped-functions-annex-b-notapplicable.js index b8dcfaa7d0f34..ff2bee9bbbee8 100644 --- a/JSTests/test262/test/staging/sm/lexical-environment/block-scoped-functions-annex-b-notapplicable.js +++ b/JSTests/test262/test/staging/sm/lexical-environment/block-scoped-functions-annex-b-notapplicable.js @@ -2,7 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | diff --git a/JSTests/test262/test/staging/sm/lexical-environment/block-scoped-functions-annex-b-parameter.js b/JSTests/test262/test/staging/sm/lexical-environment/block-scoped-functions-annex-b-parameter.js index de7745a0a3378..6722f8656b81e 100644 --- a/JSTests/test262/test/staging/sm/lexical-environment/block-scoped-functions-annex-b-parameter.js +++ b/JSTests/test262/test/staging/sm/lexical-environment/block-scoped-functions-annex-b-parameter.js @@ -2,7 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | diff --git a/JSTests/test262/test/staging/sm/lexical-environment/block-scoped-functions-annex-b-same-name.js b/JSTests/test262/test/staging/sm/lexical-environment/block-scoped-functions-annex-b-same-name.js index 80063dcc7fb53..35cc301edb003 100644 --- a/JSTests/test262/test/staging/sm/lexical-environment/block-scoped-functions-annex-b-same-name.js +++ b/JSTests/test262/test/staging/sm/lexical-environment/block-scoped-functions-annex-b-same-name.js @@ -2,7 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | diff --git a/JSTests/test262/test/staging/sm/lexical-environment/block-scoped-functions-annex-b-with.js b/JSTests/test262/test/staging/sm/lexical-environment/block-scoped-functions-annex-b-with.js index 08c66eea2c577..b27cac78ce2e0 100644 --- a/JSTests/test262/test/staging/sm/lexical-environment/block-scoped-functions-annex-b-with.js +++ b/JSTests/test262/test/staging/sm/lexical-environment/block-scoped-functions-annex-b-with.js @@ -2,7 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | diff --git a/JSTests/test262/test/staging/sm/lexical-environment/block-scoped-functions-annex-b.js b/JSTests/test262/test/staging/sm/lexical-environment/block-scoped-functions-annex-b.js index a5fca629f0fe3..a74d49d6fde12 100644 --- a/JSTests/test262/test/staging/sm/lexical-environment/block-scoped-functions-annex-b.js +++ b/JSTests/test262/test/staging/sm/lexical-environment/block-scoped-functions-annex-b.js @@ -2,7 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | diff --git a/JSTests/test262/test/staging/sm/lexical-environment/block-scoped-functions-deprecated-redecl.js b/JSTests/test262/test/staging/sm/lexical-environment/block-scoped-functions-deprecated-redecl.js index 0ea586744cd19..ada1357a954d3 100644 --- a/JSTests/test262/test/staging/sm/lexical-environment/block-scoped-functions-deprecated-redecl.js +++ b/JSTests/test262/test/staging/sm/lexical-environment/block-scoped-functions-deprecated-redecl.js @@ -2,13 +2,13 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | pending esid: pending ---*/ + { assert.sameValue(f(), 4); function f() { return 3; } @@ -47,41 +47,27 @@ function test() { test(); -var log = ''; - -try { - // Strict mode still cannot redeclare. +// Strict mode still cannot redeclare. +assert.throws(SyntaxError, function() { eval(`"use strict"; { function f() { } function f() { } }`); -} catch (e) { - assert.sameValue(e instanceof SyntaxError, true); - log += 'e'; -} +}); -try { - // Redeclaring an explicitly 'let'-declared binding doesn't work. +// Redeclaring an explicitly 'let'-declared binding doesn't work. +assert.throws(SyntaxError, function() { eval(`{ let x = 42; function x() {} }`); -} catch (e) { - assert.sameValue(e instanceof SyntaxError, true); - log += 'e'; -} +}); -try { - // Redeclaring an explicitly 'const'-declared binding doesn't work. +// Redeclaring an explicitly 'const'-declared binding doesn't work. +assert.throws(SyntaxError, function() { eval(`{ const x = 42; function x() {} }`); -} catch (e) { - assert.sameValue(e instanceof SyntaxError, true); - log += 'e'; -} - -assert.sameValue(log, 'eee'); - +}); diff --git a/JSTests/test262/test/staging/sm/lexical-environment/block-scoped-functions-hoisted-tdz.js b/JSTests/test262/test/staging/sm/lexical-environment/block-scoped-functions-hoisted-tdz.js index 7390ad397bf67..d64daef0ee730 100644 --- a/JSTests/test262/test/staging/sm/lexical-environment/block-scoped-functions-hoisted-tdz.js +++ b/JSTests/test262/test/staging/sm/lexical-environment/block-scoped-functions-hoisted-tdz.js @@ -2,38 +2,25 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | pending esid: pending ---*/ -var log = ""; -try { - (function() { - { - let y = f(); - function f() { y; } - } - })() -} catch (e) { - log += e instanceof ReferenceError; -} -try { - function f() { - switch (1) { - case 0: - let x; - case 1: - (function() { x; })(); - } +assert.throws(ReferenceError, function() { + { + let y = f(); + function f() { y; } } - f(); -} catch (e) { - log += e instanceof ReferenceError; -} - -assert.sameValue(log, "truetrue"); +}); +assert.throws(ReferenceError, function() { + switch (1) { + case 0: + let x; + case 1: + (function() { x; })(); + } +}); diff --git a/JSTests/test262/test/staging/sm/lexical-environment/block-scoped-functions-strict.js b/JSTests/test262/test/staging/sm/lexical-environment/block-scoped-functions-strict.js index 6d87432e7e696..3825ae86f1add 100644 --- a/JSTests/test262/test/staging/sm/lexical-environment/block-scoped-functions-strict.js +++ b/JSTests/test262/test/staging/sm/lexical-environment/block-scoped-functions-strict.js @@ -4,12 +4,10 @@ /*--- flags: - onlyStrict -includes: [sm/non262.js, sm/non262-shell.js] description: | pending esid: pending ---*/ -"use strict" var log = ""; diff --git a/JSTests/test262/test/staging/sm/lexical-environment/bug-1216623.js b/JSTests/test262/test/staging/sm/lexical-environment/bug-1216623.js index 38f9960c5e547..d794310eeba68 100644 --- a/JSTests/test262/test/staging/sm/lexical-environment/bug-1216623.js +++ b/JSTests/test262/test/staging/sm/lexical-environment/bug-1216623.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/lexical-environment/catch-body.js b/JSTests/test262/test/staging/sm/lexical-environment/catch-body.js index b859dafa07d9c..00723209bad6f 100644 --- a/JSTests/test262/test/staging/sm/lexical-environment/catch-body.js +++ b/JSTests/test262/test/staging/sm/lexical-environment/catch-body.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/lexical-environment/const-declaration-in-for-loop.js b/JSTests/test262/test/staging/sm/lexical-environment/const-declaration-in-for-loop.js index 74530b1dc0c2b..0f3caa89102e3 100644 --- a/JSTests/test262/test/staging/sm/lexical-environment/const-declaration-in-for-loop.js +++ b/JSTests/test262/test/staging/sm/lexical-environment/const-declaration-in-for-loop.js @@ -4,25 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Don't crash compiling a non-body-level for-loop whose loop declaration is a const +info: bugzilla.mozilla.org/show_bug.cgi?id=1146644 esid: pending ---*/ -var gTestfile = "const-declaration-in-for-loop.js"; -//----------------------------------------------------------------------------- -var BUGNUMBER = 1146644; -var summary = - "Don't crash compiling a non-body-level for-loop whose loop declaration is " + - "a const"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ // Don't attempt execution as a script if we can't properly emulate it. We // could perhaps use eval, but eval, while also doing global execution, is its @@ -87,7 +73,3 @@ Function(`if (true) for (const a12 in {}) continue; }`)(); - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/lexical-environment/eval-has-lexical-environment.js b/JSTests/test262/test/staging/sm/lexical-environment/eval-has-lexical-environment.js index c8265df6b2385..08de723e8cda8 100644 --- a/JSTests/test262/test/staging/sm/lexical-environment/eval-has-lexical-environment.js +++ b/JSTests/test262/test/staging/sm/lexical-environment/eval-has-lexical-environment.js @@ -4,22 +4,13 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | - pending + Eval always has a lexical environment +info: bugzilla.mozilla.org/show_bug.cgi?id=1193583 esid: pending ---*/ -var gTestfile = "eval-has-lexical-environment.js" -//----------------------------------------------------------------------------- -var BUGNUMBER = 1193583; -var summary = - "Eval always has a lexical environment"; - -/************** - * BEGIN TEST * - **************/ eval(` let foo = 42; @@ -46,5 +37,3 @@ assert.sameValue(f(), 84); // Var can escape direct eval. assert.sameValue(bar, 84); - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/lexical-environment/for-loop-with-bindings-added-at-runtime.js b/JSTests/test262/test/staging/sm/lexical-environment/for-loop-with-bindings-added-at-runtime.js index 5395f1ac84496..9ebfd34206dfd 100644 --- a/JSTests/test262/test/staging/sm/lexical-environment/for-loop-with-bindings-added-at-runtime.js +++ b/JSTests/test262/test/staging/sm/lexical-environment/for-loop-with-bindings-added-at-runtime.js @@ -4,26 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Don't assert when freshening the scope chain for a for-loop whose head contains a lexical declaration, where the loop body might add more bindings at runtime +info: bugzilla.mozilla.org/show_bug.cgi?id=1149797 esid: pending ---*/ -var gTestfile = "for-loop-with-bindings-added-at-runtime.js"; -//----------------------------------------------------------------------------- -var BUGNUMBER = 1149797; -var summary = - "Don't assert when freshening the scope chain for a for-loop whose head " + - "contains a lexical declaration, where the loop body might add more " + - "bindings at runtime"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ for (let x = 0; x < 9; ++x) eval("var y"); @@ -124,7 +109,3 @@ function h2() } } h2(); - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/lexical-environment/for-loop.js b/JSTests/test262/test/staging/sm/lexical-environment/for-loop.js index 862b52240bca9..2bd34c0cbb56c 100644 --- a/JSTests/test262/test/staging/sm/lexical-environment/for-loop.js +++ b/JSTests/test262/test/staging/sm/lexical-environment/for-loop.js @@ -4,38 +4,17 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + for-loop semantics for for(;;) loops whose heads contain lexical declarations +info: bugzilla.mozilla.org/show_bug.cgi?id=985733 esid: pending ---*/ -var gTestfile = "for-loop.js"; -//----------------------------------------------------------------------------- -var BUGNUMBER = 985733; -var summary = - "ES6 for-loop semantics for for(;;) loops whose heads contain lexical " - "declarations"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ function isError(code, type) { - try - { + assert.throws(type, function() { Function(code); - throw new Error("didn't throw"); - } - catch (e) - { - assert.sameValue(e instanceof type, true, - "unexpected error for `" + code + "`: got " + e); - } + }); } function isOK(code) @@ -46,8 +25,8 @@ function isOK(code) isError("for (const x; ; ) ;", SyntaxError); isError("for (const x = 5, y; ; ) ;", SyntaxError); isError("for (const [z]; ; ) ;", SyntaxError); -//isError("for (const [z, z]; ; ) ;", SyntaxError); -//isError("for (const [z, z] = [0, 1]; ; ) ;", SyntaxError); +isError("for (const [z, z]; ; ) ;", SyntaxError); +isError("for (const [z, z] = [0, 1]; ; ) ;", SyntaxError); isOK("for (let x; ; ) ;"); isOK("for (let x = 5, y; ; ) ;"); @@ -120,7 +99,3 @@ if (save() !== "OUTER V IGNORE") t(8, "body", 8); assert.sameValue(funcs.length, 9); } - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/lexical-environment/implicit-this-in-with.js b/JSTests/test262/test/staging/sm/lexical-environment/implicit-this-in-with.js index 0ce750708a4ba..abe3c9be68265 100644 --- a/JSTests/test262/test/staging/sm/lexical-environment/implicit-this-in-with.js +++ b/JSTests/test262/test/staging/sm/lexical-environment/implicit-this-in-with.js @@ -2,7 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | diff --git a/JSTests/test262/test/staging/sm/lexical-environment/unscopables-basics.js b/JSTests/test262/test/staging/sm/lexical-environment/unscopables-basics.js index c8be4f836eb08..1ec56a7ceb48f 100644 --- a/JSTests/test262/test/staging/sm/lexical-environment/unscopables-basics.js +++ b/JSTests/test262/test/staging/sm/lexical-environment/unscopables-basics.js @@ -2,7 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | diff --git a/JSTests/test262/test/staging/sm/lexical-environment/unscopables-closures.js b/JSTests/test262/test/staging/sm/lexical-environment/unscopables-closures.js index 95d08171a8234..9ffe290a2c12b 100644 --- a/JSTests/test262/test/staging/sm/lexical-environment/unscopables-closures.js +++ b/JSTests/test262/test/staging/sm/lexical-environment/unscopables-closures.js @@ -2,7 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | diff --git a/JSTests/test262/test/staging/sm/lexical-environment/unscopables-const.js b/JSTests/test262/test/staging/sm/lexical-environment/unscopables-const.js index 51059d9102382..9779cfbcfb782 100644 --- a/JSTests/test262/test/staging/sm/lexical-environment/unscopables-const.js +++ b/JSTests/test262/test/staging/sm/lexical-environment/unscopables-const.js @@ -2,7 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | @@ -14,5 +13,5 @@ esid: pending const x = 1; with ({x: 1, [Symbol.unscopables]: {x: true}}) - assertThrowsInstanceOf(() => {x = 2;}, TypeError); + assert.throws(TypeError, () => {x = 2;}); diff --git a/JSTests/test262/test/staging/sm/lexical-environment/unscopables-delete.js b/JSTests/test262/test/staging/sm/lexical-environment/unscopables-delete.js index a6fd378eec37a..8c4d84834a83b 100644 --- a/JSTests/test262/test/staging/sm/lexical-environment/unscopables-delete.js +++ b/JSTests/test262/test/staging/sm/lexical-environment/unscopables-delete.js @@ -2,7 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | diff --git a/JSTests/test262/test/staging/sm/lexical-environment/unscopables-getters.js b/JSTests/test262/test/staging/sm/lexical-environment/unscopables-getters.js index e2d081ca45b1d..375b08d27ec7b 100644 --- a/JSTests/test262/test/staging/sm/lexical-environment/unscopables-getters.js +++ b/JSTests/test262/test/staging/sm/lexical-environment/unscopables-getters.js @@ -2,7 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | @@ -28,7 +27,7 @@ assert.sameValue(hit1, 1); // It can throw; the exception is propagated out. function Fit() {} with ({x: 0, get [Symbol.unscopables]() { throw new Fit; }}) - assertThrowsInstanceOf(() => x, Fit); + assert.throws(Fit, () => x); // Individual properties on the @@unscopables object can have getters. let hit2 = 0; @@ -47,5 +46,5 @@ assert.sameValue(hit2, 1); // And they can throw. with ({x: 0, [Symbol.unscopables]: {get x() { throw new Fit; }}}) - assertThrowsInstanceOf(() => x, Fit); + assert.throws(Fit, () => x); diff --git a/JSTests/test262/test/staging/sm/lexical-environment/unscopables-global.js b/JSTests/test262/test/staging/sm/lexical-environment/unscopables-global.js index 3a9707a95aa0f..e2690d63d7b93 100644 --- a/JSTests/test262/test/staging/sm/lexical-environment/unscopables-global.js +++ b/JSTests/test262/test/staging/sm/lexical-environment/unscopables-global.js @@ -2,7 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | diff --git a/JSTests/test262/test/staging/sm/lexical-environment/unscopables-ignored.js b/JSTests/test262/test/staging/sm/lexical-environment/unscopables-ignored.js index b7a39b7b2da08..b55c459f8971c 100644 --- a/JSTests/test262/test/staging/sm/lexical-environment/unscopables-ignored.js +++ b/JSTests/test262/test/staging/sm/lexical-environment/unscopables-ignored.js @@ -2,7 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | diff --git a/JSTests/test262/test/staging/sm/lexical-environment/unscopables-miss.js b/JSTests/test262/test/staging/sm/lexical-environment/unscopables-miss.js index b02baf9bb3495..a6e944d253523 100644 --- a/JSTests/test262/test/staging/sm/lexical-environment/unscopables-miss.js +++ b/JSTests/test262/test/staging/sm/lexical-environment/unscopables-miss.js @@ -2,7 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | @@ -13,5 +12,5 @@ esid: pending // is a ReferenceError. with ({x: 1, [Symbol.unscopables]: {x: true}}) - assertThrowsInstanceOf(() => x, ReferenceError); + assert.throws(ReferenceError, () => x); diff --git a/JSTests/test262/test/staging/sm/lexical-environment/unscopables-mutation-frozen.js b/JSTests/test262/test/staging/sm/lexical-environment/unscopables-mutation-frozen.js index fe8dd25c23faf..839293dcd977a 100644 --- a/JSTests/test262/test/staging/sm/lexical-environment/unscopables-mutation-frozen.js +++ b/JSTests/test262/test/staging/sm/lexical-environment/unscopables-mutation-frozen.js @@ -2,7 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | diff --git a/JSTests/test262/test/staging/sm/lexical-environment/unscopables-proto.js b/JSTests/test262/test/staging/sm/lexical-environment/unscopables-proto.js index 5daba7ec0972f..160245dc76dd5 100644 --- a/JSTests/test262/test/staging/sm/lexical-environment/unscopables-proto.js +++ b/JSTests/test262/test/staging/sm/lexical-environment/unscopables-proto.js @@ -2,7 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | diff --git a/JSTests/test262/test/staging/sm/lexical-environment/unscopables-proxy.js b/JSTests/test262/test/staging/sm/lexical-environment/unscopables-proxy.js index 491a684b32c81..9e2630f7452f5 100644 --- a/JSTests/test262/test/staging/sm/lexical-environment/unscopables-proxy.js +++ b/JSTests/test262/test/staging/sm/lexical-environment/unscopables-proxy.js @@ -2,7 +2,7 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, deepEqual.js] +includes: [deepEqual.js] flags: - noStrict description: | diff --git a/JSTests/test262/test/staging/sm/lexical-environment/unscopables-tdz.js b/JSTests/test262/test/staging/sm/lexical-environment/unscopables-tdz.js index bc11500af4f93..eeba7c923dc52 100644 --- a/JSTests/test262/test/staging/sm/lexical-environment/unscopables-tdz.js +++ b/JSTests/test262/test/staging/sm/lexical-environment/unscopables-tdz.js @@ -2,7 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | @@ -12,7 +11,7 @@ esid: pending // Accessing an uninitialized variable due to @@unscopables is still a ReferenceError. with ({x: 1, [Symbol.unscopables]: {x: true}}) - assertThrowsInstanceOf(() => x, ReferenceError); + assert.throws(ReferenceError, () => x); let x; diff --git a/JSTests/test262/test/staging/sm/lexical-environment/var-in-catch-body-annex-b-eval.js b/JSTests/test262/test/staging/sm/lexical-environment/var-in-catch-body-annex-b-eval.js index 4d33f13be33fc..ef6e904a0da27 100644 --- a/JSTests/test262/test/staging/sm/lexical-environment/var-in-catch-body-annex-b-eval.js +++ b/JSTests/test262/test/staging/sm/lexical-environment/var-in-catch-body-annex-b-eval.js @@ -2,7 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | diff --git a/JSTests/test262/test/staging/sm/lexical-environment/with-global-ignores-global-let-variables.js b/JSTests/test262/test/staging/sm/lexical-environment/with-global-ignores-global-let-variables.js index e56e4e2c64b35..25e6894c405cb 100644 --- a/JSTests/test262/test/staging/sm/lexical-environment/with-global-ignores-global-let-variables.js +++ b/JSTests/test262/test/staging/sm/lexical-environment/with-global-ignores-global-let-variables.js @@ -4,13 +4,13 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | pending esid: pending ---*/ + let v = "global-v"; function f(v, global) @@ -21,5 +21,3 @@ function f(v, global) assert.sameValue(f("argument-v", this), "argument-v", "let-var shouldn't appear in global for |with| purposes"); - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/literals/numeric/idstart-after-numeric.js b/JSTests/test262/test/staging/sm/literals/numeric/idstart-after-numeric.js index d18952d0f0e2f..b35dad053052c 100644 --- a/JSTests/test262/test/staging/sm/literals/numeric/idstart-after-numeric.js +++ b/JSTests/test262/test/staging/sm/literals/numeric/idstart-after-numeric.js @@ -4,20 +4,16 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + numeric literal followed by an identifier +info: bugzilla.mozilla.org/show_bug.cgi?id='523401' esid: pending ---*/ -var BUGNUMBER = '523401'; -var summary = 'numeric literal followed by an identifier'; var array = new Array(); -assertThrowsInstanceOf(() => eval("array[0for]"), SyntaxError); -assertThrowsInstanceOf(() => eval("array[1yield]"), SyntaxError); -assertThrowsInstanceOf(() => eval("array[2in []]"), SyntaxError); // "2 in []" is valid. +assert.throws(SyntaxError, () => eval("array[0for]")); +assert.throws(SyntaxError, () => eval("array[1yield]")); +assert.throws(SyntaxError, () => eval("array[2in []]")); // "2 in []" is valid. assert.sameValue(array[2 in []], undefined); assert.sameValue(2 in [], false); -assertThrowsInstanceOf(() => eval("array[3in]"), SyntaxError); +assert.throws(SyntaxError, () => eval("array[3in]")); diff --git a/JSTests/test262/test/staging/sm/misc/bug1126318.js b/JSTests/test262/test/staging/sm/misc/bug1126318.js index f5fa9b597c370..c38ed8a8635ac 100644 --- a/JSTests/test262/test/staging/sm/misc/bug1126318.js +++ b/JSTests/test262/test/staging/sm/misc/bug1126318.js @@ -2,15 +2,14 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending ---*/ -if (typeof window === "undefined") - window = this; + +if (typeof window === "undefined") { + var window = this; +} Object.defineProperty(window, "foo", { get: function() { return 5; }, @@ -19,4 +18,3 @@ Object.defineProperty(window, "foo", { for (var i = 0; i < 100; ++i) assert.sameValue(window.foo, 5); - diff --git a/JSTests/test262/test/staging/sm/misc/builtin-methods-reject-null-undefined-this.js b/JSTests/test262/test/staging/sm/misc/builtin-methods-reject-null-undefined-this.js index 4fa0ca347ee0c..4c898cab44263 100644 --- a/JSTests/test262/test/staging/sm/misc/builtin-methods-reject-null-undefined-this.js +++ b/JSTests/test262/test/staging/sm/misc/builtin-methods-reject-null-undefined-this.js @@ -4,24 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + ECMAScript built-in methods that immediately throw when |this| is |undefined| or |null| (due to CheckObjectCoercible, ToObject, or ToString) +info: bugzilla.mozilla.org/show_bug.cgi?id=619283 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 619283; -var summary = - "ECMAScript built-in methods that immediately throw when |this| is " + - "|undefined| or |null| (due to CheckObjectCoercible, ToObject, or ToString)"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ // We can't just exhaustively loop over everything because 1) method properties // might be extensions with special |this| handling, and 2) some methods don't @@ -104,44 +91,24 @@ function testMethod(Class, className, method) var badThis = badThisValues[i]; expr = className + ".prototype." + method + ".call(" + badThis + ")"; - try - { + assert.throws(TypeError, function() { Class.prototype[method].call(badThis); - throw new Error(expr + " didn't throw a TypeError"); - } - catch (e) - { - assert.sameValue(e instanceof TypeError, true, - "wrong error for " + expr + ", instead threw " + e); - } + }, "wrong error for " + expr); + expr = className + ".prototype." + method + ".apply(" + badThis + ")"; - try - { + assert.throws(TypeError, function() { Class.prototype[method].apply(badThis); - throw new Error(expr + " didn't throw a TypeError"); - } - catch (e) - { - assert.sameValue(e instanceof TypeError, true, - "wrong error for " + expr + ", instead threw " + e); - } + }, "wrong error for " + expr); } // ..and for good measure.. - expr = "(0, " + className + ".prototype." + method + ")()" - try - { + expr = "(0, " + className + ".prototype." + method + ")()"; + assert.throws(TypeError, function() { // comma operator to call GetValue() on the method and de-Reference it (0, Class.prototype[method])(); - throw new Error(expr + " didn't throw a TypeError"); - } - catch (e) - { - assert.sameValue(e instanceof TypeError, true, - "wrong error for " + expr + ", instead threw " + e); - } + }, "wrong error for " + expr); } for (var className in ClassToMethodMap) @@ -155,7 +122,3 @@ for (var className in ClassToMethodMap) testMethod(Class, className, method); } } - -/******************************************************************************/ - -print("All tests passed!"); diff --git a/JSTests/test262/test/staging/sm/misc/enumerate-undefined.js b/JSTests/test262/test/staging/sm/misc/enumerate-undefined.js index 1a25f78cc3b9f..c03de9a35c329 100644 --- a/JSTests/test262/test/staging/sm/misc/enumerate-undefined.js +++ b/JSTests/test262/test/staging/sm/misc/enumerate-undefined.js @@ -4,27 +4,12 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + JS_EnumerateStandardClasses uses wrong attributes for undefined +info: bugzilla.mozilla.org/show_bug.cgi?id=547087 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 547087; -var summary = 'JS_EnumerateStandardClasses uses wrong attributes for undefined'; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ for (var p in this); assert.sameValue(Object.getOwnPropertyDescriptor(this, "undefined").writable, false); - -/******************************************************************************/ - -print("All tests passed!"); diff --git a/JSTests/test262/test/staging/sm/misc/error-undefined-message.js b/JSTests/test262/test/staging/sm/misc/error-undefined-message.js index d4fcfca3bfb6f..41292a1442557 100644 --- a/JSTests/test262/test/staging/sm/misc/error-undefined-message.js +++ b/JSTests/test262/test/staging/sm/misc/error-undefined-message.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/misc/explicit-undefined-optional-argument.js b/JSTests/test262/test/staging/sm/misc/explicit-undefined-optional-argument.js index f2f445eb52c1c..bad8773c6a5ff 100644 --- a/JSTests/test262/test/staging/sm/misc/explicit-undefined-optional-argument.js +++ b/JSTests/test262/test/staging/sm/misc/explicit-undefined-optional-argument.js @@ -4,21 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Properly handle explicitly-undefined optional arguments to a bunch of functions +info: bugzilla.mozilla.org/show_bug.cgi?id=373118 esid: pending ---*/ -var BUGNUMBER = 373118; -var summary = - 'Properly handle explicitly-undefined optional arguments to a bunch of ' + - 'functions'; - -print(BUGNUMBER + ": " + summary); - -//----------------------------------------------------------------------------- var a; @@ -38,6 +28,3 @@ a = [1, 2, 3].sort(undefined); assert.sameValue(a.join(), '1,2,3'); assert.sameValue((20).toString(undefined), '20'); - -//----------------------------------------------------------------------------- - diff --git a/JSTests/test262/test/staging/sm/misc/function-definition-eval.js b/JSTests/test262/test/staging/sm/misc/function-definition-eval.js index 7f0cbb8d228e7..ddd1102db176f 100644 --- a/JSTests/test262/test/staging/sm/misc/function-definition-eval.js +++ b/JSTests/test262/test/staging/sm/misc/function-definition-eval.js @@ -4,22 +4,13 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | - pending + Implement the ES5 algorithm for processing function statements +info: bugzilla.mozilla.org/show_bug.cgi?id=577325 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 577325; -var summary = 'Implement the ES5 algorithm for processing function statements'; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ var outer, desc; var isInShell = !("Window" in this); @@ -347,7 +338,3 @@ if (isInShell) { assert.sameValue(desc.value, "data8"); } } - -/******************************************************************************/ - -print("All tests passed!"); diff --git a/JSTests/test262/test/staging/sm/misc/future-reserved-words.js b/JSTests/test262/test/staging/sm/misc/future-reserved-words.js index d85208a95ceb3..b423cc00300a4 100644 --- a/JSTests/test262/test/staging/sm/misc/future-reserved-words.js +++ b/JSTests/test262/test/staging/sm/misc/future-reserved-words.js @@ -4,27 +4,18 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | - pending + Implement FutureReservedWords per-spec +info: bugzilla.mozilla.org/show_bug.cgi?id=497869 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 497869; -var summary = "Implement FutureReservedWords per-spec"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ var futureReservedWords = [ "class", - // "const", // Mozilla extension enabled even for versionless code + "const", "enum", "export", "extends", @@ -36,463 +27,97 @@ var strictFutureReservedWords = [ "implements", "interface", - "let", // enabled: this file doesn't execute as JS1.7 + "let", "package", "private", "protected", "public", "static", - "yield", // enabled: this file doesn't execute as JS1.7 + "yield", ]; -function testWord(word, expectNormal, expectStrict) -{ - var actual, status; - - // USE AS LHS FOR ASSIGNMENT - - actual = ""; - status = summary + ": " + word + ": normal assignment"; - try - { - eval(word + " = 'foo';"); - actual = "no error"; - } - catch(e) - { - actual = e.name; - status += ", " + e.name + ": " + e.message + " "; - } - assert.sameValue(actual, expectNormal, status); - - actual = ""; - status = summary + ": " + word + ": strict assignment"; - try - { - eval("'use strict'; " + word + " = 'foo';"); - actual = "no error"; - } - catch(e) - { - actual = e.name; - status += ", " + e.name + ": " + e.message + " "; +function testNormalAndStrict(word, code, message) { + if (strictFutureReservedWords.includes(word)) { + eval(code); + } else { + assert(futureReservedWords.includes(word)); + assert.throws(SyntaxError, function() { + eval(code); + }, word + ": normal " + message); } - assert.sameValue(actual, expectStrict, status); - // USE AS DESTRUCTURING SHORTHAND + assert.throws(SyntaxError, function() { + eval("'use strict'; " + code); + }, word + ": strict " + message); +} - actual = ""; - status = summary + ": " + word + ": destructuring shorthand"; - try - { - eval("({ " + word + " } = 'foo');"); - actual = "no error"; - } - catch(e) - { - actual = e.name; - status += ", " + e.name + ": " + e.message + " "; - } - assert.sameValue(actual, expectNormal, status); +function testWord(word) { + // USE AS LHS FOR ASSIGNMENT + testNormalAndStrict(word, word + " = 'foo';", "assignment"); - actual = ""; - status = summary + ": " + word + ": strict destructuring shorthand"; - try - { - eval("'use strict'; ({ " + word + " } = 'foo');"); - actual = "no error"; - } - catch(e) - { - actual = e.name; - status += ", " + e.name + ": " + e.message + " "; - } - assert.sameValue(actual, expectStrict, status); + // USE AS DESTRUCTURING SHORTHAND + testNormalAndStrict(word, "({ " + word + " } = 'foo');", "destructuring shorthand"); // USE IN VARIABLE DECLARATION - - actual = ""; - status = summary + ": " + word + ": normal var"; - try - { - eval("var " + word + ";"); - actual = "no error"; - } - catch (e) - { - actual = e.name; - status += ", " + e.name + ": " + e.message + " "; - } - assert.sameValue(actual, expectNormal, status); - - actual = ""; - status = summary + ": " + word + ": strict var"; - try - { - eval("'use strict'; var " + word + ";"); - actual = "no error"; - } - catch (e) - { - actual = e.name; - status += ", " + e.name + ": " + e.message + " "; - } - assert.sameValue(actual, expectStrict, status); + testNormalAndStrict(word, "var " + word + ";", "var"); // USE IN FOR-IN VARIABLE DECLARATION - - actual = ""; - status = summary + ": " + word + ": normal for-in var"; - try - { - eval("for (var " + word + " in {});"); - actual = "no error"; - } - catch (e) - { - actual = e.name; - status += ", " + e.name + ": " + e.message + " "; - } - assert.sameValue(actual, expectNormal, status); - - actual = ""; - status = summary + ": " + word + ": strict for-in var"; - try - { - eval("'use strict'; for (var " + word + " in {});"); - actual = "no error"; - } - catch (e) - { - actual = e.name; - status += ", " + e.name + ": " + e.message + " "; - } - assert.sameValue(actual, expectStrict, status); + testNormalAndStrict(word, "for (var " + word + " in {});", "for-in var"); // USE AS CATCH IDENTIFIER - - actual = ""; - status = summary + ": " + word + ": normal var"; - try - { - eval("try { } catch (" + word + ") { }"); - actual = "no error"; - } - catch (e) - { - actual = e.name; - status += ", " + e.name + ": " + e.message + " "; - } - assert.sameValue(actual, expectNormal, status); - - actual = ""; - status = summary + ": " + word + ": strict var"; - try - { - eval("'use strict'; try { } catch (" + word + ") { }"); - actual = "no error"; - } - catch (e) - { - actual = e.name; - status += ", " + e.name + ": " + e.message + " "; - } - assert.sameValue(actual, expectStrict, status); + testNormalAndStrict(word, "try { } catch (" + word + ") { }", "catch var"); // USE AS LABEL - - actual = ""; - status = summary + ": " + word + ": normal label"; - try - { - eval(word + ": while (false);"); - actual = "no error"; - } - catch (e) - { - actual = e.name; - status += ", " + e.name + ": " + e.message + " "; - } - assert.sameValue(actual, expectNormal, status); - - actual = ""; - status = summary + ": " + word + ": strict label"; - try - { - eval("'use strict'; " + word + ": while (false);"); - actual = "no error"; - } - catch (e) - { - actual = e.name; - status += ", " + e.name + ": " + e.message + " "; - } - assert.sameValue(actual, expectStrict, status); + testNormalAndStrict(word, word + ": while (false);", "label"); // USE AS ARGUMENT NAME IN FUNCTION DECLARATION + testNormalAndStrict(word, "function foo(" + word + ") { }", "function argument"); - actual = ""; - status = summary + ": " + word + ": normal function argument"; - try - { - eval("function foo(" + word + ") { }"); - actual = "no error"; - } - catch (e) - { - actual = e.name; - status += ", " + e.name + ": " + e.message + " "; - } - assert.sameValue(actual, expectNormal, status); - - actual = ""; - status = summary + ": " + word + ": strict function argument"; - try - { - eval("'use strict'; function foo(" + word + ") { }"); - actual = "no error"; - } - catch (e) - { - actual = e.name; - status += ", " + e.name + ": " + e.message + " "; - } - assert.sameValue(actual, expectStrict, status); - - actual = ""; - status = summary + ": " + word + ": function argument retroactively strict"; - try - { + assert.throws(SyntaxError, function() { eval("function foo(" + word + ") { 'use strict'; }"); - actual = "no error"; - } - catch (e) - { - actual = e.name; - status += ", " + e.name + ": " + e.message + " "; - } - assert.sameValue(actual, expectStrict, status); + }, word + ": function argument retroactively strict"); // USE AS ARGUMENT NAME IN FUNCTION EXPRESSION + testNormalAndStrict(word, "var s = (function foo(" + word + ") { });", "function expression argument"); - actual = ""; - status = summary + ": " + word + ": normal function expression argument"; - try - { - eval("var s = (function foo(" + word + ") { });"); - actual = "no error"; - } - catch (e) - { - actual = e.name; - status += ", " + e.name + ": " + e.message + " "; - } - assert.sameValue(actual, expectNormal, status); - - actual = ""; - status = summary + ": " + word + ": strict function expression argument"; - try - { - eval("'use strict'; var s = (function foo(" + word + ") { });"); - actual = "no error"; - } - catch (e) - { - actual = e.name; - status += ", " + e.name + ": " + e.message + " "; - } - assert.sameValue(actual, expectStrict, status); - - actual = ""; - status = summary + ": " + word + ": function expression argument retroactively strict"; - try - { + assert.throws(SyntaxError, function() { eval("var s = (function foo(" + word + ") { 'use strict'; });"); - actual = "no error"; - } - catch (e) - { - actual = e.name; - status += ", " + e.name + ": " + e.message + " "; - } - assert.sameValue(actual, expectStrict, status); + }, word + ": function expression argument retroactively strict"); // USE AS ARGUMENT NAME WITH FUNCTION CONSTRUCTOR - - actual = ""; - status = summary + ": " + word + ": argument with normal Function"; - try - { + if (strictFutureReservedWords.includes(word)) { Function(word, "return 17"); - actual = "no error"; + } else { + assert.throws(SyntaxError, function() { + Function(word, "return 17"); + }, word + ": argument with normal Function"); } - catch (e) - { - actual = e.name; - status += ", " + e.name + ": " + e.message + " "; - } - assert.sameValue(actual, expectNormal, status); - actual = ""; - status = summary + ": " + word + ": argument with strict Function"; - try - { + assert.throws(SyntaxError, function() { Function(word, "'use strict'; return 17"); - actual = "no error"; - } - catch (e) - { - actual = e.name; - status += ", " + e.name + ": " + e.message + " "; - } - assert.sameValue(actual, expectStrict, status); + }, word + ": argument with strict Function"); // USE AS ARGUMENT NAME IN PROPERTY SETTER + testNormalAndStrict(word, "var o = { set x(" + word + ") { } };", "property setter argument"); - actual = ""; - status = summary + ": " + word + ": normal property setter argument"; - try - { - eval("var o = { set x(" + word + ") { } };"); - actual = "no error"; - } - catch (e) - { - actual = e.name; - status += ", " + e.name + ": " + e.message + " "; - } - assert.sameValue(actual, expectNormal, status); - - actual = ""; - status = summary + ": " + word + ": strict property setter argument"; - try - { - eval("'use strict'; var o = { set x(" + word + ") { } };"); - actual = "no error"; - } - catch (e) - { - actual = e.name; - status += ", " + e.name + ": " + e.message + " "; - } - assert.sameValue(actual, expectStrict, status); - - actual = ""; - status = summary + ": " + word + ": property setter argument retroactively strict"; - try - { + assert.throws(SyntaxError, function() { eval("var o = { set x(" + word + ") { 'use strict'; } };"); - actual = "no error"; - } - catch (e) - { - actual = e.name; - status += ", " + e.name + ": " + e.message + " "; - } - assert.sameValue(actual, expectStrict, status); + }, word + ": property setter argument retroactively strict"); // USE AS FUNCTION NAME IN FUNCTION DECLARATION + testNormalAndStrict(word, "function " + word + "() { }", "function name"); - actual = ""; - status = summary + ": " + word + ": normal function name"; - try - { - eval("function " + word + "() { }"); - actual = "no error"; - } - catch (e) - { - actual = e.name; - status += ", " + e.name + ": " + e.message + " "; - } - assert.sameValue(actual, expectNormal, status); - - actual = ""; - status = summary + ": " + word + ": strict function name"; - try - { - eval("'use strict'; function " + word + "() { }"); - actual = "no error"; - } - catch (e) - { - actual = e.name; - status += ", " + e.name + ": " + e.message + " "; - } - assert.sameValue(actual, expectStrict, status); - - actual = ""; - status = summary + ": " + word + ": function name retroactively strict"; - try - { + assert.throws(SyntaxError, function() { eval("function " + word + "() { 'use strict'; }"); - actual = "no error"; - } - catch (e) - { - actual = e.name; - status += ", " + e.name + ": " + e.message + " "; - } - assert.sameValue(actual, expectStrict, status); + }, word + ": function name retroactively strict"); // USE AS FUNCTION NAME IN FUNCTION EXPRESSION + testNormalAndStrict(word, "var s = (function " + word + "() { });", "function expression name"); - actual = ""; - status = summary + ": " + word + ": normal function expression name"; - try - { - eval("var s = (function " + word + "() { });"); - actual = "no error"; - } - catch (e) - { - actual = e.name; - status += ", " + e.name + ": " + e.message + " "; - } - assert.sameValue(actual, expectNormal, status); - - actual = ""; - status = summary + ": " + word + ": strict function expression name"; - try - { - eval("'use strict'; var s = (function " + word + "() { });"); - actual = "no error"; - } - catch (e) - { - actual = e.name; - status += ", " + e.name + ": " + e.message + " "; - } - assert.sameValue(actual, expectStrict, status); - - actual = ""; - status = summary + ": " + word + ": function expression name retroactively strict"; - try - { + assert.throws(SyntaxError, function() { eval("var s = (function " + word + "() { 'use strict'; });"); - actual = "no error"; - } - catch (e) - { - actual = e.name; - status += ", " + e.name + ": " + e.message + " "; - } - assert.sameValue(actual, expectStrict, status); + }, word + ": function expression name retroactively strict"); } -function testFutureReservedWord(word) -{ - testWord(word, "SyntaxError", "SyntaxError"); -} - -function testStrictFutureReservedWord(word) -{ - testWord(word, "no error", "SyntaxError"); -} - -futureReservedWords.forEach(testFutureReservedWord); -strictFutureReservedWords.forEach(testStrictFutureReservedWord); - -/******************************************************************************/ - -print("All tests passed!"); +futureReservedWords.forEach(testWord); +strictFutureReservedWords.forEach(testWord); diff --git a/JSTests/test262/test/staging/sm/misc/getter-setter-outerize-this.js b/JSTests/test262/test/staging/sm/misc/getter-setter-outerize-this.js index a8374d99e9874..57178a478b10b 100644 --- a/JSTests/test262/test/staging/sm/misc/getter-setter-outerize-this.js +++ b/JSTests/test262/test/staging/sm/misc/getter-setter-outerize-this.js @@ -2,18 +2,16 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending ---*/ + if (typeof window === "undefined") { // This test is meant to run in the browser, but it's easy to // run it in the shell as well, even though it has no inner/outer // windows. - window = this; + var window = this; } var res = false; @@ -28,4 +26,3 @@ Object.defineProperty(this, "foo", {configurable: true, assert.sameValue(window.foo, true, "getter"); } })(); - diff --git a/JSTests/test262/test/staging/sm/misc/global-numeric-properties.js b/JSTests/test262/test/staging/sm/misc/global-numeric-properties.js index 2989611a5d093..4849306521349 100644 --- a/JSTests/test262/test/staging/sm/misc/global-numeric-properties.js +++ b/JSTests/test262/test/staging/sm/misc/global-numeric-properties.js @@ -4,25 +4,15 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | - pending + undefined, Infinity, and NaN global properties should not be writable +info: bugzilla.mozilla.org/show_bug.cgi?id=537863 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 537863; -var summary = - 'undefined, Infinity, and NaN global properties should not be writable'; -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ - -var desc, old, error; +var desc, old; var global = this; var names = ["NaN", "Infinity", "undefined"]; @@ -40,26 +30,8 @@ for (var i = 0; i < names.length; i++) global[name] = 17; assert.sameValue(global[name], old, name + " changed on setting?"); - error = "before"; - try - { - throw new TypeError("SpiderMonkey doesn't currently implement " + - "strict-mode throwing when setting a readonly " + - "property, not running this bit of test for now; " + - "see bug 537873"); - - (function() { "use strict"; global[name] = 42; error = "didn't throw"; })(); - } - catch (e) - { - if (e instanceof TypeError) - error = "typeerror"; - else - error = "bad exception: " + e; - } - assert.sameValue(error, "typeerror", "wrong strict mode error setting " + name); + assert.throws(TypeError, function() { + "use strict"; + global[name] = 42; + }, "wrong strict mode error setting " + name); } - -/******************************************************************************/ - -print("All tests passed!"); diff --git a/JSTests/test262/test/staging/sm/misc/line-paragraph-separator-parse-as-lineterminator.js b/JSTests/test262/test/staging/sm/misc/line-paragraph-separator-parse-as-lineterminator.js index a01a7bfd3702b..4ab91b9369312 100644 --- a/JSTests/test262/test/staging/sm/misc/line-paragraph-separator-parse-as-lineterminator.js +++ b/JSTests/test262/test/staging/sm/misc/line-paragraph-separator-parse-as-lineterminator.js @@ -4,24 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + U+2028 LINE SEPARATOR and U+2029 PARAGRAPH SEPARATOR must match the LineTerminator production when parsing code +info: bugzilla.mozilla.org/show_bug.cgi?id=663331 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 663331; -var summary = - "U+2028 LINE SEPARATOR and U+2029 PARAGRAPH SEPARATOR must match the " + - "LineTerminator production when parsing code"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ var hidden = 17; var assigned; @@ -51,7 +38,3 @@ function t2() assert.sameValue(assigned, 5); } t2(); - -/******************************************************************************/ - -print("All tests passed!"); diff --git a/JSTests/test262/test/staging/sm/misc/new-with-non-constructor.js b/JSTests/test262/test/staging/sm/misc/new-with-non-constructor.js index 18c2f0cc13c08..56ecdc15861a2 100644 --- a/JSTests/test262/test/staging/sm/misc/new-with-non-constructor.js +++ b/JSTests/test262/test/staging/sm/misc/new-with-non-constructor.js @@ -4,21 +4,15 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending ---*/ + function checkConstruct(thing) { - try { - new thing(); - assert.sameValue(0, 1, "not reached " + thing); - } catch (e) { - assert.sameValue(e.message.includes(" is not a constructor") || - e.message === "Function.prototype.toString called on incompatible object", true); - } + assert.throws(TypeError, function() { + new thing(); + }); } var re = /aaa/ @@ -35,4 +29,3 @@ checkConstruct(proxiedFunctionPrototype); var proxiedBuiltin = new Proxy(parseInt, {}); checkConstruct(proxiedBuiltin); - diff --git a/JSTests/test262/test/staging/sm/misc/redeclare-var-non-writable-property.js b/JSTests/test262/test/staging/sm/misc/redeclare-var-non-writable-property.js index c96e9946fc7a7..77fb8d71a81f3 100644 --- a/JSTests/test262/test/staging/sm/misc/redeclare-var-non-writable-property.js +++ b/JSTests/test262/test/staging/sm/misc/redeclare-var-non-writable-property.js @@ -4,27 +4,10 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + |var| statements for existing, read-only/permanent properties should not be errors +info: bugzilla.mozilla.org/show_bug.cgi?id=539488 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 539488; -var summary = - '|var| statements for existing, read-only/permanent properties should not ' + - 'be errors'; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ var undefined; - -/******************************************************************************/ - -print("All tests passed!"); diff --git a/JSTests/test262/test/staging/sm/misc/regexp-functions-with-undefined.js b/JSTests/test262/test/staging/sm/misc/regexp-functions-with-undefined.js index 0942077e3c3c5..6dd2f5b5faad2 100644 --- a/JSTests/test262/test/staging/sm/misc/regexp-functions-with-undefined.js +++ b/JSTests/test262/test/staging/sm/misc/regexp-functions-with-undefined.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/misc/syntax-error-end-of-for-head-part.js b/JSTests/test262/test/staging/sm/misc/syntax-error-end-of-for-head-part.js index fbddb203523e9..716c149c992f9 100644 --- a/JSTests/test262/test/staging/sm/misc/syntax-error-end-of-for-head-part.js +++ b/JSTests/test262/test/staging/sm/misc/syntax-error-end-of-for-head-part.js @@ -4,37 +4,17 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Syntax errors at the end of |for| statement header parts shouldn't cause crashes +info: bugzilla.mozilla.org/show_bug.cgi?id=672854 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 672854; -var summary = - "Syntax errors at the end of |for| statement header parts shouldn't cause " + - "crashes"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ function checkSyntaxError(str) { - try - { - var f = Function("for(w in\\"); - throw new Error("didn't throw, returned " + f); - } - catch (e) - { - assert.sameValue(e instanceof SyntaxError, true, - "expected SyntaxError, got " + e); - } + assert.throws(SyntaxError, function() { + Function(str); + }); } checkSyntaxError("for(var w in \\"); @@ -51,7 +31,3 @@ checkSyntaxError("for(var w; w > 3; 5\\"); checkSyntaxError("for(w; w > 3; 5\\"); checkSyntaxError("for(var w; w > 3; 5foo"); checkSyntaxError("for(w; w > 3; 5foo"); - -/******************************************************************************/ - -print("Tests complete!"); diff --git a/JSTests/test262/test/staging/sm/misc/unicode-escaped-keyword.js b/JSTests/test262/test/staging/sm/misc/unicode-escaped-keyword.js index 1de36d91598e6..7cf32e5f1f8d2 100644 --- a/JSTests/test262/test/staging/sm/misc/unicode-escaped-keyword.js +++ b/JSTests/test262/test/staging/sm/misc/unicode-escaped-keyword.js @@ -4,25 +4,18 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending ---*/ + function throws(code) { - var type; - try { - eval(code); - } catch (ex) { - type = ex.name; - } - assert.sameValue(type, 'SyntaxError'); + assert.throws(SyntaxError, function() { + eval(code); + }); } var s = '\\u0073'; throws('var thi' + s); throws('switch (' + s + 'witch) {}') throws('var ' + s + 'witch'); - diff --git a/JSTests/test262/test/staging/sm/misc/unicode-identifier-1d17.js b/JSTests/test262/test/staging/sm/misc/unicode-identifier-1d17.js index 4dffee9df8638..d2f2e7bad326d 100644 --- a/JSTests/test262/test/staging/sm/misc/unicode-identifier-1d17.js +++ b/JSTests/test262/test/staging/sm/misc/unicode-identifier-1d17.js @@ -4,19 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending ---*/ + var o = {} -try { - eval('o.\\u1d17 = 42;'); -} -catch (e) { - assert.sameValue('should not fail', true); -} +eval('o.\\u1d17 = 42;'); assert.sameValue(o['\u1d17'], 42); - diff --git a/JSTests/test262/test/staging/sm/misc/unicode-identifier-82f1.js b/JSTests/test262/test/staging/sm/misc/unicode-identifier-82f1.js index 33af8a6888d12..86c67635fa4f2 100644 --- a/JSTests/test262/test/staging/sm/misc/unicode-identifier-82f1.js +++ b/JSTests/test262/test/staging/sm/misc/unicode-identifier-82f1.js @@ -4,19 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending ---*/ + var o = {} -try { - eval('o.\\u82f1 = 42;'); -} -catch (e) { - assert.sameValue('should not fail', true); -} +eval('o.\\u82f1 = 42;'); assert.sameValue(o['\u82f1'], 42); - diff --git a/JSTests/test262/test/staging/sm/misc/unwrapped-no-such-method.js b/JSTests/test262/test/staging/sm/misc/unwrapped-no-such-method.js index afb59cf527c6c..f3496518ced31 100644 --- a/JSTests/test262/test/staging/sm/misc/unwrapped-no-such-method.js +++ b/JSTests/test262/test/staging/sm/misc/unwrapped-no-such-method.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/module/await-restricted-nested.js b/JSTests/test262/test/staging/sm/module/await-restricted-nested.js index 5734693c2d81d..3829d149e598a 100644 --- a/JSTests/test262/test/staging/sm/module/await-restricted-nested.js +++ b/JSTests/test262/test/staging/sm/module/await-restricted-nested.js @@ -2,7 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - module negative: diff --git a/JSTests/test262/test/staging/sm/module/bug1488117.js b/JSTests/test262/test/staging/sm/module/bug1488117.js index 5110cddf63160..dfef6d03084a9 100644 --- a/JSTests/test262/test/staging/sm/module/bug1488117.js +++ b/JSTests/test262/test/staging/sm/module/bug1488117.js @@ -2,7 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - module description: | diff --git a/JSTests/test262/test/staging/sm/module/duplicate-exported-names-in-single-export-declaration.js b/JSTests/test262/test/staging/sm/module/duplicate-exported-names-in-single-export-declaration.js index 82437f682eabd..a7d30ed0280ef 100644 --- a/JSTests/test262/test/staging/sm/module/duplicate-exported-names-in-single-export-declaration.js +++ b/JSTests/test262/test/staging/sm/module/duplicate-exported-names-in-single-export-declaration.js @@ -2,7 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - module negative: diff --git a/JSTests/test262/test/staging/sm/module/duplicate-exported-names-in-single-export-var-declaration.js b/JSTests/test262/test/staging/sm/module/duplicate-exported-names-in-single-export-var-declaration.js index 6a4e1719dfa85..e775aa9efa1ec 100644 --- a/JSTests/test262/test/staging/sm/module/duplicate-exported-names-in-single-export-var-declaration.js +++ b/JSTests/test262/test/staging/sm/module/duplicate-exported-names-in-single-export-var-declaration.js @@ -2,7 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - module negative: diff --git a/JSTests/test262/test/staging/sm/module/module-export-name-star.js b/JSTests/test262/test/staging/sm/module/module-export-name-star.js index af71de6783306..a9b1c0f8e0f0c 100644 --- a/JSTests/test262/test/staging/sm/module/module-export-name-star.js +++ b/JSTests/test262/test/staging/sm/module/module-export-name-star.js @@ -2,7 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - module description: | diff --git a/JSTests/test262/test/staging/sm/object/15.2.3.12.js b/JSTests/test262/test/staging/sm/object/15.2.3.12.js index b27a8c2eff972..f57c270226f90 100644 --- a/JSTests/test262/test/staging/sm/object/15.2.3.12.js +++ b/JSTests/test262/test/staging/sm/object/15.2.3.12.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/object/15.2.3.14-01.js b/JSTests/test262/test/staging/sm/object/15.2.3.14-01.js index e196435a0fb64..fa9ce84a48bb5 100644 --- a/JSTests/test262/test/staging/sm/object/15.2.3.14-01.js +++ b/JSTests/test262/test/staging/sm/object/15.2.3.14-01.js @@ -4,28 +4,12 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict +includes: [compareArray.js] description: | - pending + Object.keys(O) +info: bugzilla.mozilla.org/show_bug.cgi?id=307791 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 307791; -var summary = 'ES5 Object.keys(O)'; -var actual = ''; -var expect = ''; - -function arraysEqual(a1, a2) -{ - return a1.length === a2.length && - a1.every(function(v, i) { return v === a2[i]; }); -} - -/************** - * BEGIN TEST * - **************/ assert.sameValue(Object.keys.length, 1); @@ -33,63 +17,39 @@ var o, keys; o = { a: 3, b: 2 }; keys = Object.keys(o); -assert.sameValue(arraysEqual(keys, ["a", "b"]), true, - "" + keys); +assert.compareArray(keys, ["a", "b"]); o = { get a() { return 17; }, b: 2 }; keys = Object.keys(o), -assert.sameValue(arraysEqual(keys, ["a", "b"]), true, - "" + keys); +assert.compareArray(keys, ["a", "b"]); o = { __iterator__: function() { throw new Error("non-standard __iterator__ called?"); } }; keys = Object.keys(o); -assert.sameValue(arraysEqual(keys, ["__iterator__"]), true, - "" + keys); +assert.compareArray(keys, ["__iterator__"]); o = { a: 1, b: 2 }; delete o.a; o.a = 3; keys = Object.keys(o); -assert.sameValue(arraysEqual(keys, ["b", "a"]), true, - "" + keys); +assert.compareArray(keys, ["b", "a"]); o = [0, 1, 2]; keys = Object.keys(o); -assert.sameValue(arraysEqual(keys, ["0", "1", "2"]), true, - "" + keys); +assert.compareArray(keys, ["0", "1", "2"]); o = /./.exec("abc"); keys = Object.keys(o); -assert.sameValue(arraysEqual(keys, ["0", "index", "input", "groups"]), true, - "" + keys); +assert.compareArray(keys, ["0", "index", "input", "groups"]); o = { a: 1, b: 2, c: 3 }; delete o.b; o.b = 5; keys = Object.keys(o); -assert.sameValue(arraysEqual(keys, ["a", "c", "b"]), true, - "" + keys); +assert.compareArray(keys, ["a", "c", "b"]); function f() { } f.prototype.p = 1; o = new f(); o.g = 1; keys = Object.keys(o); -assert.sameValue(arraysEqual(keys, ["g"]), true, - "" + keys); - -if (typeof Namespace !== "undefined" && typeof QName !== "undefined") -{ - var o2 = {}; - var qn = new QName(new Namespace("foo"), "v"); - o2.f = 1; - o2[qn] = 3; - o2.baz = 4; - var keys2 = Object.keys(o2); - assert.sameValue(arraysEqual(keys2, ["f", "foo::v", "baz"]), true, - "" + keys2); -} - -/******************************************************************************/ - -assert.sameValue(expect, actual, "Object.keys"); +assert.compareArray(keys, ["g"]); diff --git a/JSTests/test262/test/staging/sm/object/15.2.3.4-01.js b/JSTests/test262/test/staging/sm/object/15.2.3.4-01.js index d6442115e9156..f0abf1ee37f73 100644 --- a/JSTests/test262/test/staging/sm/object/15.2.3.4-01.js +++ b/JSTests/test262/test/staging/sm/object/15.2.3.4-01.js @@ -4,23 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Object.getOwnPropertyNames should play nicely with enumerator caching +info: bugzilla.mozilla.org/show_bug.cgi?id=518663 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 518663; -var summary = - 'Object.getOwnPropertyNames should play nicely with enumerator caching'; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ for (var p in JSON); var names = Object.getOwnPropertyNames(JSON); @@ -28,7 +16,3 @@ assert.sameValue(names.length >= 2, true, "wrong number of property names? [" + names + "]"); assert.sameValue(names.indexOf("parse") >= 0, true); assert.sameValue(names.indexOf("stringify") >= 0, true); - -/******************************************************************************/ - -print("All tests passed!"); diff --git a/JSTests/test262/test/staging/sm/object/15.2.3.4-02.js b/JSTests/test262/test/staging/sm/object/15.2.3.4-02.js index 65e61d1f209be..a508b1a9c76ec 100644 --- a/JSTests/test262/test/staging/sm/object/15.2.3.4-02.js +++ b/JSTests/test262/test/staging/sm/object/15.2.3.4-02.js @@ -4,36 +4,21 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict +includes: [compareArray.js] description: | - pending + Object.getOwnPropertyNames: array objects +info: bugzilla.mozilla.org/show_bug.cgi?id=518663 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 518663; -var summary = 'Object.getOwnPropertyNames: array objects'; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ var a, names, expected; -function arraysEqual(a1, a2) -{ - return a1.length === a2.length && - a1.every(function(v, i) { return v === a2[i]; }); -} - - a = [0, 1, 2]; names = Object.getOwnPropertyNames(a).sort(); expected = ["0", "1", "2", "length"].sort(); +assert.compareArray(names, expected); + a = [1, , , 7]; a.p = 2; @@ -41,16 +26,11 @@ Object.defineProperty(a, "q", { value: 42, enumerable: false }); names = Object.getOwnPropertyNames(a).sort(); expected = ["0", "3", "p", "q", "length"].sort(); -assert.sameValue(arraysEqual(names, expected), true); +assert.compareArray(names, expected); a = []; names = Object.getOwnPropertyNames(a).sort(); expected = ["length"]; -assert.sameValue(arraysEqual(names, expected), true); - - -/******************************************************************************/ - -print("All tests passed!"); +assert.compareArray(names, expected); diff --git a/JSTests/test262/test/staging/sm/object/15.2.3.4-03.js b/JSTests/test262/test/staging/sm/object/15.2.3.4-03.js index 643572e73e897..adf55c3a43a21 100644 --- a/JSTests/test262/test/staging/sm/object/15.2.3.4-03.js +++ b/JSTests/test262/test/staging/sm/object/15.2.3.4-03.js @@ -4,22 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Object.getOwnPropertyNames: function objects +info: bugzilla.mozilla.org/show_bug.cgi?id=518663 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 518663; -var summary = 'Object.getOwnPropertyNames: function objects'; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ function two(a, b) { } @@ -52,8 +41,3 @@ var bound3 = Function.prototype.bind assert.sameValue(Object.getOwnPropertyNames(bound3).indexOf("length") >= 0, true); assert.sameValue(bound3.length, 0); - - -/******************************************************************************/ - -print("All tests passed!"); diff --git a/JSTests/test262/test/staging/sm/object/15.2.3.4-04.js b/JSTests/test262/test/staging/sm/object/15.2.3.4-04.js index ff3379197e825..e3dc73ccd795e 100644 --- a/JSTests/test262/test/staging/sm/object/15.2.3.4-04.js +++ b/JSTests/test262/test/staging/sm/object/15.2.3.4-04.js @@ -4,22 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Object.getOwnPropertyNames: regular expression objects +info: bugzilla.mozilla.org/show_bug.cgi?id=518663 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 518663; -var summary = 'Object.getOwnPropertyNames: regular expression objects'; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ var actual = Object.getOwnPropertyNames(/a/); var expected = ["lastIndex"]; @@ -29,7 +18,3 @@ for (var i = 0; i < expected.length; i++) assert.sameValue(actual.indexOf(expected[i]) >= 0, true, expected[i] + " should be a property name on a RegExp"); } - -/******************************************************************************/ - -print("All tests passed!"); diff --git a/JSTests/test262/test/staging/sm/object/15.2.3.5-01.js b/JSTests/test262/test/staging/sm/object/15.2.3.5-01.js index b81f80b4ae982..27822c330b4f3 100644 --- a/JSTests/test262/test/staging/sm/object/15.2.3.5-01.js +++ b/JSTests/test262/test/staging/sm/object/15.2.3.5-01.js @@ -4,22 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Object.create(O [, Properties]) +info: bugzilla.mozilla.org/show_bug.cgi?id=492840 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 492840; -var summary = 'ES5 Object.create(O [, Properties])'; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ assert.sameValue("create" in Object, true); assert.sameValue(Object.create.length, 2); @@ -52,15 +41,8 @@ assert.sameValue(Object.getOwnPropertyDescriptor(o, "baz"), undefined); assert.sameValue(o.baz, 12); assert.sameValue(o.hasOwnProperty("baz"), false); -try { - var actual = - Object.create(Object.create({}, - { boom: { get: function() { return "base"; }}}), - { boom: { get: function() { return "overridden"; }}}).boom -} catch (e) { -} +var actual = + Object.create(Object.create({}, + { boom: { get: function() { return "base"; }}}), + { boom: { get: function() { return "overridden"; }}}).boom assert.sameValue(actual, "overridden"); - -/******************************************************************************/ - -print("All tests passed!"); diff --git a/JSTests/test262/test/staging/sm/object/15.2.3.6-define-over-method.js b/JSTests/test262/test/staging/sm/object/15.2.3.6-define-over-method.js index 5252fd57206a6..e268ae2169869 100644 --- a/JSTests/test262/test/staging/sm/object/15.2.3.6-define-over-method.js +++ b/JSTests/test262/test/staging/sm/object/15.2.3.6-define-over-method.js @@ -4,28 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Do not assert: !(attrs & (JSPROP_GETTER | JSPROP_SETTER)) with Object.defineProperty +info: bugzilla.mozilla.org/show_bug.cgi?id=568786 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 568786; -var summary = - 'Do not assert: !(attrs & (JSPROP_GETTER | JSPROP_SETTER)) with ' + - 'Object.defineProperty'; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ var o = { x: function(){} }; Object.defineProperty(o, "x", { get: function(){} }); - -/******************************************************************************/ - -print("All tests passed!"); diff --git a/JSTests/test262/test/staging/sm/object/15.2.3.7-01.js b/JSTests/test262/test/staging/sm/object/15.2.3.7-01.js index 939ddf2cb5f29..a81ef617b7310 100644 --- a/JSTests/test262/test/staging/sm/object/15.2.3.7-01.js +++ b/JSTests/test262/test/staging/sm/object/15.2.3.7-01.js @@ -4,22 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Object.defineProperties(O, Properties) +info: bugzilla.mozilla.org/show_bug.cgi?id=430133 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 430133; -var summary = 'ES5 Object.defineProperties(O, Properties)'; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ assert.sameValue("defineProperties" in Object, true); assert.sameValue(Object.defineProperties.length, 2); @@ -51,20 +40,10 @@ props = c: { value: NaN, enumerable: false, configurable: true, writable: true }, b: { value: 44 } }; -var error = "before"; -try -{ + +assert.throws(TypeError, function() { Object.defineProperties(o, props); - error = "no exception thrown"; -} -catch (e) -{ - if (e instanceof TypeError) - error = "typeerror"; - else - error = "bad exception: " + e; -} -assert.sameValue(error, "typeerror", "didn't throw or threw wrongly"); +}); assert.sameValue("c" in o, true, "new property added"); assert.sameValue(o.b, 42, "old property value preserved"); @@ -94,50 +73,14 @@ assert.sameValue("bar" in o, false, "bar is not an enumerable own property"); Object.defineProperties(o, ""); assert.sameValue("quux" in o, false, "quux is not an enumerable own property"); -error = "before"; -try -{ +assert.throws(TypeError, function() { Object.defineProperties(o, "1"); -} -catch (e) -{ - if (e instanceof TypeError) - error = "typeerror"; - else - error = "bad exception: " + e; -} -assert.sameValue(error, "typeerror", - "should throw on Properties == '1' due to '1'[0] not being a " + - "property descriptor"); +}, "should throw on Properties == '1' due to '1'[0] not being a property descriptor"); -error = "before"; -try -{ +assert.throws(TypeError, function() { Object.defineProperties(o, null); -} -catch (e) -{ - if (e instanceof TypeError) - error = "typeerror"; - else - error = "bad exception: " + e; -} -assert.sameValue(error, "typeerror", "should throw on Properties == null"); +}, "should throw on Properties == null"); -error = "before"; -try -{ +assert.throws(TypeError, function() { Object.defineProperties(o, undefined); -} -catch (e) -{ - if (e instanceof TypeError) - error = "typeerror"; - else - error = "bad exception: " + e; -} -assert.sameValue(error, "typeerror", "should throw on Properties == undefined"); - -/******************************************************************************/ - -print("All tests passed!"); +}, "should throw on Properties == undefined"); diff --git a/JSTests/test262/test/staging/sm/object/15.2.3.9.js b/JSTests/test262/test/staging/sm/object/15.2.3.9.js index 9555e88848d87..83aba6122782f 100644 --- a/JSTests/test262/test/staging/sm/object/15.2.3.9.js +++ b/JSTests/test262/test/staging/sm/object/15.2.3.9.js @@ -4,9 +4,7 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js, propertyHelper.js] -flags: - - noStrict +includes: [propertyHelper.js] description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/object/accessor-arguments-rest.js b/JSTests/test262/test/staging/sm/object/accessor-arguments-rest.js index 60090d2afcb3e..a08d322edf5d3 100644 --- a/JSTests/test262/test/staging/sm/object/accessor-arguments-rest.js +++ b/JSTests/test262/test/staging/sm/object/accessor-arguments-rest.js @@ -2,23 +2,20 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending ---*/ -assertThrowsInstanceOf(() => eval("({ get x(...a) { } })"), SyntaxError); -assertThrowsInstanceOf(() => eval("({ get x(a, ...b) { } })"), SyntaxError); -assertThrowsInstanceOf(() => eval("({ get x([a], ...b) { } })"), SyntaxError); -assertThrowsInstanceOf(() => eval("({ get x({a}, ...b) { } })"), SyntaxError); -assertThrowsInstanceOf(() => eval("({ get x({a: A}, ...b) { } })"), SyntaxError); +assert.throws(SyntaxError, () => eval("({ get x(...a) { } })")); +assert.throws(SyntaxError, () => eval("({ get x(a, ...b) { } })")); +assert.throws(SyntaxError, () => eval("({ get x([a], ...b) { } })")); +assert.throws(SyntaxError, () => eval("({ get x({a}, ...b) { } })")); +assert.throws(SyntaxError, () => eval("({ get x({a: A}, ...b) { } })")); -assertThrowsInstanceOf(() => eval("({ set x(...a) { } })"), SyntaxError); -assertThrowsInstanceOf(() => eval("({ set x(a, ...b) { } })"), SyntaxError); -assertThrowsInstanceOf(() => eval("({ set x([a], ...b) { } })"), SyntaxError); -assertThrowsInstanceOf(() => eval("({ set x({a: A}, ...b) { } })"), SyntaxError); +assert.throws(SyntaxError, () => eval("({ set x(...a) { } })")); +assert.throws(SyntaxError, () => eval("({ set x(a, ...b) { } })")); +assert.throws(SyntaxError, () => eval("({ set x([a], ...b) { } })")); +assert.throws(SyntaxError, () => eval("({ set x({a: A}, ...b) { } })")); ({ get(...a) { } }); ({ get(a, ...b) { } }); diff --git a/JSTests/test262/test/staging/sm/object/accessor-name.js b/JSTests/test262/test/staging/sm/object/accessor-name.js index 343fd892d85b2..3d8da460b4261 100644 --- a/JSTests/test262/test/staging/sm/object/accessor-name.js +++ b/JSTests/test262/test/staging/sm/object/accessor-name.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/object/accessor-non-constructor.js b/JSTests/test262/test/staging/sm/object/accessor-non-constructor.js index a00cfd1c59577..22c4c50f276a6 100644 --- a/JSTests/test262/test/staging/sm/object/accessor-non-constructor.js +++ b/JSTests/test262/test/staging/sm/object/accessor-non-constructor.js @@ -2,28 +2,25 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending ---*/ var obj = { get a() { return 1; } }; -assertThrowsInstanceOf(() => { +assert.throws(TypeError, () => { new Object.getOwnPropertyDescriptor(obj, "a").get -}, TypeError); +}); obj = { set a(b) { } }; -assertThrowsInstanceOf(() => { +assert.throws(TypeError, () => { new Object.getOwnPropertyDescriptor(obj, "a").set -}, TypeError); +}); obj = { get a() { return 1; }, set a(b) { } }; -assertThrowsInstanceOf(() => { +assert.throws(TypeError, () => { new Object.getOwnPropertyDescriptor(obj, "a").get -}, TypeError); -assertThrowsInstanceOf(() => { +}); +assert.throws(TypeError, () => { new Object.getOwnPropertyDescriptor(obj, "a").set -}, TypeError); +}); diff --git a/JSTests/test262/test/staging/sm/object/add-property-non-extensible.js b/JSTests/test262/test/staging/sm/object/add-property-non-extensible.js index 58d80dcfc64e1..4ba7998a39e43 100644 --- a/JSTests/test262/test/staging/sm/object/add-property-non-extensible.js +++ b/JSTests/test262/test/staging/sm/object/add-property-non-extensible.js @@ -4,25 +4,13 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | - pending + Properly method-compile attempted addition of properties to non-extensible objects +info: bugzilla.mozilla.org/show_bug.cgi?id=602144 esid: pending ---*/ -var gTestfile = 'add-property-non-extensible.js'; -//----------------------------------------------------------------------------- -var BUGNUMBER = 602144; -var summary = - 'Properly method-compile attempted addition of properties to ' + - 'non-extensible objects'; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ // No property @@ -115,8 +103,3 @@ var o16 = Object.preventExtensions(Object.create(Object.freeze({ a: 2 }))); for (var i = 0; i < 5; i++) o16.a = 3; assert.sameValue(Object.getOwnPropertyDescriptor(o16, "a"), undefined); - - -/******************************************************************************/ - -print("All tests passed!"); diff --git a/JSTests/test262/test/staging/sm/object/bug-1150906.js b/JSTests/test262/test/staging/sm/object/bug-1150906.js index fa6c636631f07..afe58294f886f 100644 --- a/JSTests/test262/test/staging/sm/object/bug-1150906.js +++ b/JSTests/test262/test/staging/sm/object/bug-1150906.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending @@ -19,5 +16,5 @@ function f(x) { var obj = f(1); assert.sameValue(obj[0], undefined); assert.sameValue(Object.getOwnPropertyDescriptor(obj, 0).set, undefined); -assertThrowsInstanceOf(() => { "use strict"; obj[0] = 1; }, TypeError); +assert.throws(TypeError, () => { "use strict"; obj[0] = 1; }); diff --git a/JSTests/test262/test/staging/sm/object/bug-1206700.js b/JSTests/test262/test/staging/sm/object/bug-1206700.js index 58077cb2fead3..d4026138423ef 100644 --- a/JSTests/test262/test/staging/sm/object/bug-1206700.js +++ b/JSTests/test262/test/staging/sm/object/bug-1206700.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/object/clear-dictionary-accessor-getset.js b/JSTests/test262/test/staging/sm/object/clear-dictionary-accessor-getset.js index bc0bfd6d9272b..5ad110961bfa1 100644 --- a/JSTests/test262/test/staging/sm/object/clear-dictionary-accessor-getset.js +++ b/JSTests/test262/test/staging/sm/object/clear-dictionary-accessor-getset.js @@ -4,30 +4,15 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Properly handle GC of a dictionary accessor property whose [[Get]] or [[Set]] has been changed to |undefined| +info: bugzilla.mozilla.org/show_bug.cgi?id=1082662 esid: pending +features: [host-gc-required] ---*/ -var gTestfile = "clear-dictionary-accessor-getset.js"; -var BUGNUMBER = 1082662; -var summary = - "Properly handle GC of a dictionary accessor property whose [[Get]] or " + - "[[Set]] has been changed to |undefined|"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ function test(field) { - var prop = "[[" + field[0].toUpperCase() + field.substring(1) + "]]"; - print("Testing for GC crashes after setting " + prop + " to undefined..."); - function inner() { // Create an object with an accessor property. @@ -54,7 +39,3 @@ function test(field) test("get"); test("set"); - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/object/defineGetter-defineSetter.js b/JSTests/test262/test/staging/sm/object/defineGetter-defineSetter.js index b6fd90b068d12..993a0ceaea52a 100644 --- a/JSTests/test262/test/staging/sm/object/defineGetter-defineSetter.js +++ b/JSTests/test262/test/staging/sm/object/defineGetter-defineSetter.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending @@ -34,12 +31,12 @@ let verifyProxy = new Proxy({}, { for (let define of [Object.prototype.__defineGetter__, Object.prototype.__defineSetter__]) { // null/undefined |this| value for (let thisv of [undefined, null]) - assertThrowsInstanceOf(() => define.call(thisv, "x", define), TypeError); + assert.throws(TypeError, () => define.call(thisv, "x", define)); // non-callable getter/setter let nonCallable = [{}, [], new Proxy({}, {})]; for (let value of nonCallable) - assertThrowsInstanceOf(() => define.call(verifyProxy, "x", value), TypeError); + assert.throws(TypeError, () => define.call(verifyProxy, "x", value)); // ToPropertyKey let key = { @@ -51,7 +48,7 @@ for (let define of [Object.prototype.__defineGetter__, Object.prototype.__define valueOf() { throw "wrongly invoked"; }, toString() { throw "wrongly invoked"; } }; - assertThrowsInstanceOf(() => define.call(verifyProxy, key, define), TypeError); + assert.throws(TypeError, () => define.call(verifyProxy, key, define)); key = { [Symbol.toPrimitive](hint) { diff --git a/JSTests/test262/test/staging/sm/object/defineProperties-callable-accessor.js b/JSTests/test262/test/staging/sm/object/defineProperties-callable-accessor.js index 664435c829ab1..e78a360ad8f32 100644 --- a/JSTests/test262/test/staging/sm/object/defineProperties-callable-accessor.js +++ b/JSTests/test262/test/staging/sm/object/defineProperties-callable-accessor.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending @@ -23,7 +20,7 @@ const descriptors = [ ]; for (const descriptor of descriptors) { - assertThrowsInstanceOf(() => Object.create(null, {x: descriptor}), TypeError); - assertThrowsInstanceOf(() => Object.defineProperties({}, {x: descriptor}), TypeError); + assert.throws(TypeError, () => Object.create(null, {x: descriptor})); + assert.throws(TypeError, () => Object.defineProperties({}, {x: descriptor})); } diff --git a/JSTests/test262/test/staging/sm/object/defineProperties-order.js b/JSTests/test262/test/staging/sm/object/defineProperties-order.js index 59a868fed334e..6e2e7b24b4d3d 100644 --- a/JSTests/test262/test/staging/sm/object/defineProperties-order.js +++ b/JSTests/test262/test/staging/sm/object/defineProperties-order.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/object/defineProperty-proxy.js b/JSTests/test262/test/staging/sm/object/defineProperty-proxy.js index fbe9eb39f5155..b986251d89889 100644 --- a/JSTests/test262/test/staging/sm/object/defineProperty-proxy.js +++ b/JSTests/test262/test/staging/sm/object/defineProperty-proxy.js @@ -4,9 +4,7 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js, deepEqual.js] -flags: - - noStrict +includes: [compareArray.js] description: | pending esid: pending @@ -51,7 +49,7 @@ for (var obj of testSubjects) { // It should have performed exactly these operations on the proxy, in this // order. See ES6 rev 24 (2014 April 27) 6.2.4.5 ToPropertyDescriptor. - assert.deepEqual(log, [ + assert.compareArray(log, [ "has enumerable", "get enumerable", "has configurable", "get configurable", "has value", "get value", diff --git a/JSTests/test262/test/staging/sm/object/duplProps.js b/JSTests/test262/test/staging/sm/object/duplProps.js index 7a63df709ac16..2503a85b93ed8 100644 --- a/JSTests/test262/test/staging/sm/object/duplProps.js +++ b/JSTests/test262/test/staging/sm/object/duplProps.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending @@ -14,6 +11,8 @@ esid: pending * These tests modify the tests in test262 to reflect this change. */ +var a; + // test262/ch11/11.1/11.1.5/11.1.5-4-4-a-1-s.js a = function() { "use strict"; return { foo: 0, foo : 1 }}; assert.sameValue(a().foo, 1); diff --git a/JSTests/test262/test/staging/sm/object/entries.js b/JSTests/test262/test/staging/sm/object/entries.js index 6ffcb8d46a8bb..cce8c7026d777 100644 --- a/JSTests/test262/test/staging/sm/object/entries.js +++ b/JSTests/test262/test/staging/sm/object/entries.js @@ -4,97 +4,94 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js, deepEqual.js] -flags: - - noStrict +includes: [deepEqual.js] description: | pending esid: pending +features: [Symbol] ---*/ -if ("entries" in Object) { - assert.sameValue(Object.entries.length, 1); - - var o, entries; - - o = { a: 3, b: 2 }; - entries = Object.entries(o); - assert.deepEqual(entries, [["a", 3], ["b", 2]]); - - o = { get a() { return 17; }, b: 2 }; - entries = Object.entries(o), - assert.deepEqual(entries, [["a", 17], ["b", 2]]); - - o = { __iterator__: function() { throw new Error("non-standard __iterator__ called?"); } }; - entries = Object.entries(o); - assert.deepEqual(entries, [["__iterator__", o.__iterator__]]); - - o = { a: 1, b: 2 }; - delete o.a; - o.a = 3; - entries = Object.entries(o); - assert.deepEqual(entries, [["b", 2], ["a", 3]]); - - o = [0, 1, 2]; - entries = Object.entries(o); - assert.deepEqual(entries, [["0", 0], ["1", 1], ["2", 2]]); - - o = /./.exec("abc"); - entries = Object.entries(o); - assert.deepEqual(entries, [["0", "a"], ["index", 0], ["input", "abc"], ["groups", undefined]]); - - o = { a: 1, b: 2, c: 3 }; - delete o.b; - o.b = 5; - entries = Object.entries(o); - assert.deepEqual(entries, [["a", 1], ["c", 3], ["b", 5]]); - - function f() { } - f.prototype.p = 1; - o = new f(); - o.g = 1; - entries = Object.entries(o); - assert.deepEqual(entries, [["g", 1]]); - - var o = {get a() {delete this.b; return 1}, b: 2, c: 3}; - entries = Object.entries(o); - assert.deepEqual(entries, [["a", 1], ["c", 3]]); - - assertThrowsInstanceOf(() => Object.entries(), TypeError); - assertThrowsInstanceOf(() => Object.entries(undefined), TypeError); - assertThrowsInstanceOf(() => Object.entries(null), TypeError); - - assert.deepEqual(Object.entries(1), []); - assert.deepEqual(Object.entries(true), []); - if (typeof Symbol === "function") - assert.deepEqual(Object.entries(Symbol("foo")), []); - - assert.deepEqual(Object.entries("foo"), [["0", "f"], ["1", "o"], ["2", "o"]]); - - entries = Object.entries({ - get a(){ - Object.defineProperty(this, "b", {enumerable: false}); - return "A"; - }, - b: "B" - }); - assert.deepEqual(entries, [["a", "A"]]); - - let ownKeysCallCount = 0; - let getOwnPropertyDescriptorCalls = []; - let target = { a: 1, b: 2, c: 3 }; - o = new Proxy(target, { - ownKeys() { - ownKeysCallCount++; - return ["c", "a"]; - }, - getOwnPropertyDescriptor(target, key) { - getOwnPropertyDescriptorCalls.push(key); - return Object.getOwnPropertyDescriptor(target, key); - } - }); - entries = Object.entries(o); - assert.sameValue(ownKeysCallCount, 1); - assert.deepEqual(entries, [["c", 3], ["a", 1]]); - assert.deepEqual(getOwnPropertyDescriptorCalls, ["c", "a"]); -} +assert.sameValue("entries" in Object, true); +assert.sameValue(Object.entries.length, 1); + +var o, entries; + +o = { a: 3, b: 2 }; +entries = Object.entries(o); +assert.deepEqual(entries, [["a", 3], ["b", 2]]); + +o = { get a() { return 17; }, b: 2 }; +entries = Object.entries(o), +assert.deepEqual(entries, [["a", 17], ["b", 2]]); + +o = { __iterator__: function() { throw new Error("non-standard __iterator__ called?"); } }; +entries = Object.entries(o); +assert.deepEqual(entries, [["__iterator__", o.__iterator__]]); + +o = { a: 1, b: 2 }; +delete o.a; +o.a = 3; +entries = Object.entries(o); +assert.deepEqual(entries, [["b", 2], ["a", 3]]); + +o = [0, 1, 2]; +entries = Object.entries(o); +assert.deepEqual(entries, [["0", 0], ["1", 1], ["2", 2]]); + +o = /./.exec("abc"); +entries = Object.entries(o); +assert.deepEqual(entries, [["0", "a"], ["index", 0], ["input", "abc"], ["groups", undefined]]); + +o = { a: 1, b: 2, c: 3 }; +delete o.b; +o.b = 5; +entries = Object.entries(o); +assert.deepEqual(entries, [["a", 1], ["c", 3], ["b", 5]]); + +function f() { } +f.prototype.p = 1; +o = new f(); +o.g = 1; +entries = Object.entries(o); +assert.deepEqual(entries, [["g", 1]]); + +var o = {get a() {delete this.b; return 1}, b: 2, c: 3}; +entries = Object.entries(o); +assert.deepEqual(entries, [["a", 1], ["c", 3]]); + +assert.throws(TypeError, () => Object.entries()); +assert.throws(TypeError, () => Object.entries(undefined)); +assert.throws(TypeError, () => Object.entries(null)); + +assert.deepEqual(Object.entries(1), []); +assert.deepEqual(Object.entries(true), []); +assert.deepEqual(Object.entries(Symbol("foo")), []); + +assert.deepEqual(Object.entries("foo"), [["0", "f"], ["1", "o"], ["2", "o"]]); + +entries = Object.entries({ + get a(){ + Object.defineProperty(this, "b", {enumerable: false}); + return "A"; + }, + b: "B" +}); +assert.deepEqual(entries, [["a", "A"]]); + +let ownKeysCallCount = 0; +let getOwnPropertyDescriptorCalls = []; +let target = { a: 1, b: 2, c: 3 }; +o = new Proxy(target, { + ownKeys() { + ownKeysCallCount++; + return ["c", "a"]; + }, + getOwnPropertyDescriptor(target, key) { + getOwnPropertyDescriptorCalls.push(key); + return Object.getOwnPropertyDescriptor(target, key); + } +}); +entries = Object.entries(o); +assert.sameValue(ownKeysCallCount, 1); +assert.deepEqual(entries, [["c", 3], ["a", 1]]); +assert.deepEqual(getOwnPropertyDescriptorCalls, ["c", "a"]); diff --git a/JSTests/test262/test/staging/sm/object/extensibility-01.js b/JSTests/test262/test/staging/sm/object/extensibility-01.js index 5e1b9f1a2e99d..7dd8ff695b4e7 100644 --- a/JSTests/test262/test/staging/sm/object/extensibility-01.js +++ b/JSTests/test262/test/staging/sm/object/extensibility-01.js @@ -4,74 +4,39 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | - pending + Implement Object.preventExtensions, Object.isExtensible +info: bugzilla.mozilla.org/show_bug.cgi?id=492849 esid: pending ---*/ -var gTestfile = '15.2.3.10-01.js'; -//----------------------------------------------------------------------------- -var BUGNUMBER = 492849; -var summary = 'ES5: Implement Object.preventExtensions, Object.isExtensible'; -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ - -function trySetProperty(o, p, v, strict) +function tryStrictSetProperty(o, p, v) { - function strictSetProperty() - { + assert.sameValue(Object.prototype.hasOwnProperty.call(o, p), false); + assert.throws(TypeError, function() { "use strict"; o[p] = v; - } - - function setProperty() - { - o[p] = v; - } + }); +} +function trySetProperty(o, p, v) +{ assert.sameValue(Object.prototype.hasOwnProperty.call(o, p), false); - try - { - if (strict) - strictSetProperty(); - else - setProperty(); - if (o[p] === v) - return "set"; - if (p in o) - return "set-converted"; - return "swallowed"; - } - catch (e) - { - return "throw"; - } + o[p] = v; + + assert.notSameValue(o[p], v); + assert.sameValue(p in o, false); } function tryDefineProperty(o, p, v) { assert.sameValue(Object.prototype.hasOwnProperty.call(o, p), false); - - try - { + assert.throws(TypeError, function() { Object.defineProperty(o, p, { value: v }); - if (o[p] === v) - return "set"; - if (p in o) - return "set-converted"; - return "swallowed"; - } - catch (e) - { - return "throw"; - } + }); } assert.sameValue(typeof Object.preventExtensions, "function"); @@ -92,16 +57,7 @@ for (var i = 0, sz = objs.length; i < sz; i++) assert.sameValue(Object.isExtensible(o), false, "object " + i + " is extensible?"); - assert.sameValue(trySetProperty(o, "baz", 17, true), "throw", - "unexpected behavior for strict-mode property-addition to " + - "object " + i); - assert.sameValue(trySetProperty(o, "baz", 17, false), "swallowed", - "unexpected behavior for property-addition to object " + i); - - assert.sameValue(tryDefineProperty(o, "baz", 17), "throw", - "unexpected behavior for new property definition on object " + i); + tryStrictSetProperty(o, "baz", 17); + trySetProperty(o, "baz", 17); + tryDefineProperty(o, "baz", 17); } - -/******************************************************************************/ - -print("All tests passed!"); diff --git a/JSTests/test262/test/staging/sm/object/extensibility-02.js b/JSTests/test262/test/staging/sm/object/extensibility-02.js index 0f953d2899666..0076aee725030 100644 --- a/JSTests/test262/test/staging/sm/object/extensibility-02.js +++ b/JSTests/test262/test/staging/sm/object/extensibility-02.js @@ -4,23 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Implement Object.preventExtensions, Object.isExtensible +info: bugzilla.mozilla.org/show_bug.cgi?id=492849 esid: pending ---*/ -var gTestfile = '15.2.3.4-01.js'; -//----------------------------------------------------------------------------- -var BUGNUMBER = 492849; -var summary = 'ES5: Implement Object.preventExtensions, Object.isExtensible'; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ assert.sameValue(typeof Object.isExtensible, "function"); assert.sameValue(Object.isExtensible.length, 1); @@ -40,7 +28,3 @@ for (var i = 0, sz = objs.length; i < sz; i++) assert.sameValue(Object.isExtensible(o), false, "object " + i + " is extensible?"); } - -/******************************************************************************/ - -print("All tests passed!"); diff --git a/JSTests/test262/test/staging/sm/object/freeze-proxy.js b/JSTests/test262/test/staging/sm/object/freeze-proxy.js index 6d2f061c2f27e..16f262886af0d 100644 --- a/JSTests/test262/test/staging/sm/object/freeze-proxy.js +++ b/JSTests/test262/test/staging/sm/object/freeze-proxy.js @@ -2,9 +2,7 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, deepEqual.js] -flags: - - noStrict +includes: [compareArray.js] description: | pending esid: pending @@ -29,9 +27,9 @@ function logProxy(object = {}, handler = {}) { var {proxy, log} = logProxy(); Object.freeze(proxy); -assert.deepEqual(log, ["preventExtensions", "ownKeys"]); +assert.compareArray(log, ["preventExtensions", "ownKeys"]); var {proxy, log} = logProxy(); Object.freeze(Object.freeze(proxy)); -assert.deepEqual(log, ["preventExtensions", "ownKeys", "preventExtensions", "ownKeys"]); +assert.compareArray(log, ["preventExtensions", "ownKeys", "preventExtensions", "ownKeys"]); diff --git a/JSTests/test262/test/staging/sm/object/freeze.js b/JSTests/test262/test/staging/sm/object/freeze.js index 3b814fa105bfc..bc3db00449d96 100644 --- a/JSTests/test262/test/staging/sm/object/freeze.js +++ b/JSTests/test262/test/staging/sm/object/freeze.js @@ -4,24 +4,17 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Object.freeze() should return its argument with no conversion when the argument is a primitive value +info: bugzilla.mozilla.org/show_bug.cgi?id=1076588 esid: pending +features: [Symbol] ---*/ -var BUGNUMBER = 1076588; -var summary = "Object.freeze() should return its argument with no conversion when the argument is a primitive value"; -print(BUGNUMBER + ": " + summary); assert.sameValue(Object.freeze(), undefined); assert.sameValue(Object.freeze(undefined), undefined); assert.sameValue(Object.freeze(null), null); assert.sameValue(Object.freeze(1), 1); assert.sameValue(Object.freeze("foo"), "foo"); assert.sameValue(Object.freeze(true), true); -if (typeof Symbol === "function") { - assert.sameValue(Object.freeze(Symbol.for("foo")), Symbol.for("foo")); -} - +assert.sameValue(Object.freeze(Symbol.for("foo")), Symbol.for("foo")); diff --git a/JSTests/test262/test/staging/sm/object/gOPD-vs-prototype-accessor.js b/JSTests/test262/test/staging/sm/object/gOPD-vs-prototype-accessor.js index 764b64c962d1f..51d48b470c2b5 100644 --- a/JSTests/test262/test/staging/sm/object/gOPD-vs-prototype-accessor.js +++ b/JSTests/test262/test/staging/sm/object/gOPD-vs-prototype-accessor.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/object/getOwnPropertyDescriptor.js b/JSTests/test262/test/staging/sm/object/getOwnPropertyDescriptor.js index 64765a18c0a51..8c30063997c39 100644 --- a/JSTests/test262/test/staging/sm/object/getOwnPropertyDescriptor.js +++ b/JSTests/test262/test/staging/sm/object/getOwnPropertyDescriptor.js @@ -4,26 +4,21 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js, deepEqual.js] -flags: - - noStrict +includes: [deepEqual.js] description: | - pending + Coerce the argument passed to Object.getOwnPropertyDescriptor using ToObject +info: bugzilla.mozilla.org/show_bug.cgi?id=1079188 esid: pending +features: [Symbol] ---*/ -var BUGNUMBER = 1079188; -var summary = "Coerce the argument passed to Object.getOwnPropertyDescriptor using ToObject"; -print(BUGNUMBER + ": " + summary); -assertThrowsInstanceOf(() => Object.getOwnPropertyDescriptor(), TypeError); -assertThrowsInstanceOf(() => Object.getOwnPropertyDescriptor(undefined), TypeError); -assertThrowsInstanceOf(() => Object.getOwnPropertyDescriptor(null), TypeError); +assert.throws(TypeError, () => Object.getOwnPropertyDescriptor()); +assert.throws(TypeError, () => Object.getOwnPropertyDescriptor(undefined)); +assert.throws(TypeError, () => Object.getOwnPropertyDescriptor(null)); Object.getOwnPropertyDescriptor(1); Object.getOwnPropertyDescriptor(true); -if (typeof Symbol === "function") { - Object.getOwnPropertyDescriptor(Symbol("foo")); -} +Object.getOwnPropertyDescriptor(Symbol("foo")); assert.deepEqual(Object.getOwnPropertyDescriptor("foo", "length"), { value: 3, diff --git a/JSTests/test262/test/staging/sm/object/getOwnPropertySymbols-proxy.js b/JSTests/test262/test/staging/sm/object/getOwnPropertySymbols-proxy.js index 5f98474b33a0b..bf2cb8418f0b9 100644 --- a/JSTests/test262/test/staging/sm/object/getOwnPropertySymbols-proxy.js +++ b/JSTests/test262/test/staging/sm/object/getOwnPropertySymbols-proxy.js @@ -4,9 +4,7 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js, deepEqual.js] -flags: - - noStrict +includes: [compareArray.js] description: | pending esid: pending @@ -31,6 +29,6 @@ function OwnKeysProxy() { return new Proxy({}, new HandlerProxy); } -assert.deepEqual(Object.getOwnPropertySymbols(new OwnKeysProxy), symbols); +assert.compareArray(Object.getOwnPropertySymbols(new OwnKeysProxy), symbols); assert.sameValue(hits, 1); diff --git a/JSTests/test262/test/staging/sm/object/getOwnPropertySymbols.js b/JSTests/test262/test/staging/sm/object/getOwnPropertySymbols.js index 5b433e44888e1..282047aead1c4 100644 --- a/JSTests/test262/test/staging/sm/object/getOwnPropertySymbols.js +++ b/JSTests/test262/test/staging/sm/object/getOwnPropertySymbols.js @@ -4,14 +4,13 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js, deepEqual.js] -flags: - - noStrict +includes: [compareArray.js] description: | pending esid: pending ---*/ -assert.deepEqual(Object.getOwnPropertySymbols({}), []); + +assert.compareArray(Object.getOwnPropertySymbols({}), []); // String keys are ignored. assert.sameValue(Object.getOwnPropertySymbols({a: 1, b: 2}).length, 0); @@ -22,8 +21,8 @@ var iterable = {}; Object.defineProperty(iterable, Symbol.iterator, { value: () => [][Symbol.iterator]() }); -assert.deepEqual(Object.getOwnPropertySymbols(iterable), [Symbol.iterator]); -assert.deepEqual(Object.getOwnPropertySymbols(new Proxy(iterable, {})), [Symbol.iterator]); +assert.compareArray(Object.getOwnPropertySymbols(iterable), [Symbol.iterator]); +assert.compareArray(Object.getOwnPropertySymbols(new Proxy(iterable, {})), [Symbol.iterator]); // Test on an object with a thousand own properties. var obj = {}; @@ -44,11 +43,10 @@ assert.sameValue(Object.getOwnPropertySymbols(new Proxy(Object.create(obj), {})) // Primitives are coerced to objects; but there are never any symbol-keyed // properties on the resulting wrapper objects. -assertThrowsInstanceOf(() => Object.getOwnPropertySymbols(), TypeError); -assertThrowsInstanceOf(() => Object.getOwnPropertySymbols(undefined), TypeError); -assertThrowsInstanceOf(() => Object.getOwnPropertySymbols(null), TypeError); +assert.throws(TypeError, () => Object.getOwnPropertySymbols()); +assert.throws(TypeError, () => Object.getOwnPropertySymbols(undefined)); +assert.throws(TypeError, () => Object.getOwnPropertySymbols(null)); for (var primitive of [true, 1, 3.14, "hello", Symbol()]) assert.sameValue(Object.getOwnPropertySymbols(primitive).length, 0); assert.sameValue(Object.getOwnPropertySymbols.length, 1); - diff --git a/JSTests/test262/test/staging/sm/object/getPrototypeOf-array.js b/JSTests/test262/test/staging/sm/object/getPrototypeOf-array.js index 93c325478dba7..8e05c766a201d 100644 --- a/JSTests/test262/test/staging/sm/object/getPrototypeOf-array.js +++ b/JSTests/test262/test/staging/sm/object/getPrototypeOf-array.js @@ -4,24 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + The [[Prototype]] of an object whose prototype chain contains an array isn't that array's [[Prototype]] +info: bugzilla.mozilla.org/show_bug.cgi?id=769041 esid: pending ---*/ -var gTestfile = 'getPrototypeOf-array.js'; -var BUGNUMBER = 769041; -var summary = - "The [[Prototype]] of an object whose prototype chain contains an array " + - "isn't that array's [[Prototype]]"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ var arr = []; assert.sameValue(Array.isArray(arr), true); @@ -31,7 +18,3 @@ assert.sameValue(Object.getPrototypeOf(objWithArrPrototype), arr); var objWithArrGrandPrototype = Object.create(objWithArrPrototype); assert.sameValue(!Array.isArray(objWithArrGrandPrototype), true); assert.sameValue(Object.getPrototypeOf(objWithArrGrandPrototype), objWithArrPrototype); - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/object/getPrototypeOf.js b/JSTests/test262/test/staging/sm/object/getPrototypeOf.js index b1ab740b64375..a1ea87c974383 100644 --- a/JSTests/test262/test/staging/sm/object/getPrototypeOf.js +++ b/JSTests/test262/test/staging/sm/object/getPrototypeOf.js @@ -4,25 +4,18 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Coerce the argument passed to Object.getPrototypeOf using ToObject +info: bugzilla.mozilla.org/show_bug.cgi?id=1079090 esid: pending +features: [Symbol] ---*/ -var BUGNUMBER = 1079090; -var summary = "Coerce the argument passed to Object.getPrototypeOf using ToObject"; -print(BUGNUMBER + ": " + summary); -assertThrowsInstanceOf(() => Object.getPrototypeOf(), TypeError); -assertThrowsInstanceOf(() => Object.getPrototypeOf(undefined), TypeError); -assertThrowsInstanceOf(() => Object.getPrototypeOf(null), TypeError); +assert.throws(TypeError, () => Object.getPrototypeOf()); +assert.throws(TypeError, () => Object.getPrototypeOf(undefined)); +assert.throws(TypeError, () => Object.getPrototypeOf(null)); assert.sameValue(Object.getPrototypeOf(1), Number.prototype); assert.sameValue(Object.getPrototypeOf(true), Boolean.prototype); assert.sameValue(Object.getPrototypeOf("foo"), String.prototype); -if (typeof Symbol === "function") { - assert.sameValue(Object.getPrototypeOf(Symbol("foo")), Symbol.prototype); -} - +assert.sameValue(Object.getPrototypeOf(Symbol("foo")), Symbol.prototype); diff --git a/JSTests/test262/test/staging/sm/object/getter-name.js b/JSTests/test262/test/staging/sm/object/getter-name.js index 549c5971433ff..52034cfb30efd 100644 --- a/JSTests/test262/test/staging/sm/object/getter-name.js +++ b/JSTests/test262/test/staging/sm/object/getter-name.js @@ -2,18 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Object accessors should have get prefix +info: bugzilla.mozilla.org/show_bug.cgi?id=1180290 esid: pending ---*/ -var BUGNUMBER = 1180290; -var summary = 'Object accessors should have get prefix'; - -print(BUGNUMBER + ": " + summary); assert.sameValue(Object.getOwnPropertyDescriptor(Object.prototype, "__proto__").get.name, "get __proto__"); assert.sameValue(Object.getOwnPropertyDescriptor(Object.prototype, "__proto__").set.name, "set __proto__"); - diff --git a/JSTests/test262/test/staging/sm/object/hasOwn.js b/JSTests/test262/test/staging/sm/object/hasOwn.js index 9febcbdecb6e9..ea981ca9b7a97 100644 --- a/JSTests/test262/test/staging/sm/object/hasOwn.js +++ b/JSTests/test262/test/staging/sm/object/hasOwn.js @@ -4,15 +4,12 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending ---*/ assert.sameValue(Object.hasOwn({}, "any"), false); -assertThrowsInstanceOf(() => Object.hasOwn(null, "any"), TypeError); +assert.throws(TypeError, () => Object.hasOwn(null, "any")); var x = { test: 'test value'} var y = {} diff --git a/JSTests/test262/test/staging/sm/object/isExtensible.js b/JSTests/test262/test/staging/sm/object/isExtensible.js index bbadd526b23ff..e7ef7a8cac97a 100644 --- a/JSTests/test262/test/staging/sm/object/isExtensible.js +++ b/JSTests/test262/test/staging/sm/object/isExtensible.js @@ -4,24 +4,17 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Object.isExtensible() should return false when given primitive values as input +info: bugzilla.mozilla.org/show_bug.cgi?id=1060873 esid: pending +features: [Symbol] ---*/ -var BUGNUMBER = 1060873; -var summary = "Object.isExtensible() should return false when given primitive values as input"; -print(BUGNUMBER + ": " + summary); assert.sameValue(Object.isExtensible(), false); assert.sameValue(Object.isExtensible(undefined), false); assert.sameValue(Object.isExtensible(null), false); assert.sameValue(Object.isExtensible(1), false); assert.sameValue(Object.isExtensible("foo"), false); assert.sameValue(Object.isExtensible(true), false); -if (typeof Symbol === "function") { - assert.sameValue(Object.isExtensible(Symbol()), false); -} - +assert.sameValue(Object.isExtensible(Symbol()), false); diff --git a/JSTests/test262/test/staging/sm/object/isFrozen.js b/JSTests/test262/test/staging/sm/object/isFrozen.js index 2596bacde3e2a..a89b72f1d2159 100644 --- a/JSTests/test262/test/staging/sm/object/isFrozen.js +++ b/JSTests/test262/test/staging/sm/object/isFrozen.js @@ -4,24 +4,17 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Object.isFrozen() should return true when given primitive values as input +info: bugzilla.mozilla.org/show_bug.cgi?id=1071464 esid: pending +features: [Symbol] ---*/ -var BUGNUMBER = 1071464; -var summary = "Object.isFrozen() should return true when given primitive values as input"; -print(BUGNUMBER + ": " + summary); assert.sameValue(Object.isFrozen(), true); assert.sameValue(Object.isFrozen(undefined), true); assert.sameValue(Object.isFrozen(null), true); assert.sameValue(Object.isFrozen(1), true); assert.sameValue(Object.isFrozen("foo"), true); assert.sameValue(Object.isFrozen(true), true); -if (typeof Symbol === "function") { - assert.sameValue(Object.isFrozen(Symbol()), true); -} - +assert.sameValue(Object.isFrozen(Symbol()), true); diff --git a/JSTests/test262/test/staging/sm/object/isPrototypeOf.js b/JSTests/test262/test/staging/sm/object/isPrototypeOf.js index e902425485fa3..73afe0938ce46 100644 --- a/JSTests/test262/test/staging/sm/object/isPrototypeOf.js +++ b/JSTests/test262/test/staging/sm/object/isPrototypeOf.js @@ -4,36 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Object.prototype.isPrototypeOf +info: bugzilla.mozilla.org/show_bug.cgi?id=619283 esid: pending ---*/ -var gTestfile = 'isPrototypeOf.js'; -var BUGNUMBER = 619283; -var summary = "Object.prototype.isPrototypeOf"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ - -function expectThrowTypeError(fun) -{ - try - { - var r = fun(); - throw new Error("didn't throw TypeError, returned " + r); - } - catch (e) - { - assert.sameValue(e instanceof TypeError, true, - "didn't throw TypeError, got: " + e); - } -} var isPrototypeOf = Object.prototype.isPrototypeOf; @@ -58,12 +33,12 @@ assert.sameValue(isPrototypeOf(null), false); * argument. */ var protoGlobal = Object.create(this); -expectThrowTypeError(function() { isPrototypeOf.call(null, {}); }); -expectThrowTypeError(function() { isPrototypeOf.call(undefined, {}); }); -expectThrowTypeError(function() { isPrototypeOf({}); }); -expectThrowTypeError(function() { isPrototypeOf.call(null, protoGlobal); }); -expectThrowTypeError(function() { isPrototypeOf.call(undefined, protoGlobal); }); -expectThrowTypeError(function() { isPrototypeOf(protoGlobal); }); +assert.throws(TypeError, function() { isPrototypeOf.call(null, {}); }); +assert.throws(TypeError, function() { isPrototypeOf.call(undefined, {}); }); +assert.throws(TypeError, function() { isPrototypeOf({}); }); +assert.throws(TypeError, function() { isPrototypeOf.call(null, protoGlobal); }); +assert.throws(TypeError, function() { isPrototypeOf.call(undefined, protoGlobal); }); +assert.throws(TypeError, function() { isPrototypeOf(protoGlobal); }); /* @@ -84,8 +59,3 @@ assert.sameValue(this.isPrototypeOf(protoGlobal), true); assert.sameValue(Object.prototype.isPrototypeOf({}), true); assert.sameValue(Object.prototype.isPrototypeOf(new Number(17)), true); assert.sameValue(Object.prototype.isPrototypeOf(function(){}), true); - - -/******************************************************************************/ - -print("All tests passed!"); diff --git a/JSTests/test262/test/staging/sm/object/isSealed.js b/JSTests/test262/test/staging/sm/object/isSealed.js index e76a03e47beb8..4962ec5a2682a 100644 --- a/JSTests/test262/test/staging/sm/object/isSealed.js +++ b/JSTests/test262/test/staging/sm/object/isSealed.js @@ -4,24 +4,17 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Object.isSealed() should return true when given primitive values as input +info: bugzilla.mozilla.org/show_bug.cgi?id=1062860 esid: pending +features: [Symbol] ---*/ -var BUGNUMBER = 1062860; -var summary = "Object.isSealed() should return true when given primitive values as input"; -print(BUGNUMBER + ": " + summary); assert.sameValue(Object.isSealed(), true); assert.sameValue(Object.isSealed(undefined), true); assert.sameValue(Object.isSealed(null), true); assert.sameValue(Object.isSealed(1), true); assert.sameValue(Object.isSealed("foo"), true); assert.sameValue(Object.isSealed(true), true); -if (typeof Symbol === "function") { - assert.sameValue(Object.isSealed(Symbol()), true); -} - +assert.sameValue(Object.isSealed(Symbol()), true); diff --git a/JSTests/test262/test/staging/sm/object/keys.js b/JSTests/test262/test/staging/sm/object/keys.js index 3936ec4c0d990..5897428ee8a5a 100644 --- a/JSTests/test262/test/staging/sm/object/keys.js +++ b/JSTests/test262/test/staging/sm/object/keys.js @@ -4,26 +4,20 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js, deepEqual.js] -flags: - - noStrict +includes: [compareArray.js] description: | - pending + Coerce the argument passed to Object.keys using ToObject +info: bugzilla.mozilla.org/show_bug.cgi?id=1038545 esid: pending +features: [Symbol] ---*/ -var BUGNUMBER = 1038545; -var summary = "Coerce the argument passed to Object.keys using ToObject"; -print(BUGNUMBER + ": " + summary); -assertThrowsInstanceOf(() => Object.keys(), TypeError); -assertThrowsInstanceOf(() => Object.keys(undefined), TypeError); -assertThrowsInstanceOf(() => Object.keys(null), TypeError); +assert.throws(TypeError, () => Object.keys()); +assert.throws(TypeError, () => Object.keys(undefined)); +assert.throws(TypeError, () => Object.keys(null)); -assert.deepEqual(Object.keys(1), []); -assert.deepEqual(Object.keys(true), []); -if (typeof Symbol === "function") { - assert.deepEqual(Object.keys(Symbol("foo")), []); -} - -assert.deepEqual(Object.keys("foo"), ["0", "1", "2"]); +assert.compareArray(Object.keys(1), []); +assert.compareArray(Object.keys(true), []); +assert.compareArray(Object.keys(Symbol("foo")), []); +assert.compareArray(Object.keys("foo"), ["0", "1", "2"]); diff --git a/JSTests/test262/test/staging/sm/object/method-non-constructor.js b/JSTests/test262/test/staging/sm/object/method-non-constructor.js index dbef0d86a1985..cff0504f5b470 100644 --- a/JSTests/test262/test/staging/sm/object/method-non-constructor.js +++ b/JSTests/test262/test/staging/sm/object/method-non-constructor.js @@ -2,20 +2,17 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending ---*/ var obj = { method() { } }; -assertThrowsInstanceOf(() => { +assert.throws(TypeError, () => { new obj.method; -}, TypeError); +}); obj = { constructor() { } }; -assertThrowsInstanceOf(() => { +assert.throws(TypeError, () => { new obj.constructor; -}, TypeError); +}); diff --git a/JSTests/test262/test/staging/sm/object/mutation-prevention-methods.js b/JSTests/test262/test/staging/sm/object/mutation-prevention-methods.js index 8755d4b197367..6459c881b32f0 100644 --- a/JSTests/test262/test/staging/sm/object/mutation-prevention-methods.js +++ b/JSTests/test262/test/staging/sm/object/mutation-prevention-methods.js @@ -4,23 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Object.is{Sealed,Frozen}, Object.{seal,freeze} +info: bugzilla.mozilla.org/show_bug.cgi?id=492849 esid: pending ---*/ -var gTestfile = 'mutation-prevention-methods.js'; -//----------------------------------------------------------------------------- -var BUGNUMBER = 492849; -var summary = 'Object.is{Sealed,Frozen}, Object.{seal,freeze}'; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ // Empty object @@ -121,8 +109,3 @@ Object.freeze(o3); assert.sameValue(Object.isExtensible(o3), false); assert.sameValue(Object.isSealed(o3), true); assert.sameValue(Object.isFrozen(o3), true); - - -/******************************************************************************/ - -print("All tests passed!"); diff --git a/JSTests/test262/test/staging/sm/object/object-create-with-primitive-second-arg.js b/JSTests/test262/test/staging/sm/object/object-create-with-primitive-second-arg.js index 0621e9838f950..68835107d6276 100644 --- a/JSTests/test262/test/staging/sm/object/object-create-with-primitive-second-arg.js +++ b/JSTests/test262/test/staging/sm/object/object-create-with-primitive-second-arg.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending @@ -13,5 +10,5 @@ esid: pending assert.sameValue(Object.getPrototypeOf(Object.create(null, props)), null); }); -assertThrowsInstanceOf(() => Object.create(null, null), TypeError); +assert.throws(TypeError, () => Object.create(null, null)); diff --git a/JSTests/test262/test/staging/sm/object/object-toString-01.js b/JSTests/test262/test/staging/sm/object/object-toString-01.js index e488f25b7ff6b..cef063a498638 100644 --- a/JSTests/test262/test/staging/sm/object/object-toString-01.js +++ b/JSTests/test262/test/staging/sm/object/object-toString-01.js @@ -4,24 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + ({}).toString.call(null) == "[object Null]", ({}).toString.call(undefined) == "[object Undefined]" +info: bugzilla.mozilla.org/show_bug.cgi?id=575522 esid: pending ---*/ -var gTestfile = 'object-toString-01.js'; -//----------------------------------------------------------------------------- -var BUGNUMBER = 575522; -var summary = '({}).toString.call(null) == "[object Null]", ' + - '({}).toString.call(undefined) == "[object Undefined]", '; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ var toString = Object.prototype.toString; @@ -42,8 +29,3 @@ assert.sameValue(toString.call(-Infinity), "[object Number]"); assert.sameValue(toString.call("foopy"), "[object String]"); assert.sameValue(toString.call({}), "[object Object]"); - - -/******************************************************************************/ - -print("All tests passed!"); diff --git a/JSTests/test262/test/staging/sm/object/preventExtensions-idempotent.js b/JSTests/test262/test/staging/sm/object/preventExtensions-idempotent.js index 271651ffcaf32..22f822351360f 100644 --- a/JSTests/test262/test/staging/sm/object/preventExtensions-idempotent.js +++ b/JSTests/test262/test/staging/sm/object/preventExtensions-idempotent.js @@ -4,30 +4,14 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Object.preventExtensions should be idempotent +info: bugzilla.mozilla.org/show_bug.cgi?id=599459 esid: pending ---*/ -var gTestfile = 'preventExtensions-idempotent.js'; -//----------------------------------------------------------------------------- -var BUGNUMBER = 599459; -var summary = 'Object.preventExtensions should be idempotent'; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ var obj = {}; assert.sameValue(Object.preventExtensions(obj), obj); assert.sameValue(Object.isExtensible(obj), false); assert.sameValue(Object.preventExtensions(obj), obj); assert.sameValue(Object.isExtensible(obj), false); - -/******************************************************************************/ - -print("All tests passed!"); diff --git a/JSTests/test262/test/staging/sm/object/preventExtensions-proxy.js b/JSTests/test262/test/staging/sm/object/preventExtensions-proxy.js index 0663a0431a507..cb425c6afa48e 100644 --- a/JSTests/test262/test/staging/sm/object/preventExtensions-proxy.js +++ b/JSTests/test262/test/staging/sm/object/preventExtensions-proxy.js @@ -2,9 +2,7 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, deepEqual.js] -flags: - - noStrict +includes: [compareArray.js] description: | pending esid: pending @@ -25,9 +23,9 @@ function logProxy(object = {}, handler = {}) { var {proxy, log} = logProxy(); Object.preventExtensions(proxy); -assert.deepEqual(log, ["preventExtensions"]); +assert.compareArray(log, ["preventExtensions"]); var {proxy, log} = logProxy(); Object.preventExtensions(Object.preventExtensions(proxy)); -assert.deepEqual(log, ["preventExtensions", "preventExtensions"]); +assert.compareArray(log, ["preventExtensions", "preventExtensions"]); diff --git a/JSTests/test262/test/staging/sm/object/preventExtensions.js b/JSTests/test262/test/staging/sm/object/preventExtensions.js index f59d557b136ba..e2be62ecc3433 100644 --- a/JSTests/test262/test/staging/sm/object/preventExtensions.js +++ b/JSTests/test262/test/staging/sm/object/preventExtensions.js @@ -4,24 +4,17 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Object.preventExtensions() should return its argument with no conversion when the argument is a primitive value +info: bugzilla.mozilla.org/show_bug.cgi?id=1073446 esid: pending +features: [Symbol] ---*/ -var BUGNUMBER = 1073446; -var summary = "Object.preventExtensions() should return its argument with no conversion when the argument is a primitive value"; -print(BUGNUMBER + ": " + summary); assert.sameValue(Object.preventExtensions(), undefined); assert.sameValue(Object.preventExtensions(undefined), undefined); assert.sameValue(Object.preventExtensions(null), null); assert.sameValue(Object.preventExtensions(1), 1); assert.sameValue(Object.preventExtensions("foo"), "foo"); assert.sameValue(Object.preventExtensions(true), true); -if (typeof Symbol === "function") { - assert.sameValue(Object.preventExtensions(Symbol.for("foo")), Symbol.for("foo")); -} - +assert.sameValue(Object.preventExtensions(Symbol.for("foo")), Symbol.for("foo")); diff --git a/JSTests/test262/test/staging/sm/object/property-descriptor-order.js b/JSTests/test262/test/staging/sm/object/property-descriptor-order.js index cc47264760ed3..51bcb6198b422 100644 --- a/JSTests/test262/test/staging/sm/object/property-descriptor-order.js +++ b/JSTests/test262/test/staging/sm/object/property-descriptor-order.js @@ -2,23 +2,22 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, deepEqual.js] -flags: - - noStrict +includes: [compareArray.js] description: | pending esid: pending ---*/ + var names = Object.getOwnPropertyNames(Object.getOwnPropertyDescriptor({foo: 0}, "foo")); -assert.deepEqual(names, ["value", "writable", "enumerable", "configurable"]); +assert.compareArray(names, ["value", "writable", "enumerable", "configurable"]); names = Object.getOwnPropertyNames(Object.getOwnPropertyDescriptor({get foo(){}}, "foo")); -assert.deepEqual(names, ["get", "set", "enumerable", "configurable"]); +assert.compareArray(names, ["get", "set", "enumerable", "configurable"]); var proxy = new Proxy({}, { defineProperty(target, key, desc) { var names = Object.getOwnPropertyNames(desc); - assert.deepEqual(names, ["set", "configurable"]); + assert.compareArray(names, ["set", "configurable"]); return true; } }); diff --git a/JSTests/test262/test/staging/sm/object/propertyIsEnumerable-proxy.js b/JSTests/test262/test/staging/sm/object/propertyIsEnumerable-proxy.js index 5ac10bb528593..772dbbb9f8543 100644 --- a/JSTests/test262/test/staging/sm/object/propertyIsEnumerable-proxy.js +++ b/JSTests/test262/test/staging/sm/object/propertyIsEnumerable-proxy.js @@ -2,12 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, deepEqual.js] -flags: - - noStrict +includes: [compareArray.js] description: | pending esid: pending +features: [Symbol] ---*/ /* Any copyright is dedicated to the Public Domain. * http://creativecommons.org/publicdomain/zero/1.0/ */ @@ -31,39 +30,36 @@ function logProxy(object) { return {proxy, log}; } -var properties = ["string-property"]; -if (typeof Symbol === 'function') - properties.push(Symbol("symbol-property")); +var properties = ["string-property", Symbol("symbol-property")]; for (var property of properties) { // Test 1: property is not present on object var {proxy, log} = logProxy({}); var result = Object.prototype.propertyIsEnumerable.call(proxy, property); assert.sameValue(result, false); - assert.deepEqual(log, [property]); + assert.compareArray(log, [property]); // Test 2: property is present on object and enumerable var {proxy, log} = logProxy({[property]: 0}); var result = Object.prototype.propertyIsEnumerable.call(proxy, property); assert.sameValue(result, true); - assert.deepEqual(log, [property]); + assert.compareArray(log, [property]); // Test 3: property is present on object, but not enumerable var {proxy, log} = logProxy(Object.defineProperty({[property]: 0}, property, {enumerable: false})); var result = Object.prototype.propertyIsEnumerable.call(proxy, property); assert.sameValue(result, false); - assert.deepEqual(log, [property]); + assert.compareArray(log, [property]); // Test 4: property is present on prototype object var {proxy, log} = logProxy(Object.create({[property]: 0})); var result = Object.prototype.propertyIsEnumerable.call(proxy, property); assert.sameValue(result, false); - assert.deepEqual(log, [property]); + assert.compareArray(log, [property]); // Test 5: property is present on prototype object, prototype is proxy object var {proxy, log} = logProxy({[property]: 0}); var result = Object.prototype.propertyIsEnumerable.call(Object.create(proxy), property); assert.sameValue(result, false); - assert.deepEqual(log, []); + assert.compareArray(log, []); } - diff --git a/JSTests/test262/test/staging/sm/object/propertyIsEnumerable.js b/JSTests/test262/test/staging/sm/object/propertyIsEnumerable.js index f1a8eced0cba6..7302965d2fc53 100644 --- a/JSTests/test262/test/staging/sm/object/propertyIsEnumerable.js +++ b/JSTests/test262/test/staging/sm/object/propertyIsEnumerable.js @@ -4,41 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Object.prototype.propertyIsEnumerable +info: bugzilla.mozilla.org/show_bug.cgi?id=619283 esid: pending ---*/ -var gTestfile = 'propertyIsEnumerable.js'; -var BUGNUMBER = 619283; -var summary = "Object.prototype.propertyIsEnumerable"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ - -function expectThrowError(errorCtor, fun) -{ - try - { - var r = fun(); - throw "didn't throw TypeError, returned " + r; - } - catch (e) - { - assert.sameValue(e instanceof errorCtor, true, - "didn't throw " + errorCtor.prototype.name + ", got: " + e); - } -} - -function expectThrowTypeError(fun) -{ - expectThrowError(TypeError, fun); -} function withToString(fun) { @@ -55,106 +25,106 @@ var propertyIsEnumerable = Object.prototype.propertyIsEnumerable; /* * 1. Let P be ToString(V). */ -expectThrowError(ReferenceError, function() +assert.throws(ReferenceError, function() { propertyIsEnumerable(withToString(function() { fahslkjdfhlkjdsl; })); }); -expectThrowError(ReferenceError, function() +assert.throws(ReferenceError, function() { propertyIsEnumerable.call(null, withToString(function() { fahslkjdfhlkjdsl; })); }); -expectThrowError(ReferenceError, function() +assert.throws(ReferenceError, function() { propertyIsEnumerable.call(undefined, withToString(function() { fahslkjdfhlkjdsl; })); }); -expectThrowError(ReferenceError, function() +assert.throws(ReferenceError, function() { propertyIsEnumerable(withValueOf(function() { fahslkjdfhlkjdsl; })); }); -expectThrowError(ReferenceError, function() +assert.throws(ReferenceError, function() { propertyIsEnumerable.call(null, withValueOf(function() { fahslkjdfhlkjdsl; })); }); -expectThrowError(ReferenceError, function() +assert.throws(ReferenceError, function() { propertyIsEnumerable.call(undefined, withValueOf(function() { fahslkjdfhlkjdsl; })); }); -expectThrowError(SyntaxError, function() +assert.throws(SyntaxError, function() { propertyIsEnumerable(withToString(function() { eval("}"); })); }); -expectThrowError(SyntaxError, function() +assert.throws(SyntaxError, function() { propertyIsEnumerable.call(null, withToString(function() { eval("}"); })); }); -expectThrowError(SyntaxError, function() +assert.throws(SyntaxError, function() { propertyIsEnumerable.call(undefined, withToString(function() { eval("}"); })); }); -expectThrowError(SyntaxError, function() +assert.throws(SyntaxError, function() { propertyIsEnumerable(withValueOf(function() { eval("}"); })); }); -expectThrowError(SyntaxError, function() +assert.throws(SyntaxError, function() { propertyIsEnumerable.call(null, withValueOf(function() { eval("}"); })); }); -expectThrowError(SyntaxError, function() +assert.throws(SyntaxError, function() { propertyIsEnumerable.call(undefined, withValueOf(function() { eval("}"); })); }); -expectThrowError(RangeError, function() +assert.throws(RangeError, function() { propertyIsEnumerable(withToString(function() { [].length = -1; })); }); -expectThrowError(RangeError, function() +assert.throws(RangeError, function() { propertyIsEnumerable.call(null, withToString(function() { [].length = -1; })); }); -expectThrowError(RangeError, function() +assert.throws(RangeError, function() { propertyIsEnumerable.call(undefined, withToString(function() { [].length = -1; })); }); -expectThrowError(RangeError, function() +assert.throws(RangeError, function() { propertyIsEnumerable(withValueOf(function() { [].length = -1; })); }); -expectThrowError(RangeError, function() +assert.throws(RangeError, function() { propertyIsEnumerable.call(null, withValueOf(function() { [].length = -1; })); }); -expectThrowError(RangeError, function() +assert.throws(RangeError, function() { propertyIsEnumerable.call(undefined, withValueOf(function() { [].length = -1; })); }); -expectThrowError(RangeError, function() +assert.throws(RangeError, function() { propertyIsEnumerable(withToString(function() { [].length = 0.7; })); }); -expectThrowError(RangeError, function() +assert.throws(RangeError, function() { propertyIsEnumerable.call(null, withToString(function() { [].length = 0.7; })); }); -expectThrowError(RangeError, function() +assert.throws(RangeError, function() { propertyIsEnumerable.call(undefined, withToString(function() { [].length = 0.7; })); }); -expectThrowError(RangeError, function() +assert.throws(RangeError, function() { propertyIsEnumerable(withValueOf(function() { [].length = 0.7; })); }); -expectThrowError(RangeError, function() +assert.throws(RangeError, function() { propertyIsEnumerable.call(null, withValueOf(function() { [].length = 0.7; })); }); -expectThrowError(RangeError, function() +assert.throws(RangeError, function() { propertyIsEnumerable.call(undefined, withValueOf(function() { [].length = 0.7; })); }); @@ -163,19 +133,19 @@ expectThrowError(RangeError, function() * 2. Let O be the result of calling ToObject passing the this value as the * argument. */ -expectThrowTypeError(function() { propertyIsEnumerable("s"); }); -expectThrowTypeError(function() { propertyIsEnumerable.call(null, "s"); }); -expectThrowTypeError(function() { propertyIsEnumerable.call(undefined, "s"); }); -expectThrowTypeError(function() { propertyIsEnumerable(true); }); -expectThrowTypeError(function() { propertyIsEnumerable.call(null, true); }); -expectThrowTypeError(function() { propertyIsEnumerable.call(undefined, true); }); -expectThrowTypeError(function() { propertyIsEnumerable(NaN); }); -expectThrowTypeError(function() { propertyIsEnumerable.call(null, NaN); }); -expectThrowTypeError(function() { propertyIsEnumerable.call(undefined, NaN); }); - -expectThrowTypeError(function() { propertyIsEnumerable({}); }); -expectThrowTypeError(function() { propertyIsEnumerable.call(null, {}); }); -expectThrowTypeError(function() { propertyIsEnumerable.call(undefined, {}); }); +assert.throws(TypeError, function() { propertyIsEnumerable("s"); }); +assert.throws(TypeError, function() { propertyIsEnumerable.call(null, "s"); }); +assert.throws(TypeError, function() { propertyIsEnumerable.call(undefined, "s"); }); +assert.throws(TypeError, function() { propertyIsEnumerable(true); }); +assert.throws(TypeError, function() { propertyIsEnumerable.call(null, true); }); +assert.throws(TypeError, function() { propertyIsEnumerable.call(undefined, true); }); +assert.throws(TypeError, function() { propertyIsEnumerable(NaN); }); +assert.throws(TypeError, function() { propertyIsEnumerable.call(null, NaN); }); +assert.throws(TypeError, function() { propertyIsEnumerable.call(undefined, NaN); }); + +assert.throws(TypeError, function() { propertyIsEnumerable({}); }); +assert.throws(TypeError, function() { propertyIsEnumerable.call(null, {}); }); +assert.throws(TypeError, function() { propertyIsEnumerable.call(undefined, {}); }); /* * 3. Let desc be the result of calling the [[GetOwnProperty]] internal method @@ -190,7 +160,7 @@ assert.sameValue(propertyIsEnumerable.call(true, "toString"), false); assert.sameValue(propertyIsEnumerable.call({}, "__proto__"), false); assert.sameValue(propertyIsEnumerable.call(Object, "getOwnPropertyDescriptor"), false); -assert.sameValue(propertyIsEnumerable.call(this, "expectThrowTypeError"), true); +assert.sameValue(propertyIsEnumerable.call(this, "withToString"), true); assert.sameValue(propertyIsEnumerable.call("s", "length"), false); assert.sameValue(propertyIsEnumerable.call("s", 0), true); assert.sameValue(propertyIsEnumerable.call(Number, "MAX_VALUE"), false); @@ -198,7 +168,3 @@ assert.sameValue(propertyIsEnumerable.call({ x: 9 }, "x"), true); assert.sameValue(propertyIsEnumerable.call(function() { }, "prototype"), false); assert.sameValue(propertyIsEnumerable.call(function() { }, "length"), false); assert.sameValue(propertyIsEnumerable.call(function() { "use strict"; }, "caller"), false); - -/******************************************************************************/ - -print("All tests passed!"); diff --git a/JSTests/test262/test/staging/sm/object/proto-property-change-writability-set.js b/JSTests/test262/test/staging/sm/object/proto-property-change-writability-set.js index 9f417702573b9..360aeddea07e4 100644 --- a/JSTests/test262/test/staging/sm/object/proto-property-change-writability-set.js +++ b/JSTests/test262/test/staging/sm/object/proto-property-change-writability-set.js @@ -4,24 +4,13 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | - pending + Don't assert anything about a shape from the property cache until it's known the cache entry matches +info: bugzilla.mozilla.org/show_bug.cgi?id=713944 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 713944; -var summary = - "Don't assert anything about a shape from the property cache until it's " + - "known the cache entry matches"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ var accDesc = { set: function() {} }; var dataDesc = { value: 3 }; @@ -56,4 +45,3 @@ for (var i = 0; i < 2; i++) } assert.sameValue(b.p1, 3); assert.sameValue(a.p1, 3); - diff --git a/JSTests/test262/test/staging/sm/object/regress-459405.js b/JSTests/test262/test/staging/sm/object/regress-459405.js index d72eccf846d33..1f189351d113a 100644 --- a/JSTests/test262/test/staging/sm/object/regress-459405.js +++ b/JSTests/test262/test/staging/sm/object/regress-459405.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/object/seal-proxy.js b/JSTests/test262/test/staging/sm/object/seal-proxy.js index 497cd924e330d..2148d3df1ee06 100644 --- a/JSTests/test262/test/staging/sm/object/seal-proxy.js +++ b/JSTests/test262/test/staging/sm/object/seal-proxy.js @@ -2,13 +2,12 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, deepEqual.js] -flags: - - noStrict +includes: [compareArray.js] description: | pending esid: pending ---*/ + /* Any copyright is dedicated to the Public Domain. * http://creativecommons.org/publicdomain/zero/1.0/ */ @@ -29,9 +28,8 @@ function logProxy(object = {}, handler = {}) { var {proxy, log} = logProxy(); Object.seal(proxy); -assert.deepEqual(log, ["preventExtensions", "ownKeys"]); +assert.compareArray(log, ["preventExtensions", "ownKeys"]); var {proxy, log} = logProxy(); Object.seal(Object.seal(proxy)); -assert.deepEqual(log, ["preventExtensions", "ownKeys", "preventExtensions", "ownKeys"]); - +assert.compareArray(log, ["preventExtensions", "ownKeys", "preventExtensions", "ownKeys"]); diff --git a/JSTests/test262/test/staging/sm/object/seal.js b/JSTests/test262/test/staging/sm/object/seal.js index cdfa0da55bea0..41c87babd014a 100644 --- a/JSTests/test262/test/staging/sm/object/seal.js +++ b/JSTests/test262/test/staging/sm/object/seal.js @@ -4,24 +4,17 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Object.seal() should return its argument with no conversion when the argument is a primitive value +info: bugzilla.mozilla.org/show_bug.cgi?id=1075294 esid: pending +features: [Symbol] ---*/ -var BUGNUMBER = 1075294; -var summary = "Object.seal() should return its argument with no conversion when the argument is a primitive value"; -print(BUGNUMBER + ": " + summary); assert.sameValue(Object.seal(), undefined); assert.sameValue(Object.seal(undefined), undefined); assert.sameValue(Object.seal(null), null); assert.sameValue(Object.seal(1), 1); assert.sameValue(Object.seal("foo"), "foo"); assert.sameValue(Object.seal(true), true); -if (typeof Symbol === "function") { - assert.sameValue(Object.seal(Symbol.for("foo")), Symbol.for("foo")); -} - +assert.sameValue(Object.seal(Symbol.for("foo")), Symbol.for("foo")); diff --git a/JSTests/test262/test/staging/sm/object/setPrototypeOf-cross-realm-cycle.js b/JSTests/test262/test/staging/sm/object/setPrototypeOf-cross-realm-cycle.js index 6c9d848c3719b..2411d2e5d613a 100644 --- a/JSTests/test262/test/staging/sm/object/setPrototypeOf-cross-realm-cycle.js +++ b/JSTests/test262/test/staging/sm/object/setPrototypeOf-cross-realm-cycle.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending @@ -12,10 +9,10 @@ esid: pending // The cycle check in 9.1.2 [[SetPrototypeOf]] prevents cross-realm cycles // involving only ordinary objects. -var gw = createNewGlobal(); +var gw = $262.createRealm().global; var obj = {}; var w = gw.Object.create(obj); -assertThrowsInstanceOf(() => Object.setPrototypeOf(obj, w), TypeError); -assertThrowsInstanceOf(() => gw.Object.setPrototypeOf(obj, w), gw.TypeError); +assert.throws(TypeError, () => Object.setPrototypeOf(obj, w)); +assert.throws(gw.TypeError, () => gw.Object.setPrototypeOf(obj, w)); diff --git a/JSTests/test262/test/staging/sm/object/setPrototypeOf-same-value.js b/JSTests/test262/test/staging/sm/object/setPrototypeOf-same-value.js index 19e8bde546b4d..2fe113d27af00 100644 --- a/JSTests/test262/test/staging/sm/object/setPrototypeOf-same-value.js +++ b/JSTests/test262/test/staging/sm/object/setPrototypeOf-same-value.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/object/toLocaleString-01.js b/JSTests/test262/test/staging/sm/object/toLocaleString-01.js index 7609e50209d68..1965a910ee431 100644 --- a/JSTests/test262/test/staging/sm/object/toLocaleString-01.js +++ b/JSTests/test262/test/staging/sm/object/toLocaleString-01.js @@ -4,12 +4,10 @@ /*--- flags: - onlyStrict -includes: [sm/non262.js, sm/non262-shell.js] description: | pending esid: pending ---*/ -"use strict"; Object.defineProperty(String.prototype, "toString", { get() { @@ -19,4 +17,3 @@ Object.defineProperty(String.prototype, "toString", { } }) assert.sameValue(Object.prototype.toLocaleString.call("test"), "string"); - diff --git a/JSTests/test262/test/staging/sm/object/toLocaleString.js b/JSTests/test262/test/staging/sm/object/toLocaleString.js index 8c19b818df368..3744a5c2542ce 100644 --- a/JSTests/test262/test/staging/sm/object/toLocaleString.js +++ b/JSTests/test262/test/staging/sm/object/toLocaleString.js @@ -4,36 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Object.prototype.toLocaleString +info: bugzilla.mozilla.org/show_bug.cgi?id=653789 esid: pending ---*/ -var gTestfile = 'toLocaleString.js'; -var BUGNUMBER = 653789; -var summary = "Object.prototype.toLocaleString"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ - -function expectThrowTypeError(fun) -{ - try - { - var r = fun(); - throw "didn't throw TypeError, returned " + r; - } - catch (e) - { - assert.sameValue(e instanceof TypeError, true, - "didn't throw TypeError, got: " + e); - } -} var toLocaleString = Object.prototype.toLocaleString; @@ -41,10 +16,10 @@ var toLocaleString = Object.prototype.toLocaleString; * 1. Let O be the result of calling ToObject passing the this value as the * argument. */ -expectThrowTypeError(function() { toLocaleString.call(null); }); -expectThrowTypeError(function() { toLocaleString.call(undefined); }); -expectThrowTypeError(function() { toLocaleString.apply(null); }); -expectThrowTypeError(function() { toLocaleString.apply(undefined); }); +assert.throws(TypeError, function() { toLocaleString.call(null); }); +assert.throws(TypeError, function() { toLocaleString.call(undefined); }); +assert.throws(TypeError, function() { toLocaleString.apply(null); }); +assert.throws(TypeError, function() { toLocaleString.apply(undefined); }); /* @@ -63,27 +38,27 @@ catch (e) /* 3. If IsCallable(toString) is false, throw a TypeError exception. */ -expectThrowTypeError(function() { toLocaleString.call({ toString: 12 }); }); -expectThrowTypeError(function() { toLocaleString.call({ toString: 0.3423423452352e9 }); }); -expectThrowTypeError(function() { toLocaleString.call({ toString: undefined }); }); -expectThrowTypeError(function() { toLocaleString.call({ toString: false }); }); -expectThrowTypeError(function() { toLocaleString.call({ toString: [] }); }); -expectThrowTypeError(function() { toLocaleString.call({ toString: {} }); }); -expectThrowTypeError(function() { toLocaleString.call({ toString: new String }); }); -expectThrowTypeError(function() { toLocaleString.call({ toString: new Number(7.7) }); }); -expectThrowTypeError(function() { toLocaleString.call({ toString: new Boolean(true) }); }); -expectThrowTypeError(function() { toLocaleString.call({ toString: JSON }); }); - -expectThrowTypeError(function() { toLocaleString.call({ valueOf: 0, toString: 12 }); }); -expectThrowTypeError(function() { toLocaleString.call({ valueOf: 0, toString: 0.3423423452352e9 }); }); -expectThrowTypeError(function() { toLocaleString.call({ valueOf: 0, toString: undefined }); }); -expectThrowTypeError(function() { toLocaleString.call({ valueOf: 0, toString: false }); }); -expectThrowTypeError(function() { toLocaleString.call({ valueOf: 0, toString: [] }); }); -expectThrowTypeError(function() { toLocaleString.call({ valueOf: 0, toString: {} }); }); -expectThrowTypeError(function() { toLocaleString.call({ valueOf: 0, toString: new String }); }); -expectThrowTypeError(function() { toLocaleString.call({ valueOf: 0, toString: new Number(7.7) }); }); -expectThrowTypeError(function() { toLocaleString.call({ valueOf: 0, toString: new Boolean(true) }); }); -expectThrowTypeError(function() { toLocaleString.call({ valueOf: 0, toString: JSON }); }); +assert.throws(TypeError, function() { toLocaleString.call({ toString: 12 }); }); +assert.throws(TypeError, function() { toLocaleString.call({ toString: 0.3423423452352e9 }); }); +assert.throws(TypeError, function() { toLocaleString.call({ toString: undefined }); }); +assert.throws(TypeError, function() { toLocaleString.call({ toString: false }); }); +assert.throws(TypeError, function() { toLocaleString.call({ toString: [] }); }); +assert.throws(TypeError, function() { toLocaleString.call({ toString: {} }); }); +assert.throws(TypeError, function() { toLocaleString.call({ toString: new String }); }); +assert.throws(TypeError, function() { toLocaleString.call({ toString: new Number(7.7) }); }); +assert.throws(TypeError, function() { toLocaleString.call({ toString: new Boolean(true) }); }); +assert.throws(TypeError, function() { toLocaleString.call({ toString: JSON }); }); + +assert.throws(TypeError, function() { toLocaleString.call({ valueOf: 0, toString: 12 }); }); +assert.throws(TypeError, function() { toLocaleString.call({ valueOf: 0, toString: 0.3423423452352e9 }); }); +assert.throws(TypeError, function() { toLocaleString.call({ valueOf: 0, toString: undefined }); }); +assert.throws(TypeError, function() { toLocaleString.call({ valueOf: 0, toString: false }); }); +assert.throws(TypeError, function() { toLocaleString.call({ valueOf: 0, toString: [] }); }); +assert.throws(TypeError, function() { toLocaleString.call({ valueOf: 0, toString: {} }); }); +assert.throws(TypeError, function() { toLocaleString.call({ valueOf: 0, toString: new String }); }); +assert.throws(TypeError, function() { toLocaleString.call({ valueOf: 0, toString: new Number(7.7) }); }); +assert.throws(TypeError, function() { toLocaleString.call({ valueOf: 0, toString: new Boolean(true) }); }); +assert.throws(TypeError, function() { toLocaleString.call({ valueOf: 0, toString: JSON }); }); /* @@ -101,7 +76,3 @@ assert.sameValue(toLocaleString.call({ toString: function() { return obj; } }), assert.sameValue(toLocaleString.call({ toString: function() { return obj; }, valueOf: function() { return "abc"; } }), obj); - -/******************************************************************************/ - -print("All tests passed!"); diff --git a/JSTests/test262/test/staging/sm/object/toPrimitive-callers.js b/JSTests/test262/test/staging/sm/object/toPrimitive-callers.js index 87243abee9097..e66242886f183 100644 --- a/JSTests/test262/test/staging/sm/object/toPrimitive-callers.js +++ b/JSTests/test262/test/staging/sm/object/toPrimitive-callers.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/object/toPrimitive.js b/JSTests/test262/test/staging/sm/object/toPrimitive.js index 63e2ae756dfd1..ed73eb843b1b6 100644 --- a/JSTests/test262/test/staging/sm/object/toPrimitive.js +++ b/JSTests/test262/test/staging/sm/object/toPrimitive.js @@ -2,13 +2,14 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, deepEqual.js] +includes: [compareArray.js] flags: - noStrict description: | pending esid: pending ---*/ + // ES6 7.1.1 ToPrimitive(input [, PreferredType]) specifies a new extension // point in the language. Objects can override the behavior of ToPrimitive // somewhat by supporting the method obj[@@toPrimitive](hint). @@ -57,7 +58,7 @@ for (var constructor of [Boolean, Number, String, Symbol]) { assert.sameValue(Number(true), 1); assert.sameValue(Number(77.7), 77.7); assert.sameValue(Number("123"), 123); -assertThrowsInstanceOf(() => Number(Symbol.iterator), TypeError); +assert.throws(TypeError, () => Number(Symbol.iterator)); assert.sameValue(String(true), "true"); assert.sameValue(String(77.7), "77.7"); assert.sameValue(String("123"), "123"); @@ -68,9 +69,9 @@ assert.sameValue(ok, true); // delete the @@toPrimitive method from Symbol.prototype. delete Symbol.prototype[Symbol.toPrimitive]; var sym = Symbol("ok"); -assertThrowsInstanceOf(() => `${sym}`, TypeError); -assertThrowsInstanceOf(() => Number(sym), TypeError); -assertThrowsInstanceOf(() => "" + sym, TypeError); +assert.throws(TypeError, () => `${sym}`); +assert.throws(TypeError, () => Number(sym)); +assert.throws(TypeError, () => "" + sym); // However, having deleted that method, converting a Symbol wrapper object does // work: it calls Symbol.prototype.toString(). @@ -106,6 +107,5 @@ var handler = new Proxy({}, { } }); proxy = new Proxy(Object.create(null), handler); -assertThrowsInstanceOf(() => proxy == 0, TypeError); -assert.deepEqual(log, [Symbol.toPrimitive, "valueOf", "toString"]); - +assert.throws(TypeError, () => proxy == 0); +assert.compareArray(log, [Symbol.toPrimitive, "valueOf", "toString"]); diff --git a/JSTests/test262/test/staging/sm/object/vacuous-accessor-unqualified-name.js b/JSTests/test262/test/staging/sm/object/vacuous-accessor-unqualified-name.js index 463f5e1614e38..ab35dfa9c2f8c 100644 --- a/JSTests/test262/test/staging/sm/object/vacuous-accessor-unqualified-name.js +++ b/JSTests/test262/test/staging/sm/object/vacuous-accessor-unqualified-name.js @@ -4,29 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Using a name referring to a { get: undefined, set: undefined } descriptor shouldn't assert +info: bugzilla.mozilla.org/show_bug.cgi?id=560216 esid: pending ---*/ -var gTestfile = 'vacuous-accessor-unqualified-name.js'; -//----------------------------------------------------------------------------- -var BUGNUMBER = 560216; -var summary = - "Using a name referring to a { get: undefined, set: undefined } descriptor " + - "shouldn't assert"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ Object.defineProperty(this, "x", { set: undefined, configurable: true }); x; - -/******************************************************************************/ - -print("All tests passed!"); diff --git a/JSTests/test262/test/staging/sm/object/values-entries-indexed.js b/JSTests/test262/test/staging/sm/object/values-entries-indexed.js index 0bd10ee8c80c1..1f8ef30919316 100644 --- a/JSTests/test262/test/staging/sm/object/values-entries-indexed.js +++ b/JSTests/test262/test/staging/sm/object/values-entries-indexed.js @@ -2,9 +2,7 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, compareArray.js] -flags: - - noStrict +includes: [compareArray.js] description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/object/values-entries-lazy-props.js b/JSTests/test262/test/staging/sm/object/values-entries-lazy-props.js index 3b5f5f8fdff5b..cbf5b9557ce25 100644 --- a/JSTests/test262/test/staging/sm/object/values-entries-lazy-props.js +++ b/JSTests/test262/test/staging/sm/object/values-entries-lazy-props.js @@ -2,9 +2,7 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, compareArray.js] -flags: - - noStrict +includes: [compareArray.js] description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/object/values-entries-typedarray.js b/JSTests/test262/test/staging/sm/object/values-entries-typedarray.js index 273b454a59ba4..55dc1e668684d 100644 --- a/JSTests/test262/test/staging/sm/object/values-entries-typedarray.js +++ b/JSTests/test262/test/staging/sm/object/values-entries-typedarray.js @@ -2,48 +2,18 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js, compareArray.js] -flags: - - noStrict +includes: [compareArray.js] description: | pending esid: pending ---*/ + function assertSameEntries(actual, expected) { assert.sameValue(actual.length, expected.length); for (let i = 0; i < expected.length; ++i) assert.compareArray(actual[i], expected[i]); } -function throwsTypeError(fn) { - try { - fn(); - } catch (e) { - assert.sameValue(e instanceof TypeError, true); - return true; - } - return false; -} - -// Non-standard: Accessing elements of detached array buffers should throw, but -// this is currently not implemented. -const ACCESS_ON_DETACHED_ARRAY_BUFFER_THROWS = (() => { - let ta = new Int32Array(10); - $262.detachArrayBuffer(ta.buffer); - let throws = throwsTypeError(() => ta[0]); - // Ensure [[Get]] and [[GetOwnProperty]] return consistent results. - assert.sameValue(throwsTypeError(() => Object.getOwnPropertyDescriptor(ta, 0)), throws); - return throws; -})(); - -function maybeThrowOnDetached(fn, returnValue) { - if (ACCESS_ON_DETACHED_ARRAY_BUFFER_THROWS) { - assertThrowsInstanceOf(fn, TypeError); - return returnValue; - } - return fn(); -} - // Ensure Object.keys/values/entries work correctly on typed arrays. for (let len of [0, 1, 10]) { let array = new Array(len).fill(1); @@ -55,8 +25,7 @@ for (let len of [0, 1, 10]) { $262.detachArrayBuffer(ta.buffer); - assert.compareArray(maybeThrowOnDetached(() => Object.keys(ta), []), []); - assert.compareArray(maybeThrowOnDetached(() => Object.values(ta), []), []); - assertSameEntries(maybeThrowOnDetached(() => Object.entries(ta), []), []); + assert.compareArray(Object.keys(ta), []); + assert.compareArray(Object.values(ta), []); + assertSameEntries(Object.entries(ta), []); } - diff --git a/JSTests/test262/test/staging/sm/object/values.js b/JSTests/test262/test/staging/sm/object/values.js index b35ec38f3bf7c..ef4815a9154f9 100644 --- a/JSTests/test262/test/staging/sm/object/values.js +++ b/JSTests/test262/test/staging/sm/object/values.js @@ -4,97 +4,94 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js, compareArray.js] -flags: - - noStrict +includes: [compareArray.js] description: | pending esid: pending +features: [Symbol] ---*/ -if ("values" in Object) { - assert.sameValue(Object.values.length, 1); - - var o, values; - - o = { a: 3, b: 2 }; - values = Object.values(o); - assert.compareArray(values, [3, 2]); - - o = { get a() { return 17; }, b: 2 }; - values = Object.values(o), - assert.compareArray(values, [17, 2]); - - o = { __iterator__: function() { throw new Error("non-standard __iterator__ called?"); } }; - values = Object.values(o); - assert.compareArray(values, [o.__iterator__]); - - o = { a: 1, b: 2 }; - delete o.a; - o.a = 3; - values = Object.values(o); - assert.compareArray(values, [2, 3]); - - o = [0, 1, 2]; - values = Object.values(o); - assert.compareArray(values, [0, 1, 2]); - - o = /./.exec("abc"); - values = Object.values(o); - assert.compareArray(values, ["a", 0, "abc", undefined]); - - o = { a: 1, b: 2, c: 3 }; - delete o.b; - o.b = 5; - values = Object.values(o); - assert.compareArray(values, [1, 3, 5]); - - function f() { } - f.prototype.p = 1; - o = new f(); - o.g = 1; - values = Object.values(o); - assert.compareArray(values, [1]); - - var o = {get a() {delete this.b; return 1}, b: 2, c: 3}; - values = Object.values(o); - assert.compareArray(values, [1, 3]); - - assertThrowsInstanceOf(() => Object.values(), TypeError); - assertThrowsInstanceOf(() => Object.values(undefined), TypeError); - assertThrowsInstanceOf(() => Object.values(null), TypeError); - - assert.compareArray(Object.values(1), []); - assert.compareArray(Object.values(true), []); - if (typeof Symbol === "function") - assert.compareArray(Object.values(Symbol("foo")), []); - - assert.compareArray(Object.values("foo"), ["f", "o", "o"]); - - values = Object.values({ - get a(){ - Object.defineProperty(this, "b", {enumerable: false}); - return "A"; - }, - b: "B" - }); - assert.compareArray(values, ["A"]); - - let ownKeysCallCount = 0; - let getOwnPropertyDescriptorCalls = []; - let target = { a: 1, b: 2, c: 3 }; - o = new Proxy(target, { - ownKeys() { - ownKeysCallCount++; - return ["c", "a"]; - }, - getOwnPropertyDescriptor(target, key) { - getOwnPropertyDescriptorCalls.push(key); - return Object.getOwnPropertyDescriptor(target, key); - } - }); - values = Object.values(o); - assert.sameValue(ownKeysCallCount, 1); - assert.compareArray(values, [3, 1]); - assert.compareArray(getOwnPropertyDescriptorCalls, ["c", "a"]); -} +assert.sameValue("values" in Object, true); +assert.sameValue(Object.values.length, 1); + +var o, values; + +o = { a: 3, b: 2 }; +values = Object.values(o); +assert.compareArray(values, [3, 2]); + +o = { get a() { return 17; }, b: 2 }; +values = Object.values(o), +assert.compareArray(values, [17, 2]); + +o = { __iterator__: function() { throw new Error("non-standard __iterator__ called?"); } }; +values = Object.values(o); +assert.compareArray(values, [o.__iterator__]); + +o = { a: 1, b: 2 }; +delete o.a; +o.a = 3; +values = Object.values(o); +assert.compareArray(values, [2, 3]); + +o = [0, 1, 2]; +values = Object.values(o); +assert.compareArray(values, [0, 1, 2]); + +o = /./.exec("abc"); +values = Object.values(o); +assert.compareArray(values, ["a", 0, "abc", undefined]); + +o = { a: 1, b: 2, c: 3 }; +delete o.b; +o.b = 5; +values = Object.values(o); +assert.compareArray(values, [1, 3, 5]); + +function f() { } +f.prototype.p = 1; +o = new f(); +o.g = 1; +values = Object.values(o); +assert.compareArray(values, [1]); + +var o = {get a() {delete this.b; return 1}, b: 2, c: 3}; +values = Object.values(o); +assert.compareArray(values, [1, 3]); + +assert.throws(TypeError, () => Object.values()); +assert.throws(TypeError, () => Object.values(undefined)); +assert.throws(TypeError, () => Object.values(null)); + +assert.compareArray(Object.values(1), []); +assert.compareArray(Object.values(true), []); +assert.compareArray(Object.values(Symbol("foo")), []); + +assert.compareArray(Object.values("foo"), ["f", "o", "o"]); + +values = Object.values({ + get a(){ + Object.defineProperty(this, "b", {enumerable: false}); + return "A"; + }, + b: "B" +}); +assert.compareArray(values, ["A"]); + +let ownKeysCallCount = 0; +let getOwnPropertyDescriptorCalls = []; +let target = { a: 1, b: 2, c: 3 }; +o = new Proxy(target, { + ownKeys() { + ownKeysCallCount++; + return ["c", "a"]; + }, + getOwnPropertyDescriptor(target, key) { + getOwnPropertyDescriptorCalls.push(key); + return Object.getOwnPropertyDescriptor(target, key); + } +}); +values = Object.values(o); +assert.sameValue(ownKeysCallCount, 1); +assert.compareArray(values, [3, 1]); +assert.compareArray(getOwnPropertyDescriptorCalls, ["c", "a"]); diff --git a/JSTests/test262/test/staging/sm/regress/regress-10278.js b/JSTests/test262/test/staging/sm/regress/regress-10278.js index 2bfa22d0741d5..9d3bc34dbf1fb 100644 --- a/JSTests/test262/test/staging/sm/regress/regress-10278.js +++ b/JSTests/test262/test/staging/sm/regress/regress-10278.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/regress/regress-1383630.js b/JSTests/test262/test/staging/sm/regress/regress-1383630.js index 32be42c8457a0..73bf8087a1920 100644 --- a/JSTests/test262/test/staging/sm/regress/regress-1383630.js +++ b/JSTests/test262/test/staging/sm/regress/regress-1383630.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending @@ -24,27 +21,21 @@ esid: pending * proxies, it can be really hard to figure out what little assertion causes a * TypeError in the first place. */ -"use strict"; - -function assertThrowsTypeErrorIncludes(f, propStr, details) { - assertThrowsInstanceOfWithMessageCheck(f, TypeError, - message => message.includes(propStr) && (!details || message.includes(details))); -} const STR = "one", STR_NAME = `"one"`; const SYM = Symbol("two"), SYM_NAME = `'Symbol("two")'`; function errorHasPropertyTests(test) { - assertThrowsTypeErrorIncludes(() => test(STR), STR_NAME); - assertThrowsTypeErrorIncludes(() => test(SYM), SYM_NAME); + assert.throws(TypeError, () => test(STR)); + assert.throws(TypeError, () => test(SYM)); } function errorHasPropertyTestsWithDetails(test) { let [throwable, details] = test(STR); - assertThrowsTypeErrorIncludes(throwable, STR_NAME, details); + assert.throws(TypeError, throwable, details); [throwable, details] = test(SYM); - assertThrowsTypeErrorIncludes(throwable, SYM_NAME, details); + assert.throws(TypeError, throwable, details); } // getOwnPropertyDescriptor diff --git a/JSTests/test262/test/staging/sm/regress/regress-1507322-deep-weakmap.js b/JSTests/test262/test/staging/sm/regress/regress-1507322-deep-weakmap.js index 487a986ca0100..efa2572e1647d 100644 --- a/JSTests/test262/test/staging/sm/regress/regress-1507322-deep-weakmap.js +++ b/JSTests/test262/test/staging/sm/regress/regress-1507322-deep-weakmap.js @@ -2,16 +2,14 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending +features: [host-gc-required] ---*/ function TestGC2(m) { var head = new Object; - for (key = head, i = 0; i < 99999; i++, key = m.get(key)) { + for (var key = head, i = 0; i < 99999; i++, key = m.get(key)) { m.set(key, new Object); } $262.gc(); diff --git a/JSTests/test262/test/staging/sm/regress/regress-162392.js b/JSTests/test262/test/staging/sm/regress/regress-162392.js index 4b3105c4f487b..7bb30cb3671cb 100644 --- a/JSTests/test262/test/staging/sm/regress/regress-162392.js +++ b/JSTests/test262/test/staging/sm/regress/regress-162392.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/regress/regress-306794.js b/JSTests/test262/test/staging/sm/regress/regress-306794.js index cba185bae9f44..a92b700d1a1ab 100644 --- a/JSTests/test262/test/staging/sm/regress/regress-306794.js +++ b/JSTests/test262/test/staging/sm/regress/regress-306794.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/regress/regress-325925.js b/JSTests/test262/test/staging/sm/regress/regress-325925.js index e95ae17b71165..1884ac3ba4bb8 100644 --- a/JSTests/test262/test/staging/sm/regress/regress-325925.js +++ b/JSTests/test262/test/staging/sm/regress/regress-325925.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/regress/regress-373843.js b/JSTests/test262/test/staging/sm/regress/regress-373843.js index 10f4994882628..ad0a58f24ee80 100644 --- a/JSTests/test262/test/staging/sm/regress/regress-373843.js +++ b/JSTests/test262/test/staging/sm/regress/regress-373843.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/regress/regress-383682.js b/JSTests/test262/test/staging/sm/regress/regress-383682.js index 99c06cfcad035..cefe1d6ef886a 100644 --- a/JSTests/test262/test/staging/sm/regress/regress-383682.js +++ b/JSTests/test262/test/staging/sm/regress/regress-383682.js @@ -4,7 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | diff --git a/JSTests/test262/test/staging/sm/regress/regress-383902.js b/JSTests/test262/test/staging/sm/regress/regress-383902.js index 1d47aa9536bce..c71b7e5f3cec6 100644 --- a/JSTests/test262/test/staging/sm/regress/regress-383902.js +++ b/JSTests/test262/test/staging/sm/regress/regress-383902.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/regress/regress-410852.js b/JSTests/test262/test/staging/sm/regress/regress-410852.js index be26fe9e7ad4f..554a17e39c045 100644 --- a/JSTests/test262/test/staging/sm/regress/regress-410852.js +++ b/JSTests/test262/test/staging/sm/regress/regress-410852.js @@ -4,33 +4,12 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Valgrind errors in jsemit.cpp +info: bugzilla.mozilla.org/show_bug.cgi?id=410852 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 410852; -var summary = 'Valgrind errors in jsemit.cpp'; - -//----------------------------------------------------------------------------- -test(); -//----------------------------------------------------------------------------- - -function test() -{ - print('Note: You must run this test under valgrind to determine if it passes'); - - try - { - eval('function(){if(t)'); - } - catch(ex) - { - assert.sameValue(ex instanceof SyntaxError, true, "wrong error: " + ex); - } - -} +assert.throws(SyntaxError, function() { + eval('function(){if(t)'); +}); diff --git a/JSTests/test262/test/staging/sm/regress/regress-428366.js b/JSTests/test262/test/staging/sm/regress/regress-428366.js index 6ff925ef34c07..01ed3d33ac40f 100644 --- a/JSTests/test262/test/staging/sm/regress/regress-428366.js +++ b/JSTests/test262/test/staging/sm/regress/regress-428366.js @@ -4,7 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | diff --git a/JSTests/test262/test/staging/sm/regress/regress-441477-01.js b/JSTests/test262/test/staging/sm/regress/regress-441477-01.js index d4a1ce32fdbe8..1c96693dbc890 100644 --- a/JSTests/test262/test/staging/sm/regress/regress-441477-01.js +++ b/JSTests/test262/test/staging/sm/regress/regress-441477-01.js @@ -4,15 +4,12 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending ---*/ //----------------------------------------------------------------------------- -var BUGNUMBER = 441477-01; +var BUGNUMBER = 441477; var summary = ''; var actual = 'No Exception'; var expect = 'No Exception'; @@ -26,12 +23,12 @@ function test() { try { - for (i = 0; i < 5;) - { - if (i > 5) - throw "bad"; - i++; - continue; + for (var i = 0; i < 5;) + { + if (i > 5) + throw "bad"; + i++; + continue; } } catch(ex) diff --git a/JSTests/test262/test/staging/sm/regress/regress-449627.js b/JSTests/test262/test/staging/sm/regress/regress-449627.js index 89d0d19fd654b..a741f8c8b11e8 100644 --- a/JSTests/test262/test/staging/sm/regress/regress-449627.js +++ b/JSTests/test262/test/staging/sm/regress/regress-449627.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending @@ -22,14 +19,14 @@ var expect = 'No Crash'; if (typeof navigator == 'undefined') { - navigator = { + var navigator = { userAgent: "Firefox", vendor: "Mozilla", platform: "Mac" }; } -global = this; +var global = this; var BrowserDetect = { init: function _init() diff --git a/JSTests/test262/test/staging/sm/regress/regress-449666.js b/JSTests/test262/test/staging/sm/regress/regress-449666.js index 673c9e7b04e05..0e7682c95bbe5 100644 --- a/JSTests/test262/test/staging/sm/regress/regress-449666.js +++ b/JSTests/test262/test/staging/sm/regress/regress-449666.js @@ -4,23 +4,18 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | - pending + Do not assert: JSSTRING_IS_FLAT(str_) +info: bugzilla.mozilla.org/show_bug.cgi?id=449666 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 449666; -var summary = 'Do not assert: JSSTRING_IS_FLAT(str_)'; + var actual = ''; var expect = ''; - -//----------------------------------------------------------------------------- test(); -//----------------------------------------------------------------------------- function test() { @@ -51,7 +46,6 @@ function test() d=d[c[e]]; } d[c[c.length-1]]=b; - print("hi"); } function T(a){return "hmm"} @@ -61,5 +55,5 @@ function test() } - assert.sameValue(expect, actual, summary); + assert.sameValue(expect, actual); } diff --git a/JSTests/test262/test/staging/sm/regress/regress-452189.js b/JSTests/test262/test/staging/sm/regress/regress-452189.js index b102fc66dff81..88d9bf909c405 100644 --- a/JSTests/test262/test/staging/sm/regress/regress-452189.js +++ b/JSTests/test262/test/staging/sm/regress/regress-452189.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/regress/regress-452498-051.js b/JSTests/test262/test/staging/sm/regress/regress-452498-051.js index 5f3eee88e2e85..8455345f812cd 100644 --- a/JSTests/test262/test/staging/sm/regress/regress-452498-051.js +++ b/JSTests/test262/test/staging/sm/regress/regress-452498-051.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/regress/regress-452498-053.js b/JSTests/test262/test/staging/sm/regress/regress-452498-053.js index 5f9e0e13738e0..be62a74d5eca4 100644 --- a/JSTests/test262/test/staging/sm/regress/regress-452498-053.js +++ b/JSTests/test262/test/staging/sm/regress/regress-452498-053.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/regress/regress-452498-079.js b/JSTests/test262/test/staging/sm/regress/regress-452498-079.js index 100ac82895934..b7cf5282beb65 100644 --- a/JSTests/test262/test/staging/sm/regress/regress-452498-079.js +++ b/JSTests/test262/test/staging/sm/regress/regress-452498-079.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/regress/regress-459085.js b/JSTests/test262/test/staging/sm/regress/regress-459085.js index 787163215e8d9..7b0ad8f1f9133 100644 --- a/JSTests/test262/test/staging/sm/regress/regress-459085.js +++ b/JSTests/test262/test/staging/sm/regress/regress-459085.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/regress/regress-469625-02.js b/JSTests/test262/test/staging/sm/regress/regress-469625-02.js index c836a7232f6b3..a72867ca855f2 100644 --- a/JSTests/test262/test/staging/sm/regress/regress-469625-02.js +++ b/JSTests/test262/test/staging/sm/regress/regress-469625-02.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/regress/regress-469625-03.js b/JSTests/test262/test/staging/sm/regress/regress-469625-03.js index c75d08e35b867..e2ed9455cd747 100644 --- a/JSTests/test262/test/staging/sm/regress/regress-469625-03.js +++ b/JSTests/test262/test/staging/sm/regress/regress-469625-03.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending @@ -14,22 +11,8 @@ esid: pending //----------------------------------------------------------------------------- var BUGNUMBER = 469625; var summary = 'Do not assert: script->objectsOffset != 0'; -var actual = ''; -var expect = ''; -//----------------------------------------------------------------------------- -test(); -//----------------------------------------------------------------------------- - -function test() -{ - function f(x) { - var [a, b, [c0, c1]] = [x, x, x]; - } - assertThrowsInstanceOfWithMessageCheck( - () => f(null), - TypeError, - message => /.*\[\.\.\.\]\[Symbol.iterator\]\(\)\.next\(\)\.value is null/.exec(message) !== null - ); +function f(x) { + var [a, b, [c0, c1]] = [x, x, x]; } - +assert.throws(TypeError, () => f(null)); diff --git a/JSTests/test262/test/staging/sm/regress/regress-469758.js b/JSTests/test262/test/staging/sm/regress/regress-469758.js index f0c16224f03b7..23039bcd62cae 100644 --- a/JSTests/test262/test/staging/sm/regress/regress-469758.js +++ b/JSTests/test262/test/staging/sm/regress/regress-469758.js @@ -4,18 +4,16 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending ---*/ -assertThrowsInstanceOfWithMessageCheck( + +assert.throws( + TypeError, () => { {let i=1} {let j=1; [][j][2]} - }, - TypeError, - message => message.endsWith("[][j] is undefined")); + } +); diff --git a/JSTests/test262/test/staging/sm/regress/regress-470758-01.js b/JSTests/test262/test/staging/sm/regress/regress-470758-01.js index 9c7fc5b27f91d..8d365478549c3 100644 --- a/JSTests/test262/test/staging/sm/regress/regress-470758-01.js +++ b/JSTests/test262/test/staging/sm/regress/regress-470758-01.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/regress/regress-470758-02.js b/JSTests/test262/test/staging/sm/regress/regress-470758-02.js index f1151a276f823..e89e7368ebeae 100644 --- a/JSTests/test262/test/staging/sm/regress/regress-470758-02.js +++ b/JSTests/test262/test/staging/sm/regress/regress-470758-02.js @@ -4,29 +4,22 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Promote evald initializer into upvar +info: bugzilla.mozilla.org/show_bug.cgi?id=470758 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 470758; -var summary = 'Promote evald initializer into upvar'; + var actual = ''; var expect = ''; - -//----------------------------------------------------------------------------- test(); -//----------------------------------------------------------------------------- function test() { expect = 5; - (function(){var x;eval("for (x = 0; x < 5; x++);");print(actual = x);})(); + (function(){var x;eval("for (x = 0; x < 5; x++);"); actual = x;})(); - assert.sameValue(expect, actual, summary); + assert.sameValue(expect, actual); } diff --git a/JSTests/test262/test/staging/sm/regress/regress-499524.js b/JSTests/test262/test/staging/sm/regress/regress-499524.js index 289996ab69845..f7b4d6ac6fb32 100644 --- a/JSTests/test262/test/staging/sm/regress/regress-499524.js +++ b/JSTests/test262/test/staging/sm/regress/regress-499524.js @@ -4,22 +4,21 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | pending esid: pending ---*/ -function isSyntaxError(code) { - try { + +function throwsNoSyntaxError(code) { + eval(code); +}; + +function throwsSyntaxError(code) { + assert.throws(SyntaxError, function() { eval(code); - return false; - } catch (exception) { - if (SyntaxError.prototype.isPrototypeOf(exception)) - return true; - throw exception; - }; + }); }; /* @@ -28,28 +27,27 @@ function isSyntaxError(code) { * user has opted in to a modicum of sanity, and we forbid duplicate * parameter names. */ -assert.sameValue(isSyntaxError("function f(x,x){}"), false); - -assert.sameValue(isSyntaxError("function f(x,[x]){})"), true); -assert.sameValue(isSyntaxError("function f(x,{y:x}){})"), true); -assert.sameValue(isSyntaxError("function f(x,{x}){})"), true); - -assert.sameValue(isSyntaxError("function f([x],x){})"), true); -assert.sameValue(isSyntaxError("function f({y:x},x){})"), true); -assert.sameValue(isSyntaxError("function f({x},x){})"), true); - -assert.sameValue(isSyntaxError("function f([x,x]){}"), true); -assert.sameValue(isSyntaxError("function f({x,x}){}"), true); -assert.sameValue(isSyntaxError("function f({y:x,z:x}){}"), true); - -assert.sameValue(isSyntaxError("function f(x,x,[y]){}"), true); -assert.sameValue(isSyntaxError("function f(x,x,{y}){}"), true); -assert.sameValue(isSyntaxError("function f([y],x,x){}"), true); -assert.sameValue(isSyntaxError("function f({y},x,x){}"), true); - -assert.sameValue(isSyntaxError("function f(a,b,c,d,e,f,g,h,b,[y]){}"), true); -assert.sameValue(isSyntaxError("function f([y],a,b,c,d,e,f,g,h,a){}"), true); -assert.sameValue(isSyntaxError("function f([a],b,c,d,e,f,g,h,i,a){}"), true); -assert.sameValue(isSyntaxError("function f(a,b,c,d,e,f,g,h,i,[a]){}"), true); -assert.sameValue(isSyntaxError("function f(a,b,c,d,e,f,g,h,i,[a]){}"), true); - +throwsNoSyntaxError("function f(x,x){}"); + +throwsSyntaxError("function f(x,[x]){})"); +throwsSyntaxError("function f(x,{y:x}){})"); +throwsSyntaxError("function f(x,{x}){})"); + +throwsSyntaxError("function f([x],x){})"); +throwsSyntaxError("function f({y:x},x){})"); +throwsSyntaxError("function f({x},x){})"); + +throwsSyntaxError("function f([x,x]){}"); +throwsSyntaxError("function f({x,x}){}"); +throwsSyntaxError("function f({y:x,z:x}){}"); + +throwsSyntaxError("function f(x,x,[y]){}"); +throwsSyntaxError("function f(x,x,{y}){}"); +throwsSyntaxError("function f([y],x,x){}"); +throwsSyntaxError("function f({y},x,x){}"); + +throwsSyntaxError("function f(a,b,c,d,e,f,g,h,b,[y]){}"); +throwsSyntaxError("function f([y],a,b,c,d,e,f,g,h,a){}"); +throwsSyntaxError("function f([a],b,c,d,e,f,g,h,i,a){}"); +throwsSyntaxError("function f(a,b,c,d,e,f,g,h,i,[a]){}"); +throwsSyntaxError("function f(a,b,c,d,e,f,g,h,i,[a]){}"); diff --git a/JSTests/test262/test/staging/sm/regress/regress-500528.js b/JSTests/test262/test/staging/sm/regress/regress-500528.js index ce8f8b9a266a9..166ce92e50b2e 100644 --- a/JSTests/test262/test/staging/sm/regress/regress-500528.js +++ b/JSTests/test262/test/staging/sm/regress/regress-500528.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/regress/regress-503860.js b/JSTests/test262/test/staging/sm/regress/regress-503860.js index d91d9bb524b1d..622f68546736c 100644 --- a/JSTests/test262/test/staging/sm/regress/regress-503860.js +++ b/JSTests/test262/test/staging/sm/regress/regress-503860.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/regress/regress-530879.js b/JSTests/test262/test/staging/sm/regress/regress-530879.js index 0a8d73288e70e..49243f2a8ec4e 100644 --- a/JSTests/test262/test/staging/sm/regress/regress-530879.js +++ b/JSTests/test262/test/staging/sm/regress/regress-530879.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/regress/regress-541255-3.js b/JSTests/test262/test/staging/sm/regress/regress-541255-3.js index 26ae3d85a54af..ab3c704ba43d2 100644 --- a/JSTests/test262/test/staging/sm/regress/regress-541255-3.js +++ b/JSTests/test262/test/staging/sm/regress/regress-541255-3.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/regress/regress-541455.js b/JSTests/test262/test/staging/sm/regress/regress-541455.js index 58deef0a4418f..90be84f972baa 100644 --- a/JSTests/test262/test/staging/sm/regress/regress-541455.js +++ b/JSTests/test262/test/staging/sm/regress/regress-541455.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/regress/regress-551763-0.js b/JSTests/test262/test/staging/sm/regress/regress-551763-0.js index b502941b36f35..efc62a31efc08 100644 --- a/JSTests/test262/test/staging/sm/regress/regress-551763-0.js +++ b/JSTests/test262/test/staging/sm/regress/regress-551763-0.js @@ -2,7 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | diff --git a/JSTests/test262/test/staging/sm/regress/regress-551763-1.js b/JSTests/test262/test/staging/sm/regress/regress-551763-1.js index 8887b26631f6b..e1a85bd01fa46 100644 --- a/JSTests/test262/test/staging/sm/regress/regress-551763-1.js +++ b/JSTests/test262/test/staging/sm/regress/regress-551763-1.js @@ -2,7 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | diff --git a/JSTests/test262/test/staging/sm/regress/regress-551763-2.js b/JSTests/test262/test/staging/sm/regress/regress-551763-2.js index 66c5d070aaf8d..13262cb111941 100644 --- a/JSTests/test262/test/staging/sm/regress/regress-551763-2.js +++ b/JSTests/test262/test/staging/sm/regress/regress-551763-2.js @@ -2,7 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | diff --git a/JSTests/test262/test/staging/sm/regress/regress-552432.js b/JSTests/test262/test/staging/sm/regress/regress-552432.js index 0ca613c7f501e..be35fe822ec42 100644 --- a/JSTests/test262/test/staging/sm/regress/regress-552432.js +++ b/JSTests/test262/test/staging/sm/regress/regress-552432.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/regress/regress-553778.js b/JSTests/test262/test/staging/sm/regress/regress-553778.js index cdd943b8cc8ae..7683ee03e9427 100644 --- a/JSTests/test262/test/staging/sm/regress/regress-553778.js +++ b/JSTests/test262/test/staging/sm/regress/regress-553778.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/regress/regress-554955-1.js b/JSTests/test262/test/staging/sm/regress/regress-554955-1.js index 6c57421c20507..a3970ed7682fd 100644 --- a/JSTests/test262/test/staging/sm/regress/regress-554955-1.js +++ b/JSTests/test262/test/staging/sm/regress/regress-554955-1.js @@ -4,7 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | diff --git a/JSTests/test262/test/staging/sm/regress/regress-554955-2.js b/JSTests/test262/test/staging/sm/regress/regress-554955-2.js index f968e2fd833cd..ecbad87a8d794 100644 --- a/JSTests/test262/test/staging/sm/regress/regress-554955-2.js +++ b/JSTests/test262/test/staging/sm/regress/regress-554955-2.js @@ -4,7 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | diff --git a/JSTests/test262/test/staging/sm/regress/regress-554955-3.js b/JSTests/test262/test/staging/sm/regress/regress-554955-3.js index 91b04392ae0c2..c6d5f0c20f83a 100644 --- a/JSTests/test262/test/staging/sm/regress/regress-554955-3.js +++ b/JSTests/test262/test/staging/sm/regress/regress-554955-3.js @@ -4,7 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | diff --git a/JSTests/test262/test/staging/sm/regress/regress-554955-4.js b/JSTests/test262/test/staging/sm/regress/regress-554955-4.js index be67b09c216d6..d725b134a70dd 100644 --- a/JSTests/test262/test/staging/sm/regress/regress-554955-4.js +++ b/JSTests/test262/test/staging/sm/regress/regress-554955-4.js @@ -4,7 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | diff --git a/JSTests/test262/test/staging/sm/regress/regress-554955-5.js b/JSTests/test262/test/staging/sm/regress/regress-554955-5.js index dde178ea858f7..c95c9a126369d 100644 --- a/JSTests/test262/test/staging/sm/regress/regress-554955-5.js +++ b/JSTests/test262/test/staging/sm/regress/regress-554955-5.js @@ -4,7 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | diff --git a/JSTests/test262/test/staging/sm/regress/regress-554955-6.js b/JSTests/test262/test/staging/sm/regress/regress-554955-6.js index 3924ef990f4ec..3a9f495358738 100644 --- a/JSTests/test262/test/staging/sm/regress/regress-554955-6.js +++ b/JSTests/test262/test/staging/sm/regress/regress-554955-6.js @@ -4,7 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | diff --git a/JSTests/test262/test/staging/sm/regress/regress-559402-1.js b/JSTests/test262/test/staging/sm/regress/regress-559402-1.js index 252f0fd474699..b7332ff9c4ba1 100644 --- a/JSTests/test262/test/staging/sm/regress/regress-559402-1.js +++ b/JSTests/test262/test/staging/sm/regress/regress-559402-1.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/regress/regress-559402-2.js b/JSTests/test262/test/staging/sm/regress/regress-559402-2.js index 9cfe6289e9627..23c12f58fc1c0 100644 --- a/JSTests/test262/test/staging/sm/regress/regress-559402-2.js +++ b/JSTests/test262/test/staging/sm/regress/regress-559402-2.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/regress/regress-559438.js b/JSTests/test262/test/staging/sm/regress/regress-559438.js index 5abe41cb09929..dc513f772f0d3 100644 --- a/JSTests/test262/test/staging/sm/regress/regress-559438.js +++ b/JSTests/test262/test/staging/sm/regress/regress-559438.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/regress/regress-560998-1.js b/JSTests/test262/test/staging/sm/regress/regress-560998-1.js index adbeebf596779..f9a7d661d110b 100644 --- a/JSTests/test262/test/staging/sm/regress/regress-560998-1.js +++ b/JSTests/test262/test/staging/sm/regress/regress-560998-1.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/regress/regress-560998-2.js b/JSTests/test262/test/staging/sm/regress/regress-560998-2.js index 02a512bba2811..0c7e94fc4eeda 100644 --- a/JSTests/test262/test/staging/sm/regress/regress-560998-2.js +++ b/JSTests/test262/test/staging/sm/regress/regress-560998-2.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/regress/regress-561031.js b/JSTests/test262/test/staging/sm/regress/regress-561031.js index a5b7dd9584f28..e08d6f62b9083 100644 --- a/JSTests/test262/test/staging/sm/regress/regress-561031.js +++ b/JSTests/test262/test/staging/sm/regress/regress-561031.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/regress/regress-563221.js b/JSTests/test262/test/staging/sm/regress/regress-563221.js index f863e4d468668..8fef80e045408 100644 --- a/JSTests/test262/test/staging/sm/regress/regress-563221.js +++ b/JSTests/test262/test/staging/sm/regress/regress-563221.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/regress/regress-567152.js b/JSTests/test262/test/staging/sm/regress/regress-567152.js index ad0afd37757c2..4d980c9ef7863 100644 --- a/JSTests/test262/test/staging/sm/regress/regress-567152.js +++ b/JSTests/test262/test/staging/sm/regress/regress-567152.js @@ -4,7 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | diff --git a/JSTests/test262/test/staging/sm/regress/regress-569306.js b/JSTests/test262/test/staging/sm/regress/regress-569306.js index 5d8ba88564829..f7da467c7bfa3 100644 --- a/JSTests/test262/test/staging/sm/regress/regress-569306.js +++ b/JSTests/test262/test/staging/sm/regress/regress-569306.js @@ -2,7 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | diff --git a/JSTests/test262/test/staging/sm/regress/regress-571014.js b/JSTests/test262/test/staging/sm/regress/regress-571014.js index 284bb27e31d64..2d0453dd5d1e6 100644 --- a/JSTests/test262/test/staging/sm/regress/regress-571014.js +++ b/JSTests/test262/test/staging/sm/regress/regress-571014.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending @@ -15,29 +12,19 @@ var F, o; F = function () {}; F.prototype = new ArrayBuffer(1); o = new F(); -try { - o.byteLength; -} catch (ex) { - // o is not a platform object - assert.sameValue(ex instanceof TypeError, true); -} +assert.throws(TypeError, function() { + o.byteLength; +}); o = {}; o.__proto__ = new Int32Array(1); -try { - o.buffer.byteLength; -} catch (ex) { - // o is not a platform object - assert.sameValue(ex instanceof TypeError, true); -} +assert.throws(TypeError, function() { + o.buffer.byteLength; +}); F = function () {}; F.prototype = new Int32Array(1); o = new F(); -try { - o.slice(0, 1); - reportFailure("Expected an exception!"); -} catch (ex) { -} - -assert.sameValue("ok", "ok", "bug 571014"); +assert.throws(TypeError, function() { + o.slice(0, 1); +}); diff --git a/JSTests/test262/test/staging/sm/regress/regress-573875.js b/JSTests/test262/test/staging/sm/regress/regress-573875.js index 9284558b2f307..7abdc6a6ba935 100644 --- a/JSTests/test262/test/staging/sm/regress/regress-573875.js +++ b/JSTests/test262/test/staging/sm/regress/regress-573875.js @@ -4,26 +4,16 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending ---*/ + var o = {__iterator__:null, a:1, b:2, c:3} var expect = '__iterator__,a,b,c,'; var actual = ''; -try { - for (var i in o) - actual += i + ','; -} catch (e) { - actual = '' + e; - if (/invalid __iterator__ value/.test(actual) || - /null is not a function/.test(actual)) { - expect = actual; - } -} +for (var i in o) + actual += i + ','; assert.sameValue(expect, actual, "ok"); diff --git a/JSTests/test262/test/staging/sm/regress/regress-577648-1.js b/JSTests/test262/test/staging/sm/regress/regress-577648-1.js index bc072a6ecf260..c10a632d825c6 100644 --- a/JSTests/test262/test/staging/sm/regress/regress-577648-1.js +++ b/JSTests/test262/test/staging/sm/regress/regress-577648-1.js @@ -4,7 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | diff --git a/JSTests/test262/test/staging/sm/regress/regress-577648-2.js b/JSTests/test262/test/staging/sm/regress/regress-577648-2.js index 1f703c29d76e2..8baecb8478041 100644 --- a/JSTests/test262/test/staging/sm/regress/regress-577648-2.js +++ b/JSTests/test262/test/staging/sm/regress/regress-577648-2.js @@ -4,7 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | diff --git a/JSTests/test262/test/staging/sm/regress/regress-580544.js b/JSTests/test262/test/staging/sm/regress/regress-580544.js index 6d971cb9af4c5..0b614594f0afa 100644 --- a/JSTests/test262/test/staging/sm/regress/regress-580544.js +++ b/JSTests/test262/test/staging/sm/regress/regress-580544.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/regress/regress-583429.js b/JSTests/test262/test/staging/sm/regress/regress-583429.js index 3e796272197e1..c4820c2a1fde4 100644 --- a/JSTests/test262/test/staging/sm/regress/regress-583429.js +++ b/JSTests/test262/test/staging/sm/regress/regress-583429.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/regress/regress-584355.js b/JSTests/test262/test/staging/sm/regress/regress-584355.js index 52ffd77bbb5f2..c5b472b9ccd6f 100644 --- a/JSTests/test262/test/staging/sm/regress/regress-584355.js +++ b/JSTests/test262/test/staging/sm/regress/regress-584355.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/regress/regress-586482-1.js b/JSTests/test262/test/staging/sm/regress/regress-586482-1.js index a6d59b0d31330..ceb2a53b7cd67 100644 --- a/JSTests/test262/test/staging/sm/regress/regress-586482-1.js +++ b/JSTests/test262/test/staging/sm/regress/regress-586482-1.js @@ -4,7 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | diff --git a/JSTests/test262/test/staging/sm/regress/regress-586482-2.js b/JSTests/test262/test/staging/sm/regress/regress-586482-2.js index b69c725afe3df..6dbd8799ef1d2 100644 --- a/JSTests/test262/test/staging/sm/regress/regress-586482-2.js +++ b/JSTests/test262/test/staging/sm/regress/regress-586482-2.js @@ -4,7 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | diff --git a/JSTests/test262/test/staging/sm/regress/regress-586482-3.js b/JSTests/test262/test/staging/sm/regress/regress-586482-3.js index 1fab33856b9be..6d497fd01443e 100644 --- a/JSTests/test262/test/staging/sm/regress/regress-586482-3.js +++ b/JSTests/test262/test/staging/sm/regress/regress-586482-3.js @@ -4,7 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | diff --git a/JSTests/test262/test/staging/sm/regress/regress-586482-4.js b/JSTests/test262/test/staging/sm/regress/regress-586482-4.js index 234fb3f003897..0c240c68289cb 100644 --- a/JSTests/test262/test/staging/sm/regress/regress-586482-4.js +++ b/JSTests/test262/test/staging/sm/regress/regress-586482-4.js @@ -4,20 +4,19 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | pending esid: pending ---*/ + var expect, actual; var obj = { f: function() { expect = this.g; actual = arguments.callee.caller; - print("Ok"); } }; diff --git a/JSTests/test262/test/staging/sm/regress/regress-586482-5.js b/JSTests/test262/test/staging/sm/regress/regress-586482-5.js index 195f232b95d49..a9170bcf22b22 100644 --- a/JSTests/test262/test/staging/sm/regress/regress-586482-5.js +++ b/JSTests/test262/test/staging/sm/regress/regress-586482-5.js @@ -4,7 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | diff --git a/JSTests/test262/test/staging/sm/regress/regress-588339.js b/JSTests/test262/test/staging/sm/regress/regress-588339.js index cc53475b94137..593c3ccf582be 100644 --- a/JSTests/test262/test/staging/sm/regress/regress-588339.js +++ b/JSTests/test262/test/staging/sm/regress/regress-588339.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/regress/regress-591897.js b/JSTests/test262/test/staging/sm/regress/regress-591897.js index 29423792db18a..5ed698e25bf50 100644 --- a/JSTests/test262/test/staging/sm/regress/regress-591897.js +++ b/JSTests/test262/test/staging/sm/regress/regress-591897.js @@ -4,7 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | diff --git a/JSTests/test262/test/staging/sm/regress/regress-592202-3.js b/JSTests/test262/test/staging/sm/regress/regress-592202-3.js index dbefb916a5e98..692566ad80b14 100644 --- a/JSTests/test262/test/staging/sm/regress/regress-592202-3.js +++ b/JSTests/test262/test/staging/sm/regress/regress-592202-3.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/regress/regress-592202-4.js b/JSTests/test262/test/staging/sm/regress/regress-592202-4.js index bc1d4a1581e0e..d4173301b7625 100644 --- a/JSTests/test262/test/staging/sm/regress/regress-592202-4.js +++ b/JSTests/test262/test/staging/sm/regress/regress-592202-4.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/regress/regress-592556-c35.js b/JSTests/test262/test/staging/sm/regress/regress-592556-c35.js index 153ae2425a3b2..b69777152d98c 100644 --- a/JSTests/test262/test/staging/sm/regress/regress-592556-c35.js +++ b/JSTests/test262/test/staging/sm/regress/regress-592556-c35.js @@ -4,26 +4,24 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending +features: [host-gc-required] ---*/ - -var obj = {a: 0, b: 1, c: 2}; -delete obj.b; // switch to dictionary mode -Object.defineProperty(obj, 'g', - {get: function () { return -1; }, configurable: true}); -for (var i = 3; i < 20; i++) - obj['x' + i] = i; // get property table -for (var i = 3; i < 20; i++) - delete obj['x' + i]; // add to freelist -delete obj.g; // must update lastProp->freeslot, to avoid assertion - -// extra junk to try to hit the assertion, if freeslot is not updated -$262.gc(); -obj.d = 3; -obj.e = 4; - + +var obj = {a: 0, b: 1, c: 2}; +delete obj.b; // switch to dictionary mode +Object.defineProperty(obj, 'g', + {get: function () { return -1; }, configurable: true}); +for (var i = 3; i < 20; i++) + obj['x' + i] = i; // get property table +for (var i = 3; i < 20; i++) + delete obj['x' + i]; // add to freelist +delete obj.g; // must update lastProp->freeslot, to avoid assertion + +// extra junk to try to hit the assertion, if freeslot is not updated +$262.gc(); +obj.d = 3; +obj.e = 4; + diff --git a/JSTests/test262/test/staging/sm/regress/regress-593256.js b/JSTests/test262/test/staging/sm/regress/regress-593256.js index ef95906497d7e..2e6989d63b62c 100644 --- a/JSTests/test262/test/staging/sm/regress/regress-593256.js +++ b/JSTests/test262/test/staging/sm/regress/regress-593256.js @@ -4,7 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | diff --git a/JSTests/test262/test/staging/sm/regress/regress-595365-1.js b/JSTests/test262/test/staging/sm/regress/regress-595365-1.js index 12d41f3c5bde2..d2bc000adaa27 100644 --- a/JSTests/test262/test/staging/sm/regress/regress-595365-1.js +++ b/JSTests/test262/test/staging/sm/regress/regress-595365-1.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/regress/regress-596103.js b/JSTests/test262/test/staging/sm/regress/regress-596103.js index 539089207abe2..f13848e0b2c71 100644 --- a/JSTests/test262/test/staging/sm/regress/regress-596103.js +++ b/JSTests/test262/test/staging/sm/regress/regress-596103.js @@ -4,12 +4,10 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending +features: [host-gc-required] ---*/ for (var u = 0; u < 3; ++u) { var y = []; diff --git a/JSTests/test262/test/staging/sm/regress/regress-596805-1.js b/JSTests/test262/test/staging/sm/regress/regress-596805-1.js index 313d37638f631..7477f93673d8a 100644 --- a/JSTests/test262/test/staging/sm/regress/regress-596805-1.js +++ b/JSTests/test262/test/staging/sm/regress/regress-596805-1.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/regress/regress-596805-2.js b/JSTests/test262/test/staging/sm/regress/regress-596805-2.js index b8118c1e1ed5a..ea5cf8f084671 100644 --- a/JSTests/test262/test/staging/sm/regress/regress-596805-2.js +++ b/JSTests/test262/test/staging/sm/regress/regress-596805-2.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/regress/regress-597945-1.js b/JSTests/test262/test/staging/sm/regress/regress-597945-1.js index 773bb5411d40d..ed3b63d486ecc 100644 --- a/JSTests/test262/test/staging/sm/regress/regress-597945-1.js +++ b/JSTests/test262/test/staging/sm/regress/regress-597945-1.js @@ -4,7 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | diff --git a/JSTests/test262/test/staging/sm/regress/regress-597945-2.js b/JSTests/test262/test/staging/sm/regress/regress-597945-2.js index 947e69d986c8a..762acab02cf45 100644 --- a/JSTests/test262/test/staging/sm/regress/regress-597945-2.js +++ b/JSTests/test262/test/staging/sm/regress/regress-597945-2.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/regress/regress-598176.js b/JSTests/test262/test/staging/sm/regress/regress-598176.js index 60d5efd6d56a2..584721b6b16a3 100644 --- a/JSTests/test262/test/staging/sm/regress/regress-598176.js +++ b/JSTests/test262/test/staging/sm/regress/regress-598176.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending @@ -19,11 +16,11 @@ function make() { return r; } -r1 = make(); +var r1 = make(); assert.sameValue(r1.desc.get, r1.info.get); // Distinct evaluations of an object literal make distinct methods. -r2 = make(); +var r2 = make(); assert.sameValue(r1.desc.get === r2.desc.get, false); r1.info.get.foo = 42; diff --git a/JSTests/test262/test/staging/sm/regress/regress-600067.js b/JSTests/test262/test/staging/sm/regress/regress-600067.js index aaa9df46fe1f8..7043f64ef36e6 100644 --- a/JSTests/test262/test/staging/sm/regress/regress-600067.js +++ b/JSTests/test262/test/staging/sm/regress/regress-600067.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/regress/regress-601399.js b/JSTests/test262/test/staging/sm/regress/regress-601399.js index e1f8dd162480b..cea7638b39a93 100644 --- a/JSTests/test262/test/staging/sm/regress/regress-601399.js +++ b/JSTests/test262/test/staging/sm/regress/regress-601399.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/regress/regress-602621.js b/JSTests/test262/test/staging/sm/regress/regress-602621.js index 14be71b162fbe..a107369447a56 100644 --- a/JSTests/test262/test/staging/sm/regress/regress-602621.js +++ b/JSTests/test262/test/staging/sm/regress/regress-602621.js @@ -4,7 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | diff --git a/JSTests/test262/test/staging/sm/regress/regress-610026.js b/JSTests/test262/test/staging/sm/regress/regress-610026.js index 3e2fdf6fe2e37..b14a72b41dc43 100644 --- a/JSTests/test262/test/staging/sm/regress/regress-610026.js +++ b/JSTests/test262/test/staging/sm/regress/regress-610026.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/regress/regress-617405-1.js b/JSTests/test262/test/staging/sm/regress/regress-617405-1.js index 241caec6dac6d..2062aef0d611e 100644 --- a/JSTests/test262/test/staging/sm/regress/regress-617405-1.js +++ b/JSTests/test262/test/staging/sm/regress/regress-617405-1.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/regress/regress-617405-2.js b/JSTests/test262/test/staging/sm/regress/regress-617405-2.js index 39c4bbe97eff6..54cbfb23b3561 100644 --- a/JSTests/test262/test/staging/sm/regress/regress-617405-2.js +++ b/JSTests/test262/test/staging/sm/regress/regress-617405-2.js @@ -4,20 +4,16 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending ---*/ + function C(){} C.prototype = 1; -try { - Object.defineProperty(C, "prototype", {get: function() { throw 0; }}); - actual = "no exception"; -} catch (exc) { - actual = exc.name; -} + +assert.throws(TypeError, function() { + Object.defineProperty(C, "prototype", {get: function() { throw 0; }}); +}); + new C; // don't assert -assert.sameValue(actual, "TypeError"); diff --git a/JSTests/test262/test/staging/sm/regress/regress-618572.js b/JSTests/test262/test/staging/sm/regress/regress-618572.js index cf24560d85cdc..3db2905a6fc76 100644 --- a/JSTests/test262/test/staging/sm/regress/regress-618572.js +++ b/JSTests/test262/test/staging/sm/regress/regress-618572.js @@ -4,35 +4,12 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Do not assert when ungetting a Unicode char sequence +info: bugzilla.mozilla.org/show_bug.cgi?id=618572 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 618572; -var summary = 'Do not assert when ungetting a Unicode char sequence'; -var actual = ''; -var expect = ''; -//----------------------------------------------------------------------------- -test(); -//----------------------------------------------------------------------------- - -function test() -{ - expect = 'SyntaxError'; - - try - { - eval("var a\\0021 = 3;"); - } - catch(ex) - { - actual = ex.constructor.name; - } - - assert.sameValue(expect, actual, summary); -} +assert.throws(SyntaxError, function() { + eval("var a\\0021 = 3;"); +}); diff --git a/JSTests/test262/test/staging/sm/regress/regress-619003-1.js b/JSTests/test262/test/staging/sm/regress/regress-619003-1.js index 8f53b3eb12650..d44f267774577 100644 --- a/JSTests/test262/test/staging/sm/regress/regress-619003-1.js +++ b/JSTests/test262/test/staging/sm/regress/regress-619003-1.js @@ -4,20 +4,18 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending ---*/ + var a = []; // Test up to 200 to cover tunables such as js::PropertyTree::MAX_HEIGHT. for (var i = 0; i < 200; i++) { a.push("b" + i); - assertThrowsInstanceOfWithMessage( - () => eval("(function ([" + a.join("],[") + "],a,a){})"), + assert.throws( SyntaxError, + () => eval("(function ([" + a.join("],[") + "],a,a){})"), 'duplicate argument names not allowed in this context'); } diff --git a/JSTests/test262/test/staging/sm/regress/regress-619003-2.js b/JSTests/test262/test/staging/sm/regress/regress-619003-2.js index 326bb0b424a2c..ed63ab3ef4344 100644 --- a/JSTests/test262/test/staging/sm/regress/regress-619003-2.js +++ b/JSTests/test262/test/staging/sm/regress/regress-619003-2.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/regress/regress-624547.js b/JSTests/test262/test/staging/sm/regress/regress-624547.js index 5de39b38dc707..0d4dbfd892793 100644 --- a/JSTests/test262/test/staging/sm/regress/regress-624547.js +++ b/JSTests/test262/test/staging/sm/regress/regress-624547.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/regress/regress-624968.js b/JSTests/test262/test/staging/sm/regress/regress-624968.js index 82c5dfe207291..21b0e2fc15a26 100644 --- a/JSTests/test262/test/staging/sm/regress/regress-624968.js +++ b/JSTests/test262/test/staging/sm/regress/regress-624968.js @@ -4,14 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending ---*/ -try { - new {prototype: TypeError.prototype}; -} catch (e) {} +assert.throws(TypeError, function() { + new {prototype: TypeError.prototype}; +}); diff --git a/JSTests/test262/test/staging/sm/regress/regress-626436.js b/JSTests/test262/test/staging/sm/regress/regress-626436.js index 6652a8b81136d..2e5b86a0bd60a 100644 --- a/JSTests/test262/test/staging/sm/regress/regress-626436.js +++ b/JSTests/test262/test/staging/sm/regress/regress-626436.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/regress/regress-633741.js b/JSTests/test262/test/staging/sm/regress/regress-633741.js index d54bc4699097d..7eefcc23cf6a9 100644 --- a/JSTests/test262/test/staging/sm/regress/regress-633741.js +++ b/JSTests/test262/test/staging/sm/regress/regress-633741.js @@ -4,7 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict info: | diff --git a/JSTests/test262/test/staging/sm/regress/regress-634210-1.js b/JSTests/test262/test/staging/sm/regress/regress-634210-1.js index 5eac8019a2879..f0da6e6870204 100644 --- a/JSTests/test262/test/staging/sm/regress/regress-634210-1.js +++ b/JSTests/test262/test/staging/sm/regress/regress-634210-1.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/regress/regress-634210-2.js b/JSTests/test262/test/staging/sm/regress/regress-634210-2.js index 9aa4f5c6045be..ca708dc18211b 100644 --- a/JSTests/test262/test/staging/sm/regress/regress-634210-2.js +++ b/JSTests/test262/test/staging/sm/regress/regress-634210-2.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/regress/regress-634210-3.js b/JSTests/test262/test/staging/sm/regress/regress-634210-3.js index 2ad1fd703ddd9..d37e10d0e8571 100644 --- a/JSTests/test262/test/staging/sm/regress/regress-634210-3.js +++ b/JSTests/test262/test/staging/sm/regress/regress-634210-3.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/regress/regress-634210-4.js b/JSTests/test262/test/staging/sm/regress/regress-634210-4.js index ae5738b41dad2..20679c127fc1a 100644 --- a/JSTests/test262/test/staging/sm/regress/regress-634210-4.js +++ b/JSTests/test262/test/staging/sm/regress/regress-634210-4.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/regress/regress-636364.js b/JSTests/test262/test/staging/sm/regress/regress-636364.js index 2dd7e59a53e99..22c37d726d876 100644 --- a/JSTests/test262/test/staging/sm/regress/regress-636364.js +++ b/JSTests/test262/test/staging/sm/regress/regress-636364.js @@ -4,32 +4,18 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending ---*/ -if (typeof createNewGlobal == 'function') { - var gsame = createNewGlobal('same-compartment'); - gsame.eval("function f() { return this; }"); - f = gsame.f; - assert.sameValue(f(), gsame); +var gnew = $262.createRealm().global; - gsame.eval("function g() { 'use strict'; return this; }"); - g = gsame.g; - assert.sameValue(g(), undefined); +gnew.eval("function f() { return this; }"); +var f = gnew.f; +assert.sameValue(f(), gnew); - var gnew = createNewGlobal(); - - gnew.eval("function f() { return this; }"); - f = gnew.f; - assert.sameValue(f(), gnew); - - gnew.eval("function g() { 'use strict'; return this; }"); - g = gnew.g; - assert.sameValue(g(), undefined); -} +gnew.eval("function g() { 'use strict'; return this; }"); +var g = gnew.g; +assert.sameValue(g(), undefined); diff --git a/JSTests/test262/test/staging/sm/regress/regress-640075.js b/JSTests/test262/test/staging/sm/regress/regress-640075.js index 129f119abd1c0..ba622500cbac7 100644 --- a/JSTests/test262/test/staging/sm/regress/regress-640075.js +++ b/JSTests/test262/test/staging/sm/regress/regress-640075.js @@ -6,14 +6,12 @@ /*--- flags: - onlyStrict -includes: [sm/non262.js, sm/non262-shell.js] description: | pending esid: pending ---*/ -"use strict"; -assertThrowsInstanceOf( - () => eval("(function() { eval(); function eval() {} })"), - SyntaxError -) +assert.throws( + SyntaxError, + () => eval("(function() { eval(); function eval() {} })") +) diff --git a/JSTests/test262/test/staging/sm/regress/regress-642247.js b/JSTests/test262/test/staging/sm/regress/regress-642247.js index aac65f9565f3d..0c13277102387 100644 --- a/JSTests/test262/test/staging/sm/regress/regress-642247.js +++ b/JSTests/test262/test/staging/sm/regress/regress-642247.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/regress/regress-643222.js b/JSTests/test262/test/staging/sm/regress/regress-643222.js index c9061e120add3..de4311642f9dc 100644 --- a/JSTests/test262/test/staging/sm/regress/regress-643222.js +++ b/JSTests/test262/test/staging/sm/regress/regress-643222.js @@ -4,7 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | diff --git a/JSTests/test262/test/staging/sm/regress/regress-646820-1.js b/JSTests/test262/test/staging/sm/regress/regress-646820-1.js index c509d7bcf6695..dcee1819115a9 100644 --- a/JSTests/test262/test/staging/sm/regress/regress-646820-1.js +++ b/JSTests/test262/test/staging/sm/regress/regress-646820-1.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/regress/regress-646820-2.js b/JSTests/test262/test/staging/sm/regress/regress-646820-2.js index 7018269d52e62..1eb7aeea70162 100644 --- a/JSTests/test262/test/staging/sm/regress/regress-646820-2.js +++ b/JSTests/test262/test/staging/sm/regress/regress-646820-2.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/regress/regress-646820-3.js b/JSTests/test262/test/staging/sm/regress/regress-646820-3.js index a403a7fecb419..854ffd225109d 100644 --- a/JSTests/test262/test/staging/sm/regress/regress-646820-3.js +++ b/JSTests/test262/test/staging/sm/regress/regress-646820-3.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/regress/regress-665355.js b/JSTests/test262/test/staging/sm/regress/regress-665355.js index 95897b61ea267..6579ed2829d93 100644 --- a/JSTests/test262/test/staging/sm/regress/regress-665355.js +++ b/JSTests/test262/test/staging/sm/regress/regress-665355.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/regress/regress-672892.js b/JSTests/test262/test/staging/sm/regress/regress-672892.js index 95ed422675fa9..a3318f179fce6 100644 --- a/JSTests/test262/test/staging/sm/regress/regress-672892.js +++ b/JSTests/test262/test/staging/sm/regress/regress-672892.js @@ -4,7 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | diff --git a/JSTests/test262/test/staging/sm/regress/regress-672893.js b/JSTests/test262/test/staging/sm/regress/regress-672893.js index 43709a1956a2e..820189fe53902 100644 --- a/JSTests/test262/test/staging/sm/regress/regress-672893.js +++ b/JSTests/test262/test/staging/sm/regress/regress-672893.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/regress/regress-694306.js b/JSTests/test262/test/staging/sm/regress/regress-694306.js index 7a8dc4682cc37..4867408ba44e7 100644 --- a/JSTests/test262/test/staging/sm/regress/regress-694306.js +++ b/JSTests/test262/test/staging/sm/regress/regress-694306.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/regress/regress-698028-1.js b/JSTests/test262/test/staging/sm/regress/regress-698028-1.js index e239dd85a3839..aae8ca7180f92 100644 --- a/JSTests/test262/test/staging/sm/regress/regress-698028-1.js +++ b/JSTests/test262/test/staging/sm/regress/regress-698028-1.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/regress/regress-699682.js b/JSTests/test262/test/staging/sm/regress/regress-699682.js index 6f9f6388e7c29..d55b888d05211 100644 --- a/JSTests/test262/test/staging/sm/regress/regress-699682.js +++ b/JSTests/test262/test/staging/sm/regress/regress-699682.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/regress/regress-810525.js b/JSTests/test262/test/staging/sm/regress/regress-810525.js index eee7348daf289..9376b42cba2a6 100644 --- a/JSTests/test262/test/staging/sm/regress/regress-810525.js +++ b/JSTests/test262/test/staging/sm/regress/regress-810525.js @@ -4,26 +4,13 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending ---*/ -var expect = ''; -var actual = ''; -function test(s) { - assertThrowsInstanceOfWithMessageCheck( - () => eval(s), - Error, - message => message.indexOf('(intermediate value)') === -1, - `error message for ${s} should not contain '(intermediate value)'`); -} - -test("({p:1, q:2}).m()"); -test("[].m()"); -test("[1,2,3].m()"); -test("/hi/.m()"); +assert.throws(TypeError, () => eval("({p:1, q:2}).m()")); +assert.throws(TypeError, () => eval("[].m()")); +assert.throws(TypeError, () => eval("[1,2,3].m()")); +assert.throws(TypeError, () => eval("/hi/.m()")); diff --git a/JSTests/test262/test/staging/sm/statements/arrow-function-at-end-of-for-statement-head.js b/JSTests/test262/test/staging/sm/statements/arrow-function-at-end-of-for-statement-head.js index 4c435e64a3f3f..a1dd59e23fe08 100644 --- a/JSTests/test262/test/staging/sm/statements/arrow-function-at-end-of-for-statement-head.js +++ b/JSTests/test262/test/staging/sm/statements/arrow-function-at-end-of-for-statement-head.js @@ -4,25 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Don't assert when an arrow function occurs at the end of a declaration init-component of a for(;;) loop head +info: bugzilla.mozilla.org/show_bug.cgi?id=1302994 esid: pending ---*/ -//----------------------------------------------------------------------------- -var gTestfile = "arrow-function-in-for-statement-head.js"; -var BUGNUMBER = 1302994; -var summary = - "Don't assert when an arrow function occurs at the end of a declaration " + - "init-component of a for(;;) loop head"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ function f1() { @@ -65,7 +51,3 @@ function g2() {} } g2(); - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/statements/arrow-function-in-for-statement-head.js b/JSTests/test262/test/staging/sm/statements/arrow-function-in-for-statement-head.js index bae879918f3f1..76b937de52f8b 100644 --- a/JSTests/test262/test/staging/sm/statements/arrow-function-in-for-statement-head.js +++ b/JSTests/test262/test/staging/sm/statements/arrow-function-in-for-statement-head.js @@ -4,37 +4,12 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + |for (x => 0 in 1;;) break;| must be a syntax error per ES6, not an elaborate nop +info: bugzilla.mozilla.org/show_bug.cgi?id=1163851 esid: pending ---*/ -//----------------------------------------------------------------------------- -var gTestfile = "arrow-function-in-for-statement-head.js"; -var BUGNUMBER = 1163851; -var summary = - "|for (x => 0 in 1;;) break;| must be a syntax error per ES6, not an " + - "elaborate nop"; -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ - -try -{ +assert.throws(SyntaxError, function() { Function("for (x => 0 in 1;;) break;"); - throw new Error("didn't throw"); -} -catch (e) -{ - assert.sameValue(e instanceof SyntaxError, true, - "expected syntax error, got " + e); -} - -/******************************************************************************/ - -print("Tests complete"); +}); diff --git a/JSTests/test262/test/staging/sm/statements/for-in-with-declaration.js b/JSTests/test262/test/staging/sm/statements/for-in-with-declaration.js index 9d005af95d427..dcc1a686087c8 100644 --- a/JSTests/test262/test/staging/sm/statements/for-in-with-declaration.js +++ b/JSTests/test262/test/staging/sm/statements/for-in-with-declaration.js @@ -4,35 +4,17 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Declarations in for-in loop heads must not contain |in|-expression initializers +info: bugzilla.mozilla.org/show_bug.cgi?id=1163851 esid: pending ---*/ -//----------------------------------------------------------------------------- -var gTestfile = "for-in-with-declaration.js"; -var BUGNUMBER = 1163851; -var summary = - "Declarations in for-in loop heads must not contain |in|-expression " + - "initializers"; -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ - -assertThrowsInstanceOf(() => Function("for (var x = 3 in {}; ; ) break;"), SyntaxError); -assertThrowsInstanceOf(() => Function("for (var x, y = 3 in {}; ; ) break;"), SyntaxError); -assertThrowsInstanceOf(() => Function("for (var x = 5, y = 3 in {}; ; ) break;"), SyntaxError); -assertThrowsInstanceOf(() => Function("for (const x = 3 in {}; ; ) break;"), SyntaxError); -assertThrowsInstanceOf(() => Function("for (const x = 5, y = 3 in {}; ; ) break;"), SyntaxError); -assertThrowsInstanceOf(() => Function("for (let x = 3 in {}; ; ) break;"), SyntaxError); -assertThrowsInstanceOf(() => Function("for (let x, y = 3 in {}; ; ) break;"), SyntaxError); -assertThrowsInstanceOf(() => Function("for (let x = 2, y = 3 in {}; ; ) break;"), SyntaxError); - -/******************************************************************************/ - -print("Tests complete"); +assert.throws(SyntaxError, () => Function("for (var x = 3 in {}; ; ) break;")); +assert.throws(SyntaxError, () => Function("for (var x, y = 3 in {}; ; ) break;")); +assert.throws(SyntaxError, () => Function("for (var x = 5, y = 3 in {}; ; ) break;")); +assert.throws(SyntaxError, () => Function("for (const x = 3 in {}; ; ) break;")); +assert.throws(SyntaxError, () => Function("for (const x = 5, y = 3 in {}; ; ) break;")); +assert.throws(SyntaxError, () => Function("for (let x = 3 in {}; ; ) break;")); +assert.throws(SyntaxError, () => Function("for (let x, y = 3 in {}; ; ) break;")); +assert.throws(SyntaxError, () => Function("for (let x = 2, y = 3 in {}; ; ) break;")); diff --git a/JSTests/test262/test/staging/sm/statements/for-in-with-gc-and-unvisited-deletion.js b/JSTests/test262/test/staging/sm/statements/for-in-with-gc-and-unvisited-deletion.js index 36275c8bfbb42..210fa8ed3520a 100644 --- a/JSTests/test262/test/staging/sm/statements/for-in-with-gc-and-unvisited-deletion.js +++ b/JSTests/test262/test/staging/sm/statements/for-in-with-gc-and-unvisited-deletion.js @@ -4,25 +4,12 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Don't mishandle deletion of a property from the internal iterator created for a for-in loop, when a gc occurs just after it +info: bugzilla.mozilla.org/show_bug.cgi?id=1462939 esid: pending +features: [host-gc-required] ---*/ -//----------------------------------------------------------------------------- -var gTestfile = "for-in-with-gc-and-unvisited-deletion.js"; -var BUGNUMBER = 1462939; -var summary = - "Don't mishandle deletion of a property from the internal iterator " + - "created for a for-in loop, when a gc occurs just after it"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ function testOneDeletion() { @@ -77,7 +64,3 @@ function testThreeDeletions() } } testThreeDeletions(); - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/statements/for-inof-finally.js b/JSTests/test262/test/staging/sm/statements/for-inof-finally.js index 6e81074ceb519..74dceb0e9584c 100644 --- a/JSTests/test262/test/staging/sm/statements/for-inof-finally.js +++ b/JSTests/test262/test/staging/sm/statements/for-inof-finally.js @@ -2,18 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Leaving for-in and try should handle stack value in correct order +info: bugzilla.mozilla.org/show_bug.cgi?id=1332881 esid: pending ---*/ -var BUGNUMBER = 1332881; -var summary = - "Leaving for-in and try should handle stack value in correct order"; - -print(BUGNUMBER + ": " + summary); var called = 0; function reset() { @@ -84,4 +77,3 @@ var d = (function () { })(); assert.sameValue(called, 2); assert.sameValue(d, 14); - diff --git a/JSTests/test262/test/staging/sm/statements/for-inof-loop-const-declaration.js b/JSTests/test262/test/staging/sm/statements/for-inof-loop-const-declaration.js index e81196453727a..9601bbd9a7242 100644 --- a/JSTests/test262/test/staging/sm/statements/for-inof-loop-const-declaration.js +++ b/JSTests/test262/test/staging/sm/statements/for-inof-loop-const-declaration.js @@ -4,22 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Support const declarations in for-of loop heads +info: bugzilla.mozilla.org/show_bug.cgi?id=1278150 esid: pending ---*/ -var gTestfile = "for-inof-loop-const-declaration.js"; -var BUGNUMBER = 1278150; -var summary = "Support const declarations in for-of loop heads"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ var count; @@ -93,7 +82,3 @@ for (const { length, 0: c } of "012345") "didn't get a TypeError, instead got: " + e); } } - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/statements/for-inof-name-iteration-expression-contains-index-string.js b/JSTests/test262/test/staging/sm/statements/for-inof-name-iteration-expression-contains-index-string.js index 0923540e0525f..1029a81beb2b9 100644 --- a/JSTests/test262/test/staging/sm/statements/for-inof-name-iteration-expression-contains-index-string.js +++ b/JSTests/test262/test/staging/sm/statements/for-inof-name-iteration-expression-contains-index-string.js @@ -4,25 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Don't assert parsing a for-in/of loop whose target is a name, where the expression being iterated over contains a string containing an index +info: bugzilla.mozilla.org/show_bug.cgi?id=1235640 esid: pending ---*/ -//----------------------------------------------------------------------------- -var gTestfile = "for-inof-name-iteration-expression-contains-index-string.js"; -var BUGNUMBER = 1235640; -var summary = - "Don't assert parsing a for-in/of loop whose target is a name, where the " + - "expression being iterated over contains a string containing an index"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ function f() { @@ -44,7 +30,3 @@ function g() } g(); - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/statements/for-loop-declaration-contains-computed-name.js b/JSTests/test262/test/staging/sm/statements/for-loop-declaration-contains-computed-name.js index 7987a8142fff6..81a54865af688 100644 --- a/JSTests/test262/test/staging/sm/statements/for-loop-declaration-contains-computed-name.js +++ b/JSTests/test262/test/staging/sm/statements/for-loop-declaration-contains-computed-name.js @@ -4,24 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Support computed property names in destructuring declarations in for-in/of loop heads +info: bugzilla.mozilla.org/show_bug.cgi?id=1233767 esid: pending ---*/ -var gTestfile = "for-loop-declaration-contains-computed-name.js"; -var BUGNUMBER = 1233767; -var summary = - "Support computed property names in destructuring declarations in " + - "for-in/of loop heads"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ var count; @@ -47,7 +34,3 @@ for (var { length: x, [x - 1]: y } in "foo") count++; } - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/statements/for-loop-declaration-contains-initializer.js b/JSTests/test262/test/staging/sm/statements/for-loop-declaration-contains-initializer.js index ba166189e7795..1f36966e5b646 100644 --- a/JSTests/test262/test/staging/sm/statements/for-loop-declaration-contains-initializer.js +++ b/JSTests/test262/test/staging/sm/statements/for-loop-declaration-contains-initializer.js @@ -4,24 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Support initializer defaults in destructuring declarations in for-in/of loop heads +info: bugzilla.mozilla.org/show_bug.cgi?id=1233767 esid: pending ---*/ -var gTestfile = "for-loop-declaration-contains-computed-name.js"; -var BUGNUMBER = 1233767; -var summary = - "Support initializer defaults in destructuring declarations in for-in/of " + - "loop heads"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ var count; var expr; @@ -49,7 +36,3 @@ for (var { length: x, [x - 1 + count]: y = "psych" } in "foo") count++; } - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/statements/for-of-iterator-close-throw.js b/JSTests/test262/test/staging/sm/statements/for-of-iterator-close-throw.js index adbc87e7294c3..ea48b95954f1d 100644 --- a/JSTests/test262/test/staging/sm/statements/for-of-iterator-close-throw.js +++ b/JSTests/test262/test/staging/sm/statements/for-of-iterator-close-throw.js @@ -2,9 +2,7 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict +includes: [sm/assertThrowsValue.js] description: | pending esid: pending @@ -16,12 +14,17 @@ function test() { var finallyEntered = 0; var finallyEnteredExpected = 0; var iterable = {}; - iterable[Symbol.iterator] = makeIterator({ - ret: function() { - returnCalled++; - throw 42; - } - }); + iterable[Symbol.iterator] = function() { + return { + next() { + return { done: false }; + }, + return() { + returnCalled++; + throw 42; + } + }; + }; // inner try cannot catch IteratorClose throwing assertThrowsValue(function() { diff --git a/JSTests/test262/test/staging/sm/statements/for-of-iterator-close.js b/JSTests/test262/test/staging/sm/statements/for-of-iterator-close.js index 660b16db07764..15c32206e4c25 100644 --- a/JSTests/test262/test/staging/sm/statements/for-of-iterator-close.js +++ b/JSTests/test262/test/staging/sm/statements/for-of-iterator-close.js @@ -2,26 +2,27 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict +includes: [sm/assertThrowsValue.js] description: | - pending + Tests that IteratorReturn is called when a for-of loop has an abrupt completion value during non-iterator code. esid: pending ---*/ -// Tests that IteratorReturn is called when a for-of loop has an abrupt -// completion value during non-iterator code. function test() { var returnCalled = 0; var returnCalledExpected = 0; var iterable = {}; - iterable[Symbol.iterator] = makeIterator({ - ret: function() { - returnCalled++; - return {}; - } - }); + iterable[Symbol.iterator] = function() { + return { + next() { + return { done: false }; + }, + return() { + returnCalled++; + return {}; + } + }; + }; // break calls iter.return for (var x of iterable) @@ -46,12 +47,17 @@ function test() { assert.sameValue(returnCalled, ++returnCalledExpected); // throw in iter.return doesn't re-call iter.return - iterable[Symbol.iterator] = makeIterator({ - ret: function() { - returnCalled++; - throw "in iter.return"; - } - }); + iterable[Symbol.iterator] = function() { + return { + next() { + return { done: false }; + }, + return() { + returnCalled++; + throw "in iter.return"; + } + }; + }; assertThrowsValue(function() { for (var x of iterable) break; @@ -59,11 +65,16 @@ function test() { assert.sameValue(returnCalled, ++returnCalledExpected); // throw in iter.next doesn't call IteratorClose - iterable[Symbol.iterator] = makeIterator({ - next: function() { - throw "in next"; - } - }); + iterable[Symbol.iterator] = function() { + return { + next() { + throw "in next"; + }, + return() { + return { done: true }; + } + }; + }; assertThrowsValue(function() { for (var x of iterable) break; @@ -71,29 +82,36 @@ function test() { assert.sameValue(returnCalled, returnCalledExpected); // "return" must return an Object. - iterable[Symbol.iterator] = makeIterator({ - ret: function() { - returnCalled++; - return 42; - } - }); - assertThrowsInstanceOf(function() { + iterable[Symbol.iterator] = function() { + return { + next() { + return { done: false }; + }, + return() { + returnCalled++; + return 42; + } + }; + }; + assert.throws(TypeError, function() { for (var x of iterable) break; - }, TypeError); + }); assert.sameValue(returnCalled, ++returnCalledExpected); // continue doesn't call iter.return for the loop it's continuing var i = 0; - iterable[Symbol.iterator] = makeIterator({ - next: function() { - return { done: i++ > 5 }; - }, - ret: function() { - returnCalled++; - return {}; - } - }); + iterable[Symbol.iterator] = function() { + return { + next() { + return { done: i++ > 5 }; + }, + return() { + returnCalled++; + return {}; + } + }; + }; for (var x of iterable) continue; assert.sameValue(returnCalled, returnCalledExpected); diff --git a/JSTests/test262/test/staging/sm/statements/for-of-iterator-primitive.js b/JSTests/test262/test/staging/sm/statements/for-of-iterator-primitive.js index 1261e8eb97abc..e8275887cb1af 100644 --- a/JSTests/test262/test/staging/sm/statements/for-of-iterator-primitive.js +++ b/JSTests/test262/test/staging/sm/statements/for-of-iterator-primitive.js @@ -2,17 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Returning non-object from @@iterator should throw +info: bugzilla.mozilla.org/show_bug.cgi?id=1021835 esid: pending ---*/ -var BUGNUMBER = 1021835; -var summary = "Returning non-object from @@iterator should throw"; - -print(BUGNUMBER + ": " + summary); let primitives = [ 1, @@ -29,9 +23,8 @@ for (let primitive of primitives) { return primitive; } }; - assertThrowsInstanceOf(() => { + assert.throws(TypeError, () => { for (let x of obj) { } - }, TypeError); + }); } - diff --git a/JSTests/test262/test/staging/sm/statements/for-of-var-with-initializer.js b/JSTests/test262/test/staging/sm/statements/for-of-var-with-initializer.js index c53b07cbd9e32..b2d9a415a561f 100644 --- a/JSTests/test262/test/staging/sm/statements/for-of-var-with-initializer.js +++ b/JSTests/test262/test/staging/sm/statements/for-of-var-with-initializer.js @@ -4,34 +4,12 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Don't assert parsing |for (var x = 3 of 42);| +info: bugzilla.mozilla.org/show_bug.cgi?id=1164741 esid: pending ---*/ -var gTestfile = "for-of-var-with-initializer.js"; -var BUGNUMBER = 1164741; -var summary = "Don't assert parsing |for (var x = 3 of 42);|"; -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ - -try -{ +assert.throws(SyntaxError, function() { Function("for (var x = 3 of 42);"); - throw new Error("didn't throw"); -} -catch (e) -{ - assert.sameValue(e instanceof SyntaxError, true, - "expected syntax error, got: " + e); -} - -/******************************************************************************/ - -print("Tests complete"); +}); diff --git a/JSTests/test262/test/staging/sm/statements/if-constant-folding.js b/JSTests/test262/test/staging/sm/statements/if-constant-folding.js index 142a61f7f3be1..690188b50ed49 100644 --- a/JSTests/test262/test/staging/sm/statements/if-constant-folding.js +++ b/JSTests/test262/test/staging/sm/statements/if-constant-folding.js @@ -4,25 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Don't crash constant-folding an |if| governed by a truthy constant, whose alternative statement is another |if| +info: bugzilla.mozilla.org/show_bug.cgi?id=1183400 esid: pending ---*/ -//----------------------------------------------------------------------------- -var gTestfile = "if-constant-folding.js"; -var BUGNUMBER = 1183400; -var summary = - "Don't crash constant-folding an |if| governed by a truthy constant, whose " + - "alternative statement is another |if|"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ // Perform |if| constant folding correctly when the condition is constantly // truthy and the alternative statement is another |if|. @@ -35,8 +21,3 @@ else if (42) assert.sameValue(false, true, "not reached"); assert.sameValue(true, false, "also not reached"); } - - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/statements/property-reference-self-assignment.js b/JSTests/test262/test/staging/sm/statements/property-reference-self-assignment.js index 1eff1da06197b..9cee9b841d6e0 100644 --- a/JSTests/test262/test/staging/sm/statements/property-reference-self-assignment.js +++ b/JSTests/test262/test/staging/sm/statements/property-reference-self-assignment.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/statements/regress-642975.js b/JSTests/test262/test/staging/sm/statements/regress-642975.js index f961f604671e9..36753a1a7a397 100644 --- a/JSTests/test262/test/staging/sm/statements/regress-642975.js +++ b/JSTests/test262/test/staging/sm/statements/regress-642975.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/statements/try-completion.js b/JSTests/test262/test/staging/sm/statements/try-completion.js index 4c03cda207a5c..a723e324399c8 100644 --- a/JSTests/test262/test/staging/sm/statements/try-completion.js +++ b/JSTests/test262/test/staging/sm/statements/try-completion.js @@ -2,17 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + try block should return try value if finally returned normally +info: bugzilla.mozilla.org/show_bug.cgi?id=819125 esid: pending ---*/ -var BUGNUMBER = 819125; -var summary = "try block should return try value if finally returned normally"; - -print(BUGNUMBER + ": " + summary); function expectTryValue(code, isUndefined) { assert.sameValue(eval(code), isUndefined ? undefined : 'try'); @@ -488,4 +482,3 @@ do { } } while (false); `, true); - diff --git a/JSTests/test262/test/staging/sm/strict/10.4.2.js b/JSTests/test262/test/staging/sm/strict/10.4.2.js index 952b7315b8658..c55b66eeac0a4 100644 --- a/JSTests/test262/test/staging/sm/strict/10.4.2.js +++ b/JSTests/test262/test/staging/sm/strict/10.4.2.js @@ -4,9 +4,7 @@ */ /*--- -includes: [sm/non262.js, sm/non262-strict-shell.js, sm/non262-shell.js] -flags: - - noStrict +includes: [sm/non262-strict-shell.js] description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/strict/10.4.3.js b/JSTests/test262/test/staging/sm/strict/10.4.3.js index 935d1384dd0d2..643f40c020551 100644 --- a/JSTests/test262/test/staging/sm/strict/10.4.3.js +++ b/JSTests/test262/test/staging/sm/strict/10.4.3.js @@ -4,7 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-strict-shell.js, sm/non262-shell.js] flags: - noStrict description: | diff --git a/JSTests/test262/test/staging/sm/strict/10.6.js b/JSTests/test262/test/staging/sm/strict/10.6.js index 53f03b819bb3e..bd47b8472a050 100644 --- a/JSTests/test262/test/staging/sm/strict/10.6.js +++ b/JSTests/test262/test/staging/sm/strict/10.6.js @@ -4,9 +4,7 @@ */ /*--- -includes: [sm/non262.js, sm/non262-strict-shell.js, sm/non262-shell.js] -flags: - - noStrict +includes: [sm/non262-strict-shell.js] description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/strict/11.1.5.js b/JSTests/test262/test/staging/sm/strict/11.1.5.js index e49f828ede52c..b36d4d767a3f2 100644 --- a/JSTests/test262/test/staging/sm/strict/11.1.5.js +++ b/JSTests/test262/test/staging/sm/strict/11.1.5.js @@ -4,9 +4,7 @@ */ /*--- -includes: [sm/non262.js, sm/non262-strict-shell.js, sm/non262-shell.js] -flags: - - noStrict +includes: [sm/non262-strict-shell.js] description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/strict/11.13.1.js b/JSTests/test262/test/staging/sm/strict/11.13.1.js index b124b69426644..415c23be64dec 100644 --- a/JSTests/test262/test/staging/sm/strict/11.13.1.js +++ b/JSTests/test262/test/staging/sm/strict/11.13.1.js @@ -4,9 +4,7 @@ */ /*--- -includes: [sm/non262.js, sm/non262-strict-shell.js, sm/non262-shell.js] -flags: - - noStrict +includes: [sm/non262-strict-shell.js] description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/strict/11.13.2.js b/JSTests/test262/test/staging/sm/strict/11.13.2.js index 83c1d22099800..a95c8e80da3ae 100644 --- a/JSTests/test262/test/staging/sm/strict/11.13.2.js +++ b/JSTests/test262/test/staging/sm/strict/11.13.2.js @@ -4,9 +4,7 @@ */ /*--- -includes: [sm/non262.js, sm/non262-strict-shell.js, sm/non262-shell.js] -flags: - - noStrict +includes: [sm/non262-strict-shell.js] description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/strict/11.3.1.js b/JSTests/test262/test/staging/sm/strict/11.3.1.js index 6c8b36273e377..5d01ddade4007 100644 --- a/JSTests/test262/test/staging/sm/strict/11.3.1.js +++ b/JSTests/test262/test/staging/sm/strict/11.3.1.js @@ -4,9 +4,7 @@ */ /*--- -includes: [sm/non262.js, sm/non262-strict-shell.js, sm/non262-shell.js] -flags: - - noStrict +includes: [sm/non262-strict-shell.js] description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/strict/11.3.2.js b/JSTests/test262/test/staging/sm/strict/11.3.2.js index 9d727d212e288..5f2ff46b27bf3 100644 --- a/JSTests/test262/test/staging/sm/strict/11.3.2.js +++ b/JSTests/test262/test/staging/sm/strict/11.3.2.js @@ -4,9 +4,7 @@ */ /*--- -includes: [sm/non262.js, sm/non262-strict-shell.js, sm/non262-shell.js] -flags: - - noStrict +includes: [sm/non262-strict-shell.js] description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/strict/11.4.1.js b/JSTests/test262/test/staging/sm/strict/11.4.1.js index 409ce024e4729..7b7ee4620ae45 100644 --- a/JSTests/test262/test/staging/sm/strict/11.4.1.js +++ b/JSTests/test262/test/staging/sm/strict/11.4.1.js @@ -4,9 +4,7 @@ */ /*--- -includes: [sm/non262.js, sm/non262-strict-shell.js, sm/non262-shell.js] -flags: - - noStrict +includes: [sm/non262-strict-shell.js] description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/strict/11.4.4.js b/JSTests/test262/test/staging/sm/strict/11.4.4.js index 252c3e06d0653..f6d863dc06dff 100644 --- a/JSTests/test262/test/staging/sm/strict/11.4.4.js +++ b/JSTests/test262/test/staging/sm/strict/11.4.4.js @@ -4,9 +4,7 @@ */ /*--- -includes: [sm/non262.js, sm/non262-strict-shell.js, sm/non262-shell.js] -flags: - - noStrict +includes: [sm/non262-strict-shell.js] description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/strict/11.4.5.js b/JSTests/test262/test/staging/sm/strict/11.4.5.js index 938f8e9a04deb..5bcebf2688205 100644 --- a/JSTests/test262/test/staging/sm/strict/11.4.5.js +++ b/JSTests/test262/test/staging/sm/strict/11.4.5.js @@ -4,9 +4,7 @@ */ /*--- -includes: [sm/non262.js, sm/non262-strict-shell.js, sm/non262-shell.js] -flags: - - noStrict +includes: [sm/non262-strict-shell.js] description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/strict/12.10.1.js b/JSTests/test262/test/staging/sm/strict/12.10.1.js index 522b96cbe5c46..b8d3c66e1df58 100644 --- a/JSTests/test262/test/staging/sm/strict/12.10.1.js +++ b/JSTests/test262/test/staging/sm/strict/12.10.1.js @@ -4,9 +4,7 @@ */ /*--- -includes: [sm/non262.js, sm/non262-strict-shell.js, sm/non262-shell.js] -flags: - - noStrict +includes: [sm/non262-strict-shell.js] description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/strict/12.14.1.js b/JSTests/test262/test/staging/sm/strict/12.14.1.js index 635485dd586e9..b9d8766cef279 100644 --- a/JSTests/test262/test/staging/sm/strict/12.14.1.js +++ b/JSTests/test262/test/staging/sm/strict/12.14.1.js @@ -4,9 +4,7 @@ */ /*--- -includes: [sm/non262.js, sm/non262-strict-shell.js, sm/non262-shell.js] -flags: - - noStrict +includes: [sm/non262-strict-shell.js] description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/strict/12.2.1-01.js b/JSTests/test262/test/staging/sm/strict/12.2.1-01.js index 92719c2e663e8..2086d76f43ad3 100644 --- a/JSTests/test262/test/staging/sm/strict/12.2.1-01.js +++ b/JSTests/test262/test/staging/sm/strict/12.2.1-01.js @@ -4,9 +4,7 @@ */ /*--- -includes: [sm/non262.js, sm/non262-strict-shell.js, sm/non262-shell.js] -flags: - - noStrict +includes: [sm/non262-strict-shell.js] description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/strict/12.2.1.js b/JSTests/test262/test/staging/sm/strict/12.2.1.js index 99234dc6a0db5..ca9792e557b81 100644 --- a/JSTests/test262/test/staging/sm/strict/12.2.1.js +++ b/JSTests/test262/test/staging/sm/strict/12.2.1.js @@ -4,9 +4,7 @@ */ /*--- -includes: [sm/non262.js, sm/non262-strict-shell.js, sm/non262-shell.js] -flags: - - noStrict +includes: [sm/non262-strict-shell.js] description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/strict/13.1.js b/JSTests/test262/test/staging/sm/strict/13.1.js index 76f61c572d92f..4674bacef87b0 100644 --- a/JSTests/test262/test/staging/sm/strict/13.1.js +++ b/JSTests/test262/test/staging/sm/strict/13.1.js @@ -4,9 +4,7 @@ */ /*--- -includes: [sm/non262.js, sm/non262-strict-shell.js, sm/non262-shell.js] -flags: - - noStrict +includes: [sm/non262-strict-shell.js] description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/strict/15.10.7.js b/JSTests/test262/test/staging/sm/strict/15.10.7.js index b7799cedf200d..0f64c6c788b50 100644 --- a/JSTests/test262/test/staging/sm/strict/15.10.7.js +++ b/JSTests/test262/test/staging/sm/strict/15.10.7.js @@ -4,9 +4,7 @@ */ /*--- -includes: [sm/non262.js, sm/non262-strict-shell.js, sm/non262-shell.js] -flags: - - noStrict +includes: [sm/non262-strict-shell.js] description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/strict/15.3.4.5.js b/JSTests/test262/test/staging/sm/strict/15.3.4.5.js index c19b6a641470c..f816d430611b2 100644 --- a/JSTests/test262/test/staging/sm/strict/15.3.4.5.js +++ b/JSTests/test262/test/staging/sm/strict/15.3.4.5.js @@ -4,7 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-strict-shell.js, sm/non262-shell.js] flags: - noStrict description: | diff --git a/JSTests/test262/test/staging/sm/strict/15.3.5.1.js b/JSTests/test262/test/staging/sm/strict/15.3.5.1.js index ae90637f0118a..f05ecd163ef90 100644 --- a/JSTests/test262/test/staging/sm/strict/15.3.5.1.js +++ b/JSTests/test262/test/staging/sm/strict/15.3.5.1.js @@ -4,9 +4,7 @@ */ /*--- -includes: [sm/non262.js, sm/non262-strict-shell.js, sm/non262-shell.js] -flags: - - noStrict +includes: [sm/non262-strict-shell.js] description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/strict/15.3.5.2.js b/JSTests/test262/test/staging/sm/strict/15.3.5.2.js index ce7e168f99155..0adc277435b90 100644 --- a/JSTests/test262/test/staging/sm/strict/15.3.5.2.js +++ b/JSTests/test262/test/staging/sm/strict/15.3.5.2.js @@ -4,9 +4,7 @@ */ /*--- -includes: [sm/non262.js, sm/non262-strict-shell.js, sm/non262-shell.js] -flags: - - noStrict +includes: [sm/non262-strict-shell.js] description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/strict/15.4.4.11.js b/JSTests/test262/test/staging/sm/strict/15.4.4.11.js index 94d6924678f74..6193a09d8e8f8 100644 --- a/JSTests/test262/test/staging/sm/strict/15.4.4.11.js +++ b/JSTests/test262/test/staging/sm/strict/15.4.4.11.js @@ -4,9 +4,7 @@ */ /*--- -includes: [sm/non262.js, sm/non262-strict-shell.js, sm/non262-shell.js] -flags: - - noStrict +includes: [sm/non262-strict-shell.js] description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/strict/15.4.4.12.js b/JSTests/test262/test/staging/sm/strict/15.4.4.12.js index 1819919e75d41..e70fb2f01aef0 100644 --- a/JSTests/test262/test/staging/sm/strict/15.4.4.12.js +++ b/JSTests/test262/test/staging/sm/strict/15.4.4.12.js @@ -4,9 +4,7 @@ */ /*--- -includes: [sm/non262.js, sm/non262-strict-shell.js, sm/non262-shell.js] -flags: - - noStrict +includes: [sm/non262-strict-shell.js] description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/strict/15.4.4.13.js b/JSTests/test262/test/staging/sm/strict/15.4.4.13.js index 7d1958a878d39..39abf1c17e0fa 100644 --- a/JSTests/test262/test/staging/sm/strict/15.4.4.13.js +++ b/JSTests/test262/test/staging/sm/strict/15.4.4.13.js @@ -4,9 +4,7 @@ */ /*--- -includes: [sm/non262.js, sm/non262-strict-shell.js, sm/non262-shell.js] -flags: - - noStrict +includes: [sm/non262-strict-shell.js] description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/strict/15.4.4.6.js b/JSTests/test262/test/staging/sm/strict/15.4.4.6.js index 63e05a31c913f..5e3d5944cc219 100644 --- a/JSTests/test262/test/staging/sm/strict/15.4.4.6.js +++ b/JSTests/test262/test/staging/sm/strict/15.4.4.6.js @@ -4,9 +4,7 @@ */ /*--- -includes: [sm/non262.js, sm/non262-strict-shell.js, sm/non262-shell.js] -flags: - - noStrict +includes: [sm/non262-strict-shell.js] description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/strict/15.4.4.8.js b/JSTests/test262/test/staging/sm/strict/15.4.4.8.js index 6b96ad73bfa7c..df32ec2756e39 100644 --- a/JSTests/test262/test/staging/sm/strict/15.4.4.8.js +++ b/JSTests/test262/test/staging/sm/strict/15.4.4.8.js @@ -4,9 +4,7 @@ */ /*--- -includes: [sm/non262.js, sm/non262-strict-shell.js, sm/non262-shell.js] -flags: - - noStrict +includes: [sm/non262-strict-shell.js] description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/strict/15.4.4.9.js b/JSTests/test262/test/staging/sm/strict/15.4.4.9.js index c057d36f1810b..891d1f13945c9 100644 --- a/JSTests/test262/test/staging/sm/strict/15.4.4.9.js +++ b/JSTests/test262/test/staging/sm/strict/15.4.4.9.js @@ -4,9 +4,7 @@ */ /*--- -includes: [sm/non262.js, sm/non262-strict-shell.js, sm/non262-shell.js] -flags: - - noStrict +includes: [sm/non262-strict-shell.js] description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/strict/15.4.5.1.js b/JSTests/test262/test/staging/sm/strict/15.4.5.1.js index af707f72d06eb..b64d87ef48516 100644 --- a/JSTests/test262/test/staging/sm/strict/15.4.5.1.js +++ b/JSTests/test262/test/staging/sm/strict/15.4.5.1.js @@ -4,7 +4,7 @@ */ /*--- -includes: [sm/non262.js, sm/non262-strict-shell.js, sm/non262-shell.js, compareArray.js] +includes: [compareArray.js] flags: - noStrict description: | diff --git a/JSTests/test262/test/staging/sm/strict/15.5.5.1.js b/JSTests/test262/test/staging/sm/strict/15.5.5.1.js index 8d9b99195b4cc..65bb942e396fa 100644 --- a/JSTests/test262/test/staging/sm/strict/15.5.5.1.js +++ b/JSTests/test262/test/staging/sm/strict/15.5.5.1.js @@ -4,9 +4,7 @@ */ /*--- -includes: [sm/non262.js, sm/non262-strict-shell.js, sm/non262-shell.js] -flags: - - noStrict +includes: [sm/non262-strict-shell.js] description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/strict/15.5.5.2.js b/JSTests/test262/test/staging/sm/strict/15.5.5.2.js index 5b19d8b183b82..bf12987bf7ceb 100644 --- a/JSTests/test262/test/staging/sm/strict/15.5.5.2.js +++ b/JSTests/test262/test/staging/sm/strict/15.5.5.2.js @@ -4,9 +4,7 @@ */ /*--- -includes: [sm/non262.js, sm/non262-strict-shell.js, sm/non262-shell.js] -flags: - - noStrict +includes: [sm/non262-strict-shell.js] description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/strict/8.12.5.js b/JSTests/test262/test/staging/sm/strict/8.12.5.js index 4ad8d7a13ddd7..a6978fac88a0c 100644 --- a/JSTests/test262/test/staging/sm/strict/8.12.5.js +++ b/JSTests/test262/test/staging/sm/strict/8.12.5.js @@ -4,9 +4,7 @@ */ /*--- -includes: [sm/non262.js, sm/non262-strict-shell.js, sm/non262-shell.js] -flags: - - noStrict +includes: [sm/non262-strict-shell.js] description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/strict/8.12.7-2.js b/JSTests/test262/test/staging/sm/strict/8.12.7-2.js index 7507e265b5dd8..b4051c05cfc60 100644 --- a/JSTests/test262/test/staging/sm/strict/8.12.7-2.js +++ b/JSTests/test262/test/staging/sm/strict/8.12.7-2.js @@ -4,9 +4,7 @@ */ /*--- -includes: [sm/non262.js, sm/non262-strict-shell.js, sm/non262-shell.js] -flags: - - noStrict +includes: [sm/non262-strict-shell.js] description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/strict/8.12.7.js b/JSTests/test262/test/staging/sm/strict/8.12.7.js index b6c45d9c643a7..58c8de3b93caf 100644 --- a/JSTests/test262/test/staging/sm/strict/8.12.7.js +++ b/JSTests/test262/test/staging/sm/strict/8.12.7.js @@ -4,9 +4,7 @@ */ /*--- -includes: [sm/non262.js, sm/non262-strict-shell.js, sm/non262-shell.js] -flags: - - noStrict +includes: [sm/non262-strict-shell.js] description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/strict/8.7.2.js b/JSTests/test262/test/staging/sm/strict/8.7.2.js index c2b5126a4fea3..10aa37739ee3a 100644 --- a/JSTests/test262/test/staging/sm/strict/8.7.2.js +++ b/JSTests/test262/test/staging/sm/strict/8.7.2.js @@ -4,9 +4,7 @@ */ /*--- -includes: [sm/non262.js, sm/non262-strict-shell.js, sm/non262-shell.js] -flags: - - noStrict +includes: [sm/non262-strict-shell.js] description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/strict/B.1.1.js b/JSTests/test262/test/staging/sm/strict/B.1.1.js index 68bbd2d73f995..562d4514c6d39 100644 --- a/JSTests/test262/test/staging/sm/strict/B.1.1.js +++ b/JSTests/test262/test/staging/sm/strict/B.1.1.js @@ -4,9 +4,7 @@ */ /*--- -includes: [sm/non262.js, sm/non262-strict-shell.js, sm/non262-shell.js] -flags: - - noStrict +includes: [sm/non262-strict-shell.js] description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/strict/B.1.2.js b/JSTests/test262/test/staging/sm/strict/B.1.2.js index 1cbdb0feac499..fddef8d66303f 100644 --- a/JSTests/test262/test/staging/sm/strict/B.1.2.js +++ b/JSTests/test262/test/staging/sm/strict/B.1.2.js @@ -4,9 +4,7 @@ */ /*--- -includes: [sm/non262.js, sm/non262-strict-shell.js, sm/non262-shell.js] -flags: - - noStrict +includes: [sm/non262-strict-shell.js] description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/strict/assign-to-callee-name.js b/JSTests/test262/test/staging/sm/strict/assign-to-callee-name.js index f3e85bc014530..fc57147ef5d90 100644 --- a/JSTests/test262/test/staging/sm/strict/assign-to-callee-name.js +++ b/JSTests/test262/test/staging/sm/strict/assign-to-callee-name.js @@ -4,44 +4,19 @@ */ /*--- -includes: [sm/non262.js, sm/non262-strict-shell.js, sm/non262-shell.js] flags: - noStrict description: | - pending + Assigning to a function expression's name within that function should throw a TypeError in strict mode code +info: bugzilla.mozilla.org/show_bug.cgi?id=610350 esid: pending ---*/ -var gTestfile = 'assign-to-callee-name.js'; -var BUGNUMBER = 610350; -var summary = - "Assigning to a function expression's name within that function should " + - "throw a TypeError in strict mode code"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ var f = function assignSelfStrict() { "use strict"; assignSelfStrict = 12; }; - -try -{ - var r = f(); - throw new Error("should have thrown a TypeError, returned " + r); -} -catch (e) -{ - assert.sameValue(e instanceof TypeError, true, - "didn't throw a TypeError: " + e); -} +assert.throws(TypeError, f); var assignSelf = 42; var f2 = function assignSelf() { assignSelf = 12; }; f2(); // shouldn't throw, does nothing assert.sameValue(assignSelf, 42); - -/******************************************************************************/ - -print("All tests passed!"); diff --git a/JSTests/test262/test/staging/sm/strict/deprecated-octal-noctal-tokens.js b/JSTests/test262/test/staging/sm/strict/deprecated-octal-noctal-tokens.js index 7b19dc75d9a21..e644dfc24b1f4 100644 --- a/JSTests/test262/test/staging/sm/strict/deprecated-octal-noctal-tokens.js +++ b/JSTests/test262/test/staging/sm/strict/deprecated-octal-noctal-tokens.js @@ -4,13 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-strict-shell.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending ---*/ + /** * These test cases check implementation-specific error messages for invalid * octal literals, octal escape sequences, and non-octal decimal escape @@ -22,9 +20,9 @@ var JSMSG_DEPRECATED_OCTAL_ESCAPE = "octal escape sequences can't be used in unt var JSMSG_DEPRECATED_EIGHT_OR_NINE_ESCAPE = "the escapes \\8 and \\9 can't be used in untagged template literals or in strict mode code"; function checkPrologue(val, msg) { - assertThrowsInstanceOfWithMessage( - () => eval('function invalid () { "' + val + '"; "use strict"; }'), + assert.throws( SyntaxError, + () => eval('function invalid () { "' + val + '"; "use strict"; }'), msg ); } @@ -34,9 +32,9 @@ checkPrologue('\\222', JSMSG_DEPRECATED_OCTAL_ESCAPE); checkPrologue('\\222\\8', JSMSG_DEPRECATED_EIGHT_OR_NINE_ESCAPE); function checkAfter(val, msg) { - assertThrowsInstanceOfWithMessage( - () => eval('function invalid () { "use strict" \n ' + val + ' }'), + assert.throws( SyntaxError, + () => eval('function invalid () { "use strict" \n ' + val + ' }'), msg ); } diff --git a/JSTests/test262/test/staging/sm/strict/directive-prologue-01.js b/JSTests/test262/test/staging/sm/strict/directive-prologue-01.js index 949bbac2dab6a..8b079eca71f8c 100644 --- a/JSTests/test262/test/staging/sm/strict/directive-prologue-01.js +++ b/JSTests/test262/test/staging/sm/strict/directive-prologue-01.js @@ -4,70 +4,29 @@ */ /*--- -includes: [sm/non262.js, sm/non262-strict-shell.js, sm/non262-shell.js] flags: - noStrict description: | - pending + A string literal containing an octal escape before a strict mode directive should be a syntax error +info: bugzilla.mozilla.org/show_bug.cgi?id=601262 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 601262; -var summary = - "A string literal containing an octal escape before a strict mode " + - "directive should be a syntax error"; -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ - -try -{ +assert.throws(SyntaxError, function() { eval(" '\\145'; 'use strict'; "); - throw new Error("no error thrown for eval"); -} -catch (e) -{ - assert.sameValue(e instanceof SyntaxError, true, - "wrong error for octal-escape before strict directive in eval"); -} +}, "wrong error for octal-escape before strict directive in eval"); -try -{ +assert.throws(SyntaxError, function() { Function(" '\\145'; 'use strict'; "); - throw new Error("no error thrown for Function"); -} -catch (e) -{ - assert.sameValue(e instanceof SyntaxError, true, - "wrong error for octal-escape before strict directive in Function"); -} +}, "wrong error for octal-escape before strict directive in Function"); -try -{ +assert.throws(SyntaxError, function() { eval(" function f(){ '\\145'; 'use strict'; } "); - throw new Error("no error thrown for eval of function"); -} -catch (e) -{ - assert.sameValue(e instanceof SyntaxError, true, - "wrong error for octal-escape before strict directive in eval of " + - "function"); -} +}, "wrong error for octal-escape before strict directive in eval of function"); -try -{ +assert.throws(SyntaxError, function() { Function(" function f(){ '\\145'; 'use strict'; } "); - throw new Error("no error thrown for eval of function"); -} -catch (e) -{ - assert.sameValue(e instanceof SyntaxError, true, - "wrong error for octal-escape before strict directive in eval of " + - "function"); -} +}, "wrong error for octal-escape before strict directive in eval of function"); eval("function notAnError1() { 5; '\\145'; function g() { 'use strict'; } }"); @@ -79,7 +38,3 @@ function notAnError3() "\145"; function g() { "use strict"; } } - -/******************************************************************************/ - -print("All tests passed!"); diff --git a/JSTests/test262/test/staging/sm/strict/eval-variable-environment.js b/JSTests/test262/test/staging/sm/strict/eval-variable-environment.js index f2110173714d4..5c192ed794e7d 100644 --- a/JSTests/test262/test/staging/sm/strict/eval-variable-environment.js +++ b/JSTests/test262/test/staging/sm/strict/eval-variable-environment.js @@ -4,9 +4,7 @@ */ /*--- -includes: [sm/non262.js, sm/non262-strict-shell.js, sm/non262-shell.js] -flags: - - noStrict +includes: [sm/non262-strict-shell.js] description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/strict/primitive-assignment.js b/JSTests/test262/test/staging/sm/strict/primitive-assignment.js index 941c9016fcb39..a647d30da5f93 100644 --- a/JSTests/test262/test/staging/sm/strict/primitive-assignment.js +++ b/JSTests/test262/test/staging/sm/strict/primitive-assignment.js @@ -2,7 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-strict-shell.js, sm/non262-shell.js] flags: - noStrict description: | @@ -23,8 +22,8 @@ for (let value of primitives) { assert.sameValue(value.x = 5, 5); assert.sameValue(value[key] = 6, 6); - assertThrowsInstanceOf(function() { "use strict"; value.x = 5; }, TypeError); - assertThrowsInstanceOf(function() { "use strict"; value[key] = 6; }, TypeError); + assert.throws(TypeError, function() { "use strict"; value.x = 5; }); + assert.throws(TypeError, function() { "use strict"; value[key] = 6; }); let target = {}; assert.sameValue(Reflect.set(target, key, 5, value), false); diff --git a/JSTests/test262/test/staging/sm/strict/primitive-this-getter.js b/JSTests/test262/test/staging/sm/strict/primitive-this-getter.js index 610c1d6cfec28..7879726a81c43 100644 --- a/JSTests/test262/test/staging/sm/strict/primitive-this-getter.js +++ b/JSTests/test262/test/staging/sm/strict/primitive-this-getter.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-strict-shell.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/strict/primitive-this-no-writeback.js b/JSTests/test262/test/staging/sm/strict/primitive-this-no-writeback.js index 14e54bed032b4..fc92960d61dbc 100644 --- a/JSTests/test262/test/staging/sm/strict/primitive-this-no-writeback.js +++ b/JSTests/test262/test/staging/sm/strict/primitive-this-no-writeback.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-strict-shell.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/strict/rebind-eval-should-fail-in-strict-mode.js b/JSTests/test262/test/staging/sm/strict/rebind-eval-should-fail-in-strict-mode.js index a0fce814493d3..a495df3b90deb 100644 --- a/JSTests/test262/test/staging/sm/strict/rebind-eval-should-fail-in-strict-mode.js +++ b/JSTests/test262/test/staging/sm/strict/rebind-eval-should-fail-in-strict-mode.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-strict-shell.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending @@ -30,17 +27,10 @@ var BadSyntaxStrings = [ ]; function testString(s, i) { - var gotSyntaxError = -1; - try { + assert.throws(SyntaxError, function() { eval(s); - } catch(err) { - if (err instanceof SyntaxError) - gotSyntaxError = i; - } - - assert.sameValue(gotSyntaxError, i); + }); } for (var i = 0; i < BadSyntaxStrings.length; i++) testString(BadSyntaxStrings[i], i); - diff --git a/JSTests/test262/test/staging/sm/strict/regress-532041.js b/JSTests/test262/test/staging/sm/strict/regress-532041.js index 8adb5497e1c48..ea32d44c8ff58 100644 --- a/JSTests/test262/test/staging/sm/strict/regress-532041.js +++ b/JSTests/test262/test/staging/sm/strict/regress-532041.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-strict-shell.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/strict/regress-532254.js b/JSTests/test262/test/staging/sm/strict/regress-532254.js index 367620226e464..9346c635450f9 100644 --- a/JSTests/test262/test/staging/sm/strict/regress-532254.js +++ b/JSTests/test262/test/staging/sm/strict/regress-532254.js @@ -4,9 +4,7 @@ */ /*--- -includes: [sm/non262.js, sm/non262-strict-shell.js, sm/non262-shell.js] -flags: - - noStrict +includes: [sm/non262-strict-shell.js] description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/strict/regress-599159.js b/JSTests/test262/test/staging/sm/strict/regress-599159.js index 2227f38efcc91..e51428ae668aa 100644 --- a/JSTests/test262/test/staging/sm/strict/regress-599159.js +++ b/JSTests/test262/test/staging/sm/strict/regress-599159.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-strict-shell.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending @@ -17,7 +14,7 @@ function test(makeNonArray) { C.prototype = [] if (makeNonArray) C.prototype.constructor = C - c = new C(); + var c = new C(); c.push("foo"); return c.length } diff --git a/JSTests/test262/test/staging/sm/strict/strict-function-statements.js b/JSTests/test262/test/staging/sm/strict/strict-function-statements.js index 6a0ed1fa459f8..11aa56d843f17 100644 --- a/JSTests/test262/test/staging/sm/strict/strict-function-statements.js +++ b/JSTests/test262/test/staging/sm/strict/strict-function-statements.js @@ -4,9 +4,7 @@ */ /*--- -includes: [sm/non262.js, sm/non262-strict-shell.js, sm/non262-shell.js] -flags: - - noStrict +includes: [sm/non262-strict-shell.js] description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/strict/strict-this-is-not-truthy.js b/JSTests/test262/test/staging/sm/strict/strict-this-is-not-truthy.js index 02a23adc91ec3..ce705c0e0fa9a 100644 --- a/JSTests/test262/test/staging/sm/strict/strict-this-is-not-truthy.js +++ b/JSTests/test262/test/staging/sm/strict/strict-this-is-not-truthy.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-strict-shell.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/strict/this-for-function-expression-recursion.js b/JSTests/test262/test/staging/sm/strict/this-for-function-expression-recursion.js index 196025eec2b12..031bc2d0b7622 100644 --- a/JSTests/test262/test/staging/sm/strict/this-for-function-expression-recursion.js +++ b/JSTests/test262/test/staging/sm/strict/this-for-function-expression-recursion.js @@ -4,22 +4,13 @@ */ /*--- -includes: [sm/non262.js, sm/non262-strict-shell.js, sm/non262-shell.js] flags: - noStrict description: | - pending + JSOP_CALLEE should push undefined, not null, for this +info: bugzilla.mozilla.org/show_bug.cgi?id=611276 esid: pending ---*/ -var gTestfile = 'this-for-function-expression-recursion.js'; -var BUGNUMBER = 611276; -var summary = "JSOP_CALLEE should push undefined, not null, for this"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ // Calling a named function expression (not function statement) uses the // JSOP_CALLEE opcode. This opcode pushes its own |this|, distinct from the @@ -43,7 +34,3 @@ var calleeThisStrictFun = return calleeThisStrictFun(true); }; assert.sameValue(calleeThisStrictFun(false), undefined); - -/******************************************************************************/ - -print("All tests passed!"); diff --git a/JSTests/test262/test/staging/sm/strict/unbrand-this.js b/JSTests/test262/test/staging/sm/strict/unbrand-this.js index 943893626afa9..beeeee0296041 100644 --- a/JSTests/test262/test/staging/sm/strict/unbrand-this.js +++ b/JSTests/test262/test/staging/sm/strict/unbrand-this.js @@ -4,9 +4,6 @@ */ /*--- -includes: [sm/non262.js, sm/non262-strict-shell.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending @@ -19,32 +16,15 @@ function strict() { function bar() {} } -var exception; - // Try 'undefined' as a |this| value. -exception = null; -try { +assert.throws(TypeError, function() { strict.call(undefined); -} catch (x) { - exception = x; -} -assert.sameValue(exception instanceof TypeError, true); +}); // Try 'null' as a |this| value. -exception = null; -try { +assert.throws(TypeError, function() { strict.call(null); -} catch (x) { - exception = x; -} -assert.sameValue(exception instanceof TypeError, true); +}); // An object as a |this| value should be fine. -exception = null; -try { - strict.call({}); -} catch (x) { - exception = x; -} -assert.sameValue(exception, null); - +strict.call({}); diff --git a/JSTests/test262/test/staging/sm/syntax/bug1863308.js b/JSTests/test262/test/staging/sm/syntax/bug1863308.js index d3b65b8aaa997..643fb4cb376c4 100644 --- a/JSTests/test262/test/staging/sm/syntax/bug1863308.js +++ b/JSTests/test262/test/staging/sm/syntax/bug1863308.js @@ -2,30 +2,28 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending ---*/ -assertThrowsInstanceOfWithMessage( - () => eval("for (let case of ['foo', 'bar']) {}"), + +assert.throws( SyntaxError, + () => eval("for (let case of ['foo', 'bar']) {}"), "unexpected token: keyword 'case'"); -assertThrowsInstanceOfWithMessage( - () => eval("for (let debugger of ['foo', 'bar']) {}"), +assert.throws( SyntaxError, + () => eval("for (let debugger of ['foo', 'bar']) {}"), "unexpected token: keyword 'debugger'"); -assertThrowsInstanceOfWithMessage( - () => eval("for (let case in ['foo', 'bar']) {}"), +assert.throws( SyntaxError, + () => eval("for (let case in ['foo', 'bar']) {}"), "unexpected token: keyword 'case'"); -assertThrowsInstanceOfWithMessage( - () => eval("for (let debugger in ['foo', 'bar']) {}"), +assert.throws( SyntaxError, + () => eval("for (let debugger in ['foo', 'bar']) {}"), "unexpected token: keyword 'debugger'"); diff --git a/JSTests/test262/test/staging/sm/syntax/class-error.js b/JSTests/test262/test/staging/sm/syntax/class-error.js index 0711e046733b5..2cb9d15bc7846 100644 --- a/JSTests/test262/test/staging/sm/syntax/class-error.js +++ b/JSTests/test262/test/staging/sm/syntax/class-error.js @@ -2,26 +2,11 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending ---*/ -function assertThrowsSyntaxError(x) { - let success = false; - try { - eval(x); - success = true; - } catch (e) { - assert.sameValue(e instanceof SyntaxError, true); - } - assert.sameValue(success, false); -} - -assertThrowsSyntaxError("class X { x: 1 }") - -if ('assert.sameValue' in this) { -} +assert.throws(SyntaxError, function() { + eval("class X { x: 1 }"); +}); diff --git a/JSTests/test262/test/staging/sm/syntax/declaration-forbidden-in-label.js b/JSTests/test262/test/staging/sm/syntax/declaration-forbidden-in-label.js index e3643bb7260fa..7f51775d5bfe8 100644 --- a/JSTests/test262/test/staging/sm/syntax/declaration-forbidden-in-label.js +++ b/JSTests/test262/test/staging/sm/syntax/declaration-forbidden-in-label.js @@ -4,36 +4,19 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Properly implement the spec's distinctions between StatementListItem and Statement grammar productions and their uses +info: bugzilla.mozilla.org/show_bug.cgi?id=1288459 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 1288459; -var summary = - "Properly implement the spec's distinctions between StatementListItem and " + - "Statement grammar productions and their uses"; -print(BUGNUMBER + ": " + summary); +assert.throws(SyntaxError, () => Function("a: let x;")); +assert.throws(SyntaxError, () => Function("b: const y = 3;")); +assert.throws(SyntaxError, () => Function("c: class z {};")); -/************** - * BEGIN TEST * - **************/ - -assertThrowsInstanceOf(() => Function("a: let x;"), SyntaxError); -assertThrowsInstanceOf(() => Function("b: const y = 3;"), SyntaxError); -assertThrowsInstanceOf(() => Function("c: class z {};"), SyntaxError); - -assertThrowsInstanceOf(() => Function("'use strict'; d: function w() {};"), SyntaxError); +assert.throws(SyntaxError, () => Function("'use strict'; d: function w() {};")); // Annex B.3.2 allows this in non-strict mode code. Function("e: function x() {};"); -assertThrowsInstanceOf(() => Function("f: function* y() {}"), SyntaxError); - -/******************************************************************************/ - -print("Tests complete"); +assert.throws(SyntaxError, () => Function("f: function* y() {}")); diff --git a/JSTests/test262/test/staging/sm/syntax/escaped-let-static-identifier.js b/JSTests/test262/test/staging/sm/syntax/escaped-let-static-identifier.js index 38c8bd6183af0..ab74ceaf99f9f 100644 --- a/JSTests/test262/test/staging/sm/syntax/escaped-let-static-identifier.js +++ b/JSTests/test262/test/staging/sm/syntax/escaped-let-static-identifier.js @@ -4,47 +4,21 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + |let| and |static| are forbidden as Identifier only in strict mode code, and it's permissible to use them as Identifier (with or without containing escapes) in non-strict code +info: bugzilla.mozilla.org/show_bug.cgi?id=1288460 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 1288460; -var summary = - "|let| and |static| are forbidden as Identifier only in strict mode code, " + - "and it's permissible to use them as Identifier (with or without " + - "containing escapes) in non-strict code"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ function t(code) { var strictSemi = " 'use strict'; " + code; var strictASI = " 'use strict' \n " + code; - var creationFunctions = [Function]; - if (typeof evaluate === "function") - creationFunctions.push(evaluate); - if (typeof parseModule === "function") - creationFunctions.push(parseModule); - - for (var func of creationFunctions) - { - if (typeof parseModule === "function" && func === parseModule) - assertThrowsInstanceOf(() => func(code), SyntaxError); - else - func(code); + Function(code); - assertThrowsInstanceOf(() => func(strictSemi), SyntaxError); - assertThrowsInstanceOf(() => func(strictASI), SyntaxError); - } + assert.throws(SyntaxError, () => Function(strictSemi)); + assert.throws(SyntaxError, () => Function(strictASI)); } t("l\\u0065t: 42;"); @@ -56,7 +30,3 @@ t("st\\u0061tic: 42;"); t("if (1) st\\u0061tic: 42;"); t("st\\u0061tic = 42;"); t("if (1) st\\u0061tic = 42;"); - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/syntax/keyword-unescaped-requirement.js b/JSTests/test262/test/staging/sm/syntax/keyword-unescaped-requirement.js index 21c11f8740a01..6587547c538ab 100644 --- a/JSTests/test262/test/staging/sm/syntax/keyword-unescaped-requirement.js +++ b/JSTests/test262/test/staging/sm/syntax/keyword-unescaped-requirement.js @@ -4,24 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Escape sequences aren't allowed in bolded grammar tokens (that is, in keywords, possibly contextual keywords) +info: bugzilla.mozilla.org/show_bug.cgi?id=1204027 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 1204027; -var summary = - "Escape sequences aren't allowed in bolded grammar tokens (that is, in " + - "keywords, possibly contextual keywords)"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ function memberVariants(code) { @@ -66,8 +53,4 @@ var badScripts = ]; for (var script of badScripts) - assertThrowsInstanceOf(() => Function(script), SyntaxError); - -/******************************************************************************/ - -print("Tests complete"); + assert.throws(SyntaxError, () => Function(script)); diff --git a/JSTests/test262/test/staging/sm/syntax/let-as-label.js b/JSTests/test262/test/staging/sm/syntax/let-as-label.js index 9a6f973feab38..681f6c9a10cf8 100644 --- a/JSTests/test262/test/staging/sm/syntax/let-as-label.js +++ b/JSTests/test262/test/staging/sm/syntax/let-as-label.js @@ -4,37 +4,24 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | - pending + let can't be used as a label in strict mode code +info: bugzilla.mozilla.org/show_bug.cgi?id=1288459 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 1288459; -var summary = "let can't be used as a label in strict mode code"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ Function("let: 42"); Function("l\\u0065t: 42"); -assertThrowsInstanceOf(() => Function(" 'use strict'; let: 42"), SyntaxError); -assertThrowsInstanceOf(() => Function(" 'use strict' \n let: 42"), SyntaxError); -assertThrowsInstanceOf(() => Function(" 'use strict'; l\\u0065t: 42"), SyntaxError); -assertThrowsInstanceOf(() => Function(" 'use strict' \n l\\u0065t: 42"), SyntaxError); +assert.throws(SyntaxError, () => Function(" 'use strict'; let: 42")); +assert.throws(SyntaxError, () => Function(" 'use strict' \n let: 42")); +assert.throws(SyntaxError, () => Function(" 'use strict'; l\\u0065t: 42")); +assert.throws(SyntaxError, () => Function(" 'use strict' \n l\\u0065t: 42")); eval("let: 42"); eval("l\\u0065t: 42"); -assertThrowsInstanceOf(() => eval(" 'use strict'; let: 42"), SyntaxError); -assertThrowsInstanceOf(() => eval(" 'use strict' \n let: 42;"), SyntaxError); -assertThrowsInstanceOf(() => eval(" 'use strict'; l\\u0065t: 42"), SyntaxError); -assertThrowsInstanceOf(() => eval(" 'use strict' \n l\\u0065t: 42;"), SyntaxError); - -/******************************************************************************/ - -print("Tests complete"); +assert.throws(SyntaxError, () => eval(" 'use strict'; let: 42")); +assert.throws(SyntaxError, () => eval(" 'use strict' \n let: 42;")); +assert.throws(SyntaxError, () => eval(" 'use strict'; l\\u0065t: 42")); +assert.throws(SyntaxError, () => eval(" 'use strict' \n l\\u0065t: 42;")); diff --git a/JSTests/test262/test/staging/sm/syntax/linefeed-at-eof-in-unterminated-string-or-template.js b/JSTests/test262/test/staging/sm/syntax/linefeed-at-eof-in-unterminated-string-or-template.js index 4a988f03c660a..2d602cba4d9c8 100644 --- a/JSTests/test262/test/staging/sm/syntax/linefeed-at-eof-in-unterminated-string-or-template.js +++ b/JSTests/test262/test/staging/sm/syntax/linefeed-at-eof-in-unterminated-string-or-template.js @@ -4,39 +4,17 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Properly handle the case of U+005C REVERSE SOLIDUS U+000D CARRIAGE RETURN at the end of source text being tokenized, in the middle of a string or template literal, where the next code point in memory (outside the bounds of the source text) is U+000A LINE FEED +info: bugzilla.mozilla.org/show_bug.cgi?id=1476409 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 1476409; -var summary = - "Properly handle the case of U+005C REVERSE SOLIDUS U+000D CARRIAGE RETURN " + - "at the end of source text being tokenized, in the middle of a string or " + - "template literal, where the next code point in memory (outside the bounds " + - "of the source text) is U+000A LINE FEED"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ function expectSyntaxError(code) { - try - { + assert.throws(SyntaxError, function() { eval(code); - throw new Error("didn't throw"); - } - catch (e) - { - assert.sameValue(e instanceof SyntaxError, true, - "got " + e.name + ", expected SyntaxError"); - } + }); } // The fundamental requirements of this test: @@ -87,7 +65,3 @@ function template() expectSyntaxError(containsBadTemplateLiteral.substr(2, 53)); } template(); - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/syntax/omitted-catch-binding.js b/JSTests/test262/test/staging/sm/syntax/omitted-catch-binding.js index 984e9a4d88b96..d02b5655dfe51 100644 --- a/JSTests/test262/test/staging/sm/syntax/omitted-catch-binding.js +++ b/JSTests/test262/test/staging/sm/syntax/omitted-catch-binding.js @@ -2,9 +2,6 @@ // This code is governed by the BSD license found in the LICENSE file. /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | pending esid: pending diff --git a/JSTests/test262/test/staging/sm/syntax/syntax-parsed-arrow-then-bigint.js b/JSTests/test262/test/staging/sm/syntax/syntax-parsed-arrow-then-bigint.js index ee381e73f0e33..d8a77f92efc58 100644 --- a/JSTests/test262/test/staging/sm/syntax/syntax-parsed-arrow-then-bigint.js +++ b/JSTests/test262/test/staging/sm/syntax/syntax-parsed-arrow-then-bigint.js @@ -4,25 +4,11 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Properly evaluate a bigint literal that's initially tokenized by a syntax parser (because the bigint literal appears immediately after an arrow function with expression body) +info: bugzilla.mozilla.org/show_bug.cgi?id=1596706 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 1596706; -var summary = - "Properly evaluate a bigint literal that's initially tokenized by a syntax " + - "parser (because the bigint literal appears immediately after an arrow " + - "function with expression body)"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ // block followed by semicolon assert.sameValue(eval(`x=>{}; @@ -39,7 +25,3 @@ assert.sameValue(eval(`x=>y; // expr not followed by semicolon assert.sameValue(eval(`x=>y 78051120n`), 78051120n); - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/syntax/syntax-parsed-arrow-then-directive.js b/JSTests/test262/test/staging/sm/syntax/syntax-parsed-arrow-then-directive.js index d30b6373fed5b..e59d18b1f3979 100644 --- a/JSTests/test262/test/staging/sm/syntax/syntax-parsed-arrow-then-directive.js +++ b/JSTests/test262/test/staging/sm/syntax/syntax-parsed-arrow-then-directive.js @@ -4,74 +4,34 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + Properly apply a directive comment that's only tokenized by a syntax parser (because the directive comment appears immediately after an arrow function with expression body) +info: bugzilla.mozilla.org/show_bug.cgi?id=1596706 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 1596706; -var summary = - "Properly apply a directive comment that's only tokenized by a syntax " + - "parser (because the directive comment appears immediately after an arrow " + - "function with expression body)"; - -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ - -var stack; - -function reset() -{ - stack = ""; -} - -function assertStackContains(needle, msg) -{ - assert.sameValue(stack.indexOf(needle) >= 0, true, - `stack should contain '${needle}': ${msg}`); -} Object.defineProperty(this, "detectSourceURL", { get() { - stack = new Error().stack; return 17; } }); // block followed by semicolon -reset(); assert.sameValue(eval(`x=>{}; //# sourceURL=http://example.com/foo.js detectSourceURL`), 17); -assertStackContains("http://example.com/foo.js", "block, semi"); // block not followed by semicolon -reset(); assert.sameValue(eval(`x=>{} //# sourceURL=http://example.com/bar.js detectSourceURL`), 17); -assertStackContains("http://example.com/bar.js", "block, not semi"); // expr followed by semicolon -reset(); assert.sameValue(eval(`x=>y; //# sourceURL=http://example.com/baz.js detectSourceURL`), 17); -assertStackContains("http://example.com/baz.js", "expr, semi"); // expr not followed by semicolon -reset(); assert.sameValue(eval(`x=>y //# sourceURL=http://example.com/quux.js detectSourceURL`), 17); -assertStackContains("http://example.com/quux.js", "expr, not semi"); - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/syntax/yield-as-identifier.js b/JSTests/test262/test/staging/sm/syntax/yield-as-identifier.js index c089ca0aee023..9120850979c03 100644 --- a/JSTests/test262/test/staging/sm/syntax/yield-as-identifier.js +++ b/JSTests/test262/test/staging/sm/syntax/yield-as-identifier.js @@ -4,47 +4,23 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] -flags: - - noStrict description: | - pending + |yield| is sometimes a valid identifier +info: bugzilla.mozilla.org/show_bug.cgi?id=1288459 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 1288459; -var summary = "|yield| is sometimes a valid identifier"; -print(BUGNUMBER + ": " + summary); - -/************** - * BEGIN TEST * - **************/ +var g = $262.createRealm().global; function t(code) { var strictSemi = " 'use strict'; " + code; var strictASI = " 'use strict' \n " + code; - var creationFunctions = ["Function"]; - if (typeof evaluate === "function") - creationFunctions.push("evaluate"); - if (typeof parseModule === "function") - creationFunctions.push("parseModule"); - - for (var func of creationFunctions) - { - var g = createNewGlobal(); - var f = g[func]; - - if (func === "parseModule") - assertThrowsInstanceOf(() => f(code), g.SyntaxError); - else - f(code); + g.Function(code); - assertThrowsInstanceOf(() => f(strictSemi), g.SyntaxError); - assertThrowsInstanceOf(() => f(strictASI), g.SyntaxError); - } + assert.throws(g.SyntaxError, () => g.Function(strictSemi)); + assert.throws(g.SyntaxError, () => g.Function(strictASI)); } t("var yield = 3;"); @@ -53,7 +29,3 @@ t("const yield = 3;"); t("for (var yield = 3; ; ) break;"); t("for (let yield = 3; ; ) break;"); t("for (const yield = 3; ; ) break;"); - -/******************************************************************************/ - -print("Tests complete"); diff --git a/JSTests/test262/test/staging/sm/types/8.12.5-01.js b/JSTests/test262/test/staging/sm/types/8.12.5-01.js index 99c9819e6b6c5..0d3027f14607a 100644 --- a/JSTests/test262/test/staging/sm/types/8.12.5-01.js +++ b/JSTests/test262/test/staging/sm/types/8.12.5-01.js @@ -4,21 +4,13 @@ */ /*--- -includes: [sm/non262.js, sm/non262-shell.js] flags: - noStrict description: | - pending + Assignments to a property that has a getter but not a setter should not throw a TypeError per ES5 (at least not until strict mode is supported) +info: bugzilla.mozilla.org/show_bug.cgi?id=523846 esid: pending ---*/ -//----------------------------------------------------------------------------- -var BUGNUMBER = 523846; -var summary = - "Assignments to a property that has a getter but not a setter should not " + - "throw a TypeError per ES5 (at least not until strict mode is supported)"; -var actual = "Early failure"; -var expect = "No errors"; - var o = { get p() { return "a"; } }; @@ -56,56 +48,7 @@ function strictTest2() assert.sameValue(y.p, "a"); } -var errors = []; -try -{ - try - { - test1(); - } - catch (e) - { - errors.push(e); - } - - try - { - test2(); - } - catch (e) - { - errors.push(e); - } - - try - { - strictTest1(); - errors.push("strictTest1 didn't fail"); - } - catch (e) - { - if (!(e instanceof TypeError)) - errors.push("strictTest1 didn't fail with a TypeError: " + e); - } - - try - { - strictTest2(); - errors.push("strictTest2 didn't fail"); - } - catch (e) - { - if (!(e instanceof TypeError)) - errors.push("strictTest2 didn't fail with a TypeError: " + e); - } -} -catch (e) -{ - errors.push("Unexpected error: " + e); -} -finally -{ - actual = errors.length > 0 ? errors.join(", ") : "No errors"; -} - -assert.sameValue(expect, actual, summary); +test1(); +test2(); +assert.throws(TypeError, strictTest1); +assert.throws(TypeError, strictTest2); diff --git a/JSTests/test262/test262-Revision.txt b/JSTests/test262/test262-Revision.txt index c63946575c7f8..f27334373b54e 100644 --- a/JSTests/test262/test262-Revision.txt +++ b/JSTests/test262/test262-Revision.txt @@ -1,2 +1,2 @@ test262 remote url: https://github.com/tc39/test262.git -test262 revision: b947715fdda79a420b253821c1cc52272a77222d +test262 revision: 8a8a7af1b9a01eb3665cedaa62131d5c1d2304de diff --git a/JSTests/wasm/debugger/README.md b/JSTests/wasm/debugger/README.md index 3fb4a38958efc..aa1a015a7cd01 100644 --- a/JSTests/wasm/debugger/README.md +++ b/JSTests/wasm/debugger/README.md @@ -76,7 +76,7 @@ from lib.core.base import BaseTestCase class MyTestCase(BaseTestCase): def execute(self): # Setup debugging session (JSC + LLDB) - self.setup_debugging_session_or_raise("resources/add/main.js") + self.setup_debugging_session_or_raise("resources/c-wasm/add/main.js") # Send LLDB commands self.send_lldb_command_or_raise("b main") diff --git a/JSTests/wasm/debugger/lib/core/base.py b/JSTests/wasm/debugger/lib/core/base.py index c073f96ce1824..840720c58771a 100644 --- a/JSTests/wasm/debugger/lib/core/base.py +++ b/JSTests/wasm/debugger/lib/core/base.py @@ -265,7 +265,7 @@ def start_debugger(self, test_file: str) -> bool: os.path.dirname(os.path.dirname(os.path.abspath(__file__))) ) # Go up to test directory (from lib/core/base.py to debugger/) - # If test_file contains a directory (like "resources/add/main.js"), set working directory to that subdirectory + # If test_file contains a directory (like "resources/c-wasm/add/main.js"), set working directory to that subdirectory if "/" in test_file: test_subdir = os.path.dirname(test_file) working_dir = os.path.join(test_dir, test_subdir) @@ -351,7 +351,16 @@ def start_lldb(self, connection_timeout: float = 10.0) -> bool: # Start LLDB process with the connection command self.lldb_process = subprocess.Popen( - [lldb_path, "-o", connect_cmd], + [ + lldb_path, + # FIXME: Should remove these two once Swift LLDB step over issue is fixed + "-o", + "settings set stop-line-count-before 0", # FIXME: Disable showing lines before + "-o", + "settings set stop-line-count-after 0", # FIXME: Disable showing lines after + "-o", + connect_cmd, + ], stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE, diff --git a/JSTests/wasm/debugger/lib/core/environment.py b/JSTests/wasm/debugger/lib/core/environment.py index 8b5b77df42367..d589c12634bb3 100644 --- a/JSTests/wasm/debugger/lib/core/environment.py +++ b/JSTests/wasm/debugger/lib/core/environment.py @@ -72,7 +72,7 @@ def _find_jsc_path(self): def _find_lldb_path(self) -> str: """Find the best LLDB binary to use""" - hardcoded_lldb = "/Users/yijiahuang/git/WebKit/llvm/build/bin/lldb" + hardcoded_lldb = "/Users/yijiahuang/Library/Developer/Toolchains/swift-REBRANCH-DEVELOPMENT-SNAPSHOT-2025-09-25-a.xctoolchain/usr/bin/lldb" if Path(hardcoded_lldb).exists(): return hardcoded_lldb return "lldb" # Fall back to system LLDB diff --git a/JSTests/wasm/debugger/resources/add/add.c b/JSTests/wasm/debugger/resources/add/add.c deleted file mode 100644 index 1f66e67b3db38..0000000000000 --- a/JSTests/wasm/debugger/resources/add/add.c +++ /dev/null @@ -1,13 +0,0 @@ -int add(int a, int b) { - int result = a + b; - return result; -} - -int main() { - int x = 10; - int y = 20; - int sum = add(x, y); - return sum; -} - -// emcc -g -O0 -s STANDALONE_WASM=1 -s EXPORTED_FUNCTIONS='["_main","_add"]' add.c -o add.wasm && wasm2wat add.wasm -o add.wat && xcrun wasm-objdump -d add.wasm &> ./wasm-objdump-code-section.txt && xcrun llvm-dwarfdump add.wasm &> ./llvm-dwarfdump-debug-info.txt \ No newline at end of file diff --git a/JSTests/wasm/debugger/resources/add/add.wat b/JSTests/wasm/debugger/resources/add/add.wat deleted file mode 100644 index 5b76ee6efe4fa..0000000000000 --- a/JSTests/wasm/debugger/resources/add/add.wat +++ /dev/null @@ -1,150 +0,0 @@ -(module $add.wasm - (type (;0;) (func)) - (type (;1;) (func (param i32))) - (type (;2;) (func (param i32 i32) (result i32))) - (type (;3;) (func (result i32))) - (import "wasi_snapshot_preview1" "proc_exit" (func $__wasi_proc_exit (type 1))) - (func $__wasm_call_ctors (type 0) - call $emscripten_stack_init) - (func $add (type 2) (param i32 i32) (result i32) - (local i32) - global.get $__stack_pointer - i32.const 16 - i32.sub - local.set 2 - local.get 2 - local.get 0 - i32.store offset=12 - local.get 2 - local.get 1 - i32.store offset=8 - local.get 2 - local.get 2 - i32.load offset=12 - local.get 2 - i32.load offset=8 - i32.add - i32.store offset=4 - local.get 2 - i32.load offset=4 - return) - (func $__original_main (type 3) (result i32) - (local i32 i32) - global.get $__stack_pointer - i32.const 16 - i32.sub - local.set 0 - local.get 0 - global.set $__stack_pointer - local.get 0 - i32.const 0 - i32.store offset=12 - local.get 0 - i32.const 10 - i32.store offset=8 - local.get 0 - i32.const 20 - i32.store offset=4 - local.get 0 - local.get 0 - i32.load offset=8 - local.get 0 - i32.load offset=4 - call $add - i32.store - local.get 0 - i32.load - local.set 1 - local.get 0 - i32.const 16 - i32.add - global.set $__stack_pointer - local.get 1 - return) - (func $main (type 2) (param i32 i32) (result i32) - call $__original_main - return) - (func $_start (type 0) - block ;; label = @1 - i32.const 1 - i32.eqz - br_if 0 (;@1;) - call $__wasm_call_ctors - end - call $__original_main - call $exit - unreachable) - (func $dummy (type 0)) - (func $libc_exit_fini (type 0) - (local i32) - i32.const 0 - local.set 0 - block ;; label = @1 - i32.const 0 - i32.const 0 - i32.le_u - br_if 0 (;@1;) - loop ;; label = @2 - local.get 0 - i32.const -4 - i32.add - local.tee 0 - i32.load - call_indirect (type 0) - local.get 0 - i32.const 0 - i32.gt_u - br_if 0 (;@2;) - end - end - call $dummy) - (func $exit (type 1) (param i32) - call $dummy - call $libc_exit_fini - call $dummy - local.get 0 - call $_Exit - unreachable) - (func $_Exit (type 1) (param i32) - local.get 0 - call $__wasi_proc_exit - unreachable) - (func $_emscripten_stack_restore (type 1) (param i32) - local.get 0 - global.set $__stack_pointer) - (func $emscripten_stack_get_current (type 3) (result i32) - global.get $__stack_pointer) - (func $emscripten_stack_init (type 0) - i32.const 65536 - global.set $__stack_base - i32.const 0 - i32.const 15 - i32.add - i32.const -16 - i32.and - global.set $__stack_end) - (func $emscripten_stack_get_free (type 3) (result i32) - global.get $__stack_pointer - global.get $__stack_end - i32.sub) - (func $emscripten_stack_get_base (type 3) (result i32) - global.get $__stack_base) - (func $emscripten_stack_get_end (type 3) (result i32) - global.get $__stack_end) - (table (;0;) 2 2 funcref) - (memory (;0;) 257 257) - (global $__stack_pointer (mut i32) (i32.const 65536)) - (global $__stack_end (mut i32) (i32.const 0)) - (global $__stack_base (mut i32) (i32.const 0)) - (export "memory" (memory 0)) - (export "add" (func $add)) - (export "main" (func $main)) - (export "__indirect_function_table" (table 0)) - (export "_start" (func $_start)) - (export "emscripten_stack_init" (func $emscripten_stack_init)) - (export "emscripten_stack_get_free" (func $emscripten_stack_get_free)) - (export "emscripten_stack_get_base" (func $emscripten_stack_get_base)) - (export "emscripten_stack_get_end" (func $emscripten_stack_get_end)) - (export "_emscripten_stack_restore" (func $_emscripten_stack_restore)) - (export "emscripten_stack_get_current" (func $emscripten_stack_get_current)) - (elem (;0;) (i32.const 1) func $__wasm_call_ctors)) diff --git a/JSTests/wasm/debugger/resources/c-wasm/add/add.c b/JSTests/wasm/debugger/resources/c-wasm/add/add.c new file mode 100644 index 0000000000000..365661da70d0a --- /dev/null +++ b/JSTests/wasm/debugger/resources/c-wasm/add/add.c @@ -0,0 +1,11 @@ +int add(int a, int b) { + int result = a + b; + return result; +} + +int main() { + int x = 10; + int y = 20; + int sum = add(x, y); + return sum; +} diff --git a/JSTests/wasm/debugger/resources/add/add.wasm b/JSTests/wasm/debugger/resources/c-wasm/add/add.wasm similarity index 59% rename from JSTests/wasm/debugger/resources/add/add.wasm rename to JSTests/wasm/debugger/resources/c-wasm/add/add.wasm index c8b44a860c9d2..256526e72bd4d 100755 Binary files a/JSTests/wasm/debugger/resources/add/add.wasm and b/JSTests/wasm/debugger/resources/c-wasm/add/add.wasm differ diff --git a/JSTests/wasm/debugger/resources/add/main.js b/JSTests/wasm/debugger/resources/c-wasm/add/main.js similarity index 99% rename from JSTests/wasm/debugger/resources/add/main.js rename to JSTests/wasm/debugger/resources/c-wasm/add/main.js index 6d073e9467f60..215fbbd12917d 100644 --- a/JSTests/wasm/debugger/resources/add/main.js +++ b/JSTests/wasm/debugger/resources/c-wasm/add/main.js @@ -1,6 +1,5 @@ var wasm_code = read('add.wasm', 'binary'); var wasm_module = new WebAssembly.Module(wasm_code); - var imports = { wasi_snapshot_preview1: { proc_exit: function (code) { diff --git a/JSTests/wasm/debugger/resources/swift-wasm/test/Package.swift b/JSTests/wasm/debugger/resources/swift-wasm/test/Package.swift new file mode 100644 index 0000000000000..2d3609bcbbb72 --- /dev/null +++ b/JSTests/wasm/debugger/resources/swift-wasm/test/Package.swift @@ -0,0 +1,19 @@ +// swift-tools-version: 6.2 +// The swift-tools-version declares the minimum version of Swift required to build this package. + +import PackageDescription + +let package = Package( + name: "test", + targets: [ + // Targets are the basic building blocks of a package, defining a module or a test suite. + // Targets can depend on other targets in this package and products from dependencies. + .executableTarget( + name: "test", + path: "Sources/test", + linkerSettings: [ + .unsafeFlags(["-Xlinker", "--export=process_number"]) + ] + ) + ] +) diff --git a/JSTests/wasm/debugger/resources/swift-wasm/test/Sources/test/test.swift b/JSTests/wasm/debugger/resources/swift-wasm/test/Sources/test/test.swift new file mode 100644 index 0000000000000..8e605b802c2b4 --- /dev/null +++ b/JSTests/wasm/debugger/resources/swift-wasm/test/Sources/test/test.swift @@ -0,0 +1,28 @@ +func doubleValue(_ x: Int32) -> Int32 { + x * 2 +} + +func addNumbers(_ a: Int32, _ b: Int32) -> Int32 { + a + b +} + +func isEven(_ n: Int32) -> Bool { + n % 2 == 0 +} + +@_cdecl("process_number") +public func processNumber(_ input: Int32) -> Int32 { + let doubled = doubleValue(input) + let sum = addNumbers(input, doubled) + guard isEven(sum) else { + return sum + 5 + } + return sum + 10 +} + +@main +struct Demo { + static func main() { + _ = processNumber + } +} diff --git a/JSTests/wasm/debugger/resources/swift-wasm/test/main.js b/JSTests/wasm/debugger/resources/swift-wasm/test/main.js new file mode 100644 index 0000000000000..1e49b8ebeff2e --- /dev/null +++ b/JSTests/wasm/debugger/resources/swift-wasm/test/main.js @@ -0,0 +1,39 @@ +var wasm_code = read('test.wasm', 'binary'); +var wasm_module = new WebAssembly.Module(wasm_code); +var imports = { + wasi_snapshot_preview1: { + proc_exit: function (code) { + print("Program exited with code:", code); + }, + args_get: function () { return 0; }, + args_sizes_get: function () { return 0; }, + environ_get: function () { return 0; }, + environ_sizes_get: function () { return 0; }, + fd_write: function () { return 0; }, + fd_read: function () { return 0; }, + fd_close: function () { return 0; }, + fd_seek: function () { return 0; }, + fd_fdstat_get: function () { return 0; }, + fd_prestat_get: function () { return 8; }, + fd_prestat_dir_name: function () { return 8; }, + path_open: function () { return 8; }, + random_get: function () { return 0; }, + clock_time_get: function () { return 0; } + } +}; + +var instance = new WebAssembly.Instance(wasm_module, imports); + +print("Available exports:", Object.keys(instance.exports)); + +let processNumber = instance.exports.process_number; + +let iteration = 0; +for (; ;) { + processNumber(iteration); + iteration += 1; + if (iteration % 1e5 == 0) + print("iteration=", iteration); +} + + diff --git a/JSTests/wasm/debugger/resources/swift-wasm/test/test.wasm b/JSTests/wasm/debugger/resources/swift-wasm/test/test.wasm new file mode 100755 index 0000000000000..29754c160add3 Binary files /dev/null and b/JSTests/wasm/debugger/resources/swift-wasm/test/test.wasm differ diff --git a/JSTests/wasm/debugger/test-wasm-debugger.py b/JSTests/wasm/debugger/test-wasm-debugger.py index 88fe9a88f7e25..dd00c174f1ee7 100755 --- a/JSTests/wasm/debugger/test-wasm-debugger.py +++ b/JSTests/wasm/debugger/test-wasm-debugger.py @@ -8,7 +8,13 @@ import argparse from lib.core.utils import Logger from lib.runners.parallel import ParallelWebAssemblyDebuggerTestRunner -from lib.discovery.auto_discovery import create_auto_registered_runner, TestCaseDiscovery +from lib.discovery.auto_discovery import ( + create_auto_registered_runner, + TestCaseDiscovery, +) + +# Prevent creation of __pycache__ directories +sys.dont_write_bytecode = True def get_optimal_worker_count(): diff --git a/JSTests/wasm/debugger/tests/add.py b/JSTests/wasm/debugger/tests/add.py deleted file mode 100644 index 742efd7443d11..0000000000000 --- a/JSTests/wasm/debugger/tests/add.py +++ /dev/null @@ -1,253 +0,0 @@ -from lib.core.base import BaseTestCase, PatternMatchMode - - -class AddTestCase(BaseTestCase): - - def __init__(self, build_config: str = None, port: int = None): - super().__init__(build_config, port) - - def execute(self): - - self.setup_debugging_session_or_raise("resources/add/main.js") - - try: - for _ in range(1): - self.continueInterruptTest() - self.breakpointTest() - self.inspectionTest() - self.stepTest() - self.memoryTest() - - except Exception as e: - raise Exception(f"Breakpoint test failed: {e}") - - def continueInterruptTest(self): - cycles = 10 - for cycle in range(1, cycles + 1): - try: - self.send_lldb_command_or_raise("c") - self.send_lldb_command_or_raise("process interrupt") - except Exception as e: - raise Exception(f"Cycle {cycle} failed: {e}") - - def breakpointTest(self): - self.send_lldb_command_or_raise(f"b add") - - for _ in range(10): - self.send_lldb_command_or_raise( - "c", patterns=["Process 1 stopped", "stop reason = breakpoint"] - ) - - self.send_lldb_command_or_raise("b main") - - self.send_lldb_command_or_raise( - "br list", - patterns=[ - "Current breakpoints:", - "name = 'add'", - "name = 'main'", - ], - ) - - for _ in range(10): - self.send_lldb_command_or_raise( - "c", - patterns=[ - "add.c:7:9", - "add.c:2:18", - ], - mode=PatternMatchMode.ANY, - ) - - self.send_lldb_command_or_raise( - "br del -f", patterns=["All breakpoints removed. (2 breakpoints)"] - ) - - def inspectionTest(self): - self.send_lldb_command_or_raise( - "target modules list", patterns=["(0x4000000000000000)"] - ) - - self.send_lldb_command_or_raise( - "list 1", - patterns=[ - "add(int a, int b)", - "main()", - ], - ) - - self.send_lldb_command_or_raise(f"b add") - self.send_lldb_command_or_raise( - "c", patterns=["Process 1 stopped", "stop reason = breakpoint"] - ) - - self.send_lldb_command_or_raise( - "dis", patterns=["-> 0x400000000000018b <+28>: local.get 2"] - ) - - self.send_lldb_command_or_raise( - "bt", - patterns=[ - "frame #0: 0x400000000000018b", - "frame #1: 0x40000000000001e0", - "frame #2: 0x4000000000000201", - ], - ) - - self.send_lldb_command_or_raise( - "var", - patterns=[ - "a =", - "b =", - "result =", - ], - ) - - self.send_lldb_command_or_raise( - "thread list", - patterns=[ - "0x400000000000018b", - "add.c:2:18", - ], - ) - - self.send_lldb_command_or_raise( - "br del -f", patterns=["All breakpoints removed. (1 breakpoint)"] - ) - - def stepTest(self): - - self.send_lldb_command_or_raise("b main") - - # Step over - self.send_lldb_command_or_raise( - "c", patterns=["Process 1 stopped", "stop reason = breakpoint"] - ) - - self.send_lldb_command_or_raise( - "dis", patterns=["-> 0x40000000000001c0 <+29>: local.get 0"] - ) - - patterns = [ - ["-> 0x40000000000001c7 <+36>: local.get 0"], - ["-> 0x40000000000001ce <+43>: local.get 0"], - ["-> 0x40000000000001e3 <+64>: local.get 0"], - ["-> 0x4000000000000201"], - ["-> 0x40000000000001c0 <+29>: local.get 0"], - ] - - for _ in range(10): - for pattern in patterns: - self.send_lldb_command_or_raise("n") - self.send_lldb_command_or_raise("dis", patterns=pattern) - - # Step Into - self.send_lldb_command_or_raise( - "c", patterns=["Process 1 stopped", "stop reason = breakpoint"] - ) - - self.send_lldb_command_or_raise( - "dis", patterns=["-> 0x40000000000001c0 <+29>: local.get 0"] - ) - - patterns = [ - ["-> 0x40000000000001c7 <+36>: local.get 0"], - ["-> 0x40000000000001ce <+43>: local.get 0"], - ["-> 0x4000000000000172 <+3>: global.get 0"], - ["-> 0x400000000000018b <+28>: local.get 2"], - ["-> 0x400000000000019b <+44>: local.get 2"], - ["-> 0x40000000000001e0 <+61>: i32.store 0"], - ["-> 0x40000000000001e3 <+64>: local.get 0"], - ["-> 0x4000000000000201"], - ["-> 0x40000000000001c0 <+29>: local.get 0"], - ] - - for _ in range(10): - for pattern in patterns: - self.send_lldb_command_or_raise("s") - self.send_lldb_command_or_raise("dis", patterns=pattern) - - # Step Out - self.send_lldb_command_or_raise( - "br del -f", patterns=["All breakpoints removed. (1 breakpoint)"] - ) - - self.send_lldb_command_or_raise("b add") - - for _ in range(10): - self.send_lldb_command_or_raise( - "c", patterns=["Process 1 stopped", "stop reason = breakpoint"] - ) - - self.send_lldb_command_or_raise( - "dis", patterns=["-> 0x400000000000018b <+28>: local.get 2"] - ) - - self.send_lldb_command_or_raise("fin") - - self.send_lldb_command_or_raise( - "dis", patterns=["-> 0x40000000000001e0 <+61>: i32.store 0"] - ) - - # Step Instruction - self.send_lldb_command_or_raise( - "c", patterns=["Process 1 stopped", "stop reason = breakpoint"] - ) - - self.send_lldb_command_or_raise( - "dis", patterns=["-> 0x400000000000018b <+28>: local.get 2"] - ) - - for _ in range(10): - patterns = [ - ["-> 0x400000000000018d <+30>: local.get 2"], - ["-> 0x400000000000018f <+32>: i32.load 12"], - ["-> 0x4000000000000192 <+35>: local.get 2"], - ["-> 0x4000000000000194 <+37>: i32.load 8"], - ["-> 0x4000000000000197 <+40>: i32.add"], - ["-> 0x4000000000000198 <+41>: i32.store 4"], - ["-> 0x400000000000019b <+44>: local.get 2"], - ["-> 0x400000000000019d <+46>: i32.load 4"], - ["-> 0x40000000000001a0 <+49>: return"], - ["-> 0x40000000000001e0 <+61>: i32.store 0"], - ["-> 0x40000000000001e3 <+64>: local.get 0"], - ["-> 0x40000000000001e5 <+66>: i32.load 0"], - ["-> 0x40000000000001e8 <+69>: local.set 1"], - ["-> 0x40000000000001ea <+71>: local.get 0"], - ["-> 0x40000000000001ec <+73>: i32.const 16"], - ["-> 0x40000000000001ee <+75>: i32.add"], - ["-> 0x40000000000001ef <+76>: global.set 0"], - ["-> 0x40000000000001f5 <+82>: local.get 1"], - ["-> 0x40000000000001f7 <+84>: return"], - ["-> 0x4000000000000201"], - ["-> 0x400000000000018b <+28>: local.get 2"], - ] - - for pattern in patterns: - self.send_lldb_command_or_raise("si") - self.send_lldb_command_or_raise("dis", patterns=pattern) - - self.send_lldb_command_or_raise( - "br del -f", patterns=["All breakpoints removed. (1 breakpoint)"] - ) - - def memoryTest(self): - self.send_lldb_command_or_raise( - "mem reg --all", - patterns=[ - "[0x0000000000000000-0x0000000001010000) rw- wasm_memory_0_0", - "[0x0000000001010000-0x4000000000000000) ---", - "[0x4000000000000000-0x40000000000013e8) r-x wasm_module_0", - "[0x40000000000013e8-0xffffffffffffffff) ---", - ], - ) - - self.send_lldb_command_or_raise( - "mem reg 0x4000000000000000", - patterns=["[0x4000000000000000-0x40000000000013e8) r-x wasm_module_0"], - ) - - self.send_lldb_command_or_raise( - "mem reg 0x0000000000000000", - patterns=["[0x0000000000000000-0x0000000001010000) rw- wasm_memory_0_0"], - ) diff --git a/JSTests/wasm/debugger/tests/tests.py b/JSTests/wasm/debugger/tests/tests.py new file mode 100644 index 0000000000000..9841e5194485e --- /dev/null +++ b/JSTests/wasm/debugger/tests/tests.py @@ -0,0 +1,484 @@ +from lib.core.base import BaseTestCase, PatternMatchMode + + +class CWasmTestCase(BaseTestCase): + + def __init__(self, build_config: str = None, port: int = None): + super().__init__(build_config, port) + + def execute(self): + + self.setup_debugging_session_or_raise("resources/c-wasm/add/main.js") + + try: + for _ in range(1): + self.continueInterruptTest() + self.breakpointTest() + self.inspectionTest() + self.stepTest() + self.memoryTest() + + except Exception as e: + raise Exception(f"Breakpoint test failed: {e}") + + def continueInterruptTest(self): + cycles = 10 + for cycle in range(1, cycles + 1): + try: + self.send_lldb_command_or_raise("c") + self.send_lldb_command_or_raise("process interrupt") + except Exception as e: + raise Exception(f"Cycle {cycle} failed: {e}") + + def breakpointTest(self): + self.send_lldb_command_or_raise(f"b add") + + for _ in range(10): + self.send_lldb_command_or_raise( + "c", patterns=["Process 1 stopped", "stop reason = breakpoint"] + ) + + self.send_lldb_command_or_raise("b main") + + self.send_lldb_command_or_raise( + "br list", + patterns=[ + "Current breakpoints:", + "name = 'add'", + "name = 'main'", + ], + ) + + for _ in range(10): + self.send_lldb_command_or_raise( + "c", + patterns=[ + "add.c:7:9", + "add.c:2:18", + ], + mode=PatternMatchMode.ANY, + ) + + self.send_lldb_command_or_raise( + "br del -f", patterns=["All breakpoints removed. (2 breakpoints)"] + ) + + def inspectionTest(self): + self.send_lldb_command_or_raise( + "target modules list", patterns=["(0x4000000000000000)"] + ) + + self.send_lldb_command_or_raise( + "list 1", + patterns=[ + "add(int a, int b)", + "main()", + ], + ) + + self.send_lldb_command_or_raise(f"b add") + self.send_lldb_command_or_raise( + "c", patterns=["Process 1 stopped", "stop reason = breakpoint"] + ) + self.send_lldb_command_or_raise( + "dis", patterns=["-> 0x400000000000018b <+28>: local.get 2"] + ) + + self.send_lldb_command_or_raise( + "bt", + patterns=[ + "frame #0: 0x400000000000018b", + "frame #1: 0x40000000000001e0", + "frame #2: 0x4000000000000201", + ], + ) + + self.send_lldb_command_or_raise( + "var", + patterns=[ + "a =", + "b =", + "result =", + ], + ) + + self.send_lldb_command_or_raise( + "thread list", + patterns=[ + "0x400000000000018b", + "add.c:2:18", + ], + ) + + self.send_lldb_command_or_raise( + "br del -f", patterns=["All breakpoints removed. (1 breakpoint)"] + ) + + def stepTest(self): + + self.send_lldb_command_or_raise("b main") + + # Step over + self.send_lldb_command_or_raise( + "c", patterns=["Process 1 stopped", "stop reason = breakpoint"] + ) + self.send_lldb_command_or_raise( + "dis", patterns=["-> 0x40000000000001c0 <+29>: local.get 0"] + ) + + patterns = [ + ["-> 0x40000000000001c7 <+36>: local.get 0"], + ["-> 0x40000000000001ce <+43>: local.get 0"], + ["-> 0x40000000000001e3 <+64>: local.get 0"], + ["-> 0x4000000000000201"], + ["-> 0x40000000000001c0 <+29>: local.get 0"], + ] + + for _ in range(10): + for pattern in patterns: + self.send_lldb_command_or_raise("n") + self.send_lldb_command_or_raise("dis", patterns=pattern) + + # Step Into + self.send_lldb_command_or_raise( + "c", patterns=["Process 1 stopped", "stop reason = breakpoint"] + ) + self.send_lldb_command_or_raise( + "dis", patterns=["-> 0x40000000000001c0 <+29>: local.get 0"] + ) + + patterns = [ + ["-> 0x40000000000001c7 <+36>: local.get 0"], + ["-> 0x40000000000001ce <+43>: local.get 0"], + ["-> 0x4000000000000172 <+3>: global.get 0"], + ["-> 0x400000000000018b <+28>: local.get 2"], + ["-> 0x400000000000019b <+44>: local.get 2"], + ["-> 0x40000000000001e0 <+61>: i32.store 0"], + ["-> 0x40000000000001e3 <+64>: local.get 0"], + ["-> 0x4000000000000201"], + ["-> 0x40000000000001c0 <+29>: local.get 0"], + ] + + for _ in range(10): + for pattern in patterns: + self.send_lldb_command_or_raise("s") + self.send_lldb_command_or_raise("dis", patterns=pattern) + + # Step Out + self.send_lldb_command_or_raise( + "br del -f", patterns=["All breakpoints removed. (1 breakpoint)"] + ) + + self.send_lldb_command_or_raise("b add") + + for _ in range(10): + self.send_lldb_command_or_raise( + "c", patterns=["Process 1 stopped", "stop reason = breakpoint"] + ) + self.send_lldb_command_or_raise( + "dis", patterns=["-> 0x400000000000018b <+28>: local.get 2"] + ) + + self.send_lldb_command_or_raise("fin") + self.send_lldb_command_or_raise( + "dis", patterns=["-> 0x40000000000001e0 <+61>: i32.store 0"] + ) + + # Step Instruction + self.send_lldb_command_or_raise( + "c", patterns=["Process 1 stopped", "stop reason = breakpoint"] + ) + + self.send_lldb_command_or_raise( + "dis", patterns=["-> 0x400000000000018b <+28>: local.get 2"] + ) + + for _ in range(10): + patterns = [ + ["-> 0x400000000000018d <+30>: local.get 2"], + ["-> 0x400000000000018f <+32>: i32.load 12"], + ["-> 0x4000000000000192 <+35>: local.get 2"], + ["-> 0x4000000000000194 <+37>: i32.load 8"], + ["-> 0x4000000000000197 <+40>: i32.add"], + ["-> 0x4000000000000198 <+41>: i32.store 4"], + ["-> 0x400000000000019b <+44>: local.get 2"], + ["-> 0x400000000000019d <+46>: i32.load 4"], + ["-> 0x40000000000001a0 <+49>: return"], + ["-> 0x40000000000001e0 <+61>: i32.store 0"], + ["-> 0x40000000000001e3 <+64>: local.get 0"], + ["-> 0x40000000000001e5 <+66>: i32.load 0"], + ["-> 0x40000000000001e8 <+69>: local.set 1"], + ["-> 0x40000000000001ea <+71>: local.get 0"], + ["-> 0x40000000000001ec <+73>: i32.const 16"], + ["-> 0x40000000000001ee <+75>: i32.add"], + ["-> 0x40000000000001ef <+76>: global.set 0"], + ["-> 0x40000000000001f5 <+82>: local.get 1"], + ["-> 0x40000000000001f7 <+84>: return"], + ["-> 0x4000000000000201"], + ["-> 0x400000000000018b <+28>: local.get 2"], + ] + + for pattern in patterns: + self.send_lldb_command_or_raise("si") + self.send_lldb_command_or_raise("dis", patterns=pattern) + + self.send_lldb_command_or_raise( + "br del -f", patterns=["All breakpoints removed. (1 breakpoint)"] + ) + + def memoryTest(self): + self.send_lldb_command_or_raise( + "mem reg --all", + patterns=[ + "[0x0000000000000000-0x0000000001010000) rw- wasm_memory_0_0", + "[0x0000000001010000-0x4000000000000000) ---", + "[0x4000000000000000-0x40000000000014e0) r-x wasm_module_0", + "[0x40000000000014e0-0xffffffffffffffff) ---", + ], + ) + + self.send_lldb_command_or_raise( + "mem reg 0x4000000000000000", + patterns=["[0x4000000000000000-0x40000000000014e0) r-x wasm_module_0"], + ) + + self.send_lldb_command_or_raise( + "mem reg 0x0000000000000000", + patterns=["[0x0000000000000000-0x0000000001010000) rw- wasm_memory_0_0"], + ) + + +class SwiftWasmTestCase(BaseTestCase): + + def __init__(self, build_config: str = None, port: int = None): + super().__init__(build_config, port) + + def execute(self): + + self.setup_debugging_session_or_raise("resources/swift-wasm/test/main.js") + + try: + for _ in range(1): + self.continueInterruptTest() + self.breakpointTest() + self.inspectionTest() + self.stepTest() + + except Exception as e: + raise Exception(f"Breakpoint test failed: {e}") + + def continueInterruptTest(self): + cycles = 10 + for cycle in range(1, cycles + 1): + try: + self.send_lldb_command_or_raise("c") + self.send_lldb_command_or_raise("process interrupt") + except Exception as e: + raise Exception(f"Cycle {cycle} failed: {e}") + + def breakpointTest(self): + self.send_lldb_command_or_raise(f"b processNumber") + + for _ in range(10): + self.send_lldb_command_or_raise( + "c", patterns=["Process 1 stopped", "stop reason = breakpoint"] + ) + + self.send_lldb_command_or_raise("b test.swift:17") + + self.send_lldb_command_or_raise( + "br list", + patterns=[ + "Current breakpoints:", + "name = 'processNumber'", + "file = 'test.swift', line = 17", + ], + ) + + for _ in range(10): + self.send_lldb_command_or_raise( + "c", + patterns=[ + "test.swift:15", + "test.swift:17", + ], + mode=PatternMatchMode.ANY, + ) + + self.send_lldb_command_or_raise( + "br del -f", patterns=["All breakpoints removed. (2 breakpoints)"] + ) + + def inspectionTest(self): + self.send_lldb_command_or_raise( + "target modules list", patterns=["(0x4000000000000000)"] + ) + + self.send_lldb_command_or_raise( + "list 1", + patterns=[ + "func doubleValue(_ x: Int32) -> Int32", + "func addNumbers(_ a: Int32, _ b: Int32) -> Int32", + "func isEven(_ n: Int32) -> Bool", + ], + ) + + self.send_lldb_command_or_raise(f"b isEven") + self.send_lldb_command_or_raise( + "c", patterns=["Process 1 stopped", "stop reason = breakpoint"] + ) + self.send_lldb_command_or_raise( + "dis", patterns=["-> 0x4000000000010960 <+28>: block"] + ) + + self.send_lldb_command_or_raise( + "bt", + patterns=[ + "frame #0: 0x4000000000010960", + "frame #1: 0x4000000000010a05", + "frame #2: 0x400000000001098f", + ], + ) + + self.send_lldb_command_or_raise("var", patterns=["n ="]) + + self.send_lldb_command_or_raise( + "thread list", + patterns=[ + "0x4000000000010960", + "test.swift:10:7", + ], + ) + + self.send_lldb_command_or_raise( + "br del -f", patterns=["All breakpoints removed. (1 breakpoint)"] + ) + + def stepTest(self): + self.send_lldb_command_or_raise("b processNumber") + + # TODO: Step over - Current Swift LLDB is problematic with step over + + # Step Into + self.send_lldb_command_or_raise( + "c", patterns=["Process 1 stopped", "stop reason = breakpoint"] + ) + self.send_lldb_command_or_raise( + "dis", patterns=["-> 0x40000000000109cb <+56>: call 18"] + ) + + patterns = [ + ["-> 0x40000000000108b9 <+3>: global.get 0"], + ["-> 0x40000000000108d6 <+32>: i32.lt_s"], + ["-> 0x40000000000108ef <+57>: local.get 5"], + ["-> 0x40000000000109d1 <+62>: local.set 4"], + ["-> 0x40000000000109e2 <+79>: call 19"], + ["-> 0x40000000000108f9 <+3>: global.get 0"], + ["-> 0x4000000000010924 <+46>: i32.lt_s"], + ["-> 0x400000000001093d <+71>: local.get 6"], + ["-> 0x40000000000109e8 <+85>: local.set 5"], + ["-> 0x40000000000109ff <+108>: call 20"], + ["-> 0x4000000000010947 <+3>: global.get 0"], + ["-> 0x4000000000010960 <+28>: block"], + ["-> 0x400000000001097f <+59>: return"], + ["-> 0x4000000000010a05 <+114>: i32.const 1"], + ] + + for pattern in patterns: + self.send_lldb_command_or_raise("s") + self.send_lldb_command_or_raise("dis", patterns=pattern) + + self.send_lldb_command_or_raise( + "br del -f", patterns=["All breakpoints removed. (1 breakpoint)"] + ) + + # Step Out + self.send_lldb_command_or_raise("b addNumbers") + + for _ in range(10): + self.send_lldb_command_or_raise( + "c", patterns=["Process 1 stopped", "stop reason = breakpoint"] + ) + self.send_lldb_command_or_raise( + "dis", patterns=["-> 0x4000000000010924 <+46>: i32.lt_s"] + ) + + self.send_lldb_command_or_raise("fin") + self.send_lldb_command_or_raise( + "dis", patterns=["-> 0x40000000000109e8 <+85>: local.set 5"] + ) + + self.send_lldb_command_or_raise( + "br del -f", patterns=["All breakpoints removed. (1 breakpoint)"] + ) + + # Step Instruction + self.send_lldb_command_or_raise("b processNumber") + self.send_lldb_command_or_raise( + "c", patterns=["Process 1 stopped", "stop reason = breakpoint"] + ) + self.send_lldb_command_or_raise( + "dis", patterns=["-> 0x40000000000109cb <+56>: call 18"] + ) + + patterns = [ + ["-> 0x40000000000108b9 <+3>: global.get 0"], + ["-> 0x40000000000108bf <+9>: i32.const 16"], + ["-> 0x40000000000108c1 <+11>: i32.sub"], + ["-> 0x40000000000108c2 <+12>: local.set 3"], + ["-> 0x40000000000108c4 <+14>: local.get 3"], + ["-> 0x40000000000108c6 <+16>: i32.const 0"], + ["-> 0x40000000000108c8 <+18>: i32.store 12"], + ["-> 0x40000000000108cb <+21>: local.get 3"], + ["-> 0x40000000000108cd <+23>: local.get 0"], + ["-> 0x40000000000108cf <+25>: i32.store 12"], + ["-> 0x40000000000108d2 <+28>: local.get 0"], + ["-> 0x40000000000108d4 <+30>: i32.const 0"], + ["-> 0x40000000000108d6 <+32>: i32.lt_s"], + ["-> 0x40000000000108d7 <+33>: local.set 4"], + ["-> 0x40000000000108d9 <+35>: local.get 0"], + ["-> 0x40000000000108db <+37>: local.get 0"], + ["-> 0x40000000000108dd <+39>: i32.add"], + ["-> 0x40000000000108de <+40>: local.set 5"], + ["-> 0x40000000000108e0 <+42>: block"], + ["-> 0x40000000000108e2 <+44>: local.get 4"], + ["-> 0x40000000000108e4 <+46>: local.get 5"], + ["-> 0x40000000000108e6 <+48>: local.get 0"], + ["-> 0x40000000000108e8 <+50>: i32.lt_s"], + ["-> 0x40000000000108e9 <+51>: i32.xor"], + ["-> 0x40000000000108ea <+52>: i32.const 1"], + ["-> 0x40000000000108ec <+54>: i32.and"], + ["-> 0x40000000000108ed <+55>: br_if 0"], + ["-> 0x40000000000108ef <+57>: local.get 5"], + ["-> 0x40000000000108f1 <+59>: return"], + ["-> 0x40000000000109d1 <+62>: local.set 4"], + ] + + for pattern in patterns: + self.send_lldb_command_or_raise("si") + self.send_lldb_command_or_raise("dis", patterns=pattern) + + self.send_lldb_command_or_raise( + "br del -f", patterns=["All breakpoints removed. (1 breakpoint)"] + ) + + def memoryTest(self): + self.send_lldb_command_or_raise( + "mem reg --all", + patterns=[ + "[0x0000000000000000-0x0000000000130000) rw- wasm_memory_0_0", + "[0x0000000000130000-0x4000000000000000) ---", + "[0x4000000000000000-0x40000000006b1239) r-x wasm_module_0", + "[0x40000000006b1239-0xffffffffffffffff) ---", + ], + ) + + self.send_lldb_command_or_raise( + "mem reg 0x4000000000000000", + patterns=["[0x4000000000000000-0x40000000006b1239) r-x wasm_module_0"], + ) + + self.send_lldb_command_or_raise( + "mem reg 0x0000000000000000", + patterns=["[0x0000000000000000-0x0000000000130000) rw- wasm_memory_0_0"], + ) diff --git a/JSTests/wasm/gc/simd.js b/JSTests/wasm/gc/simd.js index 34fefb818a684..4ce405698b4f5 100644 --- a/JSTests/wasm/gc/simd.js +++ b/JSTests/wasm/gc/simd.js @@ -413,6 +413,30 @@ function testSIMDGlobal() { (global v128 (global.get 1)) (global v128 (global.get 3))) `); + + { + let wat = ` + (module + (type $V128Array (array v128)) + + (global $g1 v128 (v128.const i64x2 1 2)) + (global $g2 (export "g2") (ref $V128Array) + (global.get $g1) + (array.new_fixed $V128Array 1) + ) + (func (export "lane0") (result i64) + (i64x2.extract_lane 0 (array.get $V128Array (global.get $g2) (i32.const 0))) + ) + (func (export "lane1") (result i64) + (i64x2.extract_lane 1 (array.get $V128Array (global.get $g2) (i32.const 0))) + ) + ) + `; + + let instance = instantiate(wat); + assert.eq(instance.exports.lane0(), 1n); + assert.eq(instance.exports.lane1(), 2n); + } } testSIMDStruct(); diff --git a/JSTests/wasm/stress/exception-containing-v128.js b/JSTests/wasm/stress/exception-containing-v128.js index b812ee5a0cedf..c58126676e133 100644 --- a/JSTests/wasm/stress/exception-containing-v128.js +++ b/JSTests/wasm/stress/exception-containing-v128.js @@ -101,10 +101,13 @@ let wat = ` async function test() { const instance = await instantiate(wat, {}, { exceptions: true, simd: true }); - assert.eq(instance.exports.testCatchOwnV128(), 42); - assert.eq(instance.exports.testCatchCalleeV128(), 42); - assert.eq(instance.exports.testLotsOfInterleavedTypes(), 42); - assert.throws(() => instance.exports.testThrowV128ToJS(), WebAssembly.Exception); + + for (let i = 0; i < wasmTestLoopCount; i++) { + assert.eq(instance.exports.testCatchOwnV128(), 42); + assert.eq(instance.exports.testCatchCalleeV128(), 42); + assert.eq(instance.exports.testLotsOfInterleavedTypes(), 42); + assert.throws(() => instance.exports.testThrowV128ToJS(), WebAssembly.Exception); + } } await assert.asyncTest(test()); diff --git a/JSTests/wasm/stress/exception-thrown-at-end-of-catch.js b/JSTests/wasm/stress/exception-thrown-at-end-of-catch.js new file mode 100644 index 0000000000000..dc6e2c57c6dde --- /dev/null +++ b/JSTests/wasm/stress/exception-thrown-at-end-of-catch.js @@ -0,0 +1,32 @@ + +/* +(module + (tag $e0) + + (table $0 i32 10 funcref) + (elem (i32.const 0) $1) + + (export "main" (func 0)) + (func $0 + (try + (do + (i32.const 0) + (call_indirect $0) + ) + (catch_all + (nop) + ) + ) + ) + (func $1 + (throw $e0) + ) +) +*/ + +const instance = new WebAssembly.Instance(new WebAssembly.Module(new Uint8Array([ + 0x00,0x61,0x73,0x6d,0x01,0x00,0x00,0x00,0x01,0x04,0x01,0x60,0x00,0x00,0x03,0x03,0x02,0x00,0x00,0x04,0x04,0x01,0x70,0x00,0x0a,0x0d,0x03,0x01,0x00,0x00,0x07,0x08,0x01,0x04,0x6d,0x61,0x69,0x6e,0x00,0x00,0x09,0x07,0x01,0x00,0x41,0x00,0x0b,0x01,0x01,0x0a,0x13,0x02,0x0c,0x00,0x06,0x40,0x41,0x00,0x11,0x00,0x00,0x19,0x01,0x0b,0x0b,0x04,0x00,0x08,0x00,0x0b, +]))); + +instance.exports.main(); + diff --git a/JSTests/wasm/stress/import-exception-tag-with-v128.js b/JSTests/wasm/stress/import-exception-tag-with-v128.js index 68dc9b5ca12b4..7b29b0161710a 100644 --- a/JSTests/wasm/stress/import-exception-tag-with-v128.js +++ b/JSTests/wasm/stress/import-exception-tag-with-v128.js @@ -50,9 +50,12 @@ async function test() { vvtag: vvtag, vitag: vitag } }, { exceptions: true, simd: true }); - assert.eq(instance.exports.testThrowV128(), 42); - assert.eq(instance.exports.testThrowV128Pair(), 42); - assert.eq(instance.exports.testThrowV128AndI32(), 42); + + for (let i = 0; i < wasmTestLoopCount; i++) { + assert.eq(instance.exports.testThrowV128(), 42); + assert.eq(instance.exports.testThrowV128Pair(), 42); + assert.eq(instance.exports.testThrowV128AndI32(), 42); + } } await assert.asyncTest(test()); diff --git a/JSTests/wasm/stress/large-string-constants.js b/JSTests/wasm/stress/large-string-constants.js new file mode 100644 index 0000000000000..2669febbb652e --- /dev/null +++ b/JSTests/wasm/stress/large-string-constants.js @@ -0,0 +1,38 @@ +import { instantiate } from "../wabt-wrapper.js" +import * as assert from "../assert.js" + +function generateRandomAlphanumericString(length) { + if (length < 0) { + throw new Error("Length must be non-negative"); + } + + const characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'; + let result = ''; + + for (let i = 0; i < length; i++) { + result += characters.charAt(Math.floor(Math.random() * characters.length)); + } + + return result; +} + +async function test() { + let hugeStr1 = generateRandomAlphanumericString(500_000); + let hugeStr2 = generateRandomAlphanumericString(500_000); + let wat = ` + (module + (import "ns" "${hugeStr2}" (global $const1 externref)) + (func (export "${hugeStr1}") (result i32) + (return (i32.const 42)) + ) + ) + `; + + const ns = { [hugeStr2]: "foo" }; + + let instance = await instantiate(wat, { ns }, {}); + + assert.truthy(Object.hasOwn(instance.exports, hugeStr1)); +} + +await assert.asyncTest(test()); diff --git a/JSTests/wasm/stress/omg-osr-stack-slot-positioning.js b/JSTests/wasm/stress/omg-osr-stack-slot-positioning.js new file mode 100644 index 0000000000000..c960b45e77de0 --- /dev/null +++ b/JSTests/wasm/stress/omg-osr-stack-slot-positioning.js @@ -0,0 +1,118 @@ +//@ skip if !$isWasmPlatform or $buildType == "debug" + +function instantiate(moduleBase64, importObject) { + let bytes = Uint8Array.fromBase64(moduleBase64); + return WebAssembly.instantiate(bytes, importObject); + } + const report = $.agent.report; + const isJIT = callerIsBBQOrOMGCompiled; +const extra = {isJIT}; +(async function () { +let memory0 = new WebAssembly.Memory({initial: 2657, shared: true, maximum: 5930}); +/** +@param {I64} a0 +@param {FuncRef} a1 +@param {FuncRef} a2 +@returns {[I64, FuncRef, FuncRef]} + */ +let fn0 = function (a0, a1, a2) { +a0?.toString(); a1?.toString(); a2?.toString(); +return [230n, a1, a2]; +}; +/** +@returns {void} + */ +let fn1 = function () { +}; +/** +@returns {void} + */ +let fn2 = function () { +}; +/** +@param {I64} a0 +@param {FuncRef} a1 +@param {FuncRef} a2 +@returns {[I64, FuncRef, FuncRef]} + */ +let fn3 = function (a0, a1, a2) { +a0?.toString(); a1?.toString(); a2?.toString(); +return [1376n, a1, a1]; +}; +/** +@param {I64} a0 +@param {FuncRef} a1 +@param {FuncRef} a2 +@returns {void} + */ +let fn4 = function (a0, a1, a2) { +a0?.toString(); a1?.toString(); a2?.toString(); +}; +let tag2 = new WebAssembly.Tag({parameters: ['i64', 'anyfunc', 'anyfunc']}); +let tag4 = new WebAssembly.Tag({parameters: []}); +let global0 = new WebAssembly.Global({value: 'i64', mutable: true}, 2544446354n); +let table0 = new WebAssembly.Table({initial: 90, element: 'externref'}); +let table2 = new WebAssembly.Table({initial: 80, element: 'anyfunc', maximum: 80}); +let table4 = new WebAssembly.Table({initial: 21, element: 'externref', maximum: 557}); +let table6 = new WebAssembly.Table({initial: 12, element: 'externref', maximum: 541}); +let m1 = {fn0, fn1, memory0, table5: table2, table6, table7: table4, table8: table4, tag3: tag2, tag5: tag2}; +let m0 = {fn2, fn4, table4, tag2}; +let m2 = {fn3, global0, table0, table1: table0, table2, table3: table0, tag4}; +let importObject0 = /** @type {Imports2} */ ({extra, m0, m1, m2}); +let i0 = await instantiate('AGFzbQEAAAABLwpgAAF/YAABcGAAAGAAAGAAAn5wYAAAYAAAYAN+cHAAYAN+cHADfnBwYAN+cHAAApACFQJtMQdtZW1vcnkwAgPhFKouAm0xA2ZuMAAIAm0xA2ZuMQACAm0wA2ZuMgAGAm0yA2ZuMwAIAm0wA2ZuNAAHBWV4dHJhBWlzSklUAAACbTAEdGFnMgQACQJtMQR0YWczBAAJAm0yBHRhZzQEAAICbTEEdGFnNQQACQJtMgdnbG9iYWwwA34BAm0yBnRhYmxlMAFvAFoCbTIGdGFibGUxAW8AHAJtMgZ0YWJsZTIBcAFQUAJtMgZ0YWJsZTMBbwAeAm0wBnRhYmxlNAFvARWtBAJtMQZ0YWJsZTUBcAE1+AMCbTEGdGFibGU2AW8BDJ0EAm0xBnRhYmxlNwFvAQGdBgJtMQZ0YWJsZTgBbwEOqQYDBAMABAkEHwhvAFRvACdvAQfDBW8BVogDcABGbwBJcAFdoQNvAE0NCQQABwACAAkABwZeDnwBRNDElsQj4bn5C28B0G8LfQFDAbNWrQt/AUEDC3AB0gcLcAHSBAt/AUECC30BQ5odw5MLfAFE2R6H/Xip+EsLcAHSBAt/AUE/C28B0G8LcAHSAwt/AUGegKIDCwf7ARoIZ2xvYmFsMTADCghnbG9iYWwxMwMNB2dsb2JhbDgDCAhnbG9iYWwxNAMOA2ZuNQAGCGdsb2JhbDExAwsHZ2xvYmFsNQMFCGdsb2JhbDEyAwwHZ2xvYmFsOQMJB2dsb2JhbDIDAgdnbG9iYWw0AwQHdGFibGUxMwEOB2dsb2JhbDMDAwR0YWcwBAAHdGFibGUxMgENB3RhYmxlMTEBDAR0YWcxBAMHZ2xvYmFsNgMGA2ZuNgAHB3RhYmxlMTABCwdnbG9iYWwxAwEHbWVtb3J5MQIAB2dsb2JhbDcDBwd0YWJsZTE1ARAGdGFibGU5AQoHdGFibGUxNAEPCcYGCgVwTdIFC9IFC9IBC9IFC9IHC9IGC9IBC9IGC9IEC9IIC9IEC9IIC9IDC9IHC9ICC9IDC9IAC9IAC9IHC9IIC9IFC9IDC9ICC9IBC9IAC9ICC9IEC9ICC9IHC9IHC9ICC9IDC9IHC9IDC9IGC9IHC9IAC9IFC9IFC9IHC9IHC9IBC9IEC9IIC9IEC9IIC9IHC9IIC9IDC9IHC9IHC9IAC9IBC9IAC9IHC9IHC9IBC9IDC9IBC9IHC9IIC9IHC9IDC9IAC9IHC9IIC9IAC9IGC9IIC9ICC9IEC9IIC9IBC9IEC9IFC9IBC9IHCwdwKdIEC9IGC9IBC9IBC9ICC9IHC9IAC9IAC9IAC9IGC9IGC9IAC9ICC9IEC9IIC9IBC9IFC9IIC9IAC9IFC9IHC9IHC9IBC9IHC9IDC9IHC9IFC9IDC9IHC9IGC9ICC9IDC9IBC9IFC9IAC9IHC9IGC9IFC9IDC9IIC9IDCwMAFgQAAwQFBgMBBQQDAQYEBgYFCAUBAwcDAF4DBQUGAwMIBwAAAwIGAgUAAwIDBAEGAgUGBwIFAQACAgcDBQEHAwADBQIABAgEBgIEBQcBAgEBAwgHAgICAwUFBAQAAQIBCAQEBQcEBAIFCAgHAgcDAwUHAwEDBwcGBXBj0gEL0gQL0gML0gcL0gAL0ggL0gQL0gQL0gQL0gUL0gEL0gML0gAL0gQL0gML0ggL0gYL0gUL0gML0gUL0gAL0gYL0gML0gIL0gcL0gEL0gUL0gEL0gML0gIL0gEL0gcL0ggL0gcL0gcL0ggL0gML0gEL0gAL0gcL0gYL0gML0gIL0ggL0ggL0gcL0gML0gAL0gML0gAL0gcL0ggL0gcL0gcL0ggL0gcL0gUL0gQL0gAL0ggL0gYL0ggL0gYL0gAL0gUL0gQL0gEL0gYL0gIL0gEL0gEL0gAL0gAL0gIL0gIL0gYL0gUL0gcL0gML0gQL0ggL0gEL0gEL0gUL0gIL0gAL0gcL0ggL0gIL0gYL0gQL0gYL0gQL0gUL0gEL0gcL0gML0gcL0gYLAgVBGAsAAgADBgVBHgtwAtIBC9ICCwYCQQALcALSBAvSCAsCBUEZCwACBQYGD0HaAAtwAdIHCwwBBQrLTgP/EgYCfgB8A38BfgF9AXwgALokCSAAeiMKIw0QCD8A/BAFcCUF/AkDBn5CrQEkAAZ8QRkRAAUkB0E1JAsDABAH/BAFQQJwBAIGfxAFRQRADAMLIwlCrAECQAYEBgUgAAZ9A34gAkEBaiICQQJJBEAMAQsQByAABm8QAQwHC0TBXKCRobBK2SAADAkACwwIC/wBDwsMAQtC3Kqq1c6w1fZ10gIgAQwFC9IIBnwMAgELDAMLGkEADgEAAAsCQAIFIwcOAgEAAQsGASABQdK8DUEBcA4BBAQBGRABIwkMAwskBgtCANIHBn/SAERnJMmm6K4ZT0KW2yTDJADSByMHA3wgAQwEAAtE0mYbYcjjxKkMAgsMAwALPwAPCyAAPwANAMQiAAwACyQAQeOlA0MRqidBA3wgAUQc7Cz7udVQztIF0gNDSbyhHIsgASMLDAEAC5sCfQYDBkAYAAwACwJ9AwECAwwAAAtCEyQAQfUADwALAAsAC9IAIAEjAtIBQuIABnwDAQYGGAIQAgJA/BAADgEAAAsjAUPbptWlIAH8EBAMAgALRM1sJew2PYROPwANAAwACyAAQtCh6IPJ1AAhAUO2ASRF/AUGfdIA0ggjAwZwPwD8EA0NAkECcAQAIADDQidDXlObMvwEBkAGfwwBC0EBcA4BAAALUCQEAkAMAAALBm8CAUNfwKKjDAQAC9IEIw4kC/wQEEECcAQEIwtB8/GnMk1B4zgMBQAFIwUMAwALQSRBLkEo/AwEAtIC/BAKDAQL/BABPwCsIAEgACIAJAAhACEBQf//A3EgASAA/kwAACIB0gLSByML/BAOQQJwBH7SByAAAn4Cf0EeEQYFQQtBOEER/AwABQIDAnAgAAwEAAsACwALAAsABSAADAAACz8AJA4CfQYGAwJBHhEDBQJvIwH8B8IkAENKCebOIABCm7bnRCQAJAAMBgALAAtEZVwlYh4by38jALn8BwJ/EAEGBgwCCwwBAAsCfAwBAAufvSIAvyQBDwtBGhEABUQnnyKWssFCPCQBJAtDMZR05QwAAAsMAgAFEAJDRCaYJfwQAQwDAAv8EA1BAXAOAQICAAv8EBD8EAUPCyABIwkkAbUkCPwBIwL8EAdBAnAEfiAA/BAJJA4kAAMAIwZD/cqMTSMNBnAQB0SW5pcGxyYqhgJwAwECAiAHRAAAAAAAAPA/oCIHRAAAAAAAADJAYwRADAULDAAACyABDAQACwAL/BAHDwskBj8ADAIACwwBBQIDDAAAC9IEQuPOvLzlyp/8ZgZ+IAAkAEEfEQYFBgQgAQwCCyQGDAALIgAMAAsiACQAIwRBAnAEAz8AQu0BPwBBAXAOAQAAC9ICQ8OesDI/AEECcAR+BgMCAgYAIAAgAQwDCw0A0gEGfQwCC5FBhwz8EAJBAXAOAAML0gEgASAADAELBgP8EAf8EAFBAnAEBQUGfETz/6jRp5RBmSMFQ66d09dBkBdBI0EQQSX8DAAPDQL8EA4GfAZwRP+o4yIXE2bwQdfhqbwDDQMGfwwEC0ECcARwDAQABQZwAgUMBgALQwMcqFokCAYFGSMD0gZBvs29B/wQAUEDcA4KAAYHBwYABgAHBgYL/BAPQQJwBH8GBBABDAgLDAIABUI/DAgAC0ECcA4CBQYFCwJ8DAUAC0RcFdRIfIDMxZ1mDAcLBkAMBAvSBgN/BgYGBQMBAwRDFKtF8CQIBgZEM3kGTHKhkuHSB/wQCA0AQjEMCwsCQAwJAAsACwALQn9C1LDk756AwrwziCABPwBBAXAOAQgICwwFCyAGQwAAgD+SIgZDAAAQQl0NAAYDBgAjAQwEC0H7AEEDcA4DBgUAAAsMBQALQQJwDgcDBAQDAwMEAwsgAUKs18+d36B0Bm8jDgwGBwMjDUQj87ETSmDI7QwBAAsjAkPkHLN/JAj8EAIPCwwACyMODwsPCxACBgACfBACQR4RAgVBHxEDBQYGAkDSAyABA30MAQALAAsGcAwBAAvSBNIAIABC2wEDcBAFRQRADAELBgMMAgvSBiMEDwALBnBCpNndgusCA3AMAgALROrPTR2nftsCDAILJAYGQAwAAQv8EANBAXAOAQAACxABAnwCQPwQCQwDAAsACwwAAAtEj8x5hWOkk8v8Aw8LQQJwBAUFBgEjDPwQBEEBcA4BAQEAAQALQTBBEkEB/AwAAgNwIAVCAXwiBUIaVARADAELRAxLXwFWwMugBn4CBSAFQgF8IgVCHVQNAhAFRQRADAMLDAMACwIDQusADAEACyAAIAAMAwsjBSABtEH9oQ4GbwIFBn8gAEMAAACAjkO5wpx/AkAMAgALu5lBhpWKxwUMAAsgAAwECwwCAQvSBEHBACQLQvcAukQAAAAAAAAAgPwQDkEBcA4BAQEL0Q8BC9ID0gEgAAZ+Q16Q+TKR/BAADAILDAABAAUGBPwQASQL0gLSBAJ9AnxBIUECcARADAAABdIHIwRBAXAOAQAACyMDDAEACwALIAHCDAEHBAYHEAgCQAwAAAv8EAREtVX5rIg4+X9BLEEWQQ38DAQNIwwkDAkBCwIAAgVEvhHC/QdiN4sjBiQKJAkGACMEDAALQQFwDgAAAQELIw5BAnAEAkKRAfwQB0EBIwdBAXAOAQAAAQsCfdIA0ggjAiQM/BAGA33SAkNFLN6b0gYgAdICIAG1DAEACwALJAM/AA8AC0QT+335BABiLkEqQRxBB/wMAAUGbwZwBgIMAAsCAgwAAAsCBQwAAAsjASMEBAMGBQcDAgcGB9EMCAELDAIAC0LlAQwFCyAADAQBC5tCJCQAQbjUHwwECyMHDwvSB9IDIABENpI9efcTz7f8EAsPCz8ARC56pS/tgPf/Am8CbwMD/BAPJAsGBgICDAAAC0HeACQOQuPpfkJ5RPU7AM2WJxPLQzzcLlxBMkEEQQz8DAQPIwQPAQsgBkMAAIA/kiIGQwAAAEJdDQADBiMLQsEBuj8ADwALAAsACwAL/BAK0gNDJkX3iiQDIAF6AnxEqfrJ1wUjm+tEiKcQePTVcjMMAAAL/AckAAwACyQABnBBiJcBQyndNei8QQFwDgEBARkCf0LUg/u6qoUBJABByvuiCQJvIwUMAgALAAsPCyQFJAggAANAIAVCAXwiBUIfVA0AIAJBAWoiAkEaSQ0AAgQCBgwAAAsGfUPfZSugDAABAAtB0wBBLUEG/AwAD/wBDwALAAsGf/wQCNIAQRtBBUEk/AwADSMEDAAL/BANDwvpMAQDfwF+AX0BfEGy2ezHAUH//wNxMgD6ASMEBn9BMyQOAgUMAAALQ7BqfR8kA0RjPQHTEQ0tS0PH919jQhkkACMKIwQMAAsjDSQGQQJwBAYMAAAFBgQCBAYBDAMLJAoDcAN8EAJBHhEFBQYEEAEMBQsMBQALAAsACyMBtiQIGAEkCiMKDAEBAAALQdUB/BAPcCUPIwkGfyMHQQJwBHBDHUdDnyQI0gUjCJEGfUMcWnM8/AEjDgwCC9IGQ/Rn1X9BoAFBAnAEb0HOAEECcAR+QZ0CQQJwBAQQAQYFIwQMBQEACxACPwCzBm8GBQJv/BADBH4jCw0CAgIQAQwDAAsABRAB/BANDAgACwwEAAskAgwACyMAIw4MBQtB67756gNBAXAOAQICAAVBHhEGBRAFQR5B0gBBDvwMBAJBAnAEb0Hc0+o//BAFcQwFAAUCAwYFIwYCfgZ/AgXSAUENDAEACwwCC0KUi1AkAAwIAAsjB0ECcAQCDAEABQIAEAUMCQALAAskAAwGCwYGAgIDABACDAEACwALGAcMAAALQQhBxgBBBPwMAAUGAUHtAAwGCwwEAAsMAgALQfMBDAMF/BAFBHAjCgwDAAUjA9IDRBxY8xHYgyOrAkAGBQwBC9IH0gNCy3FBLwwFC5ydJAk/AAwEAAsMAgAL0gbSBiML0gcjAMO60ghDJkQRzEPafK/UIwhBBrdEB8PWTZfpkgmbQdT+A0GJnpG7BUH30AH8CwAGfgYGDAABCxACIwX8EA9BAXAOAQICCyMAhyMMQraai7zIACMCDAAFAgYMAAALEAIGAgwACwIFDAAACyMMQdQB0gEjDgwCAAskDCMNIwPSCEHGveD+AQwBAQVDDPEtBtIIIwj8BAJ9Qg1EAAAAAAAA8P8kASMBJAnSA0KTgMuv9bbLAQZ/AgQCBvwQDAwFAAsACw8LIwH8AkEBcA4BAgIL0gcjDCMEDAEACyMF0gXSAUKDgLjV9AgCbxAFJAsGAAMCQ7eBgXVEn89yc/9ad8dCzgEjASQBJACcJAEkAwIBA28QBUUNACAAQQFqIgBBJkkEQAwDC/wQCAwDAAsACwALIwL8EAsNAQwBC0Sq2odKabjxf/wQCwwBAQtEWmeVGMPsXtUDfQJ9IABBAWoiAEESSQ0BAgUgAkEBaiICQQRJDQIMAAALIwIkDCABQQFqIgFBH0kEQAwCC0ERQc0AQRP8DAQFIARDAACAP5IiBEMAADBBXQ0BIAFBAWoiAUExSQ0BIw4kBCAEQwAAgD+SIgRDAAAAAF0EQAwCCyAFRAAAAAAAAPA/oCIFRAAAAAAAAERAYwRADAILIwD8EAsjBiMBJAEjCUELQSlBG/wMAAXSAUQ9p7zhcOltgwN+IwMMAQALAAu7Q8IFfdb8EAkCbyAAQQFqIgBBG0kNASMMDAAACyQC/BAEcCMCJgRBnMo7QtkBQ69GxaAjBEECcAQDQRoRAAVpQQFwDgEAAAv8BVVuBn4CBAYGEAVFDQMMAAEACwMFIwxDAACAfwZ9Iw4Gb/wQAQwGCz8ADAUAC9ID0gD8EAMCfiADQgF8IgNCElQNAUNuPNd/PwBCncPqkHtQIwsMBQALAAsACwwDCz8A/BABQQFwDgEBAQsCb0Tqcfte6v6Y8gJvAgYMAAALBgAGACMC0gIjBQZ9BgUGBUHR0oaneUECcA4IAAABAAAAAQEBC0EfEQIFDAALBgUCBQwBAAsMAAsjDvwQD3AlDyQNIwgMAAv8BEOOpC2JQiH8EA8MBAskB0ElBn0CfgJ8Q2ywlSfSAtIA0ggjBj8AJAQCfCMMDAUACwALAAvCJAAGBERsf4HRybCi1SQBIwYGQEEfEQYFDAALIwQMBQELJAYkAAYFC0P8m4pnGAMjACQAQTVBxwBBDfwMBA1B9LLwiHgjAL8kCQwACwwCCwwAAAsGcCMCA0AGACMAIwCIQtsBIw4MAwskDvwQCrOM/BAAQRhBxwBBAvwMBA8kB478AQwCAAv8EAskB0KNdNICQ6YfNG0CbyMORQwCAAv8CQL8EAP8EANBAXAOAQEBAAtBy/jW/QAMAAtBAnAEfAYBBgMMAAsGfyMHDAALQ6y2pEsGQAN9BgMjDdIDQ+RYUVgkA0ICJABDCR2LwZECbwYEQ/pLRDIkCAICDAUAC0SMDnUXE2ACQ0LtACMBDAYL/BAODgUGBgYGBgYLJAICQESLcZd3RNogi/4DAAwFAAuLAnAMAwALIwtBAnAOAgIAAgEAAQsMAQALQx1jlvUGb0ToIwuliuzjaNIDPwCzvEEBcA4BAQELQgc/AEEBcA4BAAAL/BAG/BADcCUDIwojASQBDAALJA0GARAC/BANJAf8EBAEAAYD0ggDQCAAQQFqIgBBAUkNACABQQFqIgFBFUkEQAwBCxAFRLgVF7JX60+TBm8DQAJ+QZ/w0gVBLEHBAEEE/AwAAgwFAAsACwYEIwwjAAZ/BgUMAAsDASADQgF8IgNCHVQNBAYDQxQPqAaQQuKR583XQdII0gbSBUEiQcgAQQT8DAAP0gICcAIGAgIQAgIFDAIACwALAAsjByQHEAVFBEAMAwtCKbT8BPwQDgwDAAvSAkO09eCw/BAGDQAkA0PMr9pkIwI/AAR8DAEABQIAIABBAWoiAEESSQ0HIwJBKgwAAAskBCAAQQFqIgBBJkkNBgMAEAVFBEAMAQtBpcjZqAMMBAALAAvSBSMKJAX8EA4NBiMCDAQLIAFBAWoiAUEcSQRADAUL0gDSCEPC9+V9jY8CfURewrHIl8JkCvwQCEEBcA4ICQkJCQkJCQkJC/wQDAwBAAsjBgwGC0EBcA4BAwMLIwg/ACQE/AX8EA4Gf9IIBn8GA0L31qJ/IwcEAAYB0gMjBgwJCyQFDAEABQYCBgUMCAtDkwZTnUObgjwsJAjSBvwQCA0APwBBA3AOAgAHAgtCtuvN1o+d460BJADSCCMA0gNEAAAAAAAAAAAMCQALDAIBAQsjCwwACwwACwwDC0I5An8MAgALAAsjDiMEQQJwBG8GAgYFAm8Gb0HPmQFBA3AOAwUDAgULIwcDfAwFAAsACyMOQQNwDgMAAwEDCwYGIwgjBSMB/BAIDQAMBgsMAhkDAAwBAAtBAnAOCgICAAIAAAICAgAACwJ/DAIACwAFEAEGBgwACwYAAwMjC0ECcARAAgECBQwCAAsACwAFIAFBAWoiAUExSQRADAILEAVFBEAMAgsMAAALEAJEo3KmR0wBewgMBgALDAILDAIACwNvQ93ap1XSAyMIBn0GQAsQBUG124nVfQ4BAwML/BAQDQEGcAwCCyQGiyMOQ7h6wylD7O2O1wJ9AwUgAkEBaiICQSJJBEAMAwsMAwALAAsACyQMQufx15F7wwZ8DAELIwJDO9Vm2wZ+AgUMAgAL0gD8EAUaQQkOAQEBAQsGfQYFA0BETPcz90+ASTkMBgALQt4AxKcMAwsGfQwCC7wMAgv8EAkkByMBIwxB9bkCQQVBAfwIAQAkDAwDAQtC9QBEyESUI4TRg+8CfwZ9Iwn8EATSBAJA/BAKDQDSByMODQDSB0GrAUTcZslDP7RTaAwFC/wQAEECcAQA/BABDAMABSMJ0gTSAQZ/Bn8/AEECcAQAEAJBleq5onoFBgJEFPg6AmUqLGIMCQsGfQIDRArf2dqGysMxJAkMAAAL0gEjBAwGAQsGfUEiQRlBDfwMAAIGBgcFAgRBuvccDAUACwwJAAsjBtIHQ4Q/8r0MAAskA0Hn0Z/XAwwDAAvSByMHDAUAC/wQCgwACwwACyMF0UECcA4CAQIBCz8AIwtBAnAEBQwAAAUjCwwCAAs/ANIFQ2LdNh9Bqd6wDgwBCwwABQJ/RMGHAsOGF/H/QvuGrfHl3dM9wqdBAnAEQAJwDAEACwAFDAAACyQBRK8ATulIOIX8A34GAAZABwIQBUUNAvwQDQ0A0gADcBAF/BAHPwAMBQALBnAMAQsjDvwQAwwDAAsGACMBDAYLQbQBDQMEfxAFRQ0CAgBBqvvGDwwBAAsABSMA0gAjCPwFIw4MAAALrNID/gMAQ29AW64kAyMIQmf8EAX8EAgMAwsMAQAL/BALDAELJAsCAUKnr9K0CnmnDAEACz8ADAALIwkjCCQDAnAjBfwQDkECcA4CAAEBCyMB/AIkCwJ90gcjACQAAn0jByMDIwRBAnAOAQABCwJ+IwQkCz8AAnBDWFO3vfwQCgQE0gHSBdIGQcEAQRdBA/wMBAICcCMKDAUACwAFBgMMAAsjAwwDAAskCiMG0gDSAiMFDAMACwAL0gL8EAoGQAwAAAsjAEQhEp2L4+5gxiMHDgECAgskAz8AQQFwDgEAAAskBdIDRMLnx8JPILMVDAAFQR8RAwUjBEECcARADAAABQJ9QeoMQQFwDgEBAQsjBtIBIwkGfgwBCyMODgEAAAsGbwNwAgEGBQMABgYYAUOQ9rd/Iwb8EA0jDkEBcA4BAQELDQAgA0IBfCIDQgVUDQIQBSMHQQFwDgEAAAtBwoHjpXg/AEECcAR+QR4RAgUGAwwAC0Gg7QNBEQZ/AwAQASMIQe8cQQJwBEDSBfwQAgwCAAUGBdIF0gHSAyMADAQBCwYCDAALDAAACwZ9QYMBQQJwBAMgBEMAAIA/kiIEQwAANEJdDQYgAEEBaiIAQQlJBEAMBwsgAUEBaiIBQSdJDQIQBUUEQAwHCwZ/AgQgA0IBfCIDQi9UBEAMCQsQBQJADAAACwwFAAsMBgu+JAgGfBAFRQ0DBgYYCgZ/IAFBAWoiAUEFSQ0I0gX8EA0MAAtBAnAEAUSxqBI9Mdmg1wZvEAVFDQkGBhlE2S+Tpr3OQSdCpgGnQQJwDgIABAQBCyADQgF8IgNCFFQNBRAC/BANQQFwDgQDAwMDAwv8EBANCQwJAAUgAUEBaiIBQRBJDQQMAgAL/BAHQQFwDgEBAQtCoQH8EAtBAXAOAQAAAAALAgUGBQwACxAFQQFwDgEAAAtBHxEDBSACQQFqIgJBEEkNBQYAAgMMAAALIwYMBQtBAnAEcAYDBgILAwAQBUUNACAFRAAAAAAAAPA/oCIFRAAAAAAAADJAYwRADAULIwQMBQALDQAGBAwBCwJvRKPg/+eJQLRQDAoACyMFAn4CBiMMIwsNCgwKAAsACyMGDAELIABBAWoiAEEbSQRADAcLAgYgBUQAAAAAAADwP6AiBUQAAAAAAAAcQGMNAxAFRQRADAgLQquB65e6fiQAIwcEbyACQQFqIgJBCUkNBCABQQFqIgFBEUkNCCAFRAAAAAAAAPA/oCIFRAAAAAAAAAAAYwRADAkLQR4RAwUgBUQAAAAAAADwP6AiBUQAAAAAAAA3QGMNCCAAQQFqIgBBAkkEQAwFCyACQQFqIgJBEkkEQAwFCyAEQwAAgD+SIgRDAAA8Ql0EQAwFCyABQQFqIgFBAUkNCCAAQQFqIgBBLEkEQAwFCyMFDAIABSMMDAkACwJvBm8gAUEBaiIBQQ5JBEAMBgsgAEEBaiIAQRZJBEAMBgsgBEMAAIA/kiIEQwAAgEFdDQkCBgMB0gRDAACA/7sMDQALAAsjBQwDC0M986qzDAMACwAL0gQjAgwHAQUgBUQAAAAAAADwP6AiBUQAAAAAAABHQGMEQAwDC0K3y8WZ482Tv30CfiAAQQFqIgBBHkkNAyAAQQFqIgBBIkkEQAwIC/wQAgwEAAsAC0Qr7uc2jK4PIAwHC2AMAQALDAALJA4GQAYDDAEBC0O4BhD7IwRBAnAEfwwBAAUCfgwCAAsAC0ECcARwIAVEAAAAAAAA8D+gIgVEAAAAAACAQUBjDQQCfhAFQQFwDgECAgu6JAkMAQAFDAEACz8AQQFwDgECAgtvJAdC+VQMAAUjAEOb8cmePwBBEkHVAEEJ/AwEAiQL0gcjB7cMBAALJAD8EA9wJQ8MAAsjDCQC0QRvQY/hACQOBgUGBQYBDAELQ+XxepMkCCQFC0EaEQAFQQFwDgEAAAsCBSMF/BAIQQFwDgEAAAsgA0IBfCIDQh1UDQECBSAEQwAAgD+SIgRDAACQQV0NAkNNLoKP/AD8EAUaQQAOAQAACyACQQFqIgJBJEkEQAwCCyAEQwAAgD+SIgRDAABEQl0NAUEBJQgkAgJvQabOBUSmdtfrfnhGgwN+IABBAWoiAEERSQ0ABgMLIARDAACAP5IiBEMAACBCXQ0AIAJBAWoiAkEtSQ0DIwUkBUL2ACQAIAVEAAAAAAAA8D+gIgVEAAAAAAAALkBjDQMgBUQAAAAAAADwP6AiBUQAAAAAAABGQGMNAEQpAxZMcoEduAwFAAsACwAFIAVEAAAAAAAA8D+gIgVEAAAAAAAAQ0BjBEAMAgsgAUEBaiIBQStJDQECAQMG0gUaCyMFBkAgAUEBaiIBQShJBEAMBAsgBEMAAIA/kiIEQwAA4EBdDQP8EAVBAXAOAQAACwwAAAsCQAJABgEMAgAL0UECcA4CAQAACyMEQQFwDgEAAAsCf0LyncfbAUG6ASQLQcsAQR1BDfwMAA96GkGZgOn7AAwAAAskCyQGIAJBAWoiAkEmSQ0BBgBE4gzym8jXXyAMBAskDhAFJAcgAEEBaiIAQSVJDQFCnwFDwLTyehoGfCMJCyQJJAAGfSMAJABBp8KYAyQEBgMgA0IBfCIDQgpUDQNCtAEaAkALAgBEUBWyNJefB5YMBgALQQFwDgEAAAALIABBAWoiAEEBSQ0CAwRBnNUDQaYBQaog/AsAIAJBAWoiAkEvSQRADAELBm8DAwIEIAVEAAAAAAAA8D+gIgVEAAAAAAAA8D9jDQFC5pnWatIFQQkjDiQHQeUAJAskCxpBMyUFDwALAAsjDAwDCwwCAAsPCyQDBnxDGtTp9wZwQTIlDyQFQSklAvwQBA0AGAAaJAg/ABogA0IBfCIDQgNUDQLSCBojDCQCIwkkAUNaAsP/Bm8CfUMR+rh//BAOQQFwDgEAAAuNIwYjCCMGGkHHmQJB2QBBgtUA/AsAJAhB6Z73xgNBAnAEfPwQBSQLAgUCBQsCBQZv/AkEIARDAACAP5IiBEMAAJBBXQ0HDAILDAMACwtENHRM5V4wHV1EsQwfSwOo0f9kQQJwBAFBKCUCQSpBBUEY/AwADQwAAAUDBBABQsoBQQdBB0E//AwAD3oGcEEzJQ8jBEECcA4FAgIAAgIACwskBkNNJTFWJAj8EBBBHUHUAEEM/AwEDSQO/BANPwAaJAcaBgUgBUQAAAAAAADwP6AiBUQAAAAAAIBGQGMEQAwHCwZ9QQoOAAELGkRwV0bUyh1aSyMBDAQAC0E1JQ8L/BADGhojAQwCAAVEj7W4VBXJGc4jDSMDJAMkBQwCAAtChgEjASMO/BALJAtBAnAOAgUBBQAAAQsMAQELtkPjdNT/QfoBJAv8BUHUxAJB+8wBQcbZA/wKAAAkACMBDAMLDAEACyQGEAECBkG/9QlBAXAOAQAAC0T5eiyQdo18qtIHIwgkCCMEQf//A3EyAf8HPwAkDiQAQg4kANIF0ggaPwAkBBrSCBojCCMJnANwIwv8EANB/v8Dcf4TAQBJBG8DASMFC0EEQTpBBPwMAAUkCgYBBgBBBgwAC/wQACQOQQJwBAFCggEkAAYBEAVFBEAMBQsjCgskDSAAQQFqIgBBAUkNAwICC0EKJQUMAAAFQQ0lDQwAAAsLJAogAEEBaiIAQSVJBEAMAgsCAQIDA34gAkEBaiICQQZJBEAMBQsjAgwDAAsACwALAAUQBUUNASAFRAAAAAAAAPA/oCIFRAAAAAAAgEFAYwRADAILIABBAWoiAEEtSQRADAILBkAQBUUNAgJvEAVFBEAMBAsMAQALJAILAm8jAiQCIAVEAAAAAAAA8D+gIgVEAAAAAACAQkBjDQIjAiQMQRkRAAUkBwMBIANCAXwiA0IaVA0AQRYlBQsjAiQCQ+E6OJwDQCACQQFqIgJBHEkNAAskCCMEQQJwBAMQBUUNAwVByQBBBUEB/AwADwYDDAABAAcHJAb8EBBBAXAOAQcHCwwAAAskBUE4JRALDAIACyQC/BALJA4gA0IBfCIDQiFUDQAGASMF0ggGcAYDCwYCCwN8BgEjBgsMAQALDAQACwwACwvSCBokDdIFIw78EBBB2qLv+X1pBnxEzSbuiJ8H8/8LDAELJAxEamaYFgdq/McLIwdBAnAEAAYFDAALQQgMAAAFREbdrlnTLaMiIwkkCb1DZr5I8yQDGiMNIwQMAAALJA5BNUECQQP8DAQCnSQJn/wH/BAFJA4kAPwQB0GcAXgjAgZADAAL/BAAJAckDPwQEHAjDCYQJAX8EAJwIwUmAtIFGiQAIw0kCkL0ALQkA0OGGs+I/AQjBQwAC9wKDAFwAX0BcABwAXABfgJ/An8DfwF+AX0BfEIEIAUgCUECcAQBIwJEmJGEmzWbtE0CfgMBAgRDhxgXbz8ADQQCfQMBIA9CAXwiD0IdVA0AQay16wIEARAFRQRADAILAgAQBUUEQAwGCyMNIwkDf0GAw7LxAkHLAfwQCHAlCAZ/BgD+AwAGfBAFDAILIAsOAQsLCwwACwwBAAsACwJ/Q27O1JX8EApBAXAOAQMDAQtBAnAEbwYEIBFEAAAAAAAA8D+gIhFEAAAAAAAAEEBjBEAMBAsgDEEBaiIMQQlJBEAMBwsCAyANQQFqIg1BHUkNByARRAAAAAAAAPA/oCIRRAAAAAAAAD9AYwRADAgLIA5BAWoiDkEESQRADAULDAAAC0TJbQ/IrEVkoCQJBgIGASAMQQFqIgxBF0kNCCAH/BABIQsMCQsiBiAIQQJwDgIACgAL/BACAm8MCgALDAELIAEMBwVEn1B0/i0lCqzSBQZ8AgUgDEEBaiIMQRtJDQcCAUGekzwOAgELCwsGQCAQQwAAgD+SIhBDAAA4Ql0EQAwJCyABIAYMBAsMCQsQBUUEQAwHCwJ+IAxBAWoiDEEqSQRADAUL0gfSBwJwAwRE/koZmJ7aVwwCfSMKIwL8EAX8EAlwJQkGfwYDAgZC1gAMBgALDAALQR4RAwVEIcW643Za6fcMBQtBAnAEA9IB0gZC/gG6IAsNAAwFAQsgBCMN0gBCAfwQCQ4KAwsDAwMLAwsDCwMLBn8CQAwAAAtBrL2SAkECcARAIw4MAQAF0gQgBQwNAAsQBUUEQAwICxAFRQRADAILDA0LAn8gDkEBaiIOQQtJDQcgEEMAAIA/kiIQQwAAiEFdDQpE8d+tYXrb8j4kCQZ8IAEMAwtEAAAAAAAAAAAMBAALAAsGfA8BAQsMAgsMCQtBMkNEFPlVQQD8EAENCUH//wNxLACJBQ0EDAQAAQsGQBgIJAEGfD8AIAlBCyAAQs2A+6jw498WRPnwTBKrE6F8DAALJAkgACQA/BAMQQFwDgEICAtBzQENB/wQCUEBcA4BBwcABQwHAAsiBgwFAAsjCCEEDAQL0gjSB/wQDkECcAQADwAFDAUACyAFRCcgh/3L0IH2/AMaQQAOAQQECwwCAAsMAQsjBSMEQQFwDgABBSMGQvsBQtfjeCIHQt8Bp9IG0gVBw6bZlwMNASMM0gU/AA0BIwFDS9gus/wQAg0BPwANASQIJAH8EAQNAUEADgEBAQtBH0EyQQf8DAQFAggCCAYHDAIBCw8ACwYHDAEAAQsGBgwCCw8LIgUGCQJ/IwxBnN0CQZbk5sF9QaWZA/wLACMGIQX8EAtBAnAOAgECAgtBAnAOAgABAQELBgIGcEGOI0ECcA4CAQICC0MV8y76IAZEoi39JnDO6BogCEECcA4CAAEBC0LTAUNoINxNIw0jBgJ+RGvBjyYvu/7/JAEMAQALIwQNACEHQsvwvf+tpAYDfQwBAAsCfdIDQRhB//8Dcf4SAABBAXAOAQEBC5T8EAcNANIGRIj9ofYg7ZTsJAlEbRco/q9piPw/AA0A0gcgBCAE0ghCl+e10rWMzn4GQAwACyQA0gIgAEPti7lgJAN7JAAgBP4DACQIQfKUyL0DIgkGb/wQDj8ADQFBAXAOAQEBC9IDQugAIgDCup4kASAE0gAgAUT5VMQ36FP4/0QsuEEPaxAXLaTSBEML3pYCBn0jDCQMRArwgfDpsXm6JAEGfSMKJA0MAgsGfkIbv55CAfwQDkEBcA4BAAALIApBAnAEAQwCAAUPAAtDzP+Ch7xBAXAOAQEBC0H7wq7lfQ0AIwtBAXAOAQAACws4BQEGDqbuLUjIAQg0Vk5W1CsQPABB27MDCwexNdp88N+BAEHRLQsBdQBBqKsDCwncWuNpl/7i/7Y=', importObject0); +let {fn5, fn6, global1, global2, global3, global4, global5, global6, global7, global8, global9, global10, global11, global12, global13, global14, memory1, table9, table10, table11, table12, table13, table14, table15, tag0, tag1} = /** + @type {{ +fn5: () => I32, +fn6: () => [I64, FuncRef], +global1: WebAssembly.Global, +global2: WebAssembly.Global, +global3: WebAssembly.Global, +global4: WebAssembly.Global, +global5: WebAssembly.Global, +global6: WebAssembly.Global, +global7: WebAssembly.Global, +global8: WebAssembly.Global, +global9: WebAssembly.Global, +global10: WebAssembly.Global, +global11: WebAssembly.Global, +global12: WebAssembly.Global, +global13: WebAssembly.Global, +global14: WebAssembly.Global, +memory1: WebAssembly.Memory, +table9: WebAssembly.Table, +table10: WebAssembly.Table, +table11: WebAssembly.Table, +table12: WebAssembly.Table, +table13: WebAssembly.Table, +table14: WebAssembly.Table, +table15: WebAssembly.Table, +tag0: WebAssembly.Tag, +tag1: WebAssembly.Tag + }} */ (i0.instance.exports); +table0.set(34, table10); +table11.set(22, table4); +table0.set(53, table0); +table10.set(3, table10); +table4.set(14, table9); +table15.set(68, table10); +global2.value = 'a'; +global10.value = null; + +try { + for (let k=0; k<16; k++) { + let zzz = fn6(); + if (!(zzz instanceof Array)) { throw new Error('expected array but return value is '+zzz); } + if (zzz.length != 2) { throw new Error('expected array of length 2 but return value is '+zzz); } + let [r0, r1] = zzz; + r0?.toString(); r1?.toString(); + } +} catch (e) { + if (e instanceof WebAssembly.Exception) { + } else if (e instanceof TypeError) { + if (e.message === 'an exported wasm function cannot contain a v128 parameter or return value') {} else { throw e; } + } else if (e instanceof WebAssembly.RuntimeError || e instanceof RangeError) {} else { throw e; } +} + +})().then(() => { +}).catch(e => { +}) diff --git a/JSTests/wasm/stress/omg-recompile-from-two-bbq.js b/JSTests/wasm/stress/omg-recompile-from-two-bbq.js new file mode 100644 index 0000000000000..2fa4f5e9fdce3 --- /dev/null +++ b/JSTests/wasm/stress/omg-recompile-from-two-bbq.js @@ -0,0 +1,33 @@ +function instantiate(moduleBase64, importObject) { + let bytes = Uint8Array.fromBase64(moduleBase64); + return WebAssembly.instantiate(bytes, importObject); + } + const report = $.agent.report; + const isJIT = callerIsBBQOrOMGCompiled; +const extra = {isJIT}; +(async function () { +let tag4 = new WebAssembly.Tag({parameters: []}); +let tag5 = new WebAssembly.Tag({parameters: ['f64', 'externref']}); +let tag6 = new WebAssembly.Tag({parameters: ['anyfunc']}); +let global0 = new WebAssembly.Global({value: 'i32', mutable: true}, 1131948438); +let global1 = new WebAssembly.Global({value: 'anyfunc', mutable: true}, null); +let global2 = new WebAssembly.Global({value: 'i32', mutable: true}, 3536421988); +let global3 = new WebAssembly.Global({value: 'f64', mutable: true}, 218369.39111889654); +let global4 = new WebAssembly.Global({value: 'i64', mutable: true}, 1876304460n); +let table0 = new WebAssembly.Table({initial: 67, element: 'anyfunc'}); +let table2 = new WebAssembly.Table({initial: 66, element: 'anyfunc', maximum: 901}); +let m0 = {global0, global1, global4, table1: table0, table2, tag4, tag5}; +let m2 = {global2, table0, tag6}; +let m1 = {global3, tag7: tag6}; +let importObject0 = /** @type {Imports2} */ ({extra, m0, m1, m2}); +let i0 = await instantiate('AGFzbQEAAAABMQpgAAF/YAJ8bwN/fn9gAnxvAnxvYAJ8bwBgAXACcH9gAXABcGABcABgAABgAABgAAACrQENBWV4dHJhBWlzSklUAAACbTAEdGFnNAQABwJtMAR0YWc1BAADAm0yBHRhZzYEAAYCbTEEdGFnNwQABgJtMAdnbG9iYWwwA38BAm0wB2dsb2JhbDEDcAECbTIHZ2xvYmFsMgN/AQJtMQdnbG9iYWwzA3wBAm0wB2dsb2JhbDQDfgECbTIGdGFibGUwAXAAQwJtMAZ0YWJsZTEBcAAWAm0wBnRhYmxlMgFwAUKFBwMEAwYGCQQmCW8BEs0BcAE8/QFvADhvAV3cBXABCMEGcAE/9wZwACJvAEhvACEFBgED0BPxGQ0NBgAGAAkACQAGAAgAAwYbA30AQwZd+zQLfAFErSyybM3OyLQLfwFBiQELB7gBFQd0YWJsZTEzAQsHdGFibGUxMQEJBHRhZzIEAgdnbG9iYWw4AwcGdGFibGU3AQUGdGFibGU1AQMDZm4wAAEEdGFnMQQBB2dsb2JhbDcDBgZ0YWJsZTMBAAZ0YWJsZTkBBwR0YWczBAUHdGFibGUxMAEIBnRhYmxlNgEEB3RhYmxlMTIBCgdnbG9iYWw1AwAGdGFibGU4AQYEdGFnMAQAA2ZuMQACBnRhYmxlNAECB2dsb2JhbDYDBQn6BgsCCEEVCwAAAEEOCzUCAQEDAgAAAwIAAAEDAAIDAQICAwMCAQABAwMDAQMDAwABAgEDAAEAAgICAQECAQIDAAADAgIBQRILAAQBAQMCB3Bf0gIL0gIL0gEL0gML0gML0gIL0gIL0gML0gIL0gIL0gAL0gEL0gIL0gEL0gAL0gIL0gML0gAL0gAL0gIL0gEL0gEL0gIL0gAL0gEL0gML0gAL0gEL0gEL0gEL0gML0gAL0gEL0gAL0gAL0gML0gAL0gAL0gAL0gML0gAL0gAL0gML0gEL0gEL0gIL0gAL0gIL0gIL0gEL0gIL0gML0gIL0gEL0gML0gML0gIL0gML0gEL0gML0gIL0gEL0gAL0gEL0gEL0gAL0gAL0gEL0gIL0gML0gML0gIL0gML0gAL0gAL0gML0gEL0gEL0gIL0gAL0gEL0gAL0gIL0gML0gEL0gEL0gML0gML0gAL0gML0gML0gIL0gML0gML0gILBghBHQtwItIAC9ICC9ICC9IAC9IAC9IBC9IBC9ICC9ICC9IBC9IAC9IAC9IAC9IBC9IAC9ICC9IAC9IBC9IBC9IAC9IBC9IBC9IDC9IAC9IDC9IDC9ICC9IAC9ICC9ICC9IBC9IAC9ICC9IDCwRBLQsW0gEL0gML0gIL0gIL0gML0gAL0gML0gEL0gEL0gIL0gAL0gML0gEL0gIL0gML0gIL0gML0gML0gAL0gML0gIL0gMLBgdBBAtwBNICC9IBC9IBC9IACwVwYtIAC9IAC9ICC9IAC9IBC9IBC9IAC9ICC9ICC9IBC9ICC9IDC9ICC9ICC9IAC9IBC9IDC9IAC9ICC9IAC9IBC9IAC9ICC9IAC9IDC9ICC9IDC9IBC9IAC9ICC9IAC9ICC9IDC9IDC9ICC9IBC9ICC9ICC9IBC9IDC9IAC9ICC9IBC9IDC9ICC9IBC9IDC9IBC9IDC9IBC9IAC9ICC9IAC9IAC9IBC9IDC9ICC9IAC9ICC9IAC9IDC9IBC9ICC9IAC9IAC9IBC9IBC9ICC9IDC9IDC9ICC9IBC9IDC9IBC9ICC9IAC9IBC9IAC9IBC9IBC9IAC9ICC9IAC9IAC9ICC9IDC9ICC9IAC9IAC9IBC9ICC9IBC9IDC9ICC9IBC9IDC9IAC9IBCwIAQToLAAEABgdBAwtwAtIBC9ICCwIJQRALAAEDDAEDCu0RAyUEA38BfgF9AXwQA0NdBOSwvKxCftID/BAJ/BAEQQFwDgEAAAALJAsAbwJwAX8CfgFwAn4CfgN/AX4BfQF8QaiY1hxBAXAOAQAAC58RCgFwAn8AfQJwAHwBfwN/AX4BfQF8/BAFIgX8EApwJQpCmgFDAAAAAPwExL+fQuAAwiQEQsFtBnwDCQMHEAAEbwIHBgjSA9IDQj5EH4QlFI6ud9dCOSQEm0Lcv77KsOkFAn5BygAhBQYI/BAFZ0EXQdYAQQv8DAcEQQJwBH8gASQA0gNC/XwjBvwQBEECcARwIAMCBgwBAAsABSALRAAAAAAAAPA/oCILRAAAAAAAADxAYw0HAgAQAEEEcA4EAwUGCwULDQUgAg0E0gI/AAwBAAsjBdIBQoF/IAEMAAVDwmF5KpBCAAwCAAtEy4rZxclTDB5B4eOFnn8OBAgCAAMCAQELQY4DQQNwDgMCBwEHC8SFQmpVQQNwDgMBAAYGCyAGQQFqIgZBHEkEQAwDC/wQACMDmj8AQQFwDgEEBAELDAQABQJvAgdCHwJwIARC6QEgASQHIANBAxEGByQEIwAGfgZ/IAhBAWoiCEEtSQRADAgLDAMLQQJwDgICCAgLIwEMAAALAwUgAwJ/QoOJuTr8CQLSAyABDQhEK/LUWllhr7v8AgwAAAsCb0M+I7iTAm8CCAwAAAv8EAIOAgkDAwsjBSMFjETBhU1ario0NAZwBgAgC0QAAAAAAADwP6AiC0QAAAAAAAAYQGMNBwYJIwEMAgsMCgtBAnAOAgMJAwsCBD8AQf7/A3H+FQEAIwcNCSQEIAlCAXwiCUICVA0CIwIOAQMJC0ECcA4CCAICC9IDPwBBAnAOAQEHCwYEBn0gBCQBBggZIAZBAWoiBkEkSQRADAcLAgkQAA0AIwcNCvwQB0PRn0F60gEgBAZ9QQNBBHAOBAIBCwUCAAv8EAsOBAoBBAAEAQsQAEECcAQJDAAABUGjAUEEcA4EAAEECgoLIAQDBNIB0gJDHJiwXgwCAAtBA3AOAwkDAAAAAAsMAgALIAVBAnAOAgEHBwtBAnAOAwYABgYLIAtEAAAAAAAA8D+gIgtEAAAAAAAAMkBjDQMDCSAJQgF8IglCF1QEQAwFCyMA/BAAQQFwDgEGBgsjBj8AQQFwDgEEBAtBzNzUI0EBcA4BBAQLPwD8EAZwJQYgAD8AQQFwDgEDAwsGBxAAQQJwDgIDAAALIApDAACAP5IiCkMAADBBXQ0AIAlCAXwiCUIjVA0AQpYB0gMjAQIGQgAkBCQBAn8MAQALAAsjA9IDPwAGbyALRAAAAAAAAPA/oCILRAAAAAAAAEhAYwRADAILIAEOAQMDABnSAwZwAgAgB0EBaiIHQS5JBEAMBAsCbyAHQQFqIgdBI0kNBBAABn0PAAsjAgwBAAsAC0ECcAQHDAUABQJwDAEACwALROB633vaKrLiDAMLIwH8EAFBAnAECA8ABdIDRGPY2CzhrzA7A3/SAkR6Rsi9dhykEkIgJAQkAwNwQfMBQQJwDgICBgILAkD8EAjSAgJvBgcDCPwQAiQCDwALAggCCQYADAULDgYGCgIEAAECC9ICAn0GfgIHBgcGBwwGCxgL0gJDSQme8AZ8DA0LJAMMAgALDAULIAINCkSkknHsOckNXgwJC/wFAn8CAAMI0gJEu1w7n8DqkUyZJANETuweyO46Nov8EAcMAgALAAsAC0EFcA4FCQUDAAEBCyMF/BAEQQRwDgQIAgQAAAsMAwAL/BACQQFwDgEDAwsgAUECcA4CAQUFC0ECcAQAIAZBAWoiBkEOSQRADAQLDAEABfwQC0ECcAR/BggGACMFBnwgAkEDcA4DAgUJAgELDAcAAAsMAQtDtRlttD8AQQJwDgIGAgYFEABFBEAMBQtCg6filMiruQEgBRpBAA4CAgYGCw0BAwDSAUKI+uAFwkLAAfwQAwwBAAsAC0ECcA4GBAAEBAQEAAsgBQ0DBgUMAAsQAiEDIAQGBgIEAgUGBUHfmAYMAgsMAAALAm8GcPwQBkECcA4CBwMDAQvSAUMjMGfMjdIAIwcNBtIC0gADfgwDAAsACwwCCw0EAwQgB0EBaiIHQQVJDQAgCkMAAIA/kiIKQwAAiEFdDQAkAfwQC0ECcA4CAQUFC0ECcA4IBAAAAAAAAAAAAQvSAiAEAgUGfwZwIwTE0gAgAAwCCwZ/Bn0PCwkDC0EBcA4BBQULQQFwDgEEBAsCBgIFAgYMAQALAAsGBiQBDAALDwAL/BADQQFwDgEDAwsGfCABQQFwDgEDAwuZJAMjAtIAQ2qQv3YGfgIIDwALDwsjBgZwDwtBEUEJQQD8DAcBRBuOxYpNZ3seDAEACwwBCz8ADQCZJAMkBAJ9Bn78EAAGQNIC/BAABnADACAIQQFqIghBHEkEQAwBC9IDIwNE30iYLr/QU+EkA0GSAfwQC/wQBHAlBAwBAAsNBNIAIAQMAAvRQQJwDgIAAwALQQFwDgECAgsgAwYFIgAGBvwQCwQFAnBBDQ0CAnxE319p63bU5pEMAAAL0gFEJLKwJtlVZn78EAsgAkHvASIFDgICBQIBC0ELQdUAQQP8DAcBAwUiA0ESQQJwDgIBAwELBgQCBgIGQQMRBgcMAQALAAvSAdIAIAIGbwNvDAQAC9EDfAIIDAUACwALQzFYOECODAUL/BAEPwBBAnAOAgIFBQtB+P8Dcf4RAwD8EABBAnAOAgEEAQsgBAIEJAEDBwwFAAsACyMEJARD0QZoafwQAdICQfmYtgQgAwMGIgPSAETQGGKASnj9/wZ/Q9QT+dcCfAwGAAsjBSMEQuv408B+Q81L4O8GcEE7DAELRA3fmor07HW7/BALJAckAyQBQ9G4TsFeQQJwDgYCBQIFAgUCCw0EJAYCcAYHBgdEOgyiEeY99f9DtImMlSMGJAb8EAINBvwAQQRwDgQHAQAEAAsPCwwFAAsACyIFQQJwDgIDAAALDAILJAH8EAAEAAwCAAXSA9IBIAIMAAALIgUOAQEBC0EMQQRBBPwMBwGLIwBBAXAOBQAAAAAAAAsLIwMCAEGWyQELA+0ryAEG98TdJx/YAEGYmQELCCHFJ/z3kR5y', importObject0); +let {fn0, fn1, global5, global6, global7, global8, table3, table4, table5, table6, table7, table8, table9, table10, table11, table12, table13, tag0, tag1, tag2, tag3} = /** + }} */ (i0.instance.exports); +try { + for (let k=0; k<24; k++) { + let zzz = fn0(fn1); + } +} catch (e) { +} +})().then(() => { +}) \ No newline at end of file diff --git a/JSTests/wasm/stress/simd-const-relaxed-f32-madd.js b/JSTests/wasm/stress/simd-const-relaxed-f32-madd.js index 2c353a263f60c..87689c5468672 100644 --- a/JSTests/wasm/stress/simd-const-relaxed-f32-madd.js +++ b/JSTests/wasm/stress/simd-const-relaxed-f32-madd.js @@ -1,4 +1,4 @@ -//@ requireOptions("--useWasmSIMD=1", "--useWasmRelaxedSIMD=1") +//@ requireOptions("--useWasmSIMD=1", "--useWasmRelaxedSIMD=1", "--useWasmIPIntSIMD=0") //@ skip if !$isSIMDPlatform import { instantiate } from "../wabt-wrapper.js" import * as assert from "../assert.js" diff --git a/JSTests/wasm/stress/simd-const-relaxed-f32-trunc.js b/JSTests/wasm/stress/simd-const-relaxed-f32-trunc.js index d44c5e8b273c2..e6fa4cdf5fa7c 100644 --- a/JSTests/wasm/stress/simd-const-relaxed-f32-trunc.js +++ b/JSTests/wasm/stress/simd-const-relaxed-f32-trunc.js @@ -1,4 +1,4 @@ -//@ requireOptions("--useWasmSIMD=1", "--useWasmRelaxedSIMD=1") +//@ requireOptions("--useWasmSIMD=1", "--useWasmRelaxedSIMD=1", "--useWasmIPIntSIMD=0") //@ skip if !$isSIMDPlatform import { instantiate } from "../wabt-wrapper.js" import * as assert from "../assert.js" diff --git a/JSTests/wasm/stress/simd-const-relaxed-f64-madd.js b/JSTests/wasm/stress/simd-const-relaxed-f64-madd.js index 0a26c3eb5fc91..b27762227f830 100644 --- a/JSTests/wasm/stress/simd-const-relaxed-f64-madd.js +++ b/JSTests/wasm/stress/simd-const-relaxed-f64-madd.js @@ -1,4 +1,4 @@ -//@ requireOptions("--useWasmSIMD=1", "--useWasmRelaxedSIMD=1") +//@ requireOptions("--useWasmSIMD=1", "--useWasmRelaxedSIMD=1", "--useWasmIPIntSIMD=0") //@ skip if !$isSIMDPlatform import { instantiate } from "../wabt-wrapper.js" import * as assert from "../assert.js" diff --git a/JSTests/wasm/stress/simd-const-relaxed-f64-trunc.js b/JSTests/wasm/stress/simd-const-relaxed-f64-trunc.js index e3d946463f282..4d1e0fa4c9d3a 100644 --- a/JSTests/wasm/stress/simd-const-relaxed-f64-trunc.js +++ b/JSTests/wasm/stress/simd-const-relaxed-f64-trunc.js @@ -1,4 +1,4 @@ -//@ requireOptions("--useWasmSIMD=1", "--useWasmRelaxedSIMD=1") +//@ requireOptions("--useWasmSIMD=1", "--useWasmRelaxedSIMD=1", "--useWasmIPIntSIMD=0") //@ skip if !$isSIMDPlatform import { instantiate } from "../wabt-wrapper.js" import * as assert from "../assert.js" diff --git a/JSTests/wasm/stress/simd-const-relaxed-lane-select.js b/JSTests/wasm/stress/simd-const-relaxed-lane-select.js index 89c95738546d2..1a483890d4dbf 100644 --- a/JSTests/wasm/stress/simd-const-relaxed-lane-select.js +++ b/JSTests/wasm/stress/simd-const-relaxed-lane-select.js @@ -1,4 +1,4 @@ -//@ requireOptions("--useWasmSIMD=1", "--useWasmRelaxedSIMD=1") +//@ requireOptions("--useWasmSIMD=1", "--useWasmRelaxedSIMD=1", "--useWasmIPIntSIMD=0") //@ skip if !$isSIMDPlatform import { instantiate } from "../wabt-wrapper.js" import * as assert from "../assert.js" diff --git a/JSTests/wasm/stress/simd-const-relaxed-swizzle.js b/JSTests/wasm/stress/simd-const-relaxed-swizzle.js index 7460e2bd4267e..a1a6e47e7bf6c 100644 --- a/JSTests/wasm/stress/simd-const-relaxed-swizzle.js +++ b/JSTests/wasm/stress/simd-const-relaxed-swizzle.js @@ -1,4 +1,4 @@ -//@ requireOptions("--useWasmSIMD=1", "--useWasmRelaxedSIMD=1") +//@ requireOptions("--useWasmSIMD=1", "--useWasmRelaxedSIMD=1", "--useWasmIPIntSIMD=0") //@ skip if !$isSIMDPlatform import { instantiate } from "../wabt-wrapper.js" import * as assert from "../assert.js" diff --git a/JSTests/wasm/stress/simd-get-set.js b/JSTests/wasm/stress/simd-get-set.js index 4fc4b1a8e6235..ee8f3251274c3 100644 --- a/JSTests/wasm/stress/simd-get-set.js +++ b/JSTests/wasm/stress/simd-get-set.js @@ -57,6 +57,21 @@ let wat = ` (global.set $embedded_global_mut (global.get $exported_global)) (v128.store (local.get $dst) (global.get $embedded_global_mut)) ) + + ;; Helper function to poison the stack with known values + (func (export "poison_stack") + (local $poison v128) + + (local.set $poison (v128.const i32x4 0xDEADBEEF 0xCAFEBABE 0xFEEDFACE 0xBADDCAFE)) + (drop (local.get $poison)) + ) + + ;; Test that uninitialized v128 local is fully zeroed (all 16 bytes) + (func (export "test_uninitialized_local") (param $dst i32) + (local $uninitialized v128) + + (v128.store (local.get $dst) (local.get $uninitialized)) + ) ) ` @@ -176,6 +191,21 @@ async function test() { assert.eq(result[2], 200); assert.eq(result[3], 300); } + + // Test uninitialized v128 local is fully zeroed + { + const dstAddr = 288; + + const { poison_stack, test_uninitialized_local } = instance.exports; + poison_stack(); + test_uninitialized_local(dstAddr); + + const result = getI32x4(dstAddr); + assert.eq(result[0], 0); + assert.eq(result[1], 0); + assert.eq(result[2], 0); + assert.eq(result[3], 0); + } } await assert.asyncTest(test()) \ No newline at end of file diff --git a/JSTests/wasm/stress/simd-instructions-exceptions-cross-tier.js b/JSTests/wasm/stress/simd-instructions-exceptions-cross-tier.js new file mode 100644 index 0000000000000..a2594bcc8bb26 --- /dev/null +++ b/JSTests/wasm/stress/simd-instructions-exceptions-cross-tier.js @@ -0,0 +1,231 @@ +//@ requireOptions("--useWasmSIMD=1", "--useDollarVM=1", "--useOMGInlining=0") +//@ skip unless $isSIMDPlatform +import { instantiate } from "../wabt-wrapper.js"; +import * as assert from "../assert.js"; + +// Verify exception throwing across tiers, including v128 types + +const verbose = false; + +let watModule1 = ` +(module + (import "m" "isOMG" (func $isOMG (result i32))) + (import "m" "logOMG" (func $logOMG (param i32 i32))) + (import "shared" "vtag" (tag $vtag (param i32 v128 f64))) + (import "other" "coldCallee" (func $coldCallee)) + (import "other" "hotCallee" (func $hotCallee)) + + ;; Test 1: Hot caller (with loop) -> Cold callee (no loop, in different module) + (func $hotCaller (export "testHotCallerColdCallee") (result i32) + (local $i i32) + (local $v128_temp v128) + (local $f64_temp f64) + + (loop $inner + local.get $i + i32.const 1 + i32.add + local.tee $i + i32.const 50 + i32.lt_s + br_if $inner + ) + + ;; Function ID 1 for hotCaller + (call $logOMG (i32.const 1) (call $isOMG)) + + try (result i32) + call $coldCallee + i32.const 0 + catch $vtag + ;; Exception parameters are on stack: i32, v128, f64 (top to bottom) + ;; Store f64 param in local $f64_temp + local.set $f64_temp + ;; Store v128 param in local $v128_temp + local.set $v128_temp + ;; i32 param is now on top of stack + + ;; Calculate: i32 + (v128_lane0*1) + (v128_lane1*10) + (v128_lane2*100) + (v128_lane3*1000) + f64 + ;; Start with i32 param (already on stack) + + ;; Add v128 lanes with different weights to detect reordering + local.get $v128_temp + i32x4.extract_lane 0 + i32.const 1 + i32.mul + i32.add + + local.get $v128_temp + i32x4.extract_lane 1 + i32.const 10 + i32.mul + i32.add + + local.get $v128_temp + i32x4.extract_lane 2 + i32.const 100 + i32.mul + i32.add + + local.get $v128_temp + i32x4.extract_lane 3 + i32.const 1000 + i32.mul + i32.add + + ;; Add f64 as i32 + local.get $f64_temp + f64.trunc + i32.trunc_f64_s + i32.add + end + ) + + ;; Test 2: Cold caller (no loop) -> Hot callee (with loop, in different module) + (func $coldCaller (export "testColdCallerHotCallee") (result i32) + (local $v128_temp v128) + (local $f64_temp f64) + ;; Function ID 3 for coldCaller + (call $logOMG (i32.const 3) (call $isOMG)) + + try (result i32) + call $hotCallee + i32.const 0 + catch $vtag + ;; Same weighted combination logic for test 2 + ;; Store f64 param + local.set $f64_temp + ;; Store v128 param + local.set $v128_temp + ;; i32 param is now on stack + + local.get $v128_temp + i32x4.extract_lane 0 + i32.const 1 + i32.mul + i32.add + + local.get $v128_temp + i32x4.extract_lane 1 + i32.const 10 + i32.mul + i32.add + + local.get $v128_temp + i32x4.extract_lane 2 + i32.const 100 + i32.mul + i32.add + + local.get $v128_temp + i32x4.extract_lane 3 + i32.const 1000 + i32.mul + i32.add + + local.get $f64_temp + f64.trunc + i32.trunc_f64_s + i32.add + end + ) +) +`; + +let watModule2 = ` +(module + (import "m" "isOMG" (func $isOMG (result i32))) + (import "m" "logOMG" (func $logOMG (param i32 i32))) + (import "shared" "vtag" (tag $vtag (param i32 v128 f64))) + + (func $coldCallee (export "coldCallee") + ;; Function ID 2 for coldCallee + (call $logOMG (i32.const 2) (call $isOMG)) + + ;; Throw complex exception: i32=10, v128=[1,2,3,4], f64=5.0 + i32.const 10 + v128.const i32x4 1 2 3 4 + f64.const 5.0 + throw $vtag + ) + + (func $hotCallee (export "hotCallee") + (local $i i32) + + (loop $inner + local.get $i + i32.const 1 + i32.add + local.tee $i + i32.const 50 + i32.lt_s + br_if $inner + ) + + ;; Function ID 4 for hotCallee + (call $logOMG (i32.const 4) (call $isOMG)) + + ;; Throw complex exception: i32=20, v128=[5,6,7,8], f64=9.0 + i32.const 20 + v128.const i32x4 5 6 7 8 + f64.const 9.0 + throw $vtag + ) +) +`; + +async function test() { + let omgTracker = {}; + let currentIteration = 0; + + function logOMG(funcId, isOMG) { + if (isOMG && !omgTracker[funcId]) { + omgTracker[funcId] = true; + if (verbose) + print(`Function ${funcId} reached OMG at iteration ${currentIteration}`); + } + } + + // Create shared exception tag with multiple parameters + const sharedTag = new WebAssembly.Tag({ parameters: ['i32', 'v128', 'f64'] }); + + // First instantiate module 2 (contains coldCallee and hotCallee) + const instance2 = await instantiate(watModule2, { + m: { + isOMG: $vm.omgTrue, + logOMG: logOMG + }, + shared: { + vtag: sharedTag + } + }, { exceptions: true, simd: true }); + + // Then instantiate module 1 (contains hotCaller and coldCaller, imports from module 2) + const instance1 = await instantiate(watModule1, { + m: { + isOMG: $vm.omgTrue, + logOMG: logOMG + }, + shared: { + vtag: sharedTag + }, + other: { + coldCallee: instance2.exports.coldCallee, + hotCallee: instance2.exports.hotCallee + } + }, { exceptions: true, simd: true }); + + for (let i = 0; i < wasmTestLoopCount; i++) { + currentIteration = i; + + // Test 1: Hot caller (module 1) -> Cold callee (module 2) + // Expected: 10 + (1*1 + 2*10 + 3*100 + 4*1000) + 5 = 10 + 4321 + 5 = 4336 + assert.eq(instance1.exports.testHotCallerColdCallee(), 4336); + + // Test 2: Cold caller (module 1) -> Hot callee (module 2) + // Expected: 20 + (5*1 + 6*10 + 7*100 + 8*1000) + 9 = 20 + 8765 + 9 = 8794 + assert.eq(instance1.exports.testColdCallerHotCallee(), 8794); + } +} + +await assert.asyncTest(test()); \ No newline at end of file diff --git a/JSTests/wasm/stress/try-table-simd.js b/JSTests/wasm/stress/try-table-simd.js index dcb60362e1974..13fb9912ccd70 100644 --- a/JSTests/wasm/stress/try-table-simd.js +++ b/JSTests/wasm/stress/try-table-simd.js @@ -46,7 +46,7 @@ let wasmBytes = new Uint8Array([ let result = await WebAssembly.instantiate(wasmBytes); -for (let i = 0; i < 1e4; ++i) { +for (let i = 0; i < wasmTestLoopCount; ++i) { assert.eq(result.instance.exports.simple_throw_catch_v128(0), 13); assert.eq(result.instance.exports.simple_throw_catch_v128(1), 42); } diff --git a/LayoutTests/TestExpectations b/LayoutTests/TestExpectations index ab170348e41b1..9246d15292aca 100644 --- a/LayoutTests/TestExpectations +++ b/LayoutTests/TestExpectations @@ -52,6 +52,7 @@ fast/forms/watchos [ Skip ] fast/images/text-recognition [ Skip ] fast/images/mac [ Skip ] fast/images/spatial-image-controls.html [ Skip ] +fast/images/spatial-image-controls-rtl.html [ Skip ] fast/sandbox/ios [ Skip ] fast/sandbox/mac [ Skip ] fast/text/data-detectors/ios [ Skip ] @@ -120,7 +121,6 @@ overlay-region [ Skip ] pdf [ Skip ] ipc/mac [ Skip ] ipc/restrictedendpoints/mac [ Skip ] -security/cocoa [ Skip ] # Requires async overflow scrolling compositing/shared-backing/overflow-scroll [ Skip ] @@ -399,12 +399,6 @@ media/remove-video-element-in-pip-from-document.html [ Skip ] # This test is only relevent on iPhone where videos always play in fullscreen. media/video-element-fullscreen-not-in-dom-accelerated-iphone.html [ Skip ] -# Tests rely on domain names our test infrastructure doesn't support. -imported/w3c/web-platform-tests/secure-contexts/basic-shared-worker.html [ Skip ] -imported/w3c/web-platform-tests/secure-contexts/basic-shared-worker.https.html [ Skip ] -imported/w3c/web-platform-tests/secure-contexts/shared-worker-insecure-first.https.html [ Skip ] -imported/w3c/web-platform-tests/secure-contexts/shared-worker-secure-first.https.html [ Skip ] - # This test seems wrong as it call update() for a script that does not change and expected an updatefound event. # Per specification, if the scripts are identical, we do not install the new script and return the existing registration. imported/w3c/web-platform-tests/service-workers/service-worker/import-scripts-redirect.https.html [ Skip ] @@ -843,6 +837,24 @@ imported/w3c/web-platform-tests/html/syntax/speculative-parsing/generated/docume imported/w3c/web-platform-tests/workers/modules/dedicated-worker-import-data-url.any.html [ Skip ] imported/w3c/web-platform-tests/workers/modules/dedicated-worker-import-data-url-cross-origin.html [ Skip ] +# This is failing because the navigationTiming timestamps are not correct. +imported/w3c/web-platform-tests/speculation-rules/prefetch/navigation-timing-requestStart-responseStart.https.html?include=afterResponse [ Pass Failure ] +imported/w3c/web-platform-tests/speculation-rules/prefetch/navigation-timing-requestStart-responseStart.https.html?include=waitingForRedirect [ Pass Failure ] +imported/w3c/web-platform-tests/speculation-rules/prefetch/navigation-timing-requestStart-responseStart.https.html?include=waitingForResponse [ Pass Failure ] +imported/w3c/web-platform-tests/speculation-rules/prefetch/referrer-policy-from-rules.https.html?3-3 [ Pass Failure ] +# This is passing, but timing out as `Clear-Site-Data: *` is making the test framework fail to get its own messages. +imported/w3c/web-platform-tests/speculation-rules/prefetch/clear-prefetch-cache-after-clear-site-data-cache.https.html [ Skip ] +# This is timing out because we do not support singleton prefetch matching, and the different initiators have different FrameLoaders. +imported/w3c/web-platform-tests/speculation-rules/prefetch/different-initiators-2.https.html [ Skip ] +# These tests output noisy console logs. +imported/w3c/web-platform-tests/speculation-rules/prefetch/initiators-iframe-location-href.sub.https.html?cross-site [ DumpJSConsoleLogInStdErr ] +imported/w3c/web-platform-tests/speculation-rules/prefetch/out-of-document-rule-set.https.html?include=CSPExemption [ DumpJSConsoleLogInStdErr ] +imported/w3c/web-platform-tests/speculation-rules/prefetch/prefetch-traverse-reload.sub.html [ DumpJSConsoleLogInStdErr ] +imported/w3c/web-platform-tests/speculation-rules/prefetch/prefetch-uses-cache.sub.https.html?cross-site [ DumpJSConsoleLogInStdErr ] +imported/w3c/web-platform-tests/speculation-rules/prefetch/redirect-middle-of-prefetch.https.html?origin=cross-site-initial [ DumpJSConsoleLogInStdErr ] +imported/w3c/web-platform-tests/speculation-rules/prefetch/redirect-to-prefetch-url.https.html?origin=cross-site-initial [ DumpJSConsoleLogInStdErr ] + + # Newly imported WPT ref tests failures. imported/w3c/web-platform-tests/compat/webkit-box-fieldset.html [ ImageOnlyFailure ] imported/w3c/web-platform-tests/compat/webkit-box-rtl-flex.html [ ImageOnlyFailure ] @@ -1010,8 +1022,6 @@ imported/w3c/web-platform-tests/fetch/api/cors/cors-cookies.any.html [ Failure P imported/w3c/web-platform-tests/fetch/content-length/parsing.window.html [ Failure Pass ] imported/w3c/web-platform-tests/fetch/redirects/subresource-fragments.html [ Failure Pass ] imported/w3c/web-platform-tests/html/browsers/history/joint-session-history/joint-session-history-only-fully-active.html [ Failure Pass ] -imported/w3c/web-platform-tests/html/browsers/history/the-history-interface/001.html [ Failure Pass Crash ] -imported/w3c/web-platform-tests/html/browsers/history/the-history-interface/002.html [ Failure Pass ] imported/w3c/web-platform-tests/html/browsers/history/the-history-interface/combination_history_002.html [ Failure Pass ] imported/w3c/web-platform-tests/html/browsers/history/the-history-interface/combination_history_003.html [ Failure Pass ] imported/w3c/web-platform-tests/html/semantics/scripting-1/the-script-element/execution-timing/058.html [ Failure Pass ] @@ -1277,6 +1287,9 @@ imported/w3c/web-platform-tests/resource-timing/TAO-match.html [ Pass Failure ] imported/w3c/web-platform-tests/resource-timing/iframe-failed-commit.html [ Pass Failure ] imported/w3c/web-platform-tests/resource-timing/fetch-cross-origin-redirect.https.html [ Pass Failure ] +# Partially implemented: +webkit.org/b/214677 imported/w3c/web-platform-tests/event-timing/event-counts-maplike-iterators-always-updated.html [ Pass Failure ] + # No browser passes, test is likely outdated: webkit.org/b/214677 imported/w3c/web-platform-tests/event-timing/modal-dialog-interrupt-paint.html [ Skip ] webkit.org/b/214677 imported/w3c/web-platform-tests/event-timing/TapToStopFling.html [ Skip ] @@ -1296,27 +1309,9 @@ imported/w3c/web-platform-tests/largest-contentful-paint/animated/observe-animat imported/w3c/web-platform-tests/largest-contentful-paint/animated/observe-animated-image-webp.tentative.html [ Skip ] imported/w3c/web-platform-tests/largest-contentful-paint/animated/observe-animated-image.tentative.html [ Skip ] imported/w3c/web-platform-tests/largest-contentful-paint/animated/observe-video.tentative.html [ Skip ] -imported/w3c/web-platform-tests/largest-contentful-paint/cross-origin-image.sub.html [ Skip ] -imported/w3c/web-platform-tests/largest-contentful-paint/element-only-when-fully-active.html [ Skip ] -imported/w3c/web-platform-tests/largest-contentful-paint/first-letter-background.html [ Skip ] -imported/w3c/web-platform-tests/largest-contentful-paint/first-paint-equals-lcp-text.html [ Skip ] -imported/w3c/web-platform-tests/largest-contentful-paint/image-full-viewport.html [ Skip ] -imported/w3c/web-platform-tests/largest-contentful-paint/image-TAO.sub.html [ Skip ] imported/w3c/web-platform-tests/largest-contentful-paint/initially-invisible-images.html [ Skip ] -imported/w3c/web-platform-tests/largest-contentful-paint/larger-text.html [ Skip ] -imported/w3c/web-platform-tests/largest-contentful-paint/multiple-redirects-TAO.html [ Skip ] -imported/w3c/web-platform-tests/largest-contentful-paint/observe-css-generated-text.html [ Skip ] -imported/w3c/web-platform-tests/largest-contentful-paint/observe-mathml.html [ Skip ] -imported/w3c/web-platform-tests/largest-contentful-paint/observe-random-namespace.html [ Skip ] -imported/w3c/web-platform-tests/largest-contentful-paint/observe-text.html [ Skip ] -imported/w3c/web-platform-tests/largest-contentful-paint/text-with-display-style.html [ Skip ] -imported/w3c/web-platform-tests/largest-contentful-paint/transparent-text-with-shadow.html [ Skip ] -imported/w3c/web-platform-tests/largest-contentful-paint/transparent-text-with-text-stroke.html [ Skip ] -imported/w3c/web-platform-tests/largest-contentful-paint/update-on-style-change.html [ Skip ] imported/w3c/web-platform-tests/largest-contentful-paint/video-data-uri.html [ Skip ] -imported/w3c/web-platform-tests/largest-contentful-paint/web-font-styled-text-resize-block.html [ Skip ] imported/w3c/web-platform-tests/largest-contentful-paint/web-font-styled-text-resize-swap-after-interaction.html [ Skip ] -imported/w3c/web-platform-tests/largest-contentful-paint/web-font-styled-text-resize-swap-smaller.html [ Skip ] imported/w3c/web-platform-tests/largest-contentful-paint/web-font-styled-text-resize-swap-subnode.html [ Skip ] imported/w3c/web-platform-tests/largest-contentful-paint/web-font-styled-text-resize-swap.html [ Skip ] @@ -1868,7 +1863,6 @@ imported/w3c/web-platform-tests/mathml/presentation-markup/operators/character-l mathml/non-core/mathvariant/mathvariant-case-sensitivity.html [ ImageOnlyFailure ] imported/w3c/web-platform-tests/mathml/presentation-markup/radicals/dynamic-radical-paint-invalidation-001.html [ ImageOnlyFailure ] -imported/w3c/web-platform-tests/mathml/presentation-markup/scripts/subsup-legacy-scriptshift-attributes-001.tentative.html [ ImageOnlyFailure ] imported/w3c/web-platform-tests/mathml/presentation-markup/operators/mo-form-minus-plus.html [ ImageOnlyFailure ] imported/w3c/web-platform-tests/mathml/presentation-markup/operators/mo-form.html [ ImageOnlyFailure ] imported/w3c/web-platform-tests/mathml/presentation-markup/operators/mo-single-char-and-children.html [ ImageOnlyFailure ] @@ -2190,11 +2184,11 @@ imported/w3c/web-platform-tests/svg/styling/nested-svg-sizing-rems.tentative.svg imported/w3c/web-platform-tests/svg/styling/nested-svg-sizing-stretch.tentative.svg [ ImageOnlyFailure ] imported/w3c/web-platform-tests/svg/styling/nested-svg-sizing-viewport-units-with-ICB.tentative.html [ ImageOnlyFailure ] imported/w3c/web-platform-tests/svg/styling/nested-svg-sizing-viewport-units.tentative.svg [ ImageOnlyFailure ] -imported/w3c/web-platform-tests/svg/styling/use-element-attr-selector-transition.html [ ImageOnlyFailure ] +imported/w3c/web-platform-tests/svg/styling/use-element-attr-selector-transition.tentative.html [ ImageOnlyFailure ] imported/w3c/web-platform-tests/svg/styling/use-element-attr-selector.html [ ImageOnlyFailure ] -imported/w3c/web-platform-tests/svg/styling/use-element-class-selector-transition.html [ ImageOnlyFailure ] -imported/w3c/web-platform-tests/svg/styling/use-element-id-selector-transition.html [ ImageOnlyFailure ] -imported/w3c/web-platform-tests/svg/styling/use-element-transitions-dom-mutation.html [ ImageOnlyFailure ] +imported/w3c/web-platform-tests/svg/styling/use-element-class-selector-transition.tentative.html [ ImageOnlyFailure ] +imported/w3c/web-platform-tests/svg/styling/use-element-id-selector-transition.tentative.html [ ImageOnlyFailure ] +imported/w3c/web-platform-tests/svg/styling/use-element-transitions-dom-mutation.tentative.html [ ImageOnlyFailure ] webkit.org/b/201110 imported/w3c/web-platform-tests/svg/extensibility/foreignObject/stacking-context.html [ Skip ] webkit.org/b/201110 imported/w3c/web-platform-tests/svg/extensibility/foreignObject/position-svg-root-in-foreign-object.html [ Skip ] @@ -3005,8 +2999,6 @@ webkit.org/b/195275 imported/w3c/web-platform-tests/css/css-text/boundary-shapin webkit.org/b/195275 imported/w3c/web-platform-tests/css/css-text/boundary-shaping/boundary-shaping-003.html [ ImageOnlyFailure ] webkit.org/b/195275 imported/w3c/web-platform-tests/css/css-text/boundary-shaping/boundary-shaping-004.html [ ImageOnlyFailure ] webkit.org/b/195275 imported/w3c/web-platform-tests/css/css-text/boundary-shaping/boundary-shaping-005.html [ ImageOnlyFailure ] -webkit.org/b/299633 imported/w3c/web-platform-tests/css/css-text/boundary-shaping/boundary-shaping-009.html [ ImageOnlyFailure ] -webkit.org/b/195275 imported/w3c/web-platform-tests/css/css-text/boundary-shaping/boundary-shaping-010.html [ ImageOnlyFailure ] imported/w3c/web-platform-tests/css/css-text/hanging-punctuation/hanging-punctuation-first-001.xht [ ImageOnlyFailure ] imported/w3c/web-platform-tests/css/css-text/hanging-punctuation/hanging-punctuation-first-002.html [ ImageOnlyFailure ] imported/w3c/web-platform-tests/css/css-text/hanging-punctuation/hanging-punctuation-last-001.xht [ ImageOnlyFailure ] @@ -5317,7 +5309,6 @@ imported/w3c/web-platform-tests/css/css-multicol/intrinsic-size-004.html [ Image imported/w3c/web-platform-tests/css/css-multicol/intrinsic-size-005.html [ ImageOnlyFailure ] imported/w3c/web-platform-tests/css/css-multicol/columnfill-auto-max-height-001.html [ ImageOnlyFailure ] imported/w3c/web-platform-tests/css/css-multicol/columnfill-auto-max-height-002.html [ ImageOnlyFailure ] -imported/w3c/web-platform-tests/css/css-multicol/large-actual-column-count.html [ ImageOnlyFailure ] imported/w3c/web-platform-tests/css/css-multicol/multicol-breaking-000.html [ ImageOnlyFailure ] imported/w3c/web-platform-tests/css/css-multicol/multicol-breaking-001.html [ ImageOnlyFailure ] imported/w3c/web-platform-tests/css/css-multicol/multicol-breaking-002.html [ ImageOnlyFailure ] @@ -5341,12 +5332,16 @@ imported/w3c/web-platform-tests/css/css-multicol/multicol-rule-nested-balancing- imported/w3c/web-platform-tests/css/css-multicol/multicol-rule-nested-balancing-002.html [ ImageOnlyFailure ] imported/w3c/web-platform-tests/css/css-multicol/multicol-rule-nested-balancing-003.html [ ImageOnlyFailure ] imported/w3c/web-platform-tests/css/css-multicol/multicol-rule-nested-balancing-004.html [ ImageOnlyFailure ] +webkit.org/b/299854 imported/w3c/web-platform-tests/css/css-multicol/multicol-span-all-005.html [ ImageOnlyFailure ] +webkit.org/b/299854 imported/w3c/web-platform-tests/css/css-multicol/multicol-span-all-006.html [ ImageOnlyFailure ] +webkit.org/b/299854 imported/w3c/web-platform-tests/css/css-multicol/multicol-span-all-007.html [ ImageOnlyFailure ] +webkit.org/b/299854 imported/w3c/web-platform-tests/css/css-multicol/multicol-span-all-008.html [ ImageOnlyFailure ] +webkit.org/b/299854 imported/w3c/web-platform-tests/css/css-multicol/multicol-span-all-009.html [ ImageOnlyFailure ] +webkit.org/b/299854 imported/w3c/web-platform-tests/css/css-multicol/multicol-span-all-011.html [ ImageOnlyFailure ] imported/w3c/web-platform-tests/css/css-multicol/multicol-span-all-010.html [ ImageOnlyFailure ] imported/w3c/web-platform-tests/css/css-multicol/multicol-span-all-button-001.html [ ImageOnlyFailure ] imported/w3c/web-platform-tests/css/css-multicol/multicol-span-all-button-002.html [ ImageOnlyFailure ] imported/w3c/web-platform-tests/css/css-multicol/multicol-span-all-button-003.html [ ImageOnlyFailure ] -imported/w3c/web-platform-tests/css/css-multicol/multicol-span-all-children-height-005.html [ ImageOnlyFailure ] -imported/w3c/web-platform-tests/css/css-multicol/multicol-span-all-children-height-008.html [ ImageOnlyFailure ] imported/w3c/web-platform-tests/css/css-multicol/multicol-span-all-margin-002.xht [ ImageOnlyFailure ] imported/w3c/web-platform-tests/css/css-multicol/multicol-span-all-margin-nested-001.xht [ ImageOnlyFailure ] imported/w3c/web-platform-tests/css/css-multicol/multicol-span-all-margin-nested-002.xht [ ImageOnlyFailure ] @@ -5359,7 +5354,6 @@ imported/w3c/web-platform-tests/css/css-multicol/with-custom-layout-on-same-elem imported/w3c/web-platform-tests/css/css-multicol/multicol-span-all-children-height-003.html [ Skip ] # times out imported/w3c/web-platform-tests/css/css-multicol/multicol-breaking-006.html [ ImageOnlyFailure ] imported/w3c/web-platform-tests/css/css-multicol/multicol-fill-balance-005.html [ ImageOnlyFailure ] -imported/w3c/web-platform-tests/css/css-multicol/multicol-fill-balance-029.html [ ImageOnlyFailure ] imported/w3c/web-platform-tests/css/css-multicol/multicol-fill-balance-nested-000.html [ ImageOnlyFailure ] imported/w3c/web-platform-tests/css/css-multicol/multicol-nested-007.html [ ImageOnlyFailure ] imported/w3c/web-platform-tests/css/css-multicol/multicol-nested-008.html [ ImageOnlyFailure ] @@ -5393,14 +5387,13 @@ imported/w3c/web-platform-tests/css/css-multicol/multicol-span-all-019.html [ Im imported/w3c/web-platform-tests/css/css-multicol/multicol-span-all-children-height-009.html [ ImageOnlyFailure ] imported/w3c/web-platform-tests/css/css-multicol/multicol-span-all-children-height-010.html [ ImageOnlyFailure ] imported/w3c/web-platform-tests/css/css-multicol/multicol-span-all-children-height-012.html [ ImageOnlyFailure ] -imported/w3c/web-platform-tests/css/css-multicol/multicol-span-float-002.html [ ImageOnlyFailure ] -imported/w3c/web-platform-tests/css/css-multicol/multicol-span-float-003.html [ ImageOnlyFailure ] imported/w3c/web-platform-tests/css/css-multicol/multicol-zero-height-003.html [ ImageOnlyFailure ] imported/w3c/web-platform-tests/css/css-multicol/nested-floated-multicol-with-monolithic-child.html [ ImageOnlyFailure ] imported/w3c/web-platform-tests/css/css-multicol/nested-past-fragmentation-line.html [ ImageOnlyFailure ] imported/w3c/web-platform-tests/css/css-multicol/overflow-unsplittable-001.html [ ImageOnlyFailure ] imported/w3c/web-platform-tests/css/css-multicol/overflow-unsplittable-002.html [ ImageOnlyFailure ] imported/w3c/web-platform-tests/css/css-multicol/overflow-unsplittable-003.html [ ImageOnlyFailure ] +imported/w3c/web-platform-tests/css/css-multicol/resize-in-strict-containment-nested.html [ ImageOnlyFailure ] imported/w3c/web-platform-tests/css/css-multicol/spanner-fragmentation-009.html [ ImageOnlyFailure ] imported/w3c/web-platform-tests/css/css-multicol/spanner-fragmentation-011.html [ ImageOnlyFailure ] imported/w3c/web-platform-tests/css/css-multicol/spanner-in-child-after-parallel-flow-004.html [ ImageOnlyFailure ] @@ -5416,10 +5409,8 @@ imported/w3c/web-platform-tests/css/css-multicol/column-height-006.html [ ImageO imported/w3c/web-platform-tests/css/css-multicol/column-height-007.html [ ImageOnlyFailure ] imported/w3c/web-platform-tests/css/css-multicol/column-height-008.html [ ImageOnlyFailure ] imported/w3c/web-platform-tests/css/css-multicol/column-height-009.html [ ImageOnlyFailure ] -imported/w3c/web-platform-tests/css/css-multicol/column-height-011.html [ ImageOnlyFailure ] imported/w3c/web-platform-tests/css/css-multicol/column-height-012.html [ ImageOnlyFailure ] imported/w3c/web-platform-tests/css/css-multicol/multicol-fill-balance-030.html [ ImageOnlyFailure ] -imported/w3c/web-platform-tests/css/css-multicol/multicol-span-float-004.html [ ImageOnlyFailure ] # Crashes webkit.org/b/279421 [ Debug ] imported/w3c/web-platform-tests/css/css-multicol/crashtests/inline-float-parallel-flow.html [ Skip ] @@ -5991,8 +5982,6 @@ webkit.org/b/266630 imported/w3c/web-platform-tests/trusted-types/trusted-types- webkit.org/b/274088 imported/w3c/web-platform-tests/trusted-types/Element-setAttribute-respects-Elements-node-documents-globals-CSP-after-adoption-from-non-TT-realm.html [ Pass Failure ] webkit.org/b/274088 imported/w3c/web-platform-tests/trusted-types/Element-setAttribute-respects-Elements-node-documents-globals-CSP-after-adoption-from-TT-realm.html [ Pass Failure ] -webkit.org/b/289904 imported/w3c/web-platform-tests/trusted-types/should-sink-type-mismatch-violation-be-blocked-by-csp-001.html [ Skip ] - # WebKit doesn't support CSP violation reporting inside Workers imported/w3c/web-platform-tests/trusted-types/trusted-types-reporting-for-DedicatedWorker-DedicatedWorker-constructor.html [ Skip ] imported/w3c/web-platform-tests/trusted-types/trusted-types-reporting-for-DedicatedWorker-eval.html [ Skip ] @@ -6095,12 +6084,6 @@ webkit.org/b/243313 [ Debug ] imported/w3c/web-platform-tests/html/semantics/emb fast/text/accessibility-bold-system-font [ Pass Failure ImageOnlyFailure ] imported/w3c/web-platform-tests/streams/transferable/gc-crash.html [ Skip ] -# ReadableByteStream has a crash bug (ReadableByteStream is not enabled). -imported/w3c/web-platform-tests/streams/readable-byte-streams/respond-after-enqueue.any.html [ Skip ] -imported/w3c/web-platform-tests/streams/readable-byte-streams/respond-after-enqueue.any.serviceworker.html [ Skip ] -imported/w3c/web-platform-tests/streams/readable-byte-streams/respond-after-enqueue.any.worker.html [ Skip ] -streams/readable-byte-stream-controller.html [ Skip ] -streams/readable-byte-stream-controller-worker.html [ Skip ] # height: fill-available failures webkit.org/b/241104 fast/block/fill-available-with-no-specified-containing-block-height.html [ ImageOnlyFailure ] @@ -6380,12 +6363,6 @@ imported/w3c/web-platform-tests/resource-timing/resource_timing_cross_origin_red imported/w3c/web-platform-tests/service-workers/service-worker/fetch-audio-tainting.https.html [ Skip ] imported/w3c/web-platform-tests/service-workers/service-worker/unregister-immediately-before-installed.https.html [ Skip ] imported/w3c/web-platform-tests/service-workers/service-worker/unregister-immediately.https.html [ Skip ] -imported/w3c/web-platform-tests/streams/readable-byte-streams/bad-buffers-and-views.any.html [ Skip ] -imported/w3c/web-platform-tests/streams/readable-byte-streams/bad-buffers-and-views.any.serviceworker.html [ Skip ] -imported/w3c/web-platform-tests/streams/readable-byte-streams/bad-buffers-and-views.any.worker.html [ Skip ] -imported/w3c/web-platform-tests/streams/readable-byte-streams/general.any.html [ Skip ] -imported/w3c/web-platform-tests/streams/readable-byte-streams/general.any.serviceworker.html [ Skip ] -imported/w3c/web-platform-tests/streams/readable-byte-streams/general.any.worker.html [ Skip ] imported/w3c/web-platform-tests/svg/animations/beginevents-1.html [ Skip ] imported/w3c/web-platform-tests/svg/linking/scripted/href-animate-element.html [ Skip ] imported/w3c/web-platform-tests/svg/linking/scripted/href-mpath-element.html [ Skip ] @@ -6954,13 +6931,8 @@ imported/w3c/web-platform-tests/navigation-api/scroll-behavior/ [ Failure Pass ] imported/w3c/web-platform-tests/navigation-api/navigation-history-entry/opaque-origin.html [ Skip ] imported/w3c/web-platform-tests/navigation-api/navigation-methods/return-value/back-forward-opaque-origin.html [ Skip ] -# Back/Forward Cache is required. Tested in http/wpt. rdar://158330285 -imported/w3c/web-platform-tests/navigation-api/navigation-history-entry/entries-after-bfcache-in-iframe.html [ Skip ] -imported/w3c/web-platform-tests/navigation-api/per-entry-events/dispose-after-bfcache.html [ Skip ] -imported/w3c/web-platform-tests/navigation-api/navigation-activation/activation-after-bfcache-cross-origin.html [ Skip ] -imported/w3c/web-platform-tests/navigation-api/navigation-activation/activation-after-bfcache.html [ Skip ] -imported/w3c/web-platform-tests/navigation-api/navigate-event/navigate-history-back-bfcache.html [ Skip ] -imported/w3c/web-platform-tests/navigation-api/navigation-history-entry/entries-after-bfcache.html [ Skip ] +webkit.org/b/300005 imported/w3c/web-platform-tests/navigation-api/navigate-event/cross-origin-traversal-does-not-fire-navigate.html [ Skip ] +webkit.org/b/300006 imported/w3c/web-platform-tests/navigation-api/navigate-event/navigation-back-cross-document-preventDefault.html [ Skip ] # Out of target of Interop 2025. imported/w3c/web-platform-tests/navigation-api/navigate-event/navigate-multiple-history-pushState.html [ Skip ] @@ -7072,6 +7044,8 @@ imported/w3c/web-platform-tests/css/css-break/forced-break-at-fragmentainer-star imported/w3c/web-platform-tests/css/css-break/fragmented-autowidth-fc-root-beside-floats.html [ ImageOnlyFailure ] imported/w3c/web-platform-tests/css/css-break/inline-with-float-004.html [ ImageOnlyFailure ] imported/w3c/web-platform-tests/css/css-break/line-after-unbreakable-float-after-padding.html [ ImageOnlyFailure ] +imported/w3c/web-platform-tests/css/css-break/monolithic-overflow-001.tentative.html [ ImageOnlyFailure ] +imported/w3c/web-platform-tests/css/css-break/monolithic-overflow-002.tentative.html [ ImageOnlyFailure ] imported/w3c/web-platform-tests/css/css-break/monolithic-overflow-003.tentative.html [ ImageOnlyFailure ] imported/w3c/web-platform-tests/css/css-break/monolithic-overflow-004.tentative.html [ ImageOnlyFailure ] imported/w3c/web-platform-tests/css/css-break/monolithic-overflow-005.tentative.html [ ImageOnlyFailure ] @@ -7124,6 +7098,7 @@ imported/w3c/web-platform-tests/css/css-break/out-of-flow-in-multicolumn-115.htm imported/w3c/web-platform-tests/css/css-break/out-of-flow-in-multicolumn-116.html [ ImageOnlyFailure ] imported/w3c/web-platform-tests/css/css-break/overflow-clip-000.html [ ImageOnlyFailure ] imported/w3c/web-platform-tests/css/css-break/overflow-clip-001.html [ ImageOnlyFailure ] +webkit.org/b/299857 imported/w3c/web-platform-tests/css/css-break/overflow-clip-010.html [ ImageOnlyFailure ] imported/w3c/web-platform-tests/css/css-break/overflow-clip-017.html [ ImageOnlyFailure ] imported/w3c/web-platform-tests/css/css-break/overflowed-block-with-no-room-after-000.html [ ImageOnlyFailure ] imported/w3c/web-platform-tests/css/css-break/overflowed-block-with-no-room-after-001.html [ ImageOnlyFailure ] @@ -7178,6 +7153,8 @@ imported/w3c/web-platform-tests/css/css-break/flexbox/flex-container-fragmentati imported/w3c/web-platform-tests/css/css-break/flexbox/flex-container-fragmentation-010.html [ ImageOnlyFailure ] imported/w3c/web-platform-tests/css/css-break/flexbox/flex-container-fragmentation-011.html [ ImageOnlyFailure ] imported/w3c/web-platform-tests/css/css-break/flexbox/flex-item-content-overflow-003.html [ ImageOnlyFailure ] +imported/w3c/web-platform-tests/css/css-break/flexbox/monolithic-overflow-001.tentative.html [ ImageOnlyFailure ] +imported/w3c/web-platform-tests/css/css-break/flexbox/monolithic-overflow-002.tentative.html [ ImageOnlyFailure ] imported/w3c/web-platform-tests/css/css-break/flexbox/monolithic-overflow-003.tentative.html [ ImageOnlyFailure ] imported/w3c/web-platform-tests/css/css-break/flexbox/monolithic-overflow-004.tentative.html [ ImageOnlyFailure ] imported/w3c/web-platform-tests/css/css-break/flexbox/multi-line-column-flex-fragmentation-015.html [ ImageOnlyFailure ] @@ -7313,6 +7290,8 @@ imported/w3c/web-platform-tests/css/css-break/grid/grid-item-oof-007.html [ Imag imported/w3c/web-platform-tests/css/css-break/grid/grid-item-oof-009.html [ ImageOnlyFailure ] imported/w3c/web-platform-tests/css/css-break/grid/grid-item-oof-010.html [ ImageOnlyFailure ] imported/w3c/web-platform-tests/css/css-break/grid/grid-item-overflow-001.html [ ImageOnlyFailure ] +imported/w3c/web-platform-tests/css/css-break/grid/monolithic-overflow-001.tentative.html [ ImageOnlyFailure ] +imported/w3c/web-platform-tests/css/css-break/grid/monolithic-overflow-002.tentative.html [ ImageOnlyFailure ] imported/w3c/web-platform-tests/css/css-break/grid/monolithic-overflow-003.tentative.html [ ImageOnlyFailure ] imported/w3c/web-platform-tests/css/css-break/grid/monolithic-overflow-004.tentative.html [ ImageOnlyFailure ] imported/w3c/web-platform-tests/css/css-break/grid/monolithic-overflow-006.html [ ImageOnlyFailure ] @@ -7337,6 +7316,8 @@ imported/w3c/web-platform-tests/css/css-break/table/break-before-expansion-001.h imported/w3c/web-platform-tests/css/css-break/table/break-before-expansion-002.html [ ImageOnlyFailure ] imported/w3c/web-platform-tests/css/css-break/table/break-before-table-cell-child.html [ ImageOnlyFailure ] imported/w3c/web-platform-tests/css/css-break/table/break-before-table-cell.html [ ImageOnlyFailure ] +imported/w3c/web-platform-tests/css/css-break/table/monolithic-overflow-001.tentative.html [ ImageOnlyFailure ] +imported/w3c/web-platform-tests/css/css-break/table/monolithic-overflow-002.tentative.html [ ImageOnlyFailure ] imported/w3c/web-platform-tests/css/css-break/table/monolithic-overflow-003.tentative.html [ ImageOnlyFailure ] imported/w3c/web-platform-tests/css/css-break/table/monolithic-overflow-004.tentative.html [ ImageOnlyFailure ] imported/w3c/web-platform-tests/css/css-break/table/monolithic-overflow-006.html [ ImageOnlyFailure ] @@ -7481,7 +7462,6 @@ webkit.org/b/261557 media/video-remove-insert-repaints.html [ Pass Crash ] # webkit.org/b/283062 imported/w3c/web-platform-tests/css/css-scoping/host-multiple-002.html [ ImageOnlyFailure ] imported/w3c/web-platform-tests/css/css-scoping/host-multiple-004.html [ ImageOnlyFailure ] -imported/w3c/web-platform-tests/css/css-scoping/host-multiple-006.html [ ImageOnlyFailure ] # Out-of-flow line break handling [ Debug ] fast/text/remove-renderer-and-select-crash.html [ Skip ] @@ -7524,12 +7504,9 @@ webkit.org/b/282024 fast/text/text-box-edge-with-margin-padding-border-simple.ht # -- Anchor Positioning -- # # general failures -webkit.org/b/289743 imported/w3c/web-platform-tests/css/css-anchor-position/anchor-position-multicol-007.html [ ImageOnlyFailure ] -webkit.org/b/289743 imported/w3c/web-platform-tests/css/css-anchor-position/anchor-position-multicol-008.html [ ImageOnlyFailure ] imported/w3c/web-platform-tests/css/css-anchor-position/anchor-scroll-position-try-012.html [ ImageOnlyFailure ] imported/w3c/web-platform-tests/css/css-anchor-position/position-visibility-anchors-visible-with-position.html [ ImageOnlyFailure ] imported/w3c/web-platform-tests/css/css-anchor-position/position-visibility-no-overflow-scroll.html [ ImageOnlyFailure ] -imported/w3c/web-platform-tests/css/css-anchor-position/anchor-position-multicol-colspan-003.html [ ImageOnlyFailure ] imported/w3c/web-platform-tests/css/css-anchor-position/transform-001.tentative.html [ ImageOnlyFailure ] imported/w3c/web-platform-tests/css/css-anchor-position/transform-002.tentative.html [ ImageOnlyFailure ] imported/w3c/web-platform-tests/css/css-anchor-position/transform-003.tentative.html [ ImageOnlyFailure ] @@ -7546,9 +7523,6 @@ imported/w3c/web-platform-tests/css/css-anchor-position/container-queries/anchor # This is passing only on mac-wk2 webkit.org/b/299561 imported/w3c/web-platform-tests/css/css-anchor-position/anchor-scroll-chained-003.html [ ImageOnlyFailure ] -# Might be a test error, see https://github.com/w3c/csswg-drafts/issues/12577 -imported/w3c/web-platform-tests/css/css-anchor-position/anchor-position-non-anchored-fallback.html [ ImageOnlyFailure ] - # timeouts imported/w3c/web-platform-tests/css/css-anchor-position/anchor-ident-function.html [ Skip ] @@ -7596,13 +7570,11 @@ imported/w3c/web-platform-tests/css/css-scoping/has-slotted-functional-flattened imported/w3c/web-platform-tests/css/css-scoping/has-slotted-functional-flattened-004.tentative.html [ ImageOnlyFailure ] imported/w3c/web-platform-tests/css/css-scoping/has-slotted-functional-flattened-006.tentative.html [ ImageOnlyFailure ] -# :not(:defined) - https://bugs.webkit.org/show_bug.cgi?id=282688 -imported/w3c/web-platform-tests/css/css-scoping/host-defined.html [ ImageOnlyFailure ] - # :host:has - https://bugs.webkit.org/show_bug.cgi?id=282687 -imported/w3c/web-platform-tests/css/css-scoping/host-has-internal-001.tentative.html [ ImageOnlyFailure ] -imported/w3c/web-platform-tests/css/css-scoping/host-has-internal-002.tentative.html [ ImageOnlyFailure ] -imported/w3c/web-platform-tests/css/css-scoping/host-has-internal-003.tentative.html [ ImageOnlyFailure ] +imported/w3c/web-platform-tests/css/css-scoping/host-has-internal-001.html [ ImageOnlyFailure ] +imported/w3c/web-platform-tests/css/css-scoping/host-has-internal-002.html [ ImageOnlyFailure ] +imported/w3c/web-platform-tests/css/css-scoping/host-has-internal-003.html [ ImageOnlyFailure ] +imported/w3c/web-platform-tests/css/css-scoping/host-has-internal-004.html [ ImageOnlyFailure ] imported/w3c/web-platform-tests/webrtc-encoded-transform/script-transform-generateKeyFrame-simulcast.https.html [ Pass Failure ] imported/w3c/web-platform-tests/webrtc-encoded-transform/RTCRtpScriptTransform-encoded-transform.https.html [ Pass Failure ] @@ -7725,7 +7697,7 @@ webkit.org/b/289926 imported/w3c/web-platform-tests/css/css-position/sticky/posi webkit.org/b/289926 imported/w3c/web-platform-tests/css/css-position/sticky/position-sticky-table-pixel-rounding.html [ ImageOnlyFailure ] imported/w3c/web-platform-tests/svg/styling/use-element-animations.html [ ImageOnlyFailure ] -imported/w3c/web-platform-tests/svg/styling/use-element-transitions.html [ ImageOnlyFailure ] +imported/w3c/web-platform-tests/svg/styling/use-element-transitions.tentative.html [ ImageOnlyFailure ] imported/w3c/web-platform-tests/svg/styling/use-element-web-animations.html [ ImageOnlyFailure ] imported/w3c/web-platform-tests/svg/styling/nested-svg-sizing.svg [ ImageOnlyFailure ] imported/w3c/web-platform-tests/svg/styling/nested-svg-sizing-with-use.svg [ ImageOnlyFailure ] @@ -7935,3 +7907,12 @@ imported/w3c/web-platform-tests/html/rendering/replaced-elements/the-select-elem imported/w3c/web-platform-tests/html/rendering/replaced-elements/the-select-element/customizable-select/min-width-in-flex.html [ ImageOnlyFailure ] imported/w3c/web-platform-tests/html/rendering/sections/headingoffset-and-headingreset.html [ ImageOnlyFailure ] + +# Need to add tolerance for local in separate since failure is 0.01% and these tests pass on WPT itself. +imported/w3c/web-platform-tests/svg/painting/reftests/text-shadow-01.html [ ImageOnlyFailure ] +imported/w3c/web-platform-tests/svg/painting/reftests/text-shadow-02.html [ ImageOnlyFailure ] +imported/w3c/web-platform-tests/svg/painting/reftests/text-shadow-03.html [ ImageOnlyFailure ] + +# Hits assert in debug, tracked by rdar://161930313 +[ Debug ] http/tests/site-isolation/mixedContent/data-url-iframe-in-main-frame.html [ Skip ] +[ Debug ] http/tests/site-isolation/mixedContent/insecure-audio-video-in-main-frame.html [ Skip ] diff --git a/LayoutTests/accessibility/dynamic-frame-prepend-crash-expected.txt b/LayoutTests/accessibility/dynamic-frame-prepend-crash-expected.txt new file mode 100644 index 0000000000000..3d649f9765540 --- /dev/null +++ b/LayoutTests/accessibility/dynamic-frame-prepend-crash-expected.txt @@ -0,0 +1,8 @@ +This test ensures we don't crash when prepending a frame in response to an XHR event. + +Test completed without crashing. + +PASS successfullyParsed is true + +TEST COMPLETE + diff --git a/LayoutTests/accessibility/dynamic-frame-prepend-crash.html b/LayoutTests/accessibility/dynamic-frame-prepend-crash.html new file mode 100644 index 0000000000000..e02592157a772 --- /dev/null +++ b/LayoutTests/accessibility/dynamic-frame-prepend-crash.html @@ -0,0 +1,54 @@ + + + + + + + + +
+ + + + diff --git a/LayoutTests/accessibility/ios-simulator/date-picker-focus-notification-expected.txt b/LayoutTests/accessibility/ios-simulator/date-picker-focus-notification-expected.txt new file mode 100644 index 0000000000000..86349ecdce5a0 --- /dev/null +++ b/LayoutTests/accessibility/ios-simulator/date-picker-focus-notification-expected.txt @@ -0,0 +1,7 @@ +This tests that when a date field shows a popover, no focused event is fired. + + +PASS successfullyParsed is true + +TEST COMPLETE + diff --git a/LayoutTests/accessibility/ios-simulator/date-picker-focus-notification.html b/LayoutTests/accessibility/ios-simulator/date-picker-focus-notification.html new file mode 100644 index 0000000000000..27003edc19fa1 --- /dev/null +++ b/LayoutTests/accessibility/ios-simulator/date-picker-focus-notification.html @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + diff --git a/LayoutTests/accessibility/math-foreign-content.html b/LayoutTests/accessibility/math-foreign-content.html index e591d7a82379f..c79332bb72f39 100644 --- a/LayoutTests/accessibility/math-foreign-content.html +++ b/LayoutTests/accessibility/math-foreign-content.html @@ -7,14 +7,11 @@
- - Content MathML - - - SVG - - - + + + SVG + + HTML
diff --git a/LayoutTests/editing/selection/ios/scrolling-after-caret-selection-inside-contenteditable-div-expected.txt b/LayoutTests/editing/selection/ios/scrolling-after-caret-selection-inside-contenteditable-div-expected.txt new file mode 100644 index 0000000000000..2f5c8b1fe7480 --- /dev/null +++ b/LayoutTests/editing/selection/ios/scrolling-after-caret-selection-inside-contenteditable-div-expected.txt @@ -0,0 +1,10 @@ +When a site programmatically focuses a contenteditable div before editing or text selections are made, and that div is then edited followed by editing ending in a manner which preserves the text selection (i.e clicking a button element), scrollable areas should remain scrollable. + +On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". + + +PASS The region remained scrollable after editing. +PASS successfullyParsed is true + +TEST COMPLETE + diff --git a/LayoutTests/editing/selection/ios/scrolling-after-caret-selection-inside-contenteditable-div.html b/LayoutTests/editing/selection/ios/scrolling-after-caret-selection-inside-contenteditable-div.html new file mode 100644 index 0000000000000..a2ea329ac07e9 --- /dev/null +++ b/LayoutTests/editing/selection/ios/scrolling-after-caret-selection-inside-contenteditable-div.html @@ -0,0 +1,115 @@ + + + + + + + + + + + + + +
+
+
+
+ Do not select any text or press the done button during editing. Tap here, then press the button + element. After the keyboard dismisses, try to scroll the region above. The test passes if the region is + scrollable. +
+ +

+ + + diff --git a/LayoutTests/fast/canvas/canvas-path-addPath-expected.txt b/LayoutTests/fast/canvas/canvas-path-addPath-expected.txt index e3633cc58e9f8..bbf515cb7e6bf 100644 --- a/LayoutTests/fast/canvas/canvas-path-addPath-expected.txt +++ b/LayoutTests/fast/canvas/canvas-path-addPath-expected.txt @@ -1,40 +1,3 @@ -Test addPath of Path2D. -On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". - - -Add path B with path data to path A without path data. -PASS refTest(result.data, expected.data) is true - -Add empty path B to path A with path data. -PASS refTest(result.data, expected.data) is true - -Add path with path data B to path A with path data. -PASS refTest(result.data, expected.data) is true - -Add path with path data B to path A with path data. Fill with winding rule evenodd. -PASS refTest(result.data, expected.data) is true - -Add path B to path A with transformation matrix. -PASS refTest(result.data, expected.data) is true - -Add path A to itself with transformation matrix. -PASS refTest(result.data, expected.data) is true - -Add path B to path A with singular transformation matrix (1). -PASS refTest(result.data, expected.data) is true - -Add path B to path A with singular transformation matrix (2). -PASS refTest(result.data, expected.data) is true - -Add path B to path A with singular transformation matrix (3). -PASS refTest(result.data, expected.data) is true - -Various tests of invalid values. -PASS pathA.addPath(matrix, pathB) threw exception TypeError: Argument 1 ('path') to Path2D.addPath must be an instance of Path2D. -PASS pathA.addPath(pathB, 0) threw exception TypeError: Type error. -PASS pathA.addPath(pathB, "0") threw exception TypeError: Type error. -PASS successfullyParsed is true - -TEST COMPLETE +PASS Test addPath() method. diff --git a/LayoutTests/fast/canvas/canvas-path-addPath.html b/LayoutTests/fast/canvas/canvas-path-addPath.html index bf0f27b3e9af1..acac2844cab29 100644 --- a/LayoutTests/fast/canvas/canvas-path-addPath.html +++ b/LayoutTests/fast/canvas/canvas-path-addPath.html @@ -1,258 +1,86 @@ - - - - - + + + - - - diff --git a/LayoutTests/fast/css/css-anchor-position/anchor-position-does-not-leak-expected.txt b/LayoutTests/fast/css/css-anchor-position/anchor-position-does-not-leak-expected.txt new file mode 100644 index 0000000000000..cafeaecf51030 --- /dev/null +++ b/LayoutTests/fast/css/css-anchor-position/anchor-position-does-not-leak-expected.txt @@ -0,0 +1,10 @@ +Tests that anchor positioning functionality does not leak the document object + +On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". + + +PASS The iframe document didn't leak. +PASS successfullyParsed is true + +TEST COMPLETE + diff --git a/LayoutTests/fast/css/css-anchor-position/anchor-position-does-not-leak.html b/LayoutTests/fast/css/css-anchor-position/anchor-position-does-not-leak.html new file mode 100644 index 0000000000000..3a6e1db4714e0 --- /dev/null +++ b/LayoutTests/fast/css/css-anchor-position/anchor-position-does-not-leak.html @@ -0,0 +1,13 @@ + + + + + + + + + + \ No newline at end of file diff --git a/LayoutTests/fast/css/css-anchor-position/anchor-size-page-zoom.html b/LayoutTests/fast/css/css-anchor-position/anchor-size-page-zoom.html index 5b27f133a28b4..6c2ec96019f6f 100644 --- a/LayoutTests/fast/css/css-anchor-position/anchor-size-page-zoom.html +++ b/LayoutTests/fast/css/css-anchor-position/anchor-size-page-zoom.html @@ -43,4 +43,6 @@ \ No newline at end of file diff --git a/LayoutTests/fast/dom/gc-dom-tree-lifetime-shadow-tree.html b/LayoutTests/fast/dom/gc-dom-tree-lifetime-shadow-tree.html index b9d31194d787d..21c5a8a1e9a42 100644 --- a/LayoutTests/fast/dom/gc-dom-tree-lifetime-shadow-tree.html +++ b/LayoutTests/fast/dom/gc-dom-tree-lifetime-shadow-tree.html @@ -16,7 +16,13 @@ document.body.appendChild(rootDiv); var testHtml = "
"; -testCases.forEach(function (test) { +jsTestIsAsync = true; + +function perfomMicrotaskCheckpoint() { + window.dispatchEvent(new Event('custom')); +} + +async function runTest(test) { var divX, divY, divZ, hostNode, shadowRoot; debug("=== Initial state ==="); shadowRoot = setUpShadowTree(rootDiv, hostNode, testHtml) @@ -24,9 +30,9 @@ divX = shadowRoot.getElementById(test[0]); divY = shadowRoot.getElementById(test[1]); divZ = shadowRoot.getElementById(test[2]); - checkParentAndChildAlive(divX, test[0]); - checkParentAndChildAlive(divY, test[1]); - checkParentAndChildAlive(divZ, test[2]); + await checkParentAndChildAlive(divX, test[0]); + await checkParentAndChildAlive(divY, test[1]); + await checkParentAndChildAlive(divZ, test[2]); debug("=== After clearing innerHTML ==="); shadowRoot = setUpShadowTree(rootDiv, hostNode, testHtml) @@ -34,9 +40,9 @@ divY = shadowRoot.getElementById(test[1]); divZ = shadowRoot.getElementById(test[2]); rootDiv.innerHTML = ""; - checkParentAndChildAlive(divX, test[0]); - checkParentAndChildAlive(divY, test[1]); - checkParentAndChildAlive(divZ, test[2]); + await checkParentAndChildAlive(divX, test[0]); + await checkParentAndChildAlive(divY, test[1]); + await checkParentAndChildAlive(divZ, test[2]); debug("=== After clearing innerHTML and divX ==="); shadowRoot = setUpShadowTree(rootDiv, hostNode, testHtml) @@ -45,9 +51,10 @@ divZ = shadowRoot.getElementById(test[2]); rootDiv.innerHTML = ""; divX = null; + perfomMicrotaskCheckpoint() gc(); - checkParentAndChildAlive(divY, test[1]); - checkParentAndChildAlive(divZ, test[2]); + await checkParentAndChildAlive(divY, test[1]); + await checkParentAndChildAlive(divZ, test[2]); debug("=== After clearing innerHTML, divX and divY ==="); shadowRoot = setUpShadowTree(rootDiv, hostNode, testHtml) @@ -57,8 +64,9 @@ rootDiv.innerHTML = ""; divX = null; divY = null; + perfomMicrotaskCheckpoint() gc(); - checkParentAndChildAlive(divZ, test[2]); + await checkParentAndChildAlive(divZ, test[2]); debug("=== After clearing innerHTML, divX, divY and divZ ==="); shadowRoot = setUpShadowTree(rootDiv, hostNode, testHtml) @@ -71,6 +79,7 @@ divX = null; divY = null; divZ = null; + perfomMicrotaskCheckpoint() gc(); if (window.internals) { // DOM nodes can be destructed asynchronously during idle time. Force delete the nodes @@ -78,19 +87,27 @@ // If all the Node objects in testHtml are successfully destructed, // at least 9
s objects will be removed. // (Actually, since testHtml rendering requires more than 9 Node objects.) - if (window.internals.numberOfLiveNodes() <= prevNodes - 9) + if (window.internals.numberOfLiveNodes() < prevNodes) testPassed("All
objects in a DOM tree are successfully destructed."); else testFailed("
objects in a DOM tree are not destructed."); } -}); +} -function checkParentAndChildAlive(div, name) { +async function runAllTests() { + for (let test of testCases) + await runTest(test); + finishJSTest(); +} + +async function checkParentAndChildAlive(div, name) { globalDiv = div; shouldBeEqualToString('globalDiv.id', name); shouldBeEqualToString('globalDiv.parentNode.id', name + "-parent"); shouldBeEqualToString('globalDiv.firstChild.id', name + "-child"); + div = null; globalDiv = null; + await new Promise((resolve) => setTimeout(resolve, 0)); gc(); } @@ -102,6 +119,8 @@ return shadowRoot; } +runAllTests(); + var successfullyParsed = true; diff --git a/LayoutTests/fast/flexbox/svg-as-flex-item-with-percent-height-expected.html b/LayoutTests/fast/flexbox/svg-as-flex-item-with-percent-height-expected.html index 01e17af8281fd..618b039702204 100644 --- a/LayoutTests/fast/flexbox/svg-as-flex-item-with-percent-height-expected.html +++ b/LayoutTests/fast/flexbox/svg-as-flex-item-with-percent-height-expected.html @@ -2,14 +2,17 @@ .flex_box { display: flex; width: 100px; - height: 100px; + height: 100%; } -#svg_box { - width: 100%; - height: 50%; +.svg_box { + width: 100px; + height: 100%; + background-color: green; } -
- -
+ diff --git a/LayoutTests/fast/flexbox/svg-as-flex-item-with-percent-height.html b/LayoutTests/fast/flexbox/svg-as-flex-item-with-percent-height.html index a8b49f436148a..ac47da6d13d15 100644 --- a/LayoutTests/fast/flexbox/svg-as-flex-item-with-percent-height.html +++ b/LayoutTests/fast/flexbox/svg-as-flex-item-with-percent-height.html @@ -2,18 +2,22 @@ .flex_box { display: flex; width: 100px; - height: 100px; + height: 100%; } -#svg_box { - width: 100%; +.svg_box { + width: 100px; height: 100%; + background-color: green; } -
- -
+ + \ No newline at end of file +defs.style.opacity = "0.5"; + diff --git a/LayoutTests/fast/forms/textarea-placeholder-relayout-assertion-expected.txt b/LayoutTests/fast/forms/textarea-placeholder-relayout-assertion-expected.txt index 652296afdb5f4..27a95ef885ab6 100644 --- a/LayoutTests/fast/forms/textarea-placeholder-relayout-assertion-expected.txt +++ b/LayoutTests/fast/forms/textarea-placeholder-relayout-assertion-expected.txt @@ -1,4 +1,3 @@ PASS if not crashed. > -000000AA00A000A0A0A00A0000A0A00AAAAAA00AAAAAAA0A0AA00A00A000A0AA000AA0 diff --git a/LayoutTests/fast/images/background-image-size-changes-fractional-position-expected.html b/LayoutTests/fast/images/hidpi-background-image-size-changes-fractional-position-expected.html similarity index 95% rename from LayoutTests/fast/images/background-image-size-changes-fractional-position-expected.html rename to LayoutTests/fast/images/hidpi-background-image-size-changes-fractional-position-expected.html index c265b19716a1a..6505f9f97f2b5 100644 --- a/LayoutTests/fast/images/background-image-size-changes-fractional-position-expected.html +++ b/LayoutTests/fast/images/hidpi-background-image-size-changes-fractional-position-expected.html @@ -10,8 +10,8 @@ div { position: absolute; top: 0px; - left: 0px; - width: 667px; + left: 0.5px; + width: 666px; height: 100px; background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAApoAAAAGCAYAAABjNz7uAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAI1JREFUeNrs1kEKwjAQBdDEbS7n/U8hYigiEgdX4i5towbfg0+7SMNPFmVyrbWlTjnntIc1+3zim9HrR/iFDjN2m7mrs/JtrTXn1XXafr0dRq/fci973WfvPqWUYzxOkXPkEqmRJXKN3CL3g18lAAAr5Jekt/cngyYAAEMYNAEAMGgCAGDQBADgzz0EGADSDSoT1JeLJQAAAABJRU5ErkJggg==); background-position: 100% 0%; diff --git a/LayoutTests/fast/images/background-image-size-changes-fractional-position.html b/LayoutTests/fast/images/hidpi-background-image-size-changes-fractional-position.html similarity index 100% rename from LayoutTests/fast/images/background-image-size-changes-fractional-position.html rename to LayoutTests/fast/images/hidpi-background-image-size-changes-fractional-position.html diff --git a/LayoutTests/fast/images/imagebitmap-memory-expected.html b/LayoutTests/fast/images/imagebitmap-memory-expected.html new file mode 100644 index 0000000000000..cee8cb38f0dc2 --- /dev/null +++ b/LayoutTests/fast/images/imagebitmap-memory-expected.html @@ -0,0 +1,8 @@ + + + + diff --git a/LayoutTests/fast/images/imagebitmap-memory.html b/LayoutTests/fast/images/imagebitmap-memory.html new file mode 100644 index 0000000000000..2dcb97764e7e9 --- /dev/null +++ b/LayoutTests/fast/images/imagebitmap-memory.html @@ -0,0 +1,57 @@ + + + + + + + \ No newline at end of file diff --git a/LayoutTests/fast/images/spatial-image-controls-expected.html b/LayoutTests/fast/images/spatial-image-controls-expected.html index 04ebbe5054172..da8df706ad4d4 100644 --- a/LayoutTests/fast/images/spatial-image-controls-expected.html +++ b/LayoutTests/fast/images/spatial-image-controls-expected.html @@ -91,7 +91,7 @@ font-family: -apple-system; z-index: 1; margin-bottom: 8px; - margin-left: -7px; + margin-inline-start: -7px; } span.spatial-glyph { @@ -102,7 +102,7 @@ background-repeat: no-repeat; display: inline-block; margin-bottom: -8px; - margin-right: -8px; + margin-inline-end: -8px; } span.pano-glyph { width: 30px; @@ -112,8 +112,8 @@ background-repeat: no-repeat; display: inline-block; margin-bottom: -7px; - margin-right: 5px; - margin-left: 10px; + margin-inline-end: 5px; + margin-inline-start: 10px; } diff --git a/LayoutTests/fast/images/spatial-image-controls-rtl-expected.html b/LayoutTests/fast/images/spatial-image-controls-rtl-expected.html new file mode 100644 index 0000000000000..765d3d15bfbdc --- /dev/null +++ b/LayoutTests/fast/images/spatial-image-controls-rtl-expected.html @@ -0,0 +1,143 @@ + + + +
+ +
+ +
+
+
+
+
+
+ SPATIAL
+
+
+
+ +
+ +
+
+
+
+
+
+ SPATIAL
+
+
+ diff --git a/LayoutTests/fast/images/spatial-image-controls-rtl.html b/LayoutTests/fast/images/spatial-image-controls-rtl.html new file mode 100644 index 0000000000000..a179902c850f0 --- /dev/null +++ b/LayoutTests/fast/images/spatial-image-controls-rtl.html @@ -0,0 +1,55 @@ + + + + + +
+ +
+
+ +
+ + + diff --git a/LayoutTests/fast/parser/input-textarea-inside-select-element-expected.txt b/LayoutTests/fast/parser/input-textarea-inside-select-element-expected.txt deleted file mode 100644 index ec1df8865d5fe..0000000000000 --- a/LayoutTests/fast/parser/input-textarea-inside-select-element-expected.txt +++ /dev/null @@ -1,9 +0,0 @@ -Test for bug 17421: Lack of end tag of SELECT element causes inaccessible (blank) a rest of a page rendered. - -There should be two green bars below. - - -PASS - - -PASS diff --git a/LayoutTests/fast/parser/input-textarea-inside-select-element.html b/LayoutTests/fast/parser/input-textarea-inside-select-element.html deleted file mode 100644 index 6ea38f30d37e8..0000000000000 --- a/LayoutTests/fast/parser/input-textarea-inside-select-element.html +++ /dev/null @@ -1,18 +0,0 @@ - - - - -

Test for bug 17421: -Lack of end tag of SELECT element causes inaccessible (blank) a rest of a page rendered.

-

There should be two green bars below.

- -

PASS

- -

PASS

- - diff --git a/LayoutTests/fast/repaint/new-deprecated-flex-item-repaint-expected.txt b/LayoutTests/fast/repaint/new-deprecated-flex-item-repaint-expected.txt new file mode 100644 index 0000000000000..b8eda0ee9840b --- /dev/null +++ b/LayoutTests/fast/repaint/new-deprecated-flex-item-repaint-expected.txt @@ -0,0 +1,20 @@ +PASS if they all say "PASS". +PASS +PASS +PASS +PASS +PASS +(repaint rects + (rect 8 26 20 20) + (rect 8 46 20 20) + (rect 8 66 20 20) + (rect 8 86 20 20) + (rect 8 106 20 20) + (rect 8 26 784 20) + (rect 8 46 784 20) + (rect 8 66 80 20) + (rect 8 86 784 20) + (rect 8 86 784 20) + (rect 8 106 784 20) +) + diff --git a/LayoutTests/fast/repaint/new-deprecated-flex-item-repaint.html b/LayoutTests/fast/repaint/new-deprecated-flex-item-repaint.html new file mode 100644 index 0000000000000..7e073badb01e1 --- /dev/null +++ b/LayoutTests/fast/repaint/new-deprecated-flex-item-repaint.html @@ -0,0 +1,48 @@ + +PASS if they all say "PASS". +
+
F
+
F
+
F
+
F
+
F
+
+

+
+
+
diff --git a/LayoutTests/fast/ruby/ruby-expansion-cjk-4.html b/LayoutTests/fast/ruby/ruby-expansion-cjk-4.html
index c4fb6491a3a26..32853460a58e0 100644
--- a/LayoutTests/fast/ruby/ruby-expansion-cjk-4.html
+++ b/LayoutTests/fast/ruby/ruby-expansion-cjk-4.html
@@ -3,9 +3,6 @@
 
 
 
+PASS if these glyphs don't get clipped.
+
ممم
+
ممم
diff --git a/LayoutTests/fast/text/clipped-glyph-across-inline-boxes.html b/LayoutTests/fast/text/clipped-glyph-across-inline-boxes.html new file mode 100644 index 0000000000000..53e7ef4dfb6c0 --- /dev/null +++ b/LayoutTests/fast/text/clipped-glyph-across-inline-boxes.html @@ -0,0 +1,11 @@ + + + +PASS if these glyphs don't get clipped. +
ممم
+
ممم
diff --git a/LayoutTests/html5lib/generated/run-tests1-data.html b/LayoutTests/html5lib/generated/run-tests1-data.html index 6ca9b1f4ac07b..dd33bb91d6725 100644 --- a/LayoutTests/html5lib/generated/run-tests1-data.html +++ b/LayoutTests/html5lib/generated/run-tests1-data.html @@ -1,4 +1,4 @@ - + diff --git a/LayoutTests/html5lib/generated/run-tests1-write.html b/LayoutTests/html5lib/generated/run-tests1-write.html index 400603094f621..a167ebdf6ac37 100644 --- a/LayoutTests/html5lib/generated/run-tests1-write.html +++ b/LayoutTests/html5lib/generated/run-tests1-write.html @@ -1,4 +1,4 @@ - + diff --git a/LayoutTests/html5lib/generated/run-tests10-data.html b/LayoutTests/html5lib/generated/run-tests10-data.html index d52adba0397f9..ff4bd8d6fb788 100644 --- a/LayoutTests/html5lib/generated/run-tests10-data.html +++ b/LayoutTests/html5lib/generated/run-tests10-data.html @@ -1,4 +1,4 @@ - + diff --git a/LayoutTests/html5lib/generated/run-tests10-write.html b/LayoutTests/html5lib/generated/run-tests10-write.html index 84e52e65632f6..3aaf891076ee0 100644 --- a/LayoutTests/html5lib/generated/run-tests10-write.html +++ b/LayoutTests/html5lib/generated/run-tests10-write.html @@ -1,4 +1,4 @@ - + diff --git a/LayoutTests/html5lib/generated/run-tests7-data.html b/LayoutTests/html5lib/generated/run-tests7-data.html index 30536c81f172b..c29e8de8156dd 100644 --- a/LayoutTests/html5lib/generated/run-tests7-data.html +++ b/LayoutTests/html5lib/generated/run-tests7-data.html @@ -1,4 +1,4 @@ - + diff --git a/LayoutTests/html5lib/generated/run-tests7-write.html b/LayoutTests/html5lib/generated/run-tests7-write.html index c0329a96ad75c..fe27f81e5b30a 100644 --- a/LayoutTests/html5lib/generated/run-tests7-write.html +++ b/LayoutTests/html5lib/generated/run-tests7-write.html @@ -1,4 +1,4 @@ - + diff --git a/LayoutTests/html5lib/generated/run-tests9-data.html b/LayoutTests/html5lib/generated/run-tests9-data.html index b410aa4dbb3ff..7ee26520fa9ea 100644 --- a/LayoutTests/html5lib/generated/run-tests9-data.html +++ b/LayoutTests/html5lib/generated/run-tests9-data.html @@ -1,4 +1,4 @@ - + diff --git a/LayoutTests/html5lib/generated/run-tests9-write.html b/LayoutTests/html5lib/generated/run-tests9-write.html index 9586eec74d307..eb0f847e0db69 100644 --- a/LayoutTests/html5lib/generated/run-tests9-write.html +++ b/LayoutTests/html5lib/generated/run-tests9-write.html @@ -1,4 +1,4 @@ - + diff --git a/LayoutTests/html5lib/generated/run-tests_innerHTML_1-data.html b/LayoutTests/html5lib/generated/run-tests_innerHTML_1-data.html index 73d5f4396de7d..472374c1ebcb1 100644 --- a/LayoutTests/html5lib/generated/run-tests_innerHTML_1-data.html +++ b/LayoutTests/html5lib/generated/run-tests_innerHTML_1-data.html @@ -1,4 +1,4 @@ - + diff --git a/LayoutTests/html5lib/generated/run-tests_innerHTML_1-write.html b/LayoutTests/html5lib/generated/run-tests_innerHTML_1-write.html index d740be6cff277..91889875d4d7c 100644 --- a/LayoutTests/html5lib/generated/run-tests_innerHTML_1-write.html +++ b/LayoutTests/html5lib/generated/run-tests_innerHTML_1-write.html @@ -1,4 +1,4 @@ - + diff --git a/LayoutTests/html5lib/generated/run-webkit02-data.html b/LayoutTests/html5lib/generated/run-webkit02-data.html index dc3ea64083d4e..1bdbc2000b61f 100644 --- a/LayoutTests/html5lib/generated/run-webkit02-data.html +++ b/LayoutTests/html5lib/generated/run-webkit02-data.html @@ -1,4 +1,4 @@ - + diff --git a/LayoutTests/html5lib/generated/run-webkit02-write.html b/LayoutTests/html5lib/generated/run-webkit02-write.html index fc8435673c6c4..f915cdd77eacb 100644 --- a/LayoutTests/html5lib/generated/run-webkit02-write.html +++ b/LayoutTests/html5lib/generated/run-webkit02-write.html @@ -1,4 +1,4 @@ - + diff --git a/LayoutTests/http/tests/scroll-to-text-fragment/dynamic-content-is-found-expected.txt b/LayoutTests/http/tests/scroll-to-text-fragment/dynamic-content-is-found-expected.txt new file mode 100644 index 0000000000000..9ace0f5386960 --- /dev/null +++ b/LayoutTests/http/tests/scroll-to-text-fragment/dynamic-content-is-found-expected.txt @@ -0,0 +1,2 @@ +PASS: Page scrolled to text fragment. + diff --git a/LayoutTests/http/tests/scroll-to-text-fragment/dynamic-content-is-found.html b/LayoutTests/http/tests/scroll-to-text-fragment/dynamic-content-is-found.html new file mode 100644 index 0000000000000..615544e2e4f56 --- /dev/null +++ b/LayoutTests/http/tests/scroll-to-text-fragment/dynamic-content-is-found.html @@ -0,0 +1,49 @@ + + +Scroll to Text Fragment - ensure that dynamically inserted content is found + + + + + + +
+

+
+ + + diff --git a/LayoutTests/http/tests/site-isolation/focus-click-navigation-activeElement-expected.txt b/LayoutTests/http/tests/site-isolation/focus-click-navigation-activeElement-expected.txt new file mode 100644 index 0000000000000..a59988bfd256f --- /dev/null +++ b/LayoutTests/http/tests/site-isolation/focus-click-navigation-activeElement-expected.txt @@ -0,0 +1,21 @@ +Tests click navigation and Document.activeElement behavior with cross-origin iframes in site isolation mode + +On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". + + +PASS document.activeElement.tagName is 'BODY' +PASS Initial state: inner Document.activeElement is BODY +PASS document.activeElement.tagName is 'INPUT' +PASS When outer input focused: outer Document.activeElement is INPUT +PASS When outer input focused: inner Document.activeElement is BODY +PASS Outer input blur handler fired +PASS document.activeElement.tagName is 'IFRAME' +PASS When inner input focused: outer Document.activeElement is IFRAME +PASS Outer input blur handler was fired before inner input focus +PASS When inner input focused: inner Document.activeElement is INPUT +PASS successfullyParsed is true + +TEST COMPLETE +This test verifies that Document.activeElement behaves correctly during click navigation between main frame and cross-origin iframe in site isolation mode. + + diff --git a/LayoutTests/http/tests/site-isolation/focus-click-navigation-activeElement.html b/LayoutTests/http/tests/site-isolation/focus-click-navigation-activeElement.html new file mode 100644 index 0000000000000..5264dc77bb6ed --- /dev/null +++ b/LayoutTests/http/tests/site-isolation/focus-click-navigation-activeElement.html @@ -0,0 +1,137 @@ + + + + + + + +

This test verifies that Document.activeElement behaves correctly during click navigation between main frame and cross-origin iframe in site isolation mode.

+ + + + + + + diff --git a/LayoutTests/http/tests/site-isolation/focus-tab-navigation-activeElement.html b/LayoutTests/http/tests/site-isolation/focus-tab-navigation-activeElement.html index 71bcc738dbf1b..26e0c02034a24 100644 --- a/LayoutTests/http/tests/site-isolation/focus-tab-navigation-activeElement.html +++ b/LayoutTests/http/tests/site-isolation/focus-tab-navigation-activeElement.html @@ -10,6 +10,7 @@ let outerInputBlurred = false; let innerInputFocused = false; let waitingForInnerFocusVerification = false; +let innerFocusStateChecked = false; function checkInitialState() { shouldBe("document.activeElement.tagName", "'BODY'"); @@ -21,6 +22,10 @@ } function checkInnerInputFocusState() { + if (innerFocusStateChecked) + return; + innerFocusStateChecked = true; + shouldBe("document.activeElement.tagName", "'IFRAME'"); testPassed("When inner input focused: outer Document.activeElement is IFRAME"); @@ -94,11 +99,17 @@ + - \ No newline at end of file + diff --git a/LayoutTests/http/tests/site-isolation/mixedContent/about-blank-iframe-in-main-frame-expected.txt b/LayoutTests/http/tests/site-isolation/mixedContent/about-blank-iframe-in-main-frame-expected.txt new file mode 100644 index 0000000000000..33a7c46ed0e18 --- /dev/null +++ b/LayoutTests/http/tests/site-isolation/mixedContent/about-blank-iframe-in-main-frame-expected.txt @@ -0,0 +1,19 @@ +main frame - didFinishDocumentLoadForFrame +main frame - didHandleOnloadEventsForFrame +main frame - didFinishLoadForFrame +main frame - didStartProvisionalLoadForFrame +main frame - didCommitLoadForFrame +frame "" - didStartProvisionalLoadForFrame +frame "" - didCommitLoadForFrame +frame "" - didFinishDocumentLoadForFrame +frame "" - didHandleOnloadEventsForFrame +frame "" - didFinishLoadForFrame +frame "" - didStartProvisionalLoadForFrame +frame "" - didCommitLoadForFrame +frame "" - didFinishDocumentLoadForFrame +frame "" - didHandleOnloadEventsForFrame +frame "" - didFinishLoadForFrame +main frame - didFinishDocumentLoadForFrame +main frame - didHandleOnloadEventsForFrame +main frame - didFinishLoadForFrame +This test opens a window iframe that loads an about:blank iframe. We should *not* trigger a mixed content callback because the about:blank iframes cannot be corrupted by active network attackers. diff --git a/LayoutTests/http/tests/site-isolation/mixedContent/about-blank-iframe-in-main-frame.html b/LayoutTests/http/tests/site-isolation/mixedContent/about-blank-iframe-in-main-frame.html new file mode 100644 index 0000000000000..bc912dab632e6 --- /dev/null +++ b/LayoutTests/http/tests/site-isolation/mixedContent/about-blank-iframe-in-main-frame.html @@ -0,0 +1,26 @@ + + + + +

This test opens a window iframe that loads an about:blank iframe. We should +*not* trigger a mixed content callback because the about:blank iframes cannot +be corrupted by active network attackers.

+ + + diff --git a/LayoutTests/http/tests/site-isolation/mixedContent/anchor-cross-origin-from-https-UpgradeMixedContent-expected.txt b/LayoutTests/http/tests/site-isolation/mixedContent/anchor-cross-origin-from-https-UpgradeMixedContent-expected.txt new file mode 100644 index 0000000000000..3e84ef3a1a1aa --- /dev/null +++ b/LayoutTests/http/tests/site-isolation/mixedContent/anchor-cross-origin-from-https-UpgradeMixedContent-expected.txt @@ -0,0 +1,3 @@ +CONSOLE MESSAGE: [blocked] The page at https://127.0.0.1:8443/navigation/ping-attribute/anchor-cross-origin-from-https-UpgradeMixedContent.html requested insecure content from http://localhost:8000/navigation/resources/save-ping.py?test=/navigation/ping-attribute/anchor-cross-origin-from-https.html. This content was blocked and must be served over HTTPS. + +Ping not sent diff --git a/LayoutTests/http/tests/site-isolation/mixedContent/anchor-cross-origin-from-https-UpgradeMixedContent.html b/LayoutTests/http/tests/site-isolation/mixedContent/anchor-cross-origin-from-https-UpgradeMixedContent.html new file mode 100644 index 0000000000000..fad2e75507a8f --- /dev/null +++ b/LayoutTests/http/tests/site-isolation/mixedContent/anchor-cross-origin-from-https-UpgradeMixedContent.html @@ -0,0 +1,39 @@ + + + + +Ping + + + + + + + +Navigate and send ping + diff --git a/LayoutTests/http/tests/site-isolation/mixedContent/beacon-cross-origin-UpgradeMixedContent.https-expected.txt b/LayoutTests/http/tests/site-isolation/mixedContent/beacon-cross-origin-UpgradeMixedContent.https-expected.txt new file mode 100644 index 0000000000000..42c9df5163037 --- /dev/null +++ b/LayoutTests/http/tests/site-isolation/mixedContent/beacon-cross-origin-UpgradeMixedContent.https-expected.txt @@ -0,0 +1,13 @@ +CONSOLE MESSAGE: [blocked] The page at https://127.0.0.1:8443/site-isolation/mixedContent/beacon-cross-origin-UpgradeMixedContent.https.html requested insecure content from http://example.test:8000/blink/sendbeacon/resources/save-beacon.py?name=cross-origin. This content was blocked and must be served over HTTPS. + +CONSOLE MESSAGE: Beacon API cannot load http://example.test:8000/blink/sendbeacon/resources/save-beacon.py?name=cross-origin. Not allowed to request resource +Verify navigator.sendBeacon() mixed content checking. + +On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". + + +PASS navigator.sendBeacon("http://example.test:8000/blink/sendbeacon/resources/save-beacon.py?name=cross-origin", "CrossOrigin"); is false +PASS successfullyParsed is true + +TEST COMPLETE + diff --git a/LayoutTests/http/tests/site-isolation/mixedContent/beacon-cross-origin-UpgradeMixedContent.https.html b/LayoutTests/http/tests/site-isolation/mixedContent/beacon-cross-origin-UpgradeMixedContent.https.html new file mode 100644 index 0000000000000..3f89f470ec7b8 --- /dev/null +++ b/LayoutTests/http/tests/site-isolation/mixedContent/beacon-cross-origin-UpgradeMixedContent.https.html @@ -0,0 +1,24 @@ + + + + + + + + + + diff --git a/LayoutTests/http/tests/site-isolation/mixedContent/data-url-iframe-in-main-frame-expected.txt b/LayoutTests/http/tests/site-isolation/mixedContent/data-url-iframe-in-main-frame-expected.txt new file mode 100644 index 0000000000000..da83521b38e3d --- /dev/null +++ b/LayoutTests/http/tests/site-isolation/mixedContent/data-url-iframe-in-main-frame-expected.txt @@ -0,0 +1,14 @@ +main frame - didFinishDocumentLoadForFrame +main frame - didHandleOnloadEventsForFrame +main frame - didFinishLoadForFrame +main frame - didStartProvisionalLoadForFrame +main frame - didCommitLoadForFrame +main frame - didFinishDocumentLoadForFrame +frame "" - didStartProvisionalLoadForFrame +frame "" - didCommitLoadForFrame +frame "" - didFinishDocumentLoadForFrame +frame "" - didHandleOnloadEventsForFrame +main frame - didHandleOnloadEventsForFrame +frame "" - didFinishLoadForFrame +main frame - didFinishLoadForFrame +This test opens a window iframe that loads a data URL iframe. We should *not* trigger a mixed content callback because the data URL cannot be corrupted by active network attackers. diff --git a/LayoutTests/http/tests/site-isolation/mixedContent/data-url-iframe-in-main-frame.html b/LayoutTests/http/tests/site-isolation/mixedContent/data-url-iframe-in-main-frame.html new file mode 100644 index 0000000000000..16e7f43f37388 --- /dev/null +++ b/LayoutTests/http/tests/site-isolation/mixedContent/data-url-iframe-in-main-frame.html @@ -0,0 +1,26 @@ + + + + +

This test opens a window iframe that loads a data URL iframe. We should +*not* trigger a mixed content callback because the data URL cannot be corrupted +by active network attackers.

+ + + diff --git a/LayoutTests/http/tests/site-isolation/mixedContent/iframe-upgrade-UpgradeMixedContent.https-expected.txt b/LayoutTests/http/tests/site-isolation/mixedContent/iframe-upgrade-UpgradeMixedContent.https-expected.txt new file mode 100644 index 0000000000000..52980c09b6f51 --- /dev/null +++ b/LayoutTests/http/tests/site-isolation/mixedContent/iframe-upgrade-UpgradeMixedContent.https-expected.txt @@ -0,0 +1,5 @@ + + +PASS Same-host frames are upgraded. +PASS Cross-host frames are upgraded. + diff --git a/LayoutTests/http/tests/site-isolation/mixedContent/iframe-upgrade-UpgradeMixedContent.https.html b/LayoutTests/http/tests/site-isolation/mixedContent/iframe-upgrade-UpgradeMixedContent.https.html new file mode 100644 index 0000000000000..cacbc83a131d4 --- /dev/null +++ b/LayoutTests/http/tests/site-isolation/mixedContent/iframe-upgrade-UpgradeMixedContent.https.html @@ -0,0 +1,40 @@ + + + +Upgrade Insecure Requests: IFrames. + + + + + + + + diff --git a/LayoutTests/http/tests/site-isolation/mixedContent/insecure-audio-video-in-main-frame-expected.txt b/LayoutTests/http/tests/site-isolation/mixedContent/insecure-audio-video-in-main-frame-expected.txt new file mode 100644 index 0000000000000..27444b03e618f --- /dev/null +++ b/LayoutTests/http/tests/site-isolation/mixedContent/insecure-audio-video-in-main-frame-expected.txt @@ -0,0 +1,5 @@ +CONSOLE MESSAGE: The page at https://127.0.0.1:8443/security/mixedContent/resources/frame-with-insecure-audio-video.html requested insecure content from http://127.0.0.1:8080/resources/test.mp4. This content was automatically upgraded and should be served over HTTPS. + +CONSOLE MESSAGE: The page at https://127.0.0.1:8443/security/mixedContent/resources/frame-with-insecure-audio-video.html requested insecure content from http://127.0.0.1:8080/resources/test.mp4. This content was automatically upgraded and should be served over HTTPS. + +This test opens a window that loads insecure HTML5 audio and video. We should trigger a mixed content callback because the main frame in the window is HTTPS but is displaying insecure content. diff --git a/LayoutTests/http/tests/site-isolation/mixedContent/insecure-audio-video-in-main-frame.html b/LayoutTests/http/tests/site-isolation/mixedContent/insecure-audio-video-in-main-frame.html new file mode 100644 index 0000000000000..f410b6a5e3352 --- /dev/null +++ b/LayoutTests/http/tests/site-isolation/mixedContent/insecure-audio-video-in-main-frame.html @@ -0,0 +1,25 @@ + + + + +

This test opens a window that loads insecure HTML5 audio and video. We should +trigger a mixed content callback because the main frame in the window is HTTPS but is +displaying insecure content.

+ + + diff --git a/LayoutTests/http/tests/site-isolation/mixedContent/insecure-css-in-iframe-expected.txt b/LayoutTests/http/tests/site-isolation/mixedContent/insecure-css-in-iframe-expected.txt new file mode 100644 index 0000000000000..d43d29f5e5853 --- /dev/null +++ b/LayoutTests/http/tests/site-isolation/mixedContent/insecure-css-in-iframe-expected.txt @@ -0,0 +1,5 @@ +CONSOLE MESSAGE: [blocked] The page at https://127.0.0.1:8443/site-isolation/mixedContent/resources/frame-with-insecure-css.html requested insecure content from http://127.0.0.1:8080/security/mixedContent/resources/style.css. This content was blocked and must be served over HTTPS. + +This test loads a secure iframe that loads an insecure style sheet. We should trigger a mixed content callback because an active network attacker can use CSS3 to breach the confidentiality of the HTTPS security origin. + + diff --git a/LayoutTests/http/tests/site-isolation/mixedContent/insecure-css-in-iframe.html b/LayoutTests/http/tests/site-isolation/mixedContent/insecure-css-in-iframe.html new file mode 100644 index 0000000000000..ab5af8340d9b2 --- /dev/null +++ b/LayoutTests/http/tests/site-isolation/mixedContent/insecure-css-in-iframe.html @@ -0,0 +1,24 @@ + + + + +

This test loads a secure iframe that loads an insecure style sheet. +We should trigger a mixed content callback because an active network attacker +can use CSS3 to breach the confidentiality of the HTTPS security origin.

+ + + diff --git a/LayoutTests/http/tests/site-isolation/mixedContent/insecure-iframe-in-iframe-expected.txt b/LayoutTests/http/tests/site-isolation/mixedContent/insecure-iframe-in-iframe-expected.txt new file mode 100644 index 0000000000000..7f275e5062da1 --- /dev/null +++ b/LayoutTests/http/tests/site-isolation/mixedContent/insecure-iframe-in-iframe-expected.txt @@ -0,0 +1,5 @@ +CONSOLE MESSAGE: [blocked] The page at https://127.0.0.1:8443/site-isolation/mixedContent/resources/frame-with-insecure-iframe.html requested insecure content from http://127.0.0.1:8080/security/mixedContent/resources/boring.html. This content was blocked and must be served over HTTPS. + +This test loads a secure iframe that loads an insecure iframe. We should get a mixed content callback becase the secure inner frame should block mixed content. + + diff --git a/LayoutTests/http/tests/site-isolation/mixedContent/insecure-iframe-in-iframe.html b/LayoutTests/http/tests/site-isolation/mixedContent/insecure-iframe-in-iframe.html new file mode 100644 index 0000000000000..b76680bc42d55 --- /dev/null +++ b/LayoutTests/http/tests/site-isolation/mixedContent/insecure-iframe-in-iframe.html @@ -0,0 +1,23 @@ + + + + +

This test loads a secure iframe that loads an insecure iframe. We should +get a mixed content callback becase the secure inner frame should block mixed content.

+ + + diff --git a/LayoutTests/http/tests/site-isolation/mixedContent/insecure-iframe-in-main-frame-UpgradeMixedContent-expected.txt b/LayoutTests/http/tests/site-isolation/mixedContent/insecure-iframe-in-main-frame-UpgradeMixedContent-expected.txt new file mode 100644 index 0000000000000..670767c93d4a1 --- /dev/null +++ b/LayoutTests/http/tests/site-isolation/mixedContent/insecure-iframe-in-main-frame-UpgradeMixedContent-expected.txt @@ -0,0 +1,3 @@ +CONSOLE MESSAGE: [blocked] The page at https://127.0.0.1:8443/site-isolation/mixedContent/resources/frame-with-insecure-frame.html requested insecure content from http://127.0.0.1:8080/security/mixedContent/resources/boring.html. This content was blocked and must be served over HTTPS. + +This test opens a window that loads an insecure iframe. We should trigger a mixed content callback and block the request because the main frame in the window is HTTPS but is displaying insecure content. diff --git a/LayoutTests/http/tests/site-isolation/mixedContent/insecure-iframe-in-main-frame-UpgradeMixedContent.html b/LayoutTests/http/tests/site-isolation/mixedContent/insecure-iframe-in-main-frame-UpgradeMixedContent.html new file mode 100644 index 0000000000000..38dd205a635bd --- /dev/null +++ b/LayoutTests/http/tests/site-isolation/mixedContent/insecure-iframe-in-main-frame-UpgradeMixedContent.html @@ -0,0 +1,29 @@ + + + + + +

This test opens a window that loads an insecure iframe. We should trigger a +mixed content callback and block the request because the main frame in the +window is HTTPS but is displaying insecure content.

+ + + diff --git a/LayoutTests/http/tests/site-isolation/mixedContent/insecure-iframe-in-sandboxed-iframe-UpgradeMixedContent-expected.txt b/LayoutTests/http/tests/site-isolation/mixedContent/insecure-iframe-in-sandboxed-iframe-UpgradeMixedContent-expected.txt new file mode 100644 index 0000000000000..3cc5077d54f2c --- /dev/null +++ b/LayoutTests/http/tests/site-isolation/mixedContent/insecure-iframe-in-sandboxed-iframe-UpgradeMixedContent-expected.txt @@ -0,0 +1,5 @@ +CONSOLE MESSAGE: [blocked] The page at https://127.0.0.1:8443/site-isolation/mixedContent/resources/frame-with-insecure-iframe.html requested insecure content from http://127.0.0.1:8080/security/mixedContent/resources/boring.html. This content was blocked and must be served over HTTPS. + +This test embeds a secure iframe which tries to open mixed content. We should block mixed content even though the parent frame is insecure because the middle frame is HTTPS. + + diff --git a/LayoutTests/http/tests/site-isolation/mixedContent/insecure-iframe-in-sandboxed-iframe-UpgradeMixedContent.html b/LayoutTests/http/tests/site-isolation/mixedContent/insecure-iframe-in-sandboxed-iframe-UpgradeMixedContent.html new file mode 100644 index 0000000000000..8067bca667f41 --- /dev/null +++ b/LayoutTests/http/tests/site-isolation/mixedContent/insecure-iframe-in-sandboxed-iframe-UpgradeMixedContent.html @@ -0,0 +1,31 @@ + + + + + +

This test embeds a secure iframe which tries to open mixed content. +We should block mixed content even though the parent frame is insecure +because the middle frame is HTTPS.

+ + + diff --git a/LayoutTests/http/tests/site-isolation/mixedContent/insecure-image-in-iframe-UpgradeMixedContent-expected.txt b/LayoutTests/http/tests/site-isolation/mixedContent/insecure-image-in-iframe-UpgradeMixedContent-expected.txt new file mode 100644 index 0000000000000..169f86e3dfb46 --- /dev/null +++ b/LayoutTests/http/tests/site-isolation/mixedContent/insecure-image-in-iframe-UpgradeMixedContent-expected.txt @@ -0,0 +1,13 @@ +main frame - didFinishDocumentLoadForFrame +frame "" - didStartProvisionalLoadForFrame +frame "" - didCommitLoadForFrame +CONSOLE MESSAGE: The page at https://127.0.0.1:8443/security/mixedContent/resources/frame-with-insecure-image.html requested insecure content from http://127.0.0.1:8080/security/resources/compass.jpg. This content was automatically upgraded and should be served over HTTPS. + +frame "" - didFinishDocumentLoadForFrame +frame "" - didHandleOnloadEventsForFrame +frame "" - didFinishLoadForFrame +main frame - didHandleOnloadEventsForFrame +main frame - didFinishLoadForFrame +This test loads a secure iframe that loads an insecure image. We should *not* get a mixed content callback becase the main frame is HTTP and the image doesn't contaminate the child iframe's security origin with mixed content. + + diff --git a/LayoutTests/http/tests/site-isolation/mixedContent/insecure-image-in-iframe-UpgradeMixedContent.html b/LayoutTests/http/tests/site-isolation/mixedContent/insecure-image-in-iframe-UpgradeMixedContent.html new file mode 100644 index 0000000000000..f64194f4d67f8 --- /dev/null +++ b/LayoutTests/http/tests/site-isolation/mixedContent/insecure-image-in-iframe-UpgradeMixedContent.html @@ -0,0 +1,16 @@ + + + + +

This test loads a secure iframe that loads an insecure image. We should +*not* get a mixed content callback becase the main frame is HTTP and the image +doesn't contaminate the child iframe's security origin with mixed content.

+ + + diff --git a/LayoutTests/http/tests/site-isolation/mixedContent/insecure-script-in-iframe-expected.txt b/LayoutTests/http/tests/site-isolation/mixedContent/insecure-script-in-iframe-expected.txt new file mode 100644 index 0000000000000..66916ee2ddc18 --- /dev/null +++ b/LayoutTests/http/tests/site-isolation/mixedContent/insecure-script-in-iframe-expected.txt @@ -0,0 +1,5 @@ +CONSOLE MESSAGE: [blocked] The page at https://127.0.0.1:8443/security/mixedContent/resources/frame-with-insecure-script.html requested insecure content from http://127.0.0.1:8080/security/mixedContent/resources/script.js. This content was blocked and must be served over HTTPS. + +This test loads a secure iframe that loads an insecure script. We should trigger a mixed content callback even though the main frame is HTTP because the HTTPS frame's origin is contaminated with an insecure script. + + diff --git a/LayoutTests/http/tests/site-isolation/mixedContent/insecure-script-in-iframe.html b/LayoutTests/http/tests/site-isolation/mixedContent/insecure-script-in-iframe.html new file mode 100644 index 0000000000000..b9bcb0c5e01a4 --- /dev/null +++ b/LayoutTests/http/tests/site-isolation/mixedContent/insecure-script-in-iframe.html @@ -0,0 +1,13 @@ + + + + +

This test loads a secure iframe that loads an insecure script. We should +trigger a mixed content callback even though the main frame is HTTP because the +HTTPS frame's origin is contaminated with an insecure script.

+ + + diff --git a/LayoutTests/http/tests/site-isolation/mixedContent/insecure-websocket-in-iframe-UpgradeMixedContent-expected.txt b/LayoutTests/http/tests/site-isolation/mixedContent/insecure-websocket-in-iframe-UpgradeMixedContent-expected.txt new file mode 100644 index 0000000000000..80623e5880628 --- /dev/null +++ b/LayoutTests/http/tests/site-isolation/mixedContent/insecure-websocket-in-iframe-UpgradeMixedContent-expected.txt @@ -0,0 +1,7 @@ +CONSOLE MESSAGE: [blocked] The page at https://127.0.0.1:8443/security/mixedContent/resources/frame-with-insecure-websocket.html requested insecure content from ws://127.0.0.1:8880/websocket/tests/hybi/echo. This content was blocked and must be served over HTTPS. + +CONSOLE MESSAGE: WebSocket connection failed. +CONSOLE MESSAGE: WebSocket connection failed: WebSocket is closed before the connection is established. +This test loads an iframe that creates an insecure WebSocket connection. We should block the connection and trigger a mixed content callback because the main frame is HTTPS, but the data sent over the socket could be recorded or controlled by an attacker. + + diff --git a/LayoutTests/http/tests/site-isolation/mixedContent/insecure-websocket-in-iframe-UpgradeMixedContent.html b/LayoutTests/http/tests/site-isolation/mixedContent/insecure-websocket-in-iframe-UpgradeMixedContent.html new file mode 100644 index 0000000000000..a2e9d5e639322 --- /dev/null +++ b/LayoutTests/http/tests/site-isolation/mixedContent/insecure-websocket-in-iframe-UpgradeMixedContent.html @@ -0,0 +1,10 @@ + + +

This test loads an iframe that creates an insecure WebSocket connection. We +should block the connection and trigger a mixed content callback because the +main frame is HTTPS, but the data sent over the socket could be recorded or +controlled by an attacker.

+
+ + \ No newline at end of file diff --git a/LayoutTests/http/tests/site-isolation/mixedContent/resources/frame-with-insecure-css.html b/LayoutTests/http/tests/site-isolation/mixedContent/resources/frame-with-insecure-css.html new file mode 100644 index 0000000000000..a838b3bf90266 --- /dev/null +++ b/LayoutTests/http/tests/site-isolation/mixedContent/resources/frame-with-insecure-css.html @@ -0,0 +1,19 @@ + + + + + + +This background color should be blue. + + + diff --git a/LayoutTests/http/tests/site-isolation/mixedContent/resources/frame-with-insecure-frame.html b/LayoutTests/http/tests/site-isolation/mixedContent/resources/frame-with-insecure-frame.html new file mode 100644 index 0000000000000..fe08fbcf2c0cb --- /dev/null +++ b/LayoutTests/http/tests/site-isolation/mixedContent/resources/frame-with-insecure-frame.html @@ -0,0 +1,11 @@ + + diff --git a/LayoutTests/http/tests/site-isolation/mixedContent/resources/frame-with-insecure-iframe.html b/LayoutTests/http/tests/site-isolation/mixedContent/resources/frame-with-insecure-iframe.html new file mode 100644 index 0000000000000..8a598d9f7659d --- /dev/null +++ b/LayoutTests/http/tests/site-isolation/mixedContent/resources/frame-with-insecure-iframe.html @@ -0,0 +1,13 @@ + + + + diff --git a/LayoutTests/http/tests/site-isolation/mixedContent/resources/frame-with-redirect-http-to-https-frame.html b/LayoutTests/http/tests/site-isolation/mixedContent/resources/frame-with-redirect-http-to-https-frame.html new file mode 100644 index 0000000000000..613f50f8a3952 --- /dev/null +++ b/LayoutTests/http/tests/site-isolation/mixedContent/resources/frame-with-redirect-http-to-https-frame.html @@ -0,0 +1,12 @@ + + diff --git a/LayoutTests/http/tests/site-isolation/mouse-events/mouseenter-mouseleave-remote-frame-expected.txt b/LayoutTests/http/tests/site-isolation/mouse-events/mouseenter-mouseleave-remote-frame-expected.txt new file mode 100644 index 0000000000000..4d70a75a92990 --- /dev/null +++ b/LayoutTests/http/tests/site-isolation/mouse-events/mouseenter-mouseleave-remote-frame-expected.txt @@ -0,0 +1,10 @@ +Verifies that mouseenter and mouseleave events work correctly on remote frames. + +On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". + + +Mouse events captured: mouseenter on remoteframe, mouseleave on remoteframe, mouseenter on remoteframe, mouseleave on remoteframe, mouseenter on remoteframe, mouseleave on remoteframe, mouseenter on remoteframe, mouseleave on remoteframe, mouseenter on remoteframe, mouseleave on remoteframe, mouseenter on remoteframe, mouseleave on remoteframe, mouseenter on remoteframe, mouseleave on remoteframe, mouseenter on remoteframe, mouseleave on remoteframe, mouseenter on remoteframe, mouseleave on remoteframe, mouseenter on remoteframe, mouseleave on remoteframe +PASS successfullyParsed is true + +TEST COMPLETE + diff --git a/LayoutTests/http/tests/site-isolation/mouse-events/mouseenter-mouseleave-remote-frame.html b/LayoutTests/http/tests/site-isolation/mouse-events/mouseenter-mouseleave-remote-frame.html new file mode 100644 index 0000000000000..e76ea363fd46a --- /dev/null +++ b/LayoutTests/http/tests/site-isolation/mouse-events/mouseenter-mouseleave-remote-frame.html @@ -0,0 +1,35 @@ + + + + diff --git a/LayoutTests/http/tests/site-isolation/resources/focus-click-navigation-iframe.html b/LayoutTests/http/tests/site-isolation/resources/focus-click-navigation-iframe.html new file mode 100644 index 0000000000000..254791c06fe65 --- /dev/null +++ b/LayoutTests/http/tests/site-isolation/resources/focus-click-navigation-iframe.html @@ -0,0 +1,45 @@ + + + + + +

Inner frame content

+ + + diff --git a/LayoutTests/http/wpt/mediarecorder/record-96KHz-long-mp4-expected.txt b/LayoutTests/http/wpt/mediarecorder/record-96KHz-long-mp4-expected.txt new file mode 100644 index 0000000000000..c21bbcc1d7cf5 --- /dev/null +++ b/LayoutTests/http/wpt/mediarecorder/record-96KHz-long-mp4-expected.txt @@ -0,0 +1,3 @@ + +PASS Recording a long audio, will not yield a truncated file + diff --git a/LayoutTests/http/wpt/mediarecorder/record-96KHz-long-mp4.html b/LayoutTests/http/wpt/mediarecorder/record-96KHz-long-mp4.html new file mode 100644 index 0000000000000..6ee7deebffbf2 --- /dev/null +++ b/LayoutTests/http/wpt/mediarecorder/record-96KHz-long-mp4.html @@ -0,0 +1,61 @@ + + + + + + Test writing long mp4 doesn't truncate + + + + + + + diff --git a/LayoutTests/http/wpt/navigation-api/navigate-event/navigate-history-back-bfcache-expected.txt b/LayoutTests/http/wpt/navigation-api/navigate-event/navigate-history-back-bfcache-expected.txt deleted file mode 100644 index 538c218bb0279..0000000000000 --- a/LayoutTests/http/wpt/navigation-api/navigate-event/navigate-history-back-bfcache-expected.txt +++ /dev/null @@ -1,3 +0,0 @@ - -PASS navigate event should fire when traversing to a bfcache hit - diff --git a/LayoutTests/http/wpt/navigation-api/navigate-event/navigate-history-back-bfcache.html b/LayoutTests/http/wpt/navigation-api/navigate-event/navigate-history-back-bfcache.html deleted file mode 100644 index 1011a7c62f0a1..0000000000000 --- a/LayoutTests/http/wpt/navigation-api/navigate-event/navigate-history-back-bfcache.html +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - - - diff --git a/LayoutTests/http/wpt/navigation-api/navigation-activation/activation-after-bfcache-cross-origin-expected.txt b/LayoutTests/http/wpt/navigation-api/navigation-activation/activation-after-bfcache-cross-origin-expected.txt deleted file mode 100644 index b9678c8c470d0..0000000000000 --- a/LayoutTests/http/wpt/navigation-api/navigation-activation/activation-after-bfcache-cross-origin-expected.txt +++ /dev/null @@ -1,3 +0,0 @@ - -PASS navigation.activation must be updated when restored from bfcache - diff --git a/LayoutTests/http/wpt/navigation-api/navigation-activation/activation-after-bfcache-cross-origin.html b/LayoutTests/http/wpt/navigation-api/navigation-activation/activation-after-bfcache-cross-origin.html deleted file mode 100644 index b5b75d28bcecc..0000000000000 --- a/LayoutTests/http/wpt/navigation-api/navigation-activation/activation-after-bfcache-cross-origin.html +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - - diff --git a/LayoutTests/http/wpt/navigation-api/navigation-activation/activation-after-bfcache-expected.txt b/LayoutTests/http/wpt/navigation-api/navigation-activation/activation-after-bfcache-expected.txt deleted file mode 100644 index b9678c8c470d0..0000000000000 --- a/LayoutTests/http/wpt/navigation-api/navigation-activation/activation-after-bfcache-expected.txt +++ /dev/null @@ -1,3 +0,0 @@ - -PASS navigation.activation must be updated when restored from bfcache - diff --git a/LayoutTests/http/wpt/navigation-api/navigation-activation/activation-after-bfcache.html b/LayoutTests/http/wpt/navigation-api/navigation-activation/activation-after-bfcache.html deleted file mode 100644 index 8f11865276611..0000000000000 --- a/LayoutTests/http/wpt/navigation-api/navigation-activation/activation-after-bfcache.html +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - - - - - diff --git a/LayoutTests/http/wpt/navigation-api/navigation-history-entry/entries-after-bfcache-expected.txt b/LayoutTests/http/wpt/navigation-api/navigation-history-entry/entries-after-bfcache-expected.txt deleted file mode 100644 index 1a74bc3481762..0000000000000 --- a/LayoutTests/http/wpt/navigation-api/navigation-history-entry/entries-after-bfcache-expected.txt +++ /dev/null @@ -1,3 +0,0 @@ - -PASS entries() must contain the forward-history page after navigating back to a bfcached page - diff --git a/LayoutTests/http/wpt/navigation-api/navigation-history-entry/entries-after-bfcache-in-iframe-expected.txt b/LayoutTests/http/wpt/navigation-api/navigation-history-entry/entries-after-bfcache-in-iframe-expected.txt deleted file mode 100644 index 3cd49ddb79ea3..0000000000000 --- a/LayoutTests/http/wpt/navigation-api/navigation-history-entry/entries-after-bfcache-in-iframe-expected.txt +++ /dev/null @@ -1,3 +0,0 @@ - -NOTRUN entries() in an iframe must be updated after navigating back to a bfcached page Could have been BFCached but actually wasn't - diff --git a/LayoutTests/http/wpt/navigation-api/navigation-history-entry/entries-after-bfcache-in-iframe.html b/LayoutTests/http/wpt/navigation-api/navigation-history-entry/entries-after-bfcache-in-iframe.html deleted file mode 100644 index 3d926b03f5250..0000000000000 --- a/LayoutTests/http/wpt/navigation-api/navigation-history-entry/entries-after-bfcache-in-iframe.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - diff --git a/LayoutTests/http/wpt/navigation-api/navigation-history-entry/entries-after-bfcache.html b/LayoutTests/http/wpt/navigation-api/navigation-history-entry/entries-after-bfcache.html deleted file mode 100644 index 84d5f29d599ea..0000000000000 --- a/LayoutTests/http/wpt/navigation-api/navigation-history-entry/entries-after-bfcache.html +++ /dev/null @@ -1,61 +0,0 @@ - - - - - - - - - - diff --git a/LayoutTests/http/wpt/navigation-api/navigation-history-entry/resources/is_uuid.js b/LayoutTests/http/wpt/navigation-api/navigation-history-entry/resources/is_uuid.js deleted file mode 100644 index 3b855c01b0756..0000000000000 --- a/LayoutTests/http/wpt/navigation-api/navigation-history-entry/resources/is_uuid.js +++ /dev/null @@ -1,3 +0,0 @@ -function isUUID(key) { - return /[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89aAbB][a-f0-9]{3}-[a-f0-9]{12}/.test(key); -} diff --git a/LayoutTests/http/wpt/navigation-api/per-entry-events/dispose-after-bfcache-expected.txt b/LayoutTests/http/wpt/navigation-api/per-entry-events/dispose-after-bfcache-expected.txt deleted file mode 100644 index 1a74bc3481762..0000000000000 --- a/LayoutTests/http/wpt/navigation-api/per-entry-events/dispose-after-bfcache-expected.txt +++ /dev/null @@ -1,3 +0,0 @@ - -PASS entries() must contain the forward-history page after navigating back to a bfcached page - diff --git a/LayoutTests/http/wpt/navigation-api/per-entry-events/dispose-after-bfcache.html b/LayoutTests/http/wpt/navigation-api/per-entry-events/dispose-after-bfcache.html deleted file mode 100644 index 068552cf23bb4..0000000000000 --- a/LayoutTests/http/wpt/navigation-api/per-entry-events/dispose-after-bfcache.html +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - - - - - diff --git a/LayoutTests/imported/w3c/resources/resource-files.json b/LayoutTests/imported/w3c/resources/resource-files.json index 3a78e995575b9..2a2f954108208 100644 --- a/LayoutTests/imported/w3c/resources/resource-files.json +++ b/LayoutTests/imported/w3c/resources/resource-files.json @@ -12167,6 +12167,7 @@ "web-platform-tests/mathml/relations/html5-tree/integration-point-2-ref.html", "web-platform-tests/mathml/relations/html5-tree/integration-point-3-ref.html", "web-platform-tests/mathml/relations/html5-tree/link-color-001.tentative-ref.html", + "web-platform-tests/mathml/relations/html5-tree/maction-click-ref.html", "web-platform-tests/mathml/relations/html5-tree/required-extensions-2-ref.html", "web-platform-tests/mathml/relations/html5-tree/shadow-dom-mozilla-1066554-ref.html", "web-platform-tests/mathml/relations/html5-tree/unique-identifier-1-iframe-1.html", @@ -12285,6 +12286,7 @@ "web-platform-tests/shadow-dom/untriaged/shadow-trees/shadow-root-001-ref.html", "web-platform-tests/shadow-dom/untriaged/shadow-trees/shadow-root-002-ref.html", "web-platform-tests/shadow-dom/untriaged/styles/not-apply-in-shadow-root-001-ref.html", + "web-platform-tests/svg/animations/reference/green-100x100.svg", "web-platform-tests/svg/as-image/external-resource-inline-sheet-helper.svg", "web-platform-tests/svg/as-image/external-resource-inline-sheet-ref.html", "web-platform-tests/svg/coordinate-systems/support/abspos-ref.html", @@ -12314,6 +12316,7 @@ "web-platform-tests/svg/extensibility/foreignObject/stacking-context-ref.html", "web-platform-tests/svg/extensibility/foreignObject/will-change-in-foreign-object-paint-order-ref.html", "web-platform-tests/svg/extensibility/foreignObject/will-change-in-transformed-foreign-object-ref.html", + "web-platform-tests/svg/fonts/font-size-adjust-scale-text-ref.svg", "web-platform-tests/svg/geometry/reftests/circle-calc-dynamic-viewport-ref.html", "web-platform-tests/svg/geometry/reftests/circle-ref.svg", "web-platform-tests/svg/geometry/reftests/ellipse-calc-dynamic-viewport-ref.html", @@ -12397,6 +12400,7 @@ "web-platform-tests/svg/painting/reftests/support/resources.svg", "web-platform-tests/svg/painting/reftests/support/svg-marker-context-paint.svg", "web-platform-tests/svg/painting/reftests/support/svg-marker-ref.svg", + "web-platform-tests/svg/painting/reftests/text-shadow-ref.html", "web-platform-tests/svg/painting/subpixel-clip-path-transform-ref.html", "web-platform-tests/svg/painting/support/white-rect-100x100.svg", "web-platform-tests/svg/painting/svg-child-will-change-transform-invalidation-ref.html", @@ -12559,6 +12563,7 @@ "web-platform-tests/svg/text/reftests/transform-dynamic-change-root-ref.html", "web-platform-tests/svg/text/reftests/tspan-opacity-mixed-direction-ref.svg", "web-platform-tests/svg/text/reftests/writing-mode-dynamic-change-ref.html", + "web-platform-tests/svg/top-level-document/svg-image-document-svg-xml-mime-type-ref.html", "web-platform-tests/svg/types/helper-SVGElement.ownerSVGElement-02.svg", "web-platform-tests/test_keys_wdspec.html", "web-platform-tests/trusted-types/support/HTMLScriptElement-internal-slot-support.html", diff --git a/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idlharness.any-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idlharness.any-expected.txt index daf6713dee7a0..bf418485bff8e 100644 --- a/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idlharness.any-expected.txt +++ b/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idlharness.any-expected.txt @@ -99,6 +99,7 @@ PASS IDBObjectStore interface: operation get(any) PASS IDBObjectStore interface: operation getKey(any) PASS IDBObjectStore interface: operation getAll(optional any, optional unsigned long) PASS IDBObjectStore interface: operation getAllKeys(optional any, optional unsigned long) +FAIL IDBObjectStore interface: operation getAllRecords(optional IDBGetAllOptions) assert_own_property: interface prototype object missing non-static operation expected property "getAllRecords" missing PASS IDBObjectStore interface: operation count(optional any) PASS IDBObjectStore interface: operation openCursor(optional any, optional IDBCursorDirection) PASS IDBObjectStore interface: operation openKeyCursor(optional any, optional IDBCursorDirection) @@ -120,6 +121,7 @@ PASS IDBIndex interface: operation get(any) PASS IDBIndex interface: operation getKey(any) PASS IDBIndex interface: operation getAll(optional any, optional unsigned long) PASS IDBIndex interface: operation getAllKeys(optional any, optional unsigned long) +FAIL IDBIndex interface: operation getAllRecords(optional IDBGetAllOptions) assert_own_property: interface prototype object missing non-static operation expected property "getAllRecords" missing PASS IDBIndex interface: operation count(optional any) PASS IDBIndex interface: operation openCursor(optional any, optional IDBCursorDirection) PASS IDBIndex interface: operation openKeyCursor(optional any, optional IDBCursorDirection) @@ -154,6 +156,15 @@ PASS IDBKeyRange interface: [object IDBKeyRange] must inherit property "bound(an PASS IDBKeyRange interface: calling bound(any, any, optional boolean, optional boolean) on [object IDBKeyRange] with too few arguments must throw TypeError PASS IDBKeyRange interface: [object IDBKeyRange] must inherit property "includes(any)" with the proper type PASS IDBKeyRange interface: calling includes(any) on [object IDBKeyRange] with too few arguments must throw TypeError +FAIL IDBRecord interface: existence and properties of interface object assert_own_property: self does not have own property "IDBRecord" expected property "IDBRecord" missing +FAIL IDBRecord interface object length assert_own_property: self does not have own property "IDBRecord" expected property "IDBRecord" missing +FAIL IDBRecord interface object name assert_own_property: self does not have own property "IDBRecord" expected property "IDBRecord" missing +FAIL IDBRecord interface: existence and properties of interface prototype object assert_own_property: self does not have own property "IDBRecord" expected property "IDBRecord" missing +FAIL IDBRecord interface: existence and properties of interface prototype object's "constructor" property assert_own_property: self does not have own property "IDBRecord" expected property "IDBRecord" missing +FAIL IDBRecord interface: existence and properties of interface prototype object's @@unscopables property assert_own_property: self does not have own property "IDBRecord" expected property "IDBRecord" missing +FAIL IDBRecord interface: attribute key assert_own_property: self does not have own property "IDBRecord" expected property "IDBRecord" missing +FAIL IDBRecord interface: attribute primaryKey assert_own_property: self does not have own property "IDBRecord" expected property "IDBRecord" missing +FAIL IDBRecord interface: attribute value assert_own_property: self does not have own property "IDBRecord" expected property "IDBRecord" missing PASS IDBCursor interface: existence and properties of interface object PASS IDBCursor interface object length PASS IDBCursor interface object name diff --git a/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idlharness.any.serviceworker-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idlharness.any.serviceworker-expected.txt index 0ee2b052b66e8..cdddb3269050e 100644 --- a/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idlharness.any.serviceworker-expected.txt +++ b/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idlharness.any.serviceworker-expected.txt @@ -99,6 +99,7 @@ PASS IDBObjectStore interface: operation get(any) PASS IDBObjectStore interface: operation getKey(any) PASS IDBObjectStore interface: operation getAll(optional any, optional unsigned long) PASS IDBObjectStore interface: operation getAllKeys(optional any, optional unsigned long) +FAIL IDBObjectStore interface: operation getAllRecords(optional IDBGetAllOptions) assert_own_property: interface prototype object missing non-static operation expected property "getAllRecords" missing PASS IDBObjectStore interface: operation count(optional any) PASS IDBObjectStore interface: operation openCursor(optional any, optional IDBCursorDirection) PASS IDBObjectStore interface: operation openKeyCursor(optional any, optional IDBCursorDirection) @@ -120,6 +121,7 @@ PASS IDBIndex interface: operation get(any) PASS IDBIndex interface: operation getKey(any) PASS IDBIndex interface: operation getAll(optional any, optional unsigned long) PASS IDBIndex interface: operation getAllKeys(optional any, optional unsigned long) +FAIL IDBIndex interface: operation getAllRecords(optional IDBGetAllOptions) assert_own_property: interface prototype object missing non-static operation expected property "getAllRecords" missing PASS IDBIndex interface: operation count(optional any) PASS IDBIndex interface: operation openCursor(optional any, optional IDBCursorDirection) PASS IDBIndex interface: operation openKeyCursor(optional any, optional IDBCursorDirection) @@ -154,6 +156,15 @@ PASS IDBKeyRange interface: [object IDBKeyRange] must inherit property "bound(an PASS IDBKeyRange interface: calling bound(any, any, optional boolean, optional boolean) on [object IDBKeyRange] with too few arguments must throw TypeError PASS IDBKeyRange interface: [object IDBKeyRange] must inherit property "includes(any)" with the proper type PASS IDBKeyRange interface: calling includes(any) on [object IDBKeyRange] with too few arguments must throw TypeError +FAIL IDBRecord interface: existence and properties of interface object assert_own_property: self does not have own property "IDBRecord" expected property "IDBRecord" missing +FAIL IDBRecord interface object length assert_own_property: self does not have own property "IDBRecord" expected property "IDBRecord" missing +FAIL IDBRecord interface object name assert_own_property: self does not have own property "IDBRecord" expected property "IDBRecord" missing +FAIL IDBRecord interface: existence and properties of interface prototype object assert_own_property: self does not have own property "IDBRecord" expected property "IDBRecord" missing +FAIL IDBRecord interface: existence and properties of interface prototype object's "constructor" property assert_own_property: self does not have own property "IDBRecord" expected property "IDBRecord" missing +FAIL IDBRecord interface: existence and properties of interface prototype object's @@unscopables property assert_own_property: self does not have own property "IDBRecord" expected property "IDBRecord" missing +FAIL IDBRecord interface: attribute key assert_own_property: self does not have own property "IDBRecord" expected property "IDBRecord" missing +FAIL IDBRecord interface: attribute primaryKey assert_own_property: self does not have own property "IDBRecord" expected property "IDBRecord" missing +FAIL IDBRecord interface: attribute value assert_own_property: self does not have own property "IDBRecord" expected property "IDBRecord" missing PASS IDBCursor interface: existence and properties of interface object PASS IDBCursor interface object length PASS IDBCursor interface object name diff --git a/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idlharness.any.sharedworker-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idlharness.any.sharedworker-expected.txt index 0ee2b052b66e8..cdddb3269050e 100644 --- a/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idlharness.any.sharedworker-expected.txt +++ b/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idlharness.any.sharedworker-expected.txt @@ -99,6 +99,7 @@ PASS IDBObjectStore interface: operation get(any) PASS IDBObjectStore interface: operation getKey(any) PASS IDBObjectStore interface: operation getAll(optional any, optional unsigned long) PASS IDBObjectStore interface: operation getAllKeys(optional any, optional unsigned long) +FAIL IDBObjectStore interface: operation getAllRecords(optional IDBGetAllOptions) assert_own_property: interface prototype object missing non-static operation expected property "getAllRecords" missing PASS IDBObjectStore interface: operation count(optional any) PASS IDBObjectStore interface: operation openCursor(optional any, optional IDBCursorDirection) PASS IDBObjectStore interface: operation openKeyCursor(optional any, optional IDBCursorDirection) @@ -120,6 +121,7 @@ PASS IDBIndex interface: operation get(any) PASS IDBIndex interface: operation getKey(any) PASS IDBIndex interface: operation getAll(optional any, optional unsigned long) PASS IDBIndex interface: operation getAllKeys(optional any, optional unsigned long) +FAIL IDBIndex interface: operation getAllRecords(optional IDBGetAllOptions) assert_own_property: interface prototype object missing non-static operation expected property "getAllRecords" missing PASS IDBIndex interface: operation count(optional any) PASS IDBIndex interface: operation openCursor(optional any, optional IDBCursorDirection) PASS IDBIndex interface: operation openKeyCursor(optional any, optional IDBCursorDirection) @@ -154,6 +156,15 @@ PASS IDBKeyRange interface: [object IDBKeyRange] must inherit property "bound(an PASS IDBKeyRange interface: calling bound(any, any, optional boolean, optional boolean) on [object IDBKeyRange] with too few arguments must throw TypeError PASS IDBKeyRange interface: [object IDBKeyRange] must inherit property "includes(any)" with the proper type PASS IDBKeyRange interface: calling includes(any) on [object IDBKeyRange] with too few arguments must throw TypeError +FAIL IDBRecord interface: existence and properties of interface object assert_own_property: self does not have own property "IDBRecord" expected property "IDBRecord" missing +FAIL IDBRecord interface object length assert_own_property: self does not have own property "IDBRecord" expected property "IDBRecord" missing +FAIL IDBRecord interface object name assert_own_property: self does not have own property "IDBRecord" expected property "IDBRecord" missing +FAIL IDBRecord interface: existence and properties of interface prototype object assert_own_property: self does not have own property "IDBRecord" expected property "IDBRecord" missing +FAIL IDBRecord interface: existence and properties of interface prototype object's "constructor" property assert_own_property: self does not have own property "IDBRecord" expected property "IDBRecord" missing +FAIL IDBRecord interface: existence and properties of interface prototype object's @@unscopables property assert_own_property: self does not have own property "IDBRecord" expected property "IDBRecord" missing +FAIL IDBRecord interface: attribute key assert_own_property: self does not have own property "IDBRecord" expected property "IDBRecord" missing +FAIL IDBRecord interface: attribute primaryKey assert_own_property: self does not have own property "IDBRecord" expected property "IDBRecord" missing +FAIL IDBRecord interface: attribute value assert_own_property: self does not have own property "IDBRecord" expected property "IDBRecord" missing PASS IDBCursor interface: existence and properties of interface object PASS IDBCursor interface object length PASS IDBCursor interface object name diff --git a/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idlharness.any.worker-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idlharness.any.worker-expected.txt index 0ee2b052b66e8..cdddb3269050e 100644 --- a/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idlharness.any.worker-expected.txt +++ b/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idlharness.any.worker-expected.txt @@ -99,6 +99,7 @@ PASS IDBObjectStore interface: operation get(any) PASS IDBObjectStore interface: operation getKey(any) PASS IDBObjectStore interface: operation getAll(optional any, optional unsigned long) PASS IDBObjectStore interface: operation getAllKeys(optional any, optional unsigned long) +FAIL IDBObjectStore interface: operation getAllRecords(optional IDBGetAllOptions) assert_own_property: interface prototype object missing non-static operation expected property "getAllRecords" missing PASS IDBObjectStore interface: operation count(optional any) PASS IDBObjectStore interface: operation openCursor(optional any, optional IDBCursorDirection) PASS IDBObjectStore interface: operation openKeyCursor(optional any, optional IDBCursorDirection) @@ -120,6 +121,7 @@ PASS IDBIndex interface: operation get(any) PASS IDBIndex interface: operation getKey(any) PASS IDBIndex interface: operation getAll(optional any, optional unsigned long) PASS IDBIndex interface: operation getAllKeys(optional any, optional unsigned long) +FAIL IDBIndex interface: operation getAllRecords(optional IDBGetAllOptions) assert_own_property: interface prototype object missing non-static operation expected property "getAllRecords" missing PASS IDBIndex interface: operation count(optional any) PASS IDBIndex interface: operation openCursor(optional any, optional IDBCursorDirection) PASS IDBIndex interface: operation openKeyCursor(optional any, optional IDBCursorDirection) @@ -154,6 +156,15 @@ PASS IDBKeyRange interface: [object IDBKeyRange] must inherit property "bound(an PASS IDBKeyRange interface: calling bound(any, any, optional boolean, optional boolean) on [object IDBKeyRange] with too few arguments must throw TypeError PASS IDBKeyRange interface: [object IDBKeyRange] must inherit property "includes(any)" with the proper type PASS IDBKeyRange interface: calling includes(any) on [object IDBKeyRange] with too few arguments must throw TypeError +FAIL IDBRecord interface: existence and properties of interface object assert_own_property: self does not have own property "IDBRecord" expected property "IDBRecord" missing +FAIL IDBRecord interface object length assert_own_property: self does not have own property "IDBRecord" expected property "IDBRecord" missing +FAIL IDBRecord interface object name assert_own_property: self does not have own property "IDBRecord" expected property "IDBRecord" missing +FAIL IDBRecord interface: existence and properties of interface prototype object assert_own_property: self does not have own property "IDBRecord" expected property "IDBRecord" missing +FAIL IDBRecord interface: existence and properties of interface prototype object's "constructor" property assert_own_property: self does not have own property "IDBRecord" expected property "IDBRecord" missing +FAIL IDBRecord interface: existence and properties of interface prototype object's @@unscopables property assert_own_property: self does not have own property "IDBRecord" expected property "IDBRecord" missing +FAIL IDBRecord interface: attribute key assert_own_property: self does not have own property "IDBRecord" expected property "IDBRecord" missing +FAIL IDBRecord interface: attribute primaryKey assert_own_property: self does not have own property "IDBRecord" expected property "IDBRecord" missing +FAIL IDBRecord interface: attribute value assert_own_property: self does not have own property "IDBRecord" expected property "IDBRecord" missing PASS IDBCursor interface: existence and properties of interface object PASS IDBCursor interface object length PASS IDBCursor interface object name diff --git a/LayoutTests/imported/w3c/web-platform-tests/clear-site-data/support/clear-site-data-cache.py b/LayoutTests/imported/w3c/web-platform-tests/clear-site-data/support/clear-site-data-cache.py new file mode 100644 index 0000000000000..45397d8136451 --- /dev/null +++ b/LayoutTests/imported/w3c/web-platform-tests/clear-site-data/support/clear-site-data-cache.py @@ -0,0 +1,203 @@ +""" +Loaded in Step 2/4/Optional 6 (/clear-site-data/clear-cache.https.html) +Sending Message for Step 3/5/Optional 7 (/clear-site-data/clear-cache.https.html) +""" +import uuid +import random + +def generate_png(width, height, color=(0, 0, 0)): + import zlib + import struct + def chunk(chunk_type, data): + return ( + struct.pack(">I", len(data)) + + chunk_type + + data + + struct.pack(">I", zlib.crc32(chunk_type + data) & 0xffffffff) + ) + + # PNG signature + png = b"\x89PNG\r\n\x1a\n" + + # IHDR chunk + ihdr = struct.pack(">IIBBBBB", width, height, 8, 2, 0, 0, 0) + png += chunk(b'IHDR', ihdr) + + # IDAT chunk: RGB pixels + row = b'\x00' + bytes(color * width) + raw = row * height + idat = zlib.compress(raw) + png += chunk(b'IDAT', idat) + + # IEND chunk + png += chunk(b'IEND', b'') + return png + +def main(request, response): + # type of response: + # - General purpose: returns random uuid or forwards uuid from iframe + # - "single_html": Main page html file with a different postMessage uuid on each response + # - Pages for simple testing normal http cache: + # - "json": Json that always responds with a different uuid in a single-element array + # - "html_embed_json": Main page html that embeds a cachable version of the above json + # - Pages for testing specialized caches + # - "image": Image that returns random dimensions up to 1024x1024 each time + # - "html_embed_image": Main page html that embeds a cachable version of the above image + # - "css": Style sheet with random uuid variable + # - "html_embed_css": Main page html that embeds a cachable version of the above css + # - "js": Script that returns a different uuid each time + # - "html_embed_js": Main page html that embeds a cachable version of the above js file + response_type = request.GET.first(b"response") + + cache_helper = request.GET.first(b"cache_helper") + + # force enable caching when present or force disable if not + cache = b"cache" in request.GET + clear = None + if b"clear" in request.GET: + clear = request.GET.first(b"clear") + if b"clear_first" in request.GET: + if request.server.stash.take(cache_helper) is None: + clear = request.GET.first(b"clear_first") + request.server.stash.put(cache_helper, ()) + + headers = [] + if response_type == b"json": + headers += [(b"Content-Type", b"application/json")] + elif response_type == b"image": + headers += [(b"Content-Type", b"image/png")] + elif response_type == b"css": + headers += [(b"Content-Type", b"text/css")] + elif response_type == b"js": + headers += [(b"Content-Type", b"text/javascript")] + else: + headers += [(b"Content-Type", b"text/html")] + + headers += [(b"Access-Control-Allow-Origin", b"*")] + if cache: + headers += [(b"cache-control", b"public, max-age=31536000, immutable")] + else: + headers += [(b"cache-control", b"no-store")] + + if clear is not None: + if clear == b"all": + headers += [(b"Clear-Site-Data", b'"*"')] + else: + headers += [(b"Clear-Site-Data", b'"' + clear + b'"')] + + if response_type == b"single_html": + iframe = "" + if b"iframe" in request.GET: + # forward message from iframe to opener + iframe_url = request.GET.first(b"iframe").decode() + content = f''' + +
+ {request.url}
+ {iframe_url}
+ + + ''' + else: + # send unique UUID. Cache got cleared when uuids don't match. + u = uuid.uuid4() + content = f''' + + + {request.url} + ''' + elif response_type == b"json": + # send unique UUID. helper for below "html_embed_json" + content = f'''["{uuid.uuid4()}"]''' + elif response_type == b"html_embed_json": + url = request.url_parts.path + "?response=json&cache&cache_helper=" + cache_helper.decode() + content = f''' + + + {request.url}
+ {url} + ''' + elif response_type == b"image": + # send uniquely sized images, because that info can be retrived from html and definitly using the image cache + # helper for below "html_embed_image" + content = generate_png(random.randint(1, 1024), random.randint(1, 1024)) + elif response_type == b"html_embed_image": + urls = [request.url_parts.path + "?response=image&cache&cache_helper=" + cache_helper.decode() + "&img=" + str(i) for i in range(2)] + content = f''' + + + + {request.url}
+
+
+ ''' + elif response_type == b"css": + # send unique UUID. helper for below "html_embed_css" + content = f''' + :root {{ + --uuid: "{uuid.uuid4()}" + }}''' + elif response_type == b"html_embed_css": + url = request.url_parts.path + "?response=css&cache&cache_helper=" + cache_helper.decode() + content = f''' + + + + + {request.url}
+ {url} + ''' + elif response_type == b"js": + # send unique UUID. helper for below "html_embed_js" + content = f''' + window.opener.postMessage("{uuid.uuid4()}", "*"); + window.close(); + ''' + elif response_type == b"html_embed_js": + url = request.url_parts.path + "?response=js&cache&cache_helper=" + cache_helper.decode() + content = f''' + + + {request.url}
+ {url} + ''' + + return 200, headers, content diff --git a/LayoutTests/imported/w3c/web-platform-tests/clear-site-data/support/clear-site-data-prefetchCache.py b/LayoutTests/imported/w3c/web-platform-tests/clear-site-data/support/clear-site-data-prefetchCache.py new file mode 100644 index 0000000000000..3a332dd58b201 --- /dev/null +++ b/LayoutTests/imported/w3c/web-platform-tests/clear-site-data/support/clear-site-data-prefetchCache.py @@ -0,0 +1,18 @@ +def main(request, response): + headers = [(b"Content-Type", b"text/html")] + headers += [(b"Clear-Site-Data", b'"prefetchCache"')] + content = f''' + + + {request.url} + ''' + return 200, headers, content diff --git a/LayoutTests/imported/w3c/web-platform-tests/cors/304.htm b/LayoutTests/imported/w3c/web-platform-tests/cors/304.htm index 12c44b0e7c977..2aee01417a7cd 100644 --- a/LayoutTests/imported/w3c/web-platform-tests/cors/304.htm +++ b/LayoutTests/imported/w3c/web-platform-tests/cors/304.htm @@ -29,7 +29,7 @@

CORS - 304 Responses

client.onreadystatechange = function() { if (client.readyState == client.DONE) { t.step(function() { - assert_true(client.status != 299, "req " + id + " server says: " + client.responseText) + assert_not_equals(client.status, 299, "req " + id + " server says: " + client.responseText) }) ready(client) } diff --git a/LayoutTests/imported/w3c/web-platform-tests/cors/META.yml b/LayoutTests/imported/w3c/web-platform-tests/cors/META.yml index 08dc73704f93a..3187818d44d2d 100644 --- a/LayoutTests/imported/w3c/web-platform-tests/cors/META.yml +++ b/LayoutTests/imported/w3c/web-platform-tests/cors/META.yml @@ -1,6 +1,5 @@ spec: https://fetch.spec.whatwg.org/#http-cors-protocol suggested_reviewers: - - zqzhang - odinho - hillbrad - jdm diff --git a/LayoutTests/imported/w3c/web-platform-tests/cors/WEB_FEATURES.yml b/LayoutTests/imported/w3c/web-platform-tests/cors/WEB_FEATURES.yml new file mode 100644 index 0000000000000..1a9ba7e49aeac --- /dev/null +++ b/LayoutTests/imported/w3c/web-platform-tests/cors/WEB_FEATURES.yml @@ -0,0 +1,3 @@ +features: +- name: cors + files: "**" diff --git a/LayoutTests/imported/w3c/web-platform-tests/cors/access-control-expose-headers-parsing.window.js b/LayoutTests/imported/w3c/web-platform-tests/cors/access-control-expose-headers-parsing.window.js index 1b5afdf59f3dd..a139ff6f1e71d 100644 --- a/LayoutTests/imported/w3c/web-platform-tests/cors/access-control-expose-headers-parsing.window.js +++ b/LayoutTests/imported/w3c/web-platform-tests/cors/access-control-expose-headers-parsing.window.js @@ -1,13 +1,11 @@ -// META: script=/common/get-host-info.sub.js - promise_test(() => fetch("resources/access-control-expose-headers.json").then(res => res.json()).then(runTests), "Loading JSON…"); function runTests(allTestData) { allTestData.forEach(testData => { const encodedInput = encodeURIComponent(testData.input); promise_test(() => { - const relativeURL = "cors/resources/expose-headers.py?expose=" + encodedInput, - url = new URL(relativeURL, get_host_info().HTTP_REMOTE_ORIGIN); + const relativeURL = "resources/expose-headers.py?expose=" + encodedInput, + url = new URL(relativeURL, location.href).href.replace("://", "://élève."); return fetch(url).then(res => { assert_equals(res.headers.get("content-language"), "mkay"); assert_equals(res.headers.get("bb-8"), (testData.exposed ? "hey" : null)); diff --git a/LayoutTests/imported/w3c/web-platform-tests/cors/basic.htm b/LayoutTests/imported/w3c/web-platform-tests/cors/basic.htm index 96cc4b98be964..cbdb4ca9aa79c 100644 --- a/LayoutTests/imported/w3c/web-platform-tests/cors/basic.htm +++ b/LayoutTests/imported/w3c/web-platform-tests/cors/basic.htm @@ -6,57 +6,49 @@ +
diff --git a/LayoutTests/imported/w3c/web-platform-tests/cors/client-hint-request-headers-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/cors/client-hint-request-headers-expected.txt index e584989353d8f..a4901d2efadc8 100644 --- a/LayoutTests/imported/w3c/web-platform-tests/cors/client-hint-request-headers-expected.txt +++ b/LayoutTests/imported/w3c/web-platform-tests/cors/client-hint-request-headers-expected.txt @@ -6,4 +6,7 @@ PASS Unextractable device-memory client hint header is disallowed PASS Unextractable DPR client hint header is disallowed PASS Unextractable width client hint header is disallowed PASS Unextractable viewport-width client hint header is disallowed +PASS Test invalid rtt value is disallowed +PASS Test invalid downlink value is disallowed +PASS Test invalid ect value is disallowed diff --git a/LayoutTests/imported/w3c/web-platform-tests/cors/client-hint-request-headers.htm b/LayoutTests/imported/w3c/web-platform-tests/cors/client-hint-request-headers.htm index 17fbd3daa3f97..6cf298433eb14 100644 --- a/LayoutTests/imported/w3c/web-platform-tests/cors/client-hint-request-headers.htm +++ b/LayoutTests/imported/w3c/web-platform-tests/cors/client-hint-request-headers.htm @@ -46,4 +46,37 @@

Request headers

assert_throws_dom("NetworkError", function() { client.send(null) }) }, 'Unextractable viewport-width client hint header is disallowed') +test(function() { + var client = new XMLHttpRequest() + client.open('GET', CROSSDOMAIN + 'resources/cors-makeheader.py?headers=x-print', false) + client.setRequestHeader('rtt', '') + assert_throws_dom("NetworkError", function() { client.send(null) }) + client = new XMLHttpRequest() + client.open('GET', CROSSDOMAIN + 'resources/cors-makeheader.py?headers=x-print', false) + client.setRequestHeader('rtt', '-1') + assert_throws_dom("NetworkError", function() { client.send(null) }) +}, 'Test invalid rtt value is disallowed') + +test(function() { + var client = new XMLHttpRequest() + client.open('GET', CROSSDOMAIN + 'resources/cors-makeheader.py?headers=x-print', false) + client.setRequestHeader('downlink', '') + assert_throws_dom("NetworkError", function() { client.send(null) }) + client = new XMLHttpRequest() + client.open('GET', CROSSDOMAIN + 'resources/cors-makeheader.py?headers=x-print', false) + client.setRequestHeader('downlink', '-1.0') + assert_throws_dom("NetworkError", function() { client.send(null) }) +}, 'Test invalid downlink value is disallowed') + +test(function() { + var client = new XMLHttpRequest() + client.open('GET', CROSSDOMAIN + 'resources/cors-makeheader.py?headers=x-print', false) + client.setRequestHeader('ect', '') + assert_throws_dom("NetworkError", function() { client.send(null) }) + client = new XMLHttpRequest() + client.open('GET', CROSSDOMAIN + 'resources/cors-makeheader.py?headers=x-print', false) + client.setRequestHeader('ect', '6g') + assert_throws_dom("NetworkError", function() { client.send(null) }) +}, 'Test invalid ect value is disallowed') + diff --git a/LayoutTests/imported/w3c/web-platform-tests/cors/credentials-flag-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/cors/credentials-flag-expected.txt index c641d7a531f11..4fb1c90e98b88 100644 --- a/LayoutTests/imported/w3c/web-platform-tests/cors/credentials-flag-expected.txt +++ b/LayoutTests/imported/w3c/web-platform-tests/cors/credentials-flag-expected.txt @@ -3,8 +3,8 @@ CORS - Access-Control-Allow-Credentials PASS Setting withCredentials on a sync XHR object should not throw PASS Don't send cookie by default -FAIL Don't send cookie part 2 assert_equals: Cookie sent in withCredentials=true sync request expected "COOKIE" but got "NO_COOKIE" -FAIL Don't obey Set-Cookie when withCredentials=false assert_equals: third expected "COOKIE" but got "NO_COOKIE" +PASS Don't send cookie part 2 +PASS Don't obey Set-Cookie when withCredentials=false PASS Access-Control-Allow-Credentials: TRUE should be disallowed (async) PASS Access-Control-Allow-Credentials: True should be disallowed (async) PASS Access-Control-Allow-Credentials: "true" should be disallowed (async) diff --git a/LayoutTests/imported/w3c/web-platform-tests/cors/origin-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/cors/origin-expected.txt index 0d7edb80bbf96..f2b10b1b5152b 100644 --- a/LayoutTests/imported/w3c/web-platform-tests/cors/origin-expected.txt +++ b/LayoutTests/imported/w3c/web-platform-tests/cors/origin-expected.txt @@ -8,7 +8,7 @@ PASS Allow origin: http://web-platform.test:8800 PASS Allow origin: _http://web-platform.test:8800 PASS Allow origin: _http://web-platform.test:8800___[tab]_ PASS Allow origin: [tab]http://web-platform.test:8800 -PASS Disallow origin: http://not-web-platform.test.web-platform.test:8800 +PASS Disallow origin: http://www1.web-platform.test:8800 PASS Disallow origin: //web-platform.test:8800 PASS Disallow origin: ://web-platform.test:8800 PASS Disallow origin: ftp://web-platform.test:8800 @@ -52,7 +52,7 @@ PASS Disallow origin: null * PASS Disallow origin: PASS Disallow origin: http://web-platform.test:8800/cors/origin.htm PASS Disallow origin: http://web-platform.test:8800/cors/ -PASS Disallow origin: http://not-web-platform.test:8800/cors/ +PASS Disallow origin: http://www1.web-platform.test:8800/cors/ PASS Disallow origin: test:8800 PASS Disallow origin: .test:8800 PASS Disallow origin: *.test:8800 diff --git a/LayoutTests/imported/w3c/web-platform-tests/cors/redirect-origin-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/cors/redirect-origin-expected.txt index 62cac8b275fad..f1d5877c405d7 100644 --- a/LayoutTests/imported/w3c/web-platform-tests/cors/redirect-origin-expected.txt +++ b/LayoutTests/imported/w3c/web-platform-tests/cors/redirect-origin-expected.txt @@ -1,47 +1,47 @@ CORS redirect handling -FAIL local (*) to remote (*), expect origin=http://web-platform.test:8800 assert_true: Got response expected true got false -FAIL local (*) to remote (http://web-platform.test:8800), expect origin=http://web-platform.test:8800 assert_true: Got response expected true got false +PASS local (*) to remote (*), expect origin=http://web-platform.test:8800 +PASS local (*) to remote (http://web-platform.test:8800), expect origin=http://web-platform.test:8800 PASS local (*) to remote (null), expect to fail PASS local (*) to remote (none), expect to fail -FAIL local (http://web-platform.test:8800) to remote (*), expect origin=http://web-platform.test:8800 assert_true: Got response expected true got false -FAIL local (http://web-platform.test:8800) to remote (http://web-platform.test:8800), expect origin=http://web-platform.test:8800 assert_true: Got response expected true got false +PASS local (http://web-platform.test:8800) to remote (*), expect origin=http://web-platform.test:8800 +PASS local (http://web-platform.test:8800) to remote (http://web-platform.test:8800), expect origin=http://web-platform.test:8800 PASS local (http://web-platform.test:8800) to remote (null), expect to fail PASS local (http://web-platform.test:8800) to remote (none), expect to fail -FAIL local (null) to remote (*), expect origin=http://web-platform.test:8800 assert_true: Got response expected true got false -FAIL local (none) to remote (*), expect origin=http://web-platform.test:8800 assert_true: Got response expected true got false -FAIL remote (*) to local (*), expect origin=null assert_true: Got response expected true got false +PASS local (null) to remote (*), expect origin=http://web-platform.test:8800 +PASS local (none) to remote (*), expect origin=http://web-platform.test:8800 +PASS remote (*) to local (*), expect origin=null PASS remote (*) to local (http://web-platform.test:8800), expect to fail -FAIL remote (*) to local (null), expect origin=null assert_true: Got response expected true got false +PASS remote (*) to local (null), expect origin=null PASS remote (*) to local (none), expect to fail -FAIL remote (http://web-platform.test:8800) to local (*), expect origin=null assert_true: Got response expected true got false +PASS remote (http://web-platform.test:8800) to local (*), expect origin=null PASS remote (http://web-platform.test:8800) to local (http://web-platform.test:8800), expect to fail -FAIL remote (http://web-platform.test:8800) to local (null), expect origin=null assert_true: Got response expected true got false +PASS remote (http://web-platform.test:8800) to local (null), expect origin=null PASS remote (http://web-platform.test:8800) to local (none), expect to fail PASS remote (null) to local (*), expect to fail PASS remote (none) to local (*), expect to fail -FAIL remote (*) to remote (*), expect origin=http://web-platform.test:8800 assert_true: Got response expected true got false -FAIL remote (*) to remote (http://web-platform.test:8800), expect origin=http://web-platform.test:8800 assert_true: Got response expected true got false +PASS remote (*) to remote (*), expect origin=http://web-platform.test:8800 +PASS remote (*) to remote (http://web-platform.test:8800), expect origin=http://web-platform.test:8800 PASS remote (*) to remote (null), expect to fail PASS remote (*) to remote (none), expect to fail -FAIL remote (http://web-platform.test:8800) to remote (*), expect origin=http://web-platform.test:8800 assert_true: Got response expected true got false -FAIL remote (http://web-platform.test:8800) to remote (http://web-platform.test:8800), expect origin=http://web-platform.test:8800 assert_true: Got response expected true got false +PASS remote (http://web-platform.test:8800) to remote (*), expect origin=http://web-platform.test:8800 +PASS remote (http://web-platform.test:8800) to remote (http://web-platform.test:8800), expect origin=http://web-platform.test:8800 PASS remote (http://web-platform.test:8800) to remote (null), expect to fail PASS remote (http://web-platform.test:8800) to remote (none), expect to fail PASS remote (null) to remote (*), expect to fail PASS remote (none) to remote (*), expect to fail -FAIL remote (*) to remote2 (*), expect origin=null assert_true: Got response expected true got false +PASS remote (*) to remote2 (*), expect origin=null PASS remote (*) to remote2 (http://web-platform.test:8800), expect to fail -FAIL remote (*) to remote2 (null), expect origin=null assert_true: Got response expected true got false +PASS remote (*) to remote2 (null), expect origin=null PASS remote (*) to remote2 (none), expect to fail -FAIL remote (http://web-platform.test:8800) to remote2 (*), expect origin=null assert_true: Got response expected true got false +PASS remote (http://web-platform.test:8800) to remote2 (*), expect origin=null PASS remote (http://web-platform.test:8800) to remote2 (http://web-platform.test:8800), expect to fail -FAIL remote (http://web-platform.test:8800) to remote2 (null), expect origin=null assert_true: Got response expected true got false +PASS remote (http://web-platform.test:8800) to remote2 (null), expect origin=null PASS remote (http://web-platform.test:8800) to remote2 (none), expect to fail PASS remote (null) to remote2 (*), expect to fail PASS remote (none) to remote2 (*), expect to fail -PASS remote (*) to remote (http://not-web-platform.test.web-platform.test:8800), expect to fail -PASS remote (*) to remote2 (http://not-web-platform.test.web-platform.test:8800), expect to fail -PASS remote (http://not-web-platform.test.web-platform.test:8800) to remote (*), expect to fail +PASS remote (*) to remote (http://www1.web-platform.test:8800), expect to fail +PASS remote (*) to remote2 (http://www1.web-platform.test:8800), expect to fail +PASS remote (http://www1.web-platform.test:8800) to remote (*), expect to fail diff --git a/LayoutTests/imported/w3c/web-platform-tests/cors/remote-origin-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/cors/remote-origin-expected.txt index f6aa0dcaa52bd..5b81323bb013d 100644 --- a/LayoutTests/imported/w3c/web-platform-tests/cors/remote-origin-expected.txt +++ b/LayoutTests/imported/w3c/web-platform-tests/cors/remote-origin-expected.txt @@ -1,32 +1,32 @@ Access-Control-Allow-Origin handling -FAIL Allow origin: * assert_equals: Request Origin: should be http://not-web-platform.test expected "http://not-web-platform.test" but got "http://not-web-platform.test:8800" -FAIL Allow origin: _*__ assert_equals: Request Origin: should be http://not-web-platform.test expected "http://not-web-platform.test" but got "http://not-web-platform.test:8800" -FAIL Allow origin: [tab]* assert_equals: Request Origin: should be http://not-web-platform.test expected "http://not-web-platform.test" but got "http://not-web-platform.test:8800" -FAIL Allow origin: http://not-web-platform.test assert_equals: expected "load" but got "error" -FAIL Allow origin: _http://not-web-platform.test assert_equals: expected "load" but got "error" -FAIL Allow origin: _http://not-web-platform.test___[tab]_ assert_equals: expected "load" but got "error" -FAIL Allow origin: [tab]http://not-web-platform.test assert_equals: expected "load" but got "error" +PASS Allow origin: * +PASS Allow origin: _*__ +PASS Allow origin: [tab]* +PASS Allow origin: http://www1.web-platform.test:8800 +PASS Allow origin: _http://www1.web-platform.test:8800 +PASS Allow origin: _http://www1.web-platform.test:8800___[tab]_ +PASS Allow origin: [tab]http://www1.web-platform.test:8800 PASS Disallow origin: http://web-platform.test:8800 -PASS Disallow origin: //not-web-platform.test -PASS Disallow origin: ://not-web-platform.test -PASS Disallow origin: ftp://not-web-platform.test -PASS Disallow origin: http:://not-web-platform.test -PASS Disallow origin: http:/not-web-platform.test -PASS Disallow origin: http:not-web-platform.test -PASS Disallow origin: not-web-platform.test -PASS Disallow origin: http://not-web-platform.test? -PASS Disallow origin: http://not-web-platform.test/ -PASS Disallow origin: http://not-web-platform.test_/ -PASS Disallow origin: http://not-web-platform.test# -PASS Disallow origin: http://not-web-platform.test%23 -PASS Disallow origin: http://not-web-platform.test:80 -PASS Disallow origin: http://not-web-platform.test,_* -PASS Disallow origin: http://not-web-platform.test\0 -PASS Disallow origin: HTTP://NOT-WEB-PLATFORM.TEST -PASS Disallow origin: HTTP://not-web-platform.test -PASS Disallow origin: http://NOT-WEB-PLATFORM.TEST +PASS Disallow origin: //www1.web-platform.test:8800 +PASS Disallow origin: ://www1.web-platform.test:8800 +PASS Disallow origin: ftp://www1.web-platform.test:8800 +PASS Disallow origin: http:://www1.web-platform.test:8800 +PASS Disallow origin: http:/www1.web-platform.test:8800 +PASS Disallow origin: http:www1.web-platform.test:8800 +PASS Disallow origin: www1.web-platform.test:8800 +PASS Disallow origin: http://www1.web-platform.test:8800? +PASS Disallow origin: http://www1.web-platform.test:8800/ +PASS Disallow origin: http://www1.web-platform.test:8800_/ +PASS Disallow origin: http://www1.web-platform.test:8800# +PASS Disallow origin: http://www1.web-platform.test:8800%23 +PASS Disallow origin: http://www1.web-platform.test:8800:80 +PASS Disallow origin: http://www1.web-platform.test:8800,_* +PASS Disallow origin: http://www1.web-platform.test:8800\0 +PASS Disallow origin: HTTP://WWW1.WEB-PLATFORM.TEST:8800 +PASS Disallow origin: HTTP://www1.web-platform.test:8800 +PASS Disallow origin: http://WWW1.WEB-PLATFORM.TEST:8800 PASS Disallow origin: - PASS Disallow origin: ** PASS Disallow origin: \0* @@ -35,15 +35,15 @@ PASS Disallow origin: '*' PASS Disallow origin: "*" PASS Disallow origin: *_* PASS Disallow origin: *http://* -PASS Disallow origin: *http://not-web-platform.test -PASS Disallow origin: *_http://not-web-platform.test -PASS Disallow origin: *,_http://not-web-platform.test -PASS Disallow origin: \0http://not-web-platform.test -PASS Disallow origin: null_http://not-web-platform.test +PASS Disallow origin: *http://www1.web-platform.test:8800 +PASS Disallow origin: *_http://www1.web-platform.test:8800 +PASS Disallow origin: *,_http://www1.web-platform.test:8800 +PASS Disallow origin: \0http://www1.web-platform.test:8800 +PASS Disallow origin: null_http://www1.web-platform.test:8800 PASS Disallow origin: http://example.net PASS Disallow origin: null PASS Disallow origin: PASS Disallow origin: http://web-platform.test:8800/cors/remote-origin.htm PASS Disallow origin: http://web-platform.test:8800/cors/ -PASS Disallow origin: http://not-web-platform.test:8800/cors/ +PASS Disallow origin: http://www1.web-platform.test:8800/cors/ diff --git a/LayoutTests/imported/w3c/web-platform-tests/cors/resources/304.py b/LayoutTests/imported/w3c/web-platform-tests/cors/resources/304.py index 8fdf29a313203..aa5f5ab560814 100644 --- a/LayoutTests/imported/w3c/web-platform-tests/cors/resources/304.py +++ b/LayoutTests/imported/w3c/web-platform-tests/cors/resources/304.py @@ -1,5 +1,3 @@ -#!/usr/bin/env python - # A header used to correlate requests and responses state_header = b"content-language" @@ -36,12 +34,12 @@ def main(request, response): # what are you doing here? This should be a fresh request. return error(u"If-None-Match on first request") else: - status = 200, u"OK" + status = 200, b"OK" headers.append((b"Access-Control-Allow-Origin", b"*")) headers.append((b"Content-Type", b"text/plain")) headers.append((b"Cache-Control", b"private, max-age=3, must-revalidate")) headers.append((b"ETag", etag)) - return status, headers, u"Success" + return status, headers, b"Success" else: # even requests are the second in a pair, and should have a good INM. if inm != etag: # Bad browser. @@ -58,5 +56,5 @@ def main(request, response): headers.append((b"Access-Control-Expose-Headers", b"a")) elif req_num == 8: headers.append((b"Access-Control-Allow-Origin", b"other.origin.example:80")) - status = 304, u"Not Modified" - return status, headers, u"" + status = 304, b"Not Modified" + return status, headers, b"" diff --git a/LayoutTests/imported/w3c/web-platform-tests/cors/resources/cache-304.py b/LayoutTests/imported/w3c/web-platform-tests/cors/resources/cache-304.py index 41cd16d9a2d5c..0626091794063 100644 --- a/LayoutTests/imported/w3c/web-platform-tests/cors/resources/cache-304.py +++ b/LayoutTests/imported/w3c/web-platform-tests/cors/resources/cache-304.py @@ -1,10 +1,10 @@ def main(request, response): match = request.headers.get(b"If-None-Match", None) if match is not None and match == b"mybestscript-v1": - response.status = (304, u"YEP") - return u"" + response.status = (304, b"YEP") + return b"" response.headers.set(b"Access-Control-Allow-Origin", b"*") response.headers.set(b"Cache-Control", b"must-revalidate") response.headers.set(b"ETag", b"mybestscript-v1") response.headers.set(b"Content-Type", b"text/javascript") - return u"function hep() { }" + return b"function hep() { }" diff --git a/LayoutTests/imported/w3c/web-platform-tests/cors/resources/cors-headers.asis b/LayoutTests/imported/w3c/web-platform-tests/cors/resources/cors-headers.asis index ce21245f12418..2e92da28a0ac0 100644 --- a/LayoutTests/imported/w3c/web-platform-tests/cors/resources/cors-headers.asis +++ b/LayoutTests/imported/w3c/web-platform-tests/cors/resources/cors-headers.asis @@ -4,6 +4,7 @@ Access-Control-Expose-Headers: X-Custom-Header, X-Custom-Header-Empty, X-Custom- Access-Control-Expose-Headers: X-Second-Expose Access-Control-Expose-Headers: Date Content-Type: text/plain +Content-Length: 4 X-Custom-Header: test X-Custom-Header: test Set-Cookie: test1=t1;max-age=2 diff --git a/LayoutTests/imported/w3c/web-platform-tests/cors/resources/cors-makeheader.py b/LayoutTests/imported/w3c/web-platform-tests/cors/resources/cors-makeheader.py index 8d6db74e46d57..e0576a003dfb9 100644 --- a/LayoutTests/imported/w3c/web-platform-tests/cors/resources/cors-makeheader.py +++ b/LayoutTests/imported/w3c/web-platform-tests/cors/resources/cors-makeheader.py @@ -3,7 +3,7 @@ from wptserve.utils import isomorphic_decode def main(request, response): - origin = request.GET.first(b"origin", request.headers.get(b'origin')) + origin = request.GET.first(b"origin", request.headers.get(b'origin') or b'none') if b"check" in request.GET: token = request.GET.first(b"token") @@ -64,6 +64,6 @@ def main(request, response): body = json.dumps(headers) if code: - return (code, u"StatusText"), [], body + return (code, b"StatusText"), [], body else: return body diff --git a/LayoutTests/imported/w3c/web-platform-tests/cors/resources/expose-headers.py b/LayoutTests/imported/w3c/web-platform-tests/cors/resources/expose-headers.py index e9de401cf2a5f..4e568f4063542 100644 --- a/LayoutTests/imported/w3c/web-platform-tests/cors/resources/expose-headers.py +++ b/LayoutTests/imported/w3c/web-platform-tests/cors/resources/expose-headers.py @@ -2,6 +2,7 @@ def main(request, response): response.add_required_headers = False output = b"HTTP/1.1 221 ALL YOUR BASE BELONG TO H1\r\n" output += b"Access-Control-Allow-Origin: *\r\n" + output += b"Connection: close\r\n" output += b"BB-8: hey\r\n" output += b"Content-Language: mkay\r\n" output += request.GET.first(b"expose") + b"\r\n" diff --git a/LayoutTests/imported/w3c/web-platform-tests/cors/resources/w3c-import.log b/LayoutTests/imported/w3c/web-platform-tests/cors/resources/w3c-import.log index fc88db5b43a52..57204937017ba 100644 --- a/LayoutTests/imported/w3c/web-platform-tests/cors/resources/w3c-import.log +++ b/LayoutTests/imported/w3c/web-platform-tests/cors/resources/w3c-import.log @@ -23,6 +23,9 @@ List of files: /LayoutTests/imported/w3c/web-platform-tests/cors/resources/cors-makeheader.py /LayoutTests/imported/w3c/web-platform-tests/cors/resources/expose-headers.py /LayoutTests/imported/w3c/web-platform-tests/cors/resources/image-tainting-checker.sub.html +/LayoutTests/imported/w3c/web-platform-tests/cors/resources/preflight-cache-partitioning-iframe.sub.html +/LayoutTests/imported/w3c/web-platform-tests/cors/resources/preflight-cache-partitioning.sub.html +/LayoutTests/imported/w3c/web-platform-tests/cors/resources/preflight-partitioning.py /LayoutTests/imported/w3c/web-platform-tests/cors/resources/preflight.py /LayoutTests/imported/w3c/web-platform-tests/cors/resources/remote-xhrer.html /LayoutTests/imported/w3c/web-platform-tests/cors/resources/status.py diff --git a/LayoutTests/imported/w3c/web-platform-tests/cors/response-headers-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/cors/response-headers-expected.txt index abd271c5e0cb2..2972a56241658 100644 --- a/LayoutTests/imported/w3c/web-platform-tests/cors/response-headers-expected.txt +++ b/LayoutTests/imported/w3c/web-platform-tests/cors/response-headers-expected.txt @@ -11,6 +11,8 @@ PASS getResponseHeader: Content-Language: readable by default PASS getResponseHeader: Expires: readable by default PASS getResponseHeader: Last-Modified: readable by default PASS getResponseHeader: Pragma: readable by default +PASS getResponseHeader: Content-Length: readable by default +PASS getResponseHeader: Content-Type: readable by default PASS getResponseHeader: Server: unreadable by default PASS getResponseHeader: X-Powered-By: unreadable by default PASS getResponseHeader: Combined testing of cors response headers diff --git a/LayoutTests/imported/w3c/web-platform-tests/cors/response-headers.htm b/LayoutTests/imported/w3c/web-platform-tests/cors/response-headers.htm index d4d7cf231fab6..cc06a239a64ce 100644 --- a/LayoutTests/imported/w3c/web-platform-tests/cors/response-headers.htm +++ b/LayoutTests/imported/w3c/web-platform-tests/cors/response-headers.htm @@ -44,6 +44,8 @@

Response headers

default_readable("Expires", "Thu, 01 Dec 1994 16:00:00 GMT"); default_readable("Last-Modified", "Thu, 01 Dec 1994 10:00:00 GMT"); default_readable("Pragma", "no-cache"); +default_readable("Content-Length", "4"); +default_readable("Content-Type", "text/plain"); function default_unreadable(head) { diff --git a/LayoutTests/imported/w3c/web-platform-tests/cors/simple-requests-ch.tentative-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/cors/simple-requests-ch.tentative-expected.txt index ffcb938f3f19a..feec182abdadb 100644 --- a/LayoutTests/imported/w3c/web-platform-tests/cors/simple-requests-ch.tentative-expected.txt +++ b/LayoutTests/imported/w3c/web-platform-tests/cors/simple-requests-ch.tentative-expected.txt @@ -3,7 +3,7 @@ Simple requests Simple requests shouldn't trigger preflight -FAIL No preflight GET and {"save-data":"on","device-memory":"2.0","dpr":"3.0","width":"1200","viewport-width":"1300"} A network error occurred. -FAIL No preflight HEAD and {"save-data":"on","device-memory":"2.0","dpr":"3.0","width":"1200","viewport-width":"1300"} A network error occurred. -FAIL No preflight POST and {"save-data":"on","device-memory":"2.0","dpr":"3.0","width":"1200","viewport-width":"1300"} A network error occurred. +FAIL No preflight GET and {"save-data":"on","device-memory":"2.0","dpr":"3.0","width":"1200","viewport-width":"1300","rtt":"1","downlink":"1.0","ect":"2g"} A network error occurred. +FAIL No preflight HEAD and {"save-data":"on","device-memory":"2.0","dpr":"3.0","width":"1200","viewport-width":"1300","rtt":"1","downlink":"1.0","ect":"2g"} A network error occurred. +FAIL No preflight POST and {"save-data":"on","device-memory":"2.0","dpr":"3.0","width":"1200","viewport-width":"1300","rtt":"1","downlink":"1.0","ect":"2g"} A network error occurred. diff --git a/LayoutTests/imported/w3c/web-platform-tests/cors/simple-requests-ch.tentative.htm b/LayoutTests/imported/w3c/web-platform-tests/cors/simple-requests-ch.tentative.htm index f9955ac86a4c5..78212de49e00c 100644 --- a/LayoutTests/imported/w3c/web-platform-tests/cors/simple-requests-ch.tentative.htm +++ b/LayoutTests/imported/w3c/web-platform-tests/cors/simple-requests-ch.tentative.htm @@ -51,7 +51,10 @@

Simple requests

'device-memory': '2.0', 'dpr': '3.0', 'width': '1200', - 'viewport-width': '1300' + 'viewport-width': '1300', + 'rtt': '1', + 'downlink': '1.0', + 'ect': '2g' }) diff --git a/LayoutTests/imported/w3c/web-platform-tests/cors/support.js b/LayoutTests/imported/w3c/web-platform-tests/cors/support.js index 9f7ffbf9861a5..2dde95d9a07be 100644 --- a/LayoutTests/imported/w3c/web-platform-tests/cors/support.js +++ b/LayoutTests/imported/w3c/web-platform-tests/cors/support.js @@ -3,14 +3,15 @@ function dirname(path) { } /* This subdomain should point to this same location */ -var SUBDOMAIN = "{{hosts[alt][]}}" +var SUBDOMAIN = 'www1' var SUBDOMAIN2 = 'www2' var PORT = {{ports[http][1]}} //XXX HTTPS var PORTS = {{ports[https][0]}} /* Changes http://example.com/abc/def/cool.htm to http://www1.example.com/abc/def/ */ -var CROSSDOMAIN = location.protocol + '//' + SUBDOMAIN + ':' + location.port + dirname(location.pathname) -var REMOTE_HOST = SUBDOMAIN +var CROSSDOMAIN = dirname(location.href) + .replace('://', '://' + SUBDOMAIN + '.') +var REMOTE_HOST = SUBDOMAIN + '.' + location.host var REMOTE_PROTOCOL = location.protocol var REMOTE_ORIGIN = REMOTE_PROTOCOL + '//' + REMOTE_HOST diff --git a/LayoutTests/imported/w3c/web-platform-tests/cors/w3c-import.log b/LayoutTests/imported/w3c/web-platform-tests/cors/w3c-import.log index 6c5163f2647cd..8615ecec9de75 100644 --- a/LayoutTests/imported/w3c/web-platform-tests/cors/w3c-import.log +++ b/LayoutTests/imported/w3c/web-platform-tests/cors/w3c-import.log @@ -17,6 +17,7 @@ List of files: /LayoutTests/imported/w3c/web-platform-tests/cors/304.htm /LayoutTests/imported/w3c/web-platform-tests/cors/META.yml /LayoutTests/imported/w3c/web-platform-tests/cors/README.md +/LayoutTests/imported/w3c/web-platform-tests/cors/WEB_FEATURES.yml /LayoutTests/imported/w3c/web-platform-tests/cors/access-control-expose-headers-parsing.window.js /LayoutTests/imported/w3c/web-platform-tests/cors/basic.htm /LayoutTests/imported/w3c/web-platform-tests/cors/client-hint-request-headers-2.tentative.htm @@ -26,6 +27,7 @@ List of files: /LayoutTests/imported/w3c/web-platform-tests/cors/image-tainting-in-cross-origin-iframe.sub.html /LayoutTests/imported/w3c/web-platform-tests/cors/late-upload-events.htm /LayoutTests/imported/w3c/web-platform-tests/cors/origin.htm +/LayoutTests/imported/w3c/web-platform-tests/cors/preflight-cache-partitioning.sub.window.js /LayoutTests/imported/w3c/web-platform-tests/cors/preflight-cache.htm /LayoutTests/imported/w3c/web-platform-tests/cors/preflight-failure.htm /LayoutTests/imported/w3c/web-platform-tests/cors/redirect-origin.htm diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/align-dialog-001-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/align-dialog-001-expected.txt new file mode 100644 index 0000000000000..c65e45d2d81a3 --- /dev/null +++ b/LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/align-dialog-001-expected.txt @@ -0,0 +1,10 @@ + +PASS e.style['align-self'] = "dialog" should set the property value +PASS e.style['align-items'] = "dialog" should set the property value +PASS e.style['justify-self'] = "dialog" should set the property value +PASS e.style['justify-items'] = "dialog" should set the property value +PASS Property align-self value 'dialog' +PASS Property align-items value 'dialog' +PASS Property justify-self value 'dialog' +PASS Property justify-items value 'dialog' + diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/align-dialog-001.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/align-dialog-001.html new file mode 100644 index 0000000000000..ba3a2b5c759d0 --- /dev/null +++ b/LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/align-dialog-001.html @@ -0,0 +1,24 @@ + +Tests the dialog keyword is parsed and computed as specified + + + + + + + +
+
+
+ + diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/align-dialog-002-expected.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/align-dialog-002-expected.html new file mode 100644 index 0000000000000..88ba8a7e84686 --- /dev/null +++ b/LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/align-dialog-002-expected.html @@ -0,0 +1,44 @@ + +Tests the dialog keyword is parsed and computed as specified + + + + +/* Should be centered, no position-area */ +
+
+
+
+ +/* Centered in an offset box */ +
+
+
+
+ +/* Anchor-centered on the left side. */ +
+
+
+
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/align-dialog-002-ref.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/align-dialog-002-ref.html new file mode 100644 index 0000000000000..88ba8a7e84686 --- /dev/null +++ b/LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/align-dialog-002-ref.html @@ -0,0 +1,44 @@ + +Tests the dialog keyword is parsed and computed as specified + + + + +/* Should be centered, no position-area */ +
+
+
+
+ +/* Centered in an offset box */ +
+
+
+
+ +/* Anchor-centered on the left side. */ +
+
+
+
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/align-dialog-002.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/align-dialog-002.html new file mode 100644 index 0000000000000..d0164ca104670 --- /dev/null +++ b/LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/align-dialog-002.html @@ -0,0 +1,48 @@ + +Tests the dialog keyword is parsed and computed as specified + + + + + + + +/* Should be centered, no position-area */ +
+
+
+
+ +/* Centered in an offset box */ +
+
+
+
+ +/* Anchor-centered on the left side. */ +
+
+
+
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-scroll-position-try-006-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-scroll-position-try-006-expected.txt index 1e26104a0def9..0fea0d884c85e 100644 --- a/LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-scroll-position-try-006-expected.txt +++ b/LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-scroll-position-try-006-expected.txt @@ -2,7 +2,7 @@ PASS Should use the last (fourth) position option initially PASS Should still use the last position option as long as it fits. PASS Should use the third position option with enough space below, and not enough above -FAIL Should use the second position option with enough space right assert_equals: Anchored element should be at the right of anchor expected 650 but got 450 -FAIL Should still use the second position option as long as it fits assert_equals: Anchored element should be at the right of anchor expected 650 but got 450 +PASS Should use the second position option with enough space right +PASS Should still use the second position option as long as it fits PASS Should use the first position option with enough space below and right diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-scroll-position-try-008-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-scroll-position-try-008-expected.txt index c5e41f50fc52f..4bdbb36fd972b 100644 --- a/LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-scroll-position-try-008-expected.txt +++ b/LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-scroll-position-try-008-expected.txt @@ -1,6 +1,6 @@ PASS Should use the last fallback position initially -FAIL Should use the third fallback position with enough space left assert_equals: Anchored element should be at the left of anchor expected 135 but got 335 -FAIL Should use the second fallback position with enough space above assert_equals: Anchored element should be at the top of anchor expected 135 but got 335 +PASS Should use the third fallback position with enough space left +PASS Should use the second fallback position with enough space above PASS Should use the first fallback position with enough space left and above diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-scroll-position-try-009-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-scroll-position-try-009-expected.txt index 26fae331d9582..b2c32a9d38a1f 100644 --- a/LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-scroll-position-try-009-expected.txt +++ b/LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-scroll-position-try-009-expected.txt @@ -1,6 +1,6 @@ PASS Should use the last fallback position initially -FAIL Should use the third fallback position with enough space right assert_equals: Anchored element should be at the right of anchor expected 650 but got 450 -FAIL Should use the second fallback position with enough space below assert_equals: Anchored element should be at the bottom of anchor expected 450 but got 250 +PASS Should use the third fallback position with enough space right +PASS Should use the second fallback position with enough space below PASS Should use the first fallback position with enough space right and below diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-scroll-position-try-010-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-scroll-position-try-010-expected.txt index 596ccc10b9889..b84296df584e7 100644 --- a/LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-scroll-position-try-010-expected.txt +++ b/LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-scroll-position-try-010-expected.txt @@ -1,6 +1,6 @@ PASS Should use the last fallback position initially -FAIL Should use the third fallback position with enough space right assert_equals: Anchored element should be at the right of anchor expected 650 but got 450 -FAIL Should use the second fallback position with enough space above assert_equals: Anchored element should be at the top of anchor expected 135 but got 335 +PASS Should use the third fallback position with enough space right +PASS Should use the second fallback position with enough space above PASS Should use the first fallback position with enough space right and above diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-scroll-position-try-011-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-scroll-position-try-011-expected.txt index 567ac62505e36..b0e74eac4ccc1 100644 --- a/LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-scroll-position-try-011-expected.txt +++ b/LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/anchor-scroll-position-try-011-expected.txt @@ -1,6 +1,6 @@ PASS Should use the last fallback position initially -FAIL Should use the third fallback position with enough space above assert_equals: Anchored element should be at the top of anchor expected 235 but got 435 +PASS Should use the third fallback position with enough space above FAIL Should use the second fallback position with enough space right assert_equals: Anchored element should be at the right of anchor expected 358 but got 158 PASS Should use the first fallback position with enough space above and right diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/base-style-invalidation-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/base-style-invalidation-expected.txt index 97333c431b2f2..6eb02438423d1 100644 --- a/LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/base-style-invalidation-expected.txt +++ b/LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/base-style-invalidation-expected.txt @@ -1,3 +1,3 @@ -FAIL The chosen position fallbacks changes when the base style differs assert_equals: expected 20 but got 75 +PASS The chosen position fallbacks changes when the base style differs diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/last-successful-intermediate-ignored-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/last-successful-intermediate-ignored-expected.txt index 0c2c975ade2c5..626eeec94b8b9 100644 --- a/LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/last-successful-intermediate-ignored-expected.txt +++ b/LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/last-successful-intermediate-ignored-expected.txt @@ -1,4 +1,4 @@ PASS Starts rendering with flip-block -FAIL No successful position (with intermediate successful), keep flip-block assert_equals: expected 200 but got 0 +PASS No successful position (with intermediate successful), keep flip-block diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/position-area-overflow-icb-001-expected.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/position-area-overflow-icb-001-expected.html new file mode 100644 index 0000000000000..76ba7439509f3 --- /dev/null +++ b/LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/position-area-overflow-icb-001-expected.html @@ -0,0 +1,29 @@ + + +Reference: position-area overflow alignment against ICB - non-scrollable RTL + + +
+
+
+
+
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/position-area-overflow-icb-001.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/position-area-overflow-icb-001.html new file mode 100644 index 0000000000000..8f00def9d71c7 --- /dev/null +++ b/LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/position-area-overflow-icb-001.html @@ -0,0 +1,34 @@ + + +position-area overflow alignment against ICB - non-scrollable RTL + + + + + + + +
+
+
+
+
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/position-area-overflow-icb-002-expected.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/position-area-overflow-icb-002-expected.html new file mode 100644 index 0000000000000..c0272ae1ad662 --- /dev/null +++ b/LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/position-area-overflow-icb-002-expected.html @@ -0,0 +1,31 @@ + + +Reference: position-area overflow alignment against ICB - scrollable RTL + + +
+
+
+
+
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/position-area-overflow-icb-002.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/position-area-overflow-icb-002.html new file mode 100644 index 0000000000000..1aec287982452 --- /dev/null +++ b/LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/position-area-overflow-icb-002.html @@ -0,0 +1,36 @@ + + +position-area overflow alignment against ICB - scrollable RTL + + + + + + + +
+
+
+
+
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/position-area-scrolling-003.tentative-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/position-area-scrolling-003.tentative-expected.txt index 873c48c074ea6..29f90f620698e 100644 --- a/LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/position-area-scrolling-003.tentative-expected.txt +++ b/LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/position-area-scrolling-003.tentative-expected.txt @@ -1,9 +1,9 @@ -PASS Initial scroll position -PASS Scroll to 40,60 -PASS Reattach at 40,60 +FAIL Initial scroll position assert_equals: e7 height expected 100 but got 350 +FAIL Scroll to 40,60 assert_equals: e7 height expected 100 but got 350 +FAIL Reattach at 40,60 assert_equals: e7 height expected 100 but got 350 FAIL Redisplay at 40,60 assert_equals: e1 x expected 120 but got 100 FAIL Scroll to 0,0 and relayout assert_equals: e1 x expected 120 but got 100 -PASS Redisplay at 0,0 +FAIL Redisplay at 0,0 assert_equals: e7 height expected 100 but got 350 diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/scope-invalidation-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/scope-invalidation-expected.txt index 4347ccd264f1c..084990b9ead15 100644 --- a/LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/scope-invalidation-expected.txt +++ b/LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/scope-invalidation-expected.txt @@ -25,4 +25,5 @@ PASS :nth-child() in scope limit PASS Modifying selectorText invalidates affected elements PASS Modifying selectorText invalidates affected elements (>) PASS Relative selectors set with selectorText are relative to :scope and & +PASS Ancestor element affecting nested scope root (Through latter selector in list) diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/scope-invalidation.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/scope-invalidation.html index 78af1c2469ae9..915de790c374a 100644 --- a/LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/scope-invalidation.html +++ b/LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/scope-invalidation.html @@ -867,3 +867,36 @@ assert_green(c); }, 'Relative selectors set with selectorText are relative to :scope and &'); + + + diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/w3c-import.log b/LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/w3c-import.log index f98ae0f01def5..5588e60de1269 100644 --- a/LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/w3c-import.log +++ b/LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/w3c-import.log @@ -9,11 +9,11 @@ Do NOT modify or remove this file. ------------------------------------------------------------------------ Properties requiring vendor prefixes: -mask-position-x +user-select +text-size-adjust box-decoration-break +mask-position-x mask-position-y -text-size-adjust -user-select initial-letter Property values requiring vendor prefixes: None diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-fonts/animations/font-variation-settings-interpolation-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/css/css-fonts/animations/font-variation-settings-interpolation-expected.txt index 64ccc3c5d8791..4637ecbfeb373 100644 --- a/LayoutTests/imported/w3c/web-platform-tests/css/css-fonts/animations/font-variation-settings-interpolation-expected.txt +++ b/LayoutTests/imported/w3c/web-platform-tests/css/css-fonts/animations/font-variation-settings-interpolation-expected.txt @@ -353,8 +353,8 @@ PASS Web Animations: property from ['aaaa' 0, 'bbbb' 1 PASS Web Animations: property from ['aaaa' 0, 'bbbb' 10, 'cccc' 20] to ['dddd' 10, 'eeee' 20, 'ffff' 30] at (0.6) should be ['dddd' 10, 'eeee' 20, 'ffff' 30] PASS Web Animations: property from ['aaaa' 0, 'bbbb' 10, 'cccc' 20] to ['dddd' 10, 'eeee' 20, 'ffff' 30] at (1) should be ['dddd' 10, 'eeee' 20, 'ffff' 30] PASS Web Animations: property from ['aaaa' 0, 'bbbb' 10, 'cccc' 20] to ['dddd' 10, 'eeee' 20, 'ffff' 30] at (1.5) should be ['dddd' 10, 'eeee' 20, 'ffff' 30] -FAIL CSS Transitions: property from ['aaaa' 30, 'bbbb' 20] to ['aaaa' 20, 'bbbb' 30] at (3.40282e+38) should be ['aaaa' -3.40282e+38, 'bbbb' 3.40282e+38] assert_array_equals: expected property 0 to be "\"aaaa\" -340282001837565597733306976381245063168" but got "\"aaaa\" -infinity" (expected array ["\"aaaa\" -340282001837565597733306976381245063168", "\"bbbb\" 340282001837565597733306976381245063168"] got ["\"aaaa\" -infinity", "\"bbbb\" infinity"]) -FAIL CSS Transitions with transition: all: property from ['aaaa' 30, 'bbbb' 20] to ['aaaa' 20, 'bbbb' 30] at (3.40282e+38) should be ['aaaa' -3.40282e+38, 'bbbb' 3.40282e+38] assert_array_equals: expected property 0 to be "\"aaaa\" -340282001837565597733306976381245063168" but got "\"aaaa\" -infinity" (expected array ["\"aaaa\" -340282001837565597733306976381245063168", "\"bbbb\" 340282001837565597733306976381245063168"] got ["\"aaaa\" -infinity", "\"bbbb\" infinity"]) -FAIL CSS Animations: property from ['aaaa' 30, 'bbbb' 20] to ['aaaa' 20, 'bbbb' 30] at (3.40282e+38) should be ['aaaa' -3.40282e+38, 'bbbb' 3.40282e+38] assert_array_equals: expected property 0 to be "\"aaaa\" -340282001837565597733306976381245063168" but got "\"aaaa\" -infinity" (expected array ["\"aaaa\" -340282001837565597733306976381245063168", "\"bbbb\" 340282001837565597733306976381245063168"] got ["\"aaaa\" -infinity", "\"bbbb\" infinity"]) -FAIL Web Animations: property from ['aaaa' 30, 'bbbb' 20] to ['aaaa' 20, 'bbbb' 30] at (3.40282e+38) should be ['aaaa' -3.40282e+38, 'bbbb' 3.40282e+38] assert_array_equals: expected property 0 to be "\"aaaa\" -340282001837565597733306976381245063168" but got "\"aaaa\" -infinity" (expected array ["\"aaaa\" -340282001837565597733306976381245063168", "\"bbbb\" 340282001837565597733306976381245063168"] got ["\"aaaa\" -infinity", "\"bbbb\" infinity"]) +FAIL CSS Transitions: property from ['aaaa' 30, 'bbbb' 20] to ['aaaa' 20, 'bbbb' 30] at (3.40282e+38) should be ['aaaa' -3.40282e+38, 'bbbb' 3.40282e+38] assert_array_equals: expected property 0 to be "\"aaaa\" -340282001837565597733306976381245063168" but got "\"aaaa\" -340282346638528859811704183484516925440" (expected array ["\"aaaa\" -340282001837565597733306976381245063168", "\"bbbb\" 340282001837565597733306976381245063168"] got ["\"aaaa\" -340282346638528859811704183484516925440", "\"bbbb\" 340282346638528859811704183484516925440"]) +FAIL CSS Transitions with transition: all: property from ['aaaa' 30, 'bbbb' 20] to ['aaaa' 20, 'bbbb' 30] at (3.40282e+38) should be ['aaaa' -3.40282e+38, 'bbbb' 3.40282e+38] assert_array_equals: expected property 0 to be "\"aaaa\" -340282001837565597733306976381245063168" but got "\"aaaa\" -340282346638528859811704183484516925440" (expected array ["\"aaaa\" -340282001837565597733306976381245063168", "\"bbbb\" 340282001837565597733306976381245063168"] got ["\"aaaa\" -340282346638528859811704183484516925440", "\"bbbb\" 340282346638528859811704183484516925440"]) +FAIL CSS Animations: property from ['aaaa' 30, 'bbbb' 20] to ['aaaa' 20, 'bbbb' 30] at (3.40282e+38) should be ['aaaa' -3.40282e+38, 'bbbb' 3.40282e+38] assert_array_equals: expected property 0 to be "\"aaaa\" -340282001837565597733306976381245063168" but got "\"aaaa\" -340282346638528859811704183484516925440" (expected array ["\"aaaa\" -340282001837565597733306976381245063168", "\"bbbb\" 340282001837565597733306976381245063168"] got ["\"aaaa\" -340282346638528859811704183484516925440", "\"bbbb\" 340282346638528859811704183484516925440"]) +FAIL Web Animations: property from ['aaaa' 30, 'bbbb' 20] to ['aaaa' 20, 'bbbb' 30] at (3.40282e+38) should be ['aaaa' -3.40282e+38, 'bbbb' 3.40282e+38] assert_array_equals: expected property 0 to be "\"aaaa\" -340282001837565597733306976381245063168" but got "\"aaaa\" -340282346638528859811704183484516925440" (expected array ["\"aaaa\" -340282001837565597733306976381245063168", "\"bbbb\" 340282001837565597733306976381245063168"] got ["\"aaaa\" -340282346638528859811704183484516925440", "\"bbbb\" 340282346638528859811704183484516925440"]) diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-nesting/nesting-basic-expected.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-nesting/nesting-basic-expected.html index b96dc050f4bc5..282d5c0dd9e4f 100644 --- a/LayoutTests/imported/w3c/web-platform-tests/css/css-nesting/nesting-basic-expected.html +++ b/LayoutTests/imported/w3c/web-platform-tests/css/css-nesting/nesting-basic-expected.html @@ -28,4 +28,5 @@
+
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-nesting/nesting-basic-ref.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-nesting/nesting-basic-ref.html index 8038f369cde2b..b96dc050f4bc5 100644 --- a/LayoutTests/imported/w3c/web-platform-tests/css/css-nesting/nesting-basic-ref.html +++ b/LayoutTests/imported/w3c/web-platform-tests/css/css-nesting/nesting-basic-ref.html @@ -27,4 +27,5 @@
+
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-nesting/nesting-basic.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-nesting/nesting-basic.html index 7e1734902d243..35dbba3eba0d9 100644 --- a/LayoutTests/imported/w3c/web-platform-tests/css/css-nesting/nesting-basic.html +++ b/LayoutTests/imported/w3c/web-platform-tests/css/css-nesting/nesting-basic.html @@ -90,14 +90,16 @@ .test-13::before { background-color: green; - color: green; - content: "text"; + content: ""; } .test-13::before { & { background-color: red; } } + div.test-14 { + div& { background-color: green; } + } body * + * { margin-top: 8px; @@ -121,4 +123,5 @@
+
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/WEB_FEATURES.yml b/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/WEB_FEATURES.yml new file mode 100644 index 0000000000000..88e56feb543f5 --- /dev/null +++ b/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/WEB_FEATURES.yml @@ -0,0 +1,4 @@ +features: +- name: has-slotted + files: + - has-slotted-* diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/has-slotted-001.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/has-slotted-001.html index e750d97a180b5..4e3de3f6adbdf 100644 --- a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/has-slotted-001.html +++ b/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/has-slotted-001.html @@ -1,6 +1,5 @@ -:has-slotted

Test passes if there is a filled green square.

diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/has-slotted-003.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/has-slotted-003.html index 7578413ff3977..d13911e96b76f 100644 --- a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/has-slotted-003.html +++ b/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/has-slotted-003.html @@ -1,6 +1,5 @@ -:has-slotted

Test passes if there is a filled green square.

diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-defined.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-defined.html index 9e9776754a3f3..563bc52e52792 100644 --- a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-defined.html +++ b/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-defined.html @@ -13,10 +13,10 @@ :host div { width: 100px; height: 100px; - background-color: red; + background-color: green; } :not(:defined) div { - background-color: green; + background-color: red; }
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-has-001-expected.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-has-001.tentative-expected.html similarity index 100% rename from LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-has-001-expected.html rename to LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-has-001.tentative-expected.html diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-has-001.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-has-001.tentative.html similarity index 100% rename from LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-has-001.html rename to LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-has-001.tentative.html diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-has-002-expected.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-has-002.tentative-expected.html similarity index 100% rename from LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-has-002-expected.html rename to LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-has-002.tentative-expected.html diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-has-002.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-has-002.tentative.html similarity index 100% rename from LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-has-002.html rename to LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-has-002.tentative.html diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-has-003-expected.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-has-003.tentative-expected.html similarity index 100% rename from LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-has-003-expected.html rename to LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-has-003.tentative-expected.html diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-has-003.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-has-003.tentative.html similarity index 100% rename from LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-has-003.html rename to LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-has-003.tentative.html diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-has-internal-001.tentative-expected.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-has-internal-001-expected.html similarity index 100% rename from LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-has-internal-001.tentative-expected.html rename to LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-has-internal-001-expected.html diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-has-internal-001.tentative.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-has-internal-001.html similarity index 100% rename from LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-has-internal-001.tentative.html rename to LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-has-internal-001.html diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-has-internal-002.tentative-expected.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-has-internal-002-expected.html similarity index 100% rename from LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-has-internal-002.tentative-expected.html rename to LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-has-internal-002-expected.html diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-has-internal-002.tentative.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-has-internal-002.html similarity index 100% rename from LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-has-internal-002.tentative.html rename to LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-has-internal-002.html diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-has-internal-003.tentative-expected.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-has-internal-003-expected.html similarity index 100% rename from LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-has-internal-003.tentative-expected.html rename to LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-has-internal-003-expected.html diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-has-internal-003.tentative.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-has-internal-003.html similarity index 100% rename from LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-has-internal-003.tentative.html rename to LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-has-internal-003.html diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-multiple-006-expected.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-has-internal-004-expected.html similarity index 100% rename from LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-multiple-006-expected.html rename to LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-has-internal-004-expected.html diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-has-internal-004.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-has-internal-004.html new file mode 100644 index 0000000000000..fe51186f59f88 --- /dev/null +++ b/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-has-internal-004.html @@ -0,0 +1,22 @@ + + +:has(...):host internal descendent + + +

Test passes if there is a filled green square.

+
+ +
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-is-006-expected.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-is-006-expected.html new file mode 100644 index 0000000000000..82fcaa3b2aa4a --- /dev/null +++ b/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-is-006-expected.html @@ -0,0 +1,4 @@ + + +

Test passes if there is a filled green square.

+
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-is-006.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-is-006.html new file mode 100644 index 0000000000000..fca86d0184bab --- /dev/null +++ b/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-is-006.html @@ -0,0 +1,25 @@ + + +:host and :is, descendant + + + + +

Test passes if there is a filled green square.

+
+ +
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-multiple-006.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-multiple-006.html deleted file mode 100644 index c3f76a5091861..0000000000000 --- a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-multiple-006.html +++ /dev/null @@ -1,23 +0,0 @@ - - -:host - - -

Test passes if there is a filled green square.

-
-
- diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/slotted-has-001.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/slotted-has-001.html index f70bac7eca386..dcb11ec32eaea 100644 --- a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/slotted-has-001.html +++ b/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/slotted-has-001.html @@ -1,6 +1,5 @@ -:has-slotted

Test passes if there is a filled green square.

diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/slotted-has-002.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/slotted-has-002.html index 9ecbea5d413f9..5e709a969619b 100644 --- a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/slotted-has-002.html +++ b/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/slotted-has-002.html @@ -1,6 +1,5 @@ -:has-slotted

Test passes if there is a filled green square.

diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/slotted-has-003.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/slotted-has-003.html index 1ea412492c567..548f2c5d421d6 100644 --- a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/slotted-has-003.html +++ b/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/slotted-has-003.html @@ -1,6 +1,5 @@ -:has-slotted

Test passes if there is a filled green square.

diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/slotted-has-004.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/slotted-has-004.html index adf50da13a95a..7e76b1b6de629 100644 --- a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/slotted-has-004.html +++ b/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/slotted-has-004.html @@ -1,6 +1,5 @@ -:has-slotted

Test passes if there is a filled green square.

diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/svg-id-ref-001-expected.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/svg-id-ref-001-expected.html new file mode 100644 index 0000000000000..24b5e0d5f53d8 --- /dev/null +++ b/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/svg-id-ref-001-expected.html @@ -0,0 +1,11 @@ + + + + CSS Scoping Module Level 1 - A green box reference + + + +

Test passes if you see a single 100px by 100px green box below.

+
+ + diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/svg-id-ref-001.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/svg-id-ref-001.html new file mode 100644 index 0000000000000..8d87ec4b714cb --- /dev/null +++ b/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/svg-id-ref-001.html @@ -0,0 +1,36 @@ + +Same clip-path id's in different tree scopes + + + + +

Test passes if you see a single 100px by 100px green box below.

+
+ + + + + + +
+
+ diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/w3c-import.log b/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/w3c-import.log index 73992c8997fb7..4c507907ad17b 100644 --- a/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/w3c-import.log +++ b/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/w3c-import.log @@ -15,6 +15,7 @@ None ------------------------------------------------------------------------ List of files: /LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/META.yml +/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/WEB_FEATURES.yml /LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/chrome-1492368-crash.html /LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/css-scoping-shadow-assigned-node-with-before-after-expected.html /LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/css-scoping-shadow-assigned-node-with-before-after.html @@ -128,18 +129,20 @@ List of files: /LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-descendant-invalidation.html /LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-dom-001.html /LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-functional-descendant-invalidation.html -/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-has-001-expected.html -/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-has-001.html -/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-has-002-expected.html -/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-has-002.html -/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-has-003-expected.html -/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-has-003.html -/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-has-internal-001.tentative-expected.html -/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-has-internal-001.tentative.html -/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-has-internal-002.tentative-expected.html -/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-has-internal-002.tentative.html -/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-has-internal-003.tentative-expected.html -/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-has-internal-003.tentative.html +/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-has-001.tentative-expected.html +/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-has-001.tentative.html +/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-has-002.tentative-expected.html +/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-has-002.tentative.html +/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-has-003.tentative-expected.html +/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-has-003.tentative.html +/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-has-internal-001-expected.html +/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-has-internal-001.html +/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-has-internal-002-expected.html +/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-has-internal-002.html +/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-has-internal-003-expected.html +/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-has-internal-003.html +/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-has-internal-004-expected.html +/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-has-internal-004.html /LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-in-host-context-selector.html /LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-in-host-selector.html /LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-is-001-expected.html @@ -152,6 +155,8 @@ List of files: /LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-is-004.html /LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-is-005-expected.html /LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-is-005.html +/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-is-006-expected.html +/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-is-006.html /LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-is-featureless.html /LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-multiple-001-expected.html /LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-multiple-001.html @@ -163,8 +168,6 @@ List of files: /LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-multiple-004.html /LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-multiple-005-expected.html /LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-multiple-005.html -/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-multiple-006-expected.html -/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-multiple-006.html /LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-nested-001-expected.html /LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-nested-001.html /LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/host-not-001-expected.html @@ -271,5 +274,7 @@ List of files: /LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/stylesheet-title-001-expected.html /LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/stylesheet-title-001.html /LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/stylesheet-title-002.html +/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/svg-id-ref-001-expected.html +/LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/svg-id-ref-001.html /LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/whitespace-crash-001-expected.html /LayoutTests/imported/w3c/web-platform-tests/css/css-scoping/whitespace-crash-001.html diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-text/boundary-shaping/boundary-shaping-010.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-text/boundary-shaping/boundary-shaping-010.html index 514a9aa9449d1..cda9bb34441ef 100644 --- a/LayoutTests/imported/w3c/web-platform-tests/css/css-text/boundary-shaping/boundary-shaping-010.html +++ b/LayoutTests/imported/w3c/web-platform-tests/css/css-text/boundary-shaping/boundary-shaping-010.html @@ -2,6 +2,7 @@ + Text shaping must not be broken across inline box boundaries when there is no change in formatting diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-text/letter-spacing/letter-spacing-ligatures-005-expected.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-text/letter-spacing/letter-spacing-ligatures-005-expected.html new file mode 100644 index 0000000000000..035ce24e75a6c --- /dev/null +++ b/LayoutTests/imported/w3c/web-platform-tests/css/css-text/letter-spacing/letter-spacing-ligatures-005-expected.html @@ -0,0 +1,12 @@ + + +letter-spacing with cursive content + +
تفاحة
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-text/letter-spacing/letter-spacing-ligatures-005.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-text/letter-spacing/letter-spacing-ligatures-005.html new file mode 100644 index 0000000000000..012e90f738b76 --- /dev/null +++ b/LayoutTests/imported/w3c/web-platform-tests/css/css-text/letter-spacing/letter-spacing-ligatures-005.html @@ -0,0 +1,17 @@ + + + +letter-spacing with cursive content + + + + +
تفاحة
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-text/letter-spacing/reference/letter-spacing-ligatures-005-ref.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-text/letter-spacing/reference/letter-spacing-ligatures-005-ref.html new file mode 100644 index 0000000000000..035ce24e75a6c --- /dev/null +++ b/LayoutTests/imported/w3c/web-platform-tests/css/css-text/letter-spacing/reference/letter-spacing-ligatures-005-ref.html @@ -0,0 +1,12 @@ + + +letter-spacing with cursive content + +
تفاحة
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-transforms/perspective-transforms-equivalence.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-transforms/perspective-transforms-equivalence.html index da6046fe50cb2..8f59d51ada888 100644 --- a/LayoutTests/imported/w3c/web-platform-tests/css/css-transforms/perspective-transforms-equivalence.html +++ b/LayoutTests/imported/w3c/web-platform-tests/css/css-transforms/perspective-transforms-equivalence.html @@ -9,7 +9,7 @@ Perspective with different transforms can have small anti-aliasing pixel differences, so the test should fuzzy patch to the ref. --> - + + + diff --git a/LayoutTests/imported/w3c/web-platform-tests/fullscreen/rendering/exit-fullscreen-scroll-to-unscrollable-area-overflow-hidden-ref.html b/LayoutTests/imported/w3c/web-platform-tests/fullscreen/rendering/exit-fullscreen-scroll-to-unscrollable-area-overflow-hidden-ref.html new file mode 100644 index 0000000000000..c4d1ad98afa26 --- /dev/null +++ b/LayoutTests/imported/w3c/web-platform-tests/fullscreen/rendering/exit-fullscreen-scroll-to-unscrollable-area-overflow-hidden-ref.html @@ -0,0 +1,13 @@ + + + +
+
+ + PASS if visually equal after exiting fullscreen (no scrolling has happened). +
+ + + diff --git a/LayoutTests/imported/w3c/web-platform-tests/fullscreen/rendering/exit-fullscreen-scroll-to-unscrollable-area-overflow-hidden.html b/LayoutTests/imported/w3c/web-platform-tests/fullscreen/rendering/exit-fullscreen-scroll-to-unscrollable-area-overflow-hidden.html new file mode 100644 index 0000000000000..7a67e1a52f745 --- /dev/null +++ b/LayoutTests/imported/w3c/web-platform-tests/fullscreen/rendering/exit-fullscreen-scroll-to-unscrollable-area-overflow-hidden.html @@ -0,0 +1,38 @@ + + + + + + + + + +
+
+ + + PASS if visually equal after exiting fullscreen (no scrolling has happened). +
+ + + + + + diff --git a/LayoutTests/imported/w3c/web-platform-tests/fullscreen/rendering/exit-fullscreen-scroll-to-unscrollable-area-overflow-x-hidden-expected.html b/LayoutTests/imported/w3c/web-platform-tests/fullscreen/rendering/exit-fullscreen-scroll-to-unscrollable-area-overflow-x-hidden-expected.html new file mode 100644 index 0000000000000..150b96f304b43 --- /dev/null +++ b/LayoutTests/imported/w3c/web-platform-tests/fullscreen/rendering/exit-fullscreen-scroll-to-unscrollable-area-overflow-x-hidden-expected.html @@ -0,0 +1,13 @@ + + + +
+
+ + PASS if visually equal after exiting fullscreen (no scrolling has happened). +
+ + + diff --git a/LayoutTests/imported/w3c/web-platform-tests/fullscreen/rendering/exit-fullscreen-scroll-to-unscrollable-area-overflow-x-hidden-ref.html b/LayoutTests/imported/w3c/web-platform-tests/fullscreen/rendering/exit-fullscreen-scroll-to-unscrollable-area-overflow-x-hidden-ref.html new file mode 100644 index 0000000000000..150b96f304b43 --- /dev/null +++ b/LayoutTests/imported/w3c/web-platform-tests/fullscreen/rendering/exit-fullscreen-scroll-to-unscrollable-area-overflow-x-hidden-ref.html @@ -0,0 +1,13 @@ + + + +
+
+ + PASS if visually equal after exiting fullscreen (no scrolling has happened). +
+ + + diff --git a/LayoutTests/imported/w3c/web-platform-tests/fullscreen/rendering/exit-fullscreen-scroll-to-unscrollable-area-overflow-x-hidden.html b/LayoutTests/imported/w3c/web-platform-tests/fullscreen/rendering/exit-fullscreen-scroll-to-unscrollable-area-overflow-x-hidden.html new file mode 100644 index 0000000000000..62c5594164806 --- /dev/null +++ b/LayoutTests/imported/w3c/web-platform-tests/fullscreen/rendering/exit-fullscreen-scroll-to-unscrollable-area-overflow-x-hidden.html @@ -0,0 +1,39 @@ + + + + + + + + + + +
+
+ + + PASS if visually equal after exiting fullscreen (no scrolling has happened). +
+ + + + + + diff --git a/LayoutTests/imported/w3c/web-platform-tests/html/dom/idlharness.https_exclude=(Document_Window_HTML._)-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/html/dom/idlharness.https_exclude=(Document_Window_HTML._)-expected.txt index 0ad3303f29361..96bdfef3e7c63 100644 --- a/LayoutTests/imported/w3c/web-platform-tests/html/dom/idlharness.https_exclude=(Document_Window_HTML._)-expected.txt +++ b/LayoutTests/imported/w3c/web-platform-tests/html/dom/idlharness.https_exclude=(Document_Window_HTML._)-expected.txt @@ -982,6 +982,7 @@ PASS NavigationTransition interface: existence and properties of interface proto PASS NavigationTransition interface: existence and properties of interface prototype object's @@unscopables property PASS NavigationTransition interface: attribute navigationType PASS NavigationTransition interface: attribute from +FAIL NavigationTransition interface: attribute committed assert_true: The prototype object must have a property "committed" expected true got false PASS NavigationTransition interface: attribute finished PASS NavigationActivation interface: existence and properties of interface object PASS NavigationActivation interface object length @@ -1011,6 +1012,13 @@ PASS NavigateEvent interface: attribute hasUAVisualTransition PASS NavigateEvent interface: attribute sourceElement PASS NavigateEvent interface: operation intercept(optional NavigationInterceptOptions) PASS NavigateEvent interface: operation scroll() +FAIL NavigationPrecommitController interface: existence and properties of interface object assert_own_property: self does not have own property "NavigationPrecommitController" expected property "NavigationPrecommitController" missing +FAIL NavigationPrecommitController interface object length assert_own_property: self does not have own property "NavigationPrecommitController" expected property "NavigationPrecommitController" missing +FAIL NavigationPrecommitController interface object name assert_own_property: self does not have own property "NavigationPrecommitController" expected property "NavigationPrecommitController" missing +FAIL NavigationPrecommitController interface: existence and properties of interface prototype object assert_own_property: self does not have own property "NavigationPrecommitController" expected property "NavigationPrecommitController" missing +FAIL NavigationPrecommitController interface: existence and properties of interface prototype object's "constructor" property assert_own_property: self does not have own property "NavigationPrecommitController" expected property "NavigationPrecommitController" missing +FAIL NavigationPrecommitController interface: existence and properties of interface prototype object's @@unscopables property assert_own_property: self does not have own property "NavigationPrecommitController" expected property "NavigationPrecommitController" missing +FAIL NavigationPrecommitController interface: operation redirect(USVString, optional NavigationNavigateOptions) assert_own_property: self does not have own property "NavigationPrecommitController" expected property "NavigationPrecommitController" missing PASS NavigationDestination interface: existence and properties of interface object PASS NavigationDestination interface object length PASS NavigationDestination interface object name diff --git a/LayoutTests/imported/w3c/web-platform-tests/html/dom/idlharness.https_include=HTML._-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/html/dom/idlharness.https_include=HTML._-expected.txt index 0869f3a91ce65..2f08b85ebb9bb 100644 --- a/LayoutTests/imported/w3c/web-platform-tests/html/dom/idlharness.https_include=HTML._-expected.txt +++ b/LayoutTests/imported/w3c/web-platform-tests/html/dom/idlharness.https_include=HTML._-expected.txt @@ -73,8 +73,8 @@ PASS HTMLStyleElement includes LinkStyle: member names are unique PASS HTMLBodyElement includes WindowEventHandlers: member names are unique PASS HTMLAnchorElement includes HTMLHyperlinkElementUtils: member names are unique PASS HTMLAreaElement includes HTMLHyperlinkElementUtils: member names are unique -PASS HTMLInputElement includes PopoverInvokerElement: member names are unique -PASS HTMLButtonElement includes PopoverInvokerElement: member names are unique +PASS HTMLInputElement includes PopoverTargetAttributes: member names are unique +PASS HTMLButtonElement includes PopoverTargetAttributes: member names are unique PASS HTMLFrameSetElement includes WindowEventHandlers: member names are unique PASS HTMLElement includes ElementCSSInlineStyle: member names are unique PASS HTMLAllCollection interface: existence and properties of interface object @@ -140,7 +140,7 @@ PASS HTMLElement interface: attribute accessKeyLabel PASS HTMLElement interface: attribute draggable PASS HTMLElement interface: attribute spellcheck FAIL HTMLElement interface: attribute writingSuggestions assert_true: The prototype object must have a property "writingSuggestions" expected true got false -FAIL HTMLElement interface: attribute autocapitalize assert_true: The prototype object must have a property "autocapitalize" expected true got false +PASS HTMLElement interface: attribute autocapitalize PASS HTMLElement interface: attribute autocorrect PASS HTMLElement interface: attribute innerText PASS HTMLElement interface: attribute outerText @@ -249,7 +249,7 @@ PASS HTMLElement interface: document.createElement("noscript") must inherit prop PASS HTMLElement interface: document.createElement("noscript") must inherit property "draggable" with the proper type PASS HTMLElement interface: document.createElement("noscript") must inherit property "spellcheck" with the proper type FAIL HTMLElement interface: document.createElement("noscript") must inherit property "writingSuggestions" with the proper type assert_inherits: property "writingSuggestions" not found in prototype chain -FAIL HTMLElement interface: document.createElement("noscript") must inherit property "autocapitalize" with the proper type assert_inherits: property "autocapitalize" not found in prototype chain +PASS HTMLElement interface: document.createElement("noscript") must inherit property "autocapitalize" with the proper type PASS HTMLElement interface: document.createElement("noscript") must inherit property "autocorrect" with the proper type PASS HTMLElement interface: document.createElement("noscript") must inherit property "innerText" with the proper type PASS HTMLElement interface: document.createElement("noscript") must inherit property "outerText" with the proper type @@ -3597,6 +3597,12 @@ PASS HTMLLegendElement must be primary interface of document.createElement("lege PASS Stringification of document.createElement("legend") PASS HTMLLegendElement interface: document.createElement("legend") must inherit property "form" with the proper type PASS HTMLLegendElement interface: document.createElement("legend") must inherit property "align" with the proper type +FAIL HTMLSelectedContentElement interface: existence and properties of interface object assert_own_property: self does not have own property "HTMLSelectedContentElement" expected property "HTMLSelectedContentElement" missing +FAIL HTMLSelectedContentElement interface object length assert_own_property: self does not have own property "HTMLSelectedContentElement" expected property "HTMLSelectedContentElement" missing +FAIL HTMLSelectedContentElement interface object name assert_own_property: self does not have own property "HTMLSelectedContentElement" expected property "HTMLSelectedContentElement" missing +FAIL HTMLSelectedContentElement interface: existence and properties of interface prototype object assert_own_property: self does not have own property "HTMLSelectedContentElement" expected property "HTMLSelectedContentElement" missing +FAIL HTMLSelectedContentElement interface: existence and properties of interface prototype object's "constructor" property assert_own_property: self does not have own property "HTMLSelectedContentElement" expected property "HTMLSelectedContentElement" missing +FAIL HTMLSelectedContentElement interface: existence and properties of interface prototype object's @@unscopables property assert_own_property: self does not have own property "HTMLSelectedContentElement" expected property "HTMLSelectedContentElement" missing PASS HTMLDetailsElement interface: existence and properties of interface object PASS HTMLDetailsElement interface object length PASS HTMLDetailsElement interface object name diff --git a/LayoutTests/imported/w3c/web-platform-tests/html/dom/idlharness.worker-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/html/dom/idlharness.worker-expected.txt index 62bbd14083f1f..979f98a30148b 100644 --- a/LayoutTests/imported/w3c/web-platform-tests/html/dom/idlharness.worker-expected.txt +++ b/LayoutTests/imported/w3c/web-platform-tests/html/dom/idlharness.worker-expected.txt @@ -94,8 +94,8 @@ PASS HTMLStyleElement includes LinkStyle: member names are unique PASS HTMLBodyElement includes WindowEventHandlers: member names are unique PASS HTMLAnchorElement includes HTMLHyperlinkElementUtils: member names are unique PASS HTMLAreaElement includes HTMLHyperlinkElementUtils: member names are unique -PASS HTMLInputElement includes PopoverInvokerElement: member names are unique -PASS HTMLButtonElement includes PopoverInvokerElement: member names are unique +PASS HTMLInputElement includes PopoverTargetAttributes: member names are unique +PASS HTMLButtonElement includes PopoverTargetAttributes: member names are unique PASS CanvasRenderingContext2D includes CanvasSettings: member names are unique PASS CanvasRenderingContext2D includes CanvasState: member names are unique PASS CanvasRenderingContext2D includes CanvasTransform: member names are unique @@ -253,6 +253,7 @@ PASS HTMLProgressElement interface: existence and properties of interface object PASS HTMLMeterElement interface: existence and properties of interface object PASS HTMLFieldSetElement interface: existence and properties of interface object PASS HTMLLegendElement interface: existence and properties of interface object +PASS HTMLSelectedContentElement interface: existence and properties of interface object PASS ValidityState interface: existence and properties of interface object PASS SubmitEvent interface: existence and properties of interface object PASS FormDataEvent interface: existence and properties of interface object @@ -442,6 +443,7 @@ PASS NavigationHistoryEntry interface: existence and properties of interface obj PASS NavigationTransition interface: existence and properties of interface object PASS NavigationActivation interface: existence and properties of interface object PASS NavigateEvent interface: existence and properties of interface object +PASS NavigationPrecommitController interface: existence and properties of interface object PASS NavigationDestination interface: existence and properties of interface object PASS NavigationCurrentEntryChangeEvent interface: existence and properties of interface object PASS PopStateEvent interface: existence and properties of interface object diff --git a/LayoutTests/imported/w3c/web-platform-tests/html/semantics/the-button-element/interest-target/idlharness.tentative-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/html/semantics/the-button-element/interest-target/idlharness.tentative-expected.txt index 0be50b0e7328a..26d2bd9c9f4cc 100644 --- a/LayoutTests/imported/w3c/web-platform-tests/html/semantics/the-button-element/interest-target/idlharness.tentative-expected.txt +++ b/LayoutTests/imported/w3c/web-platform-tests/html/semantics/the-button-element/interest-target/idlharness.tentative-expected.txt @@ -14,7 +14,7 @@ PASS HTMLElement includes ElementContentEditable: member names are unique PASS HTMLElement includes HTMLOrSVGElement: member names are unique PASS HTMLAnchorElement includes HTMLHyperlinkElementUtils: member names are unique PASS HTMLAreaElement includes HTMLHyperlinkElementUtils: member names are unique -PASS HTMLButtonElement includes PopoverInvokerElement: member names are unique +PASS HTMLButtonElement includes PopoverTargetAttributes: member names are unique PASS Element includes ParentNode: member names are unique PASS Element includes NonDocumentTypeChildNode: member names are unique PASS Element includes ChildNode: member names are unique diff --git a/LayoutTests/imported/w3c/web-platform-tests/html/syntax/parsing/html5lib_innerHTML_tests_innerHTML_1-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/html/syntax/parsing/html5lib_innerHTML_tests_innerHTML_1-expected.txt index a0c725de8c4fd..0e314905986b2 100644 --- a/LayoutTests/imported/w3c/web-platform-tests/html/syntax/parsing/html5lib_innerHTML_tests_innerHTML_1-expected.txt +++ b/LayoutTests/imported/w3c/web-platform-tests/html/syntax/parsing/html5lib_innerHTML_tests_innerHTML_1-expected.txt @@ -77,8 +77,8 @@ PASS html5lib_innerHTML_tests_innerHTML_1.html 9d5e0c25bfe921df9ea2897c027f42bc8 PASS html5lib_innerHTML_tests_innerHTML_1.html 9210d577d6deecf5ab3505af86c501c5befa0b50 PASS html5lib_innerHTML_tests_innerHTML_1.html c34af491c0a339db6ba63fcc478108533347319b FAIL html5lib_innerHTML_tests_innerHTML_1.html 2c4284e6b2bb480daa50bca43bcbe29cfcdeeab4 assert_equals: expected "#document\n| \n|