No subject


Thu Jun 25 05:52:11 EDT 2020


v2 refreshes the patch on trunk at 41281

This patch adds support for the EasyLink EL-M150 and M-mini

http://wiki.openwrt.org/toh/easylink/el-m150
http://wiki.openwrt.org/toh/easylink/el-m-mini

Signed-off-by: L. D. Pinney <ldpinney at gmail.com>

---
diff --git a/target/linux/ar71xx/base-files/etc/diag.sh 
b/target/linux/ar71xx/base-files/etc/diag.sh
index d5063de..687cddf 100755
--- a/target/linux/ar71xx/base-files/etc/diag.sh
+++ b/target/linux/ar71xx/base-files/etc/diag.sh
@@ -65,6 +65,10 @@ get_status_led() {
  	eap7660d)
  		status_led="eap7660d:green:ds4"
  		;;
+	el-mini | \
+	el-m150)
+		status_led="EasyLink:green:system"
+		;;
  	hiwifi-hc6361)
  		status_led="hiwifi:blue:system"
  		;;
diff --git a/target/linux/ar71xx/base-files/etc/uci-defaults/02_network 
b/target/linux/ar71xx/base-files/etc/uci-defaults/02_network
index a2b2762..99c0268 100755
--- a/target/linux/ar71xx/base-files/etc/uci-defaults/02_network
+++ b/target/linux/ar71xx/base-files/etc/uci-defaults/02_network
@@ -152,6 +152,16 @@ ap113)
  	ucidef_add_switch_vlan "switch0" "2" "0t 2"
  	;;

+el-m150)
+	ucidef_set_interfaces_lan_wan "eth1" "eth0"
+	ucidef_add_switch "switch0" "1" "1"
+	ucidef_add_switch_vlan "switch0" "1" "0 1 3"
+	;;
+
+el-mini)
+	ucidef_set_interface_lan "eth0"
+	;;
+
  tl-wdr4300|\
  tl-wr1041n-v2)
  	ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2"
diff --git 
a/target/linux/ar71xx/base-files/etc/uci-defaults/03_network-switchX-migration 
b/target/linux/ar71xx/base-files/etc/uci-defaults/03_network-switchX-migration
index 093fbc1..31ce548 100755
--- 
a/target/linux/ar71xx/base-files/etc/uci-defaults/03_network-switchX-migration
+++ 
b/target/linux/ar71xx/base-files/etc/uci-defaults/03_network-switchX-migration
@@ -81,6 +81,7 @@ ew-dorin-router)
  	migrate_switch_name "eth0" "switch0"
  	;;

+el-m150|\
  rb-450)
  	migrate_switch_name "eth1" "switch0"
  	;;
diff --git a/target/linux/ar71xx/base-files/lib/ar71xx.sh 
b/target/linux/ar71xx/base-files/lib/ar71xx.sh
index 6dd5e62..4656ac2 100755
--- a/target/linux/ar71xx/base-files/lib/ar71xx.sh
+++ b/target/linux/ar71xx/base-files/lib/ar71xx.sh
@@ -91,6 +91,12 @@ tplink_board_detect() {
  	hwver="v${hwver#0}"

  	case "$hwid" in
+	"015000"*)
+		model="EasyLink EL-M150"
+		;;
+	"015300"*)
+		model="EasyLink EL-MINI"
+		;;
  	"3C0001"*)
  		model="OOLITE"
  		;;
@@ -307,6 +313,12 @@ ar71xx_board_detect() {
  	*EAP7660D)
  		name="eap7660d"
  		;;
+	*EL-M150)
+		name="el-m150"
+		;;
+	*EL-MINI)
+		name="el-mini"
+		;;
  	*JA76PF)
  		name="ja76pf"
  		;;
diff --git a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh 
b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
index 57803cc..6aaddf2 100755
--- a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
+++ b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
@@ -224,6 +224,8 @@ platform_check_image() {
  		;;

  	archer-c7 | \
+	el-m150 | \
+	el-mini | \
  	oolite | \
  	tl-mr10u | \
  	tl-mr11u | \
diff --git a/target/linux/ar71xx/config-3.10 
b/target/linux/ar71xx/config-3.10
index c294cd8..1346c3f 100644
--- a/target/linux/ar71xx/config-3.10
+++ b/target/linux/ar71xx/config-3.10
@@ -47,6 +47,8 @@ CONFIG_ATH79_MACH_DIR_825_B1=y
  CONFIG_ATH79_MACH_DIR_825_C1=y
  CONFIG_ATH79_MACH_DRAGINO2=y
  CONFIG_ATH79_MACH_EAP7660D=y
+CONFIG_ATH79_MACH_EL_M150=y
+CONFIG_ATH79_MACH_EL_MINI=y
  CONFIG_ATH79_MACH_EW_DORIN=y
  CONFIG_ATH79_MACH_GS_OOLITE=y
  CONFIG_ATH79_MACH_HORNET_UB=y
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-el-m150.c 
b/target/linux/ar71xx/files/arch/mips/ath79/mach-el-m150.c
index e69de29..72a396d 100644
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-el-m150.c
+++ b/target/linux/ar71xx/files/arch/mips/ath79/mach-el-m150.c
@@ -0,0 +1,112 @@
+/*
+ *  Easy-Link EL-M150 board support
+ *
+ *  Copyright (C) 2012 huangfc <huangfangcheng at 163.com>
+ *  Copyright (C) 2012 HYS <550663898 at qq.com>
+ *
+ *  This program is free software; you can redistribute it and/or modify 
it
+ *  under the terms of the GNU General Public License version 2 as 
published
+ *  by the Free Software Foundation.
+ */
+
+#include <linux/gpio.h>
+
+#include <asm/mach-ath79/ath79.h>
+#include <asm/mach-ath79/ar71xx_regs.h>
+
+#include "common.h"
+#include "dev-eth.h"
+#include "dev-gpio-buttons.h"
+#include "dev-leds-gpio.h"
+#include "dev-m25p80.h"
+#include "dev-wmac.h"
+#include "machtypes.h"
+#include "dev-usb.h"
+
+#define EL_M150_GPIO_BTN6		6
+#define EL_M150_GPIO_BTN7		7
+#define EL_M150_GPIO_BTN_RESET		11
+
+#define EL_M150_GPIO_LED_SYSTEM		27
+#define EL_M150_GPIO_USB_POWER		8
+
+#define EL_M150_KEYS_POLL_INTERVAL	20	/* msecs */
+#define EL_M150_KEYS_DEBOUNCE_INTERVAL (3 * EL_M150_KEYS_POLL_INTERVAL)
+
+static const char *EL_M150_part_probes[] = {
+	"tp-link",
+	NULL,
+};
+
+static struct flash_platform_data EL_M150_flash_data = {
+	.part_probes	= EL_M150_part_probes,
+};
+
+static struct gpio_led EL_M150_leds_gpio[] __initdata = {
+	{
+		.name		= "ELINK:green:system",
+		.gpio		= EL_M150_GPIO_LED_SYSTEM,
+		.active_low	= 1,
+	},
+};
+
+static struct gpio_keys_button EL_M150_gpio_keys[] __initdata = {
+	{
+		.desc		= "reset",
+		.type		= EV_KEY,
+		.code		= KEY_RESTART,
+		.debounce_interval = EL_M150_KEYS_DEBOUNCE_INTERVAL,
+		.gpio		= EL_M150_GPIO_BTN_RESET,
+		.active_low	= 0,
+	},
+	{
+		.desc		= "BTN_6",
+		.type		= EV_KEY,
+		.code		= BTN_6,
+		.debounce_interval = EL_M150_KEYS_DEBOUNCE_INTERVAL,
+		.gpio		= EL_M150_GPIO_BTN6,
+		.active_low	= 1,
+	},
+	{
+		.desc		= "BTN_7",
+		.type		= EV_KEY,
+		.code		= BTN_7,
+		.debounce_interval = EL_M150_KEYS_DEBOUNCE_INTERVAL,
+		.gpio		= EL_M150_GPIO_BTN7,
+		.active_low	= 1,
+	},
+};
+
+static void __init el_m150_setup(void)
+{
+	u8 *mac = (u8 *) KSEG1ADDR(0x1f01fc00);
+	u8 *ee = (u8 *) KSEG1ADDR(0x1fff1000);
+
+	/* disable PHY_SWAP and PHY_ADDR_SWAP bits */
+	ath79_setup_ar933x_phy4_switch(false, false);
+
+	ath79_register_leds_gpio(-1, ARRAY_SIZE(EL_M150_leds_gpio),
+				 EL_M150_leds_gpio);
+
+	ath79_register_gpio_keys_polled(-1, EL_M150_KEYS_POLL_INTERVAL,
+					ARRAY_SIZE(EL_M150_gpio_keys),
+					EL_M150_gpio_keys);
+
+	gpio_request_one(EL_M150_GPIO_USB_POWER,
+			 GPIOF_OUT_INIT_HIGH | GPIOF_EXPORT_DIR_FIXED,
+			 "USB power");
+	ath79_register_usb();
+
+	ath79_register_m25p80(&EL_M150_flash_data);
+	ath79_init_mac(ath79_eth0_data.mac_addr, mac, 1);
+	ath79_init_mac(ath79_eth1_data.mac_addr, mac, -1);
+
+	ath79_register_mdio(0, 0x0);
+	ath79_register_eth(0);
+	ath79_register_eth(1);
+
+	ath79_register_wmac(ee, mac);
+}
+
+MIPS_MACHINE(ATH79_MACH_EL_M150, "EL-M150",
+	     "EasyLink EL-M150", el_m150_setup);
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-el-mini.c 
b/target/linux/ar71xx/files/arch/mips/ath79/mach-el-mini.c
index e69de29..aaccb0d 100644
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-el-mini.c
+++ b/target/linux/ar71xx/files/arch/mips/ath79/mach-el-mini.c
@@ -0,0 +1,86 @@
+/*
+ *  Easy-Link EL-MINI board support
+ *
+ *  Copyright (C) 2012 huangfc <huangfangcheng at 163.com>
+ *  Copyright (C) 2011 hys <550663898 at qq.com>
+ *
+ *  This program is free software; you can redistribute it and/or modify 
it
+ *  under the terms of the GNU General Public License version 2 as 
published
+ *  by the Free Software Foundation.
+ */
+
+#include <linux/gpio.h>
+
+#include <asm/mach-ath79/ath79.h>
+
+#include "dev-eth.h"
+#include "dev-gpio-buttons.h"
+#include "dev-leds-gpio.h"
+#include "dev-m25p80.h"
+#include "dev-usb.h"
+#include "dev-wmac.h"
+#include "machtypes.h"
+
+#define MINI_GPIO_LED_SYSTEM	27
+#define MINI_GPIO_BTN_RESET	11
+
+#define MINI_GPIO_USB_POWER	8
+
+#define MINI_KEYS_POLL_INTERVAL	20	/* msecs */
+#define MINI_KEYS_DEBOUNCE_INTERVAL	(3 * MINI_KEYS_POLL_INTERVAL)
+
+static const char *mini_part_probes[] = {
+	"tp-link",
+	NULL,
+};
+
+static struct flash_platform_data mini_flash_data = {
+	.part_probes	= mini_part_probes,
+};
+
+static struct gpio_led mini_leds_gpio[] __initdata = {
+	{
+		.name		= "ELINK:green:system",
+		.gpio		= MINI_GPIO_LED_SYSTEM,
+		.active_low	= 1,
+	},
+};
+
+static struct gpio_keys_button mini_gpio_keys[] __initdata = {
+	{
+		.desc		= "reset",
+		.type		= EV_KEY,
+		.code		= KEY_RESTART,
+		.debounce_interval = MINI_KEYS_DEBOUNCE_INTERVAL,
+		.gpio		= MINI_GPIO_BTN_RESET,
+		.active_low	= 0,
+	}
+};
+
+static void __init el_mini_setup(void)
+{
+	u8 *mac = (u8 *) KSEG1ADDR(0x1f01fc00);
+	u8 *ee = (u8 *) KSEG1ADDR(0x1fff1000);
+
+	ath79_register_m25p80(&mini_flash_data);
+	ath79_register_leds_gpio(-1, ARRAY_SIZE(mini_leds_gpio),
+				 mini_leds_gpio);
+	ath79_register_gpio_keys_polled(-1, MINI_KEYS_POLL_INTERVAL,
+					ARRAY_SIZE(mini_gpio_keys),
+					mini_gpio_keys);
+
+	gpio_request_one(MINI_GPIO_USB_POWER,
+			 GPIOF_OUT_INIT_HIGH | GPIOF_EXPORT_DIR_FIXED,
+			 "USB power");
+	ath79_register_usb();
+
+	ath79_init_mac(ath79_eth0_data.mac_addr, mac, -1);
+
+	ath79_register_mdio(0, 0x0);
+	ath79_register_eth(0);
+
+	ath79_register_wmac(ee, mac);
+}
+
+MIPS_MACHINE(ATH79_MACH_EL_MINI, "EL-MINI", "EasyLink EL-MINI",
+	     el_mini_setup);
diff --git a/target/linux/ar71xx/generic/profiles/easylink.mk 
b/target/linux/ar71xx/generic/profiles/easylink.mk
index e69de29..78d2ec0 100644
--- a/target/linux/ar71xx/generic/profiles/easylink.mk
+++ b/target/linux/ar71xx/generic/profiles/easylink.mk
@@ -0,0 +1,29 @@
+#
+# Copyright (C) 2009 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License 
v2.
+# See /LICENSE for more information.
+#
+
+define Profile/ELM150
+	NAME:=EasyLink EL-M150
+	PACKAGES:=kmod-usb-core kmod-usb2
+endef
+
+
+define Profile/ELM150/Description
+	Package set optimized for the EasyLink EL-M150.
+endef
+$(eval $(call Profile,ELM150))
+
+
+define Profile/ELMINI
+	NAME:=EasyLink EL-MINI
+	PACKAGES:=kmod-usb-core kmod-usb2
+endef
+
+
+define Profile/ELMINI/Description
+	Package set optimized for the EasyLink EL-MINI.
+endef
+$(eval $(call Profile,ELMINI))
diff --git a/target/linux/ar71xx/image/Makefile 
b/target/linux/ar71xx/image/Makefile
index d0ee363..ae319c7 100644
--- a/target/linux/ar71xx/image/Makefile
+++ b/target/linux/ar71xx/image/Makefile
@@ -1134,6 +1134,8 @@ $(eval $(call 
SingleProfile,TPLINK,64kraw,TLWR1043V1,tl-wr1043nd-v1,TL-WR1043ND,

  $(eval $(call SingleProfile,TPLINK-LZMA,64kraw,ARCHERC7V1,archer-c7-v1,ARCHER-C7,ttyS0,115200,0x75000001,1,8Mlzma))
  $(eval $(call SingleProfile,TPLINK-LZMA,64kraw,ARCHERC7V2,archer-c7-v2,ARCHER-C7,ttyS0,115200,0xc7000002,1,16Mlzma))
+$(eval $(call SingleProfile,TPLINK-LZMA,64kraw,ELM150,el-m150,EL-M150,ttyATH0,115200,0x01500101,1,8Mlzma))
+$(eval $(call SingleProfile,TPLINK-LZMA,64kraw,ELMINI,el-mini,EL-MINI,ttyATH0,115200,0x01530001,1,8Mlzma))
  $(eval $(call SingleProfile,TPLINK-LZMA,64kraw,TLMR10U,tl-mr10u-v1,TL-MR10U,ttyATH0,115200,0x00100101,1,4Mlzma))
  $(eval $(call SingleProfile,TPLINK-LZMA,64kraw,TLMR11UV1,tl-mr11u-v1,TL-MR11U,ttyATH0,115200,0x00110101,1,4Mlzma))
  $(eval $(call SingleProfile,TPLINK-LZMA,64kraw,TLMR11UV2,tl-mr11u-v2,TL-MR11U,ttyATH0,115200,0x00110102,1,4Mlzma))
--8323329-971717119-1403231233=:24200
Content-Type: TEXT/X-DIFF; NAME=add_support_EasyLink.diff
Content-Transfer-Encoding: BASE64
Content-ID: <alpine.DEB.2.10.1406192127130.24200 at brown>
Content-Description: add_support_EasyLink.diff
Content-Disposition: ATTACHMENT; FILENAME=add_support_EasyLink.diff

ZGlmZiAtLWdpdCBhL3RhcmdldC9saW51eC9hcjcxeHgvYmFzZS1maWxlcy9l
dGMvZGlhZy5zaCBiL3RhcmdldC9saW51eC9hcjcxeHgvYmFzZS1maWxlcy9l
dGMvZGlhZy5zaA0KaW5kZXggZDUwNjNkZS4uNjg3Y2RkZiAxMDA3NTUNCi0t
LSBhL3RhcmdldC9saW51eC9hcjcxeHgvYmFzZS1maWxlcy9ldGMvZGlhZy5z
aA0KKysrIGIvdGFyZ2V0L2xpbnV4L2FyNzF4eC9iYXNlLWZpbGVzL2V0Yy9k
aWFnLnNoDQpAQCAtNjUsNiArNjUsMTAgQEAgZ2V0X3N0YXR1c19sZWQoKSB7
DQogCWVhcDc2NjBkKQ0KIAkJc3RhdHVzX2xlZD0iZWFwNzY2MGQ6Z3JlZW46
ZHM0Ig0KIAkJOzsNCisJZWwtbWluaSB8IFwNCisJZWwtbTE1MCkNCisJCXN0
YXR1c19sZWQ9IkVhc3lMaW5rOmdyZWVuOnN5c3RlbSINCisJCTs7DQogCWhp
d2lmaS1oYzYzNjEpDQogCQlzdGF0dXNfbGVkPSJoaXdpZmk6Ymx1ZTpzeXN0
ZW0iDQogCQk7Ow0KZGlmZiAtLWdpdCBhL3RhcmdldC9saW51eC9hcjcxeHgv
YmFzZS1maWxlcy9ldGMvdWNpLWRlZmF1bHRzLzAyX25ldHdvcmsgYi90YXJn
ZXQvbGludXgvYXI3MXh4L2Jhc2UtZmlsZXMvZXRjL3VjaS1kZWZhdWx0cy8w
Ml9uZXR3b3JrDQppbmRleCBhMmIyNzYyLi45OWMwMjY4IDEwMDc1NQ0KLS0t
IGEvdGFyZ2V0L2xpbnV4L2FyNzF4eC9iYXNlLWZpbGVzL2V0Yy91Y2ktZGVm
YXVsdHMvMDJfbmV0d29yaw0KKysrIGIvdGFyZ2V0L2xpbnV4L2FyNzF4eC9i
YXNlLWZpbGVzL2V0Yy91Y2ktZGVmYXVsdHMvMDJfbmV0d29yaw0KQEAgLTE1
Miw2ICsxNTIsMTYgQEAgYXAxMTMpDQogCXVjaWRlZl9hZGRfc3dpdGNoX3Zs
YW4gInN3aXRjaDAiICIyIiAiMHQgMiINCiAJOzsNCiANCitlbC1tMTUwKQ0K
Kwl1Y2lkZWZfc2V0X2ludGVyZmFjZXNfbGFuX3dhbiAiZXRoMSIgImV0aDAi
DQorCXVjaWRlZl9hZGRfc3dpdGNoICJzd2l0Y2gwIiAiMSIgIjEiDQorCXVj
aWRlZl9hZGRfc3dpdGNoX3ZsYW4gInN3aXRjaDAiICIxIiAiMCAxIDMiDQor
CTs7DQorDQorZWwtbWluaSkNCisJdWNpZGVmX3NldF9pbnRlcmZhY2VfbGFu
ICJldGgwIg0KKwk7Ow0KKw0KIHRsLXdkcjQzMDB8XA0KIHRsLXdyMTA0MW4t
djIpDQogCXVjaWRlZl9zZXRfaW50ZXJmYWNlc19sYW5fd2FuICJldGgwLjEi
ICJldGgwLjIiDQpkaWZmIC0tZ2l0IGEvdGFyZ2V0L2xpbnV4L2FyNzF4eC9i
YXNlLWZpbGVzL2V0Yy91Y2ktZGVmYXVsdHMvMDNfbmV0d29yay1zd2l0Y2hY
LW1pZ3JhdGlvbiBiL3RhcmdldC9saW51eC9hcjcxeHgvYmFzZS1maWxlcy9l
dGMvdWNpLWRlZmF1bHRzLzAzX25ldHdvcmstc3dpdGNoWC1taWdyYXRpb24N
CmluZGV4IDA5M2ZiYzEuLjMxY2U1NDggMTAwNzU1DQotLS0gYS90YXJnZXQv
bGludXgvYXI3MXh4L2Jhc2UtZmlsZXMvZXRjL3VjaS1kZWZhdWx0cy8wM19u
ZXR3b3JrLXN3aXRjaFgtbWlncmF0aW9uDQorKysgYi90YXJnZXQvbGludXgv
YXI3MXh4L2Jhc2UtZmlsZXMvZXRjL3VjaS1kZWZhdWx0cy8wM19uZXR3b3Jr
LXN3aXRjaFgtbWlncmF0aW9uDQpAQCAtODEsNiArODEsNyBAQCBldy1kb3Jp
bi1yb3V0ZXIpDQogCW1pZ3JhdGVfc3dpdGNoX25hbWUgImV0aDAiICJzd2l0
Y2gwIg0KIAk7Ow0KIA0KK2VsLW0xNTB8XA0KIHJiLTQ1MCkNCiAJbWlncmF0
ZV9zd2l0Y2hfbmFtZSAiZXRoMSIgInN3aXRjaDAiDQogCTs7DQpkaWZmIC0t
Z2l0IGEvdGFyZ2V0L2xpbnV4L2FyNzF4eC9iYXNlLWZpbGVzL2xpYi9hcjcx
eHguc2ggYi90YXJnZXQvbGludXgvYXI3MXh4L2Jhc2UtZmlsZXMvbGliL2Fy
NzF4eC5zaA0KaW5kZXggNmRkNWU2Mi4uNDY1NmFjMiAxMDA3NTUNCi0tLSBh
L3RhcmdldC9saW51eC9hcjcxeHgvYmFzZS1maWxlcy9saWIvYXI3MXh4LnNo
DQorKysgYi90YXJnZXQvbGludXgvYXI3MXh4L2Jhc2UtZmlsZXMvbGliL2Fy
NzF4eC5zaA0KQEAgLTkxLDYgKzkxLDEyIEBAIHRwbGlua19ib2FyZF9kZXRl
Y3QoKSB7DQogCWh3dmVyPSJ2JHtod3ZlciMwfSINCiANCiAJY2FzZSAiJGh3
aWQiIGluDQorCSIwMTUwMDAiKikNCisJCW1vZGVsPSJFYXN5TGluayBFTC1N
MTUwIg0KKwkJOzsNCisJIjAxNTMwMCIqKQ0KKwkJbW9kZWw9IkVhc3lMaW5r
IEVMLU1JTkkiDQorCQk7Ow0KIAkiM0MwMDAxIiopDQogCQltb2RlbD0iT09M
SVRFIg0KIAkJOzsNCkBAIC0zMDcsNiArMzEzLDEyIEBAIGFyNzF4eF9ib2Fy
ZF9kZXRlY3QoKSB7DQogCSpFQVA3NjYwRCkNCiAJCW5hbWU9ImVhcDc2NjBk
Ig0KIAkJOzsNCisJKkVMLU0xNTApDQorCQluYW1lPSJlbC1tMTUwIg0KKwkJ
OzsNCisJKkVMLU1JTkkpDQorCQluYW1lPSJlbC1taW5pIg0KKwkJOzsNCiAJ
KkpBNzZQRikNCiAJCW5hbWU9ImphNzZwZiINCiAJCTs7DQpkaWZmIC0tZ2l0
IGEvdGFyZ2V0L2xpbnV4L2FyNzF4eC9iYXNlLWZpbGVzL2xpYi91cGdyYWRl
L3BsYXRmb3JtLnNoIGIvdGFyZ2V0L2xpbnV4L2FyNzF4eC9iYXNlLWZpbGVz
L2xpYi91cGdyYWRlL3BsYXRmb3JtLnNoDQppbmRleCA1NzgwM2NjLi42YWFk
ZGYyIDEwMDc1NQ0KLS0tIGEvdGFyZ2V0L2xpbnV4L2FyNzF4eC9iYXNlLWZp
bGVzL2xpYi91cGdyYWRlL3BsYXRmb3JtLnNoDQorKysgYi90YXJnZXQvbGlu
dXgvYXI3MXh4L2Jhc2UtZmlsZXMvbGliL3VwZ3JhZGUvcGxhdGZvcm0uc2gN
CkBAIC0yMjQsNiArMjI0LDggQEAgcGxhdGZvcm1fY2hlY2tfaW1hZ2UoKSB7
DQogCQk7Ow0KIA0KIAlhcmNoZXItYzcgfCBcDQorCWVsLW0xNTAgfCBcDQor
CWVsLW1pbmkgfCBcDQogCW9vbGl0ZSB8IFwNCiAJdGwtbXIxMHUgfCBcDQog
CXRsLW1yMTF1IHwgXA0KZGlmZiAtLWdpdCBhL3RhcmdldC9saW51eC9hcjcx
eHgvY29uZmlnLTMuMTAgYi90YXJnZXQvbGludXgvYXI3MXh4L2NvbmZpZy0z
LjEwDQppbmRleCBjMjk0Y2Q4Li4xMzQ2YzNmIDEwMDY0NA0KLS0tIGEvdGFy
Z2V0L2xpbnV4L2FyNzF4eC9jb25maWctMy4xMA0KKysrIGIvdGFyZ2V0L2xp
bnV4L2FyNzF4eC9jb25maWctMy4xMA0KQEAgLTQ3LDYgKzQ3LDggQEAgQ09O
RklHX0FUSDc5X01BQ0hfRElSXzgyNV9CMT15DQogQ09ORklHX0FUSDc5X01B
Q0hfRElSXzgyNV9DMT15DQogQ09ORklHX0FUSDc5X01BQ0hfRFJBR0lOTzI9
eQ0KIENPTkZJR19BVEg3OV9NQUNIX0VBUDc2NjBEPXkNCitDT05GSUdfQVRI
NzlfTUFDSF9FTF9NMTUwPXkNCitDT05GSUdfQVRINzlfTUFDSF9FTF9NSU5J
PXkNCiBDT05GSUdfQVRINzlfTUFDSF9FV19ET1JJTj15DQogQ09ORklHX0FU
SDc5X01BQ0hfR1NfT09MSVRFPXkNCiBDT05GSUdfQVRINzlfTUFDSF9IT1JO
RVRfVUI9eQ0KZGlmZiAtLWdpdCBhL3RhcmdldC9saW51eC9hcjcxeHgvZmls
ZXMvYXJjaC9taXBzL2F0aDc5L21hY2gtZWwtbTE1MC5jIGIvdGFyZ2V0L2xp
bnV4L2FyNzF4eC9maWxlcy9hcmNoL21pcHMvYXRoNzkvbWFjaC1lbC1tMTUw
LmMNCmluZGV4IGU2OWRlMjkuLjcyYTM5NmQgMTAwNjQ0DQotLS0gYS90YXJn
ZXQvbGludXgvYXI3MXh4L2ZpbGVzL2FyY2gvbWlwcy9hdGg3OS9tYWNoLWVs
LW0xNTAuYw0KKysrIGIvdGFyZ2V0L2xpbnV4L2FyNzF4eC9maWxlcy9hcmNo
L21pcHMvYXRoNzkvbWFjaC1lbC1tMTUwLmMNCkBAIC0wLDAgKzEsMTEyIEBA
DQorLyoNCisgKiAgRWFzeS1MaW5rIEVMLU0xNTAgYm9hcmQgc3VwcG9ydA0K
KyAqDQorICogIENvcHlyaWdodCAoQykgMjAxMiBodWFuZ2ZjIDxodWFuZ2Zh
bmdjaGVuZ0AxNjMuY29tPg0KKyAqICBDb3B5cmlnaHQgKEMpIDIwMTIgSFlT
IDw1NTA2NjM4OThAcXEuY29tPg0KKyAqDQorICogIFRoaXMgcHJvZ3JhbSBp
cyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQv
b3IgbW9kaWZ5IGl0DQorICogIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05V
IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzIHB1Ymxpc2hl
ZA0KKyAqICBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLg0KKyAq
Lw0KKw0KKyNpbmNsdWRlIDxsaW51eC9ncGlvLmg+DQorDQorI2luY2x1ZGUg
PGFzbS9tYWNoLWF0aDc5L2F0aDc5Lmg+DQorI2luY2x1ZGUgPGFzbS9tYWNo
LWF0aDc5L2FyNzF4eF9yZWdzLmg+DQorDQorI2luY2x1ZGUgImNvbW1vbi5o
Ig0KKyNpbmNsdWRlICJkZXYtZXRoLmgiDQorI2luY2x1ZGUgImRldi1ncGlv
LWJ1dHRvbnMuaCINCisjaW5jbHVkZSAiZGV2LWxlZHMtZ3Bpby5oIg0KKyNp
bmNsdWRlICJkZXYtbTI1cDgwLmgiDQorI2luY2x1ZGUgImRldi13bWFjLmgi
DQorI2luY2x1ZGUgIm1hY2h0eXBlcy5oIg0KKyNpbmNsdWRlICJkZXYtdXNi
LmgiDQorDQorI2RlZmluZSBFTF9NMTUwX0dQSU9fQlRONgkJNg0KKyNkZWZp
bmUgRUxfTTE1MF9HUElPX0JUTjcJCTcNCisjZGVmaW5lIEVMX00xNTBfR1BJ
T19CVE5fUkVTRVQJCTExDQorDQorI2RlZmluZSBFTF9NMTUwX0dQSU9fTEVE
X1NZU1RFTQkJMjcNCisjZGVmaW5lIEVMX00xNTBfR1BJT19VU0JfUE9XRVIJ
CTgNCisNCisjZGVmaW5lIEVMX00xNTBfS0VZU19QT0xMX0lOVEVSVkFMCTIw
CS8qIG1zZWNzICovDQorI2RlZmluZSBFTF9NMTUwX0tFWVNfREVCT1VOQ0Vf
SU5URVJWQUwgKDMgKiBFTF9NMTUwX0tFWVNfUE9MTF9JTlRFUlZBTCkNCisN
CitzdGF0aWMgY29uc3QgY2hhciAqRUxfTTE1MF9wYXJ0X3Byb2Jlc1tdID0g
ew0KKwkidHAtbGluayIsDQorCU5VTEwsDQorfTsNCisNCitzdGF0aWMgc3Ry
dWN0IGZsYXNoX3BsYXRmb3JtX2RhdGEgRUxfTTE1MF9mbGFzaF9kYXRhID0g
ew0KKwkucGFydF9wcm9iZXMJPSBFTF9NMTUwX3BhcnRfcHJvYmVzLA0KK307
DQorDQorc3RhdGljIHN0cnVjdCBncGlvX2xlZCBFTF9NMTUwX2xlZHNfZ3Bp
b1tdIF9faW5pdGRhdGEgPSB7DQorCXsNCisJCS5uYW1lCQk9ICJFTElOSzpn
cmVlbjpzeXN0ZW0iLA0KKwkJLmdwaW8JCT0gRUxfTTE1MF9HUElPX0xFRF9T
WVNURU0sDQorCQkuYWN0aXZlX2xvdwk9IDEsDQorCX0sDQorfTsNCisNCitz
dGF0aWMgc3RydWN0IGdwaW9fa2V5c19idXR0b24gRUxfTTE1MF9ncGlvX2tl
eXNbXSBfX2luaXRkYXRhID0gew0KKwl7DQorCQkuZGVzYwkJPSAicmVzZXQi
LA0KKwkJLnR5cGUJCT0gRVZfS0VZLA0KKwkJLmNvZGUJCT0gS0VZX1JFU1RB
UlQsDQorCQkuZGVib3VuY2VfaW50ZXJ2YWwgPSBFTF9NMTUwX0tFWVNfREVC
T1VOQ0VfSU5URVJWQUwsDQorCQkuZ3BpbwkJPSBFTF9NMTUwX0dQSU9fQlRO
X1JFU0VULA0KKwkJLmFjdGl2ZV9sb3cJPSAwLA0KKwl9LA0KKwl7DQorCQku
ZGVzYwkJPSAiQlROXzYiLA0KKwkJLnR5cGUJCT0gRVZfS0VZLA0KKwkJLmNv
ZGUJCT0gQlROXzYsDQorCQkuZGVib3VuY2VfaW50ZXJ2YWwgPSBFTF9NMTUw
X0tFWVNfREVCT1VOQ0VfSU5URVJWQUwsDQorCQkuZ3BpbwkJPSBFTF9NMTUw
X0dQSU9fQlRONiwNCisJCS5hY3RpdmVfbG93CT0gMSwNCisJfSwNCisJew0K
KwkJLmRlc2MJCT0gIkJUTl83IiwNCisJCS50eXBlCQk9IEVWX0tFWSwNCisJ
CS5jb2RlCQk9IEJUTl83LA0KKwkJLmRlYm91bmNlX2ludGVydmFsID0gRUxf
TTE1MF9LRVlTX0RFQk9VTkNFX0lOVEVSVkFMLA0KKwkJLmdwaW8JCT0gRUxf
TTE1MF9HUElPX0JUTjcsDQorCQkuYWN0aXZlX2xvdwk9IDEsDQorCX0sDQor
fTsNCisNCitzdGF0aWMgdm9pZCBfX2luaXQgZWxfbTE1MF9zZXR1cCh2b2lk
KQ0KK3sNCisJdTggKm1hYyA9ICh1OCAqKSBLU0VHMUFERFIoMHgxZjAxZmMw
MCk7DQorCXU4ICplZSA9ICh1OCAqKSBLU0VHMUFERFIoMHgxZmZmMTAwMCk7
DQorDQorCS8qIGRpc2FibGUgUEhZX1NXQVAgYW5kIFBIWV9BRERSX1NXQVAg
Yml0cyAqLw0KKwlhdGg3OV9zZXR1cF9hcjkzM3hfcGh5NF9zd2l0Y2goZmFs
c2UsIGZhbHNlKTsNCisNCisJYXRoNzlfcmVnaXN0ZXJfbGVkc19ncGlvKC0x
LCBBUlJBWV9TSVpFKEVMX00xNTBfbGVkc19ncGlvKSwNCisJCQkJIEVMX00x
NTBfbGVkc19ncGlvKTsNCisNCisJYXRoNzlfcmVnaXN0ZXJfZ3Bpb19rZXlz
X3BvbGxlZCgtMSwgRUxfTTE1MF9LRVlTX1BPTExfSU5URVJWQUwsDQorCQkJ
CQlBUlJBWV9TSVpFKEVMX00xNTBfZ3Bpb19rZXlzKSwNCisJCQkJCUVMX00x
NTBfZ3Bpb19rZXlzKTsNCisNCisJZ3Bpb19yZXF1ZXN0X29uZShFTF9NMTUw
X0dQSU9fVVNCX1BPV0VSLA0KKwkJCSBHUElPRl9PVVRfSU5JVF9ISUdIIHwg
R1BJT0ZfRVhQT1JUX0RJUl9GSVhFRCwNCisJCQkgIlVTQiBwb3dlciIpOw0K
KwlhdGg3OV9yZWdpc3Rlcl91c2IoKTsNCisNCisJYXRoNzlfcmVnaXN0ZXJf
bTI1cDgwKCZFTF9NMTUwX2ZsYXNoX2RhdGEpOw0KKwlhdGg3OV9pbml0X21h
YyhhdGg3OV9ldGgwX2RhdGEubWFjX2FkZHIsIG1hYywgMSk7DQorCWF0aDc5
X2luaXRfbWFjKGF0aDc5X2V0aDFfZGF0YS5tYWNfYWRkciwgbWFjLCAtMSk7
DQorDQorCWF0aDc5X3JlZ2lzdGVyX21kaW8oMCwgMHgwKTsNCisJYXRoNzlf
cmVnaXN0ZXJfZXRoKDApOw0KKwlhdGg3OV9yZWdpc3Rlcl9ldGgoMSk7DQor
DQorCWF0aDc5X3JlZ2lzdGVyX3dtYWMoZWUsIG1hYyk7DQorfQ0KKw0KK01J
UFNfTUFDSElORShBVEg3OV9NQUNIX0VMX00xNTAsICJFTC1NMTUwIiwNCisJ
ICAgICAiRWFzeUxpbmsgRUwtTTE1MCIsIGVsX20xNTBfc2V0dXApOw0KZGlm
ZiAtLWdpdCBhL3RhcmdldC9saW51eC9hcjcxeHgvZmlsZXMvYXJjaC9taXBz
L2F0aDc5L21hY2gtZWwtbWluaS5jIGIvdGFyZ2V0L2xpbnV4L2FyNzF4eC9m
aWxlcy9hcmNoL21pcHMvYXRoNzkvbWFjaC1lbC1taW5pLmMNCmluZGV4IGU2
OWRlMjkuLmFhY2NiMGQgMTAwNjQ0DQotLS0gYS90YXJnZXQvbGludXgvYXI3
MXh4L2ZpbGVzL2FyY2gvbWlwcy9hdGg3OS9tYWNoLWVsLW1pbmkuYw0KKysr
IGIvdGFyZ2V0L2xpbnV4L2FyNzF4eC9maWxlcy9hcmNoL21pcHMvYXRoNzkv
bWFjaC1lbC1taW5pLmMNCkBAIC0wLDAgKzEsODYgQEANCisvKg0KKyAqICBF
YXN5LUxpbmsgRUwtTUlOSSBib2FyZCBzdXBwb3J0DQorICoNCisgKiAgQ29w
eXJpZ2h0IChDKSAyMDEyIGh1YW5nZmMgPGh1YW5nZmFuZ2NoZW5nQDE2My5j
b20+DQorICogIENvcHlyaWdodCAoQykgMjAxMSBoeXMgPDU1MDY2Mzg5OEBx
cS5jb20+DQorICoNCisgKiAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdh
cmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQN
CisgKiAgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJs
aWMgTGljZW5zZSB2ZXJzaW9uIDIgYXMgcHVibGlzaGVkDQorICogIGJ5IHRo
ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uDQorICovDQorDQorI2luY2x1
ZGUgPGxpbnV4L2dwaW8uaD4NCisNCisjaW5jbHVkZSA8YXNtL21hY2gtYXRo
NzkvYXRoNzkuaD4NCisNCisjaW5jbHVkZSAiZGV2LWV0aC5oIg0KKyNpbmNs
dWRlICJkZXYtZ3Bpby1idXR0b25zLmgiDQorI2luY2x1ZGUgImRldi1sZWRz
LWdwaW8uaCINCisjaW5jbHVkZSAiZGV2LW0yNXA4MC5oIg0KKyNpbmNsdWRl
ICJkZXYtdXNiLmgiDQorI2luY2x1ZGUgImRldi13bWFjLmgiDQorI2luY2x1
ZGUgIm1hY2h0eXBlcy5oIg0KKw0KKyNkZWZpbmUgTUlOSV9HUElPX0xFRF9T
WVNURU0JMjcNCisjZGVmaW5lIE1JTklfR1BJT19CVE5fUkVTRVQJMTENCisN
CisjZGVmaW5lIE1JTklfR1BJT19VU0JfUE9XRVIJOA0KKw0KKyNkZWZpbmUg
TUlOSV9LRVlTX1BPTExfSU5URVJWQUwJMjAJLyogbXNlY3MgKi8NCisjZGVm
aW5lIE1JTklfS0VZU19ERUJPVU5DRV9JTlRFUlZBTAkoMyAqIE1JTklfS0VZ
U19QT0xMX0lOVEVSVkFMKQ0KKw0KK3N0YXRpYyBjb25zdCBjaGFyICptaW5p
X3BhcnRfcHJvYmVzW10gPSB7DQorCSJ0cC1saW5rIiwNCisJTlVMTCwNCit9
Ow0KKw0KK3N0YXRpYyBzdHJ1Y3QgZmxhc2hfcGxhdGZvcm1fZGF0YSBtaW5p
X2ZsYXNoX2RhdGEgPSB7DQorCS5wYXJ0X3Byb2Jlcwk9IG1pbmlfcGFydF9w
cm9iZXMsDQorfTsNCisNCitzdGF0aWMgc3RydWN0IGdwaW9fbGVkIG1pbmlf
bGVkc19ncGlvW10gX19pbml0ZGF0YSA9IHsNCisJew0KKwkJLm5hbWUJCT0g
IkVMSU5LOmdyZWVuOnN5c3RlbSIsDQorCQkuZ3BpbwkJPSBNSU5JX0dQSU9f
TEVEX1NZU1RFTSwNCisJCS5hY3RpdmVfbG93CT0gMSwNCisJfSwNCit9Ow0K
Kw0KK3N0YXRpYyBzdHJ1Y3QgZ3Bpb19rZXlzX2J1dHRvbiBtaW5pX2dwaW9f
a2V5c1tdIF9faW5pdGRhdGEgPSB7DQorCXsNCisJCS5kZXNjCQk9ICJyZXNl
dCIsDQorCQkudHlwZQkJPSBFVl9LRVksDQorCQkuY29kZQkJPSBLRVlfUkVT
VEFSVCwNCisJCS5kZWJvdW5jZV9pbnRlcnZhbCA9IE1JTklfS0VZU19ERUJP
VU5DRV9JTlRFUlZBTCwNCisJCS5ncGlvCQk9IE1JTklfR1BJT19CVE5fUkVT
RVQsDQorCQkuYWN0aXZlX2xvdwk9IDAsDQorCX0NCit9Ow0KKw0KK3N0YXRp
YyB2b2lkIF9faW5pdCBlbF9taW5pX3NldHVwKHZvaWQpDQorew0KKwl1OCAq
bWFjID0gKHU4ICopIEtTRUcxQUREUigweDFmMDFmYzAwKTsNCisJdTggKmVl
ID0gKHU4ICopIEtTRUcxQUREUigweDFmZmYxMDAwKTsNCisNCisJYXRoNzlf
cmVnaXN0ZXJfbTI1cDgwKCZtaW5pX2ZsYXNoX2RhdGEpOw0KKwlhdGg3OV9y
ZWdpc3Rlcl9sZWRzX2dwaW8oLTEsIEFSUkFZX1NJWkUobWluaV9sZWRzX2dw
aW8pLA0KKwkJCQkgbWluaV9sZWRzX2dwaW8pOw0KKwlhdGg3OV9yZWdpc3Rl
cl9ncGlvX2tleXNfcG9sbGVkKC0xLCBNSU5JX0tFWVNfUE9MTF9JTlRFUlZB
TCwNCisJCQkJCUFSUkFZX1NJWkUobWluaV9ncGlvX2tleXMpLA0KKwkJCQkJ
bWluaV9ncGlvX2tleXMpOw0KKw0KKwlncGlvX3JlcXVlc3Rfb25lKE1JTklf
R1BJT19VU0JfUE9XRVIsDQorCQkJIEdQSU9GX09VVF9JTklUX0hJR0ggfCBH
UElPRl9FWFBPUlRfRElSX0ZJWEVELA0KKwkJCSAiVVNCIHBvd2VyIik7DQor
CWF0aDc5X3JlZ2lzdGVyX3VzYigpOw0KKw0KKwlhdGg3OV9pbml0X21hYyhh
dGg3OV9ldGgwX2RhdGEubWFjX2FkZHIsIG1hYywgLTEpOw0KKw0KKwlhdGg3
OV9yZWdpc3Rlcl9tZGlvKDAsIDB4MCk7DQorCWF0aDc5X3JlZ2lzdGVyX2V0
aCgwKTsNCisNCisJYXRoNzlfcmVnaXN0ZXJfd21hYyhlZSwgbWFjKTsNCit9
DQorDQorTUlQU19NQUNISU5FKEFUSDc5X01BQ0hfRUxfTUlOSSwgIkVMLU1J
TkkiLCAiRWFzeUxpbmsgRUwtTUlOSSIsDQorCSAgICAgZWxfbWluaV9zZXR1
cCk7DQpkaWZmIC0tZ2l0IGEvdGFyZ2V0L2xpbnV4L2FyNzF4eC9nZW5lcmlj
L3Byb2ZpbGVzL2Vhc3lsaW5rLm1rIGIvdGFyZ2V0L2xpbnV4L2FyNzF4eC9n
ZW5lcmljL3Byb2ZpbGVzL2Vhc3lsaW5rLm1rDQppbmRleCBlNjlkZTI5Li43
OGQyZWMwIDEwMDY0NA0KLS0tIGEvdGFyZ2V0L2xpbnV4L2FyNzF4eC9nZW5l
cmljL3Byb2ZpbGVzL2Vhc3lsaW5rLm1rDQorKysgYi90YXJnZXQvbGludXgv
YXI3MXh4L2dlbmVyaWMvcHJvZmlsZXMvZWFzeWxpbmsubWsNCkBAIC0wLDAg
KzEsMjkgQEANCisjDQorIyBDb3B5cmlnaHQgKEMpIDIwMDkgT3BlbldydC5v
cmcNCisjDQorIyBUaGlzIGlzIGZyZWUgc29mdHdhcmUsIGxpY2Vuc2VkIHVu
ZGVyIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2Mi4NCisjIFNl
ZSAvTElDRU5TRSBmb3IgbW9yZSBpbmZvcm1hdGlvbi4NCisjDQorDQorZGVm
aW5lIFByb2ZpbGUvRUxNMTUwDQorCU5BTUU6PUVhc3lMaW5rIEVMLU0xNTAN
CisJUEFDS0FHRVM6PWttb2QtdXNiLWNvcmUga21vZC11c2IyDQorZW5kZWYN
CisNCisNCitkZWZpbmUgUHJvZmlsZS9FTE0xNTAvRGVzY3JpcHRpb24NCisJ
UGFja2FnZSBzZXQgb3B0aW1pemVkIGZvciB0aGUgRWFzeUxpbmsgRUwtTTE1
MC4NCitlbmRlZg0KKyQoZXZhbCAkKGNhbGwgUHJvZmlsZSxFTE0xNTApKQ0K
Kw0KKw0KK2RlZmluZSBQcm9maWxlL0VMTUlOSQ0KKwlOQU1FOj1FYXN5TGlu
ayBFTC1NSU5JDQorCVBBQ0tBR0VTOj1rbW9kLXVzYi1jb3JlIGttb2QtdXNi
Mg0KK2VuZGVmDQorDQorDQorZGVmaW5lIFByb2ZpbGUvRUxNSU5JL0Rlc2Ny
aXB0aW9uDQorCVBhY2thZ2Ugc2V0IG9wdGltaXplZCBmb3IgdGhlIEVhc3lM
aW5rIEVMLU1JTkkuDQorZW5kZWYNCiskKGV2YWwgJChjYWxsIFByb2ZpbGUs
RUxNSU5JKSkNCmRpZmYgLS1naXQgYS90YXJnZXQvbGludXgvYXI3MXh4L2lt
YWdlL01ha2VmaWxlIGIvdGFyZ2V0L2xpbnV4L2FyNzF4eC9pbWFnZS9NYWtl
ZmlsZQ0KaW5kZXggZDBlZTM2My4uYWUzMTljNyAxMDA2NDQNCi0tLSBhL3Rh
cmdldC9saW51eC9hcjcxeHgvaW1hZ2UvTWFrZWZpbGUNCisrKyBiL3Rhcmdl
dC9saW51eC9hcjcxeHgvaW1hZ2UvTWFrZWZpbGUNCkBAIC0xMTM0LDYgKzEx
MzQsOCBAQCAkKGV2YWwgJChjYWxsIFNpbmdsZVByb2ZpbGUsVFBMSU5LLDY0
a3JhdyxUTFdSMTA0M1YxLHRsLXdyMTA0M25kLXYxLFRMLVdSMTA0M05ELA0K
IA0KICQoZXZhbCAkKGNhbGwgU2luZ2xlUHJvZmlsZSxUUExJTkstTFpNQSw2
NGtyYXcsQVJDSEVSQzdWMSxhcmNoZXItYzctdjEsQVJDSEVSLUM3LHR0eVMw
LDExNTIwMCwweDc1MDAwMDAxLDEsOE1sem1hKSkNCiAkKGV2YWwgJChjYWxs
IFNpbmdsZVByb2ZpbGUsVFBMSU5LLUxaTUEsNjRrcmF3LEFSQ0hFUkM3VjIs
YXJjaGVyLWM3LXYyLEFSQ0hFUi1DNyx0dHlTMCwxMTUyMDAsMHhjNzAwMDAw
MiwxLDE2TWx6bWEpKQ0KKyQoZXZhbCAkKGNhbGwgU2luZ2xlUHJvZmlsZSxU
UExJTkstTFpNQSw2NGtyYXcsRUxNMTUwLGVsLW0xNTAsRUwtTTE1MCx0dHlB
VEgwLDExNTIwMCwweDAxNTAwMTAxLDEsOE1sem1hKSkNCiskKGV2YWwgJChj
YWxsIFNpbmdsZVByb2ZpbGUsVFBMSU5LLUxaTUEsNjRrcmF3LEVMTUlOSSxl
bC1taW5pLEVMLU1JTkksdHR5QVRIMCwxMTUyMDAsMHgwMTUzMDAwMSwxLDhN
bHptYSkpDQogJChldmFsICQoY2FsbCBTaW5nbGVQcm9maWxlLFRQTElOSy1M
Wk1BLDY0a3JhdyxUTE1SMTBVLHRsLW1yMTB1LXYxLFRMLU1SMTBVLHR0eUFU
SDAsMTE1MjAwLDB4MDAxMDAxMDEsMSw0TWx6bWEpKQ0KICQoZXZhbCAkKGNh
bGwgU2luZ2xlUHJvZmlsZSxUUExJTkstTFpNQSw2NGtyYXcsVExNUjExVVYx
LHRsLW1yMTF1LXYxLFRMLU1SMTFVLHR0eUFUSDAsMTE1MjAwLDB4MDAxMTAx
MDEsMSw0TWx6bWEpKQ0KICQoZXZhbCAkKGNhbGwgU2luZ2xlUHJvZmlsZSxU
UExJTkstTFpNQSw2NGtyYXcsVExNUjExVVYyLHRsLW1yMTF1LXYyLFRMLU1S
MTFVLHR0eUFUSDAsMTE1MjAwLDB4MDAxMTAxMDIsMSw0TWx6bWEpKQ0K

--8323329-971717119-1403231233=:24200
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel

--8323329-971717119-1403231233=:24200--



More information about the openwrt-devel mailing list