From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.8]) by sourceware.org (Postfix) with ESMTPS id 9FDD93857359 for ; Mon, 20 Nov 2023 01:19:38 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 9FDD93857359 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=intel.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 9FDD93857359 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=192.198.163.8 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1700443181; cv=pass; b=DByDuBjThWFwR/AFRV1tf98kL3MiE2iSqXu81NxnEhlcD8qtGVJBFomKjhfBbI3f+EJEjRZVTqzzrL+22OPdqZp5Z8XkLMYt/km3d0ozihJyZ1gLNxzUhgvS3pqZU7bzpxDkHbbuXn1Ywb7nxonqhb/q3d5ouH/Mv1CX+mW4l60= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1700443181; c=relaxed/simple; bh=I3th0nzIBHTcabKDEVM8Vgn7jQWq0t0efBIUFYFH+4A=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=kUqxNLHQUFnz9K+V8E6oVX6zhBD6MYt8RZp98BjsOhxhh1YdX3XONUNOl7SbWM44GyeYvhnlRLWR9I4xgSjxzrmAVENzCxL+QTcwH8MlTifDOL5bz8RsQtEv6+PLW+kb8QJzl4ydny8IsybPz5ch6vF4MSzdjnjnIJG+HtkvIqs= ARC-Authentication-Results: i=2; server2.sourceware.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1700443178; x=1731979178; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=I3th0nzIBHTcabKDEVM8Vgn7jQWq0t0efBIUFYFH+4A=; b=MPBl2a4SC0CNUTmJKpWO1Y7zPq4p0wVP6LGXNb1VNH7+LqK5VWdLYD60 ayFnP8Y+av8MeSumVbvKf0ZTgxFRbuMagOaDGbbO/OFTs4lUTlXMFRr96 E5gMW2entRxdLk8UHXuIFvMRTaVFYQ3QqcY9HIbfmjr/xUe20Ja8wPmqH tJuBa+1RQtaQztNR0sDvHdD/Ij8FbAbk9HBt71kd4jBLsJL/hGB/9KCZf 15kDXPEoKjLsN+knkBOOD9kIr82KDnsHRr+stUmQ8pFv7bFT2smvj80lm ByLTabKlii9xY2S9Vk2MqxZA8W9gPt0wzNx53WunhENA6wTAZr0OBMKFp g==; X-IronPort-AV: E=McAfee;i="6600,9927,10899"; a="4645256" X-IronPort-AV: E=Sophos;i="6.04,212,1695711600"; d="scan'208";a="4645256" Received: from orsmga001.jf.intel.com ([10.7.209.18]) by fmvoesa102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 19 Nov 2023 17:19:37 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10899"; a="800996506" X-IronPort-AV: E=Sophos;i="6.04,212,1695711600"; d="scan'208";a="800996506" Received: from orsmsx601.amr.corp.intel.com ([10.22.229.14]) by orsmga001.jf.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 19 Nov 2023 17:19:37 -0800 Received: from orsmsx612.amr.corp.intel.com (10.22.229.25) by ORSMSX601.amr.corp.intel.com (10.22.229.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.34; Sun, 19 Nov 2023 17:19:36 -0800 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX612.amr.corp.intel.com (10.22.229.25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.34; Sun, 19 Nov 2023 17:19:36 -0800 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) by orsmsx610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.34 via Frontend Transport; Sun, 19 Nov 2023 17:19:36 -0800 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (104.47.55.169) by edgegateway.intel.com (134.134.137.103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.34; Sun, 19 Nov 2023 17:19:36 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ZbqytUvbmMghwVtrbrQFt50ft2xlP+NZASlKKlANlKHlQhyqlgAggSoN83ME+fc47fIJsH0ukqHxIq2nJ4gqAOrqhr+NXJgHMHdkS/3yU4SGJIVEOgM7DNdHoWEwk8LHlewRs4BtXJXWk51IHaK6Lzw47x8FYt0cQfEkIass1F0unHYU3bzW3TP4LP/b6NfNGZJH4XnOgPNw77m5xJ70uoExHYNgPCzqayjRLmExYyG3+mFk7J38D23jZRpaGPZDteM1xFutUM7aj/IP2s+V9HUrNlTfNlNDUDOovYvNb1L4Jw87iYEAXcxvz/K1f6v/UUx5dBZRcNLSpzoNvKN2FA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=I3th0nzIBHTcabKDEVM8Vgn7jQWq0t0efBIUFYFH+4A=; b=QbMXaX61Hv1fnTKjXrwvdpSoQl0d1OEYFLHlICvTwLaGoV3/fEJEHefDJrRkp0CIccUMA2p6E5jNp1wc2zcCeo7uwmlDNLLv9WOM42rCP+NIJTQBJJBu9sQokPLdgpi9vyrZTrPs74r8fAsxRPWTlav5ZQjZTjCHIgYTTP4q4zu9AQ5oxGiH7Bgm9SQPEhNBAlyMkxtfUn8l08Q2/f0zPYH18aqVGUMpSPX19hz1Jn0bzX3DwMu4pfP8MVuJXPZ26/tb9nFhB7inc3g76Quo1Wknx+j2JUVAVGu9IhCF+8WqaKdKkH07EqUq728isOXTduvYnXgc8T+v49WFdsZecg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from SJ0PR11MB5600.namprd11.prod.outlook.com (2603:10b6:a03:3ab::16) by DM4PR11MB5534.namprd11.prod.outlook.com (2603:10b6:5:391::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.26; Mon, 20 Nov 2023 01:19:32 +0000 Received: from SJ0PR11MB5600.namprd11.prod.outlook.com ([fe80::f925:7c4b:8747:4549]) by SJ0PR11MB5600.namprd11.prod.outlook.com ([fe80::f925:7c4b:8747:4549%3]) with mapi id 15.20.7002.026; Mon, 20 Nov 2023 01:19:31 +0000 From: "Cui, Lili" To: "Beulich, Jan" , "Kong, Lingling" CC: "Lu, Hongjiu" , "ccoutant@gmail.com" , "binutils@sourceware.org" Subject: RE: [PATCH 5/8] Support APX NDD Thread-Topic: [PATCH 5/8] Support APX NDD Thread-Index: AQHaDYCCArjClS3slU2EQ64mG1NAZLBwRMkAgA+VG4A= Date: Mon, 20 Nov 2023 01:19:31 +0000 Message-ID: References: <20231102112911.2372810-1-lili.cui@intel.com> <20231102112911.2372810-6-lili.cui@intel.com> <307a7279-4b96-b225-18d0-eb2ba12032bf@suse.com> In-Reply-To: <307a7279-4b96-b225-18d0-eb2ba12032bf@suse.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: SJ0PR11MB5600:EE_|DM4PR11MB5534:EE_ x-ms-office365-filtering-correlation-id: 063cde39-ce25-48f6-7527-08dbe966bf6c x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 9FeecCD0yuyBSyJvxeIH6FqqrvkZof7Qbxgw6bUMBMMaybV0vkOU7t+h+IxDrGTCjFq3701Pe1NqMHo/GDqLyYA9E6vvT3vdloGGlb9SX8bbpbDmXkalJ1wndJGSPNHFuQ4spYd5FjapAo2tsMiXh6xalXaHl2bH0/LLPueiMb41kMfPivIhu5AkxHxTNrj0vjGRrIhIvLhsHUts7zoJIFj0Eol8ZKbItUf5wy55IAVXcAAuUAJ/DcnZZDXl7IJGEF2jTx47bbVHXsZdoeICAyhUct/maNSPeVi6BuY1TG6D2LOK8mTjLvupNXXkk4aYFSE8/ad34ylJjxSCDSyEU34i57iPrpqazZ8eTaARmQSzXmPBwYhKOg2HYucxt4Eu55+Z+njh2LaGHTNkJT/ZYx5ypJTDs6yV6AR3lgaDHr0bWg3TFHbZJ+UgdB66jypWukA3matF9h+PNWcUAgIl3Z/TtN+BoElv277GLk3L6HT9z8dZp0nqDPmS8hl/8HAuGSYo6SpcML0DAOQAFdzSUt1s7IiS7g+KsarXDVFe2xJMBxai2+e8+TiyjZDOUbOcxMonCcg1GuhNT7f+ffvb3vOAtAZoCFePOTP3J7Prnkw5yhRulttM4MxjqutBW6Eb x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR11MB5600.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(366004)(396003)(346002)(136003)(39860400002)(230922051799003)(64100799003)(451199024)(186009)(1800799012)(41300700001)(30864003)(33656002)(2906002)(66899024)(8676002)(4326008)(8936002)(52536014)(316002)(5660300002)(86362001)(38070700009)(83380400001)(55016003)(122000001)(26005)(82960400001)(71200400001)(9686003)(6506007)(7696005)(38100700002)(478600001)(66476007)(110136005)(66556008)(66946007)(76116006)(66446008)(6636002)(54906003)(64756008);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?dEM4dEE1bllkd0o0TVF5aDdsTkZ1NURjMmFWRE52dVVrYnE3YWhnVW1ISWxj?= =?utf-8?B?bGFSdGptV1FXZU5iRW9JaEMzRG11M2xVM21ndzVUcG5IMXZVUTBmS3BsKzFO?= =?utf-8?B?RFNkSVpOdldNV3hIemF6TkpKL0hpZUhIK2FyVHgvMGErL2JDQTdaUmVsQjFw?= =?utf-8?B?dlZybjNPZ05SM1M2ZDA1ZGxMcDNIL2dVektWcUtneTVnRXRlS0RhVVM1SXR2?= =?utf-8?B?bXp1WE5HbXZiajMrc0VFUmRSR3pGdkI0bU9QUEZPTFZRRG5HMDVMbVJ4cGRR?= =?utf-8?B?UmQ3YWtDNFpuYmJZbERTekoxQUdMTjFPK094Vkl2R3JEa0NSWFJJLzYwT1Na?= =?utf-8?B?RkRjcC9FUHVUdGx4R0k3ZG8yV2FudmdEaE9Lb1d4SEVxMjVHZXlHeUd2YWlm?= =?utf-8?B?YnVZWEZGUTl1b0EwVG00c0hmMkdRWE1qbWdjV1pOUnJlWkJLY29tWEd5ZElH?= =?utf-8?B?aTVEcWJpczFhNEFpTld5QU5kKzdGYmhqaHV1amJ5Nm9XZXBFQUw5T0U4MlVM?= =?utf-8?B?NERDVUlpZGdBNG9JekxuQ3htMUxkemdHVkdiZ2thL1JkaEJ1eWdGNFlnaVdC?= =?utf-8?B?SzMwbzJHOGFYQ1VqMStzeUlVekFCb2lLaFJ0TzZ6K3hDU1ZvZUZ1V2Y0dDQ4?= =?utf-8?B?aEoxbWY3L3pNMTlKcm9ienl4aUFQL2djVGRrY3hIYmxJeVpFNE1GOXNXRlpn?= =?utf-8?B?cHN0Y3NqY0JPbGN2d0dJL1VHYlBmV0Ztb0xLOHR1VDZtb05hdkZSRThtNkVK?= =?utf-8?B?eUtVSDdGZ25XREkvNXJvdGljb0M2UEcyNDRtWXhSdE5LYnpaM1VJcWNINERl?= =?utf-8?B?T21LQklMTHBZVHV0U1IxSmNIOE4zZXhtUmZwTExNelpTcjhvdFlsY2lrNUdK?= =?utf-8?B?VzBqUzFSMjM1ZHBwZ0lFUDgwVUdJMDhDZ0dLN2tTNEl2b09wNVFXR0JoMi9q?= =?utf-8?B?UmZxaWprbmx6ZENHZ2htcWY3UUEzWHRrSWw5NThuMGs5WVhHY0s5Q01UeDJu?= =?utf-8?B?aHVWa3U3aFBuMFFwNllvUXhvNGdrcVJqaTE1RGJQZ2NLRURiZUI0QXB0b2pT?= =?utf-8?B?ZjlGcTRlTDNSc3NEckZnQlpzL1B2ZmtOSUdISWMzb0tGQlZIWjBRUUYzNlIv?= =?utf-8?B?aUp5SzZNNzNSU2I0TUkvTFUrWkxac05kZzZzUENyRlU2dDhQM2ZyWmdsMlBr?= =?utf-8?B?VDFvZXR1TjJFay9GUktSdmVRQmtINWxLRTJWTUE4ZnZ0ek81TlZxVTVVT2lr?= =?utf-8?B?WUpnanh3clVNMG5rY1ArcVltZ1RYWnhwazNCNTRVMEtmblVNZnErNW5qWFhY?= =?utf-8?B?MHlKOVo5RGlEWjRHTUNVRlNpOEtUVHFwVzM0WStJVnUvbFp6ckZNNnJLUU5D?= =?utf-8?B?SlBiaFNocWMxNkJKaXBBUHRPT0lNdDVPeTd2RGZtUnkvaUdDZ2FxaDNjQmVQ?= =?utf-8?B?L0hUOU1CVmI0N08zd2t4YS9qbTlyVGV0aC9kZUxpSEZ5R0JpS3JOSlE0aXg4?= =?utf-8?B?aHFrWWVTSENvd094dTgvbUN2STYweTJaVndQV3hlMzJJTWRkYUpuWmNUd204?= =?utf-8?B?MllNK1FKUTQrSG1QVjVUM01UNUxyWTRNZnkyLzFhT0hKQmFZd01QbTZtYkhI?= =?utf-8?B?dTVseWI4WmNQbFpUT3p3dnNicnpnNnd0NHFvR05SZktUY01PYnJmdWs1a3hh?= =?utf-8?B?RHREbzlEUThJdm5JZEt6b2xTUUV1U2YrRUw2WEdwem9KTG1nTFVHQ2t2WFdJ?= =?utf-8?B?WEJsdk1pTzd6RTVxekVLL0RzOGpMTUkrZmlVMTdtR3JPRFJSRU1PUFh5emV2?= =?utf-8?B?VmFRcVRzNFd4VHVaVUo3c2h0ZnVacW13N1c2VmZ6bFVVQmJxWXNOMjdMdk8z?= =?utf-8?B?eS9nVzAvQzZsSWxIZ1owVkZRVjhQWGwza2RwNHZ3cEMyN2hLNWVqeVI3aDdt?= =?utf-8?B?ekhHSmY0WS9CWSthU0Z0L1AwaGNscWlqcTBWOENEU1Y3WTNtSlNuRmZDRGd4?= =?utf-8?B?cmdpT1JvUkxrWVJnN0RFdGM0WlB2TER1MnhmdHZLUS9IWXdOTmN3WG85RzRO?= =?utf-8?B?TmRTdmZPSWs0ZTF6MC9oYXk2M1FTS2xXVGhZZ1VLMDloTk1RcG1WcnE3Q3JV?= =?utf-8?Q?WsWrmKB/gInGTBojY4Z+XMqzG?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SJ0PR11MB5600.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 063cde39-ce25-48f6-7527-08dbe966bf6c X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Nov 2023 01:19:31.0442 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: +5PTqj8+T3hD/R3qgcm8csVXi3nKVQIcoTTtNGpd7us4Ez2/h0NdhvolihRMGU9lp96mGBsEAzVOyZC/SgbNSQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR11MB5534 X-OriginatorOrg: intel.com X-Spam-Status: No, score=-10.6 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,SPF_HELO_NONE,SPF_NONE,TXREP,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: PiA+IDEwMDY0NCBnYXMvdGVzdHN1aXRlL2dhcy9pMzg2L3g4Ni02NC1hcHgtbmRkLmQNCj4gPiAg Y3JlYXRlIG1vZGUgMTAwNjQ0IGdhcy90ZXN0c3VpdGUvZ2FzL2kzODYveDg2LTY0LWFweC1uZGQu cw0KPiA+DQo+ID4gZGlmZiAtLWdpdCBhL2dhcy9jb25maWcvdGMtaTM4Ni5jIGIvZ2FzL2NvbmZp Zy90Yy1pMzg2LmMgaW5kZXgNCj4gPiAzOTg5MDlhNmEzMC4uNWI5MjU1MDU0MzUgMTAwNjQ0DQo+ ID4gLS0tIGEvZ2FzL2NvbmZpZy90Yy1pMzg2LmMNCj4gPiArKysgYi9nYXMvY29uZmlnL3RjLWkz ODYuYw0KPiA+IEBAIC0yMzE3LDggKzIzMTcsMTAgQEAgb3BlcmFuZF9zaXplX21hdGNoIChjb25z dCBpbnNuX3RlbXBsYXRlICp0KQ0KPiA+ICAgICAgICB1bnNpZ25lZCBpbnQgZ2l2ZW4gPSBpLm9w ZXJhbmRzIC0gaiAtIDE7DQo+ID4NCj4gPiAgICAgICAgLyogRm9yIEZNQTQgYW5kIFhPUCBpbnNu cyBWRVguVyBjb250cm9scyBqdXN0IHRoZSBmaXJzdCB0d28NCj4gPiAtCSByZWdpc3RlciBvcGVy YW5kcy4gICovDQo+ID4gLSAgICAgIGlmIChpc19jcHUgKHQsIENwdUZNQTQpIHx8IGlzX2NwdSAo dCwgQ3B1WE9QKSkNCj4gPiArCSByZWdpc3RlciBvcGVyYW5kcy4gQW5kIEFQWF9GIGluc25zIGp1 c3Qgc3dhcCB0aGUgdHdvIHNvdXJjZQ0KPiBvcGVyYW5kcywNCj4gPiArCSB3aXRoIHRoZSAzcmQg b25lIGJlaW5nIHRoZSBkZXN0aW5hdGlvbi4gICovDQo+ID4gKyAgICAgIGlmIChpc19jcHUgKHQs IENwdUZNQTQpIHx8IGlzX2NwdSAodCwgQ3B1WE9QKQ0KPiA+ICsJICB8fCBpc19jcHUgKHQsQ3B1 QVBYX0YpKQ0KPiA+ICAJZ2l2ZW4gPSBqIDwgMiA/IDEgLSBqIDogajsNCj4gDQo+IE5pdDogUGxl YXNlIHJldGFpbiBjb25zaXN0ZW5jeSB3cnQgc3R5bGUgKGhlcmU6IG1pc3NpbmcgYmxhbmsgYWZ0 ZXIgY29tbWEgaW4NCj4gdGhlIGFkZGl0aW9uKS4gRmVlbHMgbGlrZSBJIHNhaWQgc28gYmVmb3Jl Lg0KPiANCg0KRG9uZS4NCg0KPiA+IEBAIC0zOTU5LDYgKzM5NjEsNyBAQCBzdGF0aWMgSU5MSU5F IGJvb2wgIGlzX2FueV9hcHhfZXZleF9lbmNvZGluZw0KPiA+ICh2b2lkKSAgew0KPiA+ICAgIHJl dHVybiBpLnJleDIgfHwgaS50bS5vcGNvZGVfc3BhY2UgPT0gU1BBQ0VfRVZFWE1BUDQNCj4gPiAr ICAgIHx8IGkucmV4Ml9lbmNvZGluZw0KPiA+ICAgICAgfHwgKGkudmV4LnJlZ2lzdGVyX3NwZWNp Zmllcg0KPiA+ICAJJiYgaS52ZXgucmVnaXN0ZXJfc3BlY2lmaWVyLT5yZWdfZmxhZ3MgJiBSZWdS ZXgyKTsgIH0NCj4gDQo+IFNlZSBteSBjb21tZW50IG9uIGFuIGVhcmxpZXIgcGF0Y2ggcmVnYXJk aW5nIHRoZSB1c2Ugb2YgaS5yZXgyIGhlcmUuIEJ1dCBJDQo+IGRvdWJ0IHRoaXMgaXMgY29ycmVj dCBpbiB0aGUgZmlyc3QgcGxhY2U6IFdoeSB3b3VsZCB7cmV4Mn0gY2F1c2UgRVZFWCBlbmNvZGlu Zw0KPiB0byBiZSBwaWNrZWQ/DQo+IA0KDQpEZWxldGVkLg0KDQo+ID4gQEAgLTc0ODEsMjYgKzc0 ODQsMzMgQEAgbWF0Y2hfdGVtcGxhdGUgKGNoYXIgbW5lbV9zdWZmaXgpDQo+ID4gIAkgIG92ZXJs YXAxID0gb3BlcmFuZF90eXBlX2FuZCAob3BlcmFuZF90eXBlc1swXSwNCj4gb3BlcmFuZF90eXBl c1sxXSk7DQo+ID4gIAkgIGlmICh0LT5vcGNvZGVfbW9kaWZpZXIuZCAmJiBpLnJlZ19vcGVyYW5k cyA9PSBpLm9wZXJhbmRzDQo+ID4gIAkgICAgICAmJiAhb3BlcmFuZF90eXBlX2FsbF96ZXJvICgm b3ZlcmxhcDEpKQ0KPiA+IC0JICAgIHN3aXRjaCAoaS5kaXJfZW5jb2RpbmcpDQo+ID4gLQkgICAg ICB7DQo+ID4gLQkgICAgICBjYXNlIGRpcl9lbmNvZGluZ19sb2FkOg0KPiA+IC0JCWlmIChvcGVy YW5kX3R5cGVfY2hlY2sgKG9wZXJhbmRfdHlwZXNbaS5vcGVyYW5kcyAtIDFdLA0KPiBhbnltZW0p DQo+ID4gLQkJICAgIHx8IHQtPm9wY29kZV9tb2RpZmllci5yZWdtZW0pDQo+ID4gLQkJICBnb3Rv IGNoZWNrX3JldmVyc2U7DQo+ID4gLQkJYnJlYWs7DQo+ID4gKwkgICAgew0KPiA+DQo+ID4gLQkg ICAgICBjYXNlIGRpcl9lbmNvZGluZ19zdG9yZToNCj4gPiAtCQlpZiAoIW9wZXJhbmRfdHlwZV9j aGVjayAob3BlcmFuZF90eXBlc1tpLm9wZXJhbmRzIC0gMV0sDQo+IGFueW1lbSkNCj4gPiAtCQkg ICAgJiYgIXQtPm9wY29kZV9tb2RpZmllci5yZWdtZW0pDQo+ID4gLQkJICBnb3RvIGNoZWNrX3Jl dmVyc2U7DQo+ID4gLQkJYnJlYWs7DQo+ID4gKwkgICAgICBpbnQgTWVtT3BlcmFuZCA9IGkub3Bl cmFuZHMgLSAxIC0NCj4gPiArCQkodC0+b3Bjb2RlX3NwYWNlID09IFNQQUNFX0VWRVhNQVA0DQo+ ID4gKwkJICYmIHQtPm9wY29kZV9tb2RpZmllci52ZXh2dnZ2KTsNCj4gDQo+IE5pdDogSSBkb24n dCB0aGluayBsb2NhbCB2YXJpYWJsZXMgc2hvdWxkIHN0YXJ0IHdpdGggYSBjYXBpdGFsIGxldHRl ci4gSSB3b25kZXINCj4gYW55d2F5IC0gY2FuJ3QgeW91IGp1c3QgcmUtdXNlIGUuZy4gaiBoZXJl PyBUaGF0IHdvdWxkIHRoZW4gYWxzbyBhdm9pZCB0aGUNCj4gbWlzbGVhZGluZyBuYW1lOiBSaWdo dCBoZXJlIHlvdSBkb24ndCBrbm93IHlldCB3aGV0aGVyIHRoYXQncyB0aGUNCj4gIm1lbW9yeSIg b3BlcmFuZC4gRmluYWxseSwgaWYgeW91IHNldCB0aGUgdmFyaWFibGUgYWhlYWQgaWYgdGhlIGVu Y2xvc2luZyBpZigpLA0KPiB5b3UgY291bGQgKEkgdGhpbmspIGF2b2lkIGFsbCB0aGlzIHJlLWlu ZGVudGF0aW9uLCBtYWtpbmcgdGhlIGNoYW5nZSBxdWl0ZSBhIGJpdA0KPiBlYXNpZXIgdG8gcmV2 aWV3IChpLmUuIHRvIHNlZSB3aGF0IHJlYWxseSBjaGFuZ2VzKS4NCj4gDQoNCkdvb2QgaWRlYS4g Q2hhbmdlZC4NCg0KPiA+IEBAIC03NTMwLDExICs3NTQwLDEzIEBAIG1hdGNoX3RlbXBsYXRlIChj aGFyIG1uZW1fc3VmZml4KQ0KPiA+ICAJCWNvbnRpbnVlOw0KPiA+ICAJICAgICAgLyogVHJ5IHJl dmVyc2luZyBkaXJlY3Rpb24gb2Ygb3BlcmFuZHMuICAqLw0KPiA+ICAJICAgICAgaiA9IGlzX2Nw dSAodCwgQ3B1Rk1BNCkNCj4gPiAtCQkgIHx8IGlzX2NwdSAodCwgQ3B1WE9QKSA/IDEgOiBpLm9w ZXJhbmRzIC0gMTsNCj4gPiArCQkgIHx8IGlzX2NwdSAodCwgQ3B1WE9QKQ0KPiA+ICsJCSAgfHwg aXNfY3B1ICh0LCBDcHVBUFhfRikgPyAxIDogaS5vcGVyYW5kcyAtIDE7DQo+ID4gIAkgICAgICBv dmVybGFwMCA9IG9wZXJhbmRfdHlwZV9hbmQgKGkudHlwZXNbMF0sIG9wZXJhbmRfdHlwZXNbal0p Ow0KPiA+ICAJICAgICAgb3ZlcmxhcDEgPSBvcGVyYW5kX3R5cGVfYW5kIChpLnR5cGVzW2pdLCBv cGVyYW5kX3R5cGVzWzBdKTsNCj4gPiAgCSAgICAgIG92ZXJsYXAyID0gb3BlcmFuZF90eXBlX2Fu ZCAoaS50eXBlc1sxXSwgb3BlcmFuZF90eXBlc1sxXSk7DQo+ID4gLQkgICAgICBnYXNfYXNzZXJ0 ICh0LT5vcGVyYW5kcyAhPSAzIHx8ICFjaGVja19yZWdpc3Rlcik7DQo+ID4gKwkgICAgICBnYXNf YXNzZXJ0ICh0LT5vcGVyYW5kcyAhPSAzIHx8ICFjaGVja19yZWdpc3Rlcg0KPiA+ICsJCQkgIHx8 IGlzX2NwdSAodCxDcHVBUFhfRikpOw0KPiANCj4gTml0OiBNaXNzaW5nIGJsYW5rIGFnYWluLiBB bmQgYWdhaW4gaW4gdGhlIG5leHQgaHVuay4gSSB3b24ndCBjb21tZW50IG9uDQo+IHN1Y2ggYW55 IGZ1cnRoZXIsIGV4cGVjdGluZyB5b3UgdG8gZ28gdGhyb3VnaCBnbG9iYWxseS4NCj4NCiANCkRv bmUuDQoNCj4gPiBAQCAtODU4OCwxMSArODYwOSwxMCBAQCBwcm9jZXNzX29wZXJhbmRzICh2b2lk KQ0KPiA+ICAgIGNvbnN0IHJlZ19lbnRyeSAqZGVmYXVsdF9zZWcgPSBOVUxMOw0KPiA+DQo+ID4g ICAgLyogV2Ugb25seSBuZWVkIHRvIGNoZWNrIHRob3NlIGltcGxpY2l0IHJlZ2lzdGVycyBmb3Ig aW5zdHJ1Y3Rpb25zDQo+ID4gLSAgICAgd2l0aCAzIG9wZXJhbmRzIG9yIGxlc3MuICAqLw0KPiA+ IC0gIGlmIChpLm9wZXJhbmRzIDw9IDMpDQo+ID4gLSAgICBmb3IgKHVuc2lnbmVkIGludCBqID0g MDsgaiA8IGkub3BlcmFuZHM7IGorKykNCj4gPiAtICAgICAgaWYgKGkudHlwZXNbal0uYml0Zmll bGQuaW5zdGFuY2UgIT0gSW5zdGFuY2VOb25lKQ0KPiA+IC0JaS5yZWdfb3BlcmFuZHMtLTsNCj4g PiArICAgICB3aXRoIDQgb3BlcmFuZHMgb3IgbGVzcy4gICovDQo+ID4gKyAgZm9yICh1bnNpZ25l ZCBpbnQgaiA9IDA7IGogPCBpLm9wZXJhbmRzOyBqKyspDQo+ID4gKyAgICBpZiAoaS50eXBlc1tq XS5iaXRmaWVsZC5pbnN0YW5jZSAhPSBJbnN0YW5jZU5vbmUpDQo+ID4gKyAgICAgIGkucmVnX29w ZXJhbmRzLS07DQo+IA0KPiBXaGlsZSB5b3UgbWFkZSB0aGUgcmVxdWVzdGVkIGNvZGUgYWRqdXN0 bWVudCwgYWRqdXN0aW5nIHRoZSBjb21tZW50DQo+IHJlbmRlcnMgaXQgc3RhbGUgbm93LiBJdCBu ZWVkcyBkcm9wcGluZyBpbnN0ZWFkLCBhcyBpdCBkaWQgb25seSBleHBsYWluIHRoZSBpZigpLA0K PiBub3QgdGhlIGZvcigpLg0KPiANCg0KRG9uZS4NCg0KPiA+IEBAIC04OTQ2LDI2ICs4OTY2LDM1 IEBAIGJ1aWxkX21vZHJtX2J5dGUgKHZvaWQpDQo+ID4gIAkJCQkgICAgIHx8IGkudmVjX2VuY29k aW5nID09IHZleF9lbmNvZGluZ19ldmV4KSk7DQo+ID4gICAgICB9DQo+ID4NCj4gPiAtICBmb3Ig KHYgPSBzb3VyY2UgKyAxOyB2IDwgZGVzdDsgKyt2KQ0KPiA+IC0gICAgaWYgKHYgIT0gcmVnX3Ns b3QpDQo+ID4gLSAgICAgIGJyZWFrOw0KPiA+IC0gIGlmICh2ID49IGRlc3QpDQo+ID4gLSAgICB2 ID0gfjA7DQo+ID4gLSAgaWYgKGkudG0uZXh0ZW5zaW9uX29wY29kZSAhPSBOb25lKQ0KPiA+ICsg IGlmIChpLnRtLm9wY29kZV9tb2RpZmllci52ZXh2dnZ2ID09IFZleFZWVlZfRFNUKQ0KPiA+ICAg ICAgew0KPiA+IC0gICAgICBpZiAoZGVzdCAhPSBzb3VyY2UpDQo+ID4gLQl2ID0gZGVzdDsNCj4g PiAtICAgICAgZGVzdCA9IH4wOw0KPiA+ICsgICAgICB2ID0gZGVzdDsNCj4gPiArICAgICAgZGVz dC0tIDsNCj4gPiAgICAgIH0NCj4gPiAtICBnYXNfYXNzZXJ0IChzb3VyY2UgPCBkZXN0KTsNCj4g PiAtICBpZiAoaS50bS5vcGNvZGVfbW9kaWZpZXIub3BlcmFuZGNvbnN0cmFpbnQgPT0gU1dBUF9T T1VSQ0VTDQo+ID4gLSAgICAgICYmIHNvdXJjZSAhPSBvcCkNCj4gPiArICBlbHNlIGlmIChpLnRt Lm9wY29kZV9tb2RpZmllci52ZXh2dnZ2ID09IFZleFZWVlZfU1JDKQ0KPiA+ICAgICAgew0KPiA+ IC0gICAgICB1bnNpZ25lZCBpbnQgdG1wID0gc291cmNlOw0KPiA+ICsgICAgICB2ID0gc291cmNl ICsgMTsNCj4gPiArICAgICAgZm9yICh2ID0gc291cmNlICsgMTsgdiA8IGRlc3Q7ICsrdikNCj4g PiArCWlmICh2ICE9IHJlZ19zbG90KQ0KPiA+ICsJICBicmVhazsNCj4gPiArICAgICAgaWYgKGku dG0uZXh0ZW5zaW9uX29wY29kZSAhPSBOb25lKQ0KPiA+ICsJew0KPiA+ICsJICBpZiAoZGVzdCAh PSBzb3VyY2UpDQo+ID4gKwkgICAgdiA9IGRlc3Q7DQo+ID4gKwkgIGRlc3QgPSB+MDsNCj4gPiAr CX0NCj4gPiArICAgICAgZ2FzX2Fzc2VydCAoc291cmNlIDwgZGVzdCk7DQo+ID4gKyAgICAgIGlm IChpLnRtLm9wY29kZV9tb2RpZmllci5vcGVyYW5kY29uc3RyYWludCA9PSBTV0FQX1NPVVJDRVMN Cj4gPiArCSAgJiYgc291cmNlICE9IG9wKQ0KPiA+ICsJew0KPiA+ICsJICB1bnNpZ25lZCBpbnQg dG1wID0gc291cmNlOw0KPiA+DQo+ID4gLSAgICAgIHNvdXJjZSA9IHY7DQo+ID4gLSAgICAgIHYg PSB0bXA7DQo+ID4gKwkgIHNvdXJjZSA9IHY7DQo+ID4gKwkgIHYgPSB0bXA7DQo+ID4gKwl9DQo+ ID4gICAgICB9DQo+ID4gKyAgZWxzZQ0KPiA+ICsgICAgdiA9IH4wOw0KPiA+DQo+ID4gICAgaWYg KHYgPCBNQVhfT1BFUkFORFMpDQo+ID4gICAgICB7DQo+IA0KPiBJJ20gaGF2aW5nIHRyb3VibGUg Zm9sbG93aW5nIHRoaXMgY2hhbmdlLiBUaGUgVmV4VlZWVi1pcy1zb3VyY2UgY2FzZQ0KPiBzaG91 bGRuJ3QgY2hhbmdlIGF0IGFsbCwgSSdkIGV4cGVjdC4gVGhpcyB3b3VsZCBpZGVhbGx5IGJlIGVh c2lseSB2aXNpYmxlIGZyb20NCj4gdGhlIGNoYW5nZSBkb25lLiBZZXQgaWYgbG9va2luZyBhIGxp dHRsZSBtb3JlIGNsb3NlbHkgSSBjYW4gZS5nLiBzcG90IGEgc3RyYXkgInYgPQ0KPiBzb3VyY2Ug KyAxOyIgd2hpY2ggd2Fzbid0IHRoZXJlIGJlZm9yZS4gQW5kIHRoZXJlIGFsc28gbG9vayB0byBi ZSB0aGluZ3MgYmVpbmcNCj4gZHJvcHBlZC4gU3VjaCBhIGNoYW5nZSAoYWdhaW4pIHdhbnRzIGRv aW5nIHN1Y2ggdGhhdCBpdCBpcyBlYXN5IHRvIHNlZSB3aGF0DQo+IGNoYW5nZXMuIElmIG5lZWQg YmUgYnkgbWFraW5nIGEgbWVjaGFuaWNhbCBwcmVyZXEgY2hhbmdlIGRvaW5nIGp1c3QgcmUtDQo+ IGluZGVudGF0aW9uLCBidXQgbm90aGluZyBlbHNlLg0KPiBJdCBmZWVscyB0aG91Z2ggYXMgaWYg dGhlcmUgaXMgdG9vIG11Y2ggY2hhbmdpbmcgaGVyZSBhbnl3YXk6IFRoZSBkaWZmZXJlbmNlDQo+ IGZvciBWZXhWVlZWLWlzLWRlc3QgaXMgdGhhdCB5b3UgbmVlZCB0byBjb25zdW1lIHRoZSBkZXN0 aW5hdGlvbiBlYXJseS4gSWYgeW91DQo+IGRvIHNvLCB0aGVuIHRoZSByZXN0IHNob3VsZCBiZSBw b3NzaWJsZSB0byBrZWVwIGFzIGlzOiBZb3UnbGwgc3Vic2VxdWVudGx5IGRlYWwNCj4gd2l0aCBq dXN0IHRoZSBub3JtYWwgTW9kUi9NLCBhcyBpZiB3aXRob3V0IGEgVmV4VlZWVi1lbmNvZGVkIG9w ZXJhbmQuDQo+IA0KDQpDaGFuZ2VkIHRvIGFkZCB0aGVzZSBjb2RlcyBiZWZvcmUgdGhlIG9sZCBj b2RlLg0KDQogIGlmIChpLnRtLm9wY29kZV9tb2RpZmllci52ZXh2dnZ2ID09IFZleFZWVlZfRFNU KQ0KICAgIHsNCiAgICAgIHYgPSBkZXN0Ow0KICAgICAgZGVzdC0tIDsNCiAgICB9DQogIGVsc2UN CiAgICB7DQouLi4NCiAgICB9DQoNCj4gPiAtLS0gYS9nYXMvdGVzdHN1aXRlL2dhcy9pMzg2L3g4 Ni02NC1hcHgtZXZleC1wcm9tb3RlZC1iYWQucw0KPiA+ICsrKyBiL2dhcy90ZXN0c3VpdGUvZ2Fz L2kzODYveDg2LTY0LWFweC1ldmV4LXByb21vdGVkLWJhZC5zDQo+ID4gQEAgLTEwLDcgKzEwLDcg QEAgX3N0YXJ0Og0KPiA+ICAgICAgICAgIC5ieXRlIDB4NjIsIDB4ZmMsIDB4N2YsIDB4MDgsIDB4 NjAsIDB4YzINCj4gPiAgICAgICAgICAuYnl0ZSAweGZmLCAweGZmDQo+ID4gICAgICAgICAgI1ZT SUIgdnBnYXRoZXJxcSAweDdiKCVyYnAsJXptbTE3LDgpLCV6bW0xNnslazF9IHNldA0KPiBFVkVY LlBbMTBdID09IDANCj4gPiAtCSMoaWxsZWdhbCB2YWx1ZSkuDQo+ID4gKyAgICAgICAgIyhpbGxl Z2FsIHZhbHVlKS4NCj4gPiAgICAgICAgICAuYnl0ZSAweDYyLCAweGUyLCAweGY5LCAweDQxLCAw eDkxLCAweDg0LCAweGNkLCAweDdiLCAweDAwLCAweDAwLCAweDAwDQo+ID4gICAgICAgICAgLmJ5 dGUgMHhmZg0KPiA+ICAgICAgICAgICNFVkVYX01BUDQgbW92YmUgJXIxOHcsJWF4IHNldCBFVkVY Lm1tID09IGIwMSAoaWxsZWdhbCB2YWx1ZSkuDQo+IA0KPiA/Pz8NCj4NCj4gPiBAQCAtMjcsMyAr MjcsNiBAQCBfc3RhcnQ6DQo+ID4gICAgICAgICAgLmJ5dGUgMHhmZg0KPiA+ICAgICAgICAgICNF VkVYIGZyb20gVkVYIGVucWNtZCAweDEyMyglcjMxLCVyYXgsNCksJXIzMSBFVkVYLlBbMjM6MjJd ID09IDENCj4gKGlsbGVnYWwgdmFsdWUpLg0KPiA+ICAgICAgICAgIC5ieXRlIDB4NjIsIDB4NGMs IDB4N2YsIDB4MjgsIDB4ZjgsIDB4YmMsIDB4ODcsIDB4MjMsIDB4MDEsDQo+ID4gMHgwMCwgMHgw MA0KPiA+ICsgICAgICAgIC5ieXRlIDB4ZmYNCj4gDQo+IFRoaXMgdGhlbiBzaW1pbGFybHkgbG9v a3MgdG8gYmVsb25nIGludG8gdGhlIGVhcmxpZXIgcGF0Y2gsIHN1Z2dlc3RpbmcgdGhhdCBpdA0K PiBoYWQgI3Bhc3MgdG9vIGVhcmx5Lg0KPiANCkNoYW5nZWQuDQoNCj4gPiArICAgICAgICAje2V2 ZXh9IGluYyAlcmF4IEVWRVgudnZ2dicgPiAwIChpbGxlZ2FsIHZhbHVlKS4NCj4gPiArICAgICAg ICAuYnl0ZSAweDYyLCAweGY0LCAweGVjLCAweDA4LCAweGZmLCAweGMwDQo+IA0KPiBBZ2FpbiBJ IHN1c3BlY3QgdGhpcyBjYW4gYmUgZXhwcmVzc2VkIHZpYSAuaW5zbiwgdGh1cyBlbmRpbmcgdXAg bW9yZSBjbGVhci4NCj4gSSBjYW4gb25seSBzdHJlc3MgYWdhaW4gdGhhdCBvbmUgb2YgdGhlIHJl YXNvbnMgb2YgaW50cm9kdWNpbmcgLmluc24gd2FzIHRvDQo+IHJlZHVjZSB0aGUgbnVtYmVyIG9m IHN1Y2ggZW50aXJlbHkgdW5yZWFkYWJsZSBieXRlIHNlcXVlbmNlcy4NCg0KRG9uZS4NCg0KPiAN Cj4gPiAtLS0gL2Rldi9udWxsDQo+ID4gKysrIGIvZ2FzL3Rlc3RzdWl0ZS9nYXMvaTM4Ni94ODYt NjQtYXB4LW5kZC5zDQo+ID4gQEAgLTAsMCArMSwxNTQgQEANCj4gPiArIyBDaGVjayA2NGJpdCBB UFggTkREIGluc3RydWN0aW9ucyB3aXRoIGV2ZXggcHJlZml4IGVuY29kaW5nDQo+ID4gKw0KPiA+ ICsJLmFsbG93X2luZGV4X3JlZw0KPiA+ICsJLnRleHQNCj4gPiArX3N0YXJ0Og0KPiA+ICtpbmMg ICAgJXJheCwlcmJ4DQo+IA0KPiBQbGVhc2UgY2FuIGluc3RydWN0aW9ucyBiZSBpbmRlbnRlZCBi eSBhIHRhYj8NCj4gDQoNCkRvbmUuDQoNCj4gPiAraW5jICAgICVyMzEsJXI4DQo+ID4gK2luYyAg ICAlcjMxLCVyMTYNCj4gPiArYWRkICAgICVyMzFiLCVyOGIsJXIxNmINCj4gPiArYWRkYiAgICAl cjMxYiwlcjhiLCVyMTZiDQo+ID4gK2FkZCAgICAlcjMxLCVyOCwlcjE2DQo+ID4gK2FkZHEgICAg JXIzMSwlcjgsJXIxNg0KPiA+ICthZGQgICAgJXIzMWQsJXI4ZCwlcjE2ZA0KPiA+ICthZGRsICAg ICVyMzFkLCVyOGQsJXIxNmQNCj4gPiArYWRkICAgICVyMzF3LCVyOHcsJXIxNncNCj4gPiArYWRk dyAgICAlcjMxdywlcjh3LCVyMTZ3DQo+ID4gK3tzdG9yZX0gYWRkICAgICVyMzEsJXI4LCVyMTYN Cj4gPiAre2xvYWR9ICBhZGQgICAgJXIzMSwlcjgsJXIxNg0KPiA+ICthZGQgICAgJXIzMSwoJXI4 KSwlcjE2DQo+ID4gK2FkZCAgICAoJXIzMSksJXI4LCVyMTYNCj4gPiArYWRkICAgIDB4OTA5MCgl cjMxLCVyMTYsMSksJXI4LCVyMTYNCj4gPiArYWRkICAgICVyMzEsKCVyOCwlcjE2LDgpLCVyMTYN Cj4gPiArYWRkICAgICQweDM0LCVyMTNiLCVyMTdiDQo+ID4gK2FkZGwgICAkMHgxMSwoJXIxOSwl cmF4LDQpLCVyMjBkDQo+ID4gK2FkZCAgICAkMHgxMjM0LCVheCwlcjMwdw0KPiA+ICthZGQgICAg JDB4MTIzNDQ0MzMsJXIxNSwlcjE2DQo+ID4gK2FkZHEgICAkMHgxMjM0NDQzMywoJXIxNSwlcmN4 LDQpLCVyMTYNCj4gPiArYWRkICAgICQweGZmZmZmZmZmZjQzMzIyMTEsJXJheCwlcjgNCj4gPiAr ZGVjICAgICVyYXgsJXIxNw0KPiA+ICtkZWNiICAgKCVyMzEsJXIxMiwxKSwlcjhiDQo+ID4gK25v dCAgICAlcmF4LCVyMTcNCj4gPiArbm90YiAgICglcjMxLCVyMTIsMSksJXI4Yg0KPiA+ICtuZWcg ICAgJXJheCwlcjE3DQo+ID4gK25lZ2IgICAoJXIzMSwlcjEyLDEpLCVyOGINCj4gPiArc3ViICAg ICVyMTViLCVyMTdiLCVyMThiDQo+ID4gK3N1YiAgICAlcjE1ZCwoJXI4KSwlcjE4ZA0KPiA+ICtz dWIgICAgKCVyMTUsJXJheCwxKSwlcjE2YiwlcjhiDQo+ID4gK3N1YiAgICAoJXIxNSwlcmF4LDEp LCVyMTZ3LCVyOHcNCj4gPiArc3VibCAgICQweDExLCglcjE5LCVyYXgsNCksJXIyMGQNCj4gPiAr c3ViICAgICQweDEyMzQsJWF4LCVyMzB3DQo+ID4gK3NiYiAgICAlcjE1YiwlcjE3YiwlcjE4Yg0K PiA+ICtzYmIgICAgJXIxNWQsKCVyOCksJXIxOGQNCj4gPiArc2JiICAgICglcjE1LCVyYXgsMSks JXIxNmIsJXI4Yg0KPiA+ICtzYmIgICAgKCVyMTUsJXJheCwxKSwlcjE2dywlcjh3DQo+ID4gK3Ni YmwgICAkMHgxMSwoJXIxOSwlcmF4LDQpLCVyMjBkDQo+ID4gK3NiYiAgICAkMHgxMjM0LCVheCwl cjMwdw0KPiA+ICthZGMgICAgJXIxNWIsJXIxN2IsJXIxOGINCj4gPiArYWRjICAgICVyMTVkLCgl cjgpLCVyMThkDQo+ID4gK2FkYyAgICAoJXIxNSwlcmF4LDEpLCVyMTZiLCVyOGINCj4gPiArYWRj ICAgICglcjE1LCVyYXgsMSksJXIxNncsJXI4dw0KPiA+ICthZGNsICAgJDB4MTEsKCVyMTksJXJh eCw0KSwlcjIwZA0KPiA+ICthZGMgICAgJDB4MTIzNCwlYXgsJXIzMHcNCj4gPiArb3IgICAgICVy MTViLCVyMTdiLCVyMThiDQo+ID4gK29yICAgICAlcjE1ZCwoJXI4KSwlcjE4ZA0KPiA+ICtvciAg ICAgKCVyMTUsJXJheCwxKSwlcjE2YiwlcjhiDQo+ID4gK29yICAgICAoJXIxNSwlcmF4LDEpLCVy MTZ3LCVyOHcNCj4gPiArb3JsICAgICQweDExLCglcjE5LCVyYXgsNCksJXIyMGQNCj4gPiArb3Ig ICAgICQweDEyMzQsJWF4LCVyMzB3DQo+ID4gK3hvciAgICAlcjE1YiwlcjE3YiwlcjE4Yg0KPiA+ ICt4b3IgICAgJXIxNWQsKCVyOCksJXIxOGQNCj4gPiAreG9yICAgICglcjE1LCVyYXgsMSksJXIx NmIsJXI4Yg0KPiA+ICt4b3IgICAgKCVyMTUsJXJheCwxKSwlcjE2dywlcjh3DQo+ID4gK3hvcmwg ICAkMHgxMSwoJXIxOSwlcmF4LDQpLCVyMjBkDQo+ID4gK3hvciAgICAkMHgxMjM0LCVheCwlcjMw dw0KPiA+ICthbmQgICAgJXIxNWIsJXIxN2IsJXIxOGINCj4gPiArYW5kICAgICVyMTVkLCglcjgp LCVyMThkDQo+ID4gK2FuZCAgICAoJXIxNSwlcmF4LDEpLCVyMTZiLCVyOGINCj4gPiArYW5kICAg ICglcjE1LCVyYXgsMSksJXIxNncsJXI4dw0KPiA+ICthbmRsICAgJDB4MTEsKCVyMTksJXJheCw0 KSwlcjIwZA0KPiA+ICthbmQgICAgJDB4MTIzNCwlYXgsJXIzMHcNCj4gPiArcm9yYiAgICglcmF4 KSwlcjMxYg0KPiANCj4gV2hpbGUgdGhlcmUncyBhIGRvYyBwcm9ibGVtIGhlcmUgYXMgd2VsbCwg dGhlIHF1ZXN0aW9uIGhlcmUgYW5kIHRoZXJlIGlzIHRoZQ0KPiBzYW1lOiBXaGljaCBmb3JtIG9m IFJPUiBkb2VzIHRoaXMgcmVwcmVzZW50LCB3aGVuIHRoZSBzaGlmdCBjb3VudCBpc24ndA0KPiBz cGVjaWZpZWQgZXhwbGljaXRseT8gSXQgY291bGQgYmUgJWNsIG9yICQxLiBJIHdvdWxkIHN0cm9u Z2x5IGFkdmlzZSBhZ2FpbnN0DQo+IGludHJvZHVjaW5nIGZ1cnRoZXIgYW1iaWd1b3VzIGluc3Ry dWN0aW9uIHBhdHRlcm5zIGxpa2UgdGhpcywgYW5kIGluc3RlYWQNCj4gZGVtYW5kIHRoYXQgYm90 aCAlY2wgYW5kICQxIGJlIGFsd2F5cyBuYW1lZCBleHBsaWNpdGx5IGFzIG9wZXJhbmRzLg0KPiAN Cg0KRG9uZS4gIEdDQyBhbHNvIGNoYW5nZWQuDQoNCj4gPiArcm9yICAgICQweDIsJXIxMmIsJXIz MWINCj4gPiArcm9ybCAgICQweDIsKCVyYXgpLCVyMzFkDQo+ID4gK3JvcncgICAoJXJheCksJXIz MXcNCj4gPiArcm9yICAgICVjbCwlcjE2YiwlcjhiDQo+ID4gK3JvcncgICAlY2wsKCVyMTksJXJh eCw0KSwlcjMxdw0KPiA+ICtyb2xiICAgKCVyYXgpLCVyMzFiDQo+ID4gK3JvbCAgICAkMHgyLCVy MTJiLCVyMzFiDQo+ID4gK3JvbGwgICAkMHgyLCglcmF4KSwlcjMxZA0KPiA+ICtyb2x3ICAgKCVy YXgpLCVyMzF3DQo+ID4gK3JvbCAgICAlY2wsJXIxNmIsJXI4Yg0KPiA+ICtyb2x3ICAgJWNsLCgl cjE5LCVyYXgsNCksJXIzMXcNCj4gPiArcmNyYiAgICglcmF4KSwlcjMxYg0KPiA+ICtyY3IgICAg JDB4MiwlcjEyYiwlcjMxYg0KPiA+ICtyY3JsICAgJDB4MiwoJXJheCksJXIzMWQNCj4gPiArcmNy dyAgICglcmF4KSwlcjMxdw0KPiA+ICtyY3IgICAgJWNsLCVyMTZiLCVyOGINCj4gPiArcmNydyAg ICVjbCwoJXIxOSwlcmF4LDQpLCVyMzF3DQo+ID4gK3JjbGIgICAoJXJheCksJXIzMWINCj4gPiAr cmNsICAgICQweDIsJXIxMmIsJXIzMWINCj4gPiArcmNsbCAgICQweDIsKCVyYXgpLCVyMzFkDQo+ ID4gK3JjbHcgICAoJXJheCksJXIzMXcNCj4gPiArcmNsICAgICVjbCwlcjE2YiwlcjhiDQo+ID4g K3JjbHcgICAlY2wsKCVyMTksJXJheCw0KSwlcjMxdw0KPiA+ICtzaGxiICAgKCVyYXgpLCVyMzFi DQo+ID4gK3NobCAgICAkMHgyLCVyMTJiLCVyMzFiDQo+ID4gK3NobGwgICAkMHgyLCglcmF4KSwl cjMxZA0KPiA+ICtzaGx3ICAgKCVyYXgpLCVyMzF3DQo+ID4gK3NobCAgICAlY2wsJXIxNmIsJXI4 Yg0KPiA+ICtzaGx3ICAgJWNsLCglcjE5LCVyYXgsNCksJXIzMXcNCj4gPiArc2FyYiAgICglcmF4 KSwlcjMxYg0KPiA+ICtzYXIgICAgJDB4MiwlcjEyYiwlcjMxYg0KPiA+ICtzYXJsICAgJDB4Miwo JXJheCksJXIzMWQNCj4gPiArc2FydyAgICglcmF4KSwlcjMxdw0KPiA+ICtzYXIgICAgJWNsLCVy MTZiLCVyOGINCj4gPiArc2FydyAgICVjbCwoJXIxOSwlcmF4LDQpLCVyMzF3DQo+ID4gK3NobGIg ICAoJXJheCksJXIzMWINCj4gPiArc2hsICAgICQweDIsJXIxMmIsJXIzMWINCj4gPiArc2hsbCAg ICQweDIsKCVyYXgpLCVyMzFkDQo+ID4gK3NobHcgICAoJXJheCksJXIzMXcNCj4gPiArc2hsICAg ICVjbCwlcjE2YiwlcjhiDQo+ID4gK3NobHcgICAlY2wsKCVyMTksJXJheCw0KSwlcjMxdw0KPiA+ ICtzaHJiICAgKCVyYXgpLCVyMzFiDQo+ID4gK3NociAgICAkMHgyLCVyMTJiLCVyMzFiDQo+ID4g K3NocmwgICAkMHgyLCglcmF4KSwlcjMxZA0KPiA+ICtzaHJ3ICAgKCVyYXgpLCVyMzF3DQo+ID4g K3NociAgICAlY2wsJXIxNmIsJXI4Yg0KPiA+ICtzaHJ3ICAgJWNsLCglcjE5LCVyYXgsNCksJXIz MXcNCj4gPiArc2hsZCAgICQweDEsJXIxMiwoJXJheCksJXIzMQ0KPiA+ICtzaGxkICAgJDB4Miwl cjh3LCVyMTJ3LCVyMzF3DQo+ID4gK3NobGQgICAkMHgyLCVyMTVkLCglcmF4KSwlcjMxZA0KPiA+ ICtzaGxkICAgJWNsLCVyOXcsKCVyYXgpLCVyMzF3DQo+ID4gK3NobGQgICAlY2wsJXIxMiwlcjE2 LCVyOA0KPiA+ICtzaGxkICAgJWNsLCVyMTN3LCglcjE5LCVyYXgsNCksJXIzMXcNCj4gPiArc2hy ZCAgICQweDEsJXIxMiwoJXJheCksJXIzMQ0KPiA+ICtzaHJkICAgJDB4Miwlcjh3LCVyMTJ3LCVy MzF3DQo+ID4gK3NocmQgICAkMHgyLCVyMTVkLCglcmF4KSwlcjMxZA0KPiA+ICtzaHJkICAgJWNs LCVyOXcsKCVyYXgpLCVyMzF3DQo+ID4gK3NocmQgICAlY2wsJXIxMiwlcjE2LCVyOA0KPiA+ICtz aHJkICAgJWNsLCVyMTN3LCglcjE5LCVyYXgsNCksJXIzMXcNCj4gPiArYWRjeCAgICVyMTVkLCVy OGQsJXIxOGQNCj4gPiArYWRjeCAgICglcjE1LCVyMzEsMSksJXI4ZCwlcjE4ZA0KPiA+ICthZGN4 ICAgKCVyMTUsJXIzMSwxKSwlcjgNCj4gPiArYWRveCAgICVyMTVkLCVyOGQsJXIxOGQNCj4gPiAr YWRveCAgICglcjE1LCVyMzEsMSksJXI4ZCwlcjE4ZA0KPiA+ICthZG94ICAgKCVyMTUsJXIzMSwx KSwlcjgNCj4gPiArY21vdm8gIDB4OTA5MDkwOTAoJWVheCksJWVkeCwlcjhkDQo+ID4gK2Ntb3Zu byAweDkwOTA5MDkwKCVlYXgpLCVlZHgsJXI4ZA0KPiA+ICtjbW92YiAgMHg5MDkwOTA5MCglZWF4 KSwlZWR4LCVyOGQNCj4gPiArY21vdmFlIDB4OTA5MDkwOTAoJWVheCksJWVkeCwlcjhkDQo+ID4g K2Ntb3ZlICAweDkwOTA5MDkwKCVlYXgpLCVlZHgsJXI4ZA0KPiA+ICtjbW92bmUgMHg5MDkwOTA5 MCglZWF4KSwlZWR4LCVyOGQNCj4gPiArY21vdmJlIDB4OTA5MDkwOTAoJWVheCksJWVkeCwlcjhk DQo+ID4gK2Ntb3ZhICAweDkwOTA5MDkwKCVlYXgpLCVlZHgsJXI4ZA0KPiA+ICtjbW92cyAgMHg5 MDkwOTA5MCglZWF4KSwlZWR4LCVyOGQNCj4gPiArY21vdm5zIDB4OTA5MDkwOTAoJWVheCksJWVk eCwlcjhkDQo+ID4gK2Ntb3ZwICAweDkwOTA5MDkwKCVlYXgpLCVlZHgsJXI4ZA0KPiA+ICtjbW92 bnAgMHg5MDkwOTA5MCglZWF4KSwlZWR4LCVyOGQNCj4gPiArY21vdmwgIDB4OTA5MDkwOTAoJWVh eCksJWVkeCwlcjhkDQo+ID4gK2Ntb3ZnZSAweDkwOTA5MDkwKCVlYXgpLCVlZHgsJXI4ZA0KPiA+ ICtjbW92bGUgMHg5MDkwOTA5MCglZWF4KSwlZWR4LCVyOGQNCj4gPiArY21vdmcgIDB4OTA5MDkw OTAoJWVheCksJWVkeCwlcjhkDQo+ID4gK2ltdWwgICAweDkwOTA5KCVlYXgpLCVlZHgsJXI4ZA0K PiA+ICtpbXVsICAgMHg5MDkoJXJheCwlcjMxLDgpLCVyZHgsJXIyNQ0KPiANCj4gT3ZlcmFsbCB0 aGVyZSdzIGFsc28gYWdhaW4gdGhlIHNvcnRpbmcgY3JpdGVyaWEgcXVlc3Rpb246IFdpdGhvdXQg YW55IHNvcnRpbmcsDQo+IGhvdyBpcyBvbmUgdG8gKGVhc2lseSkgY2hlY2sgZnVsbCBjb3ZlcmFn ZT8NCj4gDQoNCj4gPiAtLS0gYS9vcGNvZGVzL2kzODYtZ2VuLmMNCj4gPiArKysgYi9vcGNvZGVz L2kzODYtZ2VuLmMNCj4gPiBAQCAtNDczLDYgKzQ3Myw3IEBAIHN0YXRpYyBiaXRmaWVsZCBvcGNv ZGVfbW9kaWZpZXJzW10gPQ0KPiA+ICAgIEJJVEZJRUxEIChJbnRlbFN5bnRheCksDQo+ID4gICAg QklURklFTEQgKElTQTY0KSwNCj4gPiAgICBCSVRGSUVMRCAoTm9FZ3ByKSwNCj4gPiArICBCSVRG SUVMRCAoTkYpLA0KPiA+ICB9Ow0KPiANCj4gVGhpcyB3YW50cyBpbnRyb2R1Y2luZyBlYXJsaWVy LCB3aGVuIHRoZSBCTUkgLyBCTUkyIHRlbXBsYXRlcyBhcmUgdG91Y2hlZA0KPiBhbnl3YXkuIEFz IHNhaWQgYmVmb3JlLCBpdCB3b3VsZCBiZSB2ZXJ5IG5pY2UgaWYgd2l0aGluIHN1Y2ggYSBzZXJp ZXMgdGhlIHNhbWUNCj4gcGxhY2VzIHdvdWxkbid0IG5lZWRsZXNzbHkgYmUgdG91Y2hlZCBtb3Jl IHRoYW4gb25jZS4gWW91IGRvbid0IGltcGxlbWVudA0KPiBwYXJzaW5nIG9mIE5GIGhlcmUgYW55 d2F5LCBzbyBob3cgbXVjaCBpbiBhZHZhbmNlIHRoZSBhdHRyaWJ1dGUgaXMgYWRkZWQgdG8NCj4g dGhlIG9wY29kZSB0YWJsZSBpcyByZWFsbHkgaXJyZWxldmFudCwgYW5kIHNob3VsZCBoZW5jZSBi ZSBkb25lIGFzDQo+IGNvbnZlbnRpZW50bHkgYXMgcG9zc2libGUuDQo+IA0KDQpEb25lLg0KDQo+ ID4gLS0tIGEvb3Bjb2Rlcy9pMzg2LW9wYy5oDQo+ID4gKysrIGIvb3Bjb2Rlcy9pMzg2LW9wYy5o DQo+ID4gQEAgLTYzNiw3ICs2MzYsMTAgQEAgZW51bQ0KPiA+ICAgIC8qIEhvdyB0byBlbmNvZGUg VkVYLnZ2dnY6DQo+ID4gICAgICAgMDogVkVYLnZ2dnYgbXVzdCBiZSAxMTExYi4NCj4gPiAgICAg ICAxOiBWRVgudnZ2diBlbmNvZGVzIG9uZSBvZiB0aGUgcmVnaXN0ZXIgb3BlcmFuZHMuDQo+ID4g KyAgICAgMjogVkVYLnZ2dnYgZW5jb2RlcyBhcyB0aGUgZGVzdCByZWdpc3RlciBvcGVyYW5kcy4N Cj4gPiAgICAgKi8NCj4gPiArI2RlZmluZSBWZXhWVlZWX1NSQyAgIDENCj4gPiArI2RlZmluZSBW ZXhWVlZWX0RTVCAgIDINCj4gPiAgICBWZXhWVlZWLA0KPiANCj4gTml0OiBTaW5ndWxhciBpbiB0 aGUgbmV3IGNvbW1lbnQgbGluZSwgcGxlYXNlIChwbHVzIHBlcmhhcHMgZHJvcCAiYXMiKS4NCj4g QW5kICJzb3VyY2UiIHdhbnRzIGFkZGluZyB0byB0aGUgZWFybGllciBjb21tZW50IGxpbmUuDQo+ IA0KDQpEb25lLg0KDQo+ID4gLS0tIGEvb3Bjb2Rlcy9pMzg2LW9wYy50YmwNCj4gPiArKysgYi9v cGNvZGVzL2kzODYtb3BjLnRibA0KPiA+IEBAIC0xMzgsNiArMTM4LDkgQEANCj4gPiAgI2RlZmlu ZSBWc3o1MTIgVnN6PVZTWjUxMg0KPiA+DQo+ID4gICNkZWZpbmUgQVBYX0YgQVBYX0Z8eDY0DQo+ ID4gKyNkZWZpbmUgVmV4VlZWVlNyYyAgVmV4VlZWVj1WZXhWVlZWX1NSQyAjZGVmaW5lIFZleFZW VlZEZXN0DQo+ID4gK1ZleFZWVlY9VmV4VlZWVl9EU1QNCj4gDQo+IEkgZG9uJ3QgdGhpcyB3ZSBu ZWVkIHRoZSBmb3JtZXIuIENvbnRpbnVpbmcgdG8gdXNlIGp1c3QgVmV4VlZWViB0aGVyZSBpcyBn b2luZw0KPiB0byBiZSBxdWl0ZSBmaW5lLCBhbmQgZWFzaWVyIHRvIHJlYWQuIFBsdXMsIEknbSBz b3JyeSB0byBzYXkgaXQgdGhpcyBibHVudGx5LCBpdCBpcw0KPiBlbnRpcmVseSBpbmFwcHJvcHJp YXRlIHRvIGJsb2F0IGFuIGFscmVhZHkgbGFyZ2UgcGF0Y2ggYnkgbWVjaGFuaWNhbGx5DQo+IHJl cGxhY2luZyBWZXhWVlZWIGJ5IHRoaXMgbmV3IGFsaWFzLiBJZiBzdWNoIGEgY2hhbmdlIHdhcyBy ZWFsbHkgd2FudGVkLCBpdA0KPiB3b3VsZCBuZWVkIHNlcGFyYXRpbmcgb3V0IGFzIGFuIGVudGly ZWx5IG1lY2hhbmljYWwgb25lLg0KPiANCg0KUmVtb3ZlZCBWZXhWVlZWX1NSQy4NCg0KPiBGb3Ig dGhlIGxhdHRlciwgdG8gaGVscCByZWFkYWJpbGl0eSwgaG93IGFib3V0IERzdFZWVlY/DQo+IA0K DQpEb25lLg0KDQo+ID4gKw0KPiA+DQo+ID4gIC8vIFRoZSBFVkVYIHB1cnBvc2Ugb2YgU3RhdGlj Um91bmRpbmcgYXBwZWFycyBvbmx5IHRvZ2V0aGVyIHdpdGggU0FFLg0KPiA+IFJlLXVzZSAgLy8g dGhlIGJpdCB0byBtYXJrIGNvbW11dGF0aXZlIFZFWCBlbmNvZGluZ3Mgd2hlcmUgc3dhcHBpbmcN Cj4gPiB0aGUgc291cmNlDQo+IA0KPiBQbGVhc2UgZG9uJ3QgYWRkIHN0cmF5IChlc3BlY2lhbGx5 IGRvdWJsZSkgYmxhbmsgbGluZXMuIEluc3RlYWQgYSBibGFuayBsaW5lDQo+IHdvdWxkIGJlIHdh bnRlZCBfYWhlYWRfIG9mIHRoZSBhZGRpdGlvbi4NCj4gDQoNCkRvbmUuDQoNCj4gPiBAQCAtMTkw LDYgKzE5Myw4IEBAIG1vdiwgMHhmMjEsIGkzODZ8Tm82NCwNCj4gPiBEfFJlZ01lbXxJZ25vcmVT aXplfE5vX2JTdWZ8Tm9fd1N1ZnxOb19zU3VmfE5vX3FTdWYsIHsgRGUgIG1vdiwNCj4gMHhmMjEs DQo+ID4geDY0LCBEfFJlZ01lbXxOb19iU3VmfE5vX3dTdWZ8Tm9fbFN1ZnxOb19zU3VmfE5vUmV4 NjQsIHsgRGVidWcsDQo+IFJlZzY0DQo+ID4gfSAgbW92LCAweGYyNCwgaTM4NnxObzY0LA0KPiA+ IER8UmVnTWVtfElnbm9yZVNpemV8Tm9fYlN1ZnxOb193U3VmfE5vX3NTdWZ8Tm9fcVN1ZiwgeyBU ZXN0LA0KPiBSZWczMiB9DQo+ID4NCj4gPiArLy8gTW92ZSBhZnRlciBzd2FwcGluZyB0aGUgYnl0 ZXMNCj4gPiArbW92YmUsIDB4MGYzOGYwLCBNb3ZiZSwNCj4gRHxNb2RybXxDaGVja09wZXJhbmRT aXplfE5vX2JTdWZ8Tm9fc1N1Ziwgew0KPiA+ICtXb3JkfER3b3JkfFF3b3JkfFVuc3BlY2lmaWVk fEJhc2VJbmRleCwgUmVnMTZ8UmVnMzJ8UmVnNjQgfQ0KPiA+ICAvLyBNb3ZlIGFmdGVyIHN3YXBw aW5nIHRoZSBieXRlcw0KPiA+ICBtb3ZiZSwgMHgwZjM4ZjAsIE1vdmJlLCBEfE1vZHJtfENoZWNr T3BlcmFuZFNpemV8Tm9fYlN1ZnxOb19zU3VmLA0KPiB7DQo+ID4gV29yZHxEd29yZHxRd29yZHxV bnNwZWNpZmllZHxCYXNlSW5kZXgsIFJlZzE2fFJlZzMyfFJlZzY0IH0NCj4gbW92YmUsDQo+ID4g MHg2MCwgTW92YmV8QVBYX0YsDQo+ID4gRHxNb2RybXxDaGVja09wZXJhbmRTaXplfE5vX2JTdWZ8 Tm9fc1N1ZnxFVmV4MTI4fEVWZXhNYXA0LCB7DQo+ID4gUmVnMTZ8UmVnMzJ8UmVnNjR8VW5zcGVj aWZpZWR8QmFzZUluZGV4LCBSZWcxNnxSZWczMnxSZWc2NCB9DQo+IA0KPiBXaGF0IGlzIHRoaXMg YWRkaXRpb24gYWJvdXQ/IFBsZWFzZSBjYW4geW91IGxvb2sgYXQgeW91ciBvd24gcGF0Y2hlcyBi ZWZvcmUNCj4gc2VuZGluZyB0aGVtIG91dD8NCj4gDQoNCkRvbmUuDQoNCj4gPiBAQCAtMjkwLDIy ICsyOTUsMzYgQEAgYWRkLCAweDAsIDAsDQo+ID4gRHxXfENoZWNrT3BlcmFuZFNpemV8TW9kcm18 Tm9fc1N1ZnxITEVQcmVmaXhMb2NrLA0KPiB7IFJlZzh8UmVnMTZ8UmVnMw0KPiA+IGFkZCwgMHg4 My8wLCAwLCBNb2RybXxOb19iU3VmfE5vX3NTdWZ8SExFUHJlZml4TG9jaywgeyBJbW04UywNCj4g PiBSZWcxNnxSZWczMnxSZWc2NHxXb3JkfER3b3JkfFF3b3JkfFVuc3BlY2lmaWVkfEJhc2VJbmRl eCB9ICBhZGQsDQo+IDB4NCwNCj4gPiAwLCBXfE5vX3NTdWYsIHsgSW1tOHxJbW0xNnxJbW0zMnxJ bW0zMlMsDQo+IEFjY3xCeXRlfFdvcmR8RHdvcmR8UXdvcmQgfQ0KPiA+IGFkZCwgMHg4MC8wLCAw LCBXfE1vZHJtfE5vX3NTdWZ8SExFUHJlZml4TG9jaywgew0KPiA+IEltbTh8SW1tMTZ8SW1tMzJ8 SW1tMzJTLA0KPiA+DQo+IFJlZzh8UmVnMTZ8UmVnMzJ8UmVnNjR8Qnl0ZXxXb3JkfER3b3JkfFF3 b3JkfFVuc3BlY2lmaWVkfEJhc2VJbmRlDQo+IHggfQ0KPiA+ICthZGQsIDB4MCwgQVBYX0YsDQo+ ID4NCj4gK0R8V3xDaGVja09wZXJhbmRTaXplfE1vZHJtfE5vX3NTdWZ8VmV4VlZWVkRlc3R8RVZl eDEyOHxFVmV4TWENCj4gcDR8TkYsIHsNCj4gPiArUmVnOHxSZWcxNnxSZWczMnxSZWc2NCwNCj4g Pg0KPiArUmVnOHxSZWcxNnxSZWczMnxSZWc2NHxCeXRlfFdvcmR8RHdvcmR8UXdvcmR8VW5zcGVj aWZpZWR8QmFzZUluZA0KPiBleCwNCj4gPiArUmVnOHxSZWcxNnxSZWczMnxSZWc2NCB9IGFkZCwg MHg4My8wLCBBUFhfRiwNCj4gPg0KPiArTW9kcm18Q2hlY2tPcGVyYW5kU2l6ZXxOb19iU3VmfE5v X3NTdWZ8VmV4VlZWVkRlc3R8RVZleDEyOHxFVmV4DQo+IE1hcDR8Tg0KPiA+ICtGLCB7IEltbThT LA0KPiBSZWcxNnxSZWczMnxSZWc2NHxXb3JkfER3b3JkfFF3b3JkfFVuc3BlY2lmaWVkfEJhc2VJ bmRleCwNCj4gPiArUmVnMTZ8UmVnMzJ8UmVnNjQgfSBhZGQsIDB4ODAvMCwgQVBYX0YsDQo+ID4N Cj4gK1d8TW9kcm18Q2hlY2tPcGVyYW5kU2l6ZXxOb19zU3VmfFZleFZWVlZEZXN0fEVWZXgxMjh8 RVZleE1hcDQNCj4gfE5GLCB7DQo+ID4gK0ltbTh8SW1tMTZ8SW1tMzJ8SW1tMzJTLA0KPiA+DQo+ ICtSZWc4fFJlZzE2fFJlZzMyfFJlZzY0fEJ5dGV8V29yZHxEd29yZHxRd29yZHxVbnNwZWNpZmll ZHxCYXNlSW5kDQo+IGV4LA0KPiA+ICtSZWc4fFJlZzE2fFJlZzMyfFJlZzY0fQ0KPiANCj4gRWFy bGllciByZXZpZXcgY29tbWVudHMgd2VyZSBub3QgYWRkcmVzc2VkLiBJJ2xsIHN0b3AgaGVyZSwg YXMgZmFyIGFzIHRoaXMgZmlsZSBpcw0KPiBjb25jZXJuZWQsIGV4cGVjdGluZyBhIG5ldyB2ZXJz aW9uIHRvIGJlIHNlbnQgYWRkcmVzc2luZyBlYXJsaWVyIGNvbW1lbnRzDQo+IGFuZCBoYXZpbmcg YmVlbiBzYW5pdHkgY2hlY2tlZCBhbmQgaGF2aW5nIHRoZSBib2d1cyBWZXhWVlZWIHJlbmFtaW5n DQo+IGRyb3BwZWQuDQo+IA0KDQogT2suDQoNClRoYW5rcywNCkxpbGkuDQoNCg==