// 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"

static const CXFA_Measurement g_XFAMeasurementData[] = {
    CXFA_Measurement(0, XFA_UNIT_In),
    CXFA_Measurement(0, XFA_UNIT_Pt),
    CXFA_Measurement(5, XFA_UNIT_Mm),
    CXFA_Measurement(0.25, XFA_UNIT_Mm),
    CXFA_Measurement(-1, XFA_UNIT_Unknown),
    CXFA_Measurement(0, XFA_UNIT_Angle),
    CXFA_Measurement(10, XFA_UNIT_Pt),
    CXFA_Measurement(360, XFA_UNIT_Angle),
    CXFA_Measurement(0.5, XFA_UNIT_Pt),
};

const XFA_ATTRIBUTEINFO g_XFAAttributeData[] = {
    {0x68, L"h", XFA_ATTRIBUTE_H, XFA_ATTRIBUTETYPE_Measure,
     XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)(g_XFAMeasurementData + 0)},
    {0x77, L"w", XFA_ATTRIBUTE_W, XFA_ATTRIBUTETYPE_Measure,
     XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)(g_XFAMeasurementData + 0)},
    {0x78, L"x", XFA_ATTRIBUTE_X, XFA_ATTRIBUTETYPE_Measure,
     XFA_XDPPACKET_Config | XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)(g_XFAMeasurementData + 0)},
    {0x79, L"y", XFA_ATTRIBUTE_Y, XFA_ATTRIBUTETYPE_Measure,
     XFA_XDPPACKET_Config | XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)(g_XFAMeasurementData + 0)},
    {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*)(g_XFAMeasurementData + 0)},
    {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*)(g_XFAMeasurementData + 0)},
    {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*)(g_XFAMeasurementData + 0)},
    {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*)(g_XFAMeasurementData + 0)},
    {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*)(g_XFAMeasurementData + 0)},
    {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_Measure,
     XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)(g_XFAMeasurementData + 5)},
    {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*)(g_XFAMeasurementData + 4)},
    {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*)(g_XFAMeasurementData + 3)},
    {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*)(g_XFAMeasurementData + 0)},
    {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*)(g_XFAMeasurementData + 0)},
    {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*)(g_XFAMeasurementData + 2)},
    {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*)(g_XFAMeasurementData + 0)},
    {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_Measure, XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)(g_XFAMeasurementData + 5)},
    {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*)(g_XFAMeasurementData + 0)},
    {0x74788f8b, L"sweepAngle", XFA_ATTRIBUTE_SweepAngle,
     XFA_ATTRIBUTETYPE_Measure, XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)(g_XFAMeasurementData + 7)},
    {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*)(g_XFAMeasurementData + 0)},
    {0x7c2ff6bd, L"maxW", XFA_ATTRIBUTE_MaxW, XFA_ATTRIBUTETYPE_Measure,
     XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)(g_XFAMeasurementData + 0)},
    {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*)(g_XFAMeasurementData + 0)},
    {0x7d02357b, L"minW", XFA_ATTRIBUTE_MinW, XFA_ATTRIBUTETYPE_Measure,
     XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
     (void*)(g_XFAMeasurementData + 0)},
    {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*)(g_XFAMeasurementData + 0)},
    {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*)(g_XFAMeasurementData + 0)},
    {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*)(g_XFAMeasurementData + 8)},
    {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*)(g_XFAMeasurementData + 6)},
    {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*)(g_XFAMeasurementData + 1)},
    {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*)(g_XFAMeasurementData + 0)},
    {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*)(g_XFAMeasurementData + 0)},
    {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*)(g_XFAMeasurementData + 0)},
    {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);

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);
