using System;
using System.Text;
using QCRPG.Framework;

namespace QCRPG.TSL.BT.Packets;

public class SlcLogIdDispatchSearchOverlap : PacketBase
{
	public class UserFieldsWrapper
	{
		public enum LogIdEnum
		{
			SLC_LOG,
			InvalidLogIdValue
		}

		public static class LogIdInfo
		{
			public static LogIdEnum ValueToLogId(uint value)
			{
				if (value == 0)
				{
					return LogIdEnum.SLC_LOG;
				}
				return LogIdEnum.InvalidLogIdValue;
			}

			public static uint LogIdToValue(LogIdEnum enumItem)
			{
				if (enumItem == LogIdEnum.SLC_LOG)
				{
					return 0u;
				}
				return uint.MaxValue;
			}

			public static string LogIdToString(LogIdEnum enumItem)
			{
				if (enumItem == LogIdEnum.SLC_LOG)
				{
					return "SLC_LOG";
				}
				return "Invalid LogId Value";
			}

			public static string LogIdToDescription()
			{
				StringBuilder stringBuilder = new StringBuilder();
				stringBuilder.AppendLine("0x0 = SLC_LOG");
				return stringBuilder.ToString();
			}
		}

		public enum SlcLogIdEnum
		{
			DISPATCH_SEARCH_OVERLAP,
			InvalidSlcLogIdValue
		}

		public static class SlcLogIdInfo
		{
			public static SlcLogIdEnum ValueToSlcLogId(uint value)
			{
				if (value == 12)
				{
					return SlcLogIdEnum.DISPATCH_SEARCH_OVERLAP;
				}
				return SlcLogIdEnum.InvalidSlcLogIdValue;
			}

			public static uint SlcLogIdToValue(SlcLogIdEnum enumItem)
			{
				if (enumItem == SlcLogIdEnum.DISPATCH_SEARCH_OVERLAP)
				{
					return 12u;
				}
				return uint.MaxValue;
			}

			public static string SlcLogIdToString(SlcLogIdEnum enumItem)
			{
				if (enumItem == SlcLogIdEnum.DISPATCH_SEARCH_OVERLAP)
				{
					return "DISPATCH_SEARCH_OVERLAP";
				}
				return "Invalid SlcLogId Value";
			}

			public static string SlcLogIdToDescription()
			{
				StringBuilder stringBuilder = new StringBuilder();
				stringBuilder.AppendLine("0xC = DISPATCH_SEARCH_OVERLAP");
				return stringBuilder.ToString();
			}
		}

		public enum OpcodeEnum
		{
			DISQ_NULL,
			DISQ_COMMON_TERMINATE_ACL_SCHEDULE,
			DISQ_AFH_CHAN_ASSESSMENT,
			DISQ_COMMON_PERIODIC_RADIO_CAL,
			DISQ_COMMON_SW_MPTA,
			DISQ_COMMON_SPARE_FOR_PATCHING,
			DISQ_BREDR_SCO_DATA,
			DISQ_BREDR_E_SCO_RESERVED_FRAME,
			DISQ_BREDR_E_SCO_RETRANS_FRAME,
			DISQ_BREDR_TERMINATE_SCO_SCHEDULE,
			DISQ_BREDR_HOLD_INSTANT,
			DISQ_BREDR_HOLD_ACTIVE,
			DISQ_BREDR_HOLD_ACTIVE_SCAN_AC,
			DISQ_BREDR_SNIFF_INSTANT,
			DISQ_BREDR_SNIFF_FRAME,
			DISQ_BREDR_SNIFF_ENTER,
			DISQ_BREDR_SNIFF_EXIT,
			DISQ_BREDR_SNIFF_SUBRATE_BASE_RATE,
			DISQ_BREDR_ROLE_SWITCH_INSTANT,
			DISQ_BREDR_ROLE_SWITCH_FRAME,
			DISQ_BREDR_INQUIRY_FRAME,
			DISQ_BREDR_PAGE_FRAME,
			DISQ_BREDR_LLM_TOKEN_LM_RETURN,
			DISQ_BREDR_INQUIRY_SCAN,
			DISQ_BREDR_PAGE_SCAN,
			DISQ_BREDR_IDLE_PAGE_SCAN,
			DISQ_BREDR_CLOCK_ADJUST,
			DISQ_BREDR_POWER_MEASURE,
			DISQ_BREDR_SET_AFH,
			DISQ_BREDR_ACL_SERVICE,
			DISQ_BREDR_ACL_A2DP_SRC_SERVICE,
			DISQ_BREDR_PHY_SWITCH_INSTANT,
			DISQ_BREDR_PHY_SWITCH_TO_INSTANT,
			DISQ_BREDR_SPARE_FOR_PATCHING,
			DISQ_BREDR_DUT_TX,
			DISQ_BREDR_EPTM_CONN_ESTAB,
			DISQ_BREDR_EPTM_TEST,
			DISQ_BREDR_LINKLESS_BROADCAST,
			DISQ_BREDR_SYNCHRONIZATION_TRAIN,
			DISQ_BREDR_SYNCHRONIZATION_TRAIN_SCAN,
			DISQ_BREDR_CSB_RECEIVE,
			DISQ_BREDR_PAGE_LLR,
			DISQ_BREDR_LLR_TRIGGER_SCAN,
			DISQ_BREDR_TESTER_TX,
			DISQ_BREDR_TESTER_CHANGE,
			DISQ_BREDR_CSB_RECEIVE_CANCEL,
			DISQ_BREDR_BURST_BROADCAST,
			DISQ_BREDR_BURST_RECEIVE,
			DISQ_BREDR_ACL_RELAY_SERVICE,
			DISQ_LE_ADV,
			DISQ_LE_ADV_MGR,
			DISQ_LE_CONN_ADV_DIRECTED,
			DISQ_LE_SCAN,
			DISQ_LE_IDLE_SCAN,
			DISQ_LE_CONN_MASTER,
			DISQ_LE_CONN_SLAVE,
			DISQ_LE_CONN_UPDATE,
			DISQ_LE_CONN_HI_MASTER,
			DISQ_LE_CONN_HI_SLAVE,
			DISQ_LE_ROLLBACK_SLAVE_LATENCY,
			DISQ_LE_TEST_MODE_START,
			DISQ_LE_ADV_AUX_ADV,
			DISQ_LE_ADV_AUX_CHAIN_ADV,
			DISQ_LE_ADV_AUX_CHAIN_SCAN_RSP,
			DISQ_LE_ADV_AUX_SYNC,
			DISQ_LE_ADV_AUX_CHAIN_SYNC,
			DISQ_LE_SCAN_4_AUX_ADV,
			DISQ_LE_SCAN_4_AUX_CHAIN_ADV,
			DISQ_LE_SCAN_4_AUX_CHAIN_SCAN_RSP,
			DISQ_LE_SCAN_4_AUX_SYNC,
			DISQ_LE_SCAN_4_AUX_CHAIN_SYNC,
			DISQ_LE_ISO_GROUP,
			DISQ_LE_ISO_STREAM_START,
			DISQ_LE_ISO_STREAM_STOP,
			DISQ_LE_SCAN_AUX_SYNC_CANCEL,
			DISQ_LE_SPARE_FOR_PATCHING,
			DISQ_ANT_FRAME,
			DISQ_ANT_EVENT_RESCHEDULE,
			DISQ_ANT_SPARE_FOR_PATCHING,
			InvalidOpcodeValue
		}

		public static class OpcodeInfo
		{
			public static OpcodeEnum ValueToOpcode(uint value)
			{
				return value switch
				{
					0u => OpcodeEnum.DISQ_NULL, 
					1u => OpcodeEnum.DISQ_COMMON_TERMINATE_ACL_SCHEDULE, 
					2u => OpcodeEnum.DISQ_AFH_CHAN_ASSESSMENT, 
					3u => OpcodeEnum.DISQ_COMMON_PERIODIC_RADIO_CAL, 
					4u => OpcodeEnum.DISQ_COMMON_SW_MPTA, 
					5u => OpcodeEnum.DISQ_COMMON_SPARE_FOR_PATCHING, 
					32u => OpcodeEnum.DISQ_BREDR_SCO_DATA, 
					33u => OpcodeEnum.DISQ_BREDR_E_SCO_RESERVED_FRAME, 
					34u => OpcodeEnum.DISQ_BREDR_E_SCO_RETRANS_FRAME, 
					35u => OpcodeEnum.DISQ_BREDR_TERMINATE_SCO_SCHEDULE, 
					36u => OpcodeEnum.DISQ_BREDR_HOLD_INSTANT, 
					37u => OpcodeEnum.DISQ_BREDR_HOLD_ACTIVE, 
					38u => OpcodeEnum.DISQ_BREDR_HOLD_ACTIVE_SCAN_AC, 
					39u => OpcodeEnum.DISQ_BREDR_SNIFF_INSTANT, 
					40u => OpcodeEnum.DISQ_BREDR_SNIFF_FRAME, 
					41u => OpcodeEnum.DISQ_BREDR_SNIFF_ENTER, 
					42u => OpcodeEnum.DISQ_BREDR_SNIFF_EXIT, 
					43u => OpcodeEnum.DISQ_BREDR_SNIFF_SUBRATE_BASE_RATE, 
					44u => OpcodeEnum.DISQ_BREDR_ROLE_SWITCH_INSTANT, 
					45u => OpcodeEnum.DISQ_BREDR_ROLE_SWITCH_FRAME, 
					46u => OpcodeEnum.DISQ_BREDR_INQUIRY_FRAME, 
					47u => OpcodeEnum.DISQ_BREDR_PAGE_FRAME, 
					48u => OpcodeEnum.DISQ_BREDR_LLM_TOKEN_LM_RETURN, 
					49u => OpcodeEnum.DISQ_BREDR_INQUIRY_SCAN, 
					50u => OpcodeEnum.DISQ_BREDR_PAGE_SCAN, 
					51u => OpcodeEnum.DISQ_BREDR_IDLE_PAGE_SCAN, 
					52u => OpcodeEnum.DISQ_BREDR_CLOCK_ADJUST, 
					53u => OpcodeEnum.DISQ_BREDR_POWER_MEASURE, 
					54u => OpcodeEnum.DISQ_BREDR_SET_AFH, 
					55u => OpcodeEnum.DISQ_BREDR_ACL_SERVICE, 
					56u => OpcodeEnum.DISQ_BREDR_ACL_A2DP_SRC_SERVICE, 
					57u => OpcodeEnum.DISQ_BREDR_PHY_SWITCH_INSTANT, 
					58u => OpcodeEnum.DISQ_BREDR_PHY_SWITCH_TO_INSTANT, 
					59u => OpcodeEnum.DISQ_BREDR_SPARE_FOR_PATCHING, 
					64u => OpcodeEnum.DISQ_BREDR_DUT_TX, 
					65u => OpcodeEnum.DISQ_BREDR_EPTM_CONN_ESTAB, 
					66u => OpcodeEnum.DISQ_BREDR_EPTM_TEST, 
					67u => OpcodeEnum.DISQ_BREDR_LINKLESS_BROADCAST, 
					68u => OpcodeEnum.DISQ_BREDR_SYNCHRONIZATION_TRAIN, 
					69u => OpcodeEnum.DISQ_BREDR_SYNCHRONIZATION_TRAIN_SCAN, 
					70u => OpcodeEnum.DISQ_BREDR_CSB_RECEIVE, 
					71u => OpcodeEnum.DISQ_BREDR_PAGE_LLR, 
					72u => OpcodeEnum.DISQ_BREDR_LLR_TRIGGER_SCAN, 
					73u => OpcodeEnum.DISQ_BREDR_TESTER_TX, 
					74u => OpcodeEnum.DISQ_BREDR_TESTER_CHANGE, 
					75u => OpcodeEnum.DISQ_BREDR_CSB_RECEIVE_CANCEL, 
					76u => OpcodeEnum.DISQ_BREDR_BURST_BROADCAST, 
					77u => OpcodeEnum.DISQ_BREDR_BURST_RECEIVE, 
					78u => OpcodeEnum.DISQ_BREDR_ACL_RELAY_SERVICE, 
					96u => OpcodeEnum.DISQ_LE_ADV, 
					97u => OpcodeEnum.DISQ_LE_ADV_MGR, 
					98u => OpcodeEnum.DISQ_LE_CONN_ADV_DIRECTED, 
					99u => OpcodeEnum.DISQ_LE_SCAN, 
					100u => OpcodeEnum.DISQ_LE_IDLE_SCAN, 
					101u => OpcodeEnum.DISQ_LE_CONN_MASTER, 
					102u => OpcodeEnum.DISQ_LE_CONN_SLAVE, 
					103u => OpcodeEnum.DISQ_LE_CONN_UPDATE, 
					104u => OpcodeEnum.DISQ_LE_CONN_HI_MASTER, 
					105u => OpcodeEnum.DISQ_LE_CONN_HI_SLAVE, 
					106u => OpcodeEnum.DISQ_LE_ROLLBACK_SLAVE_LATENCY, 
					107u => OpcodeEnum.DISQ_LE_TEST_MODE_START, 
					108u => OpcodeEnum.DISQ_LE_ADV_AUX_ADV, 
					109u => OpcodeEnum.DISQ_LE_ADV_AUX_CHAIN_ADV, 
					110u => OpcodeEnum.DISQ_LE_ADV_AUX_CHAIN_SCAN_RSP, 
					111u => OpcodeEnum.DISQ_LE_ADV_AUX_SYNC, 
					112u => OpcodeEnum.DISQ_LE_ADV_AUX_CHAIN_SYNC, 
					113u => OpcodeEnum.DISQ_LE_SCAN_4_AUX_ADV, 
					114u => OpcodeEnum.DISQ_LE_SCAN_4_AUX_CHAIN_ADV, 
					115u => OpcodeEnum.DISQ_LE_SCAN_4_AUX_CHAIN_SCAN_RSP, 
					116u => OpcodeEnum.DISQ_LE_SCAN_4_AUX_SYNC, 
					117u => OpcodeEnum.DISQ_LE_SCAN_4_AUX_CHAIN_SYNC, 
					118u => OpcodeEnum.DISQ_LE_ISO_GROUP, 
					119u => OpcodeEnum.DISQ_LE_ISO_STREAM_START, 
					120u => OpcodeEnum.DISQ_LE_ISO_STREAM_STOP, 
					121u => OpcodeEnum.DISQ_LE_SCAN_AUX_SYNC_CANCEL, 
					122u => OpcodeEnum.DISQ_LE_SPARE_FOR_PATCHING, 
					128u => OpcodeEnum.DISQ_ANT_FRAME, 
					129u => OpcodeEnum.DISQ_ANT_EVENT_RESCHEDULE, 
					130u => OpcodeEnum.DISQ_ANT_SPARE_FOR_PATCHING, 
					_ => OpcodeEnum.InvalidOpcodeValue, 
				};
			}

			public static uint OpcodeToValue(OpcodeEnum enumItem)
			{
				return enumItem switch
				{
					OpcodeEnum.DISQ_NULL => 0u, 
					OpcodeEnum.DISQ_COMMON_TERMINATE_ACL_SCHEDULE => 1u, 
					OpcodeEnum.DISQ_AFH_CHAN_ASSESSMENT => 2u, 
					OpcodeEnum.DISQ_COMMON_PERIODIC_RADIO_CAL => 3u, 
					OpcodeEnum.DISQ_COMMON_SW_MPTA => 4u, 
					OpcodeEnum.DISQ_COMMON_SPARE_FOR_PATCHING => 5u, 
					OpcodeEnum.DISQ_BREDR_SCO_DATA => 32u, 
					OpcodeEnum.DISQ_BREDR_E_SCO_RESERVED_FRAME => 33u, 
					OpcodeEnum.DISQ_BREDR_E_SCO_RETRANS_FRAME => 34u, 
					OpcodeEnum.DISQ_BREDR_TERMINATE_SCO_SCHEDULE => 35u, 
					OpcodeEnum.DISQ_BREDR_HOLD_INSTANT => 36u, 
					OpcodeEnum.DISQ_BREDR_HOLD_ACTIVE => 37u, 
					OpcodeEnum.DISQ_BREDR_HOLD_ACTIVE_SCAN_AC => 38u, 
					OpcodeEnum.DISQ_BREDR_SNIFF_INSTANT => 39u, 
					OpcodeEnum.DISQ_BREDR_SNIFF_FRAME => 40u, 
					OpcodeEnum.DISQ_BREDR_SNIFF_ENTER => 41u, 
					OpcodeEnum.DISQ_BREDR_SNIFF_EXIT => 42u, 
					OpcodeEnum.DISQ_BREDR_SNIFF_SUBRATE_BASE_RATE => 43u, 
					OpcodeEnum.DISQ_BREDR_ROLE_SWITCH_INSTANT => 44u, 
					OpcodeEnum.DISQ_BREDR_ROLE_SWITCH_FRAME => 45u, 
					OpcodeEnum.DISQ_BREDR_INQUIRY_FRAME => 46u, 
					OpcodeEnum.DISQ_BREDR_PAGE_FRAME => 47u, 
					OpcodeEnum.DISQ_BREDR_LLM_TOKEN_LM_RETURN => 48u, 
					OpcodeEnum.DISQ_BREDR_INQUIRY_SCAN => 49u, 
					OpcodeEnum.DISQ_BREDR_PAGE_SCAN => 50u, 
					OpcodeEnum.DISQ_BREDR_IDLE_PAGE_SCAN => 51u, 
					OpcodeEnum.DISQ_BREDR_CLOCK_ADJUST => 52u, 
					OpcodeEnum.DISQ_BREDR_POWER_MEASURE => 53u, 
					OpcodeEnum.DISQ_BREDR_SET_AFH => 54u, 
					OpcodeEnum.DISQ_BREDR_ACL_SERVICE => 55u, 
					OpcodeEnum.DISQ_BREDR_ACL_A2DP_SRC_SERVICE => 56u, 
					OpcodeEnum.DISQ_BREDR_PHY_SWITCH_INSTANT => 57u, 
					OpcodeEnum.DISQ_BREDR_PHY_SWITCH_TO_INSTANT => 58u, 
					OpcodeEnum.DISQ_BREDR_SPARE_FOR_PATCHING => 59u, 
					OpcodeEnum.DISQ_BREDR_DUT_TX => 64u, 
					OpcodeEnum.DISQ_BREDR_EPTM_CONN_ESTAB => 65u, 
					OpcodeEnum.DISQ_BREDR_EPTM_TEST => 66u, 
					OpcodeEnum.DISQ_BREDR_LINKLESS_BROADCAST => 67u, 
					OpcodeEnum.DISQ_BREDR_SYNCHRONIZATION_TRAIN => 68u, 
					OpcodeEnum.DISQ_BREDR_SYNCHRONIZATION_TRAIN_SCAN => 69u, 
					OpcodeEnum.DISQ_BREDR_CSB_RECEIVE => 70u, 
					OpcodeEnum.DISQ_BREDR_PAGE_LLR => 71u, 
					OpcodeEnum.DISQ_BREDR_LLR_TRIGGER_SCAN => 72u, 
					OpcodeEnum.DISQ_BREDR_TESTER_TX => 73u, 
					OpcodeEnum.DISQ_BREDR_TESTER_CHANGE => 74u, 
					OpcodeEnum.DISQ_BREDR_CSB_RECEIVE_CANCEL => 75u, 
					OpcodeEnum.DISQ_BREDR_BURST_BROADCAST => 76u, 
					OpcodeEnum.DISQ_BREDR_BURST_RECEIVE => 77u, 
					OpcodeEnum.DISQ_BREDR_ACL_RELAY_SERVICE => 78u, 
					OpcodeEnum.DISQ_LE_ADV => 96u, 
					OpcodeEnum.DISQ_LE_ADV_MGR => 97u, 
					OpcodeEnum.DISQ_LE_CONN_ADV_DIRECTED => 98u, 
					OpcodeEnum.DISQ_LE_SCAN => 99u, 
					OpcodeEnum.DISQ_LE_IDLE_SCAN => 100u, 
					OpcodeEnum.DISQ_LE_CONN_MASTER => 101u, 
					OpcodeEnum.DISQ_LE_CONN_SLAVE => 102u, 
					OpcodeEnum.DISQ_LE_CONN_UPDATE => 103u, 
					OpcodeEnum.DISQ_LE_CONN_HI_MASTER => 104u, 
					OpcodeEnum.DISQ_LE_CONN_HI_SLAVE => 105u, 
					OpcodeEnum.DISQ_LE_ROLLBACK_SLAVE_LATENCY => 106u, 
					OpcodeEnum.DISQ_LE_TEST_MODE_START => 107u, 
					OpcodeEnum.DISQ_LE_ADV_AUX_ADV => 108u, 
					OpcodeEnum.DISQ_LE_ADV_AUX_CHAIN_ADV => 109u, 
					OpcodeEnum.DISQ_LE_ADV_AUX_CHAIN_SCAN_RSP => 110u, 
					OpcodeEnum.DISQ_LE_ADV_AUX_SYNC => 111u, 
					OpcodeEnum.DISQ_LE_ADV_AUX_CHAIN_SYNC => 112u, 
					OpcodeEnum.DISQ_LE_SCAN_4_AUX_ADV => 113u, 
					OpcodeEnum.DISQ_LE_SCAN_4_AUX_CHAIN_ADV => 114u, 
					OpcodeEnum.DISQ_LE_SCAN_4_AUX_CHAIN_SCAN_RSP => 115u, 
					OpcodeEnum.DISQ_LE_SCAN_4_AUX_SYNC => 116u, 
					OpcodeEnum.DISQ_LE_SCAN_4_AUX_CHAIN_SYNC => 117u, 
					OpcodeEnum.DISQ_LE_ISO_GROUP => 118u, 
					OpcodeEnum.DISQ_LE_ISO_STREAM_START => 119u, 
					OpcodeEnum.DISQ_LE_ISO_STREAM_STOP => 120u, 
					OpcodeEnum.DISQ_LE_SCAN_AUX_SYNC_CANCEL => 121u, 
					OpcodeEnum.DISQ_LE_SPARE_FOR_PATCHING => 122u, 
					OpcodeEnum.DISQ_ANT_FRAME => 128u, 
					OpcodeEnum.DISQ_ANT_EVENT_RESCHEDULE => 129u, 
					OpcodeEnum.DISQ_ANT_SPARE_FOR_PATCHING => 130u, 
					_ => uint.MaxValue, 
				};
			}

			public static string OpcodeToString(OpcodeEnum enumItem)
			{
				return enumItem switch
				{
					OpcodeEnum.DISQ_NULL => "DISQ_NULL", 
					OpcodeEnum.DISQ_COMMON_TERMINATE_ACL_SCHEDULE => "DISQ_COMMON_TERMINATE_ACL_SCHEDULE", 
					OpcodeEnum.DISQ_AFH_CHAN_ASSESSMENT => "DISQ_AFH_CHAN_ASSESSMENT", 
					OpcodeEnum.DISQ_COMMON_PERIODIC_RADIO_CAL => "DISQ_COMMON_PERIODIC_RADIO_CAL", 
					OpcodeEnum.DISQ_COMMON_SW_MPTA => "DISQ_COMMON_SW_MPTA", 
					OpcodeEnum.DISQ_COMMON_SPARE_FOR_PATCHING => "DISQ_COMMON_SPARE_FOR_PATCHING", 
					OpcodeEnum.DISQ_BREDR_SCO_DATA => "DISQ_BREDR_SCO_DATA", 
					OpcodeEnum.DISQ_BREDR_E_SCO_RESERVED_FRAME => "DISQ_BREDR_E_SCO_RESERVED_FRAME", 
					OpcodeEnum.DISQ_BREDR_E_SCO_RETRANS_FRAME => "DISQ_BREDR_E_SCO_RETRANS_FRAME", 
					OpcodeEnum.DISQ_BREDR_TERMINATE_SCO_SCHEDULE => "DISQ_BREDR_TERMINATE_SCO_SCHEDULE", 
					OpcodeEnum.DISQ_BREDR_HOLD_INSTANT => "DISQ_BREDR_HOLD_INSTANT", 
					OpcodeEnum.DISQ_BREDR_HOLD_ACTIVE => "DISQ_BREDR_HOLD_ACTIVE", 
					OpcodeEnum.DISQ_BREDR_HOLD_ACTIVE_SCAN_AC => "DISQ_BREDR_HOLD_ACTIVE_SCAN_AC", 
					OpcodeEnum.DISQ_BREDR_SNIFF_INSTANT => "DISQ_BREDR_SNIFF_INSTANT", 
					OpcodeEnum.DISQ_BREDR_SNIFF_FRAME => "DISQ_BREDR_SNIFF_FRAME", 
					OpcodeEnum.DISQ_BREDR_SNIFF_ENTER => "DISQ_BREDR_SNIFF_ENTER", 
					OpcodeEnum.DISQ_BREDR_SNIFF_EXIT => "DISQ_BREDR_SNIFF_EXIT", 
					OpcodeEnum.DISQ_BREDR_SNIFF_SUBRATE_BASE_RATE => "DISQ_BREDR_SNIFF_SUBRATE_BASE_RATE", 
					OpcodeEnum.DISQ_BREDR_ROLE_SWITCH_INSTANT => "DISQ_BREDR_ROLE_SWITCH_INSTANT", 
					OpcodeEnum.DISQ_BREDR_ROLE_SWITCH_FRAME => "DISQ_BREDR_ROLE_SWITCH_FRAME", 
					OpcodeEnum.DISQ_BREDR_INQUIRY_FRAME => "DISQ_BREDR_INQUIRY_FRAME", 
					OpcodeEnum.DISQ_BREDR_PAGE_FRAME => "DISQ_BREDR_PAGE_FRAME", 
					OpcodeEnum.DISQ_BREDR_LLM_TOKEN_LM_RETURN => "DISQ_BREDR_LLM_TOKEN_LM_RETURN", 
					OpcodeEnum.DISQ_BREDR_INQUIRY_SCAN => "DISQ_BREDR_INQUIRY_SCAN", 
					OpcodeEnum.DISQ_BREDR_PAGE_SCAN => "DISQ_BREDR_PAGE_SCAN", 
					OpcodeEnum.DISQ_BREDR_IDLE_PAGE_SCAN => "DISQ_BREDR_IDLE_PAGE_SCAN", 
					OpcodeEnum.DISQ_BREDR_CLOCK_ADJUST => "DISQ_BREDR_CLOCK_ADJUST", 
					OpcodeEnum.DISQ_BREDR_POWER_MEASURE => "DISQ_BREDR_POWER_MEASURE", 
					OpcodeEnum.DISQ_BREDR_SET_AFH => "DISQ_BREDR_SET_AFH", 
					OpcodeEnum.DISQ_BREDR_ACL_SERVICE => "DISQ_BREDR_ACL_SERVICE", 
					OpcodeEnum.DISQ_BREDR_ACL_A2DP_SRC_SERVICE => "DISQ_BREDR_ACL_A2DP_SRC_SERVICE", 
					OpcodeEnum.DISQ_BREDR_PHY_SWITCH_INSTANT => "DISQ_BREDR_PHY_SWITCH_INSTANT", 
					OpcodeEnum.DISQ_BREDR_PHY_SWITCH_TO_INSTANT => "DISQ_BREDR_PHY_SWITCH_TO_INSTANT", 
					OpcodeEnum.DISQ_BREDR_SPARE_FOR_PATCHING => "DISQ_BREDR_SPARE_FOR_PATCHING", 
					OpcodeEnum.DISQ_BREDR_DUT_TX => "DISQ_BREDR_DUT_TX", 
					OpcodeEnum.DISQ_BREDR_EPTM_CONN_ESTAB => "DISQ_BREDR_EPTM_CONN_ESTAB", 
					OpcodeEnum.DISQ_BREDR_EPTM_TEST => "DISQ_BREDR_EPTM_TEST", 
					OpcodeEnum.DISQ_BREDR_LINKLESS_BROADCAST => "DISQ_BREDR_LINKLESS_BROADCAST", 
					OpcodeEnum.DISQ_BREDR_SYNCHRONIZATION_TRAIN => "DISQ_BREDR_SYNCHRONIZATION_TRAIN", 
					OpcodeEnum.DISQ_BREDR_SYNCHRONIZATION_TRAIN_SCAN => "DISQ_BREDR_SYNCHRONIZATION_TRAIN_SCAN", 
					OpcodeEnum.DISQ_BREDR_CSB_RECEIVE => "DISQ_BREDR_CSB_RECEIVE", 
					OpcodeEnum.DISQ_BREDR_PAGE_LLR => "DISQ_BREDR_PAGE_LLR", 
					OpcodeEnum.DISQ_BREDR_LLR_TRIGGER_SCAN => "DISQ_BREDR_LLR_TRIGGER_SCAN", 
					OpcodeEnum.DISQ_BREDR_TESTER_TX => "DISQ_BREDR_TESTER_TX", 
					OpcodeEnum.DISQ_BREDR_TESTER_CHANGE => "DISQ_BREDR_TESTER_CHANGE", 
					OpcodeEnum.DISQ_BREDR_CSB_RECEIVE_CANCEL => "DISQ_BREDR_CSB_RECEIVE_CANCEL", 
					OpcodeEnum.DISQ_BREDR_BURST_BROADCAST => "DISQ_BREDR_BURST_BROADCAST", 
					OpcodeEnum.DISQ_BREDR_BURST_RECEIVE => "DISQ_BREDR_BURST_RECEIVE", 
					OpcodeEnum.DISQ_BREDR_ACL_RELAY_SERVICE => "DISQ_BREDR_ACL_RELAY_SERVICE", 
					OpcodeEnum.DISQ_LE_ADV => "DISQ_LE_ADV", 
					OpcodeEnum.DISQ_LE_ADV_MGR => "DISQ_LE_ADV_MGR", 
					OpcodeEnum.DISQ_LE_CONN_ADV_DIRECTED => "DISQ_LE_CONN_ADV_DIRECTED", 
					OpcodeEnum.DISQ_LE_SCAN => "DISQ_LE_SCAN", 
					OpcodeEnum.DISQ_LE_IDLE_SCAN => "DISQ_LE_IDLE_SCAN", 
					OpcodeEnum.DISQ_LE_CONN_MASTER => "DISQ_LE_CONN_MASTER", 
					OpcodeEnum.DISQ_LE_CONN_SLAVE => "DISQ_LE_CONN_SLAVE", 
					OpcodeEnum.DISQ_LE_CONN_UPDATE => "DISQ_LE_CONN_UPDATE", 
					OpcodeEnum.DISQ_LE_CONN_HI_MASTER => "DISQ_LE_CONN_HI_MASTER", 
					OpcodeEnum.DISQ_LE_CONN_HI_SLAVE => "DISQ_LE_CONN_HI_SLAVE", 
					OpcodeEnum.DISQ_LE_ROLLBACK_SLAVE_LATENCY => "DISQ_LE_ROLLBACK_SLAVE_LATENCY", 
					OpcodeEnum.DISQ_LE_TEST_MODE_START => "DISQ_LE_TEST_MODE_START", 
					OpcodeEnum.DISQ_LE_ADV_AUX_ADV => "DISQ_LE_ADV_AUX_ADV", 
					OpcodeEnum.DISQ_LE_ADV_AUX_CHAIN_ADV => "DISQ_LE_ADV_AUX_CHAIN_ADV", 
					OpcodeEnum.DISQ_LE_ADV_AUX_CHAIN_SCAN_RSP => "DISQ_LE_ADV_AUX_CHAIN_SCAN_RSP", 
					OpcodeEnum.DISQ_LE_ADV_AUX_SYNC => "DISQ_LE_ADV_AUX_SYNC", 
					OpcodeEnum.DISQ_LE_ADV_AUX_CHAIN_SYNC => "DISQ_LE_ADV_AUX_CHAIN_SYNC", 
					OpcodeEnum.DISQ_LE_SCAN_4_AUX_ADV => "DISQ_LE_SCAN_4_AUX_ADV", 
					OpcodeEnum.DISQ_LE_SCAN_4_AUX_CHAIN_ADV => "DISQ_LE_SCAN_4_AUX_CHAIN_ADV", 
					OpcodeEnum.DISQ_LE_SCAN_4_AUX_CHAIN_SCAN_RSP => "DISQ_LE_SCAN_4_AUX_CHAIN_SCAN_RSP", 
					OpcodeEnum.DISQ_LE_SCAN_4_AUX_SYNC => "DISQ_LE_SCAN_4_AUX_SYNC", 
					OpcodeEnum.DISQ_LE_SCAN_4_AUX_CHAIN_SYNC => "DISQ_LE_SCAN_4_AUX_CHAIN_SYNC", 
					OpcodeEnum.DISQ_LE_ISO_GROUP => "DISQ_LE_ISO_GROUP", 
					OpcodeEnum.DISQ_LE_ISO_STREAM_START => "DISQ_LE_ISO_STREAM_START", 
					OpcodeEnum.DISQ_LE_ISO_STREAM_STOP => "DISQ_LE_ISO_STREAM_STOP", 
					OpcodeEnum.DISQ_LE_SCAN_AUX_SYNC_CANCEL => "DISQ_LE_SCAN_AUX_SYNC_CANCEL", 
					OpcodeEnum.DISQ_LE_SPARE_FOR_PATCHING => "DISQ_LE_SPARE_FOR_PATCHING", 
					OpcodeEnum.DISQ_ANT_FRAME => "DISQ_ANT_FRAME", 
					OpcodeEnum.DISQ_ANT_EVENT_RESCHEDULE => "DISQ_ANT_EVENT_RESCHEDULE", 
					OpcodeEnum.DISQ_ANT_SPARE_FOR_PATCHING => "DISQ_ANT_SPARE_FOR_PATCHING", 
					_ => "Invalid Opcode Value", 
				};
			}

			public static string OpcodeToDescription()
			{
				StringBuilder stringBuilder = new StringBuilder();
				stringBuilder.AppendLine("0x0 = DISQ_NULL");
				stringBuilder.AppendLine("0x1 = DISQ_COMMON_TERMINATE_ACL_SCHEDULE");
				stringBuilder.AppendLine("0x2 = DISQ_AFH_CHAN_ASSESSMENT");
				stringBuilder.AppendLine("0x3 = DISQ_COMMON_PERIODIC_RADIO_CAL");
				stringBuilder.AppendLine("0x4 = DISQ_COMMON_SW_MPTA");
				stringBuilder.AppendLine("0x5 = DISQ_COMMON_SPARE_FOR_PATCHING");
				stringBuilder.AppendLine("0x20 = DISQ_BREDR_SCO_DATA");
				stringBuilder.AppendLine("0x21 = DISQ_BREDR_E_SCO_RESERVED_FRAME");
				stringBuilder.AppendLine("0x22 = DISQ_BREDR_E_SCO_RETRANS_FRAME");
				stringBuilder.AppendLine("0x23 = DISQ_BREDR_TERMINATE_SCO_SCHEDULE");
				stringBuilder.AppendLine("0x24 = DISQ_BREDR_HOLD_INSTANT");
				stringBuilder.AppendLine("0x25 = DISQ_BREDR_HOLD_ACTIVE");
				stringBuilder.AppendLine("0x26 = DISQ_BREDR_HOLD_ACTIVE_SCAN_AC");
				stringBuilder.AppendLine("0x27 = DISQ_BREDR_SNIFF_INSTANT");
				stringBuilder.AppendLine("0x28 = DISQ_BREDR_SNIFF_FRAME");
				stringBuilder.AppendLine("0x29 = DISQ_BREDR_SNIFF_ENTER");
				stringBuilder.AppendLine("0x2A = DISQ_BREDR_SNIFF_EXIT");
				stringBuilder.AppendLine("0x2B = DISQ_BREDR_SNIFF_SUBRATE_BASE_RATE");
				stringBuilder.AppendLine("0x2C = DISQ_BREDR_ROLE_SWITCH_INSTANT");
				stringBuilder.AppendLine("0x2D = DISQ_BREDR_ROLE_SWITCH_FRAME");
				stringBuilder.AppendLine("0x2E = DISQ_BREDR_INQUIRY_FRAME");
				stringBuilder.AppendLine("0x2F = DISQ_BREDR_PAGE_FRAME");
				stringBuilder.AppendLine("0x30 = DISQ_BREDR_LLM_TOKEN_LM_RETURN");
				stringBuilder.AppendLine("0x31 = DISQ_BREDR_INQUIRY_SCAN");
				stringBuilder.AppendLine("0x32 = DISQ_BREDR_PAGE_SCAN");
				stringBuilder.AppendLine("0x33 = DISQ_BREDR_IDLE_PAGE_SCAN");
				stringBuilder.AppendLine("0x34 = DISQ_BREDR_CLOCK_ADJUST");
				stringBuilder.AppendLine("0x35 = DISQ_BREDR_POWER_MEASURE");
				stringBuilder.AppendLine("0x36 = DISQ_BREDR_SET_AFH");
				stringBuilder.AppendLine("0x37 = DISQ_BREDR_ACL_SERVICE");
				stringBuilder.AppendLine("0x38 = DISQ_BREDR_ACL_A2DP_SRC_SERVICE");
				stringBuilder.AppendLine("0x39 = DISQ_BREDR_PHY_SWITCH_INSTANT");
				stringBuilder.AppendLine("0x3A = DISQ_BREDR_PHY_SWITCH_TO_INSTANT");
				stringBuilder.AppendLine("0x3B = DISQ_BREDR_SPARE_FOR_PATCHING");
				stringBuilder.AppendLine("0x40 = DISQ_BREDR_DUT_TX");
				stringBuilder.AppendLine("0x41 = DISQ_BREDR_EPTM_CONN_ESTAB");
				stringBuilder.AppendLine("0x42 = DISQ_BREDR_EPTM_TEST");
				stringBuilder.AppendLine("0x43 = DISQ_BREDR_LINKLESS_BROADCAST");
				stringBuilder.AppendLine("0x44 = DISQ_BREDR_SYNCHRONIZATION_TRAIN");
				stringBuilder.AppendLine("0x45 = DISQ_BREDR_SYNCHRONIZATION_TRAIN_SCAN");
				stringBuilder.AppendLine("0x46 = DISQ_BREDR_CSB_RECEIVE");
				stringBuilder.AppendLine("0x47 = DISQ_BREDR_PAGE_LLR");
				stringBuilder.AppendLine("0x48 = DISQ_BREDR_LLR_TRIGGER_SCAN");
				stringBuilder.AppendLine("0x49 = DISQ_BREDR_TESTER_TX");
				stringBuilder.AppendLine("0x4A = DISQ_BREDR_TESTER_CHANGE");
				stringBuilder.AppendLine("0x4B = DISQ_BREDR_CSB_RECEIVE_CANCEL");
				stringBuilder.AppendLine("0x4C = DISQ_BREDR_BURST_BROADCAST");
				stringBuilder.AppendLine("0x4D = DISQ_BREDR_BURST_RECEIVE");
				stringBuilder.AppendLine("0x4E = DISQ_BREDR_ACL_RELAY_SERVICE");
				stringBuilder.AppendLine("0x60 = DISQ_LE_ADV");
				stringBuilder.AppendLine("0x61 = DISQ_LE_ADV_MGR");
				stringBuilder.AppendLine("0x62 = DISQ_LE_CONN_ADV_DIRECTED");
				stringBuilder.AppendLine("0x63 = DISQ_LE_SCAN");
				stringBuilder.AppendLine("0x64 = DISQ_LE_IDLE_SCAN");
				stringBuilder.AppendLine("0x65 = DISQ_LE_CONN_MASTER");
				stringBuilder.AppendLine("0x66 = DISQ_LE_CONN_SLAVE");
				stringBuilder.AppendLine("0x67 = DISQ_LE_CONN_UPDATE");
				stringBuilder.AppendLine("0x68 = DISQ_LE_CONN_HI_MASTER");
				stringBuilder.AppendLine("0x69 = DISQ_LE_CONN_HI_SLAVE");
				stringBuilder.AppendLine("0x6A = DISQ_LE_ROLLBACK_SLAVE_LATENCY");
				stringBuilder.AppendLine("0x6B = DISQ_LE_TEST_MODE_START");
				stringBuilder.AppendLine("0x6C = DISQ_LE_ADV_AUX_ADV");
				stringBuilder.AppendLine("0x6D = DISQ_LE_ADV_AUX_CHAIN_ADV");
				stringBuilder.AppendLine("0x6E = DISQ_LE_ADV_AUX_CHAIN_SCAN_RSP");
				stringBuilder.AppendLine("0x6F = DISQ_LE_ADV_AUX_SYNC");
				stringBuilder.AppendLine("0x70 = DISQ_LE_ADV_AUX_CHAIN_SYNC");
				stringBuilder.AppendLine("0x71 = DISQ_LE_SCAN_4_AUX_ADV");
				stringBuilder.AppendLine("0x72 = DISQ_LE_SCAN_4_AUX_CHAIN_ADV");
				stringBuilder.AppendLine("0x73 = DISQ_LE_SCAN_4_AUX_CHAIN_SCAN_RSP");
				stringBuilder.AppendLine("0x74 = DISQ_LE_SCAN_4_AUX_SYNC");
				stringBuilder.AppendLine("0x75 = DISQ_LE_SCAN_4_AUX_CHAIN_SYNC");
				stringBuilder.AppendLine("0x76 = DISQ_LE_ISO_GROUP");
				stringBuilder.AppendLine("0x77 = DISQ_LE_ISO_STREAM_START");
				stringBuilder.AppendLine("0x78 = DISQ_LE_ISO_STREAM_STOP");
				stringBuilder.AppendLine("0x79 = DISQ_LE_SCAN_AUX_SYNC_CANCEL");
				stringBuilder.AppendLine("0x7A = DISQ_LE_SPARE_FOR_PATCHING");
				stringBuilder.AppendLine("0x80 = DISQ_ANT_FRAME");
				stringBuilder.AppendLine("0x81 = DISQ_ANT_EVENT_RESCHEDULE");
				stringBuilder.AppendLine("0x82 = DISQ_ANT_SPARE_FOR_PATCHING");
				return stringBuilder.ToString();
			}
		}

		private const uint _SlcLogId = 12u;

		private uint _SeqNum;

		private uint _LogsLostDrop;

		private uint _ProdId;

		private uint _LogId;

		private uint _LogFormatLevel;

		private uint _Timestamp;

		private uint _SlcFmtSpecifier;

		private uint _Opcode;

		public uint SeqNum
		{
			get
			{
				return _SeqNum;
			}
			set
			{
				if (value > 255)
				{
					throw new Exception("Maximum possible value for SeqNum is 0xFF");
				}
				_SeqNum = value;
			}
		}

		public uint LogsLostDrop
		{
			get
			{
				return _LogsLostDrop;
			}
			set
			{
				if (value > 255)
				{
					throw new Exception("Maximum possible value for LogsLostDrop is 0xFF");
				}
				_LogsLostDrop = value;
			}
		}

		public uint ProdId
		{
			get
			{
				return _ProdId;
			}
			set
			{
				if (value > 255)
				{
					throw new Exception("Maximum possible value for ProdId is 0xFF");
				}
				_ProdId = value;
			}
		}

		public uint LogId
		{
			get
			{
				return _LogId;
			}
			set
			{
				if (value > 65535)
				{
					throw new Exception("Maximum possible value for LogId is 0xFFFF");
				}
				if (LogIdInfo.ValueToLogId(value) == LogIdEnum.InvalidLogIdValue)
				{
					throw new Exception("Invalid LogId value");
				}
				_LogId = value;
			}
		}

		public uint LogFormatLevel
		{
			get
			{
				return _LogFormatLevel;
			}
			set
			{
				if (value > 255)
				{
					throw new Exception("Maximum possible value for LogFormatLevel is 0xFF");
				}
				_LogFormatLevel = value;
			}
		}

		public uint Timestamp
		{
			get
			{
				return _Timestamp;
			}
			set
			{
				_Timestamp = value;
			}
		}

		public uint SlcFmtSpecifier
		{
			get
			{
				return _SlcFmtSpecifier;
			}
			set
			{
				if (value > 3)
				{
					throw new Exception("Maximum possible value for SlcFmtSpecifier is 0x3");
				}
				_SlcFmtSpecifier = value;
			}
		}

		public uint SlcLogId => 12u;

		public uint Opcode
		{
			get
			{
				return _Opcode;
			}
			set
			{
				if (value > 255)
				{
					throw new Exception("Maximum possible value for Opcode is 0xFF");
				}
				_Opcode = value;
			}
		}

		public LogIdEnum GetLogIdAsLogIdEnum()
		{
			return LogIdInfo.ValueToLogId(_LogId);
		}

		public void SetLogIdAsLogIdEnum(LogIdEnum enumItem)
		{
			LogId = LogIdInfo.LogIdToValue(enumItem);
		}

		public SlcLogIdEnum GetSlcLogIdAsSlcLogIdEnum()
		{
			return SlcLogIdInfo.ValueToSlcLogId(12u);
		}

		public OpcodeEnum GetOpcodeAsOpcodeEnum()
		{
			return OpcodeInfo.ValueToOpcode(_Opcode);
		}

		public void SetOpcodeAsOpcodeEnum(OpcodeEnum enumItem)
		{
			Opcode = OpcodeInfo.OpcodeToValue(enumItem);
		}
	}

	private Type[] expectedResponseTypes = new Type[0];

	private PacketInfoBase info;

	private uint _AclheaderSeqnumPadding;

	private uint _LogformatlevelTimestampPadding;

	private uint _LogLength;

	public UserFieldsWrapper _UserFields = new UserFieldsWrapper();

	public override PacketType Type => PacketType.EnhancedLog;

	public override Type[] ExpectedResponseTypes => expectedResponseTypes;

	public override PacketInfoBase Info
	{
		get
		{
			if (info == null)
			{
				info = new SlcLogIdDispatchSearchOverlapInfo(this);
			}
			return info;
		}
	}

	public uint AclheaderSeqnumPadding
	{
		get
		{
			return _AclheaderSeqnumPadding;
		}
		set
		{
			if (value > 16777215)
			{
				throw new Exception("Maximum possible value for AclheaderSeqnumPadding is 0xFFFFFF");
			}
			_AclheaderSeqnumPadding = value;
		}
	}

	public uint LogformatlevelTimestampPadding
	{
		get
		{
			return _LogformatlevelTimestampPadding;
		}
		set
		{
			if (value > 255)
			{
				throw new Exception("Maximum possible value for LogformatlevelTimestampPadding is 0xFF");
			}
			_LogformatlevelTimestampPadding = value;
		}
	}

	public uint LogLength
	{
		get
		{
			ToBitString();
			return _LogLength;
		}
	}

	public UserFieldsWrapper UserFields => _UserFields;

	protected override bool FromBitBuilder(ref BitBuilder bitBuilder)
	{
		AclheaderSeqnumPadding = bitBuilder.RemoveBitsAsUint(24);
		UserFields.SeqNum = bitBuilder.RemoveBitsAsUint(8);
		UserFields.LogsLostDrop = bitBuilder.RemoveBitsAsUint(8);
		UserFields.ProdId = bitBuilder.RemoveBitsAsUint(8);
		UserFields.LogId = bitBuilder.RemoveBitsAsUintLittleEndian(16);
		UserFields.LogFormatLevel = bitBuilder.RemoveBitsAsUint(8);
		LogformatlevelTimestampPadding = bitBuilder.RemoveBitsAsUint(8);
		UserFields.Timestamp = bitBuilder.RemoveBitsAsUintLittleEndian(32);
		_LogLength = bitBuilder.RemoveBitsAsUintLittleEndian(16);
		int numberOfBits = bitBuilder.GetNumberOfBits();
		if (numberOfBits > _LogLength * 8 + 7)
		{
			return false;
		}
		if (numberOfBits < _LogLength * 8)
		{
			return false;
		}
		UserFields.SlcFmtSpecifier = bitBuilder.RemoveBitsAsUint(2);
		if (bitBuilder.RemoveBitsAsUint(6) != UserFields.SlcLogId)
		{
			return false;
		}
		UserFields.Opcode = bitBuilder.RemoveBitsAsUint(8);
		if (bitBuilder.GetNumberOfBits() > 7)
		{
			return false;
		}
		return true;
	}

	public override string ToBitString()
	{
		BitBuilder bitBuilder = new BitBuilder();
		bitBuilder.AddBitsAsUint(AclheaderSeqnumPadding, 24);
		bitBuilder.AddBitsAsUint(UserFields.SeqNum, 8);
		bitBuilder.AddBitsAsUint(UserFields.LogsLostDrop, 8);
		bitBuilder.AddBitsAsUint(UserFields.ProdId, 8);
		bitBuilder.AddBitsAsUintLittleEndian(UserFields.LogId, 16);
		bitBuilder.AddBitsAsUint(UserFields.LogFormatLevel, 8);
		bitBuilder.AddBitsAsUint(LogformatlevelTimestampPadding, 8);
		bitBuilder.AddBitsAsUintLittleEndian(UserFields.Timestamp, 32);
		int numberOfBits = bitBuilder.GetNumberOfBits();
		bitBuilder.AddBitsAsUintLittleEndian(0u, 16);
		bitBuilder.AddBitsAsUint(UserFields.SlcFmtSpecifier, 2);
		bitBuilder.AddBitsAsUint(UserFields.SlcLogId, 6);
		bitBuilder.AddBitsAsUint(UserFields.Opcode, 8);
		_LogLength = (uint)((bitBuilder.GetNumberOfBits() - numberOfBits - 16) / 8);
		if ((bitBuilder.GetNumberOfBits() - numberOfBits - 16) % 8 != 0)
		{
			_LogLength++;
		}
		bitBuilder.ChangeBitsAsUintLittleEndian(numberOfBits, _LogLength, 16);
		return bitBuilder.ToString();
	}
}
