Index: .qmake.stash
===================================================================
--- /YC1308AC/branch/mouse_project/TestTools/mous-config-tool-qt/.qmake.stash	(nonexistent)
+++ /YC1308AC/branch/mouse_project/TestTools/mous-config-tool-qt/.qmake.stash	(working copy)
@@ -0,0 +1,23 @@
+QMAKE_CXX.QT_COMPILER_STDCXX = 199711L
+QMAKE_CXX.QMAKE_MSC_VER = 1934
+QMAKE_CXX.QMAKE_MSC_FULL_VER = 193431937
+QMAKE_CXX.COMPILER_MACROS = \
+    QT_COMPILER_STDCXX \
+    QMAKE_MSC_VER \
+    QMAKE_MSC_FULL_VER
+QMAKE_CXX.INCDIRS = \
+    "D:\\Program Files\\Microsoft Visual Studio\\2022\\Professional\\VC\\Tools\\MSVC\\14.34.31933\\include" \
+    "D:\\Program Files\\Microsoft Visual Studio\\2022\\Professional\\VC\\Tools\\MSVC\\14.34.31933\\ATLMFC\\include" \
+    "D:\\Program Files\\Microsoft Visual Studio\\2022\\Professional\\VC\\Auxiliary\\VS\\include" \
+    "D:\\Windows Kits\\10\\include\\10.0.22621.0\\ucrt" \
+    "D:\\Windows Kits\\10\\\\include\\10.0.22621.0\\\\um" \
+    "D:\\Windows Kits\\10\\\\include\\10.0.22621.0\\\\shared" \
+    "D:\\Windows Kits\\10\\\\include\\10.0.22621.0\\\\winrt" \
+    "D:\\Windows Kits\\10\\\\include\\10.0.22621.0\\\\cppwinrt" \
+    "C:\\Program Files (x86)\\Windows Kits\\NETFXSDK\\4.8\\include\\um"
+QMAKE_CXX.LIBDIRS = \
+    "D:\\Program Files\\Microsoft Visual Studio\\2022\\Professional\\VC\\Tools\\MSVC\\14.34.31933\\ATLMFC\\lib\\x86" \
+    "D:\\Program Files\\Microsoft Visual Studio\\2022\\Professional\\VC\\Tools\\MSVC\\14.34.31933\\lib\\x86" \
+    "C:\\Program Files (x86)\\Windows Kits\\NETFXSDK\\4.8\\lib\\um\\x86" \
+    "D:\\Windows Kits\\10\\lib\\10.0.22621.0\\ucrt\\x86" \
+    "D:\\Windows Kits\\10\\\\lib\\10.0.22621.0\\\\um\\x86"
Index: 1308SDK参数说明 - 副本.xlsx
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: 1308SDK参数说明 - 副本.xlsx
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: ControlEx.h
===================================================================
--- /YC1308AC/branch/mouse_project/TestTools/mous-config-tool-qt/ControlEx.h	(nonexistent)
+++ /YC1308AC/branch/mouse_project/TestTools/mous-config-tool-qt/ControlEx.h	(working copy)
@@ -0,0 +1,274 @@
+锘#pragma once
+
+#include <QWidget>
+#include <QObject>
+#include <QMap>
+
+
+
+/**
+ * \brief 浠巈xcel婕斿彉鐨勫湴鍧琛ㄧ被
+ */
+class AddressTable : public QObject
+{
+	Q_OBJECT
+private:
+	int address;
+	int startBitIndex = 0;
+	int bitWidth = 1;
+	QString controlObjectName = "";
+	bool dynimacDateLen = false;
+public:
+	AddressTable(QObject* parent);
+	AddressTable(int address, int startBitIndex, int bitWidth,QString controlObjectName);
+	AddressTable(int address, int startBitIndex, int bitWidth,QString controlObjectName, bool dynimacDateLen);
+	~AddressTable();
+
+	[[nodiscard]] int get_address() const
+	{
+		return address;
+	}
+
+	[[nodiscard]] int get_start_bit_index() const
+	{
+		return startBitIndex;
+	}
+
+	[[nodiscard]] int get_bit_width() const
+	{
+		return bitWidth;
+	}
+
+	void set_address(const int address)
+	{
+		this->address = address;
+	}
+
+	void set_start_bit_index(const int start_bit_index)
+	{
+		startBitIndex = start_bit_index;
+	}
+
+	void set_bit_width(const int bit_width)
+	{
+		bitWidth = bit_width;
+	}
+
+	[[nodiscard]] QString get_control_object_name() const
+	{
+		return controlObjectName;
+	}
+
+	[[nodiscard]] bool is_dynimac_date_len() const
+	{
+		return dynimacDateLen;
+	}
+
+	void set_dynimac_date_len(const bool dynimac_date_len)
+	{
+		dynimacDateLen = dynimac_date_len;
+	}
+};
+
+
+/*鍩虹鎺т欢绫*/
+class ControlBase : public QObject
+{
+	Q_OBJECT
+public:
+	// 瀛樺偍褰撳墠鍗曞厓椤瑰搴旂殑鎺т欢銆傚彲鑳戒负涓嬫媺妗嗭紝杈撳叆妗嗭紝澶嶉夋绛
+	QWidget* m_widget;
+	AddressTable* m_addressTable;
+	// 鑷姩娓叉煋鏍囪瘑
+	bool autoPaint = true;
+	QString m_pObjectName = "";
+
+
+public:
+	// ControlBase(const ControlBase& m_controlBase){};
+	// ControlBase(){};
+
+	/**
+	 * \brief 鑾峰彇鍙互鐩存帴鍐欏叆鏂囦欢涓殑QByteArray,姝ゅ涓哄皬绔.鍙兘鎶涘嚭寮傚父
+	 */
+	virtual QByteArray result() = 0;
+	/**
+	* \brief 浼犲叆鐨勪负dat鏂囦欢涓殑QByteArray锛屽睍绀哄湪鎺т欢涓
+	* \param target
+	*/
+	virtual void paint(QByteArray target);
+	/**
+	 * \brief 鏍￠獙褰撳墠鍐呭鏄惁鏈夋晥.鍙兘鎶涘嚭寮傚父
+	 * \return 
+	 */
+	virtual bool valid() = 0;
+	virtual void tryToModifyAddressTable();
+
+	QString get_objectName();
+	QString get_pObjectName();
+	[[nodiscard]] bool is_auto_paint() const
+	{
+		return autoPaint;
+	}
+
+	void set_auto_paint(const bool auto_paint)
+	{
+		autoPaint = auto_paint;
+	}
+
+    void setWidgetEnabled(bool enabled) {
+        if (m_widget != nullptr) {
+            m_widget->setEnabled(enabled);
+        }
+    }
+};
+
+/**
+ * \brief 涓嬫媺妗嗙被鍨媌yte鎿嶄綔
+ */
+class ControlComboBox : public ControlBase
+{
+public:
+	ControlComboBox();
+	ControlComboBox(QWidget* widget, QList<int> values, QList<QString> descriptions);
+	ControlComboBox(QWidget* widget, AddressTable* m_addressTable, QList<int> values);
+	ControlComboBox(QWidget* widget, AddressTable* m_addressTable, QList<QString> values);
+	ControlComboBox(QWidget* widget, AddressTable* m_addressTable);
+	~ControlComboBox();
+	QMap<int, int> map();
+	
+
+private:
+	// 瀛樻斁涓嬫媺妗嗗搴旂殑鍊
+	QList<int> valueList;
+
+	QList<QString> m_valueStrings;
+	QList<QString> descriptionList;
+public:
+	/**
+	 * \brief 
+	 * \return 鏍规嵁褰撳墠鐨勯夐」绱㈠紩,鑾峰彇瀹為檯鐨勫
+	 */
+	QByteArray result() override;
+	void paint(QByteArray target) override;
+	bool valid() override;
+	
+};
+
+/**
+ * \brief 杈撳叆妗嗙埗绫
+ */
+class ControlEditBase : public ControlBase
+{
+public:
+	// 鎺т欢涓殑鍘熺敓鏁版嵁
+	QString rawInEdit = "";
+public:
+	ControlEditBase(QWidget* widget);
+	ControlEditBase(QWidget* widget,AddressTable* m_addressTable);
+	virtual QByteArray result();
+};
+
+/**
+ * \brief hex褰㈠紡鐨別dit
+ */
+class ControlEditHex : public ControlEditBase
+{
+private:
+	int maxByteNumber = 1;
+public:
+	ControlEditHex(QWidget* widget);
+	ControlEditHex(QWidget* widget, AddressTable* m_addressTable);
+	ControlEditHex(QWidget* widget, AddressTable* m_addressTable, int maxByteNumber);
+	QByteArray result() override;
+	void paint(QByteArray target) override;
+	bool valid() override;
+};
+
+
+/**
+ * \brief ascii褰㈠紡鐨別dit
+ */
+class ControlEditAscii : public ControlEditBase
+{
+public:
+	ControlEditAscii(QWidget* widget);
+	ControlEditAscii(QWidget* widget,AddressTable* m_addressTable);
+	QByteArray result() override;
+	void paint(QByteArray target) override;
+	bool valid() override;
+	void tryToModifyAddressTable() override;
+};
+
+
+/**
+ * \brief mac褰㈠紡鐨別dit
+ */
+class ControlEditMac : public ControlEditBase
+{
+public:
+	ControlEditMac(QWidget* widget);
+	ControlEditMac(QWidget* widget, AddressTable* m_addressTable);
+	QByteArray result() override;
+	void paint(QByteArray target) override;
+	bool valid() override;
+};
+
+/**
+ * \brief int褰㈠紡鐨別dit
+ */
+class ControlEditInt : public ControlEditBase
+{
+private:
+	// 绯绘暟
+	int coe = 1;
+	int byteNumber = 1;
+public:
+	ControlEditInt(QWidget* widget);
+	ControlEditInt(QWidget* widget, AddressTable* m_addressTable);
+	// ControlEditInt(QWidget* widget, AddressTable* m_addressTable,int coe);
+	ControlEditInt(QWidget* widget, AddressTable* m_addressTable,int coe,int byteNumber=1);
+	ControlEditInt(QWidget* widget,int coe);
+	QByteArray result() override;
+	void paint(QByteArray target) override;
+	bool valid() override;
+};
+
+/**
+ * \brief double褰㈠紡鐨別dit
+ */
+class ControlEditDouble : public ControlEditBase
+{
+private:
+	// 绯绘暟
+	int coe = 1;
+	// QString parentObjectName;
+	ControlBase* pControl;
+public:
+	ControlEditDouble(QWidget* widget);
+	ControlEditDouble(QWidget* widget, AddressTable* m_addressTable);
+	ControlEditDouble(QWidget* widget, AddressTable* m_addressTable,QString parentObjectName);
+	ControlEditDouble(QWidget* widget, AddressTable* m_addressTable,QString parentObjectName, bool autoPaint);
+	ControlEditDouble(QWidget* widget, int coe);
+	QByteArray result() override;
+	void paint(QByteArray target) override;
+	bool valid() override;
+
+	[[nodiscard]] QString get_parent_object_name() const
+	{
+		return m_pObjectName;
+	}
+};
+
+/**
+ * \brief 澶嶉夋
+ */
+class ControlCheckBox : public ControlBase
+{
+public:
+	ControlCheckBox(QWidget* widget);
+	ControlCheckBox(QWidget* widget, AddressTable* m_addressTable);
+	QByteArray result() override;
+	void paint(QByteArray target) override;
+	bool valid() override;
+};
Index: ControlEx.cpp
===================================================================
--- /YC1308AC/branch/mouse_project/TestTools/mous-config-tool-qt/ControlEx.cpp	(nonexistent)
+++ /YC1308AC/branch/mouse_project/TestTools/mous-config-tool-qt/ControlEx.cpp	(working copy)
@@ -0,0 +1,493 @@
+锘#include "ControlEx.h"
+
+#include <iostream>
+
+#include "qdebug.h"
+#include <QComboBox>
+#include <QLineEdit>
+#include <QCheckBox>
+#include <QGroupBox>
+
+#include "TypeConvertor.h"
+
+/*鍦板潃琛 绫*/
+AddressTable::AddressTable(QObject* parent)
+{
+	Q_UNUSED(parent);
+}
+
+AddressTable::AddressTable(int address, int startBitIndex, int bitWidth, QString controlObjectName)
+{
+	this->address = address;
+	this->startBitIndex = startBitIndex;
+	this->bitWidth = bitWidth;
+	this->controlObjectName = controlObjectName;
+}
+
+AddressTable::AddressTable(int address, int startBitIndex, int bitWidth, QString controlObjectName, bool dynimacDateLen)
+{
+	this->address = address;
+	this->startBitIndex = startBitIndex;
+	this->bitWidth = bitWidth;
+	this->controlObjectName = controlObjectName;
+	this->dynimacDateLen = dynimacDateLen;
+}
+
+AddressTable::~AddressTable()
+{
+}
+
+
+QString ControlBase::get_objectName()
+{
+	return m_widget->objectName();
+}
+
+QString ControlBase::get_pObjectName()
+{
+	return m_pObjectName;
+}
+
+
+void ControlBase::paint(QByteArray target)
+{
+	if (target.size() <= 0)
+	{
+		throw QStringLiteral("杈撳叆鐨凲BteArray涓虹┖");
+	}
+}
+
+
+void ControlBase::tryToModifyAddressTable()
+{
+	qDebug() << QStringLiteral("鐖朵翰鐨則ryToModifyAddressTable");
+}
+
+
+/*涓嬫媺妗*/
+ControlComboBox::ControlComboBox()
+{
+}
+
+ControlComboBox::ControlComboBox(QWidget* widget, QList<int> values, QList<QString> descriptions)
+{
+	m_widget = widget;
+	valueList = values;
+	descriptionList = descriptions;
+}
+
+ControlComboBox::ControlComboBox(QWidget* widget, AddressTable* m_addressTable, QList<int> values)
+{
+	m_widget = widget;
+	this->m_addressTable = m_addressTable;
+	valueList = values;
+
+	for (auto value : valueList)
+	{
+		auto qstring = parseNumber2HexQstring(value, 1);
+		m_valueStrings << qstring;
+	}
+}
+
+ControlComboBox::ControlComboBox(QWidget* widget, AddressTable* m_addressTable, QList<QString> values)
+{
+	m_widget = widget;
+	this->m_addressTable = m_addressTable;
+	m_valueStrings = values;
+}
+
+
+ControlComboBox::ControlComboBox(QWidget* widget, AddressTable* m_addressTable)
+{
+	m_widget = widget;
+	this->m_addressTable = m_addressTable;
+}
+
+ControlComboBox::~ControlComboBox()
+{
+}
+
+
+QByteArray ControlComboBox::result()
+{
+	QByteArray byteArray;
+
+	QComboBox* comboBox = qobject_cast<QComboBox*>(m_widget);
+
+	int index = comboBox->currentIndex();
+	if (comboBox->objectName().compare("comboBox_customButtonFunction", Qt::CaseInsensitive) == 0)
+	{
+		qDebug() << QStringLiteral("4bcc");
+	}
+	qDebug() << QStringLiteral("褰撳墠閫夐」鐨勭储寮:") << index << QStringLiteral("\t褰撳墠閫夐」鐨勫唴瀹:") << comboBox->currentText();
+	auto currentStr = m_valueStrings.at(index);
+	return QByteArray::fromHex(currentStr.toLatin1());
+}
+
+void ControlComboBox::paint(QByteArray target)
+{
+	ControlBase::paint(target);
+	auto hexValue = target.toHex();
+	int index = m_valueStrings.indexOf(hexValue);
+	if (index == -1)
+	{
+		qDebug() << QStringLiteral("byte 涓嬫媺妗嗘湭鎵惧埌鍚堥傜殑閫夊潃,浣跨敤榛樿鍊");
+		index = 0;
+	}
+	QComboBox* comboBox = qobject_cast<QComboBox*>(m_widget);
+	comboBox->setCurrentIndex(index);
+}
+
+bool ControlComboBox::valid()
+{
+	QComboBox* comboBox = qobject_cast<QComboBox*>(m_widget);
+	return comboBox->currentIndex() != -1;
+}
+
+/*鍩虹杈撳叆妗*/
+ControlEditBase::ControlEditBase(QWidget* widget)
+{
+	m_widget = widget;
+	const QLineEdit* ctl = qobject_cast<QLineEdit*>(m_widget);
+	rawInEdit = ctl->text();
+}
+
+ControlEditBase::ControlEditBase(QWidget* widget, AddressTable* m_addressTable)
+{
+	m_widget = widget;
+	this->m_addressTable = m_addressTable;
+}
+
+QByteArray ControlEditBase::result()
+{
+	const auto ctl = qobject_cast<QLineEdit*>(m_widget);
+	rawInEdit = ctl->text();
+	return rawInEdit.toUtf8();
+}
+
+/*hex褰㈠紡杈撳叆妗*/
+ControlEditHex::ControlEditHex(QWidget* widget) : ControlEditBase(widget)
+{
+}
+
+ControlEditHex::ControlEditHex(QWidget* widget, AddressTable* m_addressTable) : ControlEditBase(widget, m_addressTable)
+{
+}
+
+ControlEditHex::ControlEditHex(QWidget* widget, AddressTable* m_addressTable, int maxByteNumber): ControlEditBase(
+	widget, m_addressTable)
+{
+	this->maxByteNumber = maxByteNumber;
+}
+
+/*11223344
+ *
+ * 鍙嶅簭,鐒跺悗杈撳嚭
+ */
+QByteArray ControlEditHex::result()
+{
+	ControlEditBase::result();
+	valid();
+	const QString reverseHexString = reverseHex(rawInEdit);
+	return QByteArray::fromHex(reverseHexString.toLatin1());
+}
+
+/*flash涓殑鍒濆鍊间负灏忕*/
+void ControlEditHex::paint(QByteArray target)
+{
+	ControlBase::paint(target);
+	const auto ctl = qobject_cast<QLineEdit*>(m_widget);
+	ctl->setText(target.toHex().toUpper());
+}
+
+bool ControlEditHex::valid()
+{
+	bool result = regHexString(rawInEdit);
+	if (!result)
+	{
+		throw QStringLiteral("杈撳叆闈炲崄鍏繘鍒跺瓧绗︿覆");
+	}
+	if (rawInEdit.length() > maxByteNumber * 2)
+	{
+		throw QStringLiteral("鑼冨洿涓篬0,") + parseNumber2HexQstring(maxByteNumber * 0xff, maxByteNumber, false) + "]";
+	}
+	return result;
+}
+
+/*ascii褰㈠紡鐨別dit*/
+ControlEditAscii::ControlEditAscii(QWidget* widget) : ControlEditBase(widget)
+{
+}
+
+ControlEditAscii::ControlEditAscii(QWidget* widget, AddressTable* m_addressTable) : ControlEditBase(
+	widget, m_addressTable)
+{
+}
+
+/*Bt5.0*/
+QByteArray ControlEditAscii::result()
+{
+	ControlEditBase::result();
+	valid();
+	auto local8_bit = rawInEdit.toLocal8Bit();
+	// 姝ゅ闇瑕佸湪鏁版嵁鍓嶉潰鍔犱笂闀垮害
+	local8_bit.prepend(rawInEdit.length());
+	return local8_bit;
+}
+
+void ControlEditAscii::paint(QByteArray target)
+{
+	ControlBase::paint(target);
+	const auto ctl = qobject_cast<QLineEdit*>(m_widget);
+	const QString rawDataInDatFile = target.data();
+	ctl->setText(rawDataInDatFile.mid(1));
+}
+
+bool ControlEditAscii::valid()
+{
+	if (rawInEdit.length() > 20)
+	{
+		throw QStringLiteral("name鐨勯暱搴︿笉鑳藉ぇ浜20");
+	}
+	return true;
+}
+
+void ControlEditAscii::tryToModifyAddressTable()
+{
+	// 闇瑕佷慨鏀筨it width涓哄疄闄呯殑瀹藉害
+	ControlEditBase::result();
+	const int bitWidthBytes = rawInEdit.length() + 1;
+	const int bit_width = bitWidthBytes * 8;
+	qDebug() << QStringLiteral("鏂扮殑浣嶅搴:") << bit_width;
+	m_addressTable->set_bit_width(bit_width);
+}
+
+/*mac褰㈠紡鐨別dit*/
+ControlEditMac::ControlEditMac(QWidget* widget) : ControlEditBase(widget)
+{
+}
+
+ControlEditMac::ControlEditMac(QWidget* widget, AddressTable* m_addressTable) : ControlEditBase(widget, m_addressTable)
+{
+}
+
+/*鐣岄潰鐨勫:11 22 33 44 55 66
+ * 鍐欏叆鐨勫:66 55 44 33 22 11
+ */
+QByteArray ControlEditMac::result()
+{
+	valid();
+	return QByteArray::fromHex(reverseHex(rawInEdit).toLatin1());
+}
+
+void ControlEditMac::paint(QByteArray target)
+{
+	ControlBase::paint(target);
+	const auto ctl = qobject_cast<QLineEdit*>(m_widget);
+	const QString rawDataInDatFile = target.toHex();
+	auto reverseString = reverseHex(rawDataInDatFile);
+	qDebug() << reverseString;
+	auto stringInEdit = paddingHexQStringWithDelimiter(reverseString);
+	qDebug() << stringInEdit;
+	ctl->setText(stringInEdit.toUpper());
+}
+
+bool ControlEditMac::valid()
+{
+	ControlEditBase::result();
+	rawInEdit = getHexString(rawInEdit);
+	qDebug() << QStringLiteral("mac澶勭悊鍚庣殑瀛楃涓:") << rawInEdit;
+	if (rawInEdit.length() != 12)
+	{
+		throw QStringLiteral("mac闀垮害寮傚父");
+	}
+	return true;
+}
+
+
+/*int褰㈠紡鐨別dit*/
+ControlEditInt::ControlEditInt(QWidget* widget) : ControlEditBase(widget)
+{
+}
+
+ControlEditInt::ControlEditInt(QWidget* widget, AddressTable* m_addressTable) : ControlEditBase(widget, m_addressTable)
+{
+	this->coe = 1;
+	this->byteNumber = 1;
+}
+
+ControlEditInt::ControlEditInt(QWidget* widget, AddressTable* m_addressTable, int coe, int byteNumber) :
+	ControlEditBase(
+		widget, m_addressTable)
+{
+	this->coe = (coe <= 0) ? 1 : coe;
+	this->byteNumber = (coe <= 0) ? 1 : byteNumber;
+}
+
+ControlEditInt::ControlEditInt(QWidget* widget, int coe) : ControlEditBase(widget)
+{
+	this->coe = (coe <= 0) ? 1 : coe;
+}
+
+/*10*/
+QByteArray ControlEditInt::result()
+{
+	valid();
+	bool ok;
+	int result = rawInEdit.toInt(&ok);
+	if (!ok)
+	{
+		throw QStringLiteral("to int 澶辫触");
+	}
+	auto hex_qstring = parseNumber2HexQstring(result * coe, byteNumber);
+	return QByteArray::fromHex(hex_qstring.toLatin1());
+}
+
+
+void ControlEditInt::paint(QByteArray target)
+{
+	ControlBase::paint(target);
+	const auto ctl = qobject_cast<QLineEdit*>(m_widget);
+	const QString rawHexDataInDatFile = target.toHex();
+	int number = parseString2number(rawHexDataInDatFile);
+	number /= coe;
+	auto stringInEdit = QString::number(number).toUpper();
+	qDebug() << QStringLiteral("int paint value:") + stringInEdit;
+	ctl->setText(stringInEdit);
+}
+
+bool ControlEditInt::valid()
+{
+	ControlEditBase::result();
+	const bool valid = regIsInteger(rawInEdit);
+	if (!valid) throw QStringLiteral("杈撳叆涓洪潪number") + rawInEdit;
+	bool ok;
+	int result = rawInEdit.toInt(&ok);
+	if (!ok)
+	{
+		throw QStringLiteral("to int 澶辫触");
+	}
+	int maxValue = 0xff;
+	for (int i = 0; i < byteNumber; i++)
+	{
+		maxValue |= (0xff << (8 * i));
+	}
+	maxValue /= coe;
+	if (result > maxValue)
+	{
+		throw QStringLiteral("瓒呰繃鏈澶ц寖鍥,鏈澶у间负:") + QString::number(maxValue);
+	}
+	return true;
+}
+
+/*double褰㈠紡鐨別dit*/
+ControlEditDouble::ControlEditDouble(QWidget* widget) : ControlEditBase(widget)
+{
+}
+
+ControlEditDouble::ControlEditDouble(QWidget* widget, AddressTable* m_addressTable) : ControlEditBase(
+	widget, m_addressTable)
+{
+}
+
+ControlEditDouble::ControlEditDouble(QWidget* widget, AddressTable* m_addressTable, QString parentObjectName) :
+	ControlEditBase(
+		widget, m_addressTable)
+{
+	m_pObjectName = parentObjectName;
+}
+
+ControlEditDouble::ControlEditDouble(QWidget* widget, AddressTable* m_addressTable, QString parentObjectName,
+	bool autoPaint) : ControlEditBase(
+		widget, m_addressTable)
+{
+	m_pObjectName = parentObjectName;
+	this->autoPaint = autoPaint;
+}
+
+ControlEditDouble::ControlEditDouble(QWidget* widget, int coe) : ControlEditBase(widget)
+{
+	this->coe = (coe <= 0) ? 1 : coe;
+}
+
+QByteArray ControlEditDouble::result()
+{
+	valid();
+	bool ok;
+	int result = rawInEdit.toInt(&ok);
+	if (!ok)
+	{
+		throw QStringLiteral("to int 澶辫触");
+	}
+	return QByteArray::number(result * coe, 16);
+}
+
+void ControlEditDouble::paint(QByteArray target)
+{
+	ControlBase::paint(target);
+	const auto ctl = qobject_cast<QLineEdit*>(m_widget);
+	const QString rawHexDataInDatFile = target.toHex();
+	int number = parseString2number(rawHexDataInDatFile);
+	number /= coe;
+	auto stringInEdit = QString::number(number).toUpper();
+	qDebug() << QStringLiteral("int paint value:") + stringInEdit;
+	ctl->setText(stringInEdit);
+}
+
+bool ControlEditDouble::valid()
+{
+	const bool valid = regIsDecimal(rawInEdit);
+	if (!valid) throw QStringLiteral("杈撳叆涓洪潪灏忔暟") + rawInEdit;
+	return true;
+}
+
+
+/*澶嶉夋鎺т欢*/
+ControlCheckBox::ControlCheckBox(QWidget* widget)
+{
+	m_widget = widget;
+}
+
+ControlCheckBox::ControlCheckBox(QWidget* widget, AddressTable* m_addressTable)
+{
+	m_widget = widget;
+	this->m_addressTable = m_addressTable;
+}
+
+QByteArray ControlCheckBox::result()
+{
+	QByteArray byteArray;
+	const auto ctl = qobject_cast<QCheckBox*>(m_widget);
+	if (ctl)
+	{
+		byteArray.append(static_cast<char>(ctl->isChecked() ? 1 : 0));
+	}
+	const auto ct2 = qobject_cast<QGroupBox*>(m_widget);
+	if (ct2)
+	{
+		byteArray.append(static_cast<char>(ct2->isChecked() ? 1 : 0));
+	}
+
+	return byteArray;
+}
+
+void ControlCheckBox::paint(QByteArray target)
+{
+	ControlBase::paint(target);
+	const auto ctl = qobject_cast<QCheckBox*>(m_widget);
+	if (ctl)
+	{
+		ctl->setChecked(target[0] ? true : false);
+	}
+
+	const auto ct2 = qobject_cast<QGroupBox*>(m_widget);
+	if (ct2)
+	{
+		ct2->setChecked(target[0] ? true : false);
+	}
+}
+
+bool ControlCheckBox::valid()
+{
+	return true;
+}
Index: Note/ReadMe.txt
===================================================================
--- /YC1308AC/branch/mouse_project/TestTools/mous-config-tool-qt/Note/ReadMe.txt	(nonexistent)
+++ /YC1308AC/branch/mouse_project/TestTools/mous-config-tool-qt/Note/ReadMe.txt	(working copy)
@@ -0,0 +1,7 @@
+10.11~10.12:娣诲姞1涓猧o鎺2涓伅澶嶇敤ui銆
+10.12:澧炲姞钃濈墮涓嶅悓閫氶亾鍚嶅瓧UI锛岀粍鍚堥敭鍔熻兘UI
+10.13锛氭坊鍔爈ogo鐏疷I
+10.14锛氱粰钃濈墮鍚嶅拰缁勫悎閿甎I鎺т欢鍛藉悕
+10.15锛氱粰鏂板鍔熻兘鍐欓昏緫浠ｇ爜
+11.12:浼樺寲鏂板缁勪欢鐨勯昏緫鍔熻兘
+12.02锛氫紭鍖栦簩娆″鍏ョ▼搴忥紝鎺т欢娌℃湁閲嶆柊鍒濆鍖栧鑷磋摑鐗欏悕璇诲彇闀垮害閿欒
\ No newline at end of file
Index: ParamAddrProcessor.py
===================================================================
--- /YC1308AC/branch/mouse_project/TestTools/mous-config-tool-qt/ParamAddrProcessor.py	(nonexistent)
+++ /YC1308AC/branch/mouse_project/TestTools/mous-config-tool-qt/ParamAddrProcessor.py	(working copy)
@@ -0,0 +1,115 @@
+import openpyxl
+
+"""
+鐢熸垚鐨勪唬鐮,绮樿创鍚,杩涜鏍煎紡鍖,濡傛灉鏈夌紪璇戜笉閫氳繃鐨勫嵆涓洪珮绾ч厤缃腑鐨勯」,闇瑕佹墜鍔ㄧ攧鍒
+"""
+target_map = {
+    # "ControlComboBox":'connect(ui->comboBox_theDefaultMode,SIGNAL(currentIndexChanged(int)),this, SLOT(handleComboBoxSelection(int)));',
+    "ControlCheckBox":'connect(ui->checkBox_theDpiKeyIsGrounded, SIGNAL(clicked(bool)), this, SLOT(handleCheckBoxClicked(bool)));'
+              }
+
+
+def gen_line_edit_connect_in_mainUi(result):
+    """鐢熸垚line_edit鐨刢onnect
+
+    """
+    value = 'connect(ui->lineEdit_bleBluetoothName, SIGNAL(editingFinished()), this, SLOT(handleEditingFinished()));'
+    result_str = ""
+    for item in result:
+        if item[9] in ["ControlEditAscii","ControlEditHex","ControlEditInt","ControlEditMac"]:
+            object_name = item[8]
+            # 鏇挎崲object_name 涓ゅ
+            cur_str = value.replace(value[value.find("->")+2:value.find(",")],object_name)
+            result_str += cur_str
+        else:
+            pass
+    print(result_str)
+    print("\n\n")
+
+
+def gen_combobox_connect_in_mainUi(result):
+    """鐢熸垚combobox鐨刢onnect
+
+    """
+    for key, value in target_map.items():
+        print(f'{key}:::\n\n')
+        result_str = ""
+        for item in result:
+            if item[-1] == key:
+                object_name = item[5]
+                # 鏇挎崲object_name 涓ゅ
+                cur_str = value.replace(value[value.find("->")+2:value.find(",")],object_name)
+                result_str += cur_str
+            else:
+                pass
+        print(result_str)
+        print("\n\n")
+
+
+def gen_ControlBase_in_title(result):
+    """
+    鐢熸垚Title涓坊鍔燙ontrolBase鐨勫瓙绫婚儴鍒
+    """
+    raw_str = 'm_controls.append(new ControlComboBox(mainUi->comboBox_maximumNumberOfChannels, new AddressTable(0x4bb4, 0, 8, "comboBox_maximumNumberOfChannels")));'
+
+    result_str = ""
+    for item in result:
+        if item[-1] == "ControlComboBox":
+            object_name = item[5]
+            # 鏇挎崲object_name 涓ゅ
+            cur_str = raw_str.replace(raw_str[raw_str.find("->")+2:raw_str.find(",")],object_name)
+            # 鏇挎崲瀹為檯鍦板潃
+            cur_str = cur_str.replace("0x4bb4",item[0])
+            cur_str = cur_str.replace("0,",str(item[1])+",")
+            cur_str = cur_str.replace("8,",str(item[2])+",")
+            if not item[3] in ["",None]:
+                # 鎷兼帴 QList<int>()
+                # 'm_controls.append(ControlComboBox(mainUi->comboBox_maximumNumberOfChannels, &AddressTable(0x4bb4, 0, 8, "comboBox_maximumNumberOfChannels"), QList<int>()  << 1 <<2 << 3));'
+                items = item[3]
+                values = items.split(",")
+                values_str= ", QList<int>()"
+                for i in values:
+                    values_str+= " << "+str(i)
+                cur_str = cur_str.replace("));",values_str+"));")
+            result_str += cur_str
+        else:
+            object_name = item[5]
+            # 鏇挎崲object_name 涓ゅ
+            cur_str = raw_str.replace(raw_str[raw_str.find("->")+2:raw_str.find(",")],object_name)
+            # 鏇挎崲瀹為檯鍦板潃
+            cur_str = cur_str.replace("0x4bb4",item[0])
+            cur_str = cur_str.replace("0,",str(item[1])+",")
+            cur_str = cur_str.replace("8,",str(item[2])+",")
+            # 鏇挎崲绫诲悕
+            cur_str = cur_str.replace("ControlComboBox",item[-1])
+            result_str += cur_str
+    print(result_str)
+
+# 鎵撳紑涓涓 Excel 鏂囦欢
+workbook = openpyxl.load_workbook('1308SDK鍙傛暟璇存槑 - 鍓湰.xlsx')  # 鏇挎崲涓轰綘鐨 Excel 鏂囦欢鍚
+
+# 閫夋嫨涓涓伐浣滆〃
+sheet = workbook.active  # 榛樿閫夋嫨绗竴涓伐浣滆〃
+
+col_count = sheet.max_column
+row_count = sheet.max_row  # 闇瑕佷粠2寮濮
+
+result =[]
+# 閬嶅巻琛屾暟
+for i in range(2,row_count+1):
+    cur_row=[]
+    # 閬嶅巻鍒
+    for j in range(1,col_count+1):
+        cur_row.append(sheet.cell(row=i, column=j).value)
+    result.append(cur_row)
+
+# gen_ControlBase_in_title(result)
+# gen_combobox_connect_in_mainUi(result)
+gen_line_edit_connect_in_mainUi(result)
+
+
+# 鍏抽棴宸ヤ綔绨
+workbook.close()
+
+
+
Index: ParseFlashDatFile.h
===================================================================
--- /YC1308AC/branch/mouse_project/TestTools/mous-config-tool-qt/ParseFlashDatFile.h	(nonexistent)
+++ /YC1308AC/branch/mouse_project/TestTools/mous-config-tool-qt/ParseFlashDatFile.h	(working copy)
@@ -0,0 +1,206 @@
+锘#pragma once
+
+#include <QtTest/qtest.h>
+#include <QObject>
+#include <QComboBox>
+#include "ControlEx.h"
+/**
+ * \brief 鍗曞厓椤
+ */
+class UnitItem : public QObject
+{
+	Q_OBJECT
+public:
+	UnitItem();
+	/**
+	 * \brief 娌℃湁璇ュ疄鐜版椂 Error C2280,QList娣诲姞鍏冪礌鏃,鎻愮ず灏濊瘯寮曠敤宸插垹闄ょ殑鍑芥暟.
+	 * \param unit 
+	 */
+	UnitItem(const UnitItem& unit);
+	UnitItem& operator=(const UnitItem& unitEx);
+
+	UnitItem(int addr, QString dataStr);
+	~UnitItem();
+
+	/**
+	 * \brief 
+	 * \param dataValue 鍙互鐩存帴鍐欏叆鏂囦欢鐨勫,闇瑕佺敱BaseControl鐨勫瓙绫诲鐞
+	 */
+	void setData(QString dataValue);
+	void setData( AddressTable* m_addressTable, QByteArray value);
+
+	[[nodiscard]] QString get_m_head_str() const
+	{
+		return m_headStr;
+	}
+
+	[[nodiscard]] QString get_head_str() const
+	{
+		return headStr;
+	}
+
+	[[nodiscard]] int get_m_data_len() const
+	{
+		return m_dataLen;
+	}
+
+	[[nodiscard]] int get_m_address() const
+	{
+		return m_address;
+	}
+
+	[[nodiscard]] QByteArray get_m_data() const
+	{
+		return m_data;
+	}
+
+private:
+	QString m_headStr = "aa55";
+	/*澶*/
+	QString headStr;
+	
+	int m_dataLen;
+	int m_address;
+	/*鏁版嵁閮ㄥ垎*/
+	QByteArray m_data;
+	
+
+
+public slots:
+	/**
+	 * \brief 鏍规嵁瀛楃涓茶В鏋愪负unit item
+	 * \param str
+	 */
+	void parseRightTargetString();
+	void parseShortString();
+	void parseLongString();
+	/**
+	 * \brief 瑙ｆ瀽瀵硅薄鍚勯儴鍒嗕负hex string
+	 */
+	QString toString();
+
+};
+
+/**
+ * \brief 瑙ｆ瀽flash.dat鏂囦欢绫
+ *
+ *	dat鏂囦欢缁撴瀯锛
+	 * 寮澶翠袱涓瓧鑺0002 -- 鍋忕Щ閲
+	 * aa55+len(2byte)+data(len byte) -- 绋嬪簭娈
+	 * 鑻ュ共涓猽nit锛宎a55+length锛2byte锛+address锛2byte锛+data锛坙ength涓猙yte锛 -- 鏁版嵁娈
+	 * aa5555aa	-- 鏁版嵁缁撳熬鏍囪瘑			
+	 * 2byte checksum -- 鎵鏈夋暟鎹绱姞鍜
+	 * 2byte crc16 -- 鍔犺浇鏃舵牴鏈笉浣跨敤
+	 * FF濉厖閮ㄥ垎锛屽～鍏呭悗鐨勯暱搴︿负8190byte锛屽緟濉厖鐨勯暱搴︿负8190-涓婅堪鍏朵粬娈电殑瀛楄妭鏁板嵆鍙 --濉厖娈
+ */
+class ParseFlashDatFile : public QObject
+{
+	Q_OBJECT
+
+public:
+	// 鑾峰彇鍗曚緥瀵硅薄鐨勯潤鎬佹柟娉
+	static ParseFlashDatFile* getInstance(QString filePath);
+	
+	
+	~ParseFlashDatFile();
+	ParseFlashDatFile& operator=(const ParseFlashDatFile& m_parseFile);
+
+private:
+	ParseFlashDatFile(QObject* parent = nullptr);
+	ParseFlashDatFile(QString filePath);
+private:
+	// 闈欐佹垚鍛樺彉閲忥紝鐢ㄤ簬淇濆瓨鍗曚緥瀵硅薄
+	static ParseFlashDatFile* instance;
+	QString rawDataInFile = "";
+	QList<QString> m_parts;
+	QString flagStr = "aa55";
+	QString endFlagStr = "55aaaa55";
+
+	QString s1 =
+		"0002aa555e19c2840021c0000031c001805bc0410123c041806ec0420075c045009dc0458116c0460083c04f812ac057012cc0618324c0620036c063822ac0648230c0650263c06600c3c0670511c067861dc0680334c0688542c069834dc06a0524c06b0285c06c8375c06d049bc06d84a5c06f05b5c06f8050c0708048c0710044c07404ac2020137cc00d04c0c0100042c01980a3c01a00a8c04384a8c05084cac05184d4c05a84d6c06004e0c06e8320c07102ecc07482f4c07501d6c0760506c076864f2020137c20800000204030f32455804c20403bfd20200804204003cdda2049396fe0c9381fe0ffff1feffe1d9a20a200efe0801167e0c4826fe0c482c019bd6fc01a3d7b202042eb6fe0c91f20205af818427e00c17f80001fe204002020493018427e00c17f80001fe204002020492c6fe0cbaf247a000070448c00206000006fe0cbb4c1008000204046c26048c9387041ca00204046da20400058202046bd6fe1478cc3838000202043182040706c2040759720406ea720401b922040083a204000622020081a204000642020310920400066202078506fe0c48c207a00006fe1448d1fe224001a40a402efe08012c17f8000202078137089000520000002708900006fe0c0c5c00c1168708a87292020117d204011905800767667f1096820600000c69300006fe24891684a488d98467c00202280807041eaff206000007041ea007041e891206000006ff089a22feffe067920fe0767e0c1e96ff089a31fe1040f184384001ff1fe0098408400184fa2036fe0c1e9204000981fe67e009a20fe001fe0fff71fe17fff2feffe08242080965800000067e08019206000002feffe0724608000d840ff009841fe00206000006fe0c1e8c04880a02020121e708a395b708a3a012020122ada20099ed840000c5800003020405e63202060bf6a508a12708a123d708a11aa708a0a0c6ff08a0979207e0767f08a09708a0b042000003c708a1600708a17062040611a67f08a977080dc032000003c6ff0805379207e0767f08053200003e86ff1015067e144a26ff08053793ffe0767f08053708a970062508a1220600000204000a87048f6002040612567e148e96fe0c4a0c08100cf684948e9184ffe081fe6fc0a20407dec9840fe0067e148e9da2048e320403ed86fe0c4a4c2813f1ac28080d6c30000d920203ecc6fe0cc40c3003f1c2020022a6fe0cc40c3003ed0d8e00004204046f4704c4e0c6fe0c8fa207a00007048fa002020010978547c006fe0cc441fe67c042462800078347c00206000006fe0cc40c3004956c40180006fe14ac2247a00006fe14883247a00006fe14887247a00006fe0cc46247a00006fe44babc4020000204000e2207400006fe0cc53203a01126848cc4e184084016048cc4e6fe0cc4c98467c00244101076fe0cc4d98467c00242101096fe0cc40c282840dc283840d6848cc5720200419704c4e012040010e6fe0cc40c282841fc283841f6848cc57202004366fe0cc531fe0ffff67e0cc53206000006fe0cc40c2820109204003aa202000f9708a8be62040126a2040127120401277708a6d09708a0305708a7a94708a0e0b708a0f05708a8390708a8500708921402020125d6fe0c1ea67e0896420401150708a0a006fe0896467e0c1ea2060000070008000202013b7793f803420406df320400177204041a720758000704ca600704c95002040033620403d8a20404728204001882040053420203bc96fe44babc41e80006fe0cc3bc283813f704c3a0020600000704c3a01206000006fe0cc38c17f8000c2838146704c390020600000704c3901206000006fe44c1f207a00006fe0cc1e1fe222001fe67c0b2421015e20400157d8a04adb20400154d8a0440a20400154d8a042f8d8c04c1f1a22720020207d5fd8a04adb2040015cd8a0440a2040015cd8a042f8df20000b20207d26204001746fe0cc1e1fe0fe0167e0cad2704ad309d8c04c1fd8a04ad41a22720020407d5f6fe0cc1e1fe0fe0167e0c40870440909d8c04c1fd8a0440a1a22720020407d5fd8c04c1ed8a042f71a2272001f20f20120207d5fd8a04ad2df20001420207d262075800020402607204022ff20403f1e2040014820403d13204003a120400141204001392040018220203bf56fe0c1e867e0cc8f206000006fe0cc8f67e0c1e8206000005800018d67e1489b580001a767e1489d20203bd3c693000020403f70247400006fe44babc30a81946fe0cb8b243a4884204042cb6fe0c836c28081a36848c7c76fe0c8d09841fe0067e0c8d06848c7cc6fe0c8d59840fe0067e0c8d56848c7cd6fe0c8d69840fe0067e0c8d670483601da200007da4048d0202026e16fe44babc40b00006fe0caae207a00006fe0c8a7207a00006fe0cba11fe0fe011fe17e0367e0cba1247a0000704ba2006fe0cba21fe0fe0167e0cba21fe67c08242101bd2040259a2040265b242c01cc243781cc204001c3204025976fe0cba31fe0fe0167e0cba3c00801ce206000006fe0c8a7203a488c704ba3006fe0cba4c4000000793ffe0067e0cba4204045442020034f204022cb202001b3704ba3006fe0cba4c380000079207e0067e0cba46fe14bbc67e14ab220200534204026312434026b204001e6204026ee204000796fe0cbe1243a01e16fe448b067e4485c6fe148c267e148c4204026bb2474000020407fdc6fe1c8ad202026b87048a6006961015f347302002040265b6fe0c82cc000a651242c01f1243781f1204026722040021f202026516fe0cac5247a00002040020f204002046fe0c8a7247a00006fe148a31fe0fe0167e148a36fe0c8a4c280a6792040267e204001ff202001e76fe0c8a41fe67c0020610000df20002820207d13d8e0000c20407d74247a00002040020c2040407cd8e0000c580000a020207d666fe44babc4140000202005c86fe0c91bc17f8000da200000704b96066848c91b2040466a67e0cb946fe0c910c07f821c204041681a227e00c283468d202046806848c91b20403f56202002196fe0cbe1245a0223704be100206000002040034f6fe44babc41e00006848c91320403f566848c91420203f565800000620405b0dc281be232040052f2040053420203e23204042e920407fdc2040044620404976204040156848c910204060696848c910204060426fe0c92020400575d840000320403f5620400263204060822040042cd840001320403f562040024520400249202002596fe0c91ec17f80006848c91e2020607f6fe0cc40c280024d6fe44babc40a0000204002516fe0c8fcd84000c0202060936848c4a118467c0320210257184084056048c8fc2060000018408404202002556fe44babc41e00006848c913204060426848c914204060426848c91320403f546848c91420203f546848c913204060506848c9142040605020403f886fe0c91f2040057520203e446fe0c8a7205a02776fe0c8bdc10080002040269f2040050624740000204026c46fe0cbe1245a02306fe2485c202026b8704836017048a7012040264267e0c7c65800000067e3c7c76fe248a967e247ce7048350c6fe0c83679207e0367e0c83620402291202001d81a627e00c0008297c01e02bfc01c82b7c01d02d1c01902a1c00a829bc00a0294c02202a8c02002b2c009029120204336704454012040322320204427704c9501204003ba2020435020404544704c9501204003ba202043fa5800000067e14af267e0cc7967e0cc7a67e0cac6202043666fe0cac7c00082a5704b7614202043732040436c704b760a202043736fe082c11fe67c0c242143846fe082c36848cb8a98467c002021439a6fe082c367e0c177202043866fe0cc79247a0000704c7901704c7a1e20600000704c95012040007e2040018520404544d8e00001204046f4204003ba20204859704c95016fe2483c67e2489167e249932040257e204003ba20404544204042ca704aae007048a10070488b006fe24891684a488d98467c00206280002040007e20400185202048222040007e204001856fe0c8a5243a02e36fe0c88bc00102d8202048376fe44babc297c811c2984811c31d48066fe24993684a497498467c00202282e12020480670488b00202048277048a500204026525fffffff67e2485c5800000067e3c8d0704be101204005342020027070488b006fe14beb1fe0fe0167e14beb6fe0cbeb1fe17effc0002341206000006fe14889d84001f898417e00203a02fc6fe148891fe0fe0167e14889206000002040259a2040265b242c031524378315204026726fe24877684a483c98467c002022a32e6fe248a9684a483c98467c00204283116fe0c8a1793ffe0267e0c8a15800000067e1488367e1488967e14887202025956fe2480c207a000067e248912020257e6fe0c88c203a22cb6fe148891fe0fe0167e148892feffe096fe0c88bc002031e202025a82020a57520202339c513a40ec69300006fe0c8a12020261d6fe44babc297c80a6fe0c938c000032920203d576fe44babc308c803204003c220403d65203448066fe44babc298480cc318c80c204041101a217e07202047ff2040408f204003606fe0c927c0060339202040986fe0c992c000033dc0008340c00103436fe0cc901fe22200202003456fe0cc921fe22200202003456fe0cc931fe222005800c30920405b0c1a227e001fed7e001fe0fe2320405b0c5800000920205b0c20403f652075800020404236204041b5c0180357c018c217c02c4220204041b220001af4202003506fe0c9c2c068835a202041bd5800004920405b0dc050835e202041da7049270c206000006fe0cc40c28003646fe0c923c17f80006fe14ac2247a00006fe14883247a00006fe14887247a00006fe0cc40c28003726fe0cba7247a00006fe0cbc1203a044d67e0cba8206000006fe0cc46247a00002020036e20403e9b204000e82040232b20402556204047cd204048be2040044a204003e52040043c2040407c204044cc20400476204044ff204003932040038f204045122040048f20404515204004922040452a2040452d2040453220404535204040222040454720200495da604b77da40450a2040318a202045076fe0cc97c17f80006fe0cc95207a0000204005421fe17e076848cc9798467c002022839e704c961e20600000da604c96da4006212020318a704c41006fe0cc40c40000002040042c704c44006fe0cc4c1fe37e0067e0cc4d206000006fe0cc5267e0cc53206000006fe0cc44c00083b4c00103b6c00183b86fe0cc4a67e0cc4b206000006fe0cc47202003b26fe0cc48202003b26fe0cc49202003b26fe0cc40c40000006fe0cc4567e0cc46704c4200704c4300704c4101206000006fe0cc40c4000000204003e26fe0c938c1800000704c4401204003b46fe0cc40c40100006fe0cc4f202003d96fe0cc40c4000000204003e26fe0c938c10000006fe0cc40c4008000704c4403204003b86fe0cc40c40100006fe0cc5067e0cc51206000006fe0cc40c40000006fe0cc40793ffe0267e0cc40704c4402204003b6704c4101704c42012020040c6fe0cc41207a00006fe0cc42c00083f26fe0cc46203a03ee1fe0ffff67e0cc462020040d704ca601704c4100204003aa2020041f6fe0cc44207a0000c00203f9202003f66fe0cc40c28103f9202003fb6fe0cc51203a041ada604c4bda4003fe2020318a6fe0cc44c00204066fe0cc40c2810406204003ad6fe0cc43c000841c2020040a6fe0cc511fe0ffff67e0cc51202004026fe0cc44c0020437704c43016fe0c938c0000412c0008414c0010416206000006848cc54202004196848cc55202004196848cc56202004196848cc5820206069704c4100704c44006fe0cc44c0020431704c43006fe0c938c0000424c0008426c0010428206000006848cc54202004296848cc55202004296848cc5618467cff206280002020607f2040042420400426204004282040010920200431704c43006fe0cc40c283041ec283841e6848cc5820206065704c43016fe0cc40c283040cc283840c202004186fe0cbedc17f80006fe14ab2207a00006fe14bbe68494ab2984604006fe14bee98467e00202104486848cbed202060656848cbed20206069da604ba8da40044d2020318a6fe0cc40c28004646fe0c927c001c8f2c005c8f26fe0c92367e0c92f6fe14bc267e1493067e14932da2000006848c9921840840218467c032041045e24410462202048ff6fe44babc40e00001840840120600000184085fd206000006fe0c927c0018473c00584736848c9921840840218467c032041045e2441046218427e009fe0fe0067e0cc51704c4404204003b1704c4201202003bf6848c99218408401202004696fe0c938c000047c6fe44babc41a80006848cbca2020047f6fe44babc41900006848cbcb6048cb9d204005421fe17e076848cb9d98467c0020228486202044eb2040048b6fe0cb9fc1008000704b9f0120600000da40048d202044f7204003c2202002e16fe44babc39d80002020451fda604c7ada40436c2020318ada604ab2da400498202031916fe0c938c00002e32020431b204003db6fe1478c2feffe0b2040c5816fe1478c2feffe072040c3225800000067e14af2202045545800000067e14ac2202045776fe0cbe2245a7861704be200202078516fe103151fe20c00efe0800667e0c5f51fe1040f1ff1fe00c00484b420204d93da20000120404dc06fe144dce7e1000558000000e7e08005700950016fe0c4e279207e0667e0c4e270095b122020787178547c00204059e66fe08049207a0000c283d730c00384c7202057012040585d70007378206000006fe0c3dd1fe0fe0167e0c3ddc006165a2040191b2040196a6fe082bd2040168b204018382020165520400e8020201661204016be204016cc20404cb579202a00782efc0078307c007850fc00204017442000000a20201841efe10006c00204e3202019e4efe1800667e1c436c00504e8c00904f720201cd36fe44babc31d9de720401e8d684944376fe0c3c0c28184f26fe14437c0181ec86849443720201deb6fe143d198467c00242284ee243404ee20201e1018c222006fe143d41fe0a5fd20401a256fe0cac1c07f9e736fe0cac7203a1e736fe0cb75c2809e735800001a6849443798467c0024229e7320201e1078347c00204014656fe1c174203a7e566fe0c099203a7e566fe0cbe1247a00006fe0c8bdc000fe562060000078547c005800000067e348d1204042402040033620403f7e20403f832040053b6fe0c8d01fe17e1f67e0c8d02434051f204005212020454420404728206000006fe0c927c10180002020471a20403f656fe0c927c005852b20404232da604aa32040422b2020033620400532da604be32040422b202003366fe0c927c0058532202042325800970620204233204041a720403f656fe0c927c00585392020423e58001f0620205b0c2040057b6fe0cc37243a05926fe0cc32243a059120400542202040dd6fe0cbe1245a4121da2000002040054c20400551204005562040055b204005682040057b2020411e6fe0c91820400575204041246848c91820203f566fe0c919204005752040412a6848c91920203f566fe0c91a20400575204041306848c91a20203f566fe0c90dc17f8000704b96036fe0cb911fe226006848c90d6fe0c910c07f85642020413e6fe0c90d204005786848c90d2020414b6fe0c90ec17f8000704b96046fe0cb921fe226006848c90e6fe0c910c07f8571202041576fe0c90e204005786848c90e20204164c17f8000d840003f20206093c17f8000d840003e20206093da4000006fe0cc38c17f80006fe0cc39243a05886848cc3820403f566848cc38204060597920a4001a427e0067e0cc37206000006fe0cc38793ffe0767e0cc386848cc3820403f546848cc38204060597d20a40020200585c00205aa204005ad6fe24c33d84000a0984084001c427e0098467c002461000067e24c336fe0cc32c00005a0c00085a3c00105a6c00185a820600000704c32017048d00120207e54704c32027048d00020207e54704c3203202005a1704c3200202005a4704c32007048d00020600000684a4c331c427e0098467c00244105b2206000005800000067e24c3320600000204005bb20407936204005c8204005dc204005bf202046506fe0cc40c301c9906fe44bab202049926fe44babc29485c3c29b85c3206000006fe1478cc28305c62020465a704b94032020020f6fe44babc29740366fe0c90fc17f8000da200000704b96056848c90f204005d12020402f6fe44babc29640486fe0cb931fe226006fe0c910c07f85d82020403f6fe0c90f204005786848c90f202041956fe44babc41e80006fe0cc3a243a05e56fe0cc3b20400575204005f56848cc3b20203f566fe0cc3b793ffe0767e0cc3b20400578704c3f006848cc3b6fe0cc3c2040060e204005f96848cc3b20203f5620403f566fe0cc3dc1008000704c3d0120204069704c3f006848cc3b6fe0cc3c2040060467e0cc3c6fe0cc3e203a06006fe0cc3dc1008000704c3d01202040696fe0cc3dc1000000704c3d00206000001fe3fe001fe22400204060597920a4001a417e076848cc3f18420e00c0038619c000061b206000001fe3fe001fe2240020403f54204060597920a4001a417e076848cc3f18420e00c0038619c000061b20600000704c3e0120600000704c3e00206000006fe0cca6207a000020404072207400006fe0c9921fe204006fe44babc29e862b18427e001fe0fe011fe17e0367e0c99220400334202046436fe0cc3e243a06486fe44babc28e063c18427e00c1008000c0000638c001063620600000580000022020062858000000202006285800000120200628580000032020062818427e00c1008000c0000638c001063ac00186362060000018427e00c1010000c000063ac0008636c0018634206000006fe44babc28e064218427e00c1010000c0000634c0008636206000006fe1478cc3858000c3838000c38300006a214899204025cb6048c8c7202026f67ab9";
+	QString s2 =
+		"aa5540000040090000000000000000000000000000001c1c00800040000098d65bce0601000000000004010018000000000000000000800000000a0020000100002004360000aa5501009a4008aa5503007a418816ceaa550100c54018aa550100ef41ffaa550200ca40ef41aa5501007d4170aa550100d04400aa550500ea41ff04000008aa550800ab4b04094a000080031baa550100404c00aa550c00fe48b00458026464948590637580aa5503000d490b0c0daa5501003b4cffaa5514001049ffffff0504ffffff0b0c0dffffffff0706ffffffaa550100384cffaa550100a44cffaa5503002449030000aa550300ed4bff5802aa550100454c14aa550300474c050205aa5501004c4c14aa5501004a4c02aa5502004f4c0206aa550100524c0aaa550500544cffffffffffaa550100580bffaa551200cc4b000500040000000000000000000000000000aa550100994001aa550200b34b0301aa55080038490034ffffffffffffaa550700564934ffffffffffffaa551700734933ffffffffffffffffffffffffffffffffffffffffffffaa551300b54b00400a60060a0064007017140a9001e8039001aa550200ca4b0706aa550100974cffaa550100c04902aa550100fd4802aa550100a14405aa550600e3480f01a200b400aa550a00eb4810005200350021002500aa550100f7480aaa550200c84b6400aa550300de4b000000aa550100ab4affaa550100e24b01aa550100774120aa5501008a4b20aa5501007d4406aa550600a84015a3c8122351aa550c00fc450b4254332e30204d6f757365aa55050055440e00010002aa55010041460aaa550100644701aa550100784600aa5501005f4100aa5503006547030004aa5501008e4701aa550100d84001aa550c00e7431f020105030312180319c203aa551400d24a06ff06000300800c094254352e32204d6f757365aa550e0007441f0c094254352e32204d6f757365aa550c00f7420b4254352e32204d6f757365aa550c001e4c0b4254352e32204d6f757365aa55080072430600090020002c01aa550600cc4a031218ff0000aa550400284400000000aa550100324407aa5508004c44fb004808fb004808aa5506007a438eb13a0e8eedaa550200e74a1500aa55020057431900aa550600e94a1d0021003000aa550200d1432d00aa550100f04a96aa5501008644ffaa5501009047ffaa5501008f471eaa550c00d04903040102202a3f15141b110eaa550500904c8a8b838488aa55b200df49095a263419040900ffff095a0df01de37dd2ffff095a0d101ded7d80ffff1b3528b429462a962b8c2c6e2d64385f390f3a323b474210ffff542e55f261f463707552764177ed782379467ae57c487e777f010b007f000900ffff095aff27ab40bed1a041a112a584a7ffb5d0b600ff000900ffff095a0d100ec55b9a103811422828412349394ab04ba04c904d700900ffff095a060209690d480e9f0fba0900ffff09a54634600769047d207e000900ffffaa550800a34a095a0bf30900ffffaa550800e34b09a50bf30900ffffaa5502008d442d49aa5501008c4401aa550100654801aa550100644801aa550100364801aa550100a84806aa5502003848c012aa550300544819191caa551000404800132c42061536480f1a3a4c1123314daa5501005b4800aa5505007748201510054eaa5505008c48010f0f0f0faa550600ad480cf800007701aa5503005c48004860aa5501007d4807aa5502009948b54aaa550100ca4880aa550200c2481400aa550200c0485000aa550300b84800a60eaa550300b849005000aa5502007944801faa550100834480aa550100e84101aa550500f04b024000a81e";
+
+	QString c1 =
+		"0002aa555e19c2840021c0000031c001805bc0410123c041806ec0420075c045009dc0458116c0460083c04f812ac057012cc0618324c0620036c063822ac0648230c0650263c06600c3c0670511c067861dc0680334c0688542c069834dc06a0524c06b0285c06c8375c06d049bc06d84a5c06f05b5c06f8050c0708048c0710044c07404ac2020137cc00d04c0c0100042c01980a3c01a00a8c04384a8c05084cac05184d4c05a84d6c06004e0c06e8320c07102ecc07482f4c07501d6c0760506c076864f2020137c20800000204030f32455804c20403bfd20200804204003cdda2049396fe0c9381fe0ffff1feffe1d9a20a200efe0801167e0c4826fe0c482c019bd6fc01a3d7b202042eb6fe0c91f20205af818427e00c17f80001fe204002020493018427e00c17f80001fe204002020492c6fe0cbaf247a000070448c00206000006fe0cbb4c1008000204046c26048c9387041ca00204046da20400058202046bd6fe1478cc3838000202043182040706c2040759720406ea720401b922040083a204000622020081a204000642020310920400066202078506fe0c48c207a00006fe1448d1fe224001a40a402efe08012c17f8000202078137089000520000002708900006fe0c0c5c00c1168708a87292020117d204011905800767667f1096820600000c69300006fe24891684a488d98467c00202280807041eaff206000007041ea007041e891206000006ff089a22feffe067920fe0767e0c1e96ff089a31fe1040f184384001ff1fe0098408400184fa2036fe0c1e9204000981fe67e009a20fe001fe0fff71fe17fff2feffe08242080965800000067e08019206000002feffe0724608000d840ff009841fe00206000006fe0c1e8c048\
+80a02020121e708a395b708a3a012020122ada20099ed840000c5800003020405e63202060bf6a508a12708a123d708a11aa708a0a0c6ff08a0979207e0767f08a09708a0b042000003c708a1600708a17062040611a67f08a977080dc032000003c6ff0805379207e0767f08053200003e86ff1015067e144a26ff08053793ffe0767f08053708a970062508a1220600000204000a87048f6002040612567e148e96fe0c4a0c08100cf684948e9184ffe081fe6fc0a20407dec9840fe0067e148e9da2048e320403ed86fe0c4a4c2813f1ac28080d6c30000d920203ecc6fe0cc40c3003f1c2020022a6fe0cc40c3003ed0d8e00004204046f4704c4e0c6fe0c8fa207a00007048fa002020010978547c006fe0cc441fe67c042462800078347c00206000006fe0cc40c3004956c40180006fe14ac2247a00006fe14883247a00006fe14887247a00006fe0cc46247a00006fe44babc4020000204000e2207400006fe0cc53203a01126848cc4e184084016048cc4e6fe0cc4c98467c00244101076fe0cc4d98467c00242101096fe0cc40c282840dc283840d6848cc5720200419704c4e012040010e6fe0cc40c282841fc283841f6848cc57202004366fe0cc531fe0ffff67e0cc53206000006fe0cc40c2820109204003aa202000f9708a8be62040126a2040127120401277708a6d09708a0305708a7a94708a0e0b708a0f05708a8390708a8500708921402020125d6fe0c1ea67e0896420401150708a0a006fe0896467e0c1ea2060000070008000202013b7793f803420406df320400177204041a720758000704ca600704c95002040033620403d8a20404728204001882040053420203bc96fe44babc41e80006fe0cc3bc283813f704c3a002060\
+0000704c3a01206000006fe0cc38c17f8000c2838146704c390020600000704c3901206000006fe44c1f207a00006fe0cc1e1fe222001fe67c0b2421015e20400157d8a04adb20400154d8a0440a20400154d8a042f8d8c04c1f1a22720020207d5fd8a04adb2040015cd8a0440a2040015cd8a042f8df20000b20207d26204001746fe0cc1e1fe0fe0167e0cad2704ad309d8c04c1fd8a04ad41a22720020407d5f6fe0cc1e1fe0fe0167e0c40870440909d8c04c1fd8a0440a1a22720020407d5fd8c04c1ed8a042f71a2272001f20f20120207d5fd8a04ad2df20001420207d262075800020402607204022ff20403f1e2040014820403d13204003a120400141204001392040018220203bf56fe0c1e867e0cc8f206000006fe0cc8f67e0c1e8206000005800018d67e1489b580001a767e1489d20203bd3c693000020403f70247400006fe44babc30a81946fe0cb8b243a4884204042cb6fe0c836c28081a36848c7c76fe0c8d09841fe0067e0c8d06848c7cc6fe0c8d59840fe0067e0c8d56848c7cd6fe0c8d69840fe0067e0c8d670483601da200007da4048d0202026e16fe44babc40b00006fe0caae207a00006fe0c8a7207a00006fe0cba11fe0fe011fe17e0367e0cba1247a0000704ba2006fe0cba21fe0fe0167e0cba21fe67c08242101bd2040259a2040265b242c01cc243781cc204001c3204025976fe0cba31fe0fe0167e0cba3c00801ce206000006fe0c8a7203a488c704ba3006fe0cba4c4000000793ffe0067e0cba4204045442020034f204022cb202001b3704ba3006fe0cba4c380000079207e0067e0cba46fe14bbc67e14ab220200534204026312434026b204001e6204026ee204000796fe0cbe1243a01e16fe448b067e4\
+485c6fe148c267e148c4204026bb2474000020407fdc6fe1c8ad202026b87048a6006961015f347302002040265b6fe0c82cc000a651242c01f1243781f1204026722040021f202026516fe0cac5247a00002040020f204002046fe0c8a7247a00006fe148a31fe0fe0167e148a36fe0c8a4c280a6792040267e204001ff202001e76fe0c8a41fe67c0020610000df20002820207d13d8e0000c20407d74247a00002040020c2040407cd8e0000c580000a020207d666fe44babc4140000202005c86fe0c91bc17f8000da200000704b96066848c91b2040466a67e0cb946fe0c910c07f821c204041681a227e00c283468d202046806848c91b20403f56202002196fe0cbe1245a0223704be100206000002040034f6fe44babc41e00006848c91320403f566848c91420203f565800000620405b0dc281be232040052f2040053420203e23204042e920407fdc2040044620404976204040156848c910204060696848c910204060426fe0c92020400575d840000320403f5620400263204060822040042cd840001320403f562040024520400249202002596fe0c91ec17f80006848c91e2020607f6fe0cc40c280024d6fe44babc40a0000204002516fe0c8fcd84000c0202060936848c4a118467c0320210257184084056048c8fc2060000018408404202002556fe44babc41e00006848c913204060426848c914204060426848c91320403f546848c91420203f546848c913204060506848c9142040605020403f886fe0c91f2040057520203e446fe0c8a7205a02776fe0c8bdc10080002040269f2040050624740000204026c46fe0cbe1245a02306fe2485c202026b8704836017048a7012040264267e0c7c65800000067e3c7c76fe248a967e2\
+47ce7048350c6fe0c83679207e0367e0c83620402291202001d81a627e00c0008297c01e02bfc01c82b7c01d02d1c01902a1c00a829bc00a0294c02202a8c02002b2c009029120204336704454012040322320204427704c9501204003ba2020435020404544704c9501204003ba202043fa5800000067e14af267e0cc7967e0cc7a67e0cac6202043666fe0cac7c00082a5704b7614202043732040436c704b760a202043736fe082c11fe67c0c242143846fe082c36848cb8a98467c002021439a6fe082c367e0c177202043866fe0cc79247a0000704c7901704c7a1e20600000704c95012040007e2040018520404544d8e00001204046f4204003ba20204859704c95016fe2483c67e2489167e249932040257e204003ba20404544204042ca704aae007048a10070488b006fe24891684a488d98467c00206280002040007e20400185202048222040007e204001856fe0c8a5243a02e36fe0c88bc00102d8202048376fe44babc297c811c2984811c31d48066fe24993684a497498467c00202282e12020480670488b00202048277048a500204026525fffffff67e2485c5800000067e3c8d0704be101204005342020027070488b006fe14beb1fe0fe0167e14beb6fe0cbeb1fe17effc0002341206000006fe14889d84001f898417e00203a02fc6fe148891fe0fe0167e14889206000002040259a2040265b242c031524378315204026726fe24877684a483c98467c002022a32e6fe248a9684a483c98467c00204283116fe0c8a1793ffe0267e0c8a15800000067e1488367e1488967e14887202025956fe2480c207a000067e248912020257e6fe0c88c203a22cb6fe148891fe0fe0167e148892feffe096fe0c88bc002031e202025a82020\
+a57520202339c513a40ec69300006fe0c8a12020261d6fe44babc297c80a6fe0c938c000032920203d576fe44babc308c803204003c220403d65203448066fe44babc298480cc318c80c204041101a217e07202047ff2040408f204003606fe0c927c0060339202040986fe0c992c000033dc0008340c00103436fe0cc901fe22200202003456fe0cc921fe22200202003456fe0cc931fe222005800c30920405b0c1a227e001fed7e001fe0fe2320405b0c5800000920205b0c20403f652075800020404236204041b5c0180357c018c217c02c4220204041b220001af4202003506fe0c9c2c068835a202041bd5800004920405b0dc050835e202041da7049270c206000006fe0cc40c28003646fe0c923c17f80006fe14ac2247a00006fe14883247a00006fe14887247a00006fe0cc40c28003726fe0cba7247a00006fe0cbc1203a044d67e0cba8206000006fe0cc46247a00002020036e20403e9b204000e82040232b20402556204047cd204048be2040044a204003e52040043c2040407c204044cc20400476204044ff204003932040038f204045122040048f20404515204004922040452a2040452d2040453220404535204040222040454720200495da604b77da40450a2040318a202045076fe0cc97c17f80006fe0cc95207a0000204005421fe17e076848cc9798467c002022839e704c961e20600000da604c96da4006212020318a704c41006fe0cc40c40000002040042c704c44006fe0cc4c1fe37e0067e0cc4d206000006fe0cc5267e0cc53206000006fe0cc44c00083b4c00103b6c00183b86fe0cc4a67e0cc4b206000006fe0cc47202003b26fe0cc48202003b26fe0cc49202003b26fe0cc40c40000006fe0cc4567e0cc46704c\
+4200704c4300704c4101206000006fe0cc40c4000000204003e26fe0c938c1800000704c4401204003b46fe0cc40c40100006fe0cc4f202003d96fe0cc40c4000000204003e26fe0c938c10000006fe0cc40c4008000704c4403204003b86fe0cc40c40100006fe0cc5067e0cc51206000006fe0cc40c40000006fe0cc40793ffe0267e0cc40704c4402204003b6704c4101704c42012020040c6fe0cc41207a00006fe0cc42c00083f26fe0cc46203a03ee1fe0ffff67e0cc462020040d704ca601704c4100204003aa2020041f6fe0cc44207a0000c00203f9202003f66fe0cc40c28103f9202003fb6fe0cc51203a041ada604c4bda4003fe2020318a6fe0cc44c00204066fe0cc40c2810406204003ad6fe0cc43c000841c2020040a6fe0cc511fe0ffff67e0cc51202004026fe0cc44c0020437704c43016fe0c938c0000412c0008414c0010416206000006848cc54202004196848cc55202004196848cc56202004196848cc5820206069704c4100704c44006fe0cc44c0020431704c43006fe0c938c0000424c0008426c0010428206000006848cc54202004296848cc55202004296848cc5618467cff206280002020607f2040042420400426204004282040010920200431704c43006fe0cc40c283041ec283841e6848cc5820206065704c43016fe0cc40c283040cc283840c202004186fe0cbedc17f80006fe14ab2207a00006fe14bbe68494ab2984604006fe14bee98467e00202104486848cbed202060656848cbed20206069da604ba8da40044d2020318a6fe0cc40c28004646fe0c927c001c8f2c005c8f26fe0c92367e0c92f6fe14bc267e1493067e14932da2000006848c9921840840218467c032041045e24410462202048ff6fe4\
+4babc40e00001840840120600000184085fd206000006fe0c927c0018473c00584736848c9921840840218467c032041045e2441046218427e009fe0fe0067e0cc51704c4404204003b1704c4201202003bf6848c99218408401202004696fe0c938c000047c6fe44babc41a80006848cbca2020047f6fe44babc41900006848cbcb6048cb9d204005421fe17e076848cb9d98467c0020228486202044eb2040048b6fe0cb9fc1008000704b9f0120600000da40048d202044f7204003c2202002e16fe44babc39d80002020451fda604c7ada40436c2020318ada604ab2da400498202031916fe0c938c00002e32020431b204003db6fe1478c2feffe0b2040c5816fe1478c2feffe072040c3225800000067e14af2202045545800000067e14ac2202045776fe0cbe2245a7861704be200202078516fe103151fe20c00efe0800667e0c5f51fe1040f1ff1fe00c00484b420204d93da20000120404dc06fe144dce7e1000558000000e7e08005700950016fe0c4e279207e0667e0c4e270095b122020787178547c00204059e66fe08049207a0000c283d730c00384c7202057012040585d70007378206000006fe0c3dd1fe0fe0167e0c3ddc006165a2040191b2040196a6fe082bd2040168b204018382020165520400e8020201661204016be204016cc20404cb579202a00782efc0078307c007850fc00204017442000000a20201841efe10006c00204e3202019e4efe1800667e1c436c00504e8c00904f720201cd36fe44babc31d9de720401e8d684944376fe0c3c0c28184f26fe14437c0181ec86849443720201deb6fe143d198467c00242284ee243404ee20201e1018c222006fe143d41fe0a5fd20401a256fe0cac1c07f9e736fe0cac7203a\
+1e736fe0cb75c2809e735800001a6849443798467c0024229e7320201e1078347c00204014656fe1c174203a7e566fe0c099203a7e566fe0cbe1247a00006fe0c8bdc000fe562060000078547c005800000067e348d1204042402040033620403f7e20403f832040053b6fe0c8d01fe17e1f67e0c8d02434051f204005212020454420404728206000006fe0c927c10180002020471a20403f656fe0c927c005852b20404232da604aa32040422b2020033620400532da604be32040422b202003366fe0c927c0058532202042325800970620204233204041a720403f656fe0c927c00585392020423e58001f0620205b0c2040057b6fe0cc37243a05926fe0cc32243a059120400542202040dd6fe0cbe1245a4121da2000002040054c20400551204005562040055b204005682040057b2020411e6fe0c91820400575204041246848c91820203f566fe0c919204005752040412a6848c91920203f566fe0c91a20400575204041306848c91a20203f566fe0c90dc17f8000704b96036fe0cb911fe226006848c90d6fe0c910c07f85642020413e6fe0c90d204005786848c90d2020414b6fe0c90ec17f8000704b96046fe0cb921fe226006848c90e6fe0c910c07f8571202041576fe0c90e204005786848c90e20204164c17f8000d840003f20206093c17f8000d840003e20206093da4000006fe0cc38c17f80006fe0cc39243a05886848cc3820403f566848cc38204060597920a4001a427e0067e0cc37206000006fe0cc38793ffe0767e0cc386848cc3820403f546848cc38204060597d20a40020200585c00205aa204005ad6fe24c33d84000a0984084001c427e0098467c002461000067e24c336fe0cc32c00005a0c00085a3c00105a6c001\
+85a820600000704c32017048d00120207e54704c32027048d00020207e54704c3203202005a1704c3200202005a4704c32007048d00020600000684a4c331c427e0098467c00244105b2206000005800000067e24c3320600000204005bb20407936204005c8204005dc204005bf202046506fe0cc40c301c9906fe44bab202049926fe44babc29485c3c29b85c3206000006fe1478cc28305c62020465a704b94032020020f6fe44babc29740366fe0c90fc17f8000da200000704b96056848c90f204005d12020402f6fe44babc29640486fe0cb931fe226006fe0c910c07f85d82020403f6fe0c90f204005786848c90f202041956fe44babc41e80006fe0cc3a243a05e56fe0cc3b20400575204005f56848cc3b20203f566fe0cc3b793ffe0767e0cc3b20400578704c3f006848cc3b6fe0cc3c2040060e204005f96848cc3b20203f5620403f566fe0cc3dc1008000704c3d0120204069704c3f006848cc3b6fe0cc3c2040060467e0cc3c6fe0cc3e203a06006fe0cc3dc1008000704c3d01202040696fe0cc3dc1000000704c3d00206000001fe3fe001fe22400204060597920a4001a417e076848cc3f18420e00c0038619c000061b206000001fe3fe001fe2240020403f54204060597920a4001a417e076848cc3f18420e00c0038619c000061b20600000704c3e0120600000704c3e00206000006fe0cca6207a000020404072207400006fe0c9921fe204006fe44babc29e862b18427e001fe0fe011fe17e0367e0c99220400334202046436fe0cc3e243a06486fe44babc28e063c18427e00c1008000c0000638c001063620600000580000022020062858000000202006285800000120200628580000032020062818427e00c1008000c000\
+0638c001063ac00186362060000018427e00c1010000c000063ac0008636c0018634206000006fe44babc28e064218427e00c1010000c0000634c0008636206000006fe1478cc3858000c3838000c38300006a214899204025cb6048c8c7202026f67ab9aa5540000040090000000000000000000000000000001c1c00800040000098d65bce0601000000000004010018000000000000000000800000000a0020000100002004360000aa5501009a4008aa5503007a418816ceaa550100c54018aa550100ef41ffaa550200ca40ef41aa5501007d4170aa550100d04400aa550500ea41ff04000008aa550800ab4b04094a000080031baa550100404c00aa550c00fe48b00458026464948590637580aa5503000d490b0c0daa5501003b4cffaa5514001049ffffff0504ffffff0b0c0dffffffff0706ffffffaa550100384cffaa550100a44cffaa5503002449030000aa550300ed4bff5802aa550100454c14aa550300474c050205aa5501004c4c14aa5501004a4c02aa5502004f4c0206aa550100524c0aaa550500544cffffffffffaa550100580bffaa551200cc4b000500040000000000000000000000000000aa550100994001aa550200b34b0301aa55080038490034ffffffffffffaa550700564934ffffffffffffaa551700734933ffffffffffffffffffffffffffffffffffffffffffffaa551300b54b00400a60060a0064007017140a9001e8039001aa550200ca4b0706aa550100974cffaa550100c04902aa550100fd4802aa550100a14405aa550600e3480f01a200b400aa550a00eb4810005200350021002500aa550100f7480aaa550200c84b6400aa550300de4b000000aa550100ab4affaa550100e24b01aa550100774120aa55\
+01008a4b20aa5501007d4406aa550600a84015a3c8122351aa550c00fc450b4254332e30204d6f757365aa55050055440e00010002aa55010041460aaa550100644701aa550100784600aa5501005f4100aa5503006547030004aa5501008e4701aa550100d84001aa550c00e7431f020105030312180319c203aa551400d24a06ff06000300800c094254352e32204d6f757365aa550e0007441f0c094254352e32204d6f757365aa550c00f7420b4254352e32204d6f757365aa550c001e4c0b4254352e32204d6f757365aa55080072430600090020002c01aa550600cc4a031218ff0000aa550400284400000000aa550100324407aa5508004c44fb004808fb004808aa5506007a438eb13a0e8eedaa550200e74a1500aa55020057431900aa550600e94a1d0021003000aa550200d1432d00aa550100f04a96aa5501008644ffaa5501009047ffaa5501008f471eaa550c00d04903040102202a3f15141b110eaa550500904c8a8b838488aa55b200df49095a263419040900ffff095a0df01de37dd2ffff095a0d101ded7d80ffff1b3528b429462a962b8c2c6e2d64385f390f3a323b474210ffff542e55f261f463707552764177ed782379467ae57c487e777f010b007f000900ffff095aff27ab40bed1a041a112a584a7ffb5d0b600ff000900ffff095a0d100ec55b9a103811422828412349394ab04ba04c904d700900ffff095a060209690d480e9f0fba0900ffff09a54634600769047d207e000900ffffaa550800a34a095a0bf30900ffffaa550800e34b09a50bf30900ffffaa5502008d442d49aa5501008c4401aa550100654801aa550100644801aa550100364801aa550100a84806aa5502003848c012aa550300544819191caa55";
+
+	QString c2 =
+		"1000404800132c42061536480f1a3a4c1123314daa5501005b4800aa5505007748201510054eaa5505008c48010f0f0f0faa550600ad480cf800007701aa5503005c48004860aa5501007d4807aa5502009948b54aaa550100ca4880aa550200c2481400aa550200c0485000aa550300b84800a60eaa550300b849005000aa5502007944801faa550100834480aa550100e84101aa550500f04b024000a81e55aaaa554098b672ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff497a";
+	QString content = c1 + c2;
+
+	QList<UnitItem> m_units;
+	QMap<int, UnitItem> m_unitMap;
+	QString datFilePath = "";
+
+public:
+	/**
+	 * \brief 瑙ｆ瀽filePath
+	 * \param filePath 
+	 */
+	void parseDatFile(QString filePath);
+
+	/**
+	 * \brief 鑾峰彇鏂囦欢鍐呭
+	 * \param filePath 
+	 * \return 
+	 */
+	QString getFileContent(QString filePath);
+
+	/**
+	 * \brief 鏂囦欢鎷撳睍鍚嶆槸鍚︿负dat
+	 * \param in 
+	 * \return 
+	 */
+	bool fileExtIsDat(QString in);
+
+	/**
+	 * \brief 濉厖瀛楃涓
+	 */
+	static QString paddingString(QString rawString);
+
+	/**
+	 * \brief 浠庡瓧绗︿覆瑙ｆ瀽units
+	 */
+	void parseUnitsFromQString(QString raw);
+
+	/**
+	 * \brief 
+	 * \param content 
+	 */
+	QString genDatFile(QString content);
+	QString genDatFile();
+	/**
+	 * \brief 鐢熸垚鏂囦欢璺緞
+	 * \return 
+	 */
+	QString genFilePath();
+	int dynamicFindTargetAddr(int addr);
+	QString format(QString content);
+
+	void setData(AddressTable* m_addressTable, QByteArray value);
+	void setData(ControlBase* m_controlBase);
+	/**
+	 * \brief 瑙ｆ瀽content鍐呭
+	 */
+	void parse(QString content);
+	/**
+	 * \brief 杞崲涓篸at闇瑕佺殑string
+	 */
+	QString toDatString();
+	QString checksum(QString hexString);
+	QString crc16(QString hexString);
+
+	QByteArray getData(AddressTable* m_addressTable);
+
+};
Index: ParseFlashDatFile.cpp
===================================================================
--- /YC1308AC/branch/mouse_project/TestTools/mous-config-tool-qt/ParseFlashDatFile.cpp	(nonexistent)
+++ /YC1308AC/branch/mouse_project/TestTools/mous-config-tool-qt/ParseFlashDatFile.cpp	(working copy)
@@ -0,0 +1,581 @@
+锘#include "ParseFlashDatFile.h"
+#include <qexception.h>
+#include <QtTest/qtestcase.h>
+#include <QException>
+#include "Ttile1.h"
+#include "TypeConvertor.h"
+
+class FileNotFoundException : public QException
+{
+public:
+	void raise() const override { throw*this; }
+	FileNotFoundException* clone() const override { return new FileNotFoundException(*this); }
+};
+
+
+ParseFlashDatFile::ParseFlashDatFile(QObject* parent)
+	: QObject(parent)
+{
+}
+
+// 鍒濆鍖栭潤鎬佹垚鍛樺彉閲
+ParseFlashDatFile* ParseFlashDatFile::instance = nullptr;
+
+// 瀹氫箟闈欐佹垚鍛樺嚱鏁
+ParseFlashDatFile* ParseFlashDatFile::getInstance(QString filePath)
+{
+	if (!instance)
+	{
+		instance = new ParseFlashDatFile(filePath);
+	}
+	return instance;
+}
+
+ParseFlashDatFile::ParseFlashDatFile(QString filePath)
+{
+	parseDatFile(filePath);
+}
+
+ParseFlashDatFile::~ParseFlashDatFile()
+{
+}
+
+ParseFlashDatFile& ParseFlashDatFile::operator=(const ParseFlashDatFile& m_parseFile)
+{
+	if (this != &m_parseFile)
+	{
+		this->m_units = m_parseFile.m_units;
+		this->m_unitMap = m_parseFile.m_unitMap;
+		this->datFilePath = m_parseFile.datFilePath;
+	}
+	return *this;
+}
+
+void ParseFlashDatFile::parseDatFile(QString filePath)
+{
+    //鑾峰彇鏂囦欢鍐呭
+	rawDataInFile = getFileContent(filePath);
+    //瑙ｆ瀽鏂囦欢
+	parse(rawDataInFile);
+}
+
+bool ParseFlashDatFile::fileExtIsDat(QString in)
+{
+	return in.compare("dat", Qt::CaseInsensitive) == 0;
+}
+
+QString ParseFlashDatFile::getFileContent(QString filePath)
+{
+	QFile file(filePath);
+	// 1.鏄惁瀛樺湪
+	if (!file.exists())
+	{
+		throw FileNotFoundException();
+	}
+
+	// 2.鏄惁鍖呭惈"."
+	const int indexOfDot = filePath.lastIndexOf(".");
+	if (indexOfDot == -1)
+	{
+		throw QStringLiteral("浼犲叆鐨勮矾寰勯潪娉:") + filePath;
+	}
+	// 3.鏄惁鏂囦欢鍚庣紑鍚嶅悎娉
+	auto theFileSuffixName = filePath.mid(indexOfDot + 1);
+	if (!fileExtIsDat(theFileSuffixName))
+	{
+		throw QStringLiteral("浼犲叆鐨勮矾寰勫悗缂闈炴硶:") + theFileSuffixName;
+	}
+	// 4.鎵撳紑鏂囦欢,澶勭悊鍐呭
+	if (file.open(QIODevice::ReadOnly | QIODevice::Text))
+	{
+		QTextStream in(&file);
+		// in.setCodec("UTF-8"); // 濡傛灉鏂囦欢缂栫爜涓嶆槸UTF-8锛岃鏍规嵁瀹為檯鎯呭喌璁剧疆缂栫爜
+
+		QString fileContent;
+		while (!in.atEnd())
+		{
+			QString line = in.readLine();
+			fileContent += line; // 閫愯璇诲彇骞舵嫾鎺ュ唴瀹
+		}
+
+		// 鏇挎崲鎵鏈夋崲琛岀锛'\n'锛変负鍏朵粬鍐呭锛屼緥濡傜┖鏍
+		fileContent.replace("\n", "");
+
+		file.close();
+		datFilePath = filePath;
+		return fileContent;
+	}
+	else
+	{
+		throw QStringLiteral("鏃犳硶鎵撳紑鏂囦欢锛") + filePath;
+	}
+}
+
+void ParseFlashDatFile::parse(QString content)
+{
+	QString temp = content;
+	int index1 = 0;
+	// 1. 鍥哄畾閮ㄥ垎
+	// 1.1 鍋忕Щ閲,2byte,4涓暱搴
+	temp = temp.mid(4);
+	// 1.2 绋嬪簭娈 澶
+	if (!temp.startsWith(flagStr, Qt::CaseInsensitive))
+	{
+		throw QStringLiteral("闈炴纭紑澶") + flagStr;
+	}
+	// 1.3 绋嬪簭娈祃ength
+	const int codeLen = parseString2number(temp.mid(4, 4));
+	// 寮澶2byte鍋忕Щ閲,aa55 (2byte),len( 2byte)+code data (len byte) ,鍥哄畾涓嶅彉
+	const int fixLen = 4 + 4 + 4 + codeLen * 2;
+	const QString fixPartStr = content.left(fixLen);
+	// qDebug() << QStringLiteral("fix閮ㄥ垎瀛楃涓:") << fixPartStr;
+	// QCOMPARE(s1, fixPartStr);
+	m_parts.append(fixPartStr);
+
+	// 2. 鏁版嵁閮ㄥ垎
+	temp = content.mid(fixLen);
+
+	index1 = temp.indexOf(endFlagStr, 0, Qt::CaseInsensitive);
+	if (index1 == -1)
+	{
+		throw QStringLiteral("鏈壘鍒癲ata缁撴潫鏍囪瘑") + endFlagStr;
+	}
+	const QString unitsString = temp.left(index1);
+	// qDebug() << QStringLiteral("unit閮ㄥ垎瀛楃涓:") << unitsString;
+	// QCOMPARE(s2, unitsString);
+	m_parts.append(unitsString);
+	parseUnitsFromQString(unitsString);
+	// 3. 缁撴潫鏍囪瘑
+	m_parts.append(endFlagStr);
+	// 4. checksum
+	temp = temp.mid(index1 + 8);
+	const QString checksumStr = temp.left(4);
+	// qDebug() << QStringLiteral("checksumStr:") << checksumStr;
+	// 5. crc16
+	QString crc = temp.mid(4, 4);
+	// qDebug() << QStringLiteral("crc16:") << crc;
+	m_parts.append(crc); // 鐩存帴浣跨敤鏃х殑crc16,鍔犺浇鏃跺苟涓嶄娇鐢
+	// 6. 濉厖閮ㄥ垎锛屼笉瑙ｆ瀽锛岀敓鎴愭椂濉厖鍗冲彲銆
+}
+
+QString ParseFlashDatFile::toDatString()
+{
+	QString result = "";
+	QString data = "";
+	// 1.鍥哄畾閮ㄥ垎
+	result += m_parts[0];
+	// 2.鏁版嵁閮ㄥ垎
+	for (auto item : m_units)
+	{
+		data += item.toString();
+	}
+	result += data;
+	// 3.缁撴潫鏍囪瘑
+	result += endFlagStr;
+	// 4.checksum
+	result += checksum(data);
+	// 5.crc16
+	result += crc16(result.mid(4));
+	// 6.padding
+	result = paddingString(result);
+	// 7.鏈鍚庣殑crc16
+	result += crc16(result.mid(4));
+	return result;
+}
+
+QString ParseFlashDatFile::checksum(QString hexString)
+{
+	QString result;
+	int checksumValue = 0;
+	for (int i = 0; i < hexString.length() / 2; i++)
+	{
+		checksumValue += parseString2number(hexString.mid(i * 2, 2));
+	}
+	result += QString("%1").arg(checksumValue & 0xff, 2, 16, QChar('0'));
+	result += QString("%1").arg((checksumValue >> 8) & 0xff, 2, 16, QChar('0'));
+	return result;
+}
+
+QString ParseFlashDatFile::crc16(QString hexString)
+{
+	QString result;
+	int crc16 = 0xffff;
+	for (int i = 0; i < hexString.length() / 2; i++)
+	{
+		int curLine = parseString2number(hexString.mid(i * 2, 2));
+		crc16 = (crc16 >> 8) | (crc16 << 8);
+		crc16 ^= curLine & 0xff;
+		crc16 ^= (crc16 & 0xff) >> 4;
+		crc16 ^= crc16 << 12;
+		crc16 ^= (crc16 & 0xff) << 5;
+		crc16 &= 0xffff;
+	}
+
+	result += QString("%1").arg((crc16 >> 8) & 0xff, 2, 16, QChar('0'));
+	result += QString("%1").arg(crc16 & 0xff, 2, 16, QChar('0'));
+	return result;
+}
+
+QByteArray ParseFlashDatFile::getData(AddressTable* m_addressTable)
+{
+	const int bitLength = m_addressTable->get_bit_width();
+	const int addr = m_addressTable->get_address();
+	const int startBitOffset = m_addressTable->get_start_bit_index();
+
+	qDebug() << QStringLiteral("瀹為檯鐨刟ddr:") << parseNumber2HexQstring(addr, 2, false);
+	qDebug() << QStringLiteral("startBitOffset:") << startBitOffset;
+	qDebug() << QStringLiteral("bitLength:") << bitLength;
+
+
+	for (int i = 0; i < m_units.count(); i++)
+	{
+		const int curAddress = m_units[i].get_m_address();
+		const int dateLenBytes = m_units[i].get_m_data_len();
+		if ((curAddress + dateLenBytes) > addr && curAddress <= addr)
+		{
+			auto m_data = m_units[i].get_m_data();
+			if (bitLength < 8) // bit鎿嶄綔
+			{
+				quint8 byteValue = static_cast<quint8>(m_data[addr - curAddress]);
+				// 鍒涘缓涓涓綅鎺╃爜锛屽皢瑕佽幏鍙栫殑浣嶈缃负1
+				quint8 bitMask = ((1 << bitLength) - 1) << startBitOffset;
+				int bitValue = (byteValue & bitMask) >> startBitOffset;
+				return QByteArray::fromHex(parseNumber2HexQstring(bitValue, 1).toLatin1());
+			}
+			else // byte鎿嶄綔
+			{
+				int byteNumber = bitLength / 8;
+				return m_data.mid(startBitOffset + (addr - curAddress), byteNumber);
+			}
+		}
+	}
+    qDebug()<<"error address:"<<addr;
+
+    return QByteArray::fromHex("55aa");
+    //qDebug()<<"error address:"<<addr;
+    //return QByteArray::fromHex(parseNumber2HexQstring(0xff, 1).toLatin1());
+    //throw QStringLiteral("鏈壘鍒癮ddr瀵瑰簲鐨勫:") + addr;
+}
+
+QString ParseFlashDatFile::paddingString(QString rawString)
+{
+	QString result = rawString;
+	int targetStringLength = 8190 * 2;
+	int currentLength = rawString.length();
+	int toPaddingLength = targetStringLength - currentLength;
+	for (int i = 0; i < toPaddingLength; i++)
+	{
+		result += "f";
+	}
+	return result;
+}
+
+void ParseFlashDatFile::parseUnitsFromQString(QString raw)
+{
+	m_units.clear();
+	QString temp = raw;
+	// 浠a55寮澶
+	while (temp.startsWith(flagStr))
+	{
+		// 瑙ｆ瀽褰撳墠unit鍗曞厓
+		int unitLen = parseString2number(temp.mid(4, 4));
+		int addr = parseString2number(temp.mid(8, 4));
+		QString unitData = temp.mid(12, unitLen * 2);
+		auto t = UnitItem(addr, unitData);
+		m_units.append(t);
+		// 涓嶉渶瑕佺淮鎶ey鐨勯『搴,榛樿鍗囧簭,渚夸簬鏌ユ壘涓嶈兘鐩存帴鎵惧埌鐨刟ddr
+		m_unitMap[addr] = t;
+		temp = temp.mid(12 + unitLen * 2);
+	}
+    //if (!temp.isEmpty()) throw QStringLiteral("鏈纭В鏋") + s2;
+   // if(!temp.isEmpty())
+}
+
+QString ParseFlashDatFile::genDatFile(QString content)
+{
+	auto taretString = format(content);
+
+	auto result = genFilePath();
+	// 鍒涘缓涓涓猀File瀵硅薄骞舵墦寮鏂囦欢锛堝鏋滄枃浠朵笉瀛樺湪锛屼細鑷姩鍒涘缓锛
+	result = debug() ? "flash1.dat" : result;
+	QFile file(result);
+
+	if (file.open(QIODevice::WriteOnly | QIODevice::Text))
+	{
+		// 鍒涘缓涓涓猀TextStream瀵硅薄锛屽皢鍏朵笌鏂囦欢鍏宠仈
+		QTextStream out(&file);
+
+		// 灏哘String鍐欏叆鏂囦欢
+		out << taretString;
+
+		// 鍏抽棴鏂囦欢
+		file.close();
+
+		qDebug() << "QString successfully written to file.";
+		return result;
+	}
+	else
+	{
+		throw "Failed to open file for writing.";
+	}
+}
+
+QString ParseFlashDatFile::genDatFile()
+{
+	return genDatFile(toDatString());
+}
+
+QString ParseFlashDatFile::genFilePath()
+{
+	if (datFilePath.isEmpty())
+	{
+		throw QStringLiteral("dat鏂囦欢璺緞涓虹┖");
+	}
+	int index = datFilePath.lastIndexOf(".");
+	QString result = datFilePath;
+	result.insert(index, "_" + now());
+	qDebug() << QStringLiteral("鐢熸垚鐨勬柊鏂囦欢璺緞:") << result;
+	return result;
+}
+
+int ParseFlashDatFile::dynamicFindTargetAddr(int addr)
+{
+	int count = m_unitMap.count();
+	QList<int> sortedKeys = m_unitMap.keys();
+
+	for (int i = 0; i < count - 1; i++)
+	{
+		if (addr > sortedKeys[i] && addr < sortedKeys[i + 1])
+		{
+			return sortedKeys[i + 1];
+		}
+	}
+	return sortedKeys[count - 1];
+}
+
+QString ParseFlashDatFile::format(QString content)
+{
+	QString formattedHexString;
+	for (int i = 0; i < content.length(); i += 2)
+	{
+		formattedHexString += content.mid(i, 2) + "\n";
+	}
+	return formattedHexString;
+}
+
+void ParseFlashDatFile::setData(AddressTable* m_addressTable, QByteArray value)
+{
+	int addr = m_addressTable->get_address();
+	qDebug() << QStringLiteral("褰撳墠鍦板潃浼犲叆鐨勫湴鍧:") << parseNumber2HexQstring(addr, 2, false);
+	// 浣跨敤foreach鎷垮埌鏄厓绱犵殑鍓湰.涓嶄慨鏀筸_units鐨勫
+	for (int i = 0; i < m_units.count(); i++)
+	{
+		const int curAddress = m_units[i].get_m_address();
+		const int dateLenBytes = m_units[i].get_m_data_len();
+		if ((curAddress + dateLenBytes) > addr && curAddress <= addr)
+		{
+			m_units[i].setData(m_addressTable, value);
+			if (debug()) genDatFile();
+			break;
+		}
+	}
+}
+
+void ParseFlashDatFile::setData(ControlBase* m_controlBase)
+{
+	m_controlBase->tryToModifyAddressTable();
+	QByteArray bytes = m_controlBase->result();
+	qDebug() << QStringLiteral("淇敼鍚庣殑hex:") << bytes.toHex();
+	setData(m_controlBase->m_addressTable, bytes);
+}
+
+
+UnitItem::UnitItem()
+{
+	m_dataLen = 0;
+	m_address = 0;
+}
+
+UnitItem::UnitItem(const UnitItem& unit)
+{
+	headStr = unit.headStr;
+	m_headStr = unit.m_headStr;
+	m_dataLen = unit.m_dataLen;
+	m_address = unit.m_address;
+	m_data = unit.m_data;
+}
+
+UnitItem& UnitItem::operator=(const UnitItem& unitEx)
+{
+	if (this != &unitEx)
+	{
+		m_headStr = unitEx.m_headStr;
+		headStr = unitEx.headStr;
+		m_headStr = unitEx.m_headStr;
+		m_address = unitEx.m_address;
+		m_data = unitEx.m_data;
+	}
+	return *this;
+}
+
+UnitItem::UnitItem(int addr, QString dataStr)
+{
+	m_address = addr;
+	setData(dataStr);
+}
+
+UnitItem::~UnitItem()
+{
+}
+
+void UnitItem::setData(QString dataValue)
+{
+	m_data = QByteArray::fromHex(dataValue.toLocal8Bit());
+	m_dataLen = m_data.size();
+}
+
+void UnitItem::setData(AddressTable* m_addressTable, QByteArray value)
+{
+	const int bitWidth = m_addressTable->get_bit_width();
+	const int theActualAddress = m_addressTable->get_address();
+	const int startBit = m_addressTable->get_start_bit_index();
+	const bool dynimacLength = m_addressTable->is_dynimac_date_len();
+
+	if (bitWidth < 8) // 淇敼鏌愪釜bit
+	{
+		if (value.isEmpty())
+		{
+			throw QStringLiteral("浼犲叆鐨剉alue涓虹┖");
+		}
+
+		int theActualOffsetByte = (theActualAddress - m_address);
+		byte toModify = m_data[theActualOffsetByte];
+		// 鍒涘缓涓涓綅鎺╃爜锛屽皢鎸囧畾浣嶈寖鍥存竻闆
+		quint8 clearMask = ~(static_cast<quint8>((1 << bitWidth) - 1) << startBit);
+
+		// 娓呴櫎鎸囧畾浣嶈寖鍥
+		toModify &= clearMask;
+
+		// 鍒涘缓涓涓綅鎺╃爜锛屽皢鏂板兼斁鍏ユ寚瀹氫綅鑼冨洿
+		quint8 setMask = (value.at(0) << startBit);
+
+		// 璁剧疆鏂板煎埌瀛楄妭涓
+		toModify |= setMask;
+		m_data[theActualOffsetByte] = toModify;
+	}
+	else // 淇敼byte鏁扮粍
+	{
+		const int toModifyByteCount = (bitWidth + 7) / 8;
+		qDebug() << QStringLiteral("淇敼鏁版嵁鏃,m_data鐨勯暱搴︿负:") << m_data.length() << QStringLiteral("浼犲叆鐨剉alue鐨勯暱搴:") <<
+			toModifyByteCount;
+		if (dynimacLength)
+		{
+			m_data.resize(toModifyByteCount);
+			m_dataLen = toModifyByteCount;
+		}
+		int j = 0;
+		for (int i = startBit; i < toModifyByteCount + startBit; i++)
+		{
+			m_data[i + (theActualAddress - m_address)] = value[j++];
+		}
+	}
+}
+
+QString UnitItem::toString()
+{
+	QString result("");
+	result.append(m_headStr);
+	result.append(parseNumber2HexQstring(m_dataLen));
+	result.append(parseNumber2HexQstring(m_address));
+	result.append(m_data.toHex());
+	return result;
+}
+
+void UnitItem::parseRightTargetString()
+{
+	QString str("aa5501009a4008");
+	if (!str.startsWith(m_headStr, Qt::CaseInsensitive))
+	{
+		throw QStringLiteral("闈炰互") + m_headStr + QStringLiteral("寮澶");
+	}
+	// head
+	headStr = m_headStr;
+	// data len
+	str = str.mid(4);
+	m_dataLen = parseString2number(str.left(4));
+	str = str.mid(4);
+	// address
+	m_address = parseString2number(str.left(4));
+	str = str.mid(4);
+	// data
+	m_data = QByteArray::fromHex(str.toLocal8Bit());
+	// 鏍￠獙data鐨勫疄闄呴暱搴﹀拰浼犲叆鐨勯暱搴
+	if (m_data.length() / 2 != m_dataLen)
+	{
+		throw QStringLiteral("鏁版嵁閮ㄥ垎鐨勫疄闄呴暱搴﹀拰浼犲叆鐨勯暱搴︿笉绗");
+	}
+}
+
+void UnitItem::parseShortString()
+{
+	try
+	{
+		QString str("aa5501009a40");
+		if (!str.startsWith(m_headStr, Qt::CaseInsensitive))
+		{
+			throw QStringLiteral("闈炰互") + m_headStr + QStringLiteral("寮澶");
+		}
+		// head
+		headStr = m_headStr;
+		// data len
+		str = str.mid(4);
+		m_dataLen = parseString2number(str.left(4));
+		str = str.mid(4);
+		// address
+		m_address = parseString2number(str.left(4));
+		str = str.mid(4);
+		// data
+		m_data = QByteArray::fromHex(str.toLocal8Bit());
+		// 鏍￠獙data鐨勫疄闄呴暱搴﹀拰浼犲叆鐨勯暱搴
+		if (m_data.length() / 2 != m_dataLen)
+		{
+			throw QStringLiteral("鏁版嵁閮ㄥ垎鐨勫疄闄呴暱搴﹀拰浼犲叆鐨勯暱搴︿笉绗");
+		}
+	}
+	catch (const QString& exceptionMessage)
+	{
+		qDebug() << exceptionMessage;
+	}
+}
+
+void UnitItem::parseLongString()
+{
+	try
+	{
+		QString str("aa5501009a400102");
+		if (!str.startsWith(m_headStr, Qt::CaseInsensitive))
+		{
+			throw QStringLiteral("闈炰互") + m_headStr + QStringLiteral("寮澶");
+		}
+		// head
+		headStr = m_headStr;
+		// data len
+		str = str.mid(4);
+		m_dataLen = parseString2number(str.left(4));
+		str = str.mid(4);
+		// address
+		m_address = parseString2number(str.left(4));
+		str = str.mid(4);
+		// data
+		m_data = QByteArray::fromHex(str.toLocal8Bit());
+		// 鏍￠獙data鐨勫疄闄呴暱搴﹀拰浼犲叆鐨勯暱搴
+		if (m_data.length() / 2 != m_dataLen)
+		{
+			throw QStringLiteral("鏁版嵁閮ㄥ垎鐨勫疄闄呴暱搴﹀拰浼犲叆鐨勯暱搴︿笉绗");
+		}
+	}
+	catch (const QString& exceptionMessage)
+	{
+		qDebug() << exceptionMessage;
+	}
+}
Index: Ttile1.h
===================================================================
--- /YC1308AC/branch/mouse_project/TestTools/mous-config-tool-qt/Ttile1.h	(nonexistent)
+++ /YC1308AC/branch/mouse_project/TestTools/mous-config-tool-qt/Ttile1.h	(working copy)
@@ -0,0 +1,72 @@
+锘#pragma once
+
+#include <QMainWindow>
+#include<QMouseEvent>
+#include <QPoint.h>
+#include<QPoint>
+#include "ui_Ttile1.h"
+#include "mouseconfigtool.h"
+#include "advancedConfigurationDlg.h"
+#include "ParseFlashDatFile.h"
+
+
+class Ttile1 : public QMainWindow
+{
+	Q_OBJECT
+
+public:
+	Ttile1(QWidget* parent = nullptr);
+	~Ttile1();
+
+private slots:
+	void handleMainConfigSignal(QString objectName);
+	void handleVoltageSignal(QString objectName,QByteArray result);
+	void handleAdvanceConfigSignal(QString objectName);
+	void on_groupBox_customContextMenuRequested(const QPoint& pos);
+    void on_pushButton_chooseFile_clicked();
+	void on_pushButton_genFile_clicked();
+    void handleSMASignal(QString objectName,QByteArray result);
+signals:
+	/**
+	 * \brief 
+	 * \param sonWidget 瀛愭帶浠
+	 * \param valueToPaint 寰呮樉绀虹殑鍊
+	 * \param pWidget 鐖舵帶浠
+	 */
+	void modifyVoltageSignal(QWidget* sonWidget, QByteArray valueToPaint, QWidget* pWidget);
+	void sendSignalToChild();
+public:
+	//瀹氫箟鑿滃崟
+	QMenu* RightButtonMenu; //鍙抽敭鑿滃崟
+
+	QAction* actClose;
+	QAction* actAdvanceConfig;
+	//娣诲姞绫绘垚鍛榤_point锛圦Point绫诲瀷锛
+	QPoint m_point;
+	bool moveInLeftKey = false;
+	// 鍙抽敭鑿滃崟鏄剧ず鏍囪瘑銆傛病鏈夊垯浼氶棿闅旇Е鍙戝彸閿紝娣诲姞鍚庯紝瑙﹀彂涓娆″悗锛屽畾鏃跺櫒100ms鑷姩淇敼鍙橀噺锛屾柟渚夸笅娆＄偣鍑讳粛鏃цЕ鍙戙
+	bool contextMenuDisplayed = false;
+	// 鏄惁褰卞搷妲藉嚱鏁般傞夋嫨鏂囦欢鍚庡啀杩涜鍝嶅簲
+	bool responseSlotFunction = false;
+
+	MouseConfigTool* m_MouseConfigTool1;
+	advancedConfigurationDlg* m_advancedConfigurationDlg1;
+
+	QList<ControlBase*> m_controls;
+	ParseFlashDatFile* m_parse;
+	// 楂樼骇閰嶇疆涓复鏃朵繚瀛樼殑椤,褰撶‘瀹氭椂缁熶竴鍐欏叆;鍙栨秷鍚,娓呯┖褰撳墠鍙橀噺
+	QList<ControlBase*> m_controlsInAdvanceConfig;
+public:
+	void mousePressEvent(QMouseEvent* event) override; //榧犳爣鐐瑰嚮
+	void mouseMoveEvent(QMouseEvent* event) override; //榧犳爣绉诲姩
+	void mouseReleaseEvent(QMouseEvent* event) override; //榧犳爣閲婃斁
+	void setIcon(QString path) const;
+	void paintUiFromDatFile();
+	ControlBase* getControl(QString targetObjectName);
+
+    void SetDisable_checkbox(int value);
+   void set_ControlBase(void);
+
+public:
+	Ui::Ttile1Class ui;
+};
Index: Ttile1.cpp
===================================================================
--- /YC1308AC/branch/mouse_project/TestTools/mous-config-tool-qt/Ttile1.cpp	(nonexistent)
+++ /YC1308AC/branch/mouse_project/TestTools/mous-config-tool-qt/Ttile1.cpp	(working copy)
@@ -0,0 +1,901 @@
+锘#include "Ttile1.h"
+#include <qDebug.h>
+#include <QMenu>
+#include <qtimer.h>
+#include <QMessageBox>
+#include "ParseFlashDatFile.h"
+#include "ui_mouseconfigtool.h"
+#include "ui_advancedConfigurationDlg.h"
+
+
+Ttile1::Ttile1(QWidget* parent)
+	: QMainWindow(parent)
+{
+	ui.setupUi(this);
+    this->setWindowFlags(Qt::CustomizeWindowHint);
+    // this->setWindowFlags(Qt::Dialog | Qt::WindowMinMaxButtonsHint | Qt::WindowCloseButtonHint);
+	actClose = new QAction(QStringLiteral("鍏抽棴(C)"), this);
+	actClose->setIcon(QIcon(QPixmap("guanbi.png")));
+	actClose->setShortcut(QKeySequence::Close);
+
+	actAdvanceConfig = new QAction(QStringLiteral("楂樼骇閰嶇疆"), this);
+	RightButtonMenu = new QMenu(this);
+	this->setContextMenuPolicy(Qt::CustomContextMenu); //娣诲姞鍙抽敭鑿滃崟绛栫暐
+
+	connect(this->ui.groupBox, SIGNAL(customContextMenuRequested(QPoint)), this,
+	        SLOT(on_groupBox_customContextMenuRequested(QPoint)));
+
+	m_MouseConfigTool1 = new MouseConfigTool(this->ui.groupBox_2);
+	m_advancedConfigurationDlg1 = new advancedConfigurationDlg(this);
+
+	connect(this->m_MouseConfigTool1, &MouseConfigTool::customSignal, this, &Ttile1::handleMainConfigSignal);
+    connect(this->m_advancedConfigurationDlg1, &advancedConfigurationDlg::customVoltageSignal, this, &Ttile1::handleVoltageSignal);
+    connect(this->m_advancedConfigurationDlg1, &advancedConfigurationDlg::customSignal, this,&Ttile1::handleAdvanceConfigSignal);
+
+    connect(this->m_advancedConfigurationDlg1, &advancedConfigurationDlg::customSMASignal, this,&Ttile1::handleSMASignal);
+	// 杩炴帴鐖剁獥鍙ｇ殑淇″彿鍒板瓙绐楀彛鐨勬Ы鍑芥暟
+    connect(this, SIGNAL(modifyVoltageSignal(QWidget*, QByteArray, QWidget*)), this->m_advancedConfigurationDlg1, SLOT(modifyVoltageSlot(QWidget*, QByteArray, QWidget* )));
+
+    set_ControlBase();
+//	const Ui::MouseConfigTool* mainUi = m_MouseConfigTool1->getUi();
+//	const Ui::advancedConfigurationDlg* advancedConfigDlgUi = m_advancedConfigurationDlg1->getUi();
+
+//	// 涓荤晫闈㈤厤缃
+//	m_controls.append(new ControlComboBox(mainUi->comboBox_theDefaultMode,
+//	                                      new AddressTable(0x4938, 0, 8, "comboBox_theDefaultMode"),
+//	                                      QList<int>() << 0 << 1));
+//	m_controls.append(new ControlComboBox(mainUi->comboBox_bluetoothBroadcastType,
+//	                                      new AddressTable(0x4bb3, 0, 8, "comboBox_bluetoothBroadcastType"),
+//	                                      QList<int>() << 1 << 2 << 3));
+//	m_controls.append(new ControlComboBox(mainUi->comboBox_maximumNumberOfChannels,
+//	                                      new AddressTable(0x4bb4, 0, 8, "comboBox_maximumNumberOfChannels"),
+//	                                      QList<int>() << 1 << 2 << 3));
+//	m_controls.append(new ControlComboBox(mainUi->comboBox_crystalFrequency,
+//	                                      new AddressTable(0x4bac, 4, 1, "comboBox_crystalFrequency"),
+//	                                      QList<int>() << 1 << 0));
+//	m_controls.append(new ControlCheckBox(mainUi->groupBox_customKeyEnable,
+//	                                      new AddressTable(0x4bad, 5, 1, "groupBox_customKeyEnable")));
+//	m_controls.append(new ControlComboBox(mainUi->comboBox_numberOfDpiGears,
+//	                                      new AddressTable(0x4bae, 4, 1, "comboBox_numberOfDpiGears"),
+//	                                      QList<int>() << 0 << 1));
+//	m_controls.append(new ControlComboBox(mainUi->comboBox_modeSwitch,
+//	                                      new AddressTable(0x4bb0, 0, 3, "comboBox_modeSwitch"),
+//	                                      QList<int>() << 0 << 1 << 2 << 4));
+//	m_controls.append(new ControlCheckBox(mainUi->checkBox_theDpiKeyIsGrounded,
+//	                                      new AddressTable(0x4bb0, 4, 1, "checkBox_theDpiKeyIsGrounded")));
+//	m_controls.append(new ControlCheckBox(mainUi->checkBox_pbKeyGrounding,
+//	                                      new AddressTable(0x4bb0, 5, 1, "checkBox_pbKeyGrounding")));
+//	m_controls.append(new ControlCheckBox(mainUi->checkBox_24gFirst,
+//	                                      new AddressTable(0x4bb0, 7, 1, "checkBox_24gFirst")));
+//	m_controls.append(new ControlCheckBox(mainUi->checkBox_noPairs,
+//	                                      new AddressTable(0x4bb1, 0, 1, "checkBox_noPairs")));
+//	m_controls.append(new ControlCheckBox(mainUi->checkBox_poweronCombinationKeyPairCode,
+//	                                      new AddressTable(0x4bb1, 1, 1, "checkBox_poweronCombinationKeyPairCode")));
+//	m_controls.append(new ControlCheckBox(mainUi->checkBox_backToTheCompanyFailedToBroadcast,
+//	                                      new AddressTable(0x4bb1, 3, 1,
+//	                                                       "checkBox_backToTheCompanyFailedToBroadcast")));
+//	m_controls.append(new ControlCheckBox(mainUi->groupBox_keyCombinationBroadcast,
+//	                                      new AddressTable(0x4bb1, 5, 1, "groupBox_keyCombinationBroadcast")));
+//	m_controls.append(new ControlCheckBox(mainUi->checkBox_longPressDpiToBroadcast,
+//	                                      new AddressTable(0x4bb1, 6, 1, "checkBox_longPressDpiToBroadcast")));
+//	m_controls.append(new ControlCheckBox(mainUi->checkBox_pbKeyLongPressBroadcast,
+//	                                      new AddressTable(0x4bb1, 7, 1, "checkBox_pbKeyLongPressBroadcast")));
+//	m_controls.append(new ControlCheckBox(mainUi->checkBox_theFirstFreeRightCode,
+//	                                      new AddressTable(0x4bb2, 2, 1, "checkBox_theFirstFreeRightCode")));
+//	m_controls.append(new ControlCheckBox(mainUi->groupBox_ledLampEnable,
+//	                                      new AddressTable(0x4c40, 0, 1, "groupBox_ledLampEnable")));
+//	m_controls.append(new ControlCheckBox(mainUi->checkBox_reconnectLampEfficiencyEnable,
+//	                                      new AddressTable(0x4c40, 1, 1, "checkBox_reconnectLampEfficiencyEnable")));
+//	m_controls.append(new ControlCheckBox(mainUi->checkBox_limitTheNumberOfFlickerTimesOfReconnect,
+//	                                      new AddressTable(0x4c40, 2, 1,
+//	                                                       "checkBox_limitTheNumberOfFlickerTimesOfReconnect")));
+//    m_controls.append(new ControlCheckBox(mainUi->checkBox_DpiDoubleEnable,
+//                                          new AddressTable(0x4bb2, 5, 1,
+//                                                           "checkBox_DpiDoubleEnable")));
+//    m_controls.append(new ControlComboBox(mainUi->comboBox_SensorTyoeSelect,
+//                                          new AddressTable(0x4dcf, 1, 8, "comboBox_SensorTyoeSelect"),
+//                                          QList<int>() << 0 << 1 << 2));
+//    //鐏珮/浣庝寒
+//    m_controls.append(new ControlCheckBox(mainUi->checkBox_LogoLedHighlight,
+//                                          new AddressTable(0x4bed, 7, 1, "checkBox_LogoLedHighlight")));
+//    m_controls.append(new ControlCheckBox(mainUi->checkBox_24GLedHighlight,
+//                                         new AddressTable(0x4c55, 7, 1, "checkBox_24GLedHighlight")));
+//    m_controls.append(new ControlCheckBox(mainUi->checkBox_Bt1LedHighlight,
+//                                         new AddressTable(0x4c56, 7, 1, "checkBox_Bt1LedHighlight")));
+//    m_controls.append(new ControlCheckBox(mainUi->checkBox_Bt2LedHighlight,
+//                                         new AddressTable(0x4c57, 7, 1, "checkBox_Bt2LedHighlight")));
+//    m_controls.append(new ControlCheckBox(mainUi->checkBox_DpiLedHighlight,
+//                                          new AddressTable(0x4c59, 7, 1, "checkBox_DpiLedHighlight")));
+
+//    m_controls.append(new ControlCheckBox(mainUi->checkBox_DpiAnothorKey_Conn_Vdd,
+//                                          new AddressTable(0x4c3b, 7, 1, "checkBox_DpiAnothorKey_Conn_Vdd")));
+
+//    m_controls.append(new ControlCheckBox(mainUi->checkBox_FierKey_Conn_Vdd,
+//                                          new AddressTable(0x4c38, 7, 1, "checkBox_FierKey_Conn_Vdd")));
+
+//    m_controls.append(new ControlCheckBox(mainUi->checkBox_customKey_conn_Vdd,
+//                                          new AddressTable(0x4912, 7, 1, "checkBox_customKey_conn_Vdd")));
+
+
+//    /*娣诲姞鍏宠仈鐨剆lot浜嬫儏*/
+//    m_controls.append(new ControlCheckBox(mainUi->checkBox_1io_to_2led_reuse,
+//                                          new AddressTable(0x4c40, 5, 1, "checkBox_1io_to_2led_reuse")));
+//	m_controls.append(new ControlCheckBox(mainUi->checkBox_lowFlickerFrequencyLimit,
+//	                                      new AddressTable(0x4c40, 4, 1, "checkBox_lowFlickerFrequencyLimit")));
+//	m_controls.append(new ControlComboBox(mainUi->comboBox_radioModeKeyCombination,
+//	                                      new AddressTable(0x4bca, 0, 8, "comboBox_radioModeKeyCombination"),
+//	                                      QList<int>() << 3 << 5 << 6 << 7));
+//	m_controls.append(new ControlComboBox(mainUi->comboBox_keyPairCodeCombination,
+//	                                      new AddressTable(0x4bcb, 0, 8, "comboBox_keyPairCodeCombination"),
+//	                                      QList<int>() << 3 << 5 << 6 << 7));
+//	m_controls.append(new ControlEditHex(mainUi->lineEdit_logoLampGpio,
+//	                                     new AddressTable(0x4bed, 0, 8, "lineEdit_logoLampGpio")));
+
+//    m_controls.append(new ControlEditHex(mainUi->lineEdit_24gLight,
+//                                         new AddressTable(0x4c55, 0, 8, "lineEdit_24gLight")));
+
+//    m_controls.append(new ControlEditHex(mainUi->lineEdit_bluetooth1Lamp,
+//                                         new AddressTable(0x4c56, 0, 8, "lineEdit_bluetooth1Lamp")));
+//	m_controls.append(new ControlEditHex(mainUi->lineEdit_bluetooth2Lamp,
+//	                                     new AddressTable(0x4c57, 0, 8, "lineEdit_bluetooth2Lamp")));
+//	m_controls.append(new ControlEditHex(mainUi->lineEdit_dpiLamp, new AddressTable(0x4c59, 0, 8, "lineEdit_dpiLamp")));
+//	m_controls.append(new ControlEditHex(mainUi->lineEdit_b4Key, new AddressTable(0x490d, 0, 8, "lineEdit_b4Key")));
+//	m_controls.append(new ControlEditHex(mainUi->lineEdit_b5Key, new AddressTable(0x490e, 0, 8, "lineEdit_b5Key")));
+//	m_controls.append(new ControlEditHex(mainUi->lineEdit_dpiAddKey,
+//	                                     new AddressTable(0x490f, 0, 8, "lineEdit_dpiAddKey")));
+//	m_controls.append(new ControlEditHex(mainUi->lineEdit_publicFeet,
+//	                                     new AddressTable(0x4910, 0, 8, "lineEdit_publicFeet")));
+//	m_controls.append(new ControlEditHex(mainUi->lineEdit_customKeyGpio,
+//	                                     new AddressTable(0x4912, 0, 8, "lineEdit_customKeyGpio")));
+//	m_controls.append(new ControlEditHex(mainUi->lineEdit_positiveRollerAKey,
+//	                                     new AddressTable(0x4913, 0, 8, "lineEdit_positiveRollerAKey")));
+//	m_controls.append(new ControlEditHex(mainUi->lineEdit_positiveRollerBKey,
+//	                                     new AddressTable(0x4914, 0, 8, "lineEdit_positiveRollerBKey")));
+//	m_controls.append(new ControlEditHex(mainUi->lineEdit_selectGpioForOrientation,
+//	                                     new AddressTable(0x4917, 0, 8, "lineEdit_selectGpioForOrientation")));
+//	m_controls.append(new ControlEditHex(mainUi->lineEdit_leftKey, new AddressTable(0x4918, 0, 8, "lineEdit_leftKey")));
+//	m_controls.append(new ControlEditHex(mainUi->lineEdit_rightKey, new AddressTable(0x4919, 0, 8, "lineEdit_rightKey")));
+//	m_controls.append(new ControlEditHex(mainUi->lineEdit_middleKey,
+//	                                     new AddressTable(0x491a, 0, 8, "lineEdit_middleKey")));
+//	m_controls.append(new ControlEditHex(mainUi->lineEdit_pbKey, new AddressTable(0x491b, 0, 8, "lineEdit_pbKey")));
+//    m_controls.append(new ControlEditHex(mainUi->lineEdit_FireKey, new AddressTable(0x4c38, 0, 8, "lineEdit_FireKey")));
+//	m_controls.append(new ControlEditHex(mainUi->lineEdit_flipTheSwitch,
+//	                                     new AddressTable(0x491e, 0, 8, "lineEdit_flipTheSwitch")));
+//	m_controls.append(new ControlComboBox(mainUi->comboBox_inTheAir,
+//                                          new AddressTable(0x4924, 0, 8, "comboBox_inTheAir"),
+//	                                      QList<int>() << 3 << 0 << 1 << 2 ));
+//	m_controls.append(new ControlComboBox(mainUi->comboBox_theDefaultDpiFile,
+//	                                      new AddressTable(0x4926, 0, 8, "comboBox_theDefaultDpiFile"),
+//	                                      QList<int>() << 0 << 1));
+
+//	m_controls.append(new ControlComboBox(mainUi->comboBox_modeLampReuse,
+//	                                      new AddressTable(0x4c45, 0, 8, "comboBox_modeLampReuse"),
+//	                                      QList<int>() << 0 << 1 << 2 << 3));
+//    m_controls.append(new ControlEditHex(mainUi->lineEdit_DpiAnotherKey,
+//                                         new AddressTable(0x4c3b, 0,8, "lineEdit_DpiAnotherKey")));
+//    m_controls.append(new ControlComboBox(mainUi->comboBox_24GRateReturn,
+//                                          new AddressTable(0x4bae, 0, 1, "comboBox_24GRateReturn"),
+//                                          QList<int>() << 0 << 1));
+//    m_controls.append(new ControlCheckBox(mainUi->groupBox_24GSearchDongleEnable,
+//                                          new AddressTable(0x4bad, 6, 1, "groupBox_24GSearchDongleEnable")));
+//    m_controls.append(new ControlEditInt(mainUi->lineEdit_24GSearchTimer,
+//                                         new AddressTable(0x4bbc, 0, 16, "lineEdit_24GSearchTimer"), 10, 2));
+//	// 楂樼骇閰嶇疆
+//    m_controls.append(new ControlComboBox(advancedConfigDlgUi->comboBox_adcSamplingMode_3,
+//                                          new AddressTable(0x48fd, 0, 8, "comboBox_adcSamplingMode_3"),
+//                                          QList<int>() << 2 << 1));
+//    m_controls.append(new ControlCheckBox(advancedConfigDlgUi->groupBox_lowPowerEnable_2,
+//                                          new AddressTable(0x4bad, 4, 1, "groupBox_lowPowerEnable_2")));
+//    m_controls.append(new ControlCheckBox(advancedConfigDlgUi->groupBox_lowLightEnable_3,
+//                                          new AddressTable(0x4c40, 3, 1, "groupBox_lowLightEnable_3")));
+//    m_controls.append(new ControlEditHex(advancedConfigDlgUi->lineEdit_lowLightGpio_3,
+//                                         new AddressTable(0x4c58, 0, 8, "lineEdit_lowLightGpio_3")));
+
+
+
+
+//    m_controls.append(new ControlComboBox(advancedConfigDlgUi->comboBox_DpiSelectCombination,
+//                                          new AddressTable(0x4d98, 0, 8, "comboBox_DpiSelectCombination"),
+//                                          QList<int>() << 0xff << 3 << 5 << 6 << 7 )); //dpi缁勫悎閿
+//    m_controls.append(new ControlComboBox(advancedConfigDlgUi->comboBox_LogoLedControlCombination,
+//                                          new AddressTable(0x4da3,0, 8, "comboBox_LogoLedControlCombination"),
+//                                          QList<int>() << 0xff << 3 << 5 << 6 << 7 )); //Logo鐏粍鍚堥敭
+//    m_controls.append(new ControlComboBox(advancedConfigDlgUi->comboBox_ModeSelectCombination,
+//                                          new AddressTable(0x4da3, 1, 8, "comboBox_ModeSelectCombination"),
+//                                          QList<int>() << 0xff << 3 << 5 << 6 << 7 )); //妯″紡鍒囨崲缁勫悎閿
+
+//    m_controls.append(new ControlComboBox(advancedConfigDlgUi->comboBox_Logo_led_reuse,
+//                                          new AddressTable(0x4dcf, 0, 8, "comboBox_Logo_led_reuse"),
+//                                          QList<int>() << 0 << 1 << 2 << 3)); //Logo鐏鐢ㄧ被鍨
+//    m_controls.append(new ControlComboBox(advancedConfigDlgUi->comboBox_Logo_led_control,
+//                                          new AddressTable(0x4da2, 1, 2, "comboBox_Logo_led_control"),
+//                                          QList<int>() << 0 << 1 << 2)); //Logo鐏帶鍒剁被鍨
+//	m_controls.append(new ControlCheckBox(advancedConfigDlgUi->checkBox_smoothAlgorithm,
+//                                          new AddressTable(0x4bb2, 0, 2, "checkBox_smoothAlgorithm")));
+
+//    // m_controls.append(new ControlCheckBox(advancedConfigDlgUi->checkBox_smoothAlgorithm,
+//    //                                       new AddressTable(0x4bb2, 1, 1, "checkBox_smoothAlgorithm")));
+
+//	m_controls.append(new ControlCheckBox(advancedConfigDlgUi->checkBox_cancelTheBatteryReport,
+//                                          new AddressTable(0x4bb2, 3, 1, "checkBox_cancelTheBatteryReport")));
+//    m_controls.append(new ControlCheckBox(advancedConfigDlgUi->checkBox_BtNameEnable, //钃濈墮鍚嶅瓧浣胯兘
+//                                          new AddressTable(0x4da6, 0, 8, "checkBox_BtNameEnable")));
+//    m_controls.append(new ControlCheckBox(advancedConfigDlgUi->checkBox_LogoLedMemory, //Logo鐏蹇嗕娇鑳
+//                                          new AddressTable(0x4da2, 0, 1, "checkBox_LogoLedMemory")));
+//	m_controls.append(new ControlEditHex(advancedConfigDlgUi->lineEdit_clockGpio,
+//	                                     new AddressTable(0x491f, 0, 8, "lineEdit_clockGpio")));
+//	m_controls.append(new ControlEditHex(advancedConfigDlgUi->lineEdit_sdioGpio,
+//	                                     new AddressTable(0x4920, 0, 8, "lineEdit_sdioGpio")));
+//	m_controls.append(new ControlComboBox(mainUi->comboBox_directionOfGrounding,
+//                                          new AddressTable(0x4925, 0, 8, "comboBox_directionOfGrounding"),
+//	                                      QList<int>() << 3 << 0 << 1 << 2));
+//	m_controls.append(new ControlComboBox(mainUi->comboBox_customButtonFunction,
+//	                                      new AddressTable(0x4bcc, 0, 144, "comboBox_customButtonFunction"),
+//	                                      QList<QString>() << "03ea00000000000000030000000000000000" <<
+//	                                      "020100000000000000020000000000000000" <<
+//	                                      "000500040000000000000000000000000000" <<
+//	                                      "000800070000000000000000000000000000"));
+//	m_controls.append(new ControlEditInt(advancedConfigDlgUi->lineEdit_bluetoothBroadcastTime,
+//	                                     new AddressTable(0x48fe, 0, 16, "lineEdit_bluetoothBroadcastTime"), 10, 2));
+//	m_controls.append(new ControlEditInt(advancedConfigDlgUi->lineEdit_24gCodetocodeTime,
+//	                                     new AddressTable(0x4900, 0, 16, "lineEdit_24gCodetocodeTime"), 10, 2));
+//	m_controls.append(new ControlEditInt(advancedConfigDlgUi->lineEdit_bluetoothBackTime,
+//	                                     new AddressTable(0x4902, 0, 8, "lineEdit_bluetoothBackTime"), 10));
+//	m_controls.append(new ControlEditInt(advancedConfigDlgUi->lineEdit_24gCallBackTime,
+//	                                     new AddressTable(0x4903, 0, 8, "lineEdit_24gCallBackTime"), 10));
+//	m_controls.append(new ControlEditInt(advancedConfigDlgUi->lineEdit_24gFastConnectTime,
+//	                                     new AddressTable(0x4bba, 0, 16, "lineEdit_24gFastConnectTime"), 1, 2));
+
+//	m_controls.append(new ControlEditInt(advancedConfigDlgUi->lineEdit_sleepTime,
+//	                                     new AddressTable(0x4bbe, 0, 16, "lineEdit_sleepTime"), 10, 2));
+//	m_controls.append(new ControlEditInt(advancedConfigDlgUi->lineEdit_dpiLampDelayFlicker,
+//	                                     new AddressTable(0x4bc1, 0, 8, "lineEdit_dpiLampDelayFlicker")));
+//	m_controls.append(new ControlEditInt(advancedConfigDlgUi->lineEdit_theModeLightUsuallyTurnsOnTime,
+//	                                     new AddressTable(0x4c46, 0, 8, "lineEdit_theModeLightUsuallyTurnsOnTime"),
+//	                                     10));
+//	m_controls.append(new ControlEditInt(advancedConfigDlgUi->lineEdit_24GFlickerFrequency,
+//	                                     new AddressTable(0x4c48, 0, 8, "lineEdit_24GFlickerFrequency")));
+//	m_controls.append(new ControlEditInt(advancedConfigDlgUi->lineEdit_bluetoothBroadcastFlickerFrequency,
+//	                                     new AddressTable(0x4c49, 0, 8,
+//	                                                      "lineEdit_bluetoothBroadcastFlickerFrequency")));
+//	m_controls.append(new ControlEditInt(advancedConfigDlgUi->lineEdit_bluetoothLinkBackToFlickerFrequency,
+//	                                     new AddressTable(0x4c4a, 0, 8,
+//	                                                      "lineEdit_bluetoothLinkBackToFlickerFrequency")));
+//	m_controls.append(new ControlEditInt(advancedConfigDlgUi->lineEdit_dpiFlickerFrequency,
+//	                                     new AddressTable(0x4c4b, 0, 8, "lineEdit_dpiFlickerFrequency")));
+//	m_controls.append(new ControlEditInt(advancedConfigDlgUi->lineEdit_lowLampFlickerFrequency,
+//	                                     new AddressTable(0x4c4d, 0, 8, "lineEdit_lowLampFlickerFrequency")));
+//	m_controls.append(new ControlEditInt(advancedConfigDlgUi->lineEdit_24GFlickerTimes,
+//	                                     new AddressTable(0x4c50, 0, 8, "lineEdit_24GFlickerTimes")));
+//	m_controls.append(new ControlEditInt(advancedConfigDlgUi->lineEdit_theNumberOfTimesTheBluetoothConnectionFlashes,
+//	                                     new AddressTable(0x4c51, 0, 8,
+//	                                                      "lineEdit_theNumberOfTimesTheBluetoothConnectionFlashes")));
+//	m_controls.append(new ControlEditInt(advancedConfigDlgUi->lineEdit_lowLampFlickerTimes,
+//	                                     new AddressTable(0x4c53, 0, 8, "lineEdit_lowLampFlickerTimes")));
+
+//	m_controls.append(new ControlEditHex(advancedConfigDlgUi->lineEdit_frequencyOffsetParameter,
+//	                                     new AddressTable(0x417b, 0, 8, "lineEdit_frequencyOffsetParameter")));
+
+//    //Buletooth Name
+//    m_controls.append(new ControlEditAscii(advancedConfigDlgUi->lineEdit_Ble1Name,
+//                                           new AddressTable(0x4c1e, 0, 160, "lineEdit_Ble1Name", true)));
+//    m_controls.append(new ControlEditAscii(advancedConfigDlgUi->lineEdit_Ble2Name,
+//                                           new AddressTable(0x4da6, 1, 160, "lineEdit_Ble2Name", true)));
+//    m_controls.append(new ControlEditAscii(advancedConfigDlgUi->lineEdit_Bt1Name,
+//                                           new AddressTable(0x45fc, 0, 160, "lineEdit_Bt1Name", true)));
+//    m_controls.append(new ControlEditAscii(advancedConfigDlgUi->lineEdit_Bt2Name,
+//                                           new AddressTable(0x4dbb, 0, 160, "lineEdit_Bt2Name", true)));
+
+
+//    //楂樼骇鐣岄潰鐢靛帇
+//    m_controls.append(new ControlEditDouble(advancedConfigDlgUi->lineEdit_fullVoltage_3,
+//                                            new AddressTable(0x48e3, 0, 16, "lineEdit_fullVoltage_3"),
+//                                            "comboBox_adcSamplingMode_3", false));
+//    m_controls.append(new ControlEditDouble(advancedConfigDlgUi->lineEdit_shutdownVoltage_3,
+//                                            new AddressTable(0x48e5, 0, 16, "lineEdit_shutdownVoltage_3"),
+//                                            "comboBox_adcSamplingMode_3", false));
+//    m_controls.append(new ControlEditDouble(advancedConfigDlgUi->lineEdit_lowVoltage_3,
+//                                            new AddressTable(0x48e7, 0, 16, "lineEdit_lowVoltage_3"),
+//                                            "comboBox_adcSamplingMode_3", false));
+//    m_controls.append(new ControlComboBox(advancedConfigDlgUi->comboBox_adcChannel_3,
+//                                          new AddressTable(0x44a1, 0, 8, "comboBox_adcChannel_3"),
+//                                          QList<int>() << 0 << 1 << 2 << 3 << 4 << 5 << 6 << 7));
+
+
+//    ui.label_2->setText(QStringLiteral("榧犳爣閰嶇疆宸ュ叿 v1.1.0"));
+}
+
+Ttile1::~Ttile1()
+{
+}
+
+int count = 0;
+
+void Ttile1::set_ControlBase(void)
+{
+    const Ui::MouseConfigTool* mainUi = m_MouseConfigTool1->getUi();
+    const Ui::advancedConfigurationDlg* advancedConfigDlgUi = m_advancedConfigurationDlg1->getUi();
+    // 涓荤晫闈㈤厤缃
+    m_controls.clear();
+    m_controls.append(new ControlComboBox(mainUi->comboBox_theDefaultMode,
+                                          new AddressTable(0x4938, 0, 8, "comboBox_theDefaultMode"),
+                                          QList<int>() << 0 << 1));
+    m_controls.append(new ControlComboBox(mainUi->comboBox_bluetoothBroadcastType,
+                                          new AddressTable(0x4bb3, 0, 8, "comboBox_bluetoothBroadcastType"),
+                                          QList<int>() << 1 << 2 << 3));
+    m_controls.append(new ControlComboBox(mainUi->comboBox_maximumNumberOfChannels,
+                                          new AddressTable(0x4bb4, 0, 8, "comboBox_maximumNumberOfChannels"),
+                                          QList<int>() << 1 << 2 << 3));
+    m_controls.append(new ControlComboBox(mainUi->comboBox_crystalFrequency,
+                                          new AddressTable(0x4bac, 4, 1, "comboBox_crystalFrequency"),
+                                          QList<int>() << 1 << 0));
+    m_controls.append(new ControlCheckBox(mainUi->groupBox_customKeyEnable,
+                                          new AddressTable(0x4bad, 5, 1, "groupBox_customKeyEnable")));
+    m_controls.append(new ControlComboBox(mainUi->comboBox_numberOfDpiGears,
+                                          new AddressTable(0x4bae, 4, 1, "comboBox_numberOfDpiGears"),
+                                          QList<int>() << 0 << 1));
+    m_controls.append(new ControlComboBox(mainUi->comboBox_modeSwitch,
+                                          new AddressTable(0x4bb0, 0, 3, "comboBox_modeSwitch"),
+                                          QList<int>() << 0 << 1 << 2 << 4));
+    m_controls.append(new ControlCheckBox(mainUi->checkBox_theDpiKeyIsGrounded,
+                                          new AddressTable(0x4bb0, 4, 1, "checkBox_theDpiKeyIsGrounded")));
+    m_controls.append(new ControlCheckBox(mainUi->checkBox_pbKeyGrounding,
+                                          new AddressTable(0x4bb0, 5, 1, "checkBox_pbKeyGrounding")));
+    m_controls.append(new ControlCheckBox(mainUi->checkBox_24gFirst,
+                                          new AddressTable(0x4bb0, 7, 1, "checkBox_24gFirst")));
+    m_controls.append(new ControlCheckBox(mainUi->checkBox_noPairs,
+                                          new AddressTable(0x4bb1, 0, 1, "checkBox_noPairs")));
+    m_controls.append(new ControlCheckBox(mainUi->checkBox_poweronCombinationKeyPairCode,
+                                          new AddressTable(0x4bb1, 1, 1, "checkBox_poweronCombinationKeyPairCode")));
+    m_controls.append(new ControlCheckBox(mainUi->checkBox_backToTheCompanyFailedToBroadcast,
+                                          new AddressTable(0x4bb1, 3, 1,
+                                                           "checkBox_backToTheCompanyFailedToBroadcast")));
+    m_controls.append(new ControlCheckBox(mainUi->groupBox_keyCombinationBroadcast,
+                                          new AddressTable(0x4bb1, 5, 1, "groupBox_keyCombinationBroadcast")));
+    m_controls.append(new ControlCheckBox(mainUi->checkBox_longPressDpiToBroadcast,
+                                          new AddressTable(0x4bb1, 6, 1, "checkBox_longPressDpiToBroadcast")));
+    m_controls.append(new ControlCheckBox(mainUi->checkBox_pbKeyLongPressBroadcast,
+                                          new AddressTable(0x4bb1, 7, 1, "checkBox_pbKeyLongPressBroadcast")));
+    m_controls.append(new ControlCheckBox(mainUi->checkBox_theFirstFreeRightCode,
+                                          new AddressTable(0x4bb2, 2, 1, "checkBox_theFirstFreeRightCode")));
+    m_controls.append(new ControlCheckBox(mainUi->groupBox_ledLampEnable,
+                                          new AddressTable(0x4c40, 0, 1, "groupBox_ledLampEnable")));
+    m_controls.append(new ControlCheckBox(mainUi->checkBox_reconnectLampEfficiencyEnable,
+                                          new AddressTable(0x4c40, 1, 1, "checkBox_reconnectLampEfficiencyEnable")));
+    m_controls.append(new ControlCheckBox(mainUi->checkBox_limitTheNumberOfFlickerTimesOfReconnect,
+                                          new AddressTable(0x4c40, 2, 1,
+                                                           "checkBox_limitTheNumberOfFlickerTimesOfReconnect")));
+    m_controls.append(new ControlCheckBox(mainUi->checkBox_DpiDoubleEnable,
+                                          new AddressTable(0x4bb2, 5, 1,
+                                                           "checkBox_DpiDoubleEnable")));
+    m_controls.append(new ControlComboBox(mainUi->comboBox_SensorTyoeSelect,
+                                          new AddressTable(0x4dcf, 1, 8, "comboBox_SensorTyoeSelect"),
+                                          QList<int>() << 0 << 1 << 2));
+    //鐏珮/浣庝寒
+    m_controls.append(new ControlCheckBox(mainUi->checkBox_LogoLedHighlight,
+                                          new AddressTable(0x4bed, 7, 1, "checkBox_LogoLedHighlight")));
+    m_controls.append(new ControlCheckBox(mainUi->checkBox_24GLedHighlight,
+                                          new AddressTable(0x4c55, 7, 1, "checkBox_24GLedHighlight")));
+    m_controls.append(new ControlCheckBox(mainUi->checkBox_Bt1LedHighlight,
+                                          new AddressTable(0x4c56, 7, 1, "checkBox_Bt1LedHighlight")));
+    m_controls.append(new ControlCheckBox(mainUi->checkBox_Bt2LedHighlight,
+                                          new AddressTable(0x4c57, 7, 1, "checkBox_Bt2LedHighlight")));
+    m_controls.append(new ControlCheckBox(mainUi->checkBox_DpiLedHighlight,
+                                          new AddressTable(0x4c59, 7, 1, "checkBox_DpiLedHighlight")));
+
+    m_controls.append(new ControlCheckBox(mainUi->checkBox_DpiAnothorKey_Conn_Vdd,
+                                          new AddressTable(0x4c3b, 7, 1, "checkBox_DpiAnothorKey_Conn_Vdd")));
+
+    m_controls.append(new ControlCheckBox(mainUi->checkBox_FierKey_Conn_Vdd,
+                                          new AddressTable(0x4c38, 7, 1, "checkBox_FierKey_Conn_Vdd")));
+
+    m_controls.append(new ControlCheckBox(mainUi->checkBox_customKey_conn_Vdd,
+                                          new AddressTable(0x4912, 7, 1, "checkBox_customKey_conn_Vdd")));
+
+
+    /*娣诲姞鍏宠仈鐨剆lot浜嬫儏*/
+    m_controls.append(new ControlCheckBox(mainUi->checkBox_1io_to_2led_reuse,
+                                          new AddressTable(0x4c40, 5, 1, "checkBox_1io_to_2led_reuse")));
+    m_controls.append(new ControlCheckBox(mainUi->checkBox_lowFlickerFrequencyLimit,
+                                          new AddressTable(0x4c40, 4, 1, "checkBox_lowFlickerFrequencyLimit")));
+    m_controls.append(new ControlComboBox(mainUi->comboBox_radioModeKeyCombination,
+                                          new AddressTable(0x4bca, 0, 8, "comboBox_radioModeKeyCombination"),
+                                          QList<int>() << 3 << 5 << 6 << 7));
+    m_controls.append(new ControlComboBox(mainUi->comboBox_keyPairCodeCombination,
+                                          new AddressTable(0x4bcb, 0, 8, "comboBox_keyPairCodeCombination"),
+                                          QList<int>() << 3 << 5 << 6 << 7));
+    m_controls.append(new ControlEditHex(mainUi->lineEdit_logoLampGpio,
+                                         new AddressTable(0x4bed, 0, 8, "lineEdit_logoLampGpio")));
+
+    m_controls.append(new ControlEditHex(mainUi->lineEdit_24gLight,
+                                         new AddressTable(0x4c55, 0, 8, "lineEdit_24gLight")));
+
+    m_controls.append(new ControlEditHex(mainUi->lineEdit_bluetooth1Lamp,
+                                         new AddressTable(0x4c56, 0, 8, "lineEdit_bluetooth1Lamp")));
+    m_controls.append(new ControlEditHex(mainUi->lineEdit_bluetooth2Lamp,
+                                         new AddressTable(0x4c57, 0, 8, "lineEdit_bluetooth2Lamp")));
+    m_controls.append(new ControlEditHex(mainUi->lineEdit_dpiLamp, new AddressTable(0x4c59, 0, 8, "lineEdit_dpiLamp")));
+    m_controls.append(new ControlEditHex(mainUi->lineEdit_b4Key, new AddressTable(0x490d, 0, 8, "lineEdit_b4Key")));
+    m_controls.append(new ControlEditHex(mainUi->lineEdit_b5Key, new AddressTable(0x490e, 0, 8, "lineEdit_b5Key")));
+    m_controls.append(new ControlEditHex(mainUi->lineEdit_dpiAddKey,
+                                         new AddressTable(0x490f, 0, 8, "lineEdit_dpiAddKey")));
+    m_controls.append(new ControlEditHex(mainUi->lineEdit_publicFeet,
+                                         new AddressTable(0x4910, 0, 8, "lineEdit_publicFeet")));
+    m_controls.append(new ControlEditHex(mainUi->lineEdit_customKeyGpio,
+                                         new AddressTable(0x4912, 0, 8, "lineEdit_customKeyGpio")));
+    m_controls.append(new ControlEditHex(mainUi->lineEdit_positiveRollerAKey,
+                                         new AddressTable(0x4913, 0, 8, "lineEdit_positiveRollerAKey")));
+    m_controls.append(new ControlEditHex(mainUi->lineEdit_positiveRollerBKey,
+                                         new AddressTable(0x4914, 0, 8, "lineEdit_positiveRollerBKey")));
+    m_controls.append(new ControlEditHex(mainUi->lineEdit_selectGpioForOrientation,
+                                         new AddressTable(0x4917, 0, 8, "lineEdit_selectGpioForOrientation")));
+    m_controls.append(new ControlEditHex(mainUi->lineEdit_leftKey, new AddressTable(0x4918, 0, 8, "lineEdit_leftKey")));
+    m_controls.append(new ControlEditHex(mainUi->lineEdit_rightKey, new AddressTable(0x4919, 0, 8, "lineEdit_rightKey")));
+    m_controls.append(new ControlEditHex(mainUi->lineEdit_middleKey,
+                                         new AddressTable(0x491a, 0, 8, "lineEdit_middleKey")));
+    m_controls.append(new ControlEditHex(mainUi->lineEdit_pbKey, new AddressTable(0x491b, 0, 8, "lineEdit_pbKey")));
+    m_controls.append(new ControlEditHex(mainUi->lineEdit_FireKey, new AddressTable(0x4c38, 0, 8, "lineEdit_FireKey")));
+    m_controls.append(new ControlEditHex(mainUi->lineEdit_flipTheSwitch,
+                                         new AddressTable(0x491e, 0, 8, "lineEdit_flipTheSwitch")));
+    m_controls.append(new ControlComboBox(mainUi->comboBox_inTheAir,
+                                          new AddressTable(0x4924, 0, 8, "comboBox_inTheAir"),
+                                          QList<int>() << 3 << 0 << 1 << 2 ));
+    m_controls.append(new ControlComboBox(mainUi->comboBox_theDefaultDpiFile,
+                                          new AddressTable(0x4926, 0, 8, "comboBox_theDefaultDpiFile"),
+                                          QList<int>() << 0 << 1));
+
+    m_controls.append(new ControlComboBox(mainUi->comboBox_modeLampReuse,
+                                          new AddressTable(0x4c45, 0, 8, "comboBox_modeLampReuse"),
+                                          QList<int>() << 0 << 1 << 2 << 3));
+    m_controls.append(new ControlEditHex(mainUi->lineEdit_DpiAnotherKey,
+                                         new AddressTable(0x4c3b, 0,8, "lineEdit_DpiAnotherKey")));
+    m_controls.append(new ControlComboBox(mainUi->comboBox_24GRateReturn,
+                                          new AddressTable(0x4bae, 0, 1, "comboBox_24GRateReturn"),
+                                          QList<int>() << 0 << 1));
+    m_controls.append(new ControlCheckBox(mainUi->groupBox_24GSearchDongleEnable,
+                                          new AddressTable(0x4bad, 6, 1, "groupBox_24GSearchDongleEnable")));
+    m_controls.append(new ControlEditInt(mainUi->lineEdit_24GSearchTimer,
+                                         new AddressTable(0x4bbc, 0, 16, "lineEdit_24GSearchTimer"), 10, 2));
+    // 楂樼骇閰嶇疆
+    m_controls.append(new ControlComboBox(advancedConfigDlgUi->comboBox_adcSamplingMode_3,
+                                          new AddressTable(0x48fd, 0, 8, "comboBox_adcSamplingMode_3"),
+                                          QList<int>() << 2 << 1));
+    m_controls.append(new ControlCheckBox(advancedConfigDlgUi->groupBox_lowPowerEnable_2,
+                                          new AddressTable(0x4bad, 4, 1, "groupBox_lowPowerEnable_2")));
+    m_controls.append(new ControlCheckBox(advancedConfigDlgUi->groupBox_lowLightEnable_3,
+                                          new AddressTable(0x4c40, 3, 1, "groupBox_lowLightEnable_3")));
+    m_controls.append(new ControlEditHex(advancedConfigDlgUi->lineEdit_lowLightGpio_3,
+                                         new AddressTable(0x4c58, 0, 8, "lineEdit_lowLightGpio_3")));
+
+
+
+
+    m_controls.append(new ControlComboBox(advancedConfigDlgUi->comboBox_DpiSelectCombination,
+                                          new AddressTable(0x4d98, 0, 8, "comboBox_DpiSelectCombination"),
+                                          QList<int>() << 0xff << 3 << 5 << 6 << 7 )); //dpi缁勫悎閿
+    m_controls.append(new ControlComboBox(advancedConfigDlgUi->comboBox_LogoLedControlCombination,
+                                          new AddressTable(0x4da3,0, 8, "comboBox_LogoLedControlCombination"),
+                                          QList<int>() << 0xff << 3 << 5 << 6 << 7 )); //Logo鐏粍鍚堥敭
+    m_controls.append(new ControlComboBox(advancedConfigDlgUi->comboBox_ModeSelectCombination,
+                                          new AddressTable(0x4da3, 1, 8, "comboBox_ModeSelectCombination"),
+                                          QList<int>() << 0xff << 3 << 5 << 6 << 7 )); //妯″紡鍒囨崲缁勫悎閿
+
+    m_controls.append(new ControlComboBox(advancedConfigDlgUi->comboBox_Logo_led_reuse,
+                                          new AddressTable(0x4dcf, 0, 8, "comboBox_Logo_led_reuse"),
+                                          QList<int>() << 0 << 1 << 2 << 3)); //Logo鐏鐢ㄧ被鍨
+    m_controls.append(new ControlComboBox(advancedConfigDlgUi->comboBox_Logo_led_control,
+                                          new AddressTable(0x4da2, 1, 2, "comboBox_Logo_led_control"),
+                                          QList<int>() << 0 << 1 << 2)); //Logo鐏帶鍒剁被鍨
+    m_controls.append(new ControlCheckBox(advancedConfigDlgUi->checkBox_smoothAlgorithm,
+                                          new AddressTable(0x4bb2, 0, 2, "checkBox_smoothAlgorithm")));
+
+    // m_controls.append(new ControlCheckBox(advancedConfigDlgUi->checkBox_smoothAlgorithm,
+    //                                       new AddressTable(0x4bb2, 1, 1, "checkBox_smoothAlgorithm")));
+
+    m_controls.append(new ControlCheckBox(advancedConfigDlgUi->checkBox_cancelTheBatteryReport,
+                                          new AddressTable(0x4bb2, 3, 1, "checkBox_cancelTheBatteryReport")));
+    m_controls.append(new ControlCheckBox(advancedConfigDlgUi->checkBox_BtNameEnable, //钃濈墮鍚嶅瓧浣胯兘
+                                          new AddressTable(0x4da6, 0, 8, "checkBox_BtNameEnable")));
+    m_controls.append(new ControlCheckBox(advancedConfigDlgUi->checkBox_LogoLedMemory, //Logo鐏蹇嗕娇鑳
+                                          new AddressTable(0x4da2, 0, 1, "checkBox_LogoLedMemory")));
+    m_controls.append(new ControlEditHex(advancedConfigDlgUi->lineEdit_clockGpio,
+                                         new AddressTable(0x491f, 0, 8, "lineEdit_clockGpio")));
+    m_controls.append(new ControlEditHex(advancedConfigDlgUi->lineEdit_sdioGpio,
+                                         new AddressTable(0x4920, 0, 8, "lineEdit_sdioGpio")));
+    m_controls.append(new ControlComboBox(mainUi->comboBox_directionOfGrounding,
+                                          new AddressTable(0x4925, 0, 8, "comboBox_directionOfGrounding"),
+                                          QList<int>() << 3 << 0 << 1 << 2));
+    m_controls.append(new ControlComboBox(mainUi->comboBox_customButtonFunction,
+                                          new AddressTable(0x4bcc, 0, 144, "comboBox_customButtonFunction"),
+                                          QList<QString>() << "03ea00000000000000030000000000000000" <<
+                                              "020100000000000000020000000000000000" <<
+                                              "000500040000000000000000000000000000" <<
+                                              "000800070000000000000000000000000000"));
+    m_controls.append(new ControlEditInt(advancedConfigDlgUi->lineEdit_bluetoothBroadcastTime,
+                                         new AddressTable(0x48fe, 0, 16, "lineEdit_bluetoothBroadcastTime"), 10, 2));
+    m_controls.append(new ControlEditInt(advancedConfigDlgUi->lineEdit_24gCodetocodeTime,
+                                         new AddressTable(0x4900, 0, 16, "lineEdit_24gCodetocodeTime"), 10, 2));
+    m_controls.append(new ControlEditInt(advancedConfigDlgUi->lineEdit_bluetoothBackTime,
+                                         new AddressTable(0x4902, 0, 8, "lineEdit_bluetoothBackTime"), 10));
+    m_controls.append(new ControlEditInt(advancedConfigDlgUi->lineEdit_24gCallBackTime,
+                                         new AddressTable(0x4903, 0, 8, "lineEdit_24gCallBackTime"), 10));
+    m_controls.append(new ControlEditInt(advancedConfigDlgUi->lineEdit_24gFastConnectTime,
+                                         new AddressTable(0x4bba, 0, 16, "lineEdit_24gFastConnectTime"), 1, 2));
+
+    m_controls.append(new ControlEditInt(advancedConfigDlgUi->lineEdit_sleepTime,
+                                         new AddressTable(0x4bbe, 0, 16, "lineEdit_sleepTime"), 10, 2));
+    m_controls.append(new ControlEditInt(advancedConfigDlgUi->lineEdit_dpiLampDelayFlicker,
+                                         new AddressTable(0x4bc1, 0, 8, "lineEdit_dpiLampDelayFlicker")));
+    m_controls.append(new ControlEditInt(advancedConfigDlgUi->lineEdit_theModeLightUsuallyTurnsOnTime,
+                                         new AddressTable(0x4c46, 0, 8, "lineEdit_theModeLightUsuallyTurnsOnTime"),
+                                         10));
+    m_controls.append(new ControlEditInt(advancedConfigDlgUi->lineEdit_24GFlickerFrequency,
+                                         new AddressTable(0x4c48, 0, 8, "lineEdit_24GFlickerFrequency")));
+    m_controls.append(new ControlEditInt(advancedConfigDlgUi->lineEdit_bluetoothBroadcastFlickerFrequency,
+                                         new AddressTable(0x4c49, 0, 8,
+                                                          "lineEdit_bluetoothBroadcastFlickerFrequency")));
+    m_controls.append(new ControlEditInt(advancedConfigDlgUi->lineEdit_bluetoothLinkBackToFlickerFrequency,
+                                         new AddressTable(0x4c4a, 0, 8,
+                                                          "lineEdit_bluetoothLinkBackToFlickerFrequency")));
+    m_controls.append(new ControlEditInt(advancedConfigDlgUi->lineEdit_dpiFlickerFrequency,
+                                         new AddressTable(0x4c4b, 0, 8, "lineEdit_dpiFlickerFrequency")));
+    m_controls.append(new ControlEditInt(advancedConfigDlgUi->lineEdit_lowLampFlickerFrequency,
+                                         new AddressTable(0x4c4d, 0, 8, "lineEdit_lowLampFlickerFrequency")));
+    m_controls.append(new ControlEditInt(advancedConfigDlgUi->lineEdit_24GFlickerTimes,
+                                         new AddressTable(0x4c50, 0, 8, "lineEdit_24GFlickerTimes")));
+    m_controls.append(new ControlEditInt(advancedConfigDlgUi->lineEdit_theNumberOfTimesTheBluetoothConnectionFlashes,
+                                         new AddressTable(0x4c51, 0, 8,
+                                                          "lineEdit_theNumberOfTimesTheBluetoothConnectionFlashes")));
+    m_controls.append(new ControlEditInt(advancedConfigDlgUi->lineEdit_lowLampFlickerTimes,
+                                         new AddressTable(0x4c53, 0, 8, "lineEdit_lowLampFlickerTimes")));
+
+    m_controls.append(new ControlEditHex(advancedConfigDlgUi->lineEdit_frequencyOffsetParameter,
+                                         new AddressTable(0x417b, 0, 8, "lineEdit_frequencyOffsetParameter")));
+
+    //Buletooth Name
+    m_controls.append(new ControlEditAscii(advancedConfigDlgUi->lineEdit_Ble1Name,
+                                           new AddressTable(0x4c1e, 0, 160, "lineEdit_Ble1Name", true)));
+    m_controls.append(new ControlEditAscii(advancedConfigDlgUi->lineEdit_Bt1Name,
+                                           new AddressTable(0x45fc, 0, 160, "lineEdit_Bt1Name", true)));
+    m_controls.append(new ControlEditAscii(advancedConfigDlgUi->lineEdit_Ble2Name,
+                                           new AddressTable(0x4da7, 0, 160, "lineEdit_Ble2Name", true)));
+    m_controls.append(new ControlEditAscii(advancedConfigDlgUi->lineEdit_Bt2Name,
+                                           new AddressTable(0x4dbb, 0, 160, "lineEdit_Bt2Name", true)));
+
+
+    //楂樼骇鐣岄潰鐢靛帇
+    m_controls.append(new ControlEditDouble(advancedConfigDlgUi->lineEdit_fullVoltage_3,
+                                            new AddressTable(0x48e3, 0, 16, "lineEdit_fullVoltage_3"),
+                                            "comboBox_adcSamplingMode_3", false));
+    m_controls.append(new ControlEditDouble(advancedConfigDlgUi->lineEdit_shutdownVoltage_3,
+                                            new AddressTable(0x48e5, 0, 16, "lineEdit_shutdownVoltage_3"),
+                                            "comboBox_adcSamplingMode_3", false));
+    m_controls.append(new ControlEditDouble(advancedConfigDlgUi->lineEdit_lowVoltage_3,
+                                            new AddressTable(0x48e7, 0, 16, "lineEdit_lowVoltage_3"),
+                                            "comboBox_adcSamplingMode_3", false));
+    m_controls.append(new ControlComboBox(advancedConfigDlgUi->comboBox_adcChannel_3,
+                                          new AddressTable(0x44a1, 0, 8, "comboBox_adcChannel_3"),
+                                          QList<int>() << 0 << 1 << 2 << 3 << 4 << 5 << 6 << 7));
+}
+
+void Ttile1::on_groupBox_customContextMenuRequested(const QPoint& pos)
+{
+	Q_UNUSED(pos);
+	if (!contextMenuDisplayed && count % 2 == 0)
+	{
+		contextMenuDisplayed = true;
+		// RightButtonMenu->clear();
+		RightButtonMenu->addAction(actClose);
+		RightButtonMenu->addSeparator(); //鍒嗗壊绾
+		RightButtonMenu->addAction(actAdvanceConfig);
+		const QAction* selectedAction = RightButtonMenu->exec(QCursor::pos());
+		// 鍦ㄤ竴娈垫椂闂村悗閲嶇疆鏍囧織浣
+		QTimer::singleShot(100, this, [=]()
+		{
+			contextMenuDisplayed = false;
+		});
+		if (selectedAction)
+		{
+			// 鐢ㄦ埛閫夋嫨浜嗕竴涓彍鍗曢」
+			// 鍦ㄨ繖閲屽鐞嗘墍閫夎彍鍗曢」鐨勬搷浣
+			qDebug() << QStringLiteral("閫夋嫨");
+			if (selectedAction == actClose)
+			{
+				close();
+			}
+			else if (selectedAction == actAdvanceConfig)
+			{
+				qDebug() << QStringLiteral("楂樼骇閰嶇疆");
+				int result = m_advancedConfigurationDlg1->exec();
+				if (result) //鐐瑰嚮纭畾浜
+				{
+					qDebug() << QStringLiteral("鍏堢紦瀛,鍐嶄慨鏀");
+					if (m_controlsInAdvanceConfig.size() > 0)
+                    {
+                        for (auto& m_control:m_controlsInAdvanceConfig)
+                        {
+                            m_parse->setData(m_control);
+						}
+					}
+				}
+				else
+				{
+					m_controlsInAdvanceConfig.clear();
+				}
+			}
+		}
+		else
+		{
+			// 鐢ㄦ埛鏈夋嫨浠讳綍鑿滃崟椤癸紝鍙兘鍗曞嚮浜嗚彍鍗曞閮
+			// 鍦ㄨ繖閲屽彲浠ユ坊鍔犵浉搴旂殑澶勭悊閫昏緫
+			qDebug() << QStringLiteral("鏈夋嫨");
+		}
+	}
+	count++;
+}
+
+void Ttile1::mousePressEvent(QMouseEvent* event)
+{
+	if (event->button() == Qt::LeftButton)
+	{
+		m_point = event->globalPos() - frameGeometry().topLeft();
+		moveInLeftKey = true;
+		//榧犳爣浣嶇疆鍑忓幓宸︿笂瑙掔殑宸﹁竟
+		//鍙浛鎹负m_point = event->pos();
+	}
+}
+
+void Ttile1::mouseMoveEvent(QMouseEvent* event)
+{
+	if (moveInLeftKey)
+	{
+		move(event->globalPos() - m_point);
+	}
+	else
+	{
+	}
+}
+
+void Ttile1::mouseReleaseEvent(QMouseEvent* event)
+{
+	Q_UNUSED(event);
+	moveInLeftKey = false;
+}
+
+void Ttile1::setIcon(QString path) const
+{
+	ui.label->setPixmap(QPixmap(path));
+}
+
+//妲藉嚱鏁
+void Ttile1::on_pushButton_chooseFile_clicked()
+{
+    try
+    {
+        // 鍒涘缓涓涓枃浠堕夋嫨瀵硅瘽妗嗭紝闈欐佸嚱鏁板垱寤轰竴涓枃浠堕夋嫨瀵硅瘽妗嗐傝繖涓嚱鏁颁細闃诲褰撳墠绾跨▼锛岀洿鍒扮敤鎴烽夋嫨浜嗕竴涓枃浠舵垨鍙栨秷浜嗘搷浣溿
+        QString filePath = QFileDialog::getOpenFileName(
+            nullptr,
+            QStringLiteral("閫夋嫨鏂囦欢"),
+            QStringLiteral(""),
+            QStringLiteral("鏂囨湰鏂囦欢 (*.dat);")
+        );
+
+        // 鐢ㄦ埛閫夋嫨浜嗘枃浠
+        if (!filePath.isEmpty())
+        {
+            set_ControlBase();
+            qDebug() << QStringLiteral("鐢ㄦ埛閫夋嫨鐨勬枃浠惰矾寰:") << filePath;
+            ui.lineEdit_filePath->setText(filePath);
+            m_parse = ParseFlashDatFile::getInstance(filePath);
+            try
+            {
+                //浣跨敤ParseFlashDatFile::getInstance(filePath)鑾峰彇涓涓狿arseFlashDatFile绫荤殑瀹炰緥锛堣繖閲屽亣璁捐繖鏄竴涓崟渚嬬被锛岀敤浜庤В鏋.dat鏂囦欢锛
+                m_parse->parseDatFile(filePath);
+                paintUiFromDatFile();
+                responseSlotFunction = true;
+                // 鏄剧ず淇℃伅鎻愮ず妗
+                QMessageBox::information(nullptr, QStringLiteral("鎻愮ず"), QStringLiteral("瑙ｆ瀽鏂囦欢鎴愬姛"));
+            }
+            catch (const QString& exceptionMessage)
+            {
+
+                QMessageBox::information(nullptr, QStringLiteral("鎻愮ず"), QStringLiteral("瑙ｆ瀽鏂囦欢寮傚父\n.") + exceptionMessage);
+            }
+        }
+        else
+        {
+            qDebug() << QStringLiteral("鐢ㄦ埛鍙栨秷浜嗘枃浠堕夋嫨鎿嶄綔");
+        }
+    }
+    catch (const QString& exceptionMessage)
+    {
+        qDebug() << exceptionMessage;
+        QMessageBox::information(nullptr, QStringLiteral("娑堟伅鎻愮ず"), exceptionMessage);
+    }
+	
+}
+
+void Ttile1::handleMainConfigSignal(QString objectName)
+{
+	try
+	{
+		if (!responseSlotFunction) return;
+		// 鍦ㄨ繖閲屽鐞嗕粠瀛愮獥鍙ｅ彂閫佽繃鏉ョ殑淇″彿
+		qDebug() << QStringLiteral("鐖剁獥鍙ｆ敹鍒颁俊鍙凤細") << objectName;
+		const auto m_control = getControl(objectName);
+		m_parse->setData(m_control);
+	}
+	catch (const QString& exceptionMessage)
+	{
+		qDebug() << exceptionMessage;
+		QMessageBox::information(nullptr, QStringLiteral("娑堟伅鎻愮ず"), exceptionMessage);
+	}
+}
+
+void Ttile1::handleVoltageSignal(QString objectName, QByteArray result)
+{
+	try
+	{
+		if (!responseSlotFunction) return;
+		// 鍦ㄨ繖閲屽鐞嗕粠瀛愮獥鍙ｅ彂閫佽繃鏉ョ殑淇″彿
+		qDebug() << QStringLiteral("鐖剁獥鍙ｆ敹鍒颁俊鍙凤細") << objectName;
+		const auto m_control = getControl(objectName);
+		m_parse->setData(m_control->m_addressTable, result);
+	}
+	catch (const QString& exceptionMessage)
+	{
+		qDebug() << exceptionMessage;
+		QMessageBox::information(nullptr, QStringLiteral("娑堟伅鎻愮ず"), exceptionMessage);
+	}
+}
+
+void Ttile1::handleSMASignal(QString objectName, QByteArray result)
+{
+    try
+    {
+        if (!responseSlotFunction) return;
+        // 鍦ㄨ繖閲屽鐞嗕粠瀛愮獥鍙ｅ彂閫佽繃鏉ョ殑淇″彿
+        qDebug() << QStringLiteral("鐖剁獥鍙ｆ敹鍒颁俊鍙凤細") << objectName;
+        const auto m_control = getControl(objectName);
+        m_parse->setData(m_control->m_addressTable, result);
+    }
+    catch (const QString& exceptionMessage)
+    {
+        qDebug() << exceptionMessage;
+        QMessageBox::information(nullptr, QStringLiteral("娑堟伅鎻愮ず"), exceptionMessage);
+    }
+}
+
+
+void Ttile1::handleAdvanceConfigSignal(QString objectName)
+{
+	try
+	{
+		if (!responseSlotFunction) return;
+		qDebug() << QStringLiteral("鐖剁獥鍙ｆ敹鍒颁俊鍙凤細") << objectName;
+		const auto m_control = getControl(objectName);
+        if (debug())
+            m_parse->setData(m_control);
+        else
+            m_controlsInAdvanceConfig.append(m_control);
+	}
+	catch (const QString& exceptionMessage)
+	{
+		qDebug() << exceptionMessage;
+		QMessageBox::information(nullptr, QStringLiteral("娑堟伅鎻愮ず"), exceptionMessage);
+	}
+}
+
+
+void Ttile1::on_pushButton_genFile_clicked()
+{
+	try
+	{
+		if (ui.lineEdit_filePath->text().isEmpty())
+		{
+			QMessageBox::information(nullptr, QStringLiteral("鎻愮ず"), QStringLiteral("璇峰厛閫夋嫨鏂囦欢鍐嶈繘琛屾鎿嶄綔!"));
+			return;
+		}
+		auto newPath = m_parse->genDatFile();
+		QMessageBox::information(nullptr, QStringLiteral("鎻愮ず"), QStringLiteral("鐢熸垚鏂囦欢鎴愬姛 !\n璺緞涓:") + newPath);
+	}
+	catch (const QString& exceptionMessage)
+	{
+		qDebug() << exceptionMessage;
+		QMessageBox::information(nullptr, QStringLiteral("娑堟伅鎻愮ず"), exceptionMessage);
+	}
+}
+
+void Ttile1::SetDisable_checkbox(int value){
+    if(value==0x4bed)
+        m_MouseConfigTool1->checkbox_Logo_Disable();
+    if(value==0x4c55)
+        m_MouseConfigTool1->checkbox_24GLed_Disable();
+    if(value==0x4c56)
+        m_MouseConfigTool1->checkbox_BT1Led_Disable();
+    if(value==0x4c57)
+        m_MouseConfigTool1->checkbox_BT2Led_Disable();
+    if(value==0x4c59)
+        m_MouseConfigTool1->checkbox_DPILed_Disable();
+    if(value==0x4c38)
+        m_MouseConfigTool1->checkbox_DPIAnother_Disable();
+    if(value==0x4c3b)
+        m_MouseConfigTool1->checkbox_FIRE_Disable();
+    if(value==0x4912)
+        m_MouseConfigTool1->checkbox_Customer_Disable();
+}
+
+void Ttile1::paintUiFromDatFile()
+{
+	for (int i = 0; i < m_controls.count(); i++)
+	{
+		qDebug() << "######################";
+		// 鏄剧ず,蹇呴』寰楃煡閬揂ddressTable,鑾峰彇鍊,鐒跺悗鏄剧ず鍦ㄦ帶浠朵笂
+		ControlBase* m_control = m_controls[i];
+		if (m_control->is_auto_paint())
+		{
+			auto m_address_table = m_control->m_addressTable; 
+			auto valueInflash = m_parse->getData(m_address_table);
+            qDebug()<<QStringLiteral("鑾峰緱鐨勭粍浠跺湴鍧鏁版嵁涓")<<valueInflash;
+            if(valueInflash.size() >= 2 &&
+                static_cast<unsigned short>(static_cast<unsigned char>(valueInflash.at(0)) << 8 |
+                                            static_cast<unsigned char>(valueInflash.at(1))) == 0x55AA)
+            {
+                //濡傛灉杩斿洖鍊间负55aa,鍒欏叧闂鎺т欢
+                qDebug()<<QStringLiteral("鍏抽棴缁勪欢鍦板潃涓")<<m_address_table;
+                 m_control->setWidgetEnabled(false);
+            }
+            //logo銆24G銆丅T銆乨pi鐏乨pi-銆佺伀鍔涢敭銆佽嚜瀹氫箟閿殑鍦板潃璇诲彇
+            auto address = m_address_table->get_address();
+            if (address == 0x4bed || address == 0x4c55 || address == 0x4c56 || address == 0x4c57 || address == 0x4c59 || address ==0x4c38 || address ==0x4c3b||address==0x4912)
+            {
+                QString mydata=QString::fromLatin1(valueInflash.toHex());
+                if(mydata.toLower()=="ff") //濡傛灉鏄痜f灏卞睆钄
+                {
+                    SetDisable_checkbox(address);
+                }
+                m_control->paint(valueInflash);
+            }
+            else
+            {
+                qDebug() << QStringLiteral("鑾峰彇鍒扮殑鍊:") << valueInflash.toHex();
+                m_control->paint(valueInflash);
+
+            }
+		}
+		else // 涓嶈嚜鍔╬aint,鍒欐墜鍔ㄣ傜洰鍓嶅彧鏈変笁涓數鍘嬮渶瑕併
+		{
+			auto m_address_table = m_control->m_addressTable;
+			auto valueInflash = m_parse->getData(m_address_table);
+            qDebug()<<QStringLiteral("鑾峰緱鐨勭粍浠跺湴鍧鏁版嵁涓")<<valueInflash;
+            if(valueInflash.size() >= 2 &&
+                static_cast<unsigned short>(static_cast<unsigned char>(valueInflash.at(0)) << 8 |
+                                            static_cast<unsigned char>(valueInflash.at(1))) == 0xAA)
+            {
+                qDebug()<<QStringLiteral("鍏抽棴缁勪欢鍦板潃涓")<<m_address_table;
+                m_control->setWidgetEnabled(false);
+
+            }
+            else
+            {
+                qDebug() << QStringLiteral("鑾峰彇鍒扮殑鍊:") << valueInflash.toHex();
+                auto pObjectName = m_control->get_pObjectName();
+                auto m_pControl = getControl(pObjectName);
+                emit modifyVoltageSignal(m_control->m_widget, valueInflash, m_pControl->m_widget);
+            }
+		}
+	}
+}
+
+ControlBase* Ttile1::getControl(QString targetObjectName)
+{
+	for (int i = 0; i < m_controls.count(); i++)
+	{
+		ControlBase* m_control = m_controls[i];
+		if (m_control->get_objectName().compare(targetObjectName) == 0)
+		{
+			return m_control;
+		}
+	}
+	throw QStringLiteral("娌℃湁鎵惧埌鐩爣鎺т欢:[") + targetObjectName + "]";
+}
Index: Ttile1.ui
===================================================================
--- /YC1308AC/branch/mouse_project/TestTools/mous-config-tool-qt/Ttile1.ui	(nonexistent)
+++ /YC1308AC/branch/mouse_project/TestTools/mous-config-tool-qt/Ttile1.ui	(working copy)
@@ -0,0 +1,381 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>Ttile1Class</class>
+ <widget class="QMainWindow" name="Ttile1Class">
+  <property name="windowModality">
+   <enum>Qt::WindowModal</enum>
+  </property>
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>1205</width>
+    <height>830</height>
+   </rect>
+  </property>
+  <property name="sizePolicy">
+   <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
+    <horstretch>0</horstretch>
+    <verstretch>0</verstretch>
+   </sizepolicy>
+  </property>
+  <property name="minimumSize">
+   <size>
+    <width>1205</width>
+    <height>830</height>
+   </size>
+  </property>
+  <property name="maximumSize">
+   <size>
+    <width>1205</width>
+    <height>830</height>
+   </size>
+  </property>
+  <property name="font">
+   <font>
+    <pointsize>12</pointsize>
+   </font>
+  </property>
+  <property name="contextMenuPolicy">
+   <enum>Qt::CustomContextMenu</enum>
+  </property>
+  <property name="windowTitle">
+   <string>榧犳爣閰嶇疆宸ュ叿</string>
+  </property>
+  <property name="styleSheet">
+   <string notr="true"/>
+  </property>
+  <widget class="QWidget" name="centralWidget">
+   <property name="sizePolicy">
+    <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
+     <horstretch>0</horstretch>
+     <verstretch>0</verstretch>
+    </sizepolicy>
+   </property>
+   <property name="minimumSize">
+    <size>
+     <width>1205</width>
+     <height>30</height>
+    </size>
+   </property>
+   <property name="maximumSize">
+    <size>
+     <width>1205</width>
+     <height>16777215</height>
+    </size>
+   </property>
+   <property name="contextMenuPolicy">
+    <enum>Qt::CustomContextMenu</enum>
+   </property>
+   <property name="styleSheet">
+    <string notr="true"/>
+   </property>
+   <layout class="QGridLayout" name="gridLayout_3">
+    <item row="0" column="0">
+     <widget class="QGroupBox" name="groupBox">
+      <property name="sizePolicy">
+       <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+        <horstretch>0</horstretch>
+        <verstretch>0</verstretch>
+       </sizepolicy>
+      </property>
+      <property name="minimumSize">
+       <size>
+        <width>0</width>
+        <height>30</height>
+       </size>
+      </property>
+      <property name="maximumSize">
+       <size>
+        <width>1348</width>
+        <height>30</height>
+       </size>
+      </property>
+      <property name="contextMenuPolicy">
+       <enum>Qt::CustomContextMenu</enum>
+      </property>
+      <property name="styleSheet">
+       <string notr="true"/>
+      </property>
+      <property name="title">
+       <string/>
+      </property>
+      <layout class="QGridLayout" name="gridLayout">
+       <property name="leftMargin">
+        <number>0</number>
+       </property>
+       <property name="topMargin">
+        <number>0</number>
+       </property>
+       <property name="rightMargin">
+        <number>0</number>
+       </property>
+       <property name="bottomMargin">
+        <number>0</number>
+       </property>
+       <property name="spacing">
+        <number>0</number>
+       </property>
+       <item row="0" column="0">
+        <layout class="QGridLayout" name="gridLayout_4">
+         <property name="topMargin">
+          <number>0</number>
+         </property>
+         <item row="0" column="0">
+          <widget class="QLabel" name="label">
+           <property name="minimumSize">
+            <size>
+             <width>30</width>
+             <height>30</height>
+            </size>
+           </property>
+           <property name="maximumSize">
+            <size>
+             <width>30</width>
+             <height>30</height>
+            </size>
+           </property>
+           <property name="layoutDirection">
+            <enum>Qt::LeftToRight</enum>
+           </property>
+           <property name="styleSheet">
+            <string notr="true">background:rgb(255, 255, 255)</string>
+           </property>
+           <property name="text">
+            <string/>
+           </property>
+           <property name="pixmap">
+            <pixmap resource="res.qrc">:/img/keyboard.png</pixmap>
+           </property>
+           <property name="alignment">
+            <set>Qt::AlignCenter</set>
+           </property>
+          </widget>
+         </item>
+         <item row="0" column="1">
+          <spacer name="horizontalSpacer">
+           <property name="orientation">
+            <enum>Qt::Horizontal</enum>
+           </property>
+           <property name="sizeHint" stdset="0">
+            <size>
+             <width>138</width>
+             <height>20</height>
+            </size>
+           </property>
+          </spacer>
+         </item>
+         <item row="0" column="2">
+          <widget class="QLabel" name="label_2">
+           <property name="font">
+            <font>
+             <pointsize>12</pointsize>
+             <bold>true</bold>
+            </font>
+           </property>
+           <property name="styleSheet">
+            <string notr="true"/>
+           </property>
+           <property name="text">
+            <string>榧犳爣閰嶇疆宸ュ叿 v1.3.0</string>
+           </property>
+           <property name="textFormat">
+            <enum>Qt::AutoText</enum>
+           </property>
+          </widget>
+         </item>
+         <item row="0" column="3">
+          <spacer name="horizontalSpacer_2">
+           <property name="orientation">
+            <enum>Qt::Horizontal</enum>
+           </property>
+           <property name="sizeHint" stdset="0">
+            <size>
+             <width>138</width>
+             <height>20</height>
+            </size>
+           </property>
+          </spacer>
+         </item>
+         <item row="0" column="4">
+          <widget class="QPushButton" name="pushButton">
+           <property name="sizePolicy">
+            <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+             <horstretch>0</horstretch>
+             <verstretch>0</verstretch>
+            </sizepolicy>
+           </property>
+           <property name="minimumSize">
+            <size>
+             <width>30</width>
+             <height>0</height>
+            </size>
+           </property>
+           <property name="maximumSize">
+            <size>
+             <width>30</width>
+             <height>16777215</height>
+            </size>
+           </property>
+           <property name="styleSheet">
+            <string notr="true">
+background-color: #ba4933;
+selection-color: rgb(85, 255, 255);
+</string>
+           </property>
+           <property name="text">
+            <string/>
+           </property>
+           <property name="icon">
+            <iconset>
+             <normaloff>guanbi.png</normaloff>guanbi.png</iconset>
+           </property>
+           <property name="iconSize">
+            <size>
+             <width>24</width>
+             <height>24</height>
+            </size>
+           </property>
+           <property name="flat">
+            <bool>true</bool>
+           </property>
+          </widget>
+         </item>
+        </layout>
+       </item>
+      </layout>
+     </widget>
+    </item>
+    <item row="1" column="0">
+     <widget class="QGroupBox" name="groupBox_3">
+      <property name="sizePolicy">
+       <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+        <horstretch>0</horstretch>
+        <verstretch>0</verstretch>
+       </sizepolicy>
+      </property>
+      <property name="minimumSize">
+       <size>
+        <width>0</width>
+        <height>32</height>
+       </size>
+      </property>
+      <property name="maximumSize">
+       <size>
+        <width>1200</width>
+        <height>32</height>
+       </size>
+      </property>
+      <property name="contextMenuPolicy">
+       <enum>Qt::CustomContextMenu</enum>
+      </property>
+      <property name="styleSheet">
+       <string notr="true"/>
+      </property>
+      <property name="title">
+       <string/>
+      </property>
+      <layout class="QGridLayout" name="gridLayout_2">
+       <property name="leftMargin">
+        <number>0</number>
+       </property>
+       <property name="topMargin">
+        <number>0</number>
+       </property>
+       <property name="rightMargin">
+        <number>0</number>
+       </property>
+       <property name="bottomMargin">
+        <number>0</number>
+       </property>
+       <item row="0" column="0">
+        <layout class="QGridLayout" name="gridLayout_5">
+         <item row="0" column="0">
+          <widget class="QPushButton" name="pushButton_chooseFile">
+           <property name="text">
+            <string>閫夋嫨鍥轰欢</string>
+           </property>
+          </widget>
+         </item>
+         <item row="0" column="1">
+          <widget class="QPushButton" name="pushButton_genFile">
+           <property name="text">
+            <string>鐢熸垚鍥轰欢</string>
+           </property>
+          </widget>
+         </item>
+         <item row="0" column="2">
+          <spacer name="horizontalSpacer_3">
+           <property name="orientation">
+            <enum>Qt::Horizontal</enum>
+           </property>
+           <property name="sizeType">
+            <enum>QSizePolicy::Maximum</enum>
+           </property>
+           <property name="sizeHint" stdset="0">
+            <size>
+             <width>20</width>
+             <height>20</height>
+            </size>
+           </property>
+          </spacer>
+         </item>
+         <item row="0" column="3">
+          <widget class="QLineEdit" name="lineEdit_filePath"/>
+         </item>
+        </layout>
+       </item>
+      </layout>
+     </widget>
+    </item>
+    <item row="2" column="0">
+     <widget class="QGroupBox" name="groupBox_2">
+      <property name="sizePolicy">
+       <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+        <horstretch>0</horstretch>
+        <verstretch>0</verstretch>
+       </sizepolicy>
+      </property>
+      <property name="minimumSize">
+       <size>
+        <width>1200</width>
+        <height>0</height>
+       </size>
+      </property>
+      <property name="maximumSize">
+       <size>
+        <width>1200</width>
+        <height>16777215</height>
+       </size>
+      </property>
+      <property name="title">
+       <string/>
+      </property>
+     </widget>
+    </item>
+   </layout>
+  </widget>
+ </widget>
+ <layoutdefault spacing="6" margin="11"/>
+ <resources>
+  <include location="res.qrc"/>
+ </resources>
+ <connections>
+  <connection>
+   <sender>pushButton</sender>
+   <signal>clicked()</signal>
+   <receiver>Ttile1Class</receiver>
+   <slot>close()</slot>
+   <hints>
+    <hint type="sourcelabel">
+     <x>853</x>
+     <y>17</y>
+    </hint>
+    <hint type="destinationlabel">
+     <x>435</x>
+     <y>300</y>
+    </hint>
+   </hints>
+  </connection>
+ </connections>
+</ui>
Index: TypeConvertor.h
===================================================================
--- /YC1308AC/branch/mouse_project/TestTools/mous-config-tool-qt/TypeConvertor.h	(nonexistent)
+++ /YC1308AC/branch/mouse_project/TestTools/mous-config-tool-qt/TypeConvertor.h	(working copy)
@@ -0,0 +1,24 @@
+#pragma once
+#include <QString>
+#include <cmath> // 包含数学函数的头文件
+
+QString parseNumber2HexQstring(int number, int byteLen = 2, bool smallEnd = true);
+
+int parseString2number(QString dataLenStr, bool smallEnd = true);
+
+QString reverseHex(QString hexString);
+
+QString reverseQString(const QString& input);
+
+QString paddingHexQStringWithDelimiter(QString target, QString theDelimiter = " ");
+
+bool regHexString(QString target);
+QString getHexString(QString target);
+bool regIsDecimal(QString target);
+bool regIsInteger(QString target);
+
+QString now();
+double roundTo1Decimals(double value);
+double roundTo2Decimals(double value);
+bool debug();
+
Index: TypeConvertor.cpp
===================================================================
--- /YC1308AC/branch/mouse_project/TestTools/mous-config-tool-qt/TypeConvertor.cpp	(nonexistent)
+++ /YC1308AC/branch/mouse_project/TestTools/mous-config-tool-qt/TypeConvertor.cpp	(working copy)
@@ -0,0 +1,133 @@
+锘#include "TypeConvertor.h"
+
+#include <qregexp.h>
+#include <qregularexpression.h>
+#include <QDateTime>
+
+/**
+ * \brief 
+ * \return 
+ */
+bool debug()
+{
+	return false;
+}
+
+QString parseNumber2HexQstring(int number, int byteLen, bool smallEnd)
+{
+	QString result("");
+	QString temp("");
+	for (int i = 0; i < byteLen; i++)
+	{
+		temp = QString::number((number >> (8 * i) & 0xff), 16);
+		temp = temp.rightJustified(2, '0');
+		if (smallEnd) result += temp;
+		else result = temp + result;
+	}
+	return result;
+}
+
+int parseString2number(QString dataLenStr, bool smallEnd)
+{
+	int result = 0;
+	QString temp = QString("");
+	for (int i = 0; i < (dataLenStr.length() / 2); i++)
+	{
+		if (smallEnd)
+		{
+			temp.insert(0, dataLenStr.mid(i * 2, 2));
+		}
+		else
+		{
+			temp.append(dataLenStr.mid(i * 2, 2));
+		}
+	}
+	bool ok;
+	result = temp.toInt(&ok, 16);
+	if (!ok) throw QStringLiteral("杈撳叆鐨刐") + dataLenStr + QStringLiteral("]涓嶅悎娉");
+	return result;
+}
+
+QString reverseHex(QString hexString)
+{
+	QString reversedHex;
+
+	int size = hexString.size();
+	if (size % 2 == 1)
+	{
+		hexString = '0' + hexString;
+	}
+	// 浠庤緭鍏ョ殑鍗佸叚杩涘埗瀛楃涓蹭腑閫嗗簭鎻愬彇姣忎袱涓瓧绗︼紙涓涓瓧鑺傦級
+	for (int i = hexString.size() - 2; i >= 0; i -= 2)
+	{
+		reversedHex += hexString.mid(i, 2);
+	}
+	return reversedHex;
+}
+
+QString reverseQString(const QString& input)
+{
+	QString reversedString = input;
+	std::reverse(reversedString.begin(), reversedString.end());
+	return reversedString;
+}
+
+QString paddingHexQStringWithDelimiter(QString target, QString theDelimiter)
+{
+	QString result = "";
+	for (int i = 0; i < target.length() / 2; i++)
+	{
+		result += target.mid(i * 2, 2) + theDelimiter;
+	}
+	return result;
+}
+
+bool regHexString(QString target)
+{
+	QRegExp hexRegExp("[0-9a-fA-F]*"); // 姝ｅ垯琛ㄨ揪寮忥紝鍙厑璁稿崄鍏繘鍒跺瓧绗
+	return hexRegExp.exactMatch(target);
+}
+
+QString getHexString(QString inputString)
+{
+	// 瀹氫箟涓涓鍒欒〃杈惧紡锛屽尮閰嶉潪鍗佸叚杩涘埗瀛楃
+	QRegularExpression regex("[^0-9A-Fa-f]+");
+
+	// 浣跨敤姝ｅ垯琛ㄨ揪寮忔浛鎹㈠尮閰嶇殑瀛楃涓虹┖瀛楃涓
+	QString cleanedString = inputString.replace(regex, "");
+
+	return cleanedString;
+}
+
+bool regIsDecimal(QString input)
+{
+	QRegularExpression decimalRegex("^-?\\d*\\.\\d+$"); // 姝ｅ垯琛ㄨ揪寮忓尮閰嶅皬鏁版垨鏁存暟
+	return decimalRegex.match(input).hasMatch();
+}
+
+bool regIsInteger(QString input)
+{
+	QRegularExpression decimalRegex("^\\d*$"); // 姝ｅ垯琛ㄨ揪寮忓尮閰嶅皬鏁版垨鏁存暟
+	return decimalRegex.match(input).hasMatch();
+}
+
+QString now()
+{
+	// 鑾峰彇褰撳墠鏃堕棿鎴筹紙浠ユ绉掍负鍗曚綅锛
+	qint64 currentTimestamp = QDateTime::currentMSecsSinceEpoch();
+	// 灏嗘椂闂存埑鏍煎紡鍖栦负甯︽湁姣鐨勫瓧绗︿覆
+	QString formattedTimestamp = QDateTime::fromMSecsSinceEpoch(currentTimestamp).toString("yyyyMMdd HHmmsszzz");
+	return formattedTimestamp;
+}
+
+double roundTo1Decimals(double value)
+{
+	return qRound(value * 10.0) / 10.0;
+}
+
+double roundTo2Decimals(double value)
+{
+	return qRound(value * 100.0) / 100.0;
+}
+
+
Index: advancedConfigurationDlg.h
===================================================================
--- /YC1308AC/branch/mouse_project/TestTools/mous-config-tool-qt/advancedConfigurationDlg.h	(nonexistent)
+++ /YC1308AC/branch/mouse_project/TestTools/mous-config-tool-qt/advancedConfigurationDlg.h	(working copy)
@@ -0,0 +1,40 @@
+#ifndef ADVANCEDCONFIGURATIONDLG_H
+#define ADVANCEDCONFIGURATIONDLG_H
+
+#include <QDialog>
+#include "qdebug.h"
+#include "TypeConvertor.h"
+#include <QtWidgets>
+namespace Ui {
+class advancedConfigurationDlg;
+}
+
+class advancedConfigurationDlg : public QDialog
+{
+    Q_OBJECT
+
+public:
+    advancedConfigurationDlg& operator=(const advancedConfigurationDlg& dlg);
+    advancedConfigurationDlg(QWidget *parent = nullptr);
+    ~advancedConfigurationDlg();
+    Ui::advancedConfigurationDlg* getUi();
+signals:
+    void customSignal(QString objectName);
+    void customVoltageSignal(QString objectName,QByteArray value);
+    void customSMASignal(QString objectName,QByteArray value);
+
+private slots:
+    void handleComboBoxSelection(int index);
+    void handleCheckBoxClicked(bool checked);
+    void handlSMACheckBoxClicked(bool checked);
+    void handleEditingFinished();
+    void on_checkBox_BtNameEnable_stateChanged(int arg1);
+    void handleVoltageEditingFinished();
+
+    void modifyVoltageSlot(QWidget* sonWidget, QByteArray valueToPaint, QWidget* pWidget);
+    void on_comboBox_adcSamplingMode_3_currentTextChanged(const QString &arg1);
+private:
+    Ui::advancedConfigurationDlg *ui;
+};
+
+#endif // ADVANCEDCONFIGURATIONDLG_H
Index: advancedConfigurationDlg.cpp
===================================================================
--- /YC1308AC/branch/mouse_project/TestTools/mous-config-tool-qt/advancedConfigurationDlg.cpp	(nonexistent)
+++ /YC1308AC/branch/mouse_project/TestTools/mous-config-tool-qt/advancedConfigurationDlg.cpp	(working copy)
@@ -0,0 +1,284 @@
+锘#include "advancedConfigurationDlg.h"
+#include "ui_advancedConfigurationDlg.h"
+
+QMap<double, int> voltageMap1 = {
+    {0.8, 0x0091},
+    {0.9, 0x00a2},
+    {1.0, 0x00b4},
+    {1.1, 0x00c6},
+    {1.2, 0x00d9},
+    {1.3, 0x00ea},
+    {1.4, 0x00fd},
+    {1.5, 0x010f},
+    {1.6, 0x0121},
+    {1.7, 0x0133},
+    {1.8, 0x0145},
+    {1.9, 0x0155},
+    {2.0, 0x0169},
+    {2.1, 0x017a},
+    {2.2, 0x018d},
+    {2.3, 0x01a1},
+    {2.4, 0x01b1},
+    {2.5, 0x01c3},
+    {2.6, 0x01d7},
+    {2.7, 0x01e9},
+    {2.8, 0x01fb},
+    {2.9, 0x0208},
+    {3.0, 0x0220},
+    {3.1, 0x0235},
+    {3.2, 0x0245},
+    {3.3, 0x0260}
+};
+
+advancedConfigurationDlg& advancedConfigurationDlg::operator=(const advancedConfigurationDlg& dlg)
+{
+    if (this!=&dlg)
+    {
+        ui = dlg.ui;
+    }
+    return *this;
+}
+
+advancedConfigurationDlg::advancedConfigurationDlg(QWidget *parent) :
+    QDialog(parent),
+    ui(new Ui::advancedConfigurationDlg)
+{
+    ui->setupUi(this);
+
+    connect(ui->groupBox_lowPowerEnable_2, SIGNAL(clicked(bool)), this, SLOT(handleCheckBoxClicked(bool)));
+    connect(ui->lineEdit_shutdownVoltage_3, SIGNAL(editingFinished()), this, SLOT(handleVoltageEditingFinished()));
+    connect(ui->lineEdit_fullVoltage_3, SIGNAL(editingFinished()), this, SLOT(handleVoltageEditingFinished()));
+    connect(ui->lineEdit_lowVoltage_3, SIGNAL(editingFinished()), this, SLOT(handleVoltageEditingFinished()));
+    connect(ui->comboBox_adcChannel_3, SIGNAL(currentIndexChanged(int)), this, SLOT(handleComboBoxSelection(int)));
+    connect(ui->comboBox_adcSamplingMode_3, SIGNAL(currentIndexChanged(int)), this, SLOT(handleComboBoxSelection(int)));
+    // adc閲囨牱妯″紡
+    connect(ui->comboBox_adcSamplingMode_3, SIGNAL(currentTextChanged(QString)), this, SLOT(on_comboBox_adcSamplingMode_3_currentTextChanged(QString)));
+
+    connect(ui->groupBox_lowLightEnable_3, SIGNAL(clicked(bool)), this, SLOT(handleCheckBoxClicked(bool)));
+    connect(ui->lineEdit_lowLightGpio_3, SIGNAL(editingFinished()), this, SLOT(handleEditingFinished()));
+
+    // 缁戝畾涓嬫媺妗嗕簨浠
+    connect(ui->comboBox_DpiSelectCombination, SIGNAL(currentIndexChanged(int)), this,SLOT(handleComboBoxSelection(int)));
+    connect(ui->comboBox_LogoLedControlCombination, SIGNAL(currentIndexChanged(int)), this,SLOT(handleComboBoxSelection(int)));
+    connect(ui->comboBox_ModeSelectCombination, SIGNAL(currentIndexChanged(int)), this,SLOT(handleComboBoxSelection(int)));
+
+    connect(ui->comboBox_Logo_led_control, SIGNAL(currentIndexChanged(int)), this,SLOT(handleComboBoxSelection(int)));
+    connect(ui->comboBox_Logo_led_reuse, SIGNAL(currentIndexChanged(int)), this,SLOT(handleComboBoxSelection(int)));
+
+	// 缁戝畾澶嶉夋浜嬩欢
+    connect(ui->checkBox_cancelTheBatteryReport, SIGNAL(clicked(bool)), this, SLOT(handleCheckBoxClicked(bool)));
+    connect(ui->checkBox_smoothAlgorithm, SIGNAL(clicked(bool)), this, SLOT(handlSMACheckBoxClicked(bool)));
+    // connect(ui->checkBox_compensationAlgorithm, SIGNAL(clicked(bool)), this, SLOT(handleCheckBoxClicked(bool)));
+    connect(ui->checkBox_BtNameEnable, SIGNAL(clicked(bool)), this, SLOT(handleCheckBoxClicked(bool)));
+    connect(ui->checkBox_LogoLedMemory, SIGNAL(clicked(bool)), this, SLOT(handleCheckBoxClicked(bool)));
+
+    // 缁戝畾edit鎷╀簨浠
+	connect(ui->lineEdit_clockGpio, SIGNAL(editingFinished()), this, SLOT(handleEditingFinished()));
+	connect(ui->lineEdit_sdioGpio, SIGNAL(editingFinished()), this, SLOT(handleEditingFinished()));
+	connect(ui->lineEdit_bluetoothBroadcastTime, SIGNAL(editingFinished()), this, SLOT(handleEditingFinished()));
+	connect(ui->lineEdit_24gCodetocodeTime, SIGNAL(editingFinished()), this, SLOT(handleEditingFinished()));
+	connect(ui->lineEdit_bluetoothBackTime, SIGNAL(editingFinished()), this, SLOT(handleEditingFinished()));
+	connect(ui->lineEdit_24gCallBackTime, SIGNAL(editingFinished()), this, SLOT(handleEditingFinished()));
+	connect(ui->lineEdit_24gFastConnectTime, SIGNAL(editingFinished()), this, SLOT(handleEditingFinished()));
+	connect(ui->lineEdit_sleepTime, SIGNAL(editingFinished()), this, SLOT(handleEditingFinished()));
+	connect(ui->lineEdit_dpiLampDelayFlicker, SIGNAL(editingFinished()), this, SLOT(handleEditingFinished()));
+	connect(ui->lineEdit_theModeLightUsuallyTurnsOnTime, SIGNAL(editingFinished()), this, SLOT(handleEditingFinished()));
+	connect(ui->lineEdit_24GFlickerFrequency, SIGNAL(editingFinished()), this, SLOT(handleEditingFinished()));
+	connect(ui->lineEdit_bluetoothBroadcastFlickerFrequency, SIGNAL(editingFinished()), this, SLOT(handleEditingFinished()));
+	connect(ui->lineEdit_bluetoothLinkBackToFlickerFrequency, SIGNAL(editingFinished()), this, SLOT(handleEditingFinished()));
+	connect(ui->lineEdit_dpiFlickerFrequency, SIGNAL(editingFinished()), this, SLOT(handleEditingFinished()));
+	connect(ui->lineEdit_lowLampFlickerFrequency, SIGNAL(editingFinished()), this, SLOT(handleEditingFinished()));
+	connect(ui->lineEdit_24GFlickerTimes, SIGNAL(editingFinished()), this, SLOT(handleEditingFinished()));
+	connect(ui->lineEdit_theNumberOfTimesTheBluetoothConnectionFlashes, SIGNAL(editingFinished()), this, SLOT(handleEditingFinished()));
+	connect(ui->lineEdit_lowLampFlickerTimes, SIGNAL(editingFinished()), this, SLOT(handleEditingFinished()));
+	connect(ui->lineEdit_frequencyOffsetParameter, SIGNAL(editingFinished()), this, SLOT(handleEditingFinished()));
+
+    //Bluetooth Name
+    connect(ui->lineEdit_Ble1Name, SIGNAL(editingFinished()), this, SLOT(handleEditingFinished()));
+    connect(ui->lineEdit_Ble2Name, SIGNAL(editingFinished()), this, SLOT(handleEditingFinished()));
+    connect(ui->lineEdit_Bt1Name, SIGNAL(editingFinished()), this, SLOT(handleEditingFinished()));
+    connect(ui->lineEdit_Bt2Name, SIGNAL(editingFinished()), this, SLOT(handleEditingFinished()));
+
+}
+
+advancedConfigurationDlg::~advancedConfigurationDlg()
+{
+    delete ui;
+}
+
+Ui::advancedConfigurationDlg* advancedConfigurationDlg::getUi()
+{
+    return ui;
+}
+
+void advancedConfigurationDlg::handleComboBoxSelection(int index)
+{
+	Q_UNUSED(index);
+	auto box = qobject_cast<QComboBox*>(sender());
+	if (box)
+	{
+		qDebug() << "######################";
+		QString selectedItem = box->currentText();
+		qDebug() << QStringLiteral("閫夋嫨缁撴潫锛岄夋嫨鐨勯」锛") << selectedItem;
+		emit customSignal(box->objectName());
+	}
+}
+
+void advancedConfigurationDlg::handleCheckBoxClicked(bool checked)
+{
+	auto box1 = qobject_cast<QCheckBox*>(sender());
+	auto box2 = qobject_cast<QGroupBox*>(sender());
+	if (box1 || box2)
+	{
+		qDebug() << "######################";
+		qDebug() << QStringLiteral("褰撳墠澶嶉夋鐘舵侊細") << checked;
+		emit customSignal(box1 ? box1->objectName() : box2->objectName());
+	}
+}
+
+//涓涓閫夋鍚屾椂鎿嶄綔涓や綅
+void advancedConfigurationDlg::handlSMACheckBoxClicked(bool checked)
+{
+    auto box1 = qobject_cast<QCheckBox*>(sender());
+    QByteArray current;
+    if (box1)
+    {
+        qDebug() << "######################";
+        qDebug() << QStringLiteral("褰撳墠澶嶉夋鐘舵侊細") << checked;
+        if(checked==true)
+        {
+            current[0]=(checked<<1)+checked;
+        }
+        else
+            current[0]=checked;
+        // emit customSignal(box1 ? box1->objectName() : box2->objectName());
+        emit customSMASignal(box1->objectName(),current);
+    }
+}
+
+void advancedConfigurationDlg::handleEditingFinished()
+{
+	auto box1 = qobject_cast<QLineEdit*>(sender());
+	if (box1)
+	{
+		qDebug() << "######################";
+		qDebug() << QStringLiteral("褰撳墠edit鐨勫硷細") << box1->text();
+		emit customSignal(box1->objectName());
+	}
+}
+
+
+
+void advancedConfigurationDlg::on_checkBox_BtNameEnable_stateChanged(int arg1)
+{
+    ui->groupBox_BluetoothConfig->setEnabled(bool(arg1));
+}
+
+
+
+
+
+void advancedConfigurationDlg::handleVoltageEditingFinished()
+{
+    QByteArray result;
+    auto box1 = qobject_cast<QLineEdit*>(sender());
+    if (box1)
+    {
+        qDebug() << "######################";
+        auto inputValue = box1->text();
+        qDebug() << QStringLiteral("褰撳墠edit鐨勫硷細") << inputValue;
+        auto currentText = ui->comboBox_adcSamplingMode_3->currentText();
+        // 1.鏄皬鏁
+
+        if (!regIsDecimal(inputValue))
+        {
+            QMessageBox::information(nullptr, QStringLiteral("鎻愮ず"), QStringLiteral("鍙敮鎸佸皬鏁拌緭鍏"));
+            return;
+        }
+        bool ok;
+        double value = inputValue.toDouble(&ok);
+
+        if (!ok)
+        {
+            QMessageBox::information(nullptr, QStringLiteral("鎻愮ず"), QStringLiteral("杞崲灏忔暟澶辫触"));
+            return;
+        }
+
+        if (currentText.compare("gpio", Qt::CaseInsensitive) == 0) // 浣跨敤鍥哄畾鐨刴ap,璇诲彇瑕佸啓鍏ュ浐浠剁殑鍊,闇瑕佸鐞嗙敤鎴疯緭鍏ヤ繚鐣欎竴浣嶅皬鏁
+        {
+            // 2.鑷姩浼樺寲杈撳叆涓1浣嶅皬鏁
+            // 3.鏍￠獙鑼冨洿 [0.8,3.3]
+            // 4.浼樺寲灏忔暟鐐瑰悗鍐嶅洖鏄
+            double roundedValue = roundTo1Decimals(value);
+            box1->setText(QString::number(roundedValue));
+            // 妫鏌ユ暟鍊艰寖鍥
+            if (roundedValue <= 0.8 || roundedValue >= 3.3)
+            {
+                QMessageBox::information(nullptr, QStringLiteral("鎻愮ず"), QStringLiteral("杈撳叆鍊间笉鍦ㄨ寖鍥碵0.8, 3.3]鍐呫"));
+                return;
+            }
+
+            if (!voltageMap1.contains(roundedValue))
+            {
+                QMessageBox::information(nullptr, QStringLiteral("鎻愮ず"), QStringLiteral("杈撳叆鍊间笉灞炰簬map"));
+                return;
+            }
+
+            auto hex_qstring = parseNumber2HexQstring(voltageMap1[roundedValue]);
+            result = QByteArray::fromHex(hex_qstring.toLatin1());
+        }
+        else // vin,杈撳叆鍊*100,闇瑕佸鐞嗙敤鎴疯緭鍏ヤ繚鐣欎袱浣嶅皬鏁
+        {
+            // 2.鑷姩浼樺寲杈撳叆涓2浣嶅皬鏁
+            // 3.鏍￠獙鑼冨洿[0.8, 5.5]
+            // 4.浼樺寲灏忔暟鐐瑰悗鍐嶅洖鏄
+            double roundedValue = roundTo2Decimals(value);
+            box1->setText(QString::number(roundedValue));
+            // 妫鏌ユ暟鍊艰寖鍥
+            if (roundedValue <= 0.8 || roundedValue >= 5.5)
+            {
+                QMessageBox::information(nullptr, QStringLiteral("鎻愮ず"), QStringLiteral("杈撳叆鍊间笉鍦ㄨ寖鍥碵0.8, 3.3]鍐呫"));
+                return;
+            }
+            auto hex_qstring = parseNumber2HexQstring(roundedValue * 100);
+            result = QByteArray::fromHex(hex_qstring.toLatin1());
+        }
+
+        emit customVoltageSignal(box1->objectName(), result);
+    }
+}
+
+
+void advancedConfigurationDlg::modifyVoltageSlot(QWidget* sonWidget, QByteArray valueToPaint, QWidget* pWidget)
+{
+    // 鐖剁被鐨刢ombobox
+    auto box = qobject_cast<QComboBox*>(pWidget);
+    auto value = valueToPaint.toHex();
+    int string2_number = parseString2number(value);
+
+    QString strToPaint;
+    if (box->currentText().compare("gpio", Qt::CaseInsensitive) == 0) // gpio
+    {
+        QMap<double, int>::iterator it;
+        for (it = voltageMap1.begin(); it != voltageMap1.end(); ++it) {
+            if (it.value() == string2_number) {
+                strToPaint = QString::number(it.key(), 'f', 1);
+                break;
+            }
+        }
+    }
+    else // vin
+    {
+        strToPaint= QString::number(string2_number / 100.0, 'f', 2);
+    }
+    qDebug() << strToPaint;
+    auto m_lineEdit = qobject_cast<QLineEdit*>(sonWidget);
+    m_lineEdit->setText(strToPaint);
+}
+
+void advancedConfigurationDlg::on_comboBox_adcSamplingMode_3_currentTextChanged(const QString &arg1)
+{
+    bool enable = arg1.compare("VIN", Qt::CaseInsensitive) == 0; // true,绂佺敤;false,鍙敤
+    ui->comboBox_adcChannel_3->setEnabled(!enable);
+    ui->label_lowPowerEnable_3->setEnabled(!enable);
+}
Index: advancedConfigurationDlg.ui
===================================================================
--- /YC1308AC/branch/mouse_project/TestTools/mous-config-tool-qt/advancedConfigurationDlg.ui	(nonexistent)
+++ /YC1308AC/branch/mouse_project/TestTools/mous-config-tool-qt/advancedConfigurationDlg.ui	(working copy)
@@ -0,0 +1,1892 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>advancedConfigurationDlg</class>
+ <widget class="QDialog" name="advancedConfigurationDlg">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>1068</width>
+    <height>684</height>
+   </rect>
+  </property>
+  <property name="minimumSize">
+   <size>
+    <width>1068</width>
+    <height>684</height>
+   </size>
+  </property>
+  <property name="maximumSize">
+   <size>
+    <width>1068</width>
+    <height>684</height>
+   </size>
+  </property>
+  <property name="windowTitle">
+   <string>楂樼骇閰嶇疆</string>
+  </property>
+  <property name="styleSheet">
+   <string notr="true">QGroupBox { font-weight: bold; }</string>
+  </property>
+  <widget class="QWidget" name="gridLayoutWidget_2">
+   <property name="geometry">
+    <rect>
+     <x>410</x>
+     <y>0</y>
+     <width>321</width>
+     <height>141</height>
+    </rect>
+   </property>
+   <layout class="QGridLayout" name="gridLayout_3">
+    <item row="0" column="0" rowspan="2">
+     <widget class="QGroupBox" name="groupBox_3">
+      <property name="font">
+       <font>
+        <pointsize>12</pointsize>
+        <bold>true</bold>
+       </font>
+      </property>
+      <property name="title">
+       <string>缁勫悎閿姛鑳介厤缃</string>
+      </property>
+      <widget class="QWidget" name="layoutWidget">
+       <property name="geometry">
+        <rect>
+         <x>9</x>
+         <y>32</y>
+         <width>201</width>
+         <height>101</height>
+        </rect>
+       </property>
+       <layout class="QVBoxLayout" name="verticalLayout_12">
+        <item>
+         <widget class="QLabel" name="label_5">
+          <property name="font">
+           <font>
+            <pointsize>12</pointsize>
+           </font>
+          </property>
+          <property name="text">
+           <string>DPI鍒囨崲缁勫悎閿</string>
+          </property>
+         </widget>
+        </item>
+        <item>
+         <widget class="QLabel" name="label_13">
+          <property name="font">
+           <font>
+            <pointsize>12</pointsize>
+           </font>
+          </property>
+          <property name="text">
+           <string>LOGO鐏帶鍒剁粍鍚堥敭</string>
+          </property>
+         </widget>
+        </item>
+        <item>
+         <widget class="QLabel" name="label_21">
+          <property name="font">
+           <font>
+            <pointsize>12</pointsize>
+           </font>
+          </property>
+          <property name="text">
+           <string>妯″紡鍒囨崲缁勫悎閿</string>
+          </property>
+         </widget>
+        </item>
+       </layout>
+      </widget>
+      <widget class="QWidget" name="layoutWidget">
+       <property name="geometry">
+        <rect>
+         <x>216</x>
+         <y>33</y>
+         <width>91</width>
+         <height>101</height>
+        </rect>
+       </property>
+       <layout class="QVBoxLayout" name="verticalLayout_6">
+        <item>
+         <widget class="QComboBox" name="comboBox_DpiSelectCombination">
+          <item>
+           <property name="text">
+            <string>绂佺敤</string>
+           </property>
+          </item>
+          <item>
+           <property name="text">
+            <string>宸﹀彸</string>
+           </property>
+          </item>
+          <item>
+           <property name="text">
+            <string>宸︿腑</string>
+           </property>
+          </item>
+          <item>
+           <property name="text">
+            <string>鍙充腑</string>
+           </property>
+          </item>
+          <item>
+           <property name="text">
+            <string>宸﹀彸涓</string>
+           </property>
+          </item>
+         </widget>
+        </item>
+        <item>
+         <widget class="QComboBox" name="comboBox_LogoLedControlCombination">
+          <item>
+           <property name="text">
+            <string>绂佺敤</string>
+           </property>
+          </item>
+          <item>
+           <property name="text">
+            <string>宸﹀彸</string>
+           </property>
+          </item>
+          <item>
+           <property name="text">
+            <string>宸︿腑</string>
+           </property>
+          </item>
+          <item>
+           <property name="text">
+            <string>鍙充腑</string>
+           </property>
+          </item>
+          <item>
+           <property name="text">
+            <string>宸﹀彸涓</string>
+           </property>
+          </item>
+         </widget>
+        </item>
+        <item>
+         <widget class="QComboBox" name="comboBox_ModeSelectCombination">
+          <item>
+           <property name="text">
+            <string>绂佺敤</string>
+           </property>
+          </item>
+          <item>
+           <property name="text">
+            <string>宸﹀彸</string>
+           </property>
+          </item>
+          <item>
+           <property name="text">
+            <string>宸︿腑</string>
+           </property>
+          </item>
+          <item>
+           <property name="text">
+            <string>鍙充腑</string>
+           </property>
+          </item>
+          <item>
+           <property name="text">
+            <string>宸﹀彸涓</string>
+           </property>
+          </item>
+         </widget>
+        </item>
+       </layout>
+      </widget>
+     </widget>
+    </item>
+   </layout>
+  </widget>
+  <widget class="QGroupBox" name="groupBox_4">
+   <property name="geometry">
+    <rect>
+     <x>410</x>
+     <y>290</y>
+     <width>321</width>
+     <height>61</height>
+    </rect>
+   </property>
+   <property name="font">
+    <font>
+     <pointsize>12</pointsize>
+     <bold>true</bold>
+    </font>
+   </property>
+   <property name="title">
+    <string>棰戝亸鍙傛暟閰嶇疆</string>
+   </property>
+   <widget class="QLabel" name="label_23">
+    <property name="geometry">
+     <rect>
+      <x>41</x>
+      <y>31</y>
+      <width>111</width>
+      <height>21</height>
+     </rect>
+    </property>
+    <property name="minimumSize">
+     <size>
+      <width>60</width>
+      <height>0</height>
+     </size>
+    </property>
+    <property name="maximumSize">
+     <size>
+      <width>120</width>
+      <height>40</height>
+     </size>
+    </property>
+    <property name="font">
+     <font>
+      <pointsize>12</pointsize>
+     </font>
+    </property>
+    <property name="text">
+     <string>棰戝亸鍙傛暟</string>
+    </property>
+   </widget>
+   <widget class="QLineEdit" name="lineEdit_frequencyOffsetParameter">
+    <property name="geometry">
+     <rect>
+      <x>157</x>
+      <y>30</y>
+      <width>61</width>
+      <height>28</height>
+     </rect>
+    </property>
+    <property name="maximumSize">
+     <size>
+      <width>80</width>
+      <height>16777215</height>
+     </size>
+    </property>
+    <property name="font">
+     <font>
+      <pointsize>12</pointsize>
+     </font>
+    </property>
+    <property name="text">
+     <string>16</string>
+    </property>
+   </widget>
+   <widget class="QLabel" name="label_30">
+    <property name="geometry">
+     <rect>
+      <x>227</x>
+      <y>30</y>
+      <width>100</width>
+      <height>21</height>
+     </rect>
+    </property>
+    <property name="minimumSize">
+     <size>
+      <width>100</width>
+      <height>0</height>
+     </size>
+    </property>
+    <property name="maximumSize">
+     <size>
+      <width>30</width>
+      <height>50</height>
+     </size>
+    </property>
+    <property name="font">
+     <font>
+      <pointsize>12</pointsize>
+     </font>
+    </property>
+    <property name="text">
+     <string>锛坔ex锛</string>
+    </property>
+   </widget>
+  </widget>
+  <widget class="QGroupBox" name="groupBox_2">
+   <property name="geometry">
+    <rect>
+     <x>10</x>
+     <y>0</y>
+     <width>381</width>
+     <height>439</height>
+    </rect>
+   </property>
+   <property name="minimumSize">
+    <size>
+     <width>371</width>
+     <height>439</height>
+    </size>
+   </property>
+   <property name="font">
+    <font>
+     <pointsize>12</pointsize>
+     <bold>true</bold>
+    </font>
+   </property>
+   <property name="title">
+    <string>LED鐏晥</string>
+   </property>
+   <widget class="QGroupBox" name="groupBox_ledFlickerTimes">
+    <property name="geometry">
+     <rect>
+      <x>21</x>
+      <y>300</y>
+      <width>351</width>
+      <height>131</height>
+     </rect>
+    </property>
+    <property name="font">
+     <font>
+      <pointsize>12</pointsize>
+      <bold>true</bold>
+     </font>
+    </property>
+    <property name="title">
+     <string>LED闂儊娆℃暟</string>
+    </property>
+    <widget class="QWidget" name="layoutWidget">
+     <property name="geometry">
+      <rect>
+       <x>9</x>
+       <y>32</y>
+       <width>331</width>
+       <height>99</height>
+      </rect>
+     </property>
+     <layout class="QHBoxLayout" name="horizontalLayout_9">
+      <item>
+       <layout class="QVBoxLayout" name="verticalLayout_7">
+        <item>
+         <widget class="QLabel" name="label_11">
+          <property name="font">
+           <font>
+            <pointsize>12</pointsize>
+            <bold>false</bold>
+           </font>
+          </property>
+          <property name="text">
+           <string>2.4G闂儊娆℃暟</string>
+          </property>
+         </widget>
+        </item>
+        <item>
+         <widget class="QLabel" name="label_12">
+          <property name="font">
+           <font>
+            <pointsize>12</pointsize>
+            <bold>false</bold>
+           </font>
+          </property>
+          <property name="text">
+           <string>钃濈墮鍥炶繛闂儊娆℃暟</string>
+          </property>
+         </widget>
+        </item>
+        <item>
+         <widget class="QLabel" name="label_14">
+          <property name="font">
+           <font>
+            <pointsize>12</pointsize>
+            <bold>false</bold>
+           </font>
+          </property>
+          <property name="text">
+           <string>浣庣數鐏棯鐑佹鏁</string>
+          </property>
+         </widget>
+        </item>
+       </layout>
+      </item>
+      <item>
+       <spacer name="horizontalSpacer_2">
+        <property name="orientation">
+         <enum>Qt::Horizontal</enum>
+        </property>
+        <property name="sizeHint" stdset="0">
+         <size>
+          <width>40</width>
+          <height>20</height>
+         </size>
+        </property>
+       </spacer>
+      </item>
+      <item>
+       <layout class="QVBoxLayout" name="verticalLayout_13">
+        <item>
+         <widget class="QLineEdit" name="lineEdit_24GFlickerTimes">
+          <property name="font">
+           <font>
+            <pointsize>12</pointsize>
+            <bold>false</bold>
+           </font>
+          </property>
+          <property name="text">
+           <string>2</string>
+          </property>
+         </widget>
+        </item>
+        <item>
+         <widget class="QLineEdit" name="lineEdit_theNumberOfTimesTheBluetoothConnectionFlashes">
+          <property name="font">
+           <font>
+            <pointsize>12</pointsize>
+            <bold>false</bold>
+           </font>
+          </property>
+          <property name="text">
+           <string>6</string>
+          </property>
+         </widget>
+        </item>
+        <item>
+         <widget class="QLineEdit" name="lineEdit_lowLampFlickerTimes">
+          <property name="font">
+           <font>
+            <pointsize>12</pointsize>
+            <bold>false</bold>
+           </font>
+          </property>
+          <property name="text">
+           <string>10</string>
+          </property>
+         </widget>
+        </item>
+       </layout>
+      </item>
+     </layout>
+    </widget>
+   </widget>
+   <widget class="QGroupBox" name="groupBox_ledFlickerFrequency">
+    <property name="geometry">
+     <rect>
+      <x>21</x>
+      <y>106</y>
+      <width>351</width>
+      <height>191</height>
+     </rect>
+    </property>
+    <property name="font">
+     <font>
+      <pointsize>12</pointsize>
+      <bold>true</bold>
+     </font>
+    </property>
+    <property name="title">
+     <string>LED闂儊棰戠巼</string>
+    </property>
+    <widget class="QWidget" name="layoutWidget">
+     <property name="geometry">
+      <rect>
+       <x>10</x>
+       <y>30</y>
+       <width>331</width>
+       <height>161</height>
+      </rect>
+     </property>
+     <layout class="QHBoxLayout" name="horizontalLayout_7">
+      <item>
+       <layout class="QVBoxLayout" name="verticalLayout_8">
+        <item>
+         <widget class="QLabel" name="label_6">
+          <property name="font">
+           <font>
+            <pointsize>12</pointsize>
+            <bold>false</bold>
+           </font>
+          </property>
+          <property name="text">
+           <string>2.4G闂儊棰戠巼(鐧緈s)</string>
+          </property>
+         </widget>
+        </item>
+        <item>
+         <widget class="QLabel" name="label_7">
+          <property name="font">
+           <font>
+            <pointsize>12</pointsize>
+            <bold>false</bold>
+           </font>
+          </property>
+          <property name="text">
+           <string>钃濈墮骞挎挱闂儊棰戠巼(鐧緈s)</string>
+          </property>
+         </widget>
+        </item>
+        <item>
+         <widget class="QLabel" name="label_8">
+          <property name="font">
+           <font>
+            <pointsize>12</pointsize>
+            <bold>false</bold>
+           </font>
+          </property>
+          <property name="text">
+           <string>钃濈墮鍥炶繛闂儊棰戠巼(鐧緈s)</string>
+          </property>
+         </widget>
+        </item>
+        <item>
+         <widget class="QLabel" name="label_9">
+          <property name="font">
+           <font>
+            <pointsize>12</pointsize>
+            <bold>false</bold>
+           </font>
+          </property>
+          <property name="text">
+           <string>DPI闂儊棰戠巼(鐧緈s)</string>
+          </property>
+         </widget>
+        </item>
+        <item>
+         <widget class="QLabel" name="label_10">
+          <property name="font">
+           <font>
+            <pointsize>12</pointsize>
+            <bold>false</bold>
+           </font>
+          </property>
+          <property name="text">
+           <string>浣庣數鐏棯鐑侀鐜(鐧緈s)</string>
+          </property>
+         </widget>
+        </item>
+       </layout>
+      </item>
+      <item>
+       <spacer name="horizontalSpacer_9">
+        <property name="orientation">
+         <enum>Qt::Horizontal</enum>
+        </property>
+        <property name="sizeHint" stdset="0">
+         <size>
+          <width>40</width>
+          <height>20</height>
+         </size>
+        </property>
+       </spacer>
+      </item>
+      <item>
+       <layout class="QVBoxLayout" name="verticalLayout_9">
+        <item>
+         <widget class="QLineEdit" name="lineEdit_24GFlickerFrequency">
+          <property name="font">
+           <font>
+            <pointsize>12</pointsize>
+            <bold>false</bold>
+           </font>
+          </property>
+          <property name="text">
+           <string>5</string>
+          </property>
+         </widget>
+        </item>
+        <item>
+         <widget class="QLineEdit" name="lineEdit_bluetoothBroadcastFlickerFrequency">
+          <property name="font">
+           <font>
+            <pointsize>12</pointsize>
+            <bold>false</bold>
+           </font>
+          </property>
+          <property name="text">
+           <string>5</string>
+          </property>
+         </widget>
+        </item>
+        <item>
+         <widget class="QLineEdit" name="lineEdit_bluetoothLinkBackToFlickerFrequency">
+          <property name="font">
+           <font>
+            <pointsize>12</pointsize>
+            <bold>false</bold>
+           </font>
+          </property>
+          <property name="text">
+           <string>2</string>
+          </property>
+         </widget>
+        </item>
+        <item>
+         <widget class="QLineEdit" name="lineEdit_dpiFlickerFrequency">
+          <property name="font">
+           <font>
+            <pointsize>12</pointsize>
+            <bold>false</bold>
+           </font>
+          </property>
+          <property name="text">
+           <string>2</string>
+          </property>
+         </widget>
+        </item>
+        <item>
+         <widget class="QLineEdit" name="lineEdit_lowLampFlickerFrequency">
+          <property name="font">
+           <font>
+            <pointsize>12</pointsize>
+            <bold>false</bold>
+           </font>
+          </property>
+          <property name="text">
+           <string>20</string>
+          </property>
+         </widget>
+        </item>
+       </layout>
+      </item>
+     </layout>
+    </widget>
+   </widget>
+   <widget class="QWidget" name="layoutWidget">
+    <property name="geometry">
+     <rect>
+      <x>21</x>
+      <y>32</y>
+      <width>351</width>
+      <height>64</height>
+     </rect>
+    </property>
+    <layout class="QHBoxLayout" name="horizontalLayout_8">
+     <item>
+      <layout class="QVBoxLayout" name="verticalLayout_10">
+       <item>
+        <widget class="QLabel" name="label_3">
+         <property name="font">
+          <font>
+           <pointsize>12</pointsize>
+           <bold>false</bold>
+          </font>
+         </property>
+         <property name="text">
+          <string>DPI鐏欢鏃堕棯鐑(鐧緈s)</string>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <widget class="QLabel" name="label_4">
+         <property name="font">
+          <font>
+           <pointsize>12</pointsize>
+           <bold>false</bold>
+          </font>
+         </property>
+         <property name="text">
+          <string>妯″紡鐏父浜椂闂(s)</string>
+         </property>
+        </widget>
+       </item>
+      </layout>
+     </item>
+     <item>
+      <spacer name="horizontalSpacer_10">
+       <property name="orientation">
+        <enum>Qt::Horizontal</enum>
+       </property>
+       <property name="sizeHint" stdset="0">
+        <size>
+         <width>40</width>
+         <height>20</height>
+        </size>
+       </property>
+      </spacer>
+     </item>
+     <item>
+      <layout class="QVBoxLayout" name="verticalLayout_11">
+       <item>
+        <widget class="QLineEdit" name="lineEdit_dpiLampDelayFlicker">
+         <property name="font">
+          <font>
+           <pointsize>12</pointsize>
+           <bold>false</bold>
+          </font>
+         </property>
+         <property name="text">
+          <string>10</string>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <widget class="QLineEdit" name="lineEdit_theModeLightUsuallyTurnsOnTime">
+         <property name="font">
+          <font>
+           <pointsize>12</pointsize>
+           <bold>false</bold>
+          </font>
+         </property>
+         <property name="text">
+          <string>2</string>
+         </property>
+        </widget>
+       </item>
+      </layout>
+     </item>
+    </layout>
+   </widget>
+  </widget>
+  <widget class="QGroupBox" name="groupBox_sensorConfiguration">
+   <property name="geometry">
+    <rect>
+     <x>740</x>
+     <y>330</y>
+     <width>311</width>
+     <height>131</height>
+    </rect>
+   </property>
+   <property name="font">
+    <font>
+     <pointsize>12</pointsize>
+     <bold>true</bold>
+    </font>
+   </property>
+   <property name="title">
+    <string>Sensor閰嶇疆</string>
+   </property>
+   <widget class="QCheckBox" name="checkBox_smoothAlgorithm">
+    <property name="geometry">
+     <rect>
+      <x>9</x>
+      <y>96</y>
+      <width>301</width>
+      <height>31</height>
+     </rect>
+    </property>
+    <property name="font">
+     <font>
+      <pointsize>12</pointsize>
+      <bold>false</bold>
+     </font>
+    </property>
+    <property name="acceptDrops">
+     <bool>false</bool>
+    </property>
+    <property name="text">
+     <string>鍦嗘粦绠楁硶</string>
+    </property>
+    <property name="checked">
+     <bool>true</bool>
+    </property>
+   </widget>
+   <widget class="QWidget" name="layoutWidget">
+    <property name="geometry">
+     <rect>
+      <x>9</x>
+      <y>32</y>
+      <width>297</width>
+      <height>64</height>
+     </rect>
+    </property>
+    <layout class="QHBoxLayout" name="horizontalLayout_10">
+     <item>
+      <layout class="QVBoxLayout" name="verticalLayout_16">
+       <item>
+        <widget class="QLabel" name="label_36">
+         <property name="font">
+          <font>
+           <pointsize>12</pointsize>
+           <bold>false</bold>
+          </font>
+         </property>
+         <property name="text">
+          <string>clock gpio</string>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <widget class="QLabel" name="label_38">
+         <property name="font">
+          <font>
+           <pointsize>12</pointsize>
+           <bold>false</bold>
+          </font>
+         </property>
+         <property name="text">
+          <string>sdio gpio</string>
+         </property>
+        </widget>
+       </item>
+      </layout>
+     </item>
+     <item>
+      <spacer name="horizontalSpacer_3">
+       <property name="orientation">
+        <enum>Qt::Horizontal</enum>
+       </property>
+       <property name="sizeHint" stdset="0">
+        <size>
+         <width>40</width>
+         <height>20</height>
+        </size>
+       </property>
+      </spacer>
+     </item>
+     <item>
+      <layout class="QVBoxLayout" name="verticalLayout_17">
+       <item>
+        <widget class="QLineEdit" name="lineEdit_clockGpio">
+         <property name="font">
+          <font>
+           <pointsize>12</pointsize>
+           <bold>false</bold>
+          </font>
+         </property>
+         <property name="text">
+          <string>7</string>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <widget class="QLineEdit" name="lineEdit_sdioGpio">
+         <property name="font">
+          <font>
+           <pointsize>12</pointsize>
+           <bold>false</bold>
+          </font>
+         </property>
+         <property name="text">
+          <string>6</string>
+         </property>
+        </widget>
+       </item>
+      </layout>
+     </item>
+     <item>
+      <spacer name="horizontalSpacer_11">
+       <property name="orientation">
+        <enum>Qt::Horizontal</enum>
+       </property>
+       <property name="sizeHint" stdset="0">
+        <size>
+         <width>40</width>
+         <height>20</height>
+        </size>
+       </property>
+      </spacer>
+     </item>
+     <item>
+      <layout class="QVBoxLayout" name="verticalLayout_18">
+       <item>
+        <widget class="QLabel" name="label_35">
+         <property name="font">
+          <font>
+           <pointsize>12</pointsize>
+           <bold>false</bold>
+          </font>
+         </property>
+         <property name="text">
+          <string>锛坔ex锛</string>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <widget class="QLabel" name="label_37">
+         <property name="font">
+          <font>
+           <pointsize>12</pointsize>
+           <bold>false</bold>
+          </font>
+         </property>
+         <property name="text">
+          <string>锛坔ex锛</string>
+         </property>
+        </widget>
+       </item>
+      </layout>
+     </item>
+    </layout>
+   </widget>
+  </widget>
+  <widget class="QGroupBox" name="groupBox_timeParameterConfiguration">
+   <property name="geometry">
+    <rect>
+     <x>10</x>
+     <y>440</y>
+     <width>381</width>
+     <height>233</height>
+    </rect>
+   </property>
+   <property name="font">
+    <font>
+     <pointsize>12</pointsize>
+     <bold>true</bold>
+    </font>
+   </property>
+   <property name="title">
+    <string>鏃堕棿鍙傛暟閰嶇疆</string>
+   </property>
+   <layout class="QGridLayout" name="gridLayout">
+    <item row="0" column="0">
+     <layout class="QHBoxLayout" name="horizontalLayout_6">
+      <item>
+       <layout class="QVBoxLayout" name="verticalLayout_4">
+        <item>
+         <widget class="QLabel" name="label_15">
+          <property name="font">
+           <font>
+            <pointsize>12</pointsize>
+            <bold>false</bold>
+           </font>
+          </property>
+          <property name="text">
+           <string>钃濈墮骞挎挱鏃堕棿(s)</string>
+          </property>
+         </widget>
+        </item>
+        <item>
+         <widget class="QLabel" name="label_16">
+          <property name="font">
+           <font>
+            <pointsize>12</pointsize>
+            <bold>false</bold>
+           </font>
+          </property>
+          <property name="text">
+           <string>钃濈墮鍥炶繛鏃堕棿(s)</string>
+          </property>
+         </widget>
+        </item>
+        <item>
+         <widget class="QLabel" name="label_18">
+          <property name="font">
+           <font>
+            <pointsize>12</pointsize>
+            <bold>false</bold>
+           </font>
+          </property>
+          <property name="text">
+           <string>24G瀵圭爜鏃堕棿(s)</string>
+          </property>
+         </widget>
+        </item>
+        <item>
+         <widget class="QLabel" name="label_17">
+          <property name="font">
+           <font>
+            <pointsize>12</pointsize>
+            <bold>false</bold>
+           </font>
+          </property>
+          <property name="text">
+           <string>24G鍥炶繛鏃堕棿(s)</string>
+          </property>
+         </widget>
+        </item>
+        <item>
+         <widget class="QLabel" name="label_19">
+          <property name="font">
+           <font>
+            <pointsize>12</pointsize>
+            <bold>false</bold>
+           </font>
+          </property>
+          <property name="text">
+           <string>24G蹇繛鏃堕棿(鐧緈s)</string>
+          </property>
+         </widget>
+        </item>
+        <item>
+         <widget class="QLabel" name="label_20">
+          <property name="font">
+           <font>
+            <pointsize>12</pointsize>
+            <bold>false</bold>
+           </font>
+          </property>
+          <property name="text">
+           <string>浼戠湢鏃堕棿(s)</string>
+          </property>
+         </widget>
+        </item>
+       </layout>
+      </item>
+      <item>
+       <spacer name="horizontalSpacer_5">
+        <property name="orientation">
+         <enum>Qt::Horizontal</enum>
+        </property>
+        <property name="sizeHint" stdset="0">
+         <size>
+          <width>40</width>
+          <height>20</height>
+         </size>
+        </property>
+       </spacer>
+      </item>
+      <item>
+       <layout class="QVBoxLayout" name="verticalLayout_5">
+        <item>
+         <widget class="QLineEdit" name="lineEdit_bluetoothBroadcastTime">
+          <property name="font">
+           <font>
+            <pointsize>12</pointsize>
+            <bold>false</bold>
+           </font>
+          </property>
+          <property name="text">
+           <string>120</string>
+          </property>
+         </widget>
+        </item>
+        <item>
+         <widget class="QLineEdit" name="lineEdit_bluetoothBackTime">
+          <property name="font">
+           <font>
+            <pointsize>12</pointsize>
+            <bold>false</bold>
+           </font>
+          </property>
+          <property name="text">
+           <string>10</string>
+          </property>
+         </widget>
+        </item>
+        <item>
+         <widget class="QLineEdit" name="lineEdit_24gCodetocodeTime">
+          <property name="font">
+           <font>
+            <pointsize>12</pointsize>
+            <bold>false</bold>
+           </font>
+          </property>
+          <property name="text">
+           <string>60</string>
+          </property>
+         </widget>
+        </item>
+        <item>
+         <widget class="QLineEdit" name="lineEdit_24gCallBackTime">
+          <property name="font">
+           <font>
+            <pointsize>12</pointsize>
+            <bold>false</bold>
+           </font>
+          </property>
+          <property name="text">
+           <string>10</string>
+          </property>
+         </widget>
+        </item>
+        <item>
+         <widget class="QLineEdit" name="lineEdit_24gFastConnectTime">
+          <property name="font">
+           <font>
+            <pointsize>12</pointsize>
+            <bold>false</bold>
+           </font>
+          </property>
+          <property name="text">
+           <string>10</string>
+          </property>
+         </widget>
+        </item>
+        <item>
+         <widget class="QLineEdit" name="lineEdit_sleepTime">
+          <property name="font">
+           <font>
+            <pointsize>12</pointsize>
+            <bold>false</bold>
+           </font>
+          </property>
+          <property name="text">
+           <string>600</string>
+          </property>
+         </widget>
+        </item>
+       </layout>
+      </item>
+     </layout>
+    </item>
+   </layout>
+  </widget>
+  <widget class="QDialogButtonBox" name="buttonBox">
+   <property name="geometry">
+    <rect>
+     <x>490</x>
+     <y>650</y>
+     <width>164</width>
+     <height>24</height>
+    </rect>
+   </property>
+   <property name="font">
+    <font>
+     <pointsize>12</pointsize>
+     <bold>false</bold>
+    </font>
+   </property>
+   <property name="orientation">
+    <enum>Qt::Horizontal</enum>
+   </property>
+   <property name="standardButtons">
+    <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
+   </property>
+   <property name="centerButtons">
+    <bool>true</bool>
+   </property>
+  </widget>
+  <widget class="QGroupBox" name="groupBox_5">
+   <property name="geometry">
+    <rect>
+     <x>410</x>
+     <y>150</y>
+     <width>321</width>
+     <height>131</height>
+    </rect>
+   </property>
+   <property name="font">
+    <font>
+     <pointsize>12</pointsize>
+     <bold>true</bold>
+    </font>
+   </property>
+   <property name="title">
+    <string>Logo鐏厤缃</string>
+   </property>
+   <widget class="QCheckBox" name="checkBox_LogoLedMemory">
+    <property name="geometry">
+     <rect>
+      <x>12</x>
+      <y>30</y>
+      <width>282</width>
+      <height>23</height>
+     </rect>
+    </property>
+    <property name="font">
+     <font>
+      <pointsize>12</pointsize>
+     </font>
+    </property>
+    <property name="text">
+     <string>璁板繂鍔熻兘</string>
+    </property>
+   </widget>
+   <widget class="QLabel" name="label_44">
+    <property name="geometry">
+     <rect>
+      <x>16</x>
+      <y>93</y>
+      <width>181</width>
+      <height>21</height>
+     </rect>
+    </property>
+    <property name="font">
+     <font>
+      <pointsize>12</pointsize>
+      <bold>false</bold>
+     </font>
+    </property>
+    <property name="text">
+     <string>Logo鐏鐢ㄧ被鍨</string>
+    </property>
+   </widget>
+   <widget class="QLabel" name="label_43">
+    <property name="geometry">
+     <rect>
+      <x>16</x>
+      <y>62</y>
+      <width>181</width>
+      <height>21</height>
+     </rect>
+    </property>
+    <property name="font">
+     <font>
+      <pointsize>12</pointsize>
+      <bold>false</bold>
+     </font>
+    </property>
+    <property name="text">
+     <string>Logo鐏帶鍒剁被鍨</string>
+    </property>
+   </widget>
+   <widget class="QComboBox" name="comboBox_Logo_led_reuse">
+    <property name="geometry">
+     <rect>
+      <x>210</x>
+      <y>93</y>
+      <width>101</width>
+      <height>24</height>
+     </rect>
+    </property>
+    <item>
+     <property name="text">
+      <string>绂佺敤</string>
+     </property>
+    </item>
+    <item>
+     <property name="text">
+      <string>DPI鐏笌Logo鐏鐢</string>
+     </property>
+    </item>
+    <item>
+     <property name="text">
+      <string>浣庣數鐏笌Logo鐏鐢</string>
+     </property>
+    </item>
+    <item>
+     <property name="text">
+      <string>DPI+浣庣數鐏笌Logo鐏鐢</string>
+     </property>
+    </item>
+   </widget>
+   <widget class="QComboBox" name="comboBox_Logo_led_control">
+    <property name="geometry">
+     <rect>
+      <x>208</x>
+      <y>62</y>
+      <width>101</width>
+      <height>24</height>
+     </rect>
+    </property>
+    <item>
+     <property name="text">
+      <string>绂佺敤</string>
+     </property>
+    </item>
+    <item>
+     <property name="text">
+      <string>缁勫悎閿帶鍒</string>
+     </property>
+    </item>
+    <item>
+     <property name="text">
+      <string>DPI閿帶鍒</string>
+     </property>
+    </item>
+   </widget>
+  </widget>
+  <widget class="QGroupBox" name="groupBox_lowPowerConfiguration">
+   <property name="geometry">
+    <rect>
+     <x>740</x>
+     <y>0</y>
+     <width>311</width>
+     <height>321</height>
+    </rect>
+   </property>
+   <property name="sizePolicy">
+    <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
+     <horstretch>0</horstretch>
+     <verstretch>0</verstretch>
+    </sizepolicy>
+   </property>
+   <property name="font">
+    <font>
+     <pointsize>12</pointsize>
+     <bold>true</bold>
+    </font>
+   </property>
+   <property name="title">
+    <string>浣庣數閰嶇疆</string>
+   </property>
+   <widget class="QGroupBox" name="groupBox_lowPowerEnable_2">
+    <property name="geometry">
+     <rect>
+      <x>10</x>
+      <y>30</y>
+      <width>301</width>
+      <height>291</height>
+     </rect>
+    </property>
+    <property name="font">
+     <font>
+      <pointsize>12</pointsize>
+      <bold>true</bold>
+     </font>
+    </property>
+    <property name="title">
+     <string>浣庣數浣胯兘</string>
+    </property>
+    <property name="checkable">
+     <bool>true</bool>
+    </property>
+    <property name="checked">
+     <bool>false</bool>
+    </property>
+    <widget class="QGroupBox" name="groupBox_lowLightEnable_3">
+     <property name="geometry">
+      <rect>
+       <x>20</x>
+       <y>210</y>
+       <width>271</width>
+       <height>71</height>
+      </rect>
+     </property>
+     <property name="sizePolicy">
+      <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+       <horstretch>0</horstretch>
+       <verstretch>60</verstretch>
+      </sizepolicy>
+     </property>
+     <property name="minimumSize">
+      <size>
+       <width>100</width>
+       <height>50</height>
+      </size>
+     </property>
+     <property name="font">
+      <font>
+       <pointsize>12</pointsize>
+       <bold>true</bold>
+      </font>
+     </property>
+     <property name="title">
+      <string>浣庣數鐏娇鑳</string>
+     </property>
+     <property name="checkable">
+      <bool>true</bool>
+     </property>
+     <property name="checked">
+      <bool>false</bool>
+     </property>
+     <widget class="QLabel" name="label_49">
+      <property name="geometry">
+       <rect>
+        <x>190</x>
+        <y>31</y>
+        <width>71</width>
+        <height>21</height>
+       </rect>
+      </property>
+      <property name="font">
+       <font>
+        <pointsize>12</pointsize>
+       </font>
+      </property>
+      <property name="text">
+       <string>锛坔ex锛</string>
+      </property>
+     </widget>
+     <widget class="QLabel" name="label_lowLightGpio_3">
+      <property name="geometry">
+       <rect>
+        <x>11</x>
+        <y>31</y>
+        <width>121</width>
+        <height>21</height>
+       </rect>
+      </property>
+      <property name="font">
+       <font>
+        <pointsize>12</pointsize>
+       </font>
+      </property>
+      <property name="text">
+       <string>浣庣數鐏疓PIO</string>
+      </property>
+     </widget>
+     <widget class="QLineEdit" name="lineEdit_lowLightGpio_3">
+      <property name="geometry">
+       <rect>
+        <x>145</x>
+        <y>31</y>
+        <width>41</width>
+        <height>28</height>
+       </rect>
+      </property>
+      <property name="font">
+       <font>
+        <pointsize>12</pointsize>
+       </font>
+      </property>
+     </widget>
+    </widget>
+    <widget class="QWidget" name="layoutWidget">
+     <property name="geometry">
+      <rect>
+       <x>20</x>
+       <y>30</y>
+       <width>259</width>
+       <height>162</height>
+      </rect>
+     </property>
+     <layout class="QHBoxLayout" name="horizontalLayout_5">
+      <item>
+       <layout class="QVBoxLayout" name="verticalLayout_2">
+        <item>
+         <widget class="QLabel" name="label_51">
+          <property name="font">
+           <font>
+            <pointsize>12</pointsize>
+           </font>
+          </property>
+          <property name="text">
+           <string>ADC閲囨牱妯″紡</string>
+          </property>
+         </widget>
+        </item>
+        <item>
+         <widget class="QLabel" name="label_lowPowerEnable_3">
+          <property name="font">
+           <font>
+            <pointsize>12</pointsize>
+           </font>
+          </property>
+          <property name="text">
+           <string>ADC閫氶亾</string>
+          </property>
+         </widget>
+        </item>
+        <item>
+         <widget class="QLabel" name="label_46">
+          <property name="font">
+           <font>
+            <pointsize>12</pointsize>
+           </font>
+          </property>
+          <property name="text">
+           <string>婊＄數鐢靛帇锛圴锛</string>
+          </property>
+         </widget>
+        </item>
+        <item>
+         <widget class="QLabel" name="label_50">
+          <property name="font">
+           <font>
+            <pointsize>12</pointsize>
+           </font>
+          </property>
+          <property name="text">
+           <string>浣庣數鐢靛帇锛圴锛</string>
+          </property>
+         </widget>
+        </item>
+        <item>
+         <widget class="QLabel" name="label_shutdownVoltage_3">
+          <property name="font">
+           <font>
+            <pointsize>12</pointsize>
+           </font>
+          </property>
+          <property name="text">
+           <string>鍏虫満鐢靛帇锛圴锛</string>
+          </property>
+         </widget>
+        </item>
+       </layout>
+      </item>
+      <item>
+       <spacer name="horizontalSpacer">
+        <property name="orientation">
+         <enum>Qt::Horizontal</enum>
+        </property>
+        <property name="sizeHint" stdset="0">
+         <size>
+          <width>40</width>
+          <height>20</height>
+         </size>
+        </property>
+       </spacer>
+      </item>
+      <item>
+       <layout class="QVBoxLayout" name="verticalLayout_3">
+        <item>
+         <widget class="QComboBox" name="comboBox_adcSamplingMode_3">
+          <property name="font">
+           <font>
+            <pointsize>12</pointsize>
+           </font>
+          </property>
+          <item>
+           <property name="text">
+            <string>GPIO</string>
+           </property>
+          </item>
+          <item>
+           <property name="text">
+            <string>VIN</string>
+           </property>
+          </item>
+         </widget>
+        </item>
+        <item>
+         <widget class="QComboBox" name="comboBox_adcChannel_3">
+          <property name="font">
+           <font>
+            <pointsize>12</pointsize>
+           </font>
+          </property>
+          <property name="currentIndex">
+           <number>5</number>
+          </property>
+          <item>
+           <property name="text">
+            <string>GPIO4</string>
+           </property>
+          </item>
+          <item>
+           <property name="text">
+            <string>GPIO5</string>
+           </property>
+          </item>
+          <item>
+           <property name="text">
+            <string>GPIO6</string>
+           </property>
+          </item>
+          <item>
+           <property name="text">
+            <string>GPIO7</string>
+           </property>
+          </item>
+          <item>
+           <property name="text">
+            <string>GPIO9</string>
+           </property>
+          </item>
+          <item>
+           <property name="text">
+            <string>GPIO10</string>
+           </property>
+          </item>
+          <item>
+           <property name="text">
+            <string>GPIO11</string>
+           </property>
+          </item>
+          <item>
+           <property name="text">
+            <string>GPIO12</string>
+           </property>
+          </item>
+         </widget>
+        </item>
+        <item>
+         <widget class="QLineEdit" name="lineEdit_fullVoltage_3">
+          <property name="font">
+           <font>
+            <pointsize>12</pointsize>
+           </font>
+          </property>
+         </widget>
+        </item>
+        <item>
+         <widget class="QLineEdit" name="lineEdit_lowVoltage_3">
+          <property name="font">
+           <font>
+            <pointsize>12</pointsize>
+           </font>
+          </property>
+         </widget>
+        </item>
+        <item>
+         <widget class="QLineEdit" name="lineEdit_shutdownVoltage_3">
+          <property name="font">
+           <font>
+            <pointsize>12</pointsize>
+           </font>
+          </property>
+         </widget>
+        </item>
+       </layout>
+      </item>
+     </layout>
+    </widget>
+   </widget>
+  </widget>
+  <widget class="QCheckBox" name="checkBox_cancelTheBatteryReport">
+   <property name="geometry">
+    <rect>
+     <x>740</x>
+     <y>473</y>
+     <width>171</width>
+     <height>27</height>
+    </rect>
+   </property>
+   <property name="font">
+    <font>
+     <pointsize>12</pointsize>
+     <bold>false</bold>
+    </font>
+   </property>
+   <property name="text">
+    <string>鍙栨秷鐢甸噺涓婃姤</string>
+   </property>
+   <property name="checkable">
+    <bool>true</bool>
+   </property>
+   <property name="checked">
+    <bool>false</bool>
+   </property>
+  </widget>
+  <widget class="QGroupBox" name="groupBox">
+   <property name="geometry">
+    <rect>
+     <x>410</x>
+     <y>360</y>
+     <width>321</width>
+     <height>251</height>
+    </rect>
+   </property>
+   <property name="font">
+    <font>
+     <pointsize>12</pointsize>
+     <bold>true</bold>
+    </font>
+   </property>
+   <property name="title">
+    <string>钃濈墮鍚嶉厤缃</string>
+   </property>
+   <widget class="QCheckBox" name="checkBox_BtNameEnable">
+    <property name="geometry">
+     <rect>
+      <x>10</x>
+      <y>119</y>
+      <width>301</width>
+      <height>27</height>
+     </rect>
+    </property>
+    <property name="font">
+     <font>
+      <pointsize>12</pointsize>
+      <bold>false</bold>
+     </font>
+    </property>
+    <property name="text">
+     <string>钃濈墮閫氶亾2鍚嶇О淇敼浣胯兘</string>
+    </property>
+   </widget>
+   <widget class="QGroupBox" name="groupBox_BluetoothConfig">
+    <property name="enabled">
+     <bool>false</bool>
+    </property>
+    <property name="geometry">
+     <rect>
+      <x>0</x>
+      <y>160</y>
+      <width>321</width>
+      <height>91</height>
+     </rect>
+    </property>
+    <property name="title">
+     <string/>
+    </property>
+    <widget class="QLineEdit" name="lineEdit_Ble2Name">
+     <property name="geometry">
+      <rect>
+       <x>170</x>
+       <y>20</y>
+       <width>142</width>
+       <height>28</height>
+      </rect>
+     </property>
+     <property name="font">
+      <font>
+       <pointsize>12</pointsize>
+       <bold>false</bold>
+      </font>
+     </property>
+     <property name="text">
+      <string/>
+     </property>
+    </widget>
+    <widget class="QLineEdit" name="lineEdit_Bt2Name">
+     <property name="geometry">
+      <rect>
+       <x>170</x>
+       <y>60</y>
+       <width>142</width>
+       <height>28</height>
+      </rect>
+     </property>
+     <property name="font">
+      <font>
+       <pointsize>12</pointsize>
+       <bold>false</bold>
+      </font>
+     </property>
+     <property name="text">
+      <string/>
+     </property>
+    </widget>
+    <widget class="QLabel" name="label_41">
+     <property name="geometry">
+      <rect>
+       <x>20</x>
+       <y>20</y>
+       <width>141</width>
+       <height>21</height>
+      </rect>
+     </property>
+     <property name="font">
+      <font>
+       <pointsize>12</pointsize>
+       <bold>false</bold>
+      </font>
+     </property>
+     <property name="text">
+      <string>BLE钃濈墮2鍚嶅瓧</string>
+     </property>
+    </widget>
+    <widget class="QLabel" name="label_42">
+     <property name="geometry">
+      <rect>
+       <x>20</x>
+       <y>60</y>
+       <width>141</width>
+       <height>21</height>
+      </rect>
+     </property>
+     <property name="font">
+      <font>
+       <pointsize>12</pointsize>
+       <bold>false</bold>
+      </font>
+     </property>
+     <property name="text">
+      <string>BT钃濈墮2鍚嶅瓧</string>
+     </property>
+    </widget>
+   </widget>
+   <widget class="QLineEdit" name="lineEdit_Bt1Name">
+    <property name="geometry">
+     <rect>
+      <x>170</x>
+      <y>80</y>
+      <width>142</width>
+      <height>28</height>
+     </rect>
+    </property>
+    <property name="font">
+     <font>
+      <pointsize>12</pointsize>
+      <bold>false</bold>
+     </font>
+    </property>
+    <property name="text">
+     <string/>
+    </property>
+   </widget>
+   <widget class="QLabel" name="label_40">
+    <property name="geometry">
+     <rect>
+      <x>20</x>
+      <y>80</y>
+      <width>141</width>
+      <height>21</height>
+     </rect>
+    </property>
+    <property name="font">
+     <font>
+      <pointsize>12</pointsize>
+      <bold>false</bold>
+     </font>
+    </property>
+    <property name="text">
+     <string>BT钃濈墮1鍚嶅瓧</string>
+    </property>
+   </widget>
+   <widget class="QLabel" name="label_39">
+    <property name="geometry">
+     <rect>
+      <x>20</x>
+      <y>40</y>
+      <width>141</width>
+      <height>21</height>
+     </rect>
+    </property>
+    <property name="maximumSize">
+     <size>
+      <width>16777215</width>
+      <height>40</height>
+     </size>
+    </property>
+    <property name="font">
+     <font>
+      <pointsize>12</pointsize>
+      <bold>false</bold>
+     </font>
+    </property>
+    <property name="text">
+     <string>BLE钃濈墮1鍚嶅瓧</string>
+    </property>
+   </widget>
+   <widget class="QLineEdit" name="lineEdit_Ble1Name">
+    <property name="geometry">
+     <rect>
+      <x>170</x>
+      <y>40</y>
+      <width>142</width>
+      <height>28</height>
+     </rect>
+    </property>
+    <property name="minimumSize">
+     <size>
+      <width>0</width>
+      <height>14</height>
+     </size>
+    </property>
+    <property name="maximumSize">
+     <size>
+      <width>16777215</width>
+      <height>40</height>
+     </size>
+    </property>
+    <property name="font">
+     <font>
+      <pointsize>12</pointsize>
+      <bold>false</bold>
+     </font>
+    </property>
+    <property name="text">
+     <string/>
+    </property>
+   </widget>
+  </widget>
+ </widget>
+ <tabstops>
+  <tabstop>lineEdit_theModeLightUsuallyTurnsOnTime</tabstop>
+  <tabstop>lineEdit_theNumberOfTimesTheBluetoothConnectionFlashes</tabstop>
+  <tabstop>lineEdit_24GFlickerTimes</tabstop>
+  <tabstop>lineEdit_lowLampFlickerTimes</tabstop>
+  <tabstop>lineEdit_24GFlickerFrequency</tabstop>
+  <tabstop>lineEdit_bluetoothBroadcastFlickerFrequency</tabstop>
+  <tabstop>lineEdit_bluetoothLinkBackToFlickerFrequency</tabstop>
+  <tabstop>lineEdit_dpiFlickerFrequency</tabstop>
+  <tabstop>lineEdit_lowLampFlickerFrequency</tabstop>
+  <tabstop>lineEdit_dpiLampDelayFlicker</tabstop>
+  <tabstop>lineEdit_bluetoothBroadcastTime</tabstop>
+  <tabstop>lineEdit_bluetoothBackTime</tabstop>
+  <tabstop>lineEdit_24gCodetocodeTime</tabstop>
+  <tabstop>lineEdit_24gCallBackTime</tabstop>
+  <tabstop>lineEdit_24gFastConnectTime</tabstop>
+  <tabstop>lineEdit_sleepTime</tabstop>
+  <tabstop>lineEdit_clockGpio</tabstop>
+  <tabstop>lineEdit_sdioGpio</tabstop>
+  <tabstop>checkBox_cancelTheBatteryReport</tabstop>
+ </tabstops>
+ <resources/>
+ <connections>
+  <connection>
+   <sender>buttonBox</sender>
+   <signal>accepted()</signal>
+   <receiver>advancedConfigurationDlg</receiver>
+   <slot>accept()</slot>
+   <hints>
+    <hint type="sourcelabel">
+     <x>248</x>
+     <y>254</y>
+    </hint>
+    <hint type="destinationlabel">
+     <x>157</x>
+     <y>274</y>
+    </hint>
+   </hints>
+  </connection>
+  <connection>
+   <sender>buttonBox</sender>
+   <signal>rejected()</signal>
+   <receiver>advancedConfigurationDlg</receiver>
+   <slot>reject()</slot>
+   <hints>
+    <hint type="sourcelabel">
+     <x>316</x>
+     <y>260</y>
+    </hint>
+    <hint type="destinationlabel">
+     <x>286</x>
+     <y>274</y>
+    </hint>
+   </hints>
+  </connection>
+ </connections>
+</ui>
Index: build_debug.bat
===================================================================
--- /YC1308AC/branch/mouse_project/TestTools/mous-config-tool-qt/build_debug.bat	(nonexistent)
+++ /YC1308AC/branch/mouse_project/TestTools/mous-config-tool-qt/build_debug.bat	(working copy)
@@ -0,0 +1,7 @@
+
+mkdir debug_total
+copy debug\mouse-config-tool-qt.exe debug_total\
+copy *.png debug_total\
+copy qt.conf debug_total\
+cd debug_total
+D:\Qt5.15.2\5.15.2\msvc2019\bin\windeployqt.exe mouse-config-tool-qt.exe
Index: build_release.bat
===================================================================
--- /YC1308AC/branch/mouse_project/TestTools/mous-config-tool-qt/build_release.bat	(nonexistent)
+++ /YC1308AC/branch/mouse_project/TestTools/mous-config-tool-qt/build_release.bat	(working copy)
@@ -0,0 +1,7 @@
+
+mkdir release_total
+copy release\mouse-config-tool-qt.exe release_total\
+copy *.png release_total\
+copy qt.conf release_total\
+cd release_total
+D:\Qt5.15.2\5.15.2\msvc2019\bin\windeployqt.exe mouse-config-tool-qt.exe
Index: eeprom.dat
===================================================================
--- /YC1308AC/branch/mouse_project/TestTools/mous-config-tool-qt/eeprom.dat	(nonexistent)
+++ /YC1308AC/branch/mouse_project/TestTools/mous-config-tool-qt/eeprom.dat	(working copy)
@@ -0,0 +1,8192 @@
+00
+02
+aa
+55
+b6
+19
+c2
+84
+00
+21
+c0
+00
+00
+35
+c0
+41
+01
+4b
+c0
+41
+80
+9f
+c0
+42
+00
+a6
+c0
+45
+00
+cc
+c0
+45
+81
+3e
+c0
+46
+00
+b4
+c0
+4f
+81
+52
+c0
+52
+00
+6c
+c0
+57
+01
+54
+c0
+61
+83
+9e
+c0
+62
+00
+74
+c0
+63
+82
+9e
+c0
+64
+82
+a4
+c0
+65
+02
+d2
+c0
+66
+00
+f4
+c0
+67
+05
+7d
+c0
+67
+86
+37
+c0
+68
+03
+b9
+c0
+68
+85
+b8
+c0
+69
+83
+d5
+c0
+6a
+05
+a0
+c0
+6b
+02
+fb
+c0
+6c
+83
+f6
+c0
+6d
+05
+07
+c0
+6d
+85
+11
+c0
+6f
+06
+01
+c0
+6f
+80
+8b
+c0
+70
+80
+84
+c0
+71
+00
+81
+c0
+74
+05
+18
+20
+20
+13
+7c
+c0
+0c
+00
+56
+c0
+0d
+05
+2c
+c0
+0f
+80
+60
+c0
+10
+00
+7f
+c0
+15
+80
+3b
+c0
+19
+80
+d4
+c0
+1a
+00
+d9
+c0
+43
+85
+14
+c0
+50
+85
+36
+c0
+51
+85
+40
+c0
+5a
+85
+42
+c0
+60
+05
+4c
+c0
+6c
+80
+43
+c0
+71
+03
+5f
+c0
+74
+83
+67
+c0
+75
+02
+3a
+c0
+75
+82
+67
+c0
+76
+05
+72
+c0
+76
+86
+3f
+20
+20
+13
+7c
+20
+80
+00
+00
+20
+40
+30
+f3
+24
+55
+80
+87
+20
+55
+c1
+68
+20
+40
+3b
+fd
+20
+20
+08
+04
+6f
+f0
+8a
+0b
+79
+3f
+fe
+05
+79
+3f
+fe
+04
+79
+3f
+fe
+00
+67
+f0
+8a
+0b
+20
+00
+00
+18
+79
+3f
+fe
+03
+20
+20
+5e
+a4
+20
+40
+1b
+77
+24
+7a
+00
+00
+6f
+e0
+c3
+9b
+c0
+06
+00
+48
+20
+20
+20
+81
+6f
+e0
+c3
+4f
+68
+48
+c3
+56
+98
+41
+7e
+00
+2f
+ec
+00
+01
+20
+20
+a0
+b1
+70
+43
+9b
+0d
+20
+20
+00
+4f
+18
+00
+22
+11
+20
+40
+21
+09
+58
+00
+00
+08
+e7
+e0
+80
+05
+df
+20
+00
+10
+d8
+c0
+43
+16
+20
+20
+7d
+5f
+6f
+e0
+80
+d0
+67
+e0
+83
+9d
+c0
+09
+80
+5a
+20
+20
+54
+65
+6f
+e0
+80
+bd
+79
+3f
+fe
+02
+67
+e0
+80
+bd
+70
+09
+5b
+20
+20
+40
+78
+71
+20
+20
+09
+df
+20
+40
+59
+e1
+24
+7a
+00
+00
+6f
+e0
+80
+56
+20
+7a
+00
+00
+6f
+e0
+80
+56
+c0
+02
+00
+67
+20
+20
+5a
+45
+70
+00
+56
+05
+70
+03
+a6
+ff
+79
+3f
+80
+22
+70
+00
+7d
+33
+20
+20
+53
+90
+20
+40
+14
+65
+6f
+e1
+c1
+74
+20
+7a
+00
+00
+6f
+e0
+c0
+99
+20
+7a
+00
+00
+6f
+e0
+cc
+41
+24
+7a
+00
+00
+20
+20
+14
+e3
+da
+20
+49
+39
+6f
+e0
+c9
+38
+1f
+e0
+ff
+ff
+1f
+ef
+fe
+1d
+9a
+20
+a2
+00
+ef
+e0
+80
+11
+67
+e0
+c4
+82
+6f
+e0
+c4
+82
+c0
+19
+bd
+6f
+c0
+1a
+3d
+7b
+20
+20
+42
+eb
+6f
+e0
+c9
+1f
+20
+20
+5a
+f8
+18
+46
+7c
+ff
+c1
+02
+80
+00
+20
+20
+49
+30
+18
+46
+7c
+ff
+c1
+02
+80
+00
+20
+20
+49
+2c
+6f
+e0
+cb
+af
+24
+7a
+00
+00
+70
+44
+8c
+00
+20
+60
+00
+00
+6f
+e0
+cb
+b4
+c1
+00
+80
+00
+20
+40
+46
+c2
+60
+48
+c9
+38
+20
+40
+04
+63
+20
+40
+01
+34
+70
+41
+ca
+00
+20
+40
+46
+da
+20
+40
+00
+9c
+20
+40
+31
+73
+20
+40
+00
+97
+20
+20
+46
+bd
+58
+00
+00
+00
+67
+e4
+40
+40
+70
+00
+31
+00
+70
+47
+8b
+00
+20
+60
+00
+00
+6f
+e1
+47
+8c
+c3
+83
+80
+00
+20
+20
+43
+18
+70
+89
+00
+05
+20
+00
+00
+02
+70
+89
+00
+00
+6f
+e0
+c0
+c5
+c0
+0c
+11
+68
+70
+8a
+87
+29
+20
+20
+11
+7d
+20
+40
+11
+90
+58
+00
+76
+76
+67
+f1
+09
+68
+20
+60
+00
+00
+c6
+93
+00
+00
+6f
+e2
+48
+91
+68
+4a
+48
+8d
+98
+46
+7c
+00
+20
+22
+80
+b1
+70
+41
+ea
+ff
+20
+60
+00
+00
+70
+41
+ea
+00
+70
+41
+e8
+aa
+20
+60
+00
+00
+6f
+f0
+89
+a2
+2f
+ef
+fe
+06
+79
+20
+fe
+07
+67
+e0
+c1
+e9
+6f
+f0
+89
+a3
+1f
+e1
+04
+0f
+18
+43
+84
+00
+1f
+f1
+fe
+00
+98
+40
+84
+00
+18
+4f
+a2
+03
+6f
+e0
+c1
+e9
+20
+40
+00
+c9
+1f
+e6
+7e
+00
+9a
+20
+fe
+00
+1f
+e0
+ff
+f7
+1f
+e1
+7f
+ff
+2f
+ef
+fe
+08
+24
+20
+80
+c7
+58
+00
+00
+00
+67
+e0
+80
+19
+20
+60
+00
+00
+2f
+ef
+fe
+07
+24
+60
+80
+00
+20
+20
+42
+d4
+6f
+e0
+c1
+e8
+c0
+55
+12
+44
+c0
+4a
+00
+d0
+20
+20
+12
+1e
+70
+8a
+39
+07
+70
+8a
+3a
+00
+20
+20
+12
+2a
+20
+20
+12
+47
+da
+20
+09
+9e
+d8
+40
+00
+0c
+58
+00
+00
+30
+20
+40
+5e
+63
+20
+20
+60
+bf
+6a
+50
+8a
+12
+70
+8a
+12
+3d
+70
+8a
+11
+aa
+70
+8a
+0a
+0c
+6f
+f0
+8a
+09
+79
+20
+7e
+07
+67
+f0
+8a
+09
+70
+8a
+0b
+04
+20
+00
+00
+3c
+70
+8a
+16
+00
+70
+8a
+17
+06
+20
+40
+61
+1a
+67
+f0
+8a
+97
+70
+80
+dc
+03
+20
+00
+00
+3c
+6f
+f0
+80
+53
+79
+20
+7e
+07
+67
+f0
+80
+53
+20
+00
+03
+e8
+6f
+f1
+01
+50
+67
+e1
+44
+a2
+6f
+f0
+80
+53
+79
+3f
+fe
+07
+67
+f0
+80
+53
+70
+8a
+97
+00
+62
+50
+8a
+12
+20
+60
+00
+00
+20
+40
+00
+d9
+70
+48
+f6
+00
+20
+40
+61
+25
+67
+e1
+48
+e9
+6f
+e0
+c4
+a0
+c0
+81
+01
+00
+68
+49
+48
+e9
+18
+4f
+fe
+08
+1f
+e6
+fc
+0a
+20
+40
+7d
+ec
+98
+40
+fe
+00
+67
+e1
+48
+e9
+da
+20
+48
+e3
+20
+40
+3e
+d8
+6f
+e0
+c4
+a4
+c2
+80
+81
+06
+c3
+00
+01
+09
+20
+20
+3e
+cc
+6f
+e0
+cc
+40
+c3
+00
+3f
+1c
+20
+20
+02
+9e
+6f
+e0
+cc
+40
+c3
+00
+3e
+d0
+d8
+e0
+00
+04
+20
+40
+46
+f4
+70
+4c
+4f
+01
+6f
+e0
+c8
+fa
+20
+7a
+00
+00
+70
+48
+fa
+00
+20
+20
+01
+31
+78
+54
+7c
+00
+6f
+e0
+cc
+44
+1f
+e6
+7c
+04
+24
+62
+80
+00
+20
+20
+7e
+54
+6f
+e0
+cc
+40
+c4
+01
+80
+00
+6f
+e0
+cd
+96
+20
+7a
+00
+00
+6f
+e4
+4b
+ab
+c4
+02
+00
+00
+20
+40
+01
+12
+20
+74
+00
+00
+6f
+e0
+cc
+54
+20
+3a
+01
+3a
+68
+48
+cc
+4f
+18
+40
+84
+01
+60
+48
+cc
+4f
+6f
+e0
+cc
+4d
+98
+46
+7c
+00
+24
+41
+01
+2f
+6f
+e0
+cc
+4e
+98
+46
+7c
+00
+24
+21
+01
+31
+6f
+e0
+cc
+45
+c0
+00
+84
+80
+c0
+01
+84
+80
+68
+48
+cc
+58
+20
+20
+04
+8c
+70
+4c
+4f
+01
+20
+40
+01
+36
+6f
+e0
+cc
+45
+c0
+00
+84
+92
+c0
+01
+84
+92
+68
+48
+cc
+58
+20
+20
+04
+b1
+6f
+e0
+cc
+54
+1f
+e0
+ff
+ff
+67
+e0
+cc
+54
+20
+60
+00
+00
+6f
+e0
+cc
+40
+c2
+82
+01
+31
+20
+40
+04
+21
+20
+20
+01
+21
+70
+8a
+8b
+e6
+20
+40
+12
+6a
+20
+40
+12
+71
+20
+40
+12
+77
+70
+8a
+6d
+09
+70
+8a
+03
+05
+70
+8a
+7a
+94
+70
+8a
+0e
+0b
+70
+8a
+0f
+05
+70
+8a
+83
+90
+70
+8a
+85
+00
+70
+89
+21
+40
+20
+20
+12
+5d
+6f
+e0
+c1
+ea
+67
+e0
+89
+64
+20
+40
+11
+50
+70
+8a
+0a
+00
+6f
+e0
+89
+64
+67
+e0
+c1
+ea
+20
+60
+00
+00
+70
+00
+80
+00
+20
+20
+13
+b7
+79
+3f
+80
+34
+20
+40
+6d
+f3
+20
+40
+01
+82
+24
+55
+81
+68
+20
+40
+41
+a7
+20
+75
+80
+00
+70
+4d
+96
+00
+20
+40
+03
+bb
+20
+40
+3d
+8a
+20
+40
+47
+28
+20
+40
+01
+e8
+20
+40
+05
+af
+20
+20
+3b
+c9
+6f
+e0
+c9
+12
+c1
+7f
+80
+00
+c4
+03
+80
+00
+79
+3f
+fe
+07
+67
+e0
+c9
+12
+70
+4d
+9a
+01
+20
+60
+00
+00
+6f
+e0
+cd
+a6
+c0
+00
+01
+6c
+c0
+00
+81
+72
+20
+60
+00
+00
+6f
+e0
+cc
+1e
+20
+7a
+00
+00
+d8
+c0
+4c
+1e
+1f
+e0
+f2
+01
+d8
+a0
+42
+f7
+20
+20
+7d
+5f
+6f
+e0
+c9
+38
+c0
+00
+81
+6c
+c0
+01
+01
+76
+20
+60
+00
+00
+20
+40
+01
+7e
+6f
+e0
+c0
+ad
+1f
+e0
+fe
+01
+67
+e0
+c0
+ad
+df
+20
+00
+14
+d8
+c0
+4d
+bb
+d8
+a0
+45
+fc
+20
+20
+7d
+5f
+6f
+e0
+cd
+a7
+20
+7a
+00
+00
+d8
+c0
+4d
+a7
+20
+20
+01
+6f
+20
+75
+80
+00
+20
+40
+26
+07
+20
+40
+22
+ff
+20
+40
+3f
+1e
+20
+40
+3d
+13
+20
+40
+01
+ae
+20
+40
+01
+b3
+20
+40
+04
+18
+20
+40
+01
+61
+20
+40
+01
+e5
+20
+40
+1b
+16
+20
+40
+01
+a3
+20
+40
+1b
+32
+20
+40
+1b
+1e
+6f
+e4
+4b
+ab
+c4
+09
+80
+00
+20
+40
+5d
+a5
+6f
+e4
+4b
+ab
+2f
+ef
+fe
+09
+24
+40
+dd
+bf
+20
+40
+46
+3b
+20
+40
+01
+a9
+6f
+e1
+49
+90
+d8
+40
+aa
+55
+98
+46
+7c
+00
+20
+22
+c5
+e2
+60
+49
+49
+90
+20
+40
+45
+e7
+6f
+e0
+ca
+b4
+67
+e0
+c9
+38
+6f
+e0
+c9
+26
+67
+e0
+c9
+92
+20
+60
+00
+00
+59
+00
+03
+02
+67
+e2
+43
+50
+58
+03
+00
+10
+67
+e1
+c3
+54
+70
+43
+9d
+01
+20
+60
+00
+00
+6f
+e0
+c9
+38
+1f
+e6
+7c
+03
+20
+61
+00
+00
+70
+49
+38
+00
+20
+60
+00
+00
+58
+00
+4c
+96
+67
+e1
+43
+de
+58
+00
+00
+20
+67
+e1
+43
+e0
+20
+60
+00
+00
+6f
+e0
+c9
+24
+67
+e0
+c9
+28
+6f
+e0
+c9
+17
+c1
+7f
+80
+00
+6f
+e0
+cd
+d0
+20
+7a
+00
+00
+c0
+00
+81
+bc
+c0
+01
+01
+ca
+20
+60
+00
+00
+6f
+e0
+c9
+17
+20
+40
+05
+ee
+df
+e0
+00
+13
+20
+40
+05
+ee
+68
+48
+c9
+20
+20
+40
+3f
+56
+68
+48
+c9
+20
+20
+40
+60
+59
+24
+40
+c2
+aa
+20
+40
+3f
+54
+68
+48
+c9
+17
+20
+40
+60
+7f
+d8
+40
+00
+13
+20
+20
+60
+7f
+20
+40
+01
+d7
+6f
+e0
+c9
+28
+c0
+01
+81
+cf
+c0
+01
+01
+d3
+20
+60
+00
+00
+6f
+e0
+c9
+17
+20
+40
+05
+ee
+68
+48
+c9
+17
+20
+20
+3f
+54
+6f
+e0
+c9
+17
+20
+40
+05
+eb
+68
+48
+c9
+17
+20
+20
+3f
+56
+20
+40
+01
+d3
+68
+48
+c9
+17
+20
+40
+60
+59
+20
+20
+81
+e1
+20
+40
+01
+cf
+68
+48
+c9
+17
+20
+40
+60
+59
+20
+20
+81
+e3
+70
+49
+28
+02
+20
+60
+00
+00
+70
+49
+28
+03
+20
+60
+00
+00
+70
+49
+28
+00
+20
+60
+00
+00
+6f
+e0
+c1
+e8
+67
+e0
+cc
+90
+20
+60
+00
+00
+58
+00
+01
+ed
+67
+e1
+48
+9b
+58
+00
+02
+0c
+67
+e1
+48
+9d
+20
+20
+3b
+d3
+c6
+93
+00
+00
+20
+40
+3f
+70
+24
+74
+00
+00
+6f
+e0
+cd
+99
+70
+4d
+99
+00
+24
+5a
+02
+0a
+6f
+e4
+4b
+ab
+c3
+0a
+81
+f7
+6f
+e0
+cb
+8b
+24
+3a
+48
+84
+20
+40
+42
+cb
+6f
+e0
+c8
+36
+c2
+80
+82
+06
+68
+48
+c7
+c7
+6f
+e0
+c8
+d0
+98
+41
+fe
+00
+67
+e0
+c8
+d0
+68
+48
+c7
+cc
+6f
+e0
+c8
+d5
+98
+40
+fe
+00
+67
+e0
+c8
+d5
+68
+48
+c7
+cd
+6f
+e0
+c8
+d6
+98
+40
+fe
+00
+67
+e0
+c8
+d6
+70
+48
+36
+01
+da
+20
+00
+07
+da
+40
+48
+d0
+20
+20
+26
+e1
+20
+40
+7f
+dc
+20
+20
+15
+b1
+6f
+e4
+4b
+ab
+c4
+0b
+00
+00
+6f
+e0
+ca
+ae
+20
+7a
+00
+00
+6f
+e0
+c8
+a7
+20
+7a
+00
+00
+6f
+e0
+cb
+a1
+1f
+e0
+fe
+01
+1f
+e1
+7e
+03
+67
+e0
+cb
+a1
+24
+7a
+00
+00
+70
+4b
+a2
+00
+6f
+e0
+cb
+a2
+1f
+e0
+fe
+01
+67
+e0
+cb
+a2
+1f
+e6
+7c
+08
+24
+21
+02
+22
+20
+40
+25
+9a
+20
+40
+26
+5b
+24
+2c
+02
+38
+24
+37
+82
+38
+20
+40
+02
+2f
+20
+40
+25
+97
+6f
+e0
+cb
+a3
+1f
+e0
+fe
+01
+67
+e0
+cb
+a3
+c1
+88
+00
+00
+70
+4b
+a3
+00
+6f
+e0
+cb
+a4
+c3
+80
+00
+00
+79
+20
+7e
+00
+67
+e0
+cb
+a4
+6f
+e1
+4b
+bc
+67
+e1
+4a
+b2
+20
+20
+05
+af
+6f
+e0
+c8
+a7
+20
+3a
+48
+8c
+70
+4b
+a3
+00
+6f
+e0
+cb
+a4
+c4
+00
+00
+00
+79
+3f
+fe
+00
+67
+e0
+cb
+a4
+20
+40
+45
+44
+20
+20
+03
+d7
+20
+40
+22
+cb
+20
+20
+02
+18
+20
+40
+26
+31
+24
+34
+02
+de
+20
+40
+02
+4a
+20
+40
+26
+ee
+20
+40
+00
+aa
+6f
+e0
+cb
+e1
+24
+3a
+02
+45
+6f
+e4
+48
+b0
+67
+e4
+48
+5c
+6f
+e1
+48
+c2
+67
+e1
+48
+c4
+20
+40
+26
+bb
+24
+74
+00
+00
+20
+40
+7f
+dc
+6f
+e1
+c8
+ad
+20
+20
+26
+b8
+70
+48
+a6
+00
+69
+61
+01
+5f
+34
+73
+02
+00
+20
+40
+26
+5b
+6f
+e0
+c8
+2c
+c0
+00
+a6
+51
+24
+2c
+02
+55
+24
+37
+82
+55
+20
+40
+26
+72
+20
+40
+02
+92
+20
+20
+26
+51
+6f
+e0
+ca
+c5
+24
+7a
+00
+00
+20
+40
+02
+73
+6f
+e0
+c8
+a7
+24
+7a
+00
+00
+6f
+e1
+48
+a3
+1f
+e0
+fe
+01
+67
+e1
+48
+a3
+6f
+e0
+c8
+a4
+c2
+80
+a6
+79
+20
+40
+26
+7e
+20
+40
+02
+62
+20
+20
+02
+4b
+6f
+e0
+c8
+a4
+1f
+e6
+7c
+00
+20
+61
+00
+00
+df
+20
+00
+28
+20
+20
+7d
+13
+68
+48
+c8
+a6
+6f
+e0
+c8
+c6
+98
+46
+7c
+00
+24
+21
+02
+6c
+20
+20
+26
+83
+6f
+e2
+48
+3c
+68
+4a
+48
+8d
+98
+46
+7c
+00
+20
+22
+a2
+cb
+20
+40
+06
+64
+20
+40
+27
+24
+20
+20
+22
+cb
+d8
+e0
+00
+0c
+20
+40
+7d
+74
+24
+7a
+00
+00
+20
+40
+02
+80
+20
+40
+02
+7c
+20
+40
+40
+7c
+d8
+e0
+00
+0c
+58
+00
+00
+a0
+20
+20
+7d
+66
+6f
+e4
+4b
+ab
+c4
+14
+00
+00
+20
+20
+06
+25
+70
+4b
+94
+03
+6f
+e0
+c9
+1b
+c1
+7f
+80
+00
+6f
+e0
+c9
+bf
+24
+7a
+00
+00
+da
+20
+00
+00
+70
+4b
+96
+06
+68
+48
+c9
+1b
+20
+40
+46
+6a
+67
+e0
+cb
+94
+6f
+e0
+c9
+10
+c0
+7f
+82
+8f
+20
+40
+41
+68
+1a
+22
+7e
+00
+c2
+83
+46
+8d
+20
+20
+46
+80
+68
+48
+c9
+1b
+20
+40
+3f
+56
+20
+20
+02
+8c
+6f
+e0
+cb
+e1
+24
+5a
+02
+96
+70
+4b
+e1
+00
+20
+60
+00
+00
+70
+4d
+96
+01
+20
+40
+03
+d7
+6f
+e4
+4b
+ab
+c4
+1e
+00
+00
+68
+48
+c9
+13
+20
+40
+3f
+56
+68
+48
+c9
+14
+20
+20
+3f
+56
+58
+00
+00
+06
+20
+40
+5b
+0d
+c2
+81
+be
+23
+20
+40
+05
+aa
+20
+40
+05
+af
+20
+20
+3e
+23
+20
+40
+42
+e9
+20
+40
+7f
+dc
+20
+40
+40
+15
+6f
+e0
+c9
+20
+20
+40
+05
+eb
+d8
+40
+00
+03
+20
+40
+3f
+56
+20
+40
+02
+d2
+20
+40
+60
+82
+20
+40
+04
+a7
+20
+40
+04
+c1
+d8
+40
+00
+13
+20
+40
+3f
+56
+20
+40
+02
+b4
+20
+40
+02
+b8
+20
+20
+02
+c8
+6f
+e0
+c9
+1e
+c1
+7f
+80
+00
+68
+48
+c9
+1e
+20
+20
+60
+7f
+6f
+e4
+4b
+ab
+c4
+0a
+00
+00
+68
+48
+c8
+fd
+c1
+81
+00
+00
+20
+40
+02
+c0
+6f
+e0
+c8
+fc
+d8
+40
+00
+c0
+20
+20
+60
+93
+68
+48
+c4
+a1
+18
+46
+7c
+03
+20
+21
+02
+c6
+18
+40
+84
+05
+60
+48
+c8
+fc
+20
+60
+00
+00
+18
+40
+84
+04
+20
+20
+02
+c4
+6f
+e4
+4b
+ab
+c4
+1e
+00
+00
+68
+48
+c9
+13
+20
+40
+60
+42
+68
+48
+c9
+14
+20
+40
+60
+42
+68
+48
+c9
+13
+20
+40
+3f
+54
+68
+48
+c9
+14
+20
+20
+3f
+54
+68
+48
+c9
+10
+20
+40
+60
+69
+68
+48
+c9
+10
+20
+40
+60
+42
+68
+48
+c9
+13
+20
+40
+60
+50
+68
+48
+c9
+14
+20
+40
+60
+50
+20
+40
+3f
+88
+6f
+e0
+c9
+1f
+20
+40
+05
+eb
+20
+20
+3e
+44
+6f
+e0
+c8
+a7
+20
+5a
+02
+eb
+6f
+e0
+c8
+bd
+c1
+00
+80
+00
+20
+40
+26
+9f
+20
+40
+05
+72
+24
+74
+00
+00
+20
+40
+26
+c4
+70
+4d
+99
+01
+6f
+e0
+cb
+e1
+24
+5a
+02
+a4
+6f
+e4
+48
+5c
+20
+20
+26
+b8
+70
+48
+36
+01
+6f
+e0
+cb
+e1
+79
+40
+7e
+00
+67
+e0
+c8
+a7
+20
+40
+26
+42
+67
+e0
+c7
+c6
+58
+00
+00
+00
+67
+e3
+c7
+c7
+6f
+e2
+48
+a9
+67
+e2
+47
+ce
+70
+48
+35
+0c
+6f
+e0
+c8
+36
+79
+20
+7e
+03
+67
+e0
+c8
+36
+20
+40
+22
+91
+20
+20
+02
+3c
+1a
+62
+7e
+00
+c0
+00
+83
+10
+c0
+1e
+03
+2c
+c0
+1c
+83
+28
+c0
+1d
+03
+3c
+c0
+19
+03
+18
+c0
+0a
+83
+12
+c0
+0a
+03
+0e
+c0
+20
+03
+1f
+c0
+09
+03
+07
+c0
+03
+03
+0a
+20
+20
+43
+36
+70
+44
+54
+01
+20
+40
+32
+23
+20
+20
+44
+27
+20
+40
+42
+ca
+20
+40
+45
+44
+20
+40
+04
+31
+20
+20
+32
+44
+20
+40
+04
+31
+20
+20
+43
+50
+70
+4a
+ae
+00
+20
+20
+43
+fc
+58
+00
+00
+00
+67
+e1
+4a
+f2
+67
+e0
+cc
+7a
+67
+e0
+cc
+7b
+67
+e0
+ca
+c6
+20
+20
+43
+66
+6f
+e0
+ca
+c7
+c0
+00
+83
+1c
+70
+4b
+76
+14
+20
+20
+43
+73
+20
+40
+43
+6c
+70
+4b
+76
+0a
+20
+20
+43
+73
+6f
+e0
+cc
+7a
+24
+7a
+00
+00
+70
+4c
+7a
+01
+70
+4c
+7b
+1e
+20
+60
+00
+00
+20
+40
+00
+af
+6f
+e0
+cc
+90
+67
+e0
+c1
+e8
+20
+60
+00
+00
+20
+40
+03
+24
+20
+40
+45
+44
+20
+40
+04
+31
+20
+20
+48
+57
+6f
+e2
+48
+3c
+67
+e2
+48
+91
+67
+e2
+49
+93
+20
+40
+25
+7e
+20
+40
+04
+31
+20
+40
+45
+44
+20
+40
+42
+ca
+70
+4a
+ae
+00
+70
+48
+a1
+00
+70
+48
+8b
+00
+6f
+e2
+48
+91
+68
+4a
+48
+8d
+98
+46
+7c
+00
+20
+62
+80
+00
+20
+40
+03
+24
+20
+20
+48
+22
+20
+40
+03
+24
+6f
+e0
+c8
+a5
+24
+3a
+03
+54
+6f
+e0
+c8
+8b
+c0
+01
+03
+44
+c0
+00
+83
+44
+c0
+02
+c8
+44
+20
+20
+48
+37
+6f
+e4
+4b
+ab
+c2
+97
+c8
+11
+c2
+98
+48
+11
+c3
+1d
+48
+06
+6f
+e2
+49
+93
+68
+4a
+49
+74
+98
+46
+7c
+00
+20
+22
+83
+51
+20
+20
+48
+06
+6f
+e1
+48
+81
+67
+e1
+48
+87
+70
+48
+8b
+05
+20
+20
+25
+59
+70
+48
+8b
+00
+20
+40
+04
+39
+20
+20
+48
+27
+70
+4d
+96
+00
+70
+48
+a5
+00
+20
+40
+26
+52
+5f
+ff
+ff
+ff
+67
+e4
+48
+5c
+58
+00
+00
+00
+67
+e3
+c8
+d0
+67
+e0
+c8
+a7
+70
+4b
+e1
+01
+20
+40
+05
+af
+20
+20
+02
+e3
+70
+48
+8b
+00
+6f
+e1
+4b
+eb
+1f
+e0
+fe
+01
+67
+e1
+4b
+eb
+6f
+e0
+cb
+eb
+1f
+e1
+7e
+ff
+c0
+00
+23
+41
+20
+60
+00
+00
+6f
+e1
+48
+89
+d8
+40
+01
+f8
+98
+41
+7e
+00
+20
+3a
+03
+6f
+6f
+e1
+48
+89
+1f
+e0
+fe
+01
+67
+e1
+48
+89
+20
+60
+00
+00
+20
+40
+25
+9a
+20
+40
+26
+5b
+24
+2c
+03
+8c
+24
+37
+83
+8c
+20
+40
+26
+72
+6f
+e2
+48
+77
+68
+4a
+48
+3c
+98
+46
+7c
+00
+20
+22
+83
+88
+6f
+e2
+48
+a9
+68
+4a
+48
+3c
+98
+46
+7c
+00
+20
+42
+83
+84
+6f
+e0
+c8
+a1
+79
+3f
+fe
+02
+67
+e0
+c8
+a1
+58
+00
+00
+00
+67
+e1
+48
+83
+67
+e1
+48
+89
+67
+e1
+48
+87
+20
+20
+25
+95
+6f
+e2
+48
+0c
+20
+7a
+00
+00
+67
+e2
+48
+91
+20
+20
+25
+7e
+6f
+e4
+4b
+ab
+c2
+98
+48
+2e
+c2
+97
+c8
+2e
+20
+20
+25
+6e
+6f
+e0
+c8
+8c
+20
+3a
+22
+cb
+6f
+e1
+48
+89
+1f
+e0
+fe
+01
+67
+e1
+48
+89
+2f
+ef
+fe
+09
+6f
+e0
+c8
+8b
+c0
+02
+83
+97
+c0
+02
+03
+99
+c0
+01
+03
+9b
+20
+20
+25
+a8
+20
+20
+a5
+6e
+20
+20
+23
+39
+20
+20
+a5
+75
+20
+20
+23
+39
+20
+20
+a5
+75
+70
+41
+e8
+aa
+20
+20
+25
+68
+6f
+e4
+4b
+ab
+c2
+97
+83
+a4
+6f
+e0
+c9
+38
+c0
+00
+03
+ab
+20
+40
+04
+42
+20
+20
+3d
+57
+20
+40
+3d
+65
+20
+34
+48
+16
+70
+49
+38
+00
+6f
+e1
+4b
+ba
+67
+e1
+48
+87
+70
+48
+8b
+01
+20
+20
+25
+59
+6f
+e4
+4b
+ab
+c3
+08
+c8
+03
+20
+40
+04
+39
+20
+40
+3d
+65
+20
+34
+48
+06
+6f
+e4
+4b
+ab
+c2
+98
+03
+a6
+c3
+18
+c8
+0c
+20
+40
+41
+10
+1a
+21
+7e
+07
+68
+48
+cb
+cb
+98
+46
+7c
+00
+20
+22
+83
+51
+20
+20
+48
+0c
+20
+40
+40
+8f
+20
+40
+03
+ee
+6f
+e0
+c9
+27
+c0
+06
+03
+be
+20
+20
+40
+98
+6f
+e0
+c9
+92
+c0
+00
+03
+c6
+c0
+00
+83
+c8
+c0
+01
+03
+ca
+c0
+01
+83
+d3
+20
+60
+00
+00
+6f
+e0
+cc
+91
+20
+20
+03
+cb
+6f
+e0
+cc
+92
+20
+20
+03
+cb
+6f
+e0
+cc
+93
+20
+20
+03
+cb
+6f
+e0
+cc
+94
+1f
+e2
+22
+00
+58
+00
+c3
+09
+20
+40
+5b
+0c
+1a
+22
+7e
+00
+1f
+ed
+7e
+00
+1f
+e0
+fe
+23
+20
+40
+5b
+0c
+20
+20
+42
+27
+6f
+e0
+cc
+95
+20
+20
+03
+cb
+20
+40
+3f
+65
+20
+75
+80
+00
+20
+40
+42
+36
+20
+40
+41
+b5
+c0
+18
+03
+df
+c0
+18
+c2
+17
+c0
+2c
+42
+20
+20
+40
+41
+b2
+20
+00
+1a
+f4
+20
+20
+03
+d8
+6f
+e0
+c9
+c2
+c0
+68
+83
+e8
+c0
+2d
+03
+e3
+20
+20
+41
+be
+70
+49
+27
+05
+20
+40
+42
+32
+20
+40
+7d
+12
+da
+60
+4a
+39
+20
+20
+05
+a5
+58
+00
+00
+49
+20
+40
+5b
+0d
+c0
+50
+83
+ec
+20
+20
+41
+da
+70
+49
+27
+0c
+20
+60
+00
+00
+6f
+e0
+cc
+40
+c4
+00
+00
+00
+6f
+e0
+cd
+96
+20
+7a
+00
+00
+6f
+e0
+cb
+c1
+20
+3a
+04
+c8
+67
+e0
+cb
+a8
+20
+60
+00
+00
+20
+40
+3e
+9b
+20
+40
+01
+17
+20
+40
+23
+2b
+20
+40
+25
+56
+20
+40
+47
+cd
+20
+40
+04
+c5
+20
+40
+04
+58
+20
+40
+04
+b7
+20
+40
+40
+7c
+20
+40
+44
+cc
+20
+40
+04
+e4
+20
+40
+44
+ff
+20
+40
+04
+0e
+20
+40
+45
+12
+20
+40
+04
+fb
+20
+40
+45
+15
+20
+40
+04
+fe
+20
+40
+45
+2a
+20
+40
+45
+2d
+20
+40
+04
+12
+20
+40
+45
+35
+20
+40
+40
+22
+20
+40
+45
+47
+20
+20
+05
+01
+da
+60
+4b
+77
+da
+40
+45
+0a
+20
+40
+31
+8a
+20
+20
+45
+07
+da
+60
+4a
+c4
+da
+40
+04
+15
+20
+20
+31
+8a
+6f
+e4
+4b
+ab
+c2
+99
+85
+07
+20
+20
+3e
+20
+70
+4c
+41
+00
+6f
+e0
+cc
+40
+c4
+00
+00
+00
+20
+40
+04
+a7
+70
+4c
+44
+00
+6f
+e0
+cc
+4d
+1f
+e3
+7e
+00
+67
+e0
+cc
+4e
+20
+60
+00
+00
+6f
+e0
+cc
+53
+67
+e0
+cc
+54
+20
+60
+00
+00
+6f
+e0
+cc
+44
+c0
+00
+84
+2b
+c0
+01
+04
+2d
+c0
+01
+84
+2f
+6f
+e0
+cc
+4b
+67
+e0
+cc
+4c
+20
+60
+00
+00
+6f
+e0
+cc
+48
+20
+20
+04
+29
+6f
+e0
+cc
+49
+20
+20
+04
+29
+6f
+e0
+cc
+4a
+20
+20
+04
+29
+6f
+e0
+cc
+40
+c4
+00
+00
+00
+6f
+e0
+cc
+46
+67
+e0
+cc
+47
+70
+4c
+42
+00
+70
+4c
+43
+00
+70
+4c
+41
+01
+20
+60
+00
+00
+6f
+e0
+cc
+40
+c4
+00
+00
+00
+70
+4c
+44
+01
+20
+40
+04
+2b
+20
+40
+04
+55
+6f
+e0
+cc
+40
+c4
+01
+00
+00
+6f
+e0
+cc
+50
+20
+20
+04
+4c
+6f
+e0
+cc
+40
+c4
+00
+00
+00
+6f
+e0
+cc
+40
+c4
+00
+80
+00
+20
+40
+04
+55
+70
+4c
+44
+03
+20
+40
+04
+2f
+6f
+e0
+cc
+40
+c4
+01
+00
+00
+6f
+e0
+cc
+51
+67
+e0
+cc
+52
+20
+60
+00
+00
+6f
+e0
+cc
+40
+c4
+00
+00
+00
+6f
+e0
+cc
+40
+79
+3f
+fe
+02
+67
+e0
+cc
+40
+70
+4c
+44
+02
+20
+40
+04
+2d
+70
+4c
+41
+01
+70
+4c
+42
+01
+20
+20
+04
+7f
+6f
+e0
+cc
+41
+20
+7a
+00
+00
+6f
+e0
+cc
+42
+c0
+00
+84
+65
+6f
+e0
+cc
+47
+20
+3a
+04
+61
+1f
+e0
+ff
+ff
+67
+e0
+cc
+47
+20
+20
+04
+80
+70
+4d
+96
+01
+20
+40
+04
+21
+70
+4c
+41
+00
+20
+20
+04
+92
+6f
+e0
+cc
+44
+20
+7a
+00
+00
+c0
+02
+04
+6c
+20
+20
+04
+69
+6f
+e0
+cc
+40
+c2
+81
+04
+6c
+20
+20
+04
+6e
+6f
+e0
+cc
+52
+20
+3a
+04
+8d
+da
+60
+4c
+4c
+da
+40
+04
+71
+20
+20
+31
+8a
+6f
+e0
+cc
+44
+c0
+02
+04
+79
+6f
+e0
+cc
+40
+c2
+81
+04
+79
+20
+40
+04
+24
+6f
+e0
+cc
+43
+c0
+00
+84
+8f
+20
+20
+04
+7d
+6f
+e0
+cc
+52
+1f
+e0
+ff
+ff
+67
+e0
+cc
+52
+20
+20
+04
+75
+6f
+e0
+cc
+44
+c0
+02
+04
+b2
+70
+4c
+43
+01
+6f
+e0
+c9
+38
+c0
+00
+04
+85
+c0
+00
+84
+87
+c0
+01
+04
+89
+20
+60
+00
+00
+68
+48
+cc
+55
+20
+20
+04
+8c
+68
+48
+cc
+56
+20
+20
+04
+8c
+68
+48
+cc
+57
+20
+20
+04
+8c
+68
+48
+cc
+59
+20
+20
+60
+69
+70
+4c
+41
+00
+70
+4c
+44
+00
+6f
+e0
+cc
+44
+c0
+02
+04
+ac
+70
+4c
+43
+00
+6f
+e0
+c9
+38
+c0
+00
+04
+97
+c0
+00
+84
+9b
+c0
+01
+04
+9f
+20
+60
+00
+00
+68
+48
+cc
+55
+6f
+e0
+cc
+40
+c3
+02
+84
+b1
+20
+20
+04
+a2
+68
+48
+cc
+56
+6f
+e0
+cc
+40
+c3
+02
+84
+b1
+20
+20
+04
+a2
+68
+48
+cc
+57
+6f
+e0
+cc
+40
+c3
+02
+84
+b1
+18
+46
+7c
+ff
+20
+62
+80
+00
+18
+46
+7c
+03
+20
+22
+e0
+65
+20
+20
+60
+7b
+20
+40
+04
+97
+20
+40
+04
+9b
+20
+40
+04
+9f
+20
+40
+01
+31
+20
+20
+04
+ac
+70
+4c
+43
+00
+6f
+e0
+cc
+45
+c0
+01
+04
+91
+c0
+01
+84
+91
+68
+48
+cc
+59
+20
+20
+60
+65
+70
+4c
+43
+01
+6f
+e0
+cc
+45
+c0
+01
+04
+7f
+c0
+01
+84
+7f
+20
+20
+04
+8b
+6f
+e0
+cb
+ed
+c1
+7f
+80
+00
+6f
+e1
+4a
+b2
+20
+7a
+00
+00
+6f
+e1
+4b
+be
+68
+49
+4a
+b2
+98
+46
+04
+00
+6f
+e1
+4b
+ee
+98
+46
+7e
+00
+20
+21
+04
+c3
+68
+48
+cb
+ed
+20
+20
+60
+65
+68
+48
+cb
+ed
+20
+20
+60
+69
+da
+60
+4b
+a8
+da
+40
+04
+c8
+20
+20
+31
+8a
+6f
+e0
+cc
+40
+c4
+00
+00
+00
+6f
+e4
+4b
+ab
+c2
+8e
+04
+d1
+6f
+e0
+c9
+92
+c0
+00
+04
+d9
+c0
+00
+84
+db
+c0
+01
+04
+d7
+20
+60
+00
+00
+6f
+e0
+c9
+92
+c0
+00
+04
+db
+c0
+00
+84
+dd
+c0
+01
+04
+d7
+c0
+01
+84
+d9
+20
+60
+00
+00
+58
+00
+00
+02
+20
+20
+04
+df
+58
+00
+00
+04
+20
+20
+04
+df
+58
+00
+00
+06
+20
+20
+04
+df
+58
+00
+00
+08
+20
+20
+04
+df
+67
+e0
+cc
+52
+70
+4c
+44
+04
+20
+40
+04
+28
+70
+4c
+42
+01
+20
+20
+04
+36
+6f
+e0
+c9
+38
+c0
+00
+04
+ea
+6f
+e4
+4b
+ab
+c4
+1a
+80
+00
+68
+48
+cb
+ca
+20
+20
+04
+ed
+6f
+e4
+4b
+ab
+c4
+19
+00
+00
+68
+48
+cb
+cb
+60
+48
+cb
+9d
+20
+40
+05
+b8
+1f
+e1
+7e
+07
+68
+48
+cb
+9d
+98
+46
+7c
+00
+20
+22
+84
+f4
+20
+20
+44
+eb
+20
+40
+04
+f9
+6f
+e0
+cb
+9f
+c1
+00
+80
+00
+70
+4b
+9f
+01
+20
+60
+00
+00
+da
+40
+03
+51
+20
+20
+44
+f7
+6f
+e4
+4b
+ab
+c3
+9d
+80
+00
+20
+20
+45
+1f
+da
+60
+4c
+7b
+da
+40
+43
+6c
+20
+20
+31
+8a
+da
+60
+4a
+b2
+da
+40
+05
+04
+20
+20
+31
+91
+6f
+e0
+c9
+38
+c0
+00
+03
+54
+20
+20
+43
+1b
+20
+40
+04
+4e
+6f
+e1
+47
+8c
+2f
+ef
+fe
+0b
+20
+40
+c5
+81
+6f
+e1
+47
+8c
+2f
+ef
+fe
+07
+20
+40
+c3
+22
+58
+00
+00
+00
+67
+e1
+4a
+f2
+20
+20
+45
+54
+58
+00
+00
+00
+67
+e1
+4a
+c2
+20
+20
+45
+77
+6f
+e0
+cb
+e2
+24
+5a
+78
+61
+70
+4b
+e2
+00
+20
+20
+78
+51
+6f
+e1
+03
+15
+1f
+e2
+0c
+00
+ef
+e0
+80
+06
+67
+e0
+c5
+f5
+1f
+e1
+04
+0f
+1f
+f1
+fe
+00
+c0
+04
+85
+20
+20
+20
+4d
+93
+da
+20
+00
+01
+20
+40
+4d
+c0
+6f
+e1
+44
+dc
+e7
+e1
+00
+05
+58
+00
+00
+00
+e7
+e0
+80
+05
+70
+09
+50
+01
+6f
+e0
+c4
+e2
+79
+20
+7e
+06
+67
+e0
+c4
+e2
+70
+09
+5b
+12
+20
+20
+78
+71
+78
+54
+7c
+00
+20
+40
+59
+e6
+6f
+e0
+80
+49
+20
+7a
+00
+00
+c2
+83
+d7
+30
+c0
+03
+85
+33
+20
+20
+57
+01
+20
+40
+58
+5d
+70
+00
+73
+78
+20
+60
+00
+00
+6f
+e0
+c3
+dd
+1f
+e0
+fe
+01
+67
+e0
+c3
+dd
+c0
+06
+16
+5a
+20
+40
+19
+1b
+20
+40
+19
+6a
+6f
+e0
+82
+bd
+20
+40
+16
+8b
+20
+40
+18
+38
+20
+20
+16
+55
+20
+40
+0e
+80
+20
+20
+16
+61
+20
+40
+16
+be
+20
+40
+16
+cc
+20
+40
+4c
+b5
+79
+20
+2a
+00
+78
+2e
+fc
+00
+78
+30
+7c
+00
+78
+50
+fc
+00
+20
+40
+17
+44
+20
+00
+00
+0a
+20
+20
+18
+41
+ef
+e1
+00
+06
+c0
+02
+05
+4f
+20
+20
+19
+e4
+ef
+e1
+80
+06
+67
+e1
+c4
+36
+c0
+05
+05
+54
+c0
+09
+05
+63
+20
+20
+1c
+d3
+6f
+e4
+4b
+ab
+c3
+1d
+9d
+e7
+20
+40
+1e
+8d
+68
+49
+44
+37
+6f
+e0
+c3
+c0
+c2
+81
+85
+5e
+6f
+e1
+44
+37
+c0
+18
+1e
+c8
+68
+49
+44
+37
+20
+20
+1d
+eb
+6f
+e1
+43
+d1
+98
+46
+7c
+00
+24
+22
+85
+5a
+24
+34
+05
+5a
+20
+20
+1e
+10
+18
+c2
+22
+00
+6f
+e1
+43
+d4
+1f
+e0
+a5
+fd
+20
+40
+1a
+25
+6f
+e0
+ca
+c1
+c0
+7f
+9e
+73
+6f
+e0
+ca
+c7
+20
+3a
+1e
+73
+6f
+e0
+cb
+75
+c2
+80
+9e
+73
+58
+00
+00
+1a
+68
+49
+44
+37
+98
+46
+7c
+00
+24
+22
+9e
+73
+20
+20
+1e
+10
+78
+34
+7c
+00
+20
+40
+14
+65
+6f
+e1
+c1
+74
+20
+3a
+7e
+56
+6f
+e0
+c0
+99
+20
+3a
+7e
+56
+6f
+e0
+cb
+e1
+24
+7a
+00
+00
+6f
+e0
+c8
+bd
+c0
+00
+fe
+56
+20
+60
+00
+00
+78
+54
+7c
+00
+58
+00
+00
+00
+67
+e3
+48
+d1
+20
+40
+05
+8d
+58
+00
+00
+89
+20
+40
+5b
+0c
+20
+40
+03
+bb
+20
+40
+3f
+7e
+20
+40
+3f
+83
+20
+40
+05
+b6
+6f
+e0
+c8
+d0
+1f
+e1
+7e
+1f
+67
+e0
+c8
+d0
+24
+34
+47
+28
+20
+40
+05
+9c
+20
+20
+45
+44
+6f
+e0
+c4
+ac
+c1
+80
+00
+00
+6f
+e0
+c9
+27
+c0
+05
+85
+92
+20
+20
+42
+43
+20
+40
+42
+c4
+6f
+e0
+c9
+11
+c0
+7f
+c2
+94
+68
+48
+c9
+11
+20
+40
+60
+59
+24
+60
+80
+00
+58
+00
+00
+00
+20
+40
+5b
+0d
+c0
+ac
+41
+b2
+20
+20
+42
+79
+6f
+e0
+c9
+27
+c1
+01
+80
+00
+c1
+05
+80
+00
+20
+20
+47
+1a
+20
+40
+3f
+65
+6f
+e0
+c9
+27
+c0
+05
+85
+a7
+20
+40
+42
+32
+da
+60
+4a
+a3
+20
+40
+42
+2b
+20
+20
+03
+bb
+20
+40
+05
+ad
+da
+60
+4b
+e3
+20
+20
+05
+a5
+6f
+e0
+c9
+27
+c0
+05
+85
+ad
+20
+20
+42
+32
+58
+00
+97
+06
+20
+20
+42
+33
+20
+40
+41
+a7
+20
+40
+3f
+65
+6f
+e0
+c9
+27
+c0
+05
+85
+b4
+20
+20
+42
+3e
+58
+00
+1f
+06
+20
+20
+5b
+0c
+20
+40
+05
+b8
+20
+20
+40
+dd
+6f
+e0
+cb
+e1
+24
+5a
+41
+21
+da
+20
+00
+00
+20
+40
+05
+c2
+20
+40
+05
+c7
+20
+40
+05
+cc
+20
+40
+05
+d1
+20
+40
+05
+de
+20
+40
+05
+f1
+20
+20
+41
+1f
+6f
+e0
+c9
+18
+20
+40
+05
+eb
+20
+40
+41
+24
+68
+48
+c9
+18
+20
+20
+3f
+56
+6f
+e0
+c9
+19
+20
+40
+05
+eb
+20
+40
+41
+2a
+68
+48
+c9
+19
+20
+20
+3f
+56
+6f
+e0
+c9
+1a
+20
+40
+05
+eb
+20
+40
+41
+30
+68
+48
+c9
+1a
+20
+20
+3f
+56
+6f
+e0
+c9
+0d
+c1
+7f
+80
+00
+70
+4b
+96
+03
+6f
+e0
+cb
+91
+1f
+e2
+26
+00
+68
+48
+c9
+0d
+6f
+e0
+c9
+10
+c0
+7f
+85
+da
+20
+20
+41
+3e
+6f
+e0
+c9
+0d
+20
+40
+05
+ee
+68
+48
+c9
+0d
+20
+20
+41
+4b
+6f
+e0
+c9
+0e
+c1
+7f
+80
+00
+70
+4b
+96
+04
+6f
+e0
+cb
+92
+1f
+e2
+26
+00
+68
+48
+c9
+0e
+6f
+e0
+c9
+10
+c0
+7f
+85
+e7
+20
+20
+41
+57
+6f
+e0
+c9
+0e
+20
+40
+05
+ee
+68
+48
+c9
+0e
+20
+20
+41
+64
+c1
+7f
+80
+00
+d8
+40
+00
+3f
+20
+20
+60
+93
+c1
+7f
+80
+00
+d8
+40
+00
+3e
+20
+20
+60
+93
+6f
+e0
+cd
+9a
+20
+3a
+41
+6a
+70
+4b
+8b
+00
+6f
+e4
+4b
+ab
+c4
+0a
+80
+00
+70
+4b
+96
+07
+6f
+e0
+cb
+95
+1f
+e2
+26
+00
+6f
+e0
+c9
+12
+20
+40
+05
+ee
+68
+48
+c9
+12
+20
+40
+41
+95
+67
+e0
+cb
+95
+20
+40
+41
+74
+68
+48
+c9
+12
+20
+20
+3f
+56
+20
+40
+06
+07
+20
+40
+79
+36
+20
+40
+06
+25
+20
+40
+06
+0b
+20
+40
+06
+16
+20
+20
+46
+51
+6f
+e0
+cc
+40
+c4
+01
+80
+00
+6f
+e4
+4b
+ab
+20
+20
+49
+92
+6f
+e4
+4b
+ab
+c2
+94
+86
+0f
+c2
+9b
+86
+0f
+20
+60
+00
+00
+6f
+e1
+47
+8c
+c2
+83
+02
+7f
+6f
+e0
+c9
+1b
+c1
+7f
+80
+00
+6f
+e0
+c9
+bf
+24
+7a
+00
+00
+20
+20
+46
+5c
+6f
+e4
+4b
+ab
+c4
+15
+00
+00
+68
+48
+c9
+1e
+20
+40
+3f
+56
+68
+48
+c9
+1e
+20
+40
+60
+59
+20
+20
+86
+21
+6f
+e0
+c9
+38
+c1
+00
+80
+00
+70
+49
+38
+01
+20
+20
+46
+c0
+6f
+e0
+c9
+38
+c1
+00
+00
+00
+70
+49
+38
+00
+20
+20
+46
+c0
+6f
+e0
+c9
+0f
+c1
+7f
+80
+00
+da
+20
+00
+00
+70
+4b
+96
+05
+68
+48
+c9
+0f
+20
+40
+06
+2c
+20
+20
+40
+2f
+6f
+e4
+4b
+ab
+c2
+96
+40
+48
+6f
+e0
+cb
+93
+1f
+e2
+26
+00
+6f
+e0
+c9
+10
+c0
+7f
+86
+33
+20
+20
+40
+3f
+6f
+e0
+c9
+0f
+20
+40
+05
+ee
+68
+48
+c9
+0f
+20
+20
+41
+95
+20
+40
+40
+72
+20
+74
+00
+00
+6f
+e0
+c9
+92
+1f
+e0
+fe
+01
+1f
+e1
+7e
+03
+67
+e0
+c9
+92
+20
+40
+03
+b9
+20
+20
+46
+43
+6f
+e1
+47
+8c
+c3
+85
+80
+00
+c3
+83
+80
+00
+c3
+83
+00
+00
+6a
+21
+48
+99
+20
+40
+25
+cb
+60
+48
+c8
+c7
+6f
+e0
+c8
+cc
+c5
+13
+06
+49
+6f
+e0
+c8
+cf
+98
+46
+7c
+00
+24
+21
+06
+63
+6f
+e0
+c8
+c9
+1f
+e6
+7c
+02
+24
+21
+06
+51
+6f
+e0
+c8
+c9
+c0
+00
+06
+64
+20
+60
+00
+00
+6f
+e0
+c8
+c9
+68
+48
+c8
+ca
+98
+46
+7c
+00
+24
+62
+80
+00
+70
+48
+c9
+00
+68
+48
+c8
+c7
+6f
+e0
+c8
+cb
+c5
+13
+06
+5a
+6f
+e0
+c8
+ce
+98
+46
+7c
+00
+24
+61
+00
+00
+6f
+e0
+c8
+c8
+c0
+00
+27
+1b
+1f
+e0
+ff
+ff
+67
+e0
+c8
+c8
+c0
+01
+06
+6b
+c0
+00
+a7
+11
+20
+20
+27
+1b
+70
+48
+c9
+00
+6f
+e0
+c8
+c8
+c0
+01
+86
+6a
+1f
+e0
+fe
+01
+67
+e0
+c8
+c8
+c0
+00
+a7
+11
+c0
+01
+06
+6b
+20
+20
+06
+6b
+70
+41
+e8
+03
+20
+60
+00
+00
+2f
+1d
+aa
+55
+40
+00
+00
+40
+01
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+1c
+1c
+00
+80
+10
+40
+00
+00
+98
+d6
+5b
+ce
+06
+01
+00
+00
+00
+00
+00
+85
+01
+08
+18
+00
+00
+00
+00
+00
+00
+00
+00
+00
+80
+00
+00
+00
+0a
+00
+20
+00
+01
+00
+00
+02
+04
+3e
+00
+00
+aa
+55
+01
+00
+9a
+40
+08
+aa
+55
+03
+00
+7a
+41
+88
+16
+ce
+aa
+55
+01
+00
+c5
+40
+18
+aa
+55
+01
+00
+ef
+41
+ff
+aa
+55
+02
+00
+ca
+40
+ef
+41
+aa
+55
+01
+00
+7d
+41
+70
+aa
+55
+01
+00
+d0
+44
+00
+aa
+55
+05
+00
+ea
+41
+ff
+04
+00
+00
+08
+aa
+55
+08
+00
+ab
+4b
+04
+09
+4a
+00
+00
+00
+01
+1b
+aa
+55
+01
+00
+40
+4c
+01
+aa
+55
+0c
+00
+fe
+48
+b0
+04
+58
+02
+64
+64
+94
+85
+90
+63
+75
+80
+aa
+55
+03
+00
+0d
+49
+0b
+0c
+0d
+aa
+55
+01
+00
+3b
+4c
+ff
+aa
+55
+14
+00
+10
+49
+ff
+ff
+ff
+05
+04
+ff
+ff
+ff
+0b
+0c
+0d
+ff
+ff
+ff
+ff
+07
+06
+ff
+ff
+ff
+aa
+55
+01
+00
+38
+4c
+ff
+aa
+55
+03
+00
+24
+49
+03
+00
+00
+aa
+55
+03
+00
+ed
+4b
+ff
+58
+02
+aa
+55
+01
+00
+a2
+4d
+00
+aa
+55
+02
+00
+cf
+4d
+00
+00
+aa
+55
+02
+00
+45
+4c
+00
+14
+aa
+55
+03
+00
+48
+4c
+05
+02
+05
+aa
+55
+01
+00
+4d
+4c
+14
+aa
+55
+01
+00
+4b
+4c
+02
+aa
+55
+02
+00
+50
+4c
+01
+05
+aa
+55
+01
+00
+53
+4c
+0a
+aa
+55
+05
+00
+55
+4c
+ff
+ff
+ff
+ff
+ff
+aa
+55
+01
+00
+58
+0b
+ff
+aa
+55
+12
+00
+cc
+4b
+00
+08
+00
+07
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+aa
+55
+01
+00
+99
+40
+01
+aa
+55
+02
+00
+b3
+4b
+03
+01
+aa
+55
+08
+00
+38
+49
+00
+34
+ff
+ff
+ff
+ff
+ff
+ff
+aa
+55
+07
+00
+56
+49
+34
+ff
+ff
+ff
+ff
+ff
+ff
+aa
+55
+17
+00
+73
+49
+33
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+aa
+55
+13
+00
+b5
+4b
+00
+40
+0a
+60
+06
+0a
+00
+64
+00
+70
+17
+14
+05
+90
+01
+e8
+03
+90
+01
+aa
+55
+02
+00
+ca
+4b
+07
+03
+aa
+55
+01
+00
+98
+4d
+ff
+aa
+55
+02
+00
+a3
+4d
+ff
+ff
+aa
+55
+01
+00
+c0
+49
+01
+aa
+55
+01
+00
+fd
+48
+02
+aa
+55
+01
+00
+a1
+44
+05
+aa
+55
+06
+00
+e3
+48
+0f
+01
+a2
+00
+b4
+00
+aa
+55
+0a
+00
+eb
+48
+10
+00
+52
+00
+35
+00
+21
+00
+25
+00
+aa
+55
+01
+00
+f7
+48
+0a
+aa
+55
+02
+00
+c8
+4b
+64
+00
+aa
+55
+03
+00
+de
+4b
+00
+00
+00
+aa
+55
+01
+00
+ab
+4a
+ff
+aa
+55
+01
+00
+e2
+4b
+01
+aa
+55
+01
+00
+77
+41
+20
+aa
+55
+01
+00
+8a
+4b
+20
+aa
+55
+01
+00
+7d
+44
+06
+aa
+55
+06
+00
+a8
+40
+10
+a3
+c8
+12
+23
+51
+aa
+55
+0c
+00
+fc
+45
+0b
+42
+54
+33
+2e
+30
+20
+4d
+6f
+75
+73
+65
+aa
+55
+05
+00
+55
+44
+0e
+00
+01
+00
+02
+aa
+55
+01
+00
+41
+46
+0a
+aa
+55
+01
+00
+64
+47
+01
+aa
+55
+01
+00
+78
+46
+00
+aa
+55
+01
+00
+5f
+41
+00
+aa
+55
+03
+00
+65
+47
+03
+00
+04
+aa
+55
+01
+00
+8e
+47
+01
+aa
+55
+01
+00
+d8
+40
+01
+aa
+55
+0c
+00
+e7
+43
+1f
+02
+01
+05
+03
+03
+12
+18
+03
+19
+c2
+03
+aa
+55
+14
+00
+d2
+4a
+06
+ff
+06
+00
+03
+00
+80
+0c
+09
+42
+54
+35
+2e
+32
+20
+4d
+6f
+75
+73
+65
+aa
+55
+0e
+00
+07
+44
+1f
+0c
+09
+42
+54
+35
+2e
+32
+20
+4d
+6f
+75
+73
+65
+aa
+55
+0c
+00
+f7
+42
+0b
+42
+54
+35
+2e
+32
+20
+4d
+6f
+75
+73
+65
+aa
+55
+0c
+00
+1e
+4c
+0b
+42
+54
+35
+2e
+32
+20
+4d
+6f
+75
+73
+65
+aa
+55
+0c
+00
+a7
+4d
+0b
+42
+54
+35
+2e
+32
+20
+4d
+6f
+75
+73
+65
+aa
+55
+0c
+00
+bb
+4d
+0b
+42
+54
+33
+2e
+30
+20
+4d
+6f
+75
+73
+65
+aa
+55
+01
+00
+a6
+4d
+01
+aa
+55
+08
+00
+72
+43
+06
+00
+09
+00
+20
+00
+2c
+01
+aa
+55
+06
+00
+cc
+4a
+03
+12
+18
+ff
+00
+00
+aa
+55
+04
+00
+28
+44
+00
+00
+00
+00
+aa
+55
+01
+00
+32
+44
+07
+aa
+55
+08
+00
+4c
+44
+fb
+00
+48
+08
+fb
+00
+48
+08
+aa
+55
+06
+00
+7a
+43
+8e
+b1
+3a
+0e
+8e
+ed
+aa
+55
+02
+00
+e7
+4a
+15
+00
+aa
+55
+02
+00
+57
+43
+19
+00
+aa
+55
+06
+00
+e9
+4a
+1d
+00
+21
+00
+30
+00
+aa
+55
+02
+00
+d1
+43
+2d
+00
+aa
+55
+01
+00
+f0
+4a
+96
+aa
+55
+01
+00
+86
+44
+ff
+aa
+55
+01
+00
+90
+47
+ff
+aa
+55
+0c
+00
+d0
+49
+03
+04
+01
+02
+20
+2a
+3f
+15
+14
+1b
+36
+0e
+aa
+55
+05
+00
+91
+4c
+8a
+8b
+83
+84
+88
+aa
+55
+74
+00
+df
+49
+09
+5a
+26
+34
+19
+04
+09
+00
+ff
+ff
+09
+5a
+0d
+f0
+1d
+e3
+7d
+d2
+ff
+ff
+09
+5a
+0d
+10
+1d
+ed
+7d
+80
+ff
+ff
+1b
+35
+28
+b4
+29
+46
+2a
+96
+2b
+8c
+2c
+6e
+2d
+64
+38
+5f
+39
+0f
+3a
+32
+3b
+47
+42
+10
+ff
+ff
+54
+2e
+55
+f2
+61
+f4
+63
+70
+75
+52
+76
+41
+77
+ed
+78
+23
+79
+46
+7a
+e5
+7c
+48
+7e
+77
+7f
+01
+0b
+00
+7f
+00
+09
+00
+ff
+ff
+09
+5a
+ff
+27
+ab
+40
+be
+d1
+a0
+41
+a1
+12
+a7
+ff
+b6
+00
+b5
+c8
+a5
+af
+ff
+00
+09
+00
+ff
+ff
+aa
+55
+0c
+00
+97
+4a
+05
+b9
+09
+5a
+0b
+72
+0c
+52
+09
+00
+ff
+ff
+aa
+55
+40
+00
+53
+4a
+09
+5a
+0d
+10
+0e
+c5
+5b
+9a
+10
+38
+11
+42
+28
+28
+41
+23
+49
+39
+4a
+b0
+4b
+a0
+4c
+90
+4d
+70
+09
+00
+ff
+ff
+09
+5a
+06
+02
+09
+69
+0d
+48
+0e
+9f
+0f
+ba
+09
+00
+ff
+ff
+09
+a5
+46
+34
+19
+04
+60
+07
+69
+04
+7d
+20
+7e
+00
+09
+00
+ff
+ff
+aa
+55
+08
+00
+a3
+4a
+09
+5a
+0b
+f3
+09
+00
+ff
+ff
+aa
+55
+08
+00
+e3
+4b
+09
+a5
+0b
+f3
+09
+00
+ff
+ff
+aa
+55
+02
+00
+8d
+44
+2d
+49
+aa
+55
+01
+00
+65
+48
+01
+aa
+55
+01
+00
+64
+48
+01
+aa
+55
+01
+00
+36
+48
+01
+aa
+55
+01
+00
+a8
+48
+06
+aa
+55
+02
+00
+38
+48
+c0
+12
+aa
+55
+01
+00
+5b
+48
+00
+aa
+55
+05
+00
+77
+48
+20
+15
+10
+05
+4e
+aa
+55
+05
+00
+8c
+48
+01
+0f
+0f
+0f
+0f
+aa
+55
+03
+00
+5c
+48
+00
+48
+60
+aa
+55
+01
+00
+7d
+48
+07
+aa
+55
+02
+00
+99
+48
+b5
+4a
+aa
+55
+01
+00
+ca
+48
+80
+aa
+55
+02
+00
+c2
+48
+14
+00
+aa
+55
+02
+00
+c0
+48
+50
+00
+aa
+55
+03
+00
+b8
+48
+00
+a6
+0e
+aa
+55
+03
+00
+b8
+49
+00
+50
+00
+aa
+55
+02
+00
+79
+44
+80
+1f
+aa
+55
+01
+00
+83
+44
+80
+aa
+55
+01
+00
+e8
+41
+03
+aa
+55
+03
+00
+9c
+4d
+00
+26
+4c
+55
+aa
+aa
+55
+d7
+a3
+18
+a4
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+90
+90
Index: flash1.dat
===================================================================
--- /YC1308AC/branch/mouse_project/TestTools/mous-config-tool-qt/flash1.dat	(nonexistent)
+++ /YC1308AC/branch/mouse_project/TestTools/mous-config-tool-qt/flash1.dat	(working copy)
@@ -0,0 +1,8192 @@
+00
+02
+aa
+55
+0e
+19
+c2
+84
+00
+21
+c0
+00
+00
+31
+c0
+01
+80
+5d
+c0
+41
+01
+24
+c0
+41
+80
+70
+c0
+42
+00
+77
+c0
+45
+00
+9f
+c0
+45
+81
+17
+c0
+46
+00
+85
+c0
+4f
+81
+2b
+c0
+57
+01
+2d
+c0
+61
+83
+2a
+c0
+62
+00
+36
+c0
+63
+82
+41
+c0
+64
+82
+47
+c0
+65
+02
+79
+c0
+66
+00
+c5
+c0
+67
+05
+07
+c0
+67
+86
+0b
+c0
+68
+03
+3a
+c0
+68
+85
+37
+c0
+69
+83
+53
+c0
+6a
+05
+1a
+c0
+6b
+02
+9b
+c0
+6c
+83
+7b
+c0
+6d
+04
+91
+c0
+6d
+84
+9b
+c0
+6f
+05
+aa
+c0
+6f
+80
+50
+c0
+70
+80
+48
+c0
+71
+00
+44
+c0
+74
+04
+a2
+20
+20
+13
+7c
+c0
+0d
+04
+b6
+c0
+10
+00
+42
+c0
+19
+80
+a5
+c0
+1a
+00
+aa
+c0
+43
+84
+9e
+c0
+50
+84
+c0
+c0
+51
+84
+ca
+c0
+5a
+84
+cc
+c0
+60
+04
+d6
+c0
+6e
+83
+26
+c0
+71
+02
+f2
+c0
+74
+82
+fa
+c0
+75
+01
+ec
+c0
+76
+04
+fc
+c0
+76
+86
+3b
+20
+20
+13
+7c
+20
+80
+00
+00
+20
+40
+30
+f3
+24
+55
+80
+4c
+20
+40
+3b
+fd
+20
+20
+08
+04
+20
+40
+03
+c4
+da
+20
+49
+39
+6f
+e0
+c9
+38
+1f
+e0
+ff
+ff
+1f
+ef
+fe
+1d
+9a
+20
+a2
+00
+ef
+e0
+80
+11
+67
+e0
+c4
+82
+6f
+e0
+c4
+82
+c0
+19
+bd
+6f
+c0
+1a
+3d
+7b
+20
+20
+42
+eb
+6f
+e0
+c9
+1f
+20
+20
+5a
+f8
+18
+42
+7e
+00
+c1
+7f
+80
+00
+1f
+e2
+04
+00
+20
+20
+49
+30
+18
+42
+7e
+00
+c1
+7f
+80
+00
+1f
+e2
+04
+00
+20
+20
+49
+2c
+6f
+e0
+cb
+af
+24
+7a
+00
+00
+70
+44
+8c
+00
+20
+60
+00
+00
+6f
+e0
+cb
+b4
+c1
+00
+80
+00
+20
+40
+46
+c2
+60
+48
+c9
+38
+20
+40
+03
+e6
+20
+40
+01
+0d
+70
+41
+ca
+00
+20
+40
+46
+da
+20
+40
+00
+5a
+20
+20
+46
+bd
+6f
+e1
+47
+8c
+c3
+83
+80
+00
+20
+20
+43
+18
+20
+40
+70
+6c
+20
+40
+75
+97
+20
+40
+6e
+a7
+20
+40
+1b
+92
+20
+40
+08
+3a
+20
+40
+00
+64
+20
+20
+08
+1a
+20
+40
+00
+66
+20
+20
+31
+09
+20
+40
+00
+68
+20
+20
+78
+50
+6f
+e0
+c4
+8c
+20
+7a
+00
+00
+6f
+e1
+44
+8d
+1f
+e2
+24
+00
+1a
+40
+a4
+02
+ef
+e0
+80
+12
+c1
+7f
+80
+00
+20
+20
+78
+13
+70
+89
+00
+05
+20
+00
+00
+02
+70
+89
+00
+00
+6f
+e0
+c0
+c5
+c0
+0c
+11
+68
+70
+8a
+87
+29
+20
+20
+11
+7d
+20
+40
+11
+90
+58
+00
+76
+76
+67
+f1
+09
+68
+20
+60
+00
+00
+c6
+93
+00
+00
+6f
+e2
+48
+91
+68
+4a
+48
+8d
+98
+46
+7c
+00
+20
+22
+80
+82
+70
+41
+ea
+ff
+20
+60
+00
+00
+70
+41
+ea
+00
+70
+41
+e8
+91
+20
+60
+00
+00
+6f
+f0
+89
+a2
+2f
+ef
+fe
+06
+79
+20
+fe
+07
+67
+e0
+c1
+e9
+6f
+f0
+89
+a3
+1f
+e1
+04
+0f
+18
+43
+84
+00
+1f
+f1
+fe
+00
+98
+40
+84
+00
+18
+4f
+a2
+03
+6f
+e0
+c1
+e9
+20
+40
+00
+9a
+1f
+e6
+7e
+00
+9a
+20
+fe
+00
+1f
+e0
+ff
+f7
+1f
+e1
+7f
+ff
+2f
+ef
+fe
+08
+24
+20
+80
+98
+58
+00
+00
+00
+67
+e0
+80
+19
+20
+60
+00
+00
+2f
+ef
+fe
+07
+24
+60
+80
+00
+d8
+40
+ff
+00
+98
+41
+fe
+00
+20
+60
+00
+00
+6f
+e0
+c1
+e8
+c0
+48
+80
+a2
+20
+20
+12
+1e
+70
+8a
+39
+5b
+70
+8a
+3a
+01
+20
+20
+12
+2a
+da
+20
+09
+9e
+d8
+40
+00
+0c
+58
+00
+00
+30
+20
+40
+5e
+63
+20
+20
+60
+bf
+6a
+50
+8a
+12
+70
+8a
+12
+3d
+70
+8a
+11
+aa
+70
+8a
+0a
+0c
+6f
+f0
+8a
+09
+79
+20
+7e
+07
+67
+f0
+8a
+09
+70
+8a
+0b
+04
+20
+00
+00
+3c
+70
+8a
+16
+00
+70
+8a
+17
+06
+20
+40
+61
+1a
+67
+f0
+8a
+97
+70
+80
+dc
+03
+20
+00
+00
+3c
+6f
+f0
+80
+53
+79
+20
+7e
+07
+67
+f0
+80
+53
+20
+00
+03
+e8
+6f
+f1
+01
+50
+67
+e1
+44
+a2
+6f
+f0
+80
+53
+79
+3f
+fe
+07
+67
+f0
+80
+53
+70
+8a
+97
+00
+62
+50
+8a
+12
+20
+60
+00
+00
+20
+40
+00
+aa
+70
+48
+f6
+00
+20
+40
+61
+25
+67
+e1
+48
+e9
+6f
+e0
+c4
+a0
+c0
+81
+00
+d1
+68
+49
+48
+e9
+18
+4f
+fe
+08
+1f
+e6
+fc
+0a
+20
+40
+7d
+ec
+98
+40
+fe
+00
+67
+e1
+48
+e9
+da
+20
+48
+e3
+20
+40
+3e
+d8
+6f
+e0
+c4
+a4
+c2
+81
+3f
+1a
+c2
+80
+80
+d8
+c3
+00
+00
+db
+20
+20
+3e
+cc
+6f
+e0
+cc
+40
+c3
+00
+3f
+1c
+20
+20
+02
+41
+6f
+e0
+cc
+40
+c3
+00
+3e
+d0
+d8
+e0
+00
+04
+20
+40
+46
+f4
+70
+4c
+4f
+0c
+6f
+e0
+c8
+fa
+20
+7a
+00
+00
+70
+48
+fa
+00
+20
+20
+01
+0a
+78
+54
+7c
+00
+6f
+e0
+cc
+44
+1f
+e6
+7c
+04
+24
+62
+80
+00
+20
+20
+7e
+54
+6f
+e0
+cc
+40
+c3
+00
+49
+56
+c4
+01
+80
+00
+6f
+e1
+4a
+c2
+24
+7a
+00
+00
+6f
+e1
+48
+83
+24
+7a
+00
+00
+6f
+e1
+48
+87
+24
+7a
+00
+00
+6f
+e0
+cc
+47
+24
+7a
+00
+00
+6f
+e4
+4b
+ab
+c4
+02
+00
+00
+20
+40
+00
+e4
+20
+74
+00
+00
+6f
+e0
+cc
+54
+20
+3a
+01
+13
+68
+48
+cc
+4f
+18
+40
+84
+01
+60
+48
+cc
+4f
+6f
+e0
+cc
+4d
+98
+46
+7c
+00
+24
+41
+01
+08
+6f
+e0
+cc
+4e
+98
+46
+7c
+00
+24
+21
+01
+0a
+6f
+e0
+cc
+45
+c0
+00
+84
+03
+c0
+01
+84
+03
+68
+48
+cc
+58
+20
+20
+04
+0f
+70
+4c
+4f
+01
+20
+40
+01
+0f
+6f
+e0
+cc
+45
+c0
+00
+84
+15
+c0
+01
+84
+15
+68
+48
+cc
+58
+20
+20
+04
+2c
+6f
+e0
+cc
+54
+1f
+e0
+ff
+ff
+67
+e0
+cc
+54
+20
+60
+00
+00
+6f
+e0
+cc
+40
+c2
+82
+01
+0a
+20
+40
+03
+a1
+20
+20
+00
+fa
+70
+8a
+8b
+e6
+20
+40
+12
+6a
+20
+40
+12
+71
+20
+40
+12
+77
+70
+8a
+6d
+09
+70
+8a
+03
+05
+70
+8a
+7a
+94
+70
+8a
+0e
+0b
+70
+8a
+0f
+05
+70
+8a
+83
+90
+70
+8a
+85
+00
+70
+89
+21
+40
+20
+20
+12
+5d
+6f
+e0
+c1
+ea
+67
+e0
+89
+64
+20
+40
+11
+50
+70
+8a
+0a
+00
+6f
+e0
+89
+64
+67
+e0
+c1
+ea
+20
+60
+00
+00
+70
+00
+80
+00
+20
+20
+13
+b7
+79
+3f
+80
+34
+20
+40
+6d
+f3
+20
+40
+01
+76
+20
+40
+41
+a7
+20
+75
+80
+00
+20
+40
+03
+3c
+20
+40
+3d
+8a
+20
+40
+47
+28
+20
+40
+01
+9e
+20
+40
+05
+29
+20
+20
+3b
+c9
+6f
+e4
+4b
+ab
+c4
+1e
+80
+00
+6f
+e0
+cc
+3b
+c2
+83
+81
+3e
+70
+4c
+3a
+00
+20
+60
+00
+00
+70
+4c
+3a
+01
+20
+60
+00
+00
+6f
+e0
+cc
+38
+c1
+7f
+80
+00
+c2
+83
+81
+45
+70
+4c
+39
+00
+20
+60
+00
+00
+70
+4c
+39
+01
+20
+60
+00
+00
+6f
+e4
+4c
+1f
+20
+7a
+00
+00
+6f
+e0
+cc
+1e
+1f
+e2
+22
+00
+1f
+e6
+7c
+0b
+24
+21
+01
+5d
+20
+40
+01
+56
+d8
+a0
+4a
+db
+20
+40
+01
+53
+d8
+a0
+44
+0a
+20
+40
+01
+53
+d8
+a0
+42
+f8
+d8
+c0
+4c
+1f
+1a
+22
+72
+00
+20
+20
+7d
+5f
+d8
+a0
+4a
+db
+20
+40
+01
+5b
+d8
+a0
+44
+0a
+20
+40
+01
+5b
+d8
+a0
+42
+f8
+df
+20
+00
+0b
+20
+20
+7d
+26
+20
+40
+01
+73
+6f
+e0
+cc
+1e
+1f
+e0
+fe
+01
+67
+e0
+ca
+d2
+70
+4a
+d3
+09
+d8
+c0
+4c
+1f
+d8
+a0
+4a
+d4
+1a
+22
+72
+00
+20
+40
+7d
+5f
+6f
+e0
+cc
+1e
+1f
+e0
+fe
+01
+67
+e0
+c4
+08
+70
+44
+09
+09
+d8
+c0
+4c
+1f
+d8
+a0
+44
+0a
+1a
+22
+72
+00
+20
+40
+7d
+5f
+d8
+c0
+4c
+1e
+d8
+a0
+42
+f7
+1a
+22
+72
+00
+1f
+20
+f2
+01
+20
+20
+7d
+5f
+d8
+a0
+4a
+d2
+df
+20
+00
+14
+20
+20
+7d
+26
+20
+75
+80
+00
+20
+40
+26
+07
+20
+40
+22
+ff
+20
+40
+3f
+1e
+20
+40
+01
+47
+20
+40
+3d
+13
+20
+40
+03
+98
+20
+40
+01
+40
+20
+40
+01
+38
+20
+40
+01
+98
+20
+40
+1b
+16
+20
+40
+1b
+3f
+20
+40
+1b
+32
+20
+40
+1b
+1e
+6f
+e4
+4b
+ab
+c2
+89
+81
+88
+c2
+89
+45
+f6
+20
+60
+00
+00
+20
+40
+5d
+a5
+6f
+e4
+4b
+ab
+2f
+ef
+fe
+09
+24
+40
+dd
+bf
+20
+40
+46
+3b
+6f
+e1
+49
+90
+d8
+40
+aa
+55
+98
+46
+7c
+00
+20
+22
+c5
+e2
+60
+49
+49
+90
+20
+40
+45
+e7
+6f
+e0
+ca
+b4
+67
+e0
+c9
+38
+6f
+e0
+c9
+26
+67
+e0
+c9
+92
+20
+60
+00
+00
+6f
+e0
+c1
+e8
+67
+e0
+cc
+90
+20
+60
+00
+00
+6f
+e0
+cc
+90
+67
+e0
+c1
+e8
+20
+60
+00
+00
+58
+00
+01
+a3
+67
+e1
+48
+9b
+58
+00
+01
+bd
+67
+e1
+48
+9d
+20
+20
+3b
+d3
+c6
+93
+00
+00
+20
+40
+3f
+70
+24
+74
+00
+00
+6f
+e4
+4b
+ab
+c3
+0a
+81
+aa
+6f
+e0
+cb
+8b
+24
+3a
+48
+84
+20
+40
+42
+cb
+6f
+e0
+c8
+36
+c2
+80
+81
+b9
+68
+48
+c7
+c7
+6f
+e0
+c8
+d0
+98
+41
+fe
+00
+67
+e0
+c8
+d0
+68
+48
+c7
+cc
+6f
+e0
+c8
+d5
+98
+40
+fe
+00
+67
+e0
+c8
+d5
+68
+48
+c7
+cd
+6f
+e0
+c8
+d6
+98
+40
+fe
+00
+67
+e0
+c8
+d6
+70
+48
+36
+01
+da
+20
+00
+07
+da
+40
+48
+d0
+20
+20
+26
+e1
+6f
+e4
+4b
+ab
+c4
+0b
+00
+00
+6f
+e0
+ca
+ae
+20
+7a
+00
+00
+6f
+e0
+c8
+a7
+20
+7a
+00
+00
+6f
+e0
+cb
+a1
+1f
+e0
+fe
+01
+1f
+e1
+7e
+03
+67
+e0
+cb
+a1
+24
+7a
+00
+00
+70
+4b
+a2
+00
+6f
+e0
+cb
+a2
+1f
+e0
+fe
+01
+67
+e0
+cb
+a2
+1f
+e6
+7c
+08
+24
+21
+01
+d3
+20
+40
+25
+9a
+20
+40
+26
+5b
+24
+2c
+01
+e2
+24
+37
+81
+e2
+20
+40
+01
+d9
+20
+40
+25
+97
+6f
+e0
+cb
+a3
+1f
+e0
+fe
+01
+67
+e0
+cb
+a3
+c0
+08
+01
+e4
+20
+60
+00
+00
+6f
+e0
+c8
+a7
+20
+3a
+48
+8c
+70
+4b
+a3
+00
+6f
+e0
+cb
+a4
+c4
+00
+00
+00
+79
+3f
+fe
+00
+67
+e0
+cb
+a4
+20
+40
+45
+44
+20
+20
+03
+55
+20
+40
+22
+cb
+20
+20
+01
+c9
+70
+4b
+a3
+00
+6f
+e0
+cb
+a4
+c3
+80
+00
+00
+79
+20
+7e
+00
+67
+e0
+cb
+a4
+6f
+e1
+4b
+bc
+67
+e1
+4a
+b2
+20
+20
+05
+29
+20
+40
+26
+31
+24
+34
+02
+81
+20
+40
+01
+fc
+20
+40
+26
+ee
+20
+40
+00
+7b
+6f
+e0
+cb
+e1
+24
+3a
+01
+f7
+6f
+e4
+48
+b0
+67
+e4
+48
+5c
+6f
+e1
+48
+c2
+67
+e1
+48
+c4
+20
+40
+26
+bb
+24
+74
+00
+00
+20
+40
+7f
+dc
+6f
+e1
+c8
+ad
+20
+20
+26
+b8
+70
+48
+a6
+00
+69
+61
+01
+5f
+34
+73
+02
+00
+20
+40
+26
+5b
+6f
+e0
+c8
+2c
+c0
+00
+a6
+51
+24
+2c
+02
+07
+24
+37
+82
+07
+20
+40
+26
+72
+20
+40
+02
+36
+20
+20
+26
+51
+6f
+e0
+ca
+c5
+24
+7a
+00
+00
+20
+40
+02
+26
+20
+40
+02
+1a
+6f
+e0
+c8
+a7
+24
+7a
+00
+00
+6f
+e1
+48
+a3
+1f
+e0
+fe
+01
+67
+e1
+48
+a3
+6f
+e0
+c8
+a4
+c2
+80
+a6
+79
+20
+40
+26
+7e
+20
+40
+02
+15
+20
+20
+01
+fd
+6f
+e0
+c8
+a4
+1f
+e6
+7c
+00
+20
+61
+00
+00
+df
+20
+00
+28
+20
+20
+7d
+13
+d8
+e0
+00
+0c
+20
+40
+7d
+74
+24
+7a
+00
+00
+20
+40
+02
+22
+20
+40
+40
+7c
+d8
+e0
+00
+0c
+58
+00
+00
+a0
+20
+20
+7d
+66
+6f
+e4
+4b
+ab
+c4
+14
+00
+00
+20
+20
+05
+bb
+70
+4b
+94
+03
+6f
+e0
+c9
+1b
+c1
+7f
+80
+00
+da
+20
+00
+00
+70
+4b
+96
+06
+68
+48
+c9
+1b
+20
+40
+46
+6a
+67
+e0
+cb
+94
+6f
+e0
+c9
+10
+c0
+7f
+82
+33
+20
+40
+41
+68
+1a
+22
+7e
+00
+c2
+83
+46
+8d
+20
+20
+46
+80
+68
+48
+c9
+1b
+20
+40
+3f
+56
+20
+20
+02
+30
+6f
+e0
+cb
+e1
+24
+5a
+02
+3a
+70
+4b
+e1
+00
+20
+60
+00
+00
+20
+40
+03
+55
+6f
+e4
+4b
+ab
+c4
+1e
+00
+00
+68
+48
+c9
+13
+20
+40
+3f
+56
+68
+48
+c9
+14
+20
+20
+3f
+56
+58
+00
+00
+06
+20
+40
+5b
+0d
+c2
+81
+be
+23
+20
+40
+05
+24
+20
+40
+05
+29
+20
+20
+3e
+23
+20
+40
+42
+e9
+20
+40
+7f
+dc
+20
+40
+04
+3c
+20
+40
+40
+15
+68
+48
+c9
+10
+20
+40
+60
+69
+68
+48
+c9
+10
+20
+40
+60
+42
+6f
+e0
+c9
+20
+20
+40
+05
+6a
+d8
+40
+00
+03
+20
+40
+3f
+56
+20
+40
+02
+79
+20
+40
+60
+82
+20
+40
+04
+22
+d8
+40
+00
+13
+20
+40
+3f
+56
+20
+40
+02
+5b
+20
+40
+02
+5f
+20
+20
+02
+6f
+6f
+e0
+c9
+1e
+c1
+7f
+80
+00
+68
+48
+c9
+1e
+20
+20
+60
+7f
+6f
+e0
+cc
+40
+c2
+80
+02
+63
+6f
+e4
+4b
+ab
+c4
+0a
+00
+00
+20
+40
+02
+67
+6f
+e0
+c8
+fc
+d8
+40
+00
+c0
+20
+20
+60
+93
+68
+48
+c4
+a1
+18
+46
+7c
+03
+20
+21
+02
+6d
+18
+40
+84
+05
+60
+48
+c8
+fc
+20
+60
+00
+00
+18
+40
+84
+04
+20
+20
+02
+6b
+6f
+e4
+4b
+ab
+c4
+1e
+00
+00
+68
+48
+c9
+13
+20
+40
+60
+42
+68
+48
+c9
+14
+20
+40
+60
+42
+68
+48
+c9
+13
+20
+40
+3f
+54
+68
+48
+c9
+14
+20
+20
+3f
+54
+68
+48
+c9
+13
+20
+40
+60
+50
+68
+48
+c9
+14
+20
+40
+60
+50
+20
+40
+3f
+88
+6f
+e0
+c9
+1f
+20
+40
+05
+6a
+20
+20
+3e
+44
+6f
+e0
+c8
+a7
+20
+5a
+02
+8d
+6f
+e0
+c8
+bd
+c1
+00
+80
+00
+20
+40
+26
+9f
+20
+40
+04
+fc
+24
+74
+00
+00
+20
+40
+26
+c4
+6f
+e0
+cb
+e1
+24
+5a
+02
+47
+6f
+e2
+48
+5c
+20
+20
+26
+b8
+70
+48
+36
+01
+70
+48
+a7
+01
+20
+40
+26
+42
+67
+e0
+c7
+c6
+58
+00
+00
+00
+67
+e3
+c7
+c7
+6f
+e2
+48
+a9
+67
+e2
+47
+ce
+70
+48
+35
+0c
+6f
+e0
+c8
+36
+79
+20
+7e
+03
+67
+e0
+c8
+36
+20
+40
+22
+91
+20
+20
+01
+ee
+1a
+62
+7e
+00
+c0
+00
+82
+ab
+c0
+1e
+02
+c8
+c0
+1c
+82
+c2
+c0
+1d
+02
+d8
+c0
+19
+02
+b4
+c0
+0a
+82
+ae
+c0
+0a
+02
+a9
+c0
+20
+02
+bb
+c0
+09
+02
+a6
+20
+20
+43
+36
+70
+44
+54
+01
+20
+40
+32
+23
+20
+20
+44
+27
+20
+40
+03
+b1
+20
+20
+43
+50
+20
+40
+45
+44
+20
+40
+03
+b1
+20
+20
+43
+fa
+58
+00
+00
+00
+67
+e1
+4a
+f2
+67
+e0
+cc
+7a
+67
+e0
+cc
+7b
+67
+e0
+ca
+c6
+20
+20
+43
+66
+6f
+e0
+ca
+c7
+c0
+00
+82
+b8
+70
+4b
+76
+14
+20
+20
+43
+73
+20
+40
+43
+6c
+70
+4b
+76
+0a
+20
+20
+43
+73
+6f
+e0
+cc
+7a
+24
+7a
+00
+00
+70
+4c
+7a
+01
+70
+4c
+7b
+1e
+20
+60
+00
+00
+20
+40
+00
+80
+20
+20
+01
+9b
+20
+40
+02
+c0
+20
+40
+45
+44
+d8
+e0
+00
+01
+20
+40
+46
+f4
+20
+40
+03
+b1
+20
+20
+48
+59
+6f
+e2
+48
+3c
+67
+e2
+48
+91
+67
+e2
+49
+93
+20
+40
+25
+7e
+20
+40
+03
+b1
+20
+40
+45
+44
+20
+40
+42
+ca
+70
+4a
+ae
+00
+70
+48
+a1
+00
+70
+48
+8b
+00
+6f
+e2
+48
+91
+68
+4a
+48
+8d
+98
+46
+7c
+00
+20
+62
+80
+00
+20
+40
+02
+c0
+20
+20
+48
+22
+20
+40
+02
+c0
+6f
+e0
+c8
+a5
+24
+3a
+02
+e9
+6f
+e0
+c8
+8b
+c0
+01
+02
+de
+20
+20
+48
+37
+6f
+e4
+4b
+ab
+c2
+97
+c8
+11
+c2
+98
+48
+11
+c3
+1d
+48
+06
+6f
+e2
+49
+93
+68
+4a
+49
+74
+98
+46
+7c
+00
+20
+22
+82
+e7
+20
+20
+48
+06
+70
+48
+8b
+00
+20
+20
+48
+27
+70
+48
+a5
+00
+20
+40
+26
+52
+5f
+ff
+ff
+ff
+67
+e2
+48
+5c
+58
+00
+00
+00
+67
+e3
+c8
+d0
+70
+4b
+e1
+01
+20
+40
+05
+29
+20
+20
+02
+86
+70
+48
+8b
+00
+6f
+e1
+4b
+eb
+1f
+e0
+fe
+01
+67
+e1
+4b
+eb
+6f
+e0
+cb
+eb
+1f
+e1
+7e
+ff
+c0
+00
+23
+41
+20
+60
+00
+00
+6f
+e1
+48
+89
+d8
+40
+01
+f8
+98
+41
+7e
+00
+20
+3a
+03
+02
+6f
+e1
+48
+89
+1f
+e0
+fe
+01
+67
+e1
+48
+89
+20
+60
+00
+00
+20
+40
+25
+9a
+20
+40
+26
+5b
+24
+2c
+03
+1b
+24
+37
+83
+1b
+20
+40
+26
+72
+6f
+e2
+48
+77
+68
+4a
+48
+3c
+98
+46
+7c
+00
+20
+22
+a3
+2e
+6f
+e2
+48
+a9
+68
+4a
+48
+3c
+98
+46
+7c
+00
+20
+42
+83
+17
+6f
+e0
+c8
+a1
+79
+3f
+fe
+02
+67
+e0
+c8
+a1
+58
+00
+00
+00
+67
+e1
+48
+83
+67
+e1
+48
+89
+67
+e1
+48
+87
+20
+20
+25
+95
+6f
+e2
+48
+0c
+20
+7a
+00
+00
+67
+e2
+48
+91
+20
+20
+25
+7e
+6f
+e0
+c8
+8c
+20
+3a
+22
+cb
+6f
+e1
+48
+89
+1f
+e0
+fe
+01
+67
+e1
+48
+89
+2f
+ef
+fe
+09
+6f
+e0
+c8
+8b
+c0
+02
+03
+24
+20
+20
+25
+a8
+20
+20
+a5
+75
+20
+20
+23
+39
+c5
+13
+a4
+0e
+c6
+93
+00
+00
+6f
+e0
+c8
+a1
+20
+20
+26
+1d
+6f
+e4
+4b
+ab
+c2
+97
+c8
+0a
+6f
+e0
+c9
+38
+c0
+00
+03
+2f
+20
+20
+3d
+57
+6f
+e4
+4b
+ab
+c3
+08
+c8
+03
+20
+40
+03
+b9
+20
+40
+3d
+65
+20
+34
+48
+06
+6f
+e4
+4b
+ab
+c2
+98
+48
+0c
+c3
+18
+c8
+0c
+20
+40
+41
+10
+1a
+21
+7e
+07
+20
+20
+47
+ff
+20
+40
+40
+8f
+20
+40
+03
+66
+6f
+e0
+c9
+27
+c0
+06
+03
+3f
+20
+20
+40
+98
+6f
+e0
+c9
+92
+c0
+00
+03
+43
+c0
+00
+83
+46
+c0
+01
+03
+49
+6f
+e0
+cc
+91
+1f
+e2
+22
+00
+20
+20
+03
+4b
+6f
+e0
+cc
+93
+1f
+e2
+22
+00
+20
+20
+03
+4b
+6f
+e0
+cc
+94
+1f
+e2
+22
+00
+58
+00
+c3
+09
+20
+40
+5b
+0c
+1a
+22
+7e
+00
+1f
+ed
+7e
+00
+1f
+e0
+fe
+23
+20
+40
+5b
+0c
+58
+00
+00
+09
+20
+20
+5b
+0c
+20
+40
+3f
+65
+20
+75
+80
+00
+20
+40
+42
+36
+20
+40
+41
+b5
+c0
+18
+03
+5d
+c0
+18
+c2
+17
+c0
+2c
+42
+20
+20
+40
+41
+b2
+20
+00
+1a
+f4
+20
+20
+03
+56
+6f
+e0
+c9
+c2
+c0
+68
+83
+60
+20
+20
+41
+bd
+58
+00
+00
+49
+20
+40
+5b
+0d
+c0
+50
+83
+64
+20
+20
+41
+da
+70
+49
+27
+0c
+20
+60
+00
+00
+6f
+e0
+cc
+40
+c2
+80
+03
+6a
+6f
+e0
+c9
+23
+c1
+7f
+80
+00
+6f
+e1
+4a
+c2
+24
+7a
+00
+00
+6f
+e1
+48
+83
+24
+7a
+00
+00
+6f
+e1
+48
+87
+24
+7a
+00
+00
+6f
+e0
+cc
+40
+c2
+80
+03
+78
+6f
+e0
+cb
+a7
+24
+7a
+00
+00
+6f
+e0
+cb
+c1
+20
+3a
+04
+43
+67
+e0
+cb
+a8
+20
+60
+00
+00
+6f
+e0
+cc
+47
+24
+7a
+00
+00
+20
+20
+03
+74
+20
+40
+3e
+9b
+20
+40
+00
+e9
+20
+40
+23
+2b
+20
+40
+25
+56
+20
+40
+47
+cd
+20
+40
+48
+be
+20
+40
+04
+40
+20
+40
+03
+dc
+20
+40
+04
+32
+20
+40
+40
+7c
+20
+40
+44
+cc
+20
+40
+04
+6c
+20
+40
+44
+ff
+20
+40
+03
+94
+20
+40
+45
+12
+20
+40
+04
+85
+20
+40
+45
+15
+20
+40
+04
+88
+20
+40
+45
+2a
+20
+40
+45
+2d
+20
+40
+45
+32
+20
+40
+45
+35
+20
+40
+40
+22
+20
+40
+45
+47
+20
+20
+04
+8b
+da
+60
+4b
+77
+da
+40
+45
+0a
+20
+40
+31
+8a
+20
+20
+45
+07
+70
+4c
+41
+00
+6f
+e0
+cc
+40
+c4
+00
+00
+00
+20
+40
+04
+22
+70
+4c
+44
+00
+6f
+e0
+cc
+4d
+1f
+e3
+7e
+00
+67
+e0
+cc
+4e
+20
+60
+00
+00
+6f
+e0
+cc
+53
+67
+e0
+cc
+54
+20
+60
+00
+00
+6f
+e0
+cc
+44
+c0
+00
+83
+ab
+c0
+01
+03
+ad
+c0
+01
+83
+af
+6f
+e0
+cc
+4b
+67
+e0
+cc
+4c
+20
+60
+00
+00
+6f
+e0
+cc
+48
+20
+20
+03
+a9
+6f
+e0
+cc
+49
+20
+20
+03
+a9
+6f
+e0
+cc
+4a
+20
+20
+03
+a9
+6f
+e0
+cc
+40
+c4
+00
+00
+00
+6f
+e0
+cc
+46
+67
+e0
+cc
+47
+70
+4c
+42
+00
+70
+4c
+43
+00
+70
+4c
+41
+01
+20
+60
+00
+00
+6f
+e0
+cc
+40
+c4
+00
+00
+00
+20
+40
+03
+d9
+6f
+e0
+c9
+38
+c1
+80
+00
+00
+70
+4c
+44
+01
+20
+40
+03
+ab
+6f
+e0
+cc
+40
+c4
+01
+00
+00
+6f
+e0
+cc
+50
+20
+20
+03
+d0
+6f
+e0
+cc
+40
+c4
+00
+00
+00
+20
+40
+03
+d9
+6f
+e0
+c9
+38
+c1
+00
+00
+00
+6f
+e0
+cc
+40
+c4
+00
+80
+00
+70
+4c
+44
+03
+20
+40
+03
+af
+6f
+e0
+cc
+40
+c4
+01
+00
+00
+6f
+e0
+cc
+51
+67
+e0
+cc
+52
+20
+60
+00
+00
+6f
+e0
+cc
+40
+c4
+00
+00
+00
+6f
+e0
+cc
+40
+79
+3f
+fe
+02
+67
+e0
+cc
+40
+70
+4c
+44
+02
+20
+40
+03
+ad
+70
+4c
+41
+01
+70
+4c
+42
+01
+20
+20
+04
+02
+6f
+e0
+cc
+41
+20
+7a
+00
+00
+6f
+e0
+cc
+42
+c0
+00
+83
+e8
+6f
+e0
+cc
+47
+20
+3a
+03
+e5
+1f
+e0
+ff
+ff
+67
+e0
+cc
+47
+20
+20
+04
+03
+20
+40
+03
+a1
+70
+4c
+41
+00
+20
+20
+04
+15
+6f
+e0
+cc
+44
+20
+7a
+00
+00
+c0
+02
+03
+ef
+20
+20
+03
+ec
+6f
+e0
+cc
+40
+c2
+81
+03
+ef
+20
+20
+03
+f1
+6f
+e0
+cc
+52
+20
+3a
+04
+10
+da
+60
+4c
+4c
+da
+40
+03
+f4
+20
+20
+31
+8a
+6f
+e0
+cc
+44
+c0
+02
+03
+fc
+6f
+e0
+cc
+40
+c2
+81
+03
+fc
+20
+40
+03
+a4
+6f
+e0
+cc
+43
+c0
+00
+84
+12
+20
+20
+04
+00
+6f
+e0
+cc
+52
+1f
+e0
+ff
+ff
+67
+e0
+cc
+52
+20
+20
+03
+f8
+6f
+e0
+cc
+44
+c0
+02
+04
+2d
+70
+4c
+43
+01
+6f
+e0
+c9
+38
+c0
+00
+04
+08
+c0
+00
+84
+0a
+c0
+01
+04
+0c
+20
+60
+00
+00
+68
+48
+cc
+55
+20
+20
+04
+0f
+68
+48
+cc
+56
+20
+20
+04
+0f
+68
+48
+cc
+57
+20
+20
+04
+0f
+68
+48
+cc
+59
+20
+20
+60
+69
+70
+4c
+41
+00
+70
+4c
+44
+00
+6f
+e0
+cc
+44
+c0
+02
+04
+27
+70
+4c
+43
+00
+6f
+e0
+c9
+38
+c0
+00
+04
+1a
+c0
+00
+84
+1c
+c0
+01
+04
+1e
+20
+60
+00
+00
+68
+48
+cc
+55
+20
+20
+04
+1f
+68
+48
+cc
+56
+20
+20
+04
+1f
+68
+48
+cc
+57
+18
+46
+7c
+ff
+20
+62
+80
+00
+20
+20
+60
+7f
+20
+40
+04
+1a
+20
+40
+04
+1c
+20
+40
+04
+1e
+20
+40
+01
+0a
+20
+20
+04
+27
+70
+4c
+43
+00
+6f
+e0
+cc
+45
+c0
+01
+04
+14
+c0
+01
+84
+14
+68
+48
+cc
+59
+20
+20
+60
+65
+70
+4c
+43
+01
+6f
+e0
+cc
+45
+c0
+01
+04
+02
+c0
+01
+84
+02
+20
+20
+04
+0e
+6f
+e0
+cb
+ed
+c1
+7f
+80
+00
+6f
+e1
+4a
+b2
+20
+7a
+00
+00
+6f
+e1
+4b
+be
+68
+49
+4a
+b2
+98
+46
+04
+00
+6f
+e1
+4b
+ee
+98
+46
+7e
+00
+20
+21
+04
+3e
+68
+48
+cb
+ed
+20
+20
+60
+65
+68
+48
+cb
+ed
+20
+20
+60
+69
+da
+60
+4b
+a8
+da
+40
+04
+43
+20
+20
+31
+8a
+6f
+e0
+cc
+40
+c2
+80
+04
+5a
+6f
+e0
+c9
+27
+c0
+01
+c8
+f2
+c0
+05
+c8
+f2
+6f
+e0
+c9
+23
+67
+e0
+c9
+2f
+6f
+e1
+4b
+c2
+67
+e1
+49
+30
+67
+e1
+49
+32
+da
+20
+00
+00
+68
+48
+c9
+92
+18
+40
+84
+02
+18
+46
+7c
+03
+20
+41
+04
+54
+24
+41
+04
+58
+20
+20
+48
+ff
+6f
+e4
+4b
+ab
+c4
+0e
+00
+00
+18
+40
+84
+01
+20
+60
+00
+00
+18
+40
+85
+fd
+20
+60
+00
+00
+6f
+e0
+c9
+27
+c0
+01
+84
+69
+c0
+05
+84
+69
+68
+48
+c9
+92
+18
+40
+84
+02
+18
+46
+7c
+03
+20
+41
+04
+54
+24
+41
+04
+58
+18
+42
+7e
+00
+9f
+e0
+fe
+00
+67
+e0
+cc
+52
+70
+4c
+44
+04
+20
+40
+03
+a8
+70
+4c
+42
+01
+20
+20
+03
+b6
+68
+48
+c9
+92
+18
+40
+84
+01
+20
+20
+04
+5f
+6f
+e0
+c9
+38
+c0
+00
+04
+72
+6f
+e4
+4b
+ab
+c4
+1a
+80
+00
+68
+48
+cb
+ca
+20
+20
+04
+75
+6f
+e4
+4b
+ab
+c4
+19
+00
+00
+68
+48
+cb
+cb
+60
+48
+cb
+9d
+20
+40
+05
+37
+1f
+e1
+7e
+07
+68
+48
+cb
+9d
+98
+46
+7c
+00
+20
+22
+84
+7c
+20
+20
+44
+eb
+20
+40
+04
+81
+6f
+e0
+cb
+9f
+c1
+00
+80
+00
+70
+4b
+9f
+01
+20
+60
+00
+00
+da
+40
+04
+83
+20
+20
+44
+f7
+20
+40
+03
+b9
+20
+20
+02
+e7
+6f
+e4
+4b
+ab
+c3
+9d
+80
+00
+20
+20
+45
+1f
+da
+60
+4c
+7b
+da
+40
+43
+6c
+20
+20
+31
+8a
+da
+60
+4a
+b2
+da
+40
+04
+8e
+20
+20
+31
+91
+6f
+e0
+c9
+38
+c0
+00
+02
+e9
+20
+20
+43
+1b
+20
+40
+03
+d2
+6f
+e1
+47
+8c
+2f
+ef
+fe
+0b
+20
+40
+c5
+81
+6f
+e1
+47
+8c
+2f
+ef
+fe
+07
+20
+40
+c3
+22
+58
+00
+00
+00
+67
+e1
+4a
+f2
+20
+20
+45
+54
+58
+00
+00
+00
+67
+e1
+4a
+c2
+20
+20
+45
+77
+6f
+e0
+cb
+e2
+24
+5a
+78
+61
+70
+4b
+e2
+00
+20
+20
+78
+51
+6f
+e1
+03
+15
+1f
+e2
+0c
+00
+ef
+e0
+80
+06
+67
+e0
+c5
+f5
+1f
+e1
+04
+0f
+1f
+f1
+fe
+00
+c0
+04
+84
+aa
+20
+20
+4d
+93
+da
+20
+00
+01
+20
+40
+4d
+c0
+6f
+e1
+44
+dc
+e7
+e1
+00
+05
+58
+00
+00
+00
+e7
+e0
+80
+05
+70
+09
+50
+01
+6f
+e0
+c4
+e2
+79
+20
+7e
+06
+67
+e0
+c4
+e2
+70
+09
+5b
+12
+20
+20
+78
+71
+78
+54
+7c
+00
+20
+40
+59
+e6
+6f
+e0
+80
+49
+20
+7a
+00
+00
+c2
+83
+d7
+30
+c0
+03
+84
+bd
+20
+20
+57
+01
+20
+40
+58
+5d
+70
+00
+73
+78
+20
+60
+00
+00
+6f
+e0
+c3
+dd
+1f
+e0
+fe
+01
+67
+e0
+c3
+dd
+c0
+06
+16
+5a
+20
+40
+19
+1b
+20
+40
+19
+6a
+6f
+e0
+82
+bd
+20
+40
+16
+8b
+20
+40
+18
+38
+20
+20
+16
+55
+20
+40
+0e
+80
+20
+20
+16
+61
+20
+40
+16
+be
+20
+40
+16
+cc
+20
+40
+4c
+b5
+79
+20
+2a
+00
+78
+2e
+fc
+00
+78
+30
+7c
+00
+78
+50
+fc
+00
+20
+40
+17
+44
+20
+00
+00
+0a
+20
+20
+18
+41
+ef
+e1
+00
+06
+c0
+02
+04
+d9
+20
+20
+19
+e4
+ef
+e1
+80
+06
+67
+e1
+c4
+36
+c0
+05
+04
+de
+c0
+09
+04
+ed
+20
+20
+1c
+d3
+6f
+e4
+4b
+ab
+c3
+1d
+9d
+e7
+20
+40
+1e
+8d
+68
+49
+44
+37
+6f
+e0
+c3
+c0
+c2
+81
+84
+e8
+6f
+e1
+44
+37
+c0
+18
+1e
+c8
+68
+49
+44
+37
+20
+20
+1d
+eb
+6f
+e1
+43
+d1
+98
+46
+7c
+00
+24
+22
+84
+e4
+24
+34
+04
+e4
+20
+20
+1e
+10
+18
+c2
+22
+00
+6f
+e1
+43
+d4
+1f
+e0
+a5
+fd
+20
+40
+1a
+25
+6f
+e0
+ca
+c1
+c0
+7f
+9e
+73
+6f
+e0
+ca
+c7
+20
+3a
+1e
+73
+6f
+e0
+cb
+75
+c2
+80
+9e
+73
+58
+00
+00
+1a
+68
+49
+44
+37
+98
+46
+7c
+00
+24
+22
+9e
+73
+20
+20
+1e
+10
+78
+34
+7c
+00
+20
+40
+14
+65
+6f
+e1
+c1
+74
+20
+3a
+7e
+56
+6f
+e0
+c0
+99
+20
+3a
+7e
+56
+6f
+e0
+cb
+e1
+24
+7a
+00
+00
+6f
+e0
+c8
+bd
+c0
+00
+fe
+56
+20
+60
+00
+00
+78
+54
+7c
+00
+58
+00
+00
+00
+67
+e3
+48
+d1
+20
+40
+42
+40
+20
+40
+03
+3c
+20
+40
+3f
+7e
+20
+40
+3f
+83
+20
+40
+05
+30
+6f
+e0
+c8
+d0
+1f
+e1
+7e
+1f
+67
+e0
+c8
+d0
+24
+34
+05
+15
+20
+40
+05
+17
+20
+20
+45
+44
+20
+40
+47
+28
+20
+60
+00
+00
+6f
+e0
+c9
+27
+c1
+01
+80
+00
+20
+20
+47
+1a
+20
+40
+3f
+65
+6f
+e0
+c9
+27
+c0
+05
+85
+21
+20
+40
+42
+32
+da
+60
+4a
+a3
+20
+40
+42
+2b
+20
+20
+03
+3c
+20
+40
+05
+27
+da
+60
+4b
+e3
+20
+20
+05
+1f
+6f
+e0
+c9
+27
+c0
+05
+85
+27
+20
+20
+42
+32
+58
+00
+97
+06
+20
+20
+42
+33
+20
+40
+41
+a7
+20
+40
+3f
+65
+6f
+e0
+c9
+27
+c0
+05
+85
+2e
+20
+20
+42
+3e
+58
+00
+1f
+06
+20
+20
+5b
+0c
+20
+40
+05
+70
+6f
+e0
+cc
+37
+24
+3a
+05
+87
+6f
+e0
+cc
+32
+24
+3a
+05
+86
+20
+40
+05
+37
+20
+20
+40
+dd
+6f
+e0
+cb
+e1
+24
+5a
+41
+21
+da
+20
+00
+00
+20
+40
+05
+41
+20
+40
+05
+46
+20
+40
+05
+4b
+20
+40
+05
+50
+20
+40
+05
+5d
+20
+40
+05
+70
+20
+20
+41
+1e
+6f
+e0
+c9
+18
+20
+40
+05
+6a
+20
+40
+41
+24
+68
+48
+c9
+18
+20
+20
+3f
+56
+6f
+e0
+c9
+19
+20
+40
+05
+6a
+20
+40
+41
+2a
+68
+48
+c9
+19
+20
+20
+3f
+56
+6f
+e0
+c9
+1a
+20
+40
+05
+6a
+20
+40
+41
+30
+68
+48
+c9
+1a
+20
+20
+3f
+56
+6f
+e0
+c9
+0d
+c1
+7f
+80
+00
+70
+4b
+96
+03
+6f
+e0
+cb
+91
+1f
+e2
+26
+00
+68
+48
+c9
+0d
+6f
+e0
+c9
+10
+c0
+7f
+85
+59
+20
+20
+41
+3e
+6f
+e0
+c9
+0d
+20
+40
+05
+6d
+68
+48
+c9
+0d
+20
+20
+41
+4b
+6f
+e0
+c9
+0e
+c1
+7f
+80
+00
+70
+4b
+96
+04
+6f
+e0
+cb
+92
+1f
+e2
+26
+00
+68
+48
+c9
+0e
+6f
+e0
+c9
+10
+c0
+7f
+85
+66
+20
+20
+41
+57
+6f
+e0
+c9
+0e
+20
+40
+05
+6d
+68
+48
+c9
+0e
+20
+20
+41
+64
+c1
+7f
+80
+00
+d8
+40
+00
+3f
+20
+20
+60
+93
+c1
+7f
+80
+00
+d8
+40
+00
+3e
+20
+20
+60
+93
+da
+40
+00
+00
+6f
+e0
+cc
+38
+c1
+7f
+80
+00
+6f
+e0
+cc
+39
+24
+3a
+05
+7d
+68
+48
+cc
+38
+20
+40
+3f
+56
+68
+48
+cc
+38
+20
+40
+60
+59
+79
+20
+a4
+00
+1a
+42
+7e
+00
+67
+e0
+cc
+37
+20
+60
+00
+00
+6f
+e0
+cc
+38
+79
+3f
+fe
+07
+67
+e0
+cc
+38
+68
+48
+cc
+38
+20
+40
+3f
+54
+68
+48
+cc
+38
+20
+40
+60
+59
+7d
+20
+a4
+00
+20
+20
+05
+7a
+c0
+02
+05
+9f
+20
+40
+05
+a2
+6f
+e2
+4c
+33
+d8
+40
+00
+a0
+98
+40
+84
+00
+1c
+42
+7e
+00
+98
+46
+7c
+00
+24
+61
+00
+00
+67
+e2
+4c
+33
+6f
+e0
+cc
+32
+c0
+00
+05
+95
+c0
+00
+85
+98
+c0
+01
+05
+9b
+c0
+01
+85
+9d
+20
+60
+00
+00
+70
+4c
+32
+01
+70
+48
+d0
+01
+20
+20
+7e
+54
+70
+4c
+32
+02
+70
+48
+d0
+00
+20
+20
+7e
+54
+70
+4c
+32
+03
+20
+20
+05
+96
+70
+4c
+32
+00
+20
+20
+05
+99
+70
+4c
+32
+00
+70
+48
+d0
+00
+20
+60
+00
+00
+68
+4a
+4c
+33
+1c
+42
+7e
+00
+98
+46
+7c
+00
+24
+41
+05
+a7
+20
+60
+00
+00
+58
+00
+00
+00
+67
+e2
+4c
+33
+20
+60
+00
+00
+20
+40
+05
+b0
+20
+40
+79
+36
+20
+40
+05
+bb
+20
+40
+05
+cf
+20
+40
+05
+b4
+20
+20
+46
+50
+6f
+e0
+cc
+40
+c3
+01
+c9
+90
+6f
+e4
+4b
+ab
+20
+20
+49
+92
+6f
+e4
+4b
+ab
+c2
+94
+85
+b8
+c2
+9b
+85
+b8
+20
+60
+00
+00
+6f
+e1
+47
+8c
+c2
+83
+02
+25
+20
+20
+46
+5a
+6f
+e4
+4b
+ab
+c2
+97
+40
+36
+6f
+e0
+c9
+0f
+c1
+7f
+80
+00
+da
+20
+00
+00
+70
+4b
+96
+05
+68
+48
+c9
+0f
+20
+40
+05
+c4
+20
+20
+40
+2f
+6f
+e4
+4b
+ab
+c2
+96
+40
+48
+6f
+e0
+cb
+93
+1f
+e2
+26
+00
+6f
+e0
+c9
+10
+c0
+7f
+85
+cb
+20
+20
+40
+3f
+6f
+e0
+c9
+0f
+20
+40
+05
+6d
+68
+48
+c9
+0f
+20
+20
+41
+95
+6f
+e4
+4b
+ab
+c4
+1e
+80
+00
+6f
+e0
+cc
+3a
+24
+3a
+05
+d8
+6f
+e0
+cc
+3b
+20
+40
+05
+6a
+20
+40
+05
+e3
+68
+48
+cc
+3b
+20
+20
+3f
+56
+6f
+e0
+cc
+3b
+79
+3f
+fe
+07
+67
+e0
+cc
+3b
+20
+40
+05
+6d
+70
+4c
+3f
+00
+68
+48
+cc
+3b
+6f
+e0
+cc
+3c
+20
+40
+05
+fc
+20
+40
+05
+e7
+68
+48
+cc
+3b
+20
+20
+3f
+56
+70
+4c
+3f
+00
+68
+48
+cc
+3b
+6f
+e0
+cc
+3c
+20
+40
+05
+f2
+67
+e0
+cc
+3c
+6f
+e0
+cc
+3e
+20
+3a
+05
+ee
+6f
+e0
+cc
+3d
+c1
+00
+80
+00
+70
+4c
+3d
+01
+20
+20
+40
+69
+6f
+e0
+cc
+3d
+c1
+00
+00
+00
+70
+4c
+3d
+00
+20
+60
+00
+00
+1f
+e3
+fe
+00
+1f
+e2
+24
+00
+20
+40
+60
+59
+79
+20
+a4
+00
+1a
+41
+7e
+07
+68
+48
+cc
+3f
+18
+42
+0e
+00
+c0
+03
+86
+07
+c0
+00
+06
+09
+20
+60
+00
+00
+1f
+e3
+fe
+00
+1f
+e2
+24
+00
+20
+40
+3f
+54
+20
+40
+60
+59
+79
+20
+a4
+00
+1a
+41
+7e
+07
+68
+48
+cc
+3f
+18
+42
+0e
+00
+c0
+03
+86
+07
+c0
+00
+06
+09
+20
+60
+00
+00
+70
+4c
+3e
+01
+20
+60
+00
+00
+70
+4c
+3e
+00
+20
+60
+00
+00
+20
+40
+40
+72
+20
+74
+00
+00
+6f
+e0
+c9
+92
+1f
+e2
+04
+00
+6f
+e4
+4b
+ab
+c2
+9e
+86
+17
+18
+42
+7e
+00
+1f
+e0
+fe
+01
+1f
+e1
+7e
+03
+67
+e0
+c9
+92
+20
+40
+03
+3a
+20
+20
+46
+43
+6f
+e0
+cc
+3e
+24
+3a
+06
+34
+6f
+e4
+4b
+ab
+c2
+8e
+06
+28
+18
+42
+7e
+00
+c1
+00
+80
+00
+c0
+00
+06
+24
+c0
+01
+06
+22
+20
+60
+00
+00
+58
+00
+00
+02
+20
+20
+06
+14
+58
+00
+00
+00
+20
+20
+06
+14
+58
+00
+00
+01
+20
+20
+06
+14
+58
+00
+00
+03
+20
+20
+06
+14
+18
+42
+7e
+00
+c1
+00
+80
+00
+c0
+00
+06
+24
+c0
+01
+06
+26
+c0
+01
+86
+22
+20
+60
+00
+00
+18
+42
+7e
+00
+c1
+01
+00
+00
+c0
+00
+06
+26
+c0
+00
+86
+22
+c0
+01
+86
+20
+20
+60
+00
+00
+6f
+e4
+4b
+ab
+c2
+8e
+06
+2e
+18
+42
+7e
+00
+c1
+01
+00
+00
+c0
+00
+06
+20
+c0
+00
+86
+22
+20
+60
+00
+00
+6f
+e1
+47
+8c
+c3
+85
+80
+00
+c3
+83
+80
+00
+c3
+83
+00
+00
+6a
+21
+48
+99
+20
+40
+25
+cb
+60
+48
+c8
+c7
+20
+20
+26
+f6
+12
+0e
+aa
+55
+40
+00
+00
+40
+09
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+1c
+1c
+00
+80
+00
+40
+00
+00
+98
+d6
+5b
+ce
+06
+01
+00
+00
+00
+00
+00
+04
+01
+00
+18
+00
+00
+00
+00
+00
+00
+00
+00
+00
+80
+00
+00
+00
+0a
+00
+20
+00
+01
+00
+00
+20
+04
+36
+00
+00
+aa
+55
+01
+00
+9a
+40
+08
+aa
+55
+03
+00
+7a
+41
+88
+16
+ce
+aa
+55
+01
+00
+c5
+40
+18
+aa
+55
+01
+00
+ef
+41
+ff
+aa
+55
+02
+00
+ca
+40
+ef
+41
+aa
+55
+01
+00
+7d
+41
+70
+aa
+55
+01
+00
+d0
+44
+00
+aa
+55
+05
+00
+ea
+41
+ff
+04
+00
+00
+08
+aa
+55
+08
+00
+ab
+4b
+04
+09
+5a
+00
+00
+80
+03
+1b
+aa
+55
+01
+00
+40
+4c
+00
+aa
+55
+0c
+00
+fe
+48
+b0
+04
+58
+02
+64
+64
+94
+85
+90
+63
+75
+80
+aa
+55
+03
+00
+0d
+49
+0b
+0c
+0d
+aa
+55
+01
+00
+3b
+4c
+ff
+aa
+55
+14
+00
+10
+49
+ff
+ff
+ff
+05
+04
+ff
+ff
+ff
+0b
+0c
+0d
+ff
+ff
+ff
+ff
+07
+06
+ff
+ff
+ff
+aa
+55
+01
+00
+38
+4c
+ff
+aa
+55
+01
+00
+a5
+4c
+ff
+aa
+55
+03
+00
+24
+49
+03
+00
+00
+aa
+55
+03
+00
+ed
+4b
+ff
+58
+02
+aa
+55
+02
+00
+45
+4c
+00
+14
+aa
+55
+03
+00
+48
+4c
+05
+02
+05
+aa
+55
+01
+00
+4d
+4c
+14
+aa
+55
+01
+00
+4b
+4c
+02
+aa
+55
+02
+00
+50
+4c
+02
+06
+aa
+55
+01
+00
+53
+4c
+0a
+aa
+55
+05
+00
+55
+4c
+ff
+ff
+ff
+ff
+ff
+aa
+55
+01
+00
+58
+0b
+ff
+aa
+55
+12
+00
+cc
+4b
+00
+08
+00
+07
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+aa
+55
+01
+00
+99
+40
+01
+aa
+55
+02
+00
+b3
+4b
+03
+01
+aa
+55
+08
+00
+38
+49
+00
+34
+ff
+ff
+ff
+ff
+ff
+ff
+aa
+55
+07
+00
+56
+49
+34
+ff
+ff
+ff
+ff
+ff
+ff
+aa
+55
+17
+00
+73
+49
+33
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+aa
+55
+13
+00
+b5
+4b
+00
+40
+0a
+60
+06
+0a
+00
+64
+00
+70
+17
+14
+0a
+90
+01
+e8
+03
+90
+01
+aa
+55
+02
+00
+ca
+4b
+07
+03
+aa
+55
+01
+00
+98
+4c
+ff
+aa
+55
+01
+00
+c0
+49
+02
+aa
+55
+01
+00
+fd
+48
+00
+aa
+55
+01
+00
+a1
+44
+05
+aa
+55
+06
+00
+e3
+48
+0f
+01
+21
+01
+b4
+00
+aa
+55
+0a
+00
+eb
+48
+10
+00
+52
+00
+35
+00
+21
+00
+25
+00
+aa
+55
+01
+00
+f7
+48
+0a
+aa
+55
+02
+00
+c8
+4b
+64
+00
+aa
+55
+03
+00
+de
+4b
+00
+00
+00
+aa
+55
+01
+00
+ab
+4a
+ff
+aa
+55
+01
+00
+e2
+4b
+01
+aa
+55
+01
+00
+77
+41
+20
+aa
+55
+01
+00
+8a
+4b
+20
+aa
+55
+01
+00
+7d
+44
+06
+aa
+55
+06
+00
+a8
+40
+15
+a3
+c8
+12
+23
+51
+aa
+55
+0c
+00
+fc
+45
+0b
+42
+54
+33
+2e
+30
+20
+4d
+6f
+75
+73
+65
+aa
+55
+05
+00
+55
+44
+0e
+00
+01
+00
+02
+aa
+55
+01
+00
+41
+46
+0a
+aa
+55
+01
+00
+64
+47
+01
+aa
+55
+01
+00
+78
+46
+00
+aa
+55
+01
+00
+5f
+41
+00
+aa
+55
+03
+00
+65
+47
+03
+00
+04
+aa
+55
+01
+00
+8e
+47
+01
+aa
+55
+01
+00
+d8
+40
+01
+aa
+55
+0c
+00
+e7
+43
+1f
+02
+01
+05
+03
+03
+12
+18
+03
+19
+c2
+03
+aa
+55
+14
+00
+d2
+4a
+06
+ff
+06
+00
+03
+00
+80
+0c
+09
+42
+54
+35
+2e
+32
+20
+4d
+6f
+75
+73
+65
+aa
+55
+0e
+00
+07
+44
+1f
+0c
+09
+42
+54
+35
+2e
+32
+20
+4d
+6f
+75
+73
+65
+aa
+55
+0c
+00
+f7
+42
+0b
+42
+54
+35
+2e
+32
+20
+4d
+6f
+75
+73
+65
+aa
+55
+0c
+00
+1e
+4c
+0b
+42
+54
+35
+2e
+32
+20
+4d
+6f
+75
+73
+65
+aa
+55
+08
+00
+72
+43
+06
+00
+09
+00
+20
+00
+2c
+01
+aa
+55
+06
+00
+cc
+4a
+03
+12
+18
+ff
+00
+00
+aa
+55
+04
+00
+28
+44
+00
+00
+00
+00
+aa
+55
+01
+00
+32
+44
+07
+aa
+55
+08
+00
+4c
+44
+fb
+00
+48
+08
+fb
+00
+48
+08
+aa
+55
+06
+00
+7a
+43
+8e
+b1
+3a
+0e
+8e
+ed
+aa
+55
+02
+00
+e7
+4a
+15
+00
+aa
+55
+02
+00
+57
+43
+19
+00
+aa
+55
+06
+00
+e9
+4a
+1d
+00
+21
+00
+30
+00
+aa
+55
+02
+00
+d1
+43
+2d
+00
+aa
+55
+01
+00
+f0
+4a
+96
+aa
+55
+01
+00
+86
+44
+ff
+aa
+55
+01
+00
+90
+47
+ff
+aa
+55
+01
+00
+8f
+47
+1e
+aa
+55
+0c
+00
+d0
+49
+03
+04
+01
+02
+20
+2a
+3f
+15
+14
+1b
+11
+0e
+aa
+55
+05
+00
+91
+4c
+8a
+8b
+83
+84
+88
+aa
+55
+b2
+00
+df
+49
+09
+5a
+26
+34
+19
+04
+09
+00
+ff
+ff
+09
+5a
+0d
+f0
+1d
+e3
+7d
+d2
+ff
+ff
+09
+5a
+0d
+10
+1d
+ed
+7d
+80
+ff
+ff
+1b
+35
+28
+b4
+29
+46
+2a
+96
+2b
+8c
+2c
+6e
+2d
+64
+38
+5f
+39
+0f
+3a
+32
+3b
+47
+42
+10
+ff
+ff
+54
+2e
+55
+f2
+61
+f4
+63
+70
+75
+52
+76
+41
+77
+ed
+78
+23
+79
+46
+7a
+e5
+7c
+48
+7e
+77
+7f
+01
+0b
+00
+7f
+00
+09
+00
+ff
+ff
+09
+5a
+ff
+27
+ab
+40
+be
+d1
+a0
+41
+a1
+12
+a5
+84
+a7
+ff
+b5
+d0
+b6
+00
+ff
+00
+09
+00
+ff
+ff
+09
+5a
+0d
+10
+0e
+c5
+5b
+9a
+10
+38
+11
+42
+28
+28
+41
+23
+49
+39
+4a
+b0
+4b
+a0
+4c
+90
+4d
+70
+09
+00
+ff
+ff
+09
+5a
+06
+02
+09
+69
+0d
+48
+0e
+9f
+0f
+ba
+09
+00
+ff
+ff
+09
+a5
+46
+34
+60
+07
+69
+04
+7d
+20
+7e
+00
+09
+00
+ff
+ff
+aa
+55
+08
+00
+a3
+4a
+09
+5a
+0b
+f3
+09
+00
+ff
+ff
+aa
+55
+08
+00
+e3
+4b
+09
+a5
+0b
+f3
+09
+00
+ff
+ff
+aa
+55
+02
+00
+8d
+44
+2d
+49
+aa
+55
+01
+00
+8c
+44
+01
+aa
+55
+01
+00
+65
+48
+01
+aa
+55
+01
+00
+64
+48
+01
+aa
+55
+01
+00
+36
+48
+01
+aa
+55
+01
+00
+a8
+48
+06
+aa
+55
+02
+00
+38
+48
+c0
+12
+aa
+55
+03
+00
+54
+48
+19
+19
+1c
+aa
+55
+10
+00
+40
+48
+00
+13
+2c
+42
+06
+15
+36
+48
+0f
+1a
+3a
+4c
+11
+23
+31
+4d
+aa
+55
+01
+00
+5b
+48
+00
+aa
+55
+05
+00
+77
+48
+20
+15
+10
+05
+4e
+aa
+55
+05
+00
+8c
+48
+01
+0f
+0f
+0f
+0f
+aa
+55
+06
+00
+ad
+48
+0c
+f8
+00
+00
+77
+01
+aa
+55
+03
+00
+5c
+48
+00
+48
+60
+aa
+55
+01
+00
+7d
+48
+07
+aa
+55
+02
+00
+99
+48
+b5
+4a
+aa
+55
+01
+00
+ca
+48
+80
+aa
+55
+02
+00
+c2
+48
+14
+00
+aa
+55
+02
+00
+c0
+48
+50
+00
+aa
+55
+03
+00
+b8
+48
+00
+a6
+0e
+aa
+55
+03
+00
+b8
+49
+00
+50
+00
+aa
+55
+02
+00
+79
+44
+80
+1f
+aa
+55
+01
+00
+83
+44
+80
+aa
+55
+01
+00
+e8
+41
+03
+aa
+55
+05
+00
+f0
+4b
+02
+40
+00
+59
+1e
+55
+aa
+aa
+55
+8e
+97
+dc
+97
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+6c
+48
Index: guanbi.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: guanbi.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: keyboard.ico
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: keyboard.ico
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: keyboard.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: keyboard.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: logo.ico
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: logo.ico
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: main.cpp
===================================================================
--- /YC1308AC/branch/mouse_project/TestTools/mous-config-tool-qt/main.cpp	(nonexistent)
+++ /YC1308AC/branch/mouse_project/TestTools/mous-config-tool-qt/main.cpp	(working copy)
@@ -0,0 +1,95 @@
+锘
+#include "Ttile1.h"
+#include <QApplication>
+
+#include <QTextStream>
+#define _TIME_ qPrintable (QTime::currentTime ().toString ("hh:mm:ss:zzz"))//鏃堕棿璁板綍
+
+
+ class CustomWidget : public QWidget {
+     // 鑷畾涔夌獥鍙ｇ被锛岀户鎵胯嚜QWidget
+ public:
+     CustomWidget(QWidget *parent = nullptr) : QWidget(parent) {
+         // 鍒涘缓涓涓瀭鐩村竷灞绠＄悊鍣
+         QVBoxLayout *layout = new QVBoxLayout(this);
+
+
+
+         // 璁剧疆绐楀彛鐨勫垵濮嬪ぇ灏忓拰鏍囬锛堝彲閫夛級
+
+         setWindowTitle("绀轰緥绐楀彛");
+     }
+
+     // 鍏朵粬鎴愬憳鍑芥暟...
+ };
+ void myLogput(QtMsgType type, const QMessageLogContext& context, const QString& msg)
+ {
+    QString txt;
+    switch (type)
+    {
+    //璋冭瘯淇℃伅鎻愮ず
+    case QtDebugMsg:
+        txt = QString("Debug: %1: %2: %3: %4").arg(_TIME_).arg(context.file).arg(context.line).arg(msg);
+    //淇濆瓨鏃ュ織鏍煎紡涓猴細鏃堕棿锛 鏂囦欢鍚嶏細鏃ュ織琛屽彿锛氭棩蹇楁秷鎭
+        break;
+    //涓鑸殑warning鎻愮ず
+    case QtWarningMsg:
+        txt = QString("Warning: %1").arg(msg);
+    //淇濆瓨鏍煎紡鍙弬鑰冪涓涓猚ase淇敼锛岃繖閲屼笉鍐嶄慨鏀
+        break;
+    //涓ラ噸閿欒鎻愮ず
+    case QtCriticalMsg:
+        txt = QString("Critical: %1").arg(msg);
+        break;
+    //鑷村懡閿欒鎻愮ず
+    case QtFatalMsg:
+        txt = QString("Fatal: %1").arg(msg);
+        abort();
+    }
+
+    QString strPath = QCoreApplication::applicationDirPath() + "/" + "log.txt";
+    QFile outFile1(strPath);
+    outFile1.open(QIODevice::WriteOnly | QIODevice::Append);
+    QTextStream out(&outFile1);
+     out << txt << endl;
+ }
+
+int main(int argc, char* argv[])
+{
+	try
+	{
+        QApplication app(argc, argv);//鍒涘缓涓涓猀Application瀵硅薄
+        //CustomWidget w;
+        Ttile1 w;
+		// 鑾峰彇榛樿灞忓箷
+        //const QScreen* screen = QGuiApplication::primaryScreen();
+        //const QRect screenGeometry = screen->geometry();
+
+		// 鑾峰彇绐楀彛鐨勫搴﹀拰楂樺害
+        //const int windowWidth = w.width();
+        //const int windowHeight = w.height();
+
+		// 璁＄畻绐楀彛鐨勪綅缃
+        //const int x = (screenGeometry.width() - windowWidth) / 2;
+        //const int y = (screenGeometry.height() - windowHeight) / 2;
+        //w.resize(2400, 1800);
+		// 灏嗙獥鍙ｇЩ鍔ㄥ埌灞呬腑浣嶇疆
+        //w.move(x, y);
+
+        const auto logoPath = "keyboard.png";
+		// 璁剧疆搴旂敤绋嬪簭绐楀彛鍥炬爣
+        const QIcon appIcon(logoPath); // 鍥炬爣鏂囦欢鐨勮矾寰
+        w.setIcon(logoPath); // 鏍囬鏍忕殑icon
+
+		// 瀹夎娑堟伅澶勭悊绋嬪簭,
+        qInstallMessageHandler(myLogput);
+		w.show();
+        // 杩涘叆搴旂敤绋嬪簭鐨勪富浜嬩欢寰幆锛岀瓑寰呬簨浠讹紙濡傛寜閿侀紶鏍囩偣鍑荤瓑锛
+		return app.exec();
+	}
+	catch (const QString& exceptionMessage)
+	{
+		qDebug() << exceptionMessage;
+	}
+}
+
Index: mouse-config-tool-qt.pro
===================================================================
--- /YC1308AC/branch/mouse_project/TestTools/mous-config-tool-qt/mouse-config-tool-qt.pro	(nonexistent)
+++ /YC1308AC/branch/mouse_project/TestTools/mous-config-tool-qt/mouse-config-tool-qt.pro	(working copy)
@@ -0,0 +1,46 @@
+QT       += core gui
+#QT      +=   testlib
+
+greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
+
+CONFIG += c++17
+
+# You can make your code fail to compile if it uses deprecated APIs.
+# In order to do so, uncomment the following line.
+#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000    # disables all the APIs deprecated before Qt 6.0.0
+
+SOURCES += \
+    ControlEx.cpp \
+    ParseFlashDatFile.cpp \
+    Ttile1.cpp \
+    TypeConvertor.cpp \
+    advancedConfigurationDlg.cpp \
+    main.cpp \
+    mouseconfigtool.cpp
+
+HEADERS += \
+    ControlEx.h \
+    ParseFlashDatFile.h \
+    Ttile1.h \
+    TypeConvertor.h \
+    advancedConfigurationDlg.h \
+    mouseconfigtool.h
+
+FORMS += \
+    Ttile1.ui \
+    advancedConfigurationDlg.ui \
+    mouseconfigtool.ui
+
+
+# Default rules for deployment.
+qnx: target.path = /tmp/$${TARGET}/bin
+else: unix:!android: target.path = /opt/$${TARGET}/bin
+!isEmpty(target.path): INSTALLS += target
+
+# 娣诲姞鍥炬爣
+RC_ICONS = keyboard.ico
+
+RESOURCES += \
+    res.qrc
+
+
Index: mouse-config-tool-qt.pro.user
===================================================================
--- /YC1308AC/branch/mouse_project/TestTools/mous-config-tool-qt/mouse-config-tool-qt.pro.user	(nonexistent)
+++ /YC1308AC/branch/mouse_project/TestTools/mous-config-tool-qt/mouse-config-tool-qt.pro.user	(working copy)
@@ -0,0 +1,263 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE QtCreatorProject>
+<!-- Written by QtCreator 11.0.3, 2024-11-26T16:32:17. -->
+<qtcreator>
+ <data>
+  <variable>EnvironmentId</variable>
+  <value type="QByteArray">{a0fc6be3-2a02-4ce3-b9c7-30b080008b3b}</value>
+ </data>
+ <data>
+  <variable>ProjectExplorer.Project.ActiveTarget</variable>
+  <value type="qlonglong">0</value>
+ </data>
+ <data>
+  <variable>ProjectExplorer.Project.EditorSettings</variable>
+  <valuemap type="QVariantMap">
+   <value type="bool" key="EditorConfiguration.AutoIndent">true</value>
+   <value type="bool" key="EditorConfiguration.AutoSpacesForTabs">false</value>
+   <value type="bool" key="EditorConfiguration.CamelCaseNavigation">true</value>
+   <valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0">
+    <value type="QString" key="language">Cpp</value>
+    <valuemap type="QVariantMap" key="value">
+     <value type="QByteArray" key="CurrentPreferences">CppGlobal</value>
+    </valuemap>
+   </valuemap>
+   <valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1">
+    <value type="QString" key="language">QmlJS</value>
+    <valuemap type="QVariantMap" key="value">
+     <value type="QByteArray" key="CurrentPreferences">QmlJSGlobal</value>
+    </valuemap>
+   </valuemap>
+   <value type="qlonglong" key="EditorConfiguration.CodeStyle.Count">2</value>
+   <value type="QByteArray" key="EditorConfiguration.Codec">UTF-8</value>
+   <value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value>
+   <value type="int" key="EditorConfiguration.IndentSize">4</value>
+   <value type="bool" key="EditorConfiguration.KeyboardTooltips">false</value>
+   <value type="int" key="EditorConfiguration.MarginColumn">80</value>
+   <value type="bool" key="EditorConfiguration.MouseHiding">true</value>
+   <value type="bool" key="EditorConfiguration.MouseNavigation">true</value>
+   <value type="int" key="EditorConfiguration.PaddingMode">1</value>
+   <value type="bool" key="EditorConfiguration.PreferSingleLineComments">false</value>
+   <value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
+   <value type="bool" key="EditorConfiguration.ShowMargin">false</value>
+   <value type="int" key="EditorConfiguration.SmartBackspaceBehavior">0</value>
+   <value type="bool" key="EditorConfiguration.SmartSelectionChanging">true</value>
+   <value type="bool" key="EditorConfiguration.SpacesForTabs">true</value>
+   <value type="int" key="EditorConfiguration.TabKeyBehavior">0</value>
+   <value type="int" key="EditorConfiguration.TabSize">8</value>
+   <value type="bool" key="EditorConfiguration.UseGlobal">true</value>
+   <value type="bool" key="EditorConfiguration.UseIndenter">false</value>
+   <value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value>
+   <value type="bool" key="EditorConfiguration.addFinalNewLine">true</value>
+   <value type="bool" key="EditorConfiguration.cleanIndentation">true</value>
+   <value type="bool" key="EditorConfiguration.cleanWhitespace">true</value>
+   <value type="QString" key="EditorConfiguration.ignoreFileTypes">*.md, *.MD, Makefile</value>
+   <value type="bool" key="EditorConfiguration.inEntireDocument">false</value>
+   <value type="bool" key="EditorConfiguration.skipTrailingWhitespace">true</value>
+   <value type="bool" key="EditorConfiguration.tintMarginArea">true</value>
+  </valuemap>
+ </data>
+ <data>
+  <variable>ProjectExplorer.Project.PluginSettings</variable>
+  <valuemap type="QVariantMap">
+   <valuemap type="QVariantMap" key="AutoTest.ActiveFrameworks">
+    <value type="bool" key="AutoTest.Framework.Boost">true</value>
+    <value type="bool" key="AutoTest.Framework.CTest">false</value>
+    <value type="bool" key="AutoTest.Framework.Catch">true</value>
+    <value type="bool" key="AutoTest.Framework.GTest">true</value>
+    <value type="bool" key="AutoTest.Framework.QtQuickTest">true</value>
+    <value type="bool" key="AutoTest.Framework.QtTest">true</value>
+   </valuemap>
+   <valuemap type="QVariantMap" key="AutoTest.CheckStates"/>
+   <value type="int" key="AutoTest.RunAfterBuild">0</value>
+   <value type="bool" key="AutoTest.UseGlobal">true</value>
+   <valuemap type="QVariantMap" key="ClangTools">
+    <value type="bool" key="ClangTools.AnalyzeOpenFiles">true</value>
+    <value type="bool" key="ClangTools.BuildBeforeAnalysis">true</value>
+    <value type="QString" key="ClangTools.DiagnosticConfig">Builtin.DefaultTidyAndClazy</value>
+    <value type="int" key="ClangTools.ParallelJobs">8</value>
+    <value type="bool" key="ClangTools.PreferConfigFile">true</value>
+    <valuelist type="QVariantList" key="ClangTools.SelectedDirs"/>
+    <valuelist type="QVariantList" key="ClangTools.SelectedFiles"/>
+    <valuelist type="QVariantList" key="ClangTools.SuppressedDiagnostics"/>
+    <value type="bool" key="ClangTools.UseGlobalSettings">true</value>
+   </valuemap>
+  </valuemap>
+ </data>
+ <data>
+  <variable>ProjectExplorer.Project.Target.0</variable>
+  <valuemap type="QVariantMap">
+   <value type="QString" key="DeviceType">Desktop</value>
+   <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop Qt 5.15.2 MSVC2019 64bit</value>
+   <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop Qt 5.15.2 MSVC2019 64bit</value>
+   <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">qt.qt5.5152.win64_msvc2019_64_kit</value>
+   <value type="qlonglong" key="ProjectExplorer.Target.ActiveBuildConfiguration">1</value>
+   <value type="qlonglong" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
+   <value type="qlonglong" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
+   <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
+    <value type="int" key="EnableQmlDebugging">0</value>
+    <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">E:\mouse\QT_YC1308</value>
+    <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">E:/mouse/build-mouse-config-tool-qt-Desktop_Qt_5_15_2_MSVC2019_64bit-Debug</value>
+    <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
+     <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
+      <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
+      <value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
+      <valuelist type="QVariantList" key="QtProjectManager.QMakeBuildStep.SelectedAbis"/>
+     </valuemap>
+     <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
+      <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
+     </valuemap>
+     <value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">鏋勫缓</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">鏋勫缓</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
+    </valuemap>
+    <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
+     <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
+      <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
+      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
+     </valuemap>
+     <value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">娓呴櫎</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">娓呴櫎</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
+    </valuemap>
+    <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
+    <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
+    <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.CustomParsers"/>
+    <value type="bool" key="ProjectExplorer.BuildConfiguration.ParseStandardOutput">false</value>
+    <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Debug</value>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
+    <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">2</value>
+   </valuemap>
+   <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
+    <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">E:\mouse\QT_YC1308</value>
+    <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">E:/mouse/build-mouse-config-tool-qt-Desktop_Qt_5_15_2_MSVC2019_64bit-Release</value>
+    <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
+     <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
+      <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
+      <value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
+      <valuelist type="QVariantList" key="QtProjectManager.QMakeBuildStep.SelectedAbis"/>
+     </valuemap>
+     <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
+      <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
+     </valuemap>
+     <value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">鏋勫缓</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">鏋勫缓</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
+    </valuemap>
+    <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
+     <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
+      <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
+      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
+     </valuemap>
+     <value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">娓呴櫎</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">娓呴櫎</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
+    </valuemap>
+    <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
+    <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
+    <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.CustomParsers"/>
+    <value type="bool" key="ProjectExplorer.BuildConfiguration.ParseStandardOutput">false</value>
+    <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Release</value>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
+    <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
+    <value type="int" key="QtQuickCompiler">0</value>
+   </valuemap>
+   <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.2">
+    <value type="int" key="EnableQmlDebugging">0</value>
+    <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">E:\mouse\build-mouse-config-tool-qt-Desktop_Qt_5_15_2_MSVC2019_64bit-Profile</value>
+    <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">E:/mouse/build-mouse-config-tool-qt-Desktop_Qt_5_15_2_MSVC2019_64bit-Profile</value>
+    <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
+     <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
+      <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
+      <value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
+      <valuelist type="QVariantList" key="QtProjectManager.QMakeBuildStep.SelectedAbis"/>
+     </valuemap>
+     <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
+      <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
+     </valuemap>
+     <value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">鏋勫缓</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">鏋勫缓</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
+    </valuemap>
+    <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
+     <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
+      <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
+      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
+     </valuemap>
+     <value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">娓呴櫎</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">娓呴櫎</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
+    </valuemap>
+    <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
+    <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
+    <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.CustomParsers"/>
+    <value type="bool" key="ProjectExplorer.BuildConfiguration.ParseStandardOutput">false</value>
+    <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Profile</value>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
+    <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
+    <value type="int" key="QtQuickCompiler">0</value>
+    <value type="int" key="SeparateDebugInfo">0</value>
+   </valuemap>
+   <value type="qlonglong" key="ProjectExplorer.Target.BuildConfigurationCount">3</value>
+   <valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
+    <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
+     <value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">閮ㄧ讲</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">閮ㄧ讲</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
+    </valuemap>
+    <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
+    <valuemap type="QVariantMap" key="ProjectExplorer.DeployConfiguration.CustomData"/>
+    <value type="bool" key="ProjectExplorer.DeployConfiguration.CustomDataEnabled">false</value>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
+   </valuemap>
+   <value type="qlonglong" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
+   <valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
+    <value type="bool" key="Analyzer.Perf.Settings.UseGlobalSettings">true</value>
+    <value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
+    <value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
+    <valuelist type="QVariantList" key="CustomOutputParsers"/>
+    <value type="int" key="PE.EnvironmentAspect.Base">2</value>
+    <valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
+    <value type="bool" key="PE.EnvironmentAspect.PrintOnRun">false</value>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4RunConfiguration:E:/mouse/QT_YC1308/mouse-config-tool-qt.pro</value>
+    <value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey">E:/mouse/QT_YC1308/mouse-config-tool-qt.pro</value>
+    <value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
+    <value type="bool" key="RunConfiguration.UseLibrarySearchPath">true</value>
+    <value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
+    <value type="QString" key="RunConfiguration.WorkingDirectory.default">E:/mouse/QT_YC1308</value>
+   </valuemap>
+   <value type="qlonglong" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
+  </valuemap>
+ </data>
+ <data>
+  <variable>ProjectExplorer.Project.TargetCount</variable>
+  <value type="qlonglong">1</value>
+ </data>
+ <data>
+  <variable>ProjectExplorer.Project.Updater.FileVersion</variable>
+  <value type="int">22</value>
+ </data>
+ <data>
+  <variable>Version</variable>
+  <value type="int">22</value>
+ </data>
+</qtcreator>
Index: mouse-config-tool-qt.sln
===================================================================
--- /YC1308AC/branch/mouse_project/TestTools/mous-config-tool-qt/mouse-config-tool-qt.sln	(nonexistent)
+++ /YC1308AC/branch/mouse_project/TestTools/mous-config-tool-qt/mouse-config-tool-qt.sln	(working copy)
@@ -0,0 +1,25 @@
+锘
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.4.33205.214
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mouse-config-tool-qt", "mouse-config-tool-qt.vcxproj", "{881F1713-2E38-32AD-8FE7-A4353A1944C3}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|x86 = Debug|x86
+		Release|x86 = Release|x86
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{881F1713-2E38-32AD-8FE7-A4353A1944C3}.Debug|x86.ActiveCfg = Debug|Win32
+		{881F1713-2E38-32AD-8FE7-A4353A1944C3}.Debug|x86.Build.0 = Debug|Win32
+		{881F1713-2E38-32AD-8FE7-A4353A1944C3}.Release|x86.ActiveCfg = Release|Win32
+		{881F1713-2E38-32AD-8FE7-A4353A1944C3}.Release|x86.Build.0 = Release|Win32
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+	GlobalSection(ExtensibilityGlobals) = postSolution
+		SolutionGuid = {F145AD46-C681-4484-9D43-84028A2A6F4E}
+	EndGlobalSection
+EndGlobal
Index: mouse-config-tool-qt.vcxproj
===================================================================
--- /YC1308AC/branch/mouse_project/TestTools/mous-config-tool-qt/mouse-config-tool-qt.vcxproj	(nonexistent)
+++ /YC1308AC/branch/mouse_project/TestTools/mous-config-tool-qt/mouse-config-tool-qt.vcxproj	(working copy)
@@ -0,0 +1,257 @@
+锘<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{881F1713-2E38-32AD-8FE7-A4353A1944C3}</ProjectGuid>
+    <RootNamespace>mouse-config-tool-qt</RootNamespace>
+    <Keyword>QtVS_v304</Keyword>
+    <WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
+    <WindowsTargetPlatformMinVersion>10.0.22621.0</WindowsTargetPlatformMinVersion>
+    <QtMsBuild Condition="'$(QtMsBuild)'=='' or !Exists('$(QtMsBuild)\qt.targets')">$(MSBuildProjectDirectory)\QtMsBuild</QtMsBuild>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+    <PlatformToolset>v143</PlatformToolset>
+    <OutputDirectory>release\</OutputDirectory>
+    <ATLMinimizesCRunTimeLibraryUsage>false</ATLMinimizesCRunTimeLibraryUsage>
+    <CharacterSet>NotSet</CharacterSet>
+    <ConfigurationType>Application</ConfigurationType>
+    <IntermediateDirectory>release\</IntermediateDirectory>
+    <PrimaryOutput>mouse-config-tool-qt</PrimaryOutput>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+    <PlatformToolset>v143</PlatformToolset>
+    <OutputDirectory>debug\</OutputDirectory>
+    <ATLMinimizesCRunTimeLibraryUsage>false</ATLMinimizesCRunTimeLibraryUsage>
+    <CharacterSet>NotSet</CharacterSet>
+    <ConfigurationType>Application</ConfigurationType>
+    <IntermediateDirectory>debug\</IntermediateDirectory>
+    <PrimaryOutput>mouse-config-tool-qt</PrimaryOutput>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <Target Name="QtMsBuildNotFound" BeforeTargets="CustomBuild;ClCompile" Condition="!Exists('$(QtMsBuild)\qt.targets') or !Exists('$(QtMsBuild)\qt.props')">
+    <Message Importance="High" Text="QtMsBuild: could not locate qt.targets, qt.props; project may not build correctly." />
+  </Target>
+  <ImportGroup Label="ExtensionSettings" />
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <ImportGroup Condition="Exists('$(QtMsBuild)\qt_defaults.props')">
+    <Import Project="$(QtMsBuild)\qt_defaults.props" />
+  </ImportGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <OutDir>debug\</OutDir>
+    <IntDir>debug\</IntDir>
+    <TargetName>mouse-config-tool-qt</TargetName>
+    <IgnoreImportLibrary>true</IgnoreImportLibrary>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <OutDir>release\</OutDir>
+    <IntDir>release\</IntDir>
+    <TargetName>mouse-config-tool-qt</TargetName>
+    <IgnoreImportLibrary>true</IgnoreImportLibrary>
+    <LinkIncremental>false</LinkIncremental>
+  </PropertyGroup>
+  <PropertyGroup Label="QtSettings" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <QtInstall>5.15.2_msvc2019</QtInstall>
+    <QtModules>core;gui;widgets</QtModules>
+  </PropertyGroup>
+  <PropertyGroup Label="QtSettings" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <QtInstall>5.15.2_msvc2019</QtInstall>
+    <QtModules>core;gui;widgets</QtModules>
+  </PropertyGroup>
+  <ImportGroup Condition="Exists('$(QtMsBuild)\qt.props')">
+    <Import Project="$(QtMsBuild)\qt.props" />
+  </ImportGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <ClCompile>
+      <AdditionalIncludeDirectories>GeneratedFiles\$(ConfigurationName);GeneratedFiles;.;release;/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalOptions>-Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -Zc:__cplusplus -w34100 -w34189 -w44996 -w44456 -w44457 -w44458 %(AdditionalOptions)</AdditionalOptions>
+      <AssemblerListingLocation>release\</AssemblerListingLocation>
+      <BrowseInformation>false</BrowseInformation>
+      <DebugInformationFormat>None</DebugInformationFormat>
+      <DisableSpecificWarnings>4577;4467;%(DisableSpecificWarnings)</DisableSpecificWarnings>
+      <ExceptionHandling>Sync</ExceptionHandling>
+      <LanguageStandard>stdcpp17</LanguageStandard>
+      <ObjectFileName>release\</ObjectFileName>
+      <Optimization>MaxSpeed</Optimization>
+      <PreprocessorDefinitions>_WINDOWS;UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;NDEBUG;QT_NO_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessToFile>false</PreprocessToFile>
+      <ProgramDataBaseFileName>
+      </ProgramDataBaseFileName>
+      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
+      <WarningLevel>Level3</WarningLevel>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
+    </ClCompile>
+    <Link>
+      <AdditionalDependencies>shell32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>C:\opensslx86\lib;C:\Utils\my_sql\mysql-5.7.25-win32\lib;C:\Utils\postgresqlx86\pgsql\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+      <AdditionalOptions>"/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*'" %(AdditionalOptions)</AdditionalOptions>
+      <DataExecutionPrevention>true</DataExecutionPrevention>
+      <GenerateDebugInformation>false</GenerateDebugInformation>
+      <IgnoreImportLibrary>true</IgnoreImportLibrary>
+      <LinkIncremental>false</LinkIncremental>
+      <OptimizeReferences>true</OptimizeReferences>
+      <OutputFile>$(OutDir)\mouse-config-tool-qt.exe</OutputFile>
+      <RandomizedBaseAddress>true</RandomizedBaseAddress>
+      <SubSystem>Windows</SubSystem>
+      <SuppressStartupBanner>true</SuppressStartupBanner>
+    </Link>
+    <Midl>
+      <DefaultCharType>Unsigned</DefaultCharType>
+      <EnableErrorChecks>None</EnableErrorChecks>
+      <WarningLevel>0</WarningLevel>
+    </Midl>
+    <ResourceCompile>
+      <PreprocessorDefinitions>_WINDOWS;UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;NDEBUG;QT_NO_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+    </ResourceCompile>
+    <QtMoc>
+      <CompilerFlavor>msvc</CompilerFlavor>
+      <Include>./$(Configuration)/moc_predefs.h</Include>
+      <ExecutionDescription>Moc'ing %(Identity)...</ExecutionDescription>
+      <DynamicSource>output</DynamicSource>
+      <QtMocDir>$(Configuration)</QtMocDir>
+      <QtMocFileName>moc_%(Filename).cpp</QtMocFileName>
+    </QtMoc>
+    <QtUic>
+      <ExecutionDescription>Uic'ing %(Identity)...</ExecutionDescription>
+      <QtUicDir>$(ProjectDir)</QtUicDir>
+      <QtUicFileName>ui_%(Filename).h</QtUicFileName>
+    </QtUic>
+    <PostBuildEvent>
+      <Command>build_release.bat</Command>
+    </PostBuildEvent>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <ClCompile>
+      <AdditionalIncludeDirectories>GeneratedFiles\$(ConfigurationName);GeneratedFiles;.;debug;/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalOptions>-Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -Zc:__cplusplus -w34100 -w34189 -w44996 -w44456 -w44457 -w44458 %(AdditionalOptions)</AdditionalOptions>
+      <AssemblerListingLocation>debug\</AssemblerListingLocation>
+      <BrowseInformation>false</BrowseInformation>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+      <DisableSpecificWarnings>4577;4467;%(DisableSpecificWarnings)</DisableSpecificWarnings>
+      <ExceptionHandling>Sync</ExceptionHandling>
+      <LanguageStandard>stdcpp17</LanguageStandard>
+      <ObjectFileName>debug\</ObjectFileName>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>_WINDOWS;UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessToFile>false</PreprocessToFile>
+      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
+      <WarningLevel>Level3</WarningLevel>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
+    </ClCompile>
+    <Link>
+      <AdditionalDependencies>shell32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>C:\opensslx86\lib;C:\Utils\my_sql\mysql-5.7.25-win32\lib;C:\Utils\postgresqlx86\pgsql\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+      <AdditionalOptions>"/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*'" %(AdditionalOptions)</AdditionalOptions>
+      <DataExecutionPrevention>true</DataExecutionPrevention>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <IgnoreImportLibrary>true</IgnoreImportLibrary>
+      <OutputFile>$(OutDir)\mouse-config-tool-qt.exe</OutputFile>
+      <RandomizedBaseAddress>true</RandomizedBaseAddress>
+      <SubSystem>Windows</SubSystem>
+      <SuppressStartupBanner>true</SuppressStartupBanner>
+    </Link>
+    <Midl>
+      <DefaultCharType>Unsigned</DefaultCharType>
+      <EnableErrorChecks>None</EnableErrorChecks>
+      <WarningLevel>0</WarningLevel>
+    </Midl>
+    <ResourceCompile>
+      <PreprocessorDefinitions>_WINDOWS;UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+    </ResourceCompile>
+    <QtUic>
+      <ExecutionDescription>Uic'ing %(Identity)...</ExecutionDescription>
+      <QtUicDir>$(ProjectDir)</QtUicDir>
+      <QtUicFileName>ui_%(Filename).h</QtUicFileName>
+    </QtUic>
+    <QtMoc>
+      <CompilerFlavor>msvc</CompilerFlavor>
+      <Include>./$(Configuration)/moc_predefs.h</Include>
+      <ExecutionDescription>Moc'ing %(Identity)...</ExecutionDescription>
+      <DynamicSource>output</DynamicSource>
+      <QtMocDir>$(Configuration)</QtMocDir>
+      <QtMocFileName>moc_%(Filename).cpp</QtMocFileName>
+    </QtMoc>
+    <PostBuildEvent>
+      <Command>build_debug.bat</Command>
+    </PostBuildEvent>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <ClCompile Include="ControlEx.cpp" />
+    <ClCompile Include="ParseFlashDatFile.cpp" />
+    <ClCompile Include="Ttile1.cpp" />
+    <ClCompile Include="TypeConvertor.cpp" />
+    <ClCompile Include="advancedConfigurationDlg.cpp" />
+    <ClCompile Include="main.cpp" />
+    <ClCompile Include="mouseconfigtool.cpp" />
+  </ItemGroup>
+  <ItemGroup>
+    <QtMoc Include="ControlEx.h">
+    </QtMoc>
+    <QtMoc Include="ParseFlashDatFile.h">
+    </QtMoc>
+    <QtMoc Include="Ttile1.h">
+    </QtMoc>
+    <ClInclude Include="TypeConvertor.h" />
+    <QtMoc Include="advancedConfigurationDlg.h">
+    </QtMoc>
+    <QtMoc Include="mouseconfigtool.h">
+    </QtMoc>
+  </ItemGroup>
+  <ItemGroup>
+    <CustomBuild Include="debug\moc_predefs.h.cbt">
+      <FileType>Document</FileType>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(QTDIR)\mkspecs\features\data\dummy.cpp;%(AdditionalInputs)</AdditionalInputs>
+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">cl -Bx"$(QTDIR)\bin\qmake.exe" -nologo -Zc:wchar_t -FS -Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -Zc:__cplusplus -Zi -MDd -std:c++17 -W3 -w34100 -w34189 -w44996 -w44456 -w44457 -w44458 -wd4577 -wd4467 -E $(QTDIR)\mkspecs\features\data\dummy.cpp 2&gt;NUL &gt;debug\moc_predefs.h</Command>
+      <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Generate moc_predefs.h</Message>
+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">debug\moc_predefs.h;%(Outputs)</Outputs>
+    </CustomBuild>
+    <CustomBuild Include="release\moc_predefs.h.cbt">
+      <FileType>Document</FileType>
+      <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(QTDIR)\mkspecs\features\data\dummy.cpp;%(AdditionalInputs)</AdditionalInputs>
+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">cl -Bx"$(QTDIR)\bin\qmake.exe" -nologo -Zc:wchar_t -FS -Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -Zc:__cplusplus -O2 -MD -std:c++17 -W3 -w34100 -w34189 -w44996 -w44456 -w44457 -w44458 -wd4577 -wd4467 -E $(QTDIR)\mkspecs\features\data\dummy.cpp 2&gt;NUL &gt;release\moc_predefs.h</Command>
+      <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Generate moc_predefs.h</Message>
+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">release\moc_predefs.h;%(Outputs)</Outputs>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+    </CustomBuild>
+  </ItemGroup>
+  <ItemGroup>
+    <QtUic Include="Ttile1.ui">
+    </QtUic>
+    <QtUic Include="advancedConfigurationDlg.ui">
+    </QtUic>
+    <QtUic Include="mouseconfigtool.ui">
+    </QtUic>
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="guanbi.png" />
+    <None Include="keyboard.png" />
+  </ItemGroup>
+  <ItemGroup>
+    <ResourceCompile Include=".\mouse-config-tool-qt_resource.rc" />
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Condition="Exists('$(QtMsBuild)\qt.targets')">
+    <Import Project="$(QtMsBuild)\qt.targets" />
+  </ImportGroup>
+  <ImportGroup Label="ExtensionTargets" />
+</Project>
\ No newline at end of file
Index: mouse-config-tool-qt.vcxproj.filters
===================================================================
--- /YC1308AC/branch/mouse_project/TestTools/mous-config-tool-qt/mouse-config-tool-qt.vcxproj.filters	(nonexistent)
+++ /YC1308AC/branch/mouse_project/TestTools/mous-config-tool-qt/mouse-config-tool-qt.vcxproj.filters	(working copy)
@@ -0,0 +1,135 @@
+锘<?xml version="1.0" encoding="utf-8"?>
+<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup>
+    <Filter Include="Form Files">
+      <UniqueIdentifier>{99349809-55BA-4b9d-BF79-8FDBB0286EB3}</UniqueIdentifier>
+      <Extensions>ui</Extensions>
+      <ParseFiles>false</ParseFiles>
+    </Filter>
+    <Filter Include="Form Files">
+      <UniqueIdentifier>{99349809-55BA-4b9d-BF79-8FDBB0286EB3}</UniqueIdentifier>
+      <Extensions>ui</Extensions>
+      <ParseFiles>false</ParseFiles>
+    </Filter>
+    <Filter Include="Generated Files">
+      <UniqueIdentifier>{71ED8ED8-ACB9-4CE9-BBE1-E00B30144E11}</UniqueIdentifier>
+      <Extensions>cpp;c;cxx;moc;h;def;odl;idl;res;</Extensions>
+    </Filter>
+    <Filter Include="Generated Files">
+      <UniqueIdentifier>{71ED8ED8-ACB9-4CE9-BBE1-E00B30144E11}</UniqueIdentifier>
+      <Extensions>cpp;c;cxx;moc;h;def;odl;idl;res;</Extensions>
+    </Filter>
+    <Filter Include="Header Files">
+      <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+      <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
+    </Filter>
+    <Filter Include="Header Files">
+      <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+      <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
+    </Filter>
+    <Filter Include="Source Files">
+      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+      <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+    </Filter>
+    <Filter Include="Source Files">
+      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+      <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+    </Filter>
+    <Filter Include="Distribution Files">
+      <UniqueIdentifier>{B83CAF91-C7BF-462F-B76C-EA11631F866C}</UniqueIdentifier>
+      <Extensions>*</Extensions>
+      <ParseFiles>false</ParseFiles>
+    </Filter>
+    <Filter Include="Distribution Files">
+      <UniqueIdentifier>{B83CAF91-C7BF-462F-B76C-EA11631F866C}</UniqueIdentifier>
+      <Extensions>*</Extensions>
+      <ParseFiles>false</ParseFiles>
+    </Filter>
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="ControlEx.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="ParseFlashDatFile.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="Ttile1.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="TypeConvertor.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="advancedConfigurationDlg.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="main.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="mouseconfigtool.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+  </ItemGroup>
+  <ItemGroup>
+    <QtMoc Include="ControlEx.h">
+      <Filter>Header Files</Filter>
+    </QtMoc>
+    <QtMoc Include="ParseFlashDatFile.h">
+      <Filter>Header Files</Filter>
+    </QtMoc>
+    <QtMoc Include="Ttile1.h">
+      <Filter>Header Files</Filter>
+    </QtMoc>
+    <ClInclude Include="TypeConvertor.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <QtMoc Include="advancedConfigurationDlg.h">
+      <Filter>Header Files</Filter>
+    </QtMoc>
+    <QtMoc Include="mouseconfigtool.h">
+      <Filter>Header Files</Filter>
+    </QtMoc>
+  </ItemGroup>
+  <ItemGroup>
+    
+    
+    
+    
+    
+    
+    
+    
+    
+    
+    <CustomBuild Include="debug\moc_predefs.h.cbt">
+      <Filter>Generated Files</Filter>
+    </CustomBuild>
+    <CustomBuild Include="release\moc_predefs.h.cbt">
+      <Filter>Generated Files</Filter>
+    </CustomBuild>
+    
+    
+    
+  </ItemGroup>
+  <ItemGroup>
+    <QtUic Include="Ttile1.ui">
+      <Filter>Form Files</Filter>
+    </QtUic>
+    <QtUic Include="advancedConfigurationDlg.ui">
+      <Filter>Form Files</Filter>
+    </QtUic>
+    <QtUic Include="mouseconfigtool.ui">
+      <Filter>Form Files</Filter>
+    </QtUic>
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="guanbi.png">
+      <Filter>Distribution Files</Filter>
+    </None>
+    <None Include="keyboard.png">
+      <Filter>Distribution Files</Filter>
+    </None>
+  </ItemGroup>
+  <ItemGroup>
+    <ResourceCompile Include="E:\ocean\code\qtPro\mouse-config-tool-qt\mouse-config-tool-qt_resource.rc" />
+  </ItemGroup>
+</Project>
\ No newline at end of file
Index: mouse-config-tool-qt.vcxproj.user
===================================================================
--- /YC1308AC/branch/mouse_project/TestTools/mous-config-tool-qt/mouse-config-tool-qt.vcxproj.user	(nonexistent)
+++ /YC1308AC/branch/mouse_project/TestTools/mous-config-tool-qt/mouse-config-tool-qt.vcxproj.user	(working copy)
@@ -0,0 +1,6 @@
+锘<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup>
+    <ShowAllFiles>true</ShowAllFiles>
+  </PropertyGroup>
+</Project>
\ No newline at end of file
Index: mouse-config-tool-qt_resource.rc
===================================================================
--- /YC1308AC/branch/mouse_project/TestTools/mous-config-tool-qt/mouse-config-tool-qt_resource.rc	(nonexistent)
+++ /YC1308AC/branch/mouse_project/TestTools/mous-config-tool-qt/mouse-config-tool-qt_resource.rc	(working copy)
@@ -0,0 +1,37 @@
+#include <windows.h>
+
+IDI_ICON1	ICON	DISCARDABLE	"E:\\mouse\\QT_YC1308\\keyboard.ico"
+
+VS_VERSION_INFO VERSIONINFO
+	FILEVERSION 0,0,0,0
+	PRODUCTVERSION 0,0,0,0
+	FILEFLAGSMASK 0x3fL
+#ifdef _DEBUG
+	FILEFLAGS VS_FF_DEBUG
+#else
+	FILEFLAGS 0x0L
+#endif
+	FILEOS VOS__WINDOWS32
+	FILETYPE VFT_DLL
+	FILESUBTYPE 0x0L
+	BEGIN
+		BLOCK "StringFileInfo"
+		BEGIN
+			BLOCK "040904b0"
+			BEGIN
+				VALUE "CompanyName", "\0"
+				VALUE "FileDescription", "\0"
+				VALUE "FileVersion", "0.0.0.0\0"
+				VALUE "LegalCopyright", "\0"
+				VALUE "OriginalFilename", "mouse-config-tool-qt.exe\0"
+				VALUE "ProductName", "mouse-config-tool-qt\0"
+				VALUE "ProductVersion", "0.0.0.0\0"
+			END
+		END
+		BLOCK "VarFileInfo"
+		BEGIN
+			VALUE "Translation", 0x0409, 1200
+		END
+	END
+/* End of Version info */
+
Index: mouseconfigtool.h
===================================================================
--- /YC1308AC/branch/mouse_project/TestTools/mous-config-tool-qt/mouseconfigtool.h	(nonexistent)
+++ /YC1308AC/branch/mouse_project/TestTools/mous-config-tool-qt/mouseconfigtool.h	(working copy)
@@ -0,0 +1,53 @@
+锘#ifndef MOUSECONFIGTOOL_H
+#define MOUSECONFIGTOOL_H
+
+#include <QMainWindow>
+#include <QtWidgets>
+#include <QMenu>
+#include <QMap>
+#include <QContextMenuEvent>
+#include "TypeConvertor.h"
+
+QT_BEGIN_NAMESPACE
+namespace Ui { class MouseConfigTool; }
+QT_END_NAMESPACE
+
+class MouseConfigTool : public QMainWindow
+{
+    Q_OBJECT
+
+public:
+    MouseConfigTool& operator=(const MouseConfigTool& configTool);
+    MouseConfigTool(QWidget *parent = nullptr);
+    ~MouseConfigTool();
+    Ui::MouseConfigTool* getUi();
+
+    void checkbox_Logo_Disable();
+    void checkbox_24GLed_Disable();
+    void checkbox_BT1Led_Disable();
+    void checkbox_BT2Led_Disable();
+    void checkbox_DPILed_Disable();
+    void checkbox_DPIAnother_Disable();
+    void checkbox_FIRE_Disable();
+    void checkbox_Customer_Disable();
+
+signals:
+    void customSignal(QString objectName);
+    void customVoltageSignal(QString objectName,QByteArray value);
+
+private slots:
+    void on_groupBox_ledLampEnable_toggled(bool arg1);
+    void on_groupBox_keyCombinationBroadcast_toggled(bool arg1);
+    void handleComboBoxSelection(int index);
+    void handleCheckBoxClicked(bool checked);
+    void handleEditingFinished();
+    void handleEditingTextChange(QString gpio);
+    // void handleVoltageEditingFinished();
+    // void modifyVoltageSlot(QWidget* sonWidget, QByteArray valueToPaint, QWidget* pWidget);
+    // void on_comboBox_adcSamplingMode_currentTextChanged(const QString &arg1);
+
+private:
+    Ui::MouseConfigTool *ui;
+
+};
+#endif // MOUSECONFIGTOOL_H
Index: mouseconfigtool.cpp
===================================================================
--- /YC1308AC/branch/mouse_project/TestTools/mous-config-tool-qt/mouseconfigtool.cpp	(nonexistent)
+++ /YC1308AC/branch/mouse_project/TestTools/mous-config-tool-qt/mouseconfigtool.cpp	(working copy)
@@ -0,0 +1,416 @@
+锘#include "mouseconfigtool.h"
+
+#include "Ttile1.h"
+#include "ui_mouseconfigtool.h"
+
+// QMap<double, int> voltageMap = {
+//     {0.8, 0x0091},
+//     {0.9, 0x00a2},
+//     {1.0, 0x00b4},
+//     {1.1, 0x00c6},
+//     {1.2, 0x00d9},
+//     {1.3, 0x00ea},
+//     {1.4, 0x00fd},
+//     {1.5, 0x010f},
+//     {1.6, 0x0121},
+//     {1.7, 0x0133},
+//     {1.8, 0x0145},
+//     {1.9, 0x0155},
+//     {2.0, 0x0169},
+//     {2.1, 0x017a},
+//     {2.2, 0x018d},
+//     {2.3, 0x01a1},
+//     {2.4, 0x01b1},
+//     {2.5, 0x01c3},
+//     {2.6, 0x01d7},
+//     {2.7, 0x01e9},
+//     {2.8, 0x01fb},
+//     {2.9, 0x0208},
+//     {3.0, 0x0220},
+//     {3.1, 0x0235},
+//     {3.2, 0x0245},
+//     {3.3, 0x0260}
+// };
+
+MouseConfigTool& MouseConfigTool::operator=(const MouseConfigTool& configTool)
+{
+	if (this != &configTool)
+	{
+		ui = configTool.ui;
+	}
+	return *this;
+}
+
+MouseConfigTool::MouseConfigTool(QWidget* parent)
+	: QMainWindow(parent)
+	  , ui(new Ui::MouseConfigTool)
+{
+	ui->setupUi(this);
+    this->setWindowFlags(Qt::CustomizeWindowHint);
+	// 缁戝畾涓嬫媺妗嗛夋嫨浜嬩欢
+	connect(ui->comboBox_theDefaultMode, SIGNAL(currentIndexChanged(int)), this, SLOT(handleComboBoxSelection(int)));
+	connect(ui->comboBox_bluetoothBroadcastType, SIGNAL(currentIndexChanged(int)), this,
+	        SLOT(handleComboBoxSelection(int)));
+	connect(ui->comboBox_maximumNumberOfChannels, SIGNAL(currentIndexChanged(int)), this,
+	        SLOT(handleComboBoxSelection(int)));
+	connect(ui->comboBox_radioModeKeyCombination, SIGNAL(currentIndexChanged(int)), this,
+	        SLOT(handleComboBoxSelection(int)));
+	connect(ui->comboBox_keyPairCodeCombination, SIGNAL(currentIndexChanged(int)), this,
+	        SLOT(handleComboBoxSelection(int)));
+	connect(ui->comboBox_directionOfGrounding, SIGNAL(currentIndexChanged(int)), this,
+	        SLOT(handleComboBoxSelection(int)));
+	connect(ui->comboBox_inTheAir, SIGNAL(currentIndexChanged(int)), this, SLOT(handleComboBoxSelection(int)));
+	connect(ui->comboBox_theDefaultDpiFile, SIGNAL(currentIndexChanged(int)), this, SLOT(handleComboBoxSelection(int)));
+	connect(ui->comboBox_modeLampReuse, SIGNAL(currentIndexChanged(int)), this, SLOT(handleComboBoxSelection(int)));
+	connect(ui->comboBox_crystalFrequency, SIGNAL(currentIndexChanged(int)), this, SLOT(handleComboBoxSelection(int)));
+	connect(ui->comboBox_numberOfDpiGears, SIGNAL(currentIndexChanged(int)), this, SLOT(handleComboBoxSelection(int)));
+	connect(ui->comboBox_modeSwitch, SIGNAL(currentIndexChanged(int)), this, SLOT(handleComboBoxSelection(int)));
+	connect(ui->comboBox_customButtonFunction, SIGNAL(currentIndexChanged(int)), this,
+	        SLOT(handleComboBoxSelection(int)));
+    connect(ui->comboBox_24GRateReturn, SIGNAL(currentIndexChanged(int)), this, SLOT(handleComboBoxSelection(int)));
+    connect(ui->comboBox_SensorTyoeSelect, SIGNAL(currentIndexChanged(int)), this, SLOT(handleComboBoxSelection(int)));
+	// 缁戝畾澶嶉夋閫夋嫨浜嬩欢
+	connect(ui->groupBox_customKeyEnable, SIGNAL(clicked(bool)), this, SLOT(handleCheckBoxClicked(bool)));
+	connect(ui->checkBox_theDpiKeyIsGrounded, SIGNAL(clicked(bool)), this, SLOT(handleCheckBoxClicked(bool)));
+	connect(ui->checkBox_pbKeyGrounding, SIGNAL(clicked(bool)), this, SLOT(handleCheckBoxClicked(bool)));
+	connect(ui->checkBox_24gFirst, SIGNAL(clicked(bool)), this, SLOT(handleCheckBoxClicked(bool)));
+	connect(ui->checkBox_noPairs, SIGNAL(clicked(bool)), this, SLOT(handleCheckBoxClicked(bool)));
+	connect(ui->checkBox_poweronCombinationKeyPairCode, SIGNAL(clicked(bool)), this, SLOT(handleCheckBoxClicked(bool)));
+	connect(ui->checkBox_backToTheCompanyFailedToBroadcast, SIGNAL(clicked(bool)), this,
+	        SLOT(handleCheckBoxClicked(bool)));
+	connect(ui->groupBox_keyCombinationBroadcast, SIGNAL(clicked(bool)), this, SLOT(handleCheckBoxClicked(bool)));
+	connect(ui->checkBox_longPressDpiToBroadcast, SIGNAL(clicked(bool)), this, SLOT(handleCheckBoxClicked(bool)));
+	connect(ui->checkBox_pbKeyLongPressBroadcast, SIGNAL(clicked(bool)), this, SLOT(handleCheckBoxClicked(bool)));
+	connect(ui->checkBox_theFirstFreeRightCode, SIGNAL(clicked(bool)), this, SLOT(handleCheckBoxClicked(bool)));
+	connect(ui->groupBox_ledLampEnable, SIGNAL(clicked(bool)), this, SLOT(handleCheckBoxClicked(bool)));
+	connect(ui->checkBox_reconnectLampEfficiencyEnable, SIGNAL(clicked(bool)), this, SLOT(handleCheckBoxClicked(bool)));
+	connect(ui->checkBox_limitTheNumberOfFlickerTimesOfReconnect, SIGNAL(clicked(bool)), this,SLOT(handleCheckBoxClicked(bool)));
+    connect(ui->groupBox_24GSearchDongleEnable, SIGNAL(clicked(bool)), this,SLOT(handleCheckBoxClicked(bool)));
+    connect(ui->checkBox_LogoLedHighlight, SIGNAL(clicked(bool)), this, SLOT(handleCheckBoxClicked(bool)));
+    connect(ui->checkBox_24GLedHighlight, SIGNAL(clicked(bool)), this, SLOT(handleCheckBoxClicked(bool)));
+    connect(ui->checkBox_Bt1LedHighlight, SIGNAL(clicked(bool)), this, SLOT(handleCheckBoxClicked(bool)));
+    connect(ui->checkBox_Bt2LedHighlight, SIGNAL(clicked(bool)), this, SLOT(handleCheckBoxClicked(bool)));
+    connect(ui->checkBox_DpiLedHighlight, SIGNAL(clicked(bool)), this, SLOT(handleCheckBoxClicked(bool)));
+    connect(ui->checkBox_DpiAnothorKey_Conn_Vdd, SIGNAL(clicked(bool)), this, SLOT(handleCheckBoxClicked(bool)));
+    connect(ui->checkBox_FierKey_Conn_Vdd, SIGNAL(clicked(bool)), this, SLOT(handleCheckBoxClicked(bool)));
+    connect(ui->checkBox_customKey_conn_Vdd, SIGNAL(clicked(bool)), this, SLOT(handleCheckBoxClicked(bool)));
+    connect(ui->checkBox_DpiDoubleEnable, SIGNAL(clicked(bool)), this, SLOT(handleCheckBoxClicked(bool)));
+    connect(ui->checkBox_1io_to_2led_reuse, SIGNAL(clicked(bool)), this, SLOT(handleCheckBoxClicked(bool)));
+    /*娣诲姞slot*/
+
+	connect(ui->checkBox_lowFlickerFrequencyLimit, SIGNAL(clicked(bool)), this, SLOT(handleCheckBoxClicked(bool)));
+	// 缁戝畾edit鎷╀簨浠
+    connect(ui->lineEdit_logoLampGpio, SIGNAL(textChanged(QString)), this, SLOT(handleEditingTextChange(QString)));
+    connect(ui->lineEdit_24gLight, SIGNAL(textChanged(QString)), this, SLOT(handleEditingTextChange(QString)));
+    connect(ui->lineEdit_bluetooth1Lamp, SIGNAL(textChanged(QString)), this, SLOT(handleEditingTextChange(QString)));
+    connect(ui->lineEdit_bluetooth2Lamp, SIGNAL(textChanged(QString)), this, SLOT(handleEditingTextChange(QString)));
+    connect(ui->lineEdit_dpiLamp, SIGNAL(textChanged(QString)), this, SLOT(handleEditingTextChange(QString)));
+
+	connect(ui->lineEdit_b4Key, SIGNAL(editingFinished()), this, SLOT(handleEditingFinished()));
+	connect(ui->lineEdit_b5Key, SIGNAL(editingFinished()), this, SLOT(handleEditingFinished()));
+	connect(ui->lineEdit_dpiAddKey, SIGNAL(editingFinished()), this, SLOT(handleEditingFinished()));
+	connect(ui->lineEdit_publicFeet, SIGNAL(editingFinished()), this, SLOT(handleEditingFinished()));
+    // connect(ui->lineEdit_customKeyGpio, SIGNAL(editingFinished()), this, SLOT(handleEditingFinished()));
+	connect(ui->lineEdit_positiveRollerAKey, SIGNAL(editingFinished()), this, SLOT(handleEditingFinished()));
+	connect(ui->lineEdit_positiveRollerBKey, SIGNAL(editingFinished()), this, SLOT(handleEditingFinished()));
+	connect(ui->lineEdit_selectGpioForOrientation, SIGNAL(editingFinished()), this, SLOT(handleEditingFinished()));
+	connect(ui->lineEdit_leftKey, SIGNAL(editingFinished()), this, SLOT(handleEditingFinished()));
+	connect(ui->lineEdit_rightKey, SIGNAL(editingFinished()), this, SLOT(handleEditingFinished()));
+	connect(ui->lineEdit_middleKey, SIGNAL(editingFinished()), this, SLOT(handleEditingFinished()));
+	connect(ui->lineEdit_flipTheSwitch, SIGNAL(editingFinished()), this, SLOT(handleEditingFinished()));
+	connect(ui->lineEdit_pbKey, SIGNAL(editingFinished()), this, SLOT(handleEditingFinished()));
+
+    connect(ui->lineEdit_customKeyGpio, SIGNAL(textChanged(QString)), this, SLOT(handleEditingTextChange(QString)));
+    connect(ui->lineEdit_DpiAnotherKey, SIGNAL(textChanged(QString)), this, SLOT(handleEditingTextChange(QString)));
+    connect(ui->lineEdit_FireKey, SIGNAL(textChanged(QString)), this, SLOT(handleEditingTextChange(QString)));
+    //connect(ui->lineEdit_DpiAnotherKey, SIGNAL(editingFinished()), this, SLOT(handleEditingFinished()));
+    //connect(ui->lineEdit_FireKey, SIGNAL(editingFinished()), this, SLOT(handleEditingFinished()));
+    connect(ui->lineEdit_24GSearchTimer, SIGNAL(editingFinished()), this, SLOT(handleEditingFinished()));
+
+}
+
+MouseConfigTool::~MouseConfigTool()
+{
+	delete ui;
+}
+
+Ui::MouseConfigTool* MouseConfigTool::getUi()
+{
+	return ui;
+}
+
+void MouseConfigTool::on_groupBox_ledLampEnable_toggled(bool arg1)
+{
+	ui->groupBox_ledGpioConfiguration->setChecked(arg1);
+	ui->groupBox_ledGpioConfiguration->setEnabled(arg1);
+	ui->groupBox_theLampFunctionEnables->setChecked(arg1);
+	ui->groupBox_theLampFunctionEnables->setEnabled(arg1);
+}
+
+void MouseConfigTool::on_groupBox_keyCombinationBroadcast_toggled(bool arg1)
+{
+	ui->comboBox_radioModeKeyCombination->setEnabled(arg1);
+	ui->label_32->setEnabled(arg1);
+}
+
+void MouseConfigTool::handleComboBoxSelection(int index)
+{
+	Q_UNUSED(index);
+	auto box = qobject_cast<QComboBox*>(sender());
+	if (box)
+	{
+		qDebug() << "######################";
+		QString selectedItem = box->currentText();
+		qDebug() << QStringLiteral("閫夋嫨缁撴潫锛岄夋嫨鐨勯」锛") << selectedItem;
+		emit customSignal(box->objectName());
+	}
+}
+
+void MouseConfigTool::handleCheckBoxClicked(bool checked)
+{
+	auto box1 = qobject_cast<QCheckBox*>(sender());
+	auto box2 = qobject_cast<QGroupBox*>(sender());
+	if (box1 || box2)
+	{
+		qDebug() << "######################";
+		qDebug() << QStringLiteral("褰撳墠澶嶉夋鐘舵侊細") << checked;
+		emit customSignal(box1 ? box1->objectName() : box2->objectName());
+	}
+}
+
+void MouseConfigTool::handleEditingFinished()
+{
+	auto box1 = qobject_cast<QLineEdit*>(sender());
+	if (box1)
+	{
+		qDebug() << "######################";
+		qDebug() << QStringLiteral("褰撳墠edit鐨勫硷細") << box1->text();
+		emit customSignal(box1->objectName());
+	}
+}
+
+void MouseConfigTool::handleEditingTextChange(QString gpio)
+{
+    handleEditingFinished();
+    //楂樹寒鍔熻兘
+
+    auto box1 = qobject_cast<QLineEdit*>(sender());
+    if(gpio.toInt(bool(),16)==0xff ||gpio.toInt(bool(),16)==0x00) //鏃犳晥鏁版嵁灞忚斀
+    {
+        if(box1->objectName()=="lineEdit_logoLampGpio")
+            ui->checkBox_LogoLedHighlight->setEnabled(false);
+        if(box1->objectName()=="lineEdit_24gLight")
+            ui->checkBox_24GLedHighlight->setEnabled(false);
+        if(box1->objectName()=="lineEdit_bluetooth1Lamp")
+            ui->checkBox_Bt1LedHighlight->setEnabled(false);
+        if(box1->objectName()=="lineEdit_bluetooth2Lamp")
+            ui->checkBox_Bt2LedHighlight->setEnabled(false);
+        if(box1->objectName()=="lineEdit_dpiLamp")
+            ui->checkBox_DpiLedHighlight->setEnabled(false);
+
+        if(box1->objectName()=="lineEdit_DpiAnotherKey")
+            ui->checkBox_DpiAnothorKey_Conn_Vdd->setEnabled(false);
+        if(box1->objectName()=="lineEdit_FireKey")
+            ui->checkBox_FierKey_Conn_Vdd->setEnabled(false);
+        if(box1->objectName()=="lineEdit_customKeyGpio")
+            ui->checkBox_customKey_conn_Vdd->setEnabled(false);
+
+    }
+    //鏈夋晥鏁版嵁
+    else{
+        if((gpio.toInt(bool(),16)&0x80)==0x80) //鍒ゆ柇楂樹綅涓1灏卞嬀閫
+        {
+            if(box1->objectName()=="lineEdit_logoLampGpio")
+                ui->checkBox_LogoLedHighlight->setChecked(true);
+            if(box1->objectName()=="lineEdit_24gLight")
+                ui->checkBox_24GLedHighlight->setChecked(true);
+            if(box1->objectName()=="lineEdit_bluetooth1Lamp")
+                ui->checkBox_Bt1LedHighlight->setChecked(true);
+            if(box1->objectName()=="lineEdit_bluetooth2Lamp")
+                ui->checkBox_Bt2LedHighlight->setChecked(true);
+            if(box1->objectName()=="lineEdit_dpiLamp")
+                ui->checkBox_DpiLedHighlight->setChecked(true);
+
+            if(box1->objectName()=="lineEdit_DpiAnotherKey")
+                ui->checkBox_DpiAnothorKey_Conn_Vdd->setChecked(true);
+            if(box1->objectName()=="lineEdit_FireKey")
+                ui->checkBox_FierKey_Conn_Vdd->setChecked(true);
+            if(box1->objectName()=="lineEdit_customKeyGpio")
+                ui->checkBox_customKey_conn_Vdd->setChecked(true);
+
+        }
+        //鍒ゆ柇楂樹綅涓0灏卞彇娑堝嬀閫
+        else{
+            if(box1->objectName()=="lineEdit_logoLampGpio")
+                ui->checkBox_LogoLedHighlight->setChecked(false);
+            if(box1->objectName()=="lineEdit_24gLight")
+                ui->checkBox_24GLedHighlight->setChecked(false);
+            if(box1->objectName()=="lineEdit_bluetooth1Lamp")
+                ui->checkBox_Bt1LedHighlight->setChecked(false);
+            if(box1->objectName()=="lineEdit_bluetooth2Lamp")
+                ui->checkBox_Bt2LedHighlight->setChecked(false);
+            if(box1->objectName()=="lineEdit_dpiLamp")
+                ui->checkBox_DpiLedHighlight->setChecked(false);
+
+            if(box1->objectName()=="lineEdit_DpiAnotherKey")
+                ui->checkBox_DpiAnothorKey_Conn_Vdd->setChecked(false);
+            if(box1->objectName()=="lineEdit_FireKey")
+                ui->checkBox_FierKey_Conn_Vdd->setChecked(false);
+            if(box1->objectName()=="lineEdit_customKeyGpio")
+                ui->checkBox_customKey_conn_Vdd->setChecked(false);
+
+
+        }
+        //鍙栨秷灞忚斀
+        if(box1->objectName()=="lineEdit_logoLampGpio")
+            ui->checkBox_LogoLedHighlight->setEnabled(true);
+        if(box1->objectName()=="lineEdit_24gLight")
+            ui->checkBox_24GLedHighlight->setEnabled(true);
+        if(box1->objectName()=="lineEdit_bluetooth1Lamp")
+            ui->checkBox_Bt1LedHighlight->setEnabled(true);
+        if(box1->objectName()=="lineEdit_bluetooth2Lamp")
+            ui->checkBox_Bt2LedHighlight->setEnabled(true);
+        if(box1->objectName()=="lineEdit_dpiLamp")
+            ui->checkBox_DpiLedHighlight->setEnabled(true);
+
+        if(box1->objectName()=="lineEdit_DpiAnotherKey")
+            ui->checkBox_DpiAnothorKey_Conn_Vdd->setEnabled(true);
+        if(box1->objectName()=="lineEdit_FireKey")
+            ui->checkBox_FierKey_Conn_Vdd->setEnabled(true);
+        if(box1->objectName()=="lineEdit_customKeyGpio")
+            ui->checkBox_customKey_conn_Vdd->setEnabled(true);
+
+
+    }
+
+}
+
+//璇诲彇鍥轰欢鏃舵槸ff灞忚斀
+void MouseConfigTool::checkbox_Logo_Disable()
+{
+    ui->checkBox_LogoLedHighlight->setEnabled(false);
+}
+void MouseConfigTool::checkbox_24GLed_Disable(){
+    ui->checkBox_24GLedHighlight->setEnabled(false);
+}
+void MouseConfigTool::checkbox_BT1Led_Disable(){
+    ui->checkBox_Bt1LedHighlight->setEnabled(false);
+}
+void MouseConfigTool::checkbox_BT2Led_Disable(){
+    ui->checkBox_Bt2LedHighlight->setEnabled(false);
+}
+void MouseConfigTool::checkbox_DPILed_Disable(){
+    ui->checkBox_DpiLedHighlight->setEnabled(false);
+}
+void MouseConfigTool::checkbox_DPIAnother_Disable(){
+    ui->checkBox_DpiAnothorKey_Conn_Vdd->setEnabled(false);
+}
+void MouseConfigTool::checkbox_FIRE_Disable(){
+    ui->checkBox_FierKey_Conn_Vdd->setEnabled(false);
+}
+void MouseConfigTool::checkbox_Customer_Disable(){
+    ui->checkBox_customKey_conn_Vdd->setEnabled(false);
+}
+
+// void MouseConfigTool::handleVoltageEditingFinished()
+// {
+//     QByteArray result;
+//     auto box1 = qobject_cast<QLineEdit*>(sender());
+//     if (box1)
+//     {
+//         qDebug() << "######################";
+//         auto inputValue = box1->text();
+//         qDebug() << QStringLiteral("褰撳墠edit鐨勫硷細") << inputValue;
+//         auto currentText = ui->comboBox_adcSamplingMode->currentText();
+//         // 1.鏄皬鏁
+
+//         if (!regIsDecimal(inputValue))
+//         {
+//             QMessageBox::information(nullptr, QStringLiteral("鎻愮ず"), QStringLiteral("鍙敮鎸佸皬鏁拌緭鍏"));
+//             return;
+//         }
+//         bool ok;
+//         double value = inputValue.toDouble(&ok);
+
+//         if (!ok)
+//         {
+//             QMessageBox::information(nullptr, QStringLiteral("鎻愮ず"), QStringLiteral("杞崲灏忔暟澶辫触"));
+//             return;
+//         }
+
+//         if (currentText.compare("gpio", Qt::CaseInsensitive) == 0) // 浣跨敤鍥哄畾鐨刴ap,璇诲彇瑕佸啓鍏ュ浐浠剁殑鍊,闇瑕佸鐞嗙敤鎴疯緭鍏ヤ繚鐣欎竴浣嶅皬鏁
+//         {
+//             // 2.鑷姩浼樺寲杈撳叆涓1浣嶅皬鏁
+//             // 3.鏍￠獙鑼冨洿 [0.8,3.3]
+//             // 4.浼樺寲灏忔暟鐐瑰悗鍐嶅洖鏄
+//             double roundedValue = roundTo1Decimals(value);
+//             box1->setText(QString::number(roundedValue));
+//             // 妫鏌ユ暟鍊艰寖鍥
+//             if (roundedValue <= 0.8 || roundedValue >= 3.3)
+//             {
+//                 QMessageBox::information(nullptr, QStringLiteral("鎻愮ず"), QStringLiteral("杈撳叆鍊间笉鍦ㄨ寖鍥碵0.8, 3.3]鍐呫"));
+//                 return;
+//             }
+
+//             if (!voltageMap.contains(roundedValue))
+//             {
+//                 QMessageBox::information(nullptr, QStringLiteral("鎻愮ず"), QStringLiteral("杈撳叆鍊间笉灞炰簬map"));
+//                 return;
+//             }
+
+//             auto hex_qstring = parseNumber2HexQstring(voltageMap[roundedValue]);
+//             result = QByteArray::fromHex(hex_qstring.toLatin1());
+//         }
+//         else // vin,杈撳叆鍊*100,闇瑕佸鐞嗙敤鎴疯緭鍏ヤ繚鐣欎袱浣嶅皬鏁
+//         {
+//             // 2.鑷姩浼樺寲杈撳叆涓2浣嶅皬鏁
+//             // 3.鏍￠獙鑼冨洿[0.8, 5.5]
+//             // 4.浼樺寲灏忔暟鐐瑰悗鍐嶅洖鏄
+//             double roundedValue = roundTo2Decimals(value);
+//             box1->setText(QString::number(roundedValue));
+//             // 妫鏌ユ暟鍊艰寖鍥
+//             if (roundedValue <= 0.8 || roundedValue >= 5.5)
+//             {
+//                 QMessageBox::information(nullptr, QStringLiteral("鎻愮ず"), QStringLiteral("杈撳叆鍊间笉鍦ㄨ寖鍥碵0.8, 3.3]鍐呫"));
+//                 return;
+//             }
+//             auto hex_qstring = parseNumber2HexQstring(roundedValue * 100);
+//             result = QByteArray::fromHex(hex_qstring.toLatin1());
+//         }
+//         emit customVoltageSignal(box1->objectName(), result);
+//     }
+// }
+
+// void MouseConfigTool::modifyVoltageSlot(QWidget* sonWidget, QByteArray valueToPaint, QWidget* pWidget)
+// {
+// 	// 鐖剁被鐨刢ombobox
+// 	auto box = qobject_cast<QComboBox*>(pWidget);
+// 	auto value = valueToPaint.toHex();
+// 	int string2_number = parseString2number(value);
+
+// 	QString strToPaint;
+// 	if (box->currentText().compare("gpio", Qt::CaseInsensitive) == 0) // gpio
+// 	{
+// 		QMap<double, int>::iterator it;
+// 		for (it = voltageMap.begin(); it != voltageMap.end(); ++it) {
+// 			if (it.value() == string2_number) {
+// 				strToPaint = QString::number(it.key(), 'f', 1);
+// 				break;
+// 			}
+// 		}
+// 	}
+// 	else // vin
+// 	{
+// 		strToPaint= QString::number(string2_number / 100.0, 'f', 2);
+// 	}
+// 	qDebug() << strToPaint;
+// 	auto m_lineEdit = qobject_cast<QLineEdit*>(sonWidget);
+// 	m_lineEdit->setText(strToPaint);
+// }
+
+// void MouseConfigTool::on_comboBox_adcSamplingMode_currentTextChanged(const QString &arg1)
+// {
+// 	bool enable = arg1.compare("VIN", Qt::CaseInsensitive) == 0; // true,绂佺敤;false,鍙敤
+// 	ui->comboBox_adcChannel->setEnabled(!enable);
+// 	ui->label_lowPowerEnable->setEnabled(!enable);
+// }
Index: mouseconfigtool.ui
===================================================================
--- /YC1308AC/branch/mouse_project/TestTools/mous-config-tool-qt/mouseconfigtool.ui	(nonexistent)
+++ /YC1308AC/branch/mouse_project/TestTools/mous-config-tool-qt/mouseconfigtool.ui	(working copy)
@@ -0,0 +1,2544 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>MouseConfigTool</class>
+ <widget class="QMainWindow" name="MouseConfigTool">
+  <property name="windowModality">
+   <enum>Qt::ApplicationModal</enum>
+  </property>
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>1200</width>
+    <height>771</height>
+   </rect>
+  </property>
+  <property name="sizePolicy">
+   <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
+    <horstretch>0</horstretch>
+    <verstretch>0</verstretch>
+   </sizepolicy>
+  </property>
+  <property name="minimumSize">
+   <size>
+    <width>1200</width>
+    <height>771</height>
+   </size>
+  </property>
+  <property name="maximumSize">
+   <size>
+    <width>1200</width>
+    <height>771</height>
+   </size>
+  </property>
+  <property name="font">
+   <font>
+    <family>寰蒋闆呴粦</family>
+    <pointsize>12</pointsize>
+   </font>
+  </property>
+  <property name="contextMenuPolicy">
+   <enum>Qt::NoContextMenu</enum>
+  </property>
+  <property name="windowTitle">
+   <string>MouseConfigTool</string>
+  </property>
+  <property name="windowIcon">
+   <iconset theme="application-exit"/>
+  </property>
+  <property name="styleSheet">
+   <string notr="true">QGroupBox { font-weight: bold; }</string>
+  </property>
+  <property name="animated">
+   <bool>true</bool>
+  </property>
+  <property name="dockNestingEnabled">
+   <bool>false</bool>
+  </property>
+  <widget class="QWidget" name="centralwidget">
+   <property name="maximumSize">
+    <size>
+     <width>1920</width>
+     <height>800</height>
+    </size>
+   </property>
+   <property name="contextMenuPolicy">
+    <enum>Qt::NoContextMenu</enum>
+   </property>
+   <widget class="QWidget" name="layoutWidget">
+    <property name="geometry">
+     <rect>
+      <x>7</x>
+      <y>7</y>
+      <width>281</width>
+      <height>731</height>
+     </rect>
+    </property>
+    <layout class="QGridLayout" name="gridLayout">
+     <item row="0" column="0">
+      <widget class="QGroupBox" name="groupBox_modeConfiguration">
+       <property name="minimumSize">
+        <size>
+         <width>261</width>
+         <height>202</height>
+        </size>
+       </property>
+       <property name="font">
+        <font>
+         <pointsize>12</pointsize>
+         <bold>true</bold>
+        </font>
+       </property>
+       <property name="title">
+        <string>妯″紡閰嶇疆</string>
+       </property>
+       <widget class="QGroupBox" name="groupBox_24gConfiguration">
+        <property name="geometry">
+         <rect>
+          <x>0</x>
+          <y>210</y>
+          <width>276</width>
+          <height>311</height>
+         </rect>
+        </property>
+        <property name="minimumSize">
+         <size>
+          <width>276</width>
+          <height>194</height>
+         </size>
+        </property>
+        <property name="font">
+         <font>
+          <pointsize>12</pointsize>
+          <bold>true</bold>
+         </font>
+        </property>
+        <property name="title">
+         <string>24G閰嶇疆</string>
+        </property>
+        <widget class="QLabel" name="label_50">
+         <property name="geometry">
+          <rect>
+           <x>15</x>
+           <y>270</y>
+           <width>131</width>
+           <height>21</height>
+          </rect>
+         </property>
+         <property name="font">
+          <font>
+           <pointsize>12</pointsize>
+          </font>
+         </property>
+         <property name="text">
+          <string>24G鍥炴姤鐜</string>
+         </property>
+        </widget>
+        <widget class="QComboBox" name="comboBox_24GRateReturn">
+         <property name="geometry">
+          <rect>
+           <x>148</x>
+           <y>270</y>
+           <width>91</width>
+           <height>29</height>
+          </rect>
+         </property>
+         <property name="font">
+          <font>
+           <pointsize>12</pointsize>
+          </font>
+         </property>
+         <item>
+          <property name="text">
+           <string>125HZ</string>
+          </property>
+         </item>
+         <item>
+          <property name="text">
+           <string>250HZ</string>
+          </property>
+         </item>
+        </widget>
+        <widget class="QGroupBox" name="groupBox_24GSearchDongleEnable">
+         <property name="enabled">
+          <bool>true</bool>
+         </property>
+         <property name="geometry">
+          <rect>
+           <x>10</x>
+           <y>198</y>
+           <width>241</width>
+           <height>61</height>
+          </rect>
+         </property>
+         <property name="font">
+          <font>
+           <pointsize>12</pointsize>
+           <bold>true</bold>
+          </font>
+         </property>
+         <property name="title">
+          <string>24G鎼滅储Dongle</string>
+         </property>
+         <property name="checkable">
+          <bool>true</bool>
+         </property>
+         <property name="checked">
+          <bool>false</bool>
+         </property>
+         <widget class="QLabel" name="label_51">
+          <property name="geometry">
+           <rect>
+            <x>20</x>
+            <y>30</y>
+            <width>151</width>
+            <height>29</height>
+           </rect>
+          </property>
+          <property name="font">
+           <font>
+            <pointsize>12</pointsize>
+           </font>
+          </property>
+          <property name="text">
+           <string>鎼滅储鏃堕棿(s)</string>
+          </property>
+         </widget>
+         <widget class="QLineEdit" name="lineEdit_24GSearchTimer">
+          <property name="geometry">
+           <rect>
+            <x>159</x>
+            <y>30</y>
+            <width>51</width>
+            <height>28</height>
+           </rect>
+          </property>
+         </widget>
+        </widget>
+        <widget class="QWidget" name="layoutWidget">
+         <property name="geometry">
+          <rect>
+           <x>14</x>
+           <y>33</y>
+           <width>251</width>
+           <height>157</height>
+          </rect>
+         </property>
+         <layout class="QGridLayout" name="gridLayout_8">
+          <item row="0" column="0">
+           <widget class="QCheckBox" name="checkBox_noPairs">
+            <property name="font">
+             <font>
+              <pointsize>12</pointsize>
+             </font>
+            </property>
+            <property name="text">
+             <string>鍏嶅鐮</string>
+            </property>
+            <property name="checked">
+             <bool>true</bool>
+            </property>
+           </widget>
+          </item>
+          <item row="1" column="0">
+           <widget class="QCheckBox" name="checkBox_poweronCombinationKeyPairCode">
+            <property name="font">
+             <font>
+              <pointsize>12</pointsize>
+             </font>
+            </property>
+            <property name="text">
+             <string>涓婄數缁勫悎閿鐮</string>
+            </property>
+           </widget>
+          </item>
+          <item row="2" column="0">
+           <layout class="QHBoxLayout" name="horizontalLayout_4">
+            <item>
+             <widget class="QLabel" name="label_35">
+              <property name="font">
+               <font>
+                <pointsize>12</pointsize>
+               </font>
+              </property>
+              <property name="text">
+               <string>瀵圭爜缁勫悎閿</string>
+              </property>
+             </widget>
+            </item>
+            <item>
+             <widget class="QComboBox" name="comboBox_keyPairCodeCombination">
+              <property name="font">
+               <font>
+                <pointsize>12</pointsize>
+               </font>
+              </property>
+              <property name="currentIndex">
+               <number>1</number>
+              </property>
+              <item>
+               <property name="text">
+                <string>宸﹀彸閿</string>
+               </property>
+              </item>
+              <item>
+               <property name="text">
+                <string>宸︿腑閿</string>
+               </property>
+              </item>
+              <item>
+               <property name="text">
+                <string>鍙充腑閿</string>
+               </property>
+              </item>
+              <item>
+               <property name="text">
+                <string>宸︿腑鍙抽敭</string>
+               </property>
+              </item>
+             </widget>
+            </item>
+           </layout>
+          </item>
+          <item row="3" column="0">
+           <widget class="QCheckBox" name="checkBox_theFirstFreeRightCode">
+            <property name="font">
+             <font>
+              <pointsize>12</pointsize>
+             </font>
+            </property>
+            <property name="text">
+             <string>棣栨鍏嶅鐮</string>
+            </property>
+           </widget>
+          </item>
+          <item row="4" column="0">
+           <widget class="QCheckBox" name="checkBox_24gFirst">
+            <property name="font">
+             <font>
+              <pointsize>12</pointsize>
+             </font>
+            </property>
+            <property name="text">
+             <string>24G浼樺厛</string>
+            </property>
+           </widget>
+          </item>
+         </layout>
+        </widget>
+       </widget>
+       <widget class="QGroupBox" name="groupBox_bluetoothBroadcastMode">
+        <property name="enabled">
+         <bool>true</bool>
+        </property>
+        <property name="geometry">
+         <rect>
+          <x>0</x>
+          <y>523</y>
+          <width>271</width>
+          <height>220</height>
+         </rect>
+        </property>
+        <property name="sizePolicy">
+         <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
+          <horstretch>0</horstretch>
+          <verstretch>0</verstretch>
+         </sizepolicy>
+        </property>
+        <property name="minimumSize">
+         <size>
+          <width>260</width>
+          <height>220</height>
+         </size>
+        </property>
+        <property name="maximumSize">
+         <size>
+          <width>1318</width>
+          <height>800</height>
+         </size>
+        </property>
+        <property name="font">
+         <font>
+          <pointsize>12</pointsize>
+          <bold>true</bold>
+         </font>
+        </property>
+        <property name="title">
+         <string>钃濈墮骞挎挱鏂瑰紡</string>
+        </property>
+        <widget class="QGroupBox" name="groupBox_keyCombinationBroadcast">
+         <property name="geometry">
+          <rect>
+           <x>11</x>
+           <y>124</y>
+           <width>234</width>
+           <height>71</height>
+          </rect>
+         </property>
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+         <property name="minimumSize">
+          <size>
+           <width>0</width>
+           <height>0</height>
+          </size>
+         </property>
+         <property name="font">
+          <font>
+           <pointsize>12</pointsize>
+           <bold>true</bold>
+          </font>
+         </property>
+         <property name="title">
+          <string>缁勫悎閿箍鎾</string>
+         </property>
+         <property name="flat">
+          <bool>false</bool>
+         </property>
+         <property name="checkable">
+          <bool>true</bool>
+         </property>
+         <property name="checked">
+          <bool>false</bool>
+         </property>
+         <layout class="QHBoxLayout" name="horizontalLayout">
+          <item>
+           <widget class="QLabel" name="label_32">
+            <property name="enabled">
+             <bool>false</bool>
+            </property>
+            <property name="font">
+             <font>
+              <pointsize>12</pointsize>
+             </font>
+            </property>
+            <property name="text">
+             <string>骞挎挱鏂瑰紡缁勫悎閿</string>
+            </property>
+           </widget>
+          </item>
+          <item>
+           <widget class="QComboBox" name="comboBox_radioModeKeyCombination">
+            <property name="enabled">
+             <bool>false</bool>
+            </property>
+            <property name="sizePolicy">
+             <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+              <horstretch>0</horstretch>
+              <verstretch>0</verstretch>
+             </sizepolicy>
+            </property>
+            <property name="minimumSize">
+             <size>
+              <width>100</width>
+              <height>30</height>
+             </size>
+            </property>
+            <property name="font">
+             <font>
+              <pointsize>12</pointsize>
+             </font>
+            </property>
+            <property name="currentIndex">
+             <number>1</number>
+            </property>
+            <item>
+             <property name="text">
+              <string>宸﹀彸閿</string>
+             </property>
+            </item>
+            <item>
+             <property name="text">
+              <string>宸︿腑閿</string>
+             </property>
+            </item>
+            <item>
+             <property name="text">
+              <string>鍙充腑閿</string>
+             </property>
+            </item>
+            <item>
+             <property name="text">
+              <string>宸︿腑鍙抽敭</string>
+             </property>
+            </item>
+           </widget>
+          </item>
+         </layout>
+        </widget>
+        <widget class="QCheckBox" name="checkBox_pbKeyLongPressBroadcast">
+         <property name="geometry">
+          <rect>
+           <x>11</x>
+           <y>31</y>
+           <width>125</width>
+           <height>27</height>
+          </rect>
+         </property>
+         <property name="font">
+          <font>
+           <pointsize>12</pointsize>
+          </font>
+         </property>
+         <property name="text">
+          <string>PB閿暱鎸夊箍鎾</string>
+         </property>
+        </widget>
+        <widget class="QCheckBox" name="checkBox_backToTheCompanyFailedToBroadcast">
+         <property name="geometry">
+          <rect>
+           <x>11</x>
+           <y>93</y>
+           <width>121</width>
+           <height>27</height>
+          </rect>
+         </property>
+         <property name="font">
+          <font>
+           <pointsize>12</pointsize>
+          </font>
+         </property>
+         <property name="text">
+          <string>鍥炶繛澶辫触骞挎挱</string>
+         </property>
+        </widget>
+        <widget class="QCheckBox" name="checkBox_longPressDpiToBroadcast">
+         <property name="geometry">
+          <rect>
+           <x>11</x>
+           <y>62</y>
+           <width>116</width>
+           <height>27</height>
+          </rect>
+         </property>
+         <property name="font">
+          <font>
+           <pointsize>12</pointsize>
+          </font>
+         </property>
+         <property name="text">
+          <string>闀挎寜DPI骞挎挱</string>
+         </property>
+        </widget>
+       </widget>
+       <widget class="QWidget" name="layoutWidget">
+        <property name="geometry">
+         <rect>
+          <x>11</x>
+          <y>27</y>
+          <width>261</width>
+          <height>181</height>
+         </rect>
+        </property>
+        <layout class="QGridLayout" name="gridLayout_6">
+         <item row="0" column="0">
+          <layout class="QHBoxLayout" name="horizontalLayout_5">
+           <item>
+            <widget class="QLabel" name="label_17">
+             <property name="font">
+              <font>
+               <pointsize>12</pointsize>
+              </font>
+             </property>
+             <property name="text">
+              <string>榛樿妯″紡</string>
+             </property>
+            </widget>
+           </item>
+           <item>
+            <widget class="QComboBox" name="comboBox_theDefaultMode">
+             <property name="font">
+              <font>
+               <pointsize>12</pointsize>
+              </font>
+             </property>
+             <item>
+              <property name="text">
+               <string>24G</string>
+              </property>
+             </item>
+             <item>
+              <property name="text">
+               <string>钃濈墮</string>
+              </property>
+             </item>
+            </widget>
+           </item>
+          </layout>
+         </item>
+         <item row="1" column="0">
+          <layout class="QHBoxLayout" name="horizontalLayout_6">
+           <item>
+            <widget class="QLabel" name="label_1">
+             <property name="font">
+              <font>
+               <pointsize>12</pointsize>
+              </font>
+             </property>
+             <property name="text">
+              <string>鏈澶ч氶亾鏁伴噺</string>
+             </property>
+            </widget>
+           </item>
+           <item>
+            <widget class="QComboBox" name="comboBox_maximumNumberOfChannels">
+             <property name="font">
+              <font>
+               <pointsize>12</pointsize>
+              </font>
+             </property>
+             <property name="currentIndex">
+              <number>2</number>
+             </property>
+             <item>
+              <property name="text">
+               <string>鍗曢氶亾</string>
+              </property>
+             </item>
+             <item>
+              <property name="text">
+               <string>鍙岄氶亾</string>
+              </property>
+             </item>
+             <item>
+              <property name="text">
+               <string>涓夐氶亾</string>
+              </property>
+             </item>
+            </widget>
+           </item>
+          </layout>
+         </item>
+         <item row="2" column="0">
+          <layout class="QHBoxLayout" name="horizontalLayout_7">
+           <item>
+            <widget class="QLabel" name="label_30">
+             <property name="font">
+              <font>
+               <pointsize>12</pointsize>
+              </font>
+             </property>
+             <property name="text">
+              <string>钃濈墮骞挎挱绫诲瀷</string>
+             </property>
+            </widget>
+           </item>
+           <item>
+            <widget class="QComboBox" name="comboBox_bluetoothBroadcastType">
+             <property name="font">
+              <font>
+               <pointsize>12</pointsize>
+              </font>
+             </property>
+             <property name="currentIndex">
+              <number>2</number>
+             </property>
+             <item>
+              <property name="text">
+               <string>鍗3.0</string>
+              </property>
+             </item>
+             <item>
+              <property name="text">
+               <string>鍗旴LE</string>
+              </property>
+             </item>
+             <item>
+              <property name="text">
+               <string>BLE+3.0</string>
+              </property>
+             </item>
+            </widget>
+           </item>
+          </layout>
+         </item>
+         <item row="3" column="0">
+          <layout class="QHBoxLayout" name="horizontalLayout_8">
+           <item>
+            <widget class="QLabel" name="label_31">
+             <property name="font">
+              <font>
+               <pointsize>12</pointsize>
+              </font>
+             </property>
+             <property name="text">
+              <string>妯″紡鍒囨崲</string>
+             </property>
+            </widget>
+           </item>
+           <item>
+            <widget class="QComboBox" name="comboBox_modeSwitch">
+             <property name="font">
+              <font>
+               <pointsize>12</pointsize>
+              </font>
+             </property>
+             <property name="currentIndex">
+              <number>1</number>
+             </property>
+             <item>
+              <property name="text">
+               <string>鏃</string>
+              </property>
+             </item>
+             <item>
+              <property name="text">
+               <string>闀挎寜DPI鍒囨崲</string>
+              </property>
+             </item>
+             <item>
+              <property name="text">
+               <string>PB閿垏鎹</string>
+              </property>
+             </item>
+             <item>
+              <property name="text">
+               <string>寮鍏冲垏鎹</string>
+              </property>
+             </item>
+            </widget>
+           </item>
+          </layout>
+         </item>
+         <item row="4" column="0">
+          <layout class="QHBoxLayout" name="horizontalLayout_9">
+           <item>
+            <widget class="QLabel" name="label_6">
+             <property name="font">
+              <font>
+               <pointsize>12</pointsize>
+              </font>
+             </property>
+             <property name="text">
+              <string>鏅舵尟棰戠巼</string>
+             </property>
+            </widget>
+           </item>
+           <item>
+            <widget class="QComboBox" name="comboBox_crystalFrequency">
+             <property name="font">
+              <font>
+               <pointsize>12</pointsize>
+              </font>
+             </property>
+             <property name="currentIndex">
+              <number>1</number>
+             </property>
+             <item>
+              <property name="text">
+               <string>16M</string>
+              </property>
+             </item>
+             <item>
+              <property name="text">
+               <string>24M</string>
+              </property>
+             </item>
+            </widget>
+           </item>
+          </layout>
+         </item>
+        </layout>
+       </widget>
+      </widget>
+     </item>
+    </layout>
+   </widget>
+   <widget class="QWidget" name="layoutWidget">
+    <property name="geometry">
+     <rect>
+      <x>290</x>
+      <y>8</y>
+      <width>391</width>
+      <height>761</height>
+     </rect>
+    </property>
+    <layout class="QGridLayout" name="gridLayout_2">
+     <item row="0" column="0">
+      <widget class="QGroupBox" name="groupBox_ledLampConfiguration">
+       <property name="sizePolicy">
+        <sizepolicy hsizetype="MinimumExpanding" vsizetype="Preferred">
+         <horstretch>0</horstretch>
+         <verstretch>0</verstretch>
+        </sizepolicy>
+       </property>
+       <property name="minimumSize">
+        <size>
+         <width>389</width>
+         <height>446</height>
+        </size>
+       </property>
+       <property name="font">
+        <font>
+         <pointsize>12</pointsize>
+         <bold>true</bold>
+        </font>
+       </property>
+       <property name="title">
+        <string>led鐏厤缃</string>
+       </property>
+       <widget class="QGroupBox" name="groupBox_ledLampEnable">
+        <property name="enabled">
+         <bool>true</bool>
+        </property>
+        <property name="geometry">
+         <rect>
+          <x>33</x>
+          <y>64</y>
+          <width>348</width>
+          <height>421</height>
+         </rect>
+        </property>
+        <property name="font">
+         <font>
+          <pointsize>12</pointsize>
+          <bold>true</bold>
+         </font>
+        </property>
+        <property name="title">
+         <string>LED鐏娇鑳</string>
+        </property>
+        <property name="checkable">
+         <bool>true</bool>
+        </property>
+        <property name="checked">
+         <bool>false</bool>
+        </property>
+        <widget class="QGroupBox" name="groupBox_theLampFunctionEnables">
+         <property name="enabled">
+          <bool>false</bool>
+         </property>
+         <property name="geometry">
+          <rect>
+           <x>0</x>
+           <y>209</y>
+           <width>351</width>
+           <height>201</height>
+          </rect>
+         </property>
+         <property name="font">
+          <font>
+           <pointsize>12</pointsize>
+           <bold>true</bold>
+          </font>
+         </property>
+         <property name="title">
+          <string>鐏晥鍔熻兘浣胯兘</string>
+         </property>
+         <widget class="QWidget" name="layoutWidget">
+          <property name="geometry">
+           <rect>
+            <x>20</x>
+            <y>30</y>
+            <width>321</width>
+            <height>161</height>
+           </rect>
+          </property>
+          <layout class="QVBoxLayout" name="verticalLayout_6">
+           <item>
+            <widget class="QCheckBox" name="checkBox_reconnectLampEfficiencyEnable">
+             <property name="font">
+              <font>
+               <pointsize>12</pointsize>
+              </font>
+             </property>
+             <property name="text">
+              <string>鍥炶繛鐏晥浣胯兘</string>
+             </property>
+            </widget>
+           </item>
+           <item>
+            <widget class="QCheckBox" name="checkBox_limitTheNumberOfFlickerTimesOfReconnect">
+             <property name="font">
+              <font>
+               <pointsize>12</pointsize>
+              </font>
+             </property>
+             <property name="text">
+              <string>鍥炶繛闂儊娆℃暟闄愬埗</string>
+             </property>
+            </widget>
+           </item>
+           <item>
+            <widget class="QCheckBox" name="checkBox_lowFlickerFrequencyLimit">
+             <property name="font">
+              <font>
+               <pointsize>12</pointsize>
+              </font>
+             </property>
+             <property name="text">
+              <string>浣庣數闂儊娆℃暟闄愬埗</string>
+             </property>
+            </widget>
+           </item>
+           <item>
+            <widget class="QCheckBox" name="checkBox_1io_to_2led_reuse">
+             <property name="font">
+              <font>
+               <pointsize>12</pointsize>
+              </font>
+             </property>
+             <property name="text">
+              <string>1涓狪O鎺2涓伅澶嶇敤</string>
+             </property>
+            </widget>
+           </item>
+           <item>
+            <layout class="QHBoxLayout" name="horizontalLayout_15">
+             <item>
+              <widget class="QLabel" name="label_16">
+               <property name="font">
+                <font>
+                 <pointsize>12</pointsize>
+                </font>
+               </property>
+               <property name="text">
+                <string>妯″紡鐏鐢</string>
+               </property>
+              </widget>
+             </item>
+             <item>
+              <widget class="QComboBox" name="comboBox_modeLampReuse">
+               <property name="font">
+                <font>
+                 <pointsize>12</pointsize>
+                </font>
+               </property>
+               <item>
+                <property name="text">
+                 <string>涓嶅鐢</string>
+                </property>
+               </item>
+               <item>
+                <property name="text">
+                 <string>浣庣數鐏笌妯″紡鐏鐢</string>
+                </property>
+               </item>
+               <item>
+                <property name="text">
+                 <string>DPI鐏笌妯″紡鐏鐢</string>
+                </property>
+               </item>
+               <item>
+                <property name="text">
+                 <string>DPI銆佷綆鐢典笌妯″紡鐏鐢</string>
+                </property>
+               </item>
+              </widget>
+             </item>
+            </layout>
+           </item>
+          </layout>
+         </widget>
+        </widget>
+        <widget class="QGroupBox" name="groupBox_ledGpioConfiguration">
+         <property name="enabled">
+          <bool>false</bool>
+         </property>
+         <property name="geometry">
+          <rect>
+           <x>0</x>
+           <y>32</y>
+           <width>351</width>
+           <height>171</height>
+          </rect>
+         </property>
+         <property name="font">
+          <font>
+           <pointsize>12</pointsize>
+           <bold>true</bold>
+          </font>
+         </property>
+         <property name="title">
+          <string>LED GPIO閰嶇疆</string>
+         </property>
+         <widget class="QWidget" name="layoutWidget">
+          <property name="geometry">
+           <rect>
+            <x>12</x>
+            <y>33</y>
+            <width>321</width>
+            <height>128</height>
+           </rect>
+          </property>
+          <layout class="QHBoxLayout" name="horizontalLayout_2">
+           <item>
+            <layout class="QVBoxLayout" name="verticalLayout_2">
+             <item>
+              <widget class="QLabel" name="label_logoLampGpio_24">
+               <property name="font">
+                <font>
+                 <pointsize>12</pointsize>
+                </font>
+               </property>
+               <property name="text">
+                <string>24G鐏</string>
+               </property>
+              </widget>
+             </item>
+             <item>
+              <widget class="QLabel" name="label_logoLampGpio_4">
+               <property name="font">
+                <font>
+                 <pointsize>12</pointsize>
+                </font>
+               </property>
+               <property name="text">
+                <string>钃濈墮1鐏</string>
+               </property>
+              </widget>
+             </item>
+             <item>
+              <widget class="QLabel" name="label_">
+               <property name="font">
+                <font>
+                 <pointsize>12</pointsize>
+                </font>
+               </property>
+               <property name="text">
+                <string>钃濈墮2鐏</string>
+               </property>
+              </widget>
+             </item>
+             <item>
+              <widget class="QLabel" name="label_logoLampGpio_6">
+               <property name="font">
+                <font>
+                 <pointsize>12</pointsize>
+                </font>
+               </property>
+               <property name="text">
+                <string>DPI鐏</string>
+               </property>
+              </widget>
+             </item>
+            </layout>
+           </item>
+           <item>
+            <spacer name="horizontalSpacer">
+             <property name="orientation">
+              <enum>Qt::Horizontal</enum>
+             </property>
+             <property name="sizeHint" stdset="0">
+              <size>
+               <width>40</width>
+               <height>20</height>
+              </size>
+             </property>
+            </spacer>
+           </item>
+           <item>
+            <layout class="QVBoxLayout" name="verticalLayout_4">
+             <item>
+              <widget class="QLineEdit" name="lineEdit_24gLight">
+               <property name="font">
+                <font>
+                 <pointsize>12</pointsize>
+                </font>
+               </property>
+               <property name="text">
+                <string>FF</string>
+               </property>
+               <property name="maxLength">
+                <number>32754</number>
+               </property>
+              </widget>
+             </item>
+             <item>
+              <widget class="QLineEdit" name="lineEdit_bluetooth1Lamp">
+               <property name="font">
+                <font>
+                 <pointsize>12</pointsize>
+                </font>
+               </property>
+               <property name="text">
+                <string>FF</string>
+               </property>
+              </widget>
+             </item>
+             <item>
+              <widget class="QLineEdit" name="lineEdit_bluetooth2Lamp">
+               <property name="font">
+                <font>
+                 <pointsize>12</pointsize>
+                </font>
+               </property>
+               <property name="text">
+                <string>FF</string>
+               </property>
+              </widget>
+             </item>
+             <item>
+              <widget class="QLineEdit" name="lineEdit_dpiLamp">
+               <property name="font">
+                <font>
+                 <pointsize>12</pointsize>
+                </font>
+               </property>
+               <property name="text">
+                <string>FF</string>
+               </property>
+              </widget>
+             </item>
+            </layout>
+           </item>
+           <item>
+            <spacer name="horizontalSpacer_2">
+             <property name="orientation">
+              <enum>Qt::Horizontal</enum>
+             </property>
+             <property name="sizeHint" stdset="0">
+              <size>
+               <width>40</width>
+               <height>20</height>
+              </size>
+             </property>
+            </spacer>
+           </item>
+           <item>
+            <layout class="QVBoxLayout" name="verticalLayout_5">
+             <item>
+              <widget class="QLabel" name="label_40">
+               <property name="font">
+                <font>
+                 <pointsize>12</pointsize>
+                </font>
+               </property>
+               <property name="text">
+                <string>锛坔ex锛</string>
+               </property>
+              </widget>
+             </item>
+             <item>
+              <widget class="QLabel" name="label_41">
+               <property name="font">
+                <font>
+                 <pointsize>12</pointsize>
+                </font>
+               </property>
+               <property name="text">
+                <string>锛坔ex锛</string>
+               </property>
+              </widget>
+             </item>
+             <item>
+              <widget class="QLabel" name="label_42">
+               <property name="font">
+                <font>
+                 <pointsize>12</pointsize>
+                </font>
+               </property>
+               <property name="text">
+                <string>锛坔ex锛</string>
+               </property>
+              </widget>
+             </item>
+             <item>
+              <widget class="QLabel" name="label_43">
+               <property name="font">
+                <font>
+                 <pointsize>12</pointsize>
+                </font>
+               </property>
+               <property name="text">
+                <string>锛坔ex锛</string>
+               </property>
+              </widget>
+             </item>
+            </layout>
+           </item>
+           <item>
+            <spacer name="horizontalSpacer_3">
+             <property name="orientation">
+              <enum>Qt::Horizontal</enum>
+             </property>
+             <property name="sizeHint" stdset="0">
+              <size>
+               <width>40</width>
+               <height>20</height>
+              </size>
+             </property>
+            </spacer>
+           </item>
+           <item>
+            <layout class="QVBoxLayout" name="verticalLayout_7">
+             <item>
+              <widget class="QCheckBox" name="checkBox_24GLedHighlight">
+               <property name="font">
+                <font>
+                 <pointsize>12</pointsize>
+                </font>
+               </property>
+               <property name="text">
+                <string>楂樹寒</string>
+               </property>
+              </widget>
+             </item>
+             <item>
+              <widget class="QCheckBox" name="checkBox_Bt1LedHighlight">
+               <property name="font">
+                <font>
+                 <pointsize>12</pointsize>
+                </font>
+               </property>
+               <property name="text">
+                <string>楂樹寒</string>
+               </property>
+              </widget>
+             </item>
+             <item>
+              <widget class="QCheckBox" name="checkBox_Bt2LedHighlight">
+               <property name="font">
+                <font>
+                 <pointsize>12</pointsize>
+                </font>
+               </property>
+               <property name="text">
+                <string>楂樹寒</string>
+               </property>
+              </widget>
+             </item>
+             <item>
+              <widget class="QCheckBox" name="checkBox_DpiLedHighlight">
+               <property name="font">
+                <font>
+                 <pointsize>12</pointsize>
+                </font>
+               </property>
+               <property name="text">
+                <string>楂樹寒</string>
+               </property>
+              </widget>
+             </item>
+            </layout>
+           </item>
+          </layout>
+         </widget>
+        </widget>
+       </widget>
+       <widget class="QGroupBox" name="groupBox_sensorConfiguration">
+        <property name="geometry">
+         <rect>
+          <x>0</x>
+          <y>482</y>
+          <width>389</width>
+          <height>261</height>
+         </rect>
+        </property>
+        <property name="sizePolicy">
+         <sizepolicy hsizetype="MinimumExpanding" vsizetype="Preferred">
+          <horstretch>0</horstretch>
+          <verstretch>0</verstretch>
+         </sizepolicy>
+        </property>
+        <property name="minimumSize">
+         <size>
+          <width>389</width>
+          <height>250</height>
+         </size>
+        </property>
+        <property name="maximumSize">
+         <size>
+          <width>16777215</width>
+          <height>400</height>
+         </size>
+        </property>
+        <property name="font">
+         <font>
+          <pointsize>12</pointsize>
+          <bold>true</bold>
+         </font>
+        </property>
+        <property name="contextMenuPolicy">
+         <enum>Qt::NoContextMenu</enum>
+        </property>
+        <property name="title">
+         <string>sensor閰嶇疆</string>
+        </property>
+        <widget class="QLabel" name="label_44">
+         <property name="geometry">
+          <rect>
+           <x>320</x>
+           <y>68</y>
+           <width>60</width>
+           <height>21</height>
+          </rect>
+         </property>
+         <property name="font">
+          <font>
+           <pointsize>12</pointsize>
+          </font>
+         </property>
+         <property name="text">
+          <string>锛坔ex锛</string>
+         </property>
+        </widget>
+        <widget class="QWidget" name="layoutWidget">
+         <property name="geometry">
+          <rect>
+           <x>20</x>
+           <y>30</y>
+           <width>291</width>
+           <height>197</height>
+          </rect>
+         </property>
+         <layout class="QHBoxLayout" name="horizontalLayout_13">
+          <item>
+           <layout class="QVBoxLayout" name="verticalLayout">
+            <item>
+             <widget class="QLabel" name="label">
+              <property name="font">
+               <font>
+                <pointsize>12</pointsize>
+               </font>
+              </property>
+              <property name="text">
+               <string>鏂瑰悜閫夋嫨绫诲瀷</string>
+              </property>
+             </widget>
+            </item>
+            <item>
+             <widget class="QLabel" name="label_8">
+              <property name="font">
+               <font>
+                <pointsize>12</pointsize>
+               </font>
+              </property>
+              <property name="text">
+               <string>鏂瑰悜閫夋嫨GPIO</string>
+              </property>
+             </widget>
+            </item>
+            <item>
+             <widget class="QLabel" name="label_9">
+              <property name="font">
+               <font>
+                <pointsize>12</pointsize>
+               </font>
+              </property>
+              <property name="text">
+               <string>鎺ュ湴鏂瑰悜</string>
+              </property>
+             </widget>
+            </item>
+            <item>
+             <widget class="QLabel" name="label_15">
+              <property name="font">
+               <font>
+                <pointsize>12</pointsize>
+               </font>
+              </property>
+              <property name="text">
+               <string>鎮┖鏂瑰悜</string>
+              </property>
+             </widget>
+            </item>
+            <item>
+             <widget class="QLabel" name="label_33">
+              <property name="font">
+               <font>
+                <pointsize>12</pointsize>
+               </font>
+              </property>
+              <property name="text">
+               <string>榛樿DPI妗ｄ綅</string>
+              </property>
+             </widget>
+            </item>
+            <item>
+             <widget class="QLabel" name="label_34">
+              <property name="font">
+               <font>
+                <pointsize>12</pointsize>
+               </font>
+              </property>
+              <property name="text">
+               <string>DPI妗ｄ綅鏁伴噺</string>
+              </property>
+             </widget>
+            </item>
+           </layout>
+          </item>
+          <item>
+           <spacer name="horizontalSpacer_16">
+            <property name="orientation">
+             <enum>Qt::Horizontal</enum>
+            </property>
+            <property name="sizeHint" stdset="0">
+             <size>
+              <width>40</width>
+              <height>20</height>
+             </size>
+            </property>
+           </spacer>
+          </item>
+          <item>
+           <layout class="QVBoxLayout" name="verticalLayout_3">
+            <item>
+             <widget class="QComboBox" name="comboBox_SensorTyoeSelect">
+              <property name="font">
+               <font>
+                <pointsize>12</pointsize>
+               </font>
+              </property>
+              <item>
+               <property name="text">
+                <string>1IO閫2鏂瑰悜</string>
+               </property>
+              </item>
+              <item>
+               <property name="text">
+                <string>ICE閫夋嫨</string>
+               </property>
+              </item>
+              <item>
+               <property name="text">
+                <string>1IO閫3鏂瑰悜</string>
+               </property>
+              </item>
+             </widget>
+            </item>
+            <item>
+             <widget class="QLineEdit" name="lineEdit_selectGpioForOrientation">
+              <property name="font">
+               <font>
+                <pointsize>12</pointsize>
+               </font>
+              </property>
+              <property name="contextMenuPolicy">
+               <enum>Qt::DefaultContextMenu</enum>
+              </property>
+              <property name="text">
+               <string>FF</string>
+              </property>
+             </widget>
+            </item>
+            <item>
+             <widget class="QComboBox" name="comboBox_directionOfGrounding">
+              <property name="font">
+               <font>
+                <pointsize>12</pointsize>
+               </font>
+              </property>
+              <property name="currentIndex">
+               <number>3</number>
+              </property>
+              <item>
+               <property name="text">
+                <string>3CLK</string>
+               </property>
+              </item>
+              <item>
+               <property name="text">
+                <string>6CLK</string>
+               </property>
+              </item>
+              <item>
+               <property name="text">
+                <string>9CLK</string>
+               </property>
+              </item>
+              <item>
+               <property name="text">
+                <string>12CLK</string>
+               </property>
+              </item>
+             </widget>
+            </item>
+            <item>
+             <widget class="QComboBox" name="comboBox_inTheAir">
+              <property name="font">
+               <font>
+                <pointsize>12</pointsize>
+               </font>
+              </property>
+              <property name="currentIndex">
+               <number>2</number>
+              </property>
+              <item>
+               <property name="text">
+                <string>3CLK</string>
+               </property>
+              </item>
+              <item>
+               <property name="text">
+                <string>6CLK</string>
+               </property>
+              </item>
+              <item>
+               <property name="text">
+                <string>9CLK</string>
+               </property>
+              </item>
+              <item>
+               <property name="text">
+                <string>12CLK</string>
+               </property>
+              </item>
+             </widget>
+            </item>
+            <item>
+             <widget class="QComboBox" name="comboBox_theDefaultDpiFile">
+              <property name="font">
+               <font>
+                <pointsize>12</pointsize>
+               </font>
+              </property>
+              <item>
+               <property name="text">
+                <string>1200</string>
+               </property>
+              </item>
+              <item>
+               <property name="text">
+                <string>1600</string>
+               </property>
+              </item>
+             </widget>
+            </item>
+            <item>
+             <widget class="QComboBox" name="comboBox_numberOfDpiGears">
+              <property name="font">
+               <font>
+                <pointsize>12</pointsize>
+               </font>
+              </property>
+              <item>
+               <property name="text">
+                <string>3妗</string>
+               </property>
+              </item>
+              <item>
+               <property name="text">
+                <string>4妗</string>
+               </property>
+              </item>
+             </widget>
+            </item>
+           </layout>
+          </item>
+         </layout>
+        </widget>
+       </widget>
+       <widget class="QWidget" name="layoutWidget">
+        <property name="geometry">
+         <rect>
+          <x>34</x>
+          <y>30</y>
+          <width>341</width>
+          <height>30</height>
+         </rect>
+        </property>
+        <layout class="QHBoxLayout" name="horizontalLayout_10">
+         <item>
+          <widget class="QLabel" name="label_logoLampGpio">
+           <property name="font">
+            <font>
+             <pointsize>12</pointsize>
+            </font>
+           </property>
+           <property name="text">
+            <string>Logo鐏</string>
+           </property>
+          </widget>
+         </item>
+         <item>
+          <spacer name="horizontalSpacer_13">
+           <property name="orientation">
+            <enum>Qt::Horizontal</enum>
+           </property>
+           <property name="sizeHint" stdset="0">
+            <size>
+             <width>40</width>
+             <height>20</height>
+            </size>
+           </property>
+          </spacer>
+         </item>
+         <item>
+          <widget class="QLineEdit" name="lineEdit_logoLampGpio">
+           <property name="font">
+            <font>
+             <pointsize>12</pointsize>
+            </font>
+           </property>
+          </widget>
+         </item>
+         <item>
+          <spacer name="horizontalSpacer_14">
+           <property name="orientation">
+            <enum>Qt::Horizontal</enum>
+           </property>
+           <property name="sizeHint" stdset="0">
+            <size>
+             <width>40</width>
+             <height>20</height>
+            </size>
+           </property>
+          </spacer>
+         </item>
+         <item>
+          <widget class="QLabel" name="label_45">
+           <property name="font">
+            <font>
+             <pointsize>12</pointsize>
+            </font>
+           </property>
+           <property name="text">
+            <string>锛坔ex锛</string>
+           </property>
+          </widget>
+         </item>
+         <item>
+          <spacer name="horizontalSpacer_15">
+           <property name="orientation">
+            <enum>Qt::Horizontal</enum>
+           </property>
+           <property name="sizeHint" stdset="0">
+            <size>
+             <width>40</width>
+             <height>20</height>
+            </size>
+           </property>
+          </spacer>
+         </item>
+         <item>
+          <widget class="QCheckBox" name="checkBox_LogoLedHighlight">
+           <property name="font">
+            <font>
+             <pointsize>12</pointsize>
+            </font>
+           </property>
+           <property name="text">
+            <string>楂樹寒</string>
+           </property>
+          </widget>
+         </item>
+        </layout>
+       </widget>
+      </widget>
+     </item>
+    </layout>
+   </widget>
+   <widget class="QWidget" name="layoutWidget">
+    <property name="geometry">
+     <rect>
+      <x>683</x>
+      <y>8</y>
+      <width>511</width>
+      <height>761</height>
+     </rect>
+    </property>
+    <layout class="QGridLayout" name="gridLayout_7">
+     <item row="0" column="0">
+      <widget class="QGroupBox" name="groupBox_keyIoConfiguration">
+       <property name="sizePolicy">
+        <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
+         <horstretch>0</horstretch>
+         <verstretch>0</verstretch>
+        </sizepolicy>
+       </property>
+       <property name="minimumSize">
+        <size>
+         <width>509</width>
+         <height>469</height>
+        </size>
+       </property>
+       <property name="font">
+        <font>
+         <pointsize>12</pointsize>
+         <bold>true</bold>
+        </font>
+       </property>
+       <property name="title">
+        <string>鎸夐敭IO閰嶇疆</string>
+       </property>
+       <widget class="QWidget" name="layoutWidget">
+        <property name="geometry">
+         <rect>
+          <x>9</x>
+          <y>32</y>
+          <width>493</width>
+          <height>561</height>
+         </rect>
+        </property>
+        <layout class="QGridLayout" name="gridLayout_4">
+         <item row="0" column="0">
+          <widget class="QGroupBox" name="groupBox_pressTheGpioButton">
+           <property name="sizePolicy">
+            <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
+             <horstretch>0</horstretch>
+             <verstretch>0</verstretch>
+            </sizepolicy>
+           </property>
+           <property name="minimumSize">
+            <size>
+             <width>491</width>
+             <height>251</height>
+            </size>
+           </property>
+           <property name="font">
+            <font>
+             <pointsize>12</pointsize>
+             <bold>true</bold>
+            </font>
+           </property>
+           <property name="title">
+            <string>鎸夐敭GPIO</string>
+           </property>
+           <widget class="QGroupBox" name="groupBox_pressTheButtonToEnable">
+            <property name="geometry">
+             <rect>
+              <x>0</x>
+              <y>270</y>
+              <width>491</width>
+              <height>301</height>
+             </rect>
+            </property>
+            <property name="font">
+             <font>
+              <pointsize>12</pointsize>
+              <bold>true</bold>
+             </font>
+            </property>
+            <property name="title">
+             <string>鎸夐敭浣胯兘</string>
+            </property>
+            <widget class="QGroupBox" name="groupBox_customKeyEnable">
+             <property name="enabled">
+              <bool>true</bool>
+             </property>
+             <property name="geometry">
+              <rect>
+               <x>12</x>
+               <y>124</y>
+               <width>481</width>
+               <height>151</height>
+              </rect>
+             </property>
+             <property name="sizePolicy">
+              <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
+               <horstretch>0</horstretch>
+               <verstretch>0</verstretch>
+              </sizepolicy>
+             </property>
+             <property name="minimumSize">
+              <size>
+               <width>371</width>
+               <height>103</height>
+              </size>
+             </property>
+             <property name="font">
+              <font>
+               <pointsize>12</pointsize>
+               <bold>true</bold>
+              </font>
+             </property>
+             <property name="title">
+              <string>鑷畾涔夋寜閿娇鑳</string>
+             </property>
+             <property name="checkable">
+              <bool>true</bool>
+             </property>
+             <property name="checked">
+              <bool>false</bool>
+             </property>
+             <widget class="QWidget" name="layoutWidget">
+              <property name="geometry">
+               <rect>
+                <x>30</x>
+                <y>32</y>
+                <width>336</width>
+                <height>100</height>
+               </rect>
+              </property>
+              <layout class="QVBoxLayout" name="verticalLayout_16">
+               <item>
+                <layout class="QVBoxLayout" name="verticalLayout_9">
+                 <item>
+                  <layout class="QHBoxLayout" name="horizontalLayout_38">
+                   <item>
+                    <widget class="QLabel" name="label_logoLampGpio_23">
+                     <property name="font">
+                      <font>
+                       <pointsize>12</pointsize>
+                      </font>
+                     </property>
+                     <property name="text">
+                      <string>鑷畾涔夋寜閿瓽PIO</string>
+                     </property>
+                    </widget>
+                   </item>
+                   <item>
+                    <widget class="QLineEdit" name="lineEdit_customKeyGpio">
+                     <property name="font">
+                      <font>
+                       <pointsize>12</pointsize>
+                      </font>
+                     </property>
+                    </widget>
+                   </item>
+                   <item>
+                    <widget class="QLabel" name="label_48">
+                     <property name="font">
+                      <font>
+                       <pointsize>12</pointsize>
+                      </font>
+                     </property>
+                     <property name="text">
+                      <string>锛坔ex锛</string>
+                     </property>
+                    </widget>
+                   </item>
+                  </layout>
+                 </item>
+                 <item>
+                  <layout class="QHBoxLayout" name="horizontalLayout_39">
+                   <item>
+                    <widget class="QLabel" name="label_22">
+                     <property name="font">
+                      <font>
+                       <pointsize>12</pointsize>
+                      </font>
+                     </property>
+                     <property name="text">
+                      <string>鑷畾涔夋寜閿姛鑳</string>
+                     </property>
+                    </widget>
+                   </item>
+                   <item>
+                    <widget class="QComboBox" name="comboBox_customButtonFunction">
+                     <property name="font">
+                      <font>
+                       <pointsize>12</pointsize>
+                      </font>
+                     </property>
+                     <item>
+                      <property name="text">
+                       <string>闊抽噺</string>
+                      </property>
+                     </item>
+                     <item>
+                      <property name="text">
+                       <string>鎴睆</string>
+                      </property>
+                     </item>
+                     <item>
+                      <property name="text">
+                       <string>鍏虫満</string>
+                      </property>
+                     </item>
+                     <item>
+                      <property name="text">
+                       <string>涓閿闈</string>
+                      </property>
+                     </item>
+                    </widget>
+                   </item>
+                  </layout>
+                 </item>
+                </layout>
+               </item>
+               <item>
+                <widget class="QCheckBox" name="checkBox_customKey_conn_Vdd">
+                 <property name="font">
+                  <font>
+                   <pointsize>12</pointsize>
+                  </font>
+                 </property>
+                 <property name="text">
+                  <string>鑷畾涔夋寜閿帴鐢垫簮</string>
+                 </property>
+                </widget>
+               </item>
+              </layout>
+             </widget>
+            </widget>
+            <widget class="QCheckBox" name="checkBox_DpiDoubleEnable">
+             <property name="geometry">
+              <rect>
+               <x>183</x>
+               <y>74</y>
+               <width>171</width>
+               <height>27</height>
+              </rect>
+             </property>
+             <property name="font">
+              <font>
+               <pointsize>12</pointsize>
+              </font>
+             </property>
+             <property name="text">
+              <string>鍙孌PI浣胯兘</string>
+             </property>
+            </widget>
+            <widget class="QCheckBox" name="checkBox_FierKey_Conn_Vdd">
+             <property name="geometry">
+              <rect>
+               <x>11</x>
+               <y>74</y>
+               <width>161</width>
+               <height>27</height>
+              </rect>
+             </property>
+             <property name="font">
+              <font>
+               <pointsize>12</pointsize>
+              </font>
+             </property>
+             <property name="text">
+              <string>鐏姏閿帴鐢垫簮</string>
+             </property>
+            </widget>
+            <widget class="QCheckBox" name="checkBox_DpiAnothorKey_Conn_Vdd">
+             <property name="geometry">
+              <rect>
+               <x>300</x>
+               <y>40</y>
+               <width>171</width>
+               <height>27</height>
+              </rect>
+             </property>
+             <property name="font">
+              <font>
+               <pointsize>12</pointsize>
+              </font>
+             </property>
+             <property name="text">
+              <string>DPI-閿帴鐢垫簮</string>
+             </property>
+            </widget>
+            <widget class="QCheckBox" name="checkBox_theDpiKeyIsGrounded">
+             <property name="geometry">
+              <rect>
+               <x>150</x>
+               <y>40</y>
+               <width>141</width>
+               <height>27</height>
+              </rect>
+             </property>
+             <property name="font">
+              <font>
+               <pointsize>12</pointsize>
+              </font>
+             </property>
+             <property name="text">
+              <string>DPI閿帴鍦</string>
+             </property>
+            </widget>
+            <widget class="QCheckBox" name="checkBox_pbKeyGrounding">
+             <property name="geometry">
+              <rect>
+               <x>11</x>
+               <y>41</y>
+               <width>131</width>
+               <height>27</height>
+              </rect>
+             </property>
+             <property name="font">
+              <font>
+               <pointsize>12</pointsize>
+              </font>
+             </property>
+             <property name="text">
+              <string>PB閿帴鍦</string>
+             </property>
+            </widget>
+           </widget>
+           <widget class="QLabel" name="label_logoLampGpio_20">
+            <property name="geometry">
+             <rect>
+              <x>1</x>
+              <y>230</y>
+              <width>109</width>
+              <height>28</height>
+             </rect>
+            </property>
+            <property name="font">
+             <font>
+              <pointsize>12</pointsize>
+             </font>
+            </property>
+            <property name="text">
+             <string>鐏姏閿</string>
+            </property>
+           </widget>
+           <widget class="QLineEdit" name="lineEdit_FireKey">
+            <property name="geometry">
+             <rect>
+              <x>118</x>
+              <y>230</y>
+              <width>49</width>
+              <height>28</height>
+             </rect>
+            </property>
+            <property name="font">
+             <font>
+              <pointsize>12</pointsize>
+             </font>
+            </property>
+            <property name="text">
+             <string>FF</string>
+            </property>
+           </widget>
+           <widget class="QLabel" name="label_47">
+            <property name="geometry">
+             <rect>
+              <x>175</x>
+              <y>230</y>
+              <width>71</width>
+              <height>21</height>
+             </rect>
+            </property>
+            <property name="font">
+             <font>
+              <pointsize>12</pointsize>
+             </font>
+            </property>
+            <property name="text">
+             <string>锛坔ex锛</string>
+            </property>
+           </widget>
+           <widget class="QWidget" name="layoutWidget">
+            <property name="geometry">
+             <rect>
+              <x>117</x>
+              <y>31</y>
+              <width>51</width>
+              <height>190</height>
+             </rect>
+            </property>
+            <layout class="QVBoxLayout" name="verticalLayout_10">
+             <item>
+              <widget class="QLineEdit" name="lineEdit_leftKey">
+               <property name="font">
+                <font>
+                 <pointsize>12</pointsize>
+                </font>
+               </property>
+               <property name="text">
+                <string>0B</string>
+               </property>
+              </widget>
+             </item>
+             <item>
+              <widget class="QLineEdit" name="lineEdit_middleKey">
+               <property name="font">
+                <font>
+                 <pointsize>12</pointsize>
+                </font>
+               </property>
+               <property name="text">
+                <string>0C</string>
+               </property>
+              </widget>
+             </item>
+             <item>
+              <widget class="QLineEdit" name="lineEdit_rightKey">
+               <property name="font">
+                <font>
+                 <pointsize>12</pointsize>
+                </font>
+               </property>
+               <property name="text">
+                <string>0D</string>
+               </property>
+              </widget>
+             </item>
+             <item>
+              <widget class="QLineEdit" name="lineEdit_pbKey">
+               <property name="font">
+                <font>
+                 <pointsize>12</pointsize>
+                </font>
+               </property>
+               <property name="text">
+                <string>FF</string>
+               </property>
+              </widget>
+             </item>
+             <item>
+              <widget class="QLineEdit" name="lineEdit_positiveRollerAKey">
+               <property name="font">
+                <font>
+                 <pointsize>12</pointsize>
+                </font>
+               </property>
+               <property name="text">
+                <string>05</string>
+               </property>
+              </widget>
+             </item>
+             <item>
+              <widget class="QLineEdit" name="lineEdit_positiveRollerBKey">
+               <property name="font">
+                <font>
+                 <pointsize>12</pointsize>
+                </font>
+               </property>
+               <property name="text">
+                <string>04</string>
+               </property>
+              </widget>
+             </item>
+            </layout>
+           </widget>
+           <widget class="QWidget" name="layoutWidget">
+            <property name="geometry">
+             <rect>
+              <x>268</x>
+              <y>31</y>
+              <width>91</width>
+              <height>191</height>
+             </rect>
+            </property>
+            <layout class="QVBoxLayout" name="verticalLayout_12">
+             <item>
+              <widget class="QLabel" name="label_logoLampGpio_11">
+               <property name="font">
+                <font>
+                 <pointsize>12</pointsize>
+                </font>
+               </property>
+               <property name="text">
+                <string>B4閿</string>
+               </property>
+              </widget>
+             </item>
+             <item>
+              <widget class="QLabel" name="label_logoLampGpio_13">
+               <property name="font">
+                <font>
+                 <pointsize>12</pointsize>
+                </font>
+               </property>
+               <property name="text">
+                <string>B5閿</string>
+               </property>
+              </widget>
+             </item>
+             <item>
+              <widget class="QLabel" name="label_logoLampGpio_12">
+               <property name="font">
+                <font>
+                 <pointsize>12</pointsize>
+                </font>
+               </property>
+               <property name="text">
+                <string>DPI+閿</string>
+               </property>
+              </widget>
+             </item>
+             <item>
+              <widget class="QLabel" name="label_logoLampGpio_21">
+               <property name="font">
+                <font>
+                 <pointsize>12</pointsize>
+                </font>
+               </property>
+               <property name="text">
+                <string>DPI-閿</string>
+               </property>
+              </widget>
+             </item>
+             <item>
+              <widget class="QLabel" name="label_logoLampGpio_16">
+               <property name="font">
+                <font>
+                 <pointsize>12</pointsize>
+                </font>
+               </property>
+               <property name="text">
+                <string>鍏叡鑴</string>
+               </property>
+              </widget>
+             </item>
+             <item>
+              <widget class="QLabel" name="label_logoLampGpio_19">
+               <property name="font">
+                <font>
+                 <pointsize>12</pointsize>
+                </font>
+               </property>
+               <property name="text">
+                <string>鎷ㄥ姩寮鍏</string>
+               </property>
+              </widget>
+             </item>
+            </layout>
+           </widget>
+           <widget class="QWidget" name="layoutWidget">
+            <property name="geometry">
+             <rect>
+              <x>1</x>
+              <y>31</y>
+              <width>111</width>
+              <height>191</height>
+             </rect>
+            </property>
+            <layout class="QVBoxLayout" name="verticalLayout_8">
+             <item>
+              <widget class="QLabel" name="label_logoLampGpio_3">
+               <property name="font">
+                <font>
+                 <pointsize>12</pointsize>
+                </font>
+               </property>
+               <property name="text">
+                <string>宸﹂敭</string>
+               </property>
+              </widget>
+             </item>
+             <item>
+              <widget class="QLabel" name="label_logoLampGpio_5">
+               <property name="font">
+                <font>
+                 <pointsize>12</pointsize>
+                </font>
+               </property>
+               <property name="text">
+                <string>涓敭</string>
+               </property>
+              </widget>
+             </item>
+             <item>
+              <widget class="QLabel" name="label_logoLampGpio_7">
+               <property name="font">
+                <font>
+                 <pointsize>12</pointsize>
+                </font>
+               </property>
+               <property name="text">
+                <string>鍙抽敭</string>
+               </property>
+              </widget>
+             </item>
+             <item>
+              <widget class="QLabel" name="label_logoLampGpio_14">
+               <property name="font">
+                <font>
+                 <pointsize>12</pointsize>
+                </font>
+               </property>
+               <property name="text">
+                <string>PB閿</string>
+               </property>
+              </widget>
+             </item>
+             <item>
+              <widget class="QLabel" name="label_logoLampGpio_18">
+               <property name="font">
+                <font>
+                 <pointsize>12</pointsize>
+                </font>
+               </property>
+               <property name="text">
+                <string>姝ｆ粴杞產閿</string>
+               </property>
+              </widget>
+             </item>
+             <item>
+              <widget class="QLabel" name="label_logoLampGpio_15">
+               <property name="font">
+                <font>
+                 <pointsize>12</pointsize>
+                </font>
+               </property>
+               <property name="text">
+                <string>姝ｆ粴杞産閿</string>
+               </property>
+              </widget>
+             </item>
+            </layout>
+           </widget>
+           <widget class="QWidget" name="layoutWidget">
+            <property name="geometry">
+             <rect>
+              <x>418</x>
+              <y>31</y>
+              <width>71</width>
+              <height>191</height>
+             </rect>
+            </property>
+            <layout class="QVBoxLayout" name="verticalLayout_14">
+             <item>
+              <widget class="QLabel" name="label_39">
+               <property name="font">
+                <font>
+                 <pointsize>12</pointsize>
+                </font>
+               </property>
+               <property name="text">
+                <string>锛坔ex锛</string>
+               </property>
+              </widget>
+             </item>
+             <item>
+              <widget class="QLabel" name="label_38">
+               <property name="font">
+                <font>
+                 <pointsize>12</pointsize>
+                </font>
+               </property>
+               <property name="text">
+                <string>锛坔ex锛</string>
+               </property>
+              </widget>
+             </item>
+             <item>
+              <widget class="QLabel" name="label_37">
+               <property name="font">
+                <font>
+                 <pointsize>12</pointsize>
+                </font>
+               </property>
+               <property name="text">
+                <string>锛坔ex锛</string>
+               </property>
+              </widget>
+             </item>
+             <item>
+              <widget class="QLabel" name="label_49">
+               <property name="font">
+                <font>
+                 <pointsize>12</pointsize>
+                </font>
+               </property>
+               <property name="text">
+                <string>锛坔ex锛</string>
+               </property>
+              </widget>
+             </item>
+             <item>
+              <widget class="QLabel" name="label_36">
+               <property name="font">
+                <font>
+                 <pointsize>12</pointsize>
+                </font>
+               </property>
+               <property name="text">
+                <string>锛坔ex锛</string>
+               </property>
+              </widget>
+             </item>
+             <item>
+              <widget class="QLabel" name="label_28">
+               <property name="font">
+                <font>
+                 <pointsize>12</pointsize>
+                </font>
+               </property>
+               <property name="text">
+                <string>锛坔ex锛</string>
+               </property>
+              </widget>
+             </item>
+            </layout>
+           </widget>
+           <widget class="QWidget" name="layoutWidget">
+            <property name="geometry">
+             <rect>
+              <x>363</x>
+              <y>31</y>
+              <width>51</width>
+              <height>190</height>
+             </rect>
+            </property>
+            <layout class="QVBoxLayout" name="verticalLayout_13">
+             <item>
+              <widget class="QLineEdit" name="lineEdit_b4Key">
+               <property name="font">
+                <font>
+                 <pointsize>12</pointsize>
+                </font>
+               </property>
+               <property name="text">
+                <string>0B</string>
+               </property>
+              </widget>
+             </item>
+             <item>
+              <widget class="QLineEdit" name="lineEdit_b5Key">
+               <property name="font">
+                <font>
+                 <pointsize>12</pointsize>
+                </font>
+               </property>
+               <property name="text">
+                <string>0B</string>
+               </property>
+              </widget>
+             </item>
+             <item>
+              <widget class="QLineEdit" name="lineEdit_dpiAddKey">
+               <property name="font">
+                <font>
+                 <pointsize>12</pointsize>
+                </font>
+               </property>
+               <property name="text">
+                <string>0D</string>
+               </property>
+              </widget>
+             </item>
+             <item>
+              <widget class="QLineEdit" name="lineEdit_DpiAnotherKey">
+               <property name="font">
+                <font>
+                 <pointsize>12</pointsize>
+                </font>
+               </property>
+               <property name="text">
+                <string>FF</string>
+               </property>
+              </widget>
+             </item>
+             <item>
+              <widget class="QLineEdit" name="lineEdit_publicFeet">
+               <property name="font">
+                <font>
+                 <pointsize>12</pointsize>
+                </font>
+               </property>
+               <property name="text">
+                <string>FF</string>
+               </property>
+              </widget>
+             </item>
+             <item>
+              <widget class="QLineEdit" name="lineEdit_flipTheSwitch">
+               <property name="font">
+                <font>
+                 <pointsize>12</pointsize>
+                </font>
+               </property>
+               <property name="text">
+                <string>FF</string>
+               </property>
+              </widget>
+             </item>
+            </layout>
+           </widget>
+           <widget class="QWidget" name="layoutWidget">
+            <property name="geometry">
+             <rect>
+              <x>173</x>
+              <y>31</y>
+              <width>71</width>
+              <height>191</height>
+             </rect>
+            </property>
+            <layout class="QVBoxLayout" name="verticalLayout_11">
+             <item>
+              <widget class="QLabel" name="label_46">
+               <property name="font">
+                <font>
+                 <pointsize>12</pointsize>
+                </font>
+               </property>
+               <property name="text">
+                <string>锛坔ex锛</string>
+               </property>
+              </widget>
+             </item>
+             <item>
+              <widget class="QLabel" name="label_24">
+               <property name="font">
+                <font>
+                 <pointsize>12</pointsize>
+                </font>
+               </property>
+               <property name="text">
+                <string>锛坔ex锛</string>
+               </property>
+              </widget>
+             </item>
+             <item>
+              <widget class="QLabel" name="label_25">
+               <property name="font">
+                <font>
+                 <pointsize>12</pointsize>
+                </font>
+               </property>
+               <property name="text">
+                <string>锛坔ex锛</string>
+               </property>
+              </widget>
+             </item>
+             <item>
+              <widget class="QLabel" name="label_26">
+               <property name="font">
+                <font>
+                 <pointsize>12</pointsize>
+                </font>
+               </property>
+               <property name="text">
+                <string>锛坔ex锛</string>
+               </property>
+              </widget>
+             </item>
+             <item>
+              <widget class="QLabel" name="label_27">
+               <property name="font">
+                <font>
+                 <pointsize>12</pointsize>
+                </font>
+               </property>
+               <property name="text">
+                <string>锛坔ex锛</string>
+               </property>
+              </widget>
+             </item>
+             <item>
+              <widget class="QLabel" name="label_29">
+               <property name="font">
+                <font>
+                 <pointsize>12</pointsize>
+                </font>
+               </property>
+               <property name="text">
+                <string>锛坔ex锛</string>
+               </property>
+              </widget>
+             </item>
+            </layout>
+           </widget>
+          </widget>
+         </item>
+        </layout>
+       </widget>
+      </widget>
+     </item>
+    </layout>
+   </widget>
+   <widget class="QWidget" name="layoutWidget">
+    <property name="geometry">
+     <rect>
+      <x>0</x>
+      <y>0</y>
+      <width>2</width>
+      <height>2</height>
+     </rect>
+    </property>
+    <layout class="QHBoxLayout" name="horizontalLayout_14"/>
+   </widget>
+  </widget>
+  <widget class="QMenuBar" name="menubar">
+   <property name="geometry">
+    <rect>
+     <x>0</x>
+     <y>0</y>
+     <width>1200</width>
+     <height>17</height>
+    </rect>
+   </property>
+  </widget>
+  <widget class="QStatusBar" name="statusbar"/>
+ </widget>
+ <resources/>
+ <connections/>
+</ui>
Index: png2icon.py
===================================================================
--- /YC1308AC/branch/mouse_project/TestTools/mous-config-tool-qt/png2icon.py	(nonexistent)
+++ /YC1308AC/branch/mouse_project/TestTools/mous-config-tool-qt/png2icon.py	(working copy)
@@ -0,0 +1,11 @@
+from PIL import Image
+
+
+def png2icon(name):
+    # 鎵撳紑PNG鍥惧儚
+    png_image = Image.open(name+'.png')
+
+    # 灏哖NG鍥惧儚淇濆瓨涓篒CO鏂囦欢
+    png_image.save(name+'.ico', format='ICO', sizes=[(32, 32)])  # 鎸囧畾鍥炬爣澶у皬
+
+png2icon("keyboard")
\ No newline at end of file
Index: qt.conf
===================================================================
--- /YC1308AC/branch/mouse_project/TestTools/mous-config-tool-qt/qt.conf	(nonexistent)
+++ /YC1308AC/branch/mouse_project/TestTools/mous-config-tool-qt/qt.conf	(working copy)
@@ -0,0 +1,2 @@
+[Platforms]
+WindowsArguments = dpiawareness=0
\ No newline at end of file
Index: res.qrc
===================================================================
--- /YC1308AC/branch/mouse_project/TestTools/mous-config-tool-qt/res.qrc	(nonexistent)
+++ /YC1308AC/branch/mouse_project/TestTools/mous-config-tool-qt/res.qrc	(working copy)
@@ -0,0 +1,8 @@
+<RCC>
+    <qresource prefix="/img">
+        <file>guanbi.png</file>
+        <file>keyboard.ico</file>
+        <file>keyboard.png</file>
+        <file>logo.ico</file>
+    </qresource>
+</RCC>
Index: stringConvertor.py
===================================================================
--- /YC1308AC/branch/mouse_project/TestTools/mous-config-tool-qt/stringConvertor.py	(nonexistent)
+++ /YC1308AC/branch/mouse_project/TestTools/mous-config-tool-qt/stringConvertor.py	(working copy)
@@ -0,0 +1,46 @@
+def ascii2hex(ascii_str):
+    """灏咥SCII瀛楃杞崲涓哄崄鍏繘鍒跺瓧绗︿覆
+
+    Args:
+        ascii_str: _description_
+    """
+    result =""
+    for ascii_char in ascii_str:
+        hex_string = hex(ord(ascii_char))
+        result+=hex_string
+    print(result)
+    return result
+
+
+def hex2ascii(hex_str):
+    """灏嗗崄鍏繘鍒跺瓧绗︿覆杞崲涓篈SCII瀛楃
+
+    Args:
+        ascii_str: _description_
+    """
+    result =""
+
+    for i in range(len(hex_str)//2):
+        hex_string = hex_str[i*2:(i+1)*2]
+        ascii_char = chr(int(hex_string, 16))
+        result+=ascii_char
+    print(result)
+    return result
+
+
+def hex_string_reverse(hex_string):
+
+    # 灏嗗崄鍏繘鍒跺瓧绗︿覆鍒嗗壊鎴愬瓧鑺
+    byte_list = [hex_string[i:i+2] for i in range(0, len(hex_string), 2)]
+
+    # 鍙嶈浆瀛楄妭鍒楄〃
+    byte_list.reverse()
+
+    # 閲嶆柊缁勫悎鍙嶈浆鍚庣殑瀛楄妭鍒楄〃涓哄瓧绗︿覆
+    reversed_hex_string = ''.join(byte_list)
+
+    print(reversed_hex_string)
+    return reversed_hex_string
+
+hex2ascii(("0b4254332e30204d6f757365"))
+hex2ascii(("4254332e30204d6f757365"))
Index: ui_Ttile1.h
===================================================================
--- /YC1308AC/branch/mouse_project/TestTools/mous-config-tool-qt/ui_Ttile1.h	(nonexistent)
+++ /YC1308AC/branch/mouse_project/TestTools/mous-config-tool-qt/ui_Ttile1.h	(working copy)
@@ -0,0 +1,240 @@
+/********************************************************************************
+** Form generated from reading UI file 'Ttile1.ui'
+**
+** Created by: Qt User Interface Compiler version 5.15.2
+**
+** WARNING! All changes made in this file will be lost when recompiling UI file!
+********************************************************************************/
+
+#ifndef UI_TTILE1_H
+#define UI_TTILE1_H
+
+#include <QtCore/QVariant>
+#include <QtGui/QIcon>
+#include <QtWidgets/QApplication>
+#include <QtWidgets/QGridLayout>
+#include <QtWidgets/QGroupBox>
+#include <QtWidgets/QLabel>
+#include <QtWidgets/QLineEdit>
+#include <QtWidgets/QMainWindow>
+#include <QtWidgets/QPushButton>
+#include <QtWidgets/QSpacerItem>
+#include <QtWidgets/QWidget>
+
+QT_BEGIN_NAMESPACE
+
+class Ui_Ttile1Class
+{
+public:
+    QWidget *centralWidget;
+    QGridLayout *gridLayout_3;
+    QGroupBox *groupBox;
+    QGridLayout *gridLayout;
+    QGridLayout *gridLayout_4;
+    QLabel *label;
+    QSpacerItem *horizontalSpacer;
+    QLabel *label_2;
+    QSpacerItem *horizontalSpacer_2;
+    QPushButton *pushButton;
+    QGroupBox *groupBox_3;
+    QGridLayout *gridLayout_2;
+    QGridLayout *gridLayout_5;
+    QPushButton *pushButton_chooseFile;
+    QPushButton *pushButton_genFile;
+    QSpacerItem *horizontalSpacer_3;
+    QLineEdit *lineEdit_filePath;
+    QGroupBox *groupBox_2;
+
+    void setupUi(QMainWindow *Ttile1Class)
+    {
+        if (Ttile1Class->objectName().isEmpty())
+            Ttile1Class->setObjectName(QString::fromUtf8("Ttile1Class"));
+        Ttile1Class->setWindowModality(Qt::WindowModal);
+        Ttile1Class->resize(1205, 830);
+        QSizePolicy sizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding);
+        sizePolicy.setHorizontalStretch(0);
+        sizePolicy.setVerticalStretch(0);
+        sizePolicy.setHeightForWidth(Ttile1Class->sizePolicy().hasHeightForWidth());
+        Ttile1Class->setSizePolicy(sizePolicy);
+        Ttile1Class->setMinimumSize(QSize(1205, 830));
+        Ttile1Class->setMaximumSize(QSize(1205, 830));
+        QFont font;
+        font.setPointSize(12);
+        Ttile1Class->setFont(font);
+        Ttile1Class->setContextMenuPolicy(Qt::CustomContextMenu);
+        Ttile1Class->setStyleSheet(QString::fromUtf8(""));
+        centralWidget = new QWidget(Ttile1Class);
+        centralWidget->setObjectName(QString::fromUtf8("centralWidget"));
+        QSizePolicy sizePolicy1(QSizePolicy::Expanding, QSizePolicy::Preferred);
+        sizePolicy1.setHorizontalStretch(0);
+        sizePolicy1.setVerticalStretch(0);
+        sizePolicy1.setHeightForWidth(centralWidget->sizePolicy().hasHeightForWidth());
+        centralWidget->setSizePolicy(sizePolicy1);
+        centralWidget->setMinimumSize(QSize(1205, 30));
+        centralWidget->setMaximumSize(QSize(1205, 16777215));
+        centralWidget->setContextMenuPolicy(Qt::CustomContextMenu);
+        centralWidget->setStyleSheet(QString::fromUtf8(""));
+        gridLayout_3 = new QGridLayout(centralWidget);
+        gridLayout_3->setSpacing(6);
+        gridLayout_3->setContentsMargins(11, 11, 11, 11);
+        gridLayout_3->setObjectName(QString::fromUtf8("gridLayout_3"));
+        groupBox = new QGroupBox(centralWidget);
+        groupBox->setObjectName(QString::fromUtf8("groupBox"));
+        QSizePolicy sizePolicy2(QSizePolicy::Preferred, QSizePolicy::Fixed);
+        sizePolicy2.setHorizontalStretch(0);
+        sizePolicy2.setVerticalStretch(0);
+        sizePolicy2.setHeightForWidth(groupBox->sizePolicy().hasHeightForWidth());
+        groupBox->setSizePolicy(sizePolicy2);
+        groupBox->setMinimumSize(QSize(0, 30));
+        groupBox->setMaximumSize(QSize(1348, 30));
+        groupBox->setContextMenuPolicy(Qt::CustomContextMenu);
+        groupBox->setStyleSheet(QString::fromUtf8(""));
+        gridLayout = new QGridLayout(groupBox);
+        gridLayout->setSpacing(0);
+        gridLayout->setContentsMargins(11, 11, 11, 11);
+        gridLayout->setObjectName(QString::fromUtf8("gridLayout"));
+        gridLayout->setContentsMargins(0, 0, 0, 0);
+        gridLayout_4 = new QGridLayout();
+        gridLayout_4->setSpacing(6);
+        gridLayout_4->setObjectName(QString::fromUtf8("gridLayout_4"));
+        gridLayout_4->setContentsMargins(-1, 0, -1, -1);
+        label = new QLabel(groupBox);
+        label->setObjectName(QString::fromUtf8("label"));
+        label->setMinimumSize(QSize(30, 30));
+        label->setMaximumSize(QSize(30, 30));
+        label->setLayoutDirection(Qt::LeftToRight);
+        label->setStyleSheet(QString::fromUtf8("background:rgb(255, 255, 255)"));
+        label->setPixmap(QPixmap(QString::fromUtf8(":/img/keyboard.png")));
+        label->setAlignment(Qt::AlignCenter);
+
+        gridLayout_4->addWidget(label, 0, 0, 1, 1);
+
+        horizontalSpacer = new QSpacerItem(138, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
+
+        gridLayout_4->addItem(horizontalSpacer, 0, 1, 1, 1);
+
+        label_2 = new QLabel(groupBox);
+        label_2->setObjectName(QString::fromUtf8("label_2"));
+        QFont font1;
+        font1.setPointSize(12);
+        font1.setBold(true);
+        label_2->setFont(font1);
+        label_2->setStyleSheet(QString::fromUtf8(""));
+        label_2->setTextFormat(Qt::AutoText);
+
+        gridLayout_4->addWidget(label_2, 0, 2, 1, 1);
+
+        horizontalSpacer_2 = new QSpacerItem(138, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
+
+        gridLayout_4->addItem(horizontalSpacer_2, 0, 3, 1, 1);
+
+        pushButton = new QPushButton(groupBox);
+        pushButton->setObjectName(QString::fromUtf8("pushButton"));
+        QSizePolicy sizePolicy3(QSizePolicy::Fixed, QSizePolicy::Fixed);
+        sizePolicy3.setHorizontalStretch(0);
+        sizePolicy3.setVerticalStretch(0);
+        sizePolicy3.setHeightForWidth(pushButton->sizePolicy().hasHeightForWidth());
+        pushButton->setSizePolicy(sizePolicy3);
+        pushButton->setMinimumSize(QSize(30, 0));
+        pushButton->setMaximumSize(QSize(30, 16777215));
+        pushButton->setStyleSheet(QString::fromUtf8("\n"
+"background-color: #ba4933;\n"
+"selection-color: rgb(85, 255, 255);\n"
+""));
+        QIcon icon;
+        icon.addFile(QString::fromUtf8("guanbi.png"), QSize(), QIcon::Normal, QIcon::Off);
+        pushButton->setIcon(icon);
+        pushButton->setIconSize(QSize(24, 24));
+        pushButton->setFlat(true);
+
+        gridLayout_4->addWidget(pushButton, 0, 4, 1, 1);
+
+
+        gridLayout->addLayout(gridLayout_4, 0, 0, 1, 1);
+
+
+        gridLayout_3->addWidget(groupBox, 0, 0, 1, 1);
+
+        groupBox_3 = new QGroupBox(centralWidget);
+        groupBox_3->setObjectName(QString::fromUtf8("groupBox_3"));
+        sizePolicy2.setHeightForWidth(groupBox_3->sizePolicy().hasHeightForWidth());
+        groupBox_3->setSizePolicy(sizePolicy2);
+        groupBox_3->setMinimumSize(QSize(0, 32));
+        groupBox_3->setMaximumSize(QSize(1200, 32));
+        groupBox_3->setContextMenuPolicy(Qt::CustomContextMenu);
+        groupBox_3->setStyleSheet(QString::fromUtf8(""));
+        gridLayout_2 = new QGridLayout(groupBox_3);
+        gridLayout_2->setSpacing(6);
+        gridLayout_2->setContentsMargins(11, 11, 11, 11);
+        gridLayout_2->setObjectName(QString::fromUtf8("gridLayout_2"));
+        gridLayout_2->setContentsMargins(0, 0, 0, 0);
+        gridLayout_5 = new QGridLayout();
+        gridLayout_5->setSpacing(6);
+        gridLayout_5->setObjectName(QString::fromUtf8("gridLayout_5"));
+        pushButton_chooseFile = new QPushButton(groupBox_3);
+        pushButton_chooseFile->setObjectName(QString::fromUtf8("pushButton_chooseFile"));
+
+        gridLayout_5->addWidget(pushButton_chooseFile, 0, 0, 1, 1);
+
+        pushButton_genFile = new QPushButton(groupBox_3);
+        pushButton_genFile->setObjectName(QString::fromUtf8("pushButton_genFile"));
+
+        gridLayout_5->addWidget(pushButton_genFile, 0, 1, 1, 1);
+
+        horizontalSpacer_3 = new QSpacerItem(20, 20, QSizePolicy::Maximum, QSizePolicy::Minimum);
+
+        gridLayout_5->addItem(horizontalSpacer_3, 0, 2, 1, 1);
+
+        lineEdit_filePath = new QLineEdit(groupBox_3);
+        lineEdit_filePath->setObjectName(QString::fromUtf8("lineEdit_filePath"));
+
+        gridLayout_5->addWidget(lineEdit_filePath, 0, 3, 1, 1);
+
+
+        gridLayout_2->addLayout(gridLayout_5, 0, 0, 1, 1);
+
+
+        gridLayout_3->addWidget(groupBox_3, 1, 0, 1, 1);
+
+        groupBox_2 = new QGroupBox(centralWidget);
+        groupBox_2->setObjectName(QString::fromUtf8("groupBox_2"));
+        QSizePolicy sizePolicy4(QSizePolicy::Preferred, QSizePolicy::Preferred);
+        sizePolicy4.setHorizontalStretch(0);
+        sizePolicy4.setVerticalStretch(0);
+        sizePolicy4.setHeightForWidth(groupBox_2->sizePolicy().hasHeightForWidth());
+        groupBox_2->setSizePolicy(sizePolicy4);
+        groupBox_2->setMinimumSize(QSize(1200, 0));
+        groupBox_2->setMaximumSize(QSize(1200, 16777215));
+
+        gridLayout_3->addWidget(groupBox_2, 2, 0, 1, 1);
+
+        Ttile1Class->setCentralWidget(centralWidget);
+
+        retranslateUi(Ttile1Class);
+        QObject::connect(pushButton, SIGNAL(clicked()), Ttile1Class, SLOT(close()));
+
+        QMetaObject::connectSlotsByName(Ttile1Class);
+    } // setupUi
+
+    void retranslateUi(QMainWindow *Ttile1Class)
+    {
+        Ttile1Class->setWindowTitle(QCoreApplication::translate("Ttile1Class", "\351\274\240\346\240\207\351\205\215\347\275\256\345\267\245\345\205\267", nullptr));
+        groupBox->setTitle(QString());
+        label->setText(QString());
+        label_2->setText(QCoreApplication::translate("Ttile1Class", "\351\274\240\346\240\207\351\205\215\347\275\256\345\267\245\345\205\267 v1.3.0", nullptr));
+        pushButton->setText(QString());
+        groupBox_3->setTitle(QString());
+        pushButton_chooseFile->setText(QCoreApplication::translate("Ttile1Class", "\351\200\211\346\213\251\345\233\272\344\273\266", nullptr));
+        pushButton_genFile->setText(QCoreApplication::translate("Ttile1Class", "\347\224\237\346\210\220\345\233\272\344\273\266", nullptr));
+        groupBox_2->setTitle(QString());
+    } // retranslateUi
+
+};
+
+namespace Ui {
+    class Ttile1Class: public Ui_Ttile1Class {};
+} // namespace Ui
+
+QT_END_NAMESPACE
+
+#endif // UI_TTILE1_H
Index: ui_advancedConfigurationDlg.h
===================================================================
--- /YC1308AC/branch/mouse_project/TestTools/mous-config-tool-qt/ui_advancedConfigurationDlg.h	(nonexistent)
+++ /YC1308AC/branch/mouse_project/TestTools/mous-config-tool-qt/ui_advancedConfigurationDlg.h	(working copy)
@@ -0,0 +1,1012 @@
+/********************************************************************************
+** Form generated from reading UI file 'advancedConfigurationDlg.ui'
+**
+** Created by: Qt User Interface Compiler version 5.15.2
+**
+** WARNING! All changes made in this file will be lost when recompiling UI file!
+********************************************************************************/
+
+#ifndef UI_ADVANCEDCONFIGURATIONDLG_H
+#define UI_ADVANCEDCONFIGURATIONDLG_H
+
+#include <QtCore/QVariant>
+#include <QtWidgets/QApplication>
+#include <QtWidgets/QCheckBox>
+#include <QtWidgets/QComboBox>
+#include <QtWidgets/QDialog>
+#include <QtWidgets/QDialogButtonBox>
+#include <QtWidgets/QGridLayout>
+#include <QtWidgets/QGroupBox>
+#include <QtWidgets/QHBoxLayout>
+#include <QtWidgets/QLabel>
+#include <QtWidgets/QLineEdit>
+#include <QtWidgets/QSpacerItem>
+#include <QtWidgets/QVBoxLayout>
+#include <QtWidgets/QWidget>
+
+QT_BEGIN_NAMESPACE
+
+class Ui_advancedConfigurationDlg
+{
+public:
+    QWidget *gridLayoutWidget_2;
+    QGridLayout *gridLayout_3;
+    QGroupBox *groupBox_3;
+    QWidget *layoutWidget;
+    QVBoxLayout *verticalLayout_12;
+    QLabel *label_5;
+    QLabel *label_13;
+    QLabel *label_21;
+    QWidget *layoutWidget1;
+    QVBoxLayout *verticalLayout_6;
+    QComboBox *comboBox_DpiSelectCombination;
+    QComboBox *comboBox_LogoLedControlCombination;
+    QComboBox *comboBox_ModeSelectCombination;
+    QGroupBox *groupBox_4;
+    QLabel *label_23;
+    QLineEdit *lineEdit_frequencyOffsetParameter;
+    QLabel *label_30;
+    QGroupBox *groupBox_2;
+    QGroupBox *groupBox_ledFlickerTimes;
+    QWidget *layoutWidget2;
+    QHBoxLayout *horizontalLayout_9;
+    QVBoxLayout *verticalLayout_7;
+    QLabel *label_11;
+    QLabel *label_12;
+    QLabel *label_14;
+    QSpacerItem *horizontalSpacer_2;
+    QVBoxLayout *verticalLayout_13;
+    QLineEdit *lineEdit_24GFlickerTimes;
+    QLineEdit *lineEdit_theNumberOfTimesTheBluetoothConnectionFlashes;
+    QLineEdit *lineEdit_lowLampFlickerTimes;
+    QGroupBox *groupBox_ledFlickerFrequency;
+    QWidget *layoutWidget3;
+    QHBoxLayout *horizontalLayout_7;
+    QVBoxLayout *verticalLayout_8;
+    QLabel *label_6;
+    QLabel *label_7;
+    QLabel *label_8;
+    QLabel *label_9;
+    QLabel *label_10;
+    QSpacerItem *horizontalSpacer_9;
+    QVBoxLayout *verticalLayout_9;
+    QLineEdit *lineEdit_24GFlickerFrequency;
+    QLineEdit *lineEdit_bluetoothBroadcastFlickerFrequency;
+    QLineEdit *lineEdit_bluetoothLinkBackToFlickerFrequency;
+    QLineEdit *lineEdit_dpiFlickerFrequency;
+    QLineEdit *lineEdit_lowLampFlickerFrequency;
+    QWidget *layoutWidget4;
+    QHBoxLayout *horizontalLayout_8;
+    QVBoxLayout *verticalLayout_10;
+    QLabel *label_3;
+    QLabel *label_4;
+    QSpacerItem *horizontalSpacer_10;
+    QVBoxLayout *verticalLayout_11;
+    QLineEdit *lineEdit_dpiLampDelayFlicker;
+    QLineEdit *lineEdit_theModeLightUsuallyTurnsOnTime;
+    QGroupBox *groupBox_sensorConfiguration;
+    QCheckBox *checkBox_smoothAlgorithm;
+    QWidget *layoutWidget5;
+    QHBoxLayout *horizontalLayout_10;
+    QVBoxLayout *verticalLayout_16;
+    QLabel *label_36;
+    QLabel *label_38;
+    QSpacerItem *horizontalSpacer_3;
+    QVBoxLayout *verticalLayout_17;
+    QLineEdit *lineEdit_clockGpio;
+    QLineEdit *lineEdit_sdioGpio;
+    QSpacerItem *horizontalSpacer_11;
+    QVBoxLayout *verticalLayout_18;
+    QLabel *label_35;
+    QLabel *label_37;
+    QGroupBox *groupBox_timeParameterConfiguration;
+    QGridLayout *gridLayout;
+    QHBoxLayout *horizontalLayout_6;
+    QVBoxLayout *verticalLayout_4;
+    QLabel *label_15;
+    QLabel *label_16;
+    QLabel *label_18;
+    QLabel *label_17;
+    QLabel *label_19;
+    QLabel *label_20;
+    QSpacerItem *horizontalSpacer_5;
+    QVBoxLayout *verticalLayout_5;
+    QLineEdit *lineEdit_bluetoothBroadcastTime;
+    QLineEdit *lineEdit_bluetoothBackTime;
+    QLineEdit *lineEdit_24gCodetocodeTime;
+    QLineEdit *lineEdit_24gCallBackTime;
+    QLineEdit *lineEdit_24gFastConnectTime;
+    QLineEdit *lineEdit_sleepTime;
+    QDialogButtonBox *buttonBox;
+    QGroupBox *groupBox_5;
+    QCheckBox *checkBox_LogoLedMemory;
+    QLabel *label_44;
+    QLabel *label_43;
+    QComboBox *comboBox_Logo_led_reuse;
+    QComboBox *comboBox_Logo_led_control;
+    QGroupBox *groupBox_lowPowerConfiguration;
+    QGroupBox *groupBox_lowPowerEnable_2;
+    QGroupBox *groupBox_lowLightEnable_3;
+    QLabel *label_49;
+    QLabel *label_lowLightGpio_3;
+    QLineEdit *lineEdit_lowLightGpio_3;
+    QWidget *layoutWidget6;
+    QHBoxLayout *horizontalLayout_5;
+    QVBoxLayout *verticalLayout_2;
+    QLabel *label_51;
+    QLabel *label_lowPowerEnable_3;
+    QLabel *label_46;
+    QLabel *label_50;
+    QLabel *label_shutdownVoltage_3;
+    QSpacerItem *horizontalSpacer;
+    QVBoxLayout *verticalLayout_3;
+    QComboBox *comboBox_adcSamplingMode_3;
+    QComboBox *comboBox_adcChannel_3;
+    QLineEdit *lineEdit_fullVoltage_3;
+    QLineEdit *lineEdit_lowVoltage_3;
+    QLineEdit *lineEdit_shutdownVoltage_3;
+    QCheckBox *checkBox_cancelTheBatteryReport;
+    QGroupBox *groupBox;
+    QCheckBox *checkBox_BtNameEnable;
+    QGroupBox *groupBox_BluetoothConfig;
+    QLineEdit *lineEdit_Ble2Name;
+    QLineEdit *lineEdit_Bt2Name;
+    QLabel *label_41;
+    QLabel *label_42;
+    QLineEdit *lineEdit_Bt1Name;
+    QLabel *label_40;
+    QLabel *label_39;
+    QLineEdit *lineEdit_Ble1Name;
+
+    void setupUi(QDialog *advancedConfigurationDlg)
+    {
+        if (advancedConfigurationDlg->objectName().isEmpty())
+            advancedConfigurationDlg->setObjectName(QString::fromUtf8("advancedConfigurationDlg"));
+        advancedConfigurationDlg->resize(1068, 684);
+        advancedConfigurationDlg->setMinimumSize(QSize(1068, 684));
+        advancedConfigurationDlg->setMaximumSize(QSize(1068, 684));
+        advancedConfigurationDlg->setStyleSheet(QString::fromUtf8("QGroupBox { font-weight: bold; }"));
+        gridLayoutWidget_2 = new QWidget(advancedConfigurationDlg);
+        gridLayoutWidget_2->setObjectName(QString::fromUtf8("gridLayoutWidget_2"));
+        gridLayoutWidget_2->setGeometry(QRect(410, 0, 321, 141));
+        gridLayout_3 = new QGridLayout(gridLayoutWidget_2);
+        gridLayout_3->setObjectName(QString::fromUtf8("gridLayout_3"));
+        gridLayout_3->setContentsMargins(0, 0, 0, 0);
+        groupBox_3 = new QGroupBox(gridLayoutWidget_2);
+        groupBox_3->setObjectName(QString::fromUtf8("groupBox_3"));
+        QFont font;
+        font.setPointSize(12);
+        font.setBold(true);
+        groupBox_3->setFont(font);
+        layoutWidget = new QWidget(groupBox_3);
+        layoutWidget->setObjectName(QString::fromUtf8("layoutWidget"));
+        layoutWidget->setGeometry(QRect(9, 32, 201, 101));
+        verticalLayout_12 = new QVBoxLayout(layoutWidget);
+        verticalLayout_12->setObjectName(QString::fromUtf8("verticalLayout_12"));
+        verticalLayout_12->setContentsMargins(0, 0, 0, 0);
+        label_5 = new QLabel(layoutWidget);
+        label_5->setObjectName(QString::fromUtf8("label_5"));
+        QFont font1;
+        font1.setPointSize(12);
+        label_5->setFont(font1);
+
+        verticalLayout_12->addWidget(label_5);
+
+        label_13 = new QLabel(layoutWidget);
+        label_13->setObjectName(QString::fromUtf8("label_13"));
+        label_13->setFont(font1);
+
+        verticalLayout_12->addWidget(label_13);
+
+        label_21 = new QLabel(layoutWidget);
+        label_21->setObjectName(QString::fromUtf8("label_21"));
+        label_21->setFont(font1);
+
+        verticalLayout_12->addWidget(label_21);
+
+        layoutWidget1 = new QWidget(groupBox_3);
+        layoutWidget1->setObjectName(QString::fromUtf8("layoutWidget1"));
+        layoutWidget1->setGeometry(QRect(216, 33, 91, 101));
+        verticalLayout_6 = new QVBoxLayout(layoutWidget1);
+        verticalLayout_6->setObjectName(QString::fromUtf8("verticalLayout_6"));
+        verticalLayout_6->setContentsMargins(0, 0, 0, 0);
+        comboBox_DpiSelectCombination = new QComboBox(layoutWidget1);
+        comboBox_DpiSelectCombination->addItem(QString());
+        comboBox_DpiSelectCombination->addItem(QString());
+        comboBox_DpiSelectCombination->addItem(QString());
+        comboBox_DpiSelectCombination->addItem(QString());
+        comboBox_DpiSelectCombination->addItem(QString());
+        comboBox_DpiSelectCombination->setObjectName(QString::fromUtf8("comboBox_DpiSelectCombination"));
+
+        verticalLayout_6->addWidget(comboBox_DpiSelectCombination);
+
+        comboBox_LogoLedControlCombination = new QComboBox(layoutWidget1);
+        comboBox_LogoLedControlCombination->addItem(QString());
+        comboBox_LogoLedControlCombination->addItem(QString());
+        comboBox_LogoLedControlCombination->addItem(QString());
+        comboBox_LogoLedControlCombination->addItem(QString());
+        comboBox_LogoLedControlCombination->addItem(QString());
+        comboBox_LogoLedControlCombination->setObjectName(QString::fromUtf8("comboBox_LogoLedControlCombination"));
+
+        verticalLayout_6->addWidget(comboBox_LogoLedControlCombination);
+
+        comboBox_ModeSelectCombination = new QComboBox(layoutWidget1);
+        comboBox_ModeSelectCombination->addItem(QString());
+        comboBox_ModeSelectCombination->addItem(QString());
+        comboBox_ModeSelectCombination->addItem(QString());
+        comboBox_ModeSelectCombination->addItem(QString());
+        comboBox_ModeSelectCombination->addItem(QString());
+        comboBox_ModeSelectCombination->setObjectName(QString::fromUtf8("comboBox_ModeSelectCombination"));
+
+        verticalLayout_6->addWidget(comboBox_ModeSelectCombination);
+
+
+        gridLayout_3->addWidget(groupBox_3, 0, 0, 2, 1);
+
+        groupBox_4 = new QGroupBox(advancedConfigurationDlg);
+        groupBox_4->setObjectName(QString::fromUtf8("groupBox_4"));
+        groupBox_4->setGeometry(QRect(410, 290, 321, 61));
+        groupBox_4->setFont(font);
+        label_23 = new QLabel(groupBox_4);
+        label_23->setObjectName(QString::fromUtf8("label_23"));
+        label_23->setGeometry(QRect(41, 31, 111, 21));
+        label_23->setMinimumSize(QSize(60, 0));
+        label_23->setMaximumSize(QSize(120, 40));
+        label_23->setFont(font1);
+        lineEdit_frequencyOffsetParameter = new QLineEdit(groupBox_4);
+        lineEdit_frequencyOffsetParameter->setObjectName(QString::fromUtf8("lineEdit_frequencyOffsetParameter"));
+        lineEdit_frequencyOffsetParameter->setGeometry(QRect(157, 30, 61, 28));
+        lineEdit_frequencyOffsetParameter->setMaximumSize(QSize(80, 16777215));
+        lineEdit_frequencyOffsetParameter->setFont(font1);
+        label_30 = new QLabel(groupBox_4);
+        label_30->setObjectName(QString::fromUtf8("label_30"));
+        label_30->setGeometry(QRect(227, 30, 100, 21));
+        label_30->setMinimumSize(QSize(100, 0));
+        label_30->setMaximumSize(QSize(30, 50));
+        label_30->setFont(font1);
+        groupBox_2 = new QGroupBox(advancedConfigurationDlg);
+        groupBox_2->setObjectName(QString::fromUtf8("groupBox_2"));
+        groupBox_2->setGeometry(QRect(10, 0, 381, 439));
+        groupBox_2->setMinimumSize(QSize(371, 439));
+        groupBox_2->setFont(font);
+        groupBox_ledFlickerTimes = new QGroupBox(groupBox_2);
+        groupBox_ledFlickerTimes->setObjectName(QString::fromUtf8("groupBox_ledFlickerTimes"));
+        groupBox_ledFlickerTimes->setGeometry(QRect(21, 300, 351, 131));
+        groupBox_ledFlickerTimes->setFont(font);
+        layoutWidget2 = new QWidget(groupBox_ledFlickerTimes);
+        layoutWidget2->setObjectName(QString::fromUtf8("layoutWidget2"));
+        layoutWidget2->setGeometry(QRect(9, 32, 331, 99));
+        horizontalLayout_9 = new QHBoxLayout(layoutWidget2);
+        horizontalLayout_9->setObjectName(QString::fromUtf8("horizontalLayout_9"));
+        horizontalLayout_9->setContentsMargins(0, 0, 0, 0);
+        verticalLayout_7 = new QVBoxLayout();
+        verticalLayout_7->setObjectName(QString::fromUtf8("verticalLayout_7"));
+        label_11 = new QLabel(layoutWidget2);
+        label_11->setObjectName(QString::fromUtf8("label_11"));
+        QFont font2;
+        font2.setPointSize(12);
+        font2.setBold(false);
+        label_11->setFont(font2);
+
+        verticalLayout_7->addWidget(label_11);
+
+        label_12 = new QLabel(layoutWidget2);
+        label_12->setObjectName(QString::fromUtf8("label_12"));
+        label_12->setFont(font2);
+
+        verticalLayout_7->addWidget(label_12);
+
+        label_14 = new QLabel(layoutWidget2);
+        label_14->setObjectName(QString::fromUtf8("label_14"));
+        label_14->setFont(font2);
+
+        verticalLayout_7->addWidget(label_14);
+
+
+        horizontalLayout_9->addLayout(verticalLayout_7);
+
+        horizontalSpacer_2 = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
+
+        horizontalLayout_9->addItem(horizontalSpacer_2);
+
+        verticalLayout_13 = new QVBoxLayout();
+        verticalLayout_13->setObjectName(QString::fromUtf8("verticalLayout_13"));
+        lineEdit_24GFlickerTimes = new QLineEdit(layoutWidget2);
+        lineEdit_24GFlickerTimes->setObjectName(QString::fromUtf8("lineEdit_24GFlickerTimes"));
+        lineEdit_24GFlickerTimes->setFont(font2);
+
+        verticalLayout_13->addWidget(lineEdit_24GFlickerTimes);
+
+        lineEdit_theNumberOfTimesTheBluetoothConnectionFlashes = new QLineEdit(layoutWidget2);
+        lineEdit_theNumberOfTimesTheBluetoothConnectionFlashes->setObjectName(QString::fromUtf8("lineEdit_theNumberOfTimesTheBluetoothConnectionFlashes"));
+        lineEdit_theNumberOfTimesTheBluetoothConnectionFlashes->setFont(font2);
+
+        verticalLayout_13->addWidget(lineEdit_theNumberOfTimesTheBluetoothConnectionFlashes);
+
+        lineEdit_lowLampFlickerTimes = new QLineEdit(layoutWidget2);
+        lineEdit_lowLampFlickerTimes->setObjectName(QString::fromUtf8("lineEdit_lowLampFlickerTimes"));
+        lineEdit_lowLampFlickerTimes->setFont(font2);
+
+        verticalLayout_13->addWidget(lineEdit_lowLampFlickerTimes);
+
+
+        horizontalLayout_9->addLayout(verticalLayout_13);
+
+        groupBox_ledFlickerFrequency = new QGroupBox(groupBox_2);
+        groupBox_ledFlickerFrequency->setObjectName(QString::fromUtf8("groupBox_ledFlickerFrequency"));
+        groupBox_ledFlickerFrequency->setGeometry(QRect(21, 106, 351, 191));
+        groupBox_ledFlickerFrequency->setFont(font);
+        layoutWidget3 = new QWidget(groupBox_ledFlickerFrequency);
+        layoutWidget3->setObjectName(QString::fromUtf8("layoutWidget3"));
+        layoutWidget3->setGeometry(QRect(10, 30, 331, 161));
+        horizontalLayout_7 = new QHBoxLayout(layoutWidget3);
+        horizontalLayout_7->setObjectName(QString::fromUtf8("horizontalLayout_7"));
+        horizontalLayout_7->setContentsMargins(0, 0, 0, 0);
+        verticalLayout_8 = new QVBoxLayout();
+        verticalLayout_8->setObjectName(QString::fromUtf8("verticalLayout_8"));
+        label_6 = new QLabel(layoutWidget3);
+        label_6->setObjectName(QString::fromUtf8("label_6"));
+        label_6->setFont(font2);
+
+        verticalLayout_8->addWidget(label_6);
+
+        label_7 = new QLabel(layoutWidget3);
+        label_7->setObjectName(QString::fromUtf8("label_7"));
+        label_7->setFont(font2);
+
+        verticalLayout_8->addWidget(label_7);
+
+        label_8 = new QLabel(layoutWidget3);
+        label_8->setObjectName(QString::fromUtf8("label_8"));
+        label_8->setFont(font2);
+
+        verticalLayout_8->addWidget(label_8);
+
+        label_9 = new QLabel(layoutWidget3);
+        label_9->setObjectName(QString::fromUtf8("label_9"));
+        label_9->setFont(font2);
+
+        verticalLayout_8->addWidget(label_9);
+
+        label_10 = new QLabel(layoutWidget3);
+        label_10->setObjectName(QString::fromUtf8("label_10"));
+        label_10->setFont(font2);
+
+        verticalLayout_8->addWidget(label_10);
+
+
+        horizontalLayout_7->addLayout(verticalLayout_8);
+
+        horizontalSpacer_9 = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
+
+        horizontalLayout_7->addItem(horizontalSpacer_9);
+
+        verticalLayout_9 = new QVBoxLayout();
+        verticalLayout_9->setObjectName(QString::fromUtf8("verticalLayout_9"));
+        lineEdit_24GFlickerFrequency = new QLineEdit(layoutWidget3);
+        lineEdit_24GFlickerFrequency->setObjectName(QString::fromUtf8("lineEdit_24GFlickerFrequency"));
+        lineEdit_24GFlickerFrequency->setFont(font2);
+
+        verticalLayout_9->addWidget(lineEdit_24GFlickerFrequency);
+
+        lineEdit_bluetoothBroadcastFlickerFrequency = new QLineEdit(layoutWidget3);
+        lineEdit_bluetoothBroadcastFlickerFrequency->setObjectName(QString::fromUtf8("lineEdit_bluetoothBroadcastFlickerFrequency"));
+        lineEdit_bluetoothBroadcastFlickerFrequency->setFont(font2);
+
+        verticalLayout_9->addWidget(lineEdit_bluetoothBroadcastFlickerFrequency);
+
+        lineEdit_bluetoothLinkBackToFlickerFrequency = new QLineEdit(layoutWidget3);
+        lineEdit_bluetoothLinkBackToFlickerFrequency->setObjectName(QString::fromUtf8("lineEdit_bluetoothLinkBackToFlickerFrequency"));
+        lineEdit_bluetoothLinkBackToFlickerFrequency->setFont(font2);
+
+        verticalLayout_9->addWidget(lineEdit_bluetoothLinkBackToFlickerFrequency);
+
+        lineEdit_dpiFlickerFrequency = new QLineEdit(layoutWidget3);
+        lineEdit_dpiFlickerFrequency->setObjectName(QString::fromUtf8("lineEdit_dpiFlickerFrequency"));
+        lineEdit_dpiFlickerFrequency->setFont(font2);
+
+        verticalLayout_9->addWidget(lineEdit_dpiFlickerFrequency);
+
+        lineEdit_lowLampFlickerFrequency = new QLineEdit(layoutWidget3);
+        lineEdit_lowLampFlickerFrequency->setObjectName(QString::fromUtf8("lineEdit_lowLampFlickerFrequency"));
+        lineEdit_lowLampFlickerFrequency->setFont(font2);
+
+        verticalLayout_9->addWidget(lineEdit_lowLampFlickerFrequency);
+
+
+        horizontalLayout_7->addLayout(verticalLayout_9);
+
+        layoutWidget4 = new QWidget(groupBox_2);
+        layoutWidget4->setObjectName(QString::fromUtf8("layoutWidget4"));
+        layoutWidget4->setGeometry(QRect(21, 32, 351, 64));
+        horizontalLayout_8 = new QHBoxLayout(layoutWidget4);
+        horizontalLayout_8->setObjectName(QString::fromUtf8("horizontalLayout_8"));
+        horizontalLayout_8->setContentsMargins(0, 0, 0, 0);
+        verticalLayout_10 = new QVBoxLayout();
+        verticalLayout_10->setObjectName(QString::fromUtf8("verticalLayout_10"));
+        label_3 = new QLabel(layoutWidget4);
+        label_3->setObjectName(QString::fromUtf8("label_3"));
+        label_3->setFont(font2);
+
+        verticalLayout_10->addWidget(label_3);
+
+        label_4 = new QLabel(layoutWidget4);
+        label_4->setObjectName(QString::fromUtf8("label_4"));
+        label_4->setFont(font2);
+
+        verticalLayout_10->addWidget(label_4);
+
+
+        horizontalLayout_8->addLayout(verticalLayout_10);
+
+        horizontalSpacer_10 = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
+
+        horizontalLayout_8->addItem(horizontalSpacer_10);
+
+        verticalLayout_11 = new QVBoxLayout();
+        verticalLayout_11->setObjectName(QString::fromUtf8("verticalLayout_11"));
+        lineEdit_dpiLampDelayFlicker = new QLineEdit(layoutWidget4);
+        lineEdit_dpiLampDelayFlicker->setObjectName(QString::fromUtf8("lineEdit_dpiLampDelayFlicker"));
+        lineEdit_dpiLampDelayFlicker->setFont(font2);
+
+        verticalLayout_11->addWidget(lineEdit_dpiLampDelayFlicker);
+
+        lineEdit_theModeLightUsuallyTurnsOnTime = new QLineEdit(layoutWidget4);
+        lineEdit_theModeLightUsuallyTurnsOnTime->setObjectName(QString::fromUtf8("lineEdit_theModeLightUsuallyTurnsOnTime"));
+        lineEdit_theModeLightUsuallyTurnsOnTime->setFont(font2);
+
+        verticalLayout_11->addWidget(lineEdit_theModeLightUsuallyTurnsOnTime);
+
+
+        horizontalLayout_8->addLayout(verticalLayout_11);
+
+        groupBox_sensorConfiguration = new QGroupBox(advancedConfigurationDlg);
+        groupBox_sensorConfiguration->setObjectName(QString::fromUtf8("groupBox_sensorConfiguration"));
+        groupBox_sensorConfiguration->setGeometry(QRect(740, 330, 311, 131));
+        groupBox_sensorConfiguration->setFont(font);
+        checkBox_smoothAlgorithm = new QCheckBox(groupBox_sensorConfiguration);
+        checkBox_smoothAlgorithm->setObjectName(QString::fromUtf8("checkBox_smoothAlgorithm"));
+        checkBox_smoothAlgorithm->setGeometry(QRect(9, 96, 301, 31));
+        checkBox_smoothAlgorithm->setFont(font2);
+        checkBox_smoothAlgorithm->setAcceptDrops(false);
+        checkBox_smoothAlgorithm->setChecked(true);
+        layoutWidget5 = new QWidget(groupBox_sensorConfiguration);
+        layoutWidget5->setObjectName(QString::fromUtf8("layoutWidget5"));
+        layoutWidget5->setGeometry(QRect(9, 32, 297, 64));
+        horizontalLayout_10 = new QHBoxLayout(layoutWidget5);
+        horizontalLayout_10->setObjectName(QString::fromUtf8("horizontalLayout_10"));
+        horizontalLayout_10->setContentsMargins(0, 0, 0, 0);
+        verticalLayout_16 = new QVBoxLayout();
+        verticalLayout_16->setObjectName(QString::fromUtf8("verticalLayout_16"));
+        label_36 = new QLabel(layoutWidget5);
+        label_36->setObjectName(QString::fromUtf8("label_36"));
+        label_36->setFont(font2);
+
+        verticalLayout_16->addWidget(label_36);
+
+        label_38 = new QLabel(layoutWidget5);
+        label_38->setObjectName(QString::fromUtf8("label_38"));
+        label_38->setFont(font2);
+
+        verticalLayout_16->addWidget(label_38);
+
+
+        horizontalLayout_10->addLayout(verticalLayout_16);
+
+        horizontalSpacer_3 = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
+
+        horizontalLayout_10->addItem(horizontalSpacer_3);
+
+        verticalLayout_17 = new QVBoxLayout();
+        verticalLayout_17->setObjectName(QString::fromUtf8("verticalLayout_17"));
+        lineEdit_clockGpio = new QLineEdit(layoutWidget5);
+        lineEdit_clockGpio->setObjectName(QString::fromUtf8("lineEdit_clockGpio"));
+        lineEdit_clockGpio->setFont(font2);
+
+        verticalLayout_17->addWidget(lineEdit_clockGpio);
+
+        lineEdit_sdioGpio = new QLineEdit(layoutWidget5);
+        lineEdit_sdioGpio->setObjectName(QString::fromUtf8("lineEdit_sdioGpio"));
+        lineEdit_sdioGpio->setFont(font2);
+
+        verticalLayout_17->addWidget(lineEdit_sdioGpio);
+
+
+        horizontalLayout_10->addLayout(verticalLayout_17);
+
+        horizontalSpacer_11 = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
+
+        horizontalLayout_10->addItem(horizontalSpacer_11);
+
+        verticalLayout_18 = new QVBoxLayout();
+        verticalLayout_18->setObjectName(QString::fromUtf8("verticalLayout_18"));
+        label_35 = new QLabel(layoutWidget5);
+        label_35->setObjectName(QString::fromUtf8("label_35"));
+        label_35->setFont(font2);
+
+        verticalLayout_18->addWidget(label_35);
+
+        label_37 = new QLabel(layoutWidget5);
+        label_37->setObjectName(QString::fromUtf8("label_37"));
+        label_37->setFont(font2);
+
+        verticalLayout_18->addWidget(label_37);
+
+
+        horizontalLayout_10->addLayout(verticalLayout_18);
+
+        groupBox_timeParameterConfiguration = new QGroupBox(advancedConfigurationDlg);
+        groupBox_timeParameterConfiguration->setObjectName(QString::fromUtf8("groupBox_timeParameterConfiguration"));
+        groupBox_timeParameterConfiguration->setGeometry(QRect(10, 440, 381, 233));
+        groupBox_timeParameterConfiguration->setFont(font);
+        gridLayout = new QGridLayout(groupBox_timeParameterConfiguration);
+        gridLayout->setObjectName(QString::fromUtf8("gridLayout"));
+        horizontalLayout_6 = new QHBoxLayout();
+        horizontalLayout_6->setObjectName(QString::fromUtf8("horizontalLayout_6"));
+        verticalLayout_4 = new QVBoxLayout();
+        verticalLayout_4->setObjectName(QString::fromUtf8("verticalLayout_4"));
+        label_15 = new QLabel(groupBox_timeParameterConfiguration);
+        label_15->setObjectName(QString::fromUtf8("label_15"));
+        label_15->setFont(font2);
+
+        verticalLayout_4->addWidget(label_15);
+
+        label_16 = new QLabel(groupBox_timeParameterConfiguration);
+        label_16->setObjectName(QString::fromUtf8("label_16"));
+        label_16->setFont(font2);
+
+        verticalLayout_4->addWidget(label_16);
+
+        label_18 = new QLabel(groupBox_timeParameterConfiguration);
+        label_18->setObjectName(QString::fromUtf8("label_18"));
+        label_18->setFont(font2);
+
+        verticalLayout_4->addWidget(label_18);
+
+        label_17 = new QLabel(groupBox_timeParameterConfiguration);
+        label_17->setObjectName(QString::fromUtf8("label_17"));
+        label_17->setFont(font2);
+
+        verticalLayout_4->addWidget(label_17);
+
+        label_19 = new QLabel(groupBox_timeParameterConfiguration);
+        label_19->setObjectName(QString::fromUtf8("label_19"));
+        label_19->setFont(font2);
+
+        verticalLayout_4->addWidget(label_19);
+
+        label_20 = new QLabel(groupBox_timeParameterConfiguration);
+        label_20->setObjectName(QString::fromUtf8("label_20"));
+        label_20->setFont(font2);
+
+        verticalLayout_4->addWidget(label_20);
+
+
+        horizontalLayout_6->addLayout(verticalLayout_4);
+
+        horizontalSpacer_5 = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
+
+        horizontalLayout_6->addItem(horizontalSpacer_5);
+
+        verticalLayout_5 = new QVBoxLayout();
+        verticalLayout_5->setObjectName(QString::fromUtf8("verticalLayout_5"));
+        lineEdit_bluetoothBroadcastTime = new QLineEdit(groupBox_timeParameterConfiguration);
+        lineEdit_bluetoothBroadcastTime->setObjectName(QString::fromUtf8("lineEdit_bluetoothBroadcastTime"));
+        lineEdit_bluetoothBroadcastTime->setFont(font2);
+
+        verticalLayout_5->addWidget(lineEdit_bluetoothBroadcastTime);
+
+        lineEdit_bluetoothBackTime = new QLineEdit(groupBox_timeParameterConfiguration);
+        lineEdit_bluetoothBackTime->setObjectName(QString::fromUtf8("lineEdit_bluetoothBackTime"));
+        lineEdit_bluetoothBackTime->setFont(font2);
+
+        verticalLayout_5->addWidget(lineEdit_bluetoothBackTime);
+
+        lineEdit_24gCodetocodeTime = new QLineEdit(groupBox_timeParameterConfiguration);
+        lineEdit_24gCodetocodeTime->setObjectName(QString::fromUtf8("lineEdit_24gCodetocodeTime"));
+        lineEdit_24gCodetocodeTime->setFont(font2);
+
+        verticalLayout_5->addWidget(lineEdit_24gCodetocodeTime);
+
+        lineEdit_24gCallBackTime = new QLineEdit(groupBox_timeParameterConfiguration);
+        lineEdit_24gCallBackTime->setObjectName(QString::fromUtf8("lineEdit_24gCallBackTime"));
+        lineEdit_24gCallBackTime->setFont(font2);
+
+        verticalLayout_5->addWidget(lineEdit_24gCallBackTime);
+
+        lineEdit_24gFastConnectTime = new QLineEdit(groupBox_timeParameterConfiguration);
+        lineEdit_24gFastConnectTime->setObjectName(QString::fromUtf8("lineEdit_24gFastConnectTime"));
+        lineEdit_24gFastConnectTime->setFont(font2);
+
+        verticalLayout_5->addWidget(lineEdit_24gFastConnectTime);
+
+        lineEdit_sleepTime = new QLineEdit(groupBox_timeParameterConfiguration);
+        lineEdit_sleepTime->setObjectName(QString::fromUtf8("lineEdit_sleepTime"));
+        lineEdit_sleepTime->setFont(font2);
+
+        verticalLayout_5->addWidget(lineEdit_sleepTime);
+
+
+        horizontalLayout_6->addLayout(verticalLayout_5);
+
+
+        gridLayout->addLayout(horizontalLayout_6, 0, 0, 1, 1);
+
+        buttonBox = new QDialogButtonBox(advancedConfigurationDlg);
+        buttonBox->setObjectName(QString::fromUtf8("buttonBox"));
+        buttonBox->setGeometry(QRect(490, 650, 164, 24));
+        buttonBox->setFont(font2);
+        buttonBox->setOrientation(Qt::Horizontal);
+        buttonBox->setStandardButtons(QDialogButtonBox::Cancel|QDialogButtonBox::Ok);
+        buttonBox->setCenterButtons(true);
+        groupBox_5 = new QGroupBox(advancedConfigurationDlg);
+        groupBox_5->setObjectName(QString::fromUtf8("groupBox_5"));
+        groupBox_5->setGeometry(QRect(410, 150, 321, 131));
+        groupBox_5->setFont(font);
+        checkBox_LogoLedMemory = new QCheckBox(groupBox_5);
+        checkBox_LogoLedMemory->setObjectName(QString::fromUtf8("checkBox_LogoLedMemory"));
+        checkBox_LogoLedMemory->setGeometry(QRect(12, 30, 282, 23));
+        checkBox_LogoLedMemory->setFont(font1);
+        label_44 = new QLabel(groupBox_5);
+        label_44->setObjectName(QString::fromUtf8("label_44"));
+        label_44->setGeometry(QRect(16, 93, 181, 21));
+        label_44->setFont(font2);
+        label_43 = new QLabel(groupBox_5);
+        label_43->setObjectName(QString::fromUtf8("label_43"));
+        label_43->setGeometry(QRect(16, 62, 181, 21));
+        label_43->setFont(font2);
+        comboBox_Logo_led_reuse = new QComboBox(groupBox_5);
+        comboBox_Logo_led_reuse->addItem(QString());
+        comboBox_Logo_led_reuse->addItem(QString());
+        comboBox_Logo_led_reuse->addItem(QString());
+        comboBox_Logo_led_reuse->addItem(QString());
+        comboBox_Logo_led_reuse->setObjectName(QString::fromUtf8("comboBox_Logo_led_reuse"));
+        comboBox_Logo_led_reuse->setGeometry(QRect(210, 93, 101, 24));
+        comboBox_Logo_led_control = new QComboBox(groupBox_5);
+        comboBox_Logo_led_control->addItem(QString());
+        comboBox_Logo_led_control->addItem(QString());
+        comboBox_Logo_led_control->addItem(QString());
+        comboBox_Logo_led_control->setObjectName(QString::fromUtf8("comboBox_Logo_led_control"));
+        comboBox_Logo_led_control->setGeometry(QRect(208, 62, 101, 24));
+        groupBox_lowPowerConfiguration = new QGroupBox(advancedConfigurationDlg);
+        groupBox_lowPowerConfiguration->setObjectName(QString::fromUtf8("groupBox_lowPowerConfiguration"));
+        groupBox_lowPowerConfiguration->setGeometry(QRect(740, 0, 311, 321));
+        QSizePolicy sizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding);
+        sizePolicy.setHorizontalStretch(0);
+        sizePolicy.setVerticalStretch(0);
+        sizePolicy.setHeightForWidth(groupBox_lowPowerConfiguration->sizePolicy().hasHeightForWidth());
+        groupBox_lowPowerConfiguration->setSizePolicy(sizePolicy);
+        groupBox_lowPowerConfiguration->setFont(font);
+        groupBox_lowPowerEnable_2 = new QGroupBox(groupBox_lowPowerConfiguration);
+        groupBox_lowPowerEnable_2->setObjectName(QString::fromUtf8("groupBox_lowPowerEnable_2"));
+        groupBox_lowPowerEnable_2->setGeometry(QRect(10, 30, 301, 291));
+        groupBox_lowPowerEnable_2->setFont(font);
+        groupBox_lowPowerEnable_2->setCheckable(true);
+        groupBox_lowPowerEnable_2->setChecked(false);
+        groupBox_lowLightEnable_3 = new QGroupBox(groupBox_lowPowerEnable_2);
+        groupBox_lowLightEnable_3->setObjectName(QString::fromUtf8("groupBox_lowLightEnable_3"));
+        groupBox_lowLightEnable_3->setGeometry(QRect(20, 210, 271, 71));
+        QSizePolicy sizePolicy1(QSizePolicy::Preferred, QSizePolicy::Preferred);
+        sizePolicy1.setHorizontalStretch(0);
+        sizePolicy1.setVerticalStretch(60);
+        sizePolicy1.setHeightForWidth(groupBox_lowLightEnable_3->sizePolicy().hasHeightForWidth());
+        groupBox_lowLightEnable_3->setSizePolicy(sizePolicy1);
+        groupBox_lowLightEnable_3->setMinimumSize(QSize(100, 50));
+        groupBox_lowLightEnable_3->setFont(font);
+        groupBox_lowLightEnable_3->setCheckable(true);
+        groupBox_lowLightEnable_3->setChecked(false);
+        label_49 = new QLabel(groupBox_lowLightEnable_3);
+        label_49->setObjectName(QString::fromUtf8("label_49"));
+        label_49->setGeometry(QRect(190, 31, 71, 21));
+        label_49->setFont(font1);
+        label_lowLightGpio_3 = new QLabel(groupBox_lowLightEnable_3);
+        label_lowLightGpio_3->setObjectName(QString::fromUtf8("label_lowLightGpio_3"));
+        label_lowLightGpio_3->setGeometry(QRect(11, 31, 121, 21));
+        label_lowLightGpio_3->setFont(font1);
+        lineEdit_lowLightGpio_3 = new QLineEdit(groupBox_lowLightEnable_3);
+        lineEdit_lowLightGpio_3->setObjectName(QString::fromUtf8("lineEdit_lowLightGpio_3"));
+        lineEdit_lowLightGpio_3->setGeometry(QRect(145, 31, 41, 28));
+        lineEdit_lowLightGpio_3->setFont(font1);
+        layoutWidget6 = new QWidget(groupBox_lowPowerEnable_2);
+        layoutWidget6->setObjectName(QString::fromUtf8("layoutWidget6"));
+        layoutWidget6->setGeometry(QRect(20, 30, 259, 162));
+        horizontalLayout_5 = new QHBoxLayout(layoutWidget6);
+        horizontalLayout_5->setObjectName(QString::fromUtf8("horizontalLayout_5"));
+        horizontalLayout_5->setContentsMargins(0, 0, 0, 0);
+        verticalLayout_2 = new QVBoxLayout();
+        verticalLayout_2->setObjectName(QString::fromUtf8("verticalLayout_2"));
+        label_51 = new QLabel(layoutWidget6);
+        label_51->setObjectName(QString::fromUtf8("label_51"));
+        label_51->setFont(font1);
+
+        verticalLayout_2->addWidget(label_51);
+
+        label_lowPowerEnable_3 = new QLabel(layoutWidget6);
+        label_lowPowerEnable_3->setObjectName(QString::fromUtf8("label_lowPowerEnable_3"));
+        label_lowPowerEnable_3->setFont(font1);
+
+        verticalLayout_2->addWidget(label_lowPowerEnable_3);
+
+        label_46 = new QLabel(layoutWidget6);
+        label_46->setObjectName(QString::fromUtf8("label_46"));
+        label_46->setFont(font1);
+
+        verticalLayout_2->addWidget(label_46);
+
+        label_50 = new QLabel(layoutWidget6);
+        label_50->setObjectName(QString::fromUtf8("label_50"));
+        label_50->setFont(font1);
+
+        verticalLayout_2->addWidget(label_50);
+
+        label_shutdownVoltage_3 = new QLabel(layoutWidget6);
+        label_shutdownVoltage_3->setObjectName(QString::fromUtf8("label_shutdownVoltage_3"));
+        label_shutdownVoltage_3->setFont(font1);
+
+        verticalLayout_2->addWidget(label_shutdownVoltage_3);
+
+
+        horizontalLayout_5->addLayout(verticalLayout_2);
+
+        horizontalSpacer = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
+
+        horizontalLayout_5->addItem(horizontalSpacer);
+
+        verticalLayout_3 = new QVBoxLayout();
+        verticalLayout_3->setObjectName(QString::fromUtf8("verticalLayout_3"));
+        comboBox_adcSamplingMode_3 = new QComboBox(layoutWidget6);
+        comboBox_adcSamplingMode_3->addItem(QString());
+        comboBox_adcSamplingMode_3->addItem(QString());
+        comboBox_adcSamplingMode_3->setObjectName(QString::fromUtf8("comboBox_adcSamplingMode_3"));
+        comboBox_adcSamplingMode_3->setFont(font1);
+
+        verticalLayout_3->addWidget(comboBox_adcSamplingMode_3);
+
+        comboBox_adcChannel_3 = new QComboBox(layoutWidget6);
+        comboBox_adcChannel_3->addItem(QString());
+        comboBox_adcChannel_3->addItem(QString());
+        comboBox_adcChannel_3->addItem(QString());
+        comboBox_adcChannel_3->addItem(QString());
+        comboBox_adcChannel_3->addItem(QString());
+        comboBox_adcChannel_3->addItem(QString());
+        comboBox_adcChannel_3->addItem(QString());
+        comboBox_adcChannel_3->addItem(QString());
+        comboBox_adcChannel_3->setObjectName(QString::fromUtf8("comboBox_adcChannel_3"));
+        comboBox_adcChannel_3->setFont(font1);
+
+        verticalLayout_3->addWidget(comboBox_adcChannel_3);
+
+        lineEdit_fullVoltage_3 = new QLineEdit(layoutWidget6);
+        lineEdit_fullVoltage_3->setObjectName(QString::fromUtf8("lineEdit_fullVoltage_3"));
+        lineEdit_fullVoltage_3->setFont(font1);
+
+        verticalLayout_3->addWidget(lineEdit_fullVoltage_3);
+
+        lineEdit_lowVoltage_3 = new QLineEdit(layoutWidget6);
+        lineEdit_lowVoltage_3->setObjectName(QString::fromUtf8("lineEdit_lowVoltage_3"));
+        lineEdit_lowVoltage_3->setFont(font1);
+
+        verticalLayout_3->addWidget(lineEdit_lowVoltage_3);
+
+        lineEdit_shutdownVoltage_3 = new QLineEdit(layoutWidget6);
+        lineEdit_shutdownVoltage_3->setObjectName(QString::fromUtf8("lineEdit_shutdownVoltage_3"));
+        lineEdit_shutdownVoltage_3->setFont(font1);
+
+        verticalLayout_3->addWidget(lineEdit_shutdownVoltage_3);
+
+
+        horizontalLayout_5->addLayout(verticalLayout_3);
+
+        checkBox_cancelTheBatteryReport = new QCheckBox(advancedConfigurationDlg);
+        checkBox_cancelTheBatteryReport->setObjectName(QString::fromUtf8("checkBox_cancelTheBatteryReport"));
+        checkBox_cancelTheBatteryReport->setGeometry(QRect(740, 473, 171, 27));
+        checkBox_cancelTheBatteryReport->setFont(font2);
+        checkBox_cancelTheBatteryReport->setCheckable(true);
+        checkBox_cancelTheBatteryReport->setChecked(false);
+        groupBox = new QGroupBox(advancedConfigurationDlg);
+        groupBox->setObjectName(QString::fromUtf8("groupBox"));
+        groupBox->setGeometry(QRect(410, 360, 321, 251));
+        groupBox->setFont(font);
+        checkBox_BtNameEnable = new QCheckBox(groupBox);
+        checkBox_BtNameEnable->setObjectName(QString::fromUtf8("checkBox_BtNameEnable"));
+        checkBox_BtNameEnable->setGeometry(QRect(10, 119, 301, 27));
+        checkBox_BtNameEnable->setFont(font2);
+        groupBox_BluetoothConfig = new QGroupBox(groupBox);
+        groupBox_BluetoothConfig->setObjectName(QString::fromUtf8("groupBox_BluetoothConfig"));
+        groupBox_BluetoothConfig->setEnabled(false);
+        groupBox_BluetoothConfig->setGeometry(QRect(0, 160, 321, 91));
+        lineEdit_Ble2Name = new QLineEdit(groupBox_BluetoothConfig);
+        lineEdit_Ble2Name->setObjectName(QString::fromUtf8("lineEdit_Ble2Name"));
+        lineEdit_Ble2Name->setGeometry(QRect(170, 20, 142, 28));
+        lineEdit_Ble2Name->setFont(font2);
+        lineEdit_Bt2Name = new QLineEdit(groupBox_BluetoothConfig);
+        lineEdit_Bt2Name->setObjectName(QString::fromUtf8("lineEdit_Bt2Name"));
+        lineEdit_Bt2Name->setGeometry(QRect(170, 60, 142, 28));
+        lineEdit_Bt2Name->setFont(font2);
+        label_41 = new QLabel(groupBox_BluetoothConfig);
+        label_41->setObjectName(QString::fromUtf8("label_41"));
+        label_41->setGeometry(QRect(20, 20, 141, 21));
+        label_41->setFont(font2);
+        label_42 = new QLabel(groupBox_BluetoothConfig);
+        label_42->setObjectName(QString::fromUtf8("label_42"));
+        label_42->setGeometry(QRect(20, 60, 141, 21));
+        label_42->setFont(font2);
+        lineEdit_Bt1Name = new QLineEdit(groupBox);
+        lineEdit_Bt1Name->setObjectName(QString::fromUtf8("lineEdit_Bt1Name"));
+        lineEdit_Bt1Name->setGeometry(QRect(170, 80, 142, 28));
+        lineEdit_Bt1Name->setFont(font2);
+        label_40 = new QLabel(groupBox);
+        label_40->setObjectName(QString::fromUtf8("label_40"));
+        label_40->setGeometry(QRect(20, 80, 141, 21));
+        label_40->setFont(font2);
+        label_39 = new QLabel(groupBox);
+        label_39->setObjectName(QString::fromUtf8("label_39"));
+        label_39->setGeometry(QRect(20, 40, 141, 21));
+        label_39->setMaximumSize(QSize(16777215, 40));
+        label_39->setFont(font2);
+        lineEdit_Ble1Name = new QLineEdit(groupBox);
+        lineEdit_Ble1Name->setObjectName(QString::fromUtf8("lineEdit_Ble1Name"));
+        lineEdit_Ble1Name->setGeometry(QRect(170, 40, 142, 28));
+        lineEdit_Ble1Name->setMinimumSize(QSize(0, 14));
+        lineEdit_Ble1Name->setMaximumSize(QSize(16777215, 40));
+        lineEdit_Ble1Name->setFont(font2);
+        QWidget::setTabOrder(lineEdit_theModeLightUsuallyTurnsOnTime, lineEdit_theNumberOfTimesTheBluetoothConnectionFlashes);
+        QWidget::setTabOrder(lineEdit_theNumberOfTimesTheBluetoothConnectionFlashes, lineEdit_24GFlickerTimes);
+        QWidget::setTabOrder(lineEdit_24GFlickerTimes, lineEdit_lowLampFlickerTimes);
+        QWidget::setTabOrder(lineEdit_lowLampFlickerTimes, lineEdit_24GFlickerFrequency);
+        QWidget::setTabOrder(lineEdit_24GFlickerFrequency, lineEdit_bluetoothBroadcastFlickerFrequency);
+        QWidget::setTabOrder(lineEdit_bluetoothBroadcastFlickerFrequency, lineEdit_bluetoothLinkBackToFlickerFrequency);
+        QWidget::setTabOrder(lineEdit_bluetoothLinkBackToFlickerFrequency, lineEdit_dpiFlickerFrequency);
+        QWidget::setTabOrder(lineEdit_dpiFlickerFrequency, lineEdit_lowLampFlickerFrequency);
+        QWidget::setTabOrder(lineEdit_lowLampFlickerFrequency, lineEdit_dpiLampDelayFlicker);
+        QWidget::setTabOrder(lineEdit_dpiLampDelayFlicker, lineEdit_bluetoothBroadcastTime);
+        QWidget::setTabOrder(lineEdit_bluetoothBroadcastTime, lineEdit_bluetoothBackTime);
+        QWidget::setTabOrder(lineEdit_bluetoothBackTime, lineEdit_24gCodetocodeTime);
+        QWidget::setTabOrder(lineEdit_24gCodetocodeTime, lineEdit_24gCallBackTime);
+        QWidget::setTabOrder(lineEdit_24gCallBackTime, lineEdit_24gFastConnectTime);
+        QWidget::setTabOrder(lineEdit_24gFastConnectTime, lineEdit_sleepTime);
+        QWidget::setTabOrder(lineEdit_sleepTime, lineEdit_clockGpio);
+        QWidget::setTabOrder(lineEdit_clockGpio, lineEdit_sdioGpio);
+        QWidget::setTabOrder(lineEdit_sdioGpio, checkBox_cancelTheBatteryReport);
+
+        retranslateUi(advancedConfigurationDlg);
+        QObject::connect(buttonBox, SIGNAL(accepted()), advancedConfigurationDlg, SLOT(accept()));
+        QObject::connect(buttonBox, SIGNAL(rejected()), advancedConfigurationDlg, SLOT(reject()));
+
+        comboBox_adcChannel_3->setCurrentIndex(5);
+
+
+        QMetaObject::connectSlotsByName(advancedConfigurationDlg);
+    } // setupUi
+
+    void retranslateUi(QDialog *advancedConfigurationDlg)
+    {
+        advancedConfigurationDlg->setWindowTitle(QCoreApplication::translate("advancedConfigurationDlg", "\351\253\230\347\272\247\351\205\215\347\275\256", nullptr));
+        groupBox_3->setTitle(QCoreApplication::translate("advancedConfigurationDlg", "\347\273\204\345\220\210\351\224\256\345\212\237\350\203\275\351\205\215\347\275\256", nullptr));
+        label_5->setText(QCoreApplication::translate("advancedConfigurationDlg", "DPI\345\210\207\346\215\242\347\273\204\345\220\210\351\224\256", nullptr));
+        label_13->setText(QCoreApplication::translate("advancedConfigurationDlg", "LOGO\347\201\257\346\216\247\345\210\266\347\273\204\345\220\210\351\224\256", nullptr));
+        label_21->setText(QCoreApplication::translate("advancedConfigurationDlg", "\346\250\241\345\274\217\345\210\207\346\215\242\347\273\204\345\220\210\351\224\256", nullptr));
+        comboBox_DpiSelectCombination->setItemText(0, QCoreApplication::translate("advancedConfigurationDlg", "\347\246\201\347\224\250", nullptr));
+        comboBox_DpiSelectCombination->setItemText(1, QCoreApplication::translate("advancedConfigurationDlg", "\345\267\246\345\217\263", nullptr));
+        comboBox_DpiSelectCombination->setItemText(2, QCoreApplication::translate("advancedConfigurationDlg", "\345\267\246\344\270\255", nullptr));
+        comboBox_DpiSelectCombination->setItemText(3, QCoreApplication::translate("advancedConfigurationDlg", "\345\217\263\344\270\255", nullptr));
+        comboBox_DpiSelectCombination->setItemText(4, QCoreApplication::translate("advancedConfigurationDlg", "\345\267\246\345\217\263\344\270\255", nullptr));
+
+        comboBox_LogoLedControlCombination->setItemText(0, QCoreApplication::translate("advancedConfigurationDlg", "\347\246\201\347\224\250", nullptr));
+        comboBox_LogoLedControlCombination->setItemText(1, QCoreApplication::translate("advancedConfigurationDlg", "\345\267\246\345\217\263", nullptr));
+        comboBox_LogoLedControlCombination->setItemText(2, QCoreApplication::translate("advancedConfigurationDlg", "\345\267\246\344\270\255", nullptr));
+        comboBox_LogoLedControlCombination->setItemText(3, QCoreApplication::translate("advancedConfigurationDlg", "\345\217\263\344\270\255", nullptr));
+        comboBox_LogoLedControlCombination->setItemText(4, QCoreApplication::translate("advancedConfigurationDlg", "\345\267\246\345\217\263\344\270\255", nullptr));
+
+        comboBox_ModeSelectCombination->setItemText(0, QCoreApplication::translate("advancedConfigurationDlg", "\347\246\201\347\224\250", nullptr));
+        comboBox_ModeSelectCombination->setItemText(1, QCoreApplication::translate("advancedConfigurationDlg", "\345\267\246\345\217\263", nullptr));
+        comboBox_ModeSelectCombination->setItemText(2, QCoreApplication::translate("advancedConfigurationDlg", "\345\267\246\344\270\255", nullptr));
+        comboBox_ModeSelectCombination->setItemText(3, QCoreApplication::translate("advancedConfigurationDlg", "\345\217\263\344\270\255", nullptr));
+        comboBox_ModeSelectCombination->setItemText(4, QCoreApplication::translate("advancedConfigurationDlg", "\345\267\246\345\217\263\344\270\255", nullptr));
+
+        groupBox_4->setTitle(QCoreApplication::translate("advancedConfigurationDlg", "\351\242\221\345\201\217\345\217\202\346\225\260\351\205\215\347\275\256", nullptr));
+        label_23->setText(QCoreApplication::translate("advancedConfigurationDlg", "\351\242\221\345\201\217\345\217\202\346\225\260", nullptr));
+        lineEdit_frequencyOffsetParameter->setText(QCoreApplication::translate("advancedConfigurationDlg", "16", nullptr));
+        label_30->setText(QCoreApplication::translate("advancedConfigurationDlg", "\357\274\210hex\357\274\211", nullptr));
+        groupBox_2->setTitle(QCoreApplication::translate("advancedConfigurationDlg", "LED\347\201\257\346\225\210", nullptr));
+        groupBox_ledFlickerTimes->setTitle(QCoreApplication::translate("advancedConfigurationDlg", "LED\351\227\252\347\203\201\346\254\241\346\225\260", nullptr));
+        label_11->setText(QCoreApplication::translate("advancedConfigurationDlg", "2.4G\351\227\252\347\203\201\346\254\241\346\225\260", nullptr));
+        label_12->setText(QCoreApplication::translate("advancedConfigurationDlg", "\350\223\235\347\211\231\345\233\236\350\277\236\351\227\252\347\203\201\346\254\241\346\225\260", nullptr));
+        label_14->setText(QCoreApplication::translate("advancedConfigurationDlg", "\344\275\216\347\224\265\347\201\257\351\227\252\347\203\201\346\254\241\346\225\260", nullptr));
+        lineEdit_24GFlickerTimes->setText(QCoreApplication::translate("advancedConfigurationDlg", "2", nullptr));
+        lineEdit_theNumberOfTimesTheBluetoothConnectionFlashes->setText(QCoreApplication::translate("advancedConfigurationDlg", "6", nullptr));
+        lineEdit_lowLampFlickerTimes->setText(QCoreApplication::translate("advancedConfigurationDlg", "10", nullptr));
+        groupBox_ledFlickerFrequency->setTitle(QCoreApplication::translate("advancedConfigurationDlg", "LED\351\227\252\347\203\201\351\242\221\347\216\207", nullptr));
+        label_6->setText(QCoreApplication::translate("advancedConfigurationDlg", "2.4G\351\227\252\347\203\201\351\242\221\347\216\207(\347\231\276ms)", nullptr));
+        label_7->setText(QCoreApplication::translate("advancedConfigurationDlg", "\350\223\235\347\211\231\345\271\277\346\222\255\351\227\252\347\203\201\351\242\221\347\216\207(\347\231\276ms)", nullptr));
+        label_8->setText(QCoreApplication::translate("advancedConfigurationDlg", "\350\223\235\347\211\231\345\233\236\350\277\236\351\227\252\347\203\201\351\242\221\347\216\207(\347\231\276ms)", nullptr));
+        label_9->setText(QCoreApplication::translate("advancedConfigurationDlg", "DPI\351\227\252\347\203\201\351\242\221\347\216\207(\347\231\276ms)", nullptr));
+        label_10->setText(QCoreApplication::translate("advancedConfigurationDlg", "\344\275\216\347\224\265\347\201\257\351\227\252\347\203\201\351\242\221\347\216\207(\347\231\276ms)", nullptr));
+        lineEdit_24GFlickerFrequency->setText(QCoreApplication::translate("advancedConfigurationDlg", "5", nullptr));
+        lineEdit_bluetoothBroadcastFlickerFrequency->setText(QCoreApplication::translate("advancedConfigurationDlg", "5", nullptr));
+        lineEdit_bluetoothLinkBackToFlickerFrequency->setText(QCoreApplication::translate("advancedConfigurationDlg", "2", nullptr));
+        lineEdit_dpiFlickerFrequency->setText(QCoreApplication::translate("advancedConfigurationDlg", "2", nullptr));
+        lineEdit_lowLampFlickerFrequency->setText(QCoreApplication::translate("advancedConfigurationDlg", "20", nullptr));
+        label_3->setText(QCoreApplication::translate("advancedConfigurationDlg", "DPI\347\201\257\345\273\266\346\227\266\351\227\252\347\203\201(\347\231\276ms)", nullptr));
+        label_4->setText(QCoreApplication::translate("advancedConfigurationDlg", "\346\250\241\345\274\217\347\201\257\345\270\270\344\272\256\346\227\266\351\227\264(s)", nullptr));
+        lineEdit_dpiLampDelayFlicker->setText(QCoreApplication::translate("advancedConfigurationDlg", "10", nullptr));
+        lineEdit_theModeLightUsuallyTurnsOnTime->setText(QCoreApplication::translate("advancedConfigurationDlg", "2", nullptr));
+        groupBox_sensorConfiguration->setTitle(QCoreApplication::translate("advancedConfigurationDlg", "Sensor\351\205\215\347\275\256", nullptr));
+        checkBox_smoothAlgorithm->setText(QCoreApplication::translate("advancedConfigurationDlg", "\345\234\206\346\273\221\347\256\227\346\263\225", nullptr));
+        label_36->setText(QCoreApplication::translate("advancedConfigurationDlg", "clock gpio", nullptr));
+        label_38->setText(QCoreApplication::translate("advancedConfigurationDlg", "sdio gpio", nullptr));
+        lineEdit_clockGpio->setText(QCoreApplication::translate("advancedConfigurationDlg", "7", nullptr));
+        lineEdit_sdioGpio->setText(QCoreApplication::translate("advancedConfigurationDlg", "6", nullptr));
+        label_35->setText(QCoreApplication::translate("advancedConfigurationDlg", "\357\274\210hex\357\274\211", nullptr));
+        label_37->setText(QCoreApplication::translate("advancedConfigurationDlg", "\357\274\210hex\357\274\211", nullptr));
+        groupBox_timeParameterConfiguration->setTitle(QCoreApplication::translate("advancedConfigurationDlg", "\346\227\266\351\227\264\345\217\202\346\225\260\351\205\215\347\275\256", nullptr));
+        label_15->setText(QCoreApplication::translate("advancedConfigurationDlg", "\350\223\235\347\211\231\345\271\277\346\222\255\346\227\266\351\227\264(s)", nullptr));
+        label_16->setText(QCoreApplication::translate("advancedConfigurationDlg", "\350\223\235\347\211\231\345\233\236\350\277\236\346\227\266\351\227\264(s)", nullptr));
+        label_18->setText(QCoreApplication::translate("advancedConfigurationDlg", "24G\345\257\271\347\240\201\346\227\266\351\227\264(s)", nullptr));
+        label_17->setText(QCoreApplication::translate("advancedConfigurationDlg", "24G\345\233\236\350\277\236\346\227\266\351\227\264(s)", nullptr));
+        label_19->setText(QCoreApplication::translate("advancedConfigurationDlg", "24G\345\277\253\350\277\236\346\227\266\351\227\264(\347\231\276ms)", nullptr));
+        label_20->setText(QCoreApplication::translate("advancedConfigurationDlg", "\344\274\221\347\234\240\346\227\266\351\227\264(s)", nullptr));
+        lineEdit_bluetoothBroadcastTime->setText(QCoreApplication::translate("advancedConfigurationDlg", "120", nullptr));
+        lineEdit_bluetoothBackTime->setText(QCoreApplication::translate("advancedConfigurationDlg", "10", nullptr));
+        lineEdit_24gCodetocodeTime->setText(QCoreApplication::translate("advancedConfigurationDlg", "60", nullptr));
+        lineEdit_24gCallBackTime->setText(QCoreApplication::translate("advancedConfigurationDlg", "10", nullptr));
+        lineEdit_24gFastConnectTime->setText(QCoreApplication::translate("advancedConfigurationDlg", "10", nullptr));
+        lineEdit_sleepTime->setText(QCoreApplication::translate("advancedConfigurationDlg", "600", nullptr));
+        groupBox_5->setTitle(QCoreApplication::translate("advancedConfigurationDlg", "Logo\347\201\257\351\205\215\347\275\256", nullptr));
+        checkBox_LogoLedMemory->setText(QCoreApplication::translate("advancedConfigurationDlg", "\350\256\260\345\277\206\345\212\237\350\203\275", nullptr));
+        label_44->setText(QCoreApplication::translate("advancedConfigurationDlg", "Logo\347\201\257\345\244\215\347\224\250\347\261\273\345\236\213", nullptr));
+        label_43->setText(QCoreApplication::translate("advancedConfigurationDlg", "Logo\347\201\257\346\216\247\345\210\266\347\261\273\345\236\213", nullptr));
+        comboBox_Logo_led_reuse->setItemText(0, QCoreApplication::translate("advancedConfigurationDlg", "\347\246\201\347\224\250", nullptr));
+        comboBox_Logo_led_reuse->setItemText(1, QCoreApplication::translate("advancedConfigurationDlg", "DPI\347\201\257\344\270\216Logo\347\201\257\345\244\215\347\224\250", nullptr));
+        comboBox_Logo_led_reuse->setItemText(2, QCoreApplication::translate("advancedConfigurationDlg", "\344\275\216\347\224\265\347\201\257\344\270\216Logo\347\201\257\345\244\215\347\224\250", nullptr));
+        comboBox_Logo_led_reuse->setItemText(3, QCoreApplication::translate("advancedConfigurationDlg", "DPI+\344\275\216\347\224\265\347\201\257\344\270\216Logo\347\201\257\345\244\215\347\224\250", nullptr));
+
+        comboBox_Logo_led_control->setItemText(0, QCoreApplication::translate("advancedConfigurationDlg", "\347\246\201\347\224\250", nullptr));
+        comboBox_Logo_led_control->setItemText(1, QCoreApplication::translate("advancedConfigurationDlg", "\347\273\204\345\220\210\351\224\256\346\216\247\345\210\266", nullptr));
+        comboBox_Logo_led_control->setItemText(2, QCoreApplication::translate("advancedConfigurationDlg", "DPI\351\224\256\346\216\247\345\210\266", nullptr));
+
+        groupBox_lowPowerConfiguration->setTitle(QCoreApplication::translate("advancedConfigurationDlg", "\344\275\216\347\224\265\351\205\215\347\275\256", nullptr));
+        groupBox_lowPowerEnable_2->setTitle(QCoreApplication::translate("advancedConfigurationDlg", "\344\275\216\347\224\265\344\275\277\350\203\275", nullptr));
+        groupBox_lowLightEnable_3->setTitle(QCoreApplication::translate("advancedConfigurationDlg", "\344\275\216\347\224\265\347\201\257\344\275\277\350\203\275", nullptr));
+        label_49->setText(QCoreApplication::translate("advancedConfigurationDlg", "\357\274\210hex\357\274\211", nullptr));
+        label_lowLightGpio_3->setText(QCoreApplication::translate("advancedConfigurationDlg", "\344\275\216\347\224\265\347\201\257GPIO", nullptr));
+        label_51->setText(QCoreApplication::translate("advancedConfigurationDlg", "ADC\351\207\207\346\240\267\346\250\241\345\274\217", nullptr));
+        label_lowPowerEnable_3->setText(QCoreApplication::translate("advancedConfigurationDlg", "ADC\351\200\232\351\201\223", nullptr));
+        label_46->setText(QCoreApplication::translate("advancedConfigurationDlg", "\346\273\241\347\224\265\347\224\265\345\216\213\357\274\210V\357\274\211", nullptr));
+        label_50->setText(QCoreApplication::translate("advancedConfigurationDlg", "\344\275\216\347\224\265\347\224\265\345\216\213\357\274\210V\357\274\211", nullptr));
+        label_shutdownVoltage_3->setText(QCoreApplication::translate("advancedConfigurationDlg", "\345\205\263\346\234\272\347\224\265\345\216\213\357\274\210V\357\274\211", nullptr));
+        comboBox_adcSamplingMode_3->setItemText(0, QCoreApplication::translate("advancedConfigurationDlg", "GPIO", nullptr));
+        comboBox_adcSamplingMode_3->setItemText(1, QCoreApplication::translate("advancedConfigurationDlg", "VIN", nullptr));
+
+        comboBox_adcChannel_3->setItemText(0, QCoreApplication::translate("advancedConfigurationDlg", "GPIO4", nullptr));
+        comboBox_adcChannel_3->setItemText(1, QCoreApplication::translate("advancedConfigurationDlg", "GPIO5", nullptr));
+        comboBox_adcChannel_3->setItemText(2, QCoreApplication::translate("advancedConfigurationDlg", "GPIO6", nullptr));
+        comboBox_adcChannel_3->setItemText(3, QCoreApplication::translate("advancedConfigurationDlg", "GPIO7", nullptr));
+        comboBox_adcChannel_3->setItemText(4, QCoreApplication::translate("advancedConfigurationDlg", "GPIO9", nullptr));
+        comboBox_adcChannel_3->setItemText(5, QCoreApplication::translate("advancedConfigurationDlg", "GPIO10", nullptr));
+        comboBox_adcChannel_3->setItemText(6, QCoreApplication::translate("advancedConfigurationDlg", "GPIO11", nullptr));
+        comboBox_adcChannel_3->setItemText(7, QCoreApplication::translate("advancedConfigurationDlg", "GPIO12", nullptr));
+
+        checkBox_cancelTheBatteryReport->setText(QCoreApplication::translate("advancedConfigurationDlg", "\345\217\226\346\266\210\347\224\265\351\207\217\344\270\212\346\212\245", nullptr));
+        groupBox->setTitle(QCoreApplication::translate("advancedConfigurationDlg", "\350\223\235\347\211\231\345\220\215\351\205\215\347\275\256", nullptr));
+        checkBox_BtNameEnable->setText(QCoreApplication::translate("advancedConfigurationDlg", "\350\223\235\347\211\231\351\200\232\351\201\2232\345\220\215\347\247\260\344\277\256\346\224\271\344\275\277\350\203\275", nullptr));
+        groupBox_BluetoothConfig->setTitle(QString());
+        lineEdit_Ble2Name->setText(QString());
+        lineEdit_Bt2Name->setText(QString());
+        label_41->setText(QCoreApplication::translate("advancedConfigurationDlg", "BLE\350\223\235\347\211\2312\345\220\215\345\255\227", nullptr));
+        label_42->setText(QCoreApplication::translate("advancedConfigurationDlg", "BT\350\223\235\347\211\2312\345\220\215\345\255\227", nullptr));
+        lineEdit_Bt1Name->setText(QString());
+        label_40->setText(QCoreApplication::translate("advancedConfigurationDlg", "BT\350\223\235\347\211\2311\345\220\215\345\255\227", nullptr));
+        label_39->setText(QCoreApplication::translate("advancedConfigurationDlg", "BLE\350\223\235\347\211\2311\345\220\215\345\255\227", nullptr));
+        lineEdit_Ble1Name->setText(QString());
+    } // retranslateUi
+
+};
+
+namespace Ui {
+    class advancedConfigurationDlg: public Ui_advancedConfigurationDlg {};
+} // namespace Ui
+
+QT_END_NAMESPACE
+
+#endif // UI_ADVANCEDCONFIGURATIONDLG_H
Index: ui_mouseconfigtool.h
===================================================================
--- /YC1308AC/branch/mouse_project/TestTools/mous-config-tool-qt/ui_mouseconfigtool.h	(nonexistent)
+++ /YC1308AC/branch/mouse_project/TestTools/mous-config-tool-qt/ui_mouseconfigtool.h	(working copy)
@@ -0,0 +1,1505 @@
+/********************************************************************************
+** Form generated from reading UI file 'mouseconfigtool.ui'
+**
+** Created by: Qt User Interface Compiler version 5.15.2
+**
+** WARNING! All changes made in this file will be lost when recompiling UI file!
+********************************************************************************/
+
+#ifndef UI_MOUSECONFIGTOOL_H
+#define UI_MOUSECONFIGTOOL_H
+
+#include <QtCore/QVariant>
+#include <QtGui/QIcon>
+#include <QtWidgets/QApplication>
+#include <QtWidgets/QCheckBox>
+#include <QtWidgets/QComboBox>
+#include <QtWidgets/QGridLayout>
+#include <QtWidgets/QGroupBox>
+#include <QtWidgets/QHBoxLayout>
+#include <QtWidgets/QLabel>
+#include <QtWidgets/QLineEdit>
+#include <QtWidgets/QMainWindow>
+#include <QtWidgets/QMenuBar>
+#include <QtWidgets/QSpacerItem>
+#include <QtWidgets/QStatusBar>
+#include <QtWidgets/QVBoxLayout>
+#include <QtWidgets/QWidget>
+
+QT_BEGIN_NAMESPACE
+
+class Ui_MouseConfigTool
+{
+public:
+    QWidget *centralwidget;
+    QWidget *layoutWidget;
+    QGridLayout *gridLayout;
+    QGroupBox *groupBox_modeConfiguration;
+    QGroupBox *groupBox_24gConfiguration;
+    QLabel *label_50;
+    QComboBox *comboBox_24GRateReturn;
+    QGroupBox *groupBox_24GSearchDongleEnable;
+    QLabel *label_51;
+    QLineEdit *lineEdit_24GSearchTimer;
+    QWidget *layoutWidget1;
+    QGridLayout *gridLayout_8;
+    QCheckBox *checkBox_noPairs;
+    QCheckBox *checkBox_poweronCombinationKeyPairCode;
+    QHBoxLayout *horizontalLayout_4;
+    QLabel *label_35;
+    QComboBox *comboBox_keyPairCodeCombination;
+    QCheckBox *checkBox_theFirstFreeRightCode;
+    QCheckBox *checkBox_24gFirst;
+    QGroupBox *groupBox_bluetoothBroadcastMode;
+    QGroupBox *groupBox_keyCombinationBroadcast;
+    QHBoxLayout *horizontalLayout;
+    QLabel *label_32;
+    QComboBox *comboBox_radioModeKeyCombination;
+    QCheckBox *checkBox_pbKeyLongPressBroadcast;
+    QCheckBox *checkBox_backToTheCompanyFailedToBroadcast;
+    QCheckBox *checkBox_longPressDpiToBroadcast;
+    QWidget *layoutWidget2;
+    QGridLayout *gridLayout_6;
+    QHBoxLayout *horizontalLayout_5;
+    QLabel *label_17;
+    QComboBox *comboBox_theDefaultMode;
+    QHBoxLayout *horizontalLayout_6;
+    QLabel *label_1;
+    QComboBox *comboBox_maximumNumberOfChannels;
+    QHBoxLayout *horizontalLayout_7;
+    QLabel *label_30;
+    QComboBox *comboBox_bluetoothBroadcastType;
+    QHBoxLayout *horizontalLayout_8;
+    QLabel *label_31;
+    QComboBox *comboBox_modeSwitch;
+    QHBoxLayout *horizontalLayout_9;
+    QLabel *label_6;
+    QComboBox *comboBox_crystalFrequency;
+    QWidget *layoutWidget3;
+    QGridLayout *gridLayout_2;
+    QGroupBox *groupBox_ledLampConfiguration;
+    QGroupBox *groupBox_ledLampEnable;
+    QGroupBox *groupBox_theLampFunctionEnables;
+    QWidget *layoutWidget4;
+    QVBoxLayout *verticalLayout_6;
+    QCheckBox *checkBox_reconnectLampEfficiencyEnable;
+    QCheckBox *checkBox_limitTheNumberOfFlickerTimesOfReconnect;
+    QCheckBox *checkBox_lowFlickerFrequencyLimit;
+    QCheckBox *checkBox_1io_to_2led_reuse;
+    QHBoxLayout *horizontalLayout_15;
+    QLabel *label_16;
+    QComboBox *comboBox_modeLampReuse;
+    QGroupBox *groupBox_ledGpioConfiguration;
+    QWidget *layoutWidget5;
+    QHBoxLayout *horizontalLayout_2;
+    QVBoxLayout *verticalLayout_2;
+    QLabel *label_logoLampGpio_24;
+    QLabel *label_logoLampGpio_4;
+    QLabel *label_;
+    QLabel *label_logoLampGpio_6;
+    QSpacerItem *horizontalSpacer;
+    QVBoxLayout *verticalLayout_4;
+    QLineEdit *lineEdit_24gLight;
+    QLineEdit *lineEdit_bluetooth1Lamp;
+    QLineEdit *lineEdit_bluetooth2Lamp;
+    QLineEdit *lineEdit_dpiLamp;
+    QSpacerItem *horizontalSpacer_2;
+    QVBoxLayout *verticalLayout_5;
+    QLabel *label_40;
+    QLabel *label_41;
+    QLabel *label_42;
+    QLabel *label_43;
+    QSpacerItem *horizontalSpacer_3;
+    QVBoxLayout *verticalLayout_7;
+    QCheckBox *checkBox_24GLedHighlight;
+    QCheckBox *checkBox_Bt1LedHighlight;
+    QCheckBox *checkBox_Bt2LedHighlight;
+    QCheckBox *checkBox_DpiLedHighlight;
+    QGroupBox *groupBox_sensorConfiguration;
+    QLabel *label_44;
+    QWidget *layoutWidget6;
+    QHBoxLayout *horizontalLayout_13;
+    QVBoxLayout *verticalLayout;
+    QLabel *label;
+    QLabel *label_8;
+    QLabel *label_9;
+    QLabel *label_15;
+    QLabel *label_33;
+    QLabel *label_34;
+    QSpacerItem *horizontalSpacer_16;
+    QVBoxLayout *verticalLayout_3;
+    QComboBox *comboBox_SensorTyoeSelect;
+    QLineEdit *lineEdit_selectGpioForOrientation;
+    QComboBox *comboBox_directionOfGrounding;
+    QComboBox *comboBox_inTheAir;
+    QComboBox *comboBox_theDefaultDpiFile;
+    QComboBox *comboBox_numberOfDpiGears;
+    QWidget *layoutWidget7;
+    QHBoxLayout *horizontalLayout_10;
+    QLabel *label_logoLampGpio;
+    QSpacerItem *horizontalSpacer_13;
+    QLineEdit *lineEdit_logoLampGpio;
+    QSpacerItem *horizontalSpacer_14;
+    QLabel *label_45;
+    QSpacerItem *horizontalSpacer_15;
+    QCheckBox *checkBox_LogoLedHighlight;
+    QWidget *layoutWidget8;
+    QGridLayout *gridLayout_7;
+    QGroupBox *groupBox_keyIoConfiguration;
+    QWidget *layoutWidget9;
+    QGridLayout *gridLayout_4;
+    QGroupBox *groupBox_pressTheGpioButton;
+    QGroupBox *groupBox_pressTheButtonToEnable;
+    QGroupBox *groupBox_customKeyEnable;
+    QWidget *layoutWidget10;
+    QVBoxLayout *verticalLayout_16;
+    QVBoxLayout *verticalLayout_9;
+    QHBoxLayout *horizontalLayout_38;
+    QLabel *label_logoLampGpio_23;
+    QLineEdit *lineEdit_customKeyGpio;
+    QLabel *label_48;
+    QHBoxLayout *horizontalLayout_39;
+    QLabel *label_22;
+    QComboBox *comboBox_customButtonFunction;
+    QCheckBox *checkBox_customKey_conn_Vdd;
+    QCheckBox *checkBox_DpiDoubleEnable;
+    QCheckBox *checkBox_FierKey_Conn_Vdd;
+    QCheckBox *checkBox_DpiAnothorKey_Conn_Vdd;
+    QCheckBox *checkBox_theDpiKeyIsGrounded;
+    QCheckBox *checkBox_pbKeyGrounding;
+    QLabel *label_logoLampGpio_20;
+    QLineEdit *lineEdit_FireKey;
+    QLabel *label_47;
+    QWidget *layoutWidget11;
+    QVBoxLayout *verticalLayout_10;
+    QLineEdit *lineEdit_leftKey;
+    QLineEdit *lineEdit_middleKey;
+    QLineEdit *lineEdit_rightKey;
+    QLineEdit *lineEdit_pbKey;
+    QLineEdit *lineEdit_positiveRollerAKey;
+    QLineEdit *lineEdit_positiveRollerBKey;
+    QWidget *layoutWidget12;
+    QVBoxLayout *verticalLayout_12;
+    QLabel *label_logoLampGpio_11;
+    QLabel *label_logoLampGpio_13;
+    QLabel *label_logoLampGpio_12;
+    QLabel *label_logoLampGpio_21;
+    QLabel *label_logoLampGpio_16;
+    QLabel *label_logoLampGpio_19;
+    QWidget *layoutWidget13;
+    QVBoxLayout *verticalLayout_8;
+    QLabel *label_logoLampGpio_3;
+    QLabel *label_logoLampGpio_5;
+    QLabel *label_logoLampGpio_7;
+    QLabel *label_logoLampGpio_14;
+    QLabel *label_logoLampGpio_18;
+    QLabel *label_logoLampGpio_15;
+    QWidget *layoutWidget14;
+    QVBoxLayout *verticalLayout_14;
+    QLabel *label_39;
+    QLabel *label_38;
+    QLabel *label_37;
+    QLabel *label_49;
+    QLabel *label_36;
+    QLabel *label_28;
+    QWidget *layoutWidget15;
+    QVBoxLayout *verticalLayout_13;
+    QLineEdit *lineEdit_b4Key;
+    QLineEdit *lineEdit_b5Key;
+    QLineEdit *lineEdit_dpiAddKey;
+    QLineEdit *lineEdit_DpiAnotherKey;
+    QLineEdit *lineEdit_publicFeet;
+    QLineEdit *lineEdit_flipTheSwitch;
+    QWidget *layoutWidget16;
+    QVBoxLayout *verticalLayout_11;
+    QLabel *label_46;
+    QLabel *label_24;
+    QLabel *label_25;
+    QLabel *label_26;
+    QLabel *label_27;
+    QLabel *label_29;
+    QWidget *layoutWidget17;
+    QHBoxLayout *horizontalLayout_14;
+    QMenuBar *menubar;
+    QStatusBar *statusbar;
+
+    void setupUi(QMainWindow *MouseConfigTool)
+    {
+        if (MouseConfigTool->objectName().isEmpty())
+            MouseConfigTool->setObjectName(QString::fromUtf8("MouseConfigTool"));
+        MouseConfigTool->setWindowModality(Qt::ApplicationModal);
+        MouseConfigTool->resize(1200, 771);
+        QSizePolicy sizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding);
+        sizePolicy.setHorizontalStretch(0);
+        sizePolicy.setVerticalStretch(0);
+        sizePolicy.setHeightForWidth(MouseConfigTool->sizePolicy().hasHeightForWidth());
+        MouseConfigTool->setSizePolicy(sizePolicy);
+        MouseConfigTool->setMinimumSize(QSize(1200, 771));
+        MouseConfigTool->setMaximumSize(QSize(1200, 771));
+        QFont font;
+        font.setFamily(QString::fromUtf8("\345\276\256\350\275\257\351\233\205\351\273\221"));
+        font.setPointSize(12);
+        MouseConfigTool->setFont(font);
+        MouseConfigTool->setContextMenuPolicy(Qt::NoContextMenu);
+        QIcon icon(QIcon::fromTheme(QString::fromUtf8("application-exit")));
+        MouseConfigTool->setWindowIcon(icon);
+        MouseConfigTool->setStyleSheet(QString::fromUtf8("QGroupBox { font-weight: bold; }"));
+        MouseConfigTool->setAnimated(true);
+        MouseConfigTool->setDockNestingEnabled(false);
+        centralwidget = new QWidget(MouseConfigTool);
+        centralwidget->setObjectName(QString::fromUtf8("centralwidget"));
+        centralwidget->setMaximumSize(QSize(1920, 800));
+        centralwidget->setContextMenuPolicy(Qt::NoContextMenu);
+        layoutWidget = new QWidget(centralwidget);
+        layoutWidget->setObjectName(QString::fromUtf8("layoutWidget"));
+        layoutWidget->setGeometry(QRect(7, 7, 281, 731));
+        gridLayout = new QGridLayout(layoutWidget);
+        gridLayout->setObjectName(QString::fromUtf8("gridLayout"));
+        gridLayout->setContentsMargins(0, 0, 0, 0);
+        groupBox_modeConfiguration = new QGroupBox(layoutWidget);
+        groupBox_modeConfiguration->setObjectName(QString::fromUtf8("groupBox_modeConfiguration"));
+        groupBox_modeConfiguration->setMinimumSize(QSize(261, 202));
+        QFont font1;
+        font1.setPointSize(12);
+        font1.setBold(true);
+        groupBox_modeConfiguration->setFont(font1);
+        groupBox_24gConfiguration = new QGroupBox(groupBox_modeConfiguration);
+        groupBox_24gConfiguration->setObjectName(QString::fromUtf8("groupBox_24gConfiguration"));
+        groupBox_24gConfiguration->setGeometry(QRect(0, 210, 276, 311));
+        groupBox_24gConfiguration->setMinimumSize(QSize(276, 194));
+        groupBox_24gConfiguration->setFont(font1);
+        label_50 = new QLabel(groupBox_24gConfiguration);
+        label_50->setObjectName(QString::fromUtf8("label_50"));
+        label_50->setGeometry(QRect(15, 270, 131, 21));
+        QFont font2;
+        font2.setPointSize(12);
+        label_50->setFont(font2);
+        comboBox_24GRateReturn = new QComboBox(groupBox_24gConfiguration);
+        comboBox_24GRateReturn->addItem(QString());
+        comboBox_24GRateReturn->addItem(QString());
+        comboBox_24GRateReturn->setObjectName(QString::fromUtf8("comboBox_24GRateReturn"));
+        comboBox_24GRateReturn->setGeometry(QRect(148, 270, 91, 29));
+        comboBox_24GRateReturn->setFont(font2);
+        groupBox_24GSearchDongleEnable = new QGroupBox(groupBox_24gConfiguration);
+        groupBox_24GSearchDongleEnable->setObjectName(QString::fromUtf8("groupBox_24GSearchDongleEnable"));
+        groupBox_24GSearchDongleEnable->setEnabled(true);
+        groupBox_24GSearchDongleEnable->setGeometry(QRect(10, 198, 241, 61));
+        groupBox_24GSearchDongleEnable->setFont(font1);
+        groupBox_24GSearchDongleEnable->setCheckable(true);
+        groupBox_24GSearchDongleEnable->setChecked(false);
+        label_51 = new QLabel(groupBox_24GSearchDongleEnable);
+        label_51->setObjectName(QString::fromUtf8("label_51"));
+        label_51->setGeometry(QRect(20, 30, 151, 29));
+        label_51->setFont(font2);
+        lineEdit_24GSearchTimer = new QLineEdit(groupBox_24GSearchDongleEnable);
+        lineEdit_24GSearchTimer->setObjectName(QString::fromUtf8("lineEdit_24GSearchTimer"));
+        lineEdit_24GSearchTimer->setGeometry(QRect(159, 30, 51, 28));
+        layoutWidget1 = new QWidget(groupBox_24gConfiguration);
+        layoutWidget1->setObjectName(QString::fromUtf8("layoutWidget1"));
+        layoutWidget1->setGeometry(QRect(14, 33, 251, 157));
+        gridLayout_8 = new QGridLayout(layoutWidget1);
+        gridLayout_8->setObjectName(QString::fromUtf8("gridLayout_8"));
+        gridLayout_8->setContentsMargins(0, 0, 0, 0);
+        checkBox_noPairs = new QCheckBox(layoutWidget1);
+        checkBox_noPairs->setObjectName(QString::fromUtf8("checkBox_noPairs"));
+        checkBox_noPairs->setFont(font2);
+        checkBox_noPairs->setChecked(true);
+
+        gridLayout_8->addWidget(checkBox_noPairs, 0, 0, 1, 1);
+
+        checkBox_poweronCombinationKeyPairCode = new QCheckBox(layoutWidget1);
+        checkBox_poweronCombinationKeyPairCode->setObjectName(QString::fromUtf8("checkBox_poweronCombinationKeyPairCode"));
+        checkBox_poweronCombinationKeyPairCode->setFont(font2);
+
+        gridLayout_8->addWidget(checkBox_poweronCombinationKeyPairCode, 1, 0, 1, 1);
+
+        horizontalLayout_4 = new QHBoxLayout();
+        horizontalLayout_4->setObjectName(QString::fromUtf8("horizontalLayout_4"));
+        label_35 = new QLabel(layoutWidget1);
+        label_35->setObjectName(QString::fromUtf8("label_35"));
+        label_35->setFont(font2);
+
+        horizontalLayout_4->addWidget(label_35);
+
+        comboBox_keyPairCodeCombination = new QComboBox(layoutWidget1);
+        comboBox_keyPairCodeCombination->addItem(QString());
+        comboBox_keyPairCodeCombination->addItem(QString());
+        comboBox_keyPairCodeCombination->addItem(QString());
+        comboBox_keyPairCodeCombination->addItem(QString());
+        comboBox_keyPairCodeCombination->setObjectName(QString::fromUtf8("comboBox_keyPairCodeCombination"));
+        comboBox_keyPairCodeCombination->setFont(font2);
+
+        horizontalLayout_4->addWidget(comboBox_keyPairCodeCombination);
+
+
+        gridLayout_8->addLayout(horizontalLayout_4, 2, 0, 1, 1);
+
+        checkBox_theFirstFreeRightCode = new QCheckBox(layoutWidget1);
+        checkBox_theFirstFreeRightCode->setObjectName(QString::fromUtf8("checkBox_theFirstFreeRightCode"));
+        checkBox_theFirstFreeRightCode->setFont(font2);
+
+        gridLayout_8->addWidget(checkBox_theFirstFreeRightCode, 3, 0, 1, 1);
+
+        checkBox_24gFirst = new QCheckBox(layoutWidget1);
+        checkBox_24gFirst->setObjectName(QString::fromUtf8("checkBox_24gFirst"));
+        checkBox_24gFirst->setFont(font2);
+
+        gridLayout_8->addWidget(checkBox_24gFirst, 4, 0, 1, 1);
+
+        groupBox_bluetoothBroadcastMode = new QGroupBox(groupBox_modeConfiguration);
+        groupBox_bluetoothBroadcastMode->setObjectName(QString::fromUtf8("groupBox_bluetoothBroadcastMode"));
+        groupBox_bluetoothBroadcastMode->setEnabled(true);
+        groupBox_bluetoothBroadcastMode->setGeometry(QRect(0, 523, 271, 220));
+        sizePolicy.setHeightForWidth(groupBox_bluetoothBroadcastMode->sizePolicy().hasHeightForWidth());
+        groupBox_bluetoothBroadcastMode->setSizePolicy(sizePolicy);
+        groupBox_bluetoothBroadcastMode->setMinimumSize(QSize(260, 220));
+        groupBox_bluetoothBroadcastMode->setMaximumSize(QSize(1318, 800));
+        groupBox_bluetoothBroadcastMode->setFont(font1);
+        groupBox_keyCombinationBroadcast = new QGroupBox(groupBox_bluetoothBroadcastMode);
+        groupBox_keyCombinationBroadcast->setObjectName(QString::fromUtf8("groupBox_keyCombinationBroadcast"));
+        groupBox_keyCombinationBroadcast->setGeometry(QRect(11, 124, 234, 71));
+        QSizePolicy sizePolicy1(QSizePolicy::Preferred, QSizePolicy::Preferred);
+        sizePolicy1.setHorizontalStretch(0);
+        sizePolicy1.setVerticalStretch(0);
+        sizePolicy1.setHeightForWidth(groupBox_keyCombinationBroadcast->sizePolicy().hasHeightForWidth());
+        groupBox_keyCombinationBroadcast->setSizePolicy(sizePolicy1);
+        groupBox_keyCombinationBroadcast->setMinimumSize(QSize(0, 0));
+        groupBox_keyCombinationBroadcast->setFont(font1);
+        groupBox_keyCombinationBroadcast->setFlat(false);
+        groupBox_keyCombinationBroadcast->setCheckable(true);
+        groupBox_keyCombinationBroadcast->setChecked(false);
+        horizontalLayout = new QHBoxLayout(groupBox_keyCombinationBroadcast);
+        horizontalLayout->setObjectName(QString::fromUtf8("horizontalLayout"));
+        label_32 = new QLabel(groupBox_keyCombinationBroadcast);
+        label_32->setObjectName(QString::fromUtf8("label_32"));
+        label_32->setEnabled(false);
+        label_32->setFont(font2);
+
+        horizontalLayout->addWidget(label_32);
+
+        comboBox_radioModeKeyCombination = new QComboBox(groupBox_keyCombinationBroadcast);
+        comboBox_radioModeKeyCombination->addItem(QString());
+        comboBox_radioModeKeyCombination->addItem(QString());
+        comboBox_radioModeKeyCombination->addItem(QString());
+        comboBox_radioModeKeyCombination->addItem(QString());
+        comboBox_radioModeKeyCombination->setObjectName(QString::fromUtf8("comboBox_radioModeKeyCombination"));
+        comboBox_radioModeKeyCombination->setEnabled(false);
+        QSizePolicy sizePolicy2(QSizePolicy::Expanding, QSizePolicy::Fixed);
+        sizePolicy2.setHorizontalStretch(0);
+        sizePolicy2.setVerticalStretch(0);
+        sizePolicy2.setHeightForWidth(comboBox_radioModeKeyCombination->sizePolicy().hasHeightForWidth());
+        comboBox_radioModeKeyCombination->setSizePolicy(sizePolicy2);
+        comboBox_radioModeKeyCombination->setMinimumSize(QSize(100, 30));
+        comboBox_radioModeKeyCombination->setFont(font2);
+
+        horizontalLayout->addWidget(comboBox_radioModeKeyCombination);
+
+        checkBox_pbKeyLongPressBroadcast = new QCheckBox(groupBox_bluetoothBroadcastMode);
+        checkBox_pbKeyLongPressBroadcast->setObjectName(QString::fromUtf8("checkBox_pbKeyLongPressBroadcast"));
+        checkBox_pbKeyLongPressBroadcast->setGeometry(QRect(11, 31, 125, 27));
+        checkBox_pbKeyLongPressBroadcast->setFont(font2);
+        checkBox_backToTheCompanyFailedToBroadcast = new QCheckBox(groupBox_bluetoothBroadcastMode);
+        checkBox_backToTheCompanyFailedToBroadcast->setObjectName(QString::fromUtf8("checkBox_backToTheCompanyFailedToBroadcast"));
+        checkBox_backToTheCompanyFailedToBroadcast->setGeometry(QRect(11, 93, 121, 27));
+        checkBox_backToTheCompanyFailedToBroadcast->setFont(font2);
+        checkBox_longPressDpiToBroadcast = new QCheckBox(groupBox_bluetoothBroadcastMode);
+        checkBox_longPressDpiToBroadcast->setObjectName(QString::fromUtf8("checkBox_longPressDpiToBroadcast"));
+        checkBox_longPressDpiToBroadcast->setGeometry(QRect(11, 62, 116, 27));
+        checkBox_longPressDpiToBroadcast->setFont(font2);
+        layoutWidget2 = new QWidget(groupBox_modeConfiguration);
+        layoutWidget2->setObjectName(QString::fromUtf8("layoutWidget2"));
+        layoutWidget2->setGeometry(QRect(11, 27, 261, 181));
+        gridLayout_6 = new QGridLayout(layoutWidget2);
+        gridLayout_6->setObjectName(QString::fromUtf8("gridLayout_6"));
+        gridLayout_6->setContentsMargins(0, 0, 0, 0);
+        horizontalLayout_5 = new QHBoxLayout();
+        horizontalLayout_5->setObjectName(QString::fromUtf8("horizontalLayout_5"));
+        label_17 = new QLabel(layoutWidget2);
+        label_17->setObjectName(QString::fromUtf8("label_17"));
+        label_17->setFont(font2);
+
+        horizontalLayout_5->addWidget(label_17);
+
+        comboBox_theDefaultMode = new QComboBox(layoutWidget2);
+        comboBox_theDefaultMode->addItem(QString());
+        comboBox_theDefaultMode->addItem(QString());
+        comboBox_theDefaultMode->setObjectName(QString::fromUtf8("comboBox_theDefaultMode"));
+        comboBox_theDefaultMode->setFont(font2);
+
+        horizontalLayout_5->addWidget(comboBox_theDefaultMode);
+
+
+        gridLayout_6->addLayout(horizontalLayout_5, 0, 0, 1, 1);
+
+        horizontalLayout_6 = new QHBoxLayout();
+        horizontalLayout_6->setObjectName(QString::fromUtf8("horizontalLayout_6"));
+        label_1 = new QLabel(layoutWidget2);
+        label_1->setObjectName(QString::fromUtf8("label_1"));
+        label_1->setFont(font2);
+
+        horizontalLayout_6->addWidget(label_1);
+
+        comboBox_maximumNumberOfChannels = new QComboBox(layoutWidget2);
+        comboBox_maximumNumberOfChannels->addItem(QString());
+        comboBox_maximumNumberOfChannels->addItem(QString());
+        comboBox_maximumNumberOfChannels->addItem(QString());
+        comboBox_maximumNumberOfChannels->setObjectName(QString::fromUtf8("comboBox_maximumNumberOfChannels"));
+        comboBox_maximumNumberOfChannels->setFont(font2);
+
+        horizontalLayout_6->addWidget(comboBox_maximumNumberOfChannels);
+
+
+        gridLayout_6->addLayout(horizontalLayout_6, 1, 0, 1, 1);
+
+        horizontalLayout_7 = new QHBoxLayout();
+        horizontalLayout_7->setObjectName(QString::fromUtf8("horizontalLayout_7"));
+        label_30 = new QLabel(layoutWidget2);
+        label_30->setObjectName(QString::fromUtf8("label_30"));
+        label_30->setFont(font2);
+
+        horizontalLayout_7->addWidget(label_30);
+
+        comboBox_bluetoothBroadcastType = new QComboBox(layoutWidget2);
+        comboBox_bluetoothBroadcastType->addItem(QString());
+        comboBox_bluetoothBroadcastType->addItem(QString());
+        comboBox_bluetoothBroadcastType->addItem(QString());
+        comboBox_bluetoothBroadcastType->setObjectName(QString::fromUtf8("comboBox_bluetoothBroadcastType"));
+        comboBox_bluetoothBroadcastType->setFont(font2);
+
+        horizontalLayout_7->addWidget(comboBox_bluetoothBroadcastType);
+
+
+        gridLayout_6->addLayout(horizontalLayout_7, 2, 0, 1, 1);
+
+        horizontalLayout_8 = new QHBoxLayout();
+        horizontalLayout_8->setObjectName(QString::fromUtf8("horizontalLayout_8"));
+        label_31 = new QLabel(layoutWidget2);
+        label_31->setObjectName(QString::fromUtf8("label_31"));
+        label_31->setFont(font2);
+
+        horizontalLayout_8->addWidget(label_31);
+
+        comboBox_modeSwitch = new QComboBox(layoutWidget2);
+        comboBox_modeSwitch->addItem(QString());
+        comboBox_modeSwitch->addItem(QString());
+        comboBox_modeSwitch->addItem(QString());
+        comboBox_modeSwitch->addItem(QString());
+        comboBox_modeSwitch->setObjectName(QString::fromUtf8("comboBox_modeSwitch"));
+        comboBox_modeSwitch->setFont(font2);
+
+        horizontalLayout_8->addWidget(comboBox_modeSwitch);
+
+
+        gridLayout_6->addLayout(horizontalLayout_8, 3, 0, 1, 1);
+
+        horizontalLayout_9 = new QHBoxLayout();
+        horizontalLayout_9->setObjectName(QString::fromUtf8("horizontalLayout_9"));
+        label_6 = new QLabel(layoutWidget2);
+        label_6->setObjectName(QString::fromUtf8("label_6"));
+        label_6->setFont(font2);
+
+        horizontalLayout_9->addWidget(label_6);
+
+        comboBox_crystalFrequency = new QComboBox(layoutWidget2);
+        comboBox_crystalFrequency->addItem(QString());
+        comboBox_crystalFrequency->addItem(QString());
+        comboBox_crystalFrequency->setObjectName(QString::fromUtf8("comboBox_crystalFrequency"));
+        comboBox_crystalFrequency->setFont(font2);
+
+        horizontalLayout_9->addWidget(comboBox_crystalFrequency);
+
+
+        gridLayout_6->addLayout(horizontalLayout_9, 4, 0, 1, 1);
+
+
+        gridLayout->addWidget(groupBox_modeConfiguration, 0, 0, 1, 1);
+
+        layoutWidget3 = new QWidget(centralwidget);
+        layoutWidget3->setObjectName(QString::fromUtf8("layoutWidget3"));
+        layoutWidget3->setGeometry(QRect(290, 8, 391, 761));
+        gridLayout_2 = new QGridLayout(layoutWidget3);
+        gridLayout_2->setObjectName(QString::fromUtf8("gridLayout_2"));
+        gridLayout_2->setContentsMargins(0, 0, 0, 0);
+        groupBox_ledLampConfiguration = new QGroupBox(layoutWidget3);
+        groupBox_ledLampConfiguration->setObjectName(QString::fromUtf8("groupBox_ledLampConfiguration"));
+        QSizePolicy sizePolicy3(QSizePolicy::MinimumExpanding, QSizePolicy::Preferred);
+        sizePolicy3.setHorizontalStretch(0);
+        sizePolicy3.setVerticalStretch(0);
+        sizePolicy3.setHeightForWidth(groupBox_ledLampConfiguration->sizePolicy().hasHeightForWidth());
+        groupBox_ledLampConfiguration->setSizePolicy(sizePolicy3);
+        groupBox_ledLampConfiguration->setMinimumSize(QSize(389, 446));
+        groupBox_ledLampConfiguration->setFont(font1);
+        groupBox_ledLampEnable = new QGroupBox(groupBox_ledLampConfiguration);
+        groupBox_ledLampEnable->setObjectName(QString::fromUtf8("groupBox_ledLampEnable"));
+        groupBox_ledLampEnable->setEnabled(true);
+        groupBox_ledLampEnable->setGeometry(QRect(33, 64, 348, 421));
+        groupBox_ledLampEnable->setFont(font1);
+        groupBox_ledLampEnable->setCheckable(true);
+        groupBox_ledLampEnable->setChecked(false);
+        groupBox_theLampFunctionEnables = new QGroupBox(groupBox_ledLampEnable);
+        groupBox_theLampFunctionEnables->setObjectName(QString::fromUtf8("groupBox_theLampFunctionEnables"));
+        groupBox_theLampFunctionEnables->setEnabled(false);
+        groupBox_theLampFunctionEnables->setGeometry(QRect(0, 209, 351, 201));
+        groupBox_theLampFunctionEnables->setFont(font1);
+        layoutWidget4 = new QWidget(groupBox_theLampFunctionEnables);
+        layoutWidget4->setObjectName(QString::fromUtf8("layoutWidget4"));
+        layoutWidget4->setGeometry(QRect(20, 30, 321, 161));
+        verticalLayout_6 = new QVBoxLayout(layoutWidget4);
+        verticalLayout_6->setObjectName(QString::fromUtf8("verticalLayout_6"));
+        verticalLayout_6->setContentsMargins(0, 0, 0, 0);
+        checkBox_reconnectLampEfficiencyEnable = new QCheckBox(layoutWidget4);
+        checkBox_reconnectLampEfficiencyEnable->setObjectName(QString::fromUtf8("checkBox_reconnectLampEfficiencyEnable"));
+        checkBox_reconnectLampEfficiencyEnable->setFont(font2);
+
+        verticalLayout_6->addWidget(checkBox_reconnectLampEfficiencyEnable);
+
+        checkBox_limitTheNumberOfFlickerTimesOfReconnect = new QCheckBox(layoutWidget4);
+        checkBox_limitTheNumberOfFlickerTimesOfReconnect->setObjectName(QString::fromUtf8("checkBox_limitTheNumberOfFlickerTimesOfReconnect"));
+        checkBox_limitTheNumberOfFlickerTimesOfReconnect->setFont(font2);
+
+        verticalLayout_6->addWidget(checkBox_limitTheNumberOfFlickerTimesOfReconnect);
+
+        checkBox_lowFlickerFrequencyLimit = new QCheckBox(layoutWidget4);
+        checkBox_lowFlickerFrequencyLimit->setObjectName(QString::fromUtf8("checkBox_lowFlickerFrequencyLimit"));
+        checkBox_lowFlickerFrequencyLimit->setFont(font2);
+
+        verticalLayout_6->addWidget(checkBox_lowFlickerFrequencyLimit);
+
+        checkBox_1io_to_2led_reuse = new QCheckBox(layoutWidget4);
+        checkBox_1io_to_2led_reuse->setObjectName(QString::fromUtf8("checkBox_1io_to_2led_reuse"));
+        checkBox_1io_to_2led_reuse->setFont(font2);
+
+        verticalLayout_6->addWidget(checkBox_1io_to_2led_reuse);
+
+        horizontalLayout_15 = new QHBoxLayout();
+        horizontalLayout_15->setObjectName(QString::fromUtf8("horizontalLayout_15"));
+        label_16 = new QLabel(layoutWidget4);
+        label_16->setObjectName(QString::fromUtf8("label_16"));
+        label_16->setFont(font2);
+
+        horizontalLayout_15->addWidget(label_16);
+
+        comboBox_modeLampReuse = new QComboBox(layoutWidget4);
+        comboBox_modeLampReuse->addItem(QString());
+        comboBox_modeLampReuse->addItem(QString());
+        comboBox_modeLampReuse->addItem(QString());
+        comboBox_modeLampReuse->addItem(QString());
+        comboBox_modeLampReuse->setObjectName(QString::fromUtf8("comboBox_modeLampReuse"));
+        comboBox_modeLampReuse->setFont(font2);
+
+        horizontalLayout_15->addWidget(comboBox_modeLampReuse);
+
+
+        verticalLayout_6->addLayout(horizontalLayout_15);
+
+        groupBox_ledGpioConfiguration = new QGroupBox(groupBox_ledLampEnable);
+        groupBox_ledGpioConfiguration->setObjectName(QString::fromUtf8("groupBox_ledGpioConfiguration"));
+        groupBox_ledGpioConfiguration->setEnabled(false);
+        groupBox_ledGpioConfiguration->setGeometry(QRect(0, 32, 351, 171));
+        groupBox_ledGpioConfiguration->setFont(font1);
+        layoutWidget5 = new QWidget(groupBox_ledGpioConfiguration);
+        layoutWidget5->setObjectName(QString::fromUtf8("layoutWidget5"));
+        layoutWidget5->setGeometry(QRect(12, 33, 321, 128));
+        horizontalLayout_2 = new QHBoxLayout(layoutWidget5);
+        horizontalLayout_2->setObjectName(QString::fromUtf8("horizontalLayout_2"));
+        horizontalLayout_2->setContentsMargins(0, 0, 0, 0);
+        verticalLayout_2 = new QVBoxLayout();
+        verticalLayout_2->setObjectName(QString::fromUtf8("verticalLayout_2"));
+        label_logoLampGpio_24 = new QLabel(layoutWidget5);
+        label_logoLampGpio_24->setObjectName(QString::fromUtf8("label_logoLampGpio_24"));
+        label_logoLampGpio_24->setFont(font2);
+
+        verticalLayout_2->addWidget(label_logoLampGpio_24);
+
+        label_logoLampGpio_4 = new QLabel(layoutWidget5);
+        label_logoLampGpio_4->setObjectName(QString::fromUtf8("label_logoLampGpio_4"));
+        label_logoLampGpio_4->setFont(font2);
+
+        verticalLayout_2->addWidget(label_logoLampGpio_4);
+
+        label_ = new QLabel(layoutWidget5);
+        label_->setObjectName(QString::fromUtf8("label_"));
+        label_->setFont(font2);
+
+        verticalLayout_2->addWidget(label_);
+
+        label_logoLampGpio_6 = new QLabel(layoutWidget5);
+        label_logoLampGpio_6->setObjectName(QString::fromUtf8("label_logoLampGpio_6"));
+        label_logoLampGpio_6->setFont(font2);
+
+        verticalLayout_2->addWidget(label_logoLampGpio_6);
+
+
+        horizontalLayout_2->addLayout(verticalLayout_2);
+
+        horizontalSpacer = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
+
+        horizontalLayout_2->addItem(horizontalSpacer);
+
+        verticalLayout_4 = new QVBoxLayout();
+        verticalLayout_4->setObjectName(QString::fromUtf8("verticalLayout_4"));
+        lineEdit_24gLight = new QLineEdit(layoutWidget5);
+        lineEdit_24gLight->setObjectName(QString::fromUtf8("lineEdit_24gLight"));
+        lineEdit_24gLight->setFont(font2);
+        lineEdit_24gLight->setMaxLength(32754);
+
+        verticalLayout_4->addWidget(lineEdit_24gLight);
+
+        lineEdit_bluetooth1Lamp = new QLineEdit(layoutWidget5);
+        lineEdit_bluetooth1Lamp->setObjectName(QString::fromUtf8("lineEdit_bluetooth1Lamp"));
+        lineEdit_bluetooth1Lamp->setFont(font2);
+
+        verticalLayout_4->addWidget(lineEdit_bluetooth1Lamp);
+
+        lineEdit_bluetooth2Lamp = new QLineEdit(layoutWidget5);
+        lineEdit_bluetooth2Lamp->setObjectName(QString::fromUtf8("lineEdit_bluetooth2Lamp"));
+        lineEdit_bluetooth2Lamp->setFont(font2);
+
+        verticalLayout_4->addWidget(lineEdit_bluetooth2Lamp);
+
+        lineEdit_dpiLamp = new QLineEdit(layoutWidget5);
+        lineEdit_dpiLamp->setObjectName(QString::fromUtf8("lineEdit_dpiLamp"));
+        lineEdit_dpiLamp->setFont(font2);
+
+        verticalLayout_4->addWidget(lineEdit_dpiLamp);
+
+
+        horizontalLayout_2->addLayout(verticalLayout_4);
+
+        horizontalSpacer_2 = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
+
+        horizontalLayout_2->addItem(horizontalSpacer_2);
+
+        verticalLayout_5 = new QVBoxLayout();
+        verticalLayout_5->setObjectName(QString::fromUtf8("verticalLayout_5"));
+        label_40 = new QLabel(layoutWidget5);
+        label_40->setObjectName(QString::fromUtf8("label_40"));
+        label_40->setFont(font2);
+
+        verticalLayout_5->addWidget(label_40);
+
+        label_41 = new QLabel(layoutWidget5);
+        label_41->setObjectName(QString::fromUtf8("label_41"));
+        label_41->setFont(font2);
+
+        verticalLayout_5->addWidget(label_41);
+
+        label_42 = new QLabel(layoutWidget5);
+        label_42->setObjectName(QString::fromUtf8("label_42"));
+        label_42->setFont(font2);
+
+        verticalLayout_5->addWidget(label_42);
+
+        label_43 = new QLabel(layoutWidget5);
+        label_43->setObjectName(QString::fromUtf8("label_43"));
+        label_43->setFont(font2);
+
+        verticalLayout_5->addWidget(label_43);
+
+
+        horizontalLayout_2->addLayout(verticalLayout_5);
+
+        horizontalSpacer_3 = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
+
+        horizontalLayout_2->addItem(horizontalSpacer_3);
+
+        verticalLayout_7 = new QVBoxLayout();
+        verticalLayout_7->setObjectName(QString::fromUtf8("verticalLayout_7"));
+        checkBox_24GLedHighlight = new QCheckBox(layoutWidget5);
+        checkBox_24GLedHighlight->setObjectName(QString::fromUtf8("checkBox_24GLedHighlight"));
+        checkBox_24GLedHighlight->setFont(font2);
+
+        verticalLayout_7->addWidget(checkBox_24GLedHighlight);
+
+        checkBox_Bt1LedHighlight = new QCheckBox(layoutWidget5);
+        checkBox_Bt1LedHighlight->setObjectName(QString::fromUtf8("checkBox_Bt1LedHighlight"));
+        checkBox_Bt1LedHighlight->setFont(font2);
+
+        verticalLayout_7->addWidget(checkBox_Bt1LedHighlight);
+
+        checkBox_Bt2LedHighlight = new QCheckBox(layoutWidget5);
+        checkBox_Bt2LedHighlight->setObjectName(QString::fromUtf8("checkBox_Bt2LedHighlight"));
+        checkBox_Bt2LedHighlight->setFont(font2);
+
+        verticalLayout_7->addWidget(checkBox_Bt2LedHighlight);
+
+        checkBox_DpiLedHighlight = new QCheckBox(layoutWidget5);
+        checkBox_DpiLedHighlight->setObjectName(QString::fromUtf8("checkBox_DpiLedHighlight"));
+        checkBox_DpiLedHighlight->setFont(font2);
+
+        verticalLayout_7->addWidget(checkBox_DpiLedHighlight);
+
+
+        horizontalLayout_2->addLayout(verticalLayout_7);
+
+        groupBox_sensorConfiguration = new QGroupBox(groupBox_ledLampConfiguration);
+        groupBox_sensorConfiguration->setObjectName(QString::fromUtf8("groupBox_sensorConfiguration"));
+        groupBox_sensorConfiguration->setGeometry(QRect(0, 482, 389, 261));
+        sizePolicy3.setHeightForWidth(groupBox_sensorConfiguration->sizePolicy().hasHeightForWidth());
+        groupBox_sensorConfiguration->setSizePolicy(sizePolicy3);
+        groupBox_sensorConfiguration->setMinimumSize(QSize(389, 250));
+        groupBox_sensorConfiguration->setMaximumSize(QSize(16777215, 400));
+        groupBox_sensorConfiguration->setFont(font1);
+        groupBox_sensorConfiguration->setContextMenuPolicy(Qt::NoContextMenu);
+        label_44 = new QLabel(groupBox_sensorConfiguration);
+        label_44->setObjectName(QString::fromUtf8("label_44"));
+        label_44->setGeometry(QRect(320, 68, 60, 21));
+        label_44->setFont(font2);
+        layoutWidget6 = new QWidget(groupBox_sensorConfiguration);
+        layoutWidget6->setObjectName(QString::fromUtf8("layoutWidget6"));
+        layoutWidget6->setGeometry(QRect(20, 30, 291, 197));
+        horizontalLayout_13 = new QHBoxLayout(layoutWidget6);
+        horizontalLayout_13->setObjectName(QString::fromUtf8("horizontalLayout_13"));
+        horizontalLayout_13->setContentsMargins(0, 0, 0, 0);
+        verticalLayout = new QVBoxLayout();
+        verticalLayout->setObjectName(QString::fromUtf8("verticalLayout"));
+        label = new QLabel(layoutWidget6);
+        label->setObjectName(QString::fromUtf8("label"));
+        label->setFont(font2);
+
+        verticalLayout->addWidget(label);
+
+        label_8 = new QLabel(layoutWidget6);
+        label_8->setObjectName(QString::fromUtf8("label_8"));
+        label_8->setFont(font2);
+
+        verticalLayout->addWidget(label_8);
+
+        label_9 = new QLabel(layoutWidget6);
+        label_9->setObjectName(QString::fromUtf8("label_9"));
+        label_9->setFont(font2);
+
+        verticalLayout->addWidget(label_9);
+
+        label_15 = new QLabel(layoutWidget6);
+        label_15->setObjectName(QString::fromUtf8("label_15"));
+        label_15->setFont(font2);
+
+        verticalLayout->addWidget(label_15);
+
+        label_33 = new QLabel(layoutWidget6);
+        label_33->setObjectName(QString::fromUtf8("label_33"));
+        label_33->setFont(font2);
+
+        verticalLayout->addWidget(label_33);
+
+        label_34 = new QLabel(layoutWidget6);
+        label_34->setObjectName(QString::fromUtf8("label_34"));
+        label_34->setFont(font2);
+
+        verticalLayout->addWidget(label_34);
+
+
+        horizontalLayout_13->addLayout(verticalLayout);
+
+        horizontalSpacer_16 = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
+
+        horizontalLayout_13->addItem(horizontalSpacer_16);
+
+        verticalLayout_3 = new QVBoxLayout();
+        verticalLayout_3->setObjectName(QString::fromUtf8("verticalLayout_3"));
+        comboBox_SensorTyoeSelect = new QComboBox(layoutWidget6);
+        comboBox_SensorTyoeSelect->addItem(QString());
+        comboBox_SensorTyoeSelect->addItem(QString());
+        comboBox_SensorTyoeSelect->addItem(QString());
+        comboBox_SensorTyoeSelect->setObjectName(QString::fromUtf8("comboBox_SensorTyoeSelect"));
+        comboBox_SensorTyoeSelect->setFont(font2);
+
+        verticalLayout_3->addWidget(comboBox_SensorTyoeSelect);
+
+        lineEdit_selectGpioForOrientation = new QLineEdit(layoutWidget6);
+        lineEdit_selectGpioForOrientation->setObjectName(QString::fromUtf8("lineEdit_selectGpioForOrientation"));
+        lineEdit_selectGpioForOrientation->setFont(font2);
+        lineEdit_selectGpioForOrientation->setContextMenuPolicy(Qt::DefaultContextMenu);
+
+        verticalLayout_3->addWidget(lineEdit_selectGpioForOrientation);
+
+        comboBox_directionOfGrounding = new QComboBox(layoutWidget6);
+        comboBox_directionOfGrounding->addItem(QString());
+        comboBox_directionOfGrounding->addItem(QString());
+        comboBox_directionOfGrounding->addItem(QString());
+        comboBox_directionOfGrounding->addItem(QString());
+        comboBox_directionOfGrounding->setObjectName(QString::fromUtf8("comboBox_directionOfGrounding"));
+        comboBox_directionOfGrounding->setFont(font2);
+
+        verticalLayout_3->addWidget(comboBox_directionOfGrounding);
+
+        comboBox_inTheAir = new QComboBox(layoutWidget6);
+        comboBox_inTheAir->addItem(QString());
+        comboBox_inTheAir->addItem(QString());
+        comboBox_inTheAir->addItem(QString());
+        comboBox_inTheAir->addItem(QString());
+        comboBox_inTheAir->setObjectName(QString::fromUtf8("comboBox_inTheAir"));
+        comboBox_inTheAir->setFont(font2);
+
+        verticalLayout_3->addWidget(comboBox_inTheAir);
+
+        comboBox_theDefaultDpiFile = new QComboBox(layoutWidget6);
+        comboBox_theDefaultDpiFile->addItem(QString());
+        comboBox_theDefaultDpiFile->addItem(QString());
+        comboBox_theDefaultDpiFile->setObjectName(QString::fromUtf8("comboBox_theDefaultDpiFile"));
+        comboBox_theDefaultDpiFile->setFont(font2);
+
+        verticalLayout_3->addWidget(comboBox_theDefaultDpiFile);
+
+        comboBox_numberOfDpiGears = new QComboBox(layoutWidget6);
+        comboBox_numberOfDpiGears->addItem(QString());
+        comboBox_numberOfDpiGears->addItem(QString());
+        comboBox_numberOfDpiGears->setObjectName(QString::fromUtf8("comboBox_numberOfDpiGears"));
+        comboBox_numberOfDpiGears->setFont(font2);
+
+        verticalLayout_3->addWidget(comboBox_numberOfDpiGears);
+
+
+        horizontalLayout_13->addLayout(verticalLayout_3);
+
+        layoutWidget7 = new QWidget(groupBox_ledLampConfiguration);
+        layoutWidget7->setObjectName(QString::fromUtf8("layoutWidget7"));
+        layoutWidget7->setGeometry(QRect(34, 30, 341, 30));
+        horizontalLayout_10 = new QHBoxLayout(layoutWidget7);
+        horizontalLayout_10->setObjectName(QString::fromUtf8("horizontalLayout_10"));
+        horizontalLayout_10->setContentsMargins(0, 0, 0, 0);
+        label_logoLampGpio = new QLabel(layoutWidget7);
+        label_logoLampGpio->setObjectName(QString::fromUtf8("label_logoLampGpio"));
+        label_logoLampGpio->setFont(font2);
+
+        horizontalLayout_10->addWidget(label_logoLampGpio);
+
+        horizontalSpacer_13 = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
+
+        horizontalLayout_10->addItem(horizontalSpacer_13);
+
+        lineEdit_logoLampGpio = new QLineEdit(layoutWidget7);
+        lineEdit_logoLampGpio->setObjectName(QString::fromUtf8("lineEdit_logoLampGpio"));
+        lineEdit_logoLampGpio->setFont(font2);
+
+        horizontalLayout_10->addWidget(lineEdit_logoLampGpio);
+
+        horizontalSpacer_14 = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
+
+        horizontalLayout_10->addItem(horizontalSpacer_14);
+
+        label_45 = new QLabel(layoutWidget7);
+        label_45->setObjectName(QString::fromUtf8("label_45"));
+        label_45->setFont(font2);
+
+        horizontalLayout_10->addWidget(label_45);
+
+        horizontalSpacer_15 = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
+
+        horizontalLayout_10->addItem(horizontalSpacer_15);
+
+        checkBox_LogoLedHighlight = new QCheckBox(layoutWidget7);
+        checkBox_LogoLedHighlight->setObjectName(QString::fromUtf8("checkBox_LogoLedHighlight"));
+        checkBox_LogoLedHighlight->setFont(font2);
+
+        horizontalLayout_10->addWidget(checkBox_LogoLedHighlight);
+
+
+        gridLayout_2->addWidget(groupBox_ledLampConfiguration, 0, 0, 1, 1);
+
+        layoutWidget8 = new QWidget(centralwidget);
+        layoutWidget8->setObjectName(QString::fromUtf8("layoutWidget8"));
+        layoutWidget8->setGeometry(QRect(683, 8, 511, 761));
+        gridLayout_7 = new QGridLayout(layoutWidget8);
+        gridLayout_7->setObjectName(QString::fromUtf8("gridLayout_7"));
+        gridLayout_7->setContentsMargins(0, 0, 0, 0);
+        groupBox_keyIoConfiguration = new QGroupBox(layoutWidget8);
+        groupBox_keyIoConfiguration->setObjectName(QString::fromUtf8("groupBox_keyIoConfiguration"));
+        sizePolicy.setHeightForWidth(groupBox_keyIoConfiguration->sizePolicy().hasHeightForWidth());
+        groupBox_keyIoConfiguration->setSizePolicy(sizePolicy);
+        groupBox_keyIoConfiguration->setMinimumSize(QSize(509, 469));
+        groupBox_keyIoConfiguration->setFont(font1);
+        layoutWidget9 = new QWidget(groupBox_keyIoConfiguration);
+        layoutWidget9->setObjectName(QString::fromUtf8("layoutWidget9"));
+        layoutWidget9->setGeometry(QRect(9, 32, 493, 561));
+        gridLayout_4 = new QGridLayout(layoutWidget9);
+        gridLayout_4->setObjectName(QString::fromUtf8("gridLayout_4"));
+        gridLayout_4->setContentsMargins(0, 0, 0, 0);
+        groupBox_pressTheGpioButton = new QGroupBox(layoutWidget9);
+        groupBox_pressTheGpioButton->setObjectName(QString::fromUtf8("groupBox_pressTheGpioButton"));
+        sizePolicy.setHeightForWidth(groupBox_pressTheGpioButton->sizePolicy().hasHeightForWidth());
+        groupBox_pressTheGpioButton->setSizePolicy(sizePolicy);
+        groupBox_pressTheGpioButton->setMinimumSize(QSize(491, 251));
+        groupBox_pressTheGpioButton->setFont(font1);
+        groupBox_pressTheButtonToEnable = new QGroupBox(groupBox_pressTheGpioButton);
+        groupBox_pressTheButtonToEnable->setObjectName(QString::fromUtf8("groupBox_pressTheButtonToEnable"));
+        groupBox_pressTheButtonToEnable->setGeometry(QRect(0, 270, 491, 301));
+        groupBox_pressTheButtonToEnable->setFont(font1);
+        groupBox_customKeyEnable = new QGroupBox(groupBox_pressTheButtonToEnable);
+        groupBox_customKeyEnable->setObjectName(QString::fromUtf8("groupBox_customKeyEnable"));
+        groupBox_customKeyEnable->setEnabled(true);
+        groupBox_customKeyEnable->setGeometry(QRect(12, 124, 481, 151));
+        sizePolicy.setHeightForWidth(groupBox_customKeyEnable->sizePolicy().hasHeightForWidth());
+        groupBox_customKeyEnable->setSizePolicy(sizePolicy);
+        groupBox_customKeyEnable->setMinimumSize(QSize(371, 103));
+        groupBox_customKeyEnable->setFont(font1);
+        groupBox_customKeyEnable->setCheckable(true);
+        groupBox_customKeyEnable->setChecked(false);
+        layoutWidget10 = new QWidget(groupBox_customKeyEnable);
+        layoutWidget10->setObjectName(QString::fromUtf8("layoutWidget10"));
+        layoutWidget10->setGeometry(QRect(30, 32, 336, 100));
+        verticalLayout_16 = new QVBoxLayout(layoutWidget10);
+        verticalLayout_16->setObjectName(QString::fromUtf8("verticalLayout_16"));
+        verticalLayout_16->setContentsMargins(0, 0, 0, 0);
+        verticalLayout_9 = new QVBoxLayout();
+        verticalLayout_9->setObjectName(QString::fromUtf8("verticalLayout_9"));
+        horizontalLayout_38 = new QHBoxLayout();
+        horizontalLayout_38->setObjectName(QString::fromUtf8("horizontalLayout_38"));
+        label_logoLampGpio_23 = new QLabel(layoutWidget10);
+        label_logoLampGpio_23->setObjectName(QString::fromUtf8("label_logoLampGpio_23"));
+        label_logoLampGpio_23->setFont(font2);
+
+        horizontalLayout_38->addWidget(label_logoLampGpio_23);
+
+        lineEdit_customKeyGpio = new QLineEdit(layoutWidget10);
+        lineEdit_customKeyGpio->setObjectName(QString::fromUtf8("lineEdit_customKeyGpio"));
+        lineEdit_customKeyGpio->setFont(font2);
+
+        horizontalLayout_38->addWidget(lineEdit_customKeyGpio);
+
+        label_48 = new QLabel(layoutWidget10);
+        label_48->setObjectName(QString::fromUtf8("label_48"));
+        label_48->setFont(font2);
+
+        horizontalLayout_38->addWidget(label_48);
+
+
+        verticalLayout_9->addLayout(horizontalLayout_38);
+
+        horizontalLayout_39 = new QHBoxLayout();
+        horizontalLayout_39->setObjectName(QString::fromUtf8("horizontalLayout_39"));
+        label_22 = new QLabel(layoutWidget10);
+        label_22->setObjectName(QString::fromUtf8("label_22"));
+        label_22->setFont(font2);
+
+        horizontalLayout_39->addWidget(label_22);
+
+        comboBox_customButtonFunction = new QComboBox(layoutWidget10);
+        comboBox_customButtonFunction->addItem(QString());
+        comboBox_customButtonFunction->addItem(QString());
+        comboBox_customButtonFunction->addItem(QString());
+        comboBox_customButtonFunction->addItem(QString());
+        comboBox_customButtonFunction->setObjectName(QString::fromUtf8("comboBox_customButtonFunction"));
+        comboBox_customButtonFunction->setFont(font2);
+
+        horizontalLayout_39->addWidget(comboBox_customButtonFunction);
+
+
+        verticalLayout_9->addLayout(horizontalLayout_39);
+
+
+        verticalLayout_16->addLayout(verticalLayout_9);
+
+        checkBox_customKey_conn_Vdd = new QCheckBox(layoutWidget10);
+        checkBox_customKey_conn_Vdd->setObjectName(QString::fromUtf8("checkBox_customKey_conn_Vdd"));
+        checkBox_customKey_conn_Vdd->setFont(font2);
+
+        verticalLayout_16->addWidget(checkBox_customKey_conn_Vdd);
+
+        checkBox_DpiDoubleEnable = new QCheckBox(groupBox_pressTheButtonToEnable);
+        checkBox_DpiDoubleEnable->setObjectName(QString::fromUtf8("checkBox_DpiDoubleEnable"));
+        checkBox_DpiDoubleEnable->setGeometry(QRect(183, 74, 171, 27));
+        checkBox_DpiDoubleEnable->setFont(font2);
+        checkBox_FierKey_Conn_Vdd = new QCheckBox(groupBox_pressTheButtonToEnable);
+        checkBox_FierKey_Conn_Vdd->setObjectName(QString::fromUtf8("checkBox_FierKey_Conn_Vdd"));
+        checkBox_FierKey_Conn_Vdd->setGeometry(QRect(11, 74, 161, 27));
+        checkBox_FierKey_Conn_Vdd->setFont(font2);
+        checkBox_DpiAnothorKey_Conn_Vdd = new QCheckBox(groupBox_pressTheButtonToEnable);
+        checkBox_DpiAnothorKey_Conn_Vdd->setObjectName(QString::fromUtf8("checkBox_DpiAnothorKey_Conn_Vdd"));
+        checkBox_DpiAnothorKey_Conn_Vdd->setGeometry(QRect(300, 40, 171, 27));
+        checkBox_DpiAnothorKey_Conn_Vdd->setFont(font2);
+        checkBox_theDpiKeyIsGrounded = new QCheckBox(groupBox_pressTheButtonToEnable);
+        checkBox_theDpiKeyIsGrounded->setObjectName(QString::fromUtf8("checkBox_theDpiKeyIsGrounded"));
+        checkBox_theDpiKeyIsGrounded->setGeometry(QRect(150, 40, 141, 27));
+        checkBox_theDpiKeyIsGrounded->setFont(font2);
+        checkBox_pbKeyGrounding = new QCheckBox(groupBox_pressTheButtonToEnable);
+        checkBox_pbKeyGrounding->setObjectName(QString::fromUtf8("checkBox_pbKeyGrounding"));
+        checkBox_pbKeyGrounding->setGeometry(QRect(11, 41, 131, 27));
+        checkBox_pbKeyGrounding->setFont(font2);
+        label_logoLampGpio_20 = new QLabel(groupBox_pressTheGpioButton);
+        label_logoLampGpio_20->setObjectName(QString::fromUtf8("label_logoLampGpio_20"));
+        label_logoLampGpio_20->setGeometry(QRect(1, 230, 109, 28));
+        label_logoLampGpio_20->setFont(font2);
+        lineEdit_FireKey = new QLineEdit(groupBox_pressTheGpioButton);
+        lineEdit_FireKey->setObjectName(QString::fromUtf8("lineEdit_FireKey"));
+        lineEdit_FireKey->setGeometry(QRect(118, 230, 49, 28));
+        lineEdit_FireKey->setFont(font2);
+        label_47 = new QLabel(groupBox_pressTheGpioButton);
+        label_47->setObjectName(QString::fromUtf8("label_47"));
+        label_47->setGeometry(QRect(175, 230, 71, 21));
+        label_47->setFont(font2);
+        layoutWidget11 = new QWidget(groupBox_pressTheGpioButton);
+        layoutWidget11->setObjectName(QString::fromUtf8("layoutWidget11"));
+        layoutWidget11->setGeometry(QRect(117, 31, 51, 190));
+        verticalLayout_10 = new QVBoxLayout(layoutWidget11);
+        verticalLayout_10->setObjectName(QString::fromUtf8("verticalLayout_10"));
+        verticalLayout_10->setContentsMargins(0, 0, 0, 0);
+        lineEdit_leftKey = new QLineEdit(layoutWidget11);
+        lineEdit_leftKey->setObjectName(QString::fromUtf8("lineEdit_leftKey"));
+        lineEdit_leftKey->setFont(font2);
+
+        verticalLayout_10->addWidget(lineEdit_leftKey);
+
+        lineEdit_middleKey = new QLineEdit(layoutWidget11);
+        lineEdit_middleKey->setObjectName(QString::fromUtf8("lineEdit_middleKey"));
+        lineEdit_middleKey->setFont(font2);
+
+        verticalLayout_10->addWidget(lineEdit_middleKey);
+
+        lineEdit_rightKey = new QLineEdit(layoutWidget11);
+        lineEdit_rightKey->setObjectName(QString::fromUtf8("lineEdit_rightKey"));
+        lineEdit_rightKey->setFont(font2);
+
+        verticalLayout_10->addWidget(lineEdit_rightKey);
+
+        lineEdit_pbKey = new QLineEdit(layoutWidget11);
+        lineEdit_pbKey->setObjectName(QString::fromUtf8("lineEdit_pbKey"));
+        lineEdit_pbKey->setFont(font2);
+
+        verticalLayout_10->addWidget(lineEdit_pbKey);
+
+        lineEdit_positiveRollerAKey = new QLineEdit(layoutWidget11);
+        lineEdit_positiveRollerAKey->setObjectName(QString::fromUtf8("lineEdit_positiveRollerAKey"));
+        lineEdit_positiveRollerAKey->setFont(font2);
+
+        verticalLayout_10->addWidget(lineEdit_positiveRollerAKey);
+
+        lineEdit_positiveRollerBKey = new QLineEdit(layoutWidget11);
+        lineEdit_positiveRollerBKey->setObjectName(QString::fromUtf8("lineEdit_positiveRollerBKey"));
+        lineEdit_positiveRollerBKey->setFont(font2);
+
+        verticalLayout_10->addWidget(lineEdit_positiveRollerBKey);
+
+        layoutWidget12 = new QWidget(groupBox_pressTheGpioButton);
+        layoutWidget12->setObjectName(QString::fromUtf8("layoutWidget12"));
+        layoutWidget12->setGeometry(QRect(268, 31, 91, 191));
+        verticalLayout_12 = new QVBoxLayout(layoutWidget12);
+        verticalLayout_12->setObjectName(QString::fromUtf8("verticalLayout_12"));
+        verticalLayout_12->setContentsMargins(0, 0, 0, 0);
+        label_logoLampGpio_11 = new QLabel(layoutWidget12);
+        label_logoLampGpio_11->setObjectName(QString::fromUtf8("label_logoLampGpio_11"));
+        label_logoLampGpio_11->setFont(font2);
+
+        verticalLayout_12->addWidget(label_logoLampGpio_11);
+
+        label_logoLampGpio_13 = new QLabel(layoutWidget12);
+        label_logoLampGpio_13->setObjectName(QString::fromUtf8("label_logoLampGpio_13"));
+        label_logoLampGpio_13->setFont(font2);
+
+        verticalLayout_12->addWidget(label_logoLampGpio_13);
+
+        label_logoLampGpio_12 = new QLabel(layoutWidget12);
+        label_logoLampGpio_12->setObjectName(QString::fromUtf8("label_logoLampGpio_12"));
+        label_logoLampGpio_12->setFont(font2);
+
+        verticalLayout_12->addWidget(label_logoLampGpio_12);
+
+        label_logoLampGpio_21 = new QLabel(layoutWidget12);
+        label_logoLampGpio_21->setObjectName(QString::fromUtf8("label_logoLampGpio_21"));
+        label_logoLampGpio_21->setFont(font2);
+
+        verticalLayout_12->addWidget(label_logoLampGpio_21);
+
+        label_logoLampGpio_16 = new QLabel(layoutWidget12);
+        label_logoLampGpio_16->setObjectName(QString::fromUtf8("label_logoLampGpio_16"));
+        label_logoLampGpio_16->setFont(font2);
+
+        verticalLayout_12->addWidget(label_logoLampGpio_16);
+
+        label_logoLampGpio_19 = new QLabel(layoutWidget12);
+        label_logoLampGpio_19->setObjectName(QString::fromUtf8("label_logoLampGpio_19"));
+        label_logoLampGpio_19->setFont(font2);
+
+        verticalLayout_12->addWidget(label_logoLampGpio_19);
+
+        layoutWidget13 = new QWidget(groupBox_pressTheGpioButton);
+        layoutWidget13->setObjectName(QString::fromUtf8("layoutWidget13"));
+        layoutWidget13->setGeometry(QRect(1, 31, 111, 191));
+        verticalLayout_8 = new QVBoxLayout(layoutWidget13);
+        verticalLayout_8->setObjectName(QString::fromUtf8("verticalLayout_8"));
+        verticalLayout_8->setContentsMargins(0, 0, 0, 0);
+        label_logoLampGpio_3 = new QLabel(layoutWidget13);
+        label_logoLampGpio_3->setObjectName(QString::fromUtf8("label_logoLampGpio_3"));
+        label_logoLampGpio_3->setFont(font2);
+
+        verticalLayout_8->addWidget(label_logoLampGpio_3);
+
+        label_logoLampGpio_5 = new QLabel(layoutWidget13);
+        label_logoLampGpio_5->setObjectName(QString::fromUtf8("label_logoLampGpio_5"));
+        label_logoLampGpio_5->setFont(font2);
+
+        verticalLayout_8->addWidget(label_logoLampGpio_5);
+
+        label_logoLampGpio_7 = new QLabel(layoutWidget13);
+        label_logoLampGpio_7->setObjectName(QString::fromUtf8("label_logoLampGpio_7"));
+        label_logoLampGpio_7->setFont(font2);
+
+        verticalLayout_8->addWidget(label_logoLampGpio_7);
+
+        label_logoLampGpio_14 = new QLabel(layoutWidget13);
+        label_logoLampGpio_14->setObjectName(QString::fromUtf8("label_logoLampGpio_14"));
+        label_logoLampGpio_14->setFont(font2);
+
+        verticalLayout_8->addWidget(label_logoLampGpio_14);
+
+        label_logoLampGpio_18 = new QLabel(layoutWidget13);
+        label_logoLampGpio_18->setObjectName(QString::fromUtf8("label_logoLampGpio_18"));
+        label_logoLampGpio_18->setFont(font2);
+
+        verticalLayout_8->addWidget(label_logoLampGpio_18);
+
+        label_logoLampGpio_15 = new QLabel(layoutWidget13);
+        label_logoLampGpio_15->setObjectName(QString::fromUtf8("label_logoLampGpio_15"));
+        label_logoLampGpio_15->setFont(font2);
+
+        verticalLayout_8->addWidget(label_logoLampGpio_15);
+
+        layoutWidget14 = new QWidget(groupBox_pressTheGpioButton);
+        layoutWidget14->setObjectName(QString::fromUtf8("layoutWidget14"));
+        layoutWidget14->setGeometry(QRect(418, 31, 71, 191));
+        verticalLayout_14 = new QVBoxLayout(layoutWidget14);
+        verticalLayout_14->setObjectName(QString::fromUtf8("verticalLayout_14"));
+        verticalLayout_14->setContentsMargins(0, 0, 0, 0);
+        label_39 = new QLabel(layoutWidget14);
+        label_39->setObjectName(QString::fromUtf8("label_39"));
+        label_39->setFont(font2);
+
+        verticalLayout_14->addWidget(label_39);
+
+        label_38 = new QLabel(layoutWidget14);
+        label_38->setObjectName(QString::fromUtf8("label_38"));
+        label_38->setFont(font2);
+
+        verticalLayout_14->addWidget(label_38);
+
+        label_37 = new QLabel(layoutWidget14);
+        label_37->setObjectName(QString::fromUtf8("label_37"));
+        label_37->setFont(font2);
+
+        verticalLayout_14->addWidget(label_37);
+
+        label_49 = new QLabel(layoutWidget14);
+        label_49->setObjectName(QString::fromUtf8("label_49"));
+        label_49->setFont(font2);
+
+        verticalLayout_14->addWidget(label_49);
+
+        label_36 = new QLabel(layoutWidget14);
+        label_36->setObjectName(QString::fromUtf8("label_36"));
+        label_36->setFont(font2);
+
+        verticalLayout_14->addWidget(label_36);
+
+        label_28 = new QLabel(layoutWidget14);
+        label_28->setObjectName(QString::fromUtf8("label_28"));
+        label_28->setFont(font2);
+
+        verticalLayout_14->addWidget(label_28);
+
+        layoutWidget15 = new QWidget(groupBox_pressTheGpioButton);
+        layoutWidget15->setObjectName(QString::fromUtf8("layoutWidget15"));
+        layoutWidget15->setGeometry(QRect(363, 31, 51, 190));
+        verticalLayout_13 = new QVBoxLayout(layoutWidget15);
+        verticalLayout_13->setObjectName(QString::fromUtf8("verticalLayout_13"));
+        verticalLayout_13->setContentsMargins(0, 0, 0, 0);
+        lineEdit_b4Key = new QLineEdit(layoutWidget15);
+        lineEdit_b4Key->setObjectName(QString::fromUtf8("lineEdit_b4Key"));
+        lineEdit_b4Key->setFont(font2);
+
+        verticalLayout_13->addWidget(lineEdit_b4Key);
+
+        lineEdit_b5Key = new QLineEdit(layoutWidget15);
+        lineEdit_b5Key->setObjectName(QString::fromUtf8("lineEdit_b5Key"));
+        lineEdit_b5Key->setFont(font2);
+
+        verticalLayout_13->addWidget(lineEdit_b5Key);
+
+        lineEdit_dpiAddKey = new QLineEdit(layoutWidget15);
+        lineEdit_dpiAddKey->setObjectName(QString::fromUtf8("lineEdit_dpiAddKey"));
+        lineEdit_dpiAddKey->setFont(font2);
+
+        verticalLayout_13->addWidget(lineEdit_dpiAddKey);
+
+        lineEdit_DpiAnotherKey = new QLineEdit(layoutWidget15);
+        lineEdit_DpiAnotherKey->setObjectName(QString::fromUtf8("lineEdit_DpiAnotherKey"));
+        lineEdit_DpiAnotherKey->setFont(font2);
+
+        verticalLayout_13->addWidget(lineEdit_DpiAnotherKey);
+
+        lineEdit_publicFeet = new QLineEdit(layoutWidget15);
+        lineEdit_publicFeet->setObjectName(QString::fromUtf8("lineEdit_publicFeet"));
+        lineEdit_publicFeet->setFont(font2);
+
+        verticalLayout_13->addWidget(lineEdit_publicFeet);
+
+        lineEdit_flipTheSwitch = new QLineEdit(layoutWidget15);
+        lineEdit_flipTheSwitch->setObjectName(QString::fromUtf8("lineEdit_flipTheSwitch"));
+        lineEdit_flipTheSwitch->setFont(font2);
+
+        verticalLayout_13->addWidget(lineEdit_flipTheSwitch);
+
+        layoutWidget16 = new QWidget(groupBox_pressTheGpioButton);
+        layoutWidget16->setObjectName(QString::fromUtf8("layoutWidget16"));
+        layoutWidget16->setGeometry(QRect(173, 31, 71, 191));
+        verticalLayout_11 = new QVBoxLayout(layoutWidget16);
+        verticalLayout_11->setObjectName(QString::fromUtf8("verticalLayout_11"));
+        verticalLayout_11->setContentsMargins(0, 0, 0, 0);
+        label_46 = new QLabel(layoutWidget16);
+        label_46->setObjectName(QString::fromUtf8("label_46"));
+        label_46->setFont(font2);
+
+        verticalLayout_11->addWidget(label_46);
+
+        label_24 = new QLabel(layoutWidget16);
+        label_24->setObjectName(QString::fromUtf8("label_24"));
+        label_24->setFont(font2);
+
+        verticalLayout_11->addWidget(label_24);
+
+        label_25 = new QLabel(layoutWidget16);
+        label_25->setObjectName(QString::fromUtf8("label_25"));
+        label_25->setFont(font2);
+
+        verticalLayout_11->addWidget(label_25);
+
+        label_26 = new QLabel(layoutWidget16);
+        label_26->setObjectName(QString::fromUtf8("label_26"));
+        label_26->setFont(font2);
+
+        verticalLayout_11->addWidget(label_26);
+
+        label_27 = new QLabel(layoutWidget16);
+        label_27->setObjectName(QString::fromUtf8("label_27"));
+        label_27->setFont(font2);
+
+        verticalLayout_11->addWidget(label_27);
+
+        label_29 = new QLabel(layoutWidget16);
+        label_29->setObjectName(QString::fromUtf8("label_29"));
+        label_29->setFont(font2);
+
+        verticalLayout_11->addWidget(label_29);
+
+
+        gridLayout_4->addWidget(groupBox_pressTheGpioButton, 0, 0, 1, 1);
+
+
+        gridLayout_7->addWidget(groupBox_keyIoConfiguration, 0, 0, 1, 1);
+
+        layoutWidget17 = new QWidget(centralwidget);
+        layoutWidget17->setObjectName(QString::fromUtf8("layoutWidget17"));
+        layoutWidget17->setGeometry(QRect(0, 0, 2, 2));
+        horizontalLayout_14 = new QHBoxLayout(layoutWidget17);
+        horizontalLayout_14->setObjectName(QString::fromUtf8("horizontalLayout_14"));
+        horizontalLayout_14->setContentsMargins(0, 0, 0, 0);
+        MouseConfigTool->setCentralWidget(centralwidget);
+        menubar = new QMenuBar(MouseConfigTool);
+        menubar->setObjectName(QString::fromUtf8("menubar"));
+        menubar->setGeometry(QRect(0, 0, 1200, 17));
+        MouseConfigTool->setMenuBar(menubar);
+        statusbar = new QStatusBar(MouseConfigTool);
+        statusbar->setObjectName(QString::fromUtf8("statusbar"));
+        MouseConfigTool->setStatusBar(statusbar);
+
+        retranslateUi(MouseConfigTool);
+
+        comboBox_keyPairCodeCombination->setCurrentIndex(1);
+        comboBox_radioModeKeyCombination->setCurrentIndex(1);
+        comboBox_maximumNumberOfChannels->setCurrentIndex(2);
+        comboBox_bluetoothBroadcastType->setCurrentIndex(2);
+        comboBox_modeSwitch->setCurrentIndex(1);
+        comboBox_crystalFrequency->setCurrentIndex(1);
+        comboBox_directionOfGrounding->setCurrentIndex(3);
+        comboBox_inTheAir->setCurrentIndex(2);
+
+
+        QMetaObject::connectSlotsByName(MouseConfigTool);
+    } // setupUi
+
+    void retranslateUi(QMainWindow *MouseConfigTool)
+    {
+        MouseConfigTool->setWindowTitle(QCoreApplication::translate("MouseConfigTool", "MouseConfigTool", nullptr));
+        groupBox_modeConfiguration->setTitle(QCoreApplication::translate("MouseConfigTool", "\346\250\241\345\274\217\351\205\215\347\275\256", nullptr));
+        groupBox_24gConfiguration->setTitle(QCoreApplication::translate("MouseConfigTool", "24G\351\205\215\347\275\256", nullptr));
+        label_50->setText(QCoreApplication::translate("MouseConfigTool", "24G\345\233\236\346\212\245\347\216\207", nullptr));
+        comboBox_24GRateReturn->setItemText(0, QCoreApplication::translate("MouseConfigTool", "125HZ", nullptr));
+        comboBox_24GRateReturn->setItemText(1, QCoreApplication::translate("MouseConfigTool", "250HZ", nullptr));
+
+        groupBox_24GSearchDongleEnable->setTitle(QCoreApplication::translate("MouseConfigTool", "24G\346\220\234\347\264\242Dongle", nullptr));
+        label_51->setText(QCoreApplication::translate("MouseConfigTool", "\346\220\234\347\264\242\346\227\266\351\227\264(s)", nullptr));
+        checkBox_noPairs->setText(QCoreApplication::translate("MouseConfigTool", "\345\205\215\345\257\271\347\240\201", nullptr));
+        checkBox_poweronCombinationKeyPairCode->setText(QCoreApplication::translate("MouseConfigTool", "\344\270\212\347\224\265\347\273\204\345\220\210\351\224\256\345\257\271\347\240\201", nullptr));
+        label_35->setText(QCoreApplication::translate("MouseConfigTool", "\345\257\271\347\240\201\347\273\204\345\220\210\351\224\256", nullptr));
+        comboBox_keyPairCodeCombination->setItemText(0, QCoreApplication::translate("MouseConfigTool", "\345\267\246\345\217\263\351\224\256", nullptr));
+        comboBox_keyPairCodeCombination->setItemText(1, QCoreApplication::translate("MouseConfigTool", "\345\267\246\344\270\255\351\224\256", nullptr));
+        comboBox_keyPairCodeCombination->setItemText(2, QCoreApplication::translate("MouseConfigTool", "\345\217\263\344\270\255\351\224\256", nullptr));
+        comboBox_keyPairCodeCombination->setItemText(3, QCoreApplication::translate("MouseConfigTool", "\345\267\246\344\270\255\345\217\263\351\224\256", nullptr));
+
+        checkBox_theFirstFreeRightCode->setText(QCoreApplication::translate("MouseConfigTool", "\351\246\226\346\254\241\345\205\215\345\257\271\347\240\201", nullptr));
+        checkBox_24gFirst->setText(QCoreApplication::translate("MouseConfigTool", "24G\344\274\230\345\205\210", nullptr));
+        groupBox_bluetoothBroadcastMode->setTitle(QCoreApplication::translate("MouseConfigTool", "\350\223\235\347\211\231\345\271\277\346\222\255\346\226\271\345\274\217", nullptr));
+        groupBox_keyCombinationBroadcast->setTitle(QCoreApplication::translate("MouseConfigTool", "\347\273\204\345\220\210\351\224\256\345\271\277\346\222\255", nullptr));
+        label_32->setText(QCoreApplication::translate("MouseConfigTool", "\345\271\277\346\222\255\346\226\271\345\274\217\347\273\204\345\220\210\351\224\256", nullptr));
+        comboBox_radioModeKeyCombination->setItemText(0, QCoreApplication::translate("MouseConfigTool", "\345\267\246\345\217\263\351\224\256", nullptr));
+        comboBox_radioModeKeyCombination->setItemText(1, QCoreApplication::translate("MouseConfigTool", "\345\267\246\344\270\255\351\224\256", nullptr));
+        comboBox_radioModeKeyCombination->setItemText(2, QCoreApplication::translate("MouseConfigTool", "\345\217\263\344\270\255\351\224\256", nullptr));
+        comboBox_radioModeKeyCombination->setItemText(3, QCoreApplication::translate("MouseConfigTool", "\345\267\246\344\270\255\345\217\263\351\224\256", nullptr));
+
+        checkBox_pbKeyLongPressBroadcast->setText(QCoreApplication::translate("MouseConfigTool", "PB\351\224\256\351\225\277\346\214\211\345\271\277\346\222\255", nullptr));
+        checkBox_backToTheCompanyFailedToBroadcast->setText(QCoreApplication::translate("MouseConfigTool", "\345\233\236\350\277\236\345\244\261\350\264\245\345\271\277\346\222\255", nullptr));
+        checkBox_longPressDpiToBroadcast->setText(QCoreApplication::translate("MouseConfigTool", "\351\225\277\346\214\211DPI\345\271\277\346\222\255", nullptr));
+        label_17->setText(QCoreApplication::translate("MouseConfigTool", "\351\273\230\350\256\244\346\250\241\345\274\217", nullptr));
+        comboBox_theDefaultMode->setItemText(0, QCoreApplication::translate("MouseConfigTool", "24G", nullptr));
+        comboBox_theDefaultMode->setItemText(1, QCoreApplication::translate("MouseConfigTool", "\350\223\235\347\211\231", nullptr));
+
+        label_1->setText(QCoreApplication::translate("MouseConfigTool", "\346\234\200\345\244\247\351\200\232\351\201\223\346\225\260\351\207\217", nullptr));
+        comboBox_maximumNumberOfChannels->setItemText(0, QCoreApplication::translate("MouseConfigTool", "\345\215\225\351\200\232\351\201\223", nullptr));
+        comboBox_maximumNumberOfChannels->setItemText(1, QCoreApplication::translate("MouseConfigTool", "\345\217\214\351\200\232\351\201\223", nullptr));
+        comboBox_maximumNumberOfChannels->setItemText(2, QCoreApplication::translate("MouseConfigTool", "\344\270\211\351\200\232\351\201\223", nullptr));
+
+        label_30->setText(QCoreApplication::translate("MouseConfigTool", "\350\223\235\347\211\231\345\271\277\346\222\255\347\261\273\345\236\213", nullptr));
+        comboBox_bluetoothBroadcastType->setItemText(0, QCoreApplication::translate("MouseConfigTool", "\345\215\2253.0", nullptr));
+        comboBox_bluetoothBroadcastType->setItemText(1, QCoreApplication::translate("MouseConfigTool", "\345\215\225BLE", nullptr));
+        comboBox_bluetoothBroadcastType->setItemText(2, QCoreApplication::translate("MouseConfigTool", "BLE+3.0", nullptr));
+
+        label_31->setText(QCoreApplication::translate("MouseConfigTool", "\346\250\241\345\274\217\345\210\207\346\215\242", nullptr));
+        comboBox_modeSwitch->setItemText(0, QCoreApplication::translate("MouseConfigTool", "\346\227\240", nullptr));
+        comboBox_modeSwitch->setItemText(1, QCoreApplication::translate("MouseConfigTool", "\351\225\277\346\214\211DPI\345\210\207\346\215\242", nullptr));
+        comboBox_modeSwitch->setItemText(2, QCoreApplication::translate("MouseConfigTool", "PB\351\224\256\345\210\207\346\215\242", nullptr));
+        comboBox_modeSwitch->setItemText(3, QCoreApplication::translate("MouseConfigTool", "\345\274\200\345\205\263\345\210\207\346\215\242", nullptr));
+
+        label_6->setText(QCoreApplication::translate("MouseConfigTool", "\346\231\266\346\214\257\351\242\221\347\216\207", nullptr));
+        comboBox_crystalFrequency->setItemText(0, QCoreApplication::translate("MouseConfigTool", "16M", nullptr));
+        comboBox_crystalFrequency->setItemText(1, QCoreApplication::translate("MouseConfigTool", "24M", nullptr));
+
+        groupBox_ledLampConfiguration->setTitle(QCoreApplication::translate("MouseConfigTool", "led\347\201\257\351\205\215\347\275\256", nullptr));
+        groupBox_ledLampEnable->setTitle(QCoreApplication::translate("MouseConfigTool", "LED\347\201\257\344\275\277\350\203\275", nullptr));
+        groupBox_theLampFunctionEnables->setTitle(QCoreApplication::translate("MouseConfigTool", "\347\201\257\346\225\210\345\212\237\350\203\275\344\275\277\350\203\275", nullptr));
+        checkBox_reconnectLampEfficiencyEnable->setText(QCoreApplication::translate("MouseConfigTool", "\345\233\236\350\277\236\347\201\257\346\225\210\344\275\277\350\203\275", nullptr));
+        checkBox_limitTheNumberOfFlickerTimesOfReconnect->setText(QCoreApplication::translate("MouseConfigTool", "\345\233\236\350\277\236\351\227\252\347\203\201\346\254\241\346\225\260\351\231\220\345\210\266", nullptr));
+        checkBox_lowFlickerFrequencyLimit->setText(QCoreApplication::translate("MouseConfigTool", "\344\275\216\347\224\265\351\227\252\347\203\201\346\254\241\346\225\260\351\231\220\345\210\266", nullptr));
+        checkBox_1io_to_2led_reuse->setText(QCoreApplication::translate("MouseConfigTool", "1\344\270\252IO\346\216\2452\344\270\252\347\201\257\345\244\215\347\224\250", nullptr));
+        label_16->setText(QCoreApplication::translate("MouseConfigTool", "\346\250\241\345\274\217\347\201\257\345\244\215\347\224\250", nullptr));
+        comboBox_modeLampReuse->setItemText(0, QCoreApplication::translate("MouseConfigTool", "\344\270\215\345\244\215\347\224\250", nullptr));
+        comboBox_modeLampReuse->setItemText(1, QCoreApplication::translate("MouseConfigTool", "\344\275\216\347\224\265\347\201\257\344\270\216\346\250\241\345\274\217\347\201\257\345\244\215\347\224\250", nullptr));
+        comboBox_modeLampReuse->setItemText(2, QCoreApplication::translate("MouseConfigTool", "DPI\347\201\257\344\270\216\346\250\241\345\274\217\347\201\257\345\244\215\347\224\250", nullptr));
+        comboBox_modeLampReuse->setItemText(3, QCoreApplication::translate("MouseConfigTool", "DPI\343\200\201\344\275\216\347\224\265\344\270\216\346\250\241\345\274\217\347\201\257\345\244\215\347\224\250", nullptr));
+
+        groupBox_ledGpioConfiguration->setTitle(QCoreApplication::translate("MouseConfigTool", "LED GPIO\351\205\215\347\275\256", nullptr));
+        label_logoLampGpio_24->setText(QCoreApplication::translate("MouseConfigTool", "24G\347\201\257", nullptr));
+        label_logoLampGpio_4->setText(QCoreApplication::translate("MouseConfigTool", "\350\223\235\347\211\2311\347\201\257", nullptr));
+        label_->setText(QCoreApplication::translate("MouseConfigTool", "\350\223\235\347\211\2312\347\201\257", nullptr));
+        label_logoLampGpio_6->setText(QCoreApplication::translate("MouseConfigTool", "DPI\347\201\257", nullptr));
+        lineEdit_24gLight->setText(QCoreApplication::translate("MouseConfigTool", "FF", nullptr));
+        lineEdit_bluetooth1Lamp->setText(QCoreApplication::translate("MouseConfigTool", "FF", nullptr));
+        lineEdit_bluetooth2Lamp->setText(QCoreApplication::translate("MouseConfigTool", "FF", nullptr));
+        lineEdit_dpiLamp->setText(QCoreApplication::translate("MouseConfigTool", "FF", nullptr));
+        label_40->setText(QCoreApplication::translate("MouseConfigTool", "\357\274\210hex\357\274\211", nullptr));
+        label_41->setText(QCoreApplication::translate("MouseConfigTool", "\357\274\210hex\357\274\211", nullptr));
+        label_42->setText(QCoreApplication::translate("MouseConfigTool", "\357\274\210hex\357\274\211", nullptr));
+        label_43->setText(QCoreApplication::translate("MouseConfigTool", "\357\274\210hex\357\274\211", nullptr));
+        checkBox_24GLedHighlight->setText(QCoreApplication::translate("MouseConfigTool", "\351\253\230\344\272\256", nullptr));
+        checkBox_Bt1LedHighlight->setText(QCoreApplication::translate("MouseConfigTool", "\351\253\230\344\272\256", nullptr));
+        checkBox_Bt2LedHighlight->setText(QCoreApplication::translate("MouseConfigTool", "\351\253\230\344\272\256", nullptr));
+        checkBox_DpiLedHighlight->setText(QCoreApplication::translate("MouseConfigTool", "\351\253\230\344\272\256", nullptr));
+        groupBox_sensorConfiguration->setTitle(QCoreApplication::translate("MouseConfigTool", "sensor\351\205\215\347\275\256", nullptr));
+        label_44->setText(QCoreApplication::translate("MouseConfigTool", "\357\274\210hex\357\274\211", nullptr));
+        label->setText(QCoreApplication::translate("MouseConfigTool", "\346\226\271\345\220\221\351\200\211\346\213\251\347\261\273\345\236\213", nullptr));
+        label_8->setText(QCoreApplication::translate("MouseConfigTool", "\346\226\271\345\220\221\351\200\211\346\213\251GPIO", nullptr));
+        label_9->setText(QCoreApplication::translate("MouseConfigTool", "\346\216\245\345\234\260\346\226\271\345\220\221", nullptr));
+        label_15->setText(QCoreApplication::translate("MouseConfigTool", "\346\202\254\347\251\272\346\226\271\345\220\221", nullptr));
+        label_33->setText(QCoreApplication::translate("MouseConfigTool", "\351\273\230\350\256\244DPI\346\241\243\344\275\215", nullptr));
+        label_34->setText(QCoreApplication::translate("MouseConfigTool", "DPI\346\241\243\344\275\215\346\225\260\351\207\217", nullptr));
+        comboBox_SensorTyoeSelect->setItemText(0, QCoreApplication::translate("MouseConfigTool", "1IO\351\200\2112\346\226\271\345\220\221", nullptr));
+        comboBox_SensorTyoeSelect->setItemText(1, QCoreApplication::translate("MouseConfigTool", "ICE\351\200\211\346\213\251", nullptr));
+        comboBox_SensorTyoeSelect->setItemText(2, QCoreApplication::translate("MouseConfigTool", "1IO\351\200\2113\346\226\271\345\220\221", nullptr));
+
+        lineEdit_selectGpioForOrientation->setText(QCoreApplication::translate("MouseConfigTool", "FF", nullptr));
+        comboBox_directionOfGrounding->setItemText(0, QCoreApplication::translate("MouseConfigTool", "3CLK", nullptr));
+        comboBox_directionOfGrounding->setItemText(1, QCoreApplication::translate("MouseConfigTool", "6CLK", nullptr));
+        comboBox_directionOfGrounding->setItemText(2, QCoreApplication::translate("MouseConfigTool", "9CLK", nullptr));
+        comboBox_directionOfGrounding->setItemText(3, QCoreApplication::translate("MouseConfigTool", "12CLK", nullptr));
+
+        comboBox_inTheAir->setItemText(0, QCoreApplication::translate("MouseConfigTool", "3CLK", nullptr));
+        comboBox_inTheAir->setItemText(1, QCoreApplication::translate("MouseConfigTool", "6CLK", nullptr));
+        comboBox_inTheAir->setItemText(2, QCoreApplication::translate("MouseConfigTool", "9CLK", nullptr));
+        comboBox_inTheAir->setItemText(3, QCoreApplication::translate("MouseConfigTool", "12CLK", nullptr));
+
+        comboBox_theDefaultDpiFile->setItemText(0, QCoreApplication::translate("MouseConfigTool", "1200", nullptr));
+        comboBox_theDefaultDpiFile->setItemText(1, QCoreApplication::translate("MouseConfigTool", "1600", nullptr));
+
+        comboBox_numberOfDpiGears->setItemText(0, QCoreApplication::translate("MouseConfigTool", "3\346\241\243", nullptr));
+        comboBox_numberOfDpiGears->setItemText(1, QCoreApplication::translate("MouseConfigTool", "4\346\241\243", nullptr));
+
+        label_logoLampGpio->setText(QCoreApplication::translate("MouseConfigTool", "Logo\347\201\257", nullptr));
+        label_45->setText(QCoreApplication::translate("MouseConfigTool", "\357\274\210hex\357\274\211", nullptr));
+        checkBox_LogoLedHighlight->setText(QCoreApplication::translate("MouseConfigTool", "\351\253\230\344\272\256", nullptr));
+        groupBox_keyIoConfiguration->setTitle(QCoreApplication::translate("MouseConfigTool", "\346\214\211\351\224\256IO\351\205\215\347\275\256", nullptr));
+        groupBox_pressTheGpioButton->setTitle(QCoreApplication::translate("MouseConfigTool", "\346\214\211\351\224\256GPIO", nullptr));
+        groupBox_pressTheButtonToEnable->setTitle(QCoreApplication::translate("MouseConfigTool", "\346\214\211\351\224\256\344\275\277\350\203\275", nullptr));
+        groupBox_customKeyEnable->setTitle(QCoreApplication::translate("MouseConfigTool", "\350\207\252\345\256\232\344\271\211\346\214\211\351\224\256\344\275\277\350\203\275", nullptr));
+        label_logoLampGpio_23->setText(QCoreApplication::translate("MouseConfigTool", "\350\207\252\345\256\232\344\271\211\346\214\211\351\224\256GPIO", nullptr));
+        label_48->setText(QCoreApplication::translate("MouseConfigTool", "\357\274\210hex\357\274\211", nullptr));
+        label_22->setText(QCoreApplication::translate("MouseConfigTool", "\350\207\252\345\256\232\344\271\211\346\214\211\351\224\256\345\212\237\350\203\275", nullptr));
+        comboBox_customButtonFunction->setItemText(0, QCoreApplication::translate("MouseConfigTool", "\351\237\263\351\207\217", nullptr));
+        comboBox_customButtonFunction->setItemText(1, QCoreApplication::translate("MouseConfigTool", "\346\210\252\345\261\217", nullptr));
+        comboBox_customButtonFunction->setItemText(2, QCoreApplication::translate("MouseConfigTool", "\345\205\263\346\234\272", nullptr));
+        comboBox_customButtonFunction->setItemText(3, QCoreApplication::translate("MouseConfigTool", "\344\270\200\351\224\256\346\241\214\351\235\242", nullptr));
+
+        checkBox_customKey_conn_Vdd->setText(QCoreApplication::translate("MouseConfigTool", "\350\207\252\345\256\232\344\271\211\346\214\211\351\224\256\346\216\245\347\224\265\346\272\220", nullptr));
+        checkBox_DpiDoubleEnable->setText(QCoreApplication::translate("MouseConfigTool", "\345\217\214DPI\344\275\277\350\203\275", nullptr));
+        checkBox_FierKey_Conn_Vdd->setText(QCoreApplication::translate("MouseConfigTool", "\347\201\253\345\212\233\351\224\256\346\216\245\347\224\265\346\272\220", nullptr));
+        checkBox_DpiAnothorKey_Conn_Vdd->setText(QCoreApplication::translate("MouseConfigTool", "DPI-\351\224\256\346\216\245\347\224\265\346\272\220", nullptr));
+        checkBox_theDpiKeyIsGrounded->setText(QCoreApplication::translate("MouseConfigTool", "DPI\351\224\256\346\216\245\345\234\260", nullptr));
+        checkBox_pbKeyGrounding->setText(QCoreApplication::translate("MouseConfigTool", "PB\351\224\256\346\216\245\345\234\260", nullptr));
+        label_logoLampGpio_20->setText(QCoreApplication::translate("MouseConfigTool", "\347\201\253\345\212\233\351\224\256", nullptr));
+        lineEdit_FireKey->setText(QCoreApplication::translate("MouseConfigTool", "FF", nullptr));
+        label_47->setText(QCoreApplication::translate("MouseConfigTool", "\357\274\210hex\357\274\211", nullptr));
+        lineEdit_leftKey->setText(QCoreApplication::translate("MouseConfigTool", "0B", nullptr));
+        lineEdit_middleKey->setText(QCoreApplication::translate("MouseConfigTool", "0C", nullptr));
+        lineEdit_rightKey->setText(QCoreApplication::translate("MouseConfigTool", "0D", nullptr));
+        lineEdit_pbKey->setText(QCoreApplication::translate("MouseConfigTool", "FF", nullptr));
+        lineEdit_positiveRollerAKey->setText(QCoreApplication::translate("MouseConfigTool", "05", nullptr));
+        lineEdit_positiveRollerBKey->setText(QCoreApplication::translate("MouseConfigTool", "04", nullptr));
+        label_logoLampGpio_11->setText(QCoreApplication::translate("MouseConfigTool", "B4\351\224\256", nullptr));
+        label_logoLampGpio_13->setText(QCoreApplication::translate("MouseConfigTool", "B5\351\224\256", nullptr));
+        label_logoLampGpio_12->setText(QCoreApplication::translate("MouseConfigTool", "DPI+\351\224\256", nullptr));
+        label_logoLampGpio_21->setText(QCoreApplication::translate("MouseConfigTool", "DPI-\351\224\256", nullptr));
+        label_logoLampGpio_16->setText(QCoreApplication::translate("MouseConfigTool", "\345\205\254\345\205\261\350\204\232", nullptr));
+        label_logoLampGpio_19->setText(QCoreApplication::translate("MouseConfigTool", "\346\213\250\345\212\250\345\274\200\345\205\263", nullptr));
+        label_logoLampGpio_3->setText(QCoreApplication::translate("MouseConfigTool", "\345\267\246\351\224\256", nullptr));
+        label_logoLampGpio_5->setText(QCoreApplication::translate("MouseConfigTool", "\344\270\255\351\224\256", nullptr));
+        label_logoLampGpio_7->setText(QCoreApplication::translate("MouseConfigTool", "\345\217\263\351\224\256", nullptr));
+        label_logoLampGpio_14->setText(QCoreApplication::translate("MouseConfigTool", "PB\351\224\256", nullptr));
+        label_logoLampGpio_18->setText(QCoreApplication::translate("MouseConfigTool", "\346\255\243\346\273\232\350\275\256a\351\224\256", nullptr));
+        label_logoLampGpio_15->setText(QCoreApplication::translate("MouseConfigTool", "\346\255\243\346\273\232\350\275\256b\351\224\256", nullptr));
+        label_39->setText(QCoreApplication::translate("MouseConfigTool", "\357\274\210hex\357\274\211", nullptr));
+        label_38->setText(QCoreApplication::translate("MouseConfigTool", "\357\274\210hex\357\274\211", nullptr));
+        label_37->setText(QCoreApplication::translate("MouseConfigTool", "\357\274\210hex\357\274\211", nullptr));
+        label_49->setText(QCoreApplication::translate("MouseConfigTool", "\357\274\210hex\357\274\211", nullptr));
+        label_36->setText(QCoreApplication::translate("MouseConfigTool", "\357\274\210hex\357\274\211", nullptr));
+        label_28->setText(QCoreApplication::translate("MouseConfigTool", "\357\274\210hex\357\274\211", nullptr));
+        lineEdit_b4Key->setText(QCoreApplication::translate("MouseConfigTool", "0B", nullptr));
+        lineEdit_b5Key->setText(QCoreApplication::translate("MouseConfigTool", "0B", nullptr));
+        lineEdit_dpiAddKey->setText(QCoreApplication::translate("MouseConfigTool", "0D", nullptr));
+        lineEdit_DpiAnotherKey->setText(QCoreApplication::translate("MouseConfigTool", "FF", nullptr));
+        lineEdit_publicFeet->setText(QCoreApplication::translate("MouseConfigTool", "FF", nullptr));
+        lineEdit_flipTheSwitch->setText(QCoreApplication::translate("MouseConfigTool", "FF", nullptr));
+        label_46->setText(QCoreApplication::translate("MouseConfigTool", "\357\274\210hex\357\274\211", nullptr));
+        label_24->setText(QCoreApplication::translate("MouseConfigTool", "\357\274\210hex\357\274\211", nullptr));
+        label_25->setText(QCoreApplication::translate("MouseConfigTool", "\357\274\210hex\357\274\211", nullptr));
+        label_26->setText(QCoreApplication::translate("MouseConfigTool", "\357\274\210hex\357\274\211", nullptr));
+        label_27->setText(QCoreApplication::translate("MouseConfigTool", "\357\274\210hex\357\274\211", nullptr));
+        label_29->setText(QCoreApplication::translate("MouseConfigTool", "\357\274\210hex\357\274\211", nullptr));
+    } // retranslateUi
+
+};
+
+namespace Ui {
+    class MouseConfigTool: public Ui_MouseConfigTool {};
+} // namespace Ui
+
+QT_END_NAMESPACE
+
+#endif // UI_MOUSECONFIGTOOL_H
