Linux bluetooth development
 help / color / mirror / Atom feed
* [PATCH BlueZ 2/4] android/hid: Fix passing vendor id as version to uHID
From: Luiz Augusto von Dentz @ 2013-11-01 13:08 UTC (permalink / raw)
  To: linux-bluetooth
In-Reply-To: <1383311321-28429-1-git-send-email-luiz.dentz@gmail.com>

From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>

---
 android/hid.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/android/hid.c b/android/hid.c
index bbdc66a..57ad5e4 100644
--- a/android/hid.c
+++ b/android/hid.c
@@ -278,7 +278,7 @@ static int uhid_create(struct hid_device *dev)
 	ev.u.create.bus = BUS_BLUETOOTH;
 	ev.u.create.vendor = dev->vendor;
 	ev.u.create.product = dev->product;
-	ev.u.create.version = dev->vendor;
+	ev.u.create.version = dev->version;
 	ev.u.create.country = dev->country;
 	ev.u.create.rd_size = dev->rd_size;
 	ev.u.create.rd_data = dev->rd_data;
-- 
1.8.3.1


^ permalink raw reply related

* [PATCH BlueZ 1/4] android/hid: Rename hdev vars to dev
From: Luiz Augusto von Dentz @ 2013-11-01 13:08 UTC (permalink / raw)
  To: linux-bluetooth

From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>

---
 android/hid.c | 248 +++++++++++++++++++++++++++++-----------------------------
 1 file changed, 124 insertions(+), 124 deletions(-)

diff --git a/android/hid.c b/android/hid.c
index f576548..bbdc66a 100644
--- a/android/hid.c
+++ b/android/hid.c
@@ -74,10 +74,10 @@ struct hid_device {
 
 static int device_cmp(gconstpointer s, gconstpointer user_data)
 {
-	const struct hid_device *hdev = s;
+	const struct hid_device *dev = s;
 	const bdaddr_t *dst = user_data;
 
-	return bacmp(&hdev->dst, dst);
+	return bacmp(&dev->dst, dst);
 }
 
 static void uhid_destroy(int fd)
@@ -95,38 +95,38 @@ static void uhid_destroy(int fd)
 	close(fd);
 }
 
-static void hid_device_free(struct hid_device *hdev)
+static void hid_device_free(struct hid_device *dev)
 {
-	if (hdev->ctrl_watch > 0)
-		g_source_remove(hdev->ctrl_watch);
+	if (dev->ctrl_watch > 0)
+		g_source_remove(dev->ctrl_watch);
 
-	if (hdev->intr_watch > 0)
-		g_source_remove(hdev->intr_watch);
+	if (dev->intr_watch > 0)
+		g_source_remove(dev->intr_watch);
 
-	if (hdev->intr_io)
-		g_io_channel_unref(hdev->intr_io);
+	if (dev->intr_io)
+		g_io_channel_unref(dev->intr_io);
 
-	if (hdev->ctrl_io)
-		g_io_channel_unref(hdev->ctrl_io);
+	if (dev->ctrl_io)
+		g_io_channel_unref(dev->ctrl_io);
 
-	if (hdev->uhid_watch_id) {
-		g_source_remove(hdev->uhid_watch_id);
-		hdev->uhid_watch_id = 0;
+	if (dev->uhid_watch_id) {
+		g_source_remove(dev->uhid_watch_id);
+		dev->uhid_watch_id = 0;
 	}
 
-	if (hdev->uhid_fd > 0)
-		uhid_destroy(hdev->uhid_fd);
+	if (dev->uhid_fd > 0)
+		uhid_destroy(dev->uhid_fd);
 
-	g_free(hdev->rd_data);
+	g_free(dev->rd_data);
 
-	devices = g_slist_remove(devices, hdev);
-	g_free(hdev);
+	devices = g_slist_remove(devices, dev);
+	g_free(dev);
 }
 
 static gboolean uhid_event_cb(GIOChannel *io, GIOCondition cond,
 							gpointer user_data)
 {
-	struct hid_device *hdev = user_data;
+	struct hid_device *dev = user_data;
 	struct uhid_event ev;
 	ssize_t bread;
 	int fd;
@@ -151,19 +151,19 @@ static gboolean uhid_event_cb(GIOChannel *io, GIOCondition cond,
 	return TRUE;
 
 failed:
-	hdev->uhid_watch_id = 0;
+	dev->uhid_watch_id = 0;
 	return FALSE;
 }
 
 static gboolean intr_io_watch_cb(GIOChannel *chan, gpointer data)
 {
-	struct hid_device *hdev = data;
+	struct hid_device *dev = data;
 	uint8_t buf[UHID_DATA_MAX];
 	struct uhid_event ev;
 	int fd, bread;
 
 	/* Wait uHID if not ready */
-	if (hdev->uhid_fd < 0)
+	if (dev->uhid_fd < 0)
 		return TRUE;
 
 	fd = g_io_channel_unix_get_fd(chan);
@@ -183,26 +183,26 @@ static gboolean intr_io_watch_cb(GIOChannel *chan, gpointer data)
 	ev.u.input.size = bread - 1;
 	memcpy(ev.u.input.data, &buf[1], ev.u.input.size);
 
-	if (write(hdev->uhid_fd, &ev, sizeof(ev)) < 0)
+	if (write(dev->uhid_fd, &ev, sizeof(ev)) < 0)
 		DBG("write: %s (%d)", strerror(errno), errno);
 
 	return TRUE;
 }
 
-static void bt_hid_set_state(struct hid_device *hdev, uint8_t state)
+static void bt_hid_set_state(struct hid_device *dev, uint8_t state)
 {
 	struct hal_ev_hid_conn_state ev;
 	char address[18];
 
-	if (hdev->state == state)
+	if (dev->state == state)
 		return;
 
-	hdev->state = state;
+	dev->state = state;
 
-	ba2str(&hdev->dst, address);
+	ba2str(&dev->dst, address);
 	DBG("device %s state %u", address, state);
 
-	bdaddr2android(&hdev->dst, ev.bdaddr);
+	bdaddr2android(&dev->dst, ev.bdaddr);
 	ev.state = state;
 
 	ipc_send(notification_io, HAL_SERVICE_ID_HIDHOST,
@@ -212,7 +212,7 @@ static void bt_hid_set_state(struct hid_device *hdev, uint8_t state)
 static gboolean intr_watch_cb(GIOChannel *chan, GIOCondition cond,
 								gpointer data)
 {
-	struct hid_device *hdev = data;
+	struct hid_device *dev = data;
 
 	if (cond & G_IO_IN)
 		return intr_io_watch_cb(chan, data);
@@ -220,19 +220,19 @@ static gboolean intr_watch_cb(GIOChannel *chan, GIOCondition cond,
 	/* Checking for ctrl_watch avoids a double g_io_channel_shutdown since
 	 * it's likely that ctrl_watch_cb has been queued for dispatching in
 	 * this mainloop iteration */
-	if ((cond & (G_IO_HUP | G_IO_ERR)) && hdev->ctrl_watch)
+	if ((cond & (G_IO_HUP | G_IO_ERR)) && dev->ctrl_watch)
 		g_io_channel_shutdown(chan, TRUE, NULL);
 
-	hdev->intr_watch = 0;
+	dev->intr_watch = 0;
 
-	if (hdev->intr_io) {
-		g_io_channel_unref(hdev->intr_io);
-		hdev->intr_io = NULL;
+	if (dev->intr_io) {
+		g_io_channel_unref(dev->intr_io);
+		dev->intr_io = NULL;
 	}
 
 	/* Close control channel */
-	if (hdev->ctrl_io && !(cond & G_IO_NVAL))
-		g_io_channel_shutdown(hdev->ctrl_io, TRUE, NULL);
+	if (dev->ctrl_io && !(cond & G_IO_NVAL))
+		g_io_channel_shutdown(dev->ctrl_io, TRUE, NULL);
 
 	return FALSE;
 }
@@ -240,34 +240,34 @@ static gboolean intr_watch_cb(GIOChannel *chan, GIOCondition cond,
 static gboolean ctrl_watch_cb(GIOChannel *chan, GIOCondition cond,
 								gpointer data)
 {
-	struct hid_device *hdev = data;
+	struct hid_device *dev = data;
 	char address[18];
 
-	ba2str(&hdev->dst, address);
-	bt_hid_set_state(hdev, HAL_HID_STATE_DISCONNECTED);
+	ba2str(&dev->dst, address);
+	bt_hid_set_state(dev, HAL_HID_STATE_DISCONNECTED);
 
 	/* Checking for intr_watch avoids a double g_io_channel_shutdown since
 	 * it's likely that intr_watch_cb has been queued for dispatching in
 	 * this mainloop iteration */
-	if ((cond & (G_IO_HUP | G_IO_ERR)) && hdev->intr_watch)
+	if ((cond & (G_IO_HUP | G_IO_ERR)) && dev->intr_watch)
 		g_io_channel_shutdown(chan, TRUE, NULL);
 
-	if (hdev->intr_io && !(cond & G_IO_NVAL))
-		g_io_channel_shutdown(hdev->intr_io, TRUE, NULL);
+	if (dev->intr_io && !(cond & G_IO_NVAL))
+		g_io_channel_shutdown(dev->intr_io, TRUE, NULL);
 
-	hid_device_free(hdev);
+	hid_device_free(dev);
 
 	return FALSE;
 }
 
-static int uhid_create(struct hid_device *hdev)
+static int uhid_create(struct hid_device *dev)
 {
 	GIOCondition cond = G_IO_IN | G_IO_ERR | G_IO_NVAL;
 	GIOChannel *io;
 	struct uhid_event ev;
 
-	hdev->uhid_fd = open(UHID_DEVICE_FILE, O_RDWR | O_CLOEXEC);
-	if (hdev->uhid_fd < 0) {
+	dev->uhid_fd = open(UHID_DEVICE_FILE, O_RDWR | O_CLOEXEC);
+	if (dev->uhid_fd < 0) {
 		error("Failed to open uHID device: %s", strerror(errno));
 		return -errno;
 	}
@@ -276,23 +276,23 @@ static int uhid_create(struct hid_device *hdev)
 	ev.type = UHID_CREATE;
 	strcpy((char *) ev.u.create.name, "bluez-input-device");
 	ev.u.create.bus = BUS_BLUETOOTH;
-	ev.u.create.vendor = hdev->vendor;
-	ev.u.create.product = hdev->product;
-	ev.u.create.version = hdev->vendor;
-	ev.u.create.country = hdev->country;
-	ev.u.create.rd_size = hdev->rd_size;
-	ev.u.create.rd_data = hdev->rd_data;
-
-	if (write(hdev->uhid_fd, &ev, sizeof(ev)) < 0) {
+	ev.u.create.vendor = dev->vendor;
+	ev.u.create.product = dev->product;
+	ev.u.create.version = dev->vendor;
+	ev.u.create.country = dev->country;
+	ev.u.create.rd_size = dev->rd_size;
+	ev.u.create.rd_data = dev->rd_data;
+
+	if (write(dev->uhid_fd, &ev, sizeof(ev)) < 0) {
 		error("Failed to create uHID device: %s", strerror(errno));
-		close(hdev->uhid_fd);
-		hdev->uhid_fd = -1;
+		close(dev->uhid_fd);
+		dev->uhid_fd = -1;
 		return -errno;
 	}
 
-	io = g_io_channel_unix_new(hdev->uhid_fd);
+	io = g_io_channel_unix_new(dev->uhid_fd);
 	g_io_channel_set_encoding(io, NULL, NULL);
-	hdev->uhid_watch_id = g_io_add_watch(io, cond, uhid_event_cb, hdev);
+	dev->uhid_watch_id = g_io_add_watch(io, cond, uhid_event_cb, dev);
 	g_io_channel_unref(io);
 
 	return 0;
@@ -301,21 +301,21 @@ static int uhid_create(struct hid_device *hdev)
 static void interrupt_connect_cb(GIOChannel *chan, GError *conn_err,
 							gpointer user_data)
 {
-	struct hid_device *hdev = user_data;
+	struct hid_device *dev = user_data;
 
 	DBG("");
 
 	if (conn_err)
 		goto failed;
 
-	if (uhid_create(hdev) < 0)
+	if (uhid_create(dev) < 0)
 		goto failed;
 
-	hdev->intr_watch = g_io_add_watch(hdev->intr_io,
+	dev->intr_watch = g_io_add_watch(dev->intr_io,
 				G_IO_IN | G_IO_HUP | G_IO_ERR | G_IO_NVAL,
-				intr_watch_cb, hdev);
+				intr_watch_cb, dev);
 
-	bt_hid_set_state(hdev, HAL_HID_STATE_CONNECTED);
+	bt_hid_set_state(dev, HAL_HID_STATE_CONNECTED);
 
 	return;
 
@@ -324,58 +324,58 @@ failed:
 	 * control channel (if we only do unref GLib will close it only
 	 * after returning control to the mainloop */
 	if (!conn_err)
-		g_io_channel_shutdown(hdev->intr_io, FALSE, NULL);
+		g_io_channel_shutdown(dev->intr_io, FALSE, NULL);
 
-	g_io_channel_unref(hdev->intr_io);
-	hdev->intr_io = NULL;
+	g_io_channel_unref(dev->intr_io);
+	dev->intr_io = NULL;
 
-	if (hdev->ctrl_io) {
-		g_io_channel_unref(hdev->ctrl_io);
-		hdev->ctrl_io = NULL;
+	if (dev->ctrl_io) {
+		g_io_channel_unref(dev->ctrl_io);
+		dev->ctrl_io = NULL;
 	}
 }
 
 static void control_connect_cb(GIOChannel *chan, GError *conn_err,
 							gpointer user_data)
 {
-	struct hid_device *hdev = user_data;
+	struct hid_device *dev = user_data;
 	GError *err = NULL;
 	const bdaddr_t *src = bt_adapter_get_address();
 
 	DBG("");
 
 	if (conn_err) {
-		bt_hid_set_state(hdev, HAL_HID_STATE_DISCONNECTED);
+		bt_hid_set_state(dev, HAL_HID_STATE_DISCONNECTED);
 		error("%s", conn_err->message);
 		goto failed;
 	}
 
 	/* Connect to the HID interrupt channel */
-	hdev->intr_io = bt_io_connect(interrupt_connect_cb, hdev, NULL, &err,
+	dev->intr_io = bt_io_connect(interrupt_connect_cb, dev, NULL, &err,
 					BT_IO_OPT_SOURCE_BDADDR, src,
-					BT_IO_OPT_DEST_BDADDR, &hdev->dst,
+					BT_IO_OPT_DEST_BDADDR, &dev->dst,
 					BT_IO_OPT_PSM, L2CAP_PSM_HIDP_INTR,
 					BT_IO_OPT_SEC_LEVEL, BT_IO_SEC_LOW,
 					BT_IO_OPT_INVALID);
-	if (!hdev->intr_io) {
+	if (!dev->intr_io) {
 		error("%s", err->message);
 		g_error_free(err);
 		goto failed;
 	}
 
-	hdev->ctrl_watch = g_io_add_watch(hdev->ctrl_io,
+	dev->ctrl_watch = g_io_add_watch(dev->ctrl_io,
 					G_IO_HUP | G_IO_ERR | G_IO_NVAL,
-					ctrl_watch_cb, hdev);
+					ctrl_watch_cb, dev);
 
 	return;
 
 failed:
-	hid_device_free(hdev);
+	hid_device_free(dev);
 }
 
 static void hid_sdp_search_cb(sdp_list_t *recs, int err, gpointer data)
 {
-	struct hid_device *hdev = data;
+	struct hid_device *dev = data;
 	sdp_list_t *list;
 	GError *gerr = NULL;
 	const bdaddr_t *src = bt_adapter_get_address();
@@ -398,19 +398,19 @@ static void hid_sdp_search_cb(sdp_list_t *recs, int err, gpointer data)
 
 		data = sdp_data_get(rec, SDP_ATTR_VENDOR_ID);
 		if (data)
-			hdev->vendor = data->val.uint16;
+			dev->vendor = data->val.uint16;
 
 		data = sdp_data_get(rec, SDP_ATTR_PRODUCT_ID);
 		if (data)
-			hdev->product = data->val.uint16;
+			dev->product = data->val.uint16;
 
 		data = sdp_data_get(rec, SDP_ATTR_VERSION);
 		if (data)
-			hdev->version = data->val.uint16;
+			dev->version = data->val.uint16;
 
 		data = sdp_data_get(rec, SDP_ATTR_HID_COUNTRY_CODE);
 		if (data)
-			hdev->country = data->val.uint8;
+			dev->country = data->val.uint8;
 
 		data = sdp_data_get(rec, SDP_ATTR_HID_DESCRIPTOR_LIST);
 		if (data) {
@@ -432,20 +432,20 @@ static void hid_sdp_search_cb(sdp_list_t *recs, int err, gpointer data)
 			if (!data || !SDP_IS_TEXT_STR(data->dtd))
 				goto fail;
 
-			hdev->rd_size = data->unitSize;
-			hdev->rd_data = g_memdup(data->val.str, data->unitSize);
+			dev->rd_size = data->unitSize;
+			dev->rd_data = g_memdup(data->val.str, data->unitSize);
 		}
 	}
 
-	if (hdev->ctrl_io) {
-		if (uhid_create(hdev) < 0)
+	if (dev->ctrl_io) {
+		if (uhid_create(dev) < 0)
 			goto fail;
 		return;
 	}
 
-	hdev->ctrl_io = bt_io_connect(control_connect_cb, hdev, NULL, &gerr,
+	dev->ctrl_io = bt_io_connect(control_connect_cb, dev, NULL, &gerr,
 					BT_IO_OPT_SOURCE_BDADDR, src,
-					BT_IO_OPT_DEST_BDADDR, &hdev->dst,
+					BT_IO_OPT_DEST_BDADDR, &dev->dst,
 					BT_IO_OPT_PSM, L2CAP_PSM_HIDP_CTRL,
 					BT_IO_OPT_SEC_LEVEL, BT_IO_SEC_LOW,
 					BT_IO_OPT_INVALID);
@@ -458,13 +458,13 @@ static void hid_sdp_search_cb(sdp_list_t *recs, int err, gpointer data)
 	return;
 
 fail:
-	bt_hid_set_state(hdev, HAL_HID_STATE_DISCONNECTED);
-	hid_device_free(hdev);
+	bt_hid_set_state(dev, HAL_HID_STATE_DISCONNECTED);
+	hid_device_free(dev);
 }
 
 static uint8_t bt_hid_connect(struct hal_cmd_hid_connect *cmd, uint16_t len)
 {
-	struct hid_device *hdev;
+	struct hid_device *dev;
 	char addr[18];
 	bdaddr_t dst;
 	GSList *l;
@@ -482,23 +482,23 @@ static uint8_t bt_hid_connect(struct hal_cmd_hid_connect *cmd, uint16_t len)
 	if (l)
 		return HAL_STATUS_FAILED;
 
-	hdev = g_new0(struct hid_device, 1);
-	bacpy(&hdev->dst, &dst);
-	hdev->uhid_fd = -1;
+	dev = g_new0(struct hid_device, 1);
+	bacpy(&dev->dst, &dst);
+	dev->uhid_fd = -1;
 
-	ba2str(&hdev->dst, addr);
+	ba2str(&dev->dst, addr);
 	DBG("connecting to %s", addr);
 
 	bt_string2uuid(&uuid, HID_UUID);
-	if (bt_search_service(src, &hdev->dst, &uuid, hid_sdp_search_cb, hdev,
+	if (bt_search_service(src, &dev->dst, &uuid, hid_sdp_search_cb, dev,
 								NULL) < 0) {
 		error("Failed to search sdp details");
-		hid_device_free(hdev);
+		hid_device_free(dev);
 		return HAL_STATUS_FAILED;
 	}
 
-	devices = g_slist_append(devices, hdev);
-	bt_hid_set_state(hdev, HAL_HID_STATE_CONNECTING);
+	devices = g_slist_append(devices, dev);
+	bt_hid_set_state(dev, HAL_HID_STATE_CONNECTING);
 
 	return HAL_STATUS_SUCCESS;
 }
@@ -506,7 +506,7 @@ static uint8_t bt_hid_connect(struct hal_cmd_hid_connect *cmd, uint16_t len)
 static uint8_t bt_hid_disconnect(struct hal_cmd_hid_disconnect *cmd,
 								uint16_t len)
 {
-	struct hid_device *hdev;
+	struct hid_device *dev;
 	GSList *l;
 	bdaddr_t dst;
 
@@ -521,16 +521,16 @@ static uint8_t bt_hid_disconnect(struct hal_cmd_hid_disconnect *cmd,
 	if (!l)
 		return HAL_STATUS_FAILED;
 
-	hdev = l->data;
+	dev = l->data;
 
 	/* Wait either channels to HUP */
-	if (hdev->intr_io)
-		g_io_channel_shutdown(hdev->intr_io, TRUE, NULL);
+	if (dev->intr_io)
+		g_io_channel_shutdown(dev->intr_io, TRUE, NULL);
 
-	if (hdev->ctrl_io)
-		g_io_channel_shutdown(hdev->ctrl_io, TRUE, NULL);
+	if (dev->ctrl_io)
+		g_io_channel_shutdown(dev->ctrl_io, TRUE, NULL);
 
-	bt_hid_set_state(hdev, HAL_HID_STATE_DISCONNECTING);
+	bt_hid_set_state(dev, HAL_HID_STATE_DISCONNECTING);
 
 	return HAL_STATUS_SUCCESS;
 }
@@ -556,7 +556,7 @@ void bt_hid_handle_cmd(GIOChannel *io, uint8_t opcode, void *buf, uint16_t len)
 
 static void connect_cb(GIOChannel *chan, GError *err, gpointer user_data)
 {
-	struct hid_device *hdev;
+	struct hid_device *dev;
 	bdaddr_t dst;
 	char address[18];
 	uint16_t psm;
@@ -589,25 +589,25 @@ static void connect_cb(GIOChannel *chan, GError *err, gpointer user_data)
 		if (l)
 			return;
 
-		hdev = g_new0(struct hid_device, 1);
-		bacpy(&hdev->dst, &dst);
-		hdev->ctrl_io = g_io_channel_ref(chan);
-		hdev->uhid_fd = -1;
+		dev = g_new0(struct hid_device, 1);
+		bacpy(&dev->dst, &dst);
+		dev->ctrl_io = g_io_channel_ref(chan);
+		dev->uhid_fd = -1;
 
 		bt_string2uuid(&uuid, HID_UUID);
-		if (bt_search_service(src, &hdev->dst, &uuid,
-					hid_sdp_search_cb, hdev, NULL) < 0) {
+		if (bt_search_service(src, &dev->dst, &uuid,
+					hid_sdp_search_cb, dev, NULL) < 0) {
 			error("failed to search sdp details");
-			hid_device_free(hdev);
+			hid_device_free(dev);
 			return;
 		}
 
-		devices = g_slist_append(devices, hdev);
+		devices = g_slist_append(devices, dev);
 
-		hdev->ctrl_watch = g_io_add_watch(hdev->ctrl_io,
+		dev->ctrl_watch = g_io_add_watch(dev->ctrl_io,
 					G_IO_HUP | G_IO_ERR | G_IO_NVAL,
-					ctrl_watch_cb, hdev);
-		bt_hid_set_state(hdev, HAL_HID_STATE_CONNECTING);
+					ctrl_watch_cb, dev);
+		bt_hid_set_state(dev, HAL_HID_STATE_CONNECTING);
 		break;
 
 	case L2CAP_PSM_HIDP_INTR:
@@ -615,12 +615,12 @@ static void connect_cb(GIOChannel *chan, GError *err, gpointer user_data)
 		if (!l)
 			return;
 
-		hdev = l->data;
-		hdev->intr_io = g_io_channel_ref(chan);
-		hdev->intr_watch = g_io_add_watch(hdev->intr_io,
+		dev = l->data;
+		dev->intr_io = g_io_channel_ref(chan);
+		dev->intr_watch = g_io_add_watch(dev->intr_io,
 				G_IO_IN | G_IO_HUP | G_IO_ERR | G_IO_NVAL,
-				intr_watch_cb, hdev);
-		bt_hid_set_state(hdev, HAL_HID_STATE_CONNECTED);
+				intr_watch_cb, dev);
+		bt_hid_set_state(dev, HAL_HID_STATE_CONNECTED);
 		break;
 	}
 }
-- 
1.8.3.1


^ permalink raw reply related

* [PATCH] android/client: Fix pin reply call when pin argument missing in cmd
From: Ravi kumar Veeramally @ 2013-11-01 12:20 UTC (permalink / raw)
  To: linux-bluetooth; +Cc: Ravi kumar Veeramally

If condition checks number of arguments properly but still executes
EXEC command. It should display error message and return.
---
 android/client/if-bt.c | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/android/client/if-bt.c b/android/client/if-bt.c
index 3d97458..2c3cc4a 100644
--- a/android/client/if-bt.c
+++ b/android/client/if-bt.c
@@ -719,12 +719,15 @@ static void pin_reply_p(int argc, const char **argv)
 	RETURN_IF_NULL(if_bluetooth);
 	VERIFY_ADDR_ARG(2, &addr);
 
-	if (argc > 3) {
-		accept = 1;
-		pin_len = strlen(argv[3]);
-		memcpy(pin.pin, argv[3], pin_len);
+	if (argc != 4) {
+		haltest_error("Usage <address> <pin>\n");
+		return;
 	}
 
+	accept = 1;
+	pin_len = strlen(argv[3]);
+	memcpy(pin.pin, argv[3], pin_len);
+
 	EXEC(if_bluetooth->pin_reply, &addr, accept, pin_len, &pin);
 }
 
-- 
1.8.1.2


^ permalink raw reply related

* Re: [RFC] android/daemon: Update CoD and RSSI only when they exist
From: Johan Hedberg @ 2013-11-01 12:07 UTC (permalink / raw)
  To: Andrei Emeltchenko; +Cc: linux-bluetooth
In-Reply-To: <1383306399-13750-1-git-send-email-Andrei.Emeltchenko.news@gmail.com>

Hi Andrei,

On Fri, Nov 01, 2013, Andrei Emeltchenko wrote:
> This avoid sending zeroed Class of Device and making it unidentified.
> ...
>  prop[0]: type=BT_PROPERTY_CLASS_OF_DEVICE len=4 val=000000
>  prop[1]: type=BT_PROPERTY_REMOTE_RSSI len=1 val=-75
>  prop[2]: type=BT_PROPERTY_BDNAME len=249 val=Microsoft Bluetooth Number Pad
> ...
> ---
>  android/adapter.c |   30 +++++++++++++++++-------------
>  1 file changed, 17 insertions(+), 13 deletions(-)

Applied. Thanks.

Johan

^ permalink raw reply

* Re: [RFC 1/6] android/daemon: Implement mgmt device connected event
From: Johan Hedberg @ 2013-11-01 12:06 UTC (permalink / raw)
  To: Andrei Emeltchenko; +Cc: linux-bluetooth
In-Reply-To: <1383305418-13619-1-git-send-email-Andrei.Emeltchenko.news@gmail.com>

Hi Andrei,

On Fri, Nov 01, 2013, Andrei Emeltchenko wrote:
> Send HAL_EV_ACL_STATE_CHANGED event to HAL through IPC.
> ---
>  android/adapter.c |   26 ++++++++++++++++++++++++++
>  1 file changed, 26 insertions(+)

This doesn't compile:

  CC       android/adapter.o
android/adapter.c: In function ‘mgmt_device_connected_event’:
android/adapter.c:641:17: error: ‘HAL_ACL_STATE_CONNECTED’ undeclared (first use in this function)
  hal_ev.state = HAL_ACL_STATE_CONNECTED;
                 ^
android/adapter.c:641:17: note: each undeclared identifier is reported only once for each function it appears in
make[1]: *** [android/adapter.o] Error 1

> +	if (length < sizeof(*ev)) {
> +		error("Too short %s (%u bytes)", __func__, length);
> +		return;
> +	}

This looks a bit weird. The function is not too short but the message
is, not to mention that having to use __func__ for error logs is a bit
counterintuitive. Just put "device connected event" into the string.
Same goes for your device disconnected event patch.

Johan

^ permalink raw reply

* [RFC] android/daemon: Update CoD and RSSI only when they exist
From: Andrei Emeltchenko @ 2013-11-01 11:46 UTC (permalink / raw)
  To: linux-bluetooth

From: Andrei Emeltchenko <andrei.emeltchenko@intel.com>

This avoid sending zeroed Class of Device and making it unidentified.
...
 prop[0]: type=BT_PROPERTY_CLASS_OF_DEVICE len=4 val=000000
 prop[1]: type=BT_PROPERTY_REMOTE_RSSI len=1 val=-75
 prop[2]: type=BT_PROPERTY_BDNAME len=249 val=Microsoft Bluetooth Number Pad
...
---
 android/adapter.c |   30 +++++++++++++++++-------------
 1 file changed, 17 insertions(+), 13 deletions(-)

diff --git a/android/adapter.c b/android/adapter.c
index 39389ee..314f711 100644
--- a/android/adapter.c
+++ b/android/adapter.c
@@ -454,19 +454,23 @@ static int fill_device_props(struct hal_property *prop, bdaddr_t *addr,
 {
 	uint8_t num_props = 0;
 
-	/* fill cod */
-	prop->type = HAL_PROP_DEVICE_CLASS;
-	prop->len = sizeof(cod);
-	memcpy(prop->val, &cod, prop->len);
-	prop = ((void *) prop) + sizeof(*prop) + sizeof(cod);
-	num_props++;
-
-	/* fill rssi */
-	prop->type = HAL_PROP_DEVICE_RSSI;
-	prop->len = sizeof(rssi);
-	memcpy(prop->val, &rssi, prop->len);
-	prop = ((void *) prop) + sizeof(*prop) + sizeof(rssi);
-	num_props++;
+	/* fill Class of Device */
+	if (cod) {
+		prop->type = HAL_PROP_DEVICE_CLASS;
+		prop->len = sizeof(cod);
+		memcpy(prop->val, &cod, prop->len);
+		prop = ((void *) prop) + sizeof(*prop) + sizeof(cod);
+		num_props++;
+	}
+
+	/* fill RSSI */
+	if (rssi) {
+		prop->type = HAL_PROP_DEVICE_RSSI;
+		prop->len = sizeof(rssi);
+		memcpy(prop->val, &rssi, prop->len);
+		prop = ((void *) prop) + sizeof(*prop) + sizeof(rssi);
+		num_props++;
+	}
 
 	/* fill name */
 	if (name) {
-- 
1.7.10.4


^ permalink raw reply related

* [RFC 6/6] android/daemon: Add handler for device disconnected
From: Andrei Emeltchenko @ 2013-11-01 11:30 UTC (permalink / raw)
  To: linux-bluetooth
In-Reply-To: <1383305418-13619-1-git-send-email-Andrei.Emeltchenko.news@gmail.com>

From: Andrei Emeltchenko <andrei.emeltchenko@intel.com>

Send event to callback thread which shall call acl state change callback.
---
 android/adapter.c |   27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/android/adapter.c b/android/adapter.c
index bc4492b..39389ee 100644
--- a/android/adapter.c
+++ b/android/adapter.c
@@ -643,6 +643,29 @@ static void mgmt_device_connected_event(uint16_t index, uint16_t length,
 			HAL_EV_ACL_STATE_CHANGED, sizeof(hal_ev), &hal_ev, -1);
 }
 
+static void mgmt_device_disconnected_event(uint16_t index, uint16_t length,
+					const void *param, void *user_data)
+{
+	const struct mgmt_ev_device_disconnected *ev = param;
+	struct hal_ev_acl_state_changed hal_ev;
+
+	if (length < sizeof(*ev)) {
+		error("Too short %s (%u bytes)", __func__, length);
+		return;
+	}
+
+	/* TODO: Update device */
+
+	/* TODO: Check Set bonding state */
+
+	hal_ev.status = HAL_STATUS_SUCCESS;
+	hal_ev.state = HAL_ACL_STATE_DISCONNECTED;
+	bdaddr2android(&ev->addr.bdaddr, &hal_ev.bdaddr);
+
+	ipc_send(notification_io, HAL_SERVICE_ID_BLUETOOTH,
+			HAL_EV_ACL_STATE_CHANGED, sizeof(hal_ev), &hal_ev, -1);
+}
+
 static void mgmt_connect_failed_event(uint16_t index, uint16_t length,
 					const void *param, void *user_data)
 {
@@ -696,6 +719,10 @@ static void register_mgmt_handlers(void)
 	mgmt_register(adapter->mgmt, MGMT_EV_DEVICE_CONNECTED, adapter->index,
 				mgmt_device_connected_event, NULL, NULL);
 
+	mgmt_register(adapter->mgmt, MGMT_EV_DEVICE_DISCONNECTED,
+				adapter->index, mgmt_device_disconnected_event,
+				NULL, NULL);
+
 	mgmt_register(adapter->mgmt, MGMT_EV_CONNECT_FAILED, adapter->index,
 				mgmt_connect_failed_event, NULL, NULL);
 
-- 
1.7.10.4


^ permalink raw reply related

* [RFC 5/6] android/hal: Add debug prints for every HAL callback
From: Andrei Emeltchenko @ 2013-11-01 11:30 UTC (permalink / raw)
  To: linux-bluetooth
In-Reply-To: <1383305418-13619-1-git-send-email-Andrei.Emeltchenko.news@gmail.com>

From: Andrei Emeltchenko <andrei.emeltchenko@intel.com>

This allows us to trace callbacks to Java.
---
 android/hal-bluetooth.c |   14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/android/hal-bluetooth.c b/android/hal-bluetooth.c
index 91c5f97..7334d24 100644
--- a/android/hal-bluetooth.c
+++ b/android/hal-bluetooth.c
@@ -153,6 +153,8 @@ static void handle_adapter_props_changed(void *buf, uint16_t len)
 	struct hal_ev_adapter_props_changed *ev = buf;
 	bt_property_t props[ev->num_props];
 
+	DBG("");
+
 	if (!bt_hal_cbacks->adapter_properties_cb)
 		return;
 
@@ -168,6 +170,8 @@ static void handle_bond_state_change(void *buf)
 	struct hal_ev_bond_state_changed *ev = buf;
 	bt_bdaddr_t *addr = (bt_bdaddr_t *) ev->bdaddr;
 
+	DBG("state %u", ev->state);
+
 	if (bt_hal_cbacks->bond_state_changed_cb)
 		bt_hal_cbacks->bond_state_changed_cb(ev->status, addr,
 								ev->state);
@@ -180,6 +184,8 @@ static void handle_pin_request(void *buf)
 	bt_bdaddr_t *addr = (bt_bdaddr_t *) ev->bdaddr;
 	bt_bdname_t *name = (bt_bdname_t *) ev->name;
 
+	DBG("");
+
 	if (bt_hal_cbacks->pin_request_cb)
 		bt_hal_cbacks->pin_request_cb(addr, name, ev->class_of_dev);
 }
@@ -191,6 +197,8 @@ static void handle_ssp_request(void *buf)
 	bt_bdaddr_t *addr = (bt_bdaddr_t *) ev->bdaddr;
 	bt_bdname_t *name = (bt_bdname_t *) ev->name;
 
+	DBG("");
+
 	if (bt_hal_cbacks->ssp_request_cb)
 		bt_hal_cbacks->ssp_request_cb(addr, name, ev->class_of_dev,
 							ev->pairing_variant,
@@ -218,6 +226,8 @@ static void handle_discovery_state_changed(void *buf)
 {
 	struct hal_ev_discovery_state_changed *ev = buf;
 
+	DBG("");
+
 	if (bt_hal_cbacks->discovery_state_changed_cb)
 		bt_hal_cbacks->discovery_state_changed_cb(ev->state);
 }
@@ -227,6 +237,8 @@ static void handle_device_found(void *buf, uint16_t len)
 	struct hal_ev_device_found *ev = buf;
 	bt_property_t props[ev->num_props];
 
+	DBG("");
+
 	if (!bt_hal_cbacks->device_found_cb)
 		return;
 
@@ -242,6 +254,8 @@ static void handle_device_state_changed(void *buf, uint16_t len)
 	struct hal_ev_remote_device_props *ev = buf;
 	bt_property_t props[ev->num_props];
 
+	DBG("");
+
 	if (!bt_hal_cbacks->remote_device_properties_cb)
 		return;
 
-- 
1.7.10.4


^ permalink raw reply related

* [RFC 4/6] android/daemon: Add handlers for auth_failed and connect_failed evt
From: Andrei Emeltchenko @ 2013-11-01 11:30 UTC (permalink / raw)
  To: linux-bluetooth
In-Reply-To: <1383305418-13619-1-git-send-email-Andrei.Emeltchenko.news@gmail.com>

From: Andrei Emeltchenko <andrei.emeltchenko@intel.com>

Add debug prints in a case connection is failing
---
 android/adapter.c |   18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/android/adapter.c b/android/adapter.c
index df56452..bc4492b 100644
--- a/android/adapter.c
+++ b/android/adapter.c
@@ -643,6 +643,18 @@ static void mgmt_device_connected_event(uint16_t index, uint16_t length,
 			HAL_EV_ACL_STATE_CHANGED, sizeof(hal_ev), &hal_ev, -1);
 }
 
+static void mgmt_connect_failed_event(uint16_t index, uint16_t length,
+					const void *param, void *user_data)
+{
+	DBG("");
+}
+
+static void mgmt_auth_failed_event(uint16_t index, uint16_t length,
+					const void *param, void *user_data)
+{
+	DBG("");
+}
+
 static void register_mgmt_handlers(void)
 {
 	mgmt_register(adapter->mgmt, MGMT_EV_NEW_SETTINGS, adapter->index,
@@ -683,6 +695,12 @@ static void register_mgmt_handlers(void)
 
 	mgmt_register(adapter->mgmt, MGMT_EV_DEVICE_CONNECTED, adapter->index,
 				mgmt_device_connected_event, NULL, NULL);
+
+	mgmt_register(adapter->mgmt, MGMT_EV_CONNECT_FAILED, adapter->index,
+				mgmt_connect_failed_event, NULL, NULL);
+
+	mgmt_register(adapter->mgmt, MGMT_EV_AUTH_FAILED, adapter->index,
+				mgmt_auth_failed_event, NULL, NULL);
 }
 
 static void load_link_keys_complete(uint8_t status, uint16_t length,
-- 
1.7.10.4


^ permalink raw reply related

* [RFC 3/6] android/hal: Handle acl_state_changed event
From: Andrei Emeltchenko @ 2013-11-01 11:30 UTC (permalink / raw)
  To: linux-bluetooth
In-Reply-To: <1383305418-13619-1-git-send-email-Andrei.Emeltchenko.news@gmail.com>

From: Andrei Emeltchenko <andrei.emeltchenko@intel.com>

---
 android/hal-bluetooth.c |   15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/android/hal-bluetooth.c b/android/hal-bluetooth.c
index a0ee844..91c5f97 100644
--- a/android/hal-bluetooth.c
+++ b/android/hal-bluetooth.c
@@ -254,6 +254,18 @@ static void handle_device_state_changed(void *buf, uint16_t len)
 	device_hal_props_cleanup(props, ev->num_props);
 }
 
+static void handle_acl_state_changed(void *buf)
+{
+	struct hal_ev_acl_state_changed *ev = buf;
+	bt_bdaddr_t *addr = (bt_bdaddr_t *) ev->bdaddr;
+
+	DBG("state %u", ev->state);
+
+	if (bt_hal_cbacks->acl_state_changed_cb)
+		bt_hal_cbacks->acl_state_changed_cb(ev->status, addr,
+								ev->state);
+}
+
 /* will be called from notification thread context */
 void bt_notify_adapter(uint16_t opcode, void *buf, uint16_t len)
 {
@@ -287,6 +299,9 @@ void bt_notify_adapter(uint16_t opcode, void *buf, uint16_t len)
 	case HAL_EV_SSP_REQUEST:
 		handle_ssp_request(buf);
 		break;
+	case HAL_EV_ACL_STATE_CHANGED:
+		handle_acl_state_changed(buf);
+		break;
 	default:
 		DBG("Unhandled callback opcode=0x%x", opcode);
 		break;
-- 
1.7.10.4


^ permalink raw reply related

* [RFC 2/6] android/ipc: Update HAL IPC header
From: Andrei Emeltchenko @ 2013-11-01 11:30 UTC (permalink / raw)
  To: linux-bluetooth
In-Reply-To: <1383305418-13619-1-git-send-email-Andrei.Emeltchenko.news@gmail.com>

From: Andrei Emeltchenko <andrei.emeltchenko@intel.com>

Add ACL states to the header.
---
 android/hal-msg.h |    3 +++
 1 file changed, 3 insertions(+)

diff --git a/android/hal-msg.h b/android/hal-msg.h
index 8a344d8..1d256f2 100644
--- a/android/hal-msg.h
+++ b/android/hal-msg.h
@@ -405,6 +405,9 @@ struct hal_ev_bond_state_changed {
 	uint8_t state;
 } __attribute__((packed));
 
+#define HAL_ACL_STATE_CONNECTED		0x00
+#define HAL_ACL_STATE_DISCONNECTED	0x01
+
 #define HAL_EV_ACL_STATE_CHANGED	0x89
 struct hal_ev_acl_state_changed {
 	uint8_t status;
-- 
1.7.10.4


^ permalink raw reply related

* [RFC 1/6] android/daemon: Implement mgmt device connected event
From: Andrei Emeltchenko @ 2013-11-01 11:30 UTC (permalink / raw)
  To: linux-bluetooth

From: Andrei Emeltchenko <andrei.emeltchenko@intel.com>

Send HAL_EV_ACL_STATE_CHANGED event to HAL through IPC.
---
 android/adapter.c |   26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/android/adapter.c b/android/adapter.c
index 4ddd68b..df56452 100644
--- a/android/adapter.c
+++ b/android/adapter.c
@@ -620,6 +620,29 @@ static void mgmt_device_found_event(uint16_t index, uint16_t length,
 						confirm_name, eir, eir_len);
 }
 
+static void mgmt_device_connected_event(uint16_t index, uint16_t length,
+					const void *param, void *user_data)
+{
+	const struct mgmt_ev_device_connected *ev = param;
+	struct hal_ev_acl_state_changed hal_ev;
+
+	if (length < sizeof(*ev)) {
+		error("Too short %s (%u bytes)", __func__, length);
+		return;
+	}
+
+	/* TODO: Update device */
+
+	/* TODO: Check Set bonding state */
+
+	hal_ev.status = HAL_STATUS_SUCCESS;
+	hal_ev.state = HAL_ACL_STATE_CONNECTED;
+	bdaddr2android(&ev->addr.bdaddr, &hal_ev.bdaddr);
+
+	ipc_send(notification_io, HAL_SERVICE_ID_BLUETOOTH,
+			HAL_EV_ACL_STATE_CHANGED, sizeof(hal_ev), &hal_ev, -1);
+}
+
 static void register_mgmt_handlers(void)
 {
 	mgmt_register(adapter->mgmt, MGMT_EV_NEW_SETTINGS, adapter->index,
@@ -657,6 +680,9 @@ static void register_mgmt_handlers(void)
 	mgmt_register(adapter->mgmt, MGMT_EV_DEVICE_FOUND,
 					adapter->index, mgmt_device_found_event,
 					NULL, NULL);
+
+	mgmt_register(adapter->mgmt, MGMT_EV_DEVICE_CONNECTED, adapter->index,
+				mgmt_device_connected_event, NULL, NULL);
 }
 
 static void load_link_keys_complete(uint8_t status, uint16_t length,
-- 
1.7.10.4


^ permalink raw reply related

* Re: l2cap sockets not properly multiplexed on ARM
From: Anderson Lizardo @ 2013-11-01 11:03 UTC (permalink / raw)
  To: Marcel Holtmann
  Cc: Tim Tisdall, Alexander Holler, linux-bluetooth@vger.kernel.org
In-Reply-To: <F9B30CD6-4DCB-4F58-9322-E18969867664@holtmann.org>

Hi Marcel,

On Thu, Oct 31, 2013 at 10:20 AM, Marcel Holtmann <marcel@holtmann.org> wrote:
> Hi Tim,
>
>>> As Anderson Lizardo already mentioned, maybe first verify that the x86
>>> kernel 3.4 doesn't have the same problem and that it's really a problem
>>> of the ARM kernel. Up to now he didn't say what kernel version he uses
>>> on x86.
>>
>> here's my desktop version:
>> $ uname -a
>> Linux tzing 3.8.0-32-generic #47-Ubuntu SMP Tue Oct 1 22:35:23 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
>>
>> I'm trying to get an older version of the kernel running on another machine and then I'll report back
>
> I actually need to know if bluetooth-next tree still has this issue. That is first and foremost the one thing that needs to be checked.

I asked Tim to mention the kernel version on x86 vs. the version on
ARM, because I vaguely remember this same issue being reported last
year (or even 2011) and being fixed (If I find the patch, I will let
you know). As Tim mentions later on, on x86 the issue does not happen
on 3.8, but it is present on 3.2 (and I suspect it will also be
present on 3.4 on x86 as well).

Best Regards,
-- 
Anderson Lizardo
Instituto Nokia de Tecnologia - INdT
Manaus - Brazil

^ permalink raw reply

* Re: Intel 7260 bluetooth malfunction when it is connected to EHCI bus
From: Hui Wang @ 2013-11-01  9:18 UTC (permalink / raw)
  To: Marcel Holtmann
  Cc: Tedd An, Johan Hedberg, xiong.y.zhang, Gustavo F. Padovan,
	linux-bluetooth@vger.kernel.org development, Kun Yang,
	Anthony Wong
In-Reply-To: <C3BBD7E9-6D91-430E-96DF-2D4885F89DCC@holtmann.org>

[-- Attachment #1: Type: text/plain, Size: 6693 bytes --]

On 11/01/2013 03:49 PM, Marcel Holtmann wrote:
> Hi Hui,
>
>>>>>>>> The problem is:
>>>>>>>> On the machine which has Intel 7260 BT module, i use it to connect a bluetooth headset,
>>>>>>>> it can successfully scan and connect to the headset, when i play sound to the bt headset,
>>>>>>>> the problem comes, if the bt module is connected to the XHCI, it can work very well.
>>>>>>>>
>>>>>>>> u@u-Lenovo-B4400:~$ lsusb -t
>>>>>>>> 1-7:1.0: No such file or directory
>>>>>>>> /: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M
>>>>>>>> /: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/14p, 480M
>>>>>>>>     |__ Port 6: Dev 8, If 0, Class=HID, Driver=usbhid, 1.5M
>>>>>>>>     |__ Port 7: Dev 2, If 0, Class=vend., Driver=, 12M
>>>>>>>>     |__ Port 11: Dev 3, If 0, Class='bInterfaceClass 0xe0 not yet handled', Driver=btusb, 12M
>>>>>>>>     |__ Port 11: Dev 3, If 1, Class='bInterfaceClass 0xe0 not yet handled', Driver=btusb, 12M
>>>>>>>>
>>>>>>>> But if the bt module is connected to the EHCI, it always fails to play sound.
>>>>>>>>
>>>>>>>> u@u-Lenovo-B4400:~$ lsusb -t
>>>>>>>> /: Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M
>>>>>>>> /: Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/14p, 480M
>>>>>>>> /: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ehci_hcd/3p, 480M
>>>>>>>>     |__ Port 1: Dev 2, If 0, Class=hub, Driver=hub/8p, 480M
>>>>>>>> /: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci_hcd/3p, 480M
>>>>>>>>     |__ Port 1: Dev 2, If 0, Class=hub, Driver=hub/6p, 480M
>>>>>>>>         |__ Port 5: Dev 3, If 0, Class='bInterfaceClass 0xe0 not yet handled', Driver=btusb, 12M
>>>>>>>>         |__ Port 5: Dev 3, If 1, Class='bInterfaceClass 0xe0 not yet handled', Driver=btusb, 12M
>>>>>>>>         |__ Port 6: Dev 4, If 0, Class='bInterfaceClass 0x0e not yet handled', Driver=uvcvideo, 480M
>>>>>>>>         |__ Port 6: Dev 4, If 1, Class='bInterfaceClass 0x0e not yet handled', Driver=uvcvideo, 480M
>>>>>>> can you paste /sys/kernel/debug/usb/devices here.
>>>>>>>
>>>>>>> If the uvcvideo driver is also using ISOC URBs, we might have just exhausted the bandwidth of the USB bus here or these two devices just do not play nice with each other.
>>>>>>>
>>>>>>> Try to unload the uvcvideo driver and try it again.
>>>>>> Thanks for your reply, follow your instruction, i totally disabled the camera from the BIOS, then the usb tree like this,
>>>>>> u@u-Lenovo-B4400:~$ lsusb -t
>>>>>> 1-1.3:1.0: No such file or directory
>>>>>> /:  Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M
>>>>>> /:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/14p, 480M
>>>>>> /:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/3p, 480M
>>>>>>     |__ Port 1: Dev 2, If 0, Class=hub, Driver=hub/8p, 480M
>>>>>> /:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/3p, 480M
>>>>>>     |__ Port 1: Dev 2, If 0, Class=hub, Driver=hub/6p, 480M
>>>>>>         |__ Port 2: Dev 3, If 0, Class=HID, Driver=usbhid, 1.5M
>>>>>>         |__ Port 3: Dev 4, If 0, Class=vend., Driver=, 12M
>>>>>>         |__ Port 5: Dev 5, If 0, Class='bInterfaceClass 0xe0 not yet handled', Driver=btusb, 12M
>>>>>>         |__ Port 5: Dev 5, If 1, Class='bInterfaceClass 0xe0 not yet handled', Driver=btusb, 12M
>>>>>> u@u-Lenovo-B4400:~$ uname -a
>>>>>> Linux u-Lenovo-B4400 3.12.0-031200rc6-generic #201310191635 SMP Sat Oct 19 20:36:43 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
>>>>>>
>>>>>> I re-did the test, the result is same as before, after the headset is connected and i play audio, no sound is heard from the headset.
>>>>>> And hciconfig output shows still no SCO packets received by BT driver.
>>>>>> u@u-Lenovo-B4400:~$ hciconfig
>>>>>> hci0:    Type: BR/EDR  Bus: USB
>>>>>>     BD Address: 00:15:00:CC:2D:D2  ACL MTU: 1021:5  SCO MTU: 96:5
>>>>>>     UP RUNNING PSCAN
>>>>>>     RX bytes:5853 acl:61 sco:0 events:298 errors:0
>>>>>>     TX bytes:19212 acl:68 sco:1 commands:179 errors:0
>>>>> this is strange. The only reason I can think of is that you do not have the firmware installed and or it is not loaded correctly. Does dmesg give any indication that something failed here.
>>>> I can confirm the firmware file is the /lib/firmware/intel/ibt-hw-37.7.10-fw-1.80.2.3.d.bseq, and it is in the filesystem. And from the dmesg, the firmware was successfully loaded.
>>>>
>>>> [    8.600217] Bluetooth: hci0: Intel Bluetooth firmware file: intel/ibt-hw-37.7.10-fw-1.80.2.3.d.bseq
>>>> [    8.653635] kvm: disabled by bios
>>>> [    8.672981] psmouse serio1: synaptics: Touchpad model: 1, fw: 8.1, id: 0x1e2b1, caps: 0xd00123/0x840300/0x126c00
>>>> [    8.707034] input: SynPS/2 Synaptics TouchPad as /devices/platform/i8042/serio1/input/input13
>>>> [    8.717725] Registered led device: phy0-led
>>>> [    8.722730] ieee80211 phy0: Selected rate control algorithm 'iwl-mvm-rs'
>>>> [    8.752626] Bluetooth: hci0: Intel Bluetooth firmware patch completed and activated
>>>>
>>>>> Since this is a 3.12 kernel it should have native support for Intel specific setup routing. Any chance you can run btmon -w <file> before plugging the device into the bus. Maybe something goes wrong with the setup routine on EHCI.
>>>> Do you mean the hcidump file i just sent in my previous email.
>>> I do not get this. I specifically asked to run “btmon -w <file>” before plugging in the device. I want to see the early setup process here. What would I do with a hcidump trace.
>> The attachment is the logfile generated by "btmon -w <file>". And the logfile was generated by below steps,
>>
>> 1) boot up the system into the ubuntu desktop
>> 2) open a terminal and run "sudo btmon -w ~/lenovo-m4400s-btmon.log"
>> 3) open bluetooth applet and click adding a new device, the bluetooth begin to scan devices
>> 4) power up the bt headset
>> 5) laptop bt module find the headset and connect it successfully
>> 6) open the sound applet, choose bt headset as output device, play sound, but no sound can be heard from bt headset
>> 7) Ctrl+C to terminate the "btmon -w <file>"
>>
>> In case you can't receive the attachment, i decode the logfile and paste the content here.
> what I need is to see the 7260 controller init. So you need to start btmon -w <file> before the 7260 gets attached to the USB bus or before btusb.ko driver gets loaded.
Understand now.

The attachment lenovo-k4450-btmon-v0.log is the log of intel 7260 init 
procedure, generated by "btmon -w <file>; insmod btusb.ko; ctrl+c 
terminate the btmon".

The attachment lenovo-k4450-btmon-v1.log is the log of intel 7260 init 
procedure + scan headset + connect headset + play sound.


If anything is wrong, please let me know.

Thanks,
Hui.

> Regards
>
> Marcel
>
>
>


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: lenovo-k4450-btmon-v0.log --]
[-- Type: text/x-log; name="lenovo-k4450-btmon-v0.log", Size: 24010 bytes --]

btsnoop\0\0\0\0\x01\0\0\aÑ\0\0\0\x10\0\0\0\x10\0\0\0\0\0\0\0\0\0áÇÌÓ\x12'é\0\x01\0\0\0\0\0\0hci0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\x02\0\0\0\0\0áÇÌÓ\x12*ð\x03\f\0\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x12Xð\x0e\x04\x01\x03\f\0\0\0\0\x03\0\0\0\x03\0\0\0\x02\0\0\0\0\0áÇÌÓ\x12Y®\x05ü\0\0\0\0\x0f\0\0\0\x0f\0\0\0\x03\0\0\0\0\0áÇÌÓ\x12\Ô\x0e\r\x01\x05ü\07\a\x10\x01€\x02\x03\r\0\0\0\0\x05\0\0\0\x05\0\0\0\x02\0\0\0\0\0áÇÌÓ\x12£\x11ü\x02\x01\0\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x12§\v\x0e\x04\x01\x11ü\0\0\0\0\r\0\0\0\r\0\0\0\x02\0\0\0\0\0áÇÌÓ\x12§'Žü
\0\x01\0\b\0\x04\x02\x03\r.\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x12ªò\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x12«	Žüú\0\0\0!\0ô  €\x0f\0\bR\x02ø\aÂÿá\a€\x02ÔH\0\0ØH\0\0€0\bw(v—Õ’	 \x03épý\x02€0àx¤H\0\0\x02ð\x01ؽ\x02 0\x0fxàx¨H\0\0€0àx¬H\0\0\x05©¸\x05¡Z\rà\x01\x01ØŠ\b \x02\x0eظñ°H\0\0 H\0\0€0ZÐ\0€¢ÁV SŽ\0Ø\x01®=\a`0¢Ààx€H\0\0\x02Œ \x02€\bô©pÈÿ¸H\0\0À/àxÈH\0\0¯ÕF\x15€\x10ŸèÌH\0\0œÕH\x15€\x10¤è]\x15€\x10ÄH\0\0‚\x10Œê¹’¹”¹3¦3†³¹O!‚\x04ÀH\0\0‚\x10ŒêŒÐ\0Ù  €\x0f\0\bl,”\x17\0ö\bH\0\0À.n\và\0\x1apXÓ`\x13@ D\x13\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x12²Â\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x12²×Žüúô\0\0!\0ô\r\x01 ±
ðàx €\x01áÁÇÁÆà\x7fÁÅtH\0\0áÇü\x1cÁÇÁÆà\x7fÁÅxH\0\0áÇü\x1cà\x7fÁÅ|H\0\0áÇü\x1c\b´ü\x1cÁ\x05Ïý$H\0\0ïý\x01Ø	\bR\0\0Ø	ð\x18H\0\0\b¹%x\x02
ïý\x03ˆà\x7føàx H\0\0\x01ã!\v\x1cH\0\0®\fà)\x10Ú8ѧ®¨®\x14H\0\0\x1c@\x1e\x02\x10\x1d?\x1e\x02\x10\x10H\0\0Š	\x0fÿª\roû\0‡µ\x06‰\x06€&\fH\0\0€&\bwŠ C/\x02•P €€àx\x04H\0\0àxÒ\v\x03\fc­\x16»\x10ºE{\b¸exÂ\f\x1aˆ†è\x04Ø\x05Ù²\v÷n\x0f\0	X\x10Ó\x15\x01\x16‘¹(H\0\0È\x1d˜\x1f\x02p\00\b\x0fÏs\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x12º‘\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x12º§Žüúè\x01\0!\0ô\x01 ¨¬8H\0\0
ôè\x17\0\x10Ïq@™\0 4H\0\0ù\x1f˜\x1f\x16\0\x1a[.ðàx0H\0\0\x15è^\x14\x03\x06¬»  €\x0f\x01 \x1a£,E# \0\x01#‰  €\x0f\x01 þ¦t <˜S ]˜5 V ,H\0\0†»^\x1eØ\x10  €\x0f\0\bà\x04\x18\x10€\x0f\0¼\0\0  €\x0f\0\bÐ\x03Ø\0\x02ð6Øb\f\0\0Ñ\x01€\x1f`H\0\0 \x03\x03Ø\x01ØîñdH\0\0À\x1eþ\b\x02\0àxTH\0\0ëvú\v\x0fïÏsPH\0\0ëvî
/ï\bu\x1eíd…%èa€#ë  €\x0f\0\bü\x04\x01Ùà\x7f «  €\x0f\0\bF\x04UzÇrœô\x12…w\b\x11\0nð\0ßõ¥\x01ØhH\0\0 €\bu\x11\x0fè\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x12Âa\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x12ÂwŽüúÜ\x02\0!\0ôD…\x03…ôàxJ&\0pV%\x12\x1a\x1e\x12€ lH\0\0Û\x1eB\x13±\x1f\x18\x10Ïr\00  €\x0f\0\b®\x04ƒ\0V	/ù\0Ú\x1c\x10\x03   €\x0f\0\b\f\x10\x01Ú\x10qDÆ@!Q ãó\bðàx\r\rÑ\x10XH\0\0\x0eè€%\x05\x18\x0eàÌ R\bà\x10	Û©p‘\x02\0\x16\H\0\0J&\0pàx\x16•\x01à:\b \0\x16µ\x1di\00ÿÿ\0\0pH\0\0€\x10§Õ ޏè<H\0\0i\bŸ\x03\x17Ðð \x0fÿ\x11\0\0\0\x04Ø\x04­N\f/ÿ‡ÐA é¹´\x17\0öDH\0\0@€ÂªB\x14/‰M\v^\x01@H\0\02\roü\x01\0OÐLH\0\0"ª\x01j1\x02 \0ïû\x12ÐHH\0\0\0“	Q\0ð \0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x12Ê1\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x12ÊGŽüúÐ\x03\0!\0ôà\x7f\x01Øà\x7f€Ø\0H\0\0\x04€àx\0Úàx´H\0\0À\x04¥Á‡\x17\x11vè»°\x11\0\0UxyòနH\0\0C\0\x01Ø\x1d\a`\x03£Ààx˜H\0\0¬\x04\00Œ\a\00˜\x12\00ŒH\0\0ˆH\0\0\0\x03­ÁÐ\x17\x14vD\x14\x15 H\0\0ö
¯Ò\x03Ù\x01Ø\x02ð\0Ø`\0\x14à\0…àxàxŸ¹Â\x0f`\0\x19a_¥€\x1d@\x10~¥ºñ„H\0\0ƒ$9\bQ\0  €\x0f\0\b\\x1c\x19aA\x04\x04ðœH\0\0Ç\f^ \0…°\x10\0…ñ\x01`\x02¡Àà~àxÜH\0\0ÐH\0\0\0\x02b€\0Ý¢Á\x04\x1cD3¼H\0\0\0ö\0€°\x10\0\0\0€~\r  €\x0f\0\b\x12\x02¢ÁñÀAÀBÁ`\x01€$\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x12Ò\x03\x0e\x04\x01Žü\0\0\0\05\0\0\05\0\0\0\x02\0\0\0\0\0áÇÌÓ\x12Ò$Žü2Ä\x04\0!\0,
2×ñàxàxñÀ\x0e\v  €\x0f\0\bš\x02\x05©àxñÀj\f\0\0\0 ý\x03\x1f\x02\x05\0\0\0\0\0\0\x13\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x12Õé\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x12Ö\x05Žüú \0\0’\0ô\x1e\0\0\0O\0\0\0R\0\0\0W\0\0\0Z\0\0\0\\0\0\0b\0\0\0Š\0\0\0Ï\x01\0\0Ô\x01\0\0Ù\x01\0\0õ\x01\0\0÷\x01\0\0^[\x02\0\0½\x03\0\0\x15\x05\0\0-\x06\0\0a\x06\0\0ê\x06\0\0p\a\0\0Þ\v\0€R\f\0\0—\r\0€¶\x0f\0€•\x10\0\0\x1a\x14\0\0õ\x14\0€\x13\x15\0€™\x15\0\0ç\x19\0\0÷\x19\0\0þ\x19\0\0\x02\x1a\0\0/\x1a\0\0j\x1a\0\0n\x1a\0\0À\x1a\0\0}^[\0\0e"\0\0ú#\0\04'\0\0E'\0\07(\0\0a(\0\0~)\0\0™)\0\0«)\0\0^[-\0\0r2\0\0W3\0\0&4\0\0N5\0\0X5\0\0þ5\0\0>@\0\0‘C\0\0±C\0\0çC\0\0äH\0\0¶I\0\0^J\0\0\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x12Ý¿\x0e\x04\x01Žü\0\0\0\0U\0\0\0U\0\0\0\x02\0\0\0\0\0áÇÌÓ\x12Þ-ŽüR\x14\x01\0’\0L‘W\0\0·W\0\0ëY\0\0Z\0\0\x0e[\0\0\x18[\0\0d[\0\0¼[\0\0ß[\0\0\x11\\0\0T\\0\0ã\\0\0-]\0\0`]\0\0ë]\0\0É^\0\04_\0\02d\0\0ÿ\x7f\0\0\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x12á£\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x12áðŽüú\0\x01\0\b\0ôï¾­Þ\0\0\0\0Bï¾B\x14\x01\0\b\0\0\0\0<\x06\0\bø\x01\0\bÀ\x06\0\bŒ\a\0\bÀ\b\0\b4	\0\b€
\0\bp\a\0\bä
\0\b$\v\0\bò\x02\0\bP\x03\0\bz\x03\0\b \x03\0\b`\v\0\bô\x03\0\bx\f\0\b\x18\x04\0\bü\f\0\bh\r\0\bl\x0e\0\b(\x0e\0\bÔ\x0e\0\bH\x0f\0\bl\x10\0\bÈ\x10\0\b„\x11\0\b\x1c\x05\0\b8\x13\0\bÐ\x14\0\bT\x16\0\bÀ\x19\0\b %\0\b¬\x1e\0\bä\x1c\0\bl \0\b¤ \0\bŽ\x05\0\b\x1c!\0\bÂ\x05\0\b˜#\0\b¤$\0\bÔ$\0\b %\0\bh%\0\b¨'\0\b\b+\0\bÐ,\0\bâ\x05\0\b\x0e\x06\0\bt+\0\bð+\0\b\x18.\0\bü&\0\b<'\0\bÀ-\0\b\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x12é~\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x12êHŽüúô\x01\0\b\0ô­Þáþ¡À
 €\x0f\0Á€\0\0\x18€\x0f\x0e\x13M¤  €\x0f\x01 |O\0\x16\0p\0¼L\x03\x04 €\x0f\x0eüÿ\x1f\x0fô\x05 €\x0f\x10\x02\0\0\0\x1e\0p\0¼L\x03" €\x0f\x05 |Ø	ð\x05 €\x0f°\0\0à\0\x1e\0p\0¼L\x03ÑÀà~Š!\x06\x04B!A\0L!\0€ú\aÂÿ
!€\x0f\0”\0\0\x10\x11\0\0\v €\0\0\0\x10à \x0f\0 ÌYP \0\x03\x10\x19\0\0\x14\x11\0\0P @\x02\x14\x19\0\0  €\x0f\0 ÌY\x1cŠ\x04©}Še©\b»\x04#ƒ\x0f\0\0\0ÿex\0\x1e\0p\0Á\x14\x02\0\x16€p\00¤\0\0\x16p\00ø\x12"x\rx\x11¸\x04 €\x0fþ\a\0\0\0\x16\x01p\0¼$\x02\x04!\x0f\x01øÿÿ%x\0\x1e\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x12ñD\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x12ñgŽüúè\x02\0\b\0ô\0p\0¼$\x02à~àx¡ÀÓ\x1dX\x10\0\x16\x01p\0¾<\0\x04!\x0f\0€\0\0A)þ‡\aò
!€\x0fº\0ÿñÓ\x1dX\x10\0\x16\x01p\0ÁÐ\0\x04!\x0f\0\0\00A)>ƒ\x0eò‡\x15\x01\x16\x04!\x0f\0þÿÿ\x05!\x0fµ\0\0\0‡\x1dX\x10  €\x0f\x01 |ž¡À\0\x16\0p\0ÁÐ\0\x04 €\x0f\0\0\00A(>ƒà ‚\x0f\x01 þ¦‡\x16\x02\x16  €\x0f\x01 ð¦¡ÀÚ\x1fX\x10Û\x1f˜\x1f Ž\x041ø\x1f˜\x1f(\0ƒ ù\x1f˜\x1f\x15\0Ò¶  €\x0f\x01 „ ¡À¸è\x1f\0\x10Ú\x1f˜\x1f@™\0 Û\x1f˜\x1f Ž\x04\x01ø\x1f˜\x1f\x04\0\0\x10ù\x1f˜\x1f\x16\0Ú6  €\x0f\x01 „ E\x14\x03\x06ˆ»E\x1cØ\0Š!\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x12ù\x13\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x12ù1ŽüúÜ\x03\0\b\0ô\x04\02Øa¸\x06èE\x14\x03\x06+{üõ  €\x0f\x01 à·@$\x1c1
 €\x0f\00„yð @\0\r\bŸ\x04  €\x0f\x04 \x1c9  €\x0f\x04 €9¡À&\0!\0@€Ïq\00ôy\0\x16€p\00x\x11\x15y\0„¸\0¡  €\x0f\x04 ~>  €\x0f\x04 ØB\x1a`UzÇr\00$YŠà8\x12\0á Ê\aÊ *\00\x12ƒ\01\x12„\0?\v\x03\x01y’6\x12\x04\x01	\fÃ\09\x12\0àÌ â€Ì "‚Ì b‚\bò@$D\0/$\b\x016\x1a\x04\x01\x1a’\x15\f\x02\0\0Û{²à\x7f(pà\x7f9\x12€\0à\x7f(pàx@$„\x02zb\x02$ƒ€\0Ú\x18\0\x03\0s{" €\x0f\x02 ¬H  €\x0f\x03 0'\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x13\0â\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x13\0ÿŽüúÐ\x04\0\b\0ô" €\x0f\x02 |H  €\x0f\x03 0'Q\x16\0\x16¦¸Q\x1e\x18\x10Q\x16\0\x16†¸Q\x1e\x18\x10  €\x0f\x01 \x10¬a\x13‚\0\v
Q\0\x01Ù\0^[B 
\x11\0\0Ù\0^[B   €\x0f\x02 „ƒ¡ÀÛ\x1eB\x13ü\x1c\b°ü\x1cH°ü\x1cˆ°ü\x1cȰü\x1c\b±ü\x1cH±ü\x1cˆ±ü\x1cȱü\x1c\b²ü\x1cH²ü\x1cˆ²ü\x1cÈ·Z\r@\0\x04\x14\x1f4\x04\x14
4\x04\x14	4\x04\x14\b4\x04\x14\a4\x04\x14\x064\x04\x14\x054\x04\x14\x044\x04\x14\x034\x04\x14\x024\x04\x14\x014\x04\x14\04  €\x0f\x02 ¼Ñ@$\x1c1" €\x0f\0 @Wü\x1c\b°J @\0\0\x1e\0p\0\bœ5\x04\x14\04" €\x0f\0 XW¬\x11\0\0  €\x0f\x05 Àž@$\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x13\b²\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x13\bÏŽüúÄ\x05\0\b\0ô\x1c1\ax\0\x1e\0p\0\bœ5*p" €\x0f\x05 dÀ  €\x0f\x05 HÅ@$\x1c1S¦E\x16‚\x10…ê  €\x0f\0 €\x1fñÀáÀ" €\x0f\0\bD+ÁÀÑÀ  €\x0f\0 ”\x1f@$\x1c1S¦E\x16‚\x10…ê  €\x0f\0 X\x1fñÀáÀ" €\x0f\0\b\+ÁÀÑÀ  €\x0f\0 l\x1fàx¡À  €\x0f\0\bH\x06à~à\x7f\x01Ð\x02\x03\r.\0Ú\x03ð\x01â\x11
\x13\f=ÐVx €úé\x03ð\0Øà~áÅáÆ8Ña\x11\x02\x06`\x11\0\x06A\b…\06Ó\x02 Í\05ÐBx-\bC\x03\0Þ\x03ð\x01æ\x13\x0e\x13\x1c\x16!€\x03¡€õ
Aƒ\x02ð\0Øa `\x11\0\x06a\x19Ø\0bx\x10x\x06ð\x10x\x04ðBx\x10x\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x13\x10\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x13\x10œŽüú¸\x06\0\b\0ôÁÆà\x7fÁÅàx¡À  €\x0f\0\bÌ\x06à~ñÀ" €\x0f\x06 ´\x17\bw" €\x0f\0 @W\x03ç˜pF'Ï\x10\x1cÖ\0†ð\x7f€àÊ \x0f\0\0\0\x03\aò!†\a\bE\0\x15Ð"x\x10x\r\bÃ\x03Øÿ\r\bÂ\x03Ðÿ
%\0	ôˆp" €\x0f\0 XW\0Ø\x10ð\x01†\x1fg\0¥á¦á¥\0†„è\0…\0¦ˆp" €\x0f\0 XW\0…  €\x0f\x06  \x18\x04&\00¨\x01\0@¨\x04\0@„'\00\vÐ\0ˆà\x01Øà\x7fÀx\bÑà\x7f\0©àx¡À\x06Ñ\0Ú@©«®¡®  €\x0f\0 tÙà~àxt5\0\b¡À  €\x0f\0\b˜\aà~ñÀ" €\x0f\x06 ¨\x17Š!C/\x0f	# \bw\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x13\x18R\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x13\x18pŽüú¬\a\0\b\0ô^[\0 \0;Õép" €\x0f\0 äÑ" €\x0f\0 <Ò\bu\x02\x15\x12\x11ép\x04\x15\x10\x11" €\x0f\x04 p\x03+\b\x0f\0\0ÿÿ" €\x0f\x01 \x14>‰è\0ر٠Ú\x02Û" €\x0f\x05 Ðm" €\x0f\0 \x18×(ÖÉq" €\x0f\x01 HA" €\x0f\0 äÙ\x04\x1e„\x14\x10®\0\x1e\x04\x14\x03•\x03¶\x04•\x01¶	Ž^[\bÐ\0\r\b‘\0
Ž\x0f\b\0" €\x0f\0\b\\a\x04è\x02–ª¸\x02¶" €\x0f\0\b\\a\aè\x02–¬¸\x02¶\0–¬¸\0¶\x0f\x0fC\x14\0§¸\0­\x05ðÿÜ\x0e'\0\x13\x01à\b®" €\x0f\0 ÔÙÉq\x03¦ép" €\x0f\0 ¤n©p" €\x0f\x01 €B  €\x0f\x06 \b\x18 D\00\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x13 !\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x13 <Žüú \b\0\b\0ô,D\00ñÀ" €\x0f\x05 ¸ëpÑ\x14©" €\x0f\x05 TlÑÀà~àx¡À  €\x0f\0\bÌ\bà~ñÀ*\b\0\0‰èûuÁÅ  €\x0f\x01 X		ðûuÁÅ\fÙaÁ  €\x0f\x01 T	åññÀáÅ×p\0\0Wü\x01Ø\x15ô\Ð\0ˆ€à\fØ\x11òZÑ[Ð\0Ý©r" €\x0f\x01 ÐXWЩq" €\x0f\0 Üê©p  €\x0f\x06 0\x18àx¡ÀH\x1e\x02\x10ü\x1cH°ü\x1cˆ°ü\x1cȰü\x1c\b±ü\x1cH±ü\x1cˆ±ü\x1cȱü\x1c\b²ü\x1cH²ü\x1cˆ²ü\x1cȲü\x1cÈ·©p" €\x0f\0\b°	\x04\x14\x1f4\x04\x14\v4\x04\x14
4\x04\x14	4\x04\x14\b4\x04\x14\a4\x04\x14\x064\x04\x14\x054\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x13'ñ\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x13(
Žüú”	\0\b\0ô\x04\x14\x044\x04\x14\x034\x04\x14\x024\x04\x14\x014  €\x0f\0 dûà~àxñÀ" €\x0f\x06 ´\x17¡Á0Õ\bv@ O\x06‹p@%A\x1e\x03Ú" €\x0f\x06  \x16\0Ú\fð3$ƒ03'\x10\v	ã\0\0$€0 ¨\x01âí
Ò€@%@\x1e‹q\x03Ú" €\x0f\x06  \x16‹p©qAá\x03Ú" €\x0f\x06  \x16\0Ú@&O\x18\fð3$ƒ03'\x10\v	ã\0\0$€0 ¨\x01âí
Ò€©pAà‹q\x03Ú" €\x0f\x06  \x16&\x16À\x107\x15Á\x10	\bC\07\x1d\x02\x10(\x16À\x108\x15Á\x10	\bC\08\x1d\x02\x10¡À  €\x0f\x06  \x18àx„\0\00\b\x0e\00¤\b\0\bWü\0\0\x04\0\00¡À  €\x0f\0\b\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x13/Ã\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x13/âŽüúˆ
\0\b\0ôŒ
à~ñÀ\x14Ð €\0‘5\b\x0f\0\08ü\x03‰€àÌ b€Ê!¢\x04\x06ô" €\x0f\0\bh\a\0Ù\vÐ" €\x0f\0 ÜêÑÀ  €\x0f\0 ò½ÑÀ!\0  €\x0f\0 è½ÑÀà~àx\x04\x0e\008ü\0\0@$\x1c1  €\x0f\0\bô
à~àx	Û\x03ð\x01ã\x1f\v•\x02\bÔyc5yt!\x02\x03ñ\b€\x02‰\x05Ñ\x14x\ba\x02ðÿØà~àx>\00V\r\00¡À  €\x0f\0\b0\và~ñÀáÅ\x01Ø" €\x0f\0 05\x19\br\0\bu" €\x0f\0 ¼!	\bP\0a½¯}©p  €\x0f\x06 0\x18àx¡À  €\x0f\0\bl\và~ñÀ" €\x0f\x06 ´\x17\buáÀ8Ò\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x137‘\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x137­Žüú|\v\0\b\0ô$\x12\x01\bk\x12\x03\x0e\x04#ƒ\x0f€ÿ\0\07»\x17»\x05#Ž\x0f\0\0oðk\x1a¸\x030Öð\x1a \x03\0Þ”¾ô\x1a \x03.Ö<\x16\x0e\x18\x04&Ž\x1f\0\x01\0\0A.\x0f\x16*Ö\r\x0fQ\x10$¦\x01Ø\x14®\x14Ž\x17\bQ\0ä†ây1\x7f&†\v	Å\x03\0Ø\x14®O\bQ\0€åÌ%"‘Ì%¢‘Ì%b’Ì%b‘^[ô\x05#ƒ\x0f\b\0[°Š 		k\x1aø\0ð\x1a \0\x18Ðô\x1a \0\x17Ð\x18Ò\0ˆ\x18Ñ\x05è\x04ž\0¢\x05ž\x04ð\0ž\0¢\x01ž\0¡ÁÀÁÅÁÆÁÇÑÀ\0\x16\x02p\00\b\x0fÏs\x01 ¨¬
 À'  €\x0f\x01 €Ÿ  €\x0f\x06  \x18àx\0\0\0¼ä\x17\0\0\0\0\0¾x5\0\bõ(\0\0Ü\x0e\00\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x13?a\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x13?{Žüúp\f\0\b\0ôÄ\x0e\00È\x0e\00¡À\0Àü\x1cH°ü\x1cˆ°ü\x1cȰü\x1c\b²ü\x1cH²ü\x1cˆ²ü\x1cȲ  €\x0f\0\b¤\fà~àxñÀ3h\x02y\x15 A\0\x12Ð\x10Ú6x\x11Ñ\x10à" €\x0f\x06  \x16\x04\x14\v4\x04\x14
4\x04\x14	4\x04\x14\b4\x04\x14\x034\x04\x14\x024\x04\x14\x014
%€\x1f\00pz*­  €\x0f\x04 LŽÑÀà~àxTx\00Ly\00¡À  €\x0f\0\b\b\rà~ñÀü\x1cH°ü\x1cˆ°ü\x1cȰü\x1c\b±>Ñ@‰>ÑUy@%
\x1e\x01<Фº@¡3Ù@€\x01j" €\x0f\0\b°/\0ØÿÙ" €\x0f\x04 \x1c"\x04\x14\x044\x04\x14\x034\x04\x14\x024\x04\x14\x014\x04\x14\x1f4  €\x0f\x04 z¦\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x13G1\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x13GIŽüúd\r\0\b\0ôÑÀà~¡Àü\x1c\b°ü\x1cȰü\x1c\b±ü\x1cH±ü\x1cˆ±ü\x1cȱü\x1c\b²ü\x1cH²  €\x0f\0\b”\rà~ñÀáÅ\x1eÐ!Ò`ˆuz ‚3	Þ\x06\x1cл¹ux € ¢„½  ^[Ðux`€‡¹ ¢š»` \x19Ð €5Ø%‰" €\x0f\x04 h\x19\x04\x14\r4\x04\x14\x1f4\x04\x14	4\x04\x14\b4\x04\x14\a4\x04\x14\x064\x04\x14\x054\x04\x14\x044\x04\x14\x034\x04\x14\04@€\0Ù  €\x0f\x04 h›  €\x0f\x06 0\x18àxx\x11\00ôy\00Ä\x11\00,z\00Øy\00À\x11\00@$\x1c1  €\x0f\0\b8\x0eà~àxñÀáÅ" €\x0f\0 @W"Ñ \bíC…@¡\0Ù\x02ê$¢$¥#¥\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x13O\x02\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x13OZŽüúX\x0e\0\b\0ô" €\x0f\0 XW©p  €\x0f\x06 0\x18àx@$\x1c1  €\x0f\0\b|\x0eà~àxñÀáÅ
%\0\x1fò" €\x0f\0 @W$…C…\x04éC¡\að\x0eÑ@¡\x03ê\0Ù$¢C…\x03ê$…$¢	Ò\0Ù$¥ ‚#¥\x02餡 ¢" €\x0f\0 XW  €\x0f\x06 0\x18àxä\x0f\00à\x0f\00¡À„è\x06†!è€%\x05\x18\x0eàÌ "€\x19ò#\bÑ\0\0\x16p\00/\x0f\0!A\0\x14!A\02!\x0f\00/F\x17	Ð\0" €\x0f\x03 ”\7\x1e\x02\x10\x0e\x06ð\x01Ø7\x1e\x02\x10\0Ø\x15¶<\x1e\x02\x10" €\x0f\x01 øë<\x16€\x10\x05è  €\x0f\x03 VU  €\x0f\x03 dUà~¡À  \0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x13VÔ\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x13W(ŽüúL\x0f\0\b\0ô€\x0f\0\bT\x0fà~ñÀ" €\x0f\x06 ´\x17˜p€áÌ!¢€Bô$Ð%Ò\0ˆ%j\x18`\x14x\baY\bQ\0"Ð\0ˆ"Ö\x18`\x14x\x13b\x1ab †u¶Š \x05\x06\x04å	#\x01\02¶\x02#O\0\x10wÊ!
\0Cöðy"\x7f	\x0f#\x103¶ðx\x14¶\x16Ð\x01Ù ¨$Š©pCŠ" €\x0f\x03 tY5\x1e\x02\x10\x13ð\x0fÒ\0Š‚àŠ%\x05\x16À}\vÑ \x01à€!\x05\a=e\0ª\x05ð\aЧ€¦ ©p  €\x0f\x06  \x18/\x0f\00,F\00Þ\x0e\00\x16\00”5\0\bñÀáÅ\x15Ð`€\0Ù#\x13\0)£\x04ƒ-“L“\x1d\r\x11\x14\x11Õ ŠíPq\x01Ú%ƒÂ"Œ\0Yaa¹\bðPq\x01Ù\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x13^«\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x13_NŽüú@\x10\0\b\0ôEƒÂ!L\0Ya" €\x0f\x02 LÁÅÑÀ  €\x0f\x03 Ž5  €\x0f\x06 0\x18˜\x10\00 \x10\00¡À  €\x0f\0\bx\x10à~ñÀáÅ\x10Рˆ" €\x0f\x01 Tö\x0eÑ ‰\x0eÒ\x02¹5y4y)b„áÌ%¡‘\vòáÊ â\r\x03ô\aè:Ø" €\x0f\x02 ´*  €\x0f\x06 0\x18àx.\x0f\00Þ\x0e\00LE\00¡À  €\x0f\0\b \x11à~ñÀ" €\x0f\x06 ¸\x17\0Ý©v\x04ð\x01Ý\x01æ-\x0e\x15\x12”íÏx" €\x0f\x03  Cwèc\x10\0ë	_\0€qè-€‚áÌ!bìõ\0€úñ©p  €\x0f\x06 (\x18àxñÀáÅ" €\x0f\0 ¨P\buêÿ¢è" \0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x13ft\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x13f—Žüú4\x11\0\b\0ô€\x0f\x03 x>\x04è$€
ð" €\x0f\x03 d>\x11è)€\x0fé$€\0!€\x0f\0\b\0\0±qÊ F\0¢x\x1d\x0e\x05p\0\0ÿÿ\x06ð" €\x0f\x02 ph\x04è\0Ø\x04ðŠ ÿ\x0f  €\x0f\x06 0\x18¡À  €\x0f\0\b\x11à~ñÀ" €\x0f\x06 ¬\x17 €\bv\r…‚àÌ â€xô\x11…\x10èD†\x03†\0Ù(s\x1ab\x10…Úº" €\x0f\x02 Äh„è\x01Ø\x15¥\x15…"è‹\x15\x04\x17\x01ØA†\x12¥V%\x10\x1a\b\x10 \0ßp…1Ø/$\0\x01õ¥ñ¥" €\x0f\x02 Di\x01†a\x10€\0Šè\b\x10 8Øô¥" €\x0f\x02 |j\x12…‰\bQ\0" €\x0f\x03 d>}\b\x10\0 €\r\rA\x10!\x10€\0\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x13nC\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x13n­Žüú(\x12\0\b\0ôm\b\x01$†\x03†V%\x0f\x1a\0!\x11\0(8Ø*r" €\x0f\x02 \x18j(\x1ap1Ø*r" €\x0f\x02 \x18j€àÌ ‚ÿÿÿÿ\x1aôL \0 Ì ‚¯ÿÿÿÿ\x14ô(\0Ø\x1ap\x12¥\x13¥1Ø" €\x0f\x02 |j(8ØP\x1d\0\x14" €\x0f\x02 |jÉp" €\x0f\x02 Ä—  €\x0f\x06 \x10\x18àxñÀ" €\x0f\x06 ¸\x17\0Ø\bu\x03ð\x01å;\rÕ\x11¯x" €\x0f\x02 Poxè-€‚áÌ!â€ôõ!€a\x11\0á	Q€‹\x10\x01\aP€Œ\x10\x03\a;y€ãÀ!¢\0\x03ð\0ÚHq\x0fÖ%\rÐ\x11:bÚºE¦‰\x10\x02\a\x02"@\0e¸^[\b…\0	Ò!’\x13\bE\0\x01²\að\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x13v\x12\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x13v0Žüú\x1c\x13\0\b\0ô" €\x0f\0 ¨P\x05¦  €\x0f\x06 (\x18àxÐ]\00T\x10\00¡À  €\x0f\0\bD\x13à~ñÀ" €\x0f\x06 ´\x17]Ö\x02Ž" €\x0f\x03 ,ã[׸p\0¯\0–Œ Œ\0ÝOòŒ L*òØà“ò\x12öÖàeò×àœô$Ž\x03Ž€á\0¯xôPÔ\x14x™`\x01‰£¸\x01©\x10ÝqðÙà„òŒ \fŠôJÑ\x14%@\x01\ba† ÿƒ\x06òŠ Ì\r@Ù{ðŠ Ì\r\fÙwðBÑ\x14%@\x01\ba† ÿƒöó\f\x16„\x10\x03–"–D–e–" €\x0f\x02 èCÕ\b\x10\0Š Ì\r\x1fÙ" €\x0f\x03 tÛ©p\x12Ù‘Ú\x03Û" €\x0f\x05 ÐmXð¨p" €\x0f\x04 X\x06\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x13}á\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x13}ûŽüú\x10\x14\0\b\0ô\0/Ò\x14 \x01\0)b¡	Þ€" €\x0f\x02 \x18D‘\b\x10\0©p\x12Ù©Ú\x03Û" €\x0f\x05 ÐmŠ Ì\r\x1fÙ5ð\x04Ž#Ž ¯‰è Ô4y™a\x01‰ƒ¸\x01© Ý\x02ð\x1fÝŠ Ì\r©q" €\x0f\x03 tÛ" €\x0f\x02 €„"ð\x1fÝŠ Ì\r©q" €\x0f\x03 tÛ" €\x0f\x02 à„" €\x0f\x02 \x04„\x10ð\x03Ž\0¯Š \f\x0e\x06ð\x03Ž\0¯Š L\x0e\0Ù" €\x0f\x03 tÛ\0Ý©p  €\x0f\x06  \x18àxüg\008\x11\00Ti\00Ui\00¡À  €\x0f\0\bÜ\x14à~ñÀ" €\x0f\x06 \x17:pÚp€&\x10 X\x16\x14 \0\x11\x10\0\\x16‚ Áâ@$\r"J%\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x13…±\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x13…ËŽüú\x04\x15\0\b\0ô\0 ¢ò	\x11˜ \x1d\b\x110p\x16€ Šè*p" €\x0f\0 äa\x01Ùp\x1eB “ðs
‘\0`\x16\x13 \x02$Ï$\x10çd\x16\x12 +ð\0"À$¢pS \x02\x02Š#\b\0\x02#\00wÊ!Å\x03\x02 €\x04ȸ\x02{pqÊ'Æ Ê'E /$À\x05V!\x03"\x14#\0\x14{@!\0\x06@#\x01\x06ˆr" €\x0f\x06  \x16\x02'Ï\x15\0%Õ%Øï\0"\x01%X\x1e@ BuÑ\x17\x12v\bß
pérJqJ#\0 \vs" €\x0f\0 ,\\x1aph¾\x13ðÊÑÊÒ\x14"À$	Û
%\0\x05\x14"Â\x04" €\x0f\0 <[\0#\x13%‚u\x02'\x0f\x15\x16ïS%\x01\x12\x0e!‚\x0f\0\0\0\x02PwÊ$† \\x16‚ Ê$\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x13‚\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x13Žüúø\x15\0\b\0ôÅ#V!À"\x14 D\0]êˆqÜñ\x01Ù\\x1eB \x1eðS%\x02\x12\x0e"€\x0f\0\0\0\x02\x10vÊ …\x03\x10v	\x11ƒ Ê'\x06\x10V!Á"TyÊ'…\x13
pér" €\x0f\0 ,\â~\x1apýeäî  €\x0f\x06 Ø\x17àx¡À  €\x0f\0\b`\x16à~ñÀ" €\x0f\x06 \x17\bv\x02\x1aqJ$@ ê¸ Â$\x01%§Á\0Ý‘é\x15†0Ž\x01à\x15¦\bŽ\x03é\v\b\x10\x01©w\x19ðL$\0 \x01ßÊ'¡\x10\x13ð	\x10 ÷é0Ž\x05é(Ž\v	\x10\x01©w\x02ð\x01ßL$\0 Ñ â‚\x03ò\0\x18@#)Ž\x01Ø€áÀxHŽ@ X\0\0Ø\x0f
\x11\x01JŽ€âÊ b\0N ’\0\x02–ã¸Ì!\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x13•S\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x13•rŽüúì\x16\0\b\0ôâ€\x04ô@Å\x05ð\x03–‡¸@À@&\x11\x17*p" €\x0f\0 p=B"V \x01(€…\x13ò\x04\x10\x15 @%‚ \v\b…\0^[\f\x11 \b\x16„\x10-\f\x11\x01\0(ƒ\x05@" \x19\vE\0L$\0 v\x02\x01\0€&\x11\x17o\x02 \0 ®
\x05\0ºr\x05ð\a\r\x04 ºpO\f\x10 \0\x10\x02 Ép€ \x10\0;€‡êA)\x02\x01By; \x10ðA)B\x01By áŒ!\b€; È÷Ép
q" €\x0f\0 Øb\bðÉp
q" €\x0f\0 äa\b\x16„\x10\bðBÅ\b\x10€ DÀ\0\x10\0 AÀ\x02–\v\b\x1f\x03zu/ðÿ\f\x10@\x16\x01\x11D\x16\0\x11"x\x10x'\bÓ\x03;\x16€\x10\x01à\x0fxã\br;\x1e\x02\x10\x13†\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x13!\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x13<Žüúà\x17\0\b\0ô;\x1eB\x13\x01à\x13¦J#@ \x15ðk\b\x12	;\x16€\x10\x01à\x0fx¿\br;\x1e\x02\x10\x13†;\x1eB\x13B%U \x01à\x13¦Š ÿ\x0fzp-\f\x11\x01…À*q\x02Ú" €\x0f\0 Ø=\x05ÀB%• \x02Ùà¨\x01\x18B\x05*p" €\x0f\0 |=\x01À€àÌ$! \x03ô\x10Ž\bè\x11\x0f\x10úu\x06ð;\x1eB\x13¯ñJ'@ …Àªt
"€\x14J$\0x\0Ú¨ \0\x02/"‚’À"\x05\x03›|*q" €\x0f\0 Ø=\v\f\x11 \x05ÀCÀ\x06Á\x01)\x05\x11\x0f\x10 \x05À" €\x0f\x06 ,^[GðE\f\x10 \x05ÅÉp\0\x14\x040
qér©s" €\x0f\0 ÀdJt\bw)hJ$\0x\0ب \0\x02/$\x02“À \0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x13¤ñ\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x13¥\vŽüúÔ\x18\0\b\0ôE\0;y\x1de+ðà;\00Ð;\00$\x13\00l†Àéq`{\0Âét
"\0\x16J$\0x\0ب \0\x02/"‚’À \x05\x03›|\x01ÁJtJ$\0x\0Ý8`AÀ	o¨ À\x01/$\x02“À%\x05\x10^[x\x03À\x1deD\x16\0\x11\x02%Õ#JtJ$\0xø`\x10xD\x1e\x04\x10\0Ù¨ \0\x02/$\x02“À!Å\x03û\x7f*p" €\x0f\0 |=L%\0 €õ\bŽ„à⠁\x0f\x05 ¼_?\vQ …À*qJr" €\x0f\0 Ø=\x06À\x15è\x05Á\v
Q \0\0©\x03ð\0•\0±D\x16\0\x11Jq\x01à\x10xD\x1e\x04\x10*p" €\x0f\0 |=§À  €\x0f\x06 Ø\x17\0Ùà\x7f@\x18D\0¡À  €\x0f\0\b\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x13¬Á\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x13¬ÛŽüúÈ\x19\0\b\0ôÌ\x19à~ñÀ" €\x0f\x06 ¨\x17m\x17\x12v:p\x14\x12€ \0Þ\x1aqü\x1cŒ³^[\bÑ\x01Ép\aÙŠ"Ï\x02(s" €\x0f\x05 Ðm\x01Ø¿ð" €\x0f\0 LW\x14\x12‚ `ÑOa`Õ\x16'Â\x13\x03ºâz\x15'‚\x10U}:\x1dB\x14" €\x0f\0 XWŒ!C¯*pÆö" €\x0f\x05 To\x06ð" €\x0f\0 äÉ:pŒ ÃÊ !\0Ê!¡\0Ê"\x0f\0\0Ú\x03Ê#á\x01⠁\x0f\x05 Ðm©p
q\x14Ú" €\x0f\x06  \x16	\v\bÑ\0\x01Ø
­*p9\x1dB\x14" €\x0f\0 ôm©pÊÿB\x1d„\x13D\x1d„\x13<\x1d‚\x13;\x1d‚\x13Ò¥Ó¥Ô¥Õ¥" €\x0f\0\b\\a€à\x01Ø\x03ô\f\x10\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x13´‘\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x13´«Žüú¼\x1a\0\b\0ô\0 8\x1d\x02\x10©p" €\x0f\0 œ`IƒâÊ!‚\0\x02ô*\0؁áÊ \x0f\0\0Õ\0\x06ò‚áÊ \x0f\0\0ÿ\0\x0fx\0\x1c\x040€â\x01ÚÀz\x01âT%À\x18‹q" €\x0f\x06  \x16V%À\x12\bt€$\x10\x10À¤Š!\x10\0" €\x0f\x06 ,^[©q€!\x10\0\\x19‚\x03Ø¡Ù¡Š \b\0\x1a¡\x01Øp\x19\x02\0@%\0\x17éq" €\x0f\0 H=€àl\x0eáÿÊ A\x03" €\x0f\0 LW\x14\x12 \x0f!Â\x03\x14\x1a‚ " €\x0f\0 XW©p" €\x0f\0 hm\0Ø¡À  €\x0f\x06 \b\x18,;\00\f5\0\bÌ6\00ñÀ" €\x0f\x06 ´\x17ÞÑ\bv\x04æô\x1c\b°‹p\x03Ù" \0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x13¼c\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x13¼‚Žüú°^[\0\b\0ô€\x0f\0\bð/\x01Ù" €\x0f\0\bà/\x18Ù" €\x0f\0\bÐ/ÔÐ\0€ÔÕ€ \x04\0Fˆ …\x13ê\aˆ‘è\x11\0Á\x10à" €\x0f\x05 ŒË\0…\x11€\f\x16\x01\x18\x14à" €\x0f\x05 ŒË\0…O'Á\x17\x11€" €\x0f\x05 ŒË£À  €\x0f\x06  \x18ñÀáÅÁÕ
…" €\x0f\0 °v\b…\0Ù\x02Ú" €\x0f\x05 ¤Y\x06…\x01Ù\x02Ú" €\x0f\x05 ¤Y¸Ð\0€„\x10\0\x06" €\x0f\0 À4  €\x0f\x06 0\x18ñÀ" €\x0f\x06 ¸\x17\buü\x1cȰÉu&…®ÖA‰ ‰\bºEy ¶(p" €\x0f\0 (ÅŒ Ï\x04ô\0Ø\0¶\0–\fè\x06…"ˆ@%\0\x1a\x03á" €\x0f\0\b\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x13Ä1\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x13Ä…Žüú¤\x1c\0\b\0ôÀ/\x11ð\x04\x14\x034\x04\x14\r4\x04\x14\x0e4ÑÀ\x06†"ˆ\x03ˆ\b¸  €\x0f\x05 \x1eÁ\x04\x14\x034\x04\x14\r4\x04\x14\x0e4ÑÀ  €\x0f\x05 *Á  €\x0f\x06 (\x18¡À  €\x0f\0\bð\x1cà~ñÀ" €\x0f\x06 ¤\x17ªÁ†Ñ‡×\x1c\x11\x13\0$\x11\x11\0(\x11\x10\0,\x11\x12\0\0‡Î¼\x10\0\0" €\x0f\x05 ˆË\0Ý ‡9\b\x1e\0¼\x11\0\0\x01Ù©r" €\x0f\x05 Ë\0‡\x05Ù©r¼\x10\0\0" €\x0f\x05 Ë\0‡\rÙ©r¼\x10\0\0" €\x0f\x05 Ë ‡tÐV!Ì	 ¨°\x11\0\0 ¬\0€O&\x01\x10\0Ú\x04à" €\x0f\x05 Ë" €\x0f\x01 ÀQ€àÀxÀyâ ‚\x0f\0 HMO#Ó&\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x13Ì\x02\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x13ÌYŽüú˜\x1d\0\b\0ôaÖ\0Ý	ðð!@\x03jq" €\x0f\x05 ŒË\x01å\0†U A\x04†\x10€\0ç\bCƒ\x01Ø" €\x0f\x05 hÎ\x03Ø" €\x0f\x05 hÎ\x05Ø" €\x0f\x05 hÎ\x02Ø" €\x0f\x05 hÎ\x04Ø" €\x0f\x05 hÎ\x10Ø" €\x0f\x05 L‹NÐ\0ˆ€àâ ‚\x0f\0 Œ"…ÿP!\x01 °¹€¹\0†¹\0€\x1cà" €\x0f\x05 ŒË\0†
q\0€E!Á\x03\x14à" €\x0f\x05 ŒË\0‡E"Â#€ \x04\0iˆF"Á+E!Á\x03ƒë\x06ˆ‚èHq\0†\0€\x10à" €\x0f\x05 ŒË\0†\0€" €\x0f\x05 ˆË\0ÙEÀ…À" €\x0f\0\b\00\0†\x05Á\0€" €\x0f\x05 ŒË(Ð\0€Cÿ\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x13ÓÔ\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x13Ô(ŽüúŒ\x1e\0\b\0ô\0‡\0Ù¬\x10\0\0Œ¹\x14à" €\x0f\x05 ŒË\x01تÀ  €\x0f\x06 \0\x18¡À  €\x0f\0\b¸\x1eà~ñÀ" €\x0f\x06 °\x17\bv@ \r\x02\x1d€Œ ÿ¡ÁÈò\x12Ð\0€2 €\x0f\0\0\x06\x01€àÀò<…^…0rF\x01%\0\0…è¸~ô\x11Ð\0ˆ€àzòN\x16@\x11žè1†B†"‰2ºÊºTzcºá	\0\x14ð\x145\0\b\x12\00”\x12\00x\x04\00œ\x12\00–5\0\b¦5\0\b¥5\0\bX\f\00è\x17\x0fð°è‹r\x03Ø@'\x01\x14" €\x0f\x05 LY¡è1†\x03Ú\x02‰N\x1e\x04\x10\x04‡" €\x0f\x06  \x161†X†\x04‡\x03ácº\x04à" €\x0f\x06  \x168†N\x16@\x11Ki\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x13Û«\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x13ÜMŽüú€\x1f\0\b\0ô\x01áBx\x0exN\x1e\x04\x100y\x1dðR\x16\0\x11\x01à\x10xR\x1e\x04\x10*ðP\x16\0\x11$‡X†8`1†" €\x0f\x06  \x16N\x16@\x118†"x\x0exP\x16\x02\x11N\x1e\x04\x10Ya0y)\bs\0P\x1eD\x10\0Ø\x16¯\x1ap\x04‡"ˆ\x03á*·" €\x0f\0 L"N\x1e\x04\x14P\x1e\x04\x14\0…\v\b\x1f\x02\x11†\x02ð\x12†\x0f¦\x10¦0\x1e \x104\x1e \x10\0Ø\x1e¥\x14…R \0\0S \x01\04¥\x0f\b\x1e\0\x0e…\x1f¥,\x15\0\x18\x05ð\r…\x1f¥(\x15\0\x18€\x1d\0\x10\0…\x19\b\x1f\x02©p" €\x0f\x05 h¦6Ñ\0\x01à\0¡\x0eð»\x17\0ö\0ˆ€àâ ‚\x0f\0  \x060Ñ\0\x01à\0¡¡À  €\x0f\x06 \x18\x18àx¡À  €\x0f\0\b\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x13ãu\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x13㜎üút \0\b\0ôx à~ñÀ¨\x17\0ö\0€\bÙ¬\x10\0\0\x14à" €\x0f\x05 ŒË"Ð\0€€à⠁\x0f\0  \x06\x01ØÑÀà~¡À  €\x0f\0\b° à~ñÀáÅ¡Á›\x17\rö\0…" €\x0f\0 \0"\0Ø\x02µ‹q©p" €\x0f\0 ˆv”\x17\x01ö Šè\0…\f\x19 \0\f\x11\0\bPà\x14\x19 \0\f\x11\0\b\x02¡\x14\x11\0\b\x04¡¡À\x04\x14\r4ÑÀ  €\x0f\x05 J¶¡À  €\x0f\x06 0\x18àx¤\x12\00¨\x12\00¡À  €\x0f\0\b(!à~ñÀ" €\x0f\x06 ¬\x17aÖ\0†¦Á°\x10\0\0\0€\bà" €\x0f\x05 ˆË\0†K\x10\0\x06\x06è$€\x04é`y\a€ †\x02ݰ\x11\0\x06‚àJ!@ Žô\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x13ëB\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x13ë^Žüúh!\0\b\0ô°\x11\0\0\0€" €\x0f\x05 ˆË †V!\x02	xŠƒãÆ ‚ÿÿ\x0fø|òLÓ\x04\x13\x10\0⃬\x11\0\0¸ª\0Ù‹¹\x14à" €\x0f\x05 ŒË" €\x0f\x05 –" €\x0f\x05 x—\0†¬\x10\0\0\fà" €\x0f\x05 ˆË †¡¿'\b\x1e\x01¼\x11\0\0\0Ù\x01Ú" €\x0f\x05 Ë\0†\0Ù¬\x10\0\0XàO'B\x10\x11ð¬\x11\0\0O'B\x10\0ÙXà" €\x0f\x05 Ë\0†\0Ù
r€º¼\x10\0\0" €\x0f\x05 Ë\0†\0Ù±\x18X\x04¬\x10\0\0\x01ÚXà" €\x0f\x05 Ë\0†\0Ù¬\x10\0\0"ÒXà" €\x0f\x05 Ë\0†\0Ù¬\x10\0\0\bÚXà" €\x0f\x05 Ë\0†\0Ù¬\x10\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x13ó\x12\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x13ó.Žüú\"\0\b\0ô\0\0 ÚXà" €\x0f\x05 Ë\0†¬\x10\0\0Xà" €\x0f\x05 ˆË †j\x19\x18\0V!Ì	¬\x11\0\0 ¬\0Ù‹¹\x14à" €\x0f\x05 ŒË
Ð\0€€àÊ b\0â ‚\x0f\x05 œË¦À  €\x0f\x06 \x10\x18\x12\00X5\0\b\0\x05\x04\0œ5\0\bD¸S B€\x1ciÁ¸Ì !€Ê !\0\x16òâÌ !€
òàÌ"!€\x06òâÌ a€\x04ô\x01Ø\bð‚âÌ ¡€\x02Ø\x02ò\x03Ø\x04¸%xà\x7f\x0fxñÀ" €\x0f\x06 ¨\x17£Á\bu(w\x1ar\0Ù ª!ªZqÀéq" €\x0f\x05 ˜]\x01Á:p\x01\x10€ !‰ãÿ\x01\x18\x02 \x01À ˆ\0\x18B \0Þ\fð\0Á©p" \0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x13úá\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x13úüŽüúP#\0\b\0ô€\x0f\x06  \x16"Á=e\0"R >f‹p/!G\x04‚Â" €\x0f\x05 h^"Âíê\x13\x0eA\x14\x02'O\x14/'Ç“Ñõ\0Ø\x04ð\x02'€\x14\x0fx£À  €\x0f\x06 \b\x18àx¡À  €\x0f\0\b¤#à~ñÀ" €\x0f\x06 ¨\x17çÐà€€'\a’¡ÁqòŒ\x17\0\x10\x01ÛA(\0A(\x02\x01Á¸Á¹Ãº" €\x0f\x05 ày
"\0€\x18§_òS"\x04@'\0\x18" €\x0f\0\bÀ//!‡ \x14!@$²‡B Ò\0*q©p" €\x0f\x06 ,^[\0Ø\x1ap`À\x01\x1c\x020\x01Ø" €\x0f\x05 ÔÐÌÖ\0Ž/"‡$¡èJp\x02\x1d‚\x14" €\x0f\x05 $]\x01®\x14è\x03mB!Á /y‹r²ÿ\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x14\x02±\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x14\x02ËŽüúD$\0\b\0ô À\0­\x01\x14€0\x01­ À\x02®\x01\x14€0ø\x03®\x11ð\x02Ž\0­\x03Ž\x01­\vð\x01Ž€àÊ"\x02\aÊ B\x03˜\x0eâÿÊ!B\x04ép" €\x0f\x05 ´Õ³Ð\x01Ù ¨\0Ž\x01à\x0fx\v\bò\0\0®\0\x1e\x02\x14¡À  €\x0f\x06 \b\x18¡À  €\x0f\0\b°$à~ñÀ©Ñ\0©‡è" €\x0f\x05 \{\x05ð" €\x0f\x05 D{¤Ð\0Ù  ÑÀà~¡À  €\x0f\0\bà$à~ñÀáÅšÑ\x01؝Õ\x04©\x14\x15\x01\x18‰¹\x14\x1d`\x10" €\x0f\0 \x04C\x10\x15\0\x18ˆ¸Œ¸‘¸\x10\x1d \x10\x10\x15\0\x18°¸\x10\x1d \x10  €\x0f\x06 0\x18àx¡À  €\x0f\0\b,%à~ñÀáÅ\bØ" €\x0f\0 \0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x14
\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x14
œŽüú8%\0\b\0ôLV…Õ\x04\x10è\x0eØ" €\x0f\0 lV" €\x0f\x05 lÊ\x0eØ" €\x0f\0 LV\0Ø\x04­  €\x0f\x06 0\x18¡À  €\x0f\0\bt%à~ñÀzÑ\x14\x11\0\b©¸\x14\x19 \0\x10\x11\0\b¬¸\x10\x19 \0\x01Ø" €\x0f\0 \x04C" €\x0f\0 ¤\x05šñ¡À  €\x0f\0\b¬%à~ñÀ" €\x0f\x06 ¸\x17eÖ\0†¡Á€ 	\x06" €\x0f\x05 (Ô\x02Ø\x01Ù" €\x0f\0 44cÕ‹q\x06¥©p" €\x0f\0 ˆv †Šè\0…\f\x19 \0\f\x11\0\bPà\x14\x19 \0\f\x11\0\b\x02¡\x14\x11\0\b\x04¡(p" €\x0f\0\b”^[\x03Ø\0Ù" €\x0f\0 44 †\x02¥„\x19\x18\0\x03Ø\0Ù" €\x0f\0 \0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x14\x12R\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x14\x12oŽüú,&\0\b\0ô44 †	Ú\0ÛË\x19\x18\0KÑ\x0eØ" €\x0f\0 \x14V\x0eØ" €\x0f\0 lV" €\x0f\x05 lÊ\x01Ø" €\x0f\0 \x04C\x0eØ" €\x0f\0 LV¡À  €\x0f\x06 (\x18ñÀ\x0fx" €\x0f\x05 <΀àÊ !\0\x05ò\x02€2¸Ê¸"ññÀ" €\x0f\x06 ´\x17£Á\x01Øöÿc¸P \x01\0‹p/y" €\x0f\x05 ˜]\bu+Ð\0Á€\0‰¯\x7f\0®\x01‰\x01®¢®\x03æ	ð\x01ÁÉp" €\x0f\x06  \x16"À\x1efÀ‚Âéq" €\x0f\x05 h^"Âñê\x03m\x10x£À  €\x0f\x06  \x18àx¡À  €\x0f\0\b\b'à~ñÀ" €\x0f\x06 ¸\x17\x14Õ\x02…ßÿ\bv\x01Ø" €\x0f\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x14\x1a!\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x14\x1a=Žüú '\0\b\0ô\x05 ÔÐ\x06Ø\x0e­\x02…Éq" €\x0f\x05 Ìy  €\x0f\x06 (\x18¡À  €\x0f\0\bh'à~œ\x12\00 5\0\bµ5\0\bX\f\00¨\x12\00\0\0\0”x\x04\00lÊ\x05 ñÀ" €\x0f\x06 ¸\x17ð\x17\rð(v
¥6µ\x01Ø" €\x0f\x05 ÔÐÈ\x17\x01ð\x05‰ýè\x01Ø\x05©
…Éq" €\x0f\x05 Ôz  €\x0f\x06 (\x18àx¡À  €\x0f\0\b´'à~ñÀ" €\x0f\x06 ¬\x17¥Á¾\x17\x11v`ˆ\0\x11\x0e cÃáˆ@$\x103\r\x1cÂ3Cˆ\0Ý"ˆ\bºYa\x0e\x1cD0Eˆ/$H\0\x04\x10†\0@*\x05\x02\0%…\x01/%H\x01\x10\x1cD1Gˆf¿\x06ˆ\bº\x1ab…çPzf\x02-\0\x12\x1c„0\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x14!ò\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x14"\rŽüú\x14(\0\b\0ô@'\0sõ Ï\x03ôx\0x\x06\0)\x01¬\0œ\0\x15\x01¸\0B,\0\x02a¸Žà>\x02\r\0@'\x03sõ#\0\0\x14{\0{\x0f\0&\0U\0\x17\x01\x17\x01?\0L\0\x17\x01\x17\x01\x17\x01\x17\x01\x17\x01\x17\x01\x17\x012\0—Ð\0€I"\x04\vè•ÑÉp©r" €\x0f\x06  \x16û\x01\0\0’ÑÉp©r" €\x0f\x06  \x16ç\x01\0\0ŽÑ±Ø	"\r\0Ép©r" €\x0f\x06  \x16Ï\x01\0\0…Ð\0€\x18èˆÑI"\r\x03Ép©r" €\x0f\x06  \x16Ùð\x7fÐ\0€\fè‚ÑI"\x02Ép©r" €\x0f\x06  \x16ÍðŠ 0\x05" €\x0f\x05 \x14´Š%ÿ\x17ÃðS!Á€\rôxÑ ‰	%\x10Ép©r" €\x0f\x06  \x16\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x14)Á\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x14)ÛŽüú\b)\0\b\0ôµð\x1d	Q\0sÑ ‰	%\x10Ép©r" €\x0f\x06  \x16©ð^[	‘\0mÑ ‰	%\x10Ép©r" €\x0f\x06  \x16›ðƒá™ôhÑ ‰	%\x10Ép©r" €\x0f\x06  \x16ð€ãô©p" €\x0f\0 \0#" €\x0f\x05 ¨Ó\x0e\x14\x011]Ð °\x7fðŒ#\x02€{ôZÐ\0\0®\x12\x14\r1€åè\0	\0sðãqôUÐ\x01ÚU×  ¡ ¢ L¨TР¨TÐ@¨TÐ °\0‡„\x10\0\x06¿\b\x10\0{\f\x10\0" €\x0f\x05 D{NЩq\x03Ú\f\x19D# ¨LР¨LР¨¡¨\x10\x11\0 " €\x0f\x05 ¤Y\0‡©q€ \v
" €\x0f\x05 DÕ\0‡\x01Ù€ \0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x141‘\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x141¦Žüúü)\0\b\0ô\a\x02" €\x0f\x05 DÕ\0‡€ \v
" €\x0f\x05 \fË\0‡€ \a\x02" €\x0f\x05 \fË\0‡€ \a\x04" €\x0f\x05 \x14!ð" €\x0f\x05 \{\0‡€ \a\x04" €\x0f\x05  \x15ð¡ãÌ%¡€Ê%\x10\x0fò\0\x10€ Œ B€\0Ý	ô&Ð\x06\x10\r!\0\v\rr\x10\0®\x01Ý=\r\x12\x10\x06\x10\0!\x1f\r\x03\x10\x1cÐ\0€(€©p2¹Ê¹" €\x0f\x06 ˆ\x18\x01ß\x02é\0ß\0ØÉqÉr©sS'\x04\x10" €\x0f\x05 $Ï©p¥À  €\x0f\x06 \x10\x18x\x04\00ø\x03\00¼Y\x06 ¨Y\x06 ÐY\x06 Z\x06 œZ\x06 4\\x06 ´Z\x06 4[\x06 ´[\x06 Š\x12\00¨5\0\bœ\x12\00\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x149b\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x149Žüúð*\0\b\0ô¥5\0\b¦5\0\bŒ\x12\00¡5\0\b 5\0\b¢5\0\b@$\x1c1  €\x0f\0\b\x18+à~àx©p" €\x0f\0 °v
 €\x0f\00h\x1c\0ِ¹\0Ú" €\x0f\x05 ðÿ  €\x0f\0 8\x1dà~àxñÀ" €\x0f\0\b\\a\x06èUÑ\0”¸\0¡ÑÀà~ñÀ" €\x0f\0\b\\a\x06èOÑ\0’¸\0¡ôñàx@$\x1c1  €\x0f\0\b„+à~àxñÀáÅHÐ\0ˆ­èHÐ\0ˆ«è" €\x0f\0 <'%èBÕ …P!€\x04“¸\0¥BÐ\0ˆ’èP!\0\x04²¸´¸“¸\0¥>Ð(\x10\0\b!\b\x1e\0=Ñ\0 ¸\0¡
ð" €\x0f\0\b\\a\x04è\0…´¸\0¥7Ð\0€\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x14A1\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x14ALŽüúä+\0\b\0ô@x  €\x0f\x06 0\x18àx@$\x1c1  €\x0f\0\b\0,à~àxñÀáÅ/Ð\0ˆ®è/Ð\0ˆ,è\x1eØ" €\x0f\x05 $]&è"Õ …P!\0\x05•¸\0¥"Ð\0ˆ‘èP!\0\x04²¸´¸•¸\0¥\x1fÐ(\x10\0\b\x1f\b\x1e\0\x1dÑ\0 ¸\0¡	ð" €\x0f\0\b\\a\x05è\0…²¸\0¥^[Ð\0€@x  €\x0f\x06 0\x18ñÀáÀáÁ\x17Ñ ‰^[	\x1e\0" €\x0f\0\b\\a‡èÁÁÁÀÑÀ  À\aÁÁÁÀÑÀ”¹\0Ú  €\x0f\x05 ðÿ\ñàxØ\f\00Ò\f\00Ó\f\00Ñ\f\00\0\0\0–à\f\00¬\f\00Ô\f\00é\f\00´\f\00¨\x04\00¡À  €\x0f\0\b\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x14I\x05\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x14IkŽüúØ,\0\b\0ôÜ,à~ñÀ" €\x0f\x06 ¨\x17¨Ð\0€\0ݰ\x10\0\0\0€\bà" €\x0f\x05 ˆË£Ñ $‰€áÌ!¢Vò¡\x17\x10v!\b\x1e\0 Ð\x01Ù\0\x18B   žÐ  žÐ  žÐ ¨\x01ØGð\0\x10 …	\x10\0—\x17\x11v(¸—\x17\x12vS A\x03\0\x11\x02 •וÖ\x17
@\0\0\x19@ \0\x1a@# §\x01Ø\0®,ð\0Ž\vè" €\x0f\0 ¨P §\0\x1a\0  ®©p\rð" €\x0f\0 ¨P\0\x12\x01 "x\v\b3\0\0§\x13x\0§Œ \x03‚Òö\0ސè\0\x19@#\0\x1a@# §\x01Ø\0®\0\x18B#\x02Ø" €\x0f\x05 DÑ\0Ø  €\x0f\x06 \b\x18àx¡À  €\x0f\0\bÌ-à~\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x14Pß\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x14QžŽüúÌ-\0\b\0ôG\bó\x01\0Ù‡èmÐ\0€@ \x01\x06^[ð\x19\b\x1e\0jÑ\x1dx\x04¸ \x16x€!\x02
\x19a\x11ð\x11\b‘\0dÐ\0€\bq€!	\x06	ð\x0f\b\x11\x01`Ð\0€\bq€!\v
à\x7f(pàx¡À  €\x0f\0\b$.à~ñÀ" €\x0f\x06 ´\x17¢Á"€\0Þ\bw\x04\x1c„3Û	\x1f\x02A)€\x03Á¸‚àÌ"!€eôUÕ(…&\x1d‚\x13\x03‰B‰\b¸X`\x04à\x12µQÐ\0€à\x03Ø	ô\x01‰ ‰\b¸%x" €\x0f\x05 4Y5\b\0Â9\bÐ\0‹q" €\x0f\x05 LY€àuô\0À(…R•" €\x0f\x06  \x16\0À" €\x0f\0 Ø!-ð\b…" €\x0f\0 Ø!cð\x03Ø@%\x01\x14" \0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x14X¥\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x14XÐŽüúÀ.\0\b\0ô€\x0f\x05 LYšè\x04…\x03Ú(…" €\x0f\x06  \x16(…J‡\x04…\x03áÒºcº\x04à" €\x0f\x06  \x16\x04…" €\x0f\0 L"\að,Ð" €\x0f\0 8!\b…\0Ù\x02Ú" €\x0f\x05 ¤Y5ð1	\x1e\x02\bàÌ"!€\x12ô Ð.\x18‚\x03Ö°
€" €\x0f\0 °v" €\x0f\0 Œ"\x1dÐÀ¨\x1fð;	\x1e\x02.¹Á¹‚áÌ"!€\x17ô" €\x0f\0\b\\a\x12Ñ\vè\x0e‰\x13\b‘\x01Ω" €\x0f\0 ¤"\aðީα" €\x0f\0 €"¢À  €\x0f\x06  \x18\x12\00œ\x12\00¦5\0\b¨5\0\b¬5\0\b°5\0\b´5\0\bx\x04\00–5\0\bœ<\x06 ¥5\0\bJ"@\x10\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x14`r\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x14`Žüú´/\0\b\0ôJ#€\x11  €\x0f\x06 ø"J"\0\x10J#€\x14  €\x0f\x06 ä"J"\0\x10J#€\x11  €\x0f\x06 ä"J"À\x14J#@\x10  €\x0f\x06 ä"J"@\x17J#@\x10  €\x0f\x06 ä"J"\0\x11J#€\x11  €\x0f\x06 ä"áÅÏp\x06 ´= €\x01ÛÏp\x06 ¸=(\x19à\0@€Š%\x11\x12Ïp€\0 @`\x1a`\x03h\x1a \0Ïp$\0\0$l\x1a \0dØ \x1aà\0\x1c\x1a \0\x04Ø\x18\x1a \0\0Ø(\x19 \0\0Ø‘¸\x198\0à\x7fÁÅàxÏq\x06 ¸= \x1c\x19 \0à~àxÏq\x06 ¸= \x18\x19 \0à~àxÏq\x06 ¸= \x04\x19 \0à~àxÏp\x06 ´=\0€\0Ù(\x18`\0à~\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x14hB\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x14hYŽüú¨0\0\b\0ôÏp\x06 ´=\0€\x01Ù(\x18`\0à~Ïq\x06 ¸=@H\x12\x01\b  L\x12\x01\bà\x7f$¨àxñÀáÅ\buÏp\x06 ¸=\0€P\x10\0\b\x04 €\x0f\0€ÿ\0\0¥\x03† ý\x0fB(þ\x0eò\0" €\x0f\0 HA\0­©p" €\x0f\0 hA\x06ðÏp­Þï¾\0¥  €\x0f\x06 0\x18Ïq\x06 ¸= 8\x11\x01\b  \x03ˆ† ý\x0fà\x7fG¸ñÀáÅ\buÏp\x06 ¸=\0€\\x10\0\b\x04 €\x0f\0€ÿ\0\0¥\x03† ý\x0fB(þ\x0eò\0" €\x0f\0 HA\0­©p" €\x0f\0 hA\x06ðÏp­Þï¾\0¥  €\x0f\x06 0\x18Ïq\x06 ¸= D\x11\x01\b  \x03ˆ† ý\x0f\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x14p\x13\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x14p,Žüúœ1\0\b\0ôà\x7fG¸Ïp\x06 ¸=\0€\x01Ù(\x18`\0à~Ïq\x06 ¸=  \x19 \0à~àxÏp\x06 ´=\0€\x01Ù(\x18`\0Ïp\x06 ¸=\0€\x02Ù\x04\x18`\0à~àxÏt\0Ÿ\0\0\x04¸\x14xš` \x12\0\b&x \x1a \0à~Ït\0Ÿ\0\0\x04¸\x14xš`(\x12\0\b&x(\x1a \0à~Ït\0Ÿ\0\0\x04¸\x14xš`(\x12\0\b\x05y(\x1a`\0à~Ïq\0Ÿ\0\0<\x11\0\bŒ¸<\x19 \0@\x11\0\bŒ¸@\x19 \0à~Ïq\0Ÿ\0\0<\x11\0\b¸Ž¸<\x19 \0@\x11\0\b­¸®¸@\x19 \0à~Ït\0Ÿ\0\0\x04¸\x14xš`0\x12\0\b&x0\x1a \0à~Ït\0Ÿ\0\0\x04¸\x14xš`0\x12\0\b\x05y0\x1a\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x14wá\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x14w÷Žüú2\0\b\0ô`\0à~Ït\0Ÿ\0\0\x04¸\x14xš`,\x12\0\b&x,\x1a \0à~Ït\0Ÿ\0\0\x04¸\x14xš`,\x12\0\b\x05y,\x1a`\0à~Ïq\0Ÿ,\0\x04¸\x14x0!\0€à~Ït\0Ÿ,\0\x04¸\x14xš`\0\x1a`\0à~àxÏp\0Ÿ\0\0\x10\x10\0\bà~Ïq\0Ÿ\0\0\x10\x19 \0à~Ït\0Ÿ\0\0\x04¸\x14xš`8\x12\0\b&x8\x1a \0à~Ït\0Ÿ\0\0\x04¸\x14xš`4\x12\0\b&x4\x1a \0à~Ït\0Ÿ\0\0\x04¸\x14xš`4\x12\0\b\x05y4\x1a`\0à~Ït\0Ÿ\0\0\x04¸\x14xš`8\x12\0\b\x05y8\x1a`\0à~Ïq\0Ÿ$\0\x04¸\x14x0!\0€à~Ït\0Ÿ\0\0\x04¸\x14xš` \x12\0\b\x05y \x1a\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x14\x7f±\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x14\x7fÇŽüú„3\0\b\0ô`\0à~Ïq\0Ÿ$\0\x04¸\x14x0!\0€à~Ïq\0Ÿ\0\0<\x11\0\bE @\x01<\x19 \0@\x11\0\b€¸@\x19 \0@\x11\0\b¢¸@\x19 \0à~Ïq\0Ÿ\0\0<\x11\0\b„¸<\x19 \0@\x11\0\b¤¸@\x19 \0à~Ïq\0Ÿ\0\0<\x11\0\b¤¸<\x19 \0à~àxÏq\0Ÿ\0\0<\x11\0\b†¸<\x19 \0@\x11\0\b¦¸@\x19 \0à~Ïq\0Ÿ\0\0<\x11\0\b¦¸<\x19 \0à~àxÏq\0Ÿ\0\0<\x11\0\bޏ¸<\x19 \0@\x11\0\b®¸¯¸@\x19 \0à~Ït\0Ÿ \0\x04¸\x14xš`\0\x1a`\0à~àxÏt\0Ÿ\0\0\x04¸\x14xš`L\x12\0\b&xL\x1a \0à~Ït\0Ÿ\0\0\x04¸\x14xš`\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x14‡‚\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌÓ\x14‡šŽüúx4\0\b\0ôL\x12\0\b\x05yL\x1a`\0à~Ïs\00\x04\0 \x13‚\0?‹\x05è\x1e‹8`X`\x02ðXaà\x7f"¸Ïp\0¼\0\0 \x10\0\bŒ Eà\x7fo \v\0Ïq\00„'\0€àÊ \x0f\0\0\0\x03
ò!\r\bE\0Ïp\0@¨\x04"x\x10xà~àx\0Ù\bt€$\x10\x10 ¤Š!\x10\0  €\x0f\x06 ,^[àxȸ\x0e ‚\x0f\0\0\0\x02PqÊ †\0à\x7fÊ E\0\0\0\0\x01\0\x02\0\x01\0ÿ\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x14Q\x0e\x04\x01Žü\0\0\0\0U\0\0\0U\0\0\0\x02\0\0\0\0\0áÇÌÓ\x14gŽüRl5\0\b\0L\0\0\0\0\0\0\0\0\0\0\0\0>þ\x0eþ€þPþ>þ°ý€þòý\0\0\0\0\0\0\0\02\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x14“9\x0e\x04\x01Žü\0\0\0\0\r\0\0\0\r\0\0\0\x02\0\0\0\0\0áÇÌÓ\x14“NŽü
\0\0\0@\0\x04\x02\x03\r\0\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x14—!\x0e\x04\x01Žü\0\0\0\0\r\0\0\0\r\0\0\0\x02\0\0\0\0\0áÇÌÓ\x14—6Žü
\0\x01\0\b\0\x04\x02\x03\r.\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x14›	\x0e\x04\x01Žü\0\0\0\0\r\0\0\0\r\0\0\0\x02\0\0\0\0\0áÇÌÓ\x14›\x1dŽü
\0\x04\00\0\x04\x14\x01\0\b\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x14žñ\x0e\x04\x01Žü\0\0\0\0\f\0\0\0\f\0\0\0\x02\0\0\0\0\0áÇÌÓ\x14Ÿ\aŽü	\0\0\0@\0\x03\x02\x03\r\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x14¢Ù\x0e\x04\x01Žü\0\0\0\0S\0\0\0S\0\0\0\x02\0\0\0\0\0áÇÌÓ\x14¢í/üP\0\0\0\0\0\0\0\0\0-1\x01ÿþ\x0fþÛÿ{‡\x01@ú\x1a 
\a\x06\b\x05\a\a\a
\a\x06\x04\x06
¤	¸Ì
\x04\0\x01À\v\x14\b\0\r\0\x1e\0¸\vd\x19ȯ¨aÐ\a\x04\0\vZ††\x04C³|\0\0\0\0\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x14¦Á\x0f\x04\0\x01/ü\0\0\0\x04\0\0\0\x04\0\0\0\x03\0\0\0\0\0áÇÌÓ\x14ª«ÿ\x02\x19\0\0\0\0\x05\0\0\0\x05\0\0\0\x02\0\0\0\0\0áÇÌÓ\x14ªÜ\x11ü\x02\0\0\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x14®‘\x0e\x04\x01\x11ü\0\0\0\0\x7f\0\0\0\x7f\0\0\0\x02\0\0\0\0\0áÇÌÓ\x14®®`ü|\x01\x01\x01ߎßÚN\0\0\0\0«¿ÄÉÎÓØÝâçìñö\0\0\0ìîðòôöøúüþ\0\x02\x04\x06\b
\x03¸\v\0,\x012\x14\x1a\0\0 \0\x01\0\x03\0\x01\0\x02\0\0\x03\0 \0\x01\0\x03\0\x01\0\x05\0\0\x03\x14\x01\0
\0\0\x03\x14\x01\0
\0\0\x03\x14\x01\0
\0\0\x03\x14\x01\0
\0\0\x03\x14\x01\0
\0\0\x03\x14\x01\0
\0\0\x03\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x14²y\x0e\x04\x01`ü\0\0\0\0\x05\0\0\0\x05\0\0\0\x02\0\0\0\0\0áÇÌÓ\x14²•\x11ü\x02\0\x02\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x14é3\x0e\x04\x02\x11ü\0\0\0\0\x03\0\0\0\x03\0\0\0\x02\0\0\0\0\0áÇÌÓ\x14é‹\x03\f\0\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x15\x1fÜ\x0e\x04\x02\x03\f\0\0\0\0\x03\0\0\0\x03\0\0\0\x02\0\0\0\0\0áÇÌÓ\x15\x1fî\x03\x10\0\0\0\0\x0e\0\0\0\x0e\0\0\0\x03\0\0\0\0\0áÇÌÓ\x15#Â\x0e\f\x01\x03\x10\0ÿþ\x0fþÛÿ{‡\0\0\0\x03\0\0\0\x03\0\0\0\x02\0\0\0\0\0áÇÌÓ\x15#Ô\x01\x10\0\0\0\0\x0e\0\0\0\x0e\0\0\0\x03\0\0\0\0\0áÇÌÓ\x15'©\x0e\f\x01\x01\x10\0\x06\0\x05\x06\x02\0\0\x05\0\0\0\x03\0\0\0\x03\0\0\0\x02\0\0\0\0\0áÇÌÓ\x15'¸	\x10\0\0\0\0\f\0\0\0\f\0\0\0\x03\0\0\0\0\0áÇÌÓ\x15+“\x0e
\x01	\x10\0Dz\aý‹\f\0\0\0\x03\0\0\0\x03\0\0\0\x02\0\0\0\0\0áÇÌÓ\x15+²\x05\x10\0\0\0\0\r\0\0\0\r\0\0\0\x03\0\0\0\0\0áÇÌÓ\x15/€\x0e\v\x01\x05\x10\0ý\x03`\x05\0\x05\0\0\0\0\x03\0\0\0\x03\0\0\0\x02\0\0\0\0\0áÇÌÓ\x15/—#\f\0\0\0\0	\0\0\0	\0\0\0\x03\0\0\0\0\0áÇÌÓ\x153c\x0e\a\x02#\f\0\0\x1f\0\0\0\0\x03\0\0\0\x03\0\0\0\x02\0\0\0\0\0áÇÌÓ\x153u\x14\f\0\0\0\0þ\0\0\0þ\0\0\0\x03\0\0\0\0\0áÇÌÓ\x15C\x04\x0eü\x01\x14\f\0Bluemoon Universal Bluetooth Host Controller\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\x02\0\0\0\0\0áÇÌÓ\x15C\x18%\f\0\0\0\0\b\0\0\0\b\0\0\0\x03\0\0\0\0\0áÇÌÓ\x15Fê\x0e\x06\x01%\f\0`\0\0\0\0\x04\0\0\0\x04\0\0\0\x02\0\0\0\0\0áÇÌÓ\x15Fö\x05\f\x01\0\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x15JÒ\x0e\x04\x01\x05\f\0\0\0\0\x05\0\0\0\x05\0\0\0\x02\0\0\0\0\0áÇÌÓ\x15Jå\x16\f\x02\0}\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x15N¹\x0e\x04\x01\x16\f\0\0\0\0\x03\0\0\0\x03\0\0\0\x02\0\0\0\0\0áÇÌÓ\x15NÄ^[\f\0\0\0\0
\0\0\0
\0\0\0\x03\0\0\0\0\0áÇÌÓ\x15R¡\x0e\b\x02^[\f\0\0\b\x12\0\0\0\0\x03\0\0\0\x03\0\0\0\x02\0\0\0\0\0áÇÌÓ\x15R¬F\f\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÓ\x15V‰\x0e\x05\x02F\f\0\0\0\0\0\x03\0\0\0\x03\0\0\0\x02\0\0\0\0\0áÇÌÓ\x15V”\x02 \0\0\0\0	\0\0\0	\0\0\0\x03\0\0\0\0\0áÇÌÓ\x15Zq\x0e\a\x01\x02 \0^[\0\a\0\0\0\x03\0\0\0\x03\0\0\0\x02\0\0\0\0\0áÇÌÓ\x15Z{\x03 \0\0\0\0\x0e\0\0\0\x0e\0\0\0\x03\0\0\0\0\0áÇÌÓ\x15^Y\x0e\f\x01\x03 \0\x01\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\x02\0\0\0\0\0áÇÌÓ\x15^c\a \0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÓ\x15bA\x0e\x05\x01\a \0	\0\0\0\x03\0\0\0\x03\0\0\0\x02\0\0\0\0\0áÇÌÓ\x15bM\x0f \0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÓ\x15f)\x0e\x05\x01\x0f \0 \0\0\0\x03\0\0\0\x03\0\0\0\x02\0\0\0\0\0áÇÌÓ\x15f4\x1c \0\0\0\0\x0e\0\0\0\x0e\0\0\0\x03\0\0\0\0\0áÇÌÓ\x15j\x11\x0e\f\x01\x1c \0ÿÿÿ\x1f\0\0\0\0\0\0\0\v\0\0\0\v\0\0\0\x02\0\0\0\0\0áÇÌÓ\x15j^[\x01\f\bÿÿûÿ\aø¿=\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x15mû\x0e\x04\x01\x01\f\0\0\0\0\v\0\0\0\v\0\0\0\x02\0\0\0\0\0áÇÌÓ\x15n	\x01 \b\x1f\0\0\0\0\0\0\0\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x15qâ\x0e\x04\x01\x01 \0\0\0\0\x03\0\0\0\x03\0\0\0\x02\0\0\0\0\0áÇÌÓ\x15qô\x02\x10\0\0\0\0F\0\0\0F\0\0\0\x03\0\0\0\0\0áÇÌÓ\x15y±\x0eD\x01\x02\x10\0ÿÿû\x03Îÿïÿÿ?ÿŸó\x0fèþ?÷ÿ\x1c\0\0\0a÷ÿÿ\x7f\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0ô\0\0\0ô\0\0\0\x02\0\0\0\0\0áÇÌÓ\x15y¼R\fñ\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x15}™\x0e\x04\x01R\f\0\0\0\0\x04\0\0\0\x04\0\0\0\x02\0\0\0\0\0áÇÌÓ\x15}¤E\f\x01\x02\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x15\x0e\x04\x02E\f\0\0\0\0\x03\0\0\0\x03\0\0\0\x02\0\0\0\0\0áÇÌÓ\x15ŒX\f\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÓ\x15…i\x0e\x05\x01X\f\0
\0\0\0\x04\0\0\0\x04\0\0\0\x02\0\0\0\0\0áÇÌÓ\x15…u\x04\x10\x01\x01\0\0\0\x10\0\0\0\x10\0\0\0\x03\0\0\0\0\0áÇÌÓ\x15‰Q\x0e\x0e\x01\x04\x10\0\x01\0\0\0\0\0\0\0\0\0\0\0\0
\0\0\0
\0\0\0\x02\0\0\0\0\0áÇÌÓ\x15‰l\x12\f\a\0\0\0\0\0\0\x01\0\0\0\b\0\0\0\b\0\0\0\x03\0\0\0\0\0áÇÌÓ\x159\x0e\x06\x01\x12\f\0\0\0\0\0\0\x05\0\0\0\x05\0\0\0\x02\0\0\0\0\0áÇÌÓ\x15E\x0f\b\x02\a\0\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x15‘!\x0e\x04\x01\x0f\b\0\0\0\0#\0\0\0#\0\0\0\x02\0\0\0\0\0áÇÌÓ\x15‘,\b  \x1f\x02\x01\b\x02
	\x18\bBluemoon Universal Blue\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x15•
\x0e\x04\x01\b \0\0\0\0\x04\0\0\0\x04\0\0\0\x02\0\0\0\0\0áÇÌÓ\x15•}\x04\x10\x01\x01\0\0\0\x10\0\0\0\x10\0\0\0\x03\0\0\0\0\0áÇÌÓ\x15˜ò\x0e\x0e\x01\x04\x10\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\x05\0\0\0\x05\0\0\0\x02\0\0\0\0\0áÇÌÓ\x15™\x02\x18\f\x02\0 \0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x15œÙ\x0e\x04\x02\x18\f\0\0\0\0
\0\0\0
\0\0\0\x02\0\0\0\0\0áÇÌÓ\x15œã\r\f\a\0\0\0\0\0\0\x01\0\0\0
\0\0\0
\0\0\0\x03\0\0\0\0\0áÇÌÓ\x15 Á\x0e\b\x01\r\f\0\x05\0\0\0\0\0\0û\0\0\0û\0\0\0\x02\0\0\0\0\0áÇÌÓ\x15 Ó\x13\føubuntu-desktop-0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x15¤©\x0e\x04\x01\x13\f\0\0\0\0\v\0\0\0\v\0\0\0\x02\0\0\0\0\0áÇÌÓ\x16\x10A\x01\f\bÿÿûÿ\aø¿=\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x16\x15ô\x0e\x04\x01\x01\f\0\0\0\0\x04\0\0\0\x04\0\0\0\x02\0\0\0\0\0áÇÌÓ\x16\x16\bV\f\x01\x01\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x16\x19Ù\x0e\x04\x01V\f\0\0\0\0\x04\0\0\0\x04\0\0\0\x02\0\0\0\0\0áÇÌÓ\x16\x19ãE\f\x01\x02\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x16\x1dÁ\x0e\x04\x02E\f\0\0\0\0\x03\0\0\0\x03\0\0\0\x02\0\0\0\0\0áÇÌÓ\x16\x1dÔX\f\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÓ\x16!ª\x0e\x05\x01X\f\0
\0\0\0\x05\0\0\0\x05\0\0\0\x02\0\0\0\0\0áÇÌÓ\x16!¿\x0f\b\x02\a\0\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x16%”\x0e\x04\x01\x0f\b\0\0\0\0\x06\0\0\0\x06\0\0\0\x02\0\0\0\0\0áÇÌÓ\x16%«$\f\x03\0\x01n\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x16){\x0e\x04\x02$\f\0\0\0\0\x04\0\0\0\x04\0\0\0\x02\0\0\0\0\0áÇÌÓ\x16)\x1a\f\x01\x02\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x16-d\x0e\x04\x02\x1a\f\0\0\0\0\x03\0\0\0\x03\0\0\0\x02\0\0\0\0\0áÇÌÓ\x1603\x14\f\0\0\0\0þ\0\0\0þ\0\0\0\x03\0\0\0\0\0áÇÌÓ\x16@ê\x0eü\x01\x14\f\0ubuntu-desktop-0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\x02\0\0\0\0\0áÇÌÓ\x16A\bU\f\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÓ\x16DÒ\x0e\x05\x01U\f\0\x01\0\0\0\x03\0\0\0\x03\0\0\0\x02\0\0\0\0\0áÇÌÓ\x16Dì\x19\f\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÓ\x16H¹\x0e\x05\x02\x19\f\0\x02\0\0\0ô\0\0\0ô\0\0\0\x02\0\0\0\0\0áÇÌÓ\x16HÒR\fñ\0\x11	ubuntu-desktop-0\x02

\x13\x03-\x11\x12\x11\x1f\x11\x1e\x11
\x11\v\x11\f\x11\x0e\x11\x03\x11\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÓ\x16L¢\x0e\x04\x01R\f\0

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #3: lenovo-k4450-btmon-v1.log --]
[-- Type: text/x-log; name="lenovo-k4450-btmon-v1.log", Size: 34887 bytes --]

btsnoop\0\0\0\0\x01\0\0\aÑ\0\0\0\x10\0\0\0\x10\0\0\0\0\0\0\0\0\0áÇÌým‰\0\x01\0\0\0\0\0\0hci0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\x02\0\0\0\0\0áÇÌýmŒú\x03\f\0\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýmº@\x0e\x04\x01\x03\f\0\0\0\0\x03\0\0\0\x03\0\0\0\x02\0\0\0\0\0áÇÌýmº›\x05ü\0\0\0\0\x0f\0\0\0\x0f\0\0\0\x03\0\0\0\0\0áÇÌým¾&\x0e\r\x01\x05ü\07\a\x10\x01€\x02\x03\r\0\0\0\0\x05\0\0\0\x05\0\0\0\x02\0\0\0\0\0áÇÌýn\x1aù\x11ü\x02\x01\0\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýn\x1fÐ\x0e\x04\x01\x11ü\0\0\0\0\r\0\0\0\r\0\0\0\x02\0\0\0\0\0áÇÌýn\x1fòŽü
\0\x01\0\b\0\x04\x02\x03\r.\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýn#µ\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýn#ÊŽüú\0\0\0!\0ô  €\x0f\0\bR\x02ø\aÂÿá\a€\x02ÔH\0\0ØH\0\0€0\bw(v—Õ’	 \x03épý\x02€0àx¤H\0\0\x02ð\x01ؽ\x02 0\x0fxàx¨H\0\0€0àx¬H\0\0\x05©¸\x05¡Z\rà\x01\x01ØŠ\b \x02\x0eظñ°H\0\0 H\0\0€0ZÐ\0€¢ÁV SŽ\0Ø\x01®=\a`0¢Ààx€H\0\0\x02Œ \x02€\bô©pÈÿ¸H\0\0À/àxÈH\0\0¯ÕF\x15€\x10ŸèÌH\0\0œÕH\x15€\x10¤è]\x15€\x10ÄH\0\0‚\x10Œê¹’¹”¹3¦3†³¹O!‚\x04ÀH\0\0‚\x10ŒêŒÐ\0Ù  €\x0f\0\bl,”\x17\0ö\bH\0\0À.n\và\0\x1apXÓ`\x13@ D\x13\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýn+†\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýn+šŽüúô\0\0!\0ô\r\x01 ±
ðàx €\x01áÁÇÁÆà\x7fÁÅtH\0\0áÇü\x1cÁÇÁÆà\x7fÁÅxH\0\0áÇü\x1cà\x7fÁÅ|H\0\0áÇü\x1c\b´ü\x1cÁ\x05Ïý$H\0\0ïý\x01Ø	\bR\0\0Ø	ð\x18H\0\0\b¹%x\x02
ïý\x03ˆà\x7føàx H\0\0\x01ã!\v\x1cH\0\0®\fà)\x10Ú8ѧ®¨®\x14H\0\0\x1c@\x1e\x02\x10\x1d?\x1e\x02\x10\x10H\0\0Š	\x0fÿª\roû\0‡µ\x06‰\x06€&\fH\0\0€&\bwŠ C/\x02•P €€àx\x04H\0\0àxÒ\v\x03\fc­\x16»\x10ºE{\b¸exÂ\f\x1aˆ†è\x04Ø\x05Ù²\v÷n\x0f\0	X\x10Ó\x15\x01\x16‘¹(H\0\0È\x1d˜\x1f\x02p\00\b\x0fÏs\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýn3V\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýn3hŽüúè\x01\0!\0ô\x01 ¨¬8H\0\0
ôè\x17\0\x10Ïq@™\0 4H\0\0ù\x1f˜\x1f\x16\0\x1a[.ðàx0H\0\0\x15è^\x14\x03\x06¬»  €\x0f\x01 \x1a£,E# \0\x01#‰  €\x0f\x01 þ¦t <˜S ]˜5 V ,H\0\0†»^\x1eØ\x10  €\x0f\0\bà\x04\x18\x10€\x0f\0¼\0\0  €\x0f\0\bÐ\x03Ø\0\x02ð6Øb\f\0\0Ñ\x01€\x1f`H\0\0 \x03\x03Ø\x01ØîñdH\0\0À\x1eþ\b\x02\0àxTH\0\0ëvú\v\x0fïÏsPH\0\0ëvî
/ï\bu\x1eíd…%èa€#ë  €\x0f\0\bü\x04\x01Ùà\x7f «  €\x0f\0\bF\x04UzÇrœô\x12…w\b\x11\0nð\0ßõ¥\x01ØhH\0\0 €\bu\x11\x0fè\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýn;&\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýn;:ŽüúÜ\x02\0!\0ôD…\x03…ôàxJ&\0pV%\x12\x1a\x1e\x12€ lH\0\0Û\x1eB\x13±\x1f\x18\x10Ïr\00  €\x0f\0\b®\x04ƒ\0V	/ù\0Ú\x1c\x10\x03   €\x0f\0\b\f\x10\x01Ú\x10qDÆ@!Q ãó\bðàx\r\rÑ\x10XH\0\0\x0eè€%\x05\x18\x0eàÌ R\bà\x10	Û©p‘\x02\0\x16\H\0\0J&\0pàx\x16•\x01à:\b \0\x16µ\x1di\00ÿÿ\0\0pH\0\0€\x10§Õ ޏè<H\0\0i\bŸ\x03\x17Ðð \x0fÿ\x11\0\0\0\x04Ø\x04­N\f/ÿ‡ÐA é¹´\x17\0öDH\0\0@€ÂªB\x14/‰M\v^\x01@H\0\02\roü\x01\0OÐLH\0\0"ª\x01j1\x02 \0ïû\x12ÐHH\0\0\0“	Q\0ð \0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýnBé\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýnCOŽüúÐ\x03\0!\0ôà\x7f\x01Øà\x7f€Ø\0H\0\0\x04€àx\0Úàx´H\0\0À\x04¥Á‡\x17\x11vè»°\x11\0\0UxyòနH\0\0C\0\x01Ø\x1d\a`\x03£Ààx˜H\0\0¬\x04\00Œ\a\00˜\x12\00ŒH\0\0ˆH\0\0\0\x03­ÁÐ\x17\x14vD\x14\x15 H\0\0ö
¯Ò\x03Ù\x01Ø\x02ð\0Ø`\0\x14à\0…àxàxŸ¹Â\x0f`\0\x19a_¥€\x1d@\x10~¥ºñ„H\0\0ƒ$9\bQ\0  €\x0f\0\b\\x1c\x19aA\x04\x04ðœH\0\0Ç\f^ \0…°\x10\0…ñ\x01`\x02¡Àà~àxÜH\0\0ÐH\0\0\0\x02b€\0Ý¢Á\x04\x1cD3¼H\0\0\0ö\0€°\x10\0\0\0€~\r  €\x0f\0\b\x12\x02¢ÁñÀAÀBÁ`\x01€$\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýnJÆ\x0e\x04\x01Žü\0\0\0\05\0\0\05\0\0\0\x02\0\0\0\0\0áÇÌýnJæŽü2Ä\x04\0!\0,
2×ñàxàxñÀ\x0e\v  €\x0f\0\bš\x02\x05©àxñÀj\f\0\0\0 ý\x03\x1f\x02\x05\0\0\0\0\0\0\x13\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýnN­\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýnNÀŽüú \0\0’\0ô\x1e\0\0\0O\0\0\0R\0\0\0W\0\0\0Z\0\0\0\\0\0\0b\0\0\0Š\0\0\0Ï\x01\0\0Ô\x01\0\0Ù\x01\0\0õ\x01\0\0÷\x01\0\0^[\x02\0\0½\x03\0\0\x15\x05\0\0-\x06\0\0a\x06\0\0ê\x06\0\0p\a\0\0Þ\v\0€R\f\0\0—\r\0€¶\x0f\0€•\x10\0\0\x1a\x14\0\0õ\x14\0€\x13\x15\0€™\x15\0\0ç\x19\0\0÷\x19\0\0þ\x19\0\0\x02\x1a\0\0/\x1a\0\0j\x1a\0\0n\x1a\0\0À\x1a\0\0}^[\0\0e"\0\0ú#\0\04'\0\0E'\0\07(\0\0a(\0\0~)\0\0™)\0\0«)\0\0^[-\0\0r2\0\0W3\0\0&4\0\0N5\0\0X5\0\0þ5\0\0>@\0\0‘C\0\0±C\0\0çC\0\0äH\0\0¶I\0\0^J\0\0\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýnV~\x0e\x04\x01Žü\0\0\0\0U\0\0\0U\0\0\0\x02\0\0\0\0\0áÇÌýnV‘ŽüR\x14\x01\0’\0L‘W\0\0·W\0\0ëY\0\0Z\0\0\x0e[\0\0\x18[\0\0d[\0\0¼[\0\0ß[\0\0\x11\\0\0T\\0\0ã\\0\0-]\0\0`]\0\0ë]\0\0É^\0\04_\0\02d\0\0ÿ\x7f\0\0\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýnZX\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýnZ§Žüú\0\x01\0\b\0ôï¾­Þ\0\0\0\0Bï¾B\x14\x01\0\b\0\0\0\0<\x06\0\bø\x01\0\bÀ\x06\0\bŒ\a\0\bÀ\b\0\b4	\0\b€
\0\bp\a\0\bä
\0\b$\v\0\bò\x02\0\bP\x03\0\bz\x03\0\b \x03\0\b`\v\0\bô\x03\0\bx\f\0\b\x18\x04\0\bü\f\0\bh\r\0\bl\x0e\0\b(\x0e\0\bÔ\x0e\0\bH\x0f\0\bl\x10\0\bÈ\x10\0\b„\x11\0\b\x1c\x05\0\b8\x13\0\bÐ\x14\0\bT\x16\0\bÀ\x19\0\b %\0\b¬\x1e\0\bä\x1c\0\bl \0\b¤ \0\bŽ\x05\0\b\x1c!\0\bÂ\x05\0\b˜#\0\b¤$\0\bÔ$\0\b %\0\bh%\0\b¨'\0\b\b+\0\bÐ,\0\bâ\x05\0\b\x0e\x06\0\bt+\0\bð+\0\b\x18.\0\bü&\0\b<'\0\bÀ-\0\b\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýnb+\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýnbyŽüúô\x01\0\b\0ô­Þáþ¡À
 €\x0f\0Á€\0\0\x18€\x0f\x0e\x13M¤  €\x0f\x01 |O\0\x16\0p\0¼L\x03\x04 €\x0f\x0eüÿ\x1f\x0fô\x05 €\x0f\x10\x02\0\0\0\x1e\0p\0¼L\x03" €\x0f\x05 |Ø	ð\x05 €\x0f°\0\0à\0\x1e\0p\0¼L\x03ÑÀà~Š!\x06\x04B!A\0L!\0€ú\aÂÿ
!€\x0f\0”\0\0\x10\x11\0\0\v €\0\0\0\x10à \x0f\0 ÌYP \0\x03\x10\x19\0\0\x14\x11\0\0P @\x02\x14\x19\0\0  €\x0f\0 ÌY\x1cŠ\x04©}Še©\b»\x04#ƒ\x0f\0\0\0ÿex\0\x1e\0p\0Á\x14\x02\0\x16€p\00¤\0\0\x16p\00ø\x12"x\rx\x11¸\x04 €\x0fþ\a\0\0\0\x16\x01p\0¼$\x02\x04!\x0f\x01øÿÿ%x\0\x1e\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýniû\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýnj5Žüúè\x02\0\b\0ô\0p\0¼$\x02à~àx¡ÀÓ\x1dX\x10\0\x16\x01p\0¾<\0\x04!\x0f\0€\0\0A)þ‡\aò
!€\x0fº\0ÿñÓ\x1dX\x10\0\x16\x01p\0ÁÐ\0\x04!\x0f\0\0\00A)>ƒ\x0eò‡\x15\x01\x16\x04!\x0f\0þÿÿ\x05!\x0fµ\0\0\0‡\x1dX\x10  €\x0f\x01 |ž¡À\0\x16\0p\0ÁÐ\0\x04 €\x0f\0\0\00A(>ƒà ‚\x0f\x01 þ¦‡\x16\x02\x16  €\x0f\x01 ð¦¡ÀÚ\x1fX\x10Û\x1f˜\x1f Ž\x041ø\x1f˜\x1f(\0ƒ ù\x1f˜\x1f\x15\0Ò¶  €\x0f\x01 „ ¡À¸è\x1f\0\x10Ú\x1f˜\x1f@™\0 Û\x1f˜\x1f Ž\x04\x01ø\x1f˜\x1f\x04\0\0\x10ù\x1f˜\x1f\x16\0Ú6  €\x0f\x01 „ E\x14\x03\x06ˆ»E\x1cØ\0Š!\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýnqÐ\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýnr\fŽüúÜ\x03\0\b\0ô\x04\02Øa¸\x06èE\x14\x03\x06+{üõ  €\x0f\x01 à·@$\x1c1
 €\x0f\00„yð @\0\r\bŸ\x04  €\x0f\x04 \x1c9  €\x0f\x04 €9¡À&\0!\0@€Ïq\00ôy\0\x16€p\00x\x11\x15y\0„¸\0¡  €\x0f\x04 ~>  €\x0f\x04 ØB\x1a`UzÇr\00$YŠà8\x12\0á Ê\aÊ *\00\x12ƒ\01\x12„\0?\v\x03\x01y’6\x12\x04\x01	\fÃ\09\x12\0àÌ â€Ì "‚Ì b‚\bò@$D\0/$\b\x016\x1a\x04\x01\x1a’\x15\f\x02\0\0Û{²à\x7f(pà\x7f9\x12€\0à\x7f(pàx@$„\x02zb\x02$ƒ€\0Ú\x18\0\x03\0s{" €\x0f\x02 ¬H  €\x0f\x03 0'\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýnyœ\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýnyùŽüúÐ\x04\0\b\0ô" €\x0f\x02 |H  €\x0f\x03 0'Q\x16\0\x16¦¸Q\x1e\x18\x10Q\x16\0\x16†¸Q\x1e\x18\x10  €\x0f\x01 \x10¬a\x13‚\0\v
Q\0\x01Ù\0^[B 
\x11\0\0Ù\0^[B   €\x0f\x02 „ƒ¡ÀÛ\x1eB\x13ü\x1c\b°ü\x1cH°ü\x1cˆ°ü\x1cȰü\x1c\b±ü\x1cH±ü\x1cˆ±ü\x1cȱü\x1c\b²ü\x1cH²ü\x1cˆ²ü\x1cÈ·Z\r@\0\x04\x14\x1f4\x04\x14
4\x04\x14	4\x04\x14\b4\x04\x14\a4\x04\x14\x064\x04\x14\x054\x04\x14\x044\x04\x14\x034\x04\x14\x024\x04\x14\x014\x04\x14\04  €\x0f\x02 ¼Ñ@$\x1c1" €\x0f\0 @Wü\x1c\b°J @\0\0\x1e\0p\0\bœ5\x04\x14\04" €\x0f\0 XW¬\x11\0\0  €\x0f\x05 Àž@$\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýnu\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýn¨ŽüúÄ\x05\0\b\0ô\x1c1\ax\0\x1e\0p\0\bœ5*p" €\x0f\x05 dÀ  €\x0f\x05 HÅ@$\x1c1S¦E\x16‚\x10…ê  €\x0f\0 €\x1fñÀáÀ" €\x0f\0\bD+ÁÀÑÀ  €\x0f\0 ”\x1f@$\x1c1S¦E\x16‚\x10…ê  €\x0f\0 X\x1fñÀáÀ" €\x0f\0\b\+ÁÀÑÀ  €\x0f\0 l\x1fàx¡À  €\x0f\0\bH\x06à~à\x7f\x01Ð\x02\x03\r.\0Ú\x03ð\x01â\x11
\x13\f=ÐVx €úé\x03ð\0Øà~áÅáÆ8Ña\x11\x02\x06`\x11\0\x06A\b…\06Ó\x02 Í\05ÐBx-\bC\x03\0Þ\x03ð\x01æ\x13\x0e\x13\x1c\x16!€\x03¡€õ
Aƒ\x02ð\0Øa `\x11\0\x06a\x19Ø\0bx\x10x\x06ð\x10x\x04ðBx\x10x\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýn‰F\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýn‰}Žüú¸\x06\0\b\0ôÁÆà\x7fÁÅàx¡À  €\x0f\0\bÌ\x06à~ñÀ" €\x0f\x06 ´\x17\bw" €\x0f\0 @W\x03ç˜pF'Ï\x10\x1cÖ\0†ð\x7f€àÊ \x0f\0\0\0\x03\aò!†\a\bE\0\x15Ð"x\x10x\r\bÃ\x03Øÿ\r\bÂ\x03Ðÿ
%\0	ôˆp" €\x0f\0 XW\0Ø\x10ð\x01†\x1fg\0¥á¦á¥\0†„è\0…\0¦ˆp" €\x0f\0 XW\0…  €\x0f\x06  \x18\x04&\00¨\x01\0@¨\x04\0@„'\00\vÐ\0ˆà\x01Øà\x7fÀx\bÑà\x7f\0©àx¡À\x06Ñ\0Ú@©«®¡®  €\x0f\0 tÙà~àxt5\0\b¡À  €\x0f\0\b˜\aà~ñÀ" €\x0f\x06 ¨\x17Š!C/\x0f	# \bw\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýn‘\x16\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýn‘,Žüú¬\a\0\b\0ô^[\0 \0;Õép" €\x0f\0 äÑ" €\x0f\0 <Ò\bu\x02\x15\x12\x11ép\x04\x15\x10\x11" €\x0f\x04 p\x03+\b\x0f\0\0ÿÿ" €\x0f\x01 \x14>‰è\0ر٠Ú\x02Û" €\x0f\x05 Ðm" €\x0f\0 \x18×(ÖÉq" €\x0f\x01 HA" €\x0f\0 äÙ\x04\x1e„\x14\x10®\0\x1e\x04\x14\x03•\x03¶\x04•\x01¶	Ž^[\bÐ\0\r\b‘\0
Ž\x0f\b\0" €\x0f\0\b\\a\x04è\x02–ª¸\x02¶" €\x0f\0\b\\a\aè\x02–¬¸\x02¶\0–¬¸\0¶\x0f\x0fC\x14\0§¸\0­\x05ðÿÜ\x0e'\0\x13\x01à\b®" €\x0f\0 ÔÙÉq\x03¦ép" €\x0f\0 ¤n©p" €\x0f\x01 €B  €\x0f\x06 \b\x18 D\00\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýn˜æ\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýn™^[Žüú \b\0\b\0ô,D\00ñÀ" €\x0f\x05 ¸ëpÑ\x14©" €\x0f\x05 TlÑÀà~àx¡À  €\x0f\0\bÌ\bà~ñÀ*\b\0\0‰èûuÁÅ  €\x0f\x01 X		ðûuÁÅ\fÙaÁ  €\x0f\x01 T	åññÀáÅ×p\0\0Wü\x01Ø\x15ô\Ð\0ˆ€à\fØ\x11òZÑ[Ð\0Ý©r" €\x0f\x01 ÐXWЩq" €\x0f\0 Üê©p  €\x0f\x06 0\x18àx¡ÀH\x1e\x02\x10ü\x1cH°ü\x1cˆ°ü\x1cȰü\x1c\b±ü\x1cH±ü\x1cˆ±ü\x1cȱü\x1c\b²ü\x1cH²ü\x1cˆ²ü\x1cȲü\x1cÈ·©p" €\x0f\0\b°	\x04\x14\x1f4\x04\x14\v4\x04\x14
4\x04\x14	4\x04\x14\b4\x04\x14\a4\x04\x14\x064\x04\x14\x054\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýn ·\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýn¡\x1dŽüú”	\0\b\0ô\x04\x14\x044\x04\x14\x034\x04\x14\x024\x04\x14\x014  €\x0f\0 dûà~àxñÀ" €\x0f\x06 ´\x17¡Á0Õ\bv@ O\x06‹p@%A\x1e\x03Ú" €\x0f\x06  \x16\0Ú\fð3$ƒ03'\x10\v	ã\0\0$€0 ¨\x01âí
Ò€@%@\x1e‹q\x03Ú" €\x0f\x06  \x16‹p©qAá\x03Ú" €\x0f\x06  \x16\0Ú@&O\x18\fð3$ƒ03'\x10\v	ã\0\0$€0 ¨\x01âí
Ò€©pAà‹q\x03Ú" €\x0f\x06  \x16&\x16À\x107\x15Á\x10	\bC\07\x1d\x02\x10(\x16À\x108\x15Á\x10	\bC\08\x1d\x02\x10¡À  €\x0f\x06  \x18àx„\0\00\b\x0e\00¤\b\0\bWü\0\0\x04\0\00¡À  €\x0f\0\b\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýn¨‡\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýn¨ÁŽüúˆ
\0\b\0ôŒ
à~ñÀ\x14Ð €\0‘5\b\x0f\0\08ü\x03‰€àÌ b€Ê!¢\x04\x06ô" €\x0f\0\bh\a\0Ù\vÐ" €\x0f\0 ÜêÑÀ  €\x0f\0 ò½ÑÀ!\0  €\x0f\0 è½ÑÀà~àx\x04\x0e\008ü\0\0@$\x1c1  €\x0f\0\bô
à~àx	Û\x03ð\x01ã\x1f\v•\x02\bÔyc5yt!\x02\x03ñ\b€\x02‰\x05Ñ\x14x\ba\x02ðÿØà~àx>\00V\r\00¡À  €\x0f\0\b0\và~ñÀáÅ\x01Ø" €\x0f\0 05\x19\br\0\bu" €\x0f\0 ¼!	\bP\0a½¯}©p  €\x0f\x06 0\x18àx¡À  €\x0f\0\bl\và~ñÀ" €\x0f\x06 ´\x17\buáÀ8Ò\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýn°V\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýn°‚Žüú|\v\0\b\0ô$\x12\x01\bk\x12\x03\x0e\x04#ƒ\x0f€ÿ\0\07»\x17»\x05#Ž\x0f\0\0oðk\x1a¸\x030Öð\x1a \x03\0Þ”¾ô\x1a \x03.Ö<\x16\x0e\x18\x04&Ž\x1f\0\x01\0\0A.\x0f\x16*Ö\r\x0fQ\x10$¦\x01Ø\x14®\x14Ž\x17\bQ\0ä†ây1\x7f&†\v	Å\x03\0Ø\x14®O\bQ\0€åÌ%"‘Ì%¢‘Ì%b’Ì%b‘^[ô\x05#ƒ\x0f\b\0[°Š 		k\x1aø\0ð\x1a \0\x18Ðô\x1a \0\x17Ð\x18Ò\0ˆ\x18Ñ\x05è\x04ž\0¢\x05ž\x04ð\0ž\0¢\x01ž\0¡ÁÀÁÅÁÆÁÇÑÀ\0\x16\x02p\00\b\x0fÏs\x01 ¨¬
 À'  €\x0f\x01 €Ÿ  €\x0f\x06  \x18àx\0\0\0¼ä\x17\0\0\0\0\0¾x5\0\bõ(\0\0Ü\x0e\00\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýn¸\x19\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýn¸bŽüúp\f\0\b\0ôÄ\x0e\00È\x0e\00¡À\0Àü\x1cH°ü\x1cˆ°ü\x1cȰü\x1c\b²ü\x1cH²ü\x1cˆ²ü\x1cȲ  €\x0f\0\b¤\fà~àxñÀ3h\x02y\x15 A\0\x12Ð\x10Ú6x\x11Ñ\x10à" €\x0f\x06  \x16\x04\x14\v4\x04\x14
4\x04\x14	4\x04\x14\b4\x04\x14\x034\x04\x14\x024\x04\x14\x014
%€\x1f\00pz*­  €\x0f\x04 LŽÑÀà~àxTx\00Ly\00¡À  €\x0f\0\b\b\rà~ñÀü\x1cH°ü\x1cˆ°ü\x1cȰü\x1c\b±>Ñ@‰>ÑUy@%
\x1e\x01<Фº@¡3Ù@€\x01j" €\x0f\0\b°/\0ØÿÙ" €\x0f\x04 \x1c"\x04\x14\x044\x04\x14\x034\x04\x14\x024\x04\x14\x014\x04\x14\x1f4  €\x0f\x04 z¦\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýn¿é\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýnÀ\x01Žüúd\r\0\b\0ôÑÀà~¡Àü\x1c\b°ü\x1cȰü\x1c\b±ü\x1cH±ü\x1cˆ±ü\x1cȱü\x1c\b²ü\x1cH²  €\x0f\0\b”\rà~ñÀáÅ\x1eÐ!Ò`ˆuz ‚3	Þ\x06\x1cл¹ux € ¢„½  ^[Ðux`€‡¹ ¢š»` \x19Ð €5Ø%‰" €\x0f\x04 h\x19\x04\x14\r4\x04\x14\x1f4\x04\x14	4\x04\x14\b4\x04\x14\a4\x04\x14\x064\x04\x14\x054\x04\x14\x044\x04\x14\x034\x04\x14\04@€\0Ù  €\x0f\x04 h›  €\x0f\x06 0\x18àxx\x11\00ôy\00Ä\x11\00,z\00Øy\00À\x11\00@$\x1c1  €\x0f\0\b8\x0eà~àxñÀáÅ" €\x0f\0 @W"Ñ \bíC…@¡\0Ù\x02ê$¢$¥#¥\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýnÇ»\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýnÈ\x11ŽüúX\x0e\0\b\0ô" €\x0f\0 XW©p  €\x0f\x06 0\x18àx@$\x1c1  €\x0f\0\b|\x0eà~àxñÀáÅ
%\0\x1fò" €\x0f\0 @W$…C…\x04éC¡\að\x0eÑ@¡\x03ê\0Ù$¢C…\x03ê$…$¢	Ò\0Ù$¥ ‚#¥\x02餡 ¢" €\x0f\0 XW  €\x0f\x06 0\x18àxä\x0f\00à\x0f\00¡À„è\x06†!è€%\x05\x18\x0eàÌ "€\x19ò#\bÑ\0\0\x16p\00/\x0f\0!A\0\x14!A\02!\x0f\00/F\x17	Ð\0" €\x0f\x03 ”\7\x1e\x02\x10\x0e\x06ð\x01Ø7\x1e\x02\x10\0Ø\x15¶<\x1e\x02\x10" €\x0f\x01 øë<\x16€\x10\x05è  €\x0f\x03 VU  €\x0f\x03 dUà~¡À  \0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýnω\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýnÏÌŽüúL\x0f\0\b\0ô€\x0f\0\bT\x0fà~ñÀ" €\x0f\x06 ´\x17˜p€áÌ!¢€Bô$Ð%Ò\0ˆ%j\x18`\x14x\baY\bQ\0"Ð\0ˆ"Ö\x18`\x14x\x13b\x1ab †u¶Š \x05\x06\x04å	#\x01\02¶\x02#O\0\x10wÊ!
\0Cöðy"\x7f	\x0f#\x103¶ðx\x14¶\x16Ð\x01Ù ¨$Š©pCŠ" €\x0f\x03 tY5\x1e\x02\x10\x13ð\x0fÒ\0Š‚àŠ%\x05\x16À}\vÑ \x01à€!\x05\a=e\0ª\x05ð\aЧ€¦ ©p  €\x0f\x06  \x18/\x0f\00,F\00Þ\x0e\00\x16\00”5\0\bñÀáÅ\x15Ð`€\0Ù#\x13\0)£\x04ƒ-“L“\x1d\r\x11\x14\x11Õ ŠíPq\x01Ú%ƒÂ"Œ\0Yaa¹\bðPq\x01Ù\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýn×a\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýnןŽüú@\x10\0\b\0ôEƒÂ!L\0Ya" €\x0f\x02 LÁÅÑÀ  €\x0f\x03 Ž5  €\x0f\x06 0\x18˜\x10\00 \x10\00¡À  €\x0f\0\bx\x10à~ñÀáÅ\x10Рˆ" €\x0f\x01 Tö\x0eÑ ‰\x0eÒ\x02¹5y4y)b„áÌ%¡‘\vòáÊ â\r\x03ô\aè:Ø" €\x0f\x02 ´*  €\x0f\x06 0\x18àx.\x0f\00Þ\x0e\00LE\00¡À  €\x0f\0\b \x11à~ñÀ" €\x0f\x06 ¸\x17\0Ý©v\x04ð\x01Ý\x01æ-\x0e\x15\x12”íÏx" €\x0f\x03  Cwèc\x10\0ë	_\0€qè-€‚áÌ!bìõ\0€úñ©p  €\x0f\x06 (\x18àxñÀáÅ" €\x0f\0 ¨P\buêÿ¢è" \0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýnß6\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýnßXŽüú4\x11\0\b\0ô€\x0f\x03 x>\x04è$€
ð" €\x0f\x03 d>\x11è)€\x0fé$€\0!€\x0f\0\b\0\0±qÊ F\0¢x\x1d\x0e\x05p\0\0ÿÿ\x06ð" €\x0f\x02 ph\x04è\0Ø\x04ðŠ ÿ\x0f  €\x0f\x06 0\x18¡À  €\x0f\0\b\x11à~ñÀ" €\x0f\x06 ¬\x17 €\bv\r…‚àÌ â€xô\x11…\x10èD†\x03†\0Ù(s\x1ab\x10…Úº" €\x0f\x02 Äh„è\x01Ø\x15¥\x15…"è‹\x15\x04\x17\x01ØA†\x12¥V%\x10\x1a\b\x10 \0ßp…1Ø/$\0\x01õ¥ñ¥" €\x0f\x02 Di\x01†a\x10€\0Šè\b\x10 8Øô¥" €\x0f\x02 |j\x12…‰\bQ\0" €\x0f\x03 d>}\b\x10\0 €\r\rA\x10!\x10€\0\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýnç\x06\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýnçEŽüú(\x12\0\b\0ôm\b\x01$†\x03†V%\x0f\x1a\0!\x11\0(8Ø*r" €\x0f\x02 \x18j(\x1ap1Ø*r" €\x0f\x02 \x18j€àÌ ‚ÿÿÿÿ\x1aôL \0 Ì ‚¯ÿÿÿÿ\x14ô(\0Ø\x1ap\x12¥\x13¥1Ø" €\x0f\x02 |j(8ØP\x1d\0\x14" €\x0f\x02 |jÉp" €\x0f\x02 Ä—  €\x0f\x06 \x10\x18àxñÀ" €\x0f\x06 ¸\x17\0Ø\bu\x03ð\x01å;\rÕ\x11¯x" €\x0f\x02 Poxè-€‚áÌ!â€ôõ!€a\x11\0á	Q€‹\x10\x01\aP€Œ\x10\x03\a;y€ãÀ!¢\0\x03ð\0ÚHq\x0fÖ%\rÐ\x11:bÚºE¦‰\x10\x02\a\x02"@\0e¸^[\b…\0	Ò!’\x13\bE\0\x01²\að\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýnîÕ\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýnï\bŽüú\x1c\x13\0\b\0ô" €\x0f\0 ¨P\x05¦  €\x0f\x06 (\x18àxÐ]\00T\x10\00¡À  €\x0f\0\bD\x13à~ñÀ" €\x0f\x06 ´\x17]Ö\x02Ž" €\x0f\x03 ,ã[׸p\0¯\0–Œ Œ\0ÝOòŒ L*òØà“ò\x12öÖàeò×àœô$Ž\x03Ž€á\0¯xôPÔ\x14x™`\x01‰£¸\x01©\x10ÝqðÙà„òŒ \fŠôJÑ\x14%@\x01\ba† ÿƒ\x06òŠ Ì\r@Ù{ðŠ Ì\r\fÙwðBÑ\x14%@\x01\ba† ÿƒöó\f\x16„\x10\x03–"–D–e–" €\x0f\x02 èCÕ\b\x10\0Š Ì\r\x1fÙ" €\x0f\x03 tÛ©p\x12Ù‘Ú\x03Û" €\x0f\x05 ÐmXð¨p" €\x0f\x04 X\x06\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýnö¦\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýnöèŽüú\x10\x14\0\b\0ô\0/Ò\x14 \x01\0)b¡	Þ€" €\x0f\x02 \x18D‘\b\x10\0©p\x12Ù©Ú\x03Û" €\x0f\x05 ÐmŠ Ì\r\x1fÙ5ð\x04Ž#Ž ¯‰è Ô4y™a\x01‰ƒ¸\x01© Ý\x02ð\x1fÝŠ Ì\r©q" €\x0f\x03 tÛ" €\x0f\x02 €„"ð\x1fÝŠ Ì\r©q" €\x0f\x03 tÛ" €\x0f\x02 à„" €\x0f\x02 \x04„\x10ð\x03Ž\0¯Š \f\x0e\x06ð\x03Ž\0¯Š L\x0e\0Ù" €\x0f\x03 tÛ\0Ý©p  €\x0f\x06  \x18àxüg\008\x11\00Ti\00Ui\00¡À  €\x0f\0\bÜ\x14à~ñÀ" €\x0f\x06 \x17:pÚp€&\x10 X\x16\x14 \0\x11\x10\0\\x16‚ Áâ@$\r"J%\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýnþu\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýnþ­Žüú\x04\x15\0\b\0ô\0 ¢ò	\x11˜ \x1d\b\x110p\x16€ Šè*p" €\x0f\0 äa\x01Ùp\x1eB “ðs
‘\0`\x16\x13 \x02$Ï$\x10çd\x16\x12 +ð\0"À$¢pS \x02\x02Š#\b\0\x02#\00wÊ!Å\x03\x02 €\x04ȸ\x02{pqÊ'Æ Ê'E /$À\x05V!\x03"\x14#\0\x14{@!\0\x06@#\x01\x06ˆr" €\x0f\x06  \x16\x02'Ï\x15\0%Õ%Øï\0"\x01%X\x1e@ BuÑ\x17\x12v\bß
pérJqJ#\0 \vs" €\x0f\0 ,\\x1aph¾\x13ðÊÑÊÒ\x14"À$	Û
%\0\x05\x14"Â\x04" €\x0f\0 <[\0#\x13%‚u\x02'\x0f\x15\x16ïS%\x01\x12\x0e!‚\x0f\0\0\0\x02PwÊ$† \\x16‚ Ê$\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýo\x06F\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýo\x06rŽüúø\x15\0\b\0ôÅ#V!À"\x14 D\0]êˆqÜñ\x01Ù\\x1eB \x1eðS%\x02\x12\x0e"€\x0f\0\0\0\x02\x10vÊ …\x03\x10v	\x11ƒ Ê'\x06\x10V!Á"TyÊ'…\x13
pér" €\x0f\0 ,\â~\x1apýeäî  €\x0f\x06 Ø\x17àx¡À  €\x0f\0\b`\x16à~ñÀ" €\x0f\x06 \x17\bv\x02\x1aqJ$@ ê¸ Â$\x01%§Á\0Ý‘é\x15†0Ž\x01à\x15¦\bŽ\x03é\v\b\x10\x01©w\x19ðL$\0 \x01ßÊ'¡\x10\x13ð	\x10 ÷é0Ž\x05é(Ž\v	\x10\x01©w\x02ð\x01ßL$\0 Ñ â‚\x03ò\0\x18@#)Ž\x01Ø€áÀxHŽ@ X\0\0Ø\x0f
\x11\x01JŽ€âÊ b\0N ’\0\x02–ã¸Ì!\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýo\x0e\x16\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýo\x0eLŽüúì\x16\0\b\0ôâ€\x04ô@Å\x05ð\x03–‡¸@À@&\x11\x17*p" €\x0f\0 p=B"V \x01(€…\x13ò\x04\x10\x15 @%‚ \v\b…\0^[\f\x11 \b\x16„\x10-\f\x11\x01\0(ƒ\x05@" \x19\vE\0L$\0 v\x02\x01\0€&\x11\x17o\x02 \0 ®
\x05\0ºr\x05ð\a\r\x04 ºpO\f\x10 \0\x10\x02 Ép€ \x10\0;€‡êA)\x02\x01By; \x10ðA)B\x01By áŒ!\b€; È÷Ép
q" €\x0f\0 Øb\bðÉp
q" €\x0f\0 äa\b\x16„\x10\bðBÅ\b\x10€ DÀ\0\x10\0 AÀ\x02–\v\b\x1f\x03zu/ðÿ\f\x10@\x16\x01\x11D\x16\0\x11"x\x10x'\bÓ\x03;\x16€\x10\x01à\x0fxã\br;\x1e\x02\x10\x13†\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýo\x15æ\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýo\x16\x18Žüúà\x17\0\b\0ô;\x1eB\x13\x01à\x13¦J#@ \x15ðk\b\x12	;\x16€\x10\x01à\x0fx¿\br;\x1e\x02\x10\x13†;\x1eB\x13B%U \x01à\x13¦Š ÿ\x0fzp-\f\x11\x01…À*q\x02Ú" €\x0f\0 Ø=\x05ÀB%• \x02Ùà¨\x01\x18B\x05*p" €\x0f\0 |=\x01À€àÌ$! \x03ô\x10Ž\bè\x11\x0f\x10úu\x06ð;\x1eB\x13¯ñJ'@ …Àªt
"€\x14J$\0x\0Ú¨ \0\x02/"‚’À"\x05\x03›|*q" €\x0f\0 Ø=\v\f\x11 \x05ÀCÀ\x06Á\x01)\x05\x11\x0f\x10 \x05À" €\x0f\x06 ,^[GðE\f\x10 \x05ÅÉp\0\x14\x040
qér©s" €\x0f\0 ÀdJt\bw)hJ$\0x\0ب \0\x02/$\x02“À \0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýo\x1dµ\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýo\x1dÍŽüúÔ\x18\0\b\0ôE\0;y\x1de+ðà;\00Ð;\00$\x13\00l†Àéq`{\0Âét
"\0\x16J$\0x\0ب \0\x02/"‚’À \x05\x03›|\x01ÁJtJ$\0x\0Ý8`AÀ	o¨ À\x01/$\x02“À%\x05\x10^[x\x03À\x1deD\x16\0\x11\x02%Õ#JtJ$\0xø`\x10xD\x1e\x04\x10\0Ù¨ \0\x02/$\x02“À!Å\x03û\x7f*p" €\x0f\0 |=L%\0 €õ\bŽ„à⠁\x0f\x05 ¼_?\vQ …À*qJr" €\x0f\0 Ø=\x06À\x15è\x05Á\v
Q \0\0©\x03ð\0•\0±D\x16\0\x11Jq\x01à\x10xD\x1e\x04\x10*p" €\x0f\0 |=§À  €\x0f\x06 Ø\x17\0Ùà\x7f@\x18D\0¡À  €\x0f\0\b\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýo%‡\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýo%°ŽüúÈ\x19\0\b\0ôÌ\x19à~ñÀ" €\x0f\x06 ¨\x17m\x17\x12v:p\x14\x12€ \0Þ\x1aqü\x1cŒ³^[\bÑ\x01Ép\aÙŠ"Ï\x02(s" €\x0f\x05 Ðm\x01Ø¿ð" €\x0f\0 LW\x14\x12‚ `ÑOa`Õ\x16'Â\x13\x03ºâz\x15'‚\x10U}:\x1dB\x14" €\x0f\0 XWŒ!C¯*pÆö" €\x0f\x05 To\x06ð" €\x0f\0 äÉ:pŒ ÃÊ !\0Ê!¡\0Ê"\x0f\0\0Ú\x03Ê#á\x01⠁\x0f\x05 Ðm©p
q\x14Ú" €\x0f\x06  \x16	\v\bÑ\0\x01Ø
­*p9\x1dB\x14" €\x0f\0 ôm©pÊÿB\x1d„\x13D\x1d„\x13<\x1d‚\x13;\x1d‚\x13Ò¥Ó¥Ô¥Õ¥" €\x0f\0\b\\a€à\x01Ø\x03ô\f\x10\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýo-I\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýo-ŸŽüú¼\x1a\0\b\0ô\0 8\x1d\x02\x10©p" €\x0f\0 œ`IƒâÊ!‚\0\x02ô*\0؁áÊ \x0f\0\0Õ\0\x06ò‚áÊ \x0f\0\0ÿ\0\x0fx\0\x1c\x040€â\x01ÚÀz\x01âT%À\x18‹q" €\x0f\x06  \x16V%À\x12\bt€$\x10\x10À¤Š!\x10\0" €\x0f\x06 ,^[©q€!\x10\0\\x19‚\x03Ø¡Ù¡Š \b\0\x1a¡\x01Øp\x19\x02\0@%\0\x17éq" €\x0f\0 H=€àl\x0eáÿÊ A\x03" €\x0f\0 LW\x14\x12 \x0f!Â\x03\x14\x1a‚ " €\x0f\0 XW©p" €\x0f\0 hm\0Ø¡À  €\x0f\x06 \b\x18,;\00\f5\0\bÌ6\00ñÀ" €\x0f\x06 ´\x17ÞÑ\bv\x04æô\x1c\b°‹p\x03Ù" \0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýo5\x19\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýo5dŽüú°^[\0\b\0ô€\x0f\0\bð/\x01Ù" €\x0f\0\bà/\x18Ù" €\x0f\0\bÐ/ÔÐ\0€ÔÕ€ \x04\0Fˆ …\x13ê\aˆ‘è\x11\0Á\x10à" €\x0f\x05 ŒË\0…\x11€\f\x16\x01\x18\x14à" €\x0f\x05 ŒË\0…O'Á\x17\x11€" €\x0f\x05 ŒË£À  €\x0f\x06  \x18ñÀáÅÁÕ
…" €\x0f\0 °v\b…\0Ù\x02Ú" €\x0f\x05 ¤Y\x06…\x01Ù\x02Ú" €\x0f\x05 ¤Y¸Ð\0€„\x10\0\x06" €\x0f\0 À4  €\x0f\x06 0\x18ñÀ" €\x0f\x06 ¸\x17\buü\x1cȰÉu&…®ÖA‰ ‰\bºEy ¶(p" €\x0f\0 (ÅŒ Ï\x04ô\0Ø\0¶\0–\fè\x06…"ˆ@%\0\x1a\x03á" €\x0f\0\b\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýo<ë\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýo=3Žüú¤\x1c\0\b\0ôÀ/\x11ð\x04\x14\x034\x04\x14\r4\x04\x14\x0e4ÑÀ\x06†"ˆ\x03ˆ\b¸  €\x0f\x05 \x1eÁ\x04\x14\x034\x04\x14\r4\x04\x14\x0e4ÑÀ  €\x0f\x05 *Á  €\x0f\x06 (\x18¡À  €\x0f\0\bð\x1cà~ñÀ" €\x0f\x06 ¤\x17ªÁ†Ñ‡×\x1c\x11\x13\0$\x11\x11\0(\x11\x10\0,\x11\x12\0\0‡Î¼\x10\0\0" €\x0f\x05 ˆË\0Ý ‡9\b\x1e\0¼\x11\0\0\x01Ù©r" €\x0f\x05 Ë\0‡\x05Ù©r¼\x10\0\0" €\x0f\x05 Ë\0‡\rÙ©r¼\x10\0\0" €\x0f\x05 Ë ‡tÐV!Ì	 ¨°\x11\0\0 ¬\0€O&\x01\x10\0Ú\x04à" €\x0f\x05 Ë" €\x0f\x01 ÀQ€àÀxÀyâ ‚\x0f\0 HMO#Ó&\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýoD¹\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýoDØŽüú˜\x1d\0\b\0ôaÖ\0Ý	ðð!@\x03jq" €\x0f\x05 ŒË\x01å\0†U A\x04†\x10€\0ç\bCƒ\x01Ø" €\x0f\x05 hÎ\x03Ø" €\x0f\x05 hÎ\x05Ø" €\x0f\x05 hÎ\x02Ø" €\x0f\x05 hÎ\x04Ø" €\x0f\x05 hÎ\x10Ø" €\x0f\x05 L‹NÐ\0ˆ€àâ ‚\x0f\0 Œ"…ÿP!\x01 °¹€¹\0†¹\0€\x1cà" €\x0f\x05 ŒË\0†
q\0€E!Á\x03\x14à" €\x0f\x05 ŒË\0‡E"Â#€ \x04\0iˆF"Á+E!Á\x03ƒë\x06ˆ‚èHq\0†\0€\x10à" €\x0f\x05 ŒË\0†\0€" €\x0f\x05 ˆË\0ÙEÀ…À" €\x0f\0\b\00\0†\x05Á\0€" €\x0f\x05 ŒË(Ð\0€Cÿ\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýoLŽ\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýoLÈŽüúŒ\x1e\0\b\0ô\0‡\0Ù¬\x10\0\0Œ¹\x14à" €\x0f\x05 ŒË\x01تÀ  €\x0f\x06 \0\x18¡À  €\x0f\0\b¸\x1eà~ñÀ" €\x0f\x06 °\x17\bv@ \r\x02\x1d€Œ ÿ¡ÁÈò\x12Ð\0€2 €\x0f\0\0\x06\x01€àÀò<…^…0rF\x01%\0\0…è¸~ô\x11Ð\0ˆ€àzòN\x16@\x11žè1†B†"‰2ºÊºTzcºá	\0\x14ð\x145\0\b\x12\00”\x12\00x\x04\00œ\x12\00–5\0\b¦5\0\b¥5\0\bX\f\00è\x17\x0fð°è‹r\x03Ø@'\x01\x14" €\x0f\x05 LY¡è1†\x03Ú\x02‰N\x1e\x04\x10\x04‡" €\x0f\x06  \x161†X†\x04‡\x03ácº\x04à" €\x0f\x06  \x168†N\x16@\x11Ki\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýoTh\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýoT‘Žüú€\x1f\0\b\0ô\x01áBx\x0exN\x1e\x04\x100y\x1dðR\x16\0\x11\x01à\x10xR\x1e\x04\x10*ðP\x16\0\x11$‡X†8`1†" €\x0f\x06  \x16N\x16@\x118†"x\x0exP\x16\x02\x11N\x1e\x04\x10Ya0y)\bs\0P\x1eD\x10\0Ø\x16¯\x1ap\x04‡"ˆ\x03á*·" €\x0f\0 L"N\x1e\x04\x14P\x1e\x04\x14\0…\v\b\x1f\x02\x11†\x02ð\x12†\x0f¦\x10¦0\x1e \x104\x1e \x10\0Ø\x1e¥\x14…R \0\0S \x01\04¥\x0f\b\x1e\0\x0e…\x1f¥,\x15\0\x18\x05ð\r…\x1f¥(\x15\0\x18€\x1d\0\x10\0…\x19\b\x1f\x02©p" €\x0f\x05 h¦6Ñ\0\x01à\0¡\x0eð»\x17\0ö\0ˆ€àâ ‚\x0f\0  \x060Ñ\0\x01à\0¡¡À  €\x0f\x06 \x18\x18àx¡À  €\x0f\0\b\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýo\6\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýo\WŽüút \0\b\0ôx à~ñÀ¨\x17\0ö\0€\bÙ¬\x10\0\0\x14à" €\x0f\x05 ŒË"Ð\0€€à⠁\x0f\0  \x06\x01ØÑÀà~¡À  €\x0f\0\b° à~ñÀáÅ¡Á›\x17\rö\0…" €\x0f\0 \0"\0Ø\x02µ‹q©p" €\x0f\0 ˆv”\x17\x01ö Šè\0…\f\x19 \0\f\x11\0\bPà\x14\x19 \0\f\x11\0\b\x02¡\x14\x11\0\b\x04¡¡À\x04\x14\r4ÑÀ  €\x0f\x05 J¶¡À  €\x0f\x06 0\x18àx¤\x12\00¨\x12\00¡À  €\x0f\0\b(!à~ñÀ" €\x0f\x06 ¬\x17aÖ\0†¦Á°\x10\0\0\0€\bà" €\x0f\x05 ˆË\0†K\x10\0\x06\x06è$€\x04é`y\a€ †\x02ݰ\x11\0\x06‚àJ!@ Žô\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýod\x06\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýod&Žüúh!\0\b\0ô°\x11\0\0\0€" €\x0f\x05 ˆË †V!\x02	xŠƒãÆ ‚ÿÿ\x0fø|òLÓ\x04\x13\x10\0⃬\x11\0\0¸ª\0Ù‹¹\x14à" €\x0f\x05 ŒË" €\x0f\x05 –" €\x0f\x05 x—\0†¬\x10\0\0\fà" €\x0f\x05 ˆË †¡¿'\b\x1e\x01¼\x11\0\0\0Ù\x01Ú" €\x0f\x05 Ë\0†\0Ù¬\x10\0\0XàO'B\x10\x11ð¬\x11\0\0O'B\x10\0ÙXà" €\x0f\x05 Ë\0†\0Ù
r€º¼\x10\0\0" €\x0f\x05 Ë\0†\0Ù±\x18X\x04¬\x10\0\0\x01ÚXà" €\x0f\x05 Ë\0†\0Ù¬\x10\0\0"ÒXà" €\x0f\x05 Ë\0†\0Ù¬\x10\0\0\bÚXà" €\x0f\x05 Ë\0†\0Ù¬\x10\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýokÖ\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýokðŽüú\"\0\b\0ô\0\0 ÚXà" €\x0f\x05 Ë\0†¬\x10\0\0Xà" €\x0f\x05 ˆË †j\x19\x18\0V!Ì	¬\x11\0\0 ¬\0Ù‹¹\x14à" €\x0f\x05 ŒË
Ð\0€€àÊ b\0â ‚\x0f\x05 œË¦À  €\x0f\x06 \x10\x18\x12\00X5\0\b\0\x05\x04\0œ5\0\bD¸S B€\x1ciÁ¸Ì !€Ê !\0\x16òâÌ !€
òàÌ"!€\x06òâÌ a€\x04ô\x01Ø\bð‚âÌ ¡€\x02Ø\x02ò\x03Ø\x04¸%xà\x7f\x0fxñÀ" €\x0f\x06 ¨\x17£Á\bu(w\x1ar\0Ù ª!ªZqÀéq" €\x0f\x05 ˜]\x01Á:p\x01\x10€ !‰ãÿ\x01\x18\x02 \x01À ˆ\0\x18B \0Þ\fð\0Á©p" \0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýos¦\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýosÅŽüúP#\0\b\0ô€\x0f\x06  \x16"Á=e\0"R >f‹p/!G\x04‚Â" €\x0f\x05 h^"Âíê\x13\x0eA\x14\x02'O\x14/'Ç“Ñõ\0Ø\x04ð\x02'€\x14\x0fx£À  €\x0f\x06 \b\x18àx¡À  €\x0f\0\b¤#à~ñÀ" €\x0f\x06 ¨\x17çÐà€€'\a’¡ÁqòŒ\x17\0\x10\x01ÛA(\0A(\x02\x01Á¸Á¹Ãº" €\x0f\x05 ày
"\0€\x18§_òS"\x04@'\0\x18" €\x0f\0\bÀ//!‡ \x14!@$²‡B Ò\0*q©p" €\x0f\x06 ,^[\0Ø\x1ap`À\x01\x1c\x020\x01Ø" €\x0f\x05 ÔÐÌÖ\0Ž/"‡$¡èJp\x02\x1d‚\x14" €\x0f\x05 $]\x01®\x14è\x03mB!Á /y‹r²ÿ\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýo{v\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýo{—ŽüúD$\0\b\0ô À\0­\x01\x14€0\x01­ À\x02®\x01\x14€0ø\x03®\x11ð\x02Ž\0­\x03Ž\x01­\vð\x01Ž€àÊ"\x02\aÊ B\x03˜\x0eâÿÊ!B\x04ép" €\x0f\x05 ´Õ³Ð\x01Ù ¨\0Ž\x01à\x0fx\v\bò\0\0®\0\x1e\x02\x14¡À  €\x0f\x06 \b\x18¡À  €\x0f\0\b°$à~ñÀ©Ñ\0©‡è" €\x0f\x05 \{\x05ð" €\x0f\x05 D{¤Ð\0Ù  ÑÀà~¡À  €\x0f\0\bà$à~ñÀáÅšÑ\x01؝Õ\x04©\x14\x15\x01\x18‰¹\x14\x1d`\x10" €\x0f\0 \x04C\x10\x15\0\x18ˆ¸Œ¸‘¸\x10\x1d \x10\x10\x15\0\x18°¸\x10\x1d \x10  €\x0f\x06 0\x18àx¡À  €\x0f\0\b,%à~ñÀáÅ\bØ" €\x0f\0 \0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýoƒG\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýoƒhŽüú8%\0\b\0ôLV…Õ\x04\x10è\x0eØ" €\x0f\0 lV" €\x0f\x05 lÊ\x0eØ" €\x0f\0 LV\0Ø\x04­  €\x0f\x06 0\x18¡À  €\x0f\0\bt%à~ñÀzÑ\x14\x11\0\b©¸\x14\x19 \0\x10\x11\0\b¬¸\x10\x19 \0\x01Ø" €\x0f\0 \x04C" €\x0f\0 ¤\x05šñ¡À  €\x0f\0\b¬%à~ñÀ" €\x0f\x06 ¸\x17eÖ\0†¡Á€ 	\x06" €\x0f\x05 (Ô\x02Ø\x01Ù" €\x0f\0 44cÕ‹q\x06¥©p" €\x0f\0 ˆv †Šè\0…\f\x19 \0\f\x11\0\bPà\x14\x19 \0\f\x11\0\b\x02¡\x14\x11\0\b\x04¡(p" €\x0f\0\b”^[\x03Ø\0Ù" €\x0f\0 44 †\x02¥„\x19\x18\0\x03Ø\0Ù" €\x0f\0 \0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýo‹\x16\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýo‹/Žüú,&\0\b\0ô44 †	Ú\0ÛË\x19\x18\0KÑ\x0eØ" €\x0f\0 \x14V\x0eØ" €\x0f\0 lV" €\x0f\x05 lÊ\x01Ø" €\x0f\0 \x04C\x0eØ" €\x0f\0 LV¡À  €\x0f\x06 (\x18ñÀ\x0fx" €\x0f\x05 <΀àÊ !\0\x05ò\x02€2¸Ê¸"ññÀ" €\x0f\x06 ´\x17£Á\x01Øöÿc¸P \x01\0‹p/y" €\x0f\x05 ˜]\bu+Ð\0Á€\0‰¯\x7f\0®\x01‰\x01®¢®\x03æ	ð\x01ÁÉp" €\x0f\x06  \x16"À\x1efÀ‚Âéq" €\x0f\x05 h^"Âñê\x03m\x10x£À  €\x0f\x06  \x18àx¡À  €\x0f\0\b\b'à~ñÀ" €\x0f\x06 ¸\x17\x14Õ\x02…ßÿ\bv\x01Ø" €\x0f\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýo’æ\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýo“\x06Žüú '\0\b\0ô\x05 ÔÐ\x06Ø\x0e­\x02…Éq" €\x0f\x05 Ìy  €\x0f\x06 (\x18¡À  €\x0f\0\bh'à~œ\x12\00 5\0\bµ5\0\bX\f\00¨\x12\00\0\0\0”x\x04\00lÊ\x05 ñÀ" €\x0f\x06 ¸\x17ð\x17\rð(v
¥6µ\x01Ø" €\x0f\x05 ÔÐÈ\x17\x01ð\x05‰ýè\x01Ø\x05©
…Éq" €\x0f\x05 Ôz  €\x0f\x06 (\x18àx¡À  €\x0f\0\b´'à~ñÀ" €\x0f\x06 ¬\x17¥Á¾\x17\x11v`ˆ\0\x11\x0e cÃáˆ@$\x103\r\x1cÂ3Cˆ\0Ý"ˆ\bºYa\x0e\x1cD0Eˆ/$H\0\x04\x10†\0@*\x05\x02\0%…\x01/%H\x01\x10\x1cD1Gˆf¿\x06ˆ\bº\x1ab…çPzf\x02-\0\x12\x1c„0\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýoš¶\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýošÏŽüú\x14(\0\b\0ô@'\0sõ Ï\x03ôx\0x\x06\0)\x01¬\0œ\0\x15\x01¸\0B,\0\x02a¸Žà>\x02\r\0@'\x03sõ#\0\0\x14{\0{\x0f\0&\0U\0\x17\x01\x17\x01?\0L\0\x17\x01\x17\x01\x17\x01\x17\x01\x17\x01\x17\x01\x17\x012\0—Ð\0€I"\x04\vè•ÑÉp©r" €\x0f\x06  \x16û\x01\0\0’ÑÉp©r" €\x0f\x06  \x16ç\x01\0\0ŽÑ±Ø	"\r\0Ép©r" €\x0f\x06  \x16Ï\x01\0\0…Ð\0€\x18èˆÑI"\r\x03Ép©r" €\x0f\x06  \x16Ùð\x7fÐ\0€\fè‚ÑI"\x02Ép©r" €\x0f\x06  \x16ÍðŠ 0\x05" €\x0f\x05 \x14´Š%ÿ\x17ÃðS!Á€\rôxÑ ‰	%\x10Ép©r" €\x0f\x06  \x16\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýo¢†\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýo¢¤Žüú\b)\0\b\0ôµð\x1d	Q\0sÑ ‰	%\x10Ép©r" €\x0f\x06  \x16©ð^[	‘\0mÑ ‰	%\x10Ép©r" €\x0f\x06  \x16›ðƒá™ôhÑ ‰	%\x10Ép©r" €\x0f\x06  \x16ð€ãô©p" €\x0f\0 \0#" €\x0f\x05 ¨Ó\x0e\x14\x011]Ð °\x7fðŒ#\x02€{ôZÐ\0\0®\x12\x14\r1€åè\0	\0sðãqôUÐ\x01ÚU×  ¡ ¢ L¨TР¨TÐ@¨TÐ °\0‡„\x10\0\x06¿\b\x10\0{\f\x10\0" €\x0f\x05 D{NЩq\x03Ú\f\x19D# ¨LР¨LР¨¡¨\x10\x11\0 " €\x0f\x05 ¤Y\0‡©q€ \v
" €\x0f\x05 DÕ\0‡\x01Ù€ \0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýoªI\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýoªdŽüúü)\0\b\0ô\a\x02" €\x0f\x05 DÕ\0‡€ \v
" €\x0f\x05 \fË\0‡€ \a\x02" €\x0f\x05 \fË\0‡€ \a\x04" €\x0f\x05 \x14!ð" €\x0f\x05 \{\0‡€ \a\x04" €\x0f\x05  \x15ð¡ãÌ%¡€Ê%\x10\x0fò\0\x10€ Œ B€\0Ý	ô&Ð\x06\x10\r!\0\v\rr\x10\0®\x01Ý=\r\x12\x10\x06\x10\0!\x1f\r\x03\x10\x1cÐ\0€(€©p2¹Ê¹" €\x0f\x06 ˆ\x18\x01ß\x02é\0ß\0ØÉqÉr©sS'\x04\x10" €\x0f\x05 $Ï©p¥À  €\x0f\x06 \x10\x18x\x04\00ø\x03\00¼Y\x06 ¨Y\x06 ÐY\x06 Z\x06 œZ\x06 4\\x06 ´Z\x06 4[\x06 ´[\x06 Š\x12\00¨5\0\bœ\x12\00\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýo²\x19\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýo²3Žüúð*\0\b\0ô¥5\0\b¦5\0\bŒ\x12\00¡5\0\b 5\0\b¢5\0\b@$\x1c1  €\x0f\0\b\x18+à~àx©p" €\x0f\0 °v
 €\x0f\00h\x1c\0ِ¹\0Ú" €\x0f\x05 ðÿ  €\x0f\0 8\x1dà~àxñÀ" €\x0f\0\b\\a\x06èUÑ\0”¸\0¡ÑÀà~ñÀ" €\x0f\0\b\\a\x06èOÑ\0’¸\0¡ôñàx@$\x1c1  €\x0f\0\b„+à~àxñÀáÅHÐ\0ˆ­èHÐ\0ˆ«è" €\x0f\0 <'%èBÕ …P!€\x04“¸\0¥BÐ\0ˆ’èP!\0\x04²¸´¸“¸\0¥>Ð(\x10\0\b!\b\x1e\0=Ñ\0 ¸\0¡
ð" €\x0f\0\b\\a\x04è\0…´¸\0¥7Ð\0€\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýo¹ì\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýoº\rŽüúä+\0\b\0ô@x  €\x0f\x06 0\x18àx@$\x1c1  €\x0f\0\b\0,à~àxñÀáÅ/Ð\0ˆ®è/Ð\0ˆ,è\x1eØ" €\x0f\x05 $]&è"Õ …P!\0\x05•¸\0¥"Ð\0ˆ‘èP!\0\x04²¸´¸•¸\0¥\x1fÐ(\x10\0\b\x1f\b\x1e\0\x1dÑ\0 ¸\0¡	ð" €\x0f\0\b\\a\x05è\0…²¸\0¥^[Ð\0€@x  €\x0f\x06 0\x18ñÀáÀáÁ\x17Ñ ‰^[	\x1e\0" €\x0f\0\b\\a‡èÁÁÁÀÑÀ  À\aÁÁÁÀÑÀ”¹\0Ú  €\x0f\x05 ðÿ\ñàxØ\f\00Ò\f\00Ó\f\00Ñ\f\00\0\0\0–à\f\00¬\f\00Ô\f\00é\f\00´\f\00¨\x04\00¡À  €\x0f\0\b\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýoÁº\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýoÁÝŽüúØ,\0\b\0ôÜ,à~ñÀ" €\x0f\x06 ¨\x17¨Ð\0€\0ݰ\x10\0\0\0€\bà" €\x0f\x05 ˆË£Ñ $‰€áÌ!¢Vò¡\x17\x10v!\b\x1e\0 Ð\x01Ù\0\x18B   žÐ  žÐ  žÐ ¨\x01ØGð\0\x10 …	\x10\0—\x17\x11v(¸—\x17\x12vS A\x03\0\x11\x02 •וÖ\x17
@\0\0\x19@ \0\x1a@# §\x01Ø\0®,ð\0Ž\vè" €\x0f\0 ¨P §\0\x1a\0  ®©p\rð" €\x0f\0 ¨P\0\x12\x01 "x\v\b3\0\0§\x13x\0§Œ \x03‚Òö\0ސè\0\x19@#\0\x1a@# §\x01Ø\0®\0\x18B#\x02Ø" €\x0f\x05 DÑ\0Ø  €\x0f\x06 \b\x18àx¡À  €\x0f\0\bÌ-à~\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýoɍ\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýoÊFŽüúÌ-\0\b\0ôG\bó\x01\0Ù‡èmÐ\0€@ \x01\x06^[ð\x19\b\x1e\0jÑ\x1dx\x04¸ \x16x€!\x02
\x19a\x11ð\x11\b‘\0dÐ\0€\bq€!	\x06	ð\x0f\b\x11\x01`Ð\0€\bq€!\v
à\x7f(pàx¡À  €\x0f\0\b$.à~ñÀ" €\x0f\x06 ´\x17¢Á"€\0Þ\bw\x04\x1c„3Û	\x1f\x02A)€\x03Á¸‚àÌ"!€eôUÕ(…&\x1d‚\x13\x03‰B‰\b¸X`\x04à\x12µQÐ\0€à\x03Ø	ô\x01‰ ‰\b¸%x" €\x0f\x05 4Y5\b\0Â9\bÐ\0‹q" €\x0f\x05 LY€àuô\0À(…R•" €\x0f\x06  \x16\0À" €\x0f\0 Ø!-ð\b…" €\x0f\0 Ø!cð\x03Ø@%\x01\x14" \0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýoÑg\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýoчŽüúÀ.\0\b\0ô€\x0f\x05 LYšè\x04…\x03Ú(…" €\x0f\x06  \x16(…J‡\x04…\x03áÒºcº\x04à" €\x0f\x06  \x16\x04…" €\x0f\0 L"\að,Ð" €\x0f\0 8!\b…\0Ù\x02Ú" €\x0f\x05 ¤Y5ð1	\x1e\x02\bàÌ"!€\x12ô Ð.\x18‚\x03Ö°
€" €\x0f\0 °v" €\x0f\0 Œ"\x1dÐÀ¨\x1fð;	\x1e\x02.¹Á¹‚áÌ"!€\x17ô" €\x0f\0\b\\a\x12Ñ\vè\x0e‰\x13\b‘\x01Ω" €\x0f\0 ¤"\aðީα" €\x0f\0 €"¢À  €\x0f\x06  \x18\x12\00œ\x12\00¦5\0\b¨5\0\b¬5\0\b°5\0\b´5\0\bx\x04\00–5\0\bœ<\x06 ¥5\0\bJ"@\x10\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýoÙ6\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýoÙWŽüú´/\0\b\0ôJ#€\x11  €\x0f\x06 ø"J"\0\x10J#€\x14  €\x0f\x06 ä"J"\0\x10J#€\x11  €\x0f\x06 ä"J"À\x14J#@\x10  €\x0f\x06 ä"J"@\x17J#@\x10  €\x0f\x06 ä"J"\0\x11J#€\x11  €\x0f\x06 ä"áÅÏp\x06 ´= €\x01ÛÏp\x06 ¸=(\x19à\0@€Š%\x11\x12Ïp€\0 @`\x1a`\x03h\x1a \0Ïp$\0\0$l\x1a \0dØ \x1aà\0\x1c\x1a \0\x04Ø\x18\x1a \0\0Ø(\x19 \0\0Ø‘¸\x198\0à\x7fÁÅàxÏq\x06 ¸= \x1c\x19 \0à~àxÏq\x06 ¸= \x18\x19 \0à~àxÏq\x06 ¸= \x04\x19 \0à~àxÏp\x06 ´=\0€\0Ù(\x18`\0à~\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýoá\x06\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýoá&Žüú¨0\0\b\0ôÏp\x06 ´=\0€\x01Ù(\x18`\0à~Ïq\x06 ¸=@H\x12\x01\b  L\x12\x01\bà\x7f$¨àxñÀáÅ\buÏp\x06 ¸=\0€P\x10\0\b\x04 €\x0f\0€ÿ\0\0¥\x03† ý\x0fB(þ\x0eò\0" €\x0f\0 HA\0­©p" €\x0f\0 hA\x06ðÏp­Þï¾\0¥  €\x0f\x06 0\x18Ïq\x06 ¸= 8\x11\x01\b  \x03ˆ† ý\x0fà\x7fG¸ñÀáÅ\buÏp\x06 ¸=\0€\\x10\0\b\x04 €\x0f\0€ÿ\0\0¥\x03† ý\x0fB(þ\x0eò\0" €\x0f\0 HA\0­©p" €\x0f\0 hA\x06ðÏp­Þï¾\0¥  €\x0f\x06 0\x18Ïq\x06 ¸= D\x11\x01\b  \x03ˆ† ý\x0f\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýoè×\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýoèíŽüúœ1\0\b\0ôà\x7fG¸Ïp\x06 ¸=\0€\x01Ù(\x18`\0à~Ïq\x06 ¸=  \x19 \0à~àxÏp\x06 ´=\0€\x01Ù(\x18`\0Ïp\x06 ¸=\0€\x02Ù\x04\x18`\0à~àxÏt\0Ÿ\0\0\x04¸\x14xš` \x12\0\b&x \x1a \0à~Ït\0Ÿ\0\0\x04¸\x14xš`(\x12\0\b&x(\x1a \0à~Ït\0Ÿ\0\0\x04¸\x14xš`(\x12\0\b\x05y(\x1a`\0à~Ïq\0Ÿ\0\0<\x11\0\bŒ¸<\x19 \0@\x11\0\bŒ¸@\x19 \0à~Ïq\0Ÿ\0\0<\x11\0\b¸Ž¸<\x19 \0@\x11\0\b­¸®¸@\x19 \0à~Ït\0Ÿ\0\0\x04¸\x14xš`0\x12\0\b&x0\x1a \0à~Ït\0Ÿ\0\0\x04¸\x14xš`0\x12\0\b\x05y0\x1a\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýoð¦\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýoð»Žüú2\0\b\0ô`\0à~Ït\0Ÿ\0\0\x04¸\x14xš`,\x12\0\b&x,\x1a \0à~Ït\0Ÿ\0\0\x04¸\x14xš`,\x12\0\b\x05y,\x1a`\0à~Ïq\0Ÿ,\0\x04¸\x14x0!\0€à~Ït\0Ÿ,\0\x04¸\x14xš`\0\x1a`\0à~àxÏp\0Ÿ\0\0\x10\x10\0\bà~Ïq\0Ÿ\0\0\x10\x19 \0à~Ït\0Ÿ\0\0\x04¸\x14xš`8\x12\0\b&x8\x1a \0à~Ït\0Ÿ\0\0\x04¸\x14xš`4\x12\0\b&x4\x1a \0à~Ït\0Ÿ\0\0\x04¸\x14xš`4\x12\0\b\x05y4\x1a`\0à~Ït\0Ÿ\0\0\x04¸\x14xš`8\x12\0\b\x05y8\x1a`\0à~Ïq\0Ÿ$\0\x04¸\x14x0!\0€à~Ït\0Ÿ\0\0\x04¸\x14xš` \x12\0\b\x05y \x1a\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýoøu\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýoøŠŽüú„3\0\b\0ô`\0à~Ïq\0Ÿ$\0\x04¸\x14x0!\0€à~Ïq\0Ÿ\0\0<\x11\0\bE @\x01<\x19 \0@\x11\0\b€¸@\x19 \0@\x11\0\b¢¸@\x19 \0à~Ïq\0Ÿ\0\0<\x11\0\b„¸<\x19 \0@\x11\0\b¤¸@\x19 \0à~Ïq\0Ÿ\0\0<\x11\0\b¤¸<\x19 \0à~àxÏq\0Ÿ\0\0<\x11\0\b†¸<\x19 \0@\x11\0\b¦¸@\x19 \0à~Ïq\0Ÿ\0\0<\x11\0\b¦¸<\x19 \0à~àxÏq\0Ÿ\0\0<\x11\0\bޏ¸<\x19 \0@\x11\0\b®¸¯¸@\x19 \0à~Ït\0Ÿ \0\x04¸\x14xš`\0\x1a`\0à~àxÏt\0Ÿ\0\0\x04¸\x14xš`L\x12\0\b&xL\x1a \0à~Ït\0Ÿ\0\0\x04¸\x14xš`\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýp\0G\x0e\x04\x01Žü\0\0\0\0ý\0\0\0ý\0\0\0\x02\0\0\0\0\0áÇÌýp\0[Žüúx4\0\b\0ôL\x12\0\b\x05yL\x1a`\0à~Ïs\00\x04\0 \x13‚\0?‹\x05è\x1e‹8`X`\x02ðXaà\x7f"¸Ïp\0¼\0\0 \x10\0\bŒ Eà\x7fo \v\0Ïq\00„'\0€àÊ \x0f\0\0\0\x03
ò!\r\bE\0Ïp\0@¨\x04"x\x10xà~àx\0Ù\bt€$\x10\x10 ¤Š!\x10\0  €\x0f\x06 ,^[àxȸ\x0e ‚\x0f\0\0\0\x02PqÊ †\0à\x7fÊ E\0\0\0\0\x01\0\x02\0\x01\0ÿ\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýp\b\x17\x0e\x04\x01Žü\0\0\0\0U\0\0\0U\0\0\0\x02\0\0\0\0\0áÇÌýp\b-ŽüRl5\0\b\0L\0\0\0\0\0\0\0\0\0\0\0\0>þ\x0eþ€þPþ>þ°ý€þòý\0\0\0\0\0\0\0\02\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýp\vþ\x0e\x04\x01Žü\0\0\0\0\r\0\0\0\r\0\0\0\x02\0\0\0\0\0áÇÌýp\f\x13Žü
\0\0\0@\0\x04\x02\x03\r\0\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýp\x0fæ\x0e\x04\x01Žü\0\0\0\0\r\0\0\0\r\0\0\0\x02\0\0\0\0\0áÇÌýp\x0fúŽü
\0\x01\0\b\0\x04\x02\x03\r.\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýp\x13Í\x0e\x04\x01Žü\0\0\0\0\r\0\0\0\r\0\0\0\x02\0\0\0\0\0áÇÌýp\x13áŽü
\0\x04\00\0\x04\x14\x01\0\b\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýp\x17µ\x0e\x04\x01Žü\0\0\0\0\f\0\0\0\f\0\0\0\x02\0\0\0\0\0áÇÌýp\x17ÈŽü	\0\0\0@\0\x03\x02\x03\r\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýp^[ž\x0e\x04\x01Žü\0\0\0\0S\0\0\0S\0\0\0\x02\0\0\0\0\0áÇÌýp^[²/üP\0\0\0\0\0\0\0\0\0-1\x01ÿþ\x0fþÛÿ{‡\x01@ú\x1a 
\a\x06\b\x05\a\a\a
\a\x06\x04\x06
¤	¸Ì
\x04\0\x01À\v\x14\b\0\r\0\x1e\0¸\vd\x19ȯ¨aÐ\a\x04\0\vZ††\x04C³|\0\0\0\0\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýp\x1fy\x0f\x04\0\x01/ü\0\0\0\x04\0\0\0\x04\0\0\0\x03\0\0\0\0\0áÇÌýp#bÿ\x02\x19\0\0\0\0\x05\0\0\0\x05\0\0\0\x02\0\0\0\0\0áÇÌýp#w\x11ü\x02\0\0\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýp'H\x0e\x04\x01\x11ü\0\0\0\0\x7f\0\0\0\x7f\0\0\0\x02\0\0\0\0\0áÇÌýp']`ü|\x01\x01\x01ߎßÚN\0\0\0\0«¿ÄÉÎÓØÝâçìñö\0\0\0ìîðòôöøúüþ\0\x02\x04\x06\b
\x03¸\v\0,\x012\x14\x1a\0\0 \0\x01\0\x03\0\x01\0\x02\0\0\x03\0 \0\x01\0\x03\0\x01\0\x05\0\0\x03\x14\x01\0
\0\0\x03\x14\x01\0
\0\0\x03\x14\x01\0
\0\0\x03\x14\x01\0
\0\0\x03\x14\x01\0
\0\0\x03\x14\x01\0
\0\0\x03\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýp+1\x0e\x04\x01`ü\0\0\0\0\x05\0\0\0\x05\0\0\0\x02\0\0\0\0\0áÇÌýp+K\x11ü\x02\0\x02\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýpaò\x0e\x04\x02\x11ü\0\0\0\0\x03\0\0\0\x03\0\0\0\x02\0\0\0\0\0áÇÌýpb0\x03\f\0\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýp˜’\x0e\x04\x02\x03\f\0\0\0\0\x03\0\0\0\x03\0\0\0\x02\0\0\0\0\0áÇÌýp˜¥\x03\x10\0\0\0\0\x0e\0\0\0\x0e\0\0\0\x03\0\0\0\0\0áÇÌýpœx\x0e\f\x01\x03\x10\0ÿþ\x0fþÛÿ{‡\0\0\0\x03\0\0\0\x03\0\0\0\x02\0\0\0\0\0áÇÌýpœÅ\x01\x10\0\0\0\0\x0e\0\0\0\x0e\0\0\0\x03\0\0\0\0\0áÇÌýp `\x0e\f\x01\x01\x10\0\x06\0\x05\x06\x02\0\0\x05\0\0\0\x03\0\0\0\x03\0\0\0\x02\0\0\0\0\0áÇÌýp ¤	\x10\0\0\0\0\f\0\0\0\f\0\0\0\x03\0\0\0\0\0áÇÌýp¤J\x0e
\x01	\x10\0Dz\aý‹\f\0\0\0\x03\0\0\0\x03\0\0\0\x02\0\0\0\0\0áÇÌýp¤¨\x05\x10\0\0\0\0\r\0\0\0\r\0\0\0\x03\0\0\0\0\0áÇÌýp¨3\x0e\v\x01\x05\x10\0ý\x03`\x05\0\x05\0\0\0\0\x03\0\0\0\x03\0\0\0\x02\0\0\0\0\0áÇÌýp¨J#\f\0\0\0\0	\0\0\0	\0\0\0\x03\0\0\0\0\0áÇÌýp¬\x19\x0e\a\x02#\f\0\0\x1f\0\0\0\0\x03\0\0\0\x03\0\0\0\x02\0\0\0\0\0áÇÌýp¬)\x14\f\0\0\0\0þ\0\0\0þ\0\0\0\x03\0\0\0\0\0áÇÌýp»½\x0eü\x01\x14\f\0Bluemoon Universal Bluetooth Host Controller\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\x02\0\0\0\0\0áÇÌýp»Ù%\f\0\0\0\0\b\0\0\0\b\0\0\0\x03\0\0\0\0\0áÇÌýp¿¯\x0e\x06\x01%\f\0`\0\0\0\0\x04\0\0\0\x04\0\0\0\x02\0\0\0\0\0áÇÌýp¿Á\x05\f\x01\0\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýpÖ\x0e\x04\x01\x05\f\0\0\0\0\x05\0\0\0\x05\0\0\0\x02\0\0\0\0\0áÇÌýpÃ¥\x16\f\x02\0}\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýpÇ~\x0e\x04\x01\x16\f\0\0\0\0\x03\0\0\0\x03\0\0\0\x02\0\0\0\0\0áÇÌýpǍ^[\f\0\0\0\0
\0\0\0
\0\0\0\x03\0\0\0\0\0áÇÌýpËf\x0e\b\x02^[\f\0\0\b\x12\0\0\0\0\x03\0\0\0\x03\0\0\0\x02\0\0\0\0\0áÇÌýpËtF\f\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌýpÏM\x0e\x05\x02F\f\0\0\0\0\0\x03\0\0\0\x03\0\0\0\x02\0\0\0\0\0áÇÌýpÏ[\x02 \0\0\0\0	\0\0\0	\0\0\0\x03\0\0\0\0\0áÇÌýpÓ5\x0e\a\x01\x02 \0^[\0\a\0\0\0\x03\0\0\0\x03\0\0\0\x02\0\0\0\0\0áÇÌýpÓC\x03 \0\0\0\0\x0e\0\0\0\x0e\0\0\0\x03\0\0\0\0\0áÇÌýp×\x1e\x0e\f\x01\x03 \0\x01\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\x02\0\0\0\0\0áÇÌýp×,\a \0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌýpÛ\x06\x0e\x05\x01\a \0	\0\0\0\x03\0\0\0\x03\0\0\0\x02\0\0\0\0\0áÇÌýpÛ\x14\x0f \0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌýpÞî\x0e\x05\x01\x0f \0 \0\0\0\x03\0\0\0\x03\0\0\0\x02\0\0\0\0\0áÇÌýpÞü\x1c \0\0\0\0\x0e\0\0\0\x0e\0\0\0\x03\0\0\0\0\0áÇÌýpâÖ\x0e\f\x01\x1c \0ÿÿÿ\x1f\0\0\0\0\0\0\0\v\0\0\0\v\0\0\0\x02\0\0\0\0\0áÇÌýpâä\x01\f\bÿÿûÿ\aø¿=\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýpæ½\x0e\x04\x01\x01\f\0\0\0\0\v\0\0\0\v\0\0\0\x02\0\0\0\0\0áÇÌýpæÊ\x01 \b\x1f\0\0\0\0\0\0\0\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýpê§\x0e\x04\x01\x01 \0\0\0\0\x03\0\0\0\x03\0\0\0\x02\0\0\0\0\0áÇÌýpêµ\x02\x10\0\0\0\0F\0\0\0F\0\0\0\x03\0\0\0\0\0áÇÌýpòu\x0eD\x01\x02\x10\0ÿÿû\x03Îÿïÿÿ?ÿŸó\x0fèþ?÷ÿ\x1c\0\0\0a÷ÿÿ\x7f\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0ô\0\0\0ô\0\0\0\x02\0\0\0\0\0áÇÌýpòR\fñ\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýpö]\x0e\x04\x01R\f\0\0\0\0\x04\0\0\0\x04\0\0\0\x02\0\0\0\0\0áÇÌýpöjE\f\x01\x02\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýpúF\x0e\x04\x02E\f\0\0\0\0\x03\0\0\0\x03\0\0\0\x02\0\0\0\0\0áÇÌýpúSX\f\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌýpþ.\x0e\x05\x01X\f\0
\0\0\0\x04\0\0\0\x04\0\0\0\x02\0\0\0\0\0áÇÌýpþ:\x04\x10\x01\x01\0\0\0\x10\0\0\0\x10\0\0\0\x03\0\0\0\0\0áÇÌýq\x02\x15\x0e\x0e\x01\x04\x10\0\x01\0\0\0\0\0\0\0\0\0\0\0\0
\0\0\0
\0\0\0\x02\0\0\0\0\0áÇÌýq\x024\x12\f\a\0\0\0\0\0\0\x01\0\0\0\b\0\0\0\b\0\0\0\x03\0\0\0\0\0áÇÌýq\x05þ\x0e\x06\x01\x12\f\0\0\0\0\0\0\x05\0\0\0\x05\0\0\0\x02\0\0\0\0\0áÇÌýq\x06
\x0f\b\x02\a\0\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýq	æ\x0e\x04\x01\x0f\b\0\0\0\0#\0\0\0#\0\0\0\x02\0\0\0\0\0áÇÌýq	ó\b  \x1f\x02\x01\b\x02
	\x18\bBluemoon Universal Blue\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýq\rÍ\x0e\x04\x01\b \0\0\0\0\x04\0\0\0\x04\0\0\0\x02\0\0\0\0\0áÇÌýq\x0e \x04\x10\x01\x01\0\0\0\x10\0\0\0\x10\0\0\0\x03\0\0\0\0\0áÇÌýq\x11«\x0e\x0e\x01\x04\x10\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\x05\0\0\0\x05\0\0\0\x02\0\0\0\0\0áÇÌýq\x11¸\x18\f\x02\0 \0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýq\x15‘\x0e\x04\x02\x18\f\0\0\0\0
\0\0\0
\0\0\0\x02\0\0\0\0\0áÇÌýq\x15\r\f\a\0\0\0\0\0\0\x01\0\0\0
\0\0\0
\0\0\0\x03\0\0\0\0\0áÇÌýq\x19x\x0e\b\x01\r\f\0\x05\0\0\0\0\0\0û\0\0\0û\0\0\0\x02\0\0\0\0\0áÇÌýq\x19‚\x13\føubuntu-desktop-0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýq\x1da\x0e\x04\x01\x13\f\0\0\0\0\v\0\0\0\v\0\0\0\x02\0\0\0\0\0áÇÌýq˜\0\x01\f\bÿÿûÿ\aø¿=\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýqšc\x0e\x04\x01\x01\f\0\0\0\0\x04\0\0\0\x04\0\0\0\x02\0\0\0\0\0áÇÌýqšxV\f\x01\x01\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýqžM\x0e\x04\x01V\f\0\0\0\0\x04\0\0\0\x04\0\0\0\x02\0\0\0\0\0áÇÌýqžbE\f\x01\x02\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýq¢2\x0e\x04\x02E\f\0\0\0\0\x03\0\0\0\x03\0\0\0\x02\0\0\0\0\0áÇÌýq¢CX\f\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌýq¦\x1a\x0e\x05\x01X\f\0
\0\0\0\x05\0\0\0\x05\0\0\0\x02\0\0\0\0\0áÇÌýq¦*\x0f\b\x02\a\0\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýqª
\x0e\x04\x01\x0f\b\0\0\0\0\x06\0\0\0\x06\0\0\0\x02\0\0\0\0\0áÇÌýqª&$\f\x03\0\x01n\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýq­ï\x0e\x04\x02$\f\0\0\0\0\x04\0\0\0\x04\0\0\0\x02\0\0\0\0\0áÇÌýq®!\x1a\f\x01\x02\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýq±à\x0e\x04\x02\x1a\f\0\0\0\0\x03\0\0\0\x03\0\0\0\x02\0\0\0\0\0áÇÌýqº\x16\x14\f\0\0\0\0þ\0\0\0þ\0\0\0\x03\0\0\0\0\0áÇÌýqÉC\x0eü\x01\x14\f\0ubuntu-desktop-0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\x02\0\0\0\0\0áÇÌýqÉ\U\f\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌýqÍ)\x0e\x05\x01U\f\0\x01\0\0\0\x03\0\0\0\x03\0\0\0\x02\0\0\0\0\0áÇÌýqÍ;\x19\f\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌýqÑ\x11\x0e\x05\x02\x19\f\0\x02\0\0\0ô\0\0\0ô\0\0\0\x02\0\0\0\0\0áÇÌýqÑ R\fñ\0\x11	ubuntu-desktop-0\x02

\x13\x03-\x11\x12\x11\x1f\x11\x1e\x11
\x11\v\x11\f\x11\x0e\x11\x03\x11\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌýqÔú\x0e\x04\x01R\f\0\0\0\0
\0\0\0
\0\0\0\x02\0\0\0\0\0áÇÌþø\x0eD\x12\f\aß^\b¾÷x\0\0\0\0\b\0\0\0\b\0\0\0\x03\0\0\0\0\0áÇÌþø\x13m\x0e\x06\x01\x12\f\0\0\0\0\0\0\b\0\0\0\b\0\0\0\x02\0\0\0\0\0áÇÌÿZ\x1e3\x01\x04\x053‹ž\b\0\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÿZ ö\x0f\x04\0\x02\x01\x04\0\0\0\f\0\0\0\f\0\0\0\x03\0\0\0\0\0áÇÌÿp\x126\x04
ß^\b¾÷x\x04\x04$\x01\0\0\0
\0\0\0
\0\0\0\x02\0\0\0\0\0áÇÌÿp\x12U	\x04\aß^\b¾÷x\0\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÿp\x16\x19\x0f\x04\0\x01	\x04\0\0\0
\0\0\0
\0\0\0\x03\0\0\0\0\0áÇÌÿr‹\a\x12\b\0ß^\b¾÷x\0\0\0\0\r\0\0\0\r\0\0\0\x03\0\0\0\0\0áÇÌÿs»¸\x03\v\0\0\x01ß^\b¾÷x\x01\0\0\0\0\x05\0\0\0\x05\0\0\0\x02\0\0\0\0\0áÇÌÿs¼\x14^[\x04\x02\0\x01\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÿs¿Ž\x0f\x04\0\x01^[\x04\0\0\0\x05\0\0\0\x05\0\0\0\x03\0\0\0\0\0áÇÌÿtà±^[\x03\0\x01\x05\0\0\0\r\0\0\0\r\0\0\0\x03\0\0\0\0\0áÇÌÿvo\x1f\v\v\0\0\x01¿þþ›ÿy‡\0\0\0\x06\0\0\0\x06\0\0\0\x02\0\0\0\0\0áÇÌÿvo;\x1c\x04\x03\0\x01\x01\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÿvs\x02\x0f\x04\0\x01\x1c\x04\0\0\0\x0f\0\0\0\x0f\0\0\0\x03\0\0\0\0\0áÇÌÿw—ÿ#\r\0\0\x01\x01\0\x01\0\0\0\0\0\0\0\0\0\0\r\0\0\0\r\0\0\0\x02\0\0\0\0\0áÇÌÿw˜\x1c\x19\x04
ß^\b¾÷x\x02\0\0\0\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÿw›à\x0f\x04\0\x01\x19\x04\0\0\x01\x01\0\0\x01\x01\0\0\0\x03\0\0\0\0\0áÇÌÿyõp\aÿ\0ß^\b¾÷xHM1700\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x10\0\0\0\x10\0\0\0\x05\0\0\0\0\0áÇÌÿ{hþ\0!\f\0\b\0\x01\0\x02\x02\x04\0\x01\0@\0\0\0\0\x14\0\0\0\x14\0\0\0\x04\0\0\0\0\0áÇÌÿ{i\x1f\0\x01\x10\0\f\0\x01\0\x03\x02\b\0@\0@\0\x01\0\0\0\0\0\0\x0e\0\0\0\x0e\0\0\0\x04\0\0\0\0\0áÇÌÿ{i%\0\x01
\0\x06\0\x01\0
\x01\x02\0\x02\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿ|/È\x13\x05\x01\0\x01\x01\0\0\0\0\x14\0\0\0\x14\0\0\0\x05\0\0\0\0\0áÇÌÿ|'\0!\x10\0\f\0\x01\0\v\x01\b\0\x02\0\0\0\0\x02\0\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿ|0\x13\x05\x01\0\x01\x01\0\0\0\0\x14\0\0\0\x14\0\0\0\x04\0\0\0\0\0áÇÌÿ|J\0\x01\x10\0\f\0\x01\0\x03\x02\b\0@\0@\0\0\0\0\0\0\0\0\x10\0\0\0\x10\0\0\0\x04\0\0\0\0\0áÇÌÿ|O\0\x01\f\0\b\0\x01\0\x04\x02\x04\0@\0\0\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿ}\x06ž\x13\x05\x01\0\x01\x01\0\0\0\0\x14\0\0\0\x14\0\0\0\x05\0\0\0\0\0áÇÌÿ}Ëä\0!\x10\0\f\0\x01\0\x04\x03\b\0@\0\0\0\x01\x02@\0\0\0\0\x16\0\0\0\x16\0\0\0\x04\0\0\0\0\0áÇÌÿ}Ëþ\0\x01\x12\0\x0e\0\x01\0\x05\x03
\0@\0\0\0\0\0\x01\x02@\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿ}ÍÅ\x13\x05\x01\0\x01\x01\0\0\0\0\x12\0\0\0\x12\0\0\0\x05\0\0\0\0\0áÇÌÿ~-‡\0!\x0e\0
\0\x01\0\x05\x02\x06\0@\0\0\0\0\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿ~/z\x13\x05\x01\0\x01\x01\0\0\0\0#\0\0\0#\0\0\0\x05\0\0\0\0\0áÇÌÿ~ð_\0!\x1f\0^[\0@\0\x06\0\0\0\x165\x03\x19\x11\x1f\005\f	\0\x01	\0\x04	\0		\x03\x11\0\0\0\0H\0\0\0H\0\0\0\x04\0\0\0\0\0áÇÌÿ~ñ$\0\x01D\0@\0@\0\a\0\0\0;\00515/	\0\x015\x06\x19\x11\x1f\x19\x12\x03	\0\x045\f5\x03\x19\x01\05\x05\x19\0\x03\b\r	\0	5\b5\x06\x19\x11\x1e	\x01\x05	\x03\x11\b	psR0\0\0\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿ€\x17Ç\x13\x05\x01\0\x01\x01\0\0\0\0+\0\0\0+\0\0\0\x05\0\0\0\0\0áÇÌÿ€wy\0!'\0#\0@\0\x06\0\x01\0\x1e5\x03\x19\x11\x1f\005\f	\0\x01	\0\x04	\0		\x03\x11\b	psR0\0\0\0\0\0\0\x13\0\0\0\x13\0\0\0\x04\0\0\0\0\0áÇÌÿ€wÑ\0\x01\x0f\0\v\0@\0\a\0\x01\0\x06\0\x03	\0\0\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿ€Û\x14\x13\x05\x01\0\x01\x01\0\0\0\0\x10\0\0\0\x10\0\0\0\x05\0\0\0\0\0áÇÌÿ:P\0!\f\0\b\0\x01\0\x06\x04\x04\0@\0@\0\0\0\0\x10\0\0\0\x10\0\0\0\x04\0\0\0\0\0áÇÌÿ:q\0\x01\f\0\b\0\x01\0\a\x04\x04\0@\0@\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿ‚\x03ø\x13\x05\x01\0\x01\x01\0\0\0\0\b\0\0\0\b\0\0\0\x03\0\0\0\0\0áÇÌÿ‚u3\x17\x06ß^\b¾÷x\0\0\0	\0\0\0	\0\0\0\x02\0\0\0\0\0áÇÌÿ‚uò\f\x04\x06ß^\b¾÷x\0\0\0\f\0\0\0\f\0\0\0\x03\0\0\0\0\0áÇÌÿ‚y\x18\x0e
\x01\f\x04\0ß^\b¾÷x\0\0\0\v\0\0\0\v\0\0\0\x03\0\0\0\0\0áÇÌÿƒ82	ß^\b¾÷x\x03\0\x05\0\0\0\b\0\0\0\b\0\0\0\x03\0\0\0\0\0áÇÌÿƒ<r1\x06ß^\b¾÷x\0\0\0\f\0\0\0\f\0\0\0\x02\0\0\0\0\0áÇÌÿƒ<¹+\x04	ß^\b¾÷x\x01\0\x05\0\0\0\f\0\0\0\f\0\0\0\x03\0\0\0\0\0áÇÌÿƒ@X\x0e
\x01+\x04\0ß^\b¾÷x\0\0\0\f\0\0\0\f\0\0\0\x03\0\0\0\0\0áÇÌÿŽwx3
ß^\b¾÷x[Û\a\0\0\0\0	\0\0\0	\0\0\0\x02\0\0\0\0\0áÇÌÿŽx\x04-\x04\x06ß^\b¾÷x\0\0\0\f\0\0\0\f\0\0\0\x03\0\0\0\0\0áÇÌÿŽ{N\x0e
\x01-\x04\0ß^\b¾÷x\0\0\0	\0\0\0	\0\0\0\x03\0\0\0\0\0áÇÌÿ•]\x176\a\x05ß^\b¾÷x\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÿ˜\f—\x05\x04\0\0\x01\x13\0\0\x01\x01\0\0\x01\x01\0\0\0\x03\0\0\0\0\0áÇÌÿž\aÒ/ÿ\x01ß^\b¾÷x\x01\0\x04\x04$æ!Å\a	HM1700\v\x03\b\x11\x1e\x11\v\x11\x0e\x11\x01\x11\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\x02\0\0\0\0\0áÇÌÿ¼þ¼\x02\x04\0\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÿ½\x05`\x0e\x04\x02\x02\x04\0\0\0\0\x10\0\0\0\x10\0\0\0\x02\0\0\0\0\0áÇÌÿ½\x10†\x05\x04\rß^\b¾÷x\x18Ì\x01\0æ¡\x01\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÿ½\x15\0\x0f\x04\0\x01\x05\x04\0\0\0\r\0\0\0\r\0\0\0\x03\0\0\0\0\0áÇÌÿÆÙ\x12\x03\v\0\0\x01ß^\b¾÷x\x01\0\0\0\0\x05\0\0\0\x05\0\0\0\x02\0\0\0\0\0áÇÌÿÆÙi^[\x04\x02\0\x01\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÿÆÜè\x0f\x04\0\x01^[\x04\0\0\0\x05\0\0\0\x05\0\0\0\x03\0\0\0\0\0áÇÌÿÇ\x04\x05^[\x03\0\x01\x05\0\0\0\r\0\0\0\r\0\0\0\x03\0\0\0\0\0áÇÌÿÇ\x13¦\v\v\0\0\x01¿þþ›ÿy‡\0\0\0\x06\0\0\0\x06\0\0\0\x02\0\0\0\0\0áÇÌÿÇ\x13¼\x1c\x04\x03\0\x01\x01\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÿÇ\x17‹\x0f\x04\0\x01\x1c\x04\0\0\0\x0f\0\0\0\x0f\0\0\0\x03\0\0\0\0\0áÇÌÿÇN0#\r\0\0\x01\x01\0\x01\0\0\0\0\0\0\0\0\0\0\r\0\0\0\r\0\0\0\x02\0\0\0\0\0áÇÌÿÇNM\x19\x04
ß^\b¾÷x\x02\0\0\0\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÿÇR\x18\x0f\x04\0\x01\x19\x04\0\0\x01\x01\0\0\x01\x01\0\0\0\x03\0\0\0\0\0áÇÌÿÇ«ü\aÿ\0ß^\b¾÷xHM1700\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\0\0\0\x05\0\0\0\x02\0\0\0\0\0áÇÌÿǬ\x14\x11\x04\x02\0\x01\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÿǯä\x0f\x04\0\x01\x11\x04\0\0\0\b\0\0\0\b\0\0\0\x03\0\0\0\0\0áÇÌÿdzÍ\x17\x06ß^\b¾÷x\0\0\0	\0\0\0	\0\0\0\x02\0\0\0\0\0áÇÌÿÇ´\f\f\x04\x06ß^\b¾÷x\0\0\0\f\0\0\0\f\0\0\0\x03\0\0\0\0\0áÇÌÿÇ·´\x0e
\x01\f\x04\0ß^\b¾÷x\0\0\0\b\0\0\0\b\0\0\0\x03\0\0\0\0\0áÇÌÿÇ»œ1\x06ß^\b¾÷x\0\0\0\f\0\0\0\f\0\0\0\x02\0\0\0\0\0áÇÌÿÇ»É+\x04	ß^\b¾÷x\x01\0\x03\0\0\0\f\0\0\0\f\0\0\0\x03\0\0\0\0\0áÇÌÿÇ¿„\x0e
\x01+\x04\0ß^\b¾÷x\0\0\0\v\0\0\0\v\0\0\0\x03\0\0\0\0\0áÇÌÿÇÏ\x182	ß^\b¾÷x\x03\0\x02\0\0\0\f\0\0\0\f\0\0\0\x03\0\0\0\0\0áÇÌÿË£¢3
ß^\b¾÷x…P\x0e\0\0\0\0	\0\0\0	\0\0\0\x02\0\0\0\0\0áÇÌÿË·¿,\x04\x06ß^\b¾÷x\0\0\0\f\0\0\0\f\0\0\0\x03\0\0\0\0\0áÇÌÿË»\v\x0e
\x01,\x04\0ß^\b¾÷x\0\0\0	\0\0\0	\0\0\0\x03\0\0\0\0\0áÇÌÿÓ-R6\a\0ß^\b¾÷x\0\0\0\x19\0\0\0\x19\0\0\0\x03\0\0\0\0\0áÇÌÿÓo¹\x18\x17ß^\b¾÷x\x7fM4‹Ð„r\x13÷ÈÉmuæ˜Ù\x04\0\0\0\x05\0\0\0\x05\0\0\0\x03\0\0\0\0\0áÇÌÿÓs\x06\x03\0\0\x01\0\0\0\x06\0\0\0\x06\0\0\0\x02\0\0\0\0\0áÇÌÿÓs¶\x13\x04\x03\0\x01\x01\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÿÓwƒ\x0f\x04\0\x01\x13\x04\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÿÔ\x1f‚\b\x04\0\0\x01\x01\0\0\0\x0e\0\0\0\x0e\0\0\0\x04\0\0\0\0\0áÇÌÿÔ\x1f¦\0\x01
\0\x06\0\x01\0
\x01\x02\0\x02\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿÔ6í\x13\x05\x01\0\x01\x01\0\0\0\0\x14\0\0\0\x14\0\0\0\x05\0\0\0\0\0áÇÌÿÔ8Y\0!\x10\0\f\0\x01\0\v\x01\b\0\x02\0\0\0\0\x02\0\0\0\0\0\x10\0\0\0\x10\0\0\0\x04\0\0\0\0\0áÇÌÿÔ8t\0\x01\f\0\b\0\x01\0\x02\x02\x04\0\x01\0@\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿÔJi\x13\x05\x01\0\x01\x01\0\0\0\0\x14\0\0\0\x14\0\0\0\x05\0\0\0\0\0áÇÌÿÔKà\0!\x10\0\f\0\x01\0\x03\x02\b\0B\0@\0\0\0\0\0\0\0\0\x10\0\0\0\x10\0\0\0\x04\0\0\0\0\0áÇÌÿÔKø\0\x01\f\0\b\0\x01\0\x04\x03\x04\0B\0\0\0\0\0\0\x14\0\0\0\x14\0\0\0\x05\0\0\0\0\0áÇÌÿÔU³\0!\x10\0\f\0\x01\0\x04\x02\b\0@\0\0\0\x01\x02@\0\0\0\0\x16\0\0\0\x16\0\0\0\x04\0\0\0\0\0áÇÌÿÔUÆ\0\x01\x12\0\x0e\0\x01\0\x05\x02
\0B\0\0\0\0\0\x01\x02@\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿÔ]ý\x13\x05\x01\0\x01\x01\0\0\0\0\x12\0\0\0\x12\0\0\0\x05\0\0\0\0\0áÇÌÿÔ_r\0!\x0e\0
\0\x01\0\x05\x03\x06\0@\0\0\0\0\0\0\0\0\x1c\0\0\0\x1c\0\0\0\x04\0\0\0\0\0áÇÌÿÔ_­\0\x01\x18\0\x14\0B\0\x06\0\0\0\x0f5\x03\x19\x01\0ÿÿ5\x05
\0\0ÿÿ\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿÔeÌ\x13\x05\x01\0\x01\x01\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿÔul\x13\x05\x01\0\x01\x01\0\0\0\0H\0\0\0H\0\0\0\x05\0\0\0\0\0áÇÌÿÔÙŒ\0!D\0@\0@\0\a\0\0\0;\066\x01\a6\0R	\0\0
\0\x01\0\x01	\0\x015	\x19\x11\b\x19\x111\x19\x12\x03	\0\x045\f5\x03\x19\x01\05\x05\x19\0\x03\b\x01	\0\x055\x03\x19\x10\x02	\x02\06\0\0\0\x1e\0\0\0\x1e\0\0\0\x04\0\0\0\0\0áÇÌÿÔÙë\0\x01\x1a\0\x16\0B\0\x06\0\x01\0\x115\x03\x19\x01\0ÿÿ5\x05
\0\0ÿÿ\x02\06\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿÔê\x13\x05\x01\0\x01\x01\0\0\0\0H\0\0\0H\0\0\0\x05\0\0\0\0\0áÇÌÿÔí\f\0!D\0@\0@\0\a\0\x01\0;\06\0	5\b5\x06\x19\x11\b	\x01\x02	\x01\0%\fHSP service\0	\x03\x02(\x016\0P	\0\0
\0\x01\0\x02	\0\x015\x06\x19\x11\x1e\x19\x02\0l\0\0\0\x1e\0\0\0\x1e\0\0\0\x04\0\0\0\0\0áÇÌÿÔí>\0\x01\x1a\0\x16\0B\0\x06\0\x02\0\x115\x03\x19\x01\0ÿÿ5\x05
\0\0ÿÿ\x02\0l\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿÕ\rº\x13\x05\x01\0\x01\x01\0\0\0\0H\0\0\0H\0\0\0\x05\0\0\0\0\0áÇÌÿÕ\x0f.\0!D\0@\0@\0\a\0\x02\0;\06\x12\x03	\0\x045\f5\x03\x19\x01\05\x05\x19\0\x03\b\x02	\0\x055\x03\x19\x10\x02	\0	5\b5\x06\x19\x11\x1e	\x01\x05	\x01\0%\fHFP servi\x02\0¢\0\0\0\x1e\0\0\0\x1e\0\0\0\x04\0\0\0\0\0áÇÌÿÕ\x0fu\0\x01\x1a\0\x16\0B\0\x06\0\x03\0\x115\x03\x19\x01\0ÿÿ5\x05
\0\0ÿÿ\x02\0¢\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿÕ!R\x13\x05\x01\0\x01\x01\0\0\0\0H\0\0\0H\0\0\0\x05\0\0\0\0\0áÇÌÿÕ,y\0!D\0@\0@\0\a\0\x03\0;\06ce\0	\x03\x11	\0^[6\0\	\0\0
\0\x01\0\x03	\0\x015\x03\x19\x11\v	\0\x045\x105\x06\x19\x01\0	\0\x195\x06\x19\0\x19	\x01\x02	\0\x055\x03\x02\0Ø\0\0\0\x1e\0\0\0\x1e\0\0\0\x04\0\0\0\0\0áÇÌÿÕ,É\0\x01\x1a\0\x16\0B\0\x06\0\x04\0\x115\x03\x19\x01\0ÿÿ5\x05
\0\0ÿÿ\x02\0Ø\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿÕ<¤\x13\x05\x01\0\x01\x01\0\0\0\0B\0\0\0B\0\0\0\x05\0\0\0\0\0áÇÌÿÕ@\x0e\0!>\0:\0@\0\a\0\x04\05\02\x19\x10\x02	\0	5\b5\x06\x19\x11\r	\x01\x02	\x01\0%\x17Advanced audio service\0	\x03\x11	\0\x01\0\0\0\0\x1c\0\0\0\x1c\0\0\0\x04\0\0\0\0\0áÇÌÿÖ^l\0\x01\x18\0\x14\0B\0\x06\0\x05\0\x0f5\x03\x19\x12\0ÿÿ5\x05
\0\0ÿÿ\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿÖmT\x13\x05\x01\0\x01\x01\0\0\0\0G\0\0\0G\0\0\0\x05\0\0\0\0\0áÇÌÿÖÚ=\0!C\0?\0@\0\a\0\x05\0:\055D6\0A	\0\0
\0\x01\0\0	\0\x015\x03\x19\x12\0	\0\x055\x03\x19\x10\x02	\x02\0	\x01\x03	\x02\x01	\0\x0f	\x02\x02	\0\0	\x02\x03	\0\0\x02\05\0\0\0\x1e\0\0\0\x1e\0\0\0\x04\0\0\0\0\0áÇÌÿÖÚ›\0\x01\x1a\0\x16\0B\0\x06\0\x06\0\x115\x03\x19\x12\0ÿÿ5\x05
\0\0ÿÿ\x02\05\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿÖêW\x13\x05\x01\0\x01\x01\0\0\0\0!\0\0\0!\0\0\0\x05\0\0\0\0\0áÇÌÿÖñ§\0!\x1d\0\x19\0@\0\a\0\x06\0\x14\0\x11	\x02\x04(\x01	\x02\x05	\0\x01	€\x01	\0\x01\0\0\0\0\x1c\0\0\0\x1c\0\0\0\x04\0\0\0\0\0áÇÌÿØ\v\0\0\x01\x18\0\x14\0B\0\x06\0\a\0\x0f5\x03\x19\x11\x1eÿÿ5\x05
\0\0ÿÿ\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿØ\x1aü\x13\x05\x01\0\x01\x01\0\0\0\0G\0\0\0G\0\0\0\x05\0\0\0\0\0áÇÌÿØ\x1cp\0!C\0?\0@\0\a\0\a\0:\055S6\0P	\0\0
\0\x01\0\x02	\0\x015\x06\x19\x11\x1e\x19\x12\x03	\0\x045\f5\x03\x19\x01\05\x05\x19\0\x03\b\x02	\0\x055\x03\x19\x10\x02	\0	5\x02\05\0\0\0\x1e\0\0\0\x1e\0\0\0\x04\0\0\0\0\0áÇÌÿØ\x1c²\0\x01\x1a\0\x16\0B\0\x06\0\b\0\x115\x03\x19\x11\x1eÿÿ5\x05
\0\0ÿÿ\x02\05\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿØ.ƒ\x13\x05\x01\0\x01\x01\0\0\0\00\0\0\00\0\0\0\x05\0\0\0\0\0áÇÌÿØ/ø\0!,\0(\0@\0\a\0\b\0#\0 \b5\x06\x19\x11\x1e	\x01\x05	\x01\0%\fHFP service\0	\x03\x11	\0^[\0\0\0\0\x10\0\0\0\x10\0\0\0\x04\0\0\0\0\0áÇÌÿØ1Z\0\x01\f\0\b\0\x01\0\x02\x04\x04\0\x03\0A\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿØB
\x13\x05\x01\0\x01\x01\0\0\0\0\x14\0\0\0\x14\0\0\0\x05\0\0\0\0\0áÇÌÿØC€\0!\x10\0\f\0\x01\0\x03\x04\b\0C\0A\0\0\0\0\0\0\0\0\x14\0\0\0\x14\0\0\0\x04\0\0\0\0\0áÇÌÿØC•\0\x01\x10\0\f\0\x01\0\x04\x05\b\0C\0\0\0\x01\x02õ\x03\0\0\0\x14\0\0\0\x14\0\0\0\x05\0\0\0\0\0áÇÌÿØHb\0!\x10\0\f\0\x01\0\x04\x03\b\0A\0\0\0\x01\x02\0\x04\0\0\0\x16\0\0\0\x16\0\0\0\x04\0\0\0\0\0áÇÌÿØHy\0\x01\x12\0\x0e\0\x01\0\x05\x03
\0C\0\0\0\0\0\x01\x02\0\x04\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿØU”\x13\x05\x01\0\x01\x01\0\0\0\0\x12\0\0\0\x12\0\0\0\x05\0\0\0\0\0áÇÌÿØW\b\0!\x0e\0
\0\x01\0\x05\x05\x06\0A\0\0\0\0\0\0\0\0\f\0\0\0\f\0\0\0\x04\0\0\0\0\0áÇÌÿØW/\0\x01\b\0\x04\0C\0\x03?\x01\x1c\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿØYy\x13\x05\x01\0\x01\x01\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿØi^[\x13\x05\x01\0\x01\x01\0\0\0\0\f\0\0\0\f\0\0\0\x05\0\0\0\0\0áÇÌÿØj\0!\b\0\x04\0A\0\x03s\x01×\0\0\0\x16\0\0\0\x16\0\0\0\x04\0\0\0\0\0áÇÌÿØj±\0\x01\x12\0\x0e\0C\0\x03ï\x15ƒ\x11\x04ð\a\0ð\x03\0\ap\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿØ|¡\x13\x05\x01\0\x01\x01\0\0\0\0\x16\0\0\0\x16\0\0\0\x05\0\0\0\0\0áÇÌÿØ‚\0\0!\x12\0\x0e\0A\0\x01ï\x15\x11\x04à\a\0ÿ\0\0\aª\0\0\0\f\0\0\0\f\0\0\0\x04\0\0\0\0\0áÇÌÿØ‚\x19\0\x01\b\0\x04\0C\0\x13?\x01–\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿؘ\x02\x13\x05\x01\0\x01\x01\0\0\0\0\f\0\0\0\f\0\0\0\x05\0\0\0\0\0áÇÌÿØšl\0!\b\0\x04\0A\0\x13s\x01]\0\0\0\x10\0\0\0\x10\0\0\0\x04\0\0\0\0\0áÇÌÿØš \0\x01\f\0\b\0C\0\x03ï	ã\x05\x13p\0\0\0\x10\0\0\0\x10\0\0\0\x05\0\0\0\0\0áÇÌÿت
\0!\f\0\b\0\x01\0\x02\x04\x04\0\x01\0D\0\0\0\0\x14\0\0\0\x14\0\0\0\x04\0\0\0\0\0áÇÌÿت*\0\x01\x10\0\f\0\x01\0\x03\x04\b\0B\0D\0\0\0\0\0\0\0\0\x10\0\0\0\x10\0\0\0\x04\0\0\0\0\0áÇÌÿت0\0\x01\f\0\b\0\x01\0\x04\x06\x04\0D\0\0\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿØ«\x03\x13\x05\x01\0\x01\x01\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿØ»,\x13\x05\x01\0\x01\x01\0\0\0\0\x10\0\0\0\x10\0\0\0\x05\0\0\0\0\0áÇÌÿؽœ\0!\f\0\b\0A\0\x01ï	á\x05\x13ª\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿØ¿\x13\x13\x05\x01\0\x01\x01\0\0\0\0\x10\0\0\0\x10\0\0\0\x05\0\0\0\0\0áÇÌÿØÇV\0!\f\0\b\0A\0\x01ï	ã\x05\x13ª\0\0\0\x10\0\0\0\x10\0\0\0\x04\0\0\0\0\0áÇÌÿØÇr\0\x01\f\0\b\0C\0\x03ï	á\x05\x13p\0\0\0\r\0\0\0\r\0\0\0\x04\0\0\0\0\0áÇÌÿØÇv\0\x01	\0\x05\0C\0\x13ÿ\x01!y\0\0\0\x14\0\0\0\x14\0\0\0\x05\0\0\0\0\0áÇÌÿØÌB\0!\x10\0\f\0\x01\0\x04\x05\b\0B\0\0\0\x01\x02@\0\0\0\0\x16\0\0\0\x16\0\0\0\x04\0\0\0\0\0áÇÌÿØÌQ\0\x01\x12\0\x0e\0\x01\0\x05\x05
\0D\0\0\0\0\0\x01\x02@\0\0\0\0\x12\0\0\0\x12\0\0\0\x05\0\0\0\0\0áÇÌÿØÑ\x19\0!\x0e\0
\0\x01\0\x05\x06\x06\0B\0\0\0\0\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿØÖ…\x13\x05\x01\0\x01\x01\0\0\0\0\x18\0\0\0\x18\0\0\0\x05\0\0\0\0\0áÇÌÿØßÊ\0!\x14\0\x10\0A\0\x11ÿ\x17	AT+BRSF=27\r£\0\0\0\x1a\0\0\0\x1a\0\0\0\x04\0\0\0\0\0áÇÌÿØà\r\0\x01\x16\0\x12\0C\0\x13ï\x1d
+BRSF: 352
e\0\0\0\x12\0\0\0\x12\0\0\0\x04\0\0\0\0\0áÇÌÿØà\x15\0\x01\x0e\0
\0C\0\x13ï
OK
e\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿØâ;\x13\x05\x01\0\x01\x01\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿØæ"\x13\x05\x01\0\x01\x01\0\0\0\0 \0\0\0 \0\0\0\x05\0\0\0\0\0áÇÌÿØè”\0!\x1c\0\x18\0B\0\x06\0\0\0\x135\x03\x19\x11\x1f\005		\0\x01	\0		\x03\x11\0\0\0\02\0\0\02\0\0\0\x04\0\0\0\0\0áÇÌÿØé\x05\0\x01.\0*\0D\0\a\0\0\0%\0"5 5\x1e	\0\x015\x06\x19\x11\x1f\x19\x12\x03	\0	5\b5\x06\x19\x11\x1e	\x01\x05	\x03\x11	\0\0\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿØù­\x13\x05\x01\0\x01\x01\0\0\0\0\x17\0\0\0\x17\0\0\0\x05\0\0\0\0\0áÇÌÿÙ\x06Ñ\0!\x13\0\x0f\0A\0\x11ÿ\x15\x02AT+CIND=?\r£\0\0\0‘\0\0\0‘\0\0\0\x04\0\0\0\0\0áÇÌÿÙ\a1\0\x01\0‰\0C\0\x13ï\b\x01
+CIND: ("battchg",(0-5)),("signal",(0-5)),("service",(0,1)),("call",(0,1)),("callsetup",(0-3)),("callheld",(0-2)),("roam",(0,1))
e\0\0\0\x12\0\0\0\x12\0\0\0\x04\0\0\0\0\0áÇÌÿÙ\a9\0\x01\x0e\0
\0C\0\x13ï
OK
e\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿÙ\bÊ\x13\x05\x01\0\x01\x01\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿÙ\r*\x13\x05\x01\0\x01\x01\0\0\0\0\x10\0\0\0\x10\0\0\0\x05\0\0\0\0\0áÇÌÿÙ\x10’\0!\f\0\b\0\x01\0\x06\x06\x04\0B\0D\0\0\0\0\x10\0\0\0\x10\0\0\0\x04\0\0\0\0\0áÇÌÿÙ\x10§\0\x01\f\0\b\0\x01\0\a\x06\x04\0B\0D\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿÙ\x1cË\x13\x05\x01\0\x01\x01\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿÙ ¼\x13\x05\x01\0\x01\x01\0\0\0\0\x16\0\0\0\x16\0\0\0\x05\0\0\0\0\0áÇÌÿÙ(\x10\0!\x12\0\x0e\0A\0\x11ÿ\x13\x02AT+CIND?\r£\0\0\0$\0\0\0$\0\0\0\x04\0\0\0\0\0áÇÌÿÙ(|\0\x01 \0\x1c\0C\0\x13ï1
+CIND: 5,5,1,0,0,0,0
e\0\0\0\x12\0\0\0\x12\0\0\0\x04\0\0\0\0\0áÇÌÿÙ(…\0\x01\x0e\0
\0C\0\x13ï
OK
e\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿÙ,s\x13\x05\x01\0\x01\x01\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿÙ?û\x13\x05\x01\0\x01\x01\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿÙGË\x13\x05\x01\0\x01\x01\0\0\0\0\x1d\0\0\0\x1d\0\0\0\x05\0\0\0\0\0áÇÌÿÙ§\a\0!\x19\0\x15\0A\0\x11ÿ!\x02AT+CMER=3,0,0,1\r£\0\0\0\x12\0\0\0\x12\0\0\0\x04\0\0\0\0\0áÇÌÿÙ§o\0\x01\x0e\0
\0C\0\x13ï
OK
e\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿÙ¹\f\x13\x05\x01\0\x01\x01\0\0\0\0\x17\0\0\0\x17\0\0\0\x05\0\0\0\0\0áÇÌÿÚ!^[\0!\x13\0\x0f\0A\0\x11ÿ\x15\x01AT+CCWA=1\r£\0\0\0\x12\0\0\0\x12\0\0\0\x04\0\0\0\0\0áÇÌÿÚ!{\0\x01\x0e\0
\0C\0\x13ï
OK
e\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿÚ2,\x13\x05\x01\0\x01\x01\0\0\0\0#\0\0\0#\0\0\0\x05\0\0\0\0\0áÇÌÿÚ4\0!\x1f\0^[\0A\0\x11ÿ-\x01AT+BIA=0,0,1,1,1,1,0,\r£\0\0\0\x15\0\0\0\x15\0\0\0\x04\0\0\0\0\0áÇÌÿÚ4ô\0\x01\x11\0\r\0C\0\x13ï\x13
ERROR
e\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿÚE³\x13\x05\x01\0\x01\x01\0\0\0\0\x18\0\0\0\x18\0\0\0\x05\0\0\0\0\0áÇÌÿÚH$\0!\x14\0\x10\0A\0\x11ÿ\x17\x01AT+CBC=100\r£\0\0\0\x15\0\0\0\x15\0\0\0\x04\0\0\0\0\0áÇÌÿÚHg\0\x01\x11\0\r\0C\0\x13ï\x13
ERROR
e\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿÚY1\x13\x05\x01\0\x01\x01\0\0\0\0\x17\0\0\0\x17\0\0\0\x05\0\0\0\0\0áÇÌÿÚ[ \0!\x13\0\x0f\0A\0\x11ÿ\x15\x01AT+VGS=15\r£\0\0\0\x12\0\0\0\x12\0\0\0\x04\0\0\0\0\0áÇÌÿÚ[Ú\0\x01\x0e\0
\0C\0\x13ï
OK
e\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿÚl¹\x13\x05\x01\0\x01\x01\0\0\0\0\x19\0\0\0\x19\0\0\0\x05\0\0\0\0\0áÇÌÿÚt\x11\0!\x15\0\x11\0A\0\x11ÿ\x19\x01AT+COPS=3,0\r£\0\0\0\x12\0\0\0\x12\0\0\0\x04\0\0\0\0\0áÇÌÿÚt¤\0\x01\x0e\0
\0C\0\x13ï
OK
e\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿÚŒ\b\x13\x05\x01\0\x01\x01\0\0\0\0\x17\0\0\0\x17\0\0\0\x05\0\0\0\0\0áÇÌÿÚéD\0!\x13\0\x0f\0A\0\x11ÿ\x15\x01AT+CMEE=1\r£\0\0\0\x12\0\0\0\x12\0\0\0\x04\0\0\0\0\0áÇÌÿÚéº\0\x01\x0e\0
\0C\0\x13ï
OK
e\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿÛ\x018\x13\x05\x01\0\x01\x01\0\0\0\0\x10\0\0\0\x10\0\0\0\x04\0\0\0\0\0áÇÌÿïm~\0\x01\f\0\b\0\x01\0\x02\a\x04\0\x19\0B\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿïƒ-\x13\x05\x01\0\x01\x01\0\0\0\0\x14\0\0\0\x14\0\0\0\x05\0\0\0\0\0áÇÌÿï„"\0!\x10\0\f\0\x01\0\x03\a\b\0E\0B\0\0\0\0\0\0\0\0\x10\0\0\0\x10\0\0\0\x04\0\0\0\0\0áÇÌÿï„6\0\x01\f\0\b\0\x01\0\x04\b\x04\0E\0\0\0\0\0\0\x14\0\0\0\x14\0\0\0\x05\0\0\0\0\0áÇÌÿ\0!\x10\0\f\0\x01\0\x04\a\b\0B\0\0\0\x01\x02 \x02\0\0\0\x16\0\0\0\x16\0\0\0\x04\0\0\0\0\0áÇÌÿ\0\x01\x12\0\x0e\0\x01\0\x05\a
\0E\0\0\0\0\0\x01\x02 \x02\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿ\x13\x05\x01\0\x01\x01\0\0\0\0\x12\0\0\0\x12\0\0\0\x05\0\0\0\0\0áÇÌÿï þ\0!\x0e\0
\0\x01\0\x05\b\x06\0B\0\0\0\0\0\0\0\0
\0\0\0
\0\0\0\x04\0\0\0\0\0áÇÌÿï¡L\0\x01\x06\0\x02\0E\0\0\x01\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿï¡ì\x13\x05\x01\0\x01\x01\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿï²\x15\x13\x05\x01\0\x01\x01\0\0\0\0\f\0\0\0\f\0\0\0\x05\0\0\0\0\0áÇÌÿï½Q\0!\b\0\x04\0B\0\x02\x01\x04\b\0\0\0\v\0\0\0\v\0\0\0\x04\0\0\0\0\0áÇÌÿh\0\x01\a\0\x03\0E\0\x10\x02\x04\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿïÍo\x13\x05\x01\0\x01\x01\0\0\0\0\x14\0\0\0\x14\0\0\0\x05\0\0\0\0\0áÇÌÿïÑÒ\0!\x10\0\f\0B\0\x12\x02\x01\0\a\x06\0\0ÿÿ\x02Y\0\0\0\x16\0\0\0\x16\0\0\0\x04\0\0\0\0\0áÇÌÿïÒ\x10\0\x01\x12\0\x0e\0E\0 \x03\x04\x04\x01\0\a\x06\0\0!\x15\x025\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿïô„\x13\x05\x01\0\x01\x01\0\0\0\0
\0\0\0
\0\0\0\x05\0\0\0\0\0áÇÌÿï÷è\0!\x06\0\x02\0B\0"\x03\0\0\0\v\0\0\0\v\0\0\0\x04\0\0\0\0\0áÇÌÿïø-\0\x01\a\0\x03\0E\00\x06\x04\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿð\b\x06\x13\x05\x01\0\x01\x01\0\0\0\0
\0\0\0
\0\0\0\x05\0\0\0\0\0áÇÌÿð\vo\0!\x06\0\x02\0B\02\x06\0\0\0\x10\0\0\0\x10\0\0\0\x04\0\0\0\0\0áÇÌÿð\v¬\0\x01\f\0\b\0\x01\0\x02	\x04\0\x19\0C\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿð^[Œ\x13\x05\x01\0\x01\x01\0\0\0\0\x14\0\0\0\x14\0\0\0\x05\0\0\0\0\0áÇÌÿð\x1få\0!\x10\0\f\0\x01\0\x03	\b\0F\0C\0\0\0\0\0\0\0\0\x10\0\0\0\x10\0\0\0\x04\0\0\0\0\0áÇÌÿð\x1fû\0\x01\f\0\b\0\x01\0\x04
\x04\0F\0\0\0\0\0\0\x18\0\0\0\x18\0\0\0\x05\0\0\0\0\0áÇÌÿð#Ù\0!\x14\0\x10\0\x01\0\x04\b\f\0C\0\0\0\x01\x02ð\x03\x02\x02È\0\0\0\0\x16\0\0\0\x16\0\0\0\x04\0\0\0\0\0áÇÌÿð#æ\0\x01\x12\0\x0e\0\x01\0\x05\b
\0F\0\0\0\0\0\x01\x02ð\x03\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿð/\x14\x13\x05\x01\0\x01\x01\0\0\0\0\x12\0\0\0\x12\0\0\0\x05\0\0\0\0\0áÇÌÿð3y\0!\x0e\0
\0\x01\0\x05
\x06\0C\0\0\0\0\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿð6Ú\x13\x05\x01\0\x01\x01\0\0\0\0\x14\0\0\0\x14\0\0\0\x02\0\0\0\0\0áÇÌÿðiÛ(\x04\x11\0\x01@\x1f\0\0@\x1f\0\0
\0`\0\x01€\x03\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÌÿðm‰\x0f\x04\0\x01(\x04\0\0\0\x05\0\0\0\x05\0\0\0\x03\0\0\0\0\0áÇÌÿð\x16^[\x03\0\x01\x01\0\0\0\x13\0\0\0\x13\0\0\0\x03\0\0\0\0\0áÇÌÿð¨#,\x11\0\x01\x01ß^\b¾÷x\x02\f\x02<\0<\0\x02\0\0\0\x17\0\0\0\x17\0\0\0\x04\0\0\0\0\0áÇÌÿð©¯\0\x01\x13\0\x0f\0C\0\x13ï\x17
+VGS=15
e\0\0\0\x17\0\0\0\x17\0\0\0\x04\0\0\0\0\0áÇÌÿð©»\0\x01\x13\0\x0f\0C\0\x13ï\x17
+VGM=15
e\0\0\03\0\0\03\0\0\0\x06\0\0\0\0\0áÇÌÿðÆÆ\x01\x010\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿðÇc\x13\x05\x01\0\x01\x01\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿðËK\x13\x05\x01\0\x01\x01\0\0\0\0\x05\0\0\0\x05\0\0\0\x03\0\0\0\0\0áÇÌÿðÏ2^[\x03\0\x01\x05\0\0\0\x10\0\0\0\x10\0\0\0\x04\0\0\0\0\0áÇÌÿþ«Ó\0\x01\f\0\b\0\x01\0\x06\v\x04\0B\0@\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÌÿþÁ\x13\x05\x01\0\x01\x01\0\0\0\0\x10\0\0\0\x10\0\0\0\x05\0\0\0\0\0áÇÌÿþÅò\0!\f\0\b\0\x01\0\a\v\x04\0B\0@\0\0\0\0\b\0\0\0\b\0\0\0\x03\0\0\0\0\0áÇÍ\01ÏÖ\x14\x06\0\0\x01\x02Œ\x01\0\0\0\x06\0\0\0\x06\0\0\0\x02\0\0\0\0\0áÇÍ\x01 \x04h\x06\x04\x03\x01\x01\x13\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÍ\x01 \b;\x0f\x04\0\x01\x06\x04\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÍ\x01#Š«\x05\x04\0\x01\x01\x16\0\0\0\b\0\0\0\b\0\0\0\x03\0\0\0\0\0áÇÍ\x01#¢+\x14\x06\0\0\x01\0\0\0

^ permalink raw reply

* Re: [PATCH BlueZ 1/2 v2] android/hid: Fetch record before attempting to connect
From: Johan Hedberg @ 2013-11-01  9:16 UTC (permalink / raw)
  To: Luiz Augusto von Dentz; +Cc: linux-bluetooth
In-Reply-To: <1383296324-20355-1-git-send-email-luiz.dentz@gmail.com>

Hi Luiz,

On Fri, Nov 01, 2013, Luiz Augusto von Dentz wrote:
> From: Ravi kumar Veeramally <ravikumar.veeramally@linux.intel.com>
> 
> This patch fetch HID record and store the information needed by uHID.
> ---
> v2: Fix including glib-helper.c twice

Both patches have been applied. Thanks.

Johan

^ permalink raw reply

* [PATCH BlueZ 2/2 v2] android/hid: Initial implementation for uHID
From: Luiz Augusto von Dentz @ 2013-11-01  8:58 UTC (permalink / raw)
  To: linux-bluetooth
In-Reply-To: <1383296324-20355-1-git-send-email-luiz.dentz@gmail.com>

From: Ravi kumar Veeramally <ravikumar.veeramally@linux.intel.com>

This patch reads data on interrupt channel and feeds into uHID.
Kernel will take care rest of the things and connects bt mouse
and keyboard:

[168988.557647] input: bluez-input-device as /devices/virtual/misc/uhid/input54
---
 android/hid.c | 129 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 125 insertions(+), 4 deletions(-)

diff --git a/android/hid.c b/android/hid.c
index d64596d..f576548 100644
--- a/android/hid.c
+++ b/android/hid.c
@@ -37,6 +37,7 @@
 #include "src/shared/mgmt.h"
 #include "src/sdp-client.h"
 #include "src/glib-helper.h"
+#include "profiles/input/uhid_copy.h"
 
 #include "log.h"
 #include "hal-msg.h"
@@ -47,7 +48,7 @@
 
 #define L2CAP_PSM_HIDP_CTRL	0x11
 #define L2CAP_PSM_HIDP_INTR	0x13
-#define MAX_READ_BUFFER		4096
+#define UHID_DEVICE_FILE	"/dev/uhid"
 
 static GIOChannel *notification_io = NULL;
 static GIOChannel *ctrl_io = NULL;
@@ -67,6 +68,8 @@ struct hid_device {
 	GIOChannel	*intr_io;
 	guint		ctrl_watch;
 	guint		intr_watch;
+	int		uhid_fd;
+	guint		uhid_watch_id;
 };
 
 static int device_cmp(gconstpointer s, gconstpointer user_data)
@@ -77,6 +80,21 @@ static int device_cmp(gconstpointer s, gconstpointer user_data)
 	return bacmp(&hdev->dst, dst);
 }
 
+static void uhid_destroy(int fd)
+{
+	struct uhid_event ev;
+
+	/* destroy uHID device */
+	memset(&ev, 0, sizeof(ev));
+	ev.type = UHID_DESTROY;
+
+	if (write(fd, &ev, sizeof(ev)) < 0)
+		error("Failed to destroy uHID device: %s (%d)",
+						strerror(errno), errno);
+
+	close(fd);
+}
+
 static void hid_device_free(struct hid_device *hdev)
 {
 	if (hdev->ctrl_watch > 0)
@@ -91,17 +109,63 @@ static void hid_device_free(struct hid_device *hdev)
 	if (hdev->ctrl_io)
 		g_io_channel_unref(hdev->ctrl_io);
 
+	if (hdev->uhid_watch_id) {
+		g_source_remove(hdev->uhid_watch_id);
+		hdev->uhid_watch_id = 0;
+	}
+
+	if (hdev->uhid_fd > 0)
+		uhid_destroy(hdev->uhid_fd);
+
 	g_free(hdev->rd_data);
 
 	devices = g_slist_remove(devices, hdev);
 	g_free(hdev);
 }
 
+static gboolean uhid_event_cb(GIOChannel *io, GIOCondition cond,
+							gpointer user_data)
+{
+	struct hid_device *hdev = user_data;
+	struct uhid_event ev;
+	ssize_t bread;
+	int fd;
+
+	DBG("");
+
+	if (cond & (G_IO_ERR | G_IO_NVAL))
+		goto failed;
+
+	fd = g_io_channel_unix_get_fd(io);
+	memset(&ev, 0, sizeof(ev));
+
+	bread = read(fd, &ev, sizeof(ev));
+	if (bread < 0) {
+		DBG("read: %s (%d)", strerror(errno), errno);
+		goto failed;
+	}
+
+	DBG("uHID event type %d received", ev.type);
+	/* TODO Handle events */
+
+	return TRUE;
+
+failed:
+	hdev->uhid_watch_id = 0;
+	return FALSE;
+}
+
 static gboolean intr_io_watch_cb(GIOChannel *chan, gpointer data)
 {
-	char buf[MAX_READ_BUFFER];
+	struct hid_device *hdev = data;
+	uint8_t buf[UHID_DATA_MAX];
+	struct uhid_event ev;
 	int fd, bread;
 
+	/* Wait uHID if not ready */
+	if (hdev->uhid_fd < 0)
+		return TRUE;
+
 	fd = g_io_channel_unix_get_fd(chan);
 	bread = read(fd, buf, sizeof(buf));
 	if (bread < 0) {
@@ -109,7 +173,18 @@ static gboolean intr_io_watch_cb(GIOChannel *chan, gpointer data)
 		return TRUE;
 	}
 
-	DBG("bytes read %d", bread);
+	/* Discard non-data packets */
+	if (bread == 0 || buf[0] != 0xA1)
+		return TRUE;
+
+	/* send data to uHID device skipping HIDP header byte */
+	memset(&ev, 0, sizeof(ev));
+	ev.type = UHID_INPUT;
+	ev.u.input.size = bread - 1;
+	memcpy(ev.u.input.data, &buf[1], ev.u.input.size);
+
+	if (write(hdev->uhid_fd, &ev, sizeof(ev)) < 0)
+		DBG("write: %s (%d)", strerror(errno), errno);
 
 	return TRUE;
 }
@@ -185,6 +260,44 @@ static gboolean ctrl_watch_cb(GIOChannel *chan, GIOCondition cond,
 	return FALSE;
 }
 
+static int uhid_create(struct hid_device *hdev)
+{
+	GIOCondition cond = G_IO_IN | G_IO_ERR | G_IO_NVAL;
+	GIOChannel *io;
+	struct uhid_event ev;
+
+	hdev->uhid_fd = open(UHID_DEVICE_FILE, O_RDWR | O_CLOEXEC);
+	if (hdev->uhid_fd < 0) {
+		error("Failed to open uHID device: %s", strerror(errno));
+		return -errno;
+	}
+
+	memset(&ev, 0, sizeof(ev));
+	ev.type = UHID_CREATE;
+	strcpy((char *) ev.u.create.name, "bluez-input-device");
+	ev.u.create.bus = BUS_BLUETOOTH;
+	ev.u.create.vendor = hdev->vendor;
+	ev.u.create.product = hdev->product;
+	ev.u.create.version = hdev->vendor;
+	ev.u.create.country = hdev->country;
+	ev.u.create.rd_size = hdev->rd_size;
+	ev.u.create.rd_data = hdev->rd_data;
+
+	if (write(hdev->uhid_fd, &ev, sizeof(ev)) < 0) {
+		error("Failed to create uHID device: %s", strerror(errno));
+		close(hdev->uhid_fd);
+		hdev->uhid_fd = -1;
+		return -errno;
+	}
+
+	io = g_io_channel_unix_new(hdev->uhid_fd);
+	g_io_channel_set_encoding(io, NULL, NULL);
+	hdev->uhid_watch_id = g_io_add_watch(io, cond, uhid_event_cb, hdev);
+	g_io_channel_unref(io);
+
+	return 0;
+}
+
 static void interrupt_connect_cb(GIOChannel *chan, GError *conn_err,
 							gpointer user_data)
 {
@@ -195,6 +308,9 @@ static void interrupt_connect_cb(GIOChannel *chan, GError *conn_err,
 	if (conn_err)
 		goto failed;
 
+	if (uhid_create(hdev) < 0)
+		goto failed;
+
 	hdev->intr_watch = g_io_add_watch(hdev->intr_io,
 				G_IO_IN | G_IO_HUP | G_IO_ERR | G_IO_NVAL,
 				intr_watch_cb, hdev);
@@ -321,8 +437,11 @@ static void hid_sdp_search_cb(sdp_list_t *recs, int err, gpointer data)
 		}
 	}
 
-	if (hdev->ctrl_io)
+	if (hdev->ctrl_io) {
+		if (uhid_create(hdev) < 0)
+			goto fail;
 		return;
+	}
 
 	hdev->ctrl_io = bt_io_connect(control_connect_cb, hdev, NULL, &gerr,
 					BT_IO_OPT_SOURCE_BDADDR, src,
@@ -365,6 +484,7 @@ static uint8_t bt_hid_connect(struct hal_cmd_hid_connect *cmd, uint16_t len)
 
 	hdev = g_new0(struct hid_device, 1);
 	bacpy(&hdev->dst, &dst);
+	hdev->uhid_fd = -1;
 
 	ba2str(&hdev->dst, addr);
 	DBG("connecting to %s", addr);
@@ -472,6 +592,7 @@ static void connect_cb(GIOChannel *chan, GError *err, gpointer user_data)
 		hdev = g_new0(struct hid_device, 1);
 		bacpy(&hdev->dst, &dst);
 		hdev->ctrl_io = g_io_channel_ref(chan);
+		hdev->uhid_fd = -1;
 
 		bt_string2uuid(&uuid, HID_UUID);
 		if (bt_search_service(src, &hdev->dst, &uuid,
-- 
1.8.3.1


^ permalink raw reply related

* [PATCH BlueZ 1/2 v2] android/hid: Fetch record before attempting to connect
From: Luiz Augusto von Dentz @ 2013-11-01  8:58 UTC (permalink / raw)
  To: linux-bluetooth

From: Ravi kumar Veeramally <ravikumar.veeramally@linux.intel.com>

This patch fetch HID record and store the information needed by uHID.
---
v2: Fix including glib-helper.c twice

 android/Android.mk  |   3 +-
 android/Makefile.am |   3 +-
 android/hid.c       | 134 +++++++++++++++++++++++++++++++++++++++++++++-------
 3 files changed, 120 insertions(+), 20 deletions(-)

diff --git a/android/Android.mk b/android/Android.mk
index b953554..443ac7a 100644
--- a/android/Android.mk
+++ b/android/Android.mk
@@ -37,7 +37,8 @@ LOCAL_SRC_FILES := \
 	../lib/sdp.c \
 	../lib/bluetooth.c \
 	../lib/hci.c \
-	../btio/btio.c
+	../btio/btio.c \
+	../src/sdp-client.c \
 
 LOCAL_C_INCLUDES := \
 	$(call include-path-for, glib) \
diff --git a/android/Makefile.am b/android/Makefile.am
index 771d5b2..5eb8f01 100644
--- a/android/Makefile.am
+++ b/android/Makefile.am
@@ -20,7 +20,8 @@ android_bluetoothd_SOURCES = android/main.c \
 				android/hid.h android/hid.c \
 				android/ipc.h android/ipc.c \
 				android/socket.h android/socket.c \
-				btio/btio.h btio/btio.c
+				btio/btio.h btio/btio.c \
+				src/sdp-client.h src/sdp-client.c
 
 android_bluetoothd_LDADD = lib/libbluetooth-internal.la @GLIB_LIBS@
 
diff --git a/android/hid.c b/android/hid.c
index 2bc8c06..d64596d 100644
--- a/android/hid.c
+++ b/android/hid.c
@@ -31,7 +31,12 @@
 
 #include "btio/btio.h"
 #include "lib/bluetooth.h"
+#include "lib/sdp.h"
+#include "lib/sdp_lib.h"
+#include "lib/uuid.h"
 #include "src/shared/mgmt.h"
+#include "src/sdp-client.h"
+#include "src/glib-helper.h"
 
 #include "log.h"
 #include "hal-msg.h"
@@ -52,6 +57,12 @@ static GSList *devices = NULL;
 struct hid_device {
 	bdaddr_t	dst;
 	uint8_t		state;
+	uint16_t	vendor;
+	uint16_t	product;
+	uint16_t	version;
+	uint8_t		country;
+	int		rd_size;
+	void		*rd_data;
 	GIOChannel	*ctrl_io;
 	GIOChannel	*intr_io;
 	guint		ctrl_watch;
@@ -80,6 +91,8 @@ static void hid_device_free(struct hid_device *hdev)
 	if (hdev->ctrl_io)
 		g_io_channel_unref(hdev->ctrl_io);
 
+	g_free(hdev->rd_data);
+
 	devices = g_slist_remove(devices, hdev);
 	g_free(hdev);
 }
@@ -98,10 +111,6 @@ static gboolean intr_io_watch_cb(GIOChannel *chan, gpointer data)
 
 	DBG("bytes read %d", bread);
 
-	/* TODO: At this moment only baseband is connected, i.e. mouse
-	 * movements keyboard events doesn't effect on UI. Have to send
-	 * this data to uhid fd for profile connection. */
-
 	return TRUE;
 }
 
@@ -186,8 +195,6 @@ static void interrupt_connect_cb(GIOChannel *chan, GError *conn_err,
 	if (conn_err)
 		goto failed;
 
-	/*TODO: Get device details through SDP and create UHID fd and start
-	 * listening on uhid events */
 	hdev->intr_watch = g_io_add_watch(hdev->intr_io,
 				G_IO_IN | G_IO_HUP | G_IO_ERR | G_IO_NVAL,
 				intr_watch_cb, hdev);
@@ -250,14 +257,100 @@ failed:
 	hid_device_free(hdev);
 }
 
+static void hid_sdp_search_cb(sdp_list_t *recs, int err, gpointer data)
+{
+	struct hid_device *hdev = data;
+	sdp_list_t *list;
+	GError *gerr = NULL;
+	const bdaddr_t *src = bt_adapter_get_address();
+
+	DBG("");
+
+	if (err < 0) {
+		error("Unable to get SDP record: %s", strerror(-err));
+		goto fail;
+	}
+
+	if (!recs || !recs->data) {
+		error("No SDP records found");
+		goto fail;
+	}
+
+	for (list = recs; list != NULL; list = list->next) {
+		sdp_record_t *rec = list->data;
+		sdp_data_t *data;
+
+		data = sdp_data_get(rec, SDP_ATTR_VENDOR_ID);
+		if (data)
+			hdev->vendor = data->val.uint16;
+
+		data = sdp_data_get(rec, SDP_ATTR_PRODUCT_ID);
+		if (data)
+			hdev->product = data->val.uint16;
+
+		data = sdp_data_get(rec, SDP_ATTR_VERSION);
+		if (data)
+			hdev->version = data->val.uint16;
+
+		data = sdp_data_get(rec, SDP_ATTR_HID_COUNTRY_CODE);
+		if (data)
+			hdev->country = data->val.uint8;
+
+		data = sdp_data_get(rec, SDP_ATTR_HID_DESCRIPTOR_LIST);
+		if (data) {
+			if (!SDP_IS_SEQ(data->dtd))
+				goto fail;
+
+			/* First HIDDescriptor */
+			data = data->val.dataseq;
+			if (!SDP_IS_SEQ(data->dtd))
+				goto fail;
+
+			/* ClassDescriptorType */
+			data = data->val.dataseq;
+			if (data->dtd != SDP_UINT8)
+				goto fail;
+
+			/* ClassDescriptorData */
+			data = data->next;
+			if (!data || !SDP_IS_TEXT_STR(data->dtd))
+				goto fail;
+
+			hdev->rd_size = data->unitSize;
+			hdev->rd_data = g_memdup(data->val.str, data->unitSize);
+		}
+	}
+
+	if (hdev->ctrl_io)
+		return;
+
+	hdev->ctrl_io = bt_io_connect(control_connect_cb, hdev, NULL, &gerr,
+					BT_IO_OPT_SOURCE_BDADDR, src,
+					BT_IO_OPT_DEST_BDADDR, &hdev->dst,
+					BT_IO_OPT_PSM, L2CAP_PSM_HIDP_CTRL,
+					BT_IO_OPT_SEC_LEVEL, BT_IO_SEC_LOW,
+					BT_IO_OPT_INVALID);
+	if (gerr) {
+		error("%s", gerr->message);
+		g_error_free(gerr);
+		goto fail;
+	}
+
+	return;
+
+fail:
+	bt_hid_set_state(hdev, HAL_HID_STATE_DISCONNECTED);
+	hid_device_free(hdev);
+}
+
 static uint8_t bt_hid_connect(struct hal_cmd_hid_connect *cmd, uint16_t len)
 {
 	struct hid_device *hdev;
 	char addr[18];
 	bdaddr_t dst;
 	GSList *l;
-	GError *err = NULL;
 	const bdaddr_t *src = bt_adapter_get_address();
+	uuid_t uuid;
 
 	DBG("");
 
@@ -271,20 +364,15 @@ static uint8_t bt_hid_connect(struct hal_cmd_hid_connect *cmd, uint16_t len)
 		return HAL_STATUS_FAILED;
 
 	hdev = g_new0(struct hid_device, 1);
-	android2bdaddr(&cmd->bdaddr, &hdev->dst);
-	ba2str(&hdev->dst, addr);
+	bacpy(&hdev->dst, &dst);
 
+	ba2str(&hdev->dst, addr);
 	DBG("connecting to %s", addr);
 
-	hdev->ctrl_io = bt_io_connect(control_connect_cb, hdev, NULL, &err,
-					BT_IO_OPT_SOURCE_BDADDR, src,
-					BT_IO_OPT_DEST_BDADDR, &hdev->dst,
-					BT_IO_OPT_PSM, L2CAP_PSM_HIDP_CTRL,
-					BT_IO_OPT_SEC_LEVEL, BT_IO_SEC_LOW,
-					BT_IO_OPT_INVALID);
-	if (err) {
-		error("%s", err->message);
-		g_error_free(err);
+	bt_string2uuid(&uuid, HID_UUID);
+	if (bt_search_service(src, &hdev->dst, &uuid, hid_sdp_search_cb, hdev,
+								NULL) < 0) {
+		error("Failed to search sdp details");
 		hid_device_free(hdev);
 		return HAL_STATUS_FAILED;
 	}
@@ -354,6 +442,8 @@ static void connect_cb(GIOChannel *chan, GError *err, gpointer user_data)
 	uint16_t psm;
 	GError *gerr = NULL;
 	GSList *l;
+	const bdaddr_t *src = bt_adapter_get_address();
+	uuid_t uuid;
 
 	if (err) {
 		error("%s", err->message);
@@ -383,6 +473,14 @@ static void connect_cb(GIOChannel *chan, GError *err, gpointer user_data)
 		bacpy(&hdev->dst, &dst);
 		hdev->ctrl_io = g_io_channel_ref(chan);
 
+		bt_string2uuid(&uuid, HID_UUID);
+		if (bt_search_service(src, &hdev->dst, &uuid,
+					hid_sdp_search_cb, hdev, NULL) < 0) {
+			error("failed to search sdp details");
+			hid_device_free(hdev);
+			return;
+		}
+
 		devices = g_slist_append(devices, hdev);
 
 		hdev->ctrl_watch = g_io_add_watch(hdev->ctrl_io,
-- 
1.8.3.1


^ permalink raw reply related

* Re: [BUG] Crash during disconnecting and removing bond from remote device
From: Johan Hedberg @ 2013-11-01  7:57 UTC (permalink / raw)
  To: Seung-Woo Kim; +Cc: linux-bluetooth, s.syam
In-Reply-To: <526E5C98.8020407@samsung.com>

Hi Seung-Woo Kim,

On Mon, Oct 28, 2013, Seung-Woo Kim wrote:
> I used 3.10.14 with RFCOMM tty patches in 3.12-rc, and I tested
> disconnecting and removing a bond from remote device. and I got
> following crash.

This looks like a potentially valid issue, but you'd need to dress up
the fix as a proper patch (i.e. git format-patch + git send-email). It'd
also be good if you could confirm that the issue is reproducable with
the latest bluetooth-next kernel.

Johan

^ permalink raw reply

* Re: Intel 7260 bluetooth malfunction when it is connected to EHCI bus
From: Marcel Holtmann @ 2013-11-01  7:49 UTC (permalink / raw)
  To: Hui Wang
  Cc: Tedd An, Johan Hedberg, xiong.y.zhang, Gustavo F. Padovan,
	linux-bluetooth@vger.kernel.org development, Kun Yang,
	Anthony Wong
In-Reply-To: <5273147E.4040004@canonical.com>

Hi Hui,

>>>>>>> The problem is:
>>>>>>> On the machine which has Intel 7260 BT module, i use it to connect a bluetooth headset,
>>>>>>> it can successfully scan and connect to the headset, when i play sound to the bt headset,
>>>>>>> the problem comes, if the bt module is connected to the XHCI, it can work very well.
>>>>>>> 
>>>>>>> u@u-Lenovo-B4400:~$ lsusb -t
>>>>>>> 1-7:1.0: No such file or directory
>>>>>>> /: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M
>>>>>>> /: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/14p, 480M
>>>>>>>    |__ Port 6: Dev 8, If 0, Class=HID, Driver=usbhid, 1.5M
>>>>>>>    |__ Port 7: Dev 2, If 0, Class=vend., Driver=, 12M
>>>>>>>    |__ Port 11: Dev 3, If 0, Class='bInterfaceClass 0xe0 not yet handled', Driver=btusb, 12M
>>>>>>>    |__ Port 11: Dev 3, If 1, Class='bInterfaceClass 0xe0 not yet handled', Driver=btusb, 12M
>>>>>>> 
>>>>>>> But if the bt module is connected to the EHCI, it always fails to play sound.
>>>>>>> 
>>>>>>> u@u-Lenovo-B4400:~$ lsusb -t
>>>>>>> /: Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M
>>>>>>> /: Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/14p, 480M
>>>>>>> /: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ehci_hcd/3p, 480M
>>>>>>>    |__ Port 1: Dev 2, If 0, Class=hub, Driver=hub/8p, 480M
>>>>>>> /: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci_hcd/3p, 480M
>>>>>>>    |__ Port 1: Dev 2, If 0, Class=hub, Driver=hub/6p, 480M
>>>>>>>        |__ Port 5: Dev 3, If 0, Class='bInterfaceClass 0xe0 not yet handled', Driver=btusb, 12M
>>>>>>>        |__ Port 5: Dev 3, If 1, Class='bInterfaceClass 0xe0 not yet handled', Driver=btusb, 12M
>>>>>>>        |__ Port 6: Dev 4, If 0, Class='bInterfaceClass 0x0e not yet handled', Driver=uvcvideo, 480M
>>>>>>>        |__ Port 6: Dev 4, If 1, Class='bInterfaceClass 0x0e not yet handled', Driver=uvcvideo, 480M
>>>>>> can you paste /sys/kernel/debug/usb/devices here.
>>>>>> 
>>>>>> If the uvcvideo driver is also using ISOC URBs, we might have just exhausted the bandwidth of the USB bus here or these two devices just do not play nice with each other.
>>>>>> 
>>>>>> Try to unload the uvcvideo driver and try it again.
>>>>> Thanks for your reply, follow your instruction, i totally disabled the camera from the BIOS, then the usb tree like this,
>>>>> u@u-Lenovo-B4400:~$ lsusb -t
>>>>> 1-1.3:1.0: No such file or directory
>>>>> /:  Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M
>>>>> /:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/14p, 480M
>>>>> /:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/3p, 480M
>>>>>    |__ Port 1: Dev 2, If 0, Class=hub, Driver=hub/8p, 480M
>>>>> /:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/3p, 480M
>>>>>    |__ Port 1: Dev 2, If 0, Class=hub, Driver=hub/6p, 480M
>>>>>        |__ Port 2: Dev 3, If 0, Class=HID, Driver=usbhid, 1.5M
>>>>>        |__ Port 3: Dev 4, If 0, Class=vend., Driver=, 12M
>>>>>        |__ Port 5: Dev 5, If 0, Class='bInterfaceClass 0xe0 not yet handled', Driver=btusb, 12M
>>>>>        |__ Port 5: Dev 5, If 1, Class='bInterfaceClass 0xe0 not yet handled', Driver=btusb, 12M
>>>>> u@u-Lenovo-B4400:~$ uname -a
>>>>> Linux u-Lenovo-B4400 3.12.0-031200rc6-generic #201310191635 SMP Sat Oct 19 20:36:43 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
>>>>> 
>>>>> I re-did the test, the result is same as before, after the headset is connected and i play audio, no sound is heard from the headset.
>>>>> And hciconfig output shows still no SCO packets received by BT driver.
>>>>> u@u-Lenovo-B4400:~$ hciconfig
>>>>> hci0:    Type: BR/EDR  Bus: USB
>>>>>    BD Address: 00:15:00:CC:2D:D2  ACL MTU: 1021:5  SCO MTU: 96:5
>>>>>    UP RUNNING PSCAN
>>>>>    RX bytes:5853 acl:61 sco:0 events:298 errors:0
>>>>>    TX bytes:19212 acl:68 sco:1 commands:179 errors:0
>>>> this is strange. The only reason I can think of is that you do not have the firmware installed and or it is not loaded correctly. Does dmesg give any indication that something failed here.
>>> I can confirm the firmware file is the /lib/firmware/intel/ibt-hw-37.7.10-fw-1.80.2.3.d.bseq, and it is in the filesystem. And from the dmesg, the firmware was successfully loaded.
>>> 
>>> [    8.600217] Bluetooth: hci0: Intel Bluetooth firmware file: intel/ibt-hw-37.7.10-fw-1.80.2.3.d.bseq
>>> [    8.653635] kvm: disabled by bios
>>> [    8.672981] psmouse serio1: synaptics: Touchpad model: 1, fw: 8.1, id: 0x1e2b1, caps: 0xd00123/0x840300/0x126c00
>>> [    8.707034] input: SynPS/2 Synaptics TouchPad as /devices/platform/i8042/serio1/input/input13
>>> [    8.717725] Registered led device: phy0-led
>>> [    8.722730] ieee80211 phy0: Selected rate control algorithm 'iwl-mvm-rs'
>>> [    8.752626] Bluetooth: hci0: Intel Bluetooth firmware patch completed and activated
>>> 
>>>> Since this is a 3.12 kernel it should have native support for Intel specific setup routing. Any chance you can run btmon -w <file> before plugging the device into the bus. Maybe something goes wrong with the setup routine on EHCI.
>>> Do you mean the hcidump file i just sent in my previous email.
>> I do not get this. I specifically asked to run “btmon -w <file>” before plugging in the device. I want to see the early setup process here. What would I do with a hcidump trace.
> 
> The attachment is the logfile generated by "btmon -w <file>". And the logfile was generated by below steps,
> 
> 1) boot up the system into the ubuntu desktop
> 2) open a terminal and run "sudo btmon -w ~/lenovo-m4400s-btmon.log"
> 3) open bluetooth applet and click adding a new device, the bluetooth begin to scan devices
> 4) power up the bt headset
> 5) laptop bt module find the headset and connect it successfully
> 6) open the sound applet, choose bt headset as output device, play sound, but no sound can be heard from bt headset
> 7) Ctrl+C to terminate the "btmon -w <file>"
> 
> In case you can't receive the attachment, i decode the logfile and paste the content here.

what I need is to see the 7260 controller init. So you need to start btmon -w <file> before the 7260 gets attached to the USB bus or before btusb.ko driver gets loaded.

Regards

Marcel


^ permalink raw reply

* Re: [RFC] hidhost: Shutdown HID L2CAP sockets on unregister
From: Johan Hedberg @ 2013-11-01  7:46 UTC (permalink / raw)
  To: Andrei Emeltchenko; +Cc: linux-bluetooth
In-Reply-To: <1383233418-14757-1-git-send-email-Andrei.Emeltchenko.news@gmail.com>

Hi Andrei,

On Thu, Oct 31, 2013, Andrei Emeltchenko wrote:
> Fixes address already in use issue if we reenable HID.
> ...
> bluetoothd[2894]: Failed to listen on ctrl channel:
> 	l2cap_bind: Address already in use (98)
> ...
> ---
>  android/hid.c |   14 ++++++++++----
>  1 file changed, 10 insertions(+), 4 deletions(-)

Applied (after fixing up the subject prefix). Thanks.

Johan

^ permalink raw reply

* Re: [PATCH BlueZ 2/2] android/hid: Initial implementation for uHID
From: Johan Hedberg @ 2013-11-01  7:44 UTC (permalink / raw)
  To: Luiz Augusto von Dentz; +Cc: linux-bluetooth
In-Reply-To: <1383235026-12247-2-git-send-email-luiz.dentz@gmail.com>

Hi Luiz/Ravi,

On Thu, Oct 31, 2013, Luiz Augusto von Dentz wrote:
> From: Ravi kumar Veeramally <ravikumar.veeramally@linux.intel.com>
> 
> This patch reads data on interrupt channel and feeds into uHID.
> Kernel will take care rest of the things and connects bt mouse
> and keyboard:
> 
> [168988.557647] input: bluez-input-device as /devices/virtual/misc/uhid/input54
> ---
>  android/hid.c | 129 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
>  1 file changed, 125 insertions(+), 4 deletions(-)

After applying these two patches the tree stops compiling for me (even
after rerunning ./bootstrap-configure):

src/glib-helper.o: In function `bt_modalias':
/home/jh/src/bluez/src/glib-helper.c:42: multiple definition of `bt_modalias'
src/glib-helper.o:/home/jh/src/bluez/src/glib-helper.c:42: first defined here
src/glib-helper.o: In function `bt_uuid2string':
/home/jh/src/bluez/src/glib-helper.c:55: multiple definition of `bt_uuid2string'
src/glib-helper.o:/home/jh/src/bluez/src/glib-helper.c:55: first defined here
src/glib-helper.o: In function `bt_name2string':
/home/jh/src/bluez/src/glib-helper.c:172: multiple definition of `bt_name2string'
src/glib-helper.o:/home/jh/src/bluez/src/glib-helper.c:172: first defined here
src/glib-helper.o: In function `bt_string2uuid':
/home/jh/src/bluez/src/glib-helper.c:202: multiple definition of `bt_string2uuid'
src/glib-helper.o:/home/jh/src/bluez/src/glib-helper.c:202: first defined here
collect2: error: ld returned 1 exit status
make[1]: *** [android/bluetoothd] Error 1

Johan

^ permalink raw reply

* Re: Intel 7260 bluetooth malfunction when it is connected to EHCI bus
From: Hui Wang @ 2013-11-01  2:39 UTC (permalink / raw)
  To: Marcel Holtmann
  Cc: Tedd An, Johan Hedberg, xiong.y.zhang, Gustavo F. Padovan,
	linux-bluetooth@vger.kernel.org development, Kun Yang,
	Anthony Wong
In-Reply-To: <D0B840E3-36C4-4751-A757-1ADDAC0707B9@holtmann.org>

[-- Attachment #1: Type: text/plain, Size: 68519 bytes --]

On 10/31/2013 05:49 PM, Marcel Holtmann wrote:
> Hi Hui,
>
>>>>>> The problem is:
>>>>>> On the machine which has Intel 7260 BT module, i use it to connect a bluetooth headset,
>>>>>> it can successfully scan and connect to the headset, when i play sound to the bt headset,
>>>>>> the problem comes, if the bt module is connected to the XHCI, it can work very well.
>>>>>>
>>>>>> u@u-Lenovo-B4400:~$ lsusb -t
>>>>>> 1-7:1.0: No such file or directory
>>>>>> /: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M
>>>>>> /: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/14p, 480M
>>>>>>     |__ Port 6: Dev 8, If 0, Class=HID, Driver=usbhid, 1.5M
>>>>>>     |__ Port 7: Dev 2, If 0, Class=vend., Driver=, 12M
>>>>>>     |__ Port 11: Dev 3, If 0, Class='bInterfaceClass 0xe0 not yet handled', Driver=btusb, 12M
>>>>>>     |__ Port 11: Dev 3, If 1, Class='bInterfaceClass 0xe0 not yet handled', Driver=btusb, 12M
>>>>>>
>>>>>> But if the bt module is connected to the EHCI, it always fails to play sound.
>>>>>>
>>>>>> u@u-Lenovo-B4400:~$ lsusb -t
>>>>>> /: Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M
>>>>>> /: Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/14p, 480M
>>>>>> /: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ehci_hcd/3p, 480M
>>>>>>     |__ Port 1: Dev 2, If 0, Class=hub, Driver=hub/8p, 480M
>>>>>> /: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci_hcd/3p, 480M
>>>>>>     |__ Port 1: Dev 2, If 0, Class=hub, Driver=hub/6p, 480M
>>>>>>         |__ Port 5: Dev 3, If 0, Class='bInterfaceClass 0xe0 not yet handled', Driver=btusb, 12M
>>>>>>         |__ Port 5: Dev 3, If 1, Class='bInterfaceClass 0xe0 not yet handled', Driver=btusb, 12M
>>>>>>         |__ Port 6: Dev 4, If 0, Class='bInterfaceClass 0x0e not yet handled', Driver=uvcvideo, 480M
>>>>>>         |__ Port 6: Dev 4, If 1, Class='bInterfaceClass 0x0e not yet handled', Driver=uvcvideo, 480M
>>>>> can you paste /sys/kernel/debug/usb/devices here.
>>>>>
>>>>> If the uvcvideo driver is also using ISOC URBs, we might have just exhausted the bandwidth of the USB bus here or these two devices just do not play nice with each other.
>>>>>
>>>>> Try to unload the uvcvideo driver and try it again.
>>>> Thanks for your reply, follow your instruction, i totally disabled the camera from the BIOS, then the usb tree like this,
>>>> u@u-Lenovo-B4400:~$ lsusb -t
>>>> 1-1.3:1.0: No such file or directory
>>>> /:  Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M
>>>> /:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/14p, 480M
>>>> /:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/3p, 480M
>>>>     |__ Port 1: Dev 2, If 0, Class=hub, Driver=hub/8p, 480M
>>>> /:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/3p, 480M
>>>>     |__ Port 1: Dev 2, If 0, Class=hub, Driver=hub/6p, 480M
>>>>         |__ Port 2: Dev 3, If 0, Class=HID, Driver=usbhid, 1.5M
>>>>         |__ Port 3: Dev 4, If 0, Class=vend., Driver=, 12M
>>>>         |__ Port 5: Dev 5, If 0, Class='bInterfaceClass 0xe0 not yet handled', Driver=btusb, 12M
>>>>         |__ Port 5: Dev 5, If 1, Class='bInterfaceClass 0xe0 not yet handled', Driver=btusb, 12M
>>>> u@u-Lenovo-B4400:~$ uname -a
>>>> Linux u-Lenovo-B4400 3.12.0-031200rc6-generic #201310191635 SMP Sat Oct 19 20:36:43 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
>>>>
>>>> I re-did the test, the result is same as before, after the headset is connected and i play audio, no sound is heard from the headset.
>>>> And hciconfig output shows still no SCO packets received by BT driver.
>>>> u@u-Lenovo-B4400:~$ hciconfig
>>>> hci0:    Type: BR/EDR  Bus: USB
>>>>     BD Address: 00:15:00:CC:2D:D2  ACL MTU: 1021:5  SCO MTU: 96:5
>>>>     UP RUNNING PSCAN
>>>>     RX bytes:5853 acl:61 sco:0 events:298 errors:0
>>>>     TX bytes:19212 acl:68 sco:1 commands:179 errors:0
>>> this is strange. The only reason I can think of is that you do not have the firmware installed and or it is not loaded correctly. Does dmesg give any indication that something failed here.
>> I can confirm the firmware file is the /lib/firmware/intel/ibt-hw-37.7.10-fw-1.80.2.3.d.bseq, and it is in the filesystem. And from the dmesg, the firmware was successfully loaded.
>>
>> [    8.600217] Bluetooth: hci0: Intel Bluetooth firmware file: intel/ibt-hw-37.7.10-fw-1.80.2.3.d.bseq
>> [    8.653635] kvm: disabled by bios
>> [    8.672981] psmouse serio1: synaptics: Touchpad model: 1, fw: 8.1, id: 0x1e2b1, caps: 0xd00123/0x840300/0x126c00
>> [    8.707034] input: SynPS/2 Synaptics TouchPad as /devices/platform/i8042/serio1/input/input13
>> [    8.717725] Registered led device: phy0-led
>> [    8.722730] ieee80211 phy0: Selected rate control algorithm 'iwl-mvm-rs'
>> [    8.752626] Bluetooth: hci0: Intel Bluetooth firmware patch completed and activated
>>
>>> Since this is a 3.12 kernel it should have native support for Intel specific setup routing. Any chance you can run btmon -w <file> before plugging the device into the bus. Maybe something goes wrong with the setup routine on EHCI.
>> Do you mean the hcidump file i just sent in my previous email.
> I do not get this. I specifically asked to run “btmon -w <file>” before plugging in the device. I want to see the early setup process here. What would I do with a hcidump trace.
Hi Marcel,

The attachment is the logfile generated by "btmon -w <file>". And the 
logfile was generated by below steps,

1) boot up the system into the ubuntu desktop
2) open a terminal and run "sudo btmon -w ~/lenovo-m4400s-btmon.log"
3) open bluetooth applet and click adding a new device, the bluetooth 
begin to scan devices
4) power up the bt headset
5) laptop bt module find the headset and connect it successfully
6) open the sound applet, choose bt headset as output device, play 
sound, but no sound can be heard from bt headset
7) Ctrl+C to terminate the "btmon -w <file>"

In case you can't receive the attachment, i decode the logfile and paste 
the content here.

Thanks,
Hui.

=================================================================================================
Bluetooth monitor ver 5.9
= New Index (BR/EDR,USB,hci0) [hci0] 0.218046
 > HCI Event (0x04) plen 10 [hci0] 2.886816
         Address: 78:F7:BE:08:5E:DF (OUI 78-F7-BE)
         Class: 0x240404
           Major class: Audio/Video (headset, speaker, stereo, video, vcr)
           Minor class: 0x01
           Rendering (Printing, Speaker)
           Audio (Speaker, Microphone, Headset)
         Link type: ACL (0x01)
< HCI Command (0x01|0x0009) plen 7 [hci0] 2.887014
         Address: 78:F7:BE:08:5E:DF (OUI 78-F7-BE)
         Role: Master (0x00)
 > HCI Event (0x0f) plen 4 [hci0] 2.887807
       Accept Connection Request (0x01|0x0009) ncmd 1
         Status: Success (0x00)
 > HCI Event (0x12) plen 8 [hci0] 3.028749
         Status: Success (0x00)
         Address: 78:F7:BE:08:5E:DF (OUI 78-F7-BE)
         Role: Master (0x00)
 > HCI Event (0x03) plen 11 [hci0] 3.034733
         Status: Success (0x00)
         Handle: 256
         Address: 78:F7:BE:08:5E:DF (OUI 78-F7-BE)
         Link type: ACL (0x01)
         Encryption: Disabled (0x00)
< HCI Command (0x01|0x001b) plen 2 [hci0] 3.034808
         Handle: 256
 > HCI Event (0x0f) plen 4 [hci0] 3.035730
       Read Remote Supported Features (0x01|0x001b) ncmd 1
         Status: Success (0x00)
 > HCI Event (0x1b) plen 3 [hci0] 3.041745
         Handle: 256
         Max slots: 5
 > HCI Event (0x0b) plen 11 [hci0] 3.043740
         Status: Success (0x00)
         Handle: 256
         Features: 0xbf 0xfe 0x8f 0xfe 0x9b 0xff 0x79 0x87
           3 slot packets
           5 slot packets
           Encryption
           Slot offset
           Timing accuracy
           Role switch
           Sniff mode
           Power control requests
           Channel quality driven data rate (CQDDR)
           SCO link
           HV2 packets
           HV3 packets
           u-law log synchronous data
           A-law log synchronous data
           CVSD synchronous data
           Paging parameter negotiation
           Power control
           Transparent synchronous data
           Broadcast Encryption
           Enhanced Data Rate ACL 2 Mbps mode
           Enhanced Data Rate ACL 3 Mbps mode
           Enhanced inquiry scan
           Interlaced inquiry scan
           Interlaced page scan
           RSSI with inquiry results
           Extended SCO link (EV3 packets)
           EV4 packets
           EV5 packets
           AFH capable slave
           AFH classification slave
           3-slot Enhanced Data Rate ACL packets
           5-slot Enhanced Data Rate ACL packets
           Sniff subrating
           Pause encryption
           AFH capable master
           AFH classification master
           Enhanced Data Rate eSCO 2 Mbps mode
           Enhanced Data Rate eSCO 3 Mbps mode
           3-slot Enhanced Data Rate eSCO packets
           Extended Inquiry Response
           Secure Simple Pairing
           Encapsulated PDU
           Erroneous Data Reporting
           Non-flushable Packet Boundary Flag
           Link Supervision Timeout Changed Event
           Inquiry TX Power Level
           Enhanced Power Control
           Extended features
< HCI Command (0x01|0x001c) plen 3 [hci0] 3.043755
         Handle: 256
         Page: 1
 > ACL Data RX flags 0x02 dlen 12 [hci0] 3.045734
       L2CAP: Connection Request (0x02) ident 2 len 4
         PSM: 1 (0x0001)
         Source CID: 65
 > HCI Event (0x0f) plen 4 [hci0] 3.045738
       Read Remote Extended Features (0x01|0x001c) ncmd 1
         Status: Success (0x00)
< ACL Data TX flags 0x00 dlen 16 [hci0] 3.045762
       L2CAP: Connection Response (0x03) ident 2 len 8
         Destination CID: 64
         Source CID: 65
         Result: Connection pending (0x0001)
         Status: No further information available (0x0000)
< ACL Data TX flags 0x00 dlen 10 [hci0] 3.045767
       L2CAP: Information Request (0x0a) ident 1 len 2
         Type: Extended features supported (0x0002)
 > HCI Event (0x23) plen 13 [hci0] 3.049734
         Status: Success (0x00)
         Handle: 256
         Page: 1/0
         Features: 0x01 0x00 0x00 0x00 0x00 0x00 0x00 0x00
           Secure Simple Pairing (Host Support)
< HCI Command (0x01|0x0019) plen 10 [hci0] 3.049745
         Address: 78:F7:BE:08:5E:DF (OUI 78-F7-BE)
         Page scan repetition mode: R2 (0x02)
         Page scan mode: Mandatory (0x00)
         Clock offset: 0x0000
 > HCI Event (0x0f) plen 4 [hci0] 3.050721
       Remote Name Request (0x01|0x0019) ncmd 1
         Status: Success (0x00)
 > HCI Event (0x13) plen 5 [hci0] 3.051735
         Num handles: 1
         Handle: 256
         Count: 1
 > HCI Event (0x13) plen 5 [hci0] 3.056726
         Num handles: 1
         Handle: 256
         Count: 1
 > ACL Data RX flags 0x02 dlen 16 [hci0] 3.056969
       L2CAP: Information Response (0x0b) ident 1 len 8
         Type: Extended features supported (0x0002)
         Result: Success (0x0000)
         Features: 0x00000200
           Unicast Connectionless Data Reception
< ACL Data TX flags 0x00 dlen 10 [hci0] 3.056995
       L2CAP: Command Reject (0x01) ident 1 len 2
         Reason: Command not understood (0x0000)
 > HCI Event (0x13) plen 5 [hci0] 3.061726
         Num handles: 1
         Handle: 256
         Count: 1
 > HCI Event (0x07) plen 255 [hci0] 3.070718
         Status: Success (0x00)
         Address: 78:F7:BE:08:5E:DF (OUI 78-F7-BE)
         Name: HM1700
< ACL Data TX flags 0x00 dlen 16 [hci0] 7.047684
       L2CAP: Connection Response (0x03) ident 2 len 8
         Destination CID: 64
         Source CID: 65
         Result: Connection successful (0x0000)
         Status: No further information available (0x0000)
< ACL Data TX flags 0x00 dlen 12 [hci0] 7.047708
       L2CAP: Configure Request (0x04) ident 2 len 4
         Destination CID: 65
         Flags: 0x0000
 > HCI Event (0x13) plen 5 [hci0] 7.051758
         Num handles: 1
         Handle: 256
         Count: 1
 > ACL Data RX flags 0x02 dlen 16 [hci0] 7.052502
       L2CAP: Configure Request (0x04) ident 3 len 8
         Destination CID: 64
         Flags: 0x0000
         Option: Maximum Transmission Unit (0x01)
           MTU: 64
< ACL Data TX flags 0x00 dlen 18 [hci0] 7.052550
       L2CAP: Configure Response (0x05) ident 3 len 10
         Source CID: 65
         Flags: 0x0000
         Result: Success (0x0000)
         Option: Maximum Transmission Unit (0x01)
           MTU: 64
 > HCI Event (0x13) plen 5 [hci0] 7.052733
         Num handles: 1
         Handle: 256
         Count: 1
 > ACL Data RX flags 0x02 dlen 14 [hci0] 7.053751
       L2CAP: Configure Response (0x05) ident 2 len 6
         Source CID: 64
         Flags: 0x0000
         Result: Success (0x0000)
 > HCI Event (0x13) plen 5 [hci0] 7.056754
         Num handles: 1
         Handle: 256
         Count: 1
 > ACL Data RX flags 0x02 dlen 31 [hci0] 7.057249
       Channel: 64 len 27 [PSM 1 mode 0] {chan 0}
       SDP: Service Search Attribute Request (0x06) tid 0 len 22
         Search pattern: [len 5]
           Sequence (6) with 3 bytes [8 extra bits] len 5
             UUID (3) with 2 bytes [0 extra bits] len 3
               Handsfree Audio Gateway (0x111f)
         Max record count: 48
         Attribute list: [len 14]
           Sequence (6) with 12 bytes [8 extra bits] len 14
             Unsigned Integer (1) with 2 bytes [0 extra bits] len 3
               0x0001
             Unsigned Integer (1) with 2 bytes [0 extra bits] len 3
               0x0004
             Unsigned Integer (1) with 2 bytes [0 extra bits] len 3
               0x0009
             Unsigned Integer (1) with 2 bytes [0 extra bits] len 3
               0x0311
         Continuation state: 0
< ACL Data TX flags 0x00 dlen 68 [hci0] 7.057567
       Channel: 65 len 64 [PSM 1 mode 0] {chan 0}
       SDP: Service Search Attribute Response (0x07) tid 0 len 59
         Attribute bytes: 48
         Continuation state: 8
         5b 10 73 52 30 00 00 00 [.sR0...
 > ACL Data RX flags 0x02 dlen 39 [hci0] 7.063746
       Channel: 64 len 35 [PSM 1 mode 0] {chan 0}
       SDP: Service Search Attribute Request (0x06) tid 1 len 30
         Search pattern: [len 5]
           Sequence (6) with 3 bytes [8 extra bits] len 5
             UUID (3) with 2 bytes [0 extra bits] len 3
               Handsfree Audio Gateway (0x111f)
         Max record count: 48
         Attribute list: [len 14]
           Sequence (6) with 12 bytes [8 extra bits] len 14
             Unsigned Integer (1) with 2 bytes [0 extra bits] len 3
               0x0001
             Unsigned Integer (1) with 2 bytes [0 extra bits] len 3
               0x0004
             Unsigned Integer (1) with 2 bytes [0 extra bits] len 3
               0x0009
             Unsigned Integer (1) with 2 bytes [0 extra bits] len 3
               0x0311
         Continuation state: 8
         5b 10 73 52 30 00 00 00 [.sR0...
< ACL Data TX flags 0x00 dlen 15 [hci0] 7.063938
       Channel: 65 len 11 [PSM 1 mode 0] {chan 0}
       SDP: Service Search Attribute Response (0x07) tid 1 len 6
         Attribute bytes: 3
         Continuation state: 0
         Combined attribute bytes: 51
           Attribute list: [len 47] {position 0}
             Attribute: Service Class ID List (0x0001) [len 2]
               UUID (3) with 2 bytes [0 extra bits] len 3
                 Handsfree Audio Gateway (0x111f)
               UUID (3) with 2 bytes [0 extra bits] len 3
                 Generic Audio (0x1203)
             Attribute: Protocol Descriptor List (0x0004) [len 2]
               Sequence (6) with 3 bytes [8 extra bits] len 5
                 UUID (3) with 2 bytes [0 extra bits] len 3
                   L2CAP (0x0100)
               Sequence (6) with 5 bytes [8 extra bits] len 7
                 UUID (3) with 2 bytes [0 extra bits] len 3
                   RFCOMM (0x0003)
                 Unsigned Integer (1) with 1 byte [0 extra bits] len 2
                   0x0d
             Attribute: Bluetooth Profile Descriptor List (0x0009) [len 2]
               Sequence (6) with 6 bytes [8 extra bits] len 8
                 UUID (3) with 2 bytes [0 extra bits] len 3
                   Handsfree (0x111e)
                 Unsigned Integer (1) with 2 bytes [0 extra bits] len 3
                   0x0105
             Attribute: Unknown (0x0311) [len 2]
               0x0000
 > HCI Event (0x13) plen 5 [hci0] 7.064747
         Num handles: 1
         Handle: 256
         Count: 1
 > HCI Event (0x13) plen 5 [hci0] 7.067749
         Num handles: 1
         Handle: 256
         Count: 1
 > ACL Data RX flags 0x02 dlen 12 [hci0] 7.068619
       L2CAP: Disconnection Request (0x06) ident 4 len 4
         Destination CID: 64
         Source CID: 65
< ACL Data TX flags 0x00 dlen 12 [hci0] 7.068674
       L2CAP: Disconnection Response (0x07) ident 4 len 4
         Destination CID: 64
         Source CID: 65
 > HCI Event (0x13) plen 5 [hci0] 7.072746
         Num handles: 1
         Handle: 256
         Count: 1
 > HCI Event (0x17) plen 6 [hci0] 7.074742
         Address: 78:F7:BE:08:5E:DF (OUI 78-F7-BE)
< HCI Command (0x01|0x000c) plen 6 [hci0] 7.074922
         Address: 78:F7:BE:08:5E:DF (OUI 78-F7-BE)
 > HCI Event (0x0e) plen 10 [hci0] 7.075743
       Link Key Request Negative Reply (0x01|0x000c) ncmd 1
         Status: Success (0x00)
         Address: 78:F7:BE:08:5E:DF (OUI 78-F7-BE)
 > HCI Event (0x32) plen 9 [hci0] 7.080726
         Address: 78:F7:BE:08:5E:DF (OUI 78-F7-BE)
         IO capability: NoInputNoOutput (0x03)
         OOB data: Authentication data not present (0x00)
         Authentication: General Bonding - MITM required (0x05)
 > HCI Event (0x31) plen 6 [hci0] 7.081716
         Address: 78:F7:BE:08:5E:DF (OUI 78-F7-BE)
< HCI Command (0x01|0x002b) plen 9 [hci0] 7.081876
         Address: 78:F7:BE:08:5E:DF (OUI 78-F7-BE)
         IO capability: DisplayYesNo (0x01)
         OOB data: Authentication data not present (0x00)
         Authentication: General Bonding - MITM required (0x05)
 > HCI Event (0x0e) plen 10 [hci0] 7.082712
       IO Capability Request Reply (0x01|0x002b) ncmd 1
         Status: Success (0x00)
         Address: 78:F7:BE:08:5E:DF (OUI 78-F7-BE)
 > HCI Event (0x33) plen 10 [hci0] 7.339625
         Address: 78:F7:BE:08:5E:DF (OUI 78-F7-BE)
         Passkey: 575136
< HCI Command (0x01|0x002d) plen 6 [hci0] 7.339848
         Address: 78:F7:BE:08:5E:DF (OUI 78-F7-BE)
 > HCI Event (0x0e) plen 10 [hci0] 7.340647
       User Confirmation Request Neg Reply (0x01|0x002d) ncmd 1
         Status: Success (0x00)
         Address: 78:F7:BE:08:5E:DF (OUI 78-F7-BE)
 > HCI Event (0x36) plen 7 [hci0] 7.742431
         Status: Authentication Failure (0x05)
         Address: 78:F7:BE:08:5E:DF (OUI 78-F7-BE)
 > HCI Event (0x05) plen 4 [hci0] 7.897336
         Status: Success (0x00)
         Handle: 256
         Reason: Remote User Terminated Connection (0x13)
< HCI Command (0x01|0x0001) plen 5 [hci0] 16.279595
         Access code: 0x9e8b33 (General Inquiry)
         Length: 10.24s (0x08)
         Num responses: 0
 > HCI Event (0x0f) plen 4 [hci0] 16.281119
       Inquiry (0x01|0x0001) ncmd 2
         Status: Success (0x00)
 > HCI Event (0x2f) plen 255 [hci0] 17.025785
         Num responses: 1
         Address: 78:F7:BE:08:5E:DF (OUI 78-F7-BE)
         Page scan repetition mode: R1 (0x01)
         Page period mode: P0 (0x00)
         Class: 0x240404
           Major class: Audio/Video (headset, speaker, stereo, video, vcr)
           Minor class: 0x01
           Rendering (Printing, Speaker)
           Audio (Speaker, Microphone, Headset)
         Clock offset: 0x51f1
         RSSI: -44 dBm (0xd4)
         Name (complete): HM1700
         16-bit Service UUIDs (complete): 5 entries
           Headset (0x1108)
           Handsfree (0x111e)
           Audio Sink (0x110b)
           A/V Remote Control (0x110e)
           Serial Port (0x1101)
< HCI Command (0x01|0x0002) plen 0 [hci0] 25.122354
 > HCI Event (0x0e) plen 4 [hci0] 25.124712
       Inquiry Cancel (0x01|0x0002) ncmd 2
         Status: Success (0x00)
< HCI Command (0x01|0x0005) plen 13 [hci0] 25.127063
         Address: 78:F7:BE:08:5E:DF (OUI 78-F7-BE)
         Packet type: 0xcc18
         Page scan repetition mode: R2 (0x02)
         Page scan mode: Mandatory (0x00)
         Clock offset: 0x0000
         Role switch: Allow slave (0x01)
 > HCI Event (0x0f) plen 4 [hci0] 25.127693
       Create Connection (0x01|0x0005) ncmd 1
         Status: Success (0x00)
 > HCI Event (0x03) plen 11 [hci0] 25.988303
         Status: Success (0x00)
         Handle: 256
         Address: 78:F7:BE:08:5E:DF (OUI 78-F7-BE)
         Link type: ACL (0x01)
         Encryption: Disabled (0x00)
< HCI Command (0x01|0x001b) plen 2 [hci0] 25.988535
         Handle: 256
 > HCI Event (0x0f) plen 4 [hci0] 25.990330
       Read Remote Supported Features (0x01|0x001b) ncmd 1
         Status: Success (0x00)
 > HCI Event (0x1b) plen 3 [hci0] 25.993260
         Handle: 256
         Max slots: 5
 > HCI Event (0x0b) plen 11 [hci0] 25.996270
         Status: Success (0x00)
         Handle: 256
         Features: 0xbf 0xfe 0x8f 0xfe 0x9b 0xff 0x79 0x87
           3 slot packets
           5 slot packets
           Encryption
           Slot offset
           Timing accuracy
           Role switch
           Sniff mode
           Power control requests
           Channel quality driven data rate (CQDDR)
           SCO link
           HV2 packets
           HV3 packets
           u-law log synchronous data
           A-law log synchronous data
           CVSD synchronous data
           Paging parameter negotiation
           Power control
           Transparent synchronous data
           Broadcast Encryption
           Enhanced Data Rate ACL 2 Mbps mode
           Enhanced Data Rate ACL 3 Mbps mode
           Enhanced inquiry scan
           Interlaced inquiry scan
           Interlaced page scan
           RSSI with inquiry results
           Extended SCO link (EV3 packets)
           EV4 packets
           EV5 packets
           AFH capable slave
           AFH classification slave
           3-slot Enhanced Data Rate ACL packets
           5-slot Enhanced Data Rate ACL packets
           Sniff subrating
           Pause encryption
           AFH capable master
           AFH classification master
           Enhanced Data Rate eSCO 2 Mbps mode
           Enhanced Data Rate eSCO 3 Mbps mode
           3-slot Enhanced Data Rate eSCO packets
           Extended Inquiry Response
           Secure Simple Pairing
           Encapsulated PDU
           Erroneous Data Reporting
           Non-flushable Packet Boundary Flag
           Link Supervision Timeout Changed Event
           Inquiry TX Power Level
           Enhanced Power Control
           Extended features
< HCI Command (0x01|0x001c) plen 3 [hci0] 25.996285
         Handle: 256
         Page: 1
 > HCI Event (0x0f) plen 4 [hci0] 25.997267
       Read Remote Extended Features (0x01|0x001c) ncmd 1
         Status: Success (0x00)
 > HCI Event (0x23) plen 13 [hci0] 26.005271
         Status: Success (0x00)
         Handle: 256
         Page: 1/0
         Features: 0x01 0x00 0x00 0x00 0x00 0x00 0x00 0x00
           Secure Simple Pairing (Host Support)
< HCI Command (0x01|0x0019) plen 10 [hci0] 26.005292
         Address: 78:F7:BE:08:5E:DF (OUI 78-F7-BE)
         Page scan repetition mode: R2 (0x02)
         Page scan mode: Mandatory (0x00)
         Clock offset: 0x0000
 > HCI Event (0x0f) plen 4 [hci0] 26.006256
       Remote Name Request (0x01|0x0019) ncmd 1
         Status: Success (0x00)
 > HCI Event (0x07) plen 255 [hci0] 26.025242
         Status: Success (0x00)
         Address: 78:F7:BE:08:5E:DF (OUI 78-F7-BE)
         Name: HM1700
< HCI Command (0x01|0x0011) plen 2 [hci0] 26.025266
         Handle: 256
 > HCI Event (0x0f) plen 4 [hci0] 26.026243
       Authentication Requested (0x01|0x0011) ncmd 1
         Status: Success (0x00)
 > HCI Event (0x17) plen 6 [hci0] 26.027313
         Address: 78:F7:BE:08:5E:DF (OUI 78-F7-BE)
< HCI Command (0x01|0x000c) plen 6 [hci0] 26.033110
         Address: 78:F7:BE:08:5E:DF (OUI 78-F7-BE)
 > HCI Event (0x0e) plen 10 [hci0] 26.034256
       Link Key Request Negative Reply (0x01|0x000c) ncmd 1
         Status: Success (0x00)
         Address: 78:F7:BE:08:5E:DF (OUI 78-F7-BE)
 > HCI Event (0x31) plen 6 [hci0] 26.035237
         Address: 78:F7:BE:08:5E:DF (OUI 78-F7-BE)
< HCI Command (0x01|0x002b) plen 9 [hci0] 26.035287
         Address: 78:F7:BE:08:5E:DF (OUI 78-F7-BE)
         IO capability: DisplayYesNo (0x01)
         OOB data: Authentication data not present (0x00)
         Authentication: Dedicated Bonding - MITM required (0x03)
 > HCI Event (0x0e) plen 10 [hci0] 26.036270
       IO Capability Request Reply (0x01|0x002b) ncmd 1
         Status: Success (0x00)
         Address: 78:F7:BE:08:5E:DF (OUI 78-F7-BE)
 > HCI Event (0x32) plen 9 [hci0] 26.040267
         Address: 78:F7:BE:08:5E:DF (OUI 78-F7-BE)
         IO capability: NoInputNoOutput (0x03)
         OOB data: Authentication data not present (0x00)
         Authentication: Dedicated Bonding - MITM not required (0x02)
 > HCI Event (0x33) plen 10 [hci0] 26.280169
         Address: 78:F7:BE:08:5E:DF (OUI 78-F7-BE)
         Passkey: 270951
< HCI Command (0x01|0x002c) plen 6 [hci0] 26.285610
         Address: 78:F7:BE:08:5E:DF (OUI 78-F7-BE)
 > HCI Event (0x0e) plen 10 [hci0] 26.287160
       User Confirmation Request Reply (0x01|0x002c) ncmd 1
         Status: Success (0x00)
         Address: 78:F7:BE:08:5E:DF (OUI 78-F7-BE)
 > HCI Event (0x36) plen 7 [hci0] 26.766879
         Status: Success (0x00)
         Address: 78:F7:BE:08:5E:DF (OUI 78-F7-BE)
 > HCI Event (0x18) plen 23 [hci0] 26.782938
         Address: 78:F7:BE:08:5E:DF (OUI 78-F7-BE)
         Link key: de2eb68b175d2935833022b04c121ce2
         Key type: Unauthenticated Combination key (0x04)
 > HCI Event (0x06) plen 3 [hci0] 26.783870
         Status: Success (0x00)
         Handle: 256
< HCI Command (0x01|0x0013) plen 3 [hci0] 26.783942
         Handle: 256
         Encryption: Enabled (0x01)
 > HCI Event (0x0f) plen 4 [hci0] 26.784940
       Set Connection Encryption (0x01|0x0013) ncmd 1
         Status: Success (0x00)
 > HCI Event (0x08) plen 4 [hci0] 26.826850
         Status: Success (0x00)
         Handle: 256
         Encryption: Enabled with E0 (0x01)
< ACL Data TX flags 0x00 dlen 10 [hci0] 26.826893
       L2CAP: Information Request (0x0a) ident 1 len 2
         Type: Extended features supported (0x0002)
 > HCI Event (0x13) plen 5 [hci0] 26.830847
         Num handles: 1
         Handle: 256
         Count: 1
 > ACL Data RX flags 0x02 dlen 16 [hci0] 26.831344
       L2CAP: Information Response (0x0b) ident 1 len 8
         Type: Extended features supported (0x0002)
         Result: Success (0x0000)
         Features: 0x00000200
           Unicast Connectionless Data Reception
< ACL Data TX flags 0x00 dlen 10 [hci0] 26.831381
       L2CAP: Command Reject (0x01) ident 1 len 2
         Reason: Command not understood (0x0000)
 > HCI Event (0x13) plen 5 [hci0] 26.835845
         Num handles: 1
         Handle: 256
         Count: 1
< ACL Data TX flags 0x00 dlen 12 [hci0] 30.831706
       L2CAP: Connection Request (0x02) ident 2 len 4
         PSM: 1 (0x0001)
         Source CID: 64
 > HCI Event (0x13) plen 5 [hci0] 30.835877
         Num handles: 1
         Handle: 256
         Count: 1
 > ACL Data RX flags 0x02 dlen 16 [hci0] 30.836841
       L2CAP: Connection Response (0x03) ident 2 len 8
         Destination CID: 67
         Source CID: 64
         Result: Connection successful (0x0000)
         Status: No further information available (0x0000)
< ACL Data TX flags 0x00 dlen 12 [hci0] 30.836891
       L2CAP: Configure Request (0x04) ident 3 len 4
         Destination CID: 67
         Flags: 0x0000
 > ACL Data RX flags 0x02 dlen 16 [hci0] 30.838159
       L2CAP: Configure Request (0x04) ident 2 len 8
         Destination CID: 64
         Flags: 0x0000
         Option: Maximum Transmission Unit (0x01)
           MTU: 64
< ACL Data TX flags 0x00 dlen 18 [hci0] 30.838224
       L2CAP: Configure Response (0x05) ident 2 len 10
         Source CID: 67
         Flags: 0x0000
         Result: Success (0x0000)
         Option: Maximum Transmission Unit (0x01)
           MTU: 64
 > HCI Event (0x13) plen 5 [hci0] 30.840918
         Num handles: 1
         Handle: 256
         Count: 1
 > ACL Data RX flags 0x02 dlen 14 [hci0] 30.841845
       L2CAP: Configure Response (0x05) ident 3 len 6
         Source CID: 64
         Flags: 0x0000
         Result: Success (0x0000)
< ACL Data TX flags 0x00 dlen 24 [hci0] 30.842014
       Channel: 67 len 20 [PSM 1 mode 0] {chan 0}
       SDP: Service Search Attribute Request (0x06) tid 0 len 15
         Search pattern: [len 5]
           Sequence (6) with 3 bytes [8 extra bits] len 5
             UUID (3) with 2 bytes [0 extra bits] len 3
               L2CAP (0x0100)
         Max record count: 65535
         Attribute list: [len 7]
           Sequence (6) with 5 bytes [8 extra bits] len 7
             Unsigned Integer (1) with 4 bytes [0 extra bits] len 5
               0x0000ffff
         Continuation state: 0
 > HCI Event (0x13) plen 5 [hci0] 30.842845
         Num handles: 1
         Handle: 256
         Count: 1
 > HCI Event (0x13) plen 5 [hci0] 30.845847
         Num handles: 1
         Handle: 256
         Count: 1
 > ACL Data RX flags 0x02 dlen 68 [hci0] 30.846904
       Channel: 64 len 64 [PSM 1 mode 0] {chan 0}
       SDP: Service Search Attribute Response (0x07) tid 0 len 59
         Attribute bytes: 54
         Continuation state: 2
         00 36 .6
< ACL Data TX flags 0x00 dlen 26 [hci0] 30.847135
       Channel: 67 len 22 [PSM 1 mode 0] {chan 0}
       SDP: Service Search Attribute Request (0x06) tid 1 len 17
         Search pattern: [len 5]
           Sequence (6) with 3 bytes [8 extra bits] len 5
             UUID (3) with 2 bytes [0 extra bits] len 3
               L2CAP (0x0100)
         Max record count: 65535
         Attribute list: [len 7]
           Sequence (6) with 5 bytes [8 extra bits] len 7
             Unsigned Integer (1) with 4 bytes [0 extra bits] len 5
               0x0000ffff
         Continuation state: 2
         00 36 .6
 > HCI Event (0x13) plen 5 [hci0] 30.850887
         Num handles: 1
         Handle: 256
         Count: 1
 > ACL Data RX flags 0x02 dlen 68 [hci0] 30.851837
       Channel: 64 len 64 [PSM 1 mode 0] {chan 0}
       SDP: Service Search Attribute Response (0x07) tid 1 len 59
         Attribute bytes: 54
         Continuation state: 2
         00 6c .l
< ACL Data TX flags 0x00 dlen 26 [hci0] 30.851969
       Channel: 67 len 22 [PSM 1 mode 0] {chan 0}
       SDP: Service Search Attribute Request (0x06) tid 2 len 17
         Search pattern: [len 5]
           Sequence (6) with 3 bytes [8 extra bits] len 5
             UUID (3) with 2 bytes [0 extra bits] len 3
               L2CAP (0x0100)
         Max record count: 65535
         Attribute list: [len 7]
           Sequence (6) with 5 bytes [8 extra bits] len 7
             Unsigned Integer (1) with 4 bytes [0 extra bits] len 5
               0x0000ffff
         Continuation state: 2
         00 6c .l
 > HCI Event (0x13) plen 5 [hci0] 30.855867
         Num handles: 1
         Handle: 256
         Count: 1
 > ACL Data RX flags 0x02 dlen 68 [hci0] 30.856899
       Channel: 64 len 64 [PSM 1 mode 0] {chan 0}
       SDP: Service Search Attribute Response (0x07) tid 2 len 59
         Attribute bytes: 54
         Continuation state: 2
         00 a2 ..
< ACL Data TX flags 0x00 dlen 26 [hci0] 30.857114
       Channel: 67 len 22 [PSM 1 mode 0] {chan 0}
       SDP: Service Search Attribute Request (0x06) tid 3 len 17
         Search pattern: [len 5]
           Sequence (6) with 3 bytes [8 extra bits] len 5
             UUID (3) with 2 bytes [0 extra bits] len 3
               L2CAP (0x0100)
         Max record count: 65535
         Attribute list: [len 7]
           Sequence (6) with 5 bytes [8 extra bits] len 7
             Unsigned Integer (1) with 4 bytes [0 extra bits] len 5
               0x0000ffff
         Continuation state: 2
         00 a2 ..
 > HCI Event (0x13) plen 5 [hci0] 30.860833
         Num handles: 1
         Handle: 256
         Count: 1
 > ACL Data RX flags 0x02 dlen 68 [hci0] 30.861829
       Channel: 64 len 64 [PSM 1 mode 0] {chan 0}
       SDP: Service Search Attribute Response (0x07) tid 3 len 59
         Attribute bytes: 54
         Continuation state: 2
         00 d8 ..
< ACL Data TX flags 0x00 dlen 26 [hci0] 30.862014
       Channel: 67 len 22 [PSM 1 mode 0] {chan 0}
       SDP: Service Search Attribute Request (0x06) tid 4 len 17
         Search pattern: [len 5]
           Sequence (6) with 3 bytes [8 extra bits] len 5
             UUID (3) with 2 bytes [0 extra bits] len 3
               L2CAP (0x0100)
         Max record count: 65535
         Attribute list: [len 7]
           Sequence (6) with 5 bytes [8 extra bits] len 7
             Unsigned Integer (1) with 4 bytes [0 extra bits] len 5
               0x0000ffff
         Continuation state: 2
         00 d8 ..
 > HCI Event (0x13) plen 5 [hci0] 30.865838
         Num handles: 1
         Handle: 256
         Count: 1
 > ACL Data RX flags 0x02 dlen 62 [hci0] 30.866859
       Channel: 64 len 58 [PSM 1 mode 0] {chan 0}
       SDP: Service Search Attribute Response (0x07) tid 4 len 53
         Attribute bytes: 50
         Continuation state: 0
         Combined attribute bytes: 266
           Attribute list: [len 82] {position 0}
             Attribute: Service Record Handle (0x0000) [len 2]
               0x00010001
             Attribute: Service Class ID List (0x0001) [len 2]
               UUID (3) with 2 bytes [0 extra bits] len 3
                 Headset (0x1108)
               UUID (3) with 2 bytes [0 extra bits] len 3
                 Headset HS (0x1131)
               UUID (3) with 2 bytes [0 extra bits] len 3
                 Generic Audio (0x1203)
             Attribute: Protocol Descriptor List (0x0004) [len 2]
               Sequence (6) with 3 bytes [8 extra bits] len 5
                 UUID (3) with 2 bytes [0 extra bits] len 3
                   L2CAP (0x0100)
               Sequence (6) with 5 bytes [8 extra bits] len 7
                 UUID (3) with 2 bytes [0 extra bits] len 3
                   RFCOMM (0x0003)
                 Unsigned Integer (1) with 1 byte [0 extra bits] len 2
                   0x01
             Attribute: Browse Group List (0x0005) [len 2]
               UUID (3) with 2 bytes [0 extra bits] len 3
                 Public Browse Root (0x1002)
             Attribute: Bluetooth Profile Descriptor List (0x0009) [len 2]
               Sequence (6) with 6 bytes [8 extra bits] len 8
                 UUID (3) with 2 bytes [0 extra bits] len 3
                   Headset (0x1108)
                 Unsigned Integer (1) with 2 bytes [0 extra bits] len 3
                   0x0102
             Attribute: Unknown (0x0100) [len 2]
               HSP service [len 12]
             Attribute: Unknown (0x0302) [len 2]
               true
           Attribute list: [len 80] {position 1}
             Attribute: Service Record Handle (0x0000) [len 2]
               0x00010002
             Attribute: Service Class ID List (0x0001) [len 2]
               UUID (3) with 2 bytes [0 extra bits] len 3
                 Handsfree (0x111e)
               UUID (3) with 2 bytes [0 extra bits] len 3
                 Generic Audio (0x1203)
             Attribute: Protocol Descriptor List (0x0004) [len 2]
               Sequence (6) with 3 bytes [8 extra bits] len 5
                 UUID (3) with 2 bytes [0 extra bits] len 3
                   L2CAP (0x0100)
               Sequence (6) with 5 bytes [8 extra bits] len 7
                 UUID (3) with 2 bytes [0 extra bits] len 3
                   RFCOMM (0x0003)
                 Unsigned Integer (1) with 1 byte [0 extra bits] len 2
                   0x02
             Attribute: Browse Group List (0x0005) [len 2]
               UUID (3) with 2 bytes [0 extra bits] len 3
                 Public Browse Root (0x1002)
             Attribute: Bluetooth Profile Descriptor List (0x0009) [len 2]
               Sequence (6) with 6 bytes [8 extra bits] len 8
                 UUID (3) with 2 bytes [0 extra bits] len 3
                   Handsfree (0x111e)
                 Unsigned Integer (1) with 2 bytes [0 extra bits] len 3
                   0x0105
             Attribute: Unknown (0x0100) [len 2]
               HFP service [len 12]
             Attribute: Unknown (0x0311) [len 2]
               0x001b
           Attribute list: [len 92] {position 2}
             Attribute: Service Record Handle (0x0000) [len 2]
               0x00010003
             Attribute: Service Class ID List (0x0001) [len 2]
               UUID (3) with 2 bytes [0 extra bits] len 3
                 Audio Sink (0x110b)
             Attribute: Protocol Descriptor List (0x0004) [len 2]
               Sequence (6) with 6 bytes [8 extra bits] len 8
                 UUID (3) with 2 bytes [0 extra bits] len 3
                   L2CAP (0x0100)
                 Unsigned Integer (1) with 2 bytes [0 extra bits] len 3
                   0x0019
               Sequence (6) with 6 bytes [8 extra bits] len 8
                 UUID (3) with 2 bytes [0 extra bits] len 3
                   AVDTP (0x0019)
                 Unsigned Integer (1) with 2 bytes [0 extra bits] len 3
                   0x0102
             Attribute: Browse Group List (0x0005) [len 2]
               UUID (3) with 2 bytes [0 extra bits] len 3
                 Public Browse Root (0x1002)
             Attribute: Bluetooth Profile Descriptor List (0x0009) [len 2]
               Sequence (6) with 6 bytes [8 extra bits] len 8
                 UUID (3) with 2 bytes [0 extra bits] len 3
                   Advanced Audio Distribution (0x110d)
                 Unsigned Integer (1) with 2 bytes [0 extra bits] len 3
                   0x0102
             Attribute: Unknown (0x0100) [len 2]
               Advanced audio service [len 23]
             Attribute: Unknown (0x0311) [len 2]
               0x0001
< ACL Data TX flags 0x00 dlen 24 [hci0] 30.987030
       Channel: 67 len 20 [PSM 1 mode 0] {chan 0}
       SDP: Service Search Attribute Request (0x06) tid 5 len 15
         Search pattern: [len 5]
           Sequence (6) with 3 bytes [8 extra bits] len 5
             UUID (3) with 2 bytes [0 extra bits] len 3
               PnP Information (0x1200)
         Max record count: 65535
         Attribute list: [len 7]
           Sequence (6) with 5 bytes [8 extra bits] len 7
             Unsigned Integer (1) with 4 bytes [0 extra bits] len 5
               0x0000ffff
         Continuation state: 0
 > HCI Event (0x13) plen 5 [hci0] 30.990839
         Num handles: 1
         Handle: 256
         Count: 1
 > ACL Data RX flags 0x02 dlen 67 [hci0] 30.991834
       Channel: 64 len 63 [PSM 1 mode 0] {chan 0}
       SDP: Service Search Attribute Response (0x07) tid 5 len 58
         Attribute bytes: 53
         Continuation state: 2
         00 35 .5
< ACL Data TX flags 0x00 dlen 26 [hci0] 30.992052
       Channel: 67 len 22 [PSM 1 mode 0] {chan 0}
       SDP: Service Search Attribute Request (0x06) tid 6 len 17
         Search pattern: [len 5]
           Sequence (6) with 3 bytes [8 extra bits] len 5
             UUID (3) with 2 bytes [0 extra bits] len 3
               PnP Information (0x1200)
         Max record count: 65535
         Attribute list: [len 7]
           Sequence (6) with 5 bytes [8 extra bits] len 7
             Unsigned Integer (1) with 4 bytes [0 extra bits] len 5
               0x0000ffff
         Continuation state: 2
         00 35 .5
 > HCI Event (0x13) plen 5 [hci0] 30.995811
         Num handles: 1
         Handle: 256
         Count: 1
 > ACL Data RX flags 0x02 dlen 29 [hci0] 30.996518
       Channel: 64 len 25 [PSM 1 mode 0] {chan 0}
       SDP: Service Search Attribute Response (0x07) tid 6 len 20
         Attribute bytes: 17
         Continuation state: 0
         Combined attribute bytes: 70
           Attribute list: [len 65] {position 0}
             Attribute: Service Record Handle (0x0000) [len 2]
               0x00010000
             Attribute: Service Class ID List (0x0001) [len 2]
               UUID (3) with 2 bytes [0 extra bits] len 3
                 PnP Information (0x1200)
             Attribute: Browse Group List (0x0005) [len 2]
               UUID (3) with 2 bytes [0 extra bits] len 3
                 Public Browse Root (0x1002)
             Attribute: Unknown (0x0200) [len 2]
               0x0103
             Attribute: Unknown (0x0201) [len 2]
               0x000f
             Attribute: Unknown (0x0202) [len 2]
               0x0000
             Attribute: Unknown (0x0203) [len 2]
               0x0000
             Attribute: Unknown (0x0204) [len 2]
               true
             Attribute: Unknown (0x0205) [len 2]
               0x0001
             Attribute: Unknown (0x8001) [len 2]
               0x0001
< ACL Data TX flags 0x00 dlen 24 [hci0] 31.099275
       Channel: 67 len 20 [PSM 1 mode 0] {chan 0}
       SDP: Service Search Attribute Request (0x06) tid 7 len 15
         Search pattern: [len 5]
           Sequence (6) with 3 bytes [8 extra bits] len 5
             UUID (3) with 2 bytes [0 extra bits] len 3
               Handsfree (0x111e)
         Max record count: 65535
         Attribute list: [len 7]
           Sequence (6) with 5 bytes [8 extra bits] len 7
             Unsigned Integer (1) with 4 bytes [0 extra bits] len 5
               0x0000ffff
         Continuation state: 0
 > HCI Event (0x13) plen 5 [hci0] 31.101722
         Num handles: 1
         Handle: 256
         Count: 1
 > ACL Data RX flags 0x02 dlen 67 [hci0] 31.102965
       Channel: 64 len 63 [PSM 1 mode 0] {chan 0}
       SDP: Service Search Attribute Response (0x07) tid 7 len 58
         Attribute bytes: 53
         Continuation state: 2
         00 35 .5
< ACL Data TX flags 0x00 dlen 26 [hci0] 31.103181
       Channel: 67 len 22 [PSM 1 mode 0] {chan 0}
       SDP: Service Search Attribute Request (0x06) tid 8 len 17
         Search pattern: [len 5]
           Sequence (6) with 3 bytes [8 extra bits] len 5
             UUID (3) with 2 bytes [0 extra bits] len 3
               Handsfree (0x111e)
         Max record count: 65535
         Attribute list: [len 7]
           Sequence (6) with 5 bytes [8 extra bits] len 7
             Unsigned Integer (1) with 4 bytes [0 extra bits] len 5
               0x0000ffff
         Continuation state: 2
         00 35 .5
 > HCI Event (0x13) plen 5 [hci0] 31.106718
         Num handles: 1
         Handle: 256
         Count: 1
 > ACL Data RX flags 0x02 dlen 44 [hci0] 31.107962
       Channel: 64 len 40 [PSM 1 mode 0] {chan 0}
       SDP: Service Search Attribute Response (0x07) tid 8 len 35
         Attribute bytes: 32
         Continuation state: 0
         Combined attribute bytes: 85
           Attribute list: [len 80] {position 0}
             Attribute: Service Record Handle (0x0000) [len 2]
               0x00010002
             Attribute: Service Class ID List (0x0001) [len 2]
               UUID (3) with 2 bytes [0 extra bits] len 3
                 Handsfree (0x111e)
               UUID (3) with 2 bytes [0 extra bits] len 3
                 Generic Audio (0x1203)
             Attribute: Protocol Descriptor List (0x0004) [len 2]
               Sequence (6) with 3 bytes [8 extra bits] len 5
                 UUID (3) with 2 bytes [0 extra bits] len 3
                   L2CAP (0x0100)
               Sequence (6) with 5 bytes [8 extra bits] len 7
                 UUID (3) with 2 bytes [0 extra bits] len 3
                   RFCOMM (0x0003)
                 Unsigned Integer (1) with 1 byte [0 extra bits] len 2
                   0x02
             Attribute: Browse Group List (0x0005) [len 2]
               UUID (3) with 2 bytes [0 extra bits] len 3
                 Public Browse Root (0x1002)
             Attribute: Bluetooth Profile Descriptor List (0x0009) [len 2]
               Sequence (6) with 6 bytes [8 extra bits] len 8
                 UUID (3) with 2 bytes [0 extra bits] len 3
                   Handsfree (0x111e)
                 Unsigned Integer (1) with 2 bytes [0 extra bits] len 3
                   0x0105
             Attribute: Unknown (0x0100) [len 2]
               HFP service [len 12]
             Attribute: Unknown (0x0311) [len 2]
               0x001b
< ACL Data TX flags 0x00 dlen 12 [hci0] 31.108484
       L2CAP: Connection Request (0x02) ident 4 len 4
         PSM: 3 (0x0003)
         Source CID: 65
 > HCI Event (0x13) plen 5 [hci0] 31.111705
         Num handles: 1
         Handle: 256
         Count: 1
 > ACL Data RX flags 0x02 dlen 16 [hci0] 31.112953
       L2CAP: Connection Response (0x03) ident 4 len 8
         Destination CID: 68
         Source CID: 65
         Result: Connection successful (0x0000)
         Status: No further information available (0x0000)
< ACL Data TX flags 0x00 dlen 16 [hci0] 31.112979
       L2CAP: Configure Request (0x04) ident 5 len 8
         Destination CID: 68
         Flags: 0x0000
         Option: Maximum Transmission Unit (0x01)
           MTU: 1013
 > ACL Data RX flags 0x02 dlen 16 [hci0] 31.116703
       L2CAP: Configure Request (0x04) ident 3 len 8
         Destination CID: 65
         Flags: 0x0000
         Option: Maximum Transmission Unit (0x01)
           MTU: 1024
 > HCI Event (0x13) plen 5 [hci0] 31.116714
         Num handles: 1
         Handle: 256
         Count: 1
< ACL Data TX flags 0x00 dlen 18 [hci0] 31.116742
       L2CAP: Configure Response (0x05) ident 3 len 10
         Source CID: 68
         Flags: 0x0000
         Result: Success (0x0000)
         Option: Maximum Transmission Unit (0x01)
           MTU: 1024
 > ACL Data RX flags 0x02 dlen 14 [hci0] 31.117950
       L2CAP: Configure Response (0x05) ident 5 len 6
         Source CID: 65
         Flags: 0x0000
         Result: Success (0x0000)
< ACL Data TX flags 0x00 dlen 8 [hci0] 31.118046
       Channel: 68 len 4 [PSM 3 mode 0] {chan 1}
         03 3f 01 1c .?..
 > HCI Event (0x13) plen 5 [hci0] 31.120702
         Num handles: 1
         Handle: 256
         Count: 1
 > HCI Event (0x13) plen 5 [hci0] 31.121697
         Num handles: 1
         Handle: 256
         Count: 1
 > ACL Data RX flags 0x02 dlen 8 [hci0] 31.122697
       Channel: 65 len 4 [PSM 3 mode 0] {chan 1}
         03 73 01 d7 .s..
< ACL Data TX flags 0x00 dlen 18 [hci0] 31.122799
       Channel: 68 len 14 [PSM 3 mode 0] {chan 1}
         03 ef 15 83 11 04 f0 07 00 f0 03 00 07 70 .............p
 > HCI Event (0x13) plen 5 [hci0] 31.126699
         Num handles: 1
         Handle: 256
         Count: 1
 > ACL Data RX flags 0x02 dlen 18 [hci0] 31.127694
       Channel: 65 len 14 [PSM 3 mode 0] {chan 1}
         01 ef 15 81 11 04 e0 07 00 ff 00 00 07 aa ..............
< ACL Data TX flags 0x00 dlen 8 [hci0] 31.127795
       Channel: 68 len 4 [PSM 3 mode 0] {chan 1}
         13 3f 01 96 .?..
 > HCI Event (0x13) plen 5 [hci0] 31.131699
         Num handles: 1
         Handle: 256
         Count: 1
 > ACL Data RX flags 0x02 dlen 8 [hci0] 31.132691
       Channel: 65 len 4 [PSM 3 mode 0] {chan 1}
         13 73 01 5d .s.]
< ACL Data TX flags 0x00 dlen 12 [hci0] 31.132733
       Channel: 68 len 8 [PSM 3 mode 0] {chan 1}
         03 ef 09 e3 05 13 8d 70 .......p
 > ACL Data RX flags 0x02 dlen 12 [hci0] 31.134208
       L2CAP: Connection Request (0x02) ident 4 len 4
         PSM: 1 (0x0001)
         Source CID: 69
< ACL Data TX flags 0x00 dlen 16 [hci0] 31.134238
       L2CAP: Connection Response (0x03) ident 4 len 8
         Destination CID: 66
         Source CID: 69
         Result: Connection successful (0x0000)
         Status: No further information available (0x0000)
< ACL Data TX flags 0x00 dlen 12 [hci0] 31.134242
       L2CAP: Configure Request (0x04) ident 6 len 4
         Destination CID: 69
         Flags: 0x0000
 > HCI Event (0x13) plen 5 [hci0] 31.136698
         Num handles: 1
         Handle: 256
         Count: 1
 > ACL Data RX flags 0x02 dlen 12 [hci0] 31.137952
       Channel: 65 len 8 [PSM 3 mode 0] {chan 1}
         01 ef 09 e1 05 13 8d aa ........
 > HCI Event (0x13) plen 5 [hci0] 31.138724
         Num handles: 1
         Handle: 256
         Count: 1
 > ACL Data RX flags 0x02 dlen 12 [hci0] 31.139098
       Channel: 65 len 8 [PSM 3 mode 0] {chan 1}
         01 ef 09 e3 05 13 8d aa ........
< ACL Data TX flags 0x00 dlen 12 [hci0] 31.139163
       Channel: 68 len 8 [PSM 3 mode 0] {chan 1}
         03 ef 09 e1 05 13 8d 70 .......p
< ACL Data TX flags 0x00 dlen 9 [hci0] 31.139170
       Channel: 68 len 5 [PSM 3 mode 0] {chan 1}
         13 ff 01 21 79 ...!y
 > HCI Event (0x13) plen 5 [hci0] 31.139726
         Num handles: 1
         Handle: 256
         Count: 1
 > ACL Data RX flags 0x02 dlen 16 [hci0] 31.140473
       L2CAP: Configure Request (0x04) ident 5 len 8
         Destination CID: 66
         Flags: 0x0000
         Option: Maximum Transmission Unit (0x01)
           MTU: 64
< ACL Data TX flags 0x00 dlen 18 [hci0] 31.140505
       L2CAP: Configure Response (0x05) ident 5 len 10
         Source CID: 69
         Flags: 0x0000
         Result: Success (0x0000)
         Option: Maximum Transmission Unit (0x01)
           MTU: 64
 > ACL Data RX flags 0x02 dlen 14 [hci0] 31.141754
       L2CAP: Configure Response (0x05) ident 6 len 6
         Source CID: 66
         Flags: 0x0000
         Result: Success (0x0000)
 > HCI Event (0x13) plen 5 [hci0] 31.143762
         Num handles: 1
         Handle: 256
         Count: 1
 > ACL Data RX flags 0x02 dlen 20 [hci0] 31.144187
       Channel: 65 len 16 [PSM 3 mode 0] {chan 1}
         11 ff 17 09 41 54 2b 42 52 53 46 3d 32 37 0d a3 ....AT+BRSF=27..
< ACL Data TX flags 0x00 dlen 22 [hci0] 31.144324
       Channel: 68 len 18 [PSM 3 mode 0] {chan 1}
         13 ef 1d 0d 0a 2b 42 52 53 46 3a 20 33 35 32 0d  .....+BRSF: 352.
         0a 65 .e
< ACL Data TX flags 0x00 dlen 14 [hci0] 31.144332
       Channel: 68 len 10 [PSM 3 mode 0] {chan 1}
         13 ef 0d 0d 0a 4f 4b 0d 0a 65 .....OK..e
 > HCI Event (0x13) plen 5 [hci0] 31.144605
         Num handles: 1
         Handle: 256
         Count: 1
 > HCI Event (0x13) plen 5 [hci0] 31.145757
         Num handles: 1
         Handle: 256
         Count: 1
 > ACL Data RX flags 0x02 dlen 28 [hci0] 31.146503
       Channel: 66 len 24 [PSM 1 mode 0] {chan 2}
       SDP: Service Search Attribute Request (0x06) tid 0 len 19
         Search pattern: [len 5]
           Sequence (6) with 3 bytes [8 extra bits] len 5
             UUID (3) with 2 bytes [0 extra bits] len 3
               Handsfree Audio Gateway (0x111f)
         Max record count: 48
         Attribute list: [len 11]
           Sequence (6) with 9 bytes [8 extra bits] len 11
             Unsigned Integer (1) with 2 bytes [0 extra bits] len 3
               0x0001
             Unsigned Integer (1) with 2 bytes [0 extra bits] len 3
               0x0009
             Unsigned Integer (1) with 2 bytes [0 extra bits] len 3
               0x0311
         Continuation state: 0
< ACL Data TX flags 0x00 dlen 46 [hci0] 31.146720
       Channel: 69 len 42 [PSM 1 mode 0] {chan 2}
       SDP: Service Search Attribute Response (0x07) tid 0 len 37
         Attribute bytes: 34
           Attribute list: [len 30] {position 0}
             Attribute: Service Class ID List (0x0001) [len 2]
               UUID (3) with 2 bytes [0 extra bits] len 3
                 Handsfree Audio Gateway (0x111f)
               UUID (3) with 2 bytes [0 extra bits] len 3
                 Generic Audio (0x1203)
             Attribute: Bluetooth Profile Descriptor List (0x0009) [len 2]
               Sequence (6) with 6 bytes [8 extra bits] len 8
                 UUID (3) with 2 bytes [0 extra bits] len 3
                   Handsfree (0x111e)
                 Unsigned Integer (1) with 2 bytes [0 extra bits] len 3
                   0x0105
             Attribute: Unknown (0x0311) [len 2]
               0x0000
         Continuation state: 0
 > HCI Event (0x13) plen 5 [hci0] 31.148755
         Num handles: 1
         Handle: 256
         Count: 1
 > HCI Event (0x13) plen 5 [hci0] 31.149755
         Num handles: 1
         Handle: 256
         Count: 1
 > ACL Data RX flags 0x02 dlen 19 [hci0] 31.150250
       Channel: 65 len 15 [PSM 3 mode 0] {chan 1}
         11 ff 15 02 41 54 2b 43 49 4e 44 3d 3f 0d a3 ....AT+CIND=?..
< ACL Data TX flags 0x00 dlen 141 [hci0] 31.150438
       Channel: 68 len 137 [PSM 3 mode 0] {chan 1}
         13 ef 08 01 0d 0a 2b 43 49 4e 44 3a 20 28 22 62 ......+CIND: ("b
         61 74 74 63 68 67 22 2c 28 30 2d 35 29 29 2c 28 attchg",(0-5)),(
         22 73 69 67 6e 61 6c 22 2c 28 30 2d 35 29 29 2c "signal",(0-5)),
         28 22 73 65 72 76 69 63 65 22 2c 28 30 2c 31 29 ("service",(0,1)
         29 2c 28 22 63 61 6c 6c 22 2c 28 30 2c 31 29 29 ),("call",(0,1))
         2c 28 22 63 61 6c 6c 73 65 74 75 70 22 2c 28 30 ,("callsetup",(0
         2d 33 29 29 2c 28 22 63 61 6c 6c 68 65 6c 64 22 -3)),("callheld"
         2c 28 30 2d 32 29 29 2c 28 22 72 6f 61 6d 22 2c ,(0-2)),("roam",
         28 30 2c 31 29 29 0d 0a 65 (0,1))..e
< ACL Data TX flags 0x00 dlen 14 [hci0] 31.150448
       Channel: 68 len 10 [PSM 3 mode 0] {chan 1}
         13 ef 0d 0d 0a 4f 4b 0d 0a 65 .....OK..e
 > HCI Event (0x13) plen 5 [hci0] 31.150729
         Num handles: 1
         Handle: 256
         Count: 1
 > ACL Data RX flags 0x02 dlen 12 [hci0] 31.151699
       L2CAP: Disconnection Request (0x06) ident 6 len 4
         Destination CID: 66
         Source CID: 69
< ACL Data TX flags 0x00 dlen 12 [hci0] 31.151732
       L2CAP: Disconnection Response (0x07) ident 6 len 4
         Destination CID: 66
         Source CID: 69
 > HCI Event (0x13) plen 5 [hci0] 31.155700
         Num handles: 1
         Handle: 256
         Count: 1
 > HCI Event (0x13) plen 5 [hci0] 31.156717
         Num handles: 1
         Handle: 256
         Count: 1
 > ACL Data RX flags 0x02 dlen 18 [hci0] 31.157715
       Channel: 65 len 14 [PSM 3 mode 0] {chan 1}
         11 ff 13 02 41 54 2b 43 49 4e 44 3f 0d a3 ....AT+CIND?..
< ACL Data TX flags 0x00 dlen 32 [hci0] 31.157811
       Channel: 68 len 28 [PSM 3 mode 0] {chan 1}
         13 ef 31 0d 0a 2b 43 49 4e 44 3a 20 35 2c 35 2c  ..1..+CIND: 5,5,
         31 2c 30 2c 30 2c 30 2c 30 0d 0a 65 1,0,0,0,0..e
< ACL Data TX flags 0x00 dlen 14 [hci0] 31.157820
       Channel: 68 len 10 [PSM 3 mode 0] {chan 1}
         13 ef 0d 0d 0a 4f 4b 0d 0a 65 .....OK..e
 > HCI Event (0x13) plen 5 [hci0] 31.158716
         Num handles: 1
         Handle: 256
         Count: 1
 > HCI Event (0x13) plen 5 [hci0] 31.162700
         Num handles: 1
         Handle: 256
         Count: 1
 > HCI Event (0x13) plen 5 [hci0] 31.166681
         Num handles: 1
         Handle: 256
         Count: 1
 > ACL Data RX flags 0x02 dlen 25 [hci0] 31.167709
       Channel: 65 len 21 [PSM 3 mode 0] {chan 1}
         11 ff 21 02 41 54 2b 43 4d 45 52 3d 33 2c 30 2c ..!.AT+CMER=3,0,
         30 2c 31 0d a3 0,1..
< ACL Data TX flags 0x00 dlen 14 [hci0] 31.167854
       Channel: 68 len 10 [PSM 3 mode 0] {chan 1}
         13 ef 0d 0d 0a 4f 4b 0d 0a 65 .....OK..e
 > HCI Event (0x13) plen 5 [hci0] 31.171687
         Num handles: 1
         Handle: 256
         Count: 1
 > ACL Data RX flags 0x02 dlen 19 [hci0] 31.197692
       Channel: 65 len 15 [PSM 3 mode 0] {chan 1}
         11 ff 15 01 41 54 2b 43 43 57 41 3d 31 0d a3 ....AT+CCWA=1..
< ACL Data TX flags 0x00 dlen 14 [hci0] 31.197863
       Channel: 68 len 10 [PSM 3 mode 0] {chan 1}
         13 ef 0d 0d 0a 4f 4b 0d 0a 65 .....OK..e
 > HCI Event (0x13) plen 5 [hci0] 31.201671
         Num handles: 1
         Handle: 256
         Count: 1
 > ACL Data RX flags 0x02 dlen 31 [hci0] 31.203939
       Channel: 65 len 27 [PSM 3 mode 0] {chan 1}
         11 ff 2d 01 41 54 2b 42 49 41 3d 30 2c 30 2c 31 ..-.AT+BIA=0,0,1
         2c 31 2c 31 2c 31 2c 30 2c 0d a3 ,1,1,1,0,..
< ACL Data TX flags 0x00 dlen 17 [hci0] 31.204263
       Channel: 68 len 13 [PSM 3 mode 0] {chan 1}
         13 ef 13 0d 0a 45 52 52 4f 52 0d 0a 65 .....ERROR..e
 > HCI Event (0x13) plen 5 [hci0] 31.208729
         Num handles: 1
         Handle: 256
         Count: 1
 > ACL Data RX flags 0x02 dlen 20 [hci0] 31.208907
       Channel: 65 len 16 [PSM 3 mode 0] {chan 1}
         11 ff 17 01 41 54 2b 43 42 43 3d 31 30 30 0d a3 ....AT+CBC=100..
< ACL Data TX flags 0x00 dlen 17 [hci0] 31.209194
       Channel: 68 len 13 [PSM 3 mode 0] {chan 1}
         13 ef 13 0d 0a 45 52 52 4f 52 0d 0a 65 .....ERROR..e
 > HCI Event (0x13) plen 5 [hci0] 31.213727
         Num handles: 1
         Handle: 256
         Count: 1
 > ACL Data RX flags 0x02 dlen 19 [hci0] 31.213935
       Channel: 65 len 15 [PSM 3 mode 0] {chan 1}
         11 ff 15 01 41 54 2b 56 47 53 3d 31 35 0d a3 ....AT+VGS=15..
< ACL Data TX flags 0x00 dlen 14 [hci0] 31.214182
       Channel: 68 len 10 [PSM 3 mode 0] {chan 1}
         13 ef 0d 0d 0a 4f 4b 0d 0a 65 .....OK..e
 > HCI Event (0x13) plen 5 [hci0] 31.218699
         Num handles: 1
         Handle: 256
         Count: 1
 > ACL Data RX flags 0x02 dlen 21 [hci0] 31.218903
       Channel: 65 len 17 [PSM 3 mode 0] {chan 1}
         11 ff 19 01 41 54 2b 43 4f 50 53 3d 33 2c 30 0d ....AT+COPS=3,0.
         a3 .
< ACL Data TX flags 0x00 dlen 14 [hci0] 31.219151
       Channel: 68 len 10 [PSM 3 mode 0] {chan 1}
         13 ef 0d 0d 0a 4f 4b 0d 0a 65 .....OK..e
 > HCI Event (0x13) plen 5 [hci0] 31.223655
         Num handles: 1
         Handle: 256
         Count: 1
 > ACL Data RX flags 0x02 dlen 19 [hci0] 31.223901
       Channel: 65 len 15 [PSM 3 mode 0] {chan 1}
         11 ff 15 01 41 54 2b 43 4d 45 45 3d 31 0d a3 ....AT+CMEE=1..
< ACL Data TX flags 0x00 dlen 14 [hci0] 31.224044
       Channel: 68 len 10 [PSM 3 mode 0] {chan 1}
         13 ef 0d 0d 0a 4f 4b 0d 0a 65 .....OK..e
 > HCI Event (0x13) plen 5 [hci0] 31.229657
         Num handles: 1
         Handle: 256
         Count: 1
< ACL Data TX flags 0x00 dlen 12 [hci0] 32.913824
       L2CAP: Disconnection Request (0x06) ident 7 len 4
         Destination CID: 67
         Source CID: 64
< ACL Data TX flags 0x00 dlen 12 [hci0] 32.913967
       L2CAP: Connection Request (0x02) ident 8 len 4
         PSM: 25 (0x0019)
         Source CID: 66
 > HCI Event (0x13) plen 5 [hci0] 32.917809
         Num handles: 1
         Handle: 256
         Count: 1
 > ACL Data RX flags 0x02 dlen 12 [hci0] 32.918175
       L2CAP: Disconnection Response (0x07) ident 7 len 4
         Destination CID: 67
         Source CID: 64
 > HCI Event (0x13) plen 5 [hci0] 32.918799
         Num handles: 1
         Handle: 256
         Count: 1
 > ACL Data RX flags 0x02 dlen 16 [hci0] 32.919548
       L2CAP: Connection Response (0x03) ident 8 len 8
         Destination CID: 70
         Source CID: 66
         Result: Connection successful (0x0000)
         Status: No further information available (0x0000)
< ACL Data TX flags 0x00 dlen 12 [hci0] 32.919590
       L2CAP: Configure Request (0x04) ident 9 len 4
         Destination CID: 70
         Flags: 0x0000
 > ACL Data RX flags 0x02 dlen 16 [hci0] 32.920800
       L2CAP: Configure Request (0x04) ident 7 len 8
         Destination CID: 66
         Flags: 0x0000
         Option: Maximum Transmission Unit (0x01)
           MTU: 672
< ACL Data TX flags 0x00 dlen 18 [hci0] 32.920846
       L2CAP: Configure Response (0x05) ident 7 len 10
         Source CID: 70
         Flags: 0x0000
         Result: Success (0x0000)
         Option: Maximum Transmission Unit (0x01)
           MTU: 672
 > HCI Event (0x13) plen 5 [hci0] 32.923795
         Num handles: 1
         Handle: 256
         Count: 1
 > ACL Data RX flags 0x02 dlen 14 [hci0] 32.924545
       L2CAP: Configure Response (0x05) ident 9 len 6
         Source CID: 66
         Flags: 0x0000
         Result: Success (0x0000)
< ACL Data TX flags 0x00 dlen 6 [hci0] 32.924675
       Channel: 70 len 2 [PSM 25 mode 0] {chan 2}
         00 01 ..
 > HCI Event (0x13) plen 5 [hci0] 32.924798
         Num handles: 1
         Handle: 256
         Count: 1
 > HCI Event (0x13) plen 5 [hci0] 32.928796
         Num handles: 1
         Handle: 256
         Count: 1
 > ACL Data RX flags 0x02 dlen 8 [hci0] 32.929291
       Channel: 66 len 4 [PSM 25 mode 0] {chan 2}
         02 01 04 08 ....
< ACL Data TX flags 0x00 dlen 7 [hci0] 32.929397
       Channel: 70 len 3 [PSM 25 mode 0] {chan 2}
         10 02 04 ...
 > HCI Event (0x13) plen 5 [hci0] 32.933791
         Num handles: 1
         Handle: 256
         Count: 1
 > ACL Data RX flags 0x02 dlen 16 [hci0] 32.934578
       Channel: 66 len 12 [PSM 25 mode 0] {chan 2}
         12 02 01 00 07 06 00 00 ff ff 02 59 ...........Y
< ACL Data TX flags 0x00 dlen 18 [hci0] 32.934704
       Channel: 70 len 14 [PSM 25 mode 0] {chan 2}
         20 03 04 04 01 00 07 06 00 00 21 15 02 35 .........!..5
 > HCI Event (0x13) plen 5 [hci0] 32.938861
         Num handles: 1
         Handle: 256
         Count: 1
 > ACL Data RX flags 0x02 dlen 6 [hci0] 32.939354
       Channel: 66 len 2 [PSM 25 mode 0] {chan 2}
         22 03 ".
< ACL Data TX flags 0x00 dlen 7 [hci0] 32.939468
       Channel: 70 len 3 [PSM 25 mode 0] {chan 2}
         30 06 04 0..
 > HCI Event (0x13) plen 5 [hci0] 32.943806
         Num handles: 1
         Handle: 256
         Count: 1
 > ACL Data RX flags 0x02 dlen 6 [hci0] 32.944301
       Channel: 66 len 2 [PSM 25 mode 0] {chan 2}
         32 06 2.
< ACL Data TX flags 0x00 dlen 12 [hci0] 32.944424
       L2CAP: Connection Request (0x02) ident 10 len 4
         PSM: 25 (0x0019)
         Source CID: 64
 > HCI Event (0x13) plen 5 [hci0] 32.948804
         Num handles: 1
         Handle: 256
         Count: 1
 > ACL Data RX flags 0x02 dlen 16 [hci0] 32.949551
       L2CAP: Connection Response (0x03) ident 10 len 8
         Destination CID: 71
         Source CID: 64
         Result: Connection successful (0x0000)
         Status: No further information available (0x0000)
< ACL Data TX flags 0x00 dlen 12 [hci0] 32.949582
       L2CAP: Configure Request (0x04) ident 11 len 4
         Destination CID: 71
         Flags: 0x0000
 > ACL Data RX flags 0x02 dlen 20 [hci0] 32.950571
       L2CAP: Configure Request (0x04) ident 8 len 12
         Destination CID: 64
         Flags: 0x0000
         Option: Maximum Transmission Unit (0x01)
           MTU: 1008
         Option: Flush Timeout (0x02)
           Flush timeout: 200
< ACL Data TX flags 0x00 dlen 18 [hci0] 32.950597
       L2CAP: Configure Response (0x05) ident 8 len 10
         Source CID: 71
         Flags: 0x0000
         Result: Success (0x0000)
         Option: Maximum Transmission Unit (0x01)
           MTU: 1008
 > HCI Event (0x13) plen 5 [hci0] 32.953824
         Num handles: 1
         Handle: 256
         Count: 1
 > ACL Data RX flags 0x02 dlen 14 [hci0] 32.954566
       L2CAP: Configure Response (0x05) ident 11 len 6
         Source CID: 64
         Flags: 0x0000
         Result: Success (0x0000)
 > HCI Event (0x13) plen 5 [hci0] 32.954798
         Num handles: 1
         Handle: 256
         Count: 1
< HCI Command (0x01|0x0028) plen 17 [hci0] 32.964171
         Handle: 256
         Transmit bandwidth: 8000
         Receive bandwidth: 8000
         Max latency: 65535
         Setting: 0x0060
         Retransmission effort: Don't care (0xff)
         Packet type: 0x003f
 > HCI Event (0x0f) plen 4 [hci0] 32.965775
       Setup Synchronous Connection (0x01|0x0028) ncmd 1
         Status: Success (0x00)
 > HCI Event (0x1b) plen 3 [hci0] 32.969774
         Handle: 256
         Max slots: 1
 > HCI Event (0x2c) plen 17 [hci0] 32.986795
         Status: Success (0x00)
         Handle: 257
         Address: 78:F7:BE:08:5E:DF (OUI 78-F7-BE)
         Link type: eSCO (0x02)
         Transmission interval: 0x0c
         Retransmission window: 0x02
         RX packet length: 60
         TX packet length: 60
         Air mode: CVSD (0x02)
< ACL Data TX flags 0x00 dlen 19 [hci0] 32.987649
       Channel: 68 len 15 [PSM 3 mode 0] {chan 1}
         13 ef 17 0d 0a 2b 56 47 53 3d 31 35 0d 0a 65 .....+VGS=15..e
< ACL Data TX flags 0x00 dlen 19 [hci0] 32.987662
       Channel: 68 len 15 [PSM 3 mode 0] {chan 1}
         13 ef 17 0d 0a 2b 56 47 4d 3d 31 35 0d 0a 65 .....+VGM=15..e
 > HCI Event (0x1b) plen 3 [hci0] 32.991768
         Handle: 256
         Max slots: 5
 > HCI Event (0x13) plen 5 [hci0] 32.992762
         Num handles: 1
         Handle: 256
         Count: 1
< SCO Data TX flags 0x00 dlen 48 [hci0] 32.993934
 > HCI Event (0x13) plen 5 [hci0] 32.995762
         Num handles: 1
         Handle: 256
         Count: 1
 > HCI Event (0x14) plen 6 [hci0] 37.801432
         Status: Success (0x00)
         Handle: 256
         Mode: Sniff (0x02)
         Interval: 247.500 msec (0x018c)
< HCI Command (0x01|0x0006) plen 3 [hci0] 38.011637
         Handle: 257
         Reason: Remote User Terminated Connection (0x13)
 > HCI Event (0x0f) plen 4 [hci0] 38.012251
       Disconnect (0x01|0x0006) ncmd 1
         Status: Success (0x00)
 > HCI Event (0x05) plen 4 [hci0] 38.051233
         Status: Success (0x00)
         Handle: 257
         Reason: Connection Terminated By Local Host (0x16)
 > HCI Event (0x14) plen 6 [hci0] 38.057234
         Status: Success (0x00)
         Handle: 256
         Mode: Active (0x00)
         Interval: 0.000 msec (0x0000)
 > HCI Event (0x14) plen 6 [hci0] 42.803863
         Status: Success (0x00)
         Handle: 256
         Mode: Sniff (0x02)
         Interval: 500.000 msec (0x0320)
< HCI Command (0x02|0x0004) plen 2 [hci0] 42.927906
         Handle: 256
 > HCI Event (0x0f) plen 4 [hci0] 42.928836
       Exit Sniff Mode (0x02|0x0004) ncmd 1
         Status: Success (0x00)
 > HCI Event (0x14) plen 6 [hci0] 43.264703
         Status: Success (0x00)
         Handle: 256
         Mode: Active (0x00)
         Interval: 0.000 msec (0x0000)
< HCI Command (0x01|0x0028) plen 17 [hci0] 43.264779
         Handle: 256
         Transmit bandwidth: 8000
         Receive bandwidth: 8000
         Max latency: 65535
         Setting: 0x0060
         Retransmission effort: Don't care (0xff)
         Packet type: 0x003f
 > HCI Event (0x0f) plen 4 [hci0] 43.265703
       Setup Synchronous Connection (0x01|0x0028) ncmd 1
         Status: Success (0x00)
 > HCI Event (0x1b) plen 3 [hci0] 43.271679
         Handle: 256
         Max slots: 1
 > HCI Event (0x2c) plen 17 [hci0] 43.290665
         Status: Success (0x00)
         Handle: 257
         Address: 78:F7:BE:08:5E:DF (OUI 78-F7-BE)
         Link type: eSCO (0x02)
         Transmission interval: 0x0c
         Retransmission window: 0x02
         RX packet length: 60
         TX packet length: 60
         Air mode: CVSD (0x02)
< ACL Data TX flags 0x00 dlen 19 [hci0] 43.291490
       Channel: 68 len 15 [PSM 3 mode 0] {chan 1}
         13 ef 17 0d 0a 2b 56 47 53 3d 31 35 0d 0a 65 .....+VGS=15..e
< ACL Data TX flags 0x00 dlen 19 [hci0] 43.291512
       Channel: 68 len 15 [PSM 3 mode 0] {chan 1}
         13 ef 17 0d 0a 2b 56 47 4d 3d 31 35 0d 0a 65 .....+VGM=15..e
< SCO Data TX flags 0x00 dlen 48 [hci0] 43.295627
< SCO Data TX flags 0x00 dlen 48 [hci0] 43.295850
 > HCI Event (0x1b) plen 3 [hci0] 43.296621
         Handle: 256
         Max slots: 5
 > HCI Event (0x13) plen 5 [hci0] 43.297623
         Num handles: 1
         Handle: 256
         Count: 1
 > HCI Event (0x13) plen 5 [hci0] 43.298627
         Num handles: 1
         Handle: 256
         Count: 1
 > HCI Event (0x14) plen 6 [hci0] 47.786446
         Status: Success (0x00)
         Handle: 256
         Mode: Sniff (0x02)
         Interval: 247.500 msec (0x018c)
< HCI Command (0x01|0x0006) plen 3 [hci0] 49.907615
         Handle: 257
         Reason: Remote User Terminated Connection (0x13)
 > HCI Event (0x0f) plen 4 [hci0] 49.908340
       Disconnect (0x01|0x0006) ncmd 1
         Status: Success (0x00)
 > HCI Event (0x05) plen 4 [hci0] 50.015272
         Status: Success (0x00)
         Handle: 257
         Reason: Connection Terminated By Local Host (0x16)
 > HCI Event (0x14) plen 6 [hci0] 50.021320
         Status: Success (0x00)
         Handle: 256
         Mode: Active (0x00)
         Interval: 0.000 msec (0x0000)
 > HCI Event (0x14) plen 6 [hci0] 54.795921
         Status: Success (0x00)
         Handle: 256
         Mode: Sniff (0x02)
         Interval: 500.000 msec (0x0320)
>
> Regards
>
> Marcel
>
>
>


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: lenovo-m4400s-btmon.log --]
[-- Type: text/x-log; name="lenovo-m4400s-btmon.log", Size: 11795 bytes --]

btsnoop\0\0\0\0\x01\0\0\aÑ\0\0\0\x10\0\0\0\x10\0\0\0\0\0\0\0\0\0áÇÇK\x18¾\0\x01]Z\x06ý‹\fhci0\0\0\0\0\0\0\0\f\0\0\0\f\0\0\0\x03\0\0\0\0\0áÇÇKAI \x04
ß^\b¾÷x\x04\x04$\x01\0\0\0
\0\0\0
\0\0\0\x02\0\0\0\0\0áÇÇKAJf	\x04\aß^\b¾÷x\0\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÇKAM\x7f\x0f\x04\0\x01	\x04\0\0\0
\0\0\0
\0\0\0\x03\0\0\0\0\0áÇÇKCt\r\x12\b\0ß^\b¾÷x\0\0\0\0\r\0\0\0\r\0\0\0\x03\0\0\0\0\0áÇÇKC‹m\x03\v\0\0\x01ß^\b¾÷x\x01\0\0\0\0\x05\0\0\0\x05\0\0\0\x02\0\0\0\0\0áÇÇKC‹¸^[\x04\x02\0\x01\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÇKCR\x0f\x04\0\x01^[\x04\0\0\0\x05\0\0\0\x05\0\0\0\x03\0\0\0\0\0áÇÇKC¦Ñ^[\x03\0\x01\x05\0\0\0\r\0\0\0\r\0\0\0\x03\0\0\0\0\0áÇÇKC®œ\v\v\0\0\x01¿þþ›ÿy‡\0\0\0\x06\0\0\0\x06\0\0\0\x02\0\0\0\0\0áÇÇKC®«\x1c\x04\x03\0\x01\x01\0\0\0\x10\0\0\0\x10\0\0\0\x05\0\0\0\0\0áÇÇKC¶f\0!\f\0\b\0\x01\0\x02\x02\x04\0\x01\0A\0\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÇKC¶j\x0f\x04\0\x01\x1c\x04\0\0\0\x14\0\0\0\x14\0\0\0\x04\0\0\0\0\0áÇÇKC¶‚\0\x01\x10\0\f\0\x01\0\x03\x02\b\0@\0A\0\x01\0\0\0\0\0\0\x0e\0\0\0\x0e\0\0\0\x04\0\0\0\0\0áÇÇKC¶‡\0\x01
\0\x06\0\x01\0
\x01\x02\0\x02\0\0\0\0\x0f\0\0\0\x0f\0\0\0\x03\0\0\0\0\0áÇÇKCÆ\x06#\r\0\0\x01\x01\0\x01\0\0\0\0\0\0\0\0\0\0\r\0\0\0\r\0\0\0\x02\0\0\0\0\0áÇÇKCÆ\x11\x19\x04
ß^\b¾÷x\x02\0\0\0\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÇKCÉá\x0f\x04\0\x01\x19\x04\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÇKCÍ×\x13\x05\x01\0\x01\x01\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÇKCáV\x13\x05\x01\0\x01\x01\0\0\0\0\x14\0\0\0\x14\0\0\0\x05\0\0\0\0\0áÇÇKCâI\0!\x10\0\f\0\x01\0\v\x01\b\0\x02\0\0\0\0\x02\0\0\0\0\0\x0e\0\0\0\x0e\0\0\0\x04\0\0\0\0\0áÇÇKCâc\0\x01
\0\x06\0\x01\0\x01\x01\x02\0\0\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÇKCôÞ\x13\x05\x01\0\x01\x01\0\0\0\x01\x01\0\0\x01\x01\0\0\0\x03\0\0\0\0\0áÇÇKD\x17þ\aÿ\0ß^\b¾÷xHM1700\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x14\0\0\0\x14\0\0\0\x04\0\0\0\0\0áÇÇK€Ç\x04\0\x01\x10\0\f\0\x01\0\x03\x02\b\0@\0A\0\0\0\0\0\0\0\0\x10\0\0\0\x10\0\0\0\x04\0\0\0\0\0áÇÇK€Ç\x1c\0\x01\f\0\b\0\x01\0\x04\x02\x04\0A\0\0\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÇK€Öî\x13\x05\x01\0\x01\x01\0\0\0\0\x14\0\0\0\x14\0\0\0\x05\0\0\0\0\0áÇÇK€ÙÖ\0!\x10\0\f\0\x01\0\x04\x03\b\0@\0\0\0\x01\x02@\0\0\0\0\x16\0\0\0\x16\0\0\0\x04\0\0\0\0\0áÇÇK€Ú\x06\0\x01\x12\0\x0e\0\x01\0\x05\x03
\0A\0\0\0\0\0\x01\x02@\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÇK€Ú½\x13\x05\x01\0\x01\x01\0\0\0\0\x12\0\0\0\x12\0\0\0\x05\0\0\0\0\0áÇÇK€Þ·\0!\x0e\0
\0\x01\0\x05\x02\x06\0@\0\0\0\0\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÇK€êr\x13\x05\x01\0\x01\x01\0\0\0\0#\0\0\0#\0\0\0\x05\0\0\0\0\0áÇÇK€ìa\0!\x1f\0^[\0@\0\x06\0\0\0\x165\x03\x19\x11\x1f\005\f	\0\x01	\0\x04	\0		\x03\x11\0\0\0\0H\0\0\0H\0\0\0\x04\0\0\0\0\0áÇÇK€íŸ\0\x01D\0@\0A\0\a\0\0\0;\00515/	\0\x015\x06\x19\x11\x1f\x19\x12\x03	\0\x045\f5\x03\x19\x01\05\x05\x19\0\x03\b\r	\0	5\b5\x06\x19\x11\x1e	\x01\x05	\x03\x11\b[\x10sR0\0\0\0\0\0\0+\0\0\0+\0\0\0\x05\0\0\0\0\0áÇÇK\x05Â\0!'\0#\0@\0\x06\0\x01\0\x1e5\x03\x19\x11\x1f\005\f	\0\x01	\0\x04	\0		\x03\x11\b[\x10sR0\0\0\0\0\0\0\x13\0\0\0\x13\0\0\0\x04\0\0\0\0\0áÇÇK\x06‚\0\x01\x0f\0\v\0A\0\a\0\x01\0\x06\0\x03	\0\0\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÇK	«\x13\x05\x01\0\x01\x01\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÇK\x15e\x13\x05\x01\0\x01\x01\0\0\0\0\x10\0\0\0\x10\0\0\0\x05\0\0\0\0\0áÇÇK\x18Ë\0!\f\0\b\0\x01\0\x06\x04\x04\0@\0A\0\0\0\0\x10\0\0\0\x10\0\0\0\x04\0\0\0\0\0áÇÇK\x19\x02\0\x01\f\0\b\0\x01\0\a\x04\x04\0@\0A\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÇK(ê\x13\x05\x01\0\x01\x01\0\0\0\0\b\0\0\0\b\0\0\0\x03\0\0\0\0\0áÇÇK0¶\x17\x06ß^\b¾÷x\0\0\0	\0\0\0	\0\0\0\x02\0\0\0\0\0áÇÇK1j\f\x04\x06ß^\b¾÷x\0\0\0\f\0\0\0\f\0\0\0\x03\0\0\0\0\0áÇÇK4Ÿ\x0e
\x01\f\x04\0ß^\b¾÷x\0\0\0\v\0\0\0\v\0\0\0\x03\0\0\0\0\0áÇÇKH\x162	ß^\b¾÷x\x03\0\x05\0\0\0\b\0\0\0\b\0\0\0\x03\0\0\0\0\0áÇÇKKô1\x06ß^\b¾÷x\0\0\0\f\0\0\0\f\0\0\0\x02\0\0\0\0\0áÇÇKL”+\x04	ß^\b¾÷x\x01\0\x05\0\0\0\f\0\0\0\f\0\0\0\x03\0\0\0\0\0áÇÇKOØ\x0e
\x01+\x04\0ß^\b¾÷x\0\0\0\f\0\0\0\f\0\0\0\x03\0\0\0\0\0áÇÇK…;i3
ß^\b¾÷x Æ\b\0\0\0\0	\0\0\0	\0\0\0\x02\0\0\0\0\0áÇÇK…<H-\x04\x06ß^\b¾÷x\0\0\0\f\0\0\0\f\0\0\0\x03\0\0\0\0\0áÇÇK…?g\x0e
\x01-\x04\0ß^\b¾÷x\0\0\0	\0\0\0	\0\0\0\x03\0\0\0\0\0áÇÇK‹`ß6\a\x05ß^\b¾÷x\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÇK½ø\x05\x04\0\0\x01\x13\0\0\0\b\0\0\0\b\0\0\0\x02\0\0\0\0\0áÇÇL\r¥+\x01\x04\x053‹ž\b\0\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÇL\r«\x1f\x0f\x04\0\x02\x01\x04\0\0\x01\x01\0\0\x01\x01\0\0\0\x03\0\0\0\0\0áÇÇL\x19\aù/ÿ\x01ß^\b¾÷x\x01\0\x04\x04$ñQÔ\a	HM1700\v\x03\b\x11\x1e\x11\v\x11\x0e\x11\x01\x11\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\0\0\x02\0\0\0\0\0áÇÇL”“2\x02\x04\0\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÇL”œh\x0e\x04\x02\x02\x04\0\0\0\0\x10\0\0\0\x10\0\0\0\x02\0\0\0\0\0áÇÇL”¥—\x05\x04\rß^\b¾÷x\x18Ì\x02\0\0\0\x01\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÇL”¨\r\x0f\x04\0\x01\x05\x04\0\0\0\r\0\0\0\r\0\0\0\x03\0\0\0\0\0áÇÇL¡ÉÏ\x03\v\0\0\x01ß^\b¾÷x\x01\0\0\0\0\x05\0\0\0\x05\0\0\0\x02\0\0\0\0\0áÇÇL¡Ê·^[\x04\x02\0\x01\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÇL¡Ñº\x0f\x04\0\x01^[\x04\0\0\0\x05\0\0\0\x05\0\0\0\x03\0\0\0\0\0áÇÇL¡Ý,^[\x03\0\x01\x05\0\0\0\r\0\0\0\r\0\0\0\x03\0\0\0\0\0áÇÇL¡èî\v\v\0\0\x01¿þþ›ÿy‡\0\0\0\x06\0\0\0\x06\0\0\0\x02\0\0\0\0\0áÇÇL¡èý\x1c\x04\x03\0\x01\x01\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÇL¡ìÓ\x0f\x04\0\x01\x1c\x04\0\0\0\x0f\0\0\0\x0f\0\0\0\x03\0\0\0\0\0áÇÇL¢\f\x17#\r\0\0\x01\x01\0\x01\0\0\0\0\0\0\0\0\0\0\r\0\0\0\r\0\0\0\x02\0\0\0\0\0áÇÇL¢\f,\x19\x04
ß^\b¾÷x\x02\0\0\0\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÇL¢\x0fð\x0f\x04\0\x01\x19\x04\0\0\x01\x01\0\0\x01\x01\0\0\0\x03\0\0\0\0\0áÇÇL¢Z\x1a\aÿ\0ß^\b¾÷xHM1700\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\0\0\0\x05\0\0\0\x02\0\0\0\0\0áÇÇL¢Z2\x11\x04\x02\0\x01\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÇL¢^\x03\x0f\x04\0\x01\x11\x04\0\0\0\b\0\0\0\b\0\0\0\x03\0\0\0\0\0áÇÇL¢b1\x17\x06ß^\b¾÷x\0\0\0	\0\0\0	\0\0\0\x02\0\0\0\0\0áÇÇL¢xÖ\f\x04\x06ß^\b¾÷x\0\0\0\f\0\0\0\f\0\0\0\x03\0\0\0\0\0áÇÇL¢}P\x0e
\x01\f\x04\0ß^\b¾÷x\0\0\0\b\0\0\0\b\0\0\0\x03\0\0\0\0\0áÇÇL¢%1\x06ß^\b¾÷x\0\0\0\f\0\0\0\f\0\0\0\x02\0\0\0\0\0áÇÇL¢W+\x04	ß^\b¾÷x\x01\0\x03\0\0\0\f\0\0\0\f\0\0\0\x03\0\0\0\0\0áÇÇL¢….\x0e
\x01+\x04\0ß^\b¾÷x\0\0\0\v\0\0\0\v\0\0\0\x03\0\0\0\0\0áÇÇL¢”Ë2	ß^\b¾÷x\x03\0\x02\0\0\0\f\0\0\0\f\0\0\0\x03\0\0\0\0\0áÇÇL¦=é3
ß^\b¾÷xg"\x04\0\0\0\0	\0\0\0	\0\0\0\x02\0\0\0\0\0áÇÇL¦S*,\x04\x06ß^\b¾÷x\0\0\0\f\0\0\0\f\0\0\0\x03\0\0\0\0\0áÇÇL¦Y8\x0e
\x01,\x04\0ß^\b¾÷x\0\0\0	\0\0\0	\0\0\0\x03\0\0\0\0\0áÇÇL­«\x1f6\a\0ß^\b¾÷x\0\0\0\x19\0\0\0\x19\0\0\0\x03\0\0\0\0\0áÇÇL­éÚ\x18\x17ß^\b¾÷xÞ.¶‹\x17])5ƒ0"°L\x12\x1câ\x04\0\0\0\x05\0\0\0\x05\0\0\0\x03\0\0\0\0\0áÇÇL­í~\x06\x03\0\0\x01\0\0\0\x06\0\0\0\x06\0\0\0\x02\0\0\0\0\0áÇÇL­íÆ\x13\x04\x03\0\x01\x01\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÇL­ñ¬\x0f\x04\0\x01\x13\x04\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÇL®•b\b\x04\0\0\x01\x01\0\0\0\x0e\0\0\0\x0e\0\0\0\x04\0\0\0\0\0áÇÇL®•\0\x01
\0\x06\0\x01\0
\x01\x02\0\x02\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÇL®¤ÿ\x13\x05\x01\0\x01\x01\0\0\0\0\x14\0\0\0\x14\0\0\0\x05\0\0\0\0\0áÇÇL®¦ð\0!\x10\0\f\0\x01\0\v\x01\b\0\x02\0\0\0\0\x02\0\0\0\0\0\x0e\0\0\0\x0e\0\0\0\x04\0\0\0\0\0áÇÇL®§\x15\0\x01
\0\x06\0\x01\0\x01\x01\x02\0\0\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÇL®¸…\x13\x05\x01\0\x01\x01\0\0\0\0\x10\0\0\0\x10\0\0\0\x04\0\0\0\0\0áÇÇLë±Z\0\x01\f\0\b\0\x01\0\x02\x02\x04\0\x01\0@\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÇLëÁ¥\x13\x05\x01\0\x01\x01\0\0\0\0\x14\0\0\0\x14\0\0\0\x05\0\0\0\0\0áÇÇLëÅi\0!\x10\0\f\0\x01\0\x03\x02\b\0C\0@\0\0\0\0\0\0\0\0\x10\0\0\0\x10\0\0\0\x04\0\0\0\0\0áÇÇLëÅ›\0\x01\f\0\b\0\x01\0\x04\x03\x04\0C\0\0\0\0\0\0\x14\0\0\0\x14\0\0\0\x05\0\0\0\0\0áÇÇLëʏ\0!\x10\0\f\0\x01\0\x04\x02\b\0@\0\0\0\x01\x02@\0\0\0\0\x16\0\0\0\x16\0\0\0\x04\0\0\0\0\0áÇÇLëÊÐ\0\x01\x12\0\x0e\0\x01\0\x05\x02
\0C\0\0\0\0\0\x01\x02@\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÇLëÕV\x13\x05\x01\0\x01\x01\0\0\0\0\x12\0\0\0\x12\0\0\0\x05\0\0\0\0\0áÇÇLëØõ\0!\x0e\0
\0\x01\0\x05\x03\x06\0@\0\0\0\0\0\0\0\0\x1c\0\0\0\x1c\0\0\0\x04\0\0\0\0\0áÇÇLëÙž\0\x01\x18\0\x14\0C\0\x06\0\0\0\x0f5\x03\x19\x01\0ÿÿ5\x05
\0\0ÿÿ\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÇLëÜÝ\x13\x05\x01\0\x01\x01\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÇLëè—\x13\x05\x01\0\x01\x01\0\0\0\0H\0\0\0H\0\0\0\x05\0\0\0\0\0áÇÇLëì¸\0!D\0@\0@\0\a\0\0\0;\066\x01\a6\0R	\0\0
\0\x01\0\x01	\0\x015	\x19\x11\b\x19\x111\x19\x12\x03	\0\x045\f5\x03\x19\x01\05\x05\x19\0\x03\b\x01	\0\x055\x03\x19\x10\x02	\x02\06\0\0\0\x1e\0\0\0\x1e\0\0\0\x04\0\0\0\0\0áÇÇLëíŸ\0\x01\x1a\0\x16\0C\0\x06\0\x01\0\x115\x03\x19\x01\0ÿÿ5\x05
\0\0ÿÿ\x02\06\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÇLëüG\x13\x05\x01\0\x01\x01\0\0\0\0H\0\0\0H\0\0\0\x05\0\0\0\0\0áÇÇLëÿý\0!D\0@\0@\0\a\0\x01\0;\06\0	5\b5\x06\x19\x11\b	\x01\x02	\x01\0%\fHSP service\0	\x03\x02(\x016\0P	\0\0
\0\x01\0\x02	\0\x015\x06\x19\x11\x1e\x19\x02\0l\0\0\0\x1e\0\0\0\x1e\0\0\0\x04\0\0\0\0\0áÇÇLì\0\0\x01\x1a\0\x16\0C\0\x06\0\x02\0\x115\x03\x19\x01\0ÿÿ5\x05
\0\0ÿÿ\x02\0l\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÇLì\x0f»\x13\x05\x01\0\x01\x01\0\0\0\0H\0\0\0H\0\0\0\x05\0\0\0\0\0áÇÇLì\x13Ã\0!D\0@\0@\0\a\0\x02\0;\06\x12\x03	\0\x045\f5\x03\x19\x01\05\x05\x19\0\x03\b\x02	\0\x055\x03\x19\x10\x02	\0	5\b5\x06\x19\x11\x1e	\x01\x05	\x01\0%\fHFP servi\x02\0¢\0\0\0\x1e\0\0\0\x1e\0\0\0\x04\0\0\0\0\0áÇÇLì\x14š\0\x01\x1a\0\x16\0C\0\x06\0\x03\0\x115\x03\x19\x01\0ÿÿ5\x05
\0\0ÿÿ\x02\0¢\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÇLì#!\x13\x05\x01\0\x01\x01\0\0\0\0H\0\0\0H\0\0\0\x05\0\0\0\0\0áÇÇLì'\x05\0!D\0@\0@\0\a\0\x03\0;\06ce\0	\x03\x11	\0^[6\0\	\0\0
\0\x01\0\x03	\0\x015\x03\x19\x11\v	\0\x045\x105\x06\x19\x01\0	\0\x195\x06\x19\0\x19	\x01\x02	\0\x055\x03\x02\0Ø\0\0\0\x1e\0\0\0\x1e\0\0\0\x04\0\0\0\0\0áÇÇLì'¾\0\x01\x1a\0\x16\0C\0\x06\0\x04\0\x115\x03\x19\x01\0ÿÿ5\x05
\0\0ÿÿ\x02\0Ø\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÇLì6®\x13\x05\x01\0\x01\x01\0\0\0\0B\0\0\0B\0\0\0\x05\0\0\0\0\0áÇÇLì:«\0!>\0:\0@\0\a\0\x04\05\02\x19\x10\x02	\0	5\b5\x06\x19\x11\r	\x01\x02	\x01\0%\x17Advanced audio service\0	\x03\x11	\0\x01\0\0\0\0\x1c\0\0\0\x1c\0\0\0\x04\0\0\0\0\0áÇÇLî\x10\x16\0\x01\x18\0\x14\0C\0\x06\0\x05\0\x0f5\x03\x19\x12\0ÿÿ5\x05
\0\0ÿÿ\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÇLî\x1e÷\x13\x05\x01\0\x01\x01\0\0\0\0G\0\0\0G\0\0\0\x05\0\0\0\0\0áÇÇLî"Ú\0!C\0?\0@\0\a\0\x05\0:\055D6\0A	\0\0
\0\x01\0\0	\0\x015\x03\x19\x12\0	\0\x055\x03\x19\x10\x02	\x02\0	\x01\x03	\x02\x01	\0\x0f	\x02\x02	\0\0	\x02\x03	\0\0\x02\05\0\0\0\x1e\0\0\0\x1e\0\0\0\x04\0\0\0\0\0áÇÇLî#´\0\x01\x1a\0\x16\0C\0\x06\0\x06\0\x115\x03\x19\x12\0ÿÿ5\x05
\0\0ÿÿ\x02\05\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÇLî2c\x13\x05\x01\0\x01\x01\0\0\0\0!\0\0\0!\0\0\0\x05\0\0\0\0\0áÇÇLî5&\0!\x1d\0\x19\0@\0\a\0\x06\0\x14\0\x11	\x02\x04(\x01	\x02\x05	\0\x01	€\x01	\0\x01\0\0\0\0\x1c\0\0\0\x1c\0\0\0\x04\0\0\0\0\0áÇÇLïÆ‹\0\x01\x18\0\x14\0C\0\x06\0\a\0\x0f5\x03\x19\x11\x1eÿÿ5\x05
\0\0ÿÿ\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÇLïÐ\x1a\x13\x05\x01\0\x01\x01\0\0\0\0G\0\0\0G\0\0\0\x05\0\0\0\0\0áÇÇLïÔõ\0!C\0?\0@\0\a\0\a\0:\055S6\0P	\0\0
\0\x01\0\x02	\0\x015\x06\x19\x11\x1e\x19\x12\x03	\0\x045\f5\x03\x19\x01\05\x05\x19\0\x03\b\x02	\0\x055\x03\x19\x10\x02	\0	5\x02\05\0\0\0\x1e\0\0\0\x1e\0\0\0\x04\0\0\0\0\0áÇÇLïÕÍ\0\x01\x1a\0\x16\0C\0\x06\0\b\0\x115\x03\x19\x11\x1eÿÿ5\x05
\0\0ÿÿ\x02\05\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÇLïãž\x13\x05\x01\0\x01\x01\0\0\0\00\0\0\00\0\0\0\x05\0\0\0\0\0áÇÇLïèz\0!,\0(\0@\0\a\0\b\0#\0 \b5\x06\x19\x11\x1e	\x01\x05	\x01\0%\fHFP service\0	\x03\x11	\0^[\0\0\0\0\x10\0\0\0\x10\0\0\0\x04\0\0\0\0\0áÇÇLïê„\0\x01\f\0\b\0\x01\0\x02\x04\x04\0\x03\0A\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÇLï÷\x19\x13\x05\x01\0\x01\x01\0\0\0\0\x14\0\0\0\x14\0\0\0\x05\0\0\0\0\0áÇÇLïûù\0!\x10\0\f\0\x01\0\x03\x04\b\0D\0A\0\0\0\0\0\0\0\0\x14\0\0\0\x14\0\0\0\x04\0\0\0\0\0áÇÇLïü\x13\0\x01\x10\0\f\0\x01\0\x04\x05\b\0D\0\0\0\x01\x02õ\x03\0\0\0\x14\0\0\0\x14\0\0\0\x05\0\0\0\0\0áÇÇLð
Ÿ\0!\x10\0\f\0\x01\0\x04\x03\b\0A\0\0\0\x01\x02\0\x04\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÇLð
ª\x13\x05\x01\0\x01\x01\0\0\0\0\x16\0\0\0\x16\0\0\0\x04\0\0\0\0\0áÇÇLð
Æ\0\x01\x12\0\x0e\0\x01\0\x05\x03
\0D\0\0\0\0\0\x01\x02\0\x04\0\0\0\x12\0\0\0\x12\0\0\0\x05\0\0\0\0\0áÇÇLð\x0f~\0!\x0e\0
\0\x01\0\x05\x05\x06\0A\0\0\0\0\0\0\0\0\f\0\0\0\f\0\0\0\x04\0\0\0\0\0áÇÇLð\x0fÞ\0\x01\b\0\x04\0D\0\x03?\x01\x1c\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÇLð\x1a>\x13\x05\x01\0\x01\x01\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÇLð\x1e!\x13\x05\x01\0\x01\x01\0\0\0\0\f\0\0\0\f\0\0\0\x05\0\0\0\0\0áÇÇLð"	\0!\b\0\x04\0A\0\x03s\x01×\0\0\0\x16\0\0\0\x16\0\0\0\x04\0\0\0\0\0áÇÇLð"o\0\x01\x12\0\x0e\0D\0\x03ï\x15ƒ\x11\x04ð\a\0ð\x03\0\ap\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÇLð1«\x13\x05\x01\0\x01\x01\0\0\0\0\x16\0\0\0\x16\0\0\0\x05\0\0\0\0\0áÇÇLð5Ž\0!\x12\0\x0e\0A\0\x01ï\x15\x11\x04à\a\0ÿ\0\0\aª\0\0\0\f\0\0\0\f\0\0\0\x04\0\0\0\0\0áÇÇLð5ó\0\x01\b\0\x04\0D\0\x13?\x01–\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÇLðE3\x13\x05\x01\0\x01\x01\0\0\0\0\f\0\0\0\f\0\0\0\x05\0\0\0\0\0áÇÇLðI\x13\0!\b\0\x04\0A\0\x13s\x01]\0\0\0\x10\0\0\0\x10\0\0\0\x04\0\0\0\0\0áÇÇLðI=\0\x01\f\0\b\0D\0\x03ï	ã\x05\x13p\0\0\0\x10\0\0\0\x10\0\0\0\x05\0\0\0\0\0áÇÇLðO\0\0!\f\0\b\0\x01\0\x02\x04\x04\0\x01\0E\0\0\0\0\x14\0\0\0\x14\0\0\0\x04\0\0\0\0\0áÇÇLðO\x1e\0\x01\x10\0\f\0\x01\0\x03\x04\b\0B\0E\0\0\0\0\0\0\0\0\x10\0\0\0\x10\0\0\0\x04\0\0\0\0\0áÇÇLðO"\0\x01\f\0\b\0\x01\0\x04\x06\x04\0E\0\0\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÇLðXº\x13\x05\x01\0\x01\x01\0\0\0\0\x10\0\0\0\x10\0\0\0\x05\0\0\0\0\0áÇÇLð] \0!\f\0\b\0A\0\x01ï	á\x05\x13ª\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÇLð`¤\x13\x05\x01\0\x01\x01\0\0\0\0\x10\0\0\0\x10\0\0\0\x05\0\0\0\0\0áÇÇLðb\x1a\0!\f\0\b\0A\0\x01ï	ã\x05\x13ª\0\0\0\x10\0\0\0\x10\0\0\0\x04\0\0\0\0\0áÇÇLðb[\0\x01\f\0\b\0D\0\x03ï	á\x05\x13p\0\0\0\r\0\0\0\r\0\0\0\x04\0\0\0\0\0áÇÇLðbb\0\x01	\0\x05\0D\0\x13ÿ\x01!y\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÇLðdŽ\x13\x05\x01\0\x01\x01\0\0\0\0\x14\0\0\0\x14\0\0\0\x05\0\0\0\0\0áÇÇLðgy\0!\x10\0\f\0\x01\0\x04\x05\b\0B\0\0\0\x01\x02@\0\0\0\0\x16\0\0\0\x16\0\0\0\x04\0\0\0\0\0áÇÇLðg™\0\x01\x12\0\x0e\0\x01\0\x05\x05
\0E\0\0\0\0\0\x01\x02@\0\0\0\0\x12\0\0\0\x12\0\0\0\x05\0\0\0\0\0áÇÇLðlz\0!\x0e\0
\0\x01\0\x05\x06\x06\0B\0\0\0\0\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÇLðtR\x13\x05\x01\0\x01\x01\0\0\0\0\x18\0\0\0\x18\0\0\0\x05\0\0\0\0\0áÇÇLðuû\0!\x14\0\x10\0A\0\x11ÿ\x17	AT+BRSF=27\r£\0\0\0\x1a\0\0\0\x1a\0\0\0\x04\0\0\0\0\0áÇÇLðv„\0\x01\x16\0\x12\0D\0\x13ï\x1d
+BRSF: 352
e\0\0\0\x12\0\0\0\x12\0\0\0\x04\0\0\0\0\0áÇÇLðvŒ\0\x01\x0e\0
\0D\0\x13ï
OK
e\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÇLðw\x13\x05\x01\0\x01\x01\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÇLð|\x1d\x13\x05\x01\0\x01\x01\0\0\0\0 \0\0\0 \0\0\0\x05\0\0\0\0\0áÇÇLð\x7f\a\0!\x1c\0\x18\0B\0\x06\0\0\0\x135\x03\x19\x11\x1f\005		\0\x01	\0		\x03\x11\0\0\0\02\0\0\02\0\0\0\x04\0\0\0\0\0áÇÇLð\x7fà\0\x01.\0*\0E\0\a\0\0\0%\0"5 5\x1e	\0\x015\x06\x19\x11\x1f\x19\x12\x03	\0	5\b5\x06\x19\x11\x1e	\x01\x05	\x03\x11	\0\0\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÇLð‡Ó\x13\x05\x01\0\x01\x01\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÇLð‹»\x13\x05\x01\0\x01\x01\0\0\0\0\x17\0\0\0\x17\0\0\0\x05\0\0\0\0\0áÇÇLðª\0!\x13\0\x0f\0A\0\x11ÿ\x15\x02AT+CIND=?\r£\0\0\0‘\0\0\0‘\0\0\0\x04\0\0\0\0\0áÇÇLðŽf\0\x01\0‰\0D\0\x13ï\b\x01
+CIND: ("battchg",(0-5)),("signal",(0-5)),("service",(0,1)),("call",(0,1)),("callsetup",(0-3)),("callheld",(0-2)),("roam",(0,1))
e\0\0\0\x12\0\0\0\x12\0\0\0\x04\0\0\0\0\0áÇÇLðŽp\0\x01\x0e\0
\0D\0\x13ï
OK
e\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÇLð‰\x13\x05\x01\0\x01\x01\0\0\0\0\x10\0\0\0\x10\0\0\0\x05\0\0\0\0\0áÇÇLð“S\0!\f\0\b\0\x01\0\x06\x06\x04\0B\0E\0\0\0\0\x10\0\0\0\x10\0\0\0\x04\0\0\0\0\0áÇÇLð“t\0\x01\f\0\b\0\x01\0\a\x06\x04\0B\0E\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÇLð¢ô\x13\x05\x01\0\x01\x01\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÇLð¦í\x13\x05\x01\0\x01\x01\0\0\0\0\x16\0\0\0\x16\0\0\0\x05\0\0\0\0\0áÇÇLðªÓ\0!\x12\0\x0e\0A\0\x11ÿ\x13\x02AT+CIND?\r£\0\0\0$\0\0\0$\0\0\0\x04\0\0\0\0\0áÇÇLð«3\0\x01 \0\x1c\0D\0\x13ï1
+CIND: 5,5,1,0,0,0,0
e\0\0\0\x12\0\0\0\x12\0\0\0\x04\0\0\0\0\0áÇÇLð«<\0\x01\x0e\0
\0D\0\x13ï
OK
e\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÇLð®¼\x13\x05\x01\0\x01\x01\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÇLð¾L\x13\x05\x01\0\x01\x01\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÇLðÍÙ\x13\x05\x01\0\x01\x01\0\0\0\0\x1d\0\0\0\x1d\0\0\0\x05\0\0\0\0\0áÇÇLðÑÝ\0!\x19\0\x15\0A\0\x11ÿ!\x02AT+CMER=3,0,0,1\r£\0\0\0\x12\0\0\0\x12\0\0\0\x04\0\0\0\0\0áÇÇLðÒn\0\x01\x0e\0
\0D\0\x13ï
OK
e\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÇLðág\x13\x05\x01\0\x01\x01\0\0\0\0\x17\0\0\0\x17\0\0\0\x05\0\0\0\0\0áÇÇLñFü\0!\x13\0\x0f\0A\0\x11ÿ\x15\x01AT+CCWA=1\r£\0\0\0\x12\0\0\0\x12\0\0\0\x04\0\0\0\0\0áÇÇLñG§\0\x01\x0e\0
\0D\0\x13ï
OK
e\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÇLñV‡\x13\x05\x01\0\x01\x01\0\0\0\0#\0\0\0#\0\0\0\x05\0\0\0\0\0áÇÇLñ_c\0!\x1f\0^[\0A\0\x11ÿ-\x01AT+BIA=0,0,1,1,1,1,0,\r£\0\0\0\x15\0\0\0\x15\0\0\0\x04\0\0\0\0\0áÇÇLñ`§\0\x01\x11\0\r\0D\0\x13ï\x13
ERROR
e\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÇLñr\x19\x13\x05\x01\0\x01\x01\0\0\0\0\x18\0\0\0\x18\0\0\0\x05\0\0\0\0\0áÇÇLñrË\0!\x14\0\x10\0A\0\x11ÿ\x17\x01AT+CBC=100\r£\0\0\0\x15\0\0\0\x15\0\0\0\x04\0\0\0\0\0áÇÇLñsê\0\x01\x11\0\r\0D\0\x13ï\x13
ERROR
e\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÇLñ…Ÿ\x13\x05\x01\0\x01\x01\0\0\0\0\x17\0\0\0\x17\0\0\0\x05\0\0\0\0\0áÇÇLñ†o\0!\x13\0\x0f\0A\0\x11ÿ\x15\x01AT+VGS=15\r£\0\0\0\x12\0\0\0\x12\0\0\0\x04\0\0\0\0\0áÇÇLñ‡f\0\x01\x0e\0
\0D\0\x13ï
OK
e\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÇLñ™\v\x13\x05\x01\0\x01\x01\0\0\0\0\x19\0\0\0\x19\0\0\0\x05\0\0\0\0\0áÇÇLñ™×\0!\x15\0\x11\0A\0\x11ÿ\x19\x01AT+COPS=3,0\r£\0\0\0\x12\0\0\0\x12\0\0\0\x04\0\0\0\0\0áÇÇLñšÏ\0\x01\x0e\0
\0D\0\x13ï
OK
e\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÇLñ¬g\x13\x05\x01\0\x01\x01\0\0\0\0\x17\0\0\0\x17\0\0\0\x05\0\0\0\0\0áÇÇLñ­]\0!\x13\0\x0f\0A\0\x11ÿ\x15\x01AT+CMEE=1\r£\0\0\0\x12\0\0\0\x12\0\0\0\x04\0\0\0\0\0áÇÇLñ­ì\0\x01\x0e\0
\0D\0\x13ï
OK
e\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÇLñÃÙ\x13\x05\x01\0\x01\x01\0\0\0\0\x10\0\0\0\x10\0\0\0\x04\0\0\0\0\0áÇÇM\vv \0\x01\f\0\b\0\x01\0\x06\a\x04\0C\0@\0\0\0\0\x10\0\0\0\x10\0\0\0\x04\0\0\0\0\0áÇÇM\vw/\0\x01\f\0\b\0\x01\0\x02\b\x04\0\x19\0B\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÇM\v†1\x13\x05\x01\0\x01\x01\0\0\0\0\x10\0\0\0\x10\0\0\0\x05\0\0\0\0\0áÇÇM\v‡Ÿ\0!\f\0\b\0\x01\0\a\a\x04\0C\0@\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÇM\vŠ\x0f\x13\x05\x01\0\x01\x01\0\0\0\0\x14\0\0\0\x14\0\0\0\x05\0\0\0\0\0áÇÇM\vŒü\0!\x10\0\f\0\x01\0\x03\b\b\0F\0B\0\0\0\0\0\0\0\0\x10\0\0\0\x10\0\0\0\x04\0\0\0\0\0áÇÇM\v&\0\x01\f\0\b\0\x01\0\x04	\x04\0F\0\0\0\0\0\0\x14\0\0\0\x14\0\0\0\x05\0\0\0\0\0áÇÇM\v‘à\0!\x10\0\f\0\x01\0\x04\a\b\0B\0\0\0\x01\x02 \x02\0\0\0\x16\0\0\0\x16\0\0\0\x04\0\0\0\0\0áÇÇM\v’\x0e\0\x01\x12\0\x0e\0\x01\0\x05\a
\0F\0\0\0\0\0\x01\x02 \x02\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÇM\v“\x13\x05\x01\0\x01\x01\0\0\0\0\x12\0\0\0\x12\0\0\0\x05\0\0\0\0\0áÇÇM\v \0!\x0e\0
\0\x01\0\x05	\x06\0B\0\0\0\0\0\0\0\0
\0\0\0
\0\0\0\x04\0\0\0\0\0áÇÇM\v¡\x03\0\x01\x06\0\x02\0F\0\0\x01\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÇM\v¡~\x13\x05\x01\0\x01\x01\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÇM\v±\x1c\x13\x05\x01\0\x01\x01\0\0\0\0\f\0\0\0\f\0\0\0\x05\0\0\0\0\0áÇÇM\v³\v\0!\b\0\x04\0B\0\x02\x01\x04\b\0\0\0\v\0\0\0\v\0\0\0\x04\0\0\0\0\0áÇÇM\v³u\0\x01\a\0\x03\0F\0\x10\x02\x04\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÇM\vÄŸ\x13\x05\x01\0\x01\x01\0\0\0\0\x14\0\0\0\x14\0\0\0\x05\0\0\0\0\0áÇÇM\vDz\0!\x10\0\f\0B\0\x12\x02\x01\0\a\x06\0\0ÿÿ\x02Y\0\0\0\x16\0\0\0\x16\0\0\0\x04\0\0\0\0\0áÇÇM\vÈ0\0\x01\x12\0\x0e\0F\0 \x03\x04\x04\x01\0\a\x06\0\0!\x15\x025\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÇM\vØm\x13\x05\x01\0\x01\x01\0\0\0\0
\0\0\0
\0\0\0\x05\0\0\0\0\0áÇÇM\vÚZ\0!\x06\0\x02\0B\0"\x03\0\0\0\v\0\0\0\v\0\0\0\x04\0\0\0\0\0áÇÇM\vÚÌ\0\x01\a\0\x03\0F\00\x06\x04\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÇM\vë¾\x13\x05\x01\0\x01\x01\0\0\0\0
\0\0\0
\0\0\0\x05\0\0\0\0\0áÇÇM\ví­\0!\x06\0\x02\0B\02\x06\0\0\0\x10\0\0\0\x10\0\0\0\x04\0\0\0\0\0áÇÇM\vî(\0\x01\f\0\b\0\x01\0\x02
\x04\0\x19\0@\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÇM\vÿD\x13\x05\x01\0\x01\x01\0\0\0\0\x14\0\0\0\x14\0\0\0\x05\0\0\0\0\0áÇÇM\f\x02/\0!\x10\0\f\0\x01\0\x03
\b\0G\0@\0\0\0\0\0\0\0\0\x10\0\0\0\x10\0\0\0\x04\0\0\0\0\0áÇÇM\f\x02N\0\x01\f\0\b\0\x01\0\x04\v\x04\0G\0\0\0\0\0\0\x18\0\0\0\x18\0\0\0\x05\0\0\0\0\0áÇÇM\f\x06+\0!\x14\0\x10\0\x01\0\x04\b\f\0@\0\0\0\x01\x02ð\x03\x02\x02È\0\0\0\0\x16\0\0\0\x16\0\0\0\x04\0\0\0\0\0áÇÇM\f\x06E\0\x01\x12\0\x0e\0\x01\0\x05\b
\0G\0\0\0\0\0\x01\x02ð\x03\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÇM\f\x12à\x13\x05\x01\0\x01\x01\0\0\0\0\x12\0\0\0\x12\0\0\0\x05\0\0\0\0\0áÇÇM\f\x15Æ\0!\x0e\0
\0\x01\0\x05\v\x06\0@\0\0\0\0\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÇM\f\x16®\x13\x05\x01\0\x01\x01\0\0\0\0\x14\0\0\0\x14\0\0\0\x02\0\0\0\0\0áÇÇM\f;K(\x04\x11\0\x01@\x1f\0\0@\x1f\0\0ÿÿ`\0ÿ?\0\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÇM\fA\x0f\x04\0\x01(\x04\0\0\0\x05\0\0\0\x05\0\0\0\x03\0\0\0\0\0áÇÇM\fQ.^[\x03\0\x01\x01\0\0\0\x13\0\0\0\x13\0\0\0\x03\0\0\0\0\0áÇÇM\f“«,\x11\0\x01\x01ß^\b¾÷x\x02\f\x02<\0<\0\x02\0\0\0\x17\0\0\0\x17\0\0\0\x04\0\0\0\0\0áÇÇM\f—\x01\0\x01\x13\0\x0f\0D\0\x13ï\x17
+VGS=15
e\0\0\0\x17\0\0\0\x17\0\0\0\x04\0\0\0\0\0áÇÇM\f—\x0e\0\x01\x13\0\x0f\0D\0\x13ï\x17
+VGM=15
e\0\0\0\x05\0\0\0\x05\0\0\0\x03\0\0\0\0\0áÇÇM\f§\x18^[\x03\0\x01\x05\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÇM\fªú\x13\x05\x01\0\x01\x01\0\0\0\03\0\0\03\0\0\0\x06\0\0\0\0\0áÇÇM\f¯Ž\x01\x010\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÇM\f¶²\x13\x05\x01\0\x01\x01\0\0\0\0\b\0\0\0\b\0\0\0\x03\0\0\0\0\0áÇÇMV
Ø\x14\x06\0\0\x01\x02Œ\x01\0\0\0\x06\0\0\0\x06\0\0\0\x02\0\0\0\0\0áÇÇMY?õ\x06\x04\x03\x01\x01\x13\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÇMYB[\x0f\x04\0\x01\x06\x04\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÇMYÚ¡\x05\x04\0\x01\x01\x16\0\0\0\b\0\0\0\b\0\0\0\x03\0\0\0\0\0áÇÇMYò\x12\x14\x06\0\0\x01\0\0\0\0\0\0\b\0\0\0\b\0\0\0\x03\0\0\0\0\0áÇÇM¢_—\x14\x06\0\0\x01\x02 \x03\0\0\0\x05\0\0\0\x05\0\0\0\x02\0\0\0\0\0áÇÇM¤D"\x04\b\x02\0\x01\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÇM¤GÄ\x0f\x04\0\x01\x04\b\0\0\0\b\0\0\0\b\0\0\0\x03\0\0\0\0\0áÇÇM©g¿\x14\x06\0\0\x01\0\0\0\0\0\0\x14\0\0\0\x14\0\0\0\x02\0\0\0\0\0áÇÇM©h\v(\x04\x11\0\x01@\x1f\0\0@\x1f\0\0ÿÿ`\0ÿ?\0\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÇM©k§\x0f\x04\0\x01(\x04\0\0\0\x05\0\0\0\x05\0\0\0\x03\0\0\0\0\0áÇÇM©‚ÿ^[\x03\0\x01\x01\0\0\0\x13\0\0\0\x13\0\0\0\x03\0\0\0\0\0áÇÇM©Í),\x11\0\x01\x01ß^\b¾÷x\x02\f\x02<\0<\0\x02\0\0\0\x17\0\0\0\x17\0\0\0\x04\0\0\0\0\0áÇÇM©Ðb\0\x01\x13\0\x0f\0D\0\x13ï\x17
+VGS=15
e\0\0\0\x17\0\0\0\x17\0\0\0\x04\0\0\0\0\0áÇÇM©Ðx\0\x01\x13\0\x0f\0D\0\x13ï\x17
+VGM=15
e\0\0\03\0\0\03\0\0\0\x06\0\0\0\0\0áÇÇM©à‹\x01\x010\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\03\0\0\03\0\0\0\x06\0\0\0\0\0áÇÇM©áj\x01\x010\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\0\0\0\x05\0\0\0\x03\0\0\0\0\0áÇÇM©äm^[\x03\0\x01\x05\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÇM©èW\x13\x05\x01\0\x01\x01\0\0\0\0\a\0\0\0\a\0\0\0\x03\0\0\0\0\0áÇÇM©ìC\x13\x05\x01\0\x01\x01\0\0\0\0\b\0\0\0\b\0\0\0\x03\0\0\0\0\0áÇÇMîfÎ\x14\x06\0\0\x01\x02Œ\x01\0\0\0\x06\0\0\0\x06\0\0\0\x02\0\0\0\0\0áÇÇN\x0eÄŸ\x06\x04\x03\x01\x01\x13\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÇN\x0eÇt\x0f\x04\0\x01\x06\x04\0\0\0\x06\0\0\0\x06\0\0\0\x03\0\0\0\0\0áÇÇN\x10i(\x05\x04\0\x01\x01\x16\0\0\0\b\0\0\0\b\0\0\0\x03\0\0\0\0\0áÇÇN\x10€È\x14\x06\0\0\x01\0\0\0\0\0\0\b\0\0\0\b\0\0\0\x03\0\0\0\0\0áÇÇNY[‘\x14\x06\0\0\x01\x02 \x03

^ permalink raw reply

* [PATCH 3/3] Bluetooth: btmrvl: operate on 16-bit opcodes instead of ogf/ocf
From: Bing Zhao @ 2013-10-31 22:08 UTC (permalink / raw)
  To: linux-bluetooth
  Cc: Marcel Holtmann, Gustavo Padovan, Johan Hedberg, Mike Frysinger,
	Amitkumar Karwar, Bing Zhao
In-Reply-To: <1383257311-1430-1-git-send-email-bzhao@marvell.com>

Replace ogf/ocf and its packing with 16-bit opcodes.

Signed-off-by: Bing Zhao <bzhao@marvell.com>
Signed-off-by: Amitkumar Karwar <akarwar@marvell.com>
---
 drivers/bluetooth/btmrvl_drv.h  | 19 +++++++++++--------
 drivers/bluetooth/btmrvl_main.c | 21 +++++++++------------
 2 files changed, 20 insertions(+), 20 deletions(-)

diff --git a/drivers/bluetooth/btmrvl_drv.h b/drivers/bluetooth/btmrvl_drv.h
index ffac0e4..7399303 100644
--- a/drivers/bluetooth/btmrvl_drv.h
+++ b/drivers/bluetooth/btmrvl_drv.h
@@ -86,12 +86,12 @@ struct btmrvl_private {
 
 #define MRVL_VENDOR_PKT			0xFE
 
-/* Bluetooth commands  */
-#define BT_CMD_AUTO_SLEEP_MODE		0x23
-#define BT_CMD_HOST_SLEEP_CONFIG	0x59
-#define BT_CMD_HOST_SLEEP_ENABLE	0x5A
-#define BT_CMD_MODULE_CFG_REQ		0x5B
-#define BT_CMD_LOAD_CONFIG_DATA		0x61
+/* Vendor specific Bluetooth commands */
+#define BT_CMD_AUTO_SLEEP_MODE		0xFC23
+#define BT_CMD_HOST_SLEEP_CONFIG	0xFC59
+#define BT_CMD_HOST_SLEEP_ENABLE	0xFC5A
+#define BT_CMD_MODULE_CFG_REQ		0xFC5B
+#define BT_CMD_LOAD_CONFIG_DATA		0xFC61
 
 /* Sub-commands: Module Bringup/Shutdown Request/Response */
 #define MODULE_BRINGUP_REQ		0xF1
@@ -100,6 +100,11 @@ struct btmrvl_private {
 
 #define MODULE_SHUTDOWN_REQ		0xF2
 
+/* Vendor specific Bluetooth events */
+#define BT_EVENT_AUTO_SLEEP_MODE	0x23
+#define BT_EVENT_HOST_SLEEP_CONFIG	0x59
+#define BT_EVENT_HOST_SLEEP_ENABLE	0x5A
+#define BT_EVENT_MODULE_CFG_REQ		0x5B
 #define BT_EVENT_POWER_STATE		0x20
 
 /* Bluetooth Power States */
@@ -107,8 +112,6 @@ struct btmrvl_private {
 #define BT_PS_DISABLE			0x03
 #define BT_PS_SLEEP			0x01
 
-#define OGF				0x3F
-
 /* Host Sleep states */
 #define HS_ACTIVATED			0x01
 #define HS_DEACTIVATED			0x00
diff --git a/drivers/bluetooth/btmrvl_main.c b/drivers/bluetooth/btmrvl_main.c
index f13bef8..1e0320a 100644
--- a/drivers/bluetooth/btmrvl_main.c
+++ b/drivers/bluetooth/btmrvl_main.c
@@ -50,12 +50,10 @@ bool btmrvl_check_evtpkt(struct btmrvl_private *priv, struct sk_buff *skb)
 
 	if (hdr->evt == HCI_EV_CMD_COMPLETE) {
 		struct hci_ev_cmd_complete *ec;
-		u16 opcode, ocf, ogf;
+		u16 opcode;
 
 		ec = (void *) (skb->data + HCI_EVENT_HDR_SIZE);
 		opcode = __le16_to_cpu(ec->opcode);
-		ocf = hci_opcode_ocf(opcode);
-		ogf = hci_opcode_ogf(opcode);
 
 		if (priv->btmrvl_dev.sendcmdflag) {
 			priv->btmrvl_dev.sendcmdflag = false;
@@ -63,9 +61,8 @@ bool btmrvl_check_evtpkt(struct btmrvl_private *priv, struct sk_buff *skb)
 			wake_up_interruptible(&priv->adapter->cmd_wait_q);
 		}
 
-		if (ogf == OGF) {
-			BT_DBG("vendor event skipped: ogf 0x%4.4x ocf 0x%4.4x",
-			       ogf, ocf);
+		if (hci_opcode_ogf(opcode) == 0x3F) {
+			BT_DBG("vendor event skipped: opcode=%#4.4x", opcode);
 			kfree_skb(skb);
 			return false;
 		}
@@ -89,7 +86,7 @@ int btmrvl_process_event(struct btmrvl_private *priv, struct sk_buff *skb)
 	}
 
 	switch (event->data[0]) {
-	case BT_CMD_AUTO_SLEEP_MODE:
+	case BT_EVENT_AUTO_SLEEP_MODE:
 		if (!event->data[2]) {
 			if (event->data[1] == BT_PS_ENABLE)
 				adapter->psmode = 1;
@@ -102,7 +99,7 @@ int btmrvl_process_event(struct btmrvl_private *priv, struct sk_buff *skb)
 		}
 		break;
 
-	case BT_CMD_HOST_SLEEP_CONFIG:
+	case BT_EVENT_HOST_SLEEP_CONFIG:
 		if (!event->data[3])
 			BT_DBG("gpio=%x, gap=%x", event->data[1],
 							event->data[2]);
@@ -110,7 +107,7 @@ int btmrvl_process_event(struct btmrvl_private *priv, struct sk_buff *skb)
 			BT_DBG("HSCFG command failed");
 		break;
 
-	case BT_CMD_HOST_SLEEP_ENABLE:
+	case BT_EVENT_HOST_SLEEP_ENABLE:
 		if (!event->data[1]) {
 			adapter->hs_state = HS_ACTIVATED;
 			if (adapter->psmode)
@@ -121,7 +118,7 @@ int btmrvl_process_event(struct btmrvl_private *priv, struct sk_buff *skb)
 		}
 		break;
 
-	case BT_CMD_MODULE_CFG_REQ:
+	case BT_EVENT_MODULE_CFG_REQ:
 		if (priv->btmrvl_dev.sendcmdflag &&
 				event->data[1] == MODULE_BRINGUP_REQ) {
 			BT_DBG("EVENT:%s",
@@ -166,7 +163,7 @@ exit:
 }
 EXPORT_SYMBOL_GPL(btmrvl_process_event);
 
-static int btmrvl_send_sync_cmd(struct btmrvl_private *priv, u16 cmd_no,
+static int btmrvl_send_sync_cmd(struct btmrvl_private *priv, u16 opcode,
 				const void *param, u8 len)
 {
 	struct sk_buff *skb;
@@ -179,7 +176,7 @@ static int btmrvl_send_sync_cmd(struct btmrvl_private *priv, u16 cmd_no,
 	}
 
 	hdr = (struct hci_command_hdr *)skb_put(skb, HCI_COMMAND_HDR_SIZE);
-	hdr->opcode = cpu_to_le16(hci_opcode_pack(OGF, cmd_no));
+	hdr->opcode = cpu_to_le16(opcode);
 	hdr->plen = len;
 
 	if (len)
-- 
1.8.0

^ permalink raw reply related

* [PATCH 2/3] Bluetooth: btmrvl: remove cal-data byte swapping and redundant mem copy
From: Bing Zhao @ 2013-10-31 22:08 UTC (permalink / raw)
  To: linux-bluetooth
  Cc: Marcel Holtmann, Gustavo Padovan, Johan Hedberg, Mike Frysinger,
	Amitkumar Karwar, Bing Zhao
In-Reply-To: <1383257311-1430-1-git-send-email-bzhao@marvell.com>

The device tree property can define the cal-data in proper order.
There is no need to swap the bytes in driver.
Also remove the redundant cal-data memory copy after removing the
byte swapping.

Cc: Mike Frysinger <vapier@chromium.org>
Cc: Amitkumar Karwar <akarwar@marvell.com>
Signed-off-by: Bing Zhao <bzhao@marvell.com>
Signed-off-by: Hyuckjoo Lee <hyuckjoo.lee@samsung.com>
---
 drivers/bluetooth/btmrvl_drv.h  |  2 +-
 drivers/bluetooth/btmrvl_main.c | 27 ++++++++++-----------------
 2 files changed, 11 insertions(+), 18 deletions(-)

diff --git a/drivers/bluetooth/btmrvl_drv.h b/drivers/bluetooth/btmrvl_drv.h
index be76851..ffac0e4 100644
--- a/drivers/bluetooth/btmrvl_drv.h
+++ b/drivers/bluetooth/btmrvl_drv.h
@@ -117,7 +117,7 @@ struct btmrvl_private {
 #define PS_SLEEP			0x01
 #define PS_AWAKE			0x00
 
-#define BT_CMD_DATA_SIZE		32
+#define BT_CAL_HDR_LEN			4
 #define BT_CAL_DATA_SIZE		28
 
 struct btmrvl_event {
diff --git a/drivers/bluetooth/btmrvl_main.c b/drivers/bluetooth/btmrvl_main.c
index a17812d..f13bef8 100644
--- a/drivers/bluetooth/btmrvl_main.c
+++ b/drivers/bluetooth/btmrvl_main.c
@@ -418,28 +418,20 @@ static int btmrvl_open(struct hci_dev *hdev)
 }
 
 static int btmrvl_download_cal_data(struct btmrvl_private *priv,
-				    u8 *config_data)
+				    u8 *data, int len)
 {
-	int i, ret;
-	u8 data[BT_CMD_DATA_SIZE];
+	int ret;
 
 	data[0] = 0x00;
 	data[1] = 0x00;
 	data[2] = 0x00;
-	data[3] = BT_CMD_DATA_SIZE - 4;
-
-	/* Swap cal-data bytes. Each four bytes are swapped. Considering 4
-	 * byte SDIO header offset, mapping of input and output bytes will be
-	 * {3, 2, 1, 0} -> {0+4, 1+4, 2+4, 3+4},
-	 * {7, 6, 5, 4} -> {4+4, 5+4, 6+4, 7+4} */
-	for (i = 4; i < BT_CMD_DATA_SIZE; i++)
-		data[i] = config_data[(i / 4) * 8 - 1 - i];
+	data[3] = len;
 
 	print_hex_dump_bytes("Calibration data: ",
-			     DUMP_PREFIX_OFFSET, data, BT_CMD_DATA_SIZE);
+			     DUMP_PREFIX_OFFSET, data, BT_CAL_HDR_LEN + len);
 
 	ret = btmrvl_send_sync_cmd(priv, BT_CMD_LOAD_CONFIG_DATA, data,
-				   BT_CMD_DATA_SIZE);
+				   BT_CAL_HDR_LEN + len);
 	if (ret)
 		BT_ERR("Failed to download caibration data\n");
 
@@ -449,7 +441,7 @@ static int btmrvl_download_cal_data(struct btmrvl_private *priv,
 static int btmrvl_cal_data_dt(struct btmrvl_private *priv)
 {
 	struct device_node *dt_node;
-	u8 cal_data[BT_CAL_DATA_SIZE];
+	u8 cal_data[BT_CAL_HDR_LEN + BT_CAL_DATA_SIZE];
 	const char name[] = "btmrvl_caldata";
 	const char property[] = "btmrvl,caldata";
 	int ret;
@@ -458,13 +450,14 @@ static int btmrvl_cal_data_dt(struct btmrvl_private *priv)
 	if (!dt_node)
 		return -ENODEV;
 
-	ret = of_property_read_u8_array(dt_node, property, cal_data,
-					sizeof(cal_data));
+	ret = of_property_read_u8_array(dt_node, property,
+					cal_data + BT_CAL_HDR_LEN,
+					BT_CAL_DATA_SIZE);
 	if (ret)
 		return ret;
 
 	BT_DBG("Use cal data from device tree");
-	ret = btmrvl_download_cal_data(priv, cal_data);
+	ret = btmrvl_download_cal_data(priv, cal_data, BT_CAL_DATA_SIZE);
 	if (ret) {
 		BT_ERR("Fail to download calibrate data");
 		return ret;
-- 
1.8.0

^ permalink raw reply related

* [PATCH 1/3] Bluetooth: btmrvl: use cal-data from device-tree instead of conf file
From: Bing Zhao @ 2013-10-31 22:08 UTC (permalink / raw)
  To: linux-bluetooth
  Cc: Marcel Holtmann, Gustavo Padovan, Johan Hedberg, Mike Frysinger,
	Amitkumar Karwar, Bing Zhao

The cal-data is platform dependent. It's simpler and more feasible
to use device tree based cal-data instead of configuration file
based cal-data.

This patch remove configuration file based cal-data downloading
and replace it using cal-data from device tree.

Cc: Mike Frysinger <vapier@chromium.org>
Cc: Amitkumar Karwar <akarwar@marvell.com>
Signed-off-by: Bing Zhao <bzhao@marvell.com>
Signed-off-by: Hyuckjoo Lee <hyuckjoo.lee@samsung.com>
---
 drivers/bluetooth/btmrvl_drv.h  |  4 --
 drivers/bluetooth/btmrvl_main.c | 92 ++++++++---------------------------------
 drivers/bluetooth/btmrvl_sdio.c |  9 +---
 drivers/bluetooth/btmrvl_sdio.h |  2 -
 4 files changed, 18 insertions(+), 89 deletions(-)

diff --git a/drivers/bluetooth/btmrvl_drv.h b/drivers/bluetooth/btmrvl_drv.h
index f9d1833..be76851 100644
--- a/drivers/bluetooth/btmrvl_drv.h
+++ b/drivers/bluetooth/btmrvl_drv.h
@@ -23,8 +23,6 @@
 #include <linux/bitops.h>
 #include <linux/slab.h>
 #include <net/bluetooth/bluetooth.h>
-#include <linux/ctype.h>
-#include <linux/firmware.h>
 
 #define BTM_HEADER_LEN			4
 #define BTM_UPLD_SIZE			2312
@@ -43,8 +41,6 @@ struct btmrvl_thread {
 struct btmrvl_device {
 	void *card;
 	struct hci_dev *hcidev;
-	struct device *dev;
-	const char *cal_data;
 
 	u8 dev_type;
 
diff --git a/drivers/bluetooth/btmrvl_main.c b/drivers/bluetooth/btmrvl_main.c
index 5cf31c4..a17812d 100644
--- a/drivers/bluetooth/btmrvl_main.c
+++ b/drivers/bluetooth/btmrvl_main.c
@@ -19,7 +19,7 @@
  **/
 
 #include <linux/module.h>
-
+#include <linux/of.h>
 #include <net/bluetooth/bluetooth.h>
 #include <net/bluetooth/hci_core.h>
 
@@ -417,52 +417,8 @@ static int btmrvl_open(struct hci_dev *hdev)
 	return 0;
 }
 
-/*
- * This function parses provided calibration data input. It should contain
- * hex bytes separated by space or new line character. Here is an example.
- * 00 1C 01 37 FF FF FF FF 02 04 7F 01
- * CE BA 00 00 00 2D C6 C0 00 00 00 00
- * 00 F0 00 00
- */
-static int btmrvl_parse_cal_cfg(const u8 *src, u32 len, u8 *dst, u32 dst_size)
-{
-	const u8 *s = src;
-	u8 *d = dst;
-	int ret;
-	u8 tmp[3];
-
-	tmp[2] = '\0';
-	while ((s - src) <= len - 2) {
-		if (isspace(*s)) {
-			s++;
-			continue;
-		}
-
-		if (isxdigit(*s)) {
-			if ((d - dst) >= dst_size) {
-				BT_ERR("calibration data file too big!!!");
-				return -EINVAL;
-			}
-
-			memcpy(tmp, s, 2);
-
-			ret = kstrtou8(tmp, 16, d++);
-			if (ret < 0)
-				return ret;
-
-			s += 2;
-		} else {
-			return -EINVAL;
-		}
-	}
-	if (d == dst)
-		return -EINVAL;
-
-	return 0;
-}
-
-static int btmrvl_load_cal_data(struct btmrvl_private *priv,
-				u8 *config_data)
+static int btmrvl_download_cal_data(struct btmrvl_private *priv,
+				    u8 *config_data)
 {
 	int i, ret;
 	u8 data[BT_CMD_DATA_SIZE];
@@ -490,54 +446,40 @@ static int btmrvl_load_cal_data(struct btmrvl_private *priv,
 	return 0;
 }
 
-static int
-btmrvl_process_cal_cfg(struct btmrvl_private *priv, u8 *data, u32 size)
+static int btmrvl_cal_data_dt(struct btmrvl_private *priv)
 {
+	struct device_node *dt_node;
 	u8 cal_data[BT_CAL_DATA_SIZE];
+	const char name[] = "btmrvl_caldata";
+	const char property[] = "btmrvl,caldata";
 	int ret;
 
-	ret = btmrvl_parse_cal_cfg(data, size, cal_data, sizeof(cal_data));
+	dt_node = of_find_node_by_name(NULL, name);
+	if (!dt_node)
+		return -ENODEV;
+
+	ret = of_property_read_u8_array(dt_node, property, cal_data,
+					sizeof(cal_data));
 	if (ret)
 		return ret;
 
-	ret = btmrvl_load_cal_data(priv, cal_data);
+	BT_DBG("Use cal data from device tree");
+	ret = btmrvl_download_cal_data(priv, cal_data);
 	if (ret) {
-		BT_ERR("Fail to load calibrate data");
+		BT_ERR("Fail to download calibrate data");
 		return ret;
 	}
 
 	return 0;
 }
 
-static int btmrvl_cal_data_config(struct btmrvl_private *priv)
-{
-	const struct firmware *cfg;
-	int ret;
-	const char *cal_data = priv->btmrvl_dev.cal_data;
-
-	if (!cal_data)
-		return 0;
-
-	ret = request_firmware(&cfg, cal_data, priv->btmrvl_dev.dev);
-	if (ret < 0) {
-		BT_DBG("Failed to get %s file, skipping cal data download",
-		       cal_data);
-		return 0;
-	}
-
-	ret = btmrvl_process_cal_cfg(priv, (u8 *)cfg->data, cfg->size);
-	release_firmware(cfg);
-	return ret;
-}
-
 static int btmrvl_setup(struct hci_dev *hdev)
 {
 	struct btmrvl_private *priv = hci_get_drvdata(hdev);
 
 	btmrvl_send_module_cfg_cmd(priv, MODULE_BRINGUP_REQ);
 
-	if (btmrvl_cal_data_config(priv))
-		BT_ERR("Set cal data failed");
+	btmrvl_cal_data_dt(priv);
 
 	priv->btmrvl_dev.psmode = 1;
 	btmrvl_enable_ps(priv);
diff --git a/drivers/bluetooth/btmrvl_sdio.c b/drivers/bluetooth/btmrvl_sdio.c
index fabcf5b..1b52c9f 100644
--- a/drivers/bluetooth/btmrvl_sdio.c
+++ b/drivers/bluetooth/btmrvl_sdio.c
@@ -18,6 +18,7 @@
  * this warranty disclaimer.
  **/
 
+#include <linux/firmware.h>
 #include <linux/slab.h>
 
 #include <linux/mmc/sdio_ids.h>
@@ -101,7 +102,6 @@ static const struct btmrvl_sdio_card_reg btmrvl_reg_88xx = {
 static const struct btmrvl_sdio_device btmrvl_sdio_sd8688 = {
 	.helper		= "mrvl/sd8688_helper.bin",
 	.firmware	= "mrvl/sd8688.bin",
-	.cal_data	= NULL,
 	.reg		= &btmrvl_reg_8688,
 	.sd_blksz_fw_dl	= 64,
 };
@@ -109,7 +109,6 @@ static const struct btmrvl_sdio_device btmrvl_sdio_sd8688 = {
 static const struct btmrvl_sdio_device btmrvl_sdio_sd8787 = {
 	.helper		= NULL,
 	.firmware	= "mrvl/sd8787_uapsta.bin",
-	.cal_data	= NULL,
 	.reg		= &btmrvl_reg_87xx,
 	.sd_blksz_fw_dl	= 256,
 };
@@ -117,7 +116,6 @@ static const struct btmrvl_sdio_device btmrvl_sdio_sd8787 = {
 static const struct btmrvl_sdio_device btmrvl_sdio_sd8797 = {
 	.helper		= NULL,
 	.firmware	= "mrvl/sd8797_uapsta.bin",
-	.cal_data	= "mrvl/sd8797_caldata.conf",
 	.reg		= &btmrvl_reg_87xx,
 	.sd_blksz_fw_dl	= 256,
 };
@@ -125,7 +123,6 @@ static const struct btmrvl_sdio_device btmrvl_sdio_sd8797 = {
 static const struct btmrvl_sdio_device btmrvl_sdio_sd8897 = {
 	.helper		= NULL,
 	.firmware	= "mrvl/sd8897_uapsta.bin",
-	.cal_data	= NULL,
 	.reg		= &btmrvl_reg_88xx,
 	.sd_blksz_fw_dl	= 256,
 };
@@ -1007,7 +1004,6 @@ static int btmrvl_sdio_probe(struct sdio_func *func,
 		struct btmrvl_sdio_device *data = (void *) id->driver_data;
 		card->helper = data->helper;
 		card->firmware = data->firmware;
-		card->cal_data = data->cal_data;
 		card->reg = data->reg;
 		card->sd_blksz_fw_dl = data->sd_blksz_fw_dl;
 	}
@@ -1036,8 +1032,6 @@ static int btmrvl_sdio_probe(struct sdio_func *func,
 	}
 
 	card->priv = priv;
-	priv->btmrvl_dev.dev = &card->func->dev;
-	priv->btmrvl_dev.cal_data = card->cal_data;
 
 	/* Initialize the interface specific function pointers */
 	priv->hw_host_to_card = btmrvl_sdio_host_to_card;
@@ -1220,5 +1214,4 @@ MODULE_FIRMWARE("mrvl/sd8688_helper.bin");
 MODULE_FIRMWARE("mrvl/sd8688.bin");
 MODULE_FIRMWARE("mrvl/sd8787_uapsta.bin");
 MODULE_FIRMWARE("mrvl/sd8797_uapsta.bin");
-MODULE_FIRMWARE("mrvl/sd8797_caldata.conf");
 MODULE_FIRMWARE("mrvl/sd8897_uapsta.bin");
diff --git a/drivers/bluetooth/btmrvl_sdio.h b/drivers/bluetooth/btmrvl_sdio.h
index 6872d9e..43d35a6 100644
--- a/drivers/bluetooth/btmrvl_sdio.h
+++ b/drivers/bluetooth/btmrvl_sdio.h
@@ -85,7 +85,6 @@ struct btmrvl_sdio_card {
 	u32 ioport;
 	const char *helper;
 	const char *firmware;
-	const char *cal_data;
 	const struct btmrvl_sdio_card_reg *reg;
 	u16 sd_blksz_fw_dl;
 	u8 rx_unit;
@@ -95,7 +94,6 @@ struct btmrvl_sdio_card {
 struct btmrvl_sdio_device {
 	const char *helper;
 	const char *firmware;
-	const char *cal_data;
 	const struct btmrvl_sdio_card_reg *reg;
 	u16 sd_blksz_fw_dl;
 };
-- 
1.8.0

^ permalink raw reply related


This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox