/*
 * THIS FILE WAS AUTOMATICALLY GENERATED, DO NOT EDIT.
 *
 * This file was generated by the dom/make_names.pl script.
 *
 * Copyright (C) 2005, 2006, 2007, 2008, 2009, 2013 Apple Inc.  All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the
 *    documentation and/or other materials provided with the distribution.
 *
 * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
 * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */

#include "config.h"

#ifdef SKIP_STATIC_CONSTRUCTORS_ON_GCC
#define DOM_HTML_NAMES_HIDE_GLOBALS 1
#else
#define QNAME_DEFAULT_CONSTRUCTOR 1
#endif

#include "HTMLNames.h"

#include <wtf/StaticConstructors.h>
namespace WebCore {

namespace HTMLNames {

using namespace WebCore;

WEBCORE_EXPORT DEFINE_GLOBAL(AtomicString, xhtmlNamespaceURI)

static const LChar aString8[] = "a";
static const LChar abbrString8[] = "abbr";
static const LChar acceptString8[] = "accept";
static const LChar accept_charsetString8[] = "accept-charset";
static const LChar accesskeyString8[] = "accesskey";
static const LChar acronymString8[] = "acronym";
static const LChar actionString8[] = "action";
static const LChar addressString8[] = "address";
static const LChar alignString8[] = "align";
static const LChar alinkString8[] = "alink";
static const LChar allowfullscreenString8[] = "allowfullscreen";
static const LChar altString8[] = "alt";
static const LChar appletString8[] = "applet";
static const LChar archiveString8[] = "archive";
static const LChar areaString8[] = "area";
static const LChar aria_activedescendantString8[] = "aria-activedescendant";
static const LChar aria_atomicString8[] = "aria-atomic";
static const LChar aria_busyString8[] = "aria-busy";
static const LChar aria_checkedString8[] = "aria-checked";
static const LChar aria_colcountString8[] = "aria-colcount";
static const LChar aria_colindexString8[] = "aria-colindex";
static const LChar aria_colspanString8[] = "aria-colspan";
static const LChar aria_controlsString8[] = "aria-controls";
static const LChar aria_currentString8[] = "aria-current";
static const LChar aria_describedbyString8[] = "aria-describedby";
static const LChar aria_disabledString8[] = "aria-disabled";
static const LChar aria_dropeffectString8[] = "aria-dropeffect";
static const LChar aria_expandedString8[] = "aria-expanded";
static const LChar aria_flowtoString8[] = "aria-flowto";
static const LChar aria_grabbedString8[] = "aria-grabbed";
static const LChar aria_haspopupString8[] = "aria-haspopup";
static const LChar aria_helpString8[] = "aria-help";
static const LChar aria_hiddenString8[] = "aria-hidden";
static const LChar aria_invalidString8[] = "aria-invalid";
static const LChar aria_labelString8[] = "aria-label";
static const LChar aria_labeledbyString8[] = "aria-labeledby";
static const LChar aria_labelledbyString8[] = "aria-labelledby";
static const LChar aria_levelString8[] = "aria-level";
static const LChar aria_liveString8[] = "aria-live";
static const LChar aria_modalString8[] = "aria-modal";
static const LChar aria_multilineString8[] = "aria-multiline";
static const LChar aria_multiselectableString8[] = "aria-multiselectable";
static const LChar aria_orientationString8[] = "aria-orientation";
static const LChar aria_ownsString8[] = "aria-owns";
static const LChar aria_placeholderString8[] = "aria-placeholder";
static const LChar aria_posinsetString8[] = "aria-posinset";
static const LChar aria_pressedString8[] = "aria-pressed";
static const LChar aria_readonlyString8[] = "aria-readonly";
static const LChar aria_relevantString8[] = "aria-relevant";
static const LChar aria_requiredString8[] = "aria-required";
static const LChar aria_roledescriptionString8[] = "aria-roledescription";
static const LChar aria_rowcountString8[] = "aria-rowcount";
static const LChar aria_rowindexString8[] = "aria-rowindex";
static const LChar aria_rowspanString8[] = "aria-rowspan";
static const LChar aria_selectedString8[] = "aria-selected";
static const LChar aria_setsizeString8[] = "aria-setsize";
static const LChar aria_sortString8[] = "aria-sort";
static const LChar aria_valuemaxString8[] = "aria-valuemax";
static const LChar aria_valueminString8[] = "aria-valuemin";
static const LChar aria_valuenowString8[] = "aria-valuenow";
static const LChar aria_valuetextString8[] = "aria-valuetext";
static const LChar articleString8[] = "article";
static const LChar asString8[] = "as";
static const LChar asideString8[] = "aside";
static const LChar asyncString8[] = "async";
static const LChar attachmentString8[] = "attachment";
static const LChar audioString8[] = "audio";
static const LChar autocapitalizeString8[] = "autocapitalize";
static const LChar autocompleteString8[] = "autocomplete";
static const LChar autocorrectString8[] = "autocorrect";
static const LChar autofocusString8[] = "autofocus";
static const LChar autoplayString8[] = "autoplay";
static const LChar autosaveString8[] = "autosave";
static const LChar axisString8[] = "axis";
static const LChar bString8[] = "b";
static const LChar backgroundString8[] = "background";
static const LChar baseString8[] = "base";
static const LChar basefontString8[] = "basefont";
static const LChar bdiString8[] = "bdi";
static const LChar bdoString8[] = "bdo";
static const LChar behaviorString8[] = "behavior";
static const LChar bgcolorString8[] = "bgcolor";
static const LChar bgpropertiesString8[] = "bgproperties";
static const LChar bgsoundString8[] = "bgsound";
static const LChar bigString8[] = "big";
static const LChar blockquoteString8[] = "blockquote";
static const LChar bodyString8[] = "body";
static const LChar borderString8[] = "border";
static const LChar bordercolorString8[] = "bordercolor";
static const LChar brString8[] = "br";
static const LChar buttonString8[] = "button";
static const LChar canvasString8[] = "canvas";
static const LChar captionString8[] = "caption";
static const LChar captureString8[] = "capture";
static const LChar cellborderString8[] = "cellborder";
static const LChar cellpaddingString8[] = "cellpadding";
static const LChar cellspacingString8[] = "cellspacing";
static const LChar centerString8[] = "center";
static const LChar challengeString8[] = "challenge";
static const LChar charString8[] = "char";
static const LChar charoffString8[] = "charoff";
static const LChar charsetString8[] = "charset";
static const LChar checkedString8[] = "checked";
static const LChar citeString8[] = "cite";
static const LChar classString8[] = "class";
static const LChar classidString8[] = "classid";
static const LChar clearString8[] = "clear";
static const LChar codeString8[] = "code";
static const LChar codebaseString8[] = "codebase";
static const LChar codetypeString8[] = "codetype";
static const LChar colString8[] = "col";
static const LChar colgroupString8[] = "colgroup";
static const LChar colorString8[] = "color";
static const LChar colsString8[] = "cols";
static const LChar colspanString8[] = "colspan";
static const LChar commandString8[] = "command";
static const LChar compactString8[] = "compact";
static const LChar compositeString8[] = "composite";
static const LChar contentString8[] = "content";
static const LChar contenteditableString8[] = "contenteditable";
static const LChar controlsString8[] = "controls";
static const LChar coordsString8[] = "coords";
static const LChar crossoriginString8[] = "crossorigin";
static const LChar dataString8[] = "data";
static const LChar datalistString8[] = "datalist";
static const LChar datetimeString8[] = "datetime";
static const LChar ddString8[] = "dd";
static const LChar declareString8[] = "declare";
static const LChar defaultString8[] = "default";
static const LChar deferString8[] = "defer";
static const LChar delString8[] = "del";
static const LChar detailsString8[] = "details";
static const LChar dfnString8[] = "dfn";
static const LChar dirString8[] = "dir";
static const LChar directionString8[] = "direction";
static const LChar dirnameString8[] = "dirname";
static const LChar disabledString8[] = "disabled";
static const LChar dispositionString8[] = "disposition";
static const LChar divString8[] = "div";
static const LChar dlString8[] = "dl";
static const LChar downloadString8[] = "download";
static const LChar draggableString8[] = "draggable";
static const LChar dtString8[] = "dt";
static const LChar emString8[] = "em";
static const LChar embedString8[] = "embed";
static const LChar enctypeString8[] = "enctype";
static const LChar endString8[] = "end";
static const LChar eventString8[] = "event";
static const LChar expandedString8[] = "expanded";
static const LChar faceString8[] = "face";
static const LChar fieldsetString8[] = "fieldset";
static const LChar figcaptionString8[] = "figcaption";
static const LChar figureString8[] = "figure";
static const LChar focusedString8[] = "focused";
static const LChar fontString8[] = "font";
static const LChar footerString8[] = "footer";
static const LChar forString8[] = "for";
static const LChar formString8[] = "form";
static const LChar formactionString8[] = "formaction";
static const LChar formenctypeString8[] = "formenctype";
static const LChar formmethodString8[] = "formmethod";
static const LChar formnovalidateString8[] = "formnovalidate";
static const LChar formtargetString8[] = "formtarget";
static const LChar frameString8[] = "frame";
static const LChar frameborderString8[] = "frameborder";
static const LChar framesetString8[] = "frameset";
static const LChar h1String8[] = "h1";
static const LChar h2String8[] = "h2";
static const LChar h3String8[] = "h3";
static const LChar h4String8[] = "h4";
static const LChar h5String8[] = "h5";
static const LChar h6String8[] = "h6";
static const LChar headString8[] = "head";
static const LChar headerString8[] = "header";
static const LChar headersString8[] = "headers";
static const LChar heightString8[] = "height";
static const LChar hgroupString8[] = "hgroup";
static const LChar hiddenString8[] = "hidden";
static const LChar highString8[] = "high";
static const LChar hrString8[] = "hr";
static const LChar hrefString8[] = "href";
static const LChar hreflangString8[] = "hreflang";
static const LChar hspaceString8[] = "hspace";
static const LChar htmlString8[] = "html";
static const LChar http_equivString8[] = "http-equiv";
static const LChar iString8[] = "i";
static const LChar idString8[] = "id";
static const LChar iframeString8[] = "iframe";
static const LChar imageString8[] = "image";
static const LChar imgString8[] = "img";
static const LChar incrementalString8[] = "incremental";
static const LChar indeterminateString8[] = "indeterminate";
static const LChar inputString8[] = "input";
static const LChar insString8[] = "ins";
static const LChar isString8[] = "is";
static const LChar ismapString8[] = "ismap";
static const LChar itemidString8[] = "itemid";
static const LChar itempropString8[] = "itemprop";
static const LChar itemrefString8[] = "itemref";
static const LChar itemscopeString8[] = "itemscope";
static const LChar itemtypeString8[] = "itemtype";
static const LChar kbdString8[] = "kbd";
static const LChar keygenString8[] = "keygen";
static const LChar keytypeString8[] = "keytype";
static const LChar kindString8[] = "kind";
static const LChar labelString8[] = "label";
static const LChar langString8[] = "lang";
static const LChar languageString8[] = "language";
static const LChar layerString8[] = "layer";
static const LChar leftmarginString8[] = "leftmargin";
static const LChar legendString8[] = "legend";
static const LChar liString8[] = "li";
static const LChar linkString8[] = "link";
static const LChar listString8[] = "list";
static const LChar listingString8[] = "listing";
static const LChar longdescString8[] = "longdesc";
static const LChar loopString8[] = "loop";
static const LChar loopendString8[] = "loopend";
static const LChar loopstartString8[] = "loopstart";
static const LChar lowString8[] = "low";
static const LChar lowsrcString8[] = "lowsrc";
static const LChar mainString8[] = "main";
static const LChar manifestString8[] = "manifest";
static const LChar mapString8[] = "map";
static const LChar marginheightString8[] = "marginheight";
static const LChar marginwidthString8[] = "marginwidth";
static const LChar markString8[] = "mark";
static const LChar marqueeString8[] = "marquee";
static const LChar maxString8[] = "max";
static const LChar maxlengthString8[] = "maxlength";
static const LChar mayscriptString8[] = "mayscript";
static const LChar mediaString8[] = "media";
static const LChar mediagroupString8[] = "mediagroup";
static const LChar menuString8[] = "menu";
static const LChar metaString8[] = "meta";
static const LChar meterString8[] = "meter";
static const LChar methodString8[] = "method";
static const LChar minString8[] = "min";
static const LChar minlengthString8[] = "minlength";
static const LChar multipleString8[] = "multiple";
static const LChar mutedString8[] = "muted";
static const LChar nameString8[] = "name";
static const LChar navString8[] = "nav";
static const LChar nobrString8[] = "nobr";
static const LChar noembedString8[] = "noembed";
static const LChar noframesString8[] = "noframes";
static const LChar nohrefString8[] = "nohref";
static const LChar nolayerString8[] = "nolayer";
static const LChar nonceString8[] = "nonce";
static const LChar noresizeString8[] = "noresize";
static const LChar noscriptString8[] = "noscript";
static const LChar noshadeString8[] = "noshade";
static const LChar novalidateString8[] = "novalidate";
static const LChar nowrapString8[] = "nowrap";
static const LChar objectString8[] = "object";
static const LChar olString8[] = "ol";
static const LChar onabortString8[] = "onabort";
static const LChar onanimationendString8[] = "onanimationend";
static const LChar onanimationiterationString8[] = "onanimationiteration";
static const LChar onanimationstartString8[] = "onanimationstart";
static const LChar onautocompleteString8[] = "onautocomplete";
static const LChar onautocompleteerrorString8[] = "onautocompleteerror";
static const LChar onbeforecopyString8[] = "onbeforecopy";
static const LChar onbeforecutString8[] = "onbeforecut";
static const LChar onbeforeloadString8[] = "onbeforeload";
static const LChar onbeforepasteString8[] = "onbeforepaste";
static const LChar onbeforeunloadString8[] = "onbeforeunload";
static const LChar onblurString8[] = "onblur";
static const LChar oncanplayString8[] = "oncanplay";
static const LChar oncanplaythroughString8[] = "oncanplaythrough";
static const LChar onchangeString8[] = "onchange";
static const LChar onclickString8[] = "onclick";
static const LChar oncontextmenuString8[] = "oncontextmenu";
static const LChar oncopyString8[] = "oncopy";
static const LChar oncutString8[] = "oncut";
static const LChar ondblclickString8[] = "ondblclick";
static const LChar ondragString8[] = "ondrag";
static const LChar ondragendString8[] = "ondragend";
static const LChar ondragenterString8[] = "ondragenter";
static const LChar ondragleaveString8[] = "ondragleave";
static const LChar ondragoverString8[] = "ondragover";
static const LChar ondragstartString8[] = "ondragstart";
static const LChar ondropString8[] = "ondrop";
static const LChar ondurationchangeString8[] = "ondurationchange";
static const LChar onemptiedString8[] = "onemptied";
static const LChar onendedString8[] = "onended";
static const LChar onerrorString8[] = "onerror";
static const LChar onfocusString8[] = "onfocus";
static const LChar onfocusinString8[] = "onfocusin";
static const LChar onfocusoutString8[] = "onfocusout";
static const LChar ongesturechangeString8[] = "ongesturechange";
static const LChar ongestureendString8[] = "ongestureend";
static const LChar ongesturestartString8[] = "ongesturestart";
static const LChar onhashchangeString8[] = "onhashchange";
static const LChar oninputString8[] = "oninput";
static const LChar oninvalidString8[] = "oninvalid";
static const LChar onkeydownString8[] = "onkeydown";
static const LChar onkeypressString8[] = "onkeypress";
static const LChar onkeyupString8[] = "onkeyup";
static const LChar onloadString8[] = "onload";
static const LChar onloadeddataString8[] = "onloadeddata";
static const LChar onloadedmetadataString8[] = "onloadedmetadata";
static const LChar onloadstartString8[] = "onloadstart";
static const LChar onmessageString8[] = "onmessage";
static const LChar onmousedownString8[] = "onmousedown";
static const LChar onmouseenterString8[] = "onmouseenter";
static const LChar onmouseleaveString8[] = "onmouseleave";
static const LChar onmousemoveString8[] = "onmousemove";
static const LChar onmouseoutString8[] = "onmouseout";
static const LChar onmouseoverString8[] = "onmouseover";
static const LChar onmouseupString8[] = "onmouseup";
static const LChar onmousewheelString8[] = "onmousewheel";
static const LChar onofflineString8[] = "onoffline";
static const LChar ononlineString8[] = "ononline";
static const LChar onorientationchangeString8[] = "onorientationchange";
static const LChar onpagehideString8[] = "onpagehide";
static const LChar onpageshowString8[] = "onpageshow";
static const LChar onpasteString8[] = "onpaste";
static const LChar onpauseString8[] = "onpause";
static const LChar onplayString8[] = "onplay";
static const LChar onplayingString8[] = "onplaying";
static const LChar onpopstateString8[] = "onpopstate";
static const LChar onprogressString8[] = "onprogress";
static const LChar onratechangeString8[] = "onratechange";
static const LChar onresetString8[] = "onreset";
static const LChar onresizeString8[] = "onresize";
static const LChar onscrollString8[] = "onscroll";
static const LChar onsearchString8[] = "onsearch";
static const LChar onseekedString8[] = "onseeked";
static const LChar onseekingString8[] = "onseeking";
static const LChar onselectString8[] = "onselect";
static const LChar onselectionchangeString8[] = "onselectionchange";
static const LChar onselectstartString8[] = "onselectstart";
static const LChar onstalledString8[] = "onstalled";
static const LChar onstorageString8[] = "onstorage";
static const LChar onsubmitString8[] = "onsubmit";
static const LChar onsuspendString8[] = "onsuspend";
static const LChar ontimeupdateString8[] = "ontimeupdate";
static const LChar ontouchcancelString8[] = "ontouchcancel";
static const LChar ontouchendString8[] = "ontouchend";
static const LChar ontouchforcechangeString8[] = "ontouchforcechange";
static const LChar ontouchmoveString8[] = "ontouchmove";
static const LChar ontouchstartString8[] = "ontouchstart";
static const LChar ontransitionendString8[] = "ontransitionend";
static const LChar onunloadString8[] = "onunload";
static const LChar onvolumechangeString8[] = "onvolumechange";
static const LChar onwaitingString8[] = "onwaiting";
static const LChar onwebkitanimationendString8[] = "onwebkitanimationend";
static const LChar onwebkitanimationiterationString8[] = "onwebkitanimationiteration";
static const LChar onwebkitanimationstartString8[] = "onwebkitanimationstart";
static const LChar onwebkitbeginfullscreenString8[] = "onwebkitbeginfullscreen";
static const LChar onwebkitcurrentplaybacktargetiswirelesschangedString8[] = "onwebkitcurrentplaybacktargetiswirelesschanged";
static const LChar onwebkitendfullscreenString8[] = "onwebkitendfullscreen";
static const LChar onwebkitfullscreenchangeString8[] = "onwebkitfullscreenchange";
static const LChar onwebkitfullscreenerrorString8[] = "onwebkitfullscreenerror";
static const LChar onwebkitkeyaddedString8[] = "onwebkitkeyadded";
static const LChar onwebkitkeyerrorString8[] = "onwebkitkeyerror";
static const LChar onwebkitkeymessageString8[] = "onwebkitkeymessage";
static const LChar onwebkitmouseforcechangedString8[] = "onwebkitmouseforcechanged";
static const LChar onwebkitmouseforcedownString8[] = "onwebkitmouseforcedown";
static const LChar onwebkitmouseforceupString8[] = "onwebkitmouseforceup";
static const LChar onwebkitmouseforcewillbeginString8[] = "onwebkitmouseforcewillbegin";
static const LChar onwebkitneedkeyString8[] = "onwebkitneedkey";
static const LChar onwebkitplaybacktargetavailabilitychangedString8[] = "onwebkitplaybacktargetavailabilitychanged";
static const LChar onwebkitpresentationmodechangedString8[] = "onwebkitpresentationmodechanged";
static const LChar onwebkitsourcecloseString8[] = "onwebkitsourceclose";
static const LChar onwebkitsourceendedString8[] = "onwebkitsourceended";
static const LChar onwebkitsourceopenString8[] = "onwebkitsourceopen";
static const LChar onwebkitspeechchangeString8[] = "onwebkitspeechchange";
static const LChar onwebkittransitionendString8[] = "onwebkittransitionend";
static const LChar onwebkitwillrevealbottomString8[] = "onwebkitwillrevealbottom";
static const LChar onwebkitwillrevealleftString8[] = "onwebkitwillrevealleft";
static const LChar onwebkitwillrevealrightString8[] = "onwebkitwillrevealright";
static const LChar onwebkitwillrevealtopString8[] = "onwebkitwillrevealtop";
static const LChar onwheelString8[] = "onwheel";
static const LChar openString8[] = "open";
static const LChar optgroupString8[] = "optgroup";
static const LChar optimumString8[] = "optimum";
static const LChar optionString8[] = "option";
static const LChar outputString8[] = "output";
static const LChar pString8[] = "p";
static const LChar paramString8[] = "param";
static const LChar patternString8[] = "pattern";
static const LChar pictureString8[] = "picture";
static const LChar pingString8[] = "ping";
static const LChar placeholderString8[] = "placeholder";
static const LChar plaintextString8[] = "plaintext";
static const LChar playcountString8[] = "playcount";
static const LChar playsinlineString8[] = "playsinline";
static const LChar pluginspageString8[] = "pluginspage";
static const LChar pluginurlString8[] = "pluginurl";
static const LChar posterString8[] = "poster";
static const LChar preString8[] = "pre";
static const LChar precisionString8[] = "precision";
static const LChar preloadString8[] = "preload";
static const LChar primaryString8[] = "primary";
static const LChar profileString8[] = "profile";
static const LChar progressString8[] = "progress";
static const LChar promptString8[] = "prompt";
static const LChar pseudoString8[] = "pseudo";
static const LChar qString8[] = "q";
static const LChar rbString8[] = "rb";
static const LChar readonlyString8[] = "readonly";
static const LChar relString8[] = "rel";
static const LChar requiredString8[] = "required";
static const LChar resultsString8[] = "results";
static const LChar revString8[] = "rev";
static const LChar reversedString8[] = "reversed";
static const LChar roleString8[] = "role";
static const LChar rowsString8[] = "rows";
static const LChar rowspanString8[] = "rowspan";
static const LChar rpString8[] = "rp";
static const LChar rtString8[] = "rt";
static const LChar rtcString8[] = "rtc";
static const LChar rubyString8[] = "ruby";
static const LChar rulesString8[] = "rules";
static const LChar sString8[] = "s";
static const LChar sampString8[] = "samp";
static const LChar sandboxString8[] = "sandbox";
static const LChar schemeString8[] = "scheme";
static const LChar scopeString8[] = "scope";
static const LChar scopedString8[] = "scoped";
static const LChar scriptString8[] = "script";
static const LChar scrollamountString8[] = "scrollamount";
static const LChar scrolldelayString8[] = "scrolldelay";
static const LChar scrollingString8[] = "scrolling";
static const LChar sectionString8[] = "section";
static const LChar selectString8[] = "select";
static const LChar selectedString8[] = "selected";
static const LChar shapeString8[] = "shape";
static const LChar sizeString8[] = "size";
static const LChar sizesString8[] = "sizes";
static const LChar slotString8[] = "slot";
static const LChar smallString8[] = "small";
static const LChar sortableString8[] = "sortable";
static const LChar sortdirectionString8[] = "sortdirection";
static const LChar sourceString8[] = "source";
static const LChar spanString8[] = "span";
static const LChar spellcheckString8[] = "spellcheck";
static const LChar srcString8[] = "src";
static const LChar srcdocString8[] = "srcdoc";
static const LChar srclangString8[] = "srclang";
static const LChar srcsetString8[] = "srcset";
static const LChar standbyString8[] = "standby";
static const LChar startString8[] = "start";
static const LChar stepString8[] = "step";
static const LChar strikeString8[] = "strike";
static const LChar strongString8[] = "strong";
static const LChar styleString8[] = "style";
static const LChar subString8[] = "sub";
static const LChar subtitleString8[] = "subtitle";
static const LChar summaryString8[] = "summary";
static const LChar supString8[] = "sup";
static const LChar tabindexString8[] = "tabindex";
static const LChar tableString8[] = "table";
static const LChar tableborderString8[] = "tableborder";
static const LChar targetString8[] = "target";
static const LChar tbodyString8[] = "tbody";
static const LChar tdString8[] = "td";
static const LChar templateString8[] = "template";
static const LChar textString8[] = "text";
static const LChar textareaString8[] = "textarea";
static const LChar tfootString8[] = "tfoot";
static const LChar thString8[] = "th";
static const LChar theadString8[] = "thead";
static const LChar timeString8[] = "time";
static const LChar titleString8[] = "title";
static const LChar topString8[] = "top";
static const LChar topmarginString8[] = "topmargin";
static const LChar trString8[] = "tr";
static const LChar trackString8[] = "track";
static const LChar translateString8[] = "translate";
static const LChar truespeedString8[] = "truespeed";
static const LChar ttString8[] = "tt";
static const LChar typeString8[] = "type";
static const LChar uString8[] = "u";
static const LChar uiactionsString8[] = "uiactions";
static const LChar ulString8[] = "ul";
static const LChar usemapString8[] = "usemap";
static const LChar valignString8[] = "valign";
static const LChar valueString8[] = "value";
static const LChar valuetypeString8[] = "valuetype";
static const LChar varString8[] = "var";
static const LChar versionString8[] = "version";
static const LChar videoString8[] = "video";
static const LChar vlinkString8[] = "vlink";
static const LChar vspaceString8[] = "vspace";
static const LChar wbrString8[] = "wbr";
static const LChar webkit_playsinlineString8[] = "webkit-playsinline";
static const LChar webkitairplayString8[] = "x-webkit-airplay";
static const LChar webkitallowfullscreenString8[] = "webkitallowfullscreen";
static const LChar webkitattachmentpathString8[] = "webkitattachmentpath";
static const LChar webkitdropzoneString8[] = "webkitdropzone";
static const LChar webkitgrammarString8[] = "x-webkit-grammar";
static const LChar webkitimagemenuString8[] = "x-webkit-imagemenu";
static const LChar webkitspeechString8[] = "x-webkit-speech";
static const LChar webkitwirelessvideoplaybackdisabledString8[] = "x-webkit-wirelessvideoplaybackdisabled";
static const LChar widthString8[] = "width";
static const LChar wrapString8[] = "wrap";
static const LChar x_apple_data_detectorsString8[] = "x-apple-data-detectors";
static const LChar x_apple_data_detectors_resultString8[] = "x-apple-data-detectors-result";
static const LChar x_apple_data_detectors_typeString8[] = "x-apple-data-detectors-type";
static const LChar x_itunes_inherit_uri_query_componentString8[] = "x-itunes-inherit-uri-query-component";
static const LChar xmpString8[] = "xmp";

static StringImpl::StaticASCIILiteral aData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    1,
    aString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (9778235 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral abbrData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    4,
    abbrString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (650525 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral acceptData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    6,
    acceptString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (4839857 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral accept_charsetData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    14,
    accept_charsetString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (5192676 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral accesskeyData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    9,
    accesskeyString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (15931860 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral acronymData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    7,
    acronymString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (5486176 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral actionData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    6,
    actionString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (14878034 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral addressData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    7,
    addressString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (10008206 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral alignData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    5,
    alignString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (10094397 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral alinkData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    5,
    alinkString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (2408650 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral allowfullscreenData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    15,
    allowfullscreenString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (16375700 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral altData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    3,
    altString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (15335609 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral appletData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    6,
    appletString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (7823075 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral archiveData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    7,
    archiveString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (13839011 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral areaData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    4,
    areaString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (7355486 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral aria_activedescendantData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    21,
    aria_activedescendantString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (13338511 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral aria_atomicData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    11,
    aria_atomicString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (12819054 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral aria_busyData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    9,
    aria_busyString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (75863 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral aria_checkedData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    12,
    aria_checkedString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (1517039 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral aria_colcountData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    13,
    aria_colcountString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (16595205 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral aria_colindexData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    13,
    aria_colindexString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (12411497 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral aria_colspanData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    12,
    aria_colspanString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (14075199 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral aria_controlsData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    13,
    aria_controlsString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (5490937 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral aria_currentData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    12,
    aria_currentString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (3766836 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral aria_describedbyData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    16,
    aria_describedbyString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (5549123 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral aria_disabledData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    13,
    aria_disabledString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (1389455 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral aria_dropeffectData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    15,
    aria_dropeffectString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (6009141 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral aria_expandedData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    13,
    aria_expandedString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (6946219 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral aria_flowtoData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    11,
    aria_flowtoString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (12186959 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral aria_grabbedData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    12,
    aria_grabbedString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (5310651 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral aria_haspopupData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    13,
    aria_haspopupString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (7196359 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral aria_helpData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    9,
    aria_helpString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (12225580 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral aria_hiddenData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    11,
    aria_hiddenString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (7981896 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral aria_invalidData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    12,
    aria_invalidString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (3505375 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral aria_labelData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    10,
    aria_labelString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (561329 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral aria_labeledbyData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    14,
    aria_labeledbyString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (5436988 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral aria_labelledbyData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    15,
    aria_labelledbyString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (5412329 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral aria_levelData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    10,
    aria_levelString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (8886396 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral aria_liveData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    9,
    aria_liveString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (2064917 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral aria_modalData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    10,
    aria_modalString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (12602557 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral aria_multilineData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    14,
    aria_multilineString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (13431022 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral aria_multiselectableData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    20,
    aria_multiselectableString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (14347206 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral aria_orientationData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    16,
    aria_orientationString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (11685540 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral aria_ownsData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    9,
    aria_ownsString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (15671106 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral aria_placeholderData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    16,
    aria_placeholderString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (14483277 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral aria_posinsetData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    13,
    aria_posinsetString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (14818088 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral aria_pressedData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    12,
    aria_pressedString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (8024627 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral aria_readonlyData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    13,
    aria_readonlyString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (1588657 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral aria_relevantData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    13,
    aria_relevantString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (16457375 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral aria_requiredData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    13,
    aria_requiredString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (10656135 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral aria_roledescriptionData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    20,
    aria_roledescriptionString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (14879786 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral aria_rowcountData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    13,
    aria_rowcountString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (13808306 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral aria_rowindexData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    13,
    aria_rowindexString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (14976311 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral aria_rowspanData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    12,
    aria_rowspanString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (4197864 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral aria_selectedData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    13,
    aria_selectedString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (16608989 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral aria_setsizeData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    12,
    aria_setsizeString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (13328899 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral aria_sortData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    9,
    aria_sortString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (15568337 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral aria_valuemaxData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    13,
    aria_valuemaxString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (15306660 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral aria_valueminData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    13,
    aria_valueminString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (2814091 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral aria_valuenowData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    13,
    aria_valuenowString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (10189949 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral aria_valuetextData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    14,
    aria_valuetextString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (14438832 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral articleData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    7,
    articleString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (2968800 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral asData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    2,
    asString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (8588719 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral asideData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    5,
    asideString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (10128566 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral asyncData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    5,
    asyncString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (2556481 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral attachmentData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    10,
    attachmentString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (8331643 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral audioData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    5,
    audioString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (2129307 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral autocapitalizeData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    14,
    autocapitalizeString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (15613526 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral autocompleteData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    12,
    autocompleteString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (14667434 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral autocorrectData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    11,
    autocorrectString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (9366253 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral autofocusData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    9,
    autofocusString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (16282013 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral autoplayData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    8,
    autoplayString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (12002525 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral autosaveData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    8,
    autosaveString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (3888087 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral axisData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    4,
    axisString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (14347904 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral bData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    1,
    bString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (7170995 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral backgroundData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    10,
    backgroundString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (8107606 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral baseData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    4,
    baseString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (4376626 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral basefontData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    8,
    basefontString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (5439393 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral bdiData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    3,
    bdiString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (14809812 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral bdoData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    3,
    bdoString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (9906743 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral behaviorData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    8,
    behaviorString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (11804611 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral bgcolorData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    7,
    bgcolorString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (11074228 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral bgpropertiesData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    12,
    bgpropertiesString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (15013629 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral bgsoundData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    7,
    bgsoundString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (9424179 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral bigData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    3,
    bigString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (2330122 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral blockquoteData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    10,
    blockquoteString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (6047050 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral bodyData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    4,
    bodyString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (4862692 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral borderData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    6,
    borderString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (4389816 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral bordercolorData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    11,
    bordercolorString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (12757423 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral brData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    2,
    brString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (5574895 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral buttonData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    6,
    buttonString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (679691 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral canvasData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    6,
    canvasString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (10973550 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral captionData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    7,
    captionString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (2437650 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral captureData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    7,
    captureString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (9991654 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral cellborderData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    10,
    cellborderString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (8324519 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral cellpaddingData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    11,
    cellpaddingString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (3763331 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral cellspacingData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    11,
    cellspacingString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (7849745 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral centerData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    6,
    centerString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (909285 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral challengeData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    9,
    challengeString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (12755365 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral charData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    4,
    charString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (12296599 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral charoffData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    7,
    charoffString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (5577617 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral charsetData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    7,
    charsetString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (14273970 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral checkedData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    7,
    checkedString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (10213523 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral citeData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    4,
    citeString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (3704129 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral classData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    5,
    classString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (1023741 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral classidData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    7,
    classidString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (1789995 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral clearData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    5,
    clearString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (12832795 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral codeData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    4,
    codeString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (11588001 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral codebaseData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    8,
    codebaseString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (3375722 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral codetypeData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    8,
    codetypeString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (7482920 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral colData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    3,
    colString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (12850806 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral colgroupData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    8,
    colgroupString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (3733719 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral colorData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    5,
    colorString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (2734929 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral colsData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    4,
    colsString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (4921975 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral colspanData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    7,
    colspanString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (9715319 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral commandData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    7,
    commandString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (2099501 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral compactData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    7,
    compactString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (369367 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral compositeData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    9,
    compositeString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (9206665 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral contentData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    7,
    contentString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (6894765 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral contenteditableData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    15,
    contenteditableString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (1577657 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral controlsData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    8,
    controlsString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (3696819 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral coordsData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    6,
    coordsString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (14288829 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral crossoriginData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    11,
    crossoriginString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (15142862 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral dataData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    4,
    dataString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (5273875 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral datalistData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    8,
    datalistString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (7058973 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral datetimeData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    8,
    datetimeString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (12167257 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral ddData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    2,
    ddString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (16480447 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral declareData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    7,
    declareString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (13440114 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral defaultData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    7,
    defaultString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (6674383 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral deferData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    5,
    deferString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (13832204 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral delData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    3,
    delString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (2501459 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral detailsData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    7,
    detailsString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (4653180 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral dfnData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    3,
    dfnString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (5168569 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral dirData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    3,
    dirString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (5122803 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral directionData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    9,
    directionString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (16092904 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral dirnameData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    7,
    dirnameString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (9899348 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral disabledData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    8,
    disabledString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (12237545 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral dispositionData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    11,
    dispositionString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (8748813 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral divData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    3,
    divString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (9762591 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral dlData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    2,
    dlString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (5117854 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral downloadData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    8,
    downloadString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (1050544 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral draggableData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    9,
    draggableString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (9281278 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral dtData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    2,
    dtString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (8177126 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral emData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    2,
    emString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (2724661 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral embedData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    5,
    embedString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (855371 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral enctypeData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    7,
    enctypeString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (11388071 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral endData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    3,
    endString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (1590106 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral eventData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    5,
    eventString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (4205160 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral expandedData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    8,
    expandedString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (13934961 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral faceData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    4,
    faceString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (12427611 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral fieldsetData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    8,
    fieldsetString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (37097 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral figcaptionData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    10,
    figcaptionString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (13388641 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral figureData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    6,
    figureString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (13776479 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral focusedData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    7,
    focusedString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (6735095 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral fontData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    4,
    fontString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (4588695 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral footerData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    6,
    footerString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (13359933 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral forData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    3,
    forString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (4145292 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral formData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    4,
    formString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (10060301 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral formactionData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    10,
    formactionString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (12667227 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral formenctypeData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    11,
    formenctypeString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (6334991 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral formmethodData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    10,
    formmethodString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (7653832 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral formnovalidateData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    14,
    formnovalidateString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (5722173 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral formtargetData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    10,
    formtargetString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (15594141 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral frameData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    5,
    frameString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (3408403 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral frameborderData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    11,
    frameborderString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (6035536 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral framesetData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    8,
    framesetString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (11229107 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral h1Data = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    2,
    h1String8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (3953979 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral h2Data = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    2,
    h2String8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (9378819 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral h3Data = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    2,
    h3String8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (1803164 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral h4Data = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    2,
    h4String8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (15343268 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral h5Data = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    2,
    h5String8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (8065295 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral h6Data = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    2,
    h6String8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (9566891 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral headData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    4,
    headString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (11457121 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral headerData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    6,
    headerString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (5896178 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral headersData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    7,
    headersString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (2627673 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral heightData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    6,
    heightString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (6697833 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral hgroupData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    6,
    hgroupString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (8927907 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral hiddenData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    6,
    hiddenString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (12930326 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral highData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    4,
    highString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (11748844 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral hrData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    2,
    hrString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (7182703 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral hrefData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    4,
    hrefString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (5797448 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral hreflangData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    8,
    hreflangString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (12582042 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral hspaceData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    6,
    hspaceString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (4182216 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral htmlData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    4,
    htmlString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (7123128 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral http_equivData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    10,
    http_equivString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (12415310 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral iData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    1,
    iString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (16149244 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral idData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    2,
    idString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (6145549 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral iframeData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    6,
    iframeString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (16643553 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral imageData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    5,
    imageString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (10287573 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral imgData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    3,
    imgString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (11398162 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral incrementalData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    11,
    incrementalString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (9277578 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral indeterminateData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    13,
    indeterminateString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (10969764 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral inputData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    5,
    inputString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (10365436 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral insData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    3,
    insString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (939786 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral isData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    2,
    isString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (15617733 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral ismapData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    5,
    ismapString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (6887213 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral itemidData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    6,
    itemidString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (12624379 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral itempropData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    8,
    itempropString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (6187843 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral itemrefData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    7,
    itemrefString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (2718931 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral itemscopeData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    9,
    itemscopeString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (247653 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral itemtypeData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    8,
    itemtypeString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (16502055 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral kbdData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    3,
    kbdString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (8554610 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral keygenData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    6,
    keygenString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (5603105 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral keytypeData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    7,
    keytypeString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (13164152 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral kindData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    4,
    kindString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (7022868 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral labelData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    5,
    labelString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (15092473 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral langData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    4,
    langString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (3702417 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral languageData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    8,
    languageString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (4109061 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral layerData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    5,
    layerString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (16475212 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral leftmarginData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    10,
    leftmarginString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (10359506 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral legendData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    6,
    legendString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (16417202 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral liData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    2,
    liString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (11097939 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral linkData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    4,
    linkString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (7010491 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral listData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    4,
    listString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (15078159 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral listingData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    7,
    listingString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (15674586 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral longdescData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    8,
    longdescString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (2363416 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral loopData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    4,
    loopString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (12741482 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral loopendData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    7,
    loopendString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (987820 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral loopstartData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    9,
    loopstartString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (15595454 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral lowData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    3,
    lowString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (9523344 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral lowsrcData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    6,
    lowsrcString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (8943146 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral mainData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    4,
    mainString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (13501767 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral manifestData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    8,
    manifestString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (3853375 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral mapData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    3,
    mapString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (16519384 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral marginheightData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    12,
    marginheightString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (14117911 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral marginwidthData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    11,
    marginwidthString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (5458369 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral markData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    4,
    markString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (16508213 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral marqueeData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    7,
    marqueeString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (1416619 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral maxData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    3,
    maxString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (3449166 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral maxlengthData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    9,
    maxlengthString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (5985164 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral mayscriptData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    9,
    mayscriptString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (9718095 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral mediaData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    5,
    mediaString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (13905581 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral mediagroupData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    10,
    mediagroupString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (13605962 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral menuData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    4,
    menuString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (13428288 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral metaData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    4,
    metaString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (14067019 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral meterData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    5,
    meterString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (5815470 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral methodData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    6,
    methodString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (14679268 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral minData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    3,
    minString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (2196278 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral minlengthData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    9,
    minlengthString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (4633736 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral multipleData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    8,
    multipleString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (6185486 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral mutedData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    5,
    mutedString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (11680767 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral nameData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    4,
    nameString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (8774809 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral navData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    3,
    navString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (15269619 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral nobrData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    4,
    nobrString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (419763 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral noembedData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    7,
    noembedString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (11476379 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral noframesData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    8,
    noframesString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (13751064 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral nohrefData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    6,
    nohrefString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (2672291 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral nolayerData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    7,
    nolayerString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (10430133 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral nonceData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    5,
    nonceString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (12597381 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral noresizeData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    8,
    noresizeString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (11098542 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral noscriptData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    8,
    noscriptString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (10168152 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral noshadeData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    7,
    noshadeString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (12172860 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral novalidateData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    10,
    novalidateString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (5146510 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral nowrapData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    6,
    nowrapString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (15804466 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral objectData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    6,
    objectString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (6907086 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral olData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    2,
    olString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (6672076 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral onabortData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    7,
    onabortString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (9017557 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral onanimationendData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    14,
    onanimationendString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (15950082 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral onanimationiterationData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    20,
    onanimationiterationString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (6837014 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral onanimationstartData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    16,
    onanimationstartString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (3893294 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral onautocompleteData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    14,
    onautocompleteString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (6917578 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral onautocompleteerrorData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    19,
    onautocompleteerrorString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (8480614 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral onbeforecopyData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    12,
    onbeforecopyString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (10445229 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral onbeforecutData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    11,
    onbeforecutString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (7604779 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral onbeforeloadData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    12,
    onbeforeloadString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (7335060 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral onbeforepasteData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    13,
    onbeforepasteString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (10932396 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral onbeforeunloadData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    14,
    onbeforeunloadString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (10408067 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral onblurData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    6,
    onblurString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (10264279 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral oncanplayData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    9,
    oncanplayString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (11894364 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral oncanplaythroughData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    16,
    oncanplaythroughString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (9632525 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral onchangeData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    8,
    onchangeString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (1588214 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral onclickData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    7,
    onclickString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (668060 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral oncontextmenuData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    13,
    oncontextmenuString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (10957436 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral oncopyData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    6,
    oncopyString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (3498124 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral oncutData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    5,
    oncutString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (530518 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral ondblclickData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    10,
    ondblclickString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (9484479 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral ondragData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    6,
    ondragString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (7755023 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral ondragendData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    9,
    ondragendString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (12737756 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral ondragenterData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    11,
    ondragenterString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (7625423 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral ondragleaveData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    11,
    ondragleaveString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (2163828 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral ondragoverData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    10,
    ondragoverString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (7621126 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral ondragstartData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    11,
    ondragstartString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (7563418 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral ondropData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    6,
    ondropString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (5167850 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral ondurationchangeData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    16,
    ondurationchangeString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (3875418 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral onemptiedData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    9,
    onemptiedString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (7216733 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral onendedData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    7,
    onendedString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (4168741 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral onerrorData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    7,
    onerrorString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (2658286 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral onfocusData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    7,
    onfocusString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (11484753 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral onfocusinData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    9,
    onfocusinString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (2970475 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral onfocusoutData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    10,
    onfocusoutString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (4459422 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral ongesturechangeData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    15,
    ongesturechangeString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (7555791 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral ongestureendData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    12,
    ongestureendString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (8989227 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral ongesturestartData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    14,
    ongesturestartString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (3806451 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral onhashchangeData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    12,
    onhashchangeString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (897163 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral oninputData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    7,
    oninputString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (7945347 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral oninvalidData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    9,
    oninvalidString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (15155464 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral onkeydownData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    9,
    onkeydownString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (917683 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral onkeypressData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    10,
    onkeypressString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (10628960 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral onkeyupData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    7,
    onkeyupString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (7098679 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral onloadData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    6,
    onloadString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (1245164 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral onloadeddataData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    12,
    onloadeddataString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (6667087 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral onloadedmetadataData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    16,
    onloadedmetadataString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (11435152 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral onloadstartData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    11,
    onloadstartString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (11661007 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral onmessageData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    9,
    onmessageString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (15511252 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral onmousedownData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    11,
    onmousedownString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (10902312 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral onmouseenterData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    12,
    onmouseenterString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (12011136 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral onmouseleaveData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    12,
    onmouseleaveString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (9750696 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral onmousemoveData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    11,
    onmousemoveString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (13128910 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral onmouseoutData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    10,
    onmouseoutString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (3672358 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral onmouseoverData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    11,
    onmouseoverString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (5456314 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral onmouseupData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    9,
    onmouseupString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (8932826 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral onmousewheelData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    12,
    onmousewheelString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (8230218 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral onofflineData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    9,
    onofflineString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (8780424 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral ononlineData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    8,
    ononlineString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (6361718 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral onorientationchangeData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    19,
    onorientationchangeString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (4305565 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral onpagehideData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    10,
    onpagehideString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (11684100 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral onpageshowData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    10,
    onpageshowString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (2047001 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral onpasteData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    7,
    onpasteString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (8282984 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral onpauseData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    7,
    onpauseString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (9216789 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral onplayData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    6,
    onplayString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (4469333 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral onplayingData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    9,
    onplayingString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (6622660 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral onpopstateData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    10,
    onpopstateString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (5473424 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral onprogressData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    10,
    onprogressString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (11307581 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral onratechangeData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    12,
    onratechangeString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (8724969 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral onresetData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    7,
    onresetString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (871509 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral onresizeData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    8,
    onresizeString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (6999701 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral onscrollData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    8,
    onscrollString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (11456051 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral onsearchData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    8,
    onsearchString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (13779639 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral onseekedData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    8,
    onseekedString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (15270585 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral onseekingData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    9,
    onseekingString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (1397795 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral onselectData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    8,
    onselectString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (10837779 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral onselectionchangeData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    17,
    onselectionchangeString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (2738107 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral onselectstartData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    13,
    onselectstartString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (4928924 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral onstalledData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    9,
    onstalledString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (366130 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral onstorageData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    9,
    onstorageString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (3472742 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral onsubmitData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    8,
    onsubmitString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (10895898 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral onsuspendData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    9,
    onsuspendString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (3306534 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral ontimeupdateData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    12,
    ontimeupdateString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (15260240 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral ontouchcancelData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    13,
    ontouchcancelString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (11977340 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral ontouchendData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    10,
    ontouchendString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (14649050 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral ontouchforcechangeData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    18,
    ontouchforcechangeString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (8135701 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral ontouchmoveData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    11,
    ontouchmoveString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (3062696 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral ontouchstartData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    12,
    ontouchstartString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (15650339 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral ontransitionendData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    15,
    ontransitionendString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (14486006 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral onunloadData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    8,
    onunloadString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (265474 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral onvolumechangeData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    14,
    onvolumechangeString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (1227173 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral onwaitingData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    9,
    onwaitingString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (14930497 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral onwebkitanimationendData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    20,
    onwebkitanimationendString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (4247475 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral onwebkitanimationiterationData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    26,
    onwebkitanimationiterationString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (2350168 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral onwebkitanimationstartData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    22,
    onwebkitanimationstartString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (1438902 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral onwebkitbeginfullscreenData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    23,
    onwebkitbeginfullscreenString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (174128 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral onwebkitcurrentplaybacktargetiswirelesschangedData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    46,
    onwebkitcurrentplaybacktargetiswirelesschangedString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (10713877 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral onwebkitendfullscreenData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    21,
    onwebkitendfullscreenString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (14862164 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral onwebkitfullscreenchangeData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    24,
    onwebkitfullscreenchangeString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (4583393 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral onwebkitfullscreenerrorData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    23,
    onwebkitfullscreenerrorString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (16488541 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral onwebkitkeyaddedData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    16,
    onwebkitkeyaddedString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (5334111 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral onwebkitkeyerrorData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    16,
    onwebkitkeyerrorString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (11199297 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral onwebkitkeymessageData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    18,
    onwebkitkeymessageString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (13202216 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral onwebkitmouseforcechangedData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    25,
    onwebkitmouseforcechangedString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (7336884 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral onwebkitmouseforcedownData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    22,
    onwebkitmouseforcedownString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (15344714 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral onwebkitmouseforceupData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    20,
    onwebkitmouseforceupString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (10502839 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral onwebkitmouseforcewillbeginData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    27,
    onwebkitmouseforcewillbeginString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (6235288 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral onwebkitneedkeyData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    15,
    onwebkitneedkeyString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (859938 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral onwebkitplaybacktargetavailabilitychangedData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    41,
    onwebkitplaybacktargetavailabilitychangedString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (11789228 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral onwebkitpresentationmodechangedData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    31,
    onwebkitpresentationmodechangedString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (12526186 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral onwebkitsourcecloseData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    19,
    onwebkitsourcecloseString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (10042583 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral onwebkitsourceendedData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    19,
    onwebkitsourceendedString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (12655944 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral onwebkitsourceopenData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    18,
    onwebkitsourceopenString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (11118609 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral onwebkitspeechchangeData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    20,
    onwebkitspeechchangeString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (13223170 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral onwebkittransitionendData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    21,
    onwebkittransitionendString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (3568476 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral onwebkitwillrevealbottomData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    24,
    onwebkitwillrevealbottomString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (13958886 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral onwebkitwillrevealleftData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    22,
    onwebkitwillrevealleftString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (8876896 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral onwebkitwillrevealrightData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    23,
    onwebkitwillrevealrightString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (6458016 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral onwebkitwillrevealtopData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    21,
    onwebkitwillrevealtopString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (2021325 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral onwheelData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    7,
    onwheelString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (3280514 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral openData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    4,
    openString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (13703631 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral optgroupData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    8,
    optgroupString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (10180907 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral optimumData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    7,
    optimumString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (3350287 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral optionData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    6,
    optionString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (2998548 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral outputData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    6,
    outputString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (15319621 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral pData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    1,
    pString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (587733 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral paramData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    5,
    paramString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (15210019 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral patternData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    7,
    patternString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (16283150 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral pictureData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    7,
    pictureString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (7136372 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral pingData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    4,
    pingString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (9193756 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral placeholderData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    11,
    placeholderString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (6132349 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral plaintextData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    9,
    plaintextString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (2551274 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral playcountData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    9,
    playcountString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (16731673 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral playsinlineData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    11,
    playsinlineString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (1471917 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral pluginspageData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    11,
    pluginspageString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (13244573 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral pluginurlData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    9,
    pluginurlString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (13481259 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral posterData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    6,
    posterString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (2570443 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral preData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    3,
    preString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (16061734 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral precisionData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    9,
    precisionString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (2942017 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral preloadData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    7,
    preloadString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (11887554 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral primaryData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    7,
    primaryString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (421132 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral profileData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    7,
    profileString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (10479533 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral progressData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    8,
    progressString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (11461517 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral promptData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    6,
    promptString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (3532635 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral pseudoData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    6,
    pseudoString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (6923620 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral qData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    1,
    qString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (12607837 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral rbData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    2,
    rbString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (4749743 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral readonlyData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    8,
    readonlyString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (4471832 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral relData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    3,
    relString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (8963158 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral requiredData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    8,
    requiredString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (4894573 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral resultsData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    7,
    resultsString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (972036 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral revData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    3,
    revString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (12217053 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral reversedData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    8,
    reversedString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (15723650 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral roleData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    4,
    roleString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (16084934 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral rowsData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    4,
    rowsString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (11770835 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral rowspanData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    7,
    rowspanString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (13630419 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral rpData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    2,
    rpString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (4502666 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral rtData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    2,
    rtString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (8494892 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral rtcData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    3,
    rtcString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (4350543 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral rubyData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    4,
    rubyString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (12793227 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral rulesData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    5,
    rulesString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (8604373 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral sData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    1,
    sString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (11249530 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral sampData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    4,
    sampString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (3617274 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral sandboxData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    7,
    sandboxString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (3448190 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral schemeData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    6,
    schemeString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (3952063 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral scopeData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    5,
    scopeString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (5624816 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral scopedData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    6,
    scopedString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (8814668 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral scriptData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    6,
    scriptString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (7137273 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral scrollamountData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    12,
    scrollamountString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (8309213 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral scrolldelayData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    11,
    scrolldelayString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (15755012 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral scrollingData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    9,
    scrollingString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (4321742 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral sectionData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    7,
    sectionString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (8056235 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral selectData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    6,
    selectString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (210571 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral selectedData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    8,
    selectedString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (15762609 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral shapeData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    5,
    shapeString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (15210140 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral sizeData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    4,
    sizeString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (12715024 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral sizesData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    5,
    sizesString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (6795010 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral slotData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    4,
    slotString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (8744197 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral smallData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    5,
    smallString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (14362904 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral sortableData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    8,
    sortableString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (6619850 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral sortdirectionData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    13,
    sortdirectionString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (7163200 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral sourceData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    6,
    sourceString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (341674 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral spanData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    4,
    spanString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (11168892 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral spellcheckData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    10,
    spellcheckString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (4108424 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral srcData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    3,
    srcString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (11517827 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral srcdocData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    6,
    srcdocString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (15297056 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral srclangData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    7,
    srclangString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (13402710 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral srcsetData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    6,
    srcsetString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (6236095 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral standbyData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    7,
    standbyString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (8394231 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral startData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    5,
    startString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (1021290 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral stepData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    4,
    stepString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (5337026 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral strikeData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    6,
    strikeString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (15072495 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral strongData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    6,
    strongString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (13282129 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral styleData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    5,
    styleString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (10993676 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral subData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    3,
    subString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (15782866 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral subtitleData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    8,
    subtitleString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (7201705 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral summaryData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    7,
    summaryString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (1148260 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral supData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    3,
    supString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (8741418 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral tabindexData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    8,
    tabindexString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (10415591 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral tableData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    5,
    tableString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (8181317 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral tableborderData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    11,
    tableborderString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (4105225 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral targetData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    6,
    targetString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (1752822 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral tbodyData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    5,
    tbodyString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (14028375 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral tdData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    2,
    tdString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (10309076 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral templateData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    8,
    templateString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (12693000 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral textData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    4,
    textString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (2784654 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral textareaData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    8,
    textareaString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (10510497 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral tfootData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    5,
    tfootString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (13009441 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral thData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    2,
    thString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (3915297 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral theadData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    5,
    theadString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (13349519 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral timeData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    4,
    timeString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (3114886 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral titleData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    5,
    titleString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (2337488 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral topData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    3,
    topString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (14467303 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral topmarginData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    9,
    topmarginString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (10843382 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral trData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    2,
    trString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (16624306 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral trackData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    5,
    trackString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (10988706 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral translateData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    9,
    translateString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (9982484 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral truespeedData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    9,
    truespeedString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (11732619 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral ttData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    2,
    ttString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (9170852 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral typeData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    4,
    typeString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (1916283 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral uData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    1,
    uString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (13317144 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral uiactionsData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    9,
    uiactionsString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (6617010 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral ulData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    2,
    ulString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (12324505 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral usemapData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    6,
    usemapString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (16643238 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral valignData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    6,
    valignString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (8345445 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral valueData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    5,
    valueString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (10871467 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral valuetypeData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    9,
    valuetypeString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (4808367 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral varData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    3,
    varString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (9573901 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral versionData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    7,
    versionString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (8128447 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral videoData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    5,
    videoString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (16765639 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral vlinkData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    5,
    vlinkString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (12743618 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral vspaceData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    6,
    vspaceString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (9862276 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral wbrData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    3,
    wbrString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (8290101 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral webkit_playsinlineData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    18,
    webkit_playsinlineString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (3816786 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral webkitairplayData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    16,
    webkitairplayString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (9236166 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral webkitallowfullscreenData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    21,
    webkitallowfullscreenString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (1373167 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral webkitattachmentpathData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    20,
    webkitattachmentpathString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (3991055 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral webkitdropzoneData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    14,
    webkitdropzoneString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (5315147 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral webkitgrammarData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    16,
    webkitgrammarString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (3776340 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral webkitimagemenuData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    18,
    webkitimagemenuString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (9722112 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral webkitspeechData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    15,
    webkitspeechString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (7275232 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral webkitwirelessvideoplaybackdisabledData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    38,
    webkitwirelessvideoplaybackdisabledString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (625505 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral widthData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    5,
    widthString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (12902275 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral wrapData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    4,
    wrapString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (7601899 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral x_apple_data_detectorsData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    22,
    x_apple_data_detectorsString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (2810805 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral x_apple_data_detectors_resultData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    29,
    x_apple_data_detectors_resultString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (4921159 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral x_apple_data_detectors_typeData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    27,
    x_apple_data_detectors_typeString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (4669546 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral x_itunes_inherit_uri_query_componentData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    36,
    x_itunes_inherit_uri_query_componentString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (4236377 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral xmpData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    3,
    xmpString8,
    StringImpl::StaticASCIILiteral::s_initialFlags | (8764488 << StringImpl::StaticASCIILiteral::s_hashShift)
};

// Tags
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, aTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, abbrTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, acronymTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, addressTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, appletTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, areaTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, articleTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, asideTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, attachmentTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, audioTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, bTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, baseTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, basefontTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, bdiTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, bdoTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, bgsoundTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, bigTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, blockquoteTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, bodyTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, brTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, buttonTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, canvasTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, captionTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, centerTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, citeTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, codeTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, colTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, colgroupTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, commandTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, dataTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, datalistTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, ddTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, delTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, detailsTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, dfnTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, dirTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, divTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, dlTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, dtTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, emTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, embedTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, fieldsetTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, figcaptionTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, figureTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, fontTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, footerTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, formTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, frameTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, framesetTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, h1Tag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, h2Tag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, h3Tag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, h4Tag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, h5Tag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, h6Tag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, headTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, headerTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, hgroupTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, hrTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, htmlTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, iTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, iframeTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, imageTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, imgTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, inputTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, insTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, kbdTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, keygenTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, labelTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, layerTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, legendTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, liTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, linkTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, listingTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, mainTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, mapTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, markTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, marqueeTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, menuTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, metaTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, meterTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, navTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, nobrTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, noembedTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, noframesTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, nolayerTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, noscriptTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, objectTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, olTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, optgroupTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, optionTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, outputTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, pTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, paramTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, pictureTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, plaintextTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, preTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, progressTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, qTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, rbTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, rpTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, rtTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, rtcTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, rubyTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, sTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, sampTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, scriptTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, sectionTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, selectTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, slotTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, smallTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, sourceTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, spanTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, strikeTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, strongTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, styleTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, subTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, summaryTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, supTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, tableTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, tbodyTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, tdTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, templateTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, textareaTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, tfootTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, thTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, theadTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, timeTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, titleTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, trTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, trackTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, ttTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, uTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, ulTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, varTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, videoTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, wbrTag)
WEBCORE_EXPORT DEFINE_GLOBAL(HTMLQualifiedName, xmpTag)


const WebCore::HTMLQualifiedName* const* getHTMLTags()
{
    static const WebCore::HTMLQualifiedName* const HTMLTags[] = {
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&aTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&abbrTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&acronymTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&addressTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&appletTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&areaTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&articleTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&asideTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&attachmentTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&audioTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&bTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&baseTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&basefontTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&bdiTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&bdoTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&bgsoundTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&bigTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&blockquoteTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&bodyTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&brTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&buttonTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&canvasTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&captionTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&centerTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&citeTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&codeTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&colTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&colgroupTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&commandTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&dataTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&datalistTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&ddTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&delTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&detailsTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&dfnTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&dirTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&divTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&dlTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&dtTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&emTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&embedTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&fieldsetTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&figcaptionTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&figureTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&fontTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&footerTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&formTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&frameTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&framesetTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&h1Tag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&h2Tag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&h3Tag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&h4Tag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&h5Tag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&h6Tag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&headTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&headerTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&hgroupTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&hrTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&htmlTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&iTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&iframeTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&imageTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&imgTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&inputTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&insTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&kbdTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&keygenTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&labelTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&layerTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&legendTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&liTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&linkTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&listingTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&mainTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&mapTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&markTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&marqueeTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&menuTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&metaTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&meterTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&navTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&nobrTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&noembedTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&noframesTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&nolayerTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&noscriptTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&objectTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&olTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&optgroupTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&optionTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&outputTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&pTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&paramTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&pictureTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&plaintextTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&preTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&progressTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&qTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&rbTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&rpTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&rtTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&rtcTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&rubyTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&sTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&sampTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&scriptTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&sectionTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&selectTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&slotTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&smallTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&sourceTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&spanTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&strikeTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&strongTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&styleTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&subTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&summaryTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&supTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&tableTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&tbodyTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&tdTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&templateTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&textareaTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&tfootTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&thTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&theadTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&timeTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&titleTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&trTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&trackTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&ttTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&uTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&ulTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&varTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&videoTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&wbrTag),
        reinterpret_cast<const WebCore::HTMLQualifiedName*>(&xmpTag),
    };
    return HTMLTags;
}

// Attributes
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, abbrAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, acceptAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, accept_charsetAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, accesskeyAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, actionAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, alignAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, alinkAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, allowfullscreenAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, altAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, archiveAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, aria_activedescendantAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, aria_atomicAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, aria_busyAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, aria_checkedAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, aria_colcountAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, aria_colindexAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, aria_colspanAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, aria_controlsAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, aria_currentAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, aria_describedbyAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, aria_disabledAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, aria_dropeffectAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, aria_expandedAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, aria_flowtoAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, aria_grabbedAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, aria_haspopupAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, aria_helpAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, aria_hiddenAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, aria_invalidAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, aria_labelAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, aria_labeledbyAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, aria_labelledbyAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, aria_levelAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, aria_liveAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, aria_modalAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, aria_multilineAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, aria_multiselectableAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, aria_orientationAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, aria_ownsAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, aria_placeholderAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, aria_posinsetAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, aria_pressedAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, aria_readonlyAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, aria_relevantAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, aria_requiredAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, aria_roledescriptionAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, aria_rowcountAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, aria_rowindexAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, aria_rowspanAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, aria_selectedAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, aria_setsizeAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, aria_sortAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, aria_valuemaxAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, aria_valueminAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, aria_valuenowAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, aria_valuetextAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, asAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, asyncAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, autocapitalizeAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, autocompleteAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, autocorrectAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, autofocusAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, autoplayAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, autosaveAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, axisAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, backgroundAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, behaviorAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, bgcolorAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, bgpropertiesAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, borderAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, bordercolorAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, captureAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, cellborderAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, cellpaddingAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, cellspacingAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, challengeAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, charAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, charoffAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, charsetAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, checkedAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, citeAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, classAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, classidAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, clearAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, codeAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, codebaseAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, codetypeAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, colorAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, colsAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, colspanAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, compactAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, compositeAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, contentAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, contenteditableAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, controlsAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, coordsAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, crossoriginAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, dataAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, datetimeAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, declareAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, defaultAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, deferAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, dirAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, directionAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, dirnameAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, disabledAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, dispositionAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, downloadAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, draggableAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, enctypeAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, endAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, eventAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, expandedAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, faceAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, focusedAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, forAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, formAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, formactionAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, formenctypeAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, formmethodAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, formnovalidateAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, formtargetAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, frameAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, frameborderAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, headersAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, heightAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, hiddenAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, highAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, hrefAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, hreflangAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, hspaceAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, http_equivAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, idAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, incrementalAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, indeterminateAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, isAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, ismapAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, itemidAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, itempropAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, itemrefAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, itemscopeAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, itemtypeAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, keytypeAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, kindAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, labelAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, langAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, languageAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, leftmarginAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, linkAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, listAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, longdescAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, loopAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, loopendAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, loopstartAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, lowAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, lowsrcAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, manifestAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, marginheightAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, marginwidthAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, maxAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, maxlengthAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, mayscriptAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, mediaAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, mediagroupAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, methodAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, minAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, minlengthAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, multipleAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, mutedAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, nameAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, nohrefAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, nonceAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, noresizeAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, noshadeAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, novalidateAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, nowrapAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, objectAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, onabortAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, onanimationendAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, onanimationiterationAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, onanimationstartAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, onautocompleteAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, onautocompleteerrorAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, onbeforecopyAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, onbeforecutAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, onbeforeloadAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, onbeforepasteAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, onbeforeunloadAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, onblurAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, oncanplayAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, oncanplaythroughAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, onchangeAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, onclickAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, oncontextmenuAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, oncopyAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, oncutAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, ondblclickAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, ondragAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, ondragendAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, ondragenterAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, ondragleaveAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, ondragoverAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, ondragstartAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, ondropAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, ondurationchangeAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, onemptiedAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, onendedAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, onerrorAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, onfocusAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, onfocusinAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, onfocusoutAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, ongesturechangeAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, ongestureendAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, ongesturestartAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, onhashchangeAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, oninputAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, oninvalidAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, onkeydownAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, onkeypressAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, onkeyupAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, onloadAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, onloadeddataAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, onloadedmetadataAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, onloadstartAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, onmessageAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, onmousedownAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, onmouseenterAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, onmouseleaveAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, onmousemoveAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, onmouseoutAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, onmouseoverAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, onmouseupAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, onmousewheelAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, onofflineAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, ononlineAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, onorientationchangeAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, onpagehideAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, onpageshowAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, onpasteAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, onpauseAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, onplayAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, onplayingAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, onpopstateAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, onprogressAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, onratechangeAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, onresetAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, onresizeAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, onscrollAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, onsearchAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, onseekedAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, onseekingAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, onselectAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, onselectionchangeAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, onselectstartAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, onstalledAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, onstorageAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, onsubmitAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, onsuspendAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, ontimeupdateAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, ontouchcancelAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, ontouchendAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, ontouchforcechangeAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, ontouchmoveAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, ontouchstartAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, ontransitionendAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, onunloadAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, onvolumechangeAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, onwaitingAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, onwebkitanimationendAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, onwebkitanimationiterationAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, onwebkitanimationstartAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, onwebkitbeginfullscreenAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, onwebkitcurrentplaybacktargetiswirelesschangedAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, onwebkitendfullscreenAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, onwebkitfullscreenchangeAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, onwebkitfullscreenerrorAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, onwebkitkeyaddedAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, onwebkitkeyerrorAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, onwebkitkeymessageAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, onwebkitmouseforcechangedAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, onwebkitmouseforcedownAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, onwebkitmouseforceupAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, onwebkitmouseforcewillbeginAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, onwebkitneedkeyAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, onwebkitplaybacktargetavailabilitychangedAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, onwebkitpresentationmodechangedAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, onwebkitsourcecloseAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, onwebkitsourceendedAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, onwebkitsourceopenAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, onwebkitspeechchangeAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, onwebkittransitionendAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, onwebkitwillrevealbottomAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, onwebkitwillrevealleftAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, onwebkitwillrevealrightAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, onwebkitwillrevealtopAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, onwheelAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, openAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, optimumAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, patternAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, pingAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, placeholderAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, playcountAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, playsinlineAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, pluginspageAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, pluginurlAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, posterAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, precisionAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, preloadAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, primaryAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, profileAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, progressAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, promptAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, pseudoAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, readonlyAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, relAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, requiredAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, resultsAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, revAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, reversedAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, roleAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, rowsAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, rowspanAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, rulesAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, sandboxAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, schemeAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, scopeAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, scopedAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, scrollamountAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, scrolldelayAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, scrollingAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, selectAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, selectedAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, shapeAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, sizeAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, sizesAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, slotAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, sortableAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, sortdirectionAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, spanAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, spellcheckAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, srcAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, srcdocAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, srclangAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, srcsetAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, standbyAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, startAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, stepAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, styleAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, subtitleAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, summaryAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, tabindexAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, tableborderAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, targetAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, textAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, titleAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, topAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, topmarginAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, translateAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, truespeedAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, typeAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, uiactionsAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, usemapAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, valignAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, valueAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, valuetypeAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, versionAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, vlinkAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, vspaceAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, webkit_playsinlineAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, webkitairplayAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, webkitallowfullscreenAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, webkitattachmentpathAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, webkitdropzoneAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, webkitgrammarAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, webkitimagemenuAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, webkitspeechAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, webkitwirelessvideoplaybackdisabledAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, widthAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, wrapAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, x_apple_data_detectorsAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, x_apple_data_detectors_resultAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, x_apple_data_detectors_typeAttr)
WEBCORE_EXPORT DEFINE_GLOBAL(QualifiedName, x_itunes_inherit_uri_query_componentAttr)


const WebCore::QualifiedName* const* getHTMLAttrs()
{
    static const WebCore::QualifiedName* const HTMLAttrs[] = {
        reinterpret_cast<const WebCore::QualifiedName*>(&abbrAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&acceptAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&accept_charsetAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&accesskeyAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&actionAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&alignAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&alinkAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&allowfullscreenAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&altAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&archiveAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&aria_activedescendantAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&aria_atomicAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&aria_busyAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&aria_checkedAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&aria_colcountAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&aria_colindexAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&aria_colspanAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&aria_controlsAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&aria_currentAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&aria_describedbyAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&aria_disabledAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&aria_dropeffectAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&aria_expandedAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&aria_flowtoAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&aria_grabbedAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&aria_haspopupAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&aria_helpAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&aria_hiddenAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&aria_invalidAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&aria_labelAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&aria_labeledbyAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&aria_labelledbyAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&aria_levelAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&aria_liveAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&aria_modalAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&aria_multilineAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&aria_multiselectableAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&aria_orientationAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&aria_ownsAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&aria_placeholderAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&aria_posinsetAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&aria_pressedAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&aria_readonlyAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&aria_relevantAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&aria_requiredAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&aria_roledescriptionAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&aria_rowcountAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&aria_rowindexAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&aria_rowspanAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&aria_selectedAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&aria_setsizeAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&aria_sortAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&aria_valuemaxAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&aria_valueminAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&aria_valuenowAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&aria_valuetextAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&asAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&asyncAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&autocapitalizeAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&autocompleteAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&autocorrectAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&autofocusAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&autoplayAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&autosaveAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&axisAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&backgroundAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&behaviorAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&bgcolorAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&bgpropertiesAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&borderAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&bordercolorAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&captureAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&cellborderAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&cellpaddingAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&cellspacingAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&challengeAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&charAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&charoffAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&charsetAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&checkedAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&citeAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&classAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&classidAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&clearAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&codeAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&codebaseAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&codetypeAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&colorAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&colsAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&colspanAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&compactAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&compositeAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&contentAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&contenteditableAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&controlsAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&coordsAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&crossoriginAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&dataAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&datetimeAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&declareAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&defaultAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&deferAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&dirAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&directionAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&dirnameAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&disabledAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&dispositionAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&downloadAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&draggableAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&enctypeAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&endAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&eventAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&expandedAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&faceAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&focusedAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&forAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&formAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&formactionAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&formenctypeAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&formmethodAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&formnovalidateAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&formtargetAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&frameAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&frameborderAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&headersAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&heightAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&hiddenAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&highAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&hrefAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&hreflangAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&hspaceAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&http_equivAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&idAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&incrementalAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&indeterminateAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&isAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&ismapAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&itemidAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&itempropAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&itemrefAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&itemscopeAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&itemtypeAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&keytypeAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&kindAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&labelAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&langAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&languageAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&leftmarginAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&linkAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&listAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&longdescAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&loopAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&loopendAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&loopstartAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&lowAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&lowsrcAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&manifestAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&marginheightAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&marginwidthAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&maxAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&maxlengthAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&mayscriptAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&mediaAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&mediagroupAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&methodAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&minAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&minlengthAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&multipleAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&mutedAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&nameAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&nohrefAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&nonceAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&noresizeAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&noshadeAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&novalidateAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&nowrapAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&objectAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&onabortAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&onanimationendAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&onanimationiterationAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&onanimationstartAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&onautocompleteAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&onautocompleteerrorAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&onbeforecopyAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&onbeforecutAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&onbeforeloadAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&onbeforepasteAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&onbeforeunloadAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&onblurAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&oncanplayAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&oncanplaythroughAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&onchangeAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&onclickAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&oncontextmenuAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&oncopyAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&oncutAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&ondblclickAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&ondragAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&ondragendAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&ondragenterAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&ondragleaveAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&ondragoverAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&ondragstartAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&ondropAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&ondurationchangeAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&onemptiedAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&onendedAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&onerrorAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&onfocusAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&onfocusinAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&onfocusoutAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&ongesturechangeAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&ongestureendAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&ongesturestartAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&onhashchangeAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&oninputAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&oninvalidAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&onkeydownAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&onkeypressAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&onkeyupAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&onloadAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&onloadeddataAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&onloadedmetadataAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&onloadstartAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&onmessageAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&onmousedownAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&onmouseenterAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&onmouseleaveAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&onmousemoveAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&onmouseoutAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&onmouseoverAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&onmouseupAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&onmousewheelAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&onofflineAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&ononlineAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&onorientationchangeAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&onpagehideAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&onpageshowAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&onpasteAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&onpauseAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&onplayAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&onplayingAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&onpopstateAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&onprogressAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&onratechangeAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&onresetAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&onresizeAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&onscrollAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&onsearchAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&onseekedAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&onseekingAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&onselectAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&onselectionchangeAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&onselectstartAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&onstalledAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&onstorageAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&onsubmitAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&onsuspendAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&ontimeupdateAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&ontouchcancelAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&ontouchendAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&ontouchforcechangeAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&ontouchmoveAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&ontouchstartAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&ontransitionendAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&onunloadAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&onvolumechangeAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&onwaitingAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&onwebkitanimationendAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&onwebkitanimationiterationAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&onwebkitanimationstartAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&onwebkitbeginfullscreenAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&onwebkitcurrentplaybacktargetiswirelesschangedAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&onwebkitendfullscreenAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&onwebkitfullscreenchangeAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&onwebkitfullscreenerrorAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&onwebkitkeyaddedAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&onwebkitkeyerrorAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&onwebkitkeymessageAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&onwebkitmouseforcechangedAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&onwebkitmouseforcedownAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&onwebkitmouseforceupAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&onwebkitmouseforcewillbeginAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&onwebkitneedkeyAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&onwebkitplaybacktargetavailabilitychangedAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&onwebkitpresentationmodechangedAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&onwebkitsourcecloseAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&onwebkitsourceendedAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&onwebkitsourceopenAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&onwebkitspeechchangeAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&onwebkittransitionendAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&onwebkitwillrevealbottomAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&onwebkitwillrevealleftAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&onwebkitwillrevealrightAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&onwebkitwillrevealtopAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&onwheelAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&openAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&optimumAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&patternAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&pingAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&placeholderAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&playcountAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&playsinlineAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&pluginspageAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&pluginurlAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&posterAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&precisionAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&preloadAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&primaryAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&profileAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&progressAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&promptAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&pseudoAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&readonlyAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&relAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&requiredAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&resultsAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&revAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&reversedAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&roleAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&rowsAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&rowspanAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&rulesAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&sandboxAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&schemeAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&scopeAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&scopedAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&scrollamountAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&scrolldelayAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&scrollingAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&selectAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&selectedAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&shapeAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&sizeAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&sizesAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&slotAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&sortableAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&sortdirectionAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&spanAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&spellcheckAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&srcAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&srcdocAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&srclangAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&srcsetAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&standbyAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&startAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&stepAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&styleAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&subtitleAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&summaryAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&tabindexAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&tableborderAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&targetAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&textAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&titleAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&topAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&topmarginAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&translateAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&truespeedAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&typeAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&uiactionsAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&usemapAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&valignAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&valueAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&valuetypeAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&versionAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&vlinkAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&vspaceAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&webkit_playsinlineAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&webkitairplayAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&webkitallowfullscreenAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&webkitattachmentpathAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&webkitdropzoneAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&webkitgrammarAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&webkitimagemenuAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&webkitspeechAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&webkitwirelessvideoplaybackdisabledAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&widthAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&wrapAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&x_apple_data_detectorsAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&x_apple_data_detectors_resultAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&x_apple_data_detectors_typeAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&x_itunes_inherit_uri_query_componentAttr),
    };
    return HTMLAttrs;
}

void init()
{
    static bool initialized = false;
    if (initialized)
        return;
    initialized = true;

    // Use placement new to initialize the globals.

    AtomicString::init();
    AtomicString xhtmlNS("http://www.w3.org/1999/xhtml", AtomicString::ConstructFromLiteral);

    // Namespace
    new (NotNull, (void*)&xhtmlNamespaceURI) AtomicString(xhtmlNS);

#ifndef NDEBUG
    reinterpret_cast<StringImpl*>(&aData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&abbrData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&acceptData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&accept_charsetData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&accesskeyData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&acronymData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&actionData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&addressData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&alignData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&alinkData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&allowfullscreenData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&altData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&appletData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&archiveData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&areaData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&aria_activedescendantData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&aria_atomicData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&aria_busyData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&aria_checkedData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&aria_colcountData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&aria_colindexData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&aria_colspanData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&aria_controlsData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&aria_currentData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&aria_describedbyData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&aria_disabledData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&aria_dropeffectData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&aria_expandedData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&aria_flowtoData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&aria_grabbedData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&aria_haspopupData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&aria_helpData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&aria_hiddenData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&aria_invalidData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&aria_labelData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&aria_labeledbyData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&aria_labelledbyData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&aria_levelData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&aria_liveData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&aria_modalData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&aria_multilineData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&aria_multiselectableData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&aria_orientationData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&aria_ownsData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&aria_placeholderData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&aria_posinsetData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&aria_pressedData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&aria_readonlyData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&aria_relevantData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&aria_requiredData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&aria_roledescriptionData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&aria_rowcountData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&aria_rowindexData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&aria_rowspanData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&aria_selectedData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&aria_setsizeData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&aria_sortData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&aria_valuemaxData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&aria_valueminData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&aria_valuenowData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&aria_valuetextData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&articleData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&asData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&asideData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&asyncData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&attachmentData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&audioData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&autocapitalizeData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&autocompleteData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&autocorrectData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&autofocusData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&autoplayData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&autosaveData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&axisData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&bData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&backgroundData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&baseData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&basefontData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&bdiData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&bdoData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&behaviorData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&bgcolorData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&bgpropertiesData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&bgsoundData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&bigData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&blockquoteData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&bodyData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&borderData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&bordercolorData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&brData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&buttonData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&canvasData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&captionData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&captureData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&cellborderData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&cellpaddingData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&cellspacingData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&centerData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&challengeData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&charData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&charoffData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&charsetData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&checkedData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&citeData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&classData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&classidData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&clearData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&codeData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&codebaseData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&codetypeData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&colData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&colgroupData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&colorData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&colsData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&colspanData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&commandData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&compactData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&compositeData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&contentData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&contenteditableData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&controlsData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&coordsData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&crossoriginData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&dataData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&datalistData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&datetimeData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&ddData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&declareData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&defaultData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&deferData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&delData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&detailsData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&dfnData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&dirData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&directionData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&dirnameData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&disabledData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&dispositionData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&divData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&dlData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&downloadData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&draggableData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&dtData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&emData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&embedData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&enctypeData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&endData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&eventData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&expandedData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&faceData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&fieldsetData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&figcaptionData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&figureData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&focusedData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&fontData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&footerData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&forData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&formData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&formactionData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&formenctypeData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&formmethodData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&formnovalidateData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&formtargetData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&frameData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&frameborderData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&framesetData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&h1Data)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&h2Data)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&h3Data)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&h4Data)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&h5Data)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&h6Data)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&headData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&headerData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&headersData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&heightData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&hgroupData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&hiddenData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&highData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&hrData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&hrefData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&hreflangData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&hspaceData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&htmlData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&http_equivData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&iData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&idData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&iframeData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&imageData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&imgData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&incrementalData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&indeterminateData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&inputData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&insData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&isData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&ismapData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&itemidData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&itempropData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&itemrefData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&itemscopeData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&itemtypeData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&kbdData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&keygenData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&keytypeData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&kindData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&labelData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&langData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&languageData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&layerData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&leftmarginData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&legendData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&liData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&linkData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&listData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&listingData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&longdescData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&loopData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&loopendData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&loopstartData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&lowData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&lowsrcData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&mainData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&manifestData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&mapData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&marginheightData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&marginwidthData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&markData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&marqueeData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&maxData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&maxlengthData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&mayscriptData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&mediaData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&mediagroupData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&menuData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&metaData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&meterData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&methodData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&minData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&minlengthData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&multipleData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&mutedData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&nameData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&navData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&nobrData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&noembedData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&noframesData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&nohrefData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&nolayerData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&nonceData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&noresizeData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&noscriptData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&noshadeData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&novalidateData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&nowrapData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&objectData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&olData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&onabortData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&onanimationendData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&onanimationiterationData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&onanimationstartData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&onautocompleteData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&onautocompleteerrorData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&onbeforecopyData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&onbeforecutData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&onbeforeloadData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&onbeforepasteData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&onbeforeunloadData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&onblurData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&oncanplayData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&oncanplaythroughData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&onchangeData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&onclickData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&oncontextmenuData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&oncopyData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&oncutData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&ondblclickData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&ondragData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&ondragendData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&ondragenterData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&ondragleaveData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&ondragoverData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&ondragstartData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&ondropData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&ondurationchangeData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&onemptiedData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&onendedData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&onerrorData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&onfocusData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&onfocusinData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&onfocusoutData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&ongesturechangeData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&ongestureendData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&ongesturestartData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&onhashchangeData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&oninputData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&oninvalidData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&onkeydownData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&onkeypressData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&onkeyupData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&onloadData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&onloadeddataData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&onloadedmetadataData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&onloadstartData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&onmessageData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&onmousedownData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&onmouseenterData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&onmouseleaveData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&onmousemoveData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&onmouseoutData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&onmouseoverData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&onmouseupData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&onmousewheelData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&onofflineData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&ononlineData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&onorientationchangeData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&onpagehideData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&onpageshowData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&onpasteData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&onpauseData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&onplayData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&onplayingData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&onpopstateData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&onprogressData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&onratechangeData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&onresetData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&onresizeData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&onscrollData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&onsearchData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&onseekedData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&onseekingData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&onselectData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&onselectionchangeData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&onselectstartData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&onstalledData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&onstorageData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&onsubmitData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&onsuspendData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&ontimeupdateData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&ontouchcancelData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&ontouchendData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&ontouchforcechangeData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&ontouchmoveData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&ontouchstartData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&ontransitionendData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&onunloadData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&onvolumechangeData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&onwaitingData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&onwebkitanimationendData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&onwebkitanimationiterationData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&onwebkitanimationstartData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&onwebkitbeginfullscreenData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&onwebkitcurrentplaybacktargetiswirelesschangedData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&onwebkitendfullscreenData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&onwebkitfullscreenchangeData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&onwebkitfullscreenerrorData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&onwebkitkeyaddedData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&onwebkitkeyerrorData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&onwebkitkeymessageData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&onwebkitmouseforcechangedData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&onwebkitmouseforcedownData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&onwebkitmouseforceupData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&onwebkitmouseforcewillbeginData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&onwebkitneedkeyData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&onwebkitplaybacktargetavailabilitychangedData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&onwebkitpresentationmodechangedData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&onwebkitsourcecloseData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&onwebkitsourceendedData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&onwebkitsourceopenData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&onwebkitspeechchangeData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&onwebkittransitionendData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&onwebkitwillrevealbottomData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&onwebkitwillrevealleftData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&onwebkitwillrevealrightData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&onwebkitwillrevealtopData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&onwheelData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&openData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&optgroupData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&optimumData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&optionData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&outputData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&pData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&paramData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&patternData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&pictureData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&pingData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&placeholderData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&plaintextData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&playcountData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&playsinlineData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&pluginspageData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&pluginurlData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&posterData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&preData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&precisionData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&preloadData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&primaryData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&profileData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&progressData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&promptData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&pseudoData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&qData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&rbData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&readonlyData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&relData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&requiredData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&resultsData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&revData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&reversedData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&roleData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&rowsData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&rowspanData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&rpData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&rtData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&rtcData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&rubyData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&rulesData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&sData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&sampData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&sandboxData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&schemeData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&scopeData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&scopedData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&scriptData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&scrollamountData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&scrolldelayData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&scrollingData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&sectionData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&selectData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&selectedData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&shapeData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&sizeData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&sizesData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&slotData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&smallData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&sortableData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&sortdirectionData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&sourceData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&spanData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&spellcheckData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&srcData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&srcdocData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&srclangData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&srcsetData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&standbyData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&startData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&stepData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&strikeData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&strongData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&styleData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&subData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&subtitleData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&summaryData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&supData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&tabindexData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&tableData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&tableborderData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&targetData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&tbodyData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&tdData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&templateData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&textData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&textareaData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&tfootData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&thData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&theadData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&timeData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&titleData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&topData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&topmarginData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&trData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&trackData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&translateData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&truespeedData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&ttData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&typeData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&uData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&uiactionsData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&ulData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&usemapData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&valignData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&valueData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&valuetypeData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&varData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&versionData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&videoData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&vlinkData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&vspaceData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&wbrData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&webkit_playsinlineData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&webkitairplayData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&webkitallowfullscreenData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&webkitattachmentpathData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&webkitdropzoneData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&webkitgrammarData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&webkitimagemenuData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&webkitspeechData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&webkitwirelessvideoplaybackdisabledData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&widthData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&wrapData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&x_apple_data_detectorsData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&x_apple_data_detectors_resultData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&x_apple_data_detectors_typeData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&x_itunes_inherit_uri_query_componentData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&xmpData)->assertHashIsCorrect();
#endif // NDEBUG


    struct TagsTableEntry {
        void* targetAddress;
        StringImpl& name;
    };

    static const TagsTableEntry tagsTable[] = {
        { (void*)&aTag, *reinterpret_cast<StringImpl*>(&aData) },
        { (void*)&abbrTag, *reinterpret_cast<StringImpl*>(&abbrData) },
        { (void*)&acronymTag, *reinterpret_cast<StringImpl*>(&acronymData) },
        { (void*)&addressTag, *reinterpret_cast<StringImpl*>(&addressData) },
        { (void*)&appletTag, *reinterpret_cast<StringImpl*>(&appletData) },
        { (void*)&areaTag, *reinterpret_cast<StringImpl*>(&areaData) },
        { (void*)&articleTag, *reinterpret_cast<StringImpl*>(&articleData) },
        { (void*)&asideTag, *reinterpret_cast<StringImpl*>(&asideData) },
        { (void*)&attachmentTag, *reinterpret_cast<StringImpl*>(&attachmentData) },
        { (void*)&audioTag, *reinterpret_cast<StringImpl*>(&audioData) },
        { (void*)&bTag, *reinterpret_cast<StringImpl*>(&bData) },
        { (void*)&baseTag, *reinterpret_cast<StringImpl*>(&baseData) },
        { (void*)&basefontTag, *reinterpret_cast<StringImpl*>(&basefontData) },
        { (void*)&bdiTag, *reinterpret_cast<StringImpl*>(&bdiData) },
        { (void*)&bdoTag, *reinterpret_cast<StringImpl*>(&bdoData) },
        { (void*)&bgsoundTag, *reinterpret_cast<StringImpl*>(&bgsoundData) },
        { (void*)&bigTag, *reinterpret_cast<StringImpl*>(&bigData) },
        { (void*)&blockquoteTag, *reinterpret_cast<StringImpl*>(&blockquoteData) },
        { (void*)&bodyTag, *reinterpret_cast<StringImpl*>(&bodyData) },
        { (void*)&brTag, *reinterpret_cast<StringImpl*>(&brData) },
        { (void*)&buttonTag, *reinterpret_cast<StringImpl*>(&buttonData) },
        { (void*)&canvasTag, *reinterpret_cast<StringImpl*>(&canvasData) },
        { (void*)&captionTag, *reinterpret_cast<StringImpl*>(&captionData) },
        { (void*)&centerTag, *reinterpret_cast<StringImpl*>(&centerData) },
        { (void*)&citeTag, *reinterpret_cast<StringImpl*>(&citeData) },
        { (void*)&codeTag, *reinterpret_cast<StringImpl*>(&codeData) },
        { (void*)&colTag, *reinterpret_cast<StringImpl*>(&colData) },
        { (void*)&colgroupTag, *reinterpret_cast<StringImpl*>(&colgroupData) },
        { (void*)&commandTag, *reinterpret_cast<StringImpl*>(&commandData) },
        { (void*)&dataTag, *reinterpret_cast<StringImpl*>(&dataData) },
        { (void*)&datalistTag, *reinterpret_cast<StringImpl*>(&datalistData) },
        { (void*)&ddTag, *reinterpret_cast<StringImpl*>(&ddData) },
        { (void*)&delTag, *reinterpret_cast<StringImpl*>(&delData) },
        { (void*)&detailsTag, *reinterpret_cast<StringImpl*>(&detailsData) },
        { (void*)&dfnTag, *reinterpret_cast<StringImpl*>(&dfnData) },
        { (void*)&dirTag, *reinterpret_cast<StringImpl*>(&dirData) },
        { (void*)&divTag, *reinterpret_cast<StringImpl*>(&divData) },
        { (void*)&dlTag, *reinterpret_cast<StringImpl*>(&dlData) },
        { (void*)&dtTag, *reinterpret_cast<StringImpl*>(&dtData) },
        { (void*)&emTag, *reinterpret_cast<StringImpl*>(&emData) },
        { (void*)&embedTag, *reinterpret_cast<StringImpl*>(&embedData) },
        { (void*)&fieldsetTag, *reinterpret_cast<StringImpl*>(&fieldsetData) },
        { (void*)&figcaptionTag, *reinterpret_cast<StringImpl*>(&figcaptionData) },
        { (void*)&figureTag, *reinterpret_cast<StringImpl*>(&figureData) },
        { (void*)&fontTag, *reinterpret_cast<StringImpl*>(&fontData) },
        { (void*)&footerTag, *reinterpret_cast<StringImpl*>(&footerData) },
        { (void*)&formTag, *reinterpret_cast<StringImpl*>(&formData) },
        { (void*)&frameTag, *reinterpret_cast<StringImpl*>(&frameData) },
        { (void*)&framesetTag, *reinterpret_cast<StringImpl*>(&framesetData) },
        { (void*)&h1Tag, *reinterpret_cast<StringImpl*>(&h1Data) },
        { (void*)&h2Tag, *reinterpret_cast<StringImpl*>(&h2Data) },
        { (void*)&h3Tag, *reinterpret_cast<StringImpl*>(&h3Data) },
        { (void*)&h4Tag, *reinterpret_cast<StringImpl*>(&h4Data) },
        { (void*)&h5Tag, *reinterpret_cast<StringImpl*>(&h5Data) },
        { (void*)&h6Tag, *reinterpret_cast<StringImpl*>(&h6Data) },
        { (void*)&headTag, *reinterpret_cast<StringImpl*>(&headData) },
        { (void*)&headerTag, *reinterpret_cast<StringImpl*>(&headerData) },
        { (void*)&hgroupTag, *reinterpret_cast<StringImpl*>(&hgroupData) },
        { (void*)&hrTag, *reinterpret_cast<StringImpl*>(&hrData) },
        { (void*)&htmlTag, *reinterpret_cast<StringImpl*>(&htmlData) },
        { (void*)&iTag, *reinterpret_cast<StringImpl*>(&iData) },
        { (void*)&iframeTag, *reinterpret_cast<StringImpl*>(&iframeData) },
        { (void*)&imageTag, *reinterpret_cast<StringImpl*>(&imageData) },
        { (void*)&imgTag, *reinterpret_cast<StringImpl*>(&imgData) },
        { (void*)&inputTag, *reinterpret_cast<StringImpl*>(&inputData) },
        { (void*)&insTag, *reinterpret_cast<StringImpl*>(&insData) },
        { (void*)&kbdTag, *reinterpret_cast<StringImpl*>(&kbdData) },
        { (void*)&keygenTag, *reinterpret_cast<StringImpl*>(&keygenData) },
        { (void*)&labelTag, *reinterpret_cast<StringImpl*>(&labelData) },
        { (void*)&layerTag, *reinterpret_cast<StringImpl*>(&layerData) },
        { (void*)&legendTag, *reinterpret_cast<StringImpl*>(&legendData) },
        { (void*)&liTag, *reinterpret_cast<StringImpl*>(&liData) },
        { (void*)&linkTag, *reinterpret_cast<StringImpl*>(&linkData) },
        { (void*)&listingTag, *reinterpret_cast<StringImpl*>(&listingData) },
        { (void*)&mainTag, *reinterpret_cast<StringImpl*>(&mainData) },
        { (void*)&mapTag, *reinterpret_cast<StringImpl*>(&mapData) },
        { (void*)&markTag, *reinterpret_cast<StringImpl*>(&markData) },
        { (void*)&marqueeTag, *reinterpret_cast<StringImpl*>(&marqueeData) },
        { (void*)&menuTag, *reinterpret_cast<StringImpl*>(&menuData) },
        { (void*)&metaTag, *reinterpret_cast<StringImpl*>(&metaData) },
        { (void*)&meterTag, *reinterpret_cast<StringImpl*>(&meterData) },
        { (void*)&navTag, *reinterpret_cast<StringImpl*>(&navData) },
        { (void*)&nobrTag, *reinterpret_cast<StringImpl*>(&nobrData) },
        { (void*)&noembedTag, *reinterpret_cast<StringImpl*>(&noembedData) },
        { (void*)&noframesTag, *reinterpret_cast<StringImpl*>(&noframesData) },
        { (void*)&nolayerTag, *reinterpret_cast<StringImpl*>(&nolayerData) },
        { (void*)&noscriptTag, *reinterpret_cast<StringImpl*>(&noscriptData) },
        { (void*)&objectTag, *reinterpret_cast<StringImpl*>(&objectData) },
        { (void*)&olTag, *reinterpret_cast<StringImpl*>(&olData) },
        { (void*)&optgroupTag, *reinterpret_cast<StringImpl*>(&optgroupData) },
        { (void*)&optionTag, *reinterpret_cast<StringImpl*>(&optionData) },
        { (void*)&outputTag, *reinterpret_cast<StringImpl*>(&outputData) },
        { (void*)&pTag, *reinterpret_cast<StringImpl*>(&pData) },
        { (void*)&paramTag, *reinterpret_cast<StringImpl*>(&paramData) },
        { (void*)&pictureTag, *reinterpret_cast<StringImpl*>(&pictureData) },
        { (void*)&plaintextTag, *reinterpret_cast<StringImpl*>(&plaintextData) },
        { (void*)&preTag, *reinterpret_cast<StringImpl*>(&preData) },
        { (void*)&progressTag, *reinterpret_cast<StringImpl*>(&progressData) },
        { (void*)&qTag, *reinterpret_cast<StringImpl*>(&qData) },
        { (void*)&rbTag, *reinterpret_cast<StringImpl*>(&rbData) },
        { (void*)&rpTag, *reinterpret_cast<StringImpl*>(&rpData) },
        { (void*)&rtTag, *reinterpret_cast<StringImpl*>(&rtData) },
        { (void*)&rtcTag, *reinterpret_cast<StringImpl*>(&rtcData) },
        { (void*)&rubyTag, *reinterpret_cast<StringImpl*>(&rubyData) },
        { (void*)&sTag, *reinterpret_cast<StringImpl*>(&sData) },
        { (void*)&sampTag, *reinterpret_cast<StringImpl*>(&sampData) },
        { (void*)&scriptTag, *reinterpret_cast<StringImpl*>(&scriptData) },
        { (void*)&sectionTag, *reinterpret_cast<StringImpl*>(&sectionData) },
        { (void*)&selectTag, *reinterpret_cast<StringImpl*>(&selectData) },
        { (void*)&slotTag, *reinterpret_cast<StringImpl*>(&slotData) },
        { (void*)&smallTag, *reinterpret_cast<StringImpl*>(&smallData) },
        { (void*)&sourceTag, *reinterpret_cast<StringImpl*>(&sourceData) },
        { (void*)&spanTag, *reinterpret_cast<StringImpl*>(&spanData) },
        { (void*)&strikeTag, *reinterpret_cast<StringImpl*>(&strikeData) },
        { (void*)&strongTag, *reinterpret_cast<StringImpl*>(&strongData) },
        { (void*)&styleTag, *reinterpret_cast<StringImpl*>(&styleData) },
        { (void*)&subTag, *reinterpret_cast<StringImpl*>(&subData) },
        { (void*)&summaryTag, *reinterpret_cast<StringImpl*>(&summaryData) },
        { (void*)&supTag, *reinterpret_cast<StringImpl*>(&supData) },
        { (void*)&tableTag, *reinterpret_cast<StringImpl*>(&tableData) },
        { (void*)&tbodyTag, *reinterpret_cast<StringImpl*>(&tbodyData) },
        { (void*)&tdTag, *reinterpret_cast<StringImpl*>(&tdData) },
        { (void*)&templateTag, *reinterpret_cast<StringImpl*>(&templateData) },
        { (void*)&textareaTag, *reinterpret_cast<StringImpl*>(&textareaData) },
        { (void*)&tfootTag, *reinterpret_cast<StringImpl*>(&tfootData) },
        { (void*)&thTag, *reinterpret_cast<StringImpl*>(&thData) },
        { (void*)&theadTag, *reinterpret_cast<StringImpl*>(&theadData) },
        { (void*)&timeTag, *reinterpret_cast<StringImpl*>(&timeData) },
        { (void*)&titleTag, *reinterpret_cast<StringImpl*>(&titleData) },
        { (void*)&trTag, *reinterpret_cast<StringImpl*>(&trData) },
        { (void*)&trackTag, *reinterpret_cast<StringImpl*>(&trackData) },
        { (void*)&ttTag, *reinterpret_cast<StringImpl*>(&ttData) },
        { (void*)&uTag, *reinterpret_cast<StringImpl*>(&uData) },
        { (void*)&ulTag, *reinterpret_cast<StringImpl*>(&ulData) },
        { (void*)&varTag, *reinterpret_cast<StringImpl*>(&varData) },
        { (void*)&videoTag, *reinterpret_cast<StringImpl*>(&videoData) },
        { (void*)&wbrTag, *reinterpret_cast<StringImpl*>(&wbrData) },
        { (void*)&xmpTag, *reinterpret_cast<StringImpl*>(&xmpData) },
    };

    for (unsigned i = 0; i < WTF_ARRAY_LENGTH(tagsTable); ++i)
        createQualifiedName(tagsTable[i].targetAddress, &tagsTable[i].name, xhtmlNS);

    struct AttributesTableEntry {
        void* targetAddress;
        StringImpl& name;
    };

    static const AttributesTableEntry attributesTable[] = {
        { (void*)&abbrAttr, *reinterpret_cast<StringImpl*>(&abbrData) },
        { (void*)&acceptAttr, *reinterpret_cast<StringImpl*>(&acceptData) },
        { (void*)&accept_charsetAttr, *reinterpret_cast<StringImpl*>(&accept_charsetData) },
        { (void*)&accesskeyAttr, *reinterpret_cast<StringImpl*>(&accesskeyData) },
        { (void*)&actionAttr, *reinterpret_cast<StringImpl*>(&actionData) },
        { (void*)&alignAttr, *reinterpret_cast<StringImpl*>(&alignData) },
        { (void*)&alinkAttr, *reinterpret_cast<StringImpl*>(&alinkData) },
        { (void*)&allowfullscreenAttr, *reinterpret_cast<StringImpl*>(&allowfullscreenData) },
        { (void*)&altAttr, *reinterpret_cast<StringImpl*>(&altData) },
        { (void*)&archiveAttr, *reinterpret_cast<StringImpl*>(&archiveData) },
        { (void*)&aria_activedescendantAttr, *reinterpret_cast<StringImpl*>(&aria_activedescendantData) },
        { (void*)&aria_atomicAttr, *reinterpret_cast<StringImpl*>(&aria_atomicData) },
        { (void*)&aria_busyAttr, *reinterpret_cast<StringImpl*>(&aria_busyData) },
        { (void*)&aria_checkedAttr, *reinterpret_cast<StringImpl*>(&aria_checkedData) },
        { (void*)&aria_colcountAttr, *reinterpret_cast<StringImpl*>(&aria_colcountData) },
        { (void*)&aria_colindexAttr, *reinterpret_cast<StringImpl*>(&aria_colindexData) },
        { (void*)&aria_colspanAttr, *reinterpret_cast<StringImpl*>(&aria_colspanData) },
        { (void*)&aria_controlsAttr, *reinterpret_cast<StringImpl*>(&aria_controlsData) },
        { (void*)&aria_currentAttr, *reinterpret_cast<StringImpl*>(&aria_currentData) },
        { (void*)&aria_describedbyAttr, *reinterpret_cast<StringImpl*>(&aria_describedbyData) },
        { (void*)&aria_disabledAttr, *reinterpret_cast<StringImpl*>(&aria_disabledData) },
        { (void*)&aria_dropeffectAttr, *reinterpret_cast<StringImpl*>(&aria_dropeffectData) },
        { (void*)&aria_expandedAttr, *reinterpret_cast<StringImpl*>(&aria_expandedData) },
        { (void*)&aria_flowtoAttr, *reinterpret_cast<StringImpl*>(&aria_flowtoData) },
        { (void*)&aria_grabbedAttr, *reinterpret_cast<StringImpl*>(&aria_grabbedData) },
        { (void*)&aria_haspopupAttr, *reinterpret_cast<StringImpl*>(&aria_haspopupData) },
        { (void*)&aria_helpAttr, *reinterpret_cast<StringImpl*>(&aria_helpData) },
        { (void*)&aria_hiddenAttr, *reinterpret_cast<StringImpl*>(&aria_hiddenData) },
        { (void*)&aria_invalidAttr, *reinterpret_cast<StringImpl*>(&aria_invalidData) },
        { (void*)&aria_labelAttr, *reinterpret_cast<StringImpl*>(&aria_labelData) },
        { (void*)&aria_labeledbyAttr, *reinterpret_cast<StringImpl*>(&aria_labeledbyData) },
        { (void*)&aria_labelledbyAttr, *reinterpret_cast<StringImpl*>(&aria_labelledbyData) },
        { (void*)&aria_levelAttr, *reinterpret_cast<StringImpl*>(&aria_levelData) },
        { (void*)&aria_liveAttr, *reinterpret_cast<StringImpl*>(&aria_liveData) },
        { (void*)&aria_modalAttr, *reinterpret_cast<StringImpl*>(&aria_modalData) },
        { (void*)&aria_multilineAttr, *reinterpret_cast<StringImpl*>(&aria_multilineData) },
        { (void*)&aria_multiselectableAttr, *reinterpret_cast<StringImpl*>(&aria_multiselectableData) },
        { (void*)&aria_orientationAttr, *reinterpret_cast<StringImpl*>(&aria_orientationData) },
        { (void*)&aria_ownsAttr, *reinterpret_cast<StringImpl*>(&aria_ownsData) },
        { (void*)&aria_placeholderAttr, *reinterpret_cast<StringImpl*>(&aria_placeholderData) },
        { (void*)&aria_posinsetAttr, *reinterpret_cast<StringImpl*>(&aria_posinsetData) },
        { (void*)&aria_pressedAttr, *reinterpret_cast<StringImpl*>(&aria_pressedData) },
        { (void*)&aria_readonlyAttr, *reinterpret_cast<StringImpl*>(&aria_readonlyData) },
        { (void*)&aria_relevantAttr, *reinterpret_cast<StringImpl*>(&aria_relevantData) },
        { (void*)&aria_requiredAttr, *reinterpret_cast<StringImpl*>(&aria_requiredData) },
        { (void*)&aria_roledescriptionAttr, *reinterpret_cast<StringImpl*>(&aria_roledescriptionData) },
        { (void*)&aria_rowcountAttr, *reinterpret_cast<StringImpl*>(&aria_rowcountData) },
        { (void*)&aria_rowindexAttr, *reinterpret_cast<StringImpl*>(&aria_rowindexData) },
        { (void*)&aria_rowspanAttr, *reinterpret_cast<StringImpl*>(&aria_rowspanData) },
        { (void*)&aria_selectedAttr, *reinterpret_cast<StringImpl*>(&aria_selectedData) },
        { (void*)&aria_setsizeAttr, *reinterpret_cast<StringImpl*>(&aria_setsizeData) },
        { (void*)&aria_sortAttr, *reinterpret_cast<StringImpl*>(&aria_sortData) },
        { (void*)&aria_valuemaxAttr, *reinterpret_cast<StringImpl*>(&aria_valuemaxData) },
        { (void*)&aria_valueminAttr, *reinterpret_cast<StringImpl*>(&aria_valueminData) },
        { (void*)&aria_valuenowAttr, *reinterpret_cast<StringImpl*>(&aria_valuenowData) },
        { (void*)&aria_valuetextAttr, *reinterpret_cast<StringImpl*>(&aria_valuetextData) },
        { (void*)&asAttr, *reinterpret_cast<StringImpl*>(&asData) },
        { (void*)&asyncAttr, *reinterpret_cast<StringImpl*>(&asyncData) },
        { (void*)&autocapitalizeAttr, *reinterpret_cast<StringImpl*>(&autocapitalizeData) },
        { (void*)&autocompleteAttr, *reinterpret_cast<StringImpl*>(&autocompleteData) },
        { (void*)&autocorrectAttr, *reinterpret_cast<StringImpl*>(&autocorrectData) },
        { (void*)&autofocusAttr, *reinterpret_cast<StringImpl*>(&autofocusData) },
        { (void*)&autoplayAttr, *reinterpret_cast<StringImpl*>(&autoplayData) },
        { (void*)&autosaveAttr, *reinterpret_cast<StringImpl*>(&autosaveData) },
        { (void*)&axisAttr, *reinterpret_cast<StringImpl*>(&axisData) },
        { (void*)&backgroundAttr, *reinterpret_cast<StringImpl*>(&backgroundData) },
        { (void*)&behaviorAttr, *reinterpret_cast<StringImpl*>(&behaviorData) },
        { (void*)&bgcolorAttr, *reinterpret_cast<StringImpl*>(&bgcolorData) },
        { (void*)&bgpropertiesAttr, *reinterpret_cast<StringImpl*>(&bgpropertiesData) },
        { (void*)&borderAttr, *reinterpret_cast<StringImpl*>(&borderData) },
        { (void*)&bordercolorAttr, *reinterpret_cast<StringImpl*>(&bordercolorData) },
        { (void*)&captureAttr, *reinterpret_cast<StringImpl*>(&captureData) },
        { (void*)&cellborderAttr, *reinterpret_cast<StringImpl*>(&cellborderData) },
        { (void*)&cellpaddingAttr, *reinterpret_cast<StringImpl*>(&cellpaddingData) },
        { (void*)&cellspacingAttr, *reinterpret_cast<StringImpl*>(&cellspacingData) },
        { (void*)&challengeAttr, *reinterpret_cast<StringImpl*>(&challengeData) },
        { (void*)&charAttr, *reinterpret_cast<StringImpl*>(&charData) },
        { (void*)&charoffAttr, *reinterpret_cast<StringImpl*>(&charoffData) },
        { (void*)&charsetAttr, *reinterpret_cast<StringImpl*>(&charsetData) },
        { (void*)&checkedAttr, *reinterpret_cast<StringImpl*>(&checkedData) },
        { (void*)&citeAttr, *reinterpret_cast<StringImpl*>(&citeData) },
        { (void*)&classAttr, *reinterpret_cast<StringImpl*>(&classData) },
        { (void*)&classidAttr, *reinterpret_cast<StringImpl*>(&classidData) },
        { (void*)&clearAttr, *reinterpret_cast<StringImpl*>(&clearData) },
        { (void*)&codeAttr, *reinterpret_cast<StringImpl*>(&codeData) },
        { (void*)&codebaseAttr, *reinterpret_cast<StringImpl*>(&codebaseData) },
        { (void*)&codetypeAttr, *reinterpret_cast<StringImpl*>(&codetypeData) },
        { (void*)&colorAttr, *reinterpret_cast<StringImpl*>(&colorData) },
        { (void*)&colsAttr, *reinterpret_cast<StringImpl*>(&colsData) },
        { (void*)&colspanAttr, *reinterpret_cast<StringImpl*>(&colspanData) },
        { (void*)&compactAttr, *reinterpret_cast<StringImpl*>(&compactData) },
        { (void*)&compositeAttr, *reinterpret_cast<StringImpl*>(&compositeData) },
        { (void*)&contentAttr, *reinterpret_cast<StringImpl*>(&contentData) },
        { (void*)&contenteditableAttr, *reinterpret_cast<StringImpl*>(&contenteditableData) },
        { (void*)&controlsAttr, *reinterpret_cast<StringImpl*>(&controlsData) },
        { (void*)&coordsAttr, *reinterpret_cast<StringImpl*>(&coordsData) },
        { (void*)&crossoriginAttr, *reinterpret_cast<StringImpl*>(&crossoriginData) },
        { (void*)&dataAttr, *reinterpret_cast<StringImpl*>(&dataData) },
        { (void*)&datetimeAttr, *reinterpret_cast<StringImpl*>(&datetimeData) },
        { (void*)&declareAttr, *reinterpret_cast<StringImpl*>(&declareData) },
        { (void*)&defaultAttr, *reinterpret_cast<StringImpl*>(&defaultData) },
        { (void*)&deferAttr, *reinterpret_cast<StringImpl*>(&deferData) },
        { (void*)&dirAttr, *reinterpret_cast<StringImpl*>(&dirData) },
        { (void*)&directionAttr, *reinterpret_cast<StringImpl*>(&directionData) },
        { (void*)&dirnameAttr, *reinterpret_cast<StringImpl*>(&dirnameData) },
        { (void*)&disabledAttr, *reinterpret_cast<StringImpl*>(&disabledData) },
        { (void*)&dispositionAttr, *reinterpret_cast<StringImpl*>(&dispositionData) },
        { (void*)&downloadAttr, *reinterpret_cast<StringImpl*>(&downloadData) },
        { (void*)&draggableAttr, *reinterpret_cast<StringImpl*>(&draggableData) },
        { (void*)&enctypeAttr, *reinterpret_cast<StringImpl*>(&enctypeData) },
        { (void*)&endAttr, *reinterpret_cast<StringImpl*>(&endData) },
        { (void*)&eventAttr, *reinterpret_cast<StringImpl*>(&eventData) },
        { (void*)&expandedAttr, *reinterpret_cast<StringImpl*>(&expandedData) },
        { (void*)&faceAttr, *reinterpret_cast<StringImpl*>(&faceData) },
        { (void*)&focusedAttr, *reinterpret_cast<StringImpl*>(&focusedData) },
        { (void*)&forAttr, *reinterpret_cast<StringImpl*>(&forData) },
        { (void*)&formAttr, *reinterpret_cast<StringImpl*>(&formData) },
        { (void*)&formactionAttr, *reinterpret_cast<StringImpl*>(&formactionData) },
        { (void*)&formenctypeAttr, *reinterpret_cast<StringImpl*>(&formenctypeData) },
        { (void*)&formmethodAttr, *reinterpret_cast<StringImpl*>(&formmethodData) },
        { (void*)&formnovalidateAttr, *reinterpret_cast<StringImpl*>(&formnovalidateData) },
        { (void*)&formtargetAttr, *reinterpret_cast<StringImpl*>(&formtargetData) },
        { (void*)&frameAttr, *reinterpret_cast<StringImpl*>(&frameData) },
        { (void*)&frameborderAttr, *reinterpret_cast<StringImpl*>(&frameborderData) },
        { (void*)&headersAttr, *reinterpret_cast<StringImpl*>(&headersData) },
        { (void*)&heightAttr, *reinterpret_cast<StringImpl*>(&heightData) },
        { (void*)&hiddenAttr, *reinterpret_cast<StringImpl*>(&hiddenData) },
        { (void*)&highAttr, *reinterpret_cast<StringImpl*>(&highData) },
        { (void*)&hrefAttr, *reinterpret_cast<StringImpl*>(&hrefData) },
        { (void*)&hreflangAttr, *reinterpret_cast<StringImpl*>(&hreflangData) },
        { (void*)&hspaceAttr, *reinterpret_cast<StringImpl*>(&hspaceData) },
        { (void*)&http_equivAttr, *reinterpret_cast<StringImpl*>(&http_equivData) },
        { (void*)&idAttr, *reinterpret_cast<StringImpl*>(&idData) },
        { (void*)&incrementalAttr, *reinterpret_cast<StringImpl*>(&incrementalData) },
        { (void*)&indeterminateAttr, *reinterpret_cast<StringImpl*>(&indeterminateData) },
        { (void*)&isAttr, *reinterpret_cast<StringImpl*>(&isData) },
        { (void*)&ismapAttr, *reinterpret_cast<StringImpl*>(&ismapData) },
        { (void*)&itemidAttr, *reinterpret_cast<StringImpl*>(&itemidData) },
        { (void*)&itempropAttr, *reinterpret_cast<StringImpl*>(&itempropData) },
        { (void*)&itemrefAttr, *reinterpret_cast<StringImpl*>(&itemrefData) },
        { (void*)&itemscopeAttr, *reinterpret_cast<StringImpl*>(&itemscopeData) },
        { (void*)&itemtypeAttr, *reinterpret_cast<StringImpl*>(&itemtypeData) },
        { (void*)&keytypeAttr, *reinterpret_cast<StringImpl*>(&keytypeData) },
        { (void*)&kindAttr, *reinterpret_cast<StringImpl*>(&kindData) },
        { (void*)&labelAttr, *reinterpret_cast<StringImpl*>(&labelData) },
        { (void*)&langAttr, *reinterpret_cast<StringImpl*>(&langData) },
        { (void*)&languageAttr, *reinterpret_cast<StringImpl*>(&languageData) },
        { (void*)&leftmarginAttr, *reinterpret_cast<StringImpl*>(&leftmarginData) },
        { (void*)&linkAttr, *reinterpret_cast<StringImpl*>(&linkData) },
        { (void*)&listAttr, *reinterpret_cast<StringImpl*>(&listData) },
        { (void*)&longdescAttr, *reinterpret_cast<StringImpl*>(&longdescData) },
        { (void*)&loopAttr, *reinterpret_cast<StringImpl*>(&loopData) },
        { (void*)&loopendAttr, *reinterpret_cast<StringImpl*>(&loopendData) },
        { (void*)&loopstartAttr, *reinterpret_cast<StringImpl*>(&loopstartData) },
        { (void*)&lowAttr, *reinterpret_cast<StringImpl*>(&lowData) },
        { (void*)&lowsrcAttr, *reinterpret_cast<StringImpl*>(&lowsrcData) },
        { (void*)&manifestAttr, *reinterpret_cast<StringImpl*>(&manifestData) },
        { (void*)&marginheightAttr, *reinterpret_cast<StringImpl*>(&marginheightData) },
        { (void*)&marginwidthAttr, *reinterpret_cast<StringImpl*>(&marginwidthData) },
        { (void*)&maxAttr, *reinterpret_cast<StringImpl*>(&maxData) },
        { (void*)&maxlengthAttr, *reinterpret_cast<StringImpl*>(&maxlengthData) },
        { (void*)&mayscriptAttr, *reinterpret_cast<StringImpl*>(&mayscriptData) },
        { (void*)&mediaAttr, *reinterpret_cast<StringImpl*>(&mediaData) },
        { (void*)&mediagroupAttr, *reinterpret_cast<StringImpl*>(&mediagroupData) },
        { (void*)&methodAttr, *reinterpret_cast<StringImpl*>(&methodData) },
        { (void*)&minAttr, *reinterpret_cast<StringImpl*>(&minData) },
        { (void*)&minlengthAttr, *reinterpret_cast<StringImpl*>(&minlengthData) },
        { (void*)&multipleAttr, *reinterpret_cast<StringImpl*>(&multipleData) },
        { (void*)&mutedAttr, *reinterpret_cast<StringImpl*>(&mutedData) },
        { (void*)&nameAttr, *reinterpret_cast<StringImpl*>(&nameData) },
        { (void*)&nohrefAttr, *reinterpret_cast<StringImpl*>(&nohrefData) },
        { (void*)&nonceAttr, *reinterpret_cast<StringImpl*>(&nonceData) },
        { (void*)&noresizeAttr, *reinterpret_cast<StringImpl*>(&noresizeData) },
        { (void*)&noshadeAttr, *reinterpret_cast<StringImpl*>(&noshadeData) },
        { (void*)&novalidateAttr, *reinterpret_cast<StringImpl*>(&novalidateData) },
        { (void*)&nowrapAttr, *reinterpret_cast<StringImpl*>(&nowrapData) },
        { (void*)&objectAttr, *reinterpret_cast<StringImpl*>(&objectData) },
        { (void*)&onabortAttr, *reinterpret_cast<StringImpl*>(&onabortData) },
        { (void*)&onanimationendAttr, *reinterpret_cast<StringImpl*>(&onanimationendData) },
        { (void*)&onanimationiterationAttr, *reinterpret_cast<StringImpl*>(&onanimationiterationData) },
        { (void*)&onanimationstartAttr, *reinterpret_cast<StringImpl*>(&onanimationstartData) },
        { (void*)&onautocompleteAttr, *reinterpret_cast<StringImpl*>(&onautocompleteData) },
        { (void*)&onautocompleteerrorAttr, *reinterpret_cast<StringImpl*>(&onautocompleteerrorData) },
        { (void*)&onbeforecopyAttr, *reinterpret_cast<StringImpl*>(&onbeforecopyData) },
        { (void*)&onbeforecutAttr, *reinterpret_cast<StringImpl*>(&onbeforecutData) },
        { (void*)&onbeforeloadAttr, *reinterpret_cast<StringImpl*>(&onbeforeloadData) },
        { (void*)&onbeforepasteAttr, *reinterpret_cast<StringImpl*>(&onbeforepasteData) },
        { (void*)&onbeforeunloadAttr, *reinterpret_cast<StringImpl*>(&onbeforeunloadData) },
        { (void*)&onblurAttr, *reinterpret_cast<StringImpl*>(&onblurData) },
        { (void*)&oncanplayAttr, *reinterpret_cast<StringImpl*>(&oncanplayData) },
        { (void*)&oncanplaythroughAttr, *reinterpret_cast<StringImpl*>(&oncanplaythroughData) },
        { (void*)&onchangeAttr, *reinterpret_cast<StringImpl*>(&onchangeData) },
        { (void*)&onclickAttr, *reinterpret_cast<StringImpl*>(&onclickData) },
        { (void*)&oncontextmenuAttr, *reinterpret_cast<StringImpl*>(&oncontextmenuData) },
        { (void*)&oncopyAttr, *reinterpret_cast<StringImpl*>(&oncopyData) },
        { (void*)&oncutAttr, *reinterpret_cast<StringImpl*>(&oncutData) },
        { (void*)&ondblclickAttr, *reinterpret_cast<StringImpl*>(&ondblclickData) },
        { (void*)&ondragAttr, *reinterpret_cast<StringImpl*>(&ondragData) },
        { (void*)&ondragendAttr, *reinterpret_cast<StringImpl*>(&ondragendData) },
        { (void*)&ondragenterAttr, *reinterpret_cast<StringImpl*>(&ondragenterData) },
        { (void*)&ondragleaveAttr, *reinterpret_cast<StringImpl*>(&ondragleaveData) },
        { (void*)&ondragoverAttr, *reinterpret_cast<StringImpl*>(&ondragoverData) },
        { (void*)&ondragstartAttr, *reinterpret_cast<StringImpl*>(&ondragstartData) },
        { (void*)&ondropAttr, *reinterpret_cast<StringImpl*>(&ondropData) },
        { (void*)&ondurationchangeAttr, *reinterpret_cast<StringImpl*>(&ondurationchangeData) },
        { (void*)&onemptiedAttr, *reinterpret_cast<StringImpl*>(&onemptiedData) },
        { (void*)&onendedAttr, *reinterpret_cast<StringImpl*>(&onendedData) },
        { (void*)&onerrorAttr, *reinterpret_cast<StringImpl*>(&onerrorData) },
        { (void*)&onfocusAttr, *reinterpret_cast<StringImpl*>(&onfocusData) },
        { (void*)&onfocusinAttr, *reinterpret_cast<StringImpl*>(&onfocusinData) },
        { (void*)&onfocusoutAttr, *reinterpret_cast<StringImpl*>(&onfocusoutData) },
        { (void*)&ongesturechangeAttr, *reinterpret_cast<StringImpl*>(&ongesturechangeData) },
        { (void*)&ongestureendAttr, *reinterpret_cast<StringImpl*>(&ongestureendData) },
        { (void*)&ongesturestartAttr, *reinterpret_cast<StringImpl*>(&ongesturestartData) },
        { (void*)&onhashchangeAttr, *reinterpret_cast<StringImpl*>(&onhashchangeData) },
        { (void*)&oninputAttr, *reinterpret_cast<StringImpl*>(&oninputData) },
        { (void*)&oninvalidAttr, *reinterpret_cast<StringImpl*>(&oninvalidData) },
        { (void*)&onkeydownAttr, *reinterpret_cast<StringImpl*>(&onkeydownData) },
        { (void*)&onkeypressAttr, *reinterpret_cast<StringImpl*>(&onkeypressData) },
        { (void*)&onkeyupAttr, *reinterpret_cast<StringImpl*>(&onkeyupData) },
        { (void*)&onloadAttr, *reinterpret_cast<StringImpl*>(&onloadData) },
        { (void*)&onloadeddataAttr, *reinterpret_cast<StringImpl*>(&onloadeddataData) },
        { (void*)&onloadedmetadataAttr, *reinterpret_cast<StringImpl*>(&onloadedmetadataData) },
        { (void*)&onloadstartAttr, *reinterpret_cast<StringImpl*>(&onloadstartData) },
        { (void*)&onmessageAttr, *reinterpret_cast<StringImpl*>(&onmessageData) },
        { (void*)&onmousedownAttr, *reinterpret_cast<StringImpl*>(&onmousedownData) },
        { (void*)&onmouseenterAttr, *reinterpret_cast<StringImpl*>(&onmouseenterData) },
        { (void*)&onmouseleaveAttr, *reinterpret_cast<StringImpl*>(&onmouseleaveData) },
        { (void*)&onmousemoveAttr, *reinterpret_cast<StringImpl*>(&onmousemoveData) },
        { (void*)&onmouseoutAttr, *reinterpret_cast<StringImpl*>(&onmouseoutData) },
        { (void*)&onmouseoverAttr, *reinterpret_cast<StringImpl*>(&onmouseoverData) },
        { (void*)&onmouseupAttr, *reinterpret_cast<StringImpl*>(&onmouseupData) },
        { (void*)&onmousewheelAttr, *reinterpret_cast<StringImpl*>(&onmousewheelData) },
        { (void*)&onofflineAttr, *reinterpret_cast<StringImpl*>(&onofflineData) },
        { (void*)&ononlineAttr, *reinterpret_cast<StringImpl*>(&ononlineData) },
        { (void*)&onorientationchangeAttr, *reinterpret_cast<StringImpl*>(&onorientationchangeData) },
        { (void*)&onpagehideAttr, *reinterpret_cast<StringImpl*>(&onpagehideData) },
        { (void*)&onpageshowAttr, *reinterpret_cast<StringImpl*>(&onpageshowData) },
        { (void*)&onpasteAttr, *reinterpret_cast<StringImpl*>(&onpasteData) },
        { (void*)&onpauseAttr, *reinterpret_cast<StringImpl*>(&onpauseData) },
        { (void*)&onplayAttr, *reinterpret_cast<StringImpl*>(&onplayData) },
        { (void*)&onplayingAttr, *reinterpret_cast<StringImpl*>(&onplayingData) },
        { (void*)&onpopstateAttr, *reinterpret_cast<StringImpl*>(&onpopstateData) },
        { (void*)&onprogressAttr, *reinterpret_cast<StringImpl*>(&onprogressData) },
        { (void*)&onratechangeAttr, *reinterpret_cast<StringImpl*>(&onratechangeData) },
        { (void*)&onresetAttr, *reinterpret_cast<StringImpl*>(&onresetData) },
        { (void*)&onresizeAttr, *reinterpret_cast<StringImpl*>(&onresizeData) },
        { (void*)&onscrollAttr, *reinterpret_cast<StringImpl*>(&onscrollData) },
        { (void*)&onsearchAttr, *reinterpret_cast<StringImpl*>(&onsearchData) },
        { (void*)&onseekedAttr, *reinterpret_cast<StringImpl*>(&onseekedData) },
        { (void*)&onseekingAttr, *reinterpret_cast<StringImpl*>(&onseekingData) },
        { (void*)&onselectAttr, *reinterpret_cast<StringImpl*>(&onselectData) },
        { (void*)&onselectionchangeAttr, *reinterpret_cast<StringImpl*>(&onselectionchangeData) },
        { (void*)&onselectstartAttr, *reinterpret_cast<StringImpl*>(&onselectstartData) },
        { (void*)&onstalledAttr, *reinterpret_cast<StringImpl*>(&onstalledData) },
        { (void*)&onstorageAttr, *reinterpret_cast<StringImpl*>(&onstorageData) },
        { (void*)&onsubmitAttr, *reinterpret_cast<StringImpl*>(&onsubmitData) },
        { (void*)&onsuspendAttr, *reinterpret_cast<StringImpl*>(&onsuspendData) },
        { (void*)&ontimeupdateAttr, *reinterpret_cast<StringImpl*>(&ontimeupdateData) },
        { (void*)&ontouchcancelAttr, *reinterpret_cast<StringImpl*>(&ontouchcancelData) },
        { (void*)&ontouchendAttr, *reinterpret_cast<StringImpl*>(&ontouchendData) },
        { (void*)&ontouchforcechangeAttr, *reinterpret_cast<StringImpl*>(&ontouchforcechangeData) },
        { (void*)&ontouchmoveAttr, *reinterpret_cast<StringImpl*>(&ontouchmoveData) },
        { (void*)&ontouchstartAttr, *reinterpret_cast<StringImpl*>(&ontouchstartData) },
        { (void*)&ontransitionendAttr, *reinterpret_cast<StringImpl*>(&ontransitionendData) },
        { (void*)&onunloadAttr, *reinterpret_cast<StringImpl*>(&onunloadData) },
        { (void*)&onvolumechangeAttr, *reinterpret_cast<StringImpl*>(&onvolumechangeData) },
        { (void*)&onwaitingAttr, *reinterpret_cast<StringImpl*>(&onwaitingData) },
        { (void*)&onwebkitanimationendAttr, *reinterpret_cast<StringImpl*>(&onwebkitanimationendData) },
        { (void*)&onwebkitanimationiterationAttr, *reinterpret_cast<StringImpl*>(&onwebkitanimationiterationData) },
        { (void*)&onwebkitanimationstartAttr, *reinterpret_cast<StringImpl*>(&onwebkitanimationstartData) },
        { (void*)&onwebkitbeginfullscreenAttr, *reinterpret_cast<StringImpl*>(&onwebkitbeginfullscreenData) },
        { (void*)&onwebkitcurrentplaybacktargetiswirelesschangedAttr, *reinterpret_cast<StringImpl*>(&onwebkitcurrentplaybacktargetiswirelesschangedData) },
        { (void*)&onwebkitendfullscreenAttr, *reinterpret_cast<StringImpl*>(&onwebkitendfullscreenData) },
        { (void*)&onwebkitfullscreenchangeAttr, *reinterpret_cast<StringImpl*>(&onwebkitfullscreenchangeData) },
        { (void*)&onwebkitfullscreenerrorAttr, *reinterpret_cast<StringImpl*>(&onwebkitfullscreenerrorData) },
        { (void*)&onwebkitkeyaddedAttr, *reinterpret_cast<StringImpl*>(&onwebkitkeyaddedData) },
        { (void*)&onwebkitkeyerrorAttr, *reinterpret_cast<StringImpl*>(&onwebkitkeyerrorData) },
        { (void*)&onwebkitkeymessageAttr, *reinterpret_cast<StringImpl*>(&onwebkitkeymessageData) },
        { (void*)&onwebkitmouseforcechangedAttr, *reinterpret_cast<StringImpl*>(&onwebkitmouseforcechangedData) },
        { (void*)&onwebkitmouseforcedownAttr, *reinterpret_cast<StringImpl*>(&onwebkitmouseforcedownData) },
        { (void*)&onwebkitmouseforceupAttr, *reinterpret_cast<StringImpl*>(&onwebkitmouseforceupData) },
        { (void*)&onwebkitmouseforcewillbeginAttr, *reinterpret_cast<StringImpl*>(&onwebkitmouseforcewillbeginData) },
        { (void*)&onwebkitneedkeyAttr, *reinterpret_cast<StringImpl*>(&onwebkitneedkeyData) },
        { (void*)&onwebkitplaybacktargetavailabilitychangedAttr, *reinterpret_cast<StringImpl*>(&onwebkitplaybacktargetavailabilitychangedData) },
        { (void*)&onwebkitpresentationmodechangedAttr, *reinterpret_cast<StringImpl*>(&onwebkitpresentationmodechangedData) },
        { (void*)&onwebkitsourcecloseAttr, *reinterpret_cast<StringImpl*>(&onwebkitsourcecloseData) },
        { (void*)&onwebkitsourceendedAttr, *reinterpret_cast<StringImpl*>(&onwebkitsourceendedData) },
        { (void*)&onwebkitsourceopenAttr, *reinterpret_cast<StringImpl*>(&onwebkitsourceopenData) },
        { (void*)&onwebkitspeechchangeAttr, *reinterpret_cast<StringImpl*>(&onwebkitspeechchangeData) },
        { (void*)&onwebkittransitionendAttr, *reinterpret_cast<StringImpl*>(&onwebkittransitionendData) },
        { (void*)&onwebkitwillrevealbottomAttr, *reinterpret_cast<StringImpl*>(&onwebkitwillrevealbottomData) },
        { (void*)&onwebkitwillrevealleftAttr, *reinterpret_cast<StringImpl*>(&onwebkitwillrevealleftData) },
        { (void*)&onwebkitwillrevealrightAttr, *reinterpret_cast<StringImpl*>(&onwebkitwillrevealrightData) },
        { (void*)&onwebkitwillrevealtopAttr, *reinterpret_cast<StringImpl*>(&onwebkitwillrevealtopData) },
        { (void*)&onwheelAttr, *reinterpret_cast<StringImpl*>(&onwheelData) },
        { (void*)&openAttr, *reinterpret_cast<StringImpl*>(&openData) },
        { (void*)&optimumAttr, *reinterpret_cast<StringImpl*>(&optimumData) },
        { (void*)&patternAttr, *reinterpret_cast<StringImpl*>(&patternData) },
        { (void*)&pingAttr, *reinterpret_cast<StringImpl*>(&pingData) },
        { (void*)&placeholderAttr, *reinterpret_cast<StringImpl*>(&placeholderData) },
        { (void*)&playcountAttr, *reinterpret_cast<StringImpl*>(&playcountData) },
        { (void*)&playsinlineAttr, *reinterpret_cast<StringImpl*>(&playsinlineData) },
        { (void*)&pluginspageAttr, *reinterpret_cast<StringImpl*>(&pluginspageData) },
        { (void*)&pluginurlAttr, *reinterpret_cast<StringImpl*>(&pluginurlData) },
        { (void*)&posterAttr, *reinterpret_cast<StringImpl*>(&posterData) },
        { (void*)&precisionAttr, *reinterpret_cast<StringImpl*>(&precisionData) },
        { (void*)&preloadAttr, *reinterpret_cast<StringImpl*>(&preloadData) },
        { (void*)&primaryAttr, *reinterpret_cast<StringImpl*>(&primaryData) },
        { (void*)&profileAttr, *reinterpret_cast<StringImpl*>(&profileData) },
        { (void*)&progressAttr, *reinterpret_cast<StringImpl*>(&progressData) },
        { (void*)&promptAttr, *reinterpret_cast<StringImpl*>(&promptData) },
        { (void*)&pseudoAttr, *reinterpret_cast<StringImpl*>(&pseudoData) },
        { (void*)&readonlyAttr, *reinterpret_cast<StringImpl*>(&readonlyData) },
        { (void*)&relAttr, *reinterpret_cast<StringImpl*>(&relData) },
        { (void*)&requiredAttr, *reinterpret_cast<StringImpl*>(&requiredData) },
        { (void*)&resultsAttr, *reinterpret_cast<StringImpl*>(&resultsData) },
        { (void*)&revAttr, *reinterpret_cast<StringImpl*>(&revData) },
        { (void*)&reversedAttr, *reinterpret_cast<StringImpl*>(&reversedData) },
        { (void*)&roleAttr, *reinterpret_cast<StringImpl*>(&roleData) },
        { (void*)&rowsAttr, *reinterpret_cast<StringImpl*>(&rowsData) },
        { (void*)&rowspanAttr, *reinterpret_cast<StringImpl*>(&rowspanData) },
        { (void*)&rulesAttr, *reinterpret_cast<StringImpl*>(&rulesData) },
        { (void*)&sandboxAttr, *reinterpret_cast<StringImpl*>(&sandboxData) },
        { (void*)&schemeAttr, *reinterpret_cast<StringImpl*>(&schemeData) },
        { (void*)&scopeAttr, *reinterpret_cast<StringImpl*>(&scopeData) },
        { (void*)&scopedAttr, *reinterpret_cast<StringImpl*>(&scopedData) },
        { (void*)&scrollamountAttr, *reinterpret_cast<StringImpl*>(&scrollamountData) },
        { (void*)&scrolldelayAttr, *reinterpret_cast<StringImpl*>(&scrolldelayData) },
        { (void*)&scrollingAttr, *reinterpret_cast<StringImpl*>(&scrollingData) },
        { (void*)&selectAttr, *reinterpret_cast<StringImpl*>(&selectData) },
        { (void*)&selectedAttr, *reinterpret_cast<StringImpl*>(&selectedData) },
        { (void*)&shapeAttr, *reinterpret_cast<StringImpl*>(&shapeData) },
        { (void*)&sizeAttr, *reinterpret_cast<StringImpl*>(&sizeData) },
        { (void*)&sizesAttr, *reinterpret_cast<StringImpl*>(&sizesData) },
        { (void*)&slotAttr, *reinterpret_cast<StringImpl*>(&slotData) },
        { (void*)&sortableAttr, *reinterpret_cast<StringImpl*>(&sortableData) },
        { (void*)&sortdirectionAttr, *reinterpret_cast<StringImpl*>(&sortdirectionData) },
        { (void*)&spanAttr, *reinterpret_cast<StringImpl*>(&spanData) },
        { (void*)&spellcheckAttr, *reinterpret_cast<StringImpl*>(&spellcheckData) },
        { (void*)&srcAttr, *reinterpret_cast<StringImpl*>(&srcData) },
        { (void*)&srcdocAttr, *reinterpret_cast<StringImpl*>(&srcdocData) },
        { (void*)&srclangAttr, *reinterpret_cast<StringImpl*>(&srclangData) },
        { (void*)&srcsetAttr, *reinterpret_cast<StringImpl*>(&srcsetData) },
        { (void*)&standbyAttr, *reinterpret_cast<StringImpl*>(&standbyData) },
        { (void*)&startAttr, *reinterpret_cast<StringImpl*>(&startData) },
        { (void*)&stepAttr, *reinterpret_cast<StringImpl*>(&stepData) },
        { (void*)&styleAttr, *reinterpret_cast<StringImpl*>(&styleData) },
        { (void*)&subtitleAttr, *reinterpret_cast<StringImpl*>(&subtitleData) },
        { (void*)&summaryAttr, *reinterpret_cast<StringImpl*>(&summaryData) },
        { (void*)&tabindexAttr, *reinterpret_cast<StringImpl*>(&tabindexData) },
        { (void*)&tableborderAttr, *reinterpret_cast<StringImpl*>(&tableborderData) },
        { (void*)&targetAttr, *reinterpret_cast<StringImpl*>(&targetData) },
        { (void*)&textAttr, *reinterpret_cast<StringImpl*>(&textData) },
        { (void*)&titleAttr, *reinterpret_cast<StringImpl*>(&titleData) },
        { (void*)&topAttr, *reinterpret_cast<StringImpl*>(&topData) },
        { (void*)&topmarginAttr, *reinterpret_cast<StringImpl*>(&topmarginData) },
        { (void*)&translateAttr, *reinterpret_cast<StringImpl*>(&translateData) },
        { (void*)&truespeedAttr, *reinterpret_cast<StringImpl*>(&truespeedData) },
        { (void*)&typeAttr, *reinterpret_cast<StringImpl*>(&typeData) },
        { (void*)&uiactionsAttr, *reinterpret_cast<StringImpl*>(&uiactionsData) },
        { (void*)&usemapAttr, *reinterpret_cast<StringImpl*>(&usemapData) },
        { (void*)&valignAttr, *reinterpret_cast<StringImpl*>(&valignData) },
        { (void*)&valueAttr, *reinterpret_cast<StringImpl*>(&valueData) },
        { (void*)&valuetypeAttr, *reinterpret_cast<StringImpl*>(&valuetypeData) },
        { (void*)&versionAttr, *reinterpret_cast<StringImpl*>(&versionData) },
        { (void*)&vlinkAttr, *reinterpret_cast<StringImpl*>(&vlinkData) },
        { (void*)&vspaceAttr, *reinterpret_cast<StringImpl*>(&vspaceData) },
        { (void*)&webkit_playsinlineAttr, *reinterpret_cast<StringImpl*>(&webkit_playsinlineData) },
        { (void*)&webkitairplayAttr, *reinterpret_cast<StringImpl*>(&webkitairplayData) },
        { (void*)&webkitallowfullscreenAttr, *reinterpret_cast<StringImpl*>(&webkitallowfullscreenData) },
        { (void*)&webkitattachmentpathAttr, *reinterpret_cast<StringImpl*>(&webkitattachmentpathData) },
        { (void*)&webkitdropzoneAttr, *reinterpret_cast<StringImpl*>(&webkitdropzoneData) },
        { (void*)&webkitgrammarAttr, *reinterpret_cast<StringImpl*>(&webkitgrammarData) },
        { (void*)&webkitimagemenuAttr, *reinterpret_cast<StringImpl*>(&webkitimagemenuData) },
        { (void*)&webkitspeechAttr, *reinterpret_cast<StringImpl*>(&webkitspeechData) },
        { (void*)&webkitwirelessvideoplaybackdisabledAttr, *reinterpret_cast<StringImpl*>(&webkitwirelessvideoplaybackdisabledData) },
        { (void*)&widthAttr, *reinterpret_cast<StringImpl*>(&widthData) },
        { (void*)&wrapAttr, *reinterpret_cast<StringImpl*>(&wrapData) },
        { (void*)&x_apple_data_detectorsAttr, *reinterpret_cast<StringImpl*>(&x_apple_data_detectorsData) },
        { (void*)&x_apple_data_detectors_resultAttr, *reinterpret_cast<StringImpl*>(&x_apple_data_detectors_resultData) },
        { (void*)&x_apple_data_detectors_typeAttr, *reinterpret_cast<StringImpl*>(&x_apple_data_detectors_typeData) },
        { (void*)&x_itunes_inherit_uri_query_componentAttr, *reinterpret_cast<StringImpl*>(&x_itunes_inherit_uri_query_componentData) },
    };

    for (unsigned i = 0; i < WTF_ARRAY_LENGTH(attributesTable); ++i)
        createQualifiedName(attributesTable[i].targetAddress, &attributesTable[i].name);
}

} }

