+ \r
+ if( v = dav.split( 'Windows NT 10' )[ 1 ] ){\r
+ switch( v.substr( 0, 2 ) ){\r
+ case '.0' : v = 10; break;\r
+ default : v = '?';\r
+ };\r
+ } else\r
+ if( v = dav.split( 'Windows NT ' )[ 1 ] ){\r
+ switch( v.substr( 0, 3 ) ){\r
+ case '6.3' : v = 8.1; break;\r
+ case '6.2' : v = 8; break;\r
+ case '6.1' : v = 7; break;\r
+ case '6.0' : v = 'Vista'; break;\r
+ case '5.2' : v = '2003|XP64'; break;\r
+ case '5.1' : v = v.indexOf( '5.1; SV1' ) ? 'XP' : 'XPSP2'; break;\r
+ case '5.0' : v = v.indexOf( '5.01' ) ? 2000 : '2kSP1'; break;\r
+ case '4.0' : v = 'NT'; break;\r
+ default : v = '?';\r
+ }; \r
+ } else\r
+ if( v = dav.split( 'Windows ' )[ 1 ] ){\r
+ switch( v.substr( 0, 2 ) ){\r
+ case '98' : v = v.indexOf( '98; Win 9x 4.90' ) ? '98|98SE' : 'ME'; break;\r
+ case '95' : v = 95; break;\r
+ case '3.' : v = parseFloat( v ); break;\r
+ default : v = '?';\r
+ }; \r
+ } else {\r
+ v = '?';\r
+ };\r
+ \r
+ /**\r
+ * 10, 8.1, 8, 7, Vista, 2003|XP64, XPSP2, XP, 2kSP1, 2000, ME, 98|98SE, 95, ?\r
+ * @alias X.UA.Windows\r
+ * @type {number|string}\r
+ */ \r
+ X_UA[ 'Windows' ] = v;\r
+ break;\r