From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by mx.groups.io with SMTP id smtpd.web10.30926.1681882791933357264 for ; Tue, 18 Apr 2023 22:39:52 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=nzvZZXUA; spf=pass (domain: intel.com, ip: 192.55.52.151, mailfrom: dun.tan@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1681882791; x=1713418791; h=from:to:subject:date:message-id:references:in-reply-to: content-transfer-encoding:mime-version; bh=rwNAwjYeBjCnJ/7dpsHlP9pz4sZlwb6YINpY/JhKawM=; b=nzvZZXUAfm2xMKyjnrQhZpRkyU0Hn2MRpLD/qS0dRbiGq200QR1UUadB cSj0v8dd89XlPW3aKDmz5eWF0bXpdQrKckdkWyQtTnlKh8IU5ttb/F9DZ Erc/EnPKkm+CJMZYkx/C474NeXu53KYxtEdFuJDgJ25r2kkTvDdIGDC1u PW4E4AcqUOppA//vO0YOjmNR69XWHnUUZ2pqgUcn1ymSho6aBcqA+lF42 IPm7aTJlTfup34haFRjmofTOZEyDGwmmmGZ0VfiCSX7aA+NvEdrE/oKF9 5kat/9Ds7k8JWpDtfTpkIx7hoUgPzhVMd3J0xfVl9wHBBV3A2KMYu/Kvq g==; X-IronPort-AV: E=McAfee;i="6600,9927,10684"; a="325693353" X-IronPort-AV: E=Sophos;i="5.99,208,1677571200"; d="scan'208";a="325693353" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 Apr 2023 22:39:51 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10684"; a="835149797" X-IronPort-AV: E=Sophos;i="5.99,208,1677571200"; d="scan'208";a="835149797" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by fmsmga001.fm.intel.com with ESMTP; 18 Apr 2023 22:39:50 -0700 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23; Tue, 18 Apr 2023 22:39:50 -0700 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.23 via Frontend Transport; Tue, 18 Apr 2023 22:39:50 -0700 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (104.47.55.103) 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.23; Tue, 18 Apr 2023 22:39:49 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ZO4W6zs3BYI+8GDE6xqhmZ9Ouw4sOEPLLwAYXKjy3NzAMz7Sy+rBbl6j9Q9vEwnolU4LHmGQJs7mbQYcQjUesPn3bxUpMO1il59ZrkqmwhprErTlqRUA3MudY+BycpVMd+8PKniR9ZylWpycXjE0OJQs9RIdfJtj1wMiZWkUYZsLimylq/OFxSVn/j+Pft1RWmoJVfa0MNfl8r0EMN0stNMgNC54HWBWwo5U87rLSVqherf/w1/RQD97P4DVPIr/A4F5BMeAIclGdQnS14uTzrqGRnBVTxND0P1MPfkxBnia4ho7SXpOelX1AvdOwhhBgoFr+CmXf1C5HtJQarXYvQ== 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=rwNAwjYeBjCnJ/7dpsHlP9pz4sZlwb6YINpY/JhKawM=; b=CNm5L8n9Yx/+isuY7LoAwIVxwDd0JQpc+uUTgTSXhJmkm7sgpJEGOpadt3Gv8Y3fkWfceaM4AGt/0+ubTN/rPnYgBBiRb7Uh1DrdxQEyMJoXdBiumU4/Y5ITL0vK/M+/m/qA8duaJKOHXh5RJLvP0sy6vGIRhBeIfrWMpbyng7NrD6Gisb1sQsh3IJnXtAaIVPUrthUo7iyGzqF66F3O9Z/vGXQcyXTiPCb5g3g++cxkhWemdPVMfU9fC3E5lnPxyFqYmme0nQHmIHQQusgbVW3+9uOrjfUrQoTds8prJID1IR21Md6CAUqeN4cwDILZqmbDH/ib7KYZSoepY0PlSw== 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 BN9PR11MB5483.namprd11.prod.outlook.com (2603:10b6:408:104::10) by CH3PR11MB7896.namprd11.prod.outlook.com (2603:10b6:610:131::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6298.30; Wed, 19 Apr 2023 05:39:47 +0000 Received: from BN9PR11MB5483.namprd11.prod.outlook.com ([fe80::1eb1:2222:1823:8e7a]) by BN9PR11MB5483.namprd11.prod.outlook.com ([fe80::1eb1:2222:1823:8e7a%7]) with mapi id 15.20.6298.045; Wed, 19 Apr 2023 05:39:47 +0000 From: "duntan" To: "devel@edk2.groups.io" , "thomas.lendacky@amd.com" , "Ni, Ray" Subject: Re: [edk2-devel] [Patch V2 0/8] Use CpuPageTableLib to create and update smm page table Thread-Topic: [edk2-devel] [Patch V2 0/8] Use CpuPageTableLib to create and update smm page table Thread-Index: AQHZbRyoGhev/k0Lh0ak5MT8foi7/q8nX/cggACu7wCAALRekIAAqcYAgADTs3CAAJNVAIAAOr8OgAAfEgCABaY98IAAxNaAgAB0T9A= Date: Wed, 19 Apr 2023 05:39:47 +0000 Message-ID: References: <1755241E6695EAE7.1885@groups.io> <2301e275-1f69-e5c0-997d-d967264aa590@amd.com> <4c5afff9-39b6-6f3a-ce05-0aadb8b004b9@amd.com> In-Reply-To: Accept-Language: zh-CN, 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: BN9PR11MB5483:EE_|CH3PR11MB7896:EE_ x-ms-office365-filtering-correlation-id: e63b5599-abb2-445e-9448-08db40987c77 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: ymaSju+u79JjYpXSRFT9kVDNojLb47uqQKgwlf0BFJp3eY3rFe6YDjdZc5T+3UN8exVYL2Jy1D2VdsgirnOm97ZWefIz9SiESIr633YEVszdpLkeaX/jR1Pi3Zn3eP6xKemRIYoRPTtSDeO3OjeQ28gyfNMJBIRQha2IAefIAcGUzXIwnMzLvrAZyVNGXvACa4sJ4XFCoCMP5UMMIaj6nqtjq6tipQbGvZ6HBvb0zMX6IknHZ4nvGG8E0QxX0BEdpu177BBBGAdC8uGOmyqdm2EqBa/avAeOA6znaKBUpUoSud4Rcxkhrvf4DJdcUQ4RhiH+439vnYWWespTBq4bpYj4wl2qj/aCbI1RLoM05lap+2pCNNvbzl3ck7sbvHNMnhyIlp14QMNbT2ODS8XANDFSd82HWrg8SgzQRACJc7DEVhYSPVqOnQGY7Vm/XerUSYKkzzgqoleQ4anUf3nUiwWJh37BPNbL2Y39UV+pdNGNC6PR9aLu1pUl6UMAxzCeuQS++PxqhIBjQxqwLlPBRrlTUuyxbI50i37/qyE4BTNPZ4E3Wq6cJKPLkz744mf+wePXA0WgD+WDT+3DFfaFp7w6Nwkz+R9SUV4aSS0XH4yU4v6t6ZgSaghZEA6MQh1MKzHc4BV6QenrUE3wDV/YNB4vA2dKhqCZrkAMS32J004= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN9PR11MB5483.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(396003)(136003)(39860400002)(346002)(366004)(376002)(451199021)(52536014)(66446008)(33656002)(86362001)(2906002)(38070700005)(66899021)(55016003)(7696005)(6506007)(9686003)(26005)(83380400001)(186003)(53546011)(71200400001)(966005)(30864003)(66556008)(76116006)(478600001)(64756008)(66476007)(66946007)(82960400001)(38100700002)(122000001)(41300700001)(110136005)(6636002)(316002)(5660300002)(8676002)(19627235002)(15650500001)(8936002)(44824005);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?R0s0ZmVDN2xORUhsdkhnR2VwLzdxRTZub3VYU2RJSE1rY0thbkFUSmNrRGI1?= =?utf-8?B?WDZwcXJmZVJsdFhnY1pVNkhPZHJyL1FCNjVIT3N4ZUNoRzRoeDJkUkM4ZCtP?= =?utf-8?B?MzZrajV3T1p3LzBQYnZLbVlTSE9JVHdqUzZyRnZRdG1lTks3T3RnYjlNem1r?= =?utf-8?B?YzJFSTN0T2lqODk0RWF2aVk3Yzg0ajVYUlJ5RE9rVlNLaENCUHdKcmlyWm5T?= =?utf-8?B?NlFCaVM5d096eGZnVytPOWZSZVp6Wko3TWVaZFRUTGdWTkJxT3JEN3AxcThY?= =?utf-8?B?TTF1THBkdmd0VDAxQk1tNmVWUk5YV2dBREE5d0VRQXQ1WncyMGtETktWMENH?= =?utf-8?B?UlJrdTJYeEcydlFjbUwrRkNON2oyUWY3MzhDdncxTG1mNlQvN2hLbFlWNkZn?= =?utf-8?B?aEtCYlh0M3cwU3dHcnI0UXF6SEVzQmpYMUFwZzN2Q3FYSm1URUVGbVBFZko2?= =?utf-8?B?T1MzdENCVHh2bHllRVA3cVNjWlY0bm82RVRJTlc3M3JOdHBYL0RMY0FtVWRn?= =?utf-8?B?TmxSK2pDbitTSjBlTzh5LzMrZUtTL0dTTnlyOXFqb1BlS29HdmgwK2ZaZGVW?= =?utf-8?B?OGY2NVhTMVNzbDJzTndrYXowamtFS1BySzE1ZjZjZEV1S09FKzFodFljck54?= =?utf-8?B?eWhhNjdtMDJHU1lUSEEwYWtKcEtzM0VUZWpzT3RUOUd3T2QyaTF2eitkZU81?= =?utf-8?B?aGxwQWFYVEVoZytUSnBQcXJ1N2twT2FpK0ZyZ1lpL05SNVRzeWxXdXhyZUpJ?= =?utf-8?B?L1N4UCtTVEI1clFQWHR1Y3FQODVkZ2gzSVNNUjMxQ2JsbGV6T2dLUjRqSnFC?= =?utf-8?B?Z2o4RncxOFlXUE0wWGtYS3FYUlNJNTVrK0lVNFZ2YWMvVWJWeXlrQldyTHFt?= =?utf-8?B?cFNBTlBLUVNzbmxrWEVTcXh6M0tBL0lSNGF1NjVRUlNaWGRRdm9xVnFIK29P?= =?utf-8?B?MmFxQ0xmYW50SDhiN0dDV0psYSt2eXVMeE80NVJVM3NUMllUSHNqSGFvaG4x?= =?utf-8?B?THQvUmw0c2Z4bFdPSm50MUNPdVNHbWpzOTdpbDdCVVdsQVlIdHArcnJtbldH?= =?utf-8?B?WlZvdDN1Y0ZDTEJSTk1kekR6dHhqZGFZTjZSZVJVUHQ1a0YwZkkxcVgxcmlZ?= =?utf-8?B?aFRnU1cycEE3eUwxM2NRcVNYbGRrUG81YWtKSnV2R0Ewb3RndHlQazlndzJj?= =?utf-8?B?UHRkbm80eCs2Y1lGM0syYUZEQXpESUlxTWlESFFPNEZPMEhPWi9tUEN5bGlN?= =?utf-8?B?enl1M0xLME5OUExYaDNxZy9GSFBvenNYQmZFQkg1YVNOdUlSYlpXcU1EWnZn?= =?utf-8?B?enJ6TnJNZlZZVEZlVzZGcXhPYW1RbCtkbndlbUt4SjFRM1lqb0FqUmloR0xn?= =?utf-8?B?T1hKVzY0ajFqUnowWEZGQXFkT0ozalhMbWJyQWp4YWNBYURuQkV5ZnBLcEdU?= =?utf-8?B?dWVWWkRPalJwSnRLL0JSMDZRcE8xcGlxT0RtSWZCajlnQ2pRQkVMK1M0RWFL?= =?utf-8?B?WUFxTFpSOHFibTRCZ1c3UWRmZm5TUWp4ek85UEt3RS9oNkN2S3VvNnRTSjli?= =?utf-8?B?eHNTNXljMEZqTEVzK2lLRWJSM0d0TGRBdjhTV2NaZlpwOFh2UDhqeDJ4TDNq?= =?utf-8?B?MGtGYThuTjlvVnF5dHg2YWJxM0tnSW94V2tsVFNmb2NFYU85NnY1THNWYlg1?= =?utf-8?B?L0FmUWlBdFQ2VEl0NTBOdzFQa3lwZGJ6M3hSNnFTRnlDSXo1QVVwbDlieXB0?= =?utf-8?B?NmlLanZxWmZDRW1QdjFSKzVLSTErK3VGSmhIRk5ZM0grK1p1cFdvYmQ5L1RO?= =?utf-8?B?M21hWUZURExscDRTSittaC9kOHJ5OHdrcXo3b2d6U3I2K2d5ZFZLWEozbGJQ?= =?utf-8?B?NUxVM0p2L2tsazd0ait1NC9zNDlvZE1obmJDYkFmdlRWYVI1dkptaFEwemVV?= =?utf-8?B?WmhUb3kwYXBYbS9tWEpRMVhuRUE0azB5OEhIRHVJRDVXbmNhZ2drQTU5dEJr?= =?utf-8?B?WmlMSXdlS2xTU0cxOUZGUmJRblRZVklKSHo4Q3FVMU1IVVg2eEhqZ09TcGxR?= =?utf-8?B?T0E1WTVIZGsvUm1ZNTFGay9mUDZFbk5pbW1hbm1yaEdZU3JSb1Z2N0FBWTV3?= =?utf-8?Q?aUuw=3D?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BN9PR11MB5483.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: e63b5599-abb2-445e-9448-08db40987c77 X-MS-Exchange-CrossTenant-originalarrivaltime: 19 Apr 2023 05:39:47.0387 (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: a8AavwOgU7xO1M85g4KO7oVxPBf4dyJGwuqmRaUub3uXr/Ez4zad30qmIBQCtolB2MKMalK0oOIf1MGo0AfmkQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR11MB7896 Return-Path: dun.tan@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGkgVG9tLA0KDQpUaGlzIFBGIGhhcHBlbmVkIGJlY2F1c2UgdGhhdCAgQ1IwLldQIGlzIHNldCBh bmQgRHhlTWVtRW5jcnlwdFNldkxpYiBzZXRzIGEgcGFydCBvZiBzbW0gcGFnZSB0YWJsZSBhcyBS TyBiZWZvcmUgUmVhZHlUb0xvY2sgd2hpbGUgQ3B1U21tIGRyaXZlciBhc3N1bWVzIHRoZSBzbW0g cGFnZSB0YWJsZSBpcyBub3QgbWFya2VkIGFzIFJPIGJlZm9yZSBSZWFkeVRvTG9jay4NClRoZSBj b2RlIGZsb3cgdG8gc2V0IHNtbSBwYWdlIHRhYmxlIHRvIFJPIGlzIFFlbXVGbGFzaEJlZm9yZVBy b2JlKCktLT5NZW1FbmNyeXB0U2V2Q2xlYXJNbWlvUGFnZUVuY01hc2soKS0tPlNldE1lbW9yeUVu Y0RlYygpLS0+RW5hYmxlUGFnZVRhYmxlUHJvdGVjdGlvbigpLiBOZXcgcGFnZSB0YWJsZSBtZW1v cnkgYWxsb2NhdGVkIGJ5IER4ZU1lbUVuY3J5cHRTZXZMaWIgaXMgbWFya2VkIGFzIFJPIGluIEVu YWJsZVBhZ2VUYWJsZVByb3RlY3Rpb24oKS4gSG93ZXZlciwgSW4gUGlTbW1DcHVEeGVTbW0gSW5p dFBhZ2luZygpIGZ1bmN0aW9uLCB0aGUgUk8gcGFnZSB0YWJsZSBtYXJrZWQgYnkgIER4ZU1lbUVu Y3J5cHRTZXZMaWIgbWF5IGJlIG1vZGlmaWVkIGFnYWluIGFuZCBJbml0UGFnaW5nKCkgZnVuY3Rp b24gZG9lc24ndCBjbGVhciBDUjAuV1AgaW4gYWR2YW5jZSBzaW5jZSBpdCBoYXMgdGhlIGFzc3Vt cHRpb24gdGhhdCBzbW0gcGFnZSB0YWJsZSBtZW1vcnkgaXMgYWx3YXlzIFJXIGJlZm9yZSBTZXRQ YWdlVGFibGVBdHRyaWJ1dGVzKCksIHdoaWNoIGNhdXNlcyB0aGlzIFBGLiANClNvIENvdWxkIHlv dSBwbGVhc2UgaGVscCB0ZXN0IHRoZSBTRVYgZW5hYmxlZCBzbW0gY29kZSB3aXRob3V0IG15IHBh dGNoIHNldD8gSSB0aGluayB0aGlzIGlzc3VlIG1heSBhbHNvIGhhcHBlbiBpbiBjdXJyZW50IGVk azIgY29kZS4NCg0KVGhhbmtzLA0KRHVuDQotLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KRnJv bTogZGV2ZWxAZWRrMi5ncm91cHMuaW8gPGRldmVsQGVkazIuZ3JvdXBzLmlvPiBPbiBCZWhhbGYg T2YgTGVuZGFja3ksIFRob21hcyB2aWEgZ3JvdXBzLmlvDQpTZW50OiBXZWRuZXNkYXksIEFwcmls IDE5LCAyMDIzIDU6MDYgQU0NClRvOiBUYW4sIER1biA8ZHVuLnRhbkBpbnRlbC5jb20+OyBkZXZl bEBlZGsyLmdyb3Vwcy5pbzsgTmksIFJheSA8cmF5Lm5pQGludGVsLmNvbT4NClN1YmplY3Q6IFJl OiBbZWRrMi1kZXZlbF0gW1BhdGNoIFYyIDAvOF0gVXNlIENwdVBhZ2VUYWJsZUxpYiB0byBjcmVh dGUgYW5kIHVwZGF0ZSBzbW0gcGFnZSB0YWJsZQ0KDQpPbiA0LzE4LzIzIDA0OjU3LCBUYW4sIER1 biB3cm90ZToNCj4gSGkgVG9tLA0KPiANCj4gSSBhZGRlZCBhIG5ldyBwYXRjaCBpbiBteSBjb2Rl IGJyYW5jaC4gVGhpcyBuZXcgcGF0Y2ggcmVtb3ZlcyB0aGUgY29kZSB0aGF0IG1heSBhcHBseSBB ZGRyZXNzRW5jTWFzayB0byBzbW0gcGFnZSB0YWJsZSBub24tbGVhZiBlbnRyaWVzIHdoZW4gc3Bs aXR0aW5nIHBhZ2UgdGFibGUuDQo+IENvdWxkIHlvdSBwbGVhc2UgaGVscCB0ZXN0IGlmIHRoaXMg Y29kZSBicmFuY2ggd29ya3M/DQo+IGh0dHBzOi8vZ2l0aHViLmNvbS90ZDM2L2VkazIvdHJlZS9T bW1QYWdlVGFibGVfVjINCg0KSXQgZ290IGZ1cnRoZXIsIGJ1dCBpdCBzdGlsbCBjcmFzaGVkOg0K DQpTbW1JbnN0YWxsUHJvdG9jb2xJbnRlcmZhY2U6IDQ3QjdGQThDLUY0QkQtNEFGNi04MjAwLTMz MzA4NkYwRDJDOCAwIEdldFVlZmlNZW1vcnlNYXAgUGF0Y2ggcGFnZSB0YWJsZSBzdGFydCAuLi4N CiEhISEgWDY0IEV4Y2VwdGlvbiBUeXBlIC0gMEUoI1BGIC0gUGFnZS1GYXVsdCkgIENQVSBBcGlj IElEIC0gMDAwMDAwMDAgISEhIQ0KRXhjZXB0aW9uRGF0YSAtIDAwMDAwMDAwMDAwMDAwMDMgIEk6 MCBSOjAgVTowIFc6MSBQOjEgUEs6MCBTUzowIFNHWDowIFJJUCAgLSAwMDAwMDAwMDNGRkM3NzQ0 LCBDUyAgLSAwMDAwMDAwMDAwMDAwMDM4LCBSRkxBR1MgLSAwMDAwMDAwMDAwMDEwMDgyIFJBWCAg LSAwMDAwMDAwMEZGRkZGRjgzLCBSQ1ggLSAwMDAwMDAwMDNGRkI1Qzc4LCBSRFggLSAwMDAwMDAw MDAwMDAwMDAwIFJCWCAgLSAwMDAwMDAwMDNGQzAxMDAwLCBSU1AgLSAwMDAwMDAwMDNGRkI0Nzkw LCBSQlAgLSAwMDAwMDAwMDNGRkI0N0IwIFJTSSAgLSAwMDAwMDAwMDNGQzAxMDAwLCBSREkgLSAw MDAwMDAwMDAwMDAwMDAwDQpSOCAgIC0gMDAwMDAwMDAzRkZCNDg0MCwgUjkgIC0gMDAwMDAwMDAw MDAwMDAwMiwgUjEwIC0gMDAwMDAwMDAwMDAwMDAwMA0KUjExICAtIDAwMDAwMDAwMDAwMDAwMDAs IFIxMiAtIDAwMDAwMDAwM0ZGQjVDNzgsIFIxMyAtIDAwMDAwMDAwM0ZGQjQ4NDANClIxNCAgLSAw MDAwMDAwMDgwMDAwMDAwLCBSMTUgLSAwMDAwMDAwMDAwMDAwMDAwDQpEUyAgIC0gMDAwMDAwMDAw MDAwMDAyMCwgRVMgIC0gMDAwMDAwMDAwMDAwMDAyMCwgRlMgIC0gMDAwMDAwMDAwMDAwMDAyMA0K R1MgICAtIDAwMDAwMDAwMDAwMDAwMjAsIFNTICAtIDAwMDAwMDAwMDAwMDAwMjANCkNSMCAgLSAw MDAwMDAwMDgwMDEwMDMzLCBDUjIgLSAwMDAwMDAwMDNGQzAxMDAwLCBDUjMgLSAwMDAwMDAwMDNG RjgxMDAwDQpDUjQgIC0gMDAwMDAwMDAwMDAwMDY2OCwgQ1I4IC0gMDAwMDAwMDAwMDAwMDAwMA0K RFIwICAtIDAwMDAwMDAwMDAwMDAwMDAsIERSMSAtIDAwMDAwMDAwMDAwMDAwMDAsIERSMiAtIDAw MDAwMDAwMDAwMDAwMDANCkRSMyAgLSAwMDAwMDAwMDAwMDAwMDAwLCBEUjYgLSAwMDAwMDAwMEZG RkYwRkYwLCBEUjcgLSAwMDAwMDAwMDAwMDAwNDAwIEdEVFIgLSAwMDAwMDAwMDNGRkFDMDAwIDAw MDAwMDAwMDAwMDAwNEYsIExEVFIgLSAwMDAwMDAwMDAwMDAwMDAwDQpJRFRSIC0gMDAwMDAwMDAz RkZBRjAwMCAwMDAwMDAwMDAwMDAwMUZGLCAgIFRSIC0gMDAwMDAwMDAwMDAwMDA0MA0KRlhTQVZF X1NUQVRFIC0gMDAwMDAwMDAzRkZCMEM2MA0KU01NIGV4Y2VwdGlvbiBhdCBhY2Nlc3MgKDB4M0ZD MDEwMDApDQpJdCBpcyBpbnZva2VkIGZyb20gdGhlIGluc3RydWN0aW9uIGJlZm9yZSBJUCgweDNG RkM3NzQ0KSBpbiBtb2R1bGUgKC9yb290L2tlcm5lbHMvb3ZtZi1kdW4tYnVpbGQtSWEzMlg2NC9C dWlsZC9Pdm1mMzI2NC9ERUJVR19HQ0M1L1g2NC9VZWZpQ3B1UGtnL1BpU21tQ3B1RHhlU21tL1Bp U21tQ3B1RHhlU20NCm0vREVCVUcvUGlTbW1DcHVEeGVTbW0uZGxsKQ0KDQoNClRoYW5rcywNClRv bQ0KDQo+IA0KPiBUaGFua3MsDQo+IER1bg0KPiANCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0t LS0NCj4gRnJvbTogZGV2ZWxAZWRrMi5ncm91cHMuaW8gPGRldmVsQGVkazIuZ3JvdXBzLmlvPiBP biBCZWhhbGYgT2YgDQo+IExlbmRhY2t5LCBUaG9tYXMgdmlhIGdyb3Vwcy5pbw0KPiBTZW50OiBT YXR1cmRheSwgQXByaWwgMTUsIDIwMjMgMzowNSBBTQ0KPiBUbzogZGV2ZWxAZWRrMi5ncm91cHMu aW87IE5pLCBSYXkgPHJheS5uaUBpbnRlbC5jb20+OyBUYW4sIER1biANCj4gPGR1bi50YW5AaW50 ZWwuY29tPg0KPiBTdWJqZWN0OiBSZTogW2VkazItZGV2ZWxdIFtQYXRjaCBWMiAwLzhdIFVzZSBD cHVQYWdlVGFibGVMaWIgdG8gY3JlYXRlIA0KPiBhbmQgdXBkYXRlIHNtbSBwYWdlIHRhYmxlDQo+ IA0KPiBPbiA0LzE0LzIzIDEyOjE5LCBOaSwgUmF5IHZpYSBncm91cHMuaW8gd3JvdGU6DQo+PiB0 b20sDQo+PiBpZiB0aGUgYyBiaXQgaXMgbm90IHJlcXVpcmVkIGZvciBub24gbGVhZiBwYWdlIHRh YmxlIGVudHJpZXMsIHdoeSB0aGUgdHJ1bmsgY29kZSBzZXRzIHRoZSBjIGJpdCBmb3IgYWxsIGVu dGl0aWVzIGluY2x1ZGluZyBub25sZWFmIG9uZXM/DQo+IA0KPiBCZWNhdXNlIGl0J3MgZWZmZWN0 aXZlbHkgdGhlIGNvcnJlY3QgdGhpbmcgdG8gZG8sIGV2ZW4gdGhvdWdoIGl0IGRvZXNuJ3QgbWF0 dGVyLg0KPiANCj4+DQo+PiBpIHdlbnQgYmFjayB0byByZWFkIGFnYWluIHRoZSBzbW0gaXNzdWUg eW91IG1ldC4geW91IHNhaWQgdGhlIGMgYml0IGlzIHNldCBmb3Igbm9uIGxlYWYgZW50cmllcyB0 aGF0IGNhdXNlZCBhIGRlZmVyZW5jZSBpc3N1ZS4gQnV0IHRoZSBwYWdldGFibGVsaWIgY29kZSBk b2Vzbid0IHNldCBjIGJpdCB0byBub24gbGVhZiBlbnRyaWVzLiB0aGVuIHdobyBzZXRzIHRoZSBj IGJpdD8NCj4gDQo+IEkgZ3Vlc3MgdGhhdCdzIHRoZSBtYWluIHF1ZXN0aW9uLCBob3cgZGlkIHRo YXQgZ2V0IHNldD8gSSBoYXZlbid0IGhhZCB0aGUgdGltZSB0byBmdWxseSBleGFtaW5lIGFuZCBm b2xsb3cgdGhlIGNvZGVwYXRoIGluIHRoZSBwYWdldGFibGUgbGlicmFyeSB0byBmaWd1cmUgb3V0 IHdoeSBpdCB3YXMgc2V0LiBNYXliZSBhcyBwYXJ0IG9mIGEgcGFnZSBzcGxpdD8NCj4gDQo+IFRo YW5rcywNCj4gVG9tDQo+IA0KPj4NCj4+IHRoYW5rcywNCj4+IHJheQ0KPj4NCj4+IHRoYW5rcywN Cj4+IHJheQ0KPj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCj4+IEZyb206IGRl dmVsQGVkazIuZ3JvdXBzLmlvIDxkZXZlbEBlZGsyLmdyb3Vwcy5pbz4gb24gYmVoYWxmIG9mIA0K Pj4gTGVuZGFja3ksIFRob21hcyB2aWEgZ3JvdXBzLmlvIDx0aG9tYXMubGVuZGFja3k9YW1kLmNv bUBncm91cHMuaW8+DQo+PiBTZW50OiBGcmlkYXksIEFwcmlsIDE0LCAyMDIzIDk6NDM6NTIgUE0N Cj4+IFRvOiBOaSwgUmF5IDxyYXkubmlAaW50ZWwuY29tPjsgVGFuLCBEdW4gPGR1bi50YW5AaW50 ZWwuY29tPjsgDQo+PiBkZXZlbEBlZGsyLmdyb3Vwcy5pbyA8ZGV2ZWxAZWRrMi5ncm91cHMuaW8+ DQo+PiBTdWJqZWN0OiBSZTogW2VkazItZGV2ZWxdIFtQYXRjaCBWMiAwLzhdIFVzZSBDcHVQYWdl VGFibGVMaWIgdG8gDQo+PiBjcmVhdGUgYW5kIHVwZGF0ZSBzbW0gcGFnZSB0YWJsZQ0KPj4NCj4+ IE9uIDQvMTQvMjMgMDA6MDcsIE5pLCBSYXkgd3JvdGU6DQo+Pj4NCj4+Pg0KPj4+PiAtLS0tLU9y aWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPj4+PiBGcm9tOiBUb20gTGVuZGFja3kgPHRob21hcy5sZW5k YWNreUBhbWQuY29tPg0KPj4+PiBTZW50OiBGcmlkYXksIEFwcmlsIDE0LCAyMDIzIDEyOjE5IEFN DQo+Pj4+IFRvOiBUYW4sIER1biA8ZHVuLnRhbkBpbnRlbC5jb20+OyBkZXZlbEBlZGsyLmdyb3Vw cy5pbw0KPj4+PiBDYzogTmksIFJheSA8cmF5Lm5pQGludGVsLmNvbT4NCj4+Pj4gU3ViamVjdDog UmU6IFtlZGsyLWRldmVsXSBbUGF0Y2ggVjIgMC84XSBVc2UgQ3B1UGFnZVRhYmxlTGliIHRvIA0K Pj4+PiBjcmVhdGUgYW5kIHVwZGF0ZSBzbW0gcGFnZSB0YWJsZQ0KPj4+Pg0KPj4+PiBPbiA0LzEz LzIzIDA0OjE0LCBUYW4sIER1biB3cm90ZToNCj4+Pj4+IEhpIFRvbSwNCj4+Pj4+DQo+Pj4+PiBU aGFuayB5b3UgZm9yIHlvdXIgaGVscCB3aXRoIHRlc3RpbmcuDQo+Pj4+PiBGb3IgdGhlIGJ1aWxk IGZhaWx1cmUsIGl0J3MgYmVjYXVzZSB0aGF0IHRoZSBDcHVQYWdlVGFibGVMaWIgDQo+Pj4+PiBp bnN0YW5jZSBpcw0KPj4+PiBhZGRlZCBpbnRvIE92bWZQa2cgRFNDIGluIHRoZSBsYXN0IHBhY3Ro ICcgT3ZtZlBrZzogQWRkIA0KPj4+PiBDcHVQYWdlVGFibGVMaWIgcmVxdWlyZWQgYnkgUGlTbW1D cHVEeGUnLiBJIGhhdmUgbW92ZWQgdGhpcyBwYXRjaCANCj4+Pj4gdG8gdGhlIGhlYWQgb2YgdGhl IHBhdGNoIHNldC4NCj4+Pj4+DQo+Pj4+PiBGb3IgdGhlIGJvb3QgZmFpbHVyZSwgSSB0aGluayBp dCdzIGJlY2F1c2UgdGhhdCB0aGUgZW5jcnlwdCBtYXNrIA0KPj4+Pj4gd2FzIG5vdA0KPj4+PiBh cHBsaWVkIHRvIHRoZSBtZW1vcnkgdXNlZCBieSBwYWdlIHRhYmxlIGluIHBhZ2UgdGFibGUgbm9u LWxlYWYgZW50cnkuDQo+Pj4+IEluaXRpYWxseSBJIHRob3VnaHQgdGhlIGVuY3J5cHQgbWFzayB3 b3VsZCBvbmx5IGJlIGFwcGxpZWQgdG8gdGhlIA0KPj4+PiBsZWFmIGVudHJ5IGluIEFNRCBTRVYg ZmVhdHVyZS4gU28gSSB0cmVhdGVkIHRoZSBlbmNyeXB0aW9uIHByb2Nlc3MgDQo+Pj4+IGFzIG5v biAxOjEgbWFwcGluZywgd2hpY2ggb25seSBhcHBsaWVzIHRoZSBlbmNyeXB0IG1hc2sgdG8gbGVh ZiANCj4+Pj4gZW50cnkuIEknbSBhbHNvIGN1cmlvdXMgd2h5IHRoZSBEeGVJcGwgcGF0Y2ggc2V0 IHdvcmtzIGdvb2QuIEFsbCANCj4+Pj4gdGhlIHBhZ2UgdGFibGUgbm9uLWxlYWYgZW50cmllcyBh cmUgYWxzbyBub3QgZW5jcnlwdGVkIGluIHRoZSBEeGVJcGwgcGFnZSB0YWJsZSByZWxhdGVkIHBh dGNoIHNldC4NCj4+Pj4NCj4+Pj4gUmlnaHQsIGFuZCB0aGF0IHdvcmtzIGZvciBTRVYuIEFsbCBu b24tbGVhZiBwYWdldGFibGUgZW50cmllcyBhcmUgDQo+Pj4+IHRyZWF0ZWQgYXMgZW5jcnlwdGVk IHJlZ2FyZGxlc3Mgb2YgdGhlIGVuY3J5cHRpb24gYml0LiBTaW5jZSB0aGUgDQo+Pj4+IHRhYmxl cyB3ZXJlIGJ1aWx0IGJlaW5nIG1hcHBlZCBlbmNyeXB0ZWQsIHRoZSBwYWdldGFibGUgd2FsayB3 b3JrcyANCj4+Pj4gd2hlbiB0aGUgbm9uLWxlYWYgZW50cmllcyBkb24ndCBoYXZlIHRoZSBlbmNy eXB0aW9uIGJpdCBzZXQuIEluIA0KPj4+PiB0aGlzIGNhc2UsIHRob3VnaCwgdGhlIGVuY3J5cHRp b24gYml0IGlzIHByZXNlbnQgaW4gdGhlIG5vbi1sZWFmIA0KPj4+PiBlbnRyeSBhbmQgdGhhdCBp cyB0aGUgcmVhc29uIHdoeSB0aGVyZSBhcmUgaXNzdWVzLg0KPj4+DQo+Pj4gQ2FuIHlvdSBwb2lu dCB1cyB3aGljaCBkb2MgaGVyZQ0KPj4+IChodHRwczovL3d3dy5hbWQuY29tL2VuL2RldmVsb3Bl ci9zZXYuaHRtbCkNCj4+PiBzYXlzIHRoZSBwYWdlIHRhYmxlIGlzIGVuY3J5cHRlZCByZWdhcmRs ZXNzIHRoZSBLRVlfSUQgYml0cyB2YWx1ZT8NCj4+PiBIb3cgY2FuIHRoZSBlbmNyeXB0aW9uIGVu Z2luZSBrbm93IGlmIGEgY2h1bmsgb2YgbWVtb3J5IGJlbG9uZ3MgdG8gcGFnZSB0YWJsZT8NCj4+ DQo+PiBJdCBkb2Vzbid0LiBGb3IgYW4gU0VWIGd1ZXN0LCB3aGVuIHRoZSBoYXJkd2FyZSB3YWxr cyB0aGUgcGFnZXRhYmxlcywgDQo+PiBpdCB3aWxsIGFsd2F5cyB0cmVhdCB0aGUgbWVtb3J5IGFj Y2Vzc2VzIGFzIGVuY3J5cHRlZCAoc2VlIHNlY3Rpb24NCj4+IDE1LjM0LjUgb2YgdGhlIEFNRCBB UE0gVm9sIDIgYXQgaHR0cHM6Ly93d3cuYW1kLmNvbS9zeXN0ZW0vZmlsZXMvVGVjaERvY3MvMjQ1 OTMucGRmKS4NCj4+DQo+PiBCdXQsIGJlY2F1c2UgdGhlIGluaXRpYWwgcGFnZXRhYmxlcyB0aGF0 IGFyZSBidWlsdCB0byBtYXAgZXZlcnl0aGluZyANCj4+IGFzIGVuY3J5cHRlZC9wcml2YXRlIHRv IHN0YXJ0IHdpdGggKHNlZSANCj4+IE92bWZQa2cvUmVzZXRWZWN0b3IvSWEzMi9QYWdlVGFibGVz NjQuYXNtKSwgb25seSBjaGFuZ2luZyB0byBzaGFyZWQgDQo+PiB3aGVuIHNwZWNpZmljYWxseSBy ZXF1ZXN0ZWQsIGFueSBtZW1vcnkgYWxsb2NhdGVkIGFuZCB1c2VkIHdpbGwgYmUgZW5jcnlwdGVk Lg0KPj4gVGh1cywgd2hlbiBuZXcgcGFnZXRhYmxlcyBhcmUgYWxsb2NhdGVkL2NyZWF0ZWQgaW4g dGhlIA0KPj4gQ3B1UGFnZVRhYmxlTGliIGxpYnJhcnksIHRoZXkgd2lsbCBiZSBlbmNyeXB0ZWQg YW5kIHNvIGV2ZXJ5dGhpbmcgDQo+PiB3b3Jrcy4gQW5kIHRob3NlIG5ldyBwYWdldGFibGVzIHdp bGwgbWFwIGV2ZXJ5dGhpbmcgZW5jcnlwdGVkIGJ5IA0KPj4gZGVmYXVsdCwgZXhjZXB0IGZvciB0 aGUgR0hDQiBwYWdlcy4gSWYgdGhleSB3ZXJlIG1hcHBlZCBzaGFyZWQgd2hlbiANCj4+IHRoZXkg d2VyZSBjcmVhdGVkLCB0aGVuIHRoZSBwYWdldGFibGUgd2FsayB3b3VsZCBmYWlsLg0KPj4NCj4+ Pg0KPj4+IE15IHVuZGVyc3RhbmRpbmcgdG8gU0VWIGlzIGFueSBwaHlzaWNhbCBhZGRyZXNzIGZp ZWxkIGluIGd1ZXN0IHBhZ2UgDQo+Pj4gdGFibGUgc2hvdWxkIGhhdmUgdGhlIEtFWV9JRCBiaXRz IHNldCBpZiB0aGUgcGh5c2ljYWwgcGFnZXMgYXJlIA0KPj4+IHByaXZhdGUgdG8gZ3Vlc3QuIE9u bHkgc29tZSBwYWdlcyBmb3IgR01DQiBkb24ndCBoYXZlIEtFWV9JRCBiaXRzIHNldCBhcyB0aG9z ZSBhcmUgc2hhcmVkIGJldHdlZW4gZ3Vlc3QgYW5kIGhvc3QuDQo+Pg0KPj4gUmlnaHQsIHRoZSBl bmNyeXB0aW9uIGJpdCBpbiB0aGUgbGVhZiBlbnRyeSBvZiB0aGUgcGFnZXRhYmxlcyB3aWxsIA0K Pj4gZGV0ZXJtaW5lIHRoZSBlbmNyeXB0aW9uIG1vZGUuDQo+Pg0KPj4+DQo+Pj4gSSB0aG91Z2h0 IER1bidzIHBhdGNoIHdvcmtzIGJlY2F1c2UgYWxsIGd1ZXN0IG1lbW9yeSBpcyBtYXJrZWQgYXMg DQo+Pj4gc2hhcmVkIGJlY2F1c2UgdGhlIEtFWV9JRCBiaXRzIGluIGFsbCBlbnRyaWVzIGFyZSBu b3Qgc2V0LiBPbmx5IHNvbWUgDQo+Pj4gcGFnZXMgdGhhdCdyZSB1c2VkIGJ5IEdNQ0IgaGF2ZSB0 aGUgS0VZX0lEIGJpdHMgc2V0Lg0KPj4NCj4+IEp1c3QgdGhlIG9wcG9zaXRlLCB0aGUgQ3B1UGFn ZVRhYmxlTGliIGxpYnJhcnkgbWFya3MgZXZlcnl0aGluZyANCj4+IGVuY3J5cHRlZCBhbmQgb25s eSBjbGVhcnMgdGhlIGVuY3J5cHRpb24gYml0IGZvciB0aGUgR0hDQiBwYWdlcy4NCj4+DQo+PiBJ biBNZGVNb2R1bGVQa2cvQ29yZS9EeGVJcGxQZWltL1g2NC9WaXJ0dWFsTWVtb3J5LmMsIHRoZQ0K Pj4gQ3JlYXRlSWRlbnRpdHlNYXBwaW5nUGFnZVRhYmxlcygpIGZ1bmN0aW9uIHJldHJpZXZlcyB0 aGUgZW5jcnlwdGlvbiANCj4+IGJpdCBhbmQgc2F2ZXMgaXQgaW4gQWRkcmVzc0VuY01hc2suIEFk ZHJlc3NFbmNNYXNrIGlzIHRoZW4gYXBwbGllZCB0byANCj4+IHRoZSBtYXBwaW5nIGF0dHJpYnV0 ZSB1c2VkIHdoZW4gY2FsbGluZyBDcmVhdGVPclVwZGF0ZVBhZ2VUYWJsZSgpIHRvIA0KPj4gYnVp bGQgdGhlIGluaXRpYWwgcGFnZXRhYmxlcy4NCj4+DQo+Pj4NCj4+Pg0KPj4+Pg0KPj4+PiBIZXJl IGlzIHNvbWUgZGVidWcgYWZ0ZXIgc2V0dGluZyBQYWdpbmdFbnRyeSBhdCBsaW5lIDQzNiBvZg0K Pj4+PiBVZWZpQ3B1UGtnL0xpYnJhcnkvQ3B1UGFnZVRhYmxlTGliL0NwdVBhZ2VUYWJsZU1hcC5j Og0KPj4+Pg0KPj4+PiAqKiogREVCVUc6IFBhZ2VUYWJsZUxpYk1hcEluTGV2ZWw6NDM3IC0gUGFn aW5nRW50cnkgPSAzRkY4MTAwMA0KPj4+PiAqKiogREVCVUc6IFBhZ2VUYWJsZUxpYk1hcEluTGV2 ZWw6NDM3IC0gUGFnaW5nRW50cnkgPSAzRkY4MDAwMA0KPj4+PiAqKiogREVCVUc6IFBhZ2VUYWJs ZUxpYk1hcEluTGV2ZWw6NDM3IC0gUGFnaW5nRW50cnkgPSAzRkY4MzAwMA0KPj4+PiAqKiogREVC VUc6IFBhZ2VUYWJsZUxpYk1hcEluTGV2ZWw6NDM3IC0gUGFnaW5nRW50cnkgPSAzRkY4MTAwMA0K Pj4+PiAqKiogREVCVUc6IFBhZ2VUYWJsZUxpYk1hcEluTGV2ZWw6NDM3IC0gUGFnaW5nRW50cnkg PSAzRkY4MDAwMA0KPj4+PiAqKiogREVCVUc6IFBhZ2VUYWJsZUxpYk1hcEluTGV2ZWw6NDM3IC0g UGFnaW5nRW50cnkgPSAzRkY4MzAwMA0KPj4+PiAqKiogREVCVUc6IFBhZ2VUYWJsZUxpYk1hcElu TGV2ZWw6NDM3IC0gUGFnaW5nRW50cnkgPSAzRkY4MTAwMA0KPj4+PiAqKiogREVCVUc6IFBhZ2VU YWJsZUxpYk1hcEluTGV2ZWw6NDM3IC0gUGFnaW5nRW50cnkgPSAzRkY4MDAwMA0KPj4+PiAqKiog REVCVUc6IFBhZ2VUYWJsZUxpYk1hcEluTGV2ZWw6NDM3IC0gUGFnaW5nRW50cnkgPSA4MDAwMDNG QzAxMDAwDQo+Pj4NCj4+PiBBcmUgeW91IHRlc3RpbmcgdGhlIFNNRSBvciBTRVY/DQo+Pj4gTXkg dW5kZXJzdGFuZGluZyBpcyB3aXRoIFNNRSwgb25seSB0aGUgaGlnaGVzdCBDIGJpdCBzaG91bGQg YmUgc2V0IA0KPj4+IGluZGljYXRpbmcgdGhlIHBoeXNpY2FsIHBhZ2UgaXMgZW5jcnlwdGVkLg0K Pj4NCj4+IEkgYW0gdGVzdGluZyBTRVYuIFRoZXJlIGlzIG9ubHkgYSBzaW5nbGUgYml0IHRvIGlu ZGljYXRlIHdoZXRoZXIgYSANCj4+IHBhZ2UgaXMgZW5jcnlwdGVkLiBUaGUgZ3Vlc3QgQVNJRCBp cyB1c2VkIHRvIGRldGVybWluZSB3aGF0IGtleSBpcyANCj4+IHVzZWQgdG8gZGVjcnlwdCB0aGUg cGFnZS4gRnJvbSBhIHBhZ2V0YWJsZSBsZWFmIGVudHJ5LCBTTUUgYW5kIFNFViANCj4+IGFyZSBl cXVpdmFsZW50LCB0aGUgZW5jcnlwdGlvbiBiaXQgZGV0ZXJtaW5lcyBob3cgdGhlIG1lbW9yeSB3 aWxsIGJlIGFjY2Vzc2VkLg0KPj4NCj4+IFNNRSBhbmQgU0VWIGRpZmZlciBpbiBob3cgdGhleSBk ZWFsIHdpdGggaW5zdHJ1Y3Rpb24gZmV0Y2hlcyBhbmQgDQo+PiBwYWdldGFibGUgd2Fsa3MsIHdp dGggU01FIG9iZXlpbmcgdGhlIGVuY3J5cHRpb24gYml0IGFuZCBTRVYgYWx3YXlzIA0KPj4gcGVy Zm9ybWluZyB0aGUgYWNjZXNzZXMgYXMgZW5jcnlwdGVkIGFjY2Vzc2VzIGZvciBzZWN1cml0eS4N Cj4+DQo+PiBUaGFua3MsDQo+PiBUb20NCj4+DQo+Pj4NCj4+Pg0KPj4+DQo+Pj4+ICEhISEgWDY0 IEV4Y2VwdGlvbiBUeXBlIC0gMEQoI0dQIC0gR2VuZXJhbCBQcm90ZWN0aW9uKSAgQ1BVIEFwaWMg SUQNCj4+Pj4gLQ0KPj4+PiAwMDAwMDAwMCAhISEhDQo+Pj4+DQo+Pj4+IDB4ODAwMDAzRkMwMTAw MCBpc24ndCBtYXBwZWQgYW5kIHNvIGl0IGZhaWxzIC0gSSdtIG5vdCBleGFjdGx5IHN1cmUgDQo+ Pj4+IGhvdyB0aGUgI1BGIHR1cm5zIGludG8gYSAjR1AsIHRob3VnaCwgbWF5YmUgYmVjYXVzZSB0 aGUgdmlydHVhbCANCj4+Pj4gYWRkcmVzcyBpc24ndCBjYW5vbmljYWwgdGhhdCBwb2ludC4NCj4+ Pj4NCj4+Pj4gVGhhbmtzLA0KPj4+PiBUb20NCj4+Pj4NCj4+Pj4+DQo+Pj4+PiBJJ2xsIGFkZGVk IGFub3RoZXIgcGF0Y2ggaW4gbXkgY29kZSBicmFuY2ggdG8gZml4IHRoaXMgaXNzdWUgbGF0ZXIu DQo+Pj4+PiBJbiB0aGUgbmV3DQo+Pj4+IGNvbW1pdCwgZnJvbSB0aGUgcGVyc3BlY3RpdmUgb2Yg Q3B1UGFnZVRhYmxlTGliLCB0aGUgd2hvbGUgbWVtb3J5IA0KPj4+PiBjYW4gYmUgZGl2aWRlZCBp bnRvIDMgY2F0ZWdvcmllczogbWVtb3J5IHVzZWQgYnkgcGFnZSB0YWJsZSwgZ3Vlc3QgDQo+Pj4+ IHByaXZhdGUgbWVtb3J5IGFuZCBndWVzdCBzaGFyZWQgbWVtb3J5LiBDcHVQYWdlVGFibGVMaWIg d2lsbCBhbHdheXMgDQo+Pj4+IGFwcGx5IHRoZSBlbmNyeXB0IG1hc2sgdG8gbWVtb3J5IHVzZWQg YnkgcGFnZSB0YWJsZSwgd2hpY2ggbWVhbnMgDQo+Pj4+IGFsbCB0aGUgbm9uLWxlYWYgcGFnZSB0 YWJsZSBlbnRyaWVzIGFyZSBlbmNyeXB0ZWQuIEZvciBndWVzdCANCj4+Pj4gcHJpdmF0ZSBtZW1v cnksIHRoaXMgY2FzZSBjYW4gYmUgdHJlYXRlZCBhcyBub24tMToxIG1hcHBpbmcuIFdlIGNhbiAN Cj4+Pj4gYXBwbHkgdGhlIGVuY3J5cHQgbWFzayBieSBzZXR0aW5nIHRoZSBpbnB1dCBwYXJhbWV0 ZXIgb2YgDQo+Pj4+IFBhZ2VUYWJsZU1hcCgpIEFQSSBsaWtlICIgQXR0cmlidXRlLlVpbnQ2NCA9 IExpbmVhckFkZHJlc3MgfCANCj4+Pj4gQWRkcmVzc0VuY01hc2siLiBGb3IgZ3Vlc3Qgc2hhcmVk IG1lbW9yeSwgdGhpcyBjYXNlIGNhbiBiZSB0cmVhdGVkIGFzIG5vcm1hbCAxOjEgbWFwcGluZy4N Cj4+Pj4gSSdsbCBsZXQgeW91IGtub3cgb25jZSB0aGUgbmV3IHBhdGNoIGlzIHJlYWR5Lg0KPj4+ Pj4NCj4+Pj4+IFRoYW5rcywNCj4+Pj4+IER1bg0KPj4+Pj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdl LS0tLS0NCj4+Pj4+IEZyb206IGRldmVsQGVkazIuZ3JvdXBzLmlvIDxkZXZlbEBlZGsyLmdyb3Vw cy5pbz4gT24gQmVoYWxmIE9mDQo+Pj4+IExlbmRhY2t5LCBUaG9tYXMgdmlhIGdyb3Vwcy5pbw0K Pj4+Pj4gU2VudDogVGh1cnNkYXksIEFwcmlsIDEzLCAyMDIzIDM6MjYgQU0NCj4+Pj4+IFRvOiBk ZXZlbEBlZGsyLmdyb3Vwcy5pbzsgVGFuLCBEdW4gPGR1bi50YW5AaW50ZWwuY29tPg0KPj4+Pj4g U3ViamVjdDogUmU6IFtlZGsyLWRldmVsXSBbUGF0Y2ggVjIgMC84XSBVc2UgQ3B1UGFnZVRhYmxl TGliIHRvIA0KPj4+Pj4gY3JlYXRlDQo+Pj4+IGFuZCB1cGRhdGUgc21tIHBhZ2UgdGFibGUNCj4+ Pj4+DQo+Pj4+PiBPbiA0LzEyLzIzIDA1OjE3LCBkdW50YW4gdmlhIGdyb3Vwcy5pbyB3cm90ZToN Cj4+Pj4+PiBIaSBUb20sDQo+Pj4+Pj4NCj4+Pj4+PiBUaGlzIHBhdGNoIHNldCBpcyB0byBjaGFu Z2UgUGlTbW1DcHVEeGVTbW0gY29kZSB0byB1c2UNCj4+Pj4gQ3B1UGFnZVRhYmxlTGliIHRvIGNy ZWF0ZSBhbmQgdXBkYXRlIFNNTSBwYWdlIHRhYmxlLiBUaGUgUGNkIA0KPj4+PiBQY2RQdGVNZW1v cnlFbmNyeXB0aW9uQWRkcmVzc09yTWFzayBpcyBhbHNvIHVzZWQgaW4gUGlTbW1DcHVEeGVTbW0g DQo+Pj4+IGNvZGUgYW5kIHRoZSB3aG9sZSByYW5nZSBjb3ZlcmVkIGJ5IHBhZ2UgdGFibGUgaXMg bWFwcGVkIGVuY3J5cHRlZCwgDQo+Pj4+IHdoaWNoIGlzIGRpZmZlcmVudCBmcm9tIHRoZSBzaXR1 YXRpb24gaW4gRHhlSXBsIG1vZHVsZS4NCj4+Pj4+PiBTbyBjb3VsZCB5b3UgYWxzbyBoZWxwIGRv IGEgdGVzdCB0byBtYWtlIHN1cmUgdGhlIEFNRCBTRVYgZmVhdHVyZSANCj4+Pj4+PiBzdGlsbA0K Pj4+PiB3b3JrcyBnb29kIGluIFNNTSB3aXRoIHRoaXMgcGF0Y2ggc2V0Pw0KPj4+Pj4+IEhlcmUg aXMgdGhlIGNvZGUgYnJhbmNoIGluIG15IGZvcmsgcmVwbzoNCj4+Pj4+PiBodHRwczovL2dpdGh1 Yi5jb20vdGQzNi9lZGsyL2NvbW1pdHMvU21tUGFnZVRhYmxlX1YyDQo+Pj4+Pg0KPj4+Pj4gSGkg RHVuLA0KPj4+Pj4NCj4+Pj4+IEkgdGVzdGVkIGF0IHRoZSBmaW5hbCBjb21taXQgb2YgdGhlIGJy YW5jaCBhbmQgZW5jb3VudGVyZWQgYSAjR1AgDQo+Pj4+PiB3aXRoIGFuDQo+Pj4+IFNFViBndWVz dC4gSXQgbG9va3MgbGlrZSB0aGUgQ3B1UGFnZVRhYmxlTGlicmFyeSBkb2Vzbid0IHRha2UgdGhl IA0KPj4+PiBlbmNyeXB0aW9uIGJpdCBpbnRvIGFjY291bnQuIEZvciBleGFtcGxlOg0KPj4+Pj4N Cj4+Pj4+IExpbmUgNDM2IG9mIFVlZmlDcHVQa2cvTGlicmFyeS9DcHVQYWdlVGFibGVMaWIvQ3B1 UGFnZVRhYmxlTWFwLmMNCj4+Pj4+ICAgICAgICBQYWdpbmdFbnRyeSA9IChJQTMyX1BBR0lOR19F TlRSWQ0KPj4+PiAqKShVSU5UTilJQTMyX1BOTEVfUEFHRV9UQUJMRV9CQVNFX0FERFJFU1MgKCZQ YXJlbnRQYWdpbmdFbnRyeS0NCj4+Pj4+IFBubGUpOw0KPj4+Pj4NCj4+Pj4+IFRoaXMgd2lsbCBn ZXQgYW4gYWRkcmVzcyB3aXRoIHRoZSBlbmNyeXB0aW9uIGJpdCBzZXQgYW5kIHRoZW4gdHJ5IA0K Pj4+Pj4gdG8NCj4+Pj4gcmVmZXJlbmNlIGl0LiBXaGVuIEkgY2xlYXIgdGhlIGVuY3J5cHRpb24g Yml0LCB0aGUgY29kZSBwcm9jZWVkcyBhIA0KPj4+PiBiaXQgZnVydGhlciwgYnV0IHRoZW4gZW5j b3VudGVycyBhICNHUCBpbiBhIGRpZmZlcmVudCBsb2NhdGlvbi4NCj4+Pj4+DQo+Pj4+PiBTbyBp dCBhcHBlYXJzIHRoYXQgdGhlIENwdVBhZ2VUYWJsZUxpYnJhcnkgZG9lc24ndCBkZWFsIHdpdGgg dGhlDQo+Pj4+IGVuY3J5cHRpb24gYml0IHByb3Blcmx5Lg0KPj4+Pj4NCj4+Pj4+IEFsc28sIGdv aW5nIHRocm91Z2ggYSBidWlsZC90ZXN0IG9mIGVhY2ggaW5kaXZpZHVhbCBwYXRjaCBoYWQgbWl4 ZWQgcmVzdWx0cy4NCj4+Pj4+DQo+Pj4+PiAgICAgICAgLSBXaXRoIHRoZSBzZWNvbmQgcGF0Y2gg aW4gdGhlIHNlcmllcyBhcHBsaWVkLCBJIGdldCBhIGJ1aWxkIGVycm9yOg0KPj4+Pj4NCj4+Pj4+ ICAgICAgICAgIC9yb290L2tlcm5lbHMvb3ZtZi1kdW4tYnVpbGQtWDY0L092bWZQa2cvT3ZtZlBr Z1g2NC5kc2MoLi4uKToNCj4+Pj4gZXJyb3IgNDAwMDogSW5zdGFuY2Ugb2YgbGlicmFyeSBjbGFz cyBbQ3B1UGFnZVRhYmxlTGliXSBpcyBub3QgDQo+Pj4+IGZvdW5kDQo+Pj4+PiAgICAgICAgICAg ICAgICAgIGluIFsvcm9vdC9rZXJuZWxzL292bWYtZHVuLWJ1aWxkLQ0KPj4+PiBYNjQvVWVmaUNw dVBrZy9QaVNtbUNwdUR4ZVNtbS9QaVNtbUNwdUR4ZVNtbS5pbmZdIFtYNjRdDQo+Pj4+PiAgICAg ICAgICAgICAgICAgIGNvbnN1bWVkIGJ5IG1vZHVsZSBbL3Jvb3Qva2VybmVscy9vdm1mLWR1bi1i dWlsZC0NCj4+Pj4gWDY0L1VlZmlDcHVQa2cvUGlTbW1DcHVEeGVTbW0vUGlTbW1DcHVEeGVTbW0u aW5mXQ0KPj4+Pj4NCj4+Pj4+ICAgICAgICAgIHRoYXQgaXNuJ3QgcmVzb2x2ZWQgdW50aWwgdGhl IGZpbmFsIHBhdGNoLg0KPj4+Pj4NCj4+Pj4+IFRoYW5rcywNCj4+Pj4+IFRvbQ0KPj4+Pj4NCj4+ Pj4+Pg0KPj4+Pj4+IFRoYW5rcywNCj4+Pj4+PiBEdW4NCj4+Pj4+Pg0KPj4+Pj4+IC0tLS0tT3Jp Z2luYWwgTWVzc2FnZS0tLS0tDQo+Pj4+Pj4gRnJvbTogZGV2ZWxAZWRrMi5ncm91cHMuaW8gPGRl dmVsQGVkazIuZ3JvdXBzLmlvPiBPbiBCZWhhbGYgT2YNCj4+Pj4gZHVudGFuDQo+Pj4+Pj4gU2Vu dDogV2VkbmVzZGF5LCBBcHJpbCAxMiwgMjAyMyA0OjU0IFBNDQo+Pj4+Pj4gVG86IGRldmVsQGVk azIuZ3JvdXBzLmlvDQo+Pj4+Pj4gU3ViamVjdDogW2VkazItZGV2ZWxdIFtQYXRjaCBWMiAwLzhd IFVzZSBDcHVQYWdlVGFibGVMaWIgdG8gDQo+Pj4+Pj4gY3JlYXRlIGFuZCB1cGRhdGUgc21tIHBh Z2UgdGFibGUNCj4+Pj4+Pg0KPj4+Pj4+IEluIFYyIHBhdGNoIHNldDoNCj4+Pj4+PiAxLkluICdS ZWZpbmVtZW50IHRvIGNvZGUgYWJvdXQgdXBkYXRpbmcgc21tIHBhZ2UgdGFibGUnLCB1c2UNCj4+ Pj4+PiBRdWlja1NvcnQoKQ0KPj4+PiBpbiBCYXNlTGliIGluc3RlYWQgb3IgUGVyZm9ybVF1aWNr U29ydCgpIGluIEJhc2VTb3J0TGliLg0KPj4+Pj4+IDIuUmVtb3ZlIHRoZSBwYXRjaCB0byBhZGQg QmFzZVNvcnRMaWIgaW4gRFNDIGZpbGUuDQo+Pj4+Pj4gMy5BZGQgYSBuZXcgcGF0Y2ggdG8gYWRk IENwdVBhZ2VUYWJsZUxpYiBpbiBVZWZpQ3B1UGtnLmRzYy4NCj4+Pj4+PiA0LkFkZCBhIHRlbXAg cGF0Y2ggdG8gYWRkIENwdVBhZ2VUYWJsZUxpYiBpbiBPdm1mUGtnIGRzYyBmaWxlcyANCj4+Pj4+ PiBmb3IgdGVzdChBIHByZXZpb3VzIHBhdGNoIEkgc2VudCBiZWZvcmUgJ1tQYXRjaCBWMiA0Lzhd IE92bWZQa2c6IA0KPj4+Pj4+IEFkZCBDcHVQYWdlVGFibGVMaWIgcmVxdWlyZWQgYnkgRHhlSXBs IGluIERTQyBmaWxlJyBjb250YWlucyBhbGwgDQo+Pj4+Pj4gdGhlIGNoYW5nZXMgaW4gdGhpcyBw YXRjaCkNCj4+Pj4+Pg0KPj4+Pj4+IER1biBUYW4gKDgpOg0KPj4+Pj4+ICAgICAgICBPdm1mUGtn OiBBZGQgQ3B1UGFnZVRhYmxlTGliIHJlcXVpcmVkIGJ5IFBpU21tQ3B1RHhlDQo+Pj4+Pj4gICAg ICAgIFVlZmlQYXlsb2FkUGtnOiBBZGQgQ3B1UGFnZVRhYmxlTGliIHJlcXVpcmVkIGJ5IFBpU21t Q3B1RHhlDQo+Pj4+Pj4gICAgICAgIFVlZmlDcHVQa2c6IFVzZSBDcHVQYWdlVGFibGVMaWIgdG8g Y29udmVydCBTTU0gcGFnaW5nIGF0dHJpYnV0ZS4NCj4+Pj4+PiAgICAgICAgVWVmaUNwdVBrZy9Q aVNtbUNwdUR4ZVNtbTogQXZvaWQgc2V0dGluZyBub24tcHJlc2VudCByYW5nZSANCj4+Pj4+PiB0 bw0KPj4+PiBSTy9OWA0KPj4+Pj4+ICAgICAgICBVZWZpQ3B1UGtnOiBFeHRlcm4gbVNtbVNoYWRv d1N0YWNrU2l6ZSBpbiBQaVNtbUNwdUR4ZVNtbS5oDQo+Pj4+Pj4gICAgICAgIFVlZmlDcHVQa2c6 IFJlZmluZW1lbnQgdG8gY3VycmVudCBzbW0gcGFnZSB0YWJsZSBnZW5lcmF0aW9uIGNvZGUNCj4+ Pj4+PiAgICAgICAgVWVmaUNwdVBrZzogUmVmaW5lbWVudCB0byBjb2RlIGFib3V0IHVwZGF0aW5n IHNtbSBwYWdlIHRhYmxlDQo+Pj4+Pj4gICAgICAgIFVlZmlDcHVQa2cvUGlTbW1DcHVEeGVTbW06 IFJlbW92ZSB1bm5lY2Vzc2FyeSBmdW5jdGlvbg0KPj4+Pj4+DQo+Pj4+Pj4gICAgICAgT3ZtZlBr Zy9DbG91ZEh2L0Nsb3VkSHZYNjQuZHNjICAgICAgICAgICAgICAgICAgICAgfCAgIDIgKy0NCj4+ Pj4+PiAgICAgICBPdm1mUGtnL092bWZQa2dJYTMyLmRzYyAgICAgICAgICAgICAgICAgICAgICAg ICAgICB8ICAgMyArKy0NCj4+Pj4+PiAgICAgICBPdm1mUGtnL092bWZQa2dJYTMyWDY0LmRzYyAg ICAgICAgICAgICAgICAgICAgICAgICB8ICAgMiArLQ0KPj4+Pj4+ICAgICAgIE92bWZQa2cvT3Zt ZlBrZ1g2NC5kc2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAyICstDQo+Pj4+Pj4g ICAgICAgVWVmaUNwdVBrZy9QaVNtbUNwdUR4ZVNtbS9JYTMyL1BhZ2VUYmwuYyAgICAgICAgICAg fCAgIDUgKysrLS0NCj4+Pj4+PiAgICAgICBVZWZpQ3B1UGtnL1BpU21tQ3B1RHhlU21tL0lhMzIv U21tRnVuY3NBcmNoLmMgICAgICB8ICAgMyArLS0NCj4+Pj4+PiAgICAgICBVZWZpQ3B1UGtnL1Bp U21tQ3B1RHhlU21tL0lhMzIvU21tUHJvZmlsZUFyY2guYyAgICB8ICAgMiArLQ0KPj4+Pj4+ICAg ICAgIFVlZmlDcHVQa2cvUGlTbW1DcHVEeGVTbW0vTXBTZXJ2aWNlLmMgICAgICAgICAgICAgIHwg MTMyIC0tLS0tLS0tLS0tLS0tLS0tDQo+Pj4+IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4+Pj4gLQ0KPj4+PiAtLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPj4+PiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4+Pj4+ PiAgICAgICBVZWZpQ3B1UGtnL1BpU21tQ3B1RHhlU21tL1BpU21tQ3B1RHhlU21tLmMgICAgICAg ICB8ICAgOCArKysrKystDQo+Pj4+IC0NCj4+Pj4+PiAgICAgICBVZWZpQ3B1UGtnL1BpU21tQ3B1 RHhlU21tL1BpU21tQ3B1RHhlU21tLmggICAgICAgICB8ICA5Nw0KPj4+PiArKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrDQo+Pj4+ICsrLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPj4+Pj4+ICAgICAgIFVlZmlDcHVQ a2cvUGlTbW1DcHVEeGVTbW0vUGlTbW1DcHVEeGVTbW0uaW5mICAgICAgIHwgICAxICsNCj4+Pj4+ PiAgICAgICBVZWZpQ3B1UGtnL1BpU21tQ3B1RHhlU21tL1NtbUNwdU1lbW9yeU1hbmFnZW1lbnQu YyB8IDYyOQ0KPj4+PiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrDQo+Pj4+ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysNCj4+Pj4gKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKw0KPj4+PiArKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrDQo+Pj4+ICsrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0N Cj4+Pj4gKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLQ0KPj4+PiAt LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tDQo+Pj4+IC0NCj4+Pj4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4+Pj4g LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQ0KPj4+PiAtDQo+Pj4+IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+Pj4+ IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0NCj4+Pj4gLQ0KPj4+PiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPj4+ PiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPj4+Pj4+ ICAgICAgIFVlZmlDcHVQa2cvUGlTbW1DcHVEeGVTbW0vU21tUHJvZmlsZS5jICAgICAgICAgICAg IHwgMzQ4DQo+Pj4+ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysNCj4+Pj4gKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKw0KPj4+PiArKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+Pj4+ICsrKysrKysrKy0N Cj4+Pj4gKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4+Pj4gLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPj4+ PiAtDQo+Pj4+IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+Pj4+IC0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+Pj4+Pj4gICAgICAgVWVmaUNw dVBrZy9QaVNtbUNwdUR4ZVNtbS9YNjQvUGFnZVRibC5jICAgICAgICAgICAgfCAyMjkNCj4+Pj4g KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQ0KPj4+PiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKystDQo+Pj4+ICsr KysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tDQo+Pj4+IC0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4+ Pj4gLQ0KPj4+PiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPj4+PiAtLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPj4+Pj4+ICAg ICAgIFVlZmlDcHVQa2cvUGlTbW1DcHVEeGVTbW0vWDY0L1NtbUZ1bmNzQXJjaC5jICAgICAgIHwg ICAzICstLQ0KPj4+Pj4+ICAgICAgIFVlZmlDcHVQa2cvUGlTbW1DcHVEeGVTbW0vWDY0L1NtbVBy b2ZpbGVBcmNoLmMgICAgIHwgIDE5ICsrLS0tLS0tLQ0KPj4+PiAtLS0tLS0tLS0tDQo+Pj4+Pj4g ICAgICAgVWVmaVBheWxvYWRQa2cvVWVmaVBheWxvYWRQa2cuZHNjICAgICAgICAgICAgICAgICAg fCAgIDIgKy0NCj4+Pj4+PiAgICAgICAxNyBmaWxlcyBjaGFuZ2VkLCA1MTAgaW5zZXJ0aW9ucygr KSwgOTc3IGRlbGV0aW9ucygtKQ0KPj4+Pj4+DQo+Pj4+Pg0KPj4+Pj4NCj4+Pj4+DQo+Pj4+Pg0K Pj4+Pj4NCj4+DQo+Pg0KPj4NCj4+DQo+Pg0KPj4NCj4+DQo+Pg0KPj4NCj4+DQo+Pg0KPj4NCj4g DQo+IA0KPiANCj4gDQo+IA0KDQoNCg0KDQoNCg==