diff --git a/layout/reftests/font-face/reflow-sanity-1-data.html b/layout/reftests/font-face/reflow-sanity-1-data.html new file mode 100644 index 00000000000..84e4b3b319e --- /dev/null +++ b/layout/reftests/font-face/reflow-sanity-1-data.html @@ -0,0 +1,54 @@ + + + +test @font-face reflow sanity + + + + + +
+

A

+

B

+

C

+

D

+
+ + diff --git a/layout/reftests/font-face/reflow-sanity-1-ref.html b/layout/reftests/font-face/reflow-sanity-1-ref.html new file mode 100644 index 00000000000..c173a519b39 --- /dev/null +++ b/layout/reftests/font-face/reflow-sanity-1-ref.html @@ -0,0 +1,35 @@ + + + +test @font-face reflow sanity + + + + + +
+

A

+

A

+

A

+

A

+
+ + diff --git a/layout/reftests/font-face/reflow-sanity-1.html b/layout/reftests/font-face/reflow-sanity-1.html new file mode 100644 index 00000000000..2206483f3f3 --- /dev/null +++ b/layout/reftests/font-face/reflow-sanity-1.html @@ -0,0 +1,54 @@ + + + +test @font-face reflow sanity + + + + + +
+

A

+

B

+

C

+

D

+
+ + diff --git a/layout/reftests/font-face/reflow-sanity-delay-1-metrics.html b/layout/reftests/font-face/reflow-sanity-delay-1-metrics.html new file mode 100644 index 00000000000..0ea0d88951b --- /dev/null +++ b/layout/reftests/font-face/reflow-sanity-delay-1-metrics.html @@ -0,0 +1,54 @@ + + + +test @font-face reflow sanity + + + + + +
+

A

+

B

+

C

+

D

+
+ + diff --git a/layout/reftests/font-face/reflow-sanity-delay-1a.html b/layout/reftests/font-face/reflow-sanity-delay-1a.html new file mode 100644 index 00000000000..741a14a76f3 --- /dev/null +++ b/layout/reftests/font-face/reflow-sanity-delay-1a.html @@ -0,0 +1,54 @@ + + + +test @font-face reflow sanity + + + + + +
+

A

+

B

+

C

+

D

+
+ + diff --git a/layout/reftests/font-face/reflow-sanity-delay-1b.html b/layout/reftests/font-face/reflow-sanity-delay-1b.html new file mode 100644 index 00000000000..f49250c34a7 --- /dev/null +++ b/layout/reftests/font-face/reflow-sanity-delay-1b.html @@ -0,0 +1,54 @@ + + + +test @font-face reflow sanity + + + + + +
+

A

+

B

+

C

+

D

+
+ + diff --git a/layout/reftests/font-face/reflow-sanity-delay-1c.html b/layout/reftests/font-face/reflow-sanity-delay-1c.html new file mode 100644 index 00000000000..dd5e102083c --- /dev/null +++ b/layout/reftests/font-face/reflow-sanity-delay-1c.html @@ -0,0 +1,54 @@ + + + +test @font-face reflow sanity + + + + + +
+

A

+

B

+

C

+

D

+
+ + diff --git a/layout/reftests/font-face/reftest.list b/layout/reftests/font-face/reftest.list index 91b2b3ad6cc..73c69a7bd25 100644 --- a/layout/reftests/font-face/reftest.list +++ b/layout/reftests/font-face/reftest.list @@ -169,3 +169,12 @@ HTTP(..) != color-1a.html color-1-notref.html HTTP(..) == color-1b.html color-1-ref.html pref(gfx.downloadable_fonts.woff2.enabled,true) HTTP(..) == woff2-1.html woff2-1-ref.html + +# sanity tests for reflow behavior with downloadable fonts +HTTP(..) == reflow-sanity-1.html reflow-sanity-1-ref.html +HTTP(..) == reflow-sanity-1-data.html reflow-sanity-1-ref.html +HTTP(..) == reflow-sanity-1.html reflow-sanity-1-data.html +HTTP(..) == reflow-sanity-delay-1a.html reflow-sanity-1-ref.html +HTTP(..) == reflow-sanity-delay-1b.html reflow-sanity-1-ref.html +HTTP(..) == reflow-sanity-delay-1c.html reflow-sanity-1-ref.html +HTTP(..) == reflow-sanity-delay-1-metrics.html reflow-sanity-1-ref.html diff --git a/layout/reftests/fonts/markfonts-delay.sjs b/layout/reftests/fonts/markfonts-delay.sjs new file mode 100644 index 00000000000..574b1404dc2 --- /dev/null +++ b/layout/reftests/fonts/markfonts-delay.sjs @@ -0,0 +1,78 @@ + +/* Data dumped using python code from image/test/reftest/generic/check-header.sjs */ + +const markA_data = [ + 0x0, 0x1, 0x0, 0x0, 0x0, 0xD, 0x0, 0x80, 0x0, 0x3, 0x0, 0x50, 0x46, 0x46, 0x54, 0x4D, 0x4E, 0xAE, 0xE8, 0xC9, 0x0, 0x0, 0x5, 0xDC, 0x0, 0x0, 0x0, 0x1C, 0x4F, 0x53, 0x2F, 0x32, 0x56, 0x61, 0x64, 0xA, 0x0, 0x0, 0x1, 0x58, 0x0, 0x0, 0x0, 0x56, 0x63, 0x6D, 0x61, 0x70, 0x0, 0xF, 0x3, 0xEF, 0x0, 0x0, 0x1, 0xC0, 0x0, 0x0, 0x1, 0x42, 0x63, 0x76, 0x74, 0x20, 0x0, 0x21, 0x2, 0x79, 0x0, 0x0, 0x3, 0x4, 0x0, 0x0, 0x0, 0x4, 0x67, 0x61, 0x73, 0x70, 0xFF, 0xFF, 0x0, 0x3, 0x0, 0x0, 0x5, 0xD4, 0x0, 0x0, 0x0, 0x8, 0x67, 0x6C, 0x79, 0x66, 0x8, 0x2E, 0x9A, 0x4F, 0x0, 0x0, 0x3, 0x14, 0x0, 0x0, 0x0, 0x8C, 0x68, 0x65, 0x61, 0x64, 0xEF, 0x28, 0xA0, 0x17, 0x0, 0x0, 0x0, 0xDC, 0x0, 0x0, 0x0, 0x36, 0x68, 0x68, 0x65, 0x61, 0x8, 0x90, 0x5, 0x7D, 0x0, 0x0, 0x1, 0x14, 0x0, 0x0, 0x0, 0x24, 0x68, 0x6D, 0x74, 0x78, 0x11, 0x94, 0x0, 0x85, 0x0, 0x0, 0x1, 0xB0, 0x0, 0x0, 0x0, 0x10, 0x6C, 0x6F, 0x63, 0x61, 0x0, 0x70, 0x0, 0x54, 0x0, 0x0, 0x3, 0x8, 0x0, 0x0, 0x0, 0xA, 0x6D, 0x61, 0x78, 0x70, 0x0, 0x49, 0x0, 0x3D, 0x0, 0x0, 0x1, 0x38, 0x0, 0x0, 0x0, 0x20, 0x6E, 0x61, 0x6D, 0x65, 0x7A, 0x10, 0x15, 0x3A, 0x0, 0x0, 0x3, 0xA0, 0x0, 0x0, 0x2, 0x7, 0x70, 0x6F, 0x73, 0x74, 0xFF, 0xAE, 0x0, 0x35, 0x0, 0x0, 0x5, 0xA8, 0x0, 0x0, 0x0, 0x2A, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x32, 0x13, 0xF2, 0xB9, 0x5F, 0xF, 0x3C, 0xF5, 0x0, 0xB, 0x3, 0xE8, 0x0, 0x0, 0x0, 0x0, 0xC5, 0x38, 0x2E, 0x6D, 0x0, 0x0, 0x0, 0x0, 0xC5, 0x38, 0x2E, 0x6D, 0x0, 0x21, 0xFF, 0x9C, 0x5, 0x78, 0x2, 0xBC, 0x0, 0x0, 0x0, 0x8, 0x0, 0x2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x2, 0xBC, 0xFF, 0x9C, 0x0, 0x5A, 0x5, 0xDC, 0x0, 0x0, 0x0, 0x0, 0x5, 0x78, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0x0, 0x1, 0x0, 0x0, 0x0, 0x4, 0x0, 0xC, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x40, 0x0, 0x2E, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x5, 0xDC, 0x1, 0xF4, 0x0, 0x5, 0x0, 0x0, 0x2, 0x8A, 0x2, 0xBC, 0x0, 0x0, 0x0, 0x8C, 0x2, 0x8A, 0x2, 0xBC, 0x0, 0x0, 0x1, 0xE0, 0x0, 0x31, 0x1, 0x2, 0x0, 0x0, 0x2, 0x0, 0x6, 0x9, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x50, 0x66, 0x45, 0x64, 0x0, 0x40, 0x0, 0x41, 0x0, 0x41, 0x3, 0x20, 0xFF, 0x38, 0x0, 0x5A, 0x2, 0xBC, 0x0, 0x64, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5, 0xDC, 0x0, 0x21, 0x0, 0x0, 0x0, 0x0, 0x5, 0xDC, 0x0, 0x0, 0x5, 0xDC, 0x0, 0x64, 0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x1C, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3C, 0x0, 0x3, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1C, 0x0, 0x4, 0x0, 0x20, 0x0, 0x0, 0x0, 0x4, 0x0, 0x4, 0x0, 0x1, 0x0, 0x0, 0x0, 0x41, 0xFF, 0xFF, 0x0, 0x0, 0x0, 0x41, 0xFF, 0xFF, 0xFF, 0xC2, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x6, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x2, 0x0, 0x0, 0x0, 0x2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x21, 0x2, 0x79, 0x0, 0x0, 0x0, 0x2A, 0x0, 0x2A, 0x0, 0x2A, 0x0, 0x46, 0x0, 0x0, 0x0, 0x2, 0x0, 0x21, 0x0, 0x0, 0x1, 0x2A, 0x2, 0x9A, 0x0, 0x3, 0x0, 0x7, 0x0, 0x2E, 0xB1, 0x1, 0x0, 0x2F, 0x3C, 0xB2, 0x7, 0x4, 0x0, 0xED, 0x32, 0xB1, 0x6, 0x5, 0xDC, 0x3C, 0xB2, 0x3, 0x2, 0x0, 0xED, 0x32, 0x0, 0xB1, 0x3, 0x0, 0x2F, 0x3C, 0xB2, 0x5, 0x4, 0x0, 0xED, 0x32, 0xB2, 0x7, 0x6, 0x1, 0xFC, 0x3C, 0xB2, 0x1, 0x2, 0x0, 0xED, 0x32, 0x33, 0x11, 0x21, 0x11, 0x27, 0x33, 0x11, 0x23, 0x21, 0x1, 0x9, 0xE8, 0xC7, 0xC7, 0x2, 0x9A, 0xFD, 0x66, 0x21, 0x2, 0x58, 0x0, 0x0, 0x3, 0x0, 0x64, 0xFF, 0x9C, 0x5, 0x78, 0x2, 0xBC, 0x0, 0x3, 0x0, 0x7, 0x0, 0xB, 0x0, 0x0, 0x1, 0x35, 0x21, 0x15, 0x1, 0x35, 0x21, 0x15, 0x1, 0x35, 0x21, 0x15, 0x1, 0xF4, 0x1, 0xF4, 0xFD, 0x44, 0x3, 0x84, 0xFB, 0xB4, 0x5, 0x14, 0x1, 0xF4, 0xC8, 0xC8, 0xFE, 0xD4, 0xC8, 0xC8, 0xFE, 0xD4, 0xC8, 0xC8, 0x0, 0x0, 0x0, 0x0, 0x0, 0xE, 0x0, 0xAE, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x26, 0x0, 0x4E, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x5, 0x0, 0x81, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x6, 0x0, 0x95, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x21, 0x0, 0xE0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0x0, 0x5, 0x1, 0xE, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5, 0x0, 0x10, 0x1, 0x36, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6, 0x0, 0x5, 0x1, 0x53, 0x0, 0x3, 0x0, 0x1, 0x4, 0x9, 0x0, 0x0, 0x0, 0x4C, 0x0, 0x0, 0x0, 0x3, 0x0, 0x1, 0x4, 0x9, 0x0, 0x1, 0x0, 0xA, 0x0, 0x75, 0x0, 0x3, 0x0, 0x1, 0x4, 0x9, 0x0, 0x2, 0x0, 0xC, 0x0, 0x87, 0x0, 0x3, 0x0, 0x1, 0x4, 0x9, 0x0, 0x3, 0x0, 0x42, 0x0, 0x9C, 0x0, 0x3, 0x0, 0x1, 0x4, 0x9, 0x0, 0x4, 0x0, 0xA, 0x1, 0x2, 0x0, 0x3, 0x0, 0x1, 0x4, 0x9, 0x0, 0x5, 0x0, 0x20, 0x1, 0x14, 0x0, 0x3, 0x0, 0x1, 0x4, 0x9, 0x0, 0x6, 0x0, 0xA, 0x1, 0x47, 0x0, 0x43, 0x0, 0x6F, 0x0, 0x70, 0x0, 0x79, 0x0, 0x72, 0x0, 0x69, 0x0, 0x67, 0x0, 0x68, 0x0, 0x74, 0x0, 0x20, 0x0, 0x28, 0x0, 0x63, 0x0, 0x29, 0x0, 0x20, 0x0, 0x32, 0x0, 0x30, 0x0, 0x30, 0x0, 0x38, 0x0, 0x20, 0x0, 0x4D, 0x0, 0x6F, 0x0, 0x7A, 0x0, 0x69, 0x0, 0x6C, 0x0, 0x6C, 0x0, 0x61, 0x0, 0x20, 0x0, 0x43, 0x0, 0x6F, 0x0, 0x72, 0x0, 0x70, 0x0, 0x6F, 0x0, 0x72, 0x0, 0x61, 0x0, 0x74, 0x0, 0x69, 0x0, 0x6F, 0x0, 0x6E, 0x0, 0x0, 0x43, 0x6F, 0x70, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x20, 0x28, 0x63, 0x29, 0x20, 0x32, 0x30, 0x30, 0x38, 0x20, 0x4D, 0x6F, 0x7A, 0x69, 0x6C, 0x6C, 0x61, 0x20, 0x43, 0x6F, 0x72, 0x70, 0x6F, 0x72, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x0, 0x0, 0x4D, 0x0, 0x61, 0x0, 0x72, 0x0, 0x6B, 0x0, 0x41, 0x0, 0x0, 0x4D, 0x61, 0x72, 0x6B, 0x41, 0x0, 0x0, 0x4D, 0x0, 0x65, 0x0, 0x64, 0x0, 0x69, 0x0, 0x75, 0x0, 0x6D, 0x0, 0x0, 0x4D, 0x65, 0x64, 0x69, 0x75, 0x6D, 0x0, 0x0, 0x46, 0x0, 0x6F, 0x0, 0x6E, 0x0, 0x74, 0x0, 0x46, 0x0, 0x6F, 0x0, 0x72, 0x0, 0x67, 0x0, 0x65, 0x0, 0x20, 0x0, 0x32, 0x0, 0x2E, 0x0, 0x30, 0x0, 0x20, 0x0, 0x3A, 0x0, 0x20, 0x0, 0x4D, 0x0, 0x61, 0x0, 0x72, 0x0, 0x6B, 0x0, 0x41, 0x0, 0x20, 0x0, 0x3A, 0x0, 0x20, 0x0, 0x35, 0x0, 0x2D, 0x0, 0x31, 0x0, 0x31, 0x0, 0x2D, 0x0, 0x32, 0x0, 0x30, 0x0, 0x30, 0x0, 0x38, 0x0, 0x0, 0x46, 0x6F, 0x6E, 0x74, 0x46, 0x6F, 0x72, 0x67, 0x65, 0x20, 0x32, 0x2E, 0x30, 0x20, 0x3A, 0x20, 0x4D, 0x61, 0x72, 0x6B, 0x41, 0x20, 0x3A, 0x20, 0x35, 0x2D, 0x31, 0x31, 0x2D, 0x32, 0x30, 0x30, 0x38, 0x0, 0x0, 0x4D, 0x0, 0x61, 0x0, 0x72, 0x0, 0x6B, 0x0, 0x41, 0x0, 0x0, 0x4D, 0x61, 0x72, 0x6B, 0x41, 0x0, 0x0, 0x56, 0x0, 0x65, 0x0, 0x72, 0x0, 0x73, 0x0, 0x69, 0x0, 0x6F, 0x0, 0x6E, 0x0, 0x20, 0x0, 0x30, 0x0, 0x30, 0x0, 0x31, 0x0, 0x2E, 0x0, 0x30, 0x0, 0x30, 0x0, 0x30, 0x0, 0x20, 0x0, 0x0, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6F, 0x6E, 0x20, 0x30, 0x30, 0x31, 0x2E, 0x30, 0x30, 0x30, 0x20, 0x0, 0x0, 0x4D, 0x0, 0x61, 0x0, 0x72, 0x0, 0x6B, 0x0, 0x41, 0x0, 0x0, 0x4D, 0x61, 0x72, 0x6B, 0x41, 0x0, 0x0, 0x0, 0x2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFF, 0x83, 0x0, 0x32, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0x0, 0x0, 0x0, 0x1, 0x0, 0x2, 0x0, 0x24, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0xFF, 0xFF, 0x0, 0x2, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0xC4, 0x3E, 0x8B, 0xEE, 0x0, 0x0, 0x0, 0x0, 0xC5, 0x38, 0x2E, 0x6D, 0x0, 0x0, 0x0, 0x0, 0xC5, 0x38, 0x2E, 0x6D +]; + +const markB_data = [ + 0x0, 0x1, 0x0, 0x0, 0x0, 0xD, 0x0, 0x80, 0x0, 0x3, 0x0, 0x50, 0x46, 0x46, 0x54, 0x4D, 0x4E, 0xAE, 0xE8, 0xC9, 0x0, 0x0, 0x5, 0xDC, 0x0, 0x0, 0x0, 0x1C, 0x4F, 0x53, 0x2F, 0x32, 0x56, 0x62, 0x64, 0xB, 0x0, 0x0, 0x1, 0x58, 0x0, 0x0, 0x0, 0x56, 0x63, 0x6D, 0x61, 0x70, 0x3, 0xF, 0x3, 0xED, 0x0, 0x0, 0x1, 0xC0, 0x0, 0x0, 0x1, 0x42, 0x63, 0x76, 0x74, 0x20, 0x0, 0x21, 0x2, 0x79, 0x0, 0x0, 0x3, 0x4, 0x0, 0x0, 0x0, 0x4, 0x67, 0x61, 0x73, 0x70, 0xFF, 0xFF, 0x0, 0x3, 0x0, 0x0, 0x5, 0xD4, 0x0, 0x0, 0x0, 0x8, 0x67, 0x6C, 0x79, 0x66, 0x8, 0x2E, 0x9A, 0x4F, 0x0, 0x0, 0x3, 0x14, 0x0, 0x0, 0x0, 0x8C, 0x68, 0x65, 0x61, 0x64, 0xEF, 0x28, 0xA0, 0x17, 0x0, 0x0, 0x0, 0xDC, 0x0, 0x0, 0x0, 0x36, 0x68, 0x68, 0x65, 0x61, 0x8, 0x90, 0x5, 0x7D, 0x0, 0x0, 0x1, 0x14, 0x0, 0x0, 0x0, 0x24, 0x68, 0x6D, 0x74, 0x78, 0x11, 0x94, 0x0, 0x85, 0x0, 0x0, 0x1, 0xB0, 0x0, 0x0, 0x0, 0x10, 0x6C, 0x6F, 0x63, 0x61, 0x0, 0x70, 0x0, 0x54, 0x0, 0x0, 0x3, 0x8, 0x0, 0x0, 0x0, 0xA, 0x6D, 0x61, 0x78, 0x70, 0x0, 0x49, 0x0, 0x3D, 0x0, 0x0, 0x1, 0x38, 0x0, 0x0, 0x0, 0x20, 0x6E, 0x61, 0x6D, 0x65, 0x7C, 0x12, 0x17, 0x3C, 0x0, 0x0, 0x3, 0xA0, 0x0, 0x0, 0x2, 0x7, 0x70, 0x6F, 0x73, 0x74, 0xFF, 0xAF, 0x0, 0x35, 0x0, 0x0, 0x5, 0xA8, 0x0, 0x0, 0x0, 0x2A, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x28, 0xB, 0xEE, 0xB7, 0x5F, 0xF, 0x3C, 0xF5, 0x0, 0xB, 0x3, 0xE8, 0x0, 0x0, 0x0, 0x0, 0xC5, 0x38, 0x2E, 0x6D, 0x0, 0x0, 0x0, 0x0, 0xC5, 0x38, 0x2E, 0x6D, 0x0, 0x21, 0xFF, 0x9C, 0x5, 0x78, 0x2, 0xBC, 0x0, 0x0, 0x0, 0x8, 0x0, 0x2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x2, 0xBC, 0xFF, 0x9C, 0x0, 0x5A, 0x5, 0xDC, 0x0, 0x0, 0x0, 0x0, 0x5, 0x78, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0x0, 0x1, 0x0, 0x0, 0x0, 0x4, 0x0, 0xC, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x40, 0x0, 0x2E, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x5, 0xDC, 0x1, 0xF4, 0x0, 0x5, 0x0, 0x0, 0x2, 0x8A, 0x2, 0xBC, 0x0, 0x0, 0x0, 0x8C, 0x2, 0x8A, 0x2, 0xBC, 0x0, 0x0, 0x1, 0xE0, 0x0, 0x31, 0x1, 0x2, 0x0, 0x0, 0x2, 0x0, 0x6, 0x9, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x50, 0x66, 0x45, 0x64, 0x0, 0x40, 0x0, 0x42, 0x0, 0x42, 0x3, 0x20, 0xFF, 0x38, 0x0, 0x5A, 0x2, 0xBC, 0x0, 0x64, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5, 0xDC, 0x0, 0x21, 0x0, 0x0, 0x0, 0x0, 0x5, 0xDC, 0x0, 0x0, 0x5, 0xDC, 0x0, 0x64, 0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x1C, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3C, 0x0, 0x3, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1C, 0x0, 0x4, 0x0, 0x20, 0x0, 0x0, 0x0, 0x4, 0x0, 0x4, 0x0, 0x1, 0x0, 0x0, 0x0, 0x42, 0xFF, 0xFF, 0x0, 0x0, 0x0, 0x42, 0xFF, 0xFF, 0xFF, 0xC1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x6, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x2, 0x0, 0x0, 0x0, 0x2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x21, 0x2, 0x79, 0x0, 0x0, 0x0, 0x2A, 0x0, 0x2A, 0x0, 0x2A, 0x0, 0x46, 0x0, 0x0, 0x0, 0x2, 0x0, 0x21, 0x0, 0x0, 0x1, 0x2A, 0x2, 0x9A, 0x0, 0x3, 0x0, 0x7, 0x0, 0x2E, 0xB1, 0x1, 0x0, 0x2F, 0x3C, 0xB2, 0x7, 0x4, 0x0, 0xED, 0x32, 0xB1, 0x6, 0x5, 0xDC, 0x3C, 0xB2, 0x3, 0x2, 0x0, 0xED, 0x32, 0x0, 0xB1, 0x3, 0x0, 0x2F, 0x3C, 0xB2, 0x5, 0x4, 0x0, 0xED, 0x32, 0xB2, 0x7, 0x6, 0x1, 0xFC, 0x3C, 0xB2, 0x1, 0x2, 0x0, 0xED, 0x32, 0x33, 0x11, 0x21, 0x11, 0x27, 0x33, 0x11, 0x23, 0x21, 0x1, 0x9, 0xE8, 0xC7, 0xC7, 0x2, 0x9A, 0xFD, 0x66, 0x21, 0x2, 0x58, 0x0, 0x0, 0x3, 0x0, 0x64, 0xFF, 0x9C, 0x5, 0x78, 0x2, 0xBC, 0x0, 0x3, 0x0, 0x7, 0x0, 0xB, 0x0, 0x0, 0x1, 0x35, 0x21, 0x15, 0x1, 0x35, 0x21, 0x15, 0x1, 0x35, 0x21, 0x15, 0x1, 0xF4, 0x1, 0xF4, 0xFD, 0x44, 0x3, 0x84, 0xFB, 0xB4, 0x5, 0x14, 0x1, 0xF4, 0xC8, 0xC8, 0xFE, 0xD4, 0xC8, 0xC8, 0xFE, 0xD4, 0xC8, 0xC8, 0x0, 0x0, 0x0, 0x0, 0x0, 0xE, 0x0, 0xAE, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x26, 0x0, 0x4E, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x5, 0x0, 0x81, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x6, 0x0, 0x95, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x21, 0x0, 0xE0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0x0, 0x5, 0x1, 0xE, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5, 0x0, 0x10, 0x1, 0x36, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6, 0x0, 0x5, 0x1, 0x53, 0x0, 0x3, 0x0, 0x1, 0x4, 0x9, 0x0, 0x0, 0x0, 0x4C, 0x0, 0x0, 0x0, 0x3, 0x0, 0x1, 0x4, 0x9, 0x0, 0x1, 0x0, 0xA, 0x0, 0x75, 0x0, 0x3, 0x0, 0x1, 0x4, 0x9, 0x0, 0x2, 0x0, 0xC, 0x0, 0x87, 0x0, 0x3, 0x0, 0x1, 0x4, 0x9, 0x0, 0x3, 0x0, 0x42, 0x0, 0x9C, 0x0, 0x3, 0x0, 0x1, 0x4, 0x9, 0x0, 0x4, 0x0, 0xA, 0x1, 0x2, 0x0, 0x3, 0x0, 0x1, 0x4, 0x9, 0x0, 0x5, 0x0, 0x20, 0x1, 0x14, 0x0, 0x3, 0x0, 0x1, 0x4, 0x9, 0x0, 0x6, 0x0, 0xA, 0x1, 0x47, 0x0, 0x43, 0x0, 0x6F, 0x0, 0x70, 0x0, 0x79, 0x0, 0x72, 0x0, 0x69, 0x0, 0x67, 0x0, 0x68, 0x0, 0x74, 0x0, 0x20, 0x0, 0x28, 0x0, 0x63, 0x0, 0x29, 0x0, 0x20, 0x0, 0x32, 0x0, 0x30, 0x0, 0x30, 0x0, 0x38, 0x0, 0x20, 0x0, 0x4D, 0x0, 0x6F, 0x0, 0x7A, 0x0, 0x69, 0x0, 0x6C, 0x0, 0x6C, 0x0, 0x61, 0x0, 0x20, 0x0, 0x43, 0x0, 0x6F, 0x0, 0x72, 0x0, 0x70, 0x0, 0x6F, 0x0, 0x72, 0x0, 0x61, 0x0, 0x74, 0x0, 0x69, 0x0, 0x6F, 0x0, 0x6E, 0x0, 0x0, 0x43, 0x6F, 0x70, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x20, 0x28, 0x63, 0x29, 0x20, 0x32, 0x30, 0x30, 0x38, 0x20, 0x4D, 0x6F, 0x7A, 0x69, 0x6C, 0x6C, 0x61, 0x20, 0x43, 0x6F, 0x72, 0x70, 0x6F, 0x72, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x0, 0x0, 0x4D, 0x0, 0x61, 0x0, 0x72, 0x0, 0x6B, 0x0, 0x42, 0x0, 0x0, 0x4D, 0x61, 0x72, 0x6B, 0x42, 0x0, 0x0, 0x4D, 0x0, 0x65, 0x0, 0x64, 0x0, 0x69, 0x0, 0x75, 0x0, 0x6D, 0x0, 0x0, 0x4D, 0x65, 0x64, 0x69, 0x75, 0x6D, 0x0, 0x0, 0x46, 0x0, 0x6F, 0x0, 0x6E, 0x0, 0x74, 0x0, 0x46, 0x0, 0x6F, 0x0, 0x72, 0x0, 0x67, 0x0, 0x65, 0x0, 0x20, 0x0, 0x32, 0x0, 0x2E, 0x0, 0x30, 0x0, 0x20, 0x0, 0x3A, 0x0, 0x20, 0x0, 0x4D, 0x0, 0x61, 0x0, 0x72, 0x0, 0x6B, 0x0, 0x42, 0x0, 0x20, 0x0, 0x3A, 0x0, 0x20, 0x0, 0x35, 0x0, 0x2D, 0x0, 0x31, 0x0, 0x31, 0x0, 0x2D, 0x0, 0x32, 0x0, 0x30, 0x0, 0x30, 0x0, 0x38, 0x0, 0x0, 0x46, 0x6F, 0x6E, 0x74, 0x46, 0x6F, 0x72, 0x67, 0x65, 0x20, 0x32, 0x2E, 0x30, 0x20, 0x3A, 0x20, 0x4D, 0x61, 0x72, 0x6B, 0x42, 0x20, 0x3A, 0x20, 0x35, 0x2D, 0x31, 0x31, 0x2D, 0x32, 0x30, 0x30, 0x38, 0x0, 0x0, 0x4D, 0x0, 0x61, 0x0, 0x72, 0x0, 0x6B, 0x0, 0x42, 0x0, 0x0, 0x4D, 0x61, 0x72, 0x6B, 0x42, 0x0, 0x0, 0x56, 0x0, 0x65, 0x0, 0x72, 0x0, 0x73, 0x0, 0x69, 0x0, 0x6F, 0x0, 0x6E, 0x0, 0x20, 0x0, 0x30, 0x0, 0x30, 0x0, 0x31, 0x0, 0x2E, 0x0, 0x30, 0x0, 0x30, 0x0, 0x30, 0x0, 0x20, 0x0, 0x0, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6F, 0x6E, 0x20, 0x30, 0x30, 0x31, 0x2E, 0x30, 0x30, 0x30, 0x20, 0x0, 0x0, 0x4D, 0x0, 0x61, 0x0, 0x72, 0x0, 0x6B, 0x0, 0x42, 0x0, 0x0, 0x4D, 0x61, 0x72, 0x6B, 0x42, 0x0, 0x0, 0x0, 0x2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFF, 0x83, 0x0, 0x32, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0x0, 0x0, 0x0, 0x1, 0x0, 0x2, 0x0, 0x25, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0xFF, 0xFF, 0x0, 0x2, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0xC4, 0x3E, 0x8B, 0xEE, 0x0, 0x0, 0x0, 0x0, 0xC5, 0x38, 0x2E, 0x6D, 0x0, 0x0, 0x0, 0x0, 0xC5, 0x38, 0x2E, 0x6D +]; + +const markC_data = [ + 0x0, 0x1, 0x0, 0x0, 0x0, 0xD, 0x0, 0x80, 0x0, 0x3, 0x0, 0x50, 0x46, 0x46, 0x54, 0x4D, 0x4E, 0xAE, 0xE8, 0xC9, 0x0, 0x0, 0x5, 0xDC, 0x0, 0x0, 0x0, 0x1C, 0x4F, 0x53, 0x2F, 0x32, 0x56, 0x63, 0x64, 0xC, 0x0, 0x0, 0x1, 0x58, 0x0, 0x0, 0x0, 0x56, 0x63, 0x6D, 0x61, 0x70, 0x0, 0x12, 0x3, 0xEE, 0x0, 0x0, 0x1, 0xC0, 0x0, 0x0, 0x1, 0x42, 0x63, 0x76, 0x74, 0x20, 0x0, 0x21, 0x2, 0x79, 0x0, 0x0, 0x3, 0x4, 0x0, 0x0, 0x0, 0x4, 0x67, 0x61, 0x73, 0x70, 0xFF, 0xFF, 0x0, 0x3, 0x0, 0x0, 0x5, 0xD4, 0x0, 0x0, 0x0, 0x8, 0x67, 0x6C, 0x79, 0x66, 0x8, 0x2E, 0x9A, 0x4F, 0x0, 0x0, 0x3, 0x14, 0x0, 0x0, 0x0, 0x8C, 0x68, 0x65, 0x61, 0x64, 0xEF, 0x28, 0xA0, 0x17, 0x0, 0x0, 0x0, 0xDC, 0x0, 0x0, 0x0, 0x36, 0x68, 0x68, 0x65, 0x61, 0x8, 0x90, 0x5, 0x7D, 0x0, 0x0, 0x1, 0x14, 0x0, 0x0, 0x0, 0x24, 0x68, 0x6D, 0x74, 0x78, 0x11, 0x94, 0x0, 0x85, 0x0, 0x0, 0x1, 0xB0, 0x0, 0x0, 0x0, 0x10, 0x6C, 0x6F, 0x63, 0x61, 0x0, 0x70, 0x0, 0x54, 0x0, 0x0, 0x3, 0x8, 0x0, 0x0, 0x0, 0xA, 0x6D, 0x61, 0x78, 0x70, 0x0, 0x49, 0x0, 0x3D, 0x0, 0x0, 0x1, 0x38, 0x0, 0x0, 0x0, 0x20, 0x6E, 0x61, 0x6D, 0x65, 0x7E, 0x14, 0x19, 0x3E, 0x0, 0x0, 0x3, 0xA0, 0x0, 0x0, 0x2, 0x7, 0x70, 0x6F, 0x73, 0x74, 0xFF, 0xB0, 0x0, 0x35, 0x0, 0x0, 0x5, 0xA8, 0x0, 0x0, 0x0, 0x2A, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x29, 0xFD, 0xEA, 0xAF, 0x5F, 0xF, 0x3C, 0xF5, 0x0, 0xB, 0x3, 0xE8, 0x0, 0x0, 0x0, 0x0, 0xC5, 0x38, 0x2E, 0x6D, 0x0, 0x0, 0x0, 0x0, 0xC5, 0x38, 0x2E, 0x6D, 0x0, 0x21, 0xFF, 0x9C, 0x5, 0x78, 0x2, 0xBC, 0x0, 0x0, 0x0, 0x8, 0x0, 0x2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x2, 0xBC, 0xFF, 0x9C, 0x0, 0x5A, 0x5, 0xDC, 0x0, 0x0, 0x0, 0x0, 0x5, 0x78, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0x0, 0x1, 0x0, 0x0, 0x0, 0x4, 0x0, 0xC, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x40, 0x0, 0x2E, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x5, 0xDC, 0x1, 0xF4, 0x0, 0x5, 0x0, 0x0, 0x2, 0x8A, 0x2, 0xBC, 0x0, 0x0, 0x0, 0x8C, 0x2, 0x8A, 0x2, 0xBC, 0x0, 0x0, 0x1, 0xE0, 0x0, 0x31, 0x1, 0x2, 0x0, 0x0, 0x2, 0x0, 0x6, 0x9, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x50, 0x66, 0x45, 0x64, 0x0, 0x40, 0x0, 0x43, 0x0, 0x43, 0x3, 0x20, 0xFF, 0x38, 0x0, 0x5A, 0x2, 0xBC, 0x0, 0x64, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5, 0xDC, 0x0, 0x21, 0x0, 0x0, 0x0, 0x0, 0x5, 0xDC, 0x0, 0x0, 0x5, 0xDC, 0x0, 0x64, 0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x1C, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3C, 0x0, 0x3, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1C, 0x0, 0x4, 0x0, 0x20, 0x0, 0x0, 0x0, 0x4, 0x0, 0x4, 0x0, 0x1, 0x0, 0x0, 0x0, 0x43, 0xFF, 0xFF, 0x0, 0x0, 0x0, 0x43, 0xFF, 0xFF, 0xFF, 0xC0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x6, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x2, 0x0, 0x0, 0x0, 0x2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x21, 0x2, 0x79, 0x0, 0x0, 0x0, 0x2A, 0x0, 0x2A, 0x0, 0x2A, 0x0, 0x46, 0x0, 0x0, 0x0, 0x2, 0x0, 0x21, 0x0, 0x0, 0x1, 0x2A, 0x2, 0x9A, 0x0, 0x3, 0x0, 0x7, 0x0, 0x2E, 0xB1, 0x1, 0x0, 0x2F, 0x3C, 0xB2, 0x7, 0x4, 0x0, 0xED, 0x32, 0xB1, 0x6, 0x5, 0xDC, 0x3C, 0xB2, 0x3, 0x2, 0x0, 0xED, 0x32, 0x0, 0xB1, 0x3, 0x0, 0x2F, 0x3C, 0xB2, 0x5, 0x4, 0x0, 0xED, 0x32, 0xB2, 0x7, 0x6, 0x1, 0xFC, 0x3C, 0xB2, 0x1, 0x2, 0x0, 0xED, 0x32, 0x33, 0x11, 0x21, 0x11, 0x27, 0x33, 0x11, 0x23, 0x21, 0x1, 0x9, 0xE8, 0xC7, 0xC7, 0x2, 0x9A, 0xFD, 0x66, 0x21, 0x2, 0x58, 0x0, 0x0, 0x3, 0x0, 0x64, 0xFF, 0x9C, 0x5, 0x78, 0x2, 0xBC, 0x0, 0x3, 0x0, 0x7, 0x0, 0xB, 0x0, 0x0, 0x1, 0x35, 0x21, 0x15, 0x1, 0x35, 0x21, 0x15, 0x1, 0x35, 0x21, 0x15, 0x1, 0xF4, 0x1, 0xF4, 0xFD, 0x44, 0x3, 0x84, 0xFB, 0xB4, 0x5, 0x14, 0x1, 0xF4, 0xC8, 0xC8, 0xFE, 0xD4, 0xC8, 0xC8, 0xFE, 0xD4, 0xC8, 0xC8, 0x0, 0x0, 0x0, 0x0, 0x0, 0xE, 0x0, 0xAE, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x26, 0x0, 0x4E, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x5, 0x0, 0x81, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x6, 0x0, 0x95, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x21, 0x0, 0xE0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0x0, 0x5, 0x1, 0xE, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5, 0x0, 0x10, 0x1, 0x36, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6, 0x0, 0x5, 0x1, 0x53, 0x0, 0x3, 0x0, 0x1, 0x4, 0x9, 0x0, 0x0, 0x0, 0x4C, 0x0, 0x0, 0x0, 0x3, 0x0, 0x1, 0x4, 0x9, 0x0, 0x1, 0x0, 0xA, 0x0, 0x75, 0x0, 0x3, 0x0, 0x1, 0x4, 0x9, 0x0, 0x2, 0x0, 0xC, 0x0, 0x87, 0x0, 0x3, 0x0, 0x1, 0x4, 0x9, 0x0, 0x3, 0x0, 0x42, 0x0, 0x9C, 0x0, 0x3, 0x0, 0x1, 0x4, 0x9, 0x0, 0x4, 0x0, 0xA, 0x1, 0x2, 0x0, 0x3, 0x0, 0x1, 0x4, 0x9, 0x0, 0x5, 0x0, 0x20, 0x1, 0x14, 0x0, 0x3, 0x0, 0x1, 0x4, 0x9, 0x0, 0x6, 0x0, 0xA, 0x1, 0x47, 0x0, 0x43, 0x0, 0x6F, 0x0, 0x70, 0x0, 0x79, 0x0, 0x72, 0x0, 0x69, 0x0, 0x67, 0x0, 0x68, 0x0, 0x74, 0x0, 0x20, 0x0, 0x28, 0x0, 0x63, 0x0, 0x29, 0x0, 0x20, 0x0, 0x32, 0x0, 0x30, 0x0, 0x30, 0x0, 0x38, 0x0, 0x20, 0x0, 0x4D, 0x0, 0x6F, 0x0, 0x7A, 0x0, 0x69, 0x0, 0x6C, 0x0, 0x6C, 0x0, 0x61, 0x0, 0x20, 0x0, 0x43, 0x0, 0x6F, 0x0, 0x72, 0x0, 0x70, 0x0, 0x6F, 0x0, 0x72, 0x0, 0x61, 0x0, 0x74, 0x0, 0x69, 0x0, 0x6F, 0x0, 0x6E, 0x0, 0x0, 0x43, 0x6F, 0x70, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x20, 0x28, 0x63, 0x29, 0x20, 0x32, 0x30, 0x30, 0x38, 0x20, 0x4D, 0x6F, 0x7A, 0x69, 0x6C, 0x6C, 0x61, 0x20, 0x43, 0x6F, 0x72, 0x70, 0x6F, 0x72, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x0, 0x0, 0x4D, 0x0, 0x61, 0x0, 0x72, 0x0, 0x6B, 0x0, 0x43, 0x0, 0x0, 0x4D, 0x61, 0x72, 0x6B, 0x43, 0x0, 0x0, 0x4D, 0x0, 0x65, 0x0, 0x64, 0x0, 0x69, 0x0, 0x75, 0x0, 0x6D, 0x0, 0x0, 0x4D, 0x65, 0x64, 0x69, 0x75, 0x6D, 0x0, 0x0, 0x46, 0x0, 0x6F, 0x0, 0x6E, 0x0, 0x74, 0x0, 0x46, 0x0, 0x6F, 0x0, 0x72, 0x0, 0x67, 0x0, 0x65, 0x0, 0x20, 0x0, 0x32, 0x0, 0x2E, 0x0, 0x30, 0x0, 0x20, 0x0, 0x3A, 0x0, 0x20, 0x0, 0x4D, 0x0, 0x61, 0x0, 0x72, 0x0, 0x6B, 0x0, 0x43, 0x0, 0x20, 0x0, 0x3A, 0x0, 0x20, 0x0, 0x35, 0x0, 0x2D, 0x0, 0x31, 0x0, 0x31, 0x0, 0x2D, 0x0, 0x32, 0x0, 0x30, 0x0, 0x30, 0x0, 0x38, 0x0, 0x0, 0x46, 0x6F, 0x6E, 0x74, 0x46, 0x6F, 0x72, 0x67, 0x65, 0x20, 0x32, 0x2E, 0x30, 0x20, 0x3A, 0x20, 0x4D, 0x61, 0x72, 0x6B, 0x43, 0x20, 0x3A, 0x20, 0x35, 0x2D, 0x31, 0x31, 0x2D, 0x32, 0x30, 0x30, 0x38, 0x0, 0x0, 0x4D, 0x0, 0x61, 0x0, 0x72, 0x0, 0x6B, 0x0, 0x43, 0x0, 0x0, 0x4D, 0x61, 0x72, 0x6B, 0x43, 0x0, 0x0, 0x56, 0x0, 0x65, 0x0, 0x72, 0x0, 0x73, 0x0, 0x69, 0x0, 0x6F, 0x0, 0x6E, 0x0, 0x20, 0x0, 0x30, 0x0, 0x30, 0x0, 0x31, 0x0, 0x2E, 0x0, 0x30, 0x0, 0x30, 0x0, 0x30, 0x0, 0x20, 0x0, 0x0, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6F, 0x6E, 0x20, 0x30, 0x30, 0x31, 0x2E, 0x30, 0x30, 0x30, 0x20, 0x0, 0x0, 0x4D, 0x0, 0x61, 0x0, 0x72, 0x0, 0x6B, 0x0, 0x43, 0x0, 0x0, 0x4D, 0x61, 0x72, 0x6B, 0x43, 0x0, 0x0, 0x0, 0x2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFF, 0x83, 0x0, 0x32, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0x0, 0x0, 0x0, 0x1, 0x0, 0x2, 0x0, 0x26, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0xFF, 0xFF, 0x0, 0x2, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0xC4, 0x3E, 0x8B, 0xEE, 0x0, 0x0, 0x0, 0x0, 0xC5, 0x38, 0x2E, 0x6D, 0x0, 0x0, 0x0, 0x0, 0xC5, 0x38, 0x2E, 0x6D +]; + +const markD_data = [ + 0x0, 0x1, 0x0, 0x0, 0x0, 0xD, 0x0, 0x80, 0x0, 0x3, 0x0, 0x50, 0x46, 0x46, 0x54, 0x4D, 0x4E, 0xAE, 0xE8, 0xC9, 0x0, 0x0, 0x5, 0xDC, 0x0, 0x0, 0x0, 0x1C, 0x4F, 0x53, 0x2F, 0x32, 0x56, 0x64, 0x64, 0xD, 0x0, 0x0, 0x1, 0x58, 0x0, 0x0, 0x0, 0x56, 0x63, 0x6D, 0x61, 0x70, 0x0, 0xF, 0x6, 0xEF, 0x0, 0x0, 0x1, 0xC0, 0x0, 0x0, 0x1, 0x42, 0x63, 0x76, 0x74, 0x20, 0x0, 0x21, 0x2, 0x79, 0x0, 0x0, 0x3, 0x4, 0x0, 0x0, 0x0, 0x4, 0x67, 0x61, 0x73, 0x70, 0xFF, 0xFF, 0x0, 0x3, 0x0, 0x0, 0x5, 0xD4, 0x0, 0x0, 0x0, 0x8, 0x67, 0x6C, 0x79, 0x66, 0x8, 0x2E, 0x9A, 0x4F, 0x0, 0x0, 0x3, 0x14, 0x0, 0x0, 0x0, 0x8C, 0x68, 0x65, 0x61, 0x64, 0xEF, 0x28, 0xA0, 0x17, 0x0, 0x0, 0x0, 0xDC, 0x0, 0x0, 0x0, 0x36, 0x68, 0x68, 0x65, 0x61, 0x8, 0x90, 0x5, 0x7D, 0x0, 0x0, 0x1, 0x14, 0x0, 0x0, 0x0, 0x24, 0x68, 0x6D, 0x74, 0x78, 0x11, 0x94, 0x0, 0x85, 0x0, 0x0, 0x1, 0xB0, 0x0, 0x0, 0x0, 0x10, 0x6C, 0x6F, 0x63, 0x61, 0x0, 0x70, 0x0, 0x54, 0x0, 0x0, 0x3, 0x8, 0x0, 0x0, 0x0, 0xA, 0x6D, 0x61, 0x78, 0x70, 0x0, 0x49, 0x0, 0x3D, 0x0, 0x0, 0x1, 0x38, 0x0, 0x0, 0x0, 0x20, 0x6E, 0x61, 0x6D, 0x65, 0x80, 0x16, 0x1B, 0x40, 0x0, 0x0, 0x3, 0xA0, 0x0, 0x0, 0x2, 0x7, 0x70, 0x6F, 0x73, 0x74, 0xFF, 0xB1, 0x0, 0x35, 0x0, 0x0, 0x5, 0xA8, 0x0, 0x0, 0x0, 0x2A, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x25, 0xFB, 0xE0, 0xA7, 0x5F, 0xF, 0x3C, 0xF5, 0x0, 0xB, 0x3, 0xE8, 0x0, 0x0, 0x0, 0x0, 0xC5, 0x38, 0x2E, 0x6D, 0x0, 0x0, 0x0, 0x0, 0xC5, 0x38, 0x2E, 0x6D, 0x0, 0x21, 0xFF, 0x9C, 0x5, 0x78, 0x2, 0xBC, 0x0, 0x0, 0x0, 0x8, 0x0, 0x2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x2, 0xBC, 0xFF, 0x9C, 0x0, 0x5A, 0x5, 0xDC, 0x0, 0x0, 0x0, 0x0, 0x5, 0x78, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0x0, 0x1, 0x0, 0x0, 0x0, 0x4, 0x0, 0xC, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x40, 0x0, 0x2E, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x5, 0xDC, 0x1, 0xF4, 0x0, 0x5, 0x0, 0x0, 0x2, 0x8A, 0x2, 0xBC, 0x0, 0x0, 0x0, 0x8C, 0x2, 0x8A, 0x2, 0xBC, 0x0, 0x0, 0x1, 0xE0, 0x0, 0x31, 0x1, 0x2, 0x0, 0x0, 0x2, 0x0, 0x6, 0x9, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x50, 0x66, 0x45, 0x64, 0x0, 0x40, 0x0, 0x44, 0x0, 0x44, 0x3, 0x20, 0xFF, 0x38, 0x0, 0x5A, 0x2, 0xBC, 0x0, 0x64, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5, 0xDC, 0x0, 0x21, 0x0, 0x0, 0x0, 0x0, 0x5, 0xDC, 0x0, 0x0, 0x5, 0xDC, 0x0, 0x64, 0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x1C, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3C, 0x0, 0x3, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1C, 0x0, 0x4, 0x0, 0x20, 0x0, 0x0, 0x0, 0x4, 0x0, 0x4, 0x0, 0x1, 0x0, 0x0, 0x0, 0x44, 0xFF, 0xFF, 0x0, 0x0, 0x0, 0x44, 0xFF, 0xFF, 0xFF, 0xBF, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x6, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x2, 0x0, 0x0, 0x0, 0x2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x21, 0x2, 0x79, 0x0, 0x0, 0x0, 0x2A, 0x0, 0x2A, 0x0, 0x2A, 0x0, 0x46, 0x0, 0x0, 0x0, 0x2, 0x0, 0x21, 0x0, 0x0, 0x1, 0x2A, 0x2, 0x9A, 0x0, 0x3, 0x0, 0x7, 0x0, 0x2E, 0xB1, 0x1, 0x0, 0x2F, 0x3C, 0xB2, 0x7, 0x4, 0x0, 0xED, 0x32, 0xB1, 0x6, 0x5, 0xDC, 0x3C, 0xB2, 0x3, 0x2, 0x0, 0xED, 0x32, 0x0, 0xB1, 0x3, 0x0, 0x2F, 0x3C, 0xB2, 0x5, 0x4, 0x0, 0xED, 0x32, 0xB2, 0x7, 0x6, 0x1, 0xFC, 0x3C, 0xB2, 0x1, 0x2, 0x0, 0xED, 0x32, 0x33, 0x11, 0x21, 0x11, 0x27, 0x33, 0x11, 0x23, 0x21, 0x1, 0x9, 0xE8, 0xC7, 0xC7, 0x2, 0x9A, 0xFD, 0x66, 0x21, 0x2, 0x58, 0x0, 0x0, 0x3, 0x0, 0x64, 0xFF, 0x9C, 0x5, 0x78, 0x2, 0xBC, 0x0, 0x3, 0x0, 0x7, 0x0, 0xB, 0x0, 0x0, 0x1, 0x35, 0x21, 0x15, 0x1, 0x35, 0x21, 0x15, 0x1, 0x35, 0x21, 0x15, 0x1, 0xF4, 0x1, 0xF4, 0xFD, 0x44, 0x3, 0x84, 0xFB, 0xB4, 0x5, 0x14, 0x1, 0xF4, 0xC8, 0xC8, 0xFE, 0xD4, 0xC8, 0xC8, 0xFE, 0xD4, 0xC8, 0xC8, 0x0, 0x0, 0x0, 0x0, 0x0, 0xE, 0x0, 0xAE, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x26, 0x0, 0x4E, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x5, 0x0, 0x81, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x6, 0x0, 0x95, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x21, 0x0, 0xE0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0x0, 0x5, 0x1, 0xE, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5, 0x0, 0x10, 0x1, 0x36, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6, 0x0, 0x5, 0x1, 0x53, 0x0, 0x3, 0x0, 0x1, 0x4, 0x9, 0x0, 0x0, 0x0, 0x4C, 0x0, 0x0, 0x0, 0x3, 0x0, 0x1, 0x4, 0x9, 0x0, 0x1, 0x0, 0xA, 0x0, 0x75, 0x0, 0x3, 0x0, 0x1, 0x4, 0x9, 0x0, 0x2, 0x0, 0xC, 0x0, 0x87, 0x0, 0x3, 0x0, 0x1, 0x4, 0x9, 0x0, 0x3, 0x0, 0x42, 0x0, 0x9C, 0x0, 0x3, 0x0, 0x1, 0x4, 0x9, 0x0, 0x4, 0x0, 0xA, 0x1, 0x2, 0x0, 0x3, 0x0, 0x1, 0x4, 0x9, 0x0, 0x5, 0x0, 0x20, 0x1, 0x14, 0x0, 0x3, 0x0, 0x1, 0x4, 0x9, 0x0, 0x6, 0x0, 0xA, 0x1, 0x47, 0x0, 0x43, 0x0, 0x6F, 0x0, 0x70, 0x0, 0x79, 0x0, 0x72, 0x0, 0x69, 0x0, 0x67, 0x0, 0x68, 0x0, 0x74, 0x0, 0x20, 0x0, 0x28, 0x0, 0x63, 0x0, 0x29, 0x0, 0x20, 0x0, 0x32, 0x0, 0x30, 0x0, 0x30, 0x0, 0x38, 0x0, 0x20, 0x0, 0x4D, 0x0, 0x6F, 0x0, 0x7A, 0x0, 0x69, 0x0, 0x6C, 0x0, 0x6C, 0x0, 0x61, 0x0, 0x20, 0x0, 0x43, 0x0, 0x6F, 0x0, 0x72, 0x0, 0x70, 0x0, 0x6F, 0x0, 0x72, 0x0, 0x61, 0x0, 0x74, 0x0, 0x69, 0x0, 0x6F, 0x0, 0x6E, 0x0, 0x0, 0x43, 0x6F, 0x70, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x20, 0x28, 0x63, 0x29, 0x20, 0x32, 0x30, 0x30, 0x38, 0x20, 0x4D, 0x6F, 0x7A, 0x69, 0x6C, 0x6C, 0x61, 0x20, 0x43, 0x6F, 0x72, 0x70, 0x6F, 0x72, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x0, 0x0, 0x4D, 0x0, 0x61, 0x0, 0x72, 0x0, 0x6B, 0x0, 0x44, 0x0, 0x0, 0x4D, 0x61, 0x72, 0x6B, 0x44, 0x0, 0x0, 0x4D, 0x0, 0x65, 0x0, 0x64, 0x0, 0x69, 0x0, 0x75, 0x0, 0x6D, 0x0, 0x0, 0x4D, 0x65, 0x64, 0x69, 0x75, 0x6D, 0x0, 0x0, 0x46, 0x0, 0x6F, 0x0, 0x6E, 0x0, 0x74, 0x0, 0x46, 0x0, 0x6F, 0x0, 0x72, 0x0, 0x67, 0x0, 0x65, 0x0, 0x20, 0x0, 0x32, 0x0, 0x2E, 0x0, 0x30, 0x0, 0x20, 0x0, 0x3A, 0x0, 0x20, 0x0, 0x4D, 0x0, 0x61, 0x0, 0x72, 0x0, 0x6B, 0x0, 0x44, 0x0, 0x20, 0x0, 0x3A, 0x0, 0x20, 0x0, 0x35, 0x0, 0x2D, 0x0, 0x31, 0x0, 0x31, 0x0, 0x2D, 0x0, 0x32, 0x0, 0x30, 0x0, 0x30, 0x0, 0x38, 0x0, 0x0, 0x46, 0x6F, 0x6E, 0x74, 0x46, 0x6F, 0x72, 0x67, 0x65, 0x20, 0x32, 0x2E, 0x30, 0x20, 0x3A, 0x20, 0x4D, 0x61, 0x72, 0x6B, 0x44, 0x20, 0x3A, 0x20, 0x35, 0x2D, 0x31, 0x31, 0x2D, 0x32, 0x30, 0x30, 0x38, 0x0, 0x0, 0x4D, 0x0, 0x61, 0x0, 0x72, 0x0, 0x6B, 0x0, 0x44, 0x0, 0x0, 0x4D, 0x61, 0x72, 0x6B, 0x44, 0x0, 0x0, 0x56, 0x0, 0x65, 0x0, 0x72, 0x0, 0x73, 0x0, 0x69, 0x0, 0x6F, 0x0, 0x6E, 0x0, 0x20, 0x0, 0x30, 0x0, 0x30, 0x0, 0x31, 0x0, 0x2E, 0x0, 0x30, 0x0, 0x30, 0x0, 0x30, 0x0, 0x20, 0x0, 0x0, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6F, 0x6E, 0x20, 0x30, 0x30, 0x31, 0x2E, 0x30, 0x30, 0x30, 0x20, 0x0, 0x0, 0x4D, 0x0, 0x61, 0x0, 0x72, 0x0, 0x6B, 0x0, 0x44, 0x0, 0x0, 0x4D, 0x61, 0x72, 0x6B, 0x44, 0x0, 0x0, 0x0, 0x2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFF, 0x83, 0x0, 0x32, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0x0, 0x0, 0x0, 0x1, 0x0, 0x2, 0x0, 0x27, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0xFF, 0xFF, 0x0, 0x2, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0xC4, 0x3E, 0x8B, 0xEE, 0x0, 0x0, 0x0, 0x0, 0xC5, 0x38, 0x2E, 0x6D, 0x0, 0x0, 0x0, 0x0, 0xC5, 0x38, 0x2E, 0x6D +]; + +const BinaryOutputStream = Components.Constructor("@mozilla.org/binaryoutputstream;1", "nsIBinaryOutputStream", "setOutputStream"); + +/** + * The timer is needed when a delay is set. We need it to be out of the method + * so it is not eaten alive by the GC. + */ +var timer; + +function handleRequest(request, response) { + var query = {}; + request.queryString.split('&').forEach(function (val) { + var [name, value] = val.split('='); + query[name] = unescape(value); + }); + + response.setStatusLine(request.httpVersion, 200, "OK"); + response.setHeader("Content-Type", "font/opentype", false); + + function fontWrite(data) { + var stream = new BinaryOutputStream(response.bodyOutputStream); + stream.writeByteArray(data, data.length); + } + + var f; + switch (query["font"]) { + case "markB": + f = markB_data; + break; + case "markC": + f = markC_data; + break; + case "markD": + f = markD_data; + break; + case "markA": + default: + f = markA_data; + break; + } + + // If there is no delay, we write the image and leave. + if (!("delay" in query)) { + fontWrite(f); + return; + } + + // If there is a delay, we create a timer which, when it fires, will write + // image and leave. + response.processAsync(); + const nsITimer = Components.interfaces.nsITimer; + + timer = Components.classes["@mozilla.org/timer;1"].createInstance(nsITimer); + timer.initWithCallback(function() { + fontWrite(f); + response.finish(); + }, query["delay"], nsITimer.TYPE_ONE_SHOT); +} + +