From patchwork Fri Jan 12 13:48:21 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Madhuker Mythri X-Patchwork-Id: 135855 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id DC72B438A3; Fri, 12 Jan 2024 14:48:50 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id A22794026E; Fri, 12 Jan 2024 14:48:50 +0100 (CET) Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by mails.dpdk.org (Postfix) with ESMTP id 84FBC4025E for ; Fri, 12 Jan 2024 14:48:48 +0100 (CET) Received: from pps.filterd (m0246617.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 40CDOjtA009579; Fri, 12 Jan 2024 13:48:45 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : mime-version : content-transfer-encoding; s=corp-2023-11-20; bh=A4uPs78vwdAUIJTkp92ITMbzQVPtKY72j58ZIoOzMn8=; b=ej0+TkGhdEbr8Ljy5qjfj1ygbMoCtXRtbPAoVwM/4/GgMbjrq2aKKVr53TrDlk2IIliS QNEQdmJtn7S6pLp8Cgkfs9TJ7xmb45XZyMR6FgOGGX/y+GOCNAcF6Wi7shB9kxF9CZuv BcCImOTAbAihoI+fM8iUMcVUWGkSFYwPME7pEa+UFw4XcCJFfQcezZgQKWuHupuHuQ8M dnpVvt5pHpKADI6zZHh8ARQKilHvfSljpNi0GjBFyuNYZtSIB7dFvDLoIIRhreqa8QeC 5JpICnzLORwG7qjfDVwf5v68Pj0zDEt/l6FA4B2fJG9VbxaWMvlHPe1jvlx4+U6IJFvY hQ== Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3vk1bk0nf0-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 12 Jan 2024 13:48:45 +0000 Received: from pps.filterd (phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 40CCn80e008774; Fri, 12 Jan 2024 13:48:44 GMT Received: from pps.reinject (localhost [127.0.0.1]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3vfuupqnw1-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 12 Jan 2024 13:48:44 +0000 Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by pps.reinject (8.17.1.5/8.17.1.5) with ESMTP id 40CDmiY8018106; Fri, 12 Jan 2024 13:48:44 GMT Received: from localhost.localdomain (dhcp-10-166-188-68.vpn.oracle.com [10.166.188.68]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTP id 3vfuupqnu3-1; Fri, 12 Jan 2024 13:48:42 +0000 From: madhuker.mythri@oracle.com To: stephen@networkplumber.org Cc: dev@dpdk.org, ferruh.yigit@amd.com, Madhuker Mythri Subject: [PATCH] net/tap: Modified TAP BPF program as per the Kernel-version upgrade requirements. Date: Fri, 12 Jan 2024 19:18:21 +0530 Message-Id: <20240112134821.2067-1-madhuker.mythri@oracle.com> X-Mailer: git-send-email 2.39.1.windows.1 MIME-Version: 1.0 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.997,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2024-01-12_06,2024-01-12_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 phishscore=0 mlxscore=0 spamscore=0 adultscore=0 malwarescore=0 suspectscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2311290000 definitions=main-2401120108 X-Proofpoint-GUID: rmybRVwGKiIavWlcXlPB_brGvHAMiH6V X-Proofpoint-ORIG-GUID: rmybRVwGKiIavWlcXlPB_brGvHAMiH6V X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org From: Madhuker Mythri When multiple queues configured, internally RSS will be enabled and thus TAP BPF RSS byte-code will be loaded on to the Kernel using BPF system calls. Here, the problem is loading the existing BPF byte-code to the Kernel-5.15 and above versions throws errors, i.e: Kernel BPF verifier not accepted this existing BPF byte-code and system calls return error code "-7" as follows: ------------------------ rss_add_actions(): Failed to load BPF section l3_l4 (7): Argument list too long ------------------------ RCA: These errors started coming after from the Kernel-5.15 version, in which lots of new BPF verification restrictions were added for safe execution of byte-code on to the Kernel, due to which existing BPF program verification does not pass. Here are the major BPF verifier restrictions observed: 1) Need to use new BPF maps structure. 2) Kernel SKB data pointer access not allowed, instead use the BPF helper functions. 3) Undefined loops were not allowed(which are bounded by a variable value). 4) unreachable instructions(like: undefined array access). After addressing all these Kernel BPF verifier restrictions able to load the BPF byte-code onto the Kernel successfully. Verified with the latest DPDK-23.11 code, using the python extracted BPF instructions able to load sucessfully on to the Kernel tap device. Bugzilla Id: 1329 Signed-off-by: Madhuker Mythri --- drivers/net/tap/bpf/Makefile | 6 +- drivers/net/tap/bpf/bpf_api.h | 276 --- drivers/net/tap/bpf/bpf_elf.h | 53 - drivers/net/tap/bpf/tap_bpf_program.c | 233 +-- drivers/net/tap/tap_bpf_api.c | 5 +- drivers/net/tap/tap_bpf_insns.h | 2300 ++++++++++++++----------- 6 files changed, 1416 insertions(+), 1457 deletions(-) delete mode 100644 drivers/net/tap/bpf/bpf_api.h delete mode 100644 drivers/net/tap/bpf/bpf_elf.h diff --git a/drivers/net/tap/bpf/Makefile b/drivers/net/tap/bpf/Makefile index 9efeeb1bc7..218aeaac45 100644 --- a/drivers/net/tap/bpf/Makefile +++ b/drivers/net/tap/bpf/Makefile @@ -6,14 +6,16 @@ CLANG=clang CLANG_OPTS=-O2 TARGET=../tap_bpf_insns.h +CLANG_BPF_SYS_INCLUDES ?= $(shell $(CLANG) -v -E - &1 \ + | sed -n '/<...> search starts here:/,/End of search list./{ s| \(/.*\)|-idirafter \1|p }') + all: $(TARGET) clean: rm tap_bpf_program.o $(TARGET) tap_bpf_program.o: tap_bpf_program.c - $(CLANG) $(CLANG_OPTS) -emit-llvm -c $< -o - | \ - llc -march=bpf -filetype=obj -o $@ + $(CLANG) $(CLANG_OPTS) $(CLANG_BPF_SYS_INCLUDES) -target bpf -c $< -g -o $@ $(TARGET): tap_bpf_program.o python3 bpf_extract.py -stap_bpf_program.c -o $@ $< diff --git a/drivers/net/tap/bpf/bpf_api.h b/drivers/net/tap/bpf/bpf_api.h deleted file mode 100644 index 2638a8a4ac..0000000000 --- a/drivers/net/tap/bpf/bpf_api.h +++ /dev/null @@ -1,276 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0 or BSD-3-Clause */ - -#ifndef __BPF_API__ -#define __BPF_API__ - -/* Note: - * - * This file can be included into eBPF kernel programs. It contains - * a couple of useful helper functions, map/section ABI (bpf_elf.h), - * misc macros and some eBPF specific LLVM built-ins. - */ - -#include - -#include -#include -#include - -#include - -#include "bpf_elf.h" - -/** libbpf pin type. */ -enum libbpf_pin_type { - LIBBPF_PIN_NONE, - /* PIN_BY_NAME: pin maps by name (in /sys/fs/bpf by default) */ - LIBBPF_PIN_BY_NAME, -}; - -/** Type helper macros. */ - -#define __uint(name, val) int (*name)[val] -#define __type(name, val) typeof(val) *name -#define __array(name, val) typeof(val) *name[] - -/** Misc macros. */ - -#ifndef __stringify -# define __stringify(X) #X -#endif - -#ifndef __maybe_unused -# define __maybe_unused __attribute__((__unused__)) -#endif - -#ifndef offsetof -# define offsetof(TYPE, MEMBER) __builtin_offsetof(TYPE, MEMBER) -#endif - -#ifndef likely -# define likely(X) __builtin_expect(!!(X), 1) -#endif - -#ifndef unlikely -# define unlikely(X) __builtin_expect(!!(X), 0) -#endif - -#ifndef htons -# define htons(X) __constant_htons((X)) -#endif - -#ifndef ntohs -# define ntohs(X) __constant_ntohs((X)) -#endif - -#ifndef htonl -# define htonl(X) __constant_htonl((X)) -#endif - -#ifndef ntohl -# define ntohl(X) __constant_ntohl((X)) -#endif - -#ifndef __inline__ -# define __inline__ __attribute__((always_inline)) -#endif - -/** Section helper macros. */ - -#ifndef __section -# define __section(NAME) \ - __attribute__((section(NAME), used)) -#endif - -#ifndef __section_tail -# define __section_tail(ID, KEY) \ - __section(__stringify(ID) "/" __stringify(KEY)) -#endif - -#ifndef __section_xdp_entry -# define __section_xdp_entry \ - __section(ELF_SECTION_PROG) -#endif - -#ifndef __section_cls_entry -# define __section_cls_entry \ - __section(ELF_SECTION_CLASSIFIER) -#endif - -#ifndef __section_act_entry -# define __section_act_entry \ - __section(ELF_SECTION_ACTION) -#endif - -#ifndef __section_lwt_entry -# define __section_lwt_entry \ - __section(ELF_SECTION_PROG) -#endif - -#ifndef __section_license -# define __section_license \ - __section(ELF_SECTION_LICENSE) -#endif - -#ifndef __section_maps -# define __section_maps \ - __section(ELF_SECTION_MAPS) -#endif - -/** Declaration helper macros. */ - -#ifndef BPF_LICENSE -# define BPF_LICENSE(NAME) \ - char ____license[] __section_license = NAME -#endif - -/** Classifier helper */ - -#ifndef BPF_H_DEFAULT -# define BPF_H_DEFAULT -1 -#endif - -/** BPF helper functions for tc. Individual flags are in linux/bpf.h */ - -#ifndef __BPF_FUNC -# define __BPF_FUNC(NAME, ...) \ - (* NAME)(__VA_ARGS__) __maybe_unused -#endif - -#ifndef BPF_FUNC -# define BPF_FUNC(NAME, ...) \ - __BPF_FUNC(NAME, __VA_ARGS__) = (void *) BPF_FUNC_##NAME -#endif - -/* Map access/manipulation */ -static void *BPF_FUNC(map_lookup_elem, void *map, const void *key); -static int BPF_FUNC(map_update_elem, void *map, const void *key, - const void *value, uint32_t flags); -static int BPF_FUNC(map_delete_elem, void *map, const void *key); - -/* Time access */ -static uint64_t BPF_FUNC(ktime_get_ns); - -/* Debugging */ - -/* FIXME: __attribute__ ((format(printf, 1, 3))) not possible unless - * llvm bug https://llvm.org/bugs/show_bug.cgi?id=26243 gets resolved. - * It would require ____fmt to be made const, which generates a reloc - * entry (non-map). - */ -static void BPF_FUNC(trace_printk, const char *fmt, int fmt_size, ...); - -#ifndef printt -# define printt(fmt, ...) \ - ({ \ - char ____fmt[] = fmt; \ - trace_printk(____fmt, sizeof(____fmt), ##__VA_ARGS__); \ - }) -#endif - -/* Random numbers */ -static uint32_t BPF_FUNC(get_prandom_u32); - -/* Tail calls */ -static void BPF_FUNC(tail_call, struct __sk_buff *skb, void *map, - uint32_t index); - -/* System helpers */ -static uint32_t BPF_FUNC(get_smp_processor_id); -static uint32_t BPF_FUNC(get_numa_node_id); - -/* Packet misc meta data */ -static uint32_t BPF_FUNC(get_cgroup_classid, struct __sk_buff *skb); -static int BPF_FUNC(skb_under_cgroup, void *map, uint32_t index); - -static uint32_t BPF_FUNC(get_route_realm, struct __sk_buff *skb); -static uint32_t BPF_FUNC(get_hash_recalc, struct __sk_buff *skb); -static uint32_t BPF_FUNC(set_hash_invalid, struct __sk_buff *skb); - -/* Packet redirection */ -static int BPF_FUNC(redirect, int ifindex, uint32_t flags); -static int BPF_FUNC(clone_redirect, struct __sk_buff *skb, int ifindex, - uint32_t flags); - -/* Packet manipulation */ -static int BPF_FUNC(skb_load_bytes, struct __sk_buff *skb, uint32_t off, - void *to, uint32_t len); -static int BPF_FUNC(skb_store_bytes, struct __sk_buff *skb, uint32_t off, - const void *from, uint32_t len, uint32_t flags); - -static int BPF_FUNC(l3_csum_replace, struct __sk_buff *skb, uint32_t off, - uint32_t from, uint32_t to, uint32_t flags); -static int BPF_FUNC(l4_csum_replace, struct __sk_buff *skb, uint32_t off, - uint32_t from, uint32_t to, uint32_t flags); -static int BPF_FUNC(csum_diff, const void *from, uint32_t from_size, - const void *to, uint32_t to_size, uint32_t seed); -static int BPF_FUNC(csum_update, struct __sk_buff *skb, uint32_t wsum); - -static int BPF_FUNC(skb_change_type, struct __sk_buff *skb, uint32_t type); -static int BPF_FUNC(skb_change_proto, struct __sk_buff *skb, uint32_t proto, - uint32_t flags); -static int BPF_FUNC(skb_change_tail, struct __sk_buff *skb, uint32_t nlen, - uint32_t flags); - -static int BPF_FUNC(skb_pull_data, struct __sk_buff *skb, uint32_t len); - -/* Event notification */ -static int __BPF_FUNC(skb_event_output, struct __sk_buff *skb, void *map, - uint64_t index, const void *data, uint32_t size) = - (void *) BPF_FUNC_perf_event_output; - -/* Packet vlan encap/decap */ -static int BPF_FUNC(skb_vlan_push, struct __sk_buff *skb, uint16_t proto, - uint16_t vlan_tci); -static int BPF_FUNC(skb_vlan_pop, struct __sk_buff *skb); - -/* Packet tunnel encap/decap */ -static int BPF_FUNC(skb_get_tunnel_key, struct __sk_buff *skb, - struct bpf_tunnel_key *to, uint32_t size, uint32_t flags); -static int BPF_FUNC(skb_set_tunnel_key, struct __sk_buff *skb, - const struct bpf_tunnel_key *from, uint32_t size, - uint32_t flags); - -static int BPF_FUNC(skb_get_tunnel_opt, struct __sk_buff *skb, - void *to, uint32_t size); -static int BPF_FUNC(skb_set_tunnel_opt, struct __sk_buff *skb, - const void *from, uint32_t size); - -/** LLVM built-ins, mem*() routines work for constant size */ - -#ifndef lock_xadd -# define lock_xadd(ptr, val) ((void) __sync_fetch_and_add(ptr, val)) -#endif - -#ifndef memset -# define memset(s, c, n) __builtin_memset((s), (c), (n)) -#endif - -#ifndef memcpy -# define memcpy(d, s, n) __builtin_memcpy((d), (s), (n)) -#endif - -#ifndef memmove -# define memmove(d, s, n) __builtin_memmove((d), (s), (n)) -#endif - -/* FIXME: __builtin_memcmp() is not yet fully usable unless llvm bug - * https://llvm.org/bugs/show_bug.cgi?id=26218 gets resolved. Also - * this one would generate a reloc entry (non-map), otherwise. - */ -#if 0 -#ifndef memcmp -# define memcmp(a, b, n) __builtin_memcmp((a), (b), (n)) -#endif -#endif - -unsigned long long load_byte(void *skb, unsigned long long off) - asm ("llvm.bpf.load.byte"); - -unsigned long long load_half(void *skb, unsigned long long off) - asm ("llvm.bpf.load.half"); - -unsigned long long load_word(void *skb, unsigned long long off) - asm ("llvm.bpf.load.word"); - -#endif /* __BPF_API__ */ diff --git a/drivers/net/tap/bpf/bpf_elf.h b/drivers/net/tap/bpf/bpf_elf.h deleted file mode 100644 index ea8a11c95c..0000000000 --- a/drivers/net/tap/bpf/bpf_elf.h +++ /dev/null @@ -1,53 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0 or BSD-3-Clause */ -#ifndef __BPF_ELF__ -#define __BPF_ELF__ - -#include - -/* Note: - * - * Below ELF section names and bpf_elf_map structure definition - * are not (!) kernel ABI. It's rather a "contract" between the - * application and the BPF loader in tc. For compatibility, the - * section names should stay as-is. Introduction of aliases, if - * needed, are a possibility, though. - */ - -/* ELF section names, etc */ -#define ELF_SECTION_LICENSE "license" -#define ELF_SECTION_MAPS "maps" -#define ELF_SECTION_PROG "prog" -#define ELF_SECTION_CLASSIFIER "classifier" -#define ELF_SECTION_ACTION "action" - -#define ELF_MAX_MAPS 64 -#define ELF_MAX_LICENSE_LEN 128 - -/* Object pinning settings */ -#define PIN_NONE 0 -#define PIN_OBJECT_NS 1 -#define PIN_GLOBAL_NS 2 - -/* ELF map definition */ -struct bpf_elf_map { - __u32 type; - __u32 size_key; - __u32 size_value; - __u32 max_elem; - __u32 flags; - __u32 id; - __u32 pinning; - __u32 inner_id; - __u32 inner_idx; -}; - -#define BPF_ANNOTATE_KV_PAIR(name, type_key, type_val) \ - struct ____btf_map_##name { \ - type_key key; \ - type_val value; \ - }; \ - struct ____btf_map_##name \ - __attribute__ ((section(".maps." #name), used)) \ - ____btf_map_##name = { } - -#endif /* __BPF_ELF__ */ diff --git a/drivers/net/tap/bpf/tap_bpf_program.c b/drivers/net/tap/bpf/tap_bpf_program.c index f05aed021c..00f224f734 100644 --- a/drivers/net/tap/bpf/tap_bpf_program.c +++ b/drivers/net/tap/bpf/tap_bpf_program.c @@ -2,67 +2,42 @@ * Copyright 2017 Mellanox Technologies, Ltd */ -#include -#include -#include -#include -#include #include -#include #include #include #include -#include -#include - -#include "bpf_api.h" -#include "bpf_elf.h" +#include +#include +#include +#include +#include +#include #include "../tap_rss.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)) - /* * The queue number is offset by a unique QUEUE_OFFSET, to distinguish * packets that have gone through this rule (skb->cb[1] != 0) from others. */ #define QUEUE_OFFSET 0x7cafe800 -#define PIN_GLOBAL_NS 2 -#define KEY_IDX 0 -#define BPF_MAP_ID_KEY 1 +#define IP_MF 0x2000 /** IP header Flags **/ +#define IP_OFFSET 0x1FFF /** IP header fragment offset **/ -struct vlan_hdr { - __be16 proto; - __be16 tci; -}; -struct bpf_elf_map __attribute__((section("maps"), used)) -map_keys = { - .type = BPF_MAP_TYPE_HASH, - .id = BPF_MAP_ID_KEY, - .size_key = sizeof(__u32), - .size_value = sizeof(struct rss_key), - .max_elem = 256, - .pinning = PIN_GLOBAL_NS, -}; +struct { + __uint(type, BPF_MAP_TYPE_HASH); + __type(key, __u32); + __type(value, struct rss_key); + __uint(max_entries, 256); +} map_keys SEC(".maps"); -__section("cls_q") int -match_q(struct __sk_buff *skb) +SEC("cls_q") +int match_q(struct __sk_buff *skb) { __u32 queue = skb->cb[1]; - /* queue is set by tap_flow_bpf_cls_q() before load */ volatile __u32 q = 0xdeadbeef; __u32 match_queue = QUEUE_OFFSET + q; - /* printt("match_q$i() queue = %d\n", queue); */ - if (queue != match_queue) return TC_ACT_OK; @@ -71,7 +46,6 @@ match_q(struct __sk_buff *skb) return TC_ACT_UNSPEC; } - struct ipv4_l3_l4_tuple { __u32 src_addr; __u32 dst_addr; @@ -86,6 +60,16 @@ struct ipv6_l3_l4_tuple { __u16 sport; } __attribute__((packed)); +struct neth { + struct iphdr iph; + struct udphdr udph; +} __attribute__((packed)); + +struct net6h { + struct ipv6hdr ip6h; + struct udphdr udph; +} __attribute__((packed)); + static const __u8 def_rss_key[TAP_RSS_HASH_KEY_SIZE] = { 0xd1, 0x81, 0xc6, 0x2c, 0xf7, 0xf4, 0xdb, 0x5b, @@ -99,18 +83,18 @@ static const __u8 def_rss_key[TAP_RSS_HASH_KEY_SIZE] = { 0x2a, 0xdc, 0x1f, 0xfc, }; -static __u32 __attribute__((always_inline)) -rte_softrss_be(const __u32 *input_tuple, const uint8_t *rss_key, - __u8 input_len) +static __u64 __attribute__((always_inline)) +rte_softrss_be(const __u32 *input_tuple, __u8 input_len) { - __u32 i, j, hash = 0; -#pragma unroll + __u32 i, j; + __u64 hash = 0; +#pragma clang loop unroll(full) for (j = 0; j < input_len; j++) { -#pragma unroll +#pragma clang loop unroll(full) for (i = 0; i < 32; i++) { if (input_tuple[j] & (1U << (31 - i))) { hash ^= ((const __u32 *)def_rss_key)[j] << i | - (__u32)((uint64_t) + (__u32)((__u64) (((const __u32 *)def_rss_key)[j + 1]) >> (32 - i)); } @@ -119,137 +103,76 @@ rte_softrss_be(const __u32 *input_tuple, const uint8_t *rss_key, return hash; } -static int __attribute__((always_inline)) +SEC("l3_l4") +int __attribute__((always_inline)) rss_l3_l4(struct __sk_buff *skb) { - void *data_end = (void *)(long)skb->data_end; - void *data = (void *)(long)skb->data; - __u16 proto = (__u16)skb->protocol; + struct neth nh; + struct net6h n6h; __u32 key_idx = 0xdeadbeef; - __u32 hash; + __u64 hash; struct rss_key *rsskey; - __u64 off = ETH_HLEN; - int j; - __u8 *key = 0; + int j, k, ret; __u32 len; __u32 queue = 0; - bool mf = 0; - __u16 frag_off = 0; - rsskey = map_lookup_elem(&map_keys, &key_idx); - if (!rsskey) { - printt("hash(): rss key is not configured\n"); + rsskey = bpf_map_lookup_elem(&map_keys, &key_idx); + if (rsskey == NULL) { return TC_ACT_OK; } - key = (__u8 *)rsskey->key; - /* Get correct proto for 802.1ad */ - if (skb->vlan_present && skb->vlan_proto == htons(ETH_P_8021AD)) { - if (data + ETH_ALEN * 2 + sizeof(struct vlan_hdr) + - sizeof(proto) > data_end) - return TC_ACT_OK; - proto = *(__u16 *)(data + ETH_ALEN * 2 + - sizeof(struct vlan_hdr)); - off += sizeof(struct vlan_hdr); - } - - if (proto == htons(ETH_P_IP)) { - if (data + off + sizeof(struct iphdr) + sizeof(__u32) - > data_end) - return TC_ACT_OK; - - __u8 *src_dst_addr = data + off + offsetof(struct iphdr, saddr); - __u8 *frag_off_addr = data + off + offsetof(struct iphdr, frag_off); - __u8 *prot_addr = data + off + offsetof(struct iphdr, protocol); - __u8 *src_dst_port = data + off + sizeof(struct iphdr); + if (bpf_skb_load_bytes_relative(skb, 0, &nh, sizeof(nh), BPF_HDR_START_NET)) + return TC_ACT_OK; + if (nh.iph.version == 4) { struct ipv4_l3_l4_tuple v4_tuple = { - .src_addr = IPv4(*(src_dst_addr + 0), - *(src_dst_addr + 1), - *(src_dst_addr + 2), - *(src_dst_addr + 3)), - .dst_addr = IPv4(*(src_dst_addr + 4), - *(src_dst_addr + 5), - *(src_dst_addr + 6), - *(src_dst_addr + 7)), + .src_addr = bpf_ntohl(nh.iph.saddr), + .dst_addr = bpf_ntohl(nh.iph.daddr), .sport = 0, .dport = 0, }; - /** Fetch the L4-payer port numbers only in-case of TCP/UDP - ** and also if the packet is not fragmented. Since fragmented - ** chunks do not have L4 TCP/UDP header. - **/ - if (*prot_addr == IPPROTO_UDP || *prot_addr == IPPROTO_TCP) { - frag_off = PORT(*(frag_off_addr + 0), - *(frag_off_addr + 1)); - mf = frag_off & 0x2000; - frag_off = frag_off & 0x1fff; - if (mf == 0 && frag_off == 0) { - v4_tuple.sport = PORT(*(src_dst_port + 0), - *(src_dst_port + 1)); - v4_tuple.dport = PORT(*(src_dst_port + 2), - *(src_dst_port + 3)); + if (nh.iph.protocol == IPPROTO_UDP || nh.iph.protocol == IPPROTO_TCP) { + /** Is IP fragmented **/ + if ((nh.iph.frag_off & bpf_htons(IP_MF | IP_OFFSET)) == 0) { + v4_tuple.sport = bpf_ntohs(nh.udph.source); + v4_tuple.dport = bpf_ntohs(nh.udph.dest); } } - __u8 input_len = sizeof(v4_tuple) / sizeof(__u32); - if (rsskey->hash_fields & (1 << HASH_FIELD_IPV4_L3)) - input_len--; - hash = rte_softrss_be((__u32 *)&v4_tuple, key, 3); - } else if (proto == htons(ETH_P_IPV6)) { - if (data + off + sizeof(struct ipv6hdr) + - sizeof(__u32) > data_end) - return TC_ACT_OK; - __u8 *src_dst_addr = data + off + - offsetof(struct ipv6hdr, saddr); - __u8 *src_dst_port = data + off + - sizeof(struct ipv6hdr); - __u8 *next_hdr = data + off + - offsetof(struct ipv6hdr, nexthdr); - + hash = rte_softrss_be((__u32 *)&v4_tuple, 3); + } else if (nh.iph.version == 6) { struct ipv6_l3_l4_tuple v6_tuple; - for (j = 0; j < 4; j++) - *((uint32_t *)&v6_tuple.src_addr + j) = - __builtin_bswap32(*((uint32_t *) - src_dst_addr + j)); - for (j = 0; j < 4; j++) - *((uint32_t *)&v6_tuple.dst_addr + j) = - __builtin_bswap32(*((uint32_t *) - src_dst_addr + 4 + j)); - - /** Fetch the L4 header port-numbers only if next-header - * is TCP/UDP **/ - if (*next_hdr == IPPROTO_UDP || *next_hdr == IPPROTO_TCP) { - v6_tuple.sport = PORT(*(src_dst_port + 0), - *(src_dst_port + 1)); - v6_tuple.dport = PORT(*(src_dst_port + 2), - *(src_dst_port + 3)); - } else { + if (bpf_skb_load_bytes_relative(skb, 0, &n6h, sizeof(n6h), BPF_HDR_START_NET)) + return TC_ACT_OK; +#pragma clang loop unroll(full) + for (j = 0; j < 4; j++) { + *((__u32 *)&v6_tuple.src_addr + j) = + bpf_ntohl(n6h.ip6h.saddr.in6_u.u6_addr32[j]); + *((__u32 *)&v6_tuple.dst_addr + j) = + bpf_ntohl(n6h.ip6h.daddr.in6_u.u6_addr32[j]); + } + if (n6h.ip6h.nexthdr == IPPROTO_UDP || n6h.ip6h.nexthdr == IPPROTO_UDP) { + v6_tuple.sport = bpf_ntohs(n6h.udph.source); + v6_tuple.dport = bpf_ntohs(n6h.udph.dest); + } + else { v6_tuple.sport = 0; v6_tuple.dport = 0; } - - __u8 input_len = sizeof(v6_tuple) / sizeof(__u32); - if (rsskey->hash_fields & (1 << HASH_FIELD_IPV6_L3)) - input_len--; - hash = rte_softrss_be((__u32 *)&v6_tuple, key, 9); + hash = rte_softrss_be((__u32 *)&v6_tuple, 9); } else { return TC_ACT_PIPE; } - queue = rsskey->queues[(hash % rsskey->nb_queues) & - (TAP_MAX_QUEUES - 1)]; - skb->cb[1] = QUEUE_OFFSET + queue; - /* printt(">>>>> rss_l3_l4 hash=0x%x queue=%u\n", hash, queue); */ + hash = (hash % rsskey->nb_queues) & (TAP_MAX_QUEUES - 1); +#pragma clang loop unroll(full) + for (k = 0; k < TAP_MAX_QUEUES; k++) { + if(k == hash) + queue = rsskey->queues[k]; + } - return TC_ACT_RECLASSIFY; -} + skb->cb[1] = (__u32)(QUEUE_OFFSET + queue); -#define RSS(L) \ - __section(#L) int \ - L ## _hash(struct __sk_buff *skb) \ - { \ - return rss_ ## L (skb); \ - } + return TC_ACT_RECLASSIFY; -RSS(l3_l4) +} -BPF_LICENSE("Dual BSD/GPL"); +char _license[] SEC("license") = "Dual BSD/GPL"; diff --git a/drivers/net/tap/tap_bpf_api.c b/drivers/net/tap/tap_bpf_api.c index 15283f8917..7e13d4b8b6 100644 --- a/drivers/net/tap/tap_bpf_api.c +++ b/drivers/net/tap/tap_bpf_api.c @@ -48,8 +48,9 @@ int tap_flow_bpf_cls_q(__u32 queue_idx) */ int tap_flow_bpf_calc_l3_l4_hash(__u32 key_idx, int map_fd) { - l3_l4_hash_insns[4].imm = key_idx; - l3_l4_hash_insns[9].imm = map_fd; + l3_l4_hash_insns[1].imm = key_idx; + l3_l4_hash_insns[6].imm = map_fd; + l3_l4_hash_insns[6].src_reg = 1; return bpf_load(BPF_PROG_TYPE_SCHED_ACT, (struct bpf_insn *)l3_l4_hash_insns, diff --git a/drivers/net/tap/tap_bpf_insns.h b/drivers/net/tap/tap_bpf_insns.h index 53fa76c4e6..523dfe7656 100644 --- a/drivers/net/tap/tap_bpf_insns.h +++ b/drivers/net/tap/tap_bpf_insns.h @@ -24,395 +24,411 @@ static struct bpf_insn cls_q_insns[] = { }; static struct bpf_insn l3_l4_hash_insns[] = { - {0xbf, 7, 1, 0, 0x00000000}, - {0x61, 6, 7, 16, 0x00000000}, - {0x61, 8, 7, 76, 0x00000000}, - {0x61, 9, 7, 80, 0x00000000}, + {0xbf, 6, 1, 0, 0x00000000}, {0x18, 1, 0, 0, 0xdeadbeef}, {0x00, 0, 0, 0, 0x00000000}, - {0x63, 10, 1, -4, 0x00000000}, + {0x63, 10, 1, -84, 0x00000000}, {0xbf, 2, 10, 0, 0x00000000}, - {0x07, 2, 0, 0, 0xfffffffc}, + {0x07, 2, 0, 0, 0xffffffac}, {0x18, 1, 0, 0, 0x00000000}, {0x00, 0, 0, 0, 0x00000000}, {0x85, 0, 0, 0, 0x00000001}, - {0x55, 0, 0, 21, 0x00000000}, - {0xb7, 1, 0, 0, 0x00000a64}, - {0x6b, 10, 1, -16, 0x00000000}, - {0x18, 1, 0, 0, 0x69666e6f}, - {0x00, 0, 0, 0, 0x65727567}, - {0x7b, 10, 1, -24, 0x00000000}, - {0x18, 1, 0, 0, 0x6e207369}, - {0x00, 0, 0, 0, 0x6320746f}, - {0x7b, 10, 1, -32, 0x00000000}, - {0x18, 1, 0, 0, 0x20737372}, - {0x00, 0, 0, 0, 0x2079656b}, - {0x7b, 10, 1, -40, 0x00000000}, - {0x18, 1, 0, 0, 0x68736168}, - {0x00, 0, 0, 0, 0x203a2928}, - {0x7b, 10, 1, -48, 0x00000000}, - {0xb7, 7, 0, 0, 0x00000000}, - {0x73, 10, 7, -14, 0x00000000}, - {0xbf, 1, 10, 0, 0x00000000}, - {0x07, 1, 0, 0, 0xffffffd0}, - {0xb7, 2, 0, 0, 0x00000023}, - {0x85, 0, 0, 0, 0x00000006}, - {0x05, 0, 0, 1680, 0x00000000}, - {0xb7, 1, 0, 0, 0x0000000e}, - {0x61, 2, 7, 20, 0x00000000}, - {0x15, 2, 0, 10, 0x00000000}, - {0x61, 2, 7, 28, 0x00000000}, - {0x55, 2, 0, 8, 0x0000a888}, - {0xbf, 2, 7, 0, 0x00000000}, - {0xb7, 7, 0, 0, 0x00000000}, - {0xbf, 1, 8, 0, 0x00000000}, - {0x07, 1, 0, 0, 0x00000012}, - {0x2d, 1, 9, 1670, 0x00000000}, - {0xb7, 1, 0, 0, 0x00000012}, - {0x69, 6, 8, 16, 0x00000000}, - {0xbf, 7, 2, 0, 0x00000000}, - {0x57, 6, 0, 0, 0x0000ffff}, - {0x7b, 10, 7, -56, 0x00000000}, - {0x15, 6, 0, 443, 0x0000dd86}, - {0xb7, 7, 0, 0, 0x00000003}, - {0x55, 6, 0, 1662, 0x00000008}, - {0x0f, 8, 1, 0, 0x00000000}, - {0xb7, 7, 0, 0, 0x00000000}, - {0xbf, 1, 8, 0, 0x00000000}, - {0x07, 1, 0, 0, 0x00000018}, - {0x2d, 1, 9, 1657, 0x00000000}, + {0xbf, 7, 0, 0, 0x00000000}, + {0xb7, 8, 0, 0, 0x00000000}, + {0x15, 7, 0, 2064, 0x00000000}, + {0xbf, 3, 10, 0, 0x00000000}, + {0x07, 3, 0, 0, 0xffffffe0}, + {0xbf, 1, 6, 0, 0x00000000}, + {0xb7, 2, 0, 0, 0x00000000}, + {0xb7, 4, 0, 0, 0x0000001c}, + {0xb7, 5, 0, 0, 0x00000001}, + {0x85, 0, 0, 0, 0x00000044}, + {0x55, 0, 0, 2056, 0x00000000}, + {0x71, 1, 10, -32, 0x00000000}, + {0x77, 1, 0, 0, 0x00000004}, + {0x15, 1, 0, 503, 0x00000006}, + {0xb7, 8, 0, 0, 0x00000003}, + {0x55, 1, 0, 2051, 0x00000004}, {0xb7, 1, 0, 0, 0x00000000}, - {0x71, 3, 8, 12, 0x00000000}, - {0x71, 2, 8, 9, 0x00000000}, + {0x61, 4, 10, -20, 0x00000000}, + {0xdc, 4, 0, 0, 0x00000040}, + {0xc7, 4, 0, 0, 0x00000020}, + {0x71, 2, 10, -23, 0x00000000}, {0x15, 2, 0, 1, 0x00000011}, - {0x55, 2, 0, 21, 0x00000006}, - {0x71, 2, 8, 7, 0x00000000}, - {0x71, 4, 8, 6, 0x00000000}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x67, 5, 0, 0, 0x00000008}, - {0x57, 5, 0, 0, 0x00001f00}, - {0x4f, 5, 2, 0, 0x00000000}, - {0x57, 4, 0, 0, 0x00000020}, - {0x4f, 4, 5, 0, 0x00000000}, - {0x55, 4, 0, 12, 0x00000000}, - {0xbf, 2, 8, 0, 0x00000000}, - {0x07, 2, 0, 0, 0x00000014}, - {0x71, 4, 2, 0, 0x00000000}, - {0x67, 4, 0, 0, 0x00000018}, - {0x71, 1, 2, 1, 0x00000000}, - {0x67, 1, 0, 0, 0x00000010}, - {0x4f, 1, 4, 0, 0x00000000}, - {0x71, 4, 2, 3, 0x00000000}, - {0x4f, 1, 4, 0, 0x00000000}, - {0x71, 2, 2, 2, 0x00000000}, - {0x67, 2, 0, 0, 0x00000008}, - {0x4f, 1, 2, 0, 0x00000000}, - {0xbf, 4, 3, 0, 0x00000000}, - {0x67, 4, 0, 0, 0x00000038}, - {0xc7, 4, 0, 0, 0x00000038}, + {0x55, 2, 0, 5, 0x00000006}, + {0x69, 2, 10, -26, 0x00000000}, + {0x57, 2, 0, 0, 0x0000ff3f}, + {0x55, 2, 0, 2, 0x00000000}, + {0x61, 1, 10, -12, 0x00000000}, + {0xdc, 1, 0, 0, 0x00000020}, {0xb7, 2, 0, 0, 0x00000000}, + {0xb7, 5, 0, 0, 0x00000000}, {0x65, 4, 0, 1, 0xffffffff}, - {0xb7, 7, 0, 0, 0x2cc681d1}, - {0xbf, 4, 3, 0, 0x00000000}, - {0x57, 4, 0, 0, 0x00000040}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x598d03a2}, - {0xbf, 4, 3, 0, 0x00000000}, - {0x57, 4, 0, 0, 0x00000020}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0xb31a0745}, - {0xbf, 4, 3, 0, 0x00000000}, - {0x57, 4, 0, 0, 0x00000010}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x66340e8a}, - {0xbf, 4, 3, 0, 0x00000000}, - {0x57, 4, 0, 0, 0x00000008}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0xcc681d15}, - {0xbf, 4, 3, 0, 0x00000000}, - {0x57, 4, 0, 0, 0x00000004}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x98d03a2b}, - {0xbf, 4, 3, 0, 0x00000000}, - {0x57, 4, 0, 0, 0x00000002}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x31a07456}, - {0x71, 4, 8, 13, 0x00000000}, - {0x57, 3, 0, 0, 0x00000001}, + {0xb7, 5, 0, 0, 0x2cc681d1}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x40000000}, {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x6340e8ad}, + {0xa7, 5, 0, 0, 0x598d03a2}, {0xbf, 3, 4, 0, 0x00000000}, - {0x67, 3, 0, 0, 0x00000038}, - {0xc7, 3, 0, 0, 0x00000038}, - {0xbf, 5, 7, 0, 0x00000000}, - {0xa7, 5, 0, 0, 0xc681d15b}, - {0x6d, 2, 3, 1, 0x00000000}, - {0xbf, 5, 7, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x20000000}, + {0x15, 3, 0, 3, 0x00000000}, + {0x18, 3, 0, 0, 0xb31a0745}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 5, 3, 0, 0x00000000}, {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00000040}, + {0x57, 3, 0, 0, 0x10000000}, {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x8d03a2b7}, + {0xa7, 5, 0, 0, 0x66340e8a}, {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00000020}, + {0x57, 3, 0, 0, 0x08000000}, + {0x15, 3, 0, 3, 0x00000000}, + {0x18, 3, 0, 0, 0xcc681d15}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 5, 3, 0, 0x00000000}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x04000000}, + {0x15, 3, 0, 3, 0x00000000}, + {0x18, 3, 0, 0, 0x98d03a2b}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 5, 3, 0, 0x00000000}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x02000000}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0x31a07456}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x01000000}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0x6340e8ad}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00800000}, + {0x15, 3, 0, 3, 0x00000000}, + {0x18, 3, 0, 0, 0xc681d15b}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 5, 3, 0, 0x00000000}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00400000}, + {0x15, 3, 0, 3, 0x00000000}, + {0x18, 3, 0, 0, 0x8d03a2b7}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 5, 3, 0, 0x00000000}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00200000}, {0x15, 3, 0, 1, 0x00000000}, {0xa7, 5, 0, 0, 0x1a07456f}, {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00000010}, + {0x57, 3, 0, 0, 0x00100000}, {0x15, 3, 0, 1, 0x00000000}, {0xa7, 5, 0, 0, 0x340e8ade}, {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00000008}, + {0x57, 3, 0, 0, 0x00080000}, {0x15, 3, 0, 1, 0x00000000}, {0xa7, 5, 0, 0, 0x681d15bd}, {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00000004}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0xd03a2b7b}, + {0x57, 3, 0, 0, 0x00040000}, + {0x15, 3, 0, 3, 0x00000000}, + {0x18, 3, 0, 0, 0xd03a2b7b}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 5, 3, 0, 0x00000000}, {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00000002}, + {0x57, 3, 0, 0, 0x00020000}, + {0x15, 3, 0, 3, 0x00000000}, + {0x18, 3, 0, 0, 0xa07456f6}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 5, 3, 0, 0x00000000}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00010000}, {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0xa07456f6}, - {0x71, 3, 8, 14, 0x00000000}, - {0x57, 4, 0, 0, 0x00000001}, - {0x15, 4, 0, 1, 0x00000000}, {0xa7, 5, 0, 0, 0x40e8aded}, - {0xbf, 4, 3, 0, 0x00000000}, - {0x67, 4, 0, 0, 0x00000038}, - {0xc7, 4, 0, 0, 0x00000038}, - {0xbf, 7, 5, 0, 0x00000000}, - {0xa7, 7, 0, 0, 0x81d15bdb}, - {0x6d, 2, 4, 1, 0x00000000}, - {0xbf, 7, 5, 0, 0x00000000}, - {0xbf, 4, 3, 0, 0x00000000}, - {0x57, 4, 0, 0, 0x00000040}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x03a2b7b7}, - {0xbf, 4, 3, 0, 0x00000000}, - {0x57, 4, 0, 0, 0x00000020}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x07456f6f}, - {0xbf, 4, 3, 0, 0x00000000}, - {0x57, 4, 0, 0, 0x00000010}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x0e8adedf}, - {0xbf, 4, 3, 0, 0x00000000}, - {0x57, 4, 0, 0, 0x00000008}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x1d15bdbf}, - {0xbf, 4, 3, 0, 0x00000000}, - {0x57, 4, 0, 0, 0x00000004}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x3a2b7b7e}, - {0xbf, 4, 3, 0, 0x00000000}, - {0x57, 4, 0, 0, 0x00000002}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x7456f6fd}, - {0x71, 4, 8, 15, 0x00000000}, - {0x57, 3, 0, 0, 0x00000001}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0xe8adedfa}, {0xbf, 3, 4, 0, 0x00000000}, - {0x67, 3, 0, 0, 0x00000038}, - {0xc7, 3, 0, 0, 0x00000038}, - {0xbf, 5, 7, 0, 0x00000000}, - {0xa7, 5, 0, 0, 0xd15bdbf4}, - {0x6d, 2, 3, 1, 0x00000000}, - {0xbf, 5, 7, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00008000}, + {0x15, 3, 0, 3, 0x00000000}, + {0x18, 3, 0, 0, 0x81d15bdb}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 5, 3, 0, 0x00000000}, {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00000040}, + {0x57, 3, 0, 0, 0x00004000}, {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0xa2b7b7e9}, + {0xa7, 5, 0, 0, 0x03a2b7b7}, {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00000020}, + {0x57, 3, 0, 0, 0x00002000}, {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x456f6fd3}, + {0xa7, 5, 0, 0, 0x07456f6f}, {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00000010}, + {0x57, 3, 0, 0, 0x00001000}, {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x8adedfa7}, + {0xa7, 5, 0, 0, 0x0e8adedf}, {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00000008}, + {0x57, 3, 0, 0, 0x00000800}, {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x15bdbf4f}, + {0xa7, 5, 0, 0, 0x1d15bdbf}, {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00000004}, + {0x57, 3, 0, 0, 0x00000400}, {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x2b7b7e9e}, + {0xa7, 5, 0, 0, 0x3a2b7b7e}, {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00000002}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x56f6fd3d}, - {0x71, 3, 8, 16, 0x00000000}, - {0x57, 4, 0, 0, 0x00000001}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0xadedfa7b}, - {0xbf, 4, 3, 0, 0x00000000}, - {0x67, 4, 0, 0, 0x00000038}, - {0xc7, 4, 0, 0, 0x00000038}, - {0xbf, 7, 5, 0, 0x00000000}, - {0xa7, 7, 0, 0, 0x5bdbf4f7}, - {0x6d, 2, 4, 1, 0x00000000}, - {0xbf, 7, 5, 0, 0x00000000}, - {0xbf, 4, 3, 0, 0x00000000}, - {0x57, 4, 0, 0, 0x00000040}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0xb7b7e9ef}, - {0xbf, 4, 3, 0, 0x00000000}, - {0x57, 4, 0, 0, 0x00000020}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x6f6fd3df}, - {0xbf, 4, 3, 0, 0x00000000}, - {0x57, 4, 0, 0, 0x00000010}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0xdedfa7bf}, - {0xbf, 4, 3, 0, 0x00000000}, - {0x57, 4, 0, 0, 0x00000008}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0xbdbf4f7f}, - {0xbf, 4, 3, 0, 0x00000000}, - {0x57, 4, 0, 0, 0x00000004}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x7b7e9eff}, - {0xbf, 4, 3, 0, 0x00000000}, - {0x57, 4, 0, 0, 0x00000002}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0xf6fd3dff}, - {0x71, 4, 8, 17, 0x00000000}, - {0x57, 3, 0, 0, 0x00000001}, + {0x57, 3, 0, 0, 0x00000200}, {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0xedfa7bfe}, + {0xa7, 5, 0, 0, 0x7456f6fd}, {0xbf, 3, 4, 0, 0x00000000}, - {0x67, 3, 0, 0, 0x00000038}, - {0xc7, 3, 0, 0, 0x00000038}, - {0xbf, 5, 7, 0, 0x00000000}, - {0xa7, 5, 0, 0, 0xdbf4f7fc}, - {0x6d, 2, 3, 1, 0x00000000}, - {0xbf, 5, 7, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00000100}, + {0x15, 3, 0, 3, 0x00000000}, + {0x18, 3, 0, 0, 0xe8adedfa}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 5, 3, 0, 0x00000000}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00000080}, + {0x15, 3, 0, 3, 0x00000000}, + {0x18, 3, 0, 0, 0xd15bdbf4}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 5, 3, 0, 0x00000000}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00000040}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0xb7e9eff9}, + {0x15, 3, 0, 3, 0x00000000}, + {0x18, 3, 0, 0, 0xa2b7b7e9}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 5, 3, 0, 0x00000000}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00000020}, {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x6fd3dff2}, + {0xa7, 5, 0, 0, 0x456f6fd3}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00000010}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0xdfa7bfe5}, + {0x15, 3, 0, 3, 0x00000000}, + {0x18, 3, 0, 0, 0x8adedfa7}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 5, 3, 0, 0x00000000}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00000008}, {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0xbf4f7fca}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00000004}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x7e9eff94}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00000002}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0xfd3dff28}, - {0x71, 3, 8, 18, 0x00000000}, + {0xa7, 5, 0, 0, 0x15bdbf4f}, + {0x61, 3, 10, -16, 0x00000000}, + {0xbf, 0, 4, 0, 0x00000000}, + {0x57, 0, 0, 0, 0x00000004}, + {0x15, 0, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0x2b7b7e9e}, + {0xdc, 3, 0, 0, 0x00000040}, + {0xbf, 0, 4, 0, 0x00000000}, + {0x57, 0, 0, 0, 0x00000002}, + {0x15, 0, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0x56f6fd3d}, + {0xc7, 3, 0, 0, 0x00000020}, {0x57, 4, 0, 0, 0x00000001}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0xfa7bfe51}, - {0xbf, 6, 3, 0, 0x00000000}, - {0x67, 6, 0, 0, 0x00000038}, - {0xc7, 6, 0, 0, 0x00000038}, + {0x15, 4, 0, 3, 0x00000000}, + {0x18, 4, 0, 0, 0xadedfa7b}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 5, 4, 0, 0x00000000}, {0xbf, 4, 5, 0, 0x00000000}, - {0xa7, 4, 0, 0, 0xf4f7fca2}, - {0x6d, 2, 6, 1, 0x00000000}, + {0xa7, 4, 0, 0, 0x5bdbf4f7}, + {0x6d, 2, 3, 1, 0x00000000}, {0xbf, 4, 5, 0, 0x00000000}, {0xbf, 5, 3, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000040}, + {0x57, 5, 0, 0, 0x40000000}, + {0x15, 5, 0, 3, 0x00000000}, + {0x18, 5, 0, 0, 0xb7b7e9ef}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 4, 5, 0, 0x00000000}, + {0xbf, 5, 3, 0, 0x00000000}, + {0x57, 5, 0, 0, 0x20000000}, {0x15, 5, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0xe9eff945}, + {0xa7, 4, 0, 0, 0x6f6fd3df}, {0xbf, 5, 3, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000020}, + {0x57, 5, 0, 0, 0x10000000}, + {0x15, 5, 0, 3, 0x00000000}, + {0x18, 5, 0, 0, 0xdedfa7bf}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 4, 5, 0, 0x00000000}, + {0xbf, 5, 3, 0, 0x00000000}, + {0x57, 5, 0, 0, 0x08000000}, + {0x15, 5, 0, 3, 0x00000000}, + {0x18, 5, 0, 0, 0xbdbf4f7f}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 4, 5, 0, 0x00000000}, + {0xbf, 5, 3, 0, 0x00000000}, + {0x57, 5, 0, 0, 0x04000000}, {0x15, 5, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0xd3dff28a}, + {0xa7, 4, 0, 0, 0x7b7e9eff}, {0xbf, 5, 3, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000010}, + {0x57, 5, 0, 0, 0x02000000}, + {0x15, 5, 0, 3, 0x00000000}, + {0x18, 5, 0, 0, 0xf6fd3dff}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 4, 5, 0, 0x00000000}, + {0xbf, 5, 3, 0, 0x00000000}, + {0x57, 5, 0, 0, 0x01000000}, + {0x15, 5, 0, 3, 0x00000000}, + {0x18, 5, 0, 0, 0xedfa7bfe}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 4, 5, 0, 0x00000000}, + {0xbf, 5, 3, 0, 0x00000000}, + {0x57, 5, 0, 0, 0x00800000}, + {0x15, 5, 0, 3, 0x00000000}, + {0x18, 5, 0, 0, 0xdbf4f7fc}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 4, 5, 0, 0x00000000}, + {0xbf, 5, 3, 0, 0x00000000}, + {0x57, 5, 0, 0, 0x00400000}, + {0x15, 5, 0, 3, 0x00000000}, + {0x18, 5, 0, 0, 0xb7e9eff9}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 4, 5, 0, 0x00000000}, + {0xbf, 5, 3, 0, 0x00000000}, + {0x57, 5, 0, 0, 0x00200000}, {0x15, 5, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0xa7bfe514}, + {0xa7, 4, 0, 0, 0x6fd3dff2}, {0xbf, 5, 3, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000008}, + {0x57, 5, 0, 0, 0x00100000}, + {0x15, 5, 0, 3, 0x00000000}, + {0x18, 5, 0, 0, 0xdfa7bfe5}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 4, 5, 0, 0x00000000}, + {0xbf, 5, 3, 0, 0x00000000}, + {0x57, 5, 0, 0, 0x00080000}, + {0x15, 5, 0, 3, 0x00000000}, + {0x18, 5, 0, 0, 0xbf4f7fca}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 4, 5, 0, 0x00000000}, + {0xbf, 5, 3, 0, 0x00000000}, + {0x57, 5, 0, 0, 0x00040000}, {0x15, 5, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0x4f7fca28}, + {0xa7, 4, 0, 0, 0x7e9eff94}, {0xbf, 5, 3, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000004}, + {0x57, 5, 0, 0, 0x00020000}, + {0x15, 5, 0, 3, 0x00000000}, + {0x18, 5, 0, 0, 0xfd3dff28}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 4, 5, 0, 0x00000000}, + {0xbf, 5, 3, 0, 0x00000000}, + {0x57, 5, 0, 0, 0x00010000}, + {0x15, 5, 0, 3, 0x00000000}, + {0x18, 5, 0, 0, 0xfa7bfe51}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 4, 5, 0, 0x00000000}, + {0xbf, 5, 3, 0, 0x00000000}, + {0x57, 5, 0, 0, 0x00008000}, + {0x15, 5, 0, 3, 0x00000000}, + {0x18, 5, 0, 0, 0xf4f7fca2}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 4, 5, 0, 0x00000000}, + {0xbf, 5, 3, 0, 0x00000000}, + {0x57, 5, 0, 0, 0x00004000}, + {0x15, 5, 0, 3, 0x00000000}, + {0x18, 5, 0, 0, 0xe9eff945}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 4, 5, 0, 0x00000000}, + {0xbf, 5, 3, 0, 0x00000000}, + {0x57, 5, 0, 0, 0x00002000}, + {0x15, 5, 0, 3, 0x00000000}, + {0x18, 5, 0, 0, 0xd3dff28a}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 4, 5, 0, 0x00000000}, + {0xbf, 5, 3, 0, 0x00000000}, + {0x57, 5, 0, 0, 0x00001000}, + {0x15, 5, 0, 3, 0x00000000}, + {0x18, 5, 0, 0, 0xa7bfe514}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 4, 5, 0, 0x00000000}, + {0xbf, 5, 3, 0, 0x00000000}, + {0x57, 5, 0, 0, 0x00000800}, {0x15, 5, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0x9eff9450}, + {0xa7, 4, 0, 0, 0x4f7fca28}, {0xbf, 5, 3, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000002}, + {0x57, 5, 0, 0, 0x00000400}, + {0x15, 5, 0, 3, 0x00000000}, + {0x18, 5, 0, 0, 0x9eff9450}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 4, 5, 0, 0x00000000}, + {0xbf, 5, 3, 0, 0x00000000}, + {0x57, 5, 0, 0, 0x00000200}, {0x15, 5, 0, 1, 0x00000000}, {0xa7, 4, 0, 0, 0x3dff28a0}, - {0x71, 5, 8, 19, 0x00000000}, - {0x57, 3, 0, 0, 0x00000001}, - {0x15, 3, 0, 1, 0x00000000}, + {0xbf, 5, 3, 0, 0x00000000}, + {0x57, 5, 0, 0, 0x00000100}, + {0x15, 5, 0, 1, 0x00000000}, {0xa7, 4, 0, 0, 0x7bfe5141}, - {0xbf, 3, 5, 0, 0x00000000}, - {0x67, 3, 0, 0, 0x00000038}, - {0xc7, 3, 0, 0, 0x00000038}, - {0xbf, 7, 4, 0, 0x00000000}, - {0xa7, 7, 0, 0, 0xf7fca283}, - {0x6d, 2, 3, 1, 0x00000000}, - {0xbf, 7, 4, 0, 0x00000000}, - {0xbf, 3, 5, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00000040}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0xeff94506}, - {0xbf, 3, 5, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00000020}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0xdff28a0c}, - {0xbf, 3, 5, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00000010}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0xbfe51418}, - {0xbf, 3, 5, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00000008}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x7fca2831}, - {0xbf, 3, 5, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00000004}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0xff945063}, - {0xbf, 3, 5, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00000002}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0xff28a0c6}, - {0x57, 5, 0, 0, 0x00000001}, + {0xbf, 5, 3, 0, 0x00000000}, + {0x57, 5, 0, 0, 0x00000080}, + {0x15, 5, 0, 3, 0x00000000}, + {0x18, 5, 0, 0, 0xf7fca283}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 4, 5, 0, 0x00000000}, + {0xbf, 5, 3, 0, 0x00000000}, + {0x57, 5, 0, 0, 0x00000040}, + {0x15, 5, 0, 3, 0x00000000}, + {0x18, 5, 0, 0, 0xeff94506}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 4, 5, 0, 0x00000000}, + {0xbf, 5, 3, 0, 0x00000000}, + {0x57, 5, 0, 0, 0x00000020}, + {0x15, 5, 0, 3, 0x00000000}, + {0x18, 5, 0, 0, 0xdff28a0c}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 4, 5, 0, 0x00000000}, + {0xbf, 5, 3, 0, 0x00000000}, + {0x57, 5, 0, 0, 0x00000010}, + {0x15, 5, 0, 3, 0x00000000}, + {0x18, 5, 0, 0, 0xbfe51418}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 4, 5, 0, 0x00000000}, + {0xbf, 5, 3, 0, 0x00000000}, + {0x57, 5, 0, 0, 0x00000008}, {0x15, 5, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0xfe51418c}, - {0xbf, 4, 1, 0, 0x00000000}, - {0x67, 4, 0, 0, 0x00000020}, - {0xc7, 4, 0, 0, 0x00000020}, - {0xbf, 3, 7, 0, 0x00000000}, - {0xa7, 3, 0, 0, 0xfca28319}, - {0x6d, 2, 4, 1, 0x00000000}, - {0xbf, 3, 7, 0, 0x00000000}, + {0xa7, 4, 0, 0, 0x7fca2831}, + {0xbf, 5, 3, 0, 0x00000000}, + {0x57, 5, 0, 0, 0x00000004}, + {0x15, 5, 0, 3, 0x00000000}, + {0x18, 5, 0, 0, 0xff945063}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 4, 5, 0, 0x00000000}, + {0xbf, 5, 3, 0, 0x00000000}, + {0x57, 5, 0, 0, 0x00000002}, + {0x15, 5, 0, 3, 0x00000000}, + {0x18, 5, 0, 0, 0xff28a0c6}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 4, 5, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00000001}, + {0x15, 3, 0, 3, 0x00000000}, + {0x18, 3, 0, 0, 0xfe51418c}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 4, 3, 0, 0x00000000}, + {0xbf, 5, 1, 0, 0x00000000}, + {0x67, 5, 0, 0, 0x00000020}, + {0xc7, 5, 0, 0, 0x00000020}, + {0x18, 0, 0, 0, 0xfca28319}, + {0x00, 0, 0, 0, 0x00000000}, + {0xbf, 3, 4, 0, 0x00000000}, + {0xaf, 3, 0, 0, 0x00000000}, + {0x6d, 2, 5, 1, 0x00000000}, + {0xbf, 3, 4, 0, 0x00000000}, {0xbf, 2, 1, 0, 0x00000000}, {0x57, 2, 0, 0, 0x40000000}, - {0x15, 2, 0, 1, 0x00000000}, - {0xa7, 3, 0, 0, 0xf9450633}, + {0x15, 2, 0, 3, 0x00000000}, + {0x18, 2, 0, 0, 0xf9450633}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 3, 2, 0, 0x00000000}, {0xbf, 2, 1, 0, 0x00000000}, {0x57, 2, 0, 0, 0x20000000}, - {0x79, 6, 10, -56, 0x00000000}, - {0x15, 2, 0, 1, 0x00000000}, - {0xa7, 3, 0, 0, 0xf28a0c67}, + {0x15, 2, 0, 3, 0x00000000}, + {0x18, 2, 0, 0, 0xf28a0c67}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 3, 2, 0, 0x00000000}, {0xbf, 2, 1, 0, 0x00000000}, {0x57, 2, 0, 0, 0x10000000}, - {0x15, 2, 0, 1, 0x00000000}, - {0xa7, 3, 0, 0, 0xe51418ce}, + {0x15, 2, 0, 3, 0x00000000}, + {0x18, 2, 0, 0, 0xe51418ce}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 3, 2, 0, 0x00000000}, {0xbf, 2, 1, 0, 0x00000000}, {0x57, 2, 0, 0, 0x08000000}, - {0x15, 2, 0, 1, 0x00000000}, - {0xa7, 3, 0, 0, 0xca28319d}, + {0x15, 2, 0, 3, 0x00000000}, + {0x18, 2, 0, 0, 0xca28319d}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 3, 2, 0, 0x00000000}, {0xbf, 2, 1, 0, 0x00000000}, {0x57, 2, 0, 0, 0x04000000}, - {0x15, 2, 0, 1, 0x00000000}, - {0xa7, 3, 0, 0, 0x9450633b}, + {0x15, 2, 0, 3, 0x00000000}, + {0x18, 2, 0, 0, 0x9450633b}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 3, 2, 0, 0x00000000}, {0xbf, 2, 1, 0, 0x00000000}, {0x57, 2, 0, 0, 0x02000000}, {0x15, 2, 0, 1, 0x00000000}, @@ -423,16 +439,20 @@ static struct bpf_insn l3_l4_hash_insns[] = { {0xa7, 3, 0, 0, 0x51418ced}, {0xbf, 2, 1, 0, 0x00000000}, {0x57, 2, 0, 0, 0x00800000}, - {0x15, 2, 0, 1, 0x00000000}, - {0xa7, 3, 0, 0, 0xa28319db}, + {0x15, 2, 0, 3, 0x00000000}, + {0x18, 2, 0, 0, 0xa28319db}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 3, 2, 0, 0x00000000}, {0xbf, 2, 1, 0, 0x00000000}, {0x57, 2, 0, 0, 0x00400000}, {0x15, 2, 0, 1, 0x00000000}, {0xa7, 3, 0, 0, 0x450633b6}, {0xbf, 2, 1, 0, 0x00000000}, {0x57, 2, 0, 0, 0x00200000}, - {0x15, 2, 0, 1, 0x00000000}, - {0xa7, 3, 0, 0, 0x8a0c676c}, + {0x15, 2, 0, 3, 0x00000000}, + {0x18, 2, 0, 0, 0x8a0c676c}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 3, 2, 0, 0x00000000}, {0xbf, 2, 1, 0, 0x00000000}, {0x57, 2, 0, 0, 0x00100000}, {0x15, 2, 0, 1, 0x00000000}, @@ -447,16 +467,20 @@ static struct bpf_insn l3_l4_hash_insns[] = { {0xa7, 3, 0, 0, 0x50633b63}, {0xbf, 2, 1, 0, 0x00000000}, {0x57, 2, 0, 0, 0x00020000}, - {0x15, 2, 0, 1, 0x00000000}, - {0xa7, 3, 0, 0, 0xa0c676c6}, + {0x15, 2, 0, 3, 0x00000000}, + {0x18, 2, 0, 0, 0xa0c676c6}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 3, 2, 0, 0x00000000}, {0xbf, 2, 1, 0, 0x00000000}, {0x57, 2, 0, 0, 0x00010000}, {0x15, 2, 0, 1, 0x00000000}, {0xa7, 3, 0, 0, 0x418ced8d}, {0xbf, 2, 1, 0, 0x00000000}, {0x57, 2, 0, 0, 0x00008000}, - {0x15, 2, 0, 1, 0x00000000}, - {0xa7, 3, 0, 0, 0x8319db1a}, + {0x15, 2, 0, 3, 0x00000000}, + {0x18, 2, 0, 0, 0x8319db1a}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 3, 2, 0, 0x00000000}, {0xbf, 2, 1, 0, 0x00000000}, {0x57, 2, 0, 0, 0x00004000}, {0x15, 2, 0, 1, 0x00000000}, @@ -479,12 +503,16 @@ static struct bpf_insn l3_l4_hash_insns[] = { {0xa7, 3, 0, 0, 0x633b6347}, {0xbf, 2, 1, 0, 0x00000000}, {0x57, 2, 0, 0, 0x00000200}, - {0x15, 2, 0, 1, 0x00000000}, - {0xa7, 3, 0, 0, 0xc676c68f}, + {0x15, 2, 0, 3, 0x00000000}, + {0x18, 2, 0, 0, 0xc676c68f}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 3, 2, 0, 0x00000000}, {0xbf, 2, 1, 0, 0x00000000}, {0x57, 2, 0, 0, 0x00000100}, - {0x15, 2, 0, 1, 0x00000000}, - {0xa7, 3, 0, 0, 0x8ced8d1f}, + {0x15, 2, 0, 3, 0x00000000}, + {0x18, 2, 0, 0, 0x8ced8d1f}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 3, 2, 0, 0x00000000}, {0xbf, 2, 1, 0, 0x00000000}, {0x57, 2, 0, 0, 0x00000080}, {0x15, 2, 0, 1, 0x00000000}, @@ -499,12 +527,16 @@ static struct bpf_insn l3_l4_hash_insns[] = { {0xa7, 3, 0, 0, 0x676c68fa}, {0xbf, 2, 1, 0, 0x00000000}, {0x57, 2, 0, 0, 0x00000010}, - {0x15, 2, 0, 1, 0x00000000}, - {0xa7, 3, 0, 0, 0xced8d1f4}, + {0x15, 2, 0, 3, 0x00000000}, + {0x18, 2, 0, 0, 0xced8d1f4}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 3, 2, 0, 0x00000000}, {0xbf, 2, 1, 0, 0x00000000}, {0x57, 2, 0, 0, 0x00000008}, - {0x15, 2, 0, 1, 0x00000000}, - {0xa7, 3, 0, 0, 0x9db1a3e9}, + {0x15, 2, 0, 3, 0x00000000}, + {0x18, 2, 0, 0, 0x9db1a3e9}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 3, 2, 0, 0x00000000}, {0xbf, 2, 1, 0, 0x00000000}, {0x57, 2, 0, 0, 0x00000004}, {0x15, 2, 0, 1, 0x00000000}, @@ -514,1078 +546,1336 @@ static struct bpf_insn l3_l4_hash_insns[] = { {0x15, 2, 0, 1, 0x00000000}, {0xa7, 3, 0, 0, 0x76c68fa5}, {0x57, 1, 0, 0, 0x00000001}, - {0x15, 1, 0, 1194, 0x00000000}, - {0xa7, 3, 0, 0, 0xed8d1f4a}, - {0x05, 0, 0, 1192, 0x00000000}, - {0x0f, 8, 1, 0, 0x00000000}, - {0xb7, 7, 0, 0, 0x00000000}, - {0xbf, 1, 8, 0, 0x00000000}, - {0x07, 1, 0, 0, 0x0000002c}, - {0x2d, 1, 9, 1216, 0x00000000}, - {0x61, 2, 8, 8, 0x00000000}, - {0xdc, 2, 0, 0, 0x00000040}, - {0xc7, 2, 0, 0, 0x00000020}, - {0x71, 3, 8, 6, 0x00000000}, - {0x15, 3, 0, 2, 0x00000011}, + {0x15, 1, 0, 1482, 0x00000000}, + {0x18, 1, 0, 0, 0xed8d1f4a}, + {0x00, 0, 0, 0, 0x00000000}, + {0x05, 0, 0, 1478, 0x00000000}, + {0xbf, 3, 10, 0, 0x00000000}, + {0x07, 3, 0, 0, 0xffffffb0}, + {0xbf, 1, 6, 0, 0x00000000}, + {0xb7, 2, 0, 0, 0x00000000}, + {0xb7, 4, 0, 0, 0x00000030}, + {0xb7, 5, 0, 0, 0x00000001}, + {0x85, 0, 0, 0, 0x00000044}, + {0x55, 0, 0, 1542, 0x00000000}, + {0xb7, 2, 0, 0, 0x00000000}, + {0x61, 4, 10, -72, 0x00000000}, + {0xdc, 4, 0, 0, 0x00000040}, + {0xc7, 4, 0, 0, 0x00000020}, + {0x71, 3, 10, -74, 0x00000000}, {0xb7, 1, 0, 0, 0x00000000}, - {0x55, 3, 0, 12, 0x00000006}, - {0xbf, 3, 8, 0, 0x00000000}, - {0x07, 3, 0, 0, 0x00000028}, - {0x71, 4, 3, 0, 0x00000000}, - {0x67, 4, 0, 0, 0x00000018}, - {0x71, 1, 3, 1, 0x00000000}, - {0x67, 1, 0, 0, 0x00000010}, - {0x4f, 1, 4, 0, 0x00000000}, - {0x71, 4, 3, 3, 0x00000000}, - {0x4f, 1, 4, 0, 0x00000000}, - {0x71, 3, 3, 2, 0x00000000}, - {0x67, 3, 0, 0, 0x00000008}, - {0x4f, 1, 3, 0, 0x00000000}, - {0xbf, 4, 2, 0, 0x00000000}, - {0x77, 4, 0, 0, 0x0000001f}, - {0x57, 4, 0, 0, 0x2cc681d1}, - {0xbf, 3, 2, 0, 0x00000000}, + {0x55, 3, 0, 2, 0x00000011}, + {0x61, 1, 10, -40, 0x00000000}, + {0xdc, 1, 0, 0, 0x00000020}, + {0xb7, 5, 0, 0, 0x00000000}, + {0x65, 4, 0, 1, 0xffffffff}, + {0xb7, 5, 0, 0, 0x2cc681d1}, + {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x40000000}, {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0x598d03a2}, - {0xbf, 3, 2, 0, 0x00000000}, + {0xa7, 5, 0, 0, 0x598d03a2}, + {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x20000000}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0xb31a0745}, - {0xbf, 3, 2, 0, 0x00000000}, + {0x15, 3, 0, 3, 0x00000000}, + {0x18, 3, 0, 0, 0xb31a0745}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 5, 3, 0, 0x00000000}, + {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x10000000}, {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0x66340e8a}, - {0xbf, 3, 2, 0, 0x00000000}, + {0xa7, 5, 0, 0, 0x66340e8a}, + {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x08000000}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0xcc681d15}, - {0xbf, 3, 2, 0, 0x00000000}, + {0x15, 3, 0, 3, 0x00000000}, + {0x18, 3, 0, 0, 0xcc681d15}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 5, 3, 0, 0x00000000}, + {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x04000000}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0x98d03a2b}, - {0xbf, 3, 2, 0, 0x00000000}, + {0x15, 3, 0, 3, 0x00000000}, + {0x18, 3, 0, 0, 0x98d03a2b}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 5, 3, 0, 0x00000000}, + {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x02000000}, {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0x31a07456}, - {0xbf, 3, 2, 0, 0x00000000}, + {0xa7, 5, 0, 0, 0x31a07456}, + {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x01000000}, {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0x6340e8ad}, - {0xbf, 3, 2, 0, 0x00000000}, + {0xa7, 5, 0, 0, 0x6340e8ad}, + {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00800000}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0xc681d15b}, - {0xbf, 3, 2, 0, 0x00000000}, + {0x15, 3, 0, 3, 0x00000000}, + {0x18, 3, 0, 0, 0xc681d15b}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 5, 3, 0, 0x00000000}, + {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00400000}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0x8d03a2b7}, - {0xbf, 3, 2, 0, 0x00000000}, + {0x15, 3, 0, 3, 0x00000000}, + {0x18, 3, 0, 0, 0x8d03a2b7}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 5, 3, 0, 0x00000000}, + {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00200000}, {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0x1a07456f}, - {0xbf, 3, 2, 0, 0x00000000}, + {0xa7, 5, 0, 0, 0x1a07456f}, + {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00100000}, {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0x340e8ade}, - {0xbf, 3, 2, 0, 0x00000000}, + {0xa7, 5, 0, 0, 0x340e8ade}, + {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00080000}, {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0x681d15bd}, - {0xbf, 3, 2, 0, 0x00000000}, + {0xa7, 5, 0, 0, 0x681d15bd}, + {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00040000}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0xd03a2b7b}, - {0xbf, 3, 2, 0, 0x00000000}, + {0x15, 3, 0, 3, 0x00000000}, + {0x18, 3, 0, 0, 0xd03a2b7b}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 5, 3, 0, 0x00000000}, + {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00020000}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0xa07456f6}, - {0xbf, 3, 2, 0, 0x00000000}, + {0x15, 3, 0, 3, 0x00000000}, + {0x18, 3, 0, 0, 0xa07456f6}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 5, 3, 0, 0x00000000}, + {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00010000}, {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0x40e8aded}, - {0xbf, 3, 2, 0, 0x00000000}, + {0xa7, 5, 0, 0, 0x40e8aded}, + {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00008000}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0x81d15bdb}, - {0xbf, 3, 2, 0, 0x00000000}, + {0x15, 3, 0, 3, 0x00000000}, + {0x18, 3, 0, 0, 0x81d15bdb}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 5, 3, 0, 0x00000000}, + {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00004000}, {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0x03a2b7b7}, - {0xbf, 3, 2, 0, 0x00000000}, + {0xa7, 5, 0, 0, 0x03a2b7b7}, + {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00002000}, {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0x07456f6f}, - {0xbf, 3, 2, 0, 0x00000000}, + {0xa7, 5, 0, 0, 0x07456f6f}, + {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00001000}, {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0x0e8adedf}, - {0xbf, 3, 2, 0, 0x00000000}, + {0xa7, 5, 0, 0, 0x0e8adedf}, + {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00000800}, {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0x1d15bdbf}, - {0xbf, 3, 2, 0, 0x00000000}, + {0xa7, 5, 0, 0, 0x1d15bdbf}, + {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00000400}, {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0x3a2b7b7e}, - {0xbf, 3, 2, 0, 0x00000000}, + {0xa7, 5, 0, 0, 0x3a2b7b7e}, + {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00000200}, {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0x7456f6fd}, - {0xbf, 3, 2, 0, 0x00000000}, + {0xa7, 5, 0, 0, 0x7456f6fd}, + {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00000100}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0xe8adedfa}, - {0xbf, 3, 2, 0, 0x00000000}, + {0x15, 3, 0, 3, 0x00000000}, + {0x18, 3, 0, 0, 0xe8adedfa}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 5, 3, 0, 0x00000000}, + {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00000080}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0xd15bdbf4}, - {0xbf, 3, 2, 0, 0x00000000}, + {0x15, 3, 0, 3, 0x00000000}, + {0x18, 3, 0, 0, 0xd15bdbf4}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 5, 3, 0, 0x00000000}, + {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00000040}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0xa2b7b7e9}, - {0xbf, 3, 2, 0, 0x00000000}, + {0x15, 3, 0, 3, 0x00000000}, + {0x18, 3, 0, 0, 0xa2b7b7e9}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 5, 3, 0, 0x00000000}, + {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00000020}, {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0x456f6fd3}, - {0xbf, 3, 2, 0, 0x00000000}, + {0xa7, 5, 0, 0, 0x456f6fd3}, + {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00000010}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0x8adedfa7}, - {0xbf, 3, 2, 0, 0x00000000}, + {0x15, 3, 0, 3, 0x00000000}, + {0x18, 3, 0, 0, 0x8adedfa7}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 5, 3, 0, 0x00000000}, + {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00000008}, {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0x15bdbf4f}, - {0x61, 3, 8, 12, 0x00000000}, - {0xbf, 5, 2, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000004}, - {0x15, 5, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0x2b7b7e9e}, + {0xa7, 5, 0, 0, 0x15bdbf4f}, + {0x61, 3, 10, -68, 0x00000000}, + {0xbf, 0, 4, 0, 0x00000000}, + {0x57, 0, 0, 0, 0x00000004}, + {0x15, 0, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0x2b7b7e9e}, {0xdc, 3, 0, 0, 0x00000040}, - {0xbf, 5, 2, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000002}, - {0x15, 5, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0x56f6fd3d}, + {0xbf, 0, 4, 0, 0x00000000}, + {0x57, 0, 0, 0, 0x00000002}, + {0x15, 0, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0x56f6fd3d}, {0xc7, 3, 0, 0, 0x00000020}, - {0x57, 2, 0, 0, 0x00000001}, - {0x15, 2, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0xadedfa7b}, - {0xb7, 2, 0, 0, 0x00000000}, - {0xbf, 5, 4, 0, 0x00000000}, - {0xa7, 5, 0, 0, 0x5bdbf4f7}, + {0x57, 4, 0, 0, 0x00000001}, + {0x15, 4, 0, 3, 0x00000000}, + {0x18, 4, 0, 0, 0xadedfa7b}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 5, 4, 0, 0x00000000}, + {0xbf, 4, 5, 0, 0x00000000}, + {0xa7, 4, 0, 0, 0x5bdbf4f7}, {0x6d, 2, 3, 1, 0x00000000}, - {0xbf, 5, 4, 0, 0x00000000}, - {0xbf, 4, 3, 0, 0x00000000}, + {0xbf, 4, 5, 0, 0x00000000}, + {0xbf, 5, 3, 0, 0x00000000}, + {0x57, 5, 0, 0, 0x40000000}, + {0x15, 5, 0, 3, 0x00000000}, + {0x18, 5, 0, 0, 0xb7b7e9ef}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 4, 5, 0, 0x00000000}, + {0xbf, 5, 3, 0, 0x00000000}, + {0x57, 5, 0, 0, 0x20000000}, + {0x15, 5, 0, 1, 0x00000000}, + {0xa7, 4, 0, 0, 0x6f6fd3df}, + {0xbf, 5, 3, 0, 0x00000000}, + {0x57, 5, 0, 0, 0x10000000}, + {0x15, 5, 0, 3, 0x00000000}, + {0x18, 5, 0, 0, 0xdedfa7bf}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 4, 5, 0, 0x00000000}, + {0xbf, 5, 3, 0, 0x00000000}, + {0x57, 5, 0, 0, 0x08000000}, + {0x15, 5, 0, 3, 0x00000000}, + {0x18, 5, 0, 0, 0xbdbf4f7f}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 4, 5, 0, 0x00000000}, + {0xbf, 5, 3, 0, 0x00000000}, + {0x57, 5, 0, 0, 0x04000000}, + {0x15, 5, 0, 1, 0x00000000}, + {0xa7, 4, 0, 0, 0x7b7e9eff}, + {0xbf, 5, 3, 0, 0x00000000}, + {0x57, 5, 0, 0, 0x02000000}, + {0x15, 5, 0, 3, 0x00000000}, + {0x18, 5, 0, 0, 0xf6fd3dff}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 4, 5, 0, 0x00000000}, + {0xbf, 5, 3, 0, 0x00000000}, + {0x57, 5, 0, 0, 0x01000000}, + {0x15, 5, 0, 3, 0x00000000}, + {0x18, 5, 0, 0, 0xedfa7bfe}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 4, 5, 0, 0x00000000}, + {0xbf, 5, 3, 0, 0x00000000}, + {0x57, 5, 0, 0, 0x00800000}, + {0x15, 5, 0, 3, 0x00000000}, + {0x18, 5, 0, 0, 0xdbf4f7fc}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 4, 5, 0, 0x00000000}, + {0xbf, 5, 3, 0, 0x00000000}, + {0x57, 5, 0, 0, 0x00400000}, + {0x15, 5, 0, 3, 0x00000000}, + {0x18, 5, 0, 0, 0xb7e9eff9}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 4, 5, 0, 0x00000000}, + {0xbf, 5, 3, 0, 0x00000000}, + {0x57, 5, 0, 0, 0x00200000}, + {0x15, 5, 0, 1, 0x00000000}, + {0xa7, 4, 0, 0, 0x6fd3dff2}, + {0xbf, 5, 3, 0, 0x00000000}, + {0x57, 5, 0, 0, 0x00100000}, + {0x15, 5, 0, 3, 0x00000000}, + {0x18, 5, 0, 0, 0xdfa7bfe5}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 4, 5, 0, 0x00000000}, + {0xbf, 5, 3, 0, 0x00000000}, + {0x57, 5, 0, 0, 0x00080000}, + {0x15, 5, 0, 3, 0x00000000}, + {0x18, 5, 0, 0, 0xbf4f7fca}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 4, 5, 0, 0x00000000}, + {0xbf, 5, 3, 0, 0x00000000}, + {0x57, 5, 0, 0, 0x00040000}, + {0x15, 5, 0, 1, 0x00000000}, + {0xa7, 4, 0, 0, 0x7e9eff94}, + {0xbf, 5, 3, 0, 0x00000000}, + {0x57, 5, 0, 0, 0x00020000}, + {0x15, 5, 0, 3, 0x00000000}, + {0x18, 5, 0, 0, 0xfd3dff28}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 4, 5, 0, 0x00000000}, + {0xbf, 5, 3, 0, 0x00000000}, + {0x57, 5, 0, 0, 0x00010000}, + {0x15, 5, 0, 3, 0x00000000}, + {0x18, 5, 0, 0, 0xfa7bfe51}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 4, 5, 0, 0x00000000}, + {0xbf, 5, 3, 0, 0x00000000}, + {0x57, 5, 0, 0, 0x00008000}, + {0x15, 5, 0, 3, 0x00000000}, + {0x18, 5, 0, 0, 0xf4f7fca2}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 4, 5, 0, 0x00000000}, + {0xbf, 5, 3, 0, 0x00000000}, + {0x57, 5, 0, 0, 0x00004000}, + {0x15, 5, 0, 3, 0x00000000}, + {0x18, 5, 0, 0, 0xe9eff945}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 4, 5, 0, 0x00000000}, + {0xbf, 5, 3, 0, 0x00000000}, + {0x57, 5, 0, 0, 0x00002000}, + {0x15, 5, 0, 3, 0x00000000}, + {0x18, 5, 0, 0, 0xd3dff28a}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 4, 5, 0, 0x00000000}, + {0xbf, 5, 3, 0, 0x00000000}, + {0x57, 5, 0, 0, 0x00001000}, + {0x15, 5, 0, 3, 0x00000000}, + {0x18, 5, 0, 0, 0xa7bfe514}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 4, 5, 0, 0x00000000}, + {0xbf, 5, 3, 0, 0x00000000}, + {0x57, 5, 0, 0, 0x00000800}, + {0x15, 5, 0, 1, 0x00000000}, + {0xa7, 4, 0, 0, 0x4f7fca28}, + {0xbf, 5, 3, 0, 0x00000000}, + {0x57, 5, 0, 0, 0x00000400}, + {0x15, 5, 0, 3, 0x00000000}, + {0x18, 5, 0, 0, 0x9eff9450}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 4, 5, 0, 0x00000000}, + {0xbf, 5, 3, 0, 0x00000000}, + {0x57, 5, 0, 0, 0x00000200}, + {0x15, 5, 0, 1, 0x00000000}, + {0xa7, 4, 0, 0, 0x3dff28a0}, + {0xbf, 5, 3, 0, 0x00000000}, + {0x57, 5, 0, 0, 0x00000100}, + {0x15, 5, 0, 1, 0x00000000}, + {0xa7, 4, 0, 0, 0x7bfe5141}, + {0xbf, 5, 3, 0, 0x00000000}, + {0x57, 5, 0, 0, 0x00000080}, + {0x15, 5, 0, 3, 0x00000000}, + {0x18, 5, 0, 0, 0xf7fca283}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 4, 5, 0, 0x00000000}, + {0xbf, 5, 3, 0, 0x00000000}, + {0x57, 5, 0, 0, 0x00000040}, + {0x15, 5, 0, 3, 0x00000000}, + {0x18, 5, 0, 0, 0xeff94506}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 4, 5, 0, 0x00000000}, + {0xbf, 5, 3, 0, 0x00000000}, + {0x57, 5, 0, 0, 0x00000020}, + {0x15, 5, 0, 3, 0x00000000}, + {0x18, 5, 0, 0, 0xdff28a0c}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 4, 5, 0, 0x00000000}, + {0xbf, 5, 3, 0, 0x00000000}, + {0x57, 5, 0, 0, 0x00000010}, + {0x15, 5, 0, 3, 0x00000000}, + {0x18, 5, 0, 0, 0xbfe51418}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 4, 5, 0, 0x00000000}, + {0xbf, 5, 3, 0, 0x00000000}, + {0x57, 5, 0, 0, 0x00000008}, + {0x15, 5, 0, 1, 0x00000000}, + {0xa7, 4, 0, 0, 0x7fca2831}, + {0x61, 5, 10, -64, 0x00000000}, + {0xbf, 0, 3, 0, 0x00000000}, + {0x57, 0, 0, 0, 0x00000004}, + {0x15, 0, 0, 3, 0x00000000}, + {0x18, 0, 0, 0, 0xff945063}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 4, 0, 0, 0x00000000}, + {0xdc, 5, 0, 0, 0x00000040}, + {0xbf, 0, 3, 0, 0x00000000}, + {0x57, 0, 0, 0, 0x00000002}, + {0x15, 0, 0, 3, 0x00000000}, + {0x18, 0, 0, 0, 0xff28a0c6}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 4, 0, 0, 0x00000000}, + {0xc7, 5, 0, 0, 0x00000020}, + {0x57, 3, 0, 0, 0x00000001}, + {0x15, 3, 0, 3, 0x00000000}, + {0x18, 3, 0, 0, 0xfe51418c}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 4, 3, 0, 0x00000000}, + {0x18, 0, 0, 0, 0xfca28319}, + {0x00, 0, 0, 0, 0x00000000}, + {0xbf, 3, 4, 0, 0x00000000}, + {0xaf, 3, 0, 0, 0x00000000}, + {0x6d, 2, 5, 1, 0x00000000}, + {0xbf, 3, 4, 0, 0x00000000}, + {0xbf, 4, 5, 0, 0x00000000}, {0x57, 4, 0, 0, 0x40000000}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0xb7b7e9ef}, - {0xbf, 4, 3, 0, 0x00000000}, + {0x15, 4, 0, 3, 0x00000000}, + {0x18, 4, 0, 0, 0xf9450633}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 3, 4, 0, 0x00000000}, + {0xbf, 4, 5, 0, 0x00000000}, {0x57, 4, 0, 0, 0x20000000}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x6f6fd3df}, - {0xbf, 4, 3, 0, 0x00000000}, + {0x15, 4, 0, 3, 0x00000000}, + {0x18, 4, 0, 0, 0xf28a0c67}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 3, 4, 0, 0x00000000}, + {0xbf, 4, 5, 0, 0x00000000}, {0x57, 4, 0, 0, 0x10000000}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0xdedfa7bf}, - {0xbf, 4, 3, 0, 0x00000000}, + {0x15, 4, 0, 3, 0x00000000}, + {0x18, 4, 0, 0, 0xe51418ce}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 3, 4, 0, 0x00000000}, + {0xbf, 4, 5, 0, 0x00000000}, {0x57, 4, 0, 0, 0x08000000}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0xbdbf4f7f}, - {0xbf, 4, 3, 0, 0x00000000}, + {0x15, 4, 0, 3, 0x00000000}, + {0x18, 4, 0, 0, 0xca28319d}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 3, 4, 0, 0x00000000}, + {0xbf, 4, 5, 0, 0x00000000}, {0x57, 4, 0, 0, 0x04000000}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x7b7e9eff}, - {0xbf, 4, 3, 0, 0x00000000}, + {0x15, 4, 0, 3, 0x00000000}, + {0x18, 4, 0, 0, 0x9450633b}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 3, 4, 0, 0x00000000}, + {0xbf, 4, 5, 0, 0x00000000}, {0x57, 4, 0, 0, 0x02000000}, {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0xf6fd3dff}, - {0xbf, 4, 3, 0, 0x00000000}, + {0xa7, 3, 0, 0, 0x28a0c676}, + {0xbf, 4, 5, 0, 0x00000000}, {0x57, 4, 0, 0, 0x01000000}, {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0xedfa7bfe}, - {0xbf, 4, 3, 0, 0x00000000}, + {0xa7, 3, 0, 0, 0x51418ced}, + {0xbf, 4, 5, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00800000}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0xdbf4f7fc}, - {0xbf, 4, 3, 0, 0x00000000}, + {0x15, 4, 0, 3, 0x00000000}, + {0x18, 4, 0, 0, 0xa28319db}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 3, 4, 0, 0x00000000}, + {0xbf, 4, 5, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00400000}, {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0xb7e9eff9}, - {0xbf, 4, 3, 0, 0x00000000}, + {0xa7, 3, 0, 0, 0x450633b6}, + {0xbf, 4, 5, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00200000}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x6fd3dff2}, - {0xbf, 4, 3, 0, 0x00000000}, + {0x15, 4, 0, 3, 0x00000000}, + {0x18, 4, 0, 0, 0x8a0c676c}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 3, 4, 0, 0x00000000}, + {0xbf, 4, 5, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00100000}, {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0xdfa7bfe5}, - {0xbf, 4, 3, 0, 0x00000000}, + {0xa7, 3, 0, 0, 0x1418ced8}, + {0xbf, 4, 5, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00080000}, {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0xbf4f7fca}, - {0xbf, 4, 3, 0, 0x00000000}, + {0xa7, 3, 0, 0, 0x28319db1}, + {0xbf, 4, 5, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00040000}, {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x7e9eff94}, - {0xbf, 4, 3, 0, 0x00000000}, + {0xa7, 3, 0, 0, 0x50633b63}, + {0xbf, 4, 5, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00020000}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0xfd3dff28}, - {0xbf, 4, 3, 0, 0x00000000}, + {0x15, 4, 0, 3, 0x00000000}, + {0x18, 4, 0, 0, 0xa0c676c6}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 3, 4, 0, 0x00000000}, + {0xbf, 4, 5, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00010000}, {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0xfa7bfe51}, - {0xbf, 4, 3, 0, 0x00000000}, + {0xa7, 3, 0, 0, 0x418ced8d}, + {0xbf, 4, 5, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00008000}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0xf4f7fca2}, - {0xbf, 4, 3, 0, 0x00000000}, + {0x15, 4, 0, 3, 0x00000000}, + {0x18, 4, 0, 0, 0x8319db1a}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 3, 4, 0, 0x00000000}, + {0xbf, 4, 5, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00004000}, {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0xe9eff945}, - {0xbf, 4, 3, 0, 0x00000000}, + {0xa7, 3, 0, 0, 0x0633b634}, + {0xbf, 4, 5, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00002000}, {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0xd3dff28a}, - {0xbf, 4, 3, 0, 0x00000000}, + {0xa7, 3, 0, 0, 0x0c676c68}, + {0xbf, 4, 5, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00001000}, {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0xa7bfe514}, - {0xbf, 4, 3, 0, 0x00000000}, + {0xa7, 3, 0, 0, 0x18ced8d1}, + {0xbf, 4, 5, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00000800}, {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x4f7fca28}, - {0xbf, 4, 3, 0, 0x00000000}, + {0xa7, 3, 0, 0, 0x319db1a3}, + {0xbf, 4, 5, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00000400}, {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x9eff9450}, - {0xbf, 4, 3, 0, 0x00000000}, + {0xa7, 3, 0, 0, 0x633b6347}, + {0xbf, 4, 5, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00000200}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x3dff28a0}, - {0xbf, 4, 3, 0, 0x00000000}, + {0x15, 4, 0, 3, 0x00000000}, + {0x18, 4, 0, 0, 0xc676c68f}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 3, 4, 0, 0x00000000}, + {0xbf, 4, 5, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00000100}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x7bfe5141}, - {0xbf, 4, 3, 0, 0x00000000}, + {0x15, 4, 0, 3, 0x00000000}, + {0x18, 4, 0, 0, 0x8ced8d1f}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 3, 4, 0, 0x00000000}, + {0xbf, 4, 5, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00000080}, {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0xf7fca283}, - {0xbf, 4, 3, 0, 0x00000000}, + {0xa7, 3, 0, 0, 0x19db1a3e}, + {0xbf, 4, 5, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00000040}, {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0xeff94506}, - {0xbf, 4, 3, 0, 0x00000000}, + {0xa7, 3, 0, 0, 0x33b6347d}, + {0xbf, 4, 5, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00000020}, {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0xdff28a0c}, - {0xbf, 4, 3, 0, 0x00000000}, + {0xa7, 3, 0, 0, 0x676c68fa}, + {0xbf, 4, 5, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00000010}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0xbfe51418}, - {0xbf, 4, 3, 0, 0x00000000}, + {0x15, 4, 0, 3, 0x00000000}, + {0x18, 4, 0, 0, 0xced8d1f4}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 3, 4, 0, 0x00000000}, + {0xbf, 4, 5, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00000008}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x7fca2831}, - {0x61, 4, 8, 16, 0x00000000}, - {0xbf, 6, 3, 0, 0x00000000}, - {0x57, 6, 0, 0, 0x00000004}, - {0x15, 6, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0xff945063}, + {0x15, 4, 0, 3, 0x00000000}, + {0x18, 4, 0, 0, 0x9db1a3e9}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 3, 4, 0, 0x00000000}, + {0x61, 4, 10, -60, 0x00000000}, + {0xbf, 0, 5, 0, 0x00000000}, + {0x57, 0, 0, 0, 0x00000004}, + {0x15, 0, 0, 1, 0x00000000}, + {0xa7, 3, 0, 0, 0x3b6347d2}, {0xdc, 4, 0, 0, 0x00000040}, - {0xbf, 6, 3, 0, 0x00000000}, - {0x57, 6, 0, 0, 0x00000002}, - {0x15, 6, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0xff28a0c6}, + {0xbf, 0, 5, 0, 0x00000000}, + {0x57, 0, 0, 0, 0x00000002}, + {0x15, 0, 0, 1, 0x00000000}, + {0xa7, 3, 0, 0, 0x76c68fa5}, {0xc7, 4, 0, 0, 0x00000020}, - {0x57, 3, 0, 0, 0x00000001}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0xfe51418c}, - {0xbf, 7, 5, 0, 0x00000000}, - {0xa7, 7, 0, 0, 0xfca28319}, + {0x57, 5, 0, 0, 0x00000001}, + {0x15, 5, 0, 3, 0x00000000}, + {0x18, 5, 0, 0, 0xed8d1f4a}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 3, 5, 0, 0x00000000}, + {0x18, 5, 0, 0, 0xdb1a3e94}, + {0x00, 0, 0, 0, 0x00000000}, + {0xbf, 0, 3, 0, 0x00000000}, + {0xaf, 0, 5, 0, 0x00000000}, {0x6d, 2, 4, 1, 0x00000000}, - {0xbf, 7, 5, 0, 0x00000000}, + {0xbf, 0, 3, 0, 0x00000000}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x40000000}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0xf9450633}, + {0x15, 3, 0, 3, 0x00000000}, + {0x18, 3, 0, 0, 0xb6347d28}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 0, 3, 0, 0x00000000}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x20000000}, {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0xf28a0c67}, + {0xa7, 0, 0, 0, 0x6c68fa51}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x10000000}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0xe51418ce}, + {0x15, 3, 0, 3, 0x00000000}, + {0x18, 3, 0, 0, 0xd8d1f4a3}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 0, 3, 0, 0x00000000}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x08000000}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0xca28319d}, + {0x15, 3, 0, 3, 0x00000000}, + {0x18, 3, 0, 0, 0xb1a3e946}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 0, 3, 0, 0x00000000}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x04000000}, {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x9450633b}, + {0xa7, 0, 0, 0, 0x6347d28d}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x02000000}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x28a0c676}, + {0x15, 3, 0, 3, 0x00000000}, + {0x18, 3, 0, 0, 0xc68fa51a}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 0, 3, 0, 0x00000000}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x01000000}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x51418ced}, + {0x15, 3, 0, 3, 0x00000000}, + {0x18, 3, 0, 0, 0x8d1f4a35}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 0, 3, 0, 0x00000000}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00800000}, {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0xa28319db}, + {0xa7, 0, 0, 0, 0x1a3e946b}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00400000}, {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x450633b6}, + {0xa7, 0, 0, 0, 0x347d28d7}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00200000}, {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x8a0c676c}, + {0xa7, 0, 0, 0, 0x68fa51ae}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00100000}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x1418ced8}, + {0x15, 3, 0, 3, 0x00000000}, + {0x18, 3, 0, 0, 0xd1f4a35c}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 0, 3, 0, 0x00000000}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00080000}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x28319db1}, + {0x15, 3, 0, 3, 0x00000000}, + {0x18, 3, 0, 0, 0xa3e946b9}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 0, 3, 0, 0x00000000}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00040000}, {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x50633b63}, + {0xa7, 0, 0, 0, 0x47d28d73}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00020000}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0xa0c676c6}, + {0x15, 3, 0, 3, 0x00000000}, + {0x18, 3, 0, 0, 0x8fa51ae7}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 0, 3, 0, 0x00000000}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00010000}, {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x418ced8d}, + {0xa7, 0, 0, 0, 0x1f4a35cf}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00008000}, {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x8319db1a}, + {0xa7, 0, 0, 0, 0x3e946b9e}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00004000}, {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x0633b634}, + {0xa7, 0, 0, 0, 0x7d28d73c}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00002000}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x0c676c68}, + {0x15, 3, 0, 3, 0x00000000}, + {0x18, 3, 0, 0, 0xfa51ae78}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 0, 3, 0, 0x00000000}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00001000}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x18ced8d1}, + {0x15, 3, 0, 3, 0x00000000}, + {0x18, 3, 0, 0, 0xf4a35cf1}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 0, 3, 0, 0x00000000}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00000800}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x319db1a3}, + {0x15, 3, 0, 3, 0x00000000}, + {0x18, 3, 0, 0, 0xe946b9e3}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 0, 3, 0, 0x00000000}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00000400}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x633b6347}, + {0x15, 3, 0, 3, 0x00000000}, + {0x18, 3, 0, 0, 0xd28d73c7}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 0, 3, 0, 0x00000000}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00000200}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0xc676c68f}, + {0x15, 3, 0, 3, 0x00000000}, + {0x18, 3, 0, 0, 0xa51ae78e}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 0, 3, 0, 0x00000000}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00000100}, {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x8ced8d1f}, + {0xa7, 0, 0, 0, 0x4a35cf1c}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00000080}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x19db1a3e}, + {0x15, 3, 0, 3, 0x00000000}, + {0x18, 3, 0, 0, 0x946b9e38}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 0, 3, 0, 0x00000000}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00000040}, {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x33b6347d}, + {0xa7, 0, 0, 0, 0x28d73c71}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00000020}, {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x676c68fa}, + {0xa7, 0, 0, 0, 0x51ae78e3}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00000010}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0xced8d1f4}, + {0x15, 3, 0, 3, 0x00000000}, + {0x18, 3, 0, 0, 0xa35cf1c6}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 0, 3, 0, 0x00000000}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00000008}, {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x9db1a3e9}, - {0x61, 3, 8, 20, 0x00000000}, + {0xa7, 0, 0, 0, 0x46b9e38d}, + {0x61, 3, 10, -56, 0x00000000}, {0xbf, 5, 4, 0, 0x00000000}, {0x57, 5, 0, 0, 0x00000004}, - {0x15, 5, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x3b6347d2}, + {0x15, 5, 0, 3, 0x00000000}, + {0x18, 5, 0, 0, 0x8d73c71b}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 0, 5, 0, 0x00000000}, {0xdc, 3, 0, 0, 0x00000040}, {0xbf, 5, 4, 0, 0x00000000}, {0x57, 5, 0, 0, 0x00000002}, {0x15, 5, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x76c68fa5}, + {0xa7, 0, 0, 0, 0x1ae78e36}, {0xc7, 3, 0, 0, 0x00000020}, {0x57, 4, 0, 0, 0x00000001}, {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0xed8d1f4a}, - {0xbf, 5, 7, 0, 0x00000000}, - {0xa7, 5, 0, 0, 0xdb1a3e94}, + {0xa7, 0, 0, 0, 0x35cf1c6c}, + {0xbf, 5, 0, 0, 0x00000000}, + {0xa7, 5, 0, 0, 0x6b9e38d9}, {0x6d, 2, 3, 1, 0x00000000}, - {0xbf, 5, 7, 0, 0x00000000}, + {0xbf, 5, 0, 0, 0x00000000}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x40000000}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0xb6347d28}, + {0x15, 4, 0, 3, 0x00000000}, + {0x18, 4, 0, 0, 0xd73c71b2}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 5, 4, 0, 0x00000000}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x20000000}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x6c68fa51}, + {0x15, 4, 0, 3, 0x00000000}, + {0x18, 4, 0, 0, 0xae78e364}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 5, 4, 0, 0x00000000}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x10000000}, {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0xd8d1f4a3}, + {0xa7, 5, 0, 0, 0x5cf1c6c9}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x08000000}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0xb1a3e946}, + {0x15, 4, 0, 3, 0x00000000}, + {0x18, 4, 0, 0, 0xb9e38d92}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 5, 4, 0, 0x00000000}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x04000000}, {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x6347d28d}, + {0xa7, 5, 0, 0, 0x73c71b25}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x02000000}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0xc68fa51a}, + {0x15, 4, 0, 3, 0x00000000}, + {0x18, 4, 0, 0, 0xe78e364b}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 5, 4, 0, 0x00000000}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x01000000}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x8d1f4a35}, + {0x15, 4, 0, 3, 0x00000000}, + {0x18, 4, 0, 0, 0xcf1c6c96}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 5, 4, 0, 0x00000000}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00800000}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x1a3e946b}, + {0x15, 4, 0, 3, 0x00000000}, + {0x18, 4, 0, 0, 0x9e38d92c}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 5, 4, 0, 0x00000000}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00400000}, {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x347d28d7}, + {0xa7, 5, 0, 0, 0x3c71b259}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00200000}, {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x68fa51ae}, + {0xa7, 5, 0, 0, 0x78e364b2}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00100000}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0xd1f4a35c}, + {0x15, 4, 0, 3, 0x00000000}, + {0x18, 4, 0, 0, 0xf1c6c964}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 5, 4, 0, 0x00000000}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00080000}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0xa3e946b9}, + {0x15, 4, 0, 3, 0x00000000}, + {0x18, 4, 0, 0, 0xe38d92c9}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 5, 4, 0, 0x00000000}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00040000}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x47d28d73}, + {0x15, 4, 0, 3, 0x00000000}, + {0x18, 4, 0, 0, 0xc71b2593}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 5, 4, 0, 0x00000000}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00020000}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x8fa51ae7}, + {0x15, 4, 0, 3, 0x00000000}, + {0x18, 4, 0, 0, 0x8e364b27}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 5, 4, 0, 0x00000000}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00010000}, {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x1f4a35cf}, + {0xa7, 5, 0, 0, 0x1c6c964e}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00008000}, {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x3e946b9e}, + {0xa7, 5, 0, 0, 0x38d92c9c}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00004000}, {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x7d28d73c}, + {0xa7, 5, 0, 0, 0x71b25938}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00002000}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0xfa51ae78}, + {0x15, 4, 0, 3, 0x00000000}, + {0x18, 4, 0, 0, 0xe364b270}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 5, 4, 0, 0x00000000}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00001000}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0xf4a35cf1}, + {0x15, 4, 0, 3, 0x00000000}, + {0x18, 4, 0, 0, 0xc6c964e0}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 5, 4, 0, 0x00000000}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00000800}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0xe946b9e3}, + {0x15, 4, 0, 3, 0x00000000}, + {0x18, 4, 0, 0, 0x8d92c9c0}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 5, 4, 0, 0x00000000}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00000400}, {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0xd28d73c7}, + {0xa7, 5, 0, 0, 0x1b259380}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00000200}, {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0xa51ae78e}, + {0xa7, 5, 0, 0, 0x364b2700}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00000100}, {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x4a35cf1c}, + {0xa7, 5, 0, 0, 0x6c964e01}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00000080}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x946b9e38}, + {0x15, 4, 0, 3, 0x00000000}, + {0x18, 4, 0, 0, 0xd92c9c03}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 5, 4, 0, 0x00000000}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00000040}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x28d73c71}, + {0x15, 4, 0, 3, 0x00000000}, + {0x18, 4, 0, 0, 0xb2593807}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 5, 4, 0, 0x00000000}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00000020}, {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x51ae78e3}, + {0xa7, 5, 0, 0, 0x64b2700f}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00000010}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0xa35cf1c6}, + {0x15, 4, 0, 3, 0x00000000}, + {0x18, 4, 0, 0, 0xc964e01e}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 5, 4, 0, 0x00000000}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00000008}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x46b9e38d}, - {0x61, 4, 8, 24, 0x00000000}, - {0xbf, 6, 3, 0, 0x00000000}, - {0x57, 6, 0, 0, 0x00000004}, - {0x15, 6, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x8d73c71b}, + {0x15, 4, 0, 3, 0x00000000}, + {0x18, 4, 0, 0, 0x92c9c03d}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 5, 4, 0, 0x00000000}, + {0x61, 4, 10, -52, 0x00000000}, + {0xbf, 0, 3, 0, 0x00000000}, + {0x57, 0, 0, 0, 0x00000004}, + {0x15, 0, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0x2593807a}, {0xdc, 4, 0, 0, 0x00000040}, - {0xbf, 6, 3, 0, 0x00000000}, - {0x57, 6, 0, 0, 0x00000002}, - {0x15, 6, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x1ae78e36}, + {0xbf, 0, 3, 0, 0x00000000}, + {0x57, 0, 0, 0, 0x00000002}, + {0x15, 0, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0x4b2700f4}, {0xc7, 4, 0, 0, 0x00000020}, {0x57, 3, 0, 0, 0x00000001}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x35cf1c6c}, - {0xbf, 7, 5, 0, 0x00000000}, - {0xa7, 7, 0, 0, 0x6b9e38d9}, + {0x15, 3, 0, 3, 0x00000000}, + {0x18, 3, 0, 0, 0x964e01e8}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 5, 3, 0, 0x00000000}, + {0xbf, 0, 5, 0, 0x00000000}, + {0xa7, 0, 0, 0, 0x2c9c03d1}, {0x6d, 2, 4, 1, 0x00000000}, - {0xbf, 7, 5, 0, 0x00000000}, + {0xbf, 0, 5, 0, 0x00000000}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x40000000}, {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0xd73c71b2}, + {0xa7, 0, 0, 0, 0x593807a3}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x20000000}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0xae78e364}, + {0x15, 3, 0, 3, 0x00000000}, + {0x18, 3, 0, 0, 0xb2700f46}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 0, 3, 0, 0x00000000}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x10000000}, {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x5cf1c6c9}, + {0xa7, 0, 0, 0, 0x64e01e8d}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x08000000}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0xb9e38d92}, + {0x15, 3, 0, 3, 0x00000000}, + {0x18, 3, 0, 0, 0xc9c03d1a}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 0, 3, 0, 0x00000000}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x04000000}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x73c71b25}, + {0x15, 3, 0, 3, 0x00000000}, + {0x18, 3, 0, 0, 0x93807a35}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 0, 3, 0, 0x00000000}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x02000000}, {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0xe78e364b}, + {0xa7, 0, 0, 0, 0x2700f46b}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x01000000}, {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0xcf1c6c96}, + {0xa7, 0, 0, 0, 0x4e01e8d6}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00800000}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x9e38d92c}, + {0x15, 3, 0, 3, 0x00000000}, + {0x18, 3, 0, 0, 0x9c03d1ad}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 0, 3, 0, 0x00000000}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00400000}, {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x3c71b259}, + {0xa7, 0, 0, 0, 0x3807a35b}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00200000}, {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x78e364b2}, + {0xa7, 0, 0, 0, 0x700f46b6}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00100000}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0xf1c6c964}, + {0x15, 3, 0, 3, 0x00000000}, + {0x18, 3, 0, 0, 0xe01e8d6c}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 0, 3, 0, 0x00000000}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00080000}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0xe38d92c9}, + {0x15, 3, 0, 3, 0x00000000}, + {0x18, 3, 0, 0, 0xc03d1ad9}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 0, 3, 0, 0x00000000}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00040000}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0xc71b2593}, + {0x15, 3, 0, 3, 0x00000000}, + {0x18, 3, 0, 0, 0x807a35b3}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 0, 3, 0, 0x00000000}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00020000}, {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x8e364b27}, + {0xa7, 0, 0, 0, 0x00f46b66}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00010000}, {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x1c6c964e}, + {0xa7, 0, 0, 0, 0x01e8d6cc}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00008000}, {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x38d92c9c}, + {0xa7, 0, 0, 0, 0x03d1ad99}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00004000}, {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x71b25938}, + {0xa7, 0, 0, 0, 0x07a35b32}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00002000}, {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0xe364b270}, + {0xa7, 0, 0, 0, 0x0f46b665}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00001000}, {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0xc6c964e0}, + {0xa7, 0, 0, 0, 0x1e8d6cca}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00000800}, {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x8d92c9c0}, + {0xa7, 0, 0, 0, 0x3d1ad994}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00000400}, {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x1b259380}, + {0xa7, 0, 0, 0, 0x7a35b328}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00000200}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x364b2700}, + {0x15, 3, 0, 3, 0x00000000}, + {0x18, 3, 0, 0, 0xf46b6651}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 0, 3, 0, 0x00000000}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00000100}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x6c964e01}, + {0x15, 3, 0, 3, 0x00000000}, + {0x18, 3, 0, 0, 0xe8d6cca2}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 0, 3, 0, 0x00000000}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00000080}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0xd92c9c03}, + {0x15, 3, 0, 3, 0x00000000}, + {0x18, 3, 0, 0, 0xd1ad9944}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 0, 3, 0, 0x00000000}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00000040}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0xb2593807}, + {0x15, 3, 0, 3, 0x00000000}, + {0x18, 3, 0, 0, 0xa35b3289}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 0, 3, 0, 0x00000000}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00000020}, {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x64b2700f}, + {0xa7, 0, 0, 0, 0x46b66512}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00000010}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0xc964e01e}, + {0x15, 3, 0, 3, 0x00000000}, + {0x18, 3, 0, 0, 0x8d6cca25}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 0, 3, 0, 0x00000000}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00000008}, {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x92c9c03d}, - {0x61, 3, 8, 28, 0x00000000}, + {0xa7, 0, 0, 0, 0x1ad9944a}, + {0x61, 3, 10, -48, 0x00000000}, {0xbf, 5, 4, 0, 0x00000000}, {0x57, 5, 0, 0, 0x00000004}, {0x15, 5, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x2593807a}, + {0xa7, 0, 0, 0, 0x35b32894}, {0xdc, 3, 0, 0, 0x00000040}, {0xbf, 5, 4, 0, 0x00000000}, {0x57, 5, 0, 0, 0x00000002}, {0x15, 5, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x4b2700f4}, + {0xa7, 0, 0, 0, 0x6b665129}, {0xc7, 3, 0, 0, 0x00000020}, {0x57, 4, 0, 0, 0x00000001}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x964e01e8}, - {0xbf, 5, 7, 0, 0x00000000}, - {0xa7, 5, 0, 0, 0x2c9c03d1}, + {0x15, 4, 0, 3, 0x00000000}, + {0x18, 4, 0, 0, 0xd6cca253}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 0, 4, 0, 0x00000000}, + {0x18, 4, 0, 0, 0xad9944a7}, + {0x00, 0, 0, 0, 0x00000000}, + {0xbf, 5, 0, 0, 0x00000000}, + {0xaf, 5, 4, 0, 0x00000000}, {0x6d, 2, 3, 1, 0x00000000}, - {0xbf, 5, 7, 0, 0x00000000}, + {0xbf, 5, 0, 0, 0x00000000}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x40000000}, {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x593807a3}, + {0xa7, 5, 0, 0, 0x5b32894f}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x20000000}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0xb2700f46}, + {0x15, 4, 0, 3, 0x00000000}, + {0x18, 4, 0, 0, 0xb665129f}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 5, 4, 0, 0x00000000}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x10000000}, {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x64e01e8d}, + {0xa7, 5, 0, 0, 0x6cca253e}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x08000000}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0xc9c03d1a}, + {0x15, 4, 0, 3, 0x00000000}, + {0x18, 4, 0, 0, 0xd9944a7d}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 5, 4, 0, 0x00000000}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x04000000}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x93807a35}, + {0x15, 4, 0, 3, 0x00000000}, + {0x18, 4, 0, 0, 0xb32894fb}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 5, 4, 0, 0x00000000}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x02000000}, {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x2700f46b}, + {0xa7, 5, 0, 0, 0x665129f6}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x01000000}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x4e01e8d6}, + {0x15, 4, 0, 3, 0x00000000}, + {0x18, 4, 0, 0, 0xcca253ec}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 5, 4, 0, 0x00000000}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00800000}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x9c03d1ad}, + {0x15, 4, 0, 3, 0x00000000}, + {0x18, 4, 0, 0, 0x9944a7d9}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 5, 4, 0, 0x00000000}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00400000}, {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x3807a35b}, + {0xa7, 5, 0, 0, 0x32894fb2}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00200000}, {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x700f46b6}, + {0xa7, 5, 0, 0, 0x65129f65}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00100000}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0xe01e8d6c}, + {0x15, 4, 0, 3, 0x00000000}, + {0x18, 4, 0, 0, 0xca253eca}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 5, 4, 0, 0x00000000}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00080000}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0xc03d1ad9}, + {0x15, 4, 0, 3, 0x00000000}, + {0x18, 4, 0, 0, 0x944a7d95}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 5, 4, 0, 0x00000000}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00040000}, {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x807a35b3}, + {0xa7, 5, 0, 0, 0x2894fb2a}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00020000}, {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x00f46b66}, + {0xa7, 5, 0, 0, 0x5129f655}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00010000}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x01e8d6cc}, + {0x15, 4, 0, 3, 0x00000000}, + {0x18, 4, 0, 0, 0xa253ecab}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 5, 4, 0, 0x00000000}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00008000}, {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x03d1ad99}, + {0xa7, 5, 0, 0, 0x44a7d956}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00004000}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x07a35b32}, + {0x15, 4, 0, 3, 0x00000000}, + {0x18, 4, 0, 0, 0x894fb2ac}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 5, 4, 0, 0x00000000}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00002000}, {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x0f46b665}, + {0xa7, 5, 0, 0, 0x129f6558}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00001000}, {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x1e8d6cca}, + {0xa7, 5, 0, 0, 0x253ecab1}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00000800}, {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x3d1ad994}, + {0xa7, 5, 0, 0, 0x4a7d9563}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00000400}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x7a35b328}, + {0x15, 4, 0, 3, 0x00000000}, + {0x18, 4, 0, 0, 0x94fb2ac7}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 5, 4, 0, 0x00000000}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00000200}, {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0xf46b6651}, + {0xa7, 5, 0, 0, 0x29f6558f}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00000100}, {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0xe8d6cca2}, + {0xa7, 5, 0, 0, 0x53ecab1e}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00000080}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0xd1ad9944}, + {0x15, 4, 0, 3, 0x00000000}, + {0x18, 4, 0, 0, 0xa7d9563d}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 5, 4, 0, 0x00000000}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00000040}, {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0xa35b3289}, + {0xa7, 5, 0, 0, 0x4fb2ac7a}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00000020}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x46b66512}, + {0x15, 4, 0, 3, 0x00000000}, + {0x18, 4, 0, 0, 0x9f6558f5}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 5, 4, 0, 0x00000000}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00000010}, {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x8d6cca25}, + {0xa7, 5, 0, 0, 0x3ecab1ea}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00000008}, {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x1ad9944a}, - {0x61, 4, 8, 32, 0x00000000}, - {0xbf, 6, 3, 0, 0x00000000}, - {0x57, 6, 0, 0, 0x00000004}, - {0x15, 6, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x35b32894}, + {0xa7, 5, 0, 0, 0x7d9563d5}, + {0x61, 4, 10, -44, 0x00000000}, + {0xbf, 0, 3, 0, 0x00000000}, + {0x57, 0, 0, 0, 0x00000004}, + {0x15, 0, 0, 3, 0x00000000}, + {0x18, 0, 0, 0, 0xfb2ac7ab}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 5, 0, 0, 0x00000000}, {0xdc, 4, 0, 0, 0x00000040}, - {0xbf, 6, 3, 0, 0x00000000}, - {0x57, 6, 0, 0, 0x00000002}, - {0x15, 6, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x6b665129}, + {0xbf, 0, 3, 0, 0x00000000}, + {0x57, 0, 0, 0, 0x00000002}, + {0x15, 0, 0, 3, 0x00000000}, + {0x18, 0, 0, 0, 0xf6558f56}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 5, 0, 0, 0x00000000}, {0xc7, 4, 0, 0, 0x00000020}, {0x57, 3, 0, 0, 0x00000001}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0xd6cca253}, - {0xbf, 7, 5, 0, 0x00000000}, - {0xa7, 7, 0, 0, 0xad9944a7}, + {0x15, 3, 0, 3, 0x00000000}, + {0x18, 3, 0, 0, 0xecab1eac}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 5, 3, 0, 0x00000000}, + {0x18, 3, 0, 0, 0xd9563d59}, + {0x00, 0, 0, 0, 0x00000000}, + {0xbf, 0, 5, 0, 0x00000000}, + {0xaf, 0, 3, 0, 0x00000000}, {0x6d, 2, 4, 1, 0x00000000}, - {0xbf, 7, 5, 0, 0x00000000}, + {0xbf, 0, 5, 0, 0x00000000}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x40000000}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x5b32894f}, + {0x15, 3, 0, 3, 0x00000000}, + {0x18, 3, 0, 0, 0xb2ac7ab2}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 0, 3, 0, 0x00000000}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x20000000}, {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0xb665129f}, + {0xa7, 0, 0, 0, 0x6558f564}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x10000000}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x6cca253e}, + {0x15, 3, 0, 3, 0x00000000}, + {0x18, 3, 0, 0, 0xcab1eac8}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 0, 3, 0, 0x00000000}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x08000000}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0xd9944a7d}, + {0x15, 3, 0, 3, 0x00000000}, + {0x18, 3, 0, 0, 0x9563d590}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 0, 3, 0, 0x00000000}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x04000000}, {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0xb32894fb}, + {0xa7, 0, 0, 0, 0x2ac7ab20}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x02000000}, {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x665129f6}, + {0xa7, 0, 0, 0, 0x558f5641}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x01000000}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0xcca253ec}, + {0x15, 3, 0, 3, 0x00000000}, + {0x18, 3, 0, 0, 0xab1eac83}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 0, 3, 0, 0x00000000}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00800000}, {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x9944a7d9}, + {0xa7, 0, 0, 0, 0x563d5906}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00400000}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x32894fb2}, + {0x15, 3, 0, 3, 0x00000000}, + {0x18, 3, 0, 0, 0xac7ab20c}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 0, 3, 0, 0x00000000}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00200000}, {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x65129f65}, + {0xa7, 0, 0, 0, 0x58f56418}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00100000}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0xca253eca}, + {0x15, 3, 0, 3, 0x00000000}, + {0x18, 3, 0, 0, 0xb1eac831}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 0, 3, 0, 0x00000000}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00080000}, {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x944a7d95}, + {0xa7, 0, 0, 0, 0x63d59063}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00040000}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x2894fb2a}, + {0x15, 3, 0, 3, 0x00000000}, + {0x18, 3, 0, 0, 0xc7ab20c7}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 0, 3, 0, 0x00000000}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00020000}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x5129f655}, + {0x15, 3, 0, 3, 0x00000000}, + {0x18, 3, 0, 0, 0x8f56418f}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 0, 3, 0, 0x00000000}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00010000}, {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0xa253ecab}, + {0xa7, 0, 0, 0, 0x1eac831e}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00008000}, {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x44a7d956}, + {0xa7, 0, 0, 0, 0x3d59063c}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00004000}, {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x894fb2ac}, + {0xa7, 0, 0, 0, 0x7ab20c78}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00002000}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x129f6558}, + {0x15, 3, 0, 3, 0x00000000}, + {0x18, 3, 0, 0, 0xf56418f0}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 0, 3, 0, 0x00000000}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00001000}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x253ecab1}, + {0x15, 3, 0, 3, 0x00000000}, + {0x18, 3, 0, 0, 0xeac831e1}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 0, 3, 0, 0x00000000}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00000800}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x4a7d9563}, + {0x15, 3, 0, 3, 0x00000000}, + {0x18, 3, 0, 0, 0xd59063c2}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 0, 3, 0, 0x00000000}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00000400}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x94fb2ac7}, + {0x15, 3, 0, 3, 0x00000000}, + {0x18, 3, 0, 0, 0xab20c784}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 0, 3, 0, 0x00000000}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00000200}, {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x29f6558f}, + {0xa7, 0, 0, 0, 0x56418f09}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00000100}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x53ecab1e}, + {0x15, 3, 0, 3, 0x00000000}, + {0x18, 3, 0, 0, 0xac831e12}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 0, 3, 0, 0x00000000}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00000080}, {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0xa7d9563d}, + {0xa7, 0, 0, 0, 0x59063c25}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00000040}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x4fb2ac7a}, + {0x15, 3, 0, 3, 0x00000000}, + {0x18, 3, 0, 0, 0xb20c784b}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 0, 3, 0, 0x00000000}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00000020}, {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x9f6558f5}, + {0xa7, 0, 0, 0, 0x6418f097}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00000010}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x3ecab1ea}, + {0x15, 3, 0, 3, 0x00000000}, + {0x18, 3, 0, 0, 0xc831e12f}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 0, 3, 0, 0x00000000}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00000008}, + {0x15, 3, 0, 3, 0x00000000}, + {0x18, 3, 0, 0, 0x9063c25f}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 0, 3, 0, 0x00000000}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00000004}, {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x7d9563d5}, - {0x61, 3, 8, 36, 0x00000000}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000004}, - {0x15, 5, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0xfb2ac7ab}, - {0xdc, 3, 0, 0, 0x00000040}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000002}, - {0x15, 5, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0xf6558f56}, - {0xc7, 3, 0, 0, 0x00000020}, - {0x57, 4, 0, 0, 0x00000001}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0xecab1eac}, - {0xbf, 4, 7, 0, 0x00000000}, - {0xa7, 4, 0, 0, 0xd9563d59}, - {0x6d, 2, 3, 1, 0x00000000}, - {0xbf, 4, 7, 0, 0x00000000}, - {0xbf, 5, 3, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x40000000}, - {0x15, 5, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0xb2ac7ab2}, - {0xbf, 5, 3, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x20000000}, - {0x79, 6, 10, -56, 0x00000000}, - {0x15, 5, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0x6558f564}, - {0xbf, 5, 3, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x10000000}, - {0x15, 5, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0xcab1eac8}, - {0xbf, 5, 3, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x08000000}, - {0x15, 5, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0x9563d590}, - {0xbf, 5, 3, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x04000000}, - {0x15, 5, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0x2ac7ab20}, - {0xbf, 5, 3, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x02000000}, - {0x15, 5, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0x558f5641}, - {0xbf, 5, 3, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x01000000}, - {0x15, 5, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0xab1eac83}, - {0xbf, 5, 3, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00800000}, - {0x15, 5, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0x563d5906}, - {0xbf, 5, 3, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00400000}, - {0x15, 5, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0xac7ab20c}, - {0xbf, 5, 3, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00200000}, - {0x15, 5, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0x58f56418}, - {0xbf, 5, 3, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00100000}, - {0x15, 5, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0xb1eac831}, - {0xbf, 5, 3, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00080000}, - {0x15, 5, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0x63d59063}, - {0xbf, 5, 3, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00040000}, - {0x15, 5, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0xc7ab20c7}, - {0xbf, 5, 3, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00020000}, - {0x15, 5, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0x8f56418f}, - {0xbf, 5, 3, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00010000}, - {0x15, 5, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0x1eac831e}, - {0xbf, 5, 3, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00008000}, - {0x15, 5, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0x3d59063c}, - {0xbf, 5, 3, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00004000}, - {0x15, 5, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0x7ab20c78}, - {0xbf, 5, 3, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00002000}, - {0x15, 5, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0xf56418f0}, - {0xbf, 5, 3, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00001000}, - {0x15, 5, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0xeac831e1}, - {0xbf, 5, 3, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000800}, - {0x15, 5, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0xd59063c2}, - {0xbf, 5, 3, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000400}, - {0x15, 5, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0xab20c784}, - {0xbf, 5, 3, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000200}, - {0x15, 5, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0x56418f09}, - {0xbf, 5, 3, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000100}, - {0x15, 5, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0xac831e12}, - {0xbf, 5, 3, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000080}, - {0x15, 5, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0x59063c25}, - {0xbf, 5, 3, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000040}, - {0x15, 5, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0xb20c784b}, - {0xbf, 5, 3, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000020}, - {0x15, 5, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0x6418f097}, - {0xbf, 5, 3, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000010}, - {0x15, 5, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0xc831e12f}, - {0xbf, 5, 3, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000008}, - {0x15, 5, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0x9063c25f}, - {0xbf, 5, 3, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000004}, - {0x15, 5, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0x20c784be}, - {0xbf, 5, 3, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000002}, - {0x15, 5, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0x418f097c}, - {0x57, 3, 0, 0, 0x00000001}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0x831e12f9}, - {0xbf, 5, 1, 0, 0x00000000}, - {0x67, 5, 0, 0, 0x00000020}, - {0xc7, 5, 0, 0, 0x00000020}, + {0xa7, 0, 0, 0, 0x20c784be}, {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00000002}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 0, 0, 0, 0x418f097c}, + {0x57, 4, 0, 0, 0x00000001}, + {0x15, 4, 0, 3, 0x00000000}, + {0x18, 3, 0, 0, 0x831e12f9}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 0, 3, 0, 0x00000000}, + {0xbf, 4, 1, 0, 0x00000000}, + {0x67, 4, 0, 0, 0x00000020}, + {0xc7, 4, 0, 0, 0x00000020}, + {0xbf, 3, 0, 0, 0x00000000}, {0xa7, 3, 0, 0, 0x063c25f3}, - {0x6d, 2, 5, 1, 0x00000000}, - {0xbf, 3, 4, 0, 0x00000000}, + {0x6d, 2, 4, 1, 0x00000000}, + {0xbf, 3, 0, 0, 0x00000000}, {0xbf, 2, 1, 0, 0x00000000}, {0x57, 2, 0, 0, 0x40000000}, {0x15, 2, 0, 1, 0x00000000}, @@ -1604,12 +1894,16 @@ static struct bpf_insn l3_l4_hash_insns[] = { {0xa7, 3, 0, 0, 0x63c25f3f}, {0xbf, 2, 1, 0, 0x00000000}, {0x57, 2, 0, 0, 0x04000000}, - {0x15, 2, 0, 1, 0x00000000}, - {0xa7, 3, 0, 0, 0xc784be7f}, + {0x15, 2, 0, 3, 0x00000000}, + {0x18, 2, 0, 0, 0xc784be7f}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 3, 2, 0, 0x00000000}, {0xbf, 2, 1, 0, 0x00000000}, {0x57, 2, 0, 0, 0x02000000}, - {0x15, 2, 0, 1, 0x00000000}, - {0xa7, 3, 0, 0, 0x8f097cff}, + {0x15, 2, 0, 3, 0x00000000}, + {0x18, 2, 0, 0, 0x8f097cff}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 3, 2, 0, 0x00000000}, {0xbf, 2, 1, 0, 0x00000000}, {0x57, 2, 0, 0, 0x01000000}, {0x15, 2, 0, 1, 0x00000000}, @@ -1624,20 +1918,28 @@ static struct bpf_insn l3_l4_hash_insns[] = { {0xa7, 3, 0, 0, 0x784be7f8}, {0xbf, 2, 1, 0, 0x00000000}, {0x57, 2, 0, 0, 0x00200000}, - {0x15, 2, 0, 1, 0x00000000}, - {0xa7, 3, 0, 0, 0xf097cff0}, + {0x15, 2, 0, 3, 0x00000000}, + {0x18, 2, 0, 0, 0xf097cff0}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 3, 2, 0, 0x00000000}, {0xbf, 2, 1, 0, 0x00000000}, {0x57, 2, 0, 0, 0x00100000}, - {0x15, 2, 0, 1, 0x00000000}, - {0xa7, 3, 0, 0, 0xe12f9fe0}, + {0x15, 2, 0, 3, 0x00000000}, + {0x18, 2, 0, 0, 0xe12f9fe0}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 3, 2, 0, 0x00000000}, {0xbf, 2, 1, 0, 0x00000000}, {0x57, 2, 0, 0, 0x00080000}, - {0x15, 2, 0, 1, 0x00000000}, - {0xa7, 3, 0, 0, 0xc25f3fc1}, + {0x15, 2, 0, 3, 0x00000000}, + {0x18, 2, 0, 0, 0xc25f3fc1}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 3, 2, 0, 0x00000000}, {0xbf, 2, 1, 0, 0x00000000}, {0x57, 2, 0, 0, 0x00040000}, - {0x15, 2, 0, 1, 0x00000000}, - {0xa7, 3, 0, 0, 0x84be7f83}, + {0x15, 2, 0, 3, 0x00000000}, + {0x18, 2, 0, 0, 0x84be7f83}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 3, 2, 0, 0x00000000}, {0xbf, 2, 1, 0, 0x00000000}, {0x57, 2, 0, 0, 0x00020000}, {0x15, 2, 0, 1, 0x00000000}, @@ -1656,8 +1958,10 @@ static struct bpf_insn l3_l4_hash_insns[] = { {0xa7, 3, 0, 0, 0x4be7f83f}, {0xbf, 2, 1, 0, 0x00000000}, {0x57, 2, 0, 0, 0x00002000}, - {0x15, 2, 0, 1, 0x00000000}, - {0xa7, 3, 0, 0, 0x97cff07f}, + {0x15, 2, 0, 3, 0x00000000}, + {0x18, 2, 0, 0, 0x97cff07f}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 3, 2, 0, 0x00000000}, {0xbf, 2, 1, 0, 0x00000000}, {0x57, 2, 0, 0, 0x00001000}, {0x15, 2, 0, 1, 0x00000000}, @@ -1668,32 +1972,44 @@ static struct bpf_insn l3_l4_hash_insns[] = { {0xa7, 3, 0, 0, 0x5f3fc1fd}, {0xbf, 2, 1, 0, 0x00000000}, {0x57, 2, 0, 0, 0x00000400}, - {0x15, 2, 0, 1, 0x00000000}, - {0xa7, 3, 0, 0, 0xbe7f83fb}, + {0x15, 2, 0, 3, 0x00000000}, + {0x18, 2, 0, 0, 0xbe7f83fb}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 3, 2, 0, 0x00000000}, {0xbf, 2, 1, 0, 0x00000000}, {0x57, 2, 0, 0, 0x00000200}, {0x15, 2, 0, 1, 0x00000000}, {0xa7, 3, 0, 0, 0x7cff07f7}, {0xbf, 2, 1, 0, 0x00000000}, {0x57, 2, 0, 0, 0x00000100}, - {0x15, 2, 0, 1, 0x00000000}, - {0xa7, 3, 0, 0, 0xf9fe0fee}, + {0x15, 2, 0, 3, 0x00000000}, + {0x18, 2, 0, 0, 0xf9fe0fee}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 3, 2, 0, 0x00000000}, {0xbf, 2, 1, 0, 0x00000000}, {0x57, 2, 0, 0, 0x00000080}, - {0x15, 2, 0, 1, 0x00000000}, - {0xa7, 3, 0, 0, 0xf3fc1fdc}, + {0x15, 2, 0, 3, 0x00000000}, + {0x18, 2, 0, 0, 0xf3fc1fdc}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 3, 2, 0, 0x00000000}, {0xbf, 2, 1, 0, 0x00000000}, {0x57, 2, 0, 0, 0x00000040}, - {0x15, 2, 0, 1, 0x00000000}, - {0xa7, 3, 0, 0, 0xe7f83fb8}, + {0x15, 2, 0, 3, 0x00000000}, + {0x18, 2, 0, 0, 0xe7f83fb8}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 3, 2, 0, 0x00000000}, {0xbf, 2, 1, 0, 0x00000000}, {0x57, 2, 0, 0, 0x00000020}, - {0x15, 2, 0, 1, 0x00000000}, - {0xa7, 3, 0, 0, 0xcff07f70}, + {0x15, 2, 0, 3, 0x00000000}, + {0x18, 2, 0, 0, 0xcff07f70}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 3, 2, 0, 0x00000000}, {0xbf, 2, 1, 0, 0x00000000}, {0x57, 2, 0, 0, 0x00000010}, - {0x15, 2, 0, 1, 0x00000000}, - {0xa7, 3, 0, 0, 0x9fe0fee1}, + {0x15, 2, 0, 3, 0x00000000}, + {0x18, 2, 0, 0, 0x9fe0fee1}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 3, 2, 0, 0x00000000}, {0xbf, 2, 1, 0, 0x00000000}, {0x57, 2, 0, 0, 0x00000008}, {0x15, 2, 0, 1, 0x00000000}, @@ -1704,40 +2020,86 @@ static struct bpf_insn l3_l4_hash_insns[] = { {0xa7, 3, 0, 0, 0x7f83fb85}, {0xbf, 2, 1, 0, 0x00000000}, {0x57, 2, 0, 0, 0x00000002}, - {0x15, 2, 0, 1, 0x00000000}, - {0xa7, 3, 0, 0, 0xff07f70a}, + {0x15, 2, 0, 3, 0x00000000}, + {0x18, 2, 0, 0, 0xff07f70a}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 3, 2, 0, 0x00000000}, {0x57, 1, 0, 0, 0x00000001}, - {0x15, 1, 0, 1, 0x00000000}, - {0xa7, 3, 0, 0, 0xfe0fee15}, - {0x71, 1, 0, 201, 0x00000000}, + {0x15, 1, 0, 3, 0x00000000}, + {0x18, 1, 0, 0, 0xfe0fee15}, + {0x00, 0, 0, 0, 0x00000000}, + {0xaf, 3, 1, 0, 0x00000000}, + {0x71, 1, 7, 201, 0x00000000}, {0x67, 1, 0, 0, 0x00000008}, - {0x71, 2, 0, 200, 0x00000000}, + {0x71, 2, 7, 200, 0x00000000}, {0x4f, 1, 2, 0, 0x00000000}, - {0x71, 2, 0, 202, 0x00000000}, + {0x71, 2, 7, 202, 0x00000000}, {0x67, 2, 0, 0, 0x00000010}, - {0x71, 4, 0, 203, 0x00000000}, + {0x71, 4, 7, 203, 0x00000000}, {0x67, 4, 0, 0, 0x00000018}, {0x4f, 4, 2, 0, 0x00000000}, {0x4f, 4, 1, 0, 0x00000000}, - {0x67, 3, 0, 0, 0x00000020}, - {0x77, 3, 0, 0, 0x00000020}, {0x9f, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x0000000f}, - {0x67, 3, 0, 0, 0x00000002}, - {0x0f, 0, 3, 0, 0x00000000}, - {0x71, 1, 0, 137, 0x00000000}, + {0x65, 3, 0, 5, 0x00000007}, + {0x65, 3, 0, 9, 0x00000003}, + {0x65, 3, 0, 16, 0x00000001}, + {0x15, 3, 0, 27, 0x00000000}, + {0x07, 7, 0, 0, 0x0000008c}, + {0x05, 0, 0, 40, 0x00000000}, + {0x65, 3, 0, 8, 0x0000000b}, + {0x65, 3, 0, 14, 0x00000009}, + {0x15, 3, 0, 24, 0x00000008}, + {0x07, 7, 0, 0, 0x000000ac}, + {0x05, 0, 0, 35, 0x00000000}, + {0x65, 3, 0, 13, 0x00000005}, + {0x15, 3, 0, 22, 0x00000004}, + {0x07, 7, 0, 0, 0x0000009c}, + {0x05, 0, 0, 31, 0x00000000}, + {0x65, 3, 0, 12, 0x0000000d}, + {0x15, 3, 0, 20, 0x0000000c}, + {0x07, 7, 0, 0, 0x000000bc}, + {0x05, 0, 0, 27, 0x00000000}, + {0x15, 3, 0, 19, 0x00000002}, + {0x07, 7, 0, 0, 0x00000094}, + {0x05, 0, 0, 24, 0x00000000}, + {0x15, 3, 0, 18, 0x0000000a}, + {0x07, 7, 0, 0, 0x000000b4}, + {0x05, 0, 0, 21, 0x00000000}, + {0x15, 3, 0, 17, 0x00000006}, + {0x07, 7, 0, 0, 0x000000a4}, + {0x05, 0, 0, 18, 0x00000000}, + {0x15, 3, 0, 16, 0x0000000e}, + {0x07, 7, 0, 0, 0x000000c4}, + {0x05, 0, 0, 15, 0x00000000}, + {0x07, 7, 0, 0, 0x00000088}, + {0x05, 0, 0, 13, 0x00000000}, + {0x07, 7, 0, 0, 0x000000a8}, + {0x05, 0, 0, 11, 0x00000000}, + {0x07, 7, 0, 0, 0x00000098}, + {0x05, 0, 0, 9, 0x00000000}, + {0x07, 7, 0, 0, 0x000000b8}, + {0x05, 0, 0, 7, 0x00000000}, + {0x07, 7, 0, 0, 0x00000090}, + {0x05, 0, 0, 5, 0x00000000}, + {0x07, 7, 0, 0, 0x000000b0}, + {0x05, 0, 0, 3, 0x00000000}, + {0x07, 7, 0, 0, 0x000000a0}, + {0x05, 0, 0, 1, 0x00000000}, + {0x07, 7, 0, 0, 0x000000c0}, + {0x71, 1, 7, 1, 0x00000000}, {0x67, 1, 0, 0, 0x00000008}, - {0x71, 2, 0, 136, 0x00000000}, + {0x71, 2, 7, 0, 0x00000000}, {0x4f, 1, 2, 0, 0x00000000}, - {0x71, 2, 0, 138, 0x00000000}, + {0x71, 2, 7, 2, 0x00000000}, {0x67, 2, 0, 0, 0x00000010}, - {0x71, 3, 0, 139, 0x00000000}, + {0x71, 3, 7, 3, 0x00000000}, {0x67, 3, 0, 0, 0x00000018}, {0x4f, 3, 2, 0, 0x00000000}, {0x4f, 3, 1, 0, 0x00000000}, {0x07, 3, 0, 0, 0x7cafe800}, {0x63, 6, 3, 52, 0x00000000}, - {0xb7, 7, 0, 0, 0x00000001}, - {0xbf, 0, 7, 0, 0x00000000}, + {0xb7, 8, 0, 0, 0x00000001}, + {0xbf, 0, 8, 0, 0x00000000}, {0x95, 0, 0, 0, 0x00000000}, };