* [Qemu-devel] [RFC 0/6] Virtio-net: Support RSS
@ 2018-08-30 14:27 Sameeh Jubran
2018-08-30 14:27 ` [Qemu-devel] [RFC 1/6] Add bpf support to qemu Sameeh Jubran
` (6 more replies)
0 siblings, 7 replies; 36+ messages in thread
From: Sameeh Jubran @ 2018-08-30 14:27 UTC (permalink / raw)
To: qemu-devel, Jason Wang; +Cc: Yan Vugenfirer
From: Sameeh Jubran <sjubran@redhat.com>
This series implements the Steering Mode feature which was introduced on the
virtio-dev list a while ago, which can be found here:
* https://lists.oasis-open.org/archives/virtio-dev/201805/msg00024.html
The first three patches add some infrastructure support that is used in
the following three patches.
The ebpf filter doesn't fully work yet as I'm having an issue with the
verifier which needs to be fixed.
The patches still need some love as not all of the cases have been handled
yet most of the functionality has been implemented.
Please share your thoughts and comments so I'll move forward with
sending v1 along with a fully functioning ebpf code.
Sameeh Jubran (6):
Add bpf support to qemu
tap: Add support for bpf ioctls
vhost-net: Expose vhost_net_get_fd
virtio-net: implement steering mode feature
virtio-net: steering mode: Implement rss support
virtio-net: rss: Add bpf filter
MAINTAINERS | 5 +
configure | 44 +
hw/net/rss_bpf_insns.h | 3992 +++++++++++++++++++++++++++
hw/net/rss_tap_bpf.h | 37 +
hw/net/rss_tap_bpf_program.c | 172 ++
hw/net/vhost_net.c | 2 +-
hw/net/virtio-net.c | 250 +-
include/hw/virtio/virtio-net.h | 5 +
include/net/net.h | 3 +-
include/standard-headers/linux/virtio_net.h | 55 +
net/tap-bsd.c | 5 +
net/tap-linux.c | 29 +-
net/tap-linux.h | 3 +-
net/tap-solaris.c | 5 +
net/tap-stub.c | 5 +
net/tap.c | 8 +
net/tap_int.h | 1 +
qapi/net.json | 11 +
scripts/update-linux-headers.sh | 8 +-
19 files changed, 4627 insertions(+), 13 deletions(-)
create mode 100644 hw/net/rss_bpf_insns.h
create mode 100644 hw/net/rss_tap_bpf.h
create mode 100644 hw/net/rss_tap_bpf_program.c
--
2.13.6
^ permalink raw reply [flat|nested] 36+ messages in thread
* [Qemu-devel] [RFC 1/6] Add bpf support to qemu
2018-08-30 14:27 [Qemu-devel] [RFC 0/6] Virtio-net: Support RSS Sameeh Jubran
@ 2018-08-30 14:27 ` Sameeh Jubran
2018-09-03 11:59 ` Daniel P. Berrangé
2018-08-30 14:27 ` [Qemu-devel] [RFC 2/6] tap: Add support for bpf ioctls Sameeh Jubran
` (5 subsequent siblings)
6 siblings, 1 reply; 36+ messages in thread
From: Sameeh Jubran @ 2018-08-30 14:27 UTC (permalink / raw)
To: qemu-devel, Jason Wang; +Cc: Yan Vugenfirer
From: Sameeh Jubran <sjubran@redhat.com>
This commit adds the bpf header provided by Linux to Qemu.
Signed-off-by: Sameeh Jubran <sjubran@redhat.com>
---
MAINTAINERS | 5 +++++
configure | 44 +++++++++++++++++++++++++++++++++++++++++
| 8 ++++++--
3 files changed, 55 insertions(+), 2 deletions(-)
diff --git a/MAINTAINERS b/MAINTAINERS
index 0fb5f38f9f..bf2619239c 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -2126,6 +2126,11 @@ F: hw/rdma/*
F: hw/rdma/vmw/*
F: docs/pvrdma.txt
+BPF
+M: Sameeh Jubran <sameeh@daynix.com>
+S: Maintained
+F: linux-headers/linux/bpf.h
+
Build and test automation
-------------------------
Build and test automation
diff --git a/configure b/configure
index a8c4094c87..21edaf59aa 100755
--- a/configure
+++ b/configure
@@ -348,6 +348,7 @@ libattr=""
xfs=""
tcg="yes"
membarrier=""
+bpf="no"
vhost_net="no"
vhost_crypto="no"
vhost_scsi="no"
@@ -1173,6 +1174,10 @@ for opt do
;;
--enable-membarrier) membarrier="yes"
;;
+ --disable-bpf) bpf="no"
+ ;;
+ --enable-bpf) bpf="yes"
+ ;;
--disable-blobs) blobs="no"
;;
--with-pkgversion=*) pkgversion="$optarg"
@@ -1593,6 +1598,7 @@ disabled with --disable-FEATURE, default is enabled if available:
brlapi BrlAPI (Braile)
curl curl connectivity
membarrier membarrier system call (for Linux 4.14+ or Windows)
+ bpf bpf system calls (for Linux 3.18+)
fdt fdt device tree
bluez bluez stack connectivity
kvm KVM acceleration support
@@ -5232,6 +5238,38 @@ else
fi
##########################################
+# check for usable bpf system call
+if test "$bpf" = "yes"; then
+ have_bpf=no
+ if test "$linux" = "yes" ; then
+ cat > $TMPC << EOF
+ #include <sys/syscall.h>
+ #include "linux/bpf.h"
+ #include <unistd.h>
+ #include <stdlib.h>
+ #include <string.h>
+ int main(void) {
+ union bpf_attr * attr = NULL;
+ syscall(__NR_bpf, BPF_PROG_LOAD, attr, sizeof(attr));
+ exit(0);
+ }
+EOF
+ bpf_include="-Iinclude/standard-headers/linux"
+ bpf_cflags=""
+ bpf_libs=""
+ if compile_prog "$bpf_include" "$bpf_libs" ; then
+ have_bpf=yes
+ fi
+ fi
+ if test "$have_bpf" = "no"; then
+ feature_not_found "bpf" "libelf libs are not available or else \
+the bpf system call is not available"
+ fi
+else
+ bpf=no
+fi
+
+##########################################
# check if rtnetlink.h exists and is useful
have_rtnetlink=no
cat > $TMPC << EOF
@@ -5871,6 +5909,7 @@ echo "malloc trim support $malloc_trim"
echo "RDMA support $rdma"
echo "fdt support $fdt"
echo "membarrier $membarrier"
+echo "bpf $bpf"
echo "preadv support $preadv"
echo "fdatasync $fdatasync"
echo "madvise $madvise"
@@ -6365,6 +6404,11 @@ fi
if test "$membarrier" = "yes" ; then
echo "CONFIG_MEMBARRIER=y" >> $config_host_mak
fi
+if test "$bpf" = "yes" ; then
+ echo "CONFIG_BPF=y" >> $config_host_mak
+ echo "LIBS_BPF=$bpf_libs" >> $config_host_mak
+ echo "CFLAGS_BPF=$bpf_cflags" >> $config_host_mak
+fi
if test "$signalfd" = "yes" ; then
echo "CONFIG_SIGNALFD=y" >> $config_host_mak
fi
--git a/scripts/update-linux-headers.sh b/scripts/update-linux-headers.sh
index feb75390aa..57df8228af 100755
--- a/scripts/update-linux-headers.sh
+++ b/scripts/update-linux-headers.sh
@@ -35,6 +35,8 @@ cp_portable() {
grep '#include' "$f" | grep -v -e 'linux/virtio' \
-e 'linux/types' \
-e 'stdint' \
+ -e 'stdio' \
+ -e 'stdbool' \
-e 'linux/if_ether' \
-e 'input-event-codes' \
-e 'sys/' \
@@ -44,6 +46,7 @@ cp_portable() {
-e 'linux/kernel' \
-e 'linux/sysinfo' \
-e 'asm-generic/kvm_para' \
+ -e 'linux/bpf' \
> /dev/null
then
echo "Unexpected #include in input file $f".
@@ -58,7 +61,7 @@ cp_portable() {
-e 's/__le\([0-9][0-9]*\)/uint\1_t/g' \
-e 's/__be\([0-9][0-9]*\)/uint\1_t/g' \
-e 's/"\(input-event-codes\.h\)"/"standard-headers\/linux\/\1"/' \
- -e 's/<linux\/\([^>]*\)>/"standard-headers\/linux\/\1"/' \
+ -e 's/<linux\/\([^>]*(?!bpf)\)>/"standard-headers\/linux\/\1"/' \
-e 's/__bitwise//' \
-e 's/__attribute__((packed))/QEMU_PACKED/' \
-e 's/__inline__/inline/' \
@@ -126,7 +129,8 @@ done
rm -rf "$output/linux-headers/linux"
mkdir -p "$output/linux-headers/linux"
for header in kvm.h vfio.h vfio_ccw.h vhost.h \
- psci.h psp-sev.h userfaultfd.h; do
+ psci.h psp-sev.h userfaultfd.h \
+ bpf.h; do
cp "$tmpdir/include/linux/$header" "$output/linux-headers/linux"
done
--
2.13.6
^ permalink raw reply related [flat|nested] 36+ messages in thread
* [Qemu-devel] [RFC 2/6] tap: Add support for bpf ioctls
2018-08-30 14:27 [Qemu-devel] [RFC 0/6] Virtio-net: Support RSS Sameeh Jubran
2018-08-30 14:27 ` [Qemu-devel] [RFC 1/6] Add bpf support to qemu Sameeh Jubran
@ 2018-08-30 14:27 ` Sameeh Jubran
2018-08-30 15:21 ` Eric Blake
2018-09-03 3:24 ` Jason Wang
2018-08-30 14:27 ` [Qemu-devel] [RFC 3/6] vhost-net: Expose vhost_net_get_fd Sameeh Jubran
` (4 subsequent siblings)
6 siblings, 2 replies; 36+ messages in thread
From: Sameeh Jubran @ 2018-08-30 14:27 UTC (permalink / raw)
To: qemu-devel, Jason Wang; +Cc: Yan Vugenfirer
From: Sameeh Jubran <sjubran@redhat.com>
Starting from kernel v4.16 tun device supports TUNSETSTEERINGEBPF and
TUNSETFILTEREBPF.
Signed-off-by: Sameeh Jubran <sjubran@redhat.com>
---
include/net/net.h | 3 ++-
net/tap-bsd.c | 5 +++++
net/tap-linux.c | 29 ++++++++++++++++++++++++++++-
net/tap-linux.h | 3 ++-
net/tap-solaris.c | 5 +++++
net/tap-stub.c | 5 +++++
net/tap.c | 8 ++++++++
net/tap_int.h | 1 +
qapi/net.json | 11 +++++++++++
9 files changed, 67 insertions(+), 3 deletions(-)
diff --git a/include/net/net.h b/include/net/net.h
index 1425960f76..e7d1baac10 100644
--- a/include/net/net.h
+++ b/include/net/net.h
@@ -39,7 +39,6 @@ typedef struct NICConf {
DEFINE_PROP_MACADDR("mac", _state, _conf.macaddr), \
DEFINE_PROP_NETDEV("netdev", _state, _conf.peers)
-
/* Net clients */
typedef void (NetPoll)(NetClientState *, bool enable);
@@ -60,6 +59,7 @@ typedef int (SetVnetLE)(NetClientState *, bool);
typedef int (SetVnetBE)(NetClientState *, bool);
typedef struct SocketReadState SocketReadState;
typedef void (SocketReadStateFinalize)(SocketReadState *rs);
+typedef int (SetBPFFilter)(NetClientState *, int, BPFType);
typedef struct NetClientInfo {
NetClientDriver type;
@@ -80,6 +80,7 @@ typedef struct NetClientInfo {
SetVnetHdrLen *set_vnet_hdr_len;
SetVnetLE *set_vnet_le;
SetVnetBE *set_vnet_be;
+ SetBPFFilter *set_bpf_filter;
} NetClientInfo;
struct NetClientState {
diff --git a/net/tap-bsd.c b/net/tap-bsd.c
index 6c9692263d..fccf17bad0 100644
--- a/net/tap-bsd.c
+++ b/net/tap-bsd.c
@@ -259,3 +259,8 @@ int tap_fd_get_ifname(int fd, char *ifname)
{
return -1;
}
+
+int tap_fd_load_bpf(int fd, int bpf_fd, BPFType type)
+{
+ return -1;
+}
diff --git a/net/tap-linux.c b/net/tap-linux.c
index 535b1ddb61..e8ee54f3b3 100644
--- a/net/tap-linux.c
+++ b/net/tap-linux.c
@@ -305,7 +305,8 @@ int tap_fd_get_ifname(int fd, char *ifname)
{
struct ifreq ifr;
- if (ioctl(fd, TUNGETIFF, &ifr) != 0) {
+ if (ioctl(fd, TUNGETIFF, &ifr) != 0)
+ {
error_report("TUNGETIFF ioctl() failed: %s",
strerror(errno));
return -1;
@@ -314,3 +315,29 @@ int tap_fd_get_ifname(int fd, char *ifname)
pstrcpy(ifname, sizeof(ifr.ifr_name), ifr.ifr_name);
return 0;
}
+
+
+int tap_fd_load_bpf(int fd, int bpf_fd, BPFType type)
+{
+ int ioctl_num = 0;
+ switch (type)
+ {
+ case BPF_TYPE_FILTER:
+ ioctl_num = TUNSETFILTEREBPF;
+ break;
+
+ case BPF_TYPE_STEERING:
+ ioctl_num = TUNSETSTEERINGEBPF;
+ break;
+
+ default:
+ error_report("Unknown bpf_type");
+ return -1;
+ }
+
+ if (ioctl(fd, ioctl_num, &bpf_fd) != 0) {
+ error_report("#%d ioctl() failed: %s", ioctl_num, strerror(errno));
+ return -1;
+ }
+ return 0;
+}
diff --git a/net/tap-linux.h b/net/tap-linux.h
index 2f36d100fc..7348169fc2 100644
--- a/net/tap-linux.h
+++ b/net/tap-linux.h
@@ -31,7 +31,8 @@
#define TUNSETQUEUE _IOW('T', 217, int)
#define TUNSETVNETLE _IOW('T', 220, int)
#define TUNSETVNETBE _IOW('T', 222, int)
-
+#define TUNSETSTEERINGEBPF _IOR('T', 224, int)
+#define TUNSETFILTEREBPF _IOR('T', 225, int)
#endif
/* TUNSETIFF ifr flags */
diff --git a/net/tap-solaris.c b/net/tap-solaris.c
index a2a92356c1..a5a6248c7d 100644
--- a/net/tap-solaris.c
+++ b/net/tap-solaris.c
@@ -254,3 +254,8 @@ int tap_fd_get_ifname(int fd, char *ifname)
{
return -1;
}
+
+int tap_fd_load_bpf(int fd, int bpf_fd, BPFType type)
+{
+ return -1;
+}
diff --git a/net/tap-stub.c b/net/tap-stub.c
index a9ab8f8293..d059a32435 100644
--- a/net/tap-stub.c
+++ b/net/tap-stub.c
@@ -85,3 +85,8 @@ int tap_fd_get_ifname(int fd, char *ifname)
{
return -1;
}
+
+int tap_fd_load_bpf(int fd, int bpf_fd, BPFType type)
+{
+ return -1;
+}
diff --git a/net/tap.c b/net/tap.c
index 2126f4882d..ee98fecd40 100644
--- a/net/tap.c
+++ b/net/tap.c
@@ -342,6 +342,13 @@ int tap_get_fd(NetClientState *nc)
return s->fd;
}
+static int tap_set_bpf_filter(NetClientState *nc, int bpf_fd, BPFType type)
+{
+ TAPState *s = DO_UPCAST(TAPState, nc, nc);
+ assert(nc->info->type == NET_CLIENT_DRIVER_TAP);
+ return tap_fd_load_bpf(s->fd, bpf_fd, type);
+}
+
/* fd support */
static NetClientInfo net_tap_info = {
@@ -360,6 +367,7 @@ static NetClientInfo net_tap_info = {
.set_vnet_hdr_len = tap_set_vnet_hdr_len,
.set_vnet_le = tap_set_vnet_le,
.set_vnet_be = tap_set_vnet_be,
+ .set_bpf_filter = tap_set_bpf_filter,
};
static TAPState *net_tap_fd_init(NetClientState *peer,
diff --git a/net/tap_int.h b/net/tap_int.h
index 9f931d52d6..3e1603a88e 100644
--- a/net/tap_int.h
+++ b/net/tap_int.h
@@ -45,5 +45,6 @@ int tap_fd_set_vnet_be(int fd, int vnet_is_be);
int tap_fd_enable(int fd);
int tap_fd_disable(int fd);
int tap_fd_get_ifname(int fd, char *ifname);
+int tap_fd_load_bpf(int fd, int bpf_fd, BPFType type);
#endif /* NET_TAP_INT_H */
diff --git a/qapi/net.json b/qapi/net.json
index 6b7d93cb59..ce0a688444 100644
--- a/qapi/net.json
+++ b/qapi/net.json
@@ -692,3 +692,14 @@
##
{ 'event': 'NIC_RX_FILTER_CHANGED',
'data': { '*name': 'str', 'path': 'str' } }
+
+##
+# @BPFType:
+#
+# BPF programs types provided as an argument for tap bpf ioctls
+#
+# Since: 2.12
+#
+##
+{ 'enum': 'BPFType',
+ 'data': [ 'filter', 'steering' ] }
--
2.13.6
^ permalink raw reply related [flat|nested] 36+ messages in thread
* [Qemu-devel] [RFC 3/6] vhost-net: Expose vhost_net_get_fd
2018-08-30 14:27 [Qemu-devel] [RFC 0/6] Virtio-net: Support RSS Sameeh Jubran
2018-08-30 14:27 ` [Qemu-devel] [RFC 1/6] Add bpf support to qemu Sameeh Jubran
2018-08-30 14:27 ` [Qemu-devel] [RFC 2/6] tap: Add support for bpf ioctls Sameeh Jubran
@ 2018-08-30 14:27 ` Sameeh Jubran
2018-09-03 3:24 ` Jason Wang
2018-08-30 14:27 ` [Qemu-devel] [RFC 4/6] virtio-net: implement steering mode feature Sameeh Jubran
` (3 subsequent siblings)
6 siblings, 1 reply; 36+ messages in thread
From: Sameeh Jubran @ 2018-08-30 14:27 UTC (permalink / raw)
To: qemu-devel, Jason Wang; +Cc: Yan Vugenfirer
From: Sameeh Jubran <sjubran@redhat.com>
Signed-off-by: Sameeh Jubran <sjubran@redhat.com>
---
hw/net/vhost_net.c | 2 +-
include/hw/virtio/virtio-net.h | 2 ++
2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/hw/net/vhost_net.c b/hw/net/vhost_net.c
index e037db63a3..c0bff725c9 100644
--- a/hw/net/vhost_net.c
+++ b/hw/net/vhost_net.c
@@ -129,7 +129,7 @@ uint64_t vhost_net_get_acked_features(VHostNetState *net)
return net->dev.acked_features;
}
-static int vhost_net_get_fd(NetClientState *backend)
+int vhost_net_get_fd(NetClientState *backend)
{
switch (backend->info->type) {
case NET_CLIENT_DRIVER_TAP:
diff --git a/include/hw/virtio/virtio-net.h b/include/hw/virtio/virtio-net.h
index 02484dc94c..a7b53edc96 100644
--- a/include/hw/virtio/virtio-net.h
+++ b/include/hw/virtio/virtio-net.h
@@ -107,4 +107,6 @@ typedef struct VirtIONet {
void virtio_net_set_netclient_name(VirtIONet *n, const char *name,
const char *type);
+int vhost_net_get_fd(NetClientState *backend);
+
#endif
--
2.13.6
^ permalink raw reply related [flat|nested] 36+ messages in thread
* [Qemu-devel] [RFC 4/6] virtio-net: implement steering mode feature
2018-08-30 14:27 [Qemu-devel] [RFC 0/6] Virtio-net: Support RSS Sameeh Jubran
` (2 preceding siblings ...)
2018-08-30 14:27 ` [Qemu-devel] [RFC 3/6] vhost-net: Expose vhost_net_get_fd Sameeh Jubran
@ 2018-08-30 14:27 ` Sameeh Jubran
2018-09-03 3:34 ` Jason Wang
2018-08-30 14:27 ` [Qemu-devel] [RFC 5/6] virtio-net: steering mode: Implement rss support Sameeh Jubran
` (2 subsequent siblings)
6 siblings, 1 reply; 36+ messages in thread
From: Sameeh Jubran @ 2018-08-30 14:27 UTC (permalink / raw)
To: qemu-devel, Jason Wang; +Cc: Yan Vugenfirer
From: Sameeh Jubran <sjubran@redhat.com>
Signed-off-by: Sameeh Jubran <sjubran@redhat.com>
---
hw/net/virtio-net.c | 65 +++++++++++++++++++++++++----
include/hw/virtio/virtio-net.h | 3 ++
include/standard-headers/linux/virtio_net.h | 55 ++++++++++++++++++++++++
3 files changed, 116 insertions(+), 7 deletions(-)
diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c
index 90502fca7c..e7c4ce6f66 100644
--- a/hw/net/virtio-net.c
+++ b/hw/net/virtio-net.c
@@ -972,13 +972,53 @@ static int virtio_net_handle_mq(VirtIONet *n, uint8_t cmd,
return VIRTIO_NET_OK;
}
+static int virtio_net_ctrl_steering_mode(VirtIONet *n, uint8_t cmd,
+ struct iovec *iov, unsigned int iov_cnt,
+ struct iovec *iov_in, unsigned int iov_cnt_in,
+ size_t *size_in)
+{
+ size_t s;
+ struct virtio_net_steering_mode sm;
+
+ switch (cmd) {
+ case VIRTIO_NET_CTRL_SM_GET_SUPPORTED_MODES:
+ if (!size_in) {
+ return VIRTIO_NET_ERR;
+ }
+ s = iov_from_buf(iov_in, iov_cnt_in, 0,
+ &n->supported_modes, sizeof(n->supported_modes));
+ if (s != sizeof(n->supported_modes) ||
+ !size_in) {
+ return VIRTIO_NET_ERR;
+ }
+ *size_in = s;
+ break;
+ case VIRTIO_NET_CTRL_SM_CONTROL:
+ s = iov_to_buf(iov, iov_cnt, 0, &sm, sizeof(sm) -
+ sizeof(union command_data));
+ if (s != sizeof(sm) - sizeof(union command_data)) {
+ return VIRTIO_NET_ERR;
+ }
+ /* switch (cmd)
+ {
+ dafault:
+ return VIRTIO_NET_ERR;
+ } */
+ break;
+ default:
+ return VIRTIO_NET_ERR;
+ }
+
+ return VIRTIO_NET_OK;
+}
+
static void virtio_net_handle_ctrl(VirtIODevice *vdev, VirtQueue *vq)
{
VirtIONet *n = VIRTIO_NET(vdev);
struct virtio_net_ctrl_hdr ctrl;
virtio_net_ctrl_ack status = VIRTIO_NET_ERR;
VirtQueueElement *elem;
- size_t s;
+ size_t s, elem_in_size = 0;
struct iovec *iov, *iov2;
unsigned int iov_cnt;
@@ -996,7 +1036,8 @@ static void virtio_net_handle_ctrl(VirtIODevice *vdev, VirtQueue *vq)
}
iov_cnt = elem->out_num;
- iov2 = iov = g_memdup(elem->out_sg, sizeof(struct iovec) * elem->out_num);
+ iov2 = iov = g_memdup(elem->out_sg, sizeof(struct iovec) *
+ elem->out_num);
s = iov_to_buf(iov, iov_cnt, 0, &ctrl, sizeof(ctrl));
iov_discard_front(&iov, &iov_cnt, sizeof(ctrl));
if (s != sizeof(ctrl)) {
@@ -1013,12 +1054,20 @@ static void virtio_net_handle_ctrl(VirtIODevice *vdev, VirtQueue *vq)
status = virtio_net_handle_mq(n, ctrl.cmd, iov, iov_cnt);
} else if (ctrl.class == VIRTIO_NET_CTRL_GUEST_OFFLOADS) {
status = virtio_net_handle_offloads(n, ctrl.cmd, iov, iov_cnt);
+ } else if (ctrl.class == VIRTIO_NET_CTRL_STEERING_MODE) {
+ size_t size_in = 0;
+ status = virtio_net_ctrl_steering_mode(n, ctrl.cmd, iov, iov_cnt,
+ elem->in_sg, elem->in_num, &size_in);
+ if (status == VIRTIO_NET_OK && size_in > 0) {
+ elem_in_size += size_in;
+ }
}
- s = iov_from_buf(elem->in_sg, elem->in_num, 0, &status, sizeof(status));
+ s = iov_from_buf(elem->in_sg, elem->in_num, elem_in_size, &status,
+ sizeof(status));
assert(s == sizeof(status));
-
- virtqueue_push(vq, elem, sizeof(status));
+ elem_in_size += s;
+ virtqueue_push(vq, elem, elem_in_size);
virtio_notify(vdev, vq);
g_free(iov2);
g_free(elem);
@@ -1375,10 +1424,10 @@ static int32_t virtio_net_flush_tx(VirtIONetQueue *q)
n->guest_hdr_len, -1);
if (out_num == VIRTQUEUE_MAX_SIZE) {
goto drop;
- }
+ }
out_num += 1;
out_sg = sg2;
- }
+ }
}
/*
* If host wants to see the guest header as is, we can
@@ -1957,6 +2006,8 @@ static void virtio_net_device_realize(DeviceState *dev, Error **errp)
n->host_features |= (1ULL << VIRTIO_NET_F_MTU);
}
+ n->host_features |= (1ULL << VIRTIO_NET_F_CTRL_STEERING_MODE);
+
if (n->net_conf.duplex_str) {
if (strncmp(n->net_conf.duplex_str, "half", 5) == 0) {
n->net_conf.duplex = DUPLEX_HALF;
diff --git a/include/hw/virtio/virtio-net.h b/include/hw/virtio/virtio-net.h
index a7b53edc96..809e85481c 100644
--- a/include/hw/virtio/virtio-net.h
+++ b/include/hw/virtio/virtio-net.h
@@ -102,6 +102,9 @@ typedef struct VirtIONet {
int announce_counter;
bool needs_vnet_hdr_swap;
bool mtu_bypass_backend;
+ struct virtio_net_steering_modes supported_modes;
+ struct virtio_net_steering_modes current_mode;
+ struct virtio_net_rss_conf *rss_conf;
} VirtIONet;
void virtio_net_set_netclient_name(VirtIONet *n, const char *name,
diff --git a/include/standard-headers/linux/virtio_net.h b/include/standard-headers/linux/virtio_net.h
index e9f255ea3f..fa399b97ab 100644
--- a/include/standard-headers/linux/virtio_net.h
+++ b/include/standard-headers/linux/virtio_net.h
@@ -258,4 +258,59 @@ struct virtio_net_ctrl_mq {
#define VIRTIO_NET_CTRL_GUEST_OFFLOADS 5
#define VIRTIO_NET_CTRL_GUEST_OFFLOADS_SET 0
+
+#define RSS_HASH_FUNCTION_TOEPLITZ 0x1
+#define RSS_HASH_FUNCTION_SYMMETRIC 0x2
+
+// Hash function fields
+#define RSS_HASH_FIELDS_IPV4 0x00000100
+#define RSS_HASH_FIELDS_TCP_IPV4 0x00000200
+#define RSS_HASH_FIELDS_IPV6 0x00000400
+#define RSS_HASH_FIELDS_IPV6_EX 0x00000800
+#define RSS_HASH_FIELDS_TCP_IPV6 0x00001000
+#define RSS_HASH_FIELDS_TCP_IPV6_EX 0x00002000
+
+struct virtio_net_rss_supported_hash{
+uint32_t hash_function;
+};
+
+struct virtio_net_rss_conf_ptrs {
+ uint8_t *hash_key;
+ uint32_t *indirection_table;
+};
+
+struct virtio_net_rss_conf {
+ uint32_t hash_function;
+ uint32_t hash_function_flags;
+ uint32_t hash_key_length;
+ uint32_t indirection_table_length;
+ struct virtio_net_rss_conf_ptrs ptrs;
+};
+
+#define VIRTIO_NET_SM_CTRL_RSS_GET_SUPPORTED_FUNCTIONS 0
+#define VIRTIO_NET_SM_CTRL_RSS_SET 1
+
+
+struct virtio_net_steering_modes {
+ uint32_t steering_modes;
+};
+
+union command_data {
+ struct virtio_net_rss_conf rss;
+};
+
+struct virtio_net_steering_mode {
+ uint32_t steering_mode;
+ uint32_t command;
+};
+
+#define VIRTIO_NET_F_CTRL_STEERING_MODE 60
+
+#define VIRTIO_NET_CTRL_STEERING_MODE 7
+#define VIRTIO_NET_CTRL_SM_GET_SUPPORTED_MODES 0
+#define VIRTIO_NET_CTRL_SM_CONTROL 1
+
+#define STEERING_MODE_AUTO 0x1
+#define STEERING_MODE_RSS 0x2
+
#endif /* _LINUX_VIRTIO_NET_H */
--
2.13.6
^ permalink raw reply related [flat|nested] 36+ messages in thread
* [Qemu-devel] [RFC 5/6] virtio-net: steering mode: Implement rss support
2018-08-30 14:27 [Qemu-devel] [RFC 0/6] Virtio-net: Support RSS Sameeh Jubran
` (3 preceding siblings ...)
2018-08-30 14:27 ` [Qemu-devel] [RFC 4/6] virtio-net: implement steering mode feature Sameeh Jubran
@ 2018-08-30 14:27 ` Sameeh Jubran
2018-09-03 3:48 ` Jason Wang
2018-08-30 14:27 ` [Qemu-devel] [RFC 6/6] virtio-net: rss: Add bpf filter Sameeh Jubran
2018-09-03 4:15 ` [Qemu-devel] [RFC 0/6] Virtio-net: Support RSS Jason Wang
6 siblings, 1 reply; 36+ messages in thread
From: Sameeh Jubran @ 2018-08-30 14:27 UTC (permalink / raw)
To: qemu-devel, Jason Wang; +Cc: Yan Vugenfirer
From: Sameeh Jubran <sjubran@redhat.com>
Signed-off-by: Sameeh Jubran <sjubran@redhat.com>
---
hw/net/virtio-net.c | 122 ++++++++++++++++++++++++++++++++++++++++++++--------
1 file changed, 105 insertions(+), 17 deletions(-)
diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c
index e7c4ce6f66..4a52a6a1d0 100644
--- a/hw/net/virtio-net.c
+++ b/hw/net/virtio-net.c
@@ -972,41 +972,129 @@ static int virtio_net_handle_mq(VirtIONet *n, uint8_t cmd,
return VIRTIO_NET_OK;
}
-static int virtio_net_ctrl_steering_mode(VirtIONet *n, uint8_t cmd,
+
+static int virtio_net_ctrl_sm_rss(VirtIONet *n, uint32_t cmd,
struct iovec *iov, unsigned int iov_cnt,
struct iovec *iov_in, unsigned int iov_cnt_in,
- size_t *size_in)
+ size_t *size_in)
+{
+ size_t s;
+ uint32_t supported_hash_function = 0;
+
+ switch (cmd) {
+ case VIRTIO_NET_SM_CTRL_RSS_GET_SUPPORTED_FUNCTIONS:
+ supported_hash_function |= RSS_HASH_FUNCTION_TOEPLITZ;
+ if (!size_in) {
+ return VIRTIO_NET_ERR;
+ }
+ s = iov_from_buf(iov_in, iov_cnt_in, 0,
+ &supported_hash_function,
+ supported_hash_function);
+ if (s != sizeof(n->supported_modes) ||
+ !size_in) {
+ return VIRTIO_NET_ERR;
+ }
+ *size_in = s;
+ break;
+ case VIRTIO_NET_SM_CTRL_RSS_SET:
+ if (!n->rss_conf) {
+ n->rss_conf = g_malloc0(
+ sizeof(struct virtio_net_rss_conf));
+ } else if (iov == NULL || iov_cnt == 0) {
+ g_free(n->rss_conf->ptrs.hash_key);
+ g_free(n->rss_conf->ptrs.indirection_table);
+ g_free(n->rss_conf);
+ return VIRTIO_NET_OK;
+ }
+ s = iov_to_buf(iov, iov_cnt, 0, n->rss_conf,
+ sizeof(struct virtio_net_rss_conf) -
+ sizeof(struct virtio_net_rss_conf_ptrs));
+
+ if (s != sizeof(struct virtio_net_rss_conf) -
+ sizeof(struct virtio_net_rss_conf_ptrs)) {
+ return VIRTIO_NET_ERR;
+ }
+ n->rss_conf->ptrs.hash_key = g_malloc0(sizeof(uint8_t) *
+ n->rss_conf->hash_key_length);
+ s = iov_to_buf(iov, iov_cnt, 0, n->rss_conf->ptrs.hash_key,
+ sizeof(uint8_t) * n->rss_conf->hash_key_length);
+ if (s != sizeof(uint8_t) * n->rss_conf->hash_key_length) {
+ g_free(n->rss_conf->ptrs.hash_key);
+ return VIRTIO_NET_ERR;
+ }
+ n->rss_conf->ptrs.indirection_table
+ = g_malloc0(sizeof(uint32_t) *
+ n->rss_conf->indirection_table_length);
+ s = iov_to_buf(iov, iov_cnt, 0,
+ n->rss_conf->ptrs.indirection_table, sizeof(uint32_t) *
+ n->rss_conf->indirection_table_length);
+ if (s != sizeof(uint32_t) *
+ n->rss_conf->indirection_table_length) {
+ g_free(n->rss_conf->ptrs.hash_key);
+ g_free(n->rss_conf->ptrs.indirection_table);
+ return VIRTIO_NET_ERR;
+ }
+ /* do bpf magic */
+ break;
+ default:
+ return VIRTIO_NET_ERR;
+ }
+
+ return VIRTIO_NET_OK;
+}
+
+static int virtio_net_ctrl_steering_mode(VirtIONet *n, uint8_t cmd,
+ struct iovec *iov, unsigned int iov_cnt,
+ struct iovec *iov_in, unsigned int iov_in_cnt,
+ size_t *size_in)
{
size_t s;
struct virtio_net_steering_mode sm;
+ int status = 0;
+ size_t size_in_cmd = 0;
switch (cmd) {
case VIRTIO_NET_CTRL_SM_GET_SUPPORTED_MODES:
if (!size_in) {
return VIRTIO_NET_ERR;
}
- s = iov_from_buf(iov_in, iov_cnt_in, 0,
- &n->supported_modes, sizeof(n->supported_modes));
+ n->supported_modes.steering_modes |= STEERING_MODE_RSS |
+ STEERING_MODE_AUTO;
+ s = iov_from_buf(iov_in, iov_in_cnt, 0,
+ &n->supported_modes,
+ sizeof(n->supported_modes));
if (s != sizeof(n->supported_modes) ||
- !size_in) {
+ !size_in) {
return VIRTIO_NET_ERR;
}
- *size_in = s;
- break;
+ *size_in = s;
+ break;
case VIRTIO_NET_CTRL_SM_CONTROL:
- s = iov_to_buf(iov, iov_cnt, 0, &sm, sizeof(sm) -
- sizeof(union command_data));
- if (s != sizeof(sm) - sizeof(union command_data)) {
+ s = iov_to_buf(iov, iov_cnt, 0, &sm, sizeof(sm));
+ if (s != sizeof(sm)) {
+ return VIRTIO_NET_ERR;
+ }
+ iov_discard_front(&iov, &iov_cnt, sizeof(sm));
+ /* TODO handle the case where we change mode, call the old */
+ /* mode function with null ptrs should do the trick of */
+ /* freeing any resources */
+ switch (sm.steering_mode) {
+ case STEERING_MODE_AUTO:
+ break;
+ case STEERING_MODE_RSS:
+ status = virtio_net_ctrl_sm_rss(n, sm.command,
+ iov, iov_cnt, iov_in, iov_in_cnt,
+ &size_in_cmd);
+ if (status == VIRTIO_NET_OK && size_in_cmd > 0) {
+ *size_in += size_in_cmd;
+ }
+ break;
+ default:
return VIRTIO_NET_ERR;
}
- /* switch (cmd)
- {
- dafault:
- return VIRTIO_NET_ERR;
- } */
- break;
+ break;
default:
- return VIRTIO_NET_ERR;
+ return VIRTIO_NET_ERR;
}
return VIRTIO_NET_OK;
--
2.13.6
^ permalink raw reply related [flat|nested] 36+ messages in thread
* [Qemu-devel] [RFC 6/6] virtio-net: rss: Add bpf filter
2018-08-30 14:27 [Qemu-devel] [RFC 0/6] Virtio-net: Support RSS Sameeh Jubran
` (4 preceding siblings ...)
2018-08-30 14:27 ` [Qemu-devel] [RFC 5/6] virtio-net: steering mode: Implement rss support Sameeh Jubran
@ 2018-08-30 14:27 ` Sameeh Jubran
2018-09-03 4:12 ` Jason Wang
` (3 more replies)
2018-09-03 4:15 ` [Qemu-devel] [RFC 0/6] Virtio-net: Support RSS Jason Wang
6 siblings, 4 replies; 36+ messages in thread
From: Sameeh Jubran @ 2018-08-30 14:27 UTC (permalink / raw)
To: qemu-devel, Jason Wang; +Cc: Yan Vugenfirer
From: Sameeh Jubran <sjubran@redhat.com>
Signed-off-by: Sameeh Jubran <sjubran@redhat.com>
---
| 3992 ++++++++++++++++++++++++++++++++++++++++++
| 40 +
| 175 ++
hw/net/virtio-net.c | 99 +-
4 files changed, 4305 insertions(+), 1 deletion(-)
create mode 100644 hw/net/rss_bpf_insns.h
create mode 100644 hw/net/rss_tap_bpf.h
create mode 100644 hw/net/rss_tap_bpf_program.c
--git a/hw/net/rss_bpf_insns.h b/hw/net/rss_bpf_insns.h
new file mode 100644
index 0000000000..1a92110b8d
--- /dev/null
+++ b/hw/net/rss_bpf_insns.h
@@ -0,0 +1,3992 @@
+/*
+ * RSS ebpf instructions for virtio-net
+ *
+ * Copyright (c) 2018 RedHat.
+ *
+ * This work is licensed under the terms of the GNU GPL, version 2 or later.
+ * See the COPYING file in the top-level directory.
+ *
+ */
+
+#include <linux/bpf.h>
+
+#ifndef BPF_RSS_INSNS
+#define BPF_RSS_INSNS
+
+/* bpf_insn array matching l3_l4 section. see tap_bpf_program.c file */
+struct bpf_insn l3_l4_hash_insns[] = {
+{0xbf , 0x6 , 0x1 , 0x0000 , 0x00000000},
+{0x28 , 0x0 , 0x0 , 0x0000 , 0x0000000c},
+{0xbf , 0x8 , 0x0 , 0x0000 , 0x00000000},
+{0x18 , 0x1 , 0x0 , 0x0000 , 0xdeadbeef},
+{0x00 , 0x0 , 0x0 , 0x0000 , 0x00000000},
+{0x63 , 0xa , 0x1 , 0xfffc , 0x00000000},
+{0xbf , 0x2 , 0xa , 0x0000 , 0x00000000},
+{0x07 , 0x2 , 0x0 , 0x0000 , 0xfffffffc},
+{0x18 , 0x1 , 0x1 , 0x0000 , 0xdeadcafe},
+{0x00 , 0x0 , 0x0 , 0x0000 , 0x00000000},
+{0x85 , 0x0 , 0x0 , 0x0000 , 0x00000001},
+{0x55 , 0x0 , 0x0 , 0x0017 , 0x00000000},
+{0xb7 , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x73 , 0xa , 0x1 , 0xfffa , 0x00000000},
+{0xb7 , 0x1 , 0x0 , 0x0000 , 0x00000a64},
+{0x6b , 0xa , 0x1 , 0xfff8 , 0x00000000},
+{0x18 , 0x1 , 0x0 , 0x0000 , 0x69666e6f},
+{0x00 , 0x0 , 0x0 , 0x0000 , 0x65727567},
+{0x7b , 0xa , 0x1 , 0xfff0 , 0x00000000},
+{0x18 , 0x1 , 0x0 , 0x0000 , 0x6e207369},
+{0x00 , 0x0 , 0x0 , 0x0000 , 0x6320746f},
+{0x7b , 0xa , 0x1 , 0xffe8 , 0x00000000},
+{0x18 , 0x1 , 0x0 , 0x0000 , 0x20737372},
+{0x00 , 0x0 , 0x0 , 0x0000 , 0x2079656b},
+{0x7b , 0xa , 0x1 , 0xffe0 , 0x00000000},
+{0x18 , 0x1 , 0x0 , 0x0000 , 0x68736168},
+{0x00 , 0x0 , 0x0 , 0x0000 , 0x203a2928},
+{0x7b , 0xa , 0x1 , 0xffd8 , 0x00000000},
+{0xbf , 0x1 , 0xa , 0x0000 , 0x00000000},
+{0x07 , 0x1 , 0x0 , 0x0000 , 0xffffffd8},
+{0xb7 , 0x2 , 0x0 , 0x0000 , 0x00000023},
+{0x85 , 0x0 , 0x0 , 0x0000 , 0x00000006},
+{0x18 , 0x0 , 0x0 , 0x0000 , 0xfffffffe},
+{0x00 , 0x0 , 0x0 , 0x0000 , 0x00000000},
+{0x05 , 0x0 , 0x0 , 0x0f60 , 0x00000000},
+{0x7b , 0xa , 0x0 , 0xffc8 , 0x00000000},
+{0xb7 , 0x7 , 0x0 , 0x0000 , 0x0000000e},
+{0x55 , 0x8 , 0x0 , 0x0003 , 0x000088a8},
+{0xb7 , 0x7 , 0x0 , 0x0000 , 0x00000012},
+{0x28 , 0x0 , 0x0 , 0x0000 , 0x00000010},
+{0xbf , 0x8 , 0x0 , 0x0000 , 0x00000000},
+{0x55 , 0x8 , 0x0 , 0x0005 , 0x00008100},
+{0xbf , 0x8 , 0x7 , 0x0000 , 0x00000000},
+{0x07 , 0x8 , 0x0 , 0x0000 , 0x00000002},
+{0x48 , 0x0 , 0x8 , 0x0000 , 0x00000000},
+{0xbf , 0x8 , 0x0 , 0x0000 , 0x00000000},
+{0x07 , 0x7 , 0x0 , 0x0000 , 0x00000004},
+{0x15 , 0x8 , 0x0 , 0x0b48 , 0x00000800},
+{0x18 , 0x0 , 0x0 , 0x0000 , 0xffffffff},
+{0x00 , 0x0 , 0x0 , 0x0000 , 0x00000000},
+{0x15 , 0x8 , 0x0 , 0x0001 , 0x0000dd86},
+{0x05 , 0x0 , 0x0 , 0x0f4f , 0x00000000},
+{0xbf , 0x9 , 0x7 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc8 , 0x00000000},
+{0x07 , 0x7 , 0x0 , 0x0000 , 0x00000029},
+{0x50 , 0x0 , 0x7 , 0x0000 , 0x00000000},
+{0x7b , 0xa , 0x0 , 0xffa8 , 0x00000000},
+{0xbf , 0x7 , 0x9 , 0x0000 , 0x00000000},
+{0x07 , 0x7 , 0x0 , 0x0000 , 0x00000028},
+{0x50 , 0x0 , 0x7 , 0x0000 , 0x00000000},
+{0x7b , 0xa , 0x0 , 0xff90 , 0x00000000},
+{0xbf , 0x7 , 0x9 , 0x0000 , 0x00000000},
+{0x07 , 0x7 , 0x0 , 0x0000 , 0x0000002b},
+{0x50 , 0x0 , 0x7 , 0x0000 , 0x00000000},
+{0x7b , 0xa , 0x0 , 0xffb0 , 0x00000000},
+{0xbf , 0x7 , 0x9 , 0x0000 , 0x00000000},
+{0x07 , 0x7 , 0x0 , 0x0000 , 0x0000002a},
+{0x50 , 0x0 , 0x7 , 0x0000 , 0x00000000},
+{0x7b , 0xa , 0x0 , 0xffa0 , 0x00000000},
+{0xbf , 0x7 , 0x9 , 0x0000 , 0x00000000},
+{0x07 , 0x7 , 0x0 , 0x0000 , 0x0000001b},
+{0x40 , 0x0 , 0x7 , 0x0000 , 0x00000000},
+{0x7b , 0xa , 0x0 , 0xff98 , 0x00000000},
+{0xbf , 0x7 , 0x9 , 0x0000 , 0x00000000},
+{0x07 , 0x7 , 0x0 , 0x0000 , 0x0000001a},
+{0x40 , 0x0 , 0x7 , 0x0000 , 0x00000000},
+{0x7b , 0xa , 0x0 , 0xff88 , 0x00000000},
+{0xbf , 0x7 , 0x9 , 0x0000 , 0x00000000},
+{0x07 , 0x7 , 0x0 , 0x0000 , 0x00000019},
+{0x40 , 0x0 , 0x7 , 0x0000 , 0x00000000},
+{0x7b , 0xa , 0x0 , 0xffd0 , 0x00000000},
+{0xbf , 0x7 , 0x9 , 0x0000 , 0x00000000},
+{0x07 , 0x7 , 0x0 , 0x0000 , 0x00000018},
+{0x40 , 0x0 , 0x7 , 0x0000 , 0x00000000},
+{0x7b , 0xa , 0x0 , 0xffc0 , 0x00000000},
+{0xbf , 0x7 , 0x9 , 0x0000 , 0x00000000},
+{0x07 , 0x7 , 0x0 , 0x0000 , 0x0000000b},
+{0x40 , 0x0 , 0x7 , 0x0000 , 0x00000000},
+{0x7b , 0xa , 0x0 , 0xffb8 , 0x00000000},
+{0xbf , 0x7 , 0x9 , 0x0000 , 0x00000000},
+{0x07 , 0x7 , 0x0 , 0x0000 , 0x00000008},
+{0x40 , 0x0 , 0x7 , 0x0000 , 0x00000000},
+{0xbf , 0x8 , 0x0 , 0x0000 , 0x00000000},
+{0xbf , 0x7 , 0x9 , 0x0000 , 0x00000000},
+{0x07 , 0x7 , 0x0 , 0x0000 , 0x0000000a},
+{0x40 , 0x0 , 0x7 , 0x0000 , 0x00000000},
+{0xbf , 0x7 , 0x0 , 0x0000 , 0x00000000},
+{0x07 , 0x9 , 0x0 , 0x0000 , 0x00000009},
+{0x40 , 0x0 , 0x9 , 0x0000 , 0x00000000},
+{0xb7 , 0x4 , 0x0 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0xc7 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0x65 , 0x1 , 0x0 , 0x0002 , 0xffffffff},
+{0x79 , 0x1 , 0xa , 0xffc8 , 0x00000000},
+{0x61 , 0x4 , 0x1 , 0x0008 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x40000000},
+{0x79 , 0x3 , 0xa , 0xffc8 , 0x00000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000001},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001f},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x20000000},
+{0x79 , 0x6 , 0xa , 0xffa0 , 0x00000000},
+{0x79 , 0x9 , 0xa , 0xff88 , 0x00000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000002},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001e},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x10000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000003},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001d},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x08000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000004},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001c},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x04000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000005},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001b},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x02000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000006},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001a},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x01000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000007},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000019},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00800000},
+{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
+{0x71 , 0x1 , 0x3 , 0x000f , 0x00000000},
+{0x61 , 0x2 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000008},
+{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00400000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000009},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000017},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00200000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000a},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000016},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00100000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000b},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000015},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00080000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000c},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000014},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00040000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000d},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000013},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00020000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000e},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000012},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00010000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000f},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000011},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00008000},
+{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
+{0x69 , 0x1 , 0x3 , 0x000e , 0x00000000},
+{0x61 , 0x2 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000010},
+{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00004000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000011},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000f},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00002000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000012},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000e},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00001000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000013},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000d},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000800},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000014},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000c},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000400},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000015},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000b},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000200},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000016},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000a},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000100},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000017},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000009},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000080},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000018},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000008},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000040},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000019},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000007},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001a},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000006},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000010},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001b},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000005},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000008},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001c},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000004},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000004},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001d},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000003},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000002},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001e},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000002},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x57 , 0x8 , 0x0 , 0x0000 , 0x00000001},
+{0x15 , 0x8 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001f},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000001},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0xc7 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0x65 , 0x1 , 0x0 , 0x0003 , 0xffffffff},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x40000000},
+{0x79 , 0x8 , 0xa , 0xff90 , 0x00000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000001},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001f},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x20000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000002},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001e},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x10000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000003},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001d},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x08000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000004},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001c},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x04000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000005},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001b},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x02000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000006},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001a},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x01000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000007},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000019},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00800000},
+{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
+{0x71 , 0x1 , 0x3 , 0x0013 , 0x00000000},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000008},
+{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00400000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000009},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000017},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00200000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000a},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000016},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00100000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000b},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000015},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00080000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000c},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000014},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00040000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000d},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000013},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00020000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000e},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000012},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00010000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000f},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000011},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00008000},
+{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
+{0x69 , 0x1 , 0x3 , 0x0012 , 0x00000000},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000010},
+{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00004000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000011},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000f},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00002000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000012},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000e},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00001000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000013},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000d},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000800},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000014},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000c},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000400},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000015},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000b},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000200},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000016},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000a},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000100},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000017},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000009},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000080},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000018},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000008},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000040},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000019},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000007},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001a},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000006},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000010},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001b},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000005},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000008},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001c},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000004},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000004},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001d},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000003},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000002},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001e},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000002},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x57 , 0x0 , 0x0 , 0x0000 , 0x00000001},
+{0x15 , 0x0 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001f},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000001},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0xc7 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0x65 , 0x1 , 0x0 , 0x0003 , 0xffffffff},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x40000000},
+{0x79 , 0x5 , 0xa , 0xffb0 , 0x00000000},
+{0x79 , 0x0 , 0xa , 0xffa8 , 0x00000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000001},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001f},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x20000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000002},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001e},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x10000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000003},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001d},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x08000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000004},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001c},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x04000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000005},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001b},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x02000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000006},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001a},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x01000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000007},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000019},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00800000},
+{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
+{0x71 , 0x1 , 0x3 , 0x0017 , 0x00000000},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000008},
+{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00400000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000009},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000017},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00200000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000a},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000016},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00100000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000b},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000015},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00080000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000c},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000014},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00040000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000d},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000013},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00020000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000e},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000012},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00010000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000f},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000011},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00008000},
+{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
+{0x69 , 0x1 , 0x3 , 0x0016 , 0x00000000},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000010},
+{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00004000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000011},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000f},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00002000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000012},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000e},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00001000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000013},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000d},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000800},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000014},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000c},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000400},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000015},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000b},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000200},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000016},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000a},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000100},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000017},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000009},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000080},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000018},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000008},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000040},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000019},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000007},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001a},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000006},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000010},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001b},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000005},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000008},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001c},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000004},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000004},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001d},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000003},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000002},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001e},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000002},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x57 , 0x7 , 0x0 , 0x0000 , 0x00000001},
+{0x15 , 0x7 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001f},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000001},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0xc7 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0x65 , 0x1 , 0x0 , 0x0003 , 0xffffffff},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x40000000},
+{0x79 , 0x7 , 0xa , 0xff98 , 0x00000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000001},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001f},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x20000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000002},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001e},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x10000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000003},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001d},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x08000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000004},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001c},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x04000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000005},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001b},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x02000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000006},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001a},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x01000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000007},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000019},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00800000},
+{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
+{0x71 , 0x1 , 0x3 , 0x001b , 0x00000000},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000008},
+{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00400000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000009},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000017},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00200000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000a},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000016},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00100000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000b},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000015},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00080000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000c},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000014},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00040000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000d},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000013},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00020000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000e},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000012},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00010000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000f},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000011},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00008000},
+{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
+{0x69 , 0x1 , 0x3 , 0x001a , 0x00000000},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000010},
+{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00004000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000011},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000f},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00002000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000012},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000e},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00001000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000013},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000d},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000800},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000014},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000c},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000400},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000015},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000b},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000200},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000016},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000a},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000100},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000017},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000009},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000080},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000018},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000008},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000040},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000019},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000007},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001a},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000006},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000010},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001b},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000005},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000008},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001c},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000004},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000004},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001d},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000003},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000002},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001e},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000002},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000001},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001f},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000001},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0xc7 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0x65 , 0x1 , 0x0 , 0x0003 , 0xffffffff},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x40000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000001},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001f},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x20000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000002},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001e},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x10000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000003},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001d},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x08000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000004},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001c},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x04000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000005},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001b},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x02000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000006},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001a},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x01000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000007},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000019},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00800000},
+{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
+{0x71 , 0x1 , 0x3 , 0x001f , 0x00000000},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000008},
+{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00400000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000009},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000017},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00200000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000a},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000016},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00100000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000b},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000015},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00080000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000c},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000014},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00040000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000d},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000013},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00020000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000e},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000012},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00010000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000f},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000011},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00008000},
+{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
+{0x69 , 0x1 , 0x3 , 0x001e , 0x00000000},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000010},
+{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00004000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000011},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000f},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00002000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000012},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000e},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00001000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000013},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000d},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000800},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000014},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000c},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000400},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000015},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000b},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000200},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000016},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000a},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000100},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000017},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000009},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000080},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000018},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000008},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000040},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000019},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000007},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001a},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000006},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000010},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001b},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000005},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000008},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001c},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000004},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000004},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001d},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000003},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000002},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001e},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000002},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000001},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001f},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000001},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0xc7 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0x65 , 0x1 , 0x0 , 0x0003 , 0xffffffff},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x40000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000001},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001f},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x20000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000002},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001e},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x10000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000003},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001d},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x08000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000004},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001c},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x04000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000005},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001b},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x02000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000006},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001a},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x01000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000007},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000019},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00800000},
+{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
+{0x71 , 0x1 , 0x3 , 0x0023 , 0x00000000},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000008},
+{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00400000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000009},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000017},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00200000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000a},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000016},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00100000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000b},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000015},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00080000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000c},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000014},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00040000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000d},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000013},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00020000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000e},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000012},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00010000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000f},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000011},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00008000},
+{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
+{0x69 , 0x1 , 0x3 , 0x0022 , 0x00000000},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000010},
+{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00004000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000011},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000f},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00002000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000012},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000e},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00001000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000013},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000d},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000800},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000014},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000c},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000400},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000015},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000b},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000200},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000016},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000a},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000100},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000017},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000009},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000080},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000018},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000008},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000040},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000019},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000007},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001a},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000006},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000010},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001b},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000005},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000008},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001c},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000004},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000004},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001d},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000003},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000002},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001e},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000002},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000001},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001f},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000001},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0xc7 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0x65 , 0x1 , 0x0 , 0x0003 , 0xffffffff},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x40000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000001},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001f},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x20000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000002},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001e},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x10000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000003},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001d},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x08000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000004},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001c},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x04000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000005},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001b},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x02000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000006},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001a},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x01000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000007},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000019},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00800000},
+{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
+{0x71 , 0x1 , 0x3 , 0x0027 , 0x00000000},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000008},
+{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00400000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000009},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000017},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00200000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000a},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000016},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00100000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000b},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000015},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00080000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000c},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000014},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00040000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000d},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000013},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00020000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000e},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000012},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00010000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000f},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000011},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00008000},
+{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
+{0x69 , 0x1 , 0x3 , 0x0026 , 0x00000000},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000010},
+{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00004000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000011},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000f},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00002000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000012},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000e},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00001000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000013},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000d},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000800},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000014},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000c},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000400},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000015},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000b},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000200},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000016},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000a},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000100},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000017},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000009},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000080},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000018},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000008},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000040},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000019},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000007},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001a},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000006},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000010},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001b},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000005},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000008},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001c},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000004},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000004},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001d},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000003},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000002},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001e},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000002},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x57 , 0x9 , 0x0 , 0x0000 , 0x00000001},
+{0x15 , 0x9 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001f},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000001},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0xc7 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0x65 , 0x1 , 0x0 , 0x0003 , 0xffffffff},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x40000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000001},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001f},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x20000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000002},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001e},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x10000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000003},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001d},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x08000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000004},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001c},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x04000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000005},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001b},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x02000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000006},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001a},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x01000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000007},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000019},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00800000},
+{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
+{0x71 , 0x1 , 0x3 , 0x002b , 0x00000000},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000008},
+{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00400000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000009},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000017},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00200000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000a},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000016},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00100000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000b},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000015},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00080000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000c},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000014},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00040000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000d},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000013},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00020000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000e},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000012},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00010000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000f},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000011},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00008000},
+{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
+{0x69 , 0x1 , 0x3 , 0x002a , 0x00000000},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000010},
+{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00004000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000011},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000f},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00002000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000012},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000e},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00001000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000013},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000d},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000800},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000014},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000c},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000400},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000015},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000b},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000200},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000016},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000a},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000100},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000017},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000009},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000080},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000018},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000008},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000040},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000019},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000007},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001a},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000006},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000010},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001b},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000005},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x67 , 0x8 , 0x0 , 0x0000 , 0x00000008},
+{0x57 , 0x0 , 0x0 , 0x0000 , 0x000000ff},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000008},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001c},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000004},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x4f , 0x0 , 0x8 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000004},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001d},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000003},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x67 , 0x0 , 0x0 , 0x0000 , 0x00000030},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000002},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001e},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000002},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xc7 , 0x0 , 0x0 , 0x0000 , 0x00000020},
+{0x57 , 0x7 , 0x0 , 0x0000 , 0x00000001},
+{0x15 , 0x7 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001f},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000001},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x65 , 0x0 , 0x0 , 0x0003 , 0xffffffff},
+{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x40000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000001},
+{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001f},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x20000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000002},
+{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001e},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x10000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000003},
+{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001d},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x08000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000004},
+{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001c},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x04000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000005},
+{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001b},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x02000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000006},
+{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001a},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x01000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000007},
+{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000019},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00800000},
+{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
+{0x71 , 0x1 , 0x3 , 0x002f , 0x00000000},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000008},
+{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00400000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000009},
+{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000017},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00200000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000a},
+{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000016},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00100000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000b},
+{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000015},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00080000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000c},
+{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000014},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00040000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000d},
+{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000013},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x67 , 0x6 , 0x0 , 0x0000 , 0x00000008},
+{0x57 , 0x5 , 0x0 , 0x0000 , 0x000000ff},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00020000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000e},
+{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000012},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x4f , 0x5 , 0x6 , 0x0000 , 0x00000000},
+{0x57 , 0x0 , 0x0 , 0x0000 , 0x00010000},
+{0x15 , 0x0 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000f},
+{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000011},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x5 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00008000},
+{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
+{0x69 , 0x1 , 0x3 , 0x002e , 0x00000000},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000010},
+{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x5 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00004000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000011},
+{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000f},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x5 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00002000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000012},
+{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000e},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x5 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00001000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000013},
+{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000d},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x5 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000800},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000014},
+{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000c},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x5 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000400},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000015},
+{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000b},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x5 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000200},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000016},
+{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000a},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x5 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000100},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000017},
+{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000009},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x5 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000080},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000018},
+{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000008},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x5 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000040},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000019},
+{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000007},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x5 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001a},
+{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000006},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x5 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000010},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001b},
+{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000005},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x5 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000008},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001c},
+{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000004},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x5 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000004},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001d},
+{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000003},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x5 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000002},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001e},
+{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000002},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x57 , 0x5 , 0x0 , 0x0000 , 0x00000001},
+{0x15 , 0x5 , 0x0 , 0x0402 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001f},
+{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
+{0x05 , 0x0 , 0x0 , 0x03fa , 0x00000000},
+{0xbf , 0x8 , 0x7 , 0x0000 , 0x00000000},
+{0x07 , 0x8 , 0x0 , 0x0000 , 0x0000000c},
+{0x50 , 0x0 , 0x8 , 0x0000 , 0x00000000},
+{0xbf , 0x8 , 0x0 , 0x0000 , 0x00000000},
+{0xbf , 0x9 , 0x7 , 0x0000 , 0x00000000},
+{0x07 , 0x9 , 0x0 , 0x0000 , 0x0000000d},
+{0x50 , 0x0 , 0x9 , 0x0000 , 0x00000000},
+{0x7b , 0xa , 0x0 , 0xffd0 , 0x00000000},
+{0xbf , 0x9 , 0x7 , 0x0000 , 0x00000000},
+{0x07 , 0x9 , 0x0 , 0x0000 , 0x00000010},
+{0x50 , 0x0 , 0x9 , 0x0000 , 0x00000000},
+{0x7b , 0xa , 0x0 , 0xffa0 , 0x00000000},
+{0xbf , 0x9 , 0x7 , 0x0000 , 0x00000000},
+{0x07 , 0x9 , 0x0 , 0x0000 , 0x00000011},
+{0x50 , 0x0 , 0x9 , 0x0000 , 0x00000000},
+{0x7b , 0xa , 0x0 , 0xffa8 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000010},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00ff0000},
+{0x67 , 0x8 , 0x0 , 0x0000 , 0x00000018},
+{0x4f , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x7b , 0xa , 0x1 , 0xffd0 , 0x00000000},
+{0xbf , 0x8 , 0x7 , 0x0000 , 0x00000000},
+{0x07 , 0x8 , 0x0 , 0x0000 , 0x0000000e},
+{0x50 , 0x0 , 0x8 , 0x0000 , 0x00000000},
+{0xbf , 0x9 , 0x0 , 0x0000 , 0x00000000},
+{0xbf , 0x8 , 0x7 , 0x0000 , 0x00000000},
+{0x07 , 0x8 , 0x0 , 0x0000 , 0x00000017},
+{0x50 , 0x0 , 0x8 , 0x0000 , 0x00000000},
+{0x7b , 0xa , 0x0 , 0xffc0 , 0x00000000},
+{0xbf , 0x8 , 0x7 , 0x0000 , 0x00000000},
+{0x07 , 0x8 , 0x0 , 0x0000 , 0x00000016},
+{0x50 , 0x0 , 0x8 , 0x0000 , 0x00000000},
+{0x7b , 0xa , 0x0 , 0xffb8 , 0x00000000},
+{0xbf , 0x8 , 0x7 , 0x0000 , 0x00000000},
+{0x07 , 0x8 , 0x0 , 0x0000 , 0x00000012},
+{0x50 , 0x0 , 0x8 , 0x0000 , 0x00000000},
+{0x7b , 0xa , 0x0 , 0xff98 , 0x00000000},
+{0xbf , 0x8 , 0x7 , 0x0000 , 0x00000000},
+{0x07 , 0x8 , 0x0 , 0x0000 , 0x0000000f},
+{0x50 , 0x0 , 0x8 , 0x0000 , 0x00000000},
+{0xbf , 0x8 , 0x0 , 0x0000 , 0x00000000},
+{0x67 , 0x9 , 0x0 , 0x0000 , 0x00000008},
+{0x57 , 0x9 , 0x0 , 0x0000 , 0x0000ff00},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x4f , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x7b , 0xa , 0x1 , 0xffd0 , 0x00000000},
+{0xbf , 0x9 , 0x7 , 0x0000 , 0x00000000},
+{0x07 , 0x9 , 0x0 , 0x0000 , 0x00000015},
+{0x50 , 0x0 , 0x9 , 0x0000 , 0x00000000},
+{0x7b , 0xa , 0x0 , 0xffb0 , 0x00000000},
+{0xbf , 0x9 , 0x7 , 0x0000 , 0x00000000},
+{0x07 , 0x7 , 0x0 , 0x0000 , 0x00000014},
+{0x50 , 0x0 , 0x7 , 0x0000 , 0x00000000},
+{0x79 , 0x7 , 0xa , 0xffc8 , 0x00000000},
+{0x7b , 0xa , 0x0 , 0xff90 , 0x00000000},
+{0x07 , 0x9 , 0x0 , 0x0000 , 0x00000013},
+{0x50 , 0x0 , 0x9 , 0x0000 , 0x00000000},
+{0x79 , 0x3 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x8 , 0x0 , 0x0000 , 0x000000ff},
+{0x4f , 0x3 , 0x8 , 0x0000 , 0x00000000},
+{0xb7 , 0x4 , 0x0 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0xc7 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0x65 , 0x1 , 0x0 , 0x0001 , 0xffffffff},
+{0x61 , 0x4 , 0x7 , 0x0008 , 0x00000000},
+{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x40000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000001},
+{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001f},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x20000000},
+{0x79 , 0x6 , 0xa , 0xffa8 , 0x00000000},
+{0x79 , 0x5 , 0xa , 0xffa0 , 0x00000000},
+{0x79 , 0x8 , 0xa , 0xff98 , 0x00000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000002},
+{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001e},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x10000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000003},
+{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001d},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x08000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000004},
+{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001c},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x04000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000005},
+{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001b},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x02000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000006},
+{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001a},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x01000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000007},
+{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000019},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00800000},
+{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
+{0x71 , 0x1 , 0x7 , 0x000f , 0x00000000},
+{0x61 , 0x2 , 0x7 , 0x0008 , 0x00000000},
+{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000008},
+{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00400000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000009},
+{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000017},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00200000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000a},
+{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000016},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00100000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000b},
+{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000015},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00080000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000c},
+{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000014},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00040000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000d},
+{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000013},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00020000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000e},
+{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000012},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00010000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000f},
+{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000011},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00008000},
+{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
+{0x69 , 0x1 , 0x7 , 0x000e , 0x00000000},
+{0x61 , 0x2 , 0x7 , 0x0008 , 0x00000000},
+{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000010},
+{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00004000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000011},
+{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000f},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00002000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000012},
+{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000e},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00001000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000013},
+{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000d},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000800},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000014},
+{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000c},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000400},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000015},
+{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000b},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000200},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000016},
+{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000a},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000100},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000017},
+{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000009},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000080},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000018},
+{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000008},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000040},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000019},
+{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000007},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001a},
+{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000006},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x67 , 0x6 , 0x0 , 0x0000 , 0x00000010},
+{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000010},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001b},
+{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000005},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x57 , 0x6 , 0x0 , 0x0000 , 0x00ff0000},
+{0x67 , 0x5 , 0x0 , 0x0000 , 0x00000018},
+{0x67 , 0x8 , 0x0 , 0x0000 , 0x00000008},
+{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000008},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001c},
+{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000004},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x4f , 0x6 , 0x5 , 0x0000 , 0x00000000},
+{0x57 , 0x8 , 0x0 , 0x0000 , 0x0000ff00},
+{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000004},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001d},
+{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000003},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x4f , 0x6 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x0 , 0x0 , 0x0000 , 0x000000ff},
+{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000002},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001e},
+{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000002},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x4f , 0x6 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x3 , 0x0 , 0x0000 , 0x00000001},
+{0x79 , 0x8 , 0xa , 0xff90 , 0x00000000},
+{0x15 , 0x3 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001f},
+{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000001},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0xc7 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0x79 , 0x3 , 0xa , 0xffc0 , 0x00000000},
+{0x79 , 0x5 , 0xa , 0xffb8 , 0x00000000},
+{0x79 , 0x0 , 0xa , 0xffb0 , 0x00000000},
+{0x65 , 0x1 , 0x0 , 0x0003 , 0xffffffff},
+{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x40000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000001},
+{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001f},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x20000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000002},
+{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001e},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x10000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000003},
+{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001d},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x08000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000004},
+{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001c},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x04000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000005},
+{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001b},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x02000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000006},
+{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001a},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x01000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000007},
+{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000019},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00800000},
+{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
+{0x71 , 0x1 , 0x7 , 0x0013 , 0x00000000},
+{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
+{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000008},
+{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00400000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000009},
+{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000017},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00200000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000a},
+{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000016},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00100000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000b},
+{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000015},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00080000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000c},
+{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000014},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00040000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000d},
+{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000013},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00020000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000e},
+{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000012},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00010000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000f},
+{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000011},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00008000},
+{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
+{0x69 , 0x1 , 0x7 , 0x0012 , 0x00000000},
+{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
+{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000010},
+{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00004000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000011},
+{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000f},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00002000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000012},
+{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000e},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00001000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000013},
+{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000d},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000800},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000014},
+{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000c},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000400},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000015},
+{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000b},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000200},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000016},
+{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000a},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000100},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000017},
+{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000009},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000080},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000018},
+{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000008},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000040},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000019},
+{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000007},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001a},
+{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000006},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000010},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001b},
+{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000005},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x67 , 0x8 , 0x0 , 0x0000 , 0x00000008},
+{0x57 , 0x0 , 0x0 , 0x0000 , 0x000000ff},
+{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000008},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001c},
+{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000004},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x4f , 0x0 , 0x8 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000004},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001d},
+{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000003},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x67 , 0x0 , 0x0 , 0x0000 , 0x00000030},
+{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000002},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001e},
+{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000002},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xc7 , 0x0 , 0x0 , 0x0000 , 0x00000020},
+{0x57 , 0x6 , 0x0 , 0x0000 , 0x00000001},
+{0x15 , 0x6 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001f},
+{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000001},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x65 , 0x0 , 0x0 , 0x0003 , 0xffffffff},
+{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x40000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000001},
+{0x61 , 0x2 , 0x7 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001f},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x20000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000002},
+{0x61 , 0x2 , 0x7 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001e},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x10000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000003},
+{0x61 , 0x2 , 0x7 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001d},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x08000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000004},
+{0x61 , 0x2 , 0x7 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001c},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x04000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000005},
+{0x61 , 0x2 , 0x7 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001b},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x02000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000006},
+{0x61 , 0x2 , 0x7 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001a},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x01000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000007},
+{0x61 , 0x2 , 0x7 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000019},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00800000},
+{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
+{0x71 , 0x1 , 0x7 , 0x0017 , 0x00000000},
+{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
+{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000008},
+{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00400000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000009},
+{0x61 , 0x2 , 0x7 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000017},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00200000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000a},
+{0x61 , 0x2 , 0x7 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000016},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00100000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000b},
+{0x61 , 0x2 , 0x7 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000015},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00080000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000c},
+{0x61 , 0x2 , 0x7 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000014},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00040000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000d},
+{0x61 , 0x2 , 0x7 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000013},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x67 , 0x5 , 0x0 , 0x0000 , 0x00000008},
+{0x57 , 0x3 , 0x0 , 0x0000 , 0x000000ff},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00020000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000e},
+{0x61 , 0x2 , 0x7 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000012},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x4f , 0x3 , 0x5 , 0x0000 , 0x00000000},
+{0x57 , 0x0 , 0x0 , 0x0000 , 0x00010000},
+{0x15 , 0x0 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000f},
+{0x61 , 0x2 , 0x7 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000011},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00008000},
+{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
+{0x69 , 0x1 , 0x7 , 0x0016 , 0x00000000},
+{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
+{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000010},
+{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00004000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000011},
+{0x61 , 0x2 , 0x7 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000f},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00002000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000012},
+{0x61 , 0x2 , 0x7 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000e},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00001000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000013},
+{0x61 , 0x2 , 0x7 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000d},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000800},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000014},
+{0x61 , 0x2 , 0x7 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000c},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000400},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000015},
+{0x61 , 0x2 , 0x7 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000b},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000200},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000016},
+{0x61 , 0x2 , 0x7 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000a},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000100},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000017},
+{0x61 , 0x2 , 0x7 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000009},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000080},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000018},
+{0x61 , 0x2 , 0x7 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000008},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000040},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000019},
+{0x61 , 0x2 , 0x7 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000007},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001a},
+{0x61 , 0x2 , 0x7 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000006},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000010},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001b},
+{0x61 , 0x2 , 0x7 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000005},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000008},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001c},
+{0x61 , 0x2 , 0x7 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000004},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000004},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001d},
+{0x61 , 0x2 , 0x7 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000003},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000002},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001e},
+{0x61 , 0x2 , 0x7 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000002},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x57 , 0x3 , 0x0 , 0x0000 , 0x00000001},
+{0x15 , 0x3 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001f},
+{0x61 , 0x2 , 0x7 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000001},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x18 , 0x1 , 0x0 , 0x0000 , 0x7830203a},
+{0x00 , 0x0 , 0x0 , 0x0000 , 0x000a7825},
+{0x7b , 0xa , 0x1 , 0xffe8 , 0x00000000},
+{0x18 , 0x1 , 0x0 , 0x0000 , 0x20782578},
+{0x00 , 0x0 , 0x0 , 0x0000 , 0x68736168},
+{0x7b , 0xa , 0x1 , 0xffe0 , 0x00000000},
+{0x18 , 0x1 , 0x0 , 0x0000 , 0x75657571},
+{0x00 , 0x0 , 0x0 , 0x0000 , 0x30203a65},
+{0x7b , 0xa , 0x1 , 0xffd8 , 0x00000000},
+{0xbf , 0x1 , 0xa , 0x0000 , 0x00000000},
+{0x07 , 0x1 , 0x0 , 0x0000 , 0xffffffd8},
+{0xb7 , 0x2 , 0x0 , 0x0000 , 0x00000018},
+{0x85 , 0x0 , 0x0 , 0x0000 , 0x00000006},
+{0x95 , 0x0 , 0x0 , 0x0000 , 0x00000000},
+};
+
+#endif
--git a/hw/net/rss_tap_bpf.h b/hw/net/rss_tap_bpf.h
new file mode 100644
index 0000000000..54b88cfb76
--- /dev/null
+++ b/hw/net/rss_tap_bpf.h
@@ -0,0 +1,40 @@
+/*
+ * RSS ebpf header for virtio-net
+ *
+ * Copyright (c) 2018 RedHat.
+ *
+ * This work is licensed under the terms of the GNU GPL, version 2 or later.
+ * See the COPYING file in the top-level directory.
+ *
+ * This code is heavily based on the following bpf code from dpdk
+ * https://git.dpdk.org/dpdk/tree/drivers/net/tap/
+ *
+ */
+
+#ifndef RSS_TAP_BPF_H
+#define RSS_TAP_BPF_H
+
+/* hashed fields for RSS */
+enum hash_field {
+ HASH_FIELD_IPV4_L3, /* IPv4 src/dst addr */
+ HASH_FIELD_IPV4_L3_L4, /* IPv4 src/dst addr + L4 src/dst ports */
+ HASH_FIELD_IPV6_L3, /* IPv6 src/dst addr */
+ HASH_FIELD_IPV6_L3_L4, /* IPv6 src/dst addr + L4 src/dst ports */
+ HASH_FIELD_L2_SRC, /* Ethernet src addr */
+ HASH_FIELD_L2_DST, /* Ethernet dst addr */
+ HASH_FIELD_L3_SRC, /* L3 src addr */
+ HASH_FIELD_L3_DST, /* L3 dst addr */
+ HASH_FIELD_L4_SRC, /* TCP/UDP src ports */
+ HASH_FIELD_L4_DST, /* TCP/UDP dst ports */
+};
+
+struct rss_key {
+ __u32 hash_fields;
+ __u32 nb_queues;
+ __u32 *indirection_table;
+ __u32 indirection_table_size;
+ __u8 *key;
+ __u32 key_size;
+} __attribute__((packed));
+
+#endif
--git a/hw/net/rss_tap_bpf_program.c b/hw/net/rss_tap_bpf_program.c
new file mode 100644
index 0000000000..2744436e86
--- /dev/null
+++ b/hw/net/rss_tap_bpf_program.c
@@ -0,0 +1,175 @@
+/*
+ * RSS ebpf code for virtio-net
+ *
+ * Copyright (c) 2018 RedHat.
+ *
+ * This work is licensed under the terms of the GNU GPL, version 2 or later.
+ * See the COPYING file in the top-level directory.
+ *
+ * This code is heavily based on the following bpf code from dpdk
+ * https://git.dpdk.org/dpdk/tree/drivers/net/tap/tap_bpf_program.c
+ *
+ */
+
+#include <stdint.h>
+#include <stddef.h>
+#include <stdbool.h>
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <asm/types.h>
+#include <linux/in.h>
+#include <linux/if.h>
+#include <linux/if_ether.h>
+#include <linux/ip.h>
+#include <linux/ipv6.h>
+#include <linux/if_tunnel.h>
+#include <linux/filter.h>
+#include <linux/bpf.h>
+
+#include "bpf_api.h"
+#include "rss_tap_bpf.h"
+
+/** Create IPv4 address */
+#define IPv4(a, b, c, d) ((__u32)(((a) & 0xff) << 24) | \
+ (((b) & 0xff) << 16) | \
+ (((c) & 0xff) << 8) | \
+ ((d) & 0xff))
+
+#define PORT(a, b) ((__u16)(((a) & 0xff) << 8) | \
+ ((b) & 0xff))
+
+#define KEY_IDX 0
+
+struct vlan_hdr {
+ __be16 h_vlan_TCI;
+ __be16 h_vlan_encapsulated_proto;
+};
+
+struct bpf_elf_map __attribute__((section("maps"), used))
+map_rss = {
+ .type = BPF_MAP_TYPE_ARRAY,
+ .size_key = sizeof(__u32),
+ .size_value = sizeof(struct rss_key),
+ .max_elem = 1,
+};
+
+struct ipv4_l3_l4_tuple {
+ __u32 src_addr;
+ __u32 dst_addr;
+ __u16 dport;
+ __u16 sport;
+} __attribute__((packed));
+
+struct ipv6_l3_l4_tuple {
+ __u8 src_addr[16];
+ __u8 dst_addr[16];
+ __u16 dport;
+ __u16 sport;
+} __attribute__((packed));
+
+static __u32 __attribute__((always_inline))
+
+rte_softrss_be(const __u32 *input_tuple, const uint8_t *key,
+ __u8 input_len)
+{
+ __u32 i, j, hash = 0;
+#pragma unroll
+ for (j = 0; j < input_len; j++) {
+#pragma unroll
+ for (i = 0; i < 32; i++) {
+ if (input_tuple[j] & (1 << (31 - i))) {
+ hash ^= ((const __u32 *) key)[j] << i |
+ (__u32)((uint64_t)
+ (((const __u32 *) key)[j + 1])
+ >> (32 - i));
+ }
+ }
+ }
+ return hash;
+}
+
+static int __attribute__((always_inline))
+rss_l3_l4(struct __sk_buff *skb)
+{
+ __u64 proto = load_half(skb, 12);
+ __u64 nhoff = ETH_HLEN;
+ __u32 key_idx = 0xdeadbeef;
+ __u32 hash = 0;
+ int j = 0;
+ __u8 *key = 0;
+ __u32 queue = 0;
+ struct rss_key *rss_key;
+
+ rss_key = (struct rss_key *) map_lookup_elem(&map_rss, &key_idx);
+ if (!rss_key) {
+ return -1;
+ }
+
+ key = rss_key->key;
+
+ if (proto == ETH_P_8021AD) {
+ proto = load_half(skb, nhoff + offsetof(struct vlan_hdr,
+ h_vlan_encapsulated_proto));
+ nhoff += sizeof(struct vlan_hdr);
+ }
+ if (proto == ETH_P_8021Q) {
+ proto = load_half(skb, nhoff + offsetof(struct vlan_hdr,
+ h_vlan_encapsulated_proto));
+ nhoff += sizeof(struct vlan_hdr);
+ }
+ if (likely(proto == ETH_P_IP)) {
+ struct ipv4_l3_l4_tuple v4_tuple = {
+ .src_addr = IPv4(load_byte(skb, nhoff + offsetof(struct iphdr, saddr)),
+ load_byte(skb, nhoff + offsetof(struct iphdr, saddr) + 1),
+ load_byte(skb, nhoff + offsetof(struct iphdr, saddr) + 2),
+ load_byte(skb, nhoff + offsetof(struct iphdr, saddr) + 3)),
+ .dst_addr = IPv4(load_byte(skb, nhoff + offsetof(struct iphdr, daddr)),
+ load_byte(skb, nhoff + offsetof(struct iphdr, daddr) + 1),
+ load_byte(skb, nhoff + offsetof(struct iphdr, daddr) + 2),
+ load_byte(skb, nhoff + offsetof(struct iphdr, daddr) + 3)),
+ .sport = PORT(load_byte(skb, nhoff + sizeof(struct iphdr)),
+ load_byte(skb, nhoff + sizeof(struct iphdr) + 1)),
+ .dport = PORT(load_byte(skb, nhoff + sizeof(struct iphdr) + 2),
+ load_byte(skb, nhoff + sizeof(struct iphdr) + 3))
+ };
+ __u8 input_len = sizeof(v4_tuple) / sizeof(__u32);
+ if (rss_key->hash_fields & (1 << HASH_FIELD_IPV4_L3)) {
+ input_len--;
+ }
+ hash = rte_softrss_be((__u32 *)&v4_tuple, key, input_len);
+ } else if (proto == htons(ETH_P_IPV6)) {
+ struct ipv6_l3_l4_tuple v6_tuple;
+ for (j = 0; j < 4; j++) {
+ *((uint32_t *)&v6_tuple.src_addr + j) =
+ load_word(skb, nhoff + offsetof(struct ipv6hdr, saddr) + j);
+ *((uint32_t *)&v6_tuple.dst_addr + j) =
+ load_word(skb, nhoff + offsetof(struct ipv6hdr, daddr) + j);
+ }
+ v6_tuple.sport = PORT(load_byte(skb, nhoff + sizeof(struct ipv6hdr)),
+ load_byte(skb, nhoff + sizeof(struct ipv6hdr) + 1));
+ v6_tuple.dport = PORT(load_byte(skb, nhoff + sizeof(struct ipv6hdr) + 2),
+ load_byte(skb, nhoff + sizeof(struct ipv6hdr) + 3));
+
+ __u8 input_len = sizeof(v6_tuple) / sizeof(__u32);
+ if (rss_key->hash_fields & (1 << HASH_FIELD_IPV6_L3)) {
+ input_len--;
+ }
+ hash = rte_softrss_be((__u32 *)&v6_tuple, key, input_len);
+ } else {
+ return -1;
+ }
+
+ queue = rss_key->indirection_table[(hash % rss_key->nb_queues)];
+ return queue;
+}
+
+#define RSS(L) \
+ __section(#L) int \
+ L ## _hash(struct __sk_buff *skb) \
+ { \
+ return rss_ ## L(skb); \
+ }
+
+RSS(l3_l4)
+
+BPF_LICENSE("Dual BSD/GPL");
diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c
index 4a52a6a1d0..66b2140cc7 100644
--- a/hw/net/virtio-net.c
+++ b/hw/net/virtio-net.c
@@ -27,6 +27,10 @@
#include "hw/virtio/virtio-access.h"
#include "migration/misc.h"
#include "standard-headers/linux/ethtool.h"
+#include <sys/syscall.h>
+#include <linux/bpf.h>
+#include "rss_bpf_insns.h"
+#include "rss_tap_bpf.h"
#define VIRTIO_NET_VM_VERSION 11
@@ -972,6 +976,99 @@ static int virtio_net_handle_mq(VirtIONet *n, uint8_t cmd,
return VIRTIO_NET_OK;
}
+static inline int sys_bpf(enum bpf_cmd cmd, union bpf_attr *attr,
+ unsigned int size)
+{
+ return syscall(__NR_bpf, cmd, attr, size);
+}
+
+static int rss_load_bpf_program(int map_fd)
+{
+ int ret = 0;
+ union bpf_attr attr = {};
+
+ /* Insert map fd to the bpf filter program */
+ l3_l4_hash_insns[3].imm = 0;
+ l3_l4_hash_insns[8].imm = map_fd;
+
+ memset(&attr, 0, sizeof(attr));
+ attr.prog_type = BPF_PROG_TYPE_SOCKET_FILTER;
+ attr.insn_cnt = ARRAY_SIZE(l3_l4_hash_insns);
+ attr.insns = (__u64) (unsigned long) (l3_l4_hash_insns);
+ attr.license = (__u64) (unsigned long) ("Dual BSD/GPL");
+
+ ret = sys_bpf(BPF_PROG_LOAD, &attr, sizeof(attr));
+
+ return ret;
+}
+
+static int rss_create_map(VirtIONet *n, size_t size)
+{
+ union bpf_attr attr = {};
+
+ memset(&attr, 0, sizeof(attr));
+ attr.map_type = BPF_MAP_TYPE_ARRAY;
+ attr.key_size = sizeof(__u32);
+ attr.value_size = size;
+ attr.max_entries = 1;
+
+ return sys_bpf(BPF_MAP_CREATE, &attr, sizeof(attr));
+}
+
+static int rss_update_map(int fd, void *key, void *value)
+{
+ union bpf_attr attr = {};
+
+ memset(&attr, 0, sizeof(attr));
+
+ attr.map_type = BPF_MAP_TYPE_HASH;
+ attr.map_fd = fd;
+ attr.key = (__u64) (unsigned long) (key);
+ attr.value = (__u64) (unsigned long) (value);
+ attr.flags = BPF_ANY;
+
+ return sys_bpf(BPF_MAP_UPDATE_ELEM, &attr, sizeof(attr));
+}
+
+static int virtio_net_rss_assign_bpf_filter(VirtIONet *n)
+{
+ NetClientState *nc;
+ struct rss_key rss_bpf_key_map;
+ int i = 0;
+ int map_fd = 0;
+ int ret = 0;
+
+ if (n->rss_conf) {
+ rss_bpf_key_map.hash_fields = n->rss_conf->hash_function_flags;
+ rss_bpf_key_map.nb_queues = n->curr_queues;
+ rss_bpf_key_map.indirection_table = n->rss_conf->ptrs.indirection_table;
+ rss_bpf_key_map.indirection_table_size = n->rss_conf->indirection_table_length;
+ rss_bpf_key_map.key = n->rss_conf->ptrs.hash_key;
+ rss_bpf_key_map.key_size = n->rss_conf->hash_key_length;
+ map_fd = rss_create_map(n, sizeof(rss_bpf_key_map));
+ }
+
+ if (map_fd <= 0) {
+ return -1;
+ }
+
+ rss_update_map(map_fd, 0, &rss_bpf_key_map);
+ int bpf_fd = rss_load_bpf_program(map_fd);
+ for (i = 0; i < n->curr_queues ; i++) {
+ nc = qemu_get_subqueue(n->nic, i);
+
+ if (!nc->peer) {
+ return VIRTIO_NET_ERR;
+ }
+
+ if (nc->peer->info->type != NET_CLIENT_DRIVER_TAP) {
+ return VIRTIO_NET_ERR;
+ }
+ vhost_net_get_fd(nc->peer);
+ ret = nc->peer->info->set_bpf_filter(nc->peer, bpf_fd, BPF_TYPE_STEERING);
+ }
+ return ret;
+}
static int virtio_net_ctrl_sm_rss(VirtIONet *n, uint32_t cmd,
struct iovec *iov, unsigned int iov_cnt,
@@ -1034,7 +1131,7 @@ static int virtio_net_ctrl_sm_rss(VirtIONet *n, uint32_t cmd,
g_free(n->rss_conf->ptrs.indirection_table);
return VIRTIO_NET_ERR;
}
- /* do bpf magic */
+ virtio_net_rss_assign_bpf_filter(n);
break;
default:
return VIRTIO_NET_ERR;
--
2.13.6
^ permalink raw reply related [flat|nested] 36+ messages in thread
* Re: [Qemu-devel] [RFC 2/6] tap: Add support for bpf ioctls
2018-08-30 14:27 ` [Qemu-devel] [RFC 2/6] tap: Add support for bpf ioctls Sameeh Jubran
@ 2018-08-30 15:21 ` Eric Blake
2018-09-03 11:34 ` Sameeh Jubran
2018-09-03 3:24 ` Jason Wang
1 sibling, 1 reply; 36+ messages in thread
From: Eric Blake @ 2018-08-30 15:21 UTC (permalink / raw)
To: Sameeh Jubran, qemu-devel, Jason Wang; +Cc: Yan Vugenfirer
On 08/30/2018 09:27 AM, Sameeh Jubran wrote:
> From: Sameeh Jubran <sjubran@redhat.com>
>
> Starting from kernel v4.16 tun device supports TUNSETSTEERINGEBPF and
> TUNSETFILTEREBPF.
>
> Signed-off-by: Sameeh Jubran <sjubran@redhat.com>
> ---
> +++ b/qapi/net.json
> @@ -692,3 +692,14 @@
> ##
> { 'event': 'NIC_RX_FILTER_CHANGED',
> 'data': { '*name': 'str', 'path': 'str' } }
> +
> +##
> +# @BPFType:
> +#
> +# BPF programs types provided as an argument for tap bpf ioctls
> +#
> +# Since: 2.12
You missed 2.12 by a long shot; this should be 3.1.
> +#
> +##
> +{ 'enum': 'BPFType',
> + 'data': [ 'filter', 'steering' ] }
It might also be wise to document these two values in addition to the
documentation of the enum as a whole.
--
Eric Blake, Principal Software Engineer
Red Hat, Inc. +1-919-301-3266
Virtualization: qemu.org | libvirt.org
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [Qemu-devel] [RFC 2/6] tap: Add support for bpf ioctls
2018-08-30 14:27 ` [Qemu-devel] [RFC 2/6] tap: Add support for bpf ioctls Sameeh Jubran
2018-08-30 15:21 ` Eric Blake
@ 2018-09-03 3:24 ` Jason Wang
2018-09-03 11:33 ` Sameeh Jubran
1 sibling, 1 reply; 36+ messages in thread
From: Jason Wang @ 2018-09-03 3:24 UTC (permalink / raw)
To: Sameeh Jubran, qemu-devel; +Cc: Yan Vugenfirer
On 2018年08月30日 22:27, Sameeh Jubran wrote:
> From: Sameeh Jubran <sjubran@redhat.com>
>
> Starting from kernel v4.16 tun device supports TUNSETSTEERINGEBPF and
> TUNSETFILTEREBPF.
>
> Signed-off-by: Sameeh Jubran <sjubran@redhat.com>
> ---
> include/net/net.h | 3 ++-
> net/tap-bsd.c | 5 +++++
> net/tap-linux.c | 29 ++++++++++++++++++++++++++++-
> net/tap-linux.h | 3 ++-
> net/tap-solaris.c | 5 +++++
> net/tap-stub.c | 5 +++++
> net/tap.c | 8 ++++++++
> net/tap_int.h | 1 +
> qapi/net.json | 11 +++++++++++
> 9 files changed, 67 insertions(+), 3 deletions(-)
>
> diff --git a/include/net/net.h b/include/net/net.h
> index 1425960f76..e7d1baac10 100644
> --- a/include/net/net.h
> +++ b/include/net/net.h
> @@ -39,7 +39,6 @@ typedef struct NICConf {
> DEFINE_PROP_MACADDR("mac", _state, _conf.macaddr), \
> DEFINE_PROP_NETDEV("netdev", _state, _conf.peers)
>
> -
Looks unnecessary.
> /* Net clients */
>
> typedef void (NetPoll)(NetClientState *, bool enable);
> @@ -60,6 +59,7 @@ typedef int (SetVnetLE)(NetClientState *, bool);
> typedef int (SetVnetBE)(NetClientState *, bool);
> typedef struct SocketReadState SocketReadState;
> typedef void (SocketReadStateFinalize)(SocketReadState *rs);
> +typedef int (SetBPFFilter)(NetClientState *, int, BPFType);
Looks like SetBPFProg is better? Anyway steering prog is not a filter.
>
> typedef struct NetClientInfo {
> NetClientDriver type;
> @@ -80,6 +80,7 @@ typedef struct NetClientInfo {
> SetVnetHdrLen *set_vnet_hdr_len;
> SetVnetLE *set_vnet_le;
> SetVnetBE *set_vnet_be;
> + SetBPFFilter *set_bpf_filter;
> } NetClientInfo;
>
> struct NetClientState {
> diff --git a/net/tap-bsd.c b/net/tap-bsd.c
> index 6c9692263d..fccf17bad0 100644
> --- a/net/tap-bsd.c
> +++ b/net/tap-bsd.c
> @@ -259,3 +259,8 @@ int tap_fd_get_ifname(int fd, char *ifname)
> {
> return -1;
> }
> +
> +int tap_fd_load_bpf(int fd, int bpf_fd, BPFType type)
> +{
> + return -1;
> +}
> diff --git a/net/tap-linux.c b/net/tap-linux.c
> index 535b1ddb61..e8ee54f3b3 100644
> --- a/net/tap-linux.c
> +++ b/net/tap-linux.c
> @@ -305,7 +305,8 @@ int tap_fd_get_ifname(int fd, char *ifname)
> {
> struct ifreq ifr;
>
> - if (ioctl(fd, TUNGETIFF, &ifr) != 0) {
> + if (ioctl(fd, TUNGETIFF, &ifr) != 0)
> + {
This looks unnecessary.
> error_report("TUNGETIFF ioctl() failed: %s",
> strerror(errno));
> return -1;
> @@ -314,3 +315,29 @@ int tap_fd_get_ifname(int fd, char *ifname)
> pstrcpy(ifname, sizeof(ifr.ifr_name), ifr.ifr_name);
> return 0;
> }
> +
> +
> +int tap_fd_load_bpf(int fd, int bpf_fd, BPFType type)
> +{
> + int ioctl_num = 0;
> + switch (type)
> + {
> + case BPF_TYPE_FILTER:
> + ioctl_num = TUNSETFILTEREBPF;
> + break;
> +
> + case BPF_TYPE_STEERING:
> + ioctl_num = TUNSETSTEERINGEBPF;
> + break;
> +
> + default:
> + error_report("Unknown bpf_type");
> + return -1;
> + }
Indentation looks odd.
> +
> + if (ioctl(fd, ioctl_num, &bpf_fd) != 0) {
> + error_report("#%d ioctl() failed: %s", ioctl_num, strerror(errno));
> + return -1;
> + }
> + return 0;
> +}
> diff --git a/net/tap-linux.h b/net/tap-linux.h
> index 2f36d100fc..7348169fc2 100644
> --- a/net/tap-linux.h
> +++ b/net/tap-linux.h
> @@ -31,7 +31,8 @@
> #define TUNSETQUEUE _IOW('T', 217, int)
> #define TUNSETVNETLE _IOW('T', 220, int)
> #define TUNSETVNETBE _IOW('T', 222, int)
> -
> +#define TUNSETSTEERINGEBPF _IOR('T', 224, int)
> +#define TUNSETFILTEREBPF _IOR('T', 225, int)
> #endif
>
> /* TUNSETIFF ifr flags */
> diff --git a/net/tap-solaris.c b/net/tap-solaris.c
> index a2a92356c1..a5a6248c7d 100644
> --- a/net/tap-solaris.c
> +++ b/net/tap-solaris.c
> @@ -254,3 +254,8 @@ int tap_fd_get_ifname(int fd, char *ifname)
> {
> return -1;
> }
> +
> +int tap_fd_load_bpf(int fd, int bpf_fd, BPFType type)
> +{
> + return -1;
> +}
> diff --git a/net/tap-stub.c b/net/tap-stub.c
> index a9ab8f8293..d059a32435 100644
> --- a/net/tap-stub.c
> +++ b/net/tap-stub.c
> @@ -85,3 +85,8 @@ int tap_fd_get_ifname(int fd, char *ifname)
> {
> return -1;
> }
> +
> +int tap_fd_load_bpf(int fd, int bpf_fd, BPFType type)
> +{
> + return -1;
> +}
> diff --git a/net/tap.c b/net/tap.c
> index 2126f4882d..ee98fecd40 100644
> --- a/net/tap.c
> +++ b/net/tap.c
> @@ -342,6 +342,13 @@ int tap_get_fd(NetClientState *nc)
> return s->fd;
> }
>
> +static int tap_set_bpf_filter(NetClientState *nc, int bpf_fd, BPFType type)
> +{
> + TAPState *s = DO_UPCAST(TAPState, nc, nc);
> + assert(nc->info->type == NET_CLIENT_DRIVER_TAP);
> + return tap_fd_load_bpf(s->fd, bpf_fd, type);
> +}
> +
> /* fd support */
>
> static NetClientInfo net_tap_info = {
> @@ -360,6 +367,7 @@ static NetClientInfo net_tap_info = {
> .set_vnet_hdr_len = tap_set_vnet_hdr_len,
> .set_vnet_le = tap_set_vnet_le,
> .set_vnet_be = tap_set_vnet_be,
> + .set_bpf_filter = tap_set_bpf_filter,
> };
>
> static TAPState *net_tap_fd_init(NetClientState *peer,
> diff --git a/net/tap_int.h b/net/tap_int.h
> index 9f931d52d6..3e1603a88e 100644
> --- a/net/tap_int.h
> +++ b/net/tap_int.h
> @@ -45,5 +45,6 @@ int tap_fd_set_vnet_be(int fd, int vnet_is_be);
> int tap_fd_enable(int fd);
> int tap_fd_disable(int fd);
> int tap_fd_get_ifname(int fd, char *ifname);
> +int tap_fd_load_bpf(int fd, int bpf_fd, BPFType type);
>
> #endif /* NET_TAP_INT_H */
> diff --git a/qapi/net.json b/qapi/net.json
> index 6b7d93cb59..ce0a688444 100644
> --- a/qapi/net.json
> +++ b/qapi/net.json
> @@ -692,3 +692,14 @@
> ##
> { 'event': 'NIC_RX_FILTER_CHANGED',
> 'data': { '*name': 'str', 'path': 'str' } }
> +
> +##
> +# @BPFType:
> +#
> +# BPF programs types provided as an argument for tap bpf ioctls
> +#
> +# Since: 2.12
> +#
> +##
> +{ 'enum': 'BPFType',
> + 'data': [ 'filter', 'steering' ] }
I don't get why it needs to be exported as part of qapi.
Thanks
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [Qemu-devel] [RFC 3/6] vhost-net: Expose vhost_net_get_fd
2018-08-30 14:27 ` [Qemu-devel] [RFC 3/6] vhost-net: Expose vhost_net_get_fd Sameeh Jubran
@ 2018-09-03 3:24 ` Jason Wang
2018-09-03 11:56 ` Sameeh Jubran
0 siblings, 1 reply; 36+ messages in thread
From: Jason Wang @ 2018-09-03 3:24 UTC (permalink / raw)
To: Sameeh Jubran, qemu-devel; +Cc: Yan Vugenfirer
On 2018年08月30日 22:27, Sameeh Jubran wrote:
> From: Sameeh Jubran <sjubran@redhat.com>
>
> Signed-off-by: Sameeh Jubran <sjubran@redhat.com>
Better explain the motivation in the commit log.
Thanks
> ---
> hw/net/vhost_net.c | 2 +-
> include/hw/virtio/virtio-net.h | 2 ++
> 2 files changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/hw/net/vhost_net.c b/hw/net/vhost_net.c
> index e037db63a3..c0bff725c9 100644
> --- a/hw/net/vhost_net.c
> +++ b/hw/net/vhost_net.c
> @@ -129,7 +129,7 @@ uint64_t vhost_net_get_acked_features(VHostNetState *net)
> return net->dev.acked_features;
> }
>
> -static int vhost_net_get_fd(NetClientState *backend)
> +int vhost_net_get_fd(NetClientState *backend)
> {
> switch (backend->info->type) {
> case NET_CLIENT_DRIVER_TAP:
> diff --git a/include/hw/virtio/virtio-net.h b/include/hw/virtio/virtio-net.h
> index 02484dc94c..a7b53edc96 100644
> --- a/include/hw/virtio/virtio-net.h
> +++ b/include/hw/virtio/virtio-net.h
> @@ -107,4 +107,6 @@ typedef struct VirtIONet {
> void virtio_net_set_netclient_name(VirtIONet *n, const char *name,
> const char *type);
>
> +int vhost_net_get_fd(NetClientState *backend);
> +
> #endif
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [Qemu-devel] [RFC 4/6] virtio-net: implement steering mode feature
2018-08-30 14:27 ` [Qemu-devel] [RFC 4/6] virtio-net: implement steering mode feature Sameeh Jubran
@ 2018-09-03 3:34 ` Jason Wang
2018-09-03 12:51 ` Sameeh Jubran
0 siblings, 1 reply; 36+ messages in thread
From: Jason Wang @ 2018-09-03 3:34 UTC (permalink / raw)
To: Sameeh Jubran, qemu-devel; +Cc: Yan Vugenfirer
On 2018年08月30日 22:27, Sameeh Jubran wrote:
> From: Sameeh Jubran <sjubran@redhat.com>
>
> Signed-off-by: Sameeh Jubran <sjubran@redhat.com>
> ---
> hw/net/virtio-net.c | 65 +++++++++++++++++++++++++----
> include/hw/virtio/virtio-net.h | 3 ++
> include/standard-headers/linux/virtio_net.h | 55 ++++++++++++++++++++++++
> 3 files changed, 116 insertions(+), 7 deletions(-)
>
> diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c
> index 90502fca7c..e7c4ce6f66 100644
> --- a/hw/net/virtio-net.c
> +++ b/hw/net/virtio-net.c
> @@ -972,13 +972,53 @@ static int virtio_net_handle_mq(VirtIONet *n, uint8_t cmd,
> return VIRTIO_NET_OK;
> }
>
> +static int virtio_net_ctrl_steering_mode(VirtIONet *n, uint8_t cmd,
> + struct iovec *iov, unsigned int iov_cnt,
> + struct iovec *iov_in, unsigned int iov_cnt_in,
> + size_t *size_in)
> +{
> + size_t s;
> + struct virtio_net_steering_mode sm;
> +
> + switch (cmd) {
> + case VIRTIO_NET_CTRL_SM_GET_SUPPORTED_MODES:
> + if (!size_in) {
> + return VIRTIO_NET_ERR;
> + }
> + s = iov_from_buf(iov_in, iov_cnt_in, 0,
> + &n->supported_modes, sizeof(n->supported_modes));
> + if (s != sizeof(n->supported_modes) ||
> + !size_in) {
size_in has been checked in the above I think?
> + return VIRTIO_NET_ERR;
> + }
> + *size_in = s;
> + break;
> + case VIRTIO_NET_CTRL_SM_CONTROL:
> + s = iov_to_buf(iov, iov_cnt, 0, &sm, sizeof(sm) -
> + sizeof(union command_data));
> + if (s != sizeof(sm) - sizeof(union command_data)) {
> + return VIRTIO_NET_ERR;
> + }
> + /* switch (cmd)
> + {
> + dafault:
> + return VIRTIO_NET_ERR;
> + } */
> + break;
> + default:
> + return VIRTIO_NET_ERR;
> + }
> +
> + return VIRTIO_NET_OK;
> +}
> +
> static void virtio_net_handle_ctrl(VirtIODevice *vdev, VirtQueue *vq)
> {
> VirtIONet *n = VIRTIO_NET(vdev);
> struct virtio_net_ctrl_hdr ctrl;
> virtio_net_ctrl_ack status = VIRTIO_NET_ERR;
> VirtQueueElement *elem;
> - size_t s;
> + size_t s, elem_in_size = 0;
> struct iovec *iov, *iov2;
> unsigned int iov_cnt;
>
> @@ -996,7 +1036,8 @@ static void virtio_net_handle_ctrl(VirtIODevice *vdev, VirtQueue *vq)
> }
>
> iov_cnt = elem->out_num;
> - iov2 = iov = g_memdup(elem->out_sg, sizeof(struct iovec) * elem->out_num);
> + iov2 = iov = g_memdup(elem->out_sg, sizeof(struct iovec) *
> + elem->out_num);
Still looks unnecessary.
> s = iov_to_buf(iov, iov_cnt, 0, &ctrl, sizeof(ctrl));
> iov_discard_front(&iov, &iov_cnt, sizeof(ctrl));
> if (s != sizeof(ctrl)) {
> @@ -1013,12 +1054,20 @@ static void virtio_net_handle_ctrl(VirtIODevice *vdev, VirtQueue *vq)
> status = virtio_net_handle_mq(n, ctrl.cmd, iov, iov_cnt);
> } else if (ctrl.class == VIRTIO_NET_CTRL_GUEST_OFFLOADS) {
> status = virtio_net_handle_offloads(n, ctrl.cmd, iov, iov_cnt);
> + } else if (ctrl.class == VIRTIO_NET_CTRL_STEERING_MODE) {
> + size_t size_in = 0;
> + status = virtio_net_ctrl_steering_mode(n, ctrl.cmd, iov, iov_cnt,
> + elem->in_sg, elem->in_num, &size_in);
> + if (status == VIRTIO_NET_OK && size_in > 0) {
> + elem_in_size += size_in;
> + }
> }
>
> - s = iov_from_buf(elem->in_sg, elem->in_num, 0, &status, sizeof(status));
> + s = iov_from_buf(elem->in_sg, elem->in_num, elem_in_size, &status,
> + sizeof(status));
> assert(s == sizeof(status));
> -
> - virtqueue_push(vq, elem, sizeof(status));
> + elem_in_size += s;
> + virtqueue_push(vq, elem, elem_in_size);
> virtio_notify(vdev, vq);
> g_free(iov2);
> g_free(elem);
> @@ -1375,10 +1424,10 @@ static int32_t virtio_net_flush_tx(VirtIONetQueue *q)
> n->guest_hdr_len, -1);
> if (out_num == VIRTQUEUE_MAX_SIZE) {
> goto drop;
> - }
> + }
> out_num += 1;
> out_sg = sg2;
> - }
> + }
Let's avoid mixing such possible style fixes.
> }
> /*
> * If host wants to see the guest header as is, we can
> @@ -1957,6 +2006,8 @@ static void virtio_net_device_realize(DeviceState *dev, Error **errp)
> n->host_features |= (1ULL << VIRTIO_NET_F_MTU);
> }
>
> + n->host_features |= (1ULL << VIRTIO_NET_F_CTRL_STEERING_MODE);
I think we need a property for virtio-net and compat this for old
machine types.
> +
> if (n->net_conf.duplex_str) {
> if (strncmp(n->net_conf.duplex_str, "half", 5) == 0) {
> n->net_conf.duplex = DUPLEX_HALF;
> diff --git a/include/hw/virtio/virtio-net.h b/include/hw/virtio/virtio-net.h
> index a7b53edc96..809e85481c 100644
> --- a/include/hw/virtio/virtio-net.h
> +++ b/include/hw/virtio/virtio-net.h
> @@ -102,6 +102,9 @@ typedef struct VirtIONet {
> int announce_counter;
> bool needs_vnet_hdr_swap;
> bool mtu_bypass_backend;
> + struct virtio_net_steering_modes supported_modes;
> + struct virtio_net_steering_modes current_mode;
> + struct virtio_net_rss_conf *rss_conf;
> } VirtIONet;
>
> void virtio_net_set_netclient_name(VirtIONet *n, const char *name,
> diff --git a/include/standard-headers/linux/virtio_net.h b/include/standard-headers/linux/virtio_net.h
> index e9f255ea3f..fa399b97ab 100644
> --- a/include/standard-headers/linux/virtio_net.h
> +++ b/include/standard-headers/linux/virtio_net.h
> @@ -258,4 +258,59 @@ struct virtio_net_ctrl_mq {
> #define VIRTIO_NET_CTRL_GUEST_OFFLOADS 5
> #define VIRTIO_NET_CTRL_GUEST_OFFLOADS_SET 0
>
> +
> +#define RSS_HASH_FUNCTION_TOEPLITZ 0x1
> +#define RSS_HASH_FUNCTION_SYMMETRIC 0x2
> +
> +// Hash function fields
> +#define RSS_HASH_FIELDS_IPV4 0x00000100
> +#define RSS_HASH_FIELDS_TCP_IPV4 0x00000200
> +#define RSS_HASH_FIELDS_IPV6 0x00000400
> +#define RSS_HASH_FIELDS_IPV6_EX 0x00000800
> +#define RSS_HASH_FIELDS_TCP_IPV6 0x00001000
> +#define RSS_HASH_FIELDS_TCP_IPV6_EX 0x00002000
> +
> +struct virtio_net_rss_supported_hash{
> +uint32_t hash_function;
> +};
> +
> +struct virtio_net_rss_conf_ptrs {
> + uint8_t *hash_key;
> + uint32_t *indirection_table;
> +};
> +
> +struct virtio_net_rss_conf {
> + uint32_t hash_function;
> + uint32_t hash_function_flags;
> + uint32_t hash_key_length;
> + uint32_t indirection_table_length;
> + struct virtio_net_rss_conf_ptrs ptrs;
> +};
I think the RSS stuffs should go with an independent patch?
> +
> +#define VIRTIO_NET_SM_CTRL_RSS_GET_SUPPORTED_FUNCTIONS 0
> +#define VIRTIO_NET_SM_CTRL_RSS_SET 1
> +
> +
> +struct virtio_net_steering_modes {
> + uint32_t steering_modes;
> +};
> +
> +union command_data {
> + struct virtio_net_rss_conf rss;
> +};
> +
> +struct virtio_net_steering_mode {
> + uint32_t steering_mode;
> + uint32_t command;
> +};
> +
> +#define VIRTIO_NET_F_CTRL_STEERING_MODE 60
> +
> +#define VIRTIO_NET_CTRL_STEERING_MODE 7
> +#define VIRTIO_NET_CTRL_SM_GET_SUPPORTED_MODES 0
> +#define VIRTIO_NET_CTRL_SM_CONTROL 1
SM_CONTROL sounds pretty generic, maybe just SET_SUPPORTED_MODES?
Thanks
> +
> +#define STEERING_MODE_AUTO 0x1
> +#define STEERING_MODE_RSS 0x2
> +
> #endif /* _LINUX_VIRTIO_NET_H */
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [Qemu-devel] [RFC 5/6] virtio-net: steering mode: Implement rss support
2018-08-30 14:27 ` [Qemu-devel] [RFC 5/6] virtio-net: steering mode: Implement rss support Sameeh Jubran
@ 2018-09-03 3:48 ` Jason Wang
2018-09-03 11:45 ` Sameeh Jubran
0 siblings, 1 reply; 36+ messages in thread
From: Jason Wang @ 2018-09-03 3:48 UTC (permalink / raw)
To: Sameeh Jubran, qemu-devel; +Cc: Yan Vugenfirer
On 2018年08月30日 22:27, Sameeh Jubran wrote:
> From: Sameeh Jubran <sjubran@redhat.com>
>
> Signed-off-by: Sameeh Jubran <sjubran@redhat.com>
> ---
> hw/net/virtio-net.c | 122 ++++++++++++++++++++++++++++++++++++++++++++--------
> 1 file changed, 105 insertions(+), 17 deletions(-)
>
> diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c
> index e7c4ce6f66..4a52a6a1d0 100644
> --- a/hw/net/virtio-net.c
> +++ b/hw/net/virtio-net.c
> @@ -972,41 +972,129 @@ static int virtio_net_handle_mq(VirtIONet *n, uint8_t cmd,
> return VIRTIO_NET_OK;
> }
>
> -static int virtio_net_ctrl_steering_mode(VirtIONet *n, uint8_t cmd,
> +
> +static int virtio_net_ctrl_sm_rss(VirtIONet *n, uint32_t cmd,
> struct iovec *iov, unsigned int iov_cnt,
> struct iovec *iov_in, unsigned int iov_cnt_in,
> - size_t *size_in)
> + size_t *size_in)
> +{
> + size_t s;
> + uint32_t supported_hash_function = 0;
> +
> + switch (cmd) {
> + case VIRTIO_NET_SM_CTRL_RSS_GET_SUPPORTED_FUNCTIONS:
> + supported_hash_function |= RSS_HASH_FUNCTION_TOEPLITZ;
> + if (!size_in) {
> + return VIRTIO_NET_ERR;
> + }
> + s = iov_from_buf(iov_in, iov_cnt_in, 0,
> + &supported_hash_function,
> + supported_hash_function);
Indentation looks wrong.
> + if (s != sizeof(n->supported_modes) ||
> + !size_in) {
> + return VIRTIO_NET_ERR;
> + }
> + *size_in = s;
> + break;
> + case VIRTIO_NET_SM_CTRL_RSS_SET:
> + if (!n->rss_conf) {
> + n->rss_conf = g_malloc0(
> + sizeof(struct virtio_net_rss_conf));
> + } else if (iov == NULL || iov_cnt == 0) {
> + g_free(n->rss_conf->ptrs.hash_key);
> + g_free(n->rss_conf->ptrs.indirection_table);
> + g_free(n->rss_conf);
> + return VIRTIO_NET_OK;
> + }
> + s = iov_to_buf(iov, iov_cnt, 0, n->rss_conf,
> + sizeof(struct virtio_net_rss_conf) -
> + sizeof(struct virtio_net_rss_conf_ptrs));
> +
> + if (s != sizeof(struct virtio_net_rss_conf) -
> + sizeof(struct virtio_net_rss_conf_ptrs)) {
> + return VIRTIO_NET_ERR;
> + }
> + n->rss_conf->ptrs.hash_key = g_malloc0(sizeof(uint8_t) *
> + n->rss_conf->hash_key_length);
What happens if n->rss_conf != 0 && iov != NULL? Looks like a guest
trigger-able OOM?
Btw e.g "conf_ptrs" sounds misleading, why not just embed hash key and
indirection table pointers directly in rss_conf structure itself?
> + s = iov_to_buf(iov, iov_cnt, 0, n->rss_conf->ptrs.hash_key,
> + sizeof(uint8_t) * n->rss_conf->hash_key_length);
> + if (s != sizeof(uint8_t) * n->rss_conf->hash_key_length) {
> + g_free(n->rss_conf->ptrs.hash_key);
> + return VIRTIO_NET_ERR;
> + }
> + n->rss_conf->ptrs.indirection_table
> + = g_malloc0(sizeof(uint32_t) *
> + n->rss_conf->indirection_table_length);
> + s = iov_to_buf(iov, iov_cnt, 0,
> + n->rss_conf->ptrs.indirection_table, sizeof(uint32_t) *
> + n->rss_conf->indirection_table_length);
> + if (s != sizeof(uint32_t) *
> + n->rss_conf->indirection_table_length) {
> + g_free(n->rss_conf->ptrs.hash_key);
> + g_free(n->rss_conf->ptrs.indirection_table);
> + return VIRTIO_NET_ERR;
> + }
> + /* do bpf magic */
> + break;
> + default:
> + return VIRTIO_NET_ERR;
> + }
> +
> + return VIRTIO_NET_OK;
> +}
> +
> +static int virtio_net_ctrl_steering_mode(VirtIONet *n, uint8_t cmd,
> + struct iovec *iov, unsigned int iov_cnt,
> + struct iovec *iov_in, unsigned int iov_in_cnt,
> + size_t *size_in)
> {
> size_t s;
> struct virtio_net_steering_mode sm;
> + int status = 0;
> + size_t size_in_cmd = 0;
>
> switch (cmd) {
> case VIRTIO_NET_CTRL_SM_GET_SUPPORTED_MODES:
> if (!size_in) {
> return VIRTIO_NET_ERR;
> }
> - s = iov_from_buf(iov_in, iov_cnt_in, 0,
> - &n->supported_modes, sizeof(n->supported_modes));
> + n->supported_modes.steering_modes |= STEERING_MODE_RSS |
> + STEERING_MODE_AUTO;
We should have a property for RSS instead of hard coding it here.
Thanks
> + s = iov_from_buf(iov_in, iov_in_cnt, 0,
> + &n->supported_modes,
> + sizeof(n->supported_modes));
> if (s != sizeof(n->supported_modes) ||
> - !size_in) {
> + !size_in) {
> return VIRTIO_NET_ERR;
> }
> - *size_in = s;
> - break;
> + *size_in = s;
> + break;
> case VIRTIO_NET_CTRL_SM_CONTROL:
> - s = iov_to_buf(iov, iov_cnt, 0, &sm, sizeof(sm) -
> - sizeof(union command_data));
> - if (s != sizeof(sm) - sizeof(union command_data)) {
> + s = iov_to_buf(iov, iov_cnt, 0, &sm, sizeof(sm));
> + if (s != sizeof(sm)) {
> + return VIRTIO_NET_ERR;
> + }
> + iov_discard_front(&iov, &iov_cnt, sizeof(sm));
> + /* TODO handle the case where we change mode, call the old */
> + /* mode function with null ptrs should do the trick of */
> + /* freeing any resources */
> + switch (sm.steering_mode) {
> + case STEERING_MODE_AUTO:
> + break;
> + case STEERING_MODE_RSS:
> + status = virtio_net_ctrl_sm_rss(n, sm.command,
> + iov, iov_cnt, iov_in, iov_in_cnt,
> + &size_in_cmd);
> + if (status == VIRTIO_NET_OK && size_in_cmd > 0) {
> + *size_in += size_in_cmd;
> + }
> + break;
> + default:
> return VIRTIO_NET_ERR;
> }
> - /* switch (cmd)
> - {
> - dafault:
> - return VIRTIO_NET_ERR;
> - } */
> - break;
> + break;
> default:
> - return VIRTIO_NET_ERR;
> + return VIRTIO_NET_ERR;
> }
>
> return VIRTIO_NET_OK;
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [Qemu-devel] [RFC 6/6] virtio-net: rss: Add bpf filter
2018-08-30 14:27 ` [Qemu-devel] [RFC 6/6] virtio-net: rss: Add bpf filter Sameeh Jubran
@ 2018-09-03 4:12 ` Jason Wang
2018-09-03 13:16 ` Sameeh Jubran
2018-09-03 11:54 ` Daniel P. Berrangé
` (2 subsequent siblings)
3 siblings, 1 reply; 36+ messages in thread
From: Jason Wang @ 2018-09-03 4:12 UTC (permalink / raw)
To: Sameeh Jubran, qemu-devel; +Cc: Yan Vugenfirer
On 2018年08月30日 22:27, Sameeh Jubran wrote:
> From: Sameeh Jubran <sjubran@redhat.com>
>
> Signed-off-by: Sameeh Jubran <sjubran@redhat.com>
> ---
> hw/net/rss_bpf_insns.h | 3992 ++++++++++++++++++++++++++++++++++++++++++
> hw/net/rss_tap_bpf.h | 40 +
> hw/net/rss_tap_bpf_program.c | 175 ++
> hw/net/virtio-net.c | 99 +-
> 4 files changed, 4305 insertions(+), 1 deletion(-)
> create mode 100644 hw/net/rss_bpf_insns.h
> create mode 100644 hw/net/rss_tap_bpf.h
> create mode 100644 hw/net/rss_tap_bpf_program.c
>
> diff --git a/hw/net/rss_bpf_insns.h b/hw/net/rss_bpf_insns.h
> new file mode 100644
> index 0000000000..1a92110b8d
> --- /dev/null
> +++ b/hw/net/rss_bpf_insns.h
> @@ -0,0 +1,3992 @@
> +/*
> + * RSS ebpf instructions for virtio-net
> + *
> + * Copyright (c) 2018 RedHat.
> + *
> + * This work is licensed under the terms of the GNU GPL, version 2 or later.
> + * See the COPYING file in the top-level directory.
> + *
> + */
> +
> +#include <linux/bpf.h>
> +
> +#ifndef BPF_RSS_INSNS
> +#define BPF_RSS_INSNS
> +
> +/* bpf_insn array matching l3_l4 section. see tap_bpf_program.c file */
> +struct bpf_insn l3_l4_hash_insns[] = {
> +{0xbf , 0x6 , 0x1 , 0x0000 , 0x00000000},
> +{0x28 , 0x0 , 0x0 , 0x0000 , 0x0000000c},
> +{0xbf , 0x8 , 0x0 , 0x0000 , 0x00000000},
> +{0x18 , 0x1 , 0x0 , 0x0000 , 0xdeadbeef},
> +{0x00 , 0x0 , 0x0 , 0x0000 , 0x00000000},
> +{0x63 , 0xa , 0x1 , 0xfffc , 0x00000000},
> +{0xbf , 0x2 , 0xa , 0x0000 , 0x00000000},
> +{0x07 , 0x2 , 0x0 , 0x0000 , 0xfffffffc},
> +{0x18 , 0x1 , 0x1 , 0x0000 , 0xdeadcafe},
> +{0x00 , 0x0 , 0x0 , 0x0000 , 0x00000000},
> +{0x85 , 0x0 , 0x0 , 0x0000 , 0x00000001},
> +{0x55 , 0x0 , 0x0 , 0x0017 , 0x00000000},
> +{0xb7 , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x73 , 0xa , 0x1 , 0xfffa , 0x00000000},
> +{0xb7 , 0x1 , 0x0 , 0x0000 , 0x00000a64},
> +{0x6b , 0xa , 0x1 , 0xfff8 , 0x00000000},
> +{0x18 , 0x1 , 0x0 , 0x0000 , 0x69666e6f},
> +{0x00 , 0x0 , 0x0 , 0x0000 , 0x65727567},
> +{0x7b , 0xa , 0x1 , 0xfff0 , 0x00000000},
> +{0x18 , 0x1 , 0x0 , 0x0000 , 0x6e207369},
> +{0x00 , 0x0 , 0x0 , 0x0000 , 0x6320746f},
> +{0x7b , 0xa , 0x1 , 0xffe8 , 0x00000000},
> +{0x18 , 0x1 , 0x0 , 0x0000 , 0x20737372},
> +{0x00 , 0x0 , 0x0 , 0x0000 , 0x2079656b},
> +{0x7b , 0xa , 0x1 , 0xffe0 , 0x00000000},
> +{0x18 , 0x1 , 0x0 , 0x0000 , 0x68736168},
> +{0x00 , 0x0 , 0x0 , 0x0000 , 0x203a2928},
> +{0x7b , 0xa , 0x1 , 0xffd8 , 0x00000000},
> +{0xbf , 0x1 , 0xa , 0x0000 , 0x00000000},
> +{0x07 , 0x1 , 0x0 , 0x0000 , 0xffffffd8},
> +{0xb7 , 0x2 , 0x0 , 0x0000 , 0x00000023},
> +{0x85 , 0x0 , 0x0 , 0x0000 , 0x00000006},
> +{0x18 , 0x0 , 0x0 , 0x0000 , 0xfffffffe},
> +{0x00 , 0x0 , 0x0 , 0x0000 , 0x00000000},
> +{0x05 , 0x0 , 0x0 , 0x0f60 , 0x00000000},
> +{0x7b , 0xa , 0x0 , 0xffc8 , 0x00000000},
> +{0xb7 , 0x7 , 0x0 , 0x0000 , 0x0000000e},
> +{0x55 , 0x8 , 0x0 , 0x0003 , 0x000088a8},
> +{0xb7 , 0x7 , 0x0 , 0x0000 , 0x00000012},
> +{0x28 , 0x0 , 0x0 , 0x0000 , 0x00000010},
> +{0xbf , 0x8 , 0x0 , 0x0000 , 0x00000000},
> +{0x55 , 0x8 , 0x0 , 0x0005 , 0x00008100},
> +{0xbf , 0x8 , 0x7 , 0x0000 , 0x00000000},
> +{0x07 , 0x8 , 0x0 , 0x0000 , 0x00000002},
> +{0x48 , 0x0 , 0x8 , 0x0000 , 0x00000000},
> +{0xbf , 0x8 , 0x0 , 0x0000 , 0x00000000},
> +{0x07 , 0x7 , 0x0 , 0x0000 , 0x00000004},
> +{0x15 , 0x8 , 0x0 , 0x0b48 , 0x00000800},
> +{0x18 , 0x0 , 0x0 , 0x0000 , 0xffffffff},
> +{0x00 , 0x0 , 0x0 , 0x0000 , 0x00000000},
> +{0x15 , 0x8 , 0x0 , 0x0001 , 0x0000dd86},
> +{0x05 , 0x0 , 0x0 , 0x0f4f , 0x00000000},
> +{0xbf , 0x9 , 0x7 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffc8 , 0x00000000},
> +{0x07 , 0x7 , 0x0 , 0x0000 , 0x00000029},
> +{0x50 , 0x0 , 0x7 , 0x0000 , 0x00000000},
> +{0x7b , 0xa , 0x0 , 0xffa8 , 0x00000000},
> +{0xbf , 0x7 , 0x9 , 0x0000 , 0x00000000},
> +{0x07 , 0x7 , 0x0 , 0x0000 , 0x00000028},
> +{0x50 , 0x0 , 0x7 , 0x0000 , 0x00000000},
> +{0x7b , 0xa , 0x0 , 0xff90 , 0x00000000},
> +{0xbf , 0x7 , 0x9 , 0x0000 , 0x00000000},
> +{0x07 , 0x7 , 0x0 , 0x0000 , 0x0000002b},
> +{0x50 , 0x0 , 0x7 , 0x0000 , 0x00000000},
> +{0x7b , 0xa , 0x0 , 0xffb0 , 0x00000000},
> +{0xbf , 0x7 , 0x9 , 0x0000 , 0x00000000},
> +{0x07 , 0x7 , 0x0 , 0x0000 , 0x0000002a},
> +{0x50 , 0x0 , 0x7 , 0x0000 , 0x00000000},
> +{0x7b , 0xa , 0x0 , 0xffa0 , 0x00000000},
> +{0xbf , 0x7 , 0x9 , 0x0000 , 0x00000000},
> +{0x07 , 0x7 , 0x0 , 0x0000 , 0x0000001b},
> +{0x40 , 0x0 , 0x7 , 0x0000 , 0x00000000},
> +{0x7b , 0xa , 0x0 , 0xff98 , 0x00000000},
> +{0xbf , 0x7 , 0x9 , 0x0000 , 0x00000000},
> +{0x07 , 0x7 , 0x0 , 0x0000 , 0x0000001a},
> +{0x40 , 0x0 , 0x7 , 0x0000 , 0x00000000},
> +{0x7b , 0xa , 0x0 , 0xff88 , 0x00000000},
> +{0xbf , 0x7 , 0x9 , 0x0000 , 0x00000000},
> +{0x07 , 0x7 , 0x0 , 0x0000 , 0x00000019},
> +{0x40 , 0x0 , 0x7 , 0x0000 , 0x00000000},
> +{0x7b , 0xa , 0x0 , 0xffd0 , 0x00000000},
> +{0xbf , 0x7 , 0x9 , 0x0000 , 0x00000000},
> +{0x07 , 0x7 , 0x0 , 0x0000 , 0x00000018},
> +{0x40 , 0x0 , 0x7 , 0x0000 , 0x00000000},
> +{0x7b , 0xa , 0x0 , 0xffc0 , 0x00000000},
> +{0xbf , 0x7 , 0x9 , 0x0000 , 0x00000000},
> +{0x07 , 0x7 , 0x0 , 0x0000 , 0x0000000b},
> +{0x40 , 0x0 , 0x7 , 0x0000 , 0x00000000},
> +{0x7b , 0xa , 0x0 , 0xffb8 , 0x00000000},
> +{0xbf , 0x7 , 0x9 , 0x0000 , 0x00000000},
> +{0x07 , 0x7 , 0x0 , 0x0000 , 0x00000008},
> +{0x40 , 0x0 , 0x7 , 0x0000 , 0x00000000},
> +{0xbf , 0x8 , 0x0 , 0x0000 , 0x00000000},
> +{0xbf , 0x7 , 0x9 , 0x0000 , 0x00000000},
> +{0x07 , 0x7 , 0x0 , 0x0000 , 0x0000000a},
> +{0x40 , 0x0 , 0x7 , 0x0000 , 0x00000000},
> +{0xbf , 0x7 , 0x0 , 0x0000 , 0x00000000},
> +{0x07 , 0x9 , 0x0 , 0x0000 , 0x00000009},
> +{0x40 , 0x0 , 0x9 , 0x0000 , 0x00000000},
> +{0xb7 , 0x4 , 0x0 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000020},
> +{0xc7 , 0x1 , 0x0 , 0x0000 , 0x00000020},
> +{0x65 , 0x1 , 0x0 , 0x0002 , 0xffffffff},
> +{0x79 , 0x1 , 0xa , 0xffc8 , 0x00000000},
> +{0x61 , 0x4 , 0x1 , 0x0008 , 0x00000000},
> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x40000000},
> +{0x79 , 0x3 , 0xa , 0xffc8 , 0x00000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000001},
> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001f},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x20000000},
> +{0x79 , 0x6 , 0xa , 0xffa0 , 0x00000000},
> +{0x79 , 0x9 , 0xa , 0xff88 , 0x00000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000002},
> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001e},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x10000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000003},
> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001d},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x08000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000004},
> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001c},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x04000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000005},
> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001b},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x02000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000006},
> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001a},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x01000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000007},
> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000019},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00800000},
> +{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
> +{0x71 , 0x1 , 0x3 , 0x000f , 0x00000000},
> +{0x61 , 0x2 , 0x3 , 0x0008 , 0x00000000},
> +{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000008},
> +{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
> +{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00400000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000009},
> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000017},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00200000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000a},
> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000016},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00100000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000b},
> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000015},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00080000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000c},
> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000014},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00040000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000d},
> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000013},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00020000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000e},
> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000012},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00010000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000f},
> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000011},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00008000},
> +{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
> +{0x69 , 0x1 , 0x3 , 0x000e , 0x00000000},
> +{0x61 , 0x2 , 0x3 , 0x0008 , 0x00000000},
> +{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000010},
> +{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
> +{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00004000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000011},
> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000f},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00002000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000012},
> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000e},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00001000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000013},
> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000d},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000800},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000014},
> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000c},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000400},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000015},
> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000b},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000200},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000016},
> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000a},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000100},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000017},
> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000009},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000080},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000018},
> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000008},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000040},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000019},
> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000007},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000020},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001a},
> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000006},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000010},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001b},
> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000005},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000008},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001c},
> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000004},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000004},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001d},
> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000003},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000002},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001e},
> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000002},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x57 , 0x8 , 0x0 , 0x0000 , 0x00000001},
> +{0x15 , 0x8 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001f},
> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000001},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000020},
> +{0xc7 , 0x1 , 0x0 , 0x0000 , 0x00000020},
> +{0x65 , 0x1 , 0x0 , 0x0003 , 0xffffffff},
> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
> +{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x40000000},
> +{0x79 , 0x8 , 0xa , 0xff90 , 0x00000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000001},
> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001f},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x20000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000002},
> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001e},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x10000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000003},
> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001d},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x08000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000004},
> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001c},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x04000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000005},
> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001b},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x02000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000006},
> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001a},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x01000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000007},
> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000019},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00800000},
> +{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
> +{0x71 , 0x1 , 0x3 , 0x0013 , 0x00000000},
> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
> +{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000008},
> +{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
> +{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00400000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000009},
> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000017},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00200000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000a},
> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000016},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00100000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000b},
> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000015},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00080000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000c},
> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000014},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00040000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000d},
> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000013},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00020000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000e},
> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000012},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00010000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000f},
> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000011},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00008000},
> +{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
> +{0x69 , 0x1 , 0x3 , 0x0012 , 0x00000000},
> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
> +{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000010},
> +{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
> +{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00004000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000011},
> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000f},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00002000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000012},
> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000e},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00001000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000013},
> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000d},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000800},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000014},
> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000c},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000400},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000015},
> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000b},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000200},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000016},
> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000a},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000100},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000017},
> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000009},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000080},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000018},
> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000008},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000040},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000019},
> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000007},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000020},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001a},
> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000006},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000010},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001b},
> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000005},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000008},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001c},
> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000004},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000004},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001d},
> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000003},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000002},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001e},
> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000002},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x57 , 0x0 , 0x0 , 0x0000 , 0x00000001},
> +{0x15 , 0x0 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001f},
> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000001},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000020},
> +{0xc7 , 0x1 , 0x0 , 0x0000 , 0x00000020},
> +{0x65 , 0x1 , 0x0 , 0x0003 , 0xffffffff},
> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
> +{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x40000000},
> +{0x79 , 0x5 , 0xa , 0xffb0 , 0x00000000},
> +{0x79 , 0x0 , 0xa , 0xffa8 , 0x00000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000001},
> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001f},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x20000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000002},
> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001e},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x10000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000003},
> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001d},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x08000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000004},
> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001c},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x04000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000005},
> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001b},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x02000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000006},
> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001a},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x01000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000007},
> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000019},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00800000},
> +{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
> +{0x71 , 0x1 , 0x3 , 0x0017 , 0x00000000},
> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
> +{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000008},
> +{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
> +{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00400000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000009},
> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000017},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00200000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000a},
> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000016},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00100000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000b},
> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000015},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00080000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000c},
> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000014},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00040000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000d},
> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000013},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00020000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000e},
> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000012},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00010000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000f},
> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000011},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00008000},
> +{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
> +{0x69 , 0x1 , 0x3 , 0x0016 , 0x00000000},
> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
> +{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000010},
> +{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
> +{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00004000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000011},
> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000f},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00002000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000012},
> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000e},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00001000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000013},
> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000d},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000800},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000014},
> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000c},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000400},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000015},
> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000b},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000200},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000016},
> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000a},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000100},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000017},
> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000009},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000080},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000018},
> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000008},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000040},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000019},
> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000007},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000020},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001a},
> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000006},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000010},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001b},
> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000005},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000008},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001c},
> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000004},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000004},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001d},
> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000003},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000002},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001e},
> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000002},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x57 , 0x7 , 0x0 , 0x0000 , 0x00000001},
> +{0x15 , 0x7 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001f},
> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000001},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000020},
> +{0xc7 , 0x1 , 0x0 , 0x0000 , 0x00000020},
> +{0x65 , 0x1 , 0x0 , 0x0003 , 0xffffffff},
> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
> +{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x40000000},
> +{0x79 , 0x7 , 0xa , 0xff98 , 0x00000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000001},
> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001f},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x20000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000002},
> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001e},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x10000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000003},
> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001d},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x08000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000004},
> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001c},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x04000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000005},
> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001b},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x02000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000006},
> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001a},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x01000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000007},
> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000019},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00800000},
> +{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
> +{0x71 , 0x1 , 0x3 , 0x001b , 0x00000000},
> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
> +{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000008},
> +{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
> +{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00400000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000009},
> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000017},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00200000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000a},
> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000016},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00100000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000b},
> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000015},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00080000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000c},
> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000014},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00040000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000d},
> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000013},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00020000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000e},
> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000012},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00010000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000f},
> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000011},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00008000},
> +{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
> +{0x69 , 0x1 , 0x3 , 0x001a , 0x00000000},
> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
> +{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000010},
> +{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
> +{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00004000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000011},
> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000f},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00002000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000012},
> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000e},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00001000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000013},
> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000d},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000800},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000014},
> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000c},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000400},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000015},
> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000b},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000200},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000016},
> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000a},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000100},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000017},
> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000009},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000080},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000018},
> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000008},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000040},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000019},
> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000007},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000020},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001a},
> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000006},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000010},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001b},
> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000005},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000008},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001c},
> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000004},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000004},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001d},
> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000003},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000002},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001e},
> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000002},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000001},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001f},
> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000001},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000020},
> +{0xc7 , 0x1 , 0x0 , 0x0000 , 0x00000020},
> +{0x65 , 0x1 , 0x0 , 0x0003 , 0xffffffff},
> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
> +{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x40000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000001},
> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001f},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x20000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000002},
> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001e},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x10000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000003},
> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001d},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x08000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000004},
> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001c},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x04000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000005},
> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001b},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x02000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000006},
> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001a},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x01000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000007},
> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000019},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00800000},
> +{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
> +{0x71 , 0x1 , 0x3 , 0x001f , 0x00000000},
> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
> +{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000008},
> +{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
> +{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00400000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000009},
> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000017},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00200000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000a},
> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000016},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00100000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000b},
> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000015},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00080000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000c},
> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000014},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00040000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000d},
> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000013},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00020000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000e},
> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000012},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00010000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000f},
> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000011},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00008000},
> +{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
> +{0x69 , 0x1 , 0x3 , 0x001e , 0x00000000},
> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
> +{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000010},
> +{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
> +{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00004000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000011},
> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000f},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00002000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000012},
> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000e},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00001000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000013},
> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000d},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000800},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000014},
> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000c},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000400},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000015},
> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000b},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000200},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000016},
> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000a},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000100},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000017},
> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000009},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000080},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000018},
> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000008},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000040},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000019},
> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000007},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000020},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001a},
> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000006},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000010},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001b},
> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000005},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000008},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001c},
> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000004},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000004},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001d},
> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000003},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000002},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001e},
> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000002},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000001},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001f},
> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000001},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000020},
> +{0xc7 , 0x1 , 0x0 , 0x0000 , 0x00000020},
> +{0x65 , 0x1 , 0x0 , 0x0003 , 0xffffffff},
> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
> +{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x40000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000001},
> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001f},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x20000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000002},
> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001e},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x10000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000003},
> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001d},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x08000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000004},
> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001c},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x04000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000005},
> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001b},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x02000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000006},
> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001a},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x01000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000007},
> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000019},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00800000},
> +{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
> +{0x71 , 0x1 , 0x3 , 0x0023 , 0x00000000},
> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
> +{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000008},
> +{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
> +{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00400000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000009},
> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000017},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00200000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000a},
> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000016},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00100000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000b},
> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000015},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00080000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000c},
> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000014},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00040000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000d},
> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000013},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00020000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000e},
> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000012},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00010000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000f},
> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000011},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00008000},
> +{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
> +{0x69 , 0x1 , 0x3 , 0x0022 , 0x00000000},
> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
> +{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000010},
> +{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
> +{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00004000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000011},
> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000f},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00002000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000012},
> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000e},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00001000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000013},
> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000d},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000800},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000014},
> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000c},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000400},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000015},
> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000b},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000200},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000016},
> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000a},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000100},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000017},
> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000009},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000080},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000018},
> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000008},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000040},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000019},
> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000007},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000020},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001a},
> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000006},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000010},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001b},
> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000005},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000008},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001c},
> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000004},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000004},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001d},
> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000003},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000002},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001e},
> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000002},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000001},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001f},
> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000001},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000020},
> +{0xc7 , 0x1 , 0x0 , 0x0000 , 0x00000020},
> +{0x65 , 0x1 , 0x0 , 0x0003 , 0xffffffff},
> +{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
> +{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x40000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000001},
> +{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001f},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x20000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000002},
> +{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001e},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x10000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000003},
> +{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001d},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x08000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000004},
> +{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001c},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x04000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000005},
> +{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001b},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x02000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000006},
> +{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001a},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x01000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000007},
> +{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000019},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00800000},
> +{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
> +{0x71 , 0x1 , 0x3 , 0x0027 , 0x00000000},
> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
> +{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000008},
> +{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
> +{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00400000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000009},
> +{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000017},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00200000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000a},
> +{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000016},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00100000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000b},
> +{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000015},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00080000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000c},
> +{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000014},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00040000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000d},
> +{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000013},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00020000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000e},
> +{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000012},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00010000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000f},
> +{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000011},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00008000},
> +{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
> +{0x69 , 0x1 , 0x3 , 0x0026 , 0x00000000},
> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
> +{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000010},
> +{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
> +{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00004000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000011},
> +{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000f},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00002000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000012},
> +{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000e},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00001000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000013},
> +{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000d},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000800},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000014},
> +{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000c},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000400},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000015},
> +{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000b},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000200},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000016},
> +{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000a},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000100},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000017},
> +{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000009},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000080},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000018},
> +{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000008},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000040},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000019},
> +{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000007},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000020},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001a},
> +{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000006},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000010},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001b},
> +{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000005},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000008},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001c},
> +{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000004},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000004},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001d},
> +{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000003},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000002},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001e},
> +{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000002},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x57 , 0x9 , 0x0 , 0x0000 , 0x00000001},
> +{0x15 , 0x9 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001f},
> +{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000001},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000020},
> +{0xc7 , 0x1 , 0x0 , 0x0000 , 0x00000020},
> +{0x65 , 0x1 , 0x0 , 0x0003 , 0xffffffff},
> +{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
> +{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x40000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000001},
> +{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001f},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x20000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000002},
> +{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001e},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x10000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000003},
> +{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001d},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x08000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000004},
> +{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001c},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x04000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000005},
> +{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001b},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x02000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000006},
> +{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001a},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x01000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000007},
> +{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000019},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00800000},
> +{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
> +{0x71 , 0x1 , 0x3 , 0x002b , 0x00000000},
> +{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
> +{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000008},
> +{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
> +{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00400000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000009},
> +{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000017},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00200000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000a},
> +{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000016},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00100000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000b},
> +{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000015},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00080000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000c},
> +{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000014},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00040000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000d},
> +{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000013},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00020000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000e},
> +{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000012},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00010000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000f},
> +{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000011},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00008000},
> +{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
> +{0x69 , 0x1 , 0x3 , 0x002a , 0x00000000},
> +{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
> +{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000010},
> +{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
> +{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00004000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000011},
> +{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000f},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00002000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000012},
> +{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000e},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00001000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000013},
> +{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000d},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000800},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000014},
> +{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000c},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000400},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000015},
> +{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000b},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000200},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000016},
> +{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000a},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000100},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000017},
> +{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000009},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000080},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000018},
> +{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000008},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000040},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000019},
> +{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000007},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000020},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001a},
> +{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000006},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000010},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001b},
> +{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000005},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x67 , 0x8 , 0x0 , 0x0000 , 0x00000008},
> +{0x57 , 0x0 , 0x0 , 0x0000 , 0x000000ff},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000008},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001c},
> +{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000004},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x4f , 0x0 , 0x8 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000004},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001d},
> +{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000003},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x67 , 0x0 , 0x0 , 0x0000 , 0x00000030},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000002},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001e},
> +{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000002},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xc7 , 0x0 , 0x0 , 0x0000 , 0x00000020},
> +{0x57 , 0x7 , 0x0 , 0x0000 , 0x00000001},
> +{0x15 , 0x7 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001f},
> +{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000001},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x65 , 0x0 , 0x0 , 0x0003 , 0xffffffff},
> +{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
> +{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x40000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000001},
> +{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001f},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x20000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000002},
> +{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001e},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x10000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000003},
> +{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001d},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x08000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000004},
> +{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001c},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x04000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000005},
> +{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001b},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x02000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000006},
> +{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001a},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x01000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000007},
> +{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000019},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00800000},
> +{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
> +{0x71 , 0x1 , 0x3 , 0x002f , 0x00000000},
> +{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
> +{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000008},
> +{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
> +{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00400000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000009},
> +{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000017},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00200000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000a},
> +{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000016},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00100000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000b},
> +{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000015},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00080000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000c},
> +{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000014},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00040000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000d},
> +{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000013},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x67 , 0x6 , 0x0 , 0x0000 , 0x00000008},
> +{0x57 , 0x5 , 0x0 , 0x0000 , 0x000000ff},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00020000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000e},
> +{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000012},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x4f , 0x5 , 0x6 , 0x0000 , 0x00000000},
> +{0x57 , 0x0 , 0x0 , 0x0000 , 0x00010000},
> +{0x15 , 0x0 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000f},
> +{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000011},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x5 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00008000},
> +{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
> +{0x69 , 0x1 , 0x3 , 0x002e , 0x00000000},
> +{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
> +{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000010},
> +{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
> +{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x5 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00004000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000011},
> +{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000f},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x5 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00002000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000012},
> +{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000e},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x5 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00001000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000013},
> +{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000d},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x5 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000800},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000014},
> +{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000c},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x5 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000400},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000015},
> +{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000b},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x5 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000200},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000016},
> +{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000a},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x5 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000100},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000017},
> +{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000009},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x5 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000080},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000018},
> +{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000008},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x5 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000040},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000019},
> +{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000007},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x5 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000020},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001a},
> +{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000006},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x5 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000010},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001b},
> +{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000005},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x5 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000008},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001c},
> +{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000004},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x5 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000004},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001d},
> +{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000003},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x5 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000002},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001e},
> +{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000002},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x57 , 0x5 , 0x0 , 0x0000 , 0x00000001},
> +{0x15 , 0x5 , 0x0 , 0x0402 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001f},
> +{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
> +{0x05 , 0x0 , 0x0 , 0x03fa , 0x00000000},
> +{0xbf , 0x8 , 0x7 , 0x0000 , 0x00000000},
> +{0x07 , 0x8 , 0x0 , 0x0000 , 0x0000000c},
> +{0x50 , 0x0 , 0x8 , 0x0000 , 0x00000000},
> +{0xbf , 0x8 , 0x0 , 0x0000 , 0x00000000},
> +{0xbf , 0x9 , 0x7 , 0x0000 , 0x00000000},
> +{0x07 , 0x9 , 0x0 , 0x0000 , 0x0000000d},
> +{0x50 , 0x0 , 0x9 , 0x0000 , 0x00000000},
> +{0x7b , 0xa , 0x0 , 0xffd0 , 0x00000000},
> +{0xbf , 0x9 , 0x7 , 0x0000 , 0x00000000},
> +{0x07 , 0x9 , 0x0 , 0x0000 , 0x00000010},
> +{0x50 , 0x0 , 0x9 , 0x0000 , 0x00000000},
> +{0x7b , 0xa , 0x0 , 0xffa0 , 0x00000000},
> +{0xbf , 0x9 , 0x7 , 0x0000 , 0x00000000},
> +{0x07 , 0x9 , 0x0 , 0x0000 , 0x00000011},
> +{0x50 , 0x0 , 0x9 , 0x0000 , 0x00000000},
> +{0x7b , 0xa , 0x0 , 0xffa8 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000010},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00ff0000},
> +{0x67 , 0x8 , 0x0 , 0x0000 , 0x00000018},
> +{0x4f , 0x1 , 0x8 , 0x0000 , 0x00000000},
> +{0x7b , 0xa , 0x1 , 0xffd0 , 0x00000000},
> +{0xbf , 0x8 , 0x7 , 0x0000 , 0x00000000},
> +{0x07 , 0x8 , 0x0 , 0x0000 , 0x0000000e},
> +{0x50 , 0x0 , 0x8 , 0x0000 , 0x00000000},
> +{0xbf , 0x9 , 0x0 , 0x0000 , 0x00000000},
> +{0xbf , 0x8 , 0x7 , 0x0000 , 0x00000000},
> +{0x07 , 0x8 , 0x0 , 0x0000 , 0x00000017},
> +{0x50 , 0x0 , 0x8 , 0x0000 , 0x00000000},
> +{0x7b , 0xa , 0x0 , 0xffc0 , 0x00000000},
> +{0xbf , 0x8 , 0x7 , 0x0000 , 0x00000000},
> +{0x07 , 0x8 , 0x0 , 0x0000 , 0x00000016},
> +{0x50 , 0x0 , 0x8 , 0x0000 , 0x00000000},
> +{0x7b , 0xa , 0x0 , 0xffb8 , 0x00000000},
> +{0xbf , 0x8 , 0x7 , 0x0000 , 0x00000000},
> +{0x07 , 0x8 , 0x0 , 0x0000 , 0x00000012},
> +{0x50 , 0x0 , 0x8 , 0x0000 , 0x00000000},
> +{0x7b , 0xa , 0x0 , 0xff98 , 0x00000000},
> +{0xbf , 0x8 , 0x7 , 0x0000 , 0x00000000},
> +{0x07 , 0x8 , 0x0 , 0x0000 , 0x0000000f},
> +{0x50 , 0x0 , 0x8 , 0x0000 , 0x00000000},
> +{0xbf , 0x8 , 0x0 , 0x0000 , 0x00000000},
> +{0x67 , 0x9 , 0x0 , 0x0000 , 0x00000008},
> +{0x57 , 0x9 , 0x0 , 0x0000 , 0x0000ff00},
> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
> +{0x4f , 0x1 , 0x9 , 0x0000 , 0x00000000},
> +{0x7b , 0xa , 0x1 , 0xffd0 , 0x00000000},
> +{0xbf , 0x9 , 0x7 , 0x0000 , 0x00000000},
> +{0x07 , 0x9 , 0x0 , 0x0000 , 0x00000015},
> +{0x50 , 0x0 , 0x9 , 0x0000 , 0x00000000},
> +{0x7b , 0xa , 0x0 , 0xffb0 , 0x00000000},
> +{0xbf , 0x9 , 0x7 , 0x0000 , 0x00000000},
> +{0x07 , 0x7 , 0x0 , 0x0000 , 0x00000014},
> +{0x50 , 0x0 , 0x7 , 0x0000 , 0x00000000},
> +{0x79 , 0x7 , 0xa , 0xffc8 , 0x00000000},
> +{0x7b , 0xa , 0x0 , 0xff90 , 0x00000000},
> +{0x07 , 0x9 , 0x0 , 0x0000 , 0x00000013},
> +{0x50 , 0x0 , 0x9 , 0x0000 , 0x00000000},
> +{0x79 , 0x3 , 0xa , 0xffd0 , 0x00000000},
> +{0x57 , 0x8 , 0x0 , 0x0000 , 0x000000ff},
> +{0x4f , 0x3 , 0x8 , 0x0000 , 0x00000000},
> +{0xb7 , 0x4 , 0x0 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000020},
> +{0xc7 , 0x1 , 0x0 , 0x0000 , 0x00000020},
> +{0x65 , 0x1 , 0x0 , 0x0001 , 0xffffffff},
> +{0x61 , 0x4 , 0x7 , 0x0008 , 0x00000000},
> +{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x40000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x0008 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000001},
> +{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001f},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x20000000},
> +{0x79 , 0x6 , 0xa , 0xffa8 , 0x00000000},
> +{0x79 , 0x5 , 0xa , 0xffa0 , 0x00000000},
> +{0x79 , 0x8 , 0xa , 0xff98 , 0x00000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x0008 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000002},
> +{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001e},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x10000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x0008 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000003},
> +{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001d},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x08000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x0008 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000004},
> +{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001c},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x04000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x0008 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000005},
> +{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001b},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x02000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x0008 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000006},
> +{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001a},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x01000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x0008 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000007},
> +{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000019},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00800000},
> +{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
> +{0x71 , 0x1 , 0x7 , 0x000f , 0x00000000},
> +{0x61 , 0x2 , 0x7 , 0x0008 , 0x00000000},
> +{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000008},
> +{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
> +{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00400000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x0008 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000009},
> +{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000017},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00200000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x0008 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000a},
> +{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000016},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00100000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x0008 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000b},
> +{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000015},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00080000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x0008 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000c},
> +{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000014},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00040000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x0008 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000d},
> +{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000013},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00020000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x0008 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000e},
> +{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000012},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00010000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x0008 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000f},
> +{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000011},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00008000},
> +{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
> +{0x69 , 0x1 , 0x7 , 0x000e , 0x00000000},
> +{0x61 , 0x2 , 0x7 , 0x0008 , 0x00000000},
> +{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000010},
> +{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
> +{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00004000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x0008 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000011},
> +{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000f},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00002000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x0008 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000012},
> +{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000e},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00001000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x0008 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000013},
> +{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000d},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000800},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x0008 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000014},
> +{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000c},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000400},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x0008 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000015},
> +{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000b},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000200},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x0008 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000016},
> +{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000a},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000100},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x0008 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000017},
> +{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000009},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000080},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x0008 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000018},
> +{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000008},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000040},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x0008 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000019},
> +{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000007},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000020},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x0008 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001a},
> +{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000006},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x67 , 0x6 , 0x0 , 0x0000 , 0x00000010},
> +{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000010},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x0008 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001b},
> +{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000005},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x57 , 0x6 , 0x0 , 0x0000 , 0x00ff0000},
> +{0x67 , 0x5 , 0x0 , 0x0000 , 0x00000018},
> +{0x67 , 0x8 , 0x0 , 0x0000 , 0x00000008},
> +{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000008},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x0008 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001c},
> +{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000004},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x4f , 0x6 , 0x5 , 0x0000 , 0x00000000},
> +{0x57 , 0x8 , 0x0 , 0x0000 , 0x0000ff00},
> +{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000004},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x0008 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001d},
> +{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000003},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x4f , 0x6 , 0x8 , 0x0000 , 0x00000000},
> +{0x57 , 0x0 , 0x0 , 0x0000 , 0x000000ff},
> +{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000002},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x0008 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001e},
> +{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000002},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x4f , 0x6 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x3 , 0x0 , 0x0000 , 0x00000001},
> +{0x79 , 0x8 , 0xa , 0xff90 , 0x00000000},
> +{0x15 , 0x3 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x0008 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001f},
> +{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000001},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000020},
> +{0xc7 , 0x1 , 0x0 , 0x0000 , 0x00000020},
> +{0x79 , 0x3 , 0xa , 0xffc0 , 0x00000000},
> +{0x79 , 0x5 , 0xa , 0xffb8 , 0x00000000},
> +{0x79 , 0x0 , 0xa , 0xffb0 , 0x00000000},
> +{0x65 , 0x1 , 0x0 , 0x0003 , 0xffffffff},
> +{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
> +{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x40000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000001},
> +{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001f},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x20000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000002},
> +{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001e},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x10000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000003},
> +{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001d},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x08000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000004},
> +{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001c},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x04000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000005},
> +{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001b},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x02000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000006},
> +{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001a},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x01000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000007},
> +{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000019},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00800000},
> +{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
> +{0x71 , 0x1 , 0x7 , 0x0013 , 0x00000000},
> +{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
> +{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000008},
> +{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
> +{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00400000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000009},
> +{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000017},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00200000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000a},
> +{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000016},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00100000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000b},
> +{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000015},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00080000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000c},
> +{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000014},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00040000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000d},
> +{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000013},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00020000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000e},
> +{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000012},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00010000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000f},
> +{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000011},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00008000},
> +{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
> +{0x69 , 0x1 , 0x7 , 0x0012 , 0x00000000},
> +{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
> +{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000010},
> +{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
> +{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00004000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000011},
> +{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000f},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00002000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000012},
> +{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000e},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00001000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000013},
> +{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000d},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000800},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000014},
> +{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000c},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000400},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000015},
> +{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000b},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000200},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000016},
> +{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000a},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000100},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000017},
> +{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000009},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000080},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000018},
> +{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000008},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000040},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000019},
> +{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000007},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000020},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001a},
> +{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000006},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000010},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001b},
> +{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000005},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x67 , 0x8 , 0x0 , 0x0000 , 0x00000008},
> +{0x57 , 0x0 , 0x0 , 0x0000 , 0x000000ff},
> +{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000008},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001c},
> +{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000004},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x4f , 0x0 , 0x8 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000004},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001d},
> +{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000003},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x67 , 0x0 , 0x0 , 0x0000 , 0x00000030},
> +{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000002},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001e},
> +{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000002},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xc7 , 0x0 , 0x0 , 0x0000 , 0x00000020},
> +{0x57 , 0x6 , 0x0 , 0x0000 , 0x00000001},
> +{0x15 , 0x6 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001f},
> +{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000001},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x65 , 0x0 , 0x0 , 0x0003 , 0xffffffff},
> +{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
> +{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x40000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000001},
> +{0x61 , 0x2 , 0x7 , 0x0014 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001f},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x20000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000002},
> +{0x61 , 0x2 , 0x7 , 0x0014 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001e},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x10000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000003},
> +{0x61 , 0x2 , 0x7 , 0x0014 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001d},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x08000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000004},
> +{0x61 , 0x2 , 0x7 , 0x0014 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001c},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x04000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000005},
> +{0x61 , 0x2 , 0x7 , 0x0014 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001b},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x02000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000006},
> +{0x61 , 0x2 , 0x7 , 0x0014 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001a},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x01000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000007},
> +{0x61 , 0x2 , 0x7 , 0x0014 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000019},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00800000},
> +{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
> +{0x71 , 0x1 , 0x7 , 0x0017 , 0x00000000},
> +{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
> +{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000008},
> +{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
> +{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00400000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000009},
> +{0x61 , 0x2 , 0x7 , 0x0014 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000017},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00200000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000a},
> +{0x61 , 0x2 , 0x7 , 0x0014 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000016},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00100000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000b},
> +{0x61 , 0x2 , 0x7 , 0x0014 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000015},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00080000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000c},
> +{0x61 , 0x2 , 0x7 , 0x0014 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000014},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00040000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000d},
> +{0x61 , 0x2 , 0x7 , 0x0014 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000013},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x67 , 0x5 , 0x0 , 0x0000 , 0x00000008},
> +{0x57 , 0x3 , 0x0 , 0x0000 , 0x000000ff},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00020000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000e},
> +{0x61 , 0x2 , 0x7 , 0x0014 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000012},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x4f , 0x3 , 0x5 , 0x0000 , 0x00000000},
> +{0x57 , 0x0 , 0x0 , 0x0000 , 0x00010000},
> +{0x15 , 0x0 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000f},
> +{0x61 , 0x2 , 0x7 , 0x0014 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000011},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00008000},
> +{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
> +{0x69 , 0x1 , 0x7 , 0x0016 , 0x00000000},
> +{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
> +{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000010},
> +{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
> +{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00004000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000011},
> +{0x61 , 0x2 , 0x7 , 0x0014 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000f},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00002000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000012},
> +{0x61 , 0x2 , 0x7 , 0x0014 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000e},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00001000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000013},
> +{0x61 , 0x2 , 0x7 , 0x0014 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000d},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000800},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000014},
> +{0x61 , 0x2 , 0x7 , 0x0014 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000c},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000400},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000015},
> +{0x61 , 0x2 , 0x7 , 0x0014 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000b},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000200},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000016},
> +{0x61 , 0x2 , 0x7 , 0x0014 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000a},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000100},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000017},
> +{0x61 , 0x2 , 0x7 , 0x0014 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000009},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000080},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000018},
> +{0x61 , 0x2 , 0x7 , 0x0014 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000008},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000040},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000019},
> +{0x61 , 0x2 , 0x7 , 0x0014 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000007},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000020},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001a},
> +{0x61 , 0x2 , 0x7 , 0x0014 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000006},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000010},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001b},
> +{0x61 , 0x2 , 0x7 , 0x0014 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000005},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000008},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001c},
> +{0x61 , 0x2 , 0x7 , 0x0014 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000004},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000004},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001d},
> +{0x61 , 0x2 , 0x7 , 0x0014 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000003},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000002},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001e},
> +{0x61 , 0x2 , 0x7 , 0x0014 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000002},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x57 , 0x3 , 0x0 , 0x0000 , 0x00000001},
> +{0x15 , 0x3 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001f},
> +{0x61 , 0x2 , 0x7 , 0x0014 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000001},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x18 , 0x1 , 0x0 , 0x0000 , 0x7830203a},
> +{0x00 , 0x0 , 0x0 , 0x0000 , 0x000a7825},
> +{0x7b , 0xa , 0x1 , 0xffe8 , 0x00000000},
> +{0x18 , 0x1 , 0x0 , 0x0000 , 0x20782578},
> +{0x00 , 0x0 , 0x0 , 0x0000 , 0x68736168},
> +{0x7b , 0xa , 0x1 , 0xffe0 , 0x00000000},
> +{0x18 , 0x1 , 0x0 , 0x0000 , 0x75657571},
> +{0x00 , 0x0 , 0x0 , 0x0000 , 0x30203a65},
> +{0x7b , 0xa , 0x1 , 0xffd8 , 0x00000000},
> +{0xbf , 0x1 , 0xa , 0x0000 , 0x00000000},
> +{0x07 , 0x1 , 0x0 , 0x0000 , 0xffffffd8},
> +{0xb7 , 0x2 , 0x0 , 0x0000 , 0x00000018},
> +{0x85 , 0x0 , 0x0 , 0x0000 , 0x00000006},
> +{0x95 , 0x0 , 0x0 , 0x0000 , 0x00000000},
> +};
> +
> +#endif
> diff --git a/hw/net/rss_tap_bpf.h b/hw/net/rss_tap_bpf.h
> new file mode 100644
> index 0000000000..54b88cfb76
> --- /dev/null
> +++ b/hw/net/rss_tap_bpf.h
> @@ -0,0 +1,40 @@
> +/*
> + * RSS ebpf header for virtio-net
> + *
> + * Copyright (c) 2018 RedHat.
> + *
> + * This work is licensed under the terms of the GNU GPL, version 2 or later.
> + * See the COPYING file in the top-level directory.
> + *
> + * This code is heavily based on the following bpf code from dpdk
> + * https://git.dpdk.org/dpdk/tree/drivers/net/tap/
> + *
> + */
> +
> +#ifndef RSS_TAP_BPF_H
> +#define RSS_TAP_BPF_H
> +
> +/* hashed fields for RSS */
> +enum hash_field {
> + HASH_FIELD_IPV4_L3, /* IPv4 src/dst addr */
> + HASH_FIELD_IPV4_L3_L4, /* IPv4 src/dst addr + L4 src/dst ports */
> + HASH_FIELD_IPV6_L3, /* IPv6 src/dst addr */
> + HASH_FIELD_IPV6_L3_L4, /* IPv6 src/dst addr + L4 src/dst ports */
> + HASH_FIELD_L2_SRC, /* Ethernet src addr */
> + HASH_FIELD_L2_DST, /* Ethernet dst addr */
> + HASH_FIELD_L3_SRC, /* L3 src addr */
> + HASH_FIELD_L3_DST, /* L3 dst addr */
> + HASH_FIELD_L4_SRC, /* TCP/UDP src ports */
> + HASH_FIELD_L4_DST, /* TCP/UDP dst ports */
> +};
> +
> +struct rss_key {
> + __u32 hash_fields;
> + __u32 nb_queues;
> + __u32 *indirection_table;
> + __u32 indirection_table_size;
> + __u8 *key;
> + __u32 key_size;
> +} __attribute__((packed));
> +
> +#endif
> diff --git a/hw/net/rss_tap_bpf_program.c b/hw/net/rss_tap_bpf_program.c
> new file mode 100644
> index 0000000000..2744436e86
> --- /dev/null
> +++ b/hw/net/rss_tap_bpf_program.c
> @@ -0,0 +1,175 @@
> +/*
> + * RSS ebpf code for virtio-net
> + *
> + * Copyright (c) 2018 RedHat.
> + *
> + * This work is licensed under the terms of the GNU GPL, version 2 or later.
> + * See the COPYING file in the top-level directory.
> + *
> + * This code is heavily based on the following bpf code from dpdk
> + * https://git.dpdk.org/dpdk/tree/drivers/net/tap/tap_bpf_program.c
> + *
> + */
> +
> +#include <stdint.h>
> +#include <stddef.h>
> +#include <stdbool.h>
> +#include <sys/types.h>
> +#include <sys/socket.h>
> +#include <asm/types.h>
> +#include <linux/in.h>
> +#include <linux/if.h>
> +#include <linux/if_ether.h>
> +#include <linux/ip.h>
> +#include <linux/ipv6.h>
> +#include <linux/if_tunnel.h>
> +#include <linux/filter.h>
> +#include <linux/bpf.h>
> +
> +#include "bpf_api.h"
> +#include "rss_tap_bpf.h"
> +
> +/** Create IPv4 address */
> +#define IPv4(a, b, c, d) ((__u32)(((a) & 0xff) << 24) | \
> + (((b) & 0xff) << 16) | \
> + (((c) & 0xff) << 8) | \
> + ((d) & 0xff))
> +
> +#define PORT(a, b) ((__u16)(((a) & 0xff) << 8) | \
> + ((b) & 0xff))
> +
> +#define KEY_IDX 0
> +
> +struct vlan_hdr {
> + __be16 h_vlan_TCI;
> + __be16 h_vlan_encapsulated_proto;
> +};
> +
> +struct bpf_elf_map __attribute__((section("maps"), used))
> +map_rss = {
> + .type = BPF_MAP_TYPE_ARRAY,
> + .size_key = sizeof(__u32),
> + .size_value = sizeof(struct rss_key),
> + .max_elem = 1,
> +};
> +
> +struct ipv4_l3_l4_tuple {
> + __u32 src_addr;
> + __u32 dst_addr;
> + __u16 dport;
> + __u16 sport;
> +} __attribute__((packed));
> +
> +struct ipv6_l3_l4_tuple {
> + __u8 src_addr[16];
> + __u8 dst_addr[16];
> + __u16 dport;
> + __u16 sport;
> +} __attribute__((packed));
> +
> +static __u32 __attribute__((always_inline))
> +
> +rte_softrss_be(const __u32 *input_tuple, const uint8_t *key,
> + __u8 input_len)
Should we drop "rte" prefix?
> +{
> + __u32 i, j, hash = 0;
> +#pragma unroll
> + for (j = 0; j < input_len; j++) {
> +#pragma unroll
This looks tricky, consider the total number of instructions is limited.
Maybe we should introduce bpf helpers to do this in the future.
> + for (i = 0; i < 32; i++) {
> + if (input_tuple[j] & (1 << (31 - i))) {
> + hash ^= ((const __u32 *) key)[j] << i |
> + (__u32)((uint64_t)
> + (((const __u32 *) key)[j + 1])
> + >> (32 - i));
> + }
> + }
> + }
> + return hash;
> +}
> +
> +static int __attribute__((always_inline))
> +rss_l3_l4(struct __sk_buff *skb)
> +{
> + __u64 proto = load_half(skb, 12);
> + __u64 nhoff = ETH_HLEN;
> + __u32 key_idx = 0xdeadbeef;
> + __u32 hash = 0;
> + int j = 0;
> + __u8 *key = 0;
> + __u32 queue = 0;
> + struct rss_key *rss_key;
> +
> + rss_key = (struct rss_key *) map_lookup_elem(&map_rss, &key_idx);
> + if (!rss_key) {
> + return -1;
> + }
> +
> + key = rss_key->key;
> +
> + if (proto == ETH_P_8021AD) {
> + proto = load_half(skb, nhoff + offsetof(struct vlan_hdr,
> + h_vlan_encapsulated_proto));
> + nhoff += sizeof(struct vlan_hdr);
> + }
> + if (proto == ETH_P_8021Q) {
> + proto = load_half(skb, nhoff + offsetof(struct vlan_hdr,
> + h_vlan_encapsulated_proto));
> + nhoff += sizeof(struct vlan_hdr);
> + }
> + if (likely(proto == ETH_P_IP)) {
> + struct ipv4_l3_l4_tuple v4_tuple = {
> + .src_addr = IPv4(load_byte(skb, nhoff + offsetof(struct iphdr, saddr)),
> + load_byte(skb, nhoff + offsetof(struct iphdr, saddr) + 1),
> + load_byte(skb, nhoff + offsetof(struct iphdr, saddr) + 2),
> + load_byte(skb, nhoff + offsetof(struct iphdr, saddr) + 3)),
> + .dst_addr = IPv4(load_byte(skb, nhoff + offsetof(struct iphdr, daddr)),
> + load_byte(skb, nhoff + offsetof(struct iphdr, daddr) + 1),
> + load_byte(skb, nhoff + offsetof(struct iphdr, daddr) + 2),
> + load_byte(skb, nhoff + offsetof(struct iphdr, daddr) + 3)),
> + .sport = PORT(load_byte(skb, nhoff + sizeof(struct iphdr)),
> + load_byte(skb, nhoff + sizeof(struct iphdr) + 1)),
> + .dport = PORT(load_byte(skb, nhoff + sizeof(struct iphdr) + 2),
> + load_byte(skb, nhoff + sizeof(struct iphdr) + 3))
> + };
> + __u8 input_len = sizeof(v4_tuple) / sizeof(__u32);
> + if (rss_key->hash_fields & (1 << HASH_FIELD_IPV4_L3)) {
> + input_len--;
> + }
> + hash = rte_softrss_be((__u32 *)&v4_tuple, key, input_len);
> + } else if (proto == htons(ETH_P_IPV6)) {
> + struct ipv6_l3_l4_tuple v6_tuple;
> + for (j = 0; j < 4; j++) {
> + *((uint32_t *)&v6_tuple.src_addr + j) =
> + load_word(skb, nhoff + offsetof(struct ipv6hdr, saddr) + j);
> + *((uint32_t *)&v6_tuple.dst_addr + j) =
> + load_word(skb, nhoff + offsetof(struct ipv6hdr, daddr) + j);
> + }
> + v6_tuple.sport = PORT(load_byte(skb, nhoff + sizeof(struct ipv6hdr)),
> + load_byte(skb, nhoff + sizeof(struct ipv6hdr) + 1));
> + v6_tuple.dport = PORT(load_byte(skb, nhoff + sizeof(struct ipv6hdr) + 2),
> + load_byte(skb, nhoff + sizeof(struct ipv6hdr) + 3));
> +
> + __u8 input_len = sizeof(v6_tuple) / sizeof(__u32);
> + if (rss_key->hash_fields & (1 << HASH_FIELD_IPV6_L3)) {
> + input_len--;
> + }
> + hash = rte_softrss_be((__u32 *)&v6_tuple, key, input_len);
> + } else {
> + return -1;
> + }
> +
> + queue = rss_key->indirection_table[(hash % rss_key->nb_queues)];
I may miss something, but it looks to me the indirection table should be
implemented through a map as well? Since it was accessible by guest and
qemu need to trap the access and convert it to eBPF map updating?
> + return queue;
> +}
> +
> +#define RSS(L) \
> + __section(#L) int \
> + L ## _hash(struct __sk_buff *skb) \
> + { \
> + return rss_ ## L(skb); \
> + }
> +
> +RSS(l3_l4)
> +
> +BPF_LICENSE("Dual BSD/GPL");
> diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c
> index 4a52a6a1d0..66b2140cc7 100644
> --- a/hw/net/virtio-net.c
> +++ b/hw/net/virtio-net.c
> @@ -27,6 +27,10 @@
> #include "hw/virtio/virtio-access.h"
> #include "migration/misc.h"
> #include "standard-headers/linux/ethtool.h"
> +#include <sys/syscall.h>
> +#include <linux/bpf.h>
> +#include "rss_bpf_insns.h"
> +#include "rss_tap_bpf.h"
>
> #define VIRTIO_NET_VM_VERSION 11
>
> @@ -972,6 +976,99 @@ static int virtio_net_handle_mq(VirtIONet *n, uint8_t cmd,
> return VIRTIO_NET_OK;
> }
>
> +static inline int sys_bpf(enum bpf_cmd cmd, union bpf_attr *attr,
> + unsigned int size)
> +{
> + return syscall(__NR_bpf, cmd, attr, size);
> +}
> +
> +static int rss_load_bpf_program(int map_fd)
> +{
> + int ret = 0;
> + union bpf_attr attr = {};
> +
> + /* Insert map fd to the bpf filter program */
> + l3_l4_hash_insns[3].imm = 0;
> + l3_l4_hash_insns[8].imm = map_fd;
This looks tricky as well, should we search the BPF_LD and replace the imm?
> +
> + memset(&attr, 0, sizeof(attr));
> + attr.prog_type = BPF_PROG_TYPE_SOCKET_FILTER;
> + attr.insn_cnt = ARRAY_SIZE(l3_l4_hash_insns);
> + attr.insns = (__u64) (unsigned long) (l3_l4_hash_insns);
> + attr.license = (__u64) (unsigned long) ("Dual BSD/GPL");
> +
> + ret = sys_bpf(BPF_PROG_LOAD, &attr, sizeof(attr));
> +
> + return ret;
> +}
I believe those bpf helpers should be moved to tap-linux.c.
> +
> +static int rss_create_map(VirtIONet *n, size_t size)
> +{
> + union bpf_attr attr = {};
> +
> + memset(&attr, 0, sizeof(attr));
> + attr.map_type = BPF_MAP_TYPE_ARRAY;
> + attr.key_size = sizeof(__u32);
> + attr.value_size = size;
> + attr.max_entries = 1;
> +
> + return sys_bpf(BPF_MAP_CREATE, &attr, sizeof(attr));
> +}
> +
> +static int rss_update_map(int fd, void *key, void *value)
> +{
> + union bpf_attr attr = {};
> +
> + memset(&attr, 0, sizeof(attr));
> +
> + attr.map_type = BPF_MAP_TYPE_HASH;
> + attr.map_fd = fd;
> + attr.key = (__u64) (unsigned long) (key);
> + attr.value = (__u64) (unsigned long) (value);
> + attr.flags = BPF_ANY;
> +
> + return sys_bpf(BPF_MAP_UPDATE_ELEM, &attr, sizeof(attr));
> +}
> +
> +static int virtio_net_rss_assign_bpf_filter(VirtIONet *n)
> +{
> + NetClientState *nc;
> + struct rss_key rss_bpf_key_map;
> + int i = 0;
> + int map_fd = 0;
> + int ret = 0;
> +
> + if (n->rss_conf) {
> + rss_bpf_key_map.hash_fields = n->rss_conf->hash_function_flags;
> + rss_bpf_key_map.nb_queues = n->curr_queues;
> + rss_bpf_key_map.indirection_table = n->rss_conf->ptrs.indirection_table;
> + rss_bpf_key_map.indirection_table_size = n->rss_conf->indirection_table_length;
> + rss_bpf_key_map.key = n->rss_conf->ptrs.hash_key;
> + rss_bpf_key_map.key_size = n->rss_conf->hash_key_length;
> + map_fd = rss_create_map(n, sizeof(rss_bpf_key_map));
> + }
> +
> + if (map_fd <= 0) {
> + return -1;
> + }
> +
> + rss_update_map(map_fd, 0, &rss_bpf_key_map);
> + int bpf_fd = rss_load_bpf_program(map_fd);
> + for (i = 0; i < n->curr_queues ; i++) {
> + nc = qemu_get_subqueue(n->nic, i);
> +
> + if (!nc->peer) {
> + return VIRTIO_NET_ERR;
> + }
> +
> + if (nc->peer->info->type != NET_CLIENT_DRIVER_TAP) {
> + return VIRTIO_NET_ERR;
> + }
> + vhost_net_get_fd(nc->peer);
So vhost_net_get_fd() did nothing in fact?
> + ret = nc->peer->info->set_bpf_filter(nc->peer, bpf_fd, BPF_TYPE_STEERING);
STEERING BPF is per device not per queue, so setting this for queue 0
should be ok.
Thanks
> + }
> + return ret;
> +}
>
> static int virtio_net_ctrl_sm_rss(VirtIONet *n, uint32_t cmd,
> struct iovec *iov, unsigned int iov_cnt,
> @@ -1034,7 +1131,7 @@ static int virtio_net_ctrl_sm_rss(VirtIONet *n, uint32_t cmd,
> g_free(n->rss_conf->ptrs.indirection_table);
> return VIRTIO_NET_ERR;
> }
> - /* do bpf magic */
> + virtio_net_rss_assign_bpf_filter(n);
> break;
> default:
> return VIRTIO_NET_ERR;
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [Qemu-devel] [RFC 0/6] Virtio-net: Support RSS
2018-08-30 14:27 [Qemu-devel] [RFC 0/6] Virtio-net: Support RSS Sameeh Jubran
` (5 preceding siblings ...)
2018-08-30 14:27 ` [Qemu-devel] [RFC 6/6] virtio-net: rss: Add bpf filter Sameeh Jubran
@ 2018-09-03 4:15 ` Jason Wang
2018-09-03 9:52 ` Sameeh Jubran
6 siblings, 1 reply; 36+ messages in thread
From: Jason Wang @ 2018-09-03 4:15 UTC (permalink / raw)
To: Sameeh Jubran, qemu-devel; +Cc: Yan Vugenfirer
On 2018年08月30日 22:27, Sameeh Jubran wrote:
> From: Sameeh Jubran <sjubran@redhat.com>
>
> This series implements the Steering Mode feature which was introduced on the
> virtio-dev list a while ago, which can be found here:
> * https://lists.oasis-open.org/archives/virtio-dev/201805/msg00024.html
>
> The first three patches add some infrastructure support that is used in
> the following three patches.
>
> The ebpf filter doesn't fully work yet as I'm having an issue with the
> verifier which needs to be fixed.
What issues did you meet? You can attach a trace buffer and get verbose
debug information from that. Btw, dpdk use cls bpf and we use socket filter.
>
> The patches still need some love as not all of the cases have been handled
> yet most of the functionality has been implemented.
One question is how indirection table is implemented, I thought it
should be a map but looks not. Please see comment on patch 6.
Thanks
>
> Please share your thoughts and comments so I'll move forward with
> sending v1 along with a fully functioning ebpf code.
>
> Sameeh Jubran (6):
> Add bpf support to qemu
> tap: Add support for bpf ioctls
> vhost-net: Expose vhost_net_get_fd
> virtio-net: implement steering mode feature
> virtio-net: steering mode: Implement rss support
> virtio-net: rss: Add bpf filter
>
> MAINTAINERS | 5 +
> configure | 44 +
> hw/net/rss_bpf_insns.h | 3992 +++++++++++++++++++++++++++
> hw/net/rss_tap_bpf.h | 37 +
> hw/net/rss_tap_bpf_program.c | 172 ++
> hw/net/vhost_net.c | 2 +-
> hw/net/virtio-net.c | 250 +-
> include/hw/virtio/virtio-net.h | 5 +
> include/net/net.h | 3 +-
> include/standard-headers/linux/virtio_net.h | 55 +
> net/tap-bsd.c | 5 +
> net/tap-linux.c | 29 +-
> net/tap-linux.h | 3 +-
> net/tap-solaris.c | 5 +
> net/tap-stub.c | 5 +
> net/tap.c | 8 +
> net/tap_int.h | 1 +
> qapi/net.json | 11 +
> scripts/update-linux-headers.sh | 8 +-
> 19 files changed, 4627 insertions(+), 13 deletions(-)
> create mode 100644 hw/net/rss_bpf_insns.h
> create mode 100644 hw/net/rss_tap_bpf.h
> create mode 100644 hw/net/rss_tap_bpf_program.c
>
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [Qemu-devel] [RFC 0/6] Virtio-net: Support RSS
2018-09-03 4:15 ` [Qemu-devel] [RFC 0/6] Virtio-net: Support RSS Jason Wang
@ 2018-09-03 9:52 ` Sameeh Jubran
0 siblings, 0 replies; 36+ messages in thread
From: Sameeh Jubran @ 2018-09-03 9:52 UTC (permalink / raw)
To: Jason Wang; +Cc: QEMU Developers, Yan Vugenfirer
On Mon, Sep 3, 2018 at 7:15 AM, Jason Wang <jasowang@redhat.com> wrote:
>
>
> On 2018年08月30日 22:27, Sameeh Jubran wrote:
>>
>> From: Sameeh Jubran <sjubran@redhat.com>
>>
>> This series implements the Steering Mode feature which was introduced on
>> the
>> virtio-dev list a while ago, which can be found here:
>> * https://lists.oasis-open.org/archives/virtio-dev/201805/msg00024.html
>>
>> The first three patches add some infrastructure support that is used in
>> the following three patches.
>>
>> The ebpf filter doesn't fully work yet as I'm having an issue with the
>> verifier which needs to be fixed.
>
>
> What issues did you meet? You can attach a trace buffer and get verbose
> debug information from that. Btw, dpdk use cls bpf and we use socket filter.
I am using the buffer for debugging actually, I keep getting back edge
from two consecutive instructions
in the instruction array which I have no idea how to troubleshoot! The
instructions are generated from the
compiled code which compiles okay.
This didn't happen to me earlier and I have actually succeeded in
inserting the bpf instructions with no issues.
>
>>
>> The patches still need some love as not all of the cases have been handled
>> yet most of the functionality has been implemented.
>
>
> One question is how indirection table is implemented, I thought it should be
> a map but looks not. Please see comment on patch 6.
No it is a hash table.
>
> Thanks
>
>
>>
>> Please share your thoughts and comments so I'll move forward with
>> sending v1 along with a fully functioning ebpf code.
>>
>> Sameeh Jubran (6):
>> Add bpf support to qemu
>> tap: Add support for bpf ioctls
>> vhost-net: Expose vhost_net_get_fd
>> virtio-net: implement steering mode feature
>> virtio-net: steering mode: Implement rss support
>> virtio-net: rss: Add bpf filter
>>
>> MAINTAINERS | 5 +
>> configure | 44 +
>> hw/net/rss_bpf_insns.h | 3992
>> +++++++++++++++++++++++++++
>> hw/net/rss_tap_bpf.h | 37 +
>> hw/net/rss_tap_bpf_program.c | 172 ++
>> hw/net/vhost_net.c | 2 +-
>> hw/net/virtio-net.c | 250 +-
>> include/hw/virtio/virtio-net.h | 5 +
>> include/net/net.h | 3 +-
>> include/standard-headers/linux/virtio_net.h | 55 +
>> net/tap-bsd.c | 5 +
>> net/tap-linux.c | 29 +-
>> net/tap-linux.h | 3 +-
>> net/tap-solaris.c | 5 +
>> net/tap-stub.c | 5 +
>> net/tap.c | 8 +
>> net/tap_int.h | 1 +
>> qapi/net.json | 11 +
>> scripts/update-linux-headers.sh | 8 +-
>> 19 files changed, 4627 insertions(+), 13 deletions(-)
>> create mode 100644 hw/net/rss_bpf_insns.h
>> create mode 100644 hw/net/rss_tap_bpf.h
>> create mode 100644 hw/net/rss_tap_bpf_program.c
>>
>
--
Respectfully,
Sameeh Jubran
Linkedin
Software Engineer @ Daynix.
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [Qemu-devel] [RFC 2/6] tap: Add support for bpf ioctls
2018-09-03 3:24 ` Jason Wang
@ 2018-09-03 11:33 ` Sameeh Jubran
0 siblings, 0 replies; 36+ messages in thread
From: Sameeh Jubran @ 2018-09-03 11:33 UTC (permalink / raw)
To: Jason Wang; +Cc: QEMU Developers, Yan Vugenfirer
On Mon, Sep 3, 2018 at 6:24 AM, Jason Wang <jasowang@redhat.com> wrote:
>
>
> On 2018年08月30日 22:27, Sameeh Jubran wrote:
>>
>> From: Sameeh Jubran <sjubran@redhat.com>
>>
>> Starting from kernel v4.16 tun device supports TUNSETSTEERINGEBPF and
>> TUNSETFILTEREBPF.
>>
>> Signed-off-by: Sameeh Jubran <sjubran@redhat.com>
>> ---
>> include/net/net.h | 3 ++-
>> net/tap-bsd.c | 5 +++++
>> net/tap-linux.c | 29 ++++++++++++++++++++++++++++-
>> net/tap-linux.h | 3 ++-
>> net/tap-solaris.c | 5 +++++
>> net/tap-stub.c | 5 +++++
>> net/tap.c | 8 ++++++++
>> net/tap_int.h | 1 +
>> qapi/net.json | 11 +++++++++++
>> 9 files changed, 67 insertions(+), 3 deletions(-)
>>
>> diff --git a/include/net/net.h b/include/net/net.h
>> index 1425960f76..e7d1baac10 100644
>> --- a/include/net/net.h
>> +++ b/include/net/net.h
>> @@ -39,7 +39,6 @@ typedef struct NICConf {
>> DEFINE_PROP_MACADDR("mac", _state, _conf.macaddr),
>> \
>> DEFINE_PROP_NETDEV("netdev", _state, _conf.peers)
>> -
>
>
> Looks unnecessary.
yup
>
>> /* Net clients */
>> typedef void (NetPoll)(NetClientState *, bool enable);
>> @@ -60,6 +59,7 @@ typedef int (SetVnetLE)(NetClientState *, bool);
>> typedef int (SetVnetBE)(NetClientState *, bool);
>> typedef struct SocketReadState SocketReadState;
>> typedef void (SocketReadStateFinalize)(SocketReadState *rs);
>> +typedef int (SetBPFFilter)(NetClientState *, int, BPFType);
>
>
> Looks like SetBPFProg is better? Anyway steering prog is not a filter.
True
>
>
>> typedef struct NetClientInfo {
>> NetClientDriver type;
>> @@ -80,6 +80,7 @@ typedef struct NetClientInfo {
>> SetVnetHdrLen *set_vnet_hdr_len;
>> SetVnetLE *set_vnet_le;
>> SetVnetBE *set_vnet_be;
>> + SetBPFFilter *set_bpf_filter;
>> } NetClientInfo;
>> struct NetClientState {
>> diff --git a/net/tap-bsd.c b/net/tap-bsd.c
>> index 6c9692263d..fccf17bad0 100644
>> --- a/net/tap-bsd.c
>> +++ b/net/tap-bsd.c
>> @@ -259,3 +259,8 @@ int tap_fd_get_ifname(int fd, char *ifname)
>> {
>> return -1;
>> }
>> +
>> +int tap_fd_load_bpf(int fd, int bpf_fd, BPFType type)
>> +{
>> + return -1;
>> +}
>> diff --git a/net/tap-linux.c b/net/tap-linux.c
>> index 535b1ddb61..e8ee54f3b3 100644
>> --- a/net/tap-linux.c
>> +++ b/net/tap-linux.c
>> @@ -305,7 +305,8 @@ int tap_fd_get_ifname(int fd, char *ifname)
>> {
>> struct ifreq ifr;
>> - if (ioctl(fd, TUNGETIFF, &ifr) != 0) {
>> + if (ioctl(fd, TUNGETIFF, &ifr) != 0)
>> + {
>
>
> This looks unnecessary.
True
>
>
>> error_report("TUNGETIFF ioctl() failed: %s",
>> strerror(errno));
>> return -1;
>> @@ -314,3 +315,29 @@ int tap_fd_get_ifname(int fd, char *ifname)
>> pstrcpy(ifname, sizeof(ifr.ifr_name), ifr.ifr_name);
>> return 0;
>> }
>> +
>> +
>> +int tap_fd_load_bpf(int fd, int bpf_fd, BPFType type)
>> +{
>> + int ioctl_num = 0;
>> + switch (type)
>> + {
>> + case BPF_TYPE_FILTER:
>> + ioctl_num = TUNSETFILTEREBPF;
>> + break;
>> +
>> + case BPF_TYPE_STEERING:
>> + ioctl_num = TUNSETSTEERINGEBPF;
>> + break;
>> +
>> + default:
>> + error_report("Unknown bpf_type");
>> + return -1;
>> + }
>
>
> Indentation looks odd.
Will fix
>
>
>> +
>> + if (ioctl(fd, ioctl_num, &bpf_fd) != 0) {
>> + error_report("#%d ioctl() failed: %s", ioctl_num,
>> strerror(errno));
>> + return -1;
>> + }
>> + return 0;
>> +}
>> diff --git a/net/tap-linux.h b/net/tap-linux.h
>> index 2f36d100fc..7348169fc2 100644
>> --- a/net/tap-linux.h
>> +++ b/net/tap-linux.h
>> @@ -31,7 +31,8 @@
>> #define TUNSETQUEUE _IOW('T', 217, int)
>> #define TUNSETVNETLE _IOW('T', 220, int)
>> #define TUNSETVNETBE _IOW('T', 222, int)
>> -
>> +#define TUNSETSTEERINGEBPF _IOR('T', 224, int)
>> +#define TUNSETFILTEREBPF _IOR('T', 225, int)
>> #endif
>> /* TUNSETIFF ifr flags */
>> diff --git a/net/tap-solaris.c b/net/tap-solaris.c
>> index a2a92356c1..a5a6248c7d 100644
>> --- a/net/tap-solaris.c
>> +++ b/net/tap-solaris.c
>> @@ -254,3 +254,8 @@ int tap_fd_get_ifname(int fd, char *ifname)
>> {
>> return -1;
>> }
>> +
>> +int tap_fd_load_bpf(int fd, int bpf_fd, BPFType type)
>> +{
>> + return -1;
>> +}
>> diff --git a/net/tap-stub.c b/net/tap-stub.c
>> index a9ab8f8293..d059a32435 100644
>> --- a/net/tap-stub.c
>> +++ b/net/tap-stub.c
>> @@ -85,3 +85,8 @@ int tap_fd_get_ifname(int fd, char *ifname)
>> {
>> return -1;
>> }
>> +
>> +int tap_fd_load_bpf(int fd, int bpf_fd, BPFType type)
>> +{
>> + return -1;
>> +}
>> diff --git a/net/tap.c b/net/tap.c
>> index 2126f4882d..ee98fecd40 100644
>> --- a/net/tap.c
>> +++ b/net/tap.c
>> @@ -342,6 +342,13 @@ int tap_get_fd(NetClientState *nc)
>> return s->fd;
>> }
>> +static int tap_set_bpf_filter(NetClientState *nc, int bpf_fd, BPFType
>> type)
>> +{
>> + TAPState *s = DO_UPCAST(TAPState, nc, nc);
>> + assert(nc->info->type == NET_CLIENT_DRIVER_TAP);
>> + return tap_fd_load_bpf(s->fd, bpf_fd, type);
>> +}
>> +
>> /* fd support */
>> static NetClientInfo net_tap_info = {
>> @@ -360,6 +367,7 @@ static NetClientInfo net_tap_info = {
>> .set_vnet_hdr_len = tap_set_vnet_hdr_len,
>> .set_vnet_le = tap_set_vnet_le,
>> .set_vnet_be = tap_set_vnet_be,
>> + .set_bpf_filter = tap_set_bpf_filter,
>> };
>> static TAPState *net_tap_fd_init(NetClientState *peer,
>> diff --git a/net/tap_int.h b/net/tap_int.h
>> index 9f931d52d6..3e1603a88e 100644
>> --- a/net/tap_int.h
>> +++ b/net/tap_int.h
>> @@ -45,5 +45,6 @@ int tap_fd_set_vnet_be(int fd, int vnet_is_be);
>> int tap_fd_enable(int fd);
>> int tap_fd_disable(int fd);
>> int tap_fd_get_ifname(int fd, char *ifname);
>> +int tap_fd_load_bpf(int fd, int bpf_fd, BPFType type);
>> #endif /* NET_TAP_INT_H */
>> diff --git a/qapi/net.json b/qapi/net.json
>> index 6b7d93cb59..ce0a688444 100644
>> --- a/qapi/net.json
>> +++ b/qapi/net.json
>> @@ -692,3 +692,14 @@
>> ##
>> { 'event': 'NIC_RX_FILTER_CHANGED',
>> 'data': { '*name': 'str', 'path': 'str' } }
>> +
>> +##
>> +# @BPFType:
>> +#
>> +# BPF programs types provided as an argument for tap bpf ioctls
>> +#
>> +# Since: 2.12
>> +#
>> +##
>> +{ 'enum': 'BPFType',
>> + 'data': [ 'filter', 'steering' ] }
>
>
> I don't get why it needs to be exported as part of qapi.
You are right, I have done this long time ago when I thought it is
needed. But it seems to be superfluous now.
>
> Thanks
--
Respectfully,
Sameeh Jubran
Linkedin
Software Engineer @ Daynix.
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [Qemu-devel] [RFC 2/6] tap: Add support for bpf ioctls
2018-08-30 15:21 ` Eric Blake
@ 2018-09-03 11:34 ` Sameeh Jubran
0 siblings, 0 replies; 36+ messages in thread
From: Sameeh Jubran @ 2018-09-03 11:34 UTC (permalink / raw)
To: Eric Blake; +Cc: QEMU Developers, Jason Wang, Yan Vugenfirer
On Thu, Aug 30, 2018 at 6:21 PM, Eric Blake <eblake@redhat.com> wrote:
> On 08/30/2018 09:27 AM, Sameeh Jubran wrote:
>>
>> From: Sameeh Jubran <sjubran@redhat.com>
>>
>> Starting from kernel v4.16 tun device supports TUNSETSTEERINGEBPF and
>> TUNSETFILTEREBPF.
>>
>> Signed-off-by: Sameeh Jubran <sjubran@redhat.com>
>> ---
>
>
>> +++ b/qapi/net.json
>> @@ -692,3 +692,14 @@
>> ##
>> { 'event': 'NIC_RX_FILTER_CHANGED',
>> 'data': { '*name': 'str', 'path': 'str' } }
>> +
>> +##
>> +# @BPFType:
>> +#
>> +# BPF programs types provided as an argument for tap bpf ioctls
>> +#
>> +# Since: 2.12
>
>
> You missed 2.12 by a long shot; this should be 3.1.
Yup, but it seems like I'm dropping this from QAPI,
Thanks
>
>> +#
>> +##
>> +{ 'enum': 'BPFType',
>> + 'data': [ 'filter', 'steering' ] }
>
>
> It might also be wise to document these two values in addition to the
> documentation of the enum as a whole.
>
> --
> Eric Blake, Principal Software Engineer
> Red Hat, Inc. +1-919-301-3266
> Virtualization: qemu.org | libvirt.org
--
Respectfully,
Sameeh Jubran
Linkedin
Software Engineer @ Daynix.
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [Qemu-devel] [RFC 5/6] virtio-net: steering mode: Implement rss support
2018-09-03 3:48 ` Jason Wang
@ 2018-09-03 11:45 ` Sameeh Jubran
0 siblings, 0 replies; 36+ messages in thread
From: Sameeh Jubran @ 2018-09-03 11:45 UTC (permalink / raw)
To: Jason Wang; +Cc: QEMU Developers, Yan Vugenfirer
On Mon, Sep 3, 2018 at 6:48 AM, Jason Wang <jasowang@redhat.com> wrote:
>
>
> On 2018年08月30日 22:27, Sameeh Jubran wrote:
>>
>> From: Sameeh Jubran <sjubran@redhat.com>
>>
>> Signed-off-by: Sameeh Jubran <sjubran@redhat.com>
>> ---
>> hw/net/virtio-net.c | 122
>> ++++++++++++++++++++++++++++++++++++++++++++--------
>> 1 file changed, 105 insertions(+), 17 deletions(-)
>>
>> diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c
>> index e7c4ce6f66..4a52a6a1d0 100644
>> --- a/hw/net/virtio-net.c
>> +++ b/hw/net/virtio-net.c
>> @@ -972,41 +972,129 @@ static int virtio_net_handle_mq(VirtIONet *n,
>> uint8_t cmd,
>> return VIRTIO_NET_OK;
>> }
>> -static int virtio_net_ctrl_steering_mode(VirtIONet *n, uint8_t cmd,
>> +
>> +static int virtio_net_ctrl_sm_rss(VirtIONet *n, uint32_t cmd,
>> struct iovec *iov, unsigned int iov_cnt,
>> struct iovec *iov_in, unsigned int
>> iov_cnt_in,
>> - size_t *size_in)
>> + size_t *size_in)
>> +{
>> + size_t s;
>> + uint32_t supported_hash_function = 0;
>> +
>> + switch (cmd) {
>> + case VIRTIO_NET_SM_CTRL_RSS_GET_SUPPORTED_FUNCTIONS:
>> + supported_hash_function |= RSS_HASH_FUNCTION_TOEPLITZ;
>> + if (!size_in) {
>> + return VIRTIO_NET_ERR;
>> + }
>> + s = iov_from_buf(iov_in, iov_cnt_in, 0,
>> + &supported_hash_function,
>> + supported_hash_function);
>
>
> Indentation looks wrong.
>
>
>> + if (s != sizeof(n->supported_modes) ||
>> + !size_in) {
>> + return VIRTIO_NET_ERR;
>> + }
>> + *size_in = s;
>> + break;
>> + case VIRTIO_NET_SM_CTRL_RSS_SET:
>> + if (!n->rss_conf) {
>> + n->rss_conf = g_malloc0(
>> + sizeof(struct virtio_net_rss_conf));
>> + } else if (iov == NULL || iov_cnt == 0) {
>> + g_free(n->rss_conf->ptrs.hash_key);
>> + g_free(n->rss_conf->ptrs.indirection_table);
>> + g_free(n->rss_conf);
>> + return VIRTIO_NET_OK;
>> + }
>> + s = iov_to_buf(iov, iov_cnt, 0, n->rss_conf,
>> + sizeof(struct virtio_net_rss_conf) -
>> + sizeof(struct virtio_net_rss_conf_ptrs));
>> +
>> + if (s != sizeof(struct virtio_net_rss_conf) -
>> + sizeof(struct virtio_net_rss_conf_ptrs)) {
>> + return VIRTIO_NET_ERR;
>> + }
>> + n->rss_conf->ptrs.hash_key = g_malloc0(sizeof(uint8_t) *
>> + n->rss_conf->hash_key_length);
>
>
> What happens if n->rss_conf != 0 && iov != NULL? Looks like a guest
> trigger-able OOM?
>
> Btw e.g "conf_ptrs" sounds misleading, why not just embed hash key and
> indirection table pointers directly in rss_conf structure itself?
It was neater to do it like this so I can use:
sizeof(struct virtio_net_rss_conf) - sizeof(struct virtio_net_rss_conf_ptrs)
when reading from the iov, but yeah it not a big deal and I can put
the pointers there as well
>
>
>> + s = iov_to_buf(iov, iov_cnt, 0, n->rss_conf->ptrs.hash_key,
>> + sizeof(uint8_t) * n->rss_conf->hash_key_length);
>> + if (s != sizeof(uint8_t) * n->rss_conf->hash_key_length) {
>> + g_free(n->rss_conf->ptrs.hash_key);
>> + return VIRTIO_NET_ERR;
>> + }
>> + n->rss_conf->ptrs.indirection_table
>> + = g_malloc0(sizeof(uint32_t) *
>> + n->rss_conf->indirection_table_length);
>> + s = iov_to_buf(iov, iov_cnt, 0,
>> + n->rss_conf->ptrs.indirection_table, sizeof(uint32_t) *
>> + n->rss_conf->indirection_table_length);
>> + if (s != sizeof(uint32_t) *
>> + n->rss_conf->indirection_table_length) {
>> + g_free(n->rss_conf->ptrs.hash_key);
>> + g_free(n->rss_conf->ptrs.indirection_table);
>> + return VIRTIO_NET_ERR;
>> + }
>> + /* do bpf magic */
>> + break;
>> + default:
>> + return VIRTIO_NET_ERR;
>> + }
>> +
>> + return VIRTIO_NET_OK;
>> +}
>> +
>> +static int virtio_net_ctrl_steering_mode(VirtIONet *n, uint8_t cmd,
>> + struct iovec *iov, unsigned int iov_cnt,
>> + struct iovec *iov_in, unsigned int
>> iov_in_cnt,
>> + size_t *size_in)
>> {
>> size_t s;
>> struct virtio_net_steering_mode sm;
>> + int status = 0;
>> + size_t size_in_cmd = 0;
>> switch (cmd) {
>> case VIRTIO_NET_CTRL_SM_GET_SUPPORTED_MODES:
>> if (!size_in) {
>> return VIRTIO_NET_ERR;
>> }
>> - s = iov_from_buf(iov_in, iov_cnt_in, 0,
>> - &n->supported_modes, sizeof(n->supported_modes));
>> + n->supported_modes.steering_modes |= STEERING_MODE_RSS |
>> + STEERING_MODE_AUTO;
>
>
> We should have a property for RSS instead of hard coding it here.
Agree
>
> Thanks
>
>
>> + s = iov_from_buf(iov_in, iov_in_cnt, 0,
>> + &n->supported_modes,
>> + sizeof(n->supported_modes));
>> if (s != sizeof(n->supported_modes) ||
>> - !size_in) {
>> + !size_in) {
>> return VIRTIO_NET_ERR;
>> }
>> - *size_in = s;
>> - break;
>> + *size_in = s;
>> + break;
>> case VIRTIO_NET_CTRL_SM_CONTROL:
>> - s = iov_to_buf(iov, iov_cnt, 0, &sm, sizeof(sm) -
>> - sizeof(union command_data));
>> - if (s != sizeof(sm) - sizeof(union command_data)) {
>> + s = iov_to_buf(iov, iov_cnt, 0, &sm, sizeof(sm));
>> + if (s != sizeof(sm)) {
>> + return VIRTIO_NET_ERR;
>> + }
>> + iov_discard_front(&iov, &iov_cnt, sizeof(sm));
>> + /* TODO handle the case where we change mode, call the old */
>> + /* mode function with null ptrs should do the trick of */
>> + /* freeing any resources */
>> + switch (sm.steering_mode) {
>> + case STEERING_MODE_AUTO:
>> + break;
>> + case STEERING_MODE_RSS:
>> + status = virtio_net_ctrl_sm_rss(n, sm.command,
>> + iov, iov_cnt, iov_in, iov_in_cnt,
>> + &size_in_cmd);
>> + if (status == VIRTIO_NET_OK && size_in_cmd > 0) {
>> + *size_in += size_in_cmd;
>> + }
>> + break;
>> + default:
>> return VIRTIO_NET_ERR;
>> }
>> - /* switch (cmd)
>> - {
>> - dafault:
>> - return VIRTIO_NET_ERR;
>> - } */
>> - break;
>> + break;
>> default:
>> - return VIRTIO_NET_ERR;
>> + return VIRTIO_NET_ERR;
>> }
>> return VIRTIO_NET_OK;
>
>
--
Respectfully,
Sameeh Jubran
Linkedin
Software Engineer @ Daynix.
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [Qemu-devel] [RFC 6/6] virtio-net: rss: Add bpf filter
2018-08-30 14:27 ` [Qemu-devel] [RFC 6/6] virtio-net: rss: Add bpf filter Sameeh Jubran
2018-09-03 4:12 ` Jason Wang
@ 2018-09-03 11:54 ` Daniel P. Berrangé
2018-09-03 12:35 ` Sameeh Jubran
2018-09-04 3:07 ` Jason Wang
2018-09-03 12:11 ` Daniel P. Berrangé
2018-09-04 20:11 ` Eric Blake
3 siblings, 2 replies; 36+ messages in thread
From: Daniel P. Berrangé @ 2018-09-03 11:54 UTC (permalink / raw)
To: Sameeh Jubran; +Cc: qemu-devel, Jason Wang, Yan Vugenfirer
On Thu, Aug 30, 2018 at 05:27:08PM +0300, Sameeh Jubran wrote:
> From: Sameeh Jubran <sjubran@redhat.com>
>
> Signed-off-by: Sameeh Jubran <sjubran@redhat.com>
> ---
> hw/net/rss_bpf_insns.h | 3992 ++++++++++++++++++++++++++++++++++++++++++
> hw/net/rss_tap_bpf.h | 40 +
> hw/net/rss_tap_bpf_program.c | 175 ++
> hw/net/virtio-net.c | 99 +-
> 4 files changed, 4305 insertions(+), 1 deletion(-)
> create mode 100644 hw/net/rss_bpf_insns.h
> create mode 100644 hw/net/rss_tap_bpf.h
> create mode 100644 hw/net/rss_tap_bpf_program.c
>
> diff --git a/hw/net/rss_bpf_insns.h b/hw/net/rss_bpf_insns.h
> new file mode 100644
> index 0000000000..1a92110b8d
> --- /dev/null
> +++ b/hw/net/rss_bpf_insns.h
> @@ -0,0 +1,3992 @@
> +/*
> + * RSS ebpf instructions for virtio-net
> + *
> + * Copyright (c) 2018 RedHat.
Why copyright RedHat ?
> + *
> + * This work is licensed under the terms of the GNU GPL, version 2 or later.
> + * See the COPYING file in the top-level directory.
> + *
> + */
> +
> +#include <linux/bpf.h>
> +
> +#ifndef BPF_RSS_INSNS
> +#define BPF_RSS_INSNS
> +
> +/* bpf_insn array matching l3_l4 section. see tap_bpf_program.c file */
> +struct bpf_insn l3_l4_hash_insns[] = {
> +{0xbf , 0x6 , 0x1 , 0x0000 , 0x00000000},
> +{0x28 , 0x0 , 0x0 , 0x0000 , 0x0000000c},
> +{0xbf , 0x8 , 0x0 , 0x0000 , 0x00000000},
[snip]
> +};
This massive array is presumably an auto-generated content.
We shouldn't be storing this in GIT. We need to store the
original preferred source format, and providing makefile
rules to generate it.
> +
> +#endif
> diff --git a/hw/net/rss_tap_bpf.h b/hw/net/rss_tap_bpf.h
> new file mode 100644
> index 0000000000..54b88cfb76
> --- /dev/null
> +++ b/hw/net/rss_tap_bpf.h
> @@ -0,0 +1,40 @@
> +/*
> + * RSS ebpf header for virtio-net
> + *
> + * Copyright (c) 2018 RedHat.
> + *
> + * This work is licensed under the terms of the GNU GPL, version 2 or later.
> + * See the COPYING file in the top-level directory.
> + *
> + * This code is heavily based on the following bpf code from dpdk
> + * https://git.dpdk.org/dpdk/tree/drivers/net/tap/
There are alot of files in this directory, with varying different
copyright claims on them, while you're claiming Red Hat copyright.
This looks dubious.
> + *
> + */
> +
> +#ifndef RSS_TAP_BPF_H
> +#define RSS_TAP_BPF_H
> +
> +/* hashed fields for RSS */
> +enum hash_field {
> + HASH_FIELD_IPV4_L3, /* IPv4 src/dst addr */
> + HASH_FIELD_IPV4_L3_L4, /* IPv4 src/dst addr + L4 src/dst ports */
> + HASH_FIELD_IPV6_L3, /* IPv6 src/dst addr */
> + HASH_FIELD_IPV6_L3_L4, /* IPv6 src/dst addr + L4 src/dst ports */
> + HASH_FIELD_L2_SRC, /* Ethernet src addr */
> + HASH_FIELD_L2_DST, /* Ethernet dst addr */
> + HASH_FIELD_L3_SRC, /* L3 src addr */
> + HASH_FIELD_L3_DST, /* L3 dst addr */
> + HASH_FIELD_L4_SRC, /* TCP/UDP src ports */
> + HASH_FIELD_L4_DST, /* TCP/UDP dst ports */
> +};
> +
> +struct rss_key {
> + __u32 hash_fields;
> + __u32 nb_queues;
> + __u32 *indirection_table;
> + __u32 indirection_table_size;
> + __u8 *key;
> + __u32 key_size;
> +} __attribute__((packed));
> +
> +#endif
> diff --git a/hw/net/rss_tap_bpf_program.c b/hw/net/rss_tap_bpf_program.c
> new file mode 100644
> index 0000000000..2744436e86
> --- /dev/null
> +++ b/hw/net/rss_tap_bpf_program.c
> @@ -0,0 +1,175 @@
> +/*
> + * RSS ebpf code for virtio-net
> + *
> + * Copyright (c) 2018 RedHat.
> + *
> + * This work is licensed under the terms of the GNU GPL, version 2 or later.
> + * See the COPYING file in the top-level directory.
> + *
> + * This code is heavily based on the following bpf code from dpdk
> + * https://git.dpdk.org/dpdk/tree/drivers/net/tap/tap_bpf_program.c
That file says
* Copyright 2017 Mellanox Technologies, Ltd
while you are claiming RedHat copyright. That can't be right attribution
if this is indeed a derived work.
Regards,
Daniel
--
|: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o- https://fstop138.berrange.com :|
|: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [Qemu-devel] [RFC 3/6] vhost-net: Expose vhost_net_get_fd
2018-09-03 3:24 ` Jason Wang
@ 2018-09-03 11:56 ` Sameeh Jubran
0 siblings, 0 replies; 36+ messages in thread
From: Sameeh Jubran @ 2018-09-03 11:56 UTC (permalink / raw)
To: Jason Wang; +Cc: QEMU Developers, Yan Vugenfirer
On Mon, Sep 3, 2018 at 6:24 AM, Jason Wang <jasowang@redhat.com> wrote:
>
>
> On 2018年08月30日 22:27, Sameeh Jubran wrote:
>>
>> From: Sameeh Jubran <sjubran@redhat.com>
>>
>> Signed-off-by: Sameeh Jubran <sjubran@redhat.com>
>
>
> Better explain the motivation in the commit log.
I used to use this function in my initial implementation, but this is
unneeded now and the patch can be dropped
>
> Thanks
>
>
>> ---
>> hw/net/vhost_net.c | 2 +-
>> include/hw/virtio/virtio-net.h | 2 ++
>> 2 files changed, 3 insertions(+), 1 deletion(-)
>>
>> diff --git a/hw/net/vhost_net.c b/hw/net/vhost_net.c
>> index e037db63a3..c0bff725c9 100644
>> --- a/hw/net/vhost_net.c
>> +++ b/hw/net/vhost_net.c
>> @@ -129,7 +129,7 @@ uint64_t vhost_net_get_acked_features(VHostNetState
>> *net)
>> return net->dev.acked_features;
>> }
>> -static int vhost_net_get_fd(NetClientState *backend)
>> +int vhost_net_get_fd(NetClientState *backend)
>> {
>> switch (backend->info->type) {
>> case NET_CLIENT_DRIVER_TAP:
>> diff --git a/include/hw/virtio/virtio-net.h
>> b/include/hw/virtio/virtio-net.h
>> index 02484dc94c..a7b53edc96 100644
>> --- a/include/hw/virtio/virtio-net.h
>> +++ b/include/hw/virtio/virtio-net.h
>> @@ -107,4 +107,6 @@ typedef struct VirtIONet {
>> void virtio_net_set_netclient_name(VirtIONet *n, const char *name,
>> const char *type);
>> +int vhost_net_get_fd(NetClientState *backend);
>> +
>> #endif
>
>
--
Respectfully,
Sameeh Jubran
Linkedin
Software Engineer @ Daynix.
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [Qemu-devel] [RFC 1/6] Add bpf support to qemu
2018-08-30 14:27 ` [Qemu-devel] [RFC 1/6] Add bpf support to qemu Sameeh Jubran
@ 2018-09-03 11:59 ` Daniel P. Berrangé
2018-09-03 12:18 ` Sameeh Jubran
2018-09-03 12:24 ` Peter Maydell
0 siblings, 2 replies; 36+ messages in thread
From: Daniel P. Berrangé @ 2018-09-03 11:59 UTC (permalink / raw)
To: Sameeh Jubran; +Cc: qemu-devel, Jason Wang, Yan Vugenfirer
On Thu, Aug 30, 2018 at 05:27:03PM +0300, Sameeh Jubran wrote:
> From: Sameeh Jubran <sjubran@redhat.com>
>
> This commit adds the bpf header provided by Linux to Qemu.
s/Qemu/QEMU/
>
> Signed-off-by: Sameeh Jubran <sjubran@redhat.com>
> ---
> MAINTAINERS | 5 +++++
> configure | 44 +++++++++++++++++++++++++++++++++++++++++
> scripts/update-linux-headers.sh | 8 ++++++--
> 3 files changed, 55 insertions(+), 2 deletions(-)
>
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 0fb5f38f9f..bf2619239c 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -2126,6 +2126,11 @@ F: hw/rdma/*
> F: hw/rdma/vmw/*
> F: docs/pvrdma.txt
>
> +BPF
> +M: Sameeh Jubran <sameeh@daynix.com>
> +S: Maintained
> +F: linux-headers/linux/bpf.h
> +
> Build and test automation
> -------------------------
> Build and test automation
> diff --git a/configure b/configure
> index a8c4094c87..21edaf59aa 100755
> --- a/configure
> +++ b/configure
> @@ -348,6 +348,7 @@ libattr=""
> xfs=""
> tcg="yes"
> membarrier=""
> +bpf="no"
This should really default to "", with the check below
automatically doing the right thing to automatically
enable/disable it.
> vhost_net="no"
> vhost_crypto="no"
> vhost_scsi="no"
> @@ -1173,6 +1174,10 @@ for opt do
> ;;
> --enable-membarrier) membarrier="yes"
> ;;
> + --disable-bpf) bpf="no"
> + ;;
> + --enable-bpf) bpf="yes"
> + ;;
> --disable-blobs) blobs="no"
> ;;
> --with-pkgversion=*) pkgversion="$optarg"
> @@ -1593,6 +1598,7 @@ disabled with --disable-FEATURE, default is enabled if available:
> brlapi BrlAPI (Braile)
> curl curl connectivity
> membarrier membarrier system call (for Linux 4.14+ or Windows)
> + bpf bpf system calls (for Linux 3.18+)
> fdt fdt device tree
> bluez bluez stack connectivity
> kvm KVM acceleration support
> @@ -5232,6 +5238,38 @@ else
> fi
>
> ##########################################
> +# check for usable bpf system call
> +if test "$bpf" = "yes"; then
if test "x$bpf" != "xno"; then
> + have_bpf=no
> + if test "$linux" = "yes" ; then
> + cat > $TMPC << EOF
> + #include <sys/syscall.h>
> + #include "linux/bpf.h"
> + #include <unistd.h>
> + #include <stdlib.h>
> + #include <string.h>
> + int main(void) {
> + union bpf_attr * attr = NULL;
> + syscall(__NR_bpf, BPF_PROG_LOAD, attr, sizeof(attr));
> + exit(0);
> + }
> +EOF
> + bpf_include="-Iinclude/standard-headers/linux"
> + bpf_cflags=""
> + bpf_libs=""
> + if compile_prog "$bpf_include" "$bpf_libs" ; then
> + have_bpf=yes
> + fi
> + fi
> + if test "$have_bpf" = "no"; then
> + feature_not_found "bpf" "libelf libs are not available or else \
> +the bpf system call is not available"
if test "$have_bpf" = "no"; then
if test "x$bpf" = "xyes" ;
then
feature_not_found ....
else
bpf=no
fi
else
bpf=yes
fi
> + fi
> +else
> + bpf=no
> +fi
> +
Regards,
Daniel
--
|: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o- https://fstop138.berrange.com :|
|: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [Qemu-devel] [RFC 6/6] virtio-net: rss: Add bpf filter
2018-08-30 14:27 ` [Qemu-devel] [RFC 6/6] virtio-net: rss: Add bpf filter Sameeh Jubran
2018-09-03 4:12 ` Jason Wang
2018-09-03 11:54 ` Daniel P. Berrangé
@ 2018-09-03 12:11 ` Daniel P. Berrangé
2018-09-04 20:11 ` Eric Blake
3 siblings, 0 replies; 36+ messages in thread
From: Daniel P. Berrangé @ 2018-09-03 12:11 UTC (permalink / raw)
To: Sameeh Jubran; +Cc: qemu-devel, Jason Wang, Yan Vugenfirer
On Thu, Aug 30, 2018 at 05:27:08PM +0300, Sameeh Jubran wrote:
> From: Sameeh Jubran <sjubran@redhat.com>
>
> Signed-off-by: Sameeh Jubran <sjubran@redhat.com>
> ---
> hw/net/rss_bpf_insns.h | 3992 ++++++++++++++++++++++++++++++++++++++++++
> hw/net/rss_tap_bpf.h | 40 +
> hw/net/rss_tap_bpf_program.c | 175 ++
> hw/net/virtio-net.c | 99 +-
> 4 files changed, 4305 insertions(+), 1 deletion(-)
> create mode 100644 hw/net/rss_bpf_insns.h
> create mode 100644 hw/net/rss_tap_bpf.h
> create mode 100644 hw/net/rss_tap_bpf_program.c
>
> diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c
> index 4a52a6a1d0..66b2140cc7 100644
> --- a/hw/net/virtio-net.c
> +++ b/hw/net/virtio-net.c
> @@ -27,6 +27,10 @@
> #include "hw/virtio/virtio-access.h"
> #include "migration/misc.h"
> #include "standard-headers/linux/ethtool.h"
> +#include <sys/syscall.h>
> +#include <linux/bpf.h>
This breaks the build on platforms without bpf.h - you checked for
this in configure, but then never made use of the CONFIG_BPF conditional
in the code.
Regards,
Daniel
--
|: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o- https://fstop138.berrange.com :|
|: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [Qemu-devel] [RFC 1/6] Add bpf support to qemu
2018-09-03 11:59 ` Daniel P. Berrangé
@ 2018-09-03 12:18 ` Sameeh Jubran
2018-09-03 12:24 ` Peter Maydell
1 sibling, 0 replies; 36+ messages in thread
From: Sameeh Jubran @ 2018-09-03 12:18 UTC (permalink / raw)
To: Daniel P. Berrangé; +Cc: QEMU Developers, Jason Wang, Yan Vugenfirer
On Mon, Sep 3, 2018 at 2:59 PM, Daniel P. Berrangé <berrange@redhat.com> wrote:
> On Thu, Aug 30, 2018 at 05:27:03PM +0300, Sameeh Jubran wrote:
>> From: Sameeh Jubran <sjubran@redhat.com>
>>
>> This commit adds the bpf header provided by Linux to Qemu.
>
> s/Qemu/QEMU/
>
>>
>> Signed-off-by: Sameeh Jubran <sjubran@redhat.com>
>> ---
>> MAINTAINERS | 5 +++++
>> configure | 44 +++++++++++++++++++++++++++++++++++++++++
>> scripts/update-linux-headers.sh | 8 ++++++--
>> 3 files changed, 55 insertions(+), 2 deletions(-)
>>
>> diff --git a/MAINTAINERS b/MAINTAINERS
>> index 0fb5f38f9f..bf2619239c 100644
>> --- a/MAINTAINERS
>> +++ b/MAINTAINERS
>> @@ -2126,6 +2126,11 @@ F: hw/rdma/*
>> F: hw/rdma/vmw/*
>> F: docs/pvrdma.txt
>>
>> +BPF
>> +M: Sameeh Jubran <sameeh@daynix.com>
>> +S: Maintained
>> +F: linux-headers/linux/bpf.h
>> +
>> Build and test automation
>> -------------------------
>> Build and test automation
>> diff --git a/configure b/configure
>> index a8c4094c87..21edaf59aa 100755
>> --- a/configure
>> +++ b/configure
>> @@ -348,6 +348,7 @@ libattr=""
>> xfs=""
>> tcg="yes"
>> membarrier=""
>> +bpf="no"
>
> This should really default to "", with the check below
> automatically doing the right thing to automatically
> enable/disable it.
>
>> vhost_net="no"
>> vhost_crypto="no"
>> vhost_scsi="no"
>> @@ -1173,6 +1174,10 @@ for opt do
>> ;;
>> --enable-membarrier) membarrier="yes"
>> ;;
>> + --disable-bpf) bpf="no"
>> + ;;
>> + --enable-bpf) bpf="yes"
>> + ;;
>> --disable-blobs) blobs="no"
>> ;;
>> --with-pkgversion=*) pkgversion="$optarg"
>> @@ -1593,6 +1598,7 @@ disabled with --disable-FEATURE, default is enabled if available:
>> brlapi BrlAPI (Braile)
>> curl curl connectivity
>> membarrier membarrier system call (for Linux 4.14+ or Windows)
>> + bpf bpf system calls (for Linux 3.18+)
>> fdt fdt device tree
>> bluez bluez stack connectivity
>> kvm KVM acceleration support
>> @@ -5232,6 +5238,38 @@ else
>> fi
>>
>> ##########################################
>> +# check for usable bpf system call
>> +if test "$bpf" = "yes"; then
>
> if test "x$bpf" != "xno"; then
>
>> + have_bpf=no
>> + if test "$linux" = "yes" ; then
>> + cat > $TMPC << EOF
>> + #include <sys/syscall.h>
>> + #include "linux/bpf.h"
>> + #include <unistd.h>
>> + #include <stdlib.h>
>> + #include <string.h>
>> + int main(void) {
>> + union bpf_attr * attr = NULL;
>> + syscall(__NR_bpf, BPF_PROG_LOAD, attr, sizeof(attr));
>> + exit(0);
>> + }
>> +EOF
>> + bpf_include="-Iinclude/standard-headers/linux"
>> + bpf_cflags=""
>> + bpf_libs=""
>> + if compile_prog "$bpf_include" "$bpf_libs" ; then
>> + have_bpf=yes
>> + fi
>> + fi
>> + if test "$have_bpf" = "no"; then
>> + feature_not_found "bpf" "libelf libs are not available or else \
>> +the bpf system call is not available"
>
> if test "$have_bpf" = "no"; then
> if test "x$bpf" = "xyes" ;
> then
> feature_not_found ....
> else
> bpf=no
> fi
> else
> bpf=yes
> fi
I'll use the x prefix, for anyone wondering why this is necessary ( I
didn't realize this before), checkout the following explanation:
https://stackoverflow.com/questions/174119/why-do-shell-script-comparisons-often-use-xvar-xyes
>
>> + fi
>> +else
>> + bpf=no
>> +fi
>> +
>
> Regards,
> Daniel
> --
> |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
> |: https://libvirt.org -o- https://fstop138.berrange.com :|
> |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
--
Respectfully,
Sameeh Jubran
Linkedin
Software Engineer @ Daynix.
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [Qemu-devel] [RFC 1/6] Add bpf support to qemu
2018-09-03 11:59 ` Daniel P. Berrangé
2018-09-03 12:18 ` Sameeh Jubran
@ 2018-09-03 12:24 ` Peter Maydell
2018-09-03 12:28 ` Sameeh Jubran
2018-09-03 12:29 ` Daniel P. Berrangé
1 sibling, 2 replies; 36+ messages in thread
From: Peter Maydell @ 2018-09-03 12:24 UTC (permalink / raw)
To: Daniel P. Berrangé
Cc: Sameeh Jubran, Yan Vugenfirer, Jason Wang, QEMU Developers
On 3 September 2018 at 12:59, Daniel P. Berrangé <berrange@redhat.com> wrote:
>> ##########################################
>> +# check for usable bpf system call
>> +if test "$bpf" = "yes"; then
>
> if test "x$bpf" != "xno"; then
We don't use the leading-x thingy elsewhere in configure,
why is this condition special?
(We can assume we don't have a broken shell, and we
know that $bpf won't be a string starting with a hyphen.)
thanks
-- PMM
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [Qemu-devel] [RFC 1/6] Add bpf support to qemu
2018-09-03 12:24 ` Peter Maydell
@ 2018-09-03 12:28 ` Sameeh Jubran
2018-09-03 12:29 ` Daniel P. Berrangé
1 sibling, 0 replies; 36+ messages in thread
From: Sameeh Jubran @ 2018-09-03 12:28 UTC (permalink / raw)
To: Peter Maydell
Cc: Daniel P. Berrangé, Yan Vugenfirer, Jason Wang, QEMU Developers
On Mon, Sep 3, 2018 at 3:24 PM, Peter Maydell <peter.maydell@linaro.org> wrote:
> On 3 September 2018 at 12:59, Daniel P. Berrangé <berrange@redhat.com> wrote:
>
>>> ##########################################
>>> +# check for usable bpf system call
>>> +if test "$bpf" = "yes"; then
>>
>> if test "x$bpf" != "xno"; then
>
> We don't use the leading-x thingy elsewhere in configure,
> why is this condition special?
> (We can assume we don't have a broken shell, and we
> know that $bpf won't be a string starting with a hyphen.)
That's what Daniel suggested and I though it should be good for the
reasons above. You have good points as well. Both approaches are okay
with me :)
>
> thanks
> -- PMM
--
Respectfully,
Sameeh Jubran
Linkedin
Software Engineer @ Daynix.
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [Qemu-devel] [RFC 1/6] Add bpf support to qemu
2018-09-03 12:24 ` Peter Maydell
2018-09-03 12:28 ` Sameeh Jubran
@ 2018-09-03 12:29 ` Daniel P. Berrangé
1 sibling, 0 replies; 36+ messages in thread
From: Daniel P. Berrangé @ 2018-09-03 12:29 UTC (permalink / raw)
To: Peter Maydell; +Cc: Sameeh Jubran, Yan Vugenfirer, Jason Wang, QEMU Developers
On Mon, Sep 03, 2018 at 01:24:16PM +0100, Peter Maydell wrote:
> On 3 September 2018 at 12:59, Daniel P. Berrangé <berrange@redhat.com> wrote:
>
> >> ##########################################
> >> +# check for usable bpf system call
> >> +if test "$bpf" = "yes"; then
> >
> > if test "x$bpf" != "xno"; then
>
> We don't use the leading-x thingy elsewhere in configure,
> why is this condition special?
> (We can assume we don't have a broken shell, and we
> know that $bpf won't be a string starting with a hyphen.)
It is just my habit. Drop the 'x' prefix if that's not used in QEMU's
configure script normally.
Regards,
Daniel
--
|: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o- https://fstop138.berrange.com :|
|: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [Qemu-devel] [RFC 6/6] virtio-net: rss: Add bpf filter
2018-09-03 11:54 ` Daniel P. Berrangé
@ 2018-09-03 12:35 ` Sameeh Jubran
2018-09-03 12:49 ` Daniel P. Berrangé
2018-09-04 3:07 ` Jason Wang
1 sibling, 1 reply; 36+ messages in thread
From: Sameeh Jubran @ 2018-09-03 12:35 UTC (permalink / raw)
To: Daniel P. Berrangé; +Cc: QEMU Developers, Jason Wang, Yan Vugenfirer
On Mon, Sep 3, 2018 at 2:54 PM, Daniel P. Berrangé <berrange@redhat.com> wrote:
> On Thu, Aug 30, 2018 at 05:27:08PM +0300, Sameeh Jubran wrote:
>> From: Sameeh Jubran <sjubran@redhat.com>
>>
>> Signed-off-by: Sameeh Jubran <sjubran@redhat.com>
>> ---
>> hw/net/rss_bpf_insns.h | 3992 ++++++++++++++++++++++++++++++++++++++++++
>> hw/net/rss_tap_bpf.h | 40 +
>> hw/net/rss_tap_bpf_program.c | 175 ++
>> hw/net/virtio-net.c | 99 +-
>> 4 files changed, 4305 insertions(+), 1 deletion(-)
>> create mode 100644 hw/net/rss_bpf_insns.h
>> create mode 100644 hw/net/rss_tap_bpf.h
>> create mode 100644 hw/net/rss_tap_bpf_program.c
>>
>> diff --git a/hw/net/rss_bpf_insns.h b/hw/net/rss_bpf_insns.h
>> new file mode 100644
>> index 0000000000..1a92110b8d
>> --- /dev/null
>> +++ b/hw/net/rss_bpf_insns.h
>> @@ -0,0 +1,3992 @@
>> +/*
>> + * RSS ebpf instructions for virtio-net
>> + *
>> + * Copyright (c) 2018 RedHat.
>
> Why copyright RedHat ?
>
>> + *
>> + * This work is licensed under the terms of the GNU GPL, version 2 or later.
>> + * See the COPYING file in the top-level directory.
>> + *
>> + */
>> +
>> +#include <linux/bpf.h>
>> +
>> +#ifndef BPF_RSS_INSNS
>> +#define BPF_RSS_INSNS
>> +
>> +/* bpf_insn array matching l3_l4 section. see tap_bpf_program.c file */
>> +struct bpf_insn l3_l4_hash_insns[] = {
>> +{0xbf , 0x6 , 0x1 , 0x0000 , 0x00000000},
>> +{0x28 , 0x0 , 0x0 , 0x0000 , 0x0000000c},
>> +{0xbf , 0x8 , 0x0 , 0x0000 , 0x00000000},
>
> [snip]
>
>> +};
>
> This massive array is presumably an auto-generated content.
>
> We shouldn't be storing this in GIT. We need to store the
> original preferred source format, and providing makefile
> rules to generate it.
>
>
>> +
>> +#endif
>> diff --git a/hw/net/rss_tap_bpf.h b/hw/net/rss_tap_bpf.h
>> new file mode 100644
>> index 0000000000..54b88cfb76
>> --- /dev/null
>> +++ b/hw/net/rss_tap_bpf.h
>> @@ -0,0 +1,40 @@
>> +/*
>> + * RSS ebpf header for virtio-net
>> + *
>> + * Copyright (c) 2018 RedHat.
>> + *
>> + * This work is licensed under the terms of the GNU GPL, version 2 or later.
>> + * See the COPYING file in the top-level directory.
>> + *
>> + * This code is heavily based on the following bpf code from dpdk
>> + * https://git.dpdk.org/dpdk/tree/drivers/net/tap/
>
> There are alot of files in this directory, with varying different
> copyright claims on them, while you're claiming Red Hat copyright.
> This looks dubious.
>
>> + *
>> + */
>> +
>> +#ifndef RSS_TAP_BPF_H
>> +#define RSS_TAP_BPF_H
>> +
>> +/* hashed fields for RSS */
>> +enum hash_field {
>> + HASH_FIELD_IPV4_L3, /* IPv4 src/dst addr */
>> + HASH_FIELD_IPV4_L3_L4, /* IPv4 src/dst addr + L4 src/dst ports */
>> + HASH_FIELD_IPV6_L3, /* IPv6 src/dst addr */
>> + HASH_FIELD_IPV6_L3_L4, /* IPv6 src/dst addr + L4 src/dst ports */
>> + HASH_FIELD_L2_SRC, /* Ethernet src addr */
>> + HASH_FIELD_L2_DST, /* Ethernet dst addr */
>> + HASH_FIELD_L3_SRC, /* L3 src addr */
>> + HASH_FIELD_L3_DST, /* L3 dst addr */
>> + HASH_FIELD_L4_SRC, /* TCP/UDP src ports */
>> + HASH_FIELD_L4_DST, /* TCP/UDP dst ports */
>> +};
>> +
>> +struct rss_key {
>> + __u32 hash_fields;
>> + __u32 nb_queues;
>> + __u32 *indirection_table;
>> + __u32 indirection_table_size;
>> + __u8 *key;
>> + __u32 key_size;
>> +} __attribute__((packed));
>> +
>> +#endif
>> diff --git a/hw/net/rss_tap_bpf_program.c b/hw/net/rss_tap_bpf_program.c
>> new file mode 100644
>> index 0000000000..2744436e86
>> --- /dev/null
>> +++ b/hw/net/rss_tap_bpf_program.c
>> @@ -0,0 +1,175 @@
>> +/*
>> + * RSS ebpf code for virtio-net
>> + *
>> + * Copyright (c) 2018 RedHat.
>> + *
>> + * This work is licensed under the terms of the GNU GPL, version 2 or later.
>> + * See the COPYING file in the top-level directory.
>> + *
>> + * This code is heavily based on the following bpf code from dpdk
>> + * https://git.dpdk.org/dpdk/tree/drivers/net/tap/tap_bpf_program.c
>
> That file says
>
> * Copyright 2017 Mellanox Technologies, Ltd
>
> while you are claiming RedHat copyright. That can't be right attribution
> if this is indeed a derived work.
I am not an expert when it comes to licensing, I gave credits Mellanox
for the work but I have introduced some new changes as well to suit my
usage.
Moreover the license for the original code is 3BSD or GPL, I have no
idea how this is possible and which license I should take into
account?
Anyways I'd love some guidance on this topic so I can give the
appropriate credit where it is needed.
Thanks!
>
> Regards,
> Daniel
> --
> |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
> |: https://libvirt.org -o- https://fstop138.berrange.com :|
> |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
--
Respectfully,
Sameeh Jubran
Linkedin
Software Engineer @ Daynix.
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [Qemu-devel] [RFC 6/6] virtio-net: rss: Add bpf filter
2018-09-03 12:35 ` Sameeh Jubran
@ 2018-09-03 12:49 ` Daniel P. Berrangé
0 siblings, 0 replies; 36+ messages in thread
From: Daniel P. Berrangé @ 2018-09-03 12:49 UTC (permalink / raw)
To: Sameeh Jubran; +Cc: QEMU Developers, Jason Wang, Yan Vugenfirer
On Mon, Sep 03, 2018 at 03:35:02PM +0300, Sameeh Jubran wrote:
> On Mon, Sep 3, 2018 at 2:54 PM, Daniel P. Berrangé <berrange@redhat.com> wrote:
> > On Thu, Aug 30, 2018 at 05:27:08PM +0300, Sameeh Jubran wrote:
> >> From: Sameeh Jubran <sjubran@redhat.com>
> >>
> >> Signed-off-by: Sameeh Jubran <sjubran@redhat.com>
> >> ---
> >> hw/net/rss_bpf_insns.h | 3992 ++++++++++++++++++++++++++++++++++++++++++
> >> hw/net/rss_tap_bpf.h | 40 +
> >> hw/net/rss_tap_bpf_program.c | 175 ++
> >> hw/net/virtio-net.c | 99 +-
> >> 4 files changed, 4305 insertions(+), 1 deletion(-)
> >> create mode 100644 hw/net/rss_bpf_insns.h
> >> create mode 100644 hw/net/rss_tap_bpf.h
> >> create mode 100644 hw/net/rss_tap_bpf_program.c
> >>
> >> diff --git a/hw/net/rss_bpf_insns.h b/hw/net/rss_bpf_insns.h
> >> new file mode 100644
> >> index 0000000000..1a92110b8d
> >> --- /dev/null
> >> +++ b/hw/net/rss_bpf_insns.h
> >> @@ -0,0 +1,3992 @@
> >> +/*
> >> + * RSS ebpf instructions for virtio-net
> >> + *
> >> + * Copyright (c) 2018 RedHat.
> >
> > Why copyright RedHat ?
> >
> >> + *
> >> + * This work is licensed under the terms of the GNU GPL, version 2 or later.
> >> + * See the COPYING file in the top-level directory.
> >> + *
> >> + */
> >> +
> >> +#include <linux/bpf.h>
> >> +
> >> +#ifndef BPF_RSS_INSNS
> >> +#define BPF_RSS_INSNS
> >> +
> >> +/* bpf_insn array matching l3_l4 section. see tap_bpf_program.c file */
> >> +struct bpf_insn l3_l4_hash_insns[] = {
> >> +{0xbf , 0x6 , 0x1 , 0x0000 , 0x00000000},
> >> +{0x28 , 0x0 , 0x0 , 0x0000 , 0x0000000c},
> >> +{0xbf , 0x8 , 0x0 , 0x0000 , 0x00000000},
> >
> > [snip]
> >
> >> +};
> >
> > This massive array is presumably an auto-generated content.
> >
> > We shouldn't be storing this in GIT. We need to store the
> > original preferred source format, and providing makefile
> > rules to generate it.
> >
> >
> >> +
> >> +#endif
> >> diff --git a/hw/net/rss_tap_bpf.h b/hw/net/rss_tap_bpf.h
> >> new file mode 100644
> >> index 0000000000..54b88cfb76
> >> --- /dev/null
> >> +++ b/hw/net/rss_tap_bpf.h
> >> @@ -0,0 +1,40 @@
> >> +/*
> >> + * RSS ebpf header for virtio-net
> >> + *
> >> + * Copyright (c) 2018 RedHat.
> >> + *
> >> + * This work is licensed under the terms of the GNU GPL, version 2 or later.
> >> + * See the COPYING file in the top-level directory.
> >> + *
> >> + * This code is heavily based on the following bpf code from dpdk
> >> + * https://git.dpdk.org/dpdk/tree/drivers/net/tap/
> >
> > There are alot of files in this directory, with varying different
> > copyright claims on them, while you're claiming Red Hat copyright.
> > This looks dubious.
> >
> >> + *
> >> + */
> >> +
> >> +#ifndef RSS_TAP_BPF_H
> >> +#define RSS_TAP_BPF_H
> >> +
> >> +/* hashed fields for RSS */
> >> +enum hash_field {
> >> + HASH_FIELD_IPV4_L3, /* IPv4 src/dst addr */
> >> + HASH_FIELD_IPV4_L3_L4, /* IPv4 src/dst addr + L4 src/dst ports */
> >> + HASH_FIELD_IPV6_L3, /* IPv6 src/dst addr */
> >> + HASH_FIELD_IPV6_L3_L4, /* IPv6 src/dst addr + L4 src/dst ports */
> >> + HASH_FIELD_L2_SRC, /* Ethernet src addr */
> >> + HASH_FIELD_L2_DST, /* Ethernet dst addr */
> >> + HASH_FIELD_L3_SRC, /* L3 src addr */
> >> + HASH_FIELD_L3_DST, /* L3 dst addr */
> >> + HASH_FIELD_L4_SRC, /* TCP/UDP src ports */
> >> + HASH_FIELD_L4_DST, /* TCP/UDP dst ports */
> >> +};
> >> +
> >> +struct rss_key {
> >> + __u32 hash_fields;
> >> + __u32 nb_queues;
> >> + __u32 *indirection_table;
> >> + __u32 indirection_table_size;
> >> + __u8 *key;
> >> + __u32 key_size;
> >> +} __attribute__((packed));
> >> +
> >> +#endif
> >> diff --git a/hw/net/rss_tap_bpf_program.c b/hw/net/rss_tap_bpf_program.c
> >> new file mode 100644
> >> index 0000000000..2744436e86
> >> --- /dev/null
> >> +++ b/hw/net/rss_tap_bpf_program.c
> >> @@ -0,0 +1,175 @@
> >> +/*
> >> + * RSS ebpf code for virtio-net
> >> + *
> >> + * Copyright (c) 2018 RedHat.
> >> + *
> >> + * This work is licensed under the terms of the GNU GPL, version 2 or later.
> >> + * See the COPYING file in the top-level directory.
> >> + *
> >> + * This code is heavily based on the following bpf code from dpdk
> >> + * https://git.dpdk.org/dpdk/tree/drivers/net/tap/tap_bpf_program.c
> >
> > That file says
> >
> > * Copyright 2017 Mellanox Technologies, Ltd
> >
> > while you are claiming RedHat copyright. That can't be right attribution
> > if this is indeed a derived work.
> I am not an expert when it comes to licensing, I gave credits Mellanox
> for the work but I have introduced some new changes as well to suit my
> usage.
> Moreover the license for the original code is 3BSD or GPL, I have no
> idea how this is possible and which license I should take into
> account?
> Anyways I'd love some guidance on this topic so I can give the
> appropriate credit where it is needed.
I can't give legal advice - it is best to ask your own company's experts
if you need such advice.
I will just say from a code review POV, I'd generally expect the original
source license and copyright lines to be preserved, and extra copyright
line added to reflect changes made.
Regards,
Daniel
--
|: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o- https://fstop138.berrange.com :|
|: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [Qemu-devel] [RFC 4/6] virtio-net: implement steering mode feature
2018-09-03 3:34 ` Jason Wang
@ 2018-09-03 12:51 ` Sameeh Jubran
0 siblings, 0 replies; 36+ messages in thread
From: Sameeh Jubran @ 2018-09-03 12:51 UTC (permalink / raw)
To: Jason Wang; +Cc: QEMU Developers, Yan Vugenfirer
On Mon, Sep 3, 2018 at 6:34 AM, Jason Wang <jasowang@redhat.com> wrote:
>
>
> On 2018年08月30日 22:27, Sameeh Jubran wrote:
>>
>> From: Sameeh Jubran <sjubran@redhat.com>
>>
>> Signed-off-by: Sameeh Jubran <sjubran@redhat.com>
>> ---
>> hw/net/virtio-net.c | 65
>> +++++++++++++++++++++++++----
>> include/hw/virtio/virtio-net.h | 3 ++
>> include/standard-headers/linux/virtio_net.h | 55
>> ++++++++++++++++++++++++
>> 3 files changed, 116 insertions(+), 7 deletions(-)
>>
>> diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c
>> index 90502fca7c..e7c4ce6f66 100644
>> --- a/hw/net/virtio-net.c
>> +++ b/hw/net/virtio-net.c
>> @@ -972,13 +972,53 @@ static int virtio_net_handle_mq(VirtIONet *n,
>> uint8_t cmd,
>> return VIRTIO_NET_OK;
>> }
>> +static int virtio_net_ctrl_steering_mode(VirtIONet *n, uint8_t cmd,
>> + struct iovec *iov, unsigned int iov_cnt,
>> + struct iovec *iov_in, unsigned int
>> iov_cnt_in,
>> + size_t *size_in)
>> +{
>> + size_t s;
>> + struct virtio_net_steering_mode sm;
>> +
>> + switch (cmd) {
>> + case VIRTIO_NET_CTRL_SM_GET_SUPPORTED_MODES:
>> + if (!size_in) {
>> + return VIRTIO_NET_ERR;
>> + }
>> + s = iov_from_buf(iov_in, iov_cnt_in, 0,
>> + &n->supported_modes, sizeof(n->supported_modes));
>> + if (s != sizeof(n->supported_modes) ||
>> + !size_in) {
>
>
> size_in has been checked in the above I think?
true
>
>
>> + return VIRTIO_NET_ERR;
>> + }
>> + *size_in = s;
>> + break;
>> + case VIRTIO_NET_CTRL_SM_CONTROL:
>> + s = iov_to_buf(iov, iov_cnt, 0, &sm, sizeof(sm) -
>> + sizeof(union command_data));
>> + if (s != sizeof(sm) - sizeof(union command_data)) {
>> + return VIRTIO_NET_ERR;
>> + }
>> + /* switch (cmd)
>> + {
>> + dafault:
>> + return VIRTIO_NET_ERR;
>> + } */
>> + break;
>> + default:
>> + return VIRTIO_NET_ERR;
>> + }
>> +
>> + return VIRTIO_NET_OK;
>> +}
>> +
>> static void virtio_net_handle_ctrl(VirtIODevice *vdev, VirtQueue *vq)
>> {
>> VirtIONet *n = VIRTIO_NET(vdev);
>> struct virtio_net_ctrl_hdr ctrl;
>> virtio_net_ctrl_ack status = VIRTIO_NET_ERR;
>> VirtQueueElement *elem;
>> - size_t s;
>> + size_t s, elem_in_size = 0;
>> struct iovec *iov, *iov2;
>> unsigned int iov_cnt;
>> @@ -996,7 +1036,8 @@ static void virtio_net_handle_ctrl(VirtIODevice
>> *vdev, VirtQueue *vq)
>> }
>> iov_cnt = elem->out_num;
>> - iov2 = iov = g_memdup(elem->out_sg, sizeof(struct iovec) *
>> elem->out_num);
>> + iov2 = iov = g_memdup(elem->out_sg, sizeof(struct iovec) *
>> + elem->out_num);
>
>
> Still looks unnecessary.
true
>
>
>> s = iov_to_buf(iov, iov_cnt, 0, &ctrl, sizeof(ctrl));
>> iov_discard_front(&iov, &iov_cnt, sizeof(ctrl));
>> if (s != sizeof(ctrl)) {
>> @@ -1013,12 +1054,20 @@ static void virtio_net_handle_ctrl(VirtIODevice
>> *vdev, VirtQueue *vq)
>> status = virtio_net_handle_mq(n, ctrl.cmd, iov, iov_cnt);
>> } else if (ctrl.class == VIRTIO_NET_CTRL_GUEST_OFFLOADS) {
>> status = virtio_net_handle_offloads(n, ctrl.cmd, iov,
>> iov_cnt);
>> + } else if (ctrl.class == VIRTIO_NET_CTRL_STEERING_MODE) {
>> + size_t size_in = 0;
>> + status = virtio_net_ctrl_steering_mode(n, ctrl.cmd, iov,
>> iov_cnt,
>> + elem->in_sg, elem->in_num, &size_in);
>> + if (status == VIRTIO_NET_OK && size_in > 0) {
>> + elem_in_size += size_in;
>> + }
>> }
>> - s = iov_from_buf(elem->in_sg, elem->in_num, 0, &status,
>> sizeof(status));
>> + s = iov_from_buf(elem->in_sg, elem->in_num, elem_in_size,
>> &status,
>> + sizeof(status));
>> assert(s == sizeof(status));
>> -
>> - virtqueue_push(vq, elem, sizeof(status));
>> + elem_in_size += s;
>> + virtqueue_push(vq, elem, elem_in_size);
>> virtio_notify(vdev, vq);
>> g_free(iov2);
>> g_free(elem);
>> @@ -1375,10 +1424,10 @@ static int32_t virtio_net_flush_tx(VirtIONetQueue
>> *q)
>> n->guest_hdr_len, -1);
>> if (out_num == VIRTQUEUE_MAX_SIZE) {
>> goto drop;
>> - }
>> + }
>> out_num += 1;
>> out_sg = sg2;
>> - }
>> + }
>
>
> Let's avoid mixing such possible style fixes.
no problem
>
>> }
>> /*
>> * If host wants to see the guest header as is, we can
>> @@ -1957,6 +2006,8 @@ static void virtio_net_device_realize(DeviceState
>> *dev, Error **errp)
>> n->host_features |= (1ULL << VIRTIO_NET_F_MTU);
>> }
>> + n->host_features |= (1ULL << VIRTIO_NET_F_CTRL_STEERING_MODE);
>
>
> I think we need a property for virtio-net and compat this for old machine
> types.
yup
>
>
>> +
>> if (n->net_conf.duplex_str) {
>> if (strncmp(n->net_conf.duplex_str, "half", 5) == 0) {
>> n->net_conf.duplex = DUPLEX_HALF;
>> diff --git a/include/hw/virtio/virtio-net.h
>> b/include/hw/virtio/virtio-net.h
>> index a7b53edc96..809e85481c 100644
>> --- a/include/hw/virtio/virtio-net.h
>> +++ b/include/hw/virtio/virtio-net.h
>> @@ -102,6 +102,9 @@ typedef struct VirtIONet {
>> int announce_counter;
>> bool needs_vnet_hdr_swap;
>> bool mtu_bypass_backend;
>> + struct virtio_net_steering_modes supported_modes;
>> + struct virtio_net_steering_modes current_mode;
>> + struct virtio_net_rss_conf *rss_conf;
>> } VirtIONet;
>> void virtio_net_set_netclient_name(VirtIONet *n, const char *name,
>> diff --git a/include/standard-headers/linux/virtio_net.h
>> b/include/standard-headers/linux/virtio_net.h
>> index e9f255ea3f..fa399b97ab 100644
>> --- a/include/standard-headers/linux/virtio_net.h
>> +++ b/include/standard-headers/linux/virtio_net.h
>> @@ -258,4 +258,59 @@ struct virtio_net_ctrl_mq {
>> #define VIRTIO_NET_CTRL_GUEST_OFFLOADS 5
>> #define VIRTIO_NET_CTRL_GUEST_OFFLOADS_SET 0
>> +
>> +#define RSS_HASH_FUNCTION_TOEPLITZ 0x1
>> +#define RSS_HASH_FUNCTION_SYMMETRIC 0x2
>> +
>> +// Hash function fields
>> +#define RSS_HASH_FIELDS_IPV4 0x00000100
>> +#define RSS_HASH_FIELDS_TCP_IPV4 0x00000200
>> +#define RSS_HASH_FIELDS_IPV6 0x00000400
>> +#define RSS_HASH_FIELDS_IPV6_EX 0x00000800
>> +#define RSS_HASH_FIELDS_TCP_IPV6 0x00001000
>> +#define RSS_HASH_FIELDS_TCP_IPV6_EX 0x00002000
>> +
>> +struct virtio_net_rss_supported_hash{
>> +uint32_t hash_function;
>> +};
>> +
>> +struct virtio_net_rss_conf_ptrs {
>> + uint8_t *hash_key;
>> + uint32_t *indirection_table;
>> +};
>> +
>> +struct virtio_net_rss_conf {
>> + uint32_t hash_function;
>> + uint32_t hash_function_flags;
>> + uint32_t hash_key_length;
>> + uint32_t indirection_table_length;
>> + struct virtio_net_rss_conf_ptrs ptrs;
>> +};
>
>
> I think the RSS stuffs should go with an independent patch?
You are right
>
>> +
>> +#define VIRTIO_NET_SM_CTRL_RSS_GET_SUPPORTED_FUNCTIONS 0
>> +#define VIRTIO_NET_SM_CTRL_RSS_SET 1
>> +
>> +
>> +struct virtio_net_steering_modes {
>> + uint32_t steering_modes;
>> +};
>> +
>> +union command_data {
>> + struct virtio_net_rss_conf rss;
>> +};
>> +
>> +struct virtio_net_steering_mode {
>> + uint32_t steering_mode;
>> + uint32_t command;
>> +};
>> +
>> +#define VIRTIO_NET_F_CTRL_STEERING_MODE 60
>> +
>> +#define VIRTIO_NET_CTRL_STEERING_MODE 7
>> +#define VIRTIO_NET_CTRL_SM_GET_SUPPORTED_MODES 0
>> +#define VIRTIO_NET_CTRL_SM_CONTROL 1
>
>
> SM_CONTROL sounds pretty generic, maybe just SET_SUPPORTED_MODES?
It is generic, it is used to send control commands for the sub modes
of the steering mode. such as setting the RSS parameters for the RSS
steering mode. (checkout the usage in patch 5)
>
> Thanks
>
>
>> +
>> +#define STEERING_MODE_AUTO 0x1
>> +#define STEERING_MODE_RSS 0x2
>> +
>> #endif /* _LINUX_VIRTIO_NET_H */
>
>
--
Respectfully,
Sameeh Jubran
Linkedin
Software Engineer @ Daynix.
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [Qemu-devel] [RFC 6/6] virtio-net: rss: Add bpf filter
2018-09-03 4:12 ` Jason Wang
@ 2018-09-03 13:16 ` Sameeh Jubran
2018-09-04 3:03 ` Jason Wang
0 siblings, 1 reply; 36+ messages in thread
From: Sameeh Jubran @ 2018-09-03 13:16 UTC (permalink / raw)
To: Jason Wang; +Cc: QEMU Developers, Yan Vugenfirer
> I may miss something, but it looks to me the indirection table should be implemented through a map as well? Since it was accessible by guest and qemu need to trap the access and convert it to eBPF map updating?
makes sense, I'll convert it to map structure.
> This looks tricky as well, should we search the BPF_LD and replace the imm?
Hmm yes this approach is better I guess.
> I believe those bpf helpers should be moved to tap-linux.c.
All of them? I actually thought about moving them to a standalone
file in the virtio-net.c dir.
Can you explain the motive for this?
> So vhost_net_get_fd() did nothing in fact?
You are correct, I'm dropping it
> STEERING BPF is per device not per queue, so setting this for queue 0 should be ok.
Oh, okay will do.
On Mon, Sep 3, 2018 at 7:12 AM, Jason Wang <jasowang@redhat.com> wrote:
>
>
> On 2018年08月30日 22:27, Sameeh Jubran wrote:
>>
>> From: Sameeh Jubran <sjubran@redhat.com>
>>
>> Signed-off-by: Sameeh Jubran <sjubran@redhat.com>
>> ---
>> hw/net/rss_bpf_insns.h | 3992
>> ++++++++++++++++++++++++++++++++++++++++++
>> hw/net/rss_tap_bpf.h | 40 +
>> hw/net/rss_tap_bpf_program.c | 175 ++
>> hw/net/virtio-net.c | 99 +-
>> 4 files changed, 4305 insertions(+), 1 deletion(-)
>> create mode 100644 hw/net/rss_bpf_insns.h
>> create mode 100644 hw/net/rss_tap_bpf.h
>> create mode 100644 hw/net/rss_tap_bpf_program.c
>>
>> diff --git a/hw/net/rss_bpf_insns.h b/hw/net/rss_bpf_insns.h
>> new file mode 100644
>> index 0000000000..1a92110b8d
>> --- /dev/null
>> +++ b/hw/net/rss_bpf_insns.h
>> @@ -0,0 +1,3992 @@
>> +/*
>> + * RSS ebpf instructions for virtio-net
>> + *
>> + * Copyright (c) 2018 RedHat.
>> + *
>> + * This work is licensed under the terms of the GNU GPL, version 2 or
>> later.
>> + * See the COPYING file in the top-level directory.
>> + *
>> + */
>> +
>> +#include <linux/bpf.h>
>> +
>> +#ifndef BPF_RSS_INSNS
>> +#define BPF_RSS_INSNS
>> +
>> +/* bpf_insn array matching l3_l4 section. see tap_bpf_program.c file */
>> +struct bpf_insn l3_l4_hash_insns[] = {
>> +{0xbf , 0x6 , 0x1 , 0x0000 , 0x00000000},
>> +{0x28 , 0x0 , 0x0 , 0x0000 , 0x0000000c},
>> +{0xbf , 0x8 , 0x0 , 0x0000 , 0x00000000},
>> +{0x18 , 0x1 , 0x0 , 0x0000 , 0xdeadbeef},
>> +{0x00 , 0x0 , 0x0 , 0x0000 , 0x00000000},
>> +{0x63 , 0xa , 0x1 , 0xfffc , 0x00000000},
>> +{0xbf , 0x2 , 0xa , 0x0000 , 0x00000000},
>> +{0x07 , 0x2 , 0x0 , 0x0000 , 0xfffffffc},
>> +{0x18 , 0x1 , 0x1 , 0x0000 , 0xdeadcafe},
>> +{0x00 , 0x0 , 0x0 , 0x0000 , 0x00000000},
>> +{0x85 , 0x0 , 0x0 , 0x0000 , 0x00000001},
>> +{0x55 , 0x0 , 0x0 , 0x0017 , 0x00000000},
>> +{0xb7 , 0x1 , 0x0 , 0x0000 , 0x00000000},
>> +{0x73 , 0xa , 0x1 , 0xfffa , 0x00000000},
>> +{0xb7 , 0x1 , 0x0 , 0x0000 , 0x00000a64},
>> +{0x6b , 0xa , 0x1 , 0xfff8 , 0x00000000},
>> +{0x18 , 0x1 , 0x0 , 0x0000 , 0x69666e6f},
>> +{0x00 , 0x0 , 0x0 , 0x0000 , 0x65727567},
>> +{0x7b , 0xa , 0x1 , 0xfff0 , 0x00000000},
>> +{0x18 , 0x1 , 0x0 , 0x0000 , 0x6e207369},
>> +{0x00 , 0x0 , 0x0 , 0x0000 , 0x6320746f},
>> +{0x7b , 0xa , 0x1 , 0xffe8 , 0x00000000},
>> +{0x18 , 0x1 , 0x0 , 0x0000 , 0x20737372},
>> +{0x00 , 0x0 , 0x0 , 0x0000 , 0x2079656b},
>> +{0x7b , 0xa , 0x1 , 0xffe0 , 0x00000000},
>> +{0x18 , 0x1 , 0x0 , 0x0000 , 0x68736168},
>> +{0x00 , 0x0 , 0x0 , 0x0000 , 0x203a2928},
>> +{0x7b , 0xa , 0x1 , 0xffd8 , 0x00000000},
>> +{0xbf , 0x1 , 0xa , 0x0000 , 0x00000000},
>> +{0x07 , 0x1 , 0x0 , 0x0000 , 0xffffffd8},
>> +{0xb7 , 0x2 , 0x0 , 0x0000 , 0x00000023},
>> +{0x85 , 0x0 , 0x0 , 0x0000 , 0x00000006},
>> +{0x18 , 0x0 , 0x0 , 0x0000 , 0xfffffffe},
>> +{0x00 , 0x0 , 0x0 , 0x0000 , 0x00000000},
>> +{0x05 , 0x0 , 0x0 , 0x0f60 , 0x00000000},
>> +{0x7b , 0xa , 0x0 , 0xffc8 , 0x00000000},
>> +{0xb7 , 0x7 , 0x0 , 0x0000 , 0x0000000e},
>> +{0x55 , 0x8 , 0x0 , 0x0003 , 0x000088a8},
>> +{0xb7 , 0x7 , 0x0 , 0x0000 , 0x00000012},
>> +{0x28 , 0x0 , 0x0 , 0x0000 , 0x00000010},
>> +{0xbf , 0x8 , 0x0 , 0x0000 , 0x00000000},
>> +{0x55 , 0x8 , 0x0 , 0x0005 , 0x00008100},
>> +{0xbf , 0x8 , 0x7 , 0x0000 , 0x00000000},
>> +{0x07 , 0x8 , 0x0 , 0x0000 , 0x00000002},
>> +{0x48 , 0x0 , 0x8 , 0x0000 , 0x00000000},
>> +{0xbf , 0x8 , 0x0 , 0x0000 , 0x00000000},
>> +{0x07 , 0x7 , 0x0 , 0x0000 , 0x00000004},
>> +{0x15 , 0x8 , 0x0 , 0x0b48 , 0x00000800},
>> +{0x18 , 0x0 , 0x0 , 0x0000 , 0xffffffff},
>> +{0x00 , 0x0 , 0x0 , 0x0000 , 0x00000000},
>> +{0x15 , 0x8 , 0x0 , 0x0001 , 0x0000dd86},
>> +{0x05 , 0x0 , 0x0 , 0x0f4f , 0x00000000},
>> +{0xbf , 0x9 , 0x7 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffc8 , 0x00000000},
>> +{0x07 , 0x7 , 0x0 , 0x0000 , 0x00000029},
>> +{0x50 , 0x0 , 0x7 , 0x0000 , 0x00000000},
>> +{0x7b , 0xa , 0x0 , 0xffa8 , 0x00000000},
>> +{0xbf , 0x7 , 0x9 , 0x0000 , 0x00000000},
>> +{0x07 , 0x7 , 0x0 , 0x0000 , 0x00000028},
>> +{0x50 , 0x0 , 0x7 , 0x0000 , 0x00000000},
>> +{0x7b , 0xa , 0x0 , 0xff90 , 0x00000000},
>> +{0xbf , 0x7 , 0x9 , 0x0000 , 0x00000000},
>> +{0x07 , 0x7 , 0x0 , 0x0000 , 0x0000002b},
>> +{0x50 , 0x0 , 0x7 , 0x0000 , 0x00000000},
>> +{0x7b , 0xa , 0x0 , 0xffb0 , 0x00000000},
>> +{0xbf , 0x7 , 0x9 , 0x0000 , 0x00000000},
>> +{0x07 , 0x7 , 0x0 , 0x0000 , 0x0000002a},
>> +{0x50 , 0x0 , 0x7 , 0x0000 , 0x00000000},
>> +{0x7b , 0xa , 0x0 , 0xffa0 , 0x00000000},
>> +{0xbf , 0x7 , 0x9 , 0x0000 , 0x00000000},
>> +{0x07 , 0x7 , 0x0 , 0x0000 , 0x0000001b},
>> +{0x40 , 0x0 , 0x7 , 0x0000 , 0x00000000},
>> +{0x7b , 0xa , 0x0 , 0xff98 , 0x00000000},
>> +{0xbf , 0x7 , 0x9 , 0x0000 , 0x00000000},
>> +{0x07 , 0x7 , 0x0 , 0x0000 , 0x0000001a},
>> +{0x40 , 0x0 , 0x7 , 0x0000 , 0x00000000},
>> +{0x7b , 0xa , 0x0 , 0xff88 , 0x00000000},
>> +{0xbf , 0x7 , 0x9 , 0x0000 , 0x00000000},
>> +{0x07 , 0x7 , 0x0 , 0x0000 , 0x00000019},
>> +{0x40 , 0x0 , 0x7 , 0x0000 , 0x00000000},
>> +{0x7b , 0xa , 0x0 , 0xffd0 , 0x00000000},
>> +{0xbf , 0x7 , 0x9 , 0x0000 , 0x00000000},
>> +{0x07 , 0x7 , 0x0 , 0x0000 , 0x00000018},
>> +{0x40 , 0x0 , 0x7 , 0x0000 , 0x00000000},
>> +{0x7b , 0xa , 0x0 , 0xffc0 , 0x00000000},
>> +{0xbf , 0x7 , 0x9 , 0x0000 , 0x00000000},
>> +{0x07 , 0x7 , 0x0 , 0x0000 , 0x0000000b},
>> +{0x40 , 0x0 , 0x7 , 0x0000 , 0x00000000},
>> +{0x7b , 0xa , 0x0 , 0xffb8 , 0x00000000},
>> +{0xbf , 0x7 , 0x9 , 0x0000 , 0x00000000},
>> +{0x07 , 0x7 , 0x0 , 0x0000 , 0x00000008},
>> +{0x40 , 0x0 , 0x7 , 0x0000 , 0x00000000},
>> +{0xbf , 0x8 , 0x0 , 0x0000 , 0x00000000},
>> +{0xbf , 0x7 , 0x9 , 0x0000 , 0x00000000},
>> +{0x07 , 0x7 , 0x0 , 0x0000 , 0x0000000a},
>> +{0x40 , 0x0 , 0x7 , 0x0000 , 0x00000000},
>> +{0xbf , 0x7 , 0x0 , 0x0000 , 0x00000000},
>> +{0x07 , 0x9 , 0x0 , 0x0000 , 0x00000009},
>> +{0x40 , 0x0 , 0x9 , 0x0000 , 0x00000000},
>> +{0xb7 , 0x4 , 0x0 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000020},
>> +{0xc7 , 0x1 , 0x0 , 0x0000 , 0x00000020},
>> +{0x65 , 0x1 , 0x0 , 0x0002 , 0xffffffff},
>> +{0x79 , 0x1 , 0xa , 0xffc8 , 0x00000000},
>> +{0x61 , 0x4 , 0x1 , 0x0008 , 0x00000000},
>> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x40000000},
>> +{0x79 , 0x3 , 0xa , 0xffc8 , 0x00000000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000001},
>> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001f},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x20000000},
>> +{0x79 , 0x6 , 0xa , 0xffa0 , 0x00000000},
>> +{0x79 , 0x9 , 0xa , 0xff88 , 0x00000000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000002},
>> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001e},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x10000000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000003},
>> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001d},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x08000000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000004},
>> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001c},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x04000000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000005},
>> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001b},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x02000000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000006},
>> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001a},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x01000000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000007},
>> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000019},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00800000},
>> +{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
>> +{0x71 , 0x1 , 0x3 , 0x000f , 0x00000000},
>> +{0x61 , 0x2 , 0x3 , 0x0008 , 0x00000000},
>> +{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000008},
>> +{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
>> +{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00400000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000009},
>> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000017},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00200000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000a},
>> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000016},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00100000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000b},
>> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000015},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00080000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000c},
>> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000014},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00040000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000d},
>> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000013},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00020000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000e},
>> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000012},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00010000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000f},
>> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000011},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00008000},
>> +{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
>> +{0x69 , 0x1 , 0x3 , 0x000e , 0x00000000},
>> +{0x61 , 0x2 , 0x3 , 0x0008 , 0x00000000},
>> +{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000010},
>> +{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
>> +{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00004000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000011},
>> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000f},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00002000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000012},
>> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000e},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00001000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000013},
>> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000d},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000800},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000014},
>> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000c},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000400},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000015},
>> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000b},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000200},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000016},
>> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000a},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000100},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000017},
>> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000009},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000080},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000018},
>> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000008},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000040},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000019},
>> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000007},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000020},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001a},
>> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000006},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000010},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001b},
>> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000005},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000008},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001c},
>> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000004},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000004},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001d},
>> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000003},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000002},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001e},
>> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000002},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x57 , 0x8 , 0x0 , 0x0000 , 0x00000001},
>> +{0x15 , 0x8 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001f},
>> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000001},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000020},
>> +{0xc7 , 0x1 , 0x0 , 0x0000 , 0x00000020},
>> +{0x65 , 0x1 , 0x0 , 0x0003 , 0xffffffff},
>> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
>> +{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x40000000},
>> +{0x79 , 0x8 , 0xa , 0xff90 , 0x00000000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000001},
>> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001f},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x20000000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000002},
>> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001e},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x10000000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000003},
>> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001d},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x08000000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000004},
>> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001c},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x04000000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000005},
>> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001b},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x02000000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000006},
>> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001a},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x01000000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000007},
>> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000019},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00800000},
>> +{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
>> +{0x71 , 0x1 , 0x3 , 0x0013 , 0x00000000},
>> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
>> +{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000008},
>> +{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
>> +{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00400000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000009},
>> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000017},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00200000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000a},
>> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000016},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00100000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000b},
>> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000015},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00080000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000c},
>> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000014},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00040000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000d},
>> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000013},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00020000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000e},
>> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000012},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00010000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000f},
>> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000011},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00008000},
>> +{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
>> +{0x69 , 0x1 , 0x3 , 0x0012 , 0x00000000},
>> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
>> +{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000010},
>> +{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
>> +{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00004000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000011},
>> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000f},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00002000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000012},
>> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000e},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00001000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000013},
>> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000d},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000800},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000014},
>> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000c},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000400},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000015},
>> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000b},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000200},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000016},
>> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000a},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000100},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000017},
>> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000009},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000080},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000018},
>> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000008},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000040},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000019},
>> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000007},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000020},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001a},
>> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000006},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000010},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001b},
>> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000005},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000008},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001c},
>> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000004},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000004},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001d},
>> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000003},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000002},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001e},
>> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000002},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x57 , 0x0 , 0x0 , 0x0000 , 0x00000001},
>> +{0x15 , 0x0 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001f},
>> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000001},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000020},
>> +{0xc7 , 0x1 , 0x0 , 0x0000 , 0x00000020},
>> +{0x65 , 0x1 , 0x0 , 0x0003 , 0xffffffff},
>> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
>> +{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x40000000},
>> +{0x79 , 0x5 , 0xa , 0xffb0 , 0x00000000},
>> +{0x79 , 0x0 , 0xa , 0xffa8 , 0x00000000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000001},
>> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001f},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x20000000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000002},
>> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001e},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x10000000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000003},
>> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001d},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x08000000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000004},
>> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001c},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x04000000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000005},
>> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001b},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x02000000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000006},
>> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001a},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x01000000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000007},
>> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000019},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00800000},
>> +{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
>> +{0x71 , 0x1 , 0x3 , 0x0017 , 0x00000000},
>> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
>> +{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000008},
>> +{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
>> +{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00400000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000009},
>> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000017},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00200000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000a},
>> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000016},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00100000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000b},
>> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000015},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00080000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000c},
>> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000014},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00040000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000d},
>> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000013},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00020000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000e},
>> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000012},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00010000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000f},
>> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000011},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00008000},
>> +{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
>> +{0x69 , 0x1 , 0x3 , 0x0016 , 0x00000000},
>> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
>> +{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000010},
>> +{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
>> +{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00004000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000011},
>> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000f},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00002000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000012},
>> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000e},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00001000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000013},
>> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000d},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000800},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000014},
>> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000c},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000400},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000015},
>> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000b},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000200},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000016},
>> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000a},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000100},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000017},
>> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000009},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000080},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000018},
>> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000008},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000040},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000019},
>> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000007},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000020},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001a},
>> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000006},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000010},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001b},
>> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000005},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000008},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001c},
>> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000004},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000004},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001d},
>> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000003},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000002},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001e},
>> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000002},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x57 , 0x7 , 0x0 , 0x0000 , 0x00000001},
>> +{0x15 , 0x7 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001f},
>> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000001},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000020},
>> +{0xc7 , 0x1 , 0x0 , 0x0000 , 0x00000020},
>> +{0x65 , 0x1 , 0x0 , 0x0003 , 0xffffffff},
>> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
>> +{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x40000000},
>> +{0x79 , 0x7 , 0xa , 0xff98 , 0x00000000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000001},
>> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001f},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x20000000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000002},
>> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001e},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x10000000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000003},
>> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001d},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x08000000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000004},
>> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001c},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x04000000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000005},
>> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001b},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x02000000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000006},
>> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001a},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x01000000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000007},
>> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000019},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00800000},
>> +{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
>> +{0x71 , 0x1 , 0x3 , 0x001b , 0x00000000},
>> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
>> +{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000008},
>> +{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
>> +{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00400000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000009},
>> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000017},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00200000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000a},
>> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000016},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00100000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000b},
>> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000015},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00080000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000c},
>> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000014},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00040000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000d},
>> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000013},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00020000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000e},
>> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000012},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00010000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000f},
>> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000011},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00008000},
>> +{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
>> +{0x69 , 0x1 , 0x3 , 0x001a , 0x00000000},
>> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
>> +{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000010},
>> +{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
>> +{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00004000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000011},
>> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000f},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00002000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000012},
>> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000e},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00001000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000013},
>> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000d},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000800},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000014},
>> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000c},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000400},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000015},
>> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000b},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000200},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000016},
>> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000a},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000100},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000017},
>> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000009},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000080},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000018},
>> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000008},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000040},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000019},
>> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000007},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000020},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001a},
>> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000006},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000010},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001b},
>> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000005},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000008},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001c},
>> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000004},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000004},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001d},
>> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000003},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000002},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001e},
>> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000002},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000001},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001f},
>> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000001},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000020},
>> +{0xc7 , 0x1 , 0x0 , 0x0000 , 0x00000020},
>> +{0x65 , 0x1 , 0x0 , 0x0003 , 0xffffffff},
>> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
>> +{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x40000000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000001},
>> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001f},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x20000000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000002},
>> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001e},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x10000000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000003},
>> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001d},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x08000000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000004},
>> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001c},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x04000000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000005},
>> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001b},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x02000000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000006},
>> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001a},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x01000000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000007},
>> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000019},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00800000},
>> +{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
>> +{0x71 , 0x1 , 0x3 , 0x001f , 0x00000000},
>> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
>> +{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000008},
>> +{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
>> +{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00400000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000009},
>> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000017},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00200000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000a},
>> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000016},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00100000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000b},
>> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000015},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00080000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000c},
>> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000014},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00040000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000d},
>> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000013},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00020000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000e},
>> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000012},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00010000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000f},
>> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000011},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00008000},
>> +{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
>> +{0x69 , 0x1 , 0x3 , 0x001e , 0x00000000},
>> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
>> +{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000010},
>> +{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
>> +{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00004000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000011},
>> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000f},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00002000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000012},
>> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000e},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00001000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000013},
>> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000d},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000800},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000014},
>> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000c},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000400},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000015},
>> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000b},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000200},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000016},
>> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000a},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000100},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000017},
>> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000009},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000080},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000018},
>> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000008},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000040},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000019},
>> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000007},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000020},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001a},
>> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000006},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000010},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001b},
>> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000005},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000008},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001c},
>> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000004},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000004},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001d},
>> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000003},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000002},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001e},
>> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000002},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000001},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001f},
>> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000001},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000020},
>> +{0xc7 , 0x1 , 0x0 , 0x0000 , 0x00000020},
>> +{0x65 , 0x1 , 0x0 , 0x0003 , 0xffffffff},
>> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
>> +{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x40000000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000001},
>> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001f},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x20000000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000002},
>> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001e},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x10000000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000003},
>> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001d},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x08000000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000004},
>> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001c},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x04000000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000005},
>> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001b},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x02000000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000006},
>> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001a},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x01000000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000007},
>> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000019},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00800000},
>> +{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
>> +{0x71 , 0x1 , 0x3 , 0x0023 , 0x00000000},
>> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
>> +{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000008},
>> +{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
>> +{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00400000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000009},
>> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000017},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00200000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000a},
>> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000016},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00100000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000b},
>> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000015},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00080000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000c},
>> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000014},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00040000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000d},
>> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000013},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00020000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000e},
>> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000012},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00010000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000f},
>> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000011},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00008000},
>> +{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
>> +{0x69 , 0x1 , 0x3 , 0x0022 , 0x00000000},
>> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
>> +{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000010},
>> +{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
>> +{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00004000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000011},
>> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000f},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00002000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000012},
>> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000e},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00001000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000013},
>> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000d},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000800},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000014},
>> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000c},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000400},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000015},
>> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000b},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000200},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000016},
>> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000a},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000100},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000017},
>> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000009},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000080},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000018},
>> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000008},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000040},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000019},
>> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000007},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000020},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001a},
>> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000006},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000010},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001b},
>> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000005},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000008},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001c},
>> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000004},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000004},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001d},
>> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000003},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000002},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001e},
>> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000002},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000001},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001f},
>> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000001},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000020},
>> +{0xc7 , 0x1 , 0x0 , 0x0000 , 0x00000020},
>> +{0x65 , 0x1 , 0x0 , 0x0003 , 0xffffffff},
>> +{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
>> +{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x40000000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000001},
>> +{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001f},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x20000000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000002},
>> +{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001e},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x10000000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000003},
>> +{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001d},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x08000000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000004},
>> +{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001c},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x04000000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000005},
>> +{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001b},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x02000000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000006},
>> +{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001a},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x01000000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000007},
>> +{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000019},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00800000},
>> +{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
>> +{0x71 , 0x1 , 0x3 , 0x0027 , 0x00000000},
>> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
>> +{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000008},
>> +{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
>> +{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00400000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000009},
>> +{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000017},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00200000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000a},
>> +{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000016},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00100000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000b},
>> +{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000015},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00080000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000c},
>> +{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000014},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00040000},
--
Respectfully,
Sameeh Jubran
Linkedin
Software Engineer @ Daynix.
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [Qemu-devel] [RFC 6/6] virtio-net: rss: Add bpf filter
2018-09-03 13:16 ` Sameeh Jubran
@ 2018-09-04 3:03 ` Jason Wang
0 siblings, 0 replies; 36+ messages in thread
From: Jason Wang @ 2018-09-04 3:03 UTC (permalink / raw)
To: Sameeh Jubran; +Cc: QEMU Developers, Yan Vugenfirer
On 2018年09月03日 21:16, Sameeh Jubran wrote:
>> I may miss something, but it looks to me the indirection table should be implemented through a map as well? Since it was accessible by guest and qemu need to trap the access and convert it to eBPF map updating?
> makes sense, I'll convert it to map structure.
>
>
>> This looks tricky as well, should we search the BPF_LD and replace the imm?
> Hmm yes this approach is better I guess.
>
>> I believe those bpf helpers should be moved to tap-linux.c.
> All of them? I actually thought about moving them to a standalone
> file in the virtio-net.c dir.
> Can you explain the motive for this?
>
Because you're using Linux specific syscall, so it should be moved to
Linux specific implementation.
Thakns
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [Qemu-devel] [RFC 6/6] virtio-net: rss: Add bpf filter
2018-09-03 11:54 ` Daniel P. Berrangé
2018-09-03 12:35 ` Sameeh Jubran
@ 2018-09-04 3:07 ` Jason Wang
2018-09-04 8:14 ` Daniel P. Berrangé
1 sibling, 1 reply; 36+ messages in thread
From: Jason Wang @ 2018-09-04 3:07 UTC (permalink / raw)
To: Daniel P. Berrangé, Sameeh Jubran; +Cc: Yan Vugenfirer, qemu-devel
On 2018年09月03日 19:54, Daniel P. Berrangé wrote:
>> + *
>> + * This work is licensed under the terms of the GNU GPL, version 2 or later.
>> + * See the COPYING file in the top-level directory.
>> + *
>> + */
>> +
>> +#include <linux/bpf.h>
>> +
>> +#ifndef BPF_RSS_INSNS
>> +#define BPF_RSS_INSNS
>> +
>> +/* bpf_insn array matching l3_l4 section. see tap_bpf_program.c file */
>> +struct bpf_insn l3_l4_hash_insns[] = {
>> +{0xbf , 0x6 , 0x1 , 0x0000 , 0x00000000},
>> +{0x28 , 0x0 , 0x0 , 0x0000 , 0x0000000c},
>> +{0xbf , 0x8 , 0x0 , 0x0000 , 0x00000000},
> [snip]
>
>> +};
> This massive array is presumably an auto-generated content.
>
> We shouldn't be storing this in GIT. We need to store the
> original preferred source format, and providing makefile
> rules to generate it.
>
>
This is possible. But it depends on eBPF toolchain (e.g recent version
of LLVM) to work which is inflexible or impossible to make it work on
some distributions. Providing compiled bytecode does not have such
limitation.
Thanks
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [Qemu-devel] [RFC 6/6] virtio-net: rss: Add bpf filter
2018-09-04 3:07 ` Jason Wang
@ 2018-09-04 8:14 ` Daniel P. Berrangé
2018-09-06 5:26 ` Jason Wang
0 siblings, 1 reply; 36+ messages in thread
From: Daniel P. Berrangé @ 2018-09-04 8:14 UTC (permalink / raw)
To: Jason Wang; +Cc: Sameeh Jubran, Yan Vugenfirer, qemu-devel
On Tue, Sep 04, 2018 at 11:07:38AM +0800, Jason Wang wrote:
>
>
> On 2018年09月03日 19:54, Daniel P. Berrangé wrote:
> > > + *
> > > + * This work is licensed under the terms of the GNU GPL, version 2 or later.
> > > + * See the COPYING file in the top-level directory.
> > > + *
> > > + */
> > > +
> > > +#include <linux/bpf.h>
> > > +
> > > +#ifndef BPF_RSS_INSNS
> > > +#define BPF_RSS_INSNS
> > > +
> > > +/* bpf_insn array matching l3_l4 section. see tap_bpf_program.c file */
> > > +struct bpf_insn l3_l4_hash_insns[] = {
> > > +{0xbf , 0x6 , 0x1 , 0x0000 , 0x00000000},
> > > +{0x28 , 0x0 , 0x0 , 0x0000 , 0x0000000c},
> > > +{0xbf , 0x8 , 0x0 , 0x0000 , 0x00000000},
> > [snip]
> >
> > > +};
> > This massive array is presumably an auto-generated content.
> >
> > We shouldn't be storing this in GIT. We need to store the
> > original preferred source format, and providing makefile
> > rules to generate it.
> >
> >
>
> This is possible. But it depends on eBPF toolchain (e.g recent version of
> LLVM) to work which is inflexible or impossible to make it work on some
> distributions. Providing compiled bytecode does not have such limitation.
Those distros can fix their toolchain if they wish to have the BPF feature
enabled when building QEMU, just like they would for any other dependancy
that is needed by QEMU.
Regards,
Daniel
--
|: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o- https://fstop138.berrange.com :|
|: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [Qemu-devel] [RFC 6/6] virtio-net: rss: Add bpf filter
2018-08-30 14:27 ` [Qemu-devel] [RFC 6/6] virtio-net: rss: Add bpf filter Sameeh Jubran
` (2 preceding siblings ...)
2018-09-03 12:11 ` Daniel P. Berrangé
@ 2018-09-04 20:11 ` Eric Blake
3 siblings, 0 replies; 36+ messages in thread
From: Eric Blake @ 2018-09-04 20:11 UTC (permalink / raw)
To: Sameeh Jubran, qemu-devel, Jason Wang; +Cc: Yan Vugenfirer
On 08/30/2018 09:27 AM, Sameeh Jubran wrote:
> From: Sameeh Jubran <sjubran@redhat.com>
>
> Signed-off-by: Sameeh Jubran <sjubran@redhat.com>
> ---
> hw/net/rss_bpf_insns.h | 3992 ++++++++++++++++++++++++++++++++++++++++++
> hw/net/rss_tap_bpf.h | 40 +
> hw/net/rss_tap_bpf_program.c | 175 ++
> hw/net/virtio-net.c | 99 +-
> 4 files changed, 4305 insertions(+), 1 deletion(-)
> create mode 100644 hw/net/rss_bpf_insns.h
> create mode 100644 hw/net/rss_tap_bpf.h
> create mode 100644 hw/net/rss_tap_bpf_program.c
>
> diff --git a/hw/net/rss_bpf_insns.h b/hw/net/rss_bpf_insns.h
> new file mode 100644
> index 0000000000..1a92110b8d
> --- /dev/null
> +++ b/hw/net/rss_bpf_insns.h
> @@ -0,0 +1,3992 @@
> +/*
> + * RSS ebpf instructions for virtio-net
> + *
> + * Copyright (c) 2018 RedHat.
Please spell it "Red Hat", as that is the proper name in use in all
other places in the repository.
> + *
> + * This work is licensed under the terms of the GNU GPL, version 2 or later.
> + * See the COPYING file in the top-level directory.
> + *
> + */
> +
> +#include <linux/bpf.h>
> +
> +#ifndef BPF_RSS_INSNS
> +#define BPF_RSS_INSNS
> +
> +/* bpf_insn array matching l3_l4 section. see tap_bpf_program.c file */
> +struct bpf_insn l3_l4_hash_insns[] = {
> +{0xbf , 0x6 , 0x1 , 0x0000 , 0x00000000},
> +{0x28 , 0x0 , 0x0 , 0x0000 , 0x0000000c},
Is this file generated? If not, this long array of magic numbers can't
be the preferred form for source editing (which would be in violation of
GPL requirements); if so, why are we checking in a generated file into
qemu.git? It can indeed be valid to check in a generated file if the
program for generating it is not commonly available to developers, but
the comments should make it clear that such is the case; and you would
be wise to point to more than just 'tap_bpf_program.c', but also include
comments stating how to reproduce this generated file.
Your commit then adds a file by a similar name, but not matching the one
you called out here:
> --- /dev/null
> +++ b/hw/net/rss_tap_bpf_program.c
> @@ -0,0 +1,175 @@
> +/*
> + * RSS ebpf code for virtio-net
> + *
> + * Copyright (c) 2018 RedHat.
Again, wrong spelling.
> + *
> + * This work is licensed under the terms of the GNU GPL, version 2 or later.
> + * See the COPYING file in the top-level directory.
> + *
> + * This code is heavily based on the following bpf code from dpdk
> + * https://git.dpdk.org/dpdk/tree/drivers/net/tap/tap_bpf_program.c
Your choice of license might be incompatible. That file states:
/* SPDX-License-Identifier: BSD-3-Clause OR GPL-2.0
but GPLv2-only is not the same as your choice of GPLv2+.
Perhaps you can get away with GPLv2+ being compatible with BSD-3-Clause,
but it might be safer to state that this file is GPLv2-only (as an
explicit choice of one of your two options from the source you were
copying).
> +
> +RSS(l3_l4)
> +
> +BPF_LICENSE("Dual BSD/GPL");
And this is different from what you wrote above. So which license is
this file?
> diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c
> index 4a52a6a1d0..66b2140cc7 100644
> --- a/hw/net/virtio-net.c
> +++ b/hw/net/virtio-net.c
> @@ -27,6 +27,10 @@
> #include "hw/virtio/virtio-access.h"
> #include "migration/misc.h"
> #include "standard-headers/linux/ethtool.h"
> +#include <sys/syscall.h>
> +#include <linux/bpf.h>
Is this going to cause compilation failure on non-Linux machines?
--
Eric Blake, Principal Software Engineer
Red Hat, Inc. +1-919-301-3266
Virtualization: qemu.org | libvirt.org
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [Qemu-devel] [RFC 6/6] virtio-net: rss: Add bpf filter
2018-09-04 8:14 ` Daniel P. Berrangé
@ 2018-09-06 5:26 ` Jason Wang
2018-10-04 13:30 ` Daniel P. Berrangé
0 siblings, 1 reply; 36+ messages in thread
From: Jason Wang @ 2018-09-06 5:26 UTC (permalink / raw)
To: Daniel P. Berrangé; +Cc: Yan Vugenfirer, Sameeh Jubran, qemu-devel
On 2018年09月04日 16:14, Daniel P. Berrangé wrote:
> On Tue, Sep 04, 2018 at 11:07:38AM +0800, Jason Wang wrote:
>> On 2018年09月03日 19:54, Daniel P. Berrangé wrote:
>>>> + *
>>>> + * This work is licensed under the terms of the GNU GPL, version 2 or later.
>>>> + * See the COPYING file in the top-level directory.
>>>> + *
>>>> + */
>>>> +
>>>> +#include <linux/bpf.h>
>>>> +
>>>> +#ifndef BPF_RSS_INSNS
>>>> +#define BPF_RSS_INSNS
>>>> +
>>>> +/* bpf_insn array matching l3_l4 section. see tap_bpf_program.c file */
>>>> +struct bpf_insn l3_l4_hash_insns[] = {
>>>> +{0xbf , 0x6 , 0x1 , 0x0000 , 0x00000000},
>>>> +{0x28 , 0x0 , 0x0 , 0x0000 , 0x0000000c},
>>>> +{0xbf , 0x8 , 0x0 , 0x0000 , 0x00000000},
>>> [snip]
>>>
>>>> +};
>>> This massive array is presumably an auto-generated content.
>>>
>>> We shouldn't be storing this in GIT. We need to store the
>>> original preferred source format, and providing makefile
>>> rules to generate it.
>>>
>>>
>> This is possible. But it depends on eBPF toolchain (e.g recent version of
>> LLVM) to work which is inflexible or impossible to make it work on some
>> distributions. Providing compiled bytecode does not have such limitation.
> Those distros can fix their toolchain if they wish to have the BPF feature
> enabled when building QEMU, just like they would for any other dependancy
> that is needed by QEMU.
>
> Regards,
Well, since bytecode is architecture independent, it needs either
emulator or JIT to work. So having eBPF toolchain looks unnecessary
since we're sure it will generate exactly the same bytecodes everywhere.
I think we can just treat it like some kind of virtio-net firmware and
ship with bytecodes.
Thanks
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [Qemu-devel] [RFC 6/6] virtio-net: rss: Add bpf filter
2018-09-06 5:26 ` Jason Wang
@ 2018-10-04 13:30 ` Daniel P. Berrangé
0 siblings, 0 replies; 36+ messages in thread
From: Daniel P. Berrangé @ 2018-10-04 13:30 UTC (permalink / raw)
To: Jason Wang; +Cc: Yan Vugenfirer, Sameeh Jubran, qemu-devel
On Thu, Sep 06, 2018 at 01:26:01PM +0800, Jason Wang wrote:
>
>
> On 2018年09月04日 16:14, Daniel P. Berrangé wrote:
> > On Tue, Sep 04, 2018 at 11:07:38AM +0800, Jason Wang wrote:
> > > On 2018年09月03日 19:54, Daniel P. Berrangé wrote:
> > > > > + *
> > > > > + * This work is licensed under the terms of the GNU GPL, version 2 or later.
> > > > > + * See the COPYING file in the top-level directory.
> > > > > + *
> > > > > + */
> > > > > +
> > > > > +#include <linux/bpf.h>
> > > > > +
> > > > > +#ifndef BPF_RSS_INSNS
> > > > > +#define BPF_RSS_INSNS
> > > > > +
> > > > > +/* bpf_insn array matching l3_l4 section. see tap_bpf_program.c file */
> > > > > +struct bpf_insn l3_l4_hash_insns[] = {
> > > > > +{0xbf , 0x6 , 0x1 , 0x0000 , 0x00000000},
> > > > > +{0x28 , 0x0 , 0x0 , 0x0000 , 0x0000000c},
> > > > > +{0xbf , 0x8 , 0x0 , 0x0000 , 0x00000000},
> > > > [snip]
> > > >
> > > > > +};
> > > > This massive array is presumably an auto-generated content.
> > > >
> > > > We shouldn't be storing this in GIT. We need to store the
> > > > original preferred source format, and providing makefile
> > > > rules to generate it.
> > > >
> > > >
> > > This is possible. But it depends on eBPF toolchain (e.g recent version of
> > > LLVM) to work which is inflexible or impossible to make it work on some
> > > distributions. Providing compiled bytecode does not have such limitation.
> > Those distros can fix their toolchain if they wish to have the BPF feature
> > enabled when building QEMU, just like they would for any other dependancy
> > that is needed by QEMU.
> >
> > Regards,
>
> Well, since bytecode is architecture independent, it needs either emulator
> or JIT to work. So having eBPF toolchain looks unnecessary since we're sure
> it will generate exactly the same bytecodes everywhere. I think we can just
> treat it like some kind of virtio-net firmware and ship with bytecodes.
I don't find this rational very compelling. Lots of our generated files
are architecture independant and so would have the same output everywhere.
We still aim to generate them all at build from the master source using
the relevant toolchain(s).
The main exception where we bundle pre-generated stuff is the various
architecture dependant ROMs, since those need many cross-compilers.
Most of the distro vendors will drop these pre-built ROMs and build
them from source again for license compliance purposes.
So I still believe we should be building BPF code from the master
source, not bundling any pre-generated content.
Regards,
Daniel
--
|: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o- https://fstop138.berrange.com :|
|: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
^ permalink raw reply [flat|nested] 36+ messages in thread
end of thread, other threads:[~2018-10-04 13:30 UTC | newest]
Thread overview: 36+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-08-30 14:27 [Qemu-devel] [RFC 0/6] Virtio-net: Support RSS Sameeh Jubran
2018-08-30 14:27 ` [Qemu-devel] [RFC 1/6] Add bpf support to qemu Sameeh Jubran
2018-09-03 11:59 ` Daniel P. Berrangé
2018-09-03 12:18 ` Sameeh Jubran
2018-09-03 12:24 ` Peter Maydell
2018-09-03 12:28 ` Sameeh Jubran
2018-09-03 12:29 ` Daniel P. Berrangé
2018-08-30 14:27 ` [Qemu-devel] [RFC 2/6] tap: Add support for bpf ioctls Sameeh Jubran
2018-08-30 15:21 ` Eric Blake
2018-09-03 11:34 ` Sameeh Jubran
2018-09-03 3:24 ` Jason Wang
2018-09-03 11:33 ` Sameeh Jubran
2018-08-30 14:27 ` [Qemu-devel] [RFC 3/6] vhost-net: Expose vhost_net_get_fd Sameeh Jubran
2018-09-03 3:24 ` Jason Wang
2018-09-03 11:56 ` Sameeh Jubran
2018-08-30 14:27 ` [Qemu-devel] [RFC 4/6] virtio-net: implement steering mode feature Sameeh Jubran
2018-09-03 3:34 ` Jason Wang
2018-09-03 12:51 ` Sameeh Jubran
2018-08-30 14:27 ` [Qemu-devel] [RFC 5/6] virtio-net: steering mode: Implement rss support Sameeh Jubran
2018-09-03 3:48 ` Jason Wang
2018-09-03 11:45 ` Sameeh Jubran
2018-08-30 14:27 ` [Qemu-devel] [RFC 6/6] virtio-net: rss: Add bpf filter Sameeh Jubran
2018-09-03 4:12 ` Jason Wang
2018-09-03 13:16 ` Sameeh Jubran
2018-09-04 3:03 ` Jason Wang
2018-09-03 11:54 ` Daniel P. Berrangé
2018-09-03 12:35 ` Sameeh Jubran
2018-09-03 12:49 ` Daniel P. Berrangé
2018-09-04 3:07 ` Jason Wang
2018-09-04 8:14 ` Daniel P. Berrangé
2018-09-06 5:26 ` Jason Wang
2018-10-04 13:30 ` Daniel P. Berrangé
2018-09-03 12:11 ` Daniel P. Berrangé
2018-09-04 20:11 ` Eric Blake
2018-09-03 4:15 ` [Qemu-devel] [RFC 0/6] Virtio-net: Support RSS Jason Wang
2018-09-03 9:52 ` Sameeh Jubran
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.