From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by smtp.lore.kernel.org (Postfix) with ESMTP id 724A7CD4F26 for ; Tue, 23 Jun 2026 06:09:39 +0000 (UTC) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id A2D29402D5; Tue, 23 Jun 2026 08:09:38 +0200 (CEST) Received: from mxct.zte.com.cn (mxct.zte.com.cn [183.62.165.209]) by mails.dpdk.org (Postfix) with ESMTP id E5B2D402D5 for ; Tue, 23 Jun 2026 08:09:35 +0200 (CEST) Received: from mse-fl2.zte.com.cn (unknown [10.5.228.133]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mxct.zte.com.cn (FangMail) with ESMTPS id 4gkvmC5QzMz57HS4; Tue, 23 Jun 2026 14:09:31 +0800 (CST) Received: from szxlzmapp01.zte.com.cn ([10.5.231.85]) by mse-fl2.zte.com.cn with SMTP id 65N69MUA039046; Tue, 23 Jun 2026 14:09:22 +0800 (+08) (envelope-from wang.junlong1@zte.com.cn) Received: from localhost.localdomain (unknown [192.168.6.15]) by smtp (Zmail) with SMTP; Tue, 23 Jun 2026 14:09:24 +0800 X-Zmail-TransId: 3e816a3a2310005-e898f X-Zmail-LocalSMTP: 1 X-Zmail-RealSender: wang.junlong1@zte.com.cn From: Junlong Wang To: stephen@networkplumber.org Cc: dev@dpdk.org, Junlong Wang Subject: [PATCH v7 0/4] net/zxdh: optimize Rx/Tx path performance Date: Tue, 23 Jun 2026 14:09:04 +0800 Message-ID: <20260623060909.97023-1-wang.junlong1@zte.com.cn> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260617082828.1058127-1-wang.junlong1@zte.com.cn> References: <20260617082828.1058127-1-wang.junlong1@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 65N69MUA039046 X-TLS: YES X-ENVELOPE-SENDER: wang.junlong1@zte.com.cn X-SOURCE-IP: 10.5.228.133 unknown Tue, 23 Jun 2026 14:09:31 +0800 X-CLEAN: YES X-Fangmail-Anti-Spam-Filtered: true X-Fangmail-MID-QID: 6A3A231B.001/4gkvmC5QzMz57HS4 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 djc6DQogIC0gQWRkIGEgbmV3IHhtaXQgcHJlcGFyZSBmdW5jIGZvciB4bWl0X3BrdHNfc2ltcGxl LCB3aGljaCB3aWxsIGNoZWNrZWQgdGhlIHNpemUgb2YNCiAgICBaWERIX0RMX05FVF9IRFJfU0la RSBhbmQgUlRFX1BLVE1CVUZfSEVBRFJPT00uDQoNCnY2Og0KICAtIFJlbW92ZSB1bm5lY2Vzc2Fy eSBlcnJvciBjaGVja2luZyBjb2RlIGluIHN1Ym1pdF90b19iYWNrZW5kX3NpbXBsZSgpIGFuZA0K ICAgIHBrdF9wYWRkaW5nKCkuIFNpbmNlIGFzIHRoZSBtYXggZGxfbmV0X2hkcl9sZW4gaXMgYWx3 YXlzIGxlc3MgdGhhbg0KICAgIFJURV9QS1RNQlVGX0hFQURST09NLCBydGVfcGt0bWJ1Zl9wcmVw ZW5kKCkgY2Fubm90IGZhaWwgaW4gdGhlDQogICAgc2ltcGxlIHBhdGggKHNpbmdsZS1zZWdtZW50 IG1idWZzKS4NCnY1Og0KICAtIFJlb3JnYW5pemUgcGF0Y2ggc2VyaWVzLCBwbGFjaW5nIGludGVy cnVwdCBmaXggYXMgdGhlIGZpcnN0IHBhdGNoDQogICAgYW5kIGZpeCBjb25kaXRpb24gY2hlY2sg dG8gcHJvcGVybHkgZW5hYmxlIGludGVycnVwdHMuDQogIC0gRml4IHp4ZGhfcmVjdl9zaW5nbGVf cGt0cygpIG5vdCBjb21wYWN0aW5nIHJjdl9wa3RzW10gb24gZmFpbHVyZSwNCiAgICB3aGljaCBj b3VsZCBjYXVzZSB1c2UtYWZ0ZXItZnJlZSBhbmQgbWJ1ZiBsZWFrLg0KICAtIEZpeCB0eF9idW5j aCgpIGFuZCB0eDEoKSBtaXNzaW5nIHN0b3JlIGJhcnJpZXIgYmVmb3JlIHNldHRpbmcgQVZBSUwg ZmxhZywNCiAgICBwcmV2ZW50aW5nIGRhdGEgcmFjZSBvbiB3ZWFrbHktb3JkZXJlZCBhcmNoaXRl Y3R1cmVzLg0KICAtIEZpeCBzdWJtaXRfdG9fYmFja2VuZF9zaW1wbGUoKSB3cml0aW5nIGRlc2Ny aXB0b3JzIGZvciBwYWNrZXRzIHRoYXQNCiAgICBmYWlsZWQgcGt0X3BhZGRpbmcoKSwgY2F1c2lu ZyBtYnVmIGxlYWsuDQp2NDoNCiAgLSBmaXggc29tZSBBSSByZXZpZXcgaXNzdWVzLg0KICAtIGZp eCBxdWV1ZSBlbmFibGUgaW50ciBidWcuDQp2MzoNCiAgLSByZW1vdmUgdW5uZWNlc3NhcnkgTlVM TCBjaGVjayBpbiB6eGRoX2luaXRfcXVldWUuDQogIC0gU3BsaXQgUmluZzogQml0WzMxXSBpcyB1 bnVzZWQgYW5kIHJlc2VydmVkLCB6eGRoX3F1ZXVlX25vdGlmeSgpOiByZW1vdmluZyB0aGUNCiAg ICB6eGRoX3BjaV93aXRoX2ZlYXR1cmUoaHcsIFpYREhfRl9SSU5HX1BBQ0tFRCkgY2hlY2s7DQog IC0gcmVtb3ZlIHVubmVjZXNzYXJ5IGRvdWJsZS1mcmVlIGluIGluIHp4ZGhfcmVjdl9zaW5nbGVf cGt0cygpOw0KICAtIHVzZWQgcnRlX3BrdG1idWZfbXRvZCgpOw0KICAtIHJlbW92ZSByeHFfZ2V0 X3ZxKHEpIG1hY3JvLCB1c2UgcS0+dnEgYW5kIGFwcGx5IGl0IGNvbnNpc3RlbnRseTsNCiAgLSBS ZWZhY3RvcmluZyBzY2F0dGVyIGFuZCBtdHUgY2hlY2sgbG9naWMgaW4genhkaF9kZXZfbXR1X3Nl dCgpOw0KICAtIHNldCB0eGRwLT5pZCA9IGF2YWlsX2lkeCArIGkgaW4gdHhfYnVuY2gvdHgxLg0K ICAtIGFkZCBjb21tZW50IGRvY3VtZW50aW5nIHp4ZGhfeG1pdF9lbnF1ZXVlX2FwcGVuZCgpIG5v dyBzZXRzIGR4cC0+Y29va2llID0gTlVMTCBmb3INCiAgICB0aGUgaGVhZCBzbG90IGFuZCBzdG9y ZXMgY29va2llcyBwZXIgZGVzY3JpcHRvciB2aWEgZGVwW2lkeF0uY29va2llLg0KICAtIGFkZCBv bmUtbGluZSBjb21tZW50IG5vdGluZyB0eF9idW5jaCgpIGlzIHRoZSBzaW1wbGUgcGF0aCBoYW5k bGVzIHNpbmdsZS1zZWdtZW50Lg0KICAtIHJlbW92ZSB1bm5lY2Vzc2FyeSBFeHRyYSBpbml0aWFs aXphdGlvbiBhbmQgdGhlIHVpbnQzMl90IGNhc3QuDQp2MjoNCiAgLSB6eGRoX3J4dHguYywgcGt0 X3BhZGRpbmcoKTogbW9kaWZ5ZWQgdGhlIHJldHVybiB2YWx1ZSBvZiBwa3RfcGFkZGluZygpOw0K ICAtIHp4ZGhfcnh0eC5jLCB6eGRoX3JlY3Zfc2luZ2xlX3BrdHMoKTogbW9kaWZ5ZWQgV2hlbiB6 eGRoX2luaXRfbWJ1ZigpIGZhaWxzDQogICAgdGhlIGxvb3AgZG9lcyAiY29udGludWUiIGFuZCBm cmVlIG1idWZzOw0KICAtIHp4ZGhfcnh0eC5jLCByZWZpbGxfZGVzY191bndyYXAoKTogQWRkIHJ0 ZV9pb193bWIoKSBiZWZvcmUgd3JpdGluZyBmbGFncw0KICAgIGluIHRoZSByZWZpbGxfcXVlX2Rl c2NzKCk7DQogIC0genhkaF9xdWV1ZS5oLCB6eGRoX3F1ZXVlX2VuYWJsZV9pbnRyKCk6IFJlbW92 ZSB1bm5lY2Vzc2FyeSBmdW5jdGlvbiBvZiB6eGRoX3F1ZXVlX2VuYWJsZV9pbnRyOw0KICAtIHp4 ZGhfZXRoZGV2LmMsIHp4ZGhfaW5pdF9xdWV1ZSgpOiBjaGFuZ2VkIHRoZSBoZHJfbXogTlVMTCBj aGVjayBsb2dpYzsNCiAgLSB6eGRoX3J4dHguYywgenhkaF94bWl0X3BrdHNfc2ltcGxlKCnjgIF6 eGRoX3JlY3Zfc2luZ2xlX3BrdHMoKTogYWRkIHN0YXRzLmJ5dGVzIGNvdW50Ow0KICAtIHp4ZGhf cnh0eC5jLCB6eGRoX2luaXRfbWJ1ZigpOnJlbW92ZSAgcnRlX3BrdG1idWZfZHVtcChzdGRvdXQs IHJ4bSwgNDApOw0KICAtIHp4ZGhfZXRoZGV2LmMsIHp4ZGhfZGV2X2ZyZWVfbWJ1ZnMoKTogdXNp bmcgcnRlX3BrdG1idWZfZnJlZSgpIHRvIGZyZWUgbWJ1ZnM7DQogIC0gU3BsaXR0aW5nIGludG8g c2VwYXJhdGUgcGF0Y2hlcywgc3RydWN0dXJlIHJlb3JnYW5pemF0aW9uIGFuZCBzd19yaW5nIHJl bW92YWzjgIENCiAgICBSWCByZWN2IG9wdGltaXpl44CBVHggeG1pdCBvcHRpbWl6ZeOAgVR4Ow0K djE6DQogIFRoaXMgcGF0Y2ggb3B0aW1pemVzIHRoZSBaWERIIFBNRCdzIHJlY2VpdmUgYW5kIHRy YW5zbWl0IHBhdGggZm9yIGJldHRlcg0KICBwZXJmb3JtYW5jZSB0aHJvdWdoIHNldmVyYWwgaW1w cm92ZW1lbnRzOg0KLSBBZGQgc2ltcGxlIFRYL1JYIGJ1cnN0IGZ1bmN0aW9ucyAoenhkaF94bWl0 X3BrdHNfc2ltcGxlIGFuZA0KICB6eGRoX3JlY3Zfc2luZ2xlX3BrdHMpIGZvciBzaW5nbGUtc2Vn bWVudCBwYWNrZXQgc2NlbmFyaW9zLg0KLSBSZW1vdmUgUlggc29mdHdhcmUgcmluZyAoc3dfcmlu ZykgdG8gcmVkdWNlIG1lbW9yeSBhbGxvY2F0aW9uIGFuZA0KICBjb3B5Lg0KLSBPcHRpbWl6ZSBk ZXNjcmlwdG9yIG1hbmFnZW1lbnQgd2l0aCBwcmVmZXRjaGluZyBhbmQgc2ltcGxpZmllZA0KICBj bGVhbnVwLg0KLSBSZW9yZ2FuaXplIHN0cnVjdHVyZSBmaWVsZHMgZm9yIGJldHRlciBjYWNoZSBs b2NhbGl0eS4NCiAgVGhlc2UgY2hhbmdlcyByZWR1Y2UgQ1BVIGN5Y2xlcyBhbmQgbWVtb3J5IGJh bmR3aWR0aCBjb25zdW1wdGlvbiwNCiAgcmVzdWx0aW5nIGluIGltcHJvdmVkIHBhY2tldCBwcm9j ZXNzaW5nIHRocm91Z2hwdXQuDQoNCkp1bmxvbmcgV2FuZyAoNCk6DQogIG5ldC96eGRoOiBmaXgg cXVldWUgZW5hYmxlIGludHIgaXNzdWVzDQogIG5ldC96eGRoOiBvcHRpbWl6ZSBxdWV1ZSBzdHJ1 Y3R1cmUgdG8gaW1wcm92ZSBwZXJmb3JtYW5jZQ0KICBuZXQvenhkaDogb3B0aW1pemUgUnggcmVj diBwa3RzIHBlcmZvcm1hbmNlDQogIG5ldC96eGRoOiBvcHRpbWl6ZSBUeCB4bWl0IHBrdHMgcGVy Zm9ybWFuY2UNCg0KIGRyaXZlcnMvbmV0L3p4ZGgvenhkaF9ldGhkZXYuYyAgICAgfCAgODMgKysr LS0NCiBkcml2ZXJzL25ldC96eGRoL3p4ZGhfZXRoZGV2X29wcy5jIHwgIDIzICstDQogZHJpdmVy cy9uZXQvenhkaC96eGRoX2V0aGRldl9vcHMuaCB8ICAgNCArDQogZHJpdmVycy9uZXQvenhkaC96 eGRoX3BjaS5jICAgICAgICB8ICAgMiArLQ0KIGRyaXZlcnMvbmV0L3p4ZGgvenhkaF9xdWV1ZS5j ICAgICAgfCAgMTEgKy0NCiBkcml2ZXJzL25ldC96eGRoL3p4ZGhfcXVldWUuaCAgICAgIHwgMTIy ICsrKy0tLQ0KIGRyaXZlcnMvbmV0L3p4ZGgvenhkaF9yeHR4LmMgICAgICAgfCA1NzEgKysrKysr KysrKysrKysrKysrKysrKy0tLS0tLS0NCiBkcml2ZXJzL25ldC96eGRoL3p4ZGhfcnh0eC5oICAg ICAgIHwgIDI5ICstDQogOCBmaWxlcyBjaGFuZ2VkLCA1ODQgaW5zZXJ0aW9ucygrKSwgMjYxIGRl bGV0aW9ucygtKQ0KDQotLSANCjIuMjcuMA== --=====_003_next===== Content-Type: text/html ; charset="UTF-8" Content-Transfer-Encoding: base64 djc6PGJyIC8+Jm5ic3A7Jm5ic3A7LSZuYnNwO0FkZCZuYnNwO2EmbmJzcDtuZXcmbmJzcDt4bWl0 Jm5ic3A7cHJlcGFyZSZuYnNwO2Z1bmMmbmJzcDtmb3ImbmJzcDt4bWl0X3BrdHNfc2ltcGxlLCZu YnNwO3doaWNoJm5ic3A7d2lsbCZuYnNwO2NoZWNrZWQmbmJzcDt0aGUmbmJzcDtzaXplJm5ic3A7 b2Y8YnIgLz4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtaWERIX0RMX05FVF9IRFJfU0laRSZuYnNw O2FuZCZuYnNwO1JURV9QS1RNQlVGX0hFQURST09NLjxiciAvPg08YnIgLz52Njo8YnIgLz4mbmJz cDsmbmJzcDstJm5ic3A7UmVtb3ZlJm5ic3A7dW5uZWNlc3NhcnkmbmJzcDtlcnJvciZuYnNwO2No ZWNraW5nJm5ic3A7Y29kZSZuYnNwO2luJm5ic3A7c3VibWl0X3RvX2JhY2tlbmRfc2ltcGxlKCkm bmJzcDthbmQ8YnIgLz4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtwa3RfcGFkZGluZygpLiZuYnNw O1NpbmNlJm5ic3A7YXMmbmJzcDt0aGUmbmJzcDttYXgmbmJzcDtkbF9uZXRfaGRyX2xlbiZuYnNw O2lzJm5ic3A7YWx3YXlzJm5ic3A7bGVzcyZuYnNwO3RoYW48YnIgLz4mbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDtSVEVfUEtUTUJVRl9IRUFEUk9PTSwmbmJzcDtydGVfcGt0bWJ1Zl9wcmVwZW5kKCkm bmJzcDtjYW5ub3QmbmJzcDtmYWlsJm5ic3A7aW4mbmJzcDt0aGU8YnIgLz4mbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDtzaW1wbGUmbmJzcDtwYXRoJm5ic3A7KHNpbmdsZS1zZWdtZW50Jm5ic3A7bWJ1 ZnMpLjxiciAvPnY1OjxiciAvPiZuYnNwOyZuYnNwOy0mbmJzcDtSZW9yZ2FuaXplJm5ic3A7cGF0 Y2gmbmJzcDtzZXJpZXMsJm5ic3A7cGxhY2luZyZuYnNwO2ludGVycnVwdCZuYnNwO2ZpeCZuYnNw O2FzJm5ic3A7dGhlJm5ic3A7Zmlyc3QmbmJzcDtwYXRjaDxiciAvPiZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwO2FuZCZuYnNwO2ZpeCZuYnNwO2NvbmRpdGlvbiZuYnNwO2NoZWNrJm5ic3A7dG8mbmJz cDtwcm9wZXJseSZuYnNwO2VuYWJsZSZuYnNwO2ludGVycnVwdHMuPGJyIC8+Jm5ic3A7Jm5ic3A7 LSZuYnNwO0ZpeCZuYnNwO3p4ZGhfcmVjdl9zaW5nbGVfcGt0cygpJm5ic3A7bm90Jm5ic3A7Y29t cGFjdGluZyZuYnNwO3Jjdl9wa3RzW10mbmJzcDtvbiZuYnNwO2ZhaWx1cmUsPGJyIC8+Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7d2hpY2gmbmJzcDtjb3VsZCZuYnNwO2NhdXNlJm5ic3A7dXNlLWFm dGVyLWZyZWUmbmJzcDthbmQmbmJzcDttYnVmJm5ic3A7bGVhay48YnIgLz4mbmJzcDsmbmJzcDst Jm5ic3A7Rml4Jm5ic3A7dHhfYnVuY2goKSZuYnNwO2FuZCZuYnNwO3R4MSgpJm5ic3A7bWlzc2lu ZyZuYnNwO3N0b3JlJm5ic3A7YmFycmllciZuYnNwO2JlZm9yZSZuYnNwO3NldHRpbmcmbmJzcDtB VkFJTCZuYnNwO2ZsYWcsPGJyIC8+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7cHJldmVudGluZyZu YnNwO2RhdGEmbmJzcDtyYWNlJm5ic3A7b24mbmJzcDt3ZWFrbHktb3JkZXJlZCZuYnNwO2FyY2hp dGVjdHVyZXMuPGJyIC8+Jm5ic3A7Jm5ic3A7LSZuYnNwO0ZpeCZuYnNwO3N1Ym1pdF90b19iYWNr ZW5kX3NpbXBsZSgpJm5ic3A7d3JpdGluZyZuYnNwO2Rlc2NyaXB0b3JzJm5ic3A7Zm9yJm5ic3A7 cGFja2V0cyZuYnNwO3RoYXQ8YnIgLz4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtmYWlsZWQmbmJz cDtwa3RfcGFkZGluZygpLCZuYnNwO2NhdXNpbmcmbmJzcDttYnVmJm5ic3A7bGVhay48YnIgLz52 NDo8YnIgLz4mbmJzcDsmbmJzcDstJm5ic3A7Zml4Jm5ic3A7c29tZSZuYnNwO0FJJm5ic3A7cmV2 aWV3Jm5ic3A7aXNzdWVzLjxiciAvPiZuYnNwOyZuYnNwOy0mbmJzcDtmaXgmbmJzcDtxdWV1ZSZu YnNwO2VuYWJsZSZuYnNwO2ludHImbmJzcDtidWcuPGJyIC8+djM6PGJyIC8+Jm5ic3A7Jm5ic3A7 LSZuYnNwO3JlbW92ZSZuYnNwO3VubmVjZXNzYXJ5Jm5ic3A7TlVMTCZuYnNwO2NoZWNrJm5ic3A7 aW4mbmJzcDt6eGRoX2luaXRfcXVldWUuPGJyIC8+Jm5ic3A7Jm5ic3A7LSZuYnNwO1NwbGl0Jm5i c3A7UmluZzombmJzcDtCaXRbMzFdJm5ic3A7aXMmbmJzcDt1bnVzZWQmbmJzcDthbmQmbmJzcDty ZXNlcnZlZCwmbmJzcDt6eGRoX3F1ZXVlX25vdGlmeSgpOiZuYnNwO3JlbW92aW5nJm5ic3A7dGhl PGJyIC8+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7enhkaF9wY2lfd2l0aF9mZWF0dXJlKGh3LCZu YnNwO1pYREhfRl9SSU5HX1BBQ0tFRCkmbmJzcDtjaGVjazs8YnIgLz4mbmJzcDsmbmJzcDstJm5i c3A7cmVtb3ZlJm5ic3A7dW5uZWNlc3NhcnkmbmJzcDtkb3VibGUtZnJlZSZuYnNwO2luJm5ic3A7 aW4mbmJzcDt6eGRoX3JlY3Zfc2luZ2xlX3BrdHMoKTs8YnIgLz4mbmJzcDsmbmJzcDstJm5ic3A7 dXNlZCZuYnNwO3J0ZV9wa3RtYnVmX210b2QoKTs8YnIgLz4mbmJzcDsmbmJzcDstJm5ic3A7cmVt b3ZlJm5ic3A7cnhxX2dldF92cShxKSZuYnNwO21hY3JvLCZuYnNwO3VzZSZuYnNwO3EtJmd0O3Zx Jm5ic3A7YW5kJm5ic3A7YXBwbHkmbmJzcDtpdCZuYnNwO2NvbnNpc3RlbnRseTs8YnIgLz4mbmJz cDsmbmJzcDstJm5ic3A7UmVmYWN0b3JpbmcmbmJzcDtzY2F0dGVyJm5ic3A7YW5kJm5ic3A7bXR1 Jm5ic3A7Y2hlY2smbmJzcDtsb2dpYyZuYnNwO2luJm5ic3A7enhkaF9kZXZfbXR1X3NldCgpOzxi ciAvPiZuYnNwOyZuYnNwOy0mbmJzcDtzZXQmbmJzcDt0eGRwLSZndDtpZCZuYnNwOz0mbmJzcDth dmFpbF9pZHgmbmJzcDsrJm5ic3A7aSZuYnNwO2luJm5ic3A7dHhfYnVuY2gvdHgxLjxiciAvPiZu YnNwOyZuYnNwOy0mbmJzcDthZGQmbmJzcDtjb21tZW50Jm5ic3A7ZG9jdW1lbnRpbmcmbmJzcDt6 eGRoX3htaXRfZW5xdWV1ZV9hcHBlbmQoKSZuYnNwO25vdyZuYnNwO3NldHMmbmJzcDtkeHAtJmd0 O2Nvb2tpZSZuYnNwOz0mbmJzcDtOVUxMJm5ic3A7Zm9yPGJyIC8+Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7dGhlJm5ic3A7aGVhZCZuYnNwO3Nsb3QmbmJzcDthbmQmbmJzcDtzdG9yZXMmbmJzcDtj b29raWVzJm5ic3A7cGVyJm5ic3A7ZGVzY3JpcHRvciZuYnNwO3ZpYSZuYnNwO2RlcFtpZHhdLmNv b2tpZS48YnIgLz4mbmJzcDsmbmJzcDstJm5ic3A7YWRkJm5ic3A7b25lLWxpbmUmbmJzcDtjb21t ZW50Jm5ic3A7bm90aW5nJm5ic3A7dHhfYnVuY2goKSZuYnNwO2lzJm5ic3A7dGhlJm5ic3A7c2lt cGxlJm5ic3A7cGF0aCZuYnNwO2hhbmRsZXMmbmJzcDtzaW5nbGUtc2VnbWVudC48YnIgLz4mbmJz cDsmbmJzcDstJm5ic3A7cmVtb3ZlJm5ic3A7dW5uZWNlc3NhcnkmbmJzcDtFeHRyYSZuYnNwO2lu aXRpYWxpemF0aW9uJm5ic3A7YW5kJm5ic3A7dGhlJm5ic3A7dWludDMyX3QmbmJzcDtjYXN0Ljxi ciAvPnYyOjxiciAvPiZuYnNwOyZuYnNwOy0mbmJzcDt6eGRoX3J4dHguYywmbmJzcDtwa3RfcGFk ZGluZygpOiZuYnNwO21vZGlmeWVkJm5ic3A7dGhlJm5ic3A7cmV0dXJuJm5ic3A7dmFsdWUmbmJz cDtvZiZuYnNwO3BrdF9wYWRkaW5nKCk7PGJyIC8+Jm5ic3A7Jm5ic3A7LSZuYnNwO3p4ZGhfcnh0 eC5jLCZuYnNwO3p4ZGhfcmVjdl9zaW5nbGVfcGt0cygpOiZuYnNwO21vZGlmeWVkJm5ic3A7V2hl biZuYnNwO3p4ZGhfaW5pdF9tYnVmKCkmbmJzcDtmYWlsczxiciAvPiZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwO3RoZSZuYnNwO2xvb3AmbmJzcDtkb2VzJm5ic3A7JnF1b3Q7Y29udGludWUmcXVvdDsm bmJzcDthbmQmbmJzcDtmcmVlJm5ic3A7bWJ1ZnM7PGJyIC8+Jm5ic3A7Jm5ic3A7LSZuYnNwO3p4 ZGhfcnh0eC5jLCZuYnNwO3JlZmlsbF9kZXNjX3Vud3JhcCgpOiZuYnNwO0FkZCZuYnNwO3J0ZV9p b193bWIoKSZuYnNwO2JlZm9yZSZuYnNwO3dyaXRpbmcmbmJzcDtmbGFnczxiciAvPiZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwO2luJm5ic3A7dGhlJm5ic3A7cmVmaWxsX3F1ZV9kZXNjcygpOzxiciAv PiZuYnNwOyZuYnNwOy0mbmJzcDt6eGRoX3F1ZXVlLmgsJm5ic3A7enhkaF9xdWV1ZV9lbmFibGVf aW50cigpOiZuYnNwO1JlbW92ZSZuYnNwO3VubmVjZXNzYXJ5Jm5ic3A7ZnVuY3Rpb24mbmJzcDtv ZiZuYnNwO3p4ZGhfcXVldWVfZW5hYmxlX2ludHI7PGJyIC8+Jm5ic3A7Jm5ic3A7LSZuYnNwO3p4 ZGhfZXRoZGV2LmMsJm5ic3A7enhkaF9pbml0X3F1ZXVlKCk6Jm5ic3A7Y2hhbmdlZCZuYnNwO3Ro ZSZuYnNwO2hkcl9teiZuYnNwO05VTEwmbmJzcDtjaGVjayZuYnNwO2xvZ2ljOzxiciAvPiZuYnNw OyZuYnNwOy0mbmJzcDt6eGRoX3J4dHguYywmbmJzcDt6eGRoX3htaXRfcGt0c19zaW1wbGUoKeOA gXp4ZGhfcmVjdl9zaW5nbGVfcGt0cygpOiZuYnNwO2FkZCZuYnNwO3N0YXRzLmJ5dGVzJm5ic3A7 Y291bnQ7PGJyIC8+Jm5ic3A7Jm5ic3A7LSZuYnNwO3p4ZGhfcnh0eC5jLCZuYnNwO3p4ZGhfaW5p dF9tYnVmKCk6cmVtb3ZlJm5ic3A7Jm5ic3A7cnRlX3BrdG1idWZfZHVtcChzdGRvdXQsJm5ic3A7 cnhtLCZuYnNwOzQwKTs8YnIgLz4mbmJzcDsmbmJzcDstJm5ic3A7enhkaF9ldGhkZXYuYywmbmJz cDt6eGRoX2Rldl9mcmVlX21idWZzKCk6Jm5ic3A7dXNpbmcmbmJzcDtydGVfcGt0bWJ1Zl9mcmVl KCkmbmJzcDt0byZuYnNwO2ZyZWUmbmJzcDttYnVmczs8YnIgLz4mbmJzcDsmbmJzcDstJm5ic3A7 U3BsaXR0aW5nJm5ic3A7aW50byZuYnNwO3NlcGFyYXRlJm5ic3A7cGF0Y2hlcywmbmJzcDtzdHJ1 Y3R1cmUmbmJzcDtyZW9yZ2FuaXphdGlvbiZuYnNwO2FuZCZuYnNwO3N3X3JpbmcmbmJzcDtyZW1v dmFs44CBPGJyIC8+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7UlgmbmJzcDtyZWN2Jm5ic3A7b3B0 aW1pemXjgIFUeCZuYnNwO3htaXQmbmJzcDtvcHRpbWl6ZeOAgVR4OzxiciAvPnYxOjxiciAvPiZu YnNwOyZuYnNwO1RoaXMmbmJzcDtwYXRjaCZuYnNwO29wdGltaXplcyZuYnNwO3RoZSZuYnNwO1pY REgmbmJzcDtQTUQmYXBvcztzJm5ic3A7cmVjZWl2ZSZuYnNwO2FuZCZuYnNwO3RyYW5zbWl0Jm5i c3A7cGF0aCZuYnNwO2ZvciZuYnNwO2JldHRlcjxiciAvPiZuYnNwOyZuYnNwO3BlcmZvcm1hbmNl Jm5ic3A7dGhyb3VnaCZuYnNwO3NldmVyYWwmbmJzcDtpbXByb3ZlbWVudHM6PGJyIC8+LSZuYnNw O0FkZCZuYnNwO3NpbXBsZSZuYnNwO1RYL1JYJm5ic3A7YnVyc3QmbmJzcDtmdW5jdGlvbnMmbmJz cDsoenhkaF94bWl0X3BrdHNfc2ltcGxlJm5ic3A7YW5kPGJyIC8+Jm5ic3A7Jm5ic3A7enhkaF9y ZWN2X3NpbmdsZV9wa3RzKSZuYnNwO2ZvciZuYnNwO3NpbmdsZS1zZWdtZW50Jm5ic3A7cGFja2V0 Jm5ic3A7c2NlbmFyaW9zLjxiciAvPi0mbmJzcDtSZW1vdmUmbmJzcDtSWCZuYnNwO3NvZnR3YXJl Jm5ic3A7cmluZyZuYnNwOyhzd19yaW5nKSZuYnNwO3RvJm5ic3A7cmVkdWNlJm5ic3A7bWVtb3J5 Jm5ic3A7YWxsb2NhdGlvbiZuYnNwO2FuZDxiciAvPiZuYnNwOyZuYnNwO2NvcHkuPGJyIC8+LSZu YnNwO09wdGltaXplJm5ic3A7ZGVzY3JpcHRvciZuYnNwO21hbmFnZW1lbnQmbmJzcDt3aXRoJm5i c3A7cHJlZmV0Y2hpbmcmbmJzcDthbmQmbmJzcDtzaW1wbGlmaWVkPGJyIC8+Jm5ic3A7Jm5ic3A7 Y2xlYW51cC48YnIgLz4tJm5ic3A7UmVvcmdhbml6ZSZuYnNwO3N0cnVjdHVyZSZuYnNwO2ZpZWxk cyZuYnNwO2ZvciZuYnNwO2JldHRlciZuYnNwO2NhY2hlJm5ic3A7bG9jYWxpdHkuPGJyIC8+Jm5i c3A7Jm5ic3A7VGhlc2UmbmJzcDtjaGFuZ2VzJm5ic3A7cmVkdWNlJm5ic3A7Q1BVJm5ic3A7Y3lj bGVzJm5ic3A7YW5kJm5ic3A7bWVtb3J5Jm5ic3A7YmFuZHdpZHRoJm5ic3A7Y29uc3VtcHRpb24s PGJyIC8+Jm5ic3A7Jm5ic3A7cmVzdWx0aW5nJm5ic3A7aW4mbmJzcDtpbXByb3ZlZCZuYnNwO3Bh Y2tldCZuYnNwO3Byb2Nlc3NpbmcmbmJzcDt0aHJvdWdocHV0LjxiciAvPg08YnIgLz5KdW5sb25n Jm5ic3A7V2FuZyZuYnNwOyg0KTo8YnIgLz4mbmJzcDsmbmJzcDtuZXQvenhkaDombmJzcDtmaXgm bmJzcDtxdWV1ZSZuYnNwO2VuYWJsZSZuYnNwO2ludHImbmJzcDtpc3N1ZXM8YnIgLz4mbmJzcDsm bmJzcDtuZXQvenhkaDombmJzcDtvcHRpbWl6ZSZuYnNwO3F1ZXVlJm5ic3A7c3RydWN0dXJlJm5i c3A7dG8mbmJzcDtpbXByb3ZlJm5ic3A7cGVyZm9ybWFuY2U8YnIgLz4mbmJzcDsmbmJzcDtuZXQv enhkaDombmJzcDtvcHRpbWl6ZSZuYnNwO1J4Jm5ic3A7cmVjdiZuYnNwO3BrdHMmbmJzcDtwZXJm b3JtYW5jZTxiciAvPiZuYnNwOyZuYnNwO25ldC96eGRoOiZuYnNwO29wdGltaXplJm5ic3A7VHgm bmJzcDt4bWl0Jm5ic3A7cGt0cyZuYnNwO3BlcmZvcm1hbmNlPGJyIC8+DTxiciAvPiZuYnNwO2Ry aXZlcnMvbmV0L3p4ZGgvenhkaF9ldGhkZXYuYyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw O3wmbmJzcDsmbmJzcDs4MyZuYnNwOysrKy0tPGJyIC8+Jm5ic3A7ZHJpdmVycy9uZXQvenhkaC96 eGRoX2V0aGRldl9vcHMuYyZuYnNwO3wmbmJzcDsmbmJzcDsyMyZuYnNwOystPGJyIC8+Jm5ic3A7 ZHJpdmVycy9uZXQvenhkaC96eGRoX2V0aGRldl9vcHMuaCZuYnNwO3wmbmJzcDsmbmJzcDsmbmJz cDs0Jm5ic3A7KzxiciAvPiZuYnNwO2RyaXZlcnMvbmV0L3p4ZGgvenhkaF9wY2kuYyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO3wmbmJzcDsmbmJzcDsmbmJz cDsyJm5ic3A7Ky08YnIgLz4mbmJzcDtkcml2ZXJzL25ldC96eGRoL3p4ZGhfcXVldWUuYyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO3wmbmJzcDsmbmJzcDsxMSZuYnNwOystPGJy IC8+Jm5ic3A7ZHJpdmVycy9uZXQvenhkaC96eGRoX3F1ZXVlLmgmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDt8Jm5ic3A7MTIyJm5ic3A7KysrLS0tPGJyIC8+Jm5ic3A7ZHJpdmVy cy9uZXQvenhkaC96eGRoX3J4dHguYyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwO3wmbmJzcDs1NzEmbmJzcDsrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLTxiciAv PiZuYnNwO2RyaXZlcnMvbmV0L3p4ZGgvenhkaF9yeHR4LmgmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDt8Jm5ic3A7Jm5ic3A7MjkmbmJzcDsrLTxiciAvPiZuYnNwOzgm bmJzcDtmaWxlcyZuYnNwO2NoYW5nZWQsJm5ic3A7NTg0Jm5ic3A7aW5zZXJ0aW9ucygrKSwmbmJz cDsyNjEmbmJzcDtkZWxldGlvbnMoLSk8YnIgLz4NPGJyIC8+LS0mbmJzcDsNPGJyIC8+Mi4yNy4w PGJyIC8+ --=====_003_next=====-- --=====_002_next=====-- --=====_001_next=====--