From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by mx.groups.io with SMTP id smtpd.web10.1188.1682486524360462205 for ; Tue, 25 Apr 2023 22:22:05 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=HS7QByqB; spf=pass (domain: intel.com, ip: 134.134.136.31, mailfrom: chasel.chiu@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1682486524; x=1714022524; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=v5rlRRT2V5eOECqddZa0nJLduiwfY0s+w9jztK77xtM=; b=HS7QByqBEcYou5GaUZTUX1ajaqaoPNWZtEqSV1cnc7BlRaB3vYlJFs93 c6lEJ8sEHsSdbsSvrcIKM2GWLtJzrzwcDSodJYFG4HtsJTfJnA7RC3Zg5 KPRKag66EgvqJKx0jHLc8R0v4nZZzXMJwrx9v3CTJ3GSnGQ8WKbKpw5pV N/KacuaJw8uCjXCeYIdjQukTExhPFFytZSyiGpjeBkvIjEBnYFSdDH13k Rih7mUwLajj/iDmUV+o1sQKBIJcufBGMW52SY+ehqciuaQ49cSZOZb1gL q0VKkRfklw7JpWCYKm6mthcOUeMZHNWHhaUGa+8BFVxvhIRRKsMria4+W Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10691"; a="409969302" X-IronPort-AV: E=Sophos;i="5.99,227,1677571200"; d="scan'208";a="409969302" Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 25 Apr 2023 22:22:03 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10691"; a="763163001" X-IronPort-AV: E=Sophos;i="5.99,227,1677571200"; d="scan'208";a="763163001" Received: from orsmsx601.amr.corp.intel.com ([10.22.229.14]) by fmsmga004.fm.intel.com with ESMTP; 25 Apr 2023 22:22:02 -0700 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) 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.23; Tue, 25 Apr 2023 22:22:02 -0700 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) 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; Tue, 25 Apr 2023 22:22:02 -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, 25 Apr 2023 22:22:01 -0700 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (104.47.55.177) 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, 25 Apr 2023 22:22:01 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=f5myQAXucKJNPfc3aGtRTxkjFlJFfWaPH45Y5t4I4b/oTiGTLOjUmlDWv6xjoozfxsGcTYVkkwb6cMr3/ybAyy07yWw02XX91/B+Ua+vzcFKvZDWMOiPjQjfx1R1w8GI36n+272GCJj0oHJup9yHTXdM+L0itPpo606PEC1reFNAneZDRSY1/wlNAaoKpuGtJg6gwKIzNpEz4B4rtJm9ou0RJG1Mh0RMAXRpcfc6+AaFtAzuqIA3bR3Si0w3FHStsda/Ko3iWn+M7oErUof2+MofPujxU6xDHo9hMieDdAAQUr8BJmIS3bXJnM6AsgYj0rX/7AmC4ptE7mGSgTgZFA== 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=v5rlRRT2V5eOECqddZa0nJLduiwfY0s+w9jztK77xtM=; b=FUY7YMXvWW3dZq/EzOii1AikLbSO59Dm23pKlXdh7IUplvLrCbnRsZhx/Sb4fQmWAeIbPyE8Bn8IbxyqWDWCFsOdeyZHpNF7ZhGFCxEJQnEIjl6fsdnVT53nuZWklMPhHTS2gBmicSRwpCfBoeoVSaTK+aJ6gHQ2aA65kq1s0I2DTYX/RNJ36LkX2NIJJWA4Ji6f48YDGDc+ElsC8guhz4WXy9F8FSmwQHh9HpYmya/rpPKf7LmCdYF1dPg7nB2SuK38ru+qfKYK+QQHL8xTfnjj5U6pzSOKMOuK+NhUMG90KwHT1J4iYBti/Fmgt42K1vpkeS1h+Ka409rPl6n38w== 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 PH8PR11MB6974.namprd11.prod.outlook.com (2603:10b6:510:225::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6319.33; Wed, 26 Apr 2023 05:21:52 +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.6340.020; Wed, 26 Apr 2023 05:21:51 +0000 From: "Chiu, Chasel" To: "devel@edk2.groups.io" , "Kinney, Michael D" , Leif Lindholm CC: "Lin, Benny" , Leif Lindholm , "Gao, Liming" , "Liu, Zhiguang" , Pedro Falcato Subject: Re: [edk2-devel] [PATCH v3 2/3] MdePkg: Support FDT library. Thread-Topic: [edk2-devel] [PATCH v3 2/3] MdePkg: Support FDT library. Thread-Index: AQHZcO6+WfGGK3ArXUC9dbXYFUl/La8yzIKAgAAVuICAAEDWgIAAe1iAgADOW4CABlXgAIAAA3IAgAJTonA= Date: Wed, 26 Apr 2023 05:21:50 +0000 Message-ID: References: <20230417053505.670-1-benny.lin@intel.com> <20230417053505.670-3-benny.lin@intel.com> In-Reply-To: Accept-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: BN9PR11MB5483:EE_|PH8PR11MB6974:EE_ x-ms-office365-filtering-correlation-id: 8545ac52-17b0-426b-ea41-08db461623cf 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: LnmEp0fLGMbAqkX0PeL35qIXuL/I7+cwOUhJbSsdWaf8xUonyqKou7QYUlp14/dfXiOaGtU3rc4eqJB/jJj9NdrdmC6i9Lf5HRNwDB3AJrbylvzuZzJRL4kdrupvBj8gdmOA2U8baNvLe2M8k6THcxXRcY2KA0hyXgvStfwVjQG6mkpEAyTuMqphT7zQQJWiyK8p43zGeY8tIBkUD9lheGjolJKs0n0tX5tsbAGSKfv8e3STPtJ8nZBR/UWd8Ta4hp3Ua8soeoSnfyLVcWR0Y7KWbB7NLotEm5ENKF0r2pOe4gpVL8bVTgeZXHPzf2ohjSzr73fCcMDaplKYS5TKK+ppEyX6JnqcATENukIodg0EchvanWYzO9efThjrpezhVmIa4IIRirSN+C4HfiBIvJ9YAKT9LkBtpC5nTdE2ppiyrVX+8eFfHPleXvl+IEmc+iwqbA71SDeVFJnBnFrX3QU7tduHeuTDFTgsznoNTr+N98C1U6v2klf7Igvj1bldJudfzvu+vqcfou66N0xSpljkNSqL3srUkxVAjpg0a8tp93g4+TgnOxAOzrKLDL37CGD8CveZ6rtvP9OiWoO0w2n/TOd8qKmSKDO+gfEvCGSVr+d7I62UiyqCF5jLaIAQpWkG50yG8epJFAlvSS5ePtZxeUD8q8Gf6EEw4jC39PwqGT9rjTbPoCs+TV0PA8Lp 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)(366004)(346002)(396003)(39860400002)(136003)(376002)(451199021)(66899021)(30864003)(966005)(71200400001)(55016003)(2906002)(7696005)(19627235002)(83380400001)(86362001)(33656002)(66556008)(66476007)(8936002)(66946007)(316002)(478600001)(26005)(64756008)(66446008)(76116006)(6506007)(41300700001)(9686003)(53546011)(186003)(4326008)(82960400001)(38070700005)(122000001)(38100700002)(54906003)(45080400002)(110136005)(8676002)(52536014)(5660300002)(579004)(559001);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?VTdHMzBFSEdPOTg0ckdhTzRSYVJCcEloRzFORjhkRStxeGI5K0N1UXdLQTd4?= =?utf-8?B?aXVkcDFWdEhrZDNHZXZkY1pHOU9BbjZJRTg5T21IYVpteFJ3Sk51d1o3OXhj?= =?utf-8?B?ZmdjR0tIWGRJV0NraElWcll0dmcxMlU5TS9VQVQwNWVLN3pLWVVXeDVtQk5R?= =?utf-8?B?cys0b3QyNC9GeEF6cTdqOHF2SWFzSUpqVVpQMEwrM3V4Q0owRXZWek5xeEVL?= =?utf-8?B?cXJHbzN4Mklpb21XUHRqeTFQNituTmI3SjFLcWw2QitZUnBxV2tRcWVUVzdF?= =?utf-8?B?WWU0WStnVXBEeFNZSlJTbUlNZjQxdFUyMTdWc1JHdCtTZGJMU1RYU1RXQlBo?= =?utf-8?B?Y0thVkJ4c1N5TE1vY2NDWVRMTWJQRERlRzAzQytrdjRhZ3h3ZGhpVGdiUks1?= =?utf-8?B?SXpWdDgxQUpnUEJPdFpIVnRBUlZQTXRsL0VVcmc5Q0lQME4zQlYvalE4c1py?= =?utf-8?B?UFdDdjZaVk4yRDdCb2RNNmVUK1BrNjR3NG1yMlFSUldnc1FyK0hzUDgvazJV?= =?utf-8?B?ODVUUWZyR0VYT0xBYmJyVmtVTHZQeEtBeFBOeW1vd2IvNk5tVDNWTzBjMnlL?= =?utf-8?B?VndPeGtqc1VjUThlNVRFeUE4ZldMczV2MHBLa1FSTTF0VE9haGQxdXM5cW9I?= =?utf-8?B?TFR6NVNyUmc2WjJOd3Q4WCs1SDZlZWVRTlk4QXVYMlluNjhxUDJVSlhKeStK?= =?utf-8?B?NE1EMmNlak8yaGxIa3JxeDlTOGloemtmVC9WMU1NanJrL21FdldBUWxnbzRB?= =?utf-8?B?SE45bmRsbnVRV1BHQ2ZkWlFTVGd0ank2ZlQrTzRta3N6RE5waU81bDFYcGtm?= =?utf-8?B?cnhPNmJGamQ0Z0p3OHpVcUNKYXRzRkJCZVVjSFBiTmJ6Rmk2V1F6OTUrQzZP?= =?utf-8?B?WkdwRXUxcXg2SThKS1NiV1pHamlSSURxdVlLamdjWlhRdmdjc3E0Wnk2UG83?= =?utf-8?B?bXhuUWE4VGI3Y293Z0ltR0loM0VYWXVIYlNLQkRhb0p3NDlTQzBDYlhwdlVE?= =?utf-8?B?WEFtUXJvcUdZWGtiQTR0L2t4SlNuTE9SQjdhUExrcWVrZW11RW5kV3ZPYXBQ?= =?utf-8?B?L0hBSENNZEI4S1M4NXU5aUpxMTd6eC83aWljZFJlTUVPYjQ5eWdONEVrczBz?= =?utf-8?B?TlJtcE1zMWx3RXpWREhYS1IrYWtPdFJxaVlYZmVXMnhMOWp2NVRWeXF6VzNo?= =?utf-8?B?eThFNWpXcVp5eFdEMDNWQzhrRXk4a3lQYys1c3RyQkFJOU1VdTh0UWh3NkUx?= =?utf-8?B?NGtOeENROFcxYlZjWFh1RGdFZUhuZGdBTGdvamxhYUpoa1BwQWlLb0hlRjZP?= =?utf-8?B?NTN4eTZmQVRla2o0eDlOZU12REdlbUZNM253ZnhkeTRHZDhONzJ3ZERwb1U5?= =?utf-8?B?cHNIaHJ2TFpUUnNkYm1zQ01yQ24vWUw0bC9FSHVBVUwxcytmUkhPdXNJUkVL?= =?utf-8?B?TU1XR1BkQ2hwMjBSWXVHdWhveWMxUmRHZ3lNWENqd1Y1eldkKzBQaGFKQ1oy?= =?utf-8?B?MUZzUE1qTmt1dDh2MXBlTCsrK3ZjU0RZNmpjeFN2T0MySEFsS0tCcU9vd2lV?= =?utf-8?B?RVEyTzM2SVNnWDVmMWpmWHBRUGNyN1pweXhhQlREcG13cmxxdDJvUkJEc05H?= =?utf-8?B?WWx2RC9aQTEvL0tad0RpQVZZU1VpT2YvQVcvb3V6S1VTbHJEUnZhNXVNY3NM?= =?utf-8?B?MmRZbHJ5RlcrQ2Vyb0szUG1KMzcveGgvUjdTamJVellzQ3FnNTN0RFB5SUNR?= =?utf-8?B?WjMvK1RsQ3VnSjNPVmgvUWdjSGI0bThUZmt6SExHdWZKUFIrVmlVZFpsRDNM?= =?utf-8?B?L1FBMjM2M0ZGUmdYTGNKaGhzQnVBYmI2N0tBS3pjQUZvMVo3Q2hCVnE3K0ZB?= =?utf-8?B?M3RiZWE0cTR6ZjFOZEJwQWhtZlVWOUd0OE1PaFhwQ1V0UkVyQ3RVMmw2RSsy?= =?utf-8?B?SXhOL1hxNWxnS2pGWnNCRll1eGdNU3NlWG1xOERqc0pzZDFhVHM2WFdVQjh3?= =?utf-8?B?RGU2ejNiYTFwQlpJZmJqNE85SThHQUc1dTJ4UG5zOGM3aE04dVFQUEwrcWJ5?= =?utf-8?B?L3MxZmtpVzNCY1J1OWZsQ3VqdFoyc0dJTEorcEYxcFlNQmFlY0ZtUWRDZEh2?= =?utf-8?Q?IaBxvaYHNymSUrDfoH0mnMGoU?= 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: 8545ac52-17b0-426b-ea41-08db461623cf X-MS-Exchange-CrossTenant-originalarrivaltime: 26 Apr 2023 05:21:50.6778 (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: zBmb60YnGcgkBaQmuEzicEqEcKZRW8ukMf/hp7JyO0b+ROIQFPvfkWT6EgA4vEXWkSRivGssxAnrwT0+2jxfew== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR11MB6974 Return-Path: chasel.chiu@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 DQpIZWxsbywNCg0KU2luY2UgcGxhdGZvcm0gbWF5IGFsc28gZGVmaW5lIG90aGVyIEZEVCBzdHJ1 Y3R1cmVzLCB0aGlzIEVESzIgbGlicmFyeSBtYXkgbm90IGJlIGFibGUgdG8gY29udmVydCBhbGwg dGhlIEZEVCBzdHJ1Y3R1cmVzIHRvIGxpdHRsZSBlbmRpYW4uDQpXZSBtaWdodCBkZWZpbmUgYSBn ZW5lcmljIE1BQ1JPIGluIGxpYnJhcnkgbGlrZSBDT05WRVJUX0ZEVF9EQVRBX1RPX0xJVFRMRV9F TkRJQU4gd2hpY2ggY2FuIGJlIHVzZWQgZm9yIGFsbCBzdHJ1Y3R1cmUgZGF0YSwgYnV0IGl0IHdp bGwgYmUgYWxtb3N0IGxpa2UgY2FsbGluZyBTd2FwQnl0ZXMqKiBkaXJlY3RseS4NCkFueSBvdGhl ciBzdWdnZXN0aW9uPw0KDQpUaGFua3MsDQpDaGFzZWwNCg0KDQo+IC0tLS0tT3JpZ2luYWwgTWVz c2FnZS0tLS0tDQo+IEZyb206IGRldmVsQGVkazIuZ3JvdXBzLmlvIDxkZXZlbEBlZGsyLmdyb3Vw cy5pbz4gT24gQmVoYWxmIE9mIE1pY2hhZWwgRA0KPiBLaW5uZXkNCj4gU2VudDogTW9uZGF5LCBB cHJpbCAyNCwgMjAyMyAxMDo0MSBBTQ0KPiBUbzogTGVpZiBMaW5kaG9sbSA8cXVpY19sbGluZGhv bEBxdWljaW5jLmNvbT47IGRldmVsQGVkazIuZ3JvdXBzLmlvDQo+IENjOiBMaW4sIEJlbm55IDxi ZW5ueS5saW5AaW50ZWwuY29tPjsgTGVpZiBMaW5kaG9sbQ0KPiA8bGxpbmRob2xAcXRpLnF1YWxj b21tLmNvbT47IEdhbywgTGltaW5nIDxnYW9saW1pbmdAYnlvc29mdC5jb20uY24+OyBMaXUsDQo+ IFpoaWd1YW5nIDx6aGlndWFuZy5saXVAaW50ZWwuY29tPjsgUGVkcm8gRmFsY2F0byA8cGVkcm8u ZmFsY2F0b0BnbWFpbC5jb20+Ow0KPiBLaW5uZXksIE1pY2hhZWwgRCA8bWljaGFlbC5kLmtpbm5l eUBpbnRlbC5jb20+DQo+IFN1YmplY3Q6IFJlOiBbZWRrMi1kZXZlbF0gW1BBVENIIHYzIDIvM10g TWRlUGtnOiBTdXBwb3J0IEZEVCBsaWJyYXJ5Lg0KPiANCj4gSGkgTGVpZiwNCj4gDQo+IERvIHlv dSBoYXZlIGEgcHJvcG9zYWwgb3Igc21hbGwgZXhhbXBsZSBvbiB3aGF0IHlvdSB3YW50IHRvIHNl ZQ0KPiBpbiB0aGUgbGlicmFyeT8NCj4gDQo+IE1pa2UNCj4gDQo+ID4gLS0tLS1PcmlnaW5hbCBN ZXNzYWdlLS0tLS0NCj4gPiBGcm9tOiBMZWlmIExpbmRob2xtIDxxdWljX2xsaW5kaG9sQHF1aWNp bmMuY29tPg0KPiA+IFNlbnQ6IE1vbmRheSwgQXByaWwgMjQsIDIwMjMgMTA6MjkgQU0NCj4gPiBU bzogZGV2ZWxAZWRrMi5ncm91cHMuaW87IEtpbm5leSwgTWljaGFlbCBEIDxtaWNoYWVsLmQua2lu bmV5QGludGVsLmNvbT4NCj4gPiBDYzogTGluLCBCZW5ueSA8YmVubnkubGluQGludGVsLmNvbT47 IExlaWYgTGluZGhvbG0NCj4gPGxsaW5kaG9sQHF0aS5xdWFsY29tbS5jb20+OyBHYW8sIExpbWlu ZyA8Z2FvbGltaW5nQGJ5b3NvZnQuY29tLmNuPjsgTGl1LA0KPiA+IFpoaWd1YW5nIDx6aGlndWFu Zy5saXVAaW50ZWwuY29tPjsgUGVkcm8gRmFsY2F0bw0KPiA8cGVkcm8uZmFsY2F0b0BnbWFpbC5j b20+DQo+ID4gU3ViamVjdDogUmU6IFtlZGsyLWRldmVsXSBbUEFUQ0ggdjMgMi8zXSBNZGVQa2c6 IFN1cHBvcnQgRkRUIGxpYnJhcnkuDQo+ID4NCj4gPiBBcG9sb2dpZXMsIEkgd2FzIHJlZmFjdG9y aW5nIGEgZ2l0IHRyZWUgYW5kIHN3aXRjaGVkIG9mZiB0aGUgd29ybGQgOikNCj4gPg0KPiA+IFdl bGwsIGJlaW5nIGEgYml0IGxhdGUgdG8gdGhlIHBhcnR5IC4uLiBteSB2aWV3IGlzIGl0IHdvdWxk IGJlDQo+ID4gcHJlZmVyYWJsZSBpZiB3ZSBwdXQgdGhlIGJ5dGVzd2FwcGluZyBpbiB0aGUgbGli cmFyeS4NCj4gPg0KPiA+IFRoZSBEVCBmb3JtYXQgaXMgKmRlZmluZWQqIHRvIGJlIGJpZy1lbmRp YW4sIDMyLWJpdCBjZWxscy4gU28gZnJhbmtseSwNCj4gPiBJIGhhdmUgbm8gcHJvYmxlbXMgd2l0 aCBwdXNoaW5nIHJlc3BvbnNpYmlsaXR5IG9udG8gaW5kaXZpZHVhbA0KPiA+IHBsYXRmb3JtcyBp ZiB0aGV5IGhhdmUgZGVjaWRlZCB0byBiZSAiY2xldmVyIiBieSBpZ25vcmluZyB0aGF0IC0NCj4g PiBpZiB0aGF0IGdldHMgcmlkIG9mIGEgYnVuY2ggb2YgYm9pbGVycGxhdGUgZm9yIHNlbnNpYmx5 IGJlaGF2aW5nIHBsYXRmb3Jtcy4NCj4gPg0KPiA+IE1heWJlIGFub3RoZXIgZXhjdXNlIGZvciBn ZXR0aW5nDQo+ID4gaHR0cHM6Ly9naXRodWIuY29tL3RpYW5vY29yZS9lZGsyLQ0KPiBwbGF0Zm9y bXMvYmxvYi9tYXN0ZXIvU2lsaWNvbi9OWFAvTGlicmFyeS9Jb0FjY2Vzc0xpYi9Jb0FjY2Vzc0xp Yi5jDQo+ID4gaW50byBNZGVQa2c/DQo+ID4NCj4gPiAvDQo+ID4gICAgIExlaWYNCj4gPg0KPiA+ IE9uIFRodSwgQXByIDIwLCAyMDIzIGF0IDE2OjQ0OjAzICswMDAwLCBNaWNoYWVsIEQgS2lubmV5 IHdyb3RlOg0KPiA+ID4gSGkgTGVpZiwNCj4gPiA+DQo+ID4gPiBXaGF0IGlzIHlvdXIgb3Bpbmlv biBvbiBGRFQgYmVpbmcgYmlnIGVuZGlhbi4NCj4gPiA+DQo+ID4gPiBEbyB3ZSB3YW50IHRoZSBs aWIgdG8gaGVscCB3aXRoIHRoYXQgYXNwZWN0LCBvciBsZWF2ZSBpdCB1cCB0byB0aGUgY29uc3Vt ZXIgb2YNCj4gdGhlIGxpYiB0bw0KPiA+ID4gY29udmVydCBhcyBuZWVkZWQ/ICBTZWVtcyBsaWtl IGFuIGFyZWEgdGhhdCBjb3VsZCBiZSB2ZXJ5IGVycm9yIHByb25lIGlmIHdlDQo+IGFyZSBub3QN Cj4gPiA+IGNhcmVmdWwuDQo+ID4gPg0KPiA+ID4gTWlrZQ0KPiA+ID4NCj4gPiA+ID4gLS0tLS1P cmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiA+ID4gRnJvbTogTGluLCBCZW5ueSA8YmVubnkubGlu QGludGVsLmNvbT4NCj4gPiA+ID4gU2VudDogV2VkbmVzZGF5LCBBcHJpbCAxOSwgMjAyMyA5OjI1 IFBNDQo+ID4gPiA+IFRvOiBLaW5uZXksIE1pY2hhZWwgRCA8bWljaGFlbC5kLmtpbm5leUBpbnRl bC5jb20+Ow0KPiBkZXZlbEBlZGsyLmdyb3Vwcy5pbw0KPiA+ID4gPiBDYzogR2FvLCBMaW1pbmcg PGdhb2xpbWluZ0BieW9zb2Z0LmNvbS5jbj47IExpdSwgWmhpZ3VhbmcNCj4gPHpoaWd1YW5nLmxp dUBpbnRlbC5jb20+OyBQZWRybyBGYWxjYXRvIDxwZWRyby5mYWxjYXRvQGdtYWlsLmNvbT4NCj4g PiA+ID4gU3ViamVjdDogUkU6IFtQQVRDSCB2MyAyLzNdIE1kZVBrZzogU3VwcG9ydCBGRFQgbGli cmFyeS4NCj4gPiA+ID4NCj4gPiA+ID4NCj4gPiA+ID4NCj4gPiA+ID4gPi0tLS0tT3JpZ2luYWwg TWVzc2FnZS0tLS0tDQo+ID4gPiA+ID5Gcm9tOiBLaW5uZXksIE1pY2hhZWwgRCA8bWljaGFlbC5k Lmtpbm5leUBpbnRlbC5jb20+DQo+ID4gPiA+ID5TZW50OiBUaHVyc2RheSwgQXByaWwgMjAsIDIw MjMgNTowNCBBTQ0KPiA+ID4gPiA+VG86IExpbiwgQmVubnkgPGJlbm55LmxpbkBpbnRlbC5jb20+ OyBkZXZlbEBlZGsyLmdyb3Vwcy5pbw0KPiA+ID4gPiA+Q2M6IEdhbywgTGltaW5nIDxnYW9saW1p bmdAYnlvc29mdC5jb20uY24+OyBMaXUsIFpoaWd1YW5nDQo+IDx6aGlndWFuZy5saXVAaW50ZWwu Y29tPjsgUGVkcm8gRmFsY2F0bw0KPiA+IDxwZWRyby5mYWxjYXRvQGdtYWlsLmNvbT47IEtpbm5l eSwNCj4gPiA+ID4gTWljaGFlbCBEIDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT4NCj4gPiA+ ID4gPlN1YmplY3Q6IFJFOiBbUEFUQ0ggdjMgMi8zXSBNZGVQa2c6IFN1cHBvcnQgRkRUIGxpYnJh cnkuDQo+ID4gPiA+ID4NCj4gPiA+ID4gPlJlc3BvbnNlcyBiZWxvdw0KPiA+ID4gPiA+DQo+ID4g PiA+ID5NaWtlDQo+ID4gPiA+ID4NCj4gPiA+ID4gPj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0t LS0NCj4gPiA+ID4gPj4gRnJvbTogTGluLCBCZW5ueSA8YmVubnkubGluQGludGVsLmNvbT4NCj4g PiA+ID4gPj4gU2VudDogV2VkbmVzZGF5LCBBcHJpbCAxOSwgMjAyMyAxMDoxMiBBTQ0KPiA+ID4g PiA+PiBUbzogS2lubmV5LCBNaWNoYWVsIEQgPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPjsN Cj4gPiA+ID4gPj4gZGV2ZWxAZWRrMi5ncm91cHMuaW8NCj4gPiA+ID4gPj4gQ2M6IEdhbywgTGlt aW5nIDxnYW9saW1pbmdAYnlvc29mdC5jb20uY24+OyBMaXUsIFpoaWd1YW5nDQo+ID4gPiA+ID4+ IDx6aGlndWFuZy5saXVAaW50ZWwuY29tPjsgUGVkcm8gRmFsY2F0byA8cGVkcm8uZmFsY2F0b0Bn bWFpbC5jb20+DQo+ID4gPiA+ID4+IFN1YmplY3Q6IFJFOiBbUEFUQ0ggdjMgMi8zXSBNZGVQa2c6 IFN1cHBvcnQgRkRUIGxpYnJhcnkuDQo+ID4gPiA+ID4+DQo+ID4gPiA+ID4+IFBsZWFzZSBmaW5k IG15IGZlZWRiYWNrIGJlbG93Lg0KPiA+ID4gPiA+PiBXZSBjYW4gcmVtb3ZlIEZEVF9SRVNFUlZF X0VOVFJZIGJ1dCBrZWVwIEZEVF9OT0RFX0hFQURFUiwNCj4gd2hhdCBkbyB5b3UgdGhpbms/DQo+ ID4gPiA+ID4+DQo+ID4gPiA+ID4+IFFRUQ0KPiA+ID4gPiA+PiBCZW5ueQ0KPiA+ID4gPiA+Pg0K PiA+ID4gPiA+PiA+LS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiA+ID4gPj4gPkZyb206 IEtpbm5leSwgTWljaGFlbCBEIDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT4NCj4gPiA+ID4g Pj4gPlNlbnQ6IFdlZG5lc2RheSwgQXByaWwgMTksIDIwMjMgMTE6NTQgUE0NCj4gPiA+ID4gPj4g PlRvOiBMaW4sIEJlbm55IDxiZW5ueS5saW5AaW50ZWwuY29tPjsgZGV2ZWxAZWRrMi5ncm91cHMu aW8NCj4gPiA+ID4gPj4gPkNjOiBHYW8sIExpbWluZyA8Z2FvbGltaW5nQGJ5b3NvZnQuY29tLmNu PjsgTGl1LCBaaGlndWFuZw0KPiA+ID4gPiA+PiA+PHpoaWd1YW5nLmxpdUBpbnRlbC5jb20+OyBQ ZWRybyBGYWxjYXRvIDxwZWRyby5mYWxjYXRvQGdtYWlsLmNvbT47DQo+ID4gPiA+ID4+ID5LaW5u ZXksDQo+ID4gPiA+ID4+IE1pY2hhZWwgRCA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+DQo+ ID4gPiA+ID4+ID5TdWJqZWN0OiBSRTogW1BBVENIIHYzIDIvM10gTWRlUGtnOiBTdXBwb3J0IEZE VCBsaWJyYXJ5Lg0KPiA+ID4gPiA+PiA+DQo+ID4gPiA+ID4+ID5BIGZldyBjb21tZW50cyBiZWxv dy4NCj4gPiA+ID4gPj4gPg0KPiA+ID4gPiA+PiA+TWlrZQ0KPiA+ID4gPiA+PiA+DQo+ID4gPiA+ ID4+ID4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gPiA+ID4+ID4+IEZyb206IExp biwgQmVubnkgPGJlbm55LmxpbkBpbnRlbC5jb20+DQo+ID4gPiA+ID4+ID4+IFNlbnQ6IFN1bmRh eSwgQXByaWwgMTYsIDIwMjMgMTA6MzUgUE0NCj4gPiA+ID4gPj4gPj4gVG86IGRldmVsQGVkazIu Z3JvdXBzLmlvDQo+ID4gPiA+ID4+ID4+IENjOiBMaW4sIEJlbm55IDxiZW5ueS5saW5AaW50ZWwu Y29tPjsgS2lubmV5LCBNaWNoYWVsIEQNCj4gPiA+ID4gPj4gPj4gPG1pY2hhZWwuZC5raW5uZXlA aW50ZWwuY29tPjsgR2FvLCBMaW1pbmcNCj4gPiA+ID4gPj4gPj4gPGdhb2xpbWluZ0BieW9zb2Z0 LmNvbS5jbj47IExpdSwgWmhpZ3VhbmcNCj4gPHpoaWd1YW5nLmxpdUBpbnRlbC5jb20+Ow0KPiA+ ID4gPiA+PiA+PiBQZWRybyBGYWxjYXRvIDxwZWRyby5mYWxjYXRvQGdtYWlsLmNvbT4NCj4gPiA+ ID4gPj4gPj4gU3ViamVjdDogW1BBVENIIHYzIDIvM10gTWRlUGtnOiBTdXBwb3J0IEZEVCBsaWJy YXJ5Lg0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiBGcm9tOiBCZW5ueSBMaW4gPGJlbm55 LmxpbkBpbnRlbC5jb20+DQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+IFJFRjogaHR0cHM6 Ly9idWd6aWxsYS50aWFub2NvcmUub3JnL3Nob3dfYnVnLmNnaT9pZD00MzkyDQo+ID4gPiA+ID4+ ID4+IEFkZCBGRFQgc3VwcG9ydCBpbiBFREsyIGJ5IHN1Ym1vZHVsZSAzcmQgcGFydHkgbGliZmR0 DQo+ID4gPiA+ID4+ID4+IChodHRwczovL2dpdGh1Yi5jb20vZGV2aWNldHJlZS1vcmcvcHlsaWJm ZHQvdHJlZS9tYWluL2xpYmZkdCkNCj4gPiA+ID4gPj4gPj4gYW5kIHJlZmVyIHRvIExpYmNMaWIg aW1wbGVtZW50YXRpb24gYnkgUGVkcm8uDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+IENj OiBNaWNoYWVsIEQgS2lubmV5IDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT4NCj4gPiA+ID4g Pj4gPj4gQ2M6IExpbWluZyBHYW8gPGdhb2xpbWluZ0BieW9zb2Z0LmNvbS5jbj4NCj4gPiA+ID4g Pj4gPj4gQ2M6IFpoaWd1YW5nIExpdSA8emhpZ3VhbmcubGl1QGludGVsLmNvbT4NCj4gPiA+ID4g Pj4gPj4gQWNrZWQtYnk6IFBlZHJvIEZhbGNhdG8gPHBlZHJvLmZhbGNhdG9AZ21haWwuY29tPg0K PiA+ID4gPiA+PiA+PiBTaWduZWQtb2ZmLWJ5OiBCZW5ueSBMaW4gPGJlbm55LmxpbkBpbnRlbC5j b20+DQo+ID4gPiA+ID4+ID4+IC0tLQ0KPiA+ID4gPiA+PiA+PiAgTWRlUGtnL0luY2x1ZGUvTGli cmFyeS9GZHRMaWIuaCAgICAgICAgICAgfCAzMTQNCj4gKysrKysrKysrKysrKysrKysrKysNCj4g PiA+ID4gPj4gPj4gIE1kZVBrZy9MaWJyYXJ5L0Jhc2VGZHRMaWIvQmFzZUZkdExpYi5pbmYgIHwg IDYyICsrKysNCj4gPiA+ID4gPj4gPj4gTWRlUGtnL0xpYnJhcnkvQmFzZUZkdExpYi9CYXNlRmR0 TGliLnVuaSAgfCAgMTQgKw0KPiA+ID4gPiA+PiA+PiAgTWRlUGtnL0xpYnJhcnkvQmFzZUZkdExp Yi9GZHRMaWIuYyAgICAgICAgfCAzMDENCj4gKysrKysrKysrKysrKysrKysrKw0KPiA+ID4gPiA+ PiA+PiAgTWRlUGtnL0xpYnJhcnkvQmFzZUZkdExpYi9MaWJGZHRTdXBwb3J0LmggfCAgOTkgKysr KysrDQo+ID4gPiA+ID4+ID4+IE1kZVBrZy9MaWJyYXJ5L0Jhc2VGZHRMaWIvTGliRmR0V3JhcHBl ci5jIHwgMTczICsrKysrKysrKysrDQo+ID4gPiA+ID4+ID4+ICBNZGVQa2cvTGlicmFyeS9CYXNl RmR0TGliL2xpbWl0cy5oICAgICAgICB8ICAxMCArDQo+ID4gPiA+ID4+ID4+ICBNZGVQa2cvTGli cmFyeS9CYXNlRmR0TGliL3N0ZGJvb2wuaCAgICAgICB8ICAxMCArDQo+ID4gPiA+ID4+ID4+ICBN ZGVQa2cvTGlicmFyeS9CYXNlRmR0TGliL3N0ZGRlZi5oICAgICAgICB8ICAxMCArDQo+ID4gPiA+ ID4+ID4+ICBNZGVQa2cvTGlicmFyeS9CYXNlRmR0TGliL3N0ZGludC5oICAgICAgICB8ICAxMCAr DQo+ID4gPiA+ID4+ID4+ICBNZGVQa2cvTGlicmFyeS9CYXNlRmR0TGliL3N0ZGxpYi5oICAgICAg ICB8ICAxMCArDQo+ID4gPiA+ID4+ID4+ICBNZGVQa2cvTGlicmFyeS9CYXNlRmR0TGliL3N0cmlu Zy5oICAgICAgICB8ICAxMCArDQo+ID4gPiA+ID4+ID4+ICBNZGVQa2cvTWRlUGtnLmNpLnlhbWwg ICAgICAgICAgICAgICAgICAgICB8ICAxNyArLQ0KPiA+ID4gPiA+PiA+PiAgTWRlUGtnL01kZVBr Zy5kZWMgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDQgKw0KPiA+ID4gPiA+PiA+PiAgTWRl UGtnL01kZVBrZy5kc2MgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDEgKw0KPiA+ID4gPiA+ PiA+PiAgMTUgZmlsZXMgY2hhbmdlZCwgMTA0MyBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygt KQ0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiBkaWZmIC0tZ2l0IGEvTWRlUGtnL0luY2x1 ZGUvTGlicmFyeS9GZHRMaWIuaA0KPiA+ID4gPiA+PiA+PiBiL01kZVBrZy9JbmNsdWRlL0xpYnJh cnkvRmR0TGliLmggbmV3IGZpbGUgbW9kZSAxMDA2NDQgaW5kZXgNCj4gPiA+ID4gPj4gPj4gMDAw MDAwMDAwMC4uZDU5Yjc0OWMyNQ0KPiA+ID4gPiA+PiA+PiAtLS0gL2Rldi9udWxsDQo+ID4gPiA+ ID4+ID4+ICsrKyBiL01kZVBrZy9JbmNsdWRlL0xpYnJhcnkvRmR0TGliLmgNCj4gPiA+ID4gPj4g Pj4gQEAgLTAsMCArMSwzMTQgQEANCj4gPiA+ID4gPj4gPj4gKy8qKiBAZmlsZQ0KPiA+ID4gPiA+ PiA+Pg0KPiA+ID4gPiA+PiA+PiArICBGbGF0dGVuZWQgRGV2aWNlIFRyZWUgTGlicmFyeS4NCj4g PiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKw0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+ PiArICBDb3B5cmlnaHQgKGMpIDIwMjMsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJl c2VydmVkLjxCUj4NCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKyAgU1BEWC1MaWNlbnNl LUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4g Pj4gPj4gKw0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArKiovDQo+ID4gPiA+ID4+ID4+ DQo+ID4gPiA+ID4+ID4+ICsNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKyNpZm5kZWYg RkRUX0xJQl9IXw0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArI2RlZmluZSBGRFRfTElC X0hfDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ ID4gPj4gPj4gKy8vLw0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArLy8vIEZsYXR0ZW5l ZCBEZXZpY2UgVHJlZSBkZWZpbml0aW9uDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsv Ly8NCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gK3R5cGVkZWYgc3RydWN0IHsNCj4gPiA+ ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKyAgVUlOVDMyICAgIE1hZ2ljOyAgICAgICAgICAgICAg IC8qIG1hZ2ljIHdvcmQgRkRUX01BR0lDICovDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ ICsgIFVJTlQzMiAgICBUb3RhbFNpemU7ICAgICAgICAgICAvKiB0b3RhbCBzaXplIG9mIERUIGJs b2NrICovDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsgIFVJTlQzMiAgICBPZmZzZXRE dFN0cnVjdDsgICAgICAvKiBvZmZzZXQgdG8gc3RydWN0dXJlICovDQo+ID4gPiA+ID4+ID4+DQo+ ID4gPiA+ID4+ID4+ICsgIFVJTlQzMiAgICBPZmZzZXREdFN0cmluZ3M7ICAgICAvKiBvZmZzZXQg dG8gc3RyaW5ncyAqLw0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArICBVSU5UMzIgICAg T2Zmc2V0TWVtUnN2bWFwOyAgICAgLyogb2Zmc2V0IHRvIG1lbW9yeSByZXNlcnZlIG1hcA0KPiAq Lw0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArICBVSU5UMzIgICAgVmVyc2lvbjsgICAg ICAgICAgICAgLyogZm9ybWF0IHZlcnNpb24gKi8NCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4g Pj4gKyAgVUlOVDMyICAgIExhc3RDb21wVmVyc2lvbjsgICAgIC8qIGxhc3QgY29tcGF0aWJsZSB2 ZXJzaW9uICovDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsNCj4gPiA+ID4gPj4gPj4N Cj4gPiA+ID4gPj4gPj4gKyAgLyogdmVyc2lvbiAyIGZpZWxkcyBiZWxvdyAqLw0KPiA+ID4gPiA+ PiA+Pg0KPiA+ID4gPiA+PiA+PiArICBVSU5UMzIgICAgQm9vdENwdWlkUGh5czsgICAgICAgLyog V2hpY2ggcGh5c2ljYWwgQ1BVIGlkIHdlJ3JlDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib290aW5nIG9uICovDQo+ID4g PiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsgIC8qIHZlcnNpb24gMyBmaWVsZHMgYmVsb3cgKi8N Cj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKyAgVUlOVDMyICAgIFNpemVEdFN0cmluZ3M7 ICAgICAgIC8qIHNpemUgb2YgdGhlIHN0cmluZ3MgYmxvY2sgKi8NCj4gPiA+ID4gPj4gPj4NCj4g PiA+ID4gPj4gPj4gKw0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArICAvKiB2ZXJzaW9u IDE3IGZpZWxkcyBiZWxvdyAqLw0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArICBVSU5U MzIgICAgU2l6ZUR0U3RydWN0OyAgICAgICAgLyogc2l6ZSBvZiB0aGUgc3RydWN0dXJlIGJsb2Nr ICovDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICt9IEZEVF9IRUFERVI7DQo+ID4gPiA+ ID4+ID4NCj4gPiA+ID4gPj4gPkkgc2VlIHRoZSBtYWNyb3MgYmVsb3cgdXNlIFN3YXBCeXRlczMy KCkgb24gYWxsIHRoZSBmaWVsZHMgZnJvbSB0aGlzDQo+ID4gPiA+ID4+ID5zdHJ1Y3R1cmUuICBE b2VzIHRoaXMgbWVhbiB0aGlzIHN0cnVjdHVyZSBpcyBiaWcgPmVuZGlhbj8gIElmDQo+ID4gPiA+ ID4+IHRoYXQgaXMgdGhlIGNhc2UsIHRoZW4gdGhlIGRlc2NyaXB0aW9uIG9mIHRoaXMgc3RydWN0 dXJlIGFuZCBhbGwNCj4gPiA+ID4gPj4gaW5kaXZpZHVhbCBmaWVsZHMgbXVzdCBtYWtlIHRoYXQg dmVyeSBjbGVhciA+c28gYW55IGNvbnN1bWVyIG9mIHRoZQ0KPiA+ID4gPiA+PiBzdHJ1Y3R1cmUg a25vd3MgaXQgZG9lcyBub3QgZm9sbG93IHRoZSBkZWZhdWx0IGVuZGlhbm5lc3Mgb2YgVUVGSS9Q SQ0KPiBhbmQgdGhhdCBjb25zdW1lcnMgPm11c3QgZWl0aGVyIHVzZSB0aGUgbWFjcm9zIG9yDQo+ ID4gY29uc3VtZXJzDQo+ID4gPiA+IG11c3QgdXNlIFN3YXBCeXRlczMyKCkgb24gdGhlaXIgb3du IHdoZW4gdXNpbmcgdGhpcyBzdHJ1Y3R1cmUgZGlyZWN0bHkuDQo+ID4gPiA+ID4+DQo+ID4gPiA+ ID4+IFllcywgaXQncyBiaWcgZW5kaWFuLiBJIHdpbGwgY29tcGxldGUgbW9yZSBkZXNjcmlwdGlv bnMgaW4gcGF0Y2ggdjQuDQo+ID4gPiA+ID4NCj4gPiA+ID4gPldvdWxkIGl0IGJlIHNpbXBsZXIg aWYgd2UgaGF2ZSBhIGxpYiBzZXJ2aWNlIHRoYXQgY29udmVydHMgdGhlIGVudGlyZSBoZWFkZXIN Cj4gZnJvbSBiaWcgZW5kaWFuIHRvIGxpdHRsZSBlbmRpYW4uDQo+ID4gPiA+ID5UaGF0IHdheSwg dGhlIGNvbnN1bWVyIGNhbiB1c2UgdGhlIEZEVF9IRUFERVIgZGlyZWN0bHkgd2l0aG91dCBhbnkg b2YNCj4gdGhlIG1hY3Jvcz8NCj4gPiA+ID4gPg0KPiA+ID4gPiA+QWxzbywgaXMgdGhlIHJlc3Qg b2YgdGhlIEZEVCBibG9iIGFsc28gYmlnIGVuZGlhbj8NCj4gPiA+ID4NCj4gPiA+ID4gRkRUIGJs b2IgZm9ybWF0IGlzIGJpbmFyeSBlbmNvZGluZyBvZiBGRFQgZGF0YSB3aXRoIGJpZyBlbmRpYW4u IEluIGFkZGl0aW9uLA0KPiB0aGUgY29uc3VtZXIgd2lsbCBzZXQgb3IgZ2V0IEZEVCBkYXRhIHdp dGggRkRUDQo+ID4gYmxvYi4gV2UNCj4gPiA+ID4gY2FuIGNvbXBsZXRlIG1vcmUgZGVzY3JpcHRp b25zIHRvIHdhcm4gY29uc3VtZXJzIHRvIGJlIGNhcmVmdWwgaWYganVzdCB1c2UNCj4gaGVhZGVy IHN0cnVjdCBmb3IgbWFwcGluZyBhbmQgZ2V0L3NldCBGRFQgZGF0YQ0KPiA+IHdpdGggRkRUDQo+ ID4gPiA+IGJsb2IuDQo+ID4gPiA+DQo+ID4gPiA+IEZvciBwcm92aWRlIGxpYiBzZXJ2aWNlcyB0 aGF0IGNvbnZlcnRzIGJldHdlZW4gYmlnIGVuZGlhbiBhbmQgbGl0dGxlIGVuZGlhbiwNCj4gd2Ug Y2FuIHByb3ZpZGUgYSBnZXQgaGVhZGVyIGZ1bmN0aW9uIHRvIGNvbnZlcnQNCj4gPiBiZXR3ZWVu DQo+ID4gPiA+IGJpZyBlbmRpYW4gYW5kIGxpdHRsZSBlbmRpYW4uIEhvd2V2ZXIsIHdlIGFsc28g bmVlZCB0byBjb25zaWRlciB0aGUNCj4gcHJvcGVydHkgdmFsdWUgZm9yIHNldHRpbmcgYW5kIGdl dHRpbmcgdGhlbiB3ZSBjYW4NCj4gPiBjb252ZXJ0IGluDQo+ID4gPiA+IHdyYXBwZXIgZnVuY3Rp b25zLg0KPiA+ID4gPg0KPiA+ID4gPiBGb3IgZXhhbXBsZSwNCj4gPiA+ID4NCj4gPiA+ID4gSU5U MzINCj4gPiA+ID4gRUZJQVBJDQo+ID4gPiA+IEZkdFNldFByb3AgKA0KPiA+ID4gPiAgIElOIFZP SUQgICAgICAgICAqRmR0LA0KPiA+ID4gPiAgIElOIElOVDMyICAgICAgICBOb2RlT2Zmc2V0LA0K PiA+ID4gPiAgIElOIENPTlNUIENIQVI4ICAqTmFtZSwNCj4gPiA+ID4gICBJTiBDT05TVCBWT0lE ICAgKlZhbHVlLA0KPiA+ID4gPiAgIElOIFVJTlQzMiAgICAgICBMZW5ndGgNCj4gPiA+ID4gICAp DQo+ID4gPiA+IHsNCj4gPiA+ID4gICByZXR1cm4gZmR0X3NldHByb3AgKEZkdCwgTm9kZU9mZnNl dCwgTmFtZSwgVmFsdWUsIChpbnQpTGVuZ3RoKTsNCj4gPiA+ID4gfQ0KPiA+ID4gPg0KPiA+ID4g PiBNb3JlIGZ1bmN0aW9ucyBmb3IgdmFyaW91cyBieXRlIHdpZHRoLg0KPiA+ID4gPiBJTlQzMg0K PiA+ID4gPiBFRklBUEkNCj4gPiA+ID4gRmR0U2V0UHJvcDE2ICgNCj4gPiA+ID4gICBJTiBWT0lE ICAgICAgICAgKkZkdCwNCj4gPiA+ID4gICBJTiBJTlQzMiAgICAgICAgTm9kZU9mZnNldCwNCj4g PiA+ID4gICBJTiBDT05TVCBDSEFSOCAgKk5hbWUsDQo+ID4gPiA+ICAgSU4gQ09OU1QgVUlOVDE2 ICAgKlZhbHVlLA0KPiA+ID4gPiAgIElOIFVJTlQzMiAgICAgICBMZW5ndGgNCj4gPiA+ID4gICAp DQo+ID4gPiA+IHsNCj4gPiA+ID4gICByZXR1cm4gZmR0X3NldHByb3AgKEZkdCwgTm9kZU9mZnNl dCwgTmFtZSwgU3dhcEJ5dGVzMTYoVmFsdWUpLA0KPiAoaW50KUxlbmd0aCk7DQo+ID4gPiA+IH0N Cj4gPiA+ID4NCj4gPiA+ID4gSU5UMzINCj4gPiA+ID4gRUZJQVBJDQo+ID4gPiA+IEZkdFNldFBy b3AzMiAoDQo+ID4gPiA+ICAgSU4gVk9JRCAgICAgICAgICpGZHQsDQo+ID4gPiA+ICAgSU4gSU5U MzIgICAgICAgIE5vZGVPZmZzZXQsDQo+ID4gPiA+ICAgSU4gQ09OU1QgQ0hBUjggICpOYW1lLA0K PiA+ID4gPiAgIElOIENPTlNUIFVJTlQzMiAgICpWYWx1ZSwNCj4gPiA+ID4gICBJTiBVSU5UMzIg ICAgICAgTGVuZ3RoDQo+ID4gPiA+ICAgKQ0KPiA+ID4gPiB7DQo+ID4gPiA+ICAgcmV0dXJuIGZk dF9zZXRwcm9wIChGZHQsIE5vZGVPZmZzZXQsIE5hbWUsIFN3YXBCeXRlczMyKFZhbHVlKSwNCj4g KGludClMZW5ndGgpOw0KPiA+ID4gPiB9DQo+ID4gPiA+DQo+ID4gPiA+ID4+DQo+ID4gPiA+ID4+ ID4+DQo+ID4gPiA+ID4+ID4+ICsNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gK3R5cGVk ZWYgc3RydWN0IHsNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKyAgVUlOVDY0ICAgIEFk ZHJlc3M7DQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsgIFVJTlQ2NCAgICBTaXplOw0K PiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArfSBGRFRfUkVTRVJWRV9FTlRSWTsNCj4gPiA+ ID4gPj4gPg0KPiA+ID4gPiA+PiA+DQo+ID4gPiA+ID4+ID5JIGRvIG5vdCBzZWUgdGhpcyB0eXBl IHVzZWQgYW55d2hlcmUgaW4gdGhlIGxpYiBjbGFzcyBvciB0aGUgbGliIGluc3RhbmNlLg0KPiA+ ID4gPiA+PiA+Q2FuIGl0IGJlIHJlbW92ZWQ/DQo+ID4gPiA+ID4+DQo+ID4gPiA+ID4+IEkgdGhp bmsgd2UgY2FuIHJlbW92ZSBpdCBiZWNhdXNlIGl0IG1pZ2h0IGJlIG5vdCB1c2VkIGZvciBmdXJ0 aGVyIHVzYWdlDQo+IG9mIEZEVCBzdXBwb3J0Lg0KPiA+ID4gPiA+Pg0KPiA+ID4gPiA+PiA+DQo+ ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4g Pj4gK3R5cGVkZWYgc3RydWN0IHsNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKyAgVUlO VDMyICAgIFRhZzsNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKyAgQ0hBUjggICAgIE5h bWVbXTsNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gK30gRkRUX05PREVfSEVBREVSOw0K PiA+ID4gPiA+PiA+DQo+ID4gPiA+ID4+ID4NCj4gPiA+ID4gPj4gPkkgZG8gbm90IHNlZSB0aGlz IHR5cGUgdXNlZCBhbnl3aGVyZSBpbiB0aGUgbGliIGNsYXNzIG9yIHRoZSBsaWIgaW5zdGFuY2Uu DQo+ID4gPiA+ID4+ID5DYW4gaXQgYmUgcmVtb3ZlZD8NCj4gPiA+ID4gPj4NCj4gPiA+ID4gPj4g V2hlbiB3ZSBuZWVkIHJldHJpZXZlIGEgbm9kZSBmcm9tIGEgRkRUIGJsb2IsIHdlIHdpbGwgZ2V0 IGEgbm9kZQ0KPiA+ID4gPiA+PiBvZmZzZXQgdGhlbiB3ZSBjb3VsZCB1c2UgdGhlIHN0cnVjdCB0 byBtYXAgdGhlIG5vZGUgY29udGVudC4gSXQncyB2ZXJ5DQo+IHVzZWZ1bC4NCj4gPiA+ID4gPg0K PiA+ID4gPiA+UGxlYXNlIGFkZCBhIGNvbW1lbnQgaGVhZGVyIGZvciB0aGlzIHN0cnVjdHVyZSBh bmQgZGVzY3JpYmUgdGhlIHVzYWdlIGFzDQo+IGl0IHJlbGF0ZWQgdG8gdGhlIHJlc3Qgb2YgdGhl IEZkdExpYiA+c2VydmljZXMuDQo+ID4gPiA+DQo+ID4gPiA+IEkgd2lsbCBhZGQgZGVzY3JpcHRp b25zIGZvciB0aGUgdXNhZ2UgYW5kIHJlbW92ZSBGRFRfUkVTRVJWRV9FTlRSWSBpbg0KPiBwYXRj aCB2NC4NCj4gPiA+ID4NCj4gPiA+ID4gPg0KPiA+ID4gPiA+Pg0KPiA+ID4gPiA+PiA+DQo+ID4g PiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4g K3R5cGVkZWYgc3RydWN0IHsNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKyAgVUlOVDMy ICAgIFRhZzsNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKyAgVUlOVDMyICAgIExlbmd0 aDsNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKyAgVUlOVDMyICAgIE5hbWVPZmZzZXQ7 DQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsgIENIQVI4ICAgICBEYXRhW107DQo+ID4g PiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICt9IEZEVF9QUk9QRVJUWTsNCj4gPiA+ID4gPj4gPj4N Cj4gPiA+ID4gPj4gPj4gKw0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArI2RlZmluZSBG RFRfR0VUX0hFQURFUihGZHQsIEZpZWxkKSAgU3dhcEJ5dGVzMzIoKChDT05TVA0KPiBGRFRfSEVB REVSDQo+ID4gPiA+ID4+ID4+ICsqKShGZHQpKS0+RmllbGQpDQo+ID4gPiA+ID4+ID4+DQo+ID4g PiA+ID4+ID4+ICsNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKyNkZWZpbmUgRkRUX01B R0lDKEZkdCkgICAgICAgICAgICAgIChGRFRfR0VUX0hFQURFUihGZHQsIE1hZ2ljKSkNCj4gPiA+ ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKyNkZWZpbmUgRkRUX1RPVEFMX1NJWkUoRmR0KSAgICAg ICAgIChGRFRfR0VUX0hFQURFUihGZHQsDQo+IFRvdGFsU2l6ZSkpDQo+ID4gPiA+ID4+ID4+DQo+ ID4gPiA+ID4+ID4+ICsjZGVmaW5lIEZEVF9PRkZTRVRfRFRfU1RSVUNUKEZkdCkgICAoRkRUX0dF VF9IRUFERVIoRmR0LA0KPiBPZmZzZXREdFN0cnVjdCkpDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ ID4+ID4+ICsjZGVmaW5lIEZEVF9PRkZTRVRfRFRfU1RSSU5HUyhGZHQpICAoRkRUX0dFVF9IRUFE RVIoRmR0LA0KPiA+ID4gPiA+PiA+PiArT2Zmc2V0RHRTdHJpbmdzKSkNCj4gPiA+ID4gPj4gPj4N Cj4gPiA+ID4gPj4gPj4gKyNkZWZpbmUgRkRUX09GRlNFVF9NRU1fUlNWTUFQKEZkdCkgIChGRFRf R0VUX0hFQURFUihGZHQsDQo+ID4gPiA+ID4+ID4+ICtPZmZzZXRNZW1Sc3ZtYXApKQ0KPiA+ID4g PiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArI2RlZmluZSBGRFRfVkVSU0lPTihGZHQpICAgICAgICAg ICAgKEZEVF9HRVRfSEVBREVSKEZkdCwgVmVyc2lvbikpDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ ID4+ID4+ICsjZGVmaW5lIEZEVF9MQVNUX0NPTVBfVkVSU0lPTihGZHQpICAoRkRUX0dFVF9IRUFE RVIoRmR0LA0KPiA+ID4gPiA+PiA+PiArTGFzdENvbXBWZXJzaW9uKSkNCj4gPiA+ID4gPj4gPj4N Cj4gPiA+ID4gPj4gPj4gKyNkZWZpbmUgRkRUX0JPT1RfQ1BVSURfUEhZUyhGZHQpICAgIChGRFRf R0VUX0hFQURFUihGZHQsDQo+IEJvb3RDcHVpZFBoeXMpKQ0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4g PiA+PiA+PiArI2RlZmluZSBGRFRfU0laRV9EVF9TVFJJTkdTKEZkdCkgICAgKEZEVF9HRVRfSEVB REVSKEZkdCwNCj4gU2l6ZUR0U3RyaW5ncykpDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ ICsjZGVmaW5lIEZEVF9TSVpFX0RUX1NUUlVDVChGZHQpICAgICAoRkRUX0dFVF9IRUFERVIoRmR0 LA0KPiBTaXplRHRTdHJ1Y3QpKQ0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArDQo+ID4g PiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsvKioNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4g Pj4gKyAgVmVyaWZ5IHRoZSBoZWFkZXIgb2YgdGhlIEZsYXR0ZW5lZCBEZXZpY2UgVHJlZQ0KPiA+ ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ ICsgIEBwYXJhbVtpbl0gRmR0ICAgICAgICAgICAgVGhlIHBvaW50ZXIgdG8gRkRUIGJsb2IuDQo+ ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4g Pj4gKyAgQHJldHVybiBaZXJvIGZvciBzdWNjZXNzZnVsbHksIG90aGVyd2lzZSBmYWlsZWQuDQo+ ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4g Pj4gKyoqLw0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArSU5UMzINCj4gPiA+ID4gPj4g Pj4NCj4gPiA+ID4gPj4gPj4gK0VGSUFQSQ0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiAr RmR0Q2hlY2tIZWFkZXIgKA0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArICBJTiBDT05T VCBWT0lEICAqRmR0DQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsgICk7DQo+ID4gPiA+ ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKy8q Kg0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArICBDcmVhdGUgYSBlbXB0eSBGbGF0dGVu ZWQgRGV2aWNlIFRyZWUuDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsNCj4gPiA+ID4g Pj4gPj4NCj4gPiA+ID4gPj4gPj4gKyAgQHBhcmFtW2luXSBCdWZmZXIgICAgICAgICBUaGUgcG9p bnRlciB0byBhbGxvY2F0ZSBhIHBvb2wgZm9yIEZEVCBibG9iLg0KPiA+ID4gPiA+PiA+Pg0KPiA+ ID4gPiA+PiA+PiArICBAcGFyYW1baW5dIEJ1ZmZlclNpemUgICAgIFRoZSBCdWZmZXJTaXplIHRv IHRoZSBwb29sIHNpemUuDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsNCj4gPiA+ID4g Pj4gPj4NCj4gPiA+ID4gPj4gPj4gKyAgQHJldHVybiBaZXJvIGZvciBzdWNjZXNzZnVsbHksIG90 aGVyd2lzZSBmYWlsZWQuDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsNCj4gPiA+ID4g Pj4gPj4NCj4gPiA+ID4gPj4gPj4gKyoqLw0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiAr UkVUVVJOX1NUQVRVUw0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArRUZJQVBJDQo+ID4g PiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICtGZHRDcmVhdGVFbXB0eVRyZWUgKA0KPiA+ID4gPiA+ PiA+Pg0KPiA+ID4gPiA+PiA+PiArICBJTiBWT0lEICAgKkJ1ZmZlciwNCj4gPiA+ID4gPj4gPj4N Cj4gPiA+ID4gPj4gPj4gKyAgSU4gVUlOVE4gIEJ1ZmZlclNpemUNCj4gPiA+ID4gPj4gPj4NCj4g PiA+ID4gPj4gPj4gKyAgKTsNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKw0KPiA+ID4g PiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArLyoqDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ ICsgIFJldHVybnMgYSBvZmZzZXQgb2YgbmV4dCBub2RlIGZyb20gdGhlIGdpdmVuIG5vZGUuDQo+ ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4g Pj4gKyAgQHBhcmFtW2luXSBGZHQgICAgICAgICAgICBUaGUgcG9pbnRlciB0byBGRFQgYmxvYi4N Cj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKyAgQHBhcmFtW2luXSBPZmZzZXQgICAgICAg ICBUaGUgb2Zmc2V0IHRvIHByZXZpb3VzIG5vZGUuDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ ID4+ICsgIEBwYXJhbVtpbl0gRGVwdGggICAgICAgICAgVGhlIGRlcHRoIHRvIHRoZSBsZXZlbCBv ZiB0cmVlIGhpZXJhcmNoeS4NCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKw0KPiA+ID4g PiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArICBAcmV0dXJuIFRoZSBvZmZzZXQgdG8gbmV4dCBub2Rl IG9mZnNldC4NCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKw0KPiA+ID4gPiA+PiA+Pg0K PiA+ID4gPiA+PiA+PiArKiovDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICtJTlQzMg0K PiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArRUZJQVBJDQo+ID4gPiA+ID4+ID4+DQo+ID4g PiA+ID4+ID4+ICtGZHROZXh0Tm9kZSAoDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsg IElOIENPTlNUIFZPSUQgICpGZHQsDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsgIElO IElOVDMyICAgICAgIE9mZnNldCwNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKyAgSU4g SU5UMzIgICAgICAgKkRlcHRoDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsgICk7DQo+ ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4g Pj4gKy8qKg0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArICBSZXR1cm5zIGEgb2Zmc2V0 IG9mIGZpcnN0IG5vZGUgdW5kZXIgdGhlIGdpdmVuIG5vZGUuDQo+ID4gPiA+ID4+ID4+DQo+ID4g PiA+ID4+ID4+ICsNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKyAgQHBhcmFtW2luXSBG ZHQgICAgICAgICAgICBUaGUgcG9pbnRlciB0byBGRFQgYmxvYi4NCj4gPiA+ID4gPj4gPj4NCj4g PiA+ID4gPj4gPj4gKyAgQHBhcmFtW2luXSBPZmZzZXQgICAgICAgICBUaGUgb2Zmc2V0IHRvIHBy ZXZpb3VzIG5vZGUuDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsNCj4gPiA+ID4gPj4g Pj4NCj4gPiA+ID4gPj4gPj4gKyAgQHJldHVybiBUaGUgb2Zmc2V0IHRvIG5leHQgbm9kZSBvZmZz ZXQuDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ ID4gPj4gPj4gKyoqLw0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArSU5UMzINCj4gPiA+ ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gK0VGSUFQSQ0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+ PiA+PiArRmR0Rmlyc3RTdWJub2RlICgNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKyAg SU4gQ09OU1QgVk9JRCAgKkZkdCwNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKyAgSU4g SU5UMzIgICAgICAgT2Zmc2V0DQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsgICk7DQo+ ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4g Pj4gKy8qKg0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArICBSZXR1cm5zIGEgb2Zmc2V0 IG9mIG5leHQgbm9kZSBmcm9tIHRoZSBnaXZlbiBub2RlLg0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4g PiA+PiA+PiArDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsgIEBwYXJhbVtpbl0gRmR0 ICAgICAgICAgICAgVGhlIHBvaW50ZXIgdG8gRkRUIGJsb2IuDQo+ID4gPiA+ID4+ID4+DQo+ID4g PiA+ID4+ID4+ICsgIEBwYXJhbVtpbl0gT2Zmc2V0ICAgICAgICAgVGhlIG9mZnNldCB0byBwcmV2 aW91cyBub2RlLg0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArDQo+ID4gPiA+ID4+ID4+ DQo+ID4gPiA+ID4+ID4+ICsgIEByZXR1cm4gVGhlIG9mZnNldCB0byBuZXh0IG5vZGUgb2Zmc2V0 Lg0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ ID4+ID4+ICsqKi8NCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gK0lOVDMyDQo+ID4gPiA+ ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICtFRklBUEkNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4g Pj4gK0ZkdE5leHRTdWJub2RlICgNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKyAgSU4g Q09OU1QgVk9JRCAgKkZkdCwNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKyAgSU4gSU5U MzIgICAgICAgT2Zmc2V0DQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsgICk7DQo+ID4g PiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4g Ky8qKg0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArICBSZXR1cm5zIGEgb2Zmc2V0IG9m IGZpcnN0IG5vZGUgd2hpY2ggaW5jbHVkZXMgdGhlIGdpdmVuIG5hbWUuDQo+ID4gPiA+ID4+ID4+ DQo+ID4gPiA+ID4+ID4+ICsNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKyAgQHBhcmFt W2luXSBGZHQgICAgICAgICAgICAgVGhlIHBvaW50ZXIgdG8gRkRUIGJsb2IuDQo+ID4gPiA+ID4+ ID4+DQo+ID4gPiA+ID4+ID4+ICsgIEBwYXJhbVtpbl0gUGFyZW50T2Zmc2V0ICAgIFRoZSBvZmZz ZXQgdG8gdGhlIG5vZGUgd2hpY2ggc3RhcnQgZmluZA0KPiB1bmRlci4NCj4gPiA+ID4gPj4gPj4N Cj4gPiA+ID4gPj4gPj4gKyAgQHBhcmFtW2luXSBOYW1lICAgICAgICAgICAgVGhlIG5hbWUgdG8g c2VhcmNoIHRoZSBub2RlIHdpdGggdGhlDQo+IG5hbWUuDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ ID4+ID4+ICsgIEBwYXJhbVtpbl0gTmFtZUxlbmd0aCAgICAgIFRoZSBsZW5ndGggb2YgdGhlIG5h bWUgdG8gY2hlY2sgb25seS4NCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKw0KPiA+ID4g PiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArICBAcmV0dXJuIFRoZSBvZmZzZXQgdG8gbm9kZSBvZmZz ZXQgd2l0aCBnaXZlbiBub2RlIG5hbWUuDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsN Cj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKyoqLw0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4g PiA+PiA+PiArSU5UMzINCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gK0VGSUFQSQ0KPiA+ ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArRmR0U3Vibm9kZU9mZnNldE5hbWVMZW4gKA0KPiA+ ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArICBJTiBDT05TVCBWT0lEICAgKkZkdCwNCj4gPiA+ ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKyAgSU4gSU5UMzIgICAgICAgIFBhcmVudE9mZnNldCwN Cj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKyAgSU4gQ09OU1QgQ0hBUjggICpOYW1lLA0K PiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArICBJTiBJTlQzMiAgICAgICAgTmFtZUxlbmd0 aA0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArICApOw0KPiA+ID4gPiA+PiA+Pg0KPiA+ ID4gPiA+PiA+PiArDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsvKioNCj4gPiA+ID4g Pj4gPj4NCj4gPiA+ID4gPj4gPj4gKyAgUmV0dXJucyBhIG9mZnNldCBvZiBmaXJzdCBub2RlIHdo aWNoIGluY2x1ZGVzIHRoZSBnaXZlbiBwcm9wZXJ0eQ0KPiBuYW1lIGFuZCB2YWx1ZS4NCj4gPiA+ ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKw0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiAr ICBAcGFyYW1baW5dIEZkdCAgICAgICAgICAgICBUaGUgcG9pbnRlciB0byBGRFQgYmxvYi4NCj4g PiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKyAgQHBhcmFtW2luXSBTdGFydE9mZnNldCAgICAg VGhlIG9mZnNldCB0byB0aGUgc3RhcnRpbmcgbm9kZSB0byBmaW5kLg0KPiA+ID4gPiA+PiA+Pg0K PiA+ID4gPiA+PiA+PiArICBAcGFyYW1baW5dIFByb3BlcnR5TmFtZSAgICBUaGUgcHJvcGVydHkg bmFtZSB0byBzZWFyY2ggdGhlDQo+IG5vZGUgaW5jbHVkaW5nIHRoZSBuYW1lZCBwcm9wZXJ0eS4N Cj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKyAgQHBhcmFtW2luXSBQcm9wZXJ0eVZhbHVl ICAgVGhlIHByb3BlcnR5IHZhbHVlIHRvIGNoZWNrIHRoZSBzYW1lDQo+IHByb3BlcnR5IHZhbHVl Lg0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArICBAcGFyYW1baW5dIFByb3BlcnR5TGVu Z3RoICBUaGUgbGVuZ3RoIG9mIHRoZSB2YWx1ZSBpbg0KPiBQcm9wZXJ0VmFsdWUuDQo+ID4gPiA+ ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKyAg QHJldHVybiBUaGUgb2Zmc2V0IHRvIG5vZGUgb2Zmc2V0IHdpdGggZ2l2ZW4gcHJvcGVydHkuDQo+ ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4g Pj4gKyoqLw0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArSU5UMzINCj4gPiA+ID4gPj4g Pj4NCj4gPiA+ID4gPj4gPj4gK0VGSUFQSQ0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiAr RmR0Tm9kZU9mZnNldEJ5UHJvcFZhbHVlICgNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4g KyAgSU4gQ09OU1QgVk9JRCAgICpGZHQsDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsg IElOIElOVDMyICAgICAgICBTdGFydE9mZnNldCwNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4g Pj4gKyAgSU4gQ09OU1QgQ0hBUjggICpQcm9wZXJ0eU5hbWUsDQo+ID4gPiA+ID4+ID4+DQo+ID4g PiA+ID4+ID4+ICsgIElOIENPTlNUIFZPSUQgICAqUHJvcGVydHlWYWx1ZSwNCj4gPiA+ID4gPj4g Pj4NCj4gPiA+ID4gPj4gPj4gKyAgSU4gSU5UMzIgICAgICAgIFByb3BlcnR5TGVuZ3RoDQo+ID4g PiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsgICk7DQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ ID4+ICsNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKy8qKg0KPiA+ID4gPiA+PiA+Pg0K PiA+ID4gPiA+PiA+PiArICBSZXR1cm5zIGEgcHJvcGVydHkgd2l0aCB0aGUgZ2l2ZW4gbmFtZSBm cm9tIHRoZSBnaXZlbiBub2RlLg0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArDQo+ID4g PiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsgIEBwYXJhbVtpbl0gRmR0ICAgICAgICAgICAgVGhl IHBvaW50ZXIgdG8gRkRUIGJsb2IuDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsgIEBw YXJhbVtpbl0gTm9kZU9mZnNldCAgICAgVGhlIG9mZnNldCB0byB0aGUgZ2l2ZW4gbm9kZS4NCj4g PiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKyAgQHBhcmFtW2luXSBOYW1lICAgICAgICAgICBU aGUgbmFtZSB0byB0aGUgcHJvcGVydHkgd2hpY2ggbmVlZCBiZQ0KPiBzZWFyY2hlZA0KPiA+ID4g PiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArICBAcGFyYW1baW5dIExlbmd0aCAgICAgICAgIFRoZSBs ZW5ndGggdG8gdGhlIHNpemUgb2YgdGhlIHByb3BlcnR5DQo+IGZvdW5kLg0KPiA+ID4gPiA+PiA+ Pg0KPiA+ID4gPiA+PiA+PiArDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsgIEByZXR1 cm4gVGhlIHByb3BlcnR5IHRvIHRoZSBzdHJ1Y3R1cmUgb2YgdGhlIGZvdW5kIHByb3BlcnR5Lg0K PiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ ID4+ICsqKi8NCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gK0NPTlNUIEZEVF9QUk9QRVJU WSAqDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICtFRklBUEkNCj4gPiA+ID4gPj4gPj4N Cj4gPiA+ID4gPj4gPj4gK0ZkdEdldFByb3BlcnR5ICgNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4g Pj4gPj4gKyAgSU4gQ09OU1QgVk9JRCAgICpGZHQsDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ ID4+ICsgIElOIElOVDMyICAgICAgICBOb2RlT2Zmc2V0LA0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4g PiA+PiA+PiArICBJTiBDT05TVCBDSEFSOCAgKk5hbWUsDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ ID4+ID4+ICsgIElOIElOVDMyICAgICAgICAqTGVuZ3RoDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ ID4+ID4+ICsgICk7DQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsNCj4gPiA+ID4gPj4g Pj4NCj4gPiA+ID4gPj4gPj4gKy8qKg0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArICBS ZXR1cm5zIGEgb2Zmc2V0IG9mIGZpcnN0IHByb3BlcnR5IGluIHRoZSBnaXZlbiBub2RlLg0KPiA+ ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ ICsgIEBwYXJhbVtpbl0gRmR0ICAgICAgICAgICAgVGhlIHBvaW50ZXIgdG8gRkRUIGJsb2IuDQo+ ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsgIEBwYXJhbVtpbl0gT2Zmc2V0ICAgICAgICAg VGhlIG9mZnNldCB0byB0aGUgbm9kZSB3aGljaCBuZWVkIGJlDQo+IHNlYXJjaGVkLg0KPiA+ID4g PiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsg IEByZXR1cm4gVGhlIG9mZnNldCB0byBmaXJzdCBwcm9wZXJ0eSBvZmZzZXQgaW4gdGhlIGdpdmVu IG5vZGUuDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsNCj4gPiA+ID4gPj4gPj4NCj4g PiA+ID4gPj4gPj4gKyoqLw0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArSU5UMzINCj4g PiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gK0VGSUFQSQ0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4g PiA+PiA+PiArRmR0Rmlyc3RQcm9wZXJ0eU9mZnNldCAoDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ ID4+ID4+ICsgIElOIENPTlNUIFZPSUQgICpGZHQsDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ ID4+ICsgIElOIElOVDMyICAgICAgIE5vZGVPZmZzZXQNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4g Pj4gPj4gKyAgKTsNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKw0KPiA+ID4gPiA+PiA+ Pg0KPiA+ID4gPiA+PiA+PiArLyoqDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsgIFJl dHVybnMgYSBvZmZzZXQgb2YgbmV4dCBwcm9wZXJ0eSBmcm9tIHRoZSBnaXZlbiBwcm9wZXJ0eS4N Cj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKw0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+ PiA+PiArICBAcGFyYW1baW5dIEZkdCAgICAgICAgICAgIFRoZSBwb2ludGVyIHRvIEZEVCBibG9i Lg0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArICBAcGFyYW1baW5dIE9mZnNldCAgICAg ICAgIFRoZSBvZmZzZXQgdG8gcHJldmlvdXMgcHJvcGVydHkuDQo+ID4gPiA+ID4+ID4+DQo+ID4g PiA+ID4+ID4+ICsNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKyAgQHJldHVybiBUaGUg b2Zmc2V0IHRvIG5leHQgcHJvcGVydHkgb2Zmc2V0Lg0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+ PiA+PiArDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsqKi8NCj4gPiA+ID4gPj4gPj4N Cj4gPiA+ID4gPj4gPj4gK0lOVDMyDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICtFRklB UEkNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gK0ZkdE5leHRQcm9wZXJ0eU9mZnNldCAo DQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsgIElOIENPTlNUIFZPSUQgICpGZHQsDQo+ ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsgIElOIElOVDMyICAgICAgIE9mZnNldA0KPiA+ ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArICApOw0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+ PiA+PiArDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsvKioNCj4gPiA+ID4gPj4gPj4N Cj4gPiA+ID4gPj4gPj4gKyAgUmV0dXJucyBhIHByb3BlcnR5IGZyb20gdGhlIGdpdmVuIG9mZnNl dCBvZiB0aGUgcHJvcGVydHkuDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsNCj4gPiA+ ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKyAgQHBhcmFtW2luXSBGZHQgICAgICAgICAgICBUaGUg cG9pbnRlciB0byBGRFQgYmxvYi4NCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKyAgQHBh cmFtW2luXSBPZmZzZXQgICAgICAgICBUaGUgb2Zmc2V0IHRvIHRoZSBnaXZlbiBvZmZzZXQgb2Yg dGhlDQo+IHByb3BlcnR5Lg0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArICBAcGFyYW1b aW5dIExlbmd0aCAgICAgICAgIFRoZSBsZW5ndGggdG8gdGhlIHNpemUgb2YgdGhlIHByb3BlcnR5 DQo+IGZvdW5kLg0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArDQo+ID4gPiA+ID4+ID4+ DQo+ID4gPiA+ID4+ID4+ICsgIEByZXR1cm4gVGhlIHByb3BlcnR5IHRvIHRoZSBzdHJ1Y3R1cmUg b2YgdGhlIGdpdmVuIHByb3BlcnR5IG9mZnNldC4NCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4g Pj4gKw0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArKiovDQo+ID4gPiA+ID4+ID4+DQo+ ID4gPiA+ID4+ID4+ICtDT05TVCBGRFRfUFJPUEVSVFkgKg0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4g PiA+PiA+PiArRUZJQVBJDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICtGZHRHZXRQcm9w ZXJ0eUJ5T2Zmc2V0ICgNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKyAgSU4gQ09OU1Qg Vk9JRCAgKkZkdCwNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKyAgSU4gSU5UMzIgICAg ICAgT2Zmc2V0LA0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArICBJTiBJTlQzMiAgICAg ICAqTGVuZ3RoDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsgICk7DQo+ID4gPiA+ID4+ ID4+DQo+ID4gPiA+ID4+ID4+ICsNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKy8qKg0K PiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArICBSZXR1cm5zIGEgc3RyaW5nIGJ5IHRoZSBn aXZlbiBzdHJpbmcgb2Zmc2V0Lg0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArDQo+ID4g PiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsgIEBwYXJhbVtpbl0gRmR0ICAgICAgICAgICAgVGhl IHBvaW50ZXIgdG8gRkRUIGJsb2IuDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsgIEBw YXJhbVtpbl0gU3RyT2Zmc2V0ICAgICAgVGhlIG9mZnNldCB0byB0aGUgbG9jYXRpb24gaW4gdGhl IHN0cmluZ3MNCj4gYmxvY2sgb2YgRkRULg0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiAr ICBAcGFyYW1baW5dIExlbmd0aCAgICAgICAgIFRoZSBsZW5ndGggdG8gdGhlIHNpemUgb2Ygc3Ry aW5nIHdoaWNoIG5lZWQNCj4gYmUgcmV0cmlldmVkLg0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+ PiA+PiArDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsgIEByZXR1cm4gVGhlIHN0cmlu ZyB0byB0aGUgZ2l2ZW4gc3RyaW5nIG9mZnNldC4NCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4g Pj4gKw0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArKiovDQo+ID4gPiA+ID4+ID4+DQo+ ID4gPiA+ID4+ID4+ICtDT05TVCBDSEFSOCAqDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ ICtFRklBUEkNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gK0ZkdEdldFN0cmluZyAoDQo+ ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsgIElOIENPTlNUIFZPSUQgICpGZHQsDQo+ID4g PiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsgIElOIElOVDMyICAgICAgIFN0ck9mZnNldCwNCj4g PiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKyAgSU4gSU5UMzIgICAgICAgKkxlbmd0aCAgICAg ICAgT1BUSU9OQUwNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKyAgKTsNCj4gPiA+ID4g Pj4gPj4NCj4gPiA+ID4gPj4gPj4gKw0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArLyoq DQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsgIEFkZCBhIG5ldyBub2RlIHRvIHRoZSBG RFQuDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ ID4gPj4gPj4gKyAgQHBhcmFtW2luXSBGZHQgICAgICAgICAgICBUaGUgcG9pbnRlciB0byBGRFQg YmxvYi4NCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKyAgQHBhcmFtW2luXSBQYXJlbnRP ZmZzZXQgICBUaGUgb2Zmc2V0IHRvIHRoZSBub2RlIG9mZnNldCB3aGljaA0KPiB3YW50IHRvIGFk ZCBpbi4NCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKyAgQHBhcmFtW2luXSBOYW1lICAg ICAgICAgICBUaGUgbmFtZSB0byBuYW1lIHRoZSBub2RlLg0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4g PiA+PiA+PiArDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsgIEByZXR1cm4gIFRoZSBv ZmZzZXQgdG8gdGhlIG5ldyBub2RlLg0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArDQo+ ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsqKi8NCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4g Pj4gPj4gK0lOVDMyDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICtFRklBUEkNCj4gPiA+ ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gK0ZkdEFkZFN1Ym5vZGUgKA0KPiA+ID4gPiA+PiA+Pg0K PiA+ID4gPiA+PiA+PiArICBJTiBWT0lEICAgICAgICAgKkZkdCwNCj4gPiA+ID4gPj4gPj4NCj4g PiA+ID4gPj4gPj4gKyAgSU4gSU5UMzIgICAgICAgIFBhcmVudE9mZnNldCwNCj4gPiA+ID4gPj4g Pj4NCj4gPiA+ID4gPj4gPj4gKyAgSU4gQ09OU1QgQ0hBUjggICpOYW1lDQo+ID4gPiA+ID4+ID4+ DQo+ID4gPiA+ID4+ID4+ICsgICk7DQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsNCj4g PiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKy8qKg0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+ PiA+PiArICBBZGQgb3IgbW9kaWZ5IGEgcHJvcGVydHkgaW4gdGhlIGdpdmVuIG5vZGUuDQo+ID4g PiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4g KyAgQHBhcmFtW2luXSBGZHQgICAgICAgICAgICBUaGUgcG9pbnRlciB0byBGRFQgYmxvYi4NCj4g PiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKyAgQHBhcmFtW2luXSBOb2RlT2Zmc2V0ICAgICBU aGUgb2Zmc2V0IHRvIHRoZSBub2RlIG9mZnNldCB3aGljaA0KPiB3YW50IHRvIGFkZCBpbi4NCj4g PiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKyAgQHBhcmFtW2luXSBOYW1lICAgICAgICAgICBU aGUgbmFtZSB0byBuYW1lIHRoZSBwcm9wZXJ0eS4NCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4g Pj4gKyAgQHBhcmFtW2luXSBWYWx1ZSAgICAgICAgICBUaGUgdmFsdWUgdG8gdGhlIHByb3BlcnR5 IHZhbHVlLg0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArICBAcGFyYW1baW5dIExlbmd0 aCAgICAgICAgIFRoZSBsZW5ndGggdG8gdGhlIHNpemUgb2YgdGhlIHByb3BlcnR5Lg0KPiA+ID4g PiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsg IEByZXR1cm4gIFplcm8gZm9yIHN1Y2Nlc3NmdWxseSwgb3RoZXJ3aXNlIGZhaWxlZC4NCj4gPiA+ ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKw0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiAr KiovDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICtJTlQzMg0KPiA+ID4gPiA+PiA+Pg0K PiA+ID4gPiA+PiA+PiArRUZJQVBJDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICtGZHRT ZXRQcm9wICgNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKyAgSU4gVk9JRCAgICAgICAg ICpGZHQsDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsgIElOIElOVDMyICAgICAgICBO b2RlT2Zmc2V0LA0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArICBJTiBDT05TVCBDSEFS OCAgKk5hbWUsDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsgIElOIENPTlNUIFZPSUQg ICAqVmFsdWUsDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsgIElOIFVJTlQzMiAgICAg ICBMZW5ndGgNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKyAgKTsNCj4gPiA+ID4gPj4g Pj4NCj4gPiA+ID4gPj4gPj4gKw0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArI2VuZGlm IC8qIEZEVF9MSUJfSF8gKi8NCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gZGlmZiAtLWdp dCBhL01kZVBrZy9MaWJyYXJ5L0Jhc2VGZHRMaWIvQmFzZUZkdExpYi5pbmYNCj4gPiA+ID4gPj4g Pj4gYi9NZGVQa2cvTGlicmFyeS9CYXNlRmR0TGliL0Jhc2VGZHRMaWIuaW5mDQo+ID4gPiA+ID4+ ID4+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+ID4gPiA+ID4+ID4+IGluZGV4IDAwMDAwMDAwMDAu LjczMGU1NjhmZjYNCj4gPiA+ID4gPj4gPj4gLS0tIC9kZXYvbnVsbA0KPiA+ID4gPiA+PiA+PiAr KysgYi9NZGVQa2cvTGlicmFyeS9CYXNlRmR0TGliL0Jhc2VGZHRMaWIuaW5mDQo+ID4gPiA+ID4+ ID4+IEBAIC0wLDAgKzEsNjIgQEANCj4gPiA+ID4gPj4gPj4gKyMjIEBmaWxlDQo+ID4gPiA+ID4+ ID4+DQo+ID4gPiA+ID4+ID4+ICsjIEZsYXR0ZW5lZCBEZXZpY2UgVHJlZSBMaWJyYXJ5Lg0KPiA+ ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArIw0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+ PiArIyBDb3B5cmlnaHQgKGMpIDIwMjMsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJl c2VydmVkLjxCUj4NCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKyMNCj4gPiA+ID4gPj4g Pj4NCj4gPiA+ID4gPj4gPj4gKyMgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1 c2UtUGF0ZW50DQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsjDQo+ID4gPiA+ID4+ID4+ DQo+ID4gPiA+ID4+ID4+ICsjDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsjIw0KPiA+ ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ ICtbRGVmaW5lc10NCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKyAgSU5GX1ZFUlNJT04g ICAgICAgICAgICAgICAgICAgID0gMHgwMDAxMDAxQg0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+ PiA+PiArICBCQVNFX05BTUUgICAgICAgICAgICAgICAgICAgICAgPSBCYXNlRmR0TGliDQo+ID4g PiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsgIE1PRFVMRV9VTklfRklMRSAgICAgICAgICAgICAg ICA9IEJhc2VGZHRMaWIudW5pDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsgIEZJTEVf R1VJRCAgICAgICAgICAgICAgICAgICAgICA9IEM2NERDQjAxLUIwMzctNEZGNi05Q0YzLQ0KPiBF OENFQzIwNkRFMDQNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKyAgTU9EVUxFX1RZUEUg ICAgICAgICAgICAgICAgICAgID0gQkFTRQ0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiAr ICBWRVJTSU9OX1NUUklORyAgICAgICAgICAgICAgICAgPSAxLjANCj4gPiA+ID4gPj4gPj4NCj4g PiA+ID4gPj4gPj4gKyAgTElCUkFSWV9DTEFTUyAgICAgICAgICAgICAgICAgID0gRmR0TGliDQo+ ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4g Pj4gKyAgREVGSU5FIEZEVF9MSUJfUEFUSCAgICAgICAgICAgID0gbGliZmR0L2xpYmZkdA0KPiA+ ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ ICsjDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsjICBWQUxJRF9BUkNISVRFQ1RVUkVT ICAgICAgICAgICA9IElBMzIgWDY0DQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsjDQo+ ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4g Pj4gK1tTb3VyY2VzXQ0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArICBGZHRMaWIuYw0K PiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArICBMaWJGZHRXcmFwcGVyLmMNCj4gPiA+ID4g Pj4gPj4NCj4gPiA+ID4gPj4gPj4gKyAgIyBoZWFkZXIgV3JhcHBlciBmaWxlcw0KPiA+ID4gPiA+ PiA+Pg0KPiA+ID4gPiA+PiA+PiArICBsaW1pdHMuaA0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+ PiA+PiArICBzdGRib29sLmgNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKyAgc3RkZGVm LmgNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKyAgc3RkaW50LmgNCj4gPiA+ID4gPj4g Pj4NCj4gPiA+ID4gPj4gPj4gKyAgc3RkbGliLmgNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4g Pj4gKyAgc3RyaW5nLmgNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKw0KPiA+ID4gPiA+ PiA+Pg0KPiA+ID4gPiA+PiA+PiArICAkKEZEVF9MSUJfUEFUSCkvZmR0LmMNCj4gPiA+ID4gPj4g Pj4NCj4gPiA+ID4gPj4gPj4gKyAgJChGRFRfTElCX1BBVEgpL2ZkdC5oDQo+ID4gPiA+ID4+ID4+ DQo+ID4gPiA+ID4+ID4+ICsgICQoRkRUX0xJQl9QQVRIKS9mZHRfYWRkcmVzc2VzLmMNCj4gPiA+ ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKyAgJChGRFRfTElCX1BBVEgpL2ZkdF9jaGVjay5jDQo+ ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsgICQoRkRUX0xJQl9QQVRIKS9mZHRfZW1wdHlf dHJlZS5jDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsgICQoRkRUX0xJQl9QQVRIKS9m ZHRfb3ZlcmxheS5jDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsgICQoRkRUX0xJQl9Q QVRIKS9mZHRfcm8uYw0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArICAkKEZEVF9MSUJf UEFUSCkvZmR0X3J3LmMNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKyAgJChGRFRfTElC X1BBVEgpL2ZkdF9zdHJlcnJvci5jDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsgICQo RkRUX0xJQl9QQVRIKS9mZHRfc3cuYw0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArICAk KEZEVF9MSUJfUEFUSCkvZmR0X3dpcC5jDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsg ICQoRkRUX0xJQl9QQVRIKS9saWJmZHQuaA0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiAr ICAkKEZEVF9MSUJfUEFUSCkvbGliZmR0X2Vudi5oDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ ID4+ICsgICQoRkRUX0xJQl9QQVRIKS9saWJmZHRfaW50ZXJuYWwuaA0KPiA+ID4gPiA+PiA+Pg0K PiA+ID4gPiA+PiA+PiArDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICtbUGFja2FnZXNd DQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsgIE1kZVBrZy9NZGVQa2cuZGVjDQo+ID4g PiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4g K1tMaWJyYXJ5Q2xhc3Nlc10NCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKyAgQmFzZUxp Yg0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArICBCYXNlTWVtb3J5TGliDQo+ID4gPiA+ ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gK1tC dWlsZE9wdGlvbnNdDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsgIE1TRlQ6Kl8qX0lB MzJfQ0NfRkxBR1MgPSAvd2Q0MTQ2IC93ZDQyNDUNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4g Pj4gKyAgTVNGVDoqXypfWDY0X0NDX0ZMQUdTICA9IC93ZDQxNDYgL3dkNDI0NCAvd2Q0MjQ1IC93 ZDQyNjcNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKw0KPiA+ID4gPiA+PiA+Pg0KPiA+ ID4gPiA+PiA+PiBkaWZmIC0tZ2l0IGEvTWRlUGtnL0xpYnJhcnkvQmFzZUZkdExpYi9CYXNlRmR0 TGliLnVuaQ0KPiA+ID4gPiA+PiA+PiBiL01kZVBrZy9MaWJyYXJ5L0Jhc2VGZHRMaWIvQmFzZUZk dExpYi51bmkNCj4gPiA+ID4gPj4gPj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gPiA+ID4gPj4g Pj4gaW5kZXggMDAwMDAwMDAwMC4uM2Y3ZTQ1ZWE2Zg0KPiA+ID4gPiA+PiA+PiAtLS0gL2Rldi9u dWxsDQo+ID4gPiA+ID4+ID4+ICsrKyBiL01kZVBrZy9MaWJyYXJ5L0Jhc2VGZHRMaWIvQmFzZUZk dExpYi51bmkNCj4gPiA+ID4gPj4gPj4gQEAgLTAsMCArMSwxNCBAQA0KPiA+ID4gPiA+PiA+PiAr Ly8gLyoqIEBmaWxlDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsvLyBGbGF0dGVuZWQg RGV2aWNlIFRyZWUgTGlicmFyeS4NCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKy8vDQo+ ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsvLyBDb3B5cmlnaHQgKGMpIDIwMjMsIEludGVs IENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCj4gPiA+ID4gPj4gPj4NCj4g PiA+ID4gPj4gPj4gKy8vDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsvLyBTUERYLUxp Y2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiA+ID4gPiA+PiA+Pg0KPiA+ ID4gPiA+PiA+PiArLy8NCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKy8vICoqLw0KPiA+ ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ ICsNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKyNzdHJpbmcgU1RSX01PRFVMRV9BQlNU UkFDVCAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgIkluc3RhbmNlDQo+IG9mIEZEVCBMaWJy YXJ5Ig0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArDQo+ID4gPiA+ID4+ID4+DQo+ID4g PiA+ID4+ID4+ICsjc3RyaW5nIFNUUl9NT0RVTEVfREVTQ1JJUFRJT04gICAgICAgICAgI2xhbmd1 YWdlIGVuLVVTICJUaGlzDQo+IG1vZHVsZSBwcm92aWRlcyBGRFQgTGlicmFyeSBpbXBsZW1lbnRh dGlvbi4iDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsNCj4gPiA+ID4gPj4gPj4NCj4g PiA+ID4gPj4gPj4gZGlmZiAtLWdpdCBhL01kZVBrZy9MaWJyYXJ5L0Jhc2VGZHRMaWIvRmR0TGli LmMNCj4gPiA+ID4gPj4gPj4gYi9NZGVQa2cvTGlicmFyeS9CYXNlRmR0TGliL0ZkdExpYi5jDQo+ ID4gPiA+ID4+ID4+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+ID4gPiA+ID4+ID4+IGluZGV4IDAw MDAwMDAwMDAuLjIwMGE0OTZjN2UNCj4gPiA+ID4gPj4gPj4gLS0tIC9kZXYvbnVsbA0KPiA+ID4g PiA+PiA+PiArKysgYi9NZGVQa2cvTGlicmFyeS9CYXNlRmR0TGliL0ZkdExpYi5jDQo+ID4gPiA+ ID4+ID4+IEBAIC0wLDAgKzEsMzAxIEBADQo+ID4gPiA+ID4+ID4+ICsvKiogQGZpbGUNCj4gPiA+ ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKyAgRmxhdHRlbmVkIERldmljZSBUcmVlIExpYnJhcnku DQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4g Pj4gPj4gKyAgQ29weXJpZ2h0IChjKSAyMDIzLCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0 cyByZXNlcnZlZC48QlI+DQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsgIFNQRFgtTGlj ZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ID4gPiA+ID4+ID4+DQo+ID4g PiA+ID4+ID4+ICsNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKyoqLw0KPiA+ID4gPiA+ PiA+Pg0KPiA+ID4gPiA+PiA+PiArDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsjaW5j bHVkZSA8bGliZmR0L2xpYmZkdC9saWJmZHQuaD4NCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4g Pj4gKw0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArLyoqDQo+ID4gPiA+ID4+ID4+DQo+ ID4gPiA+ID4+ID4+ICsgIFZlcmlmeSB0aGUgaGVhZGVyIG9mIHRoZSBGbGF0dGVuZWQgRGV2aWNl IFRyZWUNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKw0KPiA+ID4gPiA+PiA+Pg0KPiA+ ID4gPiA+PiA+PiArICBAcGFyYW1baW5dIEZkdCAgICAgICAgICAgIFRoZSBwb2ludGVyIHRvIEZE VCBibG9iLg0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArDQo+ID4gPiA+ID4+ID4+DQo+ ID4gPiA+ID4+ID4+ICsgIEByZXR1cm4gWmVybyBmb3Igc3VjY2Vzc2Z1bGx5LCBvdGhlcndpc2Ug ZmFpbGVkLg0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArDQo+ID4gPiA+ID4+ID4+DQo+ ID4gPiA+ID4+ID4+ICsqKi8NCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gK0lOVDMyDQo+ ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICtFRklBUEkNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ ID4gPj4gPj4gK0ZkdENoZWNrSGVhZGVyICgNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4g KyAgSU4gQ09OU1QgVk9JRCAgKkZkdA0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArICAp DQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICt7DQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ ID4+ID4+ICsgIHJldHVybiBmZHRfY2hlY2tfaGVhZGVyKEZkdCk7DQo+ID4gPiA+ID4+ID4+DQo+ ID4gPiA+ID4+ID4+ICt9DQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsNCj4gPiA+ID4g Pj4gPj4NCj4gPiA+ID4gPj4gPj4gKy8qKg0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiAr ICBDcmVhdGUgYSBlbXB0eSBGbGF0dGVuZWQgRGV2aWNlIFRyZWUuDQo+ID4gPiA+ID4+ID4+DQo+ ID4gPiA+ID4+ID4+ICsNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKyAgQHBhcmFtW2lu XSBCdWZmZXIgICAgICAgICBUaGUgcG9pbnRlciB0byBhbGxvY2F0ZSBhIHBvb2wgZm9yIEZEVCBi bG9iLg0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArICBAcGFyYW1baW5dIEJ1ZmZlclNp emUgICAgIFRoZSBCdWZmZXJTaXplIHRvIHRoZSBwb29sIHNpemUuDQo+ID4gPiA+ID4+ID4+DQo+ ID4gPiA+ID4+ID4+ICsNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKyAgQHJldHVybiBa ZXJvIGZvciBzdWNjZXNzZnVsbHksIG90aGVyd2lzZSBmYWlsZWQuDQo+ID4gPiA+ID4+ID4+DQo+ ID4gPiA+ID4+ID4+ICsNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKyoqLw0KPiA+ID4g PiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArSU5UMzINCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4g Pj4gK0VGSUFQSQ0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArRmR0Q3JlYXRlRW1wdHlU cmVlICgNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKyAgSU4gVk9JRCAgICAqQnVmZmVy LA0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArICBJTiBVSU5UMzIgIEJ1ZmZlclNpemUN Cj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKyAgKQ0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4g PiA+PiA+PiArew0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArICByZXR1cm4gZmR0X2Ny ZWF0ZV9lbXB0eV90cmVlIChCdWZmZXIsIChpbnQpQnVmZmVyU2l6ZSk7DQo+ID4gPiA+ID4+ID4+ DQo+ID4gPiA+ID4+ID4+ICt9DQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsNCj4gPiA+ ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKy8qKg0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+ PiArICBSZXR1cm5zIGEgb2Zmc2V0IG9mIG5leHQgbm9kZSBmcm9tIHRoZSBnaXZlbiBub2RlLg0K PiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ ID4+ICsgIEBwYXJhbVtpbl0gRmR0ICAgICAgICAgICAgVGhlIHBvaW50ZXIgdG8gRkRUIGJsb2Iu DQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsgIEBwYXJhbVtpbl0gT2Zmc2V0ICAgICAg ICAgVGhlIG9mZnNldCB0byBwcmV2aW91cyBub2RlLg0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+ PiA+PiArICBAcGFyYW1baW5dIERlcHRoICAgICAgICAgIFRoZSBkZXB0aCB0byB0aGUgbGV2ZWwg b2YgdHJlZSBoaWVyYXJjaHkuDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsNCj4gPiA+ ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKyAgQHJldHVybiBUaGUgb2Zmc2V0IHRvIG5leHQgbm9k ZSBvZmZzZXQuDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsNCj4gPiA+ID4gPj4gPj4N Cj4gPiA+ID4gPj4gPj4gKyoqLw0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArSU5UMzIN Cj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gK0VGSUFQSQ0KPiA+ID4gPiA+PiA+Pg0KPiA+ ID4gPiA+PiA+PiArRmR0TmV4dE5vZGUgKA0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiAr ICBJTiBDT05TVCBWT0lEICAqRmR0LA0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArICBJ TiBJTlQzMiAgICAgICBPZmZzZXQsDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsgIElO IElOVDMyICAgICAgICpEZXB0aA0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArICApDQo+ ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICt7DQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ ID4+ICsgIHJldHVybiBmZHRfbmV4dF9ub2RlIChGZHQsIE9mZnNldCwgRGVwdGgpOw0KPiA+ID4g PiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArfQ0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiAr DQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsvKioNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ ID4gPj4gPj4gKyAgUmV0dXJucyBhIG9mZnNldCBvZiBmaXJzdCBub2RlIHVuZGVyIHRoZSBnaXZl biBub2RlLg0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArDQo+ID4gPiA+ID4+ID4+DQo+ ID4gPiA+ID4+ID4+ICsgIEBwYXJhbVtpbl0gRmR0ICAgICAgICAgICAgVGhlIHBvaW50ZXIgdG8g RkRUIGJsb2IuDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsgIEBwYXJhbVtpbl0gT2Zm c2V0ICAgICAgICAgVGhlIG9mZnNldCB0byBwcmV2aW91cyBub2RlLg0KPiA+ID4gPiA+PiA+Pg0K PiA+ID4gPiA+PiA+PiArDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsgIEByZXR1cm4g VGhlIG9mZnNldCB0byBuZXh0IG5vZGUgb2Zmc2V0Lg0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+ PiA+PiArDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsqKi8NCj4gPiA+ID4gPj4gPj4N Cj4gPiA+ID4gPj4gPj4gK0lOVDMyDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICtFRklB UEkNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gK0ZkdEZpcnN0U3Vibm9kZSAoDQo+ID4g PiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsgIElOIENPTlNUIFZPSUQgICpGZHQsDQo+ID4gPiA+ ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsgIElOIElOVDMyICAgICAgIE9mZnNldA0KPiA+ID4gPiA+ PiA+Pg0KPiA+ID4gPiA+PiA+PiArICApDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICt7 DQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsgIHJldHVybiBmZHRfZmlyc3Rfc3Vibm9k ZSAoRmR0LCBPZmZzZXQpOw0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArfQ0KPiA+ID4g PiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsv KioNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKyAgUmV0dXJucyBhIG9mZnNldCBvZiBu ZXh0IG5vZGUgZnJvbSB0aGUgZ2l2ZW4gbm9kZS4NCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4g Pj4gKw0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArICBAcGFyYW1baW5dIEZkdCAgICAg ICAgICAgIFRoZSBwb2ludGVyIHRvIEZEVCBibG9iLg0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+ PiA+PiArICBAcGFyYW1baW5dIE9mZnNldCAgICAgICAgIFRoZSBvZmZzZXQgdG8gcHJldmlvdXMg bm9kZS4NCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKw0KPiA+ID4gPiA+PiA+Pg0KPiA+ ID4gPiA+PiA+PiArICBAcmV0dXJuIFRoZSBvZmZzZXQgdG8gbmV4dCBub2RlIG9mZnNldC4NCj4g PiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKw0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+ PiArKiovDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICtJTlQzMg0KPiA+ID4gPiA+PiA+ Pg0KPiA+ID4gPiA+PiA+PiArRUZJQVBJDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICtG ZHROZXh0U3Vibm9kZSAoDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsgIElOIENPTlNU IFZPSUQgICpGZHQsDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsgIElOIElOVDMyICAg ICAgIE9mZnNldA0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArICApDQo+ID4gPiA+ID4+ ID4+DQo+ID4gPiA+ID4+ID4+ICt7DQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsgIHJl dHVybiBmZHRfbmV4dF9zdWJub2RlIChGZHQsIE9mZnNldCk7DQo+ID4gPiA+ID4+ID4+DQo+ID4g PiA+ID4+ID4+ICt9DQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsNCj4gPiA+ID4gPj4g Pj4NCj4gPiA+ID4gPj4gPj4gKy8qKg0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArICBS ZXR1cm5zIGEgb2Zmc2V0IG9mIGZpcnN0IG5vZGUgd2hpY2ggaW5jbHVkZXMgdGhlIGdpdmVuIG5h bWUuDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ ID4gPj4gPj4gKyAgQHBhcmFtW2luXSBGZHQgICAgICAgICAgICAgVGhlIHBvaW50ZXIgdG8gRkRU IGJsb2IuDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsgIEBwYXJhbVtpbl0gUGFyZW50 T2Zmc2V0ICAgIFRoZSBvZmZzZXQgdG8gdGhlIG5vZGUgd2hpY2ggc3RhcnQgZmluZA0KPiB1bmRl ci4NCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKyAgQHBhcmFtW2luXSBOYW1lICAgICAg ICAgICAgVGhlIG5hbWUgdG8gc2VhcmNoIHRoZSBub2RlIHdpdGggdGhlDQo+IG5hbWUuDQo+ID4g PiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsgIEBwYXJhbVtpbl0gTmFtZUxlbmd0aCAgICAgIFRo ZSBsZW5ndGggb2YgdGhlIG5hbWUgdG8gY2hlY2sgb25seS4NCj4gPiA+ID4gPj4gPj4NCj4gPiA+ ID4gPj4gPj4gKw0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArICBAcmV0dXJuIFRoZSBv ZmZzZXQgdG8gbm9kZSBvZmZzZXQgd2l0aCBnaXZlbiBub2RlIG5hbWUuDQo+ID4gPiA+ID4+ID4+ DQo+ID4gPiA+ID4+ID4+ICsNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKyoqLw0KPiA+ ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArSU5UMzINCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4g Pj4gPj4gK0VGSUFQSQ0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArRmR0U3Vibm9kZU9m ZnNldE5hbWVMZW4gKA0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArICBJTiBDT05TVCBW T0lEICAgKkZkdCwNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKyAgSU4gSU5UMzIgICAg ICAgIFBhcmVudE9mZnNldCwNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKyAgSU4gQ09O U1QgQ0hBUjggICpOYW1lLA0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArICBJTiBJTlQz MiAgICAgICAgTmFtZUxlbmd0aA0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArICApDQo+ ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICt7DQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ ID4+ICsgIHJldHVybiBmZHRfc3Vibm9kZV9vZmZzZXRfbmFtZWxlbiAoRmR0LCBQYXJlbnRPZmZz ZXQsIE5hbWUsDQo+ID4gPiA+ID4+ID4+ICsgTmFtZUxlbmd0aCk7DQo+ID4gPiA+ID4+ID4+DQo+ ID4gPiA+ID4+ID4+ICt9DQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsNCj4gPiA+ID4g Pj4gPj4NCj4gPiA+ID4gPj4gPj4gKy8qKg0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiAr ICBSZXR1cm5zIGEgb2Zmc2V0IG9mIGZpcnN0IG5vZGUgd2hpY2ggaW5jbHVkZXMgdGhlIGdpdmVu IHByb3BlcnR5DQo+IG5hbWUgYW5kIHZhbHVlLg0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+ PiArDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsgIEBwYXJhbVtpbl0gRmR0ICAgICAg ICAgICAgIFRoZSBwb2ludGVyIHRvIEZEVCBibG9iLg0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+ PiA+PiArICBAcGFyYW1baW5dIFN0YXJ0T2Zmc2V0ICAgICBUaGUgb2Zmc2V0IHRvIHRoZSBzdGFy dGluZyBub2RlIHRvIGZpbmQuDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsgIEBwYXJh bVtpbl0gUHJvcGVydHlOYW1lICAgIFRoZSBwcm9wZXJ0eSBuYW1lIHRvIHNlYXJjaCB0aGUNCj4g bm9kZSBpbmNsdWRpbmcgdGhlIG5hbWVkIHByb3BlcnR5Lg0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4g PiA+PiA+PiArICBAcGFyYW1baW5dIFByb3BlcnR5VmFsdWUgICBUaGUgcHJvcGVydHkgdmFsdWUg dG8gY2hlY2sgdGhlIHNhbWUNCj4gcHJvcGVydHkgdmFsdWUuDQo+ID4gPiA+ID4+ID4+DQo+ID4g PiA+ID4+ID4+ICsgIEBwYXJhbVtpbl0gUHJvcGVydHlMZW5ndGggIFRoZSBsZW5ndGggb2YgdGhl IHZhbHVlIGluDQo+IFByb3BlcnRWYWx1ZS4NCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4g Kw0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArICBAcmV0dXJuIFRoZSBvZmZzZXQgdG8g bm9kZSBvZmZzZXQgd2l0aCBnaXZlbiBwcm9wZXJ0eS4NCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4g Pj4gPj4gKw0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArKiovDQo+ID4gPiA+ID4+ID4+ DQo+ID4gPiA+ID4+ID4+ICtJTlQzMg0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArRUZJ QVBJDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICtGZHROb2RlT2Zmc2V0QnlQcm9wVmFs dWUgKA0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArICBJTiBDT05TVCBWT0lEICAgKkZk dCwNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKyAgSU4gSU5UMzIgICAgICAgIFN0YXJ0 T2Zmc2V0LA0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArICBJTiBDT05TVCBDSEFSOCAg KlByb3BlcnR5TmFtZSwNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKyAgSU4gQ09OU1Qg Vk9JRCAgICpQcm9wZXJ0eVZhbHVlLA0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArICBJ TiBJTlQzMiAgICAgICAgUHJvcGVydHlMZW5ndGgNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4g Pj4gKyAgKQ0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArew0KPiA+ID4gPiA+PiA+Pg0K PiA+ID4gPiA+PiA+PiArICByZXR1cm4gZmR0X25vZGVfb2Zmc2V0X2J5X3Byb3BfdmFsdWUgKEZk dCwgU3RhcnRPZmZzZXQsDQo+ID4gPiA+ID4+ID4+ICsgUHJvcGVydHlOYW1lLCBQcm9wZXJ0eVZh bHVlLCBQcm9wZXJ0eUxlbmd0aCk7DQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICt9DQo+ ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4g Pj4gKy8qKg0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArICBSZXR1cm5zIGEgcHJvcGVy dHkgd2l0aCB0aGUgZ2l2ZW4gbmFtZSBmcm9tIHRoZSBnaXZlbiBub2RlLg0KPiA+ID4gPiA+PiA+ Pg0KPiA+ID4gPiA+PiA+PiArDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsgIEBwYXJh bVtpbl0gRmR0ICAgICAgICAgICAgVGhlIHBvaW50ZXIgdG8gRkRUIGJsb2IuDQo+ID4gPiA+ID4+ ID4+DQo+ID4gPiA+ID4+ID4+ICsgIEBwYXJhbVtpbl0gTm9kZU9mZnNldCAgICAgVGhlIG9mZnNl dCB0byB0aGUgZ2l2ZW4gbm9kZS4NCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKyAgQHBh cmFtW2luXSBOYW1lICAgICAgICAgICBUaGUgbmFtZSB0byB0aGUgcHJvcGVydHkgd2hpY2ggbmVl ZCBiZQ0KPiBzZWFyY2hlZA0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArICBAcGFyYW1b aW5dIExlbmd0aCAgICAgICAgIFRoZSBsZW5ndGggdG8gdGhlIHNpemUgb2YgdGhlIHByb3BlcnR5 DQo+IGZvdW5kLg0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArDQo+ID4gPiA+ID4+ID4+ DQo+ID4gPiA+ID4+ID4+ICsgIEByZXR1cm4gVGhlIHByb3BlcnR5IHRvIHRoZSBzdHJ1Y3R1cmUg b2YgdGhlIGZvdW5kIHByb3BlcnR5Lg0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArDQo+ ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsqKi8NCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4g Pj4gPj4gK0NPTlNUIHN0cnVjdCBmZHRfcHJvcGVydHkgKg0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4g PiA+PiA+PiArRUZJQVBJDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICtGZHRHZXRQcm9w ZXJ0eSAoDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsgIElOIENPTlNUIFZPSUQgICAq RmR0LA0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArICBJTiBJTlQzMiAgICAgICAgTm9k ZU9mZnNldCwNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKyAgSU4gQ09OU1QgQ0hBUjgg ICpOYW1lLA0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArICBJTiBJTlQzMiAgICAgICAg Kkxlbmd0aA0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArICApDQo+ID4gPiA+ID4+ID4+ DQo+ID4gPiA+ID4+ID4+ICt7DQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsgIHJldHVy biBmZHRfZ2V0X3Byb3BlcnR5IChGZHQsIE5vZGVPZmZzZXQsIE5hbWUsIExlbmd0aCk7DQo+ID4g PiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICt9DQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ ICsNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKy8qKg0KPiA+ID4gPiA+PiA+Pg0KPiA+ ID4gPiA+PiA+PiArICBSZXR1cm5zIGEgb2Zmc2V0IG9mIGZpcnN0IHByb3BlcnR5IGluIHRoZSBn aXZlbiBub2RlLg0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArDQo+ID4gPiA+ID4+ID4+ DQo+ID4gPiA+ID4+ID4+ICsgIEBwYXJhbVtpbl0gRmR0ICAgICAgICAgICAgVGhlIHBvaW50ZXIg dG8gRkRUIGJsb2IuDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsgIEBwYXJhbVtpbl0g Tm9kZU9mZnNldCAgICAgVGhlIG9mZnNldCB0byB0aGUgbm9kZSB3aGljaCBuZWVkIGJlDQo+IHNl YXJjaGVkLg0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArDQo+ID4gPiA+ID4+ID4+DQo+ ID4gPiA+ID4+ID4+ICsgIEByZXR1cm4gVGhlIG9mZnNldCB0byBmaXJzdCBwcm9wZXJ0eSBvZmZz ZXQgaW4gdGhlIGdpdmVuIG5vZGUuDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsNCj4g PiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKyoqLw0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+ PiA+PiArSU5UMzINCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gK0VGSUFQSQ0KPiA+ID4g PiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArRmR0Rmlyc3RQcm9wZXJ0eU9mZnNldCAoDQo+ID4gPiA+ ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsgIElOIENPTlNUIFZPSUQgICpGZHQsDQo+ID4gPiA+ID4+ ID4+DQo+ID4gPiA+ID4+ID4+ICsgIElOIElOVDMyICAgICAgIE5vZGVPZmZzZXQNCj4gPiA+ID4g Pj4gPj4NCj4gPiA+ID4gPj4gPj4gKyAgKQ0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiAr ew0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArICByZXR1cm4gZmR0X2ZpcnN0X3Byb3Bl cnR5X29mZnNldCAoRmR0LCBOb2RlT2Zmc2V0KTsNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4g Pj4gK30NCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKw0KPiA+ID4gPiA+PiA+Pg0KPiA+ ID4gPiA+PiA+PiArLyoqDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsgIFJldHVybnMg YSBvZmZzZXQgb2YgbmV4dCBwcm9wZXJ0eSBmcm9tIHRoZSBnaXZlbiBwcm9wZXJ0eS4NCj4gPiA+ ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKw0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiAr ICBAcGFyYW1baW5dIEZkdCAgICAgICAgICAgIFRoZSBwb2ludGVyIHRvIEZEVCBibG9iLg0KPiA+ ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArICBAcGFyYW1baW5dIE9mZnNldCAgICAgICAgIFRo ZSBvZmZzZXQgdG8gcHJldmlvdXMgcHJvcGVydHkuDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ ID4+ICsNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKyAgQHJldHVybiBUaGUgb2Zmc2V0 IHRvIG5leHQgcHJvcGVydHkgb2Zmc2V0Lg0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiAr DQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsqKi8NCj4gPiA+ID4gPj4gPj4NCj4gPiA+ ID4gPj4gPj4gK0lOVDMyDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICtFRklBUEkNCj4g PiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gK0ZkdE5leHRQcm9wZXJ0eU9mZnNldCAoDQo+ID4g PiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsgIElOIENPTlNUIFZPSUQgICpGZHQsDQo+ID4gPiA+ ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsgIElOIElOVDMyICAgICAgIE9mZnNldA0KPiA+ID4gPiA+ PiA+Pg0KPiA+ID4gPiA+PiA+PiArICApDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICt7 DQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsgIHJldHVybiBmZHRfbmV4dF9wcm9wZXJ0 eV9vZmZzZXQgKEZkdCwgT2Zmc2V0KTsNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gK30N Cj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKw0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+ PiA+PiArLyoqDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsgIFJldHVybnMgYSBwcm9w ZXJ0eSBmcm9tIHRoZSBnaXZlbiBvZmZzZXQgb2YgdGhlIHByb3BlcnR5Lg0KPiA+ID4gPiA+PiA+ Pg0KPiA+ID4gPiA+PiA+PiArDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsgIEBwYXJh bVtpbl0gRmR0ICAgICAgICAgICAgVGhlIHBvaW50ZXIgdG8gRkRUIGJsb2IuDQo+ID4gPiA+ID4+ ID4+DQo+ID4gPiA+ID4+ID4+ICsgIEBwYXJhbVtpbl0gT2Zmc2V0ICAgICAgICAgVGhlIG9mZnNl dCB0byB0aGUgZ2l2ZW4gb2Zmc2V0IG9mIHRoZQ0KPiBwcm9wZXJ0eS4NCj4gPiA+ID4gPj4gPj4N Cj4gPiA+ID4gPj4gPj4gKyAgQHBhcmFtW2luXSBMZW5ndGggICAgICAgICBUaGUgbGVuZ3RoIHRv IHRoZSBzaXplIG9mIHRoZSBwcm9wZXJ0eQ0KPiBmb3VuZC4NCj4gPiA+ID4gPj4gPj4NCj4gPiA+ ID4gPj4gPj4gKw0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArICBAcmV0dXJuIFRoZSBw cm9wZXJ0eSB0byB0aGUgc3RydWN0dXJlIG9mIHRoZSBnaXZlbiBwcm9wZXJ0eSBvZmZzZXQuDQo+ ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4g Pj4gKyoqLw0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArQ09OU1Qgc3RydWN0IGZkdF9w cm9wZXJ0eSAqDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICtFRklBUEkNCj4gPiA+ID4g Pj4gPj4NCj4gPiA+ID4gPj4gPj4gK0ZkdEdldFByb3BlcnR5QnlPZmZzZXQgKA0KPiA+ID4gPiA+ PiA+Pg0KPiA+ID4gPiA+PiA+PiArICBJTiBDT05TVCBWT0lEICAqRmR0LA0KPiA+ID4gPiA+PiA+ Pg0KPiA+ID4gPiA+PiA+PiArICBJTiBJTlQzMiAgICAgICBPZmZzZXQsDQo+ID4gPiA+ID4+ID4+ DQo+ID4gPiA+ID4+ID4+ICsgIElOIElOVDMyICAgICAgICpMZW5ndGgNCj4gPiA+ID4gPj4gPj4N Cj4gPiA+ID4gPj4gPj4gKyAgKQ0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArew0KPiA+ ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArICByZXR1cm4gZmR0X2dldF9wcm9wZXJ0eV9ieV9v ZmZzZXQgKEZkdCwgT2Zmc2V0LCBMZW5ndGgpOw0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+ PiArfQ0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArDQo+ID4gPiA+ID4+ID4+DQo+ID4g PiA+ID4+ID4+ICsvKioNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKyAgUmV0dXJucyBh IHN0cmluZyBieSB0aGUgZ2l2ZW4gc3RyaW5nIG9mZnNldC4NCj4gPiA+ID4gPj4gPj4NCj4gPiA+ ID4gPj4gPj4gKw0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArICBAcGFyYW1baW5dIEZk dCAgICAgICAgICAgIFRoZSBwb2ludGVyIHRvIEZEVCBibG9iLg0KPiA+ID4gPiA+PiA+Pg0KPiA+ ID4gPiA+PiA+PiArICBAcGFyYW1baW5dIFN0ck9mZnNldCAgICAgIFRoZSBvZmZzZXQgdG8gdGhl IGxvY2F0aW9uIGluIHRoZSBzdHJpbmdzDQo+IGJsb2NrIG9mIEZEVC4NCj4gPiA+ID4gPj4gPj4N Cj4gPiA+ID4gPj4gPj4gKyAgQHBhcmFtW2luXSBMZW5ndGggICAgICAgICBUaGUgbGVuZ3RoIHRv IHRoZSBzaXplIG9mIHN0cmluZyB3aGljaCBuZWVkDQo+IGJlIHJldHJpZXZlZC4NCj4gPiA+ID4g Pj4gPj4NCj4gPiA+ID4gPj4gPj4gKw0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArICBA cmV0dXJuIFRoZSBzdHJpbmcgdG8gdGhlIGdpdmVuIHN0cmluZyBvZmZzZXQuDQo+ID4gPiA+ID4+ ID4+DQo+ID4gPiA+ID4+ID4+ICsNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKyoqLw0K PiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArQ09OU1QgQ0hBUjggKg0KPiA+ID4gPiA+PiA+ Pg0KPiA+ID4gPiA+PiA+PiArRUZJQVBJDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICtG ZHRHZXRTdHJpbmcgKA0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArICBJTiBDT05TVCBW T0lEICAqRmR0LA0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArICBJTiBJTlQzMiAgICAg ICBTdHJPZmZzZXQsDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsgIElOIElOVDMyICAg ICAgICpMZW5ndGggICAgICAgIE9QVElPTkFMDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ ICsgICkNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gK3sNCj4gPiA+ID4gPj4gPj4NCj4g PiA+ID4gPj4gPj4gKyAgcmV0dXJuIGZkdF9nZXRfc3RyaW5nIChGZHQsIFN0ck9mZnNldCwgTGVu Z3RoKTsNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gK30NCj4gPiA+ID4gPj4gPj4NCj4g PiA+ID4gPj4gPj4gKw0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArLyoqDQo+ID4gPiA+ ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsgIEFkZCBhIG5ldyBub2RlIHRvIHRoZSBGRFQuDQo+ID4g PiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4g KyAgQHBhcmFtW2luXSBGZHQgICAgICAgICAgICBUaGUgcG9pbnRlciB0byBGRFQgYmxvYi4NCj4g PiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKyAgQHBhcmFtW2luXSBQYXJlbnRPZmZzZXQgICBU aGUgb2Zmc2V0IHRvIHRoZSBub2RlIG9mZnNldCB3aGljaA0KPiB3YW50IHRvIGFkZCBpbi4NCj4g PiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKyAgQHBhcmFtW2luXSBOYW1lICAgICAgICAgICBU aGUgbmFtZSB0byBuYW1lIHRoZSBub2RlLg0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiAr DQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsgIEByZXR1cm4gIFRoZSBvZmZzZXQgdG8g dGhlIG5ldyBub2RlLg0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArDQo+ID4gPiA+ID4+ ID4+DQo+ID4gPiA+ID4+ID4+ICsqKi8NCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gK0lO VDMyDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICtFRklBUEkNCj4gPiA+ID4gPj4gPj4N Cj4gPiA+ID4gPj4gPj4gK0ZkdEFkZFN1Ym5vZGUgKA0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+ PiA+PiArICBJTiBWT0lEICAgICAgICAgKkZkdCwNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4g Pj4gKyAgSU4gSU5UMzIgICAgICAgIFBhcmVudE9mZnNldCwNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ ID4gPj4gPj4gKyAgSU4gQ09OU1QgQ0hBUjggICpOYW1lDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ ID4+ID4+ICsgICkNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gK3sNCj4gPiA+ID4gPj4g Pj4NCj4gPiA+ID4gPj4gPj4gKyAgcmV0dXJuIGZkdF9hZGRfc3Vibm9kZSAoRmR0LCBQYXJlbnRP ZmZzZXQsIE5hbWUpOw0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArfQ0KPiA+ID4gPiA+ PiA+Pg0KPiA+ID4gPiA+PiA+PiArDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsvKioN Cj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKyAgQWRkIG9yIG1vZGlmeSBhIHByb3BlcnR5 IGluIHRoZSBnaXZlbiBub2RlLg0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArDQo+ID4g PiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsgIEBwYXJhbVtpbl0gRmR0ICAgICAgICAgICAgVGhl IHBvaW50ZXIgdG8gRkRUIGJsb2IuDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsgIEBw YXJhbVtpbl0gTm9kZU9mZnNldCAgICAgVGhlIG9mZnNldCB0byB0aGUgbm9kZSBvZmZzZXQgd2hp Y2gNCj4gd2FudCB0byBhZGQgaW4uDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsgIEBw YXJhbVtpbl0gTmFtZSAgICAgICAgICAgVGhlIG5hbWUgdG8gbmFtZSB0aGUgcHJvcGVydHkuDQo+ ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsgIEBwYXJhbVtpbl0gVmFsdWUgICAgICAgICAg VGhlIHZhbHVlIHRvIHRoZSBwcm9wZXJ0eSB2YWx1ZS4NCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4g Pj4gPj4gKyAgQHBhcmFtW2luXSBMZW5ndGggICAgICAgICBUaGUgbGVuZ3RoIHRvIHRoZSBzaXpl IG9mIHRoZSBwcm9wZXJ0eS4NCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKw0KPiA+ID4g PiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArICBAcmV0dXJuICBaZXJvIGZvciBzdWNjZXNzZnVsbHks IG90aGVyd2lzZSBmYWlsZWQuDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsNCj4gPiA+ ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKyoqLw0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+ PiArSU5UMzINCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gK0VGSUFQSQ0KPiA+ID4gPiA+ PiA+Pg0KPiA+ID4gPiA+PiA+PiArRmR0U2V0UHJvcCAoDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ ID4+ID4+ICsgIElOIFZPSUQgICAgICAgICAqRmR0LA0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+ PiA+PiArICBJTiBJTlQzMiAgICAgICAgTm9kZU9mZnNldCwNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ ID4gPj4gPj4gKyAgSU4gQ09OU1QgQ0hBUjggICpOYW1lLA0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4g PiA+PiA+PiArICBJTiBDT05TVCBWT0lEICAgKlZhbHVlLA0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4g PiA+PiA+PiArICBJTiBVSU5UMzIgICAgICAgTGVuZ3RoDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ ID4+ID4+ICsgICkNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gK3sNCj4gPiA+ID4gPj4g Pj4NCj4gPiA+ID4gPj4gPj4gKyAgcmV0dXJuIGZkdF9zZXRwcm9wIChGZHQsIE5vZGVPZmZzZXQs IE5hbWUsIFZhbHVlLCAoaW50KUxlbmd0aCk7DQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ ICt9DQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+IGRpZmYgLS1naXQgYS9NZGVQa2cvTGli cmFyeS9CYXNlRmR0TGliL0xpYkZkdFN1cHBvcnQuaA0KPiA+ID4gPiA+PiA+PiBiL01kZVBrZy9M aWJyYXJ5L0Jhc2VGZHRMaWIvTGliRmR0U3VwcG9ydC5oDQo+ID4gPiA+ID4+ID4+IG5ldyBmaWxl IG1vZGUgMTAwNjQ0DQo+ID4gPiA+ID4+ID4+IGluZGV4IDAwMDAwMDAwMDAuLmU3MzhmNGRlZDQN Cj4gPiA+ID4gPj4gPj4gLS0tIC9kZXYvbnVsbA0KPiA+ID4gPiA+PiA+PiArKysgYi9NZGVQa2cv TGlicmFyeS9CYXNlRmR0TGliL0xpYkZkdFN1cHBvcnQuaA0KPiA+ID4gPiA+PiA+PiBAQCAtMCww ICsxLDk5IEBADQo+ID4gPiA+ID4+ID4+ICsvKiogQGZpbGUNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ ID4gPj4gPj4gKyAgUm9vdCBpbmNsdWRlIGZpbGUgb2YgQyBydW50aW1lIGxpYnJhcnkgdG8gc3Vw cG9ydCBidWlsZGluZyB0aGUNCj4gPiA+ID4gPj4gPj4gKyB0aGlyZC1wYXJ0eQ0KPiA+ID4gPiA+ PiA+Pg0KPiA+ID4gPiA+PiA+PiArICBsaWJmZHQgbGlicmFyeS4NCj4gPiA+ID4gPj4gPj4NCj4g PiA+ID4gPj4gPj4gKw0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArICBDb3B5cmlnaHQg KGMpIDIwMjMsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCj4g PiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKyAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJT RC0yLUNsYXVzZS1QYXRlbnQNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKw0KPiA+ID4g PiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArKiovDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ ICsNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKyNpZm5kZWYgRkRUX0xJQl9TVVBQT1JU X0hfDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsjZGVmaW5lIEZEVF9MSUJfU1VQUE9S VF9IXw0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArDQo+ID4gPiA+ID4+ID4+DQo+ID4g PiA+ID4+ID4+ICsjaW5jbHVkZSA8QmFzZS5oPg0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+ PiArI2luY2x1ZGUgPExpYnJhcnkvQmFzZUxpYi5oPg0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+ PiA+PiArI2luY2x1ZGUgPExpYnJhcnkvQmFzZU1lbW9yeUxpYi5oPg0KPiA+ID4gPiA+PiA+Pg0K PiA+ID4gPiA+PiA+PiArDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICt0eXBlZGVmIFVJ TlQ4ICAgIHVpbnQ4X3Q7DQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICt0eXBlZGVmIFVJ TlQxNiAgIHVpbnQxNl90Ow0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArdHlwZWRlZiBJ TlQzMiAgICBpbnQzMl90Ow0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArdHlwZWRlZiBV SU5UMzIgICB1aW50MzJfdDsNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gK3R5cGVkZWYg VUlOVDY0ICAgdWludDY0X3Q7DQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICt0eXBlZGVm IFVJTlROICAgIHVpbnRwdHJfdDsNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gK3R5cGVk ZWYgVUlOVE4gICAgc2l6ZV90Ow0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArdHlwZWRl ZiBCT09MRUFOICBib29sOw0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArDQo+ID4gPiA+ ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsjZGVmaW5lIHRydWUgICAoMSA9PSAxKQ0KPiA+ID4gPiA+ PiA+Pg0KPiA+ID4gPiA+PiA+PiArI2RlZmluZSBmYWxzZSAgKDEgPT0gMCkNCj4gPiA+ID4gPj4g Pj4NCj4gPiA+ID4gPj4gPj4gKw0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArLy8NCj4g PiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKy8vIERlZmluaXRpb25zIGZvciBnbG9iYWwgY29u c3RhbnRzIHVzZWQgYnkgbGliZmR0IGxpYnJhcnkNCj4gPiA+ID4gPj4gPj4gK3JvdXRpbmVzDQo+ ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsvLw0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+ PiA+PiArI2RlZmluZSBJTlRfTUFYICAgICAgICAgIDB4N0ZGRkZGRkYgICAgICAvKiBNYXhpbXVt IChzaWduZWQpIGludCB2YWx1ZQ0KPiAqLw0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiAr I2RlZmluZSBJTlQzMl9NQVggICAgICAgIDB4N0ZGRkZGRkYgICAgICAvKiBNYXhpbXVtIChzaWdu ZWQpIGludDMyDQo+IHZhbHVlICovDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsjZGVm aW5lIFVJTlQzMl9NQVggICAgICAgMHhGRkZGRkZGRiAgICAgIC8qIE1heGltdW0gdW5zaWduZWQg aW50MzINCj4gdmFsdWUgKi8NCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKw0KPiA+ID4g PiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArLy8NCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4g Ky8vIEZ1bmN0aW9uIHByb3RvdHlwZXMgb2YgbGliZmR0IExpYnJhcnkgcm91dGluZXMNCj4gPiA+ ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKy8vDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ ICt2b2lkICoNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gK21lbXNldCAgICAgKA0KPiA+ ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArICB2b2lkICosDQo+ID4gPiA+ID4+ID4+DQo+ID4g PiA+ID4+ID4+ICsgIGludCwNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKyAgc2l6ZV90 DQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsgICk7DQo+ID4gPiA+ID4+ID4+DQo+ID4g PiA+ID4+ID4+ICsNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gK2ludA0KPiA+ID4gPiA+ PiA+Pg0KPiA+ID4gPiA+PiA+PiArbWVtY21wICAgICAgKA0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4g PiA+PiA+PiArICBjb25zdCB2b2lkICosDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsg IGNvbnN0IHZvaWQgKiwNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKyAgc2l6ZV90DQo+ ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsgICk7DQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ ID4+ID4+ICsNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gK2ludA0KPiA+ID4gPiA+PiA+ Pg0KPiA+ID4gPiA+PiA+PiArc3RyY21wICAgICAgKA0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+ PiA+PiArICBjb25zdCBjaGFyICosDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsgIGNv bnN0IGNoYXIgKg0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArICApOw0KPiA+ID4gPiA+ PiA+Pg0KPiA+ID4gPiA+PiA+PiArDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICtjaGFy ICoNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gK3N0cmNociAgICAgKA0KPiA+ID4gPiA+ PiA+Pg0KPiA+ID4gPiA+PiA+PiArICBjb25zdCBjaGFyICosDQo+ID4gPiA+ID4+ID4+DQo+ID4g PiA+ID4+ID4+ICsgIGludA0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArICApOw0KPiA+ ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ ICtjaGFyICoNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gK3N0cnJjaHIgICAgKA0KPiA+ ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArICBjb25zdCBjaGFyICosDQo+ID4gPiA+ID4+ID4+ DQo+ID4gPiA+ID4+ID4+ICsgIGludA0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArICAp Ow0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ ID4+ID4+ICt1bnNpZ25lZCBsb25nDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICtzdHJ0 b3VsICAgICAoDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsgIGNvbnN0IGNoYXIgKiwN Cj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKyAgY2hhciAqKiwNCj4gPiA+ID4gPj4gPj4N Cj4gPiA+ID4gPj4gPj4gKyAgaW50DQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsgICk7 DQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4g Pj4gPj4gK2NoYXIgKg0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArc3RyY3B5ICgNCj4g PiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKyAgY2hhciAgICAgICAgKnN0ckRlc3QsDQo+ID4g PiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsgIGNvbnN0IGNoYXIgICpzdHJTb3VyY2UNCj4gPiA+ ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKyAgKTsNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4g Pj4gKw0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArLy8NCj4gPiA+ID4gPj4gPj4NCj4g PiA+ID4gPj4gPj4gKy8vIE1hY3JvcyB0aGF0IGRpcmVjdGx5IG1hcCBmdW5jdGlvbnMgdG8gQmFz ZUxpYiwgQmFzZU1lbW9yeUxpYiwNCj4gPiA+ID4gPj4gPj4gK2FuZCBEZWJ1Z0xpYiBmdW5jdGlv bnMNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKy8vDQo+ID4gPiA+ID4+ID4+DQo+ID4g PiA+ID4+ID4+ICsjZGVmaW5lIG1lbWNweShkZXN0LCBzb3VyY2UsIGNvdW50KSAgICAgICAgIENv cHlNZW0oZGVzdCxzb3VyY2UsDQo+IChVSU5UTikoY291bnQpKQ0KPiA+ID4gPiA+PiA+Pg0KPiA+ ID4gPiA+PiA+PiArI2RlZmluZSBtZW1zZXQoZGVzdCwgY2gsIGNvdW50KSAgICAgICAgICAgICBT ZXRNZW0oZGVzdCwNCj4gKFVJTlROKShjb3VudCksKFVJTlQ4KShjaCkpDQo+ID4gPiA+ID4+ID4+ DQo+ID4gPiA+ID4+ID4+ICsjZGVmaW5lIG1lbWNocihidWYsIGNoLCBjb3VudCkgICAgICAgICAg ICAgIFNjYW5NZW04KGJ1ZiwNCj4gKFVJTlROKShjb3VudCksKFVJTlQ4KWNoKQ0KPiA+ID4gPiA+ PiA+Pg0KPiA+ID4gPiA+PiA+PiArI2RlZmluZSBtZW1jbXAoYnVmMSwgYnVmMiwgY291bnQpICAg ICAgICAgICAoaW50KShDb21wYXJlTWVtKGJ1ZjEsDQo+IGJ1ZjIsIChVSU5UTikoY291bnQpKSkN Cj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKyNkZWZpbmUgbWVtbW92ZShkZXN0LCBzb3Vy Y2UsIGNvdW50KSAgICAgICAgQ29weU1lbShkZXN0LCBzb3VyY2UsDQo+IChVSU5UTikoY291bnQp KQ0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArI2RlZmluZSBzdHJsZW4oc3RyKSAgICAg ICAgICAgICAgICAgICAgICAgICAoc2l6ZV90KShBc2NpaVN0ckxlbihzdHIpKQ0KPiA+ID4gPiA+ PiA+Pg0KPiA+ID4gPiA+PiA+PiArI2RlZmluZSBzdHJubGVuKHN0ciwgY291bnQpICAgICAgICAg ICAgICAgICAoc2l6ZV90KShBc2NpaVN0cm5MZW5TKHN0ciwgY291bnQpKQ0KPiA+ID4gPiA+PiA+ Pg0KPiA+ID4gPiA+PiA+PiArI2RlZmluZSBzdHJuY3B5KHN0ckRlc3QsIHN0clNvdXJjZSwgY291 bnQpICBBc2NpaVN0cm5DcHlTKHN0ckRlc3QsDQo+ID4gPiA+ID4+ID4+ICtNQVhfU1RSSU5HX1NJ WkUsIHN0clNvdXJjZSwgKFVJTlROKWNvdW50KQ0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+ PiArI2RlZmluZSBzdHJjYXQoc3RyRGVzdCwgc3RyU291cmNlKSAgICAgICAgICBBc2NpaVN0ckNh dFMoc3RyRGVzdCwNCj4gTUFYX1NUUklOR19TSVpFLCBzdHJTb3VyY2UpDQo+ID4gPiA+ID4+ID4+ DQo+ID4gPiA+ID4+ID4+ICsjZGVmaW5lIHN0cmNtcChzdHJpbmcxLCBzdHJpbmcyLCBjb3VudCkg ICAgIChpbnQpKEFzY2lpU3RyQ21wKHN0cmluZzEsDQo+IHN0cmluZzIpKQ0KPiA+ID4gPiA+PiA+ Pg0KPiA+ID4gPiA+PiA+PiArI2RlZmluZSBzdHJuY21wKHN0cmluZzEsIHN0cmluZzIsIGNvdW50 KSAgICAoaW50KShBc2NpaVN0cm5DbXAoc3RyaW5nMSwNCj4gc3RyaW5nMiwgKFVJTlROKShjb3Vu dCkpKQ0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArDQo+ID4gPiA+ID4+ID4+DQo+ID4g PiA+ID4+ID4+ICsjZW5kaWYgLyogRkRUX0xJQl9TVVBQT1JUX0hfICovDQo+ID4gPiA+ID4+ID4+ DQo+ID4gPiA+ID4+ID4+IGRpZmYgLS1naXQgYS9NZGVQa2cvTGlicmFyeS9CYXNlRmR0TGliL0xp YkZkdFdyYXBwZXIuYw0KPiA+ID4gPiA+PiA+PiBiL01kZVBrZy9MaWJyYXJ5L0Jhc2VGZHRMaWIv TGliRmR0V3JhcHBlci5jDQo+ID4gPiA+ID4+ID4+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+ID4g PiA+ID4+ID4+IGluZGV4IDAwMDAwMDAwMDAuLjc3MmJiYTQ4MzkNCj4gPiA+ID4gPj4gPj4gLS0t IC9kZXYvbnVsbA0KPiA+ID4gPiA+PiA+PiArKysgYi9NZGVQa2cvTGlicmFyeS9CYXNlRmR0TGli L0xpYkZkdFdyYXBwZXIuYw0KPiA+ID4gPiA+PiA+PiBAQCAtMCwwICsxLDE3MyBAQA0KPiA+ID4g PiA+PiA+PiArLyoqIEBmaWxlDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsgIElTTyBD IGltcGxlbWVudGF0aW9ucyBvZiBzdHJjaHIsIHN0cnJjaHIgYW5kIHN0cnRvdWwuDQo+ID4gPiA+ ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKyAg Q29weXJpZ2h0IChjKSAyMDIzLCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZl ZC48QlI+DQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsgIENvcHlyaWdodCAoYykgMjAy MyBQZWRybyBGYWxjYXRvIEFsbCByaWdodHMgcmVzZXJ2ZWQuDQo+ID4gPiA+ID4+ID4+DQo+ID4g PiA+ID4+ID4+ICsgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50 DQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4g Pj4gPj4gKyoqLw0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArDQo+ID4gPiA+ID4+ID4+ DQo+ID4gPiA+ID4+ID4+ICsjaW5jbHVkZSA8QmFzZS5oPg0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4g PiA+PiA+PiArDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsjZGVmaW5lIFVMT05HX01B WCAgICAgICAgMHhGRkZGRkZGRiAgICAgIC8qIE1heGltdW0gdW5zaWduZWQgbG9uZw0KPiB2YWx1 ZSAqLw0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArDQo+ID4gPiA+ID4+ID4+DQo+ID4g PiA+ID4+ID4+ICsvLyBWZXJ5IHF1aWNrIG5vdGVzOg0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+ PiA+PiArLy8gV2Ugb25seSBnbyB0aHJvdWdoIHRoZSBzdHJpbmcgb25jZSBmb3IgYm90aCBmdW5j dGlvbnMNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKy8vIFRoZXkgYXJlIG1pbmltYWwg aW1wbGVtZW50YXRpb25zIChub3Qgc3BlZWQgb3B0aW1pemVkKSBvZiBJU08gQw0KPiA+ID4gPiA+ PiA+PiArc2VtYW50aWNzDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsvLyBzdHJjaHIg YW5kIHN0cnJjaHIgYWxzbyBpbmNsdWRlIHRoZSBudWxsIHRlcm1pbmF0b3IgYXMgcGFydCBvZg0K PiA+ID4gPiA+PiA+PiArdGhlIHN0cmluZw0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiAr Ly8gc28gdGhlIGNvZGUgZ2V0cyBhIGJpdCBjbHVua3kgdG8gaGFuZGxlIHRoYXQgY2FzZSBzcGVj aWZpY2FsbHkuDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsNCj4gPiA+ID4gPj4gPj4N Cj4gPiA+ID4gPj4gPj4gK2NoYXIgKg0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArc3Ry Y2hyICgNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKyAgY29uc3QgY2hhciAgKlN0ciwN Cj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKyAgaW50ICAgICAgICAgQ2hhcg0KPiA+ID4g PiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArICApDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ ICt7DQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsgIGNoYXIgICpTOw0KPiA+ID4gPiA+ PiA+Pg0KPiA+ID4gPiA+PiA+PiArDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsgIFMg PSAoY2hhciAqKVN0cjsNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKw0KPiA+ID4gPiA+ PiA+Pg0KPiA+ID4gPiA+PiA+PiArICBmb3IgKCA7IDsgUysrKSB7DQo+ID4gPiA+ID4+ID4+DQo+ ID4gPiA+ID4+ID4+ICsgICAgaWYgKCpTID09IENoYXIpIHsNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ ID4gPj4gPj4gKyAgICAgIHJldHVybiBTOw0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiAr ICAgIH0NCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKw0KPiA+ID4gPiA+PiA+Pg0KPiA+ ID4gPiA+PiA+PiArICAgIGlmICgqUyA9PSAnXDAnKSB7DQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ ID4+ID4+ICsgICAgICByZXR1cm4gTlVMTDsNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4g KyAgICB9DQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsgIH0NCj4gPiA+ID4gPj4gPj4N Cj4gPiA+ID4gPj4gPj4gK30NCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKw0KPiA+ID4g PiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArY2hhciAqDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ ID4+ICtzdHJyY2hyICgNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKyAgY29uc3QgY2hh ciAgKlN0ciwNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKyAgaW50ICAgICAgICAgQ2hh cg0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArICApDQo+ID4gPiA+ID4+ID4+DQo+ID4g PiA+ID4+ID4+ICt7DQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsgIGNoYXIgICpTLCAq bGFzdDsNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKw0KPiA+ID4gPiA+PiA+Pg0KPiA+ ID4gPiA+PiA+PiArICBTICAgID0gKGNoYXIgKilTdHI7DQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ ID4+ID4+ICsgIGxhc3QgPSBOVUxMOw0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArDQo+ ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsgIGZvciAoIDsgOyBTKyspIHsNCj4gPiA+ID4g Pj4gPj4NCj4gPiA+ID4gPj4gPj4gKyAgICBpZiAoKlMgPT0gQ2hhcikgew0KPiA+ID4gPiA+PiA+ Pg0KPiA+ID4gPiA+PiA+PiArICAgICAgbGFzdCA9IFM7DQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ ID4+ID4+ICsgICAgfQ0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArDQo+ID4gPiA+ID4+ ID4+DQo+ID4gPiA+ID4+ID4+ICsgICAgaWYgKCpTID09ICdcMCcpIHsNCj4gPiA+ID4gPj4gPj4N Cj4gPiA+ID4gPj4gPj4gKyAgICAgIHJldHVybiBsYXN0Ow0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4g PiA+PiA+PiArICAgIH0NCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKyAgfQ0KPiA+ID4g PiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArfQ0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiAr DQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICtTVEFUSUMNCj4gPiA+ID4gPj4gPj4NCj4g PiA+ID4gPj4gPj4gK2ludA0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArX19pc3NwYWNl ICgNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKyAgaW50ICBjaA0KPiA+ID4gPiA+PiA+ Pg0KPiA+ID4gPiA+PiA+PiArICApDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICt7DQo+ ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsgIC8vIGJhc2ljIEFTQ0lJIGN0eXBlLmg6aXNz cGFjZSgpLiBOb3QgZWZmaWNpZW50DQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsgIHJl dHVybiBjaCA9PSAnXHInIHx8IGNoID09ICdcbicgfHwgY2ggPT0gJyAnIHx8IGNoID09ICdcdCcg fHwgY2gNCj4gPiA+ID4gPj4gPj4gKyA9PSAnXHYnIHx8IGNoID09ICdcZic7DQo+ID4gPiA+ID4+ ID4+DQo+ID4gPiA+ID4+ID4+ICt9DQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsNCj4g PiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gK3Vuc2lnbmVkIGxvbmcNCj4gPiA+ID4gPj4gPj4N Cj4gPiA+ID4gPj4gPj4gK3N0cnRvdWwgKA0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiAr ICBjb25zdCBjaGFyICAqTnB0ciwNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKyAgY2hh ciAgICAgICAgKipFbmRQdHIsDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsgIGludCAg ICAgICAgIEJhc2UNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKyAgKQ0KPiA+ID4gPiA+ PiA+Pg0KPiA+ID4gPiA+PiA+PiArew0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArICBC T09MRUFOICAgICAgICBOZWdhdGU7DQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsgIEJP T0xFQU4gICAgICAgIE92ZXJmbG93Ow0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArICB1 bnNpZ25lZCBsb25nICBWYWw7DQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsNCj4gPiA+ ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKyAgTmVnYXRlICAgPSBGQUxTRTsNCj4gPiA+ID4gPj4g Pj4NCj4gPiA+ID4gPj4gPj4gKyAgT3ZlcmZsb3cgPSBGQUxTRTsNCj4gPiA+ID4gPj4gPj4NCj4g PiA+ID4gPj4gPj4gKyAgVmFsICAgICAgPSAwOw0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+ PiArDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsgIC8vIFJlamVjdCBiYWQgbnVtZXJp YyBiYXNlcw0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArICBpZiAoKEJhc2UgPCAwKSB8 fCAoQmFzZSA9PSAxKSB8fCAoQmFzZSA+IDM2KSkgew0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+ PiA+PiArICAgIHJldHVybiAwOw0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArICB9DQo+ ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4g Pj4gKyAgLy8gU2tpcCB3aGl0ZXNwYWNlDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsg IHdoaWxlIChfX2lzc3BhY2UgKCpOcHRyKSkgew0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+ PiArICAgIE5wdHIrKzsNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKyAgfQ0KPiA+ID4g PiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsg IC8vIENoZWNrIGZvciArIG9yIC0gcHJlZml4ZXMNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4g Pj4gKyAgaWYgKCpOcHRyID09ICctJykgew0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiAr ICAgIE5lZ2F0ZSA9IFRSVUU7DQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsgICAgTnB0 cisrOw0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArICB9IGVsc2UgaWYgKCpOcHRyID09 ICcrJykgew0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArICAgIE5wdHIrKzsNCj4gPiA+ ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKyAgfQ0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+ PiArDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsgIC8vIENvbnN1bWUgdGhlIHN0YXJ0 LCBhdXRvZGV0ZWN0aW5nIGJhc2UgaWYgbmVlZGVkDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ ID4+ICsgIGlmICgoTnB0clswXSA9PSAnMCcpICYmICgoTnB0clsxXSA9PSAneCcpIHx8IChOcHRy WzFdID09ICdYJykpDQo+ID4gPiA+ID4+ID4+ICsgJiYgKChCYXNlID09IDApIHx8IChCYXNlID09 IDE2KSkpIHsNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKyAgICAvLyBIZXgNCj4gPiA+ ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKyAgICBOcHRyICs9IDI7DQo+ID4gPiA+ID4+ID4+DQo+ ID4gPiA+ID4+ID4+ICsgICAgQmFzZSAgPSAxNjsNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4g Pj4gKyAgfSBlbHNlIGlmICgoTnB0clswXSA9PSAnMCcpICYmICgoTnB0clsxXSA9PSAnYicpIHx8 IChOcHRyWzFdID09DQo+ID4gPiA+ID4+ID4+ICsgJ0InKSkgJiYgKChCYXNlID09IDApIHx8IChC YXNlID09IDIpKSkgew0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArICAgIC8vIEJpbmFy eSAoc3RhbmRhcmQgcGVuZGluZyBDMjMpDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsg ICAgTnB0ciArPSAyOw0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArICAgIEJhc2UgID0g MjsNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKyAgfSBlbHNlIGlmICgoTnB0clswXSA9 PSAnMCcpICYmICgoQmFzZSA9PSAwKSB8fCAoQmFzZSA9PSA4KSkpIHsNCj4gPiA+ID4gPj4gPj4N Cj4gPiA+ID4gPj4gPj4gKyAgICAvLyBPY3RhbA0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+ PiArICAgIE5wdHIrKzsNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKyAgICBCYXNlID0g ODsNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKyAgfSBlbHNlIHsNCj4gPiA+ID4gPj4g Pj4NCj4gPiA+ID4gPj4gPj4gKyAgICBpZiAoQmFzZSA9PSAwKSB7DQo+ID4gPiA+ID4+ID4+DQo+ ID4gPiA+ID4+ID4+ICsgICAgICAvLyBBc3N1bWUgZGVjaW1hbA0KPiA+ID4gPiA+PiA+Pg0KPiA+ ID4gPiA+PiA+PiArICAgICAgQmFzZSA9IDEwOw0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+ PiArICAgIH0NCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKyAgfQ0KPiA+ID4gPiA+PiA+ Pg0KPiA+ID4gPiA+PiA+PiArDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsgIHdoaWxl IChUUlVFKSB7DQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsgICAgaW50ICAgICAgICAg ICAgRGlnaXQ7DQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsgICAgY2hhciAgICAgICAg ICAgQzsNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKyAgICB1bnNpZ25lZCBsb25nICBO ZXdWYWw7DQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsNCj4gPiA+ID4gPj4gPj4NCj4g PiA+ID4gPj4gPj4gKyAgICBDICAgICA9ICpOcHRyOw0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+ PiA+PiArICAgIERpZ2l0ID0gLTE7DQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsNCj4g PiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKyAgICBpZiAoKEMgPj0gJzAnKSAmJiAoQyA8PSAn OScpKSB7DQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsgICAgICBEaWdpdCA9IEMgLSAn MCc7DQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsgICAgfSBlbHNlIGlmICgoQyA+PSAn YScpICYmIChDIDw9ICd6JykpIHsNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKyAgICAg IERpZ2l0ID0gQyAtICdhJyArIDEwOw0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArICAg IH0gZWxzZSBpZiAoKEMgPj0gJ0EnKSAmJiAoQyA8PSAnWicpKSB7DQo+ID4gPiA+ID4+ID4+DQo+ ID4gPiA+ID4+ID4+ICsgICAgICBEaWdpdCA9IEMgLSAnQScgKyAxMDsNCj4gPiA+ID4gPj4gPj4N Cj4gPiA+ID4gPj4gPj4gKyAgICB9DQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsNCj4g PiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKyAgICBpZiAoKERpZ2l0ID09IC0xKSB8fCAoRGln aXQgPj0gQmFzZSkpIHsNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKyAgICAgIC8vIE5v dGUgdGhhdCB0aGlzIGNhc2UgYWxzbyBoYW5kbGVzIHRoZSBcMA0KPiA+ID4gPiA+PiA+Pg0KPiA+ ID4gPiA+PiA+PiArICAgICAgaWYgKEVuZFB0cikgew0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+ PiA+PiArICAgICAgICAqRW5kUHRyID0gKGNoYXIgKilOcHRyOw0KPiA+ID4gPiA+PiA+Pg0KPiA+ ID4gPiA+PiA+PiArICAgICAgfQ0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArDQo+ID4g PiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsgICAgICBicmVhazsNCj4gPiA+ID4gPj4gPj4NCj4g PiA+ID4gPj4gPj4gKyAgICB9DQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsNCj4gPiA+ ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKyAgICBOZXdWYWwgPSBWYWwgKiBCYXNlICsgRGlnaXQ7 DQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4g Pj4gPj4gKyAgICBpZiAoTmV3VmFsIDwgVmFsKSB7DQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ ID4+ICsgICAgICAvLyBPdmVyZmxvdw0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArICAg ICAgT3ZlcmZsb3cgPSBUUlVFOw0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArICAgIH0N Cj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKw0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+ PiA+PiArICAgIFZhbCA9IE5ld1ZhbDsNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKw0K PiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArICAgIE5wdHIrKzsNCj4gPiA+ID4gPj4gPj4N Cj4gPiA+ID4gPj4gPj4gKyAgfQ0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArDQo+ID4g PiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsgIGlmIChOZWdhdGUpIHsNCj4gPiA+ID4gPj4gPj4N Cj4gPiA+ID4gPj4gPj4gKyAgICBWYWwgPSAtVmFsOw0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+ PiA+PiArICB9DQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsNCj4gPiA+ID4gPj4gPj4N Cj4gPiA+ID4gPj4gPj4gKyAgaWYgKE92ZXJmbG93KSB7DQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ ID4+ID4+ICsgICAgVmFsID0gVUxPTkdfTUFYOw0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+ PiArICB9DQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsNCj4gPiA+ID4gPj4gPj4NCj4g PiA+ID4gPj4gPj4gKyAgLy8gVE9ETzogV2UncmUgbGFja2luZyBlcnJubyBoZXJlLg0KPiA+ID4g PiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArICByZXR1cm4gVmFsOw0KPiA+ID4gPiA+PiA+Pg0KPiA+ ID4gPiA+PiA+PiArfQ0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiBkaWZmIC0tZ2l0IGEv TWRlUGtnL0xpYnJhcnkvQmFzZUZkdExpYi9saW1pdHMuaA0KPiA+ID4gPiA+PiA+PiBiL01kZVBr Zy9MaWJyYXJ5L0Jhc2VGZHRMaWIvbGltaXRzLmgNCj4gPiA+ID4gPj4gPj4gbmV3IGZpbGUgbW9k ZSAxMDA2NDQNCj4gPiA+ID4gPj4gPj4gaW5kZXggMDAwMDAwMDAwMC4uZjZjZjhkNTcwMg0KPiA+ ID4gPiA+PiA+PiAtLS0gL2Rldi9udWxsDQo+ID4gPiA+ID4+ID4+ICsrKyBiL01kZVBrZy9MaWJy YXJ5L0Jhc2VGZHRMaWIvbGltaXRzLmgNCj4gPiA+ID4gPj4gPj4gQEAgLTAsMCArMSwxMCBAQA0K PiA+ID4gPiA+PiA+PiArLyoqIEBmaWxlDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsg IEluY2x1ZGUgZmlsZSB0byBzdXBwb3J0IGJ1aWxkaW5nIHRoZSB0aGlyZC1wYXJ0eSBsaWJmZHQg bGlicmFyeS4NCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKw0KPiA+ID4gPiA+PiA+Pg0K PiA+ID4gPiA+PiA+PiArQ29weXJpZ2h0IChjKSAyMDIzLCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxs IHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICtTUERY LUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiA+ID4gPiA+PiA+Pg0K PiA+ID4gPiA+PiA+PiArDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsqKi8NCj4gPiA+ ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKw0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiAr I2luY2x1ZGUgPExpYkZkdFN1cHBvcnQuaD4NCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4g Kw0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiBkaWZmIC0tZ2l0IGEvTWRlUGtnL0xpYnJh cnkvQmFzZUZkdExpYi9zdGRib29sLmgNCj4gPiA+ID4gPj4gPj4gYi9NZGVQa2cvTGlicmFyeS9C YXNlRmR0TGliL3N0ZGJvb2wuaA0KPiA+ID4gPiA+PiA+PiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0K PiA+ID4gPiA+PiA+PiBpbmRleCAwMDAwMDAwMDAwLi5mNmNmOGQ1NzAyDQo+ID4gPiA+ID4+ID4+ IC0tLSAvZGV2L251bGwNCj4gPiA+ID4gPj4gPj4gKysrIGIvTWRlUGtnL0xpYnJhcnkvQmFzZUZk dExpYi9zdGRib29sLmgNCj4gPiA+ID4gPj4gPj4gQEAgLTAsMCArMSwxMCBAQA0KPiA+ID4gPiA+ PiA+PiArLyoqIEBmaWxlDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsgIEluY2x1ZGUg ZmlsZSB0byBzdXBwb3J0IGJ1aWxkaW5nIHRoZSB0aGlyZC1wYXJ0eSBsaWJmZHQgbGlicmFyeS4N Cj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKw0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+ PiA+PiArQ29weXJpZ2h0IChjKSAyMDIzLCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyBy ZXNlcnZlZC48QlI+DQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICtTUERYLUxpY2Vuc2Ut SWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+ PiA+PiArDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsqKi8NCj4gPiA+ID4gPj4gPj4N Cj4gPiA+ID4gPj4gPj4gKw0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArI2luY2x1ZGUg PExpYkZkdFN1cHBvcnQuaD4NCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKw0KPiA+ID4g PiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiBkaWZmIC0tZ2l0IGEvTWRlUGtnL0xpYnJhcnkvQmFzZUZk dExpYi9zdGRkZWYuaA0KPiA+ID4gPiA+PiA+PiBiL01kZVBrZy9MaWJyYXJ5L0Jhc2VGZHRMaWIv c3RkZGVmLmgNCj4gPiA+ID4gPj4gPj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gPiA+ID4gPj4g Pj4gaW5kZXggMDAwMDAwMDAwMC4uZjZjZjhkNTcwMg0KPiA+ID4gPiA+PiA+PiAtLS0gL2Rldi9u dWxsDQo+ID4gPiA+ID4+ID4+ICsrKyBiL01kZVBrZy9MaWJyYXJ5L0Jhc2VGZHRMaWIvc3RkZGVm LmgNCj4gPiA+ID4gPj4gPj4gQEAgLTAsMCArMSwxMCBAQA0KPiA+ID4gPiA+PiA+PiArLyoqIEBm aWxlDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsgIEluY2x1ZGUgZmlsZSB0byBzdXBw b3J0IGJ1aWxkaW5nIHRoZSB0aGlyZC1wYXJ0eSBsaWJmZHQgbGlicmFyeS4NCj4gPiA+ID4gPj4g Pj4NCj4gPiA+ID4gPj4gPj4gKw0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArQ29weXJp Z2h0IChjKSAyMDIzLCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+ DQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICtTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjog QlNELTItQ2xhdXNlLVBhdGVudA0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArDQo+ID4g PiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsqKi8NCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4g Pj4gKw0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArI2luY2x1ZGUgPExpYkZkdFN1cHBv cnQuaD4NCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKw0KPiA+ID4gPiA+PiA+Pg0KPiA+ ID4gPiA+PiA+PiBkaWZmIC0tZ2l0IGEvTWRlUGtnL0xpYnJhcnkvQmFzZUZkdExpYi9zdGRpbnQu aA0KPiA+ID4gPiA+PiA+PiBiL01kZVBrZy9MaWJyYXJ5L0Jhc2VGZHRMaWIvc3RkaW50LmgNCj4g PiA+ID4gPj4gPj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gPiA+ID4gPj4gPj4gaW5kZXggMDAw MDAwMDAwMC4uZjZjZjhkNTcwMg0KPiA+ID4gPiA+PiA+PiAtLS0gL2Rldi9udWxsDQo+ID4gPiA+ ID4+ID4+ICsrKyBiL01kZVBrZy9MaWJyYXJ5L0Jhc2VGZHRMaWIvc3RkaW50LmgNCj4gPiA+ID4g Pj4gPj4gQEAgLTAsMCArMSwxMCBAQA0KPiA+ID4gPiA+PiA+PiArLyoqIEBmaWxlDQo+ID4gPiA+ ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsgIEluY2x1ZGUgZmlsZSB0byBzdXBwb3J0IGJ1aWxkaW5n IHRoZSB0aGlyZC1wYXJ0eSBsaWJmZHQgbGlicmFyeS4NCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4g Pj4gPj4gKw0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArQ29weXJpZ2h0IChjKSAyMDIz LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ID4gPiA+ID4+ ID4+DQo+ID4gPiA+ID4+ID4+ICtTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNl LVBhdGVudA0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArDQo+ID4gPiA+ID4+ID4+DQo+ ID4gPiA+ID4+ID4+ICsqKi8NCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKw0KPiA+ID4g PiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArI2luY2x1ZGUgPExpYkZkdFN1cHBvcnQuaD4NCj4gPiA+ ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKw0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiBk aWZmIC0tZ2l0IGEvTWRlUGtnL0xpYnJhcnkvQmFzZUZkdExpYi9zdGRsaWIuaA0KPiA+ID4gPiA+ PiA+PiBiL01kZVBrZy9MaWJyYXJ5L0Jhc2VGZHRMaWIvc3RkbGliLmgNCj4gPiA+ID4gPj4gPj4g bmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gPiA+ID4gPj4gPj4gaW5kZXggMDAwMDAwMDAwMC4uZjZj ZjhkNTcwMg0KPiA+ID4gPiA+PiA+PiAtLS0gL2Rldi9udWxsDQo+ID4gPiA+ID4+ID4+ICsrKyBi L01kZVBrZy9MaWJyYXJ5L0Jhc2VGZHRMaWIvc3RkbGliLmgNCj4gPiA+ID4gPj4gPj4gQEAgLTAs MCArMSwxMCBAQA0KPiA+ID4gPiA+PiA+PiArLyoqIEBmaWxlDQo+ID4gPiA+ID4+ID4+DQo+ID4g PiA+ID4+ID4+ICsgIEluY2x1ZGUgZmlsZSB0byBzdXBwb3J0IGJ1aWxkaW5nIHRoZSB0aGlyZC1w YXJ0eSBsaWJmZHQgbGlicmFyeS4NCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKw0KPiA+ ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArQ29weXJpZ2h0IChjKSAyMDIzLCBJbnRlbCBDb3Jw b3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ ID4+ID4+ICtTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiA+ ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ ICsqKi8NCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKw0KPiA+ID4gPiA+PiA+Pg0KPiA+ ID4gPiA+PiA+PiArI2luY2x1ZGUgPExpYkZkdFN1cHBvcnQuaD4NCj4gPiA+ID4gPj4gPj4NCj4g PiA+ID4gPj4gPj4gKw0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiBkaWZmIC0tZ2l0IGEv TWRlUGtnL0xpYnJhcnkvQmFzZUZkdExpYi9zdHJpbmcuaA0KPiA+ID4gPiA+PiA+PiBiL01kZVBr Zy9MaWJyYXJ5L0Jhc2VGZHRMaWIvc3RyaW5nLmgNCj4gPiA+ID4gPj4gPj4gbmV3IGZpbGUgbW9k ZSAxMDA2NDQNCj4gPiA+ID4gPj4gPj4gaW5kZXggMDAwMDAwMDAwMC4uZjZjZjhkNTcwMg0KPiA+ ID4gPiA+PiA+PiAtLS0gL2Rldi9udWxsDQo+ID4gPiA+ID4+ID4+ICsrKyBiL01kZVBrZy9MaWJy YXJ5L0Jhc2VGZHRMaWIvc3RyaW5nLmgNCj4gPiA+ID4gPj4gPj4gQEAgLTAsMCArMSwxMCBAQA0K PiA+ID4gPiA+PiA+PiArLyoqIEBmaWxlDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsg IEluY2x1ZGUgZmlsZSB0byBzdXBwb3J0IGJ1aWxkaW5nIHRoZSB0aGlyZC1wYXJ0eSBsaWJmZHQg bGlicmFyeS4NCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKw0KPiA+ID4gPiA+PiA+Pg0K PiA+ID4gPiA+PiA+PiArQ29weXJpZ2h0IChjKSAyMDIzLCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxs IHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICtTUERY LUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiA+ID4gPiA+PiA+Pg0K PiA+ID4gPiA+PiA+PiArDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsqKi8NCj4gPiA+ ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKw0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiAr I2luY2x1ZGUgPExpYkZkdFN1cHBvcnQuaD4NCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4g Kw0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiBkaWZmIC0tZ2l0IGEvTWRlUGtnL01kZVBr Zy5jaS55YW1sIGIvTWRlUGtnL01kZVBrZy5jaS55YW1sDQo+IGluZGV4DQo+ID4gPiA+ID4+ID4+ IDZiYTg1ZWJlNjEuLmYwMzlkYWNjZGIgMTAwNjQ0DQo+ID4gPiA+ID4+ID4+IC0tLSBhL01kZVBr Zy9NZGVQa2cuY2kueWFtbA0KPiA+ID4gPiA+PiA+PiArKysgYi9NZGVQa2cvTWRlUGtnLmNpLnlh bWwNCj4gPiA+ID4gPj4gPj4gQEAgLTIsNyArMiw3IEBADQo+ID4gPiA+ID4+ID4+ICAjIENJIGNv bmZpZ3VyYXRpb24gZm9yIE1kZVBrZw0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiAgIw0K PiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiAgIyBDb3B5cmlnaHQgKGMpIE1pY3Jvc29mdCBD b3Jwb3JhdGlvbg0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiAtIyBDb3B5cmlnaHQgKGMp IDIwMjAsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCj4gPiA+ ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKyMgQ29weXJpZ2h0IChjKSAyMDIzLCBJbnRlbCBDb3Jw b3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ ID4+ID4+ICAjIENvcHlyaWdodCAoYykgMjAyMSwgQXJtIExpbWl0ZWQuIEFsbCByaWdodHMgcmVz ZXJ2ZWQuPEJSPg0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiAgIyBDb3B5cmlnaHQgKGMp IDIwMjMsIExvb25nc29uIFRlY2hub2xvZ3kgQ29ycG9yYXRpb24gTGltaXRlZC4gQWxsDQo+ID4g PiA+ID4+ID4+IHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ ID4+ICAjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ID4g PiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+IEBAIC02Nyw3ICs2Nyw4IEBADQo+ID4gPiA+ID4+ID4+ ICAgICAgICAgICAgICAiSW5jbHVkZS9MaWJyYXJ5L1BjZExpYi5oIiwNCj4gPiA+ID4gPj4gPj4N Cj4gPiA+ID4gPj4gPj4gICAgICAgICAgICAgICJJbmNsdWRlL0xpYnJhcnkvU2FmZUludExpYi5o IiwNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gICAgICAgICAgICAgICJJbmNsdWRlL1By b3RvY29sL0RlYnVnU3VwcG9ydC5oIiwNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gLSAg ICAgICAgICAgICJUZXN0L1VuaXRUZXN0L0xpYnJhcnkvQmFzZVNhZmVJbnRMaWIvVGVzdEJhc2VT YWZlSW50TGliLmMiDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsNCj4gPiA+ID4gPj4g Pj4gKyAiVGVzdC9Vbml0VGVzdC9MaWJyYXJ5L0Jhc2VTYWZlSW50TGliL1Rlc3RCYXNlU2FmZUlu dExpYi5jIiwNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKyAgICAgICAgICAgICJMaWJy YXJ5L0Jhc2VGZHRMaWIiDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICAgICAgICAgIF0N Cj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gICAgICB9LA0KPiA+ID4gPiA+PiA+Pg0KPiA+ ID4gPiA+PiA+PiAgICAgICMjIG9wdGlvbnMgZGVmaW5lZCBjaS9QbHVnaW4vQ29tcGlsZXJQbHVn aW4NCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gQEAgLTE2NCw1ICsxNjUsMTcgQEANCj4g PiA+ID4gPj4gPj4gICAgICAgICAgIkV4dGVuZFdvcmRzIjogW10sICAgICAgICAgICAjIHdvcmRz IHRvIGV4dGVuZCB0byB0aGUgZGljdGlvbmFyeSBmb3INCj4gdGhpcyBwYWNrYWdlDQo+ID4gPiA+ ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICAgICAgICAgICJJZ25vcmVTdGFuZGFyZFBhdGhzIjogW10s ICAgIyBTdGFuZGFyZCBQbHVnaW4gZGVmaW5lZCBwYXRocyB0aGF0DQo+IHNob3VsZCBiZSBpZ25v cmUNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gICAgICAgICAgIkFkZGl0aW9uYWxJbmNs dWRlUGF0aHMiOiBbXSAjIEFkZGl0aW9uYWwgcGF0aHMgdG8gc3BlbGwNCj4gPiA+ID4gPj4gPj4g Y2hlY2sgKHdpbGRjYXJkcyBzdXBwb3J0ZWQpDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ ICsgICAgfSwNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKyAgICAjIG9wdGlvbnMgZGVm aW5lZCBpbiAucHl0b29sL1BsdWdpbi9VbmNydXN0aWZ5Q2hlY2sNCj4gPiA+ID4gPj4gPj4NCj4g PiA+ID4gPj4gPj4gKyAgICAiVW5jcnVzdGlmeUNoZWNrIjogew0KPiA+ID4gPiA+PiA+Pg0KPiA+ ID4gPiA+PiA+PiArICAgICAgICAiSWdub3JlRmlsZXMiOiBbDQo+ID4gPiA+ID4+ID4+DQo+ID4g PiA+ID4+ID4+ICsgICAgICAgICAgICAiTGlicmFyeS9CYXNlRmR0TGliL2xpYmZkdCIsDQo+ID4g PiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsgICAgICAgICAgICAiTGlicmFyeS9CYXNlRmR0TGli L2xpbWl0cy5oIiwNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKyAgICAgICAgICAgICJM aWJyYXJ5L0Jhc2VGZHRMaWIvc3RkYm9vbC5oIiwNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4g Pj4gKyAgICAgICAgICAgICJMaWJyYXJ5L0Jhc2VGZHRMaWIvc3RkZGVmLmgiLA0KPiA+ID4gPiA+ PiA+Pg0KPiA+ID4gPiA+PiA+PiArICAgICAgICAgICAgIkxpYnJhcnkvQmFzZUZkdExpYi9zdGRp bnQuaCIsDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsgICAgICAgICAgICAiTGlicmFy eS9CYXNlRmR0TGliL3N0ZGxpYi5oIiwNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gKyAg ICAgICAgICAgICJMaWJyYXJ5L0Jhc2VGZHRMaWIvc3RyaW5nLmgiDQo+ID4gPiA+ID4+ID4+DQo+ ID4gPiA+ID4+ID4+ICsgICAgICAgIF0NCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gICAg ICB9DQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICB9DQo+ID4gPiA+ID4+ID4+DQo+ID4g PiA+ID4+ID4+IGRpZmYgLS1naXQgYS9NZGVQa2cvTWRlUGtnLmRlYyBiL01kZVBrZy9NZGVQa2cu ZGVjIGluZGV4DQo+ID4gPiA+ID4+ID4+IGU3MDE4MmJmN2YuLjk4MDRhN2E2YmQgMTAwNjQ0DQo+ ID4gPiA+ID4+ID4+IC0tLSBhL01kZVBrZy9NZGVQa2cuZGVjDQo+ID4gPiA+ID4+ID4+ICsrKyBi L01kZVBrZy9NZGVQa2cuZGVjDQo+ID4gPiA+ID4+ID4+IEBAIC0yODksNiArMjg5LDEwIEBADQo+ ID4gPiA+ID4+ID4+ICAgICMNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gICAgQXJtVHJu Z0xpYnxJbmNsdWRlL0xpYnJhcnkvQXJtVHJuZ0xpYi5oDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ ID4+ID4+DQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICsgICMjICBAbGlicmFyeWNsYXNz ICBQcm92aWRlcyBBUElzIGZvciB0aGlyZC1wYXJ0eSBsaWJyYXJ5IGxpYmZkdC4NCj4gPiA+ID4g Pj4gPj4NCj4gPiA+ID4gPj4gPj4gKyAgIw0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiAr ICBGZHRMaWJ8SW5jbHVkZS9MaWJyYXJ5L0ZkdExpYi5oDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ ID4+ID4+ICsNCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gIFtMaWJyYXJ5Q2xhc3Nlcy5J QTMyLCBMaWJyYXJ5Q2xhc3Nlcy5YNjQsIExpYnJhcnlDbGFzc2VzLkFBUkNINjRdDQo+ID4gPiA+ ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICAgICMjICBAbGlicmFyeWNsYXNzICBQcm92aWRlcyBzZXJ2 aWNlcyB0byBnZW5lcmF0ZSByYW5kb20gbnVtYmVyLg0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+ PiA+PiAgICAjDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+IGRpZmYgLS1naXQgYS9NZGVQ a2cvTWRlUGtnLmRzYyBiL01kZVBrZy9NZGVQa2cuZHNjIGluZGV4DQo+ID4gPiA+ID4+ID4+IDE1 MmMwMjk5MWEuLmIzOGM4NjM4MTIgMTAwNjQ0DQo+ID4gPiA+ID4+ID4+IC0tLSBhL01kZVBrZy9N ZGVQa2cuZHNjDQo+ID4gPiA+ID4+ID4+ICsrKyBiL01kZVBrZy9NZGVQa2cuZHNjDQo+ID4gPiA+ ID4+ID4+IEBAIC0xMzcsNiArMTM3LDcgQEANCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4N Cj4gTWRlUGtnL0xpYnJhcnkvU21tQ3B1UmVuZGV6dm91c0xpYk51bGwvU21tQ3B1UmVuZGV6dm91 c0xpYk51bGwuaW5mDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ DQo+ID4gPiA+ID4+ID4+ICAgIE1kZVBrZy9MaWJyYXJ5L0plZGVjSmVwMTA2TGliL0plZGVjSmVw MTA2TGliLmluZg0KPiA+ID4gPiA+PiA+Pg0KPiA+ID4gPiA+PiA+PiArICBNZGVQa2cvTGlicmFy eS9CYXNlRmR0TGliL0Jhc2VGZHRMaWIuaW5mDQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ DQo+ID4gPiA+ID4+ID4+DQo+ID4gPiA+ID4+ID4+ICBbQ29tcG9uZW50cy5JQTMyLCBDb21wb25l bnRzLlg2NCwgQ29tcG9uZW50cy5BUk0sDQo+ID4gPiA+ID4+ID4+IENvbXBvbmVudHMuQUFSQ0g2 NF0NCj4gPiA+ID4gPj4gPj4NCj4gPiA+ID4gPj4gPj4gICAgIw0KPiA+ID4gPiA+PiA+Pg0KPiA+ ID4gPiA+PiA+PiAtLQ0KPiA+ID4gPiA+PiA+PiAyLjM5LjEud2luZG93cy4xDQo+ID4gPiA+ID4N Cj4gPiA+ID4gPg0KPiA+ID4NCj4gPiA+DQo+ID4gPg0KPiA+ID4NCj4gPiA+DQo+IA0KPiANCj4g DQo+IA0KDQo=