C++代码审阅–ice104协议从站(5)

代码理解

IEC104NASlaveDlg.cpp窗口实现文件
已注释过内容不再注释,请参考
C++代码审阅–ice104协议从站(1)
C++代码审阅–ice104协议从站(2)
C++代码审阅–ice104协议从站(3)
C++代码审阅–ice104协议从站(4)

// IEC104NASlaveDlg.cpp : implementation file
//

#include "stdafx.h"
#include "IEC104NASlave.h"
#include "IEC104NASlaveDlg.h"

#include "Slave104.h"

	
#define PORT 2404
#define IP_ADDRESS "192.168.1.121"
#define CLIENT_NUM 10
#define MAX_NUM_WORD 1024
#pragma comment (lib,"WS2_32.lib")

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

// #include "vld.h"

BYTE YXTestData[288]=      //BYTE类型遥信数组初始化
{
		0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x01,
		0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x01,
		0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x01,
		0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x01,
		0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x01,
		0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x01,
		0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x01,
		0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x01,
		0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x01,
		0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x01,
		0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x01,
		0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x01,
		0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x01,
		0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x01,
		0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x01,
		0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x01,
		0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x01,
		0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x01,
		0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x01,
		0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x01,
		0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x01,
		0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x01,
		0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x01,
		0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x01,
		0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x01,
		0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x01,
		0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x01,
		0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x01,
		0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00
};

BYTE YCTestData[5903] =    //BYTE类型遥测数组初始化
{
	0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33, 0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,
	0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33, 0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,
	0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33, 0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,
	0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33, 0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,
	0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33, 0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,
	0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33, 0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,
	0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33, 0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,
	0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33, 0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,
	0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33, 0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,
	0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33, 0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,
	0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33, 0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,
	0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33, 0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,
	0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33, 0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,
	0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33, 0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,
	0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33, 0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98,
	0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33, 0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,
	0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33, 0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,
	0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33, 0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,
	0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33, 0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,
	0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33, 0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,
	0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33, 0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,
	0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33, 0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,
	0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33, 0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,
	0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33, 0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,
	0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33, 0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,
	0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33, 0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,
	0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33, 0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,
	0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33, 0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,
	0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33, 0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,
	0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33, 0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98, 0x98, 0x34, 0x24, 0x23, 0x23, 0x45, 0x24, 0x12, 0x33,0x01, 0x02, 0x04, 0x05, 0x89, 0x32, 0x32, 0x32, 0x32, 0x32, 0x98
	,0x00
};

WORD YCTestData1[2951] =    //WORD类型遥测数组初始化
{
	0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,
	0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,
	0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,
	0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,
	0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,

	0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,
	0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,
	0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,
	0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,
	0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,

	0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,
	0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,
	0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,
	0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,
	0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102, 0x0405, 0x8932, 0x3232, 0x3232, 0x9898, 0x3424, 0x2323, 0x4524, 0x1233,0x0102

};


DWORD YMTestData[20] = //DWORD类型遥脉数组初始化
{
	0x01020304, 0x03040506, 0x05060708, 0x07080900, 0x09000102, 0x01020304, 0x03040506, 0x05060708, 0x07080900, 0x09000102,
	0x01020304, 0x03040506, 0x05060708, 0x07080900, 0x09000102, 0x01020304, 0x03040506, 0x05060708, 0x07080900, 0x09000102
};

/*

*/

/
// CAboutDlg dialog used for App About

class CAboutDlg : public CDialog
{
public:
	CAboutDlg();

// Dialog Data
	//{{AFX_DATA(CAboutDlg)
	enum { IDD = IDD_ABOUTBOX };
	//}}AFX_DATA

	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CAboutDlg)
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
	//}}AFX_VIRTUAL

// Implementation
protected:
	//{{AFX_MSG(CAboutDlg)
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};

CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)
{
	//{{AFX_DATA_INIT(CAboutDlg)
	//}}AFX_DATA_INIT
}

void CAboutDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CAboutDlg)
	//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)   
	//{{AFX_MSG_MAP(CAboutDlg)
		// No message handlers
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/
// CIEC104NASlaveDlg dialog

CIEC104NASlaveDlg::CIEC104NASlaveDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CIEC104NASlaveDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CIEC104NASlaveDlg)
	//}}AFX_DATA_INIT
	// Note that LoadIcon does not require a subsequent DestroyIcon in Win32
	slave = NULL;
	m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);//向可执行文件装入图标资源,图标ID为IDR_MAINFRAME
}

CIEC104NASlaveDlg::~CIEC104NASlaveDlg()//析构CIEC104NASlaveDlg
{
	if(slave != NULL)
		delete slave;
}
void CIEC104NASlaveDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CIEC104NASlaveDlg)
	DDX_Control(pDX, IDC_BUTTON_START, m_startListen);
	DDX_Control(pDX, IDC_BUTTON_STOPLISTEN, m_stopListen);
	DDX_Control(pDX, IDC_LIST_MSG, m_revList);
	DDX_Control(pDX, IDC_LIST_SENDMSG, m_sendList);
	//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CIEC104NASlaveDlg, CDialog)
	//{{AFX_MSG_MAP(CIEC104NASlaveDlg)
	ON_WM_SYSCOMMAND()
	ON_WM_PAINT()
	ON_WM_QUERYDRAGICON()
	ON_BN_CLICKED(IDC_BUTTON_START, OnButtonStart)
	ON_MESSAGE(WM_MYMESSAGE,OnRevMsg)
	ON_BN_CLICKED(IDC_BUTTON_DEFLECTIONYX, OnButtonDeflectionyx)
	ON_BN_CLICKED(IDC_BUTTON_SOE, OnButtonSoe)
	ON_BN_CLICKED(IDC_BUTTON1, OnButton1)
	ON_BN_CLICKED(IDC_BUTTON_STOPLISTEN, OnButtonStoplisten)
	ON_BN_CLICKED(IDC_BUTTON_CLEARLIST, OnButtonClearlist)
	ON_BN_CLICKED(IDC_BUTTON_SAVEMSG, OnButtonSavemsg)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

//以上至189这块定义各个按钮消息响应函数,宏定义在之前章节有讲
/
// CIEC104NASlaveDlg message handlers

LRESULT CIEC104NASlaveDlg::OnRevMsg(WPARAM wParam,LPARAM lParam)
{
	char buf[65535];
	strcpy(buf, (char *)lParam);
	int len = (int)wParam;
	CString str, ch;
	
	str = "Rece: ";
	for(int n = 0; n < len; n++)
	{
		ch.Format(" %02x",buf[n]);
		str += ch;
		if(n>0 && !(n%20))
		{
			str += "\n";
		}
	}
//	m_revList.AddString(str);
	m_sendList.AddString(str);

//	AfxMessageBox("aaa");
	return 0;
}

BOOL CIEC104NASlaveDlg::OnInitDialog()
{
	CDialog::OnInitDialog();

	// Add "About..." menu item to system menu.

	// IDM_ABOUTBOX must be in the system command range.
	ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
	ASSERT(IDM_ABOUTBOX < 0xF000);

	CMenu* pSysMenu = GetSystemMenu(FALSE);
	if (pSysMenu != NULL)
	{
		CString strAboutMenu;
		strAboutMenu.LoadString(IDS_ABOUTBOX);
		if (!strAboutMenu.IsEmpty())
		{
			pSysMenu->AppendMenu(MF_SEPARATOR);
			pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
		}
	}

	// Set the icon for this dialog.  The framework does this automatically
	//  when the application's main window is not a dialog
	SetIcon(m_hIcon, TRUE);			// Set big icon
	SetIcon(m_hIcon, FALSE);		// Set small icon

//	char *test = new char[11];
	
	// TODO: Add extra initialization here
	//	dlg = this;
	int n = sizeof(YXTestData);

//	memcpy(YCData, YCTestData, sizeof(YCTestData));
//	MyMemcpy(YCData, YCTestData, sizeof(YCTestData));

//	memmove(YCData, YCTestData, sizeof(YCTestData)); 
	memmove(YCData, YCTestData1, sizeof(YCTestData1));
	memcpy(YXData, YXTestData, sizeof(YXTestData));
	memcpy(YMData, YMTestData, sizeof(YMTestData));	

	SetDlgItemText(IDC_TIME_T1, "未生效");
	SetDlgItemText(IDC_REMAIN_T1, "未生效");

	SetDlgItemText(IDC_TIME_T2, "未生效");
	SetDlgItemText(IDC_REMAIN_T2, "未生效");

	SetDlgItemText(IDC_TIME_T3, "未生效");
	SetDlgItemText(IDC_REMAIN_T3, "未生效");
	SetButtonState(FALSE);
	return TRUE;  // return TRUE  unless you set the focus to a control
}
//以上内容几乎均为初始化界面的一些定义

//下面开始是界面逻辑实现
void CIEC104NASlaveDlg::OnSysCommand(UINT nID, LPARAM lParam)
{
	if ((nID & 0xFFF0) == IDM_ABOUTBOX)
	{
		CAboutDlg dlgAbout;
		dlgAbout.DoModal();
	}
	else
	{
		CDialog::OnSysCommand(nID, lParam);
	}
}
//菜单中的关于功能的实现,选择IDM_ABOUTBOX弹出对话框

// If you add a minimize button to your dialog, you will need the code below
//  to draw the icon.  For MFC applications using the document/view model,
//  this is automatically done for you by the framework.

void CIEC104NASlaveDlg::OnPaint() 
{
	if (IsIconic())
	{
		CPaintDC dc(this); // device context for painting

		SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0); //

		// Center icon in client rectangle
		int cxIcon = GetSystemMetrics(SM_CXICON);
		int cyIcon = GetSystemMetrics(SM_CYICON);
		//GetSystemMetrics获取窗口显示区域的宽高
		CRect rect;
		GetClientRect(&rect); //GetSystemMetrics获取客户区的大小,即菜单栏,标题栏之外的地方
		int x = (rect.Width() - cxIcon + 1) / 2;
		int y = (rect.Height() - cyIcon + 1) / 2;
		//坐标

		// Draw the icon
		dc.DrawIcon(x, y, m_hIcon);
	}
	else
	{
		CDialog::OnPaint();
	}
}
//以上是主程序窗口区域的实现

// The system calls this to obtain the cursor to display while the user drags
//  the minimized window.
HCURSOR CIEC104NASlaveDlg::OnQueryDragIcon()
{
	return (HCURSOR) m_hIcon;
}
//移动光标
void CIEC104NASlaveDlg::OnButtonStart() //开始侦听按钮功能实现
{
	// TODO: Add your control notification handler code here
	slave = new Slave104();
	slave->dlg = this;
	slave->slave_start();  // 启动侦听并启动线程接收报文
	slave->SetAllYXData(YXData, sizeof(YXData));
//	slave->SetAllYCData(YCTestData, sizeof(YCTestData));// SetAllYMData 
	slave->SetAllYCData(YCData, sizeof(YCData));
	slave->SetAllYMData(YMData, sizeof(YMData));

	m_stopListen.EnableWindow(TRUE);
	m_startListen.EnableWindow(FALSE);
	SetButtonState(TRUE);
}


void CIEC104NASlaveDlg::OnButtonDeflectionyx() //变位按钮逻辑实现
{
	// TODO: Add your control notification handler code here
	ASDU msg;
	msg.header.type = 0x01;					// 电能脉冲召唤命令
	msg.header.qual = 0x01;					// number of elements
	msg.header.tx_cause_1 = 0x03;			// 突发事件
	msg.header.tx_cause_2 = 0x00;
	msg.header.commom_asdu_1 = 0x01;
	msg.header.commom_asdu_2 = 0x00;
	
	// group information
	msg.data[0] = 0x03;                     // (信息体地址,第3号遥信)
	msg.data[1] = 0x00;
	msg.data[2] = 0x00;
	msg.data[3] = 0x00;                     // 00(遥信分)
	slave->Send_I_Msg((BYTE*)&msg, 10);	
	
	slave->startT2Timer();
}

void CIEC104NASlaveDlg::OnButtonSoe() //SOE按钮逻辑实现
{
	// TODO: Add your control notification handler code here
	BYTE Txbuf[256];
	BYTE *buff = Txbuf;
	
	int Index = 0;
	
    buff[Index++] = 0x1e;  // 30 SOE的功能码
	buff[Index++] = 0x01;
	buff[Index++] = 0x03;
	buff[Index++] = 0x00;
	buff[Index++] = 0x01;
	buff[Index++] = 0x00;
	buff[Index++] = 0x0a;   // 信息体地址
	buff[Index++] = 0x00;
	buff[Index++] = 0x00;
	
	SYSTEMTIME ctim;
	GetLocalTime(&ctim);
	WORD second = ctim.wMilliseconds + ctim.wSecond*1000;
	buff[Index++] = (unsigned char)second;
	buff[Index++] = second>>8;
	buff[Index++] = (unsigned char)ctim.wMinute;
	buff[Index++] = (unsigned char)ctim.wHour;
	buff[Index++] = (unsigned char)ctim.wDay;//(ctim.wDay&0x1f)|((ctim.wDayOfWeek<<5)&0xe0);
	buff[Index++] = (unsigned char)ctim.wMonth;
	buff[Index++] = (unsigned char)ctim.wYear-2000;
	
	int Txlen = buff-Txbuf;
	slave->Send_I_Msg(Txbuf, Index);

	slave->startT2Timer();
}

void CIEC104NASlaveDlg::MyMemcpy(void * dest, void *src, int len)
{
	for(int i = 0; i< len; i++)
	{
		((char*)dest)[i] = ((char*)src)[i];
	}
}

void CIEC104NASlaveDlg::OnButton1() //test按钮逻辑实现
{
	// TODO: Add your control notification handler code here
//	slave->ReturnALLYMData();
//	slave->ReturnAllYCData();
//	slave->slave_stop();
//	slave->slave_start();	
	// 发送U测试帧
	slave->Send_U_Msg(CMD_TESTC);
}

void CIEC104NASlaveDlg::OnButtonStoplisten() //停止侦听按钮逻辑实现
{
	// TODO: Add your control notification handler code here
	slave->slave_stop();
	AfxMessageBox("侦听结束");
	
	if(slave != NULL)
	{
		delete slave;
		slave = NULL;
	}

	// 时间相关控件设置为无效
	SetTimeCtrl(1, TRUE);
	SetRemainTimeCtrl(1, 0, TRUE);

	SetTimeCtrl(2, TRUE);
	SetRemainTimeCtrl(2, 0, TRUE);

	SetTimeCtrl(3, TRUE);
	SetRemainTimeCtrl(3, 0, TRUE);

	m_stopListen.EnableWindow(FALSE);
	m_startListen.EnableWindow(TRUE);
	SetButtonState(FALSE);
	
}
// C:\Program Files\Visual Leak Detector


void CIEC104NASlaveDlg::SetTimeCtrl(int nType, BOOL isInvalid)
{
	int nID;
	switch(nType)
	{
	case 1:
		nID = IDC_TIME_T1;
		break;
	case 2:
		nID = IDC_TIME_T2;
		break;
	case 3:
		nID = IDC_TIME_T3;
		break;
	default:
		return;
	}
	if(isInvalid)    // 将相应控件内容设置为无效
	{
		SetDlgItemText(nID,"未生效");        //初始化编辑框显示
	}
	else
	{
		CString strTime;
		CTime tm;
		tm=CTime::GetCurrentTime();         //获取当前系统时间
		strTime=tm.Format("%y-%m-%d %X");   //格式化系统时间。即使系统时 间按照Format中设置的格式显示
		SetDlgItemText(nID,strTime);        //初始化编辑框显示
	}	
}

void CIEC104NASlaveDlg::SetRemainTimeCtrl(int nType, int nRemainSecond, BOOL isInvalid) //起始和剩余时间实现
{
	int nID;
	switch(nType)
	{
	case 1:
		nID = IDC_REMAIN_T1;
		break;
	case 2:
		nID = IDC_REMAIN_T2;
		break;
	case 3:
		nID = IDC_REMAIN_T3;
		break;
	default:
		return;
	}
	if(isInvalid)    // 将相应控件内容设置为无效
	{
		SetDlgItemText(nID,"未生效");        //初始化编辑框显示
	}
	else
	{
		CString strRemainTime;
		strRemainTime.Format("%d", nRemainSecond);
		SetDlgItemText(nID,strRemainTime);        //初始化编辑框显示
	}
}

void CIEC104NASlaveDlg::OnButtonClearlist() //清空数据区按钮逻辑实现
{
	// TODO: Add your control notification handler code here
	m_sendList.ResetContent();	
}

void CIEC104NASlaveDlg::OnButtonSavemsg() //保存报文按钮逻辑实现
{
	CString strSource;
	CString tempStr;
	int nCount = m_sendList.GetSelCount();
	if(nCount == -1)
	{
		AfxMessageBox("没有行被选中");
		return;
	}
	int *SelIndex = new int[nCount];
	
	m_sendList.GetSelItems(nCount, SelIndex);//现在selindex数组里面就是你要的行的索引
	for(int i = 0; i<nCount; i++)
	{
		m_sendList.GetText(SelIndex[i], tempStr);
		tempStr = tempStr.Mid(tempStr.Find(":")+1);
		strSource += tempStr;
		tempStr = "";
	}
	delete[] SelIndex; 
	
	int size = strSource.GetLength();
	TCHAR* str = new TCHAR[size+1];
	memset(str, 0, size+1);
	//其参数为CString字符串的长度
    //	str = strSource.GetBuffer(0);
	char * xx = strSource.GetBuffer(0);
	strcpy(str, xx);
	str[size] = '\0';
	
	HGLOBAL hMem;
	LPTSTR pStr;
	// 分配内存空间
	hMem = GlobalAlloc(GHND | GMEM_SHARE, size+1);// 
	pStr = (LPTSTR)GlobalLock(hMem);
	// lstrcpy(pStr, str);
	strcpy(pStr, str);
	GlobalUnlock(hMem);
	OpenClipboard();
	EmptyClipboard();
	// 设置剪贴板文本
	SetClipboardData(CF_TEXT, hMem);
	CloseClipboard();
	// 释放内存空间
	GlobalFree(hMem);
		
	
	strSource.ReleaseBuffer();
	if(str != NULL)
	{
		delete []str;
		str = NULL;
	}
	AfxMessageBox("复制完成");
}


void CIEC104NASlaveDlg::SetButtonState(BOOL state) //按钮状态设置逻辑
{
	if(!state)
		(CWnd *)GetDlgItem(IDC_BUTTON_START)->EnableWindow(!state);
	
	(CWnd *)GetDlgItem(IDC_BUTTON_STOPLISTEN)->EnableWindow(state);
	(CWnd *)GetDlgItem(IDC_BUTTON_DEFLECTIONYX)->EnableWindow(state);
	(CWnd *)GetDlgItem(IDC_BUTTON_SOE)->EnableWindow(state);
	(CWnd *)GetDlgItem(IDC_BUTTON1)->EnableWindow(state);
}

文件含义

该文件主要是主程序界面逻辑的实现

相关基础知识

1.循环:https://www.runoob.com/cplusplus/cpp-loops.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
# IEC104 Protocol of IEC104 and IEC101 ## by chendajie 2014-2015 ## 电网IEC104/IEC101通信协议 ============================== 隔离协议内容与平台或者硬件相关性,已经在stm32平台和linux平台移植测试通过,可轻松移植到其他平台。 ============================================================================ 队列实现的隔离,目前实现简单的先入先出队列,可根据需求用其他队列算法替换。 移植调用实现: 1.在不同平台下,实现_iec10x结构体的函数指针(利用函数指针实现的接口)。 2.调用RegisterIEC10XMoudle,注册实现的_iec10x接口。 3.创建线程一调用Iex104_Receive管理收包解析。 4.创建线程二调用Iec10x_Scheduled实现出队调度。 5.创建线程三实现状态机Iec104_StateMachine,实现协议状态管理,协议包组包入队。 代码内容 IEC0x目录 iec101.c iec101协议包内容 iec104.c iec104协议包内容 iec10x.c 队列初始化,入队出对实现,队列优先级等相关实现,队列调度实现 PRIO_QUEUE_Iec10x.c 队列具体算法实现 test目录 linux上简单测试代码,仅供参考,作者具体协议应用在stm32上,利用状态机控制数据包入队与出队调度 重要函数: Iec10x_Scheduled:出队调度 IEC10X_Enqueue:入队函数 IEC10X_Dequeue:出队函数 IEC10X_FindQHead:查找最高优先级数据包 IEC10X_XXX:前缀为IEC10X_的函数为各个协议包的组包函数 Iec104_StateMachine: 104协议状态机 Iex104_Receive:收包解析 RegisterIEC10XMoudle:协议模块注册,初始化 重要结构体: 用函数指针实现的移植接口,根据不同平台与硬件特性,选择性实现以下接口 typedef struct _iec10x { char * name; int (* Init)(void); void (* Delay_ms)(uint16_t); void (* CloseLink)(void); void *(* Malloc)(uint8_t NumByte); void (* Free)(void *buffer); uint8_t (* enqueue)(Iec10x_PrioQueue_T *QueueHdr, Iec10x_PrioNode_T *NewNode); Iec10x_PrioNode_T *(* dequeue)(Iec10x_PrioQueue_T * QueueHdr); Iec10x_PrioNode_T *(* FindQHead)(Iec10x_PrioQueue_T * QueueHdr); char (* GetPrio)(void); void (* InitQueue)(Iec10x_PrioQueue_T *PrioQueue); void (* ClearQueue)(Iec10x_PrioQueue_T * QueueHdr); uint8_t (* Send)(int socketfd,char *data,int len); uint32_t (* SetTime)(PCP56Time2a_T time); uint32_t (* GetTime)(PCP56Time2a_T time); int8_t (* GetStationState)(uint16_t Addr, uint8_t DevType); float (* GetStaValue)(uint16_t Addr, uint8_t DevType); uint16_t (* GetLinkAddr)(void); int8_t (* GetInfoNum)(uint8_t *InfoNum, uint8_t DevType); int8_t (* SetConfig)(long Value, uint32_t addr); int8_t (* SaveFirmware)(uint8_t FirmLen, uint8_t *buf,uint32_t FirmwareType, uint32_t Iec10x_Update_SeekAddr); int8_t (* CheckFirmware)(uint32_t FirmwareType, uint32_t TotalLen); int8_t (* UpdateFirmware)(uint32_t FirmwareType); int8_t (* BackoffFirmware)(uint32_t FirmwareType); #ifdef IEC10XLOCK void (* LOCK)(void); void (* UNLOCK)(void); #endif } *PIEC10X_T, IEC10X_T;

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值