From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 8F503C48BC3 for ; Tue, 20 Feb 2024 09:06:55 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 284FC10E245; Tue, 20 Feb 2024 09:06:55 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=intel.com header.i=@intel.com header.b="SoZoL11F"; dkim-atps=neutral Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.14]) by gabe.freedesktop.org (Postfix) with ESMTPS id A366110E245 for ; Tue, 20 Feb 2024 09:06:53 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1708420014; x=1739956014; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-id:content-transfer-encoding: mime-version; bh=II6J/xm6QzODa1BpgNdHbViPf/hsHKW86zaMJE7wNBQ=; b=SoZoL11FNMkjSOW/vNmShEnsBTlhXsf2ufLn2++QYQskwJ7ZfEQgi/Nk wzg0HQwOJCdDwz0taosxpbfLlTqJHEaekaWQkEroCENPj2sEZCEddOAh5 KVp905WrQznLd0CleeN9aKBze6PdRVwQCQrSP66P/IgkxPPqwZPDn82uF 2v6zumgcj8Hq/GC6ENOLOXwiazm3P8epgNCp1a+RDjGbwgWgWPvzi0zGU mjMLVup3hsbt+FAYAT8njK3KX4Oo12rFUSKbL7xU45FrLLfpD6+zVbBSU WC0A3MRNbYUDvspJqUux36be+Pt/vKphT8j6VUz0pXINLdbnbdUntANub A==; X-IronPort-AV: E=McAfee;i="6600,9927,10989"; a="6328892" X-IronPort-AV: E=Sophos;i="6.06,172,1705392000"; d="scan'208";a="6328892" Received: from orviesa005.jf.intel.com ([10.64.159.145]) by orvoesa106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 20 Feb 2024 01:06:54 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.06,172,1705392000"; d="scan'208";a="9419882" Received: from fmsmsx603.amr.corp.intel.com ([10.18.126.83]) by orviesa005.jf.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 20 Feb 2024 01:06:53 -0800 Received: from fmsmsx611.amr.corp.intel.com (10.18.126.91) by fmsmsx603.amr.corp.intel.com (10.18.126.83) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Tue, 20 Feb 2024 01:06:52 -0800 Received: from fmsmsx603.amr.corp.intel.com (10.18.126.83) by fmsmsx611.amr.corp.intel.com (10.18.126.91) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Tue, 20 Feb 2024 01:06:52 -0800 Received: from FMSEDG603.ED.cps.intel.com (10.1.192.133) by fmsmsx603.amr.corp.intel.com (10.18.126.83) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35 via Frontend Transport; Tue, 20 Feb 2024 01:06:52 -0800 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (104.47.58.169) by edgegateway.intel.com (192.55.55.68) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.35; Tue, 20 Feb 2024 01:06:51 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=PSCQcfqNRvBxHVkJa2scle8KuF0PC0D56XQ4eRlnYX0pMjEyrQ4dLFud/jBJ1RJc2H+aSaqvxEzRXb45tco63SLLlgsk1/hUSDwm8L3Y0/xgBbWRFjqXlGh3y35mRej0/RYs4VSKmI9ma7jCQ1rWDxC5pNHIAtH8nlLLbu5jPaxUYQt7Ko6RsqUZfttks5R3MN9GYb70C1cwd+qAgV8XKHVt3bHQUtCX1tUqRny2/ctpCpenr6H/oDIpuQXD45LKCOUudelnAYMneoRV6KHZXK0Y69wVZw4OimEA/YzPNtKAPDe/hFL7D4/SCEAfXiN6nw8HXFTHjl0ld6zWTK8RKA== 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=II6J/xm6QzODa1BpgNdHbViPf/hsHKW86zaMJE7wNBQ=; b=O19khrAGFjMp8jUNQFRlAbX4TEDMU6HZeZIidAQS6FILZLqCCifBelOFiD4erUWJYyCeS9JNDoJK5RERYlCJFcCyHy0JBoZxhqp5C6S/7JPs6xNG1KfuV8m0FsYi3rVQmBf+bGoOPEyETTZX8MwyHmskkZ314/xMc3PIzlEEMjurea2PuYmdlt8LO5/eMIzC1h6qZEembJBs6TXiUQF9eAIXyyuyz5//+11sTilHFvgca/nfD0IVoxDc+k7FRz7qz+bHDQvqECCVOrdLeXOqDZXSZ8jvD3GmEQwejVFLQBsQwN1W3N0Wa2ipn0nwvu/Q05Tt8Fzbbbplps88iMDApA== 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 DM4PR11MB6019.namprd11.prod.outlook.com (2603:10b6:8:60::5) by MW4PR11MB6761.namprd11.prod.outlook.com (2603:10b6:303:20d::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7292.38; Tue, 20 Feb 2024 09:06:48 +0000 Received: from DM4PR11MB6019.namprd11.prod.outlook.com ([fe80::dde1:91ce:98c6:d737]) by DM4PR11MB6019.namprd11.prod.outlook.com ([fe80::dde1:91ce:98c6:d737%7]) with mapi id 15.20.7292.036; Tue, 20 Feb 2024 09:06:48 +0000 From: "Hogander, Jouni" To: "Joshi, Kunal1" , "igt-dev@lists.freedesktop.org" CC: "Murthy, Arun R" , "Manna, Animesh" Subject: Re: [PATCH i-g-t 3/3] tests/intel/kms_psr2_sf: extend tests for panel replay sf Thread-Topic: [PATCH i-g-t 3/3] tests/intel/kms_psr2_sf: extend tests for panel replay sf Thread-Index: AQHaY1AYuzGn2RHOj0ebd9PYQRfb1LES8aOA Date: Tue, 20 Feb 2024 09:06:48 +0000 Message-ID: <1d0592fafbc95232000a77cba80524a2843d42ff.camel@intel.com> References: <20240219163333.2339647-1-kunal1.joshi@intel.com> <20240219163333.2339647-4-kunal1.joshi@intel.com> In-Reply-To: <20240219163333.2339647-4-kunal1.joshi@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: DM4PR11MB6019:EE_|MW4PR11MB6761:EE_ x-ms-office365-filtering-correlation-id: a2d2e66b-acf4-4831-080d-08dc31f34530 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 6CCcg8x/VwJPRx6rjoQuP5wz4H2cqmbYehpPjbh6eSxcZ+5zcVGp6s0qlbMq3tNgwplFcV9pMDeoPHEB1g+/lroI5K3eAbtnU7oou+YJ0TG+LwW6QmxXDy3FgnU50Et5kGwuG9NzlJcXYoQb7IrMAwVzU28UNl847lvghboFCbdsn6rf4msIHelhfkjTLd9AnUKLKjh6/B8Kc9YD+V0TgPwjJefWkR3MDb+KBDSGKXz9ZePgoQf34PQ37s+OwCHiUExArmX5mprrQpTUtAytxzFbYV07jQ1oRmNuZwf7OrshV10PZ9X8ed49yCDeXJoHYB3cxoUK4t6Gglh8VzcOPkAPh6lbn/Xs6KKYFv67iGVNWtkUxJkZ7sjnURHM0CEqEJDYO5PrxIxld9R1gPAfa11N+p3i0es13W1MDHTDKPWGeDcGnlPSTPgxjySL+wLZKCYjTsXxdAY7rXAbH3j8qCacFEHXsL5jHUhBGZC8Ak/yg7Ym6XopCi/nkGkdO1F9yJ2hcBRfhzMIvWuD8Sr2Oyx0Yfwxm9p7fAux90NRdqVB9FxyjkTdJonr6eBABj2VmgDPqncZzd5HKmh1mex8JjPp0EKnFi8b9y/1vKX+2WMbJQbB4CdDWk3duXh4xFHN x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM4PR11MB6019.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(38070700009); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?RUlaMGNJekF4a3JsMUtmZ0xrT3V6bzd2UWtGUlZiSnc3SXlkeHV2amtJSmpC?= =?utf-8?B?UHRpbkNCMFJ6UzRid2cyTWJtZnZydE9hdFBDSXNZTUdRYW5IdUZHZHMwY2l6?= =?utf-8?B?MWg2UkpUZmV2ZDVGaGZTcDErdUwwam9od3hOZzBZYm1INmJkZjljU3ZoeWln?= =?utf-8?B?YkhKbzIwUjRpWDVOUkxhSTZXNmYrQmtuUFVKTGhOeXk2WklhWHpPRHllVDhF?= =?utf-8?B?WnpqeTFwRkJETlNudnZuc0VLUG02LzBjbHZ2SG5tcElKWHIzR2FsVjlZakE0?= =?utf-8?B?RzhCbWVRcFQxZUZoQmZKZ2pSRFpyZmRTMnJrTnk5SHhVM0xPK2NOay9QSFJW?= =?utf-8?B?QS9zbFM0MGI3NW85aWNRR3dHV2QxK0tEVERieDhBU2lLRTdqRjM3T3ZnMU0x?= =?utf-8?B?VUo0ekp4YVdoZzVSNmEvd2NkQnJ3aFRzVHlrMS9XUG1HZVBTMmRCTXl6dm1H?= =?utf-8?B?WVlFWmxuNllzbDg1WUZRZEw0b005ZjJiNHRUMEVkTHY3YXJvcXdoU0c0ZjJh?= =?utf-8?B?MkRnKytYOE9hZzBtNnJKOWEyOUlidGhnQnNFS2xJZzlyaDdOa0E4QVR5WURz?= =?utf-8?B?eEthWHlJQnBJMC9QVXJPWGZEOE9MczUvUmdHUmRwS1hxU1YrTytuYkg1Rk1I?= =?utf-8?B?RDVBNkQwelhtNlBxbEZJbitLT2R4SCtudFIva0xEazVucEV4M2lwMFJLU1l6?= =?utf-8?B?bUFtd09mM2loY3JCaWNlUytLaklBMG91Y3lrMXExZVovMEZQeWVxVjRqSDBn?= =?utf-8?B?SWNEcGM4KzVBM2lLU3AvSVZYM1F2YW9JR0h5ZDVWSjhUVWtmcGMrTU9zREE1?= =?utf-8?B?ZjZmNkZDNlpWMldkSWxQWkZVWEkrakg3ZmthbVM2anhuZTVENFZTRXIySlI1?= =?utf-8?B?Y0Fxd0dIQlRjRjkwMStjL25Pb3h0TE5rM1dNWjRLS1Z5UXlDNEFzL0hvVk9E?= =?utf-8?B?NWZ1Q0RscHQ4S1d0bHlKOUxab0dVbmhEVVlZbCtSS0dqMmwzaEVzSEk1amdF?= =?utf-8?B?WVduS3BwWGtZcHh1RDAzVGp2d0NNZUIwb2dzYXo5d1BBeXVrODJKMlZrMUVm?= =?utf-8?B?R2hDajJySzZnS3phQmRzeXN4UVlIcG1wd2Z0Qms3LzJhNUJKZWsxVkw5aW5C?= =?utf-8?B?dGpPR0J5Q2hwVXpncS8vakFxYXlHWTBzTzA5MCtVcC9hK2pmbzhxeGh1a1ox?= =?utf-8?B?WXpTdmkwc3h0M1RGSzRsMy9XcCtOQzVoMWtzSG8xVWNXekIzZE1VNTlSNlhC?= =?utf-8?B?ZWRDUVVrQUxHZnRHZDFJYzBJOE45SUlZOFR2VVlEd1phZytmSUQ1ZXB0SFJu?= =?utf-8?B?cldWcmQ5VVY5RDlycXpwV3RKR080WFlwM3JsbzFvM3lNNXpyNHhJcU0rTUdj?= =?utf-8?B?a3pBdEZaRU56ZlE2enNGUWcvRTdkY2piVmVWMmh0emdqVks3TVRVZVNUQm50?= =?utf-8?B?WmdNYzhrNWZKTWFiTGc4K3h5TkR6aHhxeElnZERnUjhoTkRIaHQveFJkVFM1?= =?utf-8?B?K0RieExOQ2J6bTZ1Q0w4UUxySXBwdDJjS2RZamUzQlM5d1BWRzB6S29iQkdj?= =?utf-8?B?dWcxdmxOb29iZWVVU1hmVGpiTHlxTVB3RDQyMmdjeFFPeHVkMVJPOWxKdWVF?= =?utf-8?B?Kzk0Yk9FaU5QcDlQZUVVL1VXTjBLT1UzdEYzcTlUNjgvYnRobXJ6eGNvYnZy?= =?utf-8?B?NkF0NWl4bDBYOS9mR2hZZHhUdG1US3FIZDVrNE5ick9xaVZiQ3ZuRy9JNml0?= =?utf-8?B?aklPUnZFajJSb3pqeTNmZnNYMXFjRjBRb1FCUnJieng5bEUwZ3VHTHl6QWVX?= =?utf-8?B?Q1YwTFB2L3o3Mk82REVBcXp0Nm14MWtMbUV3MldNWFJHTmcrUEJwcENZMXRW?= =?utf-8?B?Rzh1VTVRUC9Pdng3L2VTb1B5VnJkcUljY1JlZmwyaVZiNWpKWWkxVGJxaHF3?= =?utf-8?B?U09vOEFzOUxXWDFOK2dyVDM1MjkzVmFDbjBPZjZ4Qmh1S1VKaXFIUnY2UlFZ?= =?utf-8?B?TDFvelQ3UUZ2TTlqRjJxNExzSmN0dFA1OTZ0RVF3TGFOYUkzSGROeE0vWDI4?= =?utf-8?B?RkhBTUpHZkxQOWVaU2NaTGU1L1JxUld3REZHb3ZIWmsxTkFtTEtOVXE1VWhT?= =?utf-8?B?NjRpS3NVdmx3T0ZGZStiSFZTL1F5WkVtMVV4aTY4K3NvaWJ5QTdQQTlPRVFt?= =?utf-8?B?MHc9PQ==?= Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM4PR11MB6019.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: a2d2e66b-acf4-4831-080d-08dc31f34530 X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Feb 2024 09:06:48.6739 (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: PvASy/NvBJ7nA9GXwJbQsO0eJxiNOZ+VeQpyiSp7c4xo2HezN4+F5r1LO94i9PcoRvJeBWRHclWa1mdoLyekuoQbUiIYNsE0//VGv35TUvo= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR11MB6761 X-OriginatorOrg: intel.com X-BeenThere: igt-dev@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development mailing list for IGT GPU Tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" T24gTW9uLCAyMDI0LTAyLTE5IGF0IDIyOjAzICswNTMwLCBLdW5hbCBKb3NoaSB3cm90ZToKPiBF eHRlbmQgdGhlIHRlc3RzIHRvIGNvdmVyIHBhbmVsIHJlcGxheSBzZWxlY3RpdmUgZmV0Y2ggZmVh dHVyZS4KPiAKPiBGcm9tIGttc19wc3IyX3NmIHRlc3QgcG9pbnQgb2YgdmlldyB3ZSBoYXZlCj4g Y2hlY2tfcHJfcHNyMl9zZWxfZmV0Y2hfc3VwcG9ydAo+IGZ1bmN0aW9uIHRvIGNoZWNrIGlmIFBS L1BTUjIgc2VsZWN0aXZlIGZldGNoIGlzIHN1cHBvcnRlZCBmb3IgYW4KPiBvdXRwdXQKPiBpZiBv dXRwdXQgc3VwcG9ydHMgc2VsZWN0aXZlIGZldGNoIHRoZW4gd2UgY2hlY2sgd2UgaWYgZW50ZXIK PiBERUVQX1NMRUVQIG1vZGUKPiBpbiBydW4gZnVuY3Rpb24KPiAKPiB2MjogZml4ZWQgZHluYW1p YyB0ZXN0IG5hbWUKPiB2MzogdXNlIGNoZWNrX3BzcjJfc3VwcG9ydCAoSm91bmkpCj4gdjQ6IGNv cnJlY3Qgb3JkZXIgb2YgY2hlY2tzIGluIGNoZWNrX3ByX3BzcjJfc2VsX2ZldGNoX3N1cHBvcnQK PiAoSm91bmkpCj4gwqDCoMKgIHVzZSBhcHByb3ByaWF0ZSBwc3IgbW9kZSBpbiBwc3Jfd2FpdF9l bnRyeSAoSm91bmkpCj4gdjU6IG1vZGlmeSBnZXRfc2VsX2ZldGNoX21vZGVfZm9yX291dHB1dCB0 byB1c2UgbWVtYmVyIGRhdGEgKEpvdW5pKQo+IAo+IENjOiBKb3VuaSBIw7ZnYW5kZXIgPGpvdW5p LmhvZ2FuZGVyQGludGVsLmNvbT4KPiBDYzogQW5pbWVzaCBNYW5uYSA8YW5pbWVzaC5tYW5uYUBp bnRlbC5jb20+Cj4gQ2M6IEFydW4gUiBNdXJ0aHkgPGFydW4uci5tdXJ0aHlAaW50ZWwuY29tPgo+ IFNpZ25lZC1vZmYtYnk6IEt1bmFsIEpvc2hpIDxrdW5hbDEuam9zaGlAaW50ZWwuY29tPgo+IC0t LQo+IMKgdGVzdHMvaW50ZWwva21zX3BzcjJfc2YuYyB8IDE5MSArKysrKysrKysrKysrKysrKysr KysrKysrKystLS0tLS0tLS0KPiAtLQo+IMKgMSBmaWxlIGNoYW5nZWQsIDEzOCBpbnNlcnRpb25z KCspLCA1MyBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvdGVzdHMvaW50ZWwva21zX3Bz cjJfc2YuYyBiL3Rlc3RzL2ludGVsL2ttc19wc3IyX3NmLmMKPiBpbmRleCAwZmIzMDAxNjEuLjE1 MDQ2ZmQ2NyAxMDA2NDQKPiAtLS0gYS90ZXN0cy9pbnRlbC9rbXNfcHNyMl9zZi5jCj4gKysrIGIv dGVzdHMvaW50ZWwva21zX3BzcjJfc2YuYwo+IEBAIC0xNzIsNiArMTcyLDcgQEAgdHlwZWRlZiBz dHJ1Y3Qgewo+IMKgwqDCoMKgwqDCoMKgwqB1aW50MzJfdCBzY3JlZW5fY2hhbmdlczsKPiDCoMKg wqDCoMKgwqDCoMKgaW50IGN1cl94LCBjdXJfeTsKPiDCoMKgwqDCoMKgwqDCoMKgZW51bSBwaXBl IHBpcGU7Cj4gK8KgwqDCoMKgwqDCoMKgZW51bSBwc3JfbW9kZSBwc3JfbW9kZTsKPiDCoMKgwqDC oMKgwqDCoMKgZW51bSB7Cj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBGRUFUVVJF X05PTkXCoCA9IDAsCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBGRUFUVVJFX0RT Q8KgwqAgPSAxLAo+IEBAIC0xNzksNiArMTcxLDM5IEBAIHR5cGVkZWYgc3RydWN0IHsKPiDCoMKg wqDCoMKgwqDCoMKgfSBjb2V4aXN0X2ZlYXR1cmU7Cj4gwqB9IGRhdGFfdDsKPiDCoAo+ICtzdGF0 aWMgYm9vbCBnZXRfc2VsX2ZldGNoX21vZGVfZm9yX291dHB1dChkYXRhX3QgKmRhdGEpCj4gK3sK PiArwqDCoMKgwqDCoMKgwqBib29sIHN1cHBvcnRlZCA9IGZhbHNlOwo+ICsKPiArwqDCoMKgwqDC oMKgwqBpZiAocHNyX3Npbmtfc3VwcG9ydChkYXRhLT5kcm1fZmQsIGRhdGEtPmRlYnVnZnNfZmQs Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgUFJfTU9ERV9TRUxfRkVU Q0gsCj4gZGF0YS0+b3V0cHV0KSkgewo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBz dXBwb3J0ZWQgPSB0cnVlOwo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBkYXRhLT5w c3JfbW9kZSA9IFBSX01PREVfU0VMX0ZFVENIOwo+ICvCoMKgwqDCoMKgwqDCoH0gZWxzZSBpZiAo cHNyX3Npbmtfc3VwcG9ydChkYXRhLT5kcm1fZmQsIGRhdGEtPmRlYnVnZnNfZmQsCj4gK8KgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgUFNSX01P REVfMiwKPiBkYXRhLT5vdXRwdXQpKSB7Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oHN1cHBvcnRlZCA9IHRydWU7Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGRhdGEt PnBzcl9tb2RlID0gUFNSX01PREVfMjsKPiArwqDCoMKgwqDCoMKgwqB9IGVsc2UKPiArwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgaWd0X2luZm8oInNlbGVjdGl2ZSBmZXRjaCBub3Qgc3Vw cG9ydGVkIG9uIG91dHB1dAo+ICVzXG4iLCBkYXRhLT5vdXRwdXQtPm5hbWUpOwo+ICsKPiArwqDC oMKgwqDCoMKgwqByZXR1cm4gc3VwcG9ydGVkOwo+ICt9Cj4gKwo+ICtzdGF0aWMgY29uc3QgY2hh ciAqZ2V0X3Bzcl9tb2RlX3N0cl9mb3Jfb3V0cHV0KGRhdGFfdCAqZGF0YSkKPiArewo+ICvCoMKg wqDCoMKgwqDCoHN0YXRpYyBjb25zdCBjaGFyICpwc3JfbW9kZTsKCklmIGdldF9zZWxfZmV0Y2hf bW9kZV9mb3Jfb3V0cHV0IHJldHVybnMgZmFsc2UgZm9yIHNvbWUgcmVhc29uIHlvdSB3aWxsCmhh dmUgc29tZXRoaW5nIGluIHBzcl9tb2RlIHBvaW50ZXIuCgpJZiB5b3Ugd2FudCB0byBjYWxsIGdl dF9zZWxfZmV0Y2hfbW9kZV9mb3Jfb3V0cHV0IGhlcmUgSSB0aGluayB5b3UKc2hvdWxkIHVzZSBh c3NlcnQuIEFub3RoZXIgb3B0aW9uIGlzIHRvIGxlYXZlIGl0IHRvIGNhbGxlci4gSSB0aGluawp0 aGF0IHdvdWxkIGJlIG1vcmUgY2xlYXIgc29sdXRpb24uIEN1cnJlbnRseSBjb2RlIGJlbG93IHdv cmtzIGJlY2F1c2UgCml0IGlzIGNhbGxlZCBoZXJlLgoKPiArCj4gK8KgwqDCoMKgwqDCoMKgaWYg KGdldF9zZWxfZmV0Y2hfbW9kZV9mb3Jfb3V0cHV0KGRhdGEpKSB7Cj4gK8KgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoGlmIChkYXRhLT5wc3JfbW9kZSA9PSBQU1JfTU9ERV8yKQo+ICvCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgcHNyX21vZGUgPSAicHNy MiI7Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGVsc2UgaWYgKGRhdGEtPnBzcl9t b2RlID09IFBSX01PREVfU0VMX0ZFVENIKQo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgcHNyX21vZGUgPSAicHIiOwo+ICvCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqBlbHNlCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqBpZ3RfYXNzZXJ0X2YoZmFsc2UsICJJbnZhbGlkIHBzciBtb2RlXG4iKTsKPiArwqDC oMKgwqDCoMKgwqB9Cj4gK8KgwqDCoMKgwqDCoMKgcmV0dXJuIHBzcl9tb2RlOwo+ICt9Cj4gKwo+ IMKgc3RhdGljIGNvbnN0IGNoYXIgKm9wX3N0cihlbnVtIG9wZXJhdGlvbnMgb3ApCj4gwqB7Cj4g wqDCoMKgwqDCoMKgwqDCoHN0YXRpYyBjb25zdCBjaGFyICogY29uc3QgbmFtZVtdID0gewo+IEBA IC02ODgsNyArNzIyLDcgQEAgc3RhdGljIHZvaWQgZGFtYWdlZF9wbGFuZV9tb3ZlKGRhdGFfdCAq ZGF0YSkKPiDCoAo+IMKgwqDCoMKgwqDCoMKgwqBpZ3RfZGlzcGxheV9jb21taXQyKCZkYXRhLT5k aXNwbGF5LCBDT01NSVRfQVRPTUlDKTsKPiDCoAo+IC3CoMKgwqDCoMKgwqDCoGlndF9hc3NlcnQo cHNyX3dhaXRfZW50cnkoZGF0YS0+ZGVidWdmc19mZCwgUFNSX01PREVfMiwKPiBOVUxMKSk7Cj4g K8KgwqDCoMKgwqDCoMKgaWd0X2Fzc2VydChwc3Jfd2FpdF9lbnRyeShkYXRhLT5kZWJ1Z2ZzX2Zk LCBkYXRhLT5wc3JfbW9kZSwKPiBkYXRhLT5vdXRwdXQpKTsKPiDCoAo+IMKgwqDCoMKgwqDCoMKg wqBleHBlY3RlZF9vdXRwdXQoZGF0YSk7Cj4gwqB9Cj4gQEAgLTc4OCw3ICs4MjIsNyBAQCBzdGF0 aWMgdm9pZCBwbGFuZV9tb3ZlX2NvbnRpbnVvdXMoZGF0YV90ICpkYXRhKQo+IMKgewo+IMKgwqDC oMKgwqDCoMKgwqBpbnQgdGFyZ2V0X3gsIHRhcmdldF95Owo+IMKgCj4gLcKgwqDCoMKgwqDCoMKg aWd0X2Fzc2VydChwc3Jfd2FpdF9lbnRyeShkYXRhLT5kZWJ1Z2ZzX2ZkLCBQU1JfTU9ERV8yLAo+ IE5VTEwpKTsKPiArwqDCoMKgwqDCoMKgwqBpZ3RfYXNzZXJ0KHBzcl93YWl0X2VudHJ5KGRhdGEt PmRlYnVnZnNfZmQsIGRhdGEtPnBzcl9tb2RlLAo+IGRhdGEtPm91dHB1dCkpOwo+IMKgCj4gwqDC oMKgwqDCoMKgwqDCoGdldF90YXJnZXRfY29vcmRzKGRhdGEsICZ0YXJnZXRfeCwgJnRhcmdldF95 KTsKPiDCoAo+IEBAIC04NjUsNyArODk5LDcgQEAgc3RhdGljIHZvaWQgZGFtYWdlZF9wbGFuZV91 cGRhdGUoZGF0YV90ICpkYXRhKQo+IMKgwqDCoMKgwqDCoMKgwqBpZ3RfcGxhbmVfc2V0X3Bvc2l0 aW9uKGRhdGEtPnRlc3RfcGxhbmUsIDAsIDApOwo+IMKgwqDCoMKgwqDCoMKgwqBpZ3RfZGlzcGxh eV9jb21taXQyKCZkYXRhLT5kaXNwbGF5LCBDT01NSVRfQVRPTUlDKTsKPiDCoAo+IC3CoMKgwqDC oMKgwqDCoGlndF9hc3NlcnQocHNyX3dhaXRfZW50cnkoZGF0YS0+ZGVidWdmc19mZCwgUFNSX01P REVfMiwKPiBOVUxMKSk7Cj4gK8KgwqDCoMKgwqDCoMKgaWd0X2Fzc2VydChwc3Jfd2FpdF9lbnRy eShkYXRhLT5kZWJ1Z2ZzX2ZkLCBkYXRhLT5wc3JfbW9kZSwKPiBkYXRhLT5vdXRwdXQpKTsKPiDC oAo+IMKgwqDCoMKgwqDCoMKgwqBleHBlY3RlZF9vdXRwdXQoZGF0YSk7Cj4gwqB9Cj4gQEAgLTg3 NCw3ICs5MDgsNyBAQCBzdGF0aWMgdm9pZCBydW4oZGF0YV90ICpkYXRhKQo+IMKgewo+IMKgwqDC oMKgwqDCoMKgwqBpbnQgaTsKPiDCoAo+IC3CoMKgwqDCoMKgwqDCoGlndF9hc3NlcnQocHNyX3dh aXRfZW50cnkoZGF0YS0+ZGVidWdmc19mZCwgUFNSX01PREVfMiwKPiBOVUxMKSk7Cj4gK8KgwqDC oMKgwqDCoMKgaWd0X2Fzc2VydChwc3Jfd2FpdF9lbnRyeShkYXRhLT5kZWJ1Z2ZzX2ZkLCBkYXRh LT5wc3JfbW9kZSwKPiBkYXRhLT5vdXRwdXQpKTsKPiDCoAo+IMKgwqDCoMKgwqDCoMKgwqBpZiAo ZGF0YS0+ZmJjX2ZsYWcgPT0gdHJ1ZSAmJiBkYXRhLT5vcF9mYmNfbW9kZSA9PQo+IEZCQ19FTkFC TEVEKQo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgaWd0X2Fzc2VydF9mKGludGVs X2ZiY193YWl0X3VudGlsX2VuYWJsZWQoZGF0YS0KPiA+ZHJtX2ZkLAo+IEBAIC05NTIsMTQgKzk4 NiwyMiBAQCBzdGF0aWMgdm9pZCBjbGVhbnVwKGRhdGFfdCAqZGF0YSkKPiDCoMKgwqDCoMKgwqDC oMKgaWd0X3JlbW92ZV9mYihkYXRhLT5kcm1fZmQsICZkYXRhLT5mYl90ZXN0KTsKPiDCoH0KPiDC oAo+IC1zdGF0aWMgaW50IGNoZWNrX3BzcjJfc3VwcG9ydChkYXRhX3QgKmRhdGEpCj4gK3N0YXRp YyBib29sIGNoZWNrX3ByX3BzcjJfc2VsX2ZldGNoX3N1cHBvcnQoZGF0YV90ICpkYXRhKQo+IMKg ewo+IC3CoMKgwqDCoMKgwqDCoGludCBzdGF0dXM7Cj4gK8KgwqDCoMKgwqDCoMKgYm9vbCBzdGF0 dXMgPSBmYWxzZTsKPiArCj4gK8KgwqDCoMKgwqDCoMKgLyogQ2hlY2sgc2luayBzdXBwb3J0cyBQ Ui9QU1IyIHNlbGVjdGl2ZSBmZXRjaCAqLwo+ICvCoMKgwqDCoMKgwqDCoGlmICghZ2V0X3NlbF9m ZXRjaF9tb2RlX2Zvcl9vdXRwdXQoZGF0YSkpCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoHJldHVybiBmYWxzZTsKPiArCj4gK8KgwqDCoMKgwqDCoMKgLyogQ2hlY2sgaWYgc2VsZWN0 aXZlIGZldGNoIGNhbiBiZSBlbmFibGVkICovCj4gK8KgwqDCoMKgwqDCoMKgaWYgKCFzZWxlY3Rp dmVfZmV0Y2hfY2hlY2soZGF0YS0+ZGVidWdmc19mZCwgZGF0YS0+b3V0cHV0KSkKPiArwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgaWd0X2Fzc2VydCgiU2VsZWN0aXZlIGZldGNoIGlzIG5v dCBlbmFibGVkIGV2ZW4KPiB0aG91Z2ggcGFuZWwgc2hvdWxkIHN1cHBvcnQgaXRcbiIpOwo+IMKg Cj4gwqDCoMKgwqDCoMKgwqDCoHByZXBhcmUoZGF0YSk7Cj4gLcKgwqDCoMKgwqDCoMKgc3RhdHVz ID0gcHNyX3dhaXRfZW50cnkoZGF0YS0+ZGVidWdmc19mZCwgUFNSX01PREVfMiwgTlVMTCk7Cj4g K8KgwqDCoMKgwqDCoMKgLyogV2UgZW50ZXIgaW50byBERUVQX1NMRUVQIGZvciBib3RoIFBTUjIg YW5kIFBSIHNlbCBmZXRjaCAqLwo+ICvCoMKgwqDCoMKgwqDCoHN0YXR1cyA9IHBzcl93YWl0X2Vu dHJ5KGRhdGEtPmRlYnVnZnNfZmQsIGRhdGEtPnBzcl9tb2RlLAo+IGRhdGEtPm91dHB1dCk7Cj4g wqDCoMKgwqDCoMKgwqDCoGNsZWFudXAoZGF0YSk7Cj4gLQo+IMKgwqDCoMKgwqDCoMKgwqByZXR1 cm4gc3RhdHVzOwo+IMKgfQo+IMKgCj4gQEAgLTk4MSw2ICsxMDIzLDggQEAgcGlwZV9vdXRwdXRf Y29tYm9fdmFsaWQoaWd0X2Rpc3BsYXlfdCAqZGlzcGxheSwKPiDCoAo+IMKgaWd0X21haW4KPiDC oHsKPiArwqDCoMKgwqDCoMKgwqBib29sIG91dHB1dF9zdXBwb3J0c19wcl9wc3IyX3NlbF9mZXRj aCA9IGZhbHNlOwo+ICvCoMKgwqDCoMKgwqDCoGJvb2wgcHJfcHNyMl9zZWxfZmV0Y2hfc3VwcG9y dGVkID0gZmFsc2U7Cj4gwqDCoMKgwqDCoMKgwqDCoGRhdGFfdCBkYXRhID0ge307Cj4gwqDCoMKg wqDCoMKgwqDCoGlndF9vdXRwdXRfdCAqb3V0cHV0c1tJR1RfTUFYX1BJUEVTICogSUdUX01BWF9Q SVBFU107Cj4gwqDCoMKgwqDCoMKgwqDCoGludCBpLCBqLCBrLCB5Owo+IEBAIC0xMDAwLDExICsx MDQ0LDYgQEAgaWd0X21haW4KPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGRhdGEu ZGVidWdmc19mZCA9IGlndF9kZWJ1Z2ZzX2RpcihkYXRhLmRybV9mZCk7Cj4gwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqBrbXN0ZXN0X3NldF92dF9ncmFwaGljc19tb2RlKCk7Cj4gwqAK PiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgaWd0X3JlcXVpcmVfZihwc3Jfc2lua19z dXBwb3J0KGRhdGEuZHJtX2ZkLAo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg ZGF0YS5kZWJ1Z2ZzX2ZkLAo+IFBTUl9NT0RFXzIsCj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCBOVUxMKSwKPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqAgIlNpbmsgZG9lcyBub3Qgc3VwcG9ydCBQU1IyXG4iKTsKPiAt Cj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBkaXNwbGF5X2luaXQoJmRhdGEpOwo+ IMKgCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBpZgo+ICgoaW50ZWxfZGlzcGxh eV92ZXIoaW50ZWxfZ2V0X2RybV9kZXZpZChkYXRhLmRybV9mZCkpID49IDIwKSAmJgo+IEBAIC0x MDI4LDcgKzEwNjcsOCBAQCBpZ3RfbWFpbgo+IMKgCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqBmb3JfZWFjaF9waXBlX3dpdGhfdmFsaWRfb3V0cHV0KCZkYXRhLmRpc3BsYXksCj4g ZGF0YS5waXBlLCBkYXRhLm91dHB1dCkgewo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoGNvZXhpc3RfZmVhdHVyZXNbbl9waXBlc10gPSAwOwo+IC3CoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgaWYgKGNoZWNrX3BzcjJf c3VwcG9ydCgmZGF0YSkpIHsKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoG91dHB1dF9zdXBwb3J0c19wcl9wc3IyX3NlbF9mZXRjaCA9Cj4gY2hlY2tfcHJf cHNyMl9zZWxfZmV0Y2hfc3VwcG9ydCgmZGF0YSk7Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBpZiAob3V0cHV0X3N1cHBvcnRzX3ByX3BzcjJfc2VsX2Zl dGNoKSB7Cj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoHBpcGVzW25fcGlwZXNdID0gZGF0YS5waXBlOwo+IMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBvdXRw dXRzW25fcGlwZXNdID0gZGF0YS5vdXRwdXQ7Cj4gwqAKPiBAQCAtMTAzNyw3ICsxMDc3LDEwIEBA IGlndF9tYWluCj4gwqAKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgbl9waXBlcysrOwo+IMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoH0KPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoHByX3BzcjJfc2VsX2ZldGNoX3N1cHBvcnRlZCB8PQo+IG91 dHB1dF9zdXBwb3J0c19wcl9wc3IyX3NlbF9mZXRjaDsKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoH0KPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgaWd0X3JlcXVpcmVf Zihwcl9wc3IyX3NlbF9mZXRjaF9zdXBwb3J0ZWQsCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg ICJObyBvdXRwdXQgc3VwcG9ydHMKPiBzZWxlY3RpdmUgZmV0Y2hcbiIpOwo+IMKgwqDCoMKgwqDC oMKgwqB9Cj4gwqAKPiDCoMKgwqDCoMKgwqDCoMKgZm9yICh5ID0gMDsgeSA8IEFSUkFZX1NJWkUo ZmJjX3N0YXR1cyk7IHkrKykgewo+IEBAIC0xMDU0LDE3ICsxMDk3LDIwIEBAIGlndF9tYWluCj4g wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgZm9yIChpID0g MDsgaSA8IG5fcGlwZXM7IGkrKykgewo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBpZgo+ICghcGlwZV9vdXRwdXRfY29tYm9f dmFsaWQoJmRhdGEuZGlzcGxheSwgcGlwZXNbaV0sIG91dHB1dHNbaV0pKQo+IMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgY29udGludWU7Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgZGF0YS5waXBlID0gcGlwZXNbaV07Cj4gK8Kg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgZGF0YS5vdXRwdXQgPSBvdXRwdXRzW2ldOwo+IMKgCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGZvciAoaiA9IEZFQVRV UkVfTk9ORTsgaiA8Cj4gRkVBVFVSRV9DT1VOVDsgaisrKSB7Cj4gwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqBpZiAoaiAhPSBGRUFUVVJFX05PTkUgJiYKPiAhKGNvZXhpc3RfZmVhdHVyZXNbaV0gJiBq KSkKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBjb250aW51ZTsKPiAt wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgaWd0X2R5bmFtaWNfZigicGlwZS0lcy0lcyVzIiwKPiBrbXN0 ZXN0X3BpcGVfbmFtZShwaXBlc1tpXSksCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGlndF9keW5h bWljX2YoIiVzLXBpcGUtJXMtCj4gJXMlcyIsIGdldF9wc3JfbW9kZV9zdHJfZm9yX291dHB1dCgm ZGF0YSksCgpIZXJlIGl0IGlzIG5vdCBjbGVhciB0aGF0IGRhdGEtPnBzcl9tb2RlIGlzIGFjdHVh bGx5IGluaXRpYWxpemVkIGJ5CmdldF9wc3JfbW9kZV9zdHJfZm9yX291dHB1dCgmZGF0YSkuIE9u IGZpcnN0IGdsYW5jZSBpdCBsb29rcyBsaWtlIGp1c3QKZ2V0dGVyIGZvciBzb21lIHN0cmluZy4K CkJSLAoKSm91bmkgSMO2Z2FuZGVyCgo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgCj4ga21zdGVzdF9waXBlX25hbWUocGlwZXNbaV0pLAo+ IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAKPiBpZ3Rf b3V0cHV0X25hbWUob3V0cHV0c1tpXSksCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoAo+IGNvZXhpc3RfZmVhdHVyZV9zdHIoaikpIHsKPiAtwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGRhdGEucGlwZSA9IHBpcGVzW2ldOwo+IC3C oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgZGF0YS5vdXRwdXQgPQo+IG91dHB1 dHNbaV07Cj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgZGF0YS50ZXN0 X3BsYW5lX2lkID0KPiBEUk1fUExBTkVfVFlQRV9QUklNQVJZOwo+IMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoGRhdGEuY29leGlzdF9mZWF0dXJlCj4gPSBqOwo+ICvCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgaWd0X2Fzc2VydF9mKGdldF9zZWxfCj4g ZmV0Y2hfbW9kZV9mb3Jfb3V0cHV0KCZkYXRhKSwKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoAo+ IMKgwqDCoCAiSW52YWxpZCBwc3IgbW9kZVxuIik7Cj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgZm9yIChrID0gMTsgayA8PQo+IE1BWF9EQU1BR0VfQVJFQVM7IGsrKykg ewo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqBkYXRhLmRhbWFnZV9hCj4gcmVhX2NvdW50ID0gazsKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgcHJlcGFyZSgmZGF0YQo+ICk7Cj4gQEAg LTEwODcsMTggKzExMzMsMjEgQEAgaWd0X21haW4KPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGlm Cj4gKCFwaXBlX291dHB1dF9jb21ib192YWxpZCgmZGF0YS5kaXNwbGF5LCBwaXBlc1tpXSwKPiDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgCj4gb3V0cHV0c1tpXSkpCj4gwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgY29udGludWU7Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGRh dGEucGlwZSA9IHBpcGVzW2ldOwo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBkYXRhLm91dHB1dCA9 IG91dHB1dHNbaV07Cj4gwqAKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGZvciAoaiA9IEZFQVRV UkVfTk9ORTsgaiA8Cj4gRkVBVFVSRV9DT1VOVDsgaisrKSB7Cj4gwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgaWYgKGogIT0gRkVBVFVSRV9OT05FCj4gJiYgIShjb2V4aXN0 X2ZlYXR1cmVzW2ldICYgaikpCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoGNvbnRpbnVlOwo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgaWd0X2R5bmFtaWNfZigicGlwZS0KPiAlcy0lcyVzIiwKPiArwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGlndF9keW5hbWljX2YoIiVzLQo+IHBpcGUtJXMt JXMlcyIsCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgCj4gZ2V0X3Bzcl9tb2RlX3N0cl9mb3Jfb3V0cHV0KCZk YXRhKSwKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoAo+IGttc3Rlc3RfcGlwZV9uYW1lKHBpcGVzW2ldKSwKPiDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oAo+IGlndF9vdXRwdXRfbmFtZShvdXRwdXRzW2ldKSwKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoAo+IGNvZXhpc3RfZmVh dHVyZV9zdHIoaikpIHsKPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqBkYXRhLnBpcGUgPQo+IHBpcGVzW2ldOwo+IC3CoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGRhdGEub3V0cHV0ID0KPiBvdXRw dXRzW2ldOwo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqBkYXRhLnRlc3RfcGxhCj4gbmVfaWQgPSBEUk1fUExBTkVfVFlQRV9QUklNQVJZOwo+ IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBk YXRhLmNvZXhpc3RfCj4gZmVhdHVyZSA9IGo7Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgaWd0X2Fzc2VydF9mKAo+IGdldF9zZWxfZmV0Y2hf bW9kZV9mb3Jfb3V0cHV0KCZkYXRhKSwKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoAo+IMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgIkludmFsaWQgcHNyIG1vZGVcbiIpOwo+IMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBmb3IgKGsgPSAxOyBrCj4g PD0gTUFYX0RBTUFHRV9BUkVBUzsgaysrKSB7Cj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBkYXRhLgo+IGRhbWFn ZV9hcmVhX2NvdW50ID0gazsKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHByZXBhCj4gcmUoJmRhdGEpOwo+IEBA IC0xMTE5LDE3ICsxMTY4LDIwIEBAIGlndF9tYWluCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgZm9yIChpID0gMDsgaSA8IG5fcGlwZXM7IGkrKykgewo+ IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqBpZgo+ICghcGlwZV9vdXRwdXRfY29tYm9fdmFsaWQoJmRhdGEuZGlzcGxheSwgcGlw ZXNbaV0sIG91dHB1dHNbaV0pKQo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgY29udGludWU7Cj4g K8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgZGF0YS5waXBlID0gcGlwZXNbaV07Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgZGF0YS5vdXRwdXQgPSBvdXRwdXRz W2ldOwo+IMKgCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoGZvciAoaiA9IEZFQVRVUkVfTk9ORTsgaiA8Cj4gRkVBVFVSRV9D T1VOVDsgaisrKSB7Cj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBpZiAoaiAhPSBGRUFUVVJFX05P TkUgJiYKPiAhKGNvZXhpc3RfZmVhdHVyZXNbaV0gJiBqKSkKPiDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqBjb250aW51ZTsKPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgaWd0 X2R5bmFtaWNfZigicGlwZS0lcy0lcyVzIiwKPiBrbXN0ZXN0X3BpcGVfbmFtZShwaXBlc1tpXSks Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGlndF9keW5hbWljX2YoIiVzLXBpcGUtJXMtCj4gJXMl cyIsIGdldF9wc3JfbW9kZV9zdHJfZm9yX291dHB1dCgmZGF0YSksCj4gK8KgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAKPiBrbXN0ZXN0X3BpcGVf bmFtZShwaXBlc1tpXSksCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoAo+IGlndF9vdXRwdXRfbmFtZShvdXRwdXRzW2ldKSwKPiDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgCj4gY29leGlzdF9mZWF0dXJlX3N0 cihqKSkgewo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgZGF0YS5waXBl ID0gcGlwZXNbaV07Cj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBkYXRh Lm91dHB1dCA9Cj4gb3V0cHV0c1tpXTsKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqBkYXRhLnRlc3RfcGxhbmVfaWQgPQo+IERSTV9QTEFORV9UWVBFX09WRVJMQVk7Cj4g wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgZGF0YS5jb2V4aXN0X2ZlYXR1 cmUKPiA9IGo7Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBpZ3RfYXNz ZXJ0X2YoZ2V0X3NlbF8KPiBmZXRjaF9tb2RlX2Zvcl9vdXRwdXQoJmRhdGEpLAo+ICvCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgCj4gwqDCoMKgICJJbnZhbGlkIHBzciBtb2RlXG4iKTsKPiDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBmb3IgKGsgPSAxOyBrIDw9Cj4gTUFYX0RB TUFHRV9BUkVBUzsgaysrKSB7Cj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoGRhdGEuZGFtYWdlX2EKPiByZWFfY291bnQgPSBrOwo+IMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBwcmVwYXJl KCZkYXRhCj4gKTsKPiBAQCAtMTE0OSwxNyArMTIwMSwyMCBAQCBpZ3RfbWFpbgo+IMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGZvciAoaSA9IDA7IGkgPCBu X3BpcGVzOyBpKyspIHsKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgaWYKPiAoIXBpcGVfb3V0cHV0X2NvbWJvX3ZhbGlkKCZk YXRhLmRpc3BsYXksIHBpcGVzW2ldLCBvdXRwdXRzW2ldKSkKPiDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoGNvbnRpbnVlOwo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoGRhdGEucGlwZSA9IHBpcGVzW2ldOwo+ICvCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGRhdGEu b3V0cHV0ID0gb3V0cHV0c1tpXTsKPiDCoAo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBmb3IgKGogPSBGRUFUVVJFX05PTkU7 IGogPAo+IEZFQVRVUkVfQ09VTlQ7IGorKykgewo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgaWYg KGogIT0gRkVBVFVSRV9OT05FICYmCj4gIShjb2V4aXN0X2ZlYXR1cmVzW2ldICYgaikpCj4gwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgY29udGludWU7Cj4gLcKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoGlndF9keW5hbWljX2YoInBpcGUtJXMtJXMlcyIsCj4ga21zdGVzdF9waXBl X25hbWUocGlwZXNbaV0pLAo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBpZ3RfZHluYW1pY19mKCIl cy1waXBlLSVzLQo+ICVzJXMiLCBnZXRfcHNyX21vZGVfc3RyX2Zvcl9vdXRwdXQoJmRhdGEpLAo+ ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg Cj4ga21zdGVzdF9waXBlX25hbWUocGlwZXNbaV0pLAo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAKPiBpZ3Rfb3V0cHV0X25hbWUob3V0cHV0c1tpXSks Cj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoAo+IGNv ZXhpc3RfZmVhdHVyZV9zdHIoaikpIHsKPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoGRhdGEucGlwZSA9IHBpcGVzW2ldOwo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgZGF0YS5vdXRwdXQgPQo+IG91dHB1dHNbaV07Cj4gwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgZGF0YS50ZXN0X3BsYW5lX2lkID0KPiBEUk1fUExBTkVf VFlQRV9DVVJTT1I7Cj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgZGF0 YS5jb2V4aXN0X2ZlYXR1cmUKPiA9IGo7Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqBpZ3RfYXNzZXJ0X2YoZ2V0X3NlbF8KPiBmZXRjaF9tb2RlX2Zvcl9vdXRwdXQoJmRh dGEpLAo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgCj4gwqDCoMKgICJJbnZhbGlkIHBzciBtb2Rl XG4iKTsKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBwcmVwYXJlKCZk YXRhKTsKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBydW4oJmRhdGEp Owo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGNsZWFudXAoJmRhdGEp Owo+IEBAIC0xMTc1LDE3ICsxMjMwLDIwIEBAIGlndF9tYWluCj4gwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgZm9yIChpID0gMDsgaSA8IG5fcGlwZXM7IGkr Kykgewo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqBpZgo+ICghcGlwZV9vdXRwdXRfY29tYm9fdmFsaWQoJmRhdGEuZGlzcGxh eSwgcGlwZXNbaV0sIG91dHB1dHNbaV0pKQo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgY29udGlu dWU7Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgZGF0YS5waXBlID0gcGlwZXNbaV07Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgZGF0YS5vdXRwdXQgPSBv dXRwdXRzW2ldOwo+IMKgCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGZvciAoaiA9IEZFQVRVUkVfTk9ORTsgaiA8Cj4gRkVB VFVSRV9DT1VOVDsgaisrKSB7Cj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBpZiAoaiAhPSBGRUFU VVJFX05PTkUgJiYKPiAhKGNvZXhpc3RfZmVhdHVyZXNbaV0gJiBqKSkKPiDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBjb250aW51ZTsKPiAtwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgaWd0X2R5bmFtaWNfZigicGlwZS0lcy0lcyVzIiwKPiBrbXN0ZXN0X3BpcGVfbmFtZShwaXBl c1tpXSksCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGlndF9keW5hbWljX2YoIiVzLXBpcGUtJXMt Cj4gJXMlcyIsIGdldF9wc3JfbW9kZV9zdHJfZm9yX291dHB1dCgmZGF0YSksCj4gK8KgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAKPiBrbXN0ZXN0 X3BpcGVfbmFtZShwaXBlc1tpXSksCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoAo+IGlndF9vdXRwdXRfbmFtZShvdXRwdXRzW2ldKSwKPiDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgCj4gY29leGlzdF9mZWF0 dXJlX3N0cihqKSkgewo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgZGF0 YS5waXBlID0gcGlwZXNbaV07Cj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqBkYXRhLm91dHB1dCA9Cj4gb3V0cHV0c1tpXTsKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqBkYXRhLnRlc3RfcGxhbmVfaWQgPQo+IERSTV9QTEFORV9UWVBFX0NVUlNP UjsKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBkYXRhLmNvZXhpc3Rf ZmVhdHVyZQo+ID0gajsKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGln dF9hc3NlcnRfZihnZXRfc2VsXwo+IGZldGNoX21vZGVfZm9yX291dHB1dCgmZGF0YSksCj4gK8Kg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqAKPiDCoMKgwqAgIkludmFsaWQgcHNyIG1vZGVcbiIpOwo+IMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHByZXBhcmUoJmRhdGEpOwo+IMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHJ1bigmZGF0YSk7Cj4gwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgY2xlYW51cCgmZGF0YSk7Cj4gQEAgLTEy MDIsMTcgKzEyNjAsMjAgQEAgaWd0X21haW4KPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqBmb3IgKGkgPSAwOyBpIDwgbl9waXBlczsgaSsrKSB7Cj4gwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoGlmCj4gKCFwaXBlX291dHB1dF9jb21ib192YWxpZCgmZGF0YS5kaXNwbGF5LCBwaXBlc1tp XSwgb3V0cHV0c1tpXSkpCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBjb250aW51ZTsKPiArwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqBkYXRhLnBpcGUgPSBwaXBlc1tpXTsKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBkYXRhLm91dHB1dCA9IG91dHB1dHNbaV07 Cj4gwqAKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgZm9yIChqID0gRkVBVFVSRV9OT05FOyBqIDwKPiBGRUFUVVJFX0NPVU5U OyBqKyspIHsKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGlmIChqICE9IEZFQVRVUkVfTk9ORSAm Jgo+ICEoY29leGlzdF9mZWF0dXJlc1tpXSAmIGopKQo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoGNvbnRpbnVlOwo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBpZ3RfZHlu YW1pY19mKCJwaXBlLSVzLSVzJXMiLAo+IGttc3Rlc3RfcGlwZV9uYW1lKHBpcGVzW2ldKSwKPiAr wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgaWd0X2R5bmFtaWNfZigiJXMtcGlwZS0lcy0KPiAlcyVzIiwg Z2V0X3Bzcl9tb2RlX3N0cl9mb3Jfb3V0cHV0KCZkYXRhKSwKPiArwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoAo+IGttc3Rlc3RfcGlwZV9uYW1l KHBpcGVzW2ldKSwKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgCj4gaWd0X291dHB1dF9uYW1lKG91dHB1dHNbaV0pLAo+IMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAKPiBjb2V4aXN0X2ZlYXR1cmVfc3RyKGop KSB7Cj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBkYXRhLnBpcGUgPSBw aXBlc1tpXTsKPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGRhdGEub3V0 cHV0ID0KPiBvdXRwdXRzW2ldOwo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoGRhdGEudGVzdF9wbGFuZV9pZCA9Cj4gRFJNX1BMQU5FX1RZUEVfQ1VSU09SOwo+IMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGRhdGEuY29leGlzdF9mZWF0dXJlCj4g PSBqOwo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgaWd0X2Fzc2VydF9m KGdldF9zZWxfCj4gZmV0Y2hfbW9kZV9mb3Jfb3V0cHV0KCZkYXRhKSwKPiArwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoAo+IMKgwqDCoCAiSW52YWxpZCBwc3IgbW9kZVxuIik7Cj4gwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgcHJlcGFyZSgmZGF0YSk7Cj4gwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgcnVuKCZkYXRhKTsKPiDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBjbGVhbnVwKCZkYXRhKTsKPiBAQCAtMTIyOSwxNyArMTI5 MCwyMCBAQCBpZ3RfbWFpbgo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoGZvciAoaSA9IDA7IGkgPCBuX3BpcGVzOyBpKyspIHsKPiDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgaWYKPiAo IXBpcGVfb3V0cHV0X2NvbWJvX3ZhbGlkKCZkYXRhLmRpc3BsYXksIHBpcGVzW2ldLCBvdXRwdXRz W2ldKSkKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGNvbnRpbnVlOwo+ICvCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGRhdGEucGlw ZSA9IHBpcGVzW2ldOwo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoGRhdGEub3V0cHV0ID0gb3V0cHV0c1tpXTsKPiDCoAo+IMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqBmb3IgKGogPSBGRUFUVVJFX05PTkU7IGogPAo+IEZFQVRVUkVfQ09VTlQ7IGorKykgewo+ IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgaWYgKGogIT0gRkVBVFVSRV9OT05FICYmCj4gIShjb2V4 aXN0X2ZlYXR1cmVzW2ldICYgaikpCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgY29udGludWU7Cj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGlndF9keW5hbWljX2YoInBp cGUtJXMtJXMlcyIsCj4ga21zdGVzdF9waXBlX25hbWUocGlwZXNbaV0pLAo+ICvCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqBpZ3RfZHluYW1pY19mKCIlcy1waXBlLSVzLQo+ICVzJXMiLCBnZXRfcHNyX21v ZGVfc3RyX2Zvcl9vdXRwdXQoJmRhdGEpLAo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgCj4ga21zdGVzdF9waXBlX25hbWUocGlwZXNbaV0p LAo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAKPiBp Z3Rfb3V0cHV0X25hbWUob3V0cHV0c1tpXSksCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoAo+IGNvZXhpc3RfZmVhdHVyZV9zdHIoaikpIHsKPiAtwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGRhdGEucGlwZSA9IHBpcGVzW2ldOwo+ IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgZGF0YS5vdXRwdXQgPQo+IG91 dHB1dHNbaV07Cj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgZGF0YS50 ZXN0X3BsYW5lX2lkID0KPiBEUk1fUExBTkVfVFlQRV9DVVJTT1I7Cj4gwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgZGF0YS5jb2V4aXN0X2ZlYXR1cmUKPiA9IGo7Cj4gK8Kg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBpZ3RfYXNzZXJ0X2YoZ2V0X3NlbF8K PiBmZXRjaF9tb2RlX2Zvcl9vdXRwdXQoJmRhdGEpLAo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg Cj4gwqDCoMKgICJJbnZhbGlkIHBzciBtb2RlXG4iKTsKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqBwcmVwYXJlKCZkYXRhKTsKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqBydW4oJmRhdGEpOwo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoGNsZWFudXAoJmRhdGEpOwo+IEBAIC0xMjU3LDE3ICsxMzIxLDIxIEBAIGln dF9tYWluCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg Zm9yIChpID0gMDsgaSA8IG5fcGlwZXM7IGkrKykgewo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBpZgo+ICghcGlwZV9vdXRw dXRfY29tYm9fdmFsaWQoJmRhdGEuZGlzcGxheSwgcGlwZXNbaV0sIG91dHB1dHNbaV0pKQo+IMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgY29udGludWU7Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgZGF0YS5waXBlID0gcGlwZXNb aV07Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgZGF0YS5vdXRwdXQgPSBvdXRwdXRzW2ldOwo+IMKgCj4gwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGZvciAo aiA9IEZFQVRVUkVfTk9ORTsgaiA8Cj4gRkVBVFVSRV9DT1VOVDsgaisrKSB7Cj4gwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqBpZiAoaiAhPSBGRUFUVVJFX05PTkUgJiYKPiAhKGNvZXhpc3RfZmVhdHVy ZXNbaV0gJiBqKSkKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBjb250 aW51ZTsKPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgaWd0X2R5bmFtaWNfZigicGlwZS0lcy0lcyVz IiwKPiBrbXN0ZXN0X3BpcGVfbmFtZShwaXBlc1tpXSksCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oGlndF9keW5hbWljX2YoIiVzLXBpcGUtJXMtCj4gJXMlcyIsCj4gK8KgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAKPiBnZXRfcHNyX21vZGVfc3Ry X2Zvcl9vdXRwdXQoJmRhdGEpLAo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgCj4ga21zdGVzdF9waXBlX25hbWUocGlwZXNbaV0pLAo+IMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAKPiBpZ3Rfb3V0 cHV0X25hbWUob3V0cHV0c1tpXSksCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoAo+IGNvZXhpc3RfZmVhdHVyZV9zdHIoaikpIHsKPiAtwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGRhdGEucGlwZSA9IHBpcGVzW2ldOwo+IC3CoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgZGF0YS5vdXRwdXQgPQo+IG91dHB1dHNb aV07Cj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgZGF0YS50ZXN0X3Bs YW5lX2lkID0KPiBEUk1fUExBTkVfVFlQRV9PVkVSTEFZOwo+IMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoGRhdGEuY29leGlzdF9mZWF0dXJlCj4gPSBqOwo+ICvCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgaWd0X2Fzc2VydF9mKGdldF9zZWxfCj4gZmV0 Y2hfbW9kZV9mb3Jfb3V0cHV0KCZkYXRhKSwKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoAo+IMKg wqDCoCAiSW52YWxpZCBwc3IgbW9kZVxuIik7Cj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgZm9yIChrID0KPiBQT1NfVE9QX0xFRlQ7IGsgPD0gUE9TX0JPVFRPTV9SSUdI VCA7IGsrKykgewo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqBkYXRhLnBvcyA9IGs7Cj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHByZXBhcmUoJmRhdGEKPiApOwo+IEBAIC0xMjg2LDE3 ICsxMzU0LDIwIEBAIGlndF9tYWluCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgZm9yIChpID0gMDsgaSA8IG5fcGlwZXM7IGkrKykgewo+IMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBp Zgo+ICghcGlwZV9vdXRwdXRfY29tYm9fdmFsaWQoJmRhdGEuZGlzcGxheSwgcGlwZXNbaV0sIG91 dHB1dHNbaV0pKQo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgY29udGludWU7Cj4gK8KgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgZGF0 YS5waXBlID0gcGlwZXNbaV07Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgZGF0YS5vdXRwdXQgPSBvdXRwdXRzW2ldOwo+IMKg Cj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoGZvciAoaiA9IEZFQVRVUkVfTk9ORTsgaiA8Cj4gRkVBVFVSRV9DT1VOVDsgaisr KSB7Cj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBpZiAoaiAhPSBGRUFUVVJFX05PTkUgJiYKPiAh KGNvZXhpc3RfZmVhdHVyZXNbaV0gJiBqKSkKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqBjb250aW51ZTsKPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgaWd0X2R5bmFtaWNf ZigicGlwZS0lcy0lcyVzIiwKPiBrbXN0ZXN0X3BpcGVfbmFtZShwaXBlc1tpXSksCj4gK8KgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoGlndF9keW5hbWljX2YoIiVzLXBpcGUtJXMtCj4gJXMlcyIsIGdldF9w c3JfbW9kZV9zdHJfZm9yX291dHB1dCgmZGF0YSksCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAKPiBrbXN0ZXN0X3BpcGVfbmFtZShwaXBl c1tpXSksCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oAo+IGlndF9vdXRwdXRfbmFtZShvdXRwdXRzW2ldKSwKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgCj4gY29leGlzdF9mZWF0dXJlX3N0cihqKSkgewo+ IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBkYXRhLnBpcGUgPSBwaXBlc1tpXTsKPiAtwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgZGF0YS5vdXRwdXQgPSBvdXRwdXRzW2ldOwo+IMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgZGF0YS50ZXN0X3BsYW5lX2lkID0KPiBEUk1fUExBTkVfVFlQRV9PVkVSTEFZOwo+IMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgZGF0YS5jb2V4aXN0X2ZlYXR1cmUgPSBqOwo+ICvCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqBpZ3RfYXNzZXJ0X2YoZ2V0X3NlbF9mZXRjaF9tbwo+IGRlX2Zvcl9vdXRw dXQoJmRhdGEpLAo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAiSW52YQo+IGxpZCBwc3IgbW9kZVxuIik7Cj4gwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqBwcmVwYXJlKCZkYXRhKTsKPiDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoHJ1bigmZGF0YSk7Cj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBjbGVhbnVwKCZkYXRhKTsK PiBAQCAtMTMxMywxNyArMTM4NCwyMCBAQCBpZ3RfbWFpbgo+IMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGZvciAoaSA9IDA7IGkgPCBuX3BpcGVzOyBpKysp IHsKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgaWYKPiAoIXBpcGVfb3V0cHV0X2NvbWJvX3ZhbGlkKCZkYXRhLmRpc3BsYXks IHBpcGVzW2ldLCBvdXRwdXRzW2ldKSkKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGNvbnRpbnVl Owo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoGRhdGEucGlwZSA9IHBpcGVzW2ldOwo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGRhdGEub3V0cHV0ID0gb3V0 cHV0c1tpXTsKPiDCoAo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBmb3IgKGogPSBGRUFUVVJFX05PTkU7IGogPAo+IEZFQVRV UkVfQ09VTlQ7IGorKykgewo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgaWYgKGogIT0gRkVBVFVS RV9OT05FICYmCj4gIShjb2V4aXN0X2ZlYXR1cmVzW2ldICYgaikpCj4gwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgY29udGludWU7Cj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oGlndF9keW5hbWljX2YoInBpcGUtJXMtJXMlcyIsCj4ga21zdGVzdF9waXBlX25hbWUocGlwZXNb aV0pLAo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBpZ3RfZHluYW1pY19mKCIlcy1waXBlLSVzLQo+ ICVzJXMiLCBnZXRfcHNyX21vZGVfc3RyX2Zvcl9vdXRwdXQoJmRhdGEpLAo+ICvCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgCj4ga21zdGVzdF9w aXBlX25hbWUocGlwZXNbaV0pLAo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqAKPiBpZ3Rfb3V0cHV0X25hbWUob3V0cHV0c1tpXSksCj4gwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoAo+IGNvZXhpc3RfZmVhdHVy ZV9zdHIoaikpIHsKPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGRhdGEu cGlwZSA9IHBpcGVzW2ldOwo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg ZGF0YS5vdXRwdXQgPQo+IG91dHB1dHNbaV07Cj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgZGF0YS50ZXN0X3BsYW5lX2lkID0KPiBEUk1fUExBTkVfVFlQRV9PVkVSTEFZ Owo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGRhdGEuY29leGlzdF9m ZWF0dXJlCj4gPSBqOwo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgaWd0 X2Fzc2VydF9mKGdldF9zZWxfCj4gZmV0Y2hfbW9kZV9mb3Jfb3V0cHV0KCZkYXRhKSwKPiArwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoAo+IMKgwqDCoCAiSW52YWxpZCBwc3IgbW9kZVxuIik7Cj4gwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgcHJlcGFyZSgmZGF0YSk7Cj4gwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgcnVuKCZkYXRhKTsKPiDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBjbGVhbnVwKCZkYXRhKTsKPiBAQCAtMTM0 MCwxNyArMTQxNCwyMCBAQCBpZ3RfbWFpbgo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoGZvciAoaSA9IDA7IGkgPCBuX3BpcGVzOyBpKyspIHsKPiDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgaWYKPiAoIXBpcGVfb3V0cHV0X2NvbWJvX3ZhbGlkKCZkYXRhLmRpc3BsYXksIHBpcGVzW2ld LCBvdXRwdXRzW2ldKSkKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGNvbnRpbnVlOwo+ICvCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oGRhdGEucGlwZSA9IHBpcGVzW2ldOwo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGRhdGEub3V0cHV0ID0gb3V0cHV0c1tpXTsK PiDCoAo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqBmb3IgKGogPSBGRUFUVVJFX05PTkU7IGogPAo+IEZFQVRVUkVfQ09VTlQ7 IGorKykgewo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgaWYgKGogIT0gRkVBVFVSRV9OT05FICYm Cj4gIShjb2V4aXN0X2ZlYXR1cmVzW2ldICYgaikpCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgY29udGludWU7Cj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGlndF9keW5h bWljX2YoInBpcGUtJXMtJXMlcyIsCj4ga21zdGVzdF9waXBlX25hbWUocGlwZXNbaV0pLAo+ICvC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqBpZ3RfZHluYW1pY19mKCIlcy1waXBlLSVzLQo+ICVzJXMiLCBn ZXRfcHNyX21vZGVfc3RyX2Zvcl9vdXRwdXQoJmRhdGEpLAo+ICvCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgCj4ga21zdGVzdF9waXBlX25hbWUo cGlwZXNbaV0pLAo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqAKPiBpZ3Rfb3V0cHV0X25hbWUob3V0cHV0c1tpXSksCj4gwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoAo+IGNvZXhpc3RfZmVhdHVyZV9zdHIoaikp IHsKPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGRhdGEucGlwZSA9IHBp cGVzW2ldOwo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgZGF0YS5vdXRw dXQgPQo+IG91dHB1dHNbaV07Cj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgZGF0YS50ZXN0X3BsYW5lX2lkID0KPiBEUk1fUExBTkVfVFlQRV9PVkVSTEFZOwo+IMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGRhdGEuY29leGlzdF9mZWF0dXJlCj4g PSBqOwo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgaWd0X2Fzc2VydF9m KGdldF9zZWxfCj4gZmV0Y2hfbW9kZV9mb3Jfb3V0cHV0KCZkYXRhKSwKPiArwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoAo+IMKgwqDCoCAiSW52YWxpZCBwc3IgbW9kZVxuIik7Cj4gwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgcHJlcGFyZSgmZGF0YSk7Cj4gwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgcnVuKCZkYXRhKTsKPiDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBjbGVhbnVwKCZkYXRhKTsKPiBAQCAtMTM2OCwxOSArMTQ0 NSwyMiBAQCBpZ3RfbWFpbgo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoGZvciAoaSA9IDA7IGkgPCBuX3BpcGVzOyBpKyspIHsKPiDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgaWYKPiAo IXBpcGVfb3V0cHV0X2NvbWJvX3ZhbGlkKCZkYXRhLmRpc3BsYXksIHBpcGVzW2ldLCBvdXRwdXRz W2ldKSkKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGNvbnRpbnVlOwo+ICvCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGRhdGEucGlw ZSA9IHBpcGVzW2ldOwo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoGRhdGEub3V0cHV0ID0gb3V0cHV0c1tpXTsKPiDCoAo+IMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqBmb3IgKGogPSBGRUFUVVJFX05PTkU7IGogPAo+IEZFQVRVUkVfQ09VTlQ7IGorKykgewo+ IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgaWYgKGogIT0gRkVBVFVSRV9OT05FICYmCj4gIShjb2V4 aXN0X2ZlYXR1cmVzW2ldICYgaikpCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgY29udGludWU7Cj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGlndF9keW5hbWljX2YoInBp cGUtJXMtJXMlcyIsCj4ga21zdGVzdF9waXBlX25hbWUocGlwZXNbaV0pLAo+ICvCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqBpZ3RfZHluYW1pY19mKCIlcy1waXBlLSVzLQo+ICVzJXMiLCBrbXN0ZXN0X3Bp cGVfbmFtZShwaXBlc1tpXSksCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqAKPiBnZXRfcHNyX21vZGVfc3RyX2Zvcl9vdXRwdXQoJmRhdGEp LAo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAKPiBp Z3Rfb3V0cHV0X25hbWUob3V0cHV0c1tpXSksCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoAo+IGNvZXhpc3RfZmVhdHVyZV9zdHIoaikpIHsKPiAtwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGRhdGEucGlwZSA9IHBpcGVzW2ldOwo+ IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgZGF0YS5vdXRwdXQgPQo+IG91 dHB1dHNbaV07Cj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgZm9yIChr ID0gMTsgayA8PQo+IE1BWF9EQU1BR0VfQVJFQVM7IGsrKykgewo+IMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBkYXRhLmRhbWFnZV9hCj4gcmVh X2NvdW50ID0gazsKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgZGF0YS50ZXN0X3BsYQo+IG5lX2lkID0gRFJNX1BMQU5FX1RZUEVfUFJJTUFS WTsKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgZGF0YS5jb2V4aXN0Xwo+IGZlYXR1cmUgPSBqOwo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGlndF9hc3NlcnRfZigKPiBnZXRfc2VsX2Zl dGNoX21vZGVfZm9yX291dHB1dCgmZGF0YSksCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAKPiDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgICJJbnZhbGlkIHBzciBtb2RlXG4iKTsKPiDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgcHJlcGFyZSgmZGF0 YQo+ICk7Cj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoHJ1bigmZGF0YSk7Cj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoGNsZWFudXAoJmRhdGEKPiApOwo+IEBAIC0xNDAxLDE1ICsxNDgx LDE2IEBAIGlndF9tYWluCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgZm9yIChpID0gMDsgaSA8IG5fcGlwZXM7IGkrKykgewo+IMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBpZgo+ICgh cGlwZV9vdXRwdXRfY29tYm9fdmFsaWQoJmRhdGEuZGlzcGxheSwgcGlwZXNbaV0sIG91dHB1dHNb aV0pKQo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgY29udGludWU7Cj4gK8KgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgZGF0YS5waXBl ID0gcGlwZXNbaV07Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgZGF0YS5vdXRwdXQgPSBvdXRwdXRzW2ldOwo+IMKgCj4gwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoGZvciAoaiA9IEZFQVRVUkVfTk9ORTsgaiA8Cj4gRkVBVFVSRV9DT1VOVDsgaisrKSB7Cj4g wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBpZiAoaiAhPSBGRUFUVVJFX05PTkUgJiYKPiAhKGNvZXhp c3RfZmVhdHVyZXNbaV0gJiBqKSkKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqBjb250aW51ZTsKPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgaWd0X2R5bmFtaWNfZigicGlw ZS0lcy0lcyVzIiwKPiBrbXN0ZXN0X3BpcGVfbmFtZShwaXBlc1tpXSksCj4gK8KgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoGlndF9keW5hbWljX2YoIiVzLXBpcGUtJXMtCj4gJXMlcyIsIGdldF9wc3JfbW9k ZV9zdHJfZm9yX291dHB1dCgmZGF0YSksCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAKPiBrbXN0ZXN0X3BpcGVfbmFtZShwaXBlc1tpXSks Cj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoAo+IGln dF9vdXRwdXRfbmFtZShvdXRwdXRzW2ldKSwKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgCj4gY29leGlzdF9mZWF0dXJlX3N0cihqKSkgewo+IC3CoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgZGF0YS5waXBlID0gcGlwZXNbaV07Cj4g LcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBkYXRhLm91dHB1dCA9Cj4gb3V0 cHV0c1tpXTsKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBkYXRhLmRh bWFnZV9hcmVhX2NvdW4KPiB0ID0gMTsKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqBpZiAoZGF0YS5vcF9mYmNfbW9kZQo+ID09IEZCQ19FTkFCTEVEKQo+IMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBkYXRhLnByaW1h cnlfCj4gZm9ybWF0ID0gRFJNX0ZPUk1BVF9YUkdCODg4ODsKPiBAQCAtMTQxNyw2ICsxNDk4LDgg QEAgaWd0X21haW4KPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgZGF0YS5wcmltYXJ5Xwo+IGZvcm1hdCA9IERSTV9GT1JNQVRfTlYxMjsKPiDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBkYXRhLnRlc3RfcGxhbmVfaWQg PQo+IERSTV9QTEFORV9UWVBFX09WRVJMQVk7Cj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgZGF0YS5jb2V4aXN0X2ZlYXR1cmUKPiA9IGo7Cj4gK8KgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBpZ3RfYXNzZXJ0X2YoZ2V0X3NlbF8KPiBmZXRjaF9tb2Rl X2Zvcl9vdXRwdXQoJmRhdGEpLAo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgCj4gwqDCoMKgICJJ bnZhbGlkIHBzciBtb2RlXG4iKTsKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqBwcmVwYXJlKCZkYXRhKTsKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqBydW4oJmRhdGEpOwo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oGNsZWFudXAoJmRhdGEpOwoK