From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id WeBeGBhNVWqXogYAWB0awg (envelope-from ) for ; Mon, 13 Jul 2026 16:39:52 -0400 Authentication-Results: simark.ca; dkim=pass (2048-bit key; unprotected) header.d=intel.com header.i=@intel.com header.a=rsa-sha256 header.s=Intel header.b=h49/KyMg; dkim-atps=neutral Received: by simark.ca (Postfix, from userid 112) id 5CDFC1E033; Mon, 13 Jul 2026 16:39:52 -0400 (EDT) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-25) on simark.ca X-Spam-Level: X-Spam-Status: No, score=-6.4 required=5.0 tests=ARC_SIGNED,ARC_VALID,BAYES_00, DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED autolearn=ham autolearn_force=no version=4.0.1 Received: from vm01.sourceware.org (vm01.sourceware.org [IPv6:2620:52:6:3111::32]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by simark.ca (Postfix) with ESMTPS id 6B37E1E033 for ; Mon, 13 Jul 2026 16:39:49 -0400 (EDT) Received: from vm01.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id B8A9A4BA5436 for ; Mon, 13 Jul 2026 20:39:47 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org B8A9A4BA5436 Authentication-Results: sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=intel.com header.i=@intel.com header.a=rsa-sha256 header.s=Intel header.b=h49/KyMg Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.17]) by sourceware.org (Postfix) with ESMTPS id BD93E4BA2E07 for ; Mon, 13 Jul 2026 20:39:15 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org BD93E4BA2E07 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=intel.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org BD93E4BA2E07 Authentication-Results: sourceware.org; arc=fail smtp.remote-ip=198.175.65.17 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1783975156; cv=fail; b=EOFSppzdXXrS50HWmesQXRzpTJs2bET4lTMjjv/c6c+lD6WDiiQfs0LF+W4REPAZ5MZz4w2Zb8Ee42jUpGFVLNSyzwC095sTRz6AbmocZyr9q3+re9+qyLLmYA1fepk+L1BbrLIx9ckej3zcJtuhtUebFxkjJytZv8ADDRNP/k0= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1783975156; c=relaxed/simple; bh=yIpTDMDQ3W5tYvFGA/TrXbKrt1TFn8ZTO1QCQ68LZY4=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=m7SMr6PS4gHa2W8wxHCr1vMhcQCBKBDislI0wUZpZGDQ3Wi6b0brsrYpb1L/oxUWYgavvhW9YTpZ8rG4ZYL+xkejP8HMyEsFWw0IbCakgZBtLTKWR4Q2ioLdhHRtbGiYk/fHZvccSEicf2lIwePs/AqblZDiNCe67vDayyDTI3A= ARC-Authentication-Results: i=2; sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=intel.com header.i=@intel.com header.a=rsa-sha256 header.s=Intel header.b=h49/KyMg DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org BD93E4BA2E07 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1783975156; x=1815511156; h=from:to:cc:subject:date:message-id:references: in-reply-to:mime-version:content-transfer-encoding; bh=yIpTDMDQ3W5tYvFGA/TrXbKrt1TFn8ZTO1QCQ68LZY4=; b=h49/KyMgmwH5Z9hqJw9ikeU6Abwi40kByGaCdfQyrgm31A5nvYPG9WdZ yt8YfVqGtUH8bQc7D0fNupd8HdfI3OdOnqLmqsW6FJ5a4zYjcxrrDKFrn GwPquhA50TjU27kGwFLB9ejLxPNuamd/4gNpn4Qz0ezmIAGRxcDLNmXCv Ce6vvVjC3muTrMkfab29wlyzo2Wg/uwteWytD/9l7OjAkmED4+hSqC7d2 Md+RH0LQRPpSzt7X8hOqlNuflmGkephF66xbYm3D2SNPp4nZ5w0XyeTZs +RyW0pS7UjLNjmr4eiYjIz7/4g+JrRJ8o9cXQYo4Y+LeyrJJWiWS6jcY6 g==; X-CSE-ConnectionGUID: HrwneUe+QsGO3VeI8ljzPw== X-CSE-MsgGUID: AYPtMFk3QayeV+/4SHACJw== X-IronPort-AV: E=McAfee;i="6800,10657,11841"; a="84609991" X-IronPort-AV: E=Sophos;i="6.25,154,1779174000"; d="scan'208";a="84609991" Received: from orviesa007.jf.intel.com ([10.64.159.147]) by orvoesa109.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 Jul 2026 13:39:15 -0700 X-CSE-ConnectionGUID: YWQ/TNMpRTyLp+u+fBdHhQ== X-CSE-MsgGUID: rjbKcnxgRT27nVi4FTnV9w== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.25,154,1779174000"; d="scan'208";a="255709682" Received: from fmsmsx902.amr.corp.intel.com ([10.18.126.91]) by orviesa007.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 Jul 2026 13:39:14 -0700 Received: from FMSMSX903.amr.corp.intel.com (10.18.126.92) by fmsmsx902.amr.corp.intel.com (10.18.126.91) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.43; Mon, 13 Jul 2026 13:39:13 -0700 Received: from fmsedg903.ED.cps.intel.com (10.1.192.145) by FMSMSX903.amr.corp.intel.com (10.18.126.92) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.43 via Frontend Transport; Mon, 13 Jul 2026 13:39:13 -0700 Received: from PH0PR06CU001.outbound.protection.outlook.com (40.107.208.46) by edgegateway.intel.com (192.55.55.83) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.43; Mon, 13 Jul 2026 13:39:13 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=dJ6O8/7FwPGnPpb9gKCTjyBqR9zdT2EHsBvrZ3nl8QdNMqMANnSMdN1D6EIMAMNyPl+IIsmwPpvJyF86fziKv4l0YshHunBBtwu9dydjHS7Fl6Wv0lZBhhlcSrQmxKZHj6/zSQY/QEI4WtuYp6/5sNySHZjCi8pf7X81GpW3L6gLo/6pHpSQgX5h77uOmEuhJ4TvHEObdOWgcVXD6KrPmZCf89/E9RFLsup7ZcmY1xcIXM2Fn0+uXdWbIAYFONI5nEpsezxepmkB+introSWiVhsBO/AgKhSQLfASfz7Ov+SG5JqAdiaz+rkbBrUn9H1O2JUFRreQl16KO0fOFCeeg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=Jwd8EGQv5neO7MNGuxhLw1AKhRmCkxZaRTDrPP/G3fw=; b=hPuE8PNxOaJN3NFuFgpw4HQzXLN82YfJq+2kTWcqP+jO5we2HMLmGcnqonL9QFiRQmovkwoGiA6SAztdsunCmj1Q0ieQLeZ5qNRHuxI/Mh2wFDtcRmbDlJzOWT+JbtfhWMCZV8B58TGS6/8wghxYX5eR7gHo25+2T/Da33eerBvUeMxZafSTn3H9OHfv2ZoNN13aEmnwmIXCRpKqGf4wxqIaACrC4suMPUCiZP+QlYPBuccLhQNtG+PaY95WKA1ssE3y9rZeDx1yv4Ef6uh2a0jtvLWA24UlrJcjguaTWMkKKIlBQeWGzm+p+SbAgZzVXWqU84LE3YpLFYEMP038AQ== 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 SA1PR11MB6846.namprd11.prod.outlook.com (2603:10b6:806:2b0::6) by DM3PPFC3F0DB79B.namprd11.prod.outlook.com (2603:10b6:f:fc00::f4a) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.202.19; Mon, 13 Jul 2026 20:39:11 +0000 Received: from SA1PR11MB6846.namprd11.prod.outlook.com ([fe80::c035:c237:91c5:ca4a]) by SA1PR11MB6846.namprd11.prod.outlook.com ([fe80::c035:c237:91c5:ca4a%4]) with mapi id 15.21.0181.019; Mon, 13 Jul 2026 20:39:11 +0000 From: "Ijaz, Abdul B" To: Andrew Burgess , "gdb-patches@sourceware.org" CC: "pedro@palves.net" , "philippe.waroquiers@skynet.be" , "Schimpe, Christina" , "lsix@lancelotsix.com" , "eliz@gnu.org" , "guinevere@redhat.com" Subject: RE: [PATCH v13 2/2] gdb: add shadowed field in '-stack-list-locals/variables' mi commands Thread-Topic: [PATCH v13 2/2] gdb: add shadowed field in '-stack-list-locals/variables' mi commands Thread-Index: AQHdDwTvpuN46D1G2Um+Ye6SzbBCCLZrlZYAgAABCLA= Date: Mon, 13 Jul 2026 20:39:11 +0000 Message-ID: References: <20260708180805.207722-1-abdul.b.ijaz@intel.com> <20260708180805.207722-3-abdul.b.ijaz@intel.com> <87qzl6exh7.fsf@redhat.com> In-Reply-To: <87qzl6exh7.fsf@redhat.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: SA1PR11MB6846:EE_|DM3PPFC3F0DB79B:EE_ x-ms-office365-filtering-correlation-id: 9c5a8f3d-4ece-452e-8317-08dee11ecbbd x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|376014|23010399003|366016|1800799024|38070700021|13003099007|6133799003|56012099006|4143699003|5023799004|11063799006|22082099003|18002099003|3023799007; x-microsoft-antispam-message-info: 0H/hROvXhvW0qeWUNr/yw5n0B+wJBDPV8C4cZqd/CqdsB1nWyzUPaS+Z+h2kRkiXmKokMsYrQ58TPnj/K0IfBkqtjjd6boDcQez2z1uj7hAhYNzRHoPizmsW7cJlUjMT2owaVn1T/qtuBOpRhn1z+kd9Z1aJ/2OHumxcbELsOp7kQiJVYcgxKLFMca0zMsDMjapFYAHFKd1ACYDeD2mf8gRw/1To1RCKVVgCfUEnVVvXXPUQeUWmhRE5f81RUq4dutVgW+xqryxGQoBysK63uYq7XsBLs0ee5jpfX2ib0t6Aoz/QVHANk65J5CE2rtSW19h1i3w9XeFkYJABjdrX8GpNyd4rvLhNVGj50GUfXfipIwjtMXFWETm/jJs4GVdFuX57bNq8tEM0LpcGdC7SUlPwLo1Tk2LTBnDXprSyAbY+Fwm1m3WLROnB0vORJ5Z878CW5Imt0IiFiF+2/Yc/4T5YvJ2glDAeC3s96aPjcPyobV9agBMjbzqS/bcVsm5MUvx5sMGoUo1MOLiuxo2SBMJ+KKGMZuGFSihkPI5PJxXtBsgEznJfVnYYvdVNWDZ0aT5ZVoO+yMwSFP78n76dqZPh0Hs+av5Sw2Jez+6maNwI/OjN26XlalAjZYnGo1KUF/RJWIQAw+RpSdGsK3WIhKFV8ilHR+Q9UzWSDKjsskM= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SA1PR11MB6846.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(376014)(23010399003)(366016)(1800799024)(38070700021)(13003099007)(6133799003)(56012099006)(4143699003)(5023799004)(11063799006)(22082099003)(18002099003)(3023799007); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?TWRySjFvTEc1YzFkWWNMRXd5Uk5ONzRlaDg2UWgvWFFoaG14WjR0ajFITXhG?= =?utf-8?B?ajk5Wm42TG5mdGZuV1hXNTJodzJXQmpYZ2JsT0F5Y0VKR281VDQ3RGl2dlMr?= =?utf-8?B?TndiaXdGRVpPaWxVQ3NBSFphYnBEVGNLQUNSS3VPRGZiWWE2YlVJL1BNekpa?= =?utf-8?B?Z2g2eTl4VWF0MFFMeGhCdHpPdUs3THhKb25OaGFzalFDR0NtWHlMTkl6S2VY?= =?utf-8?B?Y0Z2TWdHYlR5TktBQVBvUG0rR0pOdld3TW9sdGNUbVlxU2M1cElRdjd5bXgz?= =?utf-8?B?Tm1hSTN1b1E5WGNkRm1CUFFhSHI3M2JBTU5XNUVOeVR3bSthRy9kOTA4V2FH?= =?utf-8?B?L29CMGN4NW9WY0RpYzFYZGl2SzdhdTFjU0xaUkw3MzZONVVZVHh1VGprODV5?= =?utf-8?B?b0JYeEpIOFNncS9UM0E4ZHpYMFAySlJuRytnNUorLzhTSHQ1Wk5STnlrQzJJ?= =?utf-8?B?c3U5Y2NDVG5RZDduYWxtMTA2WklTT0hNang4SXlsSi9qRE5HcFlhRUdJL2Yy?= =?utf-8?B?ZlZuT1duQmkxR2dseU14elRpN29vK1hXci9lbVNpNDNUQWlkZlQwM0lVbzVi?= =?utf-8?B?VktFVVBXbG1ITEIzazhSODdNRlE0WXpBS1I2a1Bzc05NMElGa3laUytJYjZG?= =?utf-8?B?L01lc1Q3MlFHcE10ekRocUlrRStrSFJBUDJXdW5IdGt4eUVrdDZuQ2NhQStu?= =?utf-8?B?RjJxM096SlM1MVkrNVZhR2lMWEUzTmVBZnN3Sjl1MGxVekxLRkZ2ZVhqeEYz?= =?utf-8?B?V0ZLa2s1eGY1em1QZHNBZVowQVNuYmNpZ0FtcUJ1M3MyeC82dFJpaHpidkhl?= =?utf-8?B?WTVDM0tlV0dlT3Z3UGhzOVppcEVRVVNKU2JTTEM3WXh6bTlSUmtoRVNxdlZ1?= =?utf-8?B?K0E5YjJXWW9hTXlTeW5tN25HSXU2WXZYNjBKRVoxeE95QzdYNHMvanp0dEZZ?= =?utf-8?B?OGtIMmNiL2c1emN3UkZCeGdwMEpGYmlYTzd0Y0Foam1VUEgvRmpBRGVNbkhX?= =?utf-8?B?c0x5ejhWOW5vTGJua2dVQk50bjZWekFBSjhFWE9KN1R0R1h5SDdiREFZQXRi?= =?utf-8?B?NjBXaVFGbGFOVzBsMFdrTFBrUnFKZjdxZStmclMrbGVic3VtZC9XSTR0Nkc1?= =?utf-8?B?QnZFUzJsblRvNVhtcklraU5RR0J6K3BRcnR3Zko0K2haZVVVNjFRNGVzRUda?= =?utf-8?B?Q2hQY09FL2JWWVF2N1RDOUJjVUZDNnhOLzNiYW9LcEtMUi9qV2xqcFhuT1NG?= =?utf-8?B?LzM0RWUyQjRsUmFqZ3pEdmFmK3dodGcxSHdabGNkYXgwc2JxSHI4aEpyT1pi?= =?utf-8?B?c1R3SUpSVnNvSlI4U2paTmJaZG4zMHJOU05iSTdoU1lvWDl0a2V3N1FqMHF1?= =?utf-8?B?NWJYRUwyM0NlanprSGpjZWRhV3I5Qm9kMFk0QmRQbVpkVjdDWWc3TGxXNWJH?= =?utf-8?B?QkVZbCtVb3dpUyt3bjBzN1RLczlBVExHaHBKdXZWRWFwRUpjeDkrbTZQbndD?= =?utf-8?B?NHUvZWc0Z3dud1c3aVcrbnVWdE5NV1hTNExia1lOQkxUL1RyblA4UEY3YTla?= =?utf-8?B?WXB1Q01hUDlld3lKWVVETUdkcittcDkyeEdveDJGN2NCQm5yRDVnWU5pRlJ6?= =?utf-8?B?TmtIQjZ1SjFPWVYzdXU5RTZKQXRYRm4wcnEzL2NqV25yY3cxWjZDVTVzcWVP?= =?utf-8?B?SzQxdVBCZ3Q1RU9lY1ArWng1SDhiQ0ZFWVlYcnRkOFNidllYeDh6OURMN2dM?= =?utf-8?B?Rzc2aGZaQTNXMUYxM3JzblRMNG5JVTRUb3pnekxTZHpWVVEyNDZrZVFiRVRV?= =?utf-8?B?NVZMOWRJYk9lVk9JYUxmdlZBU2JPNFFudkZxTU13TlNiTlNSZ1pweHhnbzdL?= =?utf-8?B?aXNYa2xYQ0xjUi94cEVJYlVtNDBuZGxsUXNQT1ZCS2RuVzJ3VS9qNjE4ZldN?= =?utf-8?B?VmNyL1BzUXBoaDJqVVMzQlJiNDRHaUEzYU9IMlRYbUg1U3hvRmZRd01wL2Ev?= =?utf-8?B?R2luaWR4N0MvN3VLU21iODI4VXR5RjFxKzJnYUtzK0hUZk5scmFqbllEL0Mv?= =?utf-8?B?Vm9TMDY0Vld4bmd1aFAxNWNFcytoZlU3NjFNSDluTmJZdmd2ak5kTU5ZNk9i?= =?utf-8?B?UGFRd01tMitXUEVlVlhiQmdCWm5rTGd4MkZxWkU3RzZSUXBmVTdnb3hyZVNV?= =?utf-8?B?N2F2N2JJS2UwZ2lObjluRTgrTXhicDd6eVN4OVFTMjJvdVlmWXlhVjhLL0kr?= =?utf-8?B?UXRuT0t3RXZiQ255T1hKSFNVcUNicjcvWndwVkR3OUtkOHJac2U5c2RCZkxs?= =?utf-8?B?VUNhK1VWRmtaZ0NKWEdQTk5nbys1V2lmSFdua1BPclBsNllLbk9Edz09?= Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 X-Exchange-RoutingPolicyChecked: fhEmqYUe0mMnZkSVcQQAkxFZQ64nTV6WsrOVOPR9V6FyzcWzf9joIFiMc6ll8PvLhJUG/bhveXIOKQmJ9SeHTtVt7PuqDR4/cw3SleZQU7KdH0cWwf1vFjeQumDNpiTlAsGvuNE6lmYVgflS4K/k1EtKnVZ/ah54iB000qlA1CcQeEAwA5LaHhn0FU+2HnRF0xrB3Nm+3nafnim2hZvLApTJfHx+MfoOVAesMtyHOwBKC41LRdqfT4YlTfF+b43gsdMY5CFzQYBvtooZMxgoITgaTmI0ZxiKNvmy5zORep24GOr+dkLoUAg6wITXclojOMEWcmauysyNHthTDVhhfQ== X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SA1PR11MB6846.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9c5a8f3d-4ece-452e-8317-08dee11ecbbd X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Jul 2026 20:39:11.6203 (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: O+LSQrLpjpr9wiKneXII+8+JPU/MRrpcxZWzBOG4WFzS9ERaBJz28ElasmrY+HUUZSj8lLRFCshy/u1X1Uxj4w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM3PPFC3F0DB79B X-OriginatorOrg: intel.com Content-Transfer-Encoding: base64 X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gdb-patches-bounces~public-inbox=simark.ca@sourceware.org SGkgQW5kcmV3LA0KDQpUaGFua3MgZm9yIHRoZSBmZWVkYmFjay4gV2lsbCBhZGRyZXNzIHRoZXNl IGluIHYxNC4gUmVwbGllcyBpbmxpbmU6DQoNCj4+ICs0OiAgICAgICBpbnQgeSA9IDU7DQo+PiAr NDogICAgICAgeCA9IDk5OyAvLyBicmVha3BvaW50LWxpbmUNCg0KQW5kcmV3PkR1cGxpY2F0ZSBs aW5lIG51bWJlciBpbiB0aGlzIGV4YW1wbGUuDQpBYmR1bD5XaWxsIGZpeCBpbiB2MTQuDQoNCj4+ ICsgKGdldF9sYW5nX3ZhcnNfc2hhZG93aW5nX29wdGlvbiAoY3VycmVudF9sYW5ndWFnZS0+bGFf bGFuZ3VhZ2UpDQo+PiArICAgICAgPT0gbGFuZ192YXJzX3NoYWRvd2luZzo6SElERSAmJiBzaGFk b3dlZCAmJiBhbHJlYWR5X3ByaW50ZWQpDQo+PiArICAgIHJldHVybjsNCg0KQW5kcmV3PkkgaGF2 ZW4ndCBjcmVhdGVkIGEgcmVwcm9kdWNlciwgYnV0IEkgdGhpbmsgdGhlcmUncyBhbiBpc3N1ZSBo ZXJlLiAgQnkgdGhlIHRpbWUgd2UgcmVhY2ggdGhpcyBsaW5lIHRoZSBgdHVwbGVfZW1pdHRlcmAg aGFzIGFscmVhZHkgaGFkIGEgdmFsdWUgZW1wbGFjZWQsIEFuZHJldz4gc28gaWYgdGhlIHJ1c3Qg ZWFybHkgcmV0dXJuIHRyaWdnZXJzIHRoZSB0dXBsZV9lbWl0dGVyIGlzIGdvaW5nIHRvIGVtaXQg YW4gZW1wdHkgdHVwbGUgLi4uIGF0IGxlYXN0IEkgdGhpbmsgdGhhdCdzIHdoYXQgd2lsbCBoYXBw ZW4uDQoNCkFuZHJldz5JIHRoaW5rIHRoZSBjb2RlIHRoYXQgZ2l2ZSB0dXBsZV9lbWl0dGVyIGEg dmFsdWUgbmVlZHMgdG8gYmUgYWZ0ZXIgdGhlIHJ1c3QgZWFybHkgcmV0dXJuLg0KDQpBYmR1bD5U ZXN0ZWQgaXQgdXNpbmcgdmFyX3JldXNlLnJzIHJlcHJvZHVjZXIgYWxyZWFkeSBpbmNsdWRlZCBp biBwYXRjaCMxIHVzaW5nIHRoZSAibWkiIGludGVycHJldGVyLiBJdCBjb25maXJtcyB3ZSBnb3Qg ZW1wdHkge30gYXQgdGhlIGVuZCBiZWNhdXNlIG9mIHRoaXMgaXNzdWUuIFNvLCB0dXBsZV9lbWl0 dGVyIGRlY2xhcmF0aW9uIHdpbGwgYmUgbW92ZWQgYWZ0ZXIgdGhlIHJ1c3QgZWFybHkgcmV0dXJu IHRvIHNvbHZlIHRoaXMuDQoNCj4+ICsgICAgICB1aW91dC0+ZmllbGRfdW5zaWduZWQgKCJsaW5l IiwgYXJnLT5zeW0tPm1fbGluZSk7DQoNCkFuZHJldz5JbiB0aGUgbm9uLU1JIHBhdGggeW91IGVu ZGVkIHVwIGhhdmluZyB0byBndWFyZCB0aGUgZXF1aXZhbGVudCBjb2RlIHRvIGhhbmRsZSB0aGUg Y2FzZSB3aGVyZSBzeW10YWIgd2FzIE5VTEwsIGJ1dCBoZXJlIHlvdSBkb24ndCBoYXZlIGEgc2lt aWxhciBndWFyZC4NCg0KQWJkdWw+IFRydWUsIHN5bXRhYiBOVUxMIHZhbHVlIGd1YXJkaW5nIGlz IGJldHRlciB0byBhZGQgaXQgaGVyZSBhbHNvLiBCdXQgdGhlIHNhbWUgdGVzdCBldmVuIGlmIGV4 ZWN1dGVkIGluIE1JIG1vZGUgbWFudWFsbHkgZG9lcyBub3QgdHJpZ2dlciB0aGUgc2ltaWxhciBp c3N1ZSwgV2lsbCBhZGQgdGhlIGd1YXJkIGZvciBzeW10YWIgTlVMTCB2YWx1ZSBpbiBWMTQuDQoN CkFuZHJldz5JIHN1c3BlY3QgeW91IG1pZ2h0IGJlIGFibGUgdG8gYm90aCBzaGFkb3dpbmcgYW5k IG5vIHN5bXRhYiAuLi4gbWF5YmU/DQpBbmRyZXc+V2hlbiBJIHRyaWVkIHRvIHJlcHJvZHVjZSB0 aGlzIEkgd2FzIGVuZGluZyB1cCB3aXRoIGEgc3ltdGFiIHdpdGggdGhlIG5hbWUgIjx1bmtub3du PiIsIEknbGwgbGVhdmUgeW91IHRvIGludmVzdGlnYXRlIHRoaXMgbW9yZS4NCg0KQWJkdWw+SXTi gJlzIHRoZSBzYW1lIGNhc2UgbGlrZSB0aGUgb3RoZXIgcGF0Y2ggYXMgdGhlcmUgaXMgbm8gcmVh c29uIHdoeSBpdCBjYW5ub3QuIFNvIGluIGFueSBjYXNlIEkgd2lsbCBhZGQgdGhlIGd1YXJkIGZv ciBOVUxMIGhlcmUuDQogDQoNCkFuZHJldz5BZGRpdGlvbmFsbHksIGhlcmUsIGlmIHlvdSBsb29r IGF0IHRoZSBmdW5jdGlvbiBgbWlfc3ltYm9sX2luZm9gIGFuZCBgb3V0cHV0X21vZHVsZV9zeW1i b2xzX2luX3NpbmdsZV9tb2R1bGVfYW5kX2ZpbGVgIHlvdSdsbCBzZWUgdGhleSBhbHdheXMgZW1p dCB0d28gc3RyaW5ncywgImZpbGVuYW1lIiBhbmQgImZ1bGxuYW1lIiwgSSB0aGluayB0aGF0IHlv dSBzaG91bGQgZm9sbG93IHRoZSBzYW1lIHBhdHRlcm4gaGVyZS4NCg0KQWJkdWw+IFdpbGwgdXBk YXRlIGluIHYxNCAgdG8gcHJpbnQgYm90aCAiZmlsZW5hbWUiIGFuZCAiZnVsbG5hbWUiIHNpbWls YXIgdG8gIm1pX3N5bWJvbF9pbmZvIi4NCg0KQW5kcmV3PkFsc28sIHRoZSBhY2Nlc3MgdG8gbV9s aW5lIHNob3VsZCBiZSBkb25lIHZpYSB0aGUgcHVibGljICdsaW5lICgpJw0KDQpBYmR1bD5XaWxs IGZpeCBpbiB2MTQgcGF0Y2guDQoNCkFuZHJldz5CdXQgdGhpcyBidWcgZXhpc3RzIGJlZm9yZSB0 aGlzIHBhdGNoLCBzbyBpdCdzIG5vdCB5b3VycyB0byBmaXguDQoNCkFuZHJldz5Zb3UgY291bGQg aG93ZXZlciBjb252ZXJ0IFBSSU5UX01FIGZyb20gJ2ludCcgdG8gJ2Jvb2wnLCB0aGF0IHdvdWxk IGJlIGEgc2ltcGxlIGZpeC4NCg0KQWJkdWw+IFdpbGwgY29udmVydCBQUklOVF9NRSBmcm9tICdp bnQnIHRvICdib29sJyBpbiB2MTQuDQoNCj4+ICsgIHN3aXRjaCAoc3ltLT5sb2NfY2xhc3MgKCkp DQo+PiArICAgIHsNCj4+ICsgICAgICBkZWZhdWx0Og0KPj4gKwljYXNlIExPQ19VTkRFRjogICAg IC8qIGNhdGNoZXMgZXJyb3JzICAgICAgICAqLw0KPj4gKwljYXNlIExPQ19DT05TVDogICAgIC8q IGNvbnN0YW50ICAgICAgICAgICAgICAqLw0KDQpBbmRyZXc+QW5kIHRoZSBpbmRlbnRhdGlvbiBv ZiB0aGUgJ2RlZmF1bHQnIGFuZCAnY2FzZSAuLi4nIHN0YXRlbWVudHMgc2VlbXMgdG8gYmUgbWVz c2VkIHVwLiAgTGlrZWx5IGV2ZXJ5dGhpbmcgd2l0aGluIHRoZSBzd2l0Y2ggbmVlZHMgdG8gYmUg cmUtaW5kZW50ZWQgSSB0aGluay4NCg0KQWJkdWw+V2lsbCBmaXggaW4gdjE0Lg0KDQoNCj4+ICtp ZiBbYnVpbGRfZXhlY3V0YWJsZSAke3Rlc3RmaWxlfS5leHAgJHt0ZXN0ZmlsZX0gJHtzcmNmaWxl fSAkb3B0c10gew0KPj4gKyAgICByZXR1cm4gLTENCg0KQW5kcmV3Pkp1c3QgJ3JldHVybicgYXQg dGhlIHRvcCBsZXZlbCwgbm8gLTEgbmVlZGVkLg0KQWJkdWw+V2lsbCBmaXggaW4gdjE0Lg0KDQpU aGFua3MgJiBCZXN0IFJlZ2FyZHMNCkFiZHVsIEJhc2l0DQoNCi0tLS0tT3JpZ2luYWwgTWVzc2Fn ZS0tLS0tDQpGcm9tOiBBbmRyZXcgQnVyZ2VzcyA8YWJ1cmdlc3NAcmVkaGF0LmNvbT4gDQpTZW50 OiBNb25kYXksIEp1bHkgMTMsIDIwMjYgNToxMSBQTQ0KVG86IElqYXosIEFiZHVsIEIgPGFiZHVs LmIuaWphekBpbnRlbC5jb20+OyBnZGItcGF0Y2hlc0Bzb3VyY2V3YXJlLm9yZw0KQ2M6IHBlZHJv QHBhbHZlcy5uZXQ7IHBoaWxpcHBlLndhcm9xdWllcnNAc2t5bmV0LmJlOyBTY2hpbXBlLCBDaHJp c3RpbmEgPGNocmlzdGluYS5zY2hpbXBlQGludGVsLmNvbT47IGxzaXhAbGFuY2Vsb3RzaXguY29t OyBlbGl6QGdudS5vcmc7IElqYXosIEFiZHVsIEIgPGFiZHVsLmIuaWphekBpbnRlbC5jb20+OyBn dWluZXZlcmVAcmVkaGF0LmNvbQ0KU3ViamVjdDogUmU6IFtQQVRDSCB2MTMgMi8yXSBnZGI6IGFk ZCBzaGFkb3dlZCBmaWVsZCBpbiAnLXN0YWNrLWxpc3QtbG9jYWxzL3ZhcmlhYmxlcycgbWkgY29t bWFuZHMNCg0KDQpUaGFuayB5b3UgZm9yIGNvbnRpbnVpbmcgdG8gd29yayBvbiB0aGlzIGZlYXR1 cmUuICBJIGhhdmUgc29tZSBjb21tZW50cyBpbmxpbmUgYmVsb3cuDQoNCg0KQWJkdWwgQmFzaXQg SWpheiA8YWJkdWwuYi5pamF6QGludGVsLmNvbT4gd3JpdGVzOg0KDQo+IEZyb206ICJJamF6LCBB YmR1bCBCIiA8YWJkdWwuYi5pamF6QGludGVsLmNvbT4NCj4NCj4gRm9yIEMvQysrL0ZvcnRyYW4g bGFuZ3VhZ2VzIEdEQiBwcmludHMgc2FtZSBuYW1lIHZhcmlhYmxlIG11bHRpcGxlIA0KPiB0aW1l cyBpbiBjYXNlIG9mIHZhcmlhYmxlIHNoYWRvd2luZyBhbmQgaXQgaXMgY29uZnVzaW5nIGZvciB1 c2VyIHRvIA0KPiBpZGVudGlmeSB3aGljaCB2YXJpYWJsZSBiZWxvbmdzIHRvIHRoZSBjdXJyZW50 IHNjb3BlLiAgU28gR0RCIG5vdyANCj4gcHJpbnRzIGxvY2F0aW9uIGluZm9ybWF0aW9uIGZvciBz aGFkb3dlZCB2YXJpYWJsZXMgYW5kIGFkZCAnc2hhZG93ZWQnIGZpZWxkIGFsc28gaW4gJy1zdGFj ay1saXN0LWxvY2FscycNCj4gYW5kICctc3RhY2stbGlzdC12YXJpYWJsZXMnIG1pIGNvbW1hbmRz IGZvciBzdXBlci1ibG9jayBzaGFkb3dlZCB2YXJpYWJsZS4NCj4NCj4gU3VwcG9zZSB3ZSBoYXZl IHRlc3QuYyBmaWxlDQo+DQo+IDE6aW50IHggPSA0MjsNCj4gMjogIHsNCj4gMzogICAgaW50IHgg PSA5OTsNCj4gNDogICAgaW50IHkgPSA1MjsNCj4gNTogICAgeCA9IDk5OyAvKiBicmVhayBoZXJl ICovDQo+IDY6ICB9DQo+DQo+IFRoZSAiLXN0YWNrLWxpc3QtbG9jYWxzIiBhbmQgIi1zdGFjay1s aXN0LXZhcmlhYmxlcyIgbWkgY29tbWFuZHMgYXQgDQo+IHRoZSAiYnJlYWsgaGVyZSIgbGluZSBn aXZlcyB0aGUgZm9sbG93aW5nIG91dHB1dDoNCj4NCj4gQmVmb3JlIHRoZSBjaGFuZ2U6DQo+DQo+ IH5+fg0KPiAoZ2RiKQ0KPiAtc3RhY2stbGlzdC1sb2NhbHMgMA0KPiBeZG9uZSxsb2NhbHM9W25h bWU9IngiLG5hbWU9InkiLG5hbWU9IngiXQ0KPiAoZ2RiKQ0KPiAtc3RhY2stbGlzdC1sb2NhbHMg MQ0KPiBeZG9uZSxsb2NhbHM9W3tuYW1lPSJ4Iix2YWx1ZT0iOTkifSx7bmFtZT0ieSIsdmFsdWU9 IjUyIn0se25hbWU9IngiLHZhDQo+IGx1ZT0iNDIifV0NCj4gKGdkYikNCj4gLXN0YWNrLWxpc3Qt bG9jYWxzIDINCj4gXmRvbmUsbG9jYWxzPVt7bmFtZT0ieCIsdHlwZT0iaW50Iix2YWx1ZT0iOTki fSx7bmFtZT0ieSIsdHlwZT0iaW50Iix2YQ0KPiBsdWU9IjUyIn0se25hbWU9IngiLHR5cGU9Imlu dCIsdmFsdWU9IjQyIn1dDQo+IChnZGIpDQo+IC1zdGFjay1saXN0LXZhcmlhYmxlcyAwDQo+IF5k b25lLHZhcmlhYmxlcz1be25hbWU9IngifSx7bmFtZT0ieSJ9LHtuYW1lPSJ4In1dDQo+IChnZGIp DQo+IC1zdGFjay1saXN0LXZhcmlhYmxlcyAxDQo+IF5kb25lLHZhcmlhYmxlcz1be25hbWU9Ingi LHZhbHVlPSI5OSJ9LHtuYW1lPSJ5Iix2YWx1ZT0iNTIifSx7bmFtZT0ieCINCj4gLHZhbHVlPSI0 MiJ9XQ0KPiAoZ2RiKQ0KPiAtc3RhY2stbGlzdC12YXJpYWJsZXMgMg0KPiBeZG9uZSx2YXJpYWJs ZXM9W3tuYW1lPSJ4Iix0eXBlPSJpbnQiLHZhbHVlPSI5OSJ9LHtuYW1lPSJ5Iix0eXBlPSJpbnQi DQo+ICx2YWx1ZT0iNTIifSx7bmFtZT0ieCIsdHlwZT0iaW50Iix2YWx1ZT0iNDIifV0NCj4gfn5+ DQo+DQo+IFdpdGggdGhpcyBwYXRjaCB3ZSBvYnRhaW46DQo+DQo+IH5+fg0KPiAoZ2RiKQ0KPiAt c3RhY2stbGlzdC1sb2NhbHMgMA0KPiBeZG9uZSxsb2NhbHM9W25hbWU9IngiLG5hbWU9InkiLG5h bWU9IngiXQ0KPiAoZ2RiKQ0KPiAtc3RhY2stbGlzdC1sb2NhbHMgMQ0KPiBeZG9uZSxsb2NhbHM9 W3tuYW1lPSJ4Iix2YWx1ZT0iOTkiLGZpbGU9Ii9ob21lL3NyYy90ZXN0LmMiLGxpbmU9IjUifSx7 DQo+IG5hbWU9InkiLHZhbHVlPSI1MiJ9LHtuYW1lPSJ4Iix2YWx1ZT0iNDIiLGZpbGU9Ii9ob21l L3NyYy90ZXN0LmMiLGxpbmUNCj4gPSIyIixzaGFkb3dlZD0idHJ1ZSJ9XQ0KPiAoZ2RiKQ0KPiAt c3RhY2stbGlzdC1sb2NhbHMgMg0KPiBeZG9uZSxsb2NhbHM9W3tuYW1lPSJ4Iix0eXBlPSJpbnQi LHZhbHVlPSI5OSIsZmlsZT0iL2hvbWUvc3JjL3Rlc3QuYyIsDQo+IGxpbmU9IjUifSx7bmFtZT0i eSIsdHlwZT0iaW50Iix2YWx1ZT0iNTIifSx7bmFtZT0ieCIsdHlwZT0iaW50Iix2YWx1ZT0NCj4g IjQyIixmaWxlPSIvaG9tZS9zcmMvdGVzdC5jIixsaW5lPSIyIixzaGFkb3dlZD0idHJ1ZSJ9XQ0K PiAoZ2RiKQ0KPiAtc3RhY2stbGlzdC12YXJpYWJsZXMgMA0KPiBeZG9uZSx2YXJpYWJsZXM9W3tu YW1lPSJ4IixmaWxlPSIvaG9tZS9zcmMvdGVzdC5jIixsaW5lPSI1In0se25hbWU9InkiDQo+IH0s e25hbWU9IngiLGZpbGU9Ii9ob21lL3NyYy90ZXN0LmMiLGxpbmU9IjIiLHNoYWRvd2VkPSJ0cnVl In1dDQo+IChnZGIpDQo+IC1zdGFjay1saXN0LXZhcmlhYmxlcyAxDQo+IF5kb25lLHZhcmlhYmxl cz1be25hbWU9IngiLHZhbHVlPSI5OSIsZmlsZT0iL2hvbWUvc3JjL3Rlc3QuYyIsbGluZT0iNCIN Cj4gfSx7bmFtZT0ieSIsdmFsdWU9IjUyIn0se25hbWU9IngiLHZhbHVlPSI0MiIsZmlsZT0iL2hv bWUvc3JjL3Rlc3QuYyIsbA0KPiBpbmU9IjIiLHNoYWRvd2VkPSJ0cnVlIn1dDQo+IChnZGIpDQo+ IC1zdGFjay1saXN0LXZhcmlhYmxlcyAyDQo+IF5kb25lLHZhcmlhYmxlcz1be25hbWU9IngiLHR5 cGU9ImludCIsdmFsdWU9Ijk5IixmaWxlPSIvaG9tZS9zcmMvdGVzdC4NCj4gYyIsbGluZT0iNCJ9 LHtuYW1lPSJ5Iix0eXBlPSJpbnQiLHZhbHVlPSI1MiJ9LHtuYW1lPSJ4Iix0eXBlPSJpbnQiLHZh bA0KPiB1ZT0iNDIiLGZpbGU9Ii9ob21lL3NyYy90ZXN0LmMiLGxpbmU9IjIiLHNoYWRvd2VkPSJ0 cnVlIn1dDQo+IH5+fg0KPiBSZXZpZXdlZC1CeTogR3VpbmV2ZXJlIExhcnNlbiA8Z3VpbmV2ZXJl QHJlZGhhdC5jb20+DQo+IC0tLQ0KPiAgZ2RiL05FV1MgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfCAgIDQgKw0KPiAgZ2RiL2RvYy9nZGIudGV4aW5mbyAgICAgICAgICAgICAgICAg ICAgICAgfCAgMjEgKysrKw0KPiAgZ2RiL21pL21pLWNtZC1zdGFjay5jICAgICAgICAgICAgICAg ICAgICAgfCAxMjkgKysrKysrKysrKysrKystLS0tLS0NCj4gIGdkYi90ZXN0c3VpdGUvZ2RiLm1p L21pLXZhci1zaGFkb3dpbmcuYyAgIHwgIDUwICsrKysrKysrDQo+ICBnZGIvdGVzdHN1aXRlL2dk Yi5taS9taS12YXItc2hhZG93aW5nLmV4cCB8IDE0MSANCj4gKysrKysrKysrKysrKysrKysrKysr Kw0KPiAgNSBmaWxlcyBjaGFuZ2VkLCAzMTAgaW5zZXJ0aW9ucygrKSwgMzUgZGVsZXRpb25zKC0p ICBjcmVhdGUgbW9kZSANCj4gMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLm1pL21pLXZhci1zaGFk b3dpbmcuYw0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLm1pL21pLXZh ci1zaGFkb3dpbmcuZXhwDQo+DQo+IGRpZmYgLS1naXQgYS9nZGIvTkVXUyBiL2dkYi9ORVdTDQo+ IGluZGV4IDY4MDdhNmM5NjZiLi40ODNkMjAxM2U0MSAxMDA2NDQNCj4gLS0tIGEvZ2RiL05FV1MN Cj4gKysrIGIvZ2RiL05FV1MNCj4gQEAgLTU5Myw2ICs1OTMsMTAgQEAgbXVsdGktd3AtYWRkciBp biBxU3VwcG9ydGVkDQo+ICAgICBtdWx0aXBsZSB0aW1lcywgYW5kIHRoZSBzYW1lIG1hcHBpbmcg d2FzIGJlaW5nIHJldXNlZC4gIEluIGFsbA0KPiAgICAgb3RoZXIgY2FzZXMsIHRoaXMgZmllbGQg d2lsbCBoYXZlIHRoZSB2YWx1ZSAnZmFsc2UnLg0KPiAgDQo+ICsqKiBHREIgbm93IHNob3dzICJz aGFkb3dlZCIsICJmaWxlIiBhbmQgImxpbmUiIGZpZWxkcyBpbiB0aGUgb3V0cHV0DQo+ICsgICBv ZiAnLXN0YWNrLWxpc3QtbG9jYWxzL3ZhcmlhYmxlcycgbWkgY29tbWFuZHMgZm9yIHZhcmlhYmxl cw0KPiArICAgc2hhZG93aW5nIGNhc2UuDQo+ICsNCj4gICogU3VwcG9ydCBmb3Igc3RhYnMgZGVi dWdnaW5nIGZvcm1hdCBhbmQgdGhlIGEub3V0L2RieCBvYmplY3QgZm9ybWF0IGlzDQo+ICAgIGRl cHJlY2F0ZWQsIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gR0RCIDE4Lg0KPiAgDQo+IGRpZmYgLS1n aXQgYS9nZGIvZG9jL2dkYi50ZXhpbmZvIGIvZ2RiL2RvYy9nZGIudGV4aW5mbyBpbmRleCANCj4g ZWUzM2JmZGJhMTMuLjY0YTEzNDVlMmYyIDEwMDY0NA0KPiAtLS0gYS9nZGIvZG9jL2dkYi50ZXhp bmZvDQo+ICsrKyBiL2dkYi9kb2MvZ2RiLnRleGluZm8NCj4gQEAgLTM1NTg1LDYgKzM1NTg1LDI3 IEBAIElmIHRoZSBAY29kZXstLXNraXAtdW5hdmFpbGFibGV9IG9wdGlvbiBpcyANCj4gc3BlY2lm aWVkLCBsb2NhbCB2YXJpYWJsZXMgIGFuZCBhcmd1bWVudHMgdGhhdCBhcmUgbm90IGF2YWlsYWJs ZSBhcmUgDQo+IG5vdCBsaXN0ZWQuICBQYXJ0aWFsbHkgIGF2YWlsYWJsZSBhcmd1bWVudHMgYW5k IGxvY2FsIHZhcmlhYmxlcyBhcmUgc3RpbGwgZGlzcGxheWVkLCBob3dldmVyLg0KPiAgDQo+ICtA c21hbGxleGFtcGxlDQo+ICtAZ3JvdXANCj4gKzE6IGludCB4ID0gMzsNCj4gKzI6IEB7DQo+ICsz OiAgICAgICBpbnQgeCA9IDQ7DQo+ICs0OiAgICAgICBpbnQgeSA9IDU7DQo+ICs0OiAgICAgICB4 ID0gOTk7IC8vIGJyZWFrcG9pbnQtbGluZQ0KDQpEdXBsaWNhdGUgbGluZSBudW1iZXIgaW4gdGhp cyBleGFtcGxlLg0KDQo+ICs1OiBAfQ0KPiArQGVuZCBncm91cA0KPiArQGdyb3VwDQo+ICsoZ2Ri KSAtc3RhY2stbGlzdC12YXJpYWJsZXMgMg0KPiArXmRvbmUsdmFyaWFibGVzPVtAe25hbWU9Ingi LHR5cGU9ImludCIsdmFsdWU9IjQiLA0KPiArZmlsZT0iL2hvbWUvc3JjL25hbWUuYyIsbGluZT0i MyJAfSxAe25hbWU9InkiLHR5cGU9ImludCIsdmFsdWU9IjUiLA0KPiArZmlsZT0iL2hvbWUvc3Jj L25hbWUuYyIsbGluZT0iNCJAfSxAe25hbWU9IngiLHR5cGU9ImludCIsdmFsdWU9IjMiLA0KPiAr ZmlsZT0iL2hvbWUvc3JjL25hbWUuYyIsbGluZT0iMSIsc2hhZG93ZWQ9InRydWUiQH1dDQo+ICtA ZW5kIGdyb3VwDQo+ICtAZW5kIHNtYWxsZXhhbXBsZQ0KPiArDQo+ICtUaGUgbG9jYXRpb24gaW5m b3JtYXRpb24gYW5kIEBzYW1we3NoYWRvd2VkfSBhdHRyaWJ1dGUgaXMgb25seSBhZGRlZCANCj4g K2ZvciBzaGFkb3dlZCB2YXJpYWJsZXMgKEBweHJlZntzaGFkb3dlZCB2YXJpYWJsZXN9KS4NCj4g Kw0KPiAgQHN1YnN1YmhlYWRpbmcgRXhhbXBsZQ0KPiAgDQo+ICBAc21hbGxleGFtcGxlDQo+IGRp ZmYgLS1naXQgYS9nZGIvbWkvbWktY21kLXN0YWNrLmMgYi9nZGIvbWkvbWktY21kLXN0YWNrLmMg aW5kZXggDQo+IDI4MGEwOGQxMjFlLi4zODk1NWNjNjk3YiAxMDA2NDQNCj4gLS0tIGEvZ2RiL21p L21pLWNtZC1zdGFjay5jDQo+ICsrKyBiL2dkYi9taS9taS1jbWQtc3RhY2suYw0KPiBAQCAtMzIs NiArMzIsNyBAQA0KPiAgI2luY2x1ZGUgIm1pLXBhcnNlLmgiDQo+ICAjaW5jbHVkZSA8b3B0aW9u YWw+DQo+ICAjaW5jbHVkZSAiaW5mZXJpb3IuaCINCj4gKyNpbmNsdWRlICJnZGJzdXBwb3J0L3Vu b3JkZXJlZF9tYXAuaCINCj4gIA0KPiAgZW51bSB3aGF0X3RvX2xpc3QgeyBsb2NhbHMsIGFyZ3Vt ZW50cywgYWxsIH07DQo+ICANCj4gQEAgLTQ5MCw3ICs0OTEsOSBAQCBtaV9jbWRfc3RhY2tfbGlz dF92YXJpYWJsZXMgKGNvbnN0IGNoYXIgKmNvbW1hbmQsIA0KPiBjb25zdCBjaGFyICpjb25zdCAq YXJndiwgIHN0YXRpYyB2b2lkICBsaXN0X2FyZ19vcl9sb2NhbCAoY29uc3Qgc3RydWN0IA0KPiBm cmFtZV9hcmcgKmFyZywgZW51bSB3aGF0X3RvX2xpc3Qgd2hhdCwNCj4gIAkJICAgZW51bSBwcmlu dF92YWx1ZXMgdmFsdWVzLCBpbnQgc2tpcF91bmF2YWlsYWJsZSwNCj4gLQkJICAgY29uc3QgZnJh bWVfcHJpbnRfb3B0aW9ucyAmZnBfb3B0cykNCj4gKwkJICAgY29uc3QgZnJhbWVfcHJpbnRfb3B0 aW9ucyAmZnBfb3B0cywNCj4gKwkJICAgY29uc3QgZ2RiOjp1bm9yZGVyZWRfc2V0PHN0ZDo6c3Ry aW5nPiAqc2hhZG93ZWRfdmFycywNCj4gKwkJICAgZ2RiOjp1bm9yZGVyZWRfc2V0PHN0ZDo6c3Ry aW5nPiAmcHJpbnRlZF92YXJzKQ0KPiAgew0KPiAgICBzdHJ1Y3QgdWlfb3V0ICp1aW91dCA9IGN1 cnJlbnRfdWlvdXQ7DQo+ICANCj4gQEAgLTUxOSw2ICs1MjIsMTkgQEAgbGlzdF9hcmdfb3JfbG9j YWwgKGNvbnN0IHN0cnVjdCBmcmFtZV9hcmcgKmFyZywgZW51bSB3aGF0X3RvX2xpc3Qgd2hhdCwN Cj4gICAgICB0dXBsZV9lbWl0dGVyLmVtcGxhY2UgKHVpb3V0LCBudWxscHRyKTsNCj4gIA0KPiAg ICBzdHJpbmdfZmlsZSBzdGI7DQo+ICsgIGNvbnN0IGNoYXIgKm5hbWUgPSBhcmctPnN5bS0+cHJp bnRfbmFtZSAoKTsNCj4gKyAgLyogVG8gZGlzdGluZ3Vpc2ggaW5uZXJtb3N0IHZhcmlhYmxlIGZy b20gdGhlIHJlc3QgaW4gdGhlIHNoYWRvd2VkX3ZhcnMNCj4gKyAgICAgdGhpcyBib29sZW4gaXMg bmVlZGVkLiAgKi8NCg0KVHlwbzogcy9ib29sZW4vYm9vbGVhbi8NCg0KPiArICBib29sIGFscmVh ZHlfcHJpbnRlZCA9ICFwcmludGVkX3ZhcnMuaW5zZXJ0IChuYW1lKS5zZWNvbmQ7ICBib29sIA0K PiArIHNoYWRvd2VkID0gc2hhZG93ZWRfdmFycy0+ZmluZCAobmFtZSkgIT0gc2hhZG93ZWRfdmFy cy0+ZW5kICgpOw0KPiArDQo+ICsgIC8qIEluIGNhc2Ugb2YgUnVzdCBsYW5ndWFnZSBpdCBpcyBw b3NzaWJsZSB0byBkZWNsYXJlIHZhcmlhYmxlIHdpdGgNCj4gKyAgICAgc2FtZSBuYW1lIG11bHRp cGxlIHRpbWVzIGFuZCBvbmx5IGxhdGVzdCBkZWNsYXJhdGlvbiBvZiB2YXJpYWJsZQ0KPiArICAg ICBpcyBhY2Nlc3NpYmxlLiAgU28gcHJpbnQgb25seSB0aGUgZmlyc3QgaW5zdGFuY2UgYW5kIHRo ZXJlIGlzIG5vDQo+ICsgICAgIG5lZWQgb2YgcHJpbnRpbmcgZHVwbGljYXRlcy4gICovICBpZiAN Cj4gKyAoZ2V0X2xhbmdfdmFyc19zaGFkb3dpbmdfb3B0aW9uIChjdXJyZW50X2xhbmd1YWdlLT5s YV9sYW5ndWFnZSkNCj4gKyAgICAgID09IGxhbmdfdmFyc19zaGFkb3dpbmc6OkhJREUgJiYgc2hh ZG93ZWQgJiYgYWxyZWFkeV9wcmludGVkKQ0KPiArICAgIHJldHVybjsNCg0KSSBoYXZlbid0IGNy ZWF0ZWQgYSByZXByb2R1Y2VyLCBidXQgSSB0aGluayB0aGVyZSdzIGFuIGlzc3VlIGhlcmUuICBC eSB0aGUgdGltZSB3ZSByZWFjaCB0aGlzIGxpbmUgdGhlIGB0dXBsZV9lbWl0dGVyYCBoYXMgYWxy ZWFkeSBoYWQgYSB2YWx1ZSBlbXBsYWNlZCwgc28gaWYgdGhlIHJ1c3QgZWFybHkgcmV0dXJuIHRy aWdnZXJzIHRoZSB0dXBsZV9lbWl0dGVyIGlzIGdvaW5nIHRvIGVtaXQgYW4gZW1wdHkgdHVwbGUg Li4uIGF0IGxlYXN0IEkgdGhpbmsgdGhhdCdzIHdoYXQgd2lsbCBoYXBwZW4uDQoNCkkgdGhpbmsg dGhlIGNvZGUgdGhhdCBnaXZlIHR1cGxlX2VtaXR0ZXIgYSB2YWx1ZSBuZWVkcyB0byBiZSBhZnRl ciB0aGUgcnVzdCBlYXJseSByZXR1cm4uDQoNCj4gIA0KPiAgICBzdGIucHV0cyAoYXJnLT5zeW0t PnByaW50X25hbWUgKCkpOw0KPiAgICBpZiAoYXJnLT5lbnRyeV9raW5kID09IHByaW50X2VudHJ5 X3ZhbHVlc19vbmx5KSBAQCAtNTYwLDYgKzU3Niw1OSANCj4gQEAgbGlzdF9hcmdfb3JfbG9jYWwg KGNvbnN0IHN0cnVjdCBmcmFtZV9hcmcgKmFyZywgZW51bSB3aGF0X3RvX2xpc3Qgd2hhdCwNCj4g IAl9DQo+ICAgICAgICB1aW91dC0+ZmllbGRfc3RyZWFtICgidmFsdWUiLCBzdGIpOw0KPiAgICAg IH0NCj4gKw0KPiArICAvKiBPbmx5IGZvciBDL0MrKy9Gb3J0cmFuL0FkYSBsYW5ndWFnZXMsIGlu IGNhc2Ugb2YgdmFyaWFibGVzIHNoYWRvd2luZw0KPiArICAgICBwcmludCBzaGFkb3dlZCBmaWVs ZCBhZnRlciB0aGUgc3VwZXJibG9jayB2YXJpYWJsZSBhbmQgb25seSBsb2NhdGlvbg0KPiArICAg ICBvZiB0aGUgdmFyaWFibGVzIGluIHRoZSBpbm5lcmJsb2NrLiAgKi8gIGlmIA0KPiArIChnZXRf bGFuZ192YXJzX3NoYWRvd2luZ19vcHRpb24gKGN1cnJlbnRfbGFuZ3VhZ2UtPmxhX2xhbmd1YWdl KQ0KPiArICAgICAgPT0gbGFuZ192YXJzX3NoYWRvd2luZzo6UFJJTlQgJiYgc2hhZG93ZWQNCj4g KyAgICAgICYmICEodmFsdWVzID09IFBSSU5UX05PX1ZBTFVFUyAmJiB3aGF0ID09IGxvY2Fscykp DQo+ICsgICAgew0KPiArICAgICAgdWlvdXQtPmZpZWxkX3N0cmluZyAoImZpbGUiLCBhcmctPnN5 bS0+c3ltdGFiICgpLT5maWxlbmFtZSAoKSk7DQo+ICsgICAgICB1aW91dC0+ZmllbGRfdW5zaWdu ZWQgKCJsaW5lIiwgYXJnLT5zeW0tPm1fbGluZSk7DQoNCkluIHRoZSBub24tTUkgcGF0aCB5b3Ug ZW5kZWQgdXAgaGF2aW5nIHRvIGd1YXJkIHRoZSBlcXVpdmFsZW50IGNvZGUgdG8gaGFuZGxlIHRo ZSBjYXNlIHdoZXJlIHN5bXRhYiB3YXMgTlVMTCwgYnV0IGhlcmUgeW91IGRvbid0IGhhdmUgYSBz aW1pbGFyIGd1YXJkLg0KDQpJIHN1c3BlY3QgdGhlIGlzc3VlIGhlcmUgaXMgdGhhdCB0aGUgdGVz dCB5b3UgcXVvdGUgZm9yIHRoZSBub24tTUkgcGF0aCBnZGIuZHdhcmYyL21pc3NpbmctdHlwZS1u YW1lLWZvci10ZW1wbGF0ZXMuZXhwLCBkb2Vzbid0IGhhdmUgc2hhZG93aW5nLCBidXQgZG9lcyBo YXZlIHRoZSBtaXNzaW5nIHN5bXRhYiBjYXNlLiAgSW4gdGhlIG5vbi1NSSBjb2RlIHlvdSB1c2Ug dGhlIHN5bXRhYiBldmVuIHdoZW4gc2hhZG93aW5nIGRpZG4ndCBvY2N1ciAoSSBzdWdnZXN0ZWQg bW92aW5nIHRoZSBjb2RlKSwgd2hpY2ggaXMgd2h5IHlvdSBoaXQgdGhlIGlzc3VlLCBidXQgSSBz dXNwZWN0IHlvdSBtaWdodCBiZSBhYmxlIHRvIGJvdGggc2hhZG93aW5nIGFuZCBubyBzeW10YWIg Li4uIG1heWJlPw0KDQpXaGVuIEkgdHJpZWQgdG8gcmVwcm9kdWNlIHRoaXMgSSB3YXMgZW5kaW5n IHVwIHdpdGggYSBzeW10YWIgd2l0aCB0aGUgbmFtZSAiPHVua25vd24+IiwgSSdsbCBsZWF2ZSB5 b3UgdG8gaW52ZXN0aWdhdGUgdGhpcyBtb3JlLg0KDQpBZGRpdGlvbmFsbHksIGhlcmUsIGlmIHlv dSBsb29rIGF0IHRoZSBmdW5jdGlvbiBgbWlfc3ltYm9sX2luZm9gIGFuZCBgb3V0cHV0X21vZHVs ZV9zeW1ib2xzX2luX3NpbmdsZV9tb2R1bGVfYW5kX2ZpbGVgIHlvdSdsbCBzZWUgdGhleSBhbHdh eXMgZW1pdCB0d28gc3RyaW5ncywgImZpbGVuYW1lIiBhbmQgImZ1bGxuYW1lIiwgSSB0aGluayB0 aGF0IHlvdSBzaG91bGQgZm9sbG93IHRoZSBzYW1lIHBhdHRlcm4gaGVyZS4NCg0KQWxzbywgdGhl IGFjY2VzcyB0byBtX2xpbmUgc2hvdWxkIGJlIGRvbmUgdmlhIHRoZSBwdWJsaWMgJ2xpbmUgKCkn DQptZXRob2QuICBPbmUgZGF5IG1heWJlIHdlJ2xsIGV2ZW4gbWFrZSB0aGVzZSBtZW1iZXIgdmFy aWFibGVzIHByaXZhdGUuDQoNCj4gKyAgICAgIGlmIChhbHJlYWR5X3ByaW50ZWQpDQo+ICsJdWlv dXQtPmZpZWxkX3N0cmluZyAoInNoYWRvd2VkIiwgInRydWUiKTsNCj4gKyAgICB9DQo+ICt9DQo+ ICsNCj4gKy8qIFJldHVybnMgdHJ1ZSBpZiBhZGRyZXNzX2NsYXNzIGNhbiBiZSBwcmludGVkLCBv dGhlcndpc2UgcmV0dXJucyANCj4gK2ZhbHNlLiAgKi8NCj4gKw0KPiArc3RhdGljIGJvb2wNCj4g K2Nhbl9wcmludF9hY2xhc3MgKHN0cnVjdCBzeW1ib2wgKnN5bSwgZW51bSB3aGF0X3RvX2xpc3Qg d2hhdCkgew0KPiArICBpbnQgcHJpbnRfbWUgPSBmYWxzZTsNCj4gKw0KPiArICBzd2l0Y2ggKHN5 bS0+bG9jX2NsYXNzICgpKQ0KPiArICAgIHsNCj4gKyAgICAgIGRlZmF1bHQ6DQo+ICsJY2FzZSBM T0NfVU5ERUY6ICAgICAvKiBjYXRjaGVzIGVycm9ycyAgICAgICAgKi8NCj4gKwljYXNlIExPQ19D T05TVDogICAgIC8qIGNvbnN0YW50ICAgICAgICAgICAgICAqLw0KPiArCWNhc2UgTE9DX1RZUEVE RUY6ICAgLyogbG9jYWwgdHlwZWRlZiAgICAgICAgICovDQo+ICsJY2FzZSBMT0NfTEFCRUw6ICAg ICAvKiBsb2NhbCBsYWJlbCAgICAgICAgICAgKi8NCj4gKwljYXNlIExPQ19CTE9DSzogICAgIC8q IGxvY2FsIGZ1bmN0aW9uICAgICAgICAqLw0KPiArCWNhc2UgTE9DX0NPTlNUX0JZVEVTOiAgICAg ICAvKiBsb2MuIGJ5dGUgc2VxLiAgICAgICAgKi8NCj4gKwljYXNlIExPQ19VTlJFU09MVkVEOiAg ICAgICAgLyogdW5yZXNvbHZlZCBzdGF0aWMgICAgICovDQo+ICsJY2FzZSBMT0NfT1BUSU1JWkVE X09VVDogICAgIC8qIG9wdGltaXplZCBvdXQgICAgICAgICAqLw0KPiArCSAgcHJpbnRfbWUgPSBm YWxzZTsNCj4gKwkgIGJyZWFrOw0KDQpOb3Qgc29tZXRoaW5nIEkgdGhpbmsgeW91IG5lZWQgdG8g Zml4IGFzIHRoaXMgaXMgbW92ZWQgY29kZSwgYnV0IEkgbm90aWNlZCBpdCB3aGlsZSByZXZpZXdp bmcgdGhpcyBwYXRjaCAtLSB0aGlzIHN3aXRjaCBpcyBhbG1vc3QgY2VydGFpbmx5IHdyb25nLiBU aGVyZSdzIG5vIHJlYXNvbiB3aHkgd2UgY2Fubm90IHByaW50IExPQ19DT05TVCB2YXJpYWJsZXMs IGUuZy4gdmFyaWFibGVzIGRlZmluZWQgd2l0aCBEV19BVF9jb25zdF92YWx1ZS4gIEFsc28gTE9D X09QVElNSVpFRF9PVVQgc2hvdWxkIHByb2JhYmx5IGJlIHByaW50ZWQsIGlmIEkgZG8gJ2luZm8g bG9jYWxzJyB0aGVuIEkgd2lsbCBzZWUgb3B0aW1pc2VkIG91dCBsb2NhbHMsIGJ1dCAnLXN0YWNr LWxpc3QtbG9jYWxzIDEnIHdpbGwgc2tpcCB0aGVtLCB3aGljaCBkb2Vzbid0IHNlZW0gcmlnaHQg dG8gbWUuDQoNCkJ1dCB0aGlzIGJ1ZyBleGlzdHMgYmVmb3JlIHRoaXMgcGF0Y2gsIHNvIGl0J3Mg bm90IHlvdXJzIHRvIGZpeC4NCg0KWW91IGNvdWxkIGhvd2V2ZXIgY29udmVydCBQUklOVF9NRSBm cm9tICdpbnQnIHRvICdib29sJywgdGhhdCB3b3VsZCBiZSBhIHNpbXBsZSBmaXguDQoNCkFuZCB0 aGUgaW5kZW50YXRpb24gb2YgdGhlICdkZWZhdWx0JyBhbmQgJ2Nhc2UgLi4uJyBzdGF0ZW1lbnRz IHNlZW1zIHRvIGJlIG1lc3NlZCB1cC4gIExpa2VseSBldmVyeXRoaW5nIHdpdGhpbiB0aGUgc3dp dGNoIG5lZWRzIHRvIGJlIHJlLWluZGVudGVkIEkgdGhpbmsuDQoNCj4gKw0KPiArCWNhc2UgTE9D X0FSRzogICAgICAgLyogYXJndW1lbnQgICAgICAgICAgICAgICovDQo+ICsJY2FzZSBMT0NfUkVG X0FSRzogICAvKiByZWZlcmVuY2UgYXJnICAgICAgICAgKi8NCj4gKwljYXNlIExPQ19SRUdQQVJN X0FERFI6ICAgICAgLyogaW5kaXJlY3QgcmVnaXN0ZXIgYXJnICovDQo+ICsJY2FzZSBMT0NfTE9D QUw6ICAgICAvKiBzdGFjayBsb2NhbCAgICAgICAgICAgKi8NCj4gKwljYXNlIExPQ19TVEFUSUM6 ICAgIC8qIHN0YXRpYyAgICAgICAgICAgICAgICAqLw0KPiArCWNhc2UgTE9DX1JFR0lTVEVSOiAg LyogcmVnaXN0ZXIgICAgICAgICAgICAgICovDQo+ICsJY2FzZSBMT0NfQ09NUFVURUQ6ICAvKiBj b21wdXRlZCBsb2NhdGlvbiAgICAgKi8NCj4gKwkgIGlmICh3aGF0ID09IGFsbCkNCj4gKwkgICAg cHJpbnRfbWUgPSB0cnVlOw0KPiArCSAgZWxzZSBpZiAod2hhdCA9PSBsb2NhbHMpDQo+ICsJICAg IHByaW50X21lID0gIXN5bS0+aXNfYXJndW1lbnQgKCk7DQo+ICsJICBlbHNlDQo+ICsJICAgIHBy aW50X21lID0gc3ltLT5pc19hcmd1bWVudCAoKTsNCj4gKwkgIGJyZWFrOw0KPiArICAgIH0NCj4g Kw0KPiArICAgIHJldHVybiBwcmludF9tZTsNCj4gIH0NCj4gIA0KPiAgLyogUHJpbnQgYSBsaXN0 IG9mIHRoZSBvYmplY3RzIGZvciB0aGUgZnJhbWUgRkkgaW4gYSBjZXJ0YWluIGZvcm0sIEBAIA0K PiAtNTczLDkgKzY0MiwxMCBAQCBsaXN0X2FyZ3Nfb3JfbG9jYWxzIChjb25zdCBmcmFtZV9wcmlu dF9vcHRpb25zICZmcF9vcHRzLA0KPiAgCQkgICAgIGVudW0gd2hhdF90b19saXN0IHdoYXQsIGVu dW0gcHJpbnRfdmFsdWVzIHZhbHVlcywNCj4gIAkJICAgICBjb25zdCBmcmFtZV9pbmZvX3B0ciAm ZmksIGludCBza2lwX3VuYXZhaWxhYmxlKSAgew0KPiAtICBjb25zdCBzdHJ1Y3QgYmxvY2sgKmJs b2NrOw0KPiArICBjb25zdCBzdHJ1Y3QgYmxvY2sgKmJsb2NrLCAqb3JpZ19ibG9jazsNCj4gICAg Y29uc3QgY2hhciAqbmFtZV9vZl9yZXN1bHQ7DQo+ICAgIHN0cnVjdCB1aV9vdXQgKnVpb3V0ID0g Y3VycmVudF91aW91dDsNCj4gKyAgZ2RiOjp1bm9yZGVyZWRfc2V0PHN0ZDo6c3RyaW5nPiBjb2xs ZWN0ZWRfdmFycywgc2hhZG93ZWRfdmFycywgDQo+ICsgcHJpbnRlZF92YXJzOw0KPiAgDQo+ICAg IGJsb2NrID0gZ2V0X2ZyYW1lX2Jsb2NrIChmaSwgMCk7DQo+ICANCj4gQEAgLTU5Niw0MiArNjY2 LDMxIEBAIGxpc3RfYXJnc19vcl9sb2NhbHMgKGNvbnN0IGZyYW1lX3ByaW50X29wdGlvbnMgDQo+ ICZmcF9vcHRzLA0KPiAgDQo+ICAgIHVpX291dF9lbWl0X2xpc3QgbGlzdF9lbWl0dGVyICh1aW91 dCwgbmFtZV9vZl9yZXN1bHQpOw0KPiAgDQo+IC0gIHdoaWxlIChibG9jayAhPSAwKQ0KPiArICBv cmlnX2Jsb2NrID0gYmxvY2s7DQo+ICsgIC8qIFN0b3JlZCBsaXN0IG9mIHNoYWRvd2VkIHZhcmlh YmxlcyBsYXRlciBoZWxwIGluIGlkZW50aWZ5aW5nIHRoZW0NCj4gKyAgICAgZnJvbSB0aGUgcmVz dC4gICovDQo+ICsgIHdoaWxlIChibG9jayAhPSBudWxscHRyKQ0KPiAgICAgIHsNCj4gICAgICAg IGZvciAoc3RydWN0IHN5bWJvbCAqc3ltIDogYmxvY2tfaXRlcmF0b3JfcmFuZ2UgKGJsb2NrKSkN Cj4gIAl7DQo+IC0JICBpbnQgcHJpbnRfbWUgPSAwOw0KPiAtDQo+IC0JICBzd2l0Y2ggKHN5bS0+ bG9jX2NsYXNzICgpKQ0KPiArCSAgaWYgKGNhbl9wcmludF9hY2xhc3MgKHN5bSwgd2hhdCkpDQo+ ICAJICAgIHsNCj4gLQkgICAgZGVmYXVsdDoNCj4gLQkgICAgY2FzZSBMT0NfVU5ERUY6CS8qIGNh dGNoZXMgZXJyb3JzICAgICAgICAqLw0KPiAtCSAgICBjYXNlIExPQ19DT05TVDoJLyogY29uc3Rh bnQgICAgICAgICAgICAgICovDQo+IC0JICAgIGNhc2UgTE9DX1RZUEVERUY6CS8qIGxvY2FsIHR5 cGVkZWYgICAgICAgICAqLw0KPiAtCSAgICBjYXNlIExPQ19MQUJFTDoJLyogbG9jYWwgbGFiZWwg ICAgICAgICAgICovDQo+IC0JICAgIGNhc2UgTE9DX0JMT0NLOgkvKiBsb2NhbCBmdW5jdGlvbiAg ICAgICAgKi8NCj4gLQkgICAgY2FzZSBMT0NfQ09OU1RfQllURVM6CS8qIGxvYy4gYnl0ZSBzZXEu ICAgICAgICAqLw0KPiAtCSAgICBjYXNlIExPQ19VTlJFU09MVkVEOgkvKiB1bnJlc29sdmVkIHN0 YXRpYyAgICAgKi8NCj4gLQkgICAgY2FzZSBMT0NfT1BUSU1JWkVEX09VVDoJLyogb3B0aW1pemVk IG91dCAgICAgICAgICovDQo+IC0JICAgICAgcHJpbnRfbWUgPSAwOw0KPiAtCSAgICAgIGJyZWFr Ow0KPiAtDQo+IC0JICAgIGNhc2UgTE9DX0FSRzoJLyogYXJndW1lbnQgICAgICAgICAgICAgICov DQo+IC0JICAgIGNhc2UgTE9DX1JFRl9BUkc6CS8qIHJlZmVyZW5jZSBhcmcgICAgICAgICAqLw0K PiAtCSAgICBjYXNlIExPQ19SRUdQQVJNX0FERFI6CS8qIGluZGlyZWN0IHJlZ2lzdGVyIGFyZyAq Lw0KPiAtCSAgICBjYXNlIExPQ19MT0NBTDoJLyogc3RhY2sgbG9jYWwgICAgICAgICAgICovDQo+ IC0JICAgIGNhc2UgTE9DX1NUQVRJQzoJLyogc3RhdGljICAgICAgICAgICAgICAgICovDQo+IC0J ICAgIGNhc2UgTE9DX1JFR0lTVEVSOgkvKiByZWdpc3RlciAgICAgICAgICAgICAgKi8NCj4gLQkg ICAgY2FzZSBMT0NfQ09NUFVURUQ6CS8qIGNvbXB1dGVkIGxvY2F0aW9uICAgICAqLw0KPiAtCSAg ICAgIGlmICh3aGF0ID09IGFsbCkNCj4gLQkJcHJpbnRfbWUgPSAxOw0KPiAtCSAgICAgIGVsc2Ug aWYgKHdoYXQgPT0gbG9jYWxzKQ0KPiAtCQlwcmludF9tZSA9ICFzeW0tPmlzX2FyZ3VtZW50ICgp Ow0KPiAtCSAgICAgIGVsc2UNCj4gLQkJcHJpbnRfbWUgPSBzeW0tPmlzX2FyZ3VtZW50ICgpOw0K PiAtCSAgICAgIGJyZWFrOw0KPiArCSAgICAgIGNvbnN0IGNoYXIgKm5hbWUgPSBzeW0tPnByaW50 X25hbWUgKCk7DQo+ICsJICAgICAgaWYgKCFjb2xsZWN0ZWRfdmFycy5pbnNlcnQgKG5hbWUpLnNl Y29uZCkNCj4gKwkJc2hhZG93ZWRfdmFycy5pbnNlcnQgKG5hbWUpOw0KPiAgCSAgICB9DQo+IC0J ICBpZiAocHJpbnRfbWUpDQo+ICsJfQ0KPiArICAgICAgaWYgKGJsb2NrLT5mdW5jdGlvbiAoKSkN Cj4gKwlicmVhazsNCj4gKyAgICAgIGJsb2NrID0gYmxvY2stPnN1cGVyYmxvY2sgKCk7DQo+ICsg ICAgfQ0KPiArDQo+ICsgIGJsb2NrID0gb3JpZ19ibG9jazsNCj4gKyAgd2hpbGUgKGJsb2NrICE9 IDApDQo+ICsgICAgew0KPiArICAgICAgZm9yIChzdHJ1Y3Qgc3ltYm9sICpzeW0gOiBibG9ja19p dGVyYXRvcl9yYW5nZSAoYmxvY2spKQ0KPiArCXsNCj4gKwkgIGlmIChjYW5fcHJpbnRfYWNsYXNz IChzeW0sIHdoYXQpKQ0KPiAgCSAgICB7DQo+ICAJICAgICAgc3RydWN0IGZyYW1lX2FyZyBhcmcs IGVudHJ5YXJnOw0KPiAgDQo+IEBAIC02NTcsMTAgKzcxNiwxMCBAQCBsaXN0X2FyZ3Nfb3JfbG9j YWxzIChjb25zdCBmcmFtZV9wcmludF9vcHRpb25zIA0KPiAmZnBfb3B0cywNCj4gIA0KPiAgCSAg ICAgIGlmIChhcmcuZW50cnlfa2luZCAhPSBwcmludF9lbnRyeV92YWx1ZXNfb25seSkNCj4gIAkJ bGlzdF9hcmdfb3JfbG9jYWwgKCZhcmcsIHdoYXQsIHZhbHVlcywgc2tpcF91bmF2YWlsYWJsZSwN Cj4gLQkJCQkgICBmcF9vcHRzKTsNCj4gKwkJCQkgICBmcF9vcHRzLCAmc2hhZG93ZWRfdmFycywg cHJpbnRlZF92YXJzKTsNCj4gIAkgICAgICBpZiAoZW50cnlhcmcuZW50cnlfa2luZCAhPSBwcmlu dF9lbnRyeV92YWx1ZXNfbm8pDQo+ICAJCWxpc3RfYXJnX29yX2xvY2FsICgmZW50cnlhcmcsIHdo YXQsIHZhbHVlcywgc2tpcF91bmF2YWlsYWJsZSwNCj4gLQkJCQkgICBmcF9vcHRzKTsNCj4gKwkJ CQkgICBmcF9vcHRzLCAmc2hhZG93ZWRfdmFycywgcHJpbnRlZF92YXJzKTsNCj4gIAkgICAgfQ0K PiAgCX0NCj4gIA0KPiBkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIubWkvbWktdmFyLXNo YWRvd2luZy5jIA0KPiBiL2dkYi90ZXN0c3VpdGUvZ2RiLm1pL21pLXZhci1zaGFkb3dpbmcuYw0K PiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwMC4uODc1ZTc1M2I0ODUN Cj4gLS0tIC9kZXYvbnVsbA0KPiArKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5taS9taS12YXItc2hh ZG93aW5nLmMNCj4gQEAgLTAsMCArMSw1MCBAQA0KPiArLyogQ29weXJpZ2h0IChDKSAyMDIzLTIw MjYgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuDQo+ICsNCj4gKyAgIFRoaXMgcHJvZ3Jh bSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5 DQo+ICsgICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNl bnNlIGFzIHB1Ymxpc2hlZCBieQ0KPiArICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsg ZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3INCj4gKyAgIChhdCB5b3VyIG9wdGlv bikgYW55IGxhdGVyIHZlcnNpb24uDQo+ICsNCj4gKyAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmli dXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KPiArICAgYnV0IFdJVEhP VVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YNCj4g KyAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4g IFNlZSB0aGUNCj4gKyAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFp bHMuDQo+ICsNCj4gKyAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdO VSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlDQo+ICsgICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4g IElmIG5vdCwgc2VlIA0KPiArIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4gICovDQo+ ICsNCj4gKyNpbmNsdWRlIDxzdGRsaWIuaD4NCj4gKw0KPiAraW50DQo+ICtzaGFkb3dpbmcgKHZv aWQpDQo+ICt7DQo+ICsgIGludCBhID0gMTAwOwkvKiBlbnRyeSBicCAqLw0KPiArICB1bnNpZ25l ZCBpbnQgdmFsMSA9IDE7CQkvKiB2YWwxLWQxICovDQo+ICsgIHVuc2lnbmVkIGludCB2YWwyID0g MjsJCS8qIHZhbDItZDEgKi8NCj4gKyAgYSA9IDEwMTsgIC8qIGJwIGZvciBsb2NhbHMgMSAqLw0K PiArICB7DQo+ICsgICAgdW5zaWduZWQgaW50IHZhbDIgPSAzOwkJLyogdmFsMi1kMiAqLw0KPiAr ICAgIHVuc2lnbmVkIGludCB2YWwzID0gNDsJCS8qIHZhbDMtZDEgKi8NCj4gKyAgICBhID0gMTAy OyAgLyogYnAgZm9yIGxvY2FscyAyICovDQo+ICsgICAgew0KPiArICAgICAgdW5zaWduZWQgaW50 IHZhbDEgPSA1OwkJLyogdmFsMS1kMiAqLw0KPiArICAgICAgYSA9IDEwMzsgIC8qIGJwIGZvciBs b2NhbHMgMyAqLw0KPiArICAgICAgew0KPiArCXVuc2lnbmVkIGludCB2YWwxID0gNjsJCS8qIHZh bDEtZDMgKi8NCj4gKwl1bnNpZ25lZCBpbnQgdmFsMiA9IDc7CQkvKiB2YWwyLWQzICovDQo+ICsJ dW5zaWduZWQgaW50IHZhbDMgPSA4OwkJLyogdmFsMy1kMiAqLw0KPiArCWEgPSAxMDQ7ICAvKiBi cCBmb3IgbG9jYWxzIDQgKi8NCj4gKyAgICAgIH0NCj4gKyAgICB9DQo+ICsgIH0NCj4gKyAgYSA9 IDEwNTsNCj4gKw0KPiArICByZXR1cm4gMDsgLyogYnAgZm9yIGxvY2FscyA1ICovDQo+ICt9DQo+ ICsNCj4gK2ludA0KPiArbWFpbiAodm9pZCkNCj4gK3sNCj4gKyAgc2hhZG93aW5nICgpOw0KPiAr ICByZXR1cm4gMDsNCj4gK30NCj4gZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLm1pL21p LXZhci1zaGFkb3dpbmcuZXhwIA0KPiBiL2dkYi90ZXN0c3VpdGUvZ2RiLm1pL21pLXZhci1zaGFk b3dpbmcuZXhwDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAwLi5m ODhjOGM4MTczNg0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLm1p L21pLXZhci1zaGFkb3dpbmcuZXhwDQo+IEBAIC0wLDAgKzEsMTQxIEBADQo+ICsjIENvcHlyaWdo dCAyMDIzLTIwMjYgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuDQo+ICsNCj4gKyMgVGhp cyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9v ciANCj4gK21vZGlmeSAjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVi bGljIExpY2Vuc2UgYXMgDQo+ICtwdWJsaXNoZWQgYnkgIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3Vu ZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSANCj4gK0xpY2Vuc2UsIG9yICMgKGF0IHlv dXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4NCj4gKyMNCj4gKyMgVGhpcyBwcm9ncmFtIGlz IGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsICMgDQo+ICti dXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50 eSBvZiAjIA0KPiArTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ VVJQT1NFLiAgU2VlIHRoZSAjIEdOVSANCj4gK0dlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1v cmUgZGV0YWlscy4NCj4gKyMNCj4gKyMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBv ZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgIyANCj4gK2Fsb25nIHdpdGggdGhpcyBw cm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+Lg0KPiAr DQo+ICtsb2FkX2xpYiBtaS1zdXBwb3J0LmV4cA0KPiArc2V0IE1JRkxBR1MgIi1pPW1pIg0KPiAr DQo+ICtnZGJfZXhpdA0KPiAraWYgW21pX2dkYl9zdGFydF0gew0KPiArICAgIGNvbnRpbnVlDQo+ ICt9DQo+ICsNCj4gK3N0YW5kYXJkX3Rlc3RmaWxlDQo+ICsNCj4gK3NldCBvcHRzIHtkZWJ1Z30N Cj4gK2lmIFtidWlsZF9leGVjdXRhYmxlICR7dGVzdGZpbGV9LmV4cCAke3Rlc3RmaWxlfSAke3Ny Y2ZpbGV9ICRvcHRzXSB7DQo+ICsgICAgcmV0dXJuIC0xDQoNCkp1c3QgJ3JldHVybicgYXQgdGhl IHRvcCBsZXZlbCwgbm8gLTEgbmVlZGVkLg0KDQpUaGFua3MsDQpBbmRyZXcNCg0KDQo+ICt9DQo+ ICsNCj4gK21pX2RlbGV0ZV9icmVha3BvaW50cw0KPiArbWlfZ2RiX3JlaW5pdGlhbGl6ZV9kaXIg JHNyY2Rpci8kc3ViZGlyIG1pX2dkYl9sb2FkICR7YmluZmlsZX0gDQo+ICttaV9ydW50byBtYWlu DQo+ICsNCj4gK3NldCBicF9saW5lMSBbZ2RiX2dldF9saW5lX251bWJlciAiYnAgZm9yIGxvY2Fs cyAxIl0gc2V0IGJwX2xpbmUyIA0KPiArW2dkYl9nZXRfbGluZV9udW1iZXIgImJwIGZvciBsb2Nh bHMgMiJdIHNldCBicF9saW5lMyANCj4gK1tnZGJfZ2V0X2xpbmVfbnVtYmVyICJicCBmb3IgbG9j YWxzIDMiXSBzZXQgYnBfbGluZTQgDQo+ICtbZ2RiX2dldF9saW5lX251bWJlciAiYnAgZm9yIGxv Y2FscyA0Il0gc2V0IGJwX2xpbmU1IA0KPiArW2dkYl9nZXRfbGluZV9udW1iZXIgImJwIGZvciBs b2NhbHMgNSJdDQo+ICsNCj4gK3NldCB2YWwxX2QxIFtnZGJfZ2V0X2xpbmVfbnVtYmVyICJ2YWwx LWQxIl0gc2V0IHZhbDFfZDIgDQo+ICtbZ2RiX2dldF9saW5lX251bWJlciAidmFsMS1kMiJdIHNl dCB2YWwxX2QzIFtnZGJfZ2V0X2xpbmVfbnVtYmVyIA0KPiArInZhbDEtZDMiXSBzZXQgdmFsMl9k MSBbZ2RiX2dldF9saW5lX251bWJlciAidmFsMi1kMSJdIHNldCB2YWwyX2QyIA0KPiArW2dkYl9n ZXRfbGluZV9udW1iZXIgInZhbDItZDIiXSBzZXQgdmFsMl9kMyBbZ2RiX2dldF9saW5lX251bWJl ciANCj4gKyJ2YWwyLWQzIl0gc2V0IHZhbDNfZDEgW2dkYl9nZXRfbGluZV9udW1iZXIgInZhbDMt ZDEiXSBzZXQgdmFsM19kMiANCj4gK1tnZGJfZ2V0X2xpbmVfbnVtYmVyICJ2YWwzLWQyIl0gc2V0 IGFfbGluZSBbZ2RiX2dldF9saW5lX251bWJlciANCj4gKyJlbnRyeSBicCJdDQo+ICsNCj4gK3Nl dCBzdGFja190ZXN0MV9yZWd4ICJcXF5kb25lLChsb2NhbHN8dmFyaWFibGVzKT1cXFxbXHtuYW1l PVwiYVwiLHR5cGU9XCJpbnRcIix2YWx1ZT1cIiRkZWNpbWFsXCJcfSxce25hbWU9XCJ2YWwxXCIs dHlwZT1cInVuc2lnbmVkIGludFwiLHZhbHVlPVwiMVwiXH0se25hbWU9XCJ2YWwyXCIsdHlwZT1c InVuc2lnbmVkIGludFwiLHZhbHVlPVwiMlwiXH1cXFxdIg0KPiArc2V0IHN0YWNrX3Rlc3QyX3Jl Z3ggIlxcXmRvbmUsKGxvY2Fsc3x2YXJpYWJsZXMpPVxcXFtce25hbWU9XCJ2YWwyXCIsdHlwZT1c InVuc2lnbmVkIGludFwiLHZhbHVlPVwiM1wiLGZpbGU9XCIkc3JjZGlyLyRzdWJkaXIvJHNyY2Zp bGVcIixsaW5lPVwiJHZhbDJfZDJcIlx9LFx7bmFtZT1cInZhbDNcIix0eXBlPVwidW5zaWduZWQg aW50XCIsdmFsdWU9XCI0XCJcfSxce25hbWU9XCJhXCIsdHlwZT1cImludFwiLHZhbHVlPVwiMTAx XCJcfSxce25hbWU9XCJ2YWwxXCIsdHlwZT1cInVuc2lnbmVkIGludFwiLHZhbHVlPVwiMVwiXH0s XHtuYW1lPVwidmFsMlwiLHR5cGU9XCJ1bnNpZ25lZCBpbnRcIix2YWx1ZT1cIjJcIixmaWxlPVwi JHNyY2Rpci8kc3ViZGlyLyRzcmNmaWxlXCIsbGluZT1cIiR2YWwyX2QxXCIsc2hhZG93ZWQ9XCJ0 cnVlXCJcfVxcXF0iDQo+ICtzZXQgc3RhY2tfdGVzdDNfcmVneCAiXFxeZG9uZSwobG9jYWxzfHZh cmlhYmxlcyk9XFxcW1x7bmFtZT1cInZhbDFcIix0eXBlPVwidW5zaWduZWQgaW50XCIsdmFsdWU9 XCI1XCIsZmlsZT1cIiRzcmNkaXIvJHN1YmRpci8kc3JjZmlsZVwiLGxpbmU9XCIkdmFsMV9kMlwi XH0sXHtuYW1lPVwidmFsMlwiLHR5cGU9XCJ1bnNpZ25lZCBpbnRcIix2YWx1ZT1cIjNcIixmaWxl PVwiJHNyY2Rpci8kc3ViZGlyLyRzcmNmaWxlXCIsbGluZT1cIiR2YWwyX2QyXCJcfSxce25hbWU9 XCJ2YWwzXCIsdHlwZT1cInVuc2lnbmVkIGludFwiLHZhbHVlPVwiNFwiXH0sXHtuYW1lPVwiYVwi LHR5cGU9XCJpbnRcIix2YWx1ZT1cIjEwMlwiXH0sXHtuYW1lPVwidmFsMVwiLHR5cGU9XCJ1bnNp Z25lZCBpbnRcIix2YWx1ZT1cIjFcIixmaWxlPVwiJHNyY2Rpci8kc3ViZGlyLyRzcmNmaWxlXCIs bGluZT1cIiR2YWwxX2QxXCIsc2hhZG93ZWQ9XCJ0cnVlXCJcfSxce25hbWU9XCJ2YWwyXCIsdHlw ZT1cInVuc2lnbmVkIGludFwiLHZhbHVlPVwiMlwiLGZpbGU9XCIkc3JjZGlyLyRzdWJkaXIvJHNy Y2ZpbGVcIixsaW5lPVwiJHZhbDJfZDFcIixzaGFkb3dlZD1cInRydWVcIlx9XFxcXSINCj4gK3Nl dCBzdGFja190ZXN0NF9yZWd4ICJcXF5kb25lLChsb2NhbHN8dmFyaWFibGVzKT1cXFxbXHtuYW1l PVwidmFsMVwiLHR5cGU9XCJ1bnNpZ25lZCBpbnRcIix2YWx1ZT1cIjZcIixmaWxlPVwiJHNyY2Rp ci8kc3ViZGlyLyRzcmNmaWxlXCIsbGluZT1cIiR2YWwxX2QzXCJcfSxce25hbWU9XCJ2YWwyXCIs dHlwZT1cInVuc2lnbmVkIGludFwiLHZhbHVlPVwiN1wiLGZpbGU9XCIkc3JjZGlyLyRzdWJkaXIv JHNyY2ZpbGVcIixsaW5lPVwiJHZhbDJfZDNcIlx9LFx7bmFtZT1cInZhbDNcIix0eXBlPVwidW5z aWduZWQgaW50XCIsdmFsdWU9XCI4XCIsZmlsZT1cIiRzcmNkaXIvJHN1YmRpci8kc3JjZmlsZVwi LGxpbmU9XCIkdmFsM19kMlwiXH0sXHtuYW1lPVwidmFsMVwiLHR5cGU9XCJ1bnNpZ25lZCBpbnRc Iix2YWx1ZT1cIjVcIixmaWxlPVwiJHNyY2Rpci8kc3ViZGlyLyRzcmNmaWxlXCIsbGluZT1cIiR2 YWwxX2QyXCIsc2hhZG93ZWQ9XCJ0cnVlXCJcfSxce25hbWU9XCJ2YWwyXCIsdHlwZT1cInVuc2ln bmVkIGludFwiLHZhbHVlPVwiM1wiLGZpbGU9XCIkc3JjZGlyLyRzdWJkaXIvJHNyY2ZpbGVcIixs aW5lPVwiJHZhbDJfZDJcIixzaGFkb3dlZD1cInRydWVcIlx9LFx7bmFtZT1cInZhbDNcIix0eXBl PVwidW5zaWduZWQgaW50XCIsdmFsdWU9XCI0XCIsZmlsZT1cIiRzcmNkaXIvJHN1YmRpci8kc3Jj ZmlsZVwiLGxpbmU9XCIkdmFsM19kMVwiLHNoYWRvd2VkPVwidHJ1ZVwiXH0sXHtuYW1lPVwiYVwi LHR5cGU9XCJpbnRcIix2YWx1ZT1cIjEwM1wiXH0sXHtuYW1lPVwidmFsMVwiLHR5cGU9XCJ1bnNp Z25lZCBpbnRcIix2YWx1ZT1cIjFcIixmaWxlPVwiJHNyY2Rpci8kc3ViZGlyLyRzcmNmaWxlXCIs bGluZT1cIiR2YWwxX2QxXCIsc2hhZG93ZWQ9XCJ0cnVlXCJcfSxce25hbWU9XCJ2YWwyXCIsdHlw ZT1cInVuc2lnbmVkIGludFwiLHZhbHVlPVwiMlwiLGZpbGU9XCIkc3JjZGlyLyRzdWJkaXIvJHNy Y2ZpbGVcIixsaW5lPVwiJHZhbDJfZDFcIixzaGFkb3dlZD1cInRydWVcIlx9XFxcXSINCj4gK3Nl dCBzdGFja190ZXN0NV9yZWd4ICJcXF5kb25lLChsb2NhbHN8dmFyaWFibGVzKT1cXFxbXHtuYW1l PVwiYVwiLHR5cGU9XCJpbnRcIix2YWx1ZT1cIjEwNVwiXH0sXHtuYW1lPVwidmFsMVwiLHR5cGU9 XCJ1bnNpZ25lZCBpbnRcIix2YWx1ZT1cIjFcIlx9LFx7bmFtZT1cInZhbDJcIix0eXBlPVwidW5z aWduZWQgaW50XCIsdmFsdWU9XCIyXCJcfVxcXF0iDQo+ICsNCj4gK21pX2dkYl90ZXN0IFwNCj4g KyAgICAiLWJyZWFrLWluc2VydCAtLXNvdXJjZSAke3NyY2ZpbGV9IC0tbGluZSAke2JwX2xpbmUx fSIgIFwNCj4gKyAgICAiXFxeZG9uZS4qc291cmNlICR7c3JjZmlsZX0gXFwtbGluZSAke2JwX2xp bmUxfS4qIiAgXA0KPiArICAgICJicCBhdCBvdXRlcm1vc3QgbGV2ZWwiDQo+ICttaV9leGVjdXRl X3RvICJleGVjLWNvbnRpbnVlIiAiYnJlYWtwb2ludC1oaXQiICIuKiIgIi4qIiAiLioiICIke2Jw X2xpbmUxfSIgIFwNCj4gKyAgICB7ICIiICJkaXNwPVwia2VlcFwiIiB9ICJjb250aW51ZSB0byBv dXRlcm1vc3QgbGV2ZWwiDQo+ICttaV9nZGJfdGVzdCAiLXN0YWNrLWxpc3QtbG9jYWxzIDAiIFwN Cj4gKyAgICAiXFxeZG9uZSxsb2NhbHM9XFxcW25hbWU9XCJhXCIsbmFtZT1cInZhbDFcIixuYW1l PVwidmFsMlwiXFxcXSIgXA0KPiArICAgICItc3RhY2stbGlzdC1sb2NhbHMgMCBhdCBvdXRlcm1v c3QgbGV2ZWwiDQo+ICttaV9nZGJfdGVzdCAiLXN0YWNrLWxpc3QtdmFyaWFibGVzIDAiIFwNCj4g KyAgICAiXFxeZG9uZSx2YXJpYWJsZXM9XFxcW3tuYW1lPVwiYVwifSx7bmFtZT1cInZhbDFcIn0s e25hbWU9XCJ2YWwyXCJ9XFxcXSIgXA0KPiArICAgICItc3RhY2stbGlzdC12YXJpYWJsZXMgMCBh dCBvdXRlcm1vc3QgbGV2ZWwiDQo+ICttaV9nZGJfdGVzdCAiLXN0YWNrLWxpc3QtbG9jYWxzIDIi ICIke3N0YWNrX3Rlc3QxX3JlZ3h9IiAgXA0KPiArICAgICItc3RhY2stbGlzdC1sb2NhbHMgMiBh dCBvdXRlcm1vc3QgbGV2ZWwiDQo+ICttaV9nZGJfdGVzdCAiLXN0YWNrLWxpc3QtdmFyaWFibGVz IDIiICIke3N0YWNrX3Rlc3QxX3JlZ3h9IiAgXA0KPiArICAgICItc3RhY2stbGlzdC12YXJpYWJs ZXMgMiBhdCBvdXRlcm1vc3QgbGV2ZWwiDQo+ICsNCj4gK21pX2dkYl90ZXN0ICBcDQo+ICsgICAg Ii1icmVhay1pbnNlcnQgLS1zb3VyY2UgJHtzcmNmaWxlfSAtLWxpbmUgJHticF9saW5lMn0iICBc DQo+ICsgICAgIlxcXmRvbmUuKnNvdXJjZSAke3NyY2ZpbGV9IFxcLWxpbmUgJHticF9saW5lMn0u KiIgIFwNCj4gKyAgICAiYnAgYXQgZmlyc3QgbGV2ZWwiDQo+ICttaV9leGVjdXRlX3RvICJleGVj LWNvbnRpbnVlIiAiYnJlYWtwb2ludC1oaXQiICIuKiIgIi4qIiAiLioiICIke2JwX2xpbmUyfSIg IFwNCj4gKyAgICB7ICIiICJkaXNwPVwia2VlcFwiIiB9ICJjb250aW51ZSB0byBmaXJzdCBsZXZl bCINCj4gK21pX2dkYl90ZXN0ICItc3RhY2stbGlzdC1sb2NhbHMgMCIgIFwNCj4gKyAgICAiXFxe ZG9uZSxsb2NhbHM9XFxcW25hbWU9XCJ2YWwyXCIsbmFtZT1cInZhbDNcIixuYW1lPVwiYVwiLG5h bWU9XCJ2YWwxXCIsbmFtZT1cInZhbDJcIlxcXF0iICBcDQo+ICsgICAgIi1zdGFjay1saXN0LWxv Y2FscyAwIGF0IGZpcnN0IGxldmVsIg0KPiArbWlfZ2RiX3Rlc3QgIi1zdGFjay1saXN0LXZhcmlh YmxlcyAwIiBcDQo+ICsgICAgIlxcXmRvbmUsdmFyaWFibGVzPVxcXFt7bmFtZT1cInZhbDJcIixm aWxlPVwiJHNyY2Rpci8kc3ViZGlyLyRzcmNmaWxlXCIsbGluZT1cIiR2YWwyX2QyXCJ9LHtuYW1l PVwidmFsM1wifSx7bmFtZT1cImFcIn0se25hbWU9XCJ2YWwxXCJ9LHtuYW1lPVwidmFsMlwiLGZp bGU9XCIkc3JjZGlyLyRzdWJkaXIvJHNyY2ZpbGVcIixsaW5lPVwiJHZhbDJfZDFcIixzaGFkb3dl ZD1cInRydWVcIlx9XFxcXSIgIFwNCj4gKyAgICAiLXN0YWNrLWxpc3QtdmFyaWFibGVzIDAgYXQg Zmlyc3QgbGV2ZWwiDQo+ICttaV9nZGJfdGVzdCAiLXN0YWNrLWxpc3QtbG9jYWxzIDIiICIke3N0 YWNrX3Rlc3QyX3JlZ3h9IiAgXA0KPiArICAgICItc3RhY2stbGlzdC1sb2NhbHMgMiBhdCBmaXJz dCBsZXZlbCINCj4gK21pX2dkYl90ZXN0ICItc3RhY2stbGlzdC12YXJpYWJsZXMgMiIgIiR7c3Rh Y2tfdGVzdDJfcmVneH0iICBcDQo+ICsgICAgIi1zdGFjay1saXN0LXZhcmlhYmxlcyAyIGF0IGZp cnN0IGxldmVsIg0KPiArDQo+ICttaV9nZGJfdGVzdCAgXA0KPiArICAgICItYnJlYWstaW5zZXJ0 IC0tc291cmNlICR7c3JjZmlsZX0gLS1saW5lICR7YnBfbGluZTN9IiAgXA0KPiArICAgICJcXF5k b25lLipzb3VyY2UgJHtzcmNmaWxlfSBcXC1saW5lICR7YnBfbGluZTN9LioiICBcDQo+ICsgICAg ImJwIGF0IHNlY29uZCBsZXZlbCINCj4gK21pX2V4ZWN1dGVfdG8gImV4ZWMtY29udGludWUiICJi cmVha3BvaW50LWhpdCIgIi4qIiAiLioiICIuKiIgIiR7YnBfbGluZTN9IiAgXA0KPiArICAgIHsg IiIgImRpc3A9XCJrZWVwXCIiIH0gImNvbnRpbnVlIHRvIHNlY29uZCBsZXZlbCINCj4gK21pX2dk Yl90ZXN0ICItc3RhY2stbGlzdC1sb2NhbHMgMCIgIFwNCj4gKyAgICAgIlxcXmRvbmUsbG9jYWxz PVxcXFtuYW1lPVwidmFsMVwiLG5hbWU9XCJ2YWwyXCIsbmFtZT1cInZhbDNcIixuYW1lPVwiYVwi LG5hbWU9XCJ2YWwxXCIsbmFtZT1cInZhbDJcIlxcXF0iICBcDQo+ICsgICAgIi1zdGFjay1saXN0 LWxvY2FscyAwIGF0IHNlY29uZCBsZXZlbCINCj4gK21pX2dkYl90ZXN0ICItc3RhY2stbGlzdC12 YXJpYWJsZXMgMCIgIFwNCj4gKyAgICAgIlxcXmRvbmUsdmFyaWFibGVzPVxcXFt7bmFtZT1cInZh bDFcIixmaWxlPVwiJHNyY2Rpci8kc3ViZGlyLyRzcmNmaWxlXCIsbGluZT1cIiR2YWwxX2QyXCJ9 LHtuYW1lPVwidmFsMlwiLGZpbGU9XCIkc3JjZGlyLyRzdWJkaXIvJHNyY2ZpbGVcIixsaW5lPVwi JHZhbDJfZDJcIn0se25hbWU9XCJ2YWwzXCJ9LHtuYW1lPVwiYVwifSx7bmFtZT1cInZhbDFcIixm aWxlPVwiJHNyY2Rpci8kc3ViZGlyLyRzcmNmaWxlXCIsbGluZT1cIiR2YWwxX2QxXCIsc2hhZG93 ZWQ9XCJ0cnVlXCJcfSx7bmFtZT1cInZhbDJcIixmaWxlPVwiJHNyY2Rpci8kc3ViZGlyLyRzcmNm aWxlXCIsbGluZT1cIiR2YWwyX2QxXCIsc2hhZG93ZWQ9XCJ0cnVlXCJcfVxcXF0iICBcDQo+ICsg ICAgIi1zdGFjay1saXN0LXZhcmlhYmxlcyAwIGF0IHNlY29uZCBsZXZlbCINCj4gK21pX2dkYl90 ZXN0ICItc3RhY2stbGlzdC1sb2NhbHMgMiIgIiR7c3RhY2tfdGVzdDNfcmVneH0iICBcDQo+ICsg ICAgICItc3RhY2stbGlzdC1sb2NhbHMgMiBhdCBzZWNvbmQgbGV2ZWwiDQo+ICttaV9nZGJfdGVz dCAiLXN0YWNrLWxpc3QtdmFyaWFibGVzIDIiICIke3N0YWNrX3Rlc3QzX3JlZ3h9IiAgXA0KPiAr ICAgICAiLXN0YWNrLWxpc3QtdmFyaWFibGVzIDIgYXQgc2Vjb25kIGxldmVsIg0KPiArDQo+ICtt aV9nZGJfdGVzdCAgXA0KPiArICAgICItYnJlYWstaW5zZXJ0IC0tc291cmNlICR7c3JjZmlsZX0g LS1saW5lICR7YnBfbGluZTR9IiAgXA0KPiArICAgICJcXF5kb25lLipzb3VyY2UgJHtzcmNmaWxl fSBcXC1saW5lICR7YnBfbGluZTR9LioiICBcDQo+ICsgICAgImJwIGF0IHRoaXJkIGxldmVsIg0K PiArbWlfZXhlY3V0ZV90byAiZXhlYy1jb250aW51ZSIgImJyZWFrcG9pbnQtaGl0IiAiLioiICIu KiIgIi4qIiAiJHticF9saW5lNH0iICBcDQo+ICsgICAgeyAiIiAiZGlzcD1cImtlZXBcIiIgfSAi Y29udGludWUgdG8gdGhpcmQgbGV2ZWwiDQo+ICttaV9nZGJfdGVzdCAiLXN0YWNrLWxpc3QtbG9j YWxzIDAiICBcDQo+ICsgICAgIlxcXmRvbmUsbG9jYWxzPVxcXFtuYW1lPVwidmFsMVwiLG5hbWU9 XCJ2YWwyXCIsbmFtZT1cInZhbDNcIixuYW1lPVwidmFsMVwiLG5hbWU9XCJ2YWwyXCIsbmFtZT1c InZhbDNcIixuYW1lPVwiYVwiLG5hbWU9XCJ2YWwxXCIsbmFtZT1cInZhbDJcIlxcXF0iICBcDQo+ ICsgICAgIi1zdGFjay1saXN0LWxvY2FscyAwIGF0IHRoaXJkIGxldmVsIg0KPiArbWlfZ2RiX3Rl c3QgIi1zdGFjay1saXN0LXZhcmlhYmxlcyAwIiBcDQo+ICsgICAgIlxcXmRvbmUsdmFyaWFibGVz PVxcXFt7bmFtZT1cInZhbDFcIixmaWxlPVwiJHNyY2Rpci8kc3ViZGlyLyRzcmNmaWxlXCIsbGlu ZT1cIiR2YWwxX2QzXCJ9LHtuYW1lPVwidmFsMlwiLGZpbGU9XCIkc3JjZGlyLyRzdWJkaXIvJHNy Y2ZpbGVcIixsaW5lPVwiJHZhbDJfZDNcIn0se25hbWU9XCJ2YWwzXCIsZmlsZT1cIiRzcmNkaXIv JHN1YmRpci8kc3JjZmlsZVwiLGxpbmU9XCIkdmFsM19kMlwifSx7bmFtZT1cInZhbDFcIixmaWxl PVwiJHNyY2Rpci8kc3ViZGlyLyRzcmNmaWxlXCIsbGluZT1cIiR2YWwxX2QyXCIsc2hhZG93ZWQ9 XCJ0cnVlXCJcfSxce25hbWU9XCJ2YWwyXCIsZmlsZT1cIiRzcmNkaXIvJHN1YmRpci8kc3JjZmls ZVwiLGxpbmU9XCIkdmFsMl9kMlwiLHNoYWRvd2VkPVwidHJ1ZVwiXH0sXHtuYW1lPVwidmFsM1wi LGZpbGU9XCIkc3JjZGlyLyRzdWJkaXIvJHNyY2ZpbGVcIixsaW5lPVwiJHZhbDNfZDFcIixzaGFk b3dlZD1cInRydWVcIlx9LHtuYW1lPVwiYVwifSx7bmFtZT1cInZhbDFcIixmaWxlPVwiJHNyY2Rp ci8kc3ViZGlyLyRzcmNmaWxlXCIsbGluZT1cIiR2YWwxX2QxXCIsc2hhZG93ZWQ9XCJ0cnVlXCJc fSx7bmFtZT1cInZhbDJcIixmaWxlPVwiJHNyY2Rpci8kc3ViZGlyLyRzcmNmaWxlXCIsbGluZT1c IiR2YWwyX2QxXCIsc2hhZG93ZWQ9XCJ0cnVlXCJcfVxcXF0iICBcDQo+ICsgICAgIi1zdGFjay1s aXN0LXZhcmlhYmxlcyAwIGF0IHRoaXJkIGxldmVsIg0KPiArbWlfZ2RiX3Rlc3QgIi1zdGFjay1s aXN0LWxvY2FscyAyIiAiJHtzdGFja190ZXN0NF9yZWd4fSIgIFwNCj4gKyAgICAiLXN0YWNrLWxp c3QtbG9jYWxzIDIgYXQgdGhpcmQgbGV2ZWwiDQo+ICttaV9nZGJfdGVzdCAiLXN0YWNrLWxpc3Qt dmFyaWFibGVzIDIiICIke3N0YWNrX3Rlc3Q0X3JlZ3h9IiAgXA0KPiArICAgICItc3RhY2stbGlz dC12YXJpYWJsZXMgMiBhdCB0aGlyZCBsZXZlbCINCj4gKw0KPiArbWlfZ2RiX3Rlc3QgIFwNCj4g KyAgICAiLWJyZWFrLWluc2VydCAtLXNvdXJjZSAke3NyY2ZpbGV9IC0tbGluZSAke2JwX2xpbmU1 fSIgIFwNCj4gKyAgICAiXFxeZG9uZS4qc291cmNlICR7c3JjZmlsZX0gXFwtbGluZSAke2JwX2xp bmU1fS4qIiAgXA0KPiArICAgICJicCBhdCBvdXRlcm1vc3QgbGV2ZWwgbGFzdCINCj4gK21pX2V4 ZWN1dGVfdG8gImV4ZWMtY29udGludWUiICJicmVha3BvaW50LWhpdCIgIi4qIiAiLioiICIuKiIg IiR7YnBfbGluZTV9IiAgXA0KPiArICAgIHsgIiIgImRpc3A9XCJrZWVwXCIiIH0gImNvbnRpbnVl IHRvIG91dGVybW9zdCBsZXZlbCBsYXN0Ig0KPiArbWlfZ2RiX3Rlc3QgIi1zdGFjay1saXN0LWxv Y2FscyAwIiAgXA0KPiArICAgICJcXF5kb25lLGxvY2Fscz1cXFxbbmFtZT1cImFcIixuYW1lPVwi dmFsMVwiLG5hbWU9XCJ2YWwyXCJcXFxdIiAgXA0KPiArICAgICItc3RhY2stbGlzdC1sb2NhbHMg MCBhdCBvdXRlcm1vc3QgbGV2ZWwgbGFzdCINCj4gK21pX2dkYl90ZXN0ICItc3RhY2stbGlzdC12 YXJpYWJsZXMgMCIgIFwNCj4gKyAgICAiXFxeZG9uZSx2YXJpYWJsZXM9XFxcW3tuYW1lPVwiYVwi fSx7bmFtZT1cInZhbDFcIn0se25hbWU9XCJ2YWwyXCJ9XFxcXSIgIFwNCj4gKyAgICAiLXN0YWNr LWxpc3QtdmFyaWFibGVzIGF0IG91dGVybW9zdCBsZXZlbCBsYXN0Ig0KPiArbWlfZ2RiX3Rlc3Qg Ii1zdGFjay1saXN0LWxvY2FscyAyIiAiJHtzdGFja190ZXN0NV9yZWd4fSIgIFwNCj4gKyAgICAi LXN0YWNrLWxpc3QtbG9jYWxzIDIgYXQgb3V0ZXJtb3N0IGxldmVsIGxhc3QiDQo+ICttaV9nZGJf dGVzdCAiLXN0YWNrLWxpc3QtdmFyaWFibGVzIDIiICIke3N0YWNrX3Rlc3Q1X3JlZ3h9IiAgXA0K PiArICAgICItc3RhY2stbGlzdC12YXJpYWJsZXMgMiBhdCBvdXRlcm1vc3QgbGV2ZWwgbGFzdCIN Cj4gLS0NCj4gMi4zNC4xDQo+DQo+IEludGVsIERldXRzY2hsYW5kIEdtYkgNCj4NCj4gUmVnaXN0 ZXJlZCBBZGRyZXNzOiBEb3JuYWNoZXIgU3RyYXNzZSAxLCA4NTYyMiBGZWxka2lyY2hlbiwgR2Vy bWFueQ0KPiBUZWw6ICs0OSA4OSA5OTEgNDMwLCB3d3cuaW50ZWwuZGUNCj4gTWFuYWdpbmcgRGly ZWN0b3JzOiBIYXJyeSBEZW1hcywgSmVmZnJleSBTY2huZWlkZXJtYW4sIFlpbiBDaG9uZyANCj4g U29ycmVsbCBDaGFpcnBlcnNvbiBvZiB0aGUgU3VwZXJ2aXNvcnkgQm9hcmQ6IE5pY29sZSBMYXUg UmVnaXN0ZXJlZCANCj4gU2VhdDogTXVuaWNoIENvbW1lcmNpYWwgUmVnaXN0ZXI6IEFtdHNnZXJp Y2h0IE11ZW5jaGVuIEhSQiAxODY5MjgNCg0KSW50ZWwgRGV1dHNjaGxhbmQgR21iSAoKUmVnaXN0 ZXJlZCBBZGRyZXNzOiBEb3JuYWNoZXIgU3RyYXNzZSAxLCA4NTYyMiBGZWxka2lyY2hlbiwgR2Vy bWFueQpUZWw6ICs0OSA4OSA5OTEgNDMwLCB3d3cuaW50ZWwuZGUKTWFuYWdpbmcgRGlyZWN0b3Jz OiBIYXJyeSBEZW1hcywgSmVmZnJleSBTY2huZWlkZXJtYW4sIFlpbiBDaG9uZyBTb3JyZWxsCkNo YWlycGVyc29uIG9mIHRoZSBTdXBlcnZpc29yeSBCb2FyZDogTmljb2xlIExhdQpSZWdpc3RlcmVk IFNlYXQ6IE11bmljaApDb21tZXJjaWFsIFJlZ2lzdGVyOiBBbXRzZ2VyaWNodCBNdWVuY2hlbiBI UkIgMTg2OTI4Cg==