Add test expectations and baselines for iOS 13
authorryanhaddad@apple.com <ryanhaddad@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 11 Jul 2019 17:08:30 +0000 (17:08 +0000)
committerryanhaddad@apple.com <ryanhaddad@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 11 Jul 2019 17:08:30 +0000 (17:08 +0000)
https://bugs.webkit.org/show_bug.cgi?id=199329

Reviewed by Jonathan Bedard.

Tools:

* Scripts/webkitpy/port/ios.py:
(IOSPort): Increment current version to 13.
* Scripts/webkitpy/port/ios_device_unittest.py: Update unit tests.
(IOSDeviceTest.test_layout_test_searchpath_with_apple_additions):
(IOSDeviceTest.test_layout_test_searchpath_without_apple_additions):
(IOSDeviceTest.test_layout_searchpath_wih_device_type):
* Scripts/webkitpy/port/ios_simulator_unittest.py: Ditto.
(IOSSimulatorTest.make_port):
(IOSSimulatorTest.test_layout_test_searchpath_with_apple_additions):
(IOSSimulatorTest.test_layout_test_searchpath_without_apple_additions):
(IOSSimulatorTest.test_layout_searchpath_wih_device_type):
* Scripts/webkitpy/port/ios_testcase.py: Ditto.
(IOSTest.make_port):

LayoutTests:

* platform/ios-12/*: Move iOS 12 specific baselines to their own directory.
* platform/ios/*: Add iOS 13 baselines and test expectations.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@247353 268f45cc-cd09-0410-ab3c-d52691b4dbfc

118 files changed:
LayoutTests/ChangeLog
LayoutTests/platform/ios-12/TestExpectations [new file with mode: 0644]
LayoutTests/platform/ios-12/css2.1/t0805-c5519-brdr-r-01-e-expected.txt [new file with mode: 0644]
LayoutTests/platform/ios-12/css2.1/t0905-c5525-fltblck-00-d-ag-expected.txt [new file with mode: 0644]
LayoutTests/platform/ios-12/css2.1/t1202-counter-09-b-expected.txt [moved from LayoutTests/platform/ios-wk2/css2.1/t1202-counter-09-b-expected.txt with 100% similarity]
LayoutTests/platform/ios-12/css2.1/t1202-counters-09-b-expected.txt [moved from LayoutTests/platform/ios-wk2/css2.1/t1202-counters-09-b-expected.txt with 100% similarity]
LayoutTests/platform/ios-12/editing/deleting/delete-emoji-1-expected.txt [new file with mode: 0644]
LayoutTests/platform/ios-12/editing/deleting/delete-emoji-9-expected.txt [new file with mode: 0644]
LayoutTests/platform/ios-12/editing/deleting/delete-emoji-expected.txt [new file with mode: 0644]
LayoutTests/platform/ios-12/fast/css-generated-content/014-expected.txt [new file with mode: 0644]
LayoutTests/platform/ios-12/fast/css/apple-system-colors-expected.txt [new file with mode: 0644]
LayoutTests/platform/ios-12/fast/css/beforeSelectorOnCodeElement-expected.txt [new file with mode: 0644]
LayoutTests/platform/ios-12/fast/css/line-height-font-order-expected.txt [new file with mode: 0644]
LayoutTests/platform/ios-12/fast/events/updateLayoutForHitTest-expected.txt [moved from LayoutTests/platform/ios-wk2/fast/events/updateLayoutForHitTest-expected.txt with 100% similarity]
LayoutTests/platform/ios-12/fast/overflow/007-expected.txt [moved from LayoutTests/platform/ios-wk2/fast/overflow/007-expected.txt with 100% similarity]
LayoutTests/platform/ios-12/fast/table/col-and-colgroup-offsets-expected.txt [new file with mode: 0644]
LayoutTests/platform/ios-12/fast/text/hyphenate-avoid-orphaned-word-expected.txt [new file with mode: 0644]
LayoutTests/platform/ios-12/fast/text/hyphenate-character-expected.txt [new file with mode: 0644]
LayoutTests/platform/ios-12/fast/text/hyphens-expected.txt [new file with mode: 0644]
LayoutTests/platform/ios-12/http/tests/cookies/same-site/fetch-after-navigating-iframe-in-cross-origin-page-expected.txt [new file with mode: 0644]
LayoutTests/platform/ios-12/http/tests/cookies/same-site/fetch-after-top-level-cross-origin-redirect-expected.txt [new file with mode: 0644]
LayoutTests/platform/ios-12/http/tests/cookies/same-site/fetch-after-top-level-navigation-from-cross-origin-page-expected.txt [new file with mode: 0644]
LayoutTests/platform/ios-12/http/tests/cookies/same-site/fetch-after-top-level-navigation-initiated-from-iframe-in-cross-origin-page-expected.txt [new file with mode: 0644]
LayoutTests/platform/ios-12/http/tests/cookies/same-site/fetch-in-cross-origin-service-worker-expected.txt [new file with mode: 0644]
LayoutTests/platform/ios-12/http/tests/cookies/same-site/popup-cross-site-expected.txt [new file with mode: 0644]
LayoutTests/platform/ios-12/http/tests/cookies/same-site/popup-cross-site-post-expected.txt [new file with mode: 0644]
LayoutTests/platform/ios-12/http/tests/cookies/same-site/popup-same-site-via-cross-site-redirect-expected.txt [new file with mode: 0644]
LayoutTests/platform/ios-12/imported/w3c/web-platform-tests/fetch/api/basic/header-value-combining.any-expected.txt [new file with mode: 0644]
LayoutTests/platform/ios-12/imported/w3c/web-platform-tests/fetch/api/basic/header-value-combining.any.worker-expected.txt [new file with mode: 0644]
LayoutTests/platform/ios-12/imported/w3c/web-platform-tests/fetch/api/basic/request-headers.any-expected.txt [moved from LayoutTests/platform/ios/imported/w3c/web-platform-tests/fetch/api/basic/request-headers.any-expected.txt with 100% similarity]
LayoutTests/platform/ios-12/imported/w3c/web-platform-tests/fetch/api/basic/request-headers.any.worker-expected.txt [moved from LayoutTests/platform/ios/imported/w3c/web-platform-tests/fetch/api/basic/request-headers.any.worker-expected.txt with 100% similarity]
LayoutTests/platform/ios-12/imported/w3c/web-platform-tests/fetch/content-type/script.window-expected.txt [new file with mode: 0644]
LayoutTests/platform/ios-12/imported/w3c/web-platform-tests/fetch/nosniff/parsing-nosniff.window-expected.txt [new file with mode: 0644]
LayoutTests/platform/ios-12/imported/w3c/web-platform-tests/xhr/getallresponseheaders-expected.txt [new file with mode: 0644]
LayoutTests/platform/ios-12/imported/w3c/web-platform-tests/xhr/getresponseheader.any-expected.txt [new file with mode: 0644]
LayoutTests/platform/ios-12/imported/w3c/web-platform-tests/xhr/getresponseheader.any.worker-expected.txt [new file with mode: 0644]
LayoutTests/platform/ios-12/platform/ios/ios/fast/text/opticalFontWithTextStyle-expected.txt [new file with mode: 0644]
LayoutTests/platform/ios-12/platform/ios/ios/fast/text/opticalFontWithWeight-expected.txt [new file with mode: 0644]
LayoutTests/platform/ios-12/quicklook/excel-expected.txt [new file with mode: 0644]
LayoutTests/platform/ios-12/quicklook/excel-legacy-expected.txt [new file with mode: 0644]
LayoutTests/platform/ios-12/quicklook/excel-macro-enabled-expected.txt [new file with mode: 0644]
LayoutTests/platform/ios-12/quicklook/keynote-09-expected.txt [new file with mode: 0644]
LayoutTests/platform/ios-12/quicklook/numbers-09-expected.txt [new file with mode: 0644]
LayoutTests/platform/ios-12/quicklook/pages-09-expected.txt [new file with mode: 0644]
LayoutTests/platform/ios-12/quicklook/powerpoint-expected.txt [new file with mode: 0644]
LayoutTests/platform/ios-12/quicklook/powerpoint-legacy-expected.txt [new file with mode: 0644]
LayoutTests/platform/ios-12/svg/custom/object-sizing-expected.txt [new file with mode: 0644]
LayoutTests/platform/ios-12/tables/mozilla/bugs/bug10269-2-expected.txt [new file with mode: 0644]
LayoutTests/platform/ios-12/tables/mozilla/bugs/bug10296-1-expected.txt [new file with mode: 0644]
LayoutTests/platform/ios-12/tables/mozilla/bugs/bug139524-2-expected.txt [new file with mode: 0644]
LayoutTests/platform/ios-12/tables/mozilla_expected_failures/bugs/bug2479-5-expected.txt [new file with mode: 0644]
LayoutTests/platform/ios-wk2/TestExpectations
LayoutTests/platform/ios/TestExpectations
LayoutTests/platform/ios/css-dark-mode/default-colors-expected.txt [new file with mode: 0644]
LayoutTests/platform/ios/css2.1/t0805-c5519-brdr-r-01-e-expected.txt
LayoutTests/platform/ios/css2.1/t0905-c5525-fltblck-00-d-ag-expected.txt
LayoutTests/platform/ios/css2.1/t1202-counter-09-b-expected.txt
LayoutTests/platform/ios/css2.1/t1202-counters-09-b-expected.txt
LayoutTests/platform/ios/editing/selection/ios/selection-handles-after-touch-end-expected.txt [new file with mode: 0644]
LayoutTests/platform/ios/fast/css-generated-content/014-expected.txt
LayoutTests/platform/ios/fast/css/apple-system-colors-expected.txt
LayoutTests/platform/ios/fast/css/beforeSelectorOnCodeElement-expected.txt
LayoutTests/platform/ios/fast/css/line-height-font-order-expected.txt
LayoutTests/platform/ios/fast/events/ios/key-command-select-all-prevent-default-expected.txt [new file with mode: 0644]
LayoutTests/platform/ios/fast/events/ios/keydown-keyup-in-non-editable-content-expected.txt [new file with mode: 0644]
LayoutTests/platform/ios/fast/events/ios/keypress-grave-accent-expected.txt [new file with mode: 0644]
LayoutTests/platform/ios/fast/events/ios/keypress-keys-in-non-editable-element-expected.txt [new file with mode: 0644]
LayoutTests/platform/ios/fast/events/ios/keyup-expected.txt [new file with mode: 0644]
LayoutTests/platform/ios/fast/events/ios/placeholder-after-caps-lock-hidden-expected.txt [new file with mode: 0644]
LayoutTests/platform/ios/fast/events/touch/ios/mouse-events-with-modifiers-expected.txt [new file with mode: 0644]
LayoutTests/platform/ios/fast/events/touch/ios/pointer-events-with-modifiers-expected.txt [new file with mode: 0644]
LayoutTests/platform/ios/fast/events/updateLayoutForHitTest-expected.txt
LayoutTests/platform/ios/fast/overflow/007-expected.txt
LayoutTests/platform/ios/fast/password-scrolled-after-caps-lock-toggled-expected.txt [new file with mode: 0644]
LayoutTests/platform/ios/fast/table/col-and-colgroup-offsets-expected.txt
LayoutTests/platform/ios/fast/text/hyphenate-avoid-orphaned-word-expected.txt
LayoutTests/platform/ios/fast/text/hyphenate-character-expected.txt
LayoutTests/platform/ios/fast/text/hyphens-expected.txt
LayoutTests/platform/ios/http/tests/cookies/same-site/fetch-after-navigating-iframe-in-cross-origin-page-expected.txt [new file with mode: 0644]
LayoutTests/platform/ios/http/tests/cookies/same-site/fetch-after-top-level-cross-origin-redirect-expected.txt [new file with mode: 0644]
LayoutTests/platform/ios/http/tests/cookies/same-site/fetch-after-top-level-navigation-from-cross-origin-page-expected.txt [new file with mode: 0644]
LayoutTests/platform/ios/http/tests/cookies/same-site/fetch-after-top-level-navigation-initiated-from-iframe-in-cross-origin-page-expected.txt [new file with mode: 0644]
LayoutTests/platform/ios/http/tests/cookies/same-site/fetch-in-cross-origin-service-worker-expected.txt [new file with mode: 0644]
LayoutTests/platform/ios/http/tests/cookies/same-site/popup-cross-site-expected.txt [new file with mode: 0644]
LayoutTests/platform/ios/http/tests/cookies/same-site/popup-cross-site-post-expected.txt [new file with mode: 0644]
LayoutTests/platform/ios/http/tests/cookies/same-site/popup-same-site-via-cross-site-redirect-expected.txt [new file with mode: 0644]
LayoutTests/platform/ios/imported/w3c/web-platform-tests/fetch/api/basic/header-value-combining.any-expected.txt [new file with mode: 0644]
LayoutTests/platform/ios/imported/w3c/web-platform-tests/fetch/api/basic/header-value-combining.any.worker-expected.txt [new file with mode: 0644]
LayoutTests/platform/ios/imported/w3c/web-platform-tests/fetch/content-type/script.window-expected.txt [new file with mode: 0644]
LayoutTests/platform/ios/imported/w3c/web-platform-tests/fetch/nosniff/parsing-nosniff.window-expected.txt [new file with mode: 0644]
LayoutTests/platform/ios/imported/w3c/web-platform-tests/xhr/getallresponseheaders-expected.txt [new file with mode: 0644]
LayoutTests/platform/ios/imported/w3c/web-platform-tests/xhr/getresponseheader.any-expected.txt [new file with mode: 0644]
LayoutTests/platform/ios/imported/w3c/web-platform-tests/xhr/getresponseheader.any.worker-expected.txt [new file with mode: 0644]
LayoutTests/platform/ios/platform/ios/ios/fast/text/opticalFontWithTextStyle-expected.txt
LayoutTests/platform/ios/platform/ios/ios/fast/text/opticalFontWithWeight-expected.txt
LayoutTests/platform/ios/platform/ipad/fast/forms/focus-input-via-button-expected.txt [new file with mode: 0644]
LayoutTests/platform/ios/quicklook/excel-expected.txt
LayoutTests/platform/ios/quicklook/excel-legacy-expected.txt
LayoutTests/platform/ios/quicklook/excel-macro-enabled-expected.txt
LayoutTests/platform/ios/quicklook/keynote-09-expected.txt [new file with mode: 0644]
LayoutTests/platform/ios/quicklook/numbers-09-expected.txt [new file with mode: 0644]
LayoutTests/platform/ios/quicklook/numbers-expected.html [new file with mode: 0644]
LayoutTests/platform/ios/quicklook/pages-09-expected.txt [new file with mode: 0644]
LayoutTests/platform/ios/quicklook/powerpoint-expected.txt
LayoutTests/platform/ios/quicklook/powerpoint-legacy-expected.txt
LayoutTests/platform/ios/quicklook/resources/numbers-expected.pdf [new file with mode: 0644]
LayoutTests/platform/ios/scrollingcoordinator/ios/sync-layer-positions-after-scroll-expected.txt [new file with mode: 0644]
LayoutTests/platform/ios/svg/custom/object-sizing-expected.txt
LayoutTests/platform/ios/tables/mozilla/bugs/bug10269-2-expected.txt
LayoutTests/platform/ios/tables/mozilla/bugs/bug10296-1-expected.txt
LayoutTests/platform/ios/tables/mozilla/bugs/bug139524-2-expected.txt
LayoutTests/platform/ios/tables/mozilla_expected_failures/bugs/bug2479-5-expected.txt
LayoutTests/platform/ios/webgl/2.0.0/conformance/context/context-hidden-alpha-expected.txt [new file with mode: 0644]
Tools/ChangeLog
Tools/Scripts/webkitpy/port/ios.py
Tools/Scripts/webkitpy/port/ios_device_unittest.py
Tools/Scripts/webkitpy/port/ios_simulator_unittest.py
Tools/Scripts/webkitpy/port/ios_testcase.py

index 7cb8a26..4cfdc88 100644 (file)
@@ -1,3 +1,13 @@
+2019-07-11  Ryan Haddad  <ryanhaddad@apple.com>
+
+        Add test expectations and baselines for iOS 13
+        https://bugs.webkit.org/show_bug.cgi?id=199329
+
+        Reviewed by Jonathan Bedard.
+
+        * platform/ios-12/*: Move iOS 12 specific baselines to their own directory.
+        * platform/ios/*: Add iOS 13 baselines and test expectations.
+
 2019-07-11  Miguel Gomez  <magomez@igalia.com>
 
         Unreviewed GTK+ gardening. Update expectations after r247346.
diff --git a/LayoutTests/platform/ios-12/TestExpectations b/LayoutTests/platform/ios-12/TestExpectations
new file mode 100644 (file)
index 0000000..e02f723
--- /dev/null
@@ -0,0 +1,10 @@
+css-dark-mode [ Skip ]
+css-dark-mode/older-systems [ Pass ]
+
+# <rdar://problem/48781098> HEIF and HEICS images are supported only on iOS 13
+fast/images/animated-heics-draw.html [ Skip ]
+fast/images/animated-heics-verify.html [ Skip ]
+
+fast/forms/auto-fill-button/caps-lock-indicator-should-be-visible-after-hiding-auto-fill-strong-password-button.html [ Skip ]
+fast/forms/auto-fill-button/caps-lock-indicator-should-not-be-visible-when-auto-fill-strong-password-button-is-visible.html [ Skip ]
+fast/forms/password-scrolled-after-caps-lock-toggled.html [ Skip ]
diff --git a/LayoutTests/platform/ios-12/css2.1/t0805-c5519-brdr-r-01-e-expected.txt b/LayoutTests/platform/ios-12/css2.1/t0805-c5519-brdr-r-01-e-expected.txt
new file mode 100644 (file)
index 0000000..6439ab3
--- /dev/null
@@ -0,0 +1,36 @@
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x276
+  RenderBlock {HTML} at (0,0) size 800x276
+    RenderBody {BODY} at (8,16) size 784x244 [color=#0000FF]
+      RenderBlock {P} at (0,0) size 784x44
+        RenderText {#text} at (0,20) size 498x19
+          text run at (0,20) width 498: "There should be a solid blue line to the right of every occurance of the word \""
+        RenderInline {SPAN} at (0,0) size 140x36 [border: none (2px solid #0000FF) none]
+          RenderText {#text} at (497,6) size 138x36
+            text run at (497,6) width 138: "THERE \x{2799}"
+        RenderText {#text} at (636,20) size 12x19
+          text run at (636,20) width 12: "\"."
+      RenderTable {TABLE} at (0,60) size 298x148
+        RenderTableSection {TBODY} at (0,0) size 298x148
+          RenderTableRow {TR} at (0,2) size 298x46
+            RenderTableCell {TD} at (2,2) size 294x46 [border: none (2px solid #0000FF) none] [r=0 c=0 rs=1 cs=2]
+              RenderText {#text} at (152,7) size 139x36
+                text run at (152,7) width 139: "THERE \x{2799}"
+          RenderTableRow {TR} at (0,50) size 298x96
+            RenderTableCell {TD} at (2,75) size 142x46 [border: none (2px solid #0000FF) none] [r=1 c=0 rs=1 cs=1]
+              RenderText {#text} at (1,7) size 138x36
+                text run at (1,7) width 138: "THERE \x{2799}"
+            RenderTableCell {TD} at (145,50) size 151x96 [border: none (2px solid #0000FF) none] [r=1 c=1 rs=1 cs=1]
+              RenderBlock (anonymous) at (1,1) size 146x44
+                RenderText {#text} at (8,6) size 138x36
+                  text run at (8,6) width 138: "THERE \x{2798}"
+              RenderTable {TABLE} at (1,45) size 146x50
+                RenderTableSection {TBODY} at (0,0) size 146x50
+                  RenderTableRow {TR} at (0,2) size 146x46
+                    RenderTableCell {TD} at (2,2) size 142x46 [border: none (2px solid #0000FF) none] [r=0 c=0 rs=1 cs=1]
+                      RenderText {#text} at (1,7) size 138x36
+                        text run at (1,7) width 138: "THERE \x{2799}"
+      RenderBlock {P} at (0,224) size 784x20
+        RenderText {#text} at (0,0) size 344x19
+          text run at (0,0) width 344: "There should be 3 short lines and 2 long lines in total."
diff --git a/LayoutTests/platform/ios-12/css2.1/t0905-c5525-fltblck-00-d-ag-expected.txt b/LayoutTests/platform/ios-12/css2.1/t0905-c5525-fltblck-00-d-ag-expected.txt
new file mode 100644 (file)
index 0000000..3a16f2b
--- /dev/null
@@ -0,0 +1,25 @@
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x189
+  RenderBlock {HTML} at (0,0) size 800x189
+    RenderBody {BODY} at (8,8) size 784x173
+      RenderBlock {P} at (0,0) size 784x23
+        RenderText {#text} at (0,3) size 278x19
+          text run at (0,3) width 278: "There should be a green box to the right. \x{2798}"
+      RenderBlock {DIV} at (0,23) size 784x150 [bgcolor=#FFFFFF]
+        RenderBlock (floating) {P} at (458,10) size 316x91 [color=#008000] [border: (3px solid #008000)]
+          RenderText {#text} at (8,8) size 300x75
+            text run at (8,8) width 300: "x x xxxx xx xxxx x x"
+            text run at (8,23) width 300: "x xx xx xxxx xx xx x"
+            text run at (8,38) width 300: "x xxx xx xx xx xxx x"
+            text run at (8,53) width 300: "x xx xx xxxx xx xx x"
+            text run at (8,68) width 300: "x x xxxx xx xxxx x x"
+        RenderBlock {P} at (0,0) size 784x45 [color=#FFFFFF]
+          RenderText {#text} at (433,0) size 15x15
+            text run at (433,0) width 15: "x"
+          RenderBR {BR} at (448,0) size 0x15
+          RenderText {#text} at (433,15) size 15x15
+            text run at (433,15) width 15: "x"
+          RenderBR {BR} at (448,15) size 0x15
+          RenderText {#text} at (433,30) size 15x15
+            text run at (433,30) width 15: "x"
diff --git a/LayoutTests/platform/ios-12/editing/deleting/delete-emoji-1-expected.txt b/LayoutTests/platform/ios-12/editing/deleting/delete-emoji-1-expected.txt
new file mode 100644 (file)
index 0000000..98d2cdb
--- /dev/null
@@ -0,0 +1,58 @@
+This test verifies that deletions are correct over emoji groups and emoji with variations
+
+Dump of markup 1:
+| "
+๐Ÿ’‹โ€๐Ÿ‘จโ˜๏ธ๐Ÿปโœ๐Ÿพโ›น๐Ÿพ๐Ÿ–๐Ÿพ๐Ÿ–•๐Ÿพ๐Ÿค˜๐Ÿพ๐Ÿ‘โ€๐Ÿ—จ๐Ÿ‹๐Ÿพ๐Ÿ‘จโ€๐Ÿ‘ฆ๐Ÿ‘จโ€๐Ÿ‘ฆโ€๐Ÿ‘ฆ๐Ÿ‘จโ€๐Ÿ‘ง๐Ÿ‘จโ€๐Ÿ‘งโ€๐Ÿ‘ฆ<#selection-caret>
+"
+
+Dump of markup 2:
+| "
+๐Ÿ’‹โ€๐Ÿ‘จโ˜๏ธ๐Ÿปโœ๐Ÿพโ›น๐Ÿพ๐Ÿ–๐Ÿพ๐Ÿ–•๐Ÿพ๐Ÿค˜๐Ÿพ๐Ÿ‘โ€๐Ÿ—จ๐Ÿ‹๐Ÿพ๐Ÿ‘จโ€๐Ÿ‘ฆ๐Ÿ‘จโ€๐Ÿ‘ฆโ€๐Ÿ‘ฆ๐Ÿ‘จโ€๐Ÿ‘ง<#selection-caret>"
+
+Dump of markup 3:
+| "
+๐Ÿ’‹โ€๐Ÿ‘จโ˜๏ธ๐Ÿปโœ๐Ÿพโ›น๐Ÿพ๐Ÿ–๐Ÿพ๐Ÿ–•๐Ÿพ๐Ÿค˜๐Ÿพ๐Ÿ‘โ€๐Ÿ—จ๐Ÿ‹๐Ÿพ๐Ÿ‘จโ€๐Ÿ‘ฆ๐Ÿ‘จโ€๐Ÿ‘ฆโ€๐Ÿ‘ฆ<#selection-caret>"
+
+Dump of markup 4:
+| "
+๐Ÿ’‹โ€๐Ÿ‘จโ˜๏ธ๐Ÿปโœ๐Ÿพโ›น๐Ÿพ๐Ÿ–๐Ÿพ๐Ÿ–•๐Ÿพ๐Ÿค˜๐Ÿพ๐Ÿ‘โ€๐Ÿ—จ๐Ÿ‹๐Ÿพ๐Ÿ‘จโ€๐Ÿ‘ฆ<#selection-caret>"
+
+Dump of markup 5:
+| "
+๐Ÿ’‹โ€๐Ÿ‘จโ˜๏ธ๐Ÿปโœ๐Ÿพโ›น๐Ÿพ๐Ÿ–๐Ÿพ๐Ÿ–•๐Ÿพ๐Ÿค˜๐Ÿพ๐Ÿ‘โ€๐Ÿ—จ๐Ÿ‹๐Ÿพ<#selection-caret>"
+
+Dump of markup 6:
+| "
+๐Ÿ’‹โ€๐Ÿ‘จโ˜๏ธ๐Ÿปโœ๐Ÿพโ›น๐Ÿพ๐Ÿ–๐Ÿพ๐Ÿ–•๐Ÿพ๐Ÿค˜๐Ÿพ๐Ÿ‘โ€๐Ÿ—จ<#selection-caret>"
+
+Dump of markup 7:
+| "
+๐Ÿ’‹โ€๐Ÿ‘จโ˜๏ธ๐Ÿปโœ๐Ÿพโ›น๐Ÿพ๐Ÿ–๐Ÿพ๐Ÿ–•๐Ÿพ๐Ÿค˜๐Ÿพ<#selection-caret>"
+
+Dump of markup 8:
+| "
+๐Ÿ’‹โ€๐Ÿ‘จโ˜๏ธ๐Ÿปโœ๐Ÿพโ›น๐Ÿพ๐Ÿ–๐Ÿพ๐Ÿ–•๐Ÿพ<#selection-caret>"
+
+Dump of markup 9:
+| "
+๐Ÿ’‹โ€๐Ÿ‘จโ˜๏ธ๐Ÿปโœ๐Ÿพโ›น๐Ÿพ๐Ÿ–๐Ÿพ<#selection-caret>"
+
+Dump of markup 10:
+| "
+๐Ÿ’‹โ€๐Ÿ‘จโ˜๏ธ๐Ÿปโœ๐Ÿพโ›น๐Ÿพ<#selection-caret>"
+
+Dump of markup 11:
+| "
+๐Ÿ’‹โ€๐Ÿ‘จโ˜๏ธ๐Ÿปโœ๐Ÿพ<#selection-caret>"
+
+Dump of markup 12:
+| "
+๐Ÿ’‹โ€๐Ÿ‘จโ˜๏ธ๐Ÿป<#selection-caret>"
+
+Dump of markup 13:
+| "
+๐Ÿ’‹โ€๐Ÿ‘จ<#selection-caret>"
+
+Dump of markup 14:
+| <#selection-caret>
+| <br>
diff --git a/LayoutTests/platform/ios-12/editing/deleting/delete-emoji-9-expected.txt b/LayoutTests/platform/ios-12/editing/deleting/delete-emoji-9-expected.txt
new file mode 100644 (file)
index 0000000..525bd81
--- /dev/null
@@ -0,0 +1,50 @@
+This test verifies that deletions are correct over emoji groups and emoji with variations
+
+Dump of markup 1:
+| "
+๐Ÿค™๐Ÿป๐Ÿ‘จโ€โš•๏ธ๐Ÿ‘จ๐Ÿปโ€โš•๏ธ๐Ÿ‘จโ€โš•๐Ÿ‘จ๐Ÿปโ€โš•๐Ÿณ๏ธโ€๐ŸŒ‡๐Ÿณ๏ธโ€๐ŸŒ†๐Ÿณ๏ธโ€๐ŸŒ…๐Ÿด๓ ง๓ ข๓ ฅ๓ ฎ๓ ง๓ ฟ๐Ÿด๓ ง๓ ข๓ ณ๓ ฃ๓ ด๓ ฟ๐Ÿด๓ ง๓ ข๓ ท๓ ฌ๓ ณ๓ ฟ<#selection-caret>
+"
+
+Dump of markup 2:
+| "
+๐Ÿค™๐Ÿป๐Ÿ‘จโ€โš•๏ธ๐Ÿ‘จ๐Ÿปโ€โš•๏ธ๐Ÿ‘จโ€โš•๐Ÿ‘จ๐Ÿปโ€โš•๐Ÿณ๏ธโ€๐ŸŒ‡๐Ÿณ๏ธโ€๐ŸŒ†๐Ÿณ๏ธโ€๐ŸŒ…๐Ÿด๓ ง๓ ข๓ ฅ๓ ฎ๓ ง๓ ฟ๐Ÿด๓ ง๓ ข๓ ณ๓ ฃ๓ ด๓ ฟ<#selection-caret>"
+
+Dump of markup 3:
+| "
+๐Ÿค™๐Ÿป๐Ÿ‘จโ€โš•๏ธ๐Ÿ‘จ๐Ÿปโ€โš•๏ธ๐Ÿ‘จโ€โš•๐Ÿ‘จ๐Ÿปโ€โš•๐Ÿณ๏ธโ€๐ŸŒ‡๐Ÿณ๏ธโ€๐ŸŒ†๐Ÿณ๏ธโ€๐ŸŒ…๐Ÿด๓ ง๓ ข๓ ฅ๓ ฎ๓ ง๓ ฟ<#selection-caret>"
+
+Dump of markup 4:
+| "
+๐Ÿค™๐Ÿป๐Ÿ‘จโ€โš•๏ธ๐Ÿ‘จ๐Ÿปโ€โš•๏ธ๐Ÿ‘จโ€โš•๐Ÿ‘จ๐Ÿปโ€โš•๐Ÿณ๏ธโ€๐ŸŒ‡๐Ÿณ๏ธโ€๐ŸŒ†๐Ÿณ๏ธโ€๐ŸŒ…<#selection-caret>"
+
+Dump of markup 5:
+| "
+๐Ÿค™๐Ÿป๐Ÿ‘จโ€โš•๏ธ๐Ÿ‘จ๐Ÿปโ€โš•๏ธ๐Ÿ‘จโ€โš•๐Ÿ‘จ๐Ÿปโ€โš•๐Ÿณ๏ธโ€๐ŸŒ‡๐Ÿณ๏ธโ€๐ŸŒ†<#selection-caret>"
+
+Dump of markup 6:
+| "
+๐Ÿค™๐Ÿป๐Ÿ‘จโ€โš•๏ธ๐Ÿ‘จ๐Ÿปโ€โš•๏ธ๐Ÿ‘จโ€โš•๐Ÿ‘จ๐Ÿปโ€โš•๐Ÿณ๏ธโ€๐ŸŒ‡<#selection-caret>"
+
+Dump of markup 7:
+| "
+๐Ÿค™๐Ÿป๐Ÿ‘จโ€โš•๏ธ๐Ÿ‘จ๐Ÿปโ€โš•๏ธ๐Ÿ‘จโ€โš•๐Ÿ‘จ๐Ÿปโ€โš•<#selection-caret>"
+
+Dump of markup 8:
+| "
+๐Ÿค™๐Ÿป๐Ÿ‘จโ€โš•๏ธ๐Ÿ‘จ๐Ÿปโ€โš•๏ธ๐Ÿ‘จโ€โš•<#selection-caret>"
+
+Dump of markup 9:
+| "
+๐Ÿค™๐Ÿป๐Ÿ‘จโ€โš•๏ธ๐Ÿ‘จ๐Ÿปโ€โš•๏ธ<#selection-caret>"
+
+Dump of markup 10:
+| "
+๐Ÿค™๐Ÿป๐Ÿ‘จโ€โš•๏ธ<#selection-caret>"
+
+Dump of markup 11:
+| "
+๐Ÿค™๐Ÿป<#selection-caret>"
+
+Dump of markup 12:
+| <#selection-caret>
+| <br>
diff --git a/LayoutTests/platform/ios-12/editing/deleting/delete-emoji-expected.txt b/LayoutTests/platform/ios-12/editing/deleting/delete-emoji-expected.txt
new file mode 100644 (file)
index 0000000..8e7ca2b
--- /dev/null
@@ -0,0 +1,42 @@
+This test verifies that deletions are correct over emoji groups and emoji with variations
+
+Dump of markup 1:
+| "
+๐Ÿ‘ฆ๐Ÿป๐Ÿ‘ฆ๐Ÿพ๐Ÿป๐Ÿ‘ฆ๐Ÿพ๐Ÿ‘ฆ๐Ÿ‘ฉโ€๐Ÿ‘ฉโ€๐Ÿ‘ฆ๐Ÿ‘ฉโ€โค๏ธโ€๐Ÿ‘ฉ๐Ÿ‘จโ€โค๏ธโ€๐Ÿ‘จ๐Ÿ‘ฉโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿ‘จโ€โค๏ธโ€<#selection-caret>
+"
+
+Dump of markup 2:
+| "
+๐Ÿ‘ฆ๐Ÿป๐Ÿ‘ฆ๐Ÿพ๐Ÿป๐Ÿ‘ฆ๐Ÿพ๐Ÿ‘ฆ๐Ÿ‘ฉโ€๐Ÿ‘ฉโ€๐Ÿ‘ฆ๐Ÿ‘ฉโ€โค๏ธโ€๐Ÿ‘ฉ๐Ÿ‘จโ€โค๏ธโ€๐Ÿ‘จ๐Ÿ‘ฉโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘ฉ<#selection-caret>"
+
+Dump of markup 3:
+| "
+๐Ÿ‘ฆ๐Ÿป๐Ÿ‘ฆ๐Ÿพ๐Ÿป๐Ÿ‘ฆ๐Ÿพ๐Ÿ‘ฆ๐Ÿ‘ฉโ€๐Ÿ‘ฉโ€๐Ÿ‘ฆ๐Ÿ‘ฉโ€โค๏ธโ€๐Ÿ‘ฉ๐Ÿ‘จโ€โค๏ธโ€๐Ÿ‘จ<#selection-caret>"
+
+Dump of markup 4:
+| "
+๐Ÿ‘ฆ๐Ÿป๐Ÿ‘ฆ๐Ÿพ๐Ÿป๐Ÿ‘ฆ๐Ÿพ๐Ÿ‘ฆ๐Ÿ‘ฉโ€๐Ÿ‘ฉโ€๐Ÿ‘ฆ๐Ÿ‘ฉโ€โค๏ธโ€๐Ÿ‘ฉ<#selection-caret>"
+
+Dump of markup 5:
+| "
+๐Ÿ‘ฆ๐Ÿป๐Ÿ‘ฆ๐Ÿพ๐Ÿป๐Ÿ‘ฆ๐Ÿพ๐Ÿ‘ฆ๐Ÿ‘ฉโ€๐Ÿ‘ฉโ€๐Ÿ‘ฆ<#selection-caret>"
+
+Dump of markup 6:
+| "
+๐Ÿ‘ฆ๐Ÿป๐Ÿ‘ฆ๐Ÿพ๐Ÿป๐Ÿ‘ฆ๐Ÿพ๐Ÿ‘ฆ<#selection-caret>"
+
+Dump of markup 7:
+| "
+๐Ÿ‘ฆ๐Ÿป๐Ÿ‘ฆ๐Ÿพ๐Ÿป๐Ÿ‘ฆ๐Ÿพ<#selection-caret>"
+
+Dump of markup 8:
+| "
+๐Ÿ‘ฆ๐Ÿป๐Ÿ‘ฆ๐Ÿพ๐Ÿป<#selection-caret>"
+
+Dump of markup 9:
+| "
+๐Ÿ‘ฆ๐Ÿป<#selection-caret>"
+
+Dump of markup 10:
+| <#selection-caret>
+| <br>
diff --git a/LayoutTests/platform/ios-12/fast/css-generated-content/014-expected.txt b/LayoutTests/platform/ios-12/fast/css-generated-content/014-expected.txt
new file mode 100644 (file)
index 0000000..3a38924
--- /dev/null
@@ -0,0 +1,106 @@
+layer at (0,0) size 800x914
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x914
+  RenderBlock {HTML} at (0,0) size 800x914
+    RenderBody {BODY} at (8,21) size 784x868
+      RenderBlock {H1} at (0,0) size 784x76
+        RenderText {#text} at (0,1) size 781x74
+          text run at (0,1) width 781: "Problem: Safari improperly handles generated content in"
+          text run at (0,39) width 682: "certain cases when used with multiple class names"
+      RenderBlock {P} at (0,97) size 784x41
+        RenderInline {EM} at (0,0) size 767x39
+          RenderText {#text} at (0,0) size 767x39
+            text run at (0,0) width 767: "When referencing an element by two class names simultaneously, Safari won't generate content (using :before or :after)"
+            text run at (0,20) width 122: "within the element."
+      RenderBlock {P} at (0,153) size 784x41
+        RenderText {#text} at (0,0) size 124x19
+          text run at (0,0) width 124: "Assume we have a "
+        RenderInline {CODE} at (0,0) size 24x14
+          RenderText {#text} at (123,5) size 24x14
+            text run at (123,5) width 24: "div"
+        RenderText {#text} at (146,0) size 150x19
+          text run at (146,0) width 150: " with two class names: "
+        RenderInline {CODE} at (0,0) size 25x14
+          RenderText {#text} at (295,5) size 25x14
+            text run at (295,5) width 25: "box"
+        RenderText {#text} at (319,0) size 32x19
+          text run at (319,0) width 32: " and "
+        RenderInline {CODE} at (0,0) size 24x14
+          RenderText {#text} at (350,5) size 24x14
+            text run at (350,5) width 24: "one"
+        RenderText {#text} at (373,0) size 85x19
+          text run at (373,0) width 85: ". Within that "
+        RenderInline {CODE} at (0,0) size 24x14
+          RenderText {#text} at (457,5) size 24x14
+            text run at (457,5) width 24: "div"
+        RenderText {#text} at (480,0) size 77x19
+          text run at (480,0) width 77: ", we have a "
+        RenderInline {CODE} at (0,0) size 9x14
+          RenderText {#text} at (556,5) size 9x14
+            text run at (556,5) width 9: "p"
+        RenderText {#text} at (564,0) size 781x39
+          text run at (564,0) width 217: " (paragraph) tag, after which we'd"
+          text run at (0,20) width 475: "like to insert generated content. One way to do so would be the following:"
+      RenderBlock {PRE} at (20,209) size 764x15 [color=#FF0000]
+        RenderInline {CODE} at (0,0) size 445x14
+          RenderText {#text} at (0,0) size 445x14
+            text run at (0,0) width 445: "div.box.one p:after{ content:'generated content here!'; }"
+      RenderBlock {P} at (0,239) size 784x21
+        RenderText {#text} at (0,0) size 741x19
+          text run at (0,0) width 741: "But that doesn't work in Safari. However, if you drop one of the class names, as shown below, it works as expected:"
+      RenderBlock {PRE} at (20,275) size 764x15 [color=#008000]
+        RenderInline {CODE} at (0,0) size 414x14
+          RenderText {#text} at (0,0) size 414x14
+            text run at (0,0) width 414: "div.box p:after{ content:'generated content here!'; }"
+      RenderBlock {P} at (0,305) size 784x41
+        RenderText {#text} at (0,0) size 294x19
+          text run at (0,0) width 294: "Note also that the bug only applies to content "
+        RenderInline {EM} at (0,0) size 41x19
+          RenderText {#text} at (293,0) size 41x19
+            text run at (293,0) width 41: "within"
+        RenderText {#text} at (333,0) size 276x19
+          text run at (333,0) width 276: " the classed element \x{2014} generating content "
+        RenderInline {EM} at (0,0) size 779x39
+          RenderText {#text} at (608,0) size 779x39
+            text run at (608,0) width 171: "before or after the element"
+            text run at (0,20) width 32: "itself"
+        RenderText {#text} at (31,20) size 77x19
+          text run at (31,20) width 77: " works fine:"
+      RenderBlock {PRE} at (20,361) size 764x15 [color=#008000]
+        RenderInline {CODE} at (0,0) size 430x14
+          RenderText {#text} at (0,0) size 430x14
+            text run at (0,0) width 430: "div.box.one:after{ content:'generated content here!'; }"
+      RenderBlock {HR} at (0,388) size 784x3 [border: (1px inset #000000)]
+      RenderBlock {H2} at (0,410) size 784x31
+        RenderText {#text} at (0,1) size 477x28
+          text run at (0,1) width 477: "Example (view source to see CSS and HTML):"
+      RenderBlock {P} at (0,460) size 784x21
+        RenderText {#text} at (0,0) size 340x19
+          text run at (0,0) width 340: "Both boxes below should contain generated content ("
+        RenderInline {SPAN} at (0,0) size 53x19 [color=#008000]
+          RenderText {#text} at (339,0) size 53x19
+            text run at (339,0) width 53: "in green"
+        RenderText {#text} at (391,0) size 11x19
+          text run at (391,0) width 11: "):"
+      RenderBlock {DIV} at (0,505) size 784x169 [border: (1px solid #000000)]
+        RenderBlock {H3} at (26,44) size 732x24
+          RenderText {#text} at (0,0) size 46x22
+            text run at (0,0) width 46: "Box 1"
+        RenderBlock {P} at (26,86) size 732x41
+          RenderBlock (anonymous) at (0,0) size 732x20
+            RenderText {#text} at (0,0) size 661x19
+              text run at (0,0) width 661: "This box should contain the text \"generated content\" in CSS2-compliant browsers (but won't in Safari)."
+          RenderBlock (generated) at (0,20) size 732x20 [color=#008000]
+            RenderText at (0,0) size 114x19
+              text run at (0,0) width 114: "generated content"
+      RenderBlock {DIV} at (0,698) size 784x170 [border: (1px solid #000000)]
+        RenderBlock {H3} at (26,44) size 732x24
+          RenderText {#text} at (0,0) size 46x22
+            text run at (0,0) width 46: "Box 2"
+        RenderBlock {P} at (26,86) size 732x41
+          RenderBlock (anonymous) at (0,0) size 732x20
+            RenderText {#text} at (0,0) size 639x19
+              text run at (0,0) width 639: "This box should contain the text \"generated content\" in CSS2-compliant browsers, including Safari."
+          RenderBlock (generated) at (0,20) size 732x20 [color=#008000]
+            RenderText at (0,0) size 114x19
+              text run at (0,0) width 114: "generated content"
diff --git a/LayoutTests/platform/ios-12/fast/css/apple-system-colors-expected.txt b/LayoutTests/platform/ios-12/fast/css/apple-system-colors-expected.txt
new file mode 100644 (file)
index 0000000..83a9332
--- /dev/null
@@ -0,0 +1,11 @@
+-apple-system-blue : rgb(0, 122, 255)
+-apple-system-brown : rgba(0, 0, 0, 0)
+-apple-system-gray : rgb(142, 142, 147)
+-apple-system-green : rgb(76, 217, 100)
+-apple-system-orange : rgb(255, 149, 0)
+-apple-system-pink : rgb(255, 45, 85)
+-apple-system-purple : rgb(88, 86, 214)
+-apple-system-red : rgb(255, 59, 48)
+-apple-system-yellow : rgb(255, 204, 0)
+-apple-wireless-playback-target-active : rgb(0, 122, 255)
+current-color with inherited -apple-system-blue : rgb(0, 122, 255)
diff --git a/LayoutTests/platform/ios-12/fast/css/beforeSelectorOnCodeElement-expected.txt b/LayoutTests/platform/ios-12/fast/css/beforeSelectorOnCodeElement-expected.txt
new file mode 100644 (file)
index 0000000..560dfba
--- /dev/null
@@ -0,0 +1,24 @@
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+    RenderBody {BODY} at (8,8) size 784x584
+      RenderBlock {P} at (0,0) size 784x20
+        RenderText {#text} at (0,0) size 733x19
+          text run at (0,0) width 733: "The word \"PASSED\" should be shown below with a cirlce before and a square after. This is a test for WebKit bug "
+        RenderInline {A} at (0,0) size 40x19 [color=#0000EE]
+          RenderText {#text} at (732,0) size 40x19
+            text run at (732,0) width 40: "11197"
+        RenderText {#text} at (771,0) size 5x19
+          text run at (771,0) width 5: "."
+      RenderBlock (anonymous) at (0,36) size 784x15
+        RenderInline {CODE} at (0,0) size 63x14
+          RenderInline (generated) at (0,0) size 8x14
+            RenderCounter at (0,1) size 8x14
+              text run at (0,1) width 8: "\x{25E6}"
+          RenderText {#text} at (7,1) size 48x14
+            text run at (7,1) width 48: "PASSED"
+          RenderInline (generated) at (0,0) size 9x14
+            RenderCounter at (54,1) size 9x14
+              text run at (54,1) width 9: "\x{25A0}"
+        RenderText {#text} at (0,0) size 0x0
diff --git a/LayoutTests/platform/ios-12/fast/css/line-height-font-order-expected.txt b/LayoutTests/platform/ios-12/fast/css/line-height-font-order-expected.txt
new file mode 100644 (file)
index 0000000..0d08623
--- /dev/null
@@ -0,0 +1,21 @@
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x196
+  RenderBlock {HTML} at (0,0) size 800x196
+    RenderBody {BODY} at (8,15) size 784x166
+      RenderBlock {P} at (0,0) size 784x75
+        RenderText {#text} at (0,28) size 95x18
+          text run at (0,28) width 95: "This tests bug "
+        RenderInline {A} at (0,0) size 651x18 [color=#0000EE]
+          RenderText {#text} at (94,28) size 651x18
+            text run at (94,28) width 651: "Bug 13174: line-height in font shorthand does not override a previously stated line-height property"
+        RenderText {#text} at (744,28) size 6x18
+          text run at (744,28) width 6: "."
+      RenderBlock {P} at (0,90) size 784x76
+        RenderText {#text} at (0,28) size 130x18
+          text run at (0,28) width 130: "This text should be "
+        RenderInline {CODE} at (0,0) size 190x16
+          RenderText {#text} at (129,30) size 190x16
+            text run at (129,30) width 190: "font:15px/5em Georgia"
+        RenderText {#text} at (318,28) size 5x18
+          text run at (318,28) width 5: "."
diff --git a/LayoutTests/platform/ios-12/fast/table/col-and-colgroup-offsets-expected.txt b/LayoutTests/platform/ios-12/fast/table/col-and-colgroup-offsets-expected.txt
new file mode 100644 (file)
index 0000000..1779fda
--- /dev/null
@@ -0,0 +1,93 @@
+This test checks that offset{Left, Top, Width, Height} work for table columns and column groups.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+
+When borderCollapse == "separate"
+
+Tests for offsetLeft:
+PASS document.getElementById("productNo").parentNode.offsetLeft is document.getElementById("row1Cell1").offsetLeft
+PASS document.getElementById("productNo").offsetLeft is document.getElementById("row1Cell1").offsetLeft
+PASS document.getElementById("productName").offsetLeft is document.getElementById("row1Cell2").offsetLeft
+PASS document.getElementById("hasMAndHasNAndHasO").offsetLeft is document.getElementById("row1Cell3").offsetLeft
+PASS document.getElementById("hasMAndHasN").offsetLeft is document.getElementById("row1Cell3").offsetLeft
+PASS document.getElementById("hasO").offsetLeft is document.getElementById("row1Cell5").offsetLeft
+PASS document.getElementById("hasP").offsetLeft is document.getElementById("row1Cell6").offsetLeft
+PASS document.getElementById("columnThatShouldNotBeRendered").offsetLeft is 0
+
+Tests for offsetTop:
+FAIL document.getElementById("productNo").parentNode.offsetTop should be 26. Was 22.
+FAIL document.getElementById("productNo").offsetTop should be 26. Was 22.
+FAIL document.getElementById("productName").offsetTop should be 26. Was 22.
+FAIL document.getElementById("hasMAndHasNAndHasO").offsetTop should be 26. Was 22.
+FAIL document.getElementById("hasMAndHasN").offsetTop should be 26. Was 22.
+FAIL document.getElementById("hasO").offsetTop should be 26. Was 22.
+FAIL document.getElementById("hasP").offsetTop should be 26. Was 22.
+PASS document.getElementById("columnThatShouldNotBeRendered").offsetTop is 0
+
+Tests for offsetWidth:
+FAIL document.getElementById("productNo").parentNode.offsetWidth should be 182. Was 183.
+PASS document.getElementById("productNo").offsetWidth is 88
+PASS document.getElementById("productName").offsetWidth is 90
+PASS document.getElementById("hasMAndHasNAndHasO").offsetWidth is 157
+PASS document.getElementById("hasMAndHasN").offsetWidth is 104
+PASS document.getElementById("hasO").offsetWidth is 49
+PASS document.getElementById("hasP").offsetWidth is 46
+PASS document.getElementById("columnThatShouldNotBeRendered").offsetWidth is 0
+
+Tests for offsetHeight:
+FAIL document.getElementById("productNo").parentNode.offsetHeight should be 131. Was 139.
+FAIL document.getElementById("productNo").offsetHeight should be 131. Was 139.
+FAIL document.getElementById("productName").offsetHeight should be 131. Was 139.
+FAIL document.getElementById("hasMAndHasNAndHasO").offsetHeight should be 131. Was 139.
+FAIL document.getElementById("hasMAndHasN").offsetHeight should be 131. Was 139.
+FAIL document.getElementById("hasO").offsetHeight should be 131. Was 139.
+FAIL document.getElementById("hasP").offsetHeight should be 131. Was 139.
+PASS document.getElementById("columnThatShouldNotBeRendered").offsetHeight is 0
+
+When borderCollapse == "collapse"
+
+Tests for offsetLeft:
+PASS document.getElementById("productNo").parentNode.offsetLeft is document.getElementById("row1Cell1").offsetLeft
+PASS document.getElementById("productNo").offsetLeft is document.getElementById("row1Cell1").offsetLeft
+PASS document.getElementById("productName").offsetLeft is document.getElementById("row1Cell2").offsetLeft
+PASS document.getElementById("hasMAndHasNAndHasO").offsetLeft is document.getElementById("row1Cell3").offsetLeft
+PASS document.getElementById("hasMAndHasN").offsetLeft is document.getElementById("row1Cell3").offsetLeft
+PASS document.getElementById("hasO").offsetLeft is document.getElementById("row1Cell5").offsetLeft
+PASS document.getElementById("hasP").offsetLeft is document.getElementById("row1Cell6").offsetLeft
+PASS document.getElementById("columnThatShouldNotBeRendered").offsetLeft is 0
+
+Tests for offsetTop:
+PASS document.getElementById("productNo").parentNode.offsetTop is 21
+PASS document.getElementById("productNo").offsetTop is 21
+PASS document.getElementById("productName").offsetTop is 21
+PASS document.getElementById("hasMAndHasNAndHasO").offsetTop is 21
+PASS document.getElementById("hasMAndHasN").offsetTop is 21
+PASS document.getElementById("hasO").offsetTop is 21
+PASS document.getElementById("hasP").offsetTop is 21
+PASS document.getElementById("columnThatShouldNotBeRendered").offsetTop is 0
+
+Tests for offsetWidth:
+FAIL document.getElementById("productNo").parentNode.offsetWidth should be 174. Was 175.
+PASS document.getElementById("productNo").offsetWidth is 86
+PASS document.getElementById("productName").offsetWidth is 88
+PASS document.getElementById("hasMAndHasNAndHasO").offsetWidth is 143
+PASS document.getElementById("hasMAndHasN").offsetWidth is 96
+PASS document.getElementById("hasO").offsetWidth is 47
+PASS document.getElementById("hasP").offsetWidth is 44
+PASS document.getElementById("columnThatShouldNotBeRendered").offsetWidth is 0
+
+Tests for offsetHeight:
+PASS document.getElementById("productNo").parentNode.offsetHeight is 111
+PASS document.getElementById("productNo").offsetHeight is 111
+PASS document.getElementById("productName").offsetHeight is 111
+PASS document.getElementById("hasMAndHasNAndHasO").offsetHeight is 111
+PASS document.getElementById("hasMAndHasN").offsetHeight is 111
+PASS document.getElementById("hasO").offsetHeight is 111
+PASS document.getElementById("hasP").offsetHeight is 111
+PASS document.getElementById("columnThatShouldNotBeRendered").offsetHeight is 0
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/LayoutTests/platform/ios-12/fast/text/hyphenate-avoid-orphaned-word-expected.txt b/LayoutTests/platform/ios-12/fast/text/hyphenate-avoid-orphaned-word-expected.txt
new file mode 100644 (file)
index 0000000..ea51fef
--- /dev/null
@@ -0,0 +1,93 @@
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+    RenderBody {BODY} at (8,8) size 784x584
+      RenderBlock (floating) {DIV} at (4,0) size 344x242
+        RenderBlock {P} at (0,16) size 344x20
+          RenderText {#text} at (0,0) size 208x19
+            text run at (0,0) width 208: "The initial value (should be like "
+          RenderInline {TT} at (0,0) size 33x14
+            RenderText {#text} at (207,5) size 33x14
+              text run at (207,5) width 33: "auto"
+          RenderText {#text} at (239,0) size 6x19
+            text run at (239,0) width 6: ")"
+        RenderBlock {DIV} at (0,52) size 344x190 [border: (3px solid #000000)]
+          RenderBlock (floating) {DIV} at (262,7) size 75x90 [bgcolor=#F0F8FF]
+          RenderText {#text} at (7,7) size 330x175
+            text run at (7,7) width 245: "The chief difficulty Alice found"
+            text run at (7,29) width 245: "at first was in managing her"
+            text run at (7,51) width 245: "flamingo: she succeeded in get" + hyphen string "-"
+            text run at (7,73) width 209: "ting its body tucked away, "
+            text run at (215,73) width 37: "com" + hyphen string "-"
+            text run at (7,95) width 245: "fortably enough, under her arm,"
+            text run at (7,117) width 228: "with its legs hanging down, "
+            text run at (234,117) width 103: "but generally,"
+            text run at (7,139) width 330: "just as she had got its neck nicely"
+            text run at (7,161) width 93: "straightened."
+      RenderBlock (floating) {DIV} at (356,0) size 344x242
+        RenderBlock {P} at (0,16) size 344x20
+          RenderText {#text} at (0,0) size 83x19
+            text run at (0,0) width 83: "The default ("
+          RenderInline {TT} at (0,0) size 196x14
+            RenderText {#text} at (82,5) size 196x14
+              text run at (82,5) width 196: "hyphenate-character: auto"
+          RenderText {#text} at (277,0) size 6x19
+            text run at (277,0) width 6: ")"
+        RenderBlock {DIV} at (0,52) size 344x190 [border: (3px solid #000000)]
+          RenderBlock (floating) {DIV} at (262,7) size 75x90 [bgcolor=#F0F8FF]
+          RenderText {#text} at (7,7) size 330x175
+            text run at (7,7) width 245: "The chief difficulty Alice found"
+            text run at (7,29) width 245: "at first was in managing her"
+            text run at (7,51) width 245: "flamingo: she succeeded in get" + hyphen string "-"
+            text run at (7,73) width 209: "ting its body tucked away, "
+            text run at (215,73) width 37: "com" + hyphen string "-"
+            text run at (7,95) width 245: "fortably enough, under her arm,"
+            text run at (7,117) width 228: "with its legs hanging down, "
+            text run at (234,117) width 103: "but generally,"
+            text run at (7,139) width 330: "just as she had got its neck nicely"
+            text run at (7,161) width 93: "straightened."
+      RenderBlock (floating) {DIV} at (4,242) size 344x242
+        RenderBlock {P} at (0,16) size 344x20
+          RenderText {#text} at (0,0) size 49x19
+            text run at (0,0) width 49: "Bullet ("
+          RenderInline {TT} at (0,0) size 219x14
+            RenderText {#text} at (48,5) size 219x14
+              text run at (48,5) width 219: "hyphenate-character: \"\\2022\""
+          RenderText {#text} at (266,0) size 7x19
+            text run at (266,0) width 7: ")"
+        RenderBlock {DIV} at (0,52) size 344x190 [border: (3px solid #000000)]
+          RenderBlock (floating) {DIV} at (262,7) size 75x90 [bgcolor=#F0F8FF]
+          RenderText {#text} at (7,7) size 330x175
+            text run at (7,7) width 245: "The chief difficulty Alice found"
+            text run at (7,29) width 245: "at first was in managing her"
+            text run at (7,51) width 245: "flamingo: she succeeded in get" + hyphen string "\x{2022}"
+            text run at (7,73) width 208: "ting its body tucked away, "
+            text run at (214,73) width 38: "com" + hyphen string "\x{2022}"
+            text run at (7,95) width 245: "fortably enough, under her arm,"
+            text run at (7,117) width 228: "with its legs hanging down, "
+            text run at (234,117) width 103: "but generally,"
+            text run at (7,139) width 330: "just as she had got its neck nicely"
+            text run at (7,161) width 93: "straightened."
+      RenderBlock (floating) {DIV} at (356,242) size 356x242
+        RenderBlock {P} at (0,16) size 356x20
+          RenderText {#text} at (0,0) size 140x19
+            text run at (0,0) width 140: "Middle dot and tilde ("
+          RenderInline {TT} at (0,0) size 212x14
+            RenderText {#text} at (139,5) size 212x14
+              text run at (139,5) width 212: "hyphenate-character: \"\\B7~\""
+          RenderText {#text} at (350,0) size 6x19
+            text run at (350,0) width 6: ")"
+        RenderBlock {DIV} at (0,52) size 344x190 [border: (3px solid #000000)]
+          RenderBlock (floating) {DIV} at (262,7) size 75x90 [bgcolor=#F0F8FF]
+          RenderText {#text} at (7,7) size 330x175
+            text run at (7,7) width 245: "The chief difficulty Alice found"
+            text run at (7,29) width 245: "at first was in managing her"
+            text run at (7,51) width 245: "flamingo: she succeeded in get" + hyphen string "\x{B7}~"
+            text run at (7,73) width 199: "ting its body tucked away, "
+            text run at (205,73) width 47: "com" + hyphen string "\x{B7}~"
+            text run at (7,95) width 245: "fortably enough, under her arm,"
+            text run at (7,117) width 228: "with its legs hanging down, "
+            text run at (234,117) width 103: "but generally,"
+            text run at (7,139) width 330: "just as she had got its neck nicely"
+            text run at (7,161) width 93: "straightened."
diff --git a/LayoutTests/platform/ios-12/fast/text/hyphenate-character-expected.txt b/LayoutTests/platform/ios-12/fast/text/hyphenate-character-expected.txt
new file mode 100644 (file)
index 0000000..503ed53
--- /dev/null
@@ -0,0 +1,109 @@
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+    RenderBody {BODY} at (8,8) size 784x584
+      RenderBlock (floating) {DIV} at (4,0) size 344x286
+        RenderBlock {P} at (0,16) size 344x20
+          RenderText {#text} at (0,0) size 208x19
+            text run at (0,0) width 208: "The initial value (should be like "
+          RenderInline {TT} at (0,0) size 33x14
+            RenderText {#text} at (207,5) size 33x14
+              text run at (207,5) width 33: "auto"
+          RenderText {#text} at (239,0) size 6x19
+            text run at (239,0) width 6: ")"
+        RenderBlock {DIV} at (0,52) size 344x234 [border: (3px solid #000000)]
+          RenderBlock (floating) {DIV} at (262,7) size 75x90 [bgcolor=#F0F8FF]
+          RenderText {#text} at (7,7) size 330x219
+            text run at (7,7) width 245: "The chief difficulty Alice found"
+            text run at (7,29) width 245: "at first was in managing her"
+            text run at (7,51) width 245: "flamingo: she succeeded in get" + hyphen string "-"
+            text run at (7,73) width 209: "ting its body tucked away, "
+            text run at (215,73) width 37: "com" + hyphen string "-"
+            text run at (7,95) width 245: "fortably enough, under her arm,"
+            text run at (7,117) width 228: "with its legs hanging down, "
+            text run at (234,117) width 103: "but generally,"
+            text run at (7,139) width 330: "just as she had got its neck nicely straight" + hyphen string "-"
+            text run at (7,161) width 39: "ened "
+            text run at (45,161) width 292: "out, and was going to give the hedgehog"
+            text run at (7,183) width 196: "a blow with its head, it "
+            text run at (202,183) width 135: "would twist itself"
+            text run at (7,205) width 230: "round and look up in her face\x{2026}"
+      RenderBlock (floating) {DIV} at (356,0) size 344x286
+        RenderBlock {P} at (0,16) size 344x20
+          RenderText {#text} at (0,0) size 83x19
+            text run at (0,0) width 83: "The default ("
+          RenderInline {TT} at (0,0) size 196x14
+            RenderText {#text} at (82,5) size 196x14
+              text run at (82,5) width 196: "hyphenate-character: auto"
+          RenderText {#text} at (277,0) size 6x19
+            text run at (277,0) width 6: ")"
+        RenderBlock {DIV} at (0,52) size 344x234 [border: (3px solid #000000)]
+          RenderBlock (floating) {DIV} at (262,7) size 75x90 [bgcolor=#F0F8FF]
+          RenderText {#text} at (7,7) size 330x219
+            text run at (7,7) width 245: "The chief difficulty Alice found"
+            text run at (7,29) width 245: "at first was in managing her"
+            text run at (7,51) width 245: "flamingo: she succeeded in get" + hyphen string "-"
+            text run at (7,73) width 209: "ting its body tucked away, "
+            text run at (215,73) width 37: "com" + hyphen string "-"
+            text run at (7,95) width 245: "fortably enough, under her arm,"
+            text run at (7,117) width 228: "with its legs hanging down, "
+            text run at (234,117) width 103: "but generally,"
+            text run at (7,139) width 330: "just as she had got its neck nicely straight" + hyphen string "-"
+            text run at (7,161) width 39: "ened "
+            text run at (45,161) width 292: "out, and was going to give the hedgehog"
+            text run at (7,183) width 196: "a blow with its head, it "
+            text run at (202,183) width 135: "would twist itself"
+            text run at (7,205) width 230: "round and look up in her face\x{2026}"
+      RenderBlock (floating) {DIV} at (4,286) size 344x286
+        RenderBlock {P} at (0,16) size 344x20
+          RenderText {#text} at (0,0) size 49x19
+            text run at (0,0) width 49: "Bullet ("
+          RenderInline {TT} at (0,0) size 219x14
+            RenderText {#text} at (48,5) size 219x14
+              text run at (48,5) width 219: "hyphenate-character: \"\\2022\""
+          RenderText {#text} at (266,0) size 7x19
+            text run at (266,0) width 7: ")"
+        RenderBlock {DIV} at (0,52) size 344x234 [border: (3px solid #000000)]
+          RenderBlock (floating) {DIV} at (262,7) size 75x90 [bgcolor=#F0F8FF]
+          RenderText {#text} at (7,7) size 330x219
+            text run at (7,7) width 245: "The chief difficulty Alice found"
+            text run at (7,29) width 245: "at first was in managing her"
+            text run at (7,51) width 245: "flamingo: she succeeded in get" + hyphen string "\x{2022}"
+            text run at (7,73) width 208: "ting its body tucked away, "
+            text run at (214,73) width 38: "com" + hyphen string "\x{2022}"
+            text run at (7,95) width 245: "fortably enough, under her arm,"
+            text run at (7,117) width 228: "with its legs hanging down, "
+            text run at (234,117) width 103: "but generally,"
+            text run at (7,139) width 330: "just as she had got its neck nicely straight" + hyphen string "\x{2022}"
+            text run at (7,161) width 39: "ened "
+            text run at (45,161) width 292: "out, and was going to give the hedgehog"
+            text run at (7,183) width 196: "a blow with its head, it "
+            text run at (202,183) width 135: "would twist itself"
+            text run at (7,205) width 230: "round and look up in her face\x{2026}"
+      RenderBlock (floating) {DIV} at (356,286) size 356x286
+        RenderBlock {P} at (0,16) size 356x20
+          RenderText {#text} at (0,0) size 140x19
+            text run at (0,0) width 140: "Middle dot and tilde ("
+          RenderInline {TT} at (0,0) size 212x14
+            RenderText {#text} at (139,5) size 212x14
+              text run at (139,5) width 212: "hyphenate-character: \"\\B7~\""
+          RenderText {#text} at (350,0) size 6x19
+            text run at (350,0) width 6: ")"
+        RenderBlock {DIV} at (0,52) size 344x234 [border: (3px solid #000000)]
+          RenderBlock (floating) {DIV} at (262,7) size 75x90 [bgcolor=#F0F8FF]
+          RenderText {#text} at (7,7) size 330x219
+            text run at (7,7) width 245: "The chief difficulty Alice found"
+            text run at (7,29) width 245: "at first was in managing her"
+            text run at (7,51) width 245: "flamingo: she succeeded in get" + hyphen string "\x{B7}~"
+            text run at (7,73) width 199: "ting its body tucked away, "
+            text run at (205,73) width 47: "com" + hyphen string "\x{B7}~"
+            text run at (7,95) width 245: "fortably enough, under her arm,"
+            text run at (7,117) width 228: "with its legs hanging down, "
+            text run at (234,117) width 103: "but generally,"
+            text run at (7,139) width 330: "just as she had got its neck nicely straight" + hyphen string "\x{B7}~"
+            text run at (7,161) width 39: "ened "
+            text run at (45,161) width 292: "out, and was going to give the hedgehog"
+            text run at (7,183) width 196: "a blow with its head, it "
+            text run at (202,183) width 135: "would twist itself"
+            text run at (7,205) width 230: "round and look up in her face\x{2026}"
diff --git a/LayoutTests/platform/ios-12/fast/text/hyphens-expected.txt b/LayoutTests/platform/ios-12/fast/text/hyphens-expected.txt
new file mode 100644 (file)
index 0000000..20968ba
--- /dev/null
@@ -0,0 +1,99 @@
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+    RenderBody {BODY} at (8,8) size 784x584
+      RenderBlock (floating) {DIV} at (4,0) size 344x286
+        RenderBlock {P} at (0,16) size 344x20
+          RenderInline {TT} at (0,0) size 118x14
+            RenderText {#text} at (0,5) size 118x14
+              text run at (0,5) width 118: "hyphens: manual"
+          RenderText {#text} at (117,0) size 139x19
+            text run at (117,0) width 139: " without soft hyphens"
+        RenderBlock {DIV} at (0,52) size 344x234 [border: (3px solid #000000)]
+          RenderBlock (floating) {DIV} at (262,7) size 75x90 [bgcolor=#F0F8FF]
+          RenderText {#text} at (7,7) size 330x219
+            text run at (7,7) width 245: "The chief difficulty Alice found"
+            text run at (7,29) width 245: "at first was in managing her"
+            text run at (7,51) width 245: "flamingo: she succeeded in"
+            text run at (7,73) width 245: "getting its body tucked away,"
+            text run at (7,95) width 245: "comfortably enough, under her"
+            text run at (7,117) width 307: "arm, with its legs hanging down, "
+            text run at (313,117) width 24: "but"
+            text run at (7,139) width 330: "generally, just as she had got its neck nicely"
+            text run at (7,161) width 96: "straightened "
+            text run at (102,161) width 235: "out, and was going to give the"
+            text run at (7,183) width 246: "hedgehog a blow with its head, it "
+            text run at (252,183) width 85: "would twist"
+            text run at (7,205) width 271: "itself round and look up in her face\x{2026}"
+      RenderBlock (floating) {DIV} at (356,0) size 344x286
+        RenderBlock {P} at (0,16) size 344x20
+          RenderInline {TT} at (0,0) size 102x14
+            RenderText {#text} at (0,5) size 102x14
+              text run at (0,5) width 102: "hyphens: none"
+          RenderText {#text} at (101,0) size 119x19
+            text run at (101,0) width 119: " with soft hyphens"
+        RenderBlock {DIV} at (0,52) size 344x234 [border: (3px solid #000000)]
+          RenderBlock (floating) {DIV} at (262,7) size 75x90 [bgcolor=#F0F8FF]
+          RenderText {#text} at (7,7) size 330x219
+            text run at (7,7) width 245: "The chief difficulty Alice found"
+            text run at (7,29) width 245: "at first was in managing her"
+            text run at (7,51) width 245: "flamingo: she succeeded in"
+            text run at (7,73) width 245: "get\x{AD}ting its body tucked away,"
+            text run at (7,95) width 245: "com\x{AD}fortably enough, under her"
+            text run at (7,117) width 307: "arm, with its legs hanging down, "
+            text run at (313,117) width 24: "but"
+            text run at (7,139) width 330: "generally, just as she had got its neck nicely"
+            text run at (7,161) width 96: "straight\x{AD}ened "
+            text run at (102,161) width 235: "out, and was going to give the"
+            text run at (7,183) width 246: "hedge\x{AD}hog a blow with its head, it "
+            text run at (252,183) width 85: "would twist"
+            text run at (7,205) width 271: "itself round and look up in her face\x{2026}"
+      RenderBlock (floating) {DIV} at (4,286) size 344x286
+        RenderBlock {P} at (0,16) size 344x20
+          RenderInline {TT} at (0,0) size 118x14
+            RenderText {#text} at (0,5) size 118x14
+              text run at (0,5) width 118: "hyphens: manual"
+          RenderText {#text} at (117,0) size 118x19
+            text run at (117,0) width 118: " with soft hyphens"
+        RenderBlock {DIV} at (0,52) size 344x234 [border: (3px solid #000000)]
+          RenderBlock (floating) {DIV} at (262,7) size 75x90 [bgcolor=#F0F8FF]
+          RenderText {#text} at (7,7) size 330x219
+            text run at (7,7) width 245: "The chief difficulty Alice found"
+            text run at (7,29) width 245: "at first was in managing her"
+            text run at (7,51) width 245: "flamingo: she succeeded in get\x{AD}" + hyphen string "-"
+            text run at (7,73) width 209: "ting its body tucked away, "
+            text run at (215,73) width 37: "com\x{AD}" + hyphen string "-"
+            text run at (7,95) width 245: "fortably enough, under her arm,"
+            text run at (7,117) width 228: "with its legs hanging down, "
+            text run at (234,117) width 103: "but generally,"
+            text run at (7,139) width 330: "just as she had got its neck nicely straight\x{AD}" + hyphen string "-"
+            text run at (7,161) width 39: "ened "
+            text run at (45,161) width 292: "out, and was going to give the hedge\x{AD}hog"
+            text run at (7,183) width 196: "a blow with its head, it "
+            text run at (202,183) width 135: "would twist itself"
+            text run at (7,205) width 230: "round and look up in her face\x{2026}"
+      RenderBlock (floating) {DIV} at (356,286) size 344x286
+        RenderBlock {P} at (0,16) size 344x20
+          RenderInline {TT} at (0,0) size 102x14
+            RenderText {#text} at (0,5) size 102x14
+              text run at (0,5) width 102: "hyphens: auto"
+          RenderText {#text} at (101,0) size 139x19
+            text run at (101,0) width 139: " without soft hyphens"
+        RenderBlock {DIV} at (0,52) size 344x234 [border: (3px solid #000000)]
+          RenderBlock (floating) {DIV} at (262,7) size 75x90 [bgcolor=#F0F8FF]
+          RenderText {#text} at (7,7) size 330x219
+            text run at (7,7) width 245: "The chief difficulty Alice found"
+            text run at (7,29) width 245: "at first was in managing her"
+            text run at (7,51) width 245: "flamingo: she succeeded in get" + hyphen string "-"
+            text run at (7,73) width 209: "ting its body tucked away, "
+            text run at (215,73) width 37: "com" + hyphen string "-"
+            text run at (7,95) width 245: "fortably enough, under her arm,"
+            text run at (7,117) width 228: "with its legs hanging down, "
+            text run at (234,117) width 103: "but generally,"
+            text run at (7,139) width 330: "just as she had got its neck nicely straight" + hyphen string "-"
+            text run at (7,161) width 39: "ened "
+            text run at (45,161) width 292: "out, and was going to give the hedgehog"
+            text run at (7,183) width 196: "a blow with its head, it "
+            text run at (202,183) width 135: "would twist itself"
+            text run at (7,205) width 230: "round and look up in her face\x{2026}"
diff --git a/LayoutTests/platform/ios-12/http/tests/cookies/same-site/fetch-after-navigating-iframe-in-cross-origin-page-expected.txt b/LayoutTests/platform/ios-12/http/tests/cookies/same-site/fetch-after-navigating-iframe-in-cross-origin-page-expected.txt
new file mode 100644 (file)
index 0000000..75e165c
--- /dev/null
@@ -0,0 +1,25 @@
+
+
+--------
+Frame: '<!--frame1-->'
+--------
+Tests that Same-Site cookies for 127.0.0.1 are not sent with a frame navigation for a frame embedded in a page with a different origin.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+Cookies sent with HTTP request:
+PASS Do not have cookie "strict".
+PASS Do not have cookie "implicit-strict".
+PASS Do not have cookie "strict-because-invalid-SameSite-value".
+PASS Do not have cookie "lax".
+
+Cookies visible in DOM:
+PASS Do not have DOM cookie "strict".
+PASS Do not have DOM cookie "implicit-strict".
+PASS Do not have DOM cookie "strict-because-invalid-SameSite-value".
+PASS Do not have DOM cookie "lax".
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/LayoutTests/platform/ios-12/http/tests/cookies/same-site/fetch-after-top-level-cross-origin-redirect-expected.txt b/LayoutTests/platform/ios-12/http/tests/cookies/same-site/fetch-after-top-level-cross-origin-redirect-expected.txt
new file mode 100644 (file)
index 0000000..8a2b89f
--- /dev/null
@@ -0,0 +1,20 @@
+Tests that a SameSite Lax cookie for 127.0.0.1 is sent with a redirect from a page with a different origin.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+Cookies sent with HTTP request:
+PASS Do not have cookie "strict".
+PASS Do not have cookie "implicit-strict".
+PASS Do not have cookie "strict-because-invalid-SameSite-value".
+PASS Has cookie "lax" with value 19.
+
+Cookies visible in DOM:
+PASS Do not have DOM cookie "strict".
+PASS Do not have DOM cookie "implicit-strict".
+PASS Do not have DOM cookie "strict-because-invalid-SameSite-value".
+PASS Has DOM cookie "lax" with value 19.
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/LayoutTests/platform/ios-12/http/tests/cookies/same-site/fetch-after-top-level-navigation-from-cross-origin-page-expected.txt b/LayoutTests/platform/ios-12/http/tests/cookies/same-site/fetch-after-top-level-navigation-from-cross-origin-page-expected.txt
new file mode 100644 (file)
index 0000000..1e8a2e3
--- /dev/null
@@ -0,0 +1,20 @@
+Tests that a SameSite Lax cookie for 127.0.0.1 is sent with a top-level navigation initiated from a page with a different origin.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+Cookies sent with HTTP request:
+PASS Do not have cookie "strict".
+PASS Do not have cookie "implicit-strict".
+PASS Do not have cookie "strict-because-invalid-SameSite-value".
+PASS Has cookie "lax" with value 5.
+
+Cookies visible in DOM:
+PASS Do not have DOM cookie "strict".
+PASS Do not have DOM cookie "implicit-strict".
+PASS Do not have DOM cookie "strict-because-invalid-SameSite-value".
+PASS Has DOM cookie "lax" with value 5.
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/LayoutTests/platform/ios-12/http/tests/cookies/same-site/fetch-after-top-level-navigation-initiated-from-iframe-in-cross-origin-page-expected.txt b/LayoutTests/platform/ios-12/http/tests/cookies/same-site/fetch-after-top-level-navigation-initiated-from-iframe-in-cross-origin-page-expected.txt
new file mode 100644 (file)
index 0000000..fa2cf4f
--- /dev/null
@@ -0,0 +1,20 @@
+Tests that a SameSite Lax cookie for 127.0.0.1 is sent with a top-level navigation initiated from a frame embedded in a page with a different origin.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+Cookies sent with HTTP request:
+PASS Do not have cookie "strict".
+PASS Do not have cookie "implicit-strict".
+PASS Do not have cookie "strict-because-invalid-SameSite-value".
+PASS Has cookie "lax" with value 4.
+
+Cookies visible in DOM:
+PASS Do not have DOM cookie "strict".
+PASS Do not have DOM cookie "implicit-strict".
+PASS Do not have DOM cookie "strict-because-invalid-SameSite-value".
+PASS Has DOM cookie "lax" with value 4.
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/LayoutTests/platform/ios-12/http/tests/cookies/same-site/fetch-in-cross-origin-service-worker-expected.txt b/LayoutTests/platform/ios-12/http/tests/cookies/same-site/fetch-in-cross-origin-service-worker-expected.txt
new file mode 100644 (file)
index 0000000..86fc3a5
--- /dev/null
@@ -0,0 +1,25 @@
+
+
+--------
+Frame: '<!--frame1-->'
+--------
+Tests that Same-Site cookies for 127.0.0.1 are not sent with a request initiated from an iframe- and processed by a service worker- with a different origin.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+Cookies sent with HTTP request:
+PASS Do not have cookie "strict".
+PASS Do not have cookie "implicit-strict".
+PASS Do not have cookie "strict-because-invalid-SameSite-value".
+PASS Do not have cookie "lax".
+
+Cookies visible in DOM:
+PASS Do not have DOM cookie "strict".
+PASS Do not have DOM cookie "implicit-strict".
+PASS Do not have DOM cookie "strict-because-invalid-SameSite-value".
+PASS Do not have DOM cookie "lax".
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/LayoutTests/platform/ios-12/http/tests/cookies/same-site/popup-cross-site-expected.txt b/LayoutTests/platform/ios-12/http/tests/cookies/same-site/popup-cross-site-expected.txt
new file mode 100644 (file)
index 0000000..4c9fda7
--- /dev/null
@@ -0,0 +1,3 @@
+
+PASS '127.0.0.1' is not same-site with 'localhost', so strict samesite cookies are not sent. 
+
diff --git a/LayoutTests/platform/ios-12/http/tests/cookies/same-site/popup-cross-site-post-expected.txt b/LayoutTests/platform/ios-12/http/tests/cookies/same-site/popup-cross-site-post-expected.txt
new file mode 100644 (file)
index 0000000..05c1dc1
--- /dev/null
@@ -0,0 +1,3 @@
+
+PASS '127.0.0.1' is not same-site with 'localhost', so samesite cookies are not sent via POST. 
+
diff --git a/LayoutTests/platform/ios-12/http/tests/cookies/same-site/popup-same-site-via-cross-site-redirect-expected.txt b/LayoutTests/platform/ios-12/http/tests/cookies/same-site/popup-same-site-via-cross-site-redirect-expected.txt
new file mode 100644 (file)
index 0000000..39aa2ba
--- /dev/null
@@ -0,0 +1,3 @@
+
+PASS '127.0.0.1' is same-site with itself, so samesite cookies are sent. 
+
diff --git a/LayoutTests/platform/ios-12/imported/w3c/web-platform-tests/fetch/api/basic/header-value-combining.any-expected.txt b/LayoutTests/platform/ios-12/imported/w3c/web-platform-tests/fetch/api/basic/header-value-combining.any-expected.txt
new file mode 100644 (file)
index 0000000..693caab
--- /dev/null
@@ -0,0 +1,8 @@
+
+PASS response.headers.get('content-length') expects 0 
+PASS response.headers.get('content-length') expects 0, 0 
+FAIL response.headers.get('double-trouble') expects ,  assert_equals: expected (string) ", " but got (object) null
+PASS response.headers.get('foo-test') expects 1, 2, 3 
+FAIL response.headers.get('heya') expects , \v\f, 1, , , 2 assert_equals: expected ", \v\f, 1, , , 2" but got ", , 1, , , 2"
+PASS response.headers.get('www-authenticate') expects 1, 2, 3, 4 
+
diff --git a/LayoutTests/platform/ios-12/imported/w3c/web-platform-tests/fetch/api/basic/header-value-combining.any.worker-expected.txt b/LayoutTests/platform/ios-12/imported/w3c/web-platform-tests/fetch/api/basic/header-value-combining.any.worker-expected.txt
new file mode 100644 (file)
index 0000000..693caab
--- /dev/null
@@ -0,0 +1,8 @@
+
+PASS response.headers.get('content-length') expects 0 
+PASS response.headers.get('content-length') expects 0, 0 
+FAIL response.headers.get('double-trouble') expects ,  assert_equals: expected (string) ", " but got (object) null
+PASS response.headers.get('foo-test') expects 1, 2, 3 
+FAIL response.headers.get('heya') expects , \v\f, 1, , , 2 assert_equals: expected ", \v\f, 1, , , 2" but got ", , 1, , , 2"
+PASS response.headers.get('www-authenticate') expects 1, 2, 3, 4 
+
diff --git a/LayoutTests/platform/ios-12/imported/w3c/web-platform-tests/fetch/content-type/script.window-expected.txt b/LayoutTests/platform/ios-12/imported/w3c/web-platform-tests/fetch/content-type/script.window-expected.txt
new file mode 100644 (file)
index 0000000..c99a487
--- /dev/null
@@ -0,0 +1,33 @@
+
+PASS Loading JSONโ€ฆ 
+PASS separate text/javascript;charset=windows-1252 
+PASS separate text/javascript;";charset=windows-1252 
+FAIL separate text/javascript\f assert_unreached: Reached unreachable code
+PASS separate "text/javascript" 
+PASS separate text/ javascript 
+PASS separate text /javascript 
+PASS separate x/x text/javascript 
+FAIL combined x/x text/javascript assert_unreached: Reached unreachable code
+PASS separate x/x;charset=windows-1252 text/javascript 
+FAIL combined x/x;charset=windows-1252 text/javascript assert_unreached: Reached unreachable code
+PASS separate text/javascript x/x 
+FAIL combined text/javascript x/x assert_unreached: Reached unreachable code
+FAIL separate text/javascript; charset=windows-1252 text/javascript assert_equals: expected "รขโ€šยฌ" but got "โ‚ฌ"
+PASS combined text/javascript; charset=windows-1252 text/javascript 
+FAIL separate text/javascript;" x/x assert_unreached: Reached unreachable code
+PASS combined text/javascript;" x/x 
+FAIL separate text/javascript  assert_unreached: Reached unreachable code
+PASS combined text/javascript  
+FAIL separate text/javascript error assert_unreached: Reached unreachable code
+PASS combined text/javascript error 
+PASS separate text/javascript;charset=windows-1252 x/x text/javascript 
+FAIL combined text/javascript;charset=windows-1252 x/x text/javascript assert_equals: expected "โ‚ฌ" but got "รขโ€šยฌ"
+FAIL separate text/javascript;charset=windows-1252 error text/javascript assert_equals: expected "รขโ€šยฌ" but got "โ‚ฌ"
+PASS combined text/javascript;charset=windows-1252 error text/javascript 
+FAIL separate text/javascript;charset=windows-1252  text/javascript assert_equals: expected "รขโ€šยฌ" but got "โ‚ฌ"
+PASS combined text/javascript;charset=windows-1252  text/javascript 
+FAIL separate text/javascript;charset=windows-1252;" \" x/x assert_unreached: Reached unreachable code
+PASS combined text/javascript;charset=windows-1252;" \" x/x 
+PASS separate x/x;" x/y;\" text/javascript;charset=windows-1252;" text/javascript 
+FAIL combined x/x;" x/y;\" text/javascript;charset=windows-1252;" text/javascript assert_unreached: Reached unreachable code
+
diff --git a/LayoutTests/platform/ios-12/imported/w3c/web-platform-tests/fetch/nosniff/parsing-nosniff.window-expected.txt b/LayoutTests/platform/ios-12/imported/w3c/web-platform-tests/fetch/nosniff/parsing-nosniff.window-expected.txt
new file mode 100644 (file)
index 0000000..3c35544
--- /dev/null
@@ -0,0 +1,17 @@
+
+PASS Loading JSONโ€ฆ 
+PASS X-Content-Type-Options%3A%20NOSNIFF 
+PASS x-content-type-OPTIONS%3A%20nosniff 
+PASS X-Content-Type-Options%3A%20nosniff%2C%2C%40%23%24%23%25%25%26%5E%26%5E*()()11! 
+PASS X-Content-Type-Options%3A%20%40%23%24%23%25%25%26%5E%26%5E*()()11!%2Cnosniff 
+PASS X-Content-Type-Options%3A%20nosniff%0D%0AX-Content-Type-Options%3A%20no 
+PASS X-Content-Type-Options%3A%20no%0D%0AX-Content-Type-Options%3A%20nosniff 
+PASS X-Content-Type-Options%3A%0D%0AX-Content-Type-Options%3A%20nosniff 
+PASS X-Content-Type-Options%3A%20%2Cnosniff 
+FAIL X-Content-Type-Options%3A%20nosniff%0C assert_unreached: Script should have loaded Reached unreachable code
+FAIL X-Content-Type-Options%3A%20nosniff%0B assert_unreached: Script should have loaded Reached unreachable code
+PASS X-Content-Type-Options%3A%20nosniff%0B%2Cnosniff 
+PASS X-Content-Type-Options%3A%20'NosniFF' 
+PASS X-Content-Type-Options%3A%20%22nosniFF%22 
+PASS Content-Type-Options%3A%20nosniff 
+
diff --git a/LayoutTests/platform/ios-12/imported/w3c/web-platform-tests/xhr/getallresponseheaders-expected.txt b/LayoutTests/platform/ios-12/imported/w3c/web-platform-tests/xhr/getallresponseheaders-expected.txt
new file mode 100644 (file)
index 0000000..5c358cc
--- /dev/null
@@ -0,0 +1,9 @@
+
+PASS XMLHttpRequest: getAllResponseHeaders() 
+PASS XMLHttpRequest: getAllResponseHeaders() 1 
+PASS XMLHttpRequest: getAllResponseHeaders() 2 
+PASS XMLHttpRequest: getAllResponseHeaders() 3 
+PASS XMLHttpRequest: getAllResponseHeaders() 4 
+FAIL XMLHttpRequest: getAllResponseHeaders() 5 assert_equals: expected "heya: , \v\f, 1, , , 2\r\n" but got "heya: , , 1, , , 2\r\n"
+PASS XMLHttpRequest: getAllResponseHeaders() 6 
+
diff --git a/LayoutTests/platform/ios-12/imported/w3c/web-platform-tests/xhr/getresponseheader.any-expected.txt b/LayoutTests/platform/ios-12/imported/w3c/web-platform-tests/xhr/getresponseheader.any-expected.txt
new file mode 100644 (file)
index 0000000..076860b
--- /dev/null
@@ -0,0 +1,8 @@
+
+PASS getResponseHeader('content-length') expects 0 
+PASS getResponseHeader('content-length') expects 0, 0 
+PASS getResponseHeader('double-trouble') expects ,  
+PASS getResponseHeader('foo-test') expects 1, 2, 3 
+FAIL getResponseHeader('heya') expects , \v\f, 1, , , 2 assert_equals: expected ", \v\f, 1, , , 2" but got ", , 1, , , 2"
+PASS getResponseHeader('www-authenticate') expects 1, 2, 3, 4 
+
diff --git a/LayoutTests/platform/ios-12/imported/w3c/web-platform-tests/xhr/getresponseheader.any.worker-expected.txt b/LayoutTests/platform/ios-12/imported/w3c/web-platform-tests/xhr/getresponseheader.any.worker-expected.txt
new file mode 100644 (file)
index 0000000..076860b
--- /dev/null
@@ -0,0 +1,8 @@
+
+PASS getResponseHeader('content-length') expects 0 
+PASS getResponseHeader('content-length') expects 0, 0 
+PASS getResponseHeader('double-trouble') expects ,  
+PASS getResponseHeader('foo-test') expects 1, 2, 3 
+FAIL getResponseHeader('heya') expects , \v\f, 1, , , 2 assert_equals: expected ", \v\f, 1, , , 2" but got ", , 1, , , 2"
+PASS getResponseHeader('www-authenticate') expects 1, 2, 3, 4 
+
diff --git a/LayoutTests/platform/ios-12/platform/ios/ios/fast/text/opticalFontWithTextStyle-expected.txt b/LayoutTests/platform/ios-12/platform/ios/ios/fast/text/opticalFontWithTextStyle-expected.txt
new file mode 100644 (file)
index 0000000..cb3468e
--- /dev/null
@@ -0,0 +1,56 @@
+layer at (0,0) size 800x683
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x683
+  RenderBlock {HTML} at (0,0) size 800x683
+    RenderBody {BODY} at (8,15) size 784x660
+      RenderBlock {DIV} at (0,0) size 784x24
+        RenderText {#text} at (0,1) size 106x22
+          text run at (0,1) width 106: "H1 / Headline"
+      RenderBlock {DIV} at (0,39) size 784x39
+        RenderText {#text} at (0,1) size 133x37
+          text run at (0,1) width 133: "T0 / Title0"
+      RenderBlock {DIV} at (0,93) size 784x33
+        RenderText {#text} at (0,0) size 107x32
+          text run at (0,0) width 107: "T1 / Title1"
+      RenderBlock {DIV} at (0,141) size 784x27
+        RenderText {#text} at (0,1) size 89x25
+          text run at (0,1) width 89: "T2 / Title2"
+      RenderBlock {DIV} at (0,183) size 784x27
+        RenderText {#text} at (0,1) size 90x25
+          text run at (0,1) width 90: "T3 / Title3"
+      RenderBlock {DIV} at (0,225) size 784x50
+        RenderText {#text} at (0,1) size 187x47
+          text run at (0,1) width 187: "T4 / Title4"
+      RenderBlock {DIV} at (0,290) size 784x24
+        RenderText {#text} at (0,1) size 706x22
+          text run at (0,1) width 706: "Body Text: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque ornare ornare mi"
+      RenderBlock {DIV} at (0,329) size 784x26
+        RenderText {#text} at (0,2) size 736x22
+          text run at (0,2) width 736: "Tall Body Text: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque ornare ornare mi"
+      RenderBlock {DIV} at (0,370) size 784x22
+        RenderText {#text} at (0,1) size 85x19
+          text run at (0,1) width 85: "Subheadline"
+      RenderBlock {DIV} at (0,407) size 784x20
+        RenderText {#text} at (0,1) size 83x17
+          text run at (0,1) width 83: "FN / Footnote"
+      RenderBlock {DIV} at (0,442) size 784x17
+        RenderText {#text} at (0,1) size 96x15
+          text run at (0,1) width 96: "Cap 1 / Caption 1"
+      RenderBlock {DIV} at (0,474) size 784x14
+        RenderText {#text} at (0,0) size 92x14
+          text run at (0,0) width 92: "Cap 2 / Caption 2"
+      RenderBlock {DIV} at (0,503) size 784x22
+        RenderText {#text} at (0,0) size 154x22
+          text run at (0,0) width 154: "Short H1 / Headline"
+      RenderBlock {DIV} at (0,540) size 784x22
+        RenderText {#text} at (0,0) size 753x22
+          text run at (0,0) width 753: "Short Body Text: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque ornare ornare mi"
+      RenderBlock {DIV} at (0,577) size 784x20
+        RenderText {#text} at (0,0) size 127x19
+          text run at (0,0) width 127: "Short Subheadline"
+      RenderBlock {DIV} at (0,612) size 784x18
+        RenderText {#text} at (0,0) size 120x17
+          text run at (0,0) width 120: "Short FN / Footnote"
+      RenderBlock {DIV} at (0,645) size 784x15
+        RenderText {#text} at (0,0) size 130x15
+          text run at (0,0) width 130: "Short Cap 1 / Caption 1"
diff --git a/LayoutTests/platform/ios-12/platform/ios/ios/fast/text/opticalFontWithWeight-expected.txt b/LayoutTests/platform/ios-12/platform/ios/ios/fast/text/opticalFontWithWeight-expected.txt
new file mode 100644 (file)
index 0000000..af99f74
--- /dev/null
@@ -0,0 +1,71 @@
+layer at (0,0) size 800x844
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x844
+  RenderBlock {HTML} at (0,0) size 800x844
+    RenderBody {BODY} at (8,8) size 784x820
+      RenderBlock {H2} at (0,0) size 784x24
+        RenderText {#text} at (0,1) size 119x22
+          text run at (0,1) width 119: "Normal Weight"
+      RenderBlock {P} at (0,40) size 784x20
+        RenderText {#text} at (0,0) size 670x20
+          text run at (0,0) width 670: "Body Text: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque ornare ornare mi"
+      RenderBlock {H2} at (0,76) size 784x24
+        RenderText {#text} at (0,1) size 91x22
+          text run at (0,1) width 91: "100 Weight"
+      RenderBlock {P} at (0,116) size 784x20
+        RenderText {#text} at (0,0) size 661x20
+          text run at (0,0) width 661: "Body Text: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque ornare ornare mi"
+      RenderBlock {H2} at (0,152) size 784x24
+        RenderText {#text} at (0,1) size 93x22
+          text run at (0,1) width 93: "200 Weight"
+      RenderBlock {P} at (0,192) size 784x20
+        RenderText {#text} at (0,0) size 661x20
+          text run at (0,0) width 661: "Body Text: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque ornare ornare mi"
+      RenderBlock {H2} at (0,228) size 784x24
+        RenderText {#text} at (0,1) size 93x22
+          text run at (0,1) width 93: "300 Weight"
+      RenderBlock {P} at (0,268) size 784x20
+        RenderText {#text} at (0,0) size 661x20
+          text run at (0,0) width 661: "Body Text: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque ornare ornare mi"
+      RenderBlock {H2} at (0,304) size 784x24
+        RenderText {#text} at (0,1) size 94x22
+          text run at (0,1) width 94: "400 Weight"
+      RenderBlock {P} at (0,344) size 784x20
+        RenderText {#text} at (0,0) size 670x20
+          text run at (0,0) width 670: "Body Text: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque ornare ornare mi"
+      RenderBlock {H2} at (0,380) size 784x24
+        RenderText {#text} at (0,1) size 93x22
+          text run at (0,1) width 93: "500 Weight"
+      RenderBlock {P} at (0,420) size 784x20
+        RenderText {#text} at (0,0) size 686x20
+          text run at (0,0) width 686: "Body Text: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque ornare ornare mi"
+      RenderBlock {H2} at (0,456) size 784x24
+        RenderText {#text} at (0,1) size 97x22
+          text run at (0,1) width 97: "Bold Weight"
+      RenderBlock {P} at (0,496) size 784x20
+        RenderText {#text} at (0,0) size 716x20
+          text run at (0,0) width 716: "Body Text: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque ornare ornare mi"
+      RenderBlock {H2} at (0,532) size 784x24
+        RenderText {#text} at (0,1) size 94x22
+          text run at (0,1) width 94: "600 Weight"
+      RenderBlock {P} at (0,572) size 784x20
+        RenderText {#text} at (0,0) size 699x20
+          text run at (0,0) width 699: "Body Text: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque ornare ornare mi"
+      RenderBlock {H2} at (0,608) size 784x24
+        RenderText {#text} at (0,1) size 92x22
+          text run at (0,1) width 92: "700 Weight"
+      RenderBlock {P} at (0,648) size 784x20
+        RenderText {#text} at (0,0) size 716x20
+          text run at (0,0) width 716: "Body Text: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque ornare ornare mi"
+      RenderBlock {H2} at (0,684) size 784x24
+        RenderText {#text} at (0,1) size 94x22
+          text run at (0,1) width 94: "800 Weight"
+      RenderBlock {P} at (0,724) size 784x20
+        RenderText {#text} at (0,0) size 741x20
+          text run at (0,0) width 741: "Body Text: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque ornare ornare mi"
+      RenderBlock {H2} at (0,760) size 784x24
+        RenderText {#text} at (0,1) size 94x22
+          text run at (0,1) width 94: "900 Weight"
+      RenderBlock {P} at (0,800) size 784x20
+        RenderText {#text} at (0,0) size 741x20
+          text run at (0,0) width 741: "Body Text: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque ornare ornare mi"
diff --git a/LayoutTests/platform/ios-12/quicklook/excel-expected.txt b/LayoutTests/platform/ios-12/quicklook/excel-expected.txt
new file mode 100644 (file)
index 0000000..a2a42ee
--- /dev/null
@@ -0,0 +1,126 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+       <key>WebMainResource</key>
+       <dict>
+               <key>WebResourceData</key>
+               <string>&lt;!DOCTYPE html&gt;&lt;html&gt;&lt;head&gt;&lt;script&gt;
+    if (window.testRunner)
+        testRunner.dumpDOMAsWebArchive();
+&lt;/script&gt;
+&lt;style&gt;
+iframe {
+    width: 100vw;
+    height: 100vh;
+}
+&lt;/style&gt;
+&lt;/head&gt;&lt;body&gt;&lt;iframe src="resources/excel.xlsx"&gt;&lt;/iframe&gt;
+&lt;/body&gt;&lt;/html&gt;</string>
+               <key>WebResourceFrameName</key>
+               <string></string>
+               <key>WebResourceMIMEType</key>
+               <string>text/html</string>
+               <key>WebResourceTextEncodingName</key>
+               <string>UTF-8</string>
+               <key>WebResourceURL</key>
+               <string>file:///LayoutTests/quicklook/excel.html</string>
+       </dict>
+       <key>WebSubframeArchives</key>
+       <array>
+               <dict>
+                       <key>WebMainResource</key>
+                       <dict>
+                               <key>WebResourceData</key>
+                               <string>&lt;html&gt;&lt;head&gt;&lt;meta charset="utf-8"&gt;&lt;meta name="viewport"&gt;&lt;link href="x-apple-ql-id://resource.css" rel="stylesheet" type="text/css" charset="utf-8"&gt;&lt;link href="x-apple-ql-id://resource.css" rel="stylesheet" type="text/css" charset="utf-8"&gt;&lt;style type="text/css"&gt;.s0.s0.s0 {font-family:Helvetica;font-size:12px; text-align:center; padding-right:2; padding-left:2; padding-bottom:0; padding-top:0;}
+.s1.s1.s1 {font-family:Helvetica; font-weight:bold; background-color:#bdc0bf; white-space:normal; padding-top:0; padding-bottom:0; border-style:solid;border-width:thin;border-color:black; padding-right:2; padding-left:2; vertical-align:top;}
+.s2.s2.s2 {font-family:Helvetica; font-weight:bold; background-color:#dbdbdb; white-space:normal; padding-top:0; padding-bottom:0; border-style:solid;border-width:thin;border-color:black; padding-right:2; padding-left:2; vertical-align:top;}
+.s3.s3.s3 {font-family:Helvetica; white-space:normal; padding-top:0; padding-bottom:0; border-style:solid;border-width:thin;border-color:black; padding-right:2; padding-left:2; vertical-align:top;}
+.s4.s4.s4 {font-family:Lucida Grande; font-weight:bold;color:#003300;font-size:16px; white-space:normal; vertical-align:top; padding-bottom:0; border-style:solid;border-width:thin;border-color:black; padding-right:2; padding-left:2; padding-top:0;}
+&lt;/style&gt;&lt;/head&gt;&lt;body&gt;&lt;div&gt;&lt;table style="width:657;" class="worksheet"&gt;&lt;colgroup&gt;&lt;col style="width:74;"&gt;&lt;col style="width:74;"&gt;&lt;col style="width:74;"&gt;&lt;col style="width:74;"&gt;&lt;col style="width:74;"&gt;&lt;col style="width:74;"&gt;&lt;col style="width:74;"&gt;&lt;col style="width:74;"&gt;&lt;col style="width:74;"&gt;&lt;/colgroup&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td colspan="9" class="s0"&gt;Table 1&lt;/td&gt;&lt;/tr&gt;&lt;tr height="20;"&gt;&lt;td class="s1"&gt; &lt;/td&gt;&lt;td class="s1"&gt; &lt;/td&gt;&lt;td class="s1"&gt; &lt;/td&gt;&lt;td class="s1"&gt; &lt;/td&gt;&lt;td class="s1"&gt; &lt;/td&gt;&lt;td class="s1"&gt; &lt;/td&gt;&lt;td class="s1"&gt; &lt;/td&gt;&lt;td class="s1"&gt; &lt;/td&gt;&lt;td class="s1"&gt; &lt;/td&gt;&lt;/tr&gt;&lt;tr height="20;"&gt;&lt;td class="s2"&gt; &lt;/td&gt;&lt;td class="s3"&gt; &lt;/td&gt;&lt;td class="s3"&gt; &lt;/td&gt;&lt;td class="s3"&gt; &lt;/td&gt;&lt;td class="s3"&gt; &lt;/td&gt;&lt;td class="s3"&gt; &lt;/td&gt;&lt;td class="s3"&gt; &lt;/td&gt;&lt;td class="s3"&gt; &lt;/td&gt;&lt;td class="s3"&gt; &lt;/td&gt;&lt;/tr&gt;&lt;tr height="170;"&gt;&lt;td class="s2"&gt; &lt;/td&gt;&lt;td class="s4"&gt;&lt;div style="width:73; overflow:hidden;"&gt;Welcome to the website for the WebKit Open Source Project!&lt;/div&gt;&lt;/td&gt;&lt;td class="s4"&gt;&lt;div style="width:73; overflow:hidden;"&gt;Welcome to the website for the WebKit Open Source Project!&lt;/div&gt;&lt;/td&gt;&lt;td class="s4"&gt;&lt;div style="width:73; overflow:hidden;"&gt;Welcome to the website for the WebKit Open Source Project!&lt;/div&gt;&lt;/td&gt;&lt;td class="s3"&gt; &lt;/td&gt;&lt;td class="s3"&gt; &lt;/td&gt;&lt;td class="s3"&gt; &lt;/td&gt;&lt;td class="s3"&gt; &lt;/td&gt;&lt;td class="s3"&gt; &lt;/td&gt;&lt;/tr&gt;&lt;tr height="338;"&gt;&lt;td class="s2"&gt; &lt;/td&gt;&lt;td class="s3"&gt;&lt;a href="http://www.apple.com/safari/"&gt;&lt;div style="width:73; overflow:hidden;"&gt;&lt;span style="font-family:Lucida Grande;color:#323232;font-size:12px;"&gt;WebKit is an open source web browser engine. WebKit is also the name of the OS X system framework version of the engine that's used by &lt;/span&gt;&lt;span style="font-family:Lucida Grande;color:#228711;font-size:12px;"&gt;Safari&lt;/span&gt;&lt;span style="font-family:Lucida Grande;color:#323232;font-size:12px;"&gt;, Dashboard, Mail, and many other OS X applications.&lt;/span&gt;&lt;/div&gt;&lt;/a&gt;&lt;/td&gt;&lt;td class="s3"&gt;&lt;a href="http://www.apple.com/safari/"&gt;&lt;div style="width:73; overflow:hidden;"&gt;&lt;span style="font-family:Lucida Grande;color:#323232;font-size:12px;"&gt;WebKit is an open source web browser engine. WebKit is also the name of the OS X system framework version of the engine that's used by &lt;/span&gt;&lt;span style="font-family:Lucida Grande;color:#228711;font-size:12px;"&gt;Safari&lt;/span&gt;&lt;span style="font-family:Lucida Grande;color:#323232;font-size:12px;"&gt;, Dashboard, Mail, and many other OS X applications.&lt;/span&gt;&lt;/div&gt;&lt;/a&gt;&lt;/td&gt;&lt;td class="s3"&gt;&lt;a href="http://www.apple.com/safari/"&gt;&lt;div style="width:73; overflow:hidden;"&gt;&lt;span style="font-family:Lucida Grande;color:#323232;font-size:12px;"&gt;WebKit is an open source web browser engine. WebKit is also the name of the OS X system framework version of the engine that's used by &lt;/span&gt;&lt;span style="font-family:Lucida Grande;color:#228711;font-size:12px;"&gt;Safari&lt;/span&gt;&lt;span style="font-family:Lucida Grande;color:#323232;font-size:12px;"&gt;, Dashboard, Mail, and many other OS X applications.&lt;/span&gt;&lt;/div&gt;&lt;/a&gt;&lt;/td&gt;&lt;td class="s3"&gt; &lt;/td&gt;&lt;td class="s3"&gt; &lt;/td&gt;&lt;td class="s3"&gt; &lt;/td&gt;&lt;td class="s3"&gt; &lt;/td&gt;&lt;td class="s3"&gt; &lt;/td&gt;&lt;/tr&gt;&lt;tr height="158;"&gt;&lt;td class="s2"&gt; &lt;/td&gt;&lt;td class="s3"&gt;&lt;a href="http://konqueror.kde.org/features/browser.php"&gt;&lt;div style="width:73; overflow:hidden;"&gt;&lt;span style="font-family:Lucida Grande;color:#323232;font-size:12px;"&gt;WebKit's HTML and JavaScript code began as a branch of the &lt;/span&gt;&lt;span style="font-family:Lucida Grande;color:#228711;font-size:12px;"&gt;KHTML&lt;/span&gt;&lt;span style="font-family:Lucida Grande;color:#323232;font-size:12px;"&gt; and KJS libraries from &lt;/span&gt;&lt;span style="font-family:Lucida Grande;color:#228711;font-size:12px;"&gt;KDE&lt;/span&gt;&lt;span style="font-family:Lucida Grande;color:#323232;font-size:12px;"&gt;.&lt;/span&gt;&lt;/div&gt;&lt;/a&gt;&lt;/td&gt;&lt;td class="s3"&gt;&lt;a href="http://konqueror.kde.org/features/browser.php"&gt;&lt;div style="width:73; overflow:hidden;"&gt;&lt;span style="font-family:Lucida Grande;color:#323232;font-size:12px;"&gt;WebKit's HTML and JavaScript code began as a branch of the &lt;/span&gt;&lt;span style="font-family:Lucida Grande;color:#228711;font-size:12px;"&gt;KHTML&lt;/span&gt;&lt;span style="font-family:Lucida Grande;color:#323232;font-size:12px;"&gt; and KJS libraries from &lt;/span&gt;&lt;span style="font-family:Lucida Grande;color:#228711;font-size:12px;"&gt;KDE&lt;/span&gt;&lt;span style="font-family:Lucida Grande;color:#323232;font-size:12px;"&gt;.&lt;/span&gt;&lt;/div&gt;&lt;/a&gt;&lt;/td&gt;&lt;td class="s3"&gt;&lt;a href="http://konqueror.kde.org/features/browser.php"&gt;&lt;div style="width:73; overflow:hidden;"&gt;&lt;span style="font-family:Lucida Grande;color:#323232;font-size:12px;"&gt;WebKit's HTML and JavaScript code began as a branch of the &lt;/span&gt;&lt;span style="font-family:Lucida Grande;color:#228711;font-size:12px;"&gt;KHTML&lt;/span&gt;&lt;span style="font-family:Lucida Grande;color:#323232;font-size:12px;"&gt; and KJS libraries from &lt;/span&gt;&lt;span style="font-family:Lucida Grande;color:#228711;font-size:12px;"&gt;KDE&lt;/span&gt;&lt;span style="font-family:Lucida Grande;color:#323232;font-size:12px;"&gt;.&lt;/span&gt;&lt;/div&gt;&lt;/a&gt;&lt;/td&gt;&lt;td class="s3"&gt; &lt;/td&gt;&lt;td class="s3"&gt; &lt;/td&gt;&lt;td class="s3"&gt; &lt;/td&gt;&lt;td class="s3"&gt; &lt;/td&gt;&lt;td class="s3"&gt; &lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;/body&gt;&lt;/html&gt;</string>
+                               <key>WebResourceFrameName</key>
+                               <string>&lt;!--frame1--&gt;</string>
+                               <key>WebResourceMIMEType</key>
+                               <string>text/html</string>
+                               <key>WebResourceTextEncodingName</key>
+                               <string>UTF-8</string>
+                               <key>WebResourceURL</key>
+                               <string>x-apple-ql-id://resource.xlsx</string>
+                       </dict>
+                       <key>WebSubresources</key>
+                       <array>
+                               <dict>
+                                       <key>WebResourceData</key>
+                                       <string>body {
+    font-family: Arial;
+    font-size: 10;
+}
+
+td {
+    white-space: pre;
+    font-family: Arial;
+    font-size: 10;
+}
+
+p {
+    margin:0;
+}
+
+table.worksheet {
+    border-collapse:collapse;
+    table-layout: fixed;
+}
+
+@media screen {
+    .showGridlines, .showGridlines td, .showGridlines th {
+        border: thin solid #d2d2df;
+    }
+}
+</string>
+                                       <key>WebResourceMIMEType</key>
+                                       <string>text/css</string>
+                                       <key>WebResourceResponse</key>
+                                       <dict>
+                                               <key>MIMEType</key>
+                                               <string>text/css</string>
+                                               <key>URL</key>
+                                               <string>x-apple-ql-id://resource.css</string>
+                                               <key>expectedContentLength</key>
+                                               <integer>-1</integer>
+                                               <key>textEncodingName</key>
+                                               <string>UTF-8</string>
+                                       </dict>
+                                       <key>WebResourceTextEncodingName</key>
+                                       <string>UTF-8</string>
+                                       <key>WebResourceURL</key>
+                                       <string>x-apple-ql-id://resource.css</string>
+                               </dict>
+                               <dict>
+                                       <key>WebResourceData</key>
+                                       <string>body {
+    -webkit-text-size-adjust: none;
+}
+</string>
+                                       <key>WebResourceMIMEType</key>
+                                       <string>text/css</string>
+                                       <key>WebResourceResponse</key>
+                                       <dict>
+                                               <key>MIMEType</key>
+                                               <string>text/css</string>
+                                               <key>URL</key>
+                                               <string>x-apple-ql-id://resource.css</string>
+                                               <key>expectedContentLength</key>
+                                               <integer>-1</integer>
+                                               <key>textEncodingName</key>
+                                               <string>UTF-8</string>
+                                       </dict>
+                                       <key>WebResourceTextEncodingName</key>
+                                       <string>UTF-8</string>
+                                       <key>WebResourceURL</key>
+                                       <string>x-apple-ql-id://resource.css</string>
+                               </dict>
+                       </array>
+               </dict>
+       </array>
+</dict>
+</plist>
diff --git a/LayoutTests/platform/ios-12/quicklook/excel-legacy-expected.txt b/LayoutTests/platform/ios-12/quicklook/excel-legacy-expected.txt
new file mode 100644 (file)
index 0000000..b688e53
--- /dev/null
@@ -0,0 +1,126 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+       <key>WebMainResource</key>
+       <dict>
+               <key>WebResourceData</key>
+               <string>&lt;!DOCTYPE html&gt;&lt;html&gt;&lt;head&gt;&lt;script&gt;
+    if (window.testRunner)
+        testRunner.dumpDOMAsWebArchive();
+&lt;/script&gt;
+&lt;style&gt;
+iframe {
+    width: 100vw;
+    height: 100vh;
+}
+&lt;/style&gt;
+&lt;/head&gt;&lt;body&gt;&lt;iframe src="resources/excel-legacy.xls"&gt;&lt;/iframe&gt;
+&lt;/body&gt;&lt;/html&gt;</string>
+               <key>WebResourceFrameName</key>
+               <string></string>
+               <key>WebResourceMIMEType</key>
+               <string>text/html</string>
+               <key>WebResourceTextEncodingName</key>
+               <string>UTF-8</string>
+               <key>WebResourceURL</key>
+               <string>file:///LayoutTests/quicklook/excel-legacy.html</string>
+       </dict>
+       <key>WebSubframeArchives</key>
+       <array>
+               <dict>
+                       <key>WebMainResource</key>
+                       <dict>
+                               <key>WebResourceData</key>
+                               <string>&lt;html&gt;&lt;head&gt;&lt;meta charset="utf-8"&gt;&lt;meta name="viewport"&gt;&lt;link href="x-apple-ql-id://resource.css" rel="stylesheet" type="text/css" charset="utf-8"&gt;&lt;link href="x-apple-ql-id://resource.css" rel="stylesheet" type="text/css" charset="utf-8"&gt;&lt;style type="text/css"&gt;.s0.s0.s0 {font-family:Helvetica; font-size:12px; padding-bottom:0; padding-right:2; padding-left:2; vertical-align:bottom; text-align:center; padding-top:0;}
+.s1.s1.s1 {font-family:Helvetica; font-weight:bold; &amp;nbsp;background-color:#bdc0bf; white-space:normal; padding-top:0; padding-bottom:0; border-style:solid;border-width:thin;border-color:black; padding-right:2; padding-left:2; vertical-align:top;}
+.s2.s2.s2 {font-family:Helvetica; font-weight:bold; &amp;nbsp;background-color:#dbdbdb; white-space:normal; padding-top:0; padding-bottom:0; border-style:solid;border-width:thin;border-color:black; padding-right:2; padding-left:2; vertical-align:top;}
+.s3.s3.s3 {font-family:Helvetica; &amp;nbsp;white-space:normal; padding-top:0; padding-bottom:0; border-style:solid;border-width:thin;border-color:black; padding-right:2; padding-left:2; vertical-align:top;}
+.s4.s4.s4 {font-family:Lucida Grande; font-weight:bold; color:#003300;font-size:16px; white-space:normal; vertical-align:top; padding-bottom:0; border-style:solid;border-width:thin;border-color:black; padding-right:2; padding-left:2; padding-top:0;}
+&lt;/style&gt;&lt;/head&gt;&lt;body&gt;&lt;div&gt;&lt;table style="width:648;" class="worksheet"&gt;&lt;colgroup&gt;&lt;col style="width:73;"&gt;&lt;col style="width:73;"&gt;&lt;col style="width:73;"&gt;&lt;col style="width:73;"&gt;&lt;col style="width:73;"&gt;&lt;col style="width:73;"&gt;&lt;col style="width:73;"&gt;&lt;col style="width:73;"&gt;&lt;col style="width:73;"&gt;&lt;/colgroup&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td colspan="9" class="s0"&gt;Table 1&lt;/td&gt;&lt;/tr&gt;&lt;tr height="20;"&gt;&lt;td class="s1"&gt; &lt;/td&gt;&lt;td class="s1"&gt; &lt;/td&gt;&lt;td class="s1"&gt; &lt;/td&gt;&lt;td class="s1"&gt; &lt;/td&gt;&lt;td class="s1"&gt; &lt;/td&gt;&lt;td class="s1"&gt; &lt;/td&gt;&lt;td class="s1"&gt; &lt;/td&gt;&lt;td class="s1"&gt; &lt;/td&gt;&lt;td class="s1"&gt; &lt;/td&gt;&lt;/tr&gt;&lt;tr height="20;"&gt;&lt;td class="s2"&gt; &lt;/td&gt;&lt;td class="s3"&gt; &lt;/td&gt;&lt;td class="s3"&gt; &lt;/td&gt;&lt;td class="s3"&gt; &lt;/td&gt;&lt;td class="s3"&gt; &lt;/td&gt;&lt;td class="s3"&gt; &lt;/td&gt;&lt;td class="s3"&gt; &lt;/td&gt;&lt;td class="s3"&gt; &lt;/td&gt;&lt;td class="s3"&gt; &lt;/td&gt;&lt;/tr&gt;&lt;tr height="170;"&gt;&lt;td class="s2"&gt; &lt;/td&gt;&lt;td class="s4"&gt;&lt;div style="width:71; overflow:hidden;"&gt;Welcome to the website for the WebKit Open Source Project!&lt;/div&gt;&lt;/td&gt;&lt;td class="s4"&gt;&lt;div style="width:71; overflow:hidden;"&gt;Welcome to the website for the WebKit Open Source Project!&lt;/div&gt;&lt;/td&gt;&lt;td class="s4"&gt;&lt;div style="width:71; overflow:hidden;"&gt;Welcome to the website for the WebKit Open Source Project!&lt;/div&gt;&lt;/td&gt;&lt;td class="s3"&gt; &lt;/td&gt;&lt;td class="s3"&gt; &lt;/td&gt;&lt;td class="s3"&gt; &lt;/td&gt;&lt;td class="s3"&gt; &lt;/td&gt;&lt;td class="s3"&gt; &lt;/td&gt;&lt;/tr&gt;&lt;tr height="338;"&gt;&lt;td class="s2"&gt; &lt;/td&gt;&lt;td class="s3"&gt;&lt;a href="http://www.apple.com/safari/"&gt;&lt;div style="width:71; overflow:hidden;"&gt;&lt;span style="font-family:Lucida Grande; color:#323232;font-size:12px;"&gt;WebKit is an open source web browser engine. WebKit is also the name of the OS X system framework version of the engine that's used by &lt;/span&gt;&lt;span style="font-family:Lucida Grande; color:#228711;font-size:12px;"&gt;Safari&lt;/span&gt;&lt;span style="font-family:Lucida Grande; color:#323232;font-size:12px;"&gt;, Dashboard, Mail, and many other OS X applications.&lt;/span&gt;&lt;/div&gt;&lt;/a&gt;&lt;/td&gt;&lt;td class="s3"&gt;&lt;a href="http://www.apple.com/safari/"&gt;&lt;div style="width:71; overflow:hidden;"&gt;&lt;span style="font-family:Lucida Grande; color:#323232;font-size:12px;"&gt;WebKit is an open source web browser engine. WebKit is also the name of the OS X system framework version of the engine that's used by &lt;/span&gt;&lt;span style="font-family:Lucida Grande; color:#228711;font-size:12px;"&gt;Safari&lt;/span&gt;&lt;span style="font-family:Lucida Grande; color:#323232;font-size:12px;"&gt;, Dashboard, Mail, and many other OS X applications.&lt;/span&gt;&lt;/div&gt;&lt;/a&gt;&lt;/td&gt;&lt;td class="s3"&gt;&lt;a href="http://www.apple.com/safari/"&gt;&lt;div style="width:71; overflow:hidden;"&gt;&lt;span style="font-family:Lucida Grande; color:#323232;font-size:12px;"&gt;WebKit is an open source web browser engine. WebKit is also the name of the OS X system framework version of the engine that's used by &lt;/span&gt;&lt;span style="font-family:Lucida Grande; color:#228711;font-size:12px;"&gt;Safari&lt;/span&gt;&lt;span style="font-family:Lucida Grande; color:#323232;font-size:12px;"&gt;, Dashboard, Mail, and many other OS X applications.&lt;/span&gt;&lt;/div&gt;&lt;/a&gt;&lt;/td&gt;&lt;td class="s3"&gt; &lt;/td&gt;&lt;td class="s3"&gt; &lt;/td&gt;&lt;td class="s3"&gt; &lt;/td&gt;&lt;td class="s3"&gt; &lt;/td&gt;&lt;td class="s3"&gt; &lt;/td&gt;&lt;/tr&gt;&lt;tr height="158;"&gt;&lt;td class="s2"&gt; &lt;/td&gt;&lt;td class="s3"&gt;&lt;a href="http://konqueror.kde.org/features/browser.php"&gt;&lt;div style="width:71; overflow:hidden;"&gt;&lt;span style="font-family:Lucida Grande; color:#323232;font-size:12px;"&gt;WebKit's HTML and JavaScript code began as a branch of the &lt;/span&gt;&lt;span style="font-family:Lucida Grande; color:#228711;font-size:12px;"&gt;KHTML&lt;/span&gt;&lt;span style="font-family:Lucida Grande; color:#323232;font-size:12px;"&gt; and KJS libraries from &lt;/span&gt;&lt;span style="font-family:Lucida Grande; color:#228711;font-size:12px;"&gt;KDE&lt;/span&gt;&lt;span style="font-family:Lucida Grande; color:#323232;font-size:12px;"&gt;.&lt;/span&gt;&lt;/div&gt;&lt;/a&gt;&lt;/td&gt;&lt;td class="s3"&gt;&lt;a href="http://konqueror.kde.org/features/browser.php"&gt;&lt;div style="width:71; overflow:hidden;"&gt;&lt;span style="font-family:Lucida Grande; color:#323232;font-size:12px;"&gt;WebKit's HTML and JavaScript code began as a branch of the &lt;/span&gt;&lt;span style="font-family:Lucida Grande; color:#228711;font-size:12px;"&gt;KHTML&lt;/span&gt;&lt;span style="font-family:Lucida Grande; color:#323232;font-size:12px;"&gt; and KJS libraries from &lt;/span&gt;&lt;span style="font-family:Lucida Grande; color:#228711;font-size:12px;"&gt;KDE&lt;/span&gt;&lt;span style="font-family:Lucida Grande; color:#323232;font-size:12px;"&gt;.&lt;/span&gt;&lt;/div&gt;&lt;/a&gt;&lt;/td&gt;&lt;td class="s3"&gt;&lt;a href="http://konqueror.kde.org/features/browser.php"&gt;&lt;div style="width:71; overflow:hidden;"&gt;&lt;span style="font-family:Lucida Grande; color:#323232;font-size:12px;"&gt;WebKit's HTML and JavaScript code began as a branch of the &lt;/span&gt;&lt;span style="font-family:Lucida Grande; color:#228711;font-size:12px;"&gt;KHTML&lt;/span&gt;&lt;span style="font-family:Lucida Grande; color:#323232;font-size:12px;"&gt; and KJS libraries from &lt;/span&gt;&lt;span style="font-family:Lucida Grande; color:#228711;font-size:12px;"&gt;KDE&lt;/span&gt;&lt;span style="font-family:Lucida Grande; color:#323232;font-size:12px;"&gt;.&lt;/span&gt;&lt;/div&gt;&lt;/a&gt;&lt;/td&gt;&lt;td class="s3"&gt; &lt;/td&gt;&lt;td class="s3"&gt; &lt;/td&gt;&lt;td class="s3"&gt; &lt;/td&gt;&lt;td class="s3"&gt; &lt;/td&gt;&lt;td class="s3"&gt; &lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;/body&gt;&lt;/html&gt;</string>
+                               <key>WebResourceFrameName</key>
+                               <string>&lt;!--frame1--&gt;</string>
+                               <key>WebResourceMIMEType</key>
+                               <string>text/html</string>
+                               <key>WebResourceTextEncodingName</key>
+                               <string>UTF-8</string>
+                               <key>WebResourceURL</key>
+                               <string>x-apple-ql-id://resource.xls</string>
+                       </dict>
+                       <key>WebSubresources</key>
+                       <array>
+                               <dict>
+                                       <key>WebResourceData</key>
+                                       <string>body {
+    font-family: Arial;
+    font-size: 10;
+}
+
+td {
+    white-space: pre;
+    font-family: Arial;
+    font-size: 10;
+}
+
+p {
+    margin:0;
+}
+
+table.worksheet {
+    border-collapse:collapse;
+    table-layout: fixed;
+}
+
+@media screen {
+    .showGridlines, .showGridlines td, .showGridlines th {
+        border: thin solid #d2d2df;
+    }
+}
+</string>
+                                       <key>WebResourceMIMEType</key>
+                                       <string>text/css</string>
+                                       <key>WebResourceResponse</key>
+                                       <dict>
+                                               <key>MIMEType</key>
+                                               <string>text/css</string>
+                                               <key>URL</key>
+                                               <string>x-apple-ql-id://resource.css</string>
+                                               <key>expectedContentLength</key>
+                                               <integer>-1</integer>
+                                               <key>textEncodingName</key>
+                                               <string>UTF-8</string>
+                                       </dict>
+                                       <key>WebResourceTextEncodingName</key>
+                                       <string>UTF-8</string>
+                                       <key>WebResourceURL</key>
+                                       <string>x-apple-ql-id://resource.css</string>
+                               </dict>
+                               <dict>
+                                       <key>WebResourceData</key>
+                                       <string>body {
+    -webkit-text-size-adjust: none;
+}
+</string>
+                                       <key>WebResourceMIMEType</key>
+                                       <string>text/css</string>
+                                       <key>WebResourceResponse</key>
+                                       <dict>
+                                               <key>MIMEType</key>
+                                               <string>text/css</string>
+                                               <key>URL</key>
+                                               <string>x-apple-ql-id://resource.css</string>
+                                               <key>expectedContentLength</key>
+                                               <integer>-1</integer>
+                                               <key>textEncodingName</key>
+                                               <string>UTF-8</string>
+                                       </dict>
+                                       <key>WebResourceTextEncodingName</key>
+                                       <string>UTF-8</string>
+                                       <key>WebResourceURL</key>
+                                       <string>x-apple-ql-id://resource.css</string>
+                               </dict>
+                       </array>
+               </dict>
+       </array>
+</dict>
+</plist>
diff --git a/LayoutTests/platform/ios-12/quicklook/excel-macro-enabled-expected.txt b/LayoutTests/platform/ios-12/quicklook/excel-macro-enabled-expected.txt
new file mode 100644 (file)
index 0000000..2f495e7
--- /dev/null
@@ -0,0 +1,126 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+       <key>WebMainResource</key>
+       <dict>
+               <key>WebResourceData</key>
+               <string>&lt;!DOCTYPE html&gt;&lt;html&gt;&lt;head&gt;&lt;script&gt;
+    if (window.testRunner)
+        testRunner.dumpDOMAsWebArchive();
+&lt;/script&gt;
+&lt;style&gt;
+iframe {
+    width: 100vw;
+    height: 100vh;
+}
+&lt;/style&gt;
+&lt;/head&gt;&lt;body&gt;&lt;iframe src="resources/excel-macro-enabled.xlsm"&gt;&lt;/iframe&gt;
+&lt;/body&gt;&lt;/html&gt;</string>
+               <key>WebResourceFrameName</key>
+               <string></string>
+               <key>WebResourceMIMEType</key>
+               <string>text/html</string>
+               <key>WebResourceTextEncodingName</key>
+               <string>UTF-8</string>
+               <key>WebResourceURL</key>
+               <string>file:///LayoutTests/quicklook/excel-macro-enabled.html</string>
+       </dict>
+       <key>WebSubframeArchives</key>
+       <array>
+               <dict>
+                       <key>WebMainResource</key>
+                       <dict>
+                               <key>WebResourceData</key>
+                               <string>&lt;html&gt;&lt;head&gt;&lt;meta charset="utf-8"&gt;&lt;meta name="viewport"&gt;&lt;link href="x-apple-ql-id://resource.css" rel="stylesheet" type="text/css" charset="utf-8"&gt;&lt;link href="x-apple-ql-id://resource.css" rel="stylesheet" type="text/css" charset="utf-8"&gt;&lt;style type="text/css"&gt;.s0.s0.s0 {font-family:Helvetica;font-size:12px; padding-bottom:0; padding-right:2; padding-left:2; text-align:center; padding-top:0;}
+.s1.s1.s1 {font-family:Helvetica; font-weight:bold; background-color:#bdc0bf; white-space:normal; padding-top:0; padding-bottom:0; border-style:solid;border-width:thin;border-color:black; padding-right:2; padding-left:2; vertical-align:top;}
+.s2.s2.s2 {font-family:Helvetica; font-weight:bold; background-color:#dbdbdb; white-space:normal; padding-top:0; padding-bottom:0; border-style:solid;border-width:thin;border-color:black; padding-right:2; padding-left:2; vertical-align:top;}
+.s3.s3.s3 {font-family:Helvetica; white-space:normal; padding-top:0; padding-bottom:0; border-style:solid;border-width:thin;border-color:black; padding-right:2; padding-left:2; vertical-align:top;}
+.s4.s4.s4 {font-family:Lucida Grande; font-weight:bold;color:#003300;font-size:16px; white-space:normal; vertical-align:top; padding-bottom:0; border-style:solid;border-width:thin;border-color:black; padding-right:2; padding-left:2; padding-top:0;}
+&lt;/style&gt;&lt;/head&gt;&lt;body&gt;&lt;div&gt;&lt;table style="width:648;" class="worksheet"&gt;&lt;colgroup&gt;&lt;col style="width:73;"&gt;&lt;col style="width:73;"&gt;&lt;col style="width:73;"&gt;&lt;col style="width:73;"&gt;&lt;col style="width:73;"&gt;&lt;col style="width:73;"&gt;&lt;col style="width:73;"&gt;&lt;col style="width:73;"&gt;&lt;col style="width:73;"&gt;&lt;/colgroup&gt;&lt;tbody&gt;&lt;tr height="16;"&gt;&lt;td colspan="9" class="s0"&gt;Table 1&lt;/td&gt;&lt;/tr&gt;&lt;tr height="20;"&gt;&lt;td class="s1"&gt; &lt;/td&gt;&lt;td class="s1"&gt; &lt;/td&gt;&lt;td class="s1"&gt; &lt;/td&gt;&lt;td class="s1"&gt; &lt;/td&gt;&lt;td class="s1"&gt; &lt;/td&gt;&lt;td class="s1"&gt; &lt;/td&gt;&lt;td class="s1"&gt; &lt;/td&gt;&lt;td class="s1"&gt; &lt;/td&gt;&lt;td class="s1"&gt; &lt;/td&gt;&lt;/tr&gt;&lt;tr height="20;"&gt;&lt;td class="s2"&gt; &lt;/td&gt;&lt;td class="s3"&gt; &lt;/td&gt;&lt;td class="s3"&gt; &lt;/td&gt;&lt;td class="s3"&gt; &lt;/td&gt;&lt;td class="s3"&gt; &lt;/td&gt;&lt;td class="s3"&gt; &lt;/td&gt;&lt;td class="s3"&gt; &lt;/td&gt;&lt;td class="s3"&gt; &lt;/td&gt;&lt;td class="s3"&gt; &lt;/td&gt;&lt;/tr&gt;&lt;tr height="170;"&gt;&lt;td class="s2"&gt; &lt;/td&gt;&lt;td class="s4"&gt;&lt;div style="width:72; overflow:hidden;"&gt;Welcome to the website for the WebKit Open Source Project!&lt;/div&gt;&lt;/td&gt;&lt;td class="s4"&gt;&lt;div style="width:72; overflow:hidden;"&gt;Welcome to the website for the WebKit Open Source Project!&lt;/div&gt;&lt;/td&gt;&lt;td class="s4"&gt;&lt;div style="width:72; overflow:hidden;"&gt;Welcome to the website for the WebKit Open Source Project!&lt;/div&gt;&lt;/td&gt;&lt;td class="s3"&gt; &lt;/td&gt;&lt;td class="s3"&gt; &lt;/td&gt;&lt;td class="s3"&gt; &lt;/td&gt;&lt;td class="s3"&gt; &lt;/td&gt;&lt;td class="s3"&gt; &lt;/td&gt;&lt;/tr&gt;&lt;tr height="338;"&gt;&lt;td class="s2"&gt; &lt;/td&gt;&lt;td class="s3"&gt;&lt;a href="http://www.apple.com/safari/"&gt;&lt;div style="width:72; overflow:hidden;"&gt;&lt;span style="font-family:Lucida Grande;color:#323232;font-size:12px;"&gt;WebKit is an open source web browser engine. WebKit is also the name of the OS X system framework version of the engine that's used by &lt;/span&gt;&lt;span style="font-family:Lucida Grande;color:#228711;font-size:12px;"&gt;Safari&lt;/span&gt;&lt;span style="font-family:Lucida Grande;color:#323232;font-size:12px;"&gt;, Dashboard, Mail, and many other OS X applications.&lt;/span&gt;&lt;/div&gt;&lt;/a&gt;&lt;/td&gt;&lt;td class="s3"&gt;&lt;a href="http://www.apple.com/safari/"&gt;&lt;div style="width:72; overflow:hidden;"&gt;&lt;span style="font-family:Lucida Grande;color:#323232;font-size:12px;"&gt;WebKit is an open source web browser engine. WebKit is also the name of the OS X system framework version of the engine that's used by &lt;/span&gt;&lt;span style="font-family:Lucida Grande;color:#228711;font-size:12px;"&gt;Safari&lt;/span&gt;&lt;span style="font-family:Lucida Grande;color:#323232;font-size:12px;"&gt;, Dashboard, Mail, and many other OS X applications.&lt;/span&gt;&lt;/div&gt;&lt;/a&gt;&lt;/td&gt;&lt;td class="s3"&gt;&lt;a href="http://www.apple.com/safari/"&gt;&lt;div style="width:72; overflow:hidden;"&gt;&lt;span style="font-family:Lucida Grande;color:#323232;font-size:12px;"&gt;WebKit is an open source web browser engine. WebKit is also the name of the OS X system framework version of the engine that's used by &lt;/span&gt;&lt;span style="font-family:Lucida Grande;color:#228711;font-size:12px;"&gt;Safari&lt;/span&gt;&lt;span style="font-family:Lucida Grande;color:#323232;font-size:12px;"&gt;, Dashboard, Mail, and many other OS X applications.&lt;/span&gt;&lt;/div&gt;&lt;/a&gt;&lt;/td&gt;&lt;td class="s3"&gt; &lt;/td&gt;&lt;td class="s3"&gt; &lt;/td&gt;&lt;td class="s3"&gt; &lt;/td&gt;&lt;td class="s3"&gt; &lt;/td&gt;&lt;td class="s3"&gt; &lt;/td&gt;&lt;/tr&gt;&lt;tr height="158;"&gt;&lt;td class="s2"&gt; &lt;/td&gt;&lt;td class="s3"&gt;&lt;a href="http://konqueror.kde.org/features/browser.php"&gt;&lt;div style="width:72; overflow:hidden;"&gt;&lt;span style="font-family:Lucida Grande;color:#323232;font-size:12px;"&gt;WebKit's HTML and JavaScript code began as a branch of the &lt;/span&gt;&lt;span style="font-family:Lucida Grande;color:#228711;font-size:12px;"&gt;KHTML&lt;/span&gt;&lt;span style="font-family:Lucida Grande;color:#323232;font-size:12px;"&gt; and KJS libraries from &lt;/span&gt;&lt;span style="font-family:Lucida Grande;color:#228711;font-size:12px;"&gt;KDE&lt;/span&gt;&lt;span style="font-family:Lucida Grande;color:#323232;font-size:12px;"&gt;.&lt;/span&gt;&lt;/div&gt;&lt;/a&gt;&lt;/td&gt;&lt;td class="s3"&gt;&lt;a href="http://konqueror.kde.org/features/browser.php"&gt;&lt;div style="width:72; overflow:hidden;"&gt;&lt;span style="font-family:Lucida Grande;color:#323232;font-size:12px;"&gt;WebKit's HTML and JavaScript code began as a branch of the &lt;/span&gt;&lt;span style="font-family:Lucida Grande;color:#228711;font-size:12px;"&gt;KHTML&lt;/span&gt;&lt;span style="font-family:Lucida Grande;color:#323232;font-size:12px;"&gt; and KJS libraries from &lt;/span&gt;&lt;span style="font-family:Lucida Grande;color:#228711;font-size:12px;"&gt;KDE&lt;/span&gt;&lt;span style="font-family:Lucida Grande;color:#323232;font-size:12px;"&gt;.&lt;/span&gt;&lt;/div&gt;&lt;/a&gt;&lt;/td&gt;&lt;td class="s3"&gt;&lt;a href="http://konqueror.kde.org/features/browser.php"&gt;&lt;div style="width:72; overflow:hidden;"&gt;&lt;span style="font-family:Lucida Grande;color:#323232;font-size:12px;"&gt;WebKit's HTML and JavaScript code began as a branch of the &lt;/span&gt;&lt;span style="font-family:Lucida Grande;color:#228711;font-size:12px;"&gt;KHTML&lt;/span&gt;&lt;span style="font-family:Lucida Grande;color:#323232;font-size:12px;"&gt; and KJS libraries from &lt;/span&gt;&lt;span style="font-family:Lucida Grande;color:#228711;font-size:12px;"&gt;KDE&lt;/span&gt;&lt;span style="font-family:Lucida Grande;color:#323232;font-size:12px;"&gt;.&lt;/span&gt;&lt;/div&gt;&lt;/a&gt;&lt;/td&gt;&lt;td class="s3"&gt; &lt;/td&gt;&lt;td class="s3"&gt; &lt;/td&gt;&lt;td class="s3"&gt; &lt;/td&gt;&lt;td class="s3"&gt; &lt;/td&gt;&lt;td class="s3"&gt; &lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;/body&gt;&lt;/html&gt;</string>
+                               <key>WebResourceFrameName</key>
+                               <string>&lt;!--frame1--&gt;</string>
+                               <key>WebResourceMIMEType</key>
+                               <string>text/html</string>
+                               <key>WebResourceTextEncodingName</key>
+                               <string>UTF-8</string>
+                               <key>WebResourceURL</key>
+                               <string>x-apple-ql-id://resource.xlsm</string>
+                       </dict>
+                       <key>WebSubresources</key>
+                       <array>
+                               <dict>
+                                       <key>WebResourceData</key>
+                                       <string>body {
+    font-family: Arial;
+    font-size: 10;
+}
+
+td {
+    white-space: pre;
+    font-family: Arial;
+    font-size: 10;
+}
+
+p {
+    margin:0;
+}
+
+table.worksheet {
+    border-collapse:collapse;
+    table-layout: fixed;
+}
+
+@media screen {
+    .showGridlines, .showGridlines td, .showGridlines th {
+        border: thin solid #d2d2df;
+    }
+}
+</string>
+                                       <key>WebResourceMIMEType</key>
+                                       <string>text/css</string>
+                                       <key>WebResourceResponse</key>
+                                       <dict>
+                                               <key>MIMEType</key>
+                                               <string>text/css</string>
+                                               <key>URL</key>
+                                               <string>x-apple-ql-id://resource.css</string>
+                                               <key>expectedContentLength</key>
+                                               <integer>-1</integer>
+                                               <key>textEncodingName</key>
+                                               <string>UTF-8</string>
+                                       </dict>
+                                       <key>WebResourceTextEncodingName</key>
+                                       <string>UTF-8</string>
+                                       <key>WebResourceURL</key>
+                                       <string>x-apple-ql-id://resource.css</string>
+                               </dict>
+                               <dict>
+                                       <key>WebResourceData</key>
+                                       <string>body {
+    -webkit-text-size-adjust: none;
+}
+</string>
+                                       <key>WebResourceMIMEType</key>
+                                       <string>text/css</string>
+                                       <key>WebResourceResponse</key>
+                                       <dict>
+                                               <key>MIMEType</key>
+                                               <string>text/css</string>
+                                               <key>URL</key>
+                                               <string>x-apple-ql-id://resource.css</string>
+                                               <key>expectedContentLength</key>
+                                               <integer>-1</integer>
+                                               <key>textEncodingName</key>
+                                               <string>UTF-8</string>
+                                       </dict>
+                                       <key>WebResourceTextEncodingName</key>
+                                       <string>UTF-8</string>
+                                       <key>WebResourceURL</key>
+                                       <string>x-apple-ql-id://resource.css</string>
+                               </dict>
+                       </array>
+               </dict>
+       </array>
+</dict>
+</plist>
diff --git a/LayoutTests/platform/ios-12/quicklook/keynote-09-expected.txt b/LayoutTests/platform/ios-12/quicklook/keynote-09-expected.txt
new file mode 100644 (file)
index 0000000..c956d32
--- /dev/null
@@ -0,0 +1,6013 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+       <key>WebMainResource</key>
+       <dict>
+               <key>WebResourceData</key>
+               <string>&lt;!DOCTYPE html&gt;&lt;html&gt;&lt;head&gt;&lt;script&gt;
+    if (window.testRunner)
+        testRunner.dumpDOMAsWebArchive();
+&lt;/script&gt;
+&lt;style&gt;
+iframe {
+    width: 100vw;
+    height: 100vh;
+}
+&lt;/style&gt;
+&lt;/head&gt;&lt;body&gt;&lt;iframe src="resources/keynote-09.key"&gt;&lt;/iframe&gt;
+&lt;/body&gt;&lt;/html&gt;</string>
+               <key>WebResourceFrameName</key>
+               <string></string>
+               <key>WebResourceMIMEType</key>
+               <string>text/html</string>
+               <key>WebResourceTextEncodingName</key>
+               <string>UTF-8</string>
+               <key>WebResourceURL</key>
+               <string>file:///LayoutTests/quicklook/keynote-09.html</string>
+       </dict>
+       <key>WebSubframeArchives</key>
+       <array>
+               <dict>
+                       <key>WebMainResource</key>
+                       <dict>
+                               <key>WebResourceData</key>
+                               <string>&lt;!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"&gt;&lt;html xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;head&gt;&lt;meta http-equiv="Content-type" content="text/html; charset=UTF-8"&gt;
+&lt;link rel="stylesheet" type="text/css" href="x-apple-ql-id://resource.css"&gt;
+&lt;meta name="viewport" content="width=1042.000000"&gt;
+&lt;script type="text/javascript" src="x-apple-ql-id://resource.js"&gt;&lt;/script&gt;&lt;/head&gt;
+&lt;body class="i1 "&gt;&lt;div id="BGSlide-1"&gt;&lt;/div&gt;
+&lt;div id="slideId_1" class="slideStyle i2 "&gt;&lt;canvas width="1022.2324" height="56" id="ShapeId_0" class="i3 "&gt;&lt;script type="text/javascript"&gt;
+function ShapeId_0() {
+var canvas = document.getElementById('ShapeId_0'); 
+var context = canvas.getContext('2d'); 
+context.translate(-0.000000, -0.000000);
+bezierPath(context, 'M 0 0 L 1022.2324371337891 0 L 1022.2324371337891 56.000000238418579 L 0 56.000000238418579 Z M 0 0');
+context.globalAlpha = 1.000000;
+}
+ShapeId_0();
+&lt;/script&gt;&lt;/canvas&gt;&lt;div class="i4 l1 l2  "&gt;&lt;div class="i5 "&gt;&lt;p class="p1 p2 it1"&gt;&lt;span class="i6 "&gt;Welcome to the website for the WebKit Open Source Project!&lt;/span&gt;&lt;br&gt;&lt;/p&gt;
+&lt;p class="p1 p2 it2"&gt;&lt;span class="i6 "&gt;WebKit is an open source web browser engine. WebKit is also the name of the OS X system framework version of the engine that's used by &lt;/span&gt;&lt;a href="http://www.apple.com/safari/" title="http://www.apple.com/safari/"&gt;&lt;span class="it3"&gt;Safari&lt;/span&gt;&lt;/a&gt;&lt;span class="i6 "&gt;, Dashboard, Mail, and many other OS X applications. WebKit's HTML and JavaScript code began as a branch of the &lt;/span&gt;&lt;a href="http://konqueror.kde.org/features/browser.php" title="http://konqueror.kde.org/features/browser.php"&gt;&lt;span class="it3"&gt;KHTML&lt;/span&gt;&lt;/a&gt;&lt;span class="i6 "&gt; and KJS libraries from &lt;/span&gt;&lt;a href="http://kde.org/" title="http://kde.org/"&gt;&lt;span class="it3"&gt;KDE&lt;/span&gt;&lt;/a&gt;&lt;span class="i6 "&gt;.&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;
+&lt;div class="i7 "&gt;&lt;img class="i8 g1  " src="x-apple-ql-id://resource.tif"&gt;&lt;/div&gt;&lt;/div&gt;
+&lt;div id="slideId_last"&gt;&lt;/div&gt;&lt;/body&gt;&lt;/html&gt;</string>
+                               <key>WebResourceFrameName</key>
+                               <string>&lt;!--frame1--&gt;</string>
+                               <key>WebResourceMIMEType</key>
+                               <string>text/html</string>
+                               <key>WebResourceTextEncodingName</key>
+                               <string>UTF-8</string>
+                               <key>WebResourceURL</key>
+                               <string>x-apple-ql-id://resource.key</string>
+                       </dict>
+                       <key>WebSubresources</key>
+                       <array>
+                               <dict>
+                                       <key>WebResourceData</key>
+                                       <string>.slideStyle {
+height: 768px; 
+position: relative; 
+-webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.5); 
+margin-left: 0px; 
+margin-bottom: 5px; 
+width: 1024px; 
+background: white; 
+margin-right: 0px; 
+margin-top: 0px; 
+overflow: hidden; 
+} 
+
+.notesStyle {
+padding: 10px; 
+margin-top: 2px; 
+position: relative; 
+display: table; 
+width: 1024px; 
+-webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.5); 
+background: white; 
+margin-bottom: 12px; 
+height: 100px; 
+margin-left: 0px; 
+overflow: hidden; 
+margin-right: 0px; 
+} 
+
+.fl {float: left; clear: left; padding: 0; width: 0px; height: 10px;}
+
+.fr {float: right; clear: right; padding: 0; width: 0px; height: 10px;}
+
+.l1 {
+display: table-cell; 
+vertical-align: top; 
+} 
+
+.l2 {
+display: table-cell; 
+vertical-align: middle; 
+} 
+
+.p1 {
+padding: 0px 0px 0px 0px; 
+text-align: left; 
+margin-top: 0; 
+font-weight: normal; 
+text-indent: 0px; 
+font-family: 'Helvetica'; 
+font-size: 12; 
+color: rgb(0,0,0); 
+text-transform: none; 
+margin-bottom: 0; 
+font-style: normal; 
+line-height: 13px; 
+} 
+
+.p2 {
+padding: 0px 0px 0px 0px; 
+text-align: center; 
+margin-top: 0; 
+font-weight: normal; 
+text-indent: 0px; 
+font-family: 'Helvetica Light','Helvetica'; 
+font-size: 36; 
+color: rgb(0,0,0); 
+text-transform: none; 
+margin-bottom: 0; 
+font-style: normal; 
+line-height: 41px; 
+} 
+
+.it1 {
+font-weight: bold; 
+font-family: 'LucidaGrande'; 
+text-align: left; 
+color: rgb(4,40,0); 
+font-size: 16; 
+line-height: 17px; 
+margin-top: 0; 
+} 
+
+.it2 {
+margin-bottom: 0; 
+line-height: 13px; 
+font-family: 'LucidaGrande'; 
+font-size: 12; 
+text-align: left; 
+color: rgb(38,38,38); 
+} 
+
+.it3 {
+color: rgb(31,120,15); 
+text-decoration: none; 
+} 
+
+.g1 {
+opacity: 1.00; 
+border: none; 
+background-color: transparent; 
+background-image: none; 
+} 
+
+.i1 { background: #ACB2BB;  }
+.i2 { background-color: rgb(255,255,255); background-image: none;  }
+.i3 { -webkit-transform: matrix(1.000000, 0.000000, 0.000000, 1.000000, 0, 0); top: 355; position: absolute; left: 0;  }
+.i4 { height: 52px; position: absolute; width: 1018px; -webkit-transform-origin: 0px 0px; left: 1; top: 356; padding: 2px 2px 2px 2px;  }
+.i5 { display: table-cell; width: 1018px; height: 52px; vertical-align: middle;  }
+.i6 { text-decoration: none;  }
+.i7 { top: 116; position: absolute; left: 405;  }
+.i8 { width: 215; height: 174;  }
+</string>
+                                       <key>WebResourceMIMEType</key>
+                                       <string>text/css</string>
+                                       <key>WebResourceResponse</key>
+                                       <dict>
+                                               <key>MIMEType</key>
+                                               <string>text/css</string>
+                                               <key>URL</key>
+                                               <string>x-apple-ql-id://resource.css</string>
+                                               <key>expectedContentLength</key>
+                                               <integer>-1</integer>
+                                               <key>textEncodingName</key>
+                                               <string>UTF-8</string>
+                                       </dict>
+                                       <key>WebResourceTextEncodingName</key>
+                                       <string>UTF-8</string>
+                                       <key>WebResourceURL</key>
+                                       <string>x-apple-ql-id://resource.css</string>
+                               </dict>
+                               <dict>
+                                       <key>WebResourceData</key>
+                                       <string>function bezierPath(ctxt, pathString)
+{
+    var pathTokens = pathString.split(' '); 
+    var numTokens = pathTokens.length; 
+       for (i = 0; i &lt; numTokens; i++)
+       {
+               var op = pathTokens[i];
+               
+               switch (op)
+               {
+                       case 'm':
+                       case 'M':
+                       {
+                i++;
+                               var mx = pathTokens[i++]; 
+                               var my = pathTokens[i];
+                               
+                               ctxt.moveTo(mx, my);
+                               break;
+                       }
+           
+                       case 'l':
+                       case 'L':
+                       {
+                i++;
+                               var lx = pathTokens[i++];
+                               var ly = pathTokens[i]; 
+                               
+                               ctxt.lineTo(lx, ly);
+                               break;
+                       }
+                       
+                       case 'c':
+                       case 'C':
+                       {
+                i++;
+                               var cp1x = pathTokens[i++];
+                               var cp1y = pathTokens[i++];
+
+                               var cp2x = pathTokens[i++];
+                               var cp2y = pathTokens[i++];
+
+                               var cx = pathTokens[i++];
+                               var cy = pathTokens[i];
+                               
+                               ctxt.bezierCurveTo(cp1x, cp1y, cp2x, cp2y, cx, cy);     
+                               break;
+                       }
+               
+                       case 'e':
+                       case 'E':
+                           break;
+                       
+                       case 'z':
+                       case 'Z':
+                       {
+                               ctxt.closePath();
+                               break;
+                       }
+                       
+                       default:
+                           break;
+               }
+       }
+}
+
+function rgbaColorString(r, g, b, a)
+{
+       var redNum = new Number(r);
+       var greenNum = new Number(g);
+       var blueNum = new Number(b);
+       var alphaNum = new Number(a);
+       
+       var rgbString = 'rgba(' + redNum.toString() + ',' + greenNum.toString() + ',' + blueNum.toString() + ',' + alphaNum.toString() + ')';
+       return rgbString;
+}
+
+function setColorFillStyle(ctxt, r, g, b, a)
+{
+       ctxt.fillStyle = rgbaColorString(r, g, b, a);
+}
+
+function createLinearGradientFillStyle(ctxt, angle, width, height)
+{
+    angle = angle + Math.PI;
+       var c = Math.cos(angle);
+       var s = Math.sin(angle);
+       var f = 1.0 / Math.max(Math.abs(s), Math.abs(c));
+       var x1 = f * c;
+       var y1 = f * s;
+       var x0 = -x1;
+       var y0 = -y1;
+       var halfWidth = width / 2;
+       var halfHeight = height / 2;
+       x1 = (x1 + 1.0) * halfWidth
+       y1 = (y1 + 1.0) * halfHeight;
+       x0 = (x0 + 1.0) * halfWidth;
+       y0 = (y0 + 1.0) * halfHeight;
+
+       ctxt.fillStyle = ctxt.createLinearGradient(x0, y0, x1, y1);
+}
+
+function setGradientColorStop(gradient, r, g, b, a, stop)
+{
+    gradient.addColorStop(stop, rgbaColorString(r, g, b, a));
+}
+
+function setColorStrokeStyle(ctxt, r, g, b, a, width)
+{
+       ctxt.strokeStyle = rgbaColorString(r, g, b, a);
+       ctxt.lineWidth = width;
+}</string>
+                                       <key>WebResourceMIMEType</key>
+                                       <string>text/plain</string>
+                                       <key>WebResourceResponse</key>
+                                       <dict>
+                                               <key>MIMEType</key>
+                                               <string>text/plain</string>
+                                               <key>URL</key>
+                                               <string>x-apple-ql-id://resource.js</string>
+                                               <key>expectedContentLength</key>
+                                               <integer>-1</integer>
+                                       </dict>
+                                       <key>WebResourceURL</key>
+                                       <string>x-apple-ql-id://resource.js</string>
+                               </dict>
+                               <dict>
+                                       <key>WebResourceData</key>
+                                       <data>
+                                       TU0AKgACSJAfGxwAHxscAB8bHAAeGhsAHhob
+                                       AB4aGwAeGhsAHxscAB8bHAAfGxwAHxscAB8b
+                                       HAAfGxwAHxscAB8bHAAfGxwAHxscAB8bHAAf
+                                       GxwAHxscAB8bHAAfGxwAHxscAB8bHAAfGxwA
+                                       HxscAB8bHAAfGxwAHxscAB8bHAAfGxwAIBwd
+                                       ACIeHwAiHh8AIh4fACIeHwAiHh8AIh4fACIe
+                                       HwAiHh8AIh4fACIeHwAiHh8AIh4fACIeHwAi
+                                       Hh8AIh4fACIeHwAiHh8AIh4fACIeHwAiHh8A
+                                       Ih4fACIeHwAiHh8AIh4fACIeHwAiHh8AIh4f
+                                       ACIeHwAiHh8AIh4fACIeHwAiHh8AIh4fACIe
+                                       HwAiHh8AIh4fACIeHwAiHh8AIh4fACIeHwAi
+                                       Hh8AIh4fACIeHwAiHh8AIh4fACIeHwAiHh8A
+                                       Ih4fACIeHwAiHh8AIh4fACIeHwAiHh8AIh4f
+                                       ACIeHwAiHh8AIh4fACIeHwAiHh8AIh4fACIe
+                                       HwAiHh8AIh4fACIeHwAiHh8AIh4fACIeHwAi
+                                       Hh8AIh4fACEdHgAhHR4AIR0eACAcHQAgHB0A
+                                       HxscAB4bGwAeGxsAHBkZARwZGQEcGRkBHBkZ
+                                       ARwZGQEdGhoAIBwdACIeHwAiHh8AIh4fACIe
+                                       HwAiHh8AIh4fACIeHwAiHh8AIh4fACIeHwAi
+                                       Hh8AIh4fACIeHwAiHh8AIh4fACIeHwAiHh8A
+                                       Ih4fACIeHwAiHh8AIh4fACIeHwAiHh8AIh4f
+                                       ACIeHwAiHh8AIh4fACIeHwAiHh8AIh4fACIe
+                                       HwAiHh8AIh4fACIeHwAiHh8AIh4fACIeHwAi
+                                       Hh8AIh4fACIeHwAgHB0AHxscAB4aGwAeGhsA
+                                       HhobAB4aGwAeGhsAHxscACAcHQAhHR4AIh4f
+                                       ACIeHwAiHh8AIh4fACIeHwAiHh8AIh4fACIe
+                                       HwAiHh8AIh4fACIeHwAiHh8AIh4fACIeHwAi
+                                       Hh8AIh4fACIeHwAiHh8AIh4fACIeHwAiHh8A
+                                       Ih4fACIeHwAiHh8AIh4fACIeHwAiHh8AIh4f
+                                       ACIeHwAiHh8AIh4fACIeHwAiHh8AIh4fACIe
+                                       HwAiHh8AIh4fACIeHwAiHh8AIh4fACIeHwAi
+                                       Hh8AIh4fACIeHwAiHh8AIh4fACIeHwAhHR4A
+                                       IBwdAB8bHAAfGxwAHxscAB4aGwAeGhsAHhob
+                                       AB4aGwAfGxwAHxscAB8bHAAfGxwAHxscAB8b
+                                       HAAfGxwAHxscAB8bHAAfGxwAHxscAB8bHAAf
+                                       GxwAHxscAB8bHAAfGxwAHxscAB8bHAAfGxwA
+                                       HxscAB8bHAAfGxwAHxscAB8bHAAgHB0AIh4f
+                                       ACIeHwAiHh8AIh4fACIeHwAiHh8AIh4fACIe
+                                       HwAiHh8AIh4fACIeHwAiHh8AIh4fACIeHwAi
+                                       Hh8AIh4fACIeHwAiHh8AIh4fACIeHwAiHh8A
+                                       Ih4fACIeHwAiHh8AIh4fACIeHwAiHh8AIh4f
+                                       ACIeHwAiHh8AIh4fACIeHwAiHh8AIh4fACIe
+                                       HwAiHh8AIh4fACIeHwAiHh8AIh4fACIeHwAi
+                                       Hh8AIh4fACIeHwAiHh8AIh4fACIeHwAiHh8A
+                                       Ih4fACIeHwAiHh8AIh4fACIeHwAiHh8AIh4f
+                                       ACIeHwAiHh8AIh4fACIeHwAiHh8AIh4fACIe
+                                       HwAiHh8AIh4fACIeHwAiHh8AIh4fACIeHwAi
+                                       Hh8AIR0eACEdHgAhHR4AIBwdACAcHQAgHB0B
+                                       HxwcAh8cHAIfHBwDHxwcBB4aGwQcGRoDHxwc
+                                       Ax8cHAIgHB0AIh4fACIeHwAiHh8AIh4fACIe
+                                       HwAiHh8AIh4fACIeHwAiHh8AIh4fACIeHwAi
+                                       Hh8AIh4fACIeHwAiHh8AIh4fACIeHwAiHh8A
+                                       Ih4fACIeHwAiHh8AIh4fACIeHwAiHh8AIh4f
+                                       ACIeHwAiHh8AIh4fACIeHwAiHh8AIh4fACIe
+                                       HwAiHh8AIh4fACIeHwAiHh8AIh4fACIeHwAi
+                                       Hh8AIh4fACAcHQAfGxwAHhobAB4aGwAeGhsA
+                                       HhobAB4aGwAfGxwAIBwdACEdHgAiHh8AIh4f
+                                       ACIeHwAiHh8AIh4fACIeHwAiHh8AIh4fACIe
+                                       HwAiHh8AIh4fACIeHwAiHh8AIh4fACIeHwAi
+                                       Hh8AIh4fACIeHwAiHh8AIh4fACIeHwAiHh8A
+                                       Ih4fACIeHwAiHh8AIh4fACIeHwAiHh8AIh4f
+                                       ACIeHwAiHh8AIh4fACIeHwAiHh8AIh4fACIe
+                                       HwAiHh8AIh4fACIeHwAiHh8AIh4fACIeHwAi
+                                       Hh8AIh4fACIeHwAiHh8AIh4fACEdHgAgHB0A
+                                       HxscAB8bHAAfGxwAHhobAB4aGwAeGhsAHhob
+                                       AB8bHAAfGxwAHxscAB8bHAAfGxwAHxscAB8b
+                                       HAAfGxwAHxscAB8bHAAfGxwAHxscAB8bHAAf
+                                       GxwAHxscAB8bHAAfGxwAHxscAB8bHAAfGxwA
+                                       HxscAB8bHAAfGxwAHxscACAcHQAiHh8AIh4f
+                                       ACIeHwAiHh8AIh4fACIeHwAiHh8AIh4fACIe
+                                       HwAiHh8AIh4fACIeHwAiHh8AIh4fACIeHwAi
+                                       Hh8AIh4fACIeHwAiHh8AIh4fACIeHwAiHh8A
+                                       Ih4fACIeHwAiHh8AIh4fACIeHwAiHh8AIh4f
+                                       ACIeHwAiHh8AIh4fAP///wD///8A////AP//
+                                       /wD///8A////AP///wD///8A////AP///wD/
+                                       //8A////AP///wD///8A////AP///wD///8A
+                                       ////AP///wD///8A////AP///wD///8A////
+                                       AP///wD///8A////ABQKABlrTRdPqXwof8KP
+                                       L5K8iiyMnXQldVU8ETwAAAAL////ACIeHwEi
+                                       Hh8BIh4fAiIeHwMiHh8EIh4fBR8bHQUdGRsE
+                                       GxgaBBYSFgMTDxQBGxgaAiwnJgkgHB4KIh4f
+                                       ByIeHwMiHh8B////AP///wD///8A////AP//
+                                       /wD///8A////AP///wD///8A////AP///wD/
+                                       //8A////AP///wD///8A////AP///wD///8A
+                                       ////AP///wD///8A////AP///wD///8A////
+                                       AP///wD///8A////AP///wD///8A////AP//
+                                       /wD///8A////AP///wD///8A////AP///wD/
+                                       //8A////AP///wD///8A////AB4aGwAeGhsA
+                                       HhobAB8bHAAgHB0AIR0eACIeHwAiHh8AIh4f
+                                       ACIeHwAiHh8AIh4fACIeHwAiHh8AIh4fACIe
+                                       HwAiHh8AIh4fACIeHwAiHh8AIh4fACIeHwAi
+                                       Hh8AIh4fACIeHwAiHh8AIh4fACIeHwAiHh8A
+                                       Ih4fACIeHwAiHh8AIh4fACIeHwAiHh8AIh4f
+                                       ACIeHwAiHh8AIh4fACIeHwAiHh8AIh4fACIe
+                                       HwAiHh8AIh4fACIeHwAiHh8AIh4fACIeHwAi
+                                       Hh8AIh4fACIeHwAiHh8AIR0eACAcHQAfGxwA
+                                       HxscAB8bHAAeGhsAHhobAB4aGwAeGhsAHxsc
+                                       AB8bHAAfGxwAHxscAB8bHAAfGxwAHxscAB8b
+                                       HAAfGxwAHxscAB8bHAAfGxwAHxscAB8bHAAf
+                                       GxwAHxscAB8bHAAfGxwAHxscAB8bHAAfGxwA
+                                       HxscAB8bHAAfGxwAIBwdACIeHwAiHh8AIh4f
+                                       ACIeHwAiHh8AIh4fACIeHwAiHh8AIh4fACIe
+                                       HwAiHh8AIh4fACIeHwAiHh8AIh4fACIeHwAi
+                                       Hh8AIh4fACIeHwAiHh8AIh4fACIeHwAiHh8A
+                                       Ih4fACIeHwAiHh8AIh4fACIeHwAiHh8AIh4f
+                                       ACIeHwAiHh8A////AP///wD///8A////AP//
+                                       /wD///8A////AP///wD///8A////AP///wD/
+                                       //8A////AP///wD///8A////AP///wD///8A
+                                       ////AP///wD///8A////AP///wD///8A////
+                                       AAAAAAOLZh9sz6NK082fQ9CZcCSvclUapX9e
+                                       HqmwhCq/0KRO28uZM8RPORFFIR0eBR4aHAUd
+                                       GhwEGhYZBBUSFgITEBUBKCMjCzMtKhxCPDUv
+                                       fHNeT4yDanuroICkq6GBjh0aHA8hHh8OIh4f
+                                       ByIeHwP///8A////AP///wD///8A////AP//
+                                       /wD///8A////AP///wD///8A////AP///wD/
+                                       //8A////AP///wD///8A////AP///wD///8A
+                                       ////AP///wD///8A////AP///wD///8A////
+                                       AP///wD///8A////AP///wD///8A////AP//
+                                       /wD///8A////AP///wD///8A////AP///wD/
+                                       //8A////AP///wD///8AHhobAB4aGwAeGhsA
+                                       HxscACAcHQAhHR4AIh4fACIeHwAiHh8AIh4f
+                                       ACIeHwAiHh8AIh4fACIeHwAiHh8AIh4fACIe
+                                       HwAiHh8AIh4fACIeHwAiHh8AIh4fACIeHwAi
+                                       Hh8AIh4fACIeHwAiHh8AIh4fACIeHwAiHh8A
+                                       Ih4fACIeHwAiHh8AIh4fACIeHwAiHh8AIh4f
+                                       ACIeHwAiHh8AIh4fACIeHwAiHh8AIh4fACIe
+                                       HwAiHh8AIh4fACIeHwAiHh8AIh4fACIeHwAi
+                                       Hh8AIh4fACIeHwAhHR4AIBwdAB8bHAAfGxwA
+                                       HxscAB4aGwAeGhsAHhobAB4aGwAfGxwAHxsc
+                                       AB8bHAAfGxwAHxscAB8bHAAfGxwAHxscAB8b
+                                       HAAfGxwAHxscAB8bHAAfGxwAHxscAB8bHAAf
+                                       GxwAHxscAB8bHAAfGxwAHxscAB8bHAAfGxwA
+                                       HxscAB8bHAAgHB0AIh4fACIeHwAiHh8AIh4f
+                                       ACIeHwAiHh8AIh4fACIeHwAiHh8AIh4fACIe
+                                       HwAiHh8AIh4fACIeHwAiHh8AIh4fACIeHwAi
+                                       Hh8AIh4fACIeHwAiHh8AIh4fACIeHwAiHh8A
+                                       Ih4fACIeHwAiHh8AIh4fACIeHwAiHh8AIh4f
+                                       ACIeHwD///8A////AP///wD///8A////AP//
+                                       /wD///8A////AP///wD///8A////AP///wD/
+                                       //8A////AP///wD///8A////AP///wD///8A
+                                       ////AP///wD///8A////AP///wAAAAAItoQo
+                                       ns6eRudjShaBDQkBQQMCAyUGBQUdBQQFHgMC
+                                       AyoOCwFQnngnq8qVMellSxZgMSwpEzMuKyRX
+                                       UUQ5ioBnZ4+Fa47CtY6y39Ci1OXWp/Tx4q//
+                                       9eWz//Tls//o2arwQz02NhoYGhQiHh8NIh4f
+                                       BSIeHwH///8A////AP///wD///8A////AP//
+                                       /wD///8A////AP///wD///8A////AP///wD/
+                                       //8A////AP///wD///8A////AP///wD///8A
+                                       ////AP///wD///8A////AP///wD///8A////
+                                       AP///wD///8A////AP///wD///8A////AP//
+                                       /wD///8A////AP///wD///8A////AP///wD/
+                                       //8A////AP///wAeGhsAHhobAB4aGwAfGxwA
+                                       IBwdACEdHgAiHh8AIh4fACIeHwAiHh8AIh4f
+                                       ACIeHwAiHh8AIh4fACIeHwAiHh8AIh4fACIe
+                                       HwAiHh8AIh4fACIeHwAiHh8AIh4fACIeHwAi
+                                       Hh8AIh4fACIeHwAiHh8AIh4fACIeHwAiHh8A
+                                       Ih4fACIeHwAiHh8AIh4fACIeHwAiHh8AIh4f
+                                       ACIeHwAiHh8AIh4fACIeHwAiHh8AIh4fACIe
+                                       HwAiHh8AIh4fACIeHwAiHh8AIh4fACIeHwAi
+                                       Hh8AIh4fACEdHgAgHB0AHxscAB8bHAAfGxwA
+                                       HhobAB4aGwAeGhsAHhobAB8bHAAfGxwAHxsc
+                                       AB8bHAAfGxwAHxscAB8bHAAfGxwAHxscAB8b
+                                       HAAfGxwAHxscAB8bHAAfGxwAHxscAB8bHAAf
+                                       GxwAHxscAB8bHAAfGxwAHxscAB8bHAAfGxwA
+                                       HxscACAcHQAiHh8AIh4fACIeHwAiHh8AIh4f
+                                       ACIeHwAiHh8AIh4fACIeHwAiHh8AIh4fACIe
+                                       HwAiHh8AIh4fACIeHwAiHh8AIh4fACIeHwAi
+                                       Hh8AIh4fACIeHwAiHh8AIh4fACIeHwAiHh8A
+                                       Ih4fACIeHwAiHh8AIh4fACIeHwAiHh8AIh4f
+                                       AP///wD///8A////AP///wD///8A////AP//
+                                       /wD///8A////AP///wD///8A////AP///wD/
+                                       //8A////AP///wD///8A////AP///wD///8A
+                                       Ih4fASIeHwIiHh8DGRYXBIZhHnnNnUDwRjMO
+                                       YAMCAygCAQItAQEBMAAAADAGBQU3EQ8ORB4b
+                                       GU1MRjloim0zxL2OMvepm3TN4NGi5Oraqf3z
+                                       46//9eWw/+/frP/r26n/6tup/+nZqP/o2aj/
+                                       6Nmo//Dhrv9pYVBpGRUZGyIeHxMiHh8IIh4f
+                                       Av///wD///8A////AP///wD///8A////AP//
+                                       /wD///8A////AP///wD///8A////AP///wD/
+                                       //8A////AP///wD///8A////AP///wD///8A
+                                       ////AP///wD///8A////AP///wD///8A////
+                                       AP///wD///8A////AP///wD///8A////AP//
+                                       /wD///8A////AP///wD///8A////AP///wD/
+                                       //8A////AB4aGwAeGhsAHhobAB8bHAAgHB0A
+                                       IR0eACIeHwAiHh8AIh4fACIeHwAiHh8AIh4f
+                                       ACIeHwAiHh8AIh4fACIeHwAiHh8AIh4fACIe
+                                       HwAiHh8AIh4fACIeHwAiHh8AIh4fACIeHwAi
+                                       Hh8AIh4fACIeHwAiHh8AIh4fACIeHwAiHh8A
+                                       Ih4fACIeHwAiHh8AIh4fACIeHwAiHh8AIh4f
+                                       ACIeHwAiHh8AIh4fACIeHwAiHh8AIh4fACIe
+                                       HwAiHh8AIh4fACIeHwAiHh8AIh4fACIeHwAi
+                                       Hh8AIR0eACAcHQAfGxwAHxscAB8bHAAeGhsA
+                                       HhobAB4aGwAeGhsAHxscAB8bHAAfGxwAHxsc
+                                       AB8bHAAfGxwAHxscAB8bHAAfGxwAHxscAB8b
+                                       HAAfGxwAHxscAB8bHAAfGxwAHxscAB8bHAAf
+                                       GxwAHxscAB8bHAAfGxwAHxscAB8bHAAfGxwA
+                                       IBwdACIeHwAiHh8AIh4fACIeHwAiHh8AIh4f
+                                       ACIeHwAiHh8AIh4fACIeHwAiHh8AIh4fACIe
+                                       HwAiHh8AIh4fACIeHwAiHh8AIh4fACIeHwAi
+                                       Hh8AIh4fACIeHwAiHh8AIh4fACIeHwAiHh8A
+                                       Ih4fACIeHwAiHh8AIh4fACIeHwAiHh8A////
+                                       AP///wD///8A////AP///wD///8A////AP//
+                                       /wD///8A////AP///wD///8A////AP///wAi
+                                       Hh8BIh4fASIeHwIiHh8DIh4fBCIeHwUfHB0F
+                                       HRkcBRcVFgYMDAMbzJg12pBrIpYLCgo7FBIR
+                                       SzEtJldnYEx3dm1Xl6GWdbe7rofXvbCI9sG0
+                                       iv/FuIv/yJxG/7ybV//m16X/6Nmm/+jYpv/n
+                                       2Kb/59im/+fYpv/n2Kb/59im/+jYp//o2Kf/
+                                       8uKu/6KXd6UWExYlIh4fGiIeHwsiHh8D////
+                                       AP///wD///8A////AP///wD///8A////AP//
+                                       /wD///8A////AP///wD///8A////AP///wD/
+                                       //8A////AP///wD///8A////AP///wD///8A
+                                       ////AP///wD///8A////AP///wD///8A////
+                                       AP///wD///8A////AP///wD///8A////AP//
+                                       /wD///8A////AP///wD///8A////AP///wD/
+                                       //8AHhobAB4aGwAeGhsAHxscACAcHQAhHR4A
+                                       Ih4fACIeHwAiHh8AIh4fACIeHwAiHh8AIh4f
+                                       ACIeHwAiHh8AIh4fACIeHwAiHh8AIh4fACIe
+                                       HwAiHh8AIh4fACIeHwAiHh8AIh4fACIeHwAi
+                                       Hh8AIh4fACIeHwAiHh8AIh4fACIeHwAiHh8A
+                                       Ih4fACIeHwAiHh8AIh4fACIeHwAiHh8AIh4f
+                                       ACIeHwAiHh8AIh4fACIeHwAiHh8AIh4fACIe
+                                       HwAiHh8AIh4fACIeHwAiHh8AIh4fACIeHwAh
+                                       HR4AIBwdAB8bHAAfGxwAHxscAB4aGwAeGhsA
+                                       HhobAB4aGwAfGxwAHxscAB8bHAAfGxwAHxsc
+                                       AB8bHAAfGxwAHxscAB8bHAAfGxwAHxscAB8b
+                                       HAAfGxwAHxscAB8bHAAfGxwAHxscAB8bHAAf
+                                       GxwAHxscAB8bHAAfGxwAHxscAB8bHAAgHB0A
+                                       Ih4fACIeHwAiHh8AIh4fACIeHwAiHh8AIh4f
+                                       ACIeHwAiHh8AIh4fACIeHwAiHh8AIh4fACIe
+                                       HwAiHh8AIh4fACIeHwAiHh8AIh4fACIeHwAi
+                                       Hh8AIh4fACIeHwAiHh8AIh4fACIeHwAiHh8A
+                                       Ih4fACIeHwAiHh8AIh4fACIeHwD///8A////
+                                       AP///wD///8A////AP///wD///8A////AP//
+                                       /wAiHh8BIh4fASIeHwIiHh8DIh4fBSIeHwYe
+                                       GhwGHRkcBRoWGQQVEhYDExAUASUhIgk0Lysa
+                                       OTQvL1xNMHjKmTz0dmRAw6Wad8jFuI3l3M6e
+                                       ++vcqP/v4Kv/6dun/+LSof/Zypr/ybuP/7yv
+                                       hf+7mlX/xZpF/9rLm//l1aP/59ek/+fXpP/n
+                                       16T/59ek/+fYpf/n2KX/59il/+fYpv/u3qr/
+                                       xriP1SgkIzUfGx0fIh4fDyIeHwUiHh8B////
+                                       AP///wD///8A////AP///wD///8A////AP//
+                                       /wD///8A////AP///wD///8A////AP///wD/
+                                       //8A////AP///wD///8A////AP///wD///8A
+                                       ////AP///wD///8A////AP///wD///8A////
+                                       AP///wD///8A////AP///wD///8A////AP//
+                                       /wD///8A////AP///wD///8A////AP///wAe
+                                       GhsAHhobAB4aGwAfGxwAIBwdACEdHgAiHh8A
+                                       Ih4fACIeHwAiHh8AIh4fACIeHwAiHh8AIh4f
+                                       ACIeHwAiHh8AIh4fACIeHwAiHh8AIh4fACIe
+                                       HwAiHh8AIh4fACIeHwAiHh8AIh4fACIeHwAi
+                                       Hh8AIh4fACIeHwAiHh8AIh4fACIeHwAiHh8A
+                                       Ih4fACIeHwAiHh8AIh4fACIeHwAiHh8AIh4f
+                                       ACIeHwAiHh8AIh4fACIeHwAiHh8AIh4fACIe
+                                       HwAiHh8AIh4fACIeHwAiHh8AIh4fACEdHgAg
+                                       HB0AHxscAB8bHAAfGxwAHhobAB4aGwAeGhsA
+                                       HhobAB8bHAAfGxwAHxscAB8bHAAfGxwAHxsc
+                                       AB8bHAAfGxwAHxscAB8bHAAfGxwAHxscAB8b
+                                       HAAfGxwAHxscAB8bHAAfGxwAHxscAB8bHAAf
+                                       GxwAHxscAB8bHAAfGxwAHxscACAcHQAiHh8A
+                                       Ih4fACIeHwAiHh8AIh4fACIeHwAiHh8AIh4f
+                                       ACIeHwAiHh8AIh4fACIeHwAiHh8AIh4fACIe
+                                       HwAiHh8AIh4fACIeHwAiHh8AIh4fACIeHwAi
+                                       Hh8AIh4fACIeHwAiHh8AIh4fACIeHwAiHh8A
+                                       Ih4fACIeHwAiHh8AIh4fAP///wD///8A////
+                                       ACIeHwEiHh8BIh4fAiIeHwMiHh8EIh4fBSAc
+                                       HQYdGRsEHRkbBBgVGAQUEBUCFxQYAi8qKBAz
+                                       LisiVk9DOYl/ZmGPhWqIvK+JrtzNns/ezp/x
+                                       va1//8+hRv+0oW//0sWW/+DRn//m16T/59ek
+                                       /+XVo//k1KH/0cOT/9/Pnf/YyZj/w7WJ/8Sg
+                                       VP/Ln0f/08SV/+PUoP/n16P/59ej/+fXo//n
+                                       16P/59ej/+fXpP/n16T/59ek/+jZpf/p2qb3
+                                       SkQ6WRoWGSEiHh8TIh4fByIeHwL///8A////
+                                       AP///wD///8A////AP///wD///8A////AP//
+                                       /wD///8A////AP///wD///8A////AP///wD/
+                                       //8A////AP///wD///8A////AP///wD///8A
+                                       ////AP///wD///8A////AP///wD///8A////
+                                       AP///wD///8A////AP///wD///8A////AP//
+                                       /wD///8A////AP///wD///8A////AB4aGwAe
+                                       GhsAHhobAB8bHAAgHB0AIR0eACIeHwAiHh8A
+                                       Ih4fACIeHwAiHh8AIh4fACIeHwAiHh8AIh4f
+                                       ACIeHwAiHh8AIh4fACIeHwAiHh8AIh4fACIe
+                                       HwAiHh8AIh4fACIeHwAiHh8AIh4fACIeHwAi
+                                       Hh8AIh4fACIeHwAiHh8AIh4fACIeHwAiHh8A
+                                       Ih4fACIeHwAiHh8AIh4fACIeHwAiHh8AIh4f
+                                       ACIeHwAiHh8AIh4fACIeHwAiHh8AIh4fACIe
+                                       HwAiHh8AIh4fACIeHwAiHh8AIR0eACAcHQAf
+                                       GxwAHxscAB8bHAAeGhsAHhobAB4aGwAeGhsA
+                                       HxscAB8bHAAfGxwAHxscAB8bHAAfGxwAHxsc
+                                       AB8bHAAfGxwAHxscAB8bHAAfGxwAHxscAB8b
+                                       HAAfGxwAHxscAB8bHAAfGxwAHxscAB8bHAAf
+                                       GxwAHxscAB8bHAAfGxwAIBwdACIeHwAiHh8A
+                                       Ih4fACIeHwAiHh8AIh4fACIeHwAiHh8AIh4f
+                                       ACIeHwAiHh8AIh4fACIeHwAiHh8AIh4fACIe
+                                       HwAiHh8AIh4fACIeHwAiHh8AIh4fACIeHwAi
+                                       Hh8AIh4fACIeHwAiHh8AIh4fACIeHwAiHh8A
+                                       Ih4fACIeHwEiHh8BIh4fAiIeHwMiHh8FIh4f
+                                       Bh4aHAUdGRsEGxgaBBUSFgMTEBQBIx8gBzUw
+                                       LRkvKyctXVZIUIyCaXSckXSc0cSYvODRo9/q
+                                       2qn78uKu//Tkr//v36v/6Nim/+DRn//DtIr/
+                                       0KFD/8CdVP/Zypn/4tOg/+fXov/i0p//vZ5Y
+                                       /9CkTf/OnkD/qohA/6yWYf+vmWH/06xb/72c
+                                       Vf/RwpL/4dCd/+bVoP/n1qH/59ah/+fWov/n
+                                       1qL/59ai/+fXov/n16L/59ej//Hgqv9+dFyF
+                                       GBQYJCIeHxgiHh8KIh4fA////wD///8A////
+                                       AP///wD///8A////AP///wD///8A////AP//
+                                       /wD///8A////AP///wD///8A////AP///wD/
+                                       //8A////AP///wD///8A////AP///wD///8A
+                                       ////AP///wD///8A////AP///wD///8A////
+                                       AP///wD///8A////AP///wD///8A////AP//
+                                       /wD///8A////AP///wD///8AHhobAB4aGwAe
+                                       GhsAHxscACAcHQAhHR4AIh4fACIeHwAiHh8A
+                                       Ih4fACIeHwAiHh8AIh4fACIeHwAiHh8AIh4f
+                                       ACIeHwAiHh8AIh4fACIeHwAiHh8AIh4fACIe
+                                       HwAiHh8AIh4fACIeHwAiHh8AIh4fACIeHwAi
+                                       Hh8AIh4fACIeHwAiHh8AIh4fACIeHwAiHh8A
+                                       Ih4fACIeHwAiHh8AIh4fACIeHwAiHh8AIh4f
+                                       ACIeHwAiHh8AIh4fACIeHwAiHh8AIh4fACIe
+                                       HwAiHh8AIh4fACIeHwAhHR4AIBwdAB8bHAAf
+                                       GxwAHxscAB4aGwAeGhsAHhobAB4aGwAfGxwA
+                                       HxscAB8bHAAfGxwAHxscAB8bHAAfGxwAHxsc
+                                       AB8bHAAfGxwAHxscAB8bHAAfGxwAHxscAB8b
+                                       HAAfGxwAHxscAB8bHAAfGxwAHxscAB8bHAAf
+                                       GxwAHxscAB8bHAAgHB0AIh4fACIeHwAiHh8A
+                                       Ih4fACIeHwAiHh8AIh4fACIeHwAiHh8AIh4f
+                                       ACIeHwAiHh8AIh4fACIeHwAiHh8AIh4fACIe
+                                       HwAiHh8AIh4fACIeHwAiHh8AIh4fACIeHwAi
+                                       Hh8BIh4fASIeHwEiHh8CIh4fAyIeHwQiHh8F
+                                       IBwdBh0ZGwUdGRsEGBUYBBQQFQMXExcCLyop
+                                       DzQwLCJEPjc3hHplYYyDaoazqIWt2MqfztnL
+                                       n/DTxZn/3M+g//Hhrv/t3av/6tqp/+nZp//n
+                                       2Kb/59il/+fXpP/l1aP/3c6c/8q8j/+qk1//
+                                       06xa/7iibv/m1aD/4M+c/7qcWv/Spk//3Lt7
+                                       /9y7e//Wr2P/o30x/9GnT//Wsmf/r6Bz/8+/
+                                       j//h0Jz/5dSf/+bVn//m1Z//5tWf/+bVn//m
+                                       1aD/5tWg/+bVoP/m1aD/796n/6+ifbsaFxkr
+                                       Ih4fHSIeHw0iHh8EIh4fAf///wD///8A////
+                                       AP///wD///8A////AP///wD///8A////AP//
+                                       /wD///8A////AP///wD///8A////AP///wD/
+                                       //8A////AP///wD///8A////AP///wD///8A
+                                       ////AP///wD///8A////AP///wD///8A////
+                                       AP///wD///8A////AP///wD///8A////AP//
+                                       /wD///8A////AP///wAeGhsAHhobAB4aGwAf
+                                       GxwAIBwdACEdHgAiHh8AIh4fACIeHwAiHh8A
+                                       Ih4fACIeHwAiHh8AIh4fACIeHwAiHh8AIh4f
+                                       ACIeHwAiHh8AIh4fACIeHwAiHh8AIh4fACIe
+                                       HwAiHh8AIh4fACIeHwAiHh8AIh4fACIeHwAi
+                                       Hh8AIh4fACIeHwAiHh8AIh4fACIeHwAiHh8A
+                                       Ih4fACIeHwAiHh8AIh4fACIeHwAiHh8AIh4f
+                                       ACIeHwAiHh8AIh4fACIeHwAiHh8AIh4fACIe
+                                       HwAiHh8AIh4fACEdHgAgHB0AHxscAB8bHAAf
+                                       GxwAHhobAB4aGwAeGhsAHhobAB8bHAAfGxwA
+                                       HxscAB8bHAAfGxwAHxscAB8bHAAfGxwAHxsc
+                                       AB8bHAAfGxwAHxscAB8bHAAfGxwAHxscAB8b
+                                       HAAfGxwAHxscAB8bHAAfGxwAHxscAB8bHAAf
+                                       GxwAHxscACAcHQAiHh8AIh4fACIeHwAiHh8A
+                                       Ih4fACIeHwAiHh8AIh4fACIeHwAiHh8AIh4f
+                                       ACIeHwAiHh8AIh4fACIeHwAiHh8AIh4fACIe
+                                       HwAiHh8AIh4fASIeHwEiHh8CIh4fAyIeHwQi
+                                       Hh8GHhocBR0ZGwQbGBoEFRIWAxMPFAIiHh8G
+                                       NTAtGTQvLClgWUxLioBpc5qQd5rLv5m9286j
+                                       4OLVqfvu4LD/8eKx/+vdrf/l16f/5den/9jK
+                                       m//Mv5T/39Ch/+fYpv/n2KX/59ek/+fXpP/n
+                                       16T/59ej/+XVov/fzpz/zL2O/7utgv+xlln/
+                                       27l3/8uqYv/QqVr/0KVN/9ixav/jyZb/4MGF
+                                       /9y8ff+tgiv/fF4i/5d9Q//Juor/1cWS/+DP
+                                       mv/h0Zv/4M+a/+DPm//gz5v/4M+b/+HQm//i
+                                       0p3/49Od/+TTnv/p16L/18eX5DkzLkUcGRsh
+                                       Ih4fECIeHwYiHh8B////AP///wD///8A////
+                                       AP///wD///8A////AP///wD///8A////AP//
+                                       /wD///8A////AP///wD///8A////AP///wD/
+                                       //8A////AP///wD///8A////AP///wD///8A
+                                       ////AP///wD///8A////AP///wD///8A////
+                                       AP///wD///8A////AP///wD///8A////AP//
+                                       /wD///8A////AB4aGwAeGhsAHhobAB8bHAAg
+                                       HB0AIR0eACIeHwAiHh8AIh4fACIeHwAiHh8A
+                                       Ih4fACIeHwAiHh8AIh4fACIeHwAiHh8AIh4f
+                                       ACIeHwAiHh8AIh4fACIeHwAiHh8AIh4fACIe
+                                       HwAiHh8AIh4fACIeHwAiHh8AIh4fACIeHwAi
+                                       Hh8AIh4fACIeHwAiHh8AIh4fACIeHwAiHh8A
+                                       Ih4fACIeHwAiHh8AIh4fACIeHwAiHh8AIh4f
+                                       ACIeHwAiHh8AIh4fACIeHwAiHh8AIh4fACIe
+                                       HwAiHh8AIR0eACAcHQAfGxwAHxscAB8bHAAe
+                                       GhsAHhobAB4aGwAeGhsAHxscAB8bHAAfGxwA
+                                       HxscAB8bHAAfGxwAHxscAB8bHAAfGxwAHxsc
+                                       AB8bHAAfGxwAHxscAB8bHAAfGxwAHxscAB8b
+                                       HAAfGxwAHxscAB8bHAAfGxwAHxscAB8bHAAf
+                                       GxwAIBwdACIeHwAiHh8AIh4fACIeHwAiHh8A
+                                       Ih4fACIeHwAiHh8AIh4fACIeHwAiHh8AIh4f
+                                       ACIeHwEiHh8BIh4fASIeHwIiHh8DIh4fBCIe
+                                       HwUgHB4GHRkbBR0ZGwQZFRgEFBAUAxcTFgIu
+                                       KigONTAtIUQ/OTWHfmpckIhxhLWrjKrc0KjL
+                                       zsKb7tbJof/s3rL/7+Gy/+ncrf/o2q3/6Nqr
+                                       /+fZqv/o2qr/6Nmo/+jZqP/m1qb/2sud/8u+
+                                       kv/Zy5v/59ek/+fXpP/n16P/59ei/+fWov/n
+                                       1qH/59ah/+LRnf/TxJL/wbOG/7qsgP+olWX/
+                                       1q9i/8mjT/+ScCv/zZo4/9atXf/WrV3/1q1d
+                                       /8+hSP/GkzD/z6FG/8aeS//Uq1f/1q9h/9ez
+                                       Z//XsWX/17Fl/9ezZf/Wsmb/1rJl/9ezZf/X
+                                       tGb/1q5g/9SuXv/Wr17+k3Ivs3dWH3ZQORZQ
+                                       LxwFKxMTBBEAAAAJAAAABwAAAAMAAAACAAAA
+                                       AQAAAAH///8A////AP///wD///8A////AP//
+                                       /wD///8A////AP///wD///8A////AP///wD/
+                                       //8A////AP///wD///8A////AP///wD///8A
+                                       ////AP///wD///8A////AP///wD///8A////
+                                       AP///wD///8A////AP///wD///8A////AB8b
+                                       HAEfGxwCHxscAx8bHAMfGxwCHxscASAcHQAh
+                                       HR4AIh4fACIeHwAiHh8AIh4fACIeHwAiHh8A
+                                       Ih4fACIeHwAiHh8AIh4fACIeHwAiHh8AIh4f
+                                       ACIeHwAiHh8AIh4fACIeHwAiHh8AIh4fACIe
+                                       HwAiHh8AIh4fACIeHwAiHh8AIh4fACIeHwAi
+                                       Hh8AIh4fACIeHwAiHh8AIh4fACIeHwAiHh8A
+                                       Ih4fACIeHwAiHh8AIh4fACIeHwAiHh8AIh4f
+                                       ACIeHwAiHh8AIh4fACIeHwAiHh8AIh4fACIe
+                                       HwAhHR4AIBwdAB8bHAAfGxwAHxscAB4aGwAe
+                                       GhsAHhobAB4aGwAfGxwAHxscAB8bHAAfGxwA
+                                       HxscAB8bHAAfGxwAHxscAB8bHAAfGxwAHxsc
+                                       AB8bHAAfGxwAHxscAB8bHAAfGxwAHxscAB8b
+                                       HAAfGxwAHxscAB8bHAAfGxwAHxscAB8bHAAg
+                                       HB0AIh4fACIeHwAiHh8AIh4fACIeHwAiHh8A
+                                       Ih4fACIeHwAiHh8BIh4fASIeHwIiHh8DIh4f
+                                       BCIeHwYeGhwFHRkbBRsYGgQWEhUEEw8TAh4b
+                                       HAQ1MC4XNTAtKGReUkSPh3NsnZR8mc/Eornj
+                                       1rDd6Nyz+fPmu//16Lz/8eS4/+rcsv/Txp//
+                                       08ae/+LUqf/k16n/59mq/+jaq//o2ar/6Nmp
+                                       /+PUpP/ez6D/3s+g/9/QoP/Uxpf/zL6R/9vM
+                                       nP/m1qL/5tah/+fWov/n1qH/59ah/+fWoP/n
+                                       1p//5dSe/97Nmf/Ovo3/v7CD/7utf/+6rH//
+                                       spBH/66ALP/buXj/8eLH//r27f///////Pnz
+                                       //Pmzv/z5s7/9e3e/+vZtv/kypn/5Mub/+XM
+                                       nP/ky5v/5cyc/+TLm//kzJv/48qY/+LHk//g
+                                       won/3r+D/9u5eP/bt3L/2LJp/NWtYfDRplLW
+                                       ypk5rrKDK4RzUxpQMx0AIwAAAAwAAAAIAAAA
+                                       BAAAAAIAAAAB////AP///wD///8A////AP//
+                                       /wD///8A////AP///wD///8A////AP///wD/
+                                       //8A////AP///wD///8A////AP///wD///8A
+                                       ////AP///wD///8A////AP///wD///8A////
+                                       AP///wD///8A////ACEdHgIhHR4EIR0eBiEd
+                                       HgkgHB0KHRkbCCEdHgchHR4FIR0eAiEdHgEi
+                                       Hh8AIh4fACIeHwAiHh8AIh4fACIeHwAiHh8A
+                                       Ih4fACIeHwAiHh8AIh4fACIeHwAiHh8AIh4f
+                                       ACIeHwAiHh8AIh4fACIeHwAiHh8AIh4fACIe
+                                       HwAiHh8AIh4fACIeHwAiHh8AIh4fACIeHwAi
+                                       Hh8AIh4fACIeHwAiHh8AIh4fACIeHwAiHh8A
+                                       Ih4fACIeHwAiHh8AIh4fACIeHwAiHh8AIh4f
+                                       ACIeHwAiHh8AIh4fACIeHwAiHh8AIh4fACEd
+                                       HgAgHB0AHxscAB8bHAAfGxwAHhobAB4aGwAe
+                                       GhsAHhobAB8bHAAfGxwAHxscAB8bHAAfGxwA
+                                       HxscAB8bHAAfGxwAHxscAB8bHAAfGxwAHxsc
+                                       AB8bHAAfGxwAHxscAB8bHAAfGxwAHxscAB8b
+                                       HAAfGxwAHxscAB8bHAAfGxwAHxscACAcHQAi
+                                       Hh8AIh4fACIeHwAiHh8BIh4fAiIeHwMiHh8E
+                                       Ih4fBSAcHgYdGRsFHRkbBBkVFwQUERQDFREU
+                                       ASsnJg02Mi8gQj04M4R9bFeSineCr6aNqN3S
+                                       sMnk2rXq7uO8//bpwP/26b//7+K5/+zftv/r
+                                       3rT/6dyy/+ncsf/p27D/5tit/9THnv/Pwpn/
+                                       4NKm/+fZqv/o2qr/6Nmq/+XWpv/RxJj/x7qP
+                                       /8a6j//Mv5L/z8KU/82/kf/PwZL/4tOf/+bV
+                                       of/n1qH/59ah/+fWoP/l1J7/4dCb/9zMl//Y
+                                       yJP/0MCO/8O1hv+qm3D/o4pS/7eSRP/au3z/
+                                       7Nu7//fu3v///////fv4//r16//48uX/9/Di
+                                       //v27/////////////v38P/8+fP/+vjz//r3
+                                       8f/59vD/+fbw//v27//59Or/+PLl//bu3f/1
+                                       69j/8uXN/+/fwP/r17D/5s2d/+LEi//cuXX/
+                                       2bJm/9WrW/bRpE3WyZg2q4pmH2Q0IQcnAAAA
+                                       DQAAAAcAAAAEAAAAAv///wD///8A////AP//
+                                       /wD///8A////AP///wD///8A////AP///wD/
+                                       //8A////AP///wD///8A////AP///wD///8A
+                                       ////AP///wD///8A////AP///wD///8A////
+                                       ACIeHwEiHh8DIh4fBiIeHwsiHh8SHxsdFhwY
+                                       GxAqJiUTGRYYCiAcHQwiHh8IIh4fBCIeHwEi
+                                       Hh8BIh4fACIeHwAiHh8AIh4fACIeHwAiHh8A
+                                       Ih4fACIeHwAiHh8AIh4fACIeHwAiHh8AIh4f
+                                       ACIeHwAiHh8AIh4fACIeHwAiHh8AIh4fACIe
+                                       HwAiHh8AIh4fACIeHwAiHh8AIh4fACIeHwAi
+                                       Hh8AIh4fACIeHwAiHh8AIh4fACIeHwAiHh8A
+                                       Ih4fACIeHwAiHh8AIh4fACIeHwAiHh8AIh4f
+                                       ACIeHwAiHh8AIh4fACIeHwAiHh8AIR0eACAc
+                                       HQAfGxwAHxscAB8bHAAeGhsAHhobAB4aGwAe
+                                       GhsAHxscAB8bHAAfGxwAHxscAB8bHAAfGxwA
+                                       HxscAB8bHAAfGxwAHxscAB8bHAAfGxwAHxsc
+                                       AB8bHAAfGxwAHxscAB8bHAAfGxwAHxscAB8b
+                                       HAAfGxwAHxscAB8bHAAfGxwAIBwdACIeHwEi
+                                       Hh8CIh4fBB4aHAUdGRoFGxgZBBYSFQQTDxIC
+                                       HhocBTUwLhY1MC8mZF5URJKKeWyblICXy8Km
+                                       t+Tautrp37349OnF//fsxv/16ML/7eK8/+zh
+                                       uv/r37j/6t62/+rdtf/q3bT/6d2z/+ncsv/p
+                                       3LH/6duw/+nbr//n2a3/286k/8q+lv/Xyp7/
+                                       5tip/+jZqf/o2aj/18ib/8m7kf/Guo//xrqO
+                                       /8a5jf/HuY3/ybuN/9HCk//i0Z3/3s6b/9rK
+                                       l//WxpT/0MGQ/8u8i//IuYn/xLaG/7SmeP+s
+                                       ll//yaFN/9KtYP/YtG3/7+DF//n07f/16tf/
+                                       9/Di//v48v/+/fv/////////////////////
+                                       ////////////////////////////////////
+                                       ////////////////////////////////////
+                                       /////fv4//r16//38OL/9OnV//Hix//r17D/
+                                       5syb/96+f//YsGP/06hW+9GlT9zJkzChdlgb
+                                       VBQKABkAAAAKAAAABQAAAAIAAAAB////AP//
+                                       /wD///8A////AP///wD///8A////AP///wD/
+                                       //8A////AP///wD///8A////AP///wD///8A
+                                       ////AP///wD///8A////AP///wAiHh8CIh4f
+                                       BCIeHwgiHh8QIh4fGBoWGR0gHB4jhn5qd9LG
+                                       or1uZ1hWHBkaERoWGQ0iHh8LIh4fBiIeHwMi
+                                       Hh8BIh4fACIeHwAiHh8AIh4fACIeHwAiHh8A
+                                       Ih4fACIeHwAiHh8AIh4fACIeHwAiHh8AIh4f
+                                       ACIeHwAiHh8AIh4fACIeHwAiHh8AIh4fACIe
+                                       HwAiHh8AIh4fACIeHwAiHh8AIh4fACIeHwAi
+                                       Hh8AIh4fACIeHwAiHh8AIh4fACIeHwAiHh8A
+                                       Ih4fACIeHwAiHh8AIh4fACIeHwAiHh8AIh4f
+                                       ACIeHwAiHh8AIh4fACIeHwAhHR4AIBwdAB8b
+                                       HAAfGxwAHxscAB4aGwAeGhsAHhobAB4aGwAf
+                                       GxwAHxscAB8bHAAfGxwAHxscAB8bHAAfGxwA
+                                       HxscAB8bHAAfGxwAHxscAB8bHAAfGxwAHxsc
+                                       AB8bHAAfGxwAHxscAB8bHAAfGxwAHxscAB8b
+                                       HAAfGxwAHxscAB8bHAAgHB0BIR0eAxQQEwAV
+                                       ERQALSkoCTczMR5CPjozg31wVJSNfoGwqZWm
+                                       3dW5x+fewOjw58f/+O3L//ftyv/x58T/7ePA
+                                       /+zhvv/r4Lz/69+7/+rfuf/q37j/6t63/+re
+                                       tv/q3bb/6t20/+nds//p3LL/6dyx/+nbsP/p
+                                       26//6duu/+bYrP/j1aj/1cid/8m8k//Yyp3/
+                                       4tOj/9zNnv/Nv5P/yLuP/8a5jf/GuY3/xrmM
+                                       /8a4i//GuIr/yruN/8y9jf/Juov/x7mJ/8W3
+                                       h//Et4b/wbOE/6ycbv+6mlT/0apd/9exaP/c
+                                       u3v/48qY/+7fwf//////////////////////
+                                       ////////////////////////////////////
+                                       ////////////////////////////////////
+                                       ////////////////////////////////////
+                                       /////////////////////Pnz//nz6P/17Nr/
+                                       8eLH/+zYs//ly5j/3bt4/9WqWP/Qokn3z55B
+                                       yJx0JHcvIgcmAAAACgAAAAUAAAACAAAAAf//
+                                       /wD///8A////AP///wD///8A////AP///wD/
+                                       //8A////AP///wD///8A////AP///wD///8A
+                                       ////AP///wD///8AIh4fAiIeHwYiHh8LIh4f
+                                       FCAdHh4TEBQgQTw2RritjLP05rn/8uW5//Ll
+                                       ufqxp4qePDgzMBcTFw0eGhwNIh4fCSIeHwQi
+                                       Hh8CIh4fASIeHwAiHh8AIh4fACIeHwAiHh8A
+                                       Ih4fACIeHwAiHh8AIh4fACIeHwAiHh8AIh4f
+                                       ACIeHwAiHh8AIh4fACIeHwAiHh8AIh4fACIe
+                                       HwAiHh8AIh4fACIeHwAiHh8AIh4fACIeHwAi
+                                       Hh8AIh4fACIeHwAiHh8AIh4fACIeHwAiHh8A
+                                       Ih4fACIeHwAiHh8AIh4fACIeHwAiHh8AIh4f
+                                       ACIeHwAiHh8AIh4fACEdHgAgHB0AHxscAB8b
+                                       HAAfGxwAHhobAB4aGwAeGhsAHhobAB8bHAAf
+                                       GxwAHRoaAB0aGgAdGhoAHRoaAB0aGgAdGhoA
+                                       HRoaAB0aGgAdGhoAHRoaAB0aGgAdGhoAHRoa
+                                       AB0aGgAdGhoAHRoaAB0aGgAdGhoAHRoaAB0a
+                                       GgAdGhoAHRoaABwZGgEvKyoKlI6BWZ6XiZDN
+                                       x7G15t7F1+vjyPf27dD/+PDR//btzv/v5sf/
+                                       7uTF/+3jw//s4sH/6+HA/+vhvv/r4L3/6+C8
+                                       /+vfu//q37r/6t+4/+reuP/q3rb/6t21/+rd
+                                       tP/p3bP/6dyy/+ncsf/p27D/6duv/+nbrv/o
+                                       2q3/59mq/+TXqP/i06X/2cue/8y/lP/Rw5f/
+                                       z8KV/8u+kf/HuY3/xrmM/8a5i//GuIv/xriK
+                                       /8a4if/GuIn/xreJ/8W2h//Etob/wrKD/6ua
+                                       bP/BnVD/06td/9q0a//ixIv/69ew//Po0v/6
+                                       9ev/////////////////////////////////
+                                       //////////////////////z69f/169j/8+jS
+                                       /+vYsv/p06j/586e/+bMm//mzJv/5s2d/+bN
+                                       nf/o0aX/6dSq/+zat//v4ML/9erX//z69f//
+                                       ///////////////////////////////8+fP/
+                                       9/Di//Po0v/v3r//6dKn/+DAg//WrFv/0KFF
+                                       /82dQNepfieCPSsGKgAAAAoAAAAFAAAAAv//
+                                       /wD///8A////AP///wD///8A////AP///wD/
+                                       //8A////AP///wD///8A////AP///wD///8A
+                                       Ih4fAiIeHwMiHh8IIh4fDyIeHxgbGBogHBgb
+                                       Km9nVnTczqXi9Oa4/+rdsf/q3bL/6960//Tn
+                                       u//l2LHghHxpbyUiIhgWExYMIh4fDCIeHwci
+                                       Hh8DIh4fASIeHwAiHh8AIh4fACIeHwAiHh8A
+                                       Ih4fACIeHwAiHh8AIh4fACIeHwAiHh8AIh4f
+                                       ACIeHwAiHh8AIh4fACIeHwAiHh8AIh4fACIe
+                                       HwAiHh8AIh4fACIeHwAiHh8AIh4fACIeHwAi
+                                       Hh8AIh4fACIeHwAiHh8AIh4fACIeHwAiHh8A
+                                       Ih4fACIeHwAiHh8AIh4fACIeHwAiHh8AIh4f
+                                       ACIeHwAiHh8AIR0eACAcHQAfGxwAHxscAB8b
+                                       HAAeGhsAHhobAB4aGwAeGhsAHxscAB8bHAAf
+                                       HBwAHRoaAB0aGgAdGhoAHRoaAB0aGgAdGhoA
+                                       HRoaAB0aGgAdGhoAHRoaAB0aGgAdGhoAHRoa
+                                       AB0aGgAdGhoAHRoaAB0aGgAdGhoAHRoaAB0a
+                                       GgAdGhoBGhYYATcyMQ7u587Q/PXa//Pr0P/v
+                                       58z/7+XK/+zkyP/s48b/7OPF/+ziw//s4sL/
+                                       6+LB/+vhwP/r4b//6+G+/+vgvf/r4Lv/6t+6
+                                       /+rfuf/q3rj/6t62/+rdtf/q3bT/6d2z/+nc
+                                       sv/p3LH/6duw/+nbr//p267/6Nqt/+jaq//n
+                                       2an/5dao/+PVpf/j1KT/4dGi/9jKm//WyJn/
+                                       yryP/8a5jP/GuIv/xriK/8a4iv/GuIn/xreJ
+                                       /8a3iP/Ftob/w7OE/62cbv+7mFH/0ahX/9q0
+                                       a//jx5D/7du4//Xs2v/8+vX/////////////
+                                       //////////////////////////z69f/v4ML/
+                                       69av/+LFjf/evX3/3bt6/9u2b//atGv/2bNq
+                                       /9q0a//btm//27Zw/9y4c//dunb/3rx7/9+/
+                                       gv/gwYX/4sSL/+DCh//gwYX/37+C/+DAg//i
+                                       xY3/6dSq//Hix///////////////////////
+                                       //////jy5//16tf/7+DC/+nTqP/hw4j/1q1d
+                                       /86dPf/MmzvcpXomfzAiByUAAAAJAAAABAAA
+                                       AAH///8A////AP///wD///8A////AP///wD/
+                                       //8A////AP///wD///8A////ACIeHwIiHh8F
+                                       Ih4fCyIeHxMhHR4dFhMXIjcyLkGlmnup8+W0
+                                       /+/gsv/q26//6tyw/+rdsf/q3bL/6t6z/+/h
+                                       t//26b7/xLmZu1dRR0UUERUOHBgbDSIeHwoi
+                                       Hh8FIh4fAiIeHwEiHh8AIh4fACIeHwAiHh8A
+                                       Ih4fACIeHwAiHh8AIh4fACIeHwAiHh8AIh4f
+                                       ACIeHwAiHh8AIh4fACIeHwAiHh8AIh4fACIe
+                                       HwAiHh8AIh4fACIeHwAiHh8AIh4fACIeHwAi
+                                       Hh8AIh4fACIeHwAiHh8AIh4fACIeHwAiHh8A
+                                       Ih4fACIeHwAiHh8AIh4fACIeHwAiHh8AIh4f
+                                       ACIeHwAhHR4AIBwdAB8bHAAfGxwAHxscAB4a
+                                       GwAeGhsAHhobAB4aGwAfGxwAHxscACAcHQAe
+                                       GxsAHRoaAB0aGgAdGhoAHRoaAB0aGgAdGhoA
+                                       HRoaAB0aGgAdGhoAHRoaAB0aGgAdGhoAHRoa
+                                       AB0aGgAdGhoAHRoaAB0aGgAdGhoAHRoaAB0a
+                                       GgAfGxwFGhYYAKmjk5b48db/7eXL/+3kyf/s
+                                       5Mj/7OTG/+zjxf/s48T/7OLD/+ziwf/r4cD/
+                                       6+G//+vhvv/r4L3/6+C7/+rfuv/q37n/6t64
+                                       /+ret//q3rb/6t21/+nds//p3LL/6dyx/+nb
+                                       sP/p26//6duu/+jarf/o2qv/6Nqq/+jZqv/n
+                                       2Kf/5dWl/+PUpP/i06H/4dKg/9PElv/Iuo3/
+                                       xriL/8a4iv/GuIn/xriJ/8a3iP/Ftob/xLaG
+                                       /7Wmef+xllf/0KZU/9ixZf/ixIv/7Nq3//bt
+                                       2//9+/j/////////////////////////////
+                                       ////+fPo/+3buP/jx5L/3r5//9mzav/Xrl7/
+                                       1KlV/9OmUP/QoUf/zpw7/8mWMv/AjjD/vo0v
+                                       /76NL/+2hy3/vIwv/76NL//JljL/zJk1/9Cg
+                                       Q//Tp1L/2LBj/927ev/ixY3/5cqW/+XLmP/k
+                                       yZX/4MGF/927ev/fv4L/6NGl//jx4///////
+                                       ///////////58+j/8+fQ/+/ev//o0KP/37+A
+                                       /9OnUv/LlzL/yZUyzoRhHl8AAAASAAAABwAA
+                                       AAMAAAAB////AP///wD///8A////AP///wD/
+                                       //8A////ACIeHwEiHh8DIh4fCCIeHw0iHh8X
+                                       HRkbIBoWGSdfV0ln18md3fTlsv/q3Kz/6dut
+                                       /+rbrv/q3K//6tyw/+rdsf/q3bL/6t6z/+ve
+                                       tf/z5rz/7eG58piQeYozLy0kFRIVDCAcHQ0i
+                                       Hh8IIh4fBCIeHwEiHh8AIh4fACIeHwAiHh8A
+                                       Ih4fACIeHwAiHh8AIh4fACIeHwAiHh8AIh4f
+                                       ACIeHwAiHh8AIh4fACIeHwAiHh8AIh4fACIe
+                                       HwAiHh8AIh4fACIeHwAiHh8AIh4fACIeHwAi
+                                       Hh8AIh4fACIeHwAiHh8AIh4fACIeHwAiHh8A
+                                       Ih4fACIeHwAiHh8AIh4fACIeHwAiHh8AIh4f
+                                       ACEdHgAgHB0AHxscAB8bHAAfGxwAHhobAB4a
+                                       GwAeGhsAHhobAB8bHAAfGxwAIBwdACEdHgAe
+                                       GhsAHRoaAB0aGgAdGhoAHRoaAB0aGgAdGhoA
+                                       HRoaAB0aGgAdGhoAHRoaAB0aGgAdGhoAHRoa
+                                       AB0aGgAdGhoAHRoaAB0aGgAdGhoAHRoaACAc
+                                       HQYVERQGdnFnV/Xt0v/u5cr/7eTI/+zkx//s
+                                       48b/7OPE/+ziw//s4sL/6+LB/+vhwP/r4b7/
+                                       6+C9/+vgvP/r37v/6t+5/+rfuP/q3rf/6t62
+                                       /+rdtf/p3bP/6dyy/+ncsf/p27D/6duv/+nb
+                                       rv/o2q3/6Nqr/+jaqv/o2ar/6Nmo/+jYp//o
+                                       2Kf/5NWj/9nKmv/Nv5H/yLqM/8a4i//GuIr/
+                                       xriJ/8a3if/Gt4j/xbaG/8OzhP+plWL/y6JJ
+                                       /9asW//evX3/6tWt//Pn0P/8+fP/////////
+                                       ///////////////////58+j/7Niz/+PHkP/e
+                                       vn//2rRr/9WqWP/Ro0r/zJk1/7iILf+gdyj/
+                                       lG4l/4RiIf9+Xh//eVoe/3hZHf97Wx7/dlgd
+                                       /3hZHf95Wh7/eVoe/3xcH/+AXyD/fl4f/4hl
+                                       If+MaCP/mHEm/6h9Kf++jS//0aJI/9mzav/i
+                                       xY3/6NCj/+fOnv/hw4j/2rRr/9u2b//o0KP/
+                                       +vXr////////////+PHj//Hkyv/s2rf/5syb
+                                       /9u3cv/QoEP/xJEv+b2NLa9UOQ06AAAACgAA
+                                       AAQAAAAB////AP///wD///8A////ACIeHwEi
+                                       Hh8CIh4fBSIeHwoiHh8SIR0fHBcTGCEuKic5
+                                       m5Bxne7erPnv363/6dqp/+naqv/p26v/6dut
+                                       /+rbrv/q3K//6tyw/+rdsf/q3bL/6t6z/+ve
+                                       tf/t4Lj/9+vB/9fMqdNwaVteHhocExgVGA0i
+                                       Hh8LIh4fBiIeHwMiHh8BIh4fACIeHwAiHh8A
+                                       Ih4fACIeHwAiHh8AIh4fACIeHwAiHh8AIh4f
+                                       ACIeHwAiHh8AIh4fACIeHwAiHh8AIh4fACIe
+                                       HwAiHh8AIh4fACIeHwAiHh8AIh4fACIeHwAi
+                                       Hh8AIh4fACIeHwAiHh8AIh4fACIeHwAiHh8A
+                                       Ih4fACIeHwAiHh8AIh4fACIeHwAiHh8AIR0e
+                                       ACAcHQAfGxwAHxscAB8bHAAeGhsAHhobAB4a
+                                       GwAeGhsAHxscAB8bHAAgHB0AIR0eACAcHQAd
+                                       GhoAHRoaAB0aGgAdGhoAHRoaAB0aGgAdGhoA
+                                       HRoaAB0aGgAdGhoAHRoaAB0aGgAdGhoAHRoa
+                                       AB0aGgAdGhoAHRoaAB0aGgAdGhoAIBwdBBwY
+                                       Ggk4NDIs6ODG5+/ny//s5Mj/7OTH/+zjxf/s
+                                       48T/7OLD/+ziwf/r4cD/6+G//+vgvf/r4Lz/
+                                       69+7/+rfuv/q37j/6t63/+retv/q3bX/6t20
+                                       /+nds//p3LL/6dyw/+nbr//p267/6Nqt/+ja
+                                       rP/o2qv/6Nmq/+jZqP/o2Kf/59em/93Pnv/Q
+                                       wpT/x7mN/8a5i//GuIr/xriK/8a4if/Gt4n/
+                                       xbaG/8S2hv+0pXj/t5dS/8+kTv/YsWX/5cuY
+                                       //Hix//59Or/////////////////////////
+                                       ///169j/6dOo/+LFjf/dunb/169i/8+fQv++
+                                       jS//oHco/4RiIf95Wh7/dFYd/2xQG/90Vh3/
+                                       a08a/25SG/9zVRz/dFYd/3hZHf97Wx7/gWAg
+                                       /3tbHv+AXyD/gF8g/3hZHf97Wx7/eVoe/3tb
+                                       Hv9+Xh//hmQh/4lmIv+MaCP/k20k/6Z7Kf/I
+                                       lDH/06dS/96+f//nzp7/5cqW/9y4c//Vqlf/
+                                       3Lhz//Dhxf///////v79//fu3v/v4ML/6dOo
+                                       /+HDiP/WrFv/wI4w/8KQL+KQaiFsDQAAEwAA
+                                       AAYAAAAC////AP///wAiHh8BIh4fAyIeHwci
+                                       Hh8NIh4fFh4aHB8YFRklWlNEXs2/ktHz463/
+                                       6tqn/+jZp//p2aj/6dqp/+naqv/p26v/6dut
+                                       /+rbrv/q3K//6tyw/+rdsf/q3bL/6t60/+ve
+                                       tf/r3rb/8eW8//PowP24r5OnTEY/NhUSFQwd
+                                       GhsNIx4fCSIeHwQiHh8CIh4fASIeHwAiHh8A
+                                       Ih4fACIeHwAiHh8AIh4fACIeHwAiHh8AIh4f
+                                       ACIeHwAiHh8AIh4fACIeHwAiHh8AIh4fACIe
+                                       HwAiHh8AIh4fACIeHwAiHh8AIh4fACIeHwAi
+                                       Hh8AIh4fACIeHwAiHh8AIh4fACIeHwAiHh8A
+                                       Ih4fACIeHwAiHh8AIh4fACIeHwAhHR4AIBwd
+                                       AB8bHAAfGxwAHxscAB4aGwAeGhsAHhobAB4a
+                                       GwAfGxwAHxscACAcHQAhHR4AIh4fACEdHgAd
+                                       GhoAHRoaAB0aGgAdGhoAHRoaAB0aGgAdGhoA
+                                       HRoaAB0aGgAdGhoAHRoaAB0aGgAdGhoAHRoa
+                                       AB0aGgAdGhoAHRoaAB0aGgAgHB0DHxsdCiQg
+                                       IRK/uKO29ezP/+zkx//s48b/7OPE/+ziw//s
+                                       4sH/6+HA/+vhv//r4b7/6+C9/+vgu//q37r/
+                                       6t+5/+reuP/q3rb/6t21/+rdtP/p3bP/6dyy
+                                       /+ncsP/p26//6duu/+nbrf/o2qz/6Nqr/+jZ
+                                       qv/o2aj/59em/+LSov/Vx5j/yryP/8a5jP/G
+                                       uYv/xriK/8a4iv/GuIn/xreI/8W2hv/EtIT/
+                                       qZdo/8ufR//Tp1L/3r5//+vXsP/169j//fv4
+                                       ///////////////////////z59D/6dKn/+TJ
+                                       lf/fv4D/1apY/8GQMP+bcyb/gF8g/3BTHP9x
+                                       VBz/aE0Z/2tPGv90Vh3/eFkd/5tzJv+7iy7/
+                                       z50//9WqWP/atW3/3rx7/9+/gP/gwYX/4MCD
+                                       /9+/gP/evX3/27Zw/9evYv/SpU//yZYy/7CC
+                                       K/+TbST/gF8g/3hZHf97Wx7/iGUh/5NtJP+Y
+                                       cSb/qH0p/8aTMf/Vq1r/4MGF/+TJlf/cuXX/
+                                       0aNK/9evYv/s2bX//Pr1//nz6P/x48j/69iy
+                                       /+XKlv/btm//zpw7/7KEK/u8iyysPSwLLgAA
+                                       AAkJCAgEFxQVAyIeHwUiHh8JIh4fESIeHxwZ
+                                       FhkhJiIiNI6DZpLq2aPz796o/+jYpP/o2KX/
+                                       6Nmm/+jZp//p2aj/6dqp/+naqv/p26v/6dut
+                                       /+rbrv/q3K//6tyw/+rdsf/q3bP/6960/+ve
+                                       tf/r37b/7OC5//TpwP/p3bjmjoZyeSomJRwU
+                                       ERUMIR0eDSIeHwciHh8DIh4fASIeHwAiHh8A
+                                       Ih4fACIeHwAiHh8AIh4fACIeHwAiHh8AIh4f
+                                       ACIeHwAiHh8AIh4fACIeHwAiHh8AIh4fACIe
+                                       HwAiHh8AIh4fACIeHwAiHh8AIh4fACIeHwAi
+                                       Hh8AIh4fACIeHwAiHh8AIh4fACIeHwAiHh8A
+                                       Ih4fACIeHwAiHh8AIh4fACEdHgAgHB0AHxsc
+                                       AB8bHAAfGxwAHhobAB4aGwAeGhsAHhobAB8b
+                                       HAAfGxwAIBwdACEdHgAiHh8AIh4fACEdHgAe
+                                       GxsAHhsbAB4bGwAeGxsAHhsbAB4bGwAeGxsA
+                                       HhsbAB4bGwAeGxsAHhsbAB4bGwAeGxsAHhsb
+                                       AB4bGwAeGxsAHhsbACAcHQIiHh8IEw8TCo+J
+                                       enz48NL/7OTG/+zjxf/s4sP/7OLC/+viwf/r
+                                       4cD/6+G+/+vgvf/r4Lz/69+7/+rfuf/q37j/
+                                       6t63/+retv/q3bX/6d2z/+ncsv/p3LH/6duw
+                                       /+nbr//p263/6Nqs/+jaq//o2ar/6Nmp/+fY
+                                       p//dzp//z8GU/8e5jf/GuYz/xrmL/8a4iv/G
+                                       uIn/xriJ/8a3iP/Ftob/wLCC/6yTWf/Nn0b/
+                                       1ata/+PHkP/v3r//+PHj////////////////
+                                       ///////169j/6tWt/+fPoP/fv4D/1KhT/7SG
+                                       Lf+MaCP/dlgd/25SG/9sUBv/aE0Z/35eH/+h
+                                       eCj/0KFF/968e//kyZX/6NGl/+jQo//kyJP/
+                                       4sSL/969ff/du3r/3Lhz/9u2cP/btm//27Zv
+                                       /9y4c//cuXX/3r19/9+/gv/ixY3/5MiT/+PH
+                                       kv/fv4D/1apY/7mKLv+RbCT/e1se/3tbHv+M
+                                       aCP/m3Mm/6Z7Kf+7iy7/0KFH/9u2cP/hw4j/
+                                       2bJo/82aOP/Vqlf/7Nm1//nz6P/169j/7Nq3
+                                       /+fOnv/evn//0qRL/6h9Kf+5iS3RZEgVSggH
+                                       Bw0UEhMKHxwdDSIeHxUfGx0fFxQYJEtFOVXF
+                                       tonI8uGn/+rZov/o16H/6Nej/+jYpP/o2KX/
+                                       6Nmm/+jZp//p2aj/6dqp/+naq//p26z/6dut
+                                       /+rbrv/q3K//6tyw/+rdsv/q3bP/6960/+ve
+                                       tf/r37f/69+4/+7jvP/47MX/ysCiwmFbUU0a
+                                       FhgPGxcZDSIeHwsiHh8FIh4fAyIeHwEiHh8A
+                                       Ih4fACIeHwAiHh8AIh4fACIeHwAiHh8AIh4f
+                                       ACIeHwAiHh8AIh4fACIeHwAiHh8AIh4fACIe
+                                       HwAiHh8AIh4fACIeHwAiHh8AIh4fACIeHwAi
+                                       Hh8AIh4fACIeHwAiHh8AIh4fACIeHwAiHh8A
+                                       Ih4fACIeHwAiHh8AIR0eACAcHQAfGxwAHxsc
+                                       AB8bHAAeGhsAHhobAB4aGwAeGhsAHxscAB8b
+                                       HAAgHB0AIR0eACIeHwAiHh8AIh4fACEdHgAf
+                                       GxwAHxscAB8bHAAfGxwAHxscAB8bHAAfGxwA
+                                       HxscAB8bHAAfGxwAHxscAB8bHAAfGxwAHxsc
+                                       AB8bHAAfGxwAIBwdASIeHwYaFhkLT0tFQO7m
+                                       yfnu5cb/7OPE/+ziw//s4sH/6+HA/+vhv//r
+                                       4b7/6+C9/+vgu//q37r/6t+4/+ret//q3rb/
+                                       6t21/+nds//p3LL/6dyx/+nbsP/p26//6duu
+                                       /+jarP/o2qv/6Nqq/+jZqf/l1qb/18ib/8i7
+                                       j//GuY3/xrmN/8a5i//GuIr/xriJ/8a4if/G
+                                       t4j/xbaG/7usf/+0lVH/zZ0//9iwY//nzp7/
+                                       8uXN//v38P/////////////////69ev/7du4
+                                       /+vXsP/kyJP/1apX/66BK/+GZCH/cFMc/25S
+                                       G/9sUBv/dFYd/6yAK//Xrl7/48eS/+fOnv/j
+                                       xo//3bt4/9ixZf/WrV3/1q1d/9iwY//Zsmb/
+                                       2rRr/9u2cP/bt3L/27Zw/9y5df/cuHP/27dy
+                                       /9u3cv/btm//2bNq/9iwY//WrV3/1q1d/9iw
+                                       Y//cuHP/4MGF/+LFjf/btnD/y5cy/4xoI/90
+                                       Vh3/gWAg/5tzJv+sgCv/tIYt/8+fQv/Zsmj/
+                                       3bt4/9KkS/+8jC//165g//Dhxf/16tf/7t29
+                                       /+jQo//fv4L/1apX/7OFLP+ugCnri2ggcxIQ
+                                       ERwcGRoeGRUZIiAcHi+Cd1yF5NOb7u/do//n
+                                       1p7/59ag/+fXoP/o16H/6Nej/+jYpP/o2KX/
+                                       6Nmm/+jZp//p2aj/6dqp/+naq//p26z/6dut
+                                       /+rcrv/q3LD/6t2x/+rdsv/q3rP/6961/+ve
+                                       tv/r37f/69+4/+vguv/06MH/8ebB9aefiJQ4
+                                       MzApFhMWCx8bHQ0iHh8JIh4fBCIeHwIiHh8B
+                                       Ih4fACIeHwAiHh8AIh4fACIeHwAiHh8AIh4f
+                                       ACIeHwAiHh8AIh4fACIeHwAiHh8AIh4fACIe
+                                       HwAiHh8AIh4fACIeHwAiHh8AIh4fACIeHwAi
+                                       Hh8AIh4fACIeHwAiHh8AIh4fACIeHwAiHh8A
+                                       Ih4fACIeHwAhHR4AIBwdAB8bHAAfGxwAHxsc
+                                       AB4aGwAeGhsAHhobAB4aGwAfGxwAHxscACAc
+                                       HQAhHR4AIh4fACIeHwAiHh8AIh4fACIeHwAg
+                                       HB0AIBwdACAcHQAgHB0AIBwdACAcHQAgHB0A
+                                       IBwdACAcHQAgHB0AIBwdACAcHQAgHB0AIBwd
+                                       ACAcHQAgHB0AIh4fBB4aHAouKikf2dG30PDn
+                                       yP/s4sP/7OLC/+viwf/r4cD/6+G+/+vgvf/r
+                                       4Lz/6t+6/+rfuf/q3rj/6t62/+rdtf/q3bT/
+                                       6d2z/+ncsv/p3LD/6duv/+nbrv/o2q3/6Nqr
+                                       /+jaqv/o2an/4tOj/9HDl//Guo//xrqO/8a5
+                                       jf/GuYv/xriK/8a4if/GuIn/xreI/8S2hv+z
+                                       o3b/vplK/8+fQv/btnD/6dOo//Xq1//9/Pr/
+                                       ////////////////8uXL/+3buP/r1q//27Zv
+                                       /7uLLv+GZCH/c1Uc/2tPGv9mTBn/iGUh/8+e
+                                       QP/ixIv/586e/9+/gv/YsGP/1apY/9asW//Z
+                                       smj/2bNq/9q0a//atGv/2bJm/9evYv/SpU3/
+                                       1q1d/9atXf/OnT3/1q1d/9atXf/Xrl7/z55A
+                                       /9ixZf/atGv/1q1d/926dv/du3r/3bp2/9q1
+                                       bf/XrmD/1ata/9evYv/evX3/4cOK/9evYv+m
+                                       eyn/blIb/4FgIP+gdyj/sYQs/8COMP/QoUX/
+                                       2LBj/9WrWv/AjjD/toct/96+f//z5s7/79/A
+                                       /+jRpf/hw4j/165e/7uLLv+fdib5lG4kkg4M
+                                       DzJAOTFQtqZ7vfHeof/q2J3/59Wc/+fVnf/n
+                                       1p7/59ag/+fXoP/o16H/6Nej/+jYpP/o2KX/
+                                       6Nmm/+jZp//p2aj/6dqq/+naq//p26z/6dut
+                                       /+rcr//q3LD/6t2x/+rds//r3rT/6961/+vf
+                                       tv/r37j/6+C5/+zguv/t4r3/9+vG/+DWtdp1
+                                       b2FmHxsdFRgUFwwiHh8MIh4fByIeHwMiHh8B
+                                       Ih4fACIeHwAiHh8AIh4fACIeHwAiHh8AIh4f
+                                       ACIeHwAiHh8AIh4fACIeHwAiHh8AIh4fACIe
+                                       HwAiHh8AIh4fACIeHwAiHh8AIh4fACIeHwAi
+                                       Hh8AIh4fACIeHwAiHh8AIh4fACIeHwAiHh8A
+                                       Ih4fACEdHgAgHB0AHxscAB8bHAAfGxwAHhob
+                                       AB4aGwAeGhsAHhobAB8bHAAfGxwAIBwdACEd
+                                       HgAiHh8AIh4fACIeHwAiHh8AIh4fACEdHgAg
+                                       HB0AIBwdACAcHQAgHB0AIBwdACAcHQAgHB0A
+                                       IBwdACAcHQAgHB0AIBwdACAcHQAgHB0AIBwd
+                                       ACAcHQAiHh8CIR0fCRgUFwujnImc9+7O/+zi
+                                       w//s4sH/6+HA/+vhv//r4L3/6+C8/+vfu//q
+                                       37n/6t+4/+ret//q3rb/6t21/+nds//p3LL/
+                                       6dyx/+nbsP/p26//6dut/+jarP/o2qv/59ip
+                                       /93PoP/Ov5T/x7qP/8a6jv/GuY3/xrmL/8a4
+                                       iv/GuIr/xriJ/8a3iP/Etob/sKBz/8KYRP/O
+                                       nT3/3Ll1/+rVrf/169j/////////////////
+                                       +/bv/+/fwP/x5Mr/5MmV/86dPf+MaCP/dlgd
+                                       /3FUHP9oTRn/kGsj/9asW//mzZ3/4cOI/9ix
+                                       Zf/UqVX/165e/9q0a//btm//2LBj/9WrWv/Z
+                                       s2r/z6VX/7yYXP+CaFT/TjpM/1BCUf8wH0r/
+                                       Hg9X/z84W/8ZCVb/GgtU/x4PWP9FPl//PCpQ
+                                       /0c2Vf9qWVL/g2lW/7aOSv/PpVb/1qxb/926
+                                       dv/du3r/3Lhz/9ixZf/WrFv/2bNq/+DBhf/c
+                                       uHP/uYou/3RWHf9+Xh//qH0p/7uLLv/JljL/
+                                       0qRL/9WrWv/NmTb/nnUn/9ChR//r17D/796/
+                                       /+jRpf/hw4r/165e/76NL/+ccyX8n3s0ysm4
+                                       hOjq2Jr/5dOY/+bUmv/n1Zv/59Wc/+fVnf/n
+                                       1p7/59ag/+fXoP/o16H/6Nej/+jYpP/o2KX/
+                                       6Nmm/+nZqP/p2qn/6dqq/+nbq//p263/6tuu
+                                       /+rcr//q3LD/6t2x/+rds//r3rT/6962/+vf
+                                       t//r37j/6+C6/+zgu//s4bz/8ebB//brx/+/
+                                       tpywTklCPRURFQ4cGRoNIh4fCiIeHwUiHh8C
+                                       Ih4fASIeHwAiHh8AIh4fACIeHwAiHh8AIh4f
+                                       ACIeHwAiHh8AIh4fACIeHwAiHh8AIh4fACIe
+                                       HwAiHh8AIh4fACIeHwAiHh8AIh4fACIeHwAi
+                                       Hh8AIh4fACIeHwAiHh8AIh4fACIeHwAiHh8A
+                                       IR0eACAcHQAfGxwAHxscAB8bHAAeGhsAHhob
+                                       AB4aGwAeGhsAHxscAB8bHAAgHB0AIR0eACIe
+                                       HwAiHh8AIh4fACIeHwAiHh8AIh4fACEdHgAh
+                                       HR4AIR0eACEdHgAhHR4AIR0eACEdHgAhHR4A
+                                       IR0eACEdHgAhHR4AIR0eACEdHgAhHR4AIR0e
+                                       ACIeHwEiHh8HFhIVC3NtYlz06sr/7ePD/+vi
+                                       wf/r4cD/6+G+/+vgvf/r4Lv/6t+6/+rfuf/q
+                                       3rj/6t62/+rdtf/p3bT/6dyy/+ncsf/p27D/
+                                       6duv/+nbrf/o2qz/6Nqr/+bXqf/bzZ//zL6T
+                                       /8a6j//Guo7/xrmN/8a5jP/GuIv/xriK/8a4
+                                       if/Gt4j/xbaG/6+fc//BlkL/zp09/927eP/q
+                                       1a3/9u7d//////////////////Po0v/y5c3/
+                                       79/A/9q0a/+meyn/fl4f/3RWHf9mTBn/gF8g
+                                       /9WqV//nzp7/3rx7/9OnUv/Tp1L/2bJm/9q1
+                                       bf/XrmD/1KlV/8ORMP+BZTv/SzhK/zcoWv+2
+                                       s8b/2tjf/25pmP99d6T/pKG0/6Ccvf+sp8T/
+                                       u7nM/7q2z/+3scz/r6nG/6mnvv+SjLP/gHmk
+                                       /4SAmf9TSYT/OS5x/zw1Yv9IOl//bVlb/7GN
+                                       Uf/QoUf/3Lhz/927eP/btm//1ata/9evYv/g
+                                       wYX/3bt4/6h9Kf9sUBv/jGgj/7OFLP/EkjH/
+                                       z59C/9GjSv/OnDv/nnUn/66BK//gwYX/7du4
+                                       /+fQov/gwYX/165e/8GQMP+UbiX/xaJR/9LA
+                                       if/hz5X/5dOY/+bUmv/n1Jv/59Wc/+fVnf/n
+                                       1p7/59ag/+jXof/o16L/6Nej/+jYpP/o2KX/
+                                       6Nmn/+nZqP/p2qn/6dqq/+nbrP/p263/6tyu
+                                       /+rcsP/q3bH/6t2y/+res//r3rX/6962/+vf
+                                       uP/r4Ln/7OC6/+zgu//s4b3/7OK+//Xqx//s
+                                       4sHslY17gTItLCAWEhUMIBwdDSIeHwgiHh8E
+                                       Ih4fAiIeHwAiHh8AIh4fACIeHwAiHh8AIh4f
+                                       ACIeHwAiHh8AIh4fACIeHwAiHh8AIh4fACIe
+                                       HwAiHh8AIh4fACIeHwAiHh8AIh4fACIeHwAi
+                                       Hh8AIh4fACIeHwAiHh8AIh4fACIeHwAhHR4A
+                                       IBwdAB8bHAAfGxwAHxscAB4aGwAeGhsAHhob
+                                       AB4aGwAfGxwAHxscACAcHQAhHR4AIh4fACIe
+                                       HwAiHh8AIh4fACIeHwAiHh8AIh4fACIeHwAi
+                                       Hh8AIh4fACIeHwAiHh8AIh4fACIeHwAiHh8A
+                                       Ih4fACIeHwAiHh8AIh4fACIeHwAiHh8AIh4f
+                                       ASIeHwUcGBsKODMxLufdv+ju5MT/6+HA/+vh
+                                       v//r4L3/6+C8/+vfu//q37n/6t+4/+ret//q
+                                       3bX/6t20/+nds//p3LL/6dyw/+nbr//p267/
+                                       6Nqt/+jaq//n2an/2cue/8i7kf/Huo//xrqO
+                                       /8a5jf/GuYz/xriL/8a4iv/GuIn/xreI/8W2
+                                       hv+vnnL/vpRB/82aOP/dunb/69ew//bt2///
+                                       ///////////////w4cX/8+jS/+vWr//QoEP/
+                                       jGgj/3tbHv9zVRz/bFAb/82ZNv/kyJP/3bt6
+                                       /9KlT//Vqlf/2bNq/9myZv/Tp1L/y5cy/4Nn
+                                       PP9EM0j/MiZj/2ljiP+DfqP/nZm8/9rY5f/x
+                                       8PP/uLbP/7m2z/+8uM//urfO/7q2z//Avs//
+                                       ubbP/7y3zv+5ts//urjP/7m2z/+5ts//xcTR
+                                       /7q40f+6uNH/rqy//3p1pP9YTon/OjBt/0hA
+                                       X/9wW13/tpRc/9ixZf/du3j/27dy/9iwY//Z
+                                       s2r/4cOI/9myaP+RbCT/blIb/6R6Kf/EkjH/
+                                       zZo4/9ChR//Nmzr/o3ko/4xoI//Xrl7/6tSr
+                                       /+fOnv/gwIP/1qxb/7yML/+RbCT/wZ1R/9PC
+                                       iv/hz5X/5dOY/+bUmv/n1Zv/59Wc/+fVnf/n
+                                       1p7/59ag/+jXof/o16L/6Nij/+jYpf/o2ab/
+                                       6Nmn/+nZqP/p2qn/6dqr/+nbrP/p263/6tyv
+                                       /+rcsP/q3bH/6t2z/+vetP/r3rX/69+2/+vf
+                                       uP/r4Lr/7OC7/+zhvP/s4b3/7OK//+/kwv/5
+                                       78z/182xy2tlW1YcGBoRGhYYDSIeHwsiHh8G
+                                       Ih4fAyIeHwEiHh8AIh4fACIeHwAiHh8AIh4f
+                                       ACIeHwAiHh8AIh4fACIeHwAiHh8AIh4fACIe
+                                       HwAiHh8AIh4fACIeHwAiHh8AIh4fACIeHwAi
+                                       Hh8AIh4fACIeHwAiHh8AIh4fACEdHgAgHB0A
+                                       HxscAB8bHAAfGxwAHhobAB4aGwAeGhsAHhob
+                                       AB8bHAAfGxwAIBwdACEdHgAiHh8AIh4fACIe
+                                       HwAiHh8AIh4fACIeHwAiHh8AIh4fACIeHwAi
+                                       Hh8AIh4fACIeHwAiHh8AIh4fACIeHwAiHh8A
+                                       Ih4fACIeHwAiHh8AIh4fACIeHwAiHh8AIh4f
+                                       Ax8bHQokICESvradt/Pqx//r4cD/6+G+/+vg
+                                       vf/r4Lv/6t+6/+rfuf/q3rj/6t62/+rdtf/p
+                                       3bP/6dyy/+ncsf/p27D/6duv/+nbrf/o2qz/
+                                       6Nqr/9nLnv/Iu5H/x7qP/8a6j//GuY3/xrmM
+                                       /8a4i//GuIr/xriJ/8a3if/Ftob/sqN2/7yS
+                                       Qf/MmDP/27dy/+nTqP/169j/////////////
+                                       ////8eLH//bt2//lypb/vIwv/4BfIP+AXyD/
+                                       ZkwZ/5ZvJf/evX3/4MKH/9KlTf/TplD/2rRr
+                                       /9ixZf/SpU//sYUy/2RNQ/8xJFj/a2aF/355
+                                       pP+npMP/ubfQ/8C/0P+0scr/sa7H/+Pk6P+l
+                                       osH/pqLB/6ekwf+uqsf/t7XO/8C+z/+4ts//
+                                       uLbP/7i10P+5t9D/urfQ/7m2z//Ew9D/u7nQ
+                                       /7q4z/+9u9D/vLnS/7y50v+3tcb/gXyp/1NJ
+                                       hv8qHmX/XlRf/6CAV//Xs2//3bt4/9y4c//Z
+                                       smb/3Ll1/+LFjf/OnT3/blIb/4tnIv/BkDD/
+                                       zpw7/9CgQ//OnT3/pnsp/4BfIP/OnT3/5cya
+                                       /+TJlf/evHv/06dS/7mKLv+RbCT/wqBU/9TC
+                                       i//hz5X/5dOY/+bUmv/n1Zv/59Wd/+fVnf/n
+                                       1p//59ag/+jXof/o16L/6Nik/+jYpf/o2ab/
+                                       6dmo/+naqf/p2qr/6dur/+nbrf/q267/6tyv
+                                       /+rcsP/q3bL/6t6z/+vetf/r3rb/69+3/+vg
+                                       uf/s4Lr/7OC7/+zhvf/s4r7/7OLA/+3jwf/z
+                                       6cf/9OvK+rKqlZ49ODUwFhMVDR4aHA0iHh8J
+                                       Ih4fBCIeHwIiHh8BIh4fACIeHwAiHh8AIh4f
+                                       ACIeHwAiHh8AIh4fACIeHwAiHh8AIh4fACIe
+                                       HwAiHh8AIh4fACIeHwAiHh8AIh4fACIeHwAi
+                                       Hh8AIh4fACIeHwAiHh8AIR0eACAcHQAfGxwA
+                                       HxscAB8bHAAeGhsAHhobAB4aGwAeGhsAHxsc
+                                       AB8bHAAgHB0AIR0eACIeHwAiHh8AIh4fACIe
+                                       HwAiHh8AIh4fACIeHwAiHh8AIh4fACIeHwAi
+                                       Hh8AIh4fACIeHwAiHh8AIh4fACIeHwAiHh8A
+                                       Ih4fACIeHwAiHh8AIh4fACIeHwAiHh8CIh4f
+                                       CBMQFAqPiXd99+3K/+vhv//r4L3/6+C8/+vf
+                                       u//q37n/6t+4/+ret//q3bX/6t20/+nds//p
+                                       3LL/6dyw/+nbr//p267/6Nqs/+fZqv/Zy5//
+                                       ybyS/8e6j//Guo//xrqO/8a5jf/GuYv/xriK
+                                       /8a4if/Gt4n/xbaG/7ene/+3kkT/xpMx/9q0
+                                       a//p0qf/8+jS////////////+/bv//Dhxf/1
+                                       6tf/3rx7/6R6Kf+BYCD/dFYd/2RLGf/MmTX/
+                                       48eS/9atXf/QoUX/2bJm/9mzav/Tp1L/vo42
+                                       /15JSP9WTmj/YFeO/5GNtP+9u9D/xMLR/7i2
+                                       z/+3tc7/rKjF/6aiwf+oosP/t7XO/6aiw/+m
+                                       ocL/p6LD/6yox/+tqcj/trLN/7y40f+8uNH/
+                                       u7jR/7u40f+6uNH/urjR/8TC1f+6uNH/vLnS
+                                       /7q40f+8udL/vLnS/8fG0f+8udL/wLrT/6Od
+                                       uP91apH/OCRr/0Y2Y/+OdlL/2LVy/968e//c
+                                       uHP/27Zv/+DBhf/cuXX/jmkj/3RWHf+0hi3/
+                                       zZo4/9ChR//Nmjj/pnsp/3FUHP+7iy7/48aP
+                                       /+PHkv/cuXX/0qVN/7CCK/+KZiH/wKJZ/9rI
+                                       j//j0Zb/5dOY/+bUmv/n1Zv/59Wd/+fWnv/n
+                                       1p//59eg/+jXof/o16P/6Nik/+jYpf/o2ab/
+                                       6dmo/+naqf/p2qr/6dus/+nbrf/q3K7/6tyw
+                                       /+rdsf/q3bP/6960/+vetf/r37b/69+4/+vg
+                                       uv/s4Lv/7OG8/+zhvf/s4r//7eLA/+3jwv/u
+                                       5MT/9u3N/+fewOGFf3FvJSEiGRYSFQwiHh8M
+                                       Ih4fByIeHwMiHh8BIh4fACIeHwAiHh8AIh4f
+                                       ACIeHwAiHh8AIh4fACIeHwAiHh8AIh4fACIe
+                                       HwAiHh8AIh4fACIeHwAiHh8AIh4fACIeHwAi
+                                       Hh8AIh4fACIeHwAhHR4AIBwdAB8bHAAfGxwA
+                                       HxscAB4aGwAeGhsAHhobAB4aGwAfGxwAHxsc
+                                       ACAcHQAhHR4AIh4fACIeHwAiHh8AIh4fACIe
+                                       HwAiHh8AIh4fACIeHwAiHh8AIh4fACIeHwAi
+                                       Hh8AIh4fACIeHwAiHh8AIh4fACIeHwAiHh8A
+                                       Ih4fACIeHwAiHh8AIh4fACIeHwEiHh8GGhYZ
+                                       C09LQ0Ht48L57OK//+vgvf/r4Lv/6t+6/+rf
+                                       uf/q3rj/6t62/+rdtf/p3bP/6dyy/+ncsf/p
+                                       27D/6duv/+jarf/n2ar/2cyf/8m8kv/HupD/
+                                       x7qP/8a6jv/GuY3/xrmM/8a4i//GuIr/xriJ
+                                       /8W2h/+/sYL/sJBM/7yML//WrV3/5cya//Pm
+                                       zv////////////nz6P/x48j/9evY/9u2b/+Y
+                                       cSb/gWAg/3tbHv97Wx7/165g/96+f//QoEP/
+                                       1KlV/9q1bf/Vq1r/zJk1/4FlO/8zJVz/X1WO
+                                       /6Get/+9u9D/uLbP/7m3zv/Ew87/ubfO/6uo
+                                       x/+oosP/p6LD/6aiw/+posP/qaLD/62oxf/R
+                                       z+D/4eDr/6miw/+rosP/uLHM/7y2z/+6ts//
+                                       u7bR/7m20f+5ttH/ubbR/7m20f+5ttH/ubbR
+                                       /7m20f+9u9L/xMLR/7y30P++t9D/v7rP/763
+                                       0P+elLv/bF+S/1FJav9UQ2X/tZFV/9y5df/d
+                                       unb/27dy/968e//ixIv/uIgt/2hNGf+sgCv/
+                                       zZo4/9GiSP/NmTb/pHop/2hNGf+xhCz/37+C
+                                       /+DBhf/atGv/z50//6h9Kf+RbSX/wKRi/93L
+                                       kf/j0pb/5dOY/+bUmv/n1Zz/59Wd/+fWnv/n
+                                       1p//59eg/+jXov/o2KP/6Nil/+jZpv/o2af/
+                                       6dmo/+naqf/p2qv/6dut/+rbrv/q3K//6tyw
+                                       /+rdsv/q3rP/6961/+vetv/r37f/6+C5/+zg
+                                       uv/s4Lv/7OG9/+zivv/s4sD/7ePB/+3jw//t
+                                       5MT/8efI//nw0f/Gv6i6WFJMRRQREw0cGBoN
+                                       Ih4fCiIeHwUiHh8DIh4fACIeHwAiHh8AIh4f
+                                       ACIeHwAiHh8AIh4fACIeHwAiHh8AIh4fACIe
+                                       HwAiHh8AIh4fACIeHwAiHh8AIh4fACIeHwAi
+                                       Hh8AIh4fACEdHgAgHB0AHxscAB8bHAAfGxwA
+                                       HhobAB4aGwAeGhsAHhobAB8bHAAfGxwAIBwd
+                                       ACEdHgAiHh8AIh4fACIeHwAiHh8AIh4fACIe
+                                       HwAiHh8AIh4fACIeHwAiHh8AIh4fACIeHwAi
+                                       Hh8AIh4fACIeHwAiHh8AIh4fACIeHwAiHh8A
+                                       Ih4fACIeHwAiHh8AIh4fACIeHwQeGhwKLysp
+                                       H9jOsNDv5cH/6+C9/+vfu//q37n/6t+4/+re
+                                       t//q3bX/6t20/+nds//p3LL/6dyw/+nbr//p
+                                       267/59mr/9vOov/KvZT/x7qQ/8e6j//Guo//
+                                       xrqO/8a5jP/GuIv/xriK/8a4if/Gt4j/xLWF
+                                       /6mQVv+3iC3/06ZQ/+LFjf/v38D/////////
+                                       ///48uf/79/A//Po0v/WrV3/mHEm/4FgIP9u
+                                       Uhv/jmkj/9+/gP/Zsmj/z55A/9myZv/YsWX/
+                                       0qRL/6R7Nv86K1D/a2SD/46Kr/+5ts//t7XO
+                                       /7i2zf+4ts3/uLXO/8nH1v+8utH/pqPE/9za
+                                       5//x8vb//////8fC1/+nnr//pZ6//6Wev//Y
+                                       1OP/p5/A/6efwP+poMH/urPO/7qzzv+5s87/
+                                       uLTP/7e0z/+2s9D/t7XQ/7e10P+3tdD/t7XQ
+                                       /7m10P+/utP/vLbR/7220f+8tdD/vLbP/7y2
+                                       z//Gw9D/kYWy/1VEh/80IWT/cWRb/9Oycv/e
+                                       vHv/3bt6/927eP/ixY3/0aJI/2xQG/+meyn/
+                                       zZo4/9GjSv/Nmjj/o3ko/2RLGf+kein/3bt4
+                                       /968e//XrmD/zZk2/5hxJv+feC3/wKlv/9/M
+                                       kv/k0pf/5tSZ/+fUm//n1Zz/59Wd/+fWnv/n
+                                       1qD/6Neh/+jXov/o2KT/6Nil/+jZpv/p2aj/
+                                       6dqp/+naqv/p26v/6dut/+rcrv/q3LD/6t2x
+                                       /+rdsv/r3rT/6961/+vftv/r37j/6+C6/+zg
+                                       u//s4bz/7OG+/+ziv//t4sH/7ePC/+3jxP/t
+                                       5MX/7eXG//ftz//w6Mvym5WFizQvLiQVERQL
+                                       HxsdDSIeHwgiHh8EIh4fAiIeHwAiHh8AIh4f
+                                       ACIeHwAiHh8AIh4fACIeHwAiHh8AIh4fACIe
+                                       HwAiHh8AIh4fACIeHwAiHh8AIh4fACIeHwAi
+                                       Hh8AIR0eACAcHQAfGxwAHxscAB8bHAAeGhsA
+                                       HhobAB4aGwAeGhsAHxscAB8bHAAgHB0AIR0e
+                                       ACIeHwAiHh8AIh4fACIeHwAiHh8AIh4fACIe
+                                       HwAiHh8AIh4fACIeHwAiHh8AIh4fACIeHwAi
+                                       Hh8AIh4fACIeHwAiHh8AIh4fACIeHwAiHh8A
+                                       Ih4fACIeHwAiHh8AIh4fAiEdHwkYFBcLo5uF
+                                       m/brx//r4Lz/6t+6/+rfuf/q3rj/6t62/+rd
+                                       tf/p3bP/6dyy/+ncsf/p27D/6duu/+jarf/f
+                                       0aT/y7+V/8e6kf/HupD/x7qP/8a6jv/GuY3/
+                                       xrmL/8a4iv/GuIn/xreJ/8W2hv+nlGL/soYv
+                                       /86cO//fv4D/7Nq3//v48v//////+fTq/+/f
+                                       wP/y5c3/1qxb/5FsJP+LZyL/cVQc/5x0J//f
+                                       v4L/06dS/9ChRf/atGv/1q1d/86cO/9+ZD//
+                                       Mydk/2xmm/+tqsf/xMPO/7WzzP+1s8z/tbLN
+                                       /7Wyzf+1ss3/tbLN/6Ofwv+fm8D/pqLD//n5
+                                       +v///////////97a5/+mnL//o5y//9fT4v+j
+                                       nL//o5y//6Ocv/+wqcj/ubLN/7myzf+2sc7/
+                                       tbLP/7Wyz/+zss//s7LP/7Oyz/+2s9D/t7LP
+                                       /7u0z/+7s9D/u7PQ/7uz0P+7s9D/wLvO/8G+
+                                       zf+5s87/sqvK/4eBnv9IN3L/Tj5r/7OTYP/d
+                                       unb/3r5//927ev/ixY3/2LBj/3RWHf+bcyb/
+                                       zZo4/9KlTf/NmTb/mHEm/1lCFv+ofSn/3bp2
+                                       /9u2cP/Tp1L/wZAw/45pI/+xijj/yLV9/+HO
+                                       k//l05f/5tSa/+fUm//n1Zz/59ae/+fWn//n
+                                       16D/6Neh/+jXo//o2KT/6Nil/+jZp//p2aj/
+                                       6dqp/+naq//p26z/6tuu/+rcr//q3LD/6t2y
+                                       /+res//r3rX/6962/+vfuP/r4Ln/7OC6/+zg
+                                       vP/s4b3/7OK+/+ziwP/t48L/7ePD/+3kxP/t
+                                       5Mb/7uXH//Dnyv/789X/2tO703BrYV4eGhwT
+                                       GBQXDCIeHwwiHh8GIh4fAyIeHwEiHh8AIh4f
+                                       ACIeHwAiHh8AIh4fACIeHwAiHh8AIh4fACIe
+                                       HwAiHh8AIh4fACIeHwAiHh8AIh4fACIeHwAh
+                                       HR4AIBwdAB8bHAAfGxwAHxscAB4aGwAeGhsA
+                                       HhobAB4aGwAfGxwAHxscACAcHQAhHR4AIh4f
+                                       ACIeHwAiHh8AIh4fACIeHwAiHh8AIh4fACIe
+                                       HwAiHh8AIh4fACIeHwAiHh8AIh4fACIeHwAi
+                                       Hh8AIh4fACIeHwAiHh8AIh4fACIeHwAiHh8A
+                                       Ih4fACIeHwAiHh8BIh4fBxYTFgtzbV9c8+jD
+                                       /+zgvP/q37r/6t+4/+ret//q3rb/6t20/+nd
+                                       s//p3LL/6dyw/+nbr//p267/49Wo/83Al//H
+                                       upL/x7qQ/8e6j//Guo//xrmN/8a5jP/GuIv/
+                                       xriK/8a4if/Ftof/rp9y/7KJOf/AjjD/2rRr
+                                       /+nSp//37t7///////v38P/s2rf/8uXL/9eu
+                                       Xv+UbiX/kWwk/3BTHP+rfyr/4MGF/9GjSv/S
+                                       pU//2rRr/9OnUv/IlDH/TDhL/1JKe/+Zlq3/
+                                       sa7L/7Kvyv+5tsn/urjN/7KvzP+yr8z/sq/M
+                                       /7Guy/+tqsn/m5e+/5uXvv+cl77/1dLh/9nX
+                                       5v///////////+rq8f+incL/zcrd/56Xvv+f
+                                       l77/n5e+/6afwv+0rcz/tK3M/7StzP+yrcz/
+                                       s67N/7Guzf+xrs3/sa7N/7Kvzv+0r87/ta7N
+                                       /7Wuzf+1rs3/tq/O/7avzv+2r87/tq/O/7Wu
+                                       zf+2sM3/urXM/4yCsf9PPIX/PS1s/4RxWf/c
+                                       uXX/37+C/969ff/ixY3/27Zv/3laHv+edSf/
+                                       zp09/9KlT//LlzL/jGgj/1hBFf+ugSv/2rRr
+                                       /9ixZf/QoUX/uIgt/4BfIP+8l0r/08GJ/+LQ
+                                       lv/l05j/5tSa/+fVm//n1Z3/59ae/+fWn//o
+                                       16H/6Nei/+jYo//o2KX/6Nmm/+nZqP/p2qn/
+                                       6dqq/+nbq//p263/6tyu/+rcsP/q3bH/6t2z
+                                       /+vetP/r3rX/69+3/+vfuf/r4Lr/7OC7/+zh
+                                       vf/s4b7/7OK//+3jwf/t48L/7eTE/+3kxf/t
+                                       5cf/7uXI/+7myv/07ND/9/DU/Lu1oqdMR0M2
+                                       FREUDB4aGw0jHx8JIh4fBCIeHwIiHh8BIh4f
+                                       ACIeHwAiHh8AIh4fACIeHwAiHh8AIh4fACIe
+                                       HwAiHh8AIh4fACIeHwAiHh8AIh4fACEdHgAg
+                                       HB0AHxscAB8bHAAfGxwAHhobAB4aGwAeGhsA
+                                       HhobAB8bHAAfGxwAIBwdACEdHgAiHh8AIh4f
+                                       ACIeHwAiHh8AIh4fACIeHwAiHh8AIh4fACIe
+                                       HwAiHh8AIh4fACIeHwAiHh8AIh4fACIeHwAi
+                                       Hh8AIh4fACIeHwAiHh8AIh4fACIeHwAiHh8A
+                                       Ih4fACIeHwEiHh8FHBkbCjgzMC7m27jo7OG8
+                                       /+rfuf/q3rj/6t62/+rdtf/q3bT/6dyy/+nc
+                                       sf/p27D/6duv/+bYrP/RxZr/x7uS/8e6kf/H
+                                       upD/xrqP/8a6jv/GuY3/xrmL/8a4iv/GuIn/
+                                       xreJ/8Gyg/+ujEn/roEr/9WqV//kyJP/8eTK
+                                       ////////////69ew//Dhxf/Zs2r/nHQn/5Ru
+                                       Jf90Vh3/pnsp/9+/gv/QoEP/06dS/9mzav/S
+                                       pU//o3su/zYpU/9VTIf/lpK5/7OxyP+tqsf/
+                                       r6vI/7CryP+wq8j/r6vK/66ryv+uq8r/rqvK
+                                       /6qkxf+ZlLv/mJS7/5eUu//KyN3/l5S7/8PC
+                                       2f////////////n5+v/R0OH/sa7N/5eUu/+a
+                                       lLv/oZm+/7Oryv+zq8r/savK/7Gryv+xq8r/
+                                       sKvK/7GrzP+xq8z/savM/7KrzP+yq8z/sqvM
+                                       /7KrzP+yq8z/sqvM/7avzv+yq8z/sqvM/7Kr
+                                       zP+xq8r/sqvK/5yTvP98do3/OCVs/3Rkc//Y
+                                       tXP/37+C/9+/gP/ixY3/3bt6/4BfIP+heCj/
+                                       z55A/9OmUP/EkjH/gWAg/1A7FP+7iy7/2LFl
+                                       /9WqV//NmTb/pHop/4BeHv+8oV7/3cuR/+TS
+                                       l//m1Jn/59Sb/+fVnP/n1Z3/59ae/+fWoP/o
+                                       16H/6Nej/+jYpP/o2KX/6Nmn/+nZqP/p2qn/
+                                       6dqr/+nbrP/q267/6tyv/+rcsP/q3bL/6t6z
+                                       /+vetf/r37b/69+4/+vguf/s4Lv/7OG8/+zh
+                                       vf/s4r//7eLB/+3jwv/t48P/7eTF/+3kxv/u
+                                       5cj/7uXJ/+7my//v6Mz/+PDW/+zlzeaQin56
+                                       KiUmHBUREwshHR4MIh4fByIeHwMiHh8BIh4f
+                                       ACIeHwAiHh8AIh4fACIeHwAiHh8AIh4fACIe
+                                       HwAiHh8AIh4fACIeHwAiHh8AIR0eACAcHQAf
+                                       GxwAHxscAB8bHAAeGhsAHhobAB4aGwAeGhsA
+                                       HxscAB8bHAAgHB0AIR0eACIeHwAiHh8AIh4f
+                                       ACIeHwAiHh8AIh4fACIeHwAiHh8AIh4fACIe
+                                       HwAiHh8AIh4fACIeHwAiHh8AIh4fACIeHwAi
+                                       Hh8AIh4fACIeHwAiHh8AIh4fACIeHwAiHh8A
+                                       Ih4fACIeHwMfGx0KJCAhE720mLfy58D/6t+5
+                                       /+ret//q3rb/6t21/+nds//p3LL/6dyw/+nb
+                                       r//p267/2Mug/8i8lP/HupL/x7qQ/8e6j//G
+                                       uo//xrmN/8a5jP/GuIv/xriK/8a4if/Etof/
+                                       ppBb/6R6KP/OnDv/37+A/+zat///////////
+                                       /+vXsP/v4ML/3bp2/6Z7Kf+Zcib/gWAg/6F4
+                                       KP/fv4L/0KFF/9OnUv/Zsmj/0qVP/554PP8u
+                                       IVf/e3mS/6CdwP+opcT/p6TD/6qkxf+qpMX/
+                                       q6TF/6qkxf+qpcb/qaXG/6qlxv+opcb/op/C
+                                       /5GNuP+Rjbj/kY24/7Ovzv+oosX/kY24/6uo
+                                       yf/39/r///////////+/vtf/kY24/5SNuP+b
+                                       krv/rabH/62mx/+tpsf/rabH/62mx/+tpsf/
+                                       raXI/62lyP+tpcj/raXI/62lyP+tpcj/raXI
+                                       /62lyP+tpcj/vbfU/8O+1/+yq8z/rqbJ/66m
+                                       yf+upsn/u7fG/6miw/9lV5r/Kxlu/2lccP/J
+                                       pmT/37+A/9+/gv/jxo//27dy/35eH/+sgCv/
+                                       0KFF/9OmUP+7iy7/cVQc/1ZAFf/LlzL/1apY
+                                       /9CgQ//BkDD/kWwk/5p1Lf/BrXT/4c6T/+XT
+                                       l//m1Jr/59Wb/+fVnf/n1p7/59af/+fXoP/o
+                                       16L/6Nij/+jYpf/o2ab/6dmo/+naqf/p2qr/
+                                       6dus/+nbrf/q3K7/6tyw/+rdsf/q3bP/6960
+                                       /+vetv/r37f/69+5/+zguv/s4Lv/7OG9/+zi
+                                       vv/s4sD/7ePB/+3jw//t5MT/7eTG/+7lx//u
+                                       5cn/7ubK/+7mzP/v583/8urR//v02//Nx7TC
+                                       Y15YThkVFw8bFxkNIh4fCyIeHwYiHh8CIh4f
+                                       ASIeHwAiHh8AIh4fACIeHwAiHh8AIh4fACIe
+                                       HwAiHh8AIh4fACIeHwAhHR4AIBwdAB8bHAAf
+                                       GxwAHxscAB4aGwAeGhsAHhobAB4aGwAfGxwA
+                                       HxscACAcHQAhHR4AIh4fACIeHwAiHh8AIh4f
+                                       ACIeHwAiHh8AIh4fACIeHwAiHh8AIh4fACIe
+                                       HwAiHh8AIh4fACIeHwAiHh8AIh4fACIeHwAi
+                                       Hh8AIh4fACIeHwAiHh8AIh4fACIeHwAiHh8A
+                                       Ih4fAiIeHwgTEBQKj4d0ffbqw//q37n/6t63
+                                       /+rdtf/q3bT/6d2z/+ncsv/p27D/6duv/+DS
+                                       pv/Lv5b/x7uS/8e6kf/HupD/x7qP/8a6jv/G
+                                       uY3/xrmL/8a4iv/GuIn/xbaH/66fcv+ogTT/
+                                       toct/9iwY//nzp7/9+/g///////t27j/69av
+                                       /+DCh/+zhSz/mXIm/4lmIv+MaCP/3r5//9Gj
+                                       Sv/UqVX/2bJo/9CgQ/+YdDj/Jhlc/15ZlP+o
+                                       pcL/tLPA/6Wgwf+moMP/p6HE/6aiw/+mosP/
+                                       p6LD/6agw/+koMP/pp/C/6efwv+gnMH/iYWy
+                                       /4mFsv+KhbT/nJS7/7eyz/+MhbL/jIWy/5mU
+                                       vf/n5/D//////9PR4v+NhbT/joSz/5aMuf+n
+                                       n8T/p5/E/6efxP+nn8T/p5/E/6efxP+ooMX/
+                                       qKDF/6mhxv+pocb/qaHG/6mhxv+pocb/qaHG
+                                       /7KrzP+7ttP/xcDZ/8G71v+6s9L/qqLH/7q2
+                                       y/+xrMX/qaHG/6Slwf91boP/TUVq/2NXff/R
+                                       tHz/37+A/+DAg//kyZX/2bJm/4FgIP+5ii7/
+                                       0qRL/9KkS/+wgiv/XkYX/2ZMGf/OnDv/0aNK
+                                       /82aOP+zhSz/eVoe/7eSR//Uwor/49GW/+bU
+                                       mf/m1Jr/59Wc/+fVnf/n1p7/59ag/+jXof/o
+                                       16P/6Nik/+jYpf/o2af/6dmo/+naqf/p2qv/
+                                       6dut/+rbrv/q3K//6t2x/+rdsv/q3rT/6961
+                                       /+vft//r37j/6+C6/+zgu//s4b3/7OG+/+zi
+                                       v//t48H/7ePC/+3jxP/t5MX/7eXG/+7lyP/u
+                                       5sr/7ubL/+7nzf/v587/7+jQ//fw2P/179j1
+                                       qaSWlDg0MyoWEhQLHxscDSIeHwkiHh8EIh4f
+                                       AiIeHwEiHh8AIh4fACIeHwAiHh8AIh4fACIe
+                                       HwAiHh8AIh4fACEdHgAgHB0AHxscAB8bHAAf
+                                       GxwAHhobAR4aGwEeGhsBHhobAR8bHAAfGxwA
+                                       IBwdACEdHgAiHh8AIh4fACIeHwAiHh8AIh4f
+                                       ACIeHwAiHh8AIh4fACIeHwAiHh8AIh4fACIe
+                                       HwAiHh8AIh4fACIeHwAiHh8AIh4fACIeHwAi
+                                       Hh8AIh4fACIeHwAiHh8AIh4fACIeHwAiHh8B
+                                       Ih4fBhoXGQtPSkJB7OG6+evguf/q3rb/6t21
+                                       /+nds//p3LL/6dyx/+nbr//k16v/z8Ka/8e7
+                                       k//HupL/x7qQ/8e6j//Guo//xrmN/8a5jP/G
+                                       uIv/xriK/8a4if/DtIb/p4pL/6B3KP/Rokj/
+                                       4cOK//Dhxf//////8+fQ/+fPoP/jx5L/wZAw
+                                       /5tzJv+YcSb/gF8g/9y4c//UqVX/0qVN/9mz
+                                       av/SpU//nng8/0xFXv9pZJP/n5zB/6Gbvv+n
+                                       o77/vLrL/6GbwP+hm8D/opzB/5+cwf+hm8D/
+                                       oJzB/5+cwf+inMH/opzB/6Kcwf+LhbT/hYGx
+                                       /4WBsf+KgK//zsve/52Xvv+MhLP/hoGx/42I
+                                       tf/U0eL/6ufw/4iBsf+JgbL/mZK9/6Ocw/+k
+                                       nMP/pJzD/6Scw/+knMP/pJzD/6Scw/+knMP/
+                                       pJzD/6Kcw/+inMP/opzD/6Kcw/+inMP/pZ3E
+                                       /6ihyP/Ev9j/uLLR/8C72P+/udb/sazN/6Od
+                                       xP+iobr/vnNG/7GXgf9kWZz/Khdw/2dZff/M
+                                       rG3/4MCD/+DBhf/lzJr/1apX/4FgIP/GkzH/
+                                       06dS/8+fQv+bcyb/SzcS/4ZkIf/PnT//zpw7
+                                       /8SSMf+bcyb/f14f/72jY//ezJL/5NKX/+bU
+                                       mf/n1Jv/59Wd/+fWnv/n1p//59eg/+jXov/o
+                                       2KP/6Nil/+jZpv/p2aj/6dqp/+naq//p26z/
+                                       6dut/+rcr//q3LD/6t2x/+res//r3rX/6962
+                                       /+vfuP/r4Ln/7OC6/+zhvP/s4b3/7OK//+3i
+                                       wP/t48L/7ePD/+3kxf/t5cb/7uXI/+7lyf/u
+                                       5sv/7ufM/+/nzv/v6M//7+jR//Dq1P/79d7/
+                                       5N7L23ZxamYgHB0VGBQWDCIeHwwiHh8GIh4f
+                                       AyIeHwEiHh8AIh4fACIeHwAiHh8AIh4fACIe
+                                       HwAiHh8AIR0eACAcHQAfGxwAHxwcASAcHQIh
+                                       HR0EGhYXARgUFQAeGhsEIBwdAyAcHQIgHB0B
+                                       IR0eACIeHwAiHh8AIh4fACIeHwAiHh8AIh4f
+                                       ACIeHwAiHh8AIh4fACIeHwAiHh8AIh4fACIe
+                                       HwAiHh8AIh4fACIeHwAiHh8AIh4fACIeHwAi
+                                       Hh8AIh4fACIeHwAiHh8AIh4fACIeHwAiHh8E
+                                       HhocCi8rKR/WzarQ7uK7/+retv/q3bX/6d2z
+                                       /+ncsv/p3LD/6Nqu/9fKn//Hu5T/x7uT/8e6
+                                       kf/HupD/x7qP/8a6jv/GuY3/xrmL/8a4iv/G
+                                       uIn/xLaI/6aUZf+bdCj/wI4w/9q0a//p06j/
+                                       +/jy//r27f/lzJr/5cya/9CgQ/+gdyj/pHop
+                                       /3laHv/WrFv/2LFl/9KkS//atGv/06dS/7SH
+                                       NP8pHlr/VU+Q/6uqu/+Zlbr/m5W6/5uVvP+Z
+                                       lbz/m5W8/5yVvP+dlbz/m5W8/5uVvP+alr3/
+                                       mpe+/5qXvv+al77/mpe+/5GMuf9+eaz/f3ms
+                                       /4B4q//Iw9r/fnir/355rv+rqMv/fnmu/353
+                                       rv+wq8z/gHeu/4N+sf+bl8D/mpa//52Wv/+d
+                                       lr//nZa//52Wv/+dlr//nJXA/5yVwP+clcD/
+                                       nJXA/5yVwP+clcD/nZbB/52Wwf+dlsH/nZbB
+                                       /6KbxP+9uNX/ubPS/6Gaw/+dlsH/oJ22/+5N
+                                       Gv/Cbj//mJvB/52Wv/9cUJn/Qzlq/29mb//a
+                                       uXn/4MGF/+DCh//mzJv/zJgz/5NtJP/OnT3/
+                                       1apX/8uXMv+GZCH/RDMR/6F4KP/NmTb/zJk1
+                                       /7iILf+BYCD/on81/8i1fv/i0Jb/5dOY/+bU
+                                       mv/n1Zz/59Wd/+fWnv/n1qD/6Neh/+jXo//o
+                                       2KT/6Nmm/+jZp//p2aj/6dqq/+nbq//p263/
+                                       6tyu/+rcsP/q3bH/6t2z/+vetP/r3rb/69+3
+                                       /+vfuP/s4Lr/7OC7/+zhvf/s4r7/7OLA/+3j
+                                       wv/t48P/7eTE/+3kxv/u5cf/7uXJ/+7myv/u
+                                       58z/7+fN/+/nz//v6NH/7+nS//Dp0//179n/
+                                       +vTg/8K9r7BPS0g8FRETDRwYGg0iHh8KIh4f
+                                       BSIeHwIiHh8BIh4fACIeHwAiHh8AIh4fACIe
+                                       HwAhHR4AIBwdAB4aGwAgHB0CIR4eBRsXGQRd
+                                       WVQpT0tIKCEdHwEUEBMAHBgZAyIeHwUiHh8D
+                                       Ih4fASIeHwAiHh8AIh4fACIeHwAiHh8AIh4f
+                                       ACIeHwAiHh8AIh4fACIeHwAiHh8AIh4fACIe
+                                       HwAiHh8AIh4fACIeHwAiHh8AIh4fACIeHwAi
+                                       Hh8AIh4fACIeHwAiHh8AIh4fACIeHwIhHR8J
+                                       FxQXC6KZgZz16b//6t62/+rdtP/p3bP/6dyx
+                                       /+nbsP/g0qj/yr6W/8e7k//Hu5L/x7qR/8e6
+                                       j//Guo//xrqO/8a5jf/GuIv/xriK/8a4if+9
+                                       roL/qYZA/5tzJv/Rokj/4cOK//HjyP/9/Pr/
+                                       6NCj/+TIk//Vq1r/qH0p/6yAK/+GZCH/yZYy
+                                       /9y5df/Rokj/2bJo/9WqWP+5ii7/QzpY/0lD
+                                       iP+MiLX/k4+2/5OOt/+Xkbr/lI+6/5WRuv+U
+                                       kLv/lZG6/5WOuf+Wj7r/l5G6/5SQu/+UkLv/
+                                       k5G8/5ORvP+Tkbz/lJC7/4Z9sP95cqn/i4O0
+                                       /83J3v+gnMP/dHKp/7++1/+mpMn/dXOq/3dy
+                                       q/92c6z/jYu6/5ORvv+Tkb7/kpC//5KQv/+V
+                                       kb7/mJC9/5aPvP+Wj7z/mJG+/5iRvv+Ykb7/
+                                       mJG+/5iRvv+Ykb7/mJG+/5iRvv+Ykb7/mJC/
+                                       /5uTwP+rpcr/mJC//6Kdq//2RBT/3Usa/5OW
+                                       wP+Ykbz/mJG8/56cs/9kW47/MiV4/4l7g//d
+                                       unb/4MGF/+LEi//ly5j/roEr/6h9Kf/Rokj/
+                                       06dS/7iILf9jSRj/Uz0U/7iILf/IlDH/wZAw
+                                       /6N5KP9zVRz/vJ5Z/9zKkP/k0pf/5tSZ/+fV
+                                       m//n1Z3/59ae/+fWn//o16H/6Nei/+jYpP/o
+                                       2KX/6Nmm/+nZqP/p2qn/6dqr/+nbrP/q267/
+                                       6tyv/+rdsf/q3bL/6t60/+vetf/r37f/69+4
+                                       /+vguv/s4Lv/7OG9/+zhvv/s4sD/7ePB/+3j
+                                       wv/t5MT/7eTF/+7lx//u5cn/7ubK/+7my//u
+                                       583/7+fO/+/o0P/v6dL/7+nT//Dq1f/w6tb/
+                                       +PPg//Hs2e2Yk4qCMi4uIBYSFAwgHB0NIh4f
+                                       CCIeHwMiHh8BIh4fACIeHwAiHh8AIh4fACEd
+                                       HgAgHB0AHhsbASAdHQMiHh8IFxMWB2llXz/3
+                                       897dwLytqHt3blI6NjQcFRIUARgUFgEdGRsE
+                                       Ih4fBCIeHwIiHh8BIh4fASIeHwAiHh8AIh4f
+                                       ACIeHwAiHh8AIh4fACIeHwAiHh8AIh4fACIe
+                                       HwAiHh8AIh4fACIeHwAiHh8AIh4fACIeHwAi
+                                       Hh8AIh4fACIeHwAiHh8AIh4fASIeHwcWExYL
+                                       cmtcXPHlvP/r3rb/6d2z/+ncsv/p3LH/6Nqu
+                                       /9LGnf/Hu5X/x7uT/8e6kv/HupD/x7qP/8a6
+                                       jv/GuY3/xrmM/8a4iv/GuIn/xLaI/6aTYv+R
+                                       bCT/vo0v/9q0a//p06j/+/bv/+/fwP/gwYX/
+                                       27Zv/7mKLv+rfyr/mXIm/6R6Kf/gwIP/06ZQ
+                                       /9myaP/WrV3/0KBD/008T/9UUHz/kI6p/5CL
+                                       tP+Si7T/j4q3/4+Kt/+Pirf/j4u4/42LuP+N
+                                       i7j/j4u4/4+LuP+Ni7j/jYu4/46Muf+Oi7r/
+                                       jou6/5CLuP+Tirf/kYq3/4R8r/93a6b/c2ql
+                                       /3Rqpf9wa6b/vLvW/9fX6P9ua6j/dHGs/4mH
+                                       uP+OjLv/jIy7/4yMu/+MjLv/i4u8/46Mu/+Q
+                                       jLv/kIq7/5OLuv+Sirv/koq7/5KKu/+Sirv/
+                                       koq7/5KKu/+Sirv/k4u8/5OLvP+Ti7z/k4u8
+                                       /5OLvP+kmZn/+kAT/+w7EP+Ukq//k4u6/5GK
+                                       tf+no7j/mpS5/4N6sf9DNYz/QTJ7/5uGaP/e
+                                       vHv/4MGF/+TIk//evHv/lm8l/8SSMf/UqFP/
+                                       0KBD/5tzJv9LNxL/e1se/7yML/+8jC//uIgt
+                                       /4hlIf+Zdi7/xLF5/+HOlP/l05j/59Sb/+fV
+                                       nP/n1Z3/59af/+fXoP/o16H/6Nej/+jYpf/o
+                                       2ab/6dmo/+naqf/p2qr/6dus/+nbrf/q3K//
+                                       6tyw/+rdsf/q3rP/6961/+vetv/r37j/6+C5
+                                       /+zgu//s4bz/7OG+/+ziv//t4sH/7ePC/+3j
+                                       w//t5MX/7eXG/+7lyP/u5sr/7ubL/+7nzf/v
+                                       587/7+jQ/+/o0f/v6dP/8OrU//Dq1v/w69f/
+                                       8u3b//345f/a1cfKbGhjVhwYGhIZFRcMIh4f
+                                       CyIeHwYiHh8CIh4fACIeHwAiHh8AIR0eACAc
+                                       HQAeGxsBIR0eAyIeHwkhHR4SGRUXEaGekZP/
+                                       /ub/9vLa/+PeyNqppJSUZmJZRjIuLRQVEhUB
+                                       GRUXAh4aHAQiHh8EIh4fAiIeHwEiHh8AIh4f
+                                       ACIeHwAiHh8AIh4fACIeHwAiHh8AIh4fACIe
+                                       HwAiHh8AIh4fACIeHwAiHh8AIh4fACIeHwAi
+                                       Hh8AIh4fACIeHwAiHh8BIh4fBRwZGwo4MzAu
+                                       5tmz6Ozft//p3bP/6dyy/+ncsP/e0af/yb2V
+                                       /8e7lP/Hu5P/x7qR/8e6kP/Huo//xrqO/8a5
+                                       jf/GuYv/xriK/8a4if+7rID/pYM9/5ZvJf/Q
+                                       oUf/4MGF//Lly//37t7/4sWN/927ev/NmTb/
+                                       sIIr/7SGLf+LZyL/3Lhz/9evYv/Xr2L/2bJm
+                                       /9WqV/90W0P/JyBx/2hjnv+Qi7D/l5St/4uH
+                                       tP+HhbT/h4W0/4eFtP+HhbT/h4W0/4eFtP+I
+                                       hrX/iIa1/4eFtv+Hhbb/h4W2/4eFtv+LhrX/
+                                       jIS1/4yEtf+MhLX/jIS1/4d/sv94b6j/b2Wi
+                                       /25jov+2tdT/8PD1/5aUwf+Hhbj/iYa5/4mG
+                                       uf+Jhrn/iYa5/4mGuf+Lhrn/ioW4/4mGuf+J
+                                       hrn/ioW4/42FuP+Nhbj/j4a5/4+Guf+Phrn/
+                                       j4a5/4+Guf+Phrn/j4a5/4+Guf+Ohbr/rZqH
+                                       //4/Ef/vOxD/mY1+/4+HvP+Ig6r/n5fE/5iQ
+                                       vf+Mhrv/i4W4/3Jopf9UTnX/VU18/8u1jf/f
+                                       v4L/4cOK/+bNnf/Vqlf/oHco/8+eQP/Vqlj/
+                                       yZYy/35eH/9GNBH/m3Mm/7mKLv+8jC//qH0p
+                                       /3BTHP+8nVb/28mQ/+TSl//m1Jr/59Wb/+fV
+                                       nf/n1p7/59ag/+jXof/o16P/6Nik/+jYpf/o
+                                       2af/6dmo/+naqv/p26v/6dut/+rcrv/q3LD/
+                                       6t2x/+rds//r3rT/6962/+vft//r4Ln/7OC6
+                                       /+zgvP/s4b3/7OK//+3iwP/t48L/7ePD/+3k
+                                       xf/t5cb/7uXI/+7lyf/u5sv/7ufM/+/nzv/v
+                                       6M//7+jR/+/p0v/w6tT/8OrV//Dq1//w69j/
+                                       8eza//fy4f/49OT6trKooD46OjEWEhQMHhob
+                                       DSMfHwkiHh8EIh4fAiIeHwAhHR4AIBwdAB4b
+                                       GwEhHR4DIh4fCSIeHxQbFxkfOTUzN9zYxNzx
+                                       7tb/7urR//jy1//z7dH/29a8zaCbiYFeWVA4
+                                       KycmDBURFQEaFxkCIBwdBSIeHwQiHh8CIh4f
+                                       ASIeHwAiHh8AIh4fACIeHwAiHh8AIh4fACIe
+                                       HwAiHh8AIh4fACIeHwAiHh8AIh4fACIeHwAi
+                                       Hh8AIh4fACIeHwAiHh8DHxsdCiQgIBO9spS3
+                                       8uW7/+nds//p3LL/5tiu/9HFnf/IvJX/x7uT
+                                       /8e7kv/HupH/x7qP/8a6j//Guo7/xrmM/8a4
+                                       i//GuIr/xLaH/6SRYf+NaCP/tIYt/9euYP/n
+                                       zp7/9+/g/+jRpf/du3v/0qVN/7SGLf+8jC//
+                                       mHIm/8uXMv/cunj/1ata/9q0a//Tp1L/n3o0
+                                       /0E7YP9UTZL/hX+w/4J+rf+GgrH/nJnA/4iD
+                                       tP+Bf7L/gX+y/4WAs/+DgLP/g4Cz/4OAs/+D
+                                       gbT/gn+0/4OBtP+DgbT/g4Cz/4V/sv+LgLP/
+                                       iYCz/4mAs/+JgLP/iYCz/4mAs/+JgLP/iYCz
+                                       /8fE3f/y8vf/0tHk/4GBtv+Egbb/hIG2/4SB
+                                       tv+FgLX/hIG2/4aAtf+GgLX/g4G2/4SBuP+H
+                                       gbb/iYC1/4mAtf+JgLX/iYC1/4mAtf+HgLf/
+                                       h4C3/4aAt/+GgLf/goa6/72Ucf//QBL/8DwR
+                                       /7BrS/+HiML/gXyj/4eBtv+Lgbr/i4G6/4uB
+                                       uv+Lgbr/jomy/1xUm/8kGHv/b2iM/9e5gP/g
+                                       wYX/4sWN/+XLmP+5ii7/uIgt/9OmUP/SpU3/
+                                       qH0p/1lCFv9mTBn/rIAr/7iILf+7iy7/iGUh
+                                       /5x3Lv/Gs3z/4c+V/+bUmf/n1Jv/59Wc/+fW
+                                       nv/n1p//59eg/+jXov/o2KP/6Nil/+jZpv/p
+                                       2aj/6dqp/+naq//p263/6tuu/+rcr//q3bH/
+                                       6t2y/+vetP/r3rX/69+3/+vfuf/r4Lr/7OC7
+                                       /+zhvf/s4r7/7OLA/+3jwv/t48P/7eTF/+3k
+                                       xv/u5cf/7uXJ/+7myv/u58z/7+fN/+/oz//v
+                                       6NH/7+nS//Dp0//w6tX/8OrX//Dr2P/x7Nr/
+                                       8ezb//Lu3v/79+j/6+fa4oiEfm8mIyMaFhIT
+                                       DCIeHwwiHh8GIh4fAiEdHgAgHB0AHhsbACEd
+                                       HgIiHh8HIh4fEiIeHyIWEhUqcm5mdvXx2f/t
+                                       6dD/7OfN/+vmy//v6cz/9u/Q//HqyvXQya7B
+                                       kYt5cERAOisiHh8GFBEUARsYGgMhHR4FIh4f
+                                       AyIeHwIiHh8BIh4fACIeHwAiHh8AIh4fACIe
+                                       HwAiHh8AIh4fACIeHwAiHh8AIh4fACIeHwAi
+                                       Hh8AIh4fACIeHwIiHh8IExAUCo+GcXz16L3/
+                                       6d2z/+ncsf/d0Kf/yb2W/8e7lf/Hu5P/x7qS
+                                       /8e6kP/Huo//xrqP/8a5jf/GuYz/xriK/8a4
+                                       if/AsYX/ooJA/4lmIv/Nmzv/3r5//+/ev//w
+                                       4sf/3bt4/9auYv+/jTD/t4ct/7OFLP+WbyX/
+                                       3bt4/9asW//atW//1axd/9ChRf9CNFr/RkCA
+                                       /4qGpf9/eqj/gHqt/4N7rv+Zlb7/mZXA/357
+                                       sP+BfLH/f3yx/398sP9/fLH/f3yx/398sf9/
+                                       fLH/gH2y/4B9sv9/fLH/gXyx/4F7sP+Ee7D/
+                                       gHuw/4N8sf+BfLH/gXyx/4B7sP+Ce7L/w8Lb
+                                       //Hx9v/y8vf/kJC//319tP99fbT/f320/4J9
+                                       tP+BfLP/gnyz/4F8s/+CfLP/gnyz/4J8s/+F
+                                       fLP/hXyz/4J7tP+Ce7T/gnu0/4J7tP+CfLX/
+                                       hXy1/4OFtP/WdE3//0ES//E+Ef/FRx3/g4bB
+                                       /3x4nf+Aeq//hny3/4Z8t/+GfLf/hH24/4R9
+                                       uP+Ffrf/e3av/0E5kv85NYT/lYd6/927ev/i
+                                       xIv/5cuY/9y5df+ofSn/zpw7/9WqWP/LlzL/
+                                       iGUh/0k2Ev+OaSP/s4Us/7yML/+sgCv/a08a
+                                       /7mdWv/byZD/5NKX/+bTmv/m1Jz/59Wd/+fW
+                                       n//n16D/6Neh/+jYo//o2KX/6Nmm/+nZqP/p
+                                       2qn/6dqr/+nbrP/p263/6tyv/+rcsP/q3bL/
+                                       6t6z/+vetf/r37b/69+4/+vguv/s4Lv/7OG9
+                                       /+zhvv/s4sD/7ePB/+3jw//t5MT/7eTF/+7l
+                                       x//u5cn/7ubK/+7mzP/v583/7+fO/+/o0P/v
+                                       6dL/8OnT//Dq1f/w6tf/8OvY//Dr2f/x7Nv/
+                                       8ezc//Ht3v/08eP//vvs/8zJvrtaVlRDFBAR
+                                       CRsXGQgiHh8GIR0eAh8bHAAgHB0AIR0eASIe
+                                       HwUiHh8NIh4fGyAcHS0eGhs7trKiwfbx1//s
+                                       5sz/6+bK/+vlyP/r5Mb/6+TF//Dox//17Mn/
+                                       7OPA6761mq+CfGpePjk1IB0ZGwIXExcCHRkb
+                                       AyIeHwUiHh8DIh4fASIeHwEiHh8AIh4fACIe
+                                       HwAiHh8AIh4fACIeHwAiHh8AIh4fACIeHwAi
+                                       Hh8AIh4fASIeHwYaFxkLT0lBQevftfnq3rP/
+                                       5tmv/9HFnf/IvJX/x7uU/8e7k//HupL/x7qQ
+                                       /8e6j//Guo7/xrmN/8a5i//GuIr/xLeI/6eW
+                                       av+Maif/o3op/9KmUv/jx5L/8+jS/+XMmv/Z
+                                       smb/zJk4/7SGLf/BkDD/mXIm/9ChR//btnD/
+                                       2bJo/9q1bf/UqVf/hWdC/yQccf9jWJn/enSo
+                                       /3t2q/97dq3/iYS1/66tzv+qqsv/h4W2/3p3
+                                       rf94da7/eXav/3l2rv96d7D/enev/3p3sP96
+                                       d7D/d3ew/3d3sP96d7D/enew/3p3sP95d7D/
+                                       eXew/3h4sf96d7L/eney/3x3sP/Cwdr/8/L3
+                                       //Py9//AwNv/d3my/3h4s/96erP/eXm0/3x5
+                                       tP98ebT/fXey/3x1sv98dbL/fHWy/3x1sv9+
+                                       d7L/fney/353sv99d7T/fXe0/313tP+GiKv/
+                                       5GU4//9DE//zPxL/yjYR/4eHp/93c5r/e3an
+                                       /394tf9/eLX/fni3/354t/9+eLf/fni3/354
+                                       t/9/ebT/cnKb/0pId/9UUo3/z7mO/+DAg//i
+                                       xY3/586e/8+eQP+5ii7/0qVP/9KlT/+ugSv/
+                                       XEUX/2BHGP+ofSn/vIwv/8GQMP+BYCD/poI3
+                                       /8q6gv/h0JX/5dOZ/+bUm//n1Z3/59ae/+fW
+                                       oP/o16H/6Nej/+jYpP/o2ab/6Nmn/+naqf/p
+                                       2qr/6dus/+nbrf/q3K7/6tyw/+rdsf/q3rP/
+                                       6961/+vetv/r37j/6+C5/+zgu//s4bz/7OG+
+                                       /+ziv//t48H/7ePC/+3kxP/t5MX/7eXH/+7l
+                                       yP/u5sr/7ubL/+7nzf/v587/7+jQ/+/p0v/v
+                                       6dP/8OrV//Dq1v/w69j/8OvZ//Hs2//x7Nz/
+                                       8e3e//Hu4P/y7uH/+vfq//Tx5vGhnpiGOjY1
+                                       GRsXGAMhHR4EHxscASEdHgAhHR4AIh4fAiIe
+                                       HwgiHh8UIh4fJBkVGDRMSERj6eTM8+/qz//r
+                                       5sr/6+XI/+vkxv/r5MT/6uPC/+riwP/r4r//
+                                       8unC//Tqwv/l3LXftayPnmdhU041MC0YFhIW
+                                       ARgVGAIdGhwEIh4fBCIeHwIiHh8BIh4fACIe
+                                       HwAiHh8AIh4fACIeHwAiHh8AIh4fACIeHwAi
+                                       Hh8BIh4fBB0aHAowKykf1sql0O3htf/f06j/
+                                       yb2X/8i8lf/Hu5T/x7uT/8e6kf/HupD/xrqP
+                                       /8a6jv/GuY3/xriL/8a4iv/CtIb/pIhL/4Bg
+                                       IP+9jC//17Fn/+nUrP/v4ML/2bVu/9CkTP+8
+                                       jC//v48w/7uLLv+jein/3Lt6/9evYv/buXX/
+                                       1q1g/8eWO/9WTGD/VEqF/3Rvpf9wcKT/dHGp
+                                       /3d0rf+hn8b/oJ7F/6Gfxv96eK7/c3Gp/3Rx
+                                       q/9xcaz/cXGs/3Fxq/9xcaz/cXGs/3Jzrf9x
+                                       ca3/cXGt/3Fxrv9xca7/cXOu/3Fzrv9yc6//
+                                       cnKv/3Jyr/9ycq//c3Ow/7+92v/x8fb/8fH2
+                                       /+zs8/99frb/c3Sw/3NzsP92c7D/c3Ow/3Rx
+                                       sP92ca7/eXGw/3lxsP93cbD/d3Gw/3dxsP93
+                                       cbD/d3Gw/3dxsP96crH/jY2f//JUJP//RBP/
+                                       9kIS/8o1D/+Rf3f/cGyX/3FtnP94crH/eHKz
+                                       /3hys/94crP/eHKz/3lztP94crX/iYS3/42N
+                                       qP+Bgqz/REab/ywoif+MhZn/27yA/+HDiv/l
+                                       ypb/37+A/7SGLf/PnT//1ata/8iUMf+IZSH/
+                                       TDkT/5FsJP+0hi3/yJQx/6yAK/9tURr/uaFk
+                                       /9zKkf/k0pf/5tSa/+fVnf/n1p7/59af/+jX
+                                       of/o16L/6Nik/+jYpf/o2af/6dmo/+naqv/p
+                                       26v/6dut/+rcrv/q3LD/6t2x/+rds//r3rX/
+                                       6962/+vft//r4Ln/7OC6/+zhvP/s4b3/7OK/
+                                       /+3iwP/t48L/7ePD/+3kxf/t5cb/7uXI/+7m
+                                       yv/u5sv/7ufN/+/nzv/v6ND/7+jR/+/p0//w
+                                       6tT/8OrW//Dr1//w69n/8eza//Hs3P/x7d7/
+                                       8e7f//Lu4f/y7+L/8/Hl///98//z8efXaGVi
+                                       KxYSFAEfGxwBIh4fACIeHwAiHh8AIh4fBCIe
+                                       HwwiHh8aIR0fLRgUFTqRjH+i+PLX/+vmyv/r
+                                       5cj/6+TG/+vjxP/q48L/6uLA/+rhvv/p4Lz/
+                                       6eC6/+vhuf/z6L7/8eW6/93SqtWjm3+MYVpN
+                                       Py8qKA8VEhYAGRYZAiAcHQUiHh8EIh4fAiIe
+                                       HwEiHh8AIh4fACIeHwAiHh8AIh4fACIeHwAi
+                                       Hh8CIR0fCRcUGAuhmH6c8+a6/9PGn//IvJb/
+                                       yLyV/8e7lP/Hu5L/x7qR/8e6j//Guo//xrqO
+                                       /8a5jP/GuIv/xbeI/6+hd/+WczD/j2oj/86c
+                                       P//evn//7dy+/+PHkv/Tp1P/xJIx/7uLL//L
+                                       mDb/oHco/8+hR//atnL/2bVv/9mza//UrFz/
+                                       cVlR/y8idv91cZf/hYSd/3Bwp/9wban/f3+z
+                                       /5aUvv96d67/cG2p/3Btqf9wbar/cW6r/25u
+                                       qv9ubqr/bW2q/25uqv9ubqr/bm6r/3Fuqv9x
+                                       bqv/cW6r/25urf9ubq3/bm6t/25urP9ubqz/
+                                       bm6t/25wrf9vca3/0dLk/+7u9f/v7/b/7+/2
+                                       /6ys0f9wcK//cW6t/3NtrP90bq3/cmyt/3Js
+                                       rf9ybK3/cmyt/3Jsrf91bq3/dW6t/3Ntrv90
+                                       bq//dG6u/5mRjf/6Sxr//0UU//tEE//INQ//
+                                       qVY2/2htlP9saJf/dG6t/3Vvsv91b7H/dW+y
+                                       /3Vvsv91b7L/dW6z/3Vus/91brP/dHG0/3N0
+                                       tP9eYKf/Ky6Q/1ZUhf+7p4D/37+A/+LFjf/m
+                                       zZ3/0qVN/8ORMP/Tp1L/0aNK/6h9Kf9eRhf/
+                                       blIb/7CCK//JljL/y5cy/3FUHP+2lEf/2MaO
+                                       /+LRlv/m1Jr/59Wc/+fVnf/n1p//59eg/+jX
+                                       ov/o2KT/6Nil/+jZpv/p2aj/6dqp/+naq//p
+                                       263/6tuu/+rcsP/q3bH/6t2z/+vetP/r3rX/
+                                       69+3/+vfuf/s4Lr/7OC8/+zhvf/s4r//7eLA
+                                       /+3jwv/t48P/7eTF/+3lxv/u5cj/7ubK/+7m
+                                       y//u583/7+fO/+/o0P/v6NH/7+nS//Dq1P/w
+                                       6tb/8OvX//Dr2f/x7Nr/8ezc//Ht3v/x7d//
+                                       8u7h//Lv4v/28+j//vzx+6WhnIw7NzcRHBgZ
+                                       Ax8bHAEiHh8AIh4fACIeHwAiHh8CIh4fByIe
+                                       HxAiHh8iHRkbNC4qKU/Qy7Td8u3Q/+vlyP/r
+                                       5Mb/6+PE/+rjwv/q4sD/6uG+/+ngvP/p4Lr/
+                                       6d+4/+netv/o3rT/6+C0//PnuP/v4rP708ie
+                                       x5mQdHpVT0IyIh4fCBQRFgAbFxoDIBweBSIe
+                                       HwMiHh8CIh4fASIeHwAiHh8AIh4fACIeHwEi
+                                       Hh8HFhMXC3JqWlvp3bL/zcCa/8i8lv/Hu5X/
+                                       x7uT/8e7kv/HupD/x7qP/8a6j//GuY3/xrmM
+                                       /8a4iv/DtYf/oo9f/39fH/+lein/0qVQ/+PI
+                                       lP/q2Lb/2bNr/82cPf+zhS3/w5Ex/8aTMf+d
+                                       dSf/3Lp6/9izav/du3v/1q5i/8mbSP8wImv/
+                                       RT6M/2xqpP9oaKP/goOv/39/tP+kpMj/lpbB
+                                       /5CQv/9paaj/amqo/2pqqf9ra6j/a2uq/2tr
+                                       qf9ra6n/a2uq/2pqqf9ra6n/bmuq/25rqv9u
+                                       a6n/amqr/2xsq/9sbqz/bmus/2xpqv9ua6z/
+                                       bGyt/2xsrf/Y1+r/7+/2/+7u9f/u7vX/5ebw
+                                       /21trv9waq3/cGms/3BprP9waq3/cGqs/3Bp
+                                       rf9waa7/cGmt/3Bprv9xaq//cWqv/3Frrv+r
+                                       k3r//0gV//9HFf//RxX/yDcP/7k6Ff9tcYX/
+                                       aWWR/25ppv9xarD/cmux/3Jrsv9ya7L/cmuy
+                                       /3Jrsv9zbLP/c2yz/3Nss/9ucLX/b3G2/290
+                                       sv9oaoj/Q0R+/4yHof/avIH/4cOK/+bMm//f
+                                       wIT/wZAw/9GjSv/UqVX/vo0v/4BfIP9YQRX/
+                                       onko/8eTMf/PnkD/nHQn/5FxK//CsHj/4M6T
+                                       /+TSmP/n1Zz/59Wd/+fWnv/n16D/6Neh/+jY
+                                       o//o2KX/6Nmm/+nZqP/p2qn/6dqr/+nbrP/q
+                                       267/6tyv/+rdsf/q3bL/6960/+vetf/r37f/
+                                       69+4/+vguv/s4Lv/7OG9/+zivv/s4sD/7ePC
+                                       /+3jw//t5MX/7eTG/+7lyP/u5cn/7ubL/+7n
+                                       zP/v587/7+jP/+/o0f/v6dL/8OrU//Dq1f/w
+                                       69f/8OvY//Hs2v/x7Nv/8e3d//Ht3//y7uD/
+                                       +vfq//Du4umBfnpdGBQWBxsXGQYiHh8DHxsc
+                                       ASIeHwAiHh8AIh4fACIeHwAiHh8DIh4fCiIe
+                                       HxciHh8qFREUN2VgWH7z7dH+7ObJ/+vkxv/r
+                                       48T/6uPC/+riwP/q4b7/6eC8/+nguv/p37j/
+                                       6d62/+jetP/o3bL/6N2w/+jbrv/r36//8uSy
+                                       /+zfrPK/s4u5hn1kZ0E8NCYgHB0EFhMXARwZ
+                                       GwMiHh8FIh4fAiIeHwEiHh8BIh4fASIeHwUc
+                                       GRsKODMvLtfMpOnLv5n/yLyV/8e7lf/Hu5P/
+                                       x7qS/8e6kP/Huo//xrqO/8a5jf/GuYv/xbeJ
+                                       /8Gzhf+egUT/fFwf/7iJLv/WsGT/6NGm/+TJ
+                                       lf/PoUf/u4sv/7uLL//Lmjr/qn4q/8uZOP/d
+                                       u3v/27p3/9u3c//WrmL/hWtM/0lEc/9YWpj/
+                                       ZGag/2Zmpf9mZqb/Zmam/3Z3rv+Tk7//bGyp
+                                       /2dnpv9oaKb/Z2en/2dnp/9nZ6f/aGmo/2do
+                                       qP9naKf/aGmo/2hoqP9nZ6j/aGmo/2hpqP9m
+                                       Zqn/aGir/2hqq/9qZ6r/aWao/2pnqf9raKv/
+                                       a2iq/9jX6P/v7/T/8PD1/+/v9P/w8PX/lJTF
+                                       /21mqv9tZqr/bWaq/2xlq/9sZaz/bGWr/21n
+                                       rP9tZ6v/bGat/2xmrP9sca7/vo1h//9JFv//
+                                       SRb//kgV/8g5EP+7NA//enBr/2Rgjf9pZJ3/
+                                       bmew/25nsP9uZ7D/bmew/29osf9vaLD/b2iw
+                                       /3Bpsv9wabH/bGmx/2prs/9sbrT/bG60/1lf
+                                       p/8sL5P/Wlab/9C/oP/fv4L/48eQ/+bNnf/R
+                                       o0r/zpw7/9SpVf/OnD//m3Mm/1xFF/+FZCH/
+                                       xpMx/9GjSv/NmTb/bFAb/7edXv/bypD/5NKY
+                                       /+fVm//n1Z3/59ae/+fWoP/o16H/6Nej/+jY
+                                       pf/o2ab/6Nmn/+naqf/p2qr/6dus/+nbrf/q
+                                       3K//6tyw/+rdsv/q3rP/6961/+vftv/r37j/
+                                       6+C6/+zgu//s4b3/7OK+/+ziwP/t48L/7ePD
+                                       /+3kxP/t5Mb/7uXH/+7lyf/u5sr/7ufM/+/n
+                                       zv/v6M//7+jR/+/p0v/w6dT/8OrV//Dq1//w
+                                       69j/8eza//Hs2//x7d3/8e3f//367P/a18zL
+                                       T0xKQBcTFAsgHB0LIh4fBSEdHgEgHB0AIh4f
+                                       ACIeHwAiHh8AIh4fACIeHwEiHh8FIh4fDyIe
+                                       Hx0hHR4xHRobQbKtmb/179H/6+TF/+rjw//q
+                                       4sH/6uK//+rhvf/p4Lv/6eC5/+nft//p3rb/
+                                       6N20/+jdsv/o3LD/6Nuu/+fbrP/n2qr/59mo
+                                       /+7gq//w4qv/5tei5rirgql4b1dXOTMtHRUS
+                                       FwEZFRkBHRkcBCIeHwQiHh8DIh4fBR8bHQsk
+                                       ICESr6WGus/Dm//IvJX/xrqU/8a6kv/GupH/
+                                       xrqP/8a5j//GuY3/xriM/8a4iv/Etoj/rJ5z
+                                       /41vLv+LZyP/yZYy/9u5df/o0qr/2LNq/8mW
+                                       Mv+rfyv/yJUx/8ycPf+gdyj/2LRu/9m2cf/c
+                                       vYD/1rBl/9KnVv88MXD/PDyI/3Jymv9hYZ//
+                                       YmKk/2Jipf9jY6X/Y2Wl/2psqf9iZKX/ZGWm
+                                       /2Nkpf9jZKX/Y2Wn/2Nlp/9iZKf/Y2Wn/2Nl
+                                       p/9jZaj/Y2Wn/2NlqP9kZqn/ZWan/2Rlp/9l
+                                       Z6n/ZGao/2Rmqf9kZan/Z2So/2RkqP9jY6r/
+                                       19fo/+/v9P/v7/T/8PD1/+3t9P/V1Of/aGGp
+                                       /2hhqv9oYar/aWKq/2hhqv9oYar/aWKq/2li
+                                       q/9oYar/cXem/9txRP/+Sxb//ksW//9KFv/K
+                                       OhH/uDQP/5VkRv9hXYf/ZV+W/2Viqv9rZK3/
+                                       bGWv/2xlr/9sZbD/aGWw/2tksP9rZLH/a2Sx
+                                       /2tksP9oZLD/Zmay/2pvtf9qb7T/Z22w/z9B
+                                       m/82Npb/kYuN/9+/gv/ixIv/5s2d/927ev/L
+                                       lzP/0qZS/9OmUP+vgSv/cVQc/2hNGf/BkDD/
+                                       0KRM/9OnU/97Wx7/tZJH/9fEjf/i0Zf/59Sb
+                                       /+fVnf/n1p7/59ag/+jXof/o16P/6Nik/+jZ
+                                       pv/o2af/6dqp/+naqv/p26z/6dut/+rcr//q
+                                       3LD/6t2y/+res//r3rX/69+2/+vfuP/r4Lr/
+                                       7OC7/+zhvf/s4b7/7OLA/+3jwf/t48P/7eTE
+                                       /+3kxv/u5cf/7uXJ/+7myv/u58z/7+fO/+/o
+                                       z//v6ND/7+nS//Dp0//w6tX/8OrX//Dr2P/x
+                                       7Nr/8ezb//Pv3//9+er/wb2zqDo2NigVERQN
+                                       Ih4fDCIeHwUiHh8CIR0eACAcHQAiHh8AIh4f
+                                       ACIeHwAiHh8AIh4fACIeHwIiHh8IIh4fEyIe
+                                       HyUaFhg1Qz87Yubgw/Lv6Mj/6uPD/+riwf/q
+                                       4r//6uG9/+ngu//p4Ln/6d+3/+netv/o3bT/
+                                       6N2y/+jcsP/o267/59us/+faqv/n2aj/5tim
+                                       /+bYpP/n2KP/796m/+/fpf/bzJbZpplylWVc
+                                       SEgyLSkUFhIYARkWGgIeGx0HIh4fDRQQFAyJ
+                                       gGp+0cWd/8i8lf/GupP/xrqS/8a6kP/Guo//
+                                       xrmP/8a5jf/GuIz/xriK/8O1iP+jkmL/fV0g
+                                       /5pzJ//Nmz7/3r+E/+XMnf/Qo0z/tIUs/7CD
+                                       LP/Nmz7/wpAw/7aILf/dvn//2rh4/9y8fP/V
+                                       r2T/qYRQ/ygkfP9KTJX/X1+e/2Biov9gYqL/
+                                       X2Gj/19hpP9gYqT/YGKl/2Fjpf9hYqX/YGGl
+                                       /2Bhpf9gYaX/YGGk/2Fipf9iY6b/YWKm/2Fi
+                                       pv9iZKn/YWOn/2JkqP9hY6j/YWOo/2Nlqf9i
+                                       ZKn/YmSp/2Nkqf9jYKf/YWOo/2Rlqv/U1ef/
+                                       7+/2/+3t9P/t7fT/7u71/+3s8/9+eLb/Zl+o
+                                       /2dgqP9mX6r/Zl+q/2dgq/9nYKr/Z2Cr/3t/
+                                       nv/pYzL//k0W//5MFv/+TBb/yzwS/7Y1D/+u
+                                       Qh7/XWSC/2Fck/9hXqX/aWKu/2pjsP9pYq//
+                                       aWKv/2pjsP9qY6//ZmKv/2djr/9mYrD/ZmKw
+                                       /2VhsP9lYbL/ZWez/2dttP9xdan/aWyP/1BQ
+                                       gP9sbJv/1cGb/+DCh//ixpL/5cya/86eQv/S
+                                       pU3/1KlX/7+PMP+JZiL/YEcY/6h9Kf/SplL/
+                                       1rBk/6N6Kf+XdC3/wrB6/+DOlP/n1Jv/59Wc
+                                       /+fWnv/n1p//6Neh/+jXov/o2KT/6Nil/+jZ
+                                       p//p2aj/6dqq/+nbq//p263/6tyu/+rcsP/q
+                                       3bH/6t6z/+vetf/r37b/69+4/+vguv/s4Lv/
+                                       7OG8/+zhvv/s4r//7ePB/+3jwv/t5MT/7eTF
+                                       /+7lx//u5cn/7ubK/+7mzP/v583/7+fP/+/o
+                                       0f/v6dL/8OnT//Dq1f/w6tf/8OvY//Hs2v/3
+                                       8uH/+vbl+ZOPh30jHyAXGxcYDyMeHwsiHh8F
+                                       Ih4fASIeHwAhHR4AIBwdACIeHwAiHh8AIh4f
+                                       ACIeHwAiHh8AIh4fACIeHwQiHh8MIh4fGSIe
+                                       Hy0XExU5iIJ0m/bvz//r5MP/6uLB/+riv//q
+                                       4b3/6eC7/+nguf/p37f/6d62/+jdtP/o3bL/
+                                       6Nyw/+jbrv/n26z/59qq/+fZqP/m2Kb/5tik
+                                       /+bXov/m1qD/5dae/+jXnv/w3qH/7Nud/9XE
+                                       jc6dkGmBW1NBOiomJA0VEhcGEg8VDUpEPEXM
+                                       v5r6x7uV/8a6k//GupL/x7qR/8i7kf/Iu5D/
+                                       ybyP/8q8j//Ku47/xbeK/6GJTv9yVR3/pnwp
+                                       /9GkT//gxZD/3L2B/8eVMv+ieSn/v44v/86g
+                                       RP+tgCr/z6JO/9u7fP/dvoH/2LRw/9i0bv92
+                                       ZFv/QT6A/1dXm/9aWpz/XFyh/1xeov9cXqP/
+                                       XF6i/1xeov9cXqH/XF6h/1xeo/9cXqL/Xl+l
+                                       /15fpP9eX6X/Xl+k/15fpP9eX6T/Xl+l/11f
+                                       pv9eYKb/XmCm/11epf9eYKf/XmCo/15gqP9d
+                                       X6j/XmCo/11fqf9dX6r/X2Gp/9LT5f/t7fT/
+                                       7Ozz/+7u9f/u7vX/7ezz/87M4/+MisH/d3S1
+                                       /19bp/9eW6j/Xlun/19cqP+Jh5P/+FUg//5O
+                                       F//+Thf//UwX/9A/Ev+0NRD/tTUQ/2pqcf9Z
+                                       Vo3/YVqc/2BdrP9gXaz/YFyt/2Fdrv9gXKz/
+                                       YFyt/2Fdrf9iXq7/Yl6u/2RcrP9iWKn/YVim
+                                       /2BXpf9cWar/XmSw/2twrf9eY6r/OUCb/01N
+                                       oP/Mw7H/3r+E/+HEjv/nz6L/1q5i/9ChRf/W
+                                       rFv/zZw//5pyJv9oTRn/jmkj/9atXv/bt3L/
+                                       zZw9/3BTHP+2oGf/3cyT/+bTmv/n1Zz/59Wd
+                                       /+fWn//n16D/6Nei/+jYpP/o2KX/6Nmn/+nZ
+                                       qP/p2qr/6dur/+nbrf/q3K7/6tyw/+rdsf/q
+                                       3bP/6961/+vetv/r37j/6+C5/+zgu//s4bz/
+                                       7OG+/+ziv//t48H/7ePC/+3kxP/t5MX/7uXH
+                                       /+7lyP/u5sr/7ubL/+/nzf/v587/7+jQ/+/p
+                                       0v/w6dP/8OrV//Dq1//w69j/+/bj/+Pfz99q
+                                       ZmFWGRUWEB4aGw4iHh8JIh4fBCIeHwEiHh8A
+                                       Ih4fACEdHgAgHB0AIh4fACIeHwAiHh8AIh4f
+                                       ACIeHwAiHh8AIh4fASIeHwYiHh8RIh4fIR4a
+                                       GzMoJSVMzMWr2fLryf/q4sH/6uK//+rhvf/p
+                                       4Lv/6eC5/+nft//p3rb/6N20/+jdsv/o3LD/
+                                       6Nuu/+fbrP/n2qr/59mo/+bYpv/m2KT/5tei
+                                       /+bWoP/l1p7/5dWc/+XUmv/l05j/6NaY/+/c
+                                       mv/q15b3yrmBw4x/XHQ+Ny40KiYlIbKoic7M
+                                       wJj/yb2V/8m8lP/FuY//xreN/8O2i/+8roT/
+                                       tKZ9/6qcdP+Ximf/kXEv/3paHv+xhCz/06la
+                                       /9/DkP/UrF3/s4Us/511J//KmDf/zZ5E/6h9
+                                       Kf/Xs3D/2rh4/9y9gv/XsWn/06pa/zguev9S
+                                       Uob/cnCR/3Rzk/93dKz/Wlqg/1paoP9bW6D/
+                                       Wlyh/1tdov9bXaP/W12j/1tdov9dXqP/XV6i
+                                       /1xdpP9cXaX/XF2l/11epv9dXqb/XF6m/1xe
+                                       p/9cXqf/XF2n/1xdpv9cXaf/XF2m/1xhpv9c
+                                       Xqj/XF6p/1xeqf9dX6r/2drq/+7u9f/u7vX/
+                                       7e30/+7v9f/t7fT/7Ozz/+7u9f/u7vX/397t
+                                       /7Kw1v+mpM//ppmC//1PGP/9Thj//U4Y//5O
+                                       F//VQhP/tDcR/7M1Ef+FZU//VVOJ/1pXk/9c
+                                       Wan/XVmr/11Zq/9eWqv/Xlqr/15arP9dWa7/
+                                       XVmu/11arP9cUqT/XU+h/11Pof9dT6L/XU+h
+                                       /1dPpP9QUqT/U1Wn/1xhq/9HTaD/NTeb/5uZ
+                                       rv/hxIz/4cSM/+XMnP/evoL/zqBE/9SrWv/R
+                                       pE3/pXop/3RWHf97Wx7/1a5h/927e//XsWf/
+                                       blIb/7aXU//Yx5D/5NKZ/+fVnP/n1Z3/59af
+                                       /+fXoP/o16L/6Nij/+jYpf/o2ab/6dmo/+na
+                                       qf/p26v/6dut/+rcrv/q3LD/6t2x/+rds//r
+                                       3rX/6962/+vfuP/r4Ln/7OC7/+zhvP/s4b7/
+                                       7OK//+3jwf/t48L/7eTE/+3kxf/u5cf/7uXI
+                                       /+7myv/u5sv/7+fN/+/nzv/v6ND/7+nS/+/p
+                                       0//w6tX/8evX//334//Szb6+Qj48NhMPEgwh
+                                       HR4OIh4fByIeHwMiHh8AIh4fACIeHwAiHh8A
+                                       IR0eACAcHQAiHh8AIh4fACIeHwAiHh8AIh4f
+                                       ACIeHwAiHh8AIh4fAyIeHwoiHh8WIh4fKRYT
+                                       FTdkX1Z78evJ/evkwv/q4r//6uG9/+ngu//p
+                                       4Ln/6d+3/+netv/o3bT/6N2y/+jcsP/o267/
+                                       59us/+faqv/n2aj/5tim/+bYpP/m16L/5tag
+                                       /+XWnv/l1Zz/5dSa/+XTmP/k05b/5NKU/+TR
+                                       kv/q1ZP/7dmU/+TQje6vn2ytt6h+zrGlgf+s
+                                       n3r/ppl0/6KVcP+ZjGj/koVi/5GEYv+Qg2H/
+                                       joFg/31xUf+FZCb/hmMg/76OL//Ur2j/38OL
+                                       /8qaPP+fdif/qX4q/82eRP/HlTT/toYs/9y+
+                                       g//cvYD/3Lx+/9exaf+rh1T/MimB/0xEkv9Z
+                                       Upj/WlOb/1tUnP9aU53/W1Wd/1pWn/9aVqD/
+                                       Wluh/1lbov9ZW6P/WFqi/1pcpP9aXKP/Wlyj
+                                       /1tdpf9bXaT/Wlyn/1pcpv9aXKb/foG4/7q8
+                                       2f9zeLT/W12n/1tdpv9bXaf/W12o/1tdpv9b
+                                       YKj/i4zB/+Dg7f/m5vH/ubrZ/4iMwP9sbrL/
+                                       XV2q/1tXp/9hWqj/Yl6t/3h1uP+hn83/1djl
+                                       //SscP/8URn//FAZ//5RGP/+UBj/2kMV/7I4
+                                       Ef+yNxH/okkm/1Nchv9VUo7/W1il/1xYq/9c
+                                       WKz/XFis/1xYrf9cWK3/XVmt/15arv9cWK3/
+                                       W06g/1pMof9aTKH/Vkyg/1ZMof9bTKP/VU2j
+                                       /0xMo/94erv/TE+k/19ikf9RUof/c3SP/9fF
+                                       o//fwYn/4seU/+TLnP/QpE7/06lX/9SqWv+3
+                                       hy3/gmEg/29SHP/RpE3/38GH/9/Bif9/XyD/
+                                       rYk//9HBiv/i0Zj/59Wc/+fVnf/n1p//59eg
+                                       /+jXov/o2KP/6Nil/+jZpv/p2aj/6dqp/+na
+                                       q//p263/6tuu/+rcsP/q3bH/6t2z/+vetP/r
+                                       3rb/69+3/+vguf/s4Lr/7OG8/+zhvf/s4r//
+                                       7eLB/+3jwv/t48T/7eTF/+3lx//u5cn/7ubK
+                                       /+7my//u583/7+fO/+/o0P/v6dL/7+nT//Pt
+                                       2P/79eD/qaSZlzEtLCAZFRcOIx8fDCIeHwUi
+                                       Hh8CIh4fACIeHwAiHh8AIh4fACIeHwAhHR4A
+                                       IBwdACIeHwAiHh8AIh4fACIeHwAiHh8AIh4f
+                                       ACIeHwAiHh8BIh4fBSIeHw4iHh8dIR0eMBwY
+                                       GkCpo4259e3L/+riv//q4b3/6eC7/+nguf/p
+                                       37f/6d62/+jdtP/o3bL/6Nyw/+jbrv/n26z/
+                                       59qq/+fZqP/m2Kb/5tik/+bXov/m1qD/5dae
+                                       /+XVnP/l1Jr/5dOY/+TTlv/k0pT/5NGS/+TQ
+                                       kP/j0I7/5NCN/+zXj//lz4j/qJhq/4N4Wf+M
+                                       gF7/kINh/5KFY/+Uh2T/lIdk/5SHZP+RhGL/
+                                       gG9I/3VXHP+QaiP/yJUy/9eybv/Zt3j/tYct
+                                       /5BrI/+6ii7/zJ9J/7iJLv/JmDr/3L2C/93A
+                                       iP/Yt3X/17Rw/31nY/85MoL/UkuU/1dQlf9Y
+                                       UZr/WFGb/1lSnP9aU53/WVKd/1ZSnv9VVZ//
+                                       VVWf/1ZYoP9WV6L/WFmk/1hZpP9YWaP/WFmk
+                                       /1hZpP9YXqX/WF6m/1dZpf9YWqb/nKDI/+zs
+                                       8//Q0uT/naHK/2Vqrf9ZXqb/Wl+m/7Cz1P/s
+                                       7PP/uLrY/3N4t/9ZX6r/WmCq/1dXqP9aVqf/
+                                       Wlam/1lVp/9aVqf/Wlan/2Jopf/Rek3//FMa
+                                       //xSGf/8URn//FEZ/+BHF/+xOBH/sDcR/686
+                                       FP9fZXn/VFGO/1dTnP9bV6v/W1es/1xYrP9a
+                                       Vqv/Wlas/1tXrf9bV6z/W1et/1VNpP9TSZ//
+                                       VEqg/1NJoP9YSaH/WEmi/1RJo/9za7P/lZDH
+                                       /9rZ7P9KTKT/RUud/zpAoP9cXqj/0Me3/+DC
+                                       iv/hxY//59Ck/9awZP/TqVf/1q1g/8KRMf+L
+                                       aCP/a08b/8uZOP/ky5n/4cSO/6d9Kf+Xcy3/
+                                       wrB8/+HQl//n1Zz/59Wd/+fWn//n16D/6Nei
+                                       /+jYo//o2KX/6Nmm/+nZqP/p2qn/6dqr/+nb
+                                       rf/q267/6tyw/+rdsf/q3bP/6960/+vetv/r
+                                       37f/6+C5/+zguv/s4bz/7OG9/+ziv//t4sH/
+                                       7ePC/+3jxP/t5MX/7eXH/+7lyf/u5sr/7ubL
+                                       /+7nzf/v587/7+jQ/+/p0v/28Nn/8+3Y8IiD
+                                       enAZFRcSHBgaDiIeHwoiHh8FIh4fASIeHwAi
+                                       Hh8AIh4fACIeHwAiHh8AIh4fACEdHgAgHB0A
+                                       Ih4fACIeHwAiHh8AIh4fACIeHwAiHh8AIh4f
+                                       ACIeHwAiHh8CIh4fCCIeHxMiHh8lGxcZNT45
+                                       NV3g2bnt7+bD/+rhvf/p4Lv/6eC5/+nft//p
+                                       3rb/6N20/+jdsv/o3LD/6Nuu/+fbrP/n2qr/
+                                       59mo/+bYpv/m2KT/5tei/+bWoP/l1p7/5dWc
+                                       /+XUmv/l05j/5NOW/+TSlP/k0ZP/5NGR/+PQ
+                                       j//jz43/48+L/+XQiv/gy4b/opNo/4d8Xf+R
+                                       hGL/k4Zj/5OGZP+Uh2T/k4Zk/4+CYP+Fbz7/
+                                       bFAb/5pyJv/ImDn/2LZz/9GqX/+heCj/imYi
+                                       /8eVNf/Po07/roEr/9KrYP/avIH/3b+I/9e0
+                                       cP/YtnP/WEp1/1hTgP9lYJD/Vk+Z/1RQm/9U
+                                       UJv/VFCc/1dQm/9XUJz/V1Cd/1VRnv9VUZ7/
+                                       U1Og/1ZYo/9VW6L/Vlyj/1ZcpP9XXaT/Vluk
+                                       /1dcpP9WW6T/WFqm/1hapf9ZXqb/wcLd/+rq
+                                       8f/p6fD/5OXv/8HD3f/CxN7/3t7q/5WWx/9c
+                                       Yqr/WV+p/1pfqf9aX6n/Vlan/1lVp/9ZVaj/
+                                       WVWm/1lVp/9qcJ//5Go0//xVG//9VBr//FMa
+                                       //xTGv/nSxf/rzgS/684Ev+wOBL/eWpb/1RR
+                                       jf9TUJL/WVWr/1lVrf9ZVa3/WVWs/1lVrv9U
+                                       VKz/VVWu/1lVrv9XU6r/T0eh/5CKw/99dbf/
+                                       ko3D/6+s0//PzeP//Pz8//7+/v/9/f3/+/v7
+                                       /3h0uv9HSaH/NTyZ/42Nw//g3t7/4cWR/+HF
+                                       j//mzqL/2rl3/9OpVv/Wr2L/zJw9/5VuJf9z
+                                       VR3/r4Ir/+XPo//ky5z/zp1A/3RYHf+0oWz/
+                                       382V/+fVm//n1Z3/59ae/+fXoP/o16H/6Nij
+                                       /+jYpf/o2ab/6dmo/+naqf/p2qv/6dut/+rb
+                                       rv/q3LD/6t2x/+rds//r3rT/6962/+vft//r
+                                       4Ln/7OC6/+zhvP/s4b3/7OK//+3iwP/t48L/
+                                       7ePD/+3kxf/t5cb/7uXI/+7myv/u5sv/7ufN
+                                       /+/nzv/v6ND/+vTc/9/ZxdViXlhLFxMWDiAc
+                                       HQ4iHh8IIh4fBCIeHwEiHh8AIh4fACIeHwAi
+                                       Hh8AIh4fACIeHwAiHh8AIR0eACAcHQAiHh8A
+                                       Ih4fACIeHwAiHh8AIh4fACIeHwAiHh8AIh4f
+                                       ACIeHwAiHh8EIh4fCyIeHxkiHh8tFhMVOYN9
+                                       bpb17cn/6uK+/+ngvP/p4Lr/6d+4/+netv/o
+                                       3rT/6N2y/+jdsP/o267/59us/+faqv/n2aj/
+                                       59mm/+bYpP/m16L/5tag/+XWnv/l1Zz/5dSa
+                                       /+XUmP/k05f/5NKV/+TRk//k0ZH/49CP/+PP
+                                       jf/jz4v/486J/+XQif/dyIP/moxj/4l8Xf+R
+                                       hGL/k4Zj/5SHZP+ThmP/jYFf/4htNv9pTRr/
+                                       n3Yo/8udQ//Xtnf/yZxD/5BrJP+RayT/yp1D
+                                       /8ugS/+rgCv/1rV2/9m7gf/bvof/1bJv/82p
+                                       Zf8/MYb/QDyR/1RMl/9VTpv/Vk+c/1VOm/9S
+                                       T5z/UU6b/1JPnP9ST5z/U0+e/1NPnv9UUKD/
+                                       VVeh/1Vbo/9WW6T/Vluj/1Zbo/9WW6T/Vlyl
+                                       /1thpv9gZqn/Zmuu/2htrf9oba//xMXf/+rq
+                                       8f/q6vH/6Onx/9zd6v+Dh73/SE2f/0RKnf9A
+                                       Qpv/PkCc/z1Em/87PZv/NjaY/zo1mf86NZn/
+                                       ZWuK//BeJv/7Vhv/+1Yb//xVG//5Uxr/7VAZ
+                                       /6U2Ef+pNxH/qTcR/5ZRMP9SW47/VlaU/2Fe
+                                       q/9nY7P/YWGz/2Bgs/9ZWa7/VVWt/1RUrv9U
+                                       VK//VFSt/1NKpP9NRKH/jYjC//z8/P/8/Pz/
+                                       +vr6//39/f/7+/v/+/v7/+/v9P/QzuT/mpXK
+                                       /4+Pxv/Qz9//5+fy/+fn7P/hyp3/4MSN/+PL
+                                       nP/fxJD/0qhW/9avYv/Qo0r/mXIm/3NVHf+a
+                                       cib/5tGm/+XOof/Uq1r/ZUsX/7CZYP/dzJT/
+                                       5tSa/+fVnf/n1p7/59eg/+jXof/o2KP/6Nil
+                                       /+jZpv/p2aj/6dqp/+naq//p263/6tuu/+rc
+                                       sP/q3bH/6t2z/+vetP/r3rb/69+3/+vguf/s
+                                       4Lr/7OG8/+zhvf/s4r//7eLA/+3jwv/t48P/
+                                       7eTF/+3lxv/u5cj/7ubK/+7my//u583/8OjP
+                                       //v02//BvKqyPTk3LRURFA0iHh8NIh4fBiIe
+                                       HwMiHh8BIh4fACIeHwAiHh8AIh4fACIeHwAi
+                                       Hh8AIh4fACIeHwAhHR4AIBwdACIeHwAiHh8A
+                                       Ih4fACIeHwAiHh8AIh4fACIeHwAiHh8AIh4f
+                                       ACIeHwEiHh8GIh4fECIeHyAeGhwzKCQkS8jA
+                                       pNby6sX/6eC8/+nguv/p37j/6d62/+jetP/o
+                                       3bL/6N2w/+jbrv/n26z/59qq/+fZqP/n2ab/
+                                       5tik/+bXov/m1qD/5dae/+XVnP/l1Jr/5dSY
+                                       /+TTl//k0pX/5NKT/+TRkf/j0I//48+N/+PP
+                                       i//jzon/4s2H/+bQh//Wwn7/lIdh/4p+Xv+R
+                                       hGL/k4Zj/5KFY/+IfFz/iWwv/2xQG/+pfSn/
+                                       yp9K/9Sycf+/ji//g2Eg/5tzJv/Ln0z/yJpA
+                                       /7aHLf/Zu4H/2byF/9q9hP/Vs3H/t5Vh/z0y
+                                       iP9EQZP/TkuT/1BNmv9RTZz/UU2c/1JOnf9R
+                                       TZz/UU2e/1FNnv9TT5//Uk6f/1JPnv9TVaH/
+                                       U1mi/1Rao/9dY6j/aW6u/3B1s/92e7X/dXm1
+                                       /2Zqrf9VWqX/Rkyd/zxDmf8yOJT/r7PV/+Pk
+                                       7f/j5O3/gYW9/ygvkf8pMZL/Jy6P/yMmkP8h
+                                       IY7/JCeR/ycukP8lJ5D/ISGQ/3V1eP/1WyD/
+                                       +lcb//pXG//5Vhv/+VUa//NTGv+VMhD/lzIQ
+                                       /5YxD/+ROBb/JzNk/x4ecv8uKYj/MzOd/z4+
+                                       of9MTKn/XFyw/2pquP9vb7v/bW24/2dnt/9d
+                                       X7P/S0ei/0tCn/9tZrL/+vr6//Dv9P/Oy+P/
+                                       op3O/8K/3v9hWa//TEKj/0dCo/+npdL/pqTR
+                                       /5mXw//IxuL/3Nzo/9zLqv/ewov/4smZ/+XO
+                                       of/SqVn/1a9m/9CmU/+ieSn/eloe/4FgIP/h
+                                       xpH/59Os/9m3dP9fRhj/q45P/9vJk//l05r/
+                                       59Wd/+fWnv/n16D/6Neh/+jYo//o2KX/6Nmm
+                                       /+nZqP/p2qn/6dqr/+nbrf/q267/6tyw/+rd
+                                       sf/q3bP/6960/+vetv/r37f/6+C5/+zguv/s
+                                       4bz/7OG9/+ziv//t4sD/7ePC/+3jw//t5MX/
+                                       7eXG/+7lyP/u5sr/7ubL//Pr0P/68tj7l5GE
+                                       iiMfIBkaFhgOIx8fCyIeHwUiHh8CIh4fACIe
+                                       HwAiHh8AIh4fACIeHwAiHh8AIh4fACIeHwAi
+                                       Hh8AIh4fACEdHgAgHB0AIh4fACIeHwAiHh8A
+                                       Ih4fACIeHwAiHh8AIh4fACIeHwAiHh8AIh4f
+                                       ACIeHwMiHh8KIh4fFiIeHygXExY2XlhPde7m
+                                       wvvr4r3/6eC6/+nfuP/p3rb/6N60/+jdsv/o
+                                       3LH/6Nyv/+fbrf/n2qv/59mp/+fZp//m2KX/
+                                       5tej/+bXof/m1p//5dWd/+XUm//l1Jn/5NOX
+                                       /+TSlf/k0pP/5NGR/+PQj//jz43/48+M/+PO
+                                       iv/izYj/4s2G/+fRhv/RvHr/j4Jf/4x/X/+S
+                                       hWP/kYRh/4F0Vf+AYyj/b1Mc/7GDK//Kn03/
+                                       0q9r/6p/Kv97Wx//qX4q/8yiUv/FlTj/xJIx
+                                       /9i8hf/YvIX/1rh9/9S0c/+YfVz/VE+A/15c
+                                       h/9kYob/bmuf/05KnP9PS53/T0ye/09Lnf9P
+                                       S53/T0ud/1BMnP9QTJz/VVGh/19hqv9ucq//
+                                       dXqz/3V6tP9gZav/S1Gd/ztBmP8sM5H/KTCN