The HTML parser doesn't enforce the "Noah's Ark condition" from the HTML5 spec
authorabarth@webkit.org <abarth@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 19 Dec 2011 08:28:06 +0000 (08:28 +0000)
committerabarth@webkit.org <abarth@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 19 Dec 2011 08:28:06 +0000 (08:28 +0000)
https://bugs.webkit.org/show_bug.cgi?id=74828

Reviewed by Darin Adler.

Source/WebCore:

This patch implement the "Noah's Ark condition" from the HTML5
specification.  This condition limits the number of identitical
elements that can be in the list of active formatting elements.  I'm not
entirely sure that enforcing this condition is worth the complexity,
but given that we've come this far in support of the HTML5 parsing
algorithm, we might as well finish it.

After this patch, we pass all but one of the html5lib parsing tests!

Tests: html5lib/runner.html

* html/parser/HTMLFormattingElementList.cpp:
(WebCore::attributeCount):
(WebCore::HTMLFormattingElementList::append):
(WebCore::HTMLFormattingElementList::tryToEnsureNoahsArkConditionQuickly):
(WebCore::HTMLFormattingElementList::ensureNoahsArkCondition):
* html/parser/HTMLFormattingElementList.h:

LayoutTests:

Show test progression.

* fast/parser/residual-style-dom-expected.txt:
    - This isn't a great test because it's hard to see how changes
      affect the output.  However, we have good coverage of these
      topics in the HTML5lib tests.
* html5lib/runner-expected.txt:
* platform/chromium/html5lib/runner-expected.txt:

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

LayoutTests/ChangeLog
LayoutTests/fast/parser/residual-style-dom-expected.txt
LayoutTests/html5lib/runner-expected.txt
LayoutTests/platform/chromium/html5lib/runner-expected.txt
Source/WebCore/ChangeLog
Source/WebCore/html/parser/HTMLFormattingElementList.cpp
Source/WebCore/html/parser/HTMLFormattingElementList.h

index c9b7505..44a7e5d 100644 (file)
@@ -1,3 +1,19 @@
+2011-12-19  Adam Barth  <abarth@webkit.org>
+
+        The HTML parser doesn't enforce the "Noah's Ark condition" from the HTML5 spec
+        https://bugs.webkit.org/show_bug.cgi?id=74828
+
+        Reviewed by Darin Adler.
+
+        Show test progression.
+
+        * fast/parser/residual-style-dom-expected.txt:
+            - This isn't a great test because it's hard to see how changes
+              affect the output.  However, we have good coverage of these
+              topics in the HTML5lib tests.
+        * html5lib/runner-expected.txt:
+        * platform/chromium/html5lib/runner-expected.txt:
+
 2011-12-19  Benjamin Poulain  <bpoulain@apple.com>
 
         Add support for 8 bits strings to Document::isValidName()
index b709883..799ac55 100644 (file)
@@ -142,712 +142,80 @@ for (var i=0; i < kDepth; ++i) {
 |                                                                                                                                                                                                                                                                 <b>
 |                                                                                                                                                                                                                                                                   <div>
 |                                                                                                                                                                                                                                                                     <b>
-|                                                                                                                                                                                                                                                                     <div>
-|                                                                                                                                                                                                                                                                       <b>
-|                                                                                                                                                                                                                                                                         <b>
 |                                                                                                                                                                                                                                                                       <div>
 |                                                                                                                                                                                                                                                                         <b>
-|                                                                                                                                                                                                                                                                           <b>
-|                                                                                                                                                                                                                                                                             <b>
-|                                                                                                                                                                                                                                                                         <div>
-|                                                                                                                                                                                                                                                                           <b>
-|                                                                                                                                                                                                                                                                             <b>
-|                                                                                                                                                                                                                                                                               <b>
-|                                                                                                                                                                                                                                                                                 <b>
 |                                                                                                                                                                                                                                                                           <div>
 |                                                                                                                                                                                                                                                                             <b>
-|                                                                                                                                                                                                                                                                               <b>
-|                                                                                                                                                                                                                                                                                 <b>
-|                                                                                                                                                                                                                                                                                   <b>
-|                                                                                                                                                                                                                                                                                     <b>
-|                                                                                                                                                                                                                                                                             <div>
-|                                                                                                                                                                                                                                                                               <b>
-|                                                                                                                                                                                                                                                                                 <b>
-|                                                                                                                                                                                                                                                                                   <b>
-|                                                                                                                                                                                                                                                                                     <b>
-|                                                                                                                                                                                                                                                                                       <b>
-|                                                                                                                                                                                                                                                                                         <b>
 |                                                                                                                                                                                                                                                                               <div>
 |                                                                                                                                                                                                                                                                                 <b>
-|                                                                                                                                                                                                                                                                                   <b>
-|                                                                                                                                                                                                                                                                                     <b>
-|                                                                                                                                                                                                                                                                                       <b>
-|                                                                                                                                                                                                                                                                                         <b>
-|                                                                                                                                                                                                                                                                                           <b>
-|                                                                                                                                                                                                                                                                                             <b>
-|                                                                                                                                                                                                                                                                                 <div>
-|                                                                                                                                                                                                                                                                                   <b>
-|                                                                                                                                                                                                                                                                                     <b>
-|                                                                                                                                                                                                                                                                                       <b>
-|                                                                                                                                                                                                                                                                                         <b>
-|                                                                                                                                                                                                                                                                                           <b>
-|                                                                                                                                                                                                                                                                                             <b>
-|                                                                                                                                                                                                                                                                                               <b>
-|                                                                                                                                                                                                                                                                                                 <b>
 |                                                                                                                                                                                                                                                                                   <div>
 |                                                                                                                                                                                                                                                                                     <b>
-|                                                                                                                                                                                                                                                                                       <b>
-|                                                                                                                                                                                                                                                                                         <b>
-|                                                                                                                                                                                                                                                                                           <b>
-|                                                                                                                                                                                                                                                                                             <b>
-|                                                                                                                                                                                                                                                                                               <b>
-|                                                                                                                                                                                                                                                                                                 <b>
-|                                                                                                                                                                                                                                                                                                   <b>
-|                                                                                                                                                                                                                                                                                                     <b>
 |                                                                                                                                                                                                                                                                                       <div>
 |                                                                                                                                                                                                                                                                                         <b>
-|                                                                                                                                                                                                                                                                                           <b>
-|                                                                                                                                                                                                                                                                                             <b>
-|                                                                                                                                                                                                                                                                                               <b>
-|                                                                                                                                                                                                                                                                                                 <b>
-|                                                                                                                                                                                                                                                                                                   <b>
-|                                                                                                                                                                                                                                                                                                     <b>
-|                                                                                                                                                                                                                                                                                                       <b>
-|                                                                                                                                                                                                                                                                                                         <b>
-|                                                                                                                                                                                                                                                                                         <div>
-|                                                                                                                                                                                                                                                                                           <b>
-|                                                                                                                                                                                                                                                                                             <b>
-|                                                                                                                                                                                                                                                                                               <b>
-|                                                                                                                                                                                                                                                                                                 <b>
-|                                                                                                                                                                                                                                                                                                   <b>
-|                                                                                                                                                                                                                                                                                                     <b>
-|                                                                                                                                                                                                                                                                                                       <b>
-|                                                                                                                                                                                                                                                                                                         <b>
-|                                                                                                                                                                                                                                                                                                           <b>
-|                                                                                                                                                                                                                                                                                                             <b>
 |                                                                                                                                                                                                                                                                                           <div>
 |                                                                                                                                                                                                                                                                                             <b>
-|                                                                                                                                                                                                                                                                                               <b>
-|                                                                                                                                                                                                                                                                                                 <b>
-|                                                                                                                                                                                                                                                                                                   <b>
-|                                                                                                                                                                                                                                                                                                     <b>
-|                                                                                                                                                                                                                                                                                                       <b>
-|                                                                                                                                                                                                                                                                                                         <b>
-|                                                                                                                                                                                                                                                                                                           <b>
-|                                                                                                                                                                                                                                                                                                             <b>
-|                                                                                                                                                                                                                                                                                                               <b>
-|                                                                                                                                                                                                                                                                                                                 <b>
-|                                                                                                                                                                                                                                                                                             <div>
-|                                                                                                                                                                                                                                                                                               <b>
-|                                                                                                                                                                                                                                                                                                 <b>
-|                                                                                                                                                                                                                                                                                                   <b>
-|                                                                                                                                                                                                                                                                                                     <b>
-|                                                                                                                                                                                                                                                                                                       <b>
-|                                                                                                                                                                                                                                                                                                         <b>
-|                                                                                                                                                                                                                                                                                                           <b>
-|                                                                                                                                                                                                                                                                                                             <b>
-|                                                                                                                                                                                                                                                                                                               <b>
-|                                                                                                                                                                                                                                                                                                                 <b>
-|                                                                                                                                                                                                                                                                                                                   <b>
-|                                                                                                                                                                                                                                                                                                                     <b>
 |                                                                                                                                                                                                                                                                                               <div>
 |                                                                                                                                                                                                                                                                                                 <b>
-|                                                                                                                                                                                                                                                                                                   <b>
-|                                                                                                                                                                                                                                                                                                     <b>
-|                                                                                                                                                                                                                                                                                                       <b>
-|                                                                                                                                                                                                                                                                                                         <b>
-|                                                                                                                                                                                                                                                                                                           <b>
-|                                                                                                                                                                                                                                                                                                             <b>
-|                                                                                                                                                                                                                                                                                                               <b>
-|                                                                                                                                                                                                                                                                                                                 <b>
-|                                                                                                                                                                                                                                                                                                                   <b>
-|                                                                                                                                                                                                                                                                                                                     <b>
-|                                                                                                                                                                                                                                                                                                                       <b>
-|                                                                                                                                                                                                                                                                                                                         <b>
-|                                                                                                                                                                                                                                                                                                 <div>
-|                                                                                                                                                                                                                                                                                                   <b>
-|                                                                                                                                                                                                                                                                                                     <b>
-|                                                                                                                                                                                                                                                                                                       <b>
-|                                                                                                                                                                                                                                                                                                         <b>
-|                                                                                                                                                                                                                                                                                                           <b>
-|                                                                                                                                                                                                                                                                                                             <b>
-|                                                                                                                                                                                                                                                                                                               <b>
-|                                                                                                                                                                                                                                                                                                                 <b>
-|                                                                                                                                                                                                                                                                                                                   <b>
-|                                                                                                                                                                                                                                                                                                                     <b>
-|                                                                                                                                                                                                                                                                                                                       <b>
-|                                                                                                                                                                                                                                                                                                                         <b>
-|                                                                                                                                                                                                                                                                                                                           <b>
-|                                                                                                                                                                                                                                                                                                                             <b>
 |                                                                                                                                                                                                                                                                                                   <div>
 |                                                                                                                                                                                                                                                                                                     <b>
-|                                                                                                                                                                                                                                                                                                       <b>
-|                                                                                                                                                                                                                                                                                                         <b>
-|                                                                                                                                                                                                                                                                                                           <b>
-|                                                                                                                                                                                                                                                                                                             <b>
-|                                                                                                                                                                                                                                                                                                               <b>
-|                                                                                                                                                                                                                                                                                                                 <b>
-|                                                                                                                                                                                                                                                                                                                   <b>
-|                                                                                                                                                                                                                                                                                                                     <b>
-|                                                                                                                                                                                                                                                                                                                       <b>
-|                                                                                                                                                                                                                                                                                                                         <b>
-|                                                                                                                                                                                                                                                                                                                           <b>
-|                                                                                                                                                                                                                                                                                                                             <b>
-|                                                                                                                                                                                                                                                                                                                               <b>
-|                                                                                                                                                                                                                                                                                                                                 <b>
-|                                                                                                                                                                                                                                                                                                     <div>
-|                                                                                                                                                                                                                                                                                                       <b>
-|                                                                                                                                                                                                                                                                                                         <b>
-|                                                                                                                                                                                                                                                                                                           <b>
-|                                                                                                                                                                                                                                                                                                             <b>
-|                                                                                                                                                                                                                                                                                                               <b>
-|                                                                                                                                                                                                                                                                                                                 <b>
-|                                                                                                                                                                                                                                                                                                                   <b>
-|                                                                                                                                                                                                                                                                                                                     <b>
-|                                                                                                                                                                                                                                                                                                                       <b>
-|                                                                                                                                                                                                                                                                                                                         <b>
-|                                                                                                                                                                                                                                                                                                                           <b>
-|                                                                                                                                                                                                                                                                                                                             <b>
-|                                                                                                                                                                                                                                                                                                                               <b>
-|                                                                                                                                                                                                                                                                                                                                 <b>
-|                                                                                                                                                                                                                                                                                                                                   <b>
-|                                                                                                                                                                                                                                                                                                                                     <b>
 |                                                                                                                                                                                                                                                                                                       <div>
 |                                                                                                                                                                                                                                                                                                         <b>
-|                                                                                                                                                                                                                                                                                                           <b>
-|                                                                                                                                                                                                                                                                                                             <b>
-|                                                                                                                                                                                                                                                                                                               <b>
-|                                                                                                                                                                                                                                                                                                                 <b>
-|                                                                                                                                                                                                                                                                                                                   <b>
-|                                                                                                                                                                                                                                                                                                                     <b>
-|                                                                                                                                                                                                                                                                                                                       <b>
-|                                                                                                                                                                                                                                                                                                                         <b>
-|                                                                                                                                                                                                                                                                                                                           <b>
-|                                                                                                                                                                                                                                                                                                                             <b>
-|                                                                                                                                                                                                                                                                                                                               <b>
-|                                                                                                                                                                                                                                                                                                                                 <b>
-|                                                                                                                                                                                                                                                                                                                                   <b>
-|                                                                                                                                                                                                                                                                                                                                     <b>
-|                                                                                                                                                                                                                                                                                                                                       <b>
-|                                                                                                                                                                                                                                                                                                                                         <b>
-|                                                                                                                                                                                                                                                                                                         <div>
-|                                                                                                                                                                                                                                                                                                           <b>
-|                                                                                                                                                                                                                                                                                                             <b>
-|                                                                                                                                                                                                                                                                                                               <b>
-|                                                                                                                                                                                                                                                                                                                 <b>
-|                                                                                                                                                                                                                                                                                                                   <b>
-|                                                                                                                                                                                                                                                                                                                     <b>
-|                                                                                                                                                                                                                                                                                                                       <b>
-|                                                                                                                                                                                                                                                                                                                         <b>
-|                                                                                                                                                                                                                                                                                                                           <b>
-|                                                                                                                                                                                                                                                                                                                             <b>
-|                                                                                                                                                                                                                                                                                                                               <b>
-|                                                                                                                                                                                                                                                                                                                                 <b>
-|                                                                                                                                                                                                                                                                                                                                   <b>
-|                                                                                                                                                                                                                                                                                                                                     <b>
-|                                                                                                                                                                                                                                                                                                                                       <b>
-|                                                                                                                                                                                                                                                                                                                                         <b>
-|                                                                                                                                                                                                                                                                                                                                           <b>
-|                                                                                                                                                                                                                                                                                                                                             <b>
 |                                                                                                                                                                                                                                                                                                           <div>
 |                                                                                                                                                                                                                                                                                                             <b>
-|                                                                                                                                                                                                                                                                                                               <b>
-|                                                                                                                                                                                                                                                                                                                 <b>
-|                                                                                                                                                                                                                                                                                                                   <b>
-|                                                                                                                                                                                                                                                                                                                     <b>
-|                                                                                                                                                                                                                                                                                                                       <b>
-|                                                                                                                                                                                                                                                                                                                         <b>
-|                                                                                                                                                                                                                                                                                                                           <b>
-|                                                                                                                                                                                                                                                                                                                             <b>
-|                                                                                                                                                                                                                                                                                                                               <b>
-|                                                                                                                                                                                                                                                                                                                                 <b>
-|                                                                                                                                                                                                                                                                                                                                   <b>
-|                                                                                                                                                                                                                                                                                                                                     <b>
-|                                                                                                                                                                                                                                                                                                                                       <b>
-|                                                                                                                                                                                                                                                                                                                                         <b>
-|                                                                                                                                                                                                                                                                                                                                           <b>
-|                                                                                                                                                                                                                                                                                                                                             <b>
-|                                                                                                                                                                                                                                                                                                                                               <b>
-|                                                                                                                                                                                                                                                                                                                                                 <b>
-|                                                                                                                                                                                                                                                                                                             <div>
-|                                                                                                                                                                                                                                                                                                               <b>
-|                                                                                                                                                                                                                                                                                                                 <b>
-|                                                                                                                                                                                                                                                                                                                   <b>
-|                                                                                                                                                                                                                                                                                                                     <b>
-|                                                                                                                                                                                                                                                                                                                       <b>
-|                                                                                                                                                                                                                                                                                                                         <b>
-|                                                                                                                                                                                                                                                                                                                           <b>
-|                                                                                                                                                                                                                                                                                                                             <b>
-|                                                                                                                                                                                                                                                                                                                               <b>
-|                                                                                                                                                                                                                                                                                                                                 <b>
-|                                                                                                                                                                                                                                                                                                                                   <b>
-|                                                                                                                                                                                                                                                                                                                                     <b>
-|                                                                                                                                                                                                                                                                                                                                       <b>
-|                                                                                                                                                                                                                                                                                                                                         <b>
-|                                                                                                                                                                                                                                                                                                                                           <b>
-|                                                                                                                                                                                                                                                                                                                                             <b>
-|                                                                                                                                                                                                                                                                                                                                               <b>
-|                                                                                                                                                                                                                                                                                                                                                 <b>
-|                                                                                                                                                                                                                                                                                                                                                   <b>
-|                                                                                                                                                                                                                                                                                                                                                     <b>
 |                                                                                                                                                                                                                                                                                                               <div>
 |                                                                                                                                                                                                                                                                                                                 <b>
-|                                                                                                                                                                                                                                                                                                                   <b>
-|                                                                                                                                                                                                                                                                                                                     <b>
-|                                                                                                                                                                                                                                                                                                                       <b>
-|                                                                                                                                                                                                                                                                                                                         <b>
-|                                                                                                                                                                                                                                                                                                                           <b>
-|                                                                                                                                                                                                                                                                                                                             <b>
-|                                                                                                                                                                                                                                                                                                                               <b>
-|                                                                                                                                                                                                                                                                                                                                 <b>
-|                                                                                                                                                                                                                                                                                                                                   <b>
-|                                                                                                                                                                                                                                                                                                                                     <b>
-|                                                                                                                                                                                                                                                                                                                                       <b>
-|                                                                                                                                                                                                                                                                                                                                         <b>
-|                                                                                                                                                                                                                                                                                                                                           <b>
-|                                                                                                                                                                                                                                                                                                                                             <b>
-|                                                                                                                                                                                                                                                                                                                                               <b>
-|                                                                                                                                                                                                                                                                                                                                                 <b>
-|                                                                                                                                                                                                                                                                                                                                                   <b>
-|                                                                                                                                                                                                                                                                                                                                                     <b>
-|                                                                                                                                                                                                                                                                                                                                                       <b>
-|                                                                                                                                                                                                                                                                                                                                                         <b>
-|                                                                                                                                                                                                                                                                                                                 <div>
-|                                                                                                                                                                                                                                                                                                                   <b>
-|                                                                                                                                                                                                                                                                                                                     <b>
-|                                                                                                                                                                                                                                                                                                                       <b>
-|                                                                                                                                                                                                                                                                                                                         <b>
-|                                                                                                                                                                                                                                                                                                                           <b>
-|                                                                                                                                                                                                                                                                                                                             <b>
-|                                                                                                                                                                                                                                                                                                                               <b>
-|                                                                                                                                                                                                                                                                                                                                 <b>
-|                                                                                                                                                                                                                                                                                                                                   <b>
-|                                                                                                                                                                                                                                                                                                                                     <b>
-|                                                                                                                                                                                                                                                                                                                                       <b>
-|                                                                                                                                                                                                                                                                                                                                         <b>
-|                                                                                                                                                                                                                                                                                                                                           <b>
-|                                                                                                                                                                                                                                                                                                                                             <b>
-|                                                                                                                                                                                                                                                                                                                                               <b>
-|                                                                                                                                                                                                                                                                                                                                                 <b>
-|                                                                                                                                                                                                                                                                                                                                                   <b>
-|                                                                                                                                                                                                                                                                                                                                                     <b>
-|                                                                                                                                                                                                                                                                                                                                                       <b>
-|                                                                                                                                                                                                                                                                                                                                                         <b>
-|                                                                                                                                                                                                                                                                                                                                                           <b>
-|                                                                                                                                                                                                                                                                                                                                                             <b>
 |                                                                                                                                                                                                                                                                                                                   <div>
 |                                                                                                                                                                                                                                                                                                                     <b>
-|                                                                                                                                                                                                                                                                                                                       <b>
-|                                                                                                                                                                                                                                                                                                                         <b>
-|                                                                                                                                                                                                                                                                                                                           <b>
-|                                                                                                                                                                                                                                                                                                                             <b>
-|                                                                                                                                                                                                                                                                                                                               <b>
-|                                                                                                                                                                                                                                                                                                                                 <b>
-|                                                                                                                                                                                                                                                                                                                                   <b>
-|                                                                                                                                                                                                                                                                                                                                     <b>
-|                                                                                                                                                                                                                                                                                                                                       <b>
-|                                                                                                                                                                                                                                                                                                                                         <b>
-|                                                                                                                                                                                                                                                                                                                                           <b>
-|                                                                                                                                                                                                                                                                                                                                             <b>
-|                                                                                                                                                                                                                                                                                                                                               <b>
-|                                                                                                                                                                                                                                                                                                                                                 <b>
-|                                                                                                                                                                                                                                                                                                                                                   <b>
-|                                                                                                                                                                                                                                                                                                                                                     <b>
-|                                                                                                                                                                                                                                                                                                                                                       <b>
-|                                                                                                                                                                                                                                                                                                                                                         <b>
-|                                                                                                                                                                                                                                                                                                                                                           <b>
-|                                                                                                                                                                                                                                                                                                                                                             <b>
-|                                                                                                                                                                                                                                                                                                                                                               <b>
-|                                                                                                                                                                                                                                                                                                                                                                 <b>
-|                                                                                                                                                                                                                                                                                                                     <div>
-|                                                                                                                                                                                                                                                                                                                       <b>
-|                                                                                                                                                                                                                                                                                                                         <b>
-|                                                                                                                                                                                                                                                                                                                           <b>
-|                                                                                                                                                                                                                                                                                                                             <b>
-|                                                                                                                                                                                                                                                                                                                               <b>
-|                                                                                                                                                                                                                                                                                                                                 <b>
-|                                                                                                                                                                                                                                                                                                                                   <b>
-|                                                                                                                                                                                                                                                                                                                                     <b>
-|                                                                                                                                                                                                                                                                                                                                       <b>
-|                                                                                                                                                                                                                                                                                                                                         <b>
-|                                                                                                                                                                                                                                                                                                                                           <b>
-|                                                                                                                                                                                                                                                                                                                                             <b>
-|                                                                                                                                                                                                                                                                                                                                               <b>
-|                                                                                                                                                                                                                                                                                                                                                 <b>
-|                                                                                                                                                                                                                                                                                                                                                   <b>
-|                                                                                                                                                                                                                                                                                                                                                     <b>
-|                                                                                                                                                                                                                                                                                                                                                       <b>
-|                                                                                                                                                                                                                                                                                                                                                         <b>
-|                                                                                                                                                                                                                                                                                                                                                           <b>
-|                                                                                                                                                                                                                                                                                                                                                             <b>
-|                                                                                                                                                                                                                                                                                                                                                               <b>
-|                                                                                                                                                                                                                                                                                                                                                                 <b>
-|                                                                                                                                                                                                                                                                                                                                                                   <b>
-|                                                                                                                                                                                                                                                                                                                                                                     <b>
 |                                                                                                                                                                                                                                                                                                                       <div>
 |                                                                                                                                                                                                                                                                                                                         <b>
-|                                                                                                                                                                                                                                                                                                                           <b>
-|                                                                                                                                                                                                                                                                                                                             <b>
-|                                                                                                                                                                                                                                                                                                                               <b>
-|                                                                                                                                                                                                                                                                                                                                 <b>
-|                                                                                                                                                                                                                                                                                                                                   <b>
-|                                                                                                                                                                                                                                                                                                                                     <b>
-|                                                                                                                                                                                                                                                                                                                                       <b>
-|                                                                                                                                                                                                                                                                                                                                         <b>
-|                                                                                                                                                                                                                                                                                                                                           <b>
-|                                                                                                                                                                                                                                                                                                                                             <b>
-|                                                                                                                                                                                                                                                                                                                                               <b>
-|                                                                                                                                                                                                                                                                                                                                                 <b>
-|                                                                                                                                                                                                                                                                                                                                                   <b>
-|                                                                                                                                                                                                                                                                                                                                                     <b>
-|                                                                                                                                                                                                                                                                                                                                                       <b>
-|                                                                                                                                                                                                                                                                                                                                                         <b>
-|                                                                                                                                                                                                                                                                                                                                                           <b>
-|                                                                                                                                                                                                                                                                                                                                                             <b>
-|                                                                                                                                                                                                                                                                                                                                                               <b>
-|                                                                                                                                                                                                                                                                                                                                                                 <b>
-|                                                                                                                                                                                                                                                                                                                                                                   <b>
-|                                                                                                                                                                                                                                                                                                                                                                     <b>
-|                                                                                                                                                                                                                                                                                                                                                                       <b>
-|                                                                                                                                                                                                                                                                                                                                                                         <b>
-|                                                                                                                                                                                                                                                                                                                         <div>
-|                                                                                                                                                                                                                                                                                                                           <b>
-|                                                                                                                                                                                                                                                                                                                             <b>
-|                                                                                                                                                                                                                                                                                                                               <b>
-|                                                                                                                                                                                                                                                                                                                                 <b>
-|                                                                                                                                                                                                                                                                                                                                   <b>
-|                                                                                                                                                                                                                                                                                                                                     <b>
-|                                                                                                                                                                                                                                                                                                                                       <b>
-|                                                                                                                                                                                                                                                                                                                                         <b>
-|                                                                                                                                                                                                                                                                                                                                           <b>
-|                                                                                                                                                                                                                                                                                                                                             <b>
-|                                                                                                                                                                                                                                                                                                                                               <b>
-|                                                                                                                                                                                                                                                                                                                                                 <b>
-|                                                                                                                                                                                                                                                                                                                                                   <b>
-|                                                                                                                                                                                                                                                                                                                                                     <b>
-|                                                                                                                                                                                                                                                                                                                                                       <b>
-|                                                                                                                                                                                                                                                                                                                                                         <b>
-|                                                                                                                                                                                                                                                                                                                                                           <b>
-|                                                                                                                                                                                                                                                                                                                                                             <b>
-|                                                                                                                                                                                                                                                                                                                                                               <b>
-|                                                                                                                                                                                                                                                                                                                                                                 <b>
-|                                                                                                                                                                                                                                                                                                                                                                   <b>
-|                                                                                                                                                                                                                                                                                                                                                                     <b>
-|                                                                                                                                                                                                                                                                                                                                                                       <b>
-|                                                                                                                                                                                                                                                                                                                                                                         <b>
-|                                                                                                                                                                                                                                                                                                                                                                           <b>
-|                                                                                                                                                                                                                                                                                                                                                                             <b>
 |                                                                                                                                                                                                                                                                                                                           <div>
 |                                                                                                                                                                                                                                                                                                                             <b>
-|                                                                                                                                                                                                                                                                                                                               <b>
-|                                                                                                                                                                                                                                                                                                                                 <b>
-|                                                                                                                                                                                                                                                                                                                                   <b>
-|                                                                                                                                                                                                                                                                                                                                     <b>
-|                                                                                                                                                                                                                                                                                                                                       <b>
-|                                                                                                                                                                                                                                                                                                                                         <b>
-|                                                                                                                                                                                                                                                                                                                                           <b>
-|                                                                                                                                                                                                                                                                                                                                             <b>
-|                                                                                                                                                                                                                                                                                                                                               <b>
-|                                                                                                                                                                                                                                                                                                                                                 <b>
-|                                                                                                                                                                                                                                                                                                                                                   <b>
-|                                                                                                                                                                                                                                                                                                                                                     <b>
-|                                                                                                                                                                                                                                                                                                                                                       <b>
-|                                                                                                                                                                                                                                                                                                                                                         <b>
-|                                                                                                                                                                                                                                                                                                                                                           <b>
-|                                                                                                                                                                                                                                                                                                                                                             <b>
-|                                                                                                                                                                                                                                                                                                                                                               <b>
-|                                                                                                                                                                                                                                                                                                                                                                 <b>
-|                                                                                                                                                                                                                                                                                                                                                                   <b>
-|                                                                                                                                                                                                                                                                                                                                                                     <b>
-|                                                                                                                                                                                                                                                                                                                                                                       <b>
-|                                                                                                                                                                                                                                                                                                                                                                         <b>
-|                                                                                                                                                                                                                                                                                                                                                                           <b>
-|                                                                                                                                                                                                                                                                                                                                                                             <b>
-|                                                                                                                                                                                                                                                                                                                                                                               <b>
-|                                                                                                                                                                                                                                                                                                                                                                                 <b>
-|                                                                                                                                                                                                                                                                                                                             <div>
-|                                                                                                                                                                                                                                                                                                                               <b>
-|                                                                                                                                                                                                                                                                                                                                 <b>
-|                                                                                                                                                                                                                                                                                                                                   <b>
-|                                                                                                                                                                                                                                                                                                                                     <b>
-|                                                                                                                                                                                                                                                                                                                                       <b>
-|                                                                                                                                                                                                                                                                                                                                         <b>
-|                                                                                                                                                                                                                                                                                                                                           <b>
-|                                                                                                                                                                                                                                                                                                                                             <b>
-|                                                                                                                                                                                                                                                                                                                                               <b>
-|                                                                                                                                                                                                                                                                                                                                                 <b>
-|                                                                                                                                                                                                                                                                                                                                                   <b>
-|                                                                                                                                                                                                                                                                                                                                                     <b>
-|                                                                                                                                                                                                                                                                                                                                                       <b>
-|                                                                                                                                                                                                                                                                                                                                                         <b>
-|                                                                                                                                                                                                                                                                                                                                                           <b>
-|                                                                                                                                                                                                                                                                                                                                                             <b>
-|                                                                                                                                                                                                                                                                                                                                                               <b>
-|                                                                                                                                                                                                                                                                                                                                                                 <b>
-|                                                                                                                                                                                                                                                                                                                                                                   <b>
-|                                                                                                                                                                                                                                                                                                                                                                     <b>
-|                                                                                                                                                                                                                                                                                                                                                                       <b>
-|                                                                                                                                                                                                                                                                                                                                                                         <b>
-|                                                                                                                                                                                                                                                                                                                                                                           <b>
-|                                                                                                                                                                                                                                                                                                                                                                             <b>
-|                                                                                                                                                                                                                                                                                                                                                                               <b>
-|                                                                                                                                                                                                                                                                                                                                                                                 <b>
-|                                                                                                                                                                                                                                                                                                                                                                                   <b>
-|                                                                                                                                                                                                                                                                                                                                                                                     <b>
 |                                                                                                                                                                                                                                                                                                                               <div>
 |                                                                                                                                                                                                                                                                                                                                 <b>
-|                                                                                                                                                                                                                                                                                                                                   <b>
-|                                                                                                                                                                                                                                                                                                                                     <b>
-|                                                                                                                                                                                                                                                                                                                                       <b>
-|                                                                                                                                                                                                                                                                                                                                         <b>
-|                                                                                                                                                                                                                                                                                                                                           <b>
-|                                                                                                                                                                                                                                                                                                                                             <b>
-|                                                                                                                                                                                                                                                                                                                                               <b>
-|                                                                                                                                                                                                                                                                                                                                                 <b>
-|                                                                                                                                                                                                                                                                                                                                                   <b>
-|                                                                                                                                                                                                                                                                                                                                                     <b>
-|                                                                                                                                                                                                                                                                                                                                                       <b>
-|                                                                                                                                                                                                                                                                                                                                                         <b>
-|                                                                                                                                                                                                                                                                                                                                                           <b>
-|                                                                                                                                                                                                                                                                                                                                                             <b>
-|                                                                                                                                                                                                                                                                                                                                                               <b>
-|                                                                                                                                                                                                                                                                                                                                                                 <b>
-|                                                                                                                                                                                                                                                                                                                                                                   <b>
-|                                                                                                                                                                                                                                                                                                                                                                     <b>
-|                                                                                                                                                                                                                                                                                                                                                                       <b>
-|                                                                                                                                                                                                                                                                                                                                                                         <b>
-|                                                                                                                                                                                                                                                                                                                                                                           <b>
-|                                                                                                                                                                                                                                                                                                                                                                             <b>
-|                                                                                                                                                                                                                                                                                                                                                                               <b>
-|                                                                                                                                                                                                                                                                                                                                                                                 <b>
-|                                                                                                                                                                                                                                                                                                                                                                                   <b>
-|                                                                                                                                                                                                                                                                                                                                                                                     <b>
-|                                                                                                                                                                                                                                                                                                                                                                                       <b>
-|                                                                                                                                                                                                                                                                                                                                                                                         <b>
-|                                                                                                                                                                                                                                                                                                                                 <div>
-|                                                                                                                                                                                                                                                                                                                                   <b>
-|                                                                                                                                                                                                                                                                                                                                     <b>
-|                                                                                                                                                                                                                                                                                                                                       <b>
-|                                                                                                                                                                                                                                                                                                                                         <b>
-|                                                                                                                                                                                                                                                                                                                                           <b>
-|                                                                                                                                                                                                                                                                                                                                             <b>
-|                                                                                                                                                                                                                                                                                                                                               <b>
-|                                                                                                                                                                                                                                                                                                                                                 <b>
-|                                                                                                                                                                                                                                                                                                                                                   <b>
-|                                                                                                                                                                                                                                                                                                                                                     <b>
-|                                                                                                                                                                                                                                                                                                                                                       <b>
-|                                                                                                                                                                                                                                                                                                                                                         <b>
-|                                                                                                                                                                                                                                                                                                                                                           <b>
-|                                                                                                                                                                                                                                                                                                                                                             <b>
-|                                                                                                                                                                                                                                                                                                                                                               <b>
-|                                                                                                                                                                                                                                                                                                                                                                 <b>
-|                                                                                                                                                                                                                                                                                                                                                                   <b>
-|                                                                                                                                                                                                                                                                                                                                                                     <b>
-|                                                                                                                                                                                                                                                                                                                                                                       <b>
-|                                                                                                                                                                                                                                                                                                                                                                         <b>
-|                                                                                                                                                                                                                                                                                                                                                                           <b>
-|                                                                                                                                                                                                                                                                                                                                                                             <b>
-|                                                                                                                                                                                                                                                                                                                                                                               <b>
-|                                                                                                                                                                                                                                                                                                                                                                                 <b>
-|                                                                                                                                                                                                                                                                                                                                                                                   <b>
-|                                                                                                                                                                                                                                                                                                                                                                                     <b>
-|                                                                                                                                                                                                                                                                                                                                                                                       <b>
-|                                                                                                                                                                                                                                                                                                                                                                                         <b>
-|                                                                                                                                                                                                                                                                                                                                                                                           <b>
-|                                                                                                                                                                                                                                                                                                                                                                                             <b>
 |                                                                                                                                                                                                                                                                                                                                   <div>
 |                                                                                                                                                                                                                                                                                                                                     <b>
-|                                                                                                                                                                                                                                                                                                                                       <b>
-|                                                                                                                                                                                                                                                                                                                                         <b>
-|                                                                                                                                                                                                                                                                                                                                           <b>
-|                                                                                                                                                                                                                                                                                                                                             <b>
-|                                                                                                                                                                                                                                                                                                                                               <b>
-|                                                                                                                                                                                                                                                                                                                                                 <b>
-|                                                                                                                                                                                                                                                                                                                                                   <b>
-|                                                                                                                                                                                                                                                                                                                                                     <b>
-|                                                                                                                                                                                                                                                                                                                                                       <b>
-|                                                                                                                                                                                                                                                                                                                                                         <b>
-|                                                                                                                                                                                                                                                                                                                                                           <b>
-|                                                                                                                                                                                                                                                                                                                                                             <b>
-|                                                                                                                                                                                                                                                                                                                                                               <b>
-|                                                                                                                                                                                                                                                                                                                                                                 <b>
-|                                                                                                                                                                                                                                                                                                                                                                   <b>
-|                                                                                                                                                                                                                                                                                                                                                                     <b>
-|