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 E38AA462B9; Tue, 25 Feb 2025 11:58:22 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 9447D42EAC; Tue, 25 Feb 2025 11:57:11 +0100 (CET) Received: from mxhk.zte.com.cn (mxhk.zte.com.cn [63.216.63.35]) by mails.dpdk.org (Postfix) with ESMTP id 6C98A42E6C for ; Tue, 25 Feb 2025 11:56:59 +0100 (CET) Received: from mse-fl1.zte.com.cn (unknown [10.5.228.132]) (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 4Z2F0p3VFxz5B1J6; Tue, 25 Feb 2025 18:56:58 +0800 (CST) Received: from szxl2zmapp07.zte.com.cn ([10.1.32.52]) by mse-fl1.zte.com.cn with SMTP id 51PAuahx082150; Tue, 25 Feb 2025 18:56:36 +0800 (+08) (envelope-from wang.junlong1@zte.com.cn) Received: from localhost.localdomain (unknown [192.168.6.15]) by smtp (Zmail) with SMTP; Tue, 25 Feb 2025 18:56:39 +0800 X-Zmail-TransId: 3e8167bda1e7005-37b2d From: Junlong Wang To: stephen@networkplumber.org Cc: dev@dpdk.org, Junlong Wang Subject: [PATCH v3 07/16] net/zxdh: optimize promisc ops Date: Tue, 25 Feb 2025 18:42:59 +0800 Message-ID: <20250225104311.732507-8-wang.junlong1@zte.com.cn> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250225104311.732507-1-wang.junlong1@zte.com.cn> References: <20250221020346.494392-2-wang.junlong1@zte.com.cn> <20250225104311.732507-1-wang.junlong1@zte.com.cn> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: multipart/mixed; boundary="=====_001_next=====" X-MAIL: mse-fl1.zte.com.cn 51PAuahx082150 X-Fangmail-Anti-Spam-Filtered: true X-Fangmail-MID-QID: 67BDA1FA.003/4Z2F0p3VFxz5B1J6 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 b3B0aW1pemUgcHJvbWlzYyBvcHMuDQoNClNpZ25lZC1vZmYtYnk6IEp1bmxvbmcgV2FuZyA8d2Fu Zy5qdW5sb25nMUB6dGUuY29tLmNuPg0KLS0tDQogZHJpdmVycy9uZXQvenhkaC96eGRoX21zZy5j ICAgIHwgNjIgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKw0KIGRyaXZlcnMvbmV0 L3p4ZGgvenhkaF90YWJsZXMuYyB8IDQ5ICsrKysrKysrKysrKysrKysrKysrKysrKysrKw0KIGRy aXZlcnMvbmV0L3p4ZGgvenhkaF90YWJsZXMuaCB8ICAzICstDQogMyBmaWxlcyBjaGFuZ2VkLCAx MTMgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQ0KDQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9u ZXQvenhkaC96eGRoX21zZy5jIGIvZHJpdmVycy9uZXQvenhkaC96eGRoX21zZy5jDQppbmRleCBh Mjc4ZTA4MGU3Li5hYTY5ODJlN2E4IDEwMDY0NA0KLS0tIGEvZHJpdmVycy9uZXQvenhkaC96eGRo X21zZy5jDQorKysgYi9kcml2ZXJzL25ldC96eGRoL3p4ZGhfbXNnLmMNCkBAIC0xMjIzLDYgKzEy MjMsMjQgQEAgenhkaF9iYXJfY2hhbl9tc2dfcmVjdl9yZWdpc3Rlcih1aW50OF90IG1vZHVsZV9p ZCwgenhkaF9iYXJfY2hhbl9tc2dfcmVjdl9jYWxsYmENCiAJcmV0dXJuIFpYREhfQkFSX01TR19P SzsNCiB9DQogDQorc3RhdGljIGludA0KK3p4ZGhfdmZfcHJvbWlzY19pbml0KHN0cnVjdCB6eGRo X2h3ICpodywgdW5pb24genhkaF92aXJwb3J0X251bSB2cG9ydCkNCit7DQorCWludDE2X3QgcmV0 Ow0KKw0KKwlyZXQgPSB6eGRoX2Rldl9icm9hZGNhc3Rfc2V0KGh3LCB2cG9ydC52cG9ydCwgdHJ1 ZSk7DQorCXJldHVybiByZXQ7DQorfQ0KKw0KK3N0YXRpYyBpbnQNCit6eGRoX3ZmX3Byb21pc2Nf dW5pbml0KHN0cnVjdCB6eGRoX2h3ICpodywgdW5pb24genhkaF92aXJwb3J0X251bSB2cG9ydCkN Cit7DQorCWludDE2X3QgcmV0Ow0KKw0KKwlyZXQgPSB6eGRoX2Rldl9icm9hZGNhc3Rfc2V0KGh3 LCB2cG9ydC52cG9ydCwgZmFsc2UpOw0KKwlyZXR1cm4gcmV0Ow0KK30NCisNCiBzdGF0aWMgaW50 DQogenhkaF92Zl9wb3J0X2luaXQoc3RydWN0IHp4ZGhfaHcgKnBmX2h3LCB1aW50MTZfdCB2cG9y dCwgdm9pZCAqY2ZnX2RhdGEsDQogCQlzdHJ1Y3QgenhkaF9tc2dfcmVwbHlfYm9keSAqcmVzX2lu Zm8sIHVpbnQxNl90ICpyZXNfbGVuKQ0KQEAgLTEyNTAsNiArMTI2OCwxMiBAQCB6eGRoX3ZmX3Bv cnRfaW5pdChzdHJ1Y3QgenhkaF9odyAqcGZfaHcsIHVpbnQxNl90IHZwb3J0LCB2b2lkICpjZmdf ZGF0YSwNCiAJCWdvdG8gcHJvY19lbmQ7DQogCX0NCiANCisJcmV0ID0genhkaF92Zl9wcm9taXNj X2luaXQocGZfaHcsIHBvcnQpOw0KKwlpZiAocmV0KSB7DQorCQlQTURfRFJWX0xPRyhFUlIsICJ2 Zl9wcm9taXNjX3RhYmxlX2luaXQgZmFpbGVkLCBjb2RlOiVkIiwgcmV0KTsNCisJCWdvdG8gcHJv Y19lbmQ7DQorCX0NCisNCiAJcmVzX2luZm8tPmZsYWcgPSBaWERIX1JFUFNfU1VDQzsNCiAJKnJl c19sZW4gPSBzaXplb2YocmVzX2luZm8tPmZsYWcpOw0KIA0KQEAgLTEzMDcsNiArMTMzMSwxMiBA QCB6eGRoX3ZmX3BvcnRfdW5pbml0KHN0cnVjdCB6eGRoX2h3ICpwZl9odywNCiAJCWdvdG8gcHJv Y19lbmQ7DQogCX0NCiANCisJcmV0ID0genhkaF92Zl9wcm9taXNjX3VuaW5pdChwZl9odywgdnBv cnRfbnVtKTsNCisJaWYgKHJldCkgew0KKwkJUE1EX0RSVl9MT0coRVJSLCAidmZfcHJvbWlzY190 YWJsZV91bmluaXQgZmFpbGVkLCBjb2RlOiVkIiwgcmV0KTsNCisJCWdvdG8gcHJvY19lbmQ7DQor CX0NCisNCiAJKnJlc19sZW4gKz0gc3RybGVuKHN0cik7DQogCXJ0ZV9tZW1jcHkoJnJlc19pbmZv LT5yZXBseV9kYXRhLCBzdHIsIHN0cmxlbihzdHIpICsgMSk7DQogCXJlc19pbmZvLT5mbGFnID0g WlhESF9SRVBTX1NVQ0M7DQpAQCAtMTQwNiwxMiArMTQzNiw0NCBAQCB6eGRoX2RlbF92Zl9tYWNf dGFibGUoc3RydWN0IHp4ZGhfaHcgKmh3LCB1aW50MTZfdCB2cG9ydCwgdm9pZCAqY2ZnX2RhdGEs DQogCXJldHVybiByZXQ7DQogfQ0KIA0KK3N0YXRpYyBpbnQNCit6eGRoX3ZmX3Byb21pc2Nfc2V0 KHN0cnVjdCB6eGRoX2h3ICpodywgdWludDE2X3QgdnBvcnQsIHZvaWQgKmNmZ19kYXRhLA0KKwkJ c3RydWN0IHp4ZGhfbXNnX3JlcGx5X2JvZHkgKnJlcGx5LCB1aW50MTZfdCAqcmVzX2xlbikNCit7 DQorCXN0cnVjdCB6eGRoX3BvcnRfcHJvbWlzY19tc2cgKnByb21pc2NfbXNnID0gKHN0cnVjdCB6 eGRoX3BvcnRfcHJvbWlzY19tc2cgKiljZmdfZGF0YTsNCisJaW50IHJldCA9IDA7DQorDQorCVJU RV9BU1NFUlQoIWNmZ19kYXRhIHx8ICFodyB8fCAhcmVwbHkgfHwgIXJlc19sZW4pOw0KKw0KKwlp ZiAocHJvbWlzY19tc2ctPm1vZGUgPT0gWlhESF9QUk9NSVNDX01PREUpIHsNCisJCXp4ZGhfZGV2 X3VuaWNhc3RfdGFibGVfc2V0KGh3LCB2cG9ydCwgcHJvbWlzY19tc2ctPnZhbHVlKTsNCisJCWlm IChwcm9taXNjX21zZy0+bWNfZm9sbG93ID09IDEpDQorCQkJcmV0ID0genhkaF9kZXZfbXVsdGlj YXN0X3RhYmxlX3NldChodywgdnBvcnQsIHByb21pc2NfbXNnLT52YWx1ZSk7DQorCX0gZWxzZSBp ZiAocHJvbWlzY19tc2ctPm1vZGUgPT0gWlhESF9BTExNVUxUSV9NT0RFKSB7DQorCQlyZXQgPSB6 eGRoX2Rldl9tdWx0aWNhc3RfdGFibGVfc2V0KGh3LCB2cG9ydCwgcHJvbWlzY19tc2ctPnZhbHVl KTsNCisJfSBlbHNlIHsNCisJCVBNRF9EUlZfTE9HKEVSUiwgInByb21pc2Nfc2V0X21zZyBtb2Rl WyV1XSBlcnJvciIsIHByb21pc2NfbXNnLT5tb2RlKTsNCisJCWdvdG8gcHJvY19lbmQ7DQorCX0N CisNCisJKnJlc19sZW4gPSBzaXplb2Yoc3RydWN0IHp4ZGhfcG9ydF9hdHRyX3NldF9tc2cpICsg c2l6ZW9mKGVudW0genhkaF9yZXBzX2ZsYWcpOw0KKwlyZXBseS0+ZmxhZyA9IFpYREhfUkVQU19T VUNDOw0KKw0KKwlyZXR1cm4gcmV0Ow0KKw0KK3Byb2NfZW5kOg0KKwkqcmVzX2xlbiA9IHNpemVv ZihzdHJ1Y3QgenhkaF9wb3J0X2F0dHJfc2V0X21zZykgKyBzaXplb2YoZW51bSB6eGRoX3JlcHNf ZmxhZyk7DQorCXJlcGx5LT5mbGFnID0gWlhESF9SRVBTX0ZBSUw7DQorCXJldHVybiByZXQ7DQor fQ0KKw0KIHN0YXRpYyBjb25zdCB6eGRoX21zZ19wcm9jZXNzX2NhbGxiYWNrIHp4ZGhfcHJvY19j YltdID0gew0KIAlbWlhESF9OVUxMXSA9IE5VTEwsDQogCVtaWERIX1ZGX1BPUlRfSU5JVF0gPSB6 eGRoX3ZmX3BvcnRfaW5pdCwNCiAJW1pYREhfVkZfUE9SVF9VTklOSVRdID0genhkaF92Zl9wb3J0 X3VuaW5pdCwNCiAJW1pYREhfTUFDX0FERF0gPSB6eGRoX2FkZF92Zl9tYWNfdGFibGUsDQogCVta WERIX01BQ19ERUxdID0genhkaF9kZWxfdmZfbWFjX3RhYmxlLA0KKwlbWlhESF9QT1JUX1BST01J U0NfU0VUXSA9IHp4ZGhfdmZfcHJvbWlzY19zZXQsDQogfTsNCiANCiBzdGF0aWMgaW5saW5lIGlu dA0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3p4ZGgvenhkaF90YWJsZXMuYyBiL2RyaXZlcnMv bmV0L3p4ZGgvenhkaF90YWJsZXMuYw0KaW5kZXggYmZjMjQwYTA1MS4uOTgzOGI4ZDEwMyAxMDA2 NDQNCi0tLSBhL2RyaXZlcnMvbmV0L3p4ZGgvenhkaF90YWJsZXMuYw0KKysrIGIvZHJpdmVycy9u ZXQvenhkaC96eGRoX3RhYmxlcy5jDQpAQCAtNTk1LDYgKzU5NSw3IEBAIHp4ZGhfZGV2X3VuaWNh c3RfdGFibGVfc2V0KHN0cnVjdCB6eGRoX2h3ICpodywgdWludDE2X3QgdnBvcnQsIGJvb2wgZW5h YmxlKQ0KIHsNCiAJc3RydWN0IHp4ZGhfZHRiX3NoYXJlZF9kYXRhICpkdGJfZGF0YSA9ICZody0+ ZGV2X3NkLT5kdGJfc2Q7DQogCXN0cnVjdCB6eGRoX3VuaXRjYXN0X3RhYmxlIHVjX3RhYmxlID0g ezB9Ow0KKwlzdHJ1Y3QgenhkaF9wb3J0X2F0dHJfdGFibGUgcG9ydF9hdHRyID0gezB9Ow0KIAl1 bmlvbiB6eGRoX3ZpcnBvcnRfbnVtIHZwb3J0X251bSA9ICh1bmlvbiB6eGRoX3ZpcnBvcnRfbnVt KXZwb3J0Ow0KIAlpbnQxNl90IHJldCA9IDA7DQogDQpAQCAtNjI5LDYgKzYzMCwyMCBAQCB6eGRo X2Rldl91bmljYXN0X3RhYmxlX3NldChzdHJ1Y3QgenhkaF9odyAqaHcsIHVpbnQxNl90IHZwb3J0 LCBib29sIGVuYWJsZSkNCiAJCVBNRF9EUlZfTE9HKEVSUiwgInVuaWNhc3RfdGFibGVfc2V0X2Zh aWxlZDolZCIsIGh3LT52ZmlkKTsNCiAJCXJldHVybiAtcmV0Ow0KIAl9DQorDQorCXJldCA9IHp4 ZGhfZ2V0X3BvcnRfYXR0cihodywgdnBvcnQsICZwb3J0X2F0dHIpOw0KKwlpZiAocmV0KSB7DQor CQlQTURfRFJWX0xPRyhFUlIsICJwb3J0X2F0dHJfdGFibGVfZ2V0X2ZhaWxlZDolZCIsIGh3LT52 ZmlkKTsNCisJCXJldHVybiAtcmV0Ow0KKwl9DQorDQorCXBvcnRfYXR0ci5wcm9taXNjX2VuYWJs ZSA9IGVuYWJsZTsNCisJcmV0ID0genhkaF9zZXRfcG9ydF9hdHRyKGh3LCB2cG9ydCwgJnBvcnRf YXR0cik7DQorCWlmIChyZXQpIHsNCisJCVBNRF9EUlZfTE9HKEVSUiwgInBvcnRfYXR0cl90YWJs ZV9zZXRfZmFpbGVkOiVkIiwgaHctPnZmaWQpOw0KKwkJcmV0dXJuIC1yZXQ7DQorCX0NCisNCiAJ cmV0dXJuIDA7DQogfQ0KIA0KQEAgLTg1MiwzICs4NjcsMzcgQEAgenhkaF9yc3NfdGFibGVfZ2V0 KHN0cnVjdCB6eGRoX2h3ICpodywgdWludDE2X3QgdnBvcnQsIHN0cnVjdCB6eGRoX3Jzc19yZXRh ICpyc3MNCiAJfQ0KIAlyZXR1cm4gMDsNCiB9DQorDQoraW50DQorenhkaF9kZXZfYnJvYWRjYXN0 X3NldChzdHJ1Y3QgenhkaF9odyAqaHcsIHVpbnQxNl90IHZwb3J0LCBib29sIGVuYWJsZSkNCit7 DQorCXN0cnVjdCB6eGRoX2R0Yl9zaGFyZWRfZGF0YSAqZHRiX2RhdGEgPSAmaHctPmRldl9zZC0+ ZHRiX3NkOw0KKwlzdHJ1Y3QgenhkaF9icm9jYXN0X3RhYmxlIGJyb2Nhc3RfdGFibGUgPSB7MH07 DQorCXVuaW9uIHp4ZGhfdmlycG9ydF9udW0gdnBvcnRfbnVtID0gKHVuaW9uIHp4ZGhfdmlycG9y dF9udW0pdnBvcnQ7DQorCWludDE2X3QgdmZfZ3JvdXBfaWQgPSB2cG9ydF9udW0udmZpZCAvIDY0 Ow0KKwlpbnQxNl90IHJldCA9IDA7DQorDQorCVpYREhfRFRCX0VSQU1fRU5UUllfSU5GT19UIGVy YW1fZW50cnkgPSB7DQorCQkJKChody0+dmZpZCAtIFpYREhfQkFTRV9WRklEKSA8PCAyKSArIHZm X2dyb3VwX2lkLA0KKwkJCSh1aW50MzJfdCAqKSZicm9jYXN0X3RhYmxlfTsNCisJWlhESF9EVEJf VVNFUl9FTlRSWV9UIGVudHJ5X2dldCA9IHsNCisJCQkuc2R0X25vID0gWlhESF9TRFRfQlJPQ0FT VF9BVFRfVEFCTEUsDQorCQkJLnBfZW50cnlfZGF0YSA9ICh2b2lkICopJmVyYW1fZW50cnl9Ow0K Kw0KKwlyZXQgPSB6eGRoX25wX2R0Yl90YWJsZV9lbnRyeV9nZXQoaHctPnNsb3RfaWQsIGR0Yl9k YXRhLT5xdWV1ZWlkLCAmZW50cnlfZ2V0LCAxKTsNCisJaWYgKHJldCA9PSAwKSB7DQorCQlpZiAo ZW5hYmxlKQ0KKwkJCWJyb2Nhc3RfdGFibGUuYml0bWFwWyh2cG9ydF9udW0udmZpZCAlIDY0KSAv IDMyXSB8PQ0KKwkJCQkJKChVSU5UMzJfQygxKSA8PCAoMzEgLSAodnBvcnRfbnVtLnZmaWQgJSA2 NCkgJSAzMikpKTsNCisJCWVsc2UNCisJCQlicm9jYXN0X3RhYmxlLmJpdG1hcFsodnBvcnRfbnVt LnZmaWQgJSA2NCkgLyAzMl0gJj0NCisJCQkJCX4oKFVJTlQzMl9DKDEpIDw8ICgzMSAtICh2cG9y dF9udW0udmZpZCAlIDY0KSAlIDMyKSkpOw0KKw0KKwkJcmV0ID0genhkaF9ucF9kdGJfdGFibGVf ZW50cnlfd3JpdGUoaHctPnNsb3RfaWQsIGR0Yl9kYXRhLT5xdWV1ZWlkLCAxLCAmZW50cnlfZ2V0 KTsNCisJCWlmIChyZXQpIHsNCisJCQlQTURfRFJWX0xPRyhFUlIsICJicm9jYXN0X3RhYmxlX3dy aXRlX2ZhaWxlZC4gY29kZTolZCIsIHJldCk7DQorCQkJcmV0dXJuIC1yZXQ7DQorCQl9DQorCX0N CisJcmV0dXJuIDA7DQorfQ0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3p4ZGgvenhkaF90YWJs ZXMuaCBiL2RyaXZlcnMvbmV0L3p4ZGgvenhkaF90YWJsZXMuaA0KaW5kZXggZGUzMDQ3NDIxMC4u MDQwODY3ZDMzMyAxMDA2NDQNCi0tLSBhL2RyaXZlcnMvbmV0L3p4ZGgvenhkaF90YWJsZXMuaA0K KysrIGIvZHJpdmVycy9uZXQvenhkaC96eGRoX3RhYmxlcy5oDQpAQCAtNjAsNyArNjAsNyBAQCBz dHJ1Y3QgenhkaF9wb3J0X2F0dHJfdGFibGUgew0KIAl1aW50OF90IGlzX3VwOiAxOw0KIAl1aW50 OF90IHJzdjE6IDE7DQogDQotCXVpbnQ4X3QgcnN2MyA6IDE7DQorCXVpbnQ4X3QgcHJvbWlzY19l bmFibGUgOiAxOw0KIAl1aW50OF90IHJkbWFfb2ZmbG9hZF9lbmFibGU6IDE7DQogCXVpbnQ4X3Qg dmxhbl9maWx0ZXJfZW5hYmxlOiAxOw0KIAl1aW50OF90IHZsYW5fc3RyaXBfb2ZmbG9hZDogMTsN CkBAIC0yNDgsNSArMjQ4LDYgQEAgaW50IHp4ZGhfcnNzX3RhYmxlX3NldChzdHJ1Y3QgenhkaF9o dyAqaHcsIHVpbnQxNl90IHZwb3J0LCBzdHJ1Y3QgenhkaF9yc3NfcmV0YQ0KIGludCB6eGRoX3Jz c190YWJsZV9nZXQoc3RydWN0IHp4ZGhfaHcgKmh3LCB1aW50MTZfdCB2cG9ydCwgc3RydWN0IHp4 ZGhfcnNzX3JldGEgKnJzc19yZXRhKTsNCiBpbnQgenhkaF9nZXRfcGFuZWxfYXR0cihzdHJ1Y3Qg cnRlX2V0aF9kZXYgKmRldiwgc3RydWN0IHp4ZGhfcGFuZWxfdGFibGUgKnBhbmVsX2F0dHIpOw0K IGludCB6eGRoX3NldF9wYW5lbF9hdHRyKHN0cnVjdCBydGVfZXRoX2RldiAqZGV2LCBzdHJ1Y3Qg enhkaF9wYW5lbF90YWJsZSAqcGFuZWxfYXR0cik7DQoraW50IHp4ZGhfZGV2X2Jyb2FkY2FzdF9z ZXQoc3RydWN0IHp4ZGhfaHcgKmh3LCB1aW50MTZfdCB2cG9ydCwgYm9vbCBlbmFibGUpOw0KIA0K ICNlbmRpZiAvKiBaWERIX1RBQkxFU19IICovDQotLSANCjIuMjcuMA== --=====_003_next===== Content-Type: text/html ; charset="UTF-8" Content-Transfer-Encoding: base64 b3B0aW1pemUmbmJzcDtwcm9taXNjJm5ic3A7b3BzLjxiciAvPg08YnIgLz5TaWduZWQtb2ZmLWJ5 OiZuYnNwO0p1bmxvbmcmbmJzcDtXYW5nJm5ic3A7Jmx0O3dhbmcuanVubG9uZzFAenRlLmNvbS5j biZndDsNPGJyIC8+LS0tPGJyIC8+Jm5ic3A7ZHJpdmVycy9uZXQvenhkaC96eGRoX21zZy5jJm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7fCZuYnNwOzYyJm5ic3A7KysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKzxiciAvPiZuYnNwO2RyaXZlcnMvbmV0L3p4ZGgvenhkaF90YWJsZXMuYyZu YnNwO3wmbmJzcDs0OSZuYnNwOysrKysrKysrKysrKysrKysrKysrKysrKysrKzxiciAvPiZuYnNw O2RyaXZlcnMvbmV0L3p4ZGgvenhkaF90YWJsZXMuaCZuYnNwO3wmbmJzcDsmbmJzcDszJm5ic3A7 Ky08YnIgLz4mbmJzcDszJm5ic3A7ZmlsZXMmbmJzcDtjaGFuZ2VkLCZuYnNwOzExMyZuYnNwO2lu c2VydGlvbnMoKyksJm5ic3A7MSZuYnNwO2RlbGV0aW9uKC0pPGJyIC8+DTxiciAvPmRpZmYmbmJz cDstLWdpdCZuYnNwO2EvZHJpdmVycy9uZXQvenhkaC96eGRoX21zZy5jJm5ic3A7Yi9kcml2ZXJz L25ldC96eGRoL3p4ZGhfbXNnLmM8YnIgLz5pbmRleCZuYnNwO2EyNzhlMDgwZTcuLmFhNjk4MmU3 YTgmbmJzcDsxMDA2NDQ8YnIgLz4tLS0mbmJzcDthL2RyaXZlcnMvbmV0L3p4ZGgvenhkaF9tc2cu YzxiciAvPisrKyZuYnNwO2IvZHJpdmVycy9uZXQvenhkaC96eGRoX21zZy5jPGJyIC8+QEAmbmJz cDstMTIyMyw2Jm5ic3A7KzEyMjMsMjQmbmJzcDtAQCZuYnNwO3p4ZGhfYmFyX2NoYW5fbXNnX3Jl Y3ZfcmVnaXN0ZXIodWludDhfdCZuYnNwO21vZHVsZV9pZCwmbmJzcDt6eGRoX2Jhcl9jaGFuX21z Z19yZWN2X2NhbGxiYTxiciAvPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO3JldHVybiZu YnNwO1pYREhfQkFSX01TR19PSzs8YnIgLz4mbmJzcDt9PGJyIC8+Jm5ic3A7DTxiciAvPitzdGF0 aWMmbmJzcDtpbnQ8YnIgLz4renhkaF92Zl9wcm9taXNjX2luaXQoc3RydWN0Jm5ic3A7enhkaF9o dyZuYnNwOypodywmbmJzcDt1bmlvbiZuYnNwO3p4ZGhfdmlycG9ydF9udW0mbmJzcDt2cG9ydCk8 YnIgLz4rezxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtpbnQxNl90Jm5ic3A7cmV0Ozxi ciAvPis8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7cmV0Jm5ic3A7PSZuYnNwO3p4ZGhf ZGV2X2Jyb2FkY2FzdF9zZXQoaHcsJm5ic3A7dnBvcnQudnBvcnQsJm5ic3A7dHJ1ZSk7PGJyIC8+ KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO3JldHVybiZuYnNwO3JldDs8YnIgLz4rfTxiciAvPis8 YnIgLz4rc3RhdGljJm5ic3A7aW50PGJyIC8+K3p4ZGhfdmZfcHJvbWlzY191bmluaXQoc3RydWN0 Jm5ic3A7enhkaF9odyZuYnNwOypodywmbmJzcDt1bmlvbiZuYnNwO3p4ZGhfdmlycG9ydF9udW0m bmJzcDt2cG9ydCk8YnIgLz4rezxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtpbnQxNl90 Jm5ic3A7cmV0OzxiciAvPis8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7cmV0Jm5ic3A7 PSZuYnNwO3p4ZGhfZGV2X2Jyb2FkY2FzdF9zZXQoaHcsJm5ic3A7dnBvcnQudnBvcnQsJm5ic3A7 ZmFsc2UpOzxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtyZXR1cm4mbmJzcDtyZXQ7PGJy IC8+K308YnIgLz4rPGJyIC8+Jm5ic3A7c3RhdGljJm5ic3A7aW50PGJyIC8+Jm5ic3A7enhkaF92 Zl9wb3J0X2luaXQoc3RydWN0Jm5ic3A7enhkaF9odyZuYnNwOypwZl9odywmbmJzcDt1aW50MTZf dCZuYnNwO3Zwb3J0LCZuYnNwO3ZvaWQmbmJzcDsqY2ZnX2RhdGEsPGJyIC8+Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7c3RydWN0Jm5ic3A7enhk aF9tc2dfcmVwbHlfYm9keSZuYnNwOypyZXNfaW5mbywmbmJzcDt1aW50MTZfdCZuYnNwOypyZXNf bGVuKTxiciAvPkBAJm5ic3A7LTEyNTAsNiZuYnNwOysxMjY4LDEyJm5ic3A7QEAmbmJzcDt6eGRo X3ZmX3BvcnRfaW5pdChzdHJ1Y3QmbmJzcDt6eGRoX2h3Jm5ic3A7KnBmX2h3LCZuYnNwO3VpbnQx Nl90Jm5ic3A7dnBvcnQsJm5ic3A7dm9pZCZuYnNwOypjZmdfZGF0YSw8YnIgLz4mbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtnb3RvJm5ic3A7cHJv Y19lbmQ7PGJyIC8+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7fTxiciAvPiZuYnNwOw08 YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7cmV0Jm5ic3A7PSZuYnNwO3p4ZGhfdmZfcHJv bWlzY19pbml0KHBmX2h3LCZuYnNwO3BvcnQpOzxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDtpZiZuYnNwOyhyZXQpJm5ic3A7ezxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDtQTURfRFJWX0xPRyhFUlIsJm5ic3A7JnF1b3Q7dmZfcHJvbWlz Y190YWJsZV9pbml0Jm5ic3A7ZmFpbGVkLCZuYnNwO2NvZGU6JWQmcXVvdDssJm5ic3A7cmV0KTs8 YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Z290 byZuYnNwO3Byb2NfZW5kOzxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDt9PGJyIC8+Kzxi ciAvPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO3Jlc19pbmZvLSZndDtmbGFnJm5ic3A7 PSZuYnNwO1pYREhfUkVQU19TVUNDOzxiciAvPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OypyZXNfbGVuJm5ic3A7PSZuYnNwO3NpemVvZihyZXNfaW5mby0mZ3Q7ZmxhZyk7PGJyIC8+Jm5i c3A7DTxiciAvPkBAJm5ic3A7LTEzMDcsNiZuYnNwOysxMzMxLDEyJm5ic3A7QEAmbmJzcDt6eGRo X3ZmX3BvcnRfdW5pbml0KHN0cnVjdCZuYnNwO3p4ZGhfaHcmbmJzcDsqcGZfaHcsPGJyIC8+Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Z290byZu YnNwO3Byb2NfZW5kOzxiciAvPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO308YnIgLz4m bmJzcDsNPGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO3JldCZuYnNwOz0mbmJzcDt6eGRo X3ZmX3Byb21pc2NfdW5pbml0KHBmX2h3LCZuYnNwO3Zwb3J0X251bSk7PGJyIC8+KyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwO2lmJm5ic3A7KHJldCkmbmJzcDt7PGJyIC8+KyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO1BNRF9EUlZfTE9HKEVSUiwmbmJzcDsm cXVvdDt2Zl9wcm9taXNjX3RhYmxlX3VuaW5pdCZuYnNwO2ZhaWxlZCwmbmJzcDtjb2RlOiVkJnF1 b3Q7LCZuYnNwO3JldCk7PGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwO2dvdG8mbmJzcDtwcm9jX2VuZDs8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7fTxiciAvPis8YnIgLz4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsqcmVzX2xl biZuYnNwOys9Jm5ic3A7c3RybGVuKHN0cik7PGJyIC8+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7cnRlX21lbWNweSgmYW1wO3Jlc19pbmZvLSZndDtyZXBseV9kYXRhLCZuYnNwO3N0ciwm bmJzcDtzdHJsZW4oc3RyKSZuYnNwOysmbmJzcDsxKTs8YnIgLz4mbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDtyZXNfaW5mby0mZ3Q7ZmxhZyZuYnNwOz0mbmJzcDtaWERIX1JFUFNfU1VDQzs8 YnIgLz5AQCZuYnNwOy0xNDA2LDEyJm5ic3A7KzE0MzYsNDQmbmJzcDtAQCZuYnNwO3p4ZGhfZGVs X3ZmX21hY190YWJsZShzdHJ1Y3QmbmJzcDt6eGRoX2h3Jm5ic3A7Kmh3LCZuYnNwO3VpbnQxNl90 Jm5ic3A7dnBvcnQsJm5ic3A7dm9pZCZuYnNwOypjZmdfZGF0YSw8YnIgLz4mbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDtyZXR1cm4mbmJzcDtyZXQ7PGJyIC8+Jm5ic3A7fTxiciAvPiZuYnNw Ow08YnIgLz4rc3RhdGljJm5ic3A7aW50PGJyIC8+K3p4ZGhfdmZfcHJvbWlzY19zZXQoc3RydWN0 Jm5ic3A7enhkaF9odyZuYnNwOypodywmbmJzcDt1aW50MTZfdCZuYnNwO3Zwb3J0LCZuYnNwO3Zv aWQmbmJzcDsqY2ZnX2RhdGEsPGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwO3N0cnVjdCZuYnNwO3p4ZGhfbXNnX3JlcGx5X2JvZHkmbmJzcDsqcmVw bHksJm5ic3A7dWludDE2X3QmbmJzcDsqcmVzX2xlbik8YnIgLz4rezxiciAvPismbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDtzdHJ1Y3QmbmJzcDt6eGRoX3BvcnRfcHJvbWlzY19tc2cmbmJzcDsqcHJv bWlzY19tc2cmbmJzcDs9Jm5ic3A7KHN0cnVjdCZuYnNwO3p4ZGhfcG9ydF9wcm9taXNjX21zZyZu YnNwOyopY2ZnX2RhdGE7PGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO2ludCZuYnNwO3Jl dCZuYnNwOz0mbmJzcDswOzxiciAvPis8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7UlRF X0FTU0VSVCghY2ZnX2RhdGEmbmJzcDt8fCZuYnNwOyFodyZuYnNwO3x8Jm5ic3A7IXJlcGx5Jm5i c3A7fHwmbmJzcDshcmVzX2xlbik7PGJyIC8+KzxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDtpZiZuYnNwOyhwcm9taXNjX21zZy0mZ3Q7bW9kZSZuYnNwOz09Jm5ic3A7WlhESF9QUk9NSVND X01PREUpJm5ic3A7ezxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDt6eGRoX2Rldl91bmljYXN0X3RhYmxlX3NldChodywmbmJzcDt2cG9ydCwmbmJz cDtwcm9taXNjX21zZy0mZ3Q7dmFsdWUpOzxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtpZiZuYnNwOyhwcm9taXNjX21zZy0mZ3Q7bWNfZm9sbG93 Jm5ic3A7PT0mbmJzcDsxKTxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtyZXQmbmJzcDs9Jm5ic3A7enhk aF9kZXZfbXVsdGljYXN0X3RhYmxlX3NldChodywmbmJzcDt2cG9ydCwmbmJzcDtwcm9taXNjX21z Zy0mZ3Q7dmFsdWUpOzxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDt9Jm5ic3A7ZWxzZSZu YnNwO2lmJm5ic3A7KHByb21pc2NfbXNnLSZndDttb2RlJm5ic3A7PT0mbmJzcDtaWERIX0FMTE1V TFRJX01PREUpJm5ic3A7ezxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDtyZXQmbmJzcDs9Jm5ic3A7enhkaF9kZXZfbXVsdGljYXN0X3RhYmxlX3Nl dChodywmbmJzcDt2cG9ydCwmbmJzcDtwcm9taXNjX21zZy0mZ3Q7dmFsdWUpOzxiciAvPismbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDt9Jm5ic3A7ZWxzZSZuYnNwO3s8YnIgLz4rJm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7UE1EX0RSVl9MT0coRVJSLCZuYnNw OyZxdW90O3Byb21pc2Nfc2V0X21zZyZuYnNwO21vZGVbJXVdJm5ic3A7ZXJyb3ImcXVvdDssJm5i c3A7cHJvbWlzY19tc2ctJmd0O21vZGUpOzxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtnb3RvJm5ic3A7cHJvY19lbmQ7PGJyIC8+KyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwO308YnIgLz4rPGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOypy ZXNfbGVuJm5ic3A7PSZuYnNwO3NpemVvZihzdHJ1Y3QmbmJzcDt6eGRoX3BvcnRfYXR0cl9zZXRf bXNnKSZuYnNwOysmbmJzcDtzaXplb2YoZW51bSZuYnNwO3p4ZGhfcmVwc19mbGFnKTs8YnIgLz4r Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7cmVwbHktJmd0O2ZsYWcmbmJzcDs9Jm5ic3A7WlhESF9S RVBTX1NVQ0M7PGJyIC8+KzxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtyZXR1cm4mbmJz cDtyZXQ7PGJyIC8+KzxiciAvPitwcm9jX2VuZDo8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7KnJlc19sZW4mbmJzcDs9Jm5ic3A7c2l6ZW9mKHN0cnVjdCZuYnNwO3p4ZGhfcG9ydF9hdHRy X3NldF9tc2cpJm5ic3A7KyZuYnNwO3NpemVvZihlbnVtJm5ic3A7enhkaF9yZXBzX2ZsYWcpOzxi ciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtyZXBseS0mZ3Q7ZmxhZyZuYnNwOz0mbmJzcDta WERIX1JFUFNfRkFJTDs8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7cmV0dXJuJm5ic3A7 cmV0OzxiciAvPit9PGJyIC8+KzxiciAvPiZuYnNwO3N0YXRpYyZuYnNwO2NvbnN0Jm5ic3A7enhk aF9tc2dfcHJvY2Vzc19jYWxsYmFjayZuYnNwO3p4ZGhfcHJvY19jYltdJm5ic3A7PSZuYnNwO3s8 YnIgLz4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtbWlhESF9OVUxMXSZuYnNwOz0mbmJz cDtOVUxMLDxiciAvPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO1taWERIX1ZGX1BPUlRf SU5JVF0mbmJzcDs9Jm5ic3A7enhkaF92Zl9wb3J0X2luaXQsPGJyIC8+Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7W1pYREhfVkZfUE9SVF9VTklOSVRdJm5ic3A7PSZuYnNwO3p4ZGhfdmZf cG9ydF91bmluaXQsPGJyIC8+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7W1pYREhfTUFD X0FERF0mbmJzcDs9Jm5ic3A7enhkaF9hZGRfdmZfbWFjX3RhYmxlLDxiciAvPiZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwO1taWERIX01BQ19ERUxdJm5ic3A7PSZuYnNwO3p4ZGhfZGVsX3Zm X21hY190YWJsZSw8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7W1pYREhfUE9SVF9QUk9N SVNDX1NFVF0mbmJzcDs9Jm5ic3A7enhkaF92Zl9wcm9taXNjX3NldCw8YnIgLz4mbmJzcDt9Ozxi ciAvPiZuYnNwOw08YnIgLz4mbmJzcDtzdGF0aWMmbmJzcDtpbmxpbmUmbmJzcDtpbnQ8YnIgLz5k aWZmJm5ic3A7LS1naXQmbmJzcDthL2RyaXZlcnMvbmV0L3p4ZGgvenhkaF90YWJsZXMuYyZuYnNw O2IvZHJpdmVycy9uZXQvenhkaC96eGRoX3RhYmxlcy5jPGJyIC8+aW5kZXgmbmJzcDtiZmMyNDBh MDUxLi45ODM4YjhkMTAzJm5ic3A7MTAwNjQ0PGJyIC8+LS0tJm5ic3A7YS9kcml2ZXJzL25ldC96 eGRoL3p4ZGhfdGFibGVzLmM8YnIgLz4rKysmbmJzcDtiL2RyaXZlcnMvbmV0L3p4ZGgvenhkaF90 YWJsZXMuYzxiciAvPkBAJm5ic3A7LTU5NSw2Jm5ic3A7KzU5NSw3Jm5ic3A7QEAmbmJzcDt6eGRo X2Rldl91bmljYXN0X3RhYmxlX3NldChzdHJ1Y3QmbmJzcDt6eGRoX2h3Jm5ic3A7Kmh3LCZuYnNw O3VpbnQxNl90Jm5ic3A7dnBvcnQsJm5ic3A7Ym9vbCZuYnNwO2VuYWJsZSk8YnIgLz4mbmJzcDt7 PGJyIC8+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7c3RydWN0Jm5ic3A7enhkaF9kdGJf c2hhcmVkX2RhdGEmbmJzcDsqZHRiX2RhdGEmbmJzcDs9Jm5ic3A7JmFtcDtody0mZ3Q7ZGV2X3Nk LSZndDtkdGJfc2Q7PGJyIC8+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7c3RydWN0Jm5i c3A7enhkaF91bml0Y2FzdF90YWJsZSZuYnNwO3VjX3RhYmxlJm5ic3A7PSZuYnNwO3swfTs8YnIg Lz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7c3RydWN0Jm5ic3A7enhkaF9wb3J0X2F0dHJfdGFi bGUmbmJzcDtwb3J0X2F0dHImbmJzcDs9Jm5ic3A7ezB9OzxiciAvPiZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwO3VuaW9uJm5ic3A7enhkaF92aXJwb3J0X251bSZuYnNwO3Zwb3J0X251bSZu YnNwOz0mbmJzcDsodW5pb24mbmJzcDt6eGRoX3ZpcnBvcnRfbnVtKXZwb3J0OzxiciAvPiZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO2ludDE2X3QmbmJzcDtyZXQmbmJzcDs9Jm5ic3A7MDs8 YnIgLz4mbmJzcDsNPGJyIC8+QEAmbmJzcDstNjI5LDYmbmJzcDsrNjMwLDIwJm5ic3A7QEAmbmJz cDt6eGRoX2Rldl91bmljYXN0X3RhYmxlX3NldChzdHJ1Y3QmbmJzcDt6eGRoX2h3Jm5ic3A7Kmh3 LCZuYnNwO3VpbnQxNl90Jm5ic3A7dnBvcnQsJm5ic3A7Ym9vbCZuYnNwO2VuYWJsZSk8YnIgLz4m bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtQTURf RFJWX0xPRyhFUlIsJm5ic3A7JnF1b3Q7dW5pY2FzdF90YWJsZV9zZXRfZmFpbGVkOiVkJnF1b3Q7 LCZuYnNwO2h3LSZndDt2ZmlkKTs8YnIgLz4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtyZXR1cm4mbmJzcDstcmV0OzxiciAvPiZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwO308YnIgLz4rPGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw O3JldCZuYnNwOz0mbmJzcDt6eGRoX2dldF9wb3J0X2F0dHIoaHcsJm5ic3A7dnBvcnQsJm5ic3A7 JmFtcDtwb3J0X2F0dHIpOzxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtpZiZuYnNwOyhy ZXQpJm5ic3A7ezxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDtQTURfRFJWX0xPRyhFUlIsJm5ic3A7JnF1b3Q7cG9ydF9hdHRyX3RhYmxlX2dldF9m YWlsZWQ6JWQmcXVvdDssJm5ic3A7aHctJmd0O3ZmaWQpOzxiciAvPismbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtyZXR1cm4mbmJzcDstcmV0OzxiciAvPism bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDt9PGJyIC8+KzxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDtwb3J0X2F0dHIucHJvbWlzY19lbmFibGUmbmJzcDs9Jm5ic3A7ZW5hYmxlOzxiciAvPism bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtyZXQmbmJzcDs9Jm5ic3A7enhkaF9zZXRfcG9ydF9hdHRy KGh3LCZuYnNwO3Zwb3J0LCZuYnNwOyZhbXA7cG9ydF9hdHRyKTs8YnIgLz4rJm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7aWYmbmJzcDsocmV0KSZuYnNwO3s8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7UE1EX0RSVl9MT0coRVJSLCZuYnNwOyZxdW90 O3BvcnRfYXR0cl90YWJsZV9zZXRfZmFpbGVkOiVkJnF1b3Q7LCZuYnNwO2h3LSZndDt2ZmlkKTs8 YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7cmV0 dXJuJm5ic3A7LXJldDs8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7fTxiciAvPis8YnIg Lz4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtyZXR1cm4mbmJzcDswOzxiciAvPiZuYnNw O308YnIgLz4mbmJzcDsNPGJyIC8+QEAmbmJzcDstODUyLDMmbmJzcDsrODY3LDM3Jm5ic3A7QEAm bmJzcDt6eGRoX3Jzc190YWJsZV9nZXQoc3RydWN0Jm5ic3A7enhkaF9odyZuYnNwOypodywmbmJz cDt1aW50MTZfdCZuYnNwO3Zwb3J0LCZuYnNwO3N0cnVjdCZuYnNwO3p4ZGhfcnNzX3JldGEmbmJz cDsqcnNzPGJyIC8+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7fTxiciAvPiZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwO3JldHVybiZuYnNwOzA7PGJyIC8+Jm5ic3A7fTxiciAvPis8 YnIgLz4raW50PGJyIC8+K3p4ZGhfZGV2X2Jyb2FkY2FzdF9zZXQoc3RydWN0Jm5ic3A7enhkaF9o dyZuYnNwOypodywmbmJzcDt1aW50MTZfdCZuYnNwO3Zwb3J0LCZuYnNwO2Jvb2wmbmJzcDtlbmFi bGUpPGJyIC8+K3s8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7c3RydWN0Jm5ic3A7enhk aF9kdGJfc2hhcmVkX2RhdGEmbmJzcDsqZHRiX2RhdGEmbmJzcDs9Jm5ic3A7JmFtcDtody0mZ3Q7 ZGV2X3NkLSZndDtkdGJfc2Q7PGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO3N0cnVjdCZu YnNwO3p4ZGhfYnJvY2FzdF90YWJsZSZuYnNwO2Jyb2Nhc3RfdGFibGUmbmJzcDs9Jm5ic3A7ezB9 OzxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDt1bmlvbiZuYnNwO3p4ZGhfdmlycG9ydF9u dW0mbmJzcDt2cG9ydF9udW0mbmJzcDs9Jm5ic3A7KHVuaW9uJm5ic3A7enhkaF92aXJwb3J0X251 bSl2cG9ydDs8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7aW50MTZfdCZuYnNwO3ZmX2dy b3VwX2lkJm5ic3A7PSZuYnNwO3Zwb3J0X251bS52ZmlkJm5ic3A7LyZuYnNwOzY0OzxiciAvPism bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtpbnQxNl90Jm5ic3A7cmV0Jm5ic3A7PSZuYnNwOzA7PGJy IC8+KzxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtaWERIX0RUQl9FUkFNX0VOVFJZX0lO Rk9fVCZuYnNwO2VyYW1fZW50cnkmbmJzcDs9Jm5ic3A7ezxiciAvPismbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDso KGh3LSZndDt2ZmlkJm5ic3A7LSZuYnNwO1pYREhfQkFTRV9WRklEKSZuYnNwOyZsdDsmbHQ7Jm5i c3A7MikmbmJzcDsrJm5ic3A7dmZfZ3JvdXBfaWQsPGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyh1aW50 MzJfdCZuYnNwOyopJmFtcDticm9jYXN0X3RhYmxlfTs8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7WlhESF9EVEJfVVNFUl9FTlRSWV9UJm5ic3A7ZW50cnlfZ2V0Jm5ic3A7PSZuYnNwO3s8 YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7LnNkdF9ubyZuYnNwOz0mbmJzcDtaWERIX1NEVF9CUk9DQVNU X0FUVF9UQUJMRSw8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7LnBfZW50cnlfZGF0YSZuYnNwOz0mbmJz cDsodm9pZCZuYnNwOyopJmFtcDtlcmFtX2VudHJ5fTs8YnIgLz4rPGJyIC8+KyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwO3JldCZuYnNwOz0mbmJzcDt6eGRoX25wX2R0Yl90YWJsZV9lbnRyeV9nZXQo aHctJmd0O3Nsb3RfaWQsJm5ic3A7ZHRiX2RhdGEtJmd0O3F1ZXVlaWQsJm5ic3A7JmFtcDtlbnRy eV9nZXQsJm5ic3A7MSk7PGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO2lmJm5ic3A7KHJl dCZuYnNwOz09Jm5ic3A7MCkmbmJzcDt7PGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwO2lmJm5ic3A7KGVuYWJsZSk8YnIgLz4rJm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7YnJvY2FzdF90YWJsZS5iaXRtYXBbKHZwb3J0X251bS52ZmlkJm5ic3A7JSZuYnNwOzY0KSZu YnNwOy8mbmJzcDszMl0mbmJzcDt8PTxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsoKFVJTlQzMl9DKDEpJm5ic3A7Jmx0 OyZsdDsmbmJzcDsoMzEmbmJzcDstJm5ic3A7KHZwb3J0X251bS52ZmlkJm5ic3A7JSZuYnNwOzY0 KSZuYnNwOyUmbmJzcDszMikpKTs8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7ZWxzZTxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDticm9jYXN0X3RhYmxl LmJpdG1hcFsodnBvcnRfbnVtLnZmaWQmbmJzcDslJm5ic3A7NjQpJm5ic3A7LyZuYnNwOzMyXSZu YnNwOyZhbXA7PTxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDt+KChVSU5UMzJfQygxKSZuYnNwOyZsdDsmbHQ7Jm5ic3A7 KDMxJm5ic3A7LSZuYnNwOyh2cG9ydF9udW0udmZpZCZuYnNwOyUmbmJzcDs2NCkmbmJzcDslJm5i c3A7MzIpKSk7PGJyIC8+KzxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDtyZXQmbmJzcDs9Jm5ic3A7enhkaF9ucF9kdGJfdGFibGVfZW50cnlfd3Jp dGUoaHctJmd0O3Nsb3RfaWQsJm5ic3A7ZHRiX2RhdGEtJmd0O3F1ZXVlaWQsJm5ic3A7MSwmbmJz cDsmYW1wO2VudHJ5X2dldCk7PGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwO2lmJm5ic3A7KHJldCkmbmJzcDt7PGJyIC8+KyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw O1BNRF9EUlZfTE9HKEVSUiwmbmJzcDsmcXVvdDticm9jYXN0X3RhYmxlX3dyaXRlX2ZhaWxlZC4m bmJzcDtjb2RlOiVkJnF1b3Q7LCZuYnNwO3JldCk7PGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO3JldHVy biZuYnNwOy1yZXQ7PGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwO308YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7fTxiciAvPismbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDtyZXR1cm4mbmJzcDswOzxiciAvPit9PGJyIC8+ZGlmZiZuYnNwOy0t Z2l0Jm5ic3A7YS9kcml2ZXJzL25ldC96eGRoL3p4ZGhfdGFibGVzLmgmbmJzcDtiL2RyaXZlcnMv bmV0L3p4ZGgvenhkaF90YWJsZXMuaDxiciAvPmluZGV4Jm5ic3A7ZGUzMDQ3NDIxMC4uMDQwODY3 ZDMzMyZuYnNwOzEwMDY0NDxiciAvPi0tLSZuYnNwO2EvZHJpdmVycy9uZXQvenhkaC96eGRoX3Rh Ymxlcy5oPGJyIC8+KysrJm5ic3A7Yi9kcml2ZXJzL25ldC96eGRoL3p4ZGhfdGFibGVzLmg8YnIg Lz5AQCZuYnNwOy02MCw3Jm5ic3A7KzYwLDcmbmJzcDtAQCZuYnNwO3N0cnVjdCZuYnNwO3p4ZGhf cG9ydF9hdHRyX3RhYmxlJm5ic3A7ezxiciAvPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw O3VpbnQ4X3QmbmJzcDtpc191cDombmJzcDsxOzxiciAvPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwO3VpbnQ4X3QmbmJzcDtyc3YxOiZuYnNwOzE7PGJyIC8+Jm5ic3A7DTxiciAvPi0mbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDt1aW50OF90Jm5ic3A7cnN2MyZuYnNwOzombmJzcDsxOzxiciAv PismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDt1aW50OF90Jm5ic3A7cHJvbWlzY19lbmFibGUmbmJz cDs6Jm5ic3A7MTs8YnIgLz4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDt1aW50OF90Jm5i c3A7cmRtYV9vZmZsb2FkX2VuYWJsZTombmJzcDsxOzxiciAvPiZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwO3VpbnQ4X3QmbmJzcDt2bGFuX2ZpbHRlcl9lbmFibGU6Jm5ic3A7MTs8YnIgLz4m bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDt1aW50OF90Jm5ic3A7dmxhbl9zdHJpcF9vZmZs b2FkOiZuYnNwOzE7PGJyIC8+QEAmbmJzcDstMjQ4LDUmbmJzcDsrMjQ4LDYmbmJzcDtAQCZuYnNw O2ludCZuYnNwO3p4ZGhfcnNzX3RhYmxlX3NldChzdHJ1Y3QmbmJzcDt6eGRoX2h3Jm5ic3A7Kmh3 LCZuYnNwO3VpbnQxNl90Jm5ic3A7dnBvcnQsJm5ic3A7c3RydWN0Jm5ic3A7enhkaF9yc3NfcmV0 YTxiciAvPiZuYnNwO2ludCZuYnNwO3p4ZGhfcnNzX3RhYmxlX2dldChzdHJ1Y3QmbmJzcDt6eGRo X2h3Jm5ic3A7Kmh3LCZuYnNwO3VpbnQxNl90Jm5ic3A7dnBvcnQsJm5ic3A7c3RydWN0Jm5ic3A7 enhkaF9yc3NfcmV0YSZuYnNwOypyc3NfcmV0YSk7PGJyIC8+Jm5ic3A7aW50Jm5ic3A7enhkaF9n ZXRfcGFuZWxfYXR0cihzdHJ1Y3QmbmJzcDtydGVfZXRoX2RldiZuYnNwOypkZXYsJm5ic3A7c3Ry dWN0Jm5ic3A7enhkaF9wYW5lbF90YWJsZSZuYnNwOypwYW5lbF9hdHRyKTs8YnIgLz4mbmJzcDtp bnQmbmJzcDt6eGRoX3NldF9wYW5lbF9hdHRyKHN0cnVjdCZuYnNwO3J0ZV9ldGhfZGV2Jm5ic3A7 KmRldiwmbmJzcDtzdHJ1Y3QmbmJzcDt6eGRoX3BhbmVsX3RhYmxlJm5ic3A7KnBhbmVsX2F0dHIp OzxiciAvPitpbnQmbmJzcDt6eGRoX2Rldl9icm9hZGNhc3Rfc2V0KHN0cnVjdCZuYnNwO3p4ZGhf aHcmbmJzcDsqaHcsJm5ic3A7dWludDE2X3QmbmJzcDt2cG9ydCwmbmJzcDtib29sJm5ic3A7ZW5h YmxlKTs8YnIgLz4mbmJzcDsNPGJyIC8+Jm5ic3A7I2VuZGlmJm5ic3A7LyombmJzcDtaWERIX1RB QkxFU19IJm5ic3A7Ki88YnIgLz4tLSZuYnNwOw08YnIgLz4yLjI3LjA8YnIgLz4= --=====_003_next=====-- --=====_002_next=====-- --=====_001_next=====--