"use strict";
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __export = (target, all) => {
  for (var name in all)
    __defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
  if (from && typeof from === "object" || typeof from === "function") {
    for (let key of __getOwnPropNames(from))
      if (!__hasOwnProp.call(to, key) && key !== except)
        __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
  }
  return to;
};
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
var Static_6_8x_exports = {};
__export(Static_6_8x_exports, {
  Static_6_8x: () => Static_6_8x
});
module.exports = __toCommonJS(Static_6_8x_exports);
var import_core = require("@zwave-js/core");
var import_consts = require("../../../consts.js");
var import_shared = require("../shared.js");
const NVM_Layout_Static_6_8x = [
  { name: "nvmTotalEnd", type: import_shared.NVMEntryType.Word, count: 1 },
  { name: "nvmZWlibrarySize", type: import_shared.NVMEntryType.NVMModuleSize, count: 1 },
  { name: "NVM_INTERNAL_RESERVED_1_far", type: import_shared.NVMEntryType.Byte, count: 4 },
  {
    name: "EX_NVM_HOME_ID_far",
    type: import_shared.NVMEntryType.DWord,
    count: 1
  },
  { name: "NVM_INTERNAL_RESERVED_2_far", type: import_shared.NVMEntryType.Byte, count: 4 },
  { name: "NVM_HOMEID_far", type: import_shared.NVMEntryType.DWord, count: 1 },
  { name: "NVM_NODEID_far", type: import_shared.NVMEntryType.Byte, count: 1 },
  { name: "NVM_CONFIGURATION_VALID_far", type: import_shared.NVMEntryType.Byte, count: 1 },
  {
    name: "NVM_CONFIGURATION_REALLYVALID_far",
    type: import_shared.NVMEntryType.Byte,
    count: 1
  },
  { name: "NVM_INTERNAL_RESERVED_3_far", type: import_shared.NVMEntryType.Byte, count: 1 },
  {
    name: "NVM_PREFERRED_REPEATERS_far",
    type: import_shared.NVMEntryType.NodeMask,
    size: import_core.NUM_NODEMASK_BYTES + 3,
    count: 1
  },
  {
    name: "NVM_PENDING_DISCOVERY_far",
    type: import_shared.NVMEntryType.NodeMask,
    size: import_core.NUM_NODEMASK_BYTES + 3,
    count: 1
  },
  {
    name: "NVM_RTC_TIMERS_far",
    type: import_shared.NVMEntryType.Byte,
    count: import_shared.TOTAL_RTC_TIMER_MAX * import_shared.RTC_TIMER_SIZE
  },
  {
    name: "EX_NVM_NODE_TABLE_START_far",
    type: import_shared.NVMEntryType.NodeInfo,
    count: import_core.MAX_NODES
  },
  {
    name: "EX_NVM_ROUTING_TABLE_START_far",
    type: import_shared.NVMEntryType.NodeMask,
    count: import_core.MAX_NODES
  },
  {
    name: "EX_NVM_LAST_USED_NODE_ID_START_far",
    type: import_shared.NVMEntryType.Byte,
    count: 1
  },
  {
    name: "EX_NVM_STATIC_CONTROLLER_NODE_ID_START_far",
    type: import_shared.NVMEntryType.Byte,
    count: 1
  },
  {
    name: "EX_NVM_PENDING_UPDATE_far",
    type: import_shared.NVMEntryType.NodeMask,
    count: 1
  },
  { name: "EX_NVM_SUC_ACTIVE_START_far", type: import_shared.NVMEntryType.Byte, count: 1 },
  {
    name: "EX_NVM_SUC_NODE_LIST_START_far",
    type: import_shared.NVMEntryType.SUCUpdateEntry,
    count: import_consts.SUC_MAX_UPDATES
  },
  {
    name: "EX_NVM_SUC_CONTROLLER_LIST_START_far",
    type: import_shared.NVMEntryType.Byte,
    count: import_shared.SUC_CONTROLLER_LIST_SIZE
  },
  {
    name: "EX_NVM_SUC_LAST_INDEX_START_far",
    type: import_shared.NVMEntryType.Byte,
    count: 1
  },
  {
    name: "EX_NVM_SUC_ROUTING_SLAVE_LIST_START_far",
    type: import_shared.NVMEntryType.NodeMask,
    count: 1
  },
  {
    name: "EX_NVM_ZENSOR_TABLE_START_far",
    type: import_shared.NVMEntryType.NodeMask,
    count: 1
  },
  {
    name: "EX_NVM_CONTROLLER_CONFIGURATION_far",
    type: import_shared.NVMEntryType.Byte,
    count: 1
  },
  { name: "EX_NVM_MAX_NODE_ID_far", type: import_shared.NVMEntryType.Byte, count: 1 },
  { name: "EX_NVM_RESERVED_ID_far", type: import_shared.NVMEntryType.Byte, count: 1 },
  {
    name: "EX_NVM_ROUTECACHE_START_far",
    type: import_shared.NVMEntryType.Route,
    offset: 9870,
    count: import_core.MAX_NODES
  },
  {
    name: "EX_NVM_ROUTECACHE_NLWR_SR_START_far",
    type: import_shared.NVMEntryType.Route,
    count: import_core.MAX_NODES
  },
  { name: "EX_NVM_ROUTECACHE_MAGIC_far", type: import_shared.NVMEntryType.Byte, count: 1 },
  {
    name: "EX_NVM_ROUTECACHE_APP_LOCK_far",
    type: import_shared.NVMEntryType.NodeMask,
    count: 1
  },
  {
    name: "NVM_SECURITY0_KEY_far",
    type: import_shared.NVMEntryType.Buffer,
    size: 16,
    count: 1
  },
  { name: "NVM_SYSTEM_STATE", type: import_shared.NVMEntryType.Byte, count: 1 },
  {
    name: "nvmZWlibraryDescriptor",
    type: import_shared.NVMEntryType.NVMModuleDescriptor,
    count: 1
  },
  {
    name: "nvmApplicationSize",
    type: import_shared.NVMEntryType.NVMModuleSize,
    // The Bridge API saves an additional node mask for the virtual nodes in the
    // previous module, so we can use this offset to distinguish between the two.
    offset: 12242,
    count: 1
  },
  { name: "EEOFFSET_MAGIC_far", type: import_shared.NVMEntryType.Byte, count: 1 },
  { name: "EEOFFSET_CMDCLASS_LEN_far", type: import_shared.NVMEntryType.Byte, count: 1 },
  {
    name: "EEOFFSET_CMDCLASS_far",
    type: import_shared.NVMEntryType.Byte,
    count: import_shared.APPL_NODEPARM_MAX
  },
  {
    name: "EEOFFSET_WATCHDOG_STARTED_far",
    type: import_shared.NVMEntryType.Byte,
    count: 1
  },
  {
    name: "EEOFFSET_POWERLEVEL_NORMAL_far",
    type: import_shared.NVMEntryType.Byte,
    count: import_shared.POWERLEVEL_CHANNELS
  },
  {
    name: "EEOFFSET_POWERLEVEL_LOW_far",
    type: import_shared.NVMEntryType.Byte,
    count: import_shared.POWERLEVEL_CHANNELS
  },
  {
    name: "EEOFFSET_MODULE_POWER_MODE_EXTINT_ENABLE_far",
    type: import_shared.NVMEntryType.Byte,
    count: 1
  },
  {
    name: "EEOFFSET_MODULE_POWER_MODE_far",
    type: import_shared.NVMEntryType.Byte,
    count: 1
  },
  {
    name: "EEOFFSET_MODULE_POWER_MODE_WUT_TIMEOUT_far",
    type: import_shared.NVMEntryType.DWord,
    count: 1
  },
  {
    name: "nvmApplicationDescriptor",
    type: import_shared.NVMEntryType.NVMModuleDescriptor,
    count: 1
  },
  {
    name: "nvmHostApplicationSize",
    type: import_shared.NVMEntryType.NVMModuleSize,
    count: 1
  },
  {
    name: "EEOFFSET_HOST_OFFSET_START_far",
    type: import_shared.NVMEntryType.Buffer,
    size: import_shared.NVM_SERIALAPI_HOST_SIZE,
    count: 1
  },
  {
    name: "nvmHostApplicationDescriptor",
    type: import_shared.NVMEntryType.NVMModuleDescriptor,
    count: 1
  },
  { name: "nvmDescriptorSize", type: import_shared.NVMEntryType.NVMModuleSize, count: 1 },
  { name: "nvmDescriptor", type: import_shared.NVMEntryType.NVMDescriptor, count: 1 },
  {
    name: "nvmDescriptorDescriptor",
    type: import_shared.NVMEntryType.NVMModuleDescriptor,
    count: 1
  },
  { name: "nvmModuleSizeEndMarker", type: import_shared.NVMEntryType.Word, count: 1 }
];
const Static_6_8x = {
  name: "Static 6.8x",
  library: "static",
  protocolVersions: [
    "6.02",
    "6.03",
    "6.04",
    "6.05",
    "6.06",
    "6.07",
    "6.08",
    "6.09",
    "6.10"
  ],
  layout: NVM_Layout_Static_6_8x
};
// Annotate the CommonJS export names for ESM import in node:
0 && (module.exports = {
  Static_6_8x
});
//# sourceMappingURL=Static_6_8x.js.map
