MAINTAINERS: add status information
RFC 1/1 MAINTAINERS: add status information
Add a new field S: which indicates the status of support for individual sub-trees. Almost everything is marked as supported but components without any maintainer are listed as Orphan.
--- MAINTAINERS | 267 +++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 266 insertions(+), 1 deletion(-)
MAINTAINERS +266 -1
@@ -17,6 +17,16 @@ Descriptions of section entries: X: Files and directories exclusion, same rules as F: K: Keyword regex pattern to match content. One regex pattern per line. Multiple K: lines acceptable. + S: *Status*, one of the following: + Supported: Someone is actually paid to look after this. + Maintained: Someone actually looks after it. + Odd Fixes: It has a maintainer but they don't have time to do + much other than throw the odd patch in. See below.. + Orphan: No current maintainer [but maybe you could take the + role as you write your new code]. + Obsolete: Old code. Something tagged obsolete generally means + it has been replaced by a better system and you + should be using that. General Project Administration
@@ -25,44 +35,54 @@ General Project Administration Main Branch M: Thomas Monjalon <[email protected]> M: David Marchand <[email protected]> +S: Supported T: git://dpdk.org/dpdk Next-net Tree M: Ferruh Yigit <[email protected]> M: Andrew Rybchenko <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-net Next-net-brcm Tree M: Ajit Khaparde <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-net-brcm Next-net-intel Tree M: Qi Zhang <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-net-intel Next-net-mrvl Tree M: Jerin Jacob <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-net-mrvl Next-net-mlx Tree M: Raslan Darawsheh <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-net-mlx Next-virtio Tree M: Maxime Coquelin <[email protected]> M: Chenbo Xia <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-virtio Next-crypto Tree M: Akhil Goyal <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-crypto Next-eventdev Tree M: Jerin Jacob <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-eventdev Next-baseband Tree M: Maxime Coquelin <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-baseband Stable Branches
@@ -70,17 +90,21 @@ M: Luca Boccassi <[email protected]> M: Kevin Traynor <[email protected]> M: Christian Ehrhardt <[email protected]> M: Xueming Li <[email protected]> +S: Supported T: git://dpdk.org/dpdk-stable Security Issues M: [email protected] +S: Supported Documentation (with overlaps) F: README F: doc/ +S: Supported Developers and Maintainers Tools M: Thomas Monjalon <[email protected]> +S: Supported F: MAINTAINERS F: devtools/build-dict.sh F: devtools/check-abi.sh
@@ -110,7 +134,7 @@ F: .mailmap Build System M: Bruce Richardson <[email protected]> -F: Makefile +S: Maintained F: meson.build F: meson_options.txt F: config/
@@ -130,11 +154,13 @@ F: devtools/check-meson.py Public CI M: Aaron Conole <[email protected]> M: Michael Santana <[email protected]> +S: Supported F: .github/workflows/build.yml F: .ci/ Driver information M: Dmitry Kozlyuk <[email protected]> +S: Maintained F: buildtools/coff.py F: buildtools/gen-pmdinfo-cfile.py F: buildtools/pmdinfogen.py
@@ -147,6 +173,7 @@ Environment Abstraction Layer T: git://dpdk.org/dpdk EAL API and common code +S: Supported F: lib/eal/common/ F: lib/eal/unix/ F: lib/eal/include/
@@ -180,6 +207,7 @@ F: app/test/test_version.c Trace - EXPERIMENTAL M: Jerin Jacob <[email protected]> M: Sunil Kumar Kori <[email protected]> +S: Supported F: lib/eal/include/rte_trace*.h F: lib/eal/common/eal_common_trace*.c F: lib/eal/common/eal_trace.h
@@ -188,6 +216,7 @@ F: app/test/test_trace* Memory Allocation M: Anatoly Burakov <[email protected]> +S: Supported F: lib/eal/include/rte_fbarray.h F: lib/eal/include/rte_mem* F: lib/eal/include/rte_malloc.h
@@ -209,11 +238,13 @@ F: app/test/test_memzone.c Interrupt Subsystem M: Harman Kalra <[email protected]> +S: Supported F: lib/eal/include/rte_epoll.h F: lib/eal/*/*interrupts.* F: app/test/test_interrupts.c Keep alive +S: Orphan F: lib/eal/include/rte_keepalive.h F: lib/eal/common/rte_keepalive.c F: examples/l2fwd-keepalive/
@@ -221,6 +252,7 @@ F: doc/guides/sample_app_ug/keep_alive.rst Secondary process M: Anatoly Burakov <[email protected]> +S: Maintained K: RTE_PROC_ F: lib/eal/common/eal_common_proc.c F: doc/guides/prog_guide/multi_proc_support.rst
@@ -230,6 +262,7 @@ F: doc/guides/sample_app_ug/multi_process.rst Service Cores M: Harry van Haaren <[email protected]> +S: Supported F: lib/eal/include/rte_service.h F: lib/eal/include/rte_service_component.h F: lib/eal/common/rte_service.c
@@ -240,44 +273,52 @@ F: doc/guides/sample_app_ug/service_cores.rst Bitops M: Joyce Kong <[email protected]> +S: Supported F: lib/eal/include/rte_bitops.h F: app/test/test_bitops.c Bitmap M: Cristian Dumitrescu <[email protected]> +S: Supported F: lib/eal/include/rte_bitmap.h F: app/test/test_bitmap.c MCSlock M: Honnappa Nagarahalli <[email protected]> +S: Supported F: lib/eal/include/rte_mcslock.h F: app/test/test_mcslock.c Sequence Lock M: Mattias Rönnblom <[email protected]> +S: Supported F: lib/eal/include/rte_seqcount.h F: lib/eal/include/rte_seqlock.h F: app/test/test_seqlock.c Ticketlock M: Joyce Kong <[email protected]> +S: Supported F: lib/eal/include/rte_ticketlock.h F: app/test/test_ticketlock.c Pseudo-random Number Generation M: Mattias Rönnblom <[email protected]> +S: Supported F: lib/eal/include/rte_random.h F: lib/eal/common/rte_random.c F: app/test/test_rand_perf.c ARM v7 M: Ruifeng Wang <[email protected]> +S: Supported F: config/arm/ F: lib/eal/arm/ X: lib/eal/arm/include/*_64.h ARM v8 M: Ruifeng Wang <[email protected]> +S: Supported F: config/arm/ F: doc/guides/linux_gsg/cross_build_dpdk_for_arm64.rst F: lib/eal/arm/
@@ -291,12 +332,14 @@ F: examples/common/neon/ LoongArch M: Min Zhou <[email protected]> +S: Supported F: config/loongarch/ F: doc/guides/linux_gsg/cross_build_dpdk_for_loongarch.rst F: lib/eal/loongarch/ IBM POWER (alpha) M: David Christensen <[email protected]> +S: Supported F: config/ppc/ F: lib/eal/ppc/ F: lib/*/*_altivec*
@@ -307,6 +350,7 @@ F: examples/common/altivec/ RISC-V M: Stanislaw Kardach <[email protected]> +S: Supported F: config/riscv/ F: doc/guides/linux_gsg/cross_build_dpdk_for_riscv.rst F: lib/eal/riscv/
@@ -314,6 +358,7 @@ F: lib/eal/riscv/ Intel x86 M: Bruce Richardson <[email protected]> M: Konstantin Ananyev <[email protected]> +S: Supported F: config/x86/ F: doc/guides/linux_gsg/nic_perf_intel_platform.rst F: buildtools/binutils-avx512-check.py
@@ -330,28 +375,34 @@ F: examples/*/*_avx* F: examples/common/sse/ Linux EAL (with overlaps) +S: Maintained F: lib/eal/linux/ F: doc/guides/linux_gsg/ Linux UIO +S: Maintained F: drivers/bus/pci/linux/*uio* Linux VFIO M: Anatoly Burakov <[email protected]> +S: Supported F: lib/eal/linux/*vfio* F: drivers/bus/pci/linux/*vfio* FreeBSD EAL (with overlaps) M: Bruce Richardson <[email protected]> +S: Supported F: lib/eal/freebsd/ F: doc/guides/freebsd_gsg/ FreeBSD contigmem M: Bruce Richardson <[email protected]> +S: Supported F: kernel/freebsd/contigmem/ FreeBSD UIO M: Bruce Richardson <[email protected]> +S: Supported F: kernel/freebsd/nic_uio/ Windows support
@@ -359,12 +410,14 @@ M: Dmitry Kozlyuk <[email protected]> M: Narcisa Ana Maria Vasile <[email protected]> M: Dmitry Malloy <[email protected]> M: Pallavi Kadam <[email protected]> +S: Supported F: lib/eal/windows/ F: buildtools/map_to_win.py F: doc/guides/windows_gsg/ Windows memory allocation M: Dmitry Kozlyuk <[email protected]> +S: Supported F: lib/eal/windows/eal_hugepages.c F: lib/eal/windows/eal_mem*
@@ -372,10 +425,12 @@ F: lib/eal/windows/eal_mem* Core Libraries -------------- T: git://dpdk.org/dpdk +S: Maintained Memory pool M: Olivier Matz <[email protected]> M: Andrew Rybchenko <[email protected]> +S: Supported F: lib/mempool/ F: drivers/mempool/ring/ F: doc/guides/prog_guide/mempool_lib.rst
@@ -385,6 +440,7 @@ F: app/test/test_func_reentrancy.c Ring queue M: Honnappa Nagarahalli <[email protected]> M: Konstantin Ananyev <[email protected]> +S: Supported F: lib/ring/ F: doc/guides/prog_guide/ring_lib.rst F: app/test/test_ring*
@@ -392,6 +448,7 @@ F: app/test/test_func_reentrancy.c Stack M: Olivier Matz <[email protected]> +S: Supported F: lib/stack/ F: drivers/mempool/stack/ F: app/test/test_stack*
@@ -399,6 +456,7 @@ F: doc/guides/prog_guide/stack_lib.rst Packet buffer M: Olivier Matz <[email protected]> +S: Supported F: lib/mbuf/ F: doc/guides/prog_guide/mbuf_lib.rst F: app/test/test_mbuf.c
@@ -407,6 +465,7 @@ Ethernet API M: Thomas Monjalon <[email protected]> M: Ferruh Yigit <[email protected]> M: Andrew Rybchenko <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-net F: lib/ethdev/ F: app/test/test_ethdev*
@@ -415,6 +474,7 @@ F: doc/guides/prog_guide/switch_representation.rst Flow API M: Ori Kam <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-net F: app/test-pmd/cmdline_flow.c F: doc/guides/prog_guide/rte_flow.rst
@@ -422,18 +482,21 @@ F: lib/ethdev/rte_flow* Traffic Management API - EXPERIMENTAL M: Cristian Dumitrescu <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-net F: lib/ethdev/rte_tm* F: app/test-pmd/cmdline_tm.* Traffic Metering and Policing API - EXPERIMENTAL M: Cristian Dumitrescu <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-net F: lib/ethdev/rte_mtr* F: app/test-pmd/cmdline_mtr.* Baseband API M: Nicolas Chautru <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-baseband F: lib/bbdev/ F: doc/guides/prog_guide/bbdev.rst
@@ -446,6 +509,7 @@ F: doc/guides/sample_app_ug/bbdev_app.rst Crypto API M: Akhil Goyal <[email protected]> M: Fan Zhang <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-crypto F: lib/cryptodev/ F: app/test/test_cryptodev*
@@ -453,6 +517,7 @@ F: examples/l2fwd-crypto/ Security API M: Akhil Goyal <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-crypto F: lib/security/ F: doc/guides/prog_guide/rte_security.rst
@@ -461,6 +526,7 @@ F: app/test/test_security* Compression API - EXPERIMENTAL M: Fan Zhang <[email protected]> M: Ashish Gupta <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-crypto F: lib/compressdev/ F: drivers/compress/
@@ -470,6 +536,7 @@ F: doc/guides/compressdevs/features/default.ini RegEx API - EXPERIMENTAL M: Ori Kam <[email protected]> +S: Supported F: lib/regexdev/ F: app/test-regex/ F: doc/guides/prog_guide/regexdev.rst
@@ -477,6 +544,7 @@ F: doc/guides/regexdevs/features/default.ini Machine Learning device API - EXPERIMENTAL M: Srikanth Yalavarthi <[email protected]> +S: Supported F: lib/mldev/ F: doc/guides/prog_guide/mldev.rst F: app/test-mldev/
@@ -484,6 +552,7 @@ F: doc/guides/tools/testmldev.rst DMA device API - EXPERIMENTAL M: Chengwen Feng <[email protected]> +S: Supported F: lib/dmadev/ F: drivers/dma/skeleton/ F: app/test/test_dmadev*
@@ -495,6 +564,7 @@ F: doc/guides/sample_app_ug/dma.rst General-Purpose Graphics Processing Unit (GPU) API - EXPERIMENTAL M: Elena Agostini <[email protected]> +S: Supported F: lib/gpudev/ F: doc/guides/prog_guide/gpudev.rst F: doc/guides/gpus/features/default.ini
@@ -502,6 +572,7 @@ F: app/test-gpudev/ Eventdev API M: Jerin Jacob <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-eventdev F: lib/eventdev/ F: drivers/event/skeleton/
@@ -510,6 +581,7 @@ F: examples/l3fwd/l3fwd_event* Eventdev Ethdev Rx Adapter API M: Naga Harish K S V <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-eventdev F: lib/eventdev/*eth_rx_adapter* F: app/test/test_event_eth_rx_adapter.c
@@ -517,6 +589,7 @@ F: doc/guides/prog_guide/event_ethernet_rx_adapter.rst Eventdev Ethdev Tx Adapter API M: Naga Harish K S V <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-eventdev F: lib/eventdev/*eth_tx_adapter* F: app/test/test_event_eth_tx_adapter.c
@@ -524,6 +597,7 @@ F: doc/guides/prog_guide/event_ethernet_tx_adapter.rst Eventdev Timer Adapter API M: Erik Gabriel Carrillo <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-eventdev F: lib/eventdev/*timer_adapter* F: app/test/test_event_timer_adapter.c
@@ -531,6 +605,7 @@ F: doc/guides/prog_guide/event_timer_adapter.rst Eventdev Crypto Adapter API M: Abhinandan Gujjar <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-eventdev F: lib/eventdev/*crypto_adapter* F: app/test/test_event_crypto_adapter.c
@@ -539,6 +614,7 @@ F: doc/guides/prog_guide/event_crypto_adapter.rst Raw device API M: Sachin Saxena <[email protected]> M: Hemant Agrawal <[email protected]> +S: Supported F: lib/rawdev/ F: drivers/raw/skeleton/ F: app/test/test_rawdev.c
@@ -551,11 +627,13 @@ Memory Pool Drivers Bucket memory pool M: Artem V. Andreev <[email protected]> M: Andrew Rybchenko <[email protected]> +S: Supported F: drivers/mempool/bucket/ Marvell cnxk M: Ashwin Sekhar T K <[email protected]> M: Pavan Nikhilesh <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-net-mrvl F: drivers/mempool/cnxk/ F: doc/guides/mempool/cnxk.rst
@@ -567,20 +645,24 @@ Bus Drivers AMD CDX bus M: Nipun Gupta <[email protected]> M: Nikhil Agarwal <[email protected]> +S: Supported F: drivers/bus/cdx/ Auxiliary bus driver - EXPERIMENTAL M: Parav Pandit <[email protected]> M: Xueming Li <[email protected]> +S: Supported F: drivers/bus/auxiliary/ Intel FPGA bus M: Rosen Xu <[email protected]> +S: Supported F: drivers/bus/ifpga/ NXP buses M: Hemant Agrawal <[email protected]> M: Sachin Saxena <[email protected]> +S: Supported F: drivers/common/dpaax/ F: drivers/bus/dpaa/ F: drivers/bus/fslmc/
@@ -588,36 +670,43 @@ F: drivers/bus/fslmc/ PCI bus driver M: Chenbo Xia <[email protected]> M: Nipun Gupta <[email protected]> +S: Supported F: drivers/bus/pci/ Platform bus driver M: Tomasz Duszynski <[email protected]> +S: Supported F: drivers/bus/platform/ VDEV bus driver +S: Maintained F: drivers/bus/vdev/ F: app/test/test_vdev.c VMBUS bus driver M: Long Li <[email protected]> +S: Supported F: drivers/bus/vmbus/ Networking Drivers ------------------ M: Ferruh Yigit <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-net F: doc/guides/nics/features/default.ini Link bonding M: Chas Williams <[email protected]> M: Min Hu (Connor) <[email protected]> +S: Supported F: drivers/net/bonding/ F: doc/guides/prog_guide/link_bonding_poll_mode_drv_lib.rst F: app/test/test_link_bonding* F: examples/bond/ Linux KNI +S: Obsolete F: kernel/linux/kni/ F: lib/kni/ F: doc/guides/prog_guide/kernel_nic_interface.rst
@@ -625,12 +714,14 @@ F: app/test/test_kni.c Linux AF_PACKET M: John W. Linville <[email protected]> +S: Odd Fixes F: drivers/net/af_packet/ F: doc/guides/nics/features/afpacket.ini Linux AF_XDP M: Ciara Loftus <[email protected]> M: Qi Zhang <[email protected]> +S: Supported F: drivers/net/af_xdp/ F: doc/guides/nics/af_xdp.rst F: doc/guides/nics/features/af_xdp.ini
@@ -641,24 +732,28 @@ M: Shai Brandes <[email protected]> M: Evgeny Schemeilin <[email protected]> M: Igor Chauskin <[email protected]> M: Ron Beider <[email protected]> +S: Supported F: drivers/net/ena/ F: doc/guides/nics/ena.rst F: doc/guides/nics/features/ena.ini AMD axgbe M: Chandubabu Namburu <[email protected]> +S: Supported F: drivers/net/axgbe/ F: doc/guides/nics/axgbe.rst F: doc/guides/nics/features/axgbe.ini AMD Pensando ionic M: Andrew Boyer <[email protected]> +S: Supported F: drivers/net/ionic/ F: doc/guides/nics/ionic.rst F: doc/guides/nics/features/ionic.ini Marvell/Aquantia atlantic M: Igor Russkikh <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-net-mrvl F: drivers/net/atlantic/ F: doc/guides/nics/atlantic.rst
@@ -668,6 +763,7 @@ Atomic Rules ARK M: Shepard Siegel <[email protected]> M: Ed Czeck <[email protected]> M: John Miller <[email protected]> +S: Supported F: drivers/net/ark/ F: doc/guides/nics/ark.rst F: doc/guides/nics/features/ark.ini
@@ -675,6 +771,7 @@ F: doc/guides/nics/features/ark.ini Broadcom bnxt M: Ajit Khaparde <[email protected]> M: Somnath Kotur <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-net-brcm F: drivers/net/bnxt/ F: doc/guides/nics/bnxt.rst
@@ -683,6 +780,7 @@ F: doc/guides/nics/features/bnxt.ini Cavium ThunderX nicvf M: Jerin Jacob <[email protected]> M: Maciej Czekaj <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-net-mrvl F: drivers/net/thunderx/ F: doc/guides/nics/thunderx.rst
@@ -690,6 +788,7 @@ F: doc/guides/nics/features/thunderx.ini Cavium OCTEON TX M: Harman Kalra <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-net-mrvl F: drivers/common/octeontx/ F: drivers/mempool/octeontx/
@@ -699,6 +798,7 @@ F: doc/guides/nics/features/octeontx.ini Chelsio cxgbe M: Rahul Lakkireddy <[email protected]> +S: Supported F: drivers/net/cxgbe/ F: doc/guides/nics/cxgbe.rst F: doc/guides/nics/features/cxgbe.ini
@@ -706,6 +806,7 @@ F: doc/guides/nics/features/cxgbe.ini Cisco enic M: John Daley <[email protected]> M: Hyong Youb Kim <[email protected]> +S: Supported F: drivers/net/enic/ F: doc/guides/nics/enic.rst F: doc/guides/nics/features/enic.ini
@@ -715,6 +816,7 @@ M: Junfeng Guo <[email protected]> M: Jeroen de Borst <[email protected]> M: Rushil Gupta <[email protected]> M: Joshua Washington <[email protected]> +S: Supported F: drivers/net/gve/ F: doc/guides/nics/gve.rst F: doc/guides/nics/features/gve.ini
@@ -722,6 +824,7 @@ F: doc/guides/nics/features/gve.ini Hisilicon hns3 M: Dongdong Liu <[email protected]> M: Yisen Zhuang <[email protected]> +S: Supported F: drivers/net/hns3/ F: doc/guides/nics/hns3.rst F: doc/guides/nics/features/hns3.ini
@@ -730,6 +833,7 @@ Huawei hinic M: Ziyang Xuan <[email protected]> M: Xiaoyun Wang <[email protected]> M: Guoyang Zhou <[email protected]> +S: Supported F: drivers/net/hinic/ F: doc/guides/nics/hinic.rst F: doc/guides/nics/features/hinic.ini
@@ -737,6 +841,7 @@ F: doc/guides/nics/features/hinic.ini Intel e1000 M: Simei Su <[email protected]> M: Wenjun Wu <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-net-intel F: drivers/net/e1000/ F: doc/guides/nics/e1000em.rst
@@ -747,6 +852,7 @@ F: doc/guides/nics/features/igb*.ini Intel ixgbe M: Qiming Yang <[email protected]> M: Wenjun Wu <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-net-intel F: drivers/net/ixgbe/ F: doc/guides/nics/ixgbe.rst
@@ -756,6 +862,7 @@ F: doc/guides/nics/features/ixgbe*.ini Intel i40e M: Yuying Zhang <[email protected]> M: Beilei Xing <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-net-intel F: drivers/net/i40e/ F: doc/guides/nics/i40e.rst
@@ -765,6 +872,7 @@ F: doc/guides/nics/features/i40e*.ini Intel fm10k M: Qi Zhang <[email protected]> M: Xiao Wang <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-net-intel F: drivers/net/fm10k/ F: doc/guides/nics/fm10k.rst
@@ -773,6 +881,7 @@ F: doc/guides/nics/features/fm10k*.ini Intel iavf M: Jingjing Wu <[email protected]> M: Beilei Xing <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-net-intel F: drivers/net/iavf/ F: drivers/common/iavf/
@@ -781,6 +890,7 @@ F: doc/guides/nics/features/iavf*.ini Intel ice M: Qiming Yang <[email protected]> M: Qi Zhang <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-net-intel F: drivers/net/ice/ F: doc/guides/nics/ice.rst
@@ -789,6 +899,7 @@ F: doc/guides/nics/features/ice.ini Intel idpf M: Jingjing Wu <[email protected]> M: Beilei Xing <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-net-intel F: drivers/net/idpf/ F: drivers/common/idpf/
@@ -798,6 +909,7 @@ F: doc/guides/nics/features/idpf.ini Intel cpfl - EXPERIMENTAL M: Yuying Zhang <[email protected]> M: Beilei Xing <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-net-intel F: drivers/net/cpfl/ F: doc/guides/nics/cpfl.rst
@@ -806,6 +918,7 @@ F: doc/guides/nics/features/cpfl.ini Intel igc M: Junfeng Guo <[email protected]> M: Simei Su <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-net-intel F: drivers/net/igc/ F: doc/guides/nics/igc.rst
@@ -814,6 +927,7 @@ F: doc/guides/nics/features/igc.ini Intel ipn3ke M: Rosen Xu <[email protected]> T: git://dpdk.org/next/dpdk-next-net-intel +S: Supported F: drivers/net/ipn3ke/ F: doc/guides/nics/ipn3ke.rst F: doc/guides/nics/features/ipn3ke.ini
@@ -823,6 +937,7 @@ M: Nithin Dabilpuram <[email protected]> M: Kiran Kumar K <[email protected]> M: Sunil Kumar Kori <[email protected]> M: Satha Rao <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-net-mrvl F: drivers/common/cnxk/ F: drivers/net/cnxk/
@@ -832,6 +947,7 @@ F: doc/guides/platform/cnxk.rst Marvell mvpp2 M: Liron Himi <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-net-mrvl F: drivers/common/mvep/ F: drivers/net/mvpp2/
@@ -841,6 +957,7 @@ F: doc/guides/nics/features/mvpp2.ini Marvell mvneta M: Zyta Szpak <[email protected]> M: Liron Himi <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-net-mrvl F: drivers/net/mvneta/ F: doc/guides/nics/mvneta.rst
@@ -848,6 +965,7 @@ F: doc/guides/nics/features/mvneta.ini Marvell OCTEON TX EP - endpoint M: Vamsi Attunuru <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-net-mrvl F: drivers/net/octeon_ep/ F: doc/guides/nics/features/octeon_ep.ini
@@ -856,6 +974,7 @@ F: doc/guides/nics/octeon_ep.rst NVIDIA mlx4 M: Matan Azrad <[email protected]> M: Viacheslav Ovsiienko <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-net-mlx F: drivers/net/mlx4/ F: doc/guides/nics/mlx4.rst
@@ -866,6 +985,7 @@ M: Matan Azrad <[email protected]> M: Viacheslav Ovsiienko <[email protected]> M: Ori Kam <[email protected]> M: Suanming Mou <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-net-mlx F: drivers/common/mlx5/ F: drivers/net/mlx5/
@@ -875,23 +995,27 @@ F: doc/guides/nics/features/mlx5.ini Microsoft mana M: Long Li <[email protected]> +S: Supported F: drivers/net/mana/ F: doc/guides/nics/mana.rst F: doc/guides/nics/features/mana.ini Microsoft vdev_netvsc - EXPERIMENTAL M: Matan Azrad <[email protected]> +S: Supported F: drivers/net/vdev_netvsc/ F: doc/guides/nics/vdev_netvsc.rst Microsoft Hyper-V netvsc M: Long Li <[email protected]> +S: Supported F: drivers/net/netvsc/ F: doc/guides/nics/netvsc.rst F: doc/guides/nics/features/netvsc.ini Netcope nfb M: Martin Spinler <[email protected]> +S: Supported F: drivers/net/nfb/ F: doc/guides/nics/nfb.rst F: doc/guides/nics/features/nfb.ini
@@ -899,6 +1023,7 @@ F: doc/guides/nics/features/nfb.ini Netronome nfp M: Chaoyong He <[email protected]> M: Niklas Soderlund <[email protected]> +S: Supported F: drivers/net/nfp/ F: doc/guides/nics/nfp.rst F: doc/guides/nics/features/nfp*.ini
@@ -906,6 +1031,7 @@ F: doc/guides/nics/features/nfp*.ini NXP dpaa M: Hemant Agrawal <[email protected]> M: Sachin Saxena <[email protected]> +S: Supported F: drivers/mempool/dpaa/ F: drivers/net/dpaa/ F: doc/guides/nics/dpaa.rst
@@ -914,6 +1040,7 @@ F: doc/guides/nics/features/dpaa.ini NXP dpaa2 M: Hemant Agrawal <[email protected]> M: Sachin Saxena <[email protected]> +S: Supported F: drivers/mempool/dpaa2/ F: drivers/net/dpaa2/ F: doc/guides/nics/dpaa2.rst
@@ -922,6 +1049,7 @@ F: doc/guides/nics/features/dpaa2.ini NXP enetc M: Gagandeep Singh <[email protected]> M: Sachin Saxena <[email protected]> +S: Supported F: drivers/net/enetc/ F: doc/guides/nics/enetc.rst F: doc/guides/nics/features/enetc.ini
@@ -929,18 +1057,21 @@ F: doc/guides/nics/features/enetc.ini NXP enetfec - EXPERIMENTAL M: Apeksha Gupta <[email protected]> M: Sachin Saxena <[email protected]> +S: Supported F: drivers/net/enetfec/ F: doc/guides/nics/enetfec.rst F: doc/guides/nics/features/enetfec.ini NXP pfe M: Gagandeep Singh <[email protected]> +S: Supported F: doc/guides/nics/pfe.rst F: drivers/net/pfe/ F: doc/guides/nics/features/pfe.ini Marvell QLogic bnx2x M: Julien Aube <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-net-mrvl F: drivers/net/bnx2x/ F: doc/guides/nics/bnx2x.rst
@@ -949,6 +1080,7 @@ F: doc/guides/nics/features/bnx2x*.ini Marvell QLogic qede PMD M: Devendra Singh Rawat <[email protected]> M: Alok Prasad <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-net-mrvl F: drivers/net/qede/ F: doc/guides/nics/qede.rst
@@ -956,6 +1088,7 @@ F: doc/guides/nics/features/qede*.ini Solarflare sfc_efx M: Andrew Rybchenko <[email protected]> +S: Supported F: drivers/common/sfc_efx/ F: drivers/net/sfc/ F: doc/guides/nics/sfc_efx.rst
@@ -963,6 +1096,7 @@ F: doc/guides/nics/features/sfc.ini Wangxun ngbe M: Jiawen Wu <[email protected]> +S: Supported F: drivers/net/ngbe/ F: doc/guides/nics/ngbe.rst F: doc/guides/nics/features/ngbe.ini
@@ -970,12 +1104,14 @@ F: doc/guides/nics/features/ngbe.ini Wangxun txgbe M: Jiawen Wu <[email protected]> M: Jian Wang <[email protected]> +S: Supported F: drivers/net/txgbe/ F: doc/guides/nics/txgbe.rst F: doc/guides/nics/features/txgbe.ini VMware vmxnet3 M: Jochen Behrens <[email protected]> +S: Supported F: drivers/net/vmxnet3/ F: doc/guides/nics/vmxnet3.rst F: doc/guides/nics/features/vmxnet3.ini
@@ -983,6 +1119,7 @@ F: doc/guides/nics/features/vmxnet3.ini Vhost-user M: Maxime Coquelin <[email protected]> M: Chenbo Xia <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-virtio F: lib/vhost/ F: doc/guides/prog_guide/vhost_lib.rst
@@ -997,6 +1134,7 @@ F: doc/guides/sample_app_ug/vdpa.rst Vhost PMD M: Maxime Coquelin <[email protected]> M: Chenbo Xia <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-virtio F: drivers/net/vhost/ F: doc/guides/nics/vhost.rst
@@ -1005,6 +1143,7 @@ F: doc/guides/nics/features/vhost.ini Virtio PMD M: Maxime Coquelin <[email protected]> M: Chenbo Xia <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-virtio F: drivers/net/virtio/ F: doc/guides/nics/virtio.rst
@@ -1013,26 +1152,31 @@ F: doc/guides/nics/features/virtio*.ini Wind River AVP M: Steven Webster <[email protected]> M: Matt Peters <[email protected]> +S: Supported F: drivers/net/avp/ F: doc/guides/nics/avp.rst F: doc/guides/nics/features/avp.ini PCAP PMD +S: Orphan F: drivers/net/pcap/ F: doc/guides/nics/pcap_ring.rst F: doc/guides/nics/features/pcap.ini Tap PMD +S: Orphan F: drivers/net/tap/ F: doc/guides/nics/tap.rst F: doc/guides/nics/features/tap.ini KNI PMD +S: Obsolete F: drivers/net/kni/ F: doc/guides/nics/kni.rst Ring PMD M: Bruce Richardson <[email protected]> +S: Supported F: drivers/net/ring/ F: doc/guides/nics/pcap_ring.rst F: app/test/test_pmd_ring.c
@@ -1040,21 +1184,25 @@ F: app/test/test_pmd_ring_perf.c Null Networking PMD M: Tetsuya Mukawa <[email protected]> +S: Supported F: drivers/net/null/ Fail-safe PMD M: Gaetan Rivet <[email protected]> +S: Supported F: drivers/net/failsafe/ F: doc/guides/nics/fail_safe.rst F: doc/guides/nics/features/failsafe.ini Softnic PMD M: Cristian Dumitrescu <[email protected]> +S: Supported F: drivers/net/softnic/ F: doc/guides/nics/softnic.rst Memif PMD M: Jakub Grajciar <[email protected]> +S: Supported F: drivers/net/memif/ F: doc/guides/nics/memif.rst F: doc/guides/nics/features/memif.ini
@@ -1062,17 +1210,20 @@ F: doc/guides/nics/features/memif.ini Crypto Drivers -------------- +S: Maintained T: git://dpdk.org/next/dpdk-next-crypto F: doc/guides/cryptodevs/features/default.ini AMD CCP Crypto M: Sunil Uttarwar <[email protected]> +S: Supported F: drivers/crypto/ccp/ F: doc/guides/cryptodevs/ccp.rst F: doc/guides/cryptodevs/features/ccp.ini ARMv8 Crypto M: Ruifeng Wang <[email protected]> +S: Supported F: drivers/crypto/armv8/ F: doc/guides/cryptodevs/armv8.rst F: doc/guides/cryptodevs/features/armv8.ini
@@ -1081,12 +1232,14 @@ Broadcom FlexSparc M: Ajit Khaparde <[email protected]> M: Raveendra Padasalagi <[email protected]> M: Vikas Gupta <[email protected]> +S: Supported F: drivers/crypto/bcmfs/ F: doc/guides/cryptodevs/bcmfs.rst F: doc/guides/cryptodevs/features/bcmfs.ini Cavium OCTEON TX crypto M: Anoob Joseph <[email protected]> +S: Supported F: drivers/common/cpt/ F: drivers/crypto/octeontx/ F: doc/guides/cryptodevs/octeontx.rst
@@ -1094,17 +1247,20 @@ F: doc/guides/cryptodevs/features/octeontx.ini Crypto Scheduler M: Kai Ji <[email protected]> +S: Supported F: drivers/crypto/scheduler/ F: doc/guides/cryptodevs/scheduler.rst HiSilicon UADK crypto M: Zhangfei Gao <[email protected]> +S: Supported F: drivers/crypto/uadk/ F: doc/guides/cryptodevs/uadk.rst F: doc/guides/cryptodevs/features/uadk.ini Intel QuickAssist M: Kai Ji <[email protected]> +S: Supported F: drivers/crypto/qat/ F: drivers/common/qat/ F: doc/guides/cryptodevs/qat.rst
@@ -1113,6 +1269,7 @@ F: doc/guides/cryptodevs/features/qat.ini IPsec MB M: Kai Ji <[email protected]> M: Pablo de Lara <[email protected]> +S: Supported F: drivers/crypto/ipsec_mb/ F: doc/guides/cryptodevs/aesni_gcm.rst F: doc/guides/cryptodevs/aesni_mb.rst
@@ -1131,6 +1288,7 @@ Marvell cnxk crypto M: Ankur Dwivedi <[email protected]> M: Anoob Joseph <[email protected]> M: Tejasree Kondoj <[email protected]> +S: Supported F: drivers/crypto/cnxk/ F: doc/guides/cryptodevs/cnxk.rst F: doc/guides/cryptodevs/features/cn9k.ini
@@ -1139,6 +1297,7 @@ F: doc/guides/cryptodevs/features/cn10k.ini Marvell mvsam M: Michael Shamis <[email protected]> M: Liron Himi <[email protected]> +S: Supported F: drivers/crypto/mvsam/ F: doc/guides/cryptodevs/mvsam.rst F: doc/guides/cryptodevs/features/mvsam.ini
@@ -1146,18 +1305,21 @@ F: doc/guides/cryptodevs/features/mvsam.ini Marvell Nitrox M: Nagadheeraj Rottela <[email protected]> M: Srikanth Jampala <[email protected]> +S: Supported F: drivers/crypto/nitrox/ F: doc/guides/cryptodevs/nitrox.rst F: doc/guides/cryptodevs/features/nitrox.ini NVIDIA mlx5 M: Matan Azrad <[email protected]> +S: Supported F: drivers/crypto/mlx5/ F: doc/guides/cryptodevs/mlx5.rst F: doc/guides/cryptodevs/features/mlx5.ini Null Crypto M: Kai Ji <[email protected]> +S: Supported F: drivers/crypto/null/ F: doc/guides/cryptodevs/null.rst F: doc/guides/cryptodevs/features/null.ini
@@ -1165,6 +1327,7 @@ F: doc/guides/cryptodevs/features/null.ini NXP CAAM JR M: Gagandeep Singh <[email protected]> M: Hemant Agrawal <[email protected]> +S: Supported F: drivers/crypto/caam_jr/ F: doc/guides/cryptodevs/caam_jr.rst F: doc/guides/cryptodevs/features/caam_jr.ini
@@ -1172,6 +1335,7 @@ F: doc/guides/cryptodevs/features/caam_jr.ini NXP DPAA_SEC M: Gagandeep Singh <[email protected]> M: Hemant Agrawal <[email protected]> +S: Supported F: drivers/crypto/dpaa_sec/ F: doc/guides/cryptodevs/dpaa_sec.rst F: doc/guides/cryptodevs/features/dpaa_sec.ini
@@ -1179,18 +1343,21 @@ F: doc/guides/cryptodevs/features/dpaa_sec.ini NXP DPAA2_SEC M: Gagandeep Singh <[email protected]> M: Hemant Agrawal <[email protected]> +S: Supported F: drivers/crypto/dpaa2_sec/ F: doc/guides/cryptodevs/dpaa2_sec.rst F: doc/guides/cryptodevs/features/dpaa2_sec.ini OpenSSL M: Kai Ji <[email protected]> +S: Supported F: drivers/crypto/openssl/ F: doc/guides/cryptodevs/openssl.rst F: doc/guides/cryptodevs/features/openssl.ini Virtio M: Jay Zhou <[email protected]> +S: Supported F: drivers/crypto/virtio/ F: doc/guides/cryptodevs/virtio.rst F: doc/guides/cryptodevs/features/virtio.ini
@@ -1198,31 +1365,37 @@ F: doc/guides/cryptodevs/features/virtio.ini Compression Drivers ------------------- +S: Maintained T: git://dpdk.org/next/dpdk-next-crypto Cavium OCTEON TX zipvf M: Ashish Gupta <[email protected]> +S: Supported F: drivers/compress/octeontx/ F: doc/guides/compressdevs/octeontx.rst F: doc/guides/compressdevs/features/octeontx.ini Intel QuickAssist M: Kai Ji <[email protected]> +S: Supported F: drivers/compress/qat/ F: drivers/common/qat/ ISA-L M: Lee Daly <[email protected]> +S: Supported F: drivers/compress/isal/ F: doc/guides/compressdevs/isal.rst F: doc/guides/compressdevs/features/isal.ini NVIDIA mlx5 M: Matan Azrad <[email protected]> +S: Supported F: drivers/compress/mlx5/ ZLIB M: Sunila Sahu <[email protected]> +S: Supported F: drivers/compress/zlib/ F: doc/guides/compressdevs/zlib.rst F: doc/guides/compressdevs/features/zlib.ini
@@ -1234,34 +1407,40 @@ DMAdev Drivers Intel IDXD - EXPERIMENTAL M: Bruce Richardson <[email protected]> M: Kevin Laatz <[email protected]> +S: Supported F: drivers/dma/idxd/ F: doc/guides/dmadevs/idxd.rst Intel IOAT M: Bruce Richardson <[email protected]> M: Conor Walsh <[email protected]> +S: Supported F: drivers/dma/ioat/ F: doc/guides/dmadevs/ioat.rst HiSilicon DMA M: Chengwen Feng <[email protected]> +S: Supported F: drivers/dma/hisilicon/ F: doc/guides/dmadevs/hisilicon.rst Marvell CNXK DPI DMA M: Vamsi Attunuru <[email protected]> +S: Supported F: drivers/dma/cnxk/ F: doc/guides/dmadevs/cnxk.rst NXP DPAA DMA M: Gagandeep Singh <[email protected]> M: Sachin Saxena <[email protected]> +S: Supported F: drivers/dma/dpaa/ F: doc/guides/dmadevs/dpaa.rst NXP DPAA2 QDMA M: Gagandeep Singh <[email protected]> M: Hemant Agrawal <[email protected]> +S: Supported F: drivers/dma/dpaa2/ F: doc/guides/dmadevs/dpaa2.rst
@@ -1271,12 +1450,14 @@ RegEx Drivers Marvell OCTEON CN9K regex M: Liron Himi <[email protected]> +S: Supported F: drivers/regex/cn9k/ F: doc/guides/regexdevs/cn9k.rst F: doc/guides/regexdevs/features/cn9k.ini NVIDIA mlx5 M: Ori Kam <[email protected]> +S: Supported F: drivers/regex/mlx5/ F: doc/guides/regexdevs/mlx5.rst F: doc/guides/regexdevs/features/mlx5.ini
@@ -1287,6 +1468,7 @@ MLdev Drivers Marvell ML CNXK M: Srikanth Yalavarthi <[email protected]> +S: Supported F: drivers/common/cnxk/hw/ml.h F: drivers/common/cnxk/roc_ml* F: drivers/ml/cnxk/
@@ -1299,6 +1481,7 @@ T: git://dpdk.org/next/dpdk-next-virtio Intel ifc M: Xiao Wang <[email protected]> +S: Supported F: drivers/vdpa/ifc/ F: doc/guides/vdpadevs/ifc.rst F: doc/guides/vdpadevs/features/ifcvf.ini
@@ -1306,12 +1489,14 @@ F: doc/guides/vdpadevs/features/ifcvf.ini NVIDIA mlx5 vDPA M: Matan Azrad <[email protected]> M: Viacheslav Ovsiienko <[email protected]> +S: Supported F: drivers/vdpa/mlx5/ F: doc/guides/vdpadevs/mlx5.rst F: doc/guides/vdpadevs/features/mlx5.ini Xilinx sfc vDPA M: Vijay Kumar Srivastava <[email protected]> +S: Supported F: drivers/vdpa/sfc/ F: doc/guides/vdpadevs/sfc.rst F: doc/guides/vdpadevs/features/sfc.ini
@@ -1320,42 +1505,50 @@ F: doc/guides/vdpadevs/features/sfc.ini Eventdev Drivers ---------------- M: Jerin Jacob <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-eventdev Cavium OCTEON TX ssovf M: Jerin Jacob <[email protected]> +S: Supported F: drivers/event/octeontx/ F: doc/guides/eventdevs/octeontx.rst Cavium OCTEON TX timvf M: Pavan Nikhilesh <[email protected]> +S: Supported F: drivers/event/octeontx/timvf_* Intel DLB2 M: Timothy McDaniel <[email protected]> +S: Supported F: drivers/event/dlb2/ F: doc/guides/eventdevs/dlb2.rst Marvell cnxk M: Pavan Nikhilesh <[email protected]> M: Shijith Thotton <[email protected]> +S: Supported F: drivers/event/cnxk/ F: doc/guides/eventdevs/cnxk.rst NXP DPAA eventdev M: Hemant Agrawal <[email protected]> M: Sachin Saxena <[email protected]> +S: Supported F: drivers/event/dpaa/ F: doc/guides/eventdevs/dpaa.rst NXP DPAA2 eventdev M: Hemant Agrawal <[email protected]> M: Sachin Saxena <[email protected]> +S: Supported F: drivers/event/dpaa2/ F: doc/guides/eventdevs/dpaa2.rst Software Eventdev PMD M: Harry van Haaren <[email protected]> +S: Supported F: drivers/event/sw/ F: doc/guides/eventdevs/sw.rst F: examples/eventdev_pipeline/
@@ -1363,11 +1556,13 @@ F: doc/guides/sample_app_ug/eventdev_pipeline.rst Distributed Software Eventdev PMD M: Mattias Rönnblom <[email protected]> +S: Supported F: drivers/event/dsw/ F: doc/guides/eventdevs/dsw.rst Software OPDL Eventdev PMD M: Liang Ma <[email protected]> +S: Supported M: Peter Mccarthy <[email protected]> F: drivers/event/opdl/ F: doc/guides/eventdevs/opdl.rst
@@ -1378,6 +1573,7 @@ Baseband Drivers Intel baseband M: Nicolas Chautru <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-baseband F: drivers/baseband/turbo_sw/ F: doc/guides/bbdevs/turbo_sw.rst
@@ -1397,6 +1593,7 @@ F: doc/guides/bbdevs/features/vrb1.ini Null baseband M: Nicolas Chautru <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-baseband F: drivers/baseband/null/ F: doc/guides/bbdevs/null.rst
@@ -1405,6 +1602,7 @@ F: doc/guides/bbdevs/features/null.ini NXP LA12xx M: Gagandeep Singh <[email protected]> M: Hemant Agrawal <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-baseband F: drivers/baseband/la12xx/ F: doc/guides/bbdevs/la12xx.rst
@@ -1416,6 +1614,7 @@ GPU Drivers NVIDIA CUDA M: Elena Agostini <[email protected]> +S: Supported F: drivers/gpu/cuda/ F: doc/guides/gpus/cuda.rst
@@ -1426,6 +1625,7 @@ Rawdev Drivers Intel FPGA M: Rosen Xu <[email protected]> M: Tianfei zhang <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-net-intel F: drivers/raw/ifpga/ F: doc/guides/rawdevs/ifpga.rst
@@ -1433,18 +1633,21 @@ F: doc/guides/rawdevs/ifpga.rst Marvell CNXK BPHY M: Jakub Palider <[email protected]> M: Tomasz Duszynski <[email protected]> +S: Supported F: doc/guides/rawdevs/cnxk_bphy.rst F: drivers/raw/cnxk_bphy/ Marvell CNXK GPIO M: Jakub Palider <[email protected]> M: Tomasz Duszynski <[email protected]> +S: Supported F: doc/guides/rawdevs/cnxk_gpio.rst F: drivers/raw/cnxk_gpio/ NTB M: Jingjing Wu <[email protected]> M: Junfeng Guo <[email protected]> +S: Supported F: drivers/raw/ntb/ F: doc/guides/rawdevs/ntb.rst F: examples/ntb/
@@ -1452,6 +1655,7 @@ F: doc/guides/sample_app_ug/ntb.rst NXP DPAA2 CMDIF M: Gagandeep Singh <[email protected]> +S: Supported F: drivers/raw/dpaa2_cmdif/ F: doc/guides/rawdevs/dpaa2_cmdif.rst
@@ -1461,12 +1665,14 @@ Packet processing Network headers M: Olivier Matz <[email protected]> +S: Supported F: lib/net/ F: app/test/test_cksum.c F: app/test/test_cksum_perf.c Packet CRC M: Jasvinder Singh <[email protected]> +S: Supported F: lib/net/net_crc.h F: lib/net/rte_net_crc* F: lib/net/net_crc_avx512.c
@@ -1475,6 +1681,7 @@ F: app/test/test_crc.c IP fragmentation & reassembly M: Konstantin Ananyev <[email protected]> +S: Supported F: lib/ip_frag/ F: doc/guides/prog_guide/ip_fragment_reassembly_lib.rst F: app/test/test_ipfrag.c
@@ -1486,16 +1693,19 @@ F: doc/guides/sample_app_ug/ip_reassembly.rst Generic Receive Offload - EXPERIMENTAL M: Jiayu Hu <[email protected]> +S: Supported F: lib/gro/ F: doc/guides/prog_guide/generic_receive_offload_lib.rst Generic Segmentation Offload M: Jiayu Hu <[email protected]> +S: Supported F: lib/gso/ F: doc/guides/prog_guide/generic_segmentation_offload_lib.rst IPsec M: Konstantin Ananyev <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-crypto F: lib/ipsec/ F: app/test/test_ipsec*
@@ -1506,12 +1716,14 @@ F: app/test-sad/ PDCP - EXPERIMENTAL M: Anoob Joseph <[email protected]> M: Volodymyr Fialko <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-crypto F: lib/pdcp/ F: doc/guides/prog_guide/pdcp_lib.rst F: app/test/test_pdcp* Flow Classify - EXPERIMENTAL - UNMAINTAINED +S: Orphan F: lib/flow_classify/ F: app/test/test_flow_classify* F: doc/guides/prog_guide/flow_classify_lib.rst
@@ -1520,6 +1732,7 @@ F: doc/guides/sample_app_ug/flow_classify.rst Distributor M: David Hunt <[email protected]> +S: Supported F: lib/distributor/ F: doc/guides/prog_guide/packet_distrib_lib.rst F: app/test/test_distributor*
@@ -1528,6 +1741,7 @@ F: doc/guides/sample_app_ug/dist_app.rst Reorder M: Volodymyr Fialko <[email protected]> +S: Supported F: lib/reorder/ F: doc/guides/prog_guide/reorder_lib.rst F: app/test/test_reorder*
@@ -1536,6 +1750,7 @@ F: doc/guides/sample_app_ug/packet_ordering.rst Hierarchical scheduler M: Cristian Dumitrescu <[email protected]> +S: Supported F: lib/sched/ F: doc/guides/prog_guide/qos_framework.rst F: app/test/test_pie.c
@@ -1547,6 +1762,7 @@ F: doc/guides/sample_app_ug/qos_scheduler.rst Packet capture M: Reshma Pattan <[email protected]> M: Stephen Hemminger <[email protected]> +S: Maintained F: lib/pdump/ F: doc/guides/prog_guide/pdump_lib.rst F: app/test/test_pdump.*
@@ -1562,6 +1778,7 @@ F: doc/guides/tools/dumpcap.rst Packet Framework ---------------- M: Cristian Dumitrescu <[email protected]> +S: Supported F: lib/pipeline/ F: lib/port/ F: lib/table/
@@ -1579,6 +1796,7 @@ Algorithms ACL M: Konstantin Ananyev <[email protected]> +S: Supported F: lib/acl/ F: doc/guides/prog_guide/packet_classif_access_ctrl.rst F: app/test-acl/
@@ -1587,6 +1805,7 @@ F: app/test/test_acl.* EFD M: Byron Marohn <[email protected]> M: Yipeng Wang <[email protected]> +S: Supported F: lib/efd/ F: doc/guides/prog_guide/efd_lib.rst F: app/test/test_efd*
@@ -1598,6 +1817,7 @@ M: Yipeng Wang <[email protected]> M: Sameh Gobriel <[email protected]> M: Bruce Richardson <[email protected]> M: Vladimir Medvedkin <[email protected]> +S: Supported F: lib/hash/ F: doc/guides/prog_guide/hash_lib.rst F: doc/guides/prog_guide/toeplitz_hash_lib.rst
@@ -1607,6 +1827,7 @@ F: app/test/test_func_reentrancy.c LPM M: Bruce Richardson <[email protected]> M: Vladimir Medvedkin <[email protected]> +S: Supported F: lib/lpm/ F: doc/guides/prog_guide/lpm* F: app/test/test_lpm*
@@ -1616,12 +1837,14 @@ F: app/test/test_xmmt_ops.h Membership - EXPERIMENTAL M: Yipeng Wang <[email protected]> M: Sameh Gobriel <[email protected]> +S: Supported F: lib/member/ F: doc/guides/prog_guide/member_lib.rst F: app/test/test_member* RIB/FIB M: Vladimir Medvedkin <[email protected]> +S: Supported F: lib/rib/ F: app/test/test_rib* F: lib/fib/
@@ -1630,6 +1853,7 @@ F: app/test-fib/ Traffic metering M: Cristian Dumitrescu <[email protected]> +S: Supported F: lib/meter/ F: doc/guides/sample_app_ug/qos_scheduler.rst F: app/test/test_meter.c
@@ -1642,12 +1866,14 @@ Other libraries Configuration file M: Cristian Dumitrescu <[email protected]> +S: Supported F: lib/cfgfile/ F: app/test/test_cfgfile.c F: app/test/test_cfgfiles/ Interactive command line M: Olivier Matz <[email protected]> +S: Supported F: lib/cmdline/ F: app/test-cmdline/ F: app/test/test_cmdline*
@@ -1656,11 +1882,13 @@ F: doc/guides/sample_app_ug/cmd_line.rst Key/Value parsing M: Olivier Matz <[email protected]> +S: Supported F: lib/kvargs/ F: app/test/test_kvargs.c RCU M: Honnappa Nagarahalli <[email protected]> +S: Supported F: lib/rcu/ F: app/test/test_rcu* F: doc/guides/prog_guide/rcu_lib.rst
@@ -1668,11 +1896,13 @@ F: doc/guides/prog_guide/rcu_lib.rst PCI M: Chenbo Xia <[email protected]> M: Gaetan Rivet <[email protected]> +S: Supported F: lib/pci/ Power management M: Anatoly Burakov <[email protected]> M: David Hunt <[email protected]> +S: Supported F: lib/power/ F: doc/guides/prog_guide/power_man.rst F: app/test/test_power*
@@ -1683,6 +1913,7 @@ F: doc/guides/sample_app_ug/vm_power_management.rst Timers M: Erik Gabriel Carrillo <[email protected]> +S: Supported F: lib/timer/ F: doc/guides/prog_guide/timer_lib.rst F: app/test/test_timer*
@@ -1690,25 +1921,30 @@ F: examples/timer/ F: doc/guides/sample_app_ug/timer.rst Job statistics +S: Orphan F: lib/jobstats/ F: examples/l2fwd-jobstats/ F: doc/guides/sample_app_ug/l2_forward_job_stats.rst Metrics +S: Orphan F: lib/metrics/ F: app/test/test_metrics.c Bit-rate statistics +S: Orphan F: lib/bitratestats/ F: app/test/test_bitratestats.c Latency statistics M: Reshma Pattan <[email protected]> +S: Supported F: lib/latencystats/ F: app/test/test_latencystats.c Telemetry M: Ciara Power <[email protected]> +S: Supported F: lib/telemetry/ F: app/test/test_telemetry* F: usertools/dpdk-telemetry*
@@ -1716,6 +1952,7 @@ F: doc/guides/howto/telemetry.rst BPF M: Konstantin Ananyev <[email protected]> +S: Supported F: lib/bpf/ F: examples/bpf/ F: app/test/test_bpf.c
@@ -1727,6 +1964,7 @@ M: Jerin Jacob <[email protected]> M: Kiran Kumar K <[email protected]> M: Nithin Dabilpuram <[email protected]> M: Zhirun Yan <[email protected]> +S: Supported F: lib/graph/ F: doc/guides/prog_guide/graph_lib.rst F: app/test/test_graph*
@@ -1736,6 +1974,7 @@ F: doc/guides/sample_app_ug/l3_forward_graph.rst Nodes - EXPERIMENTAL M: Nithin Dabilpuram <[email protected]> M: Pavan Nikhilesh <[email protected]> +S: Supported F: lib/node/
@@ -1743,6 +1982,7 @@ Test Applications ----------------- Unit tests framework +S: Maintained F: app/test/commands.c F: app/test/has_hugepage.py F: app/test/packet_burst_generator.c
@@ -1758,45 +1998,53 @@ F: app/test/virtual_pmd.h Sample packet helper functions for unit test M: Reshma Pattan <[email protected]> +S: Supported F: app/test/sample_packet_forward.c F: app/test/sample_packet_forward.h Networking drivers testing tool M: Aman Singh <[email protected]> M: Yuying Zhang <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-net F: app/test-pmd/ F: doc/guides/testpmd_app_ug/ DMA device performance tool M: Cheng Jiang <[email protected]> +S: Supported F: app/test-dma-perf/ F: doc/guides/tools/dmaperf.rst Flow performance tool M: Wisam Jaddo <[email protected]> +S: Supported F: app/test-flow-perf/ F: doc/guides/tools/flow-perf.rst Security performance tool M: Anoob Joseph <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-crypto F: app/test-security-perf/ F: doc/guides/tools/securityperf.rst Compression performance test application T: git://dpdk.org/next/dpdk-next-crypto +S: Orphan F: app/test-compress-perf/ F: doc/guides/tools/comp_perf.rst Crypto performance test application M: Ciara Power <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-crypto F: app/test-crypto-perf/ F: doc/guides/tools/cryptoperf.rst Eventdev test application M: Jerin Jacob <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-eventdev F: app/test-eventdev/ F: doc/guides/tools/testeventdev.rst
@@ -1806,12 +2054,14 @@ F: app/test/test_event_ring.c Procinfo tool M: Maryam Tahhan <[email protected]> M: Reshma Pattan <[email protected]> +S: Supported F: app/proc-info/ F: doc/guides/tools/proc_info.rst DTS M: Lijuan Tu <[email protected]> M: Juraj Linkeš <[email protected]> +S: Supported F: dts/ F: devtools/dts-check-format.sh F: doc/guides/tools/dts.rst
@@ -1821,77 +2071,92 @@ Other Example Applications -------------------------- Ethtool example +S: Orphan F: examples/ethtool/ F: doc/guides/sample_app_ug/ethtool.rst FIPS validation example M: Brian Dooley <[email protected]> M: Gowrishankar Muthukrishnan <[email protected]> +S: Supported F: examples/fips_validation/ F: doc/guides/sample_app_ug/fips_validation.rst Flow filtering example M: Ori Kam <[email protected]> +S: Supported F: examples/flow_filtering/ F: doc/guides/sample_app_ug/flow_filtering.rst Helloworld example M: Bruce Richardson <[email protected]> +S: Supported F: examples/helloworld/ F: doc/guides/sample_app_ug/hello_world.rst IPsec security gateway example M: Radu Nicolau <[email protected]> M: Akhil Goyal <[email protected]> +S: Supported F: examples/ipsec-secgw/ F: doc/guides/sample_app_ug/ipsec_secgw.rst IPv4 multicast example +S: Orphan F: examples/ipv4_multicast/ F: doc/guides/sample_app_ug/ipv4_multicast.rst L2 forwarding example M: Bruce Richardson <[email protected]> +S: Supported F: examples/l2fwd/ F: doc/guides/sample_app_ug/l2_forward_real_virtual.rst L2 forwarding with cache allocation example M: Tomasz Kantecki <[email protected]> +S: Supported F: doc/guides/sample_app_ug/l2_forward_cat.rst F: examples/l2fwd-cat/ L2 forwarding with eventdev example M: Sunil Kumar Kori <[email protected]> M: Pavan Nikhilesh <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-eventdev F: examples/l2fwd-event/ F: doc/guides/sample_app_ug/l2_forward_event.rst L3 forwarding example +S: Maintained F: examples/l3fwd/ F: doc/guides/sample_app_ug/l3_forward.rst Link status interrupt example +S: Maintained F: examples/link_status_interrupt/ F: doc/guides/sample_app_ug/link_status_intr.rst PTP client example M: Kirill Rybalchenko <[email protected]> +S: Supported F: examples/ptpclient/ Rx/Tx callbacks example M: Bruce Richardson <[email protected]> M: John McNamara <[email protected]> +S: Supported F: examples/rxtx_callbacks/ F: doc/guides/sample_app_ug/rxtx_callbacks.rst Skeleton example M: Bruce Richardson <[email protected]> M: John McNamara <[email protected]> +S: Supported F: examples/skeleton/ F: doc/guides/sample_app_ug/skeleton.rst VMDq examples +S: Orphan F: examples/vmdq/ F: doc/guides/sample_app_ug/vmdq_forwarding.rst F: examples/vmdq_dcb/
Signature · 1 line
2.39.2
PATCH v2 1/1 MAINTAINERS: add status information
Add a new field S: which indicates the status of support for individual sub-trees. Almost everything is marked as supported but components without any maintainer are listed as Orphan.
---
v2 - mark FreeBSD as Odd Fixes
- pipeline, table, port are marked as deprecated so should be Obsolete
MAINTAINERS | 267 +++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 266 insertions(+), 1 deletion(-)
MAINTAINERS +266 -1
@@ -17,6 +17,16 @@ Descriptions of section entries: X: Files and directories exclusion, same rules as F: K: Keyword regex pattern to match content. One regex pattern per line. Multiple K: lines acceptable. + S: *Status*, one of the following: + Supported: Someone is actually paid to look after this. + Maintained: Someone actually looks after it. + Odd Fixes: It has a maintainer but they don't have time to do + much other than throw the odd patch in. See below.. + Orphan: No current maintainer [but maybe you could take the + role as you write your new code]. + Obsolete: Old code. Something tagged obsolete generally means + it has been replaced by a better system and you + should be using that. General Project Administration
@@ -25,44 +35,54 @@ General Project Administration Main Branch M: Thomas Monjalon <[email protected]> M: David Marchand <[email protected]> +S: Supported T: git://dpdk.org/dpdk Next-net Tree M: Ferruh Yigit <[email protected]> M: Andrew Rybchenko <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-net Next-net-brcm Tree M: Ajit Khaparde <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-net-brcm Next-net-intel Tree M: Qi Zhang <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-net-intel Next-net-mrvl Tree M: Jerin Jacob <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-net-mrvl Next-net-mlx Tree M: Raslan Darawsheh <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-net-mlx Next-virtio Tree M: Maxime Coquelin <[email protected]> M: Chenbo Xia <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-virtio Next-crypto Tree M: Akhil Goyal <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-crypto Next-eventdev Tree M: Jerin Jacob <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-eventdev Next-baseband Tree M: Maxime Coquelin <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-baseband Stable Branches
@@ -70,17 +90,21 @@ M: Luca Boccassi <[email protected]> M: Kevin Traynor <[email protected]> M: Christian Ehrhardt <[email protected]> M: Xueming Li <[email protected]> +S: Supported T: git://dpdk.org/dpdk-stable Security Issues M: [email protected] +S: Supported Documentation (with overlaps) F: README F: doc/ +S: Supported Developers and Maintainers Tools M: Thomas Monjalon <[email protected]> +S: Supported F: MAINTAINERS F: devtools/build-dict.sh F: devtools/check-abi.sh
@@ -110,7 +134,7 @@ F: .mailmap Build System M: Bruce Richardson <[email protected]> -F: Makefile +S: Maintained F: meson.build F: meson_options.txt F: config/
@@ -130,11 +154,13 @@ F: devtools/check-meson.py Public CI M: Aaron Conole <[email protected]> M: Michael Santana <[email protected]> +S: Supported F: .github/workflows/build.yml F: .ci/ Driver information M: Dmitry Kozlyuk <[email protected]> +S: Maintained F: buildtools/coff.py F: buildtools/gen-pmdinfo-cfile.py F: buildtools/pmdinfogen.py
@@ -147,6 +173,7 @@ Environment Abstraction Layer T: git://dpdk.org/dpdk EAL API and common code +S: Supported F: lib/eal/common/ F: lib/eal/unix/ F: lib/eal/include/
@@ -180,6 +207,7 @@ F: app/test/test_version.c Trace - EXPERIMENTAL M: Jerin Jacob <[email protected]> M: Sunil Kumar Kori <[email protected]> +S: Supported F: lib/eal/include/rte_trace*.h F: lib/eal/common/eal_common_trace*.c F: lib/eal/common/eal_trace.h
@@ -188,6 +216,7 @@ F: app/test/test_trace* Memory Allocation M: Anatoly Burakov <[email protected]> +S: Supported F: lib/eal/include/rte_fbarray.h F: lib/eal/include/rte_mem* F: lib/eal/include/rte_malloc.h
@@ -209,11 +238,13 @@ F: app/test/test_memzone.c Interrupt Subsystem M: Harman Kalra <[email protected]> +S: Supported F: lib/eal/include/rte_epoll.h F: lib/eal/*/*interrupts.* F: app/test/test_interrupts.c Keep alive +S: Orphan F: lib/eal/include/rte_keepalive.h F: lib/eal/common/rte_keepalive.c F: examples/l2fwd-keepalive/
@@ -221,6 +252,7 @@ F: doc/guides/sample_app_ug/keep_alive.rst Secondary process M: Anatoly Burakov <[email protected]> +S: Maintained K: RTE_PROC_ F: lib/eal/common/eal_common_proc.c F: doc/guides/prog_guide/multi_proc_support.rst
@@ -230,6 +262,7 @@ F: doc/guides/sample_app_ug/multi_process.rst Service Cores M: Harry van Haaren <[email protected]> +S: Supported F: lib/eal/include/rte_service.h F: lib/eal/include/rte_service_component.h F: lib/eal/common/rte_service.c
@@ -240,44 +273,52 @@ F: doc/guides/sample_app_ug/service_cores.rst Bitops M: Joyce Kong <[email protected]> +S: Supported F: lib/eal/include/rte_bitops.h F: app/test/test_bitops.c Bitmap M: Cristian Dumitrescu <[email protected]> +S: Supported F: lib/eal/include/rte_bitmap.h F: app/test/test_bitmap.c MCSlock M: Honnappa Nagarahalli <[email protected]> +S: Supported F: lib/eal/include/rte_mcslock.h F: app/test/test_mcslock.c Sequence Lock M: Mattias Rönnblom <[email protected]> +S: Supported F: lib/eal/include/rte_seqcount.h F: lib/eal/include/rte_seqlock.h F: app/test/test_seqlock.c Ticketlock M: Joyce Kong <[email protected]> +S: Supported F: lib/eal/include/rte_ticketlock.h F: app/test/test_ticketlock.c Pseudo-random Number Generation M: Mattias Rönnblom <[email protected]> +S: Supported F: lib/eal/include/rte_random.h F: lib/eal/common/rte_random.c F: app/test/test_rand_perf.c ARM v7 M: Ruifeng Wang <[email protected]> +S: Supported F: config/arm/ F: lib/eal/arm/ X: lib/eal/arm/include/*_64.h ARM v8 M: Ruifeng Wang <[email protected]> +S: Supported F: config/arm/ F: doc/guides/linux_gsg/cross_build_dpdk_for_arm64.rst F: lib/eal/arm/
@@ -291,12 +332,14 @@ F: examples/common/neon/ LoongArch M: Min Zhou <[email protected]> +S: Supported F: config/loongarch/ F: doc/guides/linux_gsg/cross_build_dpdk_for_loongarch.rst F: lib/eal/loongarch/ IBM POWER (alpha) M: David Christensen <[email protected]> +S: Supported F: config/ppc/ F: lib/eal/ppc/ F: lib/*/*_altivec*
@@ -307,6 +350,7 @@ F: examples/common/altivec/ RISC-V M: Stanislaw Kardach <[email protected]> +S: Supported F: config/riscv/ F: doc/guides/linux_gsg/cross_build_dpdk_for_riscv.rst F: lib/eal/riscv/
@@ -314,6 +358,7 @@ F: lib/eal/riscv/ Intel x86 M: Bruce Richardson <[email protected]> M: Konstantin Ananyev <[email protected]> +S: Supported F: config/x86/ F: doc/guides/linux_gsg/nic_perf_intel_platform.rst F: buildtools/binutils-avx512-check.py
@@ -330,28 +375,34 @@ F: examples/*/*_avx* F: examples/common/sse/ Linux EAL (with overlaps) +S: Maintained F: lib/eal/linux/ F: doc/guides/linux_gsg/ Linux UIO +S: Maintained F: drivers/bus/pci/linux/*uio* Linux VFIO M: Anatoly Burakov <[email protected]> +S: Supported F: lib/eal/linux/*vfio* F: drivers/bus/pci/linux/*vfio* FreeBSD EAL (with overlaps) M: Bruce Richardson <[email protected]> +S: Odd Fixes F: lib/eal/freebsd/ F: doc/guides/freebsd_gsg/ FreeBSD contigmem M: Bruce Richardson <[email protected]> +S: Oddd Fixes F: kernel/freebsd/contigmem/ FreeBSD UIO M: Bruce Richardson <[email protected]> +S: Odd Fixes F: kernel/freebsd/nic_uio/ Windows support
@@ -359,12 +410,14 @@ M: Dmitry Kozlyuk <[email protected]> M: Narcisa Ana Maria Vasile <[email protected]> M: Dmitry Malloy <[email protected]> M: Pallavi Kadam <[email protected]> +S: Supported F: lib/eal/windows/ F: buildtools/map_to_win.py F: doc/guides/windows_gsg/ Windows memory allocation M: Dmitry Kozlyuk <[email protected]> +S: Supported F: lib/eal/windows/eal_hugepages.c F: lib/eal/windows/eal_mem*
@@ -372,10 +425,12 @@ F: lib/eal/windows/eal_mem* Core Libraries -------------- T: git://dpdk.org/dpdk +S: Maintained Memory pool M: Olivier Matz <[email protected]> M: Andrew Rybchenko <[email protected]> +S: Supported F: lib/mempool/ F: drivers/mempool/ring/ F: doc/guides/prog_guide/mempool_lib.rst
@@ -385,6 +440,7 @@ F: app/test/test_func_reentrancy.c Ring queue M: Honnappa Nagarahalli <[email protected]> M: Konstantin Ananyev <[email protected]> +S: Supported F: lib/ring/ F: doc/guides/prog_guide/ring_lib.rst F: app/test/test_ring*
@@ -392,6 +448,7 @@ F: app/test/test_func_reentrancy.c Stack M: Olivier Matz <[email protected]> +S: Supported F: lib/stack/ F: drivers/mempool/stack/ F: app/test/test_stack*
@@ -399,6 +456,7 @@ F: doc/guides/prog_guide/stack_lib.rst Packet buffer M: Olivier Matz <[email protected]> +S: Supported F: lib/mbuf/ F: doc/guides/prog_guide/mbuf_lib.rst F: app/test/test_mbuf.c
@@ -407,6 +465,7 @@ Ethernet API M: Thomas Monjalon <[email protected]> M: Ferruh Yigit <[email protected]> M: Andrew Rybchenko <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-net F: lib/ethdev/ F: app/test/test_ethdev*
@@ -415,6 +474,7 @@ F: doc/guides/prog_guide/switch_representation.rst Flow API M: Ori Kam <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-net F: app/test-pmd/cmdline_flow.c F: doc/guides/prog_guide/rte_flow.rst
@@ -422,18 +482,21 @@ F: lib/ethdev/rte_flow* Traffic Management API - EXPERIMENTAL M: Cristian Dumitrescu <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-net F: lib/ethdev/rte_tm* F: app/test-pmd/cmdline_tm.* Traffic Metering and Policing API - EXPERIMENTAL M: Cristian Dumitrescu <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-net F: lib/ethdev/rte_mtr* F: app/test-pmd/cmdline_mtr.* Baseband API M: Nicolas Chautru <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-baseband F: lib/bbdev/ F: doc/guides/prog_guide/bbdev.rst
@@ -446,6 +509,7 @@ F: doc/guides/sample_app_ug/bbdev_app.rst Crypto API M: Akhil Goyal <[email protected]> M: Fan Zhang <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-crypto F: lib/cryptodev/ F: app/test/test_cryptodev*
@@ -453,6 +517,7 @@ F: examples/l2fwd-crypto/ Security API M: Akhil Goyal <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-crypto F: lib/security/ F: doc/guides/prog_guide/rte_security.rst
@@ -461,6 +526,7 @@ F: app/test/test_security* Compression API - EXPERIMENTAL M: Fan Zhang <[email protected]> M: Ashish Gupta <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-crypto F: lib/compressdev/ F: drivers/compress/
@@ -470,6 +536,7 @@ F: doc/guides/compressdevs/features/default.ini RegEx API - EXPERIMENTAL M: Ori Kam <[email protected]> +S: Supported F: lib/regexdev/ F: app/test-regex/ F: doc/guides/prog_guide/regexdev.rst
@@ -477,6 +544,7 @@ F: doc/guides/regexdevs/features/default.ini Machine Learning device API - EXPERIMENTAL M: Srikanth Yalavarthi <[email protected]> +S: Supported F: lib/mldev/ F: doc/guides/prog_guide/mldev.rst F: app/test-mldev/
@@ -484,6 +552,7 @@ F: doc/guides/tools/testmldev.rst DMA device API - EXPERIMENTAL M: Chengwen Feng <[email protected]> +S: Supported F: lib/dmadev/ F: drivers/dma/skeleton/ F: app/test/test_dmadev*
@@ -495,6 +564,7 @@ F: doc/guides/sample_app_ug/dma.rst General-Purpose Graphics Processing Unit (GPU) API - EXPERIMENTAL M: Elena Agostini <[email protected]> +S: Supported F: lib/gpudev/ F: doc/guides/prog_guide/gpudev.rst F: doc/guides/gpus/features/default.ini
@@ -502,6 +572,7 @@ F: app/test-gpudev/ Eventdev API M: Jerin Jacob <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-eventdev F: lib/eventdev/ F: drivers/event/skeleton/
@@ -510,6 +581,7 @@ F: examples/l3fwd/l3fwd_event* Eventdev Ethdev Rx Adapter API M: Naga Harish K S V <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-eventdev F: lib/eventdev/*eth_rx_adapter* F: app/test/test_event_eth_rx_adapter.c
@@ -517,6 +589,7 @@ F: doc/guides/prog_guide/event_ethernet_rx_adapter.rst Eventdev Ethdev Tx Adapter API M: Naga Harish K S V <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-eventdev F: lib/eventdev/*eth_tx_adapter* F: app/test/test_event_eth_tx_adapter.c
@@ -524,6 +597,7 @@ F: doc/guides/prog_guide/event_ethernet_tx_adapter.rst Eventdev Timer Adapter API M: Erik Gabriel Carrillo <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-eventdev F: lib/eventdev/*timer_adapter* F: app/test/test_event_timer_adapter.c
@@ -531,6 +605,7 @@ F: doc/guides/prog_guide/event_timer_adapter.rst Eventdev Crypto Adapter API M: Abhinandan Gujjar <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-eventdev F: lib/eventdev/*crypto_adapter* F: app/test/test_event_crypto_adapter.c
@@ -539,6 +614,7 @@ F: doc/guides/prog_guide/event_crypto_adapter.rst Raw device API M: Sachin Saxena <[email protected]> M: Hemant Agrawal <[email protected]> +S: Supported F: lib/rawdev/ F: drivers/raw/skeleton/ F: app/test/test_rawdev.c
@@ -551,11 +627,13 @@ Memory Pool Drivers Bucket memory pool M: Artem V. Andreev <[email protected]> M: Andrew Rybchenko <[email protected]> +S: Supported F: drivers/mempool/bucket/ Marvell cnxk M: Ashwin Sekhar T K <[email protected]> M: Pavan Nikhilesh <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-net-mrvl F: drivers/mempool/cnxk/ F: doc/guides/mempool/cnxk.rst
@@ -567,20 +645,24 @@ Bus Drivers AMD CDX bus M: Nipun Gupta <[email protected]> M: Nikhil Agarwal <[email protected]> +S: Supported F: drivers/bus/cdx/ Auxiliary bus driver - EXPERIMENTAL M: Parav Pandit <[email protected]> M: Xueming Li <[email protected]> +S: Supported F: drivers/bus/auxiliary/ Intel FPGA bus M: Rosen Xu <[email protected]> +S: Supported F: drivers/bus/ifpga/ NXP buses M: Hemant Agrawal <[email protected]> M: Sachin Saxena <[email protected]> +S: Supported F: drivers/common/dpaax/ F: drivers/bus/dpaa/ F: drivers/bus/fslmc/
@@ -588,36 +670,43 @@ F: drivers/bus/fslmc/ PCI bus driver M: Chenbo Xia <[email protected]> M: Nipun Gupta <[email protected]> +S: Supported F: drivers/bus/pci/ Platform bus driver M: Tomasz Duszynski <[email protected]> +S: Supported F: drivers/bus/platform/ VDEV bus driver +S: Maintained F: drivers/bus/vdev/ F: app/test/test_vdev.c VMBUS bus driver M: Long Li <[email protected]> +S: Supported F: drivers/bus/vmbus/ Networking Drivers ------------------ M: Ferruh Yigit <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-net F: doc/guides/nics/features/default.ini Link bonding M: Chas Williams <[email protected]> M: Min Hu (Connor) <[email protected]> +S: Supported F: drivers/net/bonding/ F: doc/guides/prog_guide/link_bonding_poll_mode_drv_lib.rst F: app/test/test_link_bonding* F: examples/bond/ Linux KNI +S: Obsolete F: kernel/linux/kni/ F: lib/kni/ F: doc/guides/prog_guide/kernel_nic_interface.rst
@@ -625,12 +714,14 @@ F: app/test/test_kni.c Linux AF_PACKET M: John W. Linville <[email protected]> +S: Odd Fixes F: drivers/net/af_packet/ F: doc/guides/nics/features/afpacket.ini Linux AF_XDP M: Ciara Loftus <[email protected]> M: Qi Zhang <[email protected]> +S: Supported F: drivers/net/af_xdp/ F: doc/guides/nics/af_xdp.rst F: doc/guides/nics/features/af_xdp.ini
@@ -641,24 +732,28 @@ M: Shai Brandes <[email protected]> M: Evgeny Schemeilin <[email protected]> M: Igor Chauskin <[email protected]> M: Ron Beider <[email protected]> +S: Supported F: drivers/net/ena/ F: doc/guides/nics/ena.rst F: doc/guides/nics/features/ena.ini AMD axgbe M: Chandubabu Namburu <[email protected]> +S: Supported F: drivers/net/axgbe/ F: doc/guides/nics/axgbe.rst F: doc/guides/nics/features/axgbe.ini AMD Pensando ionic M: Andrew Boyer <[email protected]> +S: Supported F: drivers/net/ionic/ F: doc/guides/nics/ionic.rst F: doc/guides/nics/features/ionic.ini Marvell/Aquantia atlantic M: Igor Russkikh <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-net-mrvl F: drivers/net/atlantic/ F: doc/guides/nics/atlantic.rst
@@ -668,6 +763,7 @@ Atomic Rules ARK M: Shepard Siegel <[email protected]> M: Ed Czeck <[email protected]> M: John Miller <[email protected]> +S: Supported F: drivers/net/ark/ F: doc/guides/nics/ark.rst F: doc/guides/nics/features/ark.ini
@@ -675,6 +771,7 @@ F: doc/guides/nics/features/ark.ini Broadcom bnxt M: Ajit Khaparde <[email protected]> M: Somnath Kotur <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-net-brcm F: drivers/net/bnxt/ F: doc/guides/nics/bnxt.rst
@@ -683,6 +780,7 @@ F: doc/guides/nics/features/bnxt.ini Cavium ThunderX nicvf M: Jerin Jacob <[email protected]> M: Maciej Czekaj <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-net-mrvl F: drivers/net/thunderx/ F: doc/guides/nics/thunderx.rst
@@ -690,6 +788,7 @@ F: doc/guides/nics/features/thunderx.ini Cavium OCTEON TX M: Harman Kalra <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-net-mrvl F: drivers/common/octeontx/ F: drivers/mempool/octeontx/
@@ -699,6 +798,7 @@ F: doc/guides/nics/features/octeontx.ini Chelsio cxgbe M: Rahul Lakkireddy <[email protected]> +S: Supported F: drivers/net/cxgbe/ F: doc/guides/nics/cxgbe.rst F: doc/guides/nics/features/cxgbe.ini
@@ -706,6 +806,7 @@ F: doc/guides/nics/features/cxgbe.ini Cisco enic M: John Daley <[email protected]> M: Hyong Youb Kim <[email protected]> +S: Supported F: drivers/net/enic/ F: doc/guides/nics/enic.rst F: doc/guides/nics/features/enic.ini
@@ -715,6 +816,7 @@ M: Junfeng Guo <[email protected]> M: Jeroen de Borst <[email protected]> M: Rushil Gupta <[email protected]> M: Joshua Washington <[email protected]> +S: Supported F: drivers/net/gve/ F: doc/guides/nics/gve.rst F: doc/guides/nics/features/gve.ini
@@ -722,6 +824,7 @@ F: doc/guides/nics/features/gve.ini Hisilicon hns3 M: Dongdong Liu <[email protected]> M: Yisen Zhuang <[email protected]> +S: Supported F: drivers/net/hns3/ F: doc/guides/nics/hns3.rst F: doc/guides/nics/features/hns3.ini
@@ -730,6 +833,7 @@ Huawei hinic M: Ziyang Xuan <[email protected]> M: Xiaoyun Wang <[email protected]> M: Guoyang Zhou <[email protected]> +S: Supported F: drivers/net/hinic/ F: doc/guides/nics/hinic.rst F: doc/guides/nics/features/hinic.ini
@@ -737,6 +841,7 @@ F: doc/guides/nics/features/hinic.ini Intel e1000 M: Simei Su <[email protected]> M: Wenjun Wu <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-net-intel F: drivers/net/e1000/ F: doc/guides/nics/e1000em.rst
@@ -747,6 +852,7 @@ F: doc/guides/nics/features/igb*.ini Intel ixgbe M: Qiming Yang <[email protected]> M: Wenjun Wu <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-net-intel F: drivers/net/ixgbe/ F: doc/guides/nics/ixgbe.rst
@@ -756,6 +862,7 @@ F: doc/guides/nics/features/ixgbe*.ini Intel i40e M: Yuying Zhang <[email protected]> M: Beilei Xing <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-net-intel F: drivers/net/i40e/ F: doc/guides/nics/i40e.rst
@@ -765,6 +872,7 @@ F: doc/guides/nics/features/i40e*.ini Intel fm10k M: Qi Zhang <[email protected]> M: Xiao Wang <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-net-intel F: drivers/net/fm10k/ F: doc/guides/nics/fm10k.rst
@@ -773,6 +881,7 @@ F: doc/guides/nics/features/fm10k*.ini Intel iavf M: Jingjing Wu <[email protected]> M: Beilei Xing <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-net-intel F: drivers/net/iavf/ F: drivers/common/iavf/
@@ -781,6 +890,7 @@ F: doc/guides/nics/features/iavf*.ini Intel ice M: Qiming Yang <[email protected]> M: Qi Zhang <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-net-intel F: drivers/net/ice/ F: doc/guides/nics/ice.rst
@@ -789,6 +899,7 @@ F: doc/guides/nics/features/ice.ini Intel idpf M: Jingjing Wu <[email protected]> M: Beilei Xing <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-net-intel F: drivers/net/idpf/ F: drivers/common/idpf/
@@ -798,6 +909,7 @@ F: doc/guides/nics/features/idpf.ini Intel cpfl - EXPERIMENTAL M: Yuying Zhang <[email protected]> M: Beilei Xing <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-net-intel F: drivers/net/cpfl/ F: doc/guides/nics/cpfl.rst
@@ -806,6 +918,7 @@ F: doc/guides/nics/features/cpfl.ini Intel igc M: Junfeng Guo <[email protected]> M: Simei Su <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-net-intel F: drivers/net/igc/ F: doc/guides/nics/igc.rst
@@ -814,6 +927,7 @@ F: doc/guides/nics/features/igc.ini Intel ipn3ke M: Rosen Xu <[email protected]> T: git://dpdk.org/next/dpdk-next-net-intel +S: Supported F: drivers/net/ipn3ke/ F: doc/guides/nics/ipn3ke.rst F: doc/guides/nics/features/ipn3ke.ini
@@ -823,6 +937,7 @@ M: Nithin Dabilpuram <[email protected]> M: Kiran Kumar K <[email protected]> M: Sunil Kumar Kori <[email protected]> M: Satha Rao <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-net-mrvl F: drivers/common/cnxk/ F: drivers/net/cnxk/
@@ -832,6 +947,7 @@ F: doc/guides/platform/cnxk.rst Marvell mvpp2 M: Liron Himi <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-net-mrvl F: drivers/common/mvep/ F: drivers/net/mvpp2/
@@ -841,6 +957,7 @@ F: doc/guides/nics/features/mvpp2.ini Marvell mvneta M: Zyta Szpak <[email protected]> M: Liron Himi <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-net-mrvl F: drivers/net/mvneta/ F: doc/guides/nics/mvneta.rst
@@ -848,6 +965,7 @@ F: doc/guides/nics/features/mvneta.ini Marvell OCTEON TX EP - endpoint M: Vamsi Attunuru <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-net-mrvl F: drivers/net/octeon_ep/ F: doc/guides/nics/features/octeon_ep.ini
@@ -856,6 +974,7 @@ F: doc/guides/nics/octeon_ep.rst NVIDIA mlx4 M: Matan Azrad <[email protected]> M: Viacheslav Ovsiienko <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-net-mlx F: drivers/net/mlx4/ F: doc/guides/nics/mlx4.rst
@@ -866,6 +985,7 @@ M: Matan Azrad <[email protected]> M: Viacheslav Ovsiienko <[email protected]> M: Ori Kam <[email protected]> M: Suanming Mou <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-net-mlx F: drivers/common/mlx5/ F: drivers/net/mlx5/
@@ -875,23 +995,27 @@ F: doc/guides/nics/features/mlx5.ini Microsoft mana M: Long Li <[email protected]> +S: Supported F: drivers/net/mana/ F: doc/guides/nics/mana.rst F: doc/guides/nics/features/mana.ini Microsoft vdev_netvsc - EXPERIMENTAL M: Matan Azrad <[email protected]> +S: Supported F: drivers/net/vdev_netvsc/ F: doc/guides/nics/vdev_netvsc.rst Microsoft Hyper-V netvsc M: Long Li <[email protected]> +S: Supported F: drivers/net/netvsc/ F: doc/guides/nics/netvsc.rst F: doc/guides/nics/features/netvsc.ini Netcope nfb M: Martin Spinler <[email protected]> +S: Supported F: drivers/net/nfb/ F: doc/guides/nics/nfb.rst F: doc/guides/nics/features/nfb.ini
@@ -899,6 +1023,7 @@ F: doc/guides/nics/features/nfb.ini Netronome nfp M: Chaoyong He <[email protected]> M: Niklas Soderlund <[email protected]> +S: Supported F: drivers/net/nfp/ F: doc/guides/nics/nfp.rst F: doc/guides/nics/features/nfp*.ini
@@ -906,6 +1031,7 @@ F: doc/guides/nics/features/nfp*.ini NXP dpaa M: Hemant Agrawal <[email protected]> M: Sachin Saxena <[email protected]> +S: Supported F: drivers/mempool/dpaa/ F: drivers/net/dpaa/ F: doc/guides/nics/dpaa.rst
@@ -914,6 +1040,7 @@ F: doc/guides/nics/features/dpaa.ini NXP dpaa2 M: Hemant Agrawal <[email protected]> M: Sachin Saxena <[email protected]> +S: Supported F: drivers/mempool/dpaa2/ F: drivers/net/dpaa2/ F: doc/guides/nics/dpaa2.rst
@@ -922,6 +1049,7 @@ F: doc/guides/nics/features/dpaa2.ini NXP enetc M: Gagandeep Singh <[email protected]> M: Sachin Saxena <[email protected]> +S: Supported F: drivers/net/enetc/ F: doc/guides/nics/enetc.rst F: doc/guides/nics/features/enetc.ini
@@ -929,18 +1057,21 @@ F: doc/guides/nics/features/enetc.ini NXP enetfec - EXPERIMENTAL M: Apeksha Gupta <[email protected]> M: Sachin Saxena <[email protected]> +S: Supported F: drivers/net/enetfec/ F: doc/guides/nics/enetfec.rst F: doc/guides/nics/features/enetfec.ini NXP pfe M: Gagandeep Singh <[email protected]> +S: Supported F: doc/guides/nics/pfe.rst F: drivers/net/pfe/ F: doc/guides/nics/features/pfe.ini Marvell QLogic bnx2x M: Julien Aube <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-net-mrvl F: drivers/net/bnx2x/ F: doc/guides/nics/bnx2x.rst
@@ -949,6 +1080,7 @@ F: doc/guides/nics/features/bnx2x*.ini Marvell QLogic qede PMD M: Devendra Singh Rawat <[email protected]> M: Alok Prasad <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-net-mrvl F: drivers/net/qede/ F: doc/guides/nics/qede.rst
@@ -956,6 +1088,7 @@ F: doc/guides/nics/features/qede*.ini Solarflare sfc_efx M: Andrew Rybchenko <[email protected]> +S: Supported F: drivers/common/sfc_efx/ F: drivers/net/sfc/ F: doc/guides/nics/sfc_efx.rst
@@ -963,6 +1096,7 @@ F: doc/guides/nics/features/sfc.ini Wangxun ngbe M: Jiawen Wu <[email protected]> +S: Supported F: drivers/net/ngbe/ F: doc/guides/nics/ngbe.rst F: doc/guides/nics/features/ngbe.ini
@@ -970,12 +1104,14 @@ F: doc/guides/nics/features/ngbe.ini Wangxun txgbe M: Jiawen Wu <[email protected]> M: Jian Wang <[email protected]> +S: Supported F: drivers/net/txgbe/ F: doc/guides/nics/txgbe.rst F: doc/guides/nics/features/txgbe.ini VMware vmxnet3 M: Jochen Behrens <[email protected]> +S: Supported F: drivers/net/vmxnet3/ F: doc/guides/nics/vmxnet3.rst F: doc/guides/nics/features/vmxnet3.ini
@@ -983,6 +1119,7 @@ F: doc/guides/nics/features/vmxnet3.ini Vhost-user M: Maxime Coquelin <[email protected]> M: Chenbo Xia <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-virtio F: lib/vhost/ F: doc/guides/prog_guide/vhost_lib.rst
@@ -997,6 +1134,7 @@ F: doc/guides/sample_app_ug/vdpa.rst Vhost PMD M: Maxime Coquelin <[email protected]> M: Chenbo Xia <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-virtio F: drivers/net/vhost/ F: doc/guides/nics/vhost.rst
@@ -1005,6 +1143,7 @@ F: doc/guides/nics/features/vhost.ini Virtio PMD M: Maxime Coquelin <[email protected]> M: Chenbo Xia <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-virtio F: drivers/net/virtio/ F: doc/guides/nics/virtio.rst
@@ -1013,26 +1152,31 @@ F: doc/guides/nics/features/virtio*.ini Wind River AVP M: Steven Webster <[email protected]> M: Matt Peters <[email protected]> +S: Supported F: drivers/net/avp/ F: doc/guides/nics/avp.rst F: doc/guides/nics/features/avp.ini PCAP PMD +S: Orphan F: drivers/net/pcap/ F: doc/guides/nics/pcap_ring.rst F: doc/guides/nics/features/pcap.ini Tap PMD +S: Orphan F: drivers/net/tap/ F: doc/guides/nics/tap.rst F: doc/guides/nics/features/tap.ini KNI PMD +S: Obsolete F: drivers/net/kni/ F: doc/guides/nics/kni.rst Ring PMD M: Bruce Richardson <[email protected]> +S: Supported F: drivers/net/ring/ F: doc/guides/nics/pcap_ring.rst F: app/test/test_pmd_ring.c
@@ -1040,21 +1184,25 @@ F: app/test/test_pmd_ring_perf.c Null Networking PMD M: Tetsuya Mukawa <[email protected]> +S: Supported F: drivers/net/null/ Fail-safe PMD M: Gaetan Rivet <[email protected]> +S: Supported F: drivers/net/failsafe/ F: doc/guides/nics/fail_safe.rst F: doc/guides/nics/features/failsafe.ini Softnic PMD M: Cristian Dumitrescu <[email protected]> +S: Supported F: drivers/net/softnic/ F: doc/guides/nics/softnic.rst Memif PMD M: Jakub Grajciar <[email protected]> +S: Supported F: drivers/net/memif/ F: doc/guides/nics/memif.rst F: doc/guides/nics/features/memif.ini
@@ -1062,17 +1210,20 @@ F: doc/guides/nics/features/memif.ini Crypto Drivers -------------- +S: Maintained T: git://dpdk.org/next/dpdk-next-crypto F: doc/guides/cryptodevs/features/default.ini AMD CCP Crypto M: Sunil Uttarwar <[email protected]> +S: Supported F: drivers/crypto/ccp/ F: doc/guides/cryptodevs/ccp.rst F: doc/guides/cryptodevs/features/ccp.ini ARMv8 Crypto M: Ruifeng Wang <[email protected]> +S: Supported F: drivers/crypto/armv8/ F: doc/guides/cryptodevs/armv8.rst F: doc/guides/cryptodevs/features/armv8.ini
@@ -1081,12 +1232,14 @@ Broadcom FlexSparc M: Ajit Khaparde <[email protected]> M: Raveendra Padasalagi <[email protected]> M: Vikas Gupta <[email protected]> +S: Supported F: drivers/crypto/bcmfs/ F: doc/guides/cryptodevs/bcmfs.rst F: doc/guides/cryptodevs/features/bcmfs.ini Cavium OCTEON TX crypto M: Anoob Joseph <[email protected]> +S: Supported F: drivers/common/cpt/ F: drivers/crypto/octeontx/ F: doc/guides/cryptodevs/octeontx.rst
@@ -1094,17 +1247,20 @@ F: doc/guides/cryptodevs/features/octeontx.ini Crypto Scheduler M: Kai Ji <[email protected]> +S: Supported F: drivers/crypto/scheduler/ F: doc/guides/cryptodevs/scheduler.rst HiSilicon UADK crypto M: Zhangfei Gao <[email protected]> +S: Supported F: drivers/crypto/uadk/ F: doc/guides/cryptodevs/uadk.rst F: doc/guides/cryptodevs/features/uadk.ini Intel QuickAssist M: Kai Ji <[email protected]> +S: Supported F: drivers/crypto/qat/ F: drivers/common/qat/ F: doc/guides/cryptodevs/qat.rst
@@ -1113,6 +1269,7 @@ F: doc/guides/cryptodevs/features/qat.ini IPsec MB M: Kai Ji <[email protected]> M: Pablo de Lara <[email protected]> +S: Supported F: drivers/crypto/ipsec_mb/ F: doc/guides/cryptodevs/aesni_gcm.rst F: doc/guides/cryptodevs/aesni_mb.rst
@@ -1131,6 +1288,7 @@ Marvell cnxk crypto M: Ankur Dwivedi <[email protected]> M: Anoob Joseph <[email protected]> M: Tejasree Kondoj <[email protected]> +S: Supported F: drivers/crypto/cnxk/ F: doc/guides/cryptodevs/cnxk.rst F: doc/guides/cryptodevs/features/cn9k.ini
@@ -1139,6 +1297,7 @@ F: doc/guides/cryptodevs/features/cn10k.ini Marvell mvsam M: Michael Shamis <[email protected]> M: Liron Himi <[email protected]> +S: Supported F: drivers/crypto/mvsam/ F: doc/guides/cryptodevs/mvsam.rst F: doc/guides/cryptodevs/features/mvsam.ini
@@ -1146,18 +1305,21 @@ F: doc/guides/cryptodevs/features/mvsam.ini Marvell Nitrox M: Nagadheeraj Rottela <[email protected]> M: Srikanth Jampala <[email protected]> +S: Supported F: drivers/crypto/nitrox/ F: doc/guides/cryptodevs/nitrox.rst F: doc/guides/cryptodevs/features/nitrox.ini NVIDIA mlx5 M: Matan Azrad <[email protected]> +S: Supported F: drivers/crypto/mlx5/ F: doc/guides/cryptodevs/mlx5.rst F: doc/guides/cryptodevs/features/mlx5.ini Null Crypto M: Kai Ji <[email protected]> +S: Supported F: drivers/crypto/null/ F: doc/guides/cryptodevs/null.rst F: doc/guides/cryptodevs/features/null.ini
@@ -1165,6 +1327,7 @@ F: doc/guides/cryptodevs/features/null.ini NXP CAAM JR M: Gagandeep Singh <[email protected]> M: Hemant Agrawal <[email protected]> +S: Supported F: drivers/crypto/caam_jr/ F: doc/guides/cryptodevs/caam_jr.rst F: doc/guides/cryptodevs/features/caam_jr.ini
@@ -1172,6 +1335,7 @@ F: doc/guides/cryptodevs/features/caam_jr.ini NXP DPAA_SEC M: Gagandeep Singh <[email protected]> M: Hemant Agrawal <[email protected]> +S: Supported F: drivers/crypto/dpaa_sec/ F: doc/guides/cryptodevs/dpaa_sec.rst F: doc/guides/cryptodevs/features/dpaa_sec.ini
@@ -1179,18 +1343,21 @@ F: doc/guides/cryptodevs/features/dpaa_sec.ini NXP DPAA2_SEC M: Gagandeep Singh <[email protected]> M: Hemant Agrawal <[email protected]> +S: Supported F: drivers/crypto/dpaa2_sec/ F: doc/guides/cryptodevs/dpaa2_sec.rst F: doc/guides/cryptodevs/features/dpaa2_sec.ini OpenSSL M: Kai Ji <[email protected]> +S: Supported F: drivers/crypto/openssl/ F: doc/guides/cryptodevs/openssl.rst F: doc/guides/cryptodevs/features/openssl.ini Virtio M: Jay Zhou <[email protected]> +S: Supported F: drivers/crypto/virtio/ F: doc/guides/cryptodevs/virtio.rst F: doc/guides/cryptodevs/features/virtio.ini
@@ -1198,31 +1365,37 @@ F: doc/guides/cryptodevs/features/virtio.ini Compression Drivers ------------------- +S: Maintained T: git://dpdk.org/next/dpdk-next-crypto Cavium OCTEON TX zipvf M: Ashish Gupta <[email protected]> +S: Supported F: drivers/compress/octeontx/ F: doc/guides/compressdevs/octeontx.rst F: doc/guides/compressdevs/features/octeontx.ini Intel QuickAssist M: Kai Ji <[email protected]> +S: Supported F: drivers/compress/qat/ F: drivers/common/qat/ ISA-L M: Lee Daly <[email protected]> +S: Supported F: drivers/compress/isal/ F: doc/guides/compressdevs/isal.rst F: doc/guides/compressdevs/features/isal.ini NVIDIA mlx5 M: Matan Azrad <[email protected]> +S: Supported F: drivers/compress/mlx5/ ZLIB M: Sunila Sahu <[email protected]> +S: Supported F: drivers/compress/zlib/ F: doc/guides/compressdevs/zlib.rst F: doc/guides/compressdevs/features/zlib.ini
@@ -1234,34 +1407,40 @@ DMAdev Drivers Intel IDXD - EXPERIMENTAL M: Bruce Richardson <[email protected]> M: Kevin Laatz <[email protected]> +S: Supported F: drivers/dma/idxd/ F: doc/guides/dmadevs/idxd.rst Intel IOAT M: Bruce Richardson <[email protected]> M: Conor Walsh <[email protected]> +S: Supported F: drivers/dma/ioat/ F: doc/guides/dmadevs/ioat.rst HiSilicon DMA M: Chengwen Feng <[email protected]> +S: Supported F: drivers/dma/hisilicon/ F: doc/guides/dmadevs/hisilicon.rst Marvell CNXK DPI DMA M: Vamsi Attunuru <[email protected]> +S: Supported F: drivers/dma/cnxk/ F: doc/guides/dmadevs/cnxk.rst NXP DPAA DMA M: Gagandeep Singh <[email protected]> M: Sachin Saxena <[email protected]> +S: Supported F: drivers/dma/dpaa/ F: doc/guides/dmadevs/dpaa.rst NXP DPAA2 QDMA M: Gagandeep Singh <[email protected]> M: Hemant Agrawal <[email protected]> +S: Supported F: drivers/dma/dpaa2/ F: doc/guides/dmadevs/dpaa2.rst
@@ -1271,12 +1450,14 @@ RegEx Drivers Marvell OCTEON CN9K regex M: Liron Himi <[email protected]> +S: Supported F: drivers/regex/cn9k/ F: doc/guides/regexdevs/cn9k.rst F: doc/guides/regexdevs/features/cn9k.ini NVIDIA mlx5 M: Ori Kam <[email protected]> +S: Supported F: drivers/regex/mlx5/ F: doc/guides/regexdevs/mlx5.rst F: doc/guides/regexdevs/features/mlx5.ini
@@ -1287,6 +1468,7 @@ MLdev Drivers Marvell ML CNXK M: Srikanth Yalavarthi <[email protected]> +S: Supported F: drivers/common/cnxk/hw/ml.h F: drivers/common/cnxk/roc_ml* F: drivers/ml/cnxk/
@@ -1299,6 +1481,7 @@ T: git://dpdk.org/next/dpdk-next-virtio Intel ifc M: Xiao Wang <[email protected]> +S: Supported F: drivers/vdpa/ifc/ F: doc/guides/vdpadevs/ifc.rst F: doc/guides/vdpadevs/features/ifcvf.ini
@@ -1306,12 +1489,14 @@ F: doc/guides/vdpadevs/features/ifcvf.ini NVIDIA mlx5 vDPA M: Matan Azrad <[email protected]> M: Viacheslav Ovsiienko <[email protected]> +S: Supported F: drivers/vdpa/mlx5/ F: doc/guides/vdpadevs/mlx5.rst F: doc/guides/vdpadevs/features/mlx5.ini Xilinx sfc vDPA M: Vijay Kumar Srivastava <[email protected]> +S: Supported F: drivers/vdpa/sfc/ F: doc/guides/vdpadevs/sfc.rst F: doc/guides/vdpadevs/features/sfc.ini
@@ -1320,42 +1505,50 @@ F: doc/guides/vdpadevs/features/sfc.ini Eventdev Drivers ---------------- M: Jerin Jacob <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-eventdev Cavium OCTEON TX ssovf M: Jerin Jacob <[email protected]> +S: Supported F: drivers/event/octeontx/ F: doc/guides/eventdevs/octeontx.rst Cavium OCTEON TX timvf M: Pavan Nikhilesh <[email protected]> +S: Supported F: drivers/event/octeontx/timvf_* Intel DLB2 M: Timothy McDaniel <[email protected]> +S: Supported F: drivers/event/dlb2/ F: doc/guides/eventdevs/dlb2.rst Marvell cnxk M: Pavan Nikhilesh <[email protected]> M: Shijith Thotton <[email protected]> +S: Supported F: drivers/event/cnxk/ F: doc/guides/eventdevs/cnxk.rst NXP DPAA eventdev M: Hemant Agrawal <[email protected]> M: Sachin Saxena <[email protected]> +S: Supported F: drivers/event/dpaa/ F: doc/guides/eventdevs/dpaa.rst NXP DPAA2 eventdev M: Hemant Agrawal <[email protected]> M: Sachin Saxena <[email protected]> +S: Supported F: drivers/event/dpaa2/ F: doc/guides/eventdevs/dpaa2.rst Software Eventdev PMD M: Harry van Haaren <[email protected]> +S: Supported F: drivers/event/sw/ F: doc/guides/eventdevs/sw.rst F: examples/eventdev_pipeline/
@@ -1363,11 +1556,13 @@ F: doc/guides/sample_app_ug/eventdev_pipeline.rst Distributed Software Eventdev PMD M: Mattias Rönnblom <[email protected]> +S: Supported F: drivers/event/dsw/ F: doc/guides/eventdevs/dsw.rst Software OPDL Eventdev PMD M: Liang Ma <[email protected]> +S: Supported M: Peter Mccarthy <[email protected]> F: drivers/event/opdl/ F: doc/guides/eventdevs/opdl.rst
@@ -1378,6 +1573,7 @@ Baseband Drivers Intel baseband M: Nicolas Chautru <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-baseband F: drivers/baseband/turbo_sw/ F: doc/guides/bbdevs/turbo_sw.rst
@@ -1397,6 +1593,7 @@ F: doc/guides/bbdevs/features/vrb1.ini Null baseband M: Nicolas Chautru <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-baseband F: drivers/baseband/null/ F: doc/guides/bbdevs/null.rst
@@ -1405,6 +1602,7 @@ F: doc/guides/bbdevs/features/null.ini NXP LA12xx M: Gagandeep Singh <[email protected]> M: Hemant Agrawal <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-baseband F: drivers/baseband/la12xx/ F: doc/guides/bbdevs/la12xx.rst
@@ -1416,6 +1614,7 @@ GPU Drivers NVIDIA CUDA M: Elena Agostini <[email protected]> +S: Supported F: drivers/gpu/cuda/ F: doc/guides/gpus/cuda.rst
@@ -1426,6 +1625,7 @@ Rawdev Drivers Intel FPGA M: Rosen Xu <[email protected]> M: Tianfei zhang <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-net-intel F: drivers/raw/ifpga/ F: doc/guides/rawdevs/ifpga.rst
@@ -1433,18 +1633,21 @@ F: doc/guides/rawdevs/ifpga.rst Marvell CNXK BPHY M: Jakub Palider <[email protected]> M: Tomasz Duszynski <[email protected]> +S: Supported F: doc/guides/rawdevs/cnxk_bphy.rst F: drivers/raw/cnxk_bphy/ Marvell CNXK GPIO M: Jakub Palider <[email protected]> M: Tomasz Duszynski <[email protected]> +S: Supported F: doc/guides/rawdevs/cnxk_gpio.rst F: drivers/raw/cnxk_gpio/ NTB M: Jingjing Wu <[email protected]> M: Junfeng Guo <[email protected]> +S: Supported F: drivers/raw/ntb/ F: doc/guides/rawdevs/ntb.rst F: examples/ntb/
@@ -1452,6 +1655,7 @@ F: doc/guides/sample_app_ug/ntb.rst NXP DPAA2 CMDIF M: Gagandeep Singh <[email protected]> +S: Supported F: drivers/raw/dpaa2_cmdif/ F: doc/guides/rawdevs/dpaa2_cmdif.rst
@@ -1461,12 +1665,14 @@ Packet processing Network headers M: Olivier Matz <[email protected]> +S: Supported F: lib/net/ F: app/test/test_cksum.c F: app/test/test_cksum_perf.c Packet CRC M: Jasvinder Singh <[email protected]> +S: Supported F: lib/net/net_crc.h F: lib/net/rte_net_crc* F: lib/net/net_crc_avx512.c
@@ -1475,6 +1681,7 @@ F: app/test/test_crc.c IP fragmentation & reassembly M: Konstantin Ananyev <[email protected]> +S: Supported F: lib/ip_frag/ F: doc/guides/prog_guide/ip_fragment_reassembly_lib.rst F: app/test/test_ipfrag.c
@@ -1486,16 +1693,19 @@ F: doc/guides/sample_app_ug/ip_reassembly.rst Generic Receive Offload - EXPERIMENTAL M: Jiayu Hu <[email protected]> +S: Supported F: lib/gro/ F: doc/guides/prog_guide/generic_receive_offload_lib.rst Generic Segmentation Offload M: Jiayu Hu <[email protected]> +S: Supported F: lib/gso/ F: doc/guides/prog_guide/generic_segmentation_offload_lib.rst IPsec M: Konstantin Ananyev <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-crypto F: lib/ipsec/ F: app/test/test_ipsec*
@@ -1506,12 +1716,14 @@ F: app/test-sad/ PDCP - EXPERIMENTAL M: Anoob Joseph <[email protected]> M: Volodymyr Fialko <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-crypto F: lib/pdcp/ F: doc/guides/prog_guide/pdcp_lib.rst F: app/test/test_pdcp* Flow Classify - EXPERIMENTAL - UNMAINTAINED +S: Orphan F: lib/flow_classify/ F: app/test/test_flow_classify* F: doc/guides/prog_guide/flow_classify_lib.rst
@@ -1520,6 +1732,7 @@ F: doc/guides/sample_app_ug/flow_classify.rst Distributor M: David Hunt <[email protected]> +S: Supported F: lib/distributor/ F: doc/guides/prog_guide/packet_distrib_lib.rst F: app/test/test_distributor*
@@ -1528,6 +1741,7 @@ F: doc/guides/sample_app_ug/dist_app.rst Reorder M: Volodymyr Fialko <[email protected]> +S: Supported F: lib/reorder/ F: doc/guides/prog_guide/reorder_lib.rst F: app/test/test_reorder*
@@ -1536,6 +1750,7 @@ F: doc/guides/sample_app_ug/packet_ordering.rst Hierarchical scheduler M: Cristian Dumitrescu <[email protected]> +S: Supported F: lib/sched/ F: doc/guides/prog_guide/qos_framework.rst F: app/test/test_pie.c
@@ -1547,6 +1762,7 @@ F: doc/guides/sample_app_ug/qos_scheduler.rst Packet capture M: Reshma Pattan <[email protected]> M: Stephen Hemminger <[email protected]> +S: Maintained F: lib/pdump/ F: doc/guides/prog_guide/pdump_lib.rst F: app/test/test_pdump.*
@@ -1562,6 +1778,7 @@ F: doc/guides/tools/dumpcap.rst Packet Framework ---------------- M: Cristian Dumitrescu <[email protected]> +S: Obsolete F: lib/pipeline/ F: lib/port/ F: lib/table/
@@ -1579,6 +1796,7 @@ Algorithms ACL M: Konstantin Ananyev <[email protected]> +S: Supported F: lib/acl/ F: doc/guides/prog_guide/packet_classif_access_ctrl.rst F: app/test-acl/
@@ -1587,6 +1805,7 @@ F: app/test/test_acl.* EFD M: Byron Marohn <[email protected]> M: Yipeng Wang <[email protected]> +S: Supported F: lib/efd/ F: doc/guides/prog_guide/efd_lib.rst F: app/test/test_efd*
@@ -1598,6 +1817,7 @@ M: Yipeng Wang <[email protected]> M: Sameh Gobriel <[email protected]> M: Bruce Richardson <[email protected]> M: Vladimir Medvedkin <[email protected]> +S: Supported F: lib/hash/ F: doc/guides/prog_guide/hash_lib.rst F: doc/guides/prog_guide/toeplitz_hash_lib.rst
@@ -1607,6 +1827,7 @@ F: app/test/test_func_reentrancy.c LPM M: Bruce Richardson <[email protected]> M: Vladimir Medvedkin <[email protected]> +S: Supported F: lib/lpm/ F: doc/guides/prog_guide/lpm* F: app/test/test_lpm*
@@ -1616,12 +1837,14 @@ F: app/test/test_xmmt_ops.h Membership - EXPERIMENTAL M: Yipeng Wang <[email protected]> M: Sameh Gobriel <[email protected]> +S: Supported F: lib/member/ F: doc/guides/prog_guide/member_lib.rst F: app/test/test_member* RIB/FIB M: Vladimir Medvedkin <[email protected]> +S: Supported F: lib/rib/ F: app/test/test_rib* F: lib/fib/
@@ -1630,6 +1853,7 @@ F: app/test-fib/ Traffic metering M: Cristian Dumitrescu <[email protected]> +S: Supported F: lib/meter/ F: doc/guides/sample_app_ug/qos_scheduler.rst F: app/test/test_meter.c
@@ -1642,12 +1866,14 @@ Other libraries Configuration file M: Cristian Dumitrescu <[email protected]> +S: Supported F: lib/cfgfile/ F: app/test/test_cfgfile.c F: app/test/test_cfgfiles/ Interactive command line M: Olivier Matz <[email protected]> +S: Supported F: lib/cmdline/ F: app/test-cmdline/ F: app/test/test_cmdline*
@@ -1656,11 +1882,13 @@ F: doc/guides/sample_app_ug/cmd_line.rst Key/Value parsing M: Olivier Matz <[email protected]> +S: Supported F: lib/kvargs/ F: app/test/test_kvargs.c RCU M: Honnappa Nagarahalli <[email protected]> +S: Supported F: lib/rcu/ F: app/test/test_rcu* F: doc/guides/prog_guide/rcu_lib.rst
@@ -1668,11 +1896,13 @@ F: doc/guides/prog_guide/rcu_lib.rst PCI M: Chenbo Xia <[email protected]> M: Gaetan Rivet <[email protected]> +S: Supported F: lib/pci/ Power management M: Anatoly Burakov <[email protected]> M: David Hunt <[email protected]> +S: Supported F: lib/power/ F: doc/guides/prog_guide/power_man.rst F: app/test/test_power*
@@ -1683,6 +1913,7 @@ F: doc/guides/sample_app_ug/vm_power_management.rst Timers M: Erik Gabriel Carrillo <[email protected]> +S: Supported F: lib/timer/ F: doc/guides/prog_guide/timer_lib.rst F: app/test/test_timer*
@@ -1690,25 +1921,30 @@ F: examples/timer/ F: doc/guides/sample_app_ug/timer.rst Job statistics +S: Orphan F: lib/jobstats/ F: examples/l2fwd-jobstats/ F: doc/guides/sample_app_ug/l2_forward_job_stats.rst Metrics +S: Orphan F: lib/metrics/ F: app/test/test_metrics.c Bit-rate statistics +S: Orphan F: lib/bitratestats/ F: app/test/test_bitratestats.c Latency statistics M: Reshma Pattan <[email protected]> +S: Supported F: lib/latencystats/ F: app/test/test_latencystats.c Telemetry M: Ciara Power <[email protected]> +S: Supported F: lib/telemetry/ F: app/test/test_telemetry* F: usertools/dpdk-telemetry*
@@ -1716,6 +1952,7 @@ F: doc/guides/howto/telemetry.rst BPF M: Konstantin Ananyev <[email protected]> +S: Supported F: lib/bpf/ F: examples/bpf/ F: app/test/test_bpf.c
@@ -1727,6 +1964,7 @@ M: Jerin Jacob <[email protected]> M: Kiran Kumar K <[email protected]> M: Nithin Dabilpuram <[email protected]> M: Zhirun Yan <[email protected]> +S: Supported F: lib/graph/ F: doc/guides/prog_guide/graph_lib.rst F: app/test/test_graph*
@@ -1736,6 +1974,7 @@ F: doc/guides/sample_app_ug/l3_forward_graph.rst Nodes - EXPERIMENTAL M: Nithin Dabilpuram <[email protected]> M: Pavan Nikhilesh <[email protected]> +S: Supported F: lib/node/
@@ -1743,6 +1982,7 @@ Test Applications ----------------- Unit tests framework +S: Maintained F: app/test/commands.c F: app/test/has_hugepage.py F: app/test/packet_burst_generator.c
@@ -1758,45 +1998,53 @@ F: app/test/virtual_pmd.h Sample packet helper functions for unit test M: Reshma Pattan <[email protected]> +S: Supported F: app/test/sample_packet_forward.c F: app/test/sample_packet_forward.h Networking drivers testing tool M: Aman Singh <[email protected]> M: Yuying Zhang <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-net F: app/test-pmd/ F: doc/guides/testpmd_app_ug/ DMA device performance tool M: Cheng Jiang <[email protected]> +S: Supported F: app/test-dma-perf/ F: doc/guides/tools/dmaperf.rst Flow performance tool M: Wisam Jaddo <[email protected]> +S: Supported F: app/test-flow-perf/ F: doc/guides/tools/flow-perf.rst Security performance tool M: Anoob Joseph <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-crypto F: app/test-security-perf/ F: doc/guides/tools/securityperf.rst Compression performance test application T: git://dpdk.org/next/dpdk-next-crypto +S: Orphan F: app/test-compress-perf/ F: doc/guides/tools/comp_perf.rst Crypto performance test application M: Ciara Power <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-crypto F: app/test-crypto-perf/ F: doc/guides/tools/cryptoperf.rst Eventdev test application M: Jerin Jacob <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-eventdev F: app/test-eventdev/ F: doc/guides/tools/testeventdev.rst
@@ -1806,12 +2054,14 @@ F: app/test/test_event_ring.c Procinfo tool M: Maryam Tahhan <[email protected]> M: Reshma Pattan <[email protected]> +S: Supported F: app/proc-info/ F: doc/guides/tools/proc_info.rst DTS M: Lijuan Tu <[email protected]> M: Juraj Linkeš <[email protected]> +S: Supported F: dts/ F: devtools/dts-check-format.sh F: doc/guides/tools/dts.rst
@@ -1821,77 +2071,92 @@ Other Example Applications -------------------------- Ethtool example +S: Orphan F: examples/ethtool/ F: doc/guides/sample_app_ug/ethtool.rst FIPS validation example M: Brian Dooley <[email protected]> M: Gowrishankar Muthukrishnan <[email protected]> +S: Supported F: examples/fips_validation/ F: doc/guides/sample_app_ug/fips_validation.rst Flow filtering example M: Ori Kam <[email protected]> +S: Supported F: examples/flow_filtering/ F: doc/guides/sample_app_ug/flow_filtering.rst Helloworld example M: Bruce Richardson <[email protected]> +S: Supported F: examples/helloworld/ F: doc/guides/sample_app_ug/hello_world.rst IPsec security gateway example M: Radu Nicolau <[email protected]> M: Akhil Goyal <[email protected]> +S: Supported F: examples/ipsec-secgw/ F: doc/guides/sample_app_ug/ipsec_secgw.rst IPv4 multicast example +S: Orphan F: examples/ipv4_multicast/ F: doc/guides/sample_app_ug/ipv4_multicast.rst L2 forwarding example M: Bruce Richardson <[email protected]> +S: Supported F: examples/l2fwd/ F: doc/guides/sample_app_ug/l2_forward_real_virtual.rst L2 forwarding with cache allocation example M: Tomasz Kantecki <[email protected]> +S: Supported F: doc/guides/sample_app_ug/l2_forward_cat.rst F: examples/l2fwd-cat/ L2 forwarding with eventdev example M: Sunil Kumar Kori <[email protected]> M: Pavan Nikhilesh <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-eventdev F: examples/l2fwd-event/ F: doc/guides/sample_app_ug/l2_forward_event.rst L3 forwarding example +S: Maintained F: examples/l3fwd/ F: doc/guides/sample_app_ug/l3_forward.rst Link status interrupt example +S: Maintained F: examples/link_status_interrupt/ F: doc/guides/sample_app_ug/link_status_intr.rst PTP client example M: Kirill Rybalchenko <[email protected]> +S: Supported F: examples/ptpclient/ Rx/Tx callbacks example M: Bruce Richardson <[email protected]> M: John McNamara <[email protected]> +S: Supported F: examples/rxtx_callbacks/ F: doc/guides/sample_app_ug/rxtx_callbacks.rst Skeleton example M: Bruce Richardson <[email protected]> M: John McNamara <[email protected]> +S: Supported F: examples/skeleton/ F: doc/guides/sample_app_ug/skeleton.rst VMDq examples +S: Orphan F: examples/vmdq/ F: doc/guides/sample_app_ug/vmdq_forwarding.rst F: examples/vmdq_dcb/
Signature · 1 line
2.39.2
PATCH v3 1/1 MAINTAINERS: add status information
In reply to Stephen HemmingerAdd a new field S: which indicates the status of support for individual sub-trees. Almost everything is marked as supported but components without any maintainer are listed as Orphan.
---
v3 - add back Makefile
mark vdev_netvsc as Odd Fixes
MAINTAINERS | 266 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 266 insertions(+)
MAINTAINERS +266 -0
@@ -17,6 +17,16 @@ Descriptions of section entries: X: Files and directories exclusion, same rules as F: K: Keyword regex pattern to match content. One regex pattern per line. Multiple K: lines acceptable. + S: *Status*, one of the following: + Supported: Someone is actually paid to look after this. + Maintained: Someone actually looks after it. + Odd Fixes: It has a maintainer but they don't have time to do + much other than throw the odd patch in. See below.. + Orphan: No current maintainer [but maybe you could take the + role as you write your new code]. + Obsolete: Old code. Something tagged obsolete generally means + it has been replaced by a better system and you + should be using that. General Project Administration
@@ -25,44 +35,54 @@ General Project Administration Main Branch M: Thomas Monjalon <[email protected]> M: David Marchand <[email protected]> +S: Supported T: git://dpdk.org/dpdk Next-net Tree M: Ferruh Yigit <[email protected]> M: Andrew Rybchenko <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-net Next-net-brcm Tree M: Ajit Khaparde <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-net-brcm Next-net-intel Tree M: Qi Zhang <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-net-intel Next-net-mrvl Tree M: Jerin Jacob <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-net-mrvl Next-net-mlx Tree M: Raslan Darawsheh <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-net-mlx Next-virtio Tree M: Maxime Coquelin <[email protected]> M: Chenbo Xia <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-virtio Next-crypto Tree M: Akhil Goyal <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-crypto Next-eventdev Tree M: Jerin Jacob <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-eventdev Next-baseband Tree M: Maxime Coquelin <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-baseband Stable Branches
@@ -70,17 +90,21 @@ M: Luca Boccassi <[email protected]> M: Kevin Traynor <[email protected]> M: Christian Ehrhardt <[email protected]> M: Xueming Li <[email protected]> +S: Supported T: git://dpdk.org/dpdk-stable Security Issues M: [email protected] +S: Supported Documentation (with overlaps) F: README F: doc/ +S: Supported Developers and Maintainers Tools M: Thomas Monjalon <[email protected]> +S: Supported F: MAINTAINERS F: devtools/build-dict.sh F: devtools/check-abi.sh
@@ -110,6 +134,7 @@ F: .mailmap Build System M: Bruce Richardson <[email protected]> +S: Supported F: Makefile F: meson.build F: meson_options.txt
@@ -130,11 +155,13 @@ F: devtools/check-meson.py Public CI M: Aaron Conole <[email protected]> M: Michael Santana <[email protected]> +S: Supported F: .github/workflows/build.yml F: .ci/ Driver information M: Dmitry Kozlyuk <[email protected]> +S: Maintained F: buildtools/coff.py F: buildtools/gen-pmdinfo-cfile.py F: buildtools/pmdinfogen.py
@@ -147,6 +174,7 @@ Environment Abstraction Layer T: git://dpdk.org/dpdk EAL API and common code +S: Supported F: lib/eal/common/ F: lib/eal/unix/ F: lib/eal/include/
@@ -180,6 +208,7 @@ F: app/test/test_version.c Trace - EXPERIMENTAL M: Jerin Jacob <[email protected]> M: Sunil Kumar Kori <[email protected]> +S: Supported F: lib/eal/include/rte_trace*.h F: lib/eal/common/eal_common_trace*.c F: lib/eal/common/eal_trace.h
@@ -188,6 +217,7 @@ F: app/test/test_trace* Memory Allocation M: Anatoly Burakov <[email protected]> +S: Supported F: lib/eal/include/rte_fbarray.h F: lib/eal/include/rte_mem* F: lib/eal/include/rte_malloc.h
@@ -209,11 +239,13 @@ F: app/test/test_memzone.c Interrupt Subsystem M: Harman Kalra <[email protected]> +S: Supported F: lib/eal/include/rte_epoll.h F: lib/eal/*/*interrupts.* F: app/test/test_interrupts.c Keep alive +S: Orphan F: lib/eal/include/rte_keepalive.h F: lib/eal/common/rte_keepalive.c F: examples/l2fwd-keepalive/
@@ -221,6 +253,7 @@ F: doc/guides/sample_app_ug/keep_alive.rst Secondary process M: Anatoly Burakov <[email protected]> +S: Maintained K: RTE_PROC_ F: lib/eal/common/eal_common_proc.c F: doc/guides/prog_guide/multi_proc_support.rst
@@ -230,6 +263,7 @@ F: doc/guides/sample_app_ug/multi_process.rst Service Cores M: Harry van Haaren <[email protected]> +S: Supported F: lib/eal/include/rte_service.h F: lib/eal/include/rte_service_component.h F: lib/eal/common/rte_service.c
@@ -240,44 +274,52 @@ F: doc/guides/sample_app_ug/service_cores.rst Bitops M: Joyce Kong <[email protected]> +S: Supported F: lib/eal/include/rte_bitops.h F: app/test/test_bitops.c Bitmap M: Cristian Dumitrescu <[email protected]> +S: Supported F: lib/eal/include/rte_bitmap.h F: app/test/test_bitmap.c MCSlock M: Honnappa Nagarahalli <[email protected]> +S: Supported F: lib/eal/include/rte_mcslock.h F: app/test/test_mcslock.c Sequence Lock M: Mattias Rönnblom <[email protected]> +S: Supported F: lib/eal/include/rte_seqcount.h F: lib/eal/include/rte_seqlock.h F: app/test/test_seqlock.c Ticketlock M: Joyce Kong <[email protected]> +S: Supported F: lib/eal/include/rte_ticketlock.h F: app/test/test_ticketlock.c Pseudo-random Number Generation M: Mattias Rönnblom <[email protected]> +S: Supported F: lib/eal/include/rte_random.h F: lib/eal/common/rte_random.c F: app/test/test_rand_perf.c ARM v7 M: Ruifeng Wang <[email protected]> +S: Supported F: config/arm/ F: lib/eal/arm/ X: lib/eal/arm/include/*_64.h ARM v8 M: Ruifeng Wang <[email protected]> +S: Supported F: config/arm/ F: doc/guides/linux_gsg/cross_build_dpdk_for_arm64.rst F: lib/eal/arm/
@@ -291,12 +333,14 @@ F: examples/common/neon/ LoongArch M: Min Zhou <[email protected]> +S: Supported F: config/loongarch/ F: doc/guides/linux_gsg/cross_build_dpdk_for_loongarch.rst F: lib/eal/loongarch/ IBM POWER (alpha) M: David Christensen <[email protected]> +S: Supported F: config/ppc/ F: lib/eal/ppc/ F: lib/*/*_altivec*
@@ -307,6 +351,7 @@ F: examples/common/altivec/ RISC-V M: Stanislaw Kardach <[email protected]> +S: Supported F: config/riscv/ F: doc/guides/linux_gsg/cross_build_dpdk_for_riscv.rst F: lib/eal/riscv/
@@ -314,6 +359,7 @@ F: lib/eal/riscv/ Intel x86 M: Bruce Richardson <[email protected]> M: Konstantin Ananyev <[email protected]> +S: Supported F: config/x86/ F: doc/guides/linux_gsg/nic_perf_intel_platform.rst F: buildtools/binutils-avx512-check.py
@@ -330,28 +376,34 @@ F: examples/*/*_avx* F: examples/common/sse/ Linux EAL (with overlaps) +S: Supported F: lib/eal/linux/ F: doc/guides/linux_gsg/ Linux UIO +S: Supported F: drivers/bus/pci/linux/*uio* Linux VFIO M: Anatoly Burakov <[email protected]> +S: Supported F: lib/eal/linux/*vfio* F: drivers/bus/pci/linux/*vfio* FreeBSD EAL (with overlaps) M: Bruce Richardson <[email protected]> +S: Odd Fixes F: lib/eal/freebsd/ F: doc/guides/freebsd_gsg/ FreeBSD contigmem M: Bruce Richardson <[email protected]> +S: Oddd Fixes F: kernel/freebsd/contigmem/ FreeBSD UIO M: Bruce Richardson <[email protected]> +S: Odd Fixes F: kernel/freebsd/nic_uio/ Windows support
@@ -359,12 +411,14 @@ M: Dmitry Kozlyuk <[email protected]> M: Narcisa Ana Maria Vasile <[email protected]> M: Dmitry Malloy <[email protected]> M: Pallavi Kadam <[email protected]> +S: Supported F: lib/eal/windows/ F: buildtools/map_to_win.py F: doc/guides/windows_gsg/ Windows memory allocation M: Dmitry Kozlyuk <[email protected]> +S: Supported F: lib/eal/windows/eal_hugepages.c F: lib/eal/windows/eal_mem*
@@ -372,10 +426,12 @@ F: lib/eal/windows/eal_mem* Core Libraries -------------- T: git://dpdk.org/dpdk +S: Maintained Memory pool M: Olivier Matz <[email protected]> M: Andrew Rybchenko <[email protected]> +S: Supported F: lib/mempool/ F: drivers/mempool/ring/ F: doc/guides/prog_guide/mempool_lib.rst
@@ -385,6 +441,7 @@ F: app/test/test_func_reentrancy.c Ring queue M: Honnappa Nagarahalli <[email protected]> M: Konstantin Ananyev <[email protected]> +S: Supported F: lib/ring/ F: doc/guides/prog_guide/ring_lib.rst F: app/test/test_ring*
@@ -392,6 +449,7 @@ F: app/test/test_func_reentrancy.c Stack M: Olivier Matz <[email protected]> +S: Supported F: lib/stack/ F: drivers/mempool/stack/ F: app/test/test_stack*
@@ -399,6 +457,7 @@ F: doc/guides/prog_guide/stack_lib.rst Packet buffer M: Olivier Matz <[email protected]> +S: Supported F: lib/mbuf/ F: doc/guides/prog_guide/mbuf_lib.rst F: app/test/test_mbuf.c
@@ -407,6 +466,7 @@ Ethernet API M: Thomas Monjalon <[email protected]> M: Ferruh Yigit <[email protected]> M: Andrew Rybchenko <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-net F: lib/ethdev/ F: app/test/test_ethdev*
@@ -415,6 +475,7 @@ F: doc/guides/prog_guide/switch_representation.rst Flow API M: Ori Kam <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-net F: app/test-pmd/cmdline_flow.c F: doc/guides/prog_guide/rte_flow.rst
@@ -422,18 +483,21 @@ F: lib/ethdev/rte_flow* Traffic Management API - EXPERIMENTAL M: Cristian Dumitrescu <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-net F: lib/ethdev/rte_tm* F: app/test-pmd/cmdline_tm.* Traffic Metering and Policing API - EXPERIMENTAL M: Cristian Dumitrescu <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-net F: lib/ethdev/rte_mtr* F: app/test-pmd/cmdline_mtr.* Baseband API M: Nicolas Chautru <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-baseband F: lib/bbdev/ F: doc/guides/prog_guide/bbdev.rst
@@ -446,6 +510,7 @@ F: doc/guides/sample_app_ug/bbdev_app.rst Crypto API M: Akhil Goyal <[email protected]> M: Fan Zhang <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-crypto F: lib/cryptodev/ F: app/test/test_cryptodev*
@@ -453,6 +518,7 @@ F: examples/l2fwd-crypto/ Security API M: Akhil Goyal <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-crypto F: lib/security/ F: doc/guides/prog_guide/rte_security.rst
@@ -461,6 +527,7 @@ F: app/test/test_security* Compression API - EXPERIMENTAL M: Fan Zhang <[email protected]> M: Ashish Gupta <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-crypto F: lib/compressdev/ F: drivers/compress/
@@ -470,6 +537,7 @@ F: doc/guides/compressdevs/features/default.ini RegEx API - EXPERIMENTAL M: Ori Kam <[email protected]> +S: Supported F: lib/regexdev/ F: app/test-regex/ F: doc/guides/prog_guide/regexdev.rst
@@ -477,6 +545,7 @@ F: doc/guides/regexdevs/features/default.ini Machine Learning device API - EXPERIMENTAL M: Srikanth Yalavarthi <[email protected]> +S: Supported F: lib/mldev/ F: doc/guides/prog_guide/mldev.rst F: app/test-mldev/
@@ -484,6 +553,7 @@ F: doc/guides/tools/testmldev.rst DMA device API - EXPERIMENTAL M: Chengwen Feng <[email protected]> +S: Supported F: lib/dmadev/ F: drivers/dma/skeleton/ F: app/test/test_dmadev*
@@ -495,6 +565,7 @@ F: doc/guides/sample_app_ug/dma.rst General-Purpose Graphics Processing Unit (GPU) API - EXPERIMENTAL M: Elena Agostini <[email protected]> +S: Supported F: lib/gpudev/ F: doc/guides/prog_guide/gpudev.rst F: doc/guides/gpus/features/default.ini
@@ -502,6 +573,7 @@ F: app/test-gpudev/ Eventdev API M: Jerin Jacob <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-eventdev F: lib/eventdev/ F: drivers/event/skeleton/
@@ -510,6 +582,7 @@ F: examples/l3fwd/l3fwd_event* Eventdev Ethdev Rx Adapter API M: Naga Harish K S V <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-eventdev F: lib/eventdev/*eth_rx_adapter* F: app/test/test_event_eth_rx_adapter.c
@@ -517,6 +590,7 @@ F: doc/guides/prog_guide/event_ethernet_rx_adapter.rst Eventdev Ethdev Tx Adapter API M: Naga Harish K S V <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-eventdev F: lib/eventdev/*eth_tx_adapter* F: app/test/test_event_eth_tx_adapter.c
@@ -524,6 +598,7 @@ F: doc/guides/prog_guide/event_ethernet_tx_adapter.rst Eventdev Timer Adapter API M: Erik Gabriel Carrillo <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-eventdev F: lib/eventdev/*timer_adapter* F: app/test/test_event_timer_adapter.c
@@ -531,6 +606,7 @@ F: doc/guides/prog_guide/event_timer_adapter.rst Eventdev Crypto Adapter API M: Abhinandan Gujjar <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-eventdev F: lib/eventdev/*crypto_adapter* F: app/test/test_event_crypto_adapter.c
@@ -539,6 +615,7 @@ F: doc/guides/prog_guide/event_crypto_adapter.rst Raw device API M: Sachin Saxena <[email protected]> M: Hemant Agrawal <[email protected]> +S: Supported F: lib/rawdev/ F: drivers/raw/skeleton/ F: app/test/test_rawdev.c
@@ -551,11 +628,13 @@ Memory Pool Drivers Bucket memory pool M: Artem V. Andreev <[email protected]> M: Andrew Rybchenko <[email protected]> +S: Supported F: drivers/mempool/bucket/ Marvell cnxk M: Ashwin Sekhar T K <[email protected]> M: Pavan Nikhilesh <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-net-mrvl F: drivers/mempool/cnxk/ F: doc/guides/mempool/cnxk.rst
@@ -567,20 +646,24 @@ Bus Drivers AMD CDX bus M: Nipun Gupta <[email protected]> M: Nikhil Agarwal <[email protected]> +S: Supported F: drivers/bus/cdx/ Auxiliary bus driver - EXPERIMENTAL M: Parav Pandit <[email protected]> M: Xueming Li <[email protected]> +S: Supported F: drivers/bus/auxiliary/ Intel FPGA bus M: Rosen Xu <[email protected]> +S: Supported F: drivers/bus/ifpga/ NXP buses M: Hemant Agrawal <[email protected]> M: Sachin Saxena <[email protected]> +S: Supported F: drivers/common/dpaax/ F: drivers/bus/dpaa/ F: drivers/bus/fslmc/
@@ -588,36 +671,43 @@ F: drivers/bus/fslmc/ PCI bus driver M: Chenbo Xia <[email protected]> M: Nipun Gupta <[email protected]> +S: Supported F: drivers/bus/pci/ Platform bus driver M: Tomasz Duszynski <[email protected]> +S: Supported F: drivers/bus/platform/ VDEV bus driver +S: Maintained F: drivers/bus/vdev/ F: app/test/test_vdev.c VMBUS bus driver M: Long Li <[email protected]> +S: Supported F: drivers/bus/vmbus/ Networking Drivers ------------------ M: Ferruh Yigit <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-net F: doc/guides/nics/features/default.ini Link bonding M: Chas Williams <[email protected]> M: Min Hu (Connor) <[email protected]> +S: Supported F: drivers/net/bonding/ F: doc/guides/prog_guide/link_bonding_poll_mode_drv_lib.rst F: app/test/test_link_bonding* F: examples/bond/ Linux KNI +S: Obsolete F: kernel/linux/kni/ F: lib/kni/ F: doc/guides/prog_guide/kernel_nic_interface.rst
@@ -625,12 +715,14 @@ F: app/test/test_kni.c Linux AF_PACKET M: John W. Linville <[email protected]> +S: Odd Fixes F: drivers/net/af_packet/ F: doc/guides/nics/features/afpacket.ini Linux AF_XDP M: Ciara Loftus <[email protected]> M: Qi Zhang <[email protected]> +S: Supported F: drivers/net/af_xdp/ F: doc/guides/nics/af_xdp.rst F: doc/guides/nics/features/af_xdp.ini
@@ -641,24 +733,28 @@ M: Shai Brandes <[email protected]> M: Evgeny Schemeilin <[email protected]> M: Igor Chauskin <[email protected]> M: Ron Beider <[email protected]> +S: Supported F: drivers/net/ena/ F: doc/guides/nics/ena.rst F: doc/guides/nics/features/ena.ini AMD axgbe M: Chandubabu Namburu <[email protected]> +S: Supported F: drivers/net/axgbe/ F: doc/guides/nics/axgbe.rst F: doc/guides/nics/features/axgbe.ini AMD Pensando ionic M: Andrew Boyer <[email protected]> +S: Supported F: drivers/net/ionic/ F: doc/guides/nics/ionic.rst F: doc/guides/nics/features/ionic.ini Marvell/Aquantia atlantic M: Igor Russkikh <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-net-mrvl F: drivers/net/atlantic/ F: doc/guides/nics/atlantic.rst
@@ -668,6 +764,7 @@ Atomic Rules ARK M: Shepard Siegel <[email protected]> M: Ed Czeck <[email protected]> M: John Miller <[email protected]> +S: Supported F: drivers/net/ark/ F: doc/guides/nics/ark.rst F: doc/guides/nics/features/ark.ini
@@ -675,6 +772,7 @@ F: doc/guides/nics/features/ark.ini Broadcom bnxt M: Ajit Khaparde <[email protected]> M: Somnath Kotur <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-net-brcm F: drivers/net/bnxt/ F: doc/guides/nics/bnxt.rst
@@ -683,6 +781,7 @@ F: doc/guides/nics/features/bnxt.ini Cavium ThunderX nicvf M: Jerin Jacob <[email protected]> M: Maciej Czekaj <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-net-mrvl F: drivers/net/thunderx/ F: doc/guides/nics/thunderx.rst
@@ -690,6 +789,7 @@ F: doc/guides/nics/features/thunderx.ini Cavium OCTEON TX M: Harman Kalra <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-net-mrvl F: drivers/common/octeontx/ F: drivers/mempool/octeontx/
@@ -699,6 +799,7 @@ F: doc/guides/nics/features/octeontx.ini Chelsio cxgbe M: Rahul Lakkireddy <[email protected]> +S: Supported F: drivers/net/cxgbe/ F: doc/guides/nics/cxgbe.rst F: doc/guides/nics/features/cxgbe.ini
@@ -706,6 +807,7 @@ F: doc/guides/nics/features/cxgbe.ini Cisco enic M: John Daley <[email protected]> M: Hyong Youb Kim <[email protected]> +S: Supported F: drivers/net/enic/ F: doc/guides/nics/enic.rst F: doc/guides/nics/features/enic.ini
@@ -715,6 +817,7 @@ M: Junfeng Guo <[email protected]> M: Jeroen de Borst <[email protected]> M: Rushil Gupta <[email protected]> M: Joshua Washington <[email protected]> +S: Supported F: drivers/net/gve/ F: doc/guides/nics/gve.rst F: doc/guides/nics/features/gve.ini
@@ -722,6 +825,7 @@ F: doc/guides/nics/features/gve.ini Hisilicon hns3 M: Dongdong Liu <[email protected]> M: Yisen Zhuang <[email protected]> +S: Supported F: drivers/net/hns3/ F: doc/guides/nics/hns3.rst F: doc/guides/nics/features/hns3.ini
@@ -730,6 +834,7 @@ Huawei hinic M: Ziyang Xuan <[email protected]> M: Xiaoyun Wang <[email protected]> M: Guoyang Zhou <[email protected]> +S: Supported F: drivers/net/hinic/ F: doc/guides/nics/hinic.rst F: doc/guides/nics/features/hinic.ini
@@ -737,6 +842,7 @@ F: doc/guides/nics/features/hinic.ini Intel e1000 M: Simei Su <[email protected]> M: Wenjun Wu <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-net-intel F: drivers/net/e1000/ F: doc/guides/nics/e1000em.rst
@@ -747,6 +853,7 @@ F: doc/guides/nics/features/igb*.ini Intel ixgbe M: Qiming Yang <[email protected]> M: Wenjun Wu <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-net-intel F: drivers/net/ixgbe/ F: doc/guides/nics/ixgbe.rst
@@ -756,6 +863,7 @@ F: doc/guides/nics/features/ixgbe*.ini Intel i40e M: Yuying Zhang <[email protected]> M: Beilei Xing <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-net-intel F: drivers/net/i40e/ F: doc/guides/nics/i40e.rst
@@ -765,6 +873,7 @@ F: doc/guides/nics/features/i40e*.ini Intel fm10k M: Qi Zhang <[email protected]> M: Xiao Wang <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-net-intel F: drivers/net/fm10k/ F: doc/guides/nics/fm10k.rst
@@ -773,6 +882,7 @@ F: doc/guides/nics/features/fm10k*.ini Intel iavf M: Jingjing Wu <[email protected]> M: Beilei Xing <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-net-intel F: drivers/net/iavf/ F: drivers/common/iavf/
@@ -781,6 +891,7 @@ F: doc/guides/nics/features/iavf*.ini Intel ice M: Qiming Yang <[email protected]> M: Qi Zhang <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-net-intel F: drivers/net/ice/ F: doc/guides/nics/ice.rst
@@ -789,6 +900,7 @@ F: doc/guides/nics/features/ice.ini Intel idpf M: Jingjing Wu <[email protected]> M: Beilei Xing <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-net-intel F: drivers/net/idpf/ F: drivers/common/idpf/
@@ -798,6 +910,7 @@ F: doc/guides/nics/features/idpf.ini Intel cpfl - EXPERIMENTAL M: Yuying Zhang <[email protected]> M: Beilei Xing <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-net-intel F: drivers/net/cpfl/ F: doc/guides/nics/cpfl.rst
@@ -806,6 +919,7 @@ F: doc/guides/nics/features/cpfl.ini Intel igc M: Junfeng Guo <[email protected]> M: Simei Su <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-net-intel F: drivers/net/igc/ F: doc/guides/nics/igc.rst
@@ -814,6 +928,7 @@ F: doc/guides/nics/features/igc.ini Intel ipn3ke M: Rosen Xu <[email protected]> T: git://dpdk.org/next/dpdk-next-net-intel +S: Supported F: drivers/net/ipn3ke/ F: doc/guides/nics/ipn3ke.rst F: doc/guides/nics/features/ipn3ke.ini
@@ -823,6 +938,7 @@ M: Nithin Dabilpuram <[email protected]> M: Kiran Kumar K <[email protected]> M: Sunil Kumar Kori <[email protected]> M: Satha Rao <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-net-mrvl F: drivers/common/cnxk/ F: drivers/net/cnxk/
@@ -832,6 +948,7 @@ F: doc/guides/platform/cnxk.rst Marvell mvpp2 M: Liron Himi <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-net-mrvl F: drivers/common/mvep/ F: drivers/net/mvpp2/
@@ -841,6 +958,7 @@ F: doc/guides/nics/features/mvpp2.ini Marvell mvneta M: Zyta Szpak <[email protected]> M: Liron Himi <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-net-mrvl F: drivers/net/mvneta/ F: doc/guides/nics/mvneta.rst
@@ -848,6 +966,7 @@ F: doc/guides/nics/features/mvneta.ini Marvell OCTEON TX EP - endpoint M: Vamsi Attunuru <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-net-mrvl F: drivers/net/octeon_ep/ F: doc/guides/nics/features/octeon_ep.ini
@@ -856,6 +975,7 @@ F: doc/guides/nics/octeon_ep.rst NVIDIA mlx4 M: Matan Azrad <[email protected]> M: Viacheslav Ovsiienko <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-net-mlx F: drivers/net/mlx4/ F: doc/guides/nics/mlx4.rst
@@ -866,6 +986,7 @@ M: Matan Azrad <[email protected]> M: Viacheslav Ovsiienko <[email protected]> M: Ori Kam <[email protected]> M: Suanming Mou <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-net-mlx F: drivers/common/mlx5/ F: drivers/net/mlx5/
@@ -875,23 +996,27 @@ F: doc/guides/nics/features/mlx5.ini Microsoft mana M: Long Li <[email protected]> +S: Supported F: drivers/net/mana/ F: doc/guides/nics/mana.rst F: doc/guides/nics/features/mana.ini Microsoft vdev_netvsc - EXPERIMENTAL M: Matan Azrad <[email protected]> +S: Odd Fixes F: drivers/net/vdev_netvsc/ F: doc/guides/nics/vdev_netvsc.rst Microsoft Hyper-V netvsc M: Long Li <[email protected]> +S: Supported F: drivers/net/netvsc/ F: doc/guides/nics/netvsc.rst F: doc/guides/nics/features/netvsc.ini Netcope nfb M: Martin Spinler <[email protected]> +S: Supported F: drivers/net/nfb/ F: doc/guides/nics/nfb.rst F: doc/guides/nics/features/nfb.ini
@@ -899,6 +1024,7 @@ F: doc/guides/nics/features/nfb.ini Netronome nfp M: Chaoyong He <[email protected]> M: Niklas Soderlund <[email protected]> +S: Supported F: drivers/net/nfp/ F: doc/guides/nics/nfp.rst F: doc/guides/nics/features/nfp*.ini
@@ -906,6 +1032,7 @@ F: doc/guides/nics/features/nfp*.ini NXP dpaa M: Hemant Agrawal <[email protected]> M: Sachin Saxena <[email protected]> +S: Supported F: drivers/mempool/dpaa/ F: drivers/net/dpaa/ F: doc/guides/nics/dpaa.rst
@@ -914,6 +1041,7 @@ F: doc/guides/nics/features/dpaa.ini NXP dpaa2 M: Hemant Agrawal <[email protected]> M: Sachin Saxena <[email protected]> +S: Supported F: drivers/mempool/dpaa2/ F: drivers/net/dpaa2/ F: doc/guides/nics/dpaa2.rst
@@ -922,6 +1050,7 @@ F: doc/guides/nics/features/dpaa2.ini NXP enetc M: Gagandeep Singh <[email protected]> M: Sachin Saxena <[email protected]> +S: Supported F: drivers/net/enetc/ F: doc/guides/nics/enetc.rst F: doc/guides/nics/features/enetc.ini
@@ -929,18 +1058,21 @@ F: doc/guides/nics/features/enetc.ini NXP enetfec - EXPERIMENTAL M: Apeksha Gupta <[email protected]> M: Sachin Saxena <[email protected]> +S: Supported F: drivers/net/enetfec/ F: doc/guides/nics/enetfec.rst F: doc/guides/nics/features/enetfec.ini NXP pfe M: Gagandeep Singh <[email protected]> +S: Supported F: doc/guides/nics/pfe.rst F: drivers/net/pfe/ F: doc/guides/nics/features/pfe.ini Marvell QLogic bnx2x M: Julien Aube <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-net-mrvl F: drivers/net/bnx2x/ F: doc/guides/nics/bnx2x.rst
@@ -949,6 +1081,7 @@ F: doc/guides/nics/features/bnx2x*.ini Marvell QLogic qede PMD M: Devendra Singh Rawat <[email protected]> M: Alok Prasad <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-net-mrvl F: drivers/net/qede/ F: doc/guides/nics/qede.rst
@@ -956,6 +1089,7 @@ F: doc/guides/nics/features/qede*.ini Solarflare sfc_efx M: Andrew Rybchenko <[email protected]> +S: Supported F: drivers/common/sfc_efx/ F: drivers/net/sfc/ F: doc/guides/nics/sfc_efx.rst
@@ -963,6 +1097,7 @@ F: doc/guides/nics/features/sfc.ini Wangxun ngbe M: Jiawen Wu <[email protected]> +S: Supported F: drivers/net/ngbe/ F: doc/guides/nics/ngbe.rst F: doc/guides/nics/features/ngbe.ini
@@ -970,12 +1105,14 @@ F: doc/guides/nics/features/ngbe.ini Wangxun txgbe M: Jiawen Wu <[email protected]> M: Jian Wang <[email protected]> +S: Supported F: drivers/net/txgbe/ F: doc/guides/nics/txgbe.rst F: doc/guides/nics/features/txgbe.ini VMware vmxnet3 M: Jochen Behrens <[email protected]> +S: Supported F: drivers/net/vmxnet3/ F: doc/guides/nics/vmxnet3.rst F: doc/guides/nics/features/vmxnet3.ini
@@ -983,6 +1120,7 @@ F: doc/guides/nics/features/vmxnet3.ini Vhost-user M: Maxime Coquelin <[email protected]> M: Chenbo Xia <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-virtio F: lib/vhost/ F: doc/guides/prog_guide/vhost_lib.rst
@@ -997,6 +1135,7 @@ F: doc/guides/sample_app_ug/vdpa.rst Vhost PMD M: Maxime Coquelin <[email protected]> M: Chenbo Xia <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-virtio F: drivers/net/vhost/ F: doc/guides/nics/vhost.rst
@@ -1005,6 +1144,7 @@ F: doc/guides/nics/features/vhost.ini Virtio PMD M: Maxime Coquelin <[email protected]> M: Chenbo Xia <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-virtio F: drivers/net/virtio/ F: doc/guides/nics/virtio.rst
@@ -1013,26 +1153,31 @@ F: doc/guides/nics/features/virtio*.ini Wind River AVP M: Steven Webster <[email protected]> M: Matt Peters <[email protected]> +S: Supported F: drivers/net/avp/ F: doc/guides/nics/avp.rst F: doc/guides/nics/features/avp.ini PCAP PMD +S: Orphan F: drivers/net/pcap/ F: doc/guides/nics/pcap_ring.rst F: doc/guides/nics/features/pcap.ini Tap PMD +S: Orphan F: drivers/net/tap/ F: doc/guides/nics/tap.rst F: doc/guides/nics/features/tap.ini KNI PMD +S: Obsolete F: drivers/net/kni/ F: doc/guides/nics/kni.rst Ring PMD M: Bruce Richardson <[email protected]> +S: Supported F: drivers/net/ring/ F: doc/guides/nics/pcap_ring.rst F: app/test/test_pmd_ring.c
@@ -1040,21 +1185,25 @@ F: app/test/test_pmd_ring_perf.c Null Networking PMD M: Tetsuya Mukawa <[email protected]> +S: Supported F: drivers/net/null/ Fail-safe PMD M: Gaetan Rivet <[email protected]> +S: Odd Fixes F: drivers/net/failsafe/ F: doc/guides/nics/fail_safe.rst F: doc/guides/nics/features/failsafe.ini Softnic PMD M: Cristian Dumitrescu <[email protected]> +S: Supported F: drivers/net/softnic/ F: doc/guides/nics/softnic.rst Memif PMD M: Jakub Grajciar <[email protected]> +S: Supported F: drivers/net/memif/ F: doc/guides/nics/memif.rst F: doc/guides/nics/features/memif.ini
@@ -1062,17 +1211,20 @@ F: doc/guides/nics/features/memif.ini Crypto Drivers -------------- +S: Maintained T: git://dpdk.org/next/dpdk-next-crypto F: doc/guides/cryptodevs/features/default.ini AMD CCP Crypto M: Sunil Uttarwar <[email protected]> +S: Supported F: drivers/crypto/ccp/ F: doc/guides/cryptodevs/ccp.rst F: doc/guides/cryptodevs/features/ccp.ini ARMv8 Crypto M: Ruifeng Wang <[email protected]> +S: Supported F: drivers/crypto/armv8/ F: doc/guides/cryptodevs/armv8.rst F: doc/guides/cryptodevs/features/armv8.ini
@@ -1081,12 +1233,14 @@ Broadcom FlexSparc M: Ajit Khaparde <[email protected]> M: Raveendra Padasalagi <[email protected]> M: Vikas Gupta <[email protected]> +S: Supported F: drivers/crypto/bcmfs/ F: doc/guides/cryptodevs/bcmfs.rst F: doc/guides/cryptodevs/features/bcmfs.ini Cavium OCTEON TX crypto M: Anoob Joseph <[email protected]> +S: Supported F: drivers/common/cpt/ F: drivers/crypto/octeontx/ F: doc/guides/cryptodevs/octeontx.rst
@@ -1094,17 +1248,20 @@ F: doc/guides/cryptodevs/features/octeontx.ini Crypto Scheduler M: Kai Ji <[email protected]> +S: Supported F: drivers/crypto/scheduler/ F: doc/guides/cryptodevs/scheduler.rst HiSilicon UADK crypto M: Zhangfei Gao <[email protected]> +S: Supported F: drivers/crypto/uadk/ F: doc/guides/cryptodevs/uadk.rst F: doc/guides/cryptodevs/features/uadk.ini Intel QuickAssist M: Kai Ji <[email protected]> +S: Supported F: drivers/crypto/qat/ F: drivers/common/qat/ F: doc/guides/cryptodevs/qat.rst
@@ -1113,6 +1270,7 @@ F: doc/guides/cryptodevs/features/qat.ini IPsec MB M: Kai Ji <[email protected]> M: Pablo de Lara <[email protected]> +S: Supported F: drivers/crypto/ipsec_mb/ F: doc/guides/cryptodevs/aesni_gcm.rst F: doc/guides/cryptodevs/aesni_mb.rst
@@ -1131,6 +1289,7 @@ Marvell cnxk crypto M: Ankur Dwivedi <[email protected]> M: Anoob Joseph <[email protected]> M: Tejasree Kondoj <[email protected]> +S: Supported F: drivers/crypto/cnxk/ F: doc/guides/cryptodevs/cnxk.rst F: doc/guides/cryptodevs/features/cn9k.ini
@@ -1139,6 +1298,7 @@ F: doc/guides/cryptodevs/features/cn10k.ini Marvell mvsam M: Michael Shamis <[email protected]> M: Liron Himi <[email protected]> +S: Supported F: drivers/crypto/mvsam/ F: doc/guides/cryptodevs/mvsam.rst F: doc/guides/cryptodevs/features/mvsam.ini
@@ -1146,18 +1306,21 @@ F: doc/guides/cryptodevs/features/mvsam.ini Marvell Nitrox M: Nagadheeraj Rottela <[email protected]> M: Srikanth Jampala <[email protected]> +S: Supported F: drivers/crypto/nitrox/ F: doc/guides/cryptodevs/nitrox.rst F: doc/guides/cryptodevs/features/nitrox.ini NVIDIA mlx5 M: Matan Azrad <[email protected]> +S: Supported F: drivers/crypto/mlx5/ F: doc/guides/cryptodevs/mlx5.rst F: doc/guides/cryptodevs/features/mlx5.ini Null Crypto M: Kai Ji <[email protected]> +S: Supported F: drivers/crypto/null/ F: doc/guides/cryptodevs/null.rst F: doc/guides/cryptodevs/features/null.ini
@@ -1165,6 +1328,7 @@ F: doc/guides/cryptodevs/features/null.ini NXP CAAM JR M: Gagandeep Singh <[email protected]> M: Hemant Agrawal <[email protected]> +S: Supported F: drivers/crypto/caam_jr/ F: doc/guides/cryptodevs/caam_jr.rst F: doc/guides/cryptodevs/features/caam_jr.ini
@@ -1172,6 +1336,7 @@ F: doc/guides/cryptodevs/features/caam_jr.ini NXP DPAA_SEC M: Gagandeep Singh <[email protected]> M: Hemant Agrawal <[email protected]> +S: Supported F: drivers/crypto/dpaa_sec/ F: doc/guides/cryptodevs/dpaa_sec.rst F: doc/guides/cryptodevs/features/dpaa_sec.ini
@@ -1179,18 +1344,21 @@ F: doc/guides/cryptodevs/features/dpaa_sec.ini NXP DPAA2_SEC M: Gagandeep Singh <[email protected]> M: Hemant Agrawal <[email protected]> +S: Supported F: drivers/crypto/dpaa2_sec/ F: doc/guides/cryptodevs/dpaa2_sec.rst F: doc/guides/cryptodevs/features/dpaa2_sec.ini OpenSSL M: Kai Ji <[email protected]> +S: Supported F: drivers/crypto/openssl/ F: doc/guides/cryptodevs/openssl.rst F: doc/guides/cryptodevs/features/openssl.ini Virtio M: Jay Zhou <[email protected]> +S: Supported F: drivers/crypto/virtio/ F: doc/guides/cryptodevs/virtio.rst F: doc/guides/cryptodevs/features/virtio.ini
@@ -1198,31 +1366,37 @@ F: doc/guides/cryptodevs/features/virtio.ini Compression Drivers ------------------- +S: Maintained T: git://dpdk.org/next/dpdk-next-crypto Cavium OCTEON TX zipvf M: Ashish Gupta <[email protected]> +S: Supported F: drivers/compress/octeontx/ F: doc/guides/compressdevs/octeontx.rst F: doc/guides/compressdevs/features/octeontx.ini Intel QuickAssist M: Kai Ji <[email protected]> +S: Supported F: drivers/compress/qat/ F: drivers/common/qat/ ISA-L M: Lee Daly <[email protected]> +S: Supported F: drivers/compress/isal/ F: doc/guides/compressdevs/isal.rst F: doc/guides/compressdevs/features/isal.ini NVIDIA mlx5 M: Matan Azrad <[email protected]> +S: Supported F: drivers/compress/mlx5/ ZLIB M: Sunila Sahu <[email protected]> +S: Supported F: drivers/compress/zlib/ F: doc/guides/compressdevs/zlib.rst F: doc/guides/compressdevs/features/zlib.ini
@@ -1234,34 +1408,40 @@ DMAdev Drivers Intel IDXD - EXPERIMENTAL M: Bruce Richardson <[email protected]> M: Kevin Laatz <[email protected]> +S: Supported F: drivers/dma/idxd/ F: doc/guides/dmadevs/idxd.rst Intel IOAT M: Bruce Richardson <[email protected]> M: Conor Walsh <[email protected]> +S: Supported F: drivers/dma/ioat/ F: doc/guides/dmadevs/ioat.rst HiSilicon DMA M: Chengwen Feng <[email protected]> +S: Supported F: drivers/dma/hisilicon/ F: doc/guides/dmadevs/hisilicon.rst Marvell CNXK DPI DMA M: Vamsi Attunuru <[email protected]> +S: Supported F: drivers/dma/cnxk/ F: doc/guides/dmadevs/cnxk.rst NXP DPAA DMA M: Gagandeep Singh <[email protected]> M: Sachin Saxena <[email protected]> +S: Supported F: drivers/dma/dpaa/ F: doc/guides/dmadevs/dpaa.rst NXP DPAA2 QDMA M: Gagandeep Singh <[email protected]> M: Hemant Agrawal <[email protected]> +S: Supported F: drivers/dma/dpaa2/ F: doc/guides/dmadevs/dpaa2.rst
@@ -1271,12 +1451,14 @@ RegEx Drivers Marvell OCTEON CN9K regex M: Liron Himi <[email protected]> +S: Supported F: drivers/regex/cn9k/ F: doc/guides/regexdevs/cn9k.rst F: doc/guides/regexdevs/features/cn9k.ini NVIDIA mlx5 M: Ori Kam <[email protected]> +S: Supported F: drivers/regex/mlx5/ F: doc/guides/regexdevs/mlx5.rst F: doc/guides/regexdevs/features/mlx5.ini
@@ -1287,6 +1469,7 @@ MLdev Drivers Marvell ML CNXK M: Srikanth Yalavarthi <[email protected]> +S: Supported F: drivers/common/cnxk/hw/ml.h F: drivers/common/cnxk/roc_ml* F: drivers/ml/cnxk/
@@ -1299,6 +1482,7 @@ T: git://dpdk.org/next/dpdk-next-virtio Intel ifc M: Xiao Wang <[email protected]> +S: Supported F: drivers/vdpa/ifc/ F: doc/guides/vdpadevs/ifc.rst F: doc/guides/vdpadevs/features/ifcvf.ini
@@ -1306,12 +1490,14 @@ F: doc/guides/vdpadevs/features/ifcvf.ini NVIDIA mlx5 vDPA M: Matan Azrad <[email protected]> M: Viacheslav Ovsiienko <[email protected]> +S: Supported F: drivers/vdpa/mlx5/ F: doc/guides/vdpadevs/mlx5.rst F: doc/guides/vdpadevs/features/mlx5.ini Xilinx sfc vDPA M: Vijay Kumar Srivastava <[email protected]> +S: Supported F: drivers/vdpa/sfc/ F: doc/guides/vdpadevs/sfc.rst F: doc/guides/vdpadevs/features/sfc.ini
@@ -1320,42 +1506,50 @@ F: doc/guides/vdpadevs/features/sfc.ini Eventdev Drivers ---------------- M: Jerin Jacob <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-eventdev Cavium OCTEON TX ssovf M: Jerin Jacob <[email protected]> +S: Supported F: drivers/event/octeontx/ F: doc/guides/eventdevs/octeontx.rst Cavium OCTEON TX timvf M: Pavan Nikhilesh <[email protected]> +S: Supported F: drivers/event/octeontx/timvf_* Intel DLB2 M: Timothy McDaniel <[email protected]> +S: Supported F: drivers/event/dlb2/ F: doc/guides/eventdevs/dlb2.rst Marvell cnxk M: Pavan Nikhilesh <[email protected]> M: Shijith Thotton <[email protected]> +S: Supported F: drivers/event/cnxk/ F: doc/guides/eventdevs/cnxk.rst NXP DPAA eventdev M: Hemant Agrawal <[email protected]> M: Sachin Saxena <[email protected]> +S: Supported F: drivers/event/dpaa/ F: doc/guides/eventdevs/dpaa.rst NXP DPAA2 eventdev M: Hemant Agrawal <[email protected]> M: Sachin Saxena <[email protected]> +S: Supported F: drivers/event/dpaa2/ F: doc/guides/eventdevs/dpaa2.rst Software Eventdev PMD M: Harry van Haaren <[email protected]> +S: Supported F: drivers/event/sw/ F: doc/guides/eventdevs/sw.rst F: examples/eventdev_pipeline/
@@ -1363,11 +1557,13 @@ F: doc/guides/sample_app_ug/eventdev_pipeline.rst Distributed Software Eventdev PMD M: Mattias Rönnblom <[email protected]> +S: Supported F: drivers/event/dsw/ F: doc/guides/eventdevs/dsw.rst Software OPDL Eventdev PMD M: Liang Ma <[email protected]> +S: Supported M: Peter Mccarthy <[email protected]> F: drivers/event/opdl/ F: doc/guides/eventdevs/opdl.rst
@@ -1378,6 +1574,7 @@ Baseband Drivers Intel baseband M: Nicolas Chautru <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-baseband F: drivers/baseband/turbo_sw/ F: doc/guides/bbdevs/turbo_sw.rst
@@ -1397,6 +1594,7 @@ F: doc/guides/bbdevs/features/vrb1.ini Null baseband M: Nicolas Chautru <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-baseband F: drivers/baseband/null/ F: doc/guides/bbdevs/null.rst
@@ -1405,6 +1603,7 @@ F: doc/guides/bbdevs/features/null.ini NXP LA12xx M: Gagandeep Singh <[email protected]> M: Hemant Agrawal <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-baseband F: drivers/baseband/la12xx/ F: doc/guides/bbdevs/la12xx.rst
@@ -1416,6 +1615,7 @@ GPU Drivers NVIDIA CUDA M: Elena Agostini <[email protected]> +S: Supported F: drivers/gpu/cuda/ F: doc/guides/gpus/cuda.rst
@@ -1426,6 +1626,7 @@ Rawdev Drivers Intel FPGA M: Rosen Xu <[email protected]> M: Tianfei zhang <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-net-intel F: drivers/raw/ifpga/ F: doc/guides/rawdevs/ifpga.rst
@@ -1433,18 +1634,21 @@ F: doc/guides/rawdevs/ifpga.rst Marvell CNXK BPHY M: Jakub Palider <[email protected]> M: Tomasz Duszynski <[email protected]> +S: Supported F: doc/guides/rawdevs/cnxk_bphy.rst F: drivers/raw/cnxk_bphy/ Marvell CNXK GPIO M: Jakub Palider <[email protected]> M: Tomasz Duszynski <[email protected]> +S: Supported F: doc/guides/rawdevs/cnxk_gpio.rst F: drivers/raw/cnxk_gpio/ NTB M: Jingjing Wu <[email protected]> M: Junfeng Guo <[email protected]> +S: Supported F: drivers/raw/ntb/ F: doc/guides/rawdevs/ntb.rst F: examples/ntb/
@@ -1452,6 +1656,7 @@ F: doc/guides/sample_app_ug/ntb.rst NXP DPAA2 CMDIF M: Gagandeep Singh <[email protected]> +S: Supported F: drivers/raw/dpaa2_cmdif/ F: doc/guides/rawdevs/dpaa2_cmdif.rst
@@ -1461,12 +1666,14 @@ Packet processing Network headers M: Olivier Matz <[email protected]> +S: Supported F: lib/net/ F: app/test/test_cksum.c F: app/test/test_cksum_perf.c Packet CRC M: Jasvinder Singh <[email protected]> +S: Supported F: lib/net/net_crc.h F: lib/net/rte_net_crc* F: lib/net/net_crc_avx512.c
@@ -1475,6 +1682,7 @@ F: app/test/test_crc.c IP fragmentation & reassembly M: Konstantin Ananyev <[email protected]> +S: Supported F: lib/ip_frag/ F: doc/guides/prog_guide/ip_fragment_reassembly_lib.rst F: app/test/test_ipfrag.c
@@ -1486,16 +1694,19 @@ F: doc/guides/sample_app_ug/ip_reassembly.rst Generic Receive Offload - EXPERIMENTAL M: Jiayu Hu <[email protected]> +S: Supported F: lib/gro/ F: doc/guides/prog_guide/generic_receive_offload_lib.rst Generic Segmentation Offload M: Jiayu Hu <[email protected]> +S: Supported F: lib/gso/ F: doc/guides/prog_guide/generic_segmentation_offload_lib.rst IPsec M: Konstantin Ananyev <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-crypto F: lib/ipsec/ F: app/test/test_ipsec*
@@ -1506,12 +1717,14 @@ F: app/test-sad/ PDCP - EXPERIMENTAL M: Anoob Joseph <[email protected]> M: Volodymyr Fialko <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-crypto F: lib/pdcp/ F: doc/guides/prog_guide/pdcp_lib.rst F: app/test/test_pdcp* Flow Classify - EXPERIMENTAL - UNMAINTAINED +S: Orphan F: lib/flow_classify/ F: app/test/test_flow_classify* F: doc/guides/prog_guide/flow_classify_lib.rst
@@ -1520,6 +1733,7 @@ F: doc/guides/sample_app_ug/flow_classify.rst Distributor M: David Hunt <[email protected]> +S: Supported F: lib/distributor/ F: doc/guides/prog_guide/packet_distrib_lib.rst F: app/test/test_distributor*
@@ -1528,6 +1742,7 @@ F: doc/guides/sample_app_ug/dist_app.rst Reorder M: Volodymyr Fialko <[email protected]> +S: Supported F: lib/reorder/ F: doc/guides/prog_guide/reorder_lib.rst F: app/test/test_reorder*
@@ -1536,6 +1751,7 @@ F: doc/guides/sample_app_ug/packet_ordering.rst Hierarchical scheduler M: Cristian Dumitrescu <[email protected]> +S: Supported F: lib/sched/ F: doc/guides/prog_guide/qos_framework.rst F: app/test/test_pie.c
@@ -1547,6 +1763,7 @@ F: doc/guides/sample_app_ug/qos_scheduler.rst Packet capture M: Reshma Pattan <[email protected]> M: Stephen Hemminger <[email protected]> +S: Maintained F: lib/pdump/ F: doc/guides/prog_guide/pdump_lib.rst F: app/test/test_pdump.*
@@ -1562,6 +1779,7 @@ F: doc/guides/tools/dumpcap.rst Packet Framework ---------------- M: Cristian Dumitrescu <[email protected]> +S: Obsolete F: lib/pipeline/ F: lib/port/ F: lib/table/
@@ -1579,6 +1797,7 @@ Algorithms ACL M: Konstantin Ananyev <[email protected]> +S: Supported F: lib/acl/ F: doc/guides/prog_guide/packet_classif_access_ctrl.rst F: app/test-acl/
@@ -1587,6 +1806,7 @@ F: app/test/test_acl.* EFD M: Byron Marohn <[email protected]> M: Yipeng Wang <[email protected]> +S: Supported F: lib/efd/ F: doc/guides/prog_guide/efd_lib.rst F: app/test/test_efd*
@@ -1598,6 +1818,7 @@ M: Yipeng Wang <[email protected]> M: Sameh Gobriel <[email protected]> M: Bruce Richardson <[email protected]> M: Vladimir Medvedkin <[email protected]> +S: Supported F: lib/hash/ F: doc/guides/prog_guide/hash_lib.rst F: doc/guides/prog_guide/toeplitz_hash_lib.rst
@@ -1607,6 +1828,7 @@ F: app/test/test_func_reentrancy.c LPM M: Bruce Richardson <[email protected]> M: Vladimir Medvedkin <[email protected]> +S: Supported F: lib/lpm/ F: doc/guides/prog_guide/lpm* F: app/test/test_lpm*
@@ -1616,12 +1838,14 @@ F: app/test/test_xmmt_ops.h Membership - EXPERIMENTAL M: Yipeng Wang <[email protected]> M: Sameh Gobriel <[email protected]> +S: Supported F: lib/member/ F: doc/guides/prog_guide/member_lib.rst F: app/test/test_member* RIB/FIB M: Vladimir Medvedkin <[email protected]> +S: Supported F: lib/rib/ F: app/test/test_rib* F: lib/fib/
@@ -1630,6 +1854,7 @@ F: app/test-fib/ Traffic metering M: Cristian Dumitrescu <[email protected]> +S: Supported F: lib/meter/ F: doc/guides/sample_app_ug/qos_scheduler.rst F: app/test/test_meter.c
@@ -1642,12 +1867,14 @@ Other libraries Configuration file M: Cristian Dumitrescu <[email protected]> +S: Supported F: lib/cfgfile/ F: app/test/test_cfgfile.c F: app/test/test_cfgfiles/ Interactive command line M: Olivier Matz <[email protected]> +S: Supported F: lib/cmdline/ F: app/test-cmdline/ F: app/test/test_cmdline*
@@ -1656,11 +1883,13 @@ F: doc/guides/sample_app_ug/cmd_line.rst Key/Value parsing M: Olivier Matz <[email protected]> +S: Supported F: lib/kvargs/ F: app/test/test_kvargs.c RCU M: Honnappa Nagarahalli <[email protected]> +S: Supported F: lib/rcu/ F: app/test/test_rcu* F: doc/guides/prog_guide/rcu_lib.rst
@@ -1668,11 +1897,13 @@ F: doc/guides/prog_guide/rcu_lib.rst PCI M: Chenbo Xia <[email protected]> M: Gaetan Rivet <[email protected]> +S: Supported F: lib/pci/ Power management M: Anatoly Burakov <[email protected]> M: David Hunt <[email protected]> +S: Supported F: lib/power/ F: doc/guides/prog_guide/power_man.rst F: app/test/test_power*
@@ -1683,6 +1914,7 @@ F: doc/guides/sample_app_ug/vm_power_management.rst Timers M: Erik Gabriel Carrillo <[email protected]> +S: Supported F: lib/timer/ F: doc/guides/prog_guide/timer_lib.rst F: app/test/test_timer*
@@ -1690,25 +1922,30 @@ F: examples/timer/ F: doc/guides/sample_app_ug/timer.rst Job statistics +S: Orphan F: lib/jobstats/ F: examples/l2fwd-jobstats/ F: doc/guides/sample_app_ug/l2_forward_job_stats.rst Metrics +S: Orphan F: lib/metrics/ F: app/test/test_metrics.c Bit-rate statistics +S: Orphan F: lib/bitratestats/ F: app/test/test_bitratestats.c Latency statistics M: Reshma Pattan <[email protected]> +S: Supported F: lib/latencystats/ F: app/test/test_latencystats.c Telemetry M: Ciara Power <[email protected]> +S: Supported F: lib/telemetry/ F: app/test/test_telemetry* F: usertools/dpdk-telemetry*
@@ -1716,6 +1953,7 @@ F: doc/guides/howto/telemetry.rst BPF M: Konstantin Ananyev <[email protected]> +S: Supported F: lib/bpf/ F: examples/bpf/ F: app/test/test_bpf.c
@@ -1727,6 +1965,7 @@ M: Jerin Jacob <[email protected]> M: Kiran Kumar K <[email protected]> M: Nithin Dabilpuram <[email protected]> M: Zhirun Yan <[email protected]> +S: Supported F: lib/graph/ F: doc/guides/prog_guide/graph_lib.rst F: app/test/test_graph*
@@ -1736,6 +1975,7 @@ F: doc/guides/sample_app_ug/l3_forward_graph.rst Nodes - EXPERIMENTAL M: Nithin Dabilpuram <[email protected]> M: Pavan Nikhilesh <[email protected]> +S: Supported F: lib/node/
@@ -1743,6 +1983,7 @@ Test Applications ----------------- Unit tests framework +S: Maintained F: app/test/commands.c F: app/test/has_hugepage.py F: app/test/packet_burst_generator.c
@@ -1758,45 +1999,53 @@ F: app/test/virtual_pmd.h Sample packet helper functions for unit test M: Reshma Pattan <[email protected]> +S: Supported F: app/test/sample_packet_forward.c F: app/test/sample_packet_forward.h Networking drivers testing tool M: Aman Singh <[email protected]> M: Yuying Zhang <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-net F: app/test-pmd/ F: doc/guides/testpmd_app_ug/ DMA device performance tool M: Cheng Jiang <[email protected]> +S: Supported F: app/test-dma-perf/ F: doc/guides/tools/dmaperf.rst Flow performance tool M: Wisam Jaddo <[email protected]> +S: Supported F: app/test-flow-perf/ F: doc/guides/tools/flow-perf.rst Security performance tool M: Anoob Joseph <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-crypto F: app/test-security-perf/ F: doc/guides/tools/securityperf.rst Compression performance test application T: git://dpdk.org/next/dpdk-next-crypto +S: Orphan F: app/test-compress-perf/ F: doc/guides/tools/comp_perf.rst Crypto performance test application M: Ciara Power <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-crypto F: app/test-crypto-perf/ F: doc/guides/tools/cryptoperf.rst Eventdev test application M: Jerin Jacob <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-eventdev F: app/test-eventdev/ F: doc/guides/tools/testeventdev.rst
@@ -1805,12 +2054,14 @@ F: app/test/test_event_ring.c Procinfo tool M: Reshma Pattan <[email protected]> +S: Supported F: app/proc-info/ F: doc/guides/tools/proc_info.rst DTS M: Lijuan Tu <[email protected]> M: Juraj Linkeš <[email protected]> +S: Supported F: dts/ F: devtools/dts-check-format.sh F: doc/guides/tools/dts.rst
@@ -1820,77 +2071,92 @@ Other Example Applications -------------------------- Ethtool example +S: Orphan F: examples/ethtool/ F: doc/guides/sample_app_ug/ethtool.rst FIPS validation example M: Brian Dooley <[email protected]> M: Gowrishankar Muthukrishnan <[email protected]> +S: Supported F: examples/fips_validation/ F: doc/guides/sample_app_ug/fips_validation.rst Flow filtering example M: Ori Kam <[email protected]> +S: Supported F: examples/flow_filtering/ F: doc/guides/sample_app_ug/flow_filtering.rst Helloworld example M: Bruce Richardson <[email protected]> +S: Supported F: examples/helloworld/ F: doc/guides/sample_app_ug/hello_world.rst IPsec security gateway example M: Radu Nicolau <[email protected]> M: Akhil Goyal <[email protected]> +S: Supported F: examples/ipsec-secgw/ F: doc/guides/sample_app_ug/ipsec_secgw.rst IPv4 multicast example +S: Orphan F: examples/ipv4_multicast/ F: doc/guides/sample_app_ug/ipv4_multicast.rst L2 forwarding example M: Bruce Richardson <[email protected]> +S: Supported F: examples/l2fwd/ F: doc/guides/sample_app_ug/l2_forward_real_virtual.rst L2 forwarding with cache allocation example M: Tomasz Kantecki <[email protected]> +S: Supported F: doc/guides/sample_app_ug/l2_forward_cat.rst F: examples/l2fwd-cat/ L2 forwarding with eventdev example M: Sunil Kumar Kori <[email protected]> M: Pavan Nikhilesh <[email protected]> +S: Supported T: git://dpdk.org/next/dpdk-next-eventdev F: examples/l2fwd-event/ F: doc/guides/sample_app_ug/l2_forward_event.rst L3 forwarding example +S: Maintained F: examples/l3fwd/ F: doc/guides/sample_app_ug/l3_forward.rst Link status interrupt example +S: Maintained F: examples/link_status_interrupt/ F: doc/guides/sample_app_ug/link_status_intr.rst PTP client example M: Kirill Rybalchenko <[email protected]> +S: Supported F: examples/ptpclient/ Rx/Tx callbacks example M: Bruce Richardson <[email protected]> M: John McNamara <[email protected]> +S: Supported F: examples/rxtx_callbacks/ F: doc/guides/sample_app_ug/rxtx_callbacks.rst Skeleton example M: Bruce Richardson <[email protected]> M: John McNamara <[email protected]> +S: Supported F: examples/skeleton/ F: doc/guides/sample_app_ug/skeleton.rst VMDq examples +S: Orphan F: examples/vmdq/ F: doc/guides/sample_app_ug/vmdq_forwarding.rst F: examples/vmdq_dcb/
Signature · 1 line
2.39.2
PATCH v2 1/1 tap: fix build of TAP BPF program
In reply to Stephen HemmingerThe code was depending on old versions of headers from iproute2. Include those headers here so that build works.
The standalone build was also broken because by
commit ef5baf3486e0 ("replace packed attributes")
which introduced __rte_packed into this code.
This patch does not address several other issues with this BPF code. It should be using BTF and the conversion into array is a mess.
--- drivers/net/tap/bpf_api.h | 261 ++++++++++++++++++++++++++++++ drivers/net/tap/bpf_elf.h | 43 +++++ drivers/net/tap/tap_bpf_program.c | 14 +- drivers/net/tap/tap_rss.h | 2 +- 4 files changed, 316 insertions(+), 4 deletions(-) create mode 100644 drivers/net/tap/bpf_api.h create mode 100644 drivers/net/tap/bpf_elf.h
drivers/net/tap/bpf_api.h new file +261 -0
@@ -0,0 +1,261 @@ +#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 <stdint.h> + +#include <linux/pkt_cls.h> +#include <linux/bpf.h> +#include <linux/filter.h> + +#include <asm/byteorder.h> + +#include "bpf_elf.h" + +/** 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 useable 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__ */
drivers/net/tap/bpf_elf.h new file +43 -0
43 lines not on this page · raw message
drivers/net/tap/tap_bpf_program.c +11 -3
@@ -1,5 +1,12 @@/* SPDX-License-Identifier: BSD-3-Clause OR GPL-2.0 * Copyright 2017 Mellanox Technologies, Ltd +* +* This file is not built as part of normal DPDK build. +* It is used to generate the eBPF code for TAP RSS. +* +* To build it use: +* clang -O2 -emit-llvm -c tap_bpf_program.c -o - | \ +* llc -march=bpf -filetype=obj -o tap_bpf_program.o */ #include <stdint.h>
@@ -14,8 +21,9 @@#include <linux/ipv6.h> #include <linux/if_tunnel.h> #include <linux/filter.h> -#include <linux/bpf.h> +#include "bpf_api.h" +#include "bpf_elf.h" #include "tap_rss.h" /** Create IPv4 address */
@@ -75,14 +83,14 @@ struct ipv4_l3_l4_tuple {__u32 dst_addr;__u16 dport;__u16 sport; -} __rte_packed; +} __attribute__((packed));struct ipv6_l3_l4_tuple {__u8 src_addr[16 ];__u8 dst_addr[16 ];__u16 dport;__u16 sport; -} __rte_packed; +} __attribute__((packed));static const __u8 def_rss_key[TAP_RSS_HASH_KEY_SIZE ] = {0xd1 ,0x81 ,0xc6 ,0x2c ,
drivers/net/tap/tap_rss.h +1 -1
@@ -35,6 +35,6 @@ struct rss_key {__u32 key_size;__u32 queues[TAP_MAX_QUEUES ];__u32 nb_queues; -} __rte_packed; +} __attribute__((packed));#endif /* _TAP_RSS_H_ */
Signature · 1 line
2.39.2
PATCH v3 1/1 tap: fix build of TAP BPF program
In reply to Stephen HemmingerMove the BPF program related code into a subdirectory. And add a Makefile for building it.
The code was depending on old versions of headers from iproute2. Include those headers here so that build works.
The standalone build was also broken because by
commit ef5baf3486e0 ("replace packed attributes")
which introduced __rte_packed into this code.
Add a python program to extract the resulting BPF into a format that can be consumed by the TAP driver.
Update the documentation.
---
doc/guides/nics/tap.rst | 11 +-
drivers/net/tap/bpf/.gitignore | 1 +
drivers/net/tap/bpf/Makefile | 18 ++
drivers/net/tap/bpf/bpf_api.h | 261 ++++++++++++++++++++
drivers/net/tap/bpf/bpf_elf.h | 43 ++++
drivers/net/tap/bpf/bpf_extract.py | 80 ++++++
drivers/net/tap/{ => bpf}/tap_bpf_program.c | 9 +-
drivers/net/tap/tap_rss.h | 2 +-
8 files changed, 413 insertions(+), 12 deletions(-)
create mode 100644 drivers/net/tap/bpf/.gitignore
create mode 100644 drivers/net/tap/bpf/Makefile
create mode 100644 drivers/net/tap/bpf/bpf_api.h
create mode 100644 drivers/net/tap/bpf/bpf_elf.h
create mode 100644 drivers/net/tap/bpf/bpf_extract.py
rename drivers/net/tap/{ => bpf}/tap_bpf_program.c (97%)doc/guides/nics/tap.rst +4 -7
@@ -256,15 +256,12 @@ C functions under different ELF sections. 2. Install ``LLVM`` library and ``clang`` compiler versions 3.7 and above -3. Compile ``tap_bpf_program.c`` via ``LLVM`` into an object file:: +3. Use make to compile `tap_bpf_program.c`` via ``LLVM`` into an object file + and extract the resulting instructions into ``tap_bpf_insn.h``. - clang -O2 -emit-llvm -c tap_bpf_program.c -o - | llc -march=bpf \ - -filetype=obj -o <tap_bpf_program.o> + cd bpf; make - -4. Use a tool that receives two parameters: an eBPF object file and a section -name, and prints out the section as a C array of eBPF instructions. -Embed the C array in your TAP PMD tree. +4. Recompile the TAP PMD. The C arrays are uploaded to the kernel using BPF system calls.
drivers/net/tap/bpf/.gitignore new file +1 -0
@@ -0,0 +1 @@ +tap_bpf_program.o
drivers/net/tap/bpf/Makefile new file +18 -0
@@ -0,0 +1,18 @@ +# SPDX-License-Identifier: BSD-3-Clause +# This file is not built as part of normal DPDK build. +# It is used to generate the eBPF code for TAP RSS. +CLANG=clang +CLANG_OPTS=-O2 +TARGET=../tap_bpf_insns.h + +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 $@ + +$(TARGET): bpf_extract.py tap_bpf_program.o + python3 bpf_extract.py tap_bpf_program.o $@
drivers/net/tap/bpf/bpf_api.h new file +261 -0
261 lines not on this page · raw message
drivers/net/tap/bpf/bpf_elf.h new file +43 -0
43 lines not on this page · raw message
drivers/net/tap/bpf/bpf_extract.py new file +80 -0
80 lines not on this page · raw message
drivers/net/tap/bpf/tap_bpf_program.c renamed from drivers/net/tap/tap_bpf_program.c +5 -4
@@ -14,9 +14,10 @@#include <linux/ipv6.h> #include <linux/if_tunnel.h> #include <linux/filter.h> -#include <linux/bpf.h> -#include "tap_rss.h" +#include "bpf_api.h" +#include "bpf_elf.h" +#include "../tap_rss.h" /** Create IPv4 address */ #define IPv4 (a, b, c, d) ((__u32)(((a) & 0xff) << 24) | \
@@ -75,14 +76,14 @@ struct ipv4_l3_l4_tuple {__u32 dst_addr;__u16 dport;__u16 sport; -} __rte_packed; +} __attribute__((packed));struct ipv6_l3_l4_tuple {__u8 src_addr[16 ];__u8 dst_addr[16 ];__u16 dport;__u16 sport; -} __rte_packed; +} __attribute__((packed));static const __u8 def_rss_key[TAP_RSS_HASH_KEY_SIZE ] = {0xd1 ,0x81 ,0xc6 ,0x2c ,
drivers/net/tap/tap_rss.h +1 -1
@@ -35,6 +35,6 @@ struct rss_key {__u32 key_size;__u32 queues[TAP_MAX_QUEUES ];__u32 nb_queues; -} __rte_packed; +} __attribute__((packed));#endif /* _TAP_RSS_H_ */
Signature · 1 line
2.39.2
Re: [PATCH v3] tap: fix build of TAP BPF program
Quoted 6 lines · Stephen Hemminger
Move the BPF program related code into a subdirectory. And add a
Makefilefor building it.The code was depending on old versions of headers from iproute2. Include those headers here so that build works.
Thanks Stephen, build works now.
But I am not sure about importing dependent headers to DPDK, could build work with latest external headers if application updated accordingly?
Quoted 10 lines
The standalone build was also broken because by
commitef5baf3486e0("replace packed attributes")
which introduced__rte_packedinto this code.Add a python program to extract the resulting BPF into a format that can be consumed by the TAP driver.
Update the documentation.
Signed-off-by Stephen Hemminger <[email protected]>
<...>
drivers/net/tap/bpf/bpf_api.h line 3
Quoted 6 lines
drivers/net/tap/bpf/bpf_api.h new file +3
-0@@ -0,0 +1,261 @@ +#ifndef __BPF_API__ +#define __BPF_API__ +
What should be License and Copyright of these files? Same for all imported headers.
Re: [PATCH v3] tap: fix build of TAP BPF program
Quoted 11 lines · On Fri, 21 Jul 2023 14:05:52 +0100 Ferruh Yigit <[email protected]> wrote:
Quoted 6 lines · Stephen Hemminger
Move the BPF program related code into a subdirectory. And add a
Makefilefor building it.The code was depending on old versions of headers from iproute2. Include those headers here so that build works.
Thanks Stephen, build works now.
But I am not sure about importing dependent headers to DPDK, could build work with latest external headers if application updated accordingly?
These are not exported headers, it looks like Ophir was extracting them from iproute2. The headers are GPL-2.0 licensed; though just asked Daniel to allow BSD-3-clause version.
Not much is being used so we could just open code the parts that are used.
Re: [PATCH v3] tap: fix build of TAP BPF program
In reply to Stephen HemmingerQuoted 10 lines · On Thu, 20 Jul 2023 16:25:49 -0700 Stephen Hemminger…
Move the BPF program related code into a subdirectory. And add a
Makefilefor building it.The code was depending on old versions of headers from iproute2. Include those headers here so that build works.
The standalone build was also broken because by
commitef5baf3486e0("replace packed attributes")
which introduced__rte_packedinto this code.
Quoted 6 lines
Add a python program to extract the resulting BPF into a format that can be consumed by the TAP driver.
Update the documentation.
Signed-off-by Stephen Hemminger <[email protected]>
Note: there are a couple of bogus checkpatch warnings from this. The tap_bpf_program is not a regular DPDK library so it doesn't use the DPDK macros. And the bpf_api.h and bpf_elf.h are from iproute2 upstream and won't conform to DPDK checkpatch requirements.
Re: [PATCH v3] tap: fix build of TAP BPF program
In reply to Stephen HemmingerQuoted 10 lines · On Thu, 20 Jul 2023 16:25:49 -0700 Stephen Hemminger…
Move the BPF program related code into a subdirectory. And add a
Makefilefor building it.The code was depending on old versions of headers from iproute2. Include those headers here so that build works.
The standalone build was also broken because by
commitef5baf3486e0("replace packed attributes")
which introduced__rte_packedinto this code.
Quoted 6 lines
Add a python program to extract the resulting BPF into a format that can be consumed by the TAP driver.
Update the documentation.
Signed-off-by Stephen Hemminger <[email protected]>
Some backstory notes:
0. No longer work for Microsoft, so don't have Azure/Failsafe/TAP setup. Therefore compile tested only.
1. Went down this rabbit hole while trying to clear some of the DPDK patch backlog, and ran into this one fix for RSS on fragmented packets
https://patchwork.dpdk.org/project/dpdk/patch/[email protected]/
2. This version of patch only makes the BPF program build. It does not change the BPF program used currently by TAP device.
3. Doing build will change the bpf program since clang is probably optimizing more now.
Bottom line:
Merging the patch won't fix the RSS bug, it won't change the current TAP device behavior (same BPF). But it will allow for easier later fix in next release.
PATCH v4 1/1 tap: fix build of TAP BPF program
In reply to Stephen HemmingerMove the BPF program related code into a subdirectory. And add a Makefile for building it.
The code depends on include files from iproute2. But these are not public headers which iproute2 exports as a package API. Therefore make a local copy here.
The standalone build was also broken because by
commit ef5baf3486e0 ("replace packed attributes")
which introduced __rte_packed into this code.
Add a python program to extract the resulting BPF into a format that can be consumed by the TAP driver.
Update the documentation.
---
v4 - update bpf_api.h and bpf_elf.h with SPDK headers from upstream
doc/guides/nics/tap.rst | 11 +-
drivers/net/tap/bpf/.gitignore | 1 +
drivers/net/tap/bpf/Makefile | 18 ++
drivers/net/tap/bpf/bpf_api.h | 275 ++++++++++++++++++++
drivers/net/tap/bpf/bpf_elf.h | 53 ++++
drivers/net/tap/bpf/bpf_extract.py | 80 ++++++
drivers/net/tap/{ => bpf}/tap_bpf_program.c | 9 +-
drivers/net/tap/tap_rss.h | 2 +-
8 files changed, 437 insertions(+), 12 deletions(-)
create mode 100644 drivers/net/tap/bpf/.gitignore
create mode 100644 drivers/net/tap/bpf/Makefile
create mode 100644 drivers/net/tap/bpf/bpf_api.h
create mode 100644 drivers/net/tap/bpf/bpf_elf.h
create mode 100644 drivers/net/tap/bpf/bpf_extract.py
rename drivers/net/tap/{ => bpf}/tap_bpf_program.c (97%)doc/guides/nics/tap.rst +4 -7
@@ -256,15 +256,12 @@ C functions under different ELF sections. 2. Install ``LLVM`` library and ``clang`` compiler versions 3.7 and above -3. Compile ``tap_bpf_program.c`` via ``LLVM`` into an object file:: +3. Use make to compile `tap_bpf_program.c`` via ``LLVM`` into an object file + and extract the resulting instructions into ``tap_bpf_insn.h``. - clang -O2 -emit-llvm -c tap_bpf_program.c -o - | llc -march=bpf \ - -filetype=obj -o <tap_bpf_program.o> + cd bpf; make - -4. Use a tool that receives two parameters: an eBPF object file and a section -name, and prints out the section as a C array of eBPF instructions. -Embed the C array in your TAP PMD tree. +4. Recompile the TAP PMD. The C arrays are uploaded to the kernel using BPF system calls.
drivers/net/tap/bpf/.gitignore new file +1 -0
@@ -0,0 +1 @@ +tap_bpf_program.o
drivers/net/tap/bpf/Makefile new file +18 -0
@@ -0,0 +1,18 @@ +# SPDX-License-Identifier: BSD-3-Clause +# This file is not built as part of normal DPDK build. +# It is used to generate the eBPF code for TAP RSS. +CLANG=clang +CLANG_OPTS=-O2 +TARGET=../tap_bpf_insns.h + +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 $@ + +$(TARGET): bpf_extract.py tap_bpf_program.o + python3 bpf_extract.py tap_bpf_program.o $@
drivers/net/tap/bpf/bpf_api.h new file +275 -0
275 lines not on this page · raw message
drivers/net/tap/bpf/bpf_elf.h new file +53 -0
53 lines not on this page · raw message
drivers/net/tap/bpf/bpf_extract.py new file +80 -0
80 lines not on this page · raw message
drivers/net/tap/bpf/tap_bpf_program.c renamed from drivers/net/tap/tap_bpf_program.c +5 -4
@@ -14,9 +14,10 @@#include <linux/ipv6.h> #include <linux/if_tunnel.h> #include <linux/filter.h> -#include <linux/bpf.h> -#include "tap_rss.h" +#include "bpf_api.h" +#include "bpf_elf.h" +#include "../tap_rss.h" /** Create IPv4 address */ #define IPv4 (a, b, c, d) ((__u32)(((a) & 0xff) << 24) | \
@@ -75,14 +76,14 @@ struct ipv4_l3_l4_tuple {__u32 dst_addr;__u16 dport;__u16 sport; -} __rte_packed; +} __attribute__((packed));struct ipv6_l3_l4_tuple {__u8 src_addr[16 ];__u8 dst_addr[16 ];__u16 dport;__u16 sport; -} __rte_packed; +} __attribute__((packed));static const __u8 def_rss_key[TAP_RSS_HASH_KEY_SIZE ] = {0xd1 ,0x81 ,0xc6 ,0x2c ,
drivers/net/tap/tap_rss.h +1 -1
@@ -35,6 +35,6 @@ struct rss_key {__u32 key_size;__u32 queues[TAP_MAX_QUEUES ];__u32 nb_queues; -} __rte_packed; +} __attribute__((packed));#endif /* _TAP_RSS_H_ */
Signature · 1 line
2.39.2
cover net/tap: update and fix the BPF program
In reply to Stephen HemmingerUpdate the documentation and tools to build the BPF program used by tap device. And apply fix to the RSS algorithm to correctly handle non-IP protocols.
Madhuker Mythri (1):
net/tap: Fixed RSS algorithm to support fragmented packets
Stephen Hemminger (2):
net/tap: support infrastructure to build the BPF filter net/tap; rebuild and update the BPF flow program
doc/guides/nics/tap.rst | 11 +-
drivers/net/tap/bpf/.gitignore | 1 +
drivers/net/tap/bpf/Makefile | 18 +
drivers/net/tap/bpf/bpf_api.h | 275 ++
drivers/net/tap/bpf/bpf_elf.h | 53 +
drivers/net/tap/bpf/bpf_extract.py | 80 +
drivers/net/tap/{ => bpf}/tap_bpf_program.c | 56 +-
drivers/net/tap/tap_bpf_insns.h | 2992 ++++++++++---------
drivers/net/tap/tap_rss.h | 2 +-
9 files changed, 1995 insertions(+), 1493 deletions(-)
create mode 100644 drivers/net/tap/bpf/.gitignore
create mode 100644 drivers/net/tap/bpf/Makefile
create mode 100644 drivers/net/tap/bpf/bpf_api.h
create mode 100644 drivers/net/tap/bpf/bpf_elf.h
create mode 100644 drivers/net/tap/bpf/bpf_extract.py
rename drivers/net/tap/{ => bpf}/tap_bpf_program.c (79%)Signature · 1 line
2.41.0
PATCH 1/3 net/tap: support infrastructure to build the BPF filter
Move the BPF program related code into a subdirectory. And add a Makefile for building it.
The code depends on include files from iproute2. But these are not public headers which iproute2 exports as a package API. Therefore make a local copy here.
The standalone build was also broken because by
commit ef5baf3486e0 ("replace packed attributes")
which introduced __rte_packed into this code.
Add a python program to extract the resulting BPF into a format that can be consumed by the TAP driver.
Update the documentation.
---
doc/guides/nics/tap.rst | 11 +-
drivers/net/tap/bpf/.gitignore | 1 +
drivers/net/tap/bpf/Makefile | 18 ++
drivers/net/tap/bpf/bpf_api.h | 275 ++++++++++++++++++++
drivers/net/tap/bpf/bpf_elf.h | 53 ++++
drivers/net/tap/bpf/bpf_extract.py | 80 ++++++
drivers/net/tap/{ => bpf}/tap_bpf_program.c | 9 +-
drivers/net/tap/tap_rss.h | 2 +-
8 files changed, 437 insertions(+), 12 deletions(-)
create mode 100644 drivers/net/tap/bpf/.gitignore
create mode 100644 drivers/net/tap/bpf/Makefile
create mode 100644 drivers/net/tap/bpf/bpf_api.h
create mode 100644 drivers/net/tap/bpf/bpf_elf.h
create mode 100644 drivers/net/tap/bpf/bpf_extract.py
rename drivers/net/tap/{ => bpf}/tap_bpf_program.c (97%)doc/guides/nics/tap.rst +4 -7
@@ -256,15 +256,12 @@ C functions under different ELF sections. 2. Install ``LLVM`` library and ``clang`` compiler versions 3.7 and above -3. Compile ``tap_bpf_program.c`` via ``LLVM`` into an object file:: +3. Use make to compile `tap_bpf_program.c`` via ``LLVM`` into an object file + and extract the resulting instructions into ``tap_bpf_insn.h``. - clang -O2 -emit-llvm -c tap_bpf_program.c -o - | llc -march=bpf \ - -filetype=obj -o <tap_bpf_program.o> + cd bpf; make - -4. Use a tool that receives two parameters: an eBPF object file and a section -name, and prints out the section as a C array of eBPF instructions. -Embed the C array in your TAP PMD tree. +4. Recompile the TAP PMD. The C arrays are uploaded to the kernel using BPF system calls.
drivers/net/tap/bpf/.gitignore new file +1 -0
@@ -0,0 +1 @@ +tap_bpf_program.o
drivers/net/tap/bpf/Makefile new file +18 -0
@@ -0,0 +1,18 @@ +# SPDX-License-Identifier: BSD-3-Clause +# This file is not built as part of normal DPDK build. +# It is used to generate the eBPF code for TAP RSS. +CLANG=clang +CLANG_OPTS=-O2 +TARGET=../tap_bpf_insns.h + +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 $@ + +$(TARGET): bpf_extract.py tap_bpf_program.o + python3 bpf_extract.py tap_bpf_program.o $@
drivers/net/tap/bpf/bpf_api.h new file +275 -0
275 lines not on this page · raw message
drivers/net/tap/bpf/bpf_elf.h new file +53 -0
53 lines not on this page · raw message
drivers/net/tap/bpf/bpf_extract.py new file +80 -0
80 lines not on this page · raw message
drivers/net/tap/bpf/tap_bpf_program.c renamed from drivers/net/tap/tap_bpf_program.c +5 -4
@@ -14,9 +14,10 @@#include <linux/ipv6.h> #include <linux/if_tunnel.h> #include <linux/filter.h> -#include <linux/bpf.h> -#include "tap_rss.h" +#include "bpf_api.h" +#include "bpf_elf.h" +#include "../tap_rss.h" /** Create IPv4 address */ #define IPv4 (a, b, c, d) ((__u32)(((a) & 0xff) << 24) | \
@@ -75,14 +76,14 @@ struct ipv4_l3_l4_tuple {__u32 dst_addr;__u16 dport;__u16 sport; -} __rte_packed; +} __attribute__((packed));struct ipv6_l3_l4_tuple {__u8 src_addr[16 ];__u8 dst_addr[16 ];__u16 dport;__u16 sport; -} __rte_packed; +} __attribute__((packed));static const __u8 def_rss_key[TAP_RSS_HASH_KEY_SIZE ] = {0xd1 ,0x81 ,0xc6 ,0x2c ,
drivers/net/tap/tap_rss.h +1 -1
@@ -35,6 +35,6 @@ struct rss_key {__u32 key_size;__u32 queues[TAP_MAX_QUEUES ];__u32 nb_queues; -} __rte_packed; +} __attribute__((packed));#endif /* _TAP_RSS_H_ */
Signature · 1 line
2.41.0
PATCH 2/3 net/tap: Fixed RSS algorithm to support fragmented packets
In reply to Stephen HemmingerFrom: Madhuker Mythri <[email protected]>
As per analysis on Tap PMD, the existing RSS algorithm considering 4-tuple(Src-IP, Dst-IP, Src-port and Dst-port) and identification of fragment packets is not done, thus we are seeing all the fragmented chunks of single packet differs in RSS hash value and distributed across multiple queues.
The RSS algorithm assumes that, all the incoming IP packets are based on L4-protocol(UDP/TCP) and trying to fetch the L4 fields(Src-port and Dst-port) for each incoming packet, but for the fragmented chunks these L4-header will not be present(except for first packet) and should not consider in RSS hash for L4 header fields in-case of fragmented chunks. Which is a bug in the RSS algorithm implemented in the BPF functionality under TAP PMD.
So, modified the RSS eBPF C-program and generated the structure of C-array in the 'tap_bpf_insns.h' file, which is in eBPF byte-code instructions format.
Bugzilla Id: 870
--- drivers/net/tap/bpf/tap_bpf_program.c | 47 ++++++++++++++++++++++----- 1 file changed, 39 insertions(+), 8 deletions(-)
drivers/net/tap/bpf/tap_bpf_program.c +39 -8
@@ -19,6 +19,8 @@#include "bpf_elf.h" #include "../tap_rss.h" +#include "bpf_api.h" +/** Create IPv4 address */ #define IPv4 (a, b, c, d) ((__u32)(((a) & 0xff) << 24) | \ (((b) & 0xff) << 16) | \
@@ -132,6 +134,8 @@ rss_l3_l4(struct __sk_buff *skb)__u8 *key =0 ;__u32 len;__u32 queue =0 ; +bool mf =0 ; +__u16 frag_off =0 ; rsskey =map_lookup_elem (&map_keys, &key_idx);if (!rsskey) {
@@ -156,6 +160,8 @@ rss_l3_l4(struct __sk_buff *skb)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 );struct ipv4_l3_l4_tuple v4_tuple = { .src_addr = IPv4(*(src_dst_addr + 0),
@@ -166,11 +172,25 @@ rss_l3_l4(struct __sk_buff *skb) *(src_dst_addr + 5), *(src_dst_addr + 6), *(src_dst_addr + 7)), - .sport =PORT (*(src_dst_port +0 ), - *(src_dst_port + 1)), - .dport =PORT (*(src_dst_port +2 ), - *(src_dst_port + 3)), + .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 )); + } + }__u8 input_len =sizeof (v4_tuple) /sizeof (__u32);if (rsskey->hash_fields & (1 <<HASH_FIELD_IPV4_L3 )) input_len--;
@@ -183,6 +203,9 @@ rss_l3_l4(struct __sk_buff *skb) offsetof(struct ipv6hdr , saddr);__u8 *src_dst_port = data + off +sizeof (struct ipv6hdr ); +__u8 *next_hdr = data + off + + offsetof(struct ipv6hdr , nexthdr); +struct ipv6_l3_l4_tuple v6_tuple;for (j =0 ; j <4 ; j++) *((uint32_t *)&v6_tuple.src_addr + j) =
@@ -192,10 +215,18 @@ rss_l3_l4(struct __sk_buff *skb) *((uint32_t *)&v6_tuple.dst_addr + j) =__builtin_bswap32 (*((uint32_t *) src_dst_addr +4 + j)); - v6_tuple.sport =PORT (*(src_dst_port +0 ), - *(src_dst_port +1 )); - v6_tuple.dport =PORT (*(src_dst_port +2 ), - *(src_dst_port +3 )); + +/** 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 { + 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 ))
Signature · 1 line
2.41.0
PATCH 3/3 net/tap; rebuild and update the BPF flow program
In reply to Stephen HemmingerRebuild with commitc0335cc197 (tap; rebuild and update the BPF flow program, 2023-10-31)
--- drivers/net/tap/tap_bpf_insns.h | 2992 ++++++++++++++++--------------- 1 file changed, 1519 insertions(+), 1473 deletions(-)
drivers/net/tap/tap_bpf_insns.h +1519 -1473
@@ -1,64 +1,62 @@/* SPDX-License-Identifier: BSD-3-Clause -* Copyright 2017 Mellanox Technologies, Ltd +* Compiled BPF instructions do not edit */ #include <tap_bpf.h> -/* bpf_insn array matching cls_q section. See tap_bpf_program.c file */ -static struct bpf_insn cls_q_insns[] = { +static const struct bpf_insn cls_q_insns = { {0x61 ,2 ,1 ,52 ,0x00000000 }, {0x18 ,3 ,0 ,0 ,0xdeadbeef }, - {0x00 ,0 ,0 ,0 ,0x00000000 }, + {0x0 ,0 ,0 ,0 ,0x00000000 }, {0x63 ,10 ,3 ,-4 ,0x00000000 }, {0xb7 ,0 ,0 ,0 ,0x00000000 }, {0x61 ,3 ,10 ,-4 ,0x00000000 }, - {0x07 ,3 ,0 ,0 ,0x7cafe800 }, + {0x7 ,3 ,0 ,0 ,0x7cafe800 }, {0x67 ,3 ,0 ,0 ,0x00000020 }, {0x77 ,3 ,0 ,0 ,0x00000020 }, {0x5d ,2 ,3 ,4 ,0x00000000 }, {0xb7 ,2 ,0 ,0 ,0x00000000 }, {0x63 ,1 ,2 ,52 ,0x00000000 }, {0x18 ,0 ,0 ,0 ,0xffffffff }, - {0x00 ,0 ,0 ,0 ,0x00000000 }, + {0x0 ,0 ,0 ,0 ,0x00000000 }, {0x95 ,0 ,0 ,0 ,0x00000000 }, }; -/* bpf_insn array matching l3_l4 section. see tap_bpf_program.c file */ -static struct bpf_insn l3_l4_hash_insns[] = { +static const struct bpf_insn l3_l4_hash_insns = { {0xbf ,7 ,1 ,0 ,0x00000000 }, - {0x61 ,8 ,7 ,16 ,0x00000000 }, - {0x61 ,6 ,7 ,76 ,0x00000000 }, + {0x61 ,6 ,7 ,16 ,0x00000000 }, + {0x61 ,8 ,7 ,76 ,0x00000000 }, {0x61 ,9 ,7 ,80 ,0x00000000 }, {0x18 ,1 ,0 ,0 ,0xdeadbeef }, - {0x00 ,0 ,0 ,0 ,0x00000000 }, + {0x0 ,0 ,0 ,0 ,0x00000000 }, {0x63 ,10 ,1 ,-4 ,0x00000000 }, {0xbf ,2 ,10 ,0 ,0x00000000 }, - {0x07 ,2 ,0 ,0 ,0xfffffffc }, - {0x18 ,1 ,1 ,0 ,0x0000cafe }, - {0x00 ,0 ,0 ,0 ,0x00000000 }, + {0x7 ,2 ,0 ,0 ,0xfffffffc }, + {0x18 ,1 ,0 ,0 ,0x00000000 }, + {0x0 ,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 }, + {0x0 ,0 ,0 ,0 ,0x65727567 }, {0x7b ,10 ,1 ,-24 ,0x00000000 }, {0x18 ,1 ,0 ,0 ,0x6e207369 }, - {0x00 ,0 ,0 ,0 ,0x6320746f }, + {0x0 ,0 ,0 ,0 ,0x6320746f }, {0x7b ,10 ,1 ,-32 ,0x00000000 }, {0x18 ,1 ,0 ,0 ,0x20737372 }, - {0x00 ,0 ,0 ,0 ,0x2079656b }, + {0x0 ,0 ,0 ,0 ,0x2079656b }, {0x7b ,10 ,1 ,-40 ,0x00000000 }, {0x18 ,1 ,0 ,0 ,0x68736168 }, - {0x00 ,0 ,0 ,0 ,0x203a2928 }, + {0x0 ,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 }, + {0x7 ,1 ,0 ,0 ,0xffffffd0 }, {0xb7 ,2 ,0 ,0 ,0x00000023 }, {0x85 ,0 ,0 ,0 ,0x00000006 }, - {0x05 ,0 ,0 ,1632 ,0x00000000 }, + {0x5 ,0 ,0 ,1680 ,0x00000000 }, {0xb7 ,1 ,0 ,0 ,0x0000000e }, {0x61 ,2 ,7 ,20 ,0x00000000 }, {0x15 ,2 ,0 ,10 ,0x00000000 },
@@ -66,1630 +64,1678 @@ static struct bpf_insn l3_l4_hash_insns[] = { {0x55, 2, 0, 8, 0x0000a888}, {0xbf, 2, 7, 0, 0x00000000}, {0xb7, 7, 0, 0, 0x00000000}, - {0xbf, 1, 6, 0, 0x00000000}, - {0x07, 1, 0, 0, 0x00000012}, - {0x2d, 1, 9, 1622, 0x00000000}, + {0xbf, 1, 8, 0, 0x00000000}, + {0x7, 1, 0, 0, 0x00000012}, + {0x2d, 1, 9, 1670, 0x00000000}, {0xb7, 1, 0, 0, 0x00000012}, - {0x69, 8, 6, 16, 0x00000000}, + {0x69, 6, 8, 16, 0x00000000}, {0xbf, 7, 2, 0, 0x00000000}, + {0x57, 6, 0, 0, 0x0000ffff}, {0x7b, 10, 7, -56, 0x00000000}, - {0x57, 8, 0, 0, 0x0000ffff}, - {0x15, 8, 0, 409, 0x0000dd86}, + {0x15, 6, 0, 443, 0x0000dd86}, {0xb7, 7, 0, 0, 0x00000003}, - {0x55, 8, 0, 1614, 0x00000008}, - {0x0f, 6, 1, 0, 0x00000000}, + {0x55, 6, 0, 1662, 0x00000008}, + {0xf, 8, 1, 0, 0x00000000}, {0xb7, 7, 0, 0, 0x00000000}, - {0xbf, 1, 6, 0, 0x00000000}, - {0x07, 1, 0, 0, 0x00000018}, - {0x2d, 1, 9, 1609, 0x00000000}, - {0x71, 3, 6, 12, 0x00000000}, - {0xbf, 1, 3, 0, 0x00000000}, - {0x67, 1, 0, 0, 0x00000038}, - {0xc7, 1, 0, 0, 0x00000020}, - {0x77, 1, 0, 0, 0x0000001f}, - {0x57, 1, 0, 0, 0x2cc681d1}, - {0x67, 3, 0, 0, 0x00000018}, + {0xbf, 1, 8, 0, 0x00000000}, + {0x7, 1, 0, 0, 0x00000018}, + {0x2d, 1, 9, 1657, 0x00000000}, + {0xb7, 1, 0, 0, 0x00000000}, + {0x71, 3, 8, 12, 0x00000000}, + {0x71, 2, 8, 9, 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}, + {0x7, 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}, - {0x57, 4, 0, 0, 0x40000000}, + {0x67, 4, 0, 0, 0x00000038}, + {0xc7, 4, 0, 0, 0x00000038}, + {0xb7, 2, 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}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0x6340e8ad}, + {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}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00000040}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0x8d03a2b7}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00000020}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0x1a07456f}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00000010}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0x340e8ade}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00000008}, + {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}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00000002}, + {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}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00000040}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0xa2b7b7e9}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00000020}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0x456f6fd3}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00000010}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0x8adedfa7}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00000008}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0x15bdbf4f}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00000004}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0x2b7b7e9e}, + {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}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0xedfa7bfe}, + {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}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00000040}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0xb7e9eff9}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00000020}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0x6fd3dff2}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00000010}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0xdfa7bfe5}, + {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}, + {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}, + {0xbf, 4, 5, 0, 0x00000000}, + {0xa7, 4, 0, 0, 0xf4f7fca2}, + {0x6d, 2, 6, 1, 0x00000000}, + {0xbf, 4, 5, 0, 0x00000000}, + {0xbf, 5, 3, 0, 0x00000000}, + {0x57, 5, 0, 0, 0x00000040}, + {0x15, 5, 0, 1, 0x00000000}, + {0xa7, 4, 0, 0, 0xe9eff945}, + {0xbf, 5, 3, 0, 0x00000000}, + {0x57, 5, 0, 0, 0x00000020}, + {0x15, 5, 0, 1, 0x00000000}, + {0xa7, 4, 0, 0, 0xd3dff28a}, + {0xbf, 5, 3, 0, 0x00000000}, + {0x57, 5, 0, 0, 0x00000010}, + {0x15, 5, 0, 1, 0x00000000}, + {0xa7, 4, 0, 0, 0xa7bfe514}, + {0xbf, 5, 3, 0, 0x00000000}, + {0x57, 5, 0, 0, 0x00000008}, + {0x15, 5, 0, 1, 0x00000000}, + {0xa7, 4, 0, 0, 0x4f7fca28}, + {0xbf, 5, 3, 0, 0x00000000}, + {0x57, 5, 0, 0, 0x00000004}, + {0x15, 5, 0, 1, 0x00000000}, + {0xa7, 4, 0, 0, 0x9eff9450}, + {0xbf, 5, 3, 0, 0x00000000}, + {0x57, 5, 0, 0, 0x00000002}, + {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}, + {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}, + {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}, + {0xbf, 2, 1, 0, 0x00000000}, + {0x57, 2, 0, 0, 0x40000000}, + {0x15, 2, 0, 1, 0x00000000}, + {0xa7, 3, 0, 0, 0xf9450633}, + {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}, + {0xbf, 2, 1, 0, 0x00000000}, + {0x57, 2, 0, 0, 0x10000000}, + {0x15, 2, 0, 1, 0x00000000}, + {0xa7, 3, 0, 0, 0xe51418ce}, + {0xbf, 2, 1, 0, 0x00000000}, + {0x57, 2, 0, 0, 0x08000000}, + {0x15, 2, 0, 1, 0x00000000}, + {0xa7, 3, 0, 0, 0xca28319d}, + {0xbf, 2, 1, 0, 0x00000000}, + {0x57, 2, 0, 0, 0x04000000}, + {0x15, 2, 0, 1, 0x00000000}, + {0xa7, 3, 0, 0, 0x9450633b}, + {0xbf, 2, 1, 0, 0x00000000}, + {0x57, 2, 0, 0, 0x02000000}, + {0x15, 2, 0, 1, 0x00000000}, + {0xa7, 3, 0, 0, 0x28a0c676}, + {0xbf, 2, 1, 0, 0x00000000}, + {0x57, 2, 0, 0, 0x01000000}, + {0x15, 2, 0, 1, 0x00000000}, + {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}, + {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}, + {0xbf, 2, 1, 0, 0x00000000}, + {0x57, 2, 0, 0, 0x00100000}, + {0x15, 2, 0, 1, 0x00000000}, + {0xa7, 3, 0, 0, 0x1418ced8}, + {0xbf, 2, 1, 0, 0x00000000}, + {0x57, 2, 0, 0, 0x00080000}, + {0x15, 2, 0, 1, 0x00000000}, + {0xa7, 3, 0, 0, 0x28319db1}, + {0xbf, 2, 1, 0, 0x00000000}, + {0x57, 2, 0, 0, 0x00040000}, + {0x15, 2, 0, 1, 0x00000000}, + {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}, + {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}, + {0xbf, 2, 1, 0, 0x00000000}, + {0x57, 2, 0, 0, 0x00004000}, + {0x15, 2, 0, 1, 0x00000000}, + {0xa7, 3, 0, 0, 0x0633b634}, + {0xbf, 2, 1, 0, 0x00000000}, + {0x57, 2, 0, 0, 0x00002000}, + {0x15, 2, 0, 1, 0x00000000}, + {0xa7, 3, 0, 0, 0x0c676c68}, + {0xbf, 2, 1, 0, 0x00000000}, + {0x57, 2, 0, 0, 0x00001000}, + {0x15, 2, 0, 1, 0x00000000}, + {0xa7, 3, 0, 0, 0x18ced8d1}, + {0xbf, 2, 1, 0, 0x00000000}, + {0x57, 2, 0, 0, 0x00000800}, + {0x15, 2, 0, 1, 0x00000000}, + {0xa7, 3, 0, 0, 0x319db1a3}, + {0xbf, 2, 1, 0, 0x00000000}, + {0x57, 2, 0, 0, 0x00000400}, + {0x15, 2, 0, 1, 0x00000000}, + {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}, + {0xbf, 2, 1, 0, 0x00000000}, + {0x57, 2, 0, 0, 0x00000100}, + {0x15, 2, 0, 1, 0x00000000}, + {0xa7, 3, 0, 0, 0x8ced8d1f}, + {0xbf, 2, 1, 0, 0x00000000}, + {0x57, 2, 0, 0, 0x00000080}, + {0x15, 2, 0, 1, 0x00000000}, + {0xa7, 3, 0, 0, 0x19db1a3e}, + {0xbf, 2, 1, 0, 0x00000000}, + {0x57, 2, 0, 0, 0x00000040}, + {0x15, 2, 0, 1, 0x00000000}, + {0xa7, 3, 0, 0, 0x33b6347d}, + {0xbf, 2, 1, 0, 0x00000000}, + {0x57, 2, 0, 0, 0x00000020}, + {0x15, 2, 0, 1, 0x00000000}, + {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}, + {0xbf, 2, 1, 0, 0x00000000}, + {0x57, 2, 0, 0, 0x00000008}, + {0x15, 2, 0, 1, 0x00000000}, + {0xa7, 3, 0, 0, 0x9db1a3e9}, + {0xbf, 2, 1, 0, 0x00000000}, + {0x57, 2, 0, 0, 0x00000004}, + {0x15, 2, 0, 1, 0x00000000}, + {0xa7, 3, 0, 0, 0x3b6347d2}, + {0xbf, 2, 1, 0, 0x00000000}, + {0x57, 2, 0, 0, 0x00000002}, + {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}, + {0x5, 0, 0, 1192, 0x00000000}, + {0xf, 8, 1, 0, 0x00000000}, + {0xb7, 7, 0, 0, 0x00000000}, + {0xbf, 1, 8, 0, 0x00000000}, + {0x7, 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}, + {0xb7, 1, 0, 0, 0x00000000}, + {0x55, 3, 0, 12, 0x00000006}, + {0xbf, 3, 8, 0, 0x00000000}, + {0x7, 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}, + {0x57, 3, 0, 0, 0x40000000}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 4, 0, 0, 0x598d03a2}, + {0xbf, 3, 2, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x20000000}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 4, 0, 0, 0xb31a0745}, + {0xbf, 3, 2, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x10000000}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 4, 0, 0, 0x66340e8a}, + {0xbf, 3, 2, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x08000000}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 4, 0, 0, 0xcc681d15}, + {0xbf, 3, 2, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x04000000}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 4, 0, 0, 0x98d03a2b}, + {0xbf, 3, 2, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x02000000}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 4, 0, 0, 0x31a07456}, + {0xbf, 3, 2, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x01000000}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 4, 0, 0, 0x6340e8ad}, + {0xbf, 3, 2, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00800000}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 4, 0, 0, 0xc681d15b}, + {0xbf, 3, 2, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00400000}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 4, 0, 0, 0x8d03a2b7}, + {0xbf, 3, 2, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00200000}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 4, 0, 0, 0x1a07456f}, + {0xbf, 3, 2, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00100000}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 4, 0, 0, 0x340e8ade}, + {0xbf, 3, 2, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00080000}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 4, 0, 0, 0x681d15bd}, + {0xbf, 3, 2, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00040000}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 4, 0, 0, 0xd03a2b7b}, + {0xbf, 3, 2, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00020000}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 4, 0, 0, 0xa07456f6}, + {0xbf, 3, 2, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00010000}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 4, 0, 0, 0x40e8aded}, + {0xbf, 3, 2, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00008000}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 4, 0, 0, 0x81d15bdb}, + {0xbf, 3, 2, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00004000}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 4, 0, 0, 0x03a2b7b7}, + {0xbf, 3, 2, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00002000}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 4, 0, 0, 0x07456f6f}, + {0xbf, 3, 2, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00001000}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 4, 0, 0, 0x0e8adedf}, + {0xbf, 3, 2, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00000800}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 4, 0, 0, 0x1d15bdbf}, + {0xbf, 3, 2, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00000400}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 4, 0, 0, 0x3a2b7b7e}, + {0xbf, 3, 2, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00000200}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 4, 0, 0, 0x7456f6fd}, + {0xbf, 3, 2, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00000100}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 4, 0, 0, 0xe8adedfa}, + {0xbf, 3, 2, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00000080}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 4, 0, 0, 0xd15bdbf4}, + {0xbf, 3, 2, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00000040}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 4, 0, 0, 0xa2b7b7e9}, + {0xbf, 3, 2, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00000020}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 4, 0, 0, 0x456f6fd3}, + {0xbf, 3, 2, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00000010}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 4, 0, 0, 0x8adedfa7}, + {0xbf, 3, 2, 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}, + {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}, + {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}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x598d03a2}, + {0xbf, 5, 4, 0, 0x00000000}, + {0xa7, 5, 0, 0, 0x5bdbf4f7}, + {0x6d, 2, 3, 1, 0x00000000}, + {0xbf, 5, 4, 0, 0x00000000}, + {0xbf, 4, 3, 0, 0x00000000}, + {0x57, 4, 0, 0, 0x40000000}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0xb7b7e9ef}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x20000000}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xb31a0745}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0x6f6fd3df}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x10000000}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x66340e8a}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0xdedfa7bf}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x08000000}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xcc681d15}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0xbdbf4f7f}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x04000000}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x98d03a2b}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0x7b7e9eff}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x02000000}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x31a07456}, - {0x57, 3, 0, 0, 0x01000000}, - {0x1d, 3, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x6340e8ad}, - {0x71, 3, 6, 13, 0x00000000}, - {0x67, 3, 0, 0, 0x00000010}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0xf6fd3dff}, + {0xbf, 4, 3, 0, 0x00000000}, + {0x57, 4, 0, 0, 0x01000000}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0xedfa7bfe}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00800000}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xc681d15b}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0xdbf4f7fc}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00400000}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x8d03a2b7}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0xb7e9eff9}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00200000}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x1a07456f}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0x6fd3dff2}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00100000}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x340e8ade}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0xdfa7bfe5}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00080000}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x681d15bd}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0xbf4f7fca}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00040000}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xd03a2b7b}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0x7e9eff94}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00020000}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xa07456f6}, - {0x57, 3, 0, 0, 0x00010000}, - {0x1d, 3, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x40e8aded}, - {0x71, 3, 6, 14, 0x00000000}, - {0x67, 3, 0, 0, 0x00000008}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0xfd3dff28}, + {0xbf, 4, 3, 0, 0x00000000}, + {0x57, 4, 0, 0, 0x00010000}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0xfa7bfe51}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00008000}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x81d15bdb}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0xf4f7fca2}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00004000}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x03a2b7b7}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0xe9eff945}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00002000}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x07456f6f}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0xd3dff28a}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00001000}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x0e8adedf}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0xa7bfe514}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00000800}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x1d15bdbf}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0x4f7fca28}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00000400}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x3a2b7b7e}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0x9eff9450}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00000200}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x7456f6fd}, - {0x57, 3, 0, 0, 0x00000100}, - {0x1d, 3, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xe8adedfa}, - {0x71, 3, 6, 15, 0x00000000}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0x3dff28a0}, + {0xbf, 4, 3, 0, 0x00000000}, + {0x57, 4, 0, 0, 0x00000100}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0x7bfe5141}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00000080}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xd15bdbf4}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0xf7fca283}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00000040}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xa2b7b7e9}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0xeff94506}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00000020}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x456f6fd3}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0xdff28a0c}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00000010}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x8adedfa7}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0xbfe51418}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00000008}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x15bdbf4f}, - {0xbf, 4, 3, 0, 0x00000000}, - {0x57, 4, 0, 0, 0x00000004}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x2b7b7e9e}, - {0xbf, 4, 3, 0, 0x00000000}, - {0x57, 4, 0, 0, 0x00000002}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x56f6fd3d}, + {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}, + {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}, + {0xc7, 4, 0, 0, 0x00000020}, {0x57, 3, 0, 0, 0x00000001}, - {0x1d, 3, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xadedfa7b}, - {0x71, 4, 6, 16, 0x00000000}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x67, 5, 0, 0, 0x00000038}, - {0xc7, 5, 0, 0, 0x00000020}, - {0xb7, 3, 0, 0, 0xffffffff}, - {0x6d, 5, 3, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x5bdbf4f7}, - {0x67, 4, 0, 0, 0x00000018}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x40000000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xb7b7e9ef}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x20000000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x6f6fd3df}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x10000000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xdedfa7bf}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x08000000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xbdbf4f7f}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x04000000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x7b7e9eff}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x02000000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xf6fd3dff}, - {0x57, 4, 0, 0, 0x01000000}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xedfa7bfe}, - {0x71, 4, 6, 17, 0x00000000}, - {0x67, 4, 0, 0, 0x00000010}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00800000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xdbf4f7fc}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00400000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xb7e9eff9}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00200000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x6fd3dff2}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00100000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xdfa7bfe5}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00080000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xbf4f7fca}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00040000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x7e9eff94}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00020000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xfd3dff28}, - {0x57, 4, 0, 0, 0x00010000}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xfa7bfe51}, - {0x71, 4, 6, 18, 0x00000000}, - {0x67, 4, 0, 0, 0x00000008}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00008000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xf4f7fca2}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00004000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xe9eff945}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00002000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xd3dff28a}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00001000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xa7bfe514}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000800}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x4f7fca28}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000400}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x9eff9450}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000200}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x3dff28a0}, - {0x57, 4, 0, 0, 0x00000100}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x7bfe5141}, - {0x71, 4, 6, 19, 0x00000000}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000080}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xf7fca283}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000040}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xeff94506}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000020}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xdff28a0c}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000010}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xbfe51418}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000008}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x7fca2831}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000004}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xff945063}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000002}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xff28a0c6}, - {0x57, 4, 0, 0, 0x00000001}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xfe51418c}, - {0x71, 4, 6, 20, 0x00000000}, - {0x67, 4, 0, 0, 0x00000008}, - {0x71, 5, 6, 21, 0x00000000}, - {0x4f, 4, 5, 0, 0x00000000}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x67, 5, 0, 0, 0x00000030}, - {0xc7, 5, 0, 0, 0x00000020}, - {0x6d, 5, 3, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xfca28319}, - {0x67, 4, 0, 0, 0x00000010}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0xfe51418c}, + {0xbf, 7, 5, 0, 0x00000000}, + {0xa7, 7, 0, 0, 0xfca28319}, + {0x6d, 2, 4, 1, 0x00000000}, + {0xbf, 7, 5, 0, 0x00000000}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x40000000}, - {0x1d, 3, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xf9450633}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0xf9450633}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x20000000}, - {0x1d, 3, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xf28a0c67}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0xf28a0c67}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x10000000}, - {0x1d, 3, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xe51418ce}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0xe51418ce}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x08000000}, - {0x1d, 3, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xca28319d}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0xca28319d}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x04000000}, - {0x1d, 3, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x9450633b}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0x9450633b}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x02000000}, - {0x1d, 3, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x28a0c676}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0x28a0c676}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x01000000}, - {0x1d, 3, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x51418ced}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0x51418ced}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00800000}, - {0x1d, 3, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xa28319db}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0xa28319db}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00400000}, - {0x1d, 3, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x450633b6}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0x450633b6}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00200000}, - {0x1d, 3, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x8a0c676c}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0x8a0c676c}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00100000}, - {0x1d, 3, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x1418ced8}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0x1418ced8}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00080000}, - {0x1d, 3, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x28319db1}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0x28319db1}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00040000}, - {0x1d, 3, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x50633b63}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0x50633b63}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00020000}, - {0x1d, 3, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xa0c676c6}, - {0x57, 4, 0, 0, 0x00010000}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x418ced8d}, - {0x71, 3, 6, 22, 0x00000000}, - {0x67, 3, 0, 0, 0x00000008}, - {0xbf, 4, 3, 0, 0x00000000}, - {0x57, 4, 0, 0, 0x00008000}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x8319db1a}, - {0xbf, 4, 3, 0, 0x00000000}, - {0x57, 4, 0, 0, 0x00004000}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x0633b634}, - {0xbf, 4, 3, 0, 0x00000000}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0xa0c676c6}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00010000}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0x418ced8d}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00008000}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0x8319db1a}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00004000}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0x0633b634}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00002000}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0x0c676c68}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00001000}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0x18ced8d1}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00000800}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0x319db1a3}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00000400}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0x633b6347}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00000200}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0xc676c68f}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00000100}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0x8ced8d1f}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00000080}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0x19db1a3e}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00000040}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0x33b6347d}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00000020}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0x676c68fa}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00000010}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0xced8d1f4}, + {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}, + {0xbf, 5, 4, 0, 0x00000000}, + {0x57, 5, 0, 0, 0x00000004}, + {0x15, 5, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0x3b6347d2}, + {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}, + {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}, + {0x6d, 2, 3, 1, 0x00000000}, + {0xbf, 5, 7, 0, 0x00000000}, + {0xbf, 4, 3, 0, 0x00000000}, + {0x57, 4, 0, 0, 0x40000000}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0xb6347d28}, + {0xbf, 4, 3, 0, 0x00000000}, + {0x57, 4, 0, 0, 0x20000000}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0x6c68fa51}, + {0xbf, 4, 3, 0, 0x00000000}, + {0x57, 4, 0, 0, 0x10000000}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0xd8d1f4a3}, + {0xbf, 4, 3, 0, 0x00000000}, + {0x57, 4, 0, 0, 0x08000000}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0xb1a3e946}, + {0xbf, 4, 3, 0, 0x00000000}, + {0x57, 4, 0, 0, 0x04000000}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0x6347d28d}, + {0xbf, 4, 3, 0, 0x00000000}, + {0x57, 4, 0, 0, 0x02000000}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0xc68fa51a}, + {0xbf, 4, 3, 0, 0x00000000}, + {0x57, 4, 0, 0, 0x01000000}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0x8d1f4a35}, + {0xbf, 4, 3, 0, 0x00000000}, + {0x57, 4, 0, 0, 0x00800000}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0x1a3e946b}, + {0xbf, 4, 3, 0, 0x00000000}, + {0x57, 4, 0, 0, 0x00400000}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0x347d28d7}, + {0xbf, 4, 3, 0, 0x00000000}, + {0x57, 4, 0, 0, 0x00200000}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0x68fa51ae}, + {0xbf, 4, 3, 0, 0x00000000}, + {0x57, 4, 0, 0, 0x00100000}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0xd1f4a35c}, + {0xbf, 4, 3, 0, 0x00000000}, + {0x57, 4, 0, 0, 0x00080000}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0xa3e946b9}, + {0xbf, 4, 3, 0, 0x00000000}, + {0x57, 4, 0, 0, 0x00040000}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0x47d28d73}, + {0xbf, 4, 3, 0, 0x00000000}, + {0x57, 4, 0, 0, 0x00020000}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0x8fa51ae7}, + {0xbf, 4, 3, 0, 0x00000000}, + {0x57, 4, 0, 0, 0x00010000}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0x1f4a35cf}, + {0xbf, 4, 3, 0, 0x00000000}, + {0x57, 4, 0, 0, 0x00008000}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0x3e946b9e}, + {0xbf, 4, 3, 0, 0x00000000}, + {0x57, 4, 0, 0, 0x00004000}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0x7d28d73c}, + {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00002000}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x0c676c68}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0xfa51ae78}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00001000}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x18ced8d1}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0xf4a35cf1}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00000800}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x319db1a3}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0xe946b9e3}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00000400}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x633b6347}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0xd28d73c7}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00000200}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xc676c68f}, - {0x57, 3, 0, 0, 0x00000100}, - {0x1d, 3, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x8ced8d1f}, - {0x71, 3, 6, 23, 0x00000000}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0xa51ae78e}, + {0xbf, 4, 3, 0, 0x00000000}, + {0x57, 4, 0, 0, 0x00000100}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0x4a35cf1c}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00000080}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x19db1a3e}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0x946b9e38}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00000040}, - {0x79, 5, 10, -56, 0x00000000}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x33b6347d}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0x28d73c71}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00000020}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x676c68fa}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0x51ae78e3}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00000010}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xced8d1f4}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0xa35cf1c6}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00000008}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x9db1a3e9}, - {0xbf, 4, 3, 0, 0x00000000}, - {0x57, 4, 0, 0, 0x00000004}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x3b6347d2}, - {0xbf, 4, 3, 0, 0x00000000}, - {0x57, 4, 0, 0, 0x00000002}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x76c68fa5}, + {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}, + {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}, + {0xc7, 4, 0, 0, 0x00000020}, {0x57, 3, 0, 0, 0x00000001}, - {0x1d, 3, 2, 1177, 0x00000000}, - {0xa7, 1, 0, 0, 0xed8d1f4a}, - {0x05, 0, 0, 1175, 0x00000000}, - {0x0f, 6, 1, 0, 0x00000000}, - {0xb7, 7, 0, 0, 0x00000000}, - {0xbf, 1, 6, 0, 0x00000000}, - {0x07, 1, 0, 0, 0x0000002c}, - {0x2d, 1, 9, 1202, 0x00000000}, - {0x61, 4, 6, 8, 0x00000000}, - {0xbf, 1, 4, 0, 0x00000000}, - {0x67, 1, 0, 0, 0x00000038}, - {0xc7, 1, 0, 0, 0x00000020}, - {0x77, 1, 0, 0, 0x0000001f}, - {0x57, 1, 0, 0, 0x2cc681d1}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0x35cf1c6c}, + {0xbf, 7, 5, 0, 0x00000000}, + {0xa7, 7, 0, 0, 0x6b9e38d9}, + {0x6d, 2, 4, 1, 0x00000000}, + {0xbf, 7, 5, 0, 0x00000000}, {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00000040}, - {0xb7, 2, 0, 0, 0x00000000}, - {0x1d, 3, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x598d03a2}, + {0x57, 3, 0, 0, 0x40000000}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0xd73c71b2}, {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00000020}, - {0x1d, 3, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xb31a0745}, + {0x57, 3, 0, 0, 0x20000000}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0xae78e364}, {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00000010}, - {0x1d, 3, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x66340e8a}, + {0x57, 3, 0, 0, 0x10000000}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0x5cf1c6c9}, {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00000008}, - {0x1d, 3, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xcc681d15}, + {0x57, 3, 0, 0, 0x08000000}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0xb9e38d92}, {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00000004}, - {0x1d, 3, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x98d03a2b}, + {0x57, 3, 0, 0, 0x04000000}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0x73c71b25}, {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00000002}, - {0x1d, 3, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x31a07456}, + {0x57, 3, 0, 0, 0x02000000}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0xe78e364b}, {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00000001}, - {0x1d, 3, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x6340e8ad}, + {0x57, 3, 0, 0, 0x01000000}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0xcf1c6c96}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00800000}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0x9e38d92c}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00400000}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0x3c71b259}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00200000}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0x78e364b2}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00100000}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0xf1c6c964}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00080000}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0xe38d92c9}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00040000}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0xc71b2593}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00020000}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0x8e364b27}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00010000}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0x1c6c964e}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00008000}, - {0x1d, 3, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xc681d15b}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0x38d92c9c}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00004000}, - {0x1d, 3, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x8d03a2b7}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0x71b25938}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00002000}, - {0x1d, 3, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x1a07456f}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0xe364b270}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00001000}, - {0x1d, 3, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x340e8ade}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0xc6c964e0}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00000800}, - {0x1d, 3, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x681d15bd}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0x8d92c9c0}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00000400}, - {0x1d, 3, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xd03a2b7b}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0x1b259380}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00000200}, - {0x1d, 3, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xa07456f6}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0x364b2700}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00000100}, - {0x1d, 3, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x40e8aded}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0x6c964e01}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00000080}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0xd92c9c03}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00000040}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0xb2593807}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00000020}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0x64b2700f}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00000010}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0xc964e01e}, + {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}, + {0xbf, 5, 4, 0, 0x00000000}, + {0x57, 5, 0, 0, 0x00000004}, + {0x15, 5, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0x2593807a}, + {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}, + {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}, + {0x6d, 2, 3, 1, 0x00000000}, + {0xbf, 5, 7, 0, 0x00000000}, + {0xbf, 4, 3, 0, 0x00000000}, + {0x57, 4, 0, 0, 0x40000000}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0x593807a3}, + {0xbf, 4, 3, 0, 0x00000000}, + {0x57, 4, 0, 0, 0x20000000}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0xb2700f46}, + {0xbf, 4, 3, 0, 0x00000000}, + {0x57, 4, 0, 0, 0x10000000}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0x64e01e8d}, + {0xbf, 4, 3, 0, 0x00000000}, + {0x57, 4, 0, 0, 0x08000000}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0xc9c03d1a}, + {0xbf, 4, 3, 0, 0x00000000}, + {0x57, 4, 0, 0, 0x04000000}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0x93807a35}, + {0xbf, 4, 3, 0, 0x00000000}, + {0x57, 4, 0, 0, 0x02000000}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0x2700f46b}, + {0xbf, 4, 3, 0, 0x00000000}, + {0x57, 4, 0, 0, 0x01000000}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0x4e01e8d6}, + {0xbf, 4, 3, 0, 0x00000000}, + {0x57, 4, 0, 0, 0x00800000}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0x9c03d1ad}, + {0xbf, 4, 3, 0, 0x00000000}, + {0x57, 4, 0, 0, 0x00400000}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0x3807a35b}, + {0xbf, 4, 3, 0, 0x00000000}, + {0x57, 4, 0, 0, 0x00200000}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0x700f46b6}, + {0xbf, 4, 3, 0, 0x00000000}, + {0x57, 4, 0, 0, 0x00100000}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0xe01e8d6c}, + {0xbf, 4, 3, 0, 0x00000000}, + {0x57, 4, 0, 0, 0x00080000}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0xc03d1ad9}, + {0xbf, 4, 3, 0, 0x00000000}, + {0x57, 4, 0, 0, 0x00040000}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0x807a35b3}, + {0xbf, 4, 3, 0, 0x00000000}, + {0x57, 4, 0, 0, 0x00020000}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0x00f46b66}, + {0xbf, 4, 3, 0, 0x00000000}, + {0x57, 4, 0, 0, 0x00010000}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0x01e8d6cc}, + {0xbf, 4, 3, 0, 0x00000000}, + {0x57, 4, 0, 0, 0x00008000}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0x03d1ad99}, + {0xbf, 4, 3, 0, 0x00000000}, + {0x57, 4, 0, 0, 0x00004000}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0x07a35b32}, + {0xbf, 4, 3, 0, 0x00000000}, + {0x57, 4, 0, 0, 0x00002000}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0x0f46b665}, + {0xbf, 4, 3, 0, 0x00000000}, + {0x57, 4, 0, 0, 0x00001000}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0x1e8d6cca}, + {0xbf, 4, 3, 0, 0x00000000}, + {0x57, 4, 0, 0, 0x00000800}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0x3d1ad994}, + {0xbf, 4, 3, 0, 0x00000000}, + {0x57, 4, 0, 0, 0x00000400}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0x7a35b328}, + {0xbf, 4, 3, 0, 0x00000000}, + {0x57, 4, 0, 0, 0x00000200}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0xf46b6651}, + {0xbf, 4, 3, 0, 0x00000000}, + {0x57, 4, 0, 0, 0x00000100}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0xe8d6cca2}, + {0xbf, 4, 3, 0, 0x00000000}, + {0x57, 4, 0, 0, 0x00000080}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0xd1ad9944}, + {0xbf, 4, 3, 0, 0x00000000}, + {0x57, 4, 0, 0, 0x00000040}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0xa35b3289}, + {0xbf, 4, 3, 0, 0x00000000}, + {0x57, 4, 0, 0, 0x00000020}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0x46b66512}, + {0xbf, 4, 3, 0, 0x00000000}, + {0x57, 4, 0, 0, 0x00000010}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0x8d6cca25}, + {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}, + {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}, + {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}, + {0x6d, 2, 4, 1, 0x00000000}, + {0xbf, 7, 5, 0, 0x00000000}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x40000000}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0x5b32894f}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x20000000}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0xb665129f}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x10000000}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0x6cca253e}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x08000000}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0xd9944a7d}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x04000000}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0xb32894fb}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x02000000}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0x665129f6}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x01000000}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0xcca253ec}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00800000}, - {0x1d, 3, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x81d15bdb}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0x9944a7d9}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00400000}, - {0x1d, 3, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x03a2b7b7}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0x32894fb2}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00200000}, - {0x1d, 3, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x07456f6f}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0x65129f65}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00100000}, - {0x1d, 3, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x0e8adedf}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0xca253eca}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00080000}, - {0x1d, 3, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x1d15bdbf}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0x944a7d95}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00040000}, - {0x1d, 3, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x3a2b7b7e}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0x2894fb2a}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00020000}, - {0x1d, 3, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x7456f6fd}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0x5129f655}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00010000}, - {0x1d, 3, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xe8adedfa}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0xa253ecab}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00008000}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0x44a7d956}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00004000}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0x894fb2ac}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00002000}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0x129f6558}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00001000}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0x253ecab1}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00000800}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0x4a7d9563}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00000400}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0x94fb2ac7}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00000200}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0x29f6558f}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00000100}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0x53ecab1e}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00000080}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0xa7d9563d}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00000040}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0x4fb2ac7a}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00000020}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0x9f6558f5}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00000010}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0x3ecab1ea}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00000008}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0x7d9563d5}, + {0x61, 3, 8, 36, 0x00000000}, {0xbf, 5, 4, 0, 0x00000000}, - {0x67, 5, 0, 0, 0x00000020}, - {0xc7, 5, 0, 0, 0x00000020}, - {0xb7, 3, 0, 0, 0xffffffff}, - {0x6d, 5, 3, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xd15bdbf4}, + {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}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xa2b7b7e9}, - {0xbf, 5, 4, 0, 0x00000000}, + {0x15, 5, 0, 1, 0x00000000}, + {0xa7, 4, 0, 0, 0xb2ac7ab2}, + {0xbf, 5, 3, 0, 0x00000000}, {0x57, 5, 0, 0, 0x20000000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x456f6fd3}, - {0xbf, 5, 4, 0, 0x00000000}, + {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}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x8adedfa7}, - {0xbf, 5, 4, 0, 0x00000000}, + {0x15, 5, 0, 1, 0x00000000}, + {0xa7, 4, 0, 0, 0xcab1eac8}, + {0xbf, 5, 3, 0, 0x00000000}, {0x57, 5, 0, 0, 0x08000000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x15bdbf4f}, - {0xbf, 5, 4, 0, 0x00000000}, + {0x15, 5, 0, 1, 0x00000000}, + {0xa7, 4, 0, 0, 0x9563d590}, + {0xbf, 5, 3, 0, 0x00000000}, {0x57, 5, 0, 0, 0x04000000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x2b7b7e9e}, - {0xbf, 5, 4, 0, 0x00000000}, + {0x15, 5, 0, 1, 0x00000000}, + {0xa7, 4, 0, 0, 0x2ac7ab20}, + {0xbf, 5, 3, 0, 0x00000000}, {0x57, 5, 0, 0, 0x02000000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x56f6fd3d}, - {0x57, 4, 0, 0, 0x01000000}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xadedfa7b}, - {0x61, 4, 6, 12, 0x00000000}, - {0xbf, 5, 4, 0, 0x00000000}, + {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}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x5bdbf4f7}, - {0xbf, 5, 4, 0, 0x00000000}, + {0x15, 5, 0, 1, 0x00000000}, + {0xa7, 4, 0, 0, 0x59063c25}, + {0xbf, 5, 3, 0, 0x00000000}, {0x57, 5, 0, 0, 0x00000040}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xb7b7e9ef}, - {0xbf, 5, 4, 0, 0x00000000}, + {0x15, 5, 0, 1, 0x00000000}, + {0xa7, 4, 0, 0, 0xb20c784b}, + {0xbf, 5, 3, 0, 0x00000000}, {0x57, 5, 0, 0, 0x00000020}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x6f6fd3df}, - {0xbf, 5, 4, 0, 0x00000000}, + {0x15, 5, 0, 1, 0x00000000}, + {0xa7, 4, 0, 0, 0x6418f097}, + {0xbf, 5, 3, 0, 0x00000000}, {0x57, 5, 0, 0, 0x00000010}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xdedfa7bf}, - {0xbf, 5, 4, 0, 0x00000000}, + {0x15, 5, 0, 1, 0x00000000}, + {0xa7, 4, 0, 0, 0xc831e12f}, + {0xbf, 5, 3, 0, 0x00000000}, {0x57, 5, 0, 0, 0x00000008}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xbdbf4f7f}, - {0xbf, 5, 4, 0, 0x00000000}, + {0x15, 5, 0, 1, 0x00000000}, + {0xa7, 4, 0, 0, 0x9063c25f}, + {0xbf, 5, 3, 0, 0x00000000}, {0x57, 5, 0, 0, 0x00000004}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x7b7e9eff}, - {0xbf, 5, 4, 0, 0x00000000}, + {0x15, 5, 0, 1, 0x00000000}, + {0xa7, 4, 0, 0, 0x20c784be}, + {0xbf, 5, 3, 0, 0x00000000}, {0x57, 5, 0, 0, 0x00000002}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xf6fd3dff}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000001}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xedfa7bfe}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00008000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xdbf4f7fc}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00004000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xb7e9eff9}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00002000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x6fd3dff2}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00001000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xdfa7bfe5}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000800}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xbf4f7fca}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000400}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x7e9eff94}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000200}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xfd3dff28}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000100}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xfa7bfe51}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00800000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xf4f7fca2}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00400000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xe9eff945}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00200000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xd3dff28a}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00100000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xa7bfe514}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00080000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x4f7fca28}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00040000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x9eff9450}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00020000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x3dff28a0}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00010000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x7bfe5141}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x67, 5, 0, 0, 0x00000020}, - {0xc7, 5, 0, 0, 0x00000020}, - {0x6d, 5, 3, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xf7fca283}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x40000000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xeff94506}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x20000000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xdff28a0c}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x10000000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xbfe51418}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x08000000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x7fca2831}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x04000000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xff945063}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x02000000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xff28a0c6}, - {0x57, 4, 0, 0, 0x01000000}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xfe51418c}, - {0x61, 4, 6, 16, 0x00000000}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000080}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xfca28319}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000040}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xf9450633}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000020}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xf28a0c67}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000010}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xe51418ce}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000008}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xca28319d}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000004}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x9450633b}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000002}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x28a0c676}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000001}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x51418ced}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00008000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xa28319db}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00004000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x450633b6}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00002000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x8a0c676c}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00001000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x1418ced8}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000800}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x28319db1}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000400}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x50633b63}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000200}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xa0c676c6}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000100}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x418ced8d}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00800000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x8319db1a}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00400000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x0633b634}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00200000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x0c676c68}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00100000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x18ced8d1}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00080000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x319db1a3}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00040000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x633b6347}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00020000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xc676c68f}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00010000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x8ced8d1f}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x67, 5, 0, 0, 0x00000020}, - {0xc7, 5, 0, 0, 0x00000020}, - {0x6d, 5, 3, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x19db1a3e}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x40000000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x33b6347d}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x20000000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x676c68fa}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x10000000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xced8d1f4}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x08000000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x9db1a3e9}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x04000000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x3b6347d2}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x02000000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x76c68fa5}, - {0x57, 4, 0, 0, 0x01000000}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xed8d1f4a}, - {0x61, 4, 6, 20, 0x00000000}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000080}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xdb1a3e94}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000040}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xb6347d28}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000020}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x6c68fa51}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000010}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xd8d1f4a3}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000008}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xb1a3e946}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000004}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x6347d28d}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000002}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xc68fa51a}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000001}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x8d1f4a35}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00008000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x1a3e946b}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00004000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x347d28d7}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00002000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x68fa51ae}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00001000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xd1f4a35c}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000800}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xa3e946b9}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000400}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x47d28d73}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000200}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x8fa51ae7}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000100}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x1f4a35cf}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00800000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x3e946b9e}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00400000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x7d28d73c}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00200000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xfa51ae78}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00100000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xf4a35cf1}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00080000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xe946b9e3}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00040000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xd28d73c7}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00020000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xa51ae78e}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00010000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x4a35cf1c}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x67, 5, 0, 0, 0x00000020}, - {0xc7, 5, 0, 0, 0x00000020}, - {0x6d, 5, 3, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x946b9e38}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x40000000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x28d73c71}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x20000000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x51ae78e3}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x10000000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xa35cf1c6}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x08000000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x46b9e38d}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x04000000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x8d73c71b}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x02000000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x1ae78e36}, - {0x57, 4, 0, 0, 0x01000000}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x35cf1c6c}, - {0x61, 4, 6, 24, 0x00000000}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000080}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x6b9e38d9}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000040}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xd73c71b2}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000020}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xae78e364}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000010}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x5cf1c6c9}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000008}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xb9e38d92}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000004}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x73c71b25}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000002}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xe78e364b}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000001}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xcf1c6c96}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00008000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x9e38d92c}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00004000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x3c71b259}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00002000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x78e364b2}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00001000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xf1c6c964}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000800}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xe38d92c9}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000400}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xc71b2593}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000200}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x8e364b27}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000100}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x1c6c964e}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00800000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x38d92c9c}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00400000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x71b25938}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00200000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xe364b270}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00100000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xc6c964e0}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00080000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x8d92c9c0}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00040000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x1b259380}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00020000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x364b2700}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00010000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x6c964e01}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x67, 5, 0, 0, 0x00000020}, - {0xc7, 5, 0, 0, 0x00000020}, - {0x6d, 5, 3, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xd92c9c03}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x40000000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xb2593807}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x20000000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x64b2700f}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x10000000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xc964e01e}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x08000000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x92c9c03d}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x04000000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x2593807a}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x02000000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x4b2700f4}, - {0x57, 4, 0, 0, 0x01000000}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x964e01e8}, - {0x61, 4, 6, 28, 0x00000000}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000080}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x2c9c03d1}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000040}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x593807a3}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000020}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xb2700f46}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000010}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x64e01e8d}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000008}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xc9c03d1a}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000004}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x93807a35}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000002}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x2700f46b}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000001}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x4e01e8d6}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00008000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x9c03d1ad}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00004000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x3807a35b}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00002000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x700f46b6}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00001000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xe01e8d6c}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000800}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xc03d1ad9}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000400}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x807a35b3}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000200}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x00f46b66}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000100}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x01e8d6cc}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00800000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x03d1ad99}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00400000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x07a35b32}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00200000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x0f46b665}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00100000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x1e8d6cca}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00080000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x3d1ad994}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00040000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x7a35b328}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00020000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xf46b6651}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00010000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xe8d6cca2}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x67, 5, 0, 0, 0x00000020}, - {0xc7, 5, 0, 0, 0x00000020}, - {0x6d, 5, 3, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xd1ad9944}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x40000000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xa35b3289}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x20000000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x46b66512}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x10000000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x8d6cca25}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x08000000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x1ad9944a}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x04000000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x35b32894}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x02000000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x6b665129}, - {0x57, 4, 0, 0, 0x01000000}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xd6cca253}, - {0x61, 4, 6, 32, 0x00000000}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000080}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xad9944a7}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000040}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x5b32894f}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000020}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xb665129f}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000010}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x6cca253e}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000008}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xd9944a7d}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000004}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xb32894fb}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000002}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x665129f6}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000001}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xcca253ec}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00008000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x9944a7d9}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00004000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x32894fb2}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00002000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x65129f65}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00001000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xca253eca}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000800}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x944a7d95}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000400}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x2894fb2a}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000200}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x5129f655}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000100}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xa253ecab}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00800000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x44a7d956}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00400000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x894fb2ac}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00200000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x129f6558}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00100000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x253ecab1}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00080000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x4a7d9563}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00040000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x94fb2ac7}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00020000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x29f6558f}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00010000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x53ecab1e}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x67, 5, 0, 0, 0x00000020}, - {0xc7, 5, 0, 0, 0x00000020}, - {0x6d, 5, 3, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xa7d9563d}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x40000000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x4fb2ac7a}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x20000000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x9f6558f5}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x10000000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x3ecab1ea}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x08000000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x7d9563d5}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x04000000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xfb2ac7ab}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x02000000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xf6558f56}, - {0x57, 4, 0, 0, 0x01000000}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xecab1eac}, - {0x61, 4, 6, 36, 0x00000000}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000080}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xd9563d59}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000040}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xb2ac7ab2}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000020}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x6558f564}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000010}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xcab1eac8}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000008}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x9563d590}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000004}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x2ac7ab20}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000002}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x558f5641}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000001}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xab1eac83}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00008000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x563d5906}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00004000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xac7ab20c}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00002000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x58f56418}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00001000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xb1eac831}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000800}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x63d59063}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000400}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xc7ab20c7}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000200}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x8f56418f}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000100}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x1eac831e}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00800000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x3d59063c}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00400000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x7ab20c78}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00200000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xf56418f0}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00100000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xeac831e1}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00080000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xd59063c2}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00040000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xab20c784}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00020000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x56418f09}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00010000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xac831e12}, - {0xbf, 5, 4, 0, 0x00000000}, + {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}, - {0x6d, 5, 3, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x59063c25}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x40000000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xb20c784b}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x20000000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x6418f097}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x10000000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xc831e12f}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x08000000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x9063c25f}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x04000000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x20c784be}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x02000000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x418f097c}, - {0x57, 4, 0, 0, 0x01000000}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x831e12f9}, - {0x71, 4, 6, 40, 0x00000000}, - {0x67, 4, 0, 0, 0x00000008}, - {0x71, 5, 6, 41, 0x00000000}, - {0x4f, 4, 5, 0, 0x00000000}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x67, 5, 0, 0, 0x00000030}, - {0xc7, 5, 0, 0, 0x00000020}, - {0x6d, 5, 3, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x063c25f3}, - {0x67, 4, 0, 0, 0x00000010}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x40000000}, - {0x1d, 3, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x0c784be7}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x20000000}, - {0x1d, 3, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x18f097cf}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x10000000}, - {0x1d, 3, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x31e12f9f}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x08000000}, - {0x1d, 3, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x63c25f3f}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x04000000}, - {0x1d, 3, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xc784be7f}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x02000000}, - {0x1d, 3, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x8f097cff}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x01000000}, - {0x1d, 3, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x1e12f9fe}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00800000}, - {0x1d, 3, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x3c25f3fc}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00400000}, - {0x1d, 3, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x784be7f8}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00200000}, - {0x1d, 3, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xf097cff0}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00100000}, - {0x1d, 3, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xe12f9fe0}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00080000}, - {0x1d, 3, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xc25f3fc1}, {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00040000}, - {0x1d, 3, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x84be7f83}, + {0xa7, 3, 0, 0, 0x063c25f3}, + {0x6d, 2, 5, 1, 0x00000000}, {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00020000}, - {0x1d, 3, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x097cff07}, - {0x57, 4, 0, 0, 0x00010000}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x12f9fe0f}, - {0x71, 3, 6, 42, 0x00000000}, - {0x67, 3, 0, 0, 0x00000008}, - {0xbf, 4, 3, 0, 0x00000000}, - {0x57, 4, 0, 0, 0x00008000}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x25f3fc1f}, - {0xbf, 4, 3, 0, 0x00000000}, - {0x57, 4, 0, 0, 0x00004000}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x4be7f83f}, - {0xbf, 4, 3, 0, 0x00000000}, - {0x57, 4, 0, 0, 0x00002000}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x97cff07f}, - {0xbf, 4, 3, 0, 0x00000000}, - {0x57, 4, 0, 0, 0x00001000}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x2f9fe0fe}, - {0xbf, 4, 3, 0, 0x00000000}, - {0x57, 4, 0, 0, 0x00000800}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x5f3fc1fd}, - {0xbf, 4, 3, 0, 0x00000000}, - {0x57, 4, 0, 0, 0x00000400}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xbe7f83fb}, - {0xbf, 4, 3, 0, 0x00000000}, - {0x57, 4, 0, 0, 0x00000200}, - {0x1d, 4, 2, 1, 0x00000000},
Lines of this file are not shown. View the raw message.
The rest of this diff is not shown. View the raw message.
Signature · 1 line
2.41.0
Part of the diff is not shown here. View the raw message.
v5 cover net/tap: build and fix for BPF program
In reply to Stephen HemmingerUpdate the documentation and tools to build the BPF program used by tap device. And apply fix to the RSS algorithm to correctly handle non-IP protocols.
v5 - merge patches into series and fix rebuild
Madhuker Mythri (1):
net/tap: Fixed RSS algorithm to support fragmented packets
Stephen Hemminger (2):
net/tap: support infrastructure to build the BPF filter net/tap; rebuild and update the BPF flow program
doc/guides/nics/tap.rst | 11 +-
drivers/net/tap/bpf/.gitignore | 1 +
drivers/net/tap/bpf/Makefile | 18 +
drivers/net/tap/bpf/bpf_api.h | 275 ++
drivers/net/tap/bpf/bpf_elf.h | 53 +
drivers/net/tap/bpf/bpf_extract.py | 86 +
drivers/net/tap/{ => bpf}/tap_bpf_program.c | 57 +-
drivers/net/tap/tap_bpf_insns.h | 2988 ++++++++++---------
drivers/net/tap/tap_rss.h | 2 +-
9 files changed, 2000 insertions(+), 1491 deletions(-)
create mode 100644 drivers/net/tap/bpf/.gitignore
create mode 100644 drivers/net/tap/bpf/Makefile
create mode 100644 drivers/net/tap/bpf/bpf_api.h
create mode 100644 drivers/net/tap/bpf/bpf_elf.h
create mode 100644 drivers/net/tap/bpf/bpf_extract.py
rename drivers/net/tap/{ => bpf}/tap_bpf_program.c (79%)Signature · 1 line
2.41.0
PATCH v5 1/3 net/tap: support infrastructure to build the BPF filter
Move the BPF program related code into a subdirectory. And add a Makefile for building it.
The code depends on include files from iproute2. But these are not public headers which iproute2 exports as a package API. Therefore make a local copy here.
The standalone build was also broken because by
commit ef5baf3486e0 ("replace packed attributes")
which introduced __rte_packed into this code.
Add a python program to extract the resulting BPF into a format that can be consumed by the TAP driver.
Update the documentation.
---
doc/guides/nics/tap.rst | 11 +-
drivers/net/tap/bpf/.gitignore | 1 +
drivers/net/tap/bpf/Makefile | 18 ++
drivers/net/tap/bpf/bpf_api.h | 275 ++++++++++++++++++++
drivers/net/tap/bpf/bpf_elf.h | 53 ++++
drivers/net/tap/bpf/bpf_extract.py | 86 ++++++
drivers/net/tap/{ => bpf}/tap_bpf_program.c | 10 +-
drivers/net/tap/tap_rss.h | 2 +-
8 files changed, 444 insertions(+), 12 deletions(-)
create mode 100644 drivers/net/tap/bpf/.gitignore
create mode 100644 drivers/net/tap/bpf/Makefile
create mode 100644 drivers/net/tap/bpf/bpf_api.h
create mode 100644 drivers/net/tap/bpf/bpf_elf.h
create mode 100644 drivers/net/tap/bpf/bpf_extract.py
rename drivers/net/tap/{ => bpf}/tap_bpf_program.c (96%)doc/guides/nics/tap.rst +4 -7
@@ -256,15 +256,12 @@ C functions under different ELF sections. 2. Install ``LLVM`` library and ``clang`` compiler versions 3.7 and above -3. Compile ``tap_bpf_program.c`` via ``LLVM`` into an object file:: +3. Use make to compile `tap_bpf_program.c`` via ``LLVM`` into an object file + and extract the resulting instructions into ``tap_bpf_insn.h``. - clang -O2 -emit-llvm -c tap_bpf_program.c -o - | llc -march=bpf \ - -filetype=obj -o <tap_bpf_program.o> + cd bpf; make - -4. Use a tool that receives two parameters: an eBPF object file and a section -name, and prints out the section as a C array of eBPF instructions. -Embed the C array in your TAP PMD tree. +4. Recompile the TAP PMD. The C arrays are uploaded to the kernel using BPF system calls.
drivers/net/tap/bpf/.gitignore new file +1 -0
@@ -0,0 +1 @@ +tap_bpf_program.o
drivers/net/tap/bpf/Makefile new file +18 -0
@@ -0,0 +1,18 @@ +# SPDX-License-Identifier: BSD-3-Clause +# This file is not built as part of normal DPDK build. +# It is used to generate the eBPF code for TAP RSS. +CLANG=clang +CLANG_OPTS=-O2 +TARGET=../tap_bpf_insns.h + +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 $@ + +$(TARGET): bpf_extract.py tap_bpf_program.o + python3 bpf_extract.py tap_bpf_program.o $@
drivers/net/tap/bpf/bpf_api.h new file +275 -0
275 lines not on this page · raw message
drivers/net/tap/bpf/bpf_elf.h new file +53 -0
53 lines not on this page · raw message
drivers/net/tap/bpf/bpf_extract.py new file +86 -0
86 lines not on this page · raw message
drivers/net/tap/bpf/tap_bpf_program.c renamed from drivers/net/tap/tap_bpf_program.c +6 -4
@@ -14,9 +14,10 @@#include <linux/ipv6.h> #include <linux/if_tunnel.h> #include <linux/filter.h> -#include <linux/bpf.h> -#include "tap_rss.h" +#include "bpf_api.h" +#include "bpf_elf.h" +#include "../tap_rss.h" /** Create IPv4 address */ #define IPv4 (a, b, c, d) ((__u32)(((a) & 0xff) << 24) | \
@@ -56,6 +57,7 @@ __section("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;
@@ -75,14 +77,14 @@ struct ipv4_l3_l4_tuple {__u32 dst_addr;__u16 dport;__u16 sport; -} __rte_packed; +} __attribute__((packed));struct ipv6_l3_l4_tuple {__u8 src_addr[16 ];__u8 dst_addr[16 ];__u16 dport;__u16 sport; -} __rte_packed; +} __attribute__((packed));static const __u8 def_rss_key[TAP_RSS_HASH_KEY_SIZE ] = {0xd1 ,0x81 ,0xc6 ,0x2c ,
drivers/net/tap/tap_rss.h +1 -1
@@ -35,6 +35,6 @@ struct rss_key {__u32 key_size;__u32 queues[TAP_MAX_QUEUES ];__u32 nb_queues; -} __rte_packed; +} __attribute__((packed));#endif /* _TAP_RSS_H_ */
Signature · 1 line
2.41.0
PATCH v5 2/3 net/tap: Fixed RSS algorithm to support fragmented packets
In reply to Stephen HemmingerFrom: Madhuker Mythri <[email protected]>
As per analysis on Tap PMD, the existing RSS algorithm considering 4-tuple(Src-IP, Dst-IP, Src-port and Dst-port) and identification of fragment packets is not done, thus we are seeing all the fragmented chunks of single packet differs in RSS hash value and distributed across multiple queues.
The RSS algorithm assumes that, all the incoming IP packets are based on L4-protocol(UDP/TCP) and trying to fetch the L4 fields(Src-port and Dst-port) for each incoming packet, but for the fragmented chunks these L4-header will not be present(except for first packet) and should not consider in RSS hash for L4 header fields in-case of fragmented chunks. Which is a bug in the RSS algorithm implemented in the BPF functionality under TAP PMD.
So, modified the RSS eBPF C-program and generated the structure of C-array in the 'tap_bpf_insns.h' file, which is in eBPF byte-code instructions format.
Bugzilla Id: 870
--- drivers/net/tap/bpf/tap_bpf_program.c | 47 ++++++++++++++++++++++----- 1 file changed, 39 insertions(+), 8 deletions(-)
drivers/net/tap/bpf/tap_bpf_program.c +39 -8
@@ -19,6 +19,8 @@#include "bpf_elf.h" #include "../tap_rss.h" +#include "bpf_api.h" +/** Create IPv4 address */ #define IPv4 (a, b, c, d) ((__u32)(((a) & 0xff) << 24) | \ (((b) & 0xff) << 16) | \
@@ -133,6 +135,8 @@ rss_l3_l4(struct __sk_buff *skb)__u8 *key =0 ;__u32 len;__u32 queue =0 ; +bool mf =0 ; +__u16 frag_off =0 ; rsskey =map_lookup_elem (&map_keys, &key_idx);if (!rsskey) {
@@ -157,6 +161,8 @@ rss_l3_l4(struct __sk_buff *skb)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 );struct ipv4_l3_l4_tuple v4_tuple = { .src_addr = IPv4(*(src_dst_addr + 0),
@@ -167,11 +173,25 @@ rss_l3_l4(struct __sk_buff *skb) *(src_dst_addr + 5), *(src_dst_addr + 6), *(src_dst_addr + 7)), - .sport =PORT (*(src_dst_port +0 ), - *(src_dst_port + 1)), - .dport =PORT (*(src_dst_port +2 ), - *(src_dst_port + 3)), + .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 )); + } + }__u8 input_len =sizeof (v4_tuple) /sizeof (__u32);if (rsskey->hash_fields & (1 <<HASH_FIELD_IPV4_L3 )) input_len--;
@@ -184,6 +204,9 @@ rss_l3_l4(struct __sk_buff *skb) offsetof(struct ipv6hdr , saddr);__u8 *src_dst_port = data + off +sizeof (struct ipv6hdr ); +__u8 *next_hdr = data + off + + offsetof(struct ipv6hdr , nexthdr); +struct ipv6_l3_l4_tuple v6_tuple;for (j =0 ; j <4 ; j++) *((uint32_t *)&v6_tuple.src_addr + j) =
@@ -193,10 +216,18 @@ rss_l3_l4(struct __sk_buff *skb) *((uint32_t *)&v6_tuple.dst_addr + j) =__builtin_bswap32 (*((uint32_t *) src_dst_addr +4 + j)); - v6_tuple.sport =PORT (*(src_dst_port +0 ), - *(src_dst_port +1 )); - v6_tuple.dport =PORT (*(src_dst_port +2 ), - *(src_dst_port +3 )); + +/** 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 { + 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 ))
Signature · 1 line
2.41.0
PATCH v5 3/3 net/tap; rebuild and update the BPF flow program
In reply to Stephen HemmingerRebuild with commitc0335cc197 (tap; rebuild and update the BPF flow program, 2023-10-31)
--- drivers/net/tap/tap_bpf_insns.h | 2988 ++++++++++++++++--------------- 1 file changed, 1517 insertions(+), 1471 deletions(-)
drivers/net/tap/tap_bpf_insns.h +1517 -1471
@@ -1,64 +1,62 @@/* SPDX-License-Identifier: BSD-3-Clause -* Copyright 2017 Mellanox Technologies, Ltd +* Compiled BPF instructions do not edit */ #include <tap_bpf.h> -/* bpf_insn array matching cls_q section. See tap_bpf_program.c file */ static struct bpf_insn cls_q_insns[] = { {0x61 ,2 ,1 ,52 ,0x00000000 }, {0x18 ,3 ,0 ,0 ,0xdeadbeef }, - {0x00 ,0 ,0 ,0 ,0x00000000 }, + {0x0 ,0 ,0 ,0 ,0x00000000 }, {0x63 ,10 ,3 ,-4 ,0x00000000 }, {0xb7 ,0 ,0 ,0 ,0x00000000 }, {0x61 ,3 ,10 ,-4 ,0x00000000 }, - {0x07 ,3 ,0 ,0 ,0x7cafe800 }, + {0x7 ,3 ,0 ,0 ,0x7cafe800 }, {0x67 ,3 ,0 ,0 ,0x00000020 }, {0x77 ,3 ,0 ,0 ,0x00000020 }, {0x5d ,2 ,3 ,4 ,0x00000000 }, {0xb7 ,2 ,0 ,0 ,0x00000000 }, {0x63 ,1 ,2 ,52 ,0x00000000 }, {0x18 ,0 ,0 ,0 ,0xffffffff }, - {0x00 ,0 ,0 ,0 ,0x00000000 }, + {0x0 ,0 ,0 ,0 ,0x00000000 }, {0x95 ,0 ,0 ,0 ,0x00000000 }, }; -/* bpf_insn array matching l3_l4 section. see tap_bpf_program.c file */ static struct bpf_insn l3_l4_hash_insns[] = { {0xbf ,7 ,1 ,0 ,0x00000000 }, - {0x61 ,8 ,7 ,16 ,0x00000000 }, - {0x61 ,6 ,7 ,76 ,0x00000000 }, + {0x61 ,6 ,7 ,16 ,0x00000000 }, + {0x61 ,8 ,7 ,76 ,0x00000000 }, {0x61 ,9 ,7 ,80 ,0x00000000 }, {0x18 ,1 ,0 ,0 ,0xdeadbeef }, - {0x00 ,0 ,0 ,0 ,0x00000000 }, + {0x0 ,0 ,0 ,0 ,0x00000000 }, {0x63 ,10 ,1 ,-4 ,0x00000000 }, {0xbf ,2 ,10 ,0 ,0x00000000 }, - {0x07 ,2 ,0 ,0 ,0xfffffffc }, - {0x18 ,1 ,1 ,0 ,0x0000cafe }, - {0x00 ,0 ,0 ,0 ,0x00000000 }, + {0x7 ,2 ,0 ,0 ,0xfffffffc }, + {0x18 ,1 ,0 ,0 ,0x00000000 }, + {0x0 ,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 }, + {0x0 ,0 ,0 ,0 ,0x65727567 }, {0x7b ,10 ,1 ,-24 ,0x00000000 }, {0x18 ,1 ,0 ,0 ,0x6e207369 }, - {0x00 ,0 ,0 ,0 ,0x6320746f }, + {0x0 ,0 ,0 ,0 ,0x6320746f }, {0x7b ,10 ,1 ,-32 ,0x00000000 }, {0x18 ,1 ,0 ,0 ,0x20737372 }, - {0x00 ,0 ,0 ,0 ,0x2079656b }, + {0x0 ,0 ,0 ,0 ,0x2079656b }, {0x7b ,10 ,1 ,-40 ,0x00000000 }, {0x18 ,1 ,0 ,0 ,0x68736168 }, - {0x00 ,0 ,0 ,0 ,0x203a2928 }, + {0x0 ,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 }, + {0x7 ,1 ,0 ,0 ,0xffffffd0 }, {0xb7 ,2 ,0 ,0 ,0x00000023 }, {0x85 ,0 ,0 ,0 ,0x00000006 }, - {0x05 ,0 ,0 ,1632 ,0x00000000 }, + {0x5 ,0 ,0 ,1680 ,0x00000000 }, {0xb7 ,1 ,0 ,0 ,0x0000000e }, {0x61 ,2 ,7 ,20 ,0x00000000 }, {0x15 ,2 ,0 ,10 ,0x00000000 },
@@ -66,1630 +64,1678 @@ static struct bpf_insn l3_l4_hash_insns[] = { {0x55, 2, 0, 8, 0x0000a888}, {0xbf, 2, 7, 0, 0x00000000}, {0xb7, 7, 0, 0, 0x00000000}, - {0xbf, 1, 6, 0, 0x00000000}, - {0x07, 1, 0, 0, 0x00000012}, - {0x2d, 1, 9, 1622, 0x00000000}, + {0xbf, 1, 8, 0, 0x00000000}, + {0x7, 1, 0, 0, 0x00000012}, + {0x2d, 1, 9, 1670, 0x00000000}, {0xb7, 1, 0, 0, 0x00000012}, - {0x69, 8, 6, 16, 0x00000000}, + {0x69, 6, 8, 16, 0x00000000}, {0xbf, 7, 2, 0, 0x00000000}, + {0x57, 6, 0, 0, 0x0000ffff}, {0x7b, 10, 7, -56, 0x00000000}, - {0x57, 8, 0, 0, 0x0000ffff}, - {0x15, 8, 0, 409, 0x0000dd86}, + {0x15, 6, 0, 443, 0x0000dd86}, {0xb7, 7, 0, 0, 0x00000003}, - {0x55, 8, 0, 1614, 0x00000008}, - {0x0f, 6, 1, 0, 0x00000000}, + {0x55, 6, 0, 1662, 0x00000008}, + {0xf, 8, 1, 0, 0x00000000}, {0xb7, 7, 0, 0, 0x00000000}, - {0xbf, 1, 6, 0, 0x00000000}, - {0x07, 1, 0, 0, 0x00000018}, - {0x2d, 1, 9, 1609, 0x00000000}, - {0x71, 3, 6, 12, 0x00000000}, - {0xbf, 1, 3, 0, 0x00000000}, - {0x67, 1, 0, 0, 0x00000038}, - {0xc7, 1, 0, 0, 0x00000020}, - {0x77, 1, 0, 0, 0x0000001f}, - {0x57, 1, 0, 0, 0x2cc681d1}, - {0x67, 3, 0, 0, 0x00000018}, + {0xbf, 1, 8, 0, 0x00000000}, + {0x7, 1, 0, 0, 0x00000018}, + {0x2d, 1, 9, 1657, 0x00000000}, + {0xb7, 1, 0, 0, 0x00000000}, + {0x71, 3, 8, 12, 0x00000000}, + {0x71, 2, 8, 9, 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}, + {0x7, 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}, - {0x57, 4, 0, 0, 0x40000000}, + {0x67, 4, 0, 0, 0x00000038}, + {0xc7, 4, 0, 0, 0x00000038}, + {0xb7, 2, 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}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0x6340e8ad}, + {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}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00000040}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0x8d03a2b7}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00000020}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0x1a07456f}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00000010}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0x340e8ade}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00000008}, + {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}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00000002}, + {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}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00000040}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0xa2b7b7e9}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00000020}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0x456f6fd3}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00000010}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0x8adedfa7}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00000008}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0x15bdbf4f}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00000004}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0x2b7b7e9e}, + {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}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0xedfa7bfe}, + {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}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00000040}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0xb7e9eff9}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00000020}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0x6fd3dff2}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00000010}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0xdfa7bfe5}, + {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}, + {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}, + {0xbf, 4, 5, 0, 0x00000000}, + {0xa7, 4, 0, 0, 0xf4f7fca2}, + {0x6d, 2, 6, 1, 0x00000000}, + {0xbf, 4, 5, 0, 0x00000000}, + {0xbf, 5, 3, 0, 0x00000000}, + {0x57, 5, 0, 0, 0x00000040}, + {0x15, 5, 0, 1, 0x00000000}, + {0xa7, 4, 0, 0, 0xe9eff945}, + {0xbf, 5, 3, 0, 0x00000000}, + {0x57, 5, 0, 0, 0x00000020}, + {0x15, 5, 0, 1, 0x00000000}, + {0xa7, 4, 0, 0, 0xd3dff28a}, + {0xbf, 5, 3, 0, 0x00000000}, + {0x57, 5, 0, 0, 0x00000010}, + {0x15, 5, 0, 1, 0x00000000}, + {0xa7, 4, 0, 0, 0xa7bfe514}, + {0xbf, 5, 3, 0, 0x00000000}, + {0x57, 5, 0, 0, 0x00000008}, + {0x15, 5, 0, 1, 0x00000000}, + {0xa7, 4, 0, 0, 0x4f7fca28}, + {0xbf, 5, 3, 0, 0x00000000}, + {0x57, 5, 0, 0, 0x00000004}, + {0x15, 5, 0, 1, 0x00000000}, + {0xa7, 4, 0, 0, 0x9eff9450}, + {0xbf, 5, 3, 0, 0x00000000}, + {0x57, 5, 0, 0, 0x00000002}, + {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}, + {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}, + {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}, + {0xbf, 2, 1, 0, 0x00000000}, + {0x57, 2, 0, 0, 0x40000000}, + {0x15, 2, 0, 1, 0x00000000}, + {0xa7, 3, 0, 0, 0xf9450633}, + {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}, + {0xbf, 2, 1, 0, 0x00000000}, + {0x57, 2, 0, 0, 0x10000000}, + {0x15, 2, 0, 1, 0x00000000}, + {0xa7, 3, 0, 0, 0xe51418ce}, + {0xbf, 2, 1, 0, 0x00000000}, + {0x57, 2, 0, 0, 0x08000000}, + {0x15, 2, 0, 1, 0x00000000}, + {0xa7, 3, 0, 0, 0xca28319d}, + {0xbf, 2, 1, 0, 0x00000000}, + {0x57, 2, 0, 0, 0x04000000}, + {0x15, 2, 0, 1, 0x00000000}, + {0xa7, 3, 0, 0, 0x9450633b}, + {0xbf, 2, 1, 0, 0x00000000}, + {0x57, 2, 0, 0, 0x02000000}, + {0x15, 2, 0, 1, 0x00000000}, + {0xa7, 3, 0, 0, 0x28a0c676}, + {0xbf, 2, 1, 0, 0x00000000}, + {0x57, 2, 0, 0, 0x01000000}, + {0x15, 2, 0, 1, 0x00000000}, + {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}, + {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}, + {0xbf, 2, 1, 0, 0x00000000}, + {0x57, 2, 0, 0, 0x00100000}, + {0x15, 2, 0, 1, 0x00000000}, + {0xa7, 3, 0, 0, 0x1418ced8}, + {0xbf, 2, 1, 0, 0x00000000}, + {0x57, 2, 0, 0, 0x00080000}, + {0x15, 2, 0, 1, 0x00000000}, + {0xa7, 3, 0, 0, 0x28319db1}, + {0xbf, 2, 1, 0, 0x00000000}, + {0x57, 2, 0, 0, 0x00040000}, + {0x15, 2, 0, 1, 0x00000000}, + {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}, + {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}, + {0xbf, 2, 1, 0, 0x00000000}, + {0x57, 2, 0, 0, 0x00004000}, + {0x15, 2, 0, 1, 0x00000000}, + {0xa7, 3, 0, 0, 0x0633b634}, + {0xbf, 2, 1, 0, 0x00000000}, + {0x57, 2, 0, 0, 0x00002000}, + {0x15, 2, 0, 1, 0x00000000}, + {0xa7, 3, 0, 0, 0x0c676c68}, + {0xbf, 2, 1, 0, 0x00000000}, + {0x57, 2, 0, 0, 0x00001000}, + {0x15, 2, 0, 1, 0x00000000}, + {0xa7, 3, 0, 0, 0x18ced8d1}, + {0xbf, 2, 1, 0, 0x00000000}, + {0x57, 2, 0, 0, 0x00000800}, + {0x15, 2, 0, 1, 0x00000000}, + {0xa7, 3, 0, 0, 0x319db1a3}, + {0xbf, 2, 1, 0, 0x00000000}, + {0x57, 2, 0, 0, 0x00000400}, + {0x15, 2, 0, 1, 0x00000000}, + {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}, + {0xbf, 2, 1, 0, 0x00000000}, + {0x57, 2, 0, 0, 0x00000100}, + {0x15, 2, 0, 1, 0x00000000}, + {0xa7, 3, 0, 0, 0x8ced8d1f}, + {0xbf, 2, 1, 0, 0x00000000}, + {0x57, 2, 0, 0, 0x00000080}, + {0x15, 2, 0, 1, 0x00000000}, + {0xa7, 3, 0, 0, 0x19db1a3e}, + {0xbf, 2, 1, 0, 0x00000000}, + {0x57, 2, 0, 0, 0x00000040}, + {0x15, 2, 0, 1, 0x00000000}, + {0xa7, 3, 0, 0, 0x33b6347d}, + {0xbf, 2, 1, 0, 0x00000000}, + {0x57, 2, 0, 0, 0x00000020}, + {0x15, 2, 0, 1, 0x00000000}, + {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}, + {0xbf, 2, 1, 0, 0x00000000}, + {0x57, 2, 0, 0, 0x00000008}, + {0x15, 2, 0, 1, 0x00000000}, + {0xa7, 3, 0, 0, 0x9db1a3e9}, + {0xbf, 2, 1, 0, 0x00000000}, + {0x57, 2, 0, 0, 0x00000004}, + {0x15, 2, 0, 1, 0x00000000}, + {0xa7, 3, 0, 0, 0x3b6347d2}, + {0xbf, 2, 1, 0, 0x00000000}, + {0x57, 2, 0, 0, 0x00000002}, + {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}, + {0x5, 0, 0, 1192, 0x00000000}, + {0xf, 8, 1, 0, 0x00000000}, + {0xb7, 7, 0, 0, 0x00000000}, + {0xbf, 1, 8, 0, 0x00000000}, + {0x7, 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}, + {0xb7, 1, 0, 0, 0x00000000}, + {0x55, 3, 0, 12, 0x00000006}, + {0xbf, 3, 8, 0, 0x00000000}, + {0x7, 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}, + {0x57, 3, 0, 0, 0x40000000}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 4, 0, 0, 0x598d03a2}, + {0xbf, 3, 2, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x20000000}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 4, 0, 0, 0xb31a0745}, + {0xbf, 3, 2, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x10000000}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 4, 0, 0, 0x66340e8a}, + {0xbf, 3, 2, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x08000000}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 4, 0, 0, 0xcc681d15}, + {0xbf, 3, 2, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x04000000}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 4, 0, 0, 0x98d03a2b}, + {0xbf, 3, 2, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x02000000}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 4, 0, 0, 0x31a07456}, + {0xbf, 3, 2, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x01000000}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 4, 0, 0, 0x6340e8ad}, + {0xbf, 3, 2, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00800000}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 4, 0, 0, 0xc681d15b}, + {0xbf, 3, 2, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00400000}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 4, 0, 0, 0x8d03a2b7}, + {0xbf, 3, 2, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00200000}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 4, 0, 0, 0x1a07456f}, + {0xbf, 3, 2, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00100000}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 4, 0, 0, 0x340e8ade}, + {0xbf, 3, 2, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00080000}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 4, 0, 0, 0x681d15bd}, + {0xbf, 3, 2, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00040000}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 4, 0, 0, 0xd03a2b7b}, + {0xbf, 3, 2, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00020000}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 4, 0, 0, 0xa07456f6}, + {0xbf, 3, 2, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00010000}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 4, 0, 0, 0x40e8aded}, + {0xbf, 3, 2, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00008000}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 4, 0, 0, 0x81d15bdb}, + {0xbf, 3, 2, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00004000}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 4, 0, 0, 0x03a2b7b7}, + {0xbf, 3, 2, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00002000}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 4, 0, 0, 0x07456f6f}, + {0xbf, 3, 2, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00001000}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 4, 0, 0, 0x0e8adedf}, + {0xbf, 3, 2, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00000800}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 4, 0, 0, 0x1d15bdbf}, + {0xbf, 3, 2, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00000400}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 4, 0, 0, 0x3a2b7b7e}, + {0xbf, 3, 2, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00000200}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 4, 0, 0, 0x7456f6fd}, + {0xbf, 3, 2, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00000100}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 4, 0, 0, 0xe8adedfa}, + {0xbf, 3, 2, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00000080}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 4, 0, 0, 0xd15bdbf4}, + {0xbf, 3, 2, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00000040}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 4, 0, 0, 0xa2b7b7e9}, + {0xbf, 3, 2, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00000020}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 4, 0, 0, 0x456f6fd3}, + {0xbf, 3, 2, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00000010}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 4, 0, 0, 0x8adedfa7}, + {0xbf, 3, 2, 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}, + {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}, + {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}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x598d03a2}, + {0xbf, 5, 4, 0, 0x00000000}, + {0xa7, 5, 0, 0, 0x5bdbf4f7}, + {0x6d, 2, 3, 1, 0x00000000}, + {0xbf, 5, 4, 0, 0x00000000}, + {0xbf, 4, 3, 0, 0x00000000}, + {0x57, 4, 0, 0, 0x40000000}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0xb7b7e9ef}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x20000000}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xb31a0745}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0x6f6fd3df}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x10000000}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x66340e8a}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0xdedfa7bf}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x08000000}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xcc681d15}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0xbdbf4f7f}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x04000000}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x98d03a2b}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0x7b7e9eff}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x02000000}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x31a07456}, - {0x57, 3, 0, 0, 0x01000000}, - {0x1d, 3, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x6340e8ad}, - {0x71, 3, 6, 13, 0x00000000}, - {0x67, 3, 0, 0, 0x00000010}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0xf6fd3dff}, + {0xbf, 4, 3, 0, 0x00000000}, + {0x57, 4, 0, 0, 0x01000000}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0xedfa7bfe}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00800000}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xc681d15b}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0xdbf4f7fc}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00400000}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x8d03a2b7}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0xb7e9eff9}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00200000}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x1a07456f}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0x6fd3dff2}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00100000}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x340e8ade}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0xdfa7bfe5}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00080000}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x681d15bd}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0xbf4f7fca}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00040000}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xd03a2b7b}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0x7e9eff94}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00020000}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xa07456f6}, - {0x57, 3, 0, 0, 0x00010000}, - {0x1d, 3, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x40e8aded}, - {0x71, 3, 6, 14, 0x00000000}, - {0x67, 3, 0, 0, 0x00000008}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0xfd3dff28}, + {0xbf, 4, 3, 0, 0x00000000}, + {0x57, 4, 0, 0, 0x00010000}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0xfa7bfe51}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00008000}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x81d15bdb}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0xf4f7fca2}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00004000}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x03a2b7b7}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0xe9eff945}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00002000}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x07456f6f}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0xd3dff28a}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00001000}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x0e8adedf}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0xa7bfe514}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00000800}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x1d15bdbf}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0x4f7fca28}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00000400}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x3a2b7b7e}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0x9eff9450}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00000200}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x7456f6fd}, - {0x57, 3, 0, 0, 0x00000100}, - {0x1d, 3, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xe8adedfa}, - {0x71, 3, 6, 15, 0x00000000}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0x3dff28a0}, + {0xbf, 4, 3, 0, 0x00000000}, + {0x57, 4, 0, 0, 0x00000100}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0x7bfe5141}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00000080}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xd15bdbf4}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0xf7fca283}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00000040}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xa2b7b7e9}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0xeff94506}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00000020}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x456f6fd3}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0xdff28a0c}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00000010}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x8adedfa7}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0xbfe51418}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00000008}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x15bdbf4f}, - {0xbf, 4, 3, 0, 0x00000000}, - {0x57, 4, 0, 0, 0x00000004}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x2b7b7e9e}, - {0xbf, 4, 3, 0, 0x00000000}, - {0x57, 4, 0, 0, 0x00000002}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x56f6fd3d}, + {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}, + {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}, + {0xc7, 4, 0, 0, 0x00000020}, {0x57, 3, 0, 0, 0x00000001}, - {0x1d, 3, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xadedfa7b}, - {0x71, 4, 6, 16, 0x00000000}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x67, 5, 0, 0, 0x00000038}, - {0xc7, 5, 0, 0, 0x00000020}, - {0xb7, 3, 0, 0, 0xffffffff}, - {0x6d, 5, 3, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x5bdbf4f7}, - {0x67, 4, 0, 0, 0x00000018}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x40000000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xb7b7e9ef}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x20000000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x6f6fd3df}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x10000000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xdedfa7bf}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x08000000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xbdbf4f7f}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x04000000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x7b7e9eff}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x02000000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xf6fd3dff}, - {0x57, 4, 0, 0, 0x01000000}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xedfa7bfe}, - {0x71, 4, 6, 17, 0x00000000}, - {0x67, 4, 0, 0, 0x00000010}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00800000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xdbf4f7fc}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00400000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xb7e9eff9}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00200000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x6fd3dff2}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00100000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xdfa7bfe5}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00080000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xbf4f7fca}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00040000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x7e9eff94}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00020000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xfd3dff28}, - {0x57, 4, 0, 0, 0x00010000}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xfa7bfe51}, - {0x71, 4, 6, 18, 0x00000000}, - {0x67, 4, 0, 0, 0x00000008}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00008000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xf4f7fca2}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00004000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xe9eff945}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00002000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xd3dff28a}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00001000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xa7bfe514}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000800}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x4f7fca28}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000400}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x9eff9450}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000200}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x3dff28a0}, - {0x57, 4, 0, 0, 0x00000100}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x7bfe5141}, - {0x71, 4, 6, 19, 0x00000000}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000080}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xf7fca283}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000040}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xeff94506}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000020}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xdff28a0c}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000010}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xbfe51418}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000008}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x7fca2831}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000004}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xff945063}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000002}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xff28a0c6}, - {0x57, 4, 0, 0, 0x00000001}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xfe51418c}, - {0x71, 4, 6, 20, 0x00000000}, - {0x67, 4, 0, 0, 0x00000008}, - {0x71, 5, 6, 21, 0x00000000}, - {0x4f, 4, 5, 0, 0x00000000}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x67, 5, 0, 0, 0x00000030}, - {0xc7, 5, 0, 0, 0x00000020}, - {0x6d, 5, 3, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xfca28319}, - {0x67, 4, 0, 0, 0x00000010}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0xfe51418c}, + {0xbf, 7, 5, 0, 0x00000000}, + {0xa7, 7, 0, 0, 0xfca28319}, + {0x6d, 2, 4, 1, 0x00000000}, + {0xbf, 7, 5, 0, 0x00000000}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x40000000}, - {0x1d, 3, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xf9450633}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0xf9450633}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x20000000}, - {0x1d, 3, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xf28a0c67}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0xf28a0c67}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x10000000}, - {0x1d, 3, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xe51418ce}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0xe51418ce}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x08000000}, - {0x1d, 3, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xca28319d}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0xca28319d}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x04000000}, - {0x1d, 3, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x9450633b}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0x9450633b}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x02000000}, - {0x1d, 3, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x28a0c676}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0x28a0c676}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x01000000}, - {0x1d, 3, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x51418ced}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0x51418ced}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00800000}, - {0x1d, 3, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xa28319db}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0xa28319db}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00400000}, - {0x1d, 3, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x450633b6}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0x450633b6}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00200000}, - {0x1d, 3, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x8a0c676c}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0x8a0c676c}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00100000}, - {0x1d, 3, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x1418ced8}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0x1418ced8}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00080000}, - {0x1d, 3, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x28319db1}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0x28319db1}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00040000}, - {0x1d, 3, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x50633b63}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0x50633b63}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00020000}, - {0x1d, 3, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xa0c676c6}, - {0x57, 4, 0, 0, 0x00010000}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x418ced8d}, - {0x71, 3, 6, 22, 0x00000000}, - {0x67, 3, 0, 0, 0x00000008}, - {0xbf, 4, 3, 0, 0x00000000}, - {0x57, 4, 0, 0, 0x00008000}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x8319db1a}, - {0xbf, 4, 3, 0, 0x00000000}, - {0x57, 4, 0, 0, 0x00004000}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x0633b634}, - {0xbf, 4, 3, 0, 0x00000000}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0xa0c676c6}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00010000}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0x418ced8d}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00008000}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0x8319db1a}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00004000}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0x0633b634}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00002000}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0x0c676c68}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00001000}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0x18ced8d1}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00000800}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0x319db1a3}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00000400}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0x633b6347}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00000200}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0xc676c68f}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00000100}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0x8ced8d1f}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00000080}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0x19db1a3e}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00000040}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0x33b6347d}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00000020}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0x676c68fa}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00000010}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0xced8d1f4}, + {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}, + {0xbf, 5, 4, 0, 0x00000000}, + {0x57, 5, 0, 0, 0x00000004}, + {0x15, 5, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0x3b6347d2}, + {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}, + {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}, + {0x6d, 2, 3, 1, 0x00000000}, + {0xbf, 5, 7, 0, 0x00000000}, + {0xbf, 4, 3, 0, 0x00000000}, + {0x57, 4, 0, 0, 0x40000000}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0xb6347d28}, + {0xbf, 4, 3, 0, 0x00000000}, + {0x57, 4, 0, 0, 0x20000000}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0x6c68fa51}, + {0xbf, 4, 3, 0, 0x00000000}, + {0x57, 4, 0, 0, 0x10000000}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0xd8d1f4a3}, + {0xbf, 4, 3, 0, 0x00000000}, + {0x57, 4, 0, 0, 0x08000000}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0xb1a3e946}, + {0xbf, 4, 3, 0, 0x00000000}, + {0x57, 4, 0, 0, 0x04000000}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0x6347d28d}, + {0xbf, 4, 3, 0, 0x00000000}, + {0x57, 4, 0, 0, 0x02000000}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0xc68fa51a}, + {0xbf, 4, 3, 0, 0x00000000}, + {0x57, 4, 0, 0, 0x01000000}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0x8d1f4a35}, + {0xbf, 4, 3, 0, 0x00000000}, + {0x57, 4, 0, 0, 0x00800000}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0x1a3e946b}, + {0xbf, 4, 3, 0, 0x00000000}, + {0x57, 4, 0, 0, 0x00400000}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0x347d28d7}, + {0xbf, 4, 3, 0, 0x00000000}, + {0x57, 4, 0, 0, 0x00200000}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0x68fa51ae}, + {0xbf, 4, 3, 0, 0x00000000}, + {0x57, 4, 0, 0, 0x00100000}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0xd1f4a35c}, + {0xbf, 4, 3, 0, 0x00000000}, + {0x57, 4, 0, 0, 0x00080000}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0xa3e946b9}, + {0xbf, 4, 3, 0, 0x00000000}, + {0x57, 4, 0, 0, 0x00040000}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0x47d28d73}, + {0xbf, 4, 3, 0, 0x00000000}, + {0x57, 4, 0, 0, 0x00020000}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0x8fa51ae7}, + {0xbf, 4, 3, 0, 0x00000000}, + {0x57, 4, 0, 0, 0x00010000}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0x1f4a35cf}, + {0xbf, 4, 3, 0, 0x00000000}, + {0x57, 4, 0, 0, 0x00008000}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0x3e946b9e}, + {0xbf, 4, 3, 0, 0x00000000}, + {0x57, 4, 0, 0, 0x00004000}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0x7d28d73c}, + {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00002000}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x0c676c68}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0xfa51ae78}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00001000}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x18ced8d1}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0xf4a35cf1}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00000800}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x319db1a3}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0xe946b9e3}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00000400}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x633b6347}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0xd28d73c7}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00000200}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xc676c68f}, - {0x57, 3, 0, 0, 0x00000100}, - {0x1d, 3, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x8ced8d1f}, - {0x71, 3, 6, 23, 0x00000000}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0xa51ae78e}, + {0xbf, 4, 3, 0, 0x00000000}, + {0x57, 4, 0, 0, 0x00000100}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0x4a35cf1c}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00000080}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x19db1a3e}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0x946b9e38}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00000040}, - {0x79, 5, 10, -56, 0x00000000}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x33b6347d}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0x28d73c71}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00000020}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x676c68fa}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0x51ae78e3}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00000010}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xced8d1f4}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0xa35cf1c6}, {0xbf, 4, 3, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00000008}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x9db1a3e9}, - {0xbf, 4, 3, 0, 0x00000000}, - {0x57, 4, 0, 0, 0x00000004}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x3b6347d2}, - {0xbf, 4, 3, 0, 0x00000000}, - {0x57, 4, 0, 0, 0x00000002}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x76c68fa5}, + {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}, + {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}, + {0xc7, 4, 0, 0, 0x00000020}, {0x57, 3, 0, 0, 0x00000001}, - {0x1d, 3, 2, 1177, 0x00000000}, - {0xa7, 1, 0, 0, 0xed8d1f4a}, - {0x05, 0, 0, 1175, 0x00000000}, - {0x0f, 6, 1, 0, 0x00000000}, - {0xb7, 7, 0, 0, 0x00000000}, - {0xbf, 1, 6, 0, 0x00000000}, - {0x07, 1, 0, 0, 0x0000002c}, - {0x2d, 1, 9, 1202, 0x00000000}, - {0x61, 4, 6, 8, 0x00000000}, - {0xbf, 1, 4, 0, 0x00000000}, - {0x67, 1, 0, 0, 0x00000038}, - {0xc7, 1, 0, 0, 0x00000020}, - {0x77, 1, 0, 0, 0x0000001f}, - {0x57, 1, 0, 0, 0x2cc681d1}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0x35cf1c6c}, + {0xbf, 7, 5, 0, 0x00000000}, + {0xa7, 7, 0, 0, 0x6b9e38d9}, + {0x6d, 2, 4, 1, 0x00000000}, + {0xbf, 7, 5, 0, 0x00000000}, {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00000040}, - {0xb7, 2, 0, 0, 0x00000000}, - {0x1d, 3, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x598d03a2}, + {0x57, 3, 0, 0, 0x40000000}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0xd73c71b2}, {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00000020}, - {0x1d, 3, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xb31a0745}, + {0x57, 3, 0, 0, 0x20000000}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0xae78e364}, {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00000010}, - {0x1d, 3, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x66340e8a}, + {0x57, 3, 0, 0, 0x10000000}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0x5cf1c6c9}, {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00000008}, - {0x1d, 3, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xcc681d15}, + {0x57, 3, 0, 0, 0x08000000}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0xb9e38d92}, {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00000004}, - {0x1d, 3, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x98d03a2b}, + {0x57, 3, 0, 0, 0x04000000}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0x73c71b25}, {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00000002}, - {0x1d, 3, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x31a07456}, + {0x57, 3, 0, 0, 0x02000000}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0xe78e364b}, {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00000001}, - {0x1d, 3, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x6340e8ad}, + {0x57, 3, 0, 0, 0x01000000}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0xcf1c6c96}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00800000}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0x9e38d92c}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00400000}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0x3c71b259}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00200000}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0x78e364b2}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00100000}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0xf1c6c964}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00080000}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0xe38d92c9}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00040000}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0xc71b2593}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00020000}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0x8e364b27}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00010000}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0x1c6c964e}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00008000}, - {0x1d, 3, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xc681d15b}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0x38d92c9c}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00004000}, - {0x1d, 3, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x8d03a2b7}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0x71b25938}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00002000}, - {0x1d, 3, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x1a07456f}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0xe364b270}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00001000}, - {0x1d, 3, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x340e8ade}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0xc6c964e0}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00000800}, - {0x1d, 3, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x681d15bd}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0x8d92c9c0}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00000400}, - {0x1d, 3, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xd03a2b7b}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0x1b259380}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00000200}, - {0x1d, 3, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xa07456f6}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0x364b2700}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00000100}, - {0x1d, 3, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x40e8aded}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0x6c964e01}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00000080}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0xd92c9c03}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00000040}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0xb2593807}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00000020}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0x64b2700f}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00000010}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0xc964e01e}, + {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}, + {0xbf, 5, 4, 0, 0x00000000}, + {0x57, 5, 0, 0, 0x00000004}, + {0x15, 5, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0x2593807a}, + {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}, + {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}, + {0x6d, 2, 3, 1, 0x00000000}, + {0xbf, 5, 7, 0, 0x00000000}, + {0xbf, 4, 3, 0, 0x00000000}, + {0x57, 4, 0, 0, 0x40000000}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0x593807a3}, + {0xbf, 4, 3, 0, 0x00000000}, + {0x57, 4, 0, 0, 0x20000000}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0xb2700f46}, + {0xbf, 4, 3, 0, 0x00000000}, + {0x57, 4, 0, 0, 0x10000000}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0x64e01e8d}, + {0xbf, 4, 3, 0, 0x00000000}, + {0x57, 4, 0, 0, 0x08000000}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0xc9c03d1a}, + {0xbf, 4, 3, 0, 0x00000000}, + {0x57, 4, 0, 0, 0x04000000}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0x93807a35}, + {0xbf, 4, 3, 0, 0x00000000}, + {0x57, 4, 0, 0, 0x02000000}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0x2700f46b}, + {0xbf, 4, 3, 0, 0x00000000}, + {0x57, 4, 0, 0, 0x01000000}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0x4e01e8d6}, + {0xbf, 4, 3, 0, 0x00000000}, + {0x57, 4, 0, 0, 0x00800000}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0x9c03d1ad}, + {0xbf, 4, 3, 0, 0x00000000}, + {0x57, 4, 0, 0, 0x00400000}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0x3807a35b}, + {0xbf, 4, 3, 0, 0x00000000}, + {0x57, 4, 0, 0, 0x00200000}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0x700f46b6}, + {0xbf, 4, 3, 0, 0x00000000}, + {0x57, 4, 0, 0, 0x00100000}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0xe01e8d6c}, + {0xbf, 4, 3, 0, 0x00000000}, + {0x57, 4, 0, 0, 0x00080000}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0xc03d1ad9}, + {0xbf, 4, 3, 0, 0x00000000}, + {0x57, 4, 0, 0, 0x00040000}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0x807a35b3}, + {0xbf, 4, 3, 0, 0x00000000}, + {0x57, 4, 0, 0, 0x00020000}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0x00f46b66}, + {0xbf, 4, 3, 0, 0x00000000}, + {0x57, 4, 0, 0, 0x00010000}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0x01e8d6cc}, + {0xbf, 4, 3, 0, 0x00000000}, + {0x57, 4, 0, 0, 0x00008000}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0x03d1ad99}, + {0xbf, 4, 3, 0, 0x00000000}, + {0x57, 4, 0, 0, 0x00004000}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0x07a35b32}, + {0xbf, 4, 3, 0, 0x00000000}, + {0x57, 4, 0, 0, 0x00002000}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0x0f46b665}, + {0xbf, 4, 3, 0, 0x00000000}, + {0x57, 4, 0, 0, 0x00001000}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0x1e8d6cca}, + {0xbf, 4, 3, 0, 0x00000000}, + {0x57, 4, 0, 0, 0x00000800}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0x3d1ad994}, + {0xbf, 4, 3, 0, 0x00000000}, + {0x57, 4, 0, 0, 0x00000400}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0x7a35b328}, + {0xbf, 4, 3, 0, 0x00000000}, + {0x57, 4, 0, 0, 0x00000200}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0xf46b6651}, + {0xbf, 4, 3, 0, 0x00000000}, + {0x57, 4, 0, 0, 0x00000100}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0xe8d6cca2}, + {0xbf, 4, 3, 0, 0x00000000}, + {0x57, 4, 0, 0, 0x00000080}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0xd1ad9944}, + {0xbf, 4, 3, 0, 0x00000000}, + {0x57, 4, 0, 0, 0x00000040}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0xa35b3289}, + {0xbf, 4, 3, 0, 0x00000000}, + {0x57, 4, 0, 0, 0x00000020}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0x46b66512}, + {0xbf, 4, 3, 0, 0x00000000}, + {0x57, 4, 0, 0, 0x00000010}, + {0x15, 4, 0, 1, 0x00000000}, + {0xa7, 5, 0, 0, 0x8d6cca25}, + {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}, + {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}, + {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}, + {0x6d, 2, 4, 1, 0x00000000}, + {0xbf, 7, 5, 0, 0x00000000}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x40000000}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0x5b32894f}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x20000000}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0xb665129f}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x10000000}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0x6cca253e}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x08000000}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0xd9944a7d}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x04000000}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0xb32894fb}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x02000000}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0x665129f6}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x01000000}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0xcca253ec}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00800000}, - {0x1d, 3, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x81d15bdb}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0x9944a7d9}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00400000}, - {0x1d, 3, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x03a2b7b7}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0x32894fb2}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00200000}, - {0x1d, 3, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x07456f6f}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0x65129f65}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00100000}, - {0x1d, 3, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x0e8adedf}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0xca253eca}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00080000}, - {0x1d, 3, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x1d15bdbf}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0x944a7d95}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00040000}, - {0x1d, 3, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x3a2b7b7e}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0x2894fb2a}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00020000}, - {0x1d, 3, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x7456f6fd}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0x5129f655}, {0xbf, 3, 4, 0, 0x00000000}, {0x57, 3, 0, 0, 0x00010000}, - {0x1d, 3, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xe8adedfa}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0xa253ecab}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00008000}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0x44a7d956}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00004000}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0x894fb2ac}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00002000}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0x129f6558}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00001000}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0x253ecab1}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00000800}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0x4a7d9563}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00000400}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0x94fb2ac7}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00000200}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0x29f6558f}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00000100}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0x53ecab1e}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00000080}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0xa7d9563d}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00000040}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0x4fb2ac7a}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00000020}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0x9f6558f5}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00000010}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0x3ecab1ea}, + {0xbf, 3, 4, 0, 0x00000000}, + {0x57, 3, 0, 0, 0x00000008}, + {0x15, 3, 0, 1, 0x00000000}, + {0xa7, 7, 0, 0, 0x7d9563d5}, + {0x61, 3, 8, 36, 0x00000000}, {0xbf, 5, 4, 0, 0x00000000}, - {0x67, 5, 0, 0, 0x00000020}, - {0xc7, 5, 0, 0, 0x00000020}, - {0xb7, 3, 0, 0, 0xffffffff}, - {0x6d, 5, 3, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xd15bdbf4}, + {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}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xa2b7b7e9}, - {0xbf, 5, 4, 0, 0x00000000}, + {0x15, 5, 0, 1, 0x00000000}, + {0xa7, 4, 0, 0, 0xb2ac7ab2}, + {0xbf, 5, 3, 0, 0x00000000}, {0x57, 5, 0, 0, 0x20000000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x456f6fd3}, - {0xbf, 5, 4, 0, 0x00000000}, + {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}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x8adedfa7}, - {0xbf, 5, 4, 0, 0x00000000}, + {0x15, 5, 0, 1, 0x00000000}, + {0xa7, 4, 0, 0, 0xcab1eac8}, + {0xbf, 5, 3, 0, 0x00000000}, {0x57, 5, 0, 0, 0x08000000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x15bdbf4f}, - {0xbf, 5, 4, 0, 0x00000000}, + {0x15, 5, 0, 1, 0x00000000}, + {0xa7, 4, 0, 0, 0x9563d590}, + {0xbf, 5, 3, 0, 0x00000000}, {0x57, 5, 0, 0, 0x04000000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x2b7b7e9e}, - {0xbf, 5, 4, 0, 0x00000000}, + {0x15, 5, 0, 1, 0x00000000}, + {0xa7, 4, 0, 0, 0x2ac7ab20}, + {0xbf, 5, 3, 0, 0x00000000}, {0x57, 5, 0, 0, 0x02000000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x56f6fd3d}, - {0x57, 4, 0, 0, 0x01000000}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xadedfa7b}, - {0x61, 4, 6, 12, 0x00000000}, - {0xbf, 5, 4, 0, 0x00000000}, + {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}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x5bdbf4f7}, - {0xbf, 5, 4, 0, 0x00000000}, + {0x15, 5, 0, 1, 0x00000000}, + {0xa7, 4, 0, 0, 0x59063c25}, + {0xbf, 5, 3, 0, 0x00000000}, {0x57, 5, 0, 0, 0x00000040}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xb7b7e9ef}, - {0xbf, 5, 4, 0, 0x00000000}, + {0x15, 5, 0, 1, 0x00000000}, + {0xa7, 4, 0, 0, 0xb20c784b}, + {0xbf, 5, 3, 0, 0x00000000}, {0x57, 5, 0, 0, 0x00000020}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x6f6fd3df}, - {0xbf, 5, 4, 0, 0x00000000}, + {0x15, 5, 0, 1, 0x00000000}, + {0xa7, 4, 0, 0, 0x6418f097}, + {0xbf, 5, 3, 0, 0x00000000}, {0x57, 5, 0, 0, 0x00000010}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xdedfa7bf}, - {0xbf, 5, 4, 0, 0x00000000}, + {0x15, 5, 0, 1, 0x00000000}, + {0xa7, 4, 0, 0, 0xc831e12f}, + {0xbf, 5, 3, 0, 0x00000000}, {0x57, 5, 0, 0, 0x00000008}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xbdbf4f7f}, - {0xbf, 5, 4, 0, 0x00000000}, + {0x15, 5, 0, 1, 0x00000000}, + {0xa7, 4, 0, 0, 0x9063c25f}, + {0xbf, 5, 3, 0, 0x00000000}, {0x57, 5, 0, 0, 0x00000004}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x7b7e9eff}, - {0xbf, 5, 4, 0, 0x00000000}, + {0x15, 5, 0, 1, 0x00000000}, + {0xa7, 4, 0, 0, 0x20c784be}, + {0xbf, 5, 3, 0, 0x00000000}, {0x57, 5, 0, 0, 0x00000002}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xf6fd3dff}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000001}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xedfa7bfe}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00008000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xdbf4f7fc}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00004000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xb7e9eff9}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00002000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x6fd3dff2}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00001000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xdfa7bfe5}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000800}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xbf4f7fca}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000400}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x7e9eff94}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000200}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xfd3dff28}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000100}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xfa7bfe51}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00800000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xf4f7fca2}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00400000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xe9eff945}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00200000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xd3dff28a}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00100000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xa7bfe514}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00080000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x4f7fca28}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00040000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x9eff9450}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00020000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x3dff28a0}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00010000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x7bfe5141}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x67, 5, 0, 0, 0x00000020}, - {0xc7, 5, 0, 0, 0x00000020}, - {0x6d, 5, 3, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xf7fca283}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x40000000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xeff94506}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x20000000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xdff28a0c}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x10000000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xbfe51418}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x08000000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x7fca2831}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x04000000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xff945063}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x02000000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xff28a0c6}, - {0x57, 4, 0, 0, 0x01000000}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xfe51418c}, - {0x61, 4, 6, 16, 0x00000000}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000080}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xfca28319}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000040}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xf9450633}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000020}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xf28a0c67}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000010}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xe51418ce}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000008}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xca28319d}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000004}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x9450633b}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000002}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x28a0c676}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000001}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x51418ced}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00008000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xa28319db}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00004000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x450633b6}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00002000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x8a0c676c}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00001000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x1418ced8}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000800}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x28319db1}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000400}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x50633b63}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000200}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xa0c676c6}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000100}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x418ced8d}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00800000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x8319db1a}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00400000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x0633b634}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00200000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x0c676c68}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00100000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x18ced8d1}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00080000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x319db1a3}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00040000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x633b6347}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00020000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xc676c68f}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00010000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x8ced8d1f}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x67, 5, 0, 0, 0x00000020}, - {0xc7, 5, 0, 0, 0x00000020}, - {0x6d, 5, 3, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x19db1a3e}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x40000000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x33b6347d}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x20000000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x676c68fa}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x10000000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xced8d1f4}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x08000000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x9db1a3e9}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x04000000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x3b6347d2}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x02000000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x76c68fa5}, - {0x57, 4, 0, 0, 0x01000000}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xed8d1f4a}, - {0x61, 4, 6, 20, 0x00000000}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000080}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xdb1a3e94}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000040}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xb6347d28}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000020}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x6c68fa51}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000010}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xd8d1f4a3}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000008}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xb1a3e946}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000004}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x6347d28d}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000002}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xc68fa51a}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000001}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x8d1f4a35}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00008000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x1a3e946b}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00004000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x347d28d7}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00002000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x68fa51ae}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00001000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xd1f4a35c}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000800}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xa3e946b9}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000400}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x47d28d73}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000200}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x8fa51ae7}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000100}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x1f4a35cf}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00800000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x3e946b9e}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00400000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x7d28d73c}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00200000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xfa51ae78}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00100000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xf4a35cf1}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00080000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xe946b9e3}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00040000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xd28d73c7}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00020000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xa51ae78e}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00010000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x4a35cf1c}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x67, 5, 0, 0, 0x00000020}, - {0xc7, 5, 0, 0, 0x00000020}, - {0x6d, 5, 3, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x946b9e38}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x40000000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x28d73c71}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x20000000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x51ae78e3}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x10000000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xa35cf1c6}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x08000000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x46b9e38d}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x04000000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x8d73c71b}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x02000000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x1ae78e36}, - {0x57, 4, 0, 0, 0x01000000}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x35cf1c6c}, - {0x61, 4, 6, 24, 0x00000000}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000080}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x6b9e38d9}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000040}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xd73c71b2}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000020}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xae78e364}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000010}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x5cf1c6c9}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000008}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xb9e38d92}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000004}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x73c71b25}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000002}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xe78e364b}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000001}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xcf1c6c96}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00008000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x9e38d92c}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00004000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x3c71b259}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00002000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x78e364b2}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00001000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xf1c6c964}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000800}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xe38d92c9}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000400}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xc71b2593}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000200}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x8e364b27}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000100}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x1c6c964e}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00800000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x38d92c9c}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00400000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x71b25938}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00200000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xe364b270}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00100000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xc6c964e0}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00080000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x8d92c9c0}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00040000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x1b259380}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00020000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x364b2700}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00010000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x6c964e01}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x67, 5, 0, 0, 0x00000020}, - {0xc7, 5, 0, 0, 0x00000020}, - {0x6d, 5, 3, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xd92c9c03}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x40000000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xb2593807}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x20000000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x64b2700f}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x10000000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xc964e01e}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x08000000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x92c9c03d}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x04000000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x2593807a}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x02000000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x4b2700f4}, - {0x57, 4, 0, 0, 0x01000000}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x964e01e8}, - {0x61, 4, 6, 28, 0x00000000}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000080}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x2c9c03d1}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000040}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x593807a3}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000020}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xb2700f46}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000010}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x64e01e8d}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000008}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xc9c03d1a}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000004}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x93807a35}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000002}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x2700f46b}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000001}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x4e01e8d6}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00008000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x9c03d1ad}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00004000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x3807a35b}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00002000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x700f46b6}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00001000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xe01e8d6c}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000800}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xc03d1ad9}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000400}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x807a35b3}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000200}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x00f46b66}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000100}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x01e8d6cc}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00800000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x03d1ad99}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00400000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x07a35b32}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00200000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x0f46b665}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00100000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x1e8d6cca}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00080000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x3d1ad994}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00040000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x7a35b328}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00020000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xf46b6651}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00010000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xe8d6cca2}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x67, 5, 0, 0, 0x00000020}, - {0xc7, 5, 0, 0, 0x00000020}, - {0x6d, 5, 3, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xd1ad9944}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x40000000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xa35b3289}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x20000000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x46b66512}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x10000000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x8d6cca25}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x08000000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x1ad9944a}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x04000000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x35b32894}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x02000000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x6b665129}, - {0x57, 4, 0, 0, 0x01000000}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xd6cca253}, - {0x61, 4, 6, 32, 0x00000000}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000080}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xad9944a7}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000040}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x5b32894f}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000020}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xb665129f}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000010}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x6cca253e}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000008}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xd9944a7d}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000004}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xb32894fb}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000002}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x665129f6}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000001}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xcca253ec}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00008000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x9944a7d9}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00004000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x32894fb2}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00002000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x65129f65}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00001000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xca253eca}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000800}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x944a7d95}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000400}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x2894fb2a}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000200}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x5129f655}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000100}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xa253ecab}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00800000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x44a7d956}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00400000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x894fb2ac}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00200000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x129f6558}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00100000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x253ecab1}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00080000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x4a7d9563}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00040000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x94fb2ac7}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00020000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x29f6558f}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00010000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x53ecab1e}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x67, 5, 0, 0, 0x00000020}, - {0xc7, 5, 0, 0, 0x00000020}, - {0x6d, 5, 3, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xa7d9563d}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x40000000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x4fb2ac7a}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x20000000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x9f6558f5}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x10000000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x3ecab1ea}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x08000000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x7d9563d5}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x04000000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xfb2ac7ab}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x02000000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xf6558f56}, - {0x57, 4, 0, 0, 0x01000000}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xecab1eac}, - {0x61, 4, 6, 36, 0x00000000}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000080}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xd9563d59}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000040}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xb2ac7ab2}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000020}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x6558f564}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000010}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xcab1eac8}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000008}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x9563d590}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000004}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x2ac7ab20}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000002}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x558f5641}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000001}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xab1eac83}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00008000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x563d5906}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00004000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xac7ab20c}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00002000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x58f56418}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00001000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xb1eac831}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000800}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x63d59063}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000400}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xc7ab20c7}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000200}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x8f56418f}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000100}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x1eac831e}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00800000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x3d59063c}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00400000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x7ab20c78}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00200000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xf56418f0}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00100000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xeac831e1}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00080000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xd59063c2}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00040000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xab20c784}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00020000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x56418f09}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00010000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xac831e12}, - {0xbf, 5, 4, 0, 0x00000000}, + {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}, - {0x6d, 5, 3, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x59063c25}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x40000000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xb20c784b}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x20000000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x6418f097}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x10000000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xc831e12f}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x08000000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x9063c25f}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x04000000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x20c784be}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x02000000}, - {0x1d, 5, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x418f097c}, - {0x57, 4, 0, 0, 0x01000000}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x831e12f9}, - {0x71, 4, 6, 40, 0x00000000}, - {0x67, 4, 0, 0, 0x00000008}, - {0x71, 5, 6, 41, 0x00000000}, - {0x4f, 4, 5, 0, 0x00000000}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x67, 5, 0, 0, 0x00000030}, - {0xc7, 5, 0, 0, 0x00000020}, - {0x6d, 5, 3, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x063c25f3}, - {0x67, 4, 0, 0, 0x00000010}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x40000000}, - {0x1d, 3, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x0c784be7}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x20000000}, - {0x1d, 3, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x18f097cf}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x10000000}, - {0x1d, 3, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x31e12f9f}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x08000000}, - {0x1d, 3, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x63c25f3f}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x04000000}, - {0x1d, 3, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xc784be7f}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x02000000}, - {0x1d, 3, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x8f097cff}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x01000000}, - {0x1d, 3, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x1e12f9fe}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00800000}, - {0x1d, 3, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x3c25f3fc}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00400000}, - {0x1d, 3, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x784be7f8}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00200000}, - {0x1d, 3, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xf097cff0}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00100000}, - {0x1d, 3, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xe12f9fe0}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00080000}, - {0x1d, 3, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xc25f3fc1}, {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00040000}, - {0x1d, 3, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x84be7f83}, + {0xa7, 3, 0, 0, 0x063c25f3}, + {0x6d, 2, 5, 1, 0x00000000}, {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00020000}, - {0x1d, 3, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x097cff07}, - {0x57, 4, 0, 0, 0x00010000}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x12f9fe0f}, - {0x71, 3, 6, 42, 0x00000000}, - {0x67, 3, 0, 0, 0x00000008}, - {0xbf, 4, 3, 0, 0x00000000}, - {0x57, 4, 0, 0, 0x00008000}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x25f3fc1f}, - {0xbf, 4, 3, 0, 0x00000000}, - {0x57, 4, 0, 0, 0x00004000}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x4be7f83f}, - {0xbf, 4, 3, 0, 0x00000000}, - {0x57, 4, 0, 0, 0x00002000}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x97cff07f}, - {0xbf, 4, 3, 0, 0x00000000}, - {0x57, 4, 0, 0, 0x00001000}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x2f9fe0fe}, - {0xbf, 4, 3, 0, 0x00000000}, - {0x57, 4, 0, 0, 0x00000800}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x5f3fc1fd}, - {0xbf, 4, 3, 0, 0x00000000}, - {0x57, 4, 0, 0, 0x00000400}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0xbe7f83fb}, - {0xbf, 4, 3, 0, 0x00000000}, - {0x57, 4, 0, 0, 0x00000200}, - {0x1d, 4, 2, 1, 0x00000000}, - {0xa7, 1, 0, 0, 0x7cff07f7}, - {0x57, 3, 0, 0, 0x00000100},
Lines of this file are not shown. View the raw message.
The rest of this diff is not shown. View the raw message.
Signature · 1 line
2.41.0
Part of the diff is not shown here. View the raw message.
v6 cover net/tap: build and fix for BPF program
In reply to Stephen HemmingerUpdate the documentation and tools to build the BPF program used by tap device. And apply fix to the RSS algorithm to correctly handle non-IP protocols.
v6 - cosmetic improvements to extract process
add better boilerplate and fix python lint warnings
Madhuker Mythri (1):
net/tap: Fixed RSS algorithm to support fragmented packets
Stephen Hemminger (2):
net/tap: support infrastructure to build the BPF filter net/tap; rebuild and update the BPF flow program
doc/guides/nics/tap.rst | 11 +-
drivers/net/tap/bpf/.gitignore | 1 +
drivers/net/tap/bpf/Makefile | 18 +
drivers/net/tap/bpf/bpf_api.h | 275 ++
drivers/net/tap/bpf/bpf_elf.h | 53 +
drivers/net/tap/bpf/bpf_extract.py | 86 +
drivers/net/tap/{ => bpf}/tap_bpf_program.c | 57 +-
drivers/net/tap/tap_bpf_insns.h | 2959 ++++++++++---------
drivers/net/tap/tap_rss.h | 2 +-
9 files changed, 1986 insertions(+), 1476 deletions(-)
create mode 100644 drivers/net/tap/bpf/.gitignore
create mode 100644 drivers/net/tap/bpf/Makefile
create mode 100644 drivers/net/tap/bpf/bpf_api.h
create mode 100644 drivers/net/tap/bpf/bpf_elf.h
create mode 100644 drivers/net/tap/bpf/bpf_extract.py
rename drivers/net/tap/{ => bpf}/tap_bpf_program.c (79%)Signature · 1 line
2.41.0
PATCH v6 1/3 net/tap: support infrastructure to build the BPF filter
Move the BPF program related code into a subdirectory. And add a Makefile for building it.
The code depends on include files from iproute2. But these are not public headers which iproute2 exports as a package API. Therefore make a local copy here.
The standalone build was also broken because by
commit ef5baf3486e0 ("replace packed attributes")
which introduced __rte_packed into this code.
Add a python program to extract the resulting BPF into a format that can be consumed by the TAP driver.
Update the documentation.
---
doc/guides/nics/tap.rst | 11 +-
drivers/net/tap/bpf/.gitignore | 1 +
drivers/net/tap/bpf/Makefile | 18 ++
drivers/net/tap/bpf/bpf_api.h | 275 ++++++++++++++++++++
drivers/net/tap/bpf/bpf_elf.h | 53 ++++
drivers/net/tap/bpf/bpf_extract.py | 86 ++++++
drivers/net/tap/{ => bpf}/tap_bpf_program.c | 10 +-
drivers/net/tap/tap_rss.h | 2 +-
8 files changed, 444 insertions(+), 12 deletions(-)
create mode 100644 drivers/net/tap/bpf/.gitignore
create mode 100644 drivers/net/tap/bpf/Makefile
create mode 100644 drivers/net/tap/bpf/bpf_api.h
create mode 100644 drivers/net/tap/bpf/bpf_elf.h
create mode 100644 drivers/net/tap/bpf/bpf_extract.py
rename drivers/net/tap/{ => bpf}/tap_bpf_program.c (96%)doc/guides/nics/tap.rst +4 -7
@@ -256,15 +256,12 @@ C functions under different ELF sections. 2. Install ``LLVM`` library and ``clang`` compiler versions 3.7 and above -3. Compile ``tap_bpf_program.c`` via ``LLVM`` into an object file:: +3. Use make to compile `tap_bpf_program.c`` via ``LLVM`` into an object file + and extract the resulting instructions into ``tap_bpf_insn.h``. - clang -O2 -emit-llvm -c tap_bpf_program.c -o - | llc -march=bpf \ - -filetype=obj -o <tap_bpf_program.o> + cd bpf; make - -4. Use a tool that receives two parameters: an eBPF object file and a section -name, and prints out the section as a C array of eBPF instructions. -Embed the C array in your TAP PMD tree. +4. Recompile the TAP PMD. The C arrays are uploaded to the kernel using BPF system calls.
drivers/net/tap/bpf/.gitignore new file +1 -0
@@ -0,0 +1 @@ +tap_bpf_program.o
drivers/net/tap/bpf/Makefile new file +18 -0
@@ -0,0 +1,18 @@ +# SPDX-License-Identifier: BSD-3-Clause +# This file is not built as part of normal DPDK build. +# It is used to generate the eBPF code for TAP RSS. +CLANG=clang +CLANG_OPTS=-O2 +TARGET=../tap_bpf_insns.h + +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 $@ + +$(TARGET): tap_bpf_program.o + python3 bpf_extract.py -stap_bpf_program.c -o $@ $<
drivers/net/tap/bpf/bpf_api.h new file +275 -0
275 lines not on this page · raw message
drivers/net/tap/bpf/bpf_elf.h new file +53 -0
53 lines not on this page · raw message
drivers/net/tap/bpf/bpf_extract.py new file +86 -0
86 lines not on this page · raw message
drivers/net/tap/bpf/tap_bpf_program.c renamed from drivers/net/tap/tap_bpf_program.c +6 -4
@@ -14,9 +14,10 @@#include <linux/ipv6.h> #include <linux/if_tunnel.h> #include <linux/filter.h> -#include <linux/bpf.h> -#include "tap_rss.h" +#include "bpf_api.h" +#include "bpf_elf.h" +#include "../tap_rss.h" /** Create IPv4 address */ #define IPv4 (a, b, c, d) ((__u32)(((a) & 0xff) << 24) | \
@@ -56,6 +57,7 @@ __section("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;
@@ -75,14 +77,14 @@ struct ipv4_l3_l4_tuple {__u32 dst_addr;__u16 dport;__u16 sport; -} __rte_packed; +} __attribute__((packed));struct ipv6_l3_l4_tuple {__u8 src_addr[16 ];__u8 dst_addr[16 ];__u16 dport;__u16 sport; -} __rte_packed; +} __attribute__((packed));static const __u8 def_rss_key[TAP_RSS_HASH_KEY_SIZE ] = {0xd1 ,0x81 ,0xc6 ,0x2c ,
drivers/net/tap/tap_rss.h +1 -1
@@ -35,6 +35,6 @@ struct rss_key {__u32 key_size;__u32 queues[TAP_MAX_QUEUES ];__u32 nb_queues; -} __rte_packed; +} __attribute__((packed));#endif /* _TAP_RSS_H_ */
Signature · 1 line
2.41.0
PATCH v6 2/3 net/tap: Fixed RSS algorithm to support fragmented packets
In reply to Stephen HemmingerFrom: Madhuker Mythri <[email protected]>
As per analysis on Tap PMD, the existing RSS algorithm considering 4-tuple(Src-IP, Dst-IP, Src-port and Dst-port) and identification of fragment packets is not done, thus we are seeing all the fragmented chunks of single packet differs in RSS hash value and distributed across multiple queues.
The RSS algorithm assumes that, all the incoming IP packets are based on L4-protocol(UDP/TCP) and trying to fetch the L4 fields(Src-port and Dst-port) for each incoming packet, but for the fragmented chunks these L4-header will not be present(except for first packet) and should not consider in RSS hash for L4 header fields in-case of fragmented chunks. Which is a bug in the RSS algorithm implemented in the BPF functionality under TAP PMD.
So, modified the RSS eBPF C-program and generated the structure of C-array in the 'tap_bpf_insns.h' file, which is in eBPF byte-code instructions format.
Bugzilla Id: 870
--- drivers/net/tap/bpf/tap_bpf_program.c | 47 ++++++++++++++++++++++----- 1 file changed, 39 insertions(+), 8 deletions(-)
drivers/net/tap/bpf/tap_bpf_program.c +39 -8
@@ -19,6 +19,8 @@#include "bpf_elf.h" #include "../tap_rss.h" +#include "bpf_api.h" +/** Create IPv4 address */ #define IPv4 (a, b, c, d) ((__u32)(((a) & 0xff) << 24) | \ (((b) & 0xff) << 16) | \
@@ -133,6 +135,8 @@ rss_l3_l4(struct __sk_buff *skb)__u8 *key =0 ;__u32 len;__u32 queue =0 ; +bool mf =0 ; +__u16 frag_off =0 ; rsskey =map_lookup_elem (&map_keys, &key_idx);if (!rsskey) {
@@ -157,6 +161,8 @@ rss_l3_l4(struct __sk_buff *skb)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 );struct ipv4_l3_l4_tuple v4_tuple = { .src_addr = IPv4(*(src_dst_addr + 0),
@@ -167,11 +173,25 @@ rss_l3_l4(struct __sk_buff *skb) *(src_dst_addr + 5), *(src_dst_addr + 6), *(src_dst_addr + 7)), - .sport =PORT (*(src_dst_port +0 ), - *(src_dst_port + 1)), - .dport =PORT (*(src_dst_port +2 ), - *(src_dst_port + 3)), + .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 )); + } + }__u8 input_len =sizeof (v4_tuple) /sizeof (__u32);if (rsskey->hash_fields & (1 <<HASH_FIELD_IPV4_L3 )) input_len--;
@@ -184,6 +204,9 @@ rss_l3_l4(struct __sk_buff *skb) offsetof(struct ipv6hdr , saddr);__u8 *src_dst_port = data + off +sizeof (struct ipv6hdr ); +__u8 *next_hdr = data + off + + offsetof(struct ipv6hdr , nexthdr); +struct ipv6_l3_l4_tuple v6_tuple;for (j =0 ; j <4 ; j++) *((uint32_t *)&v6_tuple.src_addr + j) =
@@ -193,10 +216,18 @@ rss_l3_l4(struct __sk_buff *skb) *((uint32_t *)&v6_tuple.dst_addr + j) =__builtin_bswap32 (*((uint32_t *) src_dst_addr +4 + j)); - v6_tuple.sport =PORT (*(src_dst_port +0 ), - *(src_dst_port +1 )); - v6_tuple.dport =PORT (*(src_dst_port +2 ), - *(src_dst_port +3 )); + +/** 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 { + 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 ))
Signature · 1 line
2.41.0