Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1oxHfw-0001AI-SO for pgsql-hackers@arkaria.postgresql.org; Tue, 22 Nov 2022 01:02:13 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1oxHfv-0000Cq-70 for pgsql-hackers@arkaria.postgresql.org; Tue, 22 Nov 2022 01:02:11 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1oxHfu-0000Cd-De for pgsql-hackers@lists.postgresql.org; Tue, 22 Nov 2022 01:02:10 +0000 Received: from mx04.melco.co.jp ([192.218.140.144]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1oxHfq-0003oX-0t for pgsql-hackers@postgresql.org; Tue, 22 Nov 2022 01:02:09 +0000 Received: from mr06.melco.co.jp (mr06 [133.141.98.164]) by mx04.melco.co.jp (Postfix) with ESMTP id 4NGQvV1WzjzMvkZ7; Tue, 22 Nov 2022 10:01:58 +0900 (JST) Received: from mr06.melco.co.jp (unknown [127.0.0.1]) by mr06.imss (Postfix) with ESMTP id 4NGQvV0z5VzMqvXl; Tue, 22 Nov 2022 10:01:58 +0900 (JST) Received: from mf04_second.melco.co.jp (unknown [192.168.20.184]) by mr06.melco.co.jp (Postfix) with ESMTP id 4NGQvV0TsDzMqyHs; Tue, 22 Nov 2022 10:01:58 +0900 (JST) Received: from mf04.melco.co.jp (unknown [133.141.98.184]) by mf04_second.melco.co.jp (Postfix) with ESMTP id 4NGQvT6Gs6zMs8jv; Tue, 22 Nov 2022 10:01:57 +0900 (JST) Received: from JPN01-TYC-obe.outbound.protection.outlook.com (unknown [104.47.23.174]) by mf04.melco.co.jp (Postfix) with ESMTP id 4NGQvT5v5zzMs8kH; Tue, 22 Nov 2022 10:01:57 +0900 (JST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=CM8i/UsBiSEG6fx1hBA2jyoeVBI0xVdgNjUpeJlGysmyf1+g0SB34EOjconbGJwa9ALdf5XhBdRLcRyV0Q48C5hCGUFdR16BIE/TYI/KMdPx3+gFVOCDDvnl1WKgcndN0s53z6N/yNiOUQzvmHKtr+RWS/WcN9HcVfui5YXiUxMD7hPv6E8uUDCMgkuC24BVh7yXPov9OFKJrQrqiv9o6yupFbSe/+fON3MjQ6FcAjG+7bynl+2nv00cd+UZ16c92i3A5XalJa1/wZXb/+HMwD4TR9gCfcmgbYWC2UY5gt16x4an73k8vfIIfpvh/LCjGcBkNDHwsUVmXVPUKm95vw== 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=SeyNWayr3KJPpSwlItrHbD2GX59wQnX9Ddk878aNxOw=; b=oZGco59cyYCLvbdqWHlDwLsr34L0OyCCLgxUc5tkT/hSw8hS9QG4lN1e6Q/Tt/4UP4iAwrK1gJggRjRcvLQ78m78ckt6SLsbhL5eZUpOcH8WB16h7vrPHmpljaBacundf/gUHBABOZKYMNX4n21rWION4QCN7QqLTGkS+JFv25U4X5PiOlLLMcFqnnt2Iopz0FUCqQoPXa9D8+4dD/n2Wgyu+LWyAQfS0FDlHmkGKsRuaBhCzrohYFG2AfdpfFhjEcMd9++JwYeTmNhZ6dlWd66Vv11+DUWrSNJivtl3+MA4v0ZgQOHWc+yZmVeXA4XqYv4hhwQUR1vPFzcbBk4OQg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=df.mitsubishielectric.co.jp; dmarc=pass action=none header.from=df.mitsubishielectric.co.jp; dkim=pass header.d=df.mitsubishielectric.co.jp; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mitsubishielectricgroup.onmicrosoft.com; s=selector2-mitsubishielectricgroup-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=SeyNWayr3KJPpSwlItrHbD2GX59wQnX9Ddk878aNxOw=; b=jS3rKLaBxk7eelKwTBFz8hH9fcERlgHisRNGgQW1oFtT3LGKKkT7nj4OPpOAsIgBhs4D62SHYSUCct/ggFx+QCHNVwj+dqxoYyhwCuypkhTIDgDaU1JjnwUlxk7A1xgcmkiyi2OUWHzqiRG658+wX3J51BpU6j4Ac9P3K8W9Z7g= Received: from OS3PR01MB6660.jpnprd01.prod.outlook.com (2603:1096:604:10e::8) by OS3PR01MB9351.jpnprd01.prod.outlook.com (2603:1096:604:1cf::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5834.15; Tue, 22 Nov 2022 01:01:55 +0000 Received: from OS3PR01MB6660.jpnprd01.prod.outlook.com ([fe80::87de:9067:e3eb:231b]) by OS3PR01MB6660.jpnprd01.prod.outlook.com ([fe80::87de:9067:e3eb:231b%7]) with mapi id 15.20.5834.015; Tue, 22 Nov 2022 01:01:55 +0000 From: "Fujii.Yuki@df.MitsubishiElectric.co.jp" To: Alexander Pyhalov , Tomas Vondra , PostgreSQL-development CC: Andres Freund , Zhihong Yu , Julien Rouhaud , Daniel Gustafsson , Ilya Gladyshev , "Fujii.Yuki@df.MitsubishiElectric.co.jp" Subject: RE: Partial aggregates pushdown Thread-Topic: Partial aggregates pushdown Thread-Index: AQHYPYasTfJpCf0a4028YJm7JfY5bazLVbIAgAA/QgCAzsLGAICupJqA Date: Tue, 22 Nov 2022 01:01:55 +0000 Message-ID: References: <05d98f67a4f44b31d90dfb977db4ad71@postgrespro.ru> <317f8de58ce9889e056f2944e200a44d@postgrespro.ru> <2ed9ad03bc17cfb86da900d541a270b0@postgrespro.ru> <20220114121653.mjzqelwgnzwqhkoa@jrouhaud> <0cc653ad90dbfc5ca0fd8bb1ca57e1a7@postgrespro.ru> <2ad047732a8b8a9aaaad06fef59fb283@postgrespro.ru> <925e2d3f11283d8b2707fc5d827fc3e9@postgrespro.ru> <20220322004914.opkwl3beedl4uhks@alap3.anarazel.de> <57db913f-02c6-66af-2928-513e2b1c65f7@enterprisedb.com> <8dc86e502fbd9d04da0dc6cdd4156f84@postgrespro.ru> In-Reply-To: Accept-Language: ja-JP, en-US Content-Language: ja-JP X-MS-Has-Attach: yes X-MS-TNEF-Correlator: x-melpop: 1 authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=df.MitsubishiElectric.co.jp; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: OS3PR01MB6660:EE_|OS3PR01MB9351:EE_ x-ms-office365-filtering-correlation-id: d2f401b8-3d1d-4c70-1d13-08dacc25267d x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: cBZKdiS1X2SpV4xKwrPbrZZdUpyXAyytymRoi7XONzBPnJkyXzQh7GG2UhHn6TNEiMwqb/aqpEsXErrUVGuGei1rxYk2Zzk1ujLOMFTS6ws/l9WSdCTVjCWaVu8NpnlSzi2sw6bNjxdqmqwODK/bLVtX7BPsWSznFtDEX9/rFxjMfvJGb3jev788NhYFykPldL1C4O4wS+CuCcppSK+IEJmLS6qszJ/05Zy3GcxUZ6cbTKqHb+o24vn/K6hCfrao3rLeLvRJ45vGXDdmSAiwzFMie176pnNh9HF2cc62oeKeMg0EG6cJf7kl05bWaVkZ/L/OfmB4eKw2hJgF+d/C5h+LLmF81CEhGTeV5lFWtHX3dWtB0nUllIludfUxTETheYQoY8JIEdKVxobApOs4APIsnyqdCeXtjelkG5JodKp00cXrO/BpA0ZCZ8Zz1lpKesx2j2EpVXJLTwrOYcUqUxJE0SXS9yG3qp2FHAOfvgFI5AtsDkpqtKkaO7MaYN9USnXyxNAJTbrknDuocd+rUYRzVrlypb5g1FgbTlc9cLG+JgOo2/GUWJyK96LDIUiBCQ2CS4ivA12fvXEmd+945c+k0tH6Pcc/3X1HxS2gqKb7y4YhA+beFY0G8qQGFPOQWD0X9yXBijfXSMDa8PVTo1+4xmgg59nugz3YINo3BkgSmpjGsTN9bPBxhFRHaZZrOMYntc5uHSmap7gUAKApScB6Z9gKZzPrZBL61PpSilE= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:OS3PR01MB6660.jpnprd01.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(396003)(366004)(39860400002)(376002)(346002)(136003)(451199015)(107886003)(71200400001)(478600001)(66556008)(66946007)(66446008)(9686003)(110136005)(76116006)(41300700001)(64756008)(4326008)(8676002)(7116003)(66476007)(52536014)(8936002)(186003)(26005)(33656002)(5660300002)(316002)(6506007)(54906003)(7696005)(55236004)(83380400001)(2906002)(86362001)(3480700007)(55016003)(122000001)(99936003)(38100700002)(38070700005)(95630200002);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-2022-jp?B?YXpJa1V5N3NXVGxDblJkY3o2aXlRcWJCV2h3c21OYWc2RGZkUCtuSURi?= =?iso-2022-jp?B?SytRZXB5YTRNMUY4UWZGWXAvVDlRc1FXOXBLTmJiaThoZFhla3RmU2pO?= =?iso-2022-jp?B?K29WNEh4Z0lseDYzb2tUck1SOW16dWlkeHVEaGlNeWNNK0hUWml5d1Rr?= =?iso-2022-jp?B?T3VNcVNXVEtOU2NQUVNRM2hVVGNFQXlLUC9uZ2RDNXlGS09nNnFNS1JC?= =?iso-2022-jp?B?WHorTW9YR1RiV1V6VEtubXQ0S0pjemRkcUJNNTJXeVE1dFJHNm1JL0Ft?= =?iso-2022-jp?B?WGZTWW9RTFlnRGdGd2JtT0ZGMEhyRTBVT2d2QWZyOUhPVW1rMHdwaGFl?= =?iso-2022-jp?B?azBaelZpUWVuUlljVGdzT2FOTEdkZFNLV1dEdUVtVS8zdE4yRnBMYy9j?= =?iso-2022-jp?B?bTYvR2dZL1plQ2Q0Z1hPVWNxZ3BCY016dEtabmxISFRHNHIycy9rR2Vy?= =?iso-2022-jp?B?S2pTNllPVlpVd3dTM2JaZUNxdFRVWnBDWHFBWmhoRGhMdE02VUY3T0VV?= =?iso-2022-jp?B?c1N3K1JkYzh1eHhJZy9xUHM2b1pjZVZpOEo4UmttU1hKYTVVS1owL0ZX?= =?iso-2022-jp?B?OWZwSUovSWZNcW1FeUdHSmJSNnNueFdrMWh6MkM3RWRZVXIrZFNUYXJX?= =?iso-2022-jp?B?RjBpRE9yRTZFWW5hOGRVV2psdTRoai8yYkVlM1Q2T1JDOStxTGtSNVUw?= =?iso-2022-jp?B?Q1o0RGNXZ1ZMUGFtbEh2WHNvckk0TldJbE1KL0FtVHlUS0RDSmFZUGY2?= =?iso-2022-jp?B?SDZzUHlhVTc1c2gxNG9iOTR4VkJDUXBPWEZ1SDdES1NmcHhXMENYZ1RY?= =?iso-2022-jp?B?L2MzdklpR0FibCswVjBqdnQ5NDgwbDdoQk92MUp2bHl5VS9xN1N4OVI5?= =?iso-2022-jp?B?Tm85Q1JPbG91M3ZxMnRteVlpY096L3kyZW1ReitKSlZUcjdyckVXNm9E?= =?iso-2022-jp?B?SFNHQzJ4eWpNbGhqN1FNNjUwK0VFVk4wWXQ2YVNRUGRvbU52aWQzQTIx?= =?iso-2022-jp?B?YjZGRUtMVXNMUWxET3JhenlwaUFkWGgzNG5ld0RRNFRIemphSkMvVjc3?= =?iso-2022-jp?B?V291UFl2UWxrYjlWSFJaaU43R1VCQ0RmODgrS3JyYmxubVMweGNYQzBV?= =?iso-2022-jp?B?NFlwV2lLOUpvMGZCRnlmZ0JGTWpxSnJhUzVxRG5pdTRTb3U2ajVpQnhp?= =?iso-2022-jp?B?am02MUJEb2NyeE9lVnFBZG9vNzYxdjEycWw0WjR2cy9JbHVSYStCaHA0?= =?iso-2022-jp?B?WTQ0VDNFOXpMWFpMZEdIMG14NTE3ODgvVmdNVXdDSjE2elYxT2tWNmNa?= =?iso-2022-jp?B?Wm5Cd0dvVDU3VkxEVU9xVjVSZnNianNrWHAyUlNTVkduNHVmLy9RbzBS?= =?iso-2022-jp?B?MTZWeS9XeTZ1cE55ZnkxUzA4MkZNckJhNkR2OWE3YStTK0FTQ0ZkVm13?= =?iso-2022-jp?B?M1lieUR2UFkzRFZsZDlCYjRYOWQzZisxdmNPK3hNSlJUcnlrVmhCYjBC?= =?iso-2022-jp?B?bmRCL2V4QU5sV0V1blVBc3pFN3FyWVdKKytYWWM4c3NaOWFqWU85aUlj?= =?iso-2022-jp?B?V1V1eXkvSDk5VmlKclpzQmFCUnRtdmtoL2Q5RE9Ga0dJOW52NTViNU5R?= =?iso-2022-jp?B?Qk9wOVFsQUFwZEtIL3k4cktDampDdnRxZEZ6QXdiY1JrOFBZYUdOUEx0?= =?iso-2022-jp?B?VmxTZ2diU3RPUnNqMzNMZzdKeEIrOGxleFpHdzZ5cjE3cDdSZHptUXVV?= =?iso-2022-jp?B?R0pLaU5zaEUwa0tuTUpkSGFCRTBZYjhHVm5ZWkx0VnhuQStQZk9XZThr?= =?iso-2022-jp?B?VEx0bnFBeml3aWVpbnF5TVVuMHpuV3N4SUM5bi9XeWxNcllNdUsvTTJq?= =?iso-2022-jp?B?b2w1eTRaR3doaFhDLzVtampMWHdwZU5MN2JFRno0UXArWm5rdXBLMFhP?= =?iso-2022-jp?B?b2NoTFJXU3kyUGVDY1VRaGVVVGdGVWd4aWxiVm1Ec2lMZEpPdzJ6SkZh?= =?iso-2022-jp?B?bDh6cE4yeG84WnhXOXJ6ZUlXWWwvZEdxRTd2YW5Xcm8vNUJEaXJYek1j?= =?iso-2022-jp?B?akpRWnRRaEl3SEtMNGJrT1d5Nlk2RDR1VWI3YWZZNi9iZjJ4SXN1QkRV?= =?iso-2022-jp?B?YUJ2MDU3UE0zNERXTDFQZjJibHFESUV1bVpZUGV4Si94eXJ0NmIvWjBv?= =?iso-2022-jp?B?TlkyTzVXTjFubjh2UHZWcTByWHpmVHN2SFRON211MWpJWDZ4N28wWGlH?= =?iso-2022-jp?B?akcxK05yQVBvb2pzVXl1RWxoSFN3aHFwTXVaUnJHTXgra01ETGxVWTk1?= =?iso-2022-jp?B?QitMTA==?= Content-Type: multipart/mixed; boundary="_002_OS3PR01MB66607C2ABBDAEE150F32E24C950D9OS3PR01MB6660jpnp_" MIME-Version: 1.0 X-OriginatorOrg: df.MitsubishiElectric.co.jp X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: OS3PR01MB6660.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: d2f401b8-3d1d-4c70-1d13-08dacc25267d X-MS-Exchange-CrossTenant-originalarrivaltime: 22 Nov 2022 01:01:55.7467 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: c5a75b62-4bff-4c96-a720-6621ce9978e5 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: aCHpoJVu8cv1sLfNEYYSEtGtpgLp4iOBO47zY7ecuFmUqGI7Su9JbFNmfDvIKFW9fA+HCIxpuq1INYN2p1RMiA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: OS3PR01MB9351 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --_002_OS3PR01MB66607C2ABBDAEE150F32E24C950D9OS3PR01MB6660jpnp_ Content-Type: text/plain; charset="iso-2022-jp" Content-Transfer-Encoding: quoted-printable Hi Mr.Vondra, Mr.Pyhalov, Everyone. I discussed with Mr.Pyhalov about the above draft by directly sending mail = to=20 him(outside of pgsql-hackers). Mr.Pyhalov allowed me to update his patch=20 along with the above draft. So I update Mr.Pyhalov's patch v10. I wrote my patch for discussion.=20 My patch passes regression tests which contains additional basic postgres_f= dw tests for my patch's feature. But my patch doesn't contain sufficient documents a= nd tests. If reviewers accept my approach, I will add documents and tests to my patch= . The following is a my patch's readme.=20 # I simplified the above draft. --readme of my patch 1. interface 1) pg_aggregate There are the following additional columns. a) partialaggfn data type : regproc. default value: zero(means invalid). description : This field refers to the special aggregate function(then w= e call this partialaggfunc) corresponding to aggregation function(then we call src) which has aggfn= oid. partialaggfunc is used for partial aggregation pushdown by postgres_fdw= . The followings are differences between the src and the special aggregat= e function. difference1) result type The result type is same as the src's transtype if the src's transty= pe is not internal. Otherwise the result type is bytea. difference2) final func The final func does not exist if the src's transtype is not interna= l. Otherwize the final func returns serialized value. For example, there is a partialaggfunc avg_p_int4 which corresponds to = avg(int4) whose aggtranstype is _int4. The result value of avg_p_int4 is a float8 array which consists of coun= t and=20 summation. avg_p_int4 does not have finalfunc. For another example, there is a partialaggfunc avg_p_int8 which corresp= onds to=20 avg(int8) whose aggtranstype is internal. The result value of avg_p_int8 is a bytea serialized array which consis= ts of count=20 and summation. avg_p_int8 has finalfunc int8_avg_serialize which is ser= ialize function of avg(int8). This field is zero if there is no partialaggfunc. b) partialagg_minversion data type : int4. default value: zero(means current version). description : This field is the minimum PostgreSQL server version which = has=20 partialaggfunc. This field is used for checking compatibility of partia= laggfunc. The above fields are valid in tuples for builtin avg, sum, min, max, count. There are additional records which correspond to partialaggfunc for avg, su= m, min, max,=20 count. 2) pg_proc There are additional records which correspond to partialaggfunc for avg, su= m, min, max,=20 count. 3) postgres_fdw postgres_fdw has an additional foreign server option server_version. server= _version is=20 integer value which means remote server version number. Default value of se= rver_version=20 is zero. server_version is used for checking compatibility of partialaggfun= c. 2. feature postgres_fdw can pushdown partial aggregation of avg, sum, min, max, count. Partial aggregation pushdown is fine when the following two conditions are = both true. condition1) partialaggfn is valid. condition2) server_version is not less than partialagg_minversion postgres_fdw executes pushdown the patialaggfunc instead of a src. For example, we issue "select avg_p_int4(c) from t" instead of "select avg(= c) from t" in the above example. postgres_fdw can pushdown every aggregate function which supports partial a= ggregation if you add a partialaggfunc corresponding to the aggregate function by crea= te aggregate=20 command. 3. difference between my patch and Mr.Pyhalov's v10 patch. 1) In my patch postgres_fdw can pushdown partial aggregation of avg 2) In my patch postgres_fdw can pushdown every aggregate function which sup= ports partial=20 aggregation if you add a partialaggfunc corresponding to the aggregate fu= nction. 4. sample commands in psql \c postgres drop database tmp; create database tmp; \c tmp create extension postgres_fdw; create server server_01 foreign data wrapper postgres_fdw options(host 'loc= alhost', dbname 'tmp', server_version '160000', async_capable 'true'); create user mapping for postgres server server_01 options(user 'postgres', = password 'postgres'); create server server_02 foreign data wrapper postgres_fdw options(host 'loc= alhost', dbname 'tmp', server_version '160000', async_capable 'true'); create user mapping for postgres server server_02 options(user 'postgres', = password 'postgres'); create table t(dt timestamp, id int4, name text, total int4, val float4, ty= pe int4, span interval) partition by list (type); create table t1(dt timestamp, id int4, name text, total int4, val float4, t= ype int4, span interval); create table t2(dt timestamp, id int4, name text, total int4, val float4, t= ype int4, span interval); truncate table t1; truncate table t2; insert into t1 select timestamp'2020-01-01' + cast(t || ' seconds' as inter= val), t % 100, 'hoge' || t, 1, 1.1, 1, cast('1 seconds' as interval) from g= enerate_series(1, 100000, 1) t; insert into t1 select timestamp'2020-01-01' + cast(t || ' seconds' as inter= val), t % 100, 'hoge' || t, 2, 2.1, 1, cast('2 seconds' as interval) from g= enerate_series(1, 100000, 1) t; insert into t2 select timestamp'2020-01-01' + cast(t || ' seconds' as inter= val), t % 100, 'hoge' || t, 1, 1.1, 2, cast('1 seconds' as interval) from g= enerate_series(1, 100000, 1) t; insert into t2 select timestamp'2020-01-01' + cast(t || ' seconds' as inter= val), t % 100, 'hoge' || t, 2, 2.1, 2, cast('2 seconds' as interval) from g= enerate_series(1, 100000, 1) t; create foreign table f_t1 partition of t for values in (1) server server_01= options(table_name 't1'); create foreign table f_t2 partition of t for values in (2) server server_02= options(table_name 't2'); set enable_partitionwise_aggregate =3D on; explain (verbose, costs off) select avg(total::int4), avg(total::int8) from= t; select avg(total::int4), avg(total::int8) from t; Sincerely yours, Yuuki Fujii -- Yuuki Fujii Information Technology R&D Center Mitsubishi Electric Corporation --_002_OS3PR01MB66607C2ABBDAEE150F32E24C950D9OS3PR01MB6660jpnp_ Content-Type: application/octet-stream; name="0001-Partial-aggregates-push-down-v11.patch" Content-Description: 0001-Partial-aggregates-push-down-v11.patch Content-Disposition: attachment; filename="0001-Partial-aggregates-push-down-v11.patch"; size=109697; creation-date="Mon, 21 Nov 2022 10:17:00 GMT"; modification-date="Tue, 22 Nov 2022 01:01:55 GMT" Content-Transfer-Encoding: base64 RnJvbSBkY2RmNGQxMDdkYzFkMDYyZjU0ZTkxYWJmYWM3MDk5OTU2YjE3OTg4IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBZdWtpIEZ1amlpIDxGdWppaS5ZdWtpQGRmLk1pdHN1YmlzaGlF bGVjdHJpYy5jby5qcD4KRGF0ZTogU2F0LCAxOSBOb3YgMjAyMiAxODowMDowMSArMDkwMApTdWJq ZWN0OiBbUEFUQ0hdIFBhcnRpYWwgYWdncmVnYXRlcyBwdXNoIGRvd24gdjExCgotLS0KIGNvbnRy aWIvcG9zdGdyZXNfZmR3L2RlcGFyc2UuYyAgICAgICAgICAgICAgICB8ICA5MSArKysrLQogLi4u L3Bvc3RncmVzX2Zkdy9leHBlY3RlZC9wb3N0Z3Jlc19mZHcub3V0ICAgIHwgMjQ2ICsrKysrKysr KysrLQogY29udHJpYi9wb3N0Z3Jlc19mZHcvb3B0aW9uLmMgICAgICAgICAgICAgICAgIHwgIDI0 ICsrCiBjb250cmliL3Bvc3RncmVzX2Zkdy9wb3N0Z3Jlc19mZHcuYyAgICAgICAgICAgfCAgMjUg Ky0KIGNvbnRyaWIvcG9zdGdyZXNfZmR3L3Bvc3RncmVzX2Zkdy5oICAgICAgICAgICB8ICAgMyAr CiBjb250cmliL3Bvc3RncmVzX2Zkdy9zcWwvcG9zdGdyZXNfZmR3LnNxbCAgICAgfCAgNTQgKyst CiBzcmMvYmFja2VuZC9jYXRhbG9nL3BnX2FnZ3JlZ2F0ZS5jICAgICAgICAgICAgfCAgNTAgKyst CiBzcmMvYmFja2VuZC9jb21tYW5kcy9hZ2dyZWdhdGVjbWRzLmMgICAgICAgICAgfCAgIDggKwog c3JjL2Jpbi9wZ19kdW1wL3BnX2R1bXAuYyAgICAgICAgICAgICAgICAgICAgIHwgIDI1ICstCiBz cmMvaW5jbHVkZS9jYXRhbG9nL3BnX2FnZ3JlZ2F0ZS5kYXQgICAgICAgICAgfCAzNjcgKysrKysr KysrKysrKysrLS0tCiBzcmMvaW5jbHVkZS9jYXRhbG9nL3BnX2FnZ3JlZ2F0ZS5oICAgICAgICAg ICAgfCAgMTEgKwogc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRhdCAgICAgICAgICAgICAg IHwgMjA3ICsrKysrKysrKysKIHNyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvb2lkam9pbnMub3V0 ICAgICAgICB8ICAgMSArCiBzcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL29wcl9zYW5pdHkub3V0 ICAgICAgfCAxMjAgKysrKystCiAxNCBmaWxlcyBjaGFuZ2VkLCAxMTE3IGluc2VydGlvbnMoKyks IDExNSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9jb250cmliL3Bvc3RncmVzX2Zkdy9kZXBh cnNlLmMgYi9jb250cmliL3Bvc3RncmVzX2Zkdy9kZXBhcnNlLmMKaW5kZXggOTUyNDc2NTY1MC4u MzM0MTYxNTczNyAxMDA2NDQKLS0tIGEvY29udHJpYi9wb3N0Z3Jlc19mZHcvZGVwYXJzZS5jCisr KyBiL2NvbnRyaWIvcG9zdGdyZXNfZmR3L2RlcGFyc2UuYwpAQCAtMjAyLDcgKzIwMiw3IEBAIHN0 YXRpYyBib29sIGlzX3N1YnF1ZXJ5X3ZhcihWYXIgKm5vZGUsIFJlbE9wdEluZm8gKmZvcmVpZ25y ZWwsCiAJCQkJCQkJaW50ICpyZWxubywgaW50ICpjb2xubyk7CiBzdGF0aWMgdm9pZCBnZXRfcmVs YXRpb25fY29sdW1uX2FsaWFzX2lkcyhWYXIgKm5vZGUsIFJlbE9wdEluZm8gKmZvcmVpZ25yZWws CiAJCQkJCQkJCQkJICBpbnQgKnJlbG5vLCBpbnQgKmNvbG5vKTsKLQorc3RhdGljIGJvb2wgcGFy dGlhbF9hZ2dfb2soQWdncmVmKiBhZ2csIFBnRmR3UmVsYXRpb25JbmZvKiBmcGluZm8pOwogCiAv KgogICogRXhhbWluZSBlYWNoIHF1YWwgY2xhdXNlIGluIGlucHV0X2NvbmRzLCBhbmQgY2xhc3Np ZnkgdGhlbSBpbnRvIHR3byBncm91cHMsCkBAIC05MDcsOCArOTA3LDkgQEAgZm9yZWlnbl9leHBy X3dhbGtlcihOb2RlICpub2RlLAogCQkJCWlmICghSVNfVVBQRVJfUkVMKGdsb2JfY3h0LT5mb3Jl aWducmVsKSkKIAkJCQkJcmV0dXJuIGZhbHNlOwogCi0JCQkJLyogT25seSBub24tc3BsaXQgYWdn cmVnYXRlcyBhcmUgcHVzaGFibGUuICovCi0JCQkJaWYgKGFnZy0+YWdnc3BsaXQgIT0gQUdHU1BM SVRfU0lNUExFKQorCQkJCWlmICgoYWdnLT5hZ2dzcGxpdCAhPSBBR0dTUExJVF9TSU1QTEUpICYm IChhZ2ctPmFnZ3NwbGl0ICE9IEFHR1NQTElUX0lOSVRJQUxfU0VSSUFMKSkKKwkJCQkJcmV0dXJu IGZhbHNlOworCQkJCWlmIChhZ2ctPmFnZ3NwbGl0ID09IEFHR1NQTElUX0lOSVRJQUxfU0VSSUFM ICYmICFwYXJ0aWFsX2FnZ19vayhhZ2csIGZwaW5mbykpCiAJCQkJCXJldHVybiBmYWxzZTsKIAog CQkJCS8qIEFzIHVzdWFsLCBpdCBtdXN0IGJlIHNoaXBwYWJsZS4gKi8KQEAgLTM0NDgsMTQgKzM0 NDksMzMgQEAgZGVwYXJzZUFnZ3JlZihBZ2dyZWYgKm5vZGUsIGRlcGFyc2VfZXhwcl9jeHQgKmNv bnRleHQpCiAJU3RyaW5nSW5mbwlidWYgPSBjb250ZXh0LT5idWY7CiAJYm9vbAkJdXNlX3Zhcmlh ZGljOwogCi0JLyogT25seSBiYXNpYywgbm9uLXNwbGl0IGFnZ3JlZ2F0aW9uIGFjY2VwdGVkLiAq LwotCUFzc2VydChub2RlLT5hZ2dzcGxpdCA9PSBBR0dTUExJVF9TSU1QTEUpOworCisJQXNzZXJ0 KChub2RlLT5hZ2dzcGxpdCA9PSBBR0dTUExJVF9TSU1QTEUpIHx8CisJCShub2RlLT5hZ2dzcGxp dCA9PSBBR0dTUExJVF9JTklUSUFMX1NFUklBTCkpOwogCiAJLyogQ2hlY2sgaWYgbmVlZCB0byBw cmludCBWQVJJQURJQyAoY2YuIHJ1bGV1dGlscy5jKSAqLwogCXVzZV92YXJpYWRpYyA9IG5vZGUt PmFnZ3ZhcmlhZGljOwogCi0JLyogRmluZCBhZ2dyZWdhdGUgbmFtZSBmcm9tIGFnZ2Zub2lkIHdo aWNoIGlzIGEgcGdfcHJvYyBlbnRyeSAqLwotCWFwcGVuZEZ1bmN0aW9uTmFtZShub2RlLT5hZ2dm bm9pZCwgY29udGV4dCk7CisJaWYgKChub2RlLT5hZ2dzcGxpdCA9PSBBR0dTUExJVF9TSU1QTEUp KSB7CisJCWFwcGVuZEZ1bmN0aW9uTmFtZShub2RlLT5hZ2dmbm9pZCwgY29udGV4dCk7CisJfQor CWVsc2UgeworCQlIZWFwVHVwbGUgICAgICAgICBhZ2d0dXA7CisJCUZvcm1fcGdfYWdncmVnYXRl IGFnZ2Zvcm07CisKKwkJLyogRmluZCBhZ2dyZWdhdGUgbmFtZSBmcm9tIGFnZ2Zub2lkIHdoaWNo IGlzIGEgcGdfcHJvYyBlbnRyeSAqLworCQlhZ2d0dXAgPSBTZWFyY2hTeXNDYWNoZTEoQUdHRk5P SUQsIE9iamVjdElkR2V0RGF0dW0obm9kZS0+YWdnZm5vaWQpKTsKKwkJaWYgKCFIZWFwVHVwbGVJ c1ZhbGlkKGFnZ3R1cCkpCisJCQllbG9nKEVSUk9SLCAiY2FjaGUgbG9va3VwIGZhaWxlZCBmb3Ig ZnVuY3Rpb24gJXUiLCBub2RlLT5hZ2dmbm9pZCk7CisJCWFnZ2Zvcm0gPSAoRm9ybV9wZ19hZ2dy ZWdhdGUpR0VUU1RSVUNUKGFnZ3R1cCk7CisJCWlmIChhZ2dmb3JtLT5wYXJ0aWFsYWdnZm4pIHsK KwkJCWFwcGVuZEZ1bmN0aW9uTmFtZSgoT2lkKShhZ2dmb3JtLT5wYXJ0aWFsYWdnZm4pLCBjb250 ZXh0KTsKKwkJfSBlbHNlIHsKKwkJCWVsb2coRVJST1IsICJ0aGVyZSBpbiBubyBwYXJ0aWFsYWdn Zm4gJXUiLCBub2RlLT5hZ2dmbm9pZCk7CisJCX0KKwkJUmVsZWFzZVN5c0NhY2hlKGFnZ3R1cCk7 CisJfQorCiAJYXBwZW5kU3RyaW5nSW5mb0NoYXIoYnVmLCAnKCcpOwogCiAJLyogQWRkIERJU1RJ TkNUICovCkBAIC0zOTYxLDMgKzM5ODEsNjAgQEAgZ2V0X3JlbGF0aW9uX2NvbHVtbl9hbGlhc19p ZHMoVmFyICpub2RlLCBSZWxPcHRJbmZvICpmb3JlaWducmVsLAogCS8qIFNob3VsZG4ndCBnZXQg aGVyZSAqLwogCWVsb2coRVJST1IsICJ1bmV4cGVjdGVkIGV4cHJlc3Npb24gaW4gc3VicXVlcnkg b3V0cHV0Iik7CiB9CisKKy8qCisgKiBDaGVjayB0aGF0IHBhcnRpYWwgYWdncmVnYXRlIGFnZyBo YXMgY29tcGF0aWJpbGl0eQorICovCitzdGF0aWMgYm9vbAorcGFydGlhbF9hZ2dfY29tcGF0aWJs ZShGb3JtX3BnX2FnZ3JlZ2F0ZSBhZ2dmb3JtLCBQZ0Zkd1JlbGF0aW9uSW5mbyAqZnBpbmZvKQor eworCWJvb2wgICBjb21wYXRpYmxlID0gZmFsc2U7CisJaW50MzIgIHBhcnRpYWxhZ2dfbWludmVy c2lvbiA9IFBHX1ZFUlNJT05fTlVNOworCWlmIChhZ2dmb3JtLT5wYXJ0aWFsYWdnX21pbnZlcnNp b24gPT0gUEFSVElBTEFHR19NSU5WRVJTSU9OX0RFRkFVTFQpIHsKKwkJcGFydGlhbGFnZ19taW52 ZXJzaW9uID0gUEdfVkVSU0lPTl9OVU07CisJfQorCWVsc2UgeworCQlwYXJ0aWFsYWdnX21pbnZl cnNpb24gPSBhZ2dmb3JtLT5wYXJ0aWFsYWdnX21pbnZlcnNpb247CisJfQorCS8qIHRoZSBvcHRp b24gdmFsdWUgb2Ygc2VydmVydmVyc2lvbiBpcyBpbiBjb21wYXRpYmxldmVyc29ucmFuZ2UgKi8K KwlpZiAoKGZwaW5mby0+c2VydmVyX3ZlcnNpb24gPj0gcGFydGlhbGFnZ19taW52ZXJzaW9uKSkg eworCQljb21wYXRpYmxlID0gdHJ1ZTsKKwl9CisJcmV0dXJuIGNvbXBhdGlibGU7Cit9CisvKgor ICogQ2hlY2sgdGhhdCBwYXJ0aWFsIGFnZ3JlZ2F0ZSBhZ2cgaXMgZmluZSB0byBwdXNoIGRvd24K KyAqCisgKiBDaGVjayB0aGF0IGl0J3MgQUdHS0lORF9OT1JNQUwgYWdncmVnYXRlIHdpdGhvdXQK KyAqIGRpc3RpbmN0IG9yIG9yZGVyIGJ5IGNsYXVzZXMsIHdoaWNoIGhhcyB2YWxpZCBwYXJ0aWFs YWdnZm4KKyAqIGFuZCBwYXJ0aWFsYWdnX21pbnZlcnNpb24gPD0gc2VydmVyX3ZlcnNpb24KKyAq Lworc3RhdGljIGJvb2wKK3BhcnRpYWxfYWdnX29rKEFnZ3JlZiogYWdnLCBQZ0Zkd1JlbGF0aW9u SW5mbyAqZnBpbmZvKQoreworCUhlYXBUdXBsZQlhZ2d0dXA7CisJRm9ybV9wZ19hZ2dyZWdhdGUg YWdnZm9ybTsKKwlib29sICAgICAgICBwYXJ0aWFsX2FnZ19vayA9IHRydWU7CisKKwlBc3NlcnQo YWdnLT5hZ2dzcGxpdCA9PSBBR0dTUExJVF9JTklUSUFMX1NFUklBTCk7CisKKwkvKiBXZSBkb24n dCBzdXBwb3J0IGNvbXBsZXggcGFydGlhbCBhZ2dyZWdhdGVzICovCisJaWYgKGFnZy0+YWdnZGlz dGluY3QgfHwgYWdnLT5hZ2draW5kICE9IEFHR0tJTkRfTk9STUFMIHx8IGFnZy0+YWdnb3JkZXIg IT0gTklMKQorCQlyZXR1cm4gZmFsc2U7CisKKwlhZ2d0dXAgPSBTZWFyY2hTeXNDYWNoZTEoQUdH Rk5PSUQsIE9iamVjdElkR2V0RGF0dW0oYWdnLT5hZ2dmbm9pZCkpOworCWlmICghSGVhcFR1cGxl SXNWYWxpZChhZ2d0dXApKQorCQllbG9nKEVSUk9SLCAiY2FjaGUgbG9va3VwIGZhaWxlZCBmb3Ig ZnVuY3Rpb24gJXUiLCBhZ2ctPmFnZ2Zub2lkKTsKKwlhZ2dmb3JtID0gKEZvcm1fcGdfYWdncmVn YXRlKUdFVFNUUlVDVChhZ2d0dXApOworCisJLyogT25seSBhZ2dyZWdhdGVzIHdoaWNoIGhhcyBw YXJ0aWFsYWdnZm4sIGFyZSBhbGxvd2VkICovCisJaWYgKCFhZ2dmb3JtLT5wYXJ0aWFsYWdnZm4p CisJeworCQlwYXJ0aWFsX2FnZ19vayA9IGZhbHNlOworCX0gZWxzZSBpZighcGFydGlhbF9hZ2df Y29tcGF0aWJsZShhZ2dmb3JtLCBmcGluZm8pKSB7CisJCXBhcnRpYWxfYWdnX29rID0gZmFsc2U7 CisJfQorCisJUmVsZWFzZVN5c0NhY2hlKGFnZ3R1cCk7CisJcmV0dXJuIHBhcnRpYWxfYWdnX29r OworfQpkaWZmIC0tZ2l0IGEvY29udHJpYi9wb3N0Z3Jlc19mZHcvZXhwZWN0ZWQvcG9zdGdyZXNf ZmR3Lm91dCBiL2NvbnRyaWIvcG9zdGdyZXNfZmR3L2V4cGVjdGVkL3Bvc3RncmVzX2Zkdy5vdXQK aW5kZXggNTU4ZTk0Yjg0NS4uY2YwZjI3MDk0NiAxMDA2NDQKLS0tIGEvY29udHJpYi9wb3N0Z3Jl c19mZHcvZXhwZWN0ZWQvcG9zdGdyZXNfZmR3Lm91dAorKysgYi9jb250cmliL3Bvc3RncmVzX2Zk dy9leHBlY3RlZC9wb3N0Z3Jlc19mZHcub3V0CkBAIC05NjQ1LDEzICs5NjQ1LDM0IEBAIFJFU0VU IGVuYWJsZV9wYXJ0aXRpb253aXNlX2pvaW47CiAtLSA9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAtLSB0ZXN0IHBhcnRp dGlvbndpc2UgYWdncmVnYXRlcwogLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotQ1JFQVRFIFRBQkxFIHBhZ2dfdGFi IChhIGludCwgYiBpbnQsIGMgdGV4dCkgUEFSVElUSU9OIEJZIFJBTkdFKGEpOworQ1JFQVRFIE9S IFJFUExBQ0UgRlVOQ1RJT04gZl9zZXJ2ZXJfdmVyc2lvbl9sYWcodmVyc2lvbl9vZmZzZXQgaW50 NCkgUkVUVVJOUyBuYW1lIEFTICQkCisgICAgU0VMRUNUIChzZXR0aW5nOjppbnQ0ICsgdmVyc2lv bl9vZmZzZXQpOjpuYW1lIEZST00gcGdfc2V0dGluZ3MgV0hFUkUgbmFtZSA9ICdzZXJ2ZXJfdmVy c2lvbl9udW0nOworJCQgTEFOR1VBR0Ugc3FsOworQ1JFQVRFIE9SIFJFUExBQ0UgRlVOQ1RJT04g Zl9hbHRlcl9zZXJ2ZXJfdmVyc2lvbihzZXJ2ZXJfbmFtZSBuYW1lLCBvcGVyYXRpb24gdGV4dCwg dmVyc2lvbl9vZmZzZXQgaW50NCkgUkVUVVJOUyB2b2lkIEFTICQkCisgICAgREVDTEFSRQorICAg ICAgICB2ZXJzaW9uX251bSBuYW1lOworICAgIEJFR0lOCisgICAgICAgIEVYRUNVVEUgJ1NFTEVD VCBmX3NlcnZlcl92ZXJzaW9uX2xhZygkMSkgJworICAgICAgICAgICAgSU5UTyB2ZXJzaW9uX251 bQorICAgICAgICAgICAgVVNJTkcgdmVyc2lvbl9vZmZzZXQ7CisgICAgICAgIEVYRUNVVEUgZm9y bWF0KCdBTFRFUiBTRVJWRVIgJUkgT1BUSU9OUyAoJUkgc2VydmVyX3ZlcnNpb24gJUwpJywKKyAg ICAgICAgICAgIHNlcnZlcl9uYW1lLCBvcGVyYXRpb24sIHZlcnNpb25fbnVtKTsKKyAgICAgICAg UkVUVVJOOworICAgIEVORDsKKyQkIExBTkdVQUdFIHBscGdzcWw7CitTRUxFQ1QgZl9hbHRlcl9z ZXJ2ZXJfdmVyc2lvbignbG9vcGJhY2snLCAnYWRkJywgMCk7CisgZl9hbHRlcl9zZXJ2ZXJfdmVy c2lvbiAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIAorKDEgcm93KQorCitDUkVBVEUgVEFC TEUgcGFnZ190YWIgKGEgaW50LCBiIGludCwgYyB0ZXh0LCBkIGludDQpIFBBUlRJVElPTiBCWSBS QU5HRShhKTsKIENSRUFURSBUQUJMRSBwYWdnX3RhYl9wMSAoTElLRSBwYWdnX3RhYik7CiBDUkVB VEUgVEFCTEUgcGFnZ190YWJfcDIgKExJS0UgcGFnZ190YWIpOwogQ1JFQVRFIFRBQkxFIHBhZ2df dGFiX3AzIChMSUtFIHBhZ2dfdGFiKTsKLUlOU0VSVCBJTlRPIHBhZ2dfdGFiX3AxIFNFTEVDVCBp ICUgMzAsIGkgJSA1MCwgdG9fY2hhcihpLzMwLCAnRk0wMDAwJykgRlJPTSBnZW5lcmF0ZV9zZXJp ZXMoMSwgMzAwMCkgaSBXSEVSRSAoaSAlIDMwKSA8IDEwOwotSU5TRVJUIElOVE8gcGFnZ190YWJf cDIgU0VMRUNUIGkgJSAzMCwgaSAlIDUwLCB0b19jaGFyKGkvMzAsICdGTTAwMDAnKSBGUk9NIGdl bmVyYXRlX3NlcmllcygxLCAzMDAwKSBpIFdIRVJFIChpICUgMzApIDwgMjAgYW5kIChpICUgMzAp ID49IDEwOwotSU5TRVJUIElOVE8gcGFnZ190YWJfcDMgU0VMRUNUIGkgJSAzMCwgaSAlIDUwLCB0 b19jaGFyKGkvMzAsICdGTTAwMDAnKSBGUk9NIGdlbmVyYXRlX3NlcmllcygxLCAzMDAwKSBpIFdI RVJFIChpICUgMzApIDwgMzAgYW5kIChpICUgMzApID49IDIwOworSU5TRVJUIElOVE8gcGFnZ190 YWJfcDEgU0VMRUNUIGkgJSAzMCwgaSAlIDUwLCB0b19jaGFyKGkvMzAsICdGTTAwMDAnKSwgaSAl IDQwIEZST00gZ2VuZXJhdGVfc2VyaWVzKDEsIDMwMDApIGkgV0hFUkUgKGkgJSAzMCkgPCAxMDsK K0lOU0VSVCBJTlRPIHBhZ2dfdGFiX3AyIFNFTEVDVCBpICUgMzAsIGkgJSA1MCwgdG9fY2hhcihp LzMwLCAnRk0wMDAwJyksIGkgJSA0MCBGUk9NIGdlbmVyYXRlX3NlcmllcygxLCAzMDAwKSBpIFdI RVJFIChpICUgMzApIDwgMjAgYW5kIChpICUgMzApID49IDEwOworSU5TRVJUIElOVE8gcGFnZ190 YWJfcDMgU0VMRUNUIGkgJSAzMCwgaSAlIDUwLCB0b19jaGFyKGkvMzAsICdGTTAwMDAnKSwgaSAl IDQwIEZST00gZ2VuZXJhdGVfc2VyaWVzKDEsIDMwMDApIGkgV0hFUkUgKGkgJSAzMCkgPCAzMCBh bmQgKGkgJSAzMCkgPj0gMjA7CiAtLSBDcmVhdGUgZm9yZWlnbiBwYXJ0aXRpb25zCiBDUkVBVEUg Rk9SRUlHTiBUQUJMRSBmcGFnZ190YWJfcDEgUEFSVElUSU9OIE9GIHBhZ2dfdGFiIEZPUiBWQUxV RVMgRlJPTSAoMCkgVE8gKDEwKSBTRVJWRVIgbG9vcGJhY2sgT1BUSU9OUyAodGFibGVfbmFtZSAn cGFnZ190YWJfcDEnKTsKIENSRUFURSBGT1JFSUdOIFRBQkxFIGZwYWdnX3RhYl9wMiBQQVJUSVRJ T04gT0YgcGFnZ190YWIgRk9SIFZBTFVFUyBGUk9NICgxMCkgVE8gKDIwKSBTRVJWRVIgbG9vcGJh Y2sgT1BUSU9OUyAodGFibGVfbmFtZSAncGFnZ190YWJfcDInKTsKQEAgLTk3MTAsOCArOTczMSw4 IEBAIFNFTEVDVCBhLCBzdW0oYiksIG1pbihiKSwgY291bnQoKikgRlJPTSBwYWdnX3RhYiBHUk9V UCBCWSBhIEhBVklORyBhdmcoYikgPCAyMiBPCiAtLSBTaG91bGQgaGF2ZSBhbGwgdGhlIGNvbHVt bnMgaW4gdGhlIHRhcmdldCBsaXN0IGZvciB0aGUgZ2l2ZW4gcmVsYXRpb24KIEVYUExBSU4gKFZF UkJPU0UsIENPU1RTIE9GRikKIFNFTEVDVCBhLCBjb3VudCh0MSkgRlJPTSBwYWdnX3RhYiB0MSBH Uk9VUCBCWSBhIEhBVklORyBhdmcoYikgPCAyMiBPUkRFUiBCWSAxOwotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFFVRVJZIFBMQU4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Ci0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUVVFUlkg UExBTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t CiAgU29ydAogICAgT3V0cHV0OiB0MS5hLCAoY291bnQoKCh0MS4qKTo6cGFnZ190YWIpKSkKICAg IFNvcnQgS2V5OiB0MS5hCkBAIC05NzIyLDIxICs5NzQzLDIxIEBAIFNFTEVDVCBhLCBjb3VudCh0 MSkgRlJPTSBwYWdnX3RhYiB0MSBHUk9VUCBCWSBhIEhBVklORyBhdmcoYikgPCAyMiBPUkRFUiBC WSAxOwogICAgICAgICAgICAgICAgRmlsdGVyOiAoYXZnKHQxLmIpIDwgJzIyJzo6bnVtZXJpYykK ICAgICAgICAgICAgICAgIC0+ICBGb3JlaWduIFNjYW4gb24gcHVibGljLmZwYWdnX3RhYl9wMSB0 MQogICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiB0MS5hLCB0MS4qLCB0MS5iCi0gICAgICAg ICAgICAgICAgICAgICBSZW1vdGUgU1FMOiBTRUxFQ1QgYSwgYiwgYyBGUk9NIHB1YmxpYy5wYWdn X3RhYl9wMQorICAgICAgICAgICAgICAgICAgICAgUmVtb3RlIFNRTDogU0VMRUNUIGEsIGIsIGMs IGQgRlJPTSBwdWJsaWMucGFnZ190YWJfcDEKICAgICAgICAgIC0+ICBIYXNoQWdncmVnYXRlCiAg ICAgICAgICAgICAgICBPdXRwdXQ6IHQxXzEuYSwgY291bnQoKCh0MV8xLiopOjpwYWdnX3RhYikp CiAgICAgICAgICAgICAgICBHcm91cCBLZXk6IHQxXzEuYQogICAgICAgICAgICAgICAgRmlsdGVy OiAoYXZnKHQxXzEuYikgPCAnMjInOjpudW1lcmljKQogICAgICAgICAgICAgICAgLT4gIEZvcmVp Z24gU2NhbiBvbiBwdWJsaWMuZnBhZ2dfdGFiX3AyIHQxXzEKICAgICAgICAgICAgICAgICAgICAg IE91dHB1dDogdDFfMS5hLCB0MV8xLiosIHQxXzEuYgotICAgICAgICAgICAgICAgICAgICAgUmVt b3RlIFNRTDogU0VMRUNUIGEsIGIsIGMgRlJPTSBwdWJsaWMucGFnZ190YWJfcDIKKyAgICAgICAg ICAgICAgICAgICAgIFJlbW90ZSBTUUw6IFNFTEVDVCBhLCBiLCBjLCBkIEZST00gcHVibGljLnBh Z2dfdGFiX3AyCiAgICAgICAgICAtPiAgSGFzaEFnZ3JlZ2F0ZQogICAgICAgICAgICAgICAgT3V0 cHV0OiB0MV8yLmEsIGNvdW50KCgodDFfMi4qKTo6cGFnZ190YWIpKQogICAgICAgICAgICAgICAg R3JvdXAgS2V5OiB0MV8yLmEKICAgICAgICAgICAgICAgIEZpbHRlcjogKGF2Zyh0MV8yLmIpIDwg JzIyJzo6bnVtZXJpYykKICAgICAgICAgICAgICAgIC0+ICBGb3JlaWduIFNjYW4gb24gcHVibGlj LmZwYWdnX3RhYl9wMyB0MV8yCiAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IHQxXzIuYSwg dDFfMi4qLCB0MV8yLmIKLSAgICAgICAgICAgICAgICAgICAgIFJlbW90ZSBTUUw6IFNFTEVDVCBh LCBiLCBjIEZST00gcHVibGljLnBhZ2dfdGFiX3AzCisgICAgICAgICAgICAgICAgICAgICBSZW1v dGUgU1FMOiBTRUxFQ1QgYSwgYiwgYywgZCBGUk9NIHB1YmxpYy5wYWdnX3RhYl9wMwogKDI1IHJv d3MpCiAKIFNFTEVDVCBhLCBjb3VudCh0MSkgRlJPTSBwYWdnX3RhYiB0MSBHUk9VUCBCWSBhIEhB VklORyBhdmcoYikgPCAyMiBPUkRFUiBCWSAxOwpAQCAtOTc3Miw2ICs5NzkzLDIxMyBAQCBTRUxF Q1QgYiwgYXZnKGEpLCBtYXgoYSksIGNvdW50KCopIEZST00gcGFnZ190YWIgR1JPVVAgQlkgYiBI QVZJTkcgc3VtKGEpIDwgNzAwCiAgICAgICAgICAgICAgICAgICAgICAtPiAgRm9yZWlnbiBTY2Fu IG9uIGZwYWdnX3RhYl9wMyBwYWdnX3RhYl8yCiAoMTUgcm93cykKIAorLS0gSXQncyB1bnNhZmUg dG8gcHVzaCBkb3duIGhhdmluZyBjbGF1c2Ugd2hlbiB0aGVyZSBhcmUgcGFydGlhbCBhZ2dyZWdh dGVzCitFWFBMQUlOIChWRVJCT1NFLCBDT1NUUyBPRkYpCitTRUxFQ1QgYiwgbWF4KGEpLCBjb3Vu dCgqKSBGUk9NIHBhZ2dfdGFiIEdST1VQIEJZIGIgSEFWSU5HIHN1bShhKSA8IDcwMCBPUkRFUiBC WSAxOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFFVRVJZIFBMQU4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0KKyBTb3J0CisgICBPdXRwdXQ6IHBhZ2dfdGFiLmIsIChtYXgocGFnZ190YWIuYSkp LCAoY291bnQoKikpCisgICBTb3J0IEtleTogcGFnZ190YWIuYgorICAgLT4gIEZpbmFsaXplIEhh c2hBZ2dyZWdhdGUKKyAgICAgICAgIE91dHB1dDogcGFnZ190YWIuYiwgbWF4KHBhZ2dfdGFiLmEp LCBjb3VudCgqKQorICAgICAgICAgR3JvdXAgS2V5OiBwYWdnX3RhYi5iCisgICAgICAgICBGaWx0 ZXI6IChzdW0ocGFnZ190YWIuYSkgPCA3MDApCisgICAgICAgICAtPiAgQXBwZW5kCisgICAgICAg ICAgICAgICAtPiAgUGFydGlhbCBIYXNoQWdncmVnYXRlCisgICAgICAgICAgICAgICAgICAgICBP dXRwdXQ6IHBhZ2dfdGFiLmIsIFBBUlRJQUwgbWF4KHBhZ2dfdGFiLmEpLCBQQVJUSUFMIGNvdW50 KCopLCBQQVJUSUFMIHN1bShwYWdnX3RhYi5hKQorICAgICAgICAgICAgICAgICAgICAgR3JvdXAg S2V5OiBwYWdnX3RhYi5iCisgICAgICAgICAgICAgICAgICAgICAtPiAgRm9yZWlnbiBTY2FuIG9u IHB1YmxpYy5mcGFnZ190YWJfcDEgcGFnZ190YWIKKyAgICAgICAgICAgICAgICAgICAgICAgICAg IE91dHB1dDogcGFnZ190YWIuYiwgcGFnZ190YWIuYQorICAgICAgICAgICAgICAgICAgICAgICAg ICAgUmVtb3RlIFNRTDogU0VMRUNUIGEsIGIgRlJPTSBwdWJsaWMucGFnZ190YWJfcDEKKyAgICAg ICAgICAgICAgIC0+ICBQYXJ0aWFsIEhhc2hBZ2dyZWdhdGUKKyAgICAgICAgICAgICAgICAgICAg IE91dHB1dDogcGFnZ190YWJfMS5iLCBQQVJUSUFMIG1heChwYWdnX3RhYl8xLmEpLCBQQVJUSUFM IGNvdW50KCopLCBQQVJUSUFMIHN1bShwYWdnX3RhYl8xLmEpCisgICAgICAgICAgICAgICAgICAg ICBHcm91cCBLZXk6IHBhZ2dfdGFiXzEuYgorICAgICAgICAgICAgICAgICAgICAgLT4gIEZvcmVp Z24gU2NhbiBvbiBwdWJsaWMuZnBhZ2dfdGFiX3AyIHBhZ2dfdGFiXzEKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgIE91dHB1dDogcGFnZ190YWJfMS5iLCBwYWdnX3RhYl8xLmEKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgIFJlbW90ZSBTUUw6IFNFTEVDVCBhLCBiIEZST00gcHVibGljLnBh Z2dfdGFiX3AyCisgICAgICAgICAgICAgICAtPiAgUGFydGlhbCBIYXNoQWdncmVnYXRlCisgICAg ICAgICAgICAgICAgICAgICBPdXRwdXQ6IHBhZ2dfdGFiXzIuYiwgUEFSVElBTCBtYXgocGFnZ190 YWJfMi5hKSwgUEFSVElBTCBjb3VudCgqKSwgUEFSVElBTCBzdW0ocGFnZ190YWJfMi5hKQorICAg ICAgICAgICAgICAgICAgICAgR3JvdXAgS2V5OiBwYWdnX3RhYl8yLmIKKyAgICAgICAgICAgICAg ICAgICAgIC0+ICBGb3JlaWduIFNjYW4gb24gcHVibGljLmZwYWdnX3RhYl9wMyBwYWdnX3RhYl8y CisgICAgICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IHBhZ2dfdGFiXzIuYiwgcGFnZ190 YWJfMi5hCisgICAgICAgICAgICAgICAgICAgICAgICAgICBSZW1vdGUgU1FMOiBTRUxFQ1QgYSwg YiBGUk9NIHB1YmxpYy5wYWdnX3RhYl9wMworKDI2IHJvd3MpCisKKy0tIFBhcnRpYWwgYWdncmVn YXRlcyBhcmUgZmluZSB0byBwdXNoIGRvd24gd2l0aG91dCBoYXZpbmcgY2xhdXNlCitFWFBMQUlO IChWRVJCT1NFLCBDT1NUUyBPRkYpCitTRUxFQ1QgYiwgbWluKGEpLCBtYXgoYSksIGNvdW50KCop LCBzdW0oZCksIGF2ZyhkKSwgYXZnKGQ6OmludDgpIEZST00gcGFnZ190YWIgR1JPVVAgQlkgYiBP UkRFUiBCWSAxOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFFVRVJZIFBMQU4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIFNvcnQK KyAgIE91dHB1dDogcGFnZ190YWIuYiwgKG1pbihwYWdnX3RhYi5hKSksIChtYXgocGFnZ190YWIu YSkpLCAoY291bnQoKikpLCAoc3VtKHBhZ2dfdGFiLmQpKSwgKGF2ZyhwYWdnX3RhYi5kKSksIChh dmcoKHBhZ2dfdGFiLmQpOjpiaWdpbnQpKQorICAgU29ydCBLZXk6IHBhZ2dfdGFiLmIKKyAgIC0+ ICBGaW5hbGl6ZSBIYXNoQWdncmVnYXRlCisgICAgICAgICBPdXRwdXQ6IHBhZ2dfdGFiLmIsIG1p bihwYWdnX3RhYi5hKSwgbWF4KHBhZ2dfdGFiLmEpLCBjb3VudCgqKSwgc3VtKHBhZ2dfdGFiLmQp LCBhdmcocGFnZ190YWIuZCksIGF2ZygocGFnZ190YWIuZCk6OmJpZ2ludCkKKyAgICAgICAgIEdy b3VwIEtleTogcGFnZ190YWIuYgorICAgICAgICAgLT4gIEFwcGVuZAorICAgICAgICAgICAgICAg LT4gIEZvcmVpZ24gU2NhbgorICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiBwYWdnX3RhYi5i LCAoUEFSVElBTCBtaW4ocGFnZ190YWIuYSkpLCAoUEFSVElBTCBtYXgocGFnZ190YWIuYSkpLCAo UEFSVElBTCBjb3VudCgqKSksIChQQVJUSUFMIHN1bShwYWdnX3RhYi5kKSksIChQQVJUSUFMIGF2 ZyhwYWdnX3RhYi5kKSksIChQQVJUSUFMIGF2ZygocGFnZ190YWIuZCk6OmJpZ2ludCkpCisgICAg ICAgICAgICAgICAgICAgICBSZWxhdGlvbnM6IEFnZ3JlZ2F0ZSBvbiAocHVibGljLmZwYWdnX3Rh Yl9wMSBwYWdnX3RhYikKKyAgICAgICAgICAgICAgICAgICAgIFJlbW90ZSBTUUw6IFNFTEVDVCBi LCBtaW5fcF9pbnQ0KGEpLCBtYXhfcF9pbnQ0KGEpLCBjb3VudF9wKCopLCBzdW1fcF9pbnQ0KGQp LCBhdmdfcF9pbnQ0KGQpLCBhdmdfcF9pbnQ4KGQ6OmJpZ2ludCkgRlJPTSBwdWJsaWMucGFnZ190 YWJfcDEgR1JPVVAgQlkgMQorICAgICAgICAgICAgICAgLT4gIEZvcmVpZ24gU2NhbgorICAgICAg ICAgICAgICAgICAgICAgT3V0cHV0OiBwYWdnX3RhYl8xLmIsIChQQVJUSUFMIG1pbihwYWdnX3Rh Yl8xLmEpKSwgKFBBUlRJQUwgbWF4KHBhZ2dfdGFiXzEuYSkpLCAoUEFSVElBTCBjb3VudCgqKSks IChQQVJUSUFMIHN1bShwYWdnX3RhYl8xLmQpKSwgKFBBUlRJQUwgYXZnKHBhZ2dfdGFiXzEuZCkp LCAoUEFSVElBTCBhdmcoKHBhZ2dfdGFiXzEuZCk6OmJpZ2ludCkpCisgICAgICAgICAgICAgICAg ICAgICBSZWxhdGlvbnM6IEFnZ3JlZ2F0ZSBvbiAocHVibGljLmZwYWdnX3RhYl9wMiBwYWdnX3Rh Yl8xKQorICAgICAgICAgICAgICAgICAgICAgUmVtb3RlIFNRTDogU0VMRUNUIGIsIG1pbl9wX2lu dDQoYSksIG1heF9wX2ludDQoYSksIGNvdW50X3AoKiksIHN1bV9wX2ludDQoZCksIGF2Z19wX2lu dDQoZCksIGF2Z19wX2ludDgoZDo6YmlnaW50KSBGUk9NIHB1YmxpYy5wYWdnX3RhYl9wMiBHUk9V UCBCWSAxCisgICAgICAgICAgICAgICAtPiAgRm9yZWlnbiBTY2FuCisgICAgICAgICAgICAgICAg ICAgICBPdXRwdXQ6IHBhZ2dfdGFiXzIuYiwgKFBBUlRJQUwgbWluKHBhZ2dfdGFiXzIuYSkpLCAo UEFSVElBTCBtYXgocGFnZ190YWJfMi5hKSksIChQQVJUSUFMIGNvdW50KCopKSwgKFBBUlRJQUwg c3VtKHBhZ2dfdGFiXzIuZCkpLCAoUEFSVElBTCBhdmcocGFnZ190YWJfMi5kKSksIChQQVJUSUFM IGF2ZygocGFnZ190YWJfMi5kKTo6YmlnaW50KSkKKyAgICAgICAgICAgICAgICAgICAgIFJlbGF0 aW9uczogQWdncmVnYXRlIG9uIChwdWJsaWMuZnBhZ2dfdGFiX3AzIHBhZ2dfdGFiXzIpCisgICAg ICAgICAgICAgICAgICAgICBSZW1vdGUgU1FMOiBTRUxFQ1QgYiwgbWluX3BfaW50NChhKSwgbWF4 X3BfaW50NChhKSwgY291bnRfcCgqKSwgc3VtX3BfaW50NChkKSwgYXZnX3BfaW50NChkKSwgYXZn X3BfaW50OChkOjpiaWdpbnQpIEZST00gcHVibGljLnBhZ2dfdGFiX3AzIEdST1VQIEJZIDEKKygx OSByb3dzKQorCitTRUxFQ1QgYiwgbWluKGEpLCBtYXgoYSksIGNvdW50KCopLCBzdW0oZCksIGF2 ZyhkKSwgYXZnKGQ6OmludDgpIEZST00gcGFnZ190YWIgR1JPVVAgQlkgYiBPUkRFUiBCWSAxOwor IGIgIHwgbWluIHwgbWF4IHwgY291bnQgfCBzdW0gIHwgICAgICAgICBhdmcgICAgICAgICB8ICAg ICAgICAgYXZnICAgICAgICAgCistLS0tKy0tLS0tKy0tLS0tKy0tLS0tLS0rLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgMCB8ICAgMCB8ICAyMCB8 ICAgIDYwIHwgIDkwMCB8IDE1LjAwMDAwMDAwMDAwMDAwMDAgfCAxNS4wMDAwMDAwMDAwMDAwMDAw CisgIDEgfCAgIDEgfCAgMjEgfCAgICA2MCB8ICA5NjAgfCAxNi4wMDAwMDAwMDAwMDAwMDAwIHwg MTYuMDAwMDAwMDAwMDAwMDAwMAorICAyIHwgICAyIHwgIDIyIHwgICAgNjAgfCAxMDIwIHwgMTcu MDAwMDAwMDAwMDAwMDAwMCB8IDE3LjAwMDAwMDAwMDAwMDAwMDAKKyAgMyB8ICAgMyB8ICAyMyB8 ICAgIDYwIHwgMTA4MCB8IDE4LjAwMDAwMDAwMDAwMDAwMDAgfCAxOC4wMDAwMDAwMDAwMDAwMDAw CisgIDQgfCAgIDQgfCAgMjQgfCAgICA2MCB8IDExNDAgfCAxOS4wMDAwMDAwMDAwMDAwMDAwIHwg MTkuMDAwMDAwMDAwMDAwMDAwMAorICA1IHwgICA1IHwgIDI1IHwgICAgNjAgfCAxMjAwIHwgMjAu MDAwMDAwMDAwMDAwMDAwMCB8IDIwLjAwMDAwMDAwMDAwMDAwMDAKKyAgNiB8ICAgNiB8ICAyNiB8 ICAgIDYwIHwgMTI2MCB8IDIxLjAwMDAwMDAwMDAwMDAwMDAgfCAyMS4wMDAwMDAwMDAwMDAwMDAw CisgIDcgfCAgIDcgfCAgMjcgfCAgICA2MCB8IDEzMjAgfCAyMi4wMDAwMDAwMDAwMDAwMDAwIHwg MjIuMDAwMDAwMDAwMDAwMDAwMAorICA4IHwgICA4IHwgIDI4IHwgICAgNjAgfCAxMzgwIHwgMjMu MDAwMDAwMDAwMDAwMDAwMCB8IDIzLjAwMDAwMDAwMDAwMDAwMDAKKyAgOSB8ICAgOSB8ICAyOSB8 ICAgIDYwIHwgMTQ0MCB8IDI0LjAwMDAwMDAwMDAwMDAwMDAgfCAyNC4wMDAwMDAwMDAwMDAwMDAw CisgMTAgfCAgIDAgfCAgMjAgfCAgICA2MCB8ICA5MDAgfCAxNS4wMDAwMDAwMDAwMDAwMDAwIHwg MTUuMDAwMDAwMDAwMDAwMDAwMAorIDExIHwgICAxIHwgIDIxIHwgICAgNjAgfCAgOTYwIHwgMTYu MDAwMDAwMDAwMDAwMDAwMCB8IDE2LjAwMDAwMDAwMDAwMDAwMDAKKyAxMiB8ICAgMiB8ICAyMiB8 ICAgIDYwIHwgMTAyMCB8IDE3LjAwMDAwMDAwMDAwMDAwMDAgfCAxNy4wMDAwMDAwMDAwMDAwMDAw CisgMTMgfCAgIDMgfCAgMjMgfCAgICA2MCB8IDEwODAgfCAxOC4wMDAwMDAwMDAwMDAwMDAwIHwg MTguMDAwMDAwMDAwMDAwMDAwMAorIDE0IHwgICA0IHwgIDI0IHwgICAgNjAgfCAxMTQwIHwgMTku MDAwMDAwMDAwMDAwMDAwMCB8IDE5LjAwMDAwMDAwMDAwMDAwMDAKKyAxNSB8ICAgNSB8ICAyNSB8 ICAgIDYwIHwgMTIwMCB8IDIwLjAwMDAwMDAwMDAwMDAwMDAgfCAyMC4wMDAwMDAwMDAwMDAwMDAw CisgMTYgfCAgIDYgfCAgMjYgfCAgICA2MCB8IDEyNjAgfCAyMS4wMDAwMDAwMDAwMDAwMDAwIHwg MjEuMDAwMDAwMDAwMDAwMDAwMAorIDE3IHwgICA3IHwgIDI3IHwgICAgNjAgfCAxMzIwIHwgMjIu MDAwMDAwMDAwMDAwMDAwMCB8IDIyLjAwMDAwMDAwMDAwMDAwMDAKKyAxOCB8ICAgOCB8ICAyOCB8 ICAgIDYwIHwgMTM4MCB8IDIzLjAwMDAwMDAwMDAwMDAwMDAgfCAyMy4wMDAwMDAwMDAwMDAwMDAw CisgMTkgfCAgIDkgfCAgMjkgfCAgICA2MCB8IDE0NDAgfCAyNC4wMDAwMDAwMDAwMDAwMDAwIHwg MjQuMDAwMDAwMDAwMDAwMDAwMAorIDIwIHwgICAwIHwgIDIwIHwgICAgNjAgfCAgOTAwIHwgMTUu MDAwMDAwMDAwMDAwMDAwMCB8IDE1LjAwMDAwMDAwMDAwMDAwMDAKKyAyMSB8ICAgMSB8ICAyMSB8 ICAgIDYwIHwgIDk2MCB8IDE2LjAwMDAwMDAwMDAwMDAwMDAgfCAxNi4wMDAwMDAwMDAwMDAwMDAw CisgMjIgfCAgIDIgfCAgMjIgfCAgICA2MCB8IDEwMjAgfCAxNy4wMDAwMDAwMDAwMDAwMDAwIHwg MTcuMDAwMDAwMDAwMDAwMDAwMAorIDIzIHwgICAzIHwgIDIzIHwgICAgNjAgfCAxMDgwIHwgMTgu MDAwMDAwMDAwMDAwMDAwMCB8IDE4LjAwMDAwMDAwMDAwMDAwMDAKKyAyNCB8ICAgNCB8ICAyNCB8 ICAgIDYwIHwgMTE0MCB8IDE5LjAwMDAwMDAwMDAwMDAwMDAgfCAxOS4wMDAwMDAwMDAwMDAwMDAw CisgMjUgfCAgIDUgfCAgMjUgfCAgICA2MCB8IDEyMDAgfCAyMC4wMDAwMDAwMDAwMDAwMDAwIHwg MjAuMDAwMDAwMDAwMDAwMDAwMAorIDI2IHwgICA2IHwgIDI2IHwgICAgNjAgfCAxMjYwIHwgMjEu MDAwMDAwMDAwMDAwMDAwMCB8IDIxLjAwMDAwMDAwMDAwMDAwMDAKKyAyNyB8ICAgNyB8ICAyNyB8 ICAgIDYwIHwgMTMyMCB8IDIyLjAwMDAwMDAwMDAwMDAwMDAgfCAyMi4wMDAwMDAwMDAwMDAwMDAw CisgMjggfCAgIDggfCAgMjggfCAgICA2MCB8IDEzODAgfCAyMy4wMDAwMDAwMDAwMDAwMDAwIHwg MjMuMDAwMDAwMDAwMDAwMDAwMAorIDI5IHwgICA5IHwgIDI5IHwgICAgNjAgfCAxNDQwIHwgMjQu MDAwMDAwMDAwMDAwMDAwMCB8IDI0LjAwMDAwMDAwMDAwMDAwMDAKKyAzMCB8ICAgMCB8ICAyMCB8 ICAgIDYwIHwgIDkwMCB8IDE1LjAwMDAwMDAwMDAwMDAwMDAgfCAxNS4wMDAwMDAwMDAwMDAwMDAw CisgMzEgfCAgIDEgfCAgMjEgfCAgICA2MCB8ICA5NjAgfCAxNi4wMDAwMDAwMDAwMDAwMDAwIHwg MTYuMDAwMDAwMDAwMDAwMDAwMAorIDMyIHwgICAyIHwgIDIyIHwgICAgNjAgfCAxMDIwIHwgMTcu MDAwMDAwMDAwMDAwMDAwMCB8IDE3LjAwMDAwMDAwMDAwMDAwMDAKKyAzMyB8ICAgMyB8ICAyMyB8 ICAgIDYwIHwgMTA4MCB8IDE4LjAwMDAwMDAwMDAwMDAwMDAgfCAxOC4wMDAwMDAwMDAwMDAwMDAw CisgMzQgfCAgIDQgfCAgMjQgfCAgICA2MCB8IDExNDAgfCAxOS4wMDAwMDAwMDAwMDAwMDAwIHwg MTkuMDAwMDAwMDAwMDAwMDAwMAorIDM1IHwgICA1IHwgIDI1IHwgICAgNjAgfCAxMjAwIHwgMjAu MDAwMDAwMDAwMDAwMDAwMCB8IDIwLjAwMDAwMDAwMDAwMDAwMDAKKyAzNiB8ICAgNiB8ICAyNiB8 ICAgIDYwIHwgMTI2MCB8IDIxLjAwMDAwMDAwMDAwMDAwMDAgfCAyMS4wMDAwMDAwMDAwMDAwMDAw CisgMzcgfCAgIDcgfCAgMjcgfCAgICA2MCB8IDEzMjAgfCAyMi4wMDAwMDAwMDAwMDAwMDAwIHwg MjIuMDAwMDAwMDAwMDAwMDAwMAorIDM4IHwgICA4IHwgIDI4IHwgICAgNjAgfCAxMzgwIHwgMjMu MDAwMDAwMDAwMDAwMDAwMCB8IDIzLjAwMDAwMDAwMDAwMDAwMDAKKyAzOSB8ICAgOSB8ICAyOSB8 ICAgIDYwIHwgMTQ0MCB8IDI0LjAwMDAwMDAwMDAwMDAwMDAgfCAyNC4wMDAwMDAwMDAwMDAwMDAw CisgNDAgfCAgIDAgfCAgMjAgfCAgICA2MCB8ICA5MDAgfCAxNS4wMDAwMDAwMDAwMDAwMDAwIHwg MTUuMDAwMDAwMDAwMDAwMDAwMAorIDQxIHwgICAxIHwgIDIxIHwgICAgNjAgfCAgOTYwIHwgMTYu MDAwMDAwMDAwMDAwMDAwMCB8IDE2LjAwMDAwMDAwMDAwMDAwMDAKKyA0MiB8ICAgMiB8ICAyMiB8 ICAgIDYwIHwgMTAyMCB8IDE3LjAwMDAwMDAwMDAwMDAwMDAgfCAxNy4wMDAwMDAwMDAwMDAwMDAw CisgNDMgfCAgIDMgfCAgMjMgfCAgICA2MCB8IDEwODAgfCAxOC4wMDAwMDAwMDAwMDAwMDAwIHwg MTguMDAwMDAwMDAwMDAwMDAwMAorIDQ0IHwgICA0IHwgIDI0IHwgICAgNjAgfCAxMTQwIHwgMTku MDAwMDAwMDAwMDAwMDAwMCB8IDE5LjAwMDAwMDAwMDAwMDAwMDAKKyA0NSB8ICAgNSB8ICAyNSB8 ICAgIDYwIHwgMTIwMCB8IDIwLjAwMDAwMDAwMDAwMDAwMDAgfCAyMC4wMDAwMDAwMDAwMDAwMDAw CisgNDYgfCAgIDYgfCAgMjYgfCAgICA2MCB8IDEyNjAgfCAyMS4wMDAwMDAwMDAwMDAwMDAwIHwg MjEuMDAwMDAwMDAwMDAwMDAwMAorIDQ3IHwgICA3IHwgIDI3IHwgICAgNjAgfCAxMzIwIHwgMjIu MDAwMDAwMDAwMDAwMDAwMCB8IDIyLjAwMDAwMDAwMDAwMDAwMDAKKyA0OCB8ICAgOCB8ICAyOCB8 ICAgIDYwIHwgMTM4MCB8IDIzLjAwMDAwMDAwMDAwMDAwMDAgfCAyMy4wMDAwMDAwMDAwMDAwMDAw CisgNDkgfCAgIDkgfCAgMjkgfCAgICA2MCB8IDE0NDAgfCAyNC4wMDAwMDAwMDAwMDAwMDAwIHwg MjQuMDAwMDAwMDAwMDAwMDAwMAorKDUwIHJvd3MpCisKKy0tIFBhcnRpYWwgYWdncmVnYXRlcyBh cmUgZmluZSB0byBwdXNoIGRvd24KK0VYUExBSU4gKFZFUkJPU0UsIENPU1RTIE9GRikKK1NFTEVD VCBtaW4oYSksIG1heChhKSwgY291bnQoKiksIHN1bShkKSwgYXZnKGQpLCBhdmcoZDo6aW50OCkg RlJPTSBwYWdnX3RhYjsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFFVRVJZ IFBMQU4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCistLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQorIEZpbmFsaXplIEFnZ3JlZ2F0ZQorICAgT3V0cHV0OiBtaW4ocGFnZ190 YWIuYSksIG1heChwYWdnX3RhYi5hKSwgY291bnQoKiksIHN1bShwYWdnX3RhYi5kKSwgYXZnKHBh Z2dfdGFiLmQpLCBhdmcoKHBhZ2dfdGFiLmQpOjpiaWdpbnQpCisgICAtPiAgQXBwZW5kCisgICAg ICAgICAtPiAgRm9yZWlnbiBTY2FuCisgICAgICAgICAgICAgICBPdXRwdXQ6IChQQVJUSUFMIG1p bihwYWdnX3RhYi5hKSksIChQQVJUSUFMIG1heChwYWdnX3RhYi5hKSksIChQQVJUSUFMIGNvdW50 KCopKSwgKFBBUlRJQUwgc3VtKHBhZ2dfdGFiLmQpKSwgKFBBUlRJQUwgYXZnKHBhZ2dfdGFiLmQp KSwgKFBBUlRJQUwgYXZnKChwYWdnX3RhYi5kKTo6YmlnaW50KSkKKyAgICAgICAgICAgICAgIFJl bGF0aW9uczogQWdncmVnYXRlIG9uIChwdWJsaWMuZnBhZ2dfdGFiX3AxIHBhZ2dfdGFiKQorICAg ICAgICAgICAgICAgUmVtb3RlIFNRTDogU0VMRUNUIG1pbl9wX2ludDQoYSksIG1heF9wX2ludDQo YSksIGNvdW50X3AoKiksIHN1bV9wX2ludDQoZCksIGF2Z19wX2ludDQoZCksIGF2Z19wX2ludDgo ZDo6YmlnaW50KSBGUk9NIHB1YmxpYy5wYWdnX3RhYl9wMQorICAgICAgICAgLT4gIEZvcmVpZ24g U2NhbgorICAgICAgICAgICAgICAgT3V0cHV0OiAoUEFSVElBTCBtaW4ocGFnZ190YWJfMS5hKSks IChQQVJUSUFMIG1heChwYWdnX3RhYl8xLmEpKSwgKFBBUlRJQUwgY291bnQoKikpLCAoUEFSVElB TCBzdW0ocGFnZ190YWJfMS5kKSksIChQQVJUSUFMIGF2ZyhwYWdnX3RhYl8xLmQpKSwgKFBBUlRJ QUwgYXZnKChwYWdnX3RhYl8xLmQpOjpiaWdpbnQpKQorICAgICAgICAgICAgICAgUmVsYXRpb25z OiBBZ2dyZWdhdGUgb24gKHB1YmxpYy5mcGFnZ190YWJfcDIgcGFnZ190YWJfMSkKKyAgICAgICAg ICAgICAgIFJlbW90ZSBTUUw6IFNFTEVDVCBtaW5fcF9pbnQ0KGEpLCBtYXhfcF9pbnQ0KGEpLCBj b3VudF9wKCopLCBzdW1fcF9pbnQ0KGQpLCBhdmdfcF9pbnQ0KGQpLCBhdmdfcF9pbnQ4KGQ6OmJp Z2ludCkgRlJPTSBwdWJsaWMucGFnZ190YWJfcDIKKyAgICAgICAgIC0+ICBGb3JlaWduIFNjYW4K KyAgICAgICAgICAgICAgIE91dHB1dDogKFBBUlRJQUwgbWluKHBhZ2dfdGFiXzIuYSkpLCAoUEFS VElBTCBtYXgocGFnZ190YWJfMi5hKSksIChQQVJUSUFMIGNvdW50KCopKSwgKFBBUlRJQUwgc3Vt KHBhZ2dfdGFiXzIuZCkpLCAoUEFSVElBTCBhdmcocGFnZ190YWJfMi5kKSksIChQQVJUSUFMIGF2 ZygocGFnZ190YWJfMi5kKTo6YmlnaW50KSkKKyAgICAgICAgICAgICAgIFJlbGF0aW9uczogQWdn cmVnYXRlIG9uIChwdWJsaWMuZnBhZ2dfdGFiX3AzIHBhZ2dfdGFiXzIpCisgICAgICAgICAgICAg ICBSZW1vdGUgU1FMOiBTRUxFQ1QgbWluX3BfaW50NChhKSwgbWF4X3BfaW50NChhKSwgY291bnRf cCgqKSwgc3VtX3BfaW50NChkKSwgYXZnX3BfaW50NChkKSwgYXZnX3BfaW50OChkOjpiaWdpbnQp IEZST00gcHVibGljLnBhZ2dfdGFiX3AzCisoMTUgcm93cykKKworU0VMRUNUIG1pbihhKSwgbWF4 KGEpLCBjb3VudCgqKSwgc3VtKGQpLCBhdmcoZCksIGF2ZyhkOjppbnQ4KSBGUk9NIHBhZ2dfdGFi OworIG1pbiB8IG1heCB8IGNvdW50IHwgIHN1bSAgfCAgICAgICAgIGF2ZyAgICAgICAgIHwgICAg ICAgICBhdmcgICAgICAgICAKKy0tLS0tKy0tLS0tKy0tLS0tLS0rLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICAwIHwgIDI5IHwgIDMwMDAgfCA1 ODUwMCB8IDE5LjUwMDAwMDAwMDAwMDAwMDAgfCAxOS41MDAwMDAwMDAwMDAwMDAwCisoMSByb3cp CisKKy0tIEl0J3MgdW5zYWZlIHRvIHB1c2ggZG93biBwYXJ0aWFsIGFnZ3JlZ2F0ZXMgd2l0aCBk aXN0aW5jdCBvcHRpb24KK0VYUExBSU4gKFZFUkJPU0UsIENPU1RTIE9GRikKK1NFTEVDVCBtYXgo YSksIGNvdW50KGRpc3RpbmN0IGIpIEZST00gcGFnZ190YWI7CisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBRVUVSWSBQTEFOICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBBZ2dyZWdh dGUKKyAgIE91dHB1dDogbWF4KHBhZ2dfdGFiLmEpLCBjb3VudChESVNUSU5DVCBwYWdnX3RhYi5i KQorICAgLT4gIE1lcmdlIEFwcGVuZAorICAgICAgICAgU29ydCBLZXk6IHBhZ2dfdGFiLmIKKyAg ICAgICAgIC0+ICBGb3JlaWduIFNjYW4gb24gcHVibGljLmZwYWdnX3RhYl9wMSBwYWdnX3RhYl8x CisgICAgICAgICAgICAgICBPdXRwdXQ6IHBhZ2dfdGFiXzEuYSwgcGFnZ190YWJfMS5iCisgICAg ICAgICAgICAgICBSZW1vdGUgU1FMOiBTRUxFQ1QgYSwgYiBGUk9NIHB1YmxpYy5wYWdnX3RhYl9w MSBPUkRFUiBCWSBiIEFTQyBOVUxMUyBMQVNUCisgICAgICAgICAtPiAgRm9yZWlnbiBTY2FuIG9u IHB1YmxpYy5mcGFnZ190YWJfcDIgcGFnZ190YWJfMgorICAgICAgICAgICAgICAgT3V0cHV0OiBw YWdnX3RhYl8yLmEsIHBhZ2dfdGFiXzIuYgorICAgICAgICAgICAgICAgUmVtb3RlIFNRTDogU0VM RUNUIGEsIGIgRlJPTSBwdWJsaWMucGFnZ190YWJfcDIgT1JERVIgQlkgYiBBU0MgTlVMTFMgTEFT VAorICAgICAgICAgLT4gIEZvcmVpZ24gU2NhbiBvbiBwdWJsaWMuZnBhZ2dfdGFiX3AzIHBhZ2df dGFiXzMKKyAgICAgICAgICAgICAgIE91dHB1dDogcGFnZ190YWJfMy5hLCBwYWdnX3RhYl8zLmIK KyAgICAgICAgICAgICAgIFJlbW90ZSBTUUw6IFNFTEVDVCBhLCBiIEZST00gcHVibGljLnBhZ2df dGFiX3AzIE9SREVSIEJZIGIgQVNDIE5VTExTIExBU1QKKygxMyByb3dzKQorCitTRUxFQ1QgbWF4 KGEpLCBjb3VudChkaXN0aW5jdCBiKSBGUk9NIHBhZ2dfdGFiOworIG1heCB8IGNvdW50IAorLS0t LS0rLS0tLS0tLQorICAyOSB8ICAgIDUwCisoMSByb3cpCisKKy0tIEl0J3MgdW5zYWZlIHRvIHB1 c2ggZG93biBwYXJ0aWFsIGFnZ3JlZ2F0ZXMgd2l0aCBkaXN0aW5jdAorU0VMRUNUIGZfYWx0ZXJf c2VydmVyX3ZlcnNpb24oJ2xvb3BiYWNrJywgJ3NldCcsIC0xKTsKKyBmX2FsdGVyX3NlcnZlcl92 ZXJzaW9uIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgCisoMSByb3cpCisKK0VYUExBSU4g KFZFUkJPU0UsIENPU1RTIE9GRikKK1NFTEVDVCBhdmcoZCkgRlJPTSBwYWdnX3RhYjsKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICBRVUVSWSBQTEFOICAgICAgICAgICAgICAgICAgICAgICAg ICAgIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tCisgRmluYWxpemUgQWdncmVnYXRlCisgICBPdXRwdXQ6IGF2ZyhwYWdn X3RhYi5kKQorICAgLT4gIEFwcGVuZAorICAgICAgICAgLT4gIFBhcnRpYWwgQWdncmVnYXRlCisg ICAgICAgICAgICAgICBPdXRwdXQ6IFBBUlRJQUwgYXZnKHBhZ2dfdGFiLmQpCisgICAgICAgICAg ICAgICAtPiAgRm9yZWlnbiBTY2FuIG9uIHB1YmxpYy5mcGFnZ190YWJfcDEgcGFnZ190YWIKKyAg ICAgICAgICAgICAgICAgICAgIE91dHB1dDogcGFnZ190YWIuZAorICAgICAgICAgICAgICAgICAg ICAgUmVtb3RlIFNRTDogU0VMRUNUIGQgRlJPTSBwdWJsaWMucGFnZ190YWJfcDEKKyAgICAgICAg IC0+ICBQYXJ0aWFsIEFnZ3JlZ2F0ZQorICAgICAgICAgICAgICAgT3V0cHV0OiBQQVJUSUFMIGF2 ZyhwYWdnX3RhYl8xLmQpCisgICAgICAgICAgICAgICAtPiAgRm9yZWlnbiBTY2FuIG9uIHB1Ymxp Yy5mcGFnZ190YWJfcDIgcGFnZ190YWJfMQorICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiBw YWdnX3RhYl8xLmQKKyAgICAgICAgICAgICAgICAgICAgIFJlbW90ZSBTUUw6IFNFTEVDVCBkIEZS T00gcHVibGljLnBhZ2dfdGFiX3AyCisgICAgICAgICAtPiAgUGFydGlhbCBBZ2dyZWdhdGUKKyAg ICAgICAgICAgICAgIE91dHB1dDogUEFSVElBTCBhdmcocGFnZ190YWJfMi5kKQorICAgICAgICAg ICAgICAgLT4gIEZvcmVpZ24gU2NhbiBvbiBwdWJsaWMuZnBhZ2dfdGFiX3AzIHBhZ2dfdGFiXzIK KyAgICAgICAgICAgICAgICAgICAgIE91dHB1dDogcGFnZ190YWJfMi5kCisgICAgICAgICAgICAg ICAgICAgICBSZW1vdGUgU1FMOiBTRUxFQ1QgZCBGUk9NIHB1YmxpYy5wYWdnX3RhYl9wMworKDE4 IHJvd3MpCisKK1NFTEVDVCBhdmcoZCkgRlJPTSBwYWdnX3RhYjsKKyAgICAgICAgIGF2ZyAgICAg ICAgIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgMTkuNTAwMDAwMDAwMDAwMDAwMAorKDEgcm93 KQorCitEUk9QIEZVTkNUSU9OIGZfc2VydmVyX3ZlcnNpb25fbGFnKGludDQpOworRFJPUCBGVU5D VElPTiBmX2FsdGVyX3NlcnZlcl92ZXJzaW9uKG5hbWUsIHRleHQsIGludDQpOwogLS0gPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQogLS0gYWNjZXNzIHJpZ2h0cyBhbmQgc3VwZXJ1c2VyCiAtLSA9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CmRpZmYg LS1naXQgYS9jb250cmliL3Bvc3RncmVzX2Zkdy9vcHRpb24uYyBiL2NvbnRyaWIvcG9zdGdyZXNf ZmR3L29wdGlvbi5jCmluZGV4IGZhODBlZTJhNTUuLmNiMWIyOGJhZjIgMTAwNjQ0Ci0tLSBhL2Nv bnRyaWIvcG9zdGdyZXNfZmR3L29wdGlvbi5jCisrKyBiL2NvbnRyaWIvcG9zdGdyZXNfZmR3L29w dGlvbi5jCkBAIC0yMTAsNiArMjEwLDI3IEBAIHBvc3RncmVzX2Zkd192YWxpZGF0b3IoUEdfRlVO Q1RJT05fQVJHUykKIAkJCQkJCSBlcnJtc2coInNzbGNlcnQgYW5kIHNzbGtleSBhcmUgc3VwZXJ1 c2VyLW9ubHkiKSwKIAkJCQkJCSBlcnJoaW50KCJVc2VyIG1hcHBpbmdzIHdpdGggdGhlIHNzbGNl cnQgb3Igc3Nsa2V5IG9wdGlvbnMgc2V0IG1heSBvbmx5IGJlIGNyZWF0ZWQgb3IgbW9kaWZpZWQg YnkgdGhlIHN1cGVydXNlci4iKSkpOwogCQl9CisJCWVsc2UgaWYgKHN0cmNtcChkZWYtPmRlZm5h bWUsICJzZXJ2ZXJfdmVyc2lvbiIpID09IDApCisJCXsKKwkJCWNoYXIqIHZhbHVlOworCQkJaW50 CQkJaW50X3ZhbDsKKwkJCWJvb2wJCWlzX3BhcnNlZDsKKworCQkJdmFsdWUgPSBkZWZHZXRTdHJp bmcoZGVmKTsKKwkJCWlzX3BhcnNlZCA9IHBhcnNlX2ludCh2YWx1ZSwgJmludF92YWwsIDAsIE5V TEwpOworCisJCQlpZiAoIWlzX3BhcnNlZCkKKwkJCQllcmVwb3J0KEVSUk9SLAorCQkJCQkoZXJy Y29kZShFUlJDT0RFX0lOVkFMSURfUEFSQU1FVEVSX1ZBTFVFKSwKKwkJCQkJCWVycm1zZygiaW52 YWxpZCB2YWx1ZSBmb3IgaW50ZWdlciBvcHRpb24gXCIlc1wiOiAlcyIsCisJCQkJCQkJZGVmLT5k ZWZuYW1lLCB2YWx1ZSkpKTsKKworCQkJaWYgKGludF92YWwgPD0gMCkKKwkJCQllcmVwb3J0KEVS Uk9SLAorCQkJCQkoZXJyY29kZShFUlJDT0RFX0lOVkFMSURfUEFSQU1FVEVSX1ZBTFVFKSwKKwkJ CQkJCWVycm1zZygiXCIlc1wiIG11c3QgYmUgYW4gaW50ZWdlciB2YWx1ZSBncmVhdGVyIHRoYW4g emVybyIsCisJCQkJCQkJZGVmLT5kZWZuYW1lKSkpOworCQl9CiAJfQogCiAJUEdfUkVUVVJOX1ZP SUQoKTsKQEAgLTI2NSw2ICsyODYsOSBAQCBJbml0UGdGZHdPcHRpb25zKHZvaWQpCiAJCXsic3Ns Y2VydCIsIFVzZXJNYXBwaW5nUmVsYXRpb25JZCwgdHJ1ZX0sCiAJCXsic3Nsa2V5IiwgVXNlck1h cHBpbmdSZWxhdGlvbklkLCB0cnVlfSwKIAorCQkvKiBvcHRpb25zIGZvciBwYXJ0aWFsIGFnZ3Jl Z2F0aW9uIHB1c2hkb3duICovCisJCXsic2VydmVyX3ZlcnNpb24iLCBGb3JlaWduU2VydmVyUmVs YXRpb25JZCwgZmFsc2V9LAorCiAJCXtOVUxMLCBJbnZhbGlkT2lkLCBmYWxzZX0KIAl9OwogCmRp ZmYgLS1naXQgYS9jb250cmliL3Bvc3RncmVzX2Zkdy9wb3N0Z3Jlc19mZHcuYyBiL2NvbnRyaWIv cG9zdGdyZXNfZmR3L3Bvc3RncmVzX2Zkdy5jCmluZGV4IDhkNzUwMGFiZmIuLmM4ZWZkZmVmYjcg MTAwNjQ0Ci0tLSBhL2NvbnRyaWIvcG9zdGdyZXNfZmR3L3Bvc3RncmVzX2Zkdy5jCisrKyBiL2Nv bnRyaWIvcG9zdGdyZXNfZmR3L3Bvc3RncmVzX2Zkdy5jCkBAIC01MTgsNyArNTE4LDcgQEAgc3Rh dGljIGJvb2wgZm9yZWlnbl9qb2luX29rKFBsYW5uZXJJbmZvICpyb290LCBSZWxPcHRJbmZvICpq b2lucmVsLAogCQkJCQkJCUpvaW5UeXBlIGpvaW50eXBlLCBSZWxPcHRJbmZvICpvdXRlcnJlbCwg UmVsT3B0SW5mbyAqaW5uZXJyZWwsCiAJCQkJCQkJSm9pblBhdGhFeHRyYURhdGEgKmV4dHJhKTsK IHN0YXRpYyBib29sIGZvcmVpZ25fZ3JvdXBpbmdfb2soUGxhbm5lckluZm8gKnJvb3QsIFJlbE9w dEluZm8gKmdyb3VwZWRfcmVsLAotCQkJCQkJCQlOb2RlICpoYXZpbmdRdWFsKTsKKwkJCQkJCQkJ Tm9kZSAqaGF2aW5nUXVhbCwgYm9vbCBwYXJ0aWFsKTsKIHN0YXRpYyBMaXN0ICpnZXRfdXNlZnVs X3BhdGhrZXlzX2Zvcl9yZWxhdGlvbihQbGFubmVySW5mbyAqcm9vdCwKIAkJCQkJCQkJCQkJICBS ZWxPcHRJbmZvICpyZWwpOwogc3RhdGljIExpc3QgKmdldF91c2VmdWxfZWNzX2Zvcl9yZWxhdGlv bihQbGFubmVySW5mbyAqcm9vdCwgUmVsT3B0SW5mbyAqcmVsKTsKQEAgLTUyNyw3ICs1MjcsNyBA QCBzdGF0aWMgdm9pZCBhZGRfcGF0aHNfd2l0aF9wYXRoa2V5c19mb3JfcmVsKFBsYW5uZXJJbmZv ICpyb290LCBSZWxPcHRJbmZvICpyZWwsCiBzdGF0aWMgdm9pZCBhZGRfZm9yZWlnbl9ncm91cGlu Z19wYXRocyhQbGFubmVySW5mbyAqcm9vdCwKIAkJCQkJCQkJCSAgIFJlbE9wdEluZm8gKmlucHV0 X3JlbCwKIAkJCQkJCQkJCSAgIFJlbE9wdEluZm8gKmdyb3VwZWRfcmVsLAotCQkJCQkJCQkJICAg R3JvdXBQYXRoRXh0cmFEYXRhICpleHRyYSk7CisJCQkJCQkJCQkgICBHcm91cFBhdGhFeHRyYURh dGEgKmV4dHJhLCBib29sIHBhcnRpYWwpOwogc3RhdGljIHZvaWQgYWRkX2ZvcmVpZ25fb3JkZXJl ZF9wYXRocyhQbGFubmVySW5mbyAqcm9vdCwKIAkJCQkJCQkJCSAgUmVsT3B0SW5mbyAqaW5wdXRf cmVsLAogCQkJCQkJCQkJICBSZWxPcHRJbmZvICpvcmRlcmVkX3JlbCk7CkBAIC02NTEsNiArNjUx LDcgQEAgcG9zdGdyZXNHZXRGb3JlaWduUmVsU2l6ZShQbGFubmVySW5mbyAqcm9vdCwKIAlmcGlu Zm8tPnNoaXBwYWJsZV9leHRlbnNpb25zID0gTklMOwogCWZwaW5mby0+ZmV0Y2hfc2l6ZSA9IDEw MDsKIAlmcGluZm8tPmFzeW5jX2NhcGFibGUgPSBmYWxzZTsKKwlmcGluZm8tPnNlcnZlcl92ZXJz aW9uID0gMDsKIAogCWFwcGx5X3NlcnZlcl9vcHRpb25zKGZwaW5mbyk7CiAJYXBwbHlfdGFibGVf b3B0aW9ucyhmcGluZm8pOwpAQCAtNTkyMiw2ICs1OTIzLDggQEAgYXBwbHlfc2VydmVyX29wdGlv bnMoUGdGZHdSZWxhdGlvbkluZm8gKmZwaW5mbykKIAkJCSh2b2lkKSBwYXJzZV9pbnQoZGVmR2V0 U3RyaW5nKGRlZiksICZmcGluZm8tPmZldGNoX3NpemUsIDAsIE5VTEwpOwogCQllbHNlIGlmIChz dHJjbXAoZGVmLT5kZWZuYW1lLCAiYXN5bmNfY2FwYWJsZSIpID09IDApCiAJCQlmcGluZm8tPmFz eW5jX2NhcGFibGUgPSBkZWZHZXRCb29sZWFuKGRlZik7CisJCWVsc2UgaWYgKHN0cmNtcChkZWYt PmRlZm5hbWUsICJzZXJ2ZXJfdmVyc2lvbiIpID09IDApCisJCQkodm9pZClwYXJzZV9pbnQoZGVm R2V0U3RyaW5nKGRlZiksICZmcGluZm8tPnNlcnZlcl92ZXJzaW9uLCAwLCBOVUxMKTsKIAl9CiB9 CiAKQEAgLTYxNTksNyArNjE2Miw3IEBAIHBvc3RncmVzR2V0Rm9yZWlnbkpvaW5QYXRocyhQbGFu bmVySW5mbyAqcm9vdCwKICAqLwogc3RhdGljIGJvb2wKIGZvcmVpZ25fZ3JvdXBpbmdfb2soUGxh bm5lckluZm8gKnJvb3QsIFJlbE9wdEluZm8gKmdyb3VwZWRfcmVsLAotCQkJCQlOb2RlICpoYXZp bmdRdWFsKQorCQkJCQlOb2RlICpoYXZpbmdRdWFsLCBib29sIHBhcnRpYWwpCiB7CiAJUXVlcnkJ ICAgKnF1ZXJ5ID0gcm9vdC0+cGFyc2U7CiAJUGdGZHdSZWxhdGlvbkluZm8gKmZwaW5mbyA9IChQ Z0Zkd1JlbGF0aW9uSW5mbyAqKSBncm91cGVkX3JlbC0+ZmR3X3ByaXZhdGU7CkBAIC02MTczLDYg KzYxNzYsMTAgQEAgZm9yZWlnbl9ncm91cGluZ19vayhQbGFubmVySW5mbyAqcm9vdCwgUmVsT3B0 SW5mbyAqZ3JvdXBlZF9yZWwsCiAJaWYgKHF1ZXJ5LT5ncm91cGluZ1NldHMpCiAJCXJldHVybiBm YWxzZTsKIAorCS8qIEl0J3MgdW5zYWZlIHRvIHB1c2ggaGF2aW5nIHN0YXRlbWVudHMgd2l0aCBw YXJ0aWFsIGFnZ3JlZ2F0ZXMgKi8KKwlpZiAocGFydGlhbCAmJiBoYXZpbmdRdWFsKQorCQlyZXR1 cm4gZmFsc2U7CisKIAkvKiBHZXQgdGhlIGZwaW5mbyBvZiB0aGUgdW5kZXJseWluZyBzY2FuIHJl bGF0aW9uLiAqLwogCW9mcGluZm8gPSAoUGdGZHdSZWxhdGlvbkluZm8gKikgZnBpbmZvLT5vdXRl cnJlbC0+ZmR3X3ByaXZhdGU7CiAKQEAgLTY0MDksNiArNjQxNiw3IEBAIHBvc3RncmVzR2V0Rm9y ZWlnblVwcGVyUGF0aHMoUGxhbm5lckluZm8gKnJvb3QsIFVwcGVyUmVsYXRpb25LaW5kIHN0YWdl LAogCiAJLyogSWdub3JlIHN0YWdlcyB3ZSBkb24ndCBzdXBwb3J0OyBhbmQgc2tpcCBhbnkgZHVw bGljYXRlIGNhbGxzLiAqLwogCWlmICgoc3RhZ2UgIT0gVVBQRVJSRUxfR1JPVVBfQUdHICYmCisJ CXN0YWdlICE9IFVQUEVSUkVMX1BBUlRJQUxfR1JPVVBfQUdHICYmCiAJCSBzdGFnZSAhPSBVUFBF UlJFTF9PUkRFUkVEICYmCiAJCSBzdGFnZSAhPSBVUFBFUlJFTF9GSU5BTCkgfHwKIAkJb3V0cHV0 X3JlbC0+ZmR3X3ByaXZhdGUpCkBAIC02NDIzLDcgKzY0MzEsMTEgQEAgcG9zdGdyZXNHZXRGb3Jl aWduVXBwZXJQYXRocyhQbGFubmVySW5mbyAqcm9vdCwgVXBwZXJSZWxhdGlvbktpbmQgc3RhZ2Us CiAJewogCQljYXNlIFVQUEVSUkVMX0dST1VQX0FHRzoKIAkJCWFkZF9mb3JlaWduX2dyb3VwaW5n X3BhdGhzKHJvb3QsIGlucHV0X3JlbCwgb3V0cHV0X3JlbCwKLQkJCQkJCQkJCSAgIChHcm91cFBh dGhFeHRyYURhdGEgKikgZXh0cmEpOworCQkJCQkJCQkJICAgKEdyb3VwUGF0aEV4dHJhRGF0YSAq KSBleHRyYSwgZmFsc2UpOworCQkJYnJlYWs7CisJCWNhc2UgVVBQRVJSRUxfUEFSVElBTF9HUk9V UF9BR0c6CisJCQlhZGRfZm9yZWlnbl9ncm91cGluZ19wYXRocyhyb290LCBpbnB1dF9yZWwsIG91 dHB1dF9yZWwsCisJCQkJKEdyb3VwUGF0aEV4dHJhRGF0YSopZXh0cmEsIHRydWUpOwogCQkJYnJl YWs7CiAJCWNhc2UgVVBQRVJSRUxfT1JERVJFRDoKIAkJCWFkZF9mb3JlaWduX29yZGVyZWRfcGF0 aHMocm9vdCwgaW5wdXRfcmVsLCBvdXRwdXRfcmVsKTsKQEAgLTY0NDgsNyArNjQ2MCw3IEBAIHBv c3RncmVzR2V0Rm9yZWlnblVwcGVyUGF0aHMoUGxhbm5lckluZm8gKnJvb3QsIFVwcGVyUmVsYXRp b25LaW5kIHN0YWdlLAogc3RhdGljIHZvaWQKIGFkZF9mb3JlaWduX2dyb3VwaW5nX3BhdGhzKFBs YW5uZXJJbmZvICpyb290LCBSZWxPcHRJbmZvICppbnB1dF9yZWwsCiAJCQkJCQkgICBSZWxPcHRJ bmZvICpncm91cGVkX3JlbCwKLQkJCQkJCSAgIEdyb3VwUGF0aEV4dHJhRGF0YSAqZXh0cmEpCisJ CQkJCQkgICBHcm91cFBhdGhFeHRyYURhdGEgKmV4dHJhLCBib29sIHBhcnRpYWwpCiB7CiAJUXVl cnkJICAgKnBhcnNlID0gcm9vdC0+cGFyc2U7CiAJUGdGZHdSZWxhdGlvbkluZm8gKmlmcGluZm8g PSBpbnB1dF9yZWwtPmZkd19wcml2YXRlOwpAQCAtNjQ3Nyw2ICs2NDg5LDcgQEAgYWRkX2ZvcmVp Z25fZ3JvdXBpbmdfcGF0aHMoUGxhbm5lckluZm8gKnJvb3QsIFJlbE9wdEluZm8gKmlucHV0X3Jl bCwKIAlmcGluZm8tPnRhYmxlID0gaWZwaW5mby0+dGFibGU7CiAJZnBpbmZvLT5zZXJ2ZXIgPSBp ZnBpbmZvLT5zZXJ2ZXI7CiAJZnBpbmZvLT51c2VyID0gaWZwaW5mby0+dXNlcjsKKwlmcGluZm8t PnNlcnZlcl92ZXJzaW9uID0gaWZwaW5mby0+c2VydmVyX3ZlcnNpb247CiAJbWVyZ2VfZmR3X29w dGlvbnMoZnBpbmZvLCBpZnBpbmZvLCBOVUxMKTsKIAogCS8qCkBAIC02NDg1LDcgKzY0OTgsNyBA QCBhZGRfZm9yZWlnbl9ncm91cGluZ19wYXRocyhQbGFubmVySW5mbyAqcm9vdCwgUmVsT3B0SW5m byAqaW5wdXRfcmVsLAogCSAqIFVzZSBIQVZJTkcgcXVhbCBmcm9tIGV4dHJhLiBJbiBjYXNlIG9m IGNoaWxkIHBhcnRpdGlvbiwgaXQgd2lsbCBoYXZlCiAJICogdHJhbnNsYXRlZCBWYXJzLgogCSAq LwotCWlmICghZm9yZWlnbl9ncm91cGluZ19vayhyb290LCBncm91cGVkX3JlbCwgZXh0cmEtPmhh dmluZ1F1YWwpKQorCWlmICghZm9yZWlnbl9ncm91cGluZ19vayhyb290LCBncm91cGVkX3JlbCwg ZXh0cmEtPmhhdmluZ1F1YWwsIHBhcnRpYWwpKQogCQlyZXR1cm47CiAKIAkvKgpkaWZmIC0tZ2l0 IGEvY29udHJpYi9wb3N0Z3Jlc19mZHcvcG9zdGdyZXNfZmR3LmggYi9jb250cmliL3Bvc3RncmVz X2Zkdy9wb3N0Z3Jlc19mZHcuaAppbmRleCBhMTFkNDViZWRmLi41YmIzNWQ5NzQzIDEwMDY0NAot LS0gYS9jb250cmliL3Bvc3RncmVzX2Zkdy9wb3N0Z3Jlc19mZHcuaAorKysgYi9jb250cmliL3Bv c3RncmVzX2Zkdy9wb3N0Z3Jlc19mZHcuaApAQCAtODgsNiArODgsOSBAQCB0eXBlZGVmIHN0cnVj dCBQZ0Zkd1JlbGF0aW9uSW5mbwogCiAJaW50CQkJZmV0Y2hfc2l6ZTsJCS8qIGZldGNoIHNpemUg Zm9yIHRoaXMgcmVtb3RlIHRhYmxlICovCiAKKwkvKiBPcHRpb25zIGZvciBjaGVjayBjb21wYXRp YmlsaXR5IG9mIHBhcnRpYWwgYWdncmVnYXRpb24gKi8KKwlpbnQJCQlzZXJ2ZXJfdmVyc2lvbjsK KwogCS8qCiAJICogTmFtZSBvZiB0aGUgcmVsYXRpb24sIGZvciB1c2Ugd2hpbGUgRVhQTEFJTmlu ZyBGb3JlaWduU2Nhbi4gIEl0IGlzIHVzZWQKIAkgKiBmb3Igam9pbiBhbmQgdXBwZXIgcmVsYXRp b25zIGJ1dCBpcyBzZXQgZm9yIGFsbCByZWxhdGlvbnMuICBGb3IgYSBiYXNlCmRpZmYgLS1naXQg YS9jb250cmliL3Bvc3RncmVzX2Zkdy9zcWwvcG9zdGdyZXNfZmR3LnNxbCBiL2NvbnRyaWIvcG9z dGdyZXNfZmR3L3NxbC9wb3N0Z3Jlc19mZHcuc3FsCmluZGV4IGIwZGJiNDFmYjUuLjkxNzYzMzc0 MjAgMTAwNjQ0Ci0tLSBhL2NvbnRyaWIvcG9zdGdyZXNfZmR3L3NxbC9wb3N0Z3Jlc19mZHcuc3Fs CisrKyBiL2NvbnRyaWIvcG9zdGdyZXNfZmR3L3NxbC9wb3N0Z3Jlc19mZHcuc3FsCkBAIC0yOTE5 LDE2ICsyOTE5LDM0IEBAIFJFU0VUIGVuYWJsZV9wYXJ0aXRpb253aXNlX2pvaW47CiAtLSA9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09CiAtLSB0ZXN0IHBhcnRpdGlvbndpc2UgYWdncmVnYXRlcwogLS0gPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQor Q1JFQVRFIE9SIFJFUExBQ0UgRlVOQ1RJT04gZl9zZXJ2ZXJfdmVyc2lvbl9sYWcodmVyc2lvbl9v ZmZzZXQgaW50NCkgUkVUVVJOUyBuYW1lIEFTICQkCisgICAgU0VMRUNUIChzZXR0aW5nOjppbnQ0 ICsgdmVyc2lvbl9vZmZzZXQpOjpuYW1lIEZST00gcGdfc2V0dGluZ3MgV0hFUkUgbmFtZSA9ICdz ZXJ2ZXJfdmVyc2lvbl9udW0nOworJCQgTEFOR1VBR0Ugc3FsOwogCi1DUkVBVEUgVEFCTEUgcGFn Z190YWIgKGEgaW50LCBiIGludCwgYyB0ZXh0KSBQQVJUSVRJT04gQlkgUkFOR0UoYSk7CitDUkVB VEUgT1IgUkVQTEFDRSBGVU5DVElPTiBmX2FsdGVyX3NlcnZlcl92ZXJzaW9uKHNlcnZlcl9uYW1l IG5hbWUsIG9wZXJhdGlvbiB0ZXh0LCB2ZXJzaW9uX29mZnNldCBpbnQ0KSBSRVRVUk5TIHZvaWQg QVMgJCQKKyAgICBERUNMQVJFCisgICAgICAgIHZlcnNpb25fbnVtIG5hbWU7CisgICAgQkVHSU4K KyAgICAgICAgRVhFQ1VURSAnU0VMRUNUIGZfc2VydmVyX3ZlcnNpb25fbGFnKCQxKSAnCisgICAg ICAgICAgICBJTlRPIHZlcnNpb25fbnVtCisgICAgICAgICAgICBVU0lORyB2ZXJzaW9uX29mZnNl dDsKKyAgICAgICAgRVhFQ1VURSBmb3JtYXQoJ0FMVEVSIFNFUlZFUiAlSSBPUFRJT05TICglSSBz ZXJ2ZXJfdmVyc2lvbiAlTCknLAorICAgICAgICAgICAgc2VydmVyX25hbWUsIG9wZXJhdGlvbiwg dmVyc2lvbl9udW0pOworICAgICAgICBSRVRVUk47CisgICAgRU5EOworJCQgTEFOR1VBR0UgcGxw Z3NxbDsKKworU0VMRUNUIGZfYWx0ZXJfc2VydmVyX3ZlcnNpb24oJ2xvb3BiYWNrJywgJ2FkZCcs IDApOworCitDUkVBVEUgVEFCTEUgcGFnZ190YWIgKGEgaW50LCBiIGludCwgYyB0ZXh0LCBkIGlu dDQpIFBBUlRJVElPTiBCWSBSQU5HRShhKTsKIAogQ1JFQVRFIFRBQkxFIHBhZ2dfdGFiX3AxIChM SUtFIHBhZ2dfdGFiKTsKIENSRUFURSBUQUJMRSBwYWdnX3RhYl9wMiAoTElLRSBwYWdnX3RhYik7 CiBDUkVBVEUgVEFCTEUgcGFnZ190YWJfcDMgKExJS0UgcGFnZ190YWIpOwogCi1JTlNFUlQgSU5U TyBwYWdnX3RhYl9wMSBTRUxFQ1QgaSAlIDMwLCBpICUgNTAsIHRvX2NoYXIoaS8zMCwgJ0ZNMDAw MCcpIEZST00gZ2VuZXJhdGVfc2VyaWVzKDEsIDMwMDApIGkgV0hFUkUgKGkgJSAzMCkgPCAxMDsK LUlOU0VSVCBJTlRPIHBhZ2dfdGFiX3AyIFNFTEVDVCBpICUgMzAsIGkgJSA1MCwgdG9fY2hhcihp LzMwLCAnRk0wMDAwJykgRlJPTSBnZW5lcmF0ZV9zZXJpZXMoMSwgMzAwMCkgaSBXSEVSRSAoaSAl IDMwKSA8IDIwIGFuZCAoaSAlIDMwKSA+PSAxMDsKLUlOU0VSVCBJTlRPIHBhZ2dfdGFiX3AzIFNF TEVDVCBpICUgMzAsIGkgJSA1MCwgdG9fY2hhcihpLzMwLCAnRk0wMDAwJykgRlJPTSBnZW5lcmF0 ZV9zZXJpZXMoMSwgMzAwMCkgaSBXSEVSRSAoaSAlIDMwKSA8IDMwIGFuZCAoaSAlIDMwKSA+PSAy MDsKK0lOU0VSVCBJTlRPIHBhZ2dfdGFiX3AxIFNFTEVDVCBpICUgMzAsIGkgJSA1MCwgdG9fY2hh cihpLzMwLCAnRk0wMDAwJyksIGkgJSA0MCBGUk9NIGdlbmVyYXRlX3NlcmllcygxLCAzMDAwKSBp IFdIRVJFIChpICUgMzApIDwgMTA7CitJTlNFUlQgSU5UTyBwYWdnX3RhYl9wMiBTRUxFQ1QgaSAl IDMwLCBpICUgNTAsIHRvX2NoYXIoaS8zMCwgJ0ZNMDAwMCcpLCBpICUgNDAgRlJPTSBnZW5lcmF0 ZV9zZXJpZXMoMSwgMzAwMCkgaSBXSEVSRSAoaSAlIDMwKSA8IDIwIGFuZCAoaSAlIDMwKSA+PSAx MDsKK0lOU0VSVCBJTlRPIHBhZ2dfdGFiX3AzIFNFTEVDVCBpICUgMzAsIGkgJSA1MCwgdG9fY2hh cihpLzMwLCAnRk0wMDAwJyksIGkgJSA0MCBGUk9NIGdlbmVyYXRlX3NlcmllcygxLCAzMDAwKSBp IFdIRVJFIChpICUgMzApIDwgMzAgYW5kIChpICUgMzApID49IDIwOwogCiAtLSBDcmVhdGUgZm9y ZWlnbiBwYXJ0aXRpb25zCiBDUkVBVEUgRk9SRUlHTiBUQUJMRSBmcGFnZ190YWJfcDEgUEFSVElU SU9OIE9GIHBhZ2dfdGFiIEZPUiBWQUxVRVMgRlJPTSAoMCkgVE8gKDEwKSBTRVJWRVIgbG9vcGJh Y2sgT1BUSU9OUyAodGFibGVfbmFtZSAncGFnZ190YWJfcDEnKTsKQEAgLTI5NjIsNiArMjk4MCwz NCBAQCBTRUxFQ1QgYSwgY291bnQodDEpIEZST00gcGFnZ190YWIgdDEgR1JPVVAgQlkgYSBIQVZJ TkcgYXZnKGIpIDwgMjIgT1JERVIgQlkgMTsKIEVYUExBSU4gKENPU1RTIE9GRikKIFNFTEVDVCBi LCBhdmcoYSksIG1heChhKSwgY291bnQoKikgRlJPTSBwYWdnX3RhYiBHUk9VUCBCWSBiIEhBVklO RyBzdW0oYSkgPCA3MDAgT1JERVIgQlkgMTsKIAorLS0gSXQncyB1bnNhZmUgdG8gcHVzaCBkb3du IGhhdmluZyBjbGF1c2Ugd2hlbiB0aGVyZSBhcmUgcGFydGlhbCBhZ2dyZWdhdGVzCitFWFBMQUlO IChWRVJCT1NFLCBDT1NUUyBPRkYpCitTRUxFQ1QgYiwgbWF4KGEpLCBjb3VudCgqKSBGUk9NIHBh Z2dfdGFiIEdST1VQIEJZIGIgSEFWSU5HIHN1bShhKSA8IDcwMCBPUkRFUiBCWSAxOworCistLSBQ YXJ0aWFsIGFnZ3JlZ2F0ZXMgYXJlIGZpbmUgdG8gcHVzaCBkb3duIHdpdGhvdXQgaGF2aW5nIGNs YXVzZQorRVhQTEFJTiAoVkVSQk9TRSwgQ09TVFMgT0ZGKQorU0VMRUNUIGIsIG1pbihhKSwgbWF4 KGEpLCBjb3VudCgqKSwgc3VtKGQpLCBhdmcoZCksIGF2ZyhkOjppbnQ4KSBGUk9NIHBhZ2dfdGFi IEdST1VQIEJZIGIgT1JERVIgQlkgMTsKK1NFTEVDVCBiLCBtaW4oYSksIG1heChhKSwgY291bnQo KiksIHN1bShkKSwgYXZnKGQpLCBhdmcoZDo6aW50OCkgRlJPTSBwYWdnX3RhYiBHUk9VUCBCWSBi IE9SREVSIEJZIDE7CisKKy0tIFBhcnRpYWwgYWdncmVnYXRlcyBhcmUgZmluZSB0byBwdXNoIGRv d24KK0VYUExBSU4gKFZFUkJPU0UsIENPU1RTIE9GRikKK1NFTEVDVCBtaW4oYSksIG1heChhKSwg Y291bnQoKiksIHN1bShkKSwgYXZnKGQpLCBhdmcoZDo6aW50OCkgRlJPTSBwYWdnX3RhYjsKK1NF TEVDVCBtaW4oYSksIG1heChhKSwgY291bnQoKiksIHN1bShkKSwgYXZnKGQpLCBhdmcoZDo6aW50 OCkgRlJPTSBwYWdnX3RhYjsKKworLS0gSXQncyB1bnNhZmUgdG8gcHVzaCBkb3duIHBhcnRpYWwg YWdncmVnYXRlcyB3aXRoIGRpc3RpbmN0IG9wdGlvbgorRVhQTEFJTiAoVkVSQk9TRSwgQ09TVFMg T0ZGKQorU0VMRUNUIG1heChhKSwgY291bnQoZGlzdGluY3QgYikgRlJPTSBwYWdnX3RhYjsKK1NF TEVDVCBtYXgoYSksIGNvdW50KGRpc3RpbmN0IGIpIEZST00gcGFnZ190YWI7CisKKy0tIEl0J3Mg dW5zYWZlIHRvIHB1c2ggZG93biBwYXJ0aWFsIGFnZ3JlZ2F0ZXMgd2l0aCBkaXN0aW5jdAorU0VM RUNUIGZfYWx0ZXJfc2VydmVyX3ZlcnNpb24oJ2xvb3BiYWNrJywgJ3NldCcsIC0xKTsKK0VYUExB SU4gKFZFUkJPU0UsIENPU1RTIE9GRikKK1NFTEVDVCBhdmcoZCkgRlJPTSBwYWdnX3RhYjsKK1NF TEVDVCBhdmcoZCkgRlJPTSBwYWdnX3RhYjsKKworRFJPUCBGVU5DVElPTiBmX3NlcnZlcl92ZXJz aW9uX2xhZyhpbnQ0KTsKK0RST1AgRlVOQ1RJT04gZl9hbHRlcl9zZXJ2ZXJfdmVyc2lvbihuYW1l LCB0ZXh0LCBpbnQ0KTsKKwogLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogLS0gYWNjZXNzIHJpZ2h0cyBhbmQgc3Vw ZXJ1c2VyCiAtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jYXRhbG9nL3Bn X2FnZ3JlZ2F0ZS5jIGIvc3JjL2JhY2tlbmQvY2F0YWxvZy9wZ19hZ2dyZWdhdGUuYwppbmRleCBh OTg0NDViNzQxLi45ZjhhMzI2Y2VjIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9jYXRhbG9nL3Bn X2FnZ3JlZ2F0ZS5jCisrKyBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvcGdfYWdncmVnYXRlLmMKQEAg LTM2LDcgKzM2LDggQEAKIAogc3RhdGljIE9pZAlsb29rdXBfYWdnX2Z1bmN0aW9uKExpc3QgKmZu TmFtZSwgaW50IG5hcmdzLCBPaWQgKmlucHV0X3R5cGVzLAogCQkJCQkJCQlPaWQgdmFyaWFkaWNB cmdUeXBlLAotCQkJCQkJCQlPaWQgKnJldHR5cGUpOworCQkJCQkJCQlPaWQgKnJldHR5cGUsCisJ CQkJCQkJCWJvb2wgb25seV9ub3JtYWwpOwogCiAKIC8qCkBAIC02Myw2ICs2NCw3IEBAIEFnZ3Jl Z2F0ZUNyZWF0ZShjb25zdCBjaGFyICphZ2dOYW1lLAogCQkJCUxpc3QgKmFnZ210cmFuc2ZuTmFt ZSwKIAkJCQlMaXN0ICphZ2dtaW52dHJhbnNmbk5hbWUsCiAJCQkJTGlzdCAqYWdnbWZpbmFsZm5O YW1lLAorCQkJCUxpc3QgKnBhcnRpYWxhZ2dmbk5hbWUsCiAJCQkJYm9vbCBmaW5hbGZuRXh0cmFB cmdzLAogCQkJCWJvb2wgbWZpbmFsZm5FeHRyYUFyZ3MsCiAJCQkJY2hhciBmaW5hbGZuTW9kaWZ5 LApAQCAtNzIsNiArNzQsNyBAQCBBZ2dyZWdhdGVDcmVhdGUoY29uc3QgY2hhciAqYWdnTmFtZSwK IAkJCQlpbnQzMiBhZ2dUcmFuc1NwYWNlLAogCQkJCU9pZCBhZ2dtVHJhbnNUeXBlLAogCQkJCWlu dDMyIGFnZ21UcmFuc1NwYWNlLAorCQkJCWludDMyIHBhcnRpYWxhZ2dNaW52ZXJzaW9uLAogCQkJ CWNvbnN0IGNoYXIgKmFnZ2luaXR2YWwsCiAJCQkJY29uc3QgY2hhciAqYWdnbWluaXR2YWwsCiAJ CQkJY2hhciBwcm9wYXJhbGxlbCkKQEAgLTkxLDYgKzk0LDcgQEAgQWdncmVnYXRlQ3JlYXRlKGNv bnN0IGNoYXIgKmFnZ05hbWUsCiAJT2lkCQkJbXRyYW5zZm4gPSBJbnZhbGlkT2lkOwkvKiBjYW4g YmUgb21pdHRlZCAqLwogCU9pZAkJCW1pbnZ0cmFuc2ZuID0gSW52YWxpZE9pZDsJLyogY2FuIGJl IG9taXR0ZWQgKi8KIAlPaWQJCQltZmluYWxmbiA9IEludmFsaWRPaWQ7CS8qIGNhbiBiZSBvbWl0 dGVkICovCisJT2lkCQkJcGFydGlhbGFnZ2ZuID0gSW52YWxpZE9pZDsJLyogY2FuIGJlIG9taXR0 ZWQgKi8KIAlPaWQJCQlzb3J0b3AgPSBJbnZhbGlkT2lkOwkvKiBjYW4gYmUgb21pdHRlZCAqLwog CU9pZAkJICAgKmFnZ0FyZ1R5cGVzID0gcGFyYW1ldGVyVHlwZXMtPnZhbHVlczsKIAlib29sCQlt dHJhbnNJc1N0cmljdCA9IGZhbHNlOwpAQCAtMjI4LDcgKzIzMiw3IEBAIEFnZ3JlZ2F0ZUNyZWF0 ZShjb25zdCBjaGFyICphZ2dOYW1lLAogCX0KIAl0cmFuc2ZuID0gbG9va3VwX2FnZ19mdW5jdGlv bihhZ2d0cmFuc2ZuTmFtZSwgbmFyZ3NfdHJhbnNmbiwKIAkJCQkJCQkJICBmbkFyZ3MsIHZhcmlh ZGljQXJnVHlwZSwKLQkJCQkJCQkJICAmcmV0dHlwZSk7CisJCQkJCQkJCSAgJnJldHR5cGUsIHRy dWUpOwogCiAJLyoKIAkgKiBSZXR1cm4gdHlwZSBvZiB0cmFuc2ZuIChwb3NzaWJseSBhZnRlciBy ZWZpbmVtZW50IGJ5CkBAIC0yODEsNyArMjg1LDcgQEAgQWdncmVnYXRlQ3JlYXRlKGNvbnN0IGNo YXIgKmFnZ05hbWUsCiAKIAkJbXRyYW5zZm4gPSBsb29rdXBfYWdnX2Z1bmN0aW9uKGFnZ210cmFu c2ZuTmFtZSwgbmFyZ3NfdHJhbnNmbiwKIAkJCQkJCQkJCSAgIGZuQXJncywgdmFyaWFkaWNBcmdU eXBlLAotCQkJCQkJCQkJICAgJnJldHR5cGUpOworCQkJCQkJCQkJICAgJnJldHR5cGUsIHRydWUp OwogCiAJCS8qIEFzIGFib3ZlLCByZXR1cm4gdHlwZSBtdXN0IGV4YWN0bHkgbWF0Y2ggZGVjbGFy ZWQgbXRyYW5zdHlwZS4gKi8KIAkJaWYgKHJldHR5cGUgIT0gYWdnbVRyYW5zVHlwZSkKQEAgLTMy Niw3ICszMzAsNyBAQCBBZ2dyZWdhdGVDcmVhdGUoY29uc3QgY2hhciAqYWdnTmFtZSwKIAogCQlt aW52dHJhbnNmbiA9IGxvb2t1cF9hZ2dfZnVuY3Rpb24oYWdnbWludnRyYW5zZm5OYW1lLCBuYXJn c190cmFuc2ZuLAogCQkJCQkJCQkJCSAgZm5BcmdzLCB2YXJpYWRpY0FyZ1R5cGUsCi0JCQkJCQkJ CQkJICAmcmV0dHlwZSk7CisJCQkJCQkJCQkJICAmcmV0dHlwZSwgdHJ1ZSk7CiAKIAkJLyogQXMg YWJvdmUsIHJldHVybiB0eXBlIG11c3QgZXhhY3RseSBtYXRjaCBkZWNsYXJlZCBtdHJhbnN0eXBl LiAqLwogCQlpZiAocmV0dHlwZSAhPSBhZ2dtVHJhbnNUeXBlKQpAQCAtMzgyLDcgKzM4Niw3IEBA IEFnZ3JlZ2F0ZUNyZWF0ZShjb25zdCBjaGFyICphZ2dOYW1lLAogCiAJCWZpbmFsZm4gPSBsb29r dXBfYWdnX2Z1bmN0aW9uKGFnZ2ZpbmFsZm5OYW1lLCBuYXJnc19maW5hbGZuLAogCQkJCQkJCQkJ ICBmbkFyZ3MsIGZmblZhcmlhZGljQXJnVHlwZSwKLQkJCQkJCQkJCSAgJmZpbmFsdHlwZSk7CisJ CQkJCQkJCQkgICZmaW5hbHR5cGUsIHRydWUpOwogCiAJCS8qCiAJCSAqIFdoZW4gZmluYWxmbkV4 dHJhQXJncyBpcyBzcGVjaWZpZWQsIHRoZSBmaW5hbGZuIHdpbGwgY2VydGFpbmx5IGJlCkBAIC00 MTgsNyArNDIyLDcgQEAgQWdncmVnYXRlQ3JlYXRlKGNvbnN0IGNoYXIgKmFnZ05hbWUsCiAKIAkJ Y29tYmluZWZuID0gbG9va3VwX2FnZ19mdW5jdGlvbihhZ2djb21iaW5lZm5OYW1lLCAyLAogCQkJ CQkJCQkJCWZuQXJncywgSW52YWxpZE9pZCwKLQkJCQkJCQkJCQkmY29tYmluZVR5cGUpOworCQkJ CQkJCQkJCSZjb21iaW5lVHlwZSwgdHJ1ZSk7CiAKIAkJLyogRW5zdXJlIHRoZSByZXR1cm4gdHlw ZSBtYXRjaGVzIHRoZSBhZ2dyZWdhdGUncyB0cmFucyB0eXBlICovCiAJCWlmIChjb21iaW5lVHlw ZSAhPSBhZ2dUcmFuc1R5cGUpCkBAIC00NTAsNyArNDU0LDcgQEAgQWdncmVnYXRlQ3JlYXRlKGNv bnN0IGNoYXIgKmFnZ05hbWUsCiAKIAkJc2VyaWFsZm4gPSBsb29rdXBfYWdnX2Z1bmN0aW9uKGFn Z3NlcmlhbGZuTmFtZSwgMSwKIAkJCQkJCQkJCSAgIGZuQXJncywgSW52YWxpZE9pZCwKLQkJCQkJ CQkJCSAgICZyZXR0eXBlKTsKKwkJCQkJCQkJCSAgICZyZXR0eXBlLCB0cnVlKTsKIAogCQlpZiAo cmV0dHlwZSAhPSBCWVRFQU9JRCkKIAkJCWVyZXBvcnQoRVJST1IsCkBAIC00NzEsNyArNDc1LDcg QEAgQWdncmVnYXRlQ3JlYXRlKGNvbnN0IGNoYXIgKmFnZ05hbWUsCiAKIAkJZGVzZXJpYWxmbiA9 IGxvb2t1cF9hZ2dfZnVuY3Rpb24oYWdnZGVzZXJpYWxmbk5hbWUsIDIsCiAJCQkJCQkJCQkJIGZu QXJncywgSW52YWxpZE9pZCwKLQkJCQkJCQkJCQkgJnJldHR5cGUpOworCQkJCQkJCQkJCSAmcmV0 dHlwZSwgdHJ1ZSk7CiAKIAkJaWYgKHJldHR5cGUgIT0gSU5URVJOQUxPSUQpCiAJCQllcmVwb3J0 KEVSUk9SLApAQCAtNTQ1LDcgKzU0OSw3IEBAIEFnZ3JlZ2F0ZUNyZWF0ZShjb25zdCBjaGFyICph Z2dOYW1lLAogCiAJCQltZmluYWxmbiA9IGxvb2t1cF9hZ2dfZnVuY3Rpb24oYWdnbWZpbmFsZm5O YW1lLCBuYXJnc19maW5hbGZuLAogCQkJCQkJCQkJCSAgIGZuQXJncywgZmZuVmFyaWFkaWNBcmdU eXBlLAotCQkJCQkJCQkJCSAgICZyZXR0eXBlKTsKKwkJCQkJCQkJCQkgICAmcmV0dHlwZSwgdHJ1 ZSk7CiAKIAkJCS8qIEFzIGFib3ZlLCBjaGVjayBzdHJpY3RuZXNzIGlmIG1maW5hbGZuRXh0cmFB cmdzIGlzIGdpdmVuICovCiAJCQlpZiAobWZpbmFsZm5FeHRyYUFyZ3MgJiYgZnVuY19zdHJpY3Qo bWZpbmFsZm4pKQpAQCAtNTY5LDYgKzU3MywyNyBAQCBBZ2dyZWdhdGVDcmVhdGUoY29uc3QgY2hh ciAqYWdnTmFtZSwKIAkJCQkJCQlmb3JtYXRfdHlwZV9iZShmaW5hbHR5cGUpKSkpOwogCX0KIAor CS8qCisJICogVmFsaWRhdGUgdGhlIHBhcnRpYWwgYWdncmVnYXRlIGZ1bmN0aW9uLCBpZiBwcmVz ZW50LgorCSAqLworCWlmIChwYXJ0aWFsYWdnZm5OYW1lKQorCXsKKwkJSGVhcFR1cGxlIGFnZ3R1 cDsKKwkJcGFydGlhbGFnZ2ZuID0gbG9va3VwX2FnZ19mdW5jdGlvbihwYXJ0aWFsYWdnZm5OYW1l LCBudW1BcmdzLAorCQkJYWdnQXJnVHlwZXMsIHZhcmlhZGljQXJnVHlwZSwgJnJldHR5cGUsIGZh bHNlKTsKKworCQlpZiAoKChhZ2dUcmFuc1R5cGUgPT0gSU5URVJOQUxPSUQpICYmIChyZXR0eXBl ICE9IEJZVEVBT0lEKSkKKwkJCXx8ICgoYWdnVHJhbnNUeXBlICE9IElOVEVSTkFMT0lEKSAmJiAo cmV0dHlwZSAhPSBhZ2dUcmFuc1R5cGUpKSkKKwkJCWVyZXBvcnQoRVJST1IsCisJCQkJKGVycmNv ZGUoRVJSQ09ERV9EQVRBVFlQRV9NSVNNQVRDSCksCisJCQkJCWVycm1zZygicmV0dXJuIHR5cGUg b2YgcGFydGlhbCBhZ2dyZWdhdGlvbiBmdW5jdGlvbiAlcyBpcyBub3Qgc3R5cGUiLAorCQkJCQkJ TmFtZUxpc3RUb1N0cmluZyhwYXJ0aWFsYWdnZm5OYW1lKSkpKTsKKwkJYWdndHVwID0gU2VhcmNo U3lzQ2FjaGUxKEFHR0ZOT0lELCBPYmplY3RJZEdldERhdHVtKHBhcnRpYWxhZ2dmbikpOworCQlp ZiAoIUhlYXBUdXBsZUlzVmFsaWQoYWdndHVwKSkKKwkJCWVsb2coRVJST1IsICJjYWNoZSBsb29r dXAgZmFpbGVkIGZvciBmdW5jdGlvbiAldSIsIHBhcnRpYWxhZ2dmbik7CisJCVJlbGVhc2VTeXND YWNoZShhZ2d0dXApOworCX0KKwogCS8qIGhhbmRsZSBzb3J0b3AsIGlmIHN1cHBsaWVkICovCiAJ aWYgKGFnZ3NvcnRvcE5hbWUpCiAJewpAQCAtNjg0LDYgKzcwOSw4IEBAIEFnZ3JlZ2F0ZUNyZWF0 ZShjb25zdCBjaGFyICphZ2dOYW1lLAogCQl2YWx1ZXNbQW51bV9wZ19hZ2dyZWdhdGVfYWdnbWlu aXR2YWwgLSAxXSA9IENTdHJpbmdHZXRUZXh0RGF0dW0oYWdnbWluaXR2YWwpOwogCWVsc2UKIAkJ bnVsbHNbQW51bV9wZ19hZ2dyZWdhdGVfYWdnbWluaXR2YWwgLSAxXSA9IHRydWU7CisJdmFsdWVz W0FudW1fcGdfYWdncmVnYXRlX3BhcnRpYWxhZ2dmbiAtIDFdID0gT2JqZWN0SWRHZXREYXR1bShw YXJ0aWFsYWdnZm4pOworCXZhbHVlc1tBbnVtX3BnX2FnZ3JlZ2F0ZV9wYXJ0aWFsYWdnX21pbnZl cnNpb24gLSAxXSA9IEludDMyR2V0RGF0dW0ocGFydGlhbGFnZ01pbnZlcnNpb24pOwogCiAJaWYg KHJlcGxhY2UpCiAJCW9sZHR1cCA9IFNlYXJjaFN5c0NhY2hlMShBR0dGTk9JRCwgT2JqZWN0SWRH ZXREYXR1bShwcm9jT2lkKSk7CkBAIC04MjcsNyArODU0LDggQEAgbG9va3VwX2FnZ19mdW5jdGlv bihMaXN0ICpmbk5hbWUsCiAJCQkJCWludCBuYXJncywKIAkJCQkJT2lkICppbnB1dF90eXBlcywK IAkJCQkJT2lkIHZhcmlhZGljQXJnVHlwZSwKLQkJCQkJT2lkICpyZXR0eXBlKQorCQkJCQlPaWQg KnJldHR5cGUsCisJCQkJCWJvb2wgb25seV9ub3JtYWwpCiB7CiAJT2lkCQkJZm5PaWQ7CiAJYm9v bAkJcmV0c2V0OwpAQCAtODUyLDcgKzg4MCw3IEBAIGxvb2t1cF9hZ2dfZnVuY3Rpb24oTGlzdCAq Zm5OYW1lLAogCQkJCQkJCSAgICZ0cnVlX29pZF9hcnJheSwgTlVMTCk7CiAKIAkvKiBvbmx5IHZh bGlkIGNhc2UgaXMgYSBub3JtYWwgZnVuY3Rpb24gbm90IHJldHVybmluZyBhIHNldCAqLwotCWlm IChmZHJlc3VsdCAhPSBGVU5DREVUQUlMX05PUk1BTCB8fCAhT2lkSXNWYWxpZChmbk9pZCkpCisJ aWYgKChmZHJlc3VsdCAhPSBGVU5DREVUQUlMX05PUk1BTCB8fCAhT2lkSXNWYWxpZChmbk9pZCkp ICYmIG9ubHlfbm9ybWFsKQogCQllcmVwb3J0KEVSUk9SLAogCQkJCShlcnJjb2RlKEVSUkNPREVf VU5ERUZJTkVEX0ZVTkNUSU9OKSwKIAkJCQkgZXJybXNnKCJmdW5jdGlvbiAlcyBkb2VzIG5vdCBl eGlzdCIsCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jb21tYW5kcy9hZ2dyZWdhdGVjbWRzLmMg Yi9zcmMvYmFja2VuZC9jb21tYW5kcy9hZ2dyZWdhdGVjbWRzLmMKaW5kZXggYTkzMzllNDBiMy4u ODdiMjFlZTFlZSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvYWdncmVnYXRlY21k cy5jCisrKyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL2FnZ3JlZ2F0ZWNtZHMuYwpAQCAtNzAsNiAr NzAsNyBAQCBEZWZpbmVBZ2dyZWdhdGUoUGFyc2VTdGF0ZSAqcHN0YXRlLAogCUxpc3QJICAgKmNv bWJpbmVmdW5jTmFtZSA9IE5JTDsKIAlMaXN0CSAgICpzZXJpYWxmdW5jTmFtZSA9IE5JTDsKIAlM aXN0CSAgICpkZXNlcmlhbGZ1bmNOYW1lID0gTklMOworCUxpc3QJICAgKnBhcnRpYWxhZ2dmdW5j TmFtZSA9IE5JTDsKIAlMaXN0CSAgICptdHJhbnNmdW5jTmFtZSA9IE5JTDsKIAlMaXN0CSAgICpt aW52dHJhbnNmdW5jTmFtZSA9IE5JTDsKIAlMaXN0CSAgICptZmluYWxmdW5jTmFtZSA9IE5JTDsK QEAgLTgzLDYgKzg0LDcgQEAgRGVmaW5lQWdncmVnYXRlKFBhcnNlU3RhdGUgKnBzdGF0ZSwKIAlU eXBlTmFtZSAgICptdHJhbnNUeXBlID0gTlVMTDsKIAlpbnQzMgkJdHJhbnNTcGFjZSA9IDA7CiAJ aW50MzIJCW10cmFuc1NwYWNlID0gMDsKKwlpbnQzMgkJcGFydGlhbGFnZ01pbnZlcnNpb24gPSAw OwogCWNoYXIJICAgKmluaXR2YWwgPSBOVUxMOwogCWNoYXIJICAgKm1pbml0dmFsID0gTlVMTDsK IAljaGFyCSAgICpwYXJhbGxlbCA9IE5VTEw7CkBAIC0xNDMsNiArMTQ1LDggQEAgRGVmaW5lQWdn cmVnYXRlKFBhcnNlU3RhdGUgKnBzdGF0ZSwKIAkJCXNlcmlhbGZ1bmNOYW1lID0gZGVmR2V0UXVh bGlmaWVkTmFtZShkZWZlbCk7CiAJCWVsc2UgaWYgKHN0cmNtcChkZWZlbC0+ZGVmbmFtZSwgImRl c2VyaWFsZnVuYyIpID09IDApCiAJCQlkZXNlcmlhbGZ1bmNOYW1lID0gZGVmR2V0UXVhbGlmaWVk TmFtZShkZWZlbCk7CisJCWVsc2UgaWYgKHN0cmNtcChkZWZlbC0+ZGVmbmFtZSwgInBhcnRpYWxh Z2dmdW5jIikgPT0gMCkKKwkJCXBhcnRpYWxhZ2dmdW5jTmFtZSA9IGRlZkdldFF1YWxpZmllZE5h bWUoZGVmZWwpOwogCQllbHNlIGlmIChzdHJjbXAoZGVmZWwtPmRlZm5hbWUsICJtc2Z1bmMiKSA9 PSAwKQogCQkJbXRyYW5zZnVuY05hbWUgPSBkZWZHZXRRdWFsaWZpZWROYW1lKGRlZmVsKTsKIAkJ ZWxzZSBpZiAoc3RyY21wKGRlZmVsLT5kZWZuYW1lLCAibWludmZ1bmMiKSA9PSAwKQpAQCAtMTgy LDYgKzE4Niw4IEBAIERlZmluZUFnZ3JlZ2F0ZShQYXJzZVN0YXRlICpwc3RhdGUsCiAJCQltdHJh bnNUeXBlID0gZGVmR2V0VHlwZU5hbWUoZGVmZWwpOwogCQllbHNlIGlmIChzdHJjbXAoZGVmZWwt PmRlZm5hbWUsICJtc3NwYWNlIikgPT0gMCkKIAkJCW10cmFuc1NwYWNlID0gZGVmR2V0SW50MzIo ZGVmZWwpOworCQllbHNlIGlmIChzdHJjbXAoZGVmZWwtPmRlZm5hbWUsICJwYXJ0aWFsYWdnX21p bnZlcnNpb24iKSA9PSAwKQorCQkJcGFydGlhbGFnZ01pbnZlcnNpb24gPSBkZWZHZXRJbnQzMihk ZWZlbCk7CiAJCWVsc2UgaWYgKHN0cmNtcChkZWZlbC0+ZGVmbmFtZSwgImluaXRjb25kIikgPT0g MCkKIAkJCWluaXR2YWwgPSBkZWZHZXRTdHJpbmcoZGVmZWwpOwogCQllbHNlIGlmIChzdHJjbXAo ZGVmZWwtPmRlZm5hbWUsICJpbml0Y29uZDEiKSA9PSAwKQpAQCAtNDYxLDYgKzQ2Nyw3IEBAIERl ZmluZUFnZ3JlZ2F0ZShQYXJzZVN0YXRlICpwc3RhdGUsCiAJCQkJCQkgICBtdHJhbnNmdW5jTmFt ZSwJLyogZndkIHRyYW5zIGZ1bmN0aW9uIG5hbWUgKi8KIAkJCQkJCSAgIG1pbnZ0cmFuc2Z1bmNO YW1lLAkvKiBpbnYgdHJhbnMgZnVuY3Rpb24gbmFtZSAqLwogCQkJCQkJICAgbWZpbmFsZnVuY05h bWUsCS8qIGZpbmFsIGZ1bmN0aW9uIG5hbWUgKi8KKwkJCQkJCSAgIHBhcnRpYWxhZ2dmdW5jTmFt ZSwKIAkJCQkJCSAgIGZpbmFsZnVuY0V4dHJhQXJncywKIAkJCQkJCSAgIG1maW5hbGZ1bmNFeHRy YUFyZ3MsCiAJCQkJCQkgICBmaW5hbGZ1bmNNb2RpZnksCkBAIC00NzAsNiArNDc3LDcgQEAgRGVm aW5lQWdncmVnYXRlKFBhcnNlU3RhdGUgKnBzdGF0ZSwKIAkJCQkJCSAgIHRyYW5zU3BhY2UsCS8q IHRyYW5zaXRpb24gc3BhY2UgKi8KIAkJCQkJCSAgIG10cmFuc1R5cGVJZCwJLyogdHJhbnNpdGlv biBkYXRhIHR5cGUgKi8KIAkJCQkJCSAgIG10cmFuc1NwYWNlLCAvKiB0cmFuc2l0aW9uIHNwYWNl ICovCisJCQkJCQkgICBwYXJ0aWFsYWdnTWludmVyc2lvbiwKIAkJCQkJCSAgIGluaXR2YWwsIC8q IGluaXRpYWwgY29uZGl0aW9uICovCiAJCQkJCQkgICBtaW5pdHZhbCwJLyogaW5pdGlhbCBjb25k aXRpb24gKi8KIAkJCQkJCSAgIHByb3BhcmFsbGVsKTsJLyogcGFyYWxsZWwgc2FmZT8gKi8KZGlm ZiAtLWdpdCBhL3NyYy9iaW4vcGdfZHVtcC9wZ19kdW1wLmMgYi9zcmMvYmluL3BnX2R1bXAvcGdf ZHVtcC5jCmluZGV4IGRhNDI3ZjRkNGEuLjJlMmQzOGIyNWIgMTAwNjQ0Ci0tLSBhL3NyYy9iaW4v cGdfZHVtcC9wZ19kdW1wLmMKKysrIGIvc3JjL2Jpbi9wZ19kdW1wL3BnX2R1bXAuYwpAQCAtMTM0 MDYsNiArMTM0MDYsOCBAQCBkdW1wQWdnKEFyY2hpdmUgKmZvdXQsIGNvbnN0IEFnZ0luZm8gKmFn Z2luZm8pCiAJY29uc3QgY2hhciAqYWdnbXRyYW5zZm47CiAJY29uc3QgY2hhciAqYWdnbWludnRy YW5zZm47CiAJY29uc3QgY2hhciAqYWdnbWZpbmFsZm47CisJY29uc3QgY2hhciAqcGFydGlhbGFn Z2ZuOworCWNvbnN0IGNoYXIgKnBhcnRpYWxhZ2dfbWludmVyc2lvbjsKIAlib29sCQlhZ2dmaW5h bGV4dHJhOwogCWJvb2wJCWFnZ21maW5hbGV4dHJhOwogCWNoYXIJCWFnZ2ZpbmFsbW9kaWZ5OwpA QCAtMTM0ODgsMTEgKzEzNDkwLDE5IEBAIGR1bXBBZ2coQXJjaGl2ZSAqZm91dCwgY29uc3QgQWdn SW5mbyAqYWdnaW5mbykKIAkJaWYgKGZvdXQtPnJlbW90ZVZlcnNpb24gPj0gMTEwMDAwKQogCQkJ YXBwZW5kUFFFeHBCdWZmZXJTdHIocXVlcnksCiAJCQkJCQkJCSAiYWdnZmluYWxtb2RpZnksXG4i Ci0JCQkJCQkJCSAiYWdnbWZpbmFsbW9kaWZ5XG4iKTsKKwkJCQkJCQkJICJhZ2dtZmluYWxtb2Rp ZnksXG4iKTsKIAkJZWxzZQogCQkJYXBwZW5kUFFFeHBCdWZmZXJTdHIocXVlcnksCiAJCQkJCQkJ CSAiJzAnIEFTIGFnZ2ZpbmFsbW9kaWZ5LFxuIgotCQkJCQkJCQkgIicwJyBBUyBhZ2dtZmluYWxt b2RpZnlcbiIpOworCQkJCQkJCQkgIicwJyBBUyBhZ2dtZmluYWxtb2RpZnksXG4iKTsKKwkJaWYg KGZvdXQtPnJlbW90ZVZlcnNpb24gPj0gMTYwMDAwKQorCQkJYXBwZW5kUFFFeHBCdWZmZXJTdHIo cXVlcnksCisJCQkJCQkJCSJwYXJ0aWFsYWdnZm4sXG4iCisJCQkJCQkJCSJwYXJ0aWFsYWdnX21p bnZlcnNpb25cbiIpOworCQllbHNlCisJCQlhcHBlbmRQUUV4cEJ1ZmZlclN0cihxdWVyeSwKKwkJ CQkJCQkJIictJyBBUyBwYXJ0aWFsYWdnZm4sXG4iCisJCQkJCQkJCSIwIEFTIHBhcnRpYWxhZ2df bWludmVyc2lvblxuIik7CiAKIAkJYXBwZW5kUFFFeHBCdWZmZXJTdHIocXVlcnksCiAJCQkJCQkJ ICJGUk9NIHBnX2NhdGFsb2cucGdfYWdncmVnYXRlIGEsIHBnX2NhdGFsb2cucGdfcHJvYyBwICIK QEAgLTEzNTE4LDYgKzEzNTI4LDggQEAgZHVtcEFnZyhBcmNoaXZlICpmb3V0LCBjb25zdCBBZ2dJ bmZvICphZ2dpbmZvKQogCWFnZ2NvbWJpbmVmbiA9IFBRZ2V0dmFsdWUocmVzLCAwLCBQUWZudW1i ZXIocmVzLCAiYWdnY29tYmluZWZuIikpOwogCWFnZ3NlcmlhbGZuID0gUFFnZXR2YWx1ZShyZXMs IDAsIFBRZm51bWJlcihyZXMsICJhZ2dzZXJpYWxmbiIpKTsKIAlhZ2dkZXNlcmlhbGZuID0gUFFn ZXR2YWx1ZShyZXMsIDAsIFBRZm51bWJlcihyZXMsICJhZ2dkZXNlcmlhbGZuIikpOworCXBhcnRp YWxhZ2dmbiA9IFBRZ2V0dmFsdWUocmVzLCAwLCBQUWZudW1iZXIocmVzLCAicGFydGlhbGFnZ2Zu IikpOworCXBhcnRpYWxhZ2dfbWludmVyc2lvbiA9IFBRZ2V0dmFsdWUocmVzLCAwLCBQUWZudW1i ZXIocmVzLCAicGFydGlhbGFnZ19taW52ZXJzaW9uIikpOwogCWFnZ210cmFuc2ZuID0gUFFnZXR2 YWx1ZShyZXMsIDAsIFBRZm51bWJlcihyZXMsICJhZ2dtdHJhbnNmbiIpKTsKIAlhZ2dtaW52dHJh bnNmbiA9IFBRZ2V0dmFsdWUocmVzLCAwLCBQUWZudW1iZXIocmVzLCAiYWdnbWludnRyYW5zZm4i KSk7CiAJYWdnbWZpbmFsZm4gPSBQUWdldHZhbHVlKHJlcywgMCwgUFFmbnVtYmVyKHJlcywgImFn Z21maW5hbGZuIikpOwpAQCAtMTM2MDcsNiArMTM2MTksMTUgQEAgZHVtcEFnZyhBcmNoaXZlICpm b3V0LCBjb25zdCBBZ2dJbmZvICphZ2dpbmZvKQogCWlmIChzdHJjbXAoYWdnZGVzZXJpYWxmbiwg Ii0iKSAhPSAwKQogCQlhcHBlbmRQUUV4cEJ1ZmZlcihkZXRhaWxzLCAiLFxuICAgIERFU0VSSUFM RlVOQyA9ICVzIiwgYWdnZGVzZXJpYWxmbik7CiAKKwlpZiAoc3RyY21wKHBhcnRpYWxhZ2dmbiwg Ii0iKSAhPSAwKQorCQlhcHBlbmRQUUV4cEJ1ZmZlcihkZXRhaWxzLCAiLFxuICAgIFBBUlRJQUxB R0dGVU5DID0gJXMiLCBwYXJ0aWFsYWdnZm4pOworCisJaWYgKHN0cmNtcChwYXJ0aWFsYWdnX21p bnZlcnNpb24sICIwIikgIT0gMCkKKwl7CisJCWFwcGVuZFBRRXhwQnVmZmVyKGRldGFpbHMsICIs XG4gICAgUEFSVElBTEFHR19NSU5WRVJTSU9OID0gJXMiLAorCQkJCQkJICBwYXJ0aWFsYWdnX21p bnZlcnNpb24pOworCX0KKwogCWlmIChzdHJjbXAoYWdnbXRyYW5zZm4sICItIikgIT0gMCkKIAl7 CiAJCWFwcGVuZFBRRXhwQnVmZmVyKGRldGFpbHMsICIsXG4gICAgTVNGVU5DID0gJXMsXG4gICAg TUlOVkZVTkMgPSAlcyxcbiAgICBNU1RZUEUgPSAlcyIsCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVk ZS9jYXRhbG9nL3BnX2FnZ3JlZ2F0ZS5kYXQgYi9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX2FnZ3Jl Z2F0ZS5kYXQKaW5kZXggYjkxMTBhNTI5OC4uZmIxY2NlZWI2MiAxMDA2NDQKLS0tIGEvc3JjL2lu Y2x1ZGUvY2F0YWxvZy9wZ19hZ2dyZWdhdGUuZGF0CisrKyBiL3NyYy9pbmNsdWRlL2NhdGFsb2cv cGdfYWdncmVnYXRlLmRhdApAQCAtMTMsMjIgKzEzLDQ0IEBACiBbCiAKICMgYXZnCit7IGFnZ2Zu b2lkID0+ICdhdmdfcF9pbnQ4JywgYWdndHJhbnNmbiA9PiAnaW50OF9hdmdfYWNjdW0nLAorICBh Z2dmaW5hbGZuID0+ICdpbnQ4X2F2Z19zZXJpYWxpemUnLCBhZ2djb21iaW5lZm4gPT4gJ2ludDhf YXZnX2NvbWJpbmUnLAorICBhZ2dzZXJpYWxmbiA9PiAnaW50OF9hdmdfc2VyaWFsaXplJywgYWdn ZGVzZXJpYWxmbiA9PiAnaW50OF9hdmdfZGVzZXJpYWxpemUnLAorICBhZ2d0cmFuc3R5cGUgPT4g J2ludGVybmFsJywKKyAgYWdndHJhbnNzcGFjZSA9PiAnNDgnIH0sCiB7IGFnZ2Zub2lkID0+ICdh dmcoaW50OCknLCBhZ2d0cmFuc2ZuID0+ICdpbnQ4X2F2Z19hY2N1bScsCiAgIGFnZ2ZpbmFsZm4g PT4gJ251bWVyaWNfcG9seV9hdmcnLCBhZ2djb21iaW5lZm4gPT4gJ2ludDhfYXZnX2NvbWJpbmUn LAogICBhZ2dzZXJpYWxmbiA9PiAnaW50OF9hdmdfc2VyaWFsaXplJywgYWdnZGVzZXJpYWxmbiA9 PiAnaW50OF9hdmdfZGVzZXJpYWxpemUnLAogICBhZ2dtdHJhbnNmbiA9PiAnaW50OF9hdmdfYWNj dW0nLCBhZ2dtaW52dHJhbnNmbiA9PiAnaW50OF9hdmdfYWNjdW1faW52JywKICAgYWdnbWZpbmFs Zm4gPT4gJ251bWVyaWNfcG9seV9hdmcnLCBhZ2d0cmFuc3R5cGUgPT4gJ2ludGVybmFsJywKLSAg YWdndHJhbnNzcGFjZSA9PiAnNDgnLCBhZ2dtdHJhbnN0eXBlID0+ICdpbnRlcm5hbCcsIGFnZ210 cmFuc3NwYWNlID0+ICc0OCcgfSwKKyAgYWdndHJhbnNzcGFjZSA9PiAnNDgnLCBhZ2dtdHJhbnN0 eXBlID0+ICdpbnRlcm5hbCcsIGFnZ210cmFuc3NwYWNlID0+ICc0OCcsCisgIHBhcnRpYWxhZ2dm biA9PiAnYXZnX3BfaW50OCcsIHBhcnRpYWxhZ2dfbWludmVyc2lvbiA9PiAnMTYwMDAwJyB9LAor eyBhZ2dmbm9pZCA9PiAnYXZnX3BfaW50NCcsIGFnZ3RyYW5zZm4gPT4gJ2ludDRfYXZnX2FjY3Vt JywKKyAgYWdnY29tYmluZWZuID0+ICdpbnQ0X2F2Z19jb21iaW5lJywKKyAgYWdndHJhbnN0eXBl ID0+ICdfaW50OCcsCisgIGFnZ2luaXR2YWwgPT4gJ3swLDB9JyB9LAogeyBhZ2dmbm9pZCA9PiAn YXZnKGludDQpJywgYWdndHJhbnNmbiA9PiAnaW50NF9hdmdfYWNjdW0nLAogICBhZ2dmaW5hbGZu ID0+ICdpbnQ4X2F2ZycsIGFnZ2NvbWJpbmVmbiA9PiAnaW50NF9hdmdfY29tYmluZScsCiAgIGFn Z210cmFuc2ZuID0+ICdpbnQ0X2F2Z19hY2N1bScsIGFnZ21pbnZ0cmFuc2ZuID0+ICdpbnQ0X2F2 Z19hY2N1bV9pbnYnLAogICBhZ2dtZmluYWxmbiA9PiAnaW50OF9hdmcnLCBhZ2d0cmFuc3R5cGUg PT4gJ19pbnQ4JywgYWdnbXRyYW5zdHlwZSA9PiAnX2ludDgnLAotICBhZ2dpbml0dmFsID0+ICd7 MCwwfScsIGFnZ21pbml0dmFsID0+ICd7MCwwfScgfSwKKyAgYWdnaW5pdHZhbCA9PiAnezAsMH0n LCBhZ2dtaW5pdHZhbCA9PiAnezAsMH0nLAorICBwYXJ0aWFsYWdnZm4gPT4gJ2F2Z19wX2ludDQn LCBwYXJ0aWFsYWdnX21pbnZlcnNpb24gPT4gJzE2MDAwMCcgfSwKK3sgYWdnZm5vaWQgPT4gJ2F2 Z19wX2ludDInLCBhZ2d0cmFuc2ZuID0+ICdpbnQyX2F2Z19hY2N1bScsCisgIGFnZ2NvbWJpbmVm biA9PiAnaW50NF9hdmdfY29tYmluZScsCisgIGFnZ3RyYW5zdHlwZSA9PiAnX2ludDgnLAorICBh Z2dpbml0dmFsID0+ICd7MCwwfScgIH0sCiB7IGFnZ2Zub2lkID0+ICdhdmcoaW50MiknLCBhZ2d0 cmFuc2ZuID0+ICdpbnQyX2F2Z19hY2N1bScsCiAgIGFnZ2ZpbmFsZm4gPT4gJ2ludDhfYXZnJywg YWdnY29tYmluZWZuID0+ICdpbnQ0X2F2Z19jb21iaW5lJywKICAgYWdnbXRyYW5zZm4gPT4gJ2lu dDJfYXZnX2FjY3VtJywgYWdnbWludnRyYW5zZm4gPT4gJ2ludDJfYXZnX2FjY3VtX2ludicsCiAg IGFnZ21maW5hbGZuID0+ICdpbnQ4X2F2ZycsIGFnZ3RyYW5zdHlwZSA9PiAnX2ludDgnLCBhZ2dt dHJhbnN0eXBlID0+ICdfaW50OCcsCi0gIGFnZ2luaXR2YWwgPT4gJ3swLDB9JywgYWdnbWluaXR2 YWwgPT4gJ3swLDB9JyB9LAorICBhZ2dpbml0dmFsID0+ICd7MCwwfScsIGFnZ21pbml0dmFsID0+ ICd7MCwwfScsCisgIHBhcnRpYWxhZ2dmbiA9PiAnYXZnX3BfaW50MicsIHBhcnRpYWxhZ2dfbWlu dmVyc2lvbiA9PiAnMTYwMDAwJyAgfSwKK3sgYWdnZm5vaWQgPT4gJ2F2Z19wX251bWVyaWMnLCBh Z2d0cmFuc2ZuID0+ICdudW1lcmljX2F2Z19hY2N1bScsCisgIGFnZ2ZpbmFsZm4gPT4gJ251bWVy aWNfYXZnX3NlcmlhbGl6ZScsIGFnZ2NvbWJpbmVmbiA9PiAnbnVtZXJpY19hdmdfY29tYmluZScs CisgIGFnZ3NlcmlhbGZuID0+ICdudW1lcmljX2F2Z19zZXJpYWxpemUnLAorICBhZ2dkZXNlcmlh bGZuID0+ICdudW1lcmljX2F2Z19kZXNlcmlhbGl6ZScsCisgIGFnZ3RyYW5zdHlwZSA9PiAnaW50 ZXJuYWwnLCBhZ2d0cmFuc3NwYWNlID0+ICcxMjgnLAorICBwYXJ0aWFsYWdnZm4gPT4gJ2F2Z19w X251bWVyaWMnLCBwYXJ0aWFsYWdnX21pbnZlcnNpb24gPT4gJzE2MDAwMCcgfSwKIHsgYWdnZm5v aWQgPT4gJ2F2ZyhudW1lcmljKScsIGFnZ3RyYW5zZm4gPT4gJ251bWVyaWNfYXZnX2FjY3VtJywK ICAgYWdnZmluYWxmbiA9PiAnbnVtZXJpY19hdmcnLCBhZ2djb21iaW5lZm4gPT4gJ251bWVyaWNf YXZnX2NvbWJpbmUnLAogICBhZ2dzZXJpYWxmbiA9PiAnbnVtZXJpY19hdmdfc2VyaWFsaXplJywK QEAgLTM2LDQ2ICs1OCw4NyBAQAogICBhZ2dtdHJhbnNmbiA9PiAnbnVtZXJpY19hdmdfYWNjdW0n LCBhZ2dtaW52dHJhbnNmbiA9PiAnbnVtZXJpY19hY2N1bV9pbnYnLAogICBhZ2dtZmluYWxmbiA9 PiAnbnVtZXJpY19hdmcnLCBhZ2d0cmFuc3R5cGUgPT4gJ2ludGVybmFsJywKICAgYWdndHJhbnNz cGFjZSA9PiAnMTI4JywgYWdnbXRyYW5zdHlwZSA9PiAnaW50ZXJuYWwnLAotICBhZ2dtdHJhbnNz cGFjZSA9PiAnMTI4JyB9LAorICBhZ2dtdHJhbnNzcGFjZSA9PiAnMTI4JywKKyAgcGFydGlhbGFn Z2ZuID0+ICdhdmdfcF9udW1lcmljJywgcGFydGlhbGFnZ19taW52ZXJzaW9uID0+ICcxNjAwMDAn IH0sCit7IGFnZ2Zub2lkID0+ICdhdmdfcF9mbG9hdDQnLCBhZ2d0cmFuc2ZuID0+ICdmbG9hdDRf YWNjdW0nLAorICBhZ2djb21iaW5lZm4gPT4gJ2Zsb2F0OF9jb21iaW5lJywKKyAgYWdndHJhbnN0 eXBlID0+ICdfZmxvYXQ4JywgYWdnaW5pdHZhbCA9PiAnezAsMCwwfScgfSwKIHsgYWdnZm5vaWQg PT4gJ2F2ZyhmbG9hdDQpJywgYWdndHJhbnNmbiA9PiAnZmxvYXQ0X2FjY3VtJywKICAgYWdnZmlu YWxmbiA9PiAnZmxvYXQ4X2F2ZycsIGFnZ2NvbWJpbmVmbiA9PiAnZmxvYXQ4X2NvbWJpbmUnLAor ICBhZ2d0cmFuc3R5cGUgPT4gJ19mbG9hdDgnLCBhZ2dpbml0dmFsID0+ICd7MCwwLDB9JywKKyAg cGFydGlhbGFnZ2ZuID0+ICdhdmdfcF9mbG9hdDQnLCBwYXJ0aWFsYWdnX21pbnZlcnNpb24gPT4g JzE2MDAwMCcgfSwKK3sgYWdnZm5vaWQgPT4gJ2F2Z19wX2Zsb2F0OCcsIGFnZ3RyYW5zZm4gPT4g J2Zsb2F0OF9hY2N1bScsCisgIGFnZ2NvbWJpbmVmbiA9PiAnZmxvYXQ4X2NvbWJpbmUnLAogICBh Z2d0cmFuc3R5cGUgPT4gJ19mbG9hdDgnLCBhZ2dpbml0dmFsID0+ICd7MCwwLDB9JyB9LAogeyBh Z2dmbm9pZCA9PiAnYXZnKGZsb2F0OCknLCBhZ2d0cmFuc2ZuID0+ICdmbG9hdDhfYWNjdW0nLAog ICBhZ2dmaW5hbGZuID0+ICdmbG9hdDhfYXZnJywgYWdnY29tYmluZWZuID0+ICdmbG9hdDhfY29t YmluZScsCi0gIGFnZ3RyYW5zdHlwZSA9PiAnX2Zsb2F0OCcsIGFnZ2luaXR2YWwgPT4gJ3swLDAs MH0nIH0sCisgIGFnZ3RyYW5zdHlwZSA9PiAnX2Zsb2F0OCcsIGFnZ2luaXR2YWwgPT4gJ3swLDAs MH0nLAorICBwYXJ0aWFsYWdnZm4gPT4gJ2F2Z19wX2Zsb2F0OCcsIHBhcnRpYWxhZ2dfbWludmVy c2lvbiA9PiAnMTYwMDAwJyAgfSwKK3sgYWdnZm5vaWQgPT4gJ2F2Z19wX2ludGVydmFsJywgYWdn dHJhbnNmbiA9PiAnaW50ZXJ2YWxfYWNjdW0nLAorICBhZ2djb21iaW5lZm4gPT4gJ2ludGVydmFs X2NvbWJpbmUnLAorICBhZ2d0cmFuc3R5cGUgPT4gJ19pbnRlcnZhbCcsIGFnZ2luaXR2YWwgPT4g J3swIHNlY29uZCwwIHNlY29uZH0nICB9LAogeyBhZ2dmbm9pZCA9PiAnYXZnKGludGVydmFsKScs IGFnZ3RyYW5zZm4gPT4gJ2ludGVydmFsX2FjY3VtJywKICAgYWdnZmluYWxmbiA9PiAnaW50ZXJ2 YWxfYXZnJywgYWdnY29tYmluZWZuID0+ICdpbnRlcnZhbF9jb21iaW5lJywKICAgYWdnbXRyYW5z Zm4gPT4gJ2ludGVydmFsX2FjY3VtJywgYWdnbWludnRyYW5zZm4gPT4gJ2ludGVydmFsX2FjY3Vt X2ludicsCiAgIGFnZ21maW5hbGZuID0+ICdpbnRlcnZhbF9hdmcnLCBhZ2d0cmFuc3R5cGUgPT4g J19pbnRlcnZhbCcsCiAgIGFnZ210cmFuc3R5cGUgPT4gJ19pbnRlcnZhbCcsIGFnZ2luaXR2YWwg PT4gJ3swIHNlY29uZCwwIHNlY29uZH0nLAotICBhZ2dtaW5pdHZhbCA9PiAnezAgc2Vjb25kLDAg c2Vjb25kfScgfSwKKyAgYWdnbWluaXR2YWwgPT4gJ3swIHNlY29uZCwwIHNlY29uZH0nLAorICBw YXJ0aWFsYWdnZm4gPT4gJ2F2Z19wX2ludGVydmFsJywgcGFydGlhbGFnZ19taW52ZXJzaW9uID0+ ICcxNjAwMDAnICB9LAogCiAjIHN1bQoreyBhZ2dmbm9pZCA9PiAnc3VtX3BfaW50OCcsIGFnZ3Ry YW5zZm4gPT4gJ2ludDhfYXZnX2FjY3VtJywKKyAgYWdnZmluYWxmbiA9PiAnaW50OF9hdmdfc2Vy aWFsaXplJywgYWdnY29tYmluZWZuID0+ICdpbnQ4X2F2Z19jb21iaW5lJywKKyAgYWdnc2VyaWFs Zm4gPT4gJ2ludDhfYXZnX3NlcmlhbGl6ZScsIGFnZ2Rlc2VyaWFsZm4gPT4gJ2ludDhfYXZnX2Rl c2VyaWFsaXplJywKKyAgYWdndHJhbnN0eXBlID0+ICdpbnRlcm5hbCcsIGFnZ3RyYW5zc3BhY2Ug PT4gJzQ4JyB9LAogeyBhZ2dmbm9pZCA9PiAnc3VtKGludDgpJywgYWdndHJhbnNmbiA9PiAnaW50 OF9hdmdfYWNjdW0nLAogICBhZ2dmaW5hbGZuID0+ICdudW1lcmljX3BvbHlfc3VtJywgYWdnY29t YmluZWZuID0+ICdpbnQ4X2F2Z19jb21iaW5lJywKICAgYWdnc2VyaWFsZm4gPT4gJ2ludDhfYXZn X3NlcmlhbGl6ZScsIGFnZ2Rlc2VyaWFsZm4gPT4gJ2ludDhfYXZnX2Rlc2VyaWFsaXplJywKICAg YWdnbXRyYW5zZm4gPT4gJ2ludDhfYXZnX2FjY3VtJywgYWdnbWludnRyYW5zZm4gPT4gJ2ludDhf YXZnX2FjY3VtX2ludicsCiAgIGFnZ21maW5hbGZuID0+ICdudW1lcmljX3BvbHlfc3VtJywgYWdn dHJhbnN0eXBlID0+ICdpbnRlcm5hbCcsCi0gIGFnZ3RyYW5zc3BhY2UgPT4gJzQ4JywgYWdnbXRy YW5zdHlwZSA9PiAnaW50ZXJuYWwnLCBhZ2dtdHJhbnNzcGFjZSA9PiAnNDgnIH0sCisgIGFnZ3Ry YW5zc3BhY2UgPT4gJzQ4JywgYWdnbXRyYW5zdHlwZSA9PiAnaW50ZXJuYWwnLCBhZ2dtdHJhbnNz cGFjZSA9PiAnNDgnLAorICBwYXJ0aWFsYWdnZm4gPT4gJ3N1bV9wX2ludDgnLCBwYXJ0aWFsYWdn X21pbnZlcnNpb24gPT4gJzE2MDAwMCcgfSwKK3sgYWdnZm5vaWQgPT4gJ3N1bV9wX2ludDQnLCBh Z2d0cmFuc2ZuID0+ICdpbnQ0X3N1bScsIGFnZ2NvbWJpbmVmbiA9PiAnaW50OHBsJywKKyAgYWdn dHJhbnN0eXBlID0+ICdpbnQ4JyB9LAogeyBhZ2dmbm9pZCA9PiAnc3VtKGludDQpJywgYWdndHJh bnNmbiA9PiAnaW50NF9zdW0nLCBhZ2djb21iaW5lZm4gPT4gJ2ludDhwbCcsCiAgIGFnZ210cmFu c2ZuID0+ICdpbnQ0X2F2Z19hY2N1bScsIGFnZ21pbnZ0cmFuc2ZuID0+ICdpbnQ0X2F2Z19hY2N1 bV9pbnYnLAogICBhZ2dtZmluYWxmbiA9PiAnaW50MmludDRfc3VtJywgYWdndHJhbnN0eXBlID0+ ICdpbnQ4JywKLSAgYWdnbXRyYW5zdHlwZSA9PiAnX2ludDgnLCBhZ2dtaW5pdHZhbCA9PiAnezAs MH0nIH0sCisgIGFnZ210cmFuc3R5cGUgPT4gJ19pbnQ4JywgYWdnbWluaXR2YWwgPT4gJ3swLDB9 JywKKyAgcGFydGlhbGFnZ2ZuID0+ICdzdW1fcF9pbnQ0JywgcGFydGlhbGFnZ19taW52ZXJzaW9u ID0+ICcxNjAwMDAnIH0sCit7IGFnZ2Zub2lkID0+ICdzdW1fcF9pbnQyJywgYWdndHJhbnNmbiA9 PiAnaW50Ml9zdW0nLCBhZ2djb21iaW5lZm4gPT4gJ2ludDhwbCcsCisgIGFnZ3RyYW5zdHlwZSA9 PiAnaW50OCcgfSwKIHsgYWdnZm5vaWQgPT4gJ3N1bShpbnQyKScsIGFnZ3RyYW5zZm4gPT4gJ2lu dDJfc3VtJywgYWdnY29tYmluZWZuID0+ICdpbnQ4cGwnLAogICBhZ2dtdHJhbnNmbiA9PiAnaW50 Ml9hdmdfYWNjdW0nLCBhZ2dtaW52dHJhbnNmbiA9PiAnaW50Ml9hdmdfYWNjdW1faW52JywKICAg YWdnbWZpbmFsZm4gPT4gJ2ludDJpbnQ0X3N1bScsIGFnZ3RyYW5zdHlwZSA9PiAnaW50OCcsCi0g IGFnZ210cmFuc3R5cGUgPT4gJ19pbnQ4JywgYWdnbWluaXR2YWwgPT4gJ3swLDB9JyB9LAoteyBh Z2dmbm9pZCA9PiAnc3VtKGZsb2F0NCknLCBhZ2d0cmFuc2ZuID0+ICdmbG9hdDRwbCcsCisgIGFn Z210cmFuc3R5cGUgPT4gJ19pbnQ4JywgYWdnbWluaXR2YWwgPT4gJ3swLDB9JywKKyAgcGFydGlh bGFnZ2ZuID0+ICdzdW1fcF9pbnQyJywgcGFydGlhbGFnZ19taW52ZXJzaW9uID0+ICcxNjAwMDAn IH0sCit7IGFnZ2Zub2lkID0+ICdzdW1fcF9mbG9hdDQnLCBhZ2d0cmFuc2ZuID0+ICdmbG9hdDRw bCcsCiAgIGFnZ2NvbWJpbmVmbiA9PiAnZmxvYXQ0cGwnLCBhZ2d0cmFuc3R5cGUgPT4gJ2Zsb2F0 NCcgfSwKLXsgYWdnZm5vaWQgPT4gJ3N1bShmbG9hdDgpJywgYWdndHJhbnNmbiA9PiAnZmxvYXQ4 cGwnLAoreyBhZ2dmbm9pZCA9PiAnc3VtKGZsb2F0NCknLCBhZ2d0cmFuc2ZuID0+ICdmbG9hdDRw bCcsCisgIGFnZ2NvbWJpbmVmbiA9PiAnZmxvYXQ0cGwnLCBhZ2d0cmFuc3R5cGUgPT4gJ2Zsb2F0 NCcsCisgIHBhcnRpYWxhZ2dmbiA9PiAnc3VtX3BfZmxvYXQ0JywgcGFydGlhbGFnZ19taW52ZXJz aW9uID0+ICcxNjAwMDAnIH0sCit7IGFnZ2Zub2lkID0+ICdzdW1fcF9mbG9hdDgnLCBhZ2d0cmFu c2ZuID0+ICdmbG9hdDhwbCcsCiAgIGFnZ2NvbWJpbmVmbiA9PiAnZmxvYXQ4cGwnLCBhZ2d0cmFu c3R5cGUgPT4gJ2Zsb2F0OCcgfSwKK3sgYWdnZm5vaWQgPT4gJ3N1bShmbG9hdDgpJywgYWdndHJh bnNmbiA9PiAnZmxvYXQ4cGwnLAorICBhZ2djb21iaW5lZm4gPT4gJ2Zsb2F0OHBsJywgYWdndHJh bnN0eXBlID0+ICdmbG9hdDgnLAorICBwYXJ0aWFsYWdnZm4gPT4gJ3N1bV9wX2Zsb2F0OCcsIHBh cnRpYWxhZ2dfbWludmVyc2lvbiA9PiAnMTYwMDAwJyB9LAoreyBhZ2dmbm9pZCA9PiAnc3VtX3Bf bW9uZXknLCBhZ2d0cmFuc2ZuID0+ICdjYXNoX3BsJywgYWdnY29tYmluZWZuID0+ICdjYXNoX3Bs JywKKyAgYWdndHJhbnN0eXBlID0+ICdtb25leScgfSwKIHsgYWdnZm5vaWQgPT4gJ3N1bShtb25l eSknLCBhZ2d0cmFuc2ZuID0+ICdjYXNoX3BsJywgYWdnY29tYmluZWZuID0+ICdjYXNoX3BsJywK ICAgYWdnbXRyYW5zZm4gPT4gJ2Nhc2hfcGwnLCBhZ2dtaW52dHJhbnNmbiA9PiAnY2FzaF9taScs Ci0gIGFnZ3RyYW5zdHlwZSA9PiAnbW9uZXknLCBhZ2dtdHJhbnN0eXBlID0+ICdtb25leScgfSwK KyAgYWdndHJhbnN0eXBlID0+ICdtb25leScsIGFnZ210cmFuc3R5cGUgPT4gJ21vbmV5JywKKyAg cGFydGlhbGFnZ2ZuID0+ICdzdW1fcF9tb25leScsIHBhcnRpYWxhZ2dfbWludmVyc2lvbiA9PiAn MTYwMDAwJyB9LAoreyBhZ2dmbm9pZCA9PiAnc3VtX3BfaW50ZXJ2YWwnLCBhZ2d0cmFuc2ZuID0+ ICdpbnRlcnZhbF9wbCcsCisgIGFnZ2NvbWJpbmVmbiA9PiAnaW50ZXJ2YWxfcGwnLCBhZ2d0cmFu c3R5cGUgPT4gJ2ludGVydmFsJyB9LAogeyBhZ2dmbm9pZCA9PiAnc3VtKGludGVydmFsKScsIGFn Z3RyYW5zZm4gPT4gJ2ludGVydmFsX3BsJywKICAgYWdnY29tYmluZWZuID0+ICdpbnRlcnZhbF9w bCcsIGFnZ210cmFuc2ZuID0+ICdpbnRlcnZhbF9wbCcsCiAgIGFnZ21pbnZ0cmFuc2ZuID0+ICdp bnRlcnZhbF9taScsIGFnZ3RyYW5zdHlwZSA9PiAnaW50ZXJ2YWwnLAotICBhZ2dtdHJhbnN0eXBl ID0+ICdpbnRlcnZhbCcgfSwKKyAgYWdnbXRyYW5zdHlwZSA9PiAnaW50ZXJ2YWwnLAorICBwYXJ0 aWFsYWdnZm4gPT4gJ3N1bV9wX2ludGVydmFsJywgcGFydGlhbGFnZ19taW52ZXJzaW9uID0+ICcx NjAwMDAnIH0sCit7IGFnZ2Zub2lkID0+ICdzdW1fcF9udW1lcmljJywgYWdndHJhbnNmbiA9PiAn bnVtZXJpY19hdmdfYWNjdW0nLAorICBhZ2dmaW5hbGZuID0+ICdudW1lcmljX2F2Z19zZXJpYWxp emUnLCBhZ2djb21iaW5lZm4gPT4gJ251bWVyaWNfYXZnX2NvbWJpbmUnLAorICBhZ2dzZXJpYWxm biA9PiAnbnVtZXJpY19hdmdfc2VyaWFsaXplJywKKyAgYWdnZGVzZXJpYWxmbiA9PiAnbnVtZXJp Y19hdmdfZGVzZXJpYWxpemUnLAorICBhZ2d0cmFuc3R5cGUgPT4gJ2ludGVybmFsJywgYWdndHJh bnNzcGFjZSA9PiAnMTI4JyB9LAogeyBhZ2dmbm9pZCA9PiAnc3VtKG51bWVyaWMpJywgYWdndHJh bnNmbiA9PiAnbnVtZXJpY19hdmdfYWNjdW0nLAogICBhZ2dmaW5hbGZuID0+ICdudW1lcmljX3N1 bScsIGFnZ2NvbWJpbmVmbiA9PiAnbnVtZXJpY19hdmdfY29tYmluZScsCiAgIGFnZ3NlcmlhbGZu ID0+ICdudW1lcmljX2F2Z19zZXJpYWxpemUnLApAQCAtODMsMTUyICsxNDYsMzM2IEBACiAgIGFn Z210cmFuc2ZuID0+ICdudW1lcmljX2F2Z19hY2N1bScsIGFnZ21pbnZ0cmFuc2ZuID0+ICdudW1l cmljX2FjY3VtX2ludicsCiAgIGFnZ21maW5hbGZuID0+ICdudW1lcmljX3N1bScsIGFnZ3RyYW5z dHlwZSA9PiAnaW50ZXJuYWwnLAogICBhZ2d0cmFuc3NwYWNlID0+ICcxMjgnLCBhZ2dtdHJhbnN0 eXBlID0+ICdpbnRlcm5hbCcsCi0gIGFnZ210cmFuc3NwYWNlID0+ICcxMjgnIH0sCisgIGFnZ210 cmFuc3NwYWNlID0+ICcxMjgnLAorICBwYXJ0aWFsYWdnZm4gPT4gJ3N1bV9wX251bWVyaWMnLCBw YXJ0aWFsYWdnX21pbnZlcnNpb24gPT4gJzE2MDAwMCcgfSwKIAogIyBtYXgKLXsgYWdnZm5vaWQg PT4gJ21heChpbnQ4KScsIGFnZ3RyYW5zZm4gPT4gJ2ludDhsYXJnZXInLAoreyBhZ2dmbm9pZCA9 PiAnbWF4X3BfaW50OCcsIGFnZ3RyYW5zZm4gPT4gJ2ludDhsYXJnZXInLAogICBhZ2djb21iaW5l Zm4gPT4gJ2ludDhsYXJnZXInLCBhZ2dzb3J0b3AgPT4gJz4oaW50OCxpbnQ4KScsCiAgIGFnZ3Ry YW5zdHlwZSA9PiAnaW50OCcgfSwKLXsgYWdnZm5vaWQgPT4gJ21heChpbnQ0KScsIGFnZ3RyYW5z Zm4gPT4gJ2ludDRsYXJnZXInLAoreyBhZ2dmbm9pZCA9PiAnbWF4KGludDgpJywgYWdndHJhbnNm biA9PiAnaW50OGxhcmdlcicsCisgIGFnZ2NvbWJpbmVmbiA9PiAnaW50OGxhcmdlcicsIGFnZ3Nv cnRvcCA9PiAnPihpbnQ4LGludDgpJywKKyAgYWdndHJhbnN0eXBlID0+ICdpbnQ4JywKKyAgcGFy dGlhbGFnZ2ZuID0+ICdtYXhfcF9pbnQ4JywgcGFydGlhbGFnZ19taW52ZXJzaW9uID0+ICcxNjAw MDAnIH0sCit7IGFnZ2Zub2lkID0+ICdtYXhfcF9pbnQ0JywgYWdndHJhbnNmbiA9PiAnaW50NGxh cmdlcicsCiAgIGFnZ2NvbWJpbmVmbiA9PiAnaW50NGxhcmdlcicsIGFnZ3NvcnRvcCA9PiAnPihp bnQ0LGludDQpJywKICAgYWdndHJhbnN0eXBlID0+ICdpbnQ0JyB9LAoteyBhZ2dmbm9pZCA9PiAn bWF4KGludDIpJywgYWdndHJhbnNmbiA9PiAnaW50MmxhcmdlcicsCit7IGFnZ2Zub2lkID0+ICdt YXgoaW50NCknLCBhZ2d0cmFuc2ZuID0+ICdpbnQ0bGFyZ2VyJywKKyAgYWdnY29tYmluZWZuID0+ ICdpbnQ0bGFyZ2VyJywgYWdnc29ydG9wID0+ICc+KGludDQsaW50NCknLAorICBhZ2d0cmFuc3R5 cGUgPT4gJ2ludDQnLAorICBwYXJ0aWFsYWdnZm4gPT4gJ21heF9wX2ludDQnLCBwYXJ0aWFsYWdn X21pbnZlcnNpb24gPT4gJzE2MDAwMCcgfSwKK3sgYWdnZm5vaWQgPT4gJ21heF9wX2ludDInLCBh Z2d0cmFuc2ZuID0+ICdpbnQybGFyZ2VyJywKICAgYWdnY29tYmluZWZuID0+ICdpbnQybGFyZ2Vy JywgYWdnc29ydG9wID0+ICc+KGludDIsaW50MiknLAogICBhZ2d0cmFuc3R5cGUgPT4gJ2ludDIn IH0sCi17IGFnZ2Zub2lkID0+ICdtYXgob2lkKScsIGFnZ3RyYW5zZm4gPT4gJ29pZGxhcmdlcics Cit7IGFnZ2Zub2lkID0+ICdtYXgoaW50MiknLCBhZ2d0cmFuc2ZuID0+ICdpbnQybGFyZ2VyJywK KyAgYWdnY29tYmluZWZuID0+ICdpbnQybGFyZ2VyJywgYWdnc29ydG9wID0+ICc+KGludDIsaW50 MiknLAorICBhZ2d0cmFuc3R5cGUgPT4gJ2ludDInLAorICBwYXJ0aWFsYWdnZm4gPT4gJ21heF9w X2ludDInLCBwYXJ0aWFsYWdnX21pbnZlcnNpb24gPT4gJzE2MDAwMCcgfSwKK3sgYWdnZm5vaWQg PT4gJ21heF9wX29pZCcsIGFnZ3RyYW5zZm4gPT4gJ29pZGxhcmdlcicsCiAgIGFnZ2NvbWJpbmVm biA9PiAnb2lkbGFyZ2VyJywgYWdnc29ydG9wID0+ICc+KG9pZCxvaWQpJywKICAgYWdndHJhbnN0 eXBlID0+ICdvaWQnIH0sCi17IGFnZ2Zub2lkID0+ICdtYXgoZmxvYXQ0KScsIGFnZ3RyYW5zZm4g PT4gJ2Zsb2F0NGxhcmdlcicsCit7IGFnZ2Zub2lkID0+ICdtYXgob2lkKScsIGFnZ3RyYW5zZm4g PT4gJ29pZGxhcmdlcicsCisgIGFnZ2NvbWJpbmVmbiA9PiAnb2lkbGFyZ2VyJywgYWdnc29ydG9w ID0+ICc+KG9pZCxvaWQpJywKKyAgYWdndHJhbnN0eXBlID0+ICdvaWQnLAorICBwYXJ0aWFsYWdn Zm4gPT4gJ21heF9wX29pZCcsIHBhcnRpYWxhZ2dfbWludmVyc2lvbiA9PiAnMTYwMDAwJyB9LAor eyBhZ2dmbm9pZCA9PiAnbWF4X3BfZmxvYXQ0JywgYWdndHJhbnNmbiA9PiAnZmxvYXQ0bGFyZ2Vy JywKICAgYWdnY29tYmluZWZuID0+ICdmbG9hdDRsYXJnZXInLCBhZ2dzb3J0b3AgPT4gJz4oZmxv YXQ0LGZsb2F0NCknLAogICBhZ2d0cmFuc3R5cGUgPT4gJ2Zsb2F0NCcgfSwKLXsgYWdnZm5vaWQg PT4gJ21heChmbG9hdDgpJywgYWdndHJhbnNmbiA9PiAnZmxvYXQ4bGFyZ2VyJywKK3sgYWdnZm5v aWQgPT4gJ21heChmbG9hdDQpJywgYWdndHJhbnNmbiA9PiAnZmxvYXQ0bGFyZ2VyJywKKyAgYWdn Y29tYmluZWZuID0+ICdmbG9hdDRsYXJnZXInLCBhZ2dzb3J0b3AgPT4gJz4oZmxvYXQ0LGZsb2F0 NCknLAorICBhZ2d0cmFuc3R5cGUgPT4gJ2Zsb2F0NCcsCisgIHBhcnRpYWxhZ2dmbiA9PiAnbWF4 X3BfZmxvYXQ0JywgcGFydGlhbGFnZ19taW52ZXJzaW9uID0+ICcxNjAwMDAnIH0sCit7IGFnZ2Zu b2lkID0+ICdtYXhfcF9mbG9hOCcsIGFnZ3RyYW5zZm4gPT4gJ2Zsb2F0OGxhcmdlcicsCiAgIGFn Z2NvbWJpbmVmbiA9PiAnZmxvYXQ4bGFyZ2VyJywgYWdnc29ydG9wID0+ICc+KGZsb2F0OCxmbG9h dDgpJywKICAgYWdndHJhbnN0eXBlID0+ICdmbG9hdDgnIH0sCi17IGFnZ2Zub2lkID0+ICdtYXgo ZGF0ZSknLCBhZ2d0cmFuc2ZuID0+ICdkYXRlX2xhcmdlcicsCit7IGFnZ2Zub2lkID0+ICdtYXgo ZmxvYXQ4KScsIGFnZ3RyYW5zZm4gPT4gJ2Zsb2F0OGxhcmdlcicsCisgIGFnZ2NvbWJpbmVmbiA9 PiAnZmxvYXQ4bGFyZ2VyJywgYWdnc29ydG9wID0+ICc+KGZsb2F0OCxmbG9hdDgpJywKKyAgYWdn dHJhbnN0eXBlID0+ICdmbG9hdDgnLAorICBwYXJ0aWFsYWdnZm4gPT4gJ21heF9wX2Zsb2E4Jywg cGFydGlhbGFnZ19taW52ZXJzaW9uID0+ICcxNjAwMDAnIH0sCit7IGFnZ2Zub2lkID0+ICdtYXhf cF9kYXRlJywgYWdndHJhbnNmbiA9PiAnZGF0ZV9sYXJnZXInLAogICBhZ2djb21iaW5lZm4gPT4g J2RhdGVfbGFyZ2VyJywgYWdnc29ydG9wID0+ICc+KGRhdGUsZGF0ZSknLAogICBhZ2d0cmFuc3R5 cGUgPT4gJ2RhdGUnIH0sCi17IGFnZ2Zub2lkID0+ICdtYXgodGltZSknLCBhZ2d0cmFuc2ZuID0+ ICd0aW1lX2xhcmdlcicsCit7IGFnZ2Zub2lkID0+ICdtYXgoZGF0ZSknLCBhZ2d0cmFuc2ZuID0+ ICdkYXRlX2xhcmdlcicsCisgIGFnZ2NvbWJpbmVmbiA9PiAnZGF0ZV9sYXJnZXInLCBhZ2dzb3J0 b3AgPT4gJz4oZGF0ZSxkYXRlKScsCisgIGFnZ3RyYW5zdHlwZSA9PiAnZGF0ZScsCisgIHBhcnRp YWxhZ2dmbiA9PiAnbWF4X3BfZGF0ZScsIHBhcnRpYWxhZ2dfbWludmVyc2lvbiA9PiAnMTYwMDAw JyB9LAoreyBhZ2dmbm9pZCA9PiAnbWF4X3BfdGltZScsIGFnZ3RyYW5zZm4gPT4gJ3RpbWVfbGFy Z2VyJywKICAgYWdnY29tYmluZWZuID0+ICd0aW1lX2xhcmdlcicsIGFnZ3NvcnRvcCA9PiAnPih0 aW1lLHRpbWUpJywKICAgYWdndHJhbnN0eXBlID0+ICd0aW1lJyB9LAoteyBhZ2dmbm9pZCA9PiAn bWF4KHRpbWV0eiknLCBhZ2d0cmFuc2ZuID0+ICd0aW1ldHpfbGFyZ2VyJywKK3sgYWdnZm5vaWQg PT4gJ21heCh0aW1lKScsIGFnZ3RyYW5zZm4gPT4gJ3RpbWVfbGFyZ2VyJywKKyAgYWdnY29tYmlu ZWZuID0+ICd0aW1lX2xhcmdlcicsIGFnZ3NvcnRvcCA9PiAnPih0aW1lLHRpbWUpJywKKyAgYWdn dHJhbnN0eXBlID0+ICd0aW1lJywKKyAgcGFydGlhbGFnZ2ZuID0+ICdtYXhfcF90aW1lJywgcGFy dGlhbGFnZ19taW52ZXJzaW9uID0+ICcxNjAwMDAnIH0sCit7IGFnZ2Zub2lkID0+ICdtYXhfcF90 aW1ldHonLCBhZ2d0cmFuc2ZuID0+ICd0aW1ldHpfbGFyZ2VyJywKICAgYWdnY29tYmluZWZuID0+ ICd0aW1ldHpfbGFyZ2VyJywgYWdnc29ydG9wID0+ICc+KHRpbWV0eix0aW1ldHopJywKICAgYWdn dHJhbnN0eXBlID0+ICd0aW1ldHonIH0sCi17IGFnZ2Zub2lkID0+ICdtYXgobW9uZXkpJywgYWdn dHJhbnNmbiA9PiAnY2FzaGxhcmdlcicsCit7IGFnZ2Zub2lkID0+ICdtYXgodGltZXR6KScsIGFn Z3RyYW5zZm4gPT4gJ3RpbWV0el9sYXJnZXInLAorICBhZ2djb21iaW5lZm4gPT4gJ3RpbWV0el9s YXJnZXInLCBhZ2dzb3J0b3AgPT4gJz4odGltZXR6LHRpbWV0eiknLAorICBhZ2d0cmFuc3R5cGUg PT4gJ3RpbWV0eicsCisgIHBhcnRpYWxhZ2dmbiA9PiAnbWF4X3BfdGltZXR6JywgcGFydGlhbGFn Z19taW52ZXJzaW9uID0+ICcxNjAwMDAnIH0sCit7IGFnZ2Zub2lkID0+ICdtYXhfcF9tb25leScs IGFnZ3RyYW5zZm4gPT4gJ2Nhc2hsYXJnZXInLAogICBhZ2djb21iaW5lZm4gPT4gJ2Nhc2hsYXJn ZXInLCBhZ2dzb3J0b3AgPT4gJz4obW9uZXksbW9uZXkpJywKICAgYWdndHJhbnN0eXBlID0+ICdt b25leScgfSwKLXsgYWdnZm5vaWQgPT4gJ21heCh0aW1lc3RhbXApJywgYWdndHJhbnNmbiA9PiAn dGltZXN0YW1wX2xhcmdlcicsCit7IGFnZ2Zub2lkID0+ICdtYXgobW9uZXkpJywgYWdndHJhbnNm biA9PiAnY2FzaGxhcmdlcicsCisgIGFnZ2NvbWJpbmVmbiA9PiAnY2FzaGxhcmdlcicsIGFnZ3Nv cnRvcCA9PiAnPihtb25leSxtb25leSknLAorICBhZ2d0cmFuc3R5cGUgPT4gJ21vbmV5JywKKyAg cGFydGlhbGFnZ2ZuID0+ICdtYXhfcF9tb25leScsIHBhcnRpYWxhZ2dfbWludmVyc2lvbiA9PiAn MTYwMDAwJyB9LAoreyBhZ2dmbm9pZCA9PiAnbWF4X3BfdGltZXN0YW1wJywgYWdndHJhbnNmbiA9 PiAndGltZXN0YW1wX2xhcmdlcicsCiAgIGFnZ2NvbWJpbmVmbiA9PiAndGltZXN0YW1wX2xhcmdl cicsIGFnZ3NvcnRvcCA9PiAnPih0aW1lc3RhbXAsdGltZXN0YW1wKScsCiAgIGFnZ3RyYW5zdHlw ZSA9PiAndGltZXN0YW1wJyB9LAoteyBhZ2dmbm9pZCA9PiAnbWF4KHRpbWVzdGFtcHR6KScsIGFn Z3RyYW5zZm4gPT4gJ3RpbWVzdGFtcHR6X2xhcmdlcicsCit7IGFnZ2Zub2lkID0+ICdtYXgodGlt ZXN0YW1wKScsIGFnZ3RyYW5zZm4gPT4gJ3RpbWVzdGFtcF9sYXJnZXInLAorICBhZ2djb21iaW5l Zm4gPT4gJ3RpbWVzdGFtcF9sYXJnZXInLCBhZ2dzb3J0b3AgPT4gJz4odGltZXN0YW1wLHRpbWVz dGFtcCknLAorICBhZ2d0cmFuc3R5cGUgPT4gJ3RpbWVzdGFtcCcsCisgIHBhcnRpYWxhZ2dmbiA9 PiAnbWF4X3BfdGltZXN0YW1wJywgcGFydGlhbGFnZ19taW52ZXJzaW9uID0+ICcxNjAwMDAnIH0s Cit7IGFnZ2Zub2lkID0+ICdtYXhfcF90aW1lc3RhbXB0eicsIGFnZ3RyYW5zZm4gPT4gJ3RpbWVz dGFtcHR6X2xhcmdlcicsCiAgIGFnZ2NvbWJpbmVmbiA9PiAndGltZXN0YW1wdHpfbGFyZ2VyJywK ICAgYWdnc29ydG9wID0+ICc+KHRpbWVzdGFtcHR6LHRpbWVzdGFtcHR6KScsIGFnZ3RyYW5zdHlw ZSA9PiAndGltZXN0YW1wdHonIH0sCi17IGFnZ2Zub2lkID0+ICdtYXgoaW50ZXJ2YWwpJywgYWdn dHJhbnNmbiA9PiAnaW50ZXJ2YWxfbGFyZ2VyJywKK3sgYWdnZm5vaWQgPT4gJ21heCh0aW1lc3Rh bXB0eiknLCBhZ2d0cmFuc2ZuID0+ICd0aW1lc3RhbXB0el9sYXJnZXInLAorICBhZ2djb21iaW5l Zm4gPT4gJ3RpbWVzdGFtcHR6X2xhcmdlcicsCisgIGFnZ3NvcnRvcCA9PiAnPih0aW1lc3RhbXB0 eix0aW1lc3RhbXB0eiknLCBhZ2d0cmFuc3R5cGUgPT4gJ3RpbWVzdGFtcHR6JywKKyAgcGFydGlh bGFnZ2ZuID0+ICdtYXhfcF90aW1lc3RhbXB0eicsIHBhcnRpYWxhZ2dfbWludmVyc2lvbiA9PiAn MTYwMDAwJyB9LAoreyBhZ2dmbm9pZCA9PiAnbWF4X3BfaW50ZXJ2YWwnLCBhZ2d0cmFuc2ZuID0+ ICdpbnRlcnZhbF9sYXJnZXInLAogICBhZ2djb21iaW5lZm4gPT4gJ2ludGVydmFsX2xhcmdlcics IGFnZ3NvcnRvcCA9PiAnPihpbnRlcnZhbCxpbnRlcnZhbCknLAogICBhZ2d0cmFuc3R5cGUgPT4g J2ludGVydmFsJyB9LAoteyBhZ2dmbm9pZCA9PiAnbWF4KHRleHQpJywgYWdndHJhbnNmbiA9PiAn dGV4dF9sYXJnZXInLAoreyBhZ2dmbm9pZCA9PiAnbWF4KGludGVydmFsKScsIGFnZ3RyYW5zZm4g PT4gJ2ludGVydmFsX2xhcmdlcicsCisgIGFnZ2NvbWJpbmVmbiA9PiAnaW50ZXJ2YWxfbGFyZ2Vy JywgYWdnc29ydG9wID0+ICc+KGludGVydmFsLGludGVydmFsKScsCisgIGFnZ3RyYW5zdHlwZSA9 PiAnaW50ZXJ2YWwnLAorICBwYXJ0aWFsYWdnZm4gPT4gJ21heF9wX2ludGVydmFsJywgcGFydGlh bGFnZ19taW52ZXJzaW9uID0+ICcxNjAwMDAnIH0sCit7IGFnZ2Zub2lkID0+ICdtYXhfcF90ZXh0 JywgYWdndHJhbnNmbiA9PiAndGV4dF9sYXJnZXInLAogICBhZ2djb21iaW5lZm4gPT4gJ3RleHRf bGFyZ2VyJywgYWdnc29ydG9wID0+ICc+KHRleHQsdGV4dCknLAogICBhZ2d0cmFuc3R5cGUgPT4g J3RleHQnIH0sCi17IGFnZ2Zub2lkID0+ICdtYXgobnVtZXJpYyknLCBhZ2d0cmFuc2ZuID0+ICdu dW1lcmljX2xhcmdlcicsCit7IGFnZ2Zub2lkID0+ICdtYXgodGV4dCknLCBhZ2d0cmFuc2ZuID0+ ICd0ZXh0X2xhcmdlcicsCisgIGFnZ2NvbWJpbmVmbiA9PiAndGV4dF9sYXJnZXInLCBhZ2dzb3J0 b3AgPT4gJz4odGV4dCx0ZXh0KScsCisgIGFnZ3RyYW5zdHlwZSA9PiAndGV4dCcsCisgIHBhcnRp YWxhZ2dmbiA9PiAnbWF4X3BfdGV4dCcsIHBhcnRpYWxhZ2dfbWludmVyc2lvbiA9PiAnMTYwMDAw JyB9LAoreyBhZ2dmbm9pZCA9PiAnbWF4X3BfbnVtZXJpYycsIGFnZ3RyYW5zZm4gPT4gJ251bWVy aWNfbGFyZ2VyJywKICAgYWdnY29tYmluZWZuID0+ICdudW1lcmljX2xhcmdlcicsIGFnZ3NvcnRv cCA9PiAnPihudW1lcmljLG51bWVyaWMpJywKICAgYWdndHJhbnN0eXBlID0+ICdudW1lcmljJyB9 LAoteyBhZ2dmbm9pZCA9PiAnbWF4KGFueWFycmF5KScsIGFnZ3RyYW5zZm4gPT4gJ2FycmF5X2xh cmdlcicsCit7IGFnZ2Zub2lkID0+ICdtYXgobnVtZXJpYyknLCBhZ2d0cmFuc2ZuID0+ICdudW1l cmljX2xhcmdlcicsCisgIGFnZ2NvbWJpbmVmbiA9PiAnbnVtZXJpY19sYXJnZXInLCBhZ2dzb3J0 b3AgPT4gJz4obnVtZXJpYyxudW1lcmljKScsCisgIGFnZ3RyYW5zdHlwZSA9PiAnbnVtZXJpYycs CisgIHBhcnRpYWxhZ2dmbiA9PiAnbWF4X3BfbnVtZXJpYycsIHBhcnRpYWxhZ2dfbWludmVyc2lv biA9PiAnMTYwMDAwJyB9LAoreyBhZ2dmbm9pZCA9PiAnbWF4X3BfYW55YXJyYXknLCBhZ2d0cmFu c2ZuID0+ICdhcnJheV9sYXJnZXInLAogICBhZ2djb21iaW5lZm4gPT4gJ2FycmF5X2xhcmdlcics IGFnZ3NvcnRvcCA9PiAnPihhbnlhcnJheSxhbnlhcnJheSknLAogICBhZ2d0cmFuc3R5cGUgPT4g J2FueWFycmF5JyB9LAoteyBhZ2dmbm9pZCA9PiAnbWF4KGJwY2hhciknLCBhZ2d0cmFuc2ZuID0+ ICdicGNoYXJfbGFyZ2VyJywKK3sgYWdnZm5vaWQgPT4gJ21heChhbnlhcnJheSknLCBhZ2d0cmFu c2ZuID0+ICdhcnJheV9sYXJnZXInLAorICBhZ2djb21iaW5lZm4gPT4gJ2FycmF5X2xhcmdlcics IGFnZ3NvcnRvcCA9PiAnPihhbnlhcnJheSxhbnlhcnJheSknLAorICBhZ2d0cmFuc3R5cGUgPT4g J2FueWFycmF5JywKKyAgcGFydGlhbGFnZ2ZuID0+ICdtYXhfcF9hbnlhcnJheScsIHBhcnRpYWxh Z2dfbWludmVyc2lvbiA9PiAnMTYwMDAwJyB9LAoreyBhZ2dmbm9pZCA9PiAnbWF4X3BfYnBjaGFy JywgYWdndHJhbnNmbiA9PiAnYnBjaGFyX2xhcmdlcicsCiAgIGFnZ2NvbWJpbmVmbiA9PiAnYnBj aGFyX2xhcmdlcicsIGFnZ3NvcnRvcCA9PiAnPihicGNoYXIsYnBjaGFyKScsCiAgIGFnZ3RyYW5z dHlwZSA9PiAnYnBjaGFyJyB9LAoteyBhZ2dmbm9pZCA9PiAnbWF4KHRpZCknLCBhZ2d0cmFuc2Zu ID0+ICd0aWRsYXJnZXInLAoreyBhZ2dmbm9pZCA9PiAnbWF4KGJwY2hhciknLCBhZ2d0cmFuc2Zu ID0+ICdicGNoYXJfbGFyZ2VyJywKKyAgYWdnY29tYmluZWZuID0+ICdicGNoYXJfbGFyZ2VyJywg YWdnc29ydG9wID0+ICc+KGJwY2hhcixicGNoYXIpJywKKyAgYWdndHJhbnN0eXBlID0+ICdicGNo YXInLAorICBwYXJ0aWFsYWdnZm4gPT4gJ21heF9wX2JwY2hhcicsIHBhcnRpYWxhZ2dfbWludmVy c2lvbiA9PiAnMTYwMDAwJyB9LAoreyBhZ2dmbm9pZCA9PiAnbWF4X3BfdGlkJywgYWdndHJhbnNm biA9PiAndGlkbGFyZ2VyJywKICAgYWdnY29tYmluZWZuID0+ICd0aWRsYXJnZXInLCBhZ2dzb3J0 b3AgPT4gJz4odGlkLHRpZCknLAogICBhZ2d0cmFuc3R5cGUgPT4gJ3RpZCcgfSwKLXsgYWdnZm5v aWQgPT4gJ21heChhbnllbnVtKScsIGFnZ3RyYW5zZm4gPT4gJ2VudW1fbGFyZ2VyJywKK3sgYWdn Zm5vaWQgPT4gJ21heCh0aWQpJywgYWdndHJhbnNmbiA9PiAndGlkbGFyZ2VyJywKKyAgYWdnY29t YmluZWZuID0+ICd0aWRsYXJnZXInLCBhZ2dzb3J0b3AgPT4gJz4odGlkLHRpZCknLAorICBhZ2d0 cmFuc3R5cGUgPT4gJ3RpZCcsCisgIHBhcnRpYWxhZ2dmbiA9PiAnbWF4X3BfdGlkJywgcGFydGlh bGFnZ19taW52ZXJzaW9uID0+ICcxNjAwMDAnIH0sCit7IGFnZ2Zub2lkID0+ICdtYXhfcF9hbnll bnVtJywgYWdndHJhbnNmbiA9PiAnZW51bV9sYXJnZXInLAogICBhZ2djb21iaW5lZm4gPT4gJ2Vu dW1fbGFyZ2VyJywgYWdnc29ydG9wID0+ICc+KGFueWVudW0sYW55ZW51bSknLAogICBhZ2d0cmFu c3R5cGUgPT4gJ2FueWVudW0nIH0sCi17IGFnZ2Zub2lkID0+ICdtYXgoaW5ldCknLCBhZ2d0cmFu c2ZuID0+ICduZXR3b3JrX2xhcmdlcicsCit7IGFnZ2Zub2lkID0+ICdtYXgoYW55ZW51bSknLCBh Z2d0cmFuc2ZuID0+ICdlbnVtX2xhcmdlcicsCisgIGFnZ2NvbWJpbmVmbiA9PiAnZW51bV9sYXJn ZXInLCBhZ2dzb3J0b3AgPT4gJz4oYW55ZW51bSxhbnllbnVtKScsCisgIGFnZ3RyYW5zdHlwZSA9 PiAnYW55ZW51bScsCisgIHBhcnRpYWxhZ2dmbiA9PiAnbWF4X3BfYW55ZW51bScsIHBhcnRpYWxh Z2dfbWludmVyc2lvbiA9PiAnMTYwMDAwJyB9LAoreyBhZ2dmbm9pZCA9PiAnbWF4X3BfaW5ldCcs IGFnZ3RyYW5zZm4gPT4gJ25ldHdvcmtfbGFyZ2VyJywKICAgYWdnY29tYmluZWZuID0+ICduZXR3 b3JrX2xhcmdlcicsIGFnZ3NvcnRvcCA9PiAnPihpbmV0LGluZXQpJywKICAgYWdndHJhbnN0eXBl ID0+ICdpbmV0JyB9LAoteyBhZ2dmbm9pZCA9PiAnbWF4KHBnX2xzbiknLCBhZ2d0cmFuc2ZuID0+ ICdwZ19sc25fbGFyZ2VyJywKK3sgYWdnZm5vaWQgPT4gJ21heChpbmV0KScsIGFnZ3RyYW5zZm4g PT4gJ25ldHdvcmtfbGFyZ2VyJywKKyAgYWdnY29tYmluZWZuID0+ICduZXR3b3JrX2xhcmdlcics IGFnZ3NvcnRvcCA9PiAnPihpbmV0LGluZXQpJywKKyAgYWdndHJhbnN0eXBlID0+ICdpbmV0JywK KyAgcGFydGlhbGFnZ2ZuID0+ICdtYXhfcF9pbmV0JywgcGFydGlhbGFnZ19taW52ZXJzaW9uID0+ ICcxNjAwMDAnIH0sCit7IGFnZ2Zub2lkID0+ICdtYXhfcF9wZ19sc24nLCBhZ2d0cmFuc2ZuID0+ ICdwZ19sc25fbGFyZ2VyJywKICAgYWdnY29tYmluZWZuID0+ICdwZ19sc25fbGFyZ2VyJywgYWdn c29ydG9wID0+ICc+KHBnX2xzbixwZ19sc24pJywKICAgYWdndHJhbnN0eXBlID0+ICdwZ19sc24n IH0sCi17IGFnZ2Zub2lkID0+ICdtYXgoeGlkOCknLCBhZ2d0cmFuc2ZuID0+ICd4aWQ4X2xhcmdl cicsCit7IGFnZ2Zub2lkID0+ICdtYXgocGdfbHNuKScsIGFnZ3RyYW5zZm4gPT4gJ3BnX2xzbl9s YXJnZXInLAorICBhZ2djb21iaW5lZm4gPT4gJ3BnX2xzbl9sYXJnZXInLCBhZ2dzb3J0b3AgPT4g Jz4ocGdfbHNuLHBnX2xzbiknLAorICBhZ2d0cmFuc3R5cGUgPT4gJ3BnX2xzbicsCisgIHBhcnRp YWxhZ2dmbiA9PiAnbWF4X3BfcGdfbHNuJywgcGFydGlhbGFnZ19taW52ZXJzaW9uID0+ICcxNjAw MDAnIH0sCit7IGFnZ2Zub2lkID0+ICdtYXhfcF94aWQ4JywgYWdndHJhbnNmbiA9PiAneGlkOF9s YXJnZXInLAogICBhZ2djb21iaW5lZm4gPT4gJ3hpZDhfbGFyZ2VyJywgYWdnc29ydG9wID0+ICc+ KHhpZDgseGlkOCknLAogICBhZ2d0cmFuc3R5cGUgPT4gJ3hpZDgnIH0sCit7IGFnZ2Zub2lkID0+ ICdtYXgoeGlkOCknLCBhZ2d0cmFuc2ZuID0+ICd4aWQ4X2xhcmdlcicsCisgIGFnZ2NvbWJpbmVm biA9PiAneGlkOF9sYXJnZXInLCBhZ2dzb3J0b3AgPT4gJz4oeGlkOCx4aWQ4KScsCisgIGFnZ3Ry YW5zdHlwZSA9PiAneGlkOCcsCisgIHBhcnRpYWxhZ2dmbiA9PiAnbWF4X3BfeGlkOCcsIHBhcnRp YWxhZ2dfbWludmVyc2lvbiA9PiAnMTYwMDAwJyB9LAogCiAjIG1pbgoteyBhZ2dmbm9pZCA9PiAn bWluKGludDgpJywgYWdndHJhbnNmbiA9PiAnaW50OHNtYWxsZXInLAoreyBhZ2dmbm9pZCA9PiAn bWluX3BfaW50OCcsIGFnZ3RyYW5zZm4gPT4gJ2ludDhzbWFsbGVyJywKICAgYWdnY29tYmluZWZu ID0+ICdpbnQ4c21hbGxlcicsIGFnZ3NvcnRvcCA9PiAnPChpbnQ4LGludDgpJywKICAgYWdndHJh bnN0eXBlID0+ICdpbnQ4JyB9LAoteyBhZ2dmbm9pZCA9PiAnbWluKGludDQpJywgYWdndHJhbnNm biA9PiAnaW50NHNtYWxsZXInLAoreyBhZ2dmbm9pZCA9PiAnbWluKGludDgpJywgYWdndHJhbnNm biA9PiAnaW50OHNtYWxsZXInLAorICBhZ2djb21iaW5lZm4gPT4gJ2ludDhzbWFsbGVyJywgYWdn c29ydG9wID0+ICc8KGludDgsaW50OCknLAorICBhZ2d0cmFuc3R5cGUgPT4gJ2ludDgnLAorICBw YXJ0aWFsYWdnZm4gPT4gJ21pbl9wX2ludDgnLCBwYXJ0aWFsYWdnX21pbnZlcnNpb24gPT4gJzE2 MDAwMCcgfSwKK3sgYWdnZm5vaWQgPT4gJ21pbl9wX2ludDQnLCBhZ2d0cmFuc2ZuID0+ICdpbnQ0 c21hbGxlcicsCiAgIGFnZ2NvbWJpbmVmbiA9PiAnaW50NHNtYWxsZXInLCBhZ2dzb3J0b3AgPT4g JzwoaW50NCxpbnQ0KScsCiAgIGFnZ3RyYW5zdHlwZSA9PiAnaW50NCcgfSwKLXsgYWdnZm5vaWQg PT4gJ21pbihpbnQyKScsIGFnZ3RyYW5zZm4gPT4gJ2ludDJzbWFsbGVyJywKK3sgYWdnZm5vaWQg PT4gJ21pbihpbnQ0KScsIGFnZ3RyYW5zZm4gPT4gJ2ludDRzbWFsbGVyJywKKyAgYWdnY29tYmlu ZWZuID0+ICdpbnQ0c21hbGxlcicsIGFnZ3NvcnRvcCA9PiAnPChpbnQ0LGludDQpJywKKyAgYWdn dHJhbnN0eXBlID0+ICdpbnQ0JywKKyAgcGFydGlhbGFnZ2ZuID0+ICdtaW5fcF9pbnQ0JywgcGFy dGlhbGFnZ19taW52ZXJzaW9uID0+ICcxNjAwMDAnIH0sCit7IGFnZ2Zub2lkID0+ICdtaW5fcF9p bnQyJywgYWdndHJhbnNmbiA9PiAnaW50MnNtYWxsZXInLAogICBhZ2djb21iaW5lZm4gPT4gJ2lu dDJzbWFsbGVyJywgYWdnc29ydG9wID0+ICc8KGludDIsaW50MiknLAogICBhZ2d0cmFuc3R5cGUg PT4gJ2ludDInIH0sCi17IGFnZ2Zub2lkID0+ICdtaW4ob2lkKScsIGFnZ3RyYW5zZm4gPT4gJ29p ZHNtYWxsZXInLAoreyBhZ2dmbm9pZCA9PiAnbWluKGludDIpJywgYWdndHJhbnNmbiA9PiAnaW50 MnNtYWxsZXInLAorICBhZ2djb21iaW5lZm4gPT4gJ2ludDJzbWFsbGVyJywgYWdnc29ydG9wID0+ ICc8KGludDIsaW50MiknLAorICBhZ2d0cmFuc3R5cGUgPT4gJ2ludDInLAorICBwYXJ0aWFsYWdn Zm4gPT4gJ21pbl9wX2ludDInLCBwYXJ0aWFsYWdnX21pbnZlcnNpb24gPT4gJzE2MDAwMCcgfSwK K3sgYWdnZm5vaWQgPT4gJ21pbl9wX29pZCcsIGFnZ3RyYW5zZm4gPT4gJ29pZHNtYWxsZXInLAog ICBhZ2djb21iaW5lZm4gPT4gJ29pZHNtYWxsZXInLCBhZ2dzb3J0b3AgPT4gJzwob2lkLG9pZCkn LAogICBhZ2d0cmFuc3R5cGUgPT4gJ29pZCcgfSwKLXsgYWdnZm5vaWQgPT4gJ21pbihmbG9hdDQp JywgYWdndHJhbnNmbiA9PiAnZmxvYXQ0c21hbGxlcicsCit7IGFnZ2Zub2lkID0+ICdtaW4ob2lk KScsIGFnZ3RyYW5zZm4gPT4gJ29pZHNtYWxsZXInLAorICBhZ2djb21iaW5lZm4gPT4gJ29pZHNt YWxsZXInLCBhZ2dzb3J0b3AgPT4gJzwob2lkLG9pZCknLAorICBhZ2d0cmFuc3R5cGUgPT4gJ29p ZCcsCisgIHBhcnRpYWxhZ2dmbiA9PiAnbWluX3Bfb2lkJywgcGFydGlhbGFnZ19taW52ZXJzaW9u ID0+ICcxNjAwMDAnIH0sCit7IGFnZ2Zub2lkID0+ICdtaW5fcF9mbG9hdDQnLCBhZ2d0cmFuc2Zu ID0+ICdmbG9hdDRzbWFsbGVyJywKICAgYWdnY29tYmluZWZuID0+ICdmbG9hdDRzbWFsbGVyJywg YWdnc29ydG9wID0+ICc8KGZsb2F0NCxmbG9hdDQpJywKICAgYWdndHJhbnN0eXBlID0+ICdmbG9h dDQnIH0sCi17IGFnZ2Zub2lkID0+ICdtaW4oZmxvYXQ4KScsIGFnZ3RyYW5zZm4gPT4gJ2Zsb2F0 OHNtYWxsZXInLAoreyBhZ2dmbm9pZCA9PiAnbWluKGZsb2F0NCknLCBhZ2d0cmFuc2ZuID0+ICdm bG9hdDRzbWFsbGVyJywKKyAgYWdnY29tYmluZWZuID0+ICdmbG9hdDRzbWFsbGVyJywgYWdnc29y dG9wID0+ICc8KGZsb2F0NCxmbG9hdDQpJywKKyAgYWdndHJhbnN0eXBlID0+ICdmbG9hdDQnLAor ICBwYXJ0aWFsYWdnZm4gPT4gJ21pbl9wX2Zsb2F0NCcsIHBhcnRpYWxhZ2dfbWludmVyc2lvbiA9 PiAnMTYwMDAwJyB9LAoreyBhZ2dmbm9pZCA9PiAnbWluX3BfZmxvYXQ4JywgYWdndHJhbnNmbiA9 PiAnZmxvYXQ4c21hbGxlcicsCiAgIGFnZ2NvbWJpbmVmbiA9PiAnZmxvYXQ4c21hbGxlcicsIGFn Z3NvcnRvcCA9PiAnPChmbG9hdDgsZmxvYXQ4KScsCiAgIGFnZ3RyYW5zdHlwZSA9PiAnZmxvYXQ4 JyB9LAoteyBhZ2dmbm9pZCA9PiAnbWluKGRhdGUpJywgYWdndHJhbnNmbiA9PiAnZGF0ZV9zbWFs bGVyJywKK3sgYWdnZm5vaWQgPT4gJ21pbihmbG9hdDgpJywgYWdndHJhbnNmbiA9PiAnZmxvYXQ4 c21hbGxlcicsCisgIGFnZ2NvbWJpbmVmbiA9PiAnZmxvYXQ4c21hbGxlcicsIGFnZ3NvcnRvcCA9 PiAnPChmbG9hdDgsZmxvYXQ4KScsCisgIGFnZ3RyYW5zdHlwZSA9PiAnZmxvYXQ4JywKKyAgcGFy dGlhbGFnZ2ZuID0+ICdtaW5fcF9mbG9hdDgnLCBwYXJ0aWFsYWdnX21pbnZlcnNpb24gPT4gJzE2 MDAwMCcgfSwKK3sgYWdnZm5vaWQgPT4gJ21pbl9wX2RhdGUnLCBhZ2d0cmFuc2ZuID0+ICdkYXRl X3NtYWxsZXInLAogICBhZ2djb21iaW5lZm4gPT4gJ2RhdGVfc21hbGxlcicsIGFnZ3NvcnRvcCA9 PiAnPChkYXRlLGRhdGUpJywKICAgYWdndHJhbnN0eXBlID0+ICdkYXRlJyB9LAoteyBhZ2dmbm9p ZCA9PiAnbWluKHRpbWUpJywgYWdndHJhbnNmbiA9PiAndGltZV9zbWFsbGVyJywKK3sgYWdnZm5v aWQgPT4gJ21pbihkYXRlKScsIGFnZ3RyYW5zZm4gPT4gJ2RhdGVfc21hbGxlcicsCisgIGFnZ2Nv bWJpbmVmbiA9PiAnZGF0ZV9zbWFsbGVyJywgYWdnc29ydG9wID0+ICc8KGRhdGUsZGF0ZSknLAor ICBhZ2d0cmFuc3R5cGUgPT4gJ2RhdGUnLAorICBwYXJ0aWFsYWdnZm4gPT4gJ21pbl9wX2RhdGUn LCBwYXJ0aWFsYWdnX21pbnZlcnNpb24gPT4gJzE2MDAwMCcgfSwKK3sgYWdnZm5vaWQgPT4gJ21p bl9wX3RpbWUnLCBhZ2d0cmFuc2ZuID0+ICd0aW1lX3NtYWxsZXInLAogICBhZ2djb21iaW5lZm4g PT4gJ3RpbWVfc21hbGxlcicsIGFnZ3NvcnRvcCA9PiAnPCh0aW1lLHRpbWUpJywKICAgYWdndHJh bnN0eXBlID0+ICd0aW1lJyB9LAoteyBhZ2dmbm9pZCA9PiAnbWluKHRpbWV0eiknLCBhZ2d0cmFu c2ZuID0+ICd0aW1ldHpfc21hbGxlcicsCit7IGFnZ2Zub2lkID0+ICdtaW4odGltZSknLCBhZ2d0 cmFuc2ZuID0+ICd0aW1lX3NtYWxsZXInLAorICBhZ2djb21iaW5lZm4gPT4gJ3RpbWVfc21hbGxl cicsIGFnZ3NvcnRvcCA9PiAnPCh0aW1lLHRpbWUpJywKKyAgYWdndHJhbnN0eXBlID0+ICd0aW1l JywKKyAgcGFydGlhbGFnZ2ZuID0+ICdtaW5fcF90aW1lJywgcGFydGlhbGFnZ19taW52ZXJzaW9u ID0+ICcxNjAwMDAnIH0sCit7IGFnZ2Zub2lkID0+ICdtaW5fcF90aW1ldHonLCBhZ2d0cmFuc2Zu ID0+ICd0aW1ldHpfc21hbGxlcicsCiAgIGFnZ2NvbWJpbmVmbiA9PiAndGltZXR6X3NtYWxsZXIn LCBhZ2dzb3J0b3AgPT4gJzwodGltZXR6LHRpbWV0eiknLAogICBhZ2d0cmFuc3R5cGUgPT4gJ3Rp bWV0eicgfSwKLXsgYWdnZm5vaWQgPT4gJ21pbihtb25leSknLCBhZ2d0cmFuc2ZuID0+ICdjYXNo c21hbGxlcicsCit7IGFnZ2Zub2lkID0+ICdtaW4odGltZXR6KScsIGFnZ3RyYW5zZm4gPT4gJ3Rp bWV0el9zbWFsbGVyJywKKyAgYWdnY29tYmluZWZuID0+ICd0aW1ldHpfc21hbGxlcicsIGFnZ3Nv cnRvcCA9PiAnPCh0aW1ldHosdGltZXR6KScsCisgIGFnZ3RyYW5zdHlwZSA9PiAndGltZXR6JywK KyAgcGFydGlhbGFnZ2ZuID0+ICdtaW5fcF90aW1ldHonLCBwYXJ0aWFsYWdnX21pbnZlcnNpb24g PT4gJzE2MDAwMCcgfSwKK3sgYWdnZm5vaWQgPT4gJ21pbl9wX21vbmV5JywgYWdndHJhbnNmbiA9 PiAnY2FzaHNtYWxsZXInLAogICBhZ2djb21iaW5lZm4gPT4gJ2Nhc2hzbWFsbGVyJywgYWdnc29y dG9wID0+ICc8KG1vbmV5LG1vbmV5KScsCiAgIGFnZ3RyYW5zdHlwZSA9PiAnbW9uZXknIH0sCi17 IGFnZ2Zub2lkID0+ICdtaW4odGltZXN0YW1wKScsIGFnZ3RyYW5zZm4gPT4gJ3RpbWVzdGFtcF9z bWFsbGVyJywKK3sgYWdnZm5vaWQgPT4gJ21pbihtb25leSknLCBhZ2d0cmFuc2ZuID0+ICdjYXNo c21hbGxlcicsCisgIGFnZ2NvbWJpbmVmbiA9PiAnY2FzaHNtYWxsZXInLCBhZ2dzb3J0b3AgPT4g JzwobW9uZXksbW9uZXkpJywKKyAgYWdndHJhbnN0eXBlID0+ICdtb25leScsCisgIHBhcnRpYWxh Z2dmbiA9PiAnbWluX3BfbW9uZXknLCBwYXJ0aWFsYWdnX21pbnZlcnNpb24gPT4gJzE2MDAwMCcg fSwKK3sgYWdnZm5vaWQgPT4gJ21pbl9wX3RpbWVzdGFtcCcsIGFnZ3RyYW5zZm4gPT4gJ3RpbWVz dGFtcF9zbWFsbGVyJywKICAgYWdnY29tYmluZWZuID0+ICd0aW1lc3RhbXBfc21hbGxlcicsIGFn Z3NvcnRvcCA9PiAnPCh0aW1lc3RhbXAsdGltZXN0YW1wKScsCiAgIGFnZ3RyYW5zdHlwZSA9PiAn dGltZXN0YW1wJyB9LAoteyBhZ2dmbm9pZCA9PiAnbWluKHRpbWVzdGFtcHR6KScsIGFnZ3RyYW5z Zm4gPT4gJ3RpbWVzdGFtcHR6X3NtYWxsZXInLAoreyBhZ2dmbm9pZCA9PiAnbWluKHRpbWVzdGFt cCknLCBhZ2d0cmFuc2ZuID0+ICd0aW1lc3RhbXBfc21hbGxlcicsCisgIGFnZ2NvbWJpbmVmbiA9 PiAndGltZXN0YW1wX3NtYWxsZXInLCBhZ2dzb3J0b3AgPT4gJzwodGltZXN0YW1wLHRpbWVzdGFt cCknLAorICBhZ2d0cmFuc3R5cGUgPT4gJ3RpbWVzdGFtcCcsCisgIHBhcnRpYWxhZ2dmbiA9PiAn bWluX3BfdGltZXN0YW1wJywgcGFydGlhbGFnZ19taW52ZXJzaW9uID0+ICcxNjAwMDAnIH0sCit7 IGFnZ2Zub2lkID0+ICdtaW5fcF90aW1lc3RhbXB0eicsIGFnZ3RyYW5zZm4gPT4gJ3RpbWVzdGFt cHR6X3NtYWxsZXInLAogICBhZ2djb21iaW5lZm4gPT4gJ3RpbWVzdGFtcHR6X3NtYWxsZXInLAog ICBhZ2dzb3J0b3AgPT4gJzwodGltZXN0YW1wdHosdGltZXN0YW1wdHopJywgYWdndHJhbnN0eXBl ID0+ICd0aW1lc3RhbXB0eicgfSwKLXsgYWdnZm5vaWQgPT4gJ21pbihpbnRlcnZhbCknLCBhZ2d0 cmFuc2ZuID0+ICdpbnRlcnZhbF9zbWFsbGVyJywKK3sgYWdnZm5vaWQgPT4gJ21pbih0aW1lc3Rh bXB0eiknLCBhZ2d0cmFuc2ZuID0+ICd0aW1lc3RhbXB0el9zbWFsbGVyJywKKyAgYWdnY29tYmlu ZWZuID0+ICd0aW1lc3RhbXB0el9zbWFsbGVyJywKKyAgYWdnc29ydG9wID0+ICc8KHRpbWVzdGFt cHR6LHRpbWVzdGFtcHR6KScsIGFnZ3RyYW5zdHlwZSA9PiAndGltZXN0YW1wdHonLAorICBwYXJ0 aWFsYWdnZm4gPT4gJ21pbl9wX3RpbWVzdGFtcHR6JywgcGFydGlhbGFnZ19taW52ZXJzaW9uID0+ ICcxNjAwMDAnIH0sCit7IGFnZ2Zub2lkID0+ICdtaW5fcF9pbnRlcnZhbCcsIGFnZ3RyYW5zZm4g PT4gJ2ludGVydmFsX3NtYWxsZXInLAogICBhZ2djb21iaW5lZm4gPT4gJ2ludGVydmFsX3NtYWxs ZXInLCBhZ2dzb3J0b3AgPT4gJzwoaW50ZXJ2YWwsaW50ZXJ2YWwpJywKICAgYWdndHJhbnN0eXBl ID0+ICdpbnRlcnZhbCcgfSwKLXsgYWdnZm5vaWQgPT4gJ21pbih0ZXh0KScsIGFnZ3RyYW5zZm4g PT4gJ3RleHRfc21hbGxlcicsCit7IGFnZ2Zub2lkID0+ICdtaW4oaW50ZXJ2YWwpJywgYWdndHJh bnNmbiA9PiAnaW50ZXJ2YWxfc21hbGxlcicsCisgIGFnZ2NvbWJpbmVmbiA9PiAnaW50ZXJ2YWxf c21hbGxlcicsIGFnZ3NvcnRvcCA9PiAnPChpbnRlcnZhbCxpbnRlcnZhbCknLAorICBhZ2d0cmFu c3R5cGUgPT4gJ2ludGVydmFsJywKKyAgcGFydGlhbGFnZ2ZuID0+ICdtaW5fcF9pbnRlcnZhbCcs IHBhcnRpYWxhZ2dfbWludmVyc2lvbiA9PiAnMTYwMDAwJyB9LAoreyBhZ2dmbm9pZCA9PiAnbWlu X3BfdGV4dCcsIGFnZ3RyYW5zZm4gPT4gJ3RleHRfc21hbGxlcicsCiAgIGFnZ2NvbWJpbmVmbiA9 PiAndGV4dF9zbWFsbGVyJywgYWdnc29ydG9wID0+ICc8KHRleHQsdGV4dCknLAogICBhZ2d0cmFu c3R5cGUgPT4gJ3RleHQnIH0sCi17IGFnZ2Zub2lkID0+ICdtaW4obnVtZXJpYyknLCBhZ2d0cmFu c2ZuID0+ICdudW1lcmljX3NtYWxsZXInLAoreyBhZ2dmbm9pZCA9PiAnbWluKHRleHQpJywgYWdn dHJhbnNmbiA9PiAndGV4dF9zbWFsbGVyJywKKyAgYWdnY29tYmluZWZuID0+ICd0ZXh0X3NtYWxs ZXInLCBhZ2dzb3J0b3AgPT4gJzwodGV4dCx0ZXh0KScsCisgIGFnZ3RyYW5zdHlwZSA9PiAndGV4 dCcsCisgIHBhcnRpYWxhZ2dmbiA9PiAnbWluX3BfdGV4dCcsIHBhcnRpYWxhZ2dfbWludmVyc2lv biA9PiAnMTYwMDAwJyB9LAoreyBhZ2dmbm9pZCA9PiAnbWluX3BfbnVtZXJpYycsIGFnZ3RyYW5z Zm4gPT4gJ251bWVyaWNfc21hbGxlcicsCiAgIGFnZ2NvbWJpbmVmbiA9PiAnbnVtZXJpY19zbWFs bGVyJywgYWdnc29ydG9wID0+ICc8KG51bWVyaWMsbnVtZXJpYyknLAogICBhZ2d0cmFuc3R5cGUg PT4gJ251bWVyaWMnIH0sCi17IGFnZ2Zub2lkID0+ICdtaW4oYW55YXJyYXkpJywgYWdndHJhbnNm biA9PiAnYXJyYXlfc21hbGxlcicsCit7IGFnZ2Zub2lkID0+ICdtaW4obnVtZXJpYyknLCBhZ2d0 cmFuc2ZuID0+ICdudW1lcmljX3NtYWxsZXInLAorICBhZ2djb21iaW5lZm4gPT4gJ251bWVyaWNf c21hbGxlcicsIGFnZ3NvcnRvcCA9PiAnPChudW1lcmljLG51bWVyaWMpJywKKyAgYWdndHJhbnN0 eXBlID0+ICdudW1lcmljJywKKyAgcGFydGlhbGFnZ2ZuID0+ICdtaW5fcF9udW1lcmljJywgcGFy dGlhbGFnZ19taW52ZXJzaW9uID0+ICcxNjAwMDAnIH0sCit7IGFnZ2Zub2lkID0+ICdtaW5fcF9h bnlhcnJheScsIGFnZ3RyYW5zZm4gPT4gJ2FycmF5X3NtYWxsZXInLAogICBhZ2djb21iaW5lZm4g PT4gJ2FycmF5X3NtYWxsZXInLCBhZ2dzb3J0b3AgPT4gJzwoYW55YXJyYXksYW55YXJyYXkpJywK ICAgYWdndHJhbnN0eXBlID0+ICdhbnlhcnJheScgfSwKLXsgYWdnZm5vaWQgPT4gJ21pbihicGNo YXIpJywgYWdndHJhbnNmbiA9PiAnYnBjaGFyX3NtYWxsZXInLAoreyBhZ2dmbm9pZCA9PiAnbWlu KGFueWFycmF5KScsIGFnZ3RyYW5zZm4gPT4gJ2FycmF5X3NtYWxsZXInLAorICBhZ2djb21iaW5l Zm4gPT4gJ2FycmF5X3NtYWxsZXInLCBhZ2dzb3J0b3AgPT4gJzwoYW55YXJyYXksYW55YXJyYXkp JywKKyAgYWdndHJhbnN0eXBlID0+ICdhbnlhcnJheScsCisgIHBhcnRpYWxhZ2dmbiA9PiAnbWlu X3BfYW55YXJyYXknLCBwYXJ0aWFsYWdnX21pbnZlcnNpb24gPT4gJzE2MDAwMCcgfSwKK3sgYWdn Zm5vaWQgPT4gJ21pbl9wX2JwY2hhcicsIGFnZ3RyYW5zZm4gPT4gJ2JwY2hhcl9zbWFsbGVyJywK ICAgYWdnY29tYmluZWZuID0+ICdicGNoYXJfc21hbGxlcicsIGFnZ3NvcnRvcCA9PiAnPChicGNo YXIsYnBjaGFyKScsCiAgIGFnZ3RyYW5zdHlwZSA9PiAnYnBjaGFyJyB9LAoreyBhZ2dmbm9pZCA9 PiAnbWluKGJwY2hhciknLCBhZ2d0cmFuc2ZuID0+ICdicGNoYXJfc21hbGxlcicsCisgIGFnZ2Nv bWJpbmVmbiA9PiAnYnBjaGFyX3NtYWxsZXInLCBhZ2dzb3J0b3AgPT4gJzwoYnBjaGFyLGJwY2hh ciknLAorICBhZ2d0cmFuc3R5cGUgPT4gJ2JwY2hhcicsCisgIHBhcnRpYWxhZ2dmbiA9PiAnbWlu X3BfYnBjaGFyJywgcGFydGlhbGFnZ19taW52ZXJzaW9uID0+ICcxNjAwMDAnIH0sCit7IGFnZ2Zu b2lkID0+ICdtaW5fcF90aWQnLCBhZ2d0cmFuc2ZuID0+ICd0aWRzbWFsbGVyJywKKyAgYWdnY29t YmluZWZuID0+ICd0aWRzbWFsbGVyJywgYWdnc29ydG9wID0+ICc8KHRpZCx0aWQpJywKKyAgYWdn dHJhbnN0eXBlID0+ICd0aWQnfSwKIHsgYWdnZm5vaWQgPT4gJ21pbih0aWQpJywgYWdndHJhbnNm biA9PiAndGlkc21hbGxlcicsCiAgIGFnZ2NvbWJpbmVmbiA9PiAndGlkc21hbGxlcicsIGFnZ3Nv cnRvcCA9PiAnPCh0aWQsdGlkKScsCi0gIGFnZ3RyYW5zdHlwZSA9PiAndGlkJyB9LAoteyBhZ2dm bm9pZCA9PiAnbWluKGFueWVudW0pJywgYWdndHJhbnNmbiA9PiAnZW51bV9zbWFsbGVyJywKKyAg YWdndHJhbnN0eXBlID0+ICd0aWQnLAorICBwYXJ0aWFsYWdnZm4gPT4gJ21pbl9wX3RpZCcsIHBh cnRpYWxhZ2dfbWludmVyc2lvbiA9PiAnMTYwMDAwJyB9LAoreyBhZ2dmbm9pZCA9PiAnbWluX3Bf YW55ZW51bScsIGFnZ3RyYW5zZm4gPT4gJ2VudW1fc21hbGxlcicsCiAgIGFnZ2NvbWJpbmVmbiA9 PiAnZW51bV9zbWFsbGVyJywgYWdnc29ydG9wID0+ICc8KGFueWVudW0sYW55ZW51bSknLAogICBh Z2d0cmFuc3R5cGUgPT4gJ2FueWVudW0nIH0sCi17IGFnZ2Zub2lkID0+ICdtaW4oaW5ldCknLCBh Z2d0cmFuc2ZuID0+ICduZXR3b3JrX3NtYWxsZXInLAoreyBhZ2dmbm9pZCA9PiAnbWluKGFueWVu dW0pJywgYWdndHJhbnNmbiA9PiAnZW51bV9zbWFsbGVyJywKKyAgYWdnY29tYmluZWZuID0+ICdl bnVtX3NtYWxsZXInLCBhZ2dzb3J0b3AgPT4gJzwoYW55ZW51bSxhbnllbnVtKScsCisgIGFnZ3Ry YW5zdHlwZSA9PiAnYW55ZW51bScsCisgIHBhcnRpYWxhZ2dmbiA9PiAnbWluX3BfYW55ZW51bScs IHBhcnRpYWxhZ2dfbWludmVyc2lvbiA9PiAnMTYwMDAwJyB9LAoreyBhZ2dmbm9pZCA9PiAnbWlu X3BfaW5ldCcsIGFnZ3RyYW5zZm4gPT4gJ25ldHdvcmtfc21hbGxlcicsCiAgIGFnZ2NvbWJpbmVm biA9PiAnbmV0d29ya19zbWFsbGVyJywgYWdnc29ydG9wID0+ICc8KGluZXQsaW5ldCknLAogICBh Z2d0cmFuc3R5cGUgPT4gJ2luZXQnIH0sCi17IGFnZ2Zub2lkID0+ICdtaW4ocGdfbHNuKScsIGFn Z3RyYW5zZm4gPT4gJ3BnX2xzbl9zbWFsbGVyJywKK3sgYWdnZm5vaWQgPT4gJ21pbihpbmV0KScs IGFnZ3RyYW5zZm4gPT4gJ25ldHdvcmtfc21hbGxlcicsCisgIGFnZ2NvbWJpbmVmbiA9PiAnbmV0 d29ya19zbWFsbGVyJywgYWdnc29ydG9wID0+ICc8KGluZXQsaW5ldCknLAorICBhZ2d0cmFuc3R5 cGUgPT4gJ2luZXQnLAorICBwYXJ0aWFsYWdnZm4gPT4gJ21pbl9wX2luZXQnLCBwYXJ0aWFsYWdn X21pbnZlcnNpb24gPT4gJzE2MDAwMCcgfSwKK3sgYWdnZm5vaWQgPT4gJ21pbl9wX3BnX2xzbics IGFnZ3RyYW5zZm4gPT4gJ3BnX2xzbl9zbWFsbGVyJywKICAgYWdnY29tYmluZWZuID0+ICdwZ19s c25fc21hbGxlcicsIGFnZ3NvcnRvcCA9PiAnPChwZ19sc24scGdfbHNuKScsCiAgIGFnZ3RyYW5z dHlwZSA9PiAncGdfbHNuJyB9LAoteyBhZ2dmbm9pZCA9PiAnbWluKHhpZDgpJywgYWdndHJhbnNm biA9PiAneGlkOF9zbWFsbGVyJywKK3sgYWdnZm5vaWQgPT4gJ21pbihwZ19sc24pJywgYWdndHJh bnNmbiA9PiAncGdfbHNuX3NtYWxsZXInLAorICBhZ2djb21iaW5lZm4gPT4gJ3BnX2xzbl9zbWFs bGVyJywgYWdnc29ydG9wID0+ICc8KHBnX2xzbixwZ19sc24pJywKKyAgYWdndHJhbnN0eXBlID0+ ICdwZ19sc24nLAorICBwYXJ0aWFsYWdnZm4gPT4gJ21pbl9wX3BnX2xzbicsIHBhcnRpYWxhZ2df bWludmVyc2lvbiA9PiAnMTYwMDAwJyB9LAoreyBhZ2dmbm9pZCA9PiAnbWluX3BfeGlkOCcsIGFn Z3RyYW5zZm4gPT4gJ3hpZDhfc21hbGxlcicsCiAgIGFnZ2NvbWJpbmVmbiA9PiAneGlkOF9zbWFs bGVyJywgYWdnc29ydG9wID0+ICc8KHhpZDgseGlkOCknLAogICBhZ2d0cmFuc3R5cGUgPT4gJ3hp ZDgnIH0sCit7IGFnZ2Zub2lkID0+ICdtaW4oeGlkOCknLCBhZ2d0cmFuc2ZuID0+ICd4aWQ4X3Nt YWxsZXInLAorICBhZ2djb21iaW5lZm4gPT4gJ3hpZDhfc21hbGxlcicsIGFnZ3NvcnRvcCA9PiAn PCh4aWQ4LHhpZDgpJywKKyAgYWdndHJhbnN0eXBlID0+ICd4aWQ4JywKKyAgcGFydGlhbGFnZ2Zu ID0+ICdtaW5fcF94aWQ4JywgcGFydGlhbGFnZ19taW52ZXJzaW9uID0+ICcxNjAwMDAnIH0sCiAK ICMgY291bnQKK3sgYWdnZm5vaWQgPT4gJ2NvdW50X3BfYW55JywgYWdndHJhbnNmbiA9PiAnaW50 OGluY19hbnknLAorICBhZ2djb21iaW5lZm4gPT4gJ2ludDhwbCcsIGFnZ3RyYW5zdHlwZSA9PiAn aW50OCcsCisgIGFnZ2luaXR2YWwgPT4gJzAnIH0sCiB7IGFnZ2Zub2lkID0+ICdjb3VudChhbnkp JywgYWdndHJhbnNmbiA9PiAnaW50OGluY19hbnknLAogICBhZ2djb21iaW5lZm4gPT4gJ2ludDhw bCcsIGFnZ210cmFuc2ZuID0+ICdpbnQ4aW5jX2FueScsCiAgIGFnZ21pbnZ0cmFuc2ZuID0+ICdp bnQ4ZGVjX2FueScsIGFnZ3RyYW5zdHlwZSA9PiAnaW50OCcsCi0gIGFnZ210cmFuc3R5cGUgPT4g J2ludDgnLCBhZ2dpbml0dmFsID0+ICcwJywgYWdnbWluaXR2YWwgPT4gJzAnIH0sCisgIGFnZ210 cmFuc3R5cGUgPT4gJ2ludDgnLCBhZ2dpbml0dmFsID0+ICcwJywgYWdnbWluaXR2YWwgPT4gJzAn LAorICBwYXJ0aWFsYWdnZm4gPT4gJ2NvdW50X3BfYW55JywgcGFydGlhbGFnZ19taW52ZXJzaW9u ID0+ICcxNjAwMDAnIH0sCit7IGFnZ2Zub2lkID0+ICdjb3VudF9wJywgYWdndHJhbnNmbiA9PiAn aW50OGluYycsIGFnZ2NvbWJpbmVmbiA9PiAnaW50OHBsJywKKyAgYWdndHJhbnN0eXBlID0+ICdp bnQ4JywgYWdnaW5pdHZhbCA9PiAnMCcgfSwKIHsgYWdnZm5vaWQgPT4gJ2NvdW50KCknLCBhZ2d0 cmFuc2ZuID0+ICdpbnQ4aW5jJywgYWdnY29tYmluZWZuID0+ICdpbnQ4cGwnLAogICBhZ2dtdHJh bnNmbiA9PiAnaW50OGluYycsIGFnZ21pbnZ0cmFuc2ZuID0+ICdpbnQ4ZGVjJywgYWdndHJhbnN0 eXBlID0+ICdpbnQ4JywKLSAgYWdnbXRyYW5zdHlwZSA9PiAnaW50OCcsIGFnZ2luaXR2YWwgPT4g JzAnLCBhZ2dtaW5pdHZhbCA9PiAnMCcgfSwKKyAgYWdnbXRyYW5zdHlwZSA9PiAnaW50OCcsIGFn Z2luaXR2YWwgPT4gJzAnLCBhZ2dtaW5pdHZhbCA9PiAnMCcsCisgIHBhcnRpYWxhZ2dmbiA9PiAn Y291bnRfcCcsIHBhcnRpYWxhZ2dfbWludmVyc2lvbiA9PiAnMTYwMDAwJyB9LAogCiAjIHZhcl9w b3AKIHsgYWdnZm5vaWQgPT4gJ3Zhcl9wb3AoaW50OCknLCBhZ2d0cmFuc2ZuID0+ICdpbnQ4X2Fj Y3VtJywKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfYWdncmVnYXRlLmggYi9z cmMvaW5jbHVkZS9jYXRhbG9nL3BnX2FnZ3JlZ2F0ZS5oCmluZGV4IDU5M2RhOWY3NmEuLjFiN2Jh YzBmYTYgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfYWdncmVnYXRlLmgKKysr IGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19hZ2dyZWdhdGUuaApAQCAtNTUsNiArNTUsMTIgQEAg Q0FUQUxPRyhwZ19hZ2dyZWdhdGUsMjYwMCxBZ2dyZWdhdGVSZWxhdGlvbklkKQogCS8qIGZ1bmN0 aW9uIHRvIGNvbnZlcnQgYnl0ZWEgdG8gdHJhbnN0eXBlICgwIGlmIG5vbmUpICovCiAJcmVncHJv YwkJYWdnZGVzZXJpYWxmbiBCS0lfREVGQVVMVCgtKSBCS0lfTE9PS1VQX09QVChwZ19wcm9jKTsK IAorCS8qIHNwZWNpYWwgYWdncmVnYXRlIGZ1bmN0aW9uIGZvciBwYXJ0aWFsIGFnZ3JlZ2F0aW9u ICgwIGlmIG5vbmUpICovCisJcmVncHJvYwkJcGFydGlhbGFnZ2ZuIEJLSV9ERUZBVUxUKC0pIEJL SV9MT09LVVBfT1BUKHBnX3Byb2MpOworCisJLyogbWluaW11bSBQb3N0Z3JlU1FMJ3MgdmVyc2lv biB3aGljaCBoYXMgY29tcGF0aWJsZSBwYXJ0aWFsYWdnZm4gKi8KKwlpbnQzMgkJcGFydGlhbGFn Z19taW52ZXJzaW9uIEJLSV9ERUZBVUxUKDApOworCiAJLyogZm9yd2FyZCBmdW5jdGlvbiBmb3Ig bW92aW5nLWFnZ3JlZ2F0ZSBtb2RlICgwIGlmIG5vbmUpICovCiAJcmVncHJvYwkJYWdnbXRyYW5z Zm4gQktJX0RFRkFVTFQoLSkgQktJX0xPT0tVUF9PUFQocGdfcHJvYyk7CiAKQEAgLTE0MSw2ICsx NDcsOSBAQCBERUNMQVJFX1VOSVFVRV9JTkRFWF9QS0VZKHBnX2FnZ3JlZ2F0ZV9mbm9pZF9pbmRl eCwgMjY1MCwgQWdncmVnYXRlRm5vaWRJbmRleElkLAogI2RlZmluZSBBR0dNT0RJRllfU0hBUkVB QkxFCQkJJ3MnCiAjZGVmaW5lIEFHR01PRElGWV9SRUFEX1dSSVRFCQkndycKIAorLyogU3ltYm9s aWMgdmFsdWUgZm9yIGRlZmF1bHQgcGFydGlhbGFnZ19taW52ZXJzaW9uICovCisjZGVmaW5lCVBB UlRJQUxBR0dfTUlOVkVSU0lPTl9ERUZBVUxUCTAKKwogI2VuZGlmCQkJCQkJCS8qIEVYUE9TRV9U T19DTElFTlRfQ09ERSAqLwogCiAKQEAgLTE2NCw2ICsxNzMsNyBAQCBleHRlcm4gT2JqZWN0QWRk cmVzcyBBZ2dyZWdhdGVDcmVhdGUoY29uc3QgY2hhciAqYWdnTmFtZSwKIAkJCQkJCQkJCSBMaXN0 ICphZ2dtdHJhbnNmbk5hbWUsCiAJCQkJCQkJCQkgTGlzdCAqYWdnbWludnRyYW5zZm5OYW1lLAog CQkJCQkJCQkJIExpc3QgKmFnZ21maW5hbGZuTmFtZSwKKwkJCQkJCQkJCSBMaXN0ICphZ2dwYXJ0 aWFsZm5OYW1lLAogCQkJCQkJCQkJIGJvb2wgZmluYWxmbkV4dHJhQXJncywKIAkJCQkJCQkJCSBi b29sIG1maW5hbGZuRXh0cmFBcmdzLAogCQkJCQkJCQkJIGNoYXIgZmluYWxmbk1vZGlmeSwKQEAg LTE3Myw2ICsxODMsNyBAQCBleHRlcm4gT2JqZWN0QWRkcmVzcyBBZ2dyZWdhdGVDcmVhdGUoY29u c3QgY2hhciAqYWdnTmFtZSwKIAkJCQkJCQkJCSBpbnQzMiBhZ2dUcmFuc1NwYWNlLAogCQkJCQkJ CQkJIE9pZCBhZ2dtVHJhbnNUeXBlLAogCQkJCQkJCQkJIGludDMyIGFnZ21UcmFuc1NwYWNlLAor CQkJCQkJCQkJIGludDMyIHBhcnRpYWxhZ2dNaW52ZXJzaW9uLAogCQkJCQkJCQkJIGNvbnN0IGNo YXIgKmFnZ2luaXR2YWwsCiAJCQkJCQkJCQkgY29uc3QgY2hhciAqYWdnbWluaXR2YWwsCiAJCQkJ CQkJCQkgY2hhciBwcm9wYXJhbGxlbCk7CmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9jYXRhbG9n L3BnX3Byb2MuZGF0IGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRhdAppbmRleCBmZDI1 NTk0NDJlLi45MmM1YmY2YTgyIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3By b2MuZGF0CisrKyBiL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcHJvYy5kYXQKQEAgLTY0OTAsMTk3 ICs2NDkwLDM4OSBAQAogICBkZXNjciA9PiAndGhlIGF2ZXJhZ2UgKGFyaXRobWV0aWMgbWVhbikg YXMgbnVtZXJpYyBvZiBhbGwgYmlnaW50IHZhbHVlcycsCiAgIHByb25hbWUgPT4gJ2F2ZycsIHBy b2tpbmQgPT4gJ2EnLCBwcm9pc3N0cmljdCA9PiAnZicsIHByb3JldHR5cGUgPT4gJ251bWVyaWMn LAogICBwcm9hcmd0eXBlcyA9PiAnaW50OCcsIHByb3NyYyA9PiAnYWdncmVnYXRlX2R1bW15JyB9 LAoreyBvaWQgPT4gJzEzNTAwJywKKyAgZGVzY3IgPT4gJ3RoZSBwYXJ0aWFsIGF2ZXJhZ2UgKGFy aXRobWV0aWMgbWVhbikgYXMgbnVtZXJpYyBvZiBhbGwgYmlnaW50IHZhbHVlcycsCisgIHByb25h bWUgPT4gJ2F2Z19wX2ludDgnLCBwcm9raW5kID0+ICdhJywgcHJvaXNzdHJpY3QgPT4gJ2YnLCBw cm9yZXR0eXBlID0+ICdieXRlYScsCisgIHByb2FyZ3R5cGVzID0+ICdpbnQ4JywgcHJvc3JjID0+ ICdhZ2dyZWdhdGVfZHVtbXknIH0sCiB7IG9pZCA9PiAnMjEwMScsCiAgIGRlc2NyID0+ICd0aGUg YXZlcmFnZSAoYXJpdGhtZXRpYyBtZWFuKSBhcyBudW1lcmljIG9mIGFsbCBpbnRlZ2VyIHZhbHVl cycsCiAgIHByb25hbWUgPT4gJ2F2ZycsIHByb2tpbmQgPT4gJ2EnLCBwcm9pc3N0cmljdCA9PiAn ZicsIHByb3JldHR5cGUgPT4gJ251bWVyaWMnLAogICBwcm9hcmd0eXBlcyA9PiAnaW50NCcsIHBy b3NyYyA9PiAnYWdncmVnYXRlX2R1bW15JyB9LAoreyBvaWQgPT4gJzEzNTAxJywKKyAgZGVzY3Ig PT4gJ3RoZSBwYXJ0aWFsIGF2ZXJhZ2UgKGFyaXRobWV0aWMgbWVhbikgYXMgbnVtZXJpYyBvZiBh bGwgaW50ZWdlciB2YWx1ZXMnLAorICBwcm9uYW1lID0+ICdhdmdfcF9pbnQ0JywgcHJva2luZCA9 PiAnYScsIHByb2lzc3RyaWN0ID0+ICdmJywgcHJvcmV0dHlwZSA9PiAnX2ludDgnLAorICBwcm9h cmd0eXBlcyA9PiAnaW50NCcsIHByb3NyYyA9PiAnYWdncmVnYXRlX2R1bW15JyB9LAogeyBvaWQg PT4gJzIxMDInLAogICBkZXNjciA9PiAndGhlIGF2ZXJhZ2UgKGFyaXRobWV0aWMgbWVhbikgYXMg bnVtZXJpYyBvZiBhbGwgc21hbGxpbnQgdmFsdWVzJywKICAgcHJvbmFtZSA9PiAnYXZnJywgcHJv a2luZCA9PiAnYScsIHByb2lzc3RyaWN0ID0+ICdmJywgcHJvcmV0dHlwZSA9PiAnbnVtZXJpYycs CiAgIHByb2FyZ3R5cGVzID0+ICdpbnQyJywgcHJvc3JjID0+ICdhZ2dyZWdhdGVfZHVtbXknIH0s Cit7IG9pZCA9PiAnMTM1MDInLAorICBkZXNjciA9PiAndGhlIHBhcnRpYWwgYXZlcmFnZSAoYXJp dGhtZXRpYyBtZWFuKSBhcyBudW1lcmljIG9mIGFsbCBzbWFsbGludCB2YWx1ZXMnLAorICBwcm9u YW1lID0+ICdhdmdfcF9pbnQyJywgcHJva2luZCA9PiAnYScsIHByb2lzc3RyaWN0ID0+ICdmJywg cHJvcmV0dHlwZSA9PiAnX2ludDgnLAorICBwcm9hcmd0eXBlcyA9PiAnaW50MicsIHByb3NyYyA9 PiAnYWdncmVnYXRlX2R1bW15JyB9LAogeyBvaWQgPT4gJzIxMDMnLAogICBkZXNjciA9PiAndGhl IGF2ZXJhZ2UgKGFyaXRobWV0aWMgbWVhbikgYXMgbnVtZXJpYyBvZiBhbGwgbnVtZXJpYyB2YWx1 ZXMnLAogICBwcm9uYW1lID0+ICdhdmcnLCBwcm9raW5kID0+ICdhJywgcHJvaXNzdHJpY3QgPT4g J2YnLCBwcm9yZXR0eXBlID0+ICdudW1lcmljJywKICAgcHJvYXJndHlwZXMgPT4gJ251bWVyaWMn LCBwcm9zcmMgPT4gJ2FnZ3JlZ2F0ZV9kdW1teScgfSwKK3sgb2lkID0+ICcxMzUwMycsCisgIGRl c2NyID0+ICd0aGUgcGFydGlhbCBhdmVyYWdlIChhcml0aG1ldGljIG1lYW4pIGFzIG51bWVyaWMg b2YgYWxsIG51bWVyaWMgdmFsdWVzJywKKyAgcHJvbmFtZSA9PiAnYXZnX3BfbnVtZXJpYycsIHBy b2tpbmQgPT4gJ2EnLCBwcm9pc3N0cmljdCA9PiAnZicsIHByb3JldHR5cGUgPT4gJ2J5dGVhJywK KyAgcHJvYXJndHlwZXMgPT4gJ251bWVyaWMnLCBwcm9zcmMgPT4gJ2FnZ3JlZ2F0ZV9kdW1teScg fSwKIHsgb2lkID0+ICcyMTA0JywKICAgZGVzY3IgPT4gJ3RoZSBhdmVyYWdlIChhcml0aG1ldGlj IG1lYW4pIGFzIGZsb2F0OCBvZiBhbGwgZmxvYXQ0IHZhbHVlcycsCiAgIHByb25hbWUgPT4gJ2F2 ZycsIHByb2tpbmQgPT4gJ2EnLCBwcm9pc3N0cmljdCA9PiAnZicsIHByb3JldHR5cGUgPT4gJ2Zs b2F0OCcsCiAgIHByb2FyZ3R5cGVzID0+ICdmbG9hdDQnLCBwcm9zcmMgPT4gJ2FnZ3JlZ2F0ZV9k dW1teScgfSwKK3sgb2lkID0+ICcxMzUwNCcsCisgIGRlc2NyID0+ICd0aGUgcGFydGlhbCBhdmVy YWdlIChhcml0aG1ldGljIG1lYW4pIGFzIGZsb2F0OCBvZiBhbGwgZmxvYXQ0IHZhbHVlcycsCisg IHByb25hbWUgPT4gJ2F2Z19wX2Zsb2F0NCcsIHByb2tpbmQgPT4gJ2EnLCBwcm9pc3N0cmljdCA9 PiAnZicsIHByb3JldHR5cGUgPT4gJ19mbG9hdDgnLAorICBwcm9hcmd0eXBlcyA9PiAnZmxvYXQ0 JywgcHJvc3JjID0+ICdhZ2dyZWdhdGVfZHVtbXknIH0sCiB7IG9pZCA9PiAnMjEwNScsCiAgIGRl c2NyID0+ICd0aGUgYXZlcmFnZSAoYXJpdGhtZXRpYyBtZWFuKSBhcyBmbG9hdDggb2YgYWxsIGZs b2F0OCB2YWx1ZXMnLAogICBwcm9uYW1lID0+ICdhdmcnLCBwcm9raW5kID0+ICdhJywgcHJvaXNz dHJpY3QgPT4gJ2YnLCBwcm9yZXR0eXBlID0+ICdmbG9hdDgnLAogICBwcm9hcmd0eXBlcyA9PiAn ZmxvYXQ4JywgcHJvc3JjID0+ICdhZ2dyZWdhdGVfZHVtbXknIH0sCit7IG9pZCA9PiAnMTM1MDUn LAorICBkZXNjciA9PiAndGhlIHBhcnRpYWwgYXZlcmFnZSAoYXJpdGhtZXRpYyBtZWFuKSBhcyBm bG9hdDggb2YgYWxsIGZsb2F0OCB2YWx1ZXMnLAorICBwcm9uYW1lID0+ICdhdmdfcF9mbG9hdDgn LCBwcm9raW5kID0+ICdhJywgcHJvaXNzdHJpY3QgPT4gJ2YnLCBwcm9yZXR0eXBlID0+ICdfZmxv YXQ4JywKKyAgcHJvYXJndHlwZXMgPT4gJ2Zsb2F0OCcsIHByb3NyYyA9PiAnYWdncmVnYXRlX2R1 bW15JyB9LAogeyBvaWQgPT4gJzIxMDYnLAogICBkZXNjciA9PiAndGhlIGF2ZXJhZ2UgKGFyaXRo bWV0aWMgbWVhbikgYXMgaW50ZXJ2YWwgb2YgYWxsIGludGVydmFsIHZhbHVlcycsCiAgIHByb25h bWUgPT4gJ2F2ZycsIHByb2tpbmQgPT4gJ2EnLCBwcm9pc3N0cmljdCA9PiAnZicsCiAgIHByb3Jl dHR5cGUgPT4gJ2ludGVydmFsJywgcHJvYXJndHlwZXMgPT4gJ2ludGVydmFsJywKICAgcHJvc3Jj ID0+ICdhZ2dyZWdhdGVfZHVtbXknIH0sCit7IG9pZCA9PiAnMTM1MDYnLAorICBkZXNjciA9PiAn dGhlIHBhcnRpYWwgYXZlcmFnZSAoYXJpdGhtZXRpYyBtZWFuKSBhcyBpbnRlcnZhbCBvZiBhbGwg aW50ZXJ2YWwgdmFsdWVzJywKKyAgcHJvbmFtZSA9PiAnYXZnX3BfaW50ZXJ2YWwnLCBwcm9raW5k ID0+ICdhJywgcHJvaXNzdHJpY3QgPT4gJ2YnLAorICBwcm9yZXR0eXBlID0+ICdfaW50ZXJ2YWwn LCBwcm9hcmd0eXBlcyA9PiAnaW50ZXJ2YWwnLAorICBwcm9zcmMgPT4gJ2FnZ3JlZ2F0ZV9kdW1t eScgfSwKIAogeyBvaWQgPT4gJzIxMDcnLCBkZXNjciA9PiAnc3VtIGFzIG51bWVyaWMgYWNyb3Nz IGFsbCBiaWdpbnQgaW5wdXQgdmFsdWVzJywKICAgcHJvbmFtZSA9PiAnc3VtJywgcHJva2luZCA9 PiAnYScsIHByb2lzc3RyaWN0ID0+ICdmJywgcHJvcmV0dHlwZSA9PiAnbnVtZXJpYycsCiAgIHBy b2FyZ3R5cGVzID0+ICdpbnQ4JywgcHJvc3JjID0+ICdhZ2dyZWdhdGVfZHVtbXknIH0sCit7IG9p ZCA9PiAnMTM1MDcnLCBkZXNjciA9PiAncGFydGlhbCBzdW0gYXMgbnVtZXJpYyBhY3Jvc3MgYWxs IGJpZ2ludCBpbnB1dCB2YWx1ZXMnLAorICBwcm9uYW1lID0+ICdzdW1fcF9pbnQ4JywgcHJva2lu ZCA9PiAnYScsIHByb2lzc3RyaWN0ID0+ICdmJywgcHJvcmV0dHlwZSA9PiAnYnl0ZWEnLAorICBw cm9hcmd0eXBlcyA9PiAnaW50OCcsIHByb3NyYyA9PiAnYWdncmVnYXRlX2R1bW15JyB9LAogeyBv aWQgPT4gJzIxMDgnLCBkZXNjciA9PiAnc3VtIGFzIGJpZ2ludCBhY3Jvc3MgYWxsIGludGVnZXIg aW5wdXQgdmFsdWVzJywKICAgcHJvbmFtZSA9PiAnc3VtJywgcHJva2luZCA9PiAnYScsIHByb2lz c3RyaWN0ID0+ICdmJywgcHJvcmV0dHlwZSA9PiAnaW50OCcsCiAgIHByb2FyZ3R5cGVzID0+ICdp bnQ0JywgcHJvc3JjID0+ICdhZ2dyZWdhdGVfZHVtbXknIH0sCit7IG9pZCA9PiAnMTM1MDgnLCBk ZXNjciA9PiAncGFydGlhbCBzdW0gYXMgYmlnaW50IGFjcm9zcyBhbGwgaW50ZWdlciBpbnB1dCB2 YWx1ZXMnLAorICBwcm9uYW1lID0+ICdzdW1fcF9pbnQ0JywgcHJva2luZCA9PiAnYScsIHByb2lz c3RyaWN0ID0+ICdmJywgcHJvcmV0dHlwZSA9PiAnaW50OCcsCisgIHByb2FyZ3R5cGVzID0+ICdp bnQ0JywgcHJvc3JjID0+ICdhZ2dyZWdhdGVfZHVtbXknIH0sCiB7IG9pZCA9PiAnMjEwOScsIGRl c2NyID0+ICdzdW0gYXMgYmlnaW50IGFjcm9zcyBhbGwgc21hbGxpbnQgaW5wdXQgdmFsdWVzJywK ICAgcHJvbmFtZSA9PiAnc3VtJywgcHJva2luZCA9PiAnYScsIHByb2lzc3RyaWN0ID0+ICdmJywg cHJvcmV0dHlwZSA9PiAnaW50OCcsCiAgIHByb2FyZ3R5cGVzID0+ICdpbnQyJywgcHJvc3JjID0+ ICdhZ2dyZWdhdGVfZHVtbXknIH0sCit7IG9pZCA9PiAnMTM1MDknLCBkZXNjciA9PiAncGFydGlh bCBzdW0gYXMgYmlnaW50IGFjcm9zcyBhbGwgc21hbGxpbnQgaW5wdXQgdmFsdWVzJywKKyAgcHJv bmFtZSA9PiAnc3VtX3BfaW50MicsIHByb2tpbmQgPT4gJ2EnLCBwcm9pc3N0cmljdCA9PiAnZics IHByb3JldHR5cGUgPT4gJ2ludDgnLAorICBwcm9hcmd0eXBlcyA9PiAnaW50MicsIHByb3NyYyA9 PiAnYWdncmVnYXRlX2R1bW15JyB9LAogeyBvaWQgPT4gJzIxMTAnLCBkZXNjciA9PiAnc3VtIGFz IGZsb2F0NCBhY3Jvc3MgYWxsIGZsb2F0NCBpbnB1dCB2YWx1ZXMnLAogICBwcm9uYW1lID0+ICdz dW0nLCBwcm9raW5kID0+ICdhJywgcHJvaXNzdHJpY3QgPT4gJ2YnLCBwcm9yZXR0eXBlID0+ICdm bG9hdDQnLAogICBwcm9hcmd0eXBlcyA9PiAnZmxvYXQ0JywgcHJvc3JjID0+ICdhZ2dyZWdhdGVf ZHVtbXknIH0sCit7IG9pZCA9PiAnMTM1MTAnLCBkZXNjciA9PiAncGFydGlhbCBzdW0gYXMgZmxv YXQ0IGFjcm9zcyBhbGwgZmxvYXQ0IGlucHV0IHZhbHVlcycsCisgIHByb25hbWUgPT4gJ3N1bV9w X2Zsb2F0NCcsIHByb2tpbmQgPT4gJ2EnLCBwcm9pc3N0cmljdCA9PiAnZicsIHByb3JldHR5cGUg PT4gJ2Zsb2F0NCcsCisgIHByb2FyZ3R5cGVzID0+ICdmbG9hdDQnLCBwcm9zcmMgPT4gJ2FnZ3Jl Z2F0ZV9kdW1teScgfSwKIHsgb2lkID0+ICcyMTExJywgZGVzY3IgPT4gJ3N1bSBhcyBmbG9hdDgg YWNyb3NzIGFsbCBmbG9hdDggaW5wdXQgdmFsdWVzJywKICAgcHJvbmFtZSA9PiAnc3VtJywgcHJv a2luZCA9PiAnYScsIHByb2lzc3RyaWN0ID0+ICdmJywgcHJvcmV0dHlwZSA9PiAnZmxvYXQ4JywK ICAgcHJvYXJndHlwZXMgPT4gJ2Zsb2F0OCcsIHByb3NyYyA9PiAnYWdncmVnYXRlX2R1bW15JyB9 LAoreyBvaWQgPT4gJzEzNTExJywgZGVzY3IgPT4gJ3BhcnRpYWwgc3VtIGFzIGZsb2F0OCBhY3Jv c3MgYWxsIGZsb2F0OCBpbnB1dCB2YWx1ZXMnLAorICBwcm9uYW1lID0+ICdzdW1fcF9mbG9hdDgn LCBwcm9raW5kID0+ICdhJywgcHJvaXNzdHJpY3QgPT4gJ2YnLCBwcm9yZXR0eXBlID0+ICdmbG9h dDgnLAorICBwcm9hcmd0eXBlcyA9PiAnZmxvYXQ4JywgcHJvc3JjID0+ICdhZ2dyZWdhdGVfZHVt bXknIH0sCiB7IG9pZCA9PiAnMjExMicsIGRlc2NyID0+ICdzdW0gYXMgbW9uZXkgYWNyb3NzIGFs bCBtb25leSBpbnB1dCB2YWx1ZXMnLAogICBwcm9uYW1lID0+ICdzdW0nLCBwcm9raW5kID0+ICdh JywgcHJvaXNzdHJpY3QgPT4gJ2YnLCBwcm9yZXR0eXBlID0+ICdtb25leScsCiAgIHByb2FyZ3R5 cGVzID0+ICdtb25leScsIHByb3NyYyA9PiAnYWdncmVnYXRlX2R1bW15JyB9LAoreyBvaWQgPT4g JzEzNTEyJywgZGVzY3IgPT4gJ3BhcnRpYWwgc3VtIGFzIG1vbmV5IGFjcm9zcyBhbGwgbW9uZXkg aW5wdXQgdmFsdWVzJywKKyAgcHJvbmFtZSA9PiAnc3VtX3BfbW9uZXknLCBwcm9raW5kID0+ICdh JywgcHJvaXNzdHJpY3QgPT4gJ2YnLCBwcm9yZXR0eXBlID0+ICdtb25leScsCisgIHByb2FyZ3R5 cGVzID0+ICdtb25leScsIHByb3NyYyA9PiAnYWdncmVnYXRlX2R1bW15JyB9LAogeyBvaWQgPT4g JzIxMTMnLCBkZXNjciA9PiAnc3VtIGFzIGludGVydmFsIGFjcm9zcyBhbGwgaW50ZXJ2YWwgaW5w dXQgdmFsdWVzJywKICAgcHJvbmFtZSA9PiAnc3VtJywgcHJva2luZCA9PiAnYScsIHByb2lzc3Ry aWN0ID0+ICdmJywKICAgcHJvcmV0dHlwZSA9PiAnaW50ZXJ2YWwnLCBwcm9hcmd0eXBlcyA9PiAn aW50ZXJ2YWwnLAogICBwcm9zcmMgPT4gJ2FnZ3JlZ2F0ZV9kdW1teScgfSwKK3sgb2lkID0+ICcx MzUxMycsIGRlc2NyID0+ICdwYXJ0aWFsIHN1bSBhcyBpbnRlcnZhbCBhY3Jvc3MgYWxsIGludGVy dmFsIGlucHV0IHZhbHVlcycsCisgIHByb25hbWUgPT4gJ3N1bV9wX2ludGVydmFsJywgcHJva2lu ZCA9PiAnYScsIHByb2lzc3RyaWN0ID0+ICdmJywKKyAgcHJvcmV0dHlwZSA9PiAnaW50ZXJ2YWwn LCBwcm9hcmd0eXBlcyA9PiAnaW50ZXJ2YWwnLAorICBwcm9zcmMgPT4gJ2FnZ3JlZ2F0ZV9kdW1t eScgfSwKIHsgb2lkID0+ICcyMTE0JywgZGVzY3IgPT4gJ3N1bSBhcyBudW1lcmljIGFjcm9zcyBh bGwgbnVtZXJpYyBpbnB1dCB2YWx1ZXMnLAogICBwcm9uYW1lID0+ICdzdW0nLCBwcm9raW5kID0+ ICdhJywgcHJvaXNzdHJpY3QgPT4gJ2YnLCBwcm9yZXR0eXBlID0+ICdudW1lcmljJywKICAgcHJv YXJndHlwZXMgPT4gJ251bWVyaWMnLCBwcm9zcmMgPT4gJ2FnZ3JlZ2F0ZV9kdW1teScgfSwKK3sg b2lkID0+ICcxMzUxNCcsIGRlc2NyID0+ICdwYXJ0aWFsIHN1bSBhcyBudW1lcmljIGFjcm9zcyBh bGwgbnVtZXJpYyBpbnB1dCB2YWx1ZXMnLAorICBwcm9uYW1lID0+ICdzdW1fcF9udW1lcmljJywg cHJva2luZCA9PiAnYScsIHByb2lzc3RyaWN0ID0+ICdmJywgcHJvcmV0dHlwZSA9PiAnYnl0ZWEn LAorICBwcm9hcmd0eXBlcyA9PiAnbnVtZXJpYycsIHByb3NyYyA9PiAnYWdncmVnYXRlX2R1bW15 JyB9LAogCiB7IG9pZCA9PiAnMjExNScsIGRlc2NyID0+ICdtYXhpbXVtIHZhbHVlIG9mIGFsbCBi aWdpbnQgaW5wdXQgdmFsdWVzJywKICAgcHJvbmFtZSA9PiAnbWF4JywgcHJva2luZCA9PiAnYScs IHByb2lzc3RyaWN0ID0+ICdmJywgcHJvcmV0dHlwZSA9PiAnaW50OCcsCiAgIHByb2FyZ3R5cGVz ID0+ICdpbnQ4JywgcHJvc3JjID0+ICdhZ2dyZWdhdGVfZHVtbXknIH0sCit7IG9pZCA9PiAnMTM1 MTUnLCBkZXNjciA9PiAnbWF4aW11bSB2YWx1ZSBvZiBhbGwgYmlnaW50IGlucHV0IHZhbHVlcycs CisgIHByb25hbWUgPT4gJ21heF9wX2ludDgnLCBwcm9raW5kID0+ICdhJywgcHJvaXNzdHJpY3Qg PT4gJ2YnLCBwcm9yZXR0eXBlID0+ICdpbnQ4JywKKyAgcHJvYXJndHlwZXMgPT4gJ2ludDgnLCBw cm9zcmMgPT4gJ2FnZ3JlZ2F0ZV9kdW1teScgfSwKIHsgb2lkID0+ICcyMTE2JywgZGVzY3IgPT4g J21heGltdW0gdmFsdWUgb2YgYWxsIGludGVnZXIgaW5wdXQgdmFsdWVzJywKICAgcHJvbmFtZSA9 PiAnbWF4JywgcHJva2luZCA9PiAnYScsIHByb2lzc3RyaWN0ID0+ICdmJywgcHJvcmV0dHlwZSA9 PiAnaW50NCcsCiAgIHByb2FyZ3R5cGVzID0+ICdpbnQ0JywgcHJvc3JjID0+ICdhZ2dyZWdhdGVf ZHVtbXknIH0sCit7IG9pZCA9PiAnMTM1MTYnLCBkZXNjciA9PiAnbWF4aW11bSB2YWx1ZSBvZiBh bGwgaW50ZWdlciBpbnB1dCB2YWx1ZXMnLAorICBwcm9uYW1lID0+ICdtYXhfcF9pbnQ0JywgcHJv a2luZCA9PiAnYScsIHByb2lzc3RyaWN0ID0+ICdmJywgcHJvcmV0dHlwZSA9PiAnaW50NCcsCisg IHByb2FyZ3R5cGVzID0+ICdpbnQ0JywgcHJvc3JjID0+ICdhZ2dyZWdhdGVfZHVtbXknIH0sCiB7 IG9pZCA9PiAnMjExNycsIGRlc2NyID0+ICdtYXhpbXVtIHZhbHVlIG9mIGFsbCBzbWFsbGludCBp bnB1dCB2YWx1ZXMnLAogICBwcm9uYW1lID0+ICdtYXgnLCBwcm9raW5kID0+ICdhJywgcHJvaXNz dHJpY3QgPT4gJ2YnLCBwcm9yZXR0eXBlID0+ICdpbnQyJywKICAgcHJvYXJndHlwZXMgPT4gJ2lu dDInLCBwcm9zcmMgPT4gJ2FnZ3JlZ2F0ZV9kdW1teScgfSwKK3sgb2lkID0+ICcxMzUxNycsIGRl c2NyID0+ICdtYXhpbXVtIHZhbHVlIG9mIGFsbCBzbWFsbGludCBpbnB1dCB2YWx1ZXMnLAorICBw cm9uYW1lID0+ICdtYXhfcF9pbnQyJywgcHJva2luZCA9PiAnYScsIHByb2lzc3RyaWN0ID0+ICdm JywgcHJvcmV0dHlwZSA9PiAnaW50MicsCisgIHByb2FyZ3R5cGVzID0+ICdpbnQyJywgcHJvc3Jj ID0+ICdhZ2dyZWdhdGVfZHVtbXknIH0sCiB7IG9pZCA9PiAnMjExOCcsIGRlc2NyID0+ICdtYXhp bXVtIHZhbHVlIG9mIGFsbCBvaWQgaW5wdXQgdmFsdWVzJywKICAgcHJvbmFtZSA9PiAnbWF4Jywg cHJva2luZCA9PiAnYScsIHByb2lzc3RyaWN0ID0+ICdmJywgcHJvcmV0dHlwZSA9PiAnb2lkJywK ICAgcHJvYXJndHlwZXMgPT4gJ29pZCcsIHByb3NyYyA9PiAnYWdncmVnYXRlX2R1bW15JyB9LAor eyBvaWQgPT4gJzEzNTE4JywgZGVzY3IgPT4gJ21heGltdW0gdmFsdWUgb2YgYWxsIG9pZCBpbnB1 dCB2YWx1ZXMnLAorICBwcm9uYW1lID0+ICdtYXhfcF9vaWQnLCBwcm9raW5kID0+ICdhJywgcHJv aXNzdHJpY3QgPT4gJ2YnLCBwcm9yZXR0eXBlID0+ICdvaWQnLAorICBwcm9hcmd0eXBlcyA9PiAn b2lkJywgcHJvc3JjID0+ICdhZ2dyZWdhdGVfZHVtbXknIH0sCiB7IG9pZCA9PiAnMjExOScsIGRl c2NyID0+ICdtYXhpbXVtIHZhbHVlIG9mIGFsbCBmbG9hdDQgaW5wdXQgdmFsdWVzJywKICAgcHJv bmFtZSA9PiAnbWF4JywgcHJva2luZCA9PiAnYScsIHByb2lzc3RyaWN0ID0+ICdmJywgcHJvcmV0 dHlwZSA9PiAnZmxvYXQ0JywKICAgcHJvYXJndHlwZXMgPT4gJ2Zsb2F0NCcsIHByb3NyYyA9PiAn YWdncmVnYXRlX2R1bW15JyB9LAoreyBvaWQgPT4gJzEzNTE5JywgZGVzY3IgPT4gJ21heGltdW0g dmFsdWUgb2YgYWxsIGZsb2F0NCBpbnB1dCB2YWx1ZXMnLAorICBwcm9uYW1lID0+ICdtYXhfcF9m bG9hdDQnLCBwcm9raW5kID0+ICdhJywgcHJvaXNzdHJpY3QgPT4gJ2YnLCBwcm9yZXR0eXBlID0+ ICdmbG9hdDQnLAorICBwcm9hcmd0eXBlcyA9PiAnZmxvYXQ0JywgcHJvc3JjID0+ICdhZ2dyZWdh dGVfZHVtbXknIH0sCiB7IG9pZCA9PiAnMjEyMCcsIGRlc2NyID0+ICdtYXhpbXVtIHZhbHVlIG9m IGFsbCBmbG9hdDggaW5wdXQgdmFsdWVzJywKICAgcHJvbmFtZSA9PiAnbWF4JywgcHJva2luZCA9 PiAnYScsIHByb2lzc3RyaWN0ID0+ICdmJywgcHJvcmV0dHlwZSA9PiAnZmxvYXQ4JywKICAgcHJv YXJndHlwZXMgPT4gJ2Zsb2F0OCcsIHByb3NyYyA9PiAnYWdncmVnYXRlX2R1bW15JyB9LAoreyBv aWQgPT4gJzEzNTIwJywgZGVzY3IgPT4gJ21heGltdW0gdmFsdWUgb2YgYWxsIGZsb2F0OCBpbnB1 dCB2YWx1ZXMnLAorICBwcm9uYW1lID0+ICdtYXhfcF9mbG9hOCcsIHByb2tpbmQgPT4gJ2EnLCBw cm9pc3N0cmljdCA9PiAnZicsIHByb3JldHR5cGUgPT4gJ2Zsb2F0OCcsCisgIHByb2FyZ3R5cGVz ID0+ICdmbG9hdDgnLCBwcm9zcmMgPT4gJ2FnZ3JlZ2F0ZV9kdW1teScgfSwKIHsgb2lkID0+ICcy MTIyJywgZGVzY3IgPT4gJ21heGltdW0gdmFsdWUgb2YgYWxsIGRhdGUgaW5wdXQgdmFsdWVzJywK ICAgcHJvbmFtZSA9PiAnbWF4JywgcHJva2luZCA9PiAnYScsIHByb2lzc3RyaWN0ID0+ICdmJywg cHJvcmV0dHlwZSA9PiAnZGF0ZScsCiAgIHByb2FyZ3R5cGVzID0+ICdkYXRlJywgcHJvc3JjID0+ ICdhZ2dyZWdhdGVfZHVtbXknIH0sCit7IG9pZCA9PiAnMTM1MjEnLCBkZXNjciA9PiAnbWF4aW11 bSB2YWx1ZSBvZiBhbGwgZGF0ZSBpbnB1dCB2YWx1ZXMnLAorICBwcm9uYW1lID0+ICdtYXhfcF9k YXRlJywgcHJva2luZCA9PiAnYScsIHByb2lzc3RyaWN0ID0+ICdmJywgcHJvcmV0dHlwZSA9PiAn ZGF0ZScsCisgIHByb2FyZ3R5cGVzID0+ICdkYXRlJywgcHJvc3JjID0+ICdhZ2dyZWdhdGVfZHVt bXknIH0sCiB7IG9pZCA9PiAnMjEyMycsIGRlc2NyID0+ICdtYXhpbXVtIHZhbHVlIG9mIGFsbCB0 aW1lIGlucHV0IHZhbHVlcycsCiAgIHByb25hbWUgPT4gJ21heCcsIHByb2tpbmQgPT4gJ2EnLCBw cm9pc3N0cmljdCA9PiAnZicsIHByb3JldHR5cGUgPT4gJ3RpbWUnLAogICBwcm9hcmd0eXBlcyA9 PiAndGltZScsIHByb3NyYyA9PiAnYWdncmVnYXRlX2R1bW15JyB9LAoreyBvaWQgPT4gJzEzNTIy JywgZGVzY3IgPT4gJ21heGltdW0gdmFsdWUgb2YgYWxsIHRpbWUgaW5wdXQgdmFsdWVzJywKKyAg cHJvbmFtZSA9PiAnbWF4X3BfdGltZScsIHByb2tpbmQgPT4gJ2EnLCBwcm9pc3N0cmljdCA9PiAn ZicsIHByb3JldHR5cGUgPT4gJ3RpbWUnLAorICBwcm9hcmd0eXBlcyA9PiAndGltZScsIHByb3Ny YyA9PiAnYWdncmVnYXRlX2R1bW15JyB9LAogeyBvaWQgPT4gJzIxMjQnLAogICBkZXNjciA9PiAn bWF4aW11bSB2YWx1ZSBvZiBhbGwgdGltZSB3aXRoIHRpbWUgem9uZSBpbnB1dCB2YWx1ZXMnLAog ICBwcm9uYW1lID0+ICdtYXgnLCBwcm9raW5kID0+ICdhJywgcHJvaXNzdHJpY3QgPT4gJ2YnLCBw cm9yZXR0eXBlID0+ICd0aW1ldHonLAogICBwcm9hcmd0eXBlcyA9PiAndGltZXR6JywgcHJvc3Jj ID0+ICdhZ2dyZWdhdGVfZHVtbXknIH0sCit7IG9pZCA9PiAnMTM1MjMnLAorICBkZXNjciA9PiAn bWF4aW11bSB2YWx1ZSBvZiBhbGwgdGltZSB3aXRoIHRpbWUgem9uZSBpbnB1dCB2YWx1ZXMnLAor ICBwcm9uYW1lID0+ICdtYXhfcF90aW1ldHonLCBwcm9raW5kID0+ICdhJywgcHJvaXNzdHJpY3Qg PT4gJ2YnLCBwcm9yZXR0eXBlID0+ICd0aW1ldHonLAorICBwcm9hcmd0eXBlcyA9PiAndGltZXR6 JywgcHJvc3JjID0+ICdhZ2dyZWdhdGVfZHVtbXknIH0sCiB7IG9pZCA9PiAnMjEyNScsIGRlc2Ny ID0+ICdtYXhpbXVtIHZhbHVlIG9mIGFsbCBtb25leSBpbnB1dCB2YWx1ZXMnLAogICBwcm9uYW1l ID0+ICdtYXgnLCBwcm9raW5kID0+ICdhJywgcHJvaXNzdHJpY3QgPT4gJ2YnLCBwcm9yZXR0eXBl ID0+ICdtb25leScsCiAgIHByb2FyZ3R5cGVzID0+ICdtb25leScsIHByb3NyYyA9PiAnYWdncmVn YXRlX2R1bW15JyB9LAoreyBvaWQgPT4gJzEzNTI0JywgZGVzY3IgPT4gJ21heGltdW0gdmFsdWUg b2YgYWxsIG1vbmV5IGlucHV0IHZhbHVlcycsCisgIHByb25hbWUgPT4gJ21heF9wX21vbmV5Jywg cHJva2luZCA9PiAnYScsIHByb2lzc3RyaWN0ID0+ICdmJywgcHJvcmV0dHlwZSA9PiAnbW9uZXkn LAorICBwcm9hcmd0eXBlcyA9PiAnbW9uZXknLCBwcm9zcmMgPT4gJ2FnZ3JlZ2F0ZV9kdW1teScg fSwKIHsgb2lkID0+ICcyMTI2JywgZGVzY3IgPT4gJ21heGltdW0gdmFsdWUgb2YgYWxsIHRpbWVz dGFtcCBpbnB1dCB2YWx1ZXMnLAogICBwcm9uYW1lID0+ICdtYXgnLCBwcm9raW5kID0+ICdhJywg cHJvaXNzdHJpY3QgPT4gJ2YnLAogICBwcm9yZXR0eXBlID0+ICd0aW1lc3RhbXAnLCBwcm9hcmd0 eXBlcyA9PiAndGltZXN0YW1wJywKICAgcHJvc3JjID0+ICdhZ2dyZWdhdGVfZHVtbXknIH0sCit7 IG9pZCA9PiAnMTM1MjUnLCBkZXNjciA9PiAnbWF4aW11bSB2YWx1ZSBvZiBhbGwgdGltZXN0YW1w IGlucHV0IHZhbHVlcycsCisgIHByb25hbWUgPT4gJ21heF9wX3RpbWVzdGFtcCcsIHByb2tpbmQg PT4gJ2EnLCBwcm9pc3N0cmljdCA9PiAnZicsCisgIHByb3JldHR5cGUgPT4gJ3RpbWVzdGFtcCcs IHByb2FyZ3R5cGVzID0+ICd0aW1lc3RhbXAnLAorICBwcm9zcmMgPT4gJ2FnZ3JlZ2F0ZV9kdW1t eScgfSwKIHsgb2lkID0+ICcyMTI3JywKICAgZGVzY3IgPT4gJ21heGltdW0gdmFsdWUgb2YgYWxs IHRpbWVzdGFtcCB3aXRoIHRpbWUgem9uZSBpbnB1dCB2YWx1ZXMnLAogICBwcm9uYW1lID0+ICdt YXgnLCBwcm9raW5kID0+ICdhJywgcHJvaXNzdHJpY3QgPT4gJ2YnLAogICBwcm9yZXR0eXBlID0+ ICd0aW1lc3RhbXB0eicsIHByb2FyZ3R5cGVzID0+ICd0aW1lc3RhbXB0eicsCiAgIHByb3NyYyA9 PiAnYWdncmVnYXRlX2R1bW15JyB9LAoreyBvaWQgPT4gJzEzNTI2JywKKyAgZGVzY3IgPT4gJ21h eGltdW0gdmFsdWUgb2YgYWxsIHRpbWVzdGFtcCB3aXRoIHRpbWUgem9uZSBpbnB1dCB2YWx1ZXMn LAorICBwcm9uYW1lID0+ICdtYXhfcF90aW1lc3RhbXB0eicsIHByb2tpbmQgPT4gJ2EnLCBwcm9p c3N0cmljdCA9PiAnZicsCisgIHByb3JldHR5cGUgPT4gJ3RpbWVzdGFtcHR6JywgcHJvYXJndHlw ZXMgPT4gJ3RpbWVzdGFtcHR6JywKKyAgcHJvc3JjID0+ICdhZ2dyZWdhdGVfZHVtbXknIH0sCiB7 IG9pZCA9PiAnMjEyOCcsIGRlc2NyID0+ICdtYXhpbXVtIHZhbHVlIG9mIGFsbCBpbnRlcnZhbCBp bnB1dCB2YWx1ZXMnLAogICBwcm9uYW1lID0+ICdtYXgnLCBwcm9raW5kID0+ICdhJywgcHJvaXNz dHJpY3QgPT4gJ2YnLAogICBwcm9yZXR0eXBlID0+ICdpbnRlcnZhbCcsIHByb2FyZ3R5cGVzID0+ ICdpbnRlcnZhbCcsCiAgIHByb3NyYyA9PiAnYWdncmVnYXRlX2R1bW15JyB9LAoreyBvaWQgPT4g JzEzNTI3JywgZGVzY3IgPT4gJ21heGltdW0gdmFsdWUgb2YgYWxsIGludGVydmFsIGlucHV0IHZh bHVlcycsCisgIHByb25hbWUgPT4gJ21heF9wX2ludGVydmFsJywgcHJva2luZCA9PiAnYScsIHBy b2lzc3RyaWN0ID0+ICdmJywKKyAgcHJvcmV0dHlwZSA9PiAnaW50ZXJ2YWwnLCBwcm9hcmd0eXBl cyA9PiAnaW50ZXJ2YWwnLAorICBwcm9zcmMgPT4gJ2FnZ3JlZ2F0ZV9kdW1teScgfSwKIHsgb2lk ID0+ICcyMTI5JywgZGVzY3IgPT4gJ21heGltdW0gdmFsdWUgb2YgYWxsIHRleHQgaW5wdXQgdmFs dWVzJywKICAgcHJvbmFtZSA9PiAnbWF4JywgcHJva2luZCA9PiAnYScsIHByb2lzc3RyaWN0ID0+ ICdmJywgcHJvcmV0dHlwZSA9PiAndGV4dCcsCiAgIHByb2FyZ3R5cGVzID0+ICd0ZXh0JywgcHJv c3JjID0+ICdhZ2dyZWdhdGVfZHVtbXknIH0sCit7IG9pZCA9PiAnMTM1MjgnLCBkZXNjciA9PiAn bWF4aW11bSB2YWx1ZSBvZiBhbGwgdGV4dCBpbnB1dCB2YWx1ZXMnLAorICBwcm9uYW1lID0+ICdt YXhfcF90ZXh0JywgcHJva2luZCA9PiAnYScsIHByb2lzc3RyaWN0ID0+ICdmJywgcHJvcmV0dHlw ZSA9PiAndGV4dCcsCisgIHByb2FyZ3R5cGVzID0+ICd0ZXh0JywgcHJvc3JjID0+ICdhZ2dyZWdh dGVfZHVtbXknIH0sCiB7IG9pZCA9PiAnMjEzMCcsIGRlc2NyID0+ICdtYXhpbXVtIHZhbHVlIG9m IGFsbCBudW1lcmljIGlucHV0IHZhbHVlcycsCiAgIHByb25hbWUgPT4gJ21heCcsIHByb2tpbmQg PT4gJ2EnLCBwcm9pc3N0cmljdCA9PiAnZicsIHByb3JldHR5cGUgPT4gJ251bWVyaWMnLAogICBw cm9hcmd0eXBlcyA9PiAnbnVtZXJpYycsIHByb3NyYyA9PiAnYWdncmVnYXRlX2R1bW15JyB9LAor eyBvaWQgPT4gJzEzNTI5JywgZGVzY3IgPT4gJ21heGltdW0gdmFsdWUgb2YgYWxsIG51bWVyaWMg aW5wdXQgdmFsdWVzJywKKyAgcHJvbmFtZSA9PiAnbWF4X3BfbnVtZXJpYycsIHByb2tpbmQgPT4g J2EnLCBwcm9pc3N0cmljdCA9PiAnZicsIHByb3JldHR5cGUgPT4gJ251bWVyaWMnLAorICBwcm9h cmd0eXBlcyA9PiAnbnVtZXJpYycsIHByb3NyYyA9PiAnYWdncmVnYXRlX2R1bW15JyB9LAogeyBv aWQgPT4gJzIwNTAnLCBkZXNjciA9PiAnbWF4aW11bSB2YWx1ZSBvZiBhbGwgYW55YXJyYXkgaW5w dXQgdmFsdWVzJywKICAgcHJvbmFtZSA9PiAnbWF4JywgcHJva2luZCA9PiAnYScsIHByb2lzc3Ry aWN0ID0+ICdmJywKICAgcHJvcmV0dHlwZSA9PiAnYW55YXJyYXknLCBwcm9hcmd0eXBlcyA9PiAn YW55YXJyYXknLAogICBwcm9zcmMgPT4gJ2FnZ3JlZ2F0ZV9kdW1teScgfSwKK3sgb2lkID0+ICcx MzUzMCcsIGRlc2NyID0+ICdtYXhpbXVtIHZhbHVlIG9mIGFsbCBhbnlhcnJheSBpbnB1dCB2YWx1 ZXMnLAorICBwcm9uYW1lID0+ICdtYXhfcF9hbnlhcnJheScsIHByb2tpbmQgPT4gJ2EnLCBwcm9p c3N0cmljdCA9PiAnZicsCisgIHByb3JldHR5cGUgPT4gJ2FueWFycmF5JywgcHJvYXJndHlwZXMg PT4gJ2FueWFycmF5JywKKyAgcHJvc3JjID0+ICdhZ2dyZWdhdGVfZHVtbXknIH0sCiB7IG9pZCA9 PiAnMjI0NCcsIGRlc2NyID0+ICdtYXhpbXVtIHZhbHVlIG9mIGFsbCBicGNoYXIgaW5wdXQgdmFs dWVzJywKICAgcHJvbmFtZSA9PiAnbWF4JywgcHJva2luZCA9PiAnYScsIHByb2lzc3RyaWN0ID0+ ICdmJywgcHJvcmV0dHlwZSA9PiAnYnBjaGFyJywKICAgcHJvYXJndHlwZXMgPT4gJ2JwY2hhcics IHByb3NyYyA9PiAnYWdncmVnYXRlX2R1bW15JyB9LAoreyBvaWQgPT4gJzEzNTMxJywgZGVzY3Ig PT4gJ21heGltdW0gdmFsdWUgb2YgYWxsIGJwY2hhciBpbnB1dCB2YWx1ZXMnLAorICBwcm9uYW1l ID0+ICdtYXhfcF9icGNoYXInLCBwcm9raW5kID0+ICdhJywgcHJvaXNzdHJpY3QgPT4gJ2YnLCBw cm9yZXR0eXBlID0+ICdicGNoYXInLAorICBwcm9hcmd0eXBlcyA9PiAnYnBjaGFyJywgcHJvc3Jj ID0+ICdhZ2dyZWdhdGVfZHVtbXknIH0sCiB7IG9pZCA9PiAnMjc5NycsIGRlc2NyID0+ICdtYXhp bXVtIHZhbHVlIG9mIGFsbCB0aWQgaW5wdXQgdmFsdWVzJywKICAgcHJvbmFtZSA9PiAnbWF4Jywg cHJva2luZCA9PiAnYScsIHByb2lzc3RyaWN0ID0+ICdmJywgcHJvcmV0dHlwZSA9PiAndGlkJywK ICAgcHJvYXJndHlwZXMgPT4gJ3RpZCcsIHByb3NyYyA9PiAnYWdncmVnYXRlX2R1bW15JyB9LAor eyBvaWQgPT4gJzEzNTMyJywgZGVzY3IgPT4gJ21heGltdW0gdmFsdWUgb2YgYWxsIHRpZCBpbnB1 dCB2YWx1ZXMnLAorICBwcm9uYW1lID0+ICdtYXhfcF90aWQnLCBwcm9raW5kID0+ICdhJywgcHJv aXNzdHJpY3QgPT4gJ2YnLCBwcm9yZXR0eXBlID0+ICd0aWQnLAorICBwcm9hcmd0eXBlcyA9PiAn dGlkJywgcHJvc3JjID0+ICdhZ2dyZWdhdGVfZHVtbXknIH0sCiB7IG9pZCA9PiAnMzU2NCcsIGRl c2NyID0+ICdtYXhpbXVtIHZhbHVlIG9mIGFsbCBpbmV0IGlucHV0IHZhbHVlcycsCiAgIHByb25h bWUgPT4gJ21heCcsIHByb2tpbmQgPT4gJ2EnLCBwcm9pc3N0cmljdCA9PiAnZicsIHByb3JldHR5 cGUgPT4gJ2luZXQnLAogICBwcm9hcmd0eXBlcyA9PiAnaW5ldCcsIHByb3NyYyA9PiAnYWdncmVn YXRlX2R1bW15JyB9LAoreyBvaWQgPT4gJzEzNTMzJywgZGVzY3IgPT4gJ21heGltdW0gdmFsdWUg b2YgYWxsIGluZXQgaW5wdXQgdmFsdWVzJywKKyAgcHJvbmFtZSA9PiAnbWF4X3BfaW5ldCcsIHBy b2tpbmQgPT4gJ2EnLCBwcm9pc3N0cmljdCA9PiAnZicsIHByb3JldHR5cGUgPT4gJ2luZXQnLAor ICBwcm9hcmd0eXBlcyA9PiAnaW5ldCcsIHByb3NyYyA9PiAnYWdncmVnYXRlX2R1bW15JyB9LAog eyBvaWQgPT4gJzQxODknLCBkZXNjciA9PiAnbWF4aW11bSB2YWx1ZSBvZiBhbGwgcGdfbHNuIGlu cHV0IHZhbHVlcycsCiAgIHByb25hbWUgPT4gJ21heCcsIHByb2tpbmQgPT4gJ2EnLCBwcm9pc3N0 cmljdCA9PiAnZicsIHByb3JldHR5cGUgPT4gJ3BnX2xzbicsCiAgIHByb2FyZ3R5cGVzID0+ICdw Z19sc24nLCBwcm9zcmMgPT4gJ2FnZ3JlZ2F0ZV9kdW1teScgfSwKK3sgb2lkID0+ICcxMzUzNCcs IGRlc2NyID0+ICdtYXhpbXVtIHZhbHVlIG9mIGFsbCBwZ19sc24gaW5wdXQgdmFsdWVzJywKKyAg cHJvbmFtZSA9PiAnbWF4X3BfcGdfbHNuJywgcHJva2luZCA9PiAnYScsIHByb2lzc3RyaWN0ID0+ ICdmJywgcHJvcmV0dHlwZSA9PiAncGdfbHNuJywKKyAgcHJvYXJndHlwZXMgPT4gJ3BnX2xzbics IHByb3NyYyA9PiAnYWdncmVnYXRlX2R1bW15JyB9LAogeyBvaWQgPT4gJzUwOTknLCBkZXNjciA9 PiAnbWF4aW11bSB2YWx1ZSBvZiBhbGwgeGlkOCBpbnB1dCB2YWx1ZXMnLAogICBwcm9uYW1lID0+ ICdtYXgnLCBwcm9raW5kID0+ICdhJywgcHJvaXNzdHJpY3QgPT4gJ2YnLCBwcm9yZXR0eXBlID0+ ICd4aWQ4JywKICAgcHJvYXJndHlwZXMgPT4gJ3hpZDgnLCBwcm9zcmMgPT4gJ2FnZ3JlZ2F0ZV9k dW1teScgfSwKK3sgb2lkID0+ICcxMzUzNScsIGRlc2NyID0+ICdtYXhpbXVtIHZhbHVlIG9mIGFs bCB4aWQ4IGlucHV0IHZhbHVlcycsCisgIHByb25hbWUgPT4gJ21heF9wX3hpZDgnLCBwcm9raW5k ID0+ICdhJywgcHJvaXNzdHJpY3QgPT4gJ2YnLCBwcm9yZXR0eXBlID0+ICd4aWQ4JywKKyAgcHJv YXJndHlwZXMgPT4gJ3hpZDgnLCBwcm9zcmMgPT4gJ2FnZ3JlZ2F0ZV9kdW1teScgfSwKIAogeyBv aWQgPT4gJzIxMzEnLCBkZXNjciA9PiAnbWluaW11bSB2YWx1ZSBvZiBhbGwgYmlnaW50IGlucHV0 IHZhbHVlcycsCiAgIHByb25hbWUgPT4gJ21pbicsIHByb2tpbmQgPT4gJ2EnLCBwcm9pc3N0cmlj dCA9PiAnZicsIHByb3JldHR5cGUgPT4gJ2ludDgnLAogICBwcm9hcmd0eXBlcyA9PiAnaW50OCcs IHByb3NyYyA9PiAnYWdncmVnYXRlX2R1bW15JyB9LAoreyBvaWQgPT4gJzEzNTM2JywgZGVzY3Ig PT4gJ21pbmltdW0gdmFsdWUgb2YgYWxsIGJpZ2ludCBpbnB1dCB2YWx1ZXMnLAorICBwcm9uYW1l ID0+ICdtaW5fcF9pbnQ4JywgcHJva2luZCA9PiAnYScsIHByb2lzc3RyaWN0ID0+ICdmJywgcHJv cmV0dHlwZSA9PiAnaW50OCcsCisgIHByb2FyZ3R5cGVzID0+ICdpbnQ4JywgcHJvc3JjID0+ICdh Z2dyZWdhdGVfZHVtbXknIH0sCiB7IG9pZCA9PiAnMjEzMicsIGRlc2NyID0+ICdtaW5pbXVtIHZh bHVlIG9mIGFsbCBpbnRlZ2VyIGlucHV0IHZhbHVlcycsCiAgIHByb25hbWUgPT4gJ21pbicsIHBy b2tpbmQgPT4gJ2EnLCBwcm9pc3N0cmljdCA9PiAnZicsIHByb3JldHR5cGUgPT4gJ2ludDQnLAog ICBwcm9hcmd0eXBlcyA9PiAnaW50NCcsIHByb3NyYyA9PiAnYWdncmVnYXRlX2R1bW15JyB9LAor eyBvaWQgPT4gJzEzNTM3JywgZGVzY3IgPT4gJ21pbmltdW0gdmFsdWUgb2YgYWxsIGludGVnZXIg aW5wdXQgdmFsdWVzJywKKyAgcHJvbmFtZSA9PiAnbWluX3BfaW50NCcsIHByb2tpbmQgPT4gJ2En LCBwcm9pc3N0cmljdCA9PiAnZicsIHByb3JldHR5cGUgPT4gJ2ludDQnLAorICBwcm9hcmd0eXBl cyA9PiAnaW50NCcsIHByb3NyYyA9PiAnYWdncmVnYXRlX2R1bW15JyB9LAogeyBvaWQgPT4gJzIx MzMnLCBkZXNjciA9PiAnbWluaW11bSB2YWx1ZSBvZiBhbGwgc21hbGxpbnQgaW5wdXQgdmFsdWVz JywKICAgcHJvbmFtZSA9PiAnbWluJywgcHJva2luZCA9PiAnYScsIHByb2lzc3RyaWN0ID0+ICdm JywgcHJvcmV0dHlwZSA9PiAnaW50MicsCiAgIHByb2FyZ3R5cGVzID0+ICdpbnQyJywgcHJvc3Jj ID0+ICdhZ2dyZWdhdGVfZHVtbXknIH0sCit7IG9pZCA9PiAnMTM1MzgnLCBkZXNjciA9PiAnbWlu aW11bSB2YWx1ZSBvZiBhbGwgc21hbGxpbnQgaW5wdXQgdmFsdWVzJywKKyAgcHJvbmFtZSA9PiAn bWluX3BfaW50MicsIHByb2tpbmQgPT4gJ2EnLCBwcm9pc3N0cmljdCA9PiAnZicsIHByb3JldHR5 cGUgPT4gJ2ludDInLAorICBwcm9hcmd0eXBlcyA9PiAnaW50MicsIHByb3NyYyA9PiAnYWdncmVn YXRlX2R1bW15JyB9LAogeyBvaWQgPT4gJzIxMzQnLCBkZXNjciA9PiAnbWluaW11bSB2YWx1ZSBv ZiBhbGwgb2lkIGlucHV0IHZhbHVlcycsCiAgIHByb25hbWUgPT4gJ21pbicsIHByb2tpbmQgPT4g J2EnLCBwcm9pc3N0cmljdCA9PiAnZicsIHByb3JldHR5cGUgPT4gJ29pZCcsCiAgIHByb2FyZ3R5 cGVzID0+ICdvaWQnLCBwcm9zcmMgPT4gJ2FnZ3JlZ2F0ZV9kdW1teScgfSwKK3sgb2lkID0+ICcx MzUzOScsIGRlc2NyID0+ICdtaW5pbXVtIHZhbHVlIG9mIGFsbCBvaWQgaW5wdXQgdmFsdWVzJywK KyAgcHJvbmFtZSA9PiAnbWluX3Bfb2lkJywgcHJva2luZCA9PiAnYScsIHByb2lzc3RyaWN0ID0+ ICdmJywgcHJvcmV0dHlwZSA9PiAnb2lkJywKKyAgcHJvYXJndHlwZXMgPT4gJ29pZCcsIHByb3Ny YyA9PiAnYWdncmVnYXRlX2R1bW15JyB9LAogeyBvaWQgPT4gJzIxMzUnLCBkZXNjciA9PiAnbWlu aW11bSB2YWx1ZSBvZiBhbGwgZmxvYXQ0IGlucHV0IHZhbHVlcycsCiAgIHByb25hbWUgPT4gJ21p bicsIHByb2tpbmQgPT4gJ2EnLCBwcm9pc3N0cmljdCA9PiAnZicsIHByb3JldHR5cGUgPT4gJ2Zs b2F0NCcsCiAgIHByb2FyZ3R5cGVzID0+ICdmbG9hdDQnLCBwcm9zcmMgPT4gJ2FnZ3JlZ2F0ZV9k dW1teScgfSwKK3sgb2lkID0+ICcxMzU0MCcsIGRlc2NyID0+ICdtaW5pbXVtIHZhbHVlIG9mIGFs bCBmbG9hdDQgaW5wdXQgdmFsdWVzJywKKyAgcHJvbmFtZSA9PiAnbWluX3BfZmxvYXQ0JywgcHJv a2luZCA9PiAnYScsIHByb2lzc3RyaWN0ID0+ICdmJywgcHJvcmV0dHlwZSA9PiAnZmxvYXQ0JywK KyAgcHJvYXJndHlwZXMgPT4gJ2Zsb2F0NCcsIHByb3NyYyA9PiAnYWdncmVnYXRlX2R1bW15JyB9 LAogeyBvaWQgPT4gJzIxMzYnLCBkZXNjciA9PiAnbWluaW11bSB2YWx1ZSBvZiBhbGwgZmxvYXQ4 IGlucHV0IHZhbHVlcycsCiAgIHByb25hbWUgPT4gJ21pbicsIHByb2tpbmQgPT4gJ2EnLCBwcm9p c3N0cmljdCA9PiAnZicsIHByb3JldHR5cGUgPT4gJ2Zsb2F0OCcsCiAgIHByb2FyZ3R5cGVzID0+ ICdmbG9hdDgnLCBwcm9zcmMgPT4gJ2FnZ3JlZ2F0ZV9kdW1teScgfSwKK3sgb2lkID0+ICcxMzU0 MScsIGRlc2NyID0+ICdtaW5pbXVtIHZhbHVlIG9mIGFsbCBmbG9hdDggaW5wdXQgdmFsdWVzJywK KyAgcHJvbmFtZSA9PiAnbWluX3BfZmxvYXQ4JywgcHJva2luZCA9PiAnYScsIHByb2lzc3RyaWN0 ID0+ICdmJywgcHJvcmV0dHlwZSA9PiAnZmxvYXQ4JywKKyAgcHJvYXJndHlwZXMgPT4gJ2Zsb2F0 OCcsIHByb3NyYyA9PiAnYWdncmVnYXRlX2R1bW15JyB9LAogeyBvaWQgPT4gJzIxMzgnLCBkZXNj ciA9PiAnbWluaW11bSB2YWx1ZSBvZiBhbGwgZGF0ZSBpbnB1dCB2YWx1ZXMnLAogICBwcm9uYW1l ID0+ICdtaW4nLCBwcm9raW5kID0+ICdhJywgcHJvaXNzdHJpY3QgPT4gJ2YnLCBwcm9yZXR0eXBl ID0+ICdkYXRlJywKICAgcHJvYXJndHlwZXMgPT4gJ2RhdGUnLCBwcm9zcmMgPT4gJ2FnZ3JlZ2F0 ZV9kdW1teScgfSwKK3sgb2lkID0+ICcxMzU0MicsIGRlc2NyID0+ICdtaW5pbXVtIHZhbHVlIG9m IGFsbCBkYXRlIGlucHV0IHZhbHVlcycsCisgIHByb25hbWUgPT4gJ21pbl9wX2RhdGUnLCBwcm9r aW5kID0+ICdhJywgcHJvaXNzdHJpY3QgPT4gJ2YnLCBwcm9yZXR0eXBlID0+ICdkYXRlJywKKyAg cHJvYXJndHlwZXMgPT4gJ2RhdGUnLCBwcm9zcmMgPT4gJ2FnZ3JlZ2F0ZV9kdW1teScgfSwKIHsg b2lkID0+ICcyMTM5JywgZGVzY3IgPT4gJ21pbmltdW0gdmFsdWUgb2YgYWxsIHRpbWUgaW5wdXQg dmFsdWVzJywKICAgcHJvbmFtZSA9PiAnbWluJywgcHJva2luZCA9PiAnYScsIHByb2lzc3RyaWN0 ID0+ICdmJywgcHJvcmV0dHlwZSA9PiAndGltZScsCiAgIHByb2FyZ3R5cGVzID0+ICd0aW1lJywg cHJvc3JjID0+ICdhZ2dyZWdhdGVfZHVtbXknIH0sCit7IG9pZCA9PiAnMTM1NDMnLCBkZXNjciA9 PiAnbWluaW11bSB2YWx1ZSBvZiBhbGwgdGltZSBpbnB1dCB2YWx1ZXMnLAorICBwcm9uYW1lID0+ ICdtaW5fcF90aW1lJywgcHJva2luZCA9PiAnYScsIHByb2lzc3RyaWN0ID0+ICdmJywgcHJvcmV0 dHlwZSA9PiAndGltZScsCisgIHByb2FyZ3R5cGVzID0+ICd0aW1lJywgcHJvc3JjID0+ICdhZ2dy ZWdhdGVfZHVtbXknIH0sCiB7IG9pZCA9PiAnMjE0MCcsCiAgIGRlc2NyID0+ICdtaW5pbXVtIHZh bHVlIG9mIGFsbCB0aW1lIHdpdGggdGltZSB6b25lIGlucHV0IHZhbHVlcycsCiAgIHByb25hbWUg PT4gJ21pbicsIHByb2tpbmQgPT4gJ2EnLCBwcm9pc3N0cmljdCA9PiAnZicsIHByb3JldHR5cGUg PT4gJ3RpbWV0eicsCiAgIHByb2FyZ3R5cGVzID0+ICd0aW1ldHonLCBwcm9zcmMgPT4gJ2FnZ3Jl Z2F0ZV9kdW1teScgfSwKK3sgb2lkID0+ICcxMzU0NCcsCisgIGRlc2NyID0+ICdtaW5pbXVtIHZh bHVlIG9mIGFsbCB0aW1lIHdpdGggdGltZSB6b25lIGlucHV0IHZhbHVlcycsCisgIHByb25hbWUg PT4gJ21pbl9wX3RpbWV0eicsIHByb2tpbmQgPT4gJ2EnLCBwcm9pc3N0cmljdCA9PiAnZicsIHBy b3JldHR5cGUgPT4gJ3RpbWV0eicsCisgIHByb2FyZ3R5cGVzID0+ICd0aW1ldHonLCBwcm9zcmMg PT4gJ2FnZ3JlZ2F0ZV9kdW1teScgfSwKIHsgb2lkID0+ICcyMTQxJywgZGVzY3IgPT4gJ21pbmlt dW0gdmFsdWUgb2YgYWxsIG1vbmV5IGlucHV0IHZhbHVlcycsCiAgIHByb25hbWUgPT4gJ21pbics IHByb2tpbmQgPT4gJ2EnLCBwcm9pc3N0cmljdCA9PiAnZicsIHByb3JldHR5cGUgPT4gJ21vbmV5 JywKICAgcHJvYXJndHlwZXMgPT4gJ21vbmV5JywgcHJvc3JjID0+ICdhZ2dyZWdhdGVfZHVtbXkn IH0sCit7IG9pZCA9PiAnMTM1NDUnLCBkZXNjciA9PiAnbWluaW11bSB2YWx1ZSBvZiBhbGwgbW9u ZXkgaW5wdXQgdmFsdWVzJywKKyAgcHJvbmFtZSA9PiAnbWluX3BfbW9uZXknLCBwcm9raW5kID0+ ICdhJywgcHJvaXNzdHJpY3QgPT4gJ2YnLCBwcm9yZXR0eXBlID0+ICdtb25leScsCisgIHByb2Fy Z3R5cGVzID0+ICdtb25leScsIHByb3NyYyA9PiAnYWdncmVnYXRlX2R1bW15JyB9LAogeyBvaWQg PT4gJzIxNDInLCBkZXNjciA9PiAnbWluaW11bSB2YWx1ZSBvZiBhbGwgdGltZXN0YW1wIGlucHV0 IHZhbHVlcycsCiAgIHByb25hbWUgPT4gJ21pbicsIHByb2tpbmQgPT4gJ2EnLCBwcm9pc3N0cmlj dCA9PiAnZicsCiAgIHByb3JldHR5cGUgPT4gJ3RpbWVzdGFtcCcsIHByb2FyZ3R5cGVzID0+ICd0 aW1lc3RhbXAnLAogICBwcm9zcmMgPT4gJ2FnZ3JlZ2F0ZV9kdW1teScgfSwKK3sgb2lkID0+ICcx MzU0NicsIGRlc2NyID0+ICdtaW5pbXVtIHZhbHVlIG9mIGFsbCB0aW1lc3RhbXAgaW5wdXQgdmFs dWVzJywKKyAgcHJvbmFtZSA9PiAnbWluX3BfdGltZXN0YW1wJywgcHJva2luZCA9PiAnYScsIHBy b2lzc3RyaWN0ID0+ICdmJywKKyAgcHJvcmV0dHlwZSA9PiAndGltZXN0YW1wJywgcHJvYXJndHlw ZXMgPT4gJ3RpbWVzdGFtcCcsCisgIHByb3NyYyA9PiAnYWdncmVnYXRlX2R1bW15JyB9LAogeyBv aWQgPT4gJzIxNDMnLAogICBkZXNjciA9PiAnbWluaW11bSB2YWx1ZSBvZiBhbGwgdGltZXN0YW1w IHdpdGggdGltZSB6b25lIGlucHV0IHZhbHVlcycsCiAgIHByb25hbWUgPT4gJ21pbicsIHByb2tp bmQgPT4gJ2EnLCBwcm9pc3N0cmljdCA9PiAnZicsCiAgIHByb3JldHR5cGUgPT4gJ3RpbWVzdGFt cHR6JywgcHJvYXJndHlwZXMgPT4gJ3RpbWVzdGFtcHR6JywKICAgcHJvc3JjID0+ICdhZ2dyZWdh dGVfZHVtbXknIH0sCit7IG9pZCA9PiAnMTM1NDcnLAorICBkZXNjciA9PiAnbWluaW11bSB2YWx1 ZSBvZiBhbGwgdGltZXN0YW1wIHdpdGggdGltZSB6b25lIGlucHV0IHZhbHVlcycsCisgIHByb25h bWUgPT4gJ21pbl9wX3RpbWVzdGFtcHR6JywgcHJva2luZCA9PiAnYScsIHByb2lzc3RyaWN0ID0+ ICdmJywKKyAgcHJvcmV0dHlwZSA9PiAndGltZXN0YW1wdHonLCBwcm9hcmd0eXBlcyA9PiAndGlt ZXN0YW1wdHonLAorICBwcm9zcmMgPT4gJ2FnZ3JlZ2F0ZV9kdW1teScgfSwKIHsgb2lkID0+ICcy MTQ0JywgZGVzY3IgPT4gJ21pbmltdW0gdmFsdWUgb2YgYWxsIGludGVydmFsIGlucHV0IHZhbHVl cycsCiAgIHByb25hbWUgPT4gJ21pbicsIHByb2tpbmQgPT4gJ2EnLCBwcm9pc3N0cmljdCA9PiAn ZicsCiAgIHByb3JldHR5cGUgPT4gJ2ludGVydmFsJywgcHJvYXJndHlwZXMgPT4gJ2ludGVydmFs JywKICAgcHJvc3JjID0+ICdhZ2dyZWdhdGVfZHVtbXknIH0sCit7IG9pZCA9PiAnMTM1NDgnLCBk ZXNjciA9PiAnbWluaW11bSB2YWx1ZSBvZiBhbGwgaW50ZXJ2YWwgaW5wdXQgdmFsdWVzJywKKyAg cHJvbmFtZSA9PiAnbWluX3BfaW50ZXJ2YWwnLCBwcm9raW5kID0+ICdhJywgcHJvaXNzdHJpY3Qg PT4gJ2YnLAorICBwcm9yZXR0eXBlID0+ICdpbnRlcnZhbCcsIHByb2FyZ3R5cGVzID0+ICdpbnRl cnZhbCcsCisgIHByb3NyYyA9PiAnYWdncmVnYXRlX2R1bW15JyB9LAogeyBvaWQgPT4gJzIxNDUn LCBkZXNjciA9PiAnbWluaW11bSB2YWx1ZSBvZiBhbGwgdGV4dCB2YWx1ZXMnLAogICBwcm9uYW1l ID0+ICdtaW4nLCBwcm9raW5kID0+ICdhJywgcHJvaXNzdHJpY3QgPT4gJ2YnLCBwcm9yZXR0eXBl ID0+ICd0ZXh0JywKICAgcHJvYXJndHlwZXMgPT4gJ3RleHQnLCBwcm9zcmMgPT4gJ2FnZ3JlZ2F0 ZV9kdW1teScgfSwKK3sgb2lkID0+ICcxMzU0OScsIGRlc2NyID0+ICdtaW5pbXVtIHZhbHVlIG9m IGFsbCB0ZXh0IHZhbHVlcycsCisgIHByb25hbWUgPT4gJ21pbl9wX3RleHQnLCBwcm9raW5kID0+ ICdhJywgcHJvaXNzdHJpY3QgPT4gJ2YnLCBwcm9yZXR0eXBlID0+ICd0ZXh0JywKKyAgcHJvYXJn dHlwZXMgPT4gJ3RleHQnLCBwcm9zcmMgPT4gJ2FnZ3JlZ2F0ZV9kdW1teScgfSwKIHsgb2lkID0+ ICcyMTQ2JywgZGVzY3IgPT4gJ21pbmltdW0gdmFsdWUgb2YgYWxsIG51bWVyaWMgaW5wdXQgdmFs dWVzJywKICAgcHJvbmFtZSA9PiAnbWluJywgcHJva2luZCA9PiAnYScsIHByb2lzc3RyaWN0ID0+ ICdmJywgcHJvcmV0dHlwZSA9PiAnbnVtZXJpYycsCiAgIHByb2FyZ3R5cGVzID0+ICdudW1lcmlj JywgcHJvc3JjID0+ICdhZ2dyZWdhdGVfZHVtbXknIH0sCit7IG9pZCA9PiAnMTM1NTAnLCBkZXNj ciA9PiAnbWluaW11bSB2YWx1ZSBvZiBhbGwgbnVtZXJpYyBpbnB1dCB2YWx1ZXMnLAorICBwcm9u YW1lID0+ICdtaW5fcF9udW1lcmljJywgcHJva2luZCA9PiAnYScsIHByb2lzc3RyaWN0ID0+ICdm JywgcHJvcmV0dHlwZSA9PiAnbnVtZXJpYycsCisgIHByb2FyZ3R5cGVzID0+ICdudW1lcmljJywg cHJvc3JjID0+ICdhZ2dyZWdhdGVfZHVtbXknIH0sCiB7IG9pZCA9PiAnMjA1MScsIGRlc2NyID0+ ICdtaW5pbXVtIHZhbHVlIG9mIGFsbCBhbnlhcnJheSBpbnB1dCB2YWx1ZXMnLAogICBwcm9uYW1l ID0+ICdtaW4nLCBwcm9raW5kID0+ICdhJywgcHJvaXNzdHJpY3QgPT4gJ2YnLAogICBwcm9yZXR0 eXBlID0+ICdhbnlhcnJheScsIHByb2FyZ3R5cGVzID0+ICdhbnlhcnJheScsCiAgIHByb3NyYyA9 PiAnYWdncmVnYXRlX2R1bW15JyB9LAoreyBvaWQgPT4gJzEzNTUxJywgZGVzY3IgPT4gJ21pbmlt dW0gdmFsdWUgb2YgYWxsIGFueWFycmF5IGlucHV0IHZhbHVlcycsCisgIHByb25hbWUgPT4gJ21p bl9wX2FueWFycmF5JywgcHJva2luZCA9PiAnYScsIHByb2lzc3RyaWN0ID0+ICdmJywKKyAgcHJv cmV0dHlwZSA9PiAnYW55YXJyYXknLCBwcm9hcmd0eXBlcyA9PiAnYW55YXJyYXknLAorICBwcm9z cmMgPT4gJ2FnZ3JlZ2F0ZV9kdW1teScgfSwKIHsgb2lkID0+ICcyMjQ1JywgZGVzY3IgPT4gJ21p bmltdW0gdmFsdWUgb2YgYWxsIGJwY2hhciBpbnB1dCB2YWx1ZXMnLAogICBwcm9uYW1lID0+ICdt aW4nLCBwcm9raW5kID0+ICdhJywgcHJvaXNzdHJpY3QgPT4gJ2YnLCBwcm9yZXR0eXBlID0+ICdi cGNoYXInLAogICBwcm9hcmd0eXBlcyA9PiAnYnBjaGFyJywgcHJvc3JjID0+ICdhZ2dyZWdhdGVf ZHVtbXknIH0sCit7IG9pZCA9PiAnMTM1NTInLCBkZXNjciA9PiAnbWluaW11bSB2YWx1ZSBvZiBh bGwgYnBjaGFyIGlucHV0IHZhbHVlcycsCisgIHByb25hbWUgPT4gJ21pbl9wX2JwY2hhcicsIHBy b2tpbmQgPT4gJ2EnLCBwcm9pc3N0cmljdCA9PiAnZicsIHByb3JldHR5cGUgPT4gJ2JwY2hhcics CisgIHByb2FyZ3R5cGVzID0+ICdicGNoYXInLCBwcm9zcmMgPT4gJ2FnZ3JlZ2F0ZV9kdW1teScg fSwKIHsgb2lkID0+ICcyNzk4JywgZGVzY3IgPT4gJ21pbmltdW0gdmFsdWUgb2YgYWxsIHRpZCBp bnB1dCB2YWx1ZXMnLAogICBwcm9uYW1lID0+ICdtaW4nLCBwcm9raW5kID0+ICdhJywgcHJvaXNz dHJpY3QgPT4gJ2YnLCBwcm9yZXR0eXBlID0+ICd0aWQnLAogICBwcm9hcmd0eXBlcyA9PiAndGlk JywgcHJvc3JjID0+ICdhZ2dyZWdhdGVfZHVtbXknIH0sCit7IG9pZCA9PiAnMTM1NTMnLCBkZXNj ciA9PiAnbWluaW11bSB2YWx1ZSBvZiBhbGwgdGlkIGlucHV0IHZhbHVlcycsCisgIHByb25hbWUg PT4gJ21pbl9wX3RpZCcsIHByb2tpbmQgPT4gJ2EnLCBwcm9pc3N0cmljdCA9PiAnZicsIHByb3Jl dHR5cGUgPT4gJ3RpZCcsCisgIHByb2FyZ3R5cGVzID0+ICd0aWQnLCBwcm9zcmMgPT4gJ2FnZ3Jl Z2F0ZV9kdW1teScgfSwKIHsgb2lkID0+ICczNTY1JywgZGVzY3IgPT4gJ21pbmltdW0gdmFsdWUg b2YgYWxsIGluZXQgaW5wdXQgdmFsdWVzJywKICAgcHJvbmFtZSA9PiAnbWluJywgcHJva2luZCA9 PiAnYScsIHByb2lzc3RyaWN0ID0+ICdmJywgcHJvcmV0dHlwZSA9PiAnaW5ldCcsCiAgIHByb2Fy Z3R5cGVzID0+ICdpbmV0JywgcHJvc3JjID0+ICdhZ2dyZWdhdGVfZHVtbXknIH0sCit7IG9pZCA9 PiAnMTM1NTQnLCBkZXNjciA9PiAnbWluaW11bSB2YWx1ZSBvZiBhbGwgaW5ldCBpbnB1dCB2YWx1 ZXMnLAorICBwcm9uYW1lID0+ICdtaW5fcF9pbmV0JywgcHJva2luZCA9PiAnYScsIHByb2lzc3Ry aWN0ID0+ICdmJywgcHJvcmV0dHlwZSA9PiAnaW5ldCcsCisgIHByb2FyZ3R5cGVzID0+ICdpbmV0 JywgcHJvc3JjID0+ICdhZ2dyZWdhdGVfZHVtbXknIH0sCiB7IG9pZCA9PiAnNDE5MCcsIGRlc2Ny ID0+ICdtaW5pbXVtIHZhbHVlIG9mIGFsbCBwZ19sc24gaW5wdXQgdmFsdWVzJywKICAgcHJvbmFt ZSA9PiAnbWluJywgcHJva2luZCA9PiAnYScsIHByb2lzc3RyaWN0ID0+ICdmJywgcHJvcmV0dHlw ZSA9PiAncGdfbHNuJywKICAgcHJvYXJndHlwZXMgPT4gJ3BnX2xzbicsIHByb3NyYyA9PiAnYWdn cmVnYXRlX2R1bW15JyB9LAoreyBvaWQgPT4gJzEzNTU1JywgZGVzY3IgPT4gJ21pbmltdW0gdmFs dWUgb2YgYWxsIHBnX2xzbiBpbnB1dCB2YWx1ZXMnLAorICBwcm9uYW1lID0+ICdtaW5fcF9wZ19s c24nLCBwcm9raW5kID0+ICdhJywgcHJvaXNzdHJpY3QgPT4gJ2YnLCBwcm9yZXR0eXBlID0+ICdw Z19sc24nLAorICBwcm9hcmd0eXBlcyA9PiAncGdfbHNuJywgcHJvc3JjID0+ICdhZ2dyZWdhdGVf ZHVtbXknIH0sCiB7IG9pZCA9PiAnNTEwMCcsIGRlc2NyID0+ICdtaW5pbXVtIHZhbHVlIG9mIGFs bCB4aWQ4IGlucHV0IHZhbHVlcycsCiAgIHByb25hbWUgPT4gJ21pbicsIHByb2tpbmQgPT4gJ2En LCBwcm9pc3N0cmljdCA9PiAnZicsIHByb3JldHR5cGUgPT4gJ3hpZDgnLAogICBwcm9hcmd0eXBl cyA9PiAneGlkOCcsIHByb3NyYyA9PiAnYWdncmVnYXRlX2R1bW15JyB9LAoreyBvaWQgPT4gJzEz NTU2JywgZGVzY3IgPT4gJ21pbmltdW0gdmFsdWUgb2YgYWxsIHhpZDggaW5wdXQgdmFsdWVzJywK KyAgcHJvbmFtZSA9PiAnbWluX3BfeGlkOCcsIHByb2tpbmQgPT4gJ2EnLCBwcm9pc3N0cmljdCA9 PiAnZicsIHByb3JldHR5cGUgPT4gJ3hpZDgnLAorICBwcm9hcmd0eXBlcyA9PiAneGlkOCcsIHBy b3NyYyA9PiAnYWdncmVnYXRlX2R1bW15JyB9LAogCiAjIGNvdW50IGhhcyB0d28gZm9ybXM6IGNv dW50KGFueSkgYW5kIGNvdW50KCopCiB7IG9pZCA9PiAnMjE0NycsCkBAIC02Njg4LDEwICs2ODgw LDE5IEBACiAgIHByb25hbWUgPT4gJ2NvdW50JywgcHJvc3VwcG9ydCA9PiAnaW50OGluY19zdXBw b3J0JywgcHJva2luZCA9PiAnYScsCiAgIHByb2lzc3RyaWN0ID0+ICdmJywgcHJvcmV0dHlwZSA9 PiAnaW50OCcsIHByb2FyZ3R5cGVzID0+ICdhbnknLAogICBwcm9zcmMgPT4gJ2FnZ3JlZ2F0ZV9k dW1teScgfSwKK3sgb2lkID0+ICcxMzU1NycsCisgIGRlc2NyID0+ICdwYXJ0aWFsIG51bWJlciBv ZiBpbnB1dCByb3dzIGZvciB3aGljaCB0aGUgaW5wdXQgZXhwcmVzc2lvbiBpcyBub3QgbnVsbCcs CisgIHByb25hbWUgPT4gJ2NvdW50X3BfYW55JywgcHJvc3VwcG9ydCA9PiAnaW50OGluY19zdXBw b3J0JywgcHJva2luZCA9PiAnYScsCisgIHByb2lzc3RyaWN0ID0+ICdmJywgcHJvcmV0dHlwZSA9 PiAnaW50OCcsIHByb2FyZ3R5cGVzID0+ICdhbnknLAorICBwcm9zcmMgPT4gJ2FnZ3JlZ2F0ZV9k dW1teScgfSwKIHsgb2lkID0+ICcyODAzJywgZGVzY3IgPT4gJ251bWJlciBvZiBpbnB1dCByb3dz JywKICAgcHJvbmFtZSA9PiAnY291bnQnLCBwcm9zdXBwb3J0ID0+ICdpbnQ4aW5jX3N1cHBvcnQn LCBwcm9raW5kID0+ICdhJywKICAgcHJvaXNzdHJpY3QgPT4gJ2YnLCBwcm9yZXR0eXBlID0+ICdp bnQ4JywgcHJvYXJndHlwZXMgPT4gJycsCiAgIHByb3NyYyA9PiAnYWdncmVnYXRlX2R1bW15JyB9 LAoreyBvaWQgPT4gJzEzNTU4JywgZGVzY3IgPT4gJ3BhcnRpYWwgbnVtYmVyIG9mIGlucHV0IHJv d3MnLAorICBwcm9uYW1lID0+ICdjb3VudF9wJywgcHJvc3VwcG9ydCA9PiAnaW50OGluY19zdXBw b3J0JywgcHJva2luZCA9PiAnYScsCisgIHByb2lzc3RyaWN0ID0+ICdmJywgcHJvcmV0dHlwZSA9 PiAnaW50OCcsIHByb2FyZ3R5cGVzID0+ICcnLAorICBwcm9zcmMgPT4gJ2FnZ3JlZ2F0ZV9kdW1t eScgfSwKIHsgb2lkID0+ICc2MjM2JywgZGVzY3IgPT4gJ3BsYW5uZXIgc3VwcG9ydCBmb3IgY291 bnQgcnVuIGNvbmRpdGlvbicsCiAgIHByb25hbWUgPT4gJ2ludDhpbmNfc3VwcG9ydCcsIHByb3Jl dHR5cGUgPT4gJ2ludGVybmFsJywKICAgcHJvYXJndHlwZXMgPT4gJ2ludGVybmFsJywgcHJvc3Jj ID0+ICdpbnQ4aW5jX3N1cHBvcnQnIH0sCkBAIC05MDgxLDkgKzkyODIsMTUgQEAKIHsgb2lkID0+ ICczNTI2JywgZGVzY3IgPT4gJ21heGltdW0gdmFsdWUgb2YgYWxsIGVudW0gaW5wdXQgdmFsdWVz JywKICAgcHJvbmFtZSA9PiAnbWF4JywgcHJva2luZCA9PiAnYScsIHByb2lzc3RyaWN0ID0+ICdm JywgcHJvcmV0dHlwZSA9PiAnYW55ZW51bScsCiAgIHByb2FyZ3R5cGVzID0+ICdhbnllbnVtJywg cHJvc3JjID0+ICdhZ2dyZWdhdGVfZHVtbXknIH0sCit7IG9pZCA9PiAnMTM1NTknLCBkZXNjciA9 PiAnbWF4aW11bSB2YWx1ZSBvZiBhbGwgZW51bSBpbnB1dCB2YWx1ZXMnLAorICBwcm9uYW1lID0+ ICdtYXhfcF9hbnllbnVtJywgcHJva2luZCA9PiAnYScsIHByb2lzc3RyaWN0ID0+ICdmJywgcHJv cmV0dHlwZSA9PiAnYW55ZW51bScsCisgIHByb2FyZ3R5cGVzID0+ICdhbnllbnVtJywgcHJvc3Jj ID0+ICdhZ2dyZWdhdGVfZHVtbXknIH0sCiB7IG9pZCA9PiAnMzUyNycsIGRlc2NyID0+ICdtaW5p bXVtIHZhbHVlIG9mIGFsbCBlbnVtIGlucHV0IHZhbHVlcycsCiAgIHByb25hbWUgPT4gJ21pbics IHByb2tpbmQgPT4gJ2EnLCBwcm9pc3N0cmljdCA9PiAnZicsIHByb3JldHR5cGUgPT4gJ2FueWVu dW0nLAogICBwcm9hcmd0eXBlcyA9PiAnYW55ZW51bScsIHByb3NyYyA9PiAnYWdncmVnYXRlX2R1 bW15JyB9LAoreyBvaWQgPT4gJzEzNTYwJywgZGVzY3IgPT4gJ21pbmltdW0gdmFsdWUgb2YgYWxs IGVudW0gaW5wdXQgdmFsdWVzJywKKyAgcHJvbmFtZSA9PiAnbWluX3BfYW55ZW51bScsIHByb2tp bmQgPT4gJ2EnLCBwcm9pc3N0cmljdCA9PiAnZicsIHByb3JldHR5cGUgPT4gJ2FueWVudW0nLAor ICBwcm9hcmd0eXBlcyA9PiAnYW55ZW51bScsIHByb3NyYyA9PiAnYWdncmVnYXRlX2R1bW15JyB9 LAogeyBvaWQgPT4gJzM1MjgnLCBkZXNjciA9PiAnZmlyc3QgdmFsdWUgb2YgdGhlIGlucHV0IGVu dW0gdHlwZScsCiAgIHByb25hbWUgPT4gJ2VudW1fZmlyc3QnLCBwcm9pc3N0cmljdCA9PiAnZics IHByb3ZvbGF0aWxlID0+ICdzJywKICAgcHJvcmV0dHlwZSA9PiAnYW55ZW51bScsIHByb2FyZ3R5 cGVzID0+ICdhbnllbnVtJywgcHJvc3JjID0+ICdlbnVtX2ZpcnN0JyB9LApkaWZmIC0tZ2l0IGEv c3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9vaWRqb2lucy5vdXQgYi9zcmMvdGVzdC9yZWdyZXNz L2V4cGVjdGVkL29pZGpvaW5zLm91dAppbmRleCAyMTVlYjg5OWJlLi40OWYyYzliYzM1IDEwMDY0 NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL29pZGpvaW5zLm91dAorKysgYi9zcmMv dGVzdC9yZWdyZXNzL2V4cGVjdGVkL29pZGpvaW5zLm91dApAQCAtMTQ1LDYgKzE0NSw3IEBAIE5P VElDRTogIGNoZWNraW5nIHBnX2FnZ3JlZ2F0ZSB7YWdnZmluYWxmbn0gPT4gcGdfcHJvYyB7b2lk fQogTk9USUNFOiAgY2hlY2tpbmcgcGdfYWdncmVnYXRlIHthZ2djb21iaW5lZm59ID0+IHBnX3By b2Mge29pZH0KIE5PVElDRTogIGNoZWNraW5nIHBnX2FnZ3JlZ2F0ZSB7YWdnc2VyaWFsZm59ID0+ IHBnX3Byb2Mge29pZH0KIE5PVElDRTogIGNoZWNraW5nIHBnX2FnZ3JlZ2F0ZSB7YWdnZGVzZXJp YWxmbn0gPT4gcGdfcHJvYyB7b2lkfQorTk9USUNFOiAgY2hlY2tpbmcgcGdfYWdncmVnYXRlIHtw YXJ0aWFsYWdnZm59ID0+IHBnX3Byb2Mge29pZH0KIE5PVElDRTogIGNoZWNraW5nIHBnX2FnZ3Jl Z2F0ZSB7YWdnbXRyYW5zZm59ID0+IHBnX3Byb2Mge29pZH0KIE5PVElDRTogIGNoZWNraW5nIHBn X2FnZ3JlZ2F0ZSB7YWdnbWludnRyYW5zZm59ID0+IHBnX3Byb2Mge29pZH0KIE5PVElDRTogIGNo ZWNraW5nIHBnX2FnZ3JlZ2F0ZSB7YWdnbWZpbmFsZm59ID0+IHBnX3Byb2Mge29pZH0KZGlmZiAt LWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvb3ByX3Nhbml0eS5vdXQgYi9zcmMvdGVz dC9yZWdyZXNzL2V4cGVjdGVkL29wcl9zYW5pdHkub3V0CmluZGV4IDMzMGViMGY3NjUuLmEzZGRm MmZmODQgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvb3ByX3Nhbml0eS5v dXQKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9vcHJfc2FuaXR5Lm91dApAQCAtMTcy MiwxNCArMTcyMiw1OCBAQCBTRUxFQ1QgRElTVElOQ1QgcHJvbmFtZSwgb3BybmFtZQogRlJPTSBw Z19vcGVyYXRvciBBUyBvLCBwZ19hZ2dyZWdhdGUgQVMgYSwgcGdfcHJvYyBBUyBwCiBXSEVSRSBh LmFnZ2Zub2lkID0gcC5vaWQgQU5EIGEuYWdnc29ydG9wID0gby5vaWQKIE9SREVSIEJZIDEsIDI7 Ci0gcHJvbmFtZSAgfCBvcHJuYW1lIAotLS0tLS0tLS0tLSstLS0tLS0tLS0KLSBib29sX2FuZCB8 IDwKLSBib29sX29yICB8ID4KLSBldmVyeSAgICB8IDwKLSBtYXggICAgICB8ID4KLSBtaW4gICAg ICB8IDwKLSg1IHJvd3MpCisgICAgICBwcm9uYW1lICAgICAgfCBvcHJuYW1lIAorLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0KKyBib29sX2FuZCAgICAgICAgICB8IDwKKyBib29sX29yICAg ICAgICAgICB8ID4KKyBldmVyeSAgICAgICAgICAgICB8IDwKKyBtYXggICAgICAgICAgICAgICB8 ID4KKyBtYXhfcF9hbnlhcnJheSAgICB8ID4KKyBtYXhfcF9hbnllbnVtICAgICB8ID4KKyBtYXhf cF9icGNoYXIgICAgICB8ID4KKyBtYXhfcF9kYXRlICAgICAgICB8ID4KKyBtYXhfcF9mbG9hOCAg ICAgICB8ID4KKyBtYXhfcF9mbG9hdDQgICAgICB8ID4KKyBtYXhfcF9pbmV0ICAgICAgICB8ID4K KyBtYXhfcF9pbnQyICAgICAgICB8ID4KKyBtYXhfcF9pbnQ0ICAgICAgICB8ID4KKyBtYXhfcF9p bnQ4ICAgICAgICB8ID4KKyBtYXhfcF9pbnRlcnZhbCAgICB8ID4KKyBtYXhfcF9tb25leSAgICAg ICB8ID4KKyBtYXhfcF9udW1lcmljICAgICB8ID4KKyBtYXhfcF9vaWQgICAgICAgICB8ID4KKyBt YXhfcF9wZ19sc24gICAgICB8ID4KKyBtYXhfcF90ZXh0ICAgICAgICB8ID4KKyBtYXhfcF90aWQg ICAgICAgICB8ID4KKyBtYXhfcF90aW1lICAgICAgICB8ID4KKyBtYXhfcF90aW1lc3RhbXAgICB8 ID4KKyBtYXhfcF90aW1lc3RhbXB0eiB8ID4KKyBtYXhfcF90aW1ldHogICAgICB8ID4KKyBtYXhf cF94aWQ4ICAgICAgICB8ID4KKyBtaW4gICAgICAgICAgICAgICB8IDwKKyBtaW5fcF9hbnlhcnJh eSAgICB8IDwKKyBtaW5fcF9hbnllbnVtICAgICB8IDwKKyBtaW5fcF9icGNoYXIgICAgICB8IDwK KyBtaW5fcF9kYXRlICAgICAgICB8IDwKKyBtaW5fcF9mbG9hdDQgICAgICB8IDwKKyBtaW5fcF9m bG9hdDggICAgICB8IDwKKyBtaW5fcF9pbmV0ICAgICAgICB8IDwKKyBtaW5fcF9pbnQyICAgICAg ICB8IDwKKyBtaW5fcF9pbnQ0ICAgICAgICB8IDwKKyBtaW5fcF9pbnQ4ICAgICAgICB8IDwKKyBt aW5fcF9pbnRlcnZhbCAgICB8IDwKKyBtaW5fcF9tb25leSAgICAgICB8IDwKKyBtaW5fcF9udW1l cmljICAgICB8IDwKKyBtaW5fcF9vaWQgICAgICAgICB8IDwKKyBtaW5fcF9wZ19sc24gICAgICB8 IDwKKyBtaW5fcF90ZXh0ICAgICAgICB8IDwKKyBtaW5fcF90aWQgICAgICAgICB8IDwKKyBtaW5f cF90aW1lICAgICAgICB8IDwKKyBtaW5fcF90aW1lc3RhbXAgICB8IDwKKyBtaW5fcF90aW1lc3Rh bXB0eiB8IDwKKyBtaW5fcF90aW1ldHogICAgICB8IDwKKyBtaW5fcF94aWQ4ICAgICAgICB8IDwK Kyg0OSByb3dzKQogCiAtLSBDaGVjayBkYXRhdHlwZXMgbWF0Y2gKIFNFTEVDVCBhLmFnZ2Zub2lk OjpvaWQsIG8ub2lkCkBAIC0xNzYyLDE0ICsxODA2LDU4IEBAIFdIRVJFIGEuYWdnZm5vaWQgPSBw Lm9pZCBBTkQgYS5hZ2dzb3J0b3AgPSBvLm9pZCBBTkQKICAgICBhbW9wb3ByID0gby5vaWQgQU5E CiAgICAgYW1vcG1ldGhvZCA9IChTRUxFQ1Qgb2lkIEZST00gcGdfYW0gV0hFUkUgYW1uYW1lID0g J2J0cmVlJykKIE9SREVSIEJZIDEsIDI7Ci0gcHJvbmFtZSAgfCBvcHJuYW1lIHwgYW1vcHN0cmF0 ZWd5IAotLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0KLSBib29sX2FuZCB8IDwg ICAgICAgfCAgICAgICAgICAgIDEKLSBib29sX29yICB8ID4gICAgICAgfCAgICAgICAgICAgIDUK LSBldmVyeSAgICB8IDwgICAgICAgfCAgICAgICAgICAgIDEKLSBtYXggICAgICB8ID4gICAgICAg fCAgICAgICAgICAgIDUKLSBtaW4gICAgICB8IDwgICAgICAgfCAgICAgICAgICAgIDEKLSg1IHJv d3MpCisgICAgICBwcm9uYW1lICAgICAgfCBvcHJuYW1lIHwgYW1vcHN0cmF0ZWd5IAorLS0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0KKyBib29sX2FuZCAgICAgICAg ICB8IDwgICAgICAgfCAgICAgICAgICAgIDEKKyBib29sX29yICAgICAgICAgICB8ID4gICAgICAg fCAgICAgICAgICAgIDUKKyBldmVyeSAgICAgICAgICAgICB8IDwgICAgICAgfCAgICAgICAgICAg IDEKKyBtYXggICAgICAgICAgICAgICB8ID4gICAgICAgfCAgICAgICAgICAgIDUKKyBtYXhfcF9h bnlhcnJheSAgICB8ID4gICAgICAgfCAgICAgICAgICAgIDUKKyBtYXhfcF9hbnllbnVtICAgICB8 ID4gICAgICAgfCAgICAgICAgICAgIDUKKyBtYXhfcF9icGNoYXIgICAgICB8ID4gICAgICAgfCAg ICAgICAgICAgIDUKKyBtYXhfcF9kYXRlICAgICAgICB8ID4gICAgICAgfCAgICAgICAgICAgIDUK KyBtYXhfcF9mbG9hOCAgICAgICB8ID4gICAgICAgfCAgICAgICAgICAgIDUKKyBtYXhfcF9mbG9h dDQgICAgICB8ID4gICAgICAgfCAgICAgICAgICAgIDUKKyBtYXhfcF9pbmV0ICAgICAgICB8ID4g ICAgICAgfCAgICAgICAgICAgIDUKKyBtYXhfcF9pbnQyICAgICAgICB8ID4gICAgICAgfCAgICAg ICAgICAgIDUKKyBtYXhfcF9pbnQ0ICAgICAgICB8ID4gICAgICAgfCAgICAgICAgICAgIDUKKyBt YXhfcF9pbnQ4ICAgICAgICB8ID4gICAgICAgfCAgICAgICAgICAgIDUKKyBtYXhfcF9pbnRlcnZh bCAgICB8ID4gICAgICAgfCAgICAgICAgICAgIDUKKyBtYXhfcF9tb25leSAgICAgICB8ID4gICAg ICAgfCAgICAgICAgICAgIDUKKyBtYXhfcF9udW1lcmljICAgICB8ID4gICAgICAgfCAgICAgICAg ICAgIDUKKyBtYXhfcF9vaWQgICAgICAgICB8ID4gICAgICAgfCAgICAgICAgICAgIDUKKyBtYXhf cF9wZ19sc24gICAgICB8ID4gICAgICAgfCAgICAgICAgICAgIDUKKyBtYXhfcF90ZXh0ICAgICAg ICB8ID4gICAgICAgfCAgICAgICAgICAgIDUKKyBtYXhfcF90aWQgICAgICAgICB8ID4gICAgICAg fCAgICAgICAgICAgIDUKKyBtYXhfcF90aW1lICAgICAgICB8ID4gICAgICAgfCAgICAgICAgICAg IDUKKyBtYXhfcF90aW1lc3RhbXAgICB8ID4gICAgICAgfCAgICAgICAgICAgIDUKKyBtYXhfcF90 aW1lc3RhbXB0eiB8ID4gICAgICAgfCAgICAgICAgICAgIDUKKyBtYXhfcF90aW1ldHogICAgICB8 ID4gICAgICAgfCAgICAgICAgICAgIDUKKyBtYXhfcF94aWQ4ICAgICAgICB8ID4gICAgICAgfCAg ICAgICAgICAgIDUKKyBtaW4gICAgICAgICAgICAgICB8IDwgICAgICAgfCAgICAgICAgICAgIDEK KyBtaW5fcF9hbnlhcnJheSAgICB8IDwgICAgICAgfCAgICAgICAgICAgIDEKKyBtaW5fcF9hbnll bnVtICAgICB8IDwgICAgICAgfCAgICAgICAgICAgIDEKKyBtaW5fcF9icGNoYXIgICAgICB8IDwg ICAgICAgfCAgICAgICAgICAgIDEKKyBtaW5fcF9kYXRlICAgICAgICB8IDwgICAgICAgfCAgICAg ICAgICAgIDEKKyBtaW5fcF9mbG9hdDQgICAgICB8IDwgICAgICAgfCAgICAgICAgICAgIDEKKyBt aW5fcF9mbG9hdDggICAgICB8IDwgICAgICAgfCAgICAgICAgICAgIDEKKyBtaW5fcF9pbmV0ICAg ICAgICB8IDwgICAgICAgfCAgICAgICAgICAgIDEKKyBtaW5fcF9pbnQyICAgICAgICB8IDwgICAg ICAgfCAgICAgICAgICAgIDEKKyBtaW5fcF9pbnQ0ICAgICAgICB8IDwgICAgICAgfCAgICAgICAg ICAgIDEKKyBtaW5fcF9pbnQ4ICAgICAgICB8IDwgICAgICAgfCAgICAgICAgICAgIDEKKyBtaW5f cF9pbnRlcnZhbCAgICB8IDwgICAgICAgfCAgICAgICAgICAgIDEKKyBtaW5fcF9tb25leSAgICAg ICB8IDwgICAgICAgfCAgICAgICAgICAgIDEKKyBtaW5fcF9udW1lcmljICAgICB8IDwgICAgICAg fCAgICAgICAgICAgIDEKKyBtaW5fcF9vaWQgICAgICAgICB8IDwgICAgICAgfCAgICAgICAgICAg IDEKKyBtaW5fcF9wZ19sc24gICAgICB8IDwgICAgICAgfCAgICAgICAgICAgIDEKKyBtaW5fcF90 ZXh0ICAgICAgICB8IDwgICAgICAgfCAgICAgICAgICAgIDEKKyBtaW5fcF90aWQgICAgICAgICB8 IDwgICAgICAgfCAgICAgICAgICAgIDEKKyBtaW5fcF90aW1lICAgICAgICB8IDwgICAgICAgfCAg ICAgICAgICAgIDEKKyBtaW5fcF90aW1lc3RhbXAgICB8IDwgICAgICAgfCAgICAgICAgICAgIDEK KyBtaW5fcF90aW1lc3RhbXB0eiB8IDwgICAgICAgfCAgICAgICAgICAgIDEKKyBtaW5fcF90aW1l dHogICAgICB8IDwgICAgICAgfCAgICAgICAgICAgIDEKKyBtaW5fcF94aWQ4ICAgICAgICB8IDwg ICAgICAgfCAgICAgICAgICAgIDEKKyg0OSByb3dzKQogCiAtLSBDaGVjayB0aGF0IHRoZXJlIGFy ZSBub3QgYWdncmVnYXRlcyB3aXRoIHRoZSBzYW1lIG5hbWUgYW5kIGRpZmZlcmVudAogLS0gbnVt YmVycyBvZiBhcmd1bWVudHMuICBXaGlsZSBub3QgdGVjaG5pY2FsbHkgd3JvbmcsIHdlIGhhdmUg YSBwcm9qZWN0IHBvbGljeQotLSAKMi4zMC4xCgo= --_002_OS3PR01MB66607C2ABBDAEE150F32E24C950D9OS3PR01MB6660jpnp_--