summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorot <ot@localhost>2007-07-03 03:31:25 +0000
committerot <ot@localhost>2007-07-03 03:31:25 +0000
commitba07b809b22e1863d83ba3ada5ec82defbc2204e (patch)
tree826691590e9606009e9ba01b428f20dd99d184ce
parent9f76285239eb7655b00d1d622c265fe7c24763d3 (diff)
downloadmarkup-validator-ba07b809b22e1863d83ba3ada5ec82defbc2204e.zip
markup-validator-ba07b809b22e1863d83ba3ada5ec82defbc2204e.tar.gz
markup-validator-ba07b809b22e1863d83ba3ada5ec82defbc2204e.tar.bz2
bundling the "valid" icons with the validator.
The icons are distributed under w3c document license, need to mention it in doc/readme
-rw-r--r--htdocs/images/valid_icons/valid-css-blue-v.svg365
-rw-r--r--htdocs/images/valid_icons/valid-css-blue.gifbin0 -> 1759 bytes
-rw-r--r--htdocs/images/valid_icons/valid-css-blue.pngbin0 -> 1394 bytes
-rw-r--r--htdocs/images/valid_icons/valid-css-v.svg367
-rw-r--r--htdocs/images/valid_icons/valid-css.gifbin0 -> 1701 bytes
-rw-r--r--htdocs/images/valid_icons/valid-css.pngbin0 -> 1428 bytes
-rw-r--r--htdocs/images/valid_icons/valid-css1-blue-v.svg373
-rw-r--r--htdocs/images/valid_icons/valid-css1-blue.gifbin0 -> 1887 bytes
-rw-r--r--htdocs/images/valid_icons/valid-css1-blue.pngbin0 -> 1556 bytes
-rw-r--r--htdocs/images/valid_icons/valid-css1-v.svg375
-rw-r--r--htdocs/images/valid_icons/valid-css1.gifbin0 -> 1845 bytes
-rw-r--r--htdocs/images/valid_icons/valid-css1.pngbin0 -> 1557 bytes
-rw-r--r--htdocs/images/valid_icons/valid-css2-blue-v.svg373
-rw-r--r--htdocs/images/valid_icons/valid-css2-blue.gifbin0 -> 2067 bytes
-rw-r--r--htdocs/images/valid_icons/valid-css2-blue.pngbin0 -> 2075 bytes
-rw-r--r--htdocs/images/valid_icons/valid-css2-v.svg375
-rw-r--r--htdocs/images/valid_icons/valid-css2.gifbin0 -> 1852 bytes
-rw-r--r--htdocs/images/valid_icons/valid-css2.pngbin0 -> 1588 bytes
-rw-r--r--htdocs/images/valid_icons/valid-html20-blue-v.svg329
-rw-r--r--htdocs/images/valid_icons/valid-html20-blue.gifbin0 -> 2016 bytes
-rw-r--r--htdocs/images/valid_icons/valid-html20-blue.pngbin0 -> 1644 bytes
-rw-r--r--htdocs/images/valid_icons/valid-html20-v.svg331
-rw-r--r--htdocs/images/valid_icons/valid-html20.gifbin0 -> 1866 bytes
-rw-r--r--htdocs/images/valid_icons/valid-html20.pngbin0 -> 1554 bytes
-rw-r--r--htdocs/images/valid_icons/valid-html32-blue-v.svg329
-rw-r--r--htdocs/images/valid_icons/valid-html32-blue.gifbin0 -> 1935 bytes
-rw-r--r--htdocs/images/valid_icons/valid-html32-blue.pngbin0 -> 1556 bytes
-rw-r--r--htdocs/images/valid_icons/valid-html32-v.svg331
-rw-r--r--htdocs/images/valid_icons/valid-html32.gifbin0 -> 1873 bytes
-rw-r--r--htdocs/images/valid_icons/valid-html32.pngbin0 -> 1537 bytes
-rw-r--r--htdocs/images/valid_icons/valid-html40-blue-v.svg244
-rw-r--r--htdocs/images/valid_icons/valid-html40-blue.gifbin0 -> 1999 bytes
-rw-r--r--htdocs/images/valid_icons/valid-html40-blue.pngbin0 -> 1606 bytes
-rw-r--r--htdocs/images/valid_icons/valid-html40-v.svg246
-rw-r--r--htdocs/images/valid_icons/valid-html40.gifbin0 -> 1863 bytes
-rw-r--r--htdocs/images/valid_icons/valid-html40.pngbin0 -> 1532 bytes
-rw-r--r--htdocs/images/valid_icons/valid-html401-blue-v.svg245
-rw-r--r--htdocs/images/valid_icons/valid-html401-blue.gifbin0 -> 2056 bytes
-rw-r--r--htdocs/images/valid_icons/valid-html401-blue.pngbin0 -> 1669 bytes
-rw-r--r--htdocs/images/valid_icons/valid-html401-v.svg247
-rw-r--r--htdocs/images/valid_icons/valid-html401.gifbin0 -> 1894 bytes
-rw-r--r--htdocs/images/valid_icons/valid-html401.pngbin0 -> 1542 bytes
-rw-r--r--htdocs/images/valid_icons/valid-mathml20-blue-v.svg325
-rw-r--r--htdocs/images/valid_icons/valid-mathml20-blue.gifbin0 -> 2045 bytes
-rw-r--r--htdocs/images/valid_icons/valid-mathml20-blue.pngbin0 -> 1889 bytes
-rw-r--r--htdocs/images/valid_icons/valid-mathml20-v.svg325
-rw-r--r--htdocs/images/valid_icons/valid-mathml20.gifbin0 -> 1965 bytes
-rw-r--r--htdocs/images/valid_icons/valid-mathml20.pngbin0 -> 1984 bytes
-rw-r--r--htdocs/images/valid_icons/valid-svg10-blue-v.svg370
-rw-r--r--htdocs/images/valid_icons/valid-svg10-blue.gifbin0 -> 1966 bytes
-rw-r--r--htdocs/images/valid_icons/valid-svg10-blue.pngbin0 -> 1611 bytes
-rw-r--r--htdocs/images/valid_icons/valid-svg10-v.svg372
-rw-r--r--htdocs/images/valid_icons/valid-svg10.gifbin0 -> 1826 bytes
-rw-r--r--htdocs/images/valid_icons/valid-svg10.pngbin0 -> 1835 bytes
-rw-r--r--htdocs/images/valid_icons/valid-svg11-blue-v.svg370
-rw-r--r--htdocs/images/valid_icons/valid-svg11-blue.gifbin0 -> 1986 bytes
-rw-r--r--htdocs/images/valid_icons/valid-svg11-blue.pngbin0 -> 1967 bytes
-rw-r--r--htdocs/images/valid_icons/valid-svg11-v.svg372
-rw-r--r--htdocs/images/valid_icons/valid-svg11.gifbin0 -> 1802 bytes
-rw-r--r--htdocs/images/valid_icons/valid-svg11.pngbin0 -> 1812 bytes
-rw-r--r--htdocs/images/valid_icons/valid-svg12-blue-v.svg370
-rw-r--r--htdocs/images/valid_icons/valid-svg12-blue.gifbin0 -> 1997 bytes
-rw-r--r--htdocs/images/valid_icons/valid-svg12-blue.pngbin0 -> 1646 bytes
-rw-r--r--htdocs/images/valid_icons/valid-svg12-v.svg372
-rw-r--r--htdocs/images/valid_icons/valid-svg12.gifbin0 -> 1809 bytes
-rw-r--r--htdocs/images/valid_icons/valid-svg12.pngbin0 -> 1519 bytes
-rw-r--r--htdocs/images/valid_icons/valid-svgtiny11-blue-v.svg322
-rw-r--r--htdocs/images/valid_icons/valid-svgtiny11-blue.gifbin0 -> 2021 bytes
-rw-r--r--htdocs/images/valid_icons/valid-svgtiny11-blue.pngbin0 -> 1692 bytes
-rw-r--r--htdocs/images/valid_icons/valid-svgtiny11-v.svg324
-rw-r--r--htdocs/images/valid_icons/valid-svgtiny11.gifbin0 -> 2005 bytes
-rw-r--r--htdocs/images/valid_icons/valid-svgtiny11.pngbin0 -> 1747 bytes
-rw-r--r--htdocs/images/valid_icons/valid-svgtiny12-blue-v.svg322
-rw-r--r--htdocs/images/valid_icons/valid-svgtiny12-blue.gifbin0 -> 2038 bytes
-rw-r--r--htdocs/images/valid_icons/valid-svgtiny12-blue.pngbin0 -> 1688 bytes
-rw-r--r--htdocs/images/valid_icons/valid-svgtiny12-v.svg324
-rw-r--r--htdocs/images/valid_icons/valid-svgtiny12.gifbin0 -> 2006 bytes
-rw-r--r--htdocs/images/valid_icons/valid-svgtiny12.pngbin0 -> 1761 bytes
-rw-r--r--htdocs/images/valid_icons/valid-xhtml-rdfa-blue-v.svg209
-rw-r--r--htdocs/images/valid_icons/valid-xhtml-rdfa-blue.gifbin0 -> 1958 bytes
-rw-r--r--htdocs/images/valid_icons/valid-xhtml-rdfa-blue.pngbin0 -> 2033 bytes
-rw-r--r--htdocs/images/valid_icons/valid-xhtml-rdfa-v.svg209
-rw-r--r--htdocs/images/valid_icons/valid-xhtml-rdfa.gifbin0 -> 1960 bytes
-rw-r--r--htdocs/images/valid_icons/valid-xhtml-rdfa.pngbin0 -> 1940 bytes
-rw-r--r--htdocs/images/valid_icons/valid-xhtml10-blue-v.svg223
-rw-r--r--htdocs/images/valid_icons/valid-xhtml10-blue.gifbin0 -> 2065 bytes
-rw-r--r--htdocs/images/valid_icons/valid-xhtml10-blue.pngbin0 -> 2026 bytes
-rw-r--r--htdocs/images/valid_icons/valid-xhtml10-v.svg225
-rw-r--r--htdocs/images/valid_icons/valid-xhtml10.gifbin0 -> 1916 bytes
-rw-r--r--htdocs/images/valid_icons/valid-xhtml10.pngbin0 -> 1882 bytes
-rw-r--r--htdocs/images/valid_icons/valid-xhtml11-blue-v.svg372
-rw-r--r--htdocs/images/valid_icons/valid-xhtml11-blue.gifbin0 -> 2061 bytes
-rw-r--r--htdocs/images/valid_icons/valid-xhtml11-blue.pngbin0 -> 2037 bytes
-rw-r--r--htdocs/images/valid_icons/valid-xhtml11-v.svg374
-rw-r--r--htdocs/images/valid_icons/valid-xhtml11.gifbin0 -> 1887 bytes
-rw-r--r--htdocs/images/valid_icons/valid-xhtml11.pngbin0 -> 1842 bytes
-rw-r--r--htdocs/images/valid_icons/valid-xhtml20-blue-v.svg372
-rw-r--r--htdocs/images/valid_icons/valid-xhtml20-blue.gifbin0 -> 1998 bytes
-rw-r--r--htdocs/images/valid_icons/valid-xhtml20-blue.pngbin0 -> 1963 bytes
-rw-r--r--htdocs/images/valid_icons/valid-xhtml20-v.svg374
-rw-r--r--htdocs/images/valid_icons/valid-xhtml20.gifbin0 -> 1929 bytes
-rw-r--r--htdocs/images/valid_icons/valid-xhtml20.pngbin0 -> 1902 bytes
-rw-r--r--htdocs/images/valid_icons/valid-xhtmlbasic10-blue-v.svg329
-rw-r--r--htdocs/images/valid_icons/valid-xhtmlbasic10-blue.gifbin0 -> 2090 bytes
-rw-r--r--htdocs/images/valid_icons/valid-xhtmlbasic10-blue.pngbin0 -> 2043 bytes
-rw-r--r--htdocs/images/valid_icons/valid-xhtmlbasic10-v.svg331
-rw-r--r--htdocs/images/valid_icons/valid-xhtmlbasic10.gifbin0 -> 2050 bytes
-rw-r--r--htdocs/images/valid_icons/valid-xhtmlbasic10.pngbin0 -> 2037 bytes
-rw-r--r--htdocs/images/valid_icons/valid-xhtmlprint10-blue-v.svg329
-rw-r--r--htdocs/images/valid_icons/valid-xhtmlprint10-blue.gifbin0 -> 2088 bytes
-rw-r--r--htdocs/images/valid_icons/valid-xhtmlprint10-blue.pngbin0 -> 2042 bytes
-rw-r--r--htdocs/images/valid_icons/valid-xhtmlprint10-v.svg331
-rw-r--r--htdocs/images/valid_icons/valid-xhtmlprint10.gifbin0 -> 2046 bytes
-rw-r--r--htdocs/images/valid_icons/valid-xhtmlprint10.pngbin0 -> 2015 bytes
-rw-r--r--htdocs/images/valid_icons/valid-xml10-blue-v.svg243
-rw-r--r--htdocs/images/valid_icons/valid-xml10-blue.gifbin0 -> 1870 bytes
-rw-r--r--htdocs/images/valid_icons/valid-xml10-blue.pngbin0 -> 1846 bytes
-rw-r--r--htdocs/images/valid_icons/valid-xml10-v.svg245
-rw-r--r--htdocs/images/valid_icons/valid-xml10.gifbin0 -> 1814 bytes
-rw-r--r--htdocs/images/valid_icons/valid-xml10.pngbin0 -> 1822 bytes
-rw-r--r--htdocs/images/valid_icons/valid-xml11-blue-v.svg243
-rw-r--r--htdocs/images/valid_icons/valid-xml11-blue.gifbin0 -> 1889 bytes
-rw-r--r--htdocs/images/valid_icons/valid-xml11-blue.pngbin0 -> 1886 bytes
-rw-r--r--htdocs/images/valid_icons/valid-xml11-v.svg245
-rw-r--r--htdocs/images/valid_icons/valid-xml11.gifbin0 -> 1789 bytes
-rw-r--r--htdocs/images/valid_icons/valid-xml11.pngbin0 -> 1487 bytes
126 files changed, 13352 insertions, 0 deletions
diff --git a/htdocs/images/valid_icons/valid-css-blue-v.svg b/htdocs/images/valid_icons/valid-css-blue-v.svg
new file mode 100644
index 0000000..39c0a80
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-css-blue-v.svg
@@ -0,0 +1,365 @@
+<?xml version='1.0' encoding='iso-8859-1'?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns='http://www.w3.org/2000/svg' xml:space='preserve' version='1.1' overflow='visible' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 88 31'>
+ <g shape-rendering='geometricPrecision' text-rendering='geometricPrecision' image-rendering='optimizeQuality'>
+ <g shape-rendering='geometricPrecision' text-rendering='geometricPrecision' image-rendering='optimizeQuality'>
+ <g id='Background'>
+ </g>
+ <g id='Guides'>
+ </g>
+ <g id='Foreground'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#B3CEE1'/>
+ <path d='M41.5,15.5' fill='#B3CEE1'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#FFFFFF'/>
+ <path d='M18.587,15.5' fill='#FFFFFF'/>
+ </g>
+ <g>
+ <polygon points='4.692,2.291 44.697,2.291 44.697,26.897 4.692,26.897 4.692,2.291 ' fill='none'/>
+ <path d='M24.695,14.594' fill='none'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_640_'/>
+ </defs>
+ <use xlink:href='#XMLID_640_' fill='#504D4C'/>
+ <clipPath id='XMLID_666_'>
+ <use xlink:href='#XMLID_640_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_666_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#48494B'/>
+ <path d='M41.5,15.5' fill='#48494B'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#4F4F4F'/>
+ <path d='M18.587,15.5' fill='#4F4F4F'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='82,0 83,0 83,31 82,31 82,0 ' id='XMLID_642_'/>
+ </defs>
+ <use xlink:href='#XMLID_642_' fill='#504D4C'/>
+ <clipPath id='XMLID_667_'>
+ <use xlink:href='#XMLID_642_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_667_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#48494B'/>
+ <path d='M41.5,15.5' fill='#48494B'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_644_'/>
+ </defs>
+ <use xlink:href='#XMLID_644_' fill='#191919'/>
+ <clipPath id='XMLID_668_'>
+ <use xlink:href='#XMLID_644_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_668_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#181818'/>
+ <path d='M41.5,15.5' fill='#181818'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#191919'/>
+ <path d='M18.587,15.5' fill='#191919'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <polygon points='0,0 1,0 1,31 0,31 0,0 ' fill='#CCCCCC'/>
+ <path d='M0.5,15.5' fill='#CCCCCC'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='2.16,29.005 82.16,29.005 82.16,30.005 2.16,30.005 2.16,29.005 ' id='XMLID_646_'/>
+ </defs>
+ <use xlink:href='#XMLID_646_' fill='#9E9C9C'/>
+ <clipPath id='XMLID_669_'>
+ <use xlink:href='#XMLID_646_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_669_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#9097A0'/>
+ <path d='M41.5,15.5' fill='#9097A0'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#B5B5B5'/>
+ <path d='M18.587,15.5' fill='#B5B5B5'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_648_'/>
+ </defs>
+ <use xlink:href='#XMLID_648_' fill='#383838'/>
+ <clipPath id='XMLID_670_'>
+ <use xlink:href='#XMLID_648_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_670_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#343536'/>
+ <path d='M41.5,15.5' fill='#343536'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#383838'/>
+ <path d='M18.587,15.5' fill='#383838'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='82,0 83,0 83,31 82,31 82,0 ' id='XMLID_650_'/>
+ </defs>
+ <use xlink:href='#XMLID_650_' fill='#383838'/>
+ <clipPath id='XMLID_671_'>
+ <use xlink:href='#XMLID_650_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_671_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#343536'/>
+ <path d='M41.5,15.5' fill='#343536'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_652_'/>
+ </defs>
+ <use xlink:href='#XMLID_652_' fill='#131313'/>
+ <clipPath id='XMLID_672_'>
+ <use xlink:href='#XMLID_652_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_672_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#131313'/>
+ <path d='M41.5,15.5' fill='#131313'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#131313'/>
+ <path d='M18.587,15.5' fill='#131313'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='80.806,1 81.806,1 81.806,31 80.806,31 80.806,1 ' id='XMLID_654_'/>
+ </defs>
+ <use xlink:href='#XMLID_654_' fill='#9E9C9C'/>
+ <clipPath id='XMLID_673_'>
+ <use xlink:href='#XMLID_654_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_673_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#9097A0'/>
+ <path d='M41.5,15.5' fill='#9097A0'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_656_'/>
+ </defs>
+ <use xlink:href='#XMLID_656_' fill='#383838'/>
+ <clipPath id='XMLID_674_'>
+ <use xlink:href='#XMLID_656_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_674_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#343536'/>
+ <path d='M41.5,15.5' fill='#343536'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#383838'/>
+ <path d='M18.587,15.5' fill='#383838'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='2.16,29.005 82.16,29.005 82.16,30.005 2.16,30.005 2.16,29.005 ' id='XMLID_658_'/>
+ </defs>
+ <use xlink:href='#XMLID_658_' fill='#818181'/>
+ <clipPath id='XMLID_675_'>
+ <use xlink:href='#XMLID_658_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_675_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#6E7176'/>
+ <path d='M41.5,15.5' fill='#6E7176'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#818181'/>
+ <path d='M18.587,15.5' fill='#818181'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_660_'/>
+ </defs>
+ <use xlink:href='#XMLID_660_' fill='#272727'/>
+ <clipPath id='XMLID_676_'>
+ <use xlink:href='#XMLID_660_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_676_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#252626'/>
+ <path d='M41.5,15.5' fill='#252626'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#272727'/>
+ <path d='M18.587,15.5' fill='#272727'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='82,0 83,0 83,31 82,31 82,0 ' id='XMLID_662_'/>
+ </defs>
+ <use xlink:href='#XMLID_662_' fill='#272727'/>
+ <clipPath id='XMLID_677_'>
+ <use xlink:href='#XMLID_662_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_677_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#252626'/>
+ <path d='M41.5,15.5' fill='#252626'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_664_'/>
+ </defs>
+ <use xlink:href='#XMLID_664_' fill='#101010'/>
+ <clipPath id='XMLID_678_'>
+ <use xlink:href='#XMLID_664_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_678_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#101010'/>
+ <path d='M41.5,15.5' fill='#101010'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#101010'/>
+ <path d='M18.587,15.5' fill='#101010'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,1 0,1 0,0 ' fill='#CCCCCC'/>
+ <path d='M41.5,0.5' fill='#CCCCCC'/>
+ </g>
+ <g>
+ <polyline fill-rule='evenodd' stroke='#005A9C' points=' 68.273,18.844 74.291,24.348 86.001,12.637 ' clip-rule='evenodd' stroke-miterlimit='3.8637' stroke-width='4.8117' fill='none'/>
+ </g>
+ <g>
+ <path clip-rule='evenodd' d='M45.772,18.318c-0.345,0.179-0.705,0.314-1.079,0.406 c-0.375,0.091-0.765,0.136-1.172,0.136c-1.214,0-2.176-0.338-2.886-1.015c-0.71-0.681-1.064-1.602-1.064-2.764 c0-1.165,0.354-2.086,1.064-2.763c0.709-0.681,1.671-1.021,2.886-1.021c0.407,0,0.797,0.045,1.172,0.137 c0.374,0.091,0.734,0.226,1.079,0.405v1.508c-0.349-0.237-0.692-0.412-1.03-0.522c-0.339-0.111-0.695-0.166-1.069-0.166 c-0.671,0-1.198,0.215-1.582,0.645c-0.384,0.43-0.576,1.022-0.576,1.777c0,0.752,0.192,1.343,0.576,1.773 c0.384,0.43,0.911,0.644,1.582,0.644c0.374,0,0.73-0.055,1.069-0.166c0.338-0.111,0.682-0.285,1.03-0.522V18.318z' fill-rule='evenodd'/>
+ <path clip-rule='evenodd' d='M52.502,11.658v1.543c-0.4-0.179-0.791-0.314-1.172-0.405 c-0.381-0.091-0.741-0.137-1.079-0.137c-0.449,0-0.781,0.062-0.996,0.186c-0.215,0.124-0.322,0.315-0.322,0.576 c0,0.195,0.072,0.348,0.215,0.459c0.146,0.107,0.41,0.2,0.791,0.278l0.801,0.161c0.811,0.163,1.387,0.41,1.729,0.742 c0.342,0.332,0.513,0.804,0.513,1.416c0,0.804-0.239,1.403-0.718,1.797c-0.475,0.391-1.203,0.585-2.183,0.585 c-0.462,0-0.926-0.043-1.392-0.131c-0.465-0.088-0.931-0.218-1.396-0.391v-1.587c0.466,0.247,0.915,0.434,1.348,0.562 c0.437,0.124,0.856,0.185,1.26,0.185c0.41,0,0.725-0.068,0.942-0.205c0.218-0.137,0.327-0.332,0.327-0.586 c0-0.228-0.075-0.404-0.225-0.527c-0.146-0.124-0.441-0.234-0.884-0.333l-0.728-0.161c-0.729-0.156-1.263-0.406-1.602-0.748 c-0.335-0.342-0.503-0.802-0.503-1.381c0-0.726,0.234-1.284,0.703-1.675s1.143-0.586,2.021-0.586c0.4,0,0.813,0.031,1.235,0.093 C51.612,11.448,52.05,11.538,52.502,11.658z' fill-rule='evenodd'/>
+ <path clip-rule='evenodd' d='M59.805,11.658v1.543c-0.4-0.179-0.791-0.314-1.172-0.405 c-0.381-0.091-0.741-0.137-1.079-0.137c-0.449,0-0.781,0.062-0.996,0.186c-0.215,0.124-0.322,0.315-0.322,0.576 c0,0.195,0.072,0.348,0.215,0.459c0.146,0.107,0.41,0.2,0.791,0.278l0.801,0.161c0.811,0.163,1.387,0.41,1.729,0.742 c0.342,0.332,0.513,0.804,0.513,1.416c0,0.804-0.239,1.403-0.718,1.797c-0.475,0.391-1.203,0.585-2.183,0.585 c-0.462,0-0.926-0.043-1.392-0.131s-0.931-0.218-1.396-0.391v-1.587c0.465,0.247,0.915,0.434,1.348,0.562 c0.436,0.124,0.856,0.185,1.26,0.185c0.41,0,0.724-0.068,0.942-0.205c0.218-0.137,0.327-0.332,0.327-0.586 c0-0.228-0.075-0.404-0.225-0.527c-0.146-0.124-0.441-0.234-0.884-0.333l-0.728-0.161c-0.729-0.156-1.263-0.406-1.602-0.748 c-0.335-0.342-0.503-0.802-0.503-1.381c0-0.726,0.234-1.284,0.703-1.675s1.143-0.586,2.021-0.586c0.4,0,0.812,0.031,1.235,0.093 C58.915,11.448,59.352,11.538,59.805,11.658z' fill-rule='evenodd'/>
+ </g>
+ <g>
+ <g>
+ <path d='M33.077,7.037l0.334,2.034l-1.185,2.266c0,0-0.455-0.961-1.21-1.493c-0.636-0.449-1.051-0.546-1.699-0.412 c-0.833,0.171-1.777,1.167-2.189,2.395c-0.493,1.469-0.498,2.179-0.515,2.833c-0.027,1.046,0.137,1.665,0.137,1.665 s-0.719-1.331-0.712-3.279c0.005-1.391,0.223-2.652,0.867-3.896c0.566-1.094,1.408-1.751,2.154-1.828 c0.772-0.08,1.382,0.292,1.854,0.695c0.495,0.423,0.996,1.347,0.996,1.347L33.077,7.037z'/>
+ <path d='M33.222,18.546c0,0-0.523,0.936-0.85,1.296c-0.326,0.36-0.91,0.996-1.631,1.313c-0.721,0.317-1.099,0.377-1.811,0.309 c-0.712-0.069-1.374-0.481-1.605-0.652c-0.232-0.172-0.824-0.678-1.159-1.15c-0.335-0.472-0.858-1.417-0.858-1.417 s0.292,0.946,0.474,1.348c0.105,0.231,0.428,0.938,0.886,1.553c0.427,0.574,1.257,1.562,2.519,1.786 c1.262,0.223,2.128-0.344,2.343-0.481c0.214-0.137,0.667-0.516,0.953-0.822c0.299-0.32,0.582-0.728,0.738-0.972 c0.114-0.178,0.301-0.541,0.301-0.541L33.222,18.546z'/>
+ </g>
+ <g>
+ <path d='M11.437,7.127l2.852,9.698l2.852-9.698h2.065L14.486,23.06h-0.197l-2.951-9.875L8.388,23.06H8.191 L3.47,7.127h2.065l2.852,9.698l1.928-6.531L9.372,7.127H11.437z' fill='#005A9C'/>
+ <path d='M25.072,17.946c0,1.443-0.384,2.656-1.151,3.64c-0.767,0.983-1.76,1.475-2.98,1.475 c-0.918,0-1.718-0.292-2.4-0.875c-0.682-0.583-1.187-1.374-1.515-2.371l1.613-0.668c0.236,0.604,0.548,1.079,0.935,1.426 c0.387,0.348,0.843,0.521,1.367,0.521c0.551,0,1.016-0.308,1.397-0.924s0.571-1.357,0.571-2.223c0-0.957-0.204-1.698-0.61-2.223 c-0.472-0.616-1.214-0.924-2.223-0.924h-0.787v-0.944l2.754-4.761h-3.325l-0.925,1.574h-0.59V7.127h7.672v0.964l-2.912,5.016 c1.023,0.328,1.797,0.925,2.321,1.791C24.809,15.763,25.072,16.779,25.072,17.946z' fill='#005A9C'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/htdocs/images/valid_icons/valid-css-blue.gif b/htdocs/images/valid_icons/valid-css-blue.gif
new file mode 100644
index 0000000..c373b2a
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-css-blue.gif
Binary files differ
diff --git a/htdocs/images/valid_icons/valid-css-blue.png b/htdocs/images/valid_icons/valid-css-blue.png
new file mode 100644
index 0000000..f022511
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-css-blue.png
Binary files differ
diff --git a/htdocs/images/valid_icons/valid-css-v.svg b/htdocs/images/valid_icons/valid-css-v.svg
new file mode 100644
index 0000000..bfffca4
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-css-v.svg
@@ -0,0 +1,367 @@
+<?xml version='1.0' encoding='iso-8859-1'?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns='http://www.w3.org/2000/svg' xml:space='preserve' version='1.1' overflow='visible' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 88 31'>
+ <g shape-rendering='geometricPrecision' text-rendering='geometricPrecision' image-rendering='optimizeQuality'>
+ <g id='Background'>
+ </g>
+ <g id='Guides'>
+ </g>
+ <g id='Foreground'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#FFCC66'/>
+ <path d='M41.5,15.5' fill='#FFCC66'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#FFFFFF'/>
+ <path d='M18.587,15.5' fill='#FFFFFF'/>
+ </g>
+ <g>
+ <polygon points='4.692,2.291 44.697,2.291 44.697,26.898 4.692,26.898 4.692,2.291 ' fill='none'/>
+ <path d='M24.695,14.594' fill='none'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_1318_'/>
+ </defs>
+ <use xlink:href='#XMLID_1318_' fill='#504D4C'/>
+ <clipPath id='XMLID_1344_'>
+ <use xlink:href='#XMLID_1318_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1344_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#4E4B3F'/>
+ <path d='M41.5,15.5' fill='#4E4B3F'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#4F4F4F'/>
+ <path d='M18.587,15.5' fill='#4F4F4F'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='82,0 83,0 83,31 82,31 82,0 ' id='XMLID_1320_'/>
+ </defs>
+ <use xlink:href='#XMLID_1320_' fill='#504D4C'/>
+ <clipPath id='XMLID_1345_'>
+ <use xlink:href='#XMLID_1320_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1345_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#4E4B3F'/>
+ <path d='M41.5,15.5' fill='#4E4B3F'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_1322_'/>
+ </defs>
+ <use xlink:href='#XMLID_1322_' fill='#191919'/>
+ <clipPath id='XMLID_1346_'>
+ <use xlink:href='#XMLID_1322_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1346_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#191917'/>
+ <path d='M41.5,15.5' fill='#191917'/>
+ </g>
+ <g>
+ <polygon points='0.366,0 36.809,0 36.809,31 0.366,31 0.366,0 ' fill='#191919'/>
+ <path d='M18.587,15.5' fill='#191919'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <polygon points='0,0 1,0 1,31 0,31 0,0 ' fill='#CCCCCC'/>
+ <path d='M0.5,15.5' fill='#CCCCCC'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='2.16,29.005 82.16,29.005 82.16,30.005 2.16,30.005 2.16,29.005 ' id='XMLID_1324_'/>
+ </defs>
+ <use xlink:href='#XMLID_1324_' fill='#9E9C9C'/>
+ <clipPath id='XMLID_1347_'>
+ <use xlink:href='#XMLID_1324_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1347_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#B39F67'/>
+ <path d='M41.5,15.5' fill='#B39F67'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#B5B5B5'/>
+ <path d='M18.587,15.5' fill='#B5B5B5'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_1326_'/>
+ </defs>
+ <use xlink:href='#XMLID_1326_' fill='#383838'/>
+ <clipPath id='XMLID_1348_'>
+ <use xlink:href='#XMLID_1326_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1348_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#383530'/>
+ <path d='M41.5,15.5' fill='#383530'/>
+ </g>
+ <g>
+ <polygon points='0.366,0 36.809,0 36.809,31 0.366,31 0.366,0 ' fill='#383838'/>
+ <path d='M18.587,15.5' fill='#383838'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='82,0 83,0 83,31 82,31 82,0 ' id='XMLID_1328_'/>
+ </defs>
+ <use xlink:href='#XMLID_1328_' fill='#383838'/>
+ <clipPath id='XMLID_1349_'>
+ <use xlink:href='#XMLID_1328_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1349_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#383530'/>
+ <path d='M41.5,15.5' fill='#383530'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_1330_'/>
+ </defs>
+ <use xlink:href='#XMLID_1330_' fill='#131313'/>
+ <clipPath id='XMLID_1350_'>
+ <use xlink:href='#XMLID_1330_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1350_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#131313'/>
+ <path d='M41.5,15.5' fill='#131313'/>
+ </g>
+ <g>
+ <polygon points='0.366,0 36.809,0 36.809,31 0.366,31 0.366,0 ' fill='#131313'/>
+ <path d='M18.587,15.5' fill='#131313'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='80.806,1 81.806,1 81.806,31 80.806,31 80.806,1 ' id='XMLID_1332_'/>
+ </defs>
+ <use xlink:href='#XMLID_1332_' fill='#9E9C9C'/>
+ <clipPath id='XMLID_1351_'>
+ <use xlink:href='#XMLID_1332_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1351_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#B39F67'/>
+ <path d='M41.5,15.5' fill='#B39F67'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_1334_'/>
+ </defs>
+ <use xlink:href='#XMLID_1334_' fill='#383838'/>
+ <clipPath id='XMLID_1352_'>
+ <use xlink:href='#XMLID_1334_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1352_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#383530'/>
+ <path d='M41.5,15.5' fill='#383530'/>
+ </g>
+ <g>
+ <polygon points='0.366,0 36.809,0 36.809,31 0.366,31 0.366,0 ' fill='#383838'/>
+ <path d='M18.587,15.5' fill='#383838'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='2.16,29.005 82.16,29.005 82.16,30.005 2.16,30.005 2.16,29.005 ' id='XMLID_1336_'/>
+ </defs>
+ <use xlink:href='#XMLID_1336_' fill='#818181'/>
+ <clipPath id='XMLID_1353_'>
+ <use xlink:href='#XMLID_1336_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1353_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#807659'/>
+ <path d='M41.5,15.5' fill='#807659'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#818181'/>
+ <path d='M18.587,15.5' fill='#818181'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_1338_'/>
+ </defs>
+ <use xlink:href='#XMLID_1338_' fill='#272727'/>
+ <clipPath id='XMLID_1354_'>
+ <use xlink:href='#XMLID_1338_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1354_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#272623'/>
+ <path d='M41.5,15.5' fill='#272623'/>
+ </g>
+ <g>
+ <polygon points='0.366,0 36.809,0 36.809,31 0.366,31 0.366,0 ' fill='#272727'/>
+ <path d='M18.587,15.5' fill='#272727'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='82,0 83,0 83,31 82,31 82,0 ' id='XMLID_1340_'/>
+ </defs>
+ <use xlink:href='#XMLID_1340_' fill='#272727'/>
+ <clipPath id='XMLID_1355_'>
+ <use xlink:href='#XMLID_1340_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1355_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#272623'/>
+ <path d='M41.5,15.5' fill='#272623'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_1342_'/>
+ </defs>
+ <use xlink:href='#XMLID_1342_' fill='#101010'/>
+ <clipPath id='XMLID_1356_'>
+ <use xlink:href='#XMLID_1342_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1356_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#101010'/>
+ <path d='M41.5,15.5' fill='#101010'/>
+ </g>
+ <g>
+ <polygon points='0.366,0 36.809,0 36.809,31 0.366,31 0.366,0 ' fill='#101010'/>
+ <path d='M18.587,15.5' fill='#101010'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,1 0,1 0,0 ' fill='#CCCCCC'/>
+ <path d='M41.5,0.5' fill='#CCCCCC'/>
+ </g>
+ <g>
+ <polyline fill-rule='evenodd' stroke='#990000' points=' 68.273,18.845 74.291,24.348 86.001,12.637 ' clip-rule='evenodd' stroke-miterlimit='3.8637' stroke-width='4.8117' fill='none'/>
+ </g>
+ <g>
+ <path clip-rule='evenodd' d='M45.772,18.318c-0.345,0.179-0.705,0.314-1.079,0.405 c-0.375,0.091-0.765,0.137-1.172,0.137c-1.214,0-2.176-0.338-2.886-1.016c-0.71-0.68-1.064-1.601-1.064-2.764 c0-1.165,0.354-2.086,1.064-2.764c0.709-0.68,1.671-1.02,2.886-1.021c0.407,0,0.797,0.046,1.172,0.137 c0.374,0.091,0.734,0.227,1.079,0.405v1.509c-0.349-0.237-0.692-0.412-1.03-0.522c-0.339-0.11-0.695-0.166-1.069-0.166 c-0.671,0-1.198,0.215-1.582,0.645c-0.384,0.43-0.576,1.022-0.576,1.777c0,0.752,0.192,1.343,0.576,1.772 c0.384,0.43,0.911,0.645,1.582,0.645c0.374,0,0.73-0.055,1.069-0.166c0.338-0.11,0.682-0.285,1.03-0.522V18.318z' fill-rule='evenodd'/>
+ <path clip-rule='evenodd' d='M52.502,11.658v1.543c-0.4-0.179-0.791-0.314-1.171-0.405 c-0.381-0.091-0.741-0.136-1.079-0.137c-0.45,0-0.781,0.062-0.996,0.186c-0.215,0.124-0.322,0.316-0.322,0.576 c0,0.195,0.071,0.349,0.214,0.459c0.146,0.107,0.411,0.2,0.792,0.278l0.8,0.161c0.811,0.163,1.387,0.41,1.729,0.742 c0.342,0.332,0.513,0.804,0.513,1.416c0,0.804-0.239,1.403-0.717,1.797c-0.476,0.391-1.203,0.586-2.183,0.586 c-0.462,0-0.926-0.044-1.392-0.132c-0.466-0.088-0.931-0.218-1.396-0.391v-1.587c0.465,0.248,0.915,0.435,1.347,0.562 c0.437,0.124,0.856,0.186,1.26,0.186c0.41,0,0.724-0.068,0.942-0.205c0.218-0.137,0.327-0.332,0.327-0.586 c0-0.228-0.075-0.403-0.225-0.527c-0.146-0.124-0.441-0.234-0.884-0.332l-0.727-0.161c-0.729-0.156-1.263-0.405-1.602-0.747 c-0.335-0.342-0.502-0.802-0.502-1.382c0-0.726,0.234-1.284,0.703-1.675c0.469-0.391,1.143-0.586,2.022-0.586 c0.4,0,0.812,0.031,1.235,0.093C51.612,11.448,52.05,11.538,52.502,11.658z' fill-rule='evenodd'/>
+ <path clip-rule='evenodd' d='M59.805,11.658v1.543c-0.4-0.179-0.791-0.314-1.172-0.405 c-0.381-0.091-0.741-0.136-1.079-0.137c-0.449,0-0.781,0.062-0.996,0.186c-0.215,0.124-0.322,0.316-0.322,0.576 c0,0.195,0.072,0.349,0.215,0.459c0.146,0.107,0.41,0.2,0.791,0.278l0.801,0.161c0.811,0.163,1.387,0.41,1.729,0.742 s0.513,0.804,0.513,1.416c0,0.804-0.239,1.403-0.718,1.797c-0.475,0.391-1.203,0.586-2.183,0.586 c-0.462,0-0.926-0.044-1.392-0.132s-0.931-0.218-1.396-0.391v-1.587c0.465,0.248,0.915,0.435,1.348,0.562 c0.436,0.124,0.856,0.186,1.26,0.186c0.41,0,0.724-0.068,0.942-0.205s0.327-0.332,0.327-0.586c0-0.228-0.075-0.403-0.225-0.527 c-0.146-0.124-0.441-0.234-0.884-0.332l-0.728-0.161c-0.729-0.156-1.263-0.405-1.602-0.747c-0.335-0.342-0.503-0.802-0.503-1.382 c0-0.726,0.234-1.284,0.703-1.675s1.143-0.586,2.021-0.586c0.4,0,0.812,0.031,1.235,0.093 C58.915,11.448,59.352,11.538,59.805,11.658z' fill-rule='evenodd'/>
+ </g>
+ <g>
+ <g>
+ <path d='M33.077,7.038l0.334,2.034l-1.185,2.266c0,0-0.455-0.961-1.21-1.494c-0.636-0.448-1.051-0.545-1.699-0.412 c-0.833,0.171-1.777,1.167-2.189,2.395c-0.493,1.469-0.498,2.179-0.515,2.832c-0.028,1.047,0.137,1.665,0.137,1.665 s-0.719-1.33-0.712-3.278c0.005-1.391,0.223-2.652,0.867-3.896c0.566-1.095,1.407-1.751,2.154-1.829 c0.772-0.08,1.383,0.292,1.854,0.695c0.495,0.423,0.996,1.348,0.996,1.348L33.077,7.038z'/>
+ <path d='M33.222,18.547c0,0-0.523,0.936-0.85,1.296s-0.91,0.996-1.63,1.313c-0.721,0.317-1.099,0.377-1.811,0.309 c-0.712-0.068-1.373-0.48-1.605-0.652c-0.231-0.171-0.824-0.678-1.159-1.15s-0.858-1.416-0.858-1.416s0.292,0.946,0.474,1.347 c0.105,0.231,0.428,0.938,0.886,1.554c0.427,0.574,1.257,1.562,2.519,1.785s2.128-0.343,2.343-0.48 c0.214-0.137,0.667-0.516,0.953-0.822c0.299-0.32,0.582-0.728,0.738-0.972c0.114-0.179,0.301-0.541,0.301-0.541L33.222,18.547z'/>
+ </g>
+ <g>
+ <path d='M11.437,7.127l2.852,9.698l2.852-9.698h2.065l-4.721,15.933h-0.197l-2.95-9.875l-2.951,9.875H8.191 L3.47,7.127h2.065l2.853,9.698l1.928-6.531L9.372,7.127H11.437z' fill='#005A9C'/>
+ <path d='M25.072,17.946c0,1.443-0.384,2.656-1.151,3.639c-0.767,0.983-1.761,1.475-2.98,1.475 c-0.918,0-1.718-0.292-2.4-0.875c-0.682-0.583-1.187-1.374-1.515-2.371l1.613-0.668c0.236,0.603,0.548,1.079,0.935,1.426 c0.387,0.348,0.843,0.521,1.367,0.521c0.551,0,1.016-0.308,1.397-0.924s0.571-1.357,0.571-2.223c0-0.958-0.203-1.698-0.61-2.223 c-0.473-0.616-1.214-0.925-2.223-0.925h-0.787v-0.944l2.754-4.761h-3.325l-0.925,1.574h-0.59V7.127h7.672v0.964l-2.911,5.016 c1.023,0.328,1.797,0.925,2.321,1.791C24.809,15.763,25.072,16.779,25.072,17.946z' fill='#005A9C'/>
+ </g>
+ </g>
+ </g>
+ <g id='Calque_1'>
+ </g>
+ <g id='Layer_1'>
+ </g>
+ </g>
+</svg>
diff --git a/htdocs/images/valid_icons/valid-css.gif b/htdocs/images/valid_icons/valid-css.gif
new file mode 100644
index 0000000..e4ed3be
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-css.gif
Binary files differ
diff --git a/htdocs/images/valid_icons/valid-css.png b/htdocs/images/valid_icons/valid-css.png
new file mode 100644
index 0000000..e65a388
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-css.png
Binary files differ
diff --git a/htdocs/images/valid_icons/valid-css1-blue-v.svg b/htdocs/images/valid_icons/valid-css1-blue-v.svg
new file mode 100644
index 0000000..2c4114a
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-css1-blue-v.svg
@@ -0,0 +1,373 @@
+<?xml version='1.0' encoding='iso-8859-1'?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns='http://www.w3.org/2000/svg' xml:space='preserve' version='1.1' overflow='visible' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 88 31'>
+ <g shape-rendering='geometricPrecision' text-rendering='geometricPrecision' image-rendering='optimizeQuality'>
+ <g shape-rendering='geometricPrecision' text-rendering='geometricPrecision' image-rendering='optimizeQuality'>
+ <g id='Background'>
+ </g>
+ <g id='Guides'>
+ </g>
+ <g id='Foreground'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#B3CEE1'/>
+ <path d='M41.5,15.5' fill='#B3CEE1'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#FFFFFF'/>
+ <path d='M18.587,15.5' fill='#FFFFFF'/>
+ </g>
+ <g>
+ <polygon points='4.692,2.291 44.697,2.291 44.697,26.898 4.692,26.898 4.692,2.291 ' fill='none'/>
+ <path d='M24.695,14.594' fill='none'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_601_'/>
+ </defs>
+ <use xlink:href='#XMLID_601_' fill='#504D4C'/>
+ <clipPath id='XMLID_627_'>
+ <use xlink:href='#XMLID_601_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_627_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#48494B'/>
+ <path d='M41.5,15.5' fill='#48494B'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#4F4F4F'/>
+ <path d='M18.587,15.5' fill='#4F4F4F'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='82,0 83,0 83,31 82,31 82,0 ' id='XMLID_603_'/>
+ </defs>
+ <use xlink:href='#XMLID_603_' fill='#504D4C'/>
+ <clipPath id='XMLID_628_'>
+ <use xlink:href='#XMLID_603_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_628_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#48494B'/>
+ <path d='M41.5,15.5' fill='#48494B'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_605_'/>
+ </defs>
+ <use xlink:href='#XMLID_605_' fill='#191919'/>
+ <clipPath id='XMLID_629_'>
+ <use xlink:href='#XMLID_605_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_629_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#181818'/>
+ <path d='M41.5,15.5' fill='#181818'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#191919'/>
+ <path d='M18.587,15.5' fill='#191919'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <polygon points='0,0 1,0 1,31 0,31 0,0 ' fill='#CCCCCC'/>
+ <path d='M0.5,15.5' fill='#CCCCCC'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='2.16,29.005 82.16,29.005 82.16,30.005 2.16,30.005 2.16,29.005 ' id='XMLID_607_'/>
+ </defs>
+ <use xlink:href='#XMLID_607_' fill='#9E9C9C'/>
+ <clipPath id='XMLID_630_'>
+ <use xlink:href='#XMLID_607_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_630_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#9097A0'/>
+ <path d='M41.5,15.5' fill='#9097A0'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#B5B5B5'/>
+ <path d='M18.587,15.5' fill='#B5B5B5'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_609_'/>
+ </defs>
+ <use xlink:href='#XMLID_609_' fill='#383838'/>
+ <clipPath id='XMLID_631_'>
+ <use xlink:href='#XMLID_609_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_631_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#343536'/>
+ <path d='M41.5,15.5' fill='#343536'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#383838'/>
+ <path d='M18.587,15.5' fill='#383838'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='82,0 83,0 83,31 82,31 82,0 ' id='XMLID_611_'/>
+ </defs>
+ <use xlink:href='#XMLID_611_' fill='#383838'/>
+ <clipPath id='XMLID_632_'>
+ <use xlink:href='#XMLID_611_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_632_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#343536'/>
+ <path d='M41.5,15.5' fill='#343536'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_613_'/>
+ </defs>
+ <use xlink:href='#XMLID_613_' fill='#131313'/>
+ <clipPath id='XMLID_633_'>
+ <use xlink:href='#XMLID_613_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_633_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#131313'/>
+ <path d='M41.5,15.5' fill='#131313'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#131313'/>
+ <path d='M18.587,15.5' fill='#131313'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='80.806,1 81.806,1 81.806,31 80.806,31 80.806,1 ' id='XMLID_615_'/>
+ </defs>
+ <use xlink:href='#XMLID_615_' fill='#9E9C9C'/>
+ <clipPath id='XMLID_634_'>
+ <use xlink:href='#XMLID_615_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_634_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#9097A0'/>
+ <path d='M41.5,15.5' fill='#9097A0'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_617_'/>
+ </defs>
+ <use xlink:href='#XMLID_617_' fill='#383838'/>
+ <clipPath id='XMLID_635_'>
+ <use xlink:href='#XMLID_617_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_635_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#343536'/>
+ <path d='M41.5,15.5' fill='#343536'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#383838'/>
+ <path d='M18.587,15.5' fill='#383838'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='2.16,29.005 82.16,29.005 82.16,30.005 2.16,30.005 2.16,29.005 ' id='XMLID_619_'/>
+ </defs>
+ <use xlink:href='#XMLID_619_' fill='#818181'/>
+ <clipPath id='XMLID_636_'>
+ <use xlink:href='#XMLID_619_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_636_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#6E7176'/>
+ <path d='M41.5,15.5' fill='#6E7176'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#818181'/>
+ <path d='M18.587,15.5' fill='#818181'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_621_'/>
+ </defs>
+ <use xlink:href='#XMLID_621_' fill='#272727'/>
+ <clipPath id='XMLID_637_'>
+ <use xlink:href='#XMLID_621_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_637_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#252626'/>
+ <path d='M41.5,15.5' fill='#252626'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#272727'/>
+ <path d='M18.587,15.5' fill='#272727'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='82,0 83,0 83,31 82,31 82,0 ' id='XMLID_623_'/>
+ </defs>
+ <use xlink:href='#XMLID_623_' fill='#272727'/>
+ <clipPath id='XMLID_638_'>
+ <use xlink:href='#XMLID_623_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_638_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#252626'/>
+ <path d='M41.5,15.5' fill='#252626'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_625_'/>
+ </defs>
+ <use xlink:href='#XMLID_625_' fill='#101010'/>
+ <clipPath id='XMLID_639_'>
+ <use xlink:href='#XMLID_625_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_639_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#101010'/>
+ <path d='M41.5,15.5' fill='#101010'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#101010'/>
+ <path d='M18.587,15.5' fill='#101010'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,1 0,1 0,0 ' fill='#CCCCCC'/>
+ <path d='M41.5,0.5' fill='#CCCCCC'/>
+ </g>
+ <g>
+ <polyline fill-rule='evenodd' stroke='#005A9C' points=' 68.273,18.845 74.291,24.348 86.001,12.637 ' clip-rule='evenodd' stroke-miterlimit='3.8637' stroke-width='4.8117' fill='none'/>
+ </g>
+ <g>
+ <g>
+ <path d='M33.077,7.037l0.334,2.035l-1.185,2.266c0,0-0.455-0.961-1.21-1.494c-0.636-0.448-1.051-0.545-1.699-0.412 c-0.833,0.171-1.777,1.167-2.189,2.395c-0.493,1.469-0.498,2.179-0.515,2.832c-0.027,1.047,0.137,1.665,0.137,1.665 s-0.719-1.33-0.712-3.278c0.005-1.391,0.223-2.652,0.867-3.896c0.566-1.095,1.408-1.751,2.154-1.829 c0.772-0.08,1.382,0.292,1.854,0.695c0.495,0.423,0.996,1.348,0.996,1.348L33.077,7.037z'/>
+ <path d='M33.222,18.547c0,0-0.523,0.936-0.85,1.296c-0.326,0.361-0.91,0.996-1.631,1.313c-0.721,0.317-1.099,0.377-1.811,0.309 c-0.712-0.068-1.374-0.48-1.605-0.652c-0.232-0.172-0.824-0.678-1.159-1.15s-0.858-1.416-0.858-1.416s0.292,0.946,0.474,1.348 c0.105,0.231,0.428,0.938,0.886,1.553c0.427,0.574,1.257,1.562,2.519,1.785s2.128-0.343,2.343-0.48 c0.214-0.137,0.667-0.516,0.953-0.822c0.299-0.32,0.582-0.728,0.738-0.972c0.114-0.178,0.301-0.541,0.301-0.541L33.222,18.547z'/>
+ </g>
+ <g>
+ <path d='M11.437,7.127l2.852,9.698l2.852-9.698h2.065l-4.721,15.933h-0.197l-2.951-9.875l-2.951,9.875H8.191 L3.47,7.127h2.065l2.852,9.698l1.928-6.531L9.372,7.127H11.437z' fill='#005A9C'/>
+ <path d='M25.072,17.946c0,1.443-0.384,2.656-1.151,3.639c-0.767,0.983-1.76,1.475-2.98,1.475 c-0.918,0-1.718-0.292-2.4-0.875c-0.682-0.583-1.187-1.374-1.515-2.371l1.613-0.668c0.236,0.603,0.548,1.079,0.935,1.426 c0.387,0.348,0.843,0.521,1.367,0.521c0.551,0,1.016-0.308,1.397-0.924s0.571-1.357,0.571-2.223c0-0.958-0.204-1.698-0.61-2.223 c-0.472-0.616-1.214-0.925-2.223-0.925h-0.787v-0.944l2.754-4.761h-3.325l-0.925,1.574h-0.59V7.127h7.672v0.964l-2.912,5.016 c1.023,0.328,1.797,0.925,2.321,1.791C24.809,15.763,25.072,16.779,25.072,17.946z' fill='#005A9C'/>
+ </g>
+ </g>
+ <g>
+ <path clip-rule='evenodd' d='M45.772,12.712c-0.345,0.179-0.705,0.314-1.079,0.405 c-0.375,0.091-0.765,0.137-1.172,0.137c-1.214,0-2.176-0.338-2.886-1.016c-0.71-0.68-1.064-1.602-1.064-2.764 c0-1.166,0.354-2.086,1.064-2.764c0.709-0.68,1.671-1.021,2.886-1.021c0.407,0,0.797,0.045,1.172,0.137 c0.374,0.091,0.734,0.226,1.079,0.405v1.509c-0.349-0.238-0.692-0.412-1.03-0.522c-0.339-0.111-0.695-0.166-1.069-0.166 c-0.671,0-1.198,0.215-1.582,0.645c-0.384,0.43-0.576,1.022-0.576,1.777c0,0.752,0.192,1.343,0.576,1.772 c0.384,0.43,0.911,0.645,1.582,0.645c0.374,0,0.73-0.055,1.069-0.166c0.338-0.111,0.682-0.285,1.03-0.522V12.712z' fill-rule='evenodd'/>
+ <path clip-rule='evenodd' d='M52.502,6.052v1.543c-0.4-0.179-0.791-0.314-1.172-0.405 s-0.741-0.137-1.079-0.137c-0.449,0-0.781,0.062-0.996,0.186s-0.322,0.316-0.322,0.576c0,0.195,0.072,0.348,0.215,0.459 c0.146,0.107,0.41,0.2,0.791,0.278l0.801,0.161c0.811,0.163,1.387,0.41,1.729,0.742s0.513,0.804,0.513,1.416 c0,0.804-0.239,1.403-0.718,1.797c-0.475,0.391-1.203,0.586-2.183,0.586c-0.462,0-0.926-0.044-1.392-0.132 c-0.465-0.088-0.931-0.218-1.396-0.391v-1.587c0.466,0.248,0.915,0.435,1.348,0.562c0.437,0.124,0.856,0.186,1.26,0.186 c0.41,0,0.725-0.068,0.942-0.205c0.218-0.137,0.327-0.332,0.327-0.586c0-0.228-0.075-0.404-0.225-0.527 c-0.146-0.124-0.441-0.234-0.884-0.332l-0.728-0.161c-0.729-0.156-1.263-0.405-1.602-0.747c-0.335-0.342-0.503-0.802-0.503-1.382 c0-0.726,0.234-1.284,0.703-1.675s1.143-0.586,2.021-0.586c0.4,0,0.813,0.031,1.235,0.093C51.612,5.842,52.05,5.931,52.502,6.052z ' fill-rule='evenodd'/>
+ <path clip-rule='evenodd' d='M59.805,6.052v1.543c-0.4-0.179-0.791-0.314-1.172-0.405 s-0.741-0.137-1.079-0.137c-0.449,0-0.781,0.062-0.996,0.186s-0.322,0.316-0.322,0.576c0,0.195,0.072,0.348,0.215,0.459 c0.146,0.107,0.41,0.2,0.791,0.278l0.801,0.161c0.811,0.163,1.387,0.41,1.729,0.742s0.513,0.804,0.513,1.416 c0,0.804-0.239,1.403-0.718,1.797c-0.475,0.391-1.203,0.586-2.183,0.586c-0.462,0-0.926-0.044-1.392-0.132 s-0.931-0.218-1.396-0.391v-1.587c0.465,0.248,0.915,0.435,1.348,0.562c0.436,0.124,0.856,0.186,1.26,0.186 c0.41,0,0.724-0.068,0.942-0.205s0.327-0.332,0.327-0.586c0-0.228-0.075-0.404-0.225-0.527c-0.146-0.124-0.441-0.234-0.884-0.332 l-0.728-0.161c-0.729-0.156-1.263-0.405-1.602-0.747c-0.335-0.342-0.503-0.802-0.503-1.382c0-0.726,0.234-1.284,0.703-1.675 s1.143-0.586,2.021-0.586c0.4,0,0.812,0.031,1.235,0.093C58.915,5.842,59.352,5.931,59.805,6.052z' fill-rule='evenodd'/>
+ </g>
+ <polygon points='58.323,22.997 59.983,22.997 59.983,18.285 58.279,18.636 58.279,17.357 59.973,17.005 61.76,17.005 61.76,22.997 63.42,22.997 63.42,24.295 58.323,24.295 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ <g>
+ <rect fill-rule='evenodd' height='5.389' width='1.24' clip-rule='evenodd' y='18.765' x='39.668'/>
+ <path clip-rule='evenodd' d='M45.617,22.204v0.354h-2.899c0.03,0.291,0.135,0.509,0.315,0.654 s0.432,0.218,0.755,0.218c0.261,0,0.527-0.038,0.8-0.114c0.275-0.079,0.557-0.196,0.845-0.353v0.956 c-0.293,0.111-0.586,0.194-0.88,0.25c-0.293,0.058-0.586,0.086-0.879,0.086c-0.702,0-1.248-0.178-1.638-0.533 c-0.388-0.358-0.582-0.859-0.582-1.503c0-0.633,0.19-1.13,0.571-1.493c0.383-0.363,0.91-0.544,1.579-0.544 c0.609,0,1.097,0.184,1.461,0.551C45.433,21.099,45.617,21.59,45.617,22.204z M44.342,21.792c0-0.235-0.069-0.425-0.208-0.568 c-0.136-0.146-0.315-0.218-0.537-0.218c-0.24,0-0.436,0.068-0.585,0.205c-0.15,0.134-0.244,0.328-0.28,0.582H44.342z' fill-rule='evenodd'/>
+ <polygon points='45.712,20.275 46.952,20.275 47.918,22.955 48.881,20.275 50.125,20.275 48.597,24.153 47.236,24.153 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ <path clip-rule='evenodd' d='M54.341,22.204v0.354h-2.898c0.03,0.291,0.135,0.509,0.315,0.654 s0.432,0.218,0.755,0.218c0.261,0,0.527-0.038,0.8-0.114c0.274-0.079,0.556-0.196,0.845-0.353v0.956 c-0.293,0.111-0.587,0.194-0.88,0.25c-0.293,0.058-0.586,0.086-0.88,0.086c-0.702,0-1.248-0.178-1.638-0.533 c-0.388-0.358-0.582-0.859-0.582-1.503c0-0.633,0.19-1.13,0.571-1.493c0.383-0.363,0.91-0.544,1.58-0.544 c0.609,0,1.097,0.184,1.461,0.551C54.158,21.099,54.341,21.59,54.341,22.204z M53.066,21.792c0-0.235-0.069-0.425-0.208-0.568 c-0.136-0.146-0.315-0.218-0.537-0.218c-0.24,0-0.435,0.068-0.585,0.205c-0.15,0.134-0.244,0.328-0.281,0.582H53.066z' fill-rule='evenodd'/>
+ <rect fill-rule='evenodd' height='5.389' width='1.24' clip-rule='evenodd' y='18.765' x='54.925'/>
+ </g>
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/htdocs/images/valid_icons/valid-css1-blue.gif b/htdocs/images/valid_icons/valid-css1-blue.gif
new file mode 100644
index 0000000..580e315
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-css1-blue.gif
Binary files differ
diff --git a/htdocs/images/valid_icons/valid-css1-blue.png b/htdocs/images/valid_icons/valid-css1-blue.png
new file mode 100644
index 0000000..b655a37
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-css1-blue.png
Binary files differ
diff --git a/htdocs/images/valid_icons/valid-css1-v.svg b/htdocs/images/valid_icons/valid-css1-v.svg
new file mode 100644
index 0000000..b6ca87c
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-css1-v.svg
@@ -0,0 +1,375 @@
+<?xml version='1.0' encoding='iso-8859-1'?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns='http://www.w3.org/2000/svg' xml:space='preserve' version='1.1' overflow='visible' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 88 31'>
+ <g shape-rendering='geometricPrecision' text-rendering='geometricPrecision' image-rendering='optimizeQuality'>
+ <g id='Background'>
+ </g>
+ <g id='Guides'>
+ </g>
+ <g id='Foreground'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#FFCC66'/>
+ <path d='M41.5,15.5' fill='#FFCC66'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#FFFFFF'/>
+ <path d='M18.587,15.5' fill='#FFFFFF'/>
+ </g>
+ <g>
+ <polygon points='4.692,2.291 44.697,2.291 44.697,26.897 4.692,26.897 4.692,2.291 ' fill='none'/>
+ <path d='M24.695,14.594' fill='none'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_1279_'/>
+ </defs>
+ <use xlink:href='#XMLID_1279_' fill='#504D4C'/>
+ <clipPath id='XMLID_1305_'>
+ <use xlink:href='#XMLID_1279_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1305_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#4E4B3F'/>
+ <path d='M41.5,15.5' fill='#4E4B3F'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#4F4F4F'/>
+ <path d='M18.587,15.5' fill='#4F4F4F'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='82,0 83,0 83,31 82,31 82,0 ' id='XMLID_1281_'/>
+ </defs>
+ <use xlink:href='#XMLID_1281_' fill='#504D4C'/>
+ <clipPath id='XMLID_1306_'>
+ <use xlink:href='#XMLID_1281_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1306_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#4E4B3F'/>
+ <path d='M41.5,15.5' fill='#4E4B3F'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_1283_'/>
+ </defs>
+ <use xlink:href='#XMLID_1283_' fill='#191919'/>
+ <clipPath id='XMLID_1307_'>
+ <use xlink:href='#XMLID_1283_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1307_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#191917'/>
+ <path d='M41.5,15.5' fill='#191917'/>
+ </g>
+ <g>
+ <polygon points='0.366,0 36.809,0 36.809,31 0.366,31 0.366,0 ' fill='#191919'/>
+ <path d='M18.587,15.5' fill='#191919'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <polygon points='0,0 1,0 1,31 0,31 0,0 ' fill='#CCCCCC'/>
+ <path d='M0.5,15.5' fill='#CCCCCC'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='2.16,29.005 82.16,29.005 82.16,30.005 2.16,30.005 2.16,29.005 ' id='XMLID_1285_'/>
+ </defs>
+ <use xlink:href='#XMLID_1285_' fill='#9E9C9C'/>
+ <clipPath id='XMLID_1308_'>
+ <use xlink:href='#XMLID_1285_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1308_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#B39F67'/>
+ <path d='M41.5,15.5' fill='#B39F67'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#B5B5B5'/>
+ <path d='M18.587,15.5' fill='#B5B5B5'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_1287_'/>
+ </defs>
+ <use xlink:href='#XMLID_1287_' fill='#383838'/>
+ <clipPath id='XMLID_1309_'>
+ <use xlink:href='#XMLID_1287_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1309_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#383530'/>
+ <path d='M41.5,15.5' fill='#383530'/>
+ </g>
+ <g>
+ <polygon points='0.366,0 36.809,0 36.809,31 0.366,31 0.366,0 ' fill='#383838'/>
+ <path d='M18.587,15.5' fill='#383838'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='82,0 83,0 83,31 82,31 82,0 ' id='XMLID_1289_'/>
+ </defs>
+ <use xlink:href='#XMLID_1289_' fill='#383838'/>
+ <clipPath id='XMLID_1310_'>
+ <use xlink:href='#XMLID_1289_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1310_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#383530'/>
+ <path d='M41.5,15.5' fill='#383530'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_1291_'/>
+ </defs>
+ <use xlink:href='#XMLID_1291_' fill='#131313'/>
+ <clipPath id='XMLID_1311_'>
+ <use xlink:href='#XMLID_1291_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1311_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#131313'/>
+ <path d='M41.5,15.5' fill='#131313'/>
+ </g>
+ <g>
+ <polygon points='0.366,0 36.809,0 36.809,31 0.366,31 0.366,0 ' fill='#131313'/>
+ <path d='M18.587,15.5' fill='#131313'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='80.806,1 81.806,1 81.806,31 80.806,31 80.806,1 ' id='XMLID_1293_'/>
+ </defs>
+ <use xlink:href='#XMLID_1293_' fill='#9E9C9C'/>
+ <clipPath id='XMLID_1312_'>
+ <use xlink:href='#XMLID_1293_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1312_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#B39F67'/>
+ <path d='M41.5,15.5' fill='#B39F67'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_1295_'/>
+ </defs>
+ <use xlink:href='#XMLID_1295_' fill='#383838'/>
+ <clipPath id='XMLID_1313_'>
+ <use xlink:href='#XMLID_1295_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1313_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#383530'/>
+ <path d='M41.5,15.5' fill='#383530'/>
+ </g>
+ <g>
+ <polygon points='0.366,0 36.809,0 36.809,31 0.366,31 0.366,0 ' fill='#383838'/>
+ <path d='M18.587,15.5' fill='#383838'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='2.16,29.005 82.16,29.005 82.16,30.005 2.16,30.005 2.16,29.005 ' id='XMLID_1297_'/>
+ </defs>
+ <use xlink:href='#XMLID_1297_' fill='#818181'/>
+ <clipPath id='XMLID_1314_'>
+ <use xlink:href='#XMLID_1297_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1314_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#807659'/>
+ <path d='M41.5,15.5' fill='#807659'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#818181'/>
+ <path d='M18.587,15.5' fill='#818181'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_1299_'/>
+ </defs>
+ <use xlink:href='#XMLID_1299_' fill='#272727'/>
+ <clipPath id='XMLID_1315_'>
+ <use xlink:href='#XMLID_1299_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1315_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#272623'/>
+ <path d='M41.5,15.5' fill='#272623'/>
+ </g>
+ <g>
+ <polygon points='0.366,0 36.809,0 36.809,31 0.366,31 0.366,0 ' fill='#272727'/>
+ <path d='M18.587,15.5' fill='#272727'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='82,0 83,0 83,31 82,31 82,0 ' id='XMLID_1301_'/>
+ </defs>
+ <use xlink:href='#XMLID_1301_' fill='#272727'/>
+ <clipPath id='XMLID_1316_'>
+ <use xlink:href='#XMLID_1301_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1316_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#272623'/>
+ <path d='M41.5,15.5' fill='#272623'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_1303_'/>
+ </defs>
+ <use xlink:href='#XMLID_1303_' fill='#101010'/>
+ <clipPath id='XMLID_1317_'>
+ <use xlink:href='#XMLID_1303_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1317_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#101010'/>
+ <path d='M41.5,15.5' fill='#101010'/>
+ </g>
+ <g>
+ <polygon points='0.366,0 36.809,0 36.809,31 0.366,31 0.366,0 ' fill='#101010'/>
+ <path d='M18.587,15.5' fill='#101010'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,1 0,1 0,0 ' fill='#CCCCCC'/>
+ <path d='M41.5,0.5' fill='#CCCCCC'/>
+ </g>
+ <g>
+ <polyline fill-rule='evenodd' stroke='#990000' points=' 68.273,18.845 74.291,24.348 86.001,12.637 ' clip-rule='evenodd' stroke-miterlimit='3.8637' stroke-width='4.8117' fill='none'/>
+ </g>
+ <g>
+ <g>
+ <path d='M33.077,7.037l0.334,2.034l-1.185,2.266c0,0-0.455-0.961-1.21-1.494c-0.636-0.448-1.051-0.545-1.699-0.412 c-0.833,0.172-1.777,1.167-2.189,2.395c-0.493,1.469-0.498,2.18-0.515,2.833c-0.028,1.047,0.137,1.665,0.137,1.665 s-0.719-1.33-0.712-3.279c0.005-1.39,0.223-2.652,0.867-3.896c0.566-1.094,1.407-1.75,2.154-1.828 c0.772-0.08,1.383,0.292,1.854,0.695c0.495,0.423,0.996,1.348,0.996,1.348L33.077,7.037z'/>
+ <path d='M33.222,18.547c0,0-0.523,0.936-0.85,1.296s-0.91,0.996-1.63,1.313c-0.721,0.317-1.099,0.377-1.811,0.309 c-0.712-0.068-1.373-0.48-1.605-0.652c-0.231-0.171-0.824-0.678-1.159-1.15s-0.858-1.416-0.858-1.416s0.292,0.946,0.474,1.347 c0.105,0.231,0.428,0.938,0.886,1.554c0.427,0.574,1.257,1.562,2.519,1.785s2.128-0.343,2.343-0.48 c0.214-0.138,0.667-0.516,0.953-0.822c0.299-0.319,0.582-0.727,0.738-0.972c0.114-0.179,0.301-0.541,0.301-0.541L33.222,18.547z'/>
+ </g>
+ <g>
+ <path d='M11.437,7.127l2.852,9.698l2.852-9.698h2.065l-4.721,15.934h-0.197l-2.95-9.875l-2.951,9.875H8.191 L3.47,7.127h2.065l2.853,9.698l1.928-6.53L9.372,7.127H11.437z' fill='#005A9C'/>
+ <path d='M25.072,17.946c0,1.443-0.384,2.656-1.151,3.639c-0.767,0.983-1.761,1.475-2.98,1.475 c-0.918,0-1.718-0.292-2.4-0.875c-0.682-0.583-1.187-1.373-1.515-2.37l1.613-0.668c0.236,0.603,0.548,1.079,0.935,1.426 c0.387,0.348,0.843,0.521,1.367,0.521c0.551,0,1.016-0.308,1.397-0.924c0.38-0.617,0.571-1.357,0.571-2.223 c0-0.958-0.203-1.698-0.61-2.223c-0.473-0.617-1.214-0.925-2.223-0.925h-0.787v-0.944l2.754-4.761h-3.325l-0.925,1.574h-0.59 V7.127h7.672v0.964l-2.911,5.016c1.023,0.328,1.797,0.925,2.321,1.791S25.072,16.779,25.072,17.946z' fill='#005A9C'/>
+ </g>
+ </g>
+ <g>
+ <path clip-rule='evenodd' d='M45.772,12.712c-0.345,0.179-0.705,0.314-1.079,0.405 c-0.375,0.091-0.765,0.136-1.172,0.137c-1.214,0-2.176-0.339-2.886-1.016c-0.71-0.681-1.064-1.602-1.064-2.764 c0-1.166,0.354-2.087,1.064-2.764c0.709-0.681,1.671-1.021,2.886-1.021c0.407,0,0.797,0.045,1.172,0.137 c0.374,0.091,0.734,0.226,1.079,0.405v1.509c-0.349-0.238-0.692-0.412-1.03-0.522c-0.339-0.111-0.695-0.166-1.069-0.166 c-0.671,0-1.198,0.214-1.582,0.645c-0.384,0.43-0.576,1.022-0.576,1.777c0,0.752,0.192,1.343,0.576,1.772 c0.384,0.43,0.911,0.645,1.582,0.645c0.374,0,0.73-0.056,1.069-0.166c0.338-0.111,0.682-0.285,1.03-0.522V12.712z' fill-rule='evenodd'/>
+ <path clip-rule='evenodd' d='M52.502,6.052v1.543c-0.4-0.179-0.791-0.314-1.171-0.405 c-0.381-0.091-0.741-0.137-1.079-0.137c-0.45,0-0.781,0.062-0.996,0.186c-0.215,0.124-0.322,0.315-0.322,0.576 c0,0.195,0.071,0.348,0.214,0.459c0.146,0.107,0.411,0.2,0.792,0.278l0.8,0.161c0.811,0.163,1.387,0.41,1.729,0.742 c0.342,0.333,0.513,0.804,0.513,1.417c0,0.804-0.239,1.403-0.717,1.797c-0.476,0.391-1.203,0.586-2.183,0.586 c-0.462,0-0.926-0.044-1.392-0.132c-0.466-0.088-0.931-0.218-1.396-0.391v-1.587c0.465,0.247,0.915,0.435,1.347,0.562 c0.437,0.124,0.856,0.186,1.26,0.186c0.41,0,0.724-0.068,0.942-0.205c0.218-0.137,0.327-0.332,0.327-0.586 c0-0.228-0.075-0.404-0.225-0.527c-0.146-0.124-0.441-0.234-0.884-0.332l-0.727-0.162c-0.729-0.156-1.263-0.405-1.602-0.747 c-0.335-0.342-0.502-0.803-0.502-1.382c0-0.726,0.234-1.284,0.703-1.675c0.469-0.391,1.143-0.586,2.022-0.586 c0.4,0,0.812,0.031,1.235,0.093C51.612,5.842,52.05,5.931,52.502,6.052z' fill-rule='evenodd'/>
+ <path clip-rule='evenodd' d='M59.805,6.052v1.543c-0.4-0.179-0.791-0.314-1.172-0.405 c-0.381-0.091-0.741-0.137-1.079-0.137c-0.449,0-0.781,0.062-0.996,0.186s-0.322,0.315-0.322,0.576 c0,0.195,0.072,0.348,0.215,0.459c0.146,0.107,0.41,0.2,0.791,0.278l0.801,0.161c0.811,0.163,1.387,0.41,1.729,0.742 c0.342,0.333,0.513,0.804,0.513,1.417c0,0.804-0.239,1.403-0.718,1.797c-0.475,0.391-1.203,0.586-2.183,0.586 c-0.462,0-0.926-0.044-1.392-0.132c-0.465-0.088-0.931-0.218-1.396-0.391v-1.587c0.465,0.247,0.915,0.435,1.348,0.562 c0.436,0.124,0.856,0.186,1.26,0.186c0.41,0,0.724-0.068,0.942-0.205s0.327-0.332,0.327-0.586c0-0.228-0.075-0.404-0.225-0.527 c-0.146-0.124-0.441-0.234-0.884-0.332l-0.728-0.162c-0.729-0.156-1.263-0.405-1.602-0.747c-0.335-0.342-0.503-0.803-0.503-1.382 c0-0.726,0.234-1.284,0.703-1.675s1.143-0.586,2.021-0.586c0.4,0,0.812,0.031,1.235,0.093C58.915,5.842,59.352,5.931,59.805,6.052 z' fill-rule='evenodd'/>
+ </g>
+ <polygon points='58.323,22.997 59.983,22.997 59.983,18.285 58.279,18.636 58.279,17.357 59.973,17.005 61.76,17.005 61.76,22.997 63.421,22.997 63.421,24.295 58.323,24.295 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ <g>
+ <rect fill-rule='evenodd' height='5.389' width='1.24' clip-rule='evenodd' y='18.765' x='39.668'/>
+ <path clip-rule='evenodd' d='M45.617,22.204v0.353h-2.899c0.03,0.291,0.135,0.509,0.315,0.655 s0.432,0.218,0.755,0.218c0.261,0,0.527-0.038,0.8-0.114c0.275-0.079,0.557-0.196,0.845-0.354v0.956 c-0.293,0.111-0.586,0.194-0.879,0.249c-0.293,0.058-0.587,0.087-0.88,0.087c-0.702,0-1.248-0.178-1.638-0.533 c-0.388-0.358-0.582-0.859-0.582-1.503c0-0.632,0.19-1.13,0.571-1.493c0.383-0.362,0.91-0.543,1.579-0.543 c0.609,0,1.097,0.184,1.461,0.551C45.433,21.099,45.617,21.589,45.617,22.204z M44.342,21.792c0-0.235-0.069-0.425-0.208-0.568 c-0.136-0.146-0.315-0.218-0.537-0.218c-0.24,0-0.435,0.068-0.585,0.205c-0.15,0.134-0.244,0.328-0.28,0.582H44.342z' fill-rule='evenodd'/>
+ <polygon points='45.712,20.274 46.952,20.274 47.918,22.955 48.881,20.274 50.125,20.274 48.597,24.153 47.236,24.153 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ <path clip-rule='evenodd' d='M54.341,22.204v0.353h-2.899c0.03,0.291,0.135,0.509,0.315,0.655 c0.18,0.146,0.432,0.218,0.755,0.218c0.261,0,0.527-0.038,0.8-0.114c0.275-0.079,0.556-0.196,0.845-0.354v0.956 c-0.293,0.111-0.586,0.194-0.88,0.249c-0.293,0.058-0.586,0.087-0.88,0.087c-0.702,0-1.248-0.178-1.638-0.533 c-0.388-0.358-0.582-0.859-0.582-1.503c0-0.632,0.19-1.13,0.572-1.493c0.383-0.362,0.909-0.543,1.579-0.543 c0.609,0,1.097,0.184,1.461,0.551C54.158,21.099,54.341,21.589,54.341,22.204z M53.066,21.792c0-0.235-0.069-0.425-0.208-0.568 c-0.136-0.146-0.315-0.218-0.537-0.218c-0.24,0-0.436,0.068-0.585,0.205c-0.15,0.134-0.244,0.328-0.281,0.582H53.066z' fill-rule='evenodd'/>
+ <rect fill-rule='evenodd' height='5.389' width='1.24' clip-rule='evenodd' y='18.765' x='54.925'/>
+ </g>
+ </g>
+ <g id='Calque_1'>
+ </g>
+ <g id='Layer_1'>
+ </g>
+ </g>
+</svg>
diff --git a/htdocs/images/valid_icons/valid-css1.gif b/htdocs/images/valid_icons/valid-css1.gif
new file mode 100644
index 0000000..4437fac
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-css1.gif
Binary files differ
diff --git a/htdocs/images/valid_icons/valid-css1.png b/htdocs/images/valid_icons/valid-css1.png
new file mode 100644
index 0000000..b9dfa75
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-css1.png
Binary files differ
diff --git a/htdocs/images/valid_icons/valid-css2-blue-v.svg b/htdocs/images/valid_icons/valid-css2-blue-v.svg
new file mode 100644
index 0000000..d679022
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-css2-blue-v.svg
@@ -0,0 +1,373 @@
+<?xml version='1.0' encoding='iso-8859-1'?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns='http://www.w3.org/2000/svg' xml:space='preserve' version='1.1' overflow='visible' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 88 31'>
+ <g shape-rendering='geometricPrecision' text-rendering='geometricPrecision' image-rendering='optimizeQuality'>
+ <g shape-rendering='geometricPrecision' text-rendering='geometricPrecision' image-rendering='optimizeQuality'>
+ <g id='Background'>
+ </g>
+ <g id='Guides'>
+ </g>
+ <g id='Foreground'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#B3CEE1'/>
+ <path d='M41.5,15.5' fill='#B3CEE1'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#FFFFFF'/>
+ <path d='M18.587,15.5' fill='#FFFFFF'/>
+ </g>
+ <g>
+ <polygon points='4.692,2.291 44.697,2.291 44.697,26.897 4.692,26.897 4.692,2.291 ' fill='none'/>
+ <path d='M24.695,14.594' fill='none'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_562_'/>
+ </defs>
+ <use xlink:href='#XMLID_562_' fill='#504D4C'/>
+ <clipPath id='XMLID_588_'>
+ <use xlink:href='#XMLID_562_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_588_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#48494B'/>
+ <path d='M41.5,15.5' fill='#48494B'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#4F4F4F'/>
+ <path d='M18.587,15.5' fill='#4F4F4F'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='82,0 83,0 83,31 82,31 82,0 ' id='XMLID_564_'/>
+ </defs>
+ <use xlink:href='#XMLID_564_' fill='#504D4C'/>
+ <clipPath id='XMLID_589_'>
+ <use xlink:href='#XMLID_564_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_589_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#48494B'/>
+ <path d='M41.5,15.5' fill='#48494B'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_566_'/>
+ </defs>
+ <use xlink:href='#XMLID_566_' fill='#191919'/>
+ <clipPath id='XMLID_590_'>
+ <use xlink:href='#XMLID_566_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_590_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#181818'/>
+ <path d='M41.5,15.5' fill='#181818'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#191919'/>
+ <path d='M18.587,15.5' fill='#191919'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <polygon points='0,0 1,0 1,31 0,31 0,0 ' fill='#CCCCCC'/>
+ <path d='M0.5,15.5' fill='#CCCCCC'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='2.16,29.005 82.16,29.005 82.16,30.005 2.16,30.005 2.16,29.005 ' id='XMLID_568_'/>
+ </defs>
+ <use xlink:href='#XMLID_568_' fill='#9E9C9C'/>
+ <clipPath id='XMLID_591_'>
+ <use xlink:href='#XMLID_568_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_591_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#9097A0'/>
+ <path d='M41.5,15.5' fill='#9097A0'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#B5B5B5'/>
+ <path d='M18.587,15.5' fill='#B5B5B5'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_570_'/>
+ </defs>
+ <use xlink:href='#XMLID_570_' fill='#383838'/>
+ <clipPath id='XMLID_592_'>
+ <use xlink:href='#XMLID_570_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_592_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#343536'/>
+ <path d='M41.5,15.5' fill='#343536'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#383838'/>
+ <path d='M18.587,15.5' fill='#383838'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='82,0 83,0 83,31 82,31 82,0 ' id='XMLID_572_'/>
+ </defs>
+ <use xlink:href='#XMLID_572_' fill='#383838'/>
+ <clipPath id='XMLID_593_'>
+ <use xlink:href='#XMLID_572_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_593_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#343536'/>
+ <path d='M41.5,15.5' fill='#343536'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_574_'/>
+ </defs>
+ <use xlink:href='#XMLID_574_' fill='#131313'/>
+ <clipPath id='XMLID_594_'>
+ <use xlink:href='#XMLID_574_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_594_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#131313'/>
+ <path d='M41.5,15.5' fill='#131313'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#131313'/>
+ <path d='M18.587,15.5' fill='#131313'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='80.806,1 81.806,1 81.806,31 80.806,31 80.806,1 ' id='XMLID_576_'/>
+ </defs>
+ <use xlink:href='#XMLID_576_' fill='#9E9C9C'/>
+ <clipPath id='XMLID_595_'>
+ <use xlink:href='#XMLID_576_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_595_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#9097A0'/>
+ <path d='M41.5,15.5' fill='#9097A0'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_578_'/>
+ </defs>
+ <use xlink:href='#XMLID_578_' fill='#383838'/>
+ <clipPath id='XMLID_596_'>
+ <use xlink:href='#XMLID_578_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_596_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#343536'/>
+ <path d='M41.5,15.5' fill='#343536'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#383838'/>
+ <path d='M18.587,15.5' fill='#383838'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='2.16,29.005 82.16,29.005 82.16,30.005 2.16,30.005 2.16,29.005 ' id='XMLID_580_'/>
+ </defs>
+ <use xlink:href='#XMLID_580_' fill='#818181'/>
+ <clipPath id='XMLID_597_'>
+ <use xlink:href='#XMLID_580_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_597_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#6E7176'/>
+ <path d='M41.5,15.5' fill='#6E7176'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#818181'/>
+ <path d='M18.587,15.5' fill='#818181'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_582_'/>
+ </defs>
+ <use xlink:href='#XMLID_582_' fill='#272727'/>
+ <clipPath id='XMLID_598_'>
+ <use xlink:href='#XMLID_582_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_598_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#252626'/>
+ <path d='M41.5,15.5' fill='#252626'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#272727'/>
+ <path d='M18.587,15.5' fill='#272727'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='82,0 83,0 83,31 82,31 82,0 ' id='XMLID_584_'/>
+ </defs>
+ <use xlink:href='#XMLID_584_' fill='#272727'/>
+ <clipPath id='XMLID_599_'>
+ <use xlink:href='#XMLID_584_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_599_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#252626'/>
+ <path d='M41.5,15.5' fill='#252626'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_586_'/>
+ </defs>
+ <use xlink:href='#XMLID_586_' fill='#101010'/>
+ <clipPath id='XMLID_600_'>
+ <use xlink:href='#XMLID_586_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_600_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#101010'/>
+ <path d='M41.5,15.5' fill='#101010'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#101010'/>
+ <path d='M18.587,15.5' fill='#101010'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,1 0,1 0,0 ' fill='#CCCCCC'/>
+ <path d='M41.5,0.5' fill='#CCCCCC'/>
+ </g>
+ <g>
+ <polyline fill-rule='evenodd' stroke='#005A9C' points=' 68.273,18.845 74.291,24.348 86.001,12.637 ' clip-rule='evenodd' stroke-miterlimit='3.8637' stroke-width='4.8117' fill='none'/>
+ </g>
+ <g>
+ <g>
+ <path d='M33.077,7.037l0.334,2.034l-1.185,2.266c0,0-0.455-0.961-1.21-1.494c-0.636-0.448-1.051-0.545-1.699-0.412 c-0.833,0.171-1.777,1.167-2.189,2.395c-0.493,1.469-0.498,2.179-0.515,2.832c-0.027,1.047,0.137,1.665,0.137,1.665 s-0.719-1.33-0.712-3.278c0.005-1.391,0.223-2.652,0.867-3.896c0.566-1.095,1.408-1.751,2.154-1.829 c0.772-0.08,1.382,0.292,1.854,0.695c0.495,0.423,0.996,1.348,0.996,1.348L33.077,7.037z'/>
+ <path d='M33.222,18.547c0,0-0.523,0.936-0.85,1.296s-0.91,0.996-1.631,1.313c-0.721,0.318-1.099,0.378-1.811,0.309 c-0.712-0.068-1.374-0.48-1.605-0.652c-0.232-0.171-0.824-0.678-1.159-1.15s-0.858-1.416-0.858-1.416s0.292,0.946,0.474,1.347 c0.105,0.231,0.428,0.938,0.886,1.554c0.427,0.574,1.257,1.562,2.519,1.785s2.128-0.343,2.343-0.48 c0.214-0.137,0.667-0.516,0.953-0.822c0.299-0.32,0.582-0.728,0.738-0.972c0.114-0.179,0.301-0.541,0.301-0.541L33.222,18.547z'/>
+ </g>
+ <g>
+ <path d='M11.437,7.127l2.852,9.698l2.852-9.698h2.065l-4.721,15.934h-0.197l-2.951-9.875l-2.951,9.875H8.191 L3.47,7.127h2.065l2.852,9.698l1.928-6.531L9.372,7.127H11.437z' fill='#005A9C'/>
+ <path d='M25.072,17.946c0,1.443-0.384,2.656-1.151,3.639c-0.767,0.983-1.76,1.475-2.98,1.475 c-0.918,0-1.718-0.292-2.4-0.875c-0.682-0.583-1.187-1.373-1.515-2.37l1.613-0.668c0.236,0.603,0.548,1.079,0.935,1.426 c0.387,0.348,0.843,0.521,1.367,0.521c0.551,0,1.016-0.308,1.397-0.924s0.571-1.357,0.571-2.223c0-0.958-0.204-1.698-0.61-2.223 c-0.472-0.617-1.214-0.925-2.223-0.925h-0.787v-0.944l2.754-4.761h-3.325l-0.925,1.574h-0.59V7.127h7.672v0.964l-2.912,5.016 c1.023,0.328,1.797,0.925,2.321,1.791C24.809,15.763,25.072,16.779,25.072,17.946z' fill='#005A9C'/>
+ </g>
+ </g>
+ <g>
+ <path clip-rule='evenodd' d='M45.772,12.712c-0.345,0.179-0.705,0.314-1.079,0.405 c-0.375,0.091-0.765,0.136-1.172,0.137c-1.214,0-2.176-0.338-2.886-1.016c-0.71-0.68-1.064-1.602-1.064-2.764 c0-1.166,0.354-2.086,1.064-2.764c0.709-0.681,1.671-1.021,2.886-1.021c0.407,0,0.797,0.045,1.172,0.137 c0.374,0.091,0.734,0.226,1.079,0.405v1.509c-0.349-0.238-0.692-0.412-1.03-0.522c-0.339-0.111-0.695-0.166-1.069-0.166 c-0.671,0-1.198,0.215-1.582,0.645c-0.384,0.43-0.576,1.022-0.576,1.777c0,0.752,0.192,1.343,0.576,1.772 c0.384,0.43,0.911,0.645,1.582,0.645c0.374,0,0.73-0.055,1.069-0.166c0.338-0.111,0.682-0.285,1.03-0.522V12.712z' fill-rule='evenodd'/>
+ <path clip-rule='evenodd' d='M52.502,6.052v1.543c-0.4-0.179-0.791-0.314-1.172-0.405 c-0.381-0.091-0.741-0.137-1.079-0.137c-0.449,0-0.781,0.062-0.996,0.186s-0.322,0.316-0.322,0.576 c0,0.195,0.072,0.348,0.215,0.459c0.146,0.107,0.41,0.2,0.791,0.278l0.801,0.161c0.811,0.163,1.387,0.41,1.729,0.742 s0.513,0.804,0.513,1.416c0,0.804-0.239,1.403-0.718,1.797c-0.475,0.391-1.203,0.586-2.183,0.586 c-0.462,0-0.926-0.044-1.392-0.132c-0.465-0.088-0.931-0.218-1.396-0.391v-1.587c0.466,0.248,0.915,0.435,1.348,0.562 c0.437,0.124,0.856,0.186,1.26,0.186c0.41,0,0.725-0.068,0.942-0.205c0.218-0.137,0.327-0.332,0.327-0.586 c0-0.228-0.075-0.404-0.225-0.527c-0.146-0.124-0.441-0.234-0.884-0.332l-0.728-0.161c-0.729-0.156-1.263-0.405-1.602-0.747 c-0.335-0.342-0.503-0.803-0.503-1.382c0-0.726,0.234-1.284,0.703-1.675s1.143-0.586,2.021-0.586c0.4,0,0.813,0.031,1.235,0.093 C51.612,5.842,52.05,5.931,52.502,6.052z' fill-rule='evenodd'/>
+ <path clip-rule='evenodd' d='M59.805,6.052v1.543c-0.4-0.179-0.791-0.314-1.172-0.405 c-0.381-0.091-0.741-0.137-1.079-0.137c-0.449,0-0.781,0.062-0.996,0.186s-0.322,0.316-0.322,0.576 c0,0.195,0.072,0.348,0.215,0.459c0.146,0.107,0.41,0.2,0.791,0.278l0.801,0.161c0.811,0.163,1.387,0.41,1.729,0.742 s0.513,0.804,0.513,1.416c0,0.804-0.239,1.403-0.718,1.797c-0.475,0.391-1.203,0.586-2.183,0.586 c-0.462,0-0.926-0.044-1.392-0.132s-0.931-0.218-1.396-0.391v-1.587c0.465,0.248,0.915,0.435,1.348,0.562 c0.436,0.124,0.856,0.186,1.26,0.186c0.41,0,0.724-0.068,0.942-0.205s0.327-0.332,0.327-0.586c0-0.228-0.075-0.404-0.225-0.527 c-0.146-0.124-0.441-0.234-0.884-0.332l-0.728-0.161c-0.729-0.156-1.263-0.405-1.602-0.747c-0.335-0.342-0.503-0.803-0.503-1.382 c0-0.726,0.234-1.284,0.703-1.675s1.143-0.586,2.021-0.586c0.4,0,0.812,0.031,1.235,0.093C58.915,5.842,59.352,5.931,59.805,6.052 z' fill-rule='evenodd'/>
+ </g>
+ <path clip-rule='evenodd' d='M60.032,22.914h3.208v1.382h-5.298v-1.382l2.661-2.349 c0.238-0.215,0.414-0.425,0.527-0.63s0.171-0.418,0.171-0.64c0-0.342-0.116-0.617-0.347-0.825 c-0.228-0.208-0.532-0.313-0.913-0.313c-0.293,0-0.614,0.063-0.962,0.19c-0.348,0.124-0.721,0.309-1.118,0.557v-1.602 c0.423-0.14,0.841-0.246,1.255-0.317c0.414-0.075,0.819-0.112,1.216-0.112c0.873,0,1.549,0.192,2.031,0.576 c0.485,0.384,0.728,0.919,0.728,1.606c0,0.397-0.103,0.768-0.308,1.113c-0.205,0.342-0.636,0.801-1.294,1.377L60.032,22.914z' fill-rule='evenodd'/>
+ <g>
+ <rect fill-rule='evenodd' height='5.389' width='1.24' clip-rule='evenodd' y='18.765' x='39.668'/>
+ <path clip-rule='evenodd' d='M45.617,22.204v0.354h-2.899c0.03,0.291,0.135,0.509,0.315,0.654 s0.432,0.218,0.755,0.218c0.261,0,0.527-0.038,0.8-0.114c0.275-0.079,0.557-0.196,0.845-0.354v0.956 c-0.293,0.111-0.586,0.194-0.88,0.25c-0.293,0.058-0.586,0.086-0.879,0.086c-0.702,0-1.248-0.178-1.638-0.533 c-0.388-0.358-0.582-0.859-0.582-1.503c0-0.632,0.19-1.13,0.571-1.492c0.383-0.363,0.91-0.544,1.579-0.544 c0.609,0,1.097,0.184,1.461,0.551C45.433,21.099,45.617,21.589,45.617,22.204z M44.342,21.792c0-0.235-0.069-0.425-0.208-0.568 c-0.136-0.146-0.315-0.218-0.537-0.218c-0.24,0-0.436,0.068-0.585,0.204c-0.15,0.134-0.244,0.328-0.28,0.582H44.342z' fill-rule='evenodd'/>
+ <polygon points='45.712,20.275 46.952,20.275 47.918,22.955 48.881,20.275 50.125,20.275 48.597,24.153 47.236,24.153 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ <path clip-rule='evenodd' d='M54.341,22.204v0.354h-2.898c0.03,0.291,0.135,0.509,0.315,0.654 s0.432,0.218,0.755,0.218c0.261,0,0.527-0.038,0.8-0.114c0.274-0.079,0.556-0.196,0.845-0.354v0.956 c-0.293,0.111-0.587,0.194-0.88,0.25c-0.293,0.058-0.586,0.086-0.88,0.086c-0.702,0-1.248-0.178-1.638-0.533 c-0.388-0.358-0.582-0.859-0.582-1.503c0-0.632,0.19-1.13,0.571-1.492c0.383-0.363,0.91-0.544,1.58-0.544 c0.609,0,1.097,0.184,1.461,0.551C54.158,21.099,54.341,21.589,54.341,22.204z M53.066,21.792c0-0.235-0.069-0.425-0.208-0.568 c-0.136-0.146-0.315-0.218-0.537-0.218c-0.24,0-0.435,0.068-0.585,0.204c-0.15,0.134-0.244,0.328-0.281,0.582H53.066z' fill-rule='evenodd'/>
+ <rect fill-rule='evenodd' height='5.389' width='1.24' clip-rule='evenodd' y='18.765' x='54.925'/>
+ </g>
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/htdocs/images/valid_icons/valid-css2-blue.gif b/htdocs/images/valid_icons/valid-css2-blue.gif
new file mode 100644
index 0000000..75ada8d
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-css2-blue.gif
Binary files differ
diff --git a/htdocs/images/valid_icons/valid-css2-blue.png b/htdocs/images/valid_icons/valid-css2-blue.png
new file mode 100644
index 0000000..6140a0f
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-css2-blue.png
Binary files differ
diff --git a/htdocs/images/valid_icons/valid-css2-v.svg b/htdocs/images/valid_icons/valid-css2-v.svg
new file mode 100644
index 0000000..a9f4b5c
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-css2-v.svg
@@ -0,0 +1,375 @@
+<?xml version='1.0' encoding='iso-8859-1'?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns='http://www.w3.org/2000/svg' xml:space='preserve' version='1.1' overflow='visible' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 88 31'>
+ <g shape-rendering='geometricPrecision' text-rendering='geometricPrecision' image-rendering='optimizeQuality'>
+ <g id='Background'>
+ </g>
+ <g id='Guides'>
+ </g>
+ <g id='Foreground'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#FFCC66'/>
+ <path d='M41.5,15.5' fill='#FFCC66'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#FFFFFF'/>
+ <path d='M18.587,15.5' fill='#FFFFFF'/>
+ </g>
+ <g>
+ <polygon points='4.692,2.291 44.697,2.291 44.697,26.897 4.692,26.897 4.692,2.291 ' fill='none'/>
+ <path d='M24.695,14.594' fill='none'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_1240_'/>
+ </defs>
+ <use xlink:href='#XMLID_1240_' fill='#504D4C'/>
+ <clipPath id='XMLID_1266_'>
+ <use xlink:href='#XMLID_1240_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1266_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#4E4B3F'/>
+ <path d='M41.5,15.5' fill='#4E4B3F'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#4F4F4F'/>
+ <path d='M18.587,15.5' fill='#4F4F4F'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='82,0 83,0 83,31 82,31 82,0 ' id='XMLID_1242_'/>
+ </defs>
+ <use xlink:href='#XMLID_1242_' fill='#504D4C'/>
+ <clipPath id='XMLID_1267_'>
+ <use xlink:href='#XMLID_1242_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1267_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#4E4B3F'/>
+ <path d='M41.5,15.5' fill='#4E4B3F'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_1244_'/>
+ </defs>
+ <use xlink:href='#XMLID_1244_' fill='#191919'/>
+ <clipPath id='XMLID_1268_'>
+ <use xlink:href='#XMLID_1244_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1268_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#191917'/>
+ <path d='M41.5,15.5' fill='#191917'/>
+ </g>
+ <g>
+ <polygon points='0.366,0 36.809,0 36.809,31 0.366,31 0.366,0 ' fill='#191919'/>
+ <path d='M18.587,15.5' fill='#191919'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <polygon points='0,0 1,0 1,31 0,31 0,0 ' fill='#CCCCCC'/>
+ <path d='M0.5,15.5' fill='#CCCCCC'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='2.16,29.005 82.16,29.005 82.16,30.005 2.16,30.005 2.16,29.005 ' id='XMLID_1246_'/>
+ </defs>
+ <use xlink:href='#XMLID_1246_' fill='#9E9C9C'/>
+ <clipPath id='XMLID_1269_'>
+ <use xlink:href='#XMLID_1246_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1269_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#B39F67'/>
+ <path d='M41.5,15.5' fill='#B39F67'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#B5B5B5'/>
+ <path d='M18.587,15.5' fill='#B5B5B5'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_1248_'/>
+ </defs>
+ <use xlink:href='#XMLID_1248_' fill='#383838'/>
+ <clipPath id='XMLID_1270_'>
+ <use xlink:href='#XMLID_1248_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1270_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#383530'/>
+ <path d='M41.5,15.5' fill='#383530'/>
+ </g>
+ <g>
+ <polygon points='0.366,0 36.809,0 36.809,31 0.366,31 0.366,0 ' fill='#383838'/>
+ <path d='M18.587,15.5' fill='#383838'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='82,0 83,0 83,31 82,31 82,0 ' id='XMLID_1250_'/>
+ </defs>
+ <use xlink:href='#XMLID_1250_' fill='#383838'/>
+ <clipPath id='XMLID_1271_'>
+ <use xlink:href='#XMLID_1250_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1271_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#383530'/>
+ <path d='M41.5,15.5' fill='#383530'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_1252_'/>
+ </defs>
+ <use xlink:href='#XMLID_1252_' fill='#131313'/>
+ <clipPath id='XMLID_1272_'>
+ <use xlink:href='#XMLID_1252_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1272_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#131313'/>
+ <path d='M41.5,15.5' fill='#131313'/>
+ </g>
+ <g>
+ <polygon points='0.366,0 36.809,0 36.809,31 0.366,31 0.366,0 ' fill='#131313'/>
+ <path d='M18.587,15.5' fill='#131313'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='80.806,1 81.806,1 81.806,31 80.806,31 80.806,1 ' id='XMLID_1254_'/>
+ </defs>
+ <use xlink:href='#XMLID_1254_' fill='#9E9C9C'/>
+ <clipPath id='XMLID_1273_'>
+ <use xlink:href='#XMLID_1254_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1273_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#B39F67'/>
+ <path d='M41.5,15.5' fill='#B39F67'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_1256_'/>
+ </defs>
+ <use xlink:href='#XMLID_1256_' fill='#383838'/>
+ <clipPath id='XMLID_1274_'>
+ <use xlink:href='#XMLID_1256_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1274_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#383530'/>
+ <path d='M41.5,15.5' fill='#383530'/>
+ </g>
+ <g>
+ <polygon points='0.366,0 36.809,0 36.809,31 0.366,31 0.366,0 ' fill='#383838'/>
+ <path d='M18.587,15.5' fill='#383838'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='2.16,29.005 82.16,29.005 82.16,30.005 2.16,30.005 2.16,29.005 ' id='XMLID_1258_'/>
+ </defs>
+ <use xlink:href='#XMLID_1258_' fill='#818181'/>
+ <clipPath id='XMLID_1275_'>
+ <use xlink:href='#XMLID_1258_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1275_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#807659'/>
+ <path d='M41.5,15.5' fill='#807659'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#818181'/>
+ <path d='M18.587,15.5' fill='#818181'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_1260_'/>
+ </defs>
+ <use xlink:href='#XMLID_1260_' fill='#272727'/>
+ <clipPath id='XMLID_1276_'>
+ <use xlink:href='#XMLID_1260_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1276_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#272623'/>
+ <path d='M41.5,15.5' fill='#272623'/>
+ </g>
+ <g>
+ <polygon points='0.366,0 36.809,0 36.809,31 0.366,31 0.366,0 ' fill='#272727'/>
+ <path d='M18.587,15.5' fill='#272727'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='82,0 83,0 83,31 82,31 82,0 ' id='XMLID_1262_'/>
+ </defs>
+ <use xlink:href='#XMLID_1262_' fill='#272727'/>
+ <clipPath id='XMLID_1277_'>
+ <use xlink:href='#XMLID_1262_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1277_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#272623'/>
+ <path d='M41.5,15.5' fill='#272623'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_1264_'/>
+ </defs>
+ <use xlink:href='#XMLID_1264_' fill='#101010'/>
+ <clipPath id='XMLID_1278_'>
+ <use xlink:href='#XMLID_1264_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1278_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#101010'/>
+ <path d='M41.5,15.5' fill='#101010'/>
+ </g>
+ <g>
+ <polygon points='0.366,0 36.809,0 36.809,31 0.366,31 0.366,0 ' fill='#101010'/>
+ <path d='M18.587,15.5' fill='#101010'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,1 0,1 0,0 ' fill='#CCCCCC'/>
+ <path d='M41.5,0.5' fill='#CCCCCC'/>
+ </g>
+ <g>
+ <polyline fill-rule='evenodd' stroke='#990000' points=' 68.273,18.844 74.291,24.348 86.001,12.637 ' clip-rule='evenodd' stroke-miterlimit='3.8637' stroke-width='4.8117' fill='none'/>
+ </g>
+ <g>
+ <g>
+ <path d='M33.077,7.037l0.334,2.034l-1.185,2.266c0,0-0.455-0.961-1.21-1.493c-0.636-0.448-1.051-0.546-1.699-0.412 c-0.833,0.172-1.777,1.167-2.189,2.395c-0.493,1.469-0.498,2.18-0.515,2.833c-0.028,1.047,0.137,1.665,0.137,1.665 s-0.719-1.33-0.712-3.279c0.005-1.391,0.223-2.652,0.867-3.896c0.566-1.094,1.407-1.751,2.154-1.828 c0.772-0.08,1.383,0.292,1.854,0.695c0.495,0.423,0.996,1.348,0.996,1.348L33.077,7.037z'/>
+ <path d='M33.222,18.547c0,0-0.523,0.936-0.85,1.296s-0.91,0.996-1.63,1.313c-0.721,0.317-1.099,0.378-1.811,0.309 c-0.712-0.068-1.373-0.48-1.605-0.652c-0.231-0.171-0.824-0.678-1.159-1.15c-0.335-0.472-0.858-1.417-0.858-1.417 s0.292,0.946,0.474,1.348c0.105,0.231,0.428,0.938,0.886,1.553c0.427,0.574,1.257,1.563,2.519,1.786s2.128-0.343,2.343-0.481 c0.214-0.137,0.667-0.516,0.953-0.822c0.299-0.319,0.582-0.727,0.738-0.972c0.114-0.179,0.301-0.541,0.301-0.541L33.222,18.547z'/>
+ </g>
+ <g>
+ <path d='M11.437,7.127l2.852,9.698l2.852-9.698h2.065l-4.721,15.934h-0.197l-2.95-9.875l-2.951,9.875H8.191 L3.47,7.127h2.065l2.853,9.698l1.928-6.531L9.372,7.127H11.437z' fill='#005A9C'/>
+ <path d='M25.072,17.946c0,1.443-0.384,2.656-1.151,3.639c-0.767,0.983-1.761,1.475-2.98,1.475 c-0.918,0-1.718-0.292-2.4-0.875c-0.682-0.583-1.187-1.373-1.515-2.37l1.613-0.669c0.236,0.604,0.548,1.079,0.935,1.426 c0.387,0.348,0.843,0.521,1.367,0.521c0.551,0,1.016-0.308,1.397-0.924c0.38-0.616,0.571-1.357,0.571-2.223 c0-0.958-0.203-1.699-0.61-2.223c-0.473-0.616-1.214-0.924-2.223-0.924h-0.787v-0.944l2.754-4.76h-3.325l-0.925,1.573h-0.59 V7.127h7.672v0.964l-2.911,5.016c1.023,0.328,1.797,0.925,2.321,1.791S25.072,16.779,25.072,17.946z' fill='#005A9C'/>
+ </g>
+ </g>
+ <g>
+ <path clip-rule='evenodd' d='M45.772,12.711c-0.345,0.179-0.705,0.314-1.079,0.405 c-0.375,0.091-0.765,0.137-1.172,0.137c-1.214,0-2.176-0.338-2.886-1.016c-0.71-0.68-1.064-1.601-1.064-2.764 c0-1.165,0.354-2.086,1.064-2.764c0.709-0.68,1.671-1.02,2.886-1.021c0.407,0,0.797,0.046,1.172,0.137 c0.374,0.091,0.734,0.227,1.079,0.405v1.509c-0.349-0.237-0.692-0.412-1.03-0.522c-0.339-0.11-0.695-0.166-1.069-0.166 c-0.671,0-1.198,0.215-1.582,0.645c-0.384,0.43-0.576,1.022-0.576,1.777c0,0.752,0.192,1.343,0.576,1.772 c0.384,0.43,0.911,0.645,1.582,0.645c0.374,0,0.73-0.055,1.069-0.166c0.338-0.11,0.682-0.285,1.03-0.522V12.711z' fill-rule='evenodd'/>
+ <path clip-rule='evenodd' d='M52.502,6.051v1.543c-0.4-0.179-0.791-0.314-1.171-0.405 c-0.381-0.091-0.741-0.136-1.079-0.137c-0.45,0-0.781,0.062-0.996,0.186c-0.215,0.124-0.322,0.316-0.322,0.576 c0,0.195,0.071,0.349,0.214,0.459c0.146,0.107,0.411,0.2,0.792,0.278l0.8,0.161c0.811,0.163,1.387,0.41,1.729,0.742 c0.342,0.332,0.513,0.804,0.513,1.416c0,0.804-0.239,1.403-0.717,1.797c-0.476,0.391-1.203,0.586-2.183,0.586 c-0.462,0-0.926-0.044-1.392-0.132c-0.466-0.088-0.931-0.218-1.396-0.391v-1.587c0.465,0.248,0.915,0.435,1.347,0.562 c0.437,0.124,0.856,0.186,1.26,0.186c0.41,0,0.724-0.068,0.942-0.205c0.218-0.137,0.327-0.332,0.327-0.586 c0-0.228-0.075-0.403-0.225-0.527c-0.146-0.124-0.441-0.234-0.884-0.332l-0.727-0.161c-0.729-0.156-1.263-0.405-1.602-0.747 c-0.335-0.342-0.502-0.802-0.502-1.382c0-0.726,0.234-1.284,0.703-1.675c0.469-0.391,1.143-0.586,2.022-0.586 c0.4,0,0.812,0.031,1.235,0.093C51.612,5.841,52.05,5.931,52.502,6.051z' fill-rule='evenodd'/>
+ <path clip-rule='evenodd' d='M59.805,6.051v1.543c-0.4-0.179-0.791-0.314-1.172-0.405 c-0.381-0.091-0.741-0.136-1.079-0.137c-0.449,0-0.781,0.062-0.996,0.186c-0.215,0.124-0.322,0.316-0.322,0.576 c0,0.195,0.072,0.349,0.215,0.459c0.146,0.107,0.41,0.2,0.791,0.278l0.801,0.161c0.811,0.163,1.387,0.41,1.729,0.742 s0.513,0.804,0.513,1.416c0,0.804-0.239,1.403-0.718,1.797c-0.475,0.391-1.203,0.586-2.183,0.586 c-0.462,0-0.926-0.044-1.392-0.132s-0.931-0.218-1.396-0.391v-1.587c0.465,0.248,0.915,0.435,1.348,0.562 c0.436,0.124,0.856,0.186,1.26,0.186c0.41,0,0.724-0.068,0.942-0.205s0.327-0.332,0.327-0.586c0-0.228-0.075-0.403-0.225-0.527 c-0.146-0.124-0.441-0.234-0.884-0.332l-0.728-0.161c-0.729-0.156-1.263-0.405-1.602-0.747c-0.335-0.342-0.503-0.802-0.503-1.382 c0-0.726,0.234-1.284,0.703-1.675c0.469-0.391,1.143-0.586,2.021-0.586c0.4,0,0.812,0.031,1.235,0.093 C58.915,5.841,59.352,5.931,59.805,6.051z' fill-rule='evenodd'/>
+ </g>
+ <path clip-rule='evenodd' d='M60.032,22.914h3.208v1.382h-5.297v-1.382l2.661-2.349 c0.238-0.215,0.414-0.425,0.528-0.63c0.114-0.205,0.17-0.418,0.171-0.64c0-0.342-0.116-0.617-0.347-0.825 c-0.228-0.208-0.533-0.313-0.913-0.313c-0.293,0-0.614,0.064-0.962,0.191c-0.349,0.124-0.721,0.309-1.119,0.557v-1.602 c0.423-0.14,0.842-0.245,1.255-0.317c0.413-0.075,0.818-0.112,1.215-0.112c0.873,0,1.55,0.192,2.032,0.576 c0.485,0.384,0.727,0.92,0.728,1.607c0,0.397-0.103,0.768-0.308,1.113c-0.205,0.342-0.637,0.801-1.294,1.377L60.032,22.914z' fill-rule='evenodd'/>
+ <g>
+ <rect fill-rule='evenodd' height='5.389' width='1.24' clip-rule='evenodd' y='18.765' x='39.668'/>
+ <path clip-rule='evenodd' d='M45.617,22.204v0.353h-2.899c0.03,0.291,0.135,0.509,0.315,0.655 s0.432,0.218,0.755,0.218c0.261,0,0.527-0.038,0.8-0.114c0.275-0.079,0.557-0.196,0.845-0.354v0.956 c-0.293,0.111-0.586,0.194-0.879,0.249c-0.293,0.058-0.587,0.086-0.88,0.087c-0.702,0-1.248-0.178-1.638-0.534 c-0.388-0.357-0.582-0.858-0.582-1.503c0-0.632,0.19-1.13,0.571-1.493c0.383-0.362,0.91-0.543,1.579-0.543 c0.609,0,1.097,0.184,1.461,0.55C45.433,21.099,45.617,21.589,45.617,22.204z M44.342,21.792c0-0.236-0.069-0.425-0.208-0.568 c-0.136-0.145-0.315-0.218-0.537-0.218c-0.24,0-0.435,0.068-0.585,0.204c-0.15,0.134-0.244,0.328-0.28,0.582H44.342z' fill-rule='evenodd'/>
+ <polygon points='45.712,20.274 46.952,20.274 47.918,22.955 48.881,20.274 50.125,20.274 48.597,24.153 47.236,24.153 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ <path clip-rule='evenodd' d='M54.341,22.204v0.353h-2.899c0.03,0.291,0.135,0.509,0.315,0.655 c0.18,0.146,0.432,0.218,0.755,0.218c0.261,0,0.527-0.038,0.8-0.114c0.275-0.079,0.556-0.196,0.845-0.354v0.956 c-0.293,0.111-0.586,0.194-0.88,0.249c-0.293,0.058-0.586,0.086-0.88,0.087c-0.702,0-1.248-0.178-1.638-0.534 c-0.388-0.357-0.582-0.858-0.582-1.503c0-0.632,0.19-1.13,0.572-1.493c0.383-0.362,0.909-0.543,1.579-0.543 c0.609,0,1.097,0.184,1.461,0.55C54.158,21.099,54.341,21.589,54.341,22.204z M53.066,21.792c0-0.236-0.069-0.425-0.208-0.568 c-0.136-0.145-0.315-0.218-0.537-0.218c-0.24,0-0.436,0.068-0.585,0.204c-0.15,0.134-0.244,0.328-0.281,0.582H53.066z' fill-rule='evenodd'/>
+ <rect fill-rule='evenodd' height='5.389' width='1.24' clip-rule='evenodd' y='18.765' x='54.925'/>
+ </g>
+ </g>
+ <g id='Calque_1'>
+ </g>
+ <g id='Layer_1'>
+ </g>
+ </g>
+</svg>
diff --git a/htdocs/images/valid_icons/valid-css2.gif b/htdocs/images/valid_icons/valid-css2.gif
new file mode 100644
index 0000000..c3c119c
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-css2.gif
Binary files differ
diff --git a/htdocs/images/valid_icons/valid-css2.png b/htdocs/images/valid_icons/valid-css2.png
new file mode 100644
index 0000000..c04dbab
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-css2.png
Binary files differ
diff --git a/htdocs/images/valid_icons/valid-html20-blue-v.svg b/htdocs/images/valid_icons/valid-html20-blue-v.svg
new file mode 100644
index 0000000..d323d12
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-html20-blue-v.svg
@@ -0,0 +1,329 @@
+<?xml version='1.0' encoding='iso-8859-1'?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns='http://www.w3.org/2000/svg' xml:space='preserve' version='1.1' overflow='visible' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 88 31'>
+ <g shape-rendering='geometricPrecision' text-rendering='geometricPrecision' image-rendering='optimizeQuality'>
+ <g shape-rendering='geometricPrecision' text-rendering='geometricPrecision' image-rendering='optimizeQuality'>
+ <g id='Background'>
+ </g>
+ <g id='Guides'>
+ </g>
+ <g id='Foreground'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#B3CEE1'/>
+ <path d='M41.5,15.5' fill='#B3CEE1'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#FFFFFF'/>
+ <path d='M18.587,15.5' fill='#FFFFFF'/>
+ </g>
+ <g>
+ <polygon points='4.692,2.291 44.697,2.291 44.697,26.898 4.692,26.898 4.692,2.291 ' fill='none'/>
+ <path d='M24.695,14.594' fill='none'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_523_'/>
+ </defs>
+ <use xlink:href='#XMLID_523_' fill='#504D4C'/>
+ <clipPath id='XMLID_549_'>
+ <use xlink:href='#XMLID_523_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_549_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#48494B'/>
+ <path d='M41.5,15.5' fill='#48494B'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#4F4F4F'/>
+ <path d='M18.587,15.5' fill='#4F4F4F'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='82,0 83,0 83,31 82,31 82,0 ' id='XMLID_525_'/>
+ </defs>
+ <use xlink:href='#XMLID_525_' fill='#504D4C'/>
+ <clipPath id='XMLID_550_'>
+ <use xlink:href='#XMLID_525_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_550_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#48494B'/>
+ <path d='M41.5,15.5' fill='#48494B'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_527_'/>
+ </defs>
+ <use xlink:href='#XMLID_527_' fill='#191919'/>
+ <clipPath id='XMLID_551_'>
+ <use xlink:href='#XMLID_527_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_551_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#181818'/>
+ <path d='M41.5,15.5' fill='#181818'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#191919'/>
+ <path d='M18.587,15.5' fill='#191919'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <polygon points='0,0 1,0 1,31 0,31 0,0 ' fill='#CCCCCC'/>
+ <path d='M0.5,15.5' fill='#CCCCCC'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='2.16,29.005 82.16,29.005 82.16,30.005 2.16,30.005 2.16,29.005 ' id='XMLID_529_'/>
+ </defs>
+ <use xlink:href='#XMLID_529_' fill='#9E9C9C'/>
+ <clipPath id='XMLID_552_'>
+ <use xlink:href='#XMLID_529_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_552_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#9097A0'/>
+ <path d='M41.5,15.5' fill='#9097A0'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#B5B5B5'/>
+ <path d='M18.587,15.5' fill='#B5B5B5'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_531_'/>
+ </defs>
+ <use xlink:href='#XMLID_531_' fill='#383838'/>
+ <clipPath id='XMLID_553_'>
+ <use xlink:href='#XMLID_531_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_553_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#343536'/>
+ <path d='M41.5,15.5' fill='#343536'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#383838'/>
+ <path d='M18.587,15.5' fill='#383838'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='82,0 83,0 83,31 82,31 82,0 ' id='XMLID_533_'/>
+ </defs>
+ <use xlink:href='#XMLID_533_' fill='#383838'/>
+ <clipPath id='XMLID_554_'>
+ <use xlink:href='#XMLID_533_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_554_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#343536'/>
+ <path d='M41.5,15.5' fill='#343536'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_535_'/>
+ </defs>
+ <use xlink:href='#XMLID_535_' fill='#131313'/>
+ <clipPath id='XMLID_555_'>
+ <use xlink:href='#XMLID_535_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_555_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#131313'/>
+ <path d='M41.5,15.5' fill='#131313'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#131313'/>
+ <path d='M18.587,15.5' fill='#131313'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='80.806,1 81.806,1 81.806,31 80.806,31 80.806,1 ' id='XMLID_537_'/>
+ </defs>
+ <use xlink:href='#XMLID_537_' fill='#9E9C9C'/>
+ <clipPath id='XMLID_556_'>
+ <use xlink:href='#XMLID_537_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_556_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#9097A0'/>
+ <path d='M41.5,15.5' fill='#9097A0'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_539_'/>
+ </defs>
+ <use xlink:href='#XMLID_539_' fill='#383838'/>
+ <clipPath id='XMLID_557_'>
+ <use xlink:href='#XMLID_539_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_557_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#343536'/>
+ <path d='M41.5,15.5' fill='#343536'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#383838'/>
+ <path d='M18.587,15.5' fill='#383838'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='2.16,29.005 82.16,29.005 82.16,30.005 2.16,30.005 2.16,29.005 ' id='XMLID_541_'/>
+ </defs>
+ <use xlink:href='#XMLID_541_' fill='#818181'/>
+ <clipPath id='XMLID_558_'>
+ <use xlink:href='#XMLID_541_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_558_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#6E7176'/>
+ <path d='M41.5,15.5' fill='#6E7176'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#818181'/>
+ <path d='M18.587,15.5' fill='#818181'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_543_'/>
+ </defs>
+ <use xlink:href='#XMLID_543_' fill='#272727'/>
+ <clipPath id='XMLID_559_'>
+ <use xlink:href='#XMLID_543_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_559_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#252626'/>
+ <path d='M41.5,15.5' fill='#252626'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#272727'/>
+ <path d='M18.587,15.5' fill='#272727'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='82,0 83,0 83,31 82,31 82,0 ' id='XMLID_545_'/>
+ </defs>
+ <use xlink:href='#XMLID_545_' fill='#272727'/>
+ <clipPath id='XMLID_560_'>
+ <use xlink:href='#XMLID_545_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_560_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#252626'/>
+ <path d='M41.5,15.5' fill='#252626'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_547_'/>
+ </defs>
+ <use xlink:href='#XMLID_547_' fill='#101010'/>
+ <clipPath id='XMLID_561_'>
+ <use xlink:href='#XMLID_547_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_561_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#101010'/>
+ <path d='M41.5,15.5' fill='#101010'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#101010'/>
+ <path d='M18.587,15.5' fill='#101010'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,1 0,1 0,0 ' fill='#CCCCCC'/>
+ <path d='M41.5,0.5' fill='#CCCCCC'/>
+ </g>
+ <g>
+ <polyline fill-rule='evenodd' stroke='#005A9C' points=' 68.273,18.845 74.291,24.348 86.001,12.637 ' clip-rule='evenodd' stroke-miterlimit='3.8637' stroke-width='4.8117' fill='none'/>
+ </g>
+ <g>
+ <g>
+ <path d='M33.077,7.037l0.334,2.034l-1.185,2.266c0,0-0.455-0.961-1.21-1.493c-0.636-0.448-1.051-0.546-1.699-0.412 c-0.833,0.172-1.777,1.167-2.189,2.395c-0.493,1.469-0.498,2.179-0.515,2.832c-0.027,1.047,0.137,1.665,0.137,1.665 s-0.719-1.33-0.712-3.279c0.005-1.391,0.223-2.652,0.867-3.897c0.566-1.094,1.408-1.751,2.154-1.828 c0.772-0.08,1.382,0.292,1.854,0.695c0.495,0.423,0.996,1.347,0.996,1.347L33.077,7.037z'/>
+ <path d='M33.222,18.547c0,0-0.523,0.936-0.85,1.296c-0.326,0.36-0.91,0.996-1.631,1.313c-0.721,0.317-1.099,0.377-1.811,0.309 c-0.712-0.069-1.374-0.481-1.605-0.652c-0.232-0.172-0.824-0.678-1.159-1.15c-0.335-0.472-0.858-1.416-0.858-1.416 s0.292,0.946,0.474,1.347c0.105,0.231,0.428,0.938,0.886,1.553c0.427,0.574,1.257,1.562,2.519,1.785s2.128-0.344,2.343-0.481 c0.214-0.137,0.667-0.516,0.953-0.822c0.299-0.32,0.582-0.728,0.738-0.972c0.114-0.178,0.301-0.541,0.301-0.541L33.222,18.547z'/>
+ </g>
+ <g>
+ <path d='M11.437,7.127l2.852,9.698l2.852-9.698h2.065l-4.721,15.933h-0.197l-2.951-9.875l-2.951,9.875H8.191 L3.47,7.127h2.065l2.852,9.698l1.928-6.531L9.372,7.127H11.437z' fill='#005A9C'/>
+ <path d='M25.072,17.946c0,1.443-0.384,2.656-1.151,3.639c-0.767,0.983-1.76,1.475-2.98,1.475 c-0.918,0-1.718-0.292-2.4-0.875c-0.682-0.584-1.187-1.374-1.515-2.371l1.613-0.668c0.236,0.603,0.548,1.079,0.935,1.426 c0.387,0.347,0.843,0.521,1.367,0.521c0.551,0,1.016-0.308,1.397-0.924s0.571-1.357,0.571-2.223c0-0.957-0.204-1.698-0.61-2.223 c-0.472-0.616-1.214-0.925-2.223-0.925h-0.787v-0.944l2.754-4.761h-3.325l-0.925,1.574h-0.59V7.127h7.672v0.964l-2.912,5.016 c1.023,0.328,1.797,0.925,2.321,1.791S25.072,16.779,25.072,17.946z' fill='#005A9C'/>
+ </g>
+ </g>
+ <g>
+ <polygon points='39.702,5.653 41.582,5.653 41.582,8.431 44.355,8.431 44.355,5.653 46.235,5.653 46.235,12.943 44.355,12.943 44.355,9.852 41.582,9.852 41.582,12.943 39.702,12.943 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ <polygon points='47.801,5.653 54.52,5.653 54.52,7.074 52.103,7.074 52.103,12.943 50.223,12.943 50.223,7.074 47.801,7.074 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ <polygon points='56.092,5.653 58.484,5.653 60.145,9.554 61.814,5.653 64.202,5.653 64.202,12.943 62.425,12.943 62.425,7.611 60.745,11.542 59.554,11.542 57.874,7.611 57.874,12.943 56.092,12.943 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ <polygon points='66.643,5.653 68.523,5.653 68.523,11.522 71.824,11.522 71.824,12.943 66.643,12.943 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ </g>
+ <g>
+ <path clip-rule='evenodd' d='M41.737,22.832h3.208v1.382h-5.298v-1.382l2.661-2.349 c0.238-0.215,0.414-0.425,0.527-0.63s0.171-0.418,0.171-0.64c0-0.342-0.116-0.617-0.347-0.825 c-0.228-0.208-0.532-0.312-0.913-0.313c-0.293,0-0.614,0.063-0.962,0.19c-0.348,0.124-0.721,0.31-1.118,0.557v-1.601 c0.423-0.14,0.841-0.246,1.255-0.318c0.414-0.075,0.819-0.112,1.216-0.112c0.873,0,1.549,0.192,2.031,0.576 c0.485,0.384,0.728,0.92,0.728,1.606c0,0.397-0.103,0.769-0.308,1.113c-0.205,0.342-0.636,0.801-1.294,1.377L41.737,22.832z' fill-rule='evenodd'/>
+ <rect fill-rule='evenodd' height='1.89' width='1.758' clip-rule='evenodd' y='22.324' x='47.435'/>
+ <path clip-rule='evenodd' d='M55.413,20.562c0-0.911-0.086-1.552-0.259-1.924 c-0.169-0.374-0.456-0.561-0.859-0.562c-0.404,0-0.692,0.188-0.864,0.562c-0.173,0.371-0.259,1.012-0.259,1.924 c0,0.921,0.086,1.571,0.259,1.948c0.172,0.378,0.46,0.566,0.864,0.566c0.4,0,0.687-0.189,0.859-0.566 C55.327,22.132,55.413,21.483,55.413,20.562z M57.293,20.576c0,1.208-0.261,2.14-0.781,2.798c-0.521,0.654-1.26,0.981-2.217,0.981 c-0.96,0-1.701-0.327-2.222-0.981c-0.521-0.657-0.781-1.59-0.781-2.798c0-1.211,0.26-2.144,0.781-2.798 c0.521-0.657,1.261-0.986,2.222-0.986c0.957,0,1.696,0.329,2.217,0.986C57.032,18.433,57.292,19.365,57.293,20.576z' fill-rule='evenodd'/>
+ </g>
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/htdocs/images/valid_icons/valid-html20-blue.gif b/htdocs/images/valid_icons/valid-html20-blue.gif
new file mode 100644
index 0000000..95585f3
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-html20-blue.gif
Binary files differ
diff --git a/htdocs/images/valid_icons/valid-html20-blue.png b/htdocs/images/valid_icons/valid-html20-blue.png
new file mode 100644
index 0000000..4005601
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-html20-blue.png
Binary files differ
diff --git a/htdocs/images/valid_icons/valid-html20-v.svg b/htdocs/images/valid_icons/valid-html20-v.svg
new file mode 100644
index 0000000..05c7c4b
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-html20-v.svg
@@ -0,0 +1,331 @@
+<?xml version='1.0' encoding='iso-8859-1'?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns='http://www.w3.org/2000/svg' xml:space='preserve' version='1.1' overflow='visible' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 88 31'>
+ <g shape-rendering='geometricPrecision' text-rendering='geometricPrecision' image-rendering='optimizeQuality'>
+ <g id='Background'>
+ </g>
+ <g id='Guides'>
+ </g>
+ <g id='Foreground'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#FFCC66'/>
+ <path d='M41.5,15.5' fill='#FFCC66'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#FFFFFF'/>
+ <path d='M18.587,15.5' fill='#FFFFFF'/>
+ </g>
+ <g>
+ <polygon points='4.692,2.291 44.697,2.291 44.697,26.898 4.692,26.898 4.692,2.291 ' fill='none'/>
+ <path d='M24.695,14.594' fill='none'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_1201_'/>
+ </defs>
+ <use xlink:href='#XMLID_1201_' fill='#504D4C'/>
+ <clipPath id='XMLID_1227_'>
+ <use xlink:href='#XMLID_1201_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1227_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#4E4B3F'/>
+ <path d='M41.5,15.5' fill='#4E4B3F'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#4F4F4F'/>
+ <path d='M18.587,15.5' fill='#4F4F4F'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='82,0 83,0 83,31 82,31 82,0 ' id='XMLID_1203_'/>
+ </defs>
+ <use xlink:href='#XMLID_1203_' fill='#504D4C'/>
+ <clipPath id='XMLID_1228_'>
+ <use xlink:href='#XMLID_1203_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1228_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#4E4B3F'/>
+ <path d='M41.5,15.5' fill='#4E4B3F'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_1205_'/>
+ </defs>
+ <use xlink:href='#XMLID_1205_' fill='#191919'/>
+ <clipPath id='XMLID_1229_'>
+ <use xlink:href='#XMLID_1205_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1229_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#191917'/>
+ <path d='M41.5,15.5' fill='#191917'/>
+ </g>
+ <g>
+ <polygon points='0.366,0 36.809,0 36.809,31 0.366,31 0.366,0 ' fill='#191919'/>
+ <path d='M18.587,15.5' fill='#191919'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <polygon points='0,0 1,0 1,31 0,31 0,0 ' fill='#CCCCCC'/>
+ <path d='M0.5,15.5' fill='#CCCCCC'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='2.16,29.005 82.16,29.005 82.16,30.005 2.16,30.005 2.16,29.005 ' id='XMLID_1207_'/>
+ </defs>
+ <use xlink:href='#XMLID_1207_' fill='#9E9C9C'/>
+ <clipPath id='XMLID_1230_'>
+ <use xlink:href='#XMLID_1207_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1230_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#B39F67'/>
+ <path d='M41.5,15.5' fill='#B39F67'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#B5B5B5'/>
+ <path d='M18.587,15.5' fill='#B5B5B5'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_1209_'/>
+ </defs>
+ <use xlink:href='#XMLID_1209_' fill='#383838'/>
+ <clipPath id='XMLID_1231_'>
+ <use xlink:href='#XMLID_1209_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1231_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#383530'/>
+ <path d='M41.5,15.5' fill='#383530'/>
+ </g>
+ <g>
+ <polygon points='0.366,0 36.809,0 36.809,31 0.366,31 0.366,0 ' fill='#383838'/>
+ <path d='M18.587,15.5' fill='#383838'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='82,0 83,0 83,31 82,31 82,0 ' id='XMLID_1211_'/>
+ </defs>
+ <use xlink:href='#XMLID_1211_' fill='#383838'/>
+ <clipPath id='XMLID_1232_'>
+ <use xlink:href='#XMLID_1211_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1232_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#383530'/>
+ <path d='M41.5,15.5' fill='#383530'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_1213_'/>
+ </defs>
+ <use xlink:href='#XMLID_1213_' fill='#131313'/>
+ <clipPath id='XMLID_1233_'>
+ <use xlink:href='#XMLID_1213_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1233_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#131313'/>
+ <path d='M41.5,15.5' fill='#131313'/>
+ </g>
+ <g>
+ <polygon points='0.366,0 36.809,0 36.809,31 0.366,31 0.366,0 ' fill='#131313'/>
+ <path d='M18.587,15.5' fill='#131313'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='80.806,1 81.806,1 81.806,31 80.806,31 80.806,1 ' id='XMLID_1215_'/>
+ </defs>
+ <use xlink:href='#XMLID_1215_' fill='#9E9C9C'/>
+ <clipPath id='XMLID_1234_'>
+ <use xlink:href='#XMLID_1215_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1234_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#B39F67'/>
+ <path d='M41.5,15.5' fill='#B39F67'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_1217_'/>
+ </defs>
+ <use xlink:href='#XMLID_1217_' fill='#383838'/>
+ <clipPath id='XMLID_1235_'>
+ <use xlink:href='#XMLID_1217_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1235_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#383530'/>
+ <path d='M41.5,15.5' fill='#383530'/>
+ </g>
+ <g>
+ <polygon points='0.366,0 36.809,0 36.809,31 0.366,31 0.366,0 ' fill='#383838'/>
+ <path d='M18.587,15.5' fill='#383838'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='2.16,29.005 82.16,29.005 82.16,30.005 2.16,30.005 2.16,29.005 ' id='XMLID_1219_'/>
+ </defs>
+ <use xlink:href='#XMLID_1219_' fill='#818181'/>
+ <clipPath id='XMLID_1236_'>
+ <use xlink:href='#XMLID_1219_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1236_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#807659'/>
+ <path d='M41.5,15.5' fill='#807659'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#818181'/>
+ <path d='M18.587,15.5' fill='#818181'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_1221_'/>
+ </defs>
+ <use xlink:href='#XMLID_1221_' fill='#272727'/>
+ <clipPath id='XMLID_1237_'>
+ <use xlink:href='#XMLID_1221_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1237_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#272623'/>
+ <path d='M41.5,15.5' fill='#272623'/>
+ </g>
+ <g>
+ <polygon points='0.366,0 36.809,0 36.809,31 0.366,31 0.366,0 ' fill='#272727'/>
+ <path d='M18.587,15.5' fill='#272727'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='82,0 83,0 83,31 82,31 82,0 ' id='XMLID_1223_'/>
+ </defs>
+ <use xlink:href='#XMLID_1223_' fill='#272727'/>
+ <clipPath id='XMLID_1238_'>
+ <use xlink:href='#XMLID_1223_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1238_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#272623'/>
+ <path d='M41.5,15.5' fill='#272623'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_1225_'/>
+ </defs>
+ <use xlink:href='#XMLID_1225_' fill='#101010'/>
+ <clipPath id='XMLID_1239_'>
+ <use xlink:href='#XMLID_1225_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1239_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#101010'/>
+ <path d='M41.5,15.5' fill='#101010'/>
+ </g>
+ <g>
+ <polygon points='0.366,0 36.809,0 36.809,31 0.366,31 0.366,0 ' fill='#101010'/>
+ <path d='M18.587,15.5' fill='#101010'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,1 0,1 0,0 ' fill='#CCCCCC'/>
+ <path d='M41.5,0.5' fill='#CCCCCC'/>
+ </g>
+ <g>
+ <polyline fill-rule='evenodd' stroke='#990000' points=' 68.273,18.844 74.291,24.348 86.001,12.637 ' clip-rule='evenodd' stroke-miterlimit='3.8637' stroke-width='4.8117' fill='none'/>
+ </g>
+ <g>
+ <g>
+ <path d='M33.077,7.037l0.334,2.034l-1.185,2.266c0,0-0.455-0.961-1.21-1.493c-0.636-0.448-1.051-0.546-1.699-0.412 c-0.833,0.172-1.777,1.167-2.189,2.395c-0.493,1.469-0.498,2.179-0.515,2.832c-0.028,1.047,0.137,1.665,0.137,1.665 s-0.719-1.33-0.712-3.279c0.005-1.391,0.223-2.652,0.867-3.896c0.566-1.094,1.407-1.751,2.154-1.828 c0.772-0.08,1.383,0.292,1.854,0.695c0.495,0.423,0.996,1.347,0.996,1.347L33.077,7.037z'/>
+ <path d='M33.222,18.547c0,0-0.523,0.936-0.85,1.296s-0.91,0.996-1.63,1.313c-0.721,0.317-1.099,0.378-1.811,0.309 c-0.712-0.069-1.373-0.48-1.605-0.652c-0.231-0.171-0.824-0.678-1.159-1.15s-0.858-1.416-0.858-1.416s0.292,0.946,0.474,1.348 c0.105,0.231,0.428,0.938,0.886,1.553c0.427,0.574,1.257,1.562,2.519,1.785s2.128-0.343,2.343-0.481 c0.214-0.137,0.667-0.516,0.953-0.822c0.299-0.32,0.582-0.727,0.738-0.972c0.114-0.179,0.301-0.541,0.301-0.541L33.222,18.547z'/>
+ </g>
+ <g>
+ <path d='M11.437,7.127l2.852,9.698l2.852-9.698h2.065l-4.721,15.933h-0.197l-2.95-9.875l-2.951,9.875H8.191 L3.47,7.127h2.065l2.853,9.698l1.928-6.531L9.372,7.127H11.437z' fill='#005A9C'/>
+ <path d='M25.072,17.946c0,1.443-0.384,2.656-1.151,3.639c-0.767,0.983-1.761,1.475-2.98,1.475 c-0.918,0-1.718-0.292-2.4-0.875c-0.682-0.583-1.187-1.374-1.515-2.37l1.613-0.669c0.236,0.603,0.548,1.079,0.935,1.426 c0.387,0.348,0.843,0.521,1.367,0.521c0.551,0,1.016-0.308,1.397-0.924s0.571-1.357,0.571-2.223c0-0.957-0.203-1.698-0.61-2.223 c-0.473-0.616-1.214-0.925-2.223-0.925h-0.787v-0.944l2.754-4.76h-3.325l-0.925,1.574h-0.59V7.127h7.672v0.964l-2.911,5.016 c1.023,0.328,1.797,0.925,2.321,1.791S25.072,16.779,25.072,17.946z' fill='#005A9C'/>
+ </g>
+ </g>
+ <g>
+ <polygon points='39.702,5.653 41.582,5.653 41.582,8.431 44.355,8.431 44.355,5.653 46.235,5.653 46.235,12.943 44.355,12.943 44.355,9.852 41.582,9.852 41.582,12.943 39.702,12.943 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ <polygon points='47.802,5.653 54.521,5.653 54.521,7.074 52.103,7.074 52.103,12.943 50.223,12.943 50.223,7.074 47.802,7.074 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ <polygon points='56.092,5.653 58.484,5.653 60.145,9.554 61.814,5.653 64.202,5.653 64.202,12.943 62.425,12.943 62.425,7.611 60.745,11.542 59.554,11.542 57.874,7.611 57.874,12.943 56.092,12.943 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ <polygon points='66.643,5.653 68.523,5.653 68.523,11.522 71.824,11.522 71.824,12.943 66.643,12.943 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ </g>
+ <g>
+ <path clip-rule='evenodd' d='M41.737,22.832h3.208v1.382h-5.298v-1.382l2.661-2.349 c0.238-0.215,0.414-0.425,0.527-0.63c0.114-0.205,0.171-0.418,0.171-0.64c0-0.342-0.115-0.617-0.347-0.825 c-0.228-0.208-0.532-0.313-0.913-0.313c-0.293,0-0.613,0.063-0.962,0.19c-0.348,0.124-0.721,0.309-1.118,0.557v-1.602 c0.423-0.14,0.842-0.246,1.255-0.317c0.414-0.075,0.819-0.112,1.216-0.112c0.873,0,1.55,0.192,2.031,0.576 c0.485,0.384,0.728,0.919,0.728,1.606c0,0.397-0.103,0.768-0.308,1.113c-0.205,0.342-0.636,0.801-1.294,1.377L41.737,22.832z' fill-rule='evenodd'/>
+ <rect fill-rule='evenodd' height='1.89' width='1.758' clip-rule='evenodd' y='22.324' x='47.435'/>
+ <path clip-rule='evenodd' d='M55.413,20.562c0-0.911-0.086-1.553-0.259-1.924 c-0.169-0.375-0.456-0.562-0.859-0.562c-0.404,0-0.692,0.187-0.864,0.562c-0.173,0.371-0.259,1.012-0.259,1.924 c0,0.921,0.086,1.571,0.259,1.948c0.172,0.378,0.46,0.566,0.864,0.566c0.4,0,0.687-0.189,0.859-0.566 C55.327,22.132,55.413,21.483,55.413,20.562z M57.293,20.576c0,1.208-0.26,2.14-0.781,2.798c-0.521,0.654-1.26,0.981-2.217,0.981 c-0.96,0-1.701-0.327-2.222-0.981c-0.521-0.657-0.781-1.59-0.781-2.798c0-1.211,0.26-2.144,0.781-2.798 c0.521-0.657,1.261-0.986,2.222-0.986c0.957,0,1.696,0.329,2.217,0.986C57.033,18.433,57.293,19.365,57.293,20.576z' fill-rule='evenodd'/>
+ </g>
+ </g>
+ <g id='Calque_1'>
+ </g>
+ <g id='Layer_1'>
+ </g>
+ </g>
+</svg>
diff --git a/htdocs/images/valid_icons/valid-html20.gif b/htdocs/images/valid_icons/valid-html20.gif
new file mode 100644
index 0000000..ca134c0
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-html20.gif
Binary files differ
diff --git a/htdocs/images/valid_icons/valid-html20.png b/htdocs/images/valid_icons/valid-html20.png
new file mode 100644
index 0000000..4a96695
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-html20.png
Binary files differ
diff --git a/htdocs/images/valid_icons/valid-html32-blue-v.svg b/htdocs/images/valid_icons/valid-html32-blue-v.svg
new file mode 100644
index 0000000..65f3d61
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-html32-blue-v.svg
@@ -0,0 +1,329 @@
+<?xml version='1.0' encoding='iso-8859-1'?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns='http://www.w3.org/2000/svg' xml:space='preserve' version='1.1' overflow='visible' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 88 31'>
+ <g shape-rendering='geometricPrecision' text-rendering='geometricPrecision' image-rendering='optimizeQuality'>
+ <g shape-rendering='geometricPrecision' text-rendering='geometricPrecision' image-rendering='optimizeQuality'>
+ <g id='Background'>
+ </g>
+ <g id='Guides'>
+ </g>
+ <g id='Foreground'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#B3CEE1'/>
+ <path d='M41.5,15.5' fill='#B3CEE1'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#FFFFFF'/>
+ <path d='M18.587,15.5' fill='#FFFFFF'/>
+ </g>
+ <g>
+ <polygon points='4.692,2.291 44.697,2.291 44.697,26.898 4.692,26.898 4.692,2.291 ' fill='none'/>
+ <path d='M24.695,14.594' fill='none'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_484_'/>
+ </defs>
+ <use xlink:href='#XMLID_484_' fill='#504D4C'/>
+ <clipPath id='XMLID_510_'>
+ <use xlink:href='#XMLID_484_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_510_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#48494B'/>
+ <path d='M41.5,15.5' fill='#48494B'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#4F4F4F'/>
+ <path d='M18.587,15.5' fill='#4F4F4F'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='82,0 83,0 83,31 82,31 82,0 ' id='XMLID_486_'/>
+ </defs>
+ <use xlink:href='#XMLID_486_' fill='#504D4C'/>
+ <clipPath id='XMLID_511_'>
+ <use xlink:href='#XMLID_486_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_511_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#48494B'/>
+ <path d='M41.5,15.5' fill='#48494B'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_488_'/>
+ </defs>
+ <use xlink:href='#XMLID_488_' fill='#191919'/>
+ <clipPath id='XMLID_512_'>
+ <use xlink:href='#XMLID_488_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_512_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#181818'/>
+ <path d='M41.5,15.5' fill='#181818'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#191919'/>
+ <path d='M18.587,15.5' fill='#191919'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <polygon points='0,0 1,0 1,31 0,31 0,0 ' fill='#CCCCCC'/>
+ <path d='M0.5,15.5' fill='#CCCCCC'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='2.16,29.005 82.16,29.005 82.16,30.005 2.16,30.005 2.16,29.005 ' id='XMLID_490_'/>
+ </defs>
+ <use xlink:href='#XMLID_490_' fill='#9E9C9C'/>
+ <clipPath id='XMLID_513_'>
+ <use xlink:href='#XMLID_490_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_513_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#9097A0'/>
+ <path d='M41.5,15.5' fill='#9097A0'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#B5B5B5'/>
+ <path d='M18.587,15.5' fill='#B5B5B5'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_492_'/>
+ </defs>
+ <use xlink:href='#XMLID_492_' fill='#383838'/>
+ <clipPath id='XMLID_514_'>
+ <use xlink:href='#XMLID_492_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_514_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#343536'/>
+ <path d='M41.5,15.5' fill='#343536'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#383838'/>
+ <path d='M18.587,15.5' fill='#383838'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='82,0 83,0 83,31 82,31 82,0 ' id='XMLID_494_'/>
+ </defs>
+ <use xlink:href='#XMLID_494_' fill='#383838'/>
+ <clipPath id='XMLID_515_'>
+ <use xlink:href='#XMLID_494_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_515_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#343536'/>
+ <path d='M41.5,15.5' fill='#343536'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_496_'/>
+ </defs>
+ <use xlink:href='#XMLID_496_' fill='#131313'/>
+ <clipPath id='XMLID_516_'>
+ <use xlink:href='#XMLID_496_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_516_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#131313'/>
+ <path d='M41.5,15.5' fill='#131313'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#131313'/>
+ <path d='M18.587,15.5' fill='#131313'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='80.806,1 81.806,1 81.806,31 80.806,31 80.806,1 ' id='XMLID_498_'/>
+ </defs>
+ <use xlink:href='#XMLID_498_' fill='#9E9C9C'/>
+ <clipPath id='XMLID_517_'>
+ <use xlink:href='#XMLID_498_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_517_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#9097A0'/>
+ <path d='M41.5,15.5' fill='#9097A0'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_500_'/>
+ </defs>
+ <use xlink:href='#XMLID_500_' fill='#383838'/>
+ <clipPath id='XMLID_518_'>
+ <use xlink:href='#XMLID_500_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_518_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#343536'/>
+ <path d='M41.5,15.5' fill='#343536'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#383838'/>
+ <path d='M18.587,15.5' fill='#383838'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='2.16,29.005 82.16,29.005 82.16,30.005 2.16,30.005 2.16,29.005 ' id='XMLID_502_'/>
+ </defs>
+ <use xlink:href='#XMLID_502_' fill='#818181'/>
+ <clipPath id='XMLID_519_'>
+ <use xlink:href='#XMLID_502_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_519_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#6E7176'/>
+ <path d='M41.5,15.5' fill='#6E7176'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#818181'/>
+ <path d='M18.587,15.5' fill='#818181'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_504_'/>
+ </defs>
+ <use xlink:href='#XMLID_504_' fill='#272727'/>
+ <clipPath id='XMLID_520_'>
+ <use xlink:href='#XMLID_504_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_520_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#252626'/>
+ <path d='M41.5,15.5' fill='#252626'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#272727'/>
+ <path d='M18.587,15.5' fill='#272727'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='82,0 83,0 83,31 82,31 82,0 ' id='XMLID_506_'/>
+ </defs>
+ <use xlink:href='#XMLID_506_' fill='#272727'/>
+ <clipPath id='XMLID_521_'>
+ <use xlink:href='#XMLID_506_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_521_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#252626'/>
+ <path d='M41.5,15.5' fill='#252626'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_508_'/>
+ </defs>
+ <use xlink:href='#XMLID_508_' fill='#101010'/>
+ <clipPath id='XMLID_522_'>
+ <use xlink:href='#XMLID_508_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_522_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#101010'/>
+ <path d='M41.5,15.5' fill='#101010'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#101010'/>
+ <path d='M18.587,15.5' fill='#101010'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,1 0,1 0,0 ' fill='#CCCCCC'/>
+ <path d='M41.5,0.5' fill='#CCCCCC'/>
+ </g>
+ <g>
+ <polyline fill-rule='evenodd' stroke='#005A9C' points=' 68.273,18.845 74.291,24.348 86.001,12.637 ' clip-rule='evenodd' stroke-miterlimit='3.8637' stroke-width='4.8117' fill='none'/>
+ </g>
+ <g>
+ <g>
+ <path d='M33.077,7.037l0.334,2.034l-1.185,2.266c0,0-0.455-0.961-1.21-1.493c-0.636-0.448-1.051-0.546-1.699-0.412 c-0.833,0.172-1.777,1.167-2.189,2.395c-0.493,1.469-0.498,2.179-0.515,2.832c-0.027,1.047,0.137,1.665,0.137,1.665 s-0.719-1.33-0.712-3.279c0.005-1.391,0.223-2.652,0.867-3.897c0.566-1.094,1.408-1.751,2.154-1.828 c0.772-0.08,1.382,0.292,1.854,0.695c0.495,0.423,0.996,1.347,0.996,1.347L33.077,7.037z'/>
+ <path d='M33.222,18.547c0,0-0.523,0.936-0.85,1.296c-0.326,0.36-0.91,0.996-1.631,1.313c-0.721,0.317-1.099,0.377-1.811,0.309 c-0.712-0.069-1.374-0.481-1.605-0.652c-0.232-0.172-0.824-0.678-1.159-1.15c-0.335-0.472-0.858-1.416-0.858-1.416 s0.292,0.946,0.474,1.347c0.105,0.231,0.428,0.938,0.886,1.553c0.427,0.574,1.257,1.562,2.519,1.785s2.128-0.344,2.343-0.481 c0.214-0.137,0.667-0.516,0.953-0.822c0.299-0.32,0.582-0.728,0.738-0.972c0.114-0.178,0.301-0.541,0.301-0.541L33.222,18.547z'/>
+ </g>
+ <g>
+ <path d='M11.437,7.127l2.852,9.698l2.852-9.698h2.065l-4.721,15.933h-0.197l-2.951-9.875l-2.951,9.875H8.191 L3.47,7.127h2.065l2.852,9.698l1.928-6.531L9.372,7.127H11.437z' fill='#005A9C'/>
+ <path d='M25.072,17.946c0,1.443-0.384,2.656-1.151,3.639c-0.767,0.983-1.76,1.475-2.98,1.475 c-0.918,0-1.718-0.292-2.4-0.875c-0.682-0.584-1.187-1.374-1.515-2.371l1.613-0.668c0.236,0.603,0.548,1.079,0.935,1.426 c0.387,0.347,0.843,0.521,1.367,0.521c0.551,0,1.016-0.308,1.397-0.924s0.571-1.357,0.571-2.223c0-0.957-0.204-1.698-0.61-2.223 c-0.472-0.616-1.214-0.925-2.223-0.925h-0.787v-0.944l2.754-4.761h-3.325l-0.925,1.574h-0.59V7.127h7.672v0.964l-2.912,5.016 c1.023,0.328,1.797,0.925,2.321,1.791S25.072,16.779,25.072,17.946z' fill='#005A9C'/>
+ </g>
+ </g>
+ <g>
+ <polygon points='39.991,5.822 41.871,5.822 41.871,8.601 44.644,8.601 44.644,5.822 46.524,5.822 46.524,13.112 44.644,13.112 44.644,10.021 41.871,10.021 41.871,13.112 39.991,13.112 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ <polygon points='48.09,5.822 54.809,5.822 54.809,7.243 52.392,7.243 52.392,13.112 50.513,13.112 50.513,7.243 48.09,7.243 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ <polygon points='56.381,5.822 58.773,5.822 60.434,9.724 62.104,5.822 64.491,5.822 64.491,13.112 62.714,13.112 62.714,7.78 61.034,11.711 59.843,11.711 58.163,7.78 58.163,13.112 56.381,13.112 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ <polygon points='66.932,5.822 68.812,5.822 68.812,11.691 72.113,11.691 72.113,13.112 66.932,13.112 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ </g>
+ <g>
+ <path clip-rule='evenodd' d='M43.515,20.365c0.492,0.127,0.864,0.348,1.118,0.664 c0.257,0.313,0.386,0.711,0.386,1.196c0,0.723-0.277,1.273-0.83,1.65c-0.553,0.375-1.361,0.562-2.422,0.562 c-0.375,0-0.75-0.031-1.128-0.093c-0.375-0.059-0.746-0.148-1.113-0.269v-1.45c0.352,0.176,0.7,0.309,1.045,0.4 c0.348,0.088,0.69,0.132,1.025,0.132c0.498,0,0.879-0.086,1.143-0.259c0.267-0.172,0.4-0.42,0.4-0.742 c0-0.332-0.137-0.583-0.41-0.752c-0.27-0.172-0.67-0.259-1.201-0.259h-0.752v-1.211h0.791c0.472,0,0.824-0.073,1.055-0.22 c0.231-0.15,0.347-0.376,0.347-0.679c0-0.28-0.112-0.496-0.337-0.649c-0.225-0.153-0.542-0.229-0.952-0.229 c-0.303,0-0.609,0.034-0.918,0.103s-0.617,0.169-0.923,0.303v-1.377c0.371-0.104,0.739-0.182,1.104-0.234 c0.365-0.052,0.723-0.078,1.074-0.078c0.947,0,1.655,0.156,2.124,0.469c0.472,0.309,0.708,0.776,0.708,1.401 c0,0.427-0.112,0.776-0.337,1.05C44.286,20.064,43.954,20.254,43.515,20.365z' fill-rule='evenodd'/>
+ <rect fill-rule='evenodd' height='1.89' width='1.758' clip-rule='evenodd' y='22.406' x='47.435'/>
+ <path clip-rule='evenodd' d='M53.694,22.914h3.208v1.382h-5.298v-1.382l2.661-2.349 c0.237-0.215,0.413-0.425,0.527-0.63c0.114-0.205,0.17-0.418,0.171-0.64c0-0.342-0.116-0.617-0.347-0.825 c-0.228-0.208-0.532-0.312-0.913-0.313c-0.293,0-0.614,0.063-0.962,0.19c-0.349,0.124-0.721,0.309-1.118,0.557v-1.602 c0.423-0.14,0.841-0.246,1.255-0.317c0.413-0.075,0.818-0.112,1.216-0.112c0.872,0,1.549,0.192,2.031,0.576 c0.485,0.384,0.727,0.92,0.728,1.606c0,0.397-0.103,0.768-0.308,1.113c-0.205,0.342-0.637,0.801-1.294,1.377L53.694,22.914z' fill-rule='evenodd'/>
+ </g>
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/htdocs/images/valid_icons/valid-html32-blue.gif b/htdocs/images/valid_icons/valid-html32-blue.gif
new file mode 100644
index 0000000..6f5d342
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-html32-blue.gif
Binary files differ
diff --git a/htdocs/images/valid_icons/valid-html32-blue.png b/htdocs/images/valid_icons/valid-html32-blue.png
new file mode 100644
index 0000000..e5d0e0e
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-html32-blue.png
Binary files differ
diff --git a/htdocs/images/valid_icons/valid-html32-v.svg b/htdocs/images/valid_icons/valid-html32-v.svg
new file mode 100644
index 0000000..1234954
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-html32-v.svg
@@ -0,0 +1,331 @@
+<?xml version='1.0' encoding='iso-8859-1'?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns='http://www.w3.org/2000/svg' xml:space='preserve' version='1.1' overflow='visible' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 88 31'>
+ <g shape-rendering='geometricPrecision' text-rendering='geometricPrecision' image-rendering='optimizeQuality'>
+ <g id='Background'>
+ </g>
+ <g id='Guides'>
+ </g>
+ <g id='Foreground'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#FFCC66'/>
+ <path d='M41.5,15.5' fill='#FFCC66'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#FFFFFF'/>
+ <path d='M18.587,15.5' fill='#FFFFFF'/>
+ </g>
+ <g>
+ <polygon points='4.692,2.291 44.697,2.291 44.697,26.898 4.692,26.898 4.692,2.291 ' fill='none'/>
+ <path d='M24.695,14.594' fill='none'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_1162_'/>
+ </defs>
+ <use xlink:href='#XMLID_1162_' fill='#504D4C'/>
+ <clipPath id='XMLID_1188_'>
+ <use xlink:href='#XMLID_1162_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1188_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#4E4B3F'/>
+ <path d='M41.5,15.5' fill='#4E4B3F'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#4F4F4F'/>
+ <path d='M18.587,15.5' fill='#4F4F4F'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='82,0 83,0 83,31 82,31 82,0 ' id='XMLID_1164_'/>
+ </defs>
+ <use xlink:href='#XMLID_1164_' fill='#504D4C'/>
+ <clipPath id='XMLID_1189_'>
+ <use xlink:href='#XMLID_1164_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1189_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#4E4B3F'/>
+ <path d='M41.5,15.5' fill='#4E4B3F'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_1166_'/>
+ </defs>
+ <use xlink:href='#XMLID_1166_' fill='#191919'/>
+ <clipPath id='XMLID_1190_'>
+ <use xlink:href='#XMLID_1166_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1190_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#191917'/>
+ <path d='M41.5,15.5' fill='#191917'/>
+ </g>
+ <g>
+ <polygon points='0.366,0 36.809,0 36.809,31 0.366,31 0.366,0 ' fill='#191919'/>
+ <path d='M18.587,15.5' fill='#191919'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <polygon points='0,0 1,0 1,31 0,31 0,0 ' fill='#CCCCCC'/>
+ <path d='M0.5,15.5' fill='#CCCCCC'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='2.16,29.005 82.16,29.005 82.16,30.005 2.16,30.005 2.16,29.005 ' id='XMLID_1168_'/>
+ </defs>
+ <use xlink:href='#XMLID_1168_' fill='#9E9C9C'/>
+ <clipPath id='XMLID_1191_'>
+ <use xlink:href='#XMLID_1168_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1191_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#B39F67'/>
+ <path d='M41.5,15.5' fill='#B39F67'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#B5B5B5'/>
+ <path d='M18.587,15.5' fill='#B5B5B5'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_1170_'/>
+ </defs>
+ <use xlink:href='#XMLID_1170_' fill='#383838'/>
+ <clipPath id='XMLID_1192_'>
+ <use xlink:href='#XMLID_1170_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1192_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#383530'/>
+ <path d='M41.5,15.5' fill='#383530'/>
+ </g>
+ <g>
+ <polygon points='0.366,0 36.809,0 36.809,31 0.366,31 0.366,0 ' fill='#383838'/>
+ <path d='M18.587,15.5' fill='#383838'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='82,0 83,0 83,31 82,31 82,0 ' id='XMLID_1172_'/>
+ </defs>
+ <use xlink:href='#XMLID_1172_' fill='#383838'/>
+ <clipPath id='XMLID_1193_'>
+ <use xlink:href='#XMLID_1172_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1193_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#383530'/>
+ <path d='M41.5,15.5' fill='#383530'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_1174_'/>
+ </defs>
+ <use xlink:href='#XMLID_1174_' fill='#131313'/>
+ <clipPath id='XMLID_1194_'>
+ <use xlink:href='#XMLID_1174_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1194_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#131313'/>
+ <path d='M41.5,15.5' fill='#131313'/>
+ </g>
+ <g>
+ <polygon points='0.366,0 36.809,0 36.809,31 0.366,31 0.366,0 ' fill='#131313'/>
+ <path d='M18.587,15.5' fill='#131313'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='80.806,1 81.806,1 81.806,31 80.806,31 80.806,1 ' id='XMLID_1176_'/>
+ </defs>
+ <use xlink:href='#XMLID_1176_' fill='#9E9C9C'/>
+ <clipPath id='XMLID_1195_'>
+ <use xlink:href='#XMLID_1176_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1195_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#B39F67'/>
+ <path d='M41.5,15.5' fill='#B39F67'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_1178_'/>
+ </defs>
+ <use xlink:href='#XMLID_1178_' fill='#383838'/>
+ <clipPath id='XMLID_1196_'>
+ <use xlink:href='#XMLID_1178_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1196_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#383530'/>
+ <path d='M41.5,15.5' fill='#383530'/>
+ </g>
+ <g>
+ <polygon points='0.366,0 36.809,0 36.809,31 0.366,31 0.366,0 ' fill='#383838'/>
+ <path d='M18.587,15.5' fill='#383838'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='2.16,29.005 82.16,29.005 82.16,30.005 2.16,30.005 2.16,29.005 ' id='XMLID_1180_'/>
+ </defs>
+ <use xlink:href='#XMLID_1180_' fill='#818181'/>
+ <clipPath id='XMLID_1197_'>
+ <use xlink:href='#XMLID_1180_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1197_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#807659'/>
+ <path d='M41.5,15.5' fill='#807659'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#818181'/>
+ <path d='M18.587,15.5' fill='#818181'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_1182_'/>
+ </defs>
+ <use xlink:href='#XMLID_1182_' fill='#272727'/>
+ <clipPath id='XMLID_1198_'>
+ <use xlink:href='#XMLID_1182_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1198_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#272623'/>
+ <path d='M41.5,15.5' fill='#272623'/>
+ </g>
+ <g>
+ <polygon points='0.366,0 36.809,0 36.809,31 0.366,31 0.366,0 ' fill='#272727'/>
+ <path d='M18.587,15.5' fill='#272727'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='82,0 83,0 83,31 82,31 82,0 ' id='XMLID_1184_'/>
+ </defs>
+ <use xlink:href='#XMLID_1184_' fill='#272727'/>
+ <clipPath id='XMLID_1199_'>
+ <use xlink:href='#XMLID_1184_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1199_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#272623'/>
+ <path d='M41.5,15.5' fill='#272623'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_1186_'/>
+ </defs>
+ <use xlink:href='#XMLID_1186_' fill='#101010'/>
+ <clipPath id='XMLID_1200_'>
+ <use xlink:href='#XMLID_1186_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1200_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#101010'/>
+ <path d='M41.5,15.5' fill='#101010'/>
+ </g>
+ <g>
+ <polygon points='0.366,0 36.809,0 36.809,31 0.366,31 0.366,0 ' fill='#101010'/>
+ <path d='M18.587,15.5' fill='#101010'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,1 0,1 0,0 ' fill='#CCCCCC'/>
+ <path d='M41.5,0.5' fill='#CCCCCC'/>
+ </g>
+ <g>
+ <polyline fill-rule='evenodd' stroke='#990000' points=' 68.273,18.844 74.291,24.348 86.001,12.637 ' clip-rule='evenodd' stroke-miterlimit='3.8637' stroke-width='4.8117' fill='none'/>
+ </g>
+ <g>
+ <g>
+ <path d='M33.077,7.037l0.334,2.034l-1.185,2.266c0,0-0.455-0.961-1.21-1.493c-0.636-0.448-1.051-0.546-1.699-0.412 c-0.833,0.172-1.777,1.167-2.189,2.395c-0.493,1.469-0.498,2.179-0.515,2.832c-0.028,1.047,0.137,1.665,0.137,1.665 s-0.719-1.33-0.712-3.279c0.005-1.391,0.223-2.652,0.867-3.896c0.566-1.094,1.407-1.751,2.154-1.828 c0.772-0.08,1.383,0.292,1.854,0.695c0.495,0.423,0.996,1.347,0.996,1.347L33.077,7.037z'/>
+ <path d='M33.222,18.547c0,0-0.523,0.936-0.85,1.296s-0.91,0.996-1.63,1.313c-0.721,0.317-1.099,0.378-1.811,0.309 c-0.712-0.069-1.373-0.48-1.605-0.652c-0.231-0.171-0.824-0.678-1.159-1.15s-0.858-1.416-0.858-1.416s0.292,0.946,0.474,1.348 c0.105,0.231,0.428,0.938,0.886,1.553c0.427,0.574,1.257,1.562,2.519,1.785s2.128-0.343,2.343-0.481 c0.214-0.137,0.667-0.516,0.953-0.822c0.299-0.32,0.582-0.727,0.738-0.972c0.114-0.179,0.301-0.541,0.301-0.541L33.222,18.547z'/>
+ </g>
+ <g>
+ <path d='M11.437,7.127l2.852,9.698l2.852-9.698h2.065l-4.721,15.933h-0.197l-2.95-9.875l-2.951,9.875H8.191 L3.47,7.127h2.065l2.853,9.698l1.928-6.531L9.372,7.127H11.437z' fill='#005A9C'/>
+ <path d='M25.072,17.946c0,1.443-0.384,2.656-1.151,3.639c-0.767,0.983-1.761,1.475-2.98,1.475 c-0.918,0-1.718-0.292-2.4-0.875c-0.682-0.583-1.187-1.374-1.515-2.37l1.613-0.669c0.236,0.603,0.548,1.079,0.935,1.426 c0.387,0.348,0.843,0.521,1.367,0.521c0.551,0,1.016-0.308,1.397-0.924s0.571-1.357,0.571-2.223c0-0.957-0.203-1.698-0.61-2.223 c-0.473-0.616-1.214-0.925-2.223-0.925h-0.787v-0.944l2.754-4.76h-3.325l-0.925,1.574h-0.59V7.127h7.672v0.964l-2.911,5.016 c1.023,0.328,1.797,0.925,2.321,1.791S25.072,16.779,25.072,17.946z' fill='#005A9C'/>
+ </g>
+ </g>
+ <g>
+ <polygon points='39.991,5.822 41.871,5.822 41.871,8.6 44.644,8.6 44.644,5.822 46.524,5.822 46.524,13.112 44.644,13.112 44.644,10.021 41.871,10.021 41.871,13.112 39.991,13.112 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ <polygon points='48.09,5.822 54.81,5.822 54.81,7.243 52.393,7.243 52.393,13.112 50.513,13.112 50.513,7.243 48.09,7.243 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ <polygon points='56.381,5.822 58.773,5.822 60.434,9.723 62.104,5.822 64.491,5.822 64.491,13.112 62.714,13.112 62.714,7.78 61.034,11.711 59.843,11.711 58.163,7.78 58.163,13.112 56.381,13.112 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ <polygon points='66.932,5.822 68.812,5.822 68.812,11.691 72.113,11.691 72.113,13.112 66.932,13.112 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ </g>
+ <g>
+ <path clip-rule='evenodd' d='M43.515,20.365c0.492,0.127,0.864,0.348,1.118,0.664 c0.257,0.313,0.386,0.711,0.386,1.196c0,0.723-0.276,1.273-0.83,1.65c-0.553,0.374-1.361,0.561-2.422,0.562 c-0.375,0-0.75-0.031-1.128-0.093c-0.375-0.059-0.746-0.148-1.113-0.269v-1.45c0.352,0.176,0.7,0.309,1.045,0.4 c0.348,0.088,0.69,0.132,1.025,0.132c0.498,0,0.879-0.086,1.143-0.259c0.267-0.172,0.4-0.42,0.4-0.742 c0-0.332-0.137-0.583-0.41-0.752c-0.27-0.172-0.67-0.259-1.201-0.259h-0.752v-1.211h0.791c0.472,0,0.824-0.073,1.055-0.22 c0.231-0.15,0.347-0.376,0.347-0.679c0-0.28-0.112-0.497-0.337-0.649c-0.225-0.153-0.542-0.229-0.952-0.229 c-0.303,0-0.609,0.034-0.918,0.103s-0.617,0.169-0.923,0.303v-1.377c0.371-0.104,0.739-0.182,1.104-0.235 c0.365-0.052,0.723-0.078,1.074-0.078c0.947,0,1.655,0.156,2.124,0.469c0.472,0.309,0.708,0.776,0.708,1.401 c0,0.427-0.112,0.777-0.337,1.05C44.286,20.063,43.954,20.254,43.515,20.365z' fill-rule='evenodd'/>
+ <rect fill-rule='evenodd' height='1.89' width='1.758' clip-rule='evenodd' y='22.406' x='47.435'/>
+ <path clip-rule='evenodd' d='M53.694,22.914h3.208v1.382h-5.298v-1.382l2.661-2.349 c0.238-0.215,0.413-0.425,0.527-0.63c0.114-0.205,0.171-0.418,0.171-0.64c0-0.342-0.116-0.617-0.347-0.825 c-0.228-0.208-0.532-0.313-0.913-0.313c-0.293,0-0.614,0.063-0.962,0.19c-0.349,0.124-0.721,0.309-1.118,0.557v-1.602 c0.423-0.14,0.841-0.246,1.255-0.317c0.413-0.075,0.818-0.112,1.216-0.112c0.872,0,1.549,0.192,2.031,0.576 c0.485,0.384,0.727,0.919,0.728,1.606c0,0.397-0.103,0.768-0.308,1.113c-0.205,0.342-0.637,0.801-1.294,1.377L53.694,22.914z' fill-rule='evenodd'/>
+ </g>
+ </g>
+ <g id='Calque_1'>
+ </g>
+ <g id='Layer_1'>
+ </g>
+ </g>
+</svg>
diff --git a/htdocs/images/valid_icons/valid-html32.gif b/htdocs/images/valid_icons/valid-html32.gif
new file mode 100644
index 0000000..56020f5
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-html32.gif
Binary files differ
diff --git a/htdocs/images/valid_icons/valid-html32.png b/htdocs/images/valid_icons/valid-html32.png
new file mode 100644
index 0000000..f50ed37
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-html32.png
Binary files differ
diff --git a/htdocs/images/valid_icons/valid-html40-blue-v.svg b/htdocs/images/valid_icons/valid-html40-blue-v.svg
new file mode 100644
index 0000000..1fecd55
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-html40-blue-v.svg
@@ -0,0 +1,244 @@
+<?xml version='1.0' encoding='iso-8859-1'?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns='http://www.w3.org/2000/svg' xml:space='preserve' version='1.1' overflow='visible' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 88 31'>
+ <g shape-rendering='geometricPrecision' text-rendering='geometricPrecision' image-rendering='optimizeQuality'>
+ <g shape-rendering='geometricPrecision' text-rendering='geometricPrecision' image-rendering='optimizeQuality'>
+ <g id='Background'>
+ </g>
+ <g id='Guides'>
+ </g>
+ <g id='Foreground'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#B3CEE1' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' height='31' width='36.443' clip-rule='evenodd' x='0.365' fill='#FFFFFF'/>
+ <rect fill-rule='evenodd' height='24.607' width='40.004' clip-rule='evenodd' y='2.291' x='4.692' fill='none'/>
+ <g>
+ <g>
+ <defs>
+ <rect y='30' width='83' id='XMLID_445_' height='1'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_445_' clip-rule='evenodd' fill='#504D4C'/>
+ <clipPath id='XMLID_471_'>
+ <use xlink:href='#XMLID_445_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_471_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#48494B' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' height='31' width='36.443' clip-rule='evenodd' x='0.365' fill='#4F4F4F'/>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <rect y='0' x='82' width='1' id='XMLID_447_' height='31'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_447_' clip-rule='evenodd' fill='#504D4C'/>
+ <clipPath id='XMLID_472_'>
+ <use xlink:href='#XMLID_447_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_472_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#48494B' clip-rule='evenodd' height='31'/>
+ <g>
+ <g>
+ <defs>
+ <rect y='30' width='83' id='XMLID_449_' height='1'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_449_' clip-rule='evenodd' fill='#191919'/>
+ <clipPath id='XMLID_473_'>
+ <use xlink:href='#XMLID_449_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_473_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#181818' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' height='31' width='36.443' clip-rule='evenodd' x='0.365' fill='#191919'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <rect fill-rule='evenodd' width='1' fill='#CCCCCC' clip-rule='evenodd' height='31'/>
+ <g>
+ <g>
+ <defs>
+ <rect y='29.005' x='2.16' width='80' id='XMLID_451_' height='1'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_451_' clip-rule='evenodd' fill='#9E9C9C'/>
+ <clipPath id='XMLID_474_'>
+ <use xlink:href='#XMLID_451_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_474_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#9097A0' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' height='31' width='36.443' clip-rule='evenodd' x='0.365' fill='#B5B5B5'/>
+ <g>
+ <g>
+ <defs>
+ <rect y='30' width='83' id='XMLID_453_' height='1'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_453_' clip-rule='evenodd' fill='#383838'/>
+ <clipPath id='XMLID_475_'>
+ <use xlink:href='#XMLID_453_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_475_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#343536' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' height='31' width='36.443' clip-rule='evenodd' x='0.365' fill='#383838'/>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <rect y='0' x='82' width='1' id='XMLID_455_' height='31'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_455_' clip-rule='evenodd' fill='#383838'/>
+ <clipPath id='XMLID_476_'>
+ <use xlink:href='#XMLID_455_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_476_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#343536' clip-rule='evenodd' height='31'/>
+ <g>
+ <g>
+ <defs>
+ <rect y='30' width='83' id='XMLID_457_' height='1'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_457_' clip-rule='evenodd' fill='#131313'/>
+ <clipPath id='XMLID_477_'>
+ <use xlink:href='#XMLID_457_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_477_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#131313' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' height='31' width='36.443' clip-rule='evenodd' x='0.365' fill='#131313'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <rect y='1' x='80.806' width='1' id='XMLID_459_' height='30'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_459_' clip-rule='evenodd' fill='#9E9C9C'/>
+ <clipPath id='XMLID_478_'>
+ <use xlink:href='#XMLID_459_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_478_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#9097A0' clip-rule='evenodd' height='31'/>
+ <g>
+ <g>
+ <defs>
+ <rect y='30' width='83' id='XMLID_461_' height='1'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_461_' clip-rule='evenodd' fill='#383838'/>
+ <clipPath id='XMLID_479_'>
+ <use xlink:href='#XMLID_461_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_479_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#343536' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' height='31' width='36.443' clip-rule='evenodd' x='0.365' fill='#383838'/>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <rect y='29.005' x='2.16' width='80' id='XMLID_463_' height='1'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_463_' clip-rule='evenodd' fill='#818181'/>
+ <clipPath id='XMLID_480_'>
+ <use xlink:href='#XMLID_463_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_480_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#6E7176' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' height='31' width='36.443' clip-rule='evenodd' x='0.365' fill='#818181'/>
+ <g>
+ <g>
+ <defs>
+ <rect y='30' width='83' id='XMLID_465_' height='1'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_465_' clip-rule='evenodd' fill='#272727'/>
+ <clipPath id='XMLID_481_'>
+ <use xlink:href='#XMLID_465_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_481_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#252626' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' height='31' width='36.443' clip-rule='evenodd' x='0.365' fill='#272727'/>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <rect y='0' x='82' width='1' id='XMLID_467_' height='31'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_467_' clip-rule='evenodd' fill='#272727'/>
+ <clipPath id='XMLID_482_'>
+ <use xlink:href='#XMLID_467_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_482_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#252626' clip-rule='evenodd' height='31'/>
+ <g>
+ <g>
+ <defs>
+ <rect y='30' width='83' id='XMLID_469_' height='1'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_469_' clip-rule='evenodd' fill='#101010'/>
+ <clipPath id='XMLID_483_'>
+ <use xlink:href='#XMLID_469_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_483_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#101010' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' height='31' width='36.443' clip-rule='evenodd' x='0.365' fill='#101010'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <rect fill-rule='evenodd' width='83' fill='#CCCCCC' clip-rule='evenodd' height='1'/>
+ <polyline fill-rule='evenodd' stroke='#005A9C' points=' 68.273,18.844 74.291,24.348 86.001,12.637 ' clip-rule='evenodd' stroke-miterlimit='3.8637' stroke-width='4.8115' fill='none'/>
+ <g>
+ <polygon points='39.991,5.822 41.871,5.822 41.871,8.6 44.644,8.6 44.644,5.822 46.524,5.822 46.524,13.112 44.644,13.112 44.644,10.021 41.871,10.021 41.871,13.112 39.991,13.112 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ <polygon points='48.09,5.822 54.809,5.822 54.809,7.243 52.392,7.243 52.392,13.112 50.513,13.112 50.513,7.243 48.09,7.243 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ <polygon points='56.381,5.822 58.773,5.822 60.434,9.723 62.104,5.822 64.491,5.822 64.491,13.112 62.714,13.112 62.714,7.78 61.034,11.711 59.843,11.711 58.163,7.78 58.163,13.112 56.381,13.112 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ <polygon points='66.932,5.822 68.812,5.822 68.812,11.691 72.113,11.691 72.113,13.112 66.932,13.112 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ </g>
+ <g>
+ <path clip-rule='evenodd' d='M42.538,18.553l-2.061,3.052h2.061V18.553z M42.226,17.005h2.09v4.6h1.04v1.362 h-1.04v1.328h-1.777v-1.328h-3.232v-1.611L42.226,17.005z' fill-rule='evenodd'/>
+ <rect fill-rule='evenodd' height='1.89' width='1.758' clip-rule='evenodd' y='22.406' x='47.435'/>
+ <path clip-rule='evenodd' d='M55.413,20.643c0-0.911-0.086-1.553-0.259-1.924 c-0.169-0.374-0.456-0.561-0.859-0.562c-0.404,0-0.692,0.187-0.864,0.562c-0.173,0.371-0.259,1.012-0.259,1.924 c0,0.921,0.086,1.571,0.259,1.948c0.172,0.378,0.46,0.567,0.864,0.567c0.4,0,0.687-0.189,0.859-0.567 C55.327,22.214,55.413,21.564,55.413,20.643z M57.293,20.658c0,1.208-0.261,2.14-0.781,2.798c-0.521,0.654-1.26,0.981-2.217,0.981 c-0.96,0-1.701-0.327-2.222-0.981c-0.521-0.657-0.781-1.59-0.781-2.798c0-1.211,0.26-2.144,0.781-2.798 c0.521-0.657,1.261-0.986,2.222-0.986c0.957,0,1.696,0.329,2.217,0.986C57.032,18.514,57.292,19.447,57.293,20.658z' fill-rule='evenodd'/>
+ </g>
+ <g>
+ <path d='M33.077,7.037l0.334,2.034l-1.185,2.266c0,0-0.455-0.961-1.21-1.493c-0.636-0.448-1.051-0.546-1.699-0.412 c-0.833,0.171-1.777,1.167-2.189,2.395c-0.493,1.469-0.498,2.179-0.515,2.832c-0.027,1.047,0.137,1.665,0.137,1.665 s-0.719-1.33-0.712-3.279c0.005-1.391,0.223-2.652,0.867-3.896c0.566-1.094,1.408-1.751,2.154-1.828 c0.772-0.08,1.382,0.292,1.854,0.695c0.495,0.423,0.996,1.348,0.996,1.348L33.077,7.037z'/>
+ <path d='M33.222,18.547c0,0-0.523,0.935-0.85,1.296s-0.91,0.996-1.631,1.313c-0.721,0.317-1.099,0.378-1.811,0.309 c-0.712-0.068-1.374-0.481-1.605-0.652c-0.232-0.172-0.824-0.678-1.159-1.15c-0.335-0.472-0.858-1.416-0.858-1.416 s0.292,0.946,0.474,1.348c0.105,0.231,0.428,0.938,0.886,1.553c0.427,0.574,1.257,1.562,2.519,1.786 c1.262,0.223,2.128-0.344,2.343-0.481c0.214-0.137,0.667-0.516,0.953-0.822c0.299-0.32,0.582-0.727,0.738-0.972 c0.114-0.178,0.301-0.541,0.301-0.541L33.222,18.547z'/>
+ </g>
+ <g>
+ <path d='M11.437,7.127l2.852,9.698l2.852-9.698h2.065l-4.721,15.933h-0.197l-2.951-9.875l-2.951,9.875H8.191 L3.47,7.127h2.065l2.852,9.698l1.928-6.531L9.372,7.127H11.437z' fill='#005A9C'/>
+ <path d='M25.072,17.946c0,1.443-0.384,2.656-1.151,3.639c-0.767,0.983-1.76,1.475-2.98,1.475 c-0.918,0-1.718-0.292-2.4-0.875c-0.682-0.583-1.187-1.374-1.515-2.37l1.613-0.669c0.236,0.604,0.548,1.079,0.935,1.426 c0.387,0.348,0.843,0.521,1.367,0.521c0.551,0,1.016-0.308,1.397-0.924c0.38-0.616,0.571-1.357,0.571-2.223 c0-0.958-0.204-1.698-0.61-2.223c-0.472-0.616-1.214-0.925-2.223-0.925h-0.787v-0.944l2.754-4.76h-3.325l-0.925,1.573h-0.59V7.127 h7.672v0.964l-2.912,5.016c1.023,0.328,1.797,0.925,2.321,1.791C24.809,15.763,25.072,16.779,25.072,17.946z' fill='#005A9C'/>
+ </g>
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/htdocs/images/valid_icons/valid-html40-blue.gif b/htdocs/images/valid_icons/valid-html40-blue.gif
new file mode 100644
index 0000000..8b210ac
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-html40-blue.gif
Binary files differ
diff --git a/htdocs/images/valid_icons/valid-html40-blue.png b/htdocs/images/valid_icons/valid-html40-blue.png
new file mode 100644
index 0000000..19edbcb
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-html40-blue.png
Binary files differ
diff --git a/htdocs/images/valid_icons/valid-html40-v.svg b/htdocs/images/valid_icons/valid-html40-v.svg
new file mode 100644
index 0000000..641f3ae
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-html40-v.svg
@@ -0,0 +1,246 @@
+<?xml version='1.0' encoding='iso-8859-1'?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns='http://www.w3.org/2000/svg' xml:space='preserve' version='1.1' overflow='visible' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 88 31'>
+ <g shape-rendering='geometricPrecision' text-rendering='geometricPrecision' image-rendering='optimizeQuality'>
+ <g id='Background'>
+ </g>
+ <g id='Guides'>
+ </g>
+ <g id='Foreground'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#FFCC66' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' height='31' width='36.443' clip-rule='evenodd' x='0.365' fill='#FFFFFF'/>
+ <rect fill-rule='evenodd' height='24.607' width='40.004' clip-rule='evenodd' y='2.291' x='4.692' fill='none'/>
+ <g>
+ <g>
+ <defs>
+ <rect y='30' width='83' id='XMLID_1123_' height='1'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_1123_' clip-rule='evenodd' fill='#504D4C'/>
+ <clipPath id='XMLID_1149_'>
+ <use xlink:href='#XMLID_1123_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1149_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#4E4B3F' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' height='31' width='36.443' clip-rule='evenodd' x='0.365' fill='#4F4F4F'/>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <rect y='0' x='82' width='1' id='XMLID_1125_' height='31'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_1125_' clip-rule='evenodd' fill='#504D4C'/>
+ <clipPath id='XMLID_1150_'>
+ <use xlink:href='#XMLID_1125_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1150_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#4E4B3F' clip-rule='evenodd' height='31'/>
+ <g>
+ <g>
+ <defs>
+ <rect y='30' width='83' id='XMLID_1127_' height='1'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_1127_' clip-rule='evenodd' fill='#191919'/>
+ <clipPath id='XMLID_1151_'>
+ <use xlink:href='#XMLID_1127_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1151_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#191917' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' height='31' width='36.443' clip-rule='evenodd' x='0.366' fill='#191919'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <rect fill-rule='evenodd' width='1' fill='#CCCCCC' clip-rule='evenodd' height='31'/>
+ <g>
+ <g>
+ <defs>
+ <rect y='29.005' x='2.16' width='80' id='XMLID_1129_' height='1'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_1129_' clip-rule='evenodd' fill='#9E9C9C'/>
+ <clipPath id='XMLID_1152_'>
+ <use xlink:href='#XMLID_1129_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1152_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#B39F67' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' height='31' width='36.443' clip-rule='evenodd' x='0.365' fill='#B5B5B5'/>
+ <g>
+ <g>
+ <defs>
+ <rect y='30' width='83' id='XMLID_1131_' height='1'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_1131_' clip-rule='evenodd' fill='#383838'/>
+ <clipPath id='XMLID_1153_'>
+ <use xlink:href='#XMLID_1131_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1153_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#383530' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' height='31' width='36.443' clip-rule='evenodd' x='0.366' fill='#383838'/>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <rect y='0' x='82' width='1' id='XMLID_1133_' height='31'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_1133_' clip-rule='evenodd' fill='#383838'/>
+ <clipPath id='XMLID_1154_'>
+ <use xlink:href='#XMLID_1133_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1154_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#383530' clip-rule='evenodd' height='31'/>
+ <g>
+ <g>
+ <defs>
+ <rect y='30' width='83' id='XMLID_1135_' height='1'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_1135_' clip-rule='evenodd' fill='#131313'/>
+ <clipPath id='XMLID_1155_'>
+ <use xlink:href='#XMLID_1135_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1155_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#131313' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' height='31' width='36.443' clip-rule='evenodd' x='0.366' fill='#131313'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <rect y='1' x='80.806' width='1' id='XMLID_1137_' height='30'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_1137_' clip-rule='evenodd' fill='#9E9C9C'/>
+ <clipPath id='XMLID_1156_'>
+ <use xlink:href='#XMLID_1137_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1156_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#B39F67' clip-rule='evenodd' height='31'/>
+ <g>
+ <g>
+ <defs>
+ <rect y='30' width='83' id='XMLID_1139_' height='1'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_1139_' clip-rule='evenodd' fill='#383838'/>
+ <clipPath id='XMLID_1157_'>
+ <use xlink:href='#XMLID_1139_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1157_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#383530' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' height='31' width='36.443' clip-rule='evenodd' x='0.366' fill='#383838'/>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <rect y='29.005' x='2.16' width='80' id='XMLID_1141_' height='1'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_1141_' clip-rule='evenodd' fill='#818181'/>
+ <clipPath id='XMLID_1158_'>
+ <use xlink:href='#XMLID_1141_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1158_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#807659' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' height='31' width='36.443' clip-rule='evenodd' x='0.365' fill='#818181'/>
+ <g>
+ <g>
+ <defs>
+ <rect y='30' width='83' id='XMLID_1143_' height='1'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_1143_' clip-rule='evenodd' fill='#272727'/>
+ <clipPath id='XMLID_1159_'>
+ <use xlink:href='#XMLID_1143_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1159_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#272623' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' height='31' width='36.443' clip-rule='evenodd' x='0.366' fill='#272727'/>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <rect y='0' x='82' width='1' id='XMLID_1145_' height='31'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_1145_' clip-rule='evenodd' fill='#272727'/>
+ <clipPath id='XMLID_1160_'>
+ <use xlink:href='#XMLID_1145_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1160_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#272623' clip-rule='evenodd' height='31'/>
+ <g>
+ <g>
+ <defs>
+ <rect y='30' width='83' id='XMLID_1147_' height='1'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_1147_' clip-rule='evenodd' fill='#101010'/>
+ <clipPath id='XMLID_1161_'>
+ <use xlink:href='#XMLID_1147_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1161_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#101010' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' height='31' width='36.443' clip-rule='evenodd' x='0.366' fill='#101010'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <rect fill-rule='evenodd' width='83' fill='#CCCCCC' clip-rule='evenodd' height='1'/>
+ <polyline fill-rule='evenodd' stroke='#990000' points=' 68.273,18.845 74.291,24.348 86.001,12.637 ' clip-rule='evenodd' stroke-miterlimit='3.8637' stroke-width='4.8115' fill='none'/>
+ <g>
+ <polygon points='39.991,5.822 41.871,5.822 41.871,8.601 44.644,8.601 44.644,5.822 46.524,5.822 46.524,13.112 44.644,13.112 44.644,10.021 41.871,10.021 41.871,13.112 39.991,13.112 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ <polygon points='48.09,5.822 54.81,5.822 54.81,7.243 52.393,7.243 52.393,13.112 50.513,13.112 50.513,7.243 48.09,7.243 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ <polygon points='56.381,5.822 58.773,5.822 60.434,9.724 62.104,5.822 64.491,5.822 64.491,13.112 62.714,13.112 62.714,7.78 61.034,11.711 59.843,11.711 58.163,7.78 58.163,13.112 56.381,13.112 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ <polygon points='66.932,5.822 68.812,5.822 68.812,11.691 72.113,11.691 72.113,13.112 66.932,13.112 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ </g>
+ <g>
+ <path clip-rule='evenodd' d='M42.538,18.553l-2.061,3.052h2.061V18.553z M42.226,17.005h2.09v4.6h1.04v1.362 h-1.04v1.328h-1.777v-1.328h-3.232v-1.611L42.226,17.005z' fill-rule='evenodd'/>
+ <rect fill-rule='evenodd' height='1.89' width='1.758' clip-rule='evenodd' y='22.406' x='47.435'/>
+ <path clip-rule='evenodd' d='M55.413,20.643c0-0.911-0.086-1.552-0.259-1.924 c-0.169-0.374-0.456-0.561-0.859-0.562c-0.404,0-0.692,0.187-0.864,0.562c-0.173,0.371-0.259,1.012-0.259,1.924 c0,0.921,0.086,1.571,0.259,1.948c0.172,0.378,0.46,0.566,0.864,0.566c0.4,0,0.687-0.189,0.859-0.566 C55.327,22.214,55.413,21.564,55.413,20.643z M57.293,20.658c0,1.208-0.26,2.14-0.781,2.798c-0.521,0.654-1.26,0.981-2.217,0.981 c-0.96,0-1.701-0.327-2.222-0.981c-0.521-0.657-0.781-1.59-0.781-2.798c0-1.211,0.26-2.144,0.781-2.798 c0.521-0.657,1.261-0.986,2.222-0.986c0.957,0,1.696,0.329,2.217,0.986C57.033,18.514,57.293,19.447,57.293,20.658z' fill-rule='evenodd'/>
+ </g>
+ <g>
+ <path d='M33.077,7.037l0.334,2.034l-1.185,2.266c0,0-0.455-0.961-1.21-1.493c-0.636-0.448-1.051-0.546-1.699-0.412 c-0.833,0.172-1.777,1.167-2.189,2.395c-0.493,1.469-0.498,2.179-0.515,2.832c-0.028,1.047,0.137,1.665,0.137,1.665 s-0.719-1.33-0.712-3.279c0.005-1.391,0.223-2.652,0.867-3.897c0.566-1.094,1.407-1.751,2.154-1.828 c0.772-0.08,1.383,0.292,1.854,0.695c0.495,0.423,0.996,1.348,0.996,1.348L33.077,7.037z'/>
+ <path d='M33.222,18.547c0,0-0.523,0.936-0.85,1.296c-0.326,0.36-0.91,0.996-1.63,1.313c-0.721,0.317-1.099,0.377-1.811,0.309 c-0.712-0.069-1.373-0.481-1.605-0.652c-0.231-0.172-0.824-0.678-1.159-1.15c-0.335-0.472-0.858-1.416-0.858-1.416 s0.292,0.946,0.474,1.347c0.105,0.231,0.428,0.938,0.886,1.553c0.427,0.574,1.257,1.562,2.519,1.785 c1.262,0.223,2.128-0.343,2.343-0.48c0.214-0.137,0.667-0.516,0.953-0.822c0.299-0.32,0.582-0.728,0.738-0.972 c0.114-0.178,0.301-0.541,0.301-0.541L33.222,18.547z'/>
+ </g>
+ <g>
+ <path d='M11.437,7.127l2.852,9.698l2.852-9.698h2.065l-4.721,15.933h-0.197l-2.95-9.875l-2.951,9.875H8.191 L3.47,7.127h2.065l2.853,9.698l1.928-6.531L9.372,7.127H11.437z' fill='#005A9C'/>
+ <path d='M25.072,17.946c0,1.443-0.384,2.656-1.151,3.639c-0.767,0.983-1.761,1.475-2.98,1.475 c-0.918,0-1.718-0.292-2.4-0.875c-0.682-0.583-1.187-1.373-1.515-2.37l1.613-0.668c0.236,0.603,0.548,1.079,0.935,1.426 s0.843,0.521,1.367,0.521c0.551,0,1.016-0.308,1.397-0.924c0.38-0.616,0.571-1.357,0.571-2.223c0-0.957-0.203-1.698-0.61-2.223 c-0.473-0.616-1.214-0.925-2.223-0.925h-0.787v-0.944l2.754-4.761h-3.325l-0.925,1.574h-0.59V7.127h7.672v0.964l-2.911,5.016 c1.023,0.328,1.797,0.925,2.321,1.791C24.809,15.763,25.072,16.779,25.072,17.946z' fill='#005A9C'/>
+ </g>
+ </g>
+ <g id='Calque_1'>
+ </g>
+ <g id='Layer_1'>
+ </g>
+ </g>
+</svg>
diff --git a/htdocs/images/valid_icons/valid-html40.gif b/htdocs/images/valid_icons/valid-html40.gif
new file mode 100644
index 0000000..a571898
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-html40.gif
Binary files differ
diff --git a/htdocs/images/valid_icons/valid-html40.png b/htdocs/images/valid_icons/valid-html40.png
new file mode 100644
index 0000000..2af3b07
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-html40.png
Binary files differ
diff --git a/htdocs/images/valid_icons/valid-html401-blue-v.svg b/htdocs/images/valid_icons/valid-html401-blue-v.svg
new file mode 100644
index 0000000..10b2c05
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-html401-blue-v.svg
@@ -0,0 +1,245 @@
+<?xml version='1.0' encoding='iso-8859-1'?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns='http://www.w3.org/2000/svg' xml:space='preserve' version='1.1' overflow='visible' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 88 31'>
+ <g shape-rendering='geometricPrecision' text-rendering='geometricPrecision' image-rendering='optimizeQuality'>
+ <g shape-rendering='geometricPrecision' text-rendering='geometricPrecision' image-rendering='optimizeQuality'>
+ <g id='Background'>
+ </g>
+ <g id='Guides'>
+ </g>
+ <g id='Foreground'>
+ <rect fill-rule='evenodd' height='31' width='88' clip-rule='evenodd' y='0' fill='none'/>
+ <rect fill-rule='evenodd' height='31' width='83' clip-rule='evenodd' y='0' fill='#B3CEE1'/>
+ <rect fill-rule='evenodd' height='31' width='36.443' clip-rule='evenodd' y='0' x='0.365' fill='#FFFFFF'/>
+ <rect fill-rule='evenodd' height='24.607' width='40.004' clip-rule='evenodd' y='2.291' x='4.692' fill='none'/>
+ <g>
+ <g>
+ <defs>
+ <rect y='30' width='83' id='XMLID_406_' height='1'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_406_' clip-rule='evenodd' fill='#504D4C'/>
+ <clipPath id='XMLID_432_'>
+ <use xlink:href='#XMLID_406_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_432_)'>
+ <rect fill-rule='evenodd' height='31' width='88' clip-rule='evenodd' y='0' fill='none'/>
+ <rect fill-rule='evenodd' height='31' width='83' clip-rule='evenodd' y='0' fill='#48494B'/>
+ <rect fill-rule='evenodd' height='31' width='36.443' clip-rule='evenodd' y='0' x='0.365' fill='#4F4F4F'/>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <rect y='0' x='82' width='1' id='XMLID_408_' height='31'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_408_' clip-rule='evenodd' fill='#504D4C'/>
+ <clipPath id='XMLID_433_'>
+ <use xlink:href='#XMLID_408_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_433_)'>
+ <rect fill-rule='evenodd' height='31' width='88' clip-rule='evenodd' y='0' fill='none'/>
+ <rect fill-rule='evenodd' height='31' width='83' clip-rule='evenodd' y='0' fill='#48494B'/>
+ <g>
+ <g>
+ <defs>
+ <rect y='30' width='83' id='XMLID_410_' height='1'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_410_' clip-rule='evenodd' fill='#191919'/>
+ <clipPath id='XMLID_434_'>
+ <use xlink:href='#XMLID_410_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_434_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#181818' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' height='31' width='36.443' clip-rule='evenodd' x='0.365' fill='#191919'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <rect fill-rule='evenodd' height='31' width='1' clip-rule='evenodd' y='0' fill='#CCCCCC'/>
+ <g>
+ <g>
+ <defs>
+ <rect y='29.005' x='2.16' width='80' id='XMLID_412_' height='1'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_412_' clip-rule='evenodd' fill='#9E9C9C'/>
+ <clipPath id='XMLID_435_'>
+ <use xlink:href='#XMLID_412_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_435_)'>
+ <rect fill-rule='evenodd' height='31' width='88' clip-rule='evenodd' y='0' fill='none'/>
+ <rect fill-rule='evenodd' height='31' width='83' clip-rule='evenodd' y='0' fill='#9097A0'/>
+ <rect fill-rule='evenodd' height='31' width='36.443' clip-rule='evenodd' y='0' x='0.365' fill='#B5B5B5'/>
+ <g>
+ <g>
+ <defs>
+ <rect y='30' width='83' id='XMLID_414_' height='1'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_414_' clip-rule='evenodd' fill='#383838'/>
+ <clipPath id='XMLID_436_'>
+ <use xlink:href='#XMLID_414_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_436_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#343536' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' height='31' width='36.443' clip-rule='evenodd' x='0.365' fill='#383838'/>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <rect y='0' x='82' width='1' id='XMLID_416_' height='31'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_416_' clip-rule='evenodd' fill='#383838'/>
+ <clipPath id='XMLID_437_'>
+ <use xlink:href='#XMLID_416_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_437_)'>
+ <rect fill-rule='evenodd' height='31' width='88' clip-rule='evenodd' y='0' fill='none'/>
+ <rect fill-rule='evenodd' height='31' width='83' clip-rule='evenodd' y='0' fill='#343536'/>
+ <g>
+ <g>
+ <defs>
+ <rect y='30' width='83' id='XMLID_418_' height='1'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_418_' clip-rule='evenodd' fill='#131313'/>
+ <clipPath id='XMLID_438_'>
+ <use xlink:href='#XMLID_418_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_438_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#131313' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' height='31' width='36.443' clip-rule='evenodd' x='0.365' fill='#131313'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <rect y='1' x='80.806' width='1' id='XMLID_420_' height='30'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_420_' clip-rule='evenodd' fill='#9E9C9C'/>
+ <clipPath id='XMLID_439_'>
+ <use xlink:href='#XMLID_420_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_439_)'>
+ <rect fill-rule='evenodd' height='31' width='88' clip-rule='evenodd' y='0' fill='none'/>
+ <rect fill-rule='evenodd' height='31' width='83' clip-rule='evenodd' y='0' fill='#9097A0'/>
+ <g>
+ <g>
+ <defs>
+ <rect y='30' width='83' id='XMLID_422_' height='1'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_422_' clip-rule='evenodd' fill='#383838'/>
+ <clipPath id='XMLID_440_'>
+ <use xlink:href='#XMLID_422_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_440_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#343536' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' height='31' width='36.443' clip-rule='evenodd' x='0.365' fill='#383838'/>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <rect y='29.005' x='2.16' width='80' id='XMLID_424_' height='1'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_424_' clip-rule='evenodd' fill='#818181'/>
+ <clipPath id='XMLID_441_'>
+ <use xlink:href='#XMLID_424_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_441_)'>
+ <rect fill-rule='evenodd' height='31' width='88' clip-rule='evenodd' y='0' fill='none'/>
+ <rect fill-rule='evenodd' height='31' width='83' clip-rule='evenodd' y='0' fill='#6E7176'/>
+ <rect fill-rule='evenodd' height='31' width='36.443' clip-rule='evenodd' y='0' x='0.365' fill='#818181'/>
+ <g>
+ <g>
+ <defs>
+ <rect y='30' width='83' id='XMLID_426_' height='1'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_426_' clip-rule='evenodd' fill='#272727'/>
+ <clipPath id='XMLID_442_'>
+ <use xlink:href='#XMLID_426_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_442_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#252626' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' height='31' width='36.443' clip-rule='evenodd' x='0.365' fill='#272727'/>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <rect y='0' x='82' width='1' id='XMLID_428_' height='31'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_428_' clip-rule='evenodd' fill='#272727'/>
+ <clipPath id='XMLID_443_'>
+ <use xlink:href='#XMLID_428_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_443_)'>
+ <rect fill-rule='evenodd' height='31' width='88' clip-rule='evenodd' y='0' fill='none'/>
+ <rect fill-rule='evenodd' height='31' width='83' clip-rule='evenodd' y='0' fill='#252626'/>
+ <g>
+ <g>
+ <defs>
+ <rect y='30' width='83' id='XMLID_430_' height='1'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_430_' clip-rule='evenodd' fill='#101010'/>
+ <clipPath id='XMLID_444_'>
+ <use xlink:href='#XMLID_430_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_444_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#101010' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' height='31' width='36.443' clip-rule='evenodd' x='0.365' fill='#101010'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <rect fill-rule='evenodd' height='1' width='83' clip-rule='evenodd' y='0' fill='#CCCCCC'/>
+ <polyline fill-rule='evenodd' stroke='#005A9C' points=' 68.273,18.845 74.291,24.348 86.001,12.637 ' clip-rule='evenodd' stroke-miterlimit='3.8637' stroke-width='4.8115' fill='none'/>
+ <g>
+ <polygon points='39.991,5.822 41.871,5.822 41.871,8.601 44.644,8.601 44.644,5.822 46.524,5.822 46.524,13.112 44.644,13.112 44.644,10.021 41.871,10.021 41.871,13.112 39.991,13.112 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ <polygon points='48.09,5.822 54.809,5.822 54.809,7.243 52.392,7.243 52.392,13.112 50.513,13.112 50.513,7.243 48.09,7.243 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ <polygon points='56.381,5.822 58.773,5.822 60.434,9.724 62.104,5.822 64.491,5.822 64.491,13.112 62.714,13.112 62.714,7.78 61.034,11.711 59.843,11.711 58.163,7.78 58.163,13.112 56.381,13.112 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ <polygon points='66.932,5.822 68.812,5.822 68.812,11.691 72.113,11.691 72.113,13.112 66.932,13.112 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ </g>
+ <g>
+ <path clip-rule='evenodd' d='M42.538,18.553l-2.061,3.052h2.061V18.553z M42.226,17.005h2.09v4.6h1.04v1.362 h-1.04v1.328h-1.777v-1.328h-3.232v-1.611L42.226,17.005z' fill-rule='evenodd'/>
+ <rect fill-rule='evenodd' height='1.89' width='1.758' clip-rule='evenodd' y='22.406' x='46.435'/>
+ <path clip-rule='evenodd' d='M53.413,20.643c0-0.911-0.086-1.552-0.259-1.924 c-0.169-0.374-0.456-0.561-0.859-0.562c-0.404,0-0.692,0.187-0.864,0.562c-0.172,0.371-0.259,1.012-0.259,1.924 c0,0.921,0.086,1.571,0.259,1.948c0.172,0.378,0.46,0.566,0.864,0.566c0.4,0,0.687-0.189,0.859-0.566 C53.327,22.214,53.413,21.564,53.413,20.643z M55.293,20.658c0,1.208-0.26,2.14-0.781,2.798c-0.521,0.654-1.26,0.981-2.217,0.981 c-0.96,0-1.701-0.327-2.222-0.981c-0.521-0.657-0.781-1.59-0.781-2.798c0-1.211,0.26-2.144,0.781-2.798 c0.521-0.657,1.261-0.986,2.222-0.986c0.957,0,1.696,0.329,2.217,0.986C55.033,18.514,55.293,19.447,55.293,20.658z' fill-rule='evenodd'/>
+ <polygon points='56.543,22.997 58.204,22.997 58.204,18.285 56.5,18.636 56.5,17.357 58.194,17.005 59.981,17.005 59.981,22.997 61.641,22.997 61.641,24.295 56.543,24.295 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ </g>
+ <g>
+ <path d='M33.077,7.037l0.334,2.034l-1.185,2.266c0,0-0.455-0.961-1.21-1.493c-0.636-0.448-1.051-0.546-1.699-0.412 c-0.833,0.171-1.777,1.167-2.189,2.395c-0.493,1.469-0.498,2.179-0.515,2.832c-0.027,1.047,0.137,1.665,0.137,1.665 s-0.719-1.33-0.712-3.279c0.005-1.391,0.223-2.652,0.867-3.896c0.566-1.095,1.408-1.751,2.154-1.828 c0.772-0.08,1.382,0.292,1.854,0.695c0.495,0.423,0.996,1.347,0.996,1.347L33.077,7.037z'/>
+ <path d='M33.222,18.547c0,0-0.523,0.936-0.85,1.296c-0.326,0.361-0.91,0.996-1.631,1.313c-0.721,0.318-1.099,0.378-1.811,0.309 c-0.712-0.069-1.374-0.481-1.605-0.652s-0.824-0.678-1.159-1.15c-0.335-0.472-0.858-1.416-0.858-1.416s0.292,0.946,0.474,1.347 c0.105,0.231,0.428,0.938,0.886,1.553c0.427,0.574,1.257,1.562,2.519,1.785c1.262,0.223,2.128-0.343,2.343-0.481 c0.214-0.137,0.667-0.516,0.953-0.822c0.299-0.32,0.582-0.728,0.738-0.972c0.114-0.178,0.301-0.541,0.301-0.541L33.222,18.547z'/>
+ </g>
+ <g>
+ <path d='M11.437,7.127l2.852,9.698l2.852-9.698h2.065l-4.721,15.933h-0.197l-2.951-9.875l-2.951,9.875H8.191 L3.47,7.127h2.065l2.852,9.698l1.928-6.531L9.372,7.127H11.437z' fill='#005A9C'/>
+ <path d='M25.072,17.946c0,1.443-0.384,2.656-1.151,3.639c-0.767,0.983-1.76,1.475-2.98,1.475 c-0.918,0-1.718-0.292-2.4-0.875c-0.682-0.583-1.187-1.374-1.515-2.371l1.613-0.668c0.236,0.603,0.548,1.079,0.935,1.426 c0.387,0.347,0.843,0.521,1.367,0.521c0.551,0,1.016-0.308,1.397-0.924s0.571-1.357,0.571-2.223c0-0.958-0.204-1.698-0.61-2.223 c-0.472-0.616-1.214-0.925-2.223-0.925h-0.787v-0.944l2.754-4.761h-3.325l-0.925,1.574h-0.59V7.127h7.672v0.964l-2.912,5.016 c1.023,0.328,1.797,0.925,2.321,1.791C24.809,15.763,25.072,16.779,25.072,17.946z' fill='#005A9C'/>
+ </g>
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/htdocs/images/valid_icons/valid-html401-blue.gif b/htdocs/images/valid_icons/valid-html401-blue.gif
new file mode 100644
index 0000000..2b74055
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-html401-blue.gif
Binary files differ
diff --git a/htdocs/images/valid_icons/valid-html401-blue.png b/htdocs/images/valid_icons/valid-html401-blue.png
new file mode 100644
index 0000000..dd20e49
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-html401-blue.png
Binary files differ
diff --git a/htdocs/images/valid_icons/valid-html401-v.svg b/htdocs/images/valid_icons/valid-html401-v.svg
new file mode 100644
index 0000000..cc1dbe2
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-html401-v.svg
@@ -0,0 +1,247 @@
+<?xml version='1.0' encoding='iso-8859-1'?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns='http://www.w3.org/2000/svg' xml:space='preserve' version='1.1' overflow='visible' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 88 31'>
+ <g shape-rendering='geometricPrecision' text-rendering='geometricPrecision' image-rendering='optimizeQuality'>
+ <g id='Background'>
+ </g>
+ <g id='Guides'>
+ </g>
+ <g id='Foreground'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#FFCC66' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' height='31' width='36.443' clip-rule='evenodd' x='0.365' fill='#FFFFFF'/>
+ <rect fill-rule='evenodd' height='24.607' width='40.004' clip-rule='evenodd' y='2.291' x='4.692' fill='none'/>
+ <g>
+ <g>
+ <defs>
+ <rect y='30' width='83' id='XMLID_1084_' height='1'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_1084_' clip-rule='evenodd' fill='#504D4C'/>
+ <clipPath id='XMLID_1110_'>
+ <use xlink:href='#XMLID_1084_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1110_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#4E4B3F' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' height='31' width='36.443' clip-rule='evenodd' x='0.365' fill='#4F4F4F'/>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <rect y='0' x='82' width='1' id='XMLID_1086_' height='31'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_1086_' clip-rule='evenodd' fill='#504D4C'/>
+ <clipPath id='XMLID_1111_'>
+ <use xlink:href='#XMLID_1086_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1111_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#4E4B3F' clip-rule='evenodd' height='31'/>
+ <g>
+ <g>
+ <defs>
+ <rect y='30' width='83' id='XMLID_1088_' height='1'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_1088_' clip-rule='evenodd' fill='#191919'/>
+ <clipPath id='XMLID_1112_'>
+ <use xlink:href='#XMLID_1088_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1112_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#191917' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' height='31' width='36.443' clip-rule='evenodd' x='0.366' fill='#191919'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <rect fill-rule='evenodd' width='1' fill='#CCCCCC' clip-rule='evenodd' height='31'/>
+ <g>
+ <g>
+ <defs>
+ <rect y='29.005' x='2.16' width='80' id='XMLID_1090_' height='1'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_1090_' clip-rule='evenodd' fill='#9E9C9C'/>
+ <clipPath id='XMLID_1113_'>
+ <use xlink:href='#XMLID_1090_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1113_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#B39F67' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' height='31' width='36.443' clip-rule='evenodd' x='0.365' fill='#B5B5B5'/>
+ <g>
+ <g>
+ <defs>
+ <rect y='30' width='83' id='XMLID_1092_' height='1'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_1092_' clip-rule='evenodd' fill='#383838'/>
+ <clipPath id='XMLID_1114_'>
+ <use xlink:href='#XMLID_1092_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1114_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#383530' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' height='31' width='36.443' clip-rule='evenodd' x='0.366' fill='#383838'/>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <rect y='0' x='82' width='1' id='XMLID_1094_' height='31'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_1094_' clip-rule='evenodd' fill='#383838'/>
+ <clipPath id='XMLID_1115_'>
+ <use xlink:href='#XMLID_1094_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1115_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#383530' clip-rule='evenodd' height='31'/>
+ <g>
+ <g>
+ <defs>
+ <rect y='30' width='83' id='XMLID_1096_' height='1'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_1096_' clip-rule='evenodd' fill='#131313'/>
+ <clipPath id='XMLID_1116_'>
+ <use xlink:href='#XMLID_1096_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1116_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#131313' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' height='31' width='36.443' clip-rule='evenodd' x='0.366' fill='#131313'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <rect y='1' x='80.806' width='1' id='XMLID_1098_' height='30'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_1098_' clip-rule='evenodd' fill='#9E9C9C'/>
+ <clipPath id='XMLID_1117_'>
+ <use xlink:href='#XMLID_1098_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1117_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#B39F67' clip-rule='evenodd' height='31'/>
+ <g>
+ <g>
+ <defs>
+ <rect y='30' width='83' id='XMLID_1100_' height='1'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_1100_' clip-rule='evenodd' fill='#383838'/>
+ <clipPath id='XMLID_1118_'>
+ <use xlink:href='#XMLID_1100_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1118_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#383530' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' height='31' width='36.443' clip-rule='evenodd' x='0.366' fill='#383838'/>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <rect y='29.005' x='2.16' width='80' id='XMLID_1102_' height='1'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_1102_' clip-rule='evenodd' fill='#818181'/>
+ <clipPath id='XMLID_1119_'>
+ <use xlink:href='#XMLID_1102_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1119_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#807659' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' height='31' width='36.443' clip-rule='evenodd' x='0.365' fill='#818181'/>
+ <g>
+ <g>
+ <defs>
+ <rect y='30' width='83' id='XMLID_1104_' height='1'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_1104_' clip-rule='evenodd' fill='#272727'/>
+ <clipPath id='XMLID_1120_'>
+ <use xlink:href='#XMLID_1104_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1120_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#272623' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' height='31' width='36.443' clip-rule='evenodd' x='0.366' fill='#272727'/>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <rect y='0' x='82' width='1' id='XMLID_1106_' height='31'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_1106_' clip-rule='evenodd' fill='#272727'/>
+ <clipPath id='XMLID_1121_'>
+ <use xlink:href='#XMLID_1106_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1121_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#272623' clip-rule='evenodd' height='31'/>
+ <g>
+ <g>
+ <defs>
+ <rect y='30' width='83' id='XMLID_1108_' height='1'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_1108_' clip-rule='evenodd' fill='#101010'/>
+ <clipPath id='XMLID_1122_'>
+ <use xlink:href='#XMLID_1108_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1122_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#101010' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' height='31' width='36.443' clip-rule='evenodd' x='0.366' fill='#101010'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <rect fill-rule='evenodd' width='83' fill='#CCCCCC' clip-rule='evenodd' height='1'/>
+ <polyline fill-rule='evenodd' stroke='#990000' points=' 68.273,18.844 74.291,24.348 86.001,12.637 ' clip-rule='evenodd' stroke-miterlimit='3.8637' stroke-width='4.8115' fill='none'/>
+ <g>
+ <polygon points='39.991,5.822 41.871,5.822 41.871,8.6 44.644,8.6 44.644,5.822 46.524,5.822 46.524,13.112 44.644,13.112 44.644,10.021 41.871,10.021 41.871,13.112 39.991,13.112 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ <polygon points='48.09,5.822 54.81,5.822 54.81,7.243 52.393,7.243 52.393,13.112 50.513,13.112 50.513,7.243 48.09,7.243 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ <polygon points='56.381,5.822 58.773,5.822 60.434,9.723 62.104,5.822 64.491,5.822 64.491,13.112 62.714,13.112 62.714,7.78 61.034,11.71 59.843,11.71 58.163,7.78 58.163,13.112 56.381,13.112 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ <polygon points='66.932,5.822 68.812,5.822 68.812,11.691 72.113,11.691 72.113,13.112 66.932,13.112 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ </g>
+ <g>
+ <path clip-rule='evenodd' d='M42.538,18.553l-2.061,3.052h2.061V18.553z M42.226,17.005h2.09v4.6h1.04v1.362 h-1.04v1.328h-1.777v-1.328h-3.232v-1.611L42.226,17.005z' fill-rule='evenodd'/>
+ <rect fill-rule='evenodd' height='1.89' width='1.758' clip-rule='evenodd' y='22.406' x='46.435'/>
+ <path clip-rule='evenodd' d='M53.413,20.643c0-0.912-0.086-1.553-0.259-1.924 c-0.169-0.375-0.456-0.562-0.859-0.562s-0.692,0.187-0.864,0.562c-0.172,0.371-0.259,1.012-0.259,1.924 c0,0.921,0.086,1.571,0.259,1.948s0.46,0.566,0.864,0.566c0.4,0,0.687-0.189,0.859-0.566S53.413,21.564,53.413,20.643z M55.293,20.658c0,1.208-0.26,2.14-0.781,2.798c-0.521,0.654-1.26,0.981-2.217,0.981c-0.96,0-1.701-0.327-2.222-0.981 c-0.521-0.658-0.781-1.59-0.781-2.798c0-1.211,0.26-2.144,0.781-2.798c0.521-0.658,1.261-0.986,2.222-0.986 c0.957,0,1.696,0.329,2.217,0.986C55.033,18.514,55.293,19.447,55.293,20.658z' fill-rule='evenodd'/>
+ <polygon points='56.543,22.997 58.204,22.997 58.204,18.285 56.5,18.636 56.5,17.357 58.194,17.005 59.981,17.005 59.981,22.997 61.641,22.997 61.641,24.295 56.543,24.295 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ </g>
+ <g>
+ <path d='M33.077,7.037l0.334,2.034l-1.185,2.266c0,0-0.455-0.961-1.21-1.494c-0.636-0.448-1.051-0.545-1.699-0.412 c-0.833,0.172-1.777,1.167-2.189,2.395c-0.493,1.469-0.498,2.18-0.515,2.833c-0.028,1.047,0.137,1.665,0.137,1.665 s-0.719-1.33-0.712-3.278c0.005-1.391,0.223-2.652,0.867-3.897c0.566-1.094,1.407-1.75,2.154-1.828 c0.772-0.08,1.383,0.292,1.854,0.695c0.495,0.423,0.996,1.348,0.996,1.348L33.077,7.037z'/>
+ <path d='M33.222,18.547c0,0-0.523,0.936-0.85,1.296s-0.91,0.996-1.63,1.313c-0.721,0.318-1.099,0.378-1.811,0.309 c-0.712-0.068-1.373-0.48-1.605-0.652c-0.231-0.171-0.824-0.678-1.159-1.15s-0.858-1.416-0.858-1.416s0.292,0.946,0.474,1.347 c0.105,0.231,0.428,0.938,0.886,1.554c0.427,0.574,1.257,1.562,2.519,1.785s2.128-0.343,2.343-0.48 c0.214-0.138,0.667-0.516,0.953-0.822c0.299-0.32,0.582-0.728,0.738-0.972c0.114-0.179,0.301-0.541,0.301-0.541L33.222,18.547z'/>
+ </g>
+ <g>
+ <path d='M11.437,7.127l2.852,9.697l2.852-9.697h2.065l-4.721,15.933h-0.197l-2.95-9.875l-2.951,9.875H8.191 L3.47,7.127h2.065l2.853,9.697l1.928-6.53L9.372,7.127H11.437z' fill='#005A9C'/>
+ <path d='M25.072,17.946c0,1.443-0.384,2.656-1.151,3.639c-0.767,0.983-1.761,1.475-2.98,1.475 c-0.918,0-1.718-0.292-2.4-0.875c-0.682-0.583-1.187-1.373-1.515-2.37l1.613-0.668c0.236,0.603,0.548,1.079,0.935,1.426 c0.387,0.348,0.843,0.521,1.367,0.521c0.551,0,1.016-0.308,1.397-0.924s0.571-1.357,0.571-2.223c0-0.958-0.203-1.698-0.61-2.223 c-0.473-0.616-1.214-0.924-2.223-0.924h-0.787v-0.944l2.754-4.761h-3.325l-0.925,1.574h-0.59V7.127h7.672v0.963l-2.911,5.016 c1.023,0.328,1.797,0.925,2.321,1.791S25.072,16.779,25.072,17.946z' fill='#005A9C'/>
+ </g>
+ </g>
+ <g id='Calque_1'>
+ </g>
+ <g id='Layer_1'>
+ </g>
+ </g>
+</svg>
diff --git a/htdocs/images/valid_icons/valid-html401.gif b/htdocs/images/valid_icons/valid-html401.gif
new file mode 100644
index 0000000..11c7564
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-html401.gif
Binary files differ
diff --git a/htdocs/images/valid_icons/valid-html401.png b/htdocs/images/valid_icons/valid-html401.png
new file mode 100644
index 0000000..c010842
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-html401.png
Binary files differ
diff --git a/htdocs/images/valid_icons/valid-mathml20-blue-v.svg b/htdocs/images/valid_icons/valid-mathml20-blue-v.svg
new file mode 100644
index 0000000..6d95e96
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-mathml20-blue-v.svg
@@ -0,0 +1,325 @@
+<?xml version='1.0' encoding='iso-8859-1'?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns='http://www.w3.org/2000/svg' xml:space='preserve' version='1.1' overflow='visible' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 88 31' enable-background='new 0 0 88 31'>
+ <g shape-rendering='geometricPrecision' text-rendering='geometricPrecision' image-rendering='optimizeQuality'>
+ <g id='Background'>
+ </g>
+ <g id='Guides'>
+ </g>
+ <g id='Foreground'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='#FFFFFF'/>
+ <path d='M44,15.5' fill='#FFFFFF'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#B3CEE1'/>
+ <path d='M41.5,15.5' fill='#B3CEE1'/>
+ </g>
+ <g>
+ <polygon points='0.366,0 36.809,0 36.809,31 0.366,31 0.366,0 ' fill='#FFFFFF'/>
+ <path d='M18.587,15.5' fill='#FFFFFF'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_334_'/>
+ </defs>
+ <use xlink:href='#XMLID_334_' fill='#504D4C'/>
+ <clipPath id='XMLID_356_'>
+ <use xlink:href='#XMLID_334_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_356_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='#4F4F4F'/>
+ <path d='M44,15.5' fill='#4F4F4F'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#48494B'/>
+ <path d='M41.5,15.5' fill='#48494B'/>
+ </g>
+ <g>
+ <polygon points='0.366,0 36.809,0 36.809,31 0.366,31 0.366,0 ' fill='#4F4F4F'/>
+ <path d='M18.587,15.5' fill='#4F4F4F'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='82,0 83,0 83,31 82,31 82,0 ' id='XMLID_336_'/>
+ </defs>
+ <use xlink:href='#XMLID_336_' fill='#504D4C'/>
+ <clipPath id='XMLID_357_'>
+ <use xlink:href='#XMLID_336_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_357_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='#4F4F4F'/>
+ <path d='M44,15.5' fill='#4F4F4F'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#48494B'/>
+ <path d='M41.5,15.5' fill='#48494B'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_338_'/>
+ </defs>
+ <use xlink:href='#XMLID_338_' fill='#191919'/>
+ <clipPath id='XMLID_358_'>
+ <use xlink:href='#XMLID_338_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_358_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='#191919'/>
+ <path d='M44,15.5' fill='#191919'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#181818'/>
+ <path d='M41.5,15.5' fill='#181818'/>
+ </g>
+ <g>
+ <polygon points='0.366,0 36.809,0 36.809,31 0.366,31 0.366,0 ' fill='#191919'/>
+ <path d='M18.587,15.5' fill='#191919'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <polygon points='0,0 1,0 1,31 0,31 0,0 ' fill='#CCCCCC'/>
+ <path d='M0.5,15.5' fill='#CCCCCC'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='80.806,1 81.806,1 81.806,31 80.806,31 80.806,1 ' id='XMLID_340_'/>
+ </defs>
+ <use xlink:href='#XMLID_340_' fill='#9E9C9C'/>
+ <clipPath id='XMLID_359_'>
+ <use xlink:href='#XMLID_340_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_359_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='#B5B5B5'/>
+ <path d='M44,15.5' fill='#B5B5B5'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#9097A0'/>
+ <path d='M41.5,15.5' fill='#9097A0'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_342_'/>
+ </defs>
+ <use xlink:href='#XMLID_342_' fill='#383838'/>
+ <clipPath id='XMLID_360_'>
+ <use xlink:href='#XMLID_342_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_360_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='#383838'/>
+ <path d='M44,15.5' fill='#383838'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#343536'/>
+ <path d='M41.5,15.5' fill='#343536'/>
+ </g>
+ <g>
+ <polygon points='0.366,0 36.809,0 36.809,31 0.366,31 0.366,0 ' fill='#383838'/>
+ <path d='M18.587,15.5' fill='#383838'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <polygon points='4.692,2.291 44.697,2.291 44.697,26.897 4.692,26.897 4.692,2.291 ' fill='none'/>
+ <path d='M24.695,14.594' fill='none'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='2.16,29.005 82.16,29.005 82.16,30.005 2.16,30.005 2.16,29.005 ' id='XMLID_344_'/>
+ </defs>
+ <use xlink:href='#XMLID_344_' fill='#9E9C9C'/>
+ <clipPath id='XMLID_361_'>
+ <use xlink:href='#XMLID_344_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_361_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='#B5B5B5'/>
+ <path d='M44,15.5' fill='#B5B5B5'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#9097A0'/>
+ <path d='M41.5,15.5' fill='#9097A0'/>
+ </g>
+ <g>
+ <polygon points='0.366,0 36.809,0 36.809,31 0.366,31 0.366,0 ' fill='#B5B5B5'/>
+ <path d='M18.587,15.5' fill='#B5B5B5'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_346_'/>
+ </defs>
+ <use xlink:href='#XMLID_346_' fill='#383838'/>
+ <clipPath id='XMLID_362_'>
+ <use xlink:href='#XMLID_346_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_362_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='#383838'/>
+ <path d='M44,15.5' fill='#383838'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#343536'/>
+ <path d='M41.5,15.5' fill='#343536'/>
+ </g>
+ <g>
+ <polygon points='0.366,0 36.809,0 36.809,31 0.366,31 0.366,0 ' fill='#383838'/>
+ <path d='M18.587,15.5' fill='#383838'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='82,0 83,0 83,31 82,31 82,0 ' id='XMLID_348_'/>
+ </defs>
+ <use xlink:href='#XMLID_348_' fill='#383838'/>
+ <clipPath id='XMLID_363_'>
+ <use xlink:href='#XMLID_348_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_363_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='#383838'/>
+ <path d='M44,15.5' fill='#383838'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#343536'/>
+ <path d='M41.5,15.5' fill='#343536'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_350_'/>
+ </defs>
+ <use xlink:href='#XMLID_350_' fill='#131313'/>
+ <clipPath id='XMLID_364_'>
+ <use xlink:href='#XMLID_350_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_364_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='#131313'/>
+ <path d='M44,15.5' fill='#131313'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#131313'/>
+ <path d='M41.5,15.5' fill='#131313'/>
+ </g>
+ <g>
+ <polygon points='0.366,0 36.809,0 36.809,31 0.366,31 0.366,0 ' fill='#131313'/>
+ <path d='M18.587,15.5' fill='#131313'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='80.806,1 81.806,1 81.806,31 80.806,31 80.806,1 ' id='XMLID_352_'/>
+ </defs>
+ <use xlink:href='#XMLID_352_' fill='#818181'/>
+ <clipPath id='XMLID_365_'>
+ <use xlink:href='#XMLID_352_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_365_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='#818181'/>
+ <path d='M44,15.5' fill='#818181'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#6E7176'/>
+ <path d='M41.5,15.5' fill='#6E7176'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_354_'/>
+ </defs>
+ <use xlink:href='#XMLID_354_' fill='#272727'/>
+ <clipPath id='XMLID_366_'>
+ <use xlink:href='#XMLID_354_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_366_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='#272727'/>
+ <path d='M44,15.5' fill='#272727'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#252626'/>
+ <path d='M41.5,15.5' fill='#252626'/>
+ </g>
+ <g>
+ <polygon points='0.366,0 36.809,0 36.809,31 0.366,31 0.366,0 ' fill='#272727'/>
+ <path d='M18.587,15.5' fill='#272727'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,1 0,1 0,0 ' fill='#CCCCCC'/>
+ <path d='M41.5,0.5' fill='#CCCCCC'/>
+ </g>
+ <g>
+ <g>
+ <path d='M33.077,7.037l0.334,2.034l-1.184,2.266c0,0-0.455-0.961-1.21-1.493c-0.636-0.448-1.051-0.545-1.699-0.412 c-0.833,0.172-1.776,1.167-2.188,2.395c-0.493,1.469-0.498,2.18-0.515,2.833c-0.027,1.047,0.137,1.665,0.137,1.665 s-0.719-1.33-0.712-3.279c0.005-1.39,0.223-2.652,0.867-3.896c0.566-1.094,1.408-1.751,2.154-1.828 c0.772-0.08,1.382,0.292,1.854,0.695c0.495,0.423,0.996,1.347,0.996,1.347L33.077,7.037z'/>
+ <path d='M33.222,18.547c0,0-0.523,0.936-0.85,1.296s-0.91,0.996-1.631,1.313c-0.721,0.318-1.099,0.378-1.811,0.309 c-0.711-0.069-1.373-0.48-1.605-0.652c-0.231-0.171-0.824-0.678-1.159-1.15c-0.334-0.472-0.858-1.416-0.858-1.416 s0.292,0.946,0.474,1.347c0.105,0.231,0.428,0.938,0.886,1.554c0.427,0.574,1.257,1.562,2.519,1.785s2.128-0.343,2.343-0.48 c0.214-0.138,0.667-0.516,0.953-0.822c0.299-0.32,0.582-0.728,0.738-0.972c0.115-0.179,0.301-0.541,0.301-0.541L33.222,18.547z'/>
+ </g>
+ <g>
+ <path d='M11.437,7.127l2.852,9.698l2.853-9.698h2.065l-4.721,15.934h-0.197l-2.951-9.875l-2.951,9.875H8.191 L3.47,7.127h2.065l2.853,9.698l1.928-6.53L9.372,7.127H11.437z' fill='#005A9C'/>
+ <path d='M25.072,17.946c0,1.443-0.384,2.656-1.151,3.639s-1.761,1.475-2.98,1.475c-0.918,0-1.718-0.292-2.4-0.875 c-0.682-0.583-1.187-1.374-1.515-2.37l1.613-0.669c0.236,0.604,0.548,1.079,0.935,1.426c0.387,0.348,0.843,0.521,1.367,0.521 c0.551,0,1.017-0.308,1.396-0.924c0.38-0.616,0.571-1.357,0.571-2.223c0-0.958-0.204-1.698-0.61-2.223 c-0.473-0.616-1.214-0.924-2.223-0.924h-0.787v-0.944l2.754-4.76h-3.325l-0.924,1.573h-0.59V7.127h7.671v0.964l-2.912,5.016 c1.023,0.328,1.797,0.925,2.321,1.791S25.072,16.779,25.072,17.946z' fill='#005A9C'/>
+ </g>
+ </g>
+ <g>
+ <polygon points='39.535,5.893 41.425,5.893 42.381,9.411 43.332,5.893 45.233,5.893 45.233,13.912 43.869,13.912 43.869,7.488 43.021,10.996 41.758,10.996 40.899,7.488 40.899,13.912 39.535,13.912 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ <path clip-rule='evenodd' d='M49.455,11.087c-0.587,0-0.998,0.075-1.23,0.226 c-0.233,0.15-0.349,0.408-0.349,0.773c0,0.272,0.081,0.489,0.242,0.65s0.379,0.242,0.655,0.242c0.415,0,0.737-0.156,0.967-0.467 c0.229-0.315,0.344-0.754,0.344-1.316v-0.107H49.455z M51.646,10.48v3.432h-1.563v-0.671c-0.19,0.265-0.434,0.469-0.73,0.612 c-0.297,0.143-0.625,0.215-0.983,0.215c-0.684,0-1.218-0.181-1.601-0.542c-0.38-0.362-0.569-0.867-0.569-1.515 c0-0.702,0.227-1.219,0.682-1.552c0.455-0.337,1.158-0.505,2.111-0.505h1.09V9.69c0-0.254-0.093-0.446-0.279-0.575 c-0.183-0.132-0.453-0.199-0.811-0.199c-0.376,0-0.741,0.048-1.096,0.145c-0.351,0.093-0.718,0.243-1.101,0.451V8.17 c0.347-0.143,0.7-0.249,1.058-0.317c0.358-0.068,0.737-0.102,1.139-0.102c0.978,0,1.663,0.199,2.057,0.596 C51.448,8.745,51.646,9.456,51.646,10.48z' fill-rule='evenodd'/>
+ <path clip-rule='evenodd' d='M55.474,6.188v1.708h2.057v1.208h-2.057v2.847c0,0.269,0.064,0.462,0.193,0.58 c0.132,0.114,0.351,0.172,0.655,0.172h1.208v1.208H56.21c-0.902,0-1.513-0.143-1.832-0.43c-0.319-0.29-0.478-0.825-0.478-1.606 V9.105h-1.536V7.896H53.9V6.188H55.474z' fill-rule='evenodd'/>
+ <path clip-rule='evenodd' d='M63.593,10.007v3.905H62.03v-3.663c0-0.433-0.063-0.743-0.188-0.929 c-0.122-0.186-0.322-0.279-0.602-0.279c-0.287,0-0.51,0.127-0.671,0.381c-0.161,0.25-0.242,0.6-0.242,1.047v3.443h-1.563V5.555 h1.563v3.244c0.111-0.333,0.3-0.591,0.569-0.773c0.269-0.183,0.592-0.274,0.972-0.274c0.569,0,0.999,0.19,1.289,0.569 C63.448,8.697,63.593,9.259,63.593,10.007z' fill-rule='evenodd'/>
+ <polygon points='64.925,5.893 66.816,5.893 67.772,9.411 68.723,5.893 70.624,5.893 70.624,13.912 69.26,13.912 69.26,7.488 68.411,10.996 67.149,10.996 66.29,7.488 66.29,13.912 64.925,13.912 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ <polygon points='72.294,13.912 72.294,5.893 73.879,5.893 73.879,12.516 77.268,12.516 77.268,13.912 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ </g>
+ <g>
+ <path clip-rule='evenodd' d='M41.737,22.914h3.208v1.382h-5.298v-1.382l2.661-2.349 c0.238-0.215,0.414-0.425,0.528-0.63c0.114-0.205,0.17-0.418,0.171-0.64c0-0.342-0.116-0.617-0.347-0.825 c-0.228-0.208-0.532-0.313-0.913-0.313c-0.293,0-0.613,0.063-0.962,0.19c-0.348,0.124-0.721,0.309-1.118,0.557v-1.602 c0.423-0.14,0.842-0.246,1.255-0.317c0.414-0.075,0.819-0.112,1.216-0.112c0.873,0,1.55,0.192,2.032,0.576 c0.485,0.384,0.727,0.919,0.727,1.606c0,0.397-0.102,0.768-0.308,1.113c-0.205,0.342-0.636,0.801-1.293,1.377L41.737,22.914z' fill-rule='evenodd'/>
+ <rect fill-rule='evenodd' height='1.89' width='1.758' clip-rule='evenodd' y='22.406' x='46.435'/>
+ <path clip-rule='evenodd' d='M54.213,20.643c0-0.912-0.086-1.553-0.259-1.924 c-0.169-0.375-0.456-0.562-0.859-0.562c-0.404,0-0.692,0.187-0.864,0.562c-0.173,0.371-0.259,1.012-0.259,1.924 c0,0.921,0.086,1.57,0.259,1.948c0.172,0.377,0.46,0.566,0.864,0.566c0.4,0,0.687-0.189,0.859-0.566 C54.127,22.213,54.213,21.564,54.213,20.643z M56.093,20.658c0,1.208-0.261,2.14-0.781,2.798c-0.521,0.654-1.26,0.981-2.217,0.981 c-0.96,0-1.701-0.327-2.222-0.981c-0.521-0.658-0.781-1.59-0.781-2.798c0-1.211,0.26-2.144,0.781-2.798 c0.521-0.658,1.261-0.986,2.222-0.986c0.957,0,1.696,0.329,2.217,0.986C55.833,18.514,56.093,19.447,56.093,20.658z' fill-rule='evenodd'/>
+ </g>
+ <g>
+ <polygon fill-rule='evenodd' points='84.793,8.327 87.983,8.327 87.983,9.91 86.559,9.91 77.805,26.969 76.039,26.969 71.484,17.983 69.333,18.567 68.784,17.197 74.125,15.848 77.434,22.593 ' clip-rule='evenodd' fill='#005A9C'/>
+ </g>
+ </g>
+ <g id='Calque_1'>
+ </g>
+ <g id='Layer_1'>
+ </g>
+ </g>
+</svg>
diff --git a/htdocs/images/valid_icons/valid-mathml20-blue.gif b/htdocs/images/valid_icons/valid-mathml20-blue.gif
new file mode 100644
index 0000000..120e467
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-mathml20-blue.gif
Binary files differ
diff --git a/htdocs/images/valid_icons/valid-mathml20-blue.png b/htdocs/images/valid_icons/valid-mathml20-blue.png
new file mode 100644
index 0000000..d2344a7
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-mathml20-blue.png
Binary files differ
diff --git a/htdocs/images/valid_icons/valid-mathml20-v.svg b/htdocs/images/valid_icons/valid-mathml20-v.svg
new file mode 100644
index 0000000..221b230
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-mathml20-v.svg
@@ -0,0 +1,325 @@
+<?xml version='1.0' encoding='iso-8859-1'?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns='http://www.w3.org/2000/svg' xml:space='preserve' version='1.1' overflow='visible' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 88 31'>
+ <g shape-rendering='geometricPrecision' text-rendering='geometricPrecision' image-rendering='optimizeQuality'>
+ <g id='Background'>
+ </g>
+ <g id='Guides'>
+ </g>
+ <g id='Foreground'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#FFCC66'/>
+ <path d='M41.5,15.5' fill='#FFCC66'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#FFFFFF'/>
+ <path d='M18.587,15.5' fill='#FFFFFF'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_1051_'/>
+ </defs>
+ <use xlink:href='#XMLID_1051_' fill='#504D4C'/>
+ <clipPath id='XMLID_1073_'>
+ <use xlink:href='#XMLID_1051_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1073_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#4E4B3F'/>
+ <path d='M41.5,15.5' fill='#4E4B3F'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#4F4F4F'/>
+ <path d='M18.587,15.5' fill='#4F4F4F'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='82,0 83,0 83,31 82,31 82,0 ' id='XMLID_1053_'/>
+ </defs>
+ <use xlink:href='#XMLID_1053_' fill='#504D4C'/>
+ <clipPath id='XMLID_1074_'>
+ <use xlink:href='#XMLID_1053_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1074_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#4E4B3F'/>
+ <path d='M41.5,15.5' fill='#4E4B3F'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_1055_'/>
+ </defs>
+ <use xlink:href='#XMLID_1055_' fill='#191919'/>
+ <clipPath id='XMLID_1075_'>
+ <use xlink:href='#XMLID_1055_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1075_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#191917'/>
+ <path d='M41.5,15.5' fill='#191917'/>
+ </g>
+ <g>
+ <polygon points='0.366,0 36.809,0 36.809,31 0.366,31 0.366,0 ' fill='#191919'/>
+ <path d='M18.587,15.5' fill='#191919'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <polygon points='0,0 1,0 1,31 0,31 0,0 ' fill='#CCCCCC'/>
+ <path d='M0.5,15.5' fill='#CCCCCC'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='80.806,1 81.806,1 81.806,31 80.806,31 80.806,1 ' id='XMLID_1057_'/>
+ </defs>
+ <use xlink:href='#XMLID_1057_' fill='#9E9C9C'/>
+ <clipPath id='XMLID_1076_'>
+ <use xlink:href='#XMLID_1057_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1076_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#B39F67'/>
+ <path d='M41.5,15.5' fill='#B39F67'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_1059_'/>
+ </defs>
+ <use xlink:href='#XMLID_1059_' fill='#383838'/>
+ <clipPath id='XMLID_1077_'>
+ <use xlink:href='#XMLID_1059_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1077_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#383530'/>
+ <path d='M41.5,15.5' fill='#383530'/>
+ </g>
+ <g>
+ <polygon points='0.366,0 36.809,0 36.809,31 0.366,31 0.366,0 ' fill='#383838'/>
+ <path d='M18.587,15.5' fill='#383838'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <polygon points='4.692,2.291 44.697,2.291 44.697,26.898 4.692,26.898 4.692,2.291 ' fill='none'/>
+ <path d='M24.695,14.594' fill='none'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='2.16,29.005 82.16,29.005 82.16,30.005 2.16,30.005 2.16,29.005 ' id='XMLID_1061_'/>
+ </defs>
+ <use xlink:href='#XMLID_1061_' fill='#9E9C9C'/>
+ <clipPath id='XMLID_1078_'>
+ <use xlink:href='#XMLID_1061_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1078_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#B39F67'/>
+ <path d='M41.5,15.5' fill='#B39F67'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#B5B5B5'/>
+ <path d='M18.587,15.5' fill='#B5B5B5'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_1063_'/>
+ </defs>
+ <use xlink:href='#XMLID_1063_' fill='#383838'/>
+ <clipPath id='XMLID_1079_'>
+ <use xlink:href='#XMLID_1063_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1079_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#383530'/>
+ <path d='M41.5,15.5' fill='#383530'/>
+ </g>
+ <g>
+ <polygon points='0.366,0 36.809,0 36.809,31 0.366,31 0.366,0 ' fill='#383838'/>
+ <path d='M18.587,15.5' fill='#383838'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='82,0 83,0 83,31 82,31 82,0 ' id='XMLID_1065_'/>
+ </defs>
+ <use xlink:href='#XMLID_1065_' fill='#383838'/>
+ <clipPath id='XMLID_1080_'>
+ <use xlink:href='#XMLID_1065_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1080_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#383530'/>
+ <path d='M41.5,15.5' fill='#383530'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_1067_'/>
+ </defs>
+ <use xlink:href='#XMLID_1067_' fill='#131313'/>
+ <clipPath id='XMLID_1081_'>
+ <use xlink:href='#XMLID_1067_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1081_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#131313'/>
+ <path d='M41.5,15.5' fill='#131313'/>
+ </g>
+ <g>
+ <polygon points='0.366,0 36.809,0 36.809,31 0.366,31 0.366,0 ' fill='#131313'/>
+ <path d='M18.587,15.5' fill='#131313'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='80.806,1 81.806,1 81.806,31 80.806,31 80.806,1 ' id='XMLID_1069_'/>
+ </defs>
+ <use xlink:href='#XMLID_1069_' fill='#818181'/>
+ <clipPath id='XMLID_1082_'>
+ <use xlink:href='#XMLID_1069_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1082_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#807659'/>
+ <path d='M41.5,15.5' fill='#807659'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_1071_'/>
+ </defs>
+ <use xlink:href='#XMLID_1071_' fill='#272727'/>
+ <clipPath id='XMLID_1083_'>
+ <use xlink:href='#XMLID_1071_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1083_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#272623'/>
+ <path d='M41.5,15.5' fill='#272623'/>
+ </g>
+ <g>
+ <polygon points='0.366,0 36.809,0 36.809,31 0.366,31 0.366,0 ' fill='#272727'/>
+ <path d='M18.587,15.5' fill='#272727'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,1 0,1 0,0 ' fill='#CCCCCC'/>
+ <path d='M41.5,0.5' fill='#CCCCCC'/>
+ </g>
+ <g>
+ <g>
+ <path d='M33.077,7.037l0.334,2.034l-1.185,2.266c0,0-0.455-0.961-1.21-1.494c-0.636-0.448-1.051-0.545-1.699-0.412 c-0.833,0.171-1.777,1.167-2.189,2.395c-0.493,1.469-0.498,2.179-0.515,2.832c-0.028,1.047,0.137,1.666,0.137,1.666 s-0.719-1.331-0.712-3.279c0.005-1.391,0.223-2.652,0.867-3.896c0.566-1.095,1.407-1.751,2.154-1.829 c0.772-0.08,1.383,0.293,1.854,0.695c0.495,0.423,0.996,1.348,0.996,1.348L33.077,7.037z'/>
+ <path d='M33.222,18.547c0,0-0.523,0.936-0.85,1.296s-0.91,0.996-1.63,1.313c-0.721,0.317-1.099,0.377-1.811,0.309 c-0.712-0.068-1.373-0.48-1.605-0.652c-0.231-0.172-0.824-0.678-1.159-1.15s-0.858-1.416-0.858-1.416s0.292,0.946,0.474,1.348 c0.105,0.231,0.428,0.938,0.886,1.553c0.427,0.574,1.257,1.562,2.519,1.785s2.128-0.343,2.343-0.48 c0.214-0.137,0.667-0.516,0.953-0.822c0.299-0.32,0.582-0.728,0.738-0.972c0.114-0.178,0.301-0.541,0.301-0.541L33.222,18.547z'/>
+ </g>
+ <g>
+ <path d='M11.437,7.127l2.852,9.698l2.852-9.698h2.065l-4.721,15.933h-0.197l-2.95-9.875l-2.951,9.875H8.191 L3.47,7.127h2.065l2.853,9.698l1.928-6.531L9.372,7.127H11.437z' fill='#005A9C'/>
+ <path d='M25.072,17.946c0,1.443-0.384,2.656-1.151,3.639c-0.767,0.983-1.761,1.475-2.98,1.475 c-0.918,0-1.718-0.292-2.4-0.875c-0.682-0.583-1.187-1.374-1.515-2.371l1.613-0.668c0.236,0.604,0.548,1.079,0.935,1.426 c0.387,0.348,0.843,0.521,1.367,0.521c0.551,0,1.016-0.308,1.397-0.924s0.571-1.357,0.571-2.223c0-0.958-0.203-1.698-0.61-2.223 c-0.473-0.616-1.214-0.925-2.223-0.925h-0.787v-0.944l2.754-4.761h-3.325l-0.925,1.574h-0.59V7.127h7.672v0.964l-2.911,5.016 c1.023,0.328,1.797,0.925,2.321,1.79C24.809,15.763,25.072,16.779,25.072,17.946z' fill='#005A9C'/>
+ </g>
+ </g>
+ <g>
+ <polygon points='39.535,5.893 41.425,5.893 42.381,9.411 43.332,5.893 45.233,5.893 45.233,13.912 43.869,13.912 43.869,7.488 43.021,10.996 41.758,10.996 40.899,7.488 40.899,13.912 39.535,13.912 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ <path clip-rule='evenodd' d='M49.455,11.087c-0.587,0-0.998,0.075-1.23,0.226 c-0.233,0.15-0.349,0.408-0.349,0.773c0,0.272,0.081,0.489,0.242,0.65s0.379,0.242,0.655,0.242c0.415,0,0.737-0.156,0.967-0.467 c0.229-0.315,0.344-0.753,0.344-1.316v-0.107H49.455z M51.646,10.48v3.432h-1.563v-0.671c-0.19,0.265-0.434,0.469-0.73,0.612 c-0.297,0.143-0.625,0.215-0.983,0.215c-0.684,0-1.218-0.181-1.601-0.542c-0.38-0.361-0.569-0.866-0.569-1.515 c0-0.702,0.227-1.219,0.682-1.552c0.455-0.336,1.158-0.504,2.111-0.505h1.09V9.69c0-0.254-0.093-0.445-0.279-0.575 c-0.183-0.132-0.453-0.198-0.811-0.199c-0.376,0-0.741,0.048-1.096,0.145c-0.351,0.093-0.718,0.244-1.101,0.451V8.17 c0.347-0.143,0.7-0.249,1.058-0.317c0.358-0.068,0.737-0.102,1.139-0.102c0.978,0,1.663,0.199,2.057,0.596 C51.448,8.745,51.646,9.456,51.646,10.48z' fill-rule='evenodd'/>
+ <path clip-rule='evenodd' d='M55.474,6.188v1.708h2.057v1.208h-2.057v2.847c0,0.269,0.064,0.462,0.193,0.58 c0.132,0.115,0.351,0.172,0.655,0.172h1.208v1.208H56.21c-0.902,0-1.513-0.143-1.832-0.43c-0.319-0.29-0.478-0.825-0.478-1.606 V9.105h-1.536V7.896H53.9V6.188H55.474z' fill-rule='evenodd'/>
+ <path clip-rule='evenodd' d='M63.593,10.007v3.905H62.03v-3.663c0-0.433-0.063-0.743-0.188-0.929 c-0.122-0.186-0.323-0.279-0.602-0.279c-0.287,0-0.51,0.127-0.671,0.381c-0.161,0.251-0.242,0.6-0.242,1.047v3.443h-1.563V5.555 h1.563v3.244c0.111-0.333,0.3-0.591,0.569-0.773c0.269-0.183,0.592-0.274,0.972-0.274c0.569,0,0.999,0.19,1.289,0.569 C63.448,8.697,63.593,9.259,63.593,10.007z' fill-rule='evenodd'/>
+ <polygon points='64.925,5.893 66.816,5.893 67.772,9.411 68.723,5.893 70.624,5.893 70.624,13.912 69.26,13.912 69.26,7.488 68.411,10.996 67.149,10.996 66.29,7.488 66.29,13.912 64.925,13.912 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ <polygon points='72.294,13.912 72.294,5.893 73.879,5.893 73.879,12.516 77.268,12.516 77.268,13.912 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ </g>
+ <g>
+ <path clip-rule='evenodd' d='M41.737,22.914h3.208v1.382h-5.298v-1.382l2.661-2.349 c0.238-0.215,0.414-0.425,0.527-0.63c0.114-0.205,0.171-0.418,0.171-0.64c0-0.342-0.115-0.617-0.347-0.825 c-0.228-0.208-0.532-0.312-0.913-0.313c-0.293,0-0.613,0.063-0.962,0.19c-0.348,0.124-0.721,0.309-1.118,0.557v-1.602 c0.423-0.14,0.842-0.246,1.255-0.317c0.414-0.075,0.819-0.112,1.216-0.112c0.873,0,1.55,0.192,2.031,0.576 c0.485,0.384,0.728,0.919,0.728,1.606c0,0.397-0.103,0.768-0.308,1.113c-0.205,0.342-0.636,0.801-1.294,1.377L41.737,22.914z' fill-rule='evenodd'/>
+ <rect fill-rule='evenodd' height='1.89' width='1.758' clip-rule='evenodd' y='22.406' x='46.435'/>
+ <path clip-rule='evenodd' d='M54.213,20.643c0-0.911-0.086-1.552-0.259-1.924 c-0.169-0.375-0.456-0.561-0.859-0.562c-0.404,0-0.692,0.187-0.864,0.562c-0.173,0.371-0.259,1.013-0.259,1.924 c0,0.921,0.086,1.571,0.259,1.948c0.172,0.378,0.46,0.566,0.864,0.566c0.4,0,0.687-0.188,0.859-0.566 C54.127,22.214,54.213,21.564,54.213,20.643z M56.093,20.658c0,1.208-0.261,2.141-0.781,2.798 c-0.521,0.654-1.26,0.981-2.217,0.981c-0.96,0-1.701-0.327-2.222-0.981c-0.521-0.657-0.781-1.59-0.781-2.798 c0-1.211,0.26-2.144,0.781-2.798c0.521-0.657,1.261-0.986,2.222-0.986c0.957,0,1.696,0.329,2.217,0.986 C55.833,18.514,56.093,19.447,56.093,20.658z' fill-rule='evenodd'/>
+ </g>
+ <g>
+ <polygon fill-rule='evenodd' points='84.793,8.328 87.983,8.328 87.983,9.91 86.559,9.91 77.805,26.97 76.039,26.97 71.484,17.983 69.333,18.567 68.784,17.197 74.125,15.848 77.434,22.593 ' clip-rule='evenodd' fill='#990000'/>
+ </g>
+ </g>
+ <g id='Calque_1'>
+ </g>
+ <g id='Layer_1'>
+ </g>
+ </g>
+</svg>
diff --git a/htdocs/images/valid_icons/valid-mathml20.gif b/htdocs/images/valid_icons/valid-mathml20.gif
new file mode 100644
index 0000000..7464540
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-mathml20.gif
Binary files differ
diff --git a/htdocs/images/valid_icons/valid-mathml20.png b/htdocs/images/valid_icons/valid-mathml20.png
new file mode 100644
index 0000000..f177679
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-mathml20.png
Binary files differ
diff --git a/htdocs/images/valid_icons/valid-svg10-blue-v.svg b/htdocs/images/valid_icons/valid-svg10-blue-v.svg
new file mode 100644
index 0000000..02ab0d3
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-svg10-blue-v.svg
@@ -0,0 +1,370 @@
+<?xml version='1.0' encoding='iso-8859-1'?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns='http://www.w3.org/2000/svg' xml:space='preserve' version='1.1' overflow='visible' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 88 31'>
+ <g shape-rendering='geometricPrecision' text-rendering='geometricPrecision' image-rendering='optimizeQuality'>
+ <g shape-rendering='geometricPrecision' text-rendering='geometricPrecision' image-rendering='optimizeQuality'>
+ <g id='Background'>
+ </g>
+ <g id='Guides'>
+ </g>
+ <g id='Foreground'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#B3CEE1'/>
+ <path d='M41.5,15.5' fill='#B3CEE1'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#FFFFFF'/>
+ <path d='M18.587,15.5' fill='#FFFFFF'/>
+ </g>
+ <g>
+ <polygon points='4.692,2.291 44.697,2.291 44.697,26.898 4.692,26.898 4.692,2.291 ' fill='none'/>
+ <path d='M24.695,14.594' fill='none'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_367_'/>
+ </defs>
+ <use xlink:href='#XMLID_367_' fill='#504D4C'/>
+ <clipPath id='XMLID_393_'>
+ <use xlink:href='#XMLID_367_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_393_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#48494B'/>
+ <path d='M41.5,15.5' fill='#48494B'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#4F4F4F'/>
+ <path d='M18.587,15.5' fill='#4F4F4F'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='82,0 83,0 83,31 82,31 82,0 ' id='XMLID_369_'/>
+ </defs>
+ <use xlink:href='#XMLID_369_' fill='#504D4C'/>
+ <clipPath id='XMLID_394_'>
+ <use xlink:href='#XMLID_369_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_394_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#48494B'/>
+ <path d='M41.5,15.5' fill='#48494B'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_371_'/>
+ </defs>
+ <use xlink:href='#XMLID_371_' fill='#191919'/>
+ <clipPath id='XMLID_395_'>
+ <use xlink:href='#XMLID_371_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_395_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#181818'/>
+ <path d='M41.5,15.5' fill='#181818'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#191919'/>
+ <path d='M18.587,15.5' fill='#191919'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <polygon points='0,0 1,0 1,31 0,31 0,0 ' fill='#CCCCCC'/>
+ <path d='M0.5,15.5' fill='#CCCCCC'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='2.16,29.005 82.16,29.005 82.16,30.005 2.16,30.005 2.16,29.005 ' id='XMLID_373_'/>
+ </defs>
+ <use xlink:href='#XMLID_373_' fill='#9E9C9C'/>
+ <clipPath id='XMLID_396_'>
+ <use xlink:href='#XMLID_373_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_396_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#9097A0'/>
+ <path d='M41.5,15.5' fill='#9097A0'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#B5B5B5'/>
+ <path d='M18.587,15.5' fill='#B5B5B5'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_375_'/>
+ </defs>
+ <use xlink:href='#XMLID_375_' fill='#383838'/>
+ <clipPath id='XMLID_397_'>
+ <use xlink:href='#XMLID_375_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_397_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#343536'/>
+ <path d='M41.5,15.5' fill='#343536'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#383838'/>
+ <path d='M18.587,15.5' fill='#383838'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='82,0 83,0 83,31 82,31 82,0 ' id='XMLID_377_'/>
+ </defs>
+ <use xlink:href='#XMLID_377_' fill='#383838'/>
+ <clipPath id='XMLID_398_'>
+ <use xlink:href='#XMLID_377_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_398_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#343536'/>
+ <path d='M41.5,15.5' fill='#343536'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_379_'/>
+ </defs>
+ <use xlink:href='#XMLID_379_' fill='#131313'/>
+ <clipPath id='XMLID_399_'>
+ <use xlink:href='#XMLID_379_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_399_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#131313'/>
+ <path d='M41.5,15.5' fill='#131313'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#131313'/>
+ <path d='M18.587,15.5' fill='#131313'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='80.806,1 81.806,1 81.806,31 80.806,31 80.806,1 ' id='XMLID_381_'/>
+ </defs>
+ <use xlink:href='#XMLID_381_' fill='#9E9C9C'/>
+ <clipPath id='XMLID_400_'>
+ <use xlink:href='#XMLID_381_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_400_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#9097A0'/>
+ <path d='M41.5,15.5' fill='#9097A0'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_383_'/>
+ </defs>
+ <use xlink:href='#XMLID_383_' fill='#383838'/>
+ <clipPath id='XMLID_401_'>
+ <use xlink:href='#XMLID_383_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_401_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#343536'/>
+ <path d='M41.5,15.5' fill='#343536'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#383838'/>
+ <path d='M18.587,15.5' fill='#383838'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='2.16,29.005 82.16,29.005 82.16,30.005 2.16,30.005 2.16,29.005 ' id='XMLID_385_'/>
+ </defs>
+ <use xlink:href='#XMLID_385_' fill='#818181'/>
+ <clipPath id='XMLID_402_'>
+ <use xlink:href='#XMLID_385_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_402_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#6E7176'/>
+ <path d='M41.5,15.5' fill='#6E7176'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#818181'/>
+ <path d='M18.587,15.5' fill='#818181'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_387_'/>
+ </defs>
+ <use xlink:href='#XMLID_387_' fill='#272727'/>
+ <clipPath id='XMLID_403_'>
+ <use xlink:href='#XMLID_387_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_403_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#252626'/>
+ <path d='M41.5,15.5' fill='#252626'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#272727'/>
+ <path d='M18.587,15.5' fill='#272727'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='82,0 83,0 83,31 82,31 82,0 ' id='XMLID_389_'/>
+ </defs>
+ <use xlink:href='#XMLID_389_' fill='#272727'/>
+ <clipPath id='XMLID_404_'>
+ <use xlink:href='#XMLID_389_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_404_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#252626'/>
+ <path d='M41.5,15.5' fill='#252626'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_391_'/>
+ </defs>
+ <use xlink:href='#XMLID_391_' fill='#101010'/>
+ <clipPath id='XMLID_405_'>
+ <use xlink:href='#XMLID_391_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_405_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#101010'/>
+ <path d='M41.5,15.5' fill='#101010'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#101010'/>
+ <path d='M18.587,15.5' fill='#101010'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,1 0,1 0,0 ' fill='#CCCCCC'/>
+ <path d='M41.5,0.5' fill='#CCCCCC'/>
+ </g>
+ <g>
+ <polyline fill-rule='evenodd' stroke='#005A9C' points=' 68.273,18.845 74.291,24.348 86.001,12.637 ' clip-rule='evenodd' stroke-miterlimit='3.8637' stroke-width='4.8117' fill='none'/>
+ </g>
+ <g>
+ <g>
+ <path d='M33.077,7.037l0.334,2.034l-1.185,2.266c0,0-0.455-0.961-1.21-1.494c-0.636-0.448-1.051-0.545-1.699-0.412 c-0.833,0.172-1.777,1.167-2.189,2.395c-0.493,1.469-0.498,2.179-0.515,2.832c-0.027,1.047,0.137,1.665,0.137,1.665 s-0.719-1.33-0.712-3.278c0.005-1.391,0.223-2.652,0.867-3.897c0.566-1.094,1.408-1.75,2.154-1.828 c0.772-0.08,1.382,0.292,1.854,0.695c0.495,0.423,0.996,1.348,0.996,1.348L33.077,7.037z'/>
+ <path d='M33.222,18.547c0,0-0.523,0.936-0.85,1.296s-0.91,0.996-1.631,1.313c-0.721,0.317-1.099,0.377-1.811,0.309 c-0.712-0.068-1.374-0.48-1.605-0.652c-0.232-0.172-0.824-0.678-1.159-1.15s-0.858-1.416-0.858-1.416s0.292,0.946,0.474,1.347 c0.105,0.231,0.428,0.938,0.886,1.554c0.427,0.574,1.257,1.562,2.519,1.785s2.128-0.343,2.343-0.48 c0.214-0.138,0.667-0.516,0.953-0.822c0.299-0.32,0.582-0.728,0.738-0.972c0.114-0.179,0.301-0.541,0.301-0.541L33.222,18.547z'/>
+ </g>
+ <g>
+ <path d='M11.437,7.127l2.852,9.698l2.852-9.698h2.065l-4.721,15.933h-0.197l-2.951-9.875l-2.951,9.875H8.191 L3.47,7.127h2.065l2.852,9.698l1.928-6.531L9.372,7.127H11.437z' fill='#005A9C'/>
+ <path d='M25.072,17.946c0,1.443-0.384,2.656-1.151,3.639c-0.767,0.983-1.76,1.475-2.98,1.475 c-0.918,0-1.718-0.292-2.4-0.875c-0.682-0.583-1.187-1.373-1.515-2.37l1.613-0.668c0.236,0.603,0.548,1.079,0.935,1.426 c0.387,0.348,0.843,0.521,1.367,0.521c0.551,0,1.016-0.308,1.397-0.924c0.38-0.617,0.571-1.357,0.571-2.223 c0-0.958-0.204-1.698-0.61-2.223c-0.472-0.617-1.214-0.925-2.223-0.925h-0.787v-0.944l2.754-4.761h-3.325l-0.925,1.574h-0.59 V7.127h7.672v0.964l-2.912,5.016c1.023,0.328,1.797,0.925,2.321,1.791S25.072,16.779,25.072,17.946z' fill='#005A9C'/>
+ </g>
+ </g>
+ <g>
+ <path clip-rule='evenodd' d='M45.064,6.052v1.543c-0.4-0.179-0.791-0.314-1.172-0.405 s-0.741-0.137-1.079-0.137c-0.449,0-0.781,0.062-0.996,0.186s-0.322,0.316-0.322,0.576c0,0.195,0.071,0.348,0.215,0.459 c0.146,0.107,0.41,0.2,0.791,0.278l0.801,0.161c0.811,0.163,1.387,0.41,1.729,0.742s0.513,0.804,0.513,1.416 c0,0.804-0.239,1.403-0.718,1.797c-0.476,0.391-1.203,0.586-2.183,0.586c-0.462,0-0.926-0.044-1.392-0.132 c-0.466-0.088-0.931-0.218-1.396-0.391v-1.587c0.465,0.248,0.915,0.435,1.348,0.562c0.436,0.124,0.856,0.186,1.26,0.186 c0.41,0,0.724-0.068,0.942-0.205c0.218-0.137,0.327-0.332,0.327-0.586c0-0.228-0.075-0.404-0.225-0.527 c-0.146-0.124-0.441-0.234-0.884-0.332l-0.728-0.161c-0.729-0.156-1.263-0.405-1.602-0.747c-0.335-0.342-0.503-0.802-0.503-1.382 c0-0.726,0.234-1.284,0.703-1.675s1.143-0.586,2.021-0.586c0.4,0,0.812,0.031,1.235,0.093C44.173,5.842,44.611,5.931,45.064,6.052 z' fill-rule='evenodd'/>
+ <polygon points='46.423,5.822 48.313,5.822 50.247,11.203 52.175,5.822 54.065,5.822 51.365,13.112 49.124,13.112 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ <path clip-rule='evenodd' d='M61.685,12.57c-0.469,0.228-0.956,0.399-1.46,0.513s-1.025,0.17-1.563,0.171 c-1.214,0-2.176-0.339-2.886-1.016c-0.709-0.68-1.064-1.602-1.064-2.764c0-1.175,0.361-2.1,1.084-2.773s1.712-1.011,2.969-1.011 c0.485,0,0.949,0.045,1.392,0.137c0.446,0.091,0.866,0.226,1.26,0.405v1.509C61.009,7.51,60.604,7.337,60.2,7.224 c-0.4-0.114-0.802-0.171-1.206-0.171c-0.749,0-1.327,0.21-1.733,0.63c-0.404,0.417-0.605,1.014-0.605,1.792 c0,0.771,0.195,1.367,0.586,1.787s0.946,0.63,1.665,0.63c0.195,0,0.376-0.011,0.542-0.034c0.169-0.026,0.321-0.065,0.454-0.117 v-1.416h-1.147v-1.26h2.93V12.57z' fill-rule='evenodd'/>
+ </g>
+ <g>
+ <polygon points='40.028,22.997 41.688,22.997 41.688,18.285 39.984,18.636 39.984,17.357 41.679,17.005 43.466,17.005 43.466,22.997 45.126,22.997 45.126,24.295 40.028,24.295 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ <rect fill-rule='evenodd' height='1.89' width='1.758' clip-rule='evenodd' y='22.406' x='46.435'/>
+ <path clip-rule='evenodd' d='M54.213,20.643c0-0.912-0.086-1.553-0.259-1.924 c-0.169-0.375-0.456-0.562-0.859-0.562c-0.404,0-0.692,0.187-0.864,0.562c-0.173,0.371-0.259,1.012-0.259,1.924 c0,0.921,0.086,1.571,0.259,1.948c0.172,0.377,0.46,0.566,0.864,0.566c0.4,0,0.687-0.189,0.859-0.566 C54.127,22.214,54.213,21.564,54.213,20.643z M56.093,20.658c0,1.208-0.261,2.14-0.781,2.798c-0.521,0.654-1.26,0.981-2.217,0.981 c-0.96,0-1.701-0.327-2.222-0.981c-0.521-0.658-0.781-1.59-0.781-2.798c0-1.211,0.26-2.144,0.781-2.798 c0.521-0.658,1.262-0.986,2.222-0.986c0.957,0,1.696,0.329,2.217,0.986C55.833,18.514,56.093,19.447,56.093,20.658z' fill-rule='evenodd'/>
+ </g>
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/htdocs/images/valid_icons/valid-svg10-blue.gif b/htdocs/images/valid_icons/valid-svg10-blue.gif
new file mode 100644
index 0000000..ee54b7a
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-svg10-blue.gif
Binary files differ
diff --git a/htdocs/images/valid_icons/valid-svg10-blue.png b/htdocs/images/valid_icons/valid-svg10-blue.png
new file mode 100644
index 0000000..f1ae6d4
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-svg10-blue.png
Binary files differ
diff --git a/htdocs/images/valid_icons/valid-svg10-v.svg b/htdocs/images/valid_icons/valid-svg10-v.svg
new file mode 100644
index 0000000..90f4685
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-svg10-v.svg
@@ -0,0 +1,372 @@
+<?xml version='1.0' encoding='iso-8859-1'?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns='http://www.w3.org/2000/svg' xml:space='preserve' version='1.1' overflow='visible' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 88 31'>
+ <g shape-rendering='geometricPrecision' text-rendering='geometricPrecision' image-rendering='optimizeQuality'>
+ <g id='Background'>
+ </g>
+ <g id='Guides'>
+ </g>
+ <g id='Foreground'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#FFCC66'/>
+ <path d='M41.5,15.5' fill='#FFCC66'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#FFFFFF'/>
+ <path d='M18.587,15.5' fill='#FFFFFF'/>
+ </g>
+ <g>
+ <polygon points='4.692,2.291 44.697,2.291 44.697,26.897 4.692,26.897 4.692,2.291 ' fill='none'/>
+ <path d='M24.695,14.594' fill='none'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_1012_'/>
+ </defs>
+ <use xlink:href='#XMLID_1012_' fill='#504D4C'/>
+ <clipPath id='XMLID_1038_'>
+ <use xlink:href='#XMLID_1012_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1038_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#4E4B3F'/>
+ <path d='M41.5,15.5' fill='#4E4B3F'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#4F4F4F'/>
+ <path d='M18.587,15.5' fill='#4F4F4F'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='82,0 83,0 83,31 82,31 82,0 ' id='XMLID_1014_'/>
+ </defs>
+ <use xlink:href='#XMLID_1014_' fill='#504D4C'/>
+ <clipPath id='XMLID_1039_'>
+ <use xlink:href='#XMLID_1014_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1039_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#4E4B3F'/>
+ <path d='M41.5,15.5' fill='#4E4B3F'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_1016_'/>
+ </defs>
+ <use xlink:href='#XMLID_1016_' fill='#191919'/>
+ <clipPath id='XMLID_1040_'>
+ <use xlink:href='#XMLID_1016_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1040_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#191917'/>
+ <path d='M41.5,15.5' fill='#191917'/>
+ </g>
+ <g>
+ <polygon points='0.366,0 36.809,0 36.809,31 0.366,31 0.366,0 ' fill='#191919'/>
+ <path d='M18.587,15.5' fill='#191919'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <polygon points='0,0 1,0 1,31 0,31 0,0 ' fill='#CCCCCC'/>
+ <path d='M0.5,15.5' fill='#CCCCCC'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='2.16,29.005 82.16,29.005 82.16,30.005 2.16,30.005 2.16,29.005 ' id='XMLID_1018_'/>
+ </defs>
+ <use xlink:href='#XMLID_1018_' fill='#9E9C9C'/>
+ <clipPath id='XMLID_1041_'>
+ <use xlink:href='#XMLID_1018_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1041_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#B39F67'/>
+ <path d='M41.5,15.5' fill='#B39F67'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#B5B5B5'/>
+ <path d='M18.587,15.5' fill='#B5B5B5'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_1020_'/>
+ </defs>
+ <use xlink:href='#XMLID_1020_' fill='#383838'/>
+ <clipPath id='XMLID_1042_'>
+ <use xlink:href='#XMLID_1020_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1042_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#383530'/>
+ <path d='M41.5,15.5' fill='#383530'/>
+ </g>
+ <g>
+ <polygon points='0.366,0 36.809,0 36.809,31 0.366,31 0.366,0 ' fill='#383838'/>
+ <path d='M18.587,15.5' fill='#383838'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='82,0 83,0 83,31 82,31 82,0 ' id='XMLID_1022_'/>
+ </defs>
+ <use xlink:href='#XMLID_1022_' fill='#383838'/>
+ <clipPath id='XMLID_1043_'>
+ <use xlink:href='#XMLID_1022_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1043_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#383530'/>
+ <path d='M41.5,15.5' fill='#383530'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_1024_'/>
+ </defs>
+ <use xlink:href='#XMLID_1024_' fill='#131313'/>
+ <clipPath id='XMLID_1044_'>
+ <use xlink:href='#XMLID_1024_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1044_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#131313'/>
+ <path d='M41.5,15.5' fill='#131313'/>
+ </g>
+ <g>
+ <polygon points='0.366,0 36.809,0 36.809,31 0.366,31 0.366,0 ' fill='#131313'/>
+ <path d='M18.587,15.5' fill='#131313'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='80.806,1 81.806,1 81.806,31 80.806,31 80.806,1 ' id='XMLID_1026_'/>
+ </defs>
+ <use xlink:href='#XMLID_1026_' fill='#9E9C9C'/>
+ <clipPath id='XMLID_1045_'>
+ <use xlink:href='#XMLID_1026_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1045_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#B39F67'/>
+ <path d='M41.5,15.5' fill='#B39F67'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_1028_'/>
+ </defs>
+ <use xlink:href='#XMLID_1028_' fill='#383838'/>
+ <clipPath id='XMLID_1046_'>
+ <use xlink:href='#XMLID_1028_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1046_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#383530'/>
+ <path d='M41.5,15.5' fill='#383530'/>
+ </g>
+ <g>
+ <polygon points='0.366,0 36.809,0 36.809,31 0.366,31 0.366,0 ' fill='#383838'/>
+ <path d='M18.587,15.5' fill='#383838'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='2.16,29.005 82.16,29.005 82.16,30.005 2.16,30.005 2.16,29.005 ' id='XMLID_1030_'/>
+ </defs>
+ <use xlink:href='#XMLID_1030_' fill='#818181'/>
+ <clipPath id='XMLID_1047_'>
+ <use xlink:href='#XMLID_1030_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1047_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#807659'/>
+ <path d='M41.5,15.5' fill='#807659'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#818181'/>
+ <path d='M18.587,15.5' fill='#818181'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_1032_'/>
+ </defs>
+ <use xlink:href='#XMLID_1032_' fill='#272727'/>
+ <clipPath id='XMLID_1048_'>
+ <use xlink:href='#XMLID_1032_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1048_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#272623'/>
+ <path d='M41.5,15.5' fill='#272623'/>
+ </g>
+ <g>
+ <polygon points='0.366,0 36.809,0 36.809,31 0.366,31 0.366,0 ' fill='#272727'/>
+ <path d='M18.587,15.5' fill='#272727'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='82,0 83,0 83,31 82,31 82,0 ' id='XMLID_1034_'/>
+ </defs>
+ <use xlink:href='#XMLID_1034_' fill='#272727'/>
+ <clipPath id='XMLID_1049_'>
+ <use xlink:href='#XMLID_1034_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1049_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#272623'/>
+ <path d='M41.5,15.5' fill='#272623'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_1036_'/>
+ </defs>
+ <use xlink:href='#XMLID_1036_' fill='#101010'/>
+ <clipPath id='XMLID_1050_'>
+ <use xlink:href='#XMLID_1036_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1050_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#101010'/>
+ <path d='M41.5,15.5' fill='#101010'/>
+ </g>
+ <g>
+ <polygon points='0.366,0 36.809,0 36.809,31 0.366,31 0.366,0 ' fill='#101010'/>
+ <path d='M18.587,15.5' fill='#101010'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,1 0,1 0,0 ' fill='#CCCCCC'/>
+ <path d='M41.5,0.5' fill='#CCCCCC'/>
+ </g>
+ <g>
+ <polyline fill-rule='evenodd' stroke='#990000' points=' 68.273,18.844 74.291,24.348 86.001,12.637 ' clip-rule='evenodd' stroke-miterlimit='3.8637' stroke-width='4.8117' fill='none'/>
+ </g>
+ <g>
+ <g>
+ <path d='M33.077,7.037l0.334,2.034l-1.185,2.266c0,0-0.455-0.961-1.21-1.493c-0.636-0.448-1.051-0.546-1.699-0.412 c-0.833,0.172-1.777,1.167-2.189,2.395c-0.493,1.469-0.498,2.18-0.515,2.833c-0.028,1.047,0.137,1.665,0.137,1.665 s-0.719-1.33-0.712-3.279c0.005-1.39,0.223-2.652,0.867-3.896c0.566-1.094,1.407-1.751,2.154-1.828 c0.772-0.08,1.383,0.292,1.854,0.695c0.495,0.423,0.996,1.348,0.996,1.348L33.077,7.037z'/>
+ <path d='M33.222,18.547c0,0-0.523,0.935-0.85,1.296c-0.326,0.36-0.91,0.996-1.63,1.313c-0.721,0.317-1.099,0.378-1.811,0.309 c-0.712-0.068-1.373-0.48-1.605-0.652c-0.231-0.172-0.824-0.678-1.159-1.15s-0.858-1.417-0.858-1.417s0.292,0.946,0.474,1.348 c0.105,0.231,0.428,0.938,0.886,1.554c0.427,0.574,1.257,1.562,2.519,1.785s2.128-0.343,2.343-0.481 c0.214-0.137,0.667-0.516,0.953-0.822c0.299-0.319,0.582-0.727,0.738-0.972c0.114-0.179,0.301-0.541,0.301-0.541L33.222,18.547z'/>
+ </g>
+ <g>
+ <path d='M11.437,7.127l2.852,9.698l2.852-9.698h2.065l-4.721,15.934h-0.197l-2.95-9.875l-2.951,9.875H8.191 L3.47,7.127h2.065l2.853,9.698l1.928-6.531L9.372,7.127H11.437z' fill='#005A9C'/>
+ <path d='M25.072,17.946c0,1.443-0.384,2.656-1.151,3.639c-0.767,0.983-1.761,1.475-2.98,1.475 c-0.918,0-1.718-0.292-2.4-0.875c-0.682-0.583-1.187-1.374-1.515-2.37l1.613-0.668c0.236,0.603,0.548,1.079,0.935,1.426 c0.387,0.348,0.843,0.521,1.367,0.521c0.551,0,1.016-0.308,1.397-0.924c0.38-0.616,0.571-1.357,0.571-2.223 c0-0.958-0.203-1.699-0.61-2.223c-0.473-0.616-1.214-0.924-2.223-0.924h-0.787v-0.944l2.754-4.76h-3.325l-0.925,1.574h-0.59 V7.127h7.672v0.964l-2.911,5.016c1.023,0.328,1.797,0.925,2.321,1.791S25.072,16.779,25.072,17.946z' fill='#005A9C'/>
+ </g>
+ </g>
+ <g>
+ <path clip-rule='evenodd' d='M45.064,6.051v1.543c-0.4-0.179-0.791-0.314-1.172-0.405 c-0.381-0.091-0.741-0.136-1.079-0.137c-0.449,0-0.781,0.062-0.996,0.186c-0.215,0.124-0.322,0.316-0.322,0.576 c0,0.195,0.071,0.349,0.215,0.459c0.146,0.107,0.41,0.2,0.791,0.278l0.801,0.161c0.811,0.163,1.387,0.41,1.729,0.742 s0.513,0.804,0.513,1.416c0,0.804-0.239,1.403-0.718,1.797c-0.476,0.391-1.203,0.586-2.183,0.586 c-0.462,0-0.926-0.044-1.392-0.132c-0.466-0.088-0.931-0.218-1.396-0.391v-1.587c0.465,0.248,0.915,0.435,1.348,0.562 c0.436,0.124,0.856,0.186,1.26,0.186c0.41,0,0.724-0.068,0.942-0.205c0.218-0.137,0.327-0.332,0.327-0.586 c0-0.228-0.075-0.403-0.225-0.527c-0.146-0.124-0.441-0.234-0.884-0.332l-0.728-0.161c-0.729-0.156-1.263-0.405-1.602-0.747 c-0.335-0.342-0.503-0.802-0.503-1.382c0-0.726,0.234-1.284,0.703-1.675c0.469-0.391,1.143-0.586,2.021-0.586 c0.4,0,0.812,0.031,1.235,0.093C44.173,5.841,44.611,5.931,45.064,6.051z' fill-rule='evenodd'/>
+ <polygon points='46.423,5.822 48.313,5.822 50.247,11.203 52.176,5.822 54.065,5.822 51.365,13.112 49.124,13.112 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ <path clip-rule='evenodd' d='M61.685,12.57c-0.469,0.228-0.956,0.399-1.46,0.513 c-0.504,0.114-1.025,0.171-1.563,0.171c-1.214,0-2.176-0.338-2.886-1.016c-0.709-0.68-1.064-1.601-1.064-2.764 c0-1.175,0.361-2.099,1.084-2.773c0.723-0.674,1.712-1.011,2.969-1.011c0.485,0,0.949,0.046,1.392,0.137 c0.446,0.091,0.866,0.227,1.26,0.405v1.509C61.009,7.51,60.604,7.337,60.2,7.223c-0.4-0.114-0.802-0.17-1.206-0.171 c-0.749,0-1.327,0.21-1.733,0.63c-0.404,0.417-0.605,1.014-0.605,1.792c0,0.771,0.195,1.367,0.586,1.787s0.946,0.63,1.665,0.63 c0.195,0,0.376-0.011,0.542-0.034c0.169-0.026,0.321-0.065,0.454-0.117v-1.416h-1.147v-1.26h2.93V12.57z' fill-rule='evenodd'/>
+ </g>
+ <g>
+ <polygon points='40.028,22.997 41.688,22.997 41.688,18.285 39.984,18.636 39.984,17.357 41.679,17.005 43.466,17.005 43.466,22.997 45.126,22.997 45.126,24.295 40.028,24.295 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ <rect fill-rule='evenodd' height='1.89' width='1.758' clip-rule='evenodd' y='22.406' x='46.435'/>
+ <path clip-rule='evenodd' d='M54.213,20.643c0-0.912-0.086-1.553-0.259-1.924 c-0.169-0.375-0.456-0.562-0.859-0.562c-0.404,0-0.692,0.187-0.864,0.562c-0.173,0.371-0.259,1.012-0.259,1.924 c0,0.921,0.086,1.571,0.259,1.948c0.172,0.377,0.46,0.566,0.864,0.566c0.4,0,0.687-0.189,0.859-0.566 C54.127,22.214,54.213,21.564,54.213,20.643z M56.093,20.658c0,1.208-0.261,2.14-0.781,2.798c-0.521,0.654-1.26,0.981-2.217,0.981 c-0.96,0-1.701-0.327-2.222-0.981c-0.521-0.658-0.781-1.59-0.781-2.798c0-1.211,0.26-2.144,0.781-2.798 c0.521-0.658,1.261-0.986,2.222-0.986c0.957,0,1.696,0.329,2.217,0.986C55.833,18.514,56.093,19.447,56.093,20.658z' fill-rule='evenodd'/>
+ </g>
+ </g>
+ <g id='Calque_1'>
+ </g>
+ <g id='Layer_1'>
+ </g>
+ </g>
+</svg>
diff --git a/htdocs/images/valid_icons/valid-svg10.gif b/htdocs/images/valid_icons/valid-svg10.gif
new file mode 100644
index 0000000..868db74
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-svg10.gif
Binary files differ
diff --git a/htdocs/images/valid_icons/valid-svg10.png b/htdocs/images/valid_icons/valid-svg10.png
new file mode 100644
index 0000000..832a80c
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-svg10.png
Binary files differ
diff --git a/htdocs/images/valid_icons/valid-svg11-blue-v.svg b/htdocs/images/valid_icons/valid-svg11-blue-v.svg
new file mode 100644
index 0000000..27cdcc6
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-svg11-blue-v.svg
@@ -0,0 +1,370 @@
+<?xml version='1.0' encoding='iso-8859-1'?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns='http://www.w3.org/2000/svg' xml:space='preserve' version='1.1' overflow='visible' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 88 31'>
+ <g shape-rendering='geometricPrecision' text-rendering='geometricPrecision' image-rendering='optimizeQuality'>
+ <g shape-rendering='geometricPrecision' text-rendering='geometricPrecision' image-rendering='optimizeQuality'>
+ <g id='Background'>
+ </g>
+ <g id='Guides'>
+ </g>
+ <g id='Foreground'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#B3CEE1'/>
+ <path d='M41.5,15.5' fill='#B3CEE1'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#FFFFFF'/>
+ <path d='M18.587,15.5' fill='#FFFFFF'/>
+ </g>
+ <g>
+ <polygon points='4.692,2.291 44.697,2.291 44.697,26.897 4.692,26.897 4.692,2.291 ' fill='none'/>
+ <path d='M24.695,14.594' fill='none'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_328_'/>
+ </defs>
+ <use xlink:href='#XMLID_328_' fill='#504D4C'/>
+ <clipPath id='XMLID_354_'>
+ <use xlink:href='#XMLID_328_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_354_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#48494B'/>
+ <path d='M41.5,15.5' fill='#48494B'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#4F4F4F'/>
+ <path d='M18.587,15.5' fill='#4F4F4F'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='82,0 83,0 83,31 82,31 82,0 ' id='XMLID_330_'/>
+ </defs>
+ <use xlink:href='#XMLID_330_' fill='#504D4C'/>
+ <clipPath id='XMLID_355_'>
+ <use xlink:href='#XMLID_330_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_355_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#48494B'/>
+ <path d='M41.5,15.5' fill='#48494B'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_332_'/>
+ </defs>
+ <use xlink:href='#XMLID_332_' fill='#191919'/>
+ <clipPath id='XMLID_356_'>
+ <use xlink:href='#XMLID_332_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_356_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#181818'/>
+ <path d='M41.5,15.5' fill='#181818'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#191919'/>
+ <path d='M18.587,15.5' fill='#191919'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <polygon points='0,0 1,0 1,31 0,31 0,0 ' fill='#CCCCCC'/>
+ <path d='M0.5,15.5' fill='#CCCCCC'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='2.16,29.005 82.16,29.005 82.16,30.005 2.16,30.005 2.16,29.005 ' id='XMLID_334_'/>
+ </defs>
+ <use xlink:href='#XMLID_334_' fill='#9E9C9C'/>
+ <clipPath id='XMLID_357_'>
+ <use xlink:href='#XMLID_334_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_357_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#9097A0'/>
+ <path d='M41.5,15.5' fill='#9097A0'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#B5B5B5'/>
+ <path d='M18.587,15.5' fill='#B5B5B5'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_336_'/>
+ </defs>
+ <use xlink:href='#XMLID_336_' fill='#383838'/>
+ <clipPath id='XMLID_358_'>
+ <use xlink:href='#XMLID_336_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_358_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#343536'/>
+ <path d='M41.5,15.5' fill='#343536'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#383838'/>
+ <path d='M18.587,15.5' fill='#383838'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='82,0 83,0 83,31 82,31 82,0 ' id='XMLID_338_'/>
+ </defs>
+ <use xlink:href='#XMLID_338_' fill='#383838'/>
+ <clipPath id='XMLID_359_'>
+ <use xlink:href='#XMLID_338_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_359_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#343536'/>
+ <path d='M41.5,15.5' fill='#343536'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_340_'/>
+ </defs>
+ <use xlink:href='#XMLID_340_' fill='#131313'/>
+ <clipPath id='XMLID_360_'>
+ <use xlink:href='#XMLID_340_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_360_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#131313'/>
+ <path d='M41.5,15.5' fill='#131313'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#131313'/>
+ <path d='M18.587,15.5' fill='#131313'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='80.806,1 81.806,1 81.806,31 80.806,31 80.806,1 ' id='XMLID_342_'/>
+ </defs>
+ <use xlink:href='#XMLID_342_' fill='#9E9C9C'/>
+ <clipPath id='XMLID_361_'>
+ <use xlink:href='#XMLID_342_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_361_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#9097A0'/>
+ <path d='M41.5,15.5' fill='#9097A0'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_344_'/>
+ </defs>
+ <use xlink:href='#XMLID_344_' fill='#383838'/>
+ <clipPath id='XMLID_362_'>
+ <use xlink:href='#XMLID_344_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_362_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#343536'/>
+ <path d='M41.5,15.5' fill='#343536'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#383838'/>
+ <path d='M18.587,15.5' fill='#383838'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='2.16,29.005 82.16,29.005 82.16,30.005 2.16,30.005 2.16,29.005 ' id='XMLID_346_'/>
+ </defs>
+ <use xlink:href='#XMLID_346_' fill='#818181'/>
+ <clipPath id='XMLID_363_'>
+ <use xlink:href='#XMLID_346_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_363_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#6E7176'/>
+ <path d='M41.5,15.5' fill='#6E7176'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#818181'/>
+ <path d='M18.587,15.5' fill='#818181'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_348_'/>
+ </defs>
+ <use xlink:href='#XMLID_348_' fill='#272727'/>
+ <clipPath id='XMLID_364_'>
+ <use xlink:href='#XMLID_348_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_364_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#252626'/>
+ <path d='M41.5,15.5' fill='#252626'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#272727'/>
+ <path d='M18.587,15.5' fill='#272727'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='82,0 83,0 83,31 82,31 82,0 ' id='XMLID_350_'/>
+ </defs>
+ <use xlink:href='#XMLID_350_' fill='#272727'/>
+ <clipPath id='XMLID_365_'>
+ <use xlink:href='#XMLID_350_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_365_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#252626'/>
+ <path d='M41.5,15.5' fill='#252626'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_352_'/>
+ </defs>
+ <use xlink:href='#XMLID_352_' fill='#101010'/>
+ <clipPath id='XMLID_366_'>
+ <use xlink:href='#XMLID_352_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_366_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#101010'/>
+ <path d='M41.5,15.5' fill='#101010'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#101010'/>
+ <path d='M18.587,15.5' fill='#101010'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,1 0,1 0,0 ' fill='#CCCCCC'/>
+ <path d='M41.5,0.5' fill='#CCCCCC'/>
+ </g>
+ <g>
+ <polyline fill-rule='evenodd' stroke='#005A9C' points=' 68.273,18.844 74.291,24.348 86.001,12.637 ' clip-rule='evenodd' stroke-miterlimit='3.8637' stroke-width='4.8117' fill='none'/>
+ </g>
+ <g>
+ <g>
+ <path d='M33.077,7.037l0.334,2.034l-1.185,2.266c0,0-0.455-0.961-1.21-1.493c-0.636-0.448-1.051-0.546-1.699-0.412 c-0.833,0.172-1.777,1.167-2.189,2.395c-0.493,1.469-0.498,2.18-0.515,2.833c-0.027,1.047,0.137,1.665,0.137,1.665 s-0.719-1.33-0.712-3.279c0.005-1.391,0.223-2.652,0.867-3.896c0.566-1.094,1.408-1.751,2.154-1.828 c0.772-0.08,1.382,0.292,1.854,0.695c0.495,0.423,0.996,1.347,0.996,1.347L33.077,7.037z'/>
+ <path d='M33.222,18.547c0,0-0.523,0.936-0.85,1.296s-0.91,0.996-1.631,1.313c-0.721,0.317-1.099,0.377-1.811,0.309 c-0.712-0.069-1.374-0.48-1.605-0.652c-0.232-0.171-0.824-0.678-1.159-1.15c-0.335-0.472-0.858-1.417-0.858-1.417 s0.292,0.946,0.474,1.348c0.105,0.231,0.428,0.938,0.886,1.553c0.427,0.574,1.257,1.563,2.519,1.786s2.128-0.343,2.343-0.481 c0.214-0.137,0.667-0.516,0.953-0.822c0.299-0.319,0.582-0.727,0.738-0.972c0.114-0.179,0.301-0.541,0.301-0.541L33.222,18.547z'/>
+ </g>
+ <g>
+ <path d='M11.437,7.127l2.852,9.698l2.852-9.698h2.065l-4.721,15.934h-0.197l-2.951-9.875l-2.951,9.875H8.191 L3.47,7.127h2.065l2.852,9.698l1.928-6.531L9.372,7.127H11.437z' fill='#005A9C'/>
+ <path d='M25.072,17.946c0,1.443-0.384,2.656-1.151,3.64c-0.767,0.983-1.76,1.475-2.98,1.475 c-0.918,0-1.718-0.292-2.4-0.875c-0.682-0.583-1.187-1.374-1.515-2.37l1.613-0.669c0.236,0.604,0.548,1.079,0.935,1.426 c0.387,0.348,0.843,0.521,1.367,0.521c0.551,0,1.016-0.308,1.397-0.924c0.38-0.616,0.571-1.357,0.571-2.223 c0-0.957-0.204-1.698-0.61-2.223c-0.472-0.616-1.214-0.924-2.223-0.924h-0.787v-0.944l2.754-4.76h-3.325l-0.925,1.573h-0.59 V7.127h7.672v0.964l-2.912,5.016c1.023,0.328,1.797,0.925,2.321,1.791C24.809,15.763,25.072,16.779,25.072,17.946z' fill='#005A9C'/>
+ </g>
+ </g>
+ <g>
+ <path clip-rule='evenodd' d='M45.064,6.051v1.543c-0.4-0.179-0.791-0.314-1.172-0.405 c-0.381-0.091-0.741-0.136-1.079-0.137c-0.449,0-0.781,0.062-0.996,0.186c-0.215,0.124-0.322,0.316-0.322,0.576 c0,0.195,0.071,0.349,0.215,0.459c0.146,0.107,0.41,0.2,0.791,0.278l0.801,0.161c0.811,0.163,1.387,0.41,1.729,0.742 s0.513,0.804,0.513,1.416c0,0.804-0.239,1.403-0.718,1.797c-0.476,0.391-1.203,0.586-2.183,0.586 c-0.462,0-0.926-0.044-1.392-0.132c-0.466-0.088-0.931-0.218-1.396-0.391v-1.587c0.465,0.248,0.915,0.435,1.348,0.562 c0.436,0.124,0.856,0.186,1.26,0.186c0.41,0,0.724-0.068,0.942-0.205c0.218-0.137,0.327-0.332,0.327-0.586 c0-0.228-0.075-0.403-0.225-0.527c-0.146-0.124-0.441-0.234-0.884-0.332l-0.728-0.161c-0.729-0.156-1.263-0.405-1.602-0.747 c-0.335-0.342-0.503-0.802-0.503-1.382c0-0.726,0.234-1.284,0.703-1.675c0.469-0.391,1.143-0.586,2.021-0.586 c0.4,0,0.812,0.031,1.235,0.093C44.173,5.841,44.611,5.931,45.064,6.051z' fill-rule='evenodd'/>
+ <polygon points='46.423,5.822 48.313,5.822 50.247,11.203 52.175,5.822 54.065,5.822 51.365,13.112 49.124,13.112 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ <path clip-rule='evenodd' d='M61.685,12.57c-0.469,0.228-0.956,0.399-1.46,0.513s-1.025,0.171-1.563,0.171 c-1.214,0-2.176-0.338-2.886-1.016c-0.709-0.68-1.064-1.601-1.064-2.764c0-1.175,0.361-2.099,1.084-2.773 c0.723-0.674,1.712-1.011,2.969-1.011c0.485,0,0.949,0.046,1.392,0.137c0.446,0.091,0.866,0.227,1.26,0.405v1.509 C61.009,7.51,60.604,7.337,60.2,7.223c-0.4-0.114-0.802-0.17-1.206-0.171c-0.749,0-1.327,0.21-1.733,0.63 c-0.404,0.417-0.605,1.014-0.605,1.792c0,0.771,0.195,1.367,0.586,1.787s0.946,0.63,1.665,0.63c0.195,0,0.376-0.011,0.542-0.034 c0.169-0.026,0.321-0.065,0.454-0.117v-1.416h-1.147v-1.26h2.93V12.57z' fill-rule='evenodd'/>
+ </g>
+ <g>
+ <polygon points='40.028,22.997 41.688,22.997 41.688,18.284 39.984,18.636 39.984,17.357 41.679,17.005 43.466,17.005 43.466,22.997 45.126,22.997 45.126,24.295 40.028,24.295 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ <rect fill-rule='evenodd' height='1.89' width='1.758' clip-rule='evenodd' y='22.405' x='46.435'/>
+ <polygon points='50.785,22.997 52.446,22.997 52.446,18.284 50.742,18.636 50.742,17.357 52.436,17.005 54.223,17.005 54.223,22.997 55.883,22.997 55.883,24.295 50.785,24.295 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ </g>
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/htdocs/images/valid_icons/valid-svg11-blue.gif b/htdocs/images/valid_icons/valid-svg11-blue.gif
new file mode 100644
index 0000000..327fb73
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-svg11-blue.gif
Binary files differ
diff --git a/htdocs/images/valid_icons/valid-svg11-blue.png b/htdocs/images/valid_icons/valid-svg11-blue.png
new file mode 100644
index 0000000..fb59dec
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-svg11-blue.png
Binary files differ
diff --git a/htdocs/images/valid_icons/valid-svg11-v.svg b/htdocs/images/valid_icons/valid-svg11-v.svg
new file mode 100644
index 0000000..a7edab9
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-svg11-v.svg
@@ -0,0 +1,372 @@
+<?xml version='1.0' encoding='iso-8859-1'?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns='http://www.w3.org/2000/svg' xml:space='preserve' version='1.1' overflow='visible' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 88 31'>
+ <g shape-rendering='geometricPrecision' text-rendering='geometricPrecision' image-rendering='optimizeQuality'>
+ <g id='Background'>
+ </g>
+ <g id='Guides'>
+ </g>
+ <g id='Foreground'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#FFCC66'/>
+ <path d='M41.5,15.5' fill='#FFCC66'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#FFFFFF'/>
+ <path d='M18.587,15.5' fill='#FFFFFF'/>
+ </g>
+ <g>
+ <polygon points='4.692,2.291 44.697,2.291 44.697,26.898 4.692,26.898 4.692,2.291 ' fill='none'/>
+ <path d='M24.695,14.594' fill='none'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_973_'/>
+ </defs>
+ <use xlink:href='#XMLID_973_' fill='#504D4C'/>
+ <clipPath id='XMLID_999_'>
+ <use xlink:href='#XMLID_973_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_999_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#4E4B3F'/>
+ <path d='M41.5,15.5' fill='#4E4B3F'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#4F4F4F'/>
+ <path d='M18.587,15.5' fill='#4F4F4F'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='82,0 83,0 83,31 82,31 82,0 ' id='XMLID_975_'/>
+ </defs>
+ <use xlink:href='#XMLID_975_' fill='#504D4C'/>
+ <clipPath id='XMLID_1000_'>
+ <use xlink:href='#XMLID_975_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1000_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#4E4B3F'/>
+ <path d='M41.5,15.5' fill='#4E4B3F'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_977_'/>
+ </defs>
+ <use xlink:href='#XMLID_977_' fill='#191919'/>
+ <clipPath id='XMLID_1001_'>
+ <use xlink:href='#XMLID_977_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1001_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#191917'/>
+ <path d='M41.5,15.5' fill='#191917'/>
+ </g>
+ <g>
+ <polygon points='0.366,0 36.809,0 36.809,31 0.366,31 0.366,0 ' fill='#191919'/>
+ <path d='M18.587,15.5' fill='#191919'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <polygon points='0,0 1,0 1,31 0,31 0,0 ' fill='#CCCCCC'/>
+ <path d='M0.5,15.5' fill='#CCCCCC'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='2.16,29.005 82.16,29.005 82.16,30.005 2.16,30.005 2.16,29.005 ' id='XMLID_979_'/>
+ </defs>
+ <use xlink:href='#XMLID_979_' fill='#9E9C9C'/>
+ <clipPath id='XMLID_1002_'>
+ <use xlink:href='#XMLID_979_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1002_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#B39F67'/>
+ <path d='M41.5,15.5' fill='#B39F67'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#B5B5B5'/>
+ <path d='M18.587,15.5' fill='#B5B5B5'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_981_'/>
+ </defs>
+ <use xlink:href='#XMLID_981_' fill='#383838'/>
+ <clipPath id='XMLID_1003_'>
+ <use xlink:href='#XMLID_981_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1003_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#383530'/>
+ <path d='M41.5,15.5' fill='#383530'/>
+ </g>
+ <g>
+ <polygon points='0.366,0 36.809,0 36.809,31 0.366,31 0.366,0 ' fill='#383838'/>
+ <path d='M18.587,15.5' fill='#383838'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='82,0 83,0 83,31 82,31 82,0 ' id='XMLID_983_'/>
+ </defs>
+ <use xlink:href='#XMLID_983_' fill='#383838'/>
+ <clipPath id='XMLID_1004_'>
+ <use xlink:href='#XMLID_983_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1004_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#383530'/>
+ <path d='M41.5,15.5' fill='#383530'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_985_'/>
+ </defs>
+ <use xlink:href='#XMLID_985_' fill='#131313'/>
+ <clipPath id='XMLID_1005_'>
+ <use xlink:href='#XMLID_985_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1005_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#131313'/>
+ <path d='M41.5,15.5' fill='#131313'/>
+ </g>
+ <g>
+ <polygon points='0.366,0 36.809,0 36.809,31 0.366,31 0.366,0 ' fill='#131313'/>
+ <path d='M18.587,15.5' fill='#131313'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='80.806,1 81.806,1 81.806,31 80.806,31 80.806,1 ' id='XMLID_987_'/>
+ </defs>
+ <use xlink:href='#XMLID_987_' fill='#9E9C9C'/>
+ <clipPath id='XMLID_1006_'>
+ <use xlink:href='#XMLID_987_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1006_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#B39F67'/>
+ <path d='M41.5,15.5' fill='#B39F67'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_989_'/>
+ </defs>
+ <use xlink:href='#XMLID_989_' fill='#383838'/>
+ <clipPath id='XMLID_1007_'>
+ <use xlink:href='#XMLID_989_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1007_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#383530'/>
+ <path d='M41.5,15.5' fill='#383530'/>
+ </g>
+ <g>
+ <polygon points='0.366,0 36.809,0 36.809,31 0.366,31 0.366,0 ' fill='#383838'/>
+ <path d='M18.587,15.5' fill='#383838'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='2.16,29.005 82.16,29.005 82.16,30.005 2.16,30.005 2.16,29.005 ' id='XMLID_991_'/>
+ </defs>
+ <use xlink:href='#XMLID_991_' fill='#818181'/>
+ <clipPath id='XMLID_1008_'>
+ <use xlink:href='#XMLID_991_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1008_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#807659'/>
+ <path d='M41.5,15.5' fill='#807659'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#818181'/>
+ <path d='M18.587,15.5' fill='#818181'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_993_'/>
+ </defs>
+ <use xlink:href='#XMLID_993_' fill='#272727'/>
+ <clipPath id='XMLID_1009_'>
+ <use xlink:href='#XMLID_993_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1009_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#272623'/>
+ <path d='M41.5,15.5' fill='#272623'/>
+ </g>
+ <g>
+ <polygon points='0.366,0 36.809,0 36.809,31 0.366,31 0.366,0 ' fill='#272727'/>
+ <path d='M18.587,15.5' fill='#272727'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='82,0 83,0 83,31 82,31 82,0 ' id='XMLID_995_'/>
+ </defs>
+ <use xlink:href='#XMLID_995_' fill='#272727'/>
+ <clipPath id='XMLID_1010_'>
+ <use xlink:href='#XMLID_995_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1010_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#272623'/>
+ <path d='M41.5,15.5' fill='#272623'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_997_'/>
+ </defs>
+ <use xlink:href='#XMLID_997_' fill='#101010'/>
+ <clipPath id='XMLID_1011_'>
+ <use xlink:href='#XMLID_997_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_1011_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#101010'/>
+ <path d='M41.5,15.5' fill='#101010'/>
+ </g>
+ <g>
+ <polygon points='0.366,0 36.809,0 36.809,31 0.366,31 0.366,0 ' fill='#101010'/>
+ <path d='M18.587,15.5' fill='#101010'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,1 0,1 0,0 ' fill='#CCCCCC'/>
+ <path d='M41.5,0.5' fill='#CCCCCC'/>
+ </g>
+ <g>
+ <polyline fill-rule='evenodd' stroke='#990000' points=' 68.273,18.845 74.291,24.348 86.001,12.637 ' clip-rule='evenodd' stroke-miterlimit='3.8637' stroke-width='4.8117' fill='none'/>
+ </g>
+ <g>
+ <g>
+ <path d='M33.077,7.038l0.334,2.034l-1.185,2.266c0,0-0.455-0.961-1.21-1.494c-0.636-0.448-1.051-0.545-1.699-0.412 c-0.833,0.171-1.777,1.167-2.189,2.395c-0.493,1.469-0.498,2.179-0.515,2.832c-0.028,1.047,0.137,1.666,0.137,1.666 s-0.719-1.331-0.712-3.279c0.005-1.391,0.223-2.652,0.867-3.896c0.566-1.095,1.407-1.751,2.154-1.828 c0.772-0.08,1.383,0.292,1.854,0.695c0.495,0.422,0.996,1.347,0.996,1.347L33.077,7.038z'/>
+ <path d='M33.222,18.547c0,0-0.523,0.936-0.85,1.296c-0.326,0.361-0.91,0.996-1.63,1.313c-0.721,0.317-1.099,0.377-1.811,0.309 c-0.712-0.068-1.373-0.48-1.605-0.652c-0.231-0.172-0.824-0.678-1.159-1.15c-0.335-0.472-0.858-1.416-0.858-1.416 s0.292,0.946,0.474,1.348c0.105,0.231,0.428,0.938,0.886,1.553c0.427,0.574,1.257,1.562,2.519,1.786 c1.262,0.223,2.128-0.344,2.343-0.481c0.214-0.137,0.667-0.516,0.953-0.822c0.299-0.32,0.582-0.728,0.738-0.972 c0.114-0.178,0.301-0.541,0.301-0.541L33.222,18.547z'/>
+ </g>
+ <g>
+ <path d='M11.437,7.127l2.852,9.698l2.852-9.698h2.065l-4.721,15.933h-0.197l-2.95-9.875l-2.951,9.875H8.191 L3.47,7.127h2.065l2.853,9.698l1.928-6.531L9.372,7.127H11.437z' fill='#005A9C'/>
+ <path d='M25.072,17.946c0,1.443-0.384,2.656-1.151,3.64c-0.767,0.983-1.761,1.475-2.98,1.475 c-0.918,0-1.718-0.292-2.4-0.875c-0.682-0.583-1.187-1.374-1.515-2.371l1.613-0.668c0.236,0.604,0.548,1.079,0.935,1.426 c0.387,0.348,0.843,0.521,1.367,0.521c0.551,0,1.016-0.308,1.397-0.924s0.571-1.357,0.571-2.223c0-0.958-0.203-1.698-0.61-2.223 c-0.473-0.616-1.214-0.925-2.223-0.925h-0.787v-0.944l2.754-4.761h-3.325l-0.925,1.574h-0.59V7.127h7.672v0.964l-2.911,5.016 c1.023,0.328,1.797,0.925,2.321,1.79C24.809,15.763,25.072,16.779,25.072,17.946z' fill='#005A9C'/>
+ </g>
+ </g>
+ <g>
+ <path clip-rule='evenodd' d='M45.064,6.052v1.543c-0.4-0.179-0.791-0.314-1.172-0.405 c-0.381-0.091-0.741-0.137-1.079-0.137c-0.449,0-0.781,0.062-0.996,0.186s-0.322,0.316-0.322,0.576 c0,0.195,0.071,0.348,0.215,0.459c0.146,0.107,0.41,0.2,0.791,0.278l0.801,0.161c0.811,0.163,1.387,0.41,1.729,0.742 s0.513,0.804,0.513,1.416c0,0.804-0.239,1.403-0.718,1.797c-0.476,0.391-1.203,0.586-2.183,0.586 c-0.462,0-0.926-0.044-1.392-0.132c-0.466-0.088-0.931-0.218-1.396-0.391v-1.587c0.465,0.248,0.915,0.435,1.348,0.562 c0.436,0.124,0.856,0.186,1.26,0.186c0.41,0,0.724-0.068,0.942-0.205c0.218-0.137,0.327-0.332,0.327-0.586 c0-0.228-0.075-0.404-0.225-0.527c-0.146-0.124-0.441-0.234-0.884-0.332l-0.728-0.161c-0.729-0.156-1.263-0.405-1.602-0.747 c-0.335-0.342-0.503-0.802-0.503-1.382c0-0.726,0.234-1.284,0.703-1.675s1.143-0.586,2.021-0.586c0.4,0,0.812,0.031,1.235,0.093 C44.173,5.842,44.611,5.931,45.064,6.052z' fill-rule='evenodd'/>
+ <polygon points='46.423,5.822 48.313,5.822 50.247,11.203 52.176,5.822 54.065,5.822 51.365,13.112 49.124,13.112 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ <path clip-rule='evenodd' d='M61.685,12.57c-0.469,0.228-0.956,0.399-1.46,0.513s-1.025,0.171-1.563,0.171 c-1.214,0-2.176-0.338-2.886-1.016c-0.709-0.68-1.064-1.602-1.064-2.764c0-1.175,0.361-2.1,1.084-2.773s1.712-1.011,2.969-1.011 c0.485,0,0.949,0.046,1.392,0.137c0.446,0.091,0.866,0.227,1.26,0.405v1.509C61.009,7.51,60.604,7.337,60.2,7.224 c-0.4-0.114-0.802-0.171-1.206-0.171c-0.749,0-1.327,0.21-1.733,0.63c-0.404,0.417-0.605,1.014-0.605,1.792 c0,0.771,0.195,1.367,0.586,1.787s0.946,0.63,1.665,0.63c0.195,0,0.376-0.011,0.542-0.034c0.169-0.026,0.321-0.065,0.454-0.117 v-1.416h-1.147v-1.26h2.93V12.57z' fill-rule='evenodd'/>
+ </g>
+ <g>
+ <polygon points='40.028,22.997 41.688,22.997 41.688,18.285 39.984,18.636 39.984,17.357 41.679,17.005 43.466,17.005 43.466,22.997 45.126,22.997 45.126,24.295 40.028,24.295 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ <rect fill-rule='evenodd' height='1.89' width='1.758' clip-rule='evenodd' y='22.406' x='46.435'/>
+ <polygon points='50.786,22.997 52.446,22.997 52.446,18.285 50.742,18.636 50.742,17.357 52.436,17.005 54.223,17.005 54.223,22.997 55.883,22.997 55.883,24.295 50.786,24.295 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ </g>
+ </g>
+ <g id='Calque_1'>
+ </g>
+ <g id='Layer_1'>
+ </g>
+ </g>
+</svg>
diff --git a/htdocs/images/valid_icons/valid-svg11.gif b/htdocs/images/valid_icons/valid-svg11.gif
new file mode 100644
index 0000000..f08abe7
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-svg11.gif
Binary files differ
diff --git a/htdocs/images/valid_icons/valid-svg11.png b/htdocs/images/valid_icons/valid-svg11.png
new file mode 100644
index 0000000..d0a3332
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-svg11.png
Binary files differ
diff --git a/htdocs/images/valid_icons/valid-svg12-blue-v.svg b/htdocs/images/valid_icons/valid-svg12-blue-v.svg
new file mode 100644
index 0000000..d456ffb
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-svg12-blue-v.svg
@@ -0,0 +1,370 @@
+<?xml version='1.0' encoding='iso-8859-1'?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns='http://www.w3.org/2000/svg' xml:space='preserve' version='1.1' overflow='visible' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 88 31'>
+ <g shape-rendering='geometricPrecision' text-rendering='geometricPrecision' image-rendering='optimizeQuality'>
+ <g shape-rendering='geometricPrecision' text-rendering='geometricPrecision' image-rendering='optimizeQuality'>
+ <g id='Background'>
+ </g>
+ <g id='Guides'>
+ </g>
+ <g id='Foreground'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#B3CEE1'/>
+ <path d='M41.5,15.5' fill='#B3CEE1'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#FFFFFF'/>
+ <path d='M18.587,15.5' fill='#FFFFFF'/>
+ </g>
+ <g>
+ <polygon points='4.692,2.291 44.697,2.291 44.697,26.898 4.692,26.898 4.692,2.291 ' fill='none'/>
+ <path d='M24.695,14.594' fill='none'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_289_'/>
+ </defs>
+ <use xlink:href='#XMLID_289_' fill='#504D4C'/>
+ <clipPath id='XMLID_315_'>
+ <use xlink:href='#XMLID_289_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_315_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#48494B'/>
+ <path d='M41.5,15.5' fill='#48494B'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#4F4F4F'/>
+ <path d='M18.587,15.5' fill='#4F4F4F'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='82,0 83,0 83,31 82,31 82,0 ' id='XMLID_291_'/>
+ </defs>
+ <use xlink:href='#XMLID_291_' fill='#504D4C'/>
+ <clipPath id='XMLID_316_'>
+ <use xlink:href='#XMLID_291_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_316_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#48494B'/>
+ <path d='M41.5,15.5' fill='#48494B'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_293_'/>
+ </defs>
+ <use xlink:href='#XMLID_293_' fill='#191919'/>
+ <clipPath id='XMLID_317_'>
+ <use xlink:href='#XMLID_293_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_317_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#181818'/>
+ <path d='M41.5,15.5' fill='#181818'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#191919'/>
+ <path d='M18.587,15.5' fill='#191919'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <polygon points='0,0 1,0 1,31 0,31 0,0 ' fill='#CCCCCC'/>
+ <path d='M0.5,15.5' fill='#CCCCCC'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='2.16,29.005 82.16,29.005 82.16,30.005 2.16,30.005 2.16,29.005 ' id='XMLID_295_'/>
+ </defs>
+ <use xlink:href='#XMLID_295_' fill='#9E9C9C'/>
+ <clipPath id='XMLID_318_'>
+ <use xlink:href='#XMLID_295_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_318_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#9097A0'/>
+ <path d='M41.5,15.5' fill='#9097A0'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#B5B5B5'/>
+ <path d='M18.587,15.5' fill='#B5B5B5'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_297_'/>
+ </defs>
+ <use xlink:href='#XMLID_297_' fill='#383838'/>
+ <clipPath id='XMLID_319_'>
+ <use xlink:href='#XMLID_297_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_319_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#343536'/>
+ <path d='M41.5,15.5' fill='#343536'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#383838'/>
+ <path d='M18.587,15.5' fill='#383838'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='82,0 83,0 83,31 82,31 82,0 ' id='XMLID_299_'/>
+ </defs>
+ <use xlink:href='#XMLID_299_' fill='#383838'/>
+ <clipPath id='XMLID_320_'>
+ <use xlink:href='#XMLID_299_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_320_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#343536'/>
+ <path d='M41.5,15.5' fill='#343536'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_301_'/>
+ </defs>
+ <use xlink:href='#XMLID_301_' fill='#131313'/>
+ <clipPath id='XMLID_321_'>
+ <use xlink:href='#XMLID_301_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_321_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#131313'/>
+ <path d='M41.5,15.5' fill='#131313'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#131313'/>
+ <path d='M18.587,15.5' fill='#131313'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='80.806,1 81.806,1 81.806,31 80.806,31 80.806,1 ' id='XMLID_303_'/>
+ </defs>
+ <use xlink:href='#XMLID_303_' fill='#9E9C9C'/>
+ <clipPath id='XMLID_322_'>
+ <use xlink:href='#XMLID_303_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_322_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#9097A0'/>
+ <path d='M41.5,15.5' fill='#9097A0'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_305_'/>
+ </defs>
+ <use xlink:href='#XMLID_305_' fill='#383838'/>
+ <clipPath id='XMLID_323_'>
+ <use xlink:href='#XMLID_305_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_323_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#343536'/>
+ <path d='M41.5,15.5' fill='#343536'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#383838'/>
+ <path d='M18.587,15.5' fill='#383838'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='2.16,29.005 82.16,29.005 82.16,30.005 2.16,30.005 2.16,29.005 ' id='XMLID_307_'/>
+ </defs>
+ <use xlink:href='#XMLID_307_' fill='#818181'/>
+ <clipPath id='XMLID_324_'>
+ <use xlink:href='#XMLID_307_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_324_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#6E7176'/>
+ <path d='M41.5,15.5' fill='#6E7176'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#818181'/>
+ <path d='M18.587,15.5' fill='#818181'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_309_'/>
+ </defs>
+ <use xlink:href='#XMLID_309_' fill='#272727'/>
+ <clipPath id='XMLID_325_'>
+ <use xlink:href='#XMLID_309_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_325_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#252626'/>
+ <path d='M41.5,15.5' fill='#252626'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#272727'/>
+ <path d='M18.587,15.5' fill='#272727'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='82,0 83,0 83,31 82,31 82,0 ' id='XMLID_311_'/>
+ </defs>
+ <use xlink:href='#XMLID_311_' fill='#272727'/>
+ <clipPath id='XMLID_326_'>
+ <use xlink:href='#XMLID_311_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_326_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#252626'/>
+ <path d='M41.5,15.5' fill='#252626'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_313_'/>
+ </defs>
+ <use xlink:href='#XMLID_313_' fill='#101010'/>
+ <clipPath id='XMLID_327_'>
+ <use xlink:href='#XMLID_313_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_327_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#101010'/>
+ <path d='M41.5,15.5' fill='#101010'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#101010'/>
+ <path d='M18.587,15.5' fill='#101010'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,1 0,1 0,0 ' fill='#CCCCCC'/>
+ <path d='M41.5,0.5' fill='#CCCCCC'/>
+ </g>
+ <g>
+ <polyline fill-rule='evenodd' stroke='#005A9C' points=' 68.273,18.845 74.291,24.348 86.001,12.637 ' clip-rule='evenodd' stroke-miterlimit='3.8637' stroke-width='4.8117' fill='none'/>
+ </g>
+ <g>
+ <g>
+ <path d='M33.077,7.038l0.334,2.034l-1.185,2.266c0,0-0.455-0.961-1.21-1.494c-0.636-0.448-1.051-0.545-1.699-0.412 c-0.833,0.171-1.777,1.167-2.189,2.395c-0.493,1.469-0.498,2.179-0.515,2.832c-0.027,1.047,0.137,1.665,0.137,1.665 s-0.719-1.33-0.712-3.278c0.005-1.391,0.223-2.652,0.867-3.896c0.566-1.095,1.408-1.751,2.154-1.828 c0.772-0.08,1.382,0.292,1.854,0.695c0.495,0.423,0.996,1.348,0.996,1.348L33.077,7.038z'/>
+ <path d='M33.222,18.547c0,0-0.523,0.936-0.85,1.296c-0.326,0.361-0.91,0.996-1.631,1.313c-0.721,0.317-1.099,0.377-1.811,0.309 c-0.712-0.068-1.374-0.48-1.605-0.652c-0.232-0.172-0.824-0.678-1.159-1.15s-0.858-1.416-0.858-1.416s0.292,0.946,0.474,1.348 c0.105,0.231,0.428,0.938,0.886,1.553c0.427,0.574,1.257,1.562,2.519,1.785s2.128-0.343,2.343-0.48 c0.214-0.137,0.667-0.516,0.953-0.822c0.299-0.32,0.582-0.728,0.738-0.972c0.114-0.178,0.301-0.541,0.301-0.541L33.222,18.547z'/>
+ </g>
+ <g>
+ <path d='M11.437,7.127l2.852,9.698l2.852-9.698h2.065l-4.721,15.933h-0.197l-2.951-9.875l-2.951,9.875H8.191 L3.47,7.127h2.065l2.852,9.698l1.928-6.531L9.372,7.127H11.437z' fill='#005A9C'/>
+ <path d='M25.072,17.946c0,1.443-0.384,2.656-1.151,3.64c-0.767,0.983-1.76,1.475-2.98,1.475 c-0.918,0-1.718-0.292-2.4-0.875c-0.682-0.583-1.187-1.374-1.515-2.371l1.613-0.668c0.236,0.604,0.548,1.079,0.935,1.426 c0.387,0.347,0.843,0.521,1.367,0.521c0.551,0,1.016-0.308,1.397-0.924s0.571-1.357,0.571-2.223c0-0.958-0.204-1.698-0.61-2.223 c-0.472-0.616-1.214-0.925-2.223-0.925h-0.787v-0.944l2.754-4.761h-3.325l-0.925,1.574h-0.59V7.127h7.672v0.964l-2.912,5.016 c1.023,0.328,1.797,0.925,2.321,1.79C24.809,15.763,25.072,16.779,25.072,17.946z' fill='#005A9C'/>
+ </g>
+ </g>
+ <g>
+ <path clip-rule='evenodd' d='M45.064,6.052v1.543c-0.4-0.179-0.791-0.314-1.172-0.405 s-0.741-0.137-1.079-0.137c-0.449,0-0.781,0.062-0.996,0.186s-0.322,0.316-0.322,0.576c0,0.195,0.071,0.348,0.215,0.459 c0.146,0.107,0.41,0.2,0.791,0.278l0.801,0.161c0.811,0.163,1.387,0.41,1.729,0.742s0.513,0.804,0.513,1.416 c0,0.804-0.239,1.403-0.718,1.797c-0.476,0.391-1.203,0.586-2.183,0.586c-0.462,0-0.926-0.044-1.392-0.132 c-0.466-0.088-0.931-0.218-1.396-0.391v-1.587c0.465,0.248,0.915,0.435,1.348,0.562c0.436,0.124,0.856,0.186,1.26,0.186 c0.41,0,0.724-0.068,0.942-0.205c0.218-0.137,0.327-0.332,0.327-0.586c0-0.228-0.075-0.404-0.225-0.527 c-0.146-0.124-0.441-0.234-0.884-0.332l-0.728-0.161c-0.729-0.156-1.263-0.405-1.602-0.747c-0.335-0.342-0.503-0.802-0.503-1.382 c0-0.726,0.234-1.284,0.703-1.675s1.143-0.586,2.021-0.586c0.4,0,0.812,0.031,1.235,0.093C44.173,5.842,44.611,5.931,45.064,6.052 z' fill-rule='evenodd'/>
+ <polygon points='46.423,5.822 48.313,5.822 50.247,11.203 52.175,5.822 54.065,5.822 51.365,13.112 49.124,13.112 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ <path clip-rule='evenodd' d='M61.685,12.57c-0.469,0.228-0.956,0.399-1.46,0.513s-1.025,0.171-1.563,0.171 c-1.214,0-2.176-0.338-2.886-1.016c-0.709-0.68-1.064-1.602-1.064-2.764c0-1.175,0.361-2.1,1.084-2.773s1.712-1.011,2.969-1.011 c0.485,0,0.949,0.045,1.392,0.137c0.446,0.091,0.866,0.226,1.26,0.405v1.509C61.009,7.51,60.604,7.337,60.2,7.224 c-0.4-0.114-0.802-0.171-1.206-0.171c-0.749,0-1.327,0.21-1.733,0.63c-0.404,0.417-0.605,1.014-0.605,1.792 c0,0.771,0.195,1.367,0.586,1.787s0.946,0.63,1.665,0.63c0.195,0,0.376-0.011,0.542-0.034c0.169-0.026,0.321-0.065,0.454-0.117 v-1.416h-1.147v-1.26h2.93V12.57z' fill-rule='evenodd'/>
+ </g>
+ <g>
+ <polygon points='40.028,22.997 41.688,22.997 41.688,18.285 39.984,18.636 39.984,17.357 41.679,17.005 43.466,17.005 43.466,22.997 45.126,22.997 45.126,24.295 40.028,24.295 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ <rect fill-rule='evenodd' height='1.89' width='1.758' clip-rule='evenodd' y='22.406' x='46.435'/>
+ <path clip-rule='evenodd' d='M52.494,22.914h3.208v1.382h-5.297v-1.382l2.661-2.349 c0.237-0.215,0.413-0.425,0.527-0.63c0.114-0.205,0.17-0.418,0.171-0.64c0-0.342-0.116-0.617-0.347-0.825 c-0.228-0.208-0.532-0.313-0.913-0.313c-0.293,0-0.614,0.063-0.962,0.19c-0.349,0.124-0.721,0.31-1.118,0.557v-1.602 c0.423-0.14,0.841-0.246,1.255-0.317c0.413-0.075,0.818-0.112,1.215-0.112c0.873,0,1.55,0.192,2.032,0.576 c0.485,0.384,0.727,0.92,0.728,1.606c0,0.397-0.103,0.769-0.308,1.113c-0.205,0.342-0.637,0.801-1.294,1.377L52.494,22.914z' fill-rule='evenodd'/>
+ </g>
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/htdocs/images/valid_icons/valid-svg12-blue.gif b/htdocs/images/valid_icons/valid-svg12-blue.gif
new file mode 100644
index 0000000..ada4fc3
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-svg12-blue.gif
Binary files differ
diff --git a/htdocs/images/valid_icons/valid-svg12-blue.png b/htdocs/images/valid_icons/valid-svg12-blue.png
new file mode 100644
index 0000000..6ff8d00
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-svg12-blue.png
Binary files differ
diff --git a/htdocs/images/valid_icons/valid-svg12-v.svg b/htdocs/images/valid_icons/valid-svg12-v.svg
new file mode 100644
index 0000000..52ddd7d
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-svg12-v.svg
@@ -0,0 +1,372 @@
+<?xml version='1.0' encoding='iso-8859-1'?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns='http://www.w3.org/2000/svg' xml:space='preserve' version='1.1' overflow='visible' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 88 31'>
+ <g shape-rendering='geometricPrecision' text-rendering='geometricPrecision' image-rendering='optimizeQuality'>
+ <g id='Background'>
+ </g>
+ <g id='Guides'>
+ </g>
+ <g id='Foreground'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#FFCC66'/>
+ <path d='M41.5,15.5' fill='#FFCC66'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#FFFFFF'/>
+ <path d='M18.587,15.5' fill='#FFFFFF'/>
+ </g>
+ <g>
+ <polygon points='4.692,2.291 44.697,2.291 44.697,26.898 4.692,26.898 4.692,2.291 ' fill='none'/>
+ <path d='M24.695,14.594' fill='none'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_934_'/>
+ </defs>
+ <use xlink:href='#XMLID_934_' fill='#504D4C'/>
+ <clipPath id='XMLID_960_'>
+ <use xlink:href='#XMLID_934_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_960_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#4E4B3F'/>
+ <path d='M41.5,15.5' fill='#4E4B3F'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#4F4F4F'/>
+ <path d='M18.587,15.5' fill='#4F4F4F'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='82,0 83,0 83,31 82,31 82,0 ' id='XMLID_936_'/>
+ </defs>
+ <use xlink:href='#XMLID_936_' fill='#504D4C'/>
+ <clipPath id='XMLID_961_'>
+ <use xlink:href='#XMLID_936_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_961_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#4E4B3F'/>
+ <path d='M41.5,15.5' fill='#4E4B3F'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_938_'/>
+ </defs>
+ <use xlink:href='#XMLID_938_' fill='#191919'/>
+ <clipPath id='XMLID_962_'>
+ <use xlink:href='#XMLID_938_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_962_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#191917'/>
+ <path d='M41.5,15.5' fill='#191917'/>
+ </g>
+ <g>
+ <polygon points='0.366,0 36.809,0 36.809,31 0.366,31 0.366,0 ' fill='#191919'/>
+ <path d='M18.587,15.5' fill='#191919'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <polygon points='0,0 1,0 1,31 0,31 0,0 ' fill='#CCCCCC'/>
+ <path d='M0.5,15.5' fill='#CCCCCC'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='2.16,29.005 82.16,29.005 82.16,30.005 2.16,30.005 2.16,29.005 ' id='XMLID_940_'/>
+ </defs>
+ <use xlink:href='#XMLID_940_' fill='#9E9C9C'/>
+ <clipPath id='XMLID_963_'>
+ <use xlink:href='#XMLID_940_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_963_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#B39F67'/>
+ <path d='M41.5,15.5' fill='#B39F67'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#B5B5B5'/>
+ <path d='M18.587,15.5' fill='#B5B5B5'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_942_'/>
+ </defs>
+ <use xlink:href='#XMLID_942_' fill='#383838'/>
+ <clipPath id='XMLID_964_'>
+ <use xlink:href='#XMLID_942_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_964_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#383530'/>
+ <path d='M41.5,15.5' fill='#383530'/>
+ </g>
+ <g>
+ <polygon points='0.366,0 36.809,0 36.809,31 0.366,31 0.366,0 ' fill='#383838'/>
+ <path d='M18.587,15.5' fill='#383838'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='82,0 83,0 83,31 82,31 82,0 ' id='XMLID_944_'/>
+ </defs>
+ <use xlink:href='#XMLID_944_' fill='#383838'/>
+ <clipPath id='XMLID_965_'>
+ <use xlink:href='#XMLID_944_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_965_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#383530'/>
+ <path d='M41.5,15.5' fill='#383530'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_946_'/>
+ </defs>
+ <use xlink:href='#XMLID_946_' fill='#131313'/>
+ <clipPath id='XMLID_966_'>
+ <use xlink:href='#XMLID_946_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_966_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#131313'/>
+ <path d='M41.5,15.5' fill='#131313'/>
+ </g>
+ <g>
+ <polygon points='0.366,0 36.809,0 36.809,31 0.366,31 0.366,0 ' fill='#131313'/>
+ <path d='M18.587,15.5' fill='#131313'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='80.806,1 81.806,1 81.806,31 80.806,31 80.806,1 ' id='XMLID_948_'/>
+ </defs>
+ <use xlink:href='#XMLID_948_' fill='#9E9C9C'/>
+ <clipPath id='XMLID_967_'>
+ <use xlink:href='#XMLID_948_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_967_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#B39F67'/>
+ <path d='M41.5,15.5' fill='#B39F67'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_950_'/>
+ </defs>
+ <use xlink:href='#XMLID_950_' fill='#383838'/>
+ <clipPath id='XMLID_968_'>
+ <use xlink:href='#XMLID_950_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_968_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#383530'/>
+ <path d='M41.5,15.5' fill='#383530'/>
+ </g>
+ <g>
+ <polygon points='0.366,0 36.809,0 36.809,31 0.366,31 0.366,0 ' fill='#383838'/>
+ <path d='M18.587,15.5' fill='#383838'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='2.16,29.005 82.16,29.005 82.16,30.005 2.16,30.005 2.16,29.005 ' id='XMLID_952_'/>
+ </defs>
+ <use xlink:href='#XMLID_952_' fill='#818181'/>
+ <clipPath id='XMLID_969_'>
+ <use xlink:href='#XMLID_952_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_969_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#807659'/>
+ <path d='M41.5,15.5' fill='#807659'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#818181'/>
+ <path d='M18.587,15.5' fill='#818181'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_954_'/>
+ </defs>
+ <use xlink:href='#XMLID_954_' fill='#272727'/>
+ <clipPath id='XMLID_970_'>
+ <use xlink:href='#XMLID_954_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_970_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#272623'/>
+ <path d='M41.5,15.5' fill='#272623'/>
+ </g>
+ <g>
+ <polygon points='0.366,0 36.809,0 36.809,31 0.366,31 0.366,0 ' fill='#272727'/>
+ <path d='M18.587,15.5' fill='#272727'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='82,0 83,0 83,31 82,31 82,0 ' id='XMLID_956_'/>
+ </defs>
+ <use xlink:href='#XMLID_956_' fill='#272727'/>
+ <clipPath id='XMLID_971_'>
+ <use xlink:href='#XMLID_956_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_971_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#272623'/>
+ <path d='M41.5,15.5' fill='#272623'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_958_'/>
+ </defs>
+ <use xlink:href='#XMLID_958_' fill='#101010'/>
+ <clipPath id='XMLID_972_'>
+ <use xlink:href='#XMLID_958_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_972_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#101010'/>
+ <path d='M41.5,15.5' fill='#101010'/>
+ </g>
+ <g>
+ <polygon points='0.366,0 36.809,0 36.809,31 0.366,31 0.366,0 ' fill='#101010'/>
+ <path d='M18.587,15.5' fill='#101010'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,1 0,1 0,0 ' fill='#CCCCCC'/>
+ <path d='M41.5,0.5' fill='#CCCCCC'/>
+ </g>
+ <g>
+ <polyline fill-rule='evenodd' stroke='#990000' points=' 68.273,18.845 74.291,24.348 86.001,12.637 ' clip-rule='evenodd' stroke-miterlimit='3.8637' stroke-width='4.8117' fill='none'/>
+ </g>
+ <g>
+ <g>
+ <path d='M33.077,7.037l0.334,2.034l-1.185,2.266c0,0-0.455-0.961-1.21-1.494c-0.636-0.448-1.051-0.545-1.699-0.412 c-0.833,0.172-1.777,1.167-2.189,2.395c-0.493,1.468-0.498,2.179-0.515,2.832c-0.028,1.047,0.137,1.665,0.137,1.665 s-0.719-1.33-0.712-3.278c0.005-1.391,0.223-2.652,0.867-3.897c0.566-1.094,1.407-1.75,2.154-1.828 c0.772-0.08,1.383,0.292,1.854,0.695c0.495,0.423,0.996,1.348,0.996,1.348L33.077,7.037z'/>
+ <path d='M33.222,18.547c0,0-0.523,0.936-0.85,1.296s-0.91,0.996-1.63,1.313c-0.721,0.317-1.099,0.377-1.811,0.309 c-0.712-0.068-1.373-0.48-1.605-0.652c-0.231-0.171-0.824-0.678-1.159-1.15s-0.858-1.416-0.858-1.416s0.292,0.946,0.474,1.347 c0.105,0.231,0.428,0.938,0.886,1.554c0.427,0.574,1.257,1.562,2.519,1.785s2.128-0.343,2.343-0.48 c0.214-0.138,0.667-0.516,0.953-0.822c0.299-0.32,0.582-0.728,0.738-0.972c0.114-0.179,0.301-0.541,0.301-0.541L33.222,18.547z'/>
+ </g>
+ <g>
+ <path d='M11.437,7.127l2.852,9.697l2.852-9.697h2.065l-4.721,15.933h-0.197l-2.95-9.875l-2.951,9.875H8.191 L3.47,7.127h2.065l2.853,9.697l1.928-6.53L9.372,7.127H11.437z' fill='#005A9C'/>
+ <path d='M25.072,17.946c0,1.443-0.384,2.656-1.151,3.639c-0.767,0.983-1.761,1.475-2.98,1.475 c-0.918,0-1.718-0.292-2.4-0.875c-0.682-0.583-1.187-1.373-1.515-2.37l1.613-0.668c0.236,0.603,0.548,1.079,0.935,1.426 c0.387,0.348,0.843,0.521,1.367,0.521c0.551,0,1.016-0.308,1.397-0.924s0.571-1.357,0.571-2.223c0-0.958-0.203-1.698-0.61-2.223 c-0.473-0.616-1.214-0.925-2.223-0.925h-0.787v-0.944l2.754-4.761h-3.325l-0.925,1.574h-0.59V7.127h7.672v0.963l-2.911,5.016 c1.023,0.328,1.797,0.925,2.321,1.791C24.809,15.763,25.072,16.779,25.072,17.946z' fill='#005A9C'/>
+ </g>
+ </g>
+ <g>
+ <path clip-rule='evenodd' d='M45.064,6.052v1.543c-0.4-0.179-0.791-0.314-1.172-0.405 s-0.741-0.137-1.079-0.137c-0.449,0-0.781,0.062-0.996,0.186s-0.322,0.315-0.322,0.576c0,0.195,0.071,0.348,0.215,0.459 c0.146,0.107,0.41,0.2,0.791,0.278l0.801,0.161c0.811,0.163,1.387,0.41,1.729,0.742s0.513,0.804,0.513,1.416 c0,0.804-0.239,1.403-0.718,1.797c-0.476,0.391-1.203,0.586-2.183,0.586c-0.462,0-0.926-0.044-1.392-0.132 c-0.466-0.088-0.931-0.218-1.396-0.391v-1.587c0.465,0.247,0.915,0.435,1.348,0.562c0.436,0.124,0.856,0.186,1.26,0.186 c0.41,0,0.724-0.068,0.942-0.205c0.218-0.137,0.327-0.332,0.327-0.586c0-0.228-0.075-0.404-0.225-0.527 c-0.146-0.124-0.441-0.234-0.884-0.332l-0.728-0.161c-0.729-0.156-1.263-0.405-1.602-0.747c-0.335-0.342-0.503-0.802-0.503-1.382 c0-0.726,0.234-1.284,0.703-1.675s1.143-0.586,2.021-0.586c0.4,0,0.812,0.031,1.235,0.093C44.173,5.842,44.611,5.931,45.064,6.052 z' fill-rule='evenodd'/>
+ <polygon points='46.423,5.822 48.313,5.822 50.247,11.203 52.176,5.822 54.065,5.822 51.365,13.112 49.124,13.112 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ <path clip-rule='evenodd' d='M61.685,12.57c-0.469,0.228-0.956,0.399-1.46,0.513s-1.025,0.17-1.563,0.171 c-1.214,0-2.176-0.338-2.886-1.016c-0.709-0.681-1.064-1.602-1.064-2.764c0-1.175,0.361-2.1,1.084-2.773s1.712-1.011,2.969-1.011 c0.485,0,0.949,0.045,1.392,0.137c0.446,0.091,0.866,0.226,1.26,0.405v1.509C61.009,7.51,60.604,7.337,60.2,7.224 c-0.4-0.114-0.802-0.171-1.206-0.171c-0.749,0-1.327,0.21-1.733,0.63c-0.404,0.417-0.605,1.014-0.605,1.792 c0,0.771,0.195,1.367,0.586,1.787s0.946,0.63,1.665,0.63c0.195,0,0.376-0.011,0.542-0.034c0.169-0.026,0.321-0.065,0.454-0.117 v-1.416h-1.147v-1.26h2.93V12.57z' fill-rule='evenodd'/>
+ </g>
+ <g>
+ <polygon points='40.028,22.997 41.688,22.997 41.688,18.285 39.984,18.636 39.984,17.357 41.679,17.005 43.466,17.005 43.466,22.997 45.126,22.997 45.126,24.295 40.028,24.295 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ <rect fill-rule='evenodd' height='1.89' width='1.758' clip-rule='evenodd' y='22.406' x='46.435'/>
+ <path clip-rule='evenodd' d='M52.495,22.914h3.208v1.382h-5.298v-1.382l2.661-2.349 c0.237-0.215,0.413-0.425,0.527-0.63c0.114-0.205,0.17-0.418,0.171-0.64c0-0.342-0.116-0.617-0.347-0.825 c-0.228-0.208-0.532-0.313-0.913-0.313c-0.293,0-0.614,0.063-0.962,0.19c-0.349,0.124-0.721,0.309-1.118,0.557v-1.602 c0.423-0.14,0.841-0.246,1.255-0.317c0.413-0.075,0.818-0.112,1.216-0.112c0.872,0,1.549,0.192,2.031,0.576 c0.485,0.384,0.727,0.919,0.728,1.606c0,0.397-0.103,0.768-0.308,1.113c-0.205,0.342-0.637,0.801-1.294,1.377L52.495,22.914z' fill-rule='evenodd'/>
+ </g>
+ </g>
+ <g id='Calque_1'>
+ </g>
+ <g id='Layer_1'>
+ </g>
+ </g>
+</svg>
diff --git a/htdocs/images/valid_icons/valid-svg12.gif b/htdocs/images/valid_icons/valid-svg12.gif
new file mode 100644
index 0000000..e26a13e
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-svg12.gif
Binary files differ
diff --git a/htdocs/images/valid_icons/valid-svg12.png b/htdocs/images/valid_icons/valid-svg12.png
new file mode 100644
index 0000000..bc88c0b
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-svg12.png
Binary files differ
diff --git a/htdocs/images/valid_icons/valid-svgtiny11-blue-v.svg b/htdocs/images/valid_icons/valid-svgtiny11-blue-v.svg
new file mode 100644
index 0000000..c9f2dfe
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-svgtiny11-blue-v.svg
@@ -0,0 +1,322 @@
+<?xml version='1.0' encoding='iso-8859-1'?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns='http://www.w3.org/2000/svg' xml:space='preserve' version='1.1' overflow='visible' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 88 31'>
+ <g shape-rendering='geometricPrecision' text-rendering='geometricPrecision' image-rendering='optimizeQuality'>
+ <g id='Background'>
+ </g>
+ <g id='Guides'>
+ </g>
+ <g id='Foreground'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#B3CEE1'/>
+ <path d='M41.5,15.5' fill='#B3CEE1'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.808,0 36.808,31 0.365,31 0.365,0 ' fill='#FFFFFF'/>
+ <path d='M18.587,15.5' fill='#FFFFFF'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_1_'/>
+ </defs>
+ <use xlink:href='#XMLID_1_' fill='#504D4C'/>
+ <clipPath id='XMLID_23_'>
+ <use xlink:href='#XMLID_1_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_23_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#48494B'/>
+ <path d='M41.5,15.5' fill='#48494B'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.808,0 36.808,31 0.365,31 0.365,0 ' fill='#4F4F4F'/>
+ <path d='M18.587,15.5' fill='#4F4F4F'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='82,0 83,0 83,31 82,31 82,0 ' id='XMLID_3_'/>
+ </defs>
+ <use xlink:href='#XMLID_3_' fill='#504D4C'/>
+ <clipPath id='XMLID_24_'>
+ <use xlink:href='#XMLID_3_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_24_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#48494B'/>
+ <path d='M41.5,15.5' fill='#48494B'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_5_'/>
+ </defs>
+ <use xlink:href='#XMLID_5_' fill='#191919'/>
+ <clipPath id='XMLID_25_'>
+ <use xlink:href='#XMLID_5_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_25_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#181818'/>
+ <path d='M41.5,15.5' fill='#181818'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.808,0 36.808,31 0.365,31 0.365,0 ' fill='#191919'/>
+ <path d='M18.587,15.5' fill='#191919'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <polygon points='0,0 1,0 1,31 0,31 0,0 ' fill='#CCCCCC'/>
+ <path d='M0.5,15.5' fill='#CCCCCC'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='80.805,1 81.805,1 81.805,31 80.805,31 80.805,1 ' id='XMLID_7_'/>
+ </defs>
+ <use xlink:href='#XMLID_7_' fill='#9E9C9C'/>
+ <clipPath id='XMLID_26_'>
+ <use xlink:href='#XMLID_7_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_26_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#9097A0'/>
+ <path d='M41.5,15.5' fill='#9097A0'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_9_'/>
+ </defs>
+ <use xlink:href='#XMLID_9_' fill='#383838'/>
+ <clipPath id='XMLID_27_'>
+ <use xlink:href='#XMLID_9_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_27_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#343536'/>
+ <path d='M41.5,15.5' fill='#343536'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.808,0 36.808,31 0.365,31 0.365,0 ' fill='#383838'/>
+ <path d='M18.587,15.5' fill='#383838'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <polygon points='4.692,2.291 44.697,2.291 44.697,26.897 4.692,26.897 4.692,2.291 ' fill='none'/>
+ <path d='M24.694,14.594' fill='none'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='2.16,29.005 82.16,29.005 82.16,30.005 2.16,30.005 2.16,29.005 ' id='XMLID_11_'/>
+ </defs>
+ <use xlink:href='#XMLID_11_' fill='#9E9C9C'/>
+ <clipPath id='XMLID_28_'>
+ <use xlink:href='#XMLID_11_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_28_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#9097A0'/>
+ <path d='M41.5,15.5' fill='#9097A0'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.808,0 36.808,31 0.365,31 0.365,0 ' fill='#B5B5B5'/>
+ <path d='M18.587,15.5' fill='#B5B5B5'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_13_'/>
+ </defs>
+ <use xlink:href='#XMLID_13_' fill='#383838'/>
+ <clipPath id='XMLID_29_'>
+ <use xlink:href='#XMLID_13_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_29_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#343536'/>
+ <path d='M41.5,15.5' fill='#343536'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.808,0 36.808,31 0.365,31 0.365,0 ' fill='#383838'/>
+ <path d='M18.587,15.5' fill='#383838'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='82,0 83,0 83,31 82,31 82,0 ' id='XMLID_15_'/>
+ </defs>
+ <use xlink:href='#XMLID_15_' fill='#383838'/>
+ <clipPath id='XMLID_30_'>
+ <use xlink:href='#XMLID_15_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_30_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#343536'/>
+ <path d='M41.5,15.5' fill='#343536'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_17_'/>
+ </defs>
+ <use xlink:href='#XMLID_17_' fill='#131313'/>
+ <clipPath id='XMLID_31_'>
+ <use xlink:href='#XMLID_17_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_31_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#131313'/>
+ <path d='M41.5,15.5' fill='#131313'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.808,0 36.808,31 0.365,31 0.365,0 ' fill='#131313'/>
+ <path d='M18.587,15.5' fill='#131313'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='80.805,1 81.805,1 81.805,31 80.805,31 80.805,1 ' id='XMLID_19_'/>
+ </defs>
+ <use xlink:href='#XMLID_19_' fill='#818181'/>
+ <clipPath id='XMLID_32_'>
+ <use xlink:href='#XMLID_19_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_32_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#6E7176'/>
+ <path d='M41.5,15.5' fill='#6E7176'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_21_'/>
+ </defs>
+ <use xlink:href='#XMLID_21_' fill='#272727'/>
+ <clipPath id='XMLID_33_'>
+ <use xlink:href='#XMLID_21_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_33_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#252626'/>
+ <path d='M41.5,15.5' fill='#252626'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.808,0 36.808,31 0.365,31 0.365,0 ' fill='#272727'/>
+ <path d='M18.587,15.5' fill='#272727'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,1 0,1 0,0 ' fill='#CCCCCC'/>
+ <path d='M41.5,0.5' fill='#CCCCCC'/>
+ </g>
+ <polyline fill-rule='evenodd' stroke='#005A9C' points=' 68.272,8.576 74.291,14.08 86.001,2.369 ' clip-rule='evenodd' stroke-miterlimit='3.8637' stroke-width='4.8115' fill='none'/>
+ <g>
+ <g>
+ <path d='M33.076,7.037l0.335,2.034l-1.185,2.266c0,0-0.455-0.961-1.21-1.493c-0.637-0.448-1.051-0.546-1.7-0.412 c-0.833,0.171-1.776,1.167-2.188,2.395c-0.493,1.469-0.498,2.18-0.515,2.833c-0.027,1.047,0.138,1.665,0.138,1.665 s-0.719-1.33-0.712-3.279c0.004-1.391,0.223-2.652,0.867-3.896c0.566-1.094,1.408-1.751,2.154-1.828 c0.772-0.08,1.382,0.292,1.854,0.695c0.495,0.423,0.996,1.347,0.996,1.347L33.076,7.037z'/>
+ <path d='M33.222,18.546c0,0-0.523,0.936-0.85,1.296c-0.326,0.36-0.91,0.996-1.631,1.313c-0.721,0.317-1.099,0.378-1.811,0.309 c-0.711-0.069-1.373-0.481-1.605-0.652c-0.231-0.171-0.824-0.678-1.159-1.15c-0.334-0.472-0.858-1.417-0.858-1.417 s0.292,0.946,0.475,1.348c0.105,0.231,0.428,0.938,0.886,1.553c0.427,0.574,1.257,1.563,2.519,1.786s2.128-0.343,2.343-0.481 c0.215-0.137,0.667-0.516,0.953-0.822c0.299-0.319,0.582-0.727,0.738-0.972c0.114-0.178,0.3-0.541,0.3-0.541L33.222,18.546z'/>
+ </g>
+ <g>
+ <path d='M11.437,7.127l2.853,9.698l2.852-9.698h2.065l-4.721,15.934h-0.197l-2.951-9.875l-2.951,9.875H8.191 L3.47,7.127h2.065l2.853,9.698l1.928-6.531L9.371,7.127H11.437z' fill='#005A9C'/>
+ <path d='M25.071,17.946c0,1.443-0.383,2.656-1.15,3.64c-0.768,0.983-1.761,1.475-2.98,1.475 c-0.918,0-1.718-0.292-2.4-0.875c-0.682-0.583-1.187-1.373-1.515-2.37l1.613-0.669c0.236,0.604,0.548,1.079,0.935,1.426 c0.387,0.348,0.842,0.521,1.367,0.521c0.551,0,1.017-0.308,1.397-0.924c0.38-0.616,0.57-1.357,0.57-2.223 c0-0.957-0.204-1.698-0.61-2.223c-0.472-0.616-1.213-0.924-2.223-0.924h-0.787v-0.944l2.754-4.76h-3.325l-0.925,1.573h-0.59 V7.127h7.672v0.964l-2.912,5.016c1.023,0.328,1.796,0.925,2.321,1.791S25.071,16.779,25.071,17.946z' fill='#005A9C'/>
+ </g>
+ </g>
+ <g>
+ <path clip-rule='evenodd' d='M41.605,18.274v1.553h1.802v1.25h-1.802v2.319c0,0.254,0.05,0.426,0.151,0.518 c0.101,0.088,0.301,0.132,0.601,0.132h0.898v1.25h-1.499c-0.69,0-1.18-0.144-1.47-0.43c-0.287-0.29-0.43-0.78-0.43-1.47v-2.319 h-0.869v-1.25h0.869v-1.553H41.605z' fill-rule='evenodd'/>
+ <path clip-rule='evenodd' d='M44.477,19.827h1.748v5.469h-1.748V19.827z M44.477,17.698h1.748v1.426h-1.748 V17.698z' fill-rule='evenodd'/>
+ <path clip-rule='evenodd' d='M53.402,21.965v3.33h-1.758v-0.542v-2.007c0-0.472-0.011-0.798-0.034-0.977 c-0.02-0.179-0.056-0.311-0.107-0.396c-0.068-0.114-0.161-0.202-0.278-0.264c-0.117-0.065-0.25-0.098-0.4-0.098 c-0.365,0-0.651,0.142-0.859,0.425c-0.208,0.28-0.313,0.669-0.313,1.167v2.69h-1.748v-5.469h1.748v0.801 c0.264-0.319,0.543-0.554,0.84-0.703c0.296-0.153,0.624-0.229,0.981-0.229c0.631,0,1.11,0.193,1.436,0.581 C53.238,20.663,53.402,21.226,53.402,21.965z' fill-rule='evenodd'/>
+ <path clip-rule='evenodd' d='M54.306,19.827h1.748l1.47,3.711l1.25-3.711h1.748l-2.3,5.986 c-0.231,0.608-0.501,1.033-0.811,1.274c-0.306,0.244-0.711,0.366-1.216,0.366h-1.011v-1.147h0.547 c0.296,0,0.511-0.047,0.645-0.142c0.137-0.095,0.242-0.264,0.317-0.508l0.049-0.151L54.306,19.827z' fill-rule='evenodd'/>
+ </g>
+ <g>
+ <path clip-rule='evenodd' d='M44.848,7.051v1.543c-0.4-0.179-0.791-0.314-1.172-0.405 c-0.381-0.091-0.741-0.136-1.079-0.137c-0.449,0-0.781,0.062-0.996,0.186c-0.215,0.124-0.322,0.316-0.322,0.576 c0,0.195,0.072,0.349,0.215,0.459c0.146,0.107,0.41,0.2,0.791,0.278l0.801,0.161c0.811,0.163,1.387,0.41,1.729,0.742 s0.513,0.804,0.513,1.416c0,0.804-0.239,1.403-0.718,1.797c-0.475,0.391-1.203,0.586-2.183,0.586 c-0.462,0-0.926-0.044-1.392-0.132c-0.466-0.088-0.931-0.218-1.396-0.391v-1.587c0.465,0.248,0.915,0.435,1.348,0.562 c0.436,0.124,0.856,0.186,1.26,0.186c0.41,0,0.724-0.068,0.942-0.205c0.218-0.137,0.327-0.332,0.327-0.586 c0-0.228-0.075-0.403-0.225-0.527c-0.146-0.124-0.441-0.234-0.884-0.332l-0.728-0.161c-0.729-0.156-1.263-0.405-1.602-0.747 c-0.335-0.342-0.503-0.802-0.503-1.382c0-0.726,0.234-1.284,0.703-1.675c0.469-0.391,1.143-0.586,2.021-0.586 c0.4,0,0.812,0.031,1.235,0.093C43.958,6.841,44.395,6.931,44.848,7.051z' fill-rule='evenodd'/>
+ <polygon points='46.208,6.822 48.097,6.822 50.031,12.203 51.959,6.822 53.849,6.822 51.149,14.112 48.908,14.112 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ <path clip-rule='evenodd' d='M61.468,13.57c-0.469,0.228-0.956,0.399-1.46,0.513 c-0.504,0.114-1.025,0.171-1.563,0.171c-1.214,0-2.176-0.338-2.886-1.016c-0.709-0.68-1.064-1.601-1.064-2.764 c0-1.175,0.361-2.099,1.084-2.773c0.723-0.674,1.712-1.011,2.969-1.011c0.485,0,0.949,0.046,1.392,0.137 c0.446,0.091,0.866,0.227,1.26,0.405v1.509c-0.407-0.231-0.812-0.403-1.216-0.518c-0.4-0.114-0.802-0.17-1.206-0.171 c-0.749,0-1.327,0.21-1.733,0.63c-0.404,0.417-0.605,1.014-0.605,1.792c0,0.771,0.195,1.367,0.586,1.787s0.946,0.63,1.665,0.63 c0.195,0,0.376-0.011,0.542-0.034c0.169-0.026,0.321-0.065,0.454-0.117v-1.416h-1.147v-1.26h2.93V13.57z' fill-rule='evenodd'/>
+ </g>
+ <g>
+ <polygon points='63.84,24.213 65.29,24.213 65.29,19.955 63.941,20.289 63.941,19.12 65.299,18.795 66.551,18.795 66.551,24.213 68.001,24.213 68.001,25.356 63.84,25.356 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ <rect fill-rule='evenodd' height='1.613' width='1.463' clip-rule='evenodd' y='23.743' x='68.515'/>
+ <polygon points='71.347,24.213 72.797,24.213 72.797,19.955 71.448,20.289 71.448,19.12 72.806,18.795 74.058,18.795 74.058,24.213 75.508,24.213 75.508,25.356 71.347,25.356 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/htdocs/images/valid_icons/valid-svgtiny11-blue.gif b/htdocs/images/valid_icons/valid-svgtiny11-blue.gif
new file mode 100644
index 0000000..4e8082b
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-svgtiny11-blue.gif
Binary files differ
diff --git a/htdocs/images/valid_icons/valid-svgtiny11-blue.png b/htdocs/images/valid_icons/valid-svgtiny11-blue.png
new file mode 100644
index 0000000..9060903
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-svgtiny11-blue.png
Binary files differ
diff --git a/htdocs/images/valid_icons/valid-svgtiny11-v.svg b/htdocs/images/valid_icons/valid-svgtiny11-v.svg
new file mode 100644
index 0000000..e223ed3
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-svgtiny11-v.svg
@@ -0,0 +1,324 @@
+<?xml version='1.0' encoding='iso-8859-1'?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns='http://www.w3.org/2000/svg' xml:space='preserve' version='1.1' overflow='visible' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 88 31'>
+ <g shape-rendering='geometricPrecision' text-rendering='geometricPrecision' image-rendering='optimizeQuality'>
+ <g id='Background'>
+ </g>
+ <g id='Guides'>
+ </g>
+ <g id='Foreground'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#FFCC66'/>
+ <path d='M41.5,15.5' fill='#FFCC66'/>
+ </g>
+ <g>
+ <polygon points='0.366,0 36.809,0 36.809,31 0.366,31 0.366,0 ' fill='#FFFFFF'/>
+ <path d='M18.587,15.5' fill='#FFFFFF'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_100_'/>
+ </defs>
+ <use xlink:href='#XMLID_100_' fill='#504D4C'/>
+ <clipPath id='XMLID_122_'>
+ <use xlink:href='#XMLID_100_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_122_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#4E4B3F'/>
+ <path d='M41.5,15.5' fill='#4E4B3F'/>
+ </g>
+ <g>
+ <polygon points='0.366,0 36.809,0 36.809,31 0.366,31 0.366,0 ' fill='#4F4F4F'/>
+ <path d='M18.587,15.5' fill='#4F4F4F'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='82,0 83,0 83,31 82,31 82,0 ' id='XMLID_102_'/>
+ </defs>
+ <use xlink:href='#XMLID_102_' fill='#504D4C'/>
+ <clipPath id='XMLID_123_'>
+ <use xlink:href='#XMLID_102_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_123_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#4E4B3F'/>
+ <path d='M41.5,15.5' fill='#4E4B3F'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_104_'/>
+ </defs>
+ <use xlink:href='#XMLID_104_' fill='#191919'/>
+ <clipPath id='XMLID_124_'>
+ <use xlink:href='#XMLID_104_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_124_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#191917'/>
+ <path d='M41.5,15.5' fill='#191917'/>
+ </g>
+ <g>
+ <polygon points='0.366,0 36.809,0 36.809,31 0.366,31 0.366,0 ' fill='#191919'/>
+ <path d='M18.587,15.5' fill='#191919'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <polygon points='0,0 1,0 1,31 0,31 0,0 ' fill='#CCCCCC'/>
+ <path d='M0.5,15.5' fill='#CCCCCC'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='80.806,1 81.806,1 81.806,31 80.806,31 80.806,1 ' id='XMLID_106_'/>
+ </defs>
+ <use xlink:href='#XMLID_106_' fill='#9E9C9C'/>
+ <clipPath id='XMLID_125_'>
+ <use xlink:href='#XMLID_106_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_125_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#B39F67'/>
+ <path d='M41.5,15.5' fill='#B39F67'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_108_'/>
+ </defs>
+ <use xlink:href='#XMLID_108_' fill='#383838'/>
+ <clipPath id='XMLID_126_'>
+ <use xlink:href='#XMLID_108_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_126_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#383530'/>
+ <path d='M41.5,15.5' fill='#383530'/>
+ </g>
+ <g>
+ <polygon points='0.366,0 36.809,0 36.809,31 0.366,31 0.366,0 ' fill='#383838'/>
+ <path d='M18.587,15.5' fill='#383838'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <polygon points='4.692,2.291 44.697,2.291 44.697,26.897 4.692,26.897 4.692,2.291 ' fill='none'/>
+ <path d='M24.695,14.594' fill='none'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='2.16,29.005 82.16,29.005 82.16,30.005 2.16,30.005 2.16,29.005 ' id='XMLID_110_'/>
+ </defs>
+ <use xlink:href='#XMLID_110_' fill='#9E9C9C'/>
+ <clipPath id='XMLID_127_'>
+ <use xlink:href='#XMLID_110_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_127_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#B39F67'/>
+ <path d='M41.5,15.5' fill='#B39F67'/>
+ </g>
+ <g>
+ <polygon points='0.366,0 36.809,0 36.809,31 0.366,31 0.366,0 ' fill='#B5B5B5'/>
+ <path d='M18.587,15.5' fill='#B5B5B5'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_112_'/>
+ </defs>
+ <use xlink:href='#XMLID_112_' fill='#383838'/>
+ <clipPath id='XMLID_128_'>
+ <use xlink:href='#XMLID_112_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_128_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#383530'/>
+ <path d='M41.5,15.5' fill='#383530'/>
+ </g>
+ <g>
+ <polygon points='0.366,0 36.809,0 36.809,31 0.366,31 0.366,0 ' fill='#383838'/>
+ <path d='M18.587,15.5' fill='#383838'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='82,0 83,0 83,31 82,31 82,0 ' id='XMLID_114_'/>
+ </defs>
+ <use xlink:href='#XMLID_114_' fill='#383838'/>
+ <clipPath id='XMLID_129_'>
+ <use xlink:href='#XMLID_114_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_129_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#383530'/>
+ <path d='M41.5,15.5' fill='#383530'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_116_'/>
+ </defs>
+ <use xlink:href='#XMLID_116_' fill='#131313'/>
+ <clipPath id='XMLID_130_'>
+ <use xlink:href='#XMLID_116_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_130_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#131313'/>
+ <path d='M41.5,15.5' fill='#131313'/>
+ </g>
+ <g>
+ <polygon points='0.366,0 36.809,0 36.809,31 0.366,31 0.366,0 ' fill='#131313'/>
+ <path d='M18.587,15.5' fill='#131313'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='80.806,1 81.806,1 81.806,31 80.806,31 80.806,1 ' id='XMLID_118_'/>
+ </defs>
+ <use xlink:href='#XMLID_118_' fill='#818181'/>
+ <clipPath id='XMLID_131_'>
+ <use xlink:href='#XMLID_118_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_131_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#807659'/>
+ <path d='M41.5,15.5' fill='#807659'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_120_'/>
+ </defs>
+ <use xlink:href='#XMLID_120_' fill='#272727'/>
+ <clipPath id='XMLID_132_'>
+ <use xlink:href='#XMLID_120_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_132_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#272623'/>
+ <path d='M41.5,15.5' fill='#272623'/>
+ </g>
+ <g>
+ <polygon points='0.366,0 36.809,0 36.809,31 0.366,31 0.366,0 ' fill='#272727'/>
+ <path d='M18.587,15.5' fill='#272727'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,1 0,1 0,0 ' fill='#CCCCCC'/>
+ <path d='M41.5,0.5' fill='#CCCCCC'/>
+ </g>
+ <g>
+ <polyline fill-rule='evenodd' stroke='#990000' points=' 68.273,8.576 74.291,14.08 86.001,2.369 ' clip-rule='evenodd' stroke-miterlimit='3.8637' stroke-width='4.8117' fill='none'/>
+ </g>
+ <g>
+ <g>
+ <path d='M33.077,7.037l0.334,2.034l-1.184,2.266c0,0-0.455-0.961-1.21-1.493c-0.636-0.448-1.051-0.546-1.699-0.412 c-0.833,0.172-1.777,1.167-2.188,2.395c-0.493,1.469-0.498,2.18-0.515,2.833c-0.027,1.047,0.137,1.665,0.137,1.665 s-0.719-1.33-0.712-3.279c0.005-1.391,0.223-2.652,0.867-3.896c0.566-1.094,1.408-1.751,2.155-1.828 c0.772-0.08,1.382,0.292,1.854,0.695c0.495,0.423,0.996,1.348,0.996,1.348L33.077,7.037z'/>
+ <path d='M33.223,18.547c0,0-0.524,0.936-0.85,1.296c-0.326,0.36-0.91,0.996-1.63,1.313c-0.721,0.318-1.099,0.378-1.811,0.309 c-0.711-0.068-1.374-0.48-1.605-0.652c-0.232-0.171-0.824-0.678-1.159-1.15c-0.335-0.472-0.858-1.416-0.858-1.416 s0.292,0.946,0.474,1.347c0.105,0.231,0.428,0.938,0.886,1.554c0.427,0.574,1.257,1.562,2.519,1.785s2.128-0.343,2.343-0.481 c0.214-0.137,0.667-0.516,0.953-0.822c0.299-0.319,0.582-0.727,0.738-0.972c0.114-0.179,0.3-0.541,0.3-0.541L33.223,18.547z'/>
+ </g>
+ <g>
+ <path d='M11.437,7.127l2.852,9.698l2.853-9.698h2.065l-4.721,15.934h-0.197l-2.95-9.875l-2.951,9.875H8.191 L3.47,7.127h2.065l2.852,9.698l1.928-6.53L9.372,7.127H11.437z' fill='#005A9C'/>
+ <path d='M25.072,17.946c0,1.443-0.384,2.656-1.151,3.639s-1.761,1.475-2.98,1.475c-0.918,0-1.718-0.292-2.4-0.875 c-0.682-0.583-1.187-1.374-1.514-2.37l1.613-0.668c0.236,0.603,0.548,1.079,0.935,1.426c0.387,0.348,0.842,0.521,1.367,0.521 c0.55,0,1.016-0.308,1.396-0.924c0.38-0.616,0.571-1.357,0.571-2.223c0-0.958-0.204-1.699-0.61-2.223 c-0.473-0.617-1.213-0.925-2.223-0.925h-0.787v-0.944l2.754-4.761h-3.325l-0.924,1.574h-0.59V7.127h7.671v0.964l-2.911,5.016 c1.023,0.328,1.796,0.925,2.321,1.791C24.809,15.763,25.072,16.779,25.072,17.946z' fill='#005A9C'/>
+ </g>
+ </g>
+ <g>
+ <path clip-rule='evenodd' d='M41.606,18.274v1.553h1.802v1.25h-1.802v2.319c0,0.254,0.05,0.426,0.151,0.518 c0.101,0.088,0.301,0.132,0.601,0.132h0.898v1.25h-1.499c-0.69,0-1.18-0.143-1.47-0.43c-0.286-0.29-0.429-0.78-0.429-1.47v-2.319 h-0.87v-1.25h0.87v-1.553H41.606z' fill-rule='evenodd'/>
+ <path clip-rule='evenodd' d='M44.477,19.827h1.748v5.469h-1.748V19.827z M44.477,17.698h1.748v1.426h-1.748 V17.698z' fill-rule='evenodd'/>
+ <path clip-rule='evenodd' d='M53.403,21.965v3.33h-1.758v-0.542v-2.007c0-0.472-0.012-0.797-0.034-0.977 c-0.02-0.179-0.056-0.311-0.107-0.396c-0.068-0.114-0.162-0.202-0.279-0.264c-0.117-0.065-0.25-0.098-0.4-0.098 c-0.365,0-0.651,0.142-0.859,0.425c-0.208,0.28-0.313,0.669-0.313,1.167v2.69h-1.749v-5.469h1.749v0.801 c0.263-0.319,0.543-0.553,0.839-0.703c0.296-0.153,0.624-0.229,0.982-0.229c0.631,0,1.11,0.194,1.435,0.581 C53.238,20.663,53.402,21.227,53.403,21.965z' fill-rule='evenodd'/>
+ <path clip-rule='evenodd' d='M54.306,19.827h1.748l1.47,3.711l1.25-3.711h1.748l-2.3,5.986 c-0.231,0.608-0.501,1.033-0.81,1.274c-0.306,0.244-0.711,0.366-1.216,0.366h-1.01v-1.147h0.547c0.296,0,0.511-0.047,0.644-0.142 c0.137-0.095,0.243-0.264,0.318-0.508l0.048-0.151L54.306,19.827z' fill-rule='evenodd'/>
+ </g>
+ <g>
+ <path clip-rule='evenodd' d='M44.848,7.051v1.543c-0.4-0.179-0.791-0.314-1.172-0.406 c-0.38-0.091-0.74-0.136-1.079-0.136c-0.449,0-0.781,0.062-0.996,0.186c-0.214,0.124-0.322,0.315-0.322,0.576 c0,0.196,0.071,0.349,0.215,0.459c0.146,0.107,0.41,0.2,0.791,0.278l0.801,0.162c0.81,0.163,1.386,0.41,1.728,0.742 c0.342,0.332,0.513,0.804,0.513,1.416c0,0.804-0.239,1.403-0.718,1.797c-0.475,0.391-1.203,0.586-2.183,0.586 c-0.462,0-0.926-0.044-1.392-0.132c-0.465-0.088-0.931-0.218-1.396-0.391v-1.586c0.466,0.247,0.915,0.435,1.348,0.561 c0.436,0.124,0.856,0.186,1.259,0.186c0.41,0,0.725-0.068,0.942-0.205c0.218-0.137,0.327-0.332,0.328-0.586 c0-0.228-0.075-0.404-0.225-0.527c-0.146-0.124-0.441-0.234-0.884-0.332l-0.728-0.161c-0.729-0.156-1.263-0.405-1.601-0.747 c-0.335-0.342-0.503-0.803-0.503-1.382c0-0.726,0.234-1.284,0.703-1.675c0.468-0.391,1.143-0.586,2.021-0.586 c0.4,0,0.812,0.031,1.235,0.093C43.958,6.842,44.396,6.931,44.848,7.051z' fill-rule='evenodd'/>
+ <polygon points='46.208,6.822 48.097,6.822 50.031,12.203 51.959,6.822 53.849,6.822 51.149,14.112 48.908,14.112 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ <path clip-rule='evenodd' d='M61.469,13.57c-0.469,0.228-0.956,0.399-1.46,0.513 c-0.505,0.114-1.025,0.17-1.563,0.171c-1.214,0-2.176-0.339-2.886-1.016c-0.709-0.681-1.064-1.602-1.064-2.764 c0-1.175,0.361-2.1,1.084-2.773c0.723-0.674,1.712-1.011,2.969-1.011c0.485,0,0.949,0.045,1.392,0.136 c0.446,0.091,0.866,0.227,1.26,0.406v1.509c-0.407-0.231-0.813-0.404-1.216-0.518c-0.4-0.114-0.803-0.171-1.206-0.171 c-0.749,0-1.327,0.21-1.733,0.63c-0.404,0.417-0.605,1.014-0.605,1.792c0,0.771,0.195,1.367,0.586,1.787s0.945,0.63,1.665,0.63 c0.195,0,0.376-0.012,0.542-0.034c0.169-0.026,0.32-0.065,0.454-0.117v-1.416h-1.147v-1.26h2.93V13.57z' fill-rule='evenodd'/>
+ </g>
+ <g>
+ <polygon points='63.84,24.213 65.29,24.213 65.29,19.955 63.941,20.289 63.941,19.12 65.299,18.795 66.551,18.795 66.551,24.213 68.001,24.213 68.001,25.356 63.84,25.356 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ <rect fill-rule='evenodd' height='1.613' width='1.463' clip-rule='evenodd' y='23.743' x='68.515'/>
+ <polygon points='71.347,24.213 72.797,24.213 72.797,19.955 71.448,20.289 71.448,19.12 72.806,18.795 74.058,18.795 74.058,24.213 75.508,24.213 75.508,25.356 71.347,25.356 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/htdocs/images/valid_icons/valid-svgtiny11.gif b/htdocs/images/valid_icons/valid-svgtiny11.gif
new file mode 100644
index 0000000..816bbcc
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-svgtiny11.gif
Binary files differ
diff --git a/htdocs/images/valid_icons/valid-svgtiny11.png b/htdocs/images/valid_icons/valid-svgtiny11.png
new file mode 100644
index 0000000..afbfd7d
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-svgtiny11.png
Binary files differ
diff --git a/htdocs/images/valid_icons/valid-svgtiny12-blue-v.svg b/htdocs/images/valid_icons/valid-svgtiny12-blue-v.svg
new file mode 100644
index 0000000..4d82d22
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-svgtiny12-blue-v.svg
@@ -0,0 +1,322 @@
+<?xml version='1.0' encoding='iso-8859-1'?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns='http://www.w3.org/2000/svg' xml:space='preserve' version='1.1' overflow='visible' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 88 31'>
+ <g shape-rendering='geometricPrecision' text-rendering='geometricPrecision' image-rendering='optimizeQuality'>
+ <g id='Background'>
+ </g>
+ <g id='Guides'>
+ </g>
+ <g id='Foreground'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#B3CEE1'/>
+ <path d='M41.5,15.5' fill='#B3CEE1'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.808,0 36.808,31 0.365,31 0.365,0 ' fill='#FFFFFF'/>
+ <path d='M18.587,15.5' fill='#FFFFFF'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_34_'/>
+ </defs>
+ <use xlink:href='#XMLID_34_' fill='#504D4C'/>
+ <clipPath id='XMLID_56_'>
+ <use xlink:href='#XMLID_34_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_56_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#48494B'/>
+ <path d='M41.5,15.5' fill='#48494B'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.808,0 36.808,31 0.365,31 0.365,0 ' fill='#4F4F4F'/>
+ <path d='M18.587,15.5' fill='#4F4F4F'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='82,0 83,0 83,31 82,31 82,0 ' id='XMLID_36_'/>
+ </defs>
+ <use xlink:href='#XMLID_36_' fill='#504D4C'/>
+ <clipPath id='XMLID_57_'>
+ <use xlink:href='#XMLID_36_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_57_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#48494B'/>
+ <path d='M41.5,15.5' fill='#48494B'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_38_'/>
+ </defs>
+ <use xlink:href='#XMLID_38_' fill='#191919'/>
+ <clipPath id='XMLID_58_'>
+ <use xlink:href='#XMLID_38_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_58_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#181818'/>
+ <path d='M41.5,15.5' fill='#181818'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.808,0 36.808,31 0.365,31 0.365,0 ' fill='#191919'/>
+ <path d='M18.587,15.5' fill='#191919'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <polygon points='0,0 1,0 1,31 0,31 0,0 ' fill='#CCCCCC'/>
+ <path d='M0.5,15.5' fill='#CCCCCC'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='80.805,1 81.805,1 81.805,31 80.805,31 80.805,1 ' id='XMLID_40_'/>
+ </defs>
+ <use xlink:href='#XMLID_40_' fill='#9E9C9C'/>
+ <clipPath id='XMLID_59_'>
+ <use xlink:href='#XMLID_40_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_59_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#9097A0'/>
+ <path d='M41.5,15.5' fill='#9097A0'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_42_'/>
+ </defs>
+ <use xlink:href='#XMLID_42_' fill='#383838'/>
+ <clipPath id='XMLID_60_'>
+ <use xlink:href='#XMLID_42_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_60_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#343536'/>
+ <path d='M41.5,15.5' fill='#343536'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.808,0 36.808,31 0.365,31 0.365,0 ' fill='#383838'/>
+ <path d='M18.587,15.5' fill='#383838'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <polygon points='4.692,2.291 44.697,2.291 44.697,26.897 4.692,26.897 4.692,2.291 ' fill='none'/>
+ <path d='M24.694,14.594' fill='none'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='2.16,29.005 82.16,29.005 82.16,30.005 2.16,30.005 2.16,29.005 ' id='XMLID_44_'/>
+ </defs>
+ <use xlink:href='#XMLID_44_' fill='#9E9C9C'/>
+ <clipPath id='XMLID_61_'>
+ <use xlink:href='#XMLID_44_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_61_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#9097A0'/>
+ <path d='M41.5,15.5' fill='#9097A0'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.808,0 36.808,31 0.365,31 0.365,0 ' fill='#B5B5B5'/>
+ <path d='M18.587,15.5' fill='#B5B5B5'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_46_'/>
+ </defs>
+ <use xlink:href='#XMLID_46_' fill='#383838'/>
+ <clipPath id='XMLID_62_'>
+ <use xlink:href='#XMLID_46_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_62_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#343536'/>
+ <path d='M41.5,15.5' fill='#343536'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.808,0 36.808,31 0.365,31 0.365,0 ' fill='#383838'/>
+ <path d='M18.587,15.5' fill='#383838'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='82,0 83,0 83,31 82,31 82,0 ' id='XMLID_48_'/>
+ </defs>
+ <use xlink:href='#XMLID_48_' fill='#383838'/>
+ <clipPath id='XMLID_63_'>
+ <use xlink:href='#XMLID_48_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_63_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#343536'/>
+ <path d='M41.5,15.5' fill='#343536'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_50_'/>
+ </defs>
+ <use xlink:href='#XMLID_50_' fill='#131313'/>
+ <clipPath id='XMLID_64_'>
+ <use xlink:href='#XMLID_50_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_64_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#131313'/>
+ <path d='M41.5,15.5' fill='#131313'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.808,0 36.808,31 0.365,31 0.365,0 ' fill='#131313'/>
+ <path d='M18.587,15.5' fill='#131313'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='80.805,1 81.805,1 81.805,31 80.805,31 80.805,1 ' id='XMLID_52_'/>
+ </defs>
+ <use xlink:href='#XMLID_52_' fill='#818181'/>
+ <clipPath id='XMLID_65_'>
+ <use xlink:href='#XMLID_52_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_65_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#6E7176'/>
+ <path d='M41.5,15.5' fill='#6E7176'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_54_'/>
+ </defs>
+ <use xlink:href='#XMLID_54_' fill='#272727'/>
+ <clipPath id='XMLID_66_'>
+ <use xlink:href='#XMLID_54_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_66_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#252626'/>
+ <path d='M41.5,15.5' fill='#252626'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.808,0 36.808,31 0.365,31 0.365,0 ' fill='#272727'/>
+ <path d='M18.587,15.5' fill='#272727'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,1 0,1 0,0 ' fill='#CCCCCC'/>
+ <path d='M41.5,0.5' fill='#CCCCCC'/>
+ </g>
+ <polyline fill-rule='evenodd' stroke='#005A9C' points=' 68.272,8.576 74.29,14.08 86.001,2.369 ' clip-rule='evenodd' stroke-miterlimit='3.8637' stroke-width='4.8115' fill='none'/>
+ <g>
+ <g>
+ <path d='M33.076,7.037l0.335,2.034l-1.185,2.266c0,0-0.455-0.961-1.21-1.493c-0.637-0.448-1.051-0.546-1.7-0.412 c-0.833,0.171-1.776,1.167-2.188,2.395c-0.493,1.469-0.498,2.18-0.515,2.833c-0.027,1.047,0.138,1.665,0.138,1.665 s-0.719-1.33-0.712-3.279c0.004-1.391,0.223-2.652,0.867-3.896c0.566-1.094,1.408-1.751,2.154-1.828 c0.772-0.08,1.382,0.292,1.854,0.695c0.495,0.423,0.996,1.347,0.996,1.347L33.076,7.037z'/>
+ <path d='M33.222,18.546c0,0-0.523,0.936-0.85,1.296c-0.326,0.36-0.91,0.996-1.631,1.313c-0.721,0.317-1.099,0.378-1.811,0.309 c-0.711-0.069-1.373-0.481-1.605-0.652c-0.231-0.171-0.824-0.678-1.159-1.15c-0.334-0.472-0.858-1.417-0.858-1.417 s0.292,0.946,0.474,1.348c0.105,0.231,0.428,0.938,0.887,1.553c0.427,0.574,1.257,1.563,2.519,1.786 c1.261,0.223,2.128-0.343,2.343-0.481c0.215-0.137,0.667-0.516,0.953-0.822c0.299-0.319,0.582-0.727,0.738-0.972 c0.114-0.178,0.3-0.541,0.3-0.541L33.222,18.546z'/>
+ </g>
+ <g>
+ <path d='M11.437,7.127l2.853,9.698l2.852-9.698h2.065l-4.721,15.934h-0.197l-2.951-9.875l-2.951,9.875H8.191 L3.47,7.127h2.065l2.853,9.698l1.928-6.531L9.371,7.127H11.437z' fill='#005A9C'/>
+ <path d='M25.071,17.946c0,1.443-0.383,2.656-1.151,3.64c-0.767,0.983-1.76,1.475-2.98,1.475 c-0.918,0-1.718-0.292-2.4-0.875c-0.682-0.583-1.187-1.373-1.515-2.37l1.613-0.669c0.236,0.604,0.548,1.079,0.935,1.426 c0.387,0.348,0.842,0.521,1.367,0.521c0.551,0,1.017-0.308,1.397-0.924c0.38-0.616,0.57-1.357,0.57-2.223 c0-0.957-0.204-1.698-0.61-2.223c-0.473-0.616-1.213-0.924-2.223-0.924h-0.787v-0.944l2.754-4.76h-3.324l-0.925,1.573h-0.59 V7.127h7.672v0.964l-2.912,5.016c1.023,0.328,1.796,0.925,2.321,1.791S25.071,16.779,25.071,17.946z' fill='#005A9C'/>
+ </g>
+ </g>
+ <g>
+ <path clip-rule='evenodd' d='M41.605,18.274v1.553h1.802v1.25h-1.802v2.319c0,0.254,0.05,0.426,0.151,0.518 c0.101,0.088,0.301,0.132,0.601,0.132h0.898v1.25h-1.499c-0.69,0-1.18-0.144-1.47-0.43c-0.287-0.29-0.43-0.78-0.43-1.47v-2.319 h-0.869v-1.25h0.869v-1.553H41.605z' fill-rule='evenodd'/>
+ <path clip-rule='evenodd' d='M44.477,19.827h1.748v5.469h-1.748V19.827z M44.477,17.698h1.748v1.426h-1.748 V17.698z' fill-rule='evenodd'/>
+ <path clip-rule='evenodd' d='M53.402,21.965v3.33h-1.758v-0.542v-2.007c0-0.472-0.012-0.798-0.034-0.977 c-0.02-0.179-0.056-0.311-0.107-0.396c-0.068-0.114-0.161-0.202-0.278-0.264c-0.117-0.065-0.251-0.098-0.4-0.098 c-0.365,0-0.651,0.142-0.859,0.425c-0.208,0.28-0.313,0.669-0.313,1.167v2.69h-1.748v-5.469h1.748v0.801 c0.264-0.319,0.543-0.554,0.84-0.703c0.296-0.153,0.623-0.229,0.981-0.229c0.631,0,1.11,0.193,1.436,0.581 C53.238,20.663,53.402,21.226,53.402,21.965z' fill-rule='evenodd'/>
+ <path clip-rule='evenodd' d='M54.306,19.827h1.748l1.47,3.711l1.25-3.711h1.748l-2.3,5.986 c-0.231,0.608-0.501,1.033-0.811,1.274c-0.306,0.244-0.711,0.366-1.216,0.366h-1.011v-1.147h0.547 c0.296,0,0.511-0.047,0.645-0.142c0.137-0.095,0.242-0.264,0.317-0.508l0.049-0.151L54.306,19.827z' fill-rule='evenodd'/>
+ </g>
+ <g>
+ <path clip-rule='evenodd' d='M44.848,7.051v1.543c-0.4-0.179-0.791-0.314-1.172-0.405 c-0.381-0.091-0.741-0.136-1.079-0.137c-0.449,0-0.781,0.062-0.996,0.186c-0.215,0.124-0.322,0.316-0.322,0.576 c0,0.195,0.071,0.349,0.215,0.459c0.146,0.107,0.41,0.2,0.791,0.278l0.801,0.161c0.811,0.163,1.387,0.41,1.729,0.742 s0.513,0.804,0.513,1.416c0,0.804-0.239,1.403-0.718,1.797c-0.476,0.391-1.203,0.586-2.183,0.586 c-0.462,0-0.926-0.044-1.392-0.132c-0.466-0.088-0.931-0.218-1.396-0.391v-1.587c0.465,0.248,0.915,0.435,1.348,0.562 c0.436,0.124,0.856,0.186,1.26,0.186c0.41,0,0.724-0.068,0.942-0.205c0.218-0.137,0.327-0.332,0.327-0.586 c0-0.228-0.075-0.403-0.225-0.527c-0.146-0.124-0.441-0.234-0.884-0.332l-0.728-0.161c-0.729-0.156-1.263-0.405-1.602-0.747 c-0.335-0.342-0.503-0.802-0.503-1.382c0-0.726,0.234-1.284,0.703-1.675c0.469-0.391,1.143-0.586,2.021-0.586 c0.4,0,0.812,0.031,1.235,0.093C43.957,6.841,44.395,6.931,44.848,7.051z' fill-rule='evenodd'/>
+ <polygon points='46.208,6.822 48.097,6.822 50.03,12.203 51.959,6.822 53.849,6.822 51.149,14.112 48.908,14.112 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ <path clip-rule='evenodd' d='M61.468,13.57c-0.469,0.228-0.956,0.399-1.46,0.513 c-0.504,0.114-1.025,0.171-1.563,0.171c-1.214,0-2.176-0.338-2.886-1.016c-0.709-0.68-1.064-1.601-1.064-2.764 c0-1.175,0.361-2.099,1.084-2.773c0.723-0.674,1.712-1.011,2.969-1.011c0.485,0,0.949,0.046,1.392,0.137 c0.446,0.091,0.866,0.227,1.26,0.405v1.509c-0.407-0.231-0.812-0.403-1.216-0.518c-0.4-0.114-0.802-0.17-1.206-0.171 c-0.749,0-1.327,0.21-1.733,0.63c-0.404,0.417-0.605,1.014-0.605,1.792c0,0.771,0.195,1.367,0.586,1.787s0.946,0.63,1.665,0.63 c0.195,0,0.376-0.011,0.542-0.034c0.169-0.026,0.321-0.065,0.454-0.117v-1.416h-1.147v-1.26h2.93V13.57z' fill-rule='evenodd'/>
+ </g>
+ <g>
+ <polygon points='63.989,24.213 65.439,24.213 65.439,19.955 64.09,20.289 64.09,19.12 65.448,18.795 66.701,18.795 66.701,24.213 68.151,24.213 68.151,25.356 63.989,25.356 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ <rect fill-rule='evenodd' height='1.613' width='1.463' clip-rule='evenodd' y='23.743' x='68.665'/>
+ <path clip-rule='evenodd' d='M72.577,24.213h2.764v1.143h-4.166v-1.107l0.703-0.747 c0.835-0.888,1.342-1.434,1.521-1.64c0.22-0.251,0.378-0.474,0.475-0.667c0.097-0.196,0.145-0.39,0.145-0.58 c0-0.293-0.089-0.519-0.268-0.677c-0.176-0.161-0.426-0.241-0.751-0.241c-0.231,0-0.492,0.047-0.782,0.141 c-0.287,0.091-0.587,0.224-0.901,0.4v-1.208c0.313-0.114,0.62-0.201,0.918-0.259c0.302-0.062,0.59-0.092,0.866-0.092 c0.694,0,1.239,0.163,1.635,0.488c0.398,0.322,0.598,0.763,0.598,1.323c0,0.258-0.044,0.5-0.132,0.725 c-0.085,0.226-0.233,0.477-0.444,0.752c-0.155,0.199-0.582,0.647-1.279,1.345C73.1,23.686,72.8,23.988,72.577,24.213z' fill-rule='evenodd'/>
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/htdocs/images/valid_icons/valid-svgtiny12-blue.gif b/htdocs/images/valid_icons/valid-svgtiny12-blue.gif
new file mode 100644
index 0000000..5009237
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-svgtiny12-blue.gif
Binary files differ
diff --git a/htdocs/images/valid_icons/valid-svgtiny12-blue.png b/htdocs/images/valid_icons/valid-svgtiny12-blue.png
new file mode 100644
index 0000000..a9afe76
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-svgtiny12-blue.png
Binary files differ
diff --git a/htdocs/images/valid_icons/valid-svgtiny12-v.svg b/htdocs/images/valid_icons/valid-svgtiny12-v.svg
new file mode 100644
index 0000000..26661ae
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-svgtiny12-v.svg
@@ -0,0 +1,324 @@
+<?xml version='1.0' encoding='iso-8859-1'?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns='http://www.w3.org/2000/svg' xml:space='preserve' version='1.1' overflow='visible' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 88 31'>
+ <g shape-rendering='geometricPrecision' text-rendering='geometricPrecision' image-rendering='optimizeQuality'>
+ <g id='Background'>
+ </g>
+ <g id='Guides'>
+ </g>
+ <g id='Foreground'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#FFCC66'/>
+ <path d='M41.5,15.5' fill='#FFCC66'/>
+ </g>
+ <g>
+ <polygon points='0.366,0 36.809,0 36.809,31 0.366,31 0.366,0 ' fill='#FFFFFF'/>
+ <path d='M18.587,15.5' fill='#FFFFFF'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_67_'/>
+ </defs>
+ <use xlink:href='#XMLID_67_' fill='#504D4C'/>
+ <clipPath id='XMLID_89_'>
+ <use xlink:href='#XMLID_67_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_89_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#4E4B3F'/>
+ <path d='M41.5,15.5' fill='#4E4B3F'/>
+ </g>
+ <g>
+ <polygon points='0.366,0 36.809,0 36.809,31 0.366,31 0.366,0 ' fill='#4F4F4F'/>
+ <path d='M18.587,15.5' fill='#4F4F4F'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='82,0 83,0 83,31 82,31 82,0 ' id='XMLID_69_'/>
+ </defs>
+ <use xlink:href='#XMLID_69_' fill='#504D4C'/>
+ <clipPath id='XMLID_90_'>
+ <use xlink:href='#XMLID_69_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_90_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#4E4B3F'/>
+ <path d='M41.5,15.5' fill='#4E4B3F'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_71_'/>
+ </defs>
+ <use xlink:href='#XMLID_71_' fill='#191919'/>
+ <clipPath id='XMLID_91_'>
+ <use xlink:href='#XMLID_71_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_91_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#191917'/>
+ <path d='M41.5,15.5' fill='#191917'/>
+ </g>
+ <g>
+ <polygon points='0.366,0 36.809,0 36.809,31 0.366,31 0.366,0 ' fill='#191919'/>
+ <path d='M18.587,15.5' fill='#191919'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <polygon points='0,0 1,0 1,31 0,31 0,0 ' fill='#CCCCCC'/>
+ <path d='M0.5,15.5' fill='#CCCCCC'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='80.806,1 81.806,1 81.806,31 80.806,31 80.806,1 ' id='XMLID_73_'/>
+ </defs>
+ <use xlink:href='#XMLID_73_' fill='#9E9C9C'/>
+ <clipPath id='XMLID_92_'>
+ <use xlink:href='#XMLID_73_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_92_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#B39F67'/>
+ <path d='M41.5,15.5' fill='#B39F67'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_75_'/>
+ </defs>
+ <use xlink:href='#XMLID_75_' fill='#383838'/>
+ <clipPath id='XMLID_93_'>
+ <use xlink:href='#XMLID_75_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_93_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#383530'/>
+ <path d='M41.5,15.5' fill='#383530'/>
+ </g>
+ <g>
+ <polygon points='0.366,0 36.809,0 36.809,31 0.366,31 0.366,0 ' fill='#383838'/>
+ <path d='M18.587,15.5' fill='#383838'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <polygon points='4.692,2.291 44.697,2.291 44.697,26.897 4.692,26.897 4.692,2.291 ' fill='none'/>
+ <path d='M24.695,14.594' fill='none'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='2.16,29.005 82.16,29.005 82.16,30.005 2.16,30.005 2.16,29.005 ' id='XMLID_77_'/>
+ </defs>
+ <use xlink:href='#XMLID_77_' fill='#9E9C9C'/>
+ <clipPath id='XMLID_94_'>
+ <use xlink:href='#XMLID_77_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_94_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#B39F67'/>
+ <path d='M41.5,15.5' fill='#B39F67'/>
+ </g>
+ <g>
+ <polygon points='0.366,0 36.809,0 36.809,31 0.366,31 0.366,0 ' fill='#B5B5B5'/>
+ <path d='M18.587,15.5' fill='#B5B5B5'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_79_'/>
+ </defs>
+ <use xlink:href='#XMLID_79_' fill='#383838'/>
+ <clipPath id='XMLID_95_'>
+ <use xlink:href='#XMLID_79_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_95_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#383530'/>
+ <path d='M41.5,15.5' fill='#383530'/>
+ </g>
+ <g>
+ <polygon points='0.366,0 36.809,0 36.809,31 0.366,31 0.366,0 ' fill='#383838'/>
+ <path d='M18.587,15.5' fill='#383838'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='82,0 83,0 83,31 82,31 82,0 ' id='XMLID_81_'/>
+ </defs>
+ <use xlink:href='#XMLID_81_' fill='#383838'/>
+ <clipPath id='XMLID_96_'>
+ <use xlink:href='#XMLID_81_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_96_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#383530'/>
+ <path d='M41.5,15.5' fill='#383530'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_83_'/>
+ </defs>
+ <use xlink:href='#XMLID_83_' fill='#131313'/>
+ <clipPath id='XMLID_97_'>
+ <use xlink:href='#XMLID_83_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_97_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#131313'/>
+ <path d='M41.5,15.5' fill='#131313'/>
+ </g>
+ <g>
+ <polygon points='0.366,0 36.809,0 36.809,31 0.366,31 0.366,0 ' fill='#131313'/>
+ <path d='M18.587,15.5' fill='#131313'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='80.806,1 81.806,1 81.806,31 80.806,31 80.806,1 ' id='XMLID_85_'/>
+ </defs>
+ <use xlink:href='#XMLID_85_' fill='#818181'/>
+ <clipPath id='XMLID_98_'>
+ <use xlink:href='#XMLID_85_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_98_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#807659'/>
+ <path d='M41.5,15.5' fill='#807659'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_87_'/>
+ </defs>
+ <use xlink:href='#XMLID_87_' fill='#272727'/>
+ <clipPath id='XMLID_99_'>
+ <use xlink:href='#XMLID_87_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_99_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#272623'/>
+ <path d='M41.5,15.5' fill='#272623'/>
+ </g>
+ <g>
+ <polygon points='0.366,0 36.809,0 36.809,31 0.366,31 0.366,0 ' fill='#272727'/>
+ <path d='M18.587,15.5' fill='#272727'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,1 0,1 0,0 ' fill='#CCCCCC'/>
+ <path d='M41.5,0.5' fill='#CCCCCC'/>
+ </g>
+ <g>
+ <polyline fill-rule='evenodd' stroke='#990000' points=' 68.272,8.576 74.29,14.08 86.001,2.369 ' clip-rule='evenodd' stroke-miterlimit='3.8637' stroke-width='4.8117' fill='none'/>
+ </g>
+ <g>
+ <g>
+ <path d='M33.077,7.037l0.334,2.034l-1.184,2.266c0,0-0.455-0.961-1.21-1.493c-0.636-0.448-1.051-0.546-1.699-0.412 c-0.833,0.172-1.777,1.167-2.189,2.395c-0.493,1.469-0.498,2.18-0.515,2.833c-0.028,1.047,0.137,1.665,0.137,1.665 s-0.719-1.33-0.712-3.279c0.005-1.391,0.223-2.652,0.867-3.896c0.566-1.094,1.407-1.751,2.154-1.828 c0.772-0.08,1.382,0.292,1.854,0.695c0.495,0.423,0.996,1.348,0.996,1.348L33.077,7.037z'/>
+ <path d='M33.223,18.547c0,0-0.524,0.936-0.85,1.296c-0.326,0.36-0.91,0.996-1.63,1.313c-0.721,0.318-1.099,0.378-1.811,0.309 c-0.712-0.068-1.374-0.48-1.605-0.652c-0.232-0.171-0.824-0.678-1.159-1.15c-0.335-0.472-0.858-1.416-0.858-1.416 s0.292,0.946,0.474,1.347c0.105,0.231,0.428,0.938,0.886,1.554c0.427,0.574,1.257,1.562,2.519,1.785s2.129-0.343,2.343-0.481 c0.214-0.137,0.667-0.516,0.953-0.822c0.299-0.319,0.582-0.727,0.738-0.972c0.114-0.179,0.3-0.541,0.3-0.541L33.223,18.547z'/>
+ </g>
+ <g>
+ <path d='M11.437,7.127l2.852,9.698l2.853-9.698h2.065l-4.721,15.934h-0.197l-2.95-9.875l-2.951,9.875H8.191 L3.47,7.127h2.065l2.852,9.698l1.928-6.53L9.372,7.127H11.437z' fill='#005A9C'/>
+ <path d='M25.072,17.946c0,1.443-0.384,2.656-1.151,3.639s-1.761,1.475-2.98,1.475c-0.918,0-1.718-0.292-2.4-0.875 c-0.682-0.583-1.187-1.374-1.514-2.37l1.613-0.668c0.236,0.603,0.548,1.079,0.935,1.426c0.387,0.348,0.842,0.521,1.367,0.521 c0.551,0,1.017-0.308,1.397-0.924c0.38-0.616,0.571-1.357,0.571-2.223c0-0.958-0.204-1.699-0.61-2.223 c-0.473-0.617-1.213-0.925-2.223-0.925h-0.787v-0.944l2.754-4.761h-3.325l-0.924,1.574h-0.59V7.127h7.671v0.964l-2.911,5.016 c1.023,0.328,1.796,0.925,2.321,1.791C24.809,15.763,25.072,16.779,25.072,17.946z' fill='#005A9C'/>
+ </g>
+ </g>
+ <g>
+ <path clip-rule='evenodd' d='M41.606,18.274v1.553h1.801v1.25h-1.801v2.319c0,0.254,0.05,0.426,0.151,0.518 c0.101,0.088,0.301,0.132,0.601,0.132h0.899v1.25h-1.5c-0.69,0-1.18-0.143-1.47-0.43c-0.286-0.29-0.43-0.78-0.43-1.47v-2.319 h-0.869v-1.25h0.869v-1.553H41.606z' fill-rule='evenodd'/>
+ <path clip-rule='evenodd' d='M44.477,19.827h1.748v5.469h-1.748V19.827z M44.477,17.698h1.748v1.426h-1.748 V17.698z' fill-rule='evenodd'/>
+ <path clip-rule='evenodd' d='M53.402,21.965v3.33h-1.758v-0.542v-2.007c0-0.472-0.011-0.797-0.034-0.977 c-0.02-0.179-0.055-0.311-0.107-0.396c-0.068-0.114-0.161-0.202-0.278-0.264c-0.117-0.065-0.25-0.098-0.4-0.098 c-0.364,0-0.651,0.142-0.859,0.425c-0.208,0.28-0.313,0.669-0.313,1.167v2.69h-1.748v-5.469h1.748v0.801 c0.264-0.319,0.544-0.553,0.84-0.703c0.296-0.153,0.624-0.229,0.981-0.229c0.632,0,1.11,0.194,1.436,0.581 C53.238,20.663,53.402,21.227,53.402,21.965z' fill-rule='evenodd'/>
+ <path clip-rule='evenodd' d='M54.306,19.827h1.748l1.47,3.711l1.25-3.711h1.748l-2.3,5.986 c-0.23,0.608-0.501,1.033-0.811,1.274c-0.306,0.244-0.711,0.366-1.216,0.366h-1.01v-1.147h0.546c0.296,0,0.511-0.047,0.645-0.142 c0.136-0.095,0.242-0.264,0.317-0.508l0.048-0.151L54.306,19.827z' fill-rule='evenodd'/>
+ </g>
+ <g>
+ <path clip-rule='evenodd' d='M44.848,7.051v1.543c-0.4-0.179-0.792-0.314-1.172-0.406 c-0.381-0.091-0.741-0.136-1.079-0.136c-0.449,0-0.782,0.062-0.997,0.186c-0.215,0.124-0.322,0.315-0.322,0.576 c0,0.196,0.072,0.349,0.215,0.459c0.146,0.107,0.41,0.2,0.791,0.278l0.801,0.162c0.81,0.163,1.387,0.41,1.729,0.742 c0.342,0.332,0.513,0.804,0.513,1.416c0,0.804-0.24,1.403-0.718,1.797c-0.475,0.391-1.203,0.586-2.182,0.586 c-0.462,0-0.926-0.044-1.392-0.132c-0.466-0.088-0.931-0.218-1.397-0.391v-1.586c0.466,0.247,0.915,0.435,1.348,0.561 c0.437,0.124,0.856,0.186,1.26,0.186c0.411,0,0.725-0.068,0.942-0.205c0.218-0.137,0.327-0.332,0.327-0.586 c0-0.228-0.075-0.404-0.225-0.527c-0.146-0.124-0.441-0.234-0.884-0.332l-0.728-0.161c-0.729-0.156-1.263-0.405-1.602-0.747 c-0.335-0.342-0.503-0.803-0.503-1.382c0-0.726,0.234-1.284,0.703-1.675S41.42,6.69,42.299,6.69c0.4,0,0.813,0.031,1.236,0.093 C43.958,6.842,44.396,6.931,44.848,7.051z' fill-rule='evenodd'/>
+ <polygon points='46.208,6.822 48.097,6.822 50.031,12.203 51.959,6.822 53.849,6.822 51.149,14.112 48.908,14.112 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ <path clip-rule='evenodd' d='M61.469,13.57c-0.469,0.228-0.956,0.399-1.46,0.513 c-0.505,0.114-1.025,0.17-1.563,0.171c-1.215,0-2.176-0.339-2.886-1.016c-0.71-0.681-1.064-1.602-1.064-2.764 c0-1.175,0.361-2.1,1.084-2.773c0.723-0.674,1.712-1.011,2.969-1.011c0.484,0,0.948,0.045,1.392,0.136 c0.445,0.091,0.865,0.227,1.26,0.406v1.509c-0.407-0.231-0.813-0.404-1.216-0.518c-0.4-0.114-0.803-0.171-1.206-0.171 c-0.749,0-1.327,0.21-1.733,0.63c-0.404,0.417-0.605,1.014-0.605,1.792c0,0.771,0.195,1.367,0.586,1.787s0.945,0.63,1.665,0.63 c0.195,0,0.376-0.012,0.542-0.034c0.169-0.026,0.32-0.065,0.454-0.117v-1.416h-1.147v-1.26h2.93V13.57z' fill-rule='evenodd'/>
+ </g>
+ <g>
+ <polygon points='63.989,24.213 65.439,24.213 65.439,19.955 64.091,20.289 64.091,19.12 65.448,18.795 66.701,18.795 66.701,24.213 68.151,24.213 68.151,25.356 63.989,25.356 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ <rect fill-rule='evenodd' height='1.613' width='1.464' clip-rule='evenodd' y='23.743' x='68.665'/>
+ <path clip-rule='evenodd' d='M72.577,24.213h2.765v1.143h-4.166v-1.107l0.703-0.747 c0.834-0.888,1.342-1.434,1.521-1.639c0.219-0.252,0.377-0.475,0.475-0.668c0.097-0.196,0.145-0.39,0.145-0.58 c0-0.293-0.089-0.519-0.268-0.677c-0.176-0.161-0.427-0.242-0.752-0.242c-0.231,0-0.492,0.047-0.782,0.141 c-0.287,0.091-0.588,0.224-0.9,0.4v-1.208c0.313-0.114,0.619-0.201,0.918-0.259c0.302-0.062,0.591-0.093,0.866-0.093 c0.693,0,1.238,0.163,1.634,0.488c0.399,0.322,0.599,0.763,0.599,1.323c0,0.258-0.045,0.5-0.133,0.725 c-0.084,0.226-0.232,0.476-0.443,0.751c-0.155,0.199-0.582,0.647-1.279,1.345C73.101,23.686,72.8,23.988,72.577,24.213z' fill-rule='evenodd'/>
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/htdocs/images/valid_icons/valid-svgtiny12.gif b/htdocs/images/valid_icons/valid-svgtiny12.gif
new file mode 100644
index 0000000..6a172fe
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-svgtiny12.gif
Binary files differ
diff --git a/htdocs/images/valid_icons/valid-svgtiny12.png b/htdocs/images/valid_icons/valid-svgtiny12.png
new file mode 100644
index 0000000..7c27d56
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-svgtiny12.png
Binary files differ
diff --git a/htdocs/images/valid_icons/valid-xhtml-rdfa-blue-v.svg b/htdocs/images/valid_icons/valid-xhtml-rdfa-blue-v.svg
new file mode 100644
index 0000000..ec9ea68
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-xhtml-rdfa-blue-v.svg
@@ -0,0 +1,209 @@
+<?xml version='1.0' encoding='iso-8859-1'?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns='http://www.w3.org/2000/svg' xml:space='preserve' version='1.1' overflow='visible' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 88 31'>
+ <g shape-rendering='geometricPrecision' text-rendering='geometricPrecision' image-rendering='optimizeQuality'>
+ <g id='Background'>
+ </g>
+ <g id='Guides'>
+ </g>
+ <g id='Foreground'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#B3CEE1' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' height='31' width='36.443' clip-rule='evenodd' x='0.366' fill='#FFFFFF'/>
+ <g>
+ <g>
+ <defs>
+ <rect y='30' width='83' id='XMLID_1_' height='1'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_1_' clip-rule='evenodd' fill='#504D4C'/>
+ <clipPath id='XMLID_23_'>
+ <use xlink:href='#XMLID_1_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_23_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#64686E' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' height='31' width='36.443' clip-rule='evenodd' x='0.366' fill='#6F7073'/>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <rect y='0' x='82' width='1' id='XMLID_3_' height='31'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_3_' clip-rule='evenodd' fill='#504D4C'/>
+ <clipPath id='XMLID_24_'>
+ <use xlink:href='#XMLID_3_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_24_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#64686E' clip-rule='evenodd' height='31'/>
+ <g>
+ <g>
+ <defs>
+ <rect y='30' width='83' id='XMLID_5_' height='1'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_5_' clip-rule='evenodd' fill='#404041'/>
+ <clipPath id='XMLID_25_'>
+ <use xlink:href='#XMLID_5_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_25_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#3C3C3F' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' height='31' width='36.443' clip-rule='evenodd' x='0.366' fill='#404041'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <rect fill-rule='evenodd' width='1' fill='#D1D3D4' clip-rule='evenodd' height='31'/>
+ <g>
+ <g>
+ <defs>
+ <rect y='1' x='80.806' width='1' id='XMLID_7_' height='30'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_7_' clip-rule='evenodd' fill='#9E9C9C'/>
+ <clipPath id='XMLID_26_'>
+ <use xlink:href='#XMLID_7_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_26_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#97A3B1' clip-rule='evenodd' height='31'/>
+ <g>
+ <g>
+ <defs>
+ <rect y='30' width='83' id='XMLID_9_' height='1'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_9_' clip-rule='evenodd' fill='#5C5D60'/>
+ <clipPath id='XMLID_27_'>
+ <use xlink:href='#XMLID_9_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_27_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#55575C' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' height='31' width='36.443' clip-rule='evenodd' x='0.366' fill='#5C5D60'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <rect fill-rule='evenodd' height='24.607' width='40.004' clip-rule='evenodd' y='2.291' x='4.692' fill='none'/>
+ <g>
+ <g>
+ <defs>
+ <rect y='29.005' x='2.16' width='80' id='XMLID_11_' height='1'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_11_' clip-rule='evenodd' fill='#9E9C9C'/>
+ <clipPath id='XMLID_28_'>
+ <use xlink:href='#XMLID_11_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_28_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#97A3B1' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' height='31' width='36.443' clip-rule='evenodd' x='0.366' fill='#BEC0C2'/>
+ <g>
+ <g>
+ <defs>
+ <rect y='30' width='83' id='XMLID_13_' height='1'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_13_' clip-rule='evenodd' fill='#5C5D60'/>
+ <clipPath id='XMLID_29_'>
+ <use xlink:href='#XMLID_13_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_29_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#55575C' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' height='31' width='36.443' clip-rule='evenodd' x='0.366' fill='#5C5D60'/>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <rect y='0' x='82' width='1' id='XMLID_15_' height='31'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_15_' clip-rule='evenodd' fill='#5C5D60'/>
+ <clipPath id='XMLID_30_'>
+ <use xlink:href='#XMLID_15_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_30_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#55575C' clip-rule='evenodd' height='31'/>
+ <g>
+ <g>
+ <defs>
+ <rect y='30' width='83' id='XMLID_17_' height='1'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_17_' clip-rule='evenodd' fill='#383638'/>
+ <clipPath id='XMLID_31_'>
+ <use xlink:href='#XMLID_17_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_31_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#353537' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' height='31' width='36.443' clip-rule='evenodd' x='0.366' fill='#383638'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <rect y='1' x='80.806' width='1' id='XMLID_19_' height='30'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_19_' clip-rule='evenodd' fill='#949699'/>
+ <clipPath id='XMLID_32_'>
+ <use xlink:href='#XMLID_19_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_32_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#7E858E' clip-rule='evenodd' height='31'/>
+ <g>
+ <g>
+ <defs>
+ <rect y='30' width='83' id='XMLID_21_' height='1'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_21_' clip-rule='evenodd' fill='#4E4F50'/>
+ <clipPath id='XMLID_33_'>
+ <use xlink:href='#XMLID_21_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_33_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#494B4F' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' height='31' width='36.443' clip-rule='evenodd' x='0.366' fill='#4E4F50'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <rect fill-rule='evenodd' width='83' fill='#D1D3D4' clip-rule='evenodd' height='1'/>
+ <polyline fill-rule='evenodd' stroke='#005A9C' points=' 68.273,8.576 74.291,14.08 86.001,2.369 ' clip-rule='evenodd' stroke-miterlimit='3.8637' stroke-width='4.8115' fill='none'/>
+ <path fill-rule='evenodd' clip-rule='evenodd' d='M50.822,21.238c0.394,0,0.675-0.073,0.845-0.22 c0.172-0.146,0.258-0.387,0.259-0.723c0-0.332-0.086-0.569-0.259-0.713c-0.169-0.143-0.451-0.214-0.845-0.215h-0.791v1.87H50.822z M50.031,22.537v2.759h-1.88v-7.29h2.871c0.96,0,1.663,0.161,2.109,0.483c0.449,0.322,0.674,0.832,0.674,1.528 c0,0.482-0.117,0.877-0.352,1.187c-0.231,0.31-0.581,0.537-1.05,0.684c0.257,0.059,0.486,0.192,0.688,0.4 c0.205,0.205,0.412,0.518,0.62,0.938l1.021,2.07h-2.002l-0.889-1.812c-0.179-0.364-0.361-0.613-0.547-0.747 c-0.183-0.133-0.427-0.2-0.732-0.2H50.031z' fill='#231F20'/>
+ <path fill-rule='evenodd' clip-rule='evenodd' d='M57.231,19.426v4.448h0.674c0.768,0,1.354-0.19,1.758-0.571 c0.407-0.381,0.61-0.934,0.61-1.66c0-0.723-0.202-1.272-0.605-1.65c-0.404-0.377-0.991-0.566-1.763-0.566H57.231z M55.351,18.005 h1.982c1.106,0,1.93,0.08,2.471,0.239c0.543,0.156,1.009,0.423,1.396,0.801c0.342,0.329,0.596,0.708,0.762,1.138 s0.249,0.917,0.249,1.46c0,0.55-0.083,1.042-0.249,1.475c-0.166,0.43-0.42,0.809-0.762,1.138c-0.391,0.378-0.859,0.646-1.407,0.806 c-0.546,0.156-1.367,0.234-2.46,0.234h-1.982V18.005z' fill='#231F20'/>
+ <polygon fill-rule='evenodd' points='63.452,18.005 68.525,18.005 68.525,19.426 65.332,19.426 65.332,20.784 68.334,20.784 68.334,22.205 65.332,22.205 65.332,25.295 63.452,25.295 ' clip-rule='evenodd' fill='#231F20'/>
+ <path fill-rule='evenodd' clip-rule='evenodd' d='M71.956,22.834c-0.364,0-0.64,0.062-0.825,0.186 c-0.182,0.124-0.273,0.306-0.273,0.547c0,0.222,0.073,0.396,0.22,0.522c0.15,0.124,0.356,0.186,0.62,0.186 c0.329,0,0.605-0.117,0.83-0.352c0.225-0.237,0.337-0.534,0.337-0.889v-0.2H71.956z M74.626,22.175v3.12h-1.763v-0.811 c-0.234,0.332-0.498,0.575-0.791,0.728c-0.293,0.15-0.649,0.225-1.069,0.225c-0.566,0-1.027-0.164-1.382-0.493 c-0.352-0.332-0.527-0.762-0.527-1.289c0-0.641,0.22-1.111,0.659-1.411c0.443-0.299,1.136-0.449,2.08-0.449h1.03v-0.137 c0-0.276-0.109-0.479-0.327-0.605c-0.218-0.13-0.558-0.195-1.021-0.195c-0.374,0-0.723,0.038-1.045,0.112 c-0.322,0.075-0.622,0.188-0.898,0.337v-1.333c0.375-0.091,0.75-0.159,1.128-0.205c0.378-0.049,0.755-0.073,1.133-0.073 c0.986,0,1.698,0.195,2.134,0.586C74.407,20.668,74.626,21.3,74.626,22.175z' fill='#231F20'/>
+ <polygon fill-rule='evenodd' points='44.156,13.312 42.816,13.312 41.563,11.141 40.315,13.312 38.975,13.312 40.9,9.981 39.028,6.751 40.368,6.751 41.563,8.839 42.763,6.751 44.104,6.751 42.24,9.981 ' clip-rule='evenodd' fill='#231F20'/>
+ <polygon fill-rule='evenodd' points='44.877,6.751 46.173,6.751 46.173,9.252 47.795,9.252 47.795,6.751 49.091,6.751 49.091,13.312 47.795,13.312 47.795,10.395 46.173,10.395 46.173,13.312 44.877,13.312 ' clip-rule='evenodd' fill='#231F20'/>
+ <polygon fill-rule='evenodd' points='53.051,13.312 51.754,13.312 51.754,7.885 50.089,7.885 50.089,6.751 54.716,6.751 54.716,7.885 53.051,7.885 ' clip-rule='evenodd' fill='#231F20'/>
+ <polygon fill-rule='evenodd' points='55.49,6.751 57.037,6.751 57.819,9.629 58.597,6.751 60.152,6.751 60.152,13.312 59.036,13.312 59.036,8.057 58.342,10.926 57.309,10.926 56.606,8.057 56.606,13.312 55.49,13.312 ' clip-rule='evenodd' fill='#231F20'/>
+ <polygon fill-rule='evenodd' points='61.519,13.312 61.519,6.751 62.815,6.751 62.815,12.17 65.588,12.17 65.588,13.312 ' clip-rule='evenodd' fill='#231F20'/>
+ <polygon fill-rule='evenodd' points='42.086,19.118 42.086,21.007 43.976,21.007 43.976,22.053 42.086,22.053 42.086,23.952 41.045,23.952 41.045,22.053 39.146,22.053 39.146,21.007 41.045,21.007 41.045,19.118 ' clip-rule='evenodd' fill='#231F20'/>
+ </g>
+ <g id='Calque_1'>
+ <g>
+ <path d='M33.077,7.038l0.334,2.034l-1.185,2.266c0,0-0.455-0.961-1.21-1.494c-0.636-0.448-1.051-0.545-1.699-0.412 c-0.833,0.171-1.777,1.167-2.189,2.395c-0.493,1.469-0.498,2.179-0.515,2.832c-0.028,1.047,0.137,1.665,0.137,1.665 s-0.719-1.33-0.712-3.278c0.005-1.391,0.223-2.652,0.867-3.896c0.566-1.095,1.408-1.751,2.154-1.828 c0.772-0.08,1.382,0.292,1.854,0.695c0.495,0.423,0.996,1.348,0.996,1.348L33.077,7.038z' fill='#231F20'/>
+ <path d='M33.222,18.547c0,0-0.523,0.936-0.85,1.296c-0.326,0.361-0.91,0.996-1.631,1.313 c-0.721,0.317-1.099,0.377-1.811,0.309c-0.712-0.068-1.374-0.48-1.605-0.652c-0.232-0.172-0.824-0.678-1.159-1.15 c-0.335-0.472-0.858-1.416-0.858-1.416s0.292,0.946,0.474,1.348c0.105,0.231,0.428,0.938,0.886,1.553 c0.427,0.574,1.257,1.562,2.519,1.786c1.262,0.223,2.128-0.344,2.343-0.481c0.214-0.137,0.667-0.516,0.953-0.822 c0.298-0.32,0.582-0.728,0.738-0.972c0.114-0.178,0.301-0.541,0.301-0.541L33.222,18.547z' fill='#231F20'/>
+ </g>
+ <path d='M11.437,7.127l2.852,9.698l2.852-9.698h2.065l-4.721,15.933h-0.197l-2.951-9.875l-2.951,9.875H8.191 L3.47,7.127h2.065l2.853,9.698l1.928-6.531L9.372,7.127H11.437z' fill='#005A9C'/>
+ <path d='M25.072,17.946c0,1.443-0.384,2.656-1.151,3.639c-0.768,0.983-1.761,1.475-2.98,1.475 c-0.918,0-1.718-0.292-2.4-0.875c-0.682-0.583-1.187-1.374-1.515-2.371l1.613-0.668c0.236,0.603,0.548,1.079,0.935,1.426 c0.387,0.348,0.842,0.521,1.367,0.521c0.551,0,1.017-0.308,1.397-0.924s0.57-1.357,0.57-2.223c0-0.958-0.203-1.698-0.609-2.223 c-0.473-0.616-1.214-0.925-2.223-0.925h-0.787v-0.944l2.754-4.761h-3.325l-0.924,1.574h-0.59V7.127h7.672v0.964l-2.912,5.016 c1.023,0.328,1.797,0.925,2.321,1.791C24.809,15.763,25.072,16.779,25.072,17.946z' fill='#005A9C'/>
+ </g>
+ </g>
+</svg>
diff --git a/htdocs/images/valid_icons/valid-xhtml-rdfa-blue.gif b/htdocs/images/valid_icons/valid-xhtml-rdfa-blue.gif
new file mode 100644
index 0000000..170bfe9
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-xhtml-rdfa-blue.gif
Binary files differ
diff --git a/htdocs/images/valid_icons/valid-xhtml-rdfa-blue.png b/htdocs/images/valid_icons/valid-xhtml-rdfa-blue.png
new file mode 100644
index 0000000..d64a58b
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-xhtml-rdfa-blue.png
Binary files differ
diff --git a/htdocs/images/valid_icons/valid-xhtml-rdfa-v.svg b/htdocs/images/valid_icons/valid-xhtml-rdfa-v.svg
new file mode 100644
index 0000000..90cf529
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-xhtml-rdfa-v.svg
@@ -0,0 +1,209 @@
+<?xml version='1.0' encoding='iso-8859-1'?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns='http://www.w3.org/2000/svg' xml:space='preserve' version='1.1' overflow='visible' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 88 31'>
+ <g shape-rendering='geometricPrecision' text-rendering='geometricPrecision' image-rendering='optimizeQuality'>
+ <g id='Background'>
+ </g>
+ <g id='Guides'>
+ </g>
+ <g id='Foreground'>
+ <!-- <rect fill-rule='evenodd' width='88' fill='#FFFFFF' clip-rule='evenodd' height='31'/> -->
+ <rect fill-rule='evenodd' width='83' fill='#FFCC66' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' height='31' width='36.443' clip-rule='evenodd' x='0.366' fill='#FFFFFF'/>
+ <g>
+ <g>
+ <defs>
+ <rect y='30' width='83' id='XMLID_34_' height='1'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_34_' clip-rule='evenodd' fill='#504D4C'/>
+ <clipPath id='XMLID_56_'>
+ <use xlink:href='#XMLID_34_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_56_)'>
+ <rect fill-rule='evenodd' width='88' fill='#6F7073' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#6E695F' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' height='31' width='36.443' clip-rule='evenodd' x='0.366' fill='#6F7073'/>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <rect y='0' x='82' width='1' id='XMLID_36_' height='31'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_36_' clip-rule='evenodd' fill='#504D4C'/>
+ <clipPath id='XMLID_57_'>
+ <use xlink:href='#XMLID_36_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_57_)'>
+ <rect fill-rule='evenodd' width='88' fill='#6F7073' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#6E695F' clip-rule='evenodd' height='31'/>
+ <g>
+ <g>
+ <defs>
+ <rect y='30' width='83' id='XMLID_38_' height='1'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_38_' clip-rule='evenodd' fill='#404041'/>
+ <clipPath id='XMLID_58_'>
+ <use xlink:href='#XMLID_38_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_58_)'>
+ <rect fill-rule='evenodd' width='88' fill='#404041' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#403E3C' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' height='31' width='36.443' clip-rule='evenodd' x='0.366' fill='#404041'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <rect fill-rule='evenodd' width='1' fill='#D1D3D4' clip-rule='evenodd' height='31'/>
+ <g>
+ <g>
+ <defs>
+ <rect y='1' x='80.806' width='1' id='XMLID_40_' height='30'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_40_' clip-rule='evenodd' fill='#9E9C9C'/>
+ <clipPath id='XMLID_59_'>
+ <use xlink:href='#XMLID_40_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_59_)'>
+ <rect fill-rule='evenodd' width='88' fill='#BEC0C2' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#BEA87F' clip-rule='evenodd' height='31'/>
+ <g>
+ <g>
+ <defs>
+ <rect y='30' width='83' id='XMLID_42_' height='1'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_42_' clip-rule='evenodd' fill='#5C5D60'/>
+ <clipPath id='XMLID_60_'>
+ <use xlink:href='#XMLID_42_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_60_)'>
+ <rect fill-rule='evenodd' width='88' fill='#5C5D60' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#5C5852' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' height='31' width='36.443' clip-rule='evenodd' x='0.366' fill='#5C5D60'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <rect fill-rule='evenodd' height='24.607' width='40.004' clip-rule='evenodd' y='2.291' x='4.692' fill='none'/>
+ <g>
+ <g>
+ <defs>
+ <rect y='29.005' x='2.16' width='80' id='XMLID_44_' height='1'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_44_' clip-rule='evenodd' fill='#9E9C9C'/>
+ <clipPath id='XMLID_61_'>
+ <use xlink:href='#XMLID_44_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_61_)'>
+ <rect fill-rule='evenodd' width='88' fill='#BEC0C2' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#BEA87F' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' height='31' width='36.443' clip-rule='evenodd' x='0.366' fill='#BEC0C2'/>
+ <g>
+ <g>
+ <defs>
+ <rect y='30' width='83' id='XMLID_46_' height='1'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_46_' clip-rule='evenodd' fill='#5C5D60'/>
+ <clipPath id='XMLID_62_'>
+ <use xlink:href='#XMLID_46_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_62_)'>
+ <rect fill-rule='evenodd' width='88' fill='#5C5D60' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#5C5852' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' height='31' width='36.443' clip-rule='evenodd' x='0.366' fill='#5C5D60'/>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <rect y='0' x='82' width='1' id='XMLID_48_' height='31'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_48_' clip-rule='evenodd' fill='#5C5D60'/>
+ <clipPath id='XMLID_63_'>
+ <use xlink:href='#XMLID_48_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_63_)'>
+ <rect fill-rule='evenodd' width='88' fill='#5C5D60' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#5C5852' clip-rule='evenodd' height='31'/>
+ <g>
+ <g>
+ <defs>
+ <rect y='30' width='83' id='XMLID_50_' height='1'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_50_' clip-rule='evenodd' fill='#383638'/>
+ <clipPath id='XMLID_64_'>
+ <use xlink:href='#XMLID_50_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_64_)'>
+ <rect fill-rule='evenodd' width='88' fill='#383638' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#373534' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' height='31' width='36.443' clip-rule='evenodd' x='0.366' fill='#383638'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <rect y='1' x='80.806' width='1' id='XMLID_52_' height='30'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_52_' clip-rule='evenodd' fill='#949699'/>
+ <clipPath id='XMLID_65_'>
+ <use xlink:href='#XMLID_52_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_65_)'>
+ <rect fill-rule='evenodd' width='88' fill='#949699' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#948972' clip-rule='evenodd' height='31'/>
+ <g>
+ <g>
+ <defs>
+ <rect y='30' width='83' id='XMLID_54_' height='1'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_54_' clip-rule='evenodd' fill='#4E4F50'/>
+ <clipPath id='XMLID_66_'>
+ <use xlink:href='#XMLID_54_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_66_)'>
+ <rect fill-rule='evenodd' width='88' fill='#4E4F50' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#4E4B48' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' height='31' width='36.443' clip-rule='evenodd' x='0.366' fill='#4E4F50'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <rect fill-rule='evenodd' width='83' fill='#D1D3D4' clip-rule='evenodd' height='1'/>
+ <polyline fill-rule='evenodd' stroke='#990000' points=' 68.273,8.576 74.291,14.08 86.001,2.369 ' clip-rule='evenodd' stroke-miterlimit='3.8637' stroke-width='4.8115' fill='none'/>
+ <path fill-rule='evenodd' clip-rule='evenodd' d='M50.822,21.238c0.394,0,0.675-0.073,0.845-0.22 c0.172-0.146,0.258-0.387,0.259-0.723c0-0.332-0.086-0.569-0.259-0.713c-0.169-0.143-0.451-0.214-0.845-0.215h-0.791v1.87H50.822z M50.031,22.537v2.759h-1.88v-7.29h2.871c0.96,0,1.663,0.161,2.109,0.483c0.449,0.322,0.674,0.832,0.674,1.528 c0,0.482-0.117,0.877-0.352,1.187c-0.231,0.31-0.581,0.537-1.05,0.684c0.257,0.059,0.486,0.192,0.688,0.4 c0.205,0.205,0.412,0.518,0.62,0.938l1.021,2.07h-2.002l-0.889-1.812c-0.179-0.364-0.361-0.613-0.547-0.747 c-0.183-0.133-0.427-0.2-0.732-0.2H50.031z' fill='#231F20'/>
+ <path fill-rule='evenodd' clip-rule='evenodd' d='M57.231,19.426v4.448h0.674c0.768,0,1.354-0.19,1.758-0.571 c0.407-0.381,0.61-0.934,0.61-1.66c0-0.723-0.202-1.272-0.605-1.65c-0.404-0.377-0.991-0.566-1.763-0.566H57.231z M55.351,18.005 h1.982c1.106,0,1.93,0.08,2.471,0.239c0.543,0.156,1.009,0.423,1.396,0.801c0.342,0.329,0.596,0.708,0.762,1.138 s0.249,0.917,0.249,1.46c0,0.55-0.083,1.042-0.249,1.475c-0.166,0.43-0.42,0.809-0.762,1.138c-0.391,0.378-0.859,0.646-1.407,0.806 c-0.546,0.156-1.367,0.234-2.46,0.234h-1.982V18.005z' fill='#231F20'/>
+ <polygon fill-rule='evenodd' points='63.452,18.005 68.525,18.005 68.525,19.426 65.332,19.426 65.332,20.784 68.334,20.784 68.334,22.205 65.332,22.205 65.332,25.295 63.452,25.295 ' clip-rule='evenodd' fill='#231F20'/>
+ <path fill-rule='evenodd' clip-rule='evenodd' d='M71.956,22.834c-0.364,0-0.64,0.062-0.825,0.186 c-0.182,0.124-0.273,0.306-0.273,0.547c0,0.222,0.073,0.396,0.22,0.522c0.15,0.124,0.356,0.186,0.62,0.186 c0.329,0,0.605-0.117,0.83-0.352c0.225-0.237,0.337-0.534,0.337-0.889v-0.2H71.956z M74.626,22.175v3.12h-1.763v-0.811 c-0.234,0.332-0.498,0.575-0.791,0.728c-0.293,0.15-0.649,0.225-1.069,0.225c-0.566,0-1.027-0.164-1.382-0.493 c-0.352-0.332-0.527-0.762-0.527-1.289c0-0.641,0.22-1.111,0.659-1.411c0.443-0.299,1.136-0.449,2.08-0.449h1.03v-0.137 c0-0.276-0.109-0.479-0.327-0.605c-0.218-0.13-0.558-0.195-1.021-0.195c-0.374,0-0.723,0.038-1.045,0.112 c-0.322,0.075-0.622,0.188-0.898,0.337v-1.333c0.375-0.091,0.75-0.159,1.128-0.205c0.378-0.049,0.755-0.073,1.133-0.073 c0.986,0,1.698,0.195,2.134,0.586C74.407,20.668,74.626,21.3,74.626,22.175z' fill='#231F20'/>
+ <polygon fill-rule='evenodd' points='44.156,13.312 42.816,13.312 41.563,11.141 40.315,13.312 38.975,13.312 40.9,9.981 39.028,6.751 40.368,6.751 41.563,8.839 42.763,6.751 44.104,6.751 42.24,9.981 ' clip-rule='evenodd' fill='#231F20'/>
+ <polygon fill-rule='evenodd' points='44.877,6.751 46.173,6.751 46.173,9.252 47.795,9.252 47.795,6.751 49.091,6.751 49.091,13.312 47.795,13.312 47.795,10.395 46.173,10.395 46.173,13.312 44.877,13.312 ' clip-rule='evenodd' fill='#231F20'/>
+ <polygon fill-rule='evenodd' points='53.051,13.312 51.754,13.312 51.754,7.885 50.089,7.885 50.089,6.751 54.716,6.751 54.716,7.885 53.051,7.885 ' clip-rule='evenodd' fill='#231F20'/>
+ <polygon fill-rule='evenodd' points='55.49,6.751 57.037,6.751 57.819,9.629 58.597,6.751 60.152,6.751 60.152,13.312 59.036,13.312 59.036,8.057 58.342,10.926 57.309,10.926 56.606,8.057 56.606,13.312 55.49,13.312 ' clip-rule='evenodd' fill='#231F20'/>
+ <polygon fill-rule='evenodd' points='61.519,13.312 61.519,6.751 62.815,6.751 62.815,12.17 65.588,12.17 65.588,13.312 ' clip-rule='evenodd' fill='#231F20'/>
+ <polygon fill-rule='evenodd' points='42.086,19.118 42.086,21.007 43.976,21.007 43.976,22.053 42.086,22.053 42.086,23.952 41.045,23.952 41.045,22.053 39.146,22.053 39.146,21.007 41.045,21.007 41.045,19.118 ' clip-rule='evenodd' fill='#231F20'/>
+ </g>
+ <g id='Calque_1'>
+ <g>
+ <path d='M33.077,7.038l0.334,2.034l-1.185,2.266c0,0-0.455-0.961-1.21-1.494c-0.636-0.448-1.051-0.545-1.699-0.412 c-0.833,0.171-1.777,1.167-2.189,2.395c-0.493,1.469-0.498,2.179-0.515,2.832c-0.028,1.047,0.137,1.665,0.137,1.665 s-0.719-1.33-0.712-3.278c0.005-1.391,0.223-2.652,0.867-3.896c0.566-1.095,1.408-1.751,2.154-1.828 c0.772-0.08,1.382,0.292,1.854,0.695c0.495,0.423,0.996,1.348,0.996,1.348L33.077,7.038z' fill='#231F20'/>
+ <path d='M33.222,18.547c0,0-0.523,0.936-0.85,1.296c-0.326,0.361-0.91,0.996-1.631,1.313 c-0.721,0.317-1.099,0.377-1.811,0.309c-0.712-0.068-1.374-0.48-1.605-0.652c-0.232-0.172-0.824-0.678-1.159-1.15 c-0.335-0.472-0.858-1.416-0.858-1.416s0.292,0.946,0.474,1.348c0.105,0.231,0.428,0.938,0.886,1.553 c0.427,0.574,1.257,1.562,2.519,1.786c1.262,0.223,2.128-0.344,2.343-0.481c0.214-0.137,0.667-0.516,0.953-0.822 c0.298-0.32,0.582-0.728,0.738-0.972c0.114-0.178,0.301-0.541,0.301-0.541L33.222,18.547z' fill='#231F20'/>
+ </g>
+ <path d='M11.437,7.127l2.852,9.698l2.852-9.698h2.065l-4.721,15.933h-0.197l-2.951-9.875l-2.951,9.875H8.191 L3.47,7.127h2.065l2.853,9.698l1.928-6.531L9.372,7.127H11.437z' fill='#005A9C'/>
+ <path d='M25.072,17.946c0,1.443-0.384,2.656-1.151,3.639c-0.768,0.983-1.761,1.475-2.98,1.475 c-0.918,0-1.718-0.292-2.4-0.875c-0.682-0.583-1.187-1.374-1.515-2.371l1.613-0.668c0.236,0.603,0.548,1.079,0.935,1.426 c0.387,0.348,0.842,0.521,1.367,0.521c0.551,0,1.017-0.308,1.397-0.924s0.57-1.357,0.57-2.223c0-0.958-0.203-1.698-0.609-2.223 c-0.473-0.616-1.214-0.925-2.223-0.925h-0.787v-0.944l2.754-4.761h-3.325l-0.924,1.574h-0.59V7.127h7.672v0.964l-2.912,5.016 c1.023,0.328,1.797,0.925,2.321,1.791C24.809,15.763,25.072,16.779,25.072,17.946z' fill='#005A9C'/>
+ </g>
+ </g>
+</svg>
diff --git a/htdocs/images/valid_icons/valid-xhtml-rdfa.gif b/htdocs/images/valid_icons/valid-xhtml-rdfa.gif
new file mode 100644
index 0000000..2b7fab0
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-xhtml-rdfa.gif
Binary files differ
diff --git a/htdocs/images/valid_icons/valid-xhtml-rdfa.png b/htdocs/images/valid_icons/valid-xhtml-rdfa.png
new file mode 100644
index 0000000..66ab2e8
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-xhtml-rdfa.png
Binary files differ
diff --git a/htdocs/images/valid_icons/valid-xhtml10-blue-v.svg b/htdocs/images/valid_icons/valid-xhtml10-blue-v.svg
new file mode 100644
index 0000000..82141ee
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-xhtml10-blue-v.svg
@@ -0,0 +1,223 @@
+<?xml version='1.0' encoding='iso-8859-1'?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns='http://www.w3.org/2000/svg' xml:space='preserve' version='1.1' overflow='visible' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 88 31'>
+ <g shape-rendering='geometricPrecision' text-rendering='geometricPrecision' image-rendering='optimizeQuality'>
+ <g shape-rendering='geometricPrecision' text-rendering='geometricPrecision' image-rendering='optimizeQuality'>
+ <g id='Background'>
+ </g>
+ <g id='Guides'>
+ </g>
+ <g id='Foreground'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#B3CEE1' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' height='31' width='36.443' clip-rule='evenodd' x='0.365' fill='#FFFFFF'/>
+ <g>
+ <g>
+ <defs>
+ <rect y='30' width='83' id='XMLID_256_' height='1'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_256_' clip-rule='evenodd' fill='#504D4C'/>
+ <clipPath id='XMLID_278_'>
+ <use xlink:href='#XMLID_256_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_278_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#48494B' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' height='31' width='36.443' clip-rule='evenodd' x='0.365' fill='#4F4F4F'/>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <rect x='82' width='1' id='XMLID_258_' height='31'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_258_' clip-rule='evenodd' fill='#504D4C'/>
+ <clipPath id='XMLID_279_'>
+ <use xlink:href='#XMLID_258_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_279_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#48494B' clip-rule='evenodd' height='31'/>
+ <g>
+ <g>
+ <defs>
+ <rect y='30' width='83' id='XMLID_260_' height='1'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_260_' clip-rule='evenodd' fill='#191919'/>
+ <clipPath id='XMLID_280_'>
+ <use xlink:href='#XMLID_260_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_280_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#181818' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' height='31' width='36.443' clip-rule='evenodd' x='0.365' fill='#191919'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <rect fill-rule='evenodd' width='1' fill='#CCCCCC' clip-rule='evenodd' height='31'/>
+ <g>
+ <g>
+ <defs>
+ <rect y='1' x='80.806' width='1' id='XMLID_262_' height='30'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_262_' clip-rule='evenodd' fill='#9E9C9C'/>
+ <clipPath id='XMLID_281_'>
+ <use xlink:href='#XMLID_262_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_281_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#9097A0' clip-rule='evenodd' height='31'/>
+ <g>
+ <g>
+ <defs>
+ <rect y='30' width='83' id='XMLID_264_' height='1'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_264_' clip-rule='evenodd' fill='#383838'/>
+ <clipPath id='XMLID_282_'>
+ <use xlink:href='#XMLID_264_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_282_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#343536' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' height='31' width='36.443' clip-rule='evenodd' x='0.365' fill='#383838'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <polygon points='4.692,2.291 44.697,2.291 44.697,26.897 4.692,26.897 4.692,2.291 ' fill='none'/>
+ <path d='M24.695,14.594' fill='none'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='2.16,29.005 82.16,29.005 82.16,30.005 2.16,30.005 2.16,29.005 ' id='XMLID_266_'/>
+ </defs>
+ <use xlink:href='#XMLID_266_' fill='#9E9C9C'/>
+ <clipPath id='XMLID_283_'>
+ <use xlink:href='#XMLID_266_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_283_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#9097A0' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' height='31' width='36.443' clip-rule='evenodd' x='0.365' fill='#B5B5B5'/>
+ <g>
+ <g>
+ <defs>
+ <rect y='30' width='83' id='XMLID_268_' height='1'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_268_' clip-rule='evenodd' fill='#383838'/>
+ <clipPath id='XMLID_284_'>
+ <use xlink:href='#XMLID_268_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_284_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#343536' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' height='31' width='36.443' clip-rule='evenodd' x='0.365' fill='#383838'/>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <rect x='82' width='1' id='XMLID_270_' height='31'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_270_' clip-rule='evenodd' fill='#383838'/>
+ <clipPath id='XMLID_285_'>
+ <use xlink:href='#XMLID_270_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_285_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#343536' clip-rule='evenodd' height='31'/>
+ <g>
+ <g>
+ <defs>
+ <rect y='30' width='83' id='XMLID_272_' height='1'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_272_' clip-rule='evenodd' fill='#131313'/>
+ <clipPath id='XMLID_286_'>
+ <use xlink:href='#XMLID_272_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_286_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#131313' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' height='31' width='36.443' clip-rule='evenodd' x='0.365' fill='#131313'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <rect y='1' x='80.806' width='1' id='XMLID_274_' height='30'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_274_' clip-rule='evenodd' fill='#818181'/>
+ <clipPath id='XMLID_287_'>
+ <use xlink:href='#XMLID_274_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_287_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#6E7176' clip-rule='evenodd' height='31'/>
+ <g>
+ <g>
+ <defs>
+ <rect y='30' width='83' id='XMLID_276_' height='1'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_276_' clip-rule='evenodd' fill='#272727'/>
+ <clipPath id='XMLID_288_'>
+ <use xlink:href='#XMLID_276_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_288_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#252626' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' height='31' width='36.443' clip-rule='evenodd' x='0.365' fill='#272727'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,1 0,1 0,0 ' fill='#CCCCCC'/>
+ <path d='M41.5,0.5' fill='#CCCCCC'/>
+ </g>
+ <g>
+ <polyline fill-rule='evenodd' stroke='#005A9C' points=' 68.273,18.844 74.291,24.348 86.001,12.637 ' clip-rule='evenodd' stroke-miterlimit='3.8637' stroke-width='4.8117' fill='none'/>
+ </g>
+ <g>
+ <g>
+ <path d='M33.077,7.037l0.334,2.034l-1.185,2.266c0,0-0.455-0.961-1.21-1.493c-0.636-0.449-1.051-0.546-1.699-0.412 c-0.833,0.171-1.777,1.167-2.189,2.395c-0.493,1.469-0.498,2.179-0.515,2.833c-0.027,1.046,0.137,1.665,0.137,1.665 s-0.719-1.331-0.712-3.279c0.005-1.391,0.223-2.652,0.867-3.896c0.566-1.094,1.408-1.751,2.154-1.828 c0.772-0.08,1.382,0.292,1.854,0.695c0.495,0.423,0.996,1.348,0.996,1.348L33.077,7.037z'/>
+ <path d='M33.222,18.546c0,0-0.523,0.936-0.85,1.296c-0.326,0.36-0.91,0.996-1.631,1.313c-0.721,0.317-1.099,0.377-1.811,0.309 c-0.712-0.069-1.374-0.481-1.605-0.652c-0.232-0.172-0.824-0.678-1.159-1.15c-0.335-0.473-0.858-1.417-0.858-1.417 s0.292,0.946,0.474,1.348c0.105,0.231,0.428,0.938,0.886,1.553c0.427,0.574,1.257,1.562,2.519,1.785s2.128-0.343,2.343-0.48 c0.214-0.137,0.667-0.516,0.953-0.822c0.299-0.32,0.582-0.728,0.738-0.972c0.114-0.178,0.301-0.541,0.301-0.541L33.222,18.546z'/>
+ </g>
+ <g>
+ <path d='M11.437,7.127l2.852,9.698l2.852-9.698h2.065L14.486,23.06h-0.197l-2.951-9.875L8.388,23.06H8.191 L3.47,7.127h2.065l2.852,9.698l1.928-6.531L9.372,7.127H11.437z' fill='#005A9C'/>
+ <path d='M25.072,17.946c0,1.443-0.384,2.656-1.151,3.64c-0.767,0.983-1.76,1.475-2.98,1.475 c-0.918,0-1.718-0.292-2.4-0.875c-0.682-0.583-1.187-1.374-1.515-2.371l1.613-0.668c0.236,0.604,0.548,1.079,0.935,1.426 c0.387,0.347,0.843,0.521,1.367,0.521c0.551,0,1.016-0.308,1.397-0.924s0.571-1.357,0.571-2.223c0-0.957-0.204-1.698-0.61-2.223 c-0.472-0.616-1.214-0.925-2.223-0.925h-0.787v-0.944l2.754-4.761h-3.325l-0.925,1.574h-0.59V7.127h7.672v0.964l-2.912,5.016 c1.023,0.328,1.797,0.925,2.321,1.791C24.809,15.763,25.072,16.779,25.072,17.946z' fill='#005A9C'/>
+ </g>
+ </g>
+ <g>
+ <polygon points='44.053,9.391 46.583,13.112 44.625,13.112 42.92,10.622 41.231,13.112 39.263,13.112 41.792,9.391 39.361,5.822 41.324,5.822 42.92,8.17 44.512,5.822 46.485,5.822 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ <polygon points='47.8,5.822 49.68,5.822 49.68,8.6 52.454,8.6 52.454,5.822 54.333,5.822 54.333,13.112 52.454,13.112 52.454,10.021 49.68,10.021 49.68,13.112 47.8,13.112 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ <polygon points='55.4,5.822 62.119,5.822 62.119,7.243 59.702,7.243 59.702,13.112 57.822,13.112 57.822,7.243 55.4,7.243 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ <polygon points='63.191,5.822 65.583,5.822 67.244,9.723 68.914,5.822 71.301,5.822 71.301,13.112 69.524,13.112 69.524,7.78 67.844,11.71 66.653,11.71 64.973,7.78 64.973,13.112 63.191,13.112 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ <polygon points='73.242,5.822 75.122,5.822 75.122,11.691 78.422,11.691 78.422,13.112 73.242,13.112 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ </g>
+ <g>
+ <polygon points='40.028,22.996 41.688,22.996 41.688,18.284 39.984,18.636 39.984,17.356 41.679,17.005 43.466,17.005 43.466,22.996 45.126,22.996 45.126,24.295 40.028,24.295 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ <rect fill-rule='evenodd' height='1.89' width='1.758' clip-rule='evenodd' y='22.405' x='46.435'/>
+ <path clip-rule='evenodd' d='M54.213,20.643c0-0.911-0.086-1.552-0.259-1.924 c-0.169-0.374-0.456-0.561-0.859-0.562c-0.404,0-0.692,0.188-0.864,0.562c-0.173,0.371-0.259,1.013-0.259,1.924 c0,0.921,0.086,1.571,0.259,1.948c0.172,0.378,0.46,0.566,0.864,0.566c0.4,0,0.687-0.188,0.859-0.566 C54.127,22.213,54.213,21.564,54.213,20.643z M56.093,20.657c0,1.208-0.261,2.141-0.781,2.798 c-0.521,0.654-1.26,0.981-2.217,0.981c-0.96,0-1.701-0.327-2.222-0.981c-0.521-0.657-0.781-1.59-0.781-2.798 c0-1.211,0.26-2.144,0.781-2.798c0.521-0.657,1.262-0.986,2.222-0.986c0.957,0,1.696,0.329,2.217,0.986 C55.833,18.514,56.093,19.446,56.093,20.657z' fill-rule='evenodd'/>
+ </g>
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/htdocs/images/valid_icons/valid-xhtml10-blue.gif b/htdocs/images/valid_icons/valid-xhtml10-blue.gif
new file mode 100644
index 0000000..cee6742
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-xhtml10-blue.gif
Binary files differ
diff --git a/htdocs/images/valid_icons/valid-xhtml10-blue.png b/htdocs/images/valid_icons/valid-xhtml10-blue.png
new file mode 100644
index 0000000..e971248
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-xhtml10-blue.png
Binary files differ
diff --git a/htdocs/images/valid_icons/valid-xhtml10-v.svg b/htdocs/images/valid_icons/valid-xhtml10-v.svg
new file mode 100644
index 0000000..9c710a0
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-xhtml10-v.svg
@@ -0,0 +1,225 @@
+<?xml version='1.0' encoding='iso-8859-1'?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns='http://www.w3.org/2000/svg' xml:space='preserve' version='1.1' overflow='visible' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 88 31'>
+ <g shape-rendering='geometricPrecision' text-rendering='geometricPrecision' image-rendering='optimizeQuality'>
+ <g id='Background'>
+ </g>
+ <g id='Guides'>
+ </g>
+ <g id='Foreground'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#FFCC66' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' height='31' width='36.443' clip-rule='evenodd' x='0.365' fill='#FFFFFF'/>
+ <g>
+ <g>
+ <defs>
+ <rect y='30' width='83' id='XMLID_901_' height='1'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_901_' clip-rule='evenodd' fill='#504D4C'/>
+ <clipPath id='XMLID_923_'>
+ <use xlink:href='#XMLID_901_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_923_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#4E4B3F' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' height='31' width='36.443' clip-rule='evenodd' x='0.365' fill='#4F4F4F'/>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <rect y='0' x='82' width='1' id='XMLID_903_' height='31'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_903_' clip-rule='evenodd' fill='#504D4C'/>
+ <clipPath id='XMLID_924_'>
+ <use xlink:href='#XMLID_903_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_924_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#4E4B3F' clip-rule='evenodd' height='31'/>
+ <g>
+ <g>
+ <defs>
+ <rect y='30' width='83' id='XMLID_905_' height='1'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_905_' clip-rule='evenodd' fill='#191919'/>
+ <clipPath id='XMLID_925_'>
+ <use xlink:href='#XMLID_905_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_925_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#191917' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' height='31' width='36.443' clip-rule='evenodd' x='0.366' fill='#191919'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <rect fill-rule='evenodd' width='1' fill='#CCCCCC' clip-rule='evenodd' height='31'/>
+ <g>
+ <g>
+ <defs>
+ <rect y='1' x='80.806' width='1' id='XMLID_907_' height='30'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_907_' clip-rule='evenodd' fill='#9E9C9C'/>
+ <clipPath id='XMLID_926_'>
+ <use xlink:href='#XMLID_907_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_926_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#B39F67' clip-rule='evenodd' height='31'/>
+ <g>
+ <g>
+ <defs>
+ <rect y='30' width='83' id='XMLID_909_' height='1'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_909_' clip-rule='evenodd' fill='#383838'/>
+ <clipPath id='XMLID_927_'>
+ <use xlink:href='#XMLID_909_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_927_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#383530' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' height='31' width='36.443' clip-rule='evenodd' x='0.366' fill='#383838'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <polygon points='4.692,2.291 44.697,2.291 44.697,26.898 4.692,26.898 4.692,2.291 ' fill='none'/>
+ <path d='M24.695,14.594' fill='none'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='2.16,29.005 82.16,29.005 82.16,30.005 2.16,30.005 2.16,29.005 ' id='XMLID_911_'/>
+ </defs>
+ <use xlink:href='#XMLID_911_' fill='#9E9C9C'/>
+ <clipPath id='XMLID_928_'>
+ <use xlink:href='#XMLID_911_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_928_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#B39F67' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' height='31' width='36.443' clip-rule='evenodd' x='0.365' fill='#B5B5B5'/>
+ <g>
+ <g>
+ <defs>
+ <rect y='30' width='83' id='XMLID_913_' height='1'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_913_' clip-rule='evenodd' fill='#383838'/>
+ <clipPath id='XMLID_929_'>
+ <use xlink:href='#XMLID_913_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_929_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#383530' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' height='31' width='36.443' clip-rule='evenodd' x='0.366' fill='#383838'/>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <rect y='0' x='82' width='1' id='XMLID_915_' height='31'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_915_' clip-rule='evenodd' fill='#383838'/>
+ <clipPath id='XMLID_930_'>
+ <use xlink:href='#XMLID_915_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_930_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#383530' clip-rule='evenodd' height='31'/>
+ <g>
+ <g>
+ <defs>
+ <rect y='30' width='83' id='XMLID_917_' height='1'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_917_' clip-rule='evenodd' fill='#131313'/>
+ <clipPath id='XMLID_931_'>
+ <use xlink:href='#XMLID_917_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_931_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#131313' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' height='31' width='36.443' clip-rule='evenodd' x='0.366' fill='#131313'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <rect y='1' x='80.806' width='1' id='XMLID_919_' height='30'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_919_' clip-rule='evenodd' fill='#818181'/>
+ <clipPath id='XMLID_932_'>
+ <use xlink:href='#XMLID_919_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_932_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#807659' clip-rule='evenodd' height='31'/>
+ <g>
+ <g>
+ <defs>
+ <rect y='30' width='83' id='XMLID_921_' height='1'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_921_' clip-rule='evenodd' fill='#272727'/>
+ <clipPath id='XMLID_933_'>
+ <use xlink:href='#XMLID_921_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_933_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#272623' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' height='31' width='36.443' clip-rule='evenodd' x='0.366' fill='#272727'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,1 0,1 0,0 ' fill='#CCCCCC'/>
+ <path d='M41.5,0.5' fill='#CCCCCC'/>
+ </g>
+ <g>
+ <polyline fill-rule='evenodd' stroke='#990000' points=' 68.273,18.845 74.291,24.348 86.001,12.637 ' clip-rule='evenodd' stroke-miterlimit='3.8637' stroke-width='4.8117' fill='none'/>
+ </g>
+ <g>
+ <g>
+ <path d='M33.077,7.038l0.334,2.034l-1.185,2.266c0,0-0.455-0.961-1.21-1.494c-0.636-0.448-1.051-0.545-1.699-0.412 c-0.833,0.171-1.777,1.167-2.189,2.395c-0.493,1.469-0.498,2.179-0.515,2.832c-0.028,1.047,0.137,1.665,0.137,1.665 s-0.719-1.33-0.712-3.278c0.005-1.391,0.223-2.652,0.867-3.896c0.566-1.095,1.407-1.751,2.154-1.828 c0.772-0.08,1.383,0.292,1.854,0.695c0.495,0.423,0.996,1.348,0.996,1.348L33.077,7.038z'/>
+ <path d='M33.222,18.547c0,0-0.523,0.936-0.85,1.296c-0.326,0.361-0.91,0.996-1.63,1.313c-0.721,0.317-1.099,0.377-1.811,0.309 c-0.712-0.068-1.373-0.48-1.605-0.652c-0.231-0.172-0.824-0.678-1.159-1.15s-0.858-1.416-0.858-1.416s0.292,0.946,0.474,1.347 c0.105,0.231,0.428,0.938,0.886,1.554c0.427,0.574,1.257,1.562,2.519,1.785s2.128-0.343,2.343-0.48 c0.214-0.137,0.667-0.516,0.953-0.822c0.299-0.32,0.582-0.728,0.738-0.972c0.114-0.179,0.301-0.541,0.301-0.541L33.222,18.547z'/>
+ </g>
+ <g>
+ <path d='M11.437,7.127l2.852,9.698l2.852-9.698h2.065l-4.721,15.933h-0.197l-2.95-9.875l-2.951,9.875H8.191 L3.47,7.127h2.065l2.853,9.698l1.928-6.531L9.372,7.127H11.437z' fill='#005A9C'/>
+ <path d='M25.072,17.946c0,1.443-0.384,2.656-1.151,3.639c-0.767,0.983-1.761,1.475-2.98,1.475 c-0.918,0-1.718-0.292-2.4-0.875c-0.682-0.583-1.187-1.374-1.515-2.371l1.613-0.668c0.236,0.603,0.548,1.079,0.935,1.426 c0.387,0.348,0.843,0.521,1.367,0.521c0.551,0,1.016-0.308,1.397-0.924s0.571-1.357,0.571-2.223c0-0.958-0.203-1.698-0.61-2.223 c-0.473-0.616-1.214-0.925-2.223-0.925h-0.787v-0.944l2.754-4.761h-3.325l-0.925,1.574h-0.59V7.127h7.672v0.964l-2.911,5.016 c1.023,0.328,1.797,0.925,2.321,1.791C24.809,15.763,25.072,16.779,25.072,17.946z' fill='#005A9C'/>
+ </g>
+ </g>
+ <g>
+ <polygon points='44.053,9.392 46.583,13.112 44.625,13.112 42.92,10.622 41.231,13.112 39.263,13.112 41.792,9.392 39.361,5.822 41.324,5.822 42.92,8.171 44.512,5.822 46.485,5.822 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ <polygon points='47.801,5.822 49.681,5.822 49.681,8.601 52.454,8.601 52.454,5.822 54.334,5.822 54.334,13.112 52.454,13.112 52.454,10.021 49.681,10.021 49.681,13.112 47.801,13.112 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ <polygon points='55.4,5.822 62.119,5.822 62.119,7.243 59.702,7.243 59.702,13.112 57.822,13.112 57.822,7.243 55.4,7.243 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ <polygon points='63.191,5.822 65.583,5.822 67.244,9.724 68.914,5.822 71.301,5.822 71.301,13.112 69.524,13.112 69.524,7.78 67.844,11.711 66.653,11.711 64.973,7.78 64.973,13.112 63.191,13.112 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ <polygon points='73.242,5.822 75.122,5.822 75.122,11.691 78.423,11.691 78.423,13.112 73.242,13.112 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ </g>
+ <g>
+ <polygon points='40.028,22.997 41.688,22.997 41.688,18.285 39.984,18.636 39.984,17.357 41.679,17.005 43.466,17.005 43.466,22.997 45.126,22.997 45.126,24.295 40.028,24.295 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ <rect fill-rule='evenodd' height='1.89' width='1.758' clip-rule='evenodd' y='22.406' x='46.435'/>
+ <path clip-rule='evenodd' d='M54.213,20.643c0-0.912-0.086-1.553-0.259-1.924 c-0.169-0.375-0.456-0.562-0.859-0.562c-0.404,0-0.692,0.187-0.864,0.562c-0.173,0.371-0.259,1.012-0.259,1.924 c0,0.921,0.086,1.571,0.259,1.948c0.172,0.377,0.46,0.566,0.864,0.566c0.4,0,0.687-0.189,0.859-0.566 C54.127,22.214,54.213,21.564,54.213,20.643z M56.093,20.658c0,1.208-0.261,2.14-0.781,2.798c-0.521,0.654-1.26,0.981-2.217,0.981 c-0.96,0-1.701-0.327-2.222-0.981c-0.521-0.658-0.781-1.59-0.781-2.798c0-1.211,0.26-2.144,0.781-2.798 c0.521-0.658,1.261-0.986,2.222-0.986c0.957,0,1.696,0.329,2.217,0.986C55.833,18.514,56.093,19.447,56.093,20.658z' fill-rule='evenodd'/>
+ </g>
+ </g>
+ <g id='Calque_1'>
+ </g>
+ <g id='Layer_1'>
+ </g>
+ </g>
+</svg>
diff --git a/htdocs/images/valid_icons/valid-xhtml10.gif b/htdocs/images/valid_icons/valid-xhtml10.gif
new file mode 100644
index 0000000..2332f41
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-xhtml10.gif
Binary files differ
diff --git a/htdocs/images/valid_icons/valid-xhtml10.png b/htdocs/images/valid_icons/valid-xhtml10.png
new file mode 100644
index 0000000..b81de91
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-xhtml10.png
Binary files differ
diff --git a/htdocs/images/valid_icons/valid-xhtml11-blue-v.svg b/htdocs/images/valid_icons/valid-xhtml11-blue-v.svg
new file mode 100644
index 0000000..a3bcd31
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-xhtml11-blue-v.svg
@@ -0,0 +1,372 @@
+<?xml version='1.0' encoding='iso-8859-1'?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns='http://www.w3.org/2000/svg' xml:space='preserve' version='1.1' overflow='visible' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 88 31'>
+ <g shape-rendering='geometricPrecision' text-rendering='geometricPrecision' image-rendering='optimizeQuality'>
+ <g shape-rendering='geometricPrecision' text-rendering='geometricPrecision' image-rendering='optimizeQuality'>
+ <g id='Background'>
+ </g>
+ <g id='Guides'>
+ </g>
+ <g id='Foreground'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#B3CEE1'/>
+ <path d='M41.5,15.5' fill='#B3CEE1'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#FFFFFF'/>
+ <path d='M18.587,15.5' fill='#FFFFFF'/>
+ </g>
+ <g>
+ <polygon points='4.692,2.291 44.697,2.291 44.697,26.898 4.692,26.898 4.692,2.291 ' fill='none'/>
+ <path d='M24.695,14.594' fill='none'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_217_'/>
+ </defs>
+ <use xlink:href='#XMLID_217_' fill='#504D4C'/>
+ <clipPath id='XMLID_243_'>
+ <use xlink:href='#XMLID_217_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_243_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#48494B'/>
+ <path d='M41.5,15.5' fill='#48494B'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#4F4F4F'/>
+ <path d='M18.587,15.5' fill='#4F4F4F'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='82,0 83,0 83,31 82,31 82,0 ' id='XMLID_219_'/>
+ </defs>
+ <use xlink:href='#XMLID_219_' fill='#504D4C'/>
+ <clipPath id='XMLID_244_'>
+ <use xlink:href='#XMLID_219_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_244_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#48494B'/>
+ <path d='M41.5,15.5' fill='#48494B'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_221_'/>
+ </defs>
+ <use xlink:href='#XMLID_221_' fill='#191919'/>
+ <clipPath id='XMLID_245_'>
+ <use xlink:href='#XMLID_221_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_245_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#181818'/>
+ <path d='M41.5,15.5' fill='#181818'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#191919'/>
+ <path d='M18.587,15.5' fill='#191919'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <polygon points='0,0 1,0 1,31 0,31 0,0 ' fill='#CCCCCC'/>
+ <path d='M0.5,15.5' fill='#CCCCCC'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='2.16,29.005 82.16,29.005 82.16,30.005 2.16,30.005 2.16,29.005 ' id='XMLID_223_'/>
+ </defs>
+ <use xlink:href='#XMLID_223_' fill='#9E9C9C'/>
+ <clipPath id='XMLID_246_'>
+ <use xlink:href='#XMLID_223_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_246_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#9097A0'/>
+ <path d='M41.5,15.5' fill='#9097A0'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#B5B5B5'/>
+ <path d='M18.587,15.5' fill='#B5B5B5'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_225_'/>
+ </defs>
+ <use xlink:href='#XMLID_225_' fill='#383838'/>
+ <clipPath id='XMLID_247_'>
+ <use xlink:href='#XMLID_225_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_247_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#343536'/>
+ <path d='M41.5,15.5' fill='#343536'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#383838'/>
+ <path d='M18.587,15.5' fill='#383838'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='82,0 83,0 83,31 82,31 82,0 ' id='XMLID_227_'/>
+ </defs>
+ <use xlink:href='#XMLID_227_' fill='#383838'/>
+ <clipPath id='XMLID_248_'>
+ <use xlink:href='#XMLID_227_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_248_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#343536'/>
+ <path d='M41.5,15.5' fill='#343536'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_229_'/>
+ </defs>
+ <use xlink:href='#XMLID_229_' fill='#131313'/>
+ <clipPath id='XMLID_249_'>
+ <use xlink:href='#XMLID_229_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_249_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#131313'/>
+ <path d='M41.5,15.5' fill='#131313'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#131313'/>
+ <path d='M18.587,15.5' fill='#131313'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='80.806,1 81.806,1 81.806,31 80.806,31 80.806,1 ' id='XMLID_231_'/>
+ </defs>
+ <use xlink:href='#XMLID_231_' fill='#9E9C9C'/>
+ <clipPath id='XMLID_250_'>
+ <use xlink:href='#XMLID_231_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_250_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#9097A0'/>
+ <path d='M41.5,15.5' fill='#9097A0'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_233_'/>
+ </defs>
+ <use xlink:href='#XMLID_233_' fill='#383838'/>
+ <clipPath id='XMLID_251_'>
+ <use xlink:href='#XMLID_233_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_251_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#343536'/>
+ <path d='M41.5,15.5' fill='#343536'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#383838'/>
+ <path d='M18.587,15.5' fill='#383838'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='2.16,29.005 82.16,29.005 82.16,30.005 2.16,30.005 2.16,29.005 ' id='XMLID_235_'/>
+ </defs>
+ <use xlink:href='#XMLID_235_' fill='#818181'/>
+ <clipPath id='XMLID_252_'>
+ <use xlink:href='#XMLID_235_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_252_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#6E7176'/>
+ <path d='M41.5,15.5' fill='#6E7176'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#818181'/>
+ <path d='M18.587,15.5' fill='#818181'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_237_'/>
+ </defs>
+ <use xlink:href='#XMLID_237_' fill='#272727'/>
+ <clipPath id='XMLID_253_'>
+ <use xlink:href='#XMLID_237_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_253_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#252626'/>
+ <path d='M41.5,15.5' fill='#252626'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#272727'/>
+ <path d='M18.587,15.5' fill='#272727'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='82,0 83,0 83,31 82,31 82,0 ' id='XMLID_239_'/>
+ </defs>
+ <use xlink:href='#XMLID_239_' fill='#272727'/>
+ <clipPath id='XMLID_254_'>
+ <use xlink:href='#XMLID_239_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_254_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#252626'/>
+ <path d='M41.5,15.5' fill='#252626'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_241_'/>
+ </defs>
+ <use xlink:href='#XMLID_241_' fill='#101010'/>
+ <clipPath id='XMLID_255_'>
+ <use xlink:href='#XMLID_241_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_255_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#101010'/>
+ <path d='M41.5,15.5' fill='#101010'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#101010'/>
+ <path d='M18.587,15.5' fill='#101010'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,1 0,1 0,0 ' fill='#CCCCCC'/>
+ <path d='M41.5,0.5' fill='#CCCCCC'/>
+ </g>
+ <g>
+ <polyline fill-rule='evenodd' stroke='#005A9C' points=' 68.273,18.845 74.291,24.348 86.001,12.637 ' clip-rule='evenodd' stroke-miterlimit='3.8637' stroke-width='4.8117' fill='none'/>
+ </g>
+ <g>
+ <g>
+ <path d='M33.077,7.037l0.334,2.034l-1.185,2.266c0,0-0.455-0.961-1.21-1.494c-0.636-0.448-1.051-0.545-1.699-0.412 c-0.833,0.171-1.777,1.167-2.189,2.395c-0.493,1.469-0.498,2.179-0.515,2.832c-0.027,1.047,0.137,1.665,0.137,1.665 s-0.719-1.33-0.712-3.278c0.005-1.391,0.223-2.652,0.867-3.896c0.566-1.095,1.408-1.751,2.154-1.829 c0.772-0.08,1.382,0.293,1.854,0.695c0.495,0.423,0.996,1.348,0.996,1.348L33.077,7.037z'/>
+ <path d='M33.222,18.547c0,0-0.523,0.936-0.85,1.296c-0.326,0.361-0.91,0.996-1.631,1.313c-0.721,0.317-1.099,0.377-1.811,0.309 c-0.712-0.068-1.374-0.48-1.605-0.652c-0.232-0.172-0.824-0.678-1.159-1.15s-0.858-1.416-0.858-1.416s0.292,0.946,0.474,1.348 c0.105,0.231,0.428,0.938,0.886,1.553c0.427,0.574,1.257,1.562,2.519,1.785s2.128-0.343,2.343-0.48 c0.214-0.137,0.667-0.516,0.953-0.822c0.299-0.32,0.582-0.728,0.738-0.972c0.114-0.179,0.301-0.541,0.301-0.541L33.222,18.547z'/>
+ </g>
+ <g>
+ <path d='M11.437,7.127l2.852,9.698l2.852-9.698h2.065l-4.721,15.933h-0.197l-2.951-9.875l-2.951,9.875H8.191 L3.47,7.127h2.065l2.852,9.698l1.928-6.531L9.372,7.127H11.437z' fill='#005A9C'/>
+ <path d='M25.072,17.946c0,1.443-0.384,2.656-1.151,3.639c-0.767,0.983-1.76,1.475-2.98,1.475 c-0.918,0-1.718-0.292-2.4-0.875c-0.682-0.583-1.187-1.374-1.515-2.371l1.613-0.668c0.236,0.603,0.548,1.079,0.935,1.426 c0.387,0.348,0.843,0.521,1.367,0.521c0.551,0,1.016-0.308,1.397-0.924s0.571-1.357,0.571-2.223c0-0.958-0.204-1.698-0.61-2.223 c-0.472-0.616-1.214-0.925-2.223-0.925h-0.787v-0.944l2.754-4.761h-3.325l-0.925,1.574h-0.59V7.127h7.672v0.964l-2.912,5.016 c1.023,0.328,1.797,0.925,2.321,1.791C24.809,15.763,25.072,16.779,25.072,17.946z' fill='#005A9C'/>
+ </g>
+ </g>
+ <g>
+ <polygon points='44.053,9.392 46.583,13.112 44.625,13.112 42.92,10.622 41.231,13.112 39.263,13.112 41.792,9.392 39.361,5.822 41.324,5.822 42.92,8.171 44.512,5.822 46.485,5.822 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ <polygon points='47.8,5.822 49.68,5.822 49.68,8.601 52.454,8.601 52.454,5.822 54.333,5.822 54.333,13.112 52.454,13.112 52.454,10.021 49.68,10.021 49.68,13.112 47.8,13.112 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ <polygon points='55.4,5.822 62.119,5.822 62.119,7.243 59.702,7.243 59.702,13.112 57.822,13.112 57.822,7.243 55.4,7.243 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ <polygon points='63.191,5.822 65.583,5.822 67.244,9.724 68.914,5.822 71.301,5.822 71.301,13.112 69.524,13.112 69.524,7.78 67.844,11.711 66.653,11.711 64.973,7.78 64.973,13.112 63.191,13.112 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ <polygon points='73.242,5.822 75.122,5.822 75.122,11.691 78.422,11.691 78.422,13.112 73.242,13.112 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ </g>
+ <g>
+ <polygon points='40.028,22.997 41.688,22.997 41.688,18.285 39.984,18.636 39.984,17.357 41.679,17.005 43.466,17.005 43.466,22.997 45.126,22.997 45.126,24.295 40.028,24.295 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ <rect fill-rule='evenodd' height='1.89' width='1.758' clip-rule='evenodd' y='22.406' x='46.435'/>
+ <polygon points='49.985,22.997 51.646,22.997 51.646,18.285 49.941,18.636 49.941,17.357 51.636,17.005 53.423,17.005 53.423,22.997 55.083,22.997 55.083,24.295 49.985,24.295 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ </g>
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/htdocs/images/valid_icons/valid-xhtml11-blue.gif b/htdocs/images/valid_icons/valid-xhtml11-blue.gif
new file mode 100644
index 0000000..aa7979d
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-xhtml11-blue.gif
Binary files differ
diff --git a/htdocs/images/valid_icons/valid-xhtml11-blue.png b/htdocs/images/valid_icons/valid-xhtml11-blue.png
new file mode 100644
index 0000000..88fefcb
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-xhtml11-blue.png
Binary files differ
diff --git a/htdocs/images/valid_icons/valid-xhtml11-v.svg b/htdocs/images/valid_icons/valid-xhtml11-v.svg
new file mode 100644
index 0000000..d62ca98
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-xhtml11-v.svg
@@ -0,0 +1,374 @@
+<?xml version='1.0' encoding='iso-8859-1'?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns='http://www.w3.org/2000/svg' xml:space='preserve' version='1.1' overflow='visible' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 88 31'>
+ <g shape-rendering='geometricPrecision' text-rendering='geometricPrecision' image-rendering='optimizeQuality'>
+ <g id='Background'>
+ </g>
+ <g id='Guides'>
+ </g>
+ <g id='Foreground'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#FFCC66'/>
+ <path d='M41.5,15.5' fill='#FFCC66'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#FFFFFF'/>
+ <path d='M18.587,15.5' fill='#FFFFFF'/>
+ </g>
+ <g>
+ <polygon points='4.692,2.291 44.697,2.291 44.697,26.897 4.692,26.897 4.692,2.291 ' fill='none'/>
+ <path d='M24.695,14.594' fill='none'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_862_'/>
+ </defs>
+ <use xlink:href='#XMLID_862_' fill='#504D4C'/>
+ <clipPath id='XMLID_888_'>
+ <use xlink:href='#XMLID_862_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_888_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#4E4B3F'/>
+ <path d='M41.5,15.5' fill='#4E4B3F'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#4F4F4F'/>
+ <path d='M18.587,15.5' fill='#4F4F4F'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='82,0 83,0 83,31 82,31 82,0 ' id='XMLID_864_'/>
+ </defs>
+ <use xlink:href='#XMLID_864_' fill='#504D4C'/>
+ <clipPath id='XMLID_889_'>
+ <use xlink:href='#XMLID_864_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_889_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#4E4B3F'/>
+ <path d='M41.5,15.5' fill='#4E4B3F'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_866_'/>
+ </defs>
+ <use xlink:href='#XMLID_866_' fill='#191919'/>
+ <clipPath id='XMLID_890_'>
+ <use xlink:href='#XMLID_866_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_890_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#191917'/>
+ <path d='M41.5,15.5' fill='#191917'/>
+ </g>
+ <g>
+ <polygon points='0.366,0 36.809,0 36.809,31 0.366,31 0.366,0 ' fill='#191919'/>
+ <path d='M18.587,15.5' fill='#191919'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <polygon points='0,0 1,0 1,31 0,31 0,0 ' fill='#CCCCCC'/>
+ <path d='M0.5,15.5' fill='#CCCCCC'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='2.16,29.005 82.16,29.005 82.16,30.005 2.16,30.005 2.16,29.005 ' id='XMLID_868_'/>
+ </defs>
+ <use xlink:href='#XMLID_868_' fill='#9E9C9C'/>
+ <clipPath id='XMLID_891_'>
+ <use xlink:href='#XMLID_868_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_891_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#B39F67'/>
+ <path d='M41.5,15.5' fill='#B39F67'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#B5B5B5'/>
+ <path d='M18.587,15.5' fill='#B5B5B5'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_870_'/>
+ </defs>
+ <use xlink:href='#XMLID_870_' fill='#383838'/>
+ <clipPath id='XMLID_892_'>
+ <use xlink:href='#XMLID_870_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_892_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#383530'/>
+ <path d='M41.5,15.5' fill='#383530'/>
+ </g>
+ <g>
+ <polygon points='0.366,0 36.809,0 36.809,31 0.366,31 0.366,0 ' fill='#383838'/>
+ <path d='M18.587,15.5' fill='#383838'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='82,0 83,0 83,31 82,31 82,0 ' id='XMLID_872_'/>
+ </defs>
+ <use xlink:href='#XMLID_872_' fill='#383838'/>
+ <clipPath id='XMLID_893_'>
+ <use xlink:href='#XMLID_872_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_893_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#383530'/>
+ <path d='M41.5,15.5' fill='#383530'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_874_'/>
+ </defs>
+ <use xlink:href='#XMLID_874_' fill='#131313'/>
+ <clipPath id='XMLID_894_'>
+ <use xlink:href='#XMLID_874_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_894_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#131313'/>
+ <path d='M41.5,15.5' fill='#131313'/>
+ </g>
+ <g>
+ <polygon points='0.366,0 36.809,0 36.809,31 0.366,31 0.366,0 ' fill='#131313'/>
+ <path d='M18.587,15.5' fill='#131313'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='80.806,1 81.806,1 81.806,31 80.806,31 80.806,1 ' id='XMLID_876_'/>
+ </defs>
+ <use xlink:href='#XMLID_876_' fill='#9E9C9C'/>
+ <clipPath id='XMLID_895_'>
+ <use xlink:href='#XMLID_876_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_895_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#B39F67'/>
+ <path d='M41.5,15.5' fill='#B39F67'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_878_'/>
+ </defs>
+ <use xlink:href='#XMLID_878_' fill='#383838'/>
+ <clipPath id='XMLID_896_'>
+ <use xlink:href='#XMLID_878_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_896_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#383530'/>
+ <path d='M41.5,15.5' fill='#383530'/>
+ </g>
+ <g>
+ <polygon points='0.366,0 36.809,0 36.809,31 0.366,31 0.366,0 ' fill='#383838'/>
+ <path d='M18.587,15.5' fill='#383838'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='2.16,29.005 82.16,29.005 82.16,30.005 2.16,30.005 2.16,29.005 ' id='XMLID_880_'/>
+ </defs>
+ <use xlink:href='#XMLID_880_' fill='#818181'/>
+ <clipPath id='XMLID_897_'>
+ <use xlink:href='#XMLID_880_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_897_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#807659'/>
+ <path d='M41.5,15.5' fill='#807659'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#818181'/>
+ <path d='M18.587,15.5' fill='#818181'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_882_'/>
+ </defs>
+ <use xlink:href='#XMLID_882_' fill='#272727'/>
+ <clipPath id='XMLID_898_'>
+ <use xlink:href='#XMLID_882_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_898_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#272623'/>
+ <path d='M41.5,15.5' fill='#272623'/>
+ </g>
+ <g>
+ <polygon points='0.366,0 36.809,0 36.809,31 0.366,31 0.366,0 ' fill='#272727'/>
+ <path d='M18.587,15.5' fill='#272727'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='82,0 83,0 83,31 82,31 82,0 ' id='XMLID_884_'/>
+ </defs>
+ <use xlink:href='#XMLID_884_' fill='#272727'/>
+ <clipPath id='XMLID_899_'>
+ <use xlink:href='#XMLID_884_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_899_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#272623'/>
+ <path d='M41.5,15.5' fill='#272623'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_886_'/>
+ </defs>
+ <use xlink:href='#XMLID_886_' fill='#101010'/>
+ <clipPath id='XMLID_900_'>
+ <use xlink:href='#XMLID_886_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_900_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#101010'/>
+ <path d='M41.5,15.5' fill='#101010'/>
+ </g>
+ <g>
+ <polygon points='0.366,0 36.809,0 36.809,31 0.366,31 0.366,0 ' fill='#101010'/>
+ <path d='M18.587,15.5' fill='#101010'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,1 0,1 0,0 ' fill='#CCCCCC'/>
+ <path d='M41.5,0.5' fill='#CCCCCC'/>
+ </g>
+ <g>
+ <polyline fill-rule='evenodd' stroke='#990000' points=' 68.273,18.844 74.291,24.348 86.001,12.637 ' clip-rule='evenodd' stroke-miterlimit='3.8637' stroke-width='4.8117' fill='none'/>
+ </g>
+ <g>
+ <g>
+ <path d='M33.077,7.037l0.334,2.034l-1.185,2.266c0,0-0.455-0.961-1.21-1.494c-0.636-0.448-1.051-0.545-1.699-0.412 c-0.833,0.172-1.777,1.167-2.189,2.395c-0.493,1.468-0.498,2.179-0.515,2.832c-0.028,1.047,0.137,1.665,0.137,1.665 s-0.719-1.33-0.712-3.279c0.005-1.39,0.223-2.652,0.867-3.896c0.566-1.094,1.407-1.75,2.154-1.828 c0.772-0.08,1.383,0.292,1.854,0.695c0.495,0.423,0.996,1.348,0.996,1.348L33.077,7.037z'/>
+ <path d='M33.222,18.547c0,0-0.523,0.936-0.85,1.296s-0.91,0.996-1.63,1.313c-0.721,0.318-1.099,0.378-1.811,0.309 c-0.712-0.068-1.373-0.48-1.605-0.652c-0.231-0.171-0.824-0.678-1.159-1.15s-0.858-1.416-0.858-1.416s0.292,0.946,0.474,1.347 c0.105,0.231,0.428,0.938,0.886,1.554c0.427,0.574,1.257,1.562,2.519,1.785s2.128-0.343,2.343-0.481 c0.214-0.137,0.667-0.516,0.953-0.821c0.299-0.32,0.582-0.728,0.738-0.972c0.114-0.179,0.301-0.541,0.301-0.541L33.222,18.547z'/>
+ </g>
+ <g>
+ <path d='M11.437,7.127l2.852,9.698l2.852-9.698h2.065l-4.721,15.934h-0.197l-2.95-9.875l-2.951,9.875H8.191 L3.47,7.127h2.065l2.853,9.698l1.928-6.53L9.372,7.127H11.437z' fill='#005A9C'/>
+ <path d='M25.072,17.946c0,1.443-0.384,2.656-1.151,3.639c-0.767,0.983-1.761,1.475-2.98,1.475 c-0.918,0-1.718-0.292-2.4-0.875c-0.682-0.583-1.187-1.373-1.515-2.37l1.613-0.668c0.236,0.603,0.548,1.079,0.935,1.426 c0.387,0.348,0.843,0.521,1.367,0.521c0.551,0,1.016-0.308,1.397-0.924c0.38-0.617,0.571-1.357,0.571-2.223 c0-0.958-0.203-1.699-0.61-2.223c-0.473-0.617-1.214-0.925-2.223-0.925h-0.787v-0.944l2.754-4.761h-3.325l-0.925,1.574h-0.59 V7.127h7.672v0.964l-2.911,5.016c1.023,0.328,1.797,0.925,2.321,1.791S25.072,16.779,25.072,17.946z' fill='#005A9C'/>
+ </g>
+ </g>
+ <g>
+ <polygon points='44.053,9.392 46.583,13.112 44.625,13.112 42.92,10.622 41.231,13.112 39.263,13.112 41.792,9.392 39.361,5.822 41.324,5.822 42.92,8.171 44.512,5.822 46.485,5.822 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ <polygon points='47.801,5.822 49.681,5.822 49.681,8.601 52.454,8.601 52.454,5.822 54.334,5.822 54.334,13.112 52.454,13.112 52.454,10.021 49.681,10.021 49.681,13.112 47.801,13.112 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ <polygon points='55.4,5.822 62.119,5.822 62.119,7.243 59.702,7.243 59.702,13.112 57.822,13.112 57.822,7.243 55.4,7.243 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ <polygon points='63.191,5.822 65.583,5.822 67.244,9.724 68.914,5.822 71.301,5.822 71.301,13.112 69.524,13.112 69.524,7.78 67.844,11.711 66.653,11.711 64.973,7.78 64.973,13.112 63.191,13.112 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ <polygon points='73.242,5.822 75.122,5.822 75.122,11.691 78.423,11.691 78.423,13.112 73.242,13.112 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ </g>
+ <g>
+ <polygon points='40.028,22.997 41.688,22.997 41.688,18.285 39.984,18.636 39.984,17.357 41.679,17.005 43.466,17.005 43.466,22.997 45.126,22.997 45.126,24.295 40.028,24.295 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ <rect fill-rule='evenodd' height='1.89' width='1.758' clip-rule='evenodd' y='22.406' x='46.435'/>
+ <polygon points='49.985,22.997 51.646,22.997 51.646,18.285 49.941,18.636 49.941,17.357 51.636,17.005 53.423,17.005 53.423,22.997 55.083,22.997 55.083,24.295 49.985,24.295 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ </g>
+ </g>
+ <g id='Calque_1'>
+ </g>
+ <g id='Layer_1'>
+ </g>
+ </g>
+</svg>
diff --git a/htdocs/images/valid_icons/valid-xhtml11.gif b/htdocs/images/valid_icons/valid-xhtml11.gif
new file mode 100644
index 0000000..1c92435
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-xhtml11.gif
Binary files differ
diff --git a/htdocs/images/valid_icons/valid-xhtml11.png b/htdocs/images/valid_icons/valid-xhtml11.png
new file mode 100644
index 0000000..1529ac9
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-xhtml11.png
Binary files differ
diff --git a/htdocs/images/valid_icons/valid-xhtml20-blue-v.svg b/htdocs/images/valid_icons/valid-xhtml20-blue-v.svg
new file mode 100644
index 0000000..51d164c
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-xhtml20-blue-v.svg
@@ -0,0 +1,372 @@
+<?xml version='1.0' encoding='iso-8859-1'?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns='http://www.w3.org/2000/svg' xml:space='preserve' version='1.1' overflow='visible' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 88 31'>
+ <g shape-rendering='geometricPrecision' text-rendering='geometricPrecision' image-rendering='optimizeQuality'>
+ <g shape-rendering='geometricPrecision' text-rendering='geometricPrecision' image-rendering='optimizeQuality'>
+ <g id='Background'>
+ </g>
+ <g id='Guides'>
+ </g>
+ <g id='Foreground'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#B3CEE1'/>
+ <path d='M41.5,15.5' fill='#B3CEE1'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#FFFFFF'/>
+ <path d='M18.587,15.5' fill='#FFFFFF'/>
+ </g>
+ <g>
+ <polygon points='4.692,2.291 44.697,2.291 44.697,26.898 4.692,26.898 4.692,2.291 ' fill='none'/>
+ <path d='M24.695,14.594' fill='none'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_178_'/>
+ </defs>
+ <use xlink:href='#XMLID_178_' fill='#504D4C'/>
+ <clipPath id='XMLID_204_'>
+ <use xlink:href='#XMLID_178_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_204_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#48494B'/>
+ <path d='M41.5,15.5' fill='#48494B'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#4F4F4F'/>
+ <path d='M18.587,15.5' fill='#4F4F4F'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='82,0 83,0 83,31 82,31 82,0 ' id='XMLID_180_'/>
+ </defs>
+ <use xlink:href='#XMLID_180_' fill='#504D4C'/>
+ <clipPath id='XMLID_205_'>
+ <use xlink:href='#XMLID_180_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_205_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#48494B'/>
+ <path d='M41.5,15.5' fill='#48494B'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_182_'/>
+ </defs>
+ <use xlink:href='#XMLID_182_' fill='#191919'/>
+ <clipPath id='XMLID_206_'>
+ <use xlink:href='#XMLID_182_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_206_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#181818'/>
+ <path d='M41.5,15.5' fill='#181818'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#191919'/>
+ <path d='M18.587,15.5' fill='#191919'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <polygon points='0,0 1,0 1,31 0,31 0,0 ' fill='#CCCCCC'/>
+ <path d='M0.5,15.5' fill='#CCCCCC'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='2.16,29.005 82.16,29.005 82.16,30.005 2.16,30.005 2.16,29.005 ' id='XMLID_184_'/>
+ </defs>
+ <use xlink:href='#XMLID_184_' fill='#9E9C9C'/>
+ <clipPath id='XMLID_207_'>
+ <use xlink:href='#XMLID_184_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_207_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#9097A0'/>
+ <path d='M41.5,15.5' fill='#9097A0'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#B5B5B5'/>
+ <path d='M18.587,15.5' fill='#B5B5B5'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_186_'/>
+ </defs>
+ <use xlink:href='#XMLID_186_' fill='#383838'/>
+ <clipPath id='XMLID_208_'>
+ <use xlink:href='#XMLID_186_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_208_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#343536'/>
+ <path d='M41.5,15.5' fill='#343536'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#383838'/>
+ <path d='M18.587,15.5' fill='#383838'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='82,0 83,0 83,31 82,31 82,0 ' id='XMLID_188_'/>
+ </defs>
+ <use xlink:href='#XMLID_188_' fill='#383838'/>
+ <clipPath id='XMLID_209_'>
+ <use xlink:href='#XMLID_188_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_209_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#343536'/>
+ <path d='M41.5,15.5' fill='#343536'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_190_'/>
+ </defs>
+ <use xlink:href='#XMLID_190_' fill='#131313'/>
+ <clipPath id='XMLID_210_'>
+ <use xlink:href='#XMLID_190_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_210_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#131313'/>
+ <path d='M41.5,15.5' fill='#131313'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#131313'/>
+ <path d='M18.587,15.5' fill='#131313'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='80.806,1 81.806,1 81.806,31 80.806,31 80.806,1 ' id='XMLID_192_'/>
+ </defs>
+ <use xlink:href='#XMLID_192_' fill='#9E9C9C'/>
+ <clipPath id='XMLID_211_'>
+ <use xlink:href='#XMLID_192_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_211_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#9097A0'/>
+ <path d='M41.5,15.5' fill='#9097A0'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_194_'/>
+ </defs>
+ <use xlink:href='#XMLID_194_' fill='#383838'/>
+ <clipPath id='XMLID_212_'>
+ <use xlink:href='#XMLID_194_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_212_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#343536'/>
+ <path d='M41.5,15.5' fill='#343536'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#383838'/>
+ <path d='M18.587,15.5' fill='#383838'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='2.16,29.005 82.16,29.005 82.16,30.005 2.16,30.005 2.16,29.005 ' id='XMLID_196_'/>
+ </defs>
+ <use xlink:href='#XMLID_196_' fill='#818181'/>
+ <clipPath id='XMLID_213_'>
+ <use xlink:href='#XMLID_196_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_213_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#6E7176'/>
+ <path d='M41.5,15.5' fill='#6E7176'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#818181'/>
+ <path d='M18.587,15.5' fill='#818181'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_198_'/>
+ </defs>
+ <use xlink:href='#XMLID_198_' fill='#272727'/>
+ <clipPath id='XMLID_214_'>
+ <use xlink:href='#XMLID_198_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_214_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#252626'/>
+ <path d='M41.5,15.5' fill='#252626'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#272727'/>
+ <path d='M18.587,15.5' fill='#272727'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='82,0 83,0 83,31 82,31 82,0 ' id='XMLID_200_'/>
+ </defs>
+ <use xlink:href='#XMLID_200_' fill='#272727'/>
+ <clipPath id='XMLID_215_'>
+ <use xlink:href='#XMLID_200_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_215_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#252626'/>
+ <path d='M41.5,15.5' fill='#252626'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_202_'/>
+ </defs>
+ <use xlink:href='#XMLID_202_' fill='#101010'/>
+ <clipPath id='XMLID_216_'>
+ <use xlink:href='#XMLID_202_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_216_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#101010'/>
+ <path d='M41.5,15.5' fill='#101010'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#101010'/>
+ <path d='M18.587,15.5' fill='#101010'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,1 0,1 0,0 ' fill='#CCCCCC'/>
+ <path d='M41.5,0.5' fill='#CCCCCC'/>
+ </g>
+ <g>
+ <polyline fill-rule='evenodd' stroke='#005A9C' points=' 68.273,18.845 74.291,24.349 86.001,12.637 ' clip-rule='evenodd' stroke-miterlimit='3.8637' stroke-width='4.8117' fill='none'/>
+ </g>
+ <g>
+ <g>
+ <path d='M33.077,7.038l0.334,2.034l-1.185,2.266c0,0-0.455-0.961-1.21-1.494c-0.636-0.448-1.051-0.545-1.699-0.412 c-0.833,0.171-1.777,1.167-2.189,2.395c-0.493,1.469-0.498,2.179-0.515,2.832c-0.027,1.047,0.137,1.665,0.137,1.665 s-0.719-1.33-0.712-3.278c0.005-1.391,0.223-2.652,0.867-3.896c0.566-1.095,1.408-1.751,2.154-1.828 c0.772-0.08,1.382,0.292,1.854,0.695c0.495,0.423,0.996,1.348,0.996,1.348L33.077,7.038z'/>
+ <path d='M33.222,18.547c0,0-0.523,0.936-0.85,1.296c-0.326,0.361-0.91,0.996-1.631,1.313c-0.721,0.317-1.099,0.377-1.811,0.309 c-0.712-0.068-1.374-0.48-1.605-0.652c-0.232-0.172-0.824-0.678-1.159-1.15s-0.858-1.416-0.858-1.416s0.292,0.946,0.474,1.348 c0.105,0.231,0.428,0.938,0.886,1.553c0.427,0.574,1.257,1.562,2.519,1.785s2.128-0.343,2.343-0.48 c0.214-0.137,0.667-0.516,0.953-0.822c0.299-0.32,0.582-0.728,0.738-0.972c0.114-0.179,0.301-0.541,0.301-0.541L33.222,18.547z'/>
+ </g>
+ <g>
+ <path d='M11.437,7.127l2.852,9.698l2.852-9.698h2.065l-4.721,15.933h-0.197l-2.951-9.875l-2.951,9.875H8.191 L3.47,7.127h2.065l2.852,9.698l1.928-6.531L9.372,7.127H11.437z' fill='#005A9C'/>
+ <path d='M25.072,17.946c0,1.443-0.384,2.656-1.151,3.64c-0.767,0.983-1.76,1.475-2.98,1.475 c-0.918,0-1.718-0.292-2.4-0.875c-0.682-0.583-1.187-1.374-1.515-2.371l1.613-0.668c0.236,0.604,0.548,1.079,0.935,1.426 c0.387,0.348,0.843,0.521,1.367,0.521c0.551,0,1.016-0.308,1.397-0.924s0.571-1.357,0.571-2.223c0-0.958-0.204-1.698-0.61-2.223 c-0.472-0.616-1.214-0.925-2.223-0.925h-0.787v-0.944l2.754-4.761h-3.325l-0.925,1.574h-0.59V7.127h7.672v0.964l-2.912,5.016 c1.023,0.328,1.797,0.925,2.321,1.79C24.809,15.763,25.072,16.779,25.072,17.946z' fill='#005A9C'/>
+ </g>
+ </g>
+ <g>
+ <polygon points='44.053,9.392 46.583,13.112 44.625,13.112 42.92,10.622 41.231,13.112 39.263,13.112 41.792,9.392 39.361,5.822 41.324,5.822 42.92,8.171 44.512,5.822 46.485,5.822 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ <polygon points='47.8,5.822 49.68,5.822 49.68,8.601 52.454,8.601 52.454,5.822 54.333,5.822 54.333,13.112 52.454,13.112 52.454,10.021 49.68,10.021 49.68,13.112 47.8,13.112 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ <polygon points='55.4,5.822 62.119,5.822 62.119,7.243 59.702,7.243 59.702,13.112 57.822,13.112 57.822,7.243 55.4,7.243 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ <polygon points='63.191,5.822 65.583,5.822 67.244,9.724 68.914,5.822 71.301,5.822 71.301,13.112 69.524,13.112 69.524,7.78 67.844,11.711 66.653,11.711 64.973,7.78 64.973,13.112 63.191,13.112 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ <polygon points='73.242,5.822 75.122,5.822 75.122,11.691 78.422,11.691 78.422,13.112 73.242,13.112 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ </g>
+ <g>
+ <path clip-rule='evenodd' d='M41.737,22.914h3.208v1.382h-5.298v-1.382l2.661-2.349 c0.238-0.215,0.414-0.425,0.527-0.63s0.171-0.418,0.171-0.64c0-0.342-0.116-0.617-0.347-0.825 c-0.228-0.208-0.532-0.313-0.913-0.313c-0.293,0-0.614,0.063-0.962,0.19c-0.348,0.124-0.721,0.31-1.118,0.557v-1.602 c0.423-0.14,0.841-0.246,1.255-0.317c0.414-0.075,0.819-0.112,1.216-0.112c0.873,0,1.549,0.192,2.031,0.576 c0.485,0.384,0.728,0.92,0.728,1.606c0,0.397-0.103,0.769-0.308,1.113c-0.205,0.342-0.636,0.801-1.294,1.377L41.737,22.914z' fill-rule='evenodd'/>
+ <rect fill-rule='evenodd' height='1.89' width='1.758' clip-rule='evenodd' y='22.406' x='47.435'/>
+ <path clip-rule='evenodd' d='M55.413,20.643c0-0.911-0.086-1.553-0.259-1.924 c-0.169-0.374-0.456-0.562-0.859-0.562c-0.404,0-0.692,0.188-0.864,0.562c-0.173,0.371-0.259,1.013-0.259,1.924 c0,0.921,0.086,1.571,0.259,1.948c0.172,0.378,0.46,0.566,0.864,0.566c0.4,0,0.687-0.188,0.859-0.566 C55.327,22.214,55.413,21.564,55.413,20.643z M57.293,20.658c0,1.208-0.261,2.141-0.781,2.798 c-0.521,0.654-1.26,0.981-2.217,0.981c-0.96,0-1.701-0.327-2.222-0.981c-0.521-0.657-0.781-1.59-0.781-2.798 c0-1.211,0.26-2.144,0.781-2.798c0.521-0.657,1.261-0.986,2.222-0.986c0.957,0,1.696,0.329,2.217,0.986 C57.032,18.514,57.292,19.447,57.293,20.658z' fill-rule='evenodd'/>
+ </g>
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/htdocs/images/valid_icons/valid-xhtml20-blue.gif b/htdocs/images/valid_icons/valid-xhtml20-blue.gif
new file mode 100644
index 0000000..969f40d
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-xhtml20-blue.gif
Binary files differ
diff --git a/htdocs/images/valid_icons/valid-xhtml20-blue.png b/htdocs/images/valid_icons/valid-xhtml20-blue.png
new file mode 100644
index 0000000..3e86fc3
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-xhtml20-blue.png
Binary files differ
diff --git a/htdocs/images/valid_icons/valid-xhtml20-v.svg b/htdocs/images/valid_icons/valid-xhtml20-v.svg
new file mode 100644
index 0000000..63f0ac0
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-xhtml20-v.svg
@@ -0,0 +1,374 @@
+<?xml version='1.0' encoding='iso-8859-1'?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns='http://www.w3.org/2000/svg' xml:space='preserve' version='1.1' overflow='visible' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 88 31'>
+ <g shape-rendering='geometricPrecision' text-rendering='geometricPrecision' image-rendering='optimizeQuality'>
+ <g id='Background'>
+ </g>
+ <g id='Guides'>
+ </g>
+ <g id='Foreground'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#FFCC66'/>
+ <path d='M41.5,15.5' fill='#FFCC66'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#FFFFFF'/>
+ <path d='M18.587,15.5' fill='#FFFFFF'/>
+ </g>
+ <g>
+ <polygon points='4.692,2.291 44.697,2.291 44.697,26.898 4.692,26.898 4.692,2.291 ' fill='none'/>
+ <path d='M24.695,14.594' fill='none'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_823_'/>
+ </defs>
+ <use xlink:href='#XMLID_823_' fill='#504D4C'/>
+ <clipPath id='XMLID_849_'>
+ <use xlink:href='#XMLID_823_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_849_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#4E4B3F'/>
+ <path d='M41.5,15.5' fill='#4E4B3F'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#4F4F4F'/>
+ <path d='M18.587,15.5' fill='#4F4F4F'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='82,0 83,0 83,31 82,31 82,0 ' id='XMLID_825_'/>
+ </defs>
+ <use xlink:href='#XMLID_825_' fill='#504D4C'/>
+ <clipPath id='XMLID_850_'>
+ <use xlink:href='#XMLID_825_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_850_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#4E4B3F'/>
+ <path d='M41.5,15.5' fill='#4E4B3F'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_827_'/>
+ </defs>
+ <use xlink:href='#XMLID_827_' fill='#191919'/>
+ <clipPath id='XMLID_851_'>
+ <use xlink:href='#XMLID_827_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_851_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#191917'/>
+ <path d='M41.5,15.5' fill='#191917'/>
+ </g>
+ <g>
+ <polygon points='0.366,0 36.809,0 36.809,31 0.366,31 0.366,0 ' fill='#191919'/>
+ <path d='M18.587,15.5' fill='#191919'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <polygon points='0,0 1,0 1,31 0,31 0,0 ' fill='#CCCCCC'/>
+ <path d='M0.5,15.5' fill='#CCCCCC'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='2.16,29.005 82.16,29.005 82.16,30.005 2.16,30.005 2.16,29.005 ' id='XMLID_829_'/>
+ </defs>
+ <use xlink:href='#XMLID_829_' fill='#9E9C9C'/>
+ <clipPath id='XMLID_852_'>
+ <use xlink:href='#XMLID_829_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_852_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#B39F67'/>
+ <path d='M41.5,15.5' fill='#B39F67'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#B5B5B5'/>
+ <path d='M18.587,15.5' fill='#B5B5B5'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_831_'/>
+ </defs>
+ <use xlink:href='#XMLID_831_' fill='#383838'/>
+ <clipPath id='XMLID_853_'>
+ <use xlink:href='#XMLID_831_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_853_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#383530'/>
+ <path d='M41.5,15.5' fill='#383530'/>
+ </g>
+ <g>
+ <polygon points='0.366,0 36.809,0 36.809,31 0.366,31 0.366,0 ' fill='#383838'/>
+ <path d='M18.587,15.5' fill='#383838'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='82,0 83,0 83,31 82,31 82,0 ' id='XMLID_833_'/>
+ </defs>
+ <use xlink:href='#XMLID_833_' fill='#383838'/>
+ <clipPath id='XMLID_854_'>
+ <use xlink:href='#XMLID_833_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_854_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#383530'/>
+ <path d='M41.5,15.5' fill='#383530'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_835_'/>
+ </defs>
+ <use xlink:href='#XMLID_835_' fill='#131313'/>
+ <clipPath id='XMLID_855_'>
+ <use xlink:href='#XMLID_835_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_855_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#131313'/>
+ <path d='M41.5,15.5' fill='#131313'/>
+ </g>
+ <g>
+ <polygon points='0.366,0 36.809,0 36.809,31 0.366,31 0.366,0 ' fill='#131313'/>
+ <path d='M18.587,15.5' fill='#131313'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='80.806,1 81.806,1 81.806,31 80.806,31 80.806,1 ' id='XMLID_837_'/>
+ </defs>
+ <use xlink:href='#XMLID_837_' fill='#9E9C9C'/>
+ <clipPath id='XMLID_856_'>
+ <use xlink:href='#XMLID_837_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_856_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#B39F67'/>
+ <path d='M41.5,15.5' fill='#B39F67'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_839_'/>
+ </defs>
+ <use xlink:href='#XMLID_839_' fill='#383838'/>
+ <clipPath id='XMLID_857_'>
+ <use xlink:href='#XMLID_839_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_857_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#383530'/>
+ <path d='M41.5,15.5' fill='#383530'/>
+ </g>
+ <g>
+ <polygon points='0.366,0 36.809,0 36.809,31 0.366,31 0.366,0 ' fill='#383838'/>
+ <path d='M18.587,15.5' fill='#383838'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='2.16,29.005 82.16,29.005 82.16,30.005 2.16,30.005 2.16,29.005 ' id='XMLID_841_'/>
+ </defs>
+ <use xlink:href='#XMLID_841_' fill='#818181'/>
+ <clipPath id='XMLID_858_'>
+ <use xlink:href='#XMLID_841_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_858_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#807659'/>
+ <path d='M41.5,15.5' fill='#807659'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#818181'/>
+ <path d='M18.587,15.5' fill='#818181'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_843_'/>
+ </defs>
+ <use xlink:href='#XMLID_843_' fill='#272727'/>
+ <clipPath id='XMLID_859_'>
+ <use xlink:href='#XMLID_843_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_859_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#272623'/>
+ <path d='M41.5,15.5' fill='#272623'/>
+ </g>
+ <g>
+ <polygon points='0.366,0 36.809,0 36.809,31 0.366,31 0.366,0 ' fill='#272727'/>
+ <path d='M18.587,15.5' fill='#272727'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='82,0 83,0 83,31 82,31 82,0 ' id='XMLID_845_'/>
+ </defs>
+ <use xlink:href='#XMLID_845_' fill='#272727'/>
+ <clipPath id='XMLID_860_'>
+ <use xlink:href='#XMLID_845_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_860_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#272623'/>
+ <path d='M41.5,15.5' fill='#272623'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_847_'/>
+ </defs>
+ <use xlink:href='#XMLID_847_' fill='#101010'/>
+ <clipPath id='XMLID_861_'>
+ <use xlink:href='#XMLID_847_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_861_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#101010'/>
+ <path d='M41.5,15.5' fill='#101010'/>
+ </g>
+ <g>
+ <polygon points='0.366,0 36.809,0 36.809,31 0.366,31 0.366,0 ' fill='#101010'/>
+ <path d='M18.587,15.5' fill='#101010'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,1 0,1 0,0 ' fill='#CCCCCC'/>
+ <path d='M41.5,0.5' fill='#CCCCCC'/>
+ </g>
+ <g>
+ <polyline fill-rule='evenodd' stroke='#990000' points=' 68.273,18.845 74.291,24.348 86.001,12.637 ' clip-rule='evenodd' stroke-miterlimit='3.8637' stroke-width='4.8117' fill='none'/>
+ </g>
+ <g>
+ <g>
+ <path d='M33.077,7.037l0.334,2.034l-1.185,2.266c0,0-0.455-0.961-1.21-1.494c-0.636-0.448-1.051-0.545-1.699-0.412 c-0.833,0.172-1.777,1.167-2.189,2.395c-0.493,1.469-0.498,2.18-0.515,2.833c-0.028,1.047,0.137,1.665,0.137,1.665 s-0.719-1.33-0.712-3.278c0.005-1.391,0.223-2.652,0.867-3.897c0.566-1.094,1.407-1.75,2.154-1.828 c0.772-0.08,1.383,0.292,1.854,0.695c0.495,0.423,0.996,1.348,0.996,1.348L33.077,7.037z'/>
+ <path d='M33.222,18.547c0,0-0.523,0.936-0.85,1.296s-0.91,0.996-1.63,1.313c-0.721,0.318-1.099,0.378-1.811,0.309 c-0.712-0.068-1.373-0.48-1.605-0.652c-0.231-0.171-0.824-0.678-1.159-1.15s-0.858-1.416-0.858-1.416s0.292,0.946,0.474,1.347 c0.105,0.231,0.428,0.938,0.886,1.554c0.427,0.574,1.257,1.562,2.519,1.785s2.128-0.343,2.343-0.48 c0.214-0.138,0.667-0.516,0.953-0.822c0.299-0.32,0.582-0.728,0.738-0.972c0.114-0.179,0.301-0.541,0.301-0.541L33.222,18.547z'/>
+ </g>
+ <g>
+ <path d='M11.437,7.127l2.852,9.697l2.852-9.697h2.065l-4.721,15.933h-0.197l-2.95-9.875l-2.951,9.875H8.191 L3.47,7.127h2.065l2.853,9.697l1.928-6.53L9.372,7.127H11.437z' fill='#005A9C'/>
+ <path d='M25.072,17.946c0,1.443-0.384,2.656-1.151,3.639c-0.767,0.983-1.761,1.475-2.98,1.475 c-0.918,0-1.718-0.292-2.4-0.875c-0.682-0.583-1.187-1.373-1.515-2.37l1.613-0.668c0.236,0.603,0.548,1.079,0.935,1.426 c0.387,0.348,0.843,0.521,1.367,0.521c0.551,0,1.016-0.308,1.397-0.924s0.571-1.357,0.571-2.223c0-0.958-0.203-1.698-0.61-2.223 c-0.473-0.616-1.214-0.924-2.223-0.924h-0.787v-0.944l2.754-4.761h-3.325l-0.925,1.574h-0.59V7.127h7.672v0.963l-2.911,5.016 c1.023,0.328,1.797,0.925,2.321,1.791C24.809,15.763,25.072,16.779,25.072,17.946z' fill='#005A9C'/>
+ </g>
+ </g>
+ <g>
+ <polygon points='44.053,9.392 46.583,13.112 44.625,13.112 42.92,10.622 41.231,13.112 39.263,13.112 41.792,9.392 39.361,5.822 41.324,5.822 42.92,8.171 44.512,5.822 46.485,5.822 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ <polygon points='47.801,5.822 49.681,5.822 49.681,8.601 52.454,8.601 52.454,5.822 54.334,5.822 54.334,13.112 52.454,13.112 52.454,10.021 49.681,10.021 49.681,13.112 47.801,13.112 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ <polygon points='55.4,5.822 62.119,5.822 62.119,7.243 59.702,7.243 59.702,13.112 57.822,13.112 57.822,7.243 55.4,7.243 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ <polygon points='63.191,5.822 65.583,5.822 67.244,9.723 68.914,5.822 71.301,5.822 71.301,13.112 69.524,13.112 69.524,7.78 67.844,11.71 66.653,11.71 64.973,7.78 64.973,13.112 63.191,13.112 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ <polygon points='73.242,5.822 75.122,5.822 75.122,11.691 78.423,11.691 78.423,13.112 73.242,13.112 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ </g>
+ <g>
+ <path clip-rule='evenodd' d='M41.737,22.914h3.208v1.382h-5.298v-1.382l2.661-2.349 c0.238-0.215,0.414-0.425,0.527-0.63c0.114-0.205,0.171-0.418,0.171-0.64c0-0.342-0.115-0.617-0.347-0.825 c-0.228-0.208-0.532-0.313-0.913-0.313c-0.293,0-0.613,0.063-0.962,0.19c-0.348,0.124-0.721,0.309-1.118,0.557v-1.602 c0.423-0.14,0.842-0.246,1.255-0.317c0.414-0.075,0.819-0.112,1.216-0.112c0.873,0,1.55,0.192,2.031,0.576 c0.485,0.384,0.728,0.919,0.728,1.606c0,0.397-0.103,0.768-0.308,1.113c-0.205,0.342-0.636,0.801-1.294,1.377L41.737,22.914z' fill-rule='evenodd'/>
+ <rect fill-rule='evenodd' height='1.89' width='1.758' clip-rule='evenodd' y='22.406' x='47.435'/>
+ <path clip-rule='evenodd' d='M55.413,20.643c0-0.912-0.086-1.553-0.259-1.924 c-0.169-0.375-0.456-0.562-0.859-0.562c-0.404,0-0.692,0.187-0.864,0.562c-0.173,0.371-0.259,1.012-0.259,1.924 c0,0.921,0.086,1.571,0.259,1.948c0.172,0.377,0.46,0.566,0.864,0.566c0.4,0,0.687-0.189,0.859-0.566 C55.327,22.214,55.413,21.564,55.413,20.643z M57.293,20.658c0,1.208-0.26,2.14-0.781,2.798c-0.521,0.654-1.26,0.981-2.217,0.981 c-0.96,0-1.701-0.327-2.222-0.981c-0.521-0.658-0.781-1.59-0.781-2.798c0-1.211,0.26-2.144,0.781-2.798 c0.521-0.658,1.261-0.986,2.222-0.986c0.957,0,1.696,0.329,2.217,0.986C57.033,18.514,57.293,19.447,57.293,20.658z' fill-rule='evenodd'/>
+ </g>
+ </g>
+ <g id='Calque_1'>
+ </g>
+ <g id='Layer_1'>
+ </g>
+ </g>
+</svg>
diff --git a/htdocs/images/valid_icons/valid-xhtml20.gif b/htdocs/images/valid_icons/valid-xhtml20.gif
new file mode 100644
index 0000000..8d5055c
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-xhtml20.gif
Binary files differ
diff --git a/htdocs/images/valid_icons/valid-xhtml20.png b/htdocs/images/valid_icons/valid-xhtml20.png
new file mode 100644
index 0000000..409b215
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-xhtml20.png
Binary files differ
diff --git a/htdocs/images/valid_icons/valid-xhtmlbasic10-blue-v.svg b/htdocs/images/valid_icons/valid-xhtmlbasic10-blue-v.svg
new file mode 100644
index 0000000..b53508d
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-xhtmlbasic10-blue-v.svg
@@ -0,0 +1,329 @@
+<?xml version='1.0' encoding='iso-8859-1'?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns='http://www.w3.org/2000/svg' xml:space='preserve' version='1.1' overflow='visible' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 88 31'>
+ <g shape-rendering='geometricPrecision' text-rendering='geometricPrecision' image-rendering='optimizeQuality'>
+ <g shape-rendering='geometricPrecision' text-rendering='geometricPrecision' image-rendering='optimizeQuality'>
+ <g id='Background'>
+ </g>
+ <g id='Guides'>
+ </g>
+ <g id='Foreground'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#B3CEE1'/>
+ <path d='M41.5,15.5' fill='#B3CEE1'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#FFFFFF'/>
+ <path d='M18.587,15.5' fill='#FFFFFF'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_145_'/>
+ </defs>
+ <use xlink:href='#XMLID_145_' fill='#504D4C'/>
+ <clipPath id='XMLID_167_'>
+ <use xlink:href='#XMLID_145_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_167_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#48494B'/>
+ <path d='M41.5,15.5' fill='#48494B'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#4F4F4F'/>
+ <path d='M18.587,15.5' fill='#4F4F4F'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='82,0 83,0 83,31 82,31 82,0 ' id='XMLID_147_'/>
+ </defs>
+ <use xlink:href='#XMLID_147_' fill='#504D4C'/>
+ <clipPath id='XMLID_168_'>
+ <use xlink:href='#XMLID_147_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_168_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#48494B'/>
+ <path d='M41.5,15.5' fill='#48494B'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_149_'/>
+ </defs>
+ <use xlink:href='#XMLID_149_' fill='#191919'/>
+ <clipPath id='XMLID_169_'>
+ <use xlink:href='#XMLID_149_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_169_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#181818'/>
+ <path d='M41.5,15.5' fill='#181818'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#191919'/>
+ <path d='M18.587,15.5' fill='#191919'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <polygon points='0,0 1,0 1,31 0,31 0,0 ' fill='#CCCCCC'/>
+ <path d='M0.5,15.5' fill='#CCCCCC'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='80.806,1 81.806,1 81.806,31 80.806,31 80.806,1 ' id='XMLID_151_'/>
+ </defs>
+ <use xlink:href='#XMLID_151_' fill='#9E9C9C'/>
+ <clipPath id='XMLID_170_'>
+ <use xlink:href='#XMLID_151_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_170_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#9097A0'/>
+ <path d='M41.5,15.5' fill='#9097A0'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_153_'/>
+ </defs>
+ <use xlink:href='#XMLID_153_' fill='#383838'/>
+ <clipPath id='XMLID_171_'>
+ <use xlink:href='#XMLID_153_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_171_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#343536'/>
+ <path d='M41.5,15.5' fill='#343536'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#383838'/>
+ <path d='M18.587,15.5' fill='#383838'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <polygon points='4.692,2.291 44.697,2.291 44.697,26.897 4.692,26.897 4.692,2.291 ' fill='none'/>
+ <path d='M24.695,14.594' fill='none'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='2.16,29.005 82.16,29.005 82.16,30.005 2.16,30.005 2.16,29.005 ' id='XMLID_155_'/>
+ </defs>
+ <use xlink:href='#XMLID_155_' fill='#9E9C9C'/>
+ <clipPath id='XMLID_172_'>
+ <use xlink:href='#XMLID_155_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_172_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#9097A0'/>
+ <path d='M41.5,15.5' fill='#9097A0'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#B5B5B5'/>
+ <path d='M18.587,15.5' fill='#B5B5B5'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_157_'/>
+ </defs>
+ <use xlink:href='#XMLID_157_' fill='#383838'/>
+ <clipPath id='XMLID_173_'>
+ <use xlink:href='#XMLID_157_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_173_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#343536'/>
+ <path d='M41.5,15.5' fill='#343536'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#383838'/>
+ <path d='M18.587,15.5' fill='#383838'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='82,0 83,0 83,31 82,31 82,0 ' id='XMLID_159_'/>
+ </defs>
+ <use xlink:href='#XMLID_159_' fill='#383838'/>
+ <clipPath id='XMLID_174_'>
+ <use xlink:href='#XMLID_159_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_174_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#343536'/>
+ <path d='M41.5,15.5' fill='#343536'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_161_'/>
+ </defs>
+ <use xlink:href='#XMLID_161_' fill='#131313'/>
+ <clipPath id='XMLID_175_'>
+ <use xlink:href='#XMLID_161_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_175_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#131313'/>
+ <path d='M41.5,15.5' fill='#131313'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#131313'/>
+ <path d='M18.587,15.5' fill='#131313'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='80.806,1 81.806,1 81.806,31 80.806,31 80.806,1 ' id='XMLID_163_'/>
+ </defs>
+ <use xlink:href='#XMLID_163_' fill='#818181'/>
+ <clipPath id='XMLID_176_'>
+ <use xlink:href='#XMLID_163_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_176_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#6E7176'/>
+ <path d='M41.5,15.5' fill='#6E7176'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_165_'/>
+ </defs>
+ <use xlink:href='#XMLID_165_' fill='#272727'/>
+ <clipPath id='XMLID_177_'>
+ <use xlink:href='#XMLID_165_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_177_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#252626'/>
+ <path d='M41.5,15.5' fill='#252626'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#272727'/>
+ <path d='M18.587,15.5' fill='#272727'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,1 0,1 0,0 ' fill='#CCCCCC'/>
+ <path d='M41.5,0.5' fill='#CCCCCC'/>
+ </g>
+ <g>
+ <polyline fill-rule='evenodd' stroke='#005A9C' points=' 68.273,8.576 74.291,14.08 86.001,2.369 ' clip-rule='evenodd' stroke-miterlimit='3.8637' stroke-width='4.8117' fill='none'/>
+ </g>
+ <g>
+ <g>
+ <path d='M33.077,7.037l0.334,2.034l-1.185,2.266c0,0-0.455-0.961-1.21-1.494c-0.636-0.448-1.051-0.545-1.699-0.412 c-0.833,0.172-1.777,1.167-2.189,2.395c-0.493,1.468-0.498,2.179-0.515,2.832c-0.027,1.047,0.137,1.665,0.137,1.665 s-0.719-1.33-0.712-3.278c0.005-1.391,0.223-2.652,0.867-3.897c0.566-1.094,1.408-1.751,2.154-1.828 c0.772-0.08,1.382,0.292,1.854,0.695c0.495,0.423,0.996,1.348,0.996,1.348L33.077,7.037z'/>
+ <path d='M33.222,18.547c0,0-0.523,0.936-0.85,1.296s-0.91,0.996-1.631,1.313c-0.721,0.318-1.099,0.378-1.811,0.309 c-0.712-0.068-1.374-0.48-1.605-0.652c-0.232-0.171-0.824-0.678-1.159-1.15s-0.858-1.416-0.858-1.416s0.292,0.946,0.474,1.347 c0.105,0.231,0.428,0.938,0.886,1.554c0.427,0.574,1.257,1.562,2.519,1.785s2.128-0.343,2.343-0.48 c0.214-0.138,0.667-0.516,0.953-0.822c0.299-0.32,0.582-0.728,0.738-0.972c0.114-0.179,0.301-0.541,0.301-0.541L33.222,18.547z'/>
+ </g>
+ <g>
+ <path d='M11.437,7.127l2.852,9.697l2.852-9.697h2.065l-4.721,15.933h-0.197l-2.951-9.875l-2.951,9.875H8.191 L3.47,7.127h2.065l2.852,9.697l1.928-6.53L9.372,7.127H11.437z' fill='#005A9C'/>
+ <path d='M25.072,17.946c0,1.443-0.384,2.656-1.151,3.639c-0.767,0.983-1.76,1.475-2.98,1.475 c-0.918,0-1.718-0.292-2.4-0.875c-0.682-0.583-1.187-1.373-1.515-2.37l1.613-0.668c0.236,0.603,0.548,1.079,0.935,1.426 c0.387,0.348,0.843,0.521,1.367,0.521c0.551,0,1.016-0.308,1.397-0.924s0.571-1.357,0.571-2.223c0-0.958-0.204-1.698-0.61-2.223 c-0.472-0.617-1.214-0.925-2.223-0.925h-0.787v-0.944l2.754-4.761h-3.325l-0.925,1.574h-0.59V7.127h7.672v0.963l-2.912,5.016 c1.023,0.328,1.797,0.925,2.321,1.791S25.072,16.779,25.072,17.946z' fill='#005A9C'/>
+ </g>
+ </g>
+ <g>
+ <path clip-rule='evenodd' d='M41.606,24.167c0.375,0,0.659-0.137,0.854-0.41 c0.199-0.273,0.298-0.67,0.298-1.191s-0.099-0.918-0.298-1.191c-0.195-0.273-0.48-0.41-0.854-0.41s-0.663,0.138-0.864,0.415 c-0.199,0.273-0.298,0.669-0.298,1.187s0.099,0.915,0.298,1.191C40.944,24.031,41.232,24.167,41.606,24.167z M40.444,20.627 c0.241-0.319,0.508-0.553,0.801-0.703c0.293-0.153,0.63-0.229,1.011-0.229c0.674,0,1.227,0.269,1.66,0.806 c0.433,0.534,0.649,1.222,0.649,2.065s-0.216,1.533-0.649,2.07c-0.433,0.534-0.986,0.801-1.66,0.801 c-0.381,0-0.718-0.075-1.011-0.225c-0.293-0.153-0.56-0.389-0.801-0.708v0.791h-1.748v-7.598h1.748V20.627z' fill-rule='evenodd'/>
+ <path clip-rule='evenodd' d='M47.806,22.834c-0.364,0-0.639,0.062-0.825,0.186 c-0.182,0.124-0.273,0.306-0.273,0.547c0,0.221,0.073,0.396,0.219,0.522c0.15,0.124,0.356,0.186,0.62,0.186 c0.329,0,0.605-0.117,0.83-0.352c0.225-0.238,0.337-0.534,0.337-0.889v-0.2H47.806z M50.477,22.175v3.12h-1.763v-0.811 c-0.234,0.332-0.498,0.575-0.791,0.728c-0.293,0.149-0.649,0.225-1.069,0.225c-0.566,0-1.027-0.165-1.382-0.493 c-0.351-0.332-0.527-0.762-0.527-1.289c0-0.641,0.22-1.112,0.66-1.411c0.442-0.299,1.136-0.449,2.08-0.449h1.03v-0.137 c0-0.277-0.109-0.479-0.327-0.605c-0.218-0.13-0.559-0.195-1.021-0.195c-0.375,0-0.723,0.038-1.045,0.112 C46,21.044,45.7,21.156,45.423,21.306v-1.333c0.375-0.091,0.75-0.16,1.128-0.205c0.378-0.049,0.755-0.073,1.133-0.073 c0.987,0,1.698,0.195,2.134,0.586C50.257,20.668,50.477,21.3,50.477,22.175z' fill-rule='evenodd'/>
+ <path clip-rule='evenodd' d='M55.875,19.998v1.328c-0.375-0.156-0.736-0.273-1.084-0.352 c-0.349-0.078-0.677-0.117-0.986-0.117c-0.332,0-0.58,0.042-0.742,0.127c-0.16,0.082-0.239,0.208-0.239,0.381 c0,0.14,0.06,0.248,0.181,0.322c0.124,0.075,0.343,0.13,0.659,0.166l0.308,0.044c0.895,0.114,1.497,0.301,1.807,0.562 c0.309,0.26,0.463,0.669,0.464,1.226c0,0.583-0.215,1.021-0.645,1.313s-1.071,0.439-1.924,0.439c-0.361,0-0.736-0.029-1.123-0.088 c-0.384-0.055-0.78-0.14-1.187-0.254v-1.328c0.348,0.169,0.705,0.296,1.069,0.381c0.368,0.084,0.74,0.127,1.118,0.127 c0.342,0,0.599-0.047,0.771-0.142c0.172-0.094,0.258-0.234,0.259-0.42c0-0.156-0.061-0.272-0.181-0.347 c-0.117-0.078-0.354-0.138-0.708-0.181l-0.308-0.039c-0.778-0.098-1.323-0.278-1.636-0.542s-0.469-0.664-0.469-1.201 c0-0.58,0.198-1.009,0.596-1.289c0.397-0.28,1.006-0.42,1.826-0.42c0.322,0,0.661,0.024,1.016,0.073 C55.073,19.817,55.458,19.894,55.875,19.998z' fill-rule='evenodd'/>
+ <path clip-rule='evenodd' d='M57.055,19.827h1.748v5.469h-1.748V19.827z M57.055,17.698h1.748v1.426h-1.748 V17.698z' fill-rule='evenodd'/>
+ <path clip-rule='evenodd' d='M64.402,19.998v1.426c-0.238-0.163-0.477-0.283-0.718-0.361 c-0.238-0.078-0.485-0.117-0.742-0.117c-0.488,0-0.869,0.143-1.143,0.43c-0.27,0.283-0.405,0.68-0.405,1.191 s0.135,0.91,0.405,1.196c0.273,0.283,0.654,0.425,1.143,0.425c0.273,0,0.532-0.041,0.776-0.122 c0.248-0.082,0.475-0.202,0.684-0.361v1.431c-0.273,0.101-0.552,0.175-0.835,0.225c-0.28,0.052-0.562,0.078-0.845,0.078 c-0.986,0-1.758-0.252-2.314-0.757c-0.557-0.508-0.835-1.212-0.835-2.114s0.278-1.605,0.835-2.109 c0.557-0.508,1.328-0.762,2.314-0.762c0.287,0,0.568,0.026,0.845,0.078C63.847,19.822,64.125,19.896,64.402,19.998z' fill-rule='evenodd'/>
+ </g>
+ <g>
+ <polygon points='44.156,13.312 42.816,13.312 41.563,11.141 40.315,13.312 38.975,13.312 40.9,9.981 39.028,6.751 40.368,6.751 41.563,8.838 42.763,6.751 44.104,6.751 42.24,9.981 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ <polygon points='44.877,6.751 46.173,6.751 46.173,9.251 47.795,9.251 47.795,6.751 49.091,6.751 49.091,13.312 47.795,13.312 47.795,10.394 46.173,10.394 46.173,13.312 44.877,13.312 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ <polygon points='53.051,13.312 51.754,13.312 51.754,7.885 50.089,7.885 50.089,6.751 54.716,6.751 54.716,7.885 53.051,7.885 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ <polygon points='55.49,6.751 57.037,6.751 57.819,9.629 58.597,6.751 60.152,6.751 60.152,13.312 59.036,13.312 59.036,8.056 58.342,10.926 57.309,10.926 56.606,8.056 56.606,13.312 55.49,13.312 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ <polygon points='61.519,13.312 61.519,6.751 62.815,6.751 62.815,12.169 65.588,12.169 65.588,13.312 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ </g>
+ <g>
+ <polygon points='67.395,24.213 68.845,24.213 68.845,19.955 67.496,20.289 67.496,19.12 68.854,18.795 70.106,18.795 70.106,24.213 71.557,24.213 71.557,25.356 67.395,25.356 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ <rect fill-rule='evenodd' height='1.613' width='1.463' clip-rule='evenodd' y='23.743' x='72.07'/>
+ <path clip-rule='evenodd' d='M76.783,19.841c-0.331,0-0.573,0.177-0.725,0.532 c-0.152,0.352-0.229,0.921-0.229,1.709c0,0.785,0.076,1.355,0.229,1.709c0.152,0.352,0.394,0.527,0.725,0.527 c0.334,0,0.577-0.176,0.729-0.527c0.152-0.354,0.229-0.924,0.229-1.709c0-0.788-0.076-1.358-0.229-1.709 C77.36,20.018,77.117,19.841,76.783,19.841z M74.48,22.082c0-1.122,0.193-1.97,0.58-2.544c0.39-0.574,0.964-0.861,1.723-0.861 c0.762,0,1.335,0.287,1.723,0.861c0.39,0.574,0.584,1.422,0.584,2.544c0,1.119-0.195,1.966-0.584,2.54 c-0.387,0.574-0.961,0.861-1.723,0.861c-0.759,0-1.333-0.287-1.723-0.861C74.673,24.048,74.48,23.201,74.48,22.082z' fill-rule='evenodd'/>
+ </g>
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/htdocs/images/valid_icons/valid-xhtmlbasic10-blue.gif b/htdocs/images/valid_icons/valid-xhtmlbasic10-blue.gif
new file mode 100644
index 0000000..524034b
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-xhtmlbasic10-blue.gif
Binary files differ
diff --git a/htdocs/images/valid_icons/valid-xhtmlbasic10-blue.png b/htdocs/images/valid_icons/valid-xhtmlbasic10-blue.png
new file mode 100644
index 0000000..d20ff25
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-xhtmlbasic10-blue.png
Binary files differ
diff --git a/htdocs/images/valid_icons/valid-xhtmlbasic10-v.svg b/htdocs/images/valid_icons/valid-xhtmlbasic10-v.svg
new file mode 100644
index 0000000..676ffd4
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-xhtmlbasic10-v.svg
@@ -0,0 +1,331 @@
+<?xml version='1.0' encoding='iso-8859-1'?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns='http://www.w3.org/2000/svg' xml:space='preserve' version='1.1' overflow='visible' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 88 31'>
+ <g shape-rendering='geometricPrecision' text-rendering='geometricPrecision' image-rendering='optimizeQuality'>
+ <g id='Background'>
+ </g>
+ <g id='Guides'>
+ </g>
+ <g id='Foreground'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#FFCC66'/>
+ <path d='M41.5,15.5' fill='#FFCC66'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#FFFFFF'/>
+ <path d='M18.587,15.5' fill='#FFFFFF'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_790_'/>
+ </defs>
+ <use xlink:href='#XMLID_790_' fill='#504D4C'/>
+ <clipPath id='XMLID_812_'>
+ <use xlink:href='#XMLID_790_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_812_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#4E4B3F'/>
+ <path d='M41.5,15.5' fill='#4E4B3F'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#4F4F4F'/>
+ <path d='M18.587,15.5' fill='#4F4F4F'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='82,0 83,0 83,31 82,31 82,0 ' id='XMLID_792_'/>
+ </defs>
+ <use xlink:href='#XMLID_792_' fill='#504D4C'/>
+ <clipPath id='XMLID_813_'>
+ <use xlink:href='#XMLID_792_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_813_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#4E4B3F'/>
+ <path d='M41.5,15.5' fill='#4E4B3F'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_794_'/>
+ </defs>
+ <use xlink:href='#XMLID_794_' fill='#191919'/>
+ <clipPath id='XMLID_814_'>
+ <use xlink:href='#XMLID_794_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_814_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#191917'/>
+ <path d='M41.5,15.5' fill='#191917'/>
+ </g>
+ <g>
+ <polygon points='0.366,0 36.809,0 36.809,31 0.366,31 0.366,0 ' fill='#191919'/>
+ <path d='M18.587,15.5' fill='#191919'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <polygon points='0,0 1,0 1,31 0,31 0,0 ' fill='#CCCCCC'/>
+ <path d='M0.5,15.5' fill='#CCCCCC'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='80.806,1 81.806,1 81.806,31 80.806,31 80.806,1 ' id='XMLID_796_'/>
+ </defs>
+ <use xlink:href='#XMLID_796_' fill='#9E9C9C'/>
+ <clipPath id='XMLID_815_'>
+ <use xlink:href='#XMLID_796_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_815_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#B39F67'/>
+ <path d='M41.5,15.5' fill='#B39F67'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_798_'/>
+ </defs>
+ <use xlink:href='#XMLID_798_' fill='#383838'/>
+ <clipPath id='XMLID_816_'>
+ <use xlink:href='#XMLID_798_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_816_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#383530'/>
+ <path d='M41.5,15.5' fill='#383530'/>
+ </g>
+ <g>
+ <polygon points='0.366,0 36.809,0 36.809,31 0.366,31 0.366,0 ' fill='#383838'/>
+ <path d='M18.587,15.5' fill='#383838'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <polygon points='4.692,2.291 44.697,2.291 44.697,26.897 4.692,26.897 4.692,2.291 ' fill='none'/>
+ <path d='M24.695,14.594' fill='none'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='2.16,29.005 82.16,29.005 82.16,30.005 2.16,30.005 2.16,29.005 ' id='XMLID_800_'/>
+ </defs>
+ <use xlink:href='#XMLID_800_' fill='#9E9C9C'/>
+ <clipPath id='XMLID_817_'>
+ <use xlink:href='#XMLID_800_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_817_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#B39F67'/>
+ <path d='M41.5,15.5' fill='#B39F67'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#B5B5B5'/>
+ <path d='M18.587,15.5' fill='#B5B5B5'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_802_'/>
+ </defs>
+ <use xlink:href='#XMLID_802_' fill='#383838'/>
+ <clipPath id='XMLID_818_'>
+ <use xlink:href='#XMLID_802_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_818_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#383530'/>
+ <path d='M41.5,15.5' fill='#383530'/>
+ </g>
+ <g>
+ <polygon points='0.366,0 36.809,0 36.809,31 0.366,31 0.366,0 ' fill='#383838'/>
+ <path d='M18.587,15.5' fill='#383838'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='82,0 83,0 83,31 82,31 82,0 ' id='XMLID_804_'/>
+ </defs>
+ <use xlink:href='#XMLID_804_' fill='#383838'/>
+ <clipPath id='XMLID_819_'>
+ <use xlink:href='#XMLID_804_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_819_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#383530'/>
+ <path d='M41.5,15.5' fill='#383530'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_806_'/>
+ </defs>
+ <use xlink:href='#XMLID_806_' fill='#131313'/>
+ <clipPath id='XMLID_820_'>
+ <use xlink:href='#XMLID_806_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_820_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#131313'/>
+ <path d='M41.5,15.5' fill='#131313'/>
+ </g>
+ <g>
+ <polygon points='0.366,0 36.809,0 36.809,31 0.366,31 0.366,0 ' fill='#131313'/>
+ <path d='M18.587,15.5' fill='#131313'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='80.806,1 81.806,1 81.806,31 80.806,31 80.806,1 ' id='XMLID_808_'/>
+ </defs>
+ <use xlink:href='#XMLID_808_' fill='#818181'/>
+ <clipPath id='XMLID_821_'>
+ <use xlink:href='#XMLID_808_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_821_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#807659'/>
+ <path d='M41.5,15.5' fill='#807659'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_810_'/>
+ </defs>
+ <use xlink:href='#XMLID_810_' fill='#272727'/>
+ <clipPath id='XMLID_822_'>
+ <use xlink:href='#XMLID_810_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_822_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#272623'/>
+ <path d='M41.5,15.5' fill='#272623'/>
+ </g>
+ <g>
+ <polygon points='0.366,0 36.809,0 36.809,31 0.366,31 0.366,0 ' fill='#272727'/>
+ <path d='M18.587,15.5' fill='#272727'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,1 0,1 0,0 ' fill='#CCCCCC'/>
+ <path d='M41.5,0.5' fill='#CCCCCC'/>
+ </g>
+ <g>
+ <polyline fill-rule='evenodd' stroke='#990000' points=' 68.273,8.576 74.291,14.08 86.001,2.369 ' clip-rule='evenodd' stroke-miterlimit='3.8637' stroke-width='4.8117' fill='none'/>
+ </g>
+ <g>
+ <g>
+ <path d='M33.077,7.037l0.334,2.034l-1.185,2.266c0,0-0.455-0.961-1.21-1.493c-0.636-0.448-1.051-0.546-1.699-0.412 c-0.833,0.172-1.777,1.167-2.189,2.395c-0.493,1.469-0.498,2.18-0.515,2.833c-0.028,1.047,0.137,1.665,0.137,1.665 s-0.719-1.33-0.712-3.279c0.005-1.391,0.223-2.652,0.867-3.896c0.566-1.094,1.407-1.751,2.154-1.828 c0.772-0.08,1.383,0.292,1.854,0.695c0.495,0.423,0.996,1.347,0.996,1.347L33.077,7.037z'/>
+ <path d='M33.222,18.547c0,0-0.523,0.936-0.85,1.296s-0.91,0.996-1.63,1.313c-0.721,0.318-1.099,0.378-1.811,0.309 c-0.712-0.069-1.373-0.48-1.605-0.652c-0.231-0.172-0.824-0.678-1.159-1.15c-0.335-0.472-0.858-1.417-0.858-1.417 s0.292,0.946,0.474,1.348c0.105,0.231,0.428,0.938,0.886,1.553c0.427,0.574,1.257,1.563,2.519,1.786s2.128-0.343,2.343-0.481 c0.214-0.137,0.667-0.516,0.953-0.822c0.299-0.319,0.582-0.728,0.738-0.972c0.114-0.179,0.301-0.541,0.301-0.541L33.222,18.547z'/>
+ </g>
+ <g>
+ <path d='M11.437,7.127l2.852,9.698l2.852-9.698h2.065l-4.721,15.934h-0.197l-2.95-9.875l-2.951,9.875H8.191 L3.47,7.127h2.065l2.853,9.698l1.928-6.531L9.372,7.127H11.437z' fill='#005A9C'/>
+ <path d='M25.072,17.946c0,1.443-0.384,2.656-1.151,3.64c-0.767,0.983-1.761,1.475-2.98,1.475 c-0.918,0-1.718-0.292-2.4-0.875c-0.682-0.583-1.187-1.374-1.515-2.371l1.613-0.668c0.236,0.604,0.548,1.079,0.935,1.426 c0.387,0.348,0.843,0.521,1.367,0.521c0.551,0,1.016-0.308,1.397-0.924s0.571-1.357,0.571-2.223c0-0.957-0.203-1.698-0.61-2.223 c-0.473-0.616-1.214-0.924-2.223-0.924h-0.787v-0.944l2.754-4.761h-3.325l-0.925,1.574h-0.59V7.127h7.672v0.964l-2.911,5.016 c1.023,0.328,1.797,0.925,2.321,1.791C24.809,15.763,25.072,16.779,25.072,17.946z' fill='#005A9C'/>
+ </g>
+ </g>
+ <g>
+ <path clip-rule='evenodd' d='M41.606,24.167c0.375,0,0.659-0.137,0.854-0.411 c0.199-0.273,0.298-0.67,0.298-1.191c0-0.521-0.099-0.917-0.298-1.191c-0.195-0.273-0.48-0.41-0.854-0.41 s-0.663,0.139-0.864,0.416c-0.199,0.273-0.298,0.668-0.298,1.186c0,0.518,0.099,0.915,0.298,1.191 C40.944,24.031,41.232,24.167,41.606,24.167z M40.444,20.627c0.241-0.319,0.508-0.553,0.801-0.703 c0.293-0.153,0.63-0.229,1.011-0.229c0.674,0,1.228,0.269,1.66,0.806c0.433,0.534,0.649,1.222,0.649,2.065 c0,0.843-0.216,1.533-0.649,2.07c-0.433,0.534-0.986,0.801-1.66,0.801c-0.381,0-0.718-0.075-1.011-0.225 c-0.293-0.153-0.56-0.389-0.801-0.708v0.791h-1.748v-7.598h1.748V20.627z' fill-rule='evenodd'/>
+ <path clip-rule='evenodd' d='M47.806,22.834c-0.365,0-0.64,0.062-0.825,0.185 c-0.183,0.124-0.273,0.306-0.273,0.547c0,0.221,0.073,0.395,0.22,0.522c0.149,0.124,0.356,0.186,0.62,0.186 c0.329,0,0.605-0.117,0.83-0.352c0.225-0.237,0.337-0.534,0.337-0.888v-0.2H47.806z M50.477,22.175v3.12h-1.763v-0.81 c-0.234,0.332-0.498,0.574-0.791,0.727c-0.293,0.15-0.649,0.225-1.069,0.225c-0.566,0-1.027-0.164-1.382-0.493 c-0.352-0.332-0.527-0.762-0.527-1.289c0-0.642,0.22-1.112,0.659-1.412c0.442-0.299,1.136-0.449,2.08-0.449h1.03v-0.137 c0-0.276-0.109-0.478-0.327-0.605c-0.218-0.13-0.559-0.195-1.021-0.195c-0.375,0-0.723,0.038-1.045,0.112 C46,21.044,45.7,21.156,45.423,21.306v-1.333c0.374-0.091,0.75-0.159,1.128-0.205c0.377-0.049,0.755-0.074,1.133-0.074 c0.986,0,1.697,0.195,2.134,0.586C50.257,20.668,50.477,21.299,50.477,22.175z' fill-rule='evenodd'/>
+ <path clip-rule='evenodd' d='M55.875,19.997v1.329c-0.375-0.157-0.736-0.274-1.084-0.352 c-0.349-0.078-0.677-0.117-0.986-0.117c-0.332,0-0.58,0.042-0.742,0.127c-0.16,0.082-0.239,0.208-0.239,0.38 c0,0.14,0.06,0.248,0.181,0.322c0.124,0.075,0.343,0.13,0.659,0.166l0.308,0.044c0.895,0.114,1.497,0.301,1.807,0.562 c0.309,0.26,0.464,0.668,0.464,1.226c0,0.583-0.215,1.021-0.645,1.313c-0.43,0.293-1.071,0.439-1.924,0.439 c-0.361,0-0.736-0.029-1.123-0.088c-0.384-0.055-0.78-0.14-1.187-0.254v-1.328c0.348,0.169,0.705,0.296,1.069,0.38 c0.368,0.085,0.74,0.127,1.118,0.127c0.342,0,0.599-0.047,0.771-0.141c0.172-0.095,0.258-0.234,0.259-0.42 c0-0.157-0.061-0.272-0.181-0.347c-0.117-0.078-0.354-0.139-0.708-0.181l-0.308-0.039c-0.778-0.098-1.323-0.279-1.636-0.542 s-0.469-0.664-0.469-1.201c0-0.579,0.198-1.009,0.596-1.289c0.397-0.28,1.005-0.419,1.826-0.42c0.322,0,0.661,0.024,1.016,0.074 C55.073,19.817,55.458,19.893,55.875,19.997z' fill-rule='evenodd'/>
+ <path clip-rule='evenodd' d='M57.055,19.827h1.748v5.468h-1.748V19.827z M57.055,17.697h1.748v1.426h-1.748 V17.697z' fill-rule='evenodd'/>
+ <path clip-rule='evenodd' d='M64.402,19.997v1.426c-0.238-0.163-0.477-0.283-0.718-0.361 c-0.238-0.078-0.485-0.117-0.742-0.117c-0.488,0-0.869,0.144-1.143,0.43c-0.27,0.283-0.405,0.681-0.405,1.191 c0,0.511,0.135,0.91,0.405,1.196c0.273,0.283,0.654,0.425,1.143,0.425c0.273,0,0.532-0.041,0.776-0.122 c0.248-0.081,0.475-0.202,0.684-0.361v1.431c-0.273,0.101-0.552,0.175-0.835,0.225c-0.28,0.052-0.562,0.078-0.845,0.078 c-0.986,0-1.758-0.252-2.314-0.756c-0.557-0.508-0.835-1.213-0.835-2.115c0-0.901,0.278-1.604,0.835-2.109 c0.557-0.508,1.328-0.762,2.314-0.762c0.287,0,0.568,0.026,0.845,0.078C63.847,19.822,64.125,19.896,64.402,19.997z' fill-rule='evenodd'/>
+ </g>
+ <g>
+ <polygon points='44.156,13.312 42.816,13.312 41.563,11.141 40.315,13.312 38.975,13.312 40.9,9.981 39.028,6.751 40.368,6.751 41.563,8.838 42.763,6.751 44.104,6.751 42.24,9.981 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ <polygon points='44.877,6.751 46.173,6.751 46.173,9.251 47.795,9.251 47.795,6.751 49.091,6.751 49.091,13.312 47.795,13.312 47.795,10.394 46.173,10.394 46.173,13.312 44.877,13.312 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ <polygon points='53.051,13.312 51.754,13.312 51.754,7.885 50.089,7.885 50.089,6.751 54.716,6.751 54.716,7.885 53.051,7.885 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ <polygon points='55.49,6.751 57.037,6.751 57.819,9.629 58.597,6.751 60.152,6.751 60.152,13.312 59.036,13.312 59.036,8.056 58.342,10.926 57.309,10.926 56.606,8.056 56.606,13.312 55.49,13.312 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ <polygon points='61.519,13.312 61.519,6.751 62.815,6.751 62.815,12.169 65.588,12.169 65.588,13.312 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ </g>
+ <g>
+ <polygon points='67.395,24.213 68.845,24.213 68.845,19.955 67.496,20.289 67.496,19.12 68.854,18.795 70.106,18.795 70.106,24.213 71.557,24.213 71.557,25.355 67.395,25.355 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ <rect fill-rule='evenodd' height='1.613' width='1.463' clip-rule='evenodd' y='23.743' x='72.07'/>
+ <path clip-rule='evenodd' d='M76.783,19.841c-0.331,0-0.573,0.177-0.725,0.531 c-0.152,0.352-0.229,0.922-0.229,1.709c0,0.786,0.076,1.355,0.229,1.709c0.152,0.352,0.394,0.527,0.725,0.527 c0.334,0,0.577-0.176,0.729-0.527c0.152-0.354,0.229-0.924,0.229-1.709c0-0.788-0.076-1.357-0.229-1.709 C77.36,20.018,77.117,19.841,76.783,19.841z M74.48,22.082c0-1.122,0.193-1.97,0.58-2.544c0.39-0.574,0.964-0.861,1.723-0.862 c0.762,0,1.336,0.288,1.723,0.862c0.39,0.574,0.584,1.422,0.584,2.544c0,1.12-0.195,1.966-0.584,2.54 c-0.387,0.575-0.961,0.861-1.723,0.862c-0.759,0-1.333-0.287-1.723-0.862C74.673,24.048,74.48,23.201,74.48,22.082z' fill-rule='evenodd'/>
+ </g>
+ </g>
+ <g id='Calque_1'>
+ </g>
+ <g id='Layer_1'>
+ </g>
+ </g>
+</svg>
diff --git a/htdocs/images/valid_icons/valid-xhtmlbasic10.gif b/htdocs/images/valid_icons/valid-xhtmlbasic10.gif
new file mode 100644
index 0000000..e835554
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-xhtmlbasic10.gif
Binary files differ
diff --git a/htdocs/images/valid_icons/valid-xhtmlbasic10.png b/htdocs/images/valid_icons/valid-xhtmlbasic10.png
new file mode 100644
index 0000000..af50796
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-xhtmlbasic10.png
Binary files differ
diff --git a/htdocs/images/valid_icons/valid-xhtmlprint10-blue-v.svg b/htdocs/images/valid_icons/valid-xhtmlprint10-blue-v.svg
new file mode 100644
index 0000000..c50ebc9
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-xhtmlprint10-blue-v.svg
@@ -0,0 +1,329 @@
+<?xml version='1.0' encoding='iso-8859-1'?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns='http://www.w3.org/2000/svg' xml:space='preserve' version='1.1' overflow='visible' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 88 31'>
+ <g shape-rendering='geometricPrecision' text-rendering='geometricPrecision' image-rendering='optimizeQuality'>
+ <g shape-rendering='geometricPrecision' text-rendering='geometricPrecision' image-rendering='optimizeQuality'>
+ <g id='Background'>
+ </g>
+ <g id='Guides'>
+ </g>
+ <g id='Foreground'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#B3CEE1'/>
+ <path d='M41.5,15.5' fill='#B3CEE1'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#FFFFFF'/>
+ <path d='M18.587,15.5' fill='#FFFFFF'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_112_'/>
+ </defs>
+ <use xlink:href='#XMLID_112_' fill='#504D4C'/>
+ <clipPath id='XMLID_134_'>
+ <use xlink:href='#XMLID_112_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_134_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#48494B'/>
+ <path d='M41.5,15.5' fill='#48494B'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#4F4F4F'/>
+ <path d='M18.587,15.5' fill='#4F4F4F'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='82,0 83,0 83,31 82,31 82,0 ' id='XMLID_114_'/>
+ </defs>
+ <use xlink:href='#XMLID_114_' fill='#504D4C'/>
+ <clipPath id='XMLID_135_'>
+ <use xlink:href='#XMLID_114_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_135_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#48494B'/>
+ <path d='M41.5,15.5' fill='#48494B'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_116_'/>
+ </defs>
+ <use xlink:href='#XMLID_116_' fill='#191919'/>
+ <clipPath id='XMLID_136_'>
+ <use xlink:href='#XMLID_116_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_136_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#181818'/>
+ <path d='M41.5,15.5' fill='#181818'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#191919'/>
+ <path d='M18.587,15.5' fill='#191919'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <polygon points='0,0 1,0 1,31 0,31 0,0 ' fill='#CCCCCC'/>
+ <path d='M0.5,15.5' fill='#CCCCCC'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='80.806,1 81.806,1 81.806,31 80.806,31 80.806,1 ' id='XMLID_118_'/>
+ </defs>
+ <use xlink:href='#XMLID_118_' fill='#9E9C9C'/>
+ <clipPath id='XMLID_137_'>
+ <use xlink:href='#XMLID_118_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_137_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#9097A0'/>
+ <path d='M41.5,15.5' fill='#9097A0'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_120_'/>
+ </defs>
+ <use xlink:href='#XMLID_120_' fill='#383838'/>
+ <clipPath id='XMLID_138_'>
+ <use xlink:href='#XMLID_120_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_138_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#343536'/>
+ <path d='M41.5,15.5' fill='#343536'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#383838'/>
+ <path d='M18.587,15.5' fill='#383838'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <polygon points='4.692,2.291 44.697,2.291 44.697,26.898 4.692,26.898 4.692,2.291 ' fill='none'/>
+ <path d='M24.695,14.594' fill='none'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='2.16,29.005 82.16,29.005 82.16,30.005 2.16,30.005 2.16,29.005 ' id='XMLID_122_'/>
+ </defs>
+ <use xlink:href='#XMLID_122_' fill='#9E9C9C'/>
+ <clipPath id='XMLID_139_'>
+ <use xlink:href='#XMLID_122_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_139_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#9097A0'/>
+ <path d='M41.5,15.5' fill='#9097A0'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#B5B5B5'/>
+ <path d='M18.587,15.5' fill='#B5B5B5'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_124_'/>
+ </defs>
+ <use xlink:href='#XMLID_124_' fill='#383838'/>
+ <clipPath id='XMLID_140_'>
+ <use xlink:href='#XMLID_124_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_140_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#343536'/>
+ <path d='M41.5,15.5' fill='#343536'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#383838'/>
+ <path d='M18.587,15.5' fill='#383838'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='82,0 83,0 83,31 82,31 82,0 ' id='XMLID_126_'/>
+ </defs>
+ <use xlink:href='#XMLID_126_' fill='#383838'/>
+ <clipPath id='XMLID_141_'>
+ <use xlink:href='#XMLID_126_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_141_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#343536'/>
+ <path d='M41.5,15.5' fill='#343536'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_128_'/>
+ </defs>
+ <use xlink:href='#XMLID_128_' fill='#131313'/>
+ <clipPath id='XMLID_142_'>
+ <use xlink:href='#XMLID_128_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_142_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#131313'/>
+ <path d='M41.5,15.5' fill='#131313'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#131313'/>
+ <path d='M18.587,15.5' fill='#131313'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='80.806,1 81.806,1 81.806,31 80.806,31 80.806,1 ' id='XMLID_130_'/>
+ </defs>
+ <use xlink:href='#XMLID_130_' fill='#818181'/>
+ <clipPath id='XMLID_143_'>
+ <use xlink:href='#XMLID_130_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_143_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#6E7176'/>
+ <path d='M41.5,15.5' fill='#6E7176'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_132_'/>
+ </defs>
+ <use xlink:href='#XMLID_132_' fill='#272727'/>
+ <clipPath id='XMLID_144_'>
+ <use xlink:href='#XMLID_132_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_144_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#252626'/>
+ <path d='M41.5,15.5' fill='#252626'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#272727'/>
+ <path d='M18.587,15.5' fill='#272727'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,1 0,1 0,0 ' fill='#CCCCCC'/>
+ <path d='M41.5,0.5' fill='#CCCCCC'/>
+ </g>
+ <g>
+ <polyline fill-rule='evenodd' stroke='#005A9C' points=' 68.273,8.576 74.291,14.08 86.001,2.369 ' clip-rule='evenodd' stroke-miterlimit='3.8637' stroke-width='4.8117' fill='none'/>
+ </g>
+ <g>
+ <g>
+ <path d='M33.077,7.038l0.334,2.034l-1.185,2.266c0,0-0.455-0.961-1.21-1.494c-0.636-0.448-1.051-0.545-1.699-0.412 c-0.833,0.171-1.777,1.167-2.189,2.395c-0.493,1.469-0.498,2.179-0.515,2.832c-0.027,1.047,0.137,1.665,0.137,1.665 s-0.719-1.33-0.712-3.278c0.005-1.391,0.223-2.652,0.867-3.896c0.566-1.095,1.408-1.751,2.154-1.828 c0.772-0.08,1.382,0.292,1.854,0.695c0.495,0.423,0.996,1.348,0.996,1.348L33.077,7.038z'/>
+ <path d='M33.222,18.547c0,0-0.523,0.936-0.85,1.296c-0.326,0.361-0.91,0.996-1.631,1.313c-0.721,0.317-1.099,0.377-1.811,0.309 c-0.712-0.068-1.374-0.48-1.605-0.652c-0.232-0.172-0.824-0.678-1.159-1.15s-0.858-1.416-0.858-1.416s0.292,0.946,0.474,1.348 c0.105,0.231,0.428,0.938,0.886,1.553c0.427,0.574,1.257,1.562,2.519,1.785s2.128-0.343,2.343-0.48 c0.214-0.137,0.667-0.516,0.953-0.822c0.299-0.32,0.582-0.728,0.738-0.972c0.114-0.179,0.301-0.541,0.301-0.541L33.222,18.547z'/>
+ </g>
+ <g>
+ <path d='M11.437,7.127l2.852,9.698l2.852-9.698h2.065l-4.721,15.933h-0.197l-2.951-9.875l-2.951,9.875H8.191 L3.47,7.127h2.065l2.852,9.698l1.928-6.531L9.372,7.127H11.437z' fill='#005A9C'/>
+ <path d='M25.072,17.946c0,1.443-0.384,2.656-1.151,3.64c-0.767,0.983-1.76,1.475-2.98,1.475 c-0.918,0-1.718-0.292-2.4-0.875c-0.682-0.583-1.187-1.374-1.515-2.371l1.613-0.668c0.236,0.604,0.548,1.079,0.935,1.426 c0.387,0.347,0.843,0.521,1.367,0.521c0.551,0,1.016-0.308,1.397-0.924s0.571-1.357,0.571-2.223c0-0.958-0.204-1.698-0.61-2.223 c-0.472-0.616-1.214-0.925-2.223-0.925h-0.787v-0.944l2.754-4.761h-3.325l-0.925,1.574h-0.59V7.127h7.672v0.964l-2.912,5.016 c1.023,0.328,1.797,0.925,2.321,1.791C24.809,15.763,25.072,16.779,25.072,17.946z' fill='#005A9C'/>
+ </g>
+ </g>
+ <g>
+ <path clip-rule='evenodd' d='M40.444,24.504v2.871h-1.748v-7.549h1.748v0.801 c0.241-0.319,0.508-0.553,0.801-0.703c0.293-0.153,0.63-0.229,1.011-0.229c0.674,0,1.227,0.269,1.66,0.806 c0.433,0.534,0.649,1.223,0.649,2.065c0,0.843-0.216,1.533-0.649,2.07c-0.433,0.534-0.986,0.801-1.66,0.801 c-0.381,0-0.718-0.075-1.011-0.225C40.952,25.06,40.685,24.824,40.444,24.504z M41.606,20.964c-0.375,0-0.663,0.139-0.864,0.415 c-0.199,0.273-0.298,0.669-0.298,1.187s0.099,0.915,0.298,1.191c0.202,0.273,0.49,0.41,0.864,0.41s0.659-0.137,0.854-0.41 c0.199-0.273,0.298-0.67,0.298-1.191c0-0.521-0.099-0.918-0.298-1.191C42.266,21.101,41.981,20.964,41.606,20.964z' fill-rule='evenodd'/>
+ <path clip-rule='evenodd' d='M49.917,21.316c-0.153-0.071-0.306-0.124-0.459-0.156 c-0.15-0.036-0.301-0.053-0.454-0.054c-0.449,0-0.796,0.145-1.04,0.435c-0.241,0.287-0.361,0.698-0.361,1.235v2.52h-1.748v-5.469 h1.748v0.898c0.225-0.358,0.482-0.618,0.771-0.781c0.293-0.166,0.643-0.249,1.05-0.249c0.059,0,0.122,0.003,0.19,0.01 c0.068,0.003,0.167,0.013,0.298,0.029L49.917,21.316z' fill-rule='evenodd'/>
+ <path clip-rule='evenodd' d='M50.786,19.827h1.748v5.469h-1.748V19.827z M50.786,17.698h1.748v1.426h-1.748 V17.698z' fill-rule='evenodd'/>
+ <path clip-rule='evenodd' d='M59.712,21.965v3.33h-1.758v-0.542v-2.007c0-0.472-0.011-0.797-0.034-0.977 c-0.02-0.179-0.055-0.311-0.107-0.396c-0.068-0.114-0.161-0.202-0.278-0.264c-0.117-0.065-0.25-0.098-0.4-0.098 c-0.365,0-0.651,0.142-0.859,0.425c-0.208,0.28-0.313,0.669-0.313,1.167v2.69h-1.748v-5.469h1.748v0.801 c0.264-0.319,0.543-0.553,0.84-0.703c0.296-0.153,0.624-0.229,0.981-0.229c0.631,0,1.11,0.194,1.436,0.581 C59.547,20.664,59.712,21.227,59.712,21.965z' fill-rule='evenodd'/>
+ <path clip-rule='evenodd' d='M63.242,18.274v1.553h1.802v1.25h-1.802v2.319c0,0.254,0.05,0.427,0.151,0.518 c0.101,0.088,0.301,0.132,0.601,0.132h0.898v1.25h-1.499c-0.69,0-1.18-0.143-1.47-0.43c-0.287-0.29-0.43-0.779-0.43-1.47v-2.319 h-0.869v-1.25h0.869v-1.553H63.242z' fill-rule='evenodd'/>
+ </g>
+ <g>
+ <polygon points='44.156,13.313 42.816,13.313 41.563,11.142 40.315,13.313 38.975,13.313 40.9,9.981 39.028,6.751 40.368,6.751 41.563,8.838 42.763,6.751 44.104,6.751 42.24,9.981 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ <polygon points='44.877,6.751 46.173,6.751 46.173,9.251 47.795,9.251 47.795,6.751 49.091,6.751 49.091,13.313 47.795,13.313 47.795,10.395 46.173,10.395 46.173,13.313 44.877,13.313 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ <polygon points='53.051,13.313 51.754,13.313 51.754,7.885 50.089,7.885 50.089,6.751 54.716,6.751 54.716,7.885 53.051,7.885 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ <polygon points='55.49,6.751 57.037,6.751 57.819,9.629 58.597,6.751 60.152,6.751 60.152,13.313 59.036,13.313 59.036,8.057 58.342,10.926 57.309,10.926 56.606,8.057 56.606,13.313 55.49,13.313 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ <polygon points='61.519,13.313 61.519,6.751 62.815,6.751 62.815,12.17 65.588,12.17 65.588,13.313 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ </g>
+ <g>
+ <polygon points='67.395,24.213 68.845,24.213 68.845,19.955 67.496,20.289 67.496,19.12 68.854,18.795 70.106,18.795 70.106,24.213 71.557,24.213 71.557,25.356 67.395,25.356 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ <rect fill-rule='evenodd' height='1.613' width='1.463' clip-rule='evenodd' y='23.743' x='72.07'/>
+ <path clip-rule='evenodd' d='M76.783,19.841c-0.331,0-0.573,0.177-0.725,0.532 c-0.152,0.352-0.229,0.921-0.229,1.709c0,0.785,0.076,1.355,0.229,1.709c0.152,0.352,0.394,0.527,0.725,0.527 c0.334,0,0.577-0.176,0.729-0.527c0.152-0.354,0.229-0.924,0.229-1.709c0-0.788-0.076-1.358-0.229-1.709 C77.36,20.018,77.117,19.841,76.783,19.841z M74.48,22.082c0-1.122,0.193-1.97,0.58-2.544c0.39-0.574,0.964-0.861,1.723-0.861 c0.762,0,1.335,0.287,1.723,0.861c0.39,0.574,0.584,1.422,0.584,2.544c0,1.119-0.195,1.966-0.584,2.54 c-0.387,0.574-0.961,0.861-1.723,0.861c-0.759,0-1.333-0.287-1.723-0.861C74.673,24.048,74.48,23.201,74.48,22.082z' fill-rule='evenodd'/>
+ </g>
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/htdocs/images/valid_icons/valid-xhtmlprint10-blue.gif b/htdocs/images/valid_icons/valid-xhtmlprint10-blue.gif
new file mode 100644
index 0000000..9d2820f
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-xhtmlprint10-blue.gif
Binary files differ
diff --git a/htdocs/images/valid_icons/valid-xhtmlprint10-blue.png b/htdocs/images/valid_icons/valid-xhtmlprint10-blue.png
new file mode 100644
index 0000000..86250e4
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-xhtmlprint10-blue.png
Binary files differ
diff --git a/htdocs/images/valid_icons/valid-xhtmlprint10-v.svg b/htdocs/images/valid_icons/valid-xhtmlprint10-v.svg
new file mode 100644
index 0000000..658891f
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-xhtmlprint10-v.svg
@@ -0,0 +1,331 @@
+<?xml version='1.0' encoding='iso-8859-1'?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns='http://www.w3.org/2000/svg' xml:space='preserve' version='1.1' overflow='visible' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 88 31'>
+ <g shape-rendering='geometricPrecision' text-rendering='geometricPrecision' image-rendering='optimizeQuality'>
+ <g id='Background'>
+ </g>
+ <g id='Guides'>
+ </g>
+ <g id='Foreground'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#FFCC66'/>
+ <path d='M41.5,15.5' fill='#FFCC66'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#FFFFFF'/>
+ <path d='M18.587,15.5' fill='#FFFFFF'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_757_'/>
+ </defs>
+ <use xlink:href='#XMLID_757_' fill='#504D4C'/>
+ <clipPath id='XMLID_779_'>
+ <use xlink:href='#XMLID_757_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_779_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#4E4B3F'/>
+ <path d='M41.5,15.5' fill='#4E4B3F'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#4F4F4F'/>
+ <path d='M18.587,15.5' fill='#4F4F4F'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='82,0 83,0 83,31 82,31 82,0 ' id='XMLID_759_'/>
+ </defs>
+ <use xlink:href='#XMLID_759_' fill='#504D4C'/>
+ <clipPath id='XMLID_780_'>
+ <use xlink:href='#XMLID_759_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_780_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#4E4B3F'/>
+ <path d='M41.5,15.5' fill='#4E4B3F'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_761_'/>
+ </defs>
+ <use xlink:href='#XMLID_761_' fill='#191919'/>
+ <clipPath id='XMLID_781_'>
+ <use xlink:href='#XMLID_761_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_781_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#191917'/>
+ <path d='M41.5,15.5' fill='#191917'/>
+ </g>
+ <g>
+ <polygon points='0.366,0 36.809,0 36.809,31 0.366,31 0.366,0 ' fill='#191919'/>
+ <path d='M18.587,15.5' fill='#191919'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <polygon points='0,0 1,0 1,31 0,31 0,0 ' fill='#CCCCCC'/>
+ <path d='M0.5,15.5' fill='#CCCCCC'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='80.806,1 81.806,1 81.806,31 80.806,31 80.806,1 ' id='XMLID_763_'/>
+ </defs>
+ <use xlink:href='#XMLID_763_' fill='#9E9C9C'/>
+ <clipPath id='XMLID_782_'>
+ <use xlink:href='#XMLID_763_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_782_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#B39F67'/>
+ <path d='M41.5,15.5' fill='#B39F67'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_765_'/>
+ </defs>
+ <use xlink:href='#XMLID_765_' fill='#383838'/>
+ <clipPath id='XMLID_783_'>
+ <use xlink:href='#XMLID_765_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_783_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#383530'/>
+ <path d='M41.5,15.5' fill='#383530'/>
+ </g>
+ <g>
+ <polygon points='0.366,0 36.809,0 36.809,31 0.366,31 0.366,0 ' fill='#383838'/>
+ <path d='M18.587,15.5' fill='#383838'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <polygon points='4.692,2.291 44.697,2.291 44.697,26.897 4.692,26.897 4.692,2.291 ' fill='none'/>
+ <path d='M24.695,14.594' fill='none'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='2.16,29.005 82.16,29.005 82.16,30.005 2.16,30.005 2.16,29.005 ' id='XMLID_767_'/>
+ </defs>
+ <use xlink:href='#XMLID_767_' fill='#9E9C9C'/>
+ <clipPath id='XMLID_784_'>
+ <use xlink:href='#XMLID_767_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_784_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#B39F67'/>
+ <path d='M41.5,15.5' fill='#B39F67'/>
+ </g>
+ <g>
+ <polygon points='0.365,0 36.809,0 36.809,31 0.365,31 0.365,0 ' fill='#B5B5B5'/>
+ <path d='M18.587,15.5' fill='#B5B5B5'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_769_'/>
+ </defs>
+ <use xlink:href='#XMLID_769_' fill='#383838'/>
+ <clipPath id='XMLID_785_'>
+ <use xlink:href='#XMLID_769_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_785_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#383530'/>
+ <path d='M41.5,15.5' fill='#383530'/>
+ </g>
+ <g>
+ <polygon points='0.366,0 36.809,0 36.809,31 0.366,31 0.366,0 ' fill='#383838'/>
+ <path d='M18.587,15.5' fill='#383838'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='82,0 83,0 83,31 82,31 82,0 ' id='XMLID_771_'/>
+ </defs>
+ <use xlink:href='#XMLID_771_' fill='#383838'/>
+ <clipPath id='XMLID_786_'>
+ <use xlink:href='#XMLID_771_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_786_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#383530'/>
+ <path d='M41.5,15.5' fill='#383530'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_773_'/>
+ </defs>
+ <use xlink:href='#XMLID_773_' fill='#131313'/>
+ <clipPath id='XMLID_787_'>
+ <use xlink:href='#XMLID_773_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_787_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#131313'/>
+ <path d='M41.5,15.5' fill='#131313'/>
+ </g>
+ <g>
+ <polygon points='0.366,0 36.809,0 36.809,31 0.366,31 0.366,0 ' fill='#131313'/>
+ <path d='M18.587,15.5' fill='#131313'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='80.806,1 81.806,1 81.806,31 80.806,31 80.806,1 ' id='XMLID_775_'/>
+ </defs>
+ <use xlink:href='#XMLID_775_' fill='#818181'/>
+ <clipPath id='XMLID_788_'>
+ <use xlink:href='#XMLID_775_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_788_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#807659'/>
+ <path d='M41.5,15.5' fill='#807659'/>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <polygon points='0,30 83,30 83,31 0,31 0,30 ' id='XMLID_777_'/>
+ </defs>
+ <use xlink:href='#XMLID_777_' fill='#272727'/>
+ <clipPath id='XMLID_789_'>
+ <use xlink:href='#XMLID_777_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_789_)'>
+ <g>
+ <polygon points='0,0 88,0 88,31 0,31 0,0 ' fill='none'/>
+ <path d='M44,15.5' fill='none'/>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,31 0,31 0,0 ' fill='#272623'/>
+ <path d='M41.5,15.5' fill='#272623'/>
+ </g>
+ <g>
+ <polygon points='0.366,0 36.809,0 36.809,31 0.366,31 0.366,0 ' fill='#272727'/>
+ <path d='M18.587,15.5' fill='#272727'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <polygon points='0,0 83,0 83,1 0,1 0,0 ' fill='#CCCCCC'/>
+ <path d='M41.5,0.5' fill='#CCCCCC'/>
+ </g>
+ <g>
+ <polyline fill-rule='evenodd' stroke='#990000' points=' 68.273,8.576 74.291,14.08 86.001,2.369 ' clip-rule='evenodd' stroke-miterlimit='3.8637' stroke-width='4.8117' fill='none'/>
+ </g>
+ <g>
+ <g>
+ <path d='M33.077,7.037l0.334,2.034l-1.185,2.266c0,0-0.455-0.961-1.21-1.494c-0.636-0.448-1.051-0.545-1.699-0.412 c-0.833,0.172-1.777,1.167-2.189,2.395c-0.493,1.469-0.498,2.18-0.515,2.833c-0.028,1.047,0.137,1.665,0.137,1.665 s-0.719-1.33-0.712-3.278c0.005-1.391,0.223-2.652,0.867-3.897c0.566-1.094,1.407-1.751,2.154-1.828 c0.772-0.08,1.383,0.292,1.854,0.695c0.495,0.423,0.996,1.348,0.996,1.348L33.077,7.037z'/>
+ <path d='M33.222,18.547c0,0-0.523,0.936-0.85,1.296s-0.91,0.996-1.63,1.313c-0.721,0.317-1.099,0.377-1.811,0.309 c-0.712-0.068-1.373-0.48-1.605-0.652c-0.231-0.171-0.824-0.678-1.159-1.15s-0.858-1.416-0.858-1.416s0.292,0.946,0.474,1.347 c0.105,0.231,0.428,0.938,0.886,1.554c0.427,0.574,1.257,1.562,2.519,1.785s2.128-0.343,2.343-0.48 c0.214-0.138,0.667-0.516,0.953-0.822c0.299-0.32,0.582-0.728,0.738-0.972c0.114-0.179,0.301-0.541,0.301-0.541L33.222,18.547z'/>
+ </g>
+ <g>
+ <path d='M11.437,7.127l2.852,9.698l2.852-9.698h2.065l-4.721,15.934h-0.197l-2.95-9.875l-2.951,9.875H8.191 L3.47,7.127h2.065l2.853,9.698l1.928-6.53L9.372,7.127H11.437z' fill='#005A9C'/>
+ <path d='M25.072,17.946c0,1.443-0.384,2.656-1.151,3.639c-0.767,0.983-1.761,1.475-2.98,1.475 c-0.918,0-1.718-0.292-2.4-0.875c-0.682-0.583-1.187-1.373-1.515-2.37l1.613-0.668c0.236,0.603,0.548,1.079,0.935,1.426 c0.387,0.348,0.843,0.521,1.367,0.521c0.551,0,1.016-0.308,1.397-0.924c0.38-0.617,0.571-1.357,0.571-2.223 c0-0.958-0.203-1.698-0.61-2.223c-0.473-0.617-1.214-0.925-2.223-0.925h-0.787v-0.944l2.754-4.761h-3.325l-0.925,1.574h-0.59 V7.127h7.672v0.964l-2.911,5.016c1.023,0.328,1.797,0.925,2.321,1.791C24.809,15.763,25.072,16.779,25.072,17.946z' fill='#005A9C'/>
+ </g>
+ </g>
+ <g>
+ <path clip-rule='evenodd' d='M40.444,24.504v2.871h-1.748v-7.549h1.748v0.801 c0.241-0.319,0.508-0.553,0.801-0.703c0.293-0.153,0.63-0.229,1.011-0.229c0.674,0,1.228,0.269,1.66,0.806 c0.433,0.534,0.649,1.222,0.649,2.065s-0.216,1.533-0.649,2.07c-0.433,0.534-0.986,0.801-1.66,0.801 c-0.381,0-0.718-0.075-1.011-0.225C40.952,25.06,40.685,24.823,40.444,24.504z M41.606,20.964c-0.375,0-0.663,0.138-0.864,0.415 c-0.199,0.273-0.298,0.669-0.298,1.187s0.099,0.915,0.298,1.191c0.202,0.273,0.49,0.41,0.864,0.41s0.659-0.137,0.854-0.41 c0.199-0.273,0.298-0.67,0.298-1.191s-0.099-0.918-0.298-1.191C42.266,21.101,41.981,20.964,41.606,20.964z' fill-rule='evenodd'/>
+ <path clip-rule='evenodd' d='M49.917,21.316c-0.153-0.072-0.306-0.124-0.459-0.156 c-0.149-0.036-0.301-0.054-0.454-0.054c-0.449,0-0.796,0.145-1.04,0.435c-0.241,0.287-0.361,0.698-0.361,1.235v2.52h-1.748v-5.469 h1.748v0.898c0.225-0.358,0.482-0.619,0.771-0.781c0.293-0.166,0.643-0.249,1.05-0.249c0.059,0,0.122,0.003,0.19,0.01 c0.068,0.003,0.167,0.013,0.298,0.029L49.917,21.316z' fill-rule='evenodd'/>
+ <path clip-rule='evenodd' d='M50.786,19.827h1.748v5.469h-1.748V19.827z M50.786,17.698h1.748v1.426h-1.748 V17.698z' fill-rule='evenodd'/>
+ <path clip-rule='evenodd' d='M59.712,21.965v3.33h-1.758v-0.542v-2.007c0-0.472-0.011-0.797-0.034-0.977 c-0.02-0.179-0.055-0.311-0.107-0.396c-0.068-0.114-0.161-0.202-0.278-0.264c-0.117-0.065-0.25-0.098-0.4-0.098 c-0.365,0-0.651,0.142-0.859,0.425c-0.208,0.28-0.313,0.669-0.313,1.167v2.69h-1.748v-5.469h1.748v0.801 c0.264-0.319,0.543-0.553,0.84-0.703c0.296-0.153,0.624-0.229,0.981-0.229c0.631,0,1.11,0.194,1.436,0.581 C59.547,20.663,59.712,21.227,59.712,21.965z' fill-rule='evenodd'/>
+ <path clip-rule='evenodd' d='M63.242,18.274v1.553h1.802v1.25h-1.802v2.319c0,0.254,0.05,0.426,0.151,0.518 c0.101,0.088,0.301,0.132,0.601,0.132h0.898v1.25h-1.499c-0.69,0-1.18-0.143-1.47-0.43c-0.286-0.29-0.43-0.78-0.43-1.47v-2.319 h-0.869v-1.25h0.869v-1.553H63.242z' fill-rule='evenodd'/>
+ </g>
+ <g>
+ <polygon points='44.156,13.312 42.816,13.312 41.563,11.141 40.315,13.312 38.975,13.312 40.9,9.981 39.028,6.751 40.368,6.751 41.563,8.838 42.763,6.751 44.104,6.751 42.24,9.981 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ <polygon points='44.877,6.751 46.173,6.751 46.173,9.251 47.795,9.251 47.795,6.751 49.091,6.751 49.091,13.312 47.795,13.312 47.795,10.394 46.173,10.394 46.173,13.312 44.877,13.312 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ <polygon points='53.051,13.312 51.754,13.312 51.754,7.885 50.089,7.885 50.089,6.751 54.716,6.751 54.716,7.885 53.051,7.885 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ <polygon points='55.49,6.751 57.037,6.751 57.819,9.629 58.597,6.751 60.152,6.751 60.152,13.312 59.036,13.312 59.036,8.056 58.342,10.926 57.309,10.926 56.606,8.056 56.606,13.312 55.49,13.312 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ <polygon points='61.519,13.312 61.519,6.751 62.815,6.751 62.815,12.169 65.588,12.169 65.588,13.312 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ </g>
+ <g>
+ <polygon points='67.395,24.213 68.845,24.213 68.845,19.955 67.496,20.289 67.496,19.12 68.854,18.795 70.106,18.795 70.106,24.213 71.557,24.213 71.557,25.356 67.395,25.356 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ <rect fill-rule='evenodd' height='1.613' width='1.463' clip-rule='evenodd' y='23.743' x='72.07'/>
+ <path clip-rule='evenodd' d='M76.783,19.841c-0.331,0-0.573,0.177-0.725,0.532 c-0.152,0.352-0.229,0.921-0.229,1.709c0,0.785,0.076,1.355,0.229,1.709c0.152,0.352,0.394,0.527,0.725,0.527 c0.334,0,0.577-0.176,0.729-0.527c0.152-0.354,0.229-0.924,0.229-1.709c0-0.788-0.076-1.358-0.229-1.709 C77.36,20.018,77.117,19.841,76.783,19.841z M74.48,22.082c0-1.122,0.193-1.97,0.58-2.544c0.39-0.574,0.964-0.861,1.723-0.861 c0.762,0,1.336,0.287,1.723,0.861c0.39,0.574,0.584,1.422,0.584,2.544c0,1.119-0.195,1.966-0.584,2.54 c-0.387,0.574-0.961,0.861-1.723,0.861c-0.759,0-1.333-0.287-1.723-0.861C74.673,24.048,74.48,23.201,74.48,22.082z' fill-rule='evenodd'/>
+ </g>
+ </g>
+ <g id='Calque_1'>
+ </g>
+ <g id='Layer_1'>
+ </g>
+ </g>
+</svg>
diff --git a/htdocs/images/valid_icons/valid-xhtmlprint10.gif b/htdocs/images/valid_icons/valid-xhtmlprint10.gif
new file mode 100644
index 0000000..4077f64
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-xhtmlprint10.gif
Binary files differ
diff --git a/htdocs/images/valid_icons/valid-xhtmlprint10.png b/htdocs/images/valid_icons/valid-xhtmlprint10.png
new file mode 100644
index 0000000..11d9ccc
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-xhtmlprint10.png
Binary files differ
diff --git a/htdocs/images/valid_icons/valid-xml10-blue-v.svg b/htdocs/images/valid_icons/valid-xml10-blue-v.svg
new file mode 100644
index 0000000..abe9515
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-xml10-blue-v.svg
@@ -0,0 +1,243 @@
+<?xml version='1.0' encoding='iso-8859-1'?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns='http://www.w3.org/2000/svg' xml:space='preserve' version='1.1' overflow='visible' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 88 31'>
+ <g shape-rendering='geometricPrecision' text-rendering='geometricPrecision' image-rendering='optimizeQuality'>
+ <g shape-rendering='geometricPrecision' text-rendering='geometricPrecision' image-rendering='optimizeQuality'>
+ <g id='Background'>
+ </g>
+ <g id='Guides'>
+ </g>
+ <g id='Foreground'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#B3CEE1' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' height='31' width='36.443' clip-rule='evenodd' x='0.365' fill='#FFFFFF'/>
+ <rect fill-rule='evenodd' height='24.607' width='40.004' clip-rule='evenodd' y='2.291' x='4.692' fill='none'/>
+ <g>
+ <g>
+ <defs>
+ <rect y='30' width='83' id='XMLID_73_' height='1'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_73_' clip-rule='evenodd' fill='#504D4C'/>
+ <clipPath id='XMLID_99_'>
+ <use xlink:href='#XMLID_73_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_99_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#48494B' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' height='31' width='36.443' clip-rule='evenodd' x='0.365' fill='#4F4F4F'/>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <rect x='82' width='1' id='XMLID_75_' height='31'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_75_' clip-rule='evenodd' fill='#504D4C'/>
+ <clipPath id='XMLID_100_'>
+ <use xlink:href='#XMLID_75_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_100_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#48494B' clip-rule='evenodd' height='31'/>
+ <g>
+ <g>
+ <defs>
+ <rect y='30' width='83' id='XMLID_77_' height='1'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_77_' clip-rule='evenodd' fill='#191919'/>
+ <clipPath id='XMLID_101_'>
+ <use xlink:href='#XMLID_77_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_101_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#181818' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' height='31' width='36.443' clip-rule='evenodd' x='0.365' fill='#191919'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <rect fill-rule='evenodd' width='1' fill='#CCCCCC' clip-rule='evenodd' height='31'/>
+ <g>
+ <g>
+ <defs>
+ <rect y='29.005' x='2.16' width='80' id='XMLID_79_' height='1'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_79_' clip-rule='evenodd' fill='#9E9C9C'/>
+ <clipPath id='XMLID_102_'>
+ <use xlink:href='#XMLID_79_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_102_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#9097A0' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' height='31' width='36.443' clip-rule='evenodd' x='0.365' fill='#B5B5B5'/>
+ <g>
+ <g>
+ <defs>
+ <rect y='30' width='83' id='XMLID_81_' height='1'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_81_' clip-rule='evenodd' fill='#383838'/>
+ <clipPath id='XMLID_103_'>
+ <use xlink:href='#XMLID_81_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_103_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#343536' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' height='31' width='36.443' clip-rule='evenodd' x='0.365' fill='#383838'/>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <rect x='82' width='1' id='XMLID_83_' height='31'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_83_' clip-rule='evenodd' fill='#383838'/>
+ <clipPath id='XMLID_104_'>
+ <use xlink:href='#XMLID_83_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_104_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#343536' clip-rule='evenodd' height='31'/>
+ <g>
+ <g>
+ <defs>
+ <rect y='30' width='83' id='XMLID_85_' height='1'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_85_' clip-rule='evenodd' fill='#131313'/>
+ <clipPath id='XMLID_105_'>
+ <use xlink:href='#XMLID_85_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_105_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#131313' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' height='31' width='36.443' clip-rule='evenodd' x='0.365' fill='#131313'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <rect y='1' x='80.806' width='1' id='XMLID_87_' height='30'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_87_' clip-rule='evenodd' fill='#9E9C9C'/>
+ <clipPath id='XMLID_106_'>
+ <use xlink:href='#XMLID_87_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_106_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#9097A0' clip-rule='evenodd' height='31'/>
+ <g>
+ <g>
+ <defs>
+ <rect y='30' width='83' id='XMLID_89_' height='1'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_89_' clip-rule='evenodd' fill='#383838'/>
+ <clipPath id='XMLID_107_'>
+ <use xlink:href='#XMLID_89_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_107_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#343536' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' height='31' width='36.443' clip-rule='evenodd' x='0.365' fill='#383838'/>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <rect y='29.005' x='2.16' width='80' id='XMLID_91_' height='1'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_91_' clip-rule='evenodd' fill='#818181'/>
+ <clipPath id='XMLID_108_'>
+ <use xlink:href='#XMLID_91_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_108_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#6E7176' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' height='31' width='36.443' clip-rule='evenodd' x='0.365' fill='#818181'/>
+ <g>
+ <g>
+ <defs>
+ <rect y='30' width='83' id='XMLID_93_' height='1'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_93_' clip-rule='evenodd' fill='#272727'/>
+ <clipPath id='XMLID_109_'>
+ <use xlink:href='#XMLID_93_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_109_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#252626' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' height='31' width='36.443' clip-rule='evenodd' x='0.365' fill='#272727'/>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <rect x='82' width='1' id='XMLID_95_' height='31'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_95_' clip-rule='evenodd' fill='#272727'/>
+ <clipPath id='XMLID_110_'>
+ <use xlink:href='#XMLID_95_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_110_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#252626' clip-rule='evenodd' height='31'/>
+ <g>
+ <g>
+ <defs>
+ <rect y='30' width='83' id='XMLID_97_' height='1'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_97_' clip-rule='evenodd' fill='#101010'/>
+ <clipPath id='XMLID_111_'>
+ <use xlink:href='#XMLID_97_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_111_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#101010' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' height='31' width='36.443' clip-rule='evenodd' x='0.365' fill='#101010'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <rect fill-rule='evenodd' width='83' fill='#CCCCCC' clip-rule='evenodd' height='1'/>
+ <polyline fill-rule='evenodd' stroke='#005A9C' points=' 68.273,18.844 74.291,24.348 86.001,12.637 ' clip-rule='evenodd' stroke-miterlimit='3.8637' stroke-width='4.8115' fill='none'/>
+ <g>
+ <polygon points='44.053,9.391 46.583,13.112 44.625,13.112 42.92,10.622 41.231,13.112 39.263,13.112 41.792,9.391 39.361,5.822 41.324,5.822 42.92,8.17 44.512,5.822 46.485,5.822 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ <polygon points='48.3,5.822 50.693,5.822 52.353,9.723 54.023,5.822 56.411,5.822 56.411,13.112 54.634,13.112 54.634,7.78 52.954,11.71 51.763,11.71 50.083,7.78 50.083,13.112 48.3,13.112 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ <polygon points='58.852,5.822 60.731,5.822 60.731,11.691 64.032,11.691 64.032,13.112 58.852,13.112 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ </g>
+ <g>
+ <polygon points='40.028,22.997 41.688,22.997 41.688,18.285 39.984,18.636 39.984,17.357 41.679,17.005 43.466,17.005 43.466,22.997 45.126,22.997 45.126,24.295 40.028,24.295 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ <rect fill-rule='evenodd' height='1.89' width='1.758' clip-rule='evenodd' y='22.406' x='46.435'/>
+ <path clip-rule='evenodd' d='M54.213,20.643c0-0.912-0.086-1.553-0.259-1.924 c-0.169-0.375-0.456-0.562-0.859-0.562c-0.404,0-0.692,0.187-0.864,0.562c-0.173,0.371-0.259,1.012-0.259,1.924 c0,0.921,0.086,1.57,0.259,1.948c0.172,0.377,0.46,0.566,0.864,0.566c0.4,0,0.687-0.189,0.859-0.566 C54.127,22.213,54.213,21.564,54.213,20.643z M56.093,20.658c0,1.208-0.261,2.14-0.781,2.798c-0.521,0.654-1.26,0.981-2.217,0.981 c-0.96,0-1.701-0.327-2.222-0.981c-0.521-0.658-0.781-1.59-0.781-2.798c0-1.211,0.26-2.144,0.781-2.798 c0.521-0.658,1.262-0.986,2.222-0.986c0.957,0,1.696,0.329,2.217,0.986C55.833,18.514,56.093,19.447,56.093,20.658z' fill-rule='evenodd'/>
+ </g>
+ <g>
+ <path d='M33.077,7.037l0.334,2.034l-1.185,2.266c0,0-0.455-0.961-1.21-1.493c-0.636-0.448-1.051-0.545-1.699-0.412 c-0.833,0.172-1.777,1.167-2.189,2.395c-0.493,1.469-0.498,2.18-0.515,2.833c-0.027,1.047,0.137,1.665,0.137,1.665 s-0.719-1.33-0.712-3.279c0.005-1.391,0.223-2.652,0.867-3.896c0.566-1.094,1.408-1.751,2.154-1.828 c0.772-0.08,1.382,0.292,1.854,0.695c0.495,0.423,0.996,1.348,0.996,1.348L33.077,7.037z'/>
+ <path d='M33.222,18.547c0,0-0.523,0.935-0.85,1.296c-0.326,0.36-0.91,0.996-1.631,1.313c-0.721,0.317-1.099,0.378-1.811,0.309 c-0.712-0.068-1.374-0.48-1.605-0.652c-0.232-0.171-0.824-0.678-1.159-1.15c-0.335-0.472-0.858-1.417-0.858-1.417 s0.292,0.946,0.474,1.348c0.105,0.231,0.428,0.938,0.886,1.553c0.427,0.574,1.257,1.563,2.519,1.786s2.128-0.343,2.343-0.481 c0.214-0.137,0.667-0.516,0.953-0.821c0.299-0.32,0.582-0.728,0.738-0.972c0.114-0.179,0.301-0.541,0.301-0.541L33.222,18.547z'/>
+ </g>
+ <g>
+ <path d='M11.437,7.127l2.852,9.698l2.852-9.698h2.065l-4.721,15.934h-0.197l-2.951-9.875l-2.951,9.875H8.191 L3.47,7.127h2.065l2.852,9.698l1.928-6.53L9.372,7.127H11.437z' fill='#005A9C'/>
+ <path d='M25.072,17.946c0,1.443-0.384,2.656-1.151,3.639c-0.767,0.983-1.76,1.475-2.98,1.475 c-0.918,0-1.718-0.292-2.4-0.875c-0.682-0.583-1.187-1.373-1.515-2.37l1.613-0.669c0.236,0.604,0.548,1.079,0.935,1.426 c0.387,0.348,0.843,0.521,1.367,0.521c0.551,0,1.016-0.308,1.397-0.924c0.38-0.617,0.571-1.357,0.571-2.223 c0-0.958-0.204-1.699-0.61-2.223c-0.472-0.616-1.214-0.924-2.223-0.924h-0.787v-0.944l2.754-4.761h-3.325l-0.925,1.573h-0.59 V7.127h7.672v0.964l-2.912,5.016c1.023,0.328,1.797,0.925,2.321,1.791S25.072,16.779,25.072,17.946z' fill='#005A9C'/>
+ </g>
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/htdocs/images/valid_icons/valid-xml10-blue.gif b/htdocs/images/valid_icons/valid-xml10-blue.gif
new file mode 100644
index 0000000..29c8b96
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-xml10-blue.gif
Binary files differ
diff --git a/htdocs/images/valid_icons/valid-xml10-blue.png b/htdocs/images/valid_icons/valid-xml10-blue.png
new file mode 100644
index 0000000..0006926
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-xml10-blue.png
Binary files differ
diff --git a/htdocs/images/valid_icons/valid-xml10-v.svg b/htdocs/images/valid_icons/valid-xml10-v.svg
new file mode 100644
index 0000000..e45dd17
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-xml10-v.svg
@@ -0,0 +1,245 @@
+<?xml version='1.0' encoding='iso-8859-1'?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns='http://www.w3.org/2000/svg' xml:space='preserve' version='1.1' overflow='visible' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 88 31'>
+ <g shape-rendering='geometricPrecision' text-rendering='geometricPrecision' image-rendering='optimizeQuality'>
+ <g id='Background'>
+ </g>
+ <g id='Guides'>
+ </g>
+ <g id='Foreground'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#FFCC66' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' height='31' width='36.443' clip-rule='evenodd' x='0.365' fill='#FFFFFF'/>
+ <rect fill-rule='evenodd' height='24.607' width='40.004' clip-rule='evenodd' y='2.291' x='4.692' fill='none'/>
+ <g>
+ <g>
+ <defs>
+ <rect y='30' width='83' id='XMLID_718_' height='1'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_718_' clip-rule='evenodd' fill='#504D4C'/>
+ <clipPath id='XMLID_744_'>
+ <use xlink:href='#XMLID_718_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_744_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#4E4B3F' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' height='31' width='36.443' clip-rule='evenodd' x='0.365' fill='#4F4F4F'/>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <rect x='82' width='1' id='XMLID_720_' height='31'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_720_' clip-rule='evenodd' fill='#504D4C'/>
+ <clipPath id='XMLID_745_'>
+ <use xlink:href='#XMLID_720_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_745_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#4E4B3F' clip-rule='evenodd' height='31'/>
+ <g>
+ <g>
+ <defs>
+ <rect y='30' width='83' id='XMLID_722_' height='1'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_722_' clip-rule='evenodd' fill='#191919'/>
+ <clipPath id='XMLID_746_'>
+ <use xlink:href='#XMLID_722_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_746_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#191917' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' height='31' width='36.443' clip-rule='evenodd' x='0.366' fill='#191919'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <rect fill-rule='evenodd' width='1' fill='#CCCCCC' clip-rule='evenodd' height='31'/>
+ <g>
+ <g>
+ <defs>
+ <rect y='29.005' x='2.16' width='80' id='XMLID_724_' height='1'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_724_' clip-rule='evenodd' fill='#9E9C9C'/>
+ <clipPath id='XMLID_747_'>
+ <use xlink:href='#XMLID_724_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_747_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#B39F67' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' height='31' width='36.443' clip-rule='evenodd' x='0.365' fill='#B5B5B5'/>
+ <g>
+ <g>
+ <defs>
+ <rect y='30' width='83' id='XMLID_726_' height='1'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_726_' clip-rule='evenodd' fill='#383838'/>
+ <clipPath id='XMLID_748_'>
+ <use xlink:href='#XMLID_726_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_748_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#383530' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' height='31' width='36.443' clip-rule='evenodd' x='0.366' fill='#383838'/>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <rect x='82' width='1' id='XMLID_728_' height='31'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_728_' clip-rule='evenodd' fill='#383838'/>
+ <clipPath id='XMLID_749_'>
+ <use xlink:href='#XMLID_728_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_749_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#383530' clip-rule='evenodd' height='31'/>
+ <g>
+ <g>
+ <defs>
+ <rect y='30' width='83' id='XMLID_730_' height='1'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_730_' clip-rule='evenodd' fill='#131313'/>
+ <clipPath id='XMLID_750_'>
+ <use xlink:href='#XMLID_730_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_750_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#131313' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' height='31' width='36.443' clip-rule='evenodd' x='0.366' fill='#131313'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <rect y='1' x='80.806' width='1' id='XMLID_732_' height='30'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_732_' clip-rule='evenodd' fill='#9E9C9C'/>
+ <clipPath id='XMLID_751_'>
+ <use xlink:href='#XMLID_732_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_751_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#B39F67' clip-rule='evenodd' height='31'/>
+ <g>
+ <g>
+ <defs>
+ <rect y='30' width='83' id='XMLID_734_' height='1'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_734_' clip-rule='evenodd' fill='#383838'/>
+ <clipPath id='XMLID_752_'>
+ <use xlink:href='#XMLID_734_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_752_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#383530' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' height='31' width='36.443' clip-rule='evenodd' x='0.366' fill='#383838'/>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <rect y='29.005' x='2.16' width='80' id='XMLID_736_' height='1'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_736_' clip-rule='evenodd' fill='#818181'/>
+ <clipPath id='XMLID_753_'>
+ <use xlink:href='#XMLID_736_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_753_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#807659' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' height='31' width='36.443' clip-rule='evenodd' x='0.365' fill='#818181'/>
+ <g>
+ <g>
+ <defs>
+ <rect y='30' width='83' id='XMLID_738_' height='1'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_738_' clip-rule='evenodd' fill='#272727'/>
+ <clipPath id='XMLID_754_'>
+ <use xlink:href='#XMLID_738_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_754_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#272623' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' height='31' width='36.443' clip-rule='evenodd' x='0.366' fill='#272727'/>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <rect x='82' width='1' id='XMLID_740_' height='31'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_740_' clip-rule='evenodd' fill='#272727'/>
+ <clipPath id='XMLID_755_'>
+ <use xlink:href='#XMLID_740_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_755_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#272623' clip-rule='evenodd' height='31'/>
+ <g>
+ <g>
+ <defs>
+ <rect y='30' width='83' id='XMLID_742_' height='1'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_742_' clip-rule='evenodd' fill='#101010'/>
+ <clipPath id='XMLID_756_'>
+ <use xlink:href='#XMLID_742_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_756_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#101010' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' height='31' width='36.443' clip-rule='evenodd' x='0.366' fill='#101010'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <rect fill-rule='evenodd' width='83' fill='#CCCCCC' clip-rule='evenodd' height='1'/>
+ <polyline fill-rule='evenodd' stroke='#990000' points=' 68.273,18.844 74.291,24.348 86.001,12.637 ' clip-rule='evenodd' stroke-miterlimit='3.8637' stroke-width='4.8115' fill='none'/>
+ <g>
+ <polygon points='44.053,9.391 46.583,13.112 44.625,13.112 42.92,10.622 41.231,13.112 39.263,13.112 41.792,9.391 39.361,5.822 41.324,5.822 42.92,8.17 44.512,5.822 46.485,5.822 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ <polygon points='48.301,5.822 50.693,5.822 52.353,9.723 54.023,5.822 56.411,5.822 56.411,13.112 54.634,13.112 54.634,7.78 52.954,11.71 51.763,11.71 50.083,7.78 50.083,13.112 48.301,13.112 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ <polygon points='58.852,5.822 60.731,5.822 60.731,11.691 64.032,11.691 64.032,13.112 58.852,13.112 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ </g>
+ <g>
+ <polygon points='40.028,22.996 41.688,22.996 41.688,18.284 39.984,18.636 39.984,17.356 41.679,17.005 43.466,17.005 43.466,22.996 45.126,22.996 45.126,24.295 40.028,24.295 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ <rect fill-rule='evenodd' height='1.89' width='1.758' clip-rule='evenodd' y='22.405' x='46.435'/>
+ <path clip-rule='evenodd' d='M54.213,20.643c0-0.911-0.086-1.552-0.259-1.924 c-0.169-0.374-0.456-0.561-0.859-0.562c-0.404,0-0.692,0.188-0.864,0.562c-0.173,0.371-0.259,1.013-0.259,1.924 c0,0.921,0.086,1.571,0.259,1.948c0.172,0.378,0.46,0.566,0.864,0.566c0.4,0,0.687-0.188,0.859-0.566 C54.127,22.213,54.213,21.564,54.213,20.643z M56.093,20.657c0,1.208-0.261,2.141-0.781,2.798 c-0.521,0.654-1.26,0.981-2.217,0.981c-0.96,0-1.701-0.327-2.222-0.981c-0.521-0.657-0.781-1.59-0.781-2.798 c0-1.211,0.26-2.144,0.781-2.798c0.521-0.657,1.261-0.986,2.222-0.986c0.957,0,1.696,0.329,2.217,0.986 C55.833,18.514,56.093,19.446,56.093,20.657z' fill-rule='evenodd'/>
+ </g>
+ <g>
+ <path d='M33.077,7.037l0.334,2.034l-1.185,2.266c0,0-0.455-0.961-1.21-1.493c-0.636-0.449-1.051-0.546-1.699-0.412 c-0.833,0.171-1.777,1.167-2.189,2.395c-0.493,1.469-0.498,2.18-0.515,2.832c-0.028,1.047,0.137,1.666,0.137,1.666 s-0.719-1.331-0.712-3.279c0.005-1.391,0.223-2.652,0.867-3.896c0.566-1.094,1.407-1.751,2.154-1.828 c0.772-0.08,1.383,0.292,1.854,0.695c0.495,0.423,0.996,1.347,0.996,1.347L33.077,7.037z'/>
+ <path d='M33.222,18.546c0,0-0.523,0.936-0.85,1.296c-0.326,0.36-0.91,0.996-1.63,1.313c-0.721,0.317-1.099,0.377-1.811,0.309 c-0.712-0.069-1.373-0.481-1.605-0.652c-0.231-0.172-0.824-0.678-1.159-1.15c-0.335-0.472-0.858-1.417-0.858-1.417 s0.292,0.946,0.474,1.348c0.105,0.231,0.428,0.938,0.886,1.553c0.427,0.574,1.257,1.562,2.519,1.786 c1.262,0.223,2.128-0.344,2.343-0.481c0.214-0.137,0.667-0.516,0.953-0.822c0.299-0.319,0.582-0.728,0.738-0.972 c0.114-0.178,0.301-0.541,0.301-0.541L33.222,18.546z'/>
+ </g>
+ <g>
+ <path d='M11.437,7.127l2.852,9.698l2.852-9.698h2.065L14.486,23.06h-0.197l-2.95-9.875L8.388,23.06H8.191 L3.47,7.127h2.065l2.853,9.698l1.928-6.531L9.372,7.127H11.437z' fill='#005A9C'/>
+ <path d='M25.072,17.946c0,1.443-0.384,2.656-1.151,3.64c-0.767,0.983-1.761,1.475-2.98,1.475 c-0.918,0-1.718-0.292-2.4-0.875c-0.682-0.583-1.187-1.374-1.515-2.371l1.613-0.668c0.236,0.604,0.548,1.079,0.935,1.426 c0.387,0.348,0.843,0.521,1.367,0.521c0.551,0,1.016-0.308,1.397-0.924s0.571-1.357,0.571-2.223c0-0.958-0.203-1.698-0.61-2.223 c-0.473-0.616-1.214-0.924-2.223-0.924h-0.787v-0.944l2.754-4.761h-3.325l-0.925,1.574h-0.59V7.127h7.672v0.964l-2.911,5.016 c1.023,0.328,1.797,0.925,2.321,1.791C24.809,15.763,25.072,16.779,25.072,17.946z' fill='#005A9C'/>
+ </g>
+ </g>
+ <g id='Calque_1'>
+ </g>
+ <g id='Layer_1'>
+ </g>
+ </g>
+</svg>
diff --git a/htdocs/images/valid_icons/valid-xml10.gif b/htdocs/images/valid_icons/valid-xml10.gif
new file mode 100644
index 0000000..7f0a147
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-xml10.gif
Binary files differ
diff --git a/htdocs/images/valid_icons/valid-xml10.png b/htdocs/images/valid_icons/valid-xml10.png
new file mode 100644
index 0000000..426c2b8
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-xml10.png
Binary files differ
diff --git a/htdocs/images/valid_icons/valid-xml11-blue-v.svg b/htdocs/images/valid_icons/valid-xml11-blue-v.svg
new file mode 100644
index 0000000..850cfb9
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-xml11-blue-v.svg
@@ -0,0 +1,243 @@
+<?xml version='1.0' encoding='iso-8859-1'?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns='http://www.w3.org/2000/svg' xml:space='preserve' version='1.1' overflow='visible' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 88 31'>
+ <g shape-rendering='geometricPrecision' text-rendering='geometricPrecision' image-rendering='optimizeQuality'>
+ <g shape-rendering='geometricPrecision' text-rendering='geometricPrecision' image-rendering='optimizeQuality'>
+ <g id='Background'>
+ </g>
+ <g id='Guides'>
+ </g>
+ <g id='Foreground'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#B3CEE1' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' height='31' width='36.443' clip-rule='evenodd' x='0.365' fill='#FFFFFF'/>
+ <rect fill-rule='evenodd' height='24.607' width='40.004' clip-rule='evenodd' y='2.291' x='4.692' fill='none'/>
+ <g>
+ <g>
+ <defs>
+ <rect y='30' width='83' id='XMLID_34_' height='1'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_34_' clip-rule='evenodd' fill='#504D4C'/>
+ <clipPath id='XMLID_60_'>
+ <use xlink:href='#XMLID_34_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_60_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#48494B' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' height='31' width='36.443' clip-rule='evenodd' x='0.365' fill='#4F4F4F'/>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <rect x='82' width='1' id='XMLID_36_' height='31'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_36_' clip-rule='evenodd' fill='#504D4C'/>
+ <clipPath id='XMLID_61_'>
+ <use xlink:href='#XMLID_36_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_61_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#48494B' clip-rule='evenodd' height='31'/>
+ <g>
+ <g>
+ <defs>
+ <rect y='30' width='83' id='XMLID_38_' height='1'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_38_' clip-rule='evenodd' fill='#191919'/>
+ <clipPath id='XMLID_62_'>
+ <use xlink:href='#XMLID_38_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_62_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#181818' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' height='31' width='36.443' clip-rule='evenodd' x='0.365' fill='#191919'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <rect fill-rule='evenodd' width='1' fill='#CCCCCC' clip-rule='evenodd' height='31'/>
+ <g>
+ <g>
+ <defs>
+ <rect y='29.005' x='2.16' width='80' id='XMLID_40_' height='1'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_40_' clip-rule='evenodd' fill='#9E9C9C'/>
+ <clipPath id='XMLID_63_'>
+ <use xlink:href='#XMLID_40_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_63_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#9097A0' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' height='31' width='36.443' clip-rule='evenodd' x='0.365' fill='#B5B5B5'/>
+ <g>
+ <g>
+ <defs>
+ <rect y='30' width='83' id='XMLID_42_' height='1'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_42_' clip-rule='evenodd' fill='#383838'/>
+ <clipPath id='XMLID_64_'>
+ <use xlink:href='#XMLID_42_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_64_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#343536' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' height='31' width='36.443' clip-rule='evenodd' x='0.365' fill='#383838'/>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <rect x='82' width='1' id='XMLID_44_' height='31'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_44_' clip-rule='evenodd' fill='#383838'/>
+ <clipPath id='XMLID_65_'>
+ <use xlink:href='#XMLID_44_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_65_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#343536' clip-rule='evenodd' height='31'/>
+ <g>
+ <g>
+ <defs>
+ <rect y='30' width='83' id='XMLID_46_' height='1'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_46_' clip-rule='evenodd' fill='#131313'/>
+ <clipPath id='XMLID_66_'>
+ <use xlink:href='#XMLID_46_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_66_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#131313' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' height='31' width='36.443' clip-rule='evenodd' x='0.365' fill='#131313'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <rect y='1' x='80.806' width='1' id='XMLID_48_' height='30'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_48_' clip-rule='evenodd' fill='#9E9C9C'/>
+ <clipPath id='XMLID_67_'>
+ <use xlink:href='#XMLID_48_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_67_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#9097A0' clip-rule='evenodd' height='31'/>
+ <g>
+ <g>
+ <defs>
+ <rect y='30' width='83' id='XMLID_50_' height='1'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_50_' clip-rule='evenodd' fill='#383838'/>
+ <clipPath id='XMLID_68_'>
+ <use xlink:href='#XMLID_50_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_68_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#343536' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' height='31' width='36.443' clip-rule='evenodd' x='0.365' fill='#383838'/>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <rect y='29.005' x='2.16' width='80' id='XMLID_52_' height='1'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_52_' clip-rule='evenodd' fill='#818181'/>
+ <clipPath id='XMLID_69_'>
+ <use xlink:href='#XMLID_52_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_69_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#6E7176' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' height='31' width='36.443' clip-rule='evenodd' x='0.365' fill='#818181'/>
+ <g>
+ <g>
+ <defs>
+ <rect y='30' width='83' id='XMLID_54_' height='1'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_54_' clip-rule='evenodd' fill='#272727'/>
+ <clipPath id='XMLID_70_'>
+ <use xlink:href='#XMLID_54_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_70_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#252626' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' height='31' width='36.443' clip-rule='evenodd' x='0.365' fill='#272727'/>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <rect x='82' width='1' id='XMLID_56_' height='31'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_56_' clip-rule='evenodd' fill='#272727'/>
+ <clipPath id='XMLID_71_'>
+ <use xlink:href='#XMLID_56_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_71_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#252626' clip-rule='evenodd' height='31'/>
+ <g>
+ <g>
+ <defs>
+ <rect y='30' width='83' id='XMLID_58_' height='1'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_58_' clip-rule='evenodd' fill='#101010'/>
+ <clipPath id='XMLID_72_'>
+ <use xlink:href='#XMLID_58_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_72_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#101010' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' height='31' width='36.443' clip-rule='evenodd' x='0.365' fill='#101010'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <rect fill-rule='evenodd' width='83' fill='#CCCCCC' clip-rule='evenodd' height='1'/>
+ <polyline fill-rule='evenodd' stroke='#005A9C' points=' 68.273,18.844 74.291,24.348 86.001,12.637 ' clip-rule='evenodd' stroke-miterlimit='3.8637' stroke-width='4.8115' fill='none'/>
+ <g>
+ <polygon points='44.053,9.391 46.583,13.112 44.625,13.112 42.92,10.622 41.231,13.112 39.263,13.112 41.792,9.391 39.361,5.822 41.324,5.822 42.92,8.17 44.512,5.822 46.485,5.822 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ <polygon points='48.3,5.822 50.693,5.822 52.353,9.723 54.023,5.822 56.411,5.822 56.411,13.112 54.634,13.112 54.634,7.78 52.954,11.71 51.763,11.71 50.083,7.78 50.083,13.112 48.3,13.112 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ <polygon points='58.852,5.822 60.731,5.822 60.731,11.691 64.032,11.691 64.032,13.112 58.852,13.112 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ </g>
+ <g>
+ <polygon points='40.028,22.996 41.688,22.996 41.688,18.284 39.984,18.636 39.984,17.356 41.679,17.005 43.466,17.005 43.466,22.996 45.126,22.996 45.126,24.295 40.028,24.295 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ <rect fill-rule='evenodd' height='1.89' width='1.758' clip-rule='evenodd' y='22.405' x='46.435'/>
+ <polygon points='50.985,22.996 52.646,22.996 52.646,18.284 50.941,18.636 50.941,17.356 52.636,17.005 54.423,17.005 54.423,22.996 56.083,22.996 56.083,24.295 50.985,24.295 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ </g>
+ <g>
+ <path d='M33.077,7.037l0.334,2.034l-1.185,2.266c0,0-0.455-0.961-1.21-1.493c-0.636-0.449-1.051-0.546-1.699-0.412 c-0.833,0.171-1.777,1.167-2.189,2.395c-0.493,1.469-0.498,2.179-0.515,2.832c-0.027,1.047,0.137,1.666,0.137,1.666 s-0.719-1.331-0.712-3.279c0.005-1.391,0.223-2.652,0.867-3.896c0.566-1.095,1.408-1.751,2.154-1.828 c0.772-0.08,1.382,0.292,1.854,0.695c0.495,0.423,0.996,1.347,0.996,1.347L33.077,7.037z'/>
+ <path d='M33.222,18.546c0,0-0.523,0.936-0.85,1.296c-0.326,0.36-0.91,0.995-1.631,1.313c-0.721,0.317-1.099,0.377-1.811,0.309 c-0.712-0.069-1.374-0.481-1.605-0.652c-0.232-0.172-0.824-0.678-1.159-1.15c-0.335-0.472-0.858-1.416-0.858-1.416 s0.292,0.946,0.474,1.348c0.105,0.231,0.428,0.938,0.886,1.553c0.427,0.574,1.257,1.562,2.519,1.786 c1.262,0.223,2.128-0.344,2.343-0.481c0.214-0.137,0.667-0.516,0.953-0.822c0.299-0.32,0.582-0.728,0.738-0.972 c0.114-0.178,0.301-0.541,0.301-0.541L33.222,18.546z'/>
+ </g>
+ <g>
+ <path d='M11.437,7.127l2.852,9.698l2.852-9.698h2.065L14.486,23.06h-0.197l-2.951-9.875L8.388,23.06H8.191 L3.47,7.127h2.065l2.852,9.698l1.928-6.531L9.372,7.127H11.437z' fill='#005A9C'/>
+ <path d='M25.072,17.946c0,1.443-0.384,2.656-1.151,3.639c-0.767,0.984-1.76,1.475-2.98,1.475 c-0.918,0-1.718-0.292-2.4-0.875c-0.682-0.583-1.187-1.374-1.515-2.371l1.613-0.668c0.236,0.604,0.548,1.079,0.935,1.426 c0.387,0.348,0.843,0.521,1.367,0.521c0.551,0,1.016-0.308,1.397-0.924s0.571-1.357,0.571-2.223c0-0.957-0.204-1.698-0.61-2.223 c-0.472-0.616-1.214-0.924-2.223-0.924h-0.787v-0.944l2.754-4.761h-3.325l-0.925,1.574h-0.59V7.127h7.672v0.964l-2.912,5.016 c1.023,0.328,1.797,0.925,2.321,1.791C24.809,15.763,25.072,16.779,25.072,17.946z' fill='#005A9C'/>
+ </g>
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/htdocs/images/valid_icons/valid-xml11-blue.gif b/htdocs/images/valid_icons/valid-xml11-blue.gif
new file mode 100644
index 0000000..1bfcfc6
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-xml11-blue.gif
Binary files differ
diff --git a/htdocs/images/valid_icons/valid-xml11-blue.png b/htdocs/images/valid_icons/valid-xml11-blue.png
new file mode 100644
index 0000000..49a0b7a
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-xml11-blue.png
Binary files differ
diff --git a/htdocs/images/valid_icons/valid-xml11-v.svg b/htdocs/images/valid_icons/valid-xml11-v.svg
new file mode 100644
index 0000000..4af10d6
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-xml11-v.svg
@@ -0,0 +1,245 @@
+<?xml version='1.0' encoding='iso-8859-1'?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns='http://www.w3.org/2000/svg' xml:space='preserve' version='1.1' overflow='visible' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 88 31'>
+ <g shape-rendering='geometricPrecision' text-rendering='geometricPrecision' image-rendering='optimizeQuality'>
+ <g id='Background'>
+ </g>
+ <g id='Guides'>
+ </g>
+ <g id='Foreground'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#FFCC66' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' height='31' width='36.443' clip-rule='evenodd' x='0.365' fill='#FFFFFF'/>
+ <rect fill-rule='evenodd' height='24.607' width='40.004' clip-rule='evenodd' y='2.291' x='4.692' fill='none'/>
+ <g>
+ <g>
+ <defs>
+ <rect y='30' width='83' id='XMLID_679_' height='1'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_679_' clip-rule='evenodd' fill='#504D4C'/>
+ <clipPath id='XMLID_705_'>
+ <use xlink:href='#XMLID_679_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_705_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#4E4B3F' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' height='31' width='36.443' clip-rule='evenodd' x='0.365' fill='#4F4F4F'/>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <rect y='0' x='82' width='1' id='XMLID_681_' height='31'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_681_' clip-rule='evenodd' fill='#504D4C'/>
+ <clipPath id='XMLID_706_'>
+ <use xlink:href='#XMLID_681_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_706_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#4E4B3F' clip-rule='evenodd' height='31'/>
+ <g>
+ <g>
+ <defs>
+ <rect y='30' width='83' id='XMLID_683_' height='1'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_683_' clip-rule='evenodd' fill='#191919'/>
+ <clipPath id='XMLID_707_'>
+ <use xlink:href='#XMLID_683_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_707_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#191917' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' height='31' width='36.443' clip-rule='evenodd' x='0.366' fill='#191919'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <rect fill-rule='evenodd' width='1' fill='#CCCCCC' clip-rule='evenodd' height='31'/>
+ <g>
+ <g>
+ <defs>
+ <rect y='29.005' x='2.16' width='80' id='XMLID_685_' height='1'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_685_' clip-rule='evenodd' fill='#9E9C9C'/>
+ <clipPath id='XMLID_708_'>
+ <use xlink:href='#XMLID_685_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_708_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#B39F67' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' height='31' width='36.443' clip-rule='evenodd' x='0.365' fill='#B5B5B5'/>
+ <g>
+ <g>
+ <defs>
+ <rect y='30' width='83' id='XMLID_687_' height='1'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_687_' clip-rule='evenodd' fill='#383838'/>
+ <clipPath id='XMLID_709_'>
+ <use xlink:href='#XMLID_687_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_709_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#383530' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' height='31' width='36.443' clip-rule='evenodd' x='0.366' fill='#383838'/>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <rect y='0' x='82' width='1' id='XMLID_689_' height='31'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_689_' clip-rule='evenodd' fill='#383838'/>
+ <clipPath id='XMLID_710_'>
+ <use xlink:href='#XMLID_689_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_710_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#383530' clip-rule='evenodd' height='31'/>
+ <g>
+ <g>
+ <defs>
+ <rect y='30' width='83' id='XMLID_691_' height='1'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_691_' clip-rule='evenodd' fill='#131313'/>
+ <clipPath id='XMLID_711_'>
+ <use xlink:href='#XMLID_691_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_711_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#131313' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' height='31' width='36.443' clip-rule='evenodd' x='0.366' fill='#131313'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <rect y='1' x='80.806' width='1' id='XMLID_693_' height='30'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_693_' clip-rule='evenodd' fill='#9E9C9C'/>
+ <clipPath id='XMLID_712_'>
+ <use xlink:href='#XMLID_693_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_712_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#B39F67' clip-rule='evenodd' height='31'/>
+ <g>
+ <g>
+ <defs>
+ <rect y='30' width='83' id='XMLID_695_' height='1'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_695_' clip-rule='evenodd' fill='#383838'/>
+ <clipPath id='XMLID_713_'>
+ <use xlink:href='#XMLID_695_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_713_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#383530' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' height='31' width='36.443' clip-rule='evenodd' x='0.366' fill='#383838'/>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <rect y='29.005' x='2.16' width='80' id='XMLID_697_' height='1'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_697_' clip-rule='evenodd' fill='#818181'/>
+ <clipPath id='XMLID_714_'>
+ <use xlink:href='#XMLID_697_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_714_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#807659' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' height='31' width='36.443' clip-rule='evenodd' x='0.365' fill='#818181'/>
+ <g>
+ <g>
+ <defs>
+ <rect y='30' width='83' id='XMLID_699_' height='1'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_699_' clip-rule='evenodd' fill='#272727'/>
+ <clipPath id='XMLID_715_'>
+ <use xlink:href='#XMLID_699_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_715_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#272623' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' height='31' width='36.443' clip-rule='evenodd' x='0.366' fill='#272727'/>
+ </g>
+ </g>
+ </g>
+ <g>
+ <g>
+ <defs>
+ <rect y='0' x='82' width='1' id='XMLID_701_' height='31'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_701_' clip-rule='evenodd' fill='#272727'/>
+ <clipPath id='XMLID_716_'>
+ <use xlink:href='#XMLID_701_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_716_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#272623' clip-rule='evenodd' height='31'/>
+ <g>
+ <g>
+ <defs>
+ <rect y='30' width='83' id='XMLID_703_' height='1'/>
+ </defs>
+ <use fill-rule='evenodd' xlink:href='#XMLID_703_' clip-rule='evenodd' fill='#101010'/>
+ <clipPath id='XMLID_717_'>
+ <use xlink:href='#XMLID_703_'/>
+ </clipPath>
+ <g clip-path='url(#XMLID_717_)'>
+ <rect fill-rule='evenodd' width='88' fill='none' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' width='83' fill='#101010' clip-rule='evenodd' height='31'/>
+ <rect fill-rule='evenodd' height='31' width='36.443' clip-rule='evenodd' x='0.366' fill='#101010'/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <rect fill-rule='evenodd' width='83' fill='#CCCCCC' clip-rule='evenodd' height='1'/>
+ <polyline fill-rule='evenodd' stroke='#990000' points=' 68.273,18.845 74.291,24.348 86.001,12.637 ' clip-rule='evenodd' stroke-miterlimit='3.8637' stroke-width='4.8115' fill='none'/>
+ <g>
+ <polygon points='44.053,9.392 46.583,13.112 44.625,13.112 42.92,10.622 41.231,13.112 39.263,13.112 41.792,9.392 39.361,5.822 41.324,5.822 42.92,8.171 44.512,5.822 46.485,5.822 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ <polygon points='48.301,5.822 50.693,5.822 52.353,9.724 54.023,5.822 56.411,5.822 56.411,13.112 54.634,13.112 54.634,7.78 52.954,11.711 51.763,11.711 50.083,7.78 50.083,13.112 48.301,13.112 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ <polygon points='58.852,5.822 60.731,5.822 60.731,11.691 64.032,11.691 64.032,13.112 58.852,13.112 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ </g>
+ <g>
+ <polygon points='40.028,22.997 41.688,22.997 41.688,18.285 39.984,18.636 39.984,17.357 41.679,17.005 43.466,17.005 43.466,22.997 45.126,22.997 45.126,24.295 40.028,24.295 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ <rect fill-rule='evenodd' height='1.89' width='1.758' clip-rule='evenodd' y='22.406' x='46.435'/>
+ <polygon points='50.985,22.997 52.646,22.997 52.646,18.285 50.941,18.636 50.941,17.357 52.636,17.005 54.423,17.005 54.423,22.997 56.083,22.997 56.083,24.295 50.985,24.295 ' clip-rule='evenodd' fill-rule='evenodd'/>
+ </g>
+ <g>
+ <path d='M33.077,7.037l0.334,2.034l-1.185,2.266c0,0-0.455-0.961-1.21-1.494c-0.636-0.448-1.051-0.545-1.699-0.412 c-0.833,0.171-1.777,1.167-2.189,2.395c-0.493,1.469-0.498,2.179-0.515,2.832c-0.028,1.047,0.137,1.665,0.137,1.665 s-0.719-1.33-0.712-3.278c0.005-1.391,0.223-2.652,0.867-3.896c0.566-1.095,1.407-1.751,2.154-1.829 c0.772-0.08,1.383,0.292,1.854,0.695c0.495,0.423,0.996,1.348,0.996,1.348L33.077,7.037z'/>
+ <path d='M33.222,18.547c0,0-0.523,0.936-0.85,1.296s-0.91,0.996-1.63,1.313c-0.721,0.317-1.099,0.377-1.811,0.309 c-0.712-0.068-1.373-0.48-1.605-0.652c-0.231-0.171-0.824-0.678-1.159-1.15s-0.858-1.416-0.858-1.416s0.292,0.946,0.474,1.347 c0.105,0.231,0.428,0.938,0.886,1.554c0.427,0.574,1.257,1.562,2.519,1.785s2.128-0.343,2.343-0.48 c0.214-0.137,0.667-0.516,0.953-0.822c0.299-0.32,0.582-0.728,0.738-0.972c0.114-0.179,0.301-0.541,0.301-0.541L33.222,18.547z'/>
+ </g>
+ <g>
+ <path d='M11.437,7.127l2.852,9.698l2.852-9.698h2.065l-4.721,15.933h-0.197l-2.95-9.875l-2.951,9.875H8.191 L3.47,7.127h2.065l2.853,9.698l1.928-6.531L9.372,7.127H11.437z' fill='#005A9C'/>
+ <path d='M25.072,17.946c0,1.443-0.384,2.656-1.151,3.639c-0.767,0.983-1.761,1.475-2.98,1.475 c-0.918,0-1.718-0.292-2.4-0.875c-0.682-0.584-1.187-1.374-1.515-2.371l1.613-0.668c0.236,0.604,0.548,1.079,0.935,1.426 c0.387,0.348,0.843,0.521,1.367,0.521c0.551,0,1.016-0.308,1.397-0.924c0.38-0.617,0.571-1.357,0.571-2.223 c0-0.958-0.203-1.698-0.61-2.223c-0.473-0.616-1.214-0.925-2.223-0.925h-0.787v-0.944l2.754-4.761h-3.325l-0.925,1.574h-0.59 V7.127h7.672v0.964l-2.911,5.016c1.023,0.328,1.797,0.925,2.321,1.791C24.809,15.763,25.072,16.779,25.072,17.946z' fill='#005A9C'/>
+ </g>
+ </g>
+ <g id='Calque_1'>
+ </g>
+ <g id='Layer_1'>
+ </g>
+ </g>
+</svg>
diff --git a/htdocs/images/valid_icons/valid-xml11.gif b/htdocs/images/valid_icons/valid-xml11.gif
new file mode 100644
index 0000000..c6110fb
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-xml11.gif
Binary files differ
diff --git a/htdocs/images/valid_icons/valid-xml11.png b/htdocs/images/valid_icons/valid-xml11.png
new file mode 100644
index 0000000..c03e971
--- /dev/null
+++ b/htdocs/images/valid_icons/valid-xml11.png
Binary files differ