text: /*
   *
   *    Copyright (c) 2022 Project CHIP Authors
   *
   *    Licensed under the Apache License, Version 2.0 (the "License");
   *    you may not use this file except in compliance with the License.
   *    You may obtain a copy of the License at
   *
   *        http://www.apache.org/licenses/LICENSE-2.0
   *
   *    Unless required by applicable law or agreed to in writing, software
   *    distributed under the License is distributed on an "AS IS" BASIS,
   *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   *    See the License for the specific language governing permissions and
   *    limitations under the License.
   */
  
  // THIS FILE IS GENERATED BY ZAP
  
  // Prevent multiple inclusion
  #pragma once
  
  #include <lib/core/CHIPConfig.h>
  
  // Default values for the attributes longer than a pointer,
  // in a form of a binary blob
  // Separate block is generated for big-endian and little-endian cases.
  #if BIGENDIAN_CPU
  #define GENERATED_DEFAULTS                                                                                                         \
      {                                                                                                                              \
                                                                                                                                     \
          /* Endpoint: 0, Cluster: Localization Configuration (server), big-endian */                                                \
                                                                                                                                     \
          /* 0 - ActiveLocale, */                                                                                                    \
          5, 'e', 'n', '-', 'U', 'S',                                                                                                \
                                                                                                                                     \
              /* Endpoint: 0, Cluster: General Commissioning (server), big-endian */                                                 \
                                                                                                                                     \
              /* 6 - Breadcrumb, */                                                                                                  \
              0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                                                                        \
                                                                                                                                     \
              /* Endpoint: 1, Cluster: IAS Zone (server), big-endian */                                                              \
                                                                                                                                     \
              /* 14 - IAS CIE address, */                                                                                            \
              0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                                                                        \
                                                                                                                                     \
              /* Endpoint: 1, Cluster: Test Cluster (server), big-endian */                                                          \
                                                                                                                                     \
              /* 22 - bitmap64, */                                                                                                   \
              0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                                                                        \
                                                                                                                                     \
              /* 30 - int64u, */                                                                                                     \
              0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                                                                        \
                                                                                                                                     \
              /* 38 - int64s, */                                                                                                     \
              0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                                                                        \
      }
  
  #else // !BIGENDIAN_CPU
  #define GENERATED_DEFAULTS                                                                                                         \
      {                                                                                                                              \
                                                                                                                                     \
          /* Endpoint: 0, Cluster: Localization Configuration (server), little-endian */                                             \
                                                                                                                                     \
          /* 0 - ActiveLocale, */                                                                                                    \
          5, 'e', 'n', '-', 'U', 'S',                                                                                                \
                                                                                                                                     \
              /* Endpoint: 0, Cluster: General Commissioning (server), little-endian */                                              \
                                                                                                                                     \
              /* 6 - Breadcrumb, */                                                                                                  \
              0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                                                                        \
                                                                                                                                     \
              /* Endpoint: 1, Cluster: IAS Zone (server), little-endian */                                                           \
                                                                                                                                     \
              /* 14 - IAS CIE address, */                                                                                            \
              0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                                                                        \
                                                                                                                                     \
              /* Endpoint: 1, Cluster: Test Cluster (server), little-endian */                                                       \
                                                                                                                                     \
              /* 22 - bitmap64, */                                                                                                   \
              0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                                                                        \
                                                                                                                                     \
              /* 30 - int64u, */                                                                                                     \
              0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                                                                        \
                                                                                                                                     \
              /* 38 - int64s, */                                                                                                     \
              0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                                                                        \
      }
  
  #endif // BIGENDIAN_CPU
  
  #define GENERATED_DEFAULTS_COUNT (6)
  
  #define ZAP_TYPE(type) ZCL_##type##_ATTRIBUTE_TYPE
  #define ZAP_LONG_DEFAULTS_INDEX(index)                                                                                             \
      {                                                                                                                              \
          &generatedDefaults[index]                                                                                                  \
      }
  #define ZAP_MIN_MAX_DEFAULTS_INDEX(index)                                                                                          \
      {                                                                                                                              \
          &minMaxDefaults[index]                                                                                                     \
      }
  #define ZAP_EMPTY_DEFAULT()                                                                                                        \
      {                                                                                                                              \
          (uint32_t) 0                                                                                                               \
      }
  #define ZAP_SIMPLE_DEFAULT(x)                                                                                                      \
      {                                                                                                                              \
          (uint32_t) x                                                                                                               \
      }
  
  // This is an array of EmberAfAttributeMinMaxValue structures.
  #define GENERATED_MIN_MAX_DEFAULT_COUNT 4
  #define GENERATED_MIN_MAX_DEFAULTS                                                                                                 \
      {                                                                                                                              \
                                                                                                                                     \
          /* Endpoint: 0, Cluster: Time Format Localization (server) */                                                              \
          { (uint16_t) 0x0, (uint16_t) 0x0, (uint16_t) 0x1 }, /* HourFormat */                                                       \
                                                                                                                                     \
              /* Endpoint: 1, Cluster: On/Off (server) */                                                                            \
              { (uint16_t) 0x0, (uint16_t) 0x0, (uint16_t) 0x2 }, /* StartUpOnOff */                                                 \
                                                                                                                                     \
              /* Endpoint: 1, Cluster: Level Control (server) */                                                                     \
              { (uint16_t) 0x0, (uint16_t) 0x0, (uint16_t) 0x3 }, /* options */                                                      \
                                                                                                                                     \
          /* Endpoint: 1, Cluster: Binary Input (Basic) (server) */                                                                  \
          {                                                                                                                          \
              (uint16_t) 0x0, (uint16_t) 0x0, (uint16_t) 0x1                                                                         \
          } /* out of service */                                                                                                     \
      }
  
  #define ZAP_ATTRIBUTE_MASK(mask) ATTRIBUTE_MASK_##mask
  // This is an array of EmberAfAttributeMetadata structures.
  #define GENERATED_ATTRIBUTE_COUNT 305
  #define GENERATED_ATTRIBUTES                                                                                                       \
      {                                                                                                                              \
                                                                                                                                     \
          /* Endpoint: 0, Cluster: Descriptor (server) */                                                                            \
          { 0x00000000, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() },      /* device list */      \
              { 0x00000001, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() },  /* server list */      \
              { 0x00000002, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() },  /* client list */      \
              { 0x00000003, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() },  /* parts list */       \
              { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_SIMPLE_DEFAULT(0) },                                /* FeatureMap */       \
              { 0x0000FFFD, ZAP_TYPE(INT16U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* ClusterRevision */  \
                                                                                                                                     \
              /* Endpoint: 0, Cluster: Binding (server) */                                                                           \
              { 0x00000000, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(WRITABLE),                 \
                ZAP_EMPTY_DEFAULT() },                                         /* Binding */                                         \
              { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_SIMPLE_DEFAULT(0) }, /* FeatureMap */                                      \
              { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) },   /* ClusterRevision */                                 \
                                                                                                                                     \
              /* Endpoint: 0, Cluster: Access Control (server) */                                                                    \
              { 0x00000000, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(WRITABLE),                 \
                ZAP_EMPTY_DEFAULT() }, /* ACL */                                                                                     \
              { 0x00000001, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(WRITABLE),                 \
                ZAP_EMPTY_DEFAULT() }, /* Extension */                                                                               \
              { 0x00000002, ZAP_TYPE(INT16U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE),                                               \
                ZAP_EMPTY_DEFAULT() }, /* SubjectsPerAccessControlEntry */                                                           \
              { 0x00000003, ZAP_TYPE(INT16U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE),                                               \
                ZAP_EMPTY_DEFAULT() }, /* TargetsPerAccessControlEntry */                                                            \
              { 0x00000004, ZAP_TYPE(INT16U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE),                                               \
                ZAP_EMPTY_DEFAULT() },                                         /* AccessControlEntriesPerFabric */                   \
              { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_SIMPLE_DEFAULT(0) }, /* FeatureMap */                                      \
              { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) },   /* ClusterRevision */                                 \
                                                                                                                                     \
              /* Endpoint: 0, Cluster: Basic (server) */                                                                             \
              { 0x00000000, ZAP_TYPE(INT16U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON),               \
                ZAP_EMPTY_DEFAULT() }, /* DataModelRevision */                                                                       \
              { 0x00000001, ZAP_TYPE(CHAR_STRING), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON),          \
                ZAP_EMPTY_DEFAULT() }, /* VendorName */                                                                              \
              { 0x00000002, ZAP_TYPE(VENDOR_ID), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON),            \
                ZAP_EMPTY_DEFAULT() }, /* VendorID */                                                                                \
              { 0x00000003, ZAP_TYPE(CHAR_STRING), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON),          \
                ZAP_EMPTY_DEFAULT() }, /* ProductName */                                                                             \
              { 0x00000004, ZAP_TYPE(INT16U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON),               \
                ZAP_EMPTY_DEFAULT() }, /* ProductID */                                                                               \
              { 0x00000005, ZAP_TYPE(CHAR_STRING), 33,                                                                               \
                ZAP_ATTRIBUTE_MASK(TOKENIZE) | ZAP_ATTRIBUTE_MASK(SINGLETON) | ZAP_ATTRIBUTE_MASK(WRITABLE),                         \
                ZAP_EMPTY_DEFAULT() }, /* NodeLabel */                                                                               \
              { 0x00000006, ZAP_TYPE(CHAR_STRING), 0,                                                                                \
                ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON) | ZAP_ATTRIBUTE_MASK(WRITABLE),                 \
                ZAP_EMPTY_DEFAULT() }, /* Location */                                                                                \
              { 0x00000007, ZAP_TYPE(INT16U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON),               \
                ZAP_EMPTY_DEFAULT() }, /* HardwareVersion */                                                                         \
              { 0x00000008, ZAP_TYPE(CHAR_STRING), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON),          \
                ZAP_EMPTY_DEFAULT() }, /* HardwareVersionString */                                                                   \
              { 0x00000009, ZAP_TYPE(INT32U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON),               \
                ZAP_EMPTY_DEFAULT() }, /* SoftwareVersion */                                                                         \
              { 0x0000000A, ZAP_TYPE(CHAR_STRING), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON),          \
                ZAP_EMPTY_DEFAULT() }, /* SoftwareVersionString */                                                                   \
              { 0x0000000B, ZAP_TYPE(CHAR_STRING), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON),          \
                ZAP_EMPTY_DEFAULT() }, /* ManufacturingDate */                                                                       \
              { 0x0000000C, ZAP_TYPE(CHAR_STRING), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON),          \
                ZAP_EMPTY_DEFAULT() }, /* PartNumber */                                                                              \
              { 0x0000000D, ZAP_TYPE(LONG_CHAR_STRING), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON),     \
                ZAP_EMPTY_DEFAULT() }, /* ProductURL */                                                                              \
              { 0x0000000E, ZAP_TYPE(CHAR_STRING), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON),          \
                ZAP_EMPTY_DEFAULT() }, /* ProductLabel */                                                                            \
              { 0x0000000F, ZAP_TYPE(CHAR_STRING), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON),          \
                ZAP_EMPTY_DEFAULT() }, /* SerialNumber */                                                                            \
              { 0x00000010, ZAP_TYPE(BOOLEAN), 1,                                                                                    \
                ZAP_ATTRIBUTE_MASK(TOKENIZE) | ZAP_ATTRIBUTE_MASK(SINGLETON) | ZAP_ATTRIBUTE_MASK(WRITABLE),                         \
                ZAP_SIMPLE_DEFAULT(0) },                                                                  /* LocalConfigDisabled */  \
              { 0x00000011, ZAP_TYPE(BOOLEAN), 1, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_SIMPLE_DEFAULT(1) }, /* Reachable */            \
              { 0x00000012, ZAP_TYPE(CHAR_STRING), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON),          \
                ZAP_EMPTY_DEFAULT() },                                                                        /* UniqueID */         \
              { 0x00000013, ZAP_TYPE(STRUCT), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* CapabilityMinima */ \
              { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_SIMPLE_DEFAULT(0) },                                /* FeatureMap */       \
              { 0x0000FFFD, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_SIMPLE_DEFAULT(1) },      /* ClusterRevision */  \
                                                                                                                                     \
              /* Endpoint: 0, Cluster: OTA Software Update Provider (server) */                                                      \
              { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_SIMPLE_DEFAULT(0) }, /* FeatureMap */                                      \
              { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) },   /* ClusterRevision */                                 \
                                                                                                                                     \
              /* Endpoint: 0, Cluster: Localization Configuration (server) */                                                        \
              { 0x00000000, ZAP_TYPE(CHAR_STRING), 36, ZAP_ATTRIBUTE_MASK(TOKENIZE) | ZAP_ATTRIBUTE_MASK(WRITABLE),                  \
                ZAP_LONG_DEFAULTS_INDEX(0) },                                                                /* ActiveLocale */      \
              { 0x00000001, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* SupportedLocales */  \
              { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_SIMPLE_DEFAULT(0) },                               /* FeatureMap */        \
              { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) },                                 /* ClusterRevision */   \
                                                                                                                                     \
              /* Endpoint: 0, Cluster: Time Format Localization (server) */                                                          \
              { 0x00000000, ZAP_TYPE(ENUM8), 1,                                                                                      \
                ZAP_ATTRIBUTE_MASK(MIN_MAX) | ZAP_ATTRIBUTE_MASK(TOKENIZE) | ZAP_ATTRIBUTE_MASK(WRITABLE),                           \
                ZAP_MIN_MAX_DEFAULTS_INDEX(0) }, /* HourFormat */                                                                    \
              { 0x00000001, ZAP_TYPE(ENUM8), 1, ZAP_ATTRIBUTE_MASK(TOKENIZE) | ZAP_ATTRIBUTE_MASK(WRITABLE),                         \
                ZAP_SIMPLE_DEFAULT(0) }, /* ActiveCalendarType */                                                                    \
              { 0x00000002, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE),                                                \
                ZAP_EMPTY_DEFAULT() },                                         /* SupportedCalendarTypes */                          \
              { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_SIMPLE_DEFAULT(0) }, /* FeatureMap */                                      \
              { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) },   /* ClusterRevision */                                 \
                                                                                                                                     \
              /* Endpoint: 0, Cluster: Unit Localization (server) */                                                                 \
              { 0x00000000, ZAP_TYPE(ENUM8), 1, ZAP_ATTRIBUTE_MASK(TOKENIZE) | ZAP_ATTRIBUTE_MASK(WRITABLE),                         \
                ZAP_SIMPLE_DEFAULT(0) },                                         /* TemperatureUnit */                               \
              { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_SIMPLE_DEFAULT(0x1) }, /* FeatureMap */                                    \
              { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) },     /* ClusterRevision */                               \
                                                                                                                                     \
              /* Endpoint: 0, Cluster: General Commissioning (server) */                                                             \
              { 0x00000000, ZAP_TYPE(INT64U), 8, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(6) }, /* Breadcrumb */        \
              { 0x00000001, ZAP_TYPE(STRUCT), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE),                                               \
                ZAP_EMPTY_DEFAULT() }, /* BasicCommissioningInfo */                                                                  \
              { 0x00000002, ZAP_TYPE(ENUM8), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* RegulatoryConfig */  \
              { 0x00000003, ZAP_TYPE(ENUM8), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE),                                                \
                ZAP_EMPTY_DEFAULT() }, /* LocationCapability */                                                                      \
              { 0x00000004, ZAP_TYPE(BOOLEAN), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE),                                              \
                ZAP_EMPTY_DEFAULT() },                                         /* SupportsConcurrentConnection */                    \
              { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_SIMPLE_DEFAULT(6) }, /* FeatureMap */                                      \
              { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) },   /* ClusterRevision */                                 \
                                                                                                                                     \
              /* Endpoint: 0, Cluster: Network Commissioning (server) */                                                             \
              { 0x00000000, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() },                                    /* MaxNetworks */       \
              { 0x00000001, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* Networks */          \
              { 0x00000002, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() },                              /* ScanMaxTimeSeconds */      \
              { 0x00000003, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() },                              /* ConnectMaxTimeSeconds */   \
              { 0x00000004, ZAP_TYPE(BOOLEAN), 1, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_EMPTY_DEFAULT() }, /* InterfaceEnabled */        \
              { 0x00000005, ZAP_TYPE(ENUM8), 1, ZAP_ATTRIBUTE_MASK(NULLABLE), ZAP_EMPTY_DEFAULT() },   /* LastNetworkingStatus */    \
              { 0x00000006, ZAP_TYPE(OCTET_STRING), 33, ZAP_ATTRIBUTE_MASK(NULLABLE), ZAP_EMPTY_DEFAULT() }, /* LastNetworkID */     \
              { 0x00000007, ZAP_TYPE(INT32S), 4, ZAP_ATTRIBUTE_MASK(NULLABLE), ZAP_EMPTY_DEFAULT() }, /* LastConnectErrorValue */    \
              { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_SIMPLE_DEFAULT(2) },                        /* FeatureMap */               \
              { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) },                          /* ClusterRevision */          \
                                                                                                                                     \
              /* Endpoint: 0, Cluster: Diagnostic Logs (server) */                                                                   \
              { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_SIMPLE_DEFAULT(0) }, /* FeatureMap */                                      \
              { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) },   /* ClusterRevision */                                 \
                                                                                                                                     \
              /* Endpoint: 0, Cluster: General Diagnostics (server) */                                                               \
              { 0x00000000, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* NetworkInterfaces */ \
              { 0x00000001, ZAP_TYPE(INT16U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* RebootCount */      \
              { 0x00000002, ZAP_TYPE(INT64U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* UpTime */           \
              { 0x00000003, ZAP_TYPE(INT32U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE),                                               \
                ZAP_EMPTY_DEFAULT() }, /* TotalOperationalHours */                                                                   \
              { 0x00000004, ZAP_TYPE(ENUM8), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* BootReasons */       \
              { 0x00000005, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE),                                                \
                ZAP_EMPTY_DEFAULT() }, /* ActiveHardwareFaults */                                                                    \
              { 0x00000006, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* ActiveRadioFaults */ \
              { 0x00000007, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE),                                                \
                ZAP_EMPTY_DEFAULT() },                                         /* ActiveNetworkFaults */                             \
              { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_SIMPLE_DEFAULT(0) }, /* FeatureMap */                                      \
              { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) },   /* ClusterRevision */                                 \
                                                                                                                                     \
              /* Endpoint: 0, Cluster: Software Diagnostics (server) */                                                              \
              { 0x00000000, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() },  /* ThreadMetrics */    \
              { 0x00000001, ZAP_TYPE(INT64U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* CurrentHeapFree */  \
              { 0x00000002, ZAP_TYPE(INT64U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* CurrentHeapUsed */  \
              { 0x00000003, ZAP_TYPE(INT64U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE),                                               \
                ZAP_EMPTY_DEFAULT() },                                         /* CurrentHeapHighWatermark */                        \
              { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_SIMPLE_DEFAULT(1) }, /* FeatureMap */                                      \
              { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) },   /* ClusterRevision */                                 \
                                                                                                                                     \
              /* Endpoint: 0, Cluster: Thread Network Diagnostics (server) */                                                        \
              { 0x00000000, ZAP_TYPE(INT16U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE),                \
                ZAP_EMPTY_DEFAULT() }, /* channel */                                                                                 \
              { 0x00000001, ZAP_TYPE(ENUM8), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE),                 \
                ZAP_EMPTY_DEFAULT() }, /* RoutingRole */                                                                             \
              { 0x00000002, ZAP_TYPE(CHAR_STRING), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE),           \
                ZAP_EMPTY_DEFAULT() }, /* NetworkName */                                                                             \
              { 0x00000003, ZAP_TYPE(INT16U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE),                \
                ZAP_EMPTY_DEFAULT() }, /* PanId */                                                                                   \
              { 0x00000004, ZAP_TYPE(INT64U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE),                \
                ZAP_EMPTY_DEFAULT() }, /* ExtendedPanId */                                                                           \
              { 0x00000005, ZAP_TYPE(OCTET_STRING), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE),          \
                ZAP_EMPTY_DEFAULT() },                                                                        /* MeshLocalPrefix */  \
              { 0x00000006, ZAP_TYPE(INT64U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* OverrunCount */     \
              { 0x00000007, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* NeighborTableList */ \
              { 0x00000008, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* RouteTableList */    \
              { 0x00000009, ZAP_TYPE(INT32U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE),                \
                ZAP_EMPTY_DEFAULT() }, /* PartitionId */                                                                             \
              { 0x0000000A, ZAP_TYPE(INT8U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE),                 \
                ZAP_EMPTY_DEFAULT() }, /* weighting */                                                                               \
              { 0x0000000B, ZAP_TYPE(INT8U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE),                 \
                ZAP_EMPTY_DEFAULT() }, /* DataVersion */                                                                             \
              { 0x0000000C, ZAP_TYPE(INT8U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE),                 \
                ZAP_EMPTY_DEFAULT() }, /* StableDataVersion */                                                                       \
              { 0x0000000D, ZAP_TYPE(INT8U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE),                 \
                ZAP_EMPTY_DEFAULT() }, /* LeaderRouterId */                                                                          \
              { 0x0000000E, ZAP_TYPE(INT16U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE),                                               \
                ZAP_EMPTY_DEFAULT() }, /* DetachedRoleCount */                                                                       \
              { 0x0000000F, ZAP_TYPE(INT16U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* ChildRoleCount */   \
              { 0x00000010, ZAP_TYPE(INT16U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* RouterRoleCount */  \
              { 0x00000011, ZAP_TYPE(INT16U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* LeaderRoleCount */  \
              { 0x00000012, ZAP_TYPE(INT16U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE),                                               \
                ZAP_EMPTY_DEFAULT() }, /* AttachAttemptCount */                                                                      \
              { 0x00000013, ZAP_TYPE(INT16U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE),                                               \
                ZAP_EMPTY_DEFAULT() }, /* PartitionIdChangeCount */                                                                  \
              { 0x00000014, ZAP_TYPE(INT16U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE),                                               \
                ZAP_EMPTY_DEFAULT() }, /* BetterPartitionAttachAttemptCount */                                                       \
              { 0x00000015, ZAP_TYPE(INT16U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE),                                               \
                ZAP_EMPTY_DEFAULT() }, /* ParentChangeCount */                                                                       \
              { 0x00000016, ZAP_TYPE(INT32U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* TxTotalCount */     \
              { 0x00000017, ZAP_TYPE(INT32U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* TxUnicastCount */   \
              { 0x00000018, ZAP_TYPE(INT32U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* TxBroadcastCount */ \
              { 0x00000019, ZAP_TYPE(INT32U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE),                                               \
                ZAP_EMPTY_DEFAULT() }, /* TxAckRequestedCount */                                                                     \
              { 0x0000001A, ZAP_TYPE(INT32U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* TxAckedCount */     \
              { 0x0000001B, ZAP_TYPE(INT32U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE),                                               \
                ZAP_EMPTY_DEFAULT() }, /* TxNoAckRequestedCount */                                                                   \
              { 0x0000001C, ZAP_TYPE(INT32U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* TxDataCount */      \
              { 0x0000001D, ZAP_TYPE(INT32U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* TxDataPollCount */  \
              { 0x0000001E, ZAP_TYPE(INT32U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* TxBeaconCount */    \
              { 0x0000001F, ZAP_TYPE(INT32U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE),                                               \
                ZAP_EMPTY_DEFAULT() }, /* TxBeaconRequestCount */                                                                    \
              { 0x00000020, ZAP_TYPE(INT32U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* TxOtherCount */     \
              { 0x00000021, ZAP_TYPE(INT32U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* TxRetryCount */     \
              { 0x00000022, ZAP_TYPE(INT32U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE),                                               \
                ZAP_EMPTY_DEFAULT() }, /* TxDirectMaxRetryExpiryCount */                                                             \
              { 0x00000023, ZAP_TYPE(INT32U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE),                                               \
                ZAP_EMPTY_DEFAULT() }, /* TxIndirectMaxRetryExpiryCount */                                                           \
              { 0x00000024, ZAP_TYPE(INT32U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* TxErrCcaCount */    \
              { 0x00000025, ZAP_TYPE(INT32U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* TxErrAbortCount */  \
              { 0x00000026, ZAP_TYPE(INT32U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE),                                               \
                ZAP_EMPTY_DEFAULT() }, /* TxErrBusyChannelCount */                                                                   \
              { 0x00000027, ZAP_TYPE(INT32U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* RxTotalCount */     \
              { 0x00000028, ZAP_TYPE(INT32U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* RxUnicastCount */   \
              { 0x00000029, ZAP_TYPE(INT32U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* RxBroadcastCount */ \
              { 0x0000002A, ZAP_TYPE(INT32U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* RxDataCount */      \
              { 0x0000002B, ZAP_TYPE(INT32U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* RxDataPollCount */  \
              { 0x0000002C, ZAP_TYPE(INT32U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* RxBeaconCount */    \
              { 0x0000002D, ZAP_TYPE(INT32U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE),                                               \
                ZAP_EMPTY_DEFAULT() }, /* RxBeaconRequestCount */                                                                    \
              { 0x0000002E, ZAP_TYPE(INT32U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* RxOtherCount */     \
              { 0x0000002F, ZAP_TYPE(INT32U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE),                                               \
                ZAP_EMPTY_DEFAULT() }, /* RxAddressFilteredCount */                                                                  \
              { 0x00000030, ZAP_TYPE(INT32U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE),                                               \
                ZAP_EMPTY_DEFAULT() }, /* RxDestAddrFilteredCount */                                                                 \
              { 0x00000031, ZAP_TYPE(INT32U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE),                                               \
                ZAP_EMPTY_DEFAULT() }, /* RxDuplicatedCount */                                                                       \
              { 0x00000032, ZAP_TYPE(INT32U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE),                                               \
                ZAP_EMPTY_DEFAULT() }, /* RxErrNoFrameCount */                                                                       \
              { 0x00000033, ZAP_TYPE(INT32U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE),                                               \
                ZAP_EMPTY_DEFAULT() }, /* RxErrUnknownNeighborCount */                                                               \
              { 0x00000034, ZAP_TYPE(INT32U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE),                                               \
                ZAP_EMPTY_DEFAULT() }, /* RxErrInvalidSrcAddrCount */                                                                \
              { 0x00000035, ZAP_TYPE(INT32U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* RxErrSecCount */    \
              { 0x00000036, ZAP_TYPE(INT32U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* RxErrFcsCount */    \
              { 0x00000037, ZAP_TYPE(INT32U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* RxErrOtherCount */  \
              { 0x00000038, ZAP_TYPE(INT64U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE),                \
                ZAP_EMPTY_DEFAULT() }, /* ActiveTimestamp */                                                                         \
              { 0x00000039, ZAP_TYPE(INT64U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE),                \
                ZAP_EMPTY_DEFAULT() }, /* PendingTimestamp */                                                                        \
              { 0x0000003A, ZAP_TYPE(INT32U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE),                \
                ZAP_EMPTY_DEFAULT() }, /* delay */                                                                                   \
              { 0x0000003B, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE),                 \
                ZAP_EMPTY_DEFAULT() }, /* SecurityPolicy */                                                                          \
              { 0x0000003C, ZAP_TYPE(OCTET_STRING), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE),          \
                ZAP_EMPTY_DEFAULT() }, /* ChannelMask */                                                                             \
              { 0x0000003D, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE),                 \
                ZAP_EMPTY_DEFAULT() }, /* OperationalDatasetComponents */                                                            \
              { 0x0000003E, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE),                                                \
                ZAP_EMPTY_DEFAULT() },                                              /* ActiveNetworkFaultsList */                    \
              { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_SIMPLE_DEFAULT(0x000F) }, /* FeatureMap */                                 \
              { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) },        /* ClusterRevision */                            \
                                                                                                                                     \
              /* Endpoint: 0, Cluster: WiFi Network Diagnostics (server) */                                                          \
              { 0x00000000, ZAP_TYPE(OCTET_STRING), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE),          \
                ZAP_EMPTY_DEFAULT() }, /* bssid */                                                                                   \
              { 0x00000001, ZAP_TYPE(ENUM8), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE),                 \
                ZAP_EMPTY_DEFAULT() }, /* SecurityType */                                                                            \
              { 0x00000002, ZAP_TYPE(ENUM8), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE),                 \
                ZAP_EMPTY_DEFAULT() }, /* WiFiVersion */                                                                             \
              { 0x00000003, ZAP_TYPE(INT16U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE),                \
                ZAP_EMPTY_DEFAULT() }, /* ChannelNumber */                                                                           \
              { 0x00000004, ZAP_TYPE(INT8S), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE),                 \
                ZAP_EMPTY_DEFAULT() },                                                                        /* Rssi */             \
              { 0x00000005, ZAP_TYPE(INT32U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* BeaconLostCount */  \
              { 0x00000006, ZAP_TYPE(INT32U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* BeaconRxCount */    \
              { 0x00000007, ZAP_TYPE(INT32U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE),                                               \
                ZAP_EMPTY_DEFAULT() }, /* PacketMulticastRxCount */                                                                  \
              { 0x00000008, ZAP_TYPE(INT32U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE),                                               \
                ZAP_EMPTY_DEFAULT() }, /* PacketMulticastTxCount */                                                                  \
              { 0x00000009, ZAP_TYPE(INT32U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE),                                               \
                ZAP_EMPTY_DEFAULT() }, /* PacketUnicastRxCount */                                                                    \
              { 0x0000000A, ZAP_TYPE(INT32U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE),                                               \
                ZAP_EMPTY_DEFAULT() }, /* PacketUnicastTxCount */                                                                    \
              { 0x0000000B, ZAP_TYPE(INT64U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* CurrentMaxRate */   \
              { 0x0000000C, ZAP_TYPE(INT64U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* OverrunCount */     \
              { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_SIMPLE_DEFAULT(3) },                                /* FeatureMap */       \
              { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) },                                  /* ClusterRevision */  \
                                                                                                                                     \
              /* Endpoint: 0, Cluster: Ethernet Network Diagnostics (server) */                                                      \
              { 0x00000000, ZAP_TYPE(ENUM8), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE),                 \
                ZAP_EMPTY_DEFAULT() }, /* PHYRate */                                                                                 \
              { 0x00000001, ZAP_TYPE(BOOLEAN), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE),               \
                ZAP_EMPTY_DEFAULT() },                                                                        /* FullDuplex */       \
              { 0x00000002, ZAP_TYPE(INT64U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* PacketRxCount */    \
              { 0x00000003, ZAP_TYPE(INT64U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* PacketTxCount */    \
              { 0x00000004, ZAP_TYPE(INT64U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* TxErrCount */       \
              { 0x00000005, ZAP_TYPE(INT64U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* CollisionCount */   \
              { 0x00000006, ZAP_TYPE(INT64U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* OverrunCount */     \
              { 0x00000007, ZAP_TYPE(BOOLEAN), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE),               \
                ZAP_EMPTY_DEFAULT() },                                                                        /* CarrierDetect */    \
              { 0x00000008, ZAP_TYPE(INT64U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* TimeSinceReset */   \
              { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_SIMPLE_DEFAULT(3) },                                /* FeatureMap */       \
              { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) },                                  /* ClusterRevision */  \
                                                                                                                                     \
              /* Endpoint: 0, Cluster: AdministratorCommissioning (server) */                                                        \
              { 0x00000000, ZAP_TYPE(INT8U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* WindowStatus */      \
              { 0x00000001, ZAP_TYPE(FABRIC_IDX), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE),                                           \
                ZAP_EMPTY_DEFAULT() },                                                                        /* AdminFabricIndex */ \
              { 0x00000002, ZAP_TYPE(INT16U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* AdminVendorId */    \
              { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_SIMPLE_DEFAULT(0) },                                /* FeatureMap */       \
              { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) },                                  /* ClusterRevision */  \
                                                                                                                                     \
              /* Endpoint: 0, Cluster: Operational Credentials (server) */                                                           \
              { 0x00000000, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* NOCs */              \
              { 0x00000001, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* Fabrics */           \
              { 0x00000002, ZAP_TYPE(INT8U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* SupportedFabrics */  \
              { 0x00000003, ZAP_TYPE(INT8U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE),                                                \
                ZAP_EMPTY_DEFAULT() }, /* CommissionedFabrics */                                                                     \
              { 0x00000004, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE),                                                \
                ZAP_EMPTY_DEFAULT() }, /* TrustedRootCertificates */                                                                 \
              { 0x00000005, ZAP_TYPE(FABRIC_IDX), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE),                                           \
                ZAP_EMPTY_DEFAULT() },                                         /* CurrentFabricIndex */                              \
              { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_SIMPLE_DEFAULT(0) }, /* FeatureMap */                                      \
              { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) },   /* ClusterRevision */                                 \
                                                                                                                                     \
              /* Endpoint: 0, Cluster: Group Key Management (server) */                                                              \
              { 0x00000000, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(WRITABLE),                 \
                ZAP_EMPTY_DEFAULT() },                                                                       /* GroupKeyMap */       \
              { 0x00000001, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* GroupTable */        \
              { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_SIMPLE_DEFAULT(0) },                               /* FeatureMap */        \
              { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) },                                 /* ClusterRevision */   \
                                                                                                                                     \
              /* Endpoint: 0, Cluster: Fixed Label (server) */                                                                       \
              { 0x00000000, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* label list */        \
              { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_SIMPLE_DEFAULT(0) },                               /* FeatureMap */        \
              { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) },                                 /* ClusterRevision */   \
                                                                                                                                     \
              /* Endpoint: 0, Cluster: User Label (server) */                                                                        \
              { 0x00000000, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(WRITABLE),                 \
                ZAP_EMPTY_DEFAULT() },                                         /* label list */                                      \
              { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_SIMPLE_DEFAULT(0) }, /* FeatureMap */                                      \
              { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) },   /* ClusterRevision */                                 \
                                                                                                                                     \
              /* Endpoint: 1, Cluster: Identify (server) */                                                                          \
              { 0x00000000, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_SIMPLE_DEFAULT(0x0000) }, /* identify time */     \
              { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_SIMPLE_DEFAULT(0) },                               /* FeatureMap */        \
              { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(4) },                                 /* ClusterRevision */   \
                                                                                                                                     \
              /* Endpoint: 1, Cluster: Groups (server) */                                                                            \
              { 0x00000000, ZAP_TYPE(BITMAP8), 1, 0, ZAP_EMPTY_DEFAULT() },    /* name support */                                    \
              { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_SIMPLE_DEFAULT(0) }, /* FeatureMap */                                      \
              { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(4) },   /* ClusterRevision */                                 \
                                                                                                                                     \
              /* Endpoint: 1, Cluster: Scenes (server) */                                                                            \
              { 0x00000000, ZAP_TYPE(INT8U), 1, 0, ZAP_SIMPLE_DEFAULT(0x00) },      /* SceneCount */                                 \
              { 0x00000001, ZAP_TYPE(INT8U), 1, 0, ZAP_SIMPLE_DEFAULT(0x00) },      /* CurrentScene */                               \
              { 0x00000002, ZAP_TYPE(GROUP_ID), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* CurrentGroup */                               \
              { 0x00000003, ZAP_TYPE(BOOLEAN), 1, 0, ZAP_SIMPLE_DEFAULT(0x00) },    /* SceneValid */                                 \
              { 0x00000004, ZAP_TYPE(BITMAP8), 1, 0, ZAP_EMPTY_DEFAULT() },         /* NameSupport */                                \
              { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_SIMPLE_DEFAULT(0) },      /* FeatureMap */                                 \
              { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(4) },        /* ClusterRevision */                            \
                                                                                                                                     \
              /* Endpoint: 1, Cluster: On/Off (server) */                                                                            \
              { 0x00000000, ZAP_TYPE(BOOLEAN), 1, 0, ZAP_SIMPLE_DEFAULT(0x00) }, /* OnOff */                                         \
              { 0x00004000, ZAP_TYPE(BOOLEAN), 1, 0, ZAP_SIMPLE_DEFAULT(0x01) }, /* GlobalSceneControl */                            \
              { 0x00004001, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_SIMPLE_DEFAULT(0x0000) }, /* OnTime */            \
              { 0x00004002, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_SIMPLE_DEFAULT(0x0000) }, /* OffWaitTime */       \
              { 0x00004003, ZAP_TYPE(ENUM8), 1,                                                                                      \
                ZAP_ATTRIBUTE_MASK(MIN_MAX) | ZAP_ATTRIBUTE_MASK(WRITABLE) | ZAP_ATTRIBUTE_MASK(NULLABLE),                           \
                ZAP_MIN_MAX_DEFAULTS_INDEX(1) },                                    /* StartUpOnOff */                               \
              { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* FeatureMap */                                 \
              { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(4) },        /* ClusterRevision */                            \
                                                                                                                                     \
              /* Endpoint: 1, Cluster: Level Control (server) */                                                                     \
              { 0x00000000, ZAP_TYPE(INT8U), 1, ZAP_ATTRIBUTE_MASK(TOKENIZE), ZAP_SIMPLE_DEFAULT(0x00) }, /* current level */        \
              { 0x00000001, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) },                         /* remaining time */       \
              { 0x00000002, ZAP_TYPE(INT8U), 1, 0, ZAP_SIMPLE_DEFAULT(0x00) },                            /* min level */            \
              { 0x00000003, ZAP_TYPE(INT8U), 1, 0, ZAP_SIMPLE_DEFAULT(0xFF) },                            /* max level */            \
              { 0x00000004, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) },                         /* current frequency */    \
              { 0x00000005, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) },                         /* min frequency */        \
              { 0x00000006, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) },                         /* max frequency */        \
              { 0x0000000F, ZAP_TYPE(BITMAP8), 1, ZAP_ATTRIBUTE_MASK(MIN_MAX) | ZAP_ATTRIBUTE_MASK(WRITABLE),                        \
                ZAP_MIN_MAX_DEFAULTS_INDEX(2) }, /* options */                                                                       \
              { 0x00000010, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(WRITABLE),                                                       \
                ZAP_SIMPLE_DEFAULT(0x0000) }, /* on off transition time */                                                           \
              { 0x00000011, ZAP_TYPE(INT8U), 1, ZAP_ATTRIBUTE_MASK(WRITABLE) | ZAP_ATTRIBUTE_MASK(NULLABLE),                         \
                ZAP_SIMPLE_DEFAULT(0xFE) }, /* on level */                                                                           \
              { 0x00000012, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(WRITABLE) | ZAP_ATTRIBUTE_MASK(NULLABLE),                        \
                ZAP_EMPTY_DEFAULT() }, /* on transition time */                                                                      \
              { 0x00000013, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(WRITABLE) | ZAP_ATTRIBUTE_MASK(NULLABLE),                        \
                ZAP_EMPTY_DEFAULT() }, /* off transition time */                                                                     \
              { 0x00000014, ZAP_TYPE(INT8U), 1, ZAP_ATTRIBUTE_MASK(WRITABLE) | ZAP_ATTRIBUTE_MASK(NULLABLE),                         \
                ZAP_EMPTY_DEFAULT() }, /* default move rate */                                                                       \
              { 0x00004000, ZAP_TYPE(INT8U), 1,                                                                                      \
                ZAP_ATTRIBUTE_MASK(TOKENIZE) | ZAP_ATTRIBUTE_MASK(WRITABLE) | ZAP_ATTRIBUTE_MASK(NULLABLE),                          \
                ZAP_SIMPLE_DEFAULT(255) },                                     /* start up current level */                          \
              { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_SIMPLE_DEFAULT(1) }, /* FeatureMap */                                      \
              { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(5) },   /* ClusterRevision */                                 \
                                                                                                                                     \
              /* Endpoint: 1, Cluster: Binary Input (Basic) (server) */                                                              \
              { 0x00000051, ZAP_TYPE(BOOLEAN), 1, ZAP_ATTRIBUTE_MASK(MIN_MAX) | ZAP_ATTRIBUTE_MASK(WRITABLE),                        \
                ZAP_MIN_MAX_DEFAULTS_INDEX(3) },                                                       /* out of service */          \
              { 0x00000055, ZAP_TYPE(BOOLEAN), 1, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_EMPTY_DEFAULT() }, /* present value */           \
              { 0x0000006F, ZAP_TYPE(BITMAP8), 1, 0, ZAP_SIMPLE_DEFAULT(0x00) },                       /* status flags */            \
              { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_SIMPLE_DEFAULT(0) },                         /* FeatureMap */              \
              { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) },                           /* ClusterRevision */         \
                                                                                                                                     \
              /* Endpoint: 1, Cluster: Descriptor (server) */                                                                        \
              { 0x00000000, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() },  /* device list */      \
              { 0x00000001, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() },  /* server list */      \
              { 0x00000002, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() },  /* client list */      \
              { 0x00000003, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() },  /* parts list */       \
              { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_SIMPLE_DEFAULT(0) },                                /* FeatureMap */       \
              { 0x0000FFFD, ZAP_TYPE(INT16U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* ClusterRevision */  \
                                                                                                                                     \
              /* Endpoint: 1, Cluster: Binding (server) */                                                                           \
              { 0x00000000, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(WRITABLE),                 \
                ZAP_EMPTY_DEFAULT() },                                         /* Binding */                                         \
              { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_SIMPLE_DEFAULT(0) }, /* FeatureMap */                                      \
              { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) },   /* ClusterRevision */                                 \
                                                                                                                                     \
              /* Endpoint: 1, Cluster: Switch (server) */                                                                            \
              { 0x00000000, ZAP_TYPE(INT8U), 1, 0, ZAP_SIMPLE_DEFAULT(2) },    /* number of positions */                             \
              { 0x00000001, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() },      /* current position */                                \
              { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_SIMPLE_DEFAULT(0) }, /* FeatureMap */                                      \
              { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) },   /* ClusterRevision */                                 \
                                                                                                                                     \
              /* Endpoint: 1, Cluster: Fixed Label (server) */                                                                       \
              { 0x00000000, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* label list */        \
              { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_SIMPLE_DEFAULT(0) },                               /* FeatureMap */        \
              { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) },                                 /* ClusterRevision */   \
                                                                                                                                     \
              /* Endpoint: 1, Cluster: Barrier Control (server) */                                                                   \
              { 0x00000001, ZAP_TYPE(ENUM8), 1, 0, ZAP_EMPTY_DEFAULT() },      /* barrier moving state */                            \
              { 0x00000002, ZAP_TYPE(BITMAP16), 2, 0, ZAP_EMPTY_DEFAULT() },   /* barrier safety status */                           \
              { 0x00000003, ZAP_TYPE(BITMAP8), 1, 0, ZAP_EMPTY_DEFAULT() },    /* barrier capabilities */                            \
              { 0x0000000A, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() },      /* barrier position */                                \
              { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_SIMPLE_DEFAULT(0) }, /* FeatureMap */                                      \
              { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) },   /* ClusterRevision */                                 \
                                                                                                                                     \
              /* Endpoint: 1, Cluster: IAS Zone (server) */                                                                          \
              { 0x00000000, ZAP_TYPE(ENUM8), 1, 0, ZAP_SIMPLE_DEFAULT(0x00) },                                 /* zone state */      \
              { 0x00000001, ZAP_TYPE(ENUM16), 2, 0, ZAP_EMPTY_DEFAULT() },                                     /* zone type */       \
              { 0x00000002, ZAP_TYPE(BITMAP16), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) },                            /* zone status */     \
              { 0x00000010, ZAP_TYPE(NODE_ID), 8, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(14) }, /* IAS CIE address */ \
              { 0x00000011, ZAP_TYPE(INT8U), 1, 0, ZAP_SIMPLE_DEFAULT(0xff) },                                 /* Zone ID */         \
              { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_SIMPLE_DEFAULT(0) },                                 /* FeatureMap */      \
              { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(2) },                                   /* ClusterRevision */ \
                                                                                                                                     \
              /* Endpoint: 1, Cluster: Wake on LAN (server) */                                                                       \
              { 0x00000000, ZAP_TYPE(CHAR_STRING), 33, 0, ZAP_EMPTY_DEFAULT() }, /* MACAddress */                                    \
              { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_SIMPLE_DEFAULT(0) },   /* FeatureMap */                                    \
              { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) },     /* ClusterRevision */                               \
                                                                                                                                     \
              /* Endpoint: 1, Cluster: Test Cluster (server) */                                                                      \
              { 0x00000000, ZAP_TYPE(BOOLEAN), 1, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_SIMPLE_DEFAULT(false) },    /* boolean */        \
              { 0x00000001, ZAP_TYPE(BITMAP8), 1, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_SIMPLE_DEFAULT(0) },        /* bitmap8 */        \
              { 0x00000002, ZAP_TYPE(BITMAP16), 2, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_SIMPLE_DEFAULT(0) },       /* bitmap16 */       \
              { 0x00000003, ZAP_TYPE(BITMAP32), 4, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_SIMPLE_DEFAULT(0) },       /* bitmap32 */       \
              { 0x00000004, ZAP_TYPE(BITMAP64), 8, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(22) }, /* bitmap64 */       \
              { 0x00000005, ZAP_TYPE(INT8U), 1, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_SIMPLE_DEFAULT(0) },          /* int8u */          \
              { 0x00000006, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_SIMPLE_DEFAULT(0) },         /* int16u */         \
              { 0x00000008, ZAP_TYPE(INT32U), 4, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_SIMPLE_DEFAULT(0) },         /* int32u */         \
              { 0x0000000C, ZAP_TYPE(INT64U), 8, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(30) },   /* int64u */         \
              { 0x0000000D, ZAP_TYPE(INT8S), 1, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_SIMPLE_DEFAULT(0) },          /* int8s */          \
              { 0x0000000E, ZAP_TYPE(INT16S), 2, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_SIMPLE_DEFAULT(0) },         /* int16s */         \
              { 0x00000010, ZAP_TYPE(INT32S), 4, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_SIMPLE_DEFAULT(0) },         /* int32s */         \
              { 0x00000014, ZAP_TYPE(INT64S), 8, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(38) },   /* int64s */         \
              { 0x00000015, ZAP_TYPE(ENUM8), 1, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_SIMPLE_DEFAULT(0) },          /* enum8 */          \
              { 0x00000016, ZAP_TYPE(ENUM16), 2, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_SIMPLE_DEFAULT(0) },         /* enum16 */         \
              { 0x00000019, ZAP_TYPE(OCTET_STRING), 11, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_EMPTY_DEFAULT() },    /* octet_string */   \
              { 0x0000001A, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(WRITABLE),                 \
                ZAP_EMPTY_DEFAULT() }, /* list_int8u */                                                                              \
              { 0x0000001B, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(WRITABLE),                 \
                ZAP_EMPTY_DEFAULT() }, /* list_octet_string */                                                                       \
              { 0x0000001C, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(WRITABLE),                 \
                ZAP_EMPTY_DEFAULT() }, /* list_struct_octet_string */                                                                \
              { 0x0000001D, ZAP_TYPE(LONG_OCTET_STRING), 1002, ZAP_ATTRIBUTE_MASK(WRITABLE),                                         \
                ZAP_EMPTY_DEFAULT() },                                         /* long_octet_string */                               \
              { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_SIMPLE_DEFAULT(0) }, /* FeatureMap */                                      \
              { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) },   /* ClusterRevision */                                 \
                                                                                                                                     \
              /* Endpoint: 2, Cluster: On/Off (server) */                                                                            \
              { 0x00000000, ZAP_TYPE(BOOLEAN), 1, 0, ZAP_SIMPLE_DEFAULT(0x00) }, /* OnOff */                                         \
              { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_SIMPLE_DEFAULT(0) },   /* FeatureMap */                                    \
              { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(4) },     /* ClusterRevision */                               \
                                                                                                                                     \
              /* Endpoint: 2, Cluster: Descriptor (server) */                                                                        \
              { 0x00000000, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() },  /* device list */      \
              { 0x00000001, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() },  /* server list */      \
              { 0x00000002, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() },  /* client list */      \
              { 0x00000003, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() },  /* parts list */       \
              { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_SIMPLE_DEFAULT(0) },                                /* FeatureMap */       \
              { 0x0000FFFD, ZAP_TYPE(INT16U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* ClusterRevision */  \
      }
  
  // This is an array of EmberAfCluster structures.
  #define ZAP_ATTRIBUTE_INDEX(index) (&generatedAttributes[index])
  
  #define ZAP_GENERATED_COMMANDS_INDEX(index) ((chip::CommandId *) (&generatedCommands[index]))
  
  // Cluster function static arrays
  #define GENERATED_FUNCTION_ARRAYS                                                                                                  \
      const EmberAfGenericClusterFunction chipFuncArrayBasicServer[] = {                                                             \
          (EmberAfGenericClusterFunction) emberAfBasicClusterServerInitCallback,                                                     \
      };                                                                                                                             \
      const EmberAfGenericClusterFunction chipFuncArrayLocalizationConfigurationServer[] = {                                         \
          (EmberAfGenericClusterFunction) emberAfLocalizationConfigurationClusterServerInitCallback,                                 \
          (EmberAfGenericClusterFunction) MatterLocalizationConfigurationClusterServerPreAttributeChangedCallback,                   \
      };                                                                                                                             \
      const EmberAfGenericClusterFunction chipFuncArrayTimeFormatLocalizationServer[] = {                                            \
          (EmberAfGenericClusterFunction) emberAfTimeFormatLocalizationClusterServerInitCallback,                                    \
          (EmberAfGenericClusterFunction) MatterTimeFormatLocalizationClusterServerPreAttributeChangedCallback,                      \
      };                                                                                                                             \
      const EmberAfGenericClusterFunction chipFuncArrayIdentifyServer[] = {                                                          \
          (EmberAfGenericClusterFunction) emberAfIdentifyClusterServerInitCallback,                                                  \
          (EmberAfGenericClusterFunction) MatterIdentifyClusterServerAttributeChangedCallback,                                       \
      };                                                                                                                             \
      const EmberAfGenericClusterFunction chipFuncArrayGroupsServer[] = {                                                            \
          (EmberAfGenericClusterFunction) emberAfGroupsClusterServerInitCallback,                                                    \
      };                                                                                                                             \
      const EmberAfGenericClusterFunction chipFuncArrayScenesServer[] = {                                                            \
          (EmberAfGenericClusterFunction) emberAfScenesClusterServerInitCallback,                                                    \
      };                                                                                                                             \
      const EmberAfGenericClusterFunction chipFuncArrayOnOffServer[] = {                                                             \
          (EmberAfGenericClusterFunction) emberAfOnOffClusterServerInitCallback,                                                     \
      };                                                                                                                             \
      const EmberAfGenericClusterFunction chipFuncArrayLevelControlServer[] = {                                                      \
          (EmberAfGenericClusterFunction) emberAfLevelControlClusterServerInitCallback,                                              \
      };                                                                                                                             \
      const EmberAfGenericClusterFunction chipFuncArrayIasZoneServer[] = {                                                           \
          (EmberAfGenericClusterFunction) emberAfIasZoneClusterServerInitCallback,                                                   \
          (EmberAfGenericClusterFunction) emberAfIasZoneClusterServerMessageSentCallback,                                            \
          (EmberAfGenericClusterFunction) MatterIasZoneClusterServerPreAttributeChangedCallback,                                     \
      };
  
  // clang-format off
  #define GENERATED_COMMANDS { \
    /* Endpoint: 0, Cluster: OTA Software Update Provider (server) */\
    /*   AcceptedCommandList (index=0) */ \
    0x00000000 /* QueryImage */, \
    0x00000002 /* ApplyUpdateRequest */, \
    0x00000004 /* NotifyUpdateApplied */, \
    chip::kInvalidCommandId /* end of list */, \
    /*   GeneratedCommandList (index=4)*/ \
    0x00000001 /* QueryImageResponse */, \
    0x00000003 /* ApplyUpdateResponse */, \
    chip::kInvalidCommandId /* end of list */, \
    /* Endpoint: 0, Cluster: General Commissioning (server) */\
    /*   AcceptedCommandList (index=7) */ \
    0x00000000 /* ArmFailSafe */, \
    0x00000002 /* SetRegulatoryConfig */, \
    0x00000004 /* CommissioningComplete */, \
    chip::kInvalidCommandId /* end of list */, \
    /*   GeneratedCommandList (index=11)*/ \
    0x00000001 /* ArmFailSafeResponse */, \
    0x00000003 /* SetRegulatoryConfigResponse */, \
    0x00000005 /* CommissioningCompleteResponse */, \
    chip::kInvalidCommandId /* end of list */, \
    /* Endpoint: 0, Cluster: Network Commissioning (server) */\
    /*   AcceptedCommandList (index=15) */ \
    0x00000000 /* ScanNetworks */, \
    0x00000002 /* AddOrUpdateWiFiNetwork */, \
    0x00000003 /* AddOrUpdateThreadNetwork */, \
    0x00000004 /* RemoveNetwork */, \
    0x00000006 /* ConnectNetwork */, \
    0x00000008 /* ReorderNetwork */, \
    chip::kInvalidCommandId /* end of list */, \
    /*   GeneratedCommandList (index=22)*/ \
    0x00000001 /* ScanNetworksResponse */, \
    0x00000005 /* NetworkConfigResponse */, \
    0x00000007 /* ConnectNetworkResponse */, \
    chip::kInvalidCommandId /* end of list */, \
    /* Endpoint: 0, Cluster: Diagnostic Logs (server) */\
    /*   AcceptedCommandList (index=26) */ \
    0x00000000 /* RetrieveLogsRequest */, \
    chip::kInvalidCommandId /* end of list */, \
    /*   GeneratedCommandList (index=28)*/ \
    0x00000001 /* RetrieveLogsResponse */, \
    chip::kInvalidCommandId /* end of list */, \
    /* Endpoint: 0, Cluster: Ethernet Network Diagnostics (server) */\
    /*   AcceptedCommandList (index=30) */ \
    0x00000000 /* ResetCounts */, \
    chip::kInvalidCommandId /* end of list */, \
    /* Endpoint: 0, Cluster: AdministratorCommissioning (server) */\
    /*   AcceptedCommandList (index=32) */ \
    0x00000000 /* OpenCommissioningWindow */, \
    0x00000001 /* OpenBasicCommissioningWindow */, \
    0x00000002 /* RevokeCommissioning */, \
    chip::kInvalidCommandId /* end of list */, \
    /* Endpoint: 0, Cluster: Operational Credentials (server) */\
    /*   AcceptedCommandList (index=36) */ \
    0x00000000 /* AttestationRequest */, \
    0x00000002 /* CertificateChainRequest */, \
    0x00000004 /* CSRRequest */, \
    0x00000006 /* AddNOC */, \
    0x00000007 /* UpdateNOC */, \
    0x00000009 /* UpdateFabricLabel */, \
    0x0000000A /* RemoveFabric */, \
    0x0000000B /* AddTrustedRootCertificate */, \
    0x0000000C /* RemoveTrustedRootCertificate */, \
    chip::kInvalidCommandId /* end of list */, \
    /*   GeneratedCommandList (index=46)*/ \
    0x00000001 /* AttestationResponse */, \
    0x00000003 /* CertificateChainResponse */, \
    0x00000005 /* CSRResponse */, \
    0x00000008 /* NOCResponse */, \
    chip::kInvalidCommandId /* end of list */, \
    /* Endpoint: 1, Cluster: Identify (server) */\
    /*   AcceptedCommandList (index=51) */ \
    0x00000000 /* Identify */, \
    chip::kInvalidCommandId /* end of list */, \
    /* Endpoint: 1, Cluster: Groups (server) */\
    /*   AcceptedCommandList (index=53) */ \
    0x00000000 /* AddGroup */, \
    0x00000001 /* ViewGroup */, \
    0x00000002 /* GetGroupMembership */, \
    0x00000003 /* RemoveGroup */, \
    0x00000004 /* RemoveAllGroups */, \
    0x00000005 /* AddGroupIfIdentifying */, \
    chip::kInvalidCommandId /* end of list */, \
    /*   GeneratedCommandList (index=60)*/ \
    0x00000000 /* AddGroupResponse */, \
    0x00000001 /* ViewGroupResponse */, \
    0x00000002 /* GetGroupMembershipResponse */, \
    0x00000003 /* RemoveGroupResponse */, \
    chip::kInvalidCommandId /* end of list */, \
    /* Endpoint: 1, Cluster: Scenes (server) */\
    /*   AcceptedCommandList (index=65) */ \
    0x00000000 /* AddScene */, \
    0x00000001 /* ViewScene */, \
    0x00000002 /* RemoveScene */, \
    0x00000003 /* RemoveAllScenes */, \
    0x00000004 /* StoreScene */, \
    0x00000005 /* RecallScene */, \
    0x00000006 /* GetSceneMembership */, \
    chip::kInvalidCommandId /* end of list */, \
    /*   GeneratedCommandList (index=73)*/ \
    0x00000000 /* AddSceneResponse */, \
    0x00000001 /* ViewSceneResponse */, \
    0x00000002 /* RemoveSceneResponse */, \
    0x00000003 /* RemoveAllScenesResponse */, \
    0x00000004 /* StoreSceneResponse */, \
    0x00000006 /* GetSceneMembershipResponse */, \
    chip::kInvalidCommandId /* end of list */, \
    /* Endpoint: 1, Cluster: On/Off (server) */\
    /*   AcceptedCommandList (index=80) */ \
    0x00000000 /* Off */, \
    0x00000001 /* On */, \
    0x00000002 /* Toggle */, \
    chip::kInvalidCommandId /* end of list */, \
    /* Endpoint: 1, Cluster: Level Control (server) */\
    /*   AcceptedCommandList (index=84) */ \
    0x00000000 /* MoveToLevel */, \
    0x00000001 /* Move */, \
    0x00000002 /* Step */, \
    0x00000003 /* Stop */, \
    0x00000004 /* MoveToLevelWithOnOff */, \
    0x00000005 /* MoveWithOnOff */, \
    0x00000006 /* StepWithOnOff */, \
    0x00000007 /* StopWithOnOff */, \
    chip::kInvalidCommandId /* end of list */, \
    /* Endpoint: 1, Cluster: Barrier Control (server) */\
    /*   AcceptedCommandList (index=93) */ \
    0x00000000 /* BarrierControlGoToPercent */, \
    0x00000001 /* BarrierControlStop */, \
    chip::kInvalidCommandId /* end of list */, \
    /* Endpoint: 1, Cluster: IAS Zone (server) */\
    /*   AcceptedCommandList (index=96) */ \
    0x00000000 /* ZoneEnrollResponse */, \
    chip::kInvalidCommandId /* end of list */, \
    /* Endpoint: 1, Cluster: Test Cluster (server) */\
    /*   AcceptedCommandList (index=98) */ \
    0x00000000 /* Test */, \
    0x00000001 /* TestNotHandled */, \
    chip::kInvalidCommandId /* end of list */, \
    /* Endpoint: 2, Cluster: On/Off (server) */\
    /*   AcceptedCommandList (index=101) */ \
    0x00000000 /* Off */, \
    0x00000001 /* On */, \
    0x00000002 /* Toggle */, \
    chip::kInvalidCommandId /* end of list */, \
  }
  
  // clang-format on
  
  #define ZAP_CLUSTER_MASK(mask) CLUSTER_MASK_##mask
  #define GENERATED_CLUSTER_COUNT 50
  
  // clang-format off
  #define GENERATED_CLUSTERS { \
    { \
        /* Endpoint: 0, Cluster: Descriptor (server) */ \
        .clusterId = 0x0000001D,  \
        .attributes = ZAP_ATTRIBUTE_INDEX(0), \
        .attributeCount = 6, \
        .clusterSize = 4, \
        .mask = ZAP_CLUSTER_MASK(SERVER), \
        .functions = NULL, \
        .acceptedCommandList = nullptr ,\
        .generatedCommandList = nullptr ,\
      },\
    { \
        /* Endpoint: 0, Cluster: Binding (server) */ \
        .clusterId = 0x0000001E,  \
        .attributes = ZAP_ATTRIBUTE_INDEX(6), \
        .attributeCount = 3, \
        .clusterSize = 6, \
        .mask = ZAP_CLUSTER_MASK(SERVER), \
        .functions = NULL, \
        .acceptedCommandList = nullptr ,\
        .generatedCommandList = nullptr ,\
      },\
    { \
        /* Endpoint: 0, Cluster: Access Control (server) */ \
        .clusterId = 0x0000001F,  \
        .attributes = ZAP_ATTRIBUTE_INDEX(9), \
        .attributeCount = 7, \
        .clusterSize = 6, \
        .mask = ZAP_CLUSTER_MASK(SERVER), \
        .functions = NULL, \
        .acceptedCommandList = nullptr ,\
        .generatedCommandList = nullptr ,\
      },\
    { \
        /* Endpoint: 0, Cluster: Basic (server) */ \
        .clusterId = 0x00000028,  \
        .attributes = ZAP_ATTRIBUTE_INDEX(16), \
        .attributeCount = 22, \
        .clusterSize = 41, \
        .mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \
        .functions = chipFuncArrayBasicServer, \
        .acceptedCommandList = nullptr ,\
        .generatedCommandList = nullptr ,\
      },\
    { \
        /* Endpoint: 0, Cluster: OTA Software Update Provider (server) */ \
        .clusterId = 0x00000029,  \
        .attributes = ZAP_ATTRIBUTE_INDEX(38), \
        .attributeCount = 2, \
        .clusterSize = 6, \
        .mask = ZAP_CLUSTER_MASK(SERVER), \
        .functions = NULL, \
        .acceptedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 0 ) ,\
        .generatedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 4 ) ,\
      },\
    { \
        /* Endpoint: 0, Cluster: Localization Configuration (server) */ \
        .clusterId = 0x0000002B,  \
        .attributes = ZAP_ATTRIBUTE_INDEX(40), \
        .attributeCount = 4, \
        .clusterSize = 42, \
        .mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION) | ZAP_CLUSTER_MASK(PRE_ATTRIBUTE_CHANGED_FUNCTION), \
        .functions = chipFuncArrayLocalizationConfigurationServer, \
        .acceptedCommandList = nullptr ,\
        .generatedCommandList = nullptr ,\
      },\
    { \
        /* Endpoint: 0, Cluster: Time Format Localization (server) */ \
        .clusterId = 0x0000002C,  \
        .attributes = ZAP_ATTRIBUTE_INDEX(44), \
        .attributeCount = 5, \
        .clusterSize = 8, \
        .mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION) | ZAP_CLUSTER_MASK(PRE_ATTRIBUTE_CHANGED_FUNCTION), \
        .functions = chipFuncArrayTimeFormatLocalizationServer, \
        .acceptedCommandList = nullptr ,\
        .generatedCommandList = nullptr ,\
      },\
    { \
        /* Endpoint: 0, Cluster: Unit Localization (server) */ \
        .clusterId = 0x0000002D,  \
        .attributes = ZAP_ATTRIBUTE_INDEX(49), \
        .attributeCount = 3, \
        .clusterSize = 7, \
        .mask = ZAP_CLUSTER_MASK(SERVER), \
        .functions = NULL, \
        .acceptedCommandList = nullptr ,\
        .generatedCommandList = nullptr ,\
      },\
    { \
        /* Endpoint: 0, Cluster: General Commissioning (server) */ \
        .clusterId = 0x00000030,  \
        .attributes = ZAP_ATTRIBUTE_INDEX(52), \
        .attributeCount = 7, \
        .clusterSize = 14, \
        .mask = ZAP_CLUSTER_MASK(SERVER), \
        .functions = NULL, \
        .acceptedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 7 ) ,\
        .generatedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 11 ) ,\
      },\
    { \
        /* Endpoint: 0, Cluster: Network Commissioning (server) */ \
        .clusterId = 0x00000031,  \
        .attributes = ZAP_ATTRIBUTE_INDEX(59), \
        .attributeCount = 10, \
        .clusterSize = 48, \
        .mask = ZAP_CLUSTER_MASK(SERVER), \
        .functions = NULL, \
        .acceptedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 15 ) ,\
        .generatedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 22 ) ,\
      },\
    { \
        /* Endpoint: 0, Cluster: Diagnostic Logs (server) */ \
        .clusterId = 0x00000032,  \
        .attributes = ZAP_ATTRIBUTE_INDEX(69), \
        .attributeCount = 2, \
        .clusterSize = 6, \
        .mask = ZAP_CLUSTER_MASK(SERVER), \
        .functions = NULL, \
        .acceptedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 26 ) ,\
        .generatedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 28 ) ,\
      },\
    { \
        /* Endpoint: 0, Cluster: General Diagnostics (server) */ \
        .clusterId = 0x00000033,  \
        .attributes = ZAP_ATTRIBUTE_INDEX(71), \
        .attributeCount = 10, \
        .clusterSize = 6, \
        .mask = ZAP_CLUSTER_MASK(SERVER), \
        .functions = NULL, \
        .acceptedCommandList = nullptr ,\
        .generatedCommandList = nullptr ,\
      },\
    { \
        /* Endpoint: 0, Cluster: Software Diagnostics (server) */ \
        .clusterId = 0x00000034,  \
        .attributes = ZAP_ATTRIBUTE_INDEX(81), \
        .attributeCount = 6, \
        .clusterSize = 6, \
        .mask = ZAP_CLUSTER_MASK(SERVER), \
        .functions = NULL, \
        .acceptedCommandList = nullptr ,\
        .generatedCommandList = nullptr ,\
      },\
    { \
        /* Endpoint: 0, Cluster: Thread Network Diagnostics (server) */ \
        .clusterId = 0x00000035,  \
        .attributes = ZAP_ATTRIBUTE_INDEX(87), \
        .attributeCount = 65, \
        .clusterSize = 6, \
        .mask = ZAP_CLUSTER_MASK(SERVER), \
        .functions = NULL, \
        .acceptedCommandList = nullptr ,\
        .generatedCommandList = nullptr ,\
      },\
    { \
        /* Endpoint: 0, Cluster: WiFi Network Diagnostics (server) */ \
        .clusterId = 0x00000036,  \
        .attributes = ZAP_ATTRIBUTE_INDEX(152), \
        .attributeCount = 15, \
        .clusterSize = 6, \
        .mask = ZAP_CLUSTER_MASK(SERVER), \
        .functions = NULL, \
        .acceptedCommandList = nullptr ,\
        .generatedCommandList = nullptr ,\
      },\
    { \
        /* Endpoint: 0, Cluster: Ethernet Network Diagnostics (server) */ \
        .clusterId = 0x00000037,  \
        .attributes = ZAP_ATTRIBUTE_INDEX(167), \
        .attributeCount = 11, \
        .clusterSize = 6, \
        .mask = ZAP_CLUSTER_MASK(SERVER), \
        .functions = NULL, \
        .acceptedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 30 ) ,\
        .generatedCommandList = nullptr ,\
      },\
    { \
        /* Endpoint: 0, Cluster: AdministratorCommissioning (server) */ \
        .clusterId = 0x0000003C,  \
        .attributes = ZAP_ATTRIBUTE_INDEX(178), \
        .attributeCount = 5, \
        .clusterSize = 6, \
        .mask = ZAP_CLUSTER_MASK(SERVER), \
        .functions = NULL, \
        .acceptedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 32 ) ,\
        .generatedCommandList = nullptr ,\
      },\
    { \
        /* Endpoint: 0, Cluster: Operational Credentials (server) */ \
        .clusterId = 0x0000003E,  \
        .attributes = ZAP_ATTRIBUTE_INDEX(183), \
        .attributeCount = 8, \
        .clusterSize = 6, \
        .mask = ZAP_CLUSTER_MASK(SERVER), \
        .functions = NULL, \
        .acceptedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 36 ) ,\
        .generatedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 46 ) ,\
      },\
    { \
        /* Endpoint: 0, Cluster: Group Key Management (server) */ \
        .clusterId = 0x0000003F,  \
        .attributes = ZAP_ATTRIBUTE_INDEX(191), \
        .attributeCount = 4, \
        .clusterSize = 6, \
        .mask = ZAP_CLUSTER_MASK(SERVER), \
        .functions = NULL, \
        .acceptedCommandList = nullptr ,\
        .generatedCommandList = nullptr ,\
      },\
    { \
        /* Endpoint: 0, Cluster: Fixed Label (server) */ \
        .clusterId = 0x00000040,  \
        .attributes = ZAP_ATTRIBUTE_INDEX(195), \
        .attributeCount = 3, \
        .clusterSize = 6, \
        .mask = ZAP_CLUSTER_MASK(SERVER), \
        .functions = NULL, \
        .acceptedCommandList = nullptr ,\
        .generatedCommandList = nullptr ,\
      },\
    { \
        /* Endpoint: 0, Cluster: User Label (server) */ \
        .clusterId = 0x00000041,  \
        .attributes = ZAP_ATTRIBUTE_INDEX(198), \
        .attributeCount = 3, \
        .clusterSize = 6, \
        .mask = ZAP_CLUSTER_MASK(SERVER), \
        .functions = NULL, \
        .acceptedCommandList = nullptr ,\
        .generatedCommandList = nullptr ,\
      },\
    { \
        /* Endpoint: 1, Cluster: Identify (server) */ \
        .clusterId = 0x00000003,  \
        .attributes = ZAP_ATTRIBUTE_INDEX(201), \
        .attributeCount = 3, \
        .clusterSize = 8, \
        .mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION) | ZAP_CLUSTER_MASK(ATTRIBUTE_CHANGED_FUNCTION), \
        .functions = chipFuncArrayIdentifyServer, \
        .acceptedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 51 ) ,\
        .generatedCommandList = nullptr ,\
      },\
    { \
        /* Endpoint: 1, Cluster: Groups (server) */ \
        .clusterId = 0x00000004,  \
        .attributes = ZAP_ATTRIBUTE_INDEX(204), \
        .attributeCount = 3, \
        .clusterSize = 7, \
        .mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \
        .functions = chipFuncArrayGroupsServer, \
        .acceptedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 53 ) ,\
        .generatedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 60 ) ,\
      },\
    { \
        /* Endpoint: 1, Cluster: Scenes (server) */ \
        .clusterId = 0x00000005,  \
        .attributes = ZAP_ATTRIBUTE_INDEX(207), \
        .attributeCount = 7, \
        .clusterSize = 12, \
        .mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \
        .functions = chipFuncArrayScenesServer, \
        .acceptedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 65 ) ,\
        .generatedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 73 ) ,\
      },\
    { \
        /* Endpoint: 1, Cluster: On/Off (client) */ \
        .clusterId = 0x00000006,  \
        .attributes = ZAP_ATTRIBUTE_INDEX(214), \
        .attributeCount = 0, \
        .clusterSize = 0, \
        .mask = ZAP_CLUSTER_MASK(CLIENT), \
        .functions = NULL, \
        .acceptedCommandList = nullptr ,\
        .generatedCommandList = nullptr ,\
      },\
    { \
        /* Endpoint: 1, Cluster: On/Off (server) */ \
        .clusterId = 0x00000006,  \
        .attributes = ZAP_ATTRIBUTE_INDEX(214), \
        .attributeCount = 7, \
        .clusterSize = 13, \
        .mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \
        .functions = chipFuncArrayOnOffServer, \
        .acceptedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 80 ) ,\
        .generatedCommandList = nullptr ,\
      },\
    { \
        /* Endpoint: 1, Cluster: Level Control (client) */ \
        .clusterId = 0x00000008,  \
        .attributes = ZAP_ATTRIBUTE_INDEX(221), \
        .attributeCount = 0, \
        .clusterSize = 0, \
        .mask = ZAP_CLUSTER_MASK(CLIENT), \
        .functions = NULL, \
        .acceptedCommandList = nullptr ,\
        .generatedCommandList = nullptr ,\
      },\
    { \
        /* Endpoint: 1, Cluster: Level Control (server) */ \
        .clusterId = 0x00000008,  \
        .attributes = ZAP_ATTRIBUTE_INDEX(221), \
        .attributeCount = 16, \
        .clusterSize = 27, \
        .mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \
        .functions = chipFuncArrayLevelControlServer, \
        .acceptedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 84 ) ,\
        .generatedCommandList = nullptr ,\
      },\
    { \
        /* Endpoint: 1, Cluster: Binary Input (Basic) (server) */ \
        .clusterId = 0x0000000F,  \
        .attributes = ZAP_ATTRIBUTE_INDEX(237), \
        .attributeCount = 5, \
        .clusterSize = 9, \
        .mask = ZAP_CLUSTER_MASK(SERVER), \
        .functions = NULL, \
        .acceptedCommandList = nullptr ,\
        .generatedCommandList = nullptr ,\
      },\
    { \
        /* Endpoint: 1, Cluster: Descriptor (client) */ \
        .clusterId = 0x0000001D,  \
        .attributes = ZAP_ATTRIBUTE_INDEX(242), \
        .attributeCount = 0, \
        .clusterSize = 0, \
        .mask = ZAP_CLUSTER_MASK(CLIENT), \
        .functions = NULL, \
        .acceptedCommandList = nullptr ,\
        .generatedCommandList = nullptr ,\
      },\
    { \
        /* Endpoint: 1, Cluster: Descriptor (server) */ \
        .clusterId = 0x0000001D,  \
        .attributes = ZAP_ATTRIBUTE_INDEX(242), \
        .attributeCount = 6, \
        .clusterSize = 4, \
        .mask = ZAP_CLUSTER_MASK(SERVER), \
        .functions = NULL, \
        .acceptedCommandList = nullptr ,\
        .generatedCommandList = nullptr ,\
      },\
    { \
        /* Endpoint: 1, Cluster: Binding (server) */ \
        .clusterId = 0x0000001E,  \
        .attributes = ZAP_ATTRIBUTE_INDEX(248), \
        .attributeCount = 3, \
        .clusterSize = 6, \
        .mask = ZAP_CLUSTER_MASK(SERVER), \
        .functions = NULL, \
        .acceptedCommandList = nullptr ,\
        .generatedCommandList = nullptr ,\
      },\
    { \
        /* Endpoint: 1, Cluster: Switch (server) */ \
        .clusterId = 0x0000003B,  \
        .attributes = ZAP_ATTRIBUTE_INDEX(251), \
        .attributeCount = 4, \
        .clusterSize = 8, \
        .mask = ZAP_CLUSTER_MASK(SERVER), \
        .functions = NULL, \
        .acceptedCommandList = nullptr ,\
        .generatedCommandList = nullptr ,\
      },\
    { \
        /* Endpoint: 1, Cluster: Fixed Label (server) */ \
        .clusterId = 0x00000040,  \
        .attributes = ZAP_ATTRIBUTE_INDEX(255), \
        .attributeCount = 3, \
        .clusterSize = 6, \
        .mask = ZAP_CLUSTER_MASK(SERVER), \
        .functions = NULL, \
        .acceptedCommandList = nullptr ,\
        .generatedCommandList = nullptr ,\
      },\
    { \
        /* Endpoint: 1, Cluster: Barrier Control (server) */ \
        .clusterId = 0x00000103,  \
        .attributes = ZAP_ATTRIBUTE_INDEX(258), \
        .attributeCount = 6, \
        .clusterSize = 11, \
        .mask = ZAP_CLUSTER_MASK(SERVER), \
        .functions = NULL, \
        .acceptedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 93 ) ,\
        .generatedCommandList = nullptr ,\
      },\
    { \
        /* Endpoint: 1, Cluster: IAS Zone (server) */ \
        .clusterId = 0x00000500,  \
        .attributes = ZAP_ATTRIBUTE_INDEX(264), \
        .attributeCount = 7, \
        .clusterSize = 20, \
        .mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION) | ZAP_CLUSTER_MASK(PRE_ATTRIBUTE_CHANGED_FUNCTION) | ZAP_CLUSTER_MASK(MESSAGE_SENT_FUNCTION), \
        .functions = chipFuncArrayIasZoneServer, \
        .acceptedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 96 ) ,\
        .generatedCommandList = nullptr ,\
      },\
    { \
        /* Endpoint: 1, Cluster: Wake on LAN (server) */ \
        .clusterId = 0x00000503,  \
        .attributes = ZAP_ATTRIBUTE_INDEX(271), \
        .attributeCount = 3, \
        .clusterSize = 39, \
        .mask = ZAP_CLUSTER_MASK(SERVER), \
        .functions = NULL, \
        .acceptedCommandList = nullptr ,\
        .generatedCommandList = nullptr ,\
      },\
    { \
        /* Endpoint: 1, Cluster: Channel (client) */ \
        .clusterId = 0x00000504,  \
        .attributes = ZAP_ATTRIBUTE_INDEX(274), \
        .attributeCount = 0, \
        .clusterSize = 0, \
        .mask = ZAP_CLUSTER_MASK(CLIENT), \
        .functions = NULL, \
        .acceptedCommandList = nullptr ,\
        .generatedCommandList = nullptr ,\
      },\
    { \
        /* Endpoint: 1, Cluster: Target Navigator (client) */ \
        .clusterId = 0x00000505,  \
        .attributes = ZAP_ATTRIBUTE_INDEX(274), \
        .attributeCount = 0, \
        .clusterSize = 0, \
        .mask = ZAP_CLUSTER_MASK(CLIENT), \
        .functions = NULL, \
        .acceptedCommandList = nullptr ,\
        .generatedCommandList = nullptr ,\
      },\
    { \
        /* Endpoint: 1, Cluster: Media Playback (client) */ \
        .clusterId = 0x00000506,  \
        .attributes = ZAP_ATTRIBUTE_INDEX(274), \
        .attributeCount = 0, \
        .clusterSize = 0, \
        .mask = ZAP_CLUSTER_MASK(CLIENT), \
        .functions = NULL, \
        .acceptedCommandList = nullptr ,\
        .generatedCommandList = nullptr ,\
      },\
    { \
        /* Endpoint: 1, Cluster: Media Input (client) */ \
        .clusterId = 0x00000507,  \
        .attributes = ZAP_ATTRIBUTE_INDEX(274), \
        .attributeCount = 0, \
        .clusterSize = 0, \
        .mask = ZAP_CLUSTER_MASK(CLIENT), \
        .functions = NULL, \
        .acceptedCommandList = nullptr ,\
        .generatedCommandList = nullptr ,\
      },\
    { \
        /* Endpoint: 1, Cluster: Keypad Input (client) */ \
        .clusterId = 0x00000509,  \
        .attributes = ZAP_ATTRIBUTE_INDEX(274), \
        .attributeCount = 0, \
        .clusterSize = 0, \
        .mask = ZAP_CLUSTER_MASK(CLIENT), \
        .functions = NULL, \
        .acceptedCommandList = nullptr ,\
        .generatedCommandList = nullptr ,\
      },\
    { \
        /* Endpoint: 1, Cluster: Content Launcher (client) */ \
        .clusterId = 0x0000050A,  \
        .attributes = ZAP_ATTRIBUTE_INDEX(274), \
        .attributeCount = 0, \
        .clusterSize = 0, \
        .mask = ZAP_CLUSTER_MASK(CLIENT), \
        .functions = NULL, \
        .acceptedCommandList = nullptr ,\
        .generatedCommandList = nullptr ,\
      },\
    { \
        /* Endpoint: 1, Cluster: Audio Output (client) */ \
        .clusterId = 0x0000050B,  \
        .attributes = ZAP_ATTRIBUTE_INDEX(274), \
        .attributeCount = 0, \
        .clusterSize = 0, \
        .mask = ZAP_CLUSTER_MASK(CLIENT), \
        .functions = NULL, \
        .acceptedCommandList = nullptr ,\
        .generatedCommandList = nullptr ,\
      },\
    { \
        /* Endpoint: 1, Cluster: Application Launcher (client) */ \
        .clusterId = 0x0000050C,  \
        .attributes = ZAP_ATTRIBUTE_INDEX(274), \
        .attributeCount = 0, \
        .clusterSize = 0, \
        .mask = ZAP_CLUSTER_MASK(CLIENT), \
        .functions = NULL, \
        .acceptedCommandList = nullptr ,\
        .generatedCommandList = nullptr ,\
      },\
    { \
        /* Endpoint: 1, Cluster: Application Basic (client) */ \
        .clusterId = 0x0000050D,  \
        .attributes = ZAP_ATTRIBUTE_INDEX(274), \
        .attributeCount = 0, \
        .clusterSize = 0, \
        .mask = ZAP_CLUSTER_MASK(CLIENT), \
        .functions = NULL, \
        .acceptedCommandList = nullptr ,\
        .generatedCommandList = nullptr ,\
      },\
    { \
        /* Endpoint: 1, Cluster: Account Login (client) */ \
        .clusterId = 0x0000050E,  \
        .attributes = ZAP_ATTRIBUTE_INDEX(274), \
        .attributeCount = 0, \
        .clusterSize = 0, \
        .mask = ZAP_CLUSTER_MASK(CLIENT), \
        .functions = NULL, \
        .acceptedCommandList = nullptr ,\
        .generatedCommandList = nullptr ,\
      },\
    { \
        /* Endpoint: 1, Cluster: Test Cluster (server) */ \
        .clusterId = 0x0000050F,  \
        .attributes = ZAP_ATTRIBUTE_INDEX(274), \
        .attributeCount = 22, \
        .clusterSize = 1068, \
        .mask = ZAP_CLUSTER_MASK(SERVER), \
        .functions = NULL, \
        .acceptedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 98 ) ,\
        .generatedCommandList = nullptr ,\
      },\
    { \
        /* Endpoint: 2, Cluster: On/Off (server) */ \
        .clusterId = 0x00000006,  \
        .attributes = ZAP_ATTRIBUTE_INDEX(296), \
        .attributeCount = 3, \
        .clusterSize = 7, \
        .mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \
        .functions = chipFuncArrayOnOffServer, \
        .acceptedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 101 ) ,\
        .generatedCommandList = nullptr ,\
      },\
    { \
        /* Endpoint: 2, Cluster: Descriptor (server) */ \
        .clusterId = 0x0000001D,  \
        .attributes = ZAP_ATTRIBUTE_INDEX(299), \
        .attributeCount = 6, \
        .clusterSize = 4, \
        .mask = ZAP_CLUSTER_MASK(SERVER), \
        .functions = NULL, \
        .acceptedCommandList = nullptr ,\
        .generatedCommandList = nullptr ,\
      },\
  }
  
  // clang-format on
  
  #define ZAP_CLUSTER_INDEX(index) (&generatedClusters[index])
  
  #define ZAP_FIXED_ENDPOINT_DATA_VERSION_COUNT 37
  
  // This is an array of EmberAfEndpointType structures.
  #define GENERATED_ENDPOINT_TYPES                                                                                                   \
      {                                                                                                                              \
          { ZAP_CLUSTER_INDEX(0), 21, 248 }, { ZAP_CLUSTER_INDEX(21), 27, 1238 }, { ZAP_CLUSTER_INDEX(48), 2, 11 },                  \
      }
  
  // Largest attribute size is needed for various buffers
  #define ATTRIBUTE_LARGEST (1003)
  
  static_assert(ATTRIBUTE_LARGEST <= CHIP_CONFIG_MAX_ATTRIBUTE_STORE_ELEMENT_SIZE, "ATTRIBUTE_LARGEST larger than expected");
  
  // Total size of singleton attributes
  #define ATTRIBUTE_SINGLETONS_SIZE (37)
  
  // Total size of attribute storage
  #define ATTRIBUTE_MAX_SIZE (1497)
  
  // Number of fixed endpoints
  #define FIXED_ENDPOINT_COUNT (3)
  
  // Array of endpoints that are supported, the data inside
  // the array is the endpoint number.
  #define FIXED_ENDPOINT_ARRAY                                                                                                       \
      {                                                                                                                              \
          0x0000, 0x0001, 0x0002                                                                                                     \
      }
  
  // Array of profile ids
  #define FIXED_PROFILE_IDS                                                                                                          \
      {                                                                                                                              \
          0x0103, 0x0103, 0x0103                                                                                                     \
      }
  
  // Array of device types
  #define FIXED_DEVICE_TYPES                                                                                                         \
      {                                                                                                                              \
          { 0x0016, 1 }, { 0x0023, 1 }, { 0x0107, 1 }                                                                                \
      }
  
  // Array of device type offsets
  #define FIXED_DEVICE_TYPE_OFFSETS                                                                                                  \
      {                                                                                                                              \
          0, 1, 2                                                                                                                    \
      }
  
  // Array of device type lengths
  #define FIXED_DEVICE_TYPE_LENGTHS                                                                                                  \
      {                                                                                                                              \
          1, 1, 1                                                                                                                    \
      }
  
  // Array of endpoint types supported on each endpoint
  #define FIXED_ENDPOINT_TYPES                                                                                                       \
      {                                                                                                                              \
          0, 1, 2                                                                                                                    \
      }
  
  // Array of networks supported on each endpoint
  #define FIXED_NETWORKS                                                                                                             \
      {                                                                                                                              \
          0, 0, 0                                                                                                                    \
      }
  