From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id C87F445BA2; Tue, 22 Oct 2024 15:35:01 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 299BA40A72; Tue, 22 Oct 2024 15:34:17 +0200 (CEST) Received: from mxhk.zte.com.cn (mxhk.zte.com.cn [63.216.63.35]) by mails.dpdk.org (Postfix) with ESMTP id 83C0E402EA for ; Tue, 22 Oct 2024 15:34:03 +0200 (CEST) Received: from mse-fl2.zte.com.cn (unknown [10.5.228.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mxhk.zte.com.cn (FangMail) with ESMTPS id 4XXtSB3s3Mz5B1B4 for ; Tue, 22 Oct 2024 21:34:02 +0800 (CST) Received: from szxlzmapp05.zte.com.cn ([10.5.230.85]) by mse-fl2.zte.com.cn with SMTP id 49MDXgF2036962 for ; Tue, 22 Oct 2024 21:33:42 +0800 (+08) (envelope-from li.hanxiao@zte.com.cn) Received: from localhost.localdomain (unknown [192.168.6.15]) by smtp (Zmail) with SMTP; Tue, 22 Oct 2024 21:33:45 +0800 X-Zmail-TransId: 3e816717a9b9004-17327 From: Hanxiao Li To: dev@dpdk.org Cc: Hanxiao Li Subject: [PATCH v13 06/12] common/zsda: configure zsda queue enqueue functions Date: Tue, 22 Oct 2024 21:28:16 +0800 Message-ID: <20241022132827.2129893-7-li.hanxiao@zte.com.cn> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20241022132827.2129893-1-li.hanxiao@zte.com.cn> References: <20241019110428.1970056-2-li.hanxiao@zte.com.cn> <20241022132827.2129893-1-li.hanxiao@zte.com.cn> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: multipart/mixed; boundary="=====_001_next=====" X-MAIL: mse-fl2.zte.com.cn 49MDXgF2036962 X-Fangmail-Anti-Spam-Filtered: true X-Fangmail-MID-QID: 6717A9CA.001/4XXtSB3s3Mz5B1B4 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org --=====_001_next===== Content-Type: multipart/related; boundary="=====_002_next=====" --=====_002_next===== Content-Type: multipart/alternative; boundary="=====_003_next=====" --=====_003_next===== Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: base64 QWRkIHN1cHBvcnQgZm9yIHpzZGFkZXYgcXVldWUgZW5xdWV1ZS4NCg0KU2lnbmVkLW9mZi1ieTog SGFueGlhbyBMaSA8bGkuaGFueGlhb0B6dGUuY29tLmNuPg0KLS0tDQogZHJpdmVycy9jb21tb24v enNkYS96c2RhX3FwLmMgfCAxMDUgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKw0K IGRyaXZlcnMvY29tbW9uL3pzZGEvenNkYV9xcC5oIHwgICAyICsNCiAyIGZpbGVzIGNoYW5nZWQs IDEwNyBpbnNlcnRpb25zKCspDQoNCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NvbW1vbi96c2RhL3pz ZGFfcXAuYyBiL2RyaXZlcnMvY29tbW9uL3pzZGEvenNkYV9xcC5jDQppbmRleCAyYTg1ZDA3NzI4 Li5iODg0MzUyZWFiIDEwMDY0NA0KLS0tIGEvZHJpdmVycy9jb21tb24venNkYS96c2RhX3FwLmMN CisrKyBiL2RyaXZlcnMvY29tbW9uL3pzZGEvenNkYV9xcC5jDQpAQCAtNjc3LDYgKzY3NywxMTEg QEAgenNkYV9xdWV1ZV9wYWlyX3JlbGVhc2Uoc3RydWN0IHpzZGFfcXAgKipxcF9hZGRyKQ0KIAly ZXR1cm4gWlNEQV9TVUNDRVNTOw0KIH0NCiANCitzdGF0aWMgaW50DQorenNkYV9maW5kX25leHRf ZnJlZV9jb29raWUoY29uc3Qgc3RydWN0IHpzZGFfcXVldWUgKnF1ZXVlLCB2b2lkICoqb3BfY29v a2llLA0KKwkJICAgICAgdWludDE2X3QgKmlkeCkNCit7DQorCXVpbnQxNl90IG9sZF90YWlsID0g cXVldWUtPnRhaWw7DQorCXVpbnQxNl90IHRhaWwgPSBxdWV1ZS0+dGFpbDsNCisJc3RydWN0IHpz ZGFfb3BfY29va2llICpjb29raWU7DQorDQorCWRvIHsNCisJCWNvb2tpZSA9IG9wX2Nvb2tpZVt0 YWlsXTsNCisJCWlmICghY29va2llLT51c2VkKSB7DQorCQkJKmlkeCA9IHRhaWwgJiAocXVldWUt PnF1ZXVlX3NpemUgLSAxKTsNCisJCQlyZXR1cm4gWlNEQV9TVUNDRVNTOw0KKwkJfQ0KKwkJdGFp bCA9IHpzZGFfbW9kdWxvXzE2KHRhaWwrKywgcXVldWUtPm1vZHVsb19tYXNrKTsNCisJfSB3aGls ZSAob2xkX3RhaWwgIT0gdGFpbCk7DQorDQorCXJldHVybiAtRUlOVkFMOw0KK30NCisNCitzdGF0 aWMgaW50DQorenNkYV9lbnF1ZXVlKHZvaWQgKm9wLCBzdHJ1Y3QgenNkYV9xcCAqcXApDQorew0K Kwl1aW50MTZfdCBuZXdfdGFpbDsNCisJZW51bSB6c2RhX3NlcnZpY2VfdHlwZSB0eXBlOw0KKwl2 b2lkICoqb3BfY29va2llOw0KKwlpbnQgcmV0ID0gWlNEQV9TVUNDRVNTOw0KKwlzdHJ1Y3QgenNk YV9xdWV1ZSAqcXVldWU7DQorDQorCWZvciAodHlwZSA9IDA7IHR5cGUgPCBaU0RBX1NFUlZJQ0Vf SU5WQUxJRDsgdHlwZSsrKSB7DQorCQlpZiAocXAtPnNydlt0eXBlXS51c2VkKSB7DQorCQkJaWYg KCFxcC0+c3J2W3R5cGVdLm1hdGNoKG9wKSkNCisJCQkJY29udGludWU7DQorCQkJcXVldWUgPSAm cXAtPnNydlt0eXBlXS50eF9xOw0KKwkJCW9wX2Nvb2tpZSA9IHFwLT5zcnZbdHlwZV0ub3BfY29v a2llczsNCisNCisJCQlpZiAoenNkYV9maW5kX25leHRfZnJlZV9jb29raWUocXVldWUsIG9wX2Nv b2tpZSwNCisJCQkJCQkgICZuZXdfdGFpbCkpIHsNCisJCQkJcmV0ID0gLUVCVVNZOw0KKwkJCQli cmVhazsNCisJCQl9DQorCQkJcmV0ID0gcXAtPnNydlt0eXBlXS50eF9jYihvcCwgcXVldWUsIG9w X2Nvb2tpZSwNCisJCQkJCQkgIG5ld190YWlsKTsNCisJCQlpZiAocmV0KSB7DQorCQkJCXFwLT5z cnZbdHlwZV0uc3RhdHMuZW5xdWV1ZV9lcnJfY291bnQrKzsNCisJCQkJWlNEQV9MT0coRVJSLCAi RmFpbGVkISBjb25maWcgd3FlIik7DQorCQkJCWJyZWFrOw0KKwkJCX0NCisJCQlxcC0+c3J2W3R5 cGVdLnN0YXRzLmVucXVldWVkX2NvdW50Kys7DQorDQorCQkJcXVldWUtPnRhaWwgPSB6c2RhX21v ZHVsb18xNihuZXdfdGFpbCArIDEsDQorCQkJCQkJICAgICBxdWV1ZS0+cXVldWVfc2l6ZSAtIDEp Ow0KKw0KKwkJCWlmIChuZXdfdGFpbCA+IHF1ZXVlLT50YWlsKQ0KKwkJCQlxdWV1ZS0+dmFsaWQg PQ0KKwkJCQkJenNkYV9tb2R1bG9fOChxdWV1ZS0+dmFsaWQgKyAxLA0KKwkJCQkJKHVpbnQ4X3Qp KHF1ZXVlLT5jeWNsZV9zaXplIC0gMSkpOw0KKw0KKwkJCXF1ZXVlLT5wdXNoZWRfd3FlKys7DQor CQkJYnJlYWs7DQorCQl9DQorCX0NCisNCisJcmV0dXJuIHJldDsNCit9DQorDQorc3RhdGljIHZv aWQNCit6c2RhX3R4X3dyaXRlX3RhaWwoc3RydWN0IHpzZGFfcXVldWUgKnF1ZXVlKQ0KK3sNCisJ aWYgKHF1ZXVlLT5wdXNoZWRfd3FlKQ0KKwkJV1JJVEVfQ1NSX1dRX1RBSUwocXVldWUtPmlvX2Fk ZHIsIHF1ZXVlLT5od19xdWV1ZV9udW1iZXIsDQorCQkJCSAgcXVldWUtPnRhaWwpOw0KKw0KKwlx dWV1ZS0+cHVzaGVkX3dxZSA9IDA7DQorfQ0KKw0KK3VpbnQxNl90DQorenNkYV9lbnF1ZXVlX29w X2J1cnN0KHN0cnVjdCB6c2RhX3FwICpxcCwgdm9pZCAqKm9wcywgdWludDE2X3QgbmJfb3BzKQ0K K3sNCisJaW50IHJldCA9IFpTREFfU1VDQ0VTUzsNCisJZW51bSB6c2RhX3NlcnZpY2VfdHlwZSB0 eXBlOw0KKwl1aW50MTZfdCBpOw0KKwl1aW50MTZfdCBuYl9zZW5kID0gMDsNCisJdm9pZCAqb3A7 DQorDQorCWlmIChuYl9vcHMgPiBaU0RBX01BWF9ERVNDKSB7DQorCQlaU0RBX0xPRyhFUlIsICJF bnF1ZXVlIG51bWJlciBiaWdnZXIgdGhhbiAlZCIsIFpTREFfTUFYX0RFU0MpOw0KKwkJcmV0dXJu IDA7DQorCX0NCisNCisJZm9yIChpID0gMDsgaSA8IG5iX29wczsgaSsrKSB7DQorCQlvcCA9IG9w c1tpXTsNCisJCXJldCA9IHpzZGFfZW5xdWV1ZShvcCwgcXApOw0KKwkJaWYgKHJldCA8IDApDQor CQkJYnJlYWs7DQorCQluYl9zZW5kKys7DQorCX0NCisNCisJZm9yICh0eXBlID0gMDsgdHlwZSA8 IFpTREFfU0VSVklDRV9JTlZBTElEOyB0eXBlKyspDQorCQlpZiAocXAtPnNydlt0eXBlXS51c2Vk KQ0KKwkJCXpzZGFfdHhfd3JpdGVfdGFpbCgmcXAtPnNydlt0eXBlXS50eF9xKTsNCisNCisJcmV0 dXJuIG5iX3NlbmQ7DQorfQ0KKw0KIGludA0KIHpzZGFfY29tbW9uX3NldHVwX3FwKHVpbnQzMl90 IHpzZGFfZGV2X2lkLCBzdHJ1Y3QgenNkYV9xcCAqKnFwX2FkZHIsDQogCQljb25zdCB1aW50MTZf dCBxdWV1ZV9wYWlyX2lkLCBjb25zdCBzdHJ1Y3QgenNkYV9xcF9jb25maWcgKmNvbmYpDQpkaWZm IC0tZ2l0IGEvZHJpdmVycy9jb21tb24venNkYS96c2RhX3FwLmggYi9kcml2ZXJzL2NvbW1vbi96 c2RhL3pzZGFfcXAuaA0KaW5kZXggYTlmMGQzOGJhNS4uZjllZmZmMGU1YSAxMDA2NDQNCi0tLSBh L2RyaXZlcnMvY29tbW9uL3pzZGEvenNkYV9xcC5oDQorKysgYi9kcml2ZXJzL2NvbW1vbi96c2Rh L3pzZGFfcXAuaA0KQEAgLTEzNSw2ICsxMzUsOCBAQCBpbnQgenNkYV9nZXRfcXVldWVfY2ZnKHN0 cnVjdCB6c2RhX3BjaV9kZXZpY2UgKnpzZGFfcGNpX2Rldik7DQogDQogaW50IHpzZGFfcXVldWVf cGFpcl9yZWxlYXNlKHN0cnVjdCB6c2RhX3FwICoqcXBfYWRkcik7DQogDQordWludDE2X3QgenNk YV9lbnF1ZXVlX29wX2J1cnN0KHN0cnVjdCB6c2RhX3FwICpxcCwgdm9pZCAqKm9wcywgY29uc3Qg dWludDE2X3QgbmJfb3BzKTsNCisNCiBpbnQgenNkYV9jb21tb25fc2V0dXBfcXAodWludDMyX3Qg ZGV2X2lkLCBzdHJ1Y3QgenNkYV9xcCAqKnFwX2FkZHIsDQogCQkgICAgY29uc3QgdWludDE2X3Qg cXVldWVfcGFpcl9pZCwNCiAJCSAgICBjb25zdCBzdHJ1Y3QgenNkYV9xcF9jb25maWcgKmNvbmYp Ow0KLS0gDQoyLjI3LjA= --=====_003_next===== Content-Type: text/html ; charset="UTF-8" Content-Transfer-Encoding: base64 QWRkJm5ic3A7c3VwcG9ydCZuYnNwO2ZvciZuYnNwO3pzZGFkZXYmbmJzcDtxdWV1ZSZuYnNwO2Vu cXVldWUuPGJyIC8+DTxiciAvPlNpZ25lZC1vZmYtYnk6Jm5ic3A7SGFueGlhbyZuYnNwO0xpJm5i c3A7Jmx0O2xpLmhhbnhpYW9AenRlLmNvbS5jbiZndDsNPGJyIC8+LS0tPGJyIC8+Jm5ic3A7ZHJp dmVycy9jb21tb24venNkYS96c2RhX3FwLmMmbmJzcDt8Jm5ic3A7MTA1Jm5ic3A7KysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKzxiciAvPiZuYnNwO2RyaXZlcnMvY29tbW9uL3pzZGEv enNkYV9xcC5oJm5ic3A7fCZuYnNwOyZuYnNwOyZuYnNwOzImbmJzcDsrPGJyIC8+Jm5ic3A7MiZu YnNwO2ZpbGVzJm5ic3A7Y2hhbmdlZCwmbmJzcDsxMDcmbmJzcDtpbnNlcnRpb25zKCspPGJyIC8+ DTxiciAvPmRpZmYmbmJzcDstLWdpdCZuYnNwO2EvZHJpdmVycy9jb21tb24venNkYS96c2RhX3Fw LmMmbmJzcDtiL2RyaXZlcnMvY29tbW9uL3pzZGEvenNkYV9xcC5jPGJyIC8+aW5kZXgmbmJzcDsy YTg1ZDA3NzI4Li5iODg0MzUyZWFiJm5ic3A7MTAwNjQ0PGJyIC8+LS0tJm5ic3A7YS9kcml2ZXJz L2NvbW1vbi96c2RhL3pzZGFfcXAuYzxiciAvPisrKyZuYnNwO2IvZHJpdmVycy9jb21tb24venNk YS96c2RhX3FwLmM8YnIgLz5AQCZuYnNwOy02NzcsNiZuYnNwOys2NzcsMTExJm5ic3A7QEAmbmJz cDt6c2RhX3F1ZXVlX3BhaXJfcmVsZWFzZShzdHJ1Y3QmbmJzcDt6c2RhX3FwJm5ic3A7KipxcF9h ZGRyKTxiciAvPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO3JldHVybiZuYnNwO1pTREFf U1VDQ0VTUzs8YnIgLz4mbmJzcDt9PGJyIC8+Jm5ic3A7DTxiciAvPitzdGF0aWMmbmJzcDtpbnQ8 YnIgLz4renNkYV9maW5kX25leHRfZnJlZV9jb29raWUoY29uc3QmbmJzcDtzdHJ1Y3QmbmJzcDt6 c2RhX3F1ZXVlJm5ic3A7KnF1ZXVlLCZuYnNwO3ZvaWQmbmJzcDsqKm9wX2Nvb2tpZSw8YnIgLz4r Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7dWludDE2X3QmbmJzcDsqaWR4KTxiciAvPit7PGJy IC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO3VpbnQxNl90Jm5ic3A7b2xkX3RhaWwmbmJzcDs9 Jm5ic3A7cXVldWUtJmd0O3RhaWw7PGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO3VpbnQx Nl90Jm5ic3A7dGFpbCZuYnNwOz0mbmJzcDtxdWV1ZS0mZ3Q7dGFpbDs8YnIgLz4rJm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7c3RydWN0Jm5ic3A7enNkYV9vcF9jb29raWUmbmJzcDsqY29va2llOzxi ciAvPis8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ZG8mbmJzcDt7PGJyIC8+KyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO2Nvb2tpZSZuYnNwOz0m bmJzcDtvcF9jb29raWVbdGFpbF07PGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwO2lmJm5ic3A7KCFjb29raWUtJmd0O3VzZWQpJm5ic3A7ezxiciAv PismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsqaWR4Jm5ic3A7PSZuYnNwO3RhaWwmbmJzcDsmYW1wOyZuYnNwOyhx dWV1ZS0mZ3Q7cXVldWVfc2l6ZSZuYnNwOy0mbmJzcDsxKTs8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 cmV0dXJuJm5ic3A7WlNEQV9TVUNDRVNTOzxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDt9PGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwO3RhaWwmbmJzcDs9Jm5ic3A7enNkYV9tb2R1bG9fMTYodGFp bCsrLCZuYnNwO3F1ZXVlLSZndDttb2R1bG9fbWFzayk7PGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwO30mbmJzcDt3aGlsZSZuYnNwOyhvbGRfdGFpbCZuYnNwOyE9Jm5ic3A7dGFpbCk7PGJy IC8+KzxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtyZXR1cm4mbmJzcDstRUlOVkFMOzxi ciAvPit9PGJyIC8+KzxiciAvPitzdGF0aWMmbmJzcDtpbnQ8YnIgLz4renNkYV9lbnF1ZXVlKHZv aWQmbmJzcDsqb3AsJm5ic3A7c3RydWN0Jm5ic3A7enNkYV9xcCZuYnNwOypxcCk8YnIgLz4rezxi ciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDt1aW50MTZfdCZuYnNwO25ld190YWlsOzxiciAv PismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtlbnVtJm5ic3A7enNkYV9zZXJ2aWNlX3R5cGUmbmJz cDt0eXBlOzxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDt2b2lkJm5ic3A7KipvcF9jb29r aWU7PGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO2ludCZuYnNwO3JldCZuYnNwOz0mbmJz cDtaU0RBX1NVQ0NFU1M7PGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO3N0cnVjdCZuYnNw O3pzZGFfcXVldWUmbmJzcDsqcXVldWU7PGJyIC8+KzxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDtmb3ImbmJzcDsodHlwZSZuYnNwOz0mbmJzcDswOyZuYnNwO3R5cGUmbmJzcDsmbHQ7Jm5i c3A7WlNEQV9TRVJWSUNFX0lOVkFMSUQ7Jm5ic3A7dHlwZSsrKSZuYnNwO3s8YnIgLz4rJm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7aWYmbmJzcDsocXAtJmd0 O3Nydlt0eXBlXS51c2VkKSZuYnNwO3s8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7aWYmbmJzcDsoIXFw LSZndDtzcnZbdHlwZV0ubWF0Y2gob3ApKTxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDtjb250aW51ZTs8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7cXVldWUmbmJzcDs9 Jm5ic3A7JmFtcDtxcC0mZ3Q7c3J2W3R5cGVdLnR4X3E7PGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO29w X2Nvb2tpZSZuYnNwOz0mbmJzcDtxcC0mZ3Q7c3J2W3R5cGVdLm9wX2Nvb2tpZXM7PGJyIC8+Kzxi ciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDtpZiZuYnNwOyh6c2RhX2ZpbmRfbmV4dF9mcmVlX2Nvb2tpZShx dWV1ZSwmbmJzcDtvcF9jb29raWUsPGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZhbXA7bmV3X3RhaWwpKSZuYnNwO3s8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7cmV0Jm5ic3A7PSZuYnNwOy1FQlVTWTs8YnIgLz4rJm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7YnJlYWs7PGJyIC8+KyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwO308YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7cmV0Jm5ic3A7PSZuYnNwO3FwLSZndDtzcnZb dHlwZV0udHhfY2Iob3AsJm5ic3A7cXVldWUsJm5ic3A7b3BfY29va2llLDxiciAvPismbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtuZXdfdGFpbCk7PGJyIC8+KyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwO2lmJm5ic3A7KHJldCkmbmJzcDt7PGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwO3FwLSZndDtzcnZbdHlwZV0uc3RhdHMuZW5xdWV1ZV9lcnJfY291 bnQrKzs8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7WlNEQV9M T0coRVJSLCZuYnNwOyZxdW90O0ZhaWxlZCEmbmJzcDtjb25maWcmbmJzcDt3cWUmcXVvdDspOzxi ciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDticmVhazs8YnIgLz4r Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7fTxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtxcC0mZ3Q7c3J2W3R5cGVdLnN0 YXRzLmVucXVldWVkX2NvdW50Kys7PGJyIC8+KzxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtxdWV1ZS0m Z3Q7dGFpbCZuYnNwOz0mbmJzcDt6c2RhX21vZHVsb18xNihuZXdfdGFpbCZuYnNwOysmbmJzcDsx LDxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDtxdWV1ZS0mZ3Q7cXVldWVfc2l6ZSZuYnNwOy0mbmJzcDsxKTs8YnIgLz4rPGJy IC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwO2lmJm5ic3A7KG5ld190YWlsJm5ic3A7Jmd0OyZuYnNwO3F1ZXVl LSZndDt0YWlsKTxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtx dWV1ZS0mZ3Q7dmFsaWQmbmJzcDs9PGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO3pzZGFfbW9kdWxvXzgocXVldWUtJmd0 O3ZhbGlkJm5ic3A7KyZuYnNwOzEsPGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyh1aW50OF90KShxdWV1ZS0mZ3Q7Y3lj bGVfc2l6ZSZuYnNwOy0mbmJzcDsxKSk7PGJyIC8+KzxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtxdWV1 ZS0mZ3Q7cHVzaGVkX3dxZSsrOzxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDticmVhazs8YnIgLz4rJm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7fTxiciAvPismbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDt9PGJyIC8+KzxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDtyZXR1cm4mbmJzcDtyZXQ7PGJyIC8+K308YnIgLz4rPGJyIC8+K3N0YXRpYyZuYnNwO3ZvaWQ8 YnIgLz4renNkYV90eF93cml0ZV90YWlsKHN0cnVjdCZuYnNwO3pzZGFfcXVldWUmbmJzcDsqcXVl dWUpPGJyIC8+K3s8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7aWYmbmJzcDsocXVldWUt Jmd0O3B1c2hlZF93cWUpPGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwO1dSSVRFX0NTUl9XUV9UQUlMKHF1ZXVlLSZndDtpb19hZGRyLCZuYnNwO3F1 ZXVlLSZndDtod19xdWV1ZV9udW1iZXIsPGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO3F1ZXVlLSZndDt0YWlsKTs8YnIgLz4rPGJyIC8+KyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwO3F1ZXVlLSZndDtwdXNoZWRfd3FlJm5ic3A7PSZuYnNwOzA7 PGJyIC8+K308YnIgLz4rPGJyIC8+K3VpbnQxNl90PGJyIC8+K3pzZGFfZW5xdWV1ZV9vcF9idXJz dChzdHJ1Y3QmbmJzcDt6c2RhX3FwJm5ic3A7KnFwLCZuYnNwO3ZvaWQmbmJzcDsqKm9wcywmbmJz cDt1aW50MTZfdCZuYnNwO25iX29wcyk8YnIgLz4rezxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDtpbnQmbmJzcDtyZXQmbmJzcDs9Jm5ic3A7WlNEQV9TVUNDRVNTOzxiciAvPismbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDtlbnVtJm5ic3A7enNkYV9zZXJ2aWNlX3R5cGUmbmJzcDt0eXBlOzxi ciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDt1aW50MTZfdCZuYnNwO2k7PGJyIC8+KyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwO3VpbnQxNl90Jm5ic3A7bmJfc2VuZCZuYnNwOz0mbmJzcDswOzxi ciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDt2b2lkJm5ic3A7Km9wOzxiciAvPis8YnIgLz4r Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7aWYmbmJzcDsobmJfb3BzJm5ic3A7Jmd0OyZuYnNwO1pT REFfTUFYX0RFU0MpJm5ic3A7ezxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDtaU0RBX0xPRyhFUlIsJm5ic3A7JnF1b3Q7RW5xdWV1ZSZuYnNwO251 bWJlciZuYnNwO2JpZ2dlciZuYnNwO3RoYW4mbmJzcDslZCZxdW90OywmbmJzcDtaU0RBX01BWF9E RVNDKTs8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7cmV0dXJuJm5ic3A7MDs8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7fTxiciAvPis8 YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Zm9yJm5ic3A7KGkmbmJzcDs9Jm5ic3A7MDsm bmJzcDtpJm5ic3A7Jmx0OyZuYnNwO25iX29wczsmbmJzcDtpKyspJm5ic3A7ezxiciAvPismbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtvcCZuYnNwOz0mbmJz cDtvcHNbaV07PGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwO3JldCZuYnNwOz0mbmJzcDt6c2RhX2VucXVldWUob3AsJm5ic3A7cXApOzxiciAvPism bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtpZiZuYnNwOyhy ZXQmbmJzcDsmbHQ7Jm5ic3A7MCk8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7YnJlYWs7PGJyIC8+KyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO25iX3NlbmQrKzs8 YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7fTxiciAvPis8YnIgLz4rJm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Zm9yJm5ic3A7KHR5cGUmbmJzcDs9Jm5ic3A7MDsmbmJzcDt0eXBlJm5ic3A7 Jmx0OyZuYnNwO1pTREFfU0VSVklDRV9JTlZBTElEOyZuYnNwO3R5cGUrKyk8YnIgLz4rJm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7aWYmbmJzcDsocXAtJmd0 O3Nydlt0eXBlXS51c2VkKTxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDt6c2RhX3R4X3dyaXRlX3RhaWwo JmFtcDtxcC0mZ3Q7c3J2W3R5cGVdLnR4X3EpOzxiciAvPis8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7cmV0dXJuJm5ic3A7bmJfc2VuZDs8YnIgLz4rfTxiciAvPis8YnIgLz4mbmJzcDtp bnQ8YnIgLz4mbmJzcDt6c2RhX2NvbW1vbl9zZXR1cF9xcCh1aW50MzJfdCZuYnNwO3pzZGFfZGV2 X2lkLCZuYnNwO3N0cnVjdCZuYnNwO3pzZGFfcXAmbmJzcDsqKnFwX2FkZHIsPGJyIC8+Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Y29uc3QmbmJz cDt1aW50MTZfdCZuYnNwO3F1ZXVlX3BhaXJfaWQsJm5ic3A7Y29uc3QmbmJzcDtzdHJ1Y3QmbmJz cDt6c2RhX3FwX2NvbmZpZyZuYnNwOypjb25mKTxiciAvPmRpZmYmbmJzcDstLWdpdCZuYnNwO2Ev ZHJpdmVycy9jb21tb24venNkYS96c2RhX3FwLmgmbmJzcDtiL2RyaXZlcnMvY29tbW9uL3pzZGEv enNkYV9xcC5oPGJyIC8+aW5kZXgmbmJzcDthOWYwZDM4YmE1Li5mOWVmZmYwZTVhJm5ic3A7MTAw NjQ0PGJyIC8+LS0tJm5ic3A7YS9kcml2ZXJzL2NvbW1vbi96c2RhL3pzZGFfcXAuaDxiciAvPisr KyZuYnNwO2IvZHJpdmVycy9jb21tb24venNkYS96c2RhX3FwLmg8YnIgLz5AQCZuYnNwOy0xMzUs NiZuYnNwOysxMzUsOCZuYnNwO0BAJm5ic3A7aW50Jm5ic3A7enNkYV9nZXRfcXVldWVfY2ZnKHN0 cnVjdCZuYnNwO3pzZGFfcGNpX2RldmljZSZuYnNwOyp6c2RhX3BjaV9kZXYpOzxiciAvPiZuYnNw Ow08YnIgLz4mbmJzcDtpbnQmbmJzcDt6c2RhX3F1ZXVlX3BhaXJfcmVsZWFzZShzdHJ1Y3QmbmJz cDt6c2RhX3FwJm5ic3A7KipxcF9hZGRyKTs8YnIgLz4mbmJzcDsNPGJyIC8+K3VpbnQxNl90Jm5i c3A7enNkYV9lbnF1ZXVlX29wX2J1cnN0KHN0cnVjdCZuYnNwO3pzZGFfcXAmbmJzcDsqcXAsJm5i c3A7dm9pZCZuYnNwOyoqb3BzLCZuYnNwO2NvbnN0Jm5ic3A7dWludDE2X3QmbmJzcDtuYl9vcHMp OzxiciAvPis8YnIgLz4mbmJzcDtpbnQmbmJzcDt6c2RhX2NvbW1vbl9zZXR1cF9xcCh1aW50MzJf dCZuYnNwO2Rldl9pZCwmbmJzcDtzdHJ1Y3QmbmJzcDt6c2RhX3FwJm5ic3A7KipxcF9hZGRyLDxi ciAvPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO2NvbnN0Jm5ic3A7dWludDE2X3QmbmJzcDtxdWV1ZV9w YWlyX2lkLDxiciAvPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO2NvbnN0Jm5ic3A7c3RydWN0Jm5ic3A7 enNkYV9xcF9jb25maWcmbmJzcDsqY29uZik7PGJyIC8+LS0mbmJzcDsNPGJyIC8+Mi4yNy4wPGJy IC8+ --=====_003_next=====-- --=====_002_next=====-- --=====_001_next=====--