// Copyright 2016 PDFium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com

#include "xfa/fxfa/parser/xfa_basic_data.h"

#include "xfa/fxfa/fxfa_basic.h"
#include "xfa/fxfa/parser/cxfa_measurement.h"

const XFA_ATTRIBUTEINFO g_XFAAttributeData[] = {
    {0x68, L"h", XFA_Attribute::H, XFA_AttributeType::Measure,
     XFA_XDPPACKET_Template | XFA_XDPPACKET_Form, (void*)L"0in"},
    {0x77, L"w", XFA_Attribute::W, XFA_AttributeType::Measure,
     XFA_XDPPACKET_Template | XFA_XDPPACKET_Form, (void*)L"0in"},
    {0x78, L"x", XFA_Attribute::X, XFA_AttributeType::Measure,
     XFA_XDPPACKET_Config | XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)L"0in"},
    {0x79, L"y", XFA_Attribute::Y, XFA_AttributeType::Measure,
     XFA_XDPPACKET_Config | XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)L"0in"},
    {0x21aed, L"id", XFA_Attribute::Id, XFA_AttributeType::CData,
     XFA_XDPPACKET_SourceSet | XFA_XDPPACKET_Template |
         XFA_XDPPACKET_ConnectionSet | XFA_XDPPACKET_Form,
     nullptr},
    {0x25363, L"to", XFA_Attribute::To, XFA_AttributeType::CData,
     XFA_XDPPACKET_Config, nullptr},
    {0xcb0ac9, L"lineThrough", XFA_Attribute::LineThrough,
     XFA_AttributeType::Integer, XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)0},
    {0x2282c73, L"hAlign", XFA_Attribute::HAlign, XFA_AttributeType::Enum,
     XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)XFA_ATTRIBUTEENUM_Left},
    {0x2c1c7f1, L"typeface", XFA_Attribute::Typeface, XFA_AttributeType::CData,
     XFA_XDPPACKET_Config | XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)L"Courier"},
    {0x3106c3a, L"beforeTarget", XFA_Attribute::BeforeTarget,
     XFA_AttributeType::CData, XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     nullptr},
    {0x31b19c1, L"name", XFA_Attribute::Name, XFA_AttributeType::NotSure,
     XFA_XDPPACKET_SourceSet | XFA_XDPPACKET_Config | XFA_XDPPACKET_LocaleSet |
         XFA_XDPPACKET_Template | XFA_XDPPACKET_Datasets | XFA_XDPPACKET_Form |
         XFA_XDPPACKET_ConnectionSet | XFA_XDPPACKET_Form,
     nullptr},
    {0x3848b3f, L"next", XFA_Attribute::Next, XFA_AttributeType::Enum,
     XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)XFA_ATTRIBUTEENUM_None},
    {0x43e349b, L"dataRowCount", XFA_Attribute::DataRowCount,
     XFA_AttributeType::CData, XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     nullptr},
    {0x5518c25, L"break", XFA_Attribute::Break, XFA_AttributeType::Enum,
     XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)XFA_ATTRIBUTEENUM_Close},
    {0x5ce6195, L"vScrollPolicy", XFA_Attribute::VScrollPolicy,
     XFA_AttributeType::Enum, XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)XFA_ATTRIBUTEENUM_Auto},
    {0x8c74ae9, L"fontHorizontalScale", XFA_Attribute::FontHorizontalScale,
     XFA_AttributeType::CData, XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)L"100%"},
    {0x8d4f1c7, L"textIndent", XFA_Attribute::TextIndent,
     XFA_AttributeType::Measure, XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)L"0in"},
    {0x97c1c65, L"context", XFA_Attribute::Context, XFA_AttributeType::Integer,
     XFA_XDPPACKET_UNKNOWN, (void*)0},
    {0x9876578, L"trayOut", XFA_Attribute::TrayOut, XFA_AttributeType::Enum,
     XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)XFA_ATTRIBUTEENUM_Auto},
    {0xa2e3514, L"cap", XFA_Attribute::Cap, XFA_AttributeType::Enum,
     XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)XFA_ATTRIBUTEENUM_Square},
    {0xb3543a6, L"max", XFA_Attribute::Max, XFA_AttributeType::NotSure,
     XFA_XDPPACKET_SourceSet | XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     nullptr},
    {0xb356ca4, L"min", XFA_Attribute::Min, XFA_AttributeType::Integer,
     XFA_XDPPACKET_Template | XFA_XDPPACKET_Form, (void*)1},
    {0xbb8df5d, L"ref", XFA_Attribute::Ref, XFA_AttributeType::CData,
     XFA_XDPPACKET_SourceSet | XFA_XDPPACKET_Config | XFA_XDPPACKET_Template |
         XFA_XDPPACKET_Form,
     nullptr},
    {0xbb8f3df, L"rid", XFA_Attribute::Rid, XFA_AttributeType::CData,
     XFA_XDPPACKET_Template | XFA_XDPPACKET_Form, nullptr},
    {0xc080cd3, L"url", XFA_Attribute::Url, XFA_AttributeType::CData,
     XFA_XDPPACKET_Template | XFA_XDPPACKET_Form, nullptr},
    {0xc0811ed, L"use", XFA_Attribute::Use, XFA_AttributeType::CData,
     XFA_XDPPACKET_SourceSet | XFA_XDPPACKET_Template |
         XFA_XDPPACKET_ConnectionSet | XFA_XDPPACKET_Form,
     nullptr},
    {0xcfea02e, L"leftInset", XFA_Attribute::LeftInset,
     XFA_AttributeType::Measure, XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)L"0in"},
    {0x1026c59d, L"widows", XFA_Attribute::Widows, XFA_AttributeType::Integer,
     XFA_XDPPACKET_Template | XFA_XDPPACKET_Form, (void*)0},
    {0x1059ec18, L"level", XFA_Attribute::Level, XFA_AttributeType::Integer,
     XFA_XDPPACKET_Config, (void*)0},
    {0x1356caf8, L"bottomInset", XFA_Attribute::BottomInset,
     XFA_AttributeType::Measure, XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)L"0in"},
    {0x13a08bdb, L"overflowTarget", XFA_Attribute::OverflowTarget,
     XFA_AttributeType::CData, XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     nullptr},
    {0x1414d431, L"allowMacro", XFA_Attribute::AllowMacro,
     XFA_AttributeType::Boolean, XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)0},
    {0x14a32d52, L"pagePosition", XFA_Attribute::PagePosition,
     XFA_AttributeType::Enum, XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)XFA_ATTRIBUTEENUM_Any},
    {0x1517dfa1, L"columnWidths", XFA_Attribute::ColumnWidths,
     XFA_AttributeType::CData, XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     nullptr},
    {0x169134a1, L"overflowLeader", XFA_Attribute::OverflowLeader,
     XFA_AttributeType::CData, XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     nullptr},
    {0x1b8dce3e, L"action", XFA_Attribute::Action, XFA_AttributeType::Enum,
     XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)XFA_ATTRIBUTEENUM_Include},
    {0x1e459b8f, L"nonRepudiation", XFA_Attribute::NonRepudiation,
     XFA_AttributeType::CData, XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     nullptr},
    {0x1ec8ab2c, L"rate", XFA_Attribute::Rate, XFA_AttributeType::Integer,
     XFA_XDPPACKET_Template | XFA_XDPPACKET_Form, (void*)50},
    {0x1ef3a64a, L"allowRichText", XFA_Attribute::AllowRichText,
     XFA_AttributeType::Boolean, XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)0},
    {0x2038c9b2, L"role", XFA_Attribute::Role, XFA_AttributeType::CData,
     XFA_XDPPACKET_Template | XFA_XDPPACKET_Form, nullptr},
    {0x20914367, L"overflowTrailer", XFA_Attribute::OverflowTrailer,
     XFA_AttributeType::CData, XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     nullptr},
    {0x226ca8f1, L"operation", XFA_Attribute::Operation,
     XFA_AttributeType::NotSure, XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     nullptr},
    {0x24d85167, L"timeout", XFA_Attribute::Timeout, XFA_AttributeType::NotSure,
     XFA_XDPPACKET_SourceSet, nullptr},
    {0x25764436, L"topInset", XFA_Attribute::TopInset,
     XFA_AttributeType::Measure, XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)L"0in"},
    {0x25839852, L"access", XFA_Attribute::Access, XFA_AttributeType::Enum,
     XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)XFA_ATTRIBUTEENUM_Open},
    {0x268b7ec1, L"commandType", XFA_Attribute::CommandType,
     XFA_AttributeType::Enum, XFA_XDPPACKET_SourceSet,
     (void*)XFA_ATTRIBUTEENUM_Unknown},
    {0x28dee6e9, L"format", XFA_Attribute::Format, XFA_AttributeType::NotSure,
     XFA_XDPPACKET_Config | XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     nullptr},
    {0x28e17e91, L"dataPrep", XFA_Attribute::DataPrep, XFA_AttributeType::Enum,
     XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)XFA_ATTRIBUTEENUM_None},
    {0x292b88fe, L"widgetData", XFA_Attribute::WidgetData,
     XFA_AttributeType::Integer, XFA_XDPPACKET_UNKNOWN, (void*)0},
    {0x29418bb7, L"abbr", XFA_Attribute::Abbr, XFA_AttributeType::Boolean,
     XFA_XDPPACKET_LocaleSet, (void*)0},
    {0x2a82d99c, L"marginRight", XFA_Attribute::MarginRight,
     XFA_AttributeType::Measure, XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)L"0in"},
    {0x2b5df51e, L"dataDescription", XFA_Attribute::DataDescription,
     XFA_AttributeType::CData, XFA_XDPPACKET_ConnectionSet, nullptr},
    {0x2bb3f470, L"encipherOnly", XFA_Attribute::EncipherOnly,
     XFA_AttributeType::CData, XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     nullptr},
    {0x2cd79033, L"kerningMode", XFA_Attribute::KerningMode,
     XFA_AttributeType::Enum, XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)XFA_ATTRIBUTEENUM_None},
    {0x2ee7678f, L"rotate", XFA_Attribute::Rotate, XFA_AttributeType::Integer,
     XFA_XDPPACKET_Template | XFA_XDPPACKET_Form, (void*)0},
    {0x2f105f72, L"wordCharacterCount", XFA_Attribute::WordCharacterCount,
     XFA_AttributeType::Integer, XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)7},
    {0x2f16a382, L"type", XFA_Attribute::Type, XFA_AttributeType::NotSure,
     XFA_XDPPACKET_Template | XFA_XDPPACKET_Form, nullptr},
    {0x34ae103c, L"reserve", XFA_Attribute::Reserve, XFA_AttributeType::Measure,
     XFA_XDPPACKET_Template | XFA_XDPPACKET_Form, (void*)L"-1"},
    {0x3650557e, L"textLocation", XFA_Attribute::TextLocation,
     XFA_AttributeType::Enum, XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)XFA_ATTRIBUTEENUM_Below},
    {0x39cdb0a2, L"priority", XFA_Attribute::Priority, XFA_AttributeType::Enum,
     XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)XFA_ATTRIBUTEENUM_Custom},
    {0x3a0273a6, L"underline", XFA_Attribute::Underline,
     XFA_AttributeType::Integer, XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)0},
    {0x3b582286, L"moduleWidth", XFA_Attribute::ModuleWidth,
     XFA_AttributeType::Measure, XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)L"0.25mm"},
    {0x3d123c26, L"hyphenate", XFA_Attribute::Hyphenate,
     XFA_AttributeType::Boolean, XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)0},
    {0x3e7af94f, L"listen", XFA_Attribute::Listen, XFA_AttributeType::Enum,
     XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)XFA_ATTRIBUTEENUM_RefOnly},
    {0x4156ee3f, L"delimiter", XFA_Attribute::Delimiter,
     XFA_AttributeType::CData, XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     nullptr},
    {0x42fed1fd, L"contentType", XFA_Attribute::ContentType,
     XFA_AttributeType::CData,
     XFA_XDPPACKET_SourceSet | XFA_XDPPACKET_Template | XFA_XDPPACKET_Datasets |
         XFA_XDPPACKET_Form,
     nullptr},
    {0x453eaf38, L"startNew", XFA_Attribute::StartNew,
     XFA_AttributeType::Boolean, XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)0},
    {0x45a6daf8, L"eofAction", XFA_Attribute::EofAction,
     XFA_AttributeType::Enum, XFA_XDPPACKET_SourceSet,
     (void*)XFA_ATTRIBUTEENUM_MoveLast},
    {0x47cfa43a, L"allowNeutral", XFA_Attribute::AllowNeutral,
     XFA_AttributeType::Boolean, XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)0},
    {0x47d03490, L"connection", XFA_Attribute::Connection,
     XFA_AttributeType::CData, XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     nullptr},
    {0x4873c601, L"baselineShift", XFA_Attribute::BaselineShift,
     XFA_AttributeType::Measure, XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)L"0in"},
    {0x4b319767, L"overlinePeriod", XFA_Attribute::OverlinePeriod,
     XFA_AttributeType::Enum, XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)XFA_ATTRIBUTEENUM_All},
    {0x4b8bc840, L"fracDigits", XFA_Attribute::FracDigits,
     XFA_AttributeType::Integer, XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)2},
    {0x4ef3d02c, L"orientation", XFA_Attribute::Orientation,
     XFA_AttributeType::Enum, XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)XFA_ATTRIBUTEENUM_Portrait},
    {0x4fdc3454, L"timeStamp", XFA_Attribute::TimeStamp,
     XFA_AttributeType::CData, XFA_XDPPACKET_XDP, nullptr},
    {0x52666f1c, L"printCheckDigit", XFA_Attribute::PrintCheckDigit,
     XFA_AttributeType::Boolean, XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)0},
    {0x534729c9, L"marginLeft", XFA_Attribute::MarginLeft,
     XFA_AttributeType::Measure, XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)L"0in"},
    {0x5392ea58, L"stroke", XFA_Attribute::Stroke, XFA_AttributeType::Enum,
     XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)XFA_ATTRIBUTEENUM_Solid},
    {0x5404d6df, L"moduleHeight", XFA_Attribute::ModuleHeight,
     XFA_AttributeType::Measure, XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)L"5mm"},
    {0x54fa722c, L"transferEncoding", XFA_Attribute::TransferEncoding,
     XFA_AttributeType::NotSure,
     XFA_XDPPACKET_SourceSet | XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     nullptr},
    {0x552d9ad5, L"usage", XFA_Attribute::Usage, XFA_AttributeType::Enum,
     XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)XFA_ATTRIBUTEENUM_ExportAndImport},
    {0x570ce835, L"presence", XFA_Attribute::Presence, XFA_AttributeType::Enum,
     XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)XFA_ATTRIBUTEENUM_Visible},
    {0x5739d1ff, L"radixOffset", XFA_Attribute::RadixOffset,
     XFA_AttributeType::Measure, XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)L"0in"},
    {0x577682ac, L"preserve", XFA_Attribute::Preserve, XFA_AttributeType::CData,
     XFA_XDPPACKET_Template | XFA_XDPPACKET_Form, nullptr},
    {0x58be2870, L"aliasNode", XFA_Attribute::AliasNode,
     XFA_AttributeType::Integer, XFA_XDPPACKET_UNKNOWN, (void*)0},
    {0x5a32e493, L"multiLine", XFA_Attribute::MultiLine,
     XFA_AttributeType::Boolean, XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)0},
    {0x5a50e9e6, L"version", XFA_Attribute::Version, XFA_AttributeType::CData,
     XFA_XDPPACKET_Template | XFA_XDPPACKET_Form, nullptr},
    {0x5ab23b6c, L"startChar", XFA_Attribute::StartChar,
     XFA_AttributeType::CData, XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     nullptr},
    {0x5b707a35, L"scriptTest", XFA_Attribute::ScriptTest,
     XFA_AttributeType::Enum, XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)XFA_ATTRIBUTEENUM_Error},
    {0x5c054755, L"startAngle", XFA_Attribute::StartAngle,
     XFA_AttributeType::Integer, XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)0},
    {0x5ec958c0, L"cursorType", XFA_Attribute::CursorType,
     XFA_AttributeType::Enum, XFA_XDPPACKET_SourceSet,
     (void*)XFA_ATTRIBUTEENUM_ForwardOnly},
    {0x5f760b50, L"digitalSignature", XFA_Attribute::DigitalSignature,
     XFA_AttributeType::CData, XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     nullptr},
    {0x60a61edd, L"codeType", XFA_Attribute::CodeType, XFA_AttributeType::CData,
     XFA_XDPPACKET_Template | XFA_XDPPACKET_Form, nullptr},
    {0x60d4c8b1, L"output", XFA_Attribute::Output, XFA_AttributeType::CData,
     XFA_XDPPACKET_ConnectionSet, nullptr},
    {0x64110ab5, L"bookendTrailer", XFA_Attribute::BookendTrailer,
     XFA_AttributeType::CData, XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     nullptr},
    {0x65e30c67, L"imagingBBox", XFA_Attribute::ImagingBBox,
     XFA_AttributeType::CData, XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)L"none"},
    {0x66539c48, L"excludeInitialCap", XFA_Attribute::ExcludeInitialCap,
     XFA_AttributeType::Boolean, XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)0},
    {0x66642f8f, L"force", XFA_Attribute::Force, XFA_AttributeType::Boolean,
     XFA_XDPPACKET_Config, nullptr},
    {0x69aa2292, L"crlSign", XFA_Attribute::CrlSign, XFA_AttributeType::CData,
     XFA_XDPPACKET_Template | XFA_XDPPACKET_Form, nullptr},
    {0x6a3405dd, L"previous", XFA_Attribute::Previous, XFA_AttributeType::Enum,
     XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)XFA_ATTRIBUTEENUM_None},
    {0x6a95c976, L"pushCharacterCount", XFA_Attribute::PushCharacterCount,
     XFA_AttributeType::Integer, XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)3},
    {0x6b6ddcfb, L"nullTest", XFA_Attribute::NullTest, XFA_AttributeType::Enum,
     XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)XFA_ATTRIBUTEENUM_Disabled},
    {0x6cfa828a, L"runAt", XFA_Attribute::RunAt, XFA_AttributeType::Enum,
     XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)XFA_ATTRIBUTEENUM_Client},
    {0x731e0665, L"spaceBelow", XFA_Attribute::SpaceBelow,
     XFA_AttributeType::Measure, XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)L"0in"},
    {0x74788f8b, L"sweepAngle", XFA_Attribute::SweepAngle,
     XFA_AttributeType::Integer, XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)360},
    {0x78bff531, L"numberOfCells", XFA_Attribute::NumberOfCells,
     XFA_AttributeType::Integer, XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)0},
    {0x79543055, L"letterSpacing", XFA_Attribute::LetterSpacing,
     XFA_AttributeType::CData, XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     nullptr},
    {0x79975f2b, L"lockType", XFA_Attribute::LockType, XFA_AttributeType::Enum,
     XFA_XDPPACKET_SourceSet, (void*)XFA_ATTRIBUTEENUM_ReadOnly},
    {0x7a0cc471, L"passwordChar", XFA_Attribute::PasswordChar,
     XFA_AttributeType::CData, XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)L"*"},
    {0x7a7cc341, L"vAlign", XFA_Attribute::VAlign, XFA_AttributeType::Enum,
     XFA_XDPPACKET_Template | XFA_XDPPACKET_Form, (void*)XFA_ATTRIBUTEENUM_Top},
    {0x7b29630a, L"sourceBelow", XFA_Attribute::SourceBelow,
     XFA_AttributeType::Enum, XFA_XDPPACKET_Config,
     (void*)XFA_ATTRIBUTEENUM_Update},
    {0x7b95e661, L"inverted", XFA_Attribute::Inverted,
     XFA_AttributeType::Boolean, XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)0},
    {0x7c2fd80b, L"mark", XFA_Attribute::Mark, XFA_AttributeType::Enum,
     XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)XFA_ATTRIBUTEENUM_Default},
    {0x7c2ff6ae, L"maxH", XFA_Attribute::MaxH, XFA_AttributeType::Measure,
     XFA_XDPPACKET_Template | XFA_XDPPACKET_Form, (void*)L"0in"},
    {0x7c2ff6bd, L"maxW", XFA_Attribute::MaxW, XFA_AttributeType::Measure,
     XFA_XDPPACKET_Template | XFA_XDPPACKET_Form, (void*)L"0in"},
    {0x7c732a66, L"truncate", XFA_Attribute::Truncate,
     XFA_AttributeType::Boolean, XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)0},
    {0x7d02356c, L"minH", XFA_Attribute::MinH, XFA_AttributeType::Measure,
     XFA_XDPPACKET_Template | XFA_XDPPACKET_Form, (void*)L"0in"},
    {0x7d02357b, L"minW", XFA_Attribute::MinW, XFA_AttributeType::Measure,
     XFA_XDPPACKET_Template | XFA_XDPPACKET_Form, (void*)L"0in"},
    {0x7d0b5fca, L"initial", XFA_Attribute::Initial, XFA_AttributeType::Integer,
     XFA_XDPPACKET_Template | XFA_XDPPACKET_Form, (void*)1},
    {0x7d9fd7c5, L"mode", XFA_Attribute::Mode, XFA_AttributeType::Enum,
     XFA_XDPPACKET_Config, (void*)XFA_ATTRIBUTEENUM_UsePrinterSetting},
    {0x7e7e845e, L"layout", XFA_Attribute::Layout, XFA_AttributeType::Enum,
     XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)XFA_ATTRIBUTEENUM_Position},
    {0x7f6fd3d7, L"server", XFA_Attribute::Server, XFA_AttributeType::CData,
     XFA_XDPPACKET_Template | XFA_XDPPACKET_Form, nullptr},
    {0x824f21b7, L"embedPDF", XFA_Attribute::EmbedPDF,
     XFA_AttributeType::Boolean, XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)0},
    {0x8340ea66, L"oddOrEven", XFA_Attribute::OddOrEven,
     XFA_AttributeType::Enum, XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)XFA_ATTRIBUTEENUM_Any},
    {0x836d4d7c, L"tabDefault", XFA_Attribute::TabDefault,
     XFA_AttributeType::CData, XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     nullptr},
    {0x8855805f, L"contains", XFA_Attribute::Contains, XFA_AttributeType::Enum,
     XFA_XDPPACKET_Datasets, (void*)XFA_ATTRIBUTEENUM_Data},
    {0x8a692521, L"rightInset", XFA_Attribute::RightInset,
     XFA_AttributeType::Measure, XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)L"0in"},
    {0x8af2e657, L"maxChars", XFA_Attribute::MaxChars,
     XFA_AttributeType::Integer, XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)0},
    {0x8b90e1f2, L"open", XFA_Attribute::Open, XFA_AttributeType::Enum,
     XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)XFA_ATTRIBUTEENUM_UserControl},
    {0x8c99377e, L"relation", XFA_Attribute::Relation,
     XFA_AttributeType::NotSure, XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     nullptr},
    {0x8d181d61, L"wideNarrowRatio", XFA_Attribute::WideNarrowRatio,
     XFA_AttributeType::CData, XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)L"3:1"},
    {0x8e1c2921, L"relevant", XFA_Attribute::Relevant, XFA_AttributeType::CData,
     XFA_XDPPACKET_Template | XFA_XDPPACKET_Form, nullptr},
    {0x8e29d794, L"signatureType", XFA_Attribute::SignatureType,
     XFA_AttributeType::Enum, XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)XFA_ATTRIBUTEENUM_Filter},
    {0x8ec6204c, L"lineThroughPeriod", XFA_Attribute::LineThroughPeriod,
     XFA_AttributeType::Enum, XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)XFA_ATTRIBUTEENUM_All},
    {0x8ed182d1, L"shape", XFA_Attribute::Shape, XFA_AttributeType::Enum,
     XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)XFA_ATTRIBUTEENUM_Square},
    {0x8fa01790, L"tabStops", XFA_Attribute::TabStops, XFA_AttributeType::CData,
     XFA_XDPPACKET_Template | XFA_XDPPACKET_Form, nullptr},
    {0x8fc36c0a, L"outputBelow", XFA_Attribute::OutputBelow,
     XFA_AttributeType::Enum, XFA_XDPPACKET_Config,
     (void*)XFA_ATTRIBUTEENUM_Warn},
    {0x9041d4b0, L"short", XFA_Attribute::Short, XFA_AttributeType::Measure,
     XFA_XDPPACKET_Template | XFA_XDPPACKET_Form, (void*)L"0in"},
    {0x907c7719, L"fontVerticalScale", XFA_Attribute::FontVerticalScale,
     XFA_AttributeType::CData, XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)L"100%"},
    {0x94446dcc, L"thickness", XFA_Attribute::Thickness,
     XFA_AttributeType::Measure, XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)L"0.5pt"},
    {0x957fa006, L"commitOn", XFA_Attribute::CommitOn, XFA_AttributeType::Enum,
     XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)XFA_ATTRIBUTEENUM_Select},
    {0x982bd892, L"remainCharacterCount", XFA_Attribute::RemainCharacterCount,
     XFA_AttributeType::Integer, XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)3},
    {0x98fd4d81, L"keyAgreement", XFA_Attribute::KeyAgreement,
     XFA_AttributeType::CData, XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     nullptr},
    {0x99800d7a, L"errorCorrectionLevel", XFA_Attribute::ErrorCorrectionLevel,
     XFA_AttributeType::CData, XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     nullptr},
    {0x9a63da3d, L"upsMode", XFA_Attribute::UpsMode, XFA_AttributeType::Enum,
     XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)XFA_ATTRIBUTEENUM_UsCarrier},
    {0x9cc17d75, L"mergeMode", XFA_Attribute::MergeMode,
     XFA_AttributeType::Enum, XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)XFA_ATTRIBUTEENUM_ConsumeData},
    {0x9d833d75, L"circular", XFA_Attribute::Circular,
     XFA_AttributeType::Boolean, XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)0},
    {0x9d8ee204, L"psName", XFA_Attribute::PsName, XFA_AttributeType::CData,
     XFA_XDPPACKET_Config, nullptr},
    {0x9dcc3ab3, L"trailer", XFA_Attribute::Trailer, XFA_AttributeType::CData,
     XFA_XDPPACKET_Template | XFA_XDPPACKET_Form, nullptr},
    {0xa0933954, L"unicodeRange", XFA_Attribute::UnicodeRange,
     XFA_AttributeType::CData, XFA_XDPPACKET_Config, nullptr},
    {0xa1b0d2f5, L"executeType", XFA_Attribute::ExecuteType,
     XFA_AttributeType::Enum, XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)XFA_ATTRIBUTEENUM_Import},
    {0xa25a883d, L"duplexImposition", XFA_Attribute::DuplexImposition,
     XFA_AttributeType::Enum, XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)XFA_ATTRIBUTEENUM_LongEdge},
    {0xa42ca1b7, L"trayIn", XFA_Attribute::TrayIn, XFA_AttributeType::Enum,
     XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)XFA_ATTRIBUTEENUM_Auto},
    {0xa433f001, L"bindingNode", XFA_Attribute::BindingNode,
     XFA_AttributeType::Integer, XFA_XDPPACKET_UNKNOWN, (void*)0},
    {0xa5340ff5, L"bofAction", XFA_Attribute::BofAction,
     XFA_AttributeType::Enum, XFA_XDPPACKET_SourceSet,
     (void*)XFA_ATTRIBUTEENUM_MoveFirst},
    {0xa5b410cf, L"save", XFA_Attribute::Save, XFA_AttributeType::Boolean,
     XFA_XDPPACKET_Template | XFA_XDPPACKET_Form, (void*)0},
    {0xa6118c89, L"targetType", XFA_Attribute::TargetType,
     XFA_AttributeType::Enum, XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)XFA_ATTRIBUTEENUM_Auto},
    {0xa66404cb, L"keyEncipherment", XFA_Attribute::KeyEncipherment,
     XFA_AttributeType::CData, XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     nullptr},
    {0xa6710262, L"credentialServerPolicy",
     XFA_Attribute::CredentialServerPolicy, XFA_AttributeType::Enum,
     XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)XFA_ATTRIBUTEENUM_Optional},
    {0xa686975b, L"size", XFA_Attribute::Size, XFA_AttributeType::Measure,
     XFA_XDPPACKET_Template | XFA_XDPPACKET_Form, (void*)L"10pt"},
    {0xa85e74f3, L"initialNumber", XFA_Attribute::InitialNumber,
     XFA_AttributeType::Integer, XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)1},
    {0xabef37e3, L"slope", XFA_Attribute::Slope, XFA_AttributeType::Enum,
     XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)XFA_ATTRIBUTEENUM_Backslash},
    {0xabfa6c4f, L"cSpace", XFA_Attribute::CSpace, XFA_AttributeType::CData,
     XFA_XDPPACKET_Template | XFA_XDPPACKET_Form, (void*)L"SRGB"},
    {0xac06e2b0, L"colSpan", XFA_Attribute::ColSpan, XFA_AttributeType::Integer,
     XFA_XDPPACKET_Template | XFA_XDPPACKET_Form, (void*)1},
    {0xadc4c77b, L"binding", XFA_Attribute::Binding, XFA_AttributeType::CData,
     XFA_XDPPACKET_Template | XFA_XDPPACKET_Form, nullptr},
    {0xaf754613, L"checksum", XFA_Attribute::Checksum,
     XFA_AttributeType::NotSure,
     XFA_XDPPACKET_Template | XFA_XDPPACKET_Form | XFA_XDPPACKET_Form, nullptr},
    {0xb045fbc5, L"charEncoding", XFA_Attribute::CharEncoding,
     XFA_AttributeType::CData, XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)L"UTF-8"},
    {0xb0e5485d, L"bind", XFA_Attribute::Bind, XFA_AttributeType::CData,
     XFA_XDPPACKET_SourceSet, nullptr},
    {0xb12128b7, L"textEntry", XFA_Attribute::TextEntry,
     XFA_AttributeType::Boolean, XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)0},
    {0xb373a862, L"archive", XFA_Attribute::Archive, XFA_AttributeType::CData,
     XFA_XDPPACKET_Template | XFA_XDPPACKET_Form, nullptr},
    {0xb598a1f7, L"uuid", XFA_Attribute::Uuid, XFA_AttributeType::CData,
     XFA_XDPPACKET_XDP, nullptr},
    {0xb5e49bf2, L"posture", XFA_Attribute::Posture, XFA_AttributeType::Enum,
     XFA_XDPPACKET_Config | XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)XFA_ATTRIBUTEENUM_Normal},
    {0xb6b44172, L"after", XFA_Attribute::After, XFA_AttributeType::Enum,
     XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)XFA_ATTRIBUTEENUM_Auto},
    {0xb716467b, L"orphans", XFA_Attribute::Orphans, XFA_AttributeType::Integer,
     XFA_XDPPACKET_Template | XFA_XDPPACKET_Form, (void*)0},
    {0xbc0c4695, L"qualifiedName", XFA_Attribute::QualifiedName,
     XFA_AttributeType::CData, XFA_XDPPACKET_UNKNOWN, nullptr},
    {0xbc254332, L"usehref", XFA_Attribute::Usehref, XFA_AttributeType::CData,
     XFA_XDPPACKET_SourceSet | XFA_XDPPACKET_Template |
         XFA_XDPPACKET_ConnectionSet | XFA_XDPPACKET_Form,
     nullptr},
    {0xbc8fa350, L"locale", XFA_Attribute::Locale, XFA_AttributeType::CData,
     XFA_XDPPACKET_Template | XFA_XDPPACKET_Form, nullptr},
    {0xbd6e1d88, L"weight", XFA_Attribute::Weight, XFA_AttributeType::Enum,
     XFA_XDPPACKET_Config | XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)XFA_ATTRIBUTEENUM_Normal},
    {0xbd96a0e9, L"underlinePeriod", XFA_Attribute::UnderlinePeriod,
     XFA_AttributeType::Enum, XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)XFA_ATTRIBUTEENUM_All},
    {0xbde9abda, L"data", XFA_Attribute::Data, XFA_AttributeType::Enum,
     XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)XFA_ATTRIBUTEENUM_Link},
    {0xbe52dfbf, L"desc", XFA_Attribute::Desc, XFA_AttributeType::CData,
     XFA_XDPPACKET_Config | XFA_XDPPACKET_LocaleSet, nullptr},
    {0xbe9ba472, L"numbered", XFA_Attribute::Numbered,
     XFA_AttributeType::Integer, XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)1},
    {0xc035c6b1, L"dataColumnCount", XFA_Attribute::DataColumnCount,
     XFA_AttributeType::CData, XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     nullptr},
    {0xc0ec9fa4, L"overline", XFA_Attribute::Overline,
     XFA_AttributeType::Integer, XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)0},
    {0xc2ba0923, L"urlPolicy", XFA_Attribute::UrlPolicy,
     XFA_AttributeType::CData, XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     nullptr},
    {0xc2bd40fd, L"anchorType", XFA_Attribute::AnchorType,
     XFA_AttributeType::Enum, XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)XFA_ATTRIBUTEENUM_TopLeft},
    {0xc39a88bd, L"labelRef", XFA_Attribute::LabelRef, XFA_AttributeType::CData,
     XFA_XDPPACKET_Template | XFA_XDPPACKET_Form, nullptr},
    {0xc3c1442f, L"bookendLeader", XFA_Attribute::BookendLeader,
     XFA_AttributeType::CData, XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     nullptr},
    {0xc4547a08, L"maxLength", XFA_Attribute::MaxLength,
     XFA_AttributeType::Integer, XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)-1},
    {0xc4fed09b, L"accessKey", XFA_Attribute::AccessKey,
     XFA_AttributeType::CData, XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     nullptr},
    {0xc5762157, L"cursorLocation", XFA_Attribute::CursorLocation,
     XFA_AttributeType::Enum, XFA_XDPPACKET_SourceSet,
     (void*)XFA_ATTRIBUTEENUM_Client},
    {0xc860f30a, L"delayedOpen", XFA_Attribute::DelayedOpen,
     XFA_AttributeType::CData, XFA_XDPPACKET_SourceSet, nullptr},
    {0xc8da4da7, L"target", XFA_Attribute::Target, XFA_AttributeType::CData,
     XFA_XDPPACKET_Template | XFA_XDPPACKET_Form, nullptr},
    {0xca5dc27c, L"dataEncipherment", XFA_Attribute::DataEncipherment,
     XFA_AttributeType::CData, XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     nullptr},
    {0xcb150479, L"afterTarget", XFA_Attribute::AfterTarget,
     XFA_AttributeType::CData, XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     nullptr},
    {0xcbcaf66d, L"leader", XFA_Attribute::Leader, XFA_AttributeType::CData,
     XFA_XDPPACKET_Template | XFA_XDPPACKET_Form, nullptr},
    {0xcca7897e, L"picker", XFA_Attribute::Picker, XFA_AttributeType::Enum,
     XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)XFA_ATTRIBUTEENUM_Host},
    {0xcd7f7b54, L"from", XFA_Attribute::From, XFA_AttributeType::CData,
     XFA_XDPPACKET_SourceSet | XFA_XDPPACKET_Config, nullptr},
    {0xcea5e62c, L"baseProfile", XFA_Attribute::BaseProfile,
     XFA_AttributeType::Enum, XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)XFA_ATTRIBUTEENUM_Full},
    {0xd171b240, L"aspect", XFA_Attribute::Aspect, XFA_AttributeType::Enum,
     XFA_XDPPACKET_Template | XFA_XDPPACKET_Form, (void*)XFA_ATTRIBUTEENUM_Fit},
    {0xd3c84d25, L"rowColumnRatio", XFA_Attribute::RowColumnRatio,
     XFA_AttributeType::CData, XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     nullptr},
    {0xd4b01921, L"lineHeight", XFA_Attribute::LineHeight,
     XFA_AttributeType::Measure, XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)L"0pt"},
    {0xd4cc53f8, L"highlight", XFA_Attribute::Highlight,
     XFA_AttributeType::Enum, XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)XFA_ATTRIBUTEENUM_Inverted},
    {0xd50f903a, L"valueRef", XFA_Attribute::ValueRef, XFA_AttributeType::CData,
     XFA_XDPPACKET_Template | XFA_XDPPACKET_Form, nullptr},
    {0xd52482e0, L"maxEntries", XFA_Attribute::MaxEntries,
     XFA_AttributeType::Integer, XFA_XDPPACKET_Config, (void*)5},
    {0xd57c513c, L"dataLength", XFA_Attribute::DataLength,
     XFA_AttributeType::CData, XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     nullptr},
    {0xd6128d8d, L"activity", XFA_Attribute::Activity, XFA_AttributeType::Enum,
     XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)XFA_ATTRIBUTEENUM_Click},
    {0xd6a39990, L"input", XFA_Attribute::Input, XFA_AttributeType::CData,
     XFA_XDPPACKET_ConnectionSet, nullptr},
    {0xd6e27f1d, L"value", XFA_Attribute::Value, XFA_AttributeType::CData,
     XFA_XDPPACKET_SourceSet | XFA_XDPPACKET_Config | XFA_XDPPACKET_LocaleSet |
         XFA_XDPPACKET_Template | XFA_XDPPACKET_Datasets |
         XFA_XDPPACKET_ConnectionSet | XFA_XDPPACKET_Form,
     nullptr},
    {0xd70798c2, L"blankOrNotBlank", XFA_Attribute::BlankOrNotBlank,
     XFA_AttributeType::Enum, XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)XFA_ATTRIBUTEENUM_Any},
    {0xd861f8af, L"addRevocationInfo", XFA_Attribute::AddRevocationInfo,
     XFA_AttributeType::CData, XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     nullptr},
    {0xd8f982bf, L"genericFamily", XFA_Attribute::GenericFamily,
     XFA_AttributeType::Enum, XFA_XDPPACKET_Config,
     (void*)XFA_ATTRIBUTEENUM_Serif},
    {0xd996fa9b, L"hand", XFA_Attribute::Hand, XFA_AttributeType::Enum,
     XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)XFA_ATTRIBUTEENUM_Even},
    {0xdb55fec5, L"href", XFA_Attribute::Href, XFA_AttributeType::CData,
     XFA_XDPPACKET_Template | XFA_XDPPACKET_Form, nullptr},
    {0xdc75676c, L"textEncoding", XFA_Attribute::TextEncoding,
     XFA_AttributeType::CData, XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     nullptr},
    {0xde7f92ba, L"leadDigits", XFA_Attribute::LeadDigits,
     XFA_AttributeType::Integer, XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)-1},
    {0xe11a2cbc, L"permissions", XFA_Attribute::Permissions,
     XFA_AttributeType::Integer, XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)2},
    {0xe18b5659, L"spaceAbove", XFA_Attribute::SpaceAbove,
     XFA_AttributeType::Measure, XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)L"0in"},
    {0xe1a26b56, L"codeBase", XFA_Attribute::CodeBase, XFA_AttributeType::CData,
     XFA_XDPPACKET_Template | XFA_XDPPACKET_Form, nullptr},
    {0xe349d044, L"stock", XFA_Attribute::Stock, XFA_AttributeType::CData,
     XFA_XDPPACKET_Template | XFA_XDPPACKET_Form, nullptr},
    {0xe372ae97, L"isNull", XFA_Attribute::IsNull, XFA_AttributeType::Boolean,
     XFA_XDPPACKET_Datasets, (void*)0},
    {0xe4c3a5e5, L"restoreState", XFA_Attribute::RestoreState,
     XFA_AttributeType::Enum, XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)XFA_ATTRIBUTEENUM_Manual},
    {0xe5c96d6a, L"excludeAllCaps", XFA_Attribute::ExcludeAllCaps,
     XFA_AttributeType::Boolean, XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)0},
    {0xe64b1129, L"formatTest", XFA_Attribute::FormatTest,
     XFA_AttributeType::Enum, XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)XFA_ATTRIBUTEENUM_Warning},
    {0xe6f99487, L"hScrollPolicy", XFA_Attribute::HScrollPolicy,
     XFA_AttributeType::Enum, XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)XFA_ATTRIBUTEENUM_Auto},
    {0xe8dddf50, L"join", XFA_Attribute::Join, XFA_AttributeType::Enum,
     XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)XFA_ATTRIBUTEENUM_Square},
    {0xe8f118a8, L"keyCertSign", XFA_Attribute::KeyCertSign,
     XFA_AttributeType::CData, XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     nullptr},
    {0xe948b9a8, L"radius", XFA_Attribute::Radius, XFA_AttributeType::Measure,
     XFA_XDPPACKET_Template | XFA_XDPPACKET_Form, (void*)L"0in"},
    {0xe996b2fe, L"sourceAbove", XFA_Attribute::SourceAbove,
     XFA_AttributeType::Enum, XFA_XDPPACKET_Config,
     (void*)XFA_ATTRIBUTEENUM_Warn},
    {0xea7090a0, L"override", XFA_Attribute::Override,
     XFA_AttributeType::NotSure, XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     nullptr},
    {0xeb091003, L"classId", XFA_Attribute::ClassId, XFA_AttributeType::CData,
     XFA_XDPPACKET_Template | XFA_XDPPACKET_Form, nullptr},
    {0xeb511b54, L"disable", XFA_Attribute::Disable, XFA_AttributeType::Boolean,
     XFA_XDPPACKET_Template | XFA_XDPPACKET_Form, (void*)0},
    {0xeda9017a, L"scope", XFA_Attribute::Scope, XFA_AttributeType::NotSure,
     XFA_XDPPACKET_Config | XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     nullptr},
    {0xf197844d, L"match", XFA_Attribute::Match, XFA_AttributeType::Enum,
     XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)XFA_ATTRIBUTEENUM_Once},
    {0xf2009339, L"placement", XFA_Attribute::Placement,
     XFA_AttributeType::Enum, XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)XFA_ATTRIBUTEENUM_Left},
    {0xf4ffce73, L"before", XFA_Attribute::Before, XFA_AttributeType::Enum,
     XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)XFA_ATTRIBUTEENUM_Auto},
    {0xf531b059, L"writingScript", XFA_Attribute::WritingScript,
     XFA_AttributeType::Enum, XFA_XDPPACKET_Config,
     (void*)XFA_ATTRIBUTEENUM_Asterisk},
    {0xf575ca75, L"endChar", XFA_Attribute::EndChar, XFA_AttributeType::CData,
     XFA_XDPPACKET_Template | XFA_XDPPACKET_Form, nullptr},
    {0xf6b47749, L"lock", XFA_Attribute::Lock, XFA_AttributeType::Integer,
     XFA_XDPPACKET_Config, (void*)0},
    {0xf6b4afb0, L"long", XFA_Attribute::Long, XFA_AttributeType::Measure,
     XFA_XDPPACKET_Template | XFA_XDPPACKET_Form, (void*)L"0in"},
    {0xf6b59543, L"intact", XFA_Attribute::Intact, XFA_AttributeType::Enum,
     XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)XFA_ATTRIBUTEENUM_None},
    {0xf889e747, L"xdpContent", XFA_Attribute::XdpContent,
     XFA_AttributeType::CData, XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     nullptr},
    {0xfea53ec6, L"decipherOnly", XFA_Attribute::DecipherOnly,
     XFA_AttributeType::CData, XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     nullptr},
};
const int32_t g_iXFAAttributeCount =
    sizeof(g_XFAAttributeData) / sizeof(XFA_ATTRIBUTEINFO);
static_assert(g_iXFAAttributeCount ==
                  static_cast<int32_t>(XFA_Attribute::LastAttributePlaceholder),
              "Attribute count mismatch");

const XFA_NOTSUREATTRIBUTE g_XFANotsureAttributes[] = {
    {XFA_Element::SubformSet, XFA_Attribute::Relation, XFA_AttributeType::Enum,
     (void*)XFA_ATTRIBUTEENUM_Ordered},
    {XFA_Element::NumberPattern, XFA_Attribute::Name, XFA_AttributeType::Enum,
     (void*)XFA_ATTRIBUTEENUM_Numeric},
    {XFA_Element::KeyUsage, XFA_Attribute::Type, XFA_AttributeType::Enum,
     (void*)XFA_ATTRIBUTEENUM_Optional},
    {XFA_Element::LabelPrinter, XFA_Attribute::Name, XFA_AttributeType::Enum,
     (void*)XFA_ATTRIBUTEENUM_Zpl},
    {XFA_Element::CalendarSymbols, XFA_Attribute::Name, XFA_AttributeType::Enum,
     (void*)XFA_ATTRIBUTEENUM_Gregorian},
    {XFA_Element::Barcode, XFA_Attribute::Type, XFA_AttributeType::CData,
     nullptr},
    {XFA_Element::Barcode, XFA_Attribute::Checksum, XFA_AttributeType::Enum,
     (void*)XFA_ATTRIBUTEENUM_None},
    {XFA_Element::TimePattern, XFA_Attribute::Name, XFA_AttributeType::Enum,
     (void*)XFA_ATTRIBUTEENUM_Med},
    {XFA_Element::BatchOutput, XFA_Attribute::Format, XFA_AttributeType::Enum,
     (void*)XFA_ATTRIBUTEENUM_None},
    {XFA_Element::SubjectDNs, XFA_Attribute::Type, XFA_AttributeType::Enum,
     (void*)XFA_ATTRIBUTEENUM_Optional},
    {XFA_Element::Issuers, XFA_Attribute::Type, XFA_AttributeType::Enum,
     (void*)XFA_ATTRIBUTEENUM_Optional},
    {XFA_Element::EncryptionMethods, XFA_Attribute::Type,
     XFA_AttributeType::Enum, (void*)XFA_ATTRIBUTEENUM_Optional},
    {XFA_Element::Pattern, XFA_Attribute::Type, XFA_AttributeType::Enum,
     (void*)XFA_ATTRIBUTEENUM_CrossHatch},
    {XFA_Element::Compress, XFA_Attribute::Scope, XFA_AttributeType::Enum,
     (void*)XFA_ATTRIBUTEENUM_ImageOnly},
    {XFA_Element::Image, XFA_Attribute::TransferEncoding,
     XFA_AttributeType::Enum, (void*)XFA_ATTRIBUTEENUM_Base64},
    {XFA_Element::TimeStamp, XFA_Attribute::Type, XFA_AttributeType::Enum,
     (void*)XFA_ATTRIBUTEENUM_Optional},
    {XFA_Element::Subform, XFA_Attribute::Scope, XFA_AttributeType::Enum,
     (void*)XFA_ATTRIBUTEENUM_Name},
    {XFA_Element::Handler, XFA_Attribute::Type, XFA_AttributeType::Enum,
     (void*)XFA_ATTRIBUTEENUM_Optional},
    {XFA_Element::Record, XFA_Attribute::Max, XFA_AttributeType::Integer,
     (void*)0},
    {XFA_Element::Command, XFA_Attribute::Timeout, XFA_AttributeType::Integer,
     (void*)30},
    {XFA_Element::DigestMethods, XFA_Attribute::Type, XFA_AttributeType::Enum,
     (void*)XFA_ATTRIBUTEENUM_Optional},
    {XFA_Element::PageSet, XFA_Attribute::Relation, XFA_AttributeType::Enum,
     (void*)XFA_ATTRIBUTEENUM_OrderedOccurrence},
    {XFA_Element::Equate, XFA_Attribute::From, XFA_AttributeType::CData,
     nullptr},
    {XFA_Element::Equate, XFA_Attribute::To, XFA_AttributeType::CData, nullptr},
    {XFA_Element::Traverse, XFA_Attribute::Operation, XFA_AttributeType::Enum,
     (void*)XFA_ATTRIBUTEENUM_Next},
    {XFA_Element::Encodings, XFA_Attribute::Type, XFA_AttributeType::Enum,
     (void*)XFA_ATTRIBUTEENUM_Optional},
    {XFA_Element::Signing, XFA_Attribute::Type, XFA_AttributeType::Enum,
     (void*)XFA_ATTRIBUTEENUM_Optional},
    {XFA_Element::Oids, XFA_Attribute::Type, XFA_AttributeType::Enum,
     (void*)XFA_ATTRIBUTEENUM_Optional},
    {XFA_Element::Signature, XFA_Attribute::Type, XFA_AttributeType::Enum,
     (void*)XFA_ATTRIBUTEENUM_PDF1_3},
    {XFA_Element::ExData, XFA_Attribute::TransferEncoding,
     XFA_AttributeType::Enum, (void*)XFA_ATTRIBUTEENUM_None},
    {XFA_Element::Linear, XFA_Attribute::Type, XFA_AttributeType::Enum,
     (void*)XFA_ATTRIBUTEENUM_ToRight},
    {XFA_Element::CurrencySymbol, XFA_Attribute::Name, XFA_AttributeType::Enum,
     (void*)XFA_ATTRIBUTEENUM_Symbol},
    {XFA_Element::EquateRange, XFA_Attribute::From, XFA_AttributeType::CData,
     nullptr},
    {XFA_Element::EquateRange, XFA_Attribute::To, XFA_AttributeType::CData,
     nullptr},
    {XFA_Element::SignData, XFA_Attribute::Operation, XFA_AttributeType::Enum,
     (void*)XFA_ATTRIBUTEENUM_Sign},
    {XFA_Element::DatePattern, XFA_Attribute::Name, XFA_AttributeType::Enum,
     (void*)XFA_ATTRIBUTEENUM_Med},
    {XFA_Element::Bind, XFA_Attribute::TransferEncoding,
     XFA_AttributeType::Enum, (void*)XFA_ATTRIBUTEENUM_None},
    {XFA_Element::Reasons, XFA_Attribute::Type, XFA_AttributeType::Enum,
     (void*)XFA_ATTRIBUTEENUM_Optional},
    {XFA_Element::AppearanceFilter, XFA_Attribute::Type,
     XFA_AttributeType::Enum, (void*)XFA_ATTRIBUTEENUM_Optional},
    {XFA_Element::Form, XFA_Attribute::Checksum, XFA_AttributeType::CData,
     nullptr},
    {XFA_Element::Value, XFA_Attribute::Override, XFA_AttributeType::Boolean,
     (void*)0},
    {XFA_Element::Calculate, XFA_Attribute::Override, XFA_AttributeType::Enum,
     (void*)XFA_ATTRIBUTEENUM_Error},
    {XFA_Element::Connect, XFA_Attribute::Timeout, XFA_AttributeType::Integer,
     (void*)15},
    {XFA_Element::Submit, XFA_Attribute::Format, XFA_AttributeType::Enum,
     (void*)XFA_ATTRIBUTEENUM_Xdp},
    {XFA_Element::Radial, XFA_Attribute::Type, XFA_AttributeType::Enum,
     (void*)XFA_ATTRIBUTEENUM_ToEdge},
    {XFA_Element::LockDocument, XFA_Attribute::Type, XFA_AttributeType::Enum,
     (void*)XFA_ATTRIBUTEENUM_Optional},
    {XFA_Element::Occur, XFA_Attribute::Max, XFA_AttributeType::Integer,
     (void*)1},
    {XFA_Element::NumberSymbol, XFA_Attribute::Name, XFA_AttributeType::Enum,
     (void*)XFA_ATTRIBUTEENUM_Decimal},
};
const int32_t g_iXFANotsureCount =
    sizeof(g_XFANotsureAttributes) / sizeof(XFA_NOTSUREATTRIBUTE);
