diff options
author | bors-servo <servo-ops@mozilla.com> | 2020-12-29 06:01:49 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-12-29 06:01:49 -0500 |
commit | a10a95fba69d6d755d200b67b874bf117046dd51 (patch) | |
tree | 4860ac1ec6d3bf65f234cdbac8c17b3ad35a6eda | |
parent | 388bf93e07f40e14ed00917a08846af3fdfe8d6c (diff) | |
parent | d36d2d0fd532b1ee09f70b72ed8938ce54ef2a97 (diff) | |
download | servo-a10a95fba69d6d755d200b67b874bf117046dd51.tar.gz servo-a10a95fba69d6d755d200b67b874bf117046dd51.zip |
Auto merge of #28003 - servo-wpt-sync:wpt_update_29-12-2020, r=servo-wpt-sync
Sync WPT with upstream (29-12-2020)
Automated downstream sync of changes from upstream as of 29-12-2020.
[no-wpt-sync]
r? @servo-wpt-sync
140 files changed, 639 insertions, 623 deletions
diff --git a/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-002.html.ini b/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-002.html.ini deleted file mode 100644 index f64b45fea6b..00000000000 --- a/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-002.html.ini +++ /dev/null @@ -1,4 +0,0 @@ -[hit-test-floats-002.html] - [Hit test float] - expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-003.html.ini b/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-003.html.ini deleted file mode 100644 index f29da48a2a0..00000000000 --- a/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-003.html.ini +++ /dev/null @@ -1,4 +0,0 @@ -[hit-test-floats-003.html] - [Miss float below something else] - expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/cssom-view/elementFromPoint-001.html.ini b/tests/wpt/metadata-layout-2020/css/cssom-view/elementFromPoint-001.html.ini deleted file mode 100644 index e38782d8c85..00000000000 --- a/tests/wpt/metadata-layout-2020/css/cssom-view/elementFromPoint-001.html.ini +++ /dev/null @@ -1,4 +0,0 @@ -[elementFromPoint-001.html] - [CSSOM View - 5 - extensions to the Document interface] - expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/cssom-view/elementsFromPoint-invalid-cases.html.ini b/tests/wpt/metadata-layout-2020/css/cssom-view/elementsFromPoint-invalid-cases.html.ini new file mode 100644 index 00000000000..e181af5397f --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/cssom-view/elementsFromPoint-invalid-cases.html.ini @@ -0,0 +1,4 @@ +[elementsFromPoint-invalid-cases.html] + [The root element is the last element returned for otherwise empty queries within the viewport] + expected: FAIL + diff --git a/tests/wpt/metadata-layout-2020/fetch/content-type/response.window.js.ini b/tests/wpt/metadata-layout-2020/fetch/content-type/response.window.js.ini index b0fb428a503..d5f8da25e39 100644 --- a/tests/wpt/metadata-layout-2020/fetch/content-type/response.window.js.ini +++ b/tests/wpt/metadata-layout-2020/fetch/content-type/response.window.js.ini @@ -318,12 +318,21 @@ [<iframe>: combined response Content-Type: text/html;charset=gbk text/plain text/html] expected: FAIL - [<iframe>: separate response Content-Type: text/html;" text/plain] + [<iframe>: combined response Content-Type: text/html */*;charset=gbk] expected: FAIL - [<iframe>: combined response Content-Type: text/html */*;charset=gbk] + [<iframe>: combined response Content-Type: text/html;" text/plain] + expected: FAIL + + [<iframe>: combined response Content-Type: text/html */*] + expected: FAIL + + [<iframe>: separate response Content-Type: text/html */*] + expected: FAIL + + [<iframe>: separate response Content-Type: text/plain */*] expected: FAIL - [<iframe>: separate response Content-Type: text/plain */*;charset=gbk] + [<iframe>: combined response Content-Type: text/html;" \\" text/plain] expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/fetch/content-type/script.window.js.ini b/tests/wpt/metadata-layout-2020/fetch/content-type/script.window.js.ini index 2d5faa72ac7..e67f0406fc3 100644 --- a/tests/wpt/metadata-layout-2020/fetch/content-type/script.window.js.ini +++ b/tests/wpt/metadata-layout-2020/fetch/content-type/script.window.js.ini @@ -53,6 +53,3 @@ [combined text/javascript ] expected: FAIL - [separate text/javascript;charset=windows-1252 error text/javascript] - expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/html/browsers/origin/cross-origin-objects/cross-origin-objects-on-new-window.html.ini b/tests/wpt/metadata-layout-2020/html/browsers/origin/cross-origin-objects/cross-origin-objects-on-new-window.html.ini deleted file mode 100644 index 735a9a75a2a..00000000000 --- a/tests/wpt/metadata-layout-2020/html/browsers/origin/cross-origin-objects/cross-origin-objects-on-new-window.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[cross-origin-objects-on-new-window.html] - expected: TIMEOUT diff --git a/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-1.html.ini b/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-1.html.ini index 88f4ddd0e9a..42ebcc9d57e 100644 --- a/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-1.html.ini +++ b/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-1.html.ini @@ -1,5 +1,5 @@ [iframe_sandbox_popups_escaping-1.html] - expected: CRASH + expected: TIMEOUT [Check that popups from a sandboxed iframe escape the sandbox if\n allow-popups-to-escape-sandbox is used] expected: TIMEOUT diff --git a/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-2.html.ini b/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-2.html.ini index e63fe7c263e..c6f45be1eb2 100644 --- a/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-2.html.ini +++ b/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-2.html.ini @@ -1,5 +1,5 @@ [iframe_sandbox_popups_escaping-2.html] - expected: CRASH + expected: TIMEOUT [Check that popups from a sandboxed iframe escape the sandbox if\n allow-popups-to-escape-sandbox is used] expected: TIMEOUT diff --git a/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-3.html.ini b/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-3.html.ini index 338d283eb0e..295031c1812 100644 --- a/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-3.html.ini +++ b/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-3.html.ini @@ -1,4 +1,5 @@ [iframe_sandbox_popups_escaping-3.html] + expected: TIMEOUT [Check that popups from a sandboxed iframe escape the sandbox if\n allow-popups-to-escape-sandbox is used] - expected: FAIL + expected: TIMEOUT diff --git a/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-1.html.ini b/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-1.html.ini index d913fcbb129..3080be9afc0 100644 --- a/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-1.html.ini +++ b/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-1.html.ini @@ -1,5 +1,5 @@ [iframe_sandbox_popups_nonescaping-1.html] - expected: TIMEOUT + expected: CRASH [Check that popups from a sandboxed iframe do not escape the sandbox] expected: NOTRUN diff --git a/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-2.html.ini b/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-2.html.ini index 0407f0cc2b7..9eb581fcf1f 100644 --- a/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-2.html.ini +++ b/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-2.html.ini @@ -1,5 +1,5 @@ [iframe_sandbox_popups_nonescaping-2.html] - expected: TIMEOUT + expected: CRASH [Check that popups from a sandboxed iframe do not escape the sandbox] expected: NOTRUN diff --git a/tests/wpt/metadata-layout-2020/html/semantics/forms/form-submission-0/form-double-submit-3.html.ini b/tests/wpt/metadata-layout-2020/html/semantics/forms/form-submission-0/form-double-submit-3.html.ini deleted file mode 100644 index 9f416703229..00000000000 --- a/tests/wpt/metadata-layout-2020/html/semantics/forms/form-submission-0/form-double-submit-3.html.ini +++ /dev/null @@ -1,4 +0,0 @@ -[form-double-submit-3.html] - [<button> should have the same double-submit protection as <input type=submit>] - expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/html/semantics/forms/form-submission-0/form-double-submit.html.ini b/tests/wpt/metadata-layout-2020/html/semantics/forms/form-submission-0/form-double-submit.html.ini new file mode 100644 index 00000000000..b193c33c2b6 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/html/semantics/forms/form-submission-0/form-double-submit.html.ini @@ -0,0 +1,4 @@ +[form-double-submit.html] + [default submit action should supersede onclick submit()] + expected: FAIL + diff --git a/tests/wpt/metadata-layout-2020/html/semantics/forms/textfieldselection/select-event.html.ini b/tests/wpt/metadata-layout-2020/html/semantics/forms/textfieldselection/select-event.html.ini index bf11bf44c1b..e7c1d4ff9c4 100644 --- a/tests/wpt/metadata-layout-2020/html/semantics/forms/textfieldselection/select-event.html.ini +++ b/tests/wpt/metadata-layout-2020/html/semantics/forms/textfieldselection/select-event.html.ini @@ -35,36 +35,36 @@ [input type search: setRangeText() a second time (must not fire select)] expected: FAIL - [input type password: selectionStart out of range a second time (must not fire select)] + [textarea: selectionDirection a second time (must not fire select)] expected: FAIL - [input type password: select() a second time (must not fire select)] + [textarea: setSelectionRange() a second time (must not fire select)] expected: FAIL - [textarea: selectionDirection a second time (must not fire select)] + [textarea: selectionEnd a second time (must not fire select)] expected: FAIL - [textarea: setSelectionRange() a second time (must not fire select)] + [input type password: selectionStart a second time (must not fire select)] expected: FAIL - [input type password: setSelectionRange() a second time (must not fire select)] + [input type url: setSelectionRange() a second time (must not fire select)] expected: FAIL - [input type url: selectionStart out of range a second time (must not fire select)] + [input type url: selectionEnd out of range a second time (must not fire select)] expected: FAIL - [input type search: selectionEnd a second time (must not fire select)] + [input type url: selectionEnd a second time (must not fire select)] expected: FAIL - [input type password: setRangeText() a second time (must not fire select)] + [input type password: selectionEnd out of range a second time (must not fire select)] expected: FAIL - [input type password: selectionDirection a second time (must not fire select)] + [input type search: setSelectionRange() a second time (must not fire select)] expected: FAIL - [input type tel: selectionStart a second time (must not fire select)] + [input type url: select() a second time (must not fire select)] expected: FAIL - [input type url: setSelectionRange out of range a second time (must not fire select)] + [input type search: selectionDirection a second time (must not fire select)] expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/html/semantics/scripting-1/the-script-element/css-module/import-css-module-basic.html.ini b/tests/wpt/metadata-layout-2020/html/semantics/scripting-1/the-script-element/css-module/import-css-module-basic.html.ini new file mode 100644 index 00000000000..a71cc2fe196 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/html/semantics/scripting-1/the-script-element/css-module/import-css-module-basic.html.ini @@ -0,0 +1,7 @@ +[import-css-module-basic.html] + [A CSS Module should load] + expected: FAIL + + [A large CSS Module should load] + expected: FAIL + diff --git a/tests/wpt/metadata-layout-2020/html/webappapis/dynamic-markup-insertion/document-write/module-static-import-delayed.html.ini b/tests/wpt/metadata-layout-2020/html/webappapis/dynamic-markup-insertion/document-write/module-static-import-delayed.html.ini deleted file mode 100644 index fca4d908c89..00000000000 --- a/tests/wpt/metadata-layout-2020/html/webappapis/dynamic-markup-insertion/document-write/module-static-import-delayed.html.ini +++ /dev/null @@ -1,4 +0,0 @@ -[module-static-import-delayed.html] - [document.write in an imported module] - expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/ignore-opens-during-unload.window.js.ini b/tests/wpt/metadata-layout-2020/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/ignore-opens-during-unload.window.js.ini index 57744023f73..58c9d7f8c0c 100644 --- a/tests/wpt/metadata-layout-2020/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/ignore-opens-during-unload.window.js.ini +++ b/tests/wpt/metadata-layout-2020/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/ignore-opens-during-unload.window.js.ini @@ -1,5 +1,5 @@ [ignore-opens-during-unload.window.html] - expected: CRASH + expected: TIMEOUT [document.open should bail out when ignore-opens-during-unload is greater than 0 during visibilitychange event (open(parent) while unloading parent and child)] expected: TIMEOUT diff --git a/tests/wpt/metadata-layout-2020/webaudio/the-audio-api/the-analysernode-interface/realtimeanalyser-fft-scaling.html.ini b/tests/wpt/metadata-layout-2020/webaudio/the-audio-api/the-analysernode-interface/realtimeanalyser-fft-scaling.html.ini index 66bd350083b..a56bad443a2 100644 --- a/tests/wpt/metadata-layout-2020/webaudio/the-audio-api/the-analysernode-interface/realtimeanalyser-fft-scaling.html.ini +++ b/tests/wpt/metadata-layout-2020/webaudio/the-audio-api/the-analysernode-interface/realtimeanalyser-fft-scaling.html.ini @@ -1,4 +1,5 @@ [realtimeanalyser-fft-scaling.html] + expected: TIMEOUT [X 2048-point FFT peak position is not equal to 64. Got 0.] expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/webaudio/the-audio-api/the-audiobuffersourcenode-interface/sub-sample-buffer-stitching.html.ini b/tests/wpt/metadata-layout-2020/webaudio/the-audio-api/the-audiobuffersourcenode-interface/sub-sample-buffer-stitching.html.ini index bdc016811c2..d369ba73240 100644 --- a/tests/wpt/metadata-layout-2020/webaudio/the-audio-api/the-audiobuffersourcenode-interface/sub-sample-buffer-stitching.html.ini +++ b/tests/wpt/metadata-layout-2020/webaudio/the-audio-api/the-audiobuffersourcenode-interface/sub-sample-buffer-stitching.html.ini @@ -455,3 +455,9 @@ [X Stitched sine-wave buffers at sample rate 43800 does not equal [0,0.06264832615852356,0.12505052983760834,0.18696144223213196,0.24813786149024963,0.308339387178421,0.36732959747314453,0.4248766601085663,0.480754554271698,0.5347436666488647,0.5866320133209229,0.6362156271934509,0.6832997798919678,0.7276994585990906,0.7692402601242065,0.8077589869499207...\] with an element-wise tolerance of {"absoluteThreshold":0.0038986,"relativeThreshold":0}.\n\tIndex\tActual\t\t\tExpected\t\tAbsError\t\tRelError\t\tTest threshold\n\t[28696\]\t2.9180014260507006e-20\t9.3139332532882690e-1\t9.3139332532882690e-1\t1.0000000000000000e+0\t3.8985999999999999e-3\n\t[28697\]\t7.0477002859115601e-1\t9.0675884485244751e-1\t2.0198881626129150e-1\t2.2275913536212616e-1\t3.8985999999999999e-3\n\tMax AbsError of 9.3139332532882690e-1 at index of 28696.\n\tMax RelError of 1.0000000000000000e+0 at index of 28696.\n] expected: FAIL + [X SNR (43.84283293563282 dB) is not greater than or equal to 65.737. Got 43.84283293563282.] + expected: FAIL + + [X Stitched sine-wave buffers at sample rate 43800 does not equal [0,0.06264832615852356,0.12505052983760834,0.18696144223213196,0.24813786149024963,0.308339387178421,0.36732959747314453,0.4248766601085663,0.480754554271698,0.5347436666488647,0.5866320133209229,0.6362156271934509,0.6832997798919678,0.7276994585990906,0.7692402601242065,0.8077589869499207...\] with an element-wise tolerance of {"absoluteThreshold":0.0038986,"relativeThreshold":0}.\n\tIndex\tActual\t\t\tExpected\t\tAbsError\t\tRelError\t\tTest threshold\n\t[28696\]\t2.1212256979197264e-3\t9.3139332532882690e-1\t9.2927209963090718e-1\t9.9772252426527663e-1\t3.8985999999999999e-3\n\t[28697\]\t7.0477002859115601e-1\t9.0675884485244751e-1\t2.0198881626129150e-1\t2.2275913536212616e-1\t3.8985999999999999e-3\n\tMax AbsError of 9.2927209963090718e-1 at index of 28696.\n\tMax RelError of 9.9772252426527663e-1 at index of 28696.\n] + expected: FAIL + diff --git a/tests/wpt/metadata-layout-2020/webmessaging/with-ports/018.html.ini b/tests/wpt/metadata-layout-2020/webmessaging/with-ports/018.html.ini deleted file mode 100644 index 663a1f8fa30..00000000000 --- a/tests/wpt/metadata-layout-2020/webmessaging/with-ports/018.html.ini +++ /dev/null @@ -1,5 +0,0 @@ -[018.html] - expected: TIMEOUT - [origin of the script that invoked the method, javascript:] - expected: TIMEOUT - diff --git a/tests/wpt/metadata-layout-2020/workers/WorkerGlobalScope-close.html.ini b/tests/wpt/metadata-layout-2020/workers/WorkerGlobalScope-close.html.ini deleted file mode 100644 index fe8654e447c..00000000000 --- a/tests/wpt/metadata-layout-2020/workers/WorkerGlobalScope-close.html.ini +++ /dev/null @@ -1,4 +0,0 @@ -[WorkerGlobalScope-close.html] - [Test sending a message after closing.] - expected: FAIL - diff --git a/tests/wpt/metadata/MANIFEST.json b/tests/wpt/metadata/MANIFEST.json index 745fc266a1d..d861a720ad9 100644 --- a/tests/wpt/metadata/MANIFEST.json +++ b/tests/wpt/metadata/MANIFEST.json @@ -281963,6 +281963,38 @@ ], "attributes": { "resources": { + "path": { + "one.html": [ + "3c5af1cb205daaef2561acf00fc4f01f87a5e193", + [] + ], + "three.html": [ + "3c5af1cb205daaef2561acf00fc4f01f87a5e193", + [] + ], + "two.html": [ + "3c5af1cb205daaef2561acf00fc4f01f87a5e193", + [] + ] + }, + "path-redirect-shared.js": [ + "83a614117cd54c23540a7405e15dcbedf96cfa00", + [] + ], + "path.html": [ + "3c5af1cb205daaef2561acf00fc4f01f87a5e193", + [] + ], + "pathfakeout": { + "one.html": [ + "3c5af1cb205daaef2561acf00fc4f01f87a5e193", + [] + ] + }, + "pathfakeout.html": [ + "3c5af1cb205daaef2561acf00fc4f01f87a5e193", + [] + ], "secure-non-secure-child.html": [ "65996e0c4d18c9d7a95ba7b20e76c63f4a372303", [] @@ -282238,14 +282270,6 @@ "fea1e1a643b97d4a101d704bd1497376a4997b3c", [] ], - "disabled-path0029-expected": [ - "b14d4f69b58c3d9cc7ed1f363d42d625e7bdcf8c", - [] - ], - "disabled-path0029-test": [ - "d7219d590c6f13b8ef8aef2e5951cadab16ff17e", - [] - ], "domain0001-expected": [ "b14d4f69b58c3d9cc7ed1f363d42d625e7bdcf8c", [] @@ -283006,262 +283030,6 @@ "ba6e85c44cdea2aa269ef170fe2d3a4c3a14e1ce", [] ], - "path0001-expected": [ - "785d0a2f5f78a5bbf63c3b00c530cc60262598a5", - [] - ], - "path0001-test": [ - "ed81cb955f7950fd77566362f7f8af6814b66653", - [] - ], - "path0002-expected": [ - "2314ba0d4959934a91914ba987571706a5c9aacc", - [] - ], - "path0002-test": [ - "224932851853336d065676fc736076da634d9fd3", - [] - ], - "path0003-expected": [ - "2314ba0d4959934a91914ba987571706a5c9aacc", - [] - ], - "path0003-test": [ - "e4b5a4b256507b53e1c31a9a20f7e9f345dabee2", - [] - ], - "path0004-expected": [ - "785d0a2f5f78a5bbf63c3b00c530cc60262598a5", - [] - ], - "path0004-test": [ - "a80ea6ec01587765bfdb02381887052568091c65", - [] - ], - "path0005-expected": [ - "e69de29bb2d1d6434b8b29ae775ad8c2e48c5391", - [] - ], - "path0005-test": [ - "6447c9164f9cfdb0a6fc8f65169a74221a779e94", - [] - ], - "path0006-expected": [ - "b14d4f69b58c3d9cc7ed1f363d42d625e7bdcf8c", - [] - ], - "path0006-test": [ - "07ecf27b82b009bdd73e37f68f48732cb106655b", - [] - ], - "path0007-expected": [ - "b14d4f69b58c3d9cc7ed1f363d42d625e7bdcf8c", - [] - ], - "path0007-test": [ - "66a54de7420a6e0dadb5bd8400b25b3455eb5be1", - [] - ], - "path0008-expected": [ - "e69de29bb2d1d6434b8b29ae775ad8c2e48c5391", - [] - ], - "path0008-test": [ - "b10012d30960832f462b18b01221ffae2a1c5c69", - [] - ], - "path0009-expected": [ - "e69de29bb2d1d6434b8b29ae775ad8c2e48c5391", - [] - ], - "path0009-test": [ - "874f21bad97d24903535b08c524fb2184982e6ea", - [] - ], - "path0010-expected": [ - "b14d4f69b58c3d9cc7ed1f363d42d625e7bdcf8c", - [] - ], - "path0010-test": [ - "0ea62fd5ec5384c3d97a4908eff138c0a5befe99", - [] - ], - "path0011-expected": [ - "e69de29bb2d1d6434b8b29ae775ad8c2e48c5391", - [] - ], - "path0011-test": [ - "35ea0620495bb1f12f2df12c7eda5e545bbac41c", - [] - ], - "path0012-expected": [ - "e69de29bb2d1d6434b8b29ae775ad8c2e48c5391", - [] - ], - "path0012-test": [ - "4c0577897bd90ba6b2c9c0bf37fa83e6265ae5c4", - [] - ], - "path0013-expected": [ - "e69de29bb2d1d6434b8b29ae775ad8c2e48c5391", - [] - ], - "path0013-test": [ - "d17b99b6b4365aae60f4aba2904e371a08a57e70", - [] - ], - "path0014-expected": [ - "e69de29bb2d1d6434b8b29ae775ad8c2e48c5391", - [] - ], - "path0014-test": [ - "a953e707b3b22b9b708b89f8e9ec36a2f807544c", - [] - ], - "path0015-expected": [ - "b14d4f69b58c3d9cc7ed1f363d42d625e7bdcf8c", - [] - ], - "path0015-test": [ - "253a9bb2fcdd16aabbe3e4fdedf49ae2e4371f7d", - [] - ], - "path0016-expected": [ - "b14d4f69b58c3d9cc7ed1f363d42d625e7bdcf8c", - [] - ], - "path0016-test": [ - "433faeb9120496a97b7b6e703b2c92280824a79d", - [] - ], - "path0017-expected": [ - "b14d4f69b58c3d9cc7ed1f363d42d625e7bdcf8c", - [] - ], - "path0017-test": [ - "a602d7ca6fe9199ce50b6fc380a76bda5d348ca9", - [] - ], - "path0018-expected": [ - "e69de29bb2d1d6434b8b29ae775ad8c2e48c5391", - [] - ], - "path0018-test": [ - "37040dac5d32aef12ad7bd4b1facda7789f70b4e", - [] - ], - "path0019-expected": [ - "b14d4f69b58c3d9cc7ed1f363d42d625e7bdcf8c", - [] - ], - "path0019-test": [ - "6d498600a2f4ea0268cb4af4a238b315940c0768", - [] - ], - "path0020-expected": [ - "b14d4f69b58c3d9cc7ed1f363d42d625e7bdcf8c", - [] - ], - "path0020-test": [ - "603eded7ebd2198e5664d7c18e24540148c70526", - [] - ], - "path0021-expected": [ - "b14d4f69b58c3d9cc7ed1f363d42d625e7bdcf8c", - [] - ], - "path0021-test": [ - "4577c510a42d8d118ca53d9b67e4176dae960e44", - [] - ], - "path0022-expected": [ - "b14d4f69b58c3d9cc7ed1f363d42d625e7bdcf8c", - [] - ], - "path0022-test": [ - "4aade9e0145d5e71acea9ff937f65efbcfa4f970", - [] - ], - "path0023-expected": [ - "e69de29bb2d1d6434b8b29ae775ad8c2e48c5391", - [] - ], - "path0023-test": [ - "f14d683df977e47efa74bd6941e9d9d7452e6bea", - [] - ], - "path0024-expected": [ - "e69de29bb2d1d6434b8b29ae775ad8c2e48c5391", - [] - ], - "path0024-test": [ - "18a71c875b4adf92c91ad5bb538d6135fd1667a7", - [] - ], - "path0025-expected": [ - "e69de29bb2d1d6434b8b29ae775ad8c2e48c5391", - [] - ], - "path0025-test": [ - "b6c497b97158481e5da1a5b08f4cd2aa393b7e16", - [] - ], - "path0026-expected": [ - "b14d4f69b58c3d9cc7ed1f363d42d625e7bdcf8c", - [] - ], - "path0026-test": [ - "ffc3b7a54fa34bdc163267fa86b3ebd3ca3cfc45", - [] - ], - "path0027-expected": [ - "b14d4f69b58c3d9cc7ed1f363d42d625e7bdcf8c", - [] - ], - "path0027-test": [ - "bd021f33e2c0819a8afd2c9eb9279e8e067ecf6e", - [] - ], - "path0028-expected": [ - "e69de29bb2d1d6434b8b29ae775ad8c2e48c5391", - [] - ], - "path0028-test": [ - "3bcd6a5c657b3c39225d0d566717ac5aeddfa153", - [] - ], - "path0029-expected": [ - "1022f64a2906dd854109026bbc6c3d286a5a5283", - [] - ], - "path0029-test": [ - "17bd42f4212539fea41d5d402a23115bb26b1127", - [] - ], - "path0030-expected": [ - "b14d4f69b58c3d9cc7ed1f363d42d625e7bdcf8c", - [] - ], - "path0030-test": [ - "e17a2d490b7871eb1d46d69d4dcafa19248c8100", - [] - ], - "path0031-expected": [ - "e69de29bb2d1d6434b8b29ae775ad8c2e48c5391", - [] - ], - "path0031-test": [ - "3b24090b33841dd5b0ef6a3ce9770a1bdbe3dc86", - [] - ], - "path0032-expected": [ - "e7403c4aadce372524b3ba71e480db4b6d28aa61", - [] - ], - "path0032-test": [ - "db6ceb2ea0678332b9d9a9854463680f89f86e6b", - [] - ], "value0001-expected": [ "b14d4f69b58c3d9cc7ed1f363d42d625e7bdcf8c", [] @@ -283323,11 +283091,11 @@ [] ], "cookie-test.js": [ - "c0a03d78355ad219ae6303507c7398d63f3dee87", + "56e958263d9771efcdc19048a496753f3c87384d", [] ], "cookie.py": [ - "63eedf0b01ef6b23bef5668fbb8fbf6cfab060bb", + "16efcc04aeb919e70c8e9bbf03253a8101bef2c8", [] ], "drop.py": [ @@ -349064,6 +348832,10 @@ "796446b525ca03bf287e2abbdbbdae593b658bac", [] ], + "basic-large.css": [ + "f5b0db5d6ed261f1a0099cc8d9e49277d8b6b900", + [] + ], "basic.css": [ "3ea2ef45339c41dc5a39b1f8494fe2d2d4eae0d1", [] @@ -349076,6 +348848,10 @@ "3a555c392716c0ee915f1aa65cd5a1dae42f0c52", [] ], + "css-module-basic-large-iframe.html": [ + "cc5b660e4cbd0bcfbf20923f8c979cc40672891a", + [] + ], "malformed-iframe.html": [ "471edd680cf656661bcc713656aaa23e49386ba7", [] @@ -402186,8 +401962,17 @@ } ] ], + "path-redirect.html": [ + "8c4d587cd46b6ed15140af2638b1ad0a130309bd", + [ + null, + { + "timeout": "long" + } + ] + ], "path.html": [ - "c201aa170b83049c116e2e4a1e259d8191124302", + "2d5cfe74f1748a0be1e715316670aa028e219c0c", [ null, { @@ -402304,15 +402089,6 @@ {} ] ], - "path-tests.html": [ - "b76360e249c4b9977d4479f8bfd640acb9d638d5", - [ - null, - { - "timeout": "long" - } - ] - ], "value-tests.html": [ "0d8daae165cbd2c33a4051048047ea459ad97b3c", [ @@ -429140,7 +428916,7 @@ ] ], "focus-visible-001.html": [ - "2afcea22d1d332a71191ec8b22b194f04577709e", + "78d79e0b4757c82b5ac639ef2d03aaf76ce423af", [ null, { @@ -429149,7 +428925,7 @@ ] ], "focus-visible-002.html": [ - "19c937a7abbc3ccba91ace6f998de9c5694cb602", + "703c9c0946c85797c2351ceb2aa88214793b0766", [ null, { @@ -429159,7 +428935,7 @@ ] ], "focus-visible-003.html": [ - "4620c1e411492069f085efc08a3647a5eaae6fa6", + "4d3df3d7b794eedb84d22dccf8309bbe1e4972dd", [ null, { @@ -429168,7 +428944,7 @@ ] ], "focus-visible-004.html": [ - "1c3fb3fcedd03b46da79af2aa53fc988d63ff7ca", + "f4a33111c09b120679a459447d0f4333d1ffec3a", [ null, { @@ -429177,7 +428953,7 @@ ] ], "focus-visible-005.html": [ - "b5d58435db1c6d37881bbcd4c856e8abab03aada", + "7983727f80e7e7a9b192e7b078c25c5b8740681d", [ null, { @@ -429186,7 +428962,7 @@ ] ], "focus-visible-006.html": [ - "12643e6cd442eb1814411037e5700b3883e15761", + "0383eb841f4872cd581e457c1af3661a45d6e03d", [ null, { @@ -429195,7 +428971,7 @@ ] ], "focus-visible-007.html": [ - "95a27006e62076909f63f9946e1f2d7f8331732a", + "9a88a6bb9f0b05825d6735f180f2e7a22063a658", [ null, { @@ -429204,7 +428980,7 @@ ] ], "focus-visible-008.html": [ - "75f676f53f3319cb672195343c77cc7ebd94eee4", + "171530f4119aa69f6d8f32b7fbde920845bb0fc9", [ null, { @@ -429213,21 +428989,21 @@ ] ], "focus-visible-009.html": [ - "4dae6407adac3971db6064822643332cf7f1722d", + "102c47e961207a4263f86ac1540bcbbfe272a9d3", [ null, {} ] ], "focus-visible-010.html": [ - "00cd7f0b665d90a82b9939b5451b1e10cf89e5ee", + "9cfc3b8146ca633b8605268cf8d1fa08b91804fa", [ null, {} ] ], "focus-visible-011.html": [ - "0c05c21800d10042c00e67aad90fd867b515b4b2", + "73c4607fd10caac6dbd76495026cb13a6fd42ec3", [ null, { @@ -429236,7 +429012,7 @@ ] ], "focus-visible-012.html": [ - "a81eef3fb11f446e2d5344d9e50509d1707d1fc2", + "2ccb2e675616d4a38f36390db083d5d6c8b60253", [ null, { @@ -490692,7 +490468,7 @@ ] ], "import-css-module-basic.html": [ - "1cb290de3feb584bf9dc63e8090f6b31dd10eeb9", + "4ca2bb70899b1070030359ee1738075fed993567", [ null, {} @@ -549937,7 +549713,7 @@ ] ], "NDEFReader_scan.https.html": [ - "ba101d67e5debc657b140bd23b7d81f9f5dc525d", + "281f3db5b7bd56a48ac6eb2cccea814912e07006", [ null, {} diff --git a/tests/wpt/metadata/cookies/http-state/path-tests.html.ini b/tests/wpt/metadata/cookies/http-state/path-tests.html.ini deleted file mode 100644 index 404ef0201e4..00000000000 --- a/tests/wpt/metadata/cookies/http-state/path-tests.html.ini +++ /dev/null @@ -1,40 +0,0 @@ -[path-tests.html] - [path0015 - path0015] - expected: FAIL - - [path0002 - path0002] - expected: FAIL - - [path0003 - path0003] - expected: FAIL - - [path0004 - path0004] - expected: FAIL - - [path0001 - path0001] - expected: FAIL - - [path0016 - path0016] - expected: FAIL - - [path0026 - path0026] - expected: FAIL - - [path0017 - path0017] - expected: FAIL - - [path0032 - path0032] - expected: FAIL - - [path0029 - path0029] - expected: FAIL - - [disabled-path0029 - disabled-path0029] - expected: FAIL - - [path0010 - path0010] - expected: FAIL - - [path0007 - path0007] - expected: FAIL - diff --git a/tests/wpt/metadata/css/CSS2/floats/hit-test-floats-002.html.ini b/tests/wpt/metadata/css/CSS2/floats/hit-test-floats-002.html.ini deleted file mode 100644 index f64b45fea6b..00000000000 --- a/tests/wpt/metadata/css/CSS2/floats/hit-test-floats-002.html.ini +++ /dev/null @@ -1,4 +0,0 @@ -[hit-test-floats-002.html] - [Hit test float] - expected: FAIL - diff --git a/tests/wpt/metadata/css/CSS2/floats/hit-test-floats-003.html.ini b/tests/wpt/metadata/css/CSS2/floats/hit-test-floats-003.html.ini deleted file mode 100644 index f29da48a2a0..00000000000 --- a/tests/wpt/metadata/css/CSS2/floats/hit-test-floats-003.html.ini +++ /dev/null @@ -1,4 +0,0 @@ -[hit-test-floats-003.html] - [Miss float below something else] - expected: FAIL - diff --git a/tests/wpt/metadata/css/cssom-view/elementFromPoint-001.html.ini b/tests/wpt/metadata/css/cssom-view/elementFromPoint-001.html.ini deleted file mode 100644 index e38782d8c85..00000000000 --- a/tests/wpt/metadata/css/cssom-view/elementFromPoint-001.html.ini +++ /dev/null @@ -1,4 +0,0 @@ -[elementFromPoint-001.html] - [CSSOM View - 5 - extensions to the Document interface] - expected: FAIL - diff --git a/tests/wpt/metadata/css/cssom-view/elementsFromPoint-invalid-cases.html.ini b/tests/wpt/metadata/css/cssom-view/elementsFromPoint-invalid-cases.html.ini new file mode 100644 index 00000000000..e181af5397f --- /dev/null +++ b/tests/wpt/metadata/css/cssom-view/elementsFromPoint-invalid-cases.html.ini @@ -0,0 +1,4 @@ +[elementsFromPoint-invalid-cases.html] + [The root element is the last element returned for otherwise empty queries within the viewport] + expected: FAIL + diff --git a/tests/wpt/metadata/fetch/content-type/response.window.js.ini b/tests/wpt/metadata/fetch/content-type/response.window.js.ini index 2affbf84c74..92b2a728a99 100644 --- a/tests/wpt/metadata/fetch/content-type/response.window.js.ini +++ b/tests/wpt/metadata/fetch/content-type/response.window.js.ini @@ -318,12 +318,21 @@ [<iframe>: combined response Content-Type: text/html;charset=gbk text/plain text/html] expected: FAIL - [<iframe>: separate response Content-Type: text/html;" text/plain] + [<iframe>: combined response Content-Type: text/html */*;charset=gbk] expected: FAIL - [<iframe>: combined response Content-Type: text/html */*;charset=gbk] + [<iframe>: combined response Content-Type: text/html;" text/plain] + expected: FAIL + + [<iframe>: combined response Content-Type: text/html */*] + expected: FAIL + + [<iframe>: separate response Content-Type: text/html */*] + expected: FAIL + + [<iframe>: separate response Content-Type: text/plain */*] expected: FAIL - [<iframe>: separate response Content-Type: text/plain */*;charset=gbk] + [<iframe>: combined response Content-Type: text/html;" \\" text/plain] expected: FAIL diff --git a/tests/wpt/metadata/fetch/content-type/script.window.js.ini b/tests/wpt/metadata/fetch/content-type/script.window.js.ini index 2d5faa72ac7..e67f0406fc3 100644 --- a/tests/wpt/metadata/fetch/content-type/script.window.js.ini +++ b/tests/wpt/metadata/fetch/content-type/script.window.js.ini @@ -53,6 +53,3 @@ [combined text/javascript ] expected: FAIL - [separate text/javascript;charset=windows-1252 error text/javascript] - expected: FAIL - diff --git a/tests/wpt/metadata/html/browsers/origin/cross-origin-objects/cross-origin-objects-on-new-window.html.ini b/tests/wpt/metadata/html/browsers/origin/cross-origin-objects/cross-origin-objects-on-new-window.html.ini deleted file mode 100644 index 735a9a75a2a..00000000000 --- a/tests/wpt/metadata/html/browsers/origin/cross-origin-objects/cross-origin-objects-on-new-window.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[cross-origin-objects-on-new-window.html] - expected: TIMEOUT diff --git a/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-1.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-1.html.ini index 2a166bb97b7..fc37df7e3fa 100644 --- a/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-1.html.ini +++ b/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-1.html.ini @@ -1,6 +1,6 @@ [iframe_sandbox_popups_escaping-1.html] type: testharness - expected: CRASH + expected: TIMEOUT [Check that popups from a sandboxed iframe escape the sandbox if\n allow-popups-to-escape-sandbox is used] expected: TIMEOUT diff --git a/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-2.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-2.html.ini index e63fe7c263e..c6f45be1eb2 100644 --- a/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-2.html.ini +++ b/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-2.html.ini @@ -1,5 +1,5 @@ [iframe_sandbox_popups_escaping-2.html] - expected: CRASH + expected: TIMEOUT [Check that popups from a sandboxed iframe escape the sandbox if\n allow-popups-to-escape-sandbox is used] expected: TIMEOUT diff --git a/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-3.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-3.html.ini index f6a7aca3306..5f60c78e73c 100644 --- a/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-3.html.ini +++ b/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-3.html.ini @@ -1,5 +1,6 @@ [iframe_sandbox_popups_escaping-3.html] type: testharness + expected: TIMEOUT [Check that popups from a sandboxed iframe escape the sandbox if\n allow-popups-to-escape-sandbox is used] - expected: FAIL + expected: TIMEOUT diff --git a/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-1.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-1.html.ini index 9df1ac56f2a..963d4cd20ef 100644 --- a/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-1.html.ini +++ b/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-1.html.ini @@ -1,6 +1,6 @@ [iframe_sandbox_popups_nonescaping-1.html] type: testharness - expected: TIMEOUT + expected: CRASH [Check that popups from a sandboxed iframe do not escape the sandbox] expected: NOTRUN diff --git a/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-2.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-2.html.ini index d43f38b40cd..45d8be1c898 100644 --- a/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-2.html.ini +++ b/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-2.html.ini @@ -1,6 +1,6 @@ [iframe_sandbox_popups_nonescaping-2.html] type: testharness - expected: TIMEOUT + expected: CRASH [Check that popups from a sandboxed iframe do not escape the sandbox] expected: NOTRUN diff --git a/tests/wpt/metadata/html/semantics/forms/form-submission-0/form-double-submit-3.html.ini b/tests/wpt/metadata/html/semantics/forms/form-submission-0/form-double-submit-3.html.ini deleted file mode 100644 index 9f416703229..00000000000 --- a/tests/wpt/metadata/html/semantics/forms/form-submission-0/form-double-submit-3.html.ini +++ /dev/null @@ -1,4 +0,0 @@ -[form-double-submit-3.html] - [<button> should have the same double-submit protection as <input type=submit>] - expected: FAIL - diff --git a/tests/wpt/metadata/html/semantics/forms/form-submission-0/form-double-submit.html.ini b/tests/wpt/metadata/html/semantics/forms/form-submission-0/form-double-submit.html.ini new file mode 100644 index 00000000000..b193c33c2b6 --- /dev/null +++ b/tests/wpt/metadata/html/semantics/forms/form-submission-0/form-double-submit.html.ini @@ -0,0 +1,4 @@ +[form-double-submit.html] + [default submit action should supersede onclick submit()] + expected: FAIL + diff --git a/tests/wpt/metadata/html/semantics/forms/textfieldselection/select-event.html.ini b/tests/wpt/metadata/html/semantics/forms/textfieldselection/select-event.html.ini index bf11bf44c1b..e7c1d4ff9c4 100644 --- a/tests/wpt/metadata/html/semantics/forms/textfieldselection/select-event.html.ini +++ b/tests/wpt/metadata/html/semantics/forms/textfieldselection/select-event.html.ini @@ -35,36 +35,36 @@ [input type search: setRangeText() a second time (must not fire select)] expected: FAIL - [input type password: selectionStart out of range a second time (must not fire select)] + [textarea: selectionDirection a second time (must not fire select)] expected: FAIL - [input type password: select() a second time (must not fire select)] + [textarea: setSelectionRange() a second time (must not fire select)] expected: FAIL - [textarea: selectionDirection a second time (must not fire select)] + [textarea: selectionEnd a second time (must not fire select)] expected: FAIL - [textarea: setSelectionRange() a second time (must not fire select)] + [input type password: selectionStart a second time (must not fire select)] expected: FAIL - [input type password: setSelectionRange() a second time (must not fire select)] + [input type url: setSelectionRange() a second time (must not fire select)] expected: FAIL - [input type url: selectionStart out of range a second time (must not fire select)] + [input type url: selectionEnd out of range a second time (must not fire select)] expected: FAIL - [input type search: selectionEnd a second time (must not fire select)] + [input type url: selectionEnd a second time (must not fire select)] expected: FAIL - [input type password: setRangeText() a second time (must not fire select)] + [input type password: selectionEnd out of range a second time (must not fire select)] expected: FAIL - [input type password: selectionDirection a second time (must not fire select)] + [input type search: setSelectionRange() a second time (must not fire select)] expected: FAIL - [input type tel: selectionStart a second time (must not fire select)] + [input type url: select() a second time (must not fire select)] expected: FAIL - [input type url: setSelectionRange out of range a second time (must not fire select)] + [input type search: selectionDirection a second time (must not fire select)] expected: FAIL diff --git a/tests/wpt/metadata/html/semantics/scripting-1/the-script-element/css-module/import-css-module-basic.html.ini b/tests/wpt/metadata/html/semantics/scripting-1/the-script-element/css-module/import-css-module-basic.html.ini index 301f21b8ba2..84bbe9b5279 100644 --- a/tests/wpt/metadata/html/semantics/scripting-1/the-script-element/css-module/import-css-module-basic.html.ini +++ b/tests/wpt/metadata/html/semantics/scripting-1/the-script-element/css-module/import-css-module-basic.html.ini @@ -5,3 +5,6 @@ [A CSS Module should load] expected: FAIL + [A large CSS Module should load] + expected: FAIL + diff --git a/tests/wpt/metadata/html/webappapis/dynamic-markup-insertion/document-write/module-static-import-delayed.html.ini b/tests/wpt/metadata/html/webappapis/dynamic-markup-insertion/document-write/module-static-import-delayed.html.ini deleted file mode 100644 index fca4d908c89..00000000000 --- a/tests/wpt/metadata/html/webappapis/dynamic-markup-insertion/document-write/module-static-import-delayed.html.ini +++ /dev/null @@ -1,4 +0,0 @@ -[module-static-import-delayed.html] - [document.write in an imported module] - expected: FAIL - diff --git a/tests/wpt/metadata/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/ignore-opens-during-unload.window.js.ini b/tests/wpt/metadata/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/ignore-opens-during-unload.window.js.ini index 910c88d3e81..69bd952d756 100644 --- a/tests/wpt/metadata/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/ignore-opens-during-unload.window.js.ini +++ b/tests/wpt/metadata/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/ignore-opens-during-unload.window.js.ini @@ -1,5 +1,5 @@ [ignore-opens-during-unload.window.html] - expected: CRASH + expected: TIMEOUT [ignore-opens-during-unload] expected: FAIL diff --git a/tests/wpt/metadata/webaudio/the-audio-api/the-analysernode-interface/realtimeanalyser-fft-scaling.html.ini b/tests/wpt/metadata/webaudio/the-audio-api/the-analysernode-interface/realtimeanalyser-fft-scaling.html.ini index 66bd350083b..a56bad443a2 100644 --- a/tests/wpt/metadata/webaudio/the-audio-api/the-analysernode-interface/realtimeanalyser-fft-scaling.html.ini +++ b/tests/wpt/metadata/webaudio/the-audio-api/the-analysernode-interface/realtimeanalyser-fft-scaling.html.ini @@ -1,4 +1,5 @@ [realtimeanalyser-fft-scaling.html] + expected: TIMEOUT [X 2048-point FFT peak position is not equal to 64. Got 0.] expected: FAIL diff --git a/tests/wpt/metadata/webaudio/the-audio-api/the-audiobuffersourcenode-interface/sub-sample-buffer-stitching.html.ini b/tests/wpt/metadata/webaudio/the-audio-api/the-audiobuffersourcenode-interface/sub-sample-buffer-stitching.html.ini index 73f95a92557..78166eacedc 100644 --- a/tests/wpt/metadata/webaudio/the-audio-api/the-audiobuffersourcenode-interface/sub-sample-buffer-stitching.html.ini +++ b/tests/wpt/metadata/webaudio/the-audio-api/the-audiobuffersourcenode-interface/sub-sample-buffer-stitching.html.ini @@ -683,3 +683,9 @@ [X Stitched sine-wave buffers at sample rate 43800 does not equal [0,0.06264832615852356,0.12505052983760834,0.18696144223213196,0.24813786149024963,0.308339387178421,0.36732959747314453,0.4248766601085663,0.480754554271698,0.5347436666488647,0.5866320133209229,0.6362156271934509,0.6832997798919678,0.7276994585990906,0.7692402601242065,0.8077589869499207...\] with an element-wise tolerance of {"absoluteThreshold":0.0038986,"relativeThreshold":0}.\n\tIndex\tActual\t\t\tExpected\t\tAbsError\t\tRelError\t\tTest threshold\n\t[28696\]\t2.9180014260507006e-20\t9.3139332532882690e-1\t9.3139332532882690e-1\t1.0000000000000000e+0\t3.8985999999999999e-3\n\t[28697\]\t7.0477002859115601e-1\t9.0675884485244751e-1\t2.0198881626129150e-1\t2.2275913536212616e-1\t3.8985999999999999e-3\n\tMax AbsError of 9.3139332532882690e-1 at index of 28696.\n\tMax RelError of 1.0000000000000000e+0 at index of 28696.\n] expected: FAIL + [X SNR (43.84283293563282 dB) is not greater than or equal to 65.737. Got 43.84283293563282.] + expected: FAIL + + [X Stitched sine-wave buffers at sample rate 43800 does not equal [0,0.06264832615852356,0.12505052983760834,0.18696144223213196,0.24813786149024963,0.308339387178421,0.36732959747314453,0.4248766601085663,0.480754554271698,0.5347436666488647,0.5866320133209229,0.6362156271934509,0.6832997798919678,0.7276994585990906,0.7692402601242065,0.8077589869499207...\] with an element-wise tolerance of {"absoluteThreshold":0.0038986,"relativeThreshold":0}.\n\tIndex\tActual\t\t\tExpected\t\tAbsError\t\tRelError\t\tTest threshold\n\t[28696\]\t2.1212256979197264e-3\t9.3139332532882690e-1\t9.2927209963090718e-1\t9.9772252426527663e-1\t3.8985999999999999e-3\n\t[28697\]\t7.0477002859115601e-1\t9.0675884485244751e-1\t2.0198881626129150e-1\t2.2275913536212616e-1\t3.8985999999999999e-3\n\tMax AbsError of 9.2927209963090718e-1 at index of 28696.\n\tMax RelError of 9.9772252426527663e-1 at index of 28696.\n] + expected: FAIL + diff --git a/tests/wpt/metadata/webmessaging/with-ports/018.html.ini b/tests/wpt/metadata/webmessaging/with-ports/018.html.ini deleted file mode 100644 index 663a1f8fa30..00000000000 --- a/tests/wpt/metadata/webmessaging/with-ports/018.html.ini +++ /dev/null @@ -1,5 +0,0 @@ -[018.html] - expected: TIMEOUT - [origin of the script that invoked the method, javascript:] - expected: TIMEOUT - diff --git a/tests/wpt/metadata/workers/WorkerGlobalScope-close.html.ini b/tests/wpt/metadata/workers/WorkerGlobalScope-close.html.ini deleted file mode 100644 index fe8654e447c..00000000000 --- a/tests/wpt/metadata/workers/WorkerGlobalScope-close.html.ini +++ /dev/null @@ -1,4 +0,0 @@ -[WorkerGlobalScope-close.html] - [Test sending a message after closing.] - expected: FAIL - diff --git a/tests/wpt/web-platform-tests/cookies/attributes/path-redirect.html b/tests/wpt/web-platform-tests/cookies/attributes/path-redirect.html new file mode 100644 index 00000000000..8c4d587cd46 --- /dev/null +++ b/tests/wpt/web-platform-tests/cookies/attributes/path-redirect.html @@ -0,0 +1,126 @@ +<!doctype html> +<html> + <head> + <meta charset=utf-8> + <title>Test cookie path attribute parsing</title> + <meta name=help href="https://tools.ietf.org/html/rfc6265#section-5.2.4"> + <meta name="timeout" content="long"> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/cookies/resources/cookie-test.js"></script> + </head> + <body> + <script> + const pathRedirectTests = [ + { + cookie: "test=1; path=/cookies/attributes/resources/path.html", + expected: "test=1", + name: "Cookie sent for exact redirected path match", + location: "/cookies/attributes/resources/path.html", + }, + { + cookie: "test=2; path=/cookies/attributes/resources/path/one.html", + expected: "test=2", + name: "Cookie sent for exact redirected path match, one level deeper", + location: "/cookies/attributes/resources/path/one.html", + }, + { + cookie: "test=3; path=/cookies/attributes/resources/path/", + expected: "test=3", + name: "Cookie sent for redirected path with trailing '/' and the redirected URL is one level deeper", + location: "/cookies/attributes/resources/path/one.html", + }, + { + cookie: "test=4; path=/cookies/attributes/resources/path/", + expected: "test=4", + name: "Cookie sent for redirected path with trailing '/' and a double '/' in the redirected URL", + location: "/cookies/attributes/resources/path//one.html", + }, + { + cookie: "test=5; path=/cookies/attributes/resources/path/one.html;", + expected: "test=5", + name: "Cookie sent for redirected path match with a trailing ';' after an unquoted Path", + location: "/cookies/attributes/resources/path/one.html", + }, + { + cookie: 'test=6; path="/cookies/attributes/resources/path/one.html;"', + expected: "", + name: "No cookie sent for redirected path match with a trailing ';' inside a quoted Path", + location: "/cookies/attributes/resources/path/one.html", + }, + { + cookie: "test=7a; path=/cookies/attributes/resources/p%61th/three.html", + expected: "", + name: "No cookie sent for redirected path match with partially URL encoded path", + location: "/cookies/attributes/resources/path/three.html", + }, + { + cookie: ["test=8a; path=/cookies/attributes/resources", + "test=8b; path=/cookies/attributes/resources/"], + expected: "test=8b; test=8a", + name: "Multiple cookies sent for multiple redirected path matches, sorted by length", + location: "/cookies/attributes/resources/path.html", + }, + { + cookie: "test=9; path=/cookies/attributes/resources/path.html", + expected: "", + name: "No cookie sent for redirected path mismatch where path and redirected URL begin with same string", + location: "/cookies/attributes/resources/pathfakeout.html", + }, + { + cookie: "test=10; path=/cookies/attributes/resources/path/one.html", + expected: "", + name: "No cookie sent for redirected path mismatch where final path directory component and redirected URL resource begin with same string", + location: "/cookies/attributes/resources/path.html", + }, + { + cookie: "test=11; path=/cookies/attributes/resources/path/one.html", + expected: "", + name: "No cookie sent for redirected path mismatch where final path directory component begins with same string as redirected URL final directory component", + location: "/cookies/attributes/resources/pathfakeout/one.html", + }, + { + cookie: "test=12; path=/cookies/attributes/resources/path/one.html", + expected: "", + name: "No cookie sent for redirected path mismatch for different resources inside the same final directory component", + location: "/cookies/attributes/resources/path/two.html", + }, + { + cookie: "test=13; path=/cookies/attributes/resources/path/one.html/", + expected: "", + name: "No cookie sent for redirected path mismatch where final path directory component ends in '/' and does not match redirected URL", + location: "/cookies/attributes/resources/path/two.html", + }, + { + cookie: "test=14; path=/cookies/attributes/resources/path/", + expected: "", + name: "No cookie sent for redirected path mismatch with a similar start to the redirected URL", + location: "/cookies/attributes/resources/pathfakeout.html", + }, + { + cookie: "test=15; path=/cookies/attributes/resources/path/one.html?", + expected: "", + name: "No cookie sent for redirected path mismatch with trailing '?' after unquoted Path", + location: "/cookies/attributes/resources/path/one.html", + }, + { + cookie: "test=16; path=/cookies/attributes/resources/path/one.html#", + expected: "", + name: "No cookie sent for redirected path mismatch with trailing '#' after unquoted Path", + location: "/cookies/attributes/resources/path/one.html", + }, + { + cookie: "test=17; path=/cookies/attributes/resources/path/one.html/", + expected: "", + name: "No cookie sent for redirected path mismatch with trailing '/' after unquoted Path", + location: "/cookies/attributes/resources/path/one.html", + }, + ]; + + for (const test of pathRedirectTests) { + httpRedirectCookieTest(test.cookie, test.expected, test.name, + test.location); + } + </script> + </body> +</html> diff --git a/tests/wpt/web-platform-tests/cookies/attributes/path.html b/tests/wpt/web-platform-tests/cookies/attributes/path.html index c201aa170b8..2d5cfe74f17 100644 --- a/tests/wpt/web-platform-tests/cookies/attributes/path.html +++ b/tests/wpt/web-platform-tests/cookies/attributes/path.html @@ -26,48 +26,111 @@ cookie: "test=3; Path=/", expected: "test=3", name: "Set cookie for Path=/", - defaultPath: false + defaultPath: false, }, { cookie: "test=4; Path=/qux", expected: "", name: "No cookie returned for mismatched path", - defaultPath: false + defaultPath: false, }, { cookie: "test=5; Path =/qux", expected: "", name: "No cookie returned for path space equals mismatched path", - defaultPath: false + defaultPath: false, }, { cookie: "test=6; Path= /qux", expected: "", name: "No cookie returned for path equals space mismatched path", - defaultPath: false + defaultPath: false, }, { cookie: "test=7; Path=/qux ; taz", expected: "", name: "No cookie returned for mismatched path and attribute", - defaultPath: false + defaultPath: false, }, { cookie: "test=8; Path=/qux; Path=/", expected: "test=8", - name: "Set cookie for mismatched and root path" + name: "Set cookie for mismatched and root path", }, { cookie: "test=9; Path=/; Path=/qux", expected: "", name: "No cookie returned for root and mismatched path", - defaultPath: false + defaultPath: false, }, { cookie: "test=10; Path=/lol; Path=/qux", expected: "", name: "No cookie returned for multiple mismatched paths", - defaultPath: false + defaultPath: false, + }, + { + cookie: ["testA=11; path=/", "testB=11; path=/cookies/attributes"], + expected: "testB=11; testA=11", + name: "Return 2 cookies sorted by matching path length (earlier name with shorter path set first)", + defaultPath: false, + }, + { + cookie: ["testB=12; path=/", "testA=12; path=/cookies/attributes"], + expected: "testA=12; testB=12", + name: "Return 2 cookies sorted by matching path length (later name with shorter path set first)", + defaultPath: false, + }, + { + cookie: ["testA=13; path=/cookies/attributes", "testB=13; path=/"], + expected: "testA=13; testB=13", + name: "Return 2 cookies sorted by matching path length (earlier name with longer path set first)", + defaultPath: false, + }, + { + cookie: ["testB=14; path=/cookies/attributes", "testA=14; path=/"], + expected: "testB=14; testA=14", + name: "Return 2 cookies sorted by matching path length (later name with longer path set first)", + defaultPath: false, + }, + { + cookie: ["test=15; path=/cookies/attributes/foo"], + expected: "", + name: "No cookie returned for partial path match", + defaultPath: false, + }, + { + cookie: ["test=16", "test=0; path=/cookies/attributes/foo"], + expected: "test=16", + name: "No cookie returned for partial path match, return cookie for default path", + }, + { + cookie: ["test=17; path= /"], + expected: "test=17", + name: "Return cookie for path= / (whitespace after equals)", + }, + { + cookie: ["test=18; path=/cookies/ATTRIBUTES"], + expected: "", + name: "No cookie returned for case mismatched path", + defaultPath: false, + }, + { + cookie: ["testA=19; path = /cookies/attributes", "testB=19; path = /book"], + expected: "testA=19", + name: "Return cookie A on path match, no cookie returned for path mismatch (plus whitespace)", + defaultPath: false, + }, + { + cookie: ["test=20; path=; path=/dog"], + expected: "", + name: "No cookie returned for mismatched path (after bare path=)", + defaultPath: false, + }, + { + cookie: ["test=21; path=/dog; path="], + expected: "test=21", + name: "Return cookie for bare path= (after mismatched path)", }, ]; diff --git a/tests/wpt/web-platform-tests/cookies/attributes/resources/path-redirect-shared.js b/tests/wpt/web-platform-tests/cookies/attributes/resources/path-redirect-shared.js new file mode 100644 index 00000000000..83a614117cd --- /dev/null +++ b/tests/wpt/web-platform-tests/cookies/attributes/resources/path-redirect-shared.js @@ -0,0 +1,7 @@ +window.expireCookie = (cookie) => { + const cookies = Array.isArray(cookie) ? cookie : [cookie]; + for (let c of cookies) { + document.cookie = c += "; max-age=0"; + } +} +window.getCookies = () => document.cookie;
\ No newline at end of file diff --git a/tests/wpt/web-platform-tests/cookies/attributes/resources/path.html b/tests/wpt/web-platform-tests/cookies/attributes/resources/path.html new file mode 100644 index 00000000000..3c5af1cb205 --- /dev/null +++ b/tests/wpt/web-platform-tests/cookies/attributes/resources/path.html @@ -0,0 +1,11 @@ +<!doctype html> +<html> +<head> + <meta charset=utf-8> + <title>helper iframe for matching cookie path redirect tests</title> + <meta name=help href="http://tools.ietf.org/html/rfc6265#section-5.1.4"> +</head> +<body> + <script src="/cookies/attributes/resources/path-redirect-shared.js"></script> +</body> +</html>
\ No newline at end of file diff --git a/tests/wpt/web-platform-tests/cookies/attributes/resources/path/one.html b/tests/wpt/web-platform-tests/cookies/attributes/resources/path/one.html new file mode 100644 index 00000000000..3c5af1cb205 --- /dev/null +++ b/tests/wpt/web-platform-tests/cookies/attributes/resources/path/one.html @@ -0,0 +1,11 @@ +<!doctype html> +<html> +<head> + <meta charset=utf-8> + <title>helper iframe for matching cookie path redirect tests</title> + <meta name=help href="http://tools.ietf.org/html/rfc6265#section-5.1.4"> +</head> +<body> + <script src="/cookies/attributes/resources/path-redirect-shared.js"></script> +</body> +</html>
\ No newline at end of file diff --git a/tests/wpt/web-platform-tests/cookies/attributes/resources/path/three.html b/tests/wpt/web-platform-tests/cookies/attributes/resources/path/three.html new file mode 100644 index 00000000000..3c5af1cb205 --- /dev/null +++ b/tests/wpt/web-platform-tests/cookies/attributes/resources/path/three.html @@ -0,0 +1,11 @@ +<!doctype html> +<html> +<head> + <meta charset=utf-8> + <title>helper iframe for matching cookie path redirect tests</title> + <meta name=help href="http://tools.ietf.org/html/rfc6265#section-5.1.4"> +</head> +<body> + <script src="/cookies/attributes/resources/path-redirect-shared.js"></script> +</body> +</html>
\ No newline at end of file diff --git a/tests/wpt/web-platform-tests/cookies/attributes/resources/path/two.html b/tests/wpt/web-platform-tests/cookies/attributes/resources/path/two.html new file mode 100644 index 00000000000..3c5af1cb205 --- /dev/null +++ b/tests/wpt/web-platform-tests/cookies/attributes/resources/path/two.html @@ -0,0 +1,11 @@ +<!doctype html> +<html> +<head> + <meta charset=utf-8> + <title>helper iframe for matching cookie path redirect tests</title> + <meta name=help href="http://tools.ietf.org/html/rfc6265#section-5.1.4"> +</head> +<body> + <script src="/cookies/attributes/resources/path-redirect-shared.js"></script> +</body> +</html>
\ No newline at end of file diff --git a/tests/wpt/web-platform-tests/cookies/attributes/resources/pathfakeout.html b/tests/wpt/web-platform-tests/cookies/attributes/resources/pathfakeout.html new file mode 100644 index 00000000000..3c5af1cb205 --- /dev/null +++ b/tests/wpt/web-platform-tests/cookies/attributes/resources/pathfakeout.html @@ -0,0 +1,11 @@ +<!doctype html> +<html> +<head> + <meta charset=utf-8> + <title>helper iframe for matching cookie path redirect tests</title> + <meta name=help href="http://tools.ietf.org/html/rfc6265#section-5.1.4"> +</head> +<body> + <script src="/cookies/attributes/resources/path-redirect-shared.js"></script> +</body> +</html>
\ No newline at end of file diff --git a/tests/wpt/web-platform-tests/cookies/attributes/resources/pathfakeout/one.html b/tests/wpt/web-platform-tests/cookies/attributes/resources/pathfakeout/one.html new file mode 100644 index 00000000000..3c5af1cb205 --- /dev/null +++ b/tests/wpt/web-platform-tests/cookies/attributes/resources/pathfakeout/one.html @@ -0,0 +1,11 @@ +<!doctype html> +<html> +<head> + <meta charset=utf-8> + <title>helper iframe for matching cookie path redirect tests</title> + <meta name=help href="http://tools.ietf.org/html/rfc6265#section-5.1.4"> +</head> +<body> + <script src="/cookies/attributes/resources/path-redirect-shared.js"></script> +</body> +</html>
\ No newline at end of file diff --git a/tests/wpt/web-platform-tests/cookies/http-state/path-tests.html b/tests/wpt/web-platform-tests/cookies/http-state/path-tests.html deleted file mode 100644 index b76360e249c..00000000000 --- a/tests/wpt/web-platform-tests/cookies/http-state/path-tests.html +++ /dev/null @@ -1,63 +0,0 @@ -<!doctype html> -<html> - <head> - <meta charset=utf-8> - <title>Tests basic cookie setting functionality</title> - <meta name=help href="https://tools.ietf.org/html/rfc6265#page-8"> - <meta name="timeout" content="long"> - - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="resources/cookie-http-state-template.js"></script> - </head> - <body> - <div id="log"></div> - <div id="iframes"></div> - <script> - setup({ explicit_timeout: true }); - - const TEST_CASES = [ - {file: "path0001", name: "path0001"}, - {file: "path0002", name: "path0002"}, - {file: "path0003", name: "path0003"}, - {file: "path0004", name: "path0004"}, - {file: "path0005", name: "path0005"}, - {file: "path0006", name: "path0006"}, - {file: "path0007", name: "path0007"}, - {file: "path0008", name: "path0008"}, - {file: "path0009", name: "path0009"}, - {file: "path0010", name: "path0010"}, - {file: "path0011", name: "path0011"}, - {file: "path0012", name: "path0012"}, - {file: "path0013", name: "path0013"}, - {file: "path0014", name: "path0014"}, - {file: "path0015", name: "path0015"}, - {file: "path0016", name: "path0016"}, - {file: "path0017", name: "path0017"}, - {file: "path0018", name: "path0018"}, - {file: "path0019", name: "path0019"}, - {file: "path0020", name: "path0020"}, - {file: "path0021", name: "path0021"}, - {file: "path0022", name: "path0022"}, - {file: "path0023", name: "path0023"}, - {file: "path0024", name: "path0024"}, - {file: "path0025", name: "path0025"}, - {file: "path0026", name: "path0026"}, - {file: "path0027", name: "path0027"}, - {file: "path0028", name: "path0028"}, - {file: "disabled-path0029", name: "disabled-path0029"}, - {file: "path0029", name: "path0029"}, - {file: "path0030", name: "path0030"}, - {file: "path0031", name: "path0031"}, - {file: "path0032", name: "path0032"}, - ]; - - for (const i in TEST_CASES) { - const t = TEST_CASES[i]; - promise_test(createCookieTest(t.file), - t.file + " - " + t.name); - } - - </script> - </body> -</html> diff --git a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/disabled-path0029-expected b/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/disabled-path0029-expected deleted file mode 100644 index b14d4f69b58..00000000000 --- a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/disabled-path0029-expected +++ /dev/null @@ -1 +0,0 @@ -Cookie: foo=bar diff --git a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/disabled-path0029-test b/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/disabled-path0029-test deleted file mode 100644 index d7219d590c6..00000000000 --- a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/disabled-path0029-test +++ /dev/null @@ -1,2 +0,0 @@ -Set-Cookie: foo=bar; path=/cookie-parser-result/foo/bar -Location: /cookie-parser-result/f%6Fo/bar?disabled-path0029 diff --git a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0001-expected b/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0001-expected deleted file mode 100644 index 785d0a2f5f7..00000000000 --- a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0001-expected +++ /dev/null @@ -1 +0,0 @@ -Cookie: x=y; a=b diff --git a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0001-test b/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0001-test deleted file mode 100644 index ed81cb955f7..00000000000 --- a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0001-test +++ /dev/null @@ -1,2 +0,0 @@ -Set-Cookie: a=b; path=/ -Set-Cookie: x=y; path=/cookie-parser-result diff --git a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0002-expected b/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0002-expected deleted file mode 100644 index 2314ba0d495..00000000000 --- a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0002-expected +++ /dev/null @@ -1 +0,0 @@ -Cookie: a=b; x=y diff --git a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0002-test b/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0002-test deleted file mode 100644 index 22493285185..00000000000 --- a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0002-test +++ /dev/null @@ -1,2 +0,0 @@ -Set-Cookie: a=b; path=/cookie-parser-result -Set-Cookie: x=y; path=/ diff --git a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0003-expected b/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0003-expected deleted file mode 100644 index 2314ba0d495..00000000000 --- a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0003-expected +++ /dev/null @@ -1 +0,0 @@ -Cookie: a=b; x=y diff --git a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0003-test b/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0003-test deleted file mode 100644 index e4b5a4b2565..00000000000 --- a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0003-test +++ /dev/null @@ -1,2 +0,0 @@ -Set-Cookie: x=y; path=/ -Set-Cookie: a=b; path=/cookie-parser-result diff --git a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0004-expected b/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0004-expected deleted file mode 100644 index 785d0a2f5f7..00000000000 --- a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0004-expected +++ /dev/null @@ -1 +0,0 @@ -Cookie: x=y; a=b diff --git a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0004-test b/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0004-test deleted file mode 100644 index a80ea6ec015..00000000000 --- a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0004-test +++ /dev/null @@ -1,2 +0,0 @@ -Set-Cookie: x=y; path=/cookie-parser-result -Set-Cookie: a=b; path=/ diff --git a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0005-expected b/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0005-expected deleted file mode 100644 index e69de29bb2d..00000000000 --- a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0005-expected +++ /dev/null diff --git a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0005-test b/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0005-test deleted file mode 100644 index 6447c9164f9..00000000000 --- a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0005-test +++ /dev/null @@ -1 +0,0 @@ -Set-Cookie: foo=bar; path=/cookie-parser-result/foo diff --git a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0006-expected b/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0006-expected deleted file mode 100644 index b14d4f69b58..00000000000 --- a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0006-expected +++ /dev/null @@ -1 +0,0 @@ -Cookie: foo=bar diff --git a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0006-test b/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0006-test deleted file mode 100644 index 07ecf27b82b..00000000000 --- a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0006-test +++ /dev/null @@ -1,2 +0,0 @@ -Set-Cookie: foo=bar -Set-Cookie: foo=qux; path=/cookie-parser-result/foo diff --git a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0007-expected b/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0007-expected deleted file mode 100644 index b14d4f69b58..00000000000 --- a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0007-expected +++ /dev/null @@ -1 +0,0 @@ -Cookie: foo=bar diff --git a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0007-test b/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0007-test deleted file mode 100644 index 66a54de7420..00000000000 --- a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0007-test +++ /dev/null @@ -1,2 +0,0 @@ -Set-Cookie: foo=bar; path=/cookie-parser-result/foo -Location: /cookie-parser-result/foo?path0007 diff --git a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0008-expected b/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0008-expected deleted file mode 100644 index e69de29bb2d..00000000000 --- a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0008-expected +++ /dev/null diff --git a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0008-test b/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0008-test deleted file mode 100644 index b10012d3096..00000000000 --- a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0008-test +++ /dev/null @@ -1,2 +0,0 @@ -Set-Cookie: foo=bar; path=/cookie-parser-result/foo -Location: /cookie-parser-result/bar?path0008 diff --git a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0009-expected b/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0009-expected deleted file mode 100644 index e69de29bb2d..00000000000 --- a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0009-expected +++ /dev/null diff --git a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0009-test b/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0009-test deleted file mode 100644 index 874f21bad97..00000000000 --- a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0009-test +++ /dev/null @@ -1,2 +0,0 @@ -Set-Cookie: foo=bar; path=/cookie-parser-result/foo/qux -Location: /cookie-parser-result/foo?path0009 diff --git a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0010-expected b/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0010-expected deleted file mode 100644 index b14d4f69b58..00000000000 --- a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0010-expected +++ /dev/null @@ -1 +0,0 @@ -Cookie: foo=bar diff --git a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0010-test b/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0010-test deleted file mode 100644 index 0ea62fd5ec5..00000000000 --- a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0010-test +++ /dev/null @@ -1,2 +0,0 @@ -Set-Cookie: foo=bar; path=/cookie-parser-result/foo/qux -Location: /cookie-parser-result/foo/qux?path0010 diff --git a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0011-expected b/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0011-expected deleted file mode 100644 index e69de29bb2d..00000000000 --- a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0011-expected +++ /dev/null diff --git a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0011-test b/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0011-test deleted file mode 100644 index 35ea0620495..00000000000 --- a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0011-test +++ /dev/null @@ -1,2 +0,0 @@ -Set-Cookie: foo=bar; path=/cookie-parser-result/foo/qux -Location: /cookie-parser-result/bar/qux?path0011 diff --git a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0012-expected b/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0012-expected deleted file mode 100644 index e69de29bb2d..00000000000 --- a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0012-expected +++ /dev/null diff --git a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0012-test b/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0012-test deleted file mode 100644 index 4c0577897bd..00000000000 --- a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0012-test +++ /dev/null @@ -1,2 +0,0 @@ -Set-Cookie: foo=bar; path=/cookie-parser-result/foo/qux -Location: /cookie-parser-result/foo/baz?path0012 diff --git a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0013-expected b/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0013-expected deleted file mode 100644 index e69de29bb2d..00000000000 --- a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0013-expected +++ /dev/null diff --git a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0013-test b/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0013-test deleted file mode 100644 index d17b99b6b43..00000000000 --- a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0013-test +++ /dev/null @@ -1,2 +0,0 @@ -Set-Cookie: foo=bar; path=/cookie-parser-result/foo/qux/ -Location: /cookie-parser-result/foo/baz?path0013 diff --git a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0014-expected b/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0014-expected deleted file mode 100644 index e69de29bb2d..00000000000 --- a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0014-expected +++ /dev/null diff --git a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0014-test b/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0014-test deleted file mode 100644 index a953e707b3b..00000000000 --- a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0014-test +++ /dev/null @@ -1,2 +0,0 @@ -Set-Cookie: foo=bar; path=/cookie-parser-result/foo/qux/ -Location: /cookie-parser-result/foo/qux?path0014 diff --git a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0015-expected b/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0015-expected deleted file mode 100644 index b14d4f69b58..00000000000 --- a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0015-expected +++ /dev/null @@ -1 +0,0 @@ -Cookie: foo=bar diff --git a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0015-test b/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0015-test deleted file mode 100644 index 253a9bb2fcd..00000000000 --- a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0015-test +++ /dev/null @@ -1,2 +0,0 @@ -Set-Cookie: foo=bar; path=/cookie-parser-result/foo/qux/ -Location: /cookie-parser-result/foo/qux/?path0015 diff --git a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0016-expected b/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0016-expected deleted file mode 100644 index b14d4f69b58..00000000000 --- a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0016-expected +++ /dev/null @@ -1 +0,0 @@ -Cookie: foo=bar diff --git a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0016-test b/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0016-test deleted file mode 100644 index 433faeb9120..00000000000 --- a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0016-test +++ /dev/null @@ -1,2 +0,0 @@ -Set-Cookie: foo=bar; path=/cookie-parser-result/foo/ -Location: /cookie-parser-result/foo/qux?path0016 diff --git a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0017-expected b/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0017-expected deleted file mode 100644 index b14d4f69b58..00000000000 --- a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0017-expected +++ /dev/null @@ -1 +0,0 @@ -Cookie: foo=bar diff --git a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0017-test b/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0017-test deleted file mode 100644 index a602d7ca6fe..00000000000 --- a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0017-test +++ /dev/null @@ -1,2 +0,0 @@ -Set-Cookie: foo=bar; path=/cookie-parser-result/foo/ -Location: /cookie-parser-result/foo//qux?path0017 diff --git a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0018-expected b/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0018-expected deleted file mode 100644 index e69de29bb2d..00000000000 --- a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0018-expected +++ /dev/null diff --git a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0018-test b/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0018-test deleted file mode 100644 index 37040dac5d3..00000000000 --- a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0018-test +++ /dev/null @@ -1,2 +0,0 @@ -Set-Cookie: foo=bar; path=/cookie-parser-result/foo/ -Location: /cookie-parser-result/fooqux?path0018 diff --git a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0019-expected b/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0019-expected deleted file mode 100644 index b14d4f69b58..00000000000 --- a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0019-expected +++ /dev/null @@ -1 +0,0 @@ -Cookie: foo=bar diff --git a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0019-test b/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0019-test deleted file mode 100644 index 6d498600a2f..00000000000 --- a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0019-test +++ /dev/null @@ -1 +0,0 @@ -Set-Cookie: foo=bar; path diff --git a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0020-expected b/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0020-expected deleted file mode 100644 index b14d4f69b58..00000000000 --- a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0020-expected +++ /dev/null @@ -1 +0,0 @@ -Cookie: foo=bar diff --git a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0020-test b/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0020-test deleted file mode 100644 index 603eded7ebd..00000000000 --- a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0020-test +++ /dev/null @@ -1 +0,0 @@ -Set-Cookie: foo=bar; path= diff --git a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0021-expected b/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0021-expected deleted file mode 100644 index b14d4f69b58..00000000000 --- a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0021-expected +++ /dev/null @@ -1 +0,0 @@ -Cookie: foo=bar diff --git a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0021-test b/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0021-test deleted file mode 100644 index 4577c510a42..00000000000 --- a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0021-test +++ /dev/null @@ -1 +0,0 @@ -Set-Cookie: foo=bar; path=/ diff --git a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0022-expected b/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0022-expected deleted file mode 100644 index b14d4f69b58..00000000000 --- a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0022-expected +++ /dev/null @@ -1 +0,0 @@ -Cookie: foo=bar diff --git a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0022-test b/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0022-test deleted file mode 100644 index 4aade9e0145..00000000000 --- a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0022-test +++ /dev/null @@ -1 +0,0 @@ -Set-Cookie: foo=bar; path= / diff --git a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0023-expected b/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0023-expected deleted file mode 100644 index e69de29bb2d..00000000000 --- a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0023-expected +++ /dev/null diff --git a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0023-test b/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0023-test deleted file mode 100644 index f14d683df97..00000000000 --- a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0023-test +++ /dev/null @@ -1 +0,0 @@ -Set-Cookie: foo=bar; Path=/cookie-PARSER-result diff --git a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0024-expected b/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0024-expected deleted file mode 100644 index e69de29bb2d..00000000000 --- a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0024-expected +++ /dev/null diff --git a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0024-test b/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0024-test deleted file mode 100644 index 18a71c875b4..00000000000 --- a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0024-test +++ /dev/null @@ -1,2 +0,0 @@ -Set-Cookie: foo=bar; path=/cookie-parser-result/foo/qux? -Location: /cookie-parser-result/foo/qux?path0024 diff --git a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0025-expected b/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0025-expected deleted file mode 100644 index e69de29bb2d..00000000000 --- a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0025-expected +++ /dev/null diff --git a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0025-test b/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0025-test deleted file mode 100644 index b6c497b9715..00000000000 --- a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0025-test +++ /dev/null @@ -1,2 +0,0 @@ -Set-Cookie: foo=bar; path=/cookie-parser-result/foo/qux# -Location: /cookie-parser-result/foo/qux?path0025 diff --git a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0026-expected b/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0026-expected deleted file mode 100644 index b14d4f69b58..00000000000 --- a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0026-expected +++ /dev/null @@ -1 +0,0 @@ -Cookie: foo=bar diff --git a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0026-test b/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0026-test deleted file mode 100644 index ffc3b7a54fa..00000000000 --- a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0026-test +++ /dev/null @@ -1,2 +0,0 @@ -Set-Cookie: foo=bar; path=/cookie-parser-result/foo/qux; -Location: /cookie-parser-result/foo/qux?path0026 diff --git a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0027-expected b/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0027-expected deleted file mode 100644 index b14d4f69b58..00000000000 --- a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0027-expected +++ /dev/null @@ -1 +0,0 @@ -Cookie: foo=bar diff --git a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0027-test b/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0027-test deleted file mode 100644 index bd021f33e2c..00000000000 --- a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0027-test +++ /dev/null @@ -1,2 +0,0 @@ -Set-Cookie: foo=bar; path="/cookie-parser-result/foo/qux;" -Location: /cookie-parser-result/foo/qux?path0027 diff --git a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0028-expected b/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0028-expected deleted file mode 100644 index e69de29bb2d..00000000000 --- a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0028-expected +++ /dev/null diff --git a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0028-test b/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0028-test deleted file mode 100644 index 3bcd6a5c657..00000000000 --- a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0028-test +++ /dev/null @@ -1,2 +0,0 @@ -Set-Cookie: foo=bar; path=/cookie-parser-result/f%6Fo/bar -Location: /cookie-parser-result/foo/bar?path0028 diff --git a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0029-expected b/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0029-expected deleted file mode 100644 index 1022f64a290..00000000000 --- a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0029-expected +++ /dev/null @@ -1 +0,0 @@ -Cookie: a=b diff --git a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0029-test b/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0029-test deleted file mode 100644 index 17bd42f4212..00000000000 --- a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0029-test +++ /dev/null @@ -1,2 +0,0 @@ -Set-Cookie: a=b; path = /cookie-parser-result -Set-Cookie: x=y; path = /book diff --git a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0030-expected b/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0030-expected deleted file mode 100644 index b14d4f69b58..00000000000 --- a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0030-expected +++ /dev/null @@ -1 +0,0 @@ -Cookie: foo=bar diff --git a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0030-test b/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0030-test deleted file mode 100644 index e17a2d490b7..00000000000 --- a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0030-test +++ /dev/null @@ -1 +0,0 @@ -Set-Cookie: foo=bar; path=/dog; path= diff --git a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0031-expected b/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0031-expected deleted file mode 100644 index e69de29bb2d..00000000000 --- a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0031-expected +++ /dev/null diff --git a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0031-test b/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0031-test deleted file mode 100644 index 3b24090b338..00000000000 --- a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0031-test +++ /dev/null @@ -1 +0,0 @@ -Set-Cookie: foo=bar; path=; path=/dog diff --git a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0032-expected b/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0032-expected deleted file mode 100644 index e7403c4aadc..00000000000 --- a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0032-expected +++ /dev/null @@ -1 +0,0 @@ -Cookie: foo=qux; foo=bar diff --git a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0032-test b/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0032-test deleted file mode 100644 index db6ceb2ea06..00000000000 --- a/tests/wpt/web-platform-tests/cookies/http-state/resources/test-files/path0032-test +++ /dev/null @@ -1,3 +0,0 @@ -Set-Cookie: foo=bar; path=/cookie-parser-result -Set-Cookie: foo=qux; path=/cookie-parser-result/ -Location: /cookie-parser-result/dog?path0032 diff --git a/tests/wpt/web-platform-tests/cookies/resources/cookie-test.js b/tests/wpt/web-platform-tests/cookies/resources/cookie-test.js index c0a03d78355..56e958263d9 100644 --- a/tests/wpt/web-platform-tests/cookies/resources/cookie-test.js +++ b/tests/wpt/web-platform-tests/cookies/resources/cookie-test.js @@ -22,11 +22,38 @@ async function getDefaultPathCookies(path = '/cookies/resources') { }); } +// getRedirectedCookies is a helper method to get and delete cookies that +// were set from a Location header redirect. +async function getRedirectedCookies(location, cookie) { + return new Promise((resolve, reject) => { + try { + const iframe = document.createElement('iframe'); + iframe.style = 'display: none'; + iframe.src = `${location}`; + + iframe.addEventListener('load', (e) => { + const win = e.target.contentWindow; + const iframeCookies = win.getCookies(); + win.expireCookie(cookie); + resolve(iframeCookies); + }, {once: true}); + + document.documentElement.appendChild(iframe); + } catch (e) { + reject(e); + } + }); +} + // httpCookieTest sets a |cookie| (via HTTP), then asserts it was or was not set // via |expectedValue| (via the DOM). Then cleans it up (via HTTP). Most tests // do not set a Path attribute, so |defaultPath| defaults to true. +// +// |cookie| may be a single cookie string, or an array of cookie strings, where +// the order of the array items represents the order of the Set-Cookie headers +// sent by the server. function httpCookieTest(cookie, expectedValue, name, defaultPath = true) { - let encodedCookie = encodeURIComponent(cookie); + let encodedCookie = encodeURIComponent(JSON.stringify(cookie)); return promise_test( async t => { return fetch(`/cookies/resources/cookie.py?set=${encodedCookie}`) @@ -53,3 +80,30 @@ function httpCookieTest(cookie, expectedValue, name, defaultPath = true) { })}, name); } + +// This is a variation on httpCookieTest, where a redirect happens via +// the Location header and we check to see if cookies are sent via +// getRedirectedCookies +function httpRedirectCookieTest(cookie, expectedValue, name, location) { + const encodedCookie = encodeURIComponent(JSON.stringify(cookie)); + const encodedLocation = encodeURIComponent(location); + const setParams = `?set=${encodedCookie}&location=${encodedLocation}`; + return promise_test( + async t => { + return fetch(`/cookies/resources/cookie.py${setParams}`) + .then(async () => { + // for the tests where a redirect happens, we need to head + // to that URI to get the cookies (and then delete them there) + const cookies = await getRedirectedCookies(location, cookie); + if (Boolean(expectedValue)) { + assert_equals(cookies, expectedValue, + 'The cookie was set as expected.'); + } else { + assert_equals(cookies, expectedValue, 'The cookie was rejected.'); + } + }).then(() => { + return fetch(`/cookies/resources/cookie.py?drop=${encodedCookie}`); + }) + }, + name); +} diff --git a/tests/wpt/web-platform-tests/cookies/resources/cookie.py b/tests/wpt/web-platform-tests/cookies/resources/cookie.py index 63eedf0b01e..16efcc04aeb 100644 --- a/tests/wpt/web-platform-tests/cookies/resources/cookie.py +++ b/tests/wpt/web-platform-tests/cookies/resources/cookie.py @@ -1,14 +1,26 @@ +import json + from cookies.resources.helpers import setNoCacheAndCORSHeaders +from wptserve.utils import isomorphic_decode from wptserve.utils import isomorphic_encode +def set_cookie(headers, cookie_string, drop=False): + """Helper method to add a Set-Cookie header""" + if drop: + cookie_string = cookie_string.encode('utf-8') + b'; max-age=0' + headers.append((b'Set-Cookie', isomorphic_encode(cookie_string))) + def main(request, response): """Set or drop a cookie via GET params. Usage: `/cookie.py?set={cookie}` or `/cookie.py?drop={cookie}` - The passed-in cookie string should be encoded via encodeURIComponent, - otherwise `parse_qsl` will split on any semicolons (used by the Request.GET - property getter). + The passed-in cookie string should be stringified via JSON.stringify() (in + the case of multiple cookie headers sent in an array) and encoded via + encodeURIComponent, otherwise `parse_qsl` will split on any semicolons + (used by the Request.GET property getter). Note that values returned by + Request.GET will decode any percent-encoded sequences sent in a GET param + (which may or may not be surprising depending on what you're doing). Note: here we don't use Response.delete_cookie() or similar other methods in this resources directory because there are edge cases that are impossible @@ -21,13 +33,22 @@ def main(request, response): try: if b'drop' in request.GET: cookie = request.GET[b'drop'] - cookie += b'; max-age=0' + cookie = json.loads(cookie) + cookies = cookie if isinstance(cookie, list) else [cookie] + for c in cookies: + set_cookie(headers, c, drop=True) if b'set' in request.GET: - cookie = request.GET[b'set'] + cookie = isomorphic_decode(request.GET[b'set']) + cookie = json.loads(cookie) + cookies = cookie if isinstance(cookie, list) else [cookie] + for c in cookies: + set_cookie(headers, c) + + if b'location' in request.GET: + headers.append((b'Location', request.GET[b'location'])) + return 302, headers, b'{"redirect": true}' - headers.append((b'Set-Cookie', isomorphic_encode(cookie))) return headers, b'{"success": true}' except Exception as e: return 500, headers, bytes({'error': '{}'.format(e)}) - diff --git a/tests/wpt/web-platform-tests/css/selectors/focus-visible-001.html b/tests/wpt/web-platform-tests/css/selectors/focus-visible-001.html index 2afcea22d1d..78d79e0b475 100644 --- a/tests/wpt/web-platform-tests/css/selectors/focus-visible-001.html +++ b/tests/wpt/web-platform-tests/css/selectors/focus-visible-001.html @@ -11,9 +11,14 @@ <script src="/resources/testdriver-actions.js"></script> <script src="/resources/testdriver-vendor.js"></script> <style> + @supports not (selector(:focus-visible)) { + :focus { + background-color: tomato; + } + } + :focus-visible { - outline: darkgreen dotted 1px; /* fallback for Edge */ - outline: darkgreen auto 5px; + outline: darkgreen solid 5px; } :focus:not(:focus-visible) { diff --git a/tests/wpt/web-platform-tests/css/selectors/focus-visible-002.html b/tests/wpt/web-platform-tests/css/selectors/focus-visible-002.html index 19c937a7abb..703c9c0946c 100644 --- a/tests/wpt/web-platform-tests/css/selectors/focus-visible-002.html +++ b/tests/wpt/web-platform-tests/css/selectors/focus-visible-002.html @@ -12,9 +12,14 @@ <script src="/resources/testdriver-actions.js"></script> <script src="/resources/testdriver-vendor.js"></script> <style> + @supports not (selector(:focus-visible)) { + :focus { + background-color: tomato; + } + } + :focus-visible { - outline: darkgreen dotted 1px; /* fallback for Edge */ - outline: darkgreen auto 5px; + outline: darkgreen solid 5px; } :focus:not(:focus-visible) { diff --git a/tests/wpt/web-platform-tests/css/selectors/focus-visible-003.html b/tests/wpt/web-platform-tests/css/selectors/focus-visible-003.html index 4620c1e4114..4d3df3d7b79 100644 --- a/tests/wpt/web-platform-tests/css/selectors/focus-visible-003.html +++ b/tests/wpt/web-platform-tests/css/selectors/focus-visible-003.html @@ -11,9 +11,14 @@ <script src="/resources/testdriver-actions.js"></script> <script src="/resources/testdriver-vendor.js"></script> <style> + @supports not (selector(:focus-visible)) { + :focus { + outline: red solid 5px; + } + } + :focus-visible { - outline: red dotted 1px; /* fallback for Edge */ - outline: red auto 5px; + outline: red solid 5px; } :focus:not(:focus-visible) { diff --git a/tests/wpt/web-platform-tests/css/selectors/focus-visible-004.html b/tests/wpt/web-platform-tests/css/selectors/focus-visible-004.html index 1c3fb3fcedd..f4a33111c09 100644 --- a/tests/wpt/web-platform-tests/css/selectors/focus-visible-004.html +++ b/tests/wpt/web-platform-tests/css/selectors/focus-visible-004.html @@ -11,9 +11,14 @@ <script src="/resources/testdriver-actions.js"></script> <script src="/resources/testdriver-vendor.js"></script> <style> + @supports not (selector(:focus-visible)) { + :focus { + outline: red solid 5px; + } + } + :focus-visible { - outline: red dotted 1px; /* fallback for Edge */ - outline: red auto 5px; + outline: red solid 5px; } :focus:not(:focus-visible) { diff --git a/tests/wpt/web-platform-tests/css/selectors/focus-visible-005.html b/tests/wpt/web-platform-tests/css/selectors/focus-visible-005.html index b5d58435db1..7983727f80e 100644 --- a/tests/wpt/web-platform-tests/css/selectors/focus-visible-005.html +++ b/tests/wpt/web-platform-tests/css/selectors/focus-visible-005.html @@ -10,9 +10,10 @@ <script src="/resources/testdriver.js"></script> <script src="/resources/testdriver-vendor.js"></script> <style> - :focus-visible { - outline: red dotted 1px; /* fallback for Edge */ - outline: red auto 5px; + @supports not (selector(:focus-visible)) { + :focus { + outline: red solid 5px; + } } :focus:not(:focus-visible) { diff --git a/tests/wpt/web-platform-tests/css/selectors/focus-visible-006.html b/tests/wpt/web-platform-tests/css/selectors/focus-visible-006.html index 12643e6cd44..0383eb841f4 100644 --- a/tests/wpt/web-platform-tests/css/selectors/focus-visible-006.html +++ b/tests/wpt/web-platform-tests/css/selectors/focus-visible-006.html @@ -17,9 +17,14 @@ padding: 2px 5px; } + @supports not (selector(:focus-visible)) { + :focus { + background-color: tomato; + } + } + :focus-visible { - outline: darkgreen dotted 1px; /* fallback for Edge */ - outline: darkgreen auto 5px; + outline: darkgreen solid 5px; } :focus:not(:focus-visible) { @@ -33,7 +38,7 @@ <ol id="instructions"> <li>If the user-agent does not claim to support the <code>:focus-visible</code> pseudo-class then SKIP this test.</li> <li><strong>Click</strong> the content editable span below to focus it.</li> - <li>If the element has a red background, then the test result is FAILURE. If the element has a blue outline, then the test result is SUCCESS.</li> + <li>If the element has a red background, then the test result is FAILURE. If the element has a green outline, then the test result is SUCCESS.</li> </ol> <br /> <div> diff --git a/tests/wpt/web-platform-tests/css/selectors/focus-visible-007.html b/tests/wpt/web-platform-tests/css/selectors/focus-visible-007.html index 95a27006e62..9a88a6bb9f0 100644 --- a/tests/wpt/web-platform-tests/css/selectors/focus-visible-007.html +++ b/tests/wpt/web-platform-tests/css/selectors/focus-visible-007.html @@ -11,13 +11,11 @@ <script src="/resources/testdriver-vendor.js"></script> <style> [data-hadkeydown] :focus-visible { - outline: darkgreen dotted 1px; /* fallback for Edge */ - outline: darkgreen auto 5px; + outline: darkgreen solid 5px; } [data-hadmousedown] :focus-visible { - outline: red dotted 1px; /* fallback for Edge */ - outline: red auto 5px; + outline: red solid 5px; } [data-hadkeydown] :focus:not(:focus-visible) { diff --git a/tests/wpt/web-platform-tests/css/selectors/focus-visible-008.html b/tests/wpt/web-platform-tests/css/selectors/focus-visible-008.html index 75f676f53f3..171530f4119 100644 --- a/tests/wpt/web-platform-tests/css/selectors/focus-visible-008.html +++ b/tests/wpt/web-platform-tests/css/selectors/focus-visible-008.html @@ -11,12 +11,18 @@ <script src="/resources/testdriver-actions.js"></script> <script src="/resources/testdriver-vendor.js"></script> <style> + @supports not (selector(:focus-visible)) { + #el:focus { + background-color: tomato; + } + } + :focus-visible { - outline: darkgreen auto 5px; + outline: darkgreen solid 5px; } #el:focus:not(:focus-visible) { - background-color: tomato;; + background-color: tomato; outline: 0; } </style> diff --git a/tests/wpt/web-platform-tests/css/selectors/focus-visible-009.html b/tests/wpt/web-platform-tests/css/selectors/focus-visible-009.html index 4dae6407ada..102c47e9612 100644 --- a/tests/wpt/web-platform-tests/css/selectors/focus-visible-009.html +++ b/tests/wpt/web-platform-tests/css/selectors/focus-visible-009.html @@ -8,12 +8,18 @@ <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> <style> + @supports not (selector(:focus-visible)) { + #buton:focus { + background-color: tomato; + } + } + :focus-visible { - outline: darkgreen auto 5px; + outline: darkgreen solid 5px; } #button:focus:not(:focus-visible) { - background-color: tomato;; + background-color: tomato; outline: 0; } </style> diff --git a/tests/wpt/web-platform-tests/css/selectors/focus-visible-010.html b/tests/wpt/web-platform-tests/css/selectors/focus-visible-010.html index 00cd7f0b665..9cfc3b8146c 100644 --- a/tests/wpt/web-platform-tests/css/selectors/focus-visible-010.html +++ b/tests/wpt/web-platform-tests/css/selectors/focus-visible-010.html @@ -8,8 +8,14 @@ <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> <style> + @supports not (selector(:focus-visible)) { + :focus { + background-color: tomato; + } + } + :focus-visible { - outline: darkgreen auto 5px; + outline: darkgreen solid 5px; } :focus:not(:focus-visible) { diff --git a/tests/wpt/web-platform-tests/css/selectors/focus-visible-011.html b/tests/wpt/web-platform-tests/css/selectors/focus-visible-011.html index 0c05c21800d..73c4607fd10 100644 --- a/tests/wpt/web-platform-tests/css/selectors/focus-visible-011.html +++ b/tests/wpt/web-platform-tests/css/selectors/focus-visible-011.html @@ -10,12 +10,18 @@ <script src="/resources/testdriver.js"></script> <script src="/resources/testdriver-vendor.js"></script> <style> + @supports not (selector(:focus-visible)) { + #next:focus { + background-color: tomato; + } + } + button { border: 0; } #next:focus-visible { - outline: darkgreen auto 5px; + outline: darkgreen solid 5px; } #next:focus:not(:focus-visible) { diff --git a/tests/wpt/web-platform-tests/css/selectors/focus-visible-012.html b/tests/wpt/web-platform-tests/css/selectors/focus-visible-012.html index a81eef3fb11..2ccb2e67561 100644 --- a/tests/wpt/web-platform-tests/css/selectors/focus-visible-012.html +++ b/tests/wpt/web-platform-tests/css/selectors/focus-visible-012.html @@ -11,6 +11,12 @@ <script src="/resources/testdriver-actions.js"></script> <script src="/resources/testdriver-vendor.js"></script> <style> + @supports not (selector(:focus-visible)) { + :focus { + background-color: tomato; + } + } + :focus-visible { outline: 0; outline-color: tomato; @@ -18,8 +24,7 @@ } :focus:not(:focus-visible) { - outline: darkgreen dotted 1px; /* fallback for Edge */ - outline: darkgreen auto 5px; + outline: darkgreen solid 5px; } </style> </head> diff --git a/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/css-module/import-css-module-basic.html b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/css-module/import-css-module-basic.html index 1cb290de3fe..4ca2bb70899 100644 --- a/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/css-module/import-css-module-basic.html +++ b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/css-module/import-css-module-basic.html @@ -19,6 +19,20 @@ }, "A CSS Module should load"); async_test(function (test) { + // This tests potential streaming compilation of modules in + // Chromium that is triggered only for large (32>KiB) files in older + // versions. + const iframe = document.createElement("iframe"); + iframe.src = "resources/css-module-basic-large-iframe.html"; + iframe.onload = test.step_func_done(function () { + assert_equals(getComputedStyle(iframe.contentDocument.querySelector('#test')) + .backgroundColor, "rgb(255, 0, 0)", + "CSS module import should succeed"); + }); + document.body.appendChild(iframe); + }, "A large CSS Module should load"); + + async_test(function (test) { const iframe = document.createElement("iframe"); iframe.src = "resources/css-module-at-import-iframe.html"; iframe.onload = test.step_func_done(function () { @@ -41,4 +55,4 @@ document.body.appendChild(iframe); }, "Malformed CSS should not load"); </script> -</body>
\ No newline at end of file +</body> diff --git a/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/css-module/resources/basic-large.css b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/css-module/resources/basic-large.css new file mode 100644 index 00000000000..f5b0db5d6ed --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/css-module/resources/basic-large.css @@ -0,0 +1,7 @@ +#test { + background-color:red; +} + +#test:before { + content: "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"; +} diff --git a/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/css-module/resources/css-module-basic-large-iframe.html b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/css-module/resources/css-module-basic-large-iframe.html new file mode 100644 index 00000000000..cc5b660e4cb --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/css-module/resources/css-module-basic-large-iframe.html @@ -0,0 +1,18 @@ +<!DOCTYPE html> +<body> + <script> + window.onerror = function (errorMsg, url, lineNumber, column, errorObj) + { + document.load_error = errorObj.name; + return true; + }; + </script> + <script type="module"> + import v from "./basic-large.css"; + document.adoptedStyleSheets = [v]; + </script> + + <div id="test"> + I am a test div. + </div> +</body> diff --git a/tests/wpt/web-platform-tests/web-nfc/NDEFReader_scan.https.html b/tests/wpt/web-platform-tests/web-nfc/NDEFReader_scan.https.html index ba101d67e5d..281f3db5b7b 100644 --- a/tests/wpt/web-platform-tests/web-nfc/NDEFReader_scan.https.html +++ b/tests/wpt/web-platform-tests/web-nfc/NDEFReader_scan.https.html @@ -298,6 +298,7 @@ nfc_test(async (t, mockNFC) => { const promise2 = promise_rejects_dom(t, 'InvalidStateError', ndef.scan()); await promise1; await promise2; + await promise_rejects_dom(t, 'InvalidStateError', ndef.scan()); }, "Test that NDEFReader.scan rejects if there is already an ongoing scan."); nfc_test(async (t, mockNFC) => { |